CS/ECE 418 Introduction to Network Security

Slides:



Advertisements
Similar presentations
Client Puzzles A Cryptographic Defense Against Connection Depletion Attacks Ari Juels and John Brainard RSA Laboratories.
Advertisements

Client Puzzles A Cryptographic Defense Against Connection Depletion Attacks Most of slides come from Ari Juels and John Brainard RSA Laboratories.
Computer Science Dr. Peng NingCSC 774 Adv. Net. Security1 CSC 774 Advanced Network Security Topic 4.2 BiBa.
CSC 774 Advanced Network Security
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Hash Function. What are hash functions? Just a method of compressing strings – E.g., H : {0,1}*  {0,1} 160 – Input is called “message”, output is “digest”
CSC 774 Advanced Network Security
Transmission Control Protocol (TCP)
Computer Science Dr. Peng NingCSC 774 Adv. Net. Security1 CSC 774 Advanced Network Security Topic 5 Group Key Management.
© 2007 Levente Buttyán and Jean-Pierre Hubaux Security and Cooperation in Wireless Networks Chapter 4: Naming and addressing.
IP Spoofing Defense On the State of IP Spoofing Defense TOBY EHRENKRANZ and JUN LI University of Oregon 1 IP Spoofing Defense.
بسم الله الرحمن الرحيم NETWORK SECURITY Done By: Saad Al-Shahrani Saeed Al-Smazarkah May 2006.
Overview of Cryptography Anupam Datta CMU Fall A: Foundations of Security and Privacy.
Forward Error Correction Steven Marx CSC45712/04/2001.
1 CCNA 2 v3.1 Module Intermediate TCP/IP CCNA 2 Module 10.
Computer Science CSC 774 Adv. Net. SecurityDr. Peng Ning1 CSC 774 Advanced Network Security Topic 4. Broadcast Authentication.
Computer Science CSC 774Dr. Peng Ning1 CSC 774 Advanced Network Security Topic 2.4 Rabin’s Information Dispersal Algorithm Slides by Sangwon Hyun.
Mitigating DoS Attacks against Broadcast Authentication in Wireless Sensor Networks Peng Ning, An Liu North Carolina State University and Wenliang Du Syracuse.
How to play ANY mental game
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 8 – Denial of Service.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
Information Security and Computer Systems: An Integrated Approach Mark A. Holliday and Bill Kreahling, Dept of Mathematics and Computer Science Western.
SOS: Security Overlay Service Angelos D. Keromytis, Vishal Misra, Daniel Rubenstein- Columbia University ACM SIGCOMM 2002 CONFERENCE, PITTSBURGH PA, AUG.
Chapter 12 Transmission Control Protocol (TCP)
Copyright 1999 S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 41b Cryptography and Its Applications.
Mehmud Abliz, Taieb Znati, ACSAC (Dec., 2009). Outline Introduction Desired properties Basic scheme Improvements to the basic scheme Analysis Related.
© 2007 Levente Buttyán and Jean-Pierre Hubaux Security and Cooperation in Wireless Networks Chapter 4: Naming and addressing.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
A Cost-Based Framework for Analysis of Denial of Service in Networks Author: Catherine Meadows Presenter: Ajay Mahimkar.
New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten.
The School of Electrical Engineering and Computer Science (EECS) CS/ECE 519/599 Applied Cryptography ADVANCED PRIMITIVES AND TOOLS Credits: Dr. Peng Ning.
New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Stanford University Ari Juels, RSA Laboratories Alex Halderman, Princeton University.
Building Dependable Distributed Systems, Copyright Wenbing Zhao
Security for Broadcast Network
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.3 Hash Functions.
A Key Management Scheme for Distributed Sensor Networks Laurent Eschaenauer and Virgil D. Gligor.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Data Management on Opportunistic Grids
IT443 – Network Security Administration Instructor: Bo Sheng
CPS 512 Distributed Systems
Packet Leashes: Defense Against Wormhole Attacks
Cryptographic Hash Function
Process-to-Process Delivery, TCP and UDP protocols
A Novel Group Key Transfer Protocol
Chapter 6: Transport Layer (Part I)
An IPv4 address is a 32-bit address that uniquely and universally defines the connection of a device (for example, a computer or a router) to the Internet.
CS/ECE 578 Cyber-Security
The TESLA Broadcast Authentication Protocol CS 218 Fall 2017
CS/ECE 478 Introduction to Network Security Dr. Attila Altay Yavuz
The IP, TCP, UDP protocols
SPINS: Security Protocols for Sensor Networks
A Cryptographic Defense Against Connection Depletion Attacks
CS/ECE 478 Introduction to Network Security
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
A Cryptographic Defense Against Connection Depletion Attacks
CS412 Introduction to Computer Networking & Telecommunication
BROADCAST AUTHENTICATION
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
SPINS: Security Protocols for Sensor Networks
Outline Using cryptography in networks IPSec SSL and TLS.
IIT Indore © Neminath Hubballi
Hash-based Primitives Credits: Dr. Peng Ning and Dr. Adrian Perrig
EEC 688/788 Secure and Dependable Computing
CIS 4930/6930 – Privacy-Preserving and Trustworthy Cyber-Systems Dr
EEC 688/788 Secure and Dependable Computing
Process-to-Process Delivery: UDP, TCP
Outline A. Perrig, R. Szewczyk, V. Wen, D. Culler, and J. D. Tygar. SPINS: Security protocols for sensor networks. In Proceedings of MOBICOM, 2001 Sensor.
CRYPTOGRAPHY & NETWORK SECURITY
Presentation transcript:

CS/ECE 418 Introduction to Network Security NET. SEC. PRIMITIVES AND TOOLS Credits: Dr. Peng Ning and Dr. Adrian Perrig Dr. Attila A. Yavuz

Outline Tools: Denial of Service Protection and more Primitives Client-server puzzles Pre-image based, special image based Primitives Resiliency and Fault-Tolerance Bloom Filters Secret Sharing Rabin’s Information Dispersal

Advanced Tools (I) Denial of Service Mitigation Client Puzzles Based on Pre-image of Crypto Hash Functions Dr. Attila A. Yavuz CS/ECE 519/599 – Advanced Network Security

Client Puzzles The problem being addressed Three basic constructions Denial of Service (DoS) attacks Three basic constructions Use pre-image of crypto hash functions Use special image of crypto hash functions

An Example Scenario: TCP SYN Flooding “TCP connection, please.” “TCP connection, please.” “O.K. Please send ack.” “O.K. Please send ack.” Buffer

Client Puzzle: Intuition ??? O.K. Please solve this puzzle. Table for four at 8 o’clock. Name of Mr. Smith. O.K., Mr. Smith Restauranteur

Client Puzzle: Intuition A puzzle takes an hour to solve There are 40 tables in restaurant Reserve at most one day in advance A legitimate patron can easily reserve a table

Client Puzzle: Intuition ??? An attacker has to reserve many tables to have a real impact  too many puzzles to solve

The Client Puzzle Protocol Service request M Server Client Buffer O.K.

Puzzle Properties Puzzles are stateless Puzzles are easy to verify Hardness of puzzles can be carefully controlled Puzzles use standard cryptographic primitives

Puzzle Basis (Cont’d) Cryptographic hash functions (e.g., HMAC) Only way to solve puzzle (X’,Y) is brute force method. (hash function is not invertible) Expected number of steps (hash) to solve puzzle: 2k / 2 = 2k-1

Puzzle Basis: Partial Hash Image partial-image X’ ? k bits ? pre-image X 160 bits hash image Y Pair (X’, Y) is k-bit-hard puzzle

Puzzle Construction Client Server Secret S Service request M

Puzzle Construction Server computes: hash Puzzle hash secret S time T request M hash Puzzle pre-image X hash image Y

Sub-puzzle Construct a puzzle consisting of m k-bit-hard sub-puzzles. Why not use k+logm bit puzzles? Probability of guessing the right solution is different in these two cases. Construct a puzzle consisting of m k-bit-hard sub-puzzles. Increase the difficulty of guessing attacks. Expected number of steps to solve (invert): m×2k-1.

Why not use k+logm bit puzzles? Expected number of trials to invert m×2k-1 But for random guessing attacks, the successful probability One (k+logm)-bit puzzle 2-(k+logm) (e.g., 2-(k+3)) m k-bit subpuzzles (2-k)m = 2-km (e.g., 2-8k)

Puzzle Properties Puzzles are stateless Puzzles are easy to verify Hardness of puzzles can be carefully controlled Puzzles use standard cryptographic primitives

A Possible Way to use Client Puzzle Client puzzle protocol (normal situation) Mi1 : first message of i-th execution of protocol M

A Possible Way to use Client Puzzle Client puzzle protocol (under attack)

New Requirements from the Puzzle Preserve the previous properties The same puzzle can be given to several clients Knowing solution for a client should not help the other (e.g., the adversary) to find another solution Broadcast puzzles! Not one-to-one connection required to initiate. The server should be able to pre-compute the broadcast puzzles. Even faster at online stage Previous: M hash operations per-client (1-1), A client can re-use the same broadcast puzzle to create multiple solutions, multiple access tickets

Puzzle Construction S  All clients (broadcast): Digitally sign: k, Ts, NS Client C  S: C, NS, NC, X S: verify h(C, NS, NC, X) has k leading zero’s

Primitives (II) Rabin’s Information Dispersal Dr. Attila A. Yavuz

Motivation IDA was developed to provide safe and reliable transmission of information in distributed systems. Inefficiency of retransmission of lost packets In multicast transmission, different receivers lose different sets of packets. Re-request and retransmission increases delays. Forward error correction technique might be desirable in distributed systems.

High-level Operations Dispersal(F, m, n): Split input F with redundancy into n pieces Fi (1 ≤ i ≤ n). |Fi|=|F|/m, and m ≤ n (size of chunks expanded) Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n): Reconstruct F from any m out of the n pieces (Fi (1 ≤ i ≤ n))

Dispersal(F, m, n) – Example 1 |F|=32 bytes, m=4, n=8 F Dispersal(F, 4, 8) F1 F2 F3 F4 F5 F6 F7 F8 |Fi| = 32/4 = 8 bytes (1 ≤ i ≤ n), total 64 bytes (doubled)

Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n) – Example 2 |F|=32 bytes, m=4, n=8, |Fi|=8 bytes (1 ≤ i ≤ 8) Assume the following 4(=m) pieces are received. F1 F3 F4 F7 Recovery({F1, F3, F4, F7}, 4, 8) F

Dispersal(F, m, n) F = b1,b2,…,bN N=|F|, and bi represents each byte in F (0 ≤ bi ≤ 255). All computations performed in GF(28). GF(28) is closed under addition and multiplication. Every nonzero element in GF(28) has a multiplicative inverse. F = (b1,…,bm),(bm+1,…,b2m),…,(bN-m+1,…,bN) Si = (b(i-1)m+1,…,bim) T(1 ≤ i ≤ N/m) The matrix Mm × N/m is constructed as follows: M = [ S1 S2 … SN/m ]

Dispersal(F, m, n) The matrix An×m is constructed as follows: ai = (ai1, …,aim) (1 ≤ i ≤ n) Every subset of m different vectors should be linearly independent.

Dispersal(F, m, n) The following Vandermonde matrix satisfies the property required for A. m ≤ n, and all xi’s are nonzero elements in GF(28) and pairwise different. Any m different rows are linearly independent, so any matrix composed of a set of any m different rows is invertible.

Dispersal(F, m, n) The n pieces Fi (1 ≤ i ≤ n) are computed as follows: where ai・Sk = ai1b(k−1)m+1 + … + aimbkm

Dispersal(F, m, n) – Example 3 |F|=32 bytes, m=4, n=8 F = b1,b2,…,b32 Represented as M4×8

Dispersal(F, m, n) – Example 3

Dispersal(F, m, n) – Example 3 Fi (1 ≤ i ≤ 8) are computed as follows:

Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n) Given m pieces Fij ( (1≤ j ≤m), (1≤ ij ≤n) ), M can be recovered from the given m pieces Fij ( (1≤ j ≤m), (1≤ ij ≤n) ) because A’ is invertible.

Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n) – Example 4 |F|=32 bytes, m=4, n=8 In example 3, Fi (1 ≤ i ≤ 8) pieces of 8 bytes are resulted. Assume that {F1,F3,F4,F7} are received among them.

Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n) – Example 4 The original data M can be recovered by the following computation: