D IRECT A NONYMOUS A TTESTATION Essam Ghadafi ghadafi@cs.bris.ac.uk Department of Computer Science, University of Bristol Brown Univeristy – 14 th March - 2013 D IRECT A NONYMOUS A TTESTATION
O UTLINE W HAT IS DAA? 1 S ECURITY M ODEL OF DAA 2 A B LUEPRINT FOR DAA 3 ROM I NSTANTIATIONS 4 S TANDARD -M ODEL C ONSTRUCTIONS 5 E FFICIENCY C OMPARISON 6 S UMMARY 7 O PEN P ROBLEMS 8 D IRECT A NONYMOUS A TTESTATION
O UTLINE W HAT IS DAA? 1 S ECURITY M ODEL OF DAA 2 A B LUEPRINT FOR DAA 3 ROM I NSTANTIATIONS 4 S TANDARD -M ODEL C ONSTRUCTIONS 5 E FFICIENCY C OMPARISON 6 S UMMARY 7 O PEN P ROBLEMS 8 D IRECT A NONYMOUS A TTESTATION
O UTLINE W HAT IS DAA? 1 S ECURITY M ODEL OF DAA 2 A B LUEPRINT FOR DAA 3 ROM I NSTANTIATIONS 4 S TANDARD -M ODEL C ONSTRUCTIONS 5 E FFICIENCY C OMPARISON 6 S UMMARY 7 O PEN P ROBLEMS 8 D IRECT A NONYMOUS A TTESTATION
O UTLINE W HAT IS DAA? 1 S ECURITY M ODEL OF DAA 2 A B LUEPRINT FOR DAA 3 ROM I NSTANTIATIONS 4 S TANDARD -M ODEL C ONSTRUCTIONS 5 E FFICIENCY C OMPARISON 6 S UMMARY 7 O PEN P ROBLEMS 8 D IRECT A NONYMOUS A TTESTATION
O UTLINE W HAT IS DAA? 1 S ECURITY M ODEL OF DAA 2 A B LUEPRINT FOR DAA 3 ROM I NSTANTIATIONS 4 S TANDARD -M ODEL C ONSTRUCTIONS 5 E FFICIENCY C OMPARISON 6 S UMMARY 7 O PEN P ROBLEMS 8 D IRECT A NONYMOUS A TTESTATION
O UTLINE W HAT IS DAA? 1 S ECURITY M ODEL OF DAA 2 A B LUEPRINT FOR DAA 3 ROM I NSTANTIATIONS 4 S TANDARD -M ODEL C ONSTRUCTIONS 5 E FFICIENCY C OMPARISON 6 S UMMARY 7 O PEN P ROBLEMS 8 D IRECT A NONYMOUS A TTESTATION
O UTLINE W HAT IS DAA? 1 S ECURITY M ODEL OF DAA 2 A B LUEPRINT FOR DAA 3 ROM I NSTANTIATIONS 4 S TANDARD -M ODEL C ONSTRUCTIONS 5 E FFICIENCY C OMPARISON 6 S UMMARY 7 O PEN P ROBLEMS 8 D IRECT A NONYMOUS A TTESTATION
O UTLINE W HAT IS DAA? 1 S ECURITY M ODEL OF DAA 2 A B LUEPRINT FOR DAA 3 ROM I NSTANTIATIONS 4 S TANDARD -M ODEL C ONSTRUCTIONS 5 E FFICIENCY C OMPARISON 6 S UMMARY 7 O PEN P ROBLEMS 8 D IRECT A NONYMOUS A TTESTATION
W HAT IS DAA? A protocol standardized by TCG (Trusted Computing Group) that allows a user possessing a TPM (Trusted Platform Module) to attest to this fact to a verifier, i.e. the TPM anonymously authenticates itself to the verifier. ◮ Direct: Without a third party. ◮ Anonymous: The identity of the user is not revealed. ◮ Attestation: A proof, i.e. convinces the verifier. TPM delegates the non-critical operations to its more powerful host. D IRECT A NONYMOUS A TTESTATION 1 / 46
DAA User 1 User 2 Join DAA Signature User x User 3 User 4 Verifier Manager Group D IRECT A NONYMOUS A TTESTATION 2 / 46
T HE TPM Cryptographic Persistent Memory Processor Endorsement Key (EK) Random Number Generator Secured Input - Output Storage Root Key (SRK) RSA Key Generator Versatile Memory Platform Configuration Registers (PCR) SHA-1 Hash Generator Attestation Identity Key (AIK) Enc-Dec-Sign Storage Keys Engine D IRECT A NONYMOUS A TTESTATION 3 / 46
F EATURES OF DAA ◮ The user remains anonymous, i.e. verifiers do not know which TPM produced the signature. ◮ Rogue (i.e. compromised) TPMs can be traced. ◮ The user can opt to have some of his transactions (targeted at the same verifier, i.e. on the same basename bsn ) to be linkable. However, anonymity is still preserved. D IRECT A NONYMOUS A TTESTATION 4 / 46
A BIT OF H ISTORY The first DAA protocol (RSA-based) was proposed by Brickell, Camenisch and Chen [BCC04] in 2004 and was standardized by TCG as TPM 1.2. Other (Pairing-based) constructions followed: ◮ Brickell, Chen and Li [BCL08] 2008. ◮ Chen [C09] 2009. ◮ Chen, Morrissey and Smart [CMS09] 2009. ◮ Chen, Page and Smart [CPS10] 2010. ◮ Bernhard, Fuchsbauer, Ghadafi, Smart and Warinschi [BFG+11] 2011. D IRECT A NONYMOUS A TTESTATION 5 / 46
PRE -DAA To simplify the security model and the constructions, we proceed in two steps: 1 Consider a pre-DAA scheme: a fully functional DAA but the user is regarded as one entity (i.e. not split into a powerful untrusted Host and a computationally-constrained trusted TPM). 2 Convert the pre-DAA into a DAA by delegating non-critical operations to the Host without compromising the security. D IRECT A NONYMOUS A TTESTATION 6 / 46
H OW TO TRACE ? Unlike in group signatures, users do not have public keys bound to their identities! Q: So how to trace users? D IRECT A NONYMOUS A TTESTATION 7 / 46
H OW TO TRACE ? Unlike in group signatures, users do not have public keys bound to their identities! Q: So how to trace users? A: We use the join transcript as a public key for the user “ Uniquely Identifying Transcripts ”. ◮ ⇒ Each completed transcript T traces to at most one secret key sk . D IRECT A NONYMOUS A TTESTATION 7 / 46
S YNTAX OF A PRE -DAA S CHEME ◮ Setup ( 1 λ ) : Creates common public parameters param . ◮ GKg ( param ) : Creates a key pair ( gmpk , gmsk ) for the issuer. ◮ UKg ( param ) : Creates a secret key sk for a user. ◮ � Join ( gmpk , sk ) , Issue ( gmsk ) � : If completed successfully, the user obtains a group signing key gsk . ◮ GSig ( sk , gsk , bsn , m ) : Creates a signature σ on message m and basename bsn . bsn could be empty, i.e. bsn = ⊥ . ◮ Verify ( gmpk , σ, m , bsn ) : Verifies a signature. ◮ Link ( gmpk , m 0 , σ 0 , m 1 , σ 1 , bsn ) : Checks if σ 0 on ( m 0 and bsn ) and σ 1 on ( m 1 and bsn ) where bsn � = ⊥ are by the same user. D IRECT A NONYMOUS A TTESTATION 8 / 46
S YNTAX OF A PRE -DAA S CHEME ◮ * Identify T ( gmpk , T , sk ) : Checks if transcript T matchs the secret key sk . ◮ * Identify S ( gmpk , σ, m , bsn , sk ) : Checks if σ was produced by the owner of sk . D IRECT A NONYMOUS A TTESTATION 9 / 46
S ECURITY OF PRE -DAA The security requirements are: ◮ Correctness. ◮ Anonymity. ◮ Traceability. ◮ Non-frameability. D IRECT A NONYMOUS A TTESTATION 10 / 46
S ECURITY OF PRE -DAA ◮ Correctness: If all parties are honest, we have that: Signatures are accepted by the Verify algorithm. Signatures can be traced. Signatures that are linkable link. D IRECT A NONYMOUS A TTESTATION 11 / 46
S ECURITY OF PRE -DAA ◮ Anonymity: Signatures do not reveal who signed them and unlinkable signatures do not link even if the Issuer is corrupt. D IRECT A NONYMOUS A TTESTATION 12 / 46
S ECURITY OF PRE -DAA ◮ Anonymity: Signatures do not reveal who signed them and unlinkable signatures do not link even if the Issuer is corrupt. gmpk,gmsk AddU AddU ... USK USK i 0 , i 1, bsn, m i 0 , i 1, bsn, m GSK GSK b←{0,1} Sign Sign σ←GSig(gsk b ,sk b ,m,bsn) CrptU CrptU ... SndToU SndToU b * Adversary wins if: b = b ∗ , both i 0 and i 1 are honest and he never asked for a signature on bsn by i 0 or i 1 . D IRECT A NONYMOUS A TTESTATION 12 / 46
S ECURITY OF PRE -DAA ◮ Traceability-1: The adversary cannot output an untraceable signature. D IRECT A NONYMOUS A TTESTATION 13 / 46
S ECURITY OF PRE -DAA ◮ Traceability-1: The adversary cannot output an untraceable signature. gmpk SndToI SndToI ... CrptU CrptU σ, m, bsn, sk' 1 , ..., sk' n Adversary wins if all the following holds: σ verifies on m and bsn . ∀T ∈ T ∃ i ∈ { 1 , n } s.t. T traces to sk i . T is the set of all Join transcripts. σ does not trace to any sk i . D IRECT A NONYMOUS A TTESTATION 13 / 46
S ECURITY OF PRE -DAA ◮ Traceability-2: The adversary cannot output two signatures which should link but they do not. D IRECT A NONYMOUS A TTESTATION 14 / 46
S ECURITY OF PRE -DAA ◮ Traceability-2: The adversary cannot output two signatures which should link but they do not. gmpk, gmsk ... σ 0 , m 0 , σ 1 , m 1 , bsn, sk' Adversary wins if all the following holds: σ 0 verifies on m 0 and bsn , and σ 1 verifies on m 1 and bsn . Both σ 0 and σ 1 trace to sk ′ . σ 0 and σ 1 do not link. D IRECT A NONYMOUS A TTESTATION 14 / 46
S ECURITY OF PRE -DAA ◮ Non-Frameability-1: The adversary cannot output a signature that traces to an honest user who did not produce it. D IRECT A NONYMOUS A TTESTATION 15 / 46
S ECURITY OF PRE -DAA ◮ Non-Frameability-1: The adversary cannot output a signature that traces to an honest user who did not produce it. gmpk,gmsk AddU AddU USK USK ... GSK GSK Sign Sign σ, m, i, bsn CrptU CrptU SndToU SndToU Adversary wins if all the following holds: σ verifies on m and bsn . User i is honest and has not signed ( m , bsn ) . σ traces to sk i . D IRECT A NONYMOUS A TTESTATION 15 / 46
S ECURITY OF PRE -DAA ◮ Non-Frameability-2: The adversary cannot output signatures that link but they should not. D IRECT A NONYMOUS A TTESTATION 16 / 46
S ECURITY OF PRE -DAA ◮ Non-Frameability-2: The adversary cannot output signatures that link but they should not. gmpk,gmsk AddU AddU USK USK ... GSK GSK Sign Sign σ 0 , m 0 , bsn 0 ,σ 1 , m 1 , bsn 1 , sk CrptU CrptU SndToU SndToU Adversary wins if all the following holds: σ 0 verifies on m 0 and bsn 0 , and σ 1 verifies on m 1 and bsn 1 . σ 0 and σ 1 link on either bsn 0 or bsn 1 . bsn 0 � = bsn 1 , bsn 0 = ⊥ , bsn 1 = ⊥ , or only one signature traces to sk . D IRECT A NONYMOUS A TTESTATION 16 / 46
Recommend
More recommend