190 likes | 395 Views
Key Escrow. - like leaving your key with a neighbour in case of an emergency. t of n protocol. A key is split into n pieces. Any t of the n pieces (1<=t<=n) are needed to recover the key. Any set of less than t key pieces should not reveal any information about the key.
E N D
Key Escrow - like leaving your key with a neighbour in case of an emergency
t of n protocol • A key is split into n pieces. • Any t of the n pieces (1<=t<=n) are needed to recover the key. • Any set of less than t key pieces should not reveal any information about the key.
2of2 protocol • A key is split into 2 pieces. Both pieces are needed to recover the original key. • Assume the key K is a b bit binary number K=k1 k2 k3…..kb • Each bit ki is either a 0 or a 1 • The size of the key space is 2b
The first key piece X1 is a b-bit string chosen at random. • The second key piece X2 is computed by XORing K and X1 X2 = K X1 • The key K is recovered by XORing the two key pieces together. K = X1 X2 • Neither X1 nor X2 reveal any information about K on their own since they are both random strings of 0’s and 1’s.
Example (2 of 2 protocol) Generation of Key Pieces The key K = 10110101 Key part X1= 01011010 Key part X2 = 11101111 Recovery of Key Key part X1 = 01011010 Key part X2 = 11101111 The key K = 10110101
nofn protocol • The 2 of 2 protocol can be generalised to an n of n protocol. • n key pieces X1, X2,……,Xn are created and all are need to recover the original key. • The first n-1 key pieces are chosen at random. • The final key piece is computed by XORing the key K with X1 , X2 , …, Xn Xn =K X1X2 …… Xn-1 • The key K is recovered by XORing all of the key pieces together
Generation of Key Parts K = 10100110 X1= 11010101 X2= 00110100 X3= 00110011 X4= 01110100 Recovery of the Key X1= 11010101 X2= 00110100 X3= 00110011 X4= 01110100 K = 10100110 Example (4 of 4 protocol)
2 of 3 protocol • Three key pieces are generated. Any two of the three pieces are needed to recover the original key. • This time, think of the key K as a decimal number. We need a parameter p which is a prime greater than K. The value of p does not need to be secret.
2of3 protocol • Alice, the holder of the key K generates a random number a and 3 further random numbers x1, x2 and x3all different and all between 0 and p. • Alice computes ki = (a*xi +K) mod p for i=1,2,3. • Alice keeps the value a secret, and gives each of the 3 key holders a pair (xi , ki).
Example (2 of 3 protocol) Generation of Key Parts K = 11, p = 19 a = 14, x1 = 3, x2 = 17, x3 = 10 k1 = (14*3 + 11) mod 19 = 53 mod 19 = 15 k2 = (14*17 + 11) mod 19 = 249 mod 19 = 2 k1 = (14*10 + 11) mod 19 = 151 mod 19 = 18 X1 = {3,15} X2 = {17,2} X3 = {10,18}
Recovering K Each key holder has a pair (xi , ki) and knows that ki = (a*xi + K) mod p, but without knowledge of a , this equation cannot be solved. There are p possible values for a and hence p possible values for K. However, if two key holders get together, they can form 2 equations in 2 unknowns which can be solved simultaneously for K.
Suppose the first two key holders share their information. Then they know: k1 = (a*x1 + K) mod p (1) k2 = (a*x2 + K) mod p (2) Multiplying the first equation by x2 and the second equation by x1 gives 2 more equations: (x2 *k1) = (a*x1*x2 ) + (x2* K) mod p (3) (x1 *k1) = (a*x1*x2 ) + (x1* K) mod p (4)
Now subtracting equation (4) from equation (3) gives (x2 *k1) = (a*x1*x2 ) + (x2* K) mod p (3) (x1 *k1) = (a*x1*x2 ) + (x1* K) mod p (4) (x2 *k1 - x1 *k1) = (x2* K) - (x1* K) mod p Or K = (x2 *k1 - x1 *k1) * (x2 – x1)-1 mod p
Example (2 of 3 protocol) Recovery of the Key Suppose key holders 1 and 2 decide to share their information so we know X1 = {3,15} and X2 = {17,2} We have the equations: 15 = 3a +K mod 19 (1) *17 2 = 17a+K mod 19 (2) * 3 (15*17) = (3*17*a) + 17K mod 19 (2*3) = (3*17*a) +3K mod 19 (15*17)-(2*3) = (17K-3K) mod 19 249 = 14K mod 19 The inverse of 14 mod 19 = 15 Therefore K = (249 * 15) mod 19 = (2*15) mod 19 = 30 mod 19 = 11
2ofn protocol • The 2of3 protocol can be generalised to provide a 2 of n protocol. • The key holders generates as many key pairs (ki, xi) as necessary using the same method as for the 2 of 3 protocol. • Any two key holders can retrieve the original key.
t of n protocol • A similar protocol can be used for any values of t and n where 1< t < n. • Alice needs to choose (t-1) random values a1,a2, ….. ,at-1 and she generates key pairs such that each key holder has an equation in t unknowns (the values of aiand the value of K). • Thus t key holders have to get together to form a set of t simultaneous equations which can be solved to find K.