Cyrtographic Security Identity-based Encryption 1Dennis Kafura – CS5204 – Operating Systems
Cryptographic Security Diffie-Hellman Key Exchange How can two parties come to possess a shared secret using only insecure channels of communication? Assumes passive eavesdropping only (i.e. susceptible to active (wo)man-in-the-middle attack) Relies on prime number groups (more later) Same/similar techniques underlie more recent cryptographic methods Dennis Kafura – CS5204 – Operating Systems2
Cryptographic Security Diffie-Hellman Key Exchange Some mathematics If p is prime number, then the numbers 1..p-1 form a group of order p-1 with multiplication modulo p as its operator. A generator, g, is any number 1..p-1 such that for all n in 1..p-1 there is a power k such that n=g k mod p. Example: 3 is a generator for the group with p=7 Notation: Operations: Security based on computational infeasibility of solving the discrete logarithm problem (i.e., finding x if y = g x mod p given y, g, and p). Dennis Kafura – CS5204 – Operating Systems3
Cryptographic Security Key Exchange Protocol Public information A prime number, p A generator, g Steps Alice chooses a random number a and computes u=g a mod p and sends u to Bob. Bob chooses a random number b and computes v=g b mod p and sends v to Alice. Bob computes the key k = u b = (g a ) b mod p. Alice computes the key k = v a = (g b ) a mod p. (note: both Bob and Alice have k = (g ab ) mod p) Dennis Kafura – CS5204 – Operating Systems4
Cryptographic Security Identity-based encryption Public-key encryption Identity is conveyed in a certificate from a certificate authority that binds the public key to the identity Certificate must be obtained in advance Certificate authority is trusted to validate claim of identity Identity-based encryption Identity itself serves as the public key (e.g, No advance preparation needed Trusted service validates claim of identity Key escrow issue (trusted service can recreate secret key associated with an identity) Dennis Kafura – CS5204 – Operating Systems5
Cryptographic Security Identity-based encryption Dennis Kafura – CS5204 – Operating Systems6 Private Key Generator Encrypted with as public key authenticate send private key Alice Bob
Cryptographic Security Identity-based Encryption Dennis Kafura – CS5204 – Operating Systems7 SetupkExtract master-key Private Key Generator (PKG) Receiver Decrypt params Sender Encrypt M C M d ID ID
Cryptographic Security Bilinear Maps Some mathematics Fortunately, groups with these properties can be generated algorithmically using a positive integer seed value (security parameter) k. Dennis Kafura – CS5204 – Operating Systems8
Cryptographic Security Identity-based encryption BasicIdent algorithms Setup Dennis Kafura – CS5204 – Operating Systems9
Cryptographic Security Identity-based Encryption Extract Encrypt Decrypt Dennis Kafura – CS5204 – Operating Systems10
Cryptographic Security Why does this work? Encryption bitwise exclusive-ors M with: Decryption bitwise exclusive-ors V with: These masks are the same since: Dennis Kafura – CS5204 – Operating Systems11
Cryptographic Security Extensions Dennis Kafura – CS5204 – Operating Systems12 bilinear groups threshold secret sharing access tree ID-based attribute/fuzzy IDkey/policy-based