key establishment
play

Key Establishment Chester Rebeiro IIT Madras CR Stinson : Chapter - PowerPoint PPT Presentation

Key Establishment Chester Rebeiro IIT Madras CR Stinson : Chapter 10 Multi Party secure communication C D A B E F N parties want to communicate securely with each other (N=6 in this figure) If U sends a message to V (U V


  1. Key Establishment Chester Rebeiro IIT Madras CR Stinson : Chapter 10

  2. Multi Party secure communication C D A B E F • N parties want to communicate securely with each other (N=6 in this figure) • If U sends a message to V (U ≠V and U,V Ɛ {a,b,c,d,e,f}) – Only V should be able to read the message – No other parties (even if they cooperate) should be able to read the message CR 2

  3. Adversary Assumptions C attacker A B • • Passive Attacker (evesdropper) Passive Attacker (evesdropper) • Active Attacker – Aim : fool A and B into accepting an invalid key ( invalid key : expired key, a key chosen by the attacker) fool A / B into believing that they have exchanged a key with the other get partial information about the key exchanged between A and B – Modus-Operandi : • alter messages • save messages and replay later • masquerade CR 3

  4. Adversary Assumptions 2-party colluding attackers c d a b • Attackers can collude to get the secrets • k-party colluding attacks – K attackers collude CR 4

  5. Types of Keys • Long lived keys – Generally used for authentication, setting up session keys • Could be either a key corresponding to a symmetric cipher • Or a private key corresponding to a public key cipher • Session keys – Used for a brief period of time such as a single session. • Typically session key corresponds to a symmetric key cipher – and requires to be changed periodically – Derived from LL keys CR 5

  6. Example (the keys in GSM) • Long lived (LL) keys – SIM contains a individual subscriber authentication key (k i ) • It is never transmitted or the network. – A copy of k i is also stored in databases in the base station – k i is used to authenticate the SIM using an algorithm called A3 • • Session keys (k ) Session keys (k c ) – Created at the time of a call changed periodically during the call – It is created using k i and an algorithm A8 – Voice and Signals are encrypted using the session key ki using a cipher A5 CR 6

  7. Why use Session Keys? • Limit the amount of ciphertext an attacker sees. • Limit exposure when device is compromised. • Limits the amount of long term information that needs to be stored on device. CR 7

  8. Distributing LL Keys Non-interactively • LL keys are stored in the device (such as TPMs) – Or computed from stored secrets (such as PUFs) Interactively TA • Could also be sent to the device by a trusted authority (TA) authority (TA) – Trusted Authority • Verifies identities of users • Issues certificates A F • Has a secure link with each user • Distribution schemes from TA – Using public key constructs B E • User’s store private keys C D • User certificates stored by TA contains the public keys – Using symmetric key constructs • TA has a secure channel to distribute secret keys to pairs of users CR 8

  9. Key Predistribution Defining Feature: Key Pre-distribution affects all users CR slide borrowed from Hossein Hajiabolhassan(SBU) 9

  10. Key Predistribution Scheme CR Slide borrowed from Hossein Hajiabolhassan(SBU) 10

  11. Solution using symmetric key cryptography (Naïve Scheme) TA C D K AB K AB A B E E F F • TA generates a key and sends it securely to A and B. • Storage in each user : N – 1 • Maximum secure links : N   N • Network Overheads : transfers   can we reduce the overheads?   2   CR 11

  12. Trading Security for reduced Overheads C D F E K AB K AB A B • The naïve scheme protects against N-2 colluding users • The naïve scheme protects against N-2 colluding users • What if we reduce this assumption to say k (< N-2) colluding users? – Security reduces – But overheads may also reduce. CR 12

  13. Blom’s Key PreDistribution Scheme Aim : each pair of users require a unique key • Unconditionally secure key distribution in a k-party colluding network (k < N – 2) – At-most k parties can collude (k parties acting together will not be able to determine the key for anyone else) (k parties acting together will not be able to determine the key for anyone else) • Maximum secure links N (no change here) • Network Transfers : N(k+1)   N (reduced from )     2   • Storage : Each user stores (k+1) elements (reduced from N-1 ) CR 13

  14. Blom’s Key Distribution Scheme (for k=1) • Public parameters: (1) prime p (> N) and (2) for each user a distinct value r u Ɛ Z p • Trusted Authority Choose secret a, b, c Ɛ Z p and forms the polynomial 1. f(x,y) = (a + b(x + y) + cxy) mod p = (a + by) + (b + cy)x mod p 2. 2. For each user u, the TA computes f(x, r u ) and transmits two For each user u, the TA computes f(x, r ) and transmits two elements (k+1) to user U over a secure channel a U = (a + br U ) mod p and b U = (b + cr U )x mod p • Usage : if ‘U’ and ‘V’ want to communicate • U : has f(x, r U ) , computes K VU = f(r V , r U ) • V : has f(x, r V ) , computes K UV = f(r U , r V ) = f(r V , r U ) = K VU CR 14

  15. Blom’s Key Distribution Scheme (for k=1) Why it works? • Public parameters: (1) prime p (> N) and (2) for each user a distinct value r u Ɛ Z p a,b, c are the only secrets. If an f(x,y) is symmetric. attacker can compute these, Interchanging x and y values • Trusted Authority then the system is broken! will not alter results. Choose secret a, b, c Ɛ Z p and forms the polynomial 1. f(x,y) = (a + b(x + y) + cxy) mod p = (a + by) + (b + cy)x mod p 2. 2. For each user u, the TTP computes f(x, r ) and transmits two For each user u, the TTP computes f(x, r u ) and transmits two elements (k+1) to user U over a secure channel a U = (a + br U ) mod p and b U = (b + cr U )x mod p This is an Affine • Usage : if ‘U’ and ‘V’ want to communicate transformation. There are three unknowns (a, b, c). • U : has f(x, r U ) , computes K VU = f(r V , r U ) Therefore requires 3 equations to solve. However, each user • V : has f(x, r V ) , computes K UV = f(r U , r V ) = f(r V , r U ) = K VU has only a U and b U . Needs more information!! CR 15

  16. Blom’s scheme is unconditionally secure • What does this means? Any other user W (not U or V) cannot get any information about K UV apriori probability of K UV = aposteriori probability of K UV Given all of Blom’s public parameters and f(x, r W ) Given all of Blom’s public parameters and f(x, r ) =1/|Z | =1/|Z p | Two equations; three unknowns (a, b, c) What ‘W’ has? This is an underdetermined system therefore a W = a + br W number of solutions possible is |Zp|. b W = b + cr W Aposteriori probability of K UV = 1/|Z p | CR 16

  17. 2-party Colluding Attackers • If two attackers (say W and X) collude, then 4 equations present and 3 unknowns This will result in a unique solution for a,b,c … system broken!!! 2-party coalition 2-party coalition attackers W X What ‘W’ and ‘X’ have? a W = a + br W b W = b + cr W a X = a + br X b X = b + cr X Thus, the scheme is not secure against 2 (or more) party colluding attacks CR 17

  18. Generalizing Blom’s Scheme • More complex polynomial so that secret coefficients cannot be retrieved • For a k-party colluding network k k = ∑∑ i j f ( x , y ) a x y mod p i , j = = i 0 j 0 ∈ ≤ ≤ = where a Z ( 0 i , j k ) and a a for all i , j i , j p i , j j , i CR 18

  19. Limits of Blom’s Scheme Pairwise keys cannot be changed i.e. U and V cannot change their keys To change keys, all users need to be reconfigured Thus, it is difficult to implement this scheme for session keys CR 19

  20. Key Distribution Patterns (This is a secret operation). CR 20

  21. Key Distribution Patterns (Trivial Example) Suppose – There are n users (n = 4) U U U U 1 2 3 4 – and v keys (v = 6)   1 1 0 0 k 1   1 0 1 0 k   2 U U has has keys keys k k , , k k , , k k     1 1 0 0 0 0 1 1 k k 1 1 1 1 2 2 3 3 3 = M   keys U has keys k , k , k 0 1 1 0 2 1 4 5   k 4 U has keys k , k , k   0 1 0 1 3 2 4 6 k   5 U has keys k , k , k   0 0 1 1   4 3 5 6 k 6 users CR 21

  22. Group Keys • Consider that a subset of users P (|P| ≥ 2) want to communicate together • Define, = keys ( U ) { k , k , k } 1 1 1 1 2 2 3 3 = = ∩ ∩ = = keys keys ( ( P P ) ) keys keys ( ( U U ) ) keys keys ( ( U U ) ) k k 1 2 1 = keys ( U ) { k , k , k } 2 1 4 5 • Each user in P can compute keys(P) independently because M is public In this case, k P = keys(P) = k 1 can be used as the key ∑ > = If | keys ( P ) | 2 , then define k k mod K P i ∈ i keys ( P ) CR 22

  23. Security of Group Keys • Consider another subset of users F, who want to collaborate to determine the group key k P ∩ ≠ φ ∈ If F P , then there exists some U F who can compute k 1 j P ∩ = φ Assume F P 2     ⊆ U If keys ( P ) keys ( U )   j   ∈ U F j then there exists a subset in F who can cooperate to compute k P If such a subset does not exist, then the system in unconditionally secure CR 23

Recommend


More recommend