150 likes | 378 Views
Analysis of Direct Anonymous Attestation (DAA). Sudip Regmi Ilya Pirkin. Protocol Diagram (Simple Model). Verifier. Issuer PKI. 4. Sign Response - {m, Signature(m, DAA- Certificate, Nv, nonce}}. 2. Join Response – {DAA- Certificate(Ni, Commit(f), PKI)}. Join Request – {Commit(f) ,Ni}
E N D
Analysis of Direct Anonymous Attestation (DAA) Sudip Regmi Ilya Pirkin
Protocol Diagram (Simple Model) Verifier Issuer PKI 4. Sign Response - {m, Signature(m, DAA- Certificate, Nv, nonce}} 2. Join Response – {DAA- Certificate(Ni, Commit(f), PKI)} • Join Request – {Commit(f) ,Ni} • Authenticated by EK, using SPK 3. Sign Request {basename, nonce} Platform
Security Properties • Correctness • The verifier completes the protocol for message m only if: • m was signed by an honest TPM using a DAA-Certificate and verifier’s basename; • The DAA-Certificate was issued by an honest Issuer for the TPM before signing message m. • The issuer which the verifier knows is the same as the issuer which generated DAA-Certificate(f) used in the signature • TPM is not on the rogue list
Security Properties • Anonymity – A transaction of an honest platform cannot be linked with its Endorsement Key (EK). • Checked by comparing pseudonyms in the sign response and the join request. If they are equal anonymity breaks • Unlinkability – Transactions of an honest platform with different Verifiers are not linkable. • Checked by comparing PKI, pseudonyms in sign responses. Transactions are linkable if: • Values are the same if came from the same TPM • Values are different if came from different TPM
Level of Abstraction • Simple Model • Treats host and TPM as one player – the platform. Ignores any interactions between these two players • Only four messages and three player • Simple Message Format. • Full Model • Considers interaction between Host and TPM • Messages reflect actual protocol messages with the exception of the interactive proofs of knowledge
Modeling Approach • Primitives are secure • Interactive Proof of Knowledge is modeled by limiting Adversary’s capabilities • Can’t replay Join Request • Can’t modify Join Request
Adversary’s Capabilities Modeled • Can intercept messages on the network • Checks for use of different PK in DAA-Certificate • Checks to see if he can link two transactions (Join Request with Sign Response, Sign Response with another Sign Response) • Can replay intercepted messages blindly • Replays Sign Response for a seen Sign Request Randomly • Constructs a Sign Response in response to a seen Sign Request(Constructs from an earlier Join and Sign Response) • Constructs a Sign Request with the issuer's basename. (The idea is to make the TPM to generate the same pseudonym as in the join protocol)
Attacks in Simple Model Verifier Issuer • For each new Join Request a new Public Key is Used • Fix – Make sure that same is used in as many as n participant to guarantee n-anonymity • Rudolph DAA Attack on Anonymity • Murphi outputs: Error: intruder linked PKI from the same TPM 2. Join Response 4. Sign Response 1. Join Request 3. Sign Request Platform
Attacks in Simple Model • Anonymity Attack – Intruder uses Issuer’s basename • Join Request and Sign Responses have same pseudonym • Fix – Include the type of the basename into pseudonym. • Murphi outputs: Error: intruder linked pseudonyms in join and sign requests Intruder Issuer Join Response Sign Response Join Request Sign Request Platform
Attacks in Simple Model Verifier1 Issuer • Unlinkability Attack – bsn_v1 = bsn_v2 • Sign Response 1 and Sign Response 2 have same basenames Join Response Sign Response 1 Join Request Sign Request 1 Platform Sign Response 2 Sign Request 2 Intruder
Issues in Simple Model Verifier1 • EK is not verified against a revocation list (Rogue Tagging Feature is not setup correctly) • Correctness Issue – Intruder forwards Platform1’s Messages to Platform2. Intruder Platform1 Platform2 • Platform1 and Platform2 are on different networks, each correctly joined their issuers • Intruder redirects the sign request to a different network • Verifier does not check which network the platform is in • How far does anonymity extends?
Conclusion • The protocol is well designed • Using interactive PK and nonces to ensure freshness and integrity of messages • Hashes cover all possible parameters • High level of description makes it difficult to verify corner conditions. • Correctness in anonymous system is different from peer-to-peer. • Managed to model known attacks, no new findings • Cross-site attack should be taken care of by users • Too Detailed Model runs out of memory