Скачать презентацию Theft-protected Proprietary Certificates Jinhae Kim Graduate Student University Скачать презентацию Theft-protected Proprietary Certificates Jinhae Kim Graduate Student University

bd62fbb87f87f06ce6da1e9c32a5df00.ppt

  • Количество слайдов: 28

Theft-protected Proprietary Certificates Jinhae Kim Graduate Student University of Minnesota Theft-protected Proprietary Certificates Jinhae Kim Graduate Student University of Minnesota

Contents n n n Introduction Building blocks Proprietary certificates Theft protection Alarm techniques and Contents n n n Introduction Building blocks Proprietary certificates Theft protection Alarm techniques and policies

Introduction n Proprietary certificate n n A way of implementing digital certificate that discourages Introduction n Proprietary certificate n n A way of implementing digital certificate that discourages unwanted sharing of resources Proprietary and collateral key Vulnerabilities of proprietary certificate Theft protection (real and CPU time delay)

Example n n Subscribe web site (e. g. PCQuote. com, IEEE) Users pay per Example n n Subscribe web site (e. g. PCQuote. com, IEEE) Users pay per subscription (not pay per view) As we did before (all as we may want to do for expensive services), we can share password and payment How do we prevent this? (Do you want to? )

Building Blocks (RSA/DL Keys) n RSA Setting n n Public key: (N, e) , Building Blocks (RSA/DL Keys) n RSA Setting n n Public key: (N, e) , secret key: (N, d) N: product of two k-bit primes (p , q) e ∈ ZN, coprime to φ(n), ed ≡ 1 mod φ(n) DL Setting n n Public key: (p, q, g, y) , secret key: (p, q, g, x) p: k-bit prime , q: prime such that q|p-1 g: a generator of the group of order q y = gx (x is element of Zq)

Building Block (Verifiable Enc. ) n Verifiable encryption n n Protocol between P and Building Block (Verifiable Enc. ) n Verifiable encryption n n Protocol between P and V V knows pk 1, p (public value), R (binary relation) V Epk 1(x) Accept if R(x, p) = True n Note that x is never revealed to V

Building Block (Fair Encryption) n Fair encryption n A verifiable encryption where the relation Building Block (Fair Encryption) n Fair encryption n A verifiable encryption where the relation is true if x = sk 2 and pk 2 = p with sk 2 is a private key of pk 2 If one know sk 1, it can decrypt sk 2 If not, nothing about sk 2 is known

Intuitive Explanation n n When user A wants to subscribe site 1, a certificate Intuitive Explanation n n When user A wants to subscribe site 1, a certificate from CA 1 should be issued to A To get the certificate, A shows a certificate from site 2 where n n Revealing secret information for A results in revealing of important information at site 2 Examples of the important information: Criminal history, Bank password, credit card number

And then… n When A wants to log in to site 1, n n And then… n When A wants to log in to site 1, n n n Site 1 sends a random nonce to A A signs the nonce and sends it along with the certificate Site 1 verifies the signature and let A in

System Overview Wants to certify pk 1 User CA 1 (proprietary) CA 2 (collateral) System Overview Wants to certify pk 1 User CA 1 (proprietary) CA 2 (collateral)

System Overview Wants to certify pk 1 Request the collateral certificate and F User System Overview Wants to certify pk 1 Request the collateral certificate and F User CA 1 (proprietary) CA 2 (collateral)

System Overview Wants to certify pk 1 Request the collateral certificate and F Send System Overview Wants to certify pk 1 Request the collateral certificate and F Send collateral certificate and F User CA 1 (proprietary) CA 2 (collateral)

System Overview Wants to certify pk 1 Request the collateral certificate and F Send System Overview Wants to certify pk 1 Request the collateral certificate and F Send collateral certificate and F Verify validity of the collateral certificate by checking the signature of CA 2 and validity of the fair encryption User CA 1 (proprietary) CA 2 (collateral)

System Overview Wants to certify pk 1 Request the collateral certificate and F Send System Overview Wants to certify pk 1 Request the collateral certificate and F Send collateral certificate and F Verify validity of the collateral certificate by checking the signature of CA 2 and validity of the fair encryption Send certificate of pk 1 User CA 1 (proprietary) CA 2 (collateral)

System Overview Wants to certify pk 1 Request the collateral certificate and F Broadcast System Overview Wants to certify pk 1 Request the collateral certificate and F Broadcast the updates to the list of valid public keys Send collateral certificate and F Verify validity of the collateral certificate by checking the signature of CA 2 and validity of the fair encryption Send certificate of pk 1 User Broadcast the updates CA 1 (proprietary) CA 2 (collateral)

Proprietary Certificates I n Non-transferablility n n Cryptosystem agility n n With knowing secret Proprietary Certificates I n Non-transferablility n n Cryptosystem agility n n With knowing secret key of C 1, one can compute the SK of C 2 Proprietary and collateral services can use different cryptosystems Locality n n CA 1 does not need to interact with CA 2 directly Only the “light” version necessary: Broadcasting authentic public keys to CA 2

Proprietary Certificates II n Efficiency n n n C 1 is not larger than Proprietary Certificates II n Efficiency n n n C 1 is not larger than a regular certificate of its type The computational and communication requirements in establishing the proprietary/collateral relationship are resonable Security n n Any party does not learn any information about the SK 2 of C 2 No party besides CA 1 learns what other certificates the user has

Proprietary Certificates III CA 1: proprietary certification authority CA 2: collateral certification authority C Proprietary Certificates III CA 1: proprietary certification authority CA 2: collateral certification authority C 1, C 2: proprietary, collateral certificate FEpk 1(sk 2): fair encryption of the sk 2 under pk 1

Proprietary Certificates IV n Certify the public key pk 1 by CA 1 n Proprietary Certificates IV n Certify the public key pk 1 by CA 1 n User present the certificate of pk 2 contained in C 2 issued by CA 2 and F to CA 1 n n F = FEpk 1(sk 2) CA 1 verifies validity of the collateral certificate n n Check the signature of CA 2 and validity of the fair encryption CA 2 must broadcast the updates to the list of valid public keys

Is this enough? n n n What if I lost my secret key for Is this enough? n n n What if I lost my secret key for site 1 accidentally? This results in revealing more important information Easy solution: report when we lost it? n n How long does it take to detect it? So, we have to delay the secret key exposure of site 2

Theft Protection n involuntary proprietary key exposure n n n the user has time Theft Protection n involuntary proprietary key exposure n n n the user has time to detect the fact of theft and to contact proprietary and collateral service providers CPU delay: Time lock puzzle Real time delay: Delayed response to collateral information

Time-lock Puzzle (Ri. Sh. Wa) n Symmetric encryption scheme using short key n n Time-lock Puzzle (Ri. Sh. Wa) n Symmetric encryption scheme using short key n n Time taking exhaustive key search This does not work since exhaustive key search on block cipher is parallelizable need serialized (unparallelizable) solution Time-lock puzzle: (n, a, t, CK, CM) n n n = pq, φ(n) = (p – 1)(q – 1) t = T S (S: # of squarings modulo n / sec) CM: Ciphertext of M using K CK = K + a 2 t mod n (a: random, 1 < a < n)

Time-Lock Puzzle (Why works? ) n When Alice encrypts first, she knows f(n) n Time-Lock Puzzle (Why works? ) n When Alice encrypts first, she knows f(n) n n Others have to n n n If one knows f(n), one can compute 2 t mod f(n) 2 t easily, and therefore, can compute a compute 2 t in integer compute “t” modular squaring Therefore, all others need t second to get K, and M also

Implementing a CPU Delay I n n n IDU: identity info of user U Implementing a CPU Delay I n n n IDU: identity info of user U (pk 1, sk 1), (pk 2, sk 2): proprietary and collateral public and secret key pairs FE: fair encryption algorithm SE: semantically-secure symmetric encryption algorithm T: desirable time delay in seconds S: # of squarings required to unlock the puzzle

Implementing a CPU Delay II n Certification protocol n n U sends (IDU, pk Implementing a CPU Delay II n Certification protocol n n U sends (IDU, pk 1, F, C 2) to CA 1: F = FSpk 1(sk 2) CA 1 verifies IDU, C 2 and F n n n Pick 2 primes p, q and computes n = pq Pick random k-bit string and computes EF= SEK(F) Compute values a, b as a function of pk 1 Compute EK = K + a 2 t mod n (t = TS) C 1 = (IDU, pk 1, EF , EK , n, t , b) return to U with a valid signature CA 1 sends f(n) to U secretly n so that U can verify EK and EF efficiently

Implementing a CPU Delay III n Use of RSA keys n n n Public Implementing a CPU Delay III n Use of RSA keys n n n Public key: (N, e) , Secret key: (N, d) a ∈ Z*N , b = ae mod N Use of DL keys n n Public key: (p, g, q, gx) , secret key: x b = gr (r ∈ Zq ), a = yr = grx (mod p)

Implementing Real Time Delay n Certification Protocol n n n Similar to CPU delay Implementing Real Time Delay n Certification Protocol n n n Similar to CPU delay CA stores F along with user’s information Derivation of collateral secret n After verifying the signature, CA waits the necessary time period and returns F

References n n n A. Boldyreva and M. Jakobsson, References n n n A. Boldyreva and M. Jakobsson, "Theft-protected proprietary certificates, " ACM workshop on DRM '02 M. Jakobsson, A. Juels and P. Nguyen, “Proprietary Certificates, ” Proceedings of The Cryptographers’ Track at the RSA Conference 2002, LNCS Vol. 2271, Springer-Verlag, 2002 Jan Camenisch, Ivan Damgard, “Verifiable Encryption, Group Encryption, and Their Applications to Group Signatures and Signature Sharing Schemes, ” Advaces in Cryptology – ASIACRYPT ’ 00, LNCS Vol. 1976, T. Okamoto ed. , Springer-Verlag, 2000 n G. Poupard and J. Stern, “Fair encryption of RSA keys, ” Advaces in n R. Rivest, A. Shamir and D. Wagner, “Time-lock puzzles and timedrelease crypto, ” LCS technical memo MIT/LCS/TR-684, February 1996 Cryptology – Curocrypt ’ 00, LNCS Vol. 1807, B. Preneel ed. , Springer. Verlag, 2000