The School of Electrical Engineering and Computer Science (EECS) CS/ECE Network Security Hash-based Primitives Credits: Dr. Peng Ning and Dr. Adrian Perrig.

Slides:



Advertisements
Similar presentations
Computer Science Dr. Peng NingCSC 774 Adv. Net. Security1 CSC 774 Advanced Network Security Topic 4.2 BiBa.
Advertisements

CSC 774 Advanced Network Security
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”
Advanced Security Constructions and Key Management Class 16.
CSC 774 Advanced Network Security
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Cryptography and Network Security
Computer Science CSC 474By Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.1 Introduction to Cryptography.
CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
Digital Signatures and Hash Functions. Digital Signatures.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
LOGO Multi-user Broadcast Authentication in Wireless Sensor Networks ICU Myunghan Yoo.
Authentication and Digital Signatures CSCI 5857: Encoding and Encryption.
Session 4 Asymmetric ciphers.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Security Chapters 14,15. The Security Environment Threats Security goals and threats.
CMSC 414 Computer and Network Security Lecture 21 Jonathan Katz.
Apr 22, 2003Mårten Trolin1 Agenda Course high-lights – Symmetric and asymmetric cryptography – Digital signatures and MACs – Certificates – Protocols Interactive.
CMSC 414 Computer and Network Security Lecture 16 Jonathan Katz.
Authenticating streamed data in the presence of random packet loss March 17th, Philippe Golle, Stanford University.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
SPINS: Security Protocols for Sensor Networks Adrian Perrig, Robert Szewczyk, Victor Wen, David Culler, J.D. Tygar Research Topics in Security in the context.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
The School of Electrical Engineering and Computer Science (EECS) CS/ECE Network Security Dr. Attila Altay Yavuz Topic 5 Essential Public Key Crypto Methods.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
Computer Science CSC 774Dr. Peng Ning1 CSC 774 Advanced Network Security Topic 2. Review of Cryptographic Techniques.
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.5 Public Key Algorithms.
Computer Science CSC 774 Adv. Net. SecurityDr. Peng Ning1 CSC 774 Advanced Network Security Topic 4. Broadcast Authentication.
CRYPTOGRAPHIC DATA INTEGRITY ALGORITHMS
Digital Signatures (DSs) The digital signatures cannot be separated from the message and attached to another The signature is not only tied to signer but.
Cryptography and Network Security Chapter 11 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
8. Data Integrity Techniques
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Bob can sign a message using a digital signature generation algorithm
Lecture 15 Lecture’s outline Public algorithms (usually) that are each other’s inverse.
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Lecture 19 Page 1 CS 111 Online Symmetric Cryptosystems C = E(K,P) P = D(K,C) E() and D() are not necessarily the same operations.
Network Security – Part 2 (Continued) Lecture Notes for May 8, 2006 V.T. Raja, Ph.D., Oregon State University.
Authentication and Authorization Authentication is the process of verifying a principal’s identity (but how to define “identity”?) –Who the person is –Or,
02/22/2005 Joint Seminer Satoshi Koga Information Technology & Security Lab. Kyushu Univ. A Distributed Online Certificate Status Protocol with Low Communication.
Forward-Secure Signatures (basic + generic schemes)
Topic 22: Digital Schemes (2)
Digital Signatures A primer 1. Why public key cryptography? With secret key algorithms Number of key pairs to be generated is extremely large If there.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
Foundations of Cryptography Lecture 6 Lecturer: Moni Naor.
Cryptography and Network Security Chapter 13 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
The School of Electrical Engineering and Computer Science (EECS) CS/ECE Network Security Dr. Attila Altay Yavuz Cryptographic Hash Functions Credit: Prof.
A secure re-keying scheme Introduction Background Re-keying scheme User revocation User join Conclusion.
Integrating HaSAFSS into R.E.D for Node Replication Detection in Wireless Sensor Networks Shajith Ravi School of EECS - OSU CS519 - Advanced Network Security.
Merkle trees Introduced by Ralph Merkle, 1979 An authentication scheme
Computer Science CSC 774 Adv. Net. Security1 Presenter: Tong Zhou 11/21/2015 Practical Broadcast Authentication in Sensor Networks.
The School of Electrical Engineering and Computer Science (EECS) CS/ECE 519/599 Applied Cryptography ADVANCED PRIMITIVES AND TOOLS Credits: Dr. Peng Ning.
Prepared by Dr. Lamiaa Elshenawy
The School of Electrical Engineering and Computer Science (EECS) CS/ECE Network Security Dr. Attila Altay Yavuz Authentication Protocols (I): Secure Handshake.
Security for Broadcast Network
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
COM 5336 Lecture 8 Digital Signatures
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Cryptography and Network Security Chapter 13
Cryptographic Hash Function
CS/ECE 578 Cyber-Security
Topic 14: Random Oracle Model, Hashing Applications
CS/ECE 418 Introduction to Network Security
CS/ECE 478 Introduction to Network Security
BROADCAST AUTHENTICATION
Hash-based Primitives Credits: Dr. Peng Ning and Dr. Adrian Perrig
CIS 4930/6930 – Privacy-Preserving and Trustworthy Cyber-Systems Dr
Presentation transcript:

The School of Electrical Engineering and Computer Science (EECS) CS/ECE Network Security Hash-based Primitives Credits: Dr. Peng Ning and Dr. Adrian Perrig Dr. Attila A. Yavuz 1

OSU EECS One-Time Signatures Basis of all digital signatures –Valuable tool to learn the principles Still, the fastest and most secure signature schemes! –Quantum computer resistant! Caveat: Impractical for real-life applications They can be used as a “support unit”, seldomly –Offline/online signatures –Tailoring for application (e.g., smart-grid, vehicular)

OSU EECS One-Time Signatures Use one-way functions without trapdoor Efficient for signature generation and verification Caveat: can only use one time Example: 1-bit one-time signature –P0, P1 are public values (public key) –S0, S1 are private values (private key) S1P1 S0P0 S1 S0 P S0’ S1’

OSU EECS Lamport’s One-Time Signature Uses 1-bit signature construction to sign multiple bits S1 P1 S0 P0 Bit 0Bit 1Bit 2Bit n S1’ P1’ S0’ P0’ S1’’ P1’’ S0’’ P0’’ S1* P1* S0* P0* Private values Public values … Sign 0 Sign 1

OSU EECS Improved Construction I Uses 1-bit signature construction to sign multiple bits S0 P0 Bit 0Bit 1Bit 2Bit n S0’ P0’ S0’’ P0’’ S0* P0* … c0 p0 c0’ p0’ c0* p0* … Bit 0Bit 1Bit log(n) Sign messageChecksum bits: encode # of signature bits = 0

OSU EECS Improved Construction II Lamport signature has high overhead Goal: reduce size of public and private key Approach: use one-way hash chains S1 = F( S0 ) S2PS3S0S1 Signature chain C1C0C3C2 Checksum chain P = F( S3 || C0 ) Sig(0)Sig(1)Sig(2)Sig(3)

OSU EECS Hash to Obtain Random Subset (HORS) Merkle-Winternitz  Still impractical BiBa (ancestor of HORS, please read) –Fast signature verification, but –Signing cost is high HORS goal: –Develop a one-time signature scheme with –Fast signing and verification –Still same signature sizes with Merkle-Winternitz 7

OSU EECS Preliminary: Bijective Function Bijective function –Each element of input is mapped onto one and only one element in output –Each element of output is mapped onto one and only one element in input –Intuitively, there is a one-to-one correspondence between elements of the two sets 8

OSU EECS Bijective Function S Let T = {1, 2, …, t} S is a bijective function that outputs the m-th k-element subset of T C(t,k) in total 9

OSU EECS Initial Scheme: Based on One-way Functions Generalization of Bos and Chaum one-time signatures –A distant variant of Lamport OTS! Key generation –Generate t numbers of random l-bit values –Let these be the private key: SK = (s 1,…,s t ) –Compute the public key PK = (v 1,…,v t ), where v i = f(s i ) and f() is a one-way function 10

OSU EECS Signature Generation and Verification Chose (t,k) s.t. C(t,k) > 2^b, Sign a b-bit message m, 1 <m 2^b (if not just hash it) –Use S to find the m-th k-element subset of T:{i 1,…,i k } –Interpret these elements as integers to chose keys as below: –The corresponding values (s i1,…,s ik ) are the signature of m Verify message m and its signature (s ’ 1,…, s ’ k ) –Use S to find the m-th k-element subset of T:{i 1,…,i k } –Verify f(s ’ 1 ) = v i1,…, f(s ’ k ) = v ik 11

OSU EECS Efficiency Analysis Key generation –Requires t evaluations of the one-way function –Secret key size = l*t bits –Public key size = f l *t bits f l = length of the one-way function output Signature generation –Time to find the m-th k-element subset of T Verification –Time to sign + k one-way function operations 12

OSU EECS Security Bijective function S –Each input corresponds to one and only one output Thus, each b-bit message m corresponds to a different k-element subset of T –1 < m <2^b < C(t,k) –Knowing the signature of one message, an attacker has to invert at least one of the remaining t − k values in the public key to forge another signature 13

OSU EECS An Option for S Algorithm #1: C(t, k) = C(t−1, k−1) + C(t−1, k) –If the last element of T belongs to the subset, choose k−1 elements from the remaining t−1 elements –Otherwise, choose k elements from the remaining t−1 elements Input: (m, t, k) Steps: If m < C(t−1, k−1) –add t to output and recur on (m, k−1, t−1) Else –Add nothing to output and recur on (m – C(t−1, k−1), k, t−1) 14

OSU EECS HORS: Based on Subset-Resilient Functions Replace the Bijective function S with a subset- resilient function H –S(m) has exactly k elements –S fully guarantees that no two distinct messages have the same k-element subset of T –H(m) has at most k elements –H guarantees that it is infeasible to find two distinct messages m 1 and m 2 such that subset of T selected with H H(m 1 ) ≠ H(m 2 ), implies the infeasibility of subset via H Up to r-time signature generation 15

OSU EECS HORS Operations 16

OSU EECS Influence of HORS Time-valid HORS Several Variants for HORS: –HORSIC, HORS++, HORSE –Are they practical? (part of your Take-home) Can you extend HORS with other crypto primitives? –One-wayness is not all about hash functions? –What about modular exponentiation? –RSA? or DLP/ECDLP? (part of your Take-home) A digression with ECDSA (to discuss principles) Structure-Free Rapid Authentication (one of future lecture) 17

OSU EECS One-way Hash Chain Used for many network security applications –S/Key (now) –Authenticate data streams (TESLA& EMSS lecture) –Key derivation in crypto schemes (ETA lecture) –Forward-security (BAF, HaSAFSS) –Commitments ( MR-ETA lecture, e-commerce) Good for authentication of the hash values 18 K i =F(K i+1 ), F: hash function K4K4 F K3K3 F K2K2 F K1K1 F K0K0 F K n = R F Commitment

OSU EECS Properties of One-way Hash Chain Given K i –Anybody can compute K j, where j<i –It is computationally infeasible to compute K l, where l > i, if K l is unknown –Any K l disclosed later can be authenticated by verifying if H l-i (K i ) = K l –Disclosing of K i+1 or a later value authenticates the owner of the hash chain 19 K4K4 F K3K3 F K2K2 F K1K1 F K0K0 F K n = R F

OSU EECS 20 Using “Disposable” Passwords Simple idea: generate a long list of passwords, use each only one time –attacker gains little/no advantage by eavesdropping on password protocol, or cracking one password Disadvantages –storage overhead –users would have to memorize lots of passwords! Alternative: the S/Key protocol –based on use of one-way (e.g. hash) function

OSU EECS 21 S/Key Password Generation 1.Alice selects a password x 2.Alice specifies n, the number of passwords to generate 3.Alice’s computer then generates a sequence of passwords –x 1 = H(x) –x 2 = H(x 1 ) –…–… –x n = H(x n-1 ) x (Password) x1 HHHH x2x3x4 x

OSU EECS 22 Generation… (cont’d) 4.Alice communicates (securely) to a server the last value in the sequence: x n Key feature: no one knowing x i can easily find an x i-1 such that H(x i-1 ) = x i –only Alice possesses that information

OSU EECS 23 Authentication Using S/Key Assuming server is in possession of x i … i x i-1 verifies H(x i-1 ) = x i AliceServer

OSU EECS 24 Limitations Value of n limits number of passwords –need to periodically regenerate a new chain of passwords Does not authenticate server! Example attack: 1.real server sends i to fake server, which is masquerading as Alice 2.fake server sends i to Alice, who responds with x i-1 3.fake server then presents x i-1 to real server

OSU EECS Chained Hashes More general construction than one-way hash chains Useful for authenticating a sequence of data values D 0, D 1, …, D N H * authenticates entire chain DNDN D N-1 H N-1 H(D N ) D N-2 H N-2 H( D N-1 || H N-1 ) D0D0 H0H0 … H*H*

OSU EECS Merkle Hash Tree A binary tree over data values –For authentication purpose The root is the commitment of the Merkle tree –Known to the verifier. Example –To authenticate k 2, send (k 2, m 3,m 01,m 47 ) –Verify m 07 = h(h(m 01 ||h(f(k 2 )||m 3 )||m 47 ) 26

OSU EECS Merkle Hash Tree (Cont’d) Hashing at the leaf level is necessary to prevent unnecessary disclosure of data values Authentication of the root is necessary to use the tree –Typically done through a digital signature or pre- distribution Limitation –All leaf values must be known ahead of time 27

OSU EECS Untrusted External Storage Problem: how can we store memory of a secure coprocessor in untrusted storage? Solution: construct Merkle hash tree over all memory pages Secure Coprocessor Small persistent storage Mallory’s Storage