2. to attest to (prove) the authenticity of the integrity
metrics (in step 1) to a challenger. This is done by
signing the PCR values using one of the TPM’s
trusted platform identities, also known as an At-
testation Identity Key (AIK).
To verify the integrity measurements, the verifier
computes the expected measurement digest (using the
relevant portion of the SML) and compares it with the
corresponding PCR values. The verifier also checks
the signature on the PCR values. In the context of
Trusted Computing, the process of integrity reporting
is also often referred to as Attestation.
3.2 Direct Anonymous Attestation
Direct Anonymous Attestation (DAA) (Brickell et al.,
2004) is a special type of signature scheme that can be
used to anonymously authenticate a TCG v1.2 com-
pliant platform to a remote verifier. The key feature
that DAA provides, in the context of Trusted Comput-
ing, is the capability for a TPM (a prover) to convince
a remote verifier that:
• it is indeed a genuine TPM without revealing any
unique identifiers;
• an AIK is held by a TPM, without allowing mul-
tiple verifiers to collude and link transactions in-
volving different AIKs from the same platform.
These features help to protect the privacy of a
TPM user. Another important feature of DAA is that
the powers of the supporting TTP (DAA Issuer) are
minimised, as it cannot link the actions of users, and
thus compromise the user’s privacy.
The DAA scheme is made up of two sub-
protocols: DAA Join and DAA Sign. We now provide
a simplified description of these two sub-protocols.
DAA Join Protocol The Join protocol enables the
TPM to obtain a DAA Certificate from the DAA Is-
suer.
Let (n,S,Z,R) be the public key of the DAA Is-
suer, where n is an RSA modulus, and S, Z and R
are integers modulo n. We assume that the TPM is
already authenticated to the DAA Issuer via its En-
dorsement Key, EK. Each TPM will only have one
EK key pair (usually created by a TPM manufacturer),
and a TPM may be uniquely identified by its EK.
The platform (TPM) first generates a DAA secret
value, f, and makes a commitment to f by comput-
ing U = R
f
S
v
′
mod n, where v
′
is a value chosen ran-
domly to “blind” f. The platform (TPM) also com-
putes N
I
= ζ
f
I
mod Γ, where ζ
I
is derived from the
DAA Issuer’s name, and Γ is a large prime. The plat-
form (TPM) then sends (U,N
I
) to the DAA Issuer,
and convinces the DAA Issuer that U and N
I
are cor-
rectly formed (using a Zero Knowledge Proof (Gold-
wasser et al., 1989)). If the DAA Issuer accepts the
proof, it will sign the hidden message, U, by comput-
ing A = (
Z
US
v
′′
)
1/e
mod n, where v
′′
is a random inte-
ger and e is a random prime. The DAA Issuer then
sends the platform (i.e. the TPM) the triple (A,e,v
′′
),
and proves that A was computed correctly. The DAA
Certificate is then (A,e,v = v
′
+ v
′′
).
DAA Sign Protocol The Sign protocol allows a
platform to prove to a verifier that it is in possession
of a DAA Certificate, and, at the same time, to sign
and authenticate a message.
The platform signs a message, m, using its DAA
Secret, f, its DAA Certificate, and the public param-
eters of the system. The message, m, may be an At-
testation Identity Key (AIK) generated by the TPM,
or an arbitrary message. The platform also computes
N
V
= ζ
f
mod Γ as part of the signature computation
(the selection of ζ will be be discussed in the next sec-
tion). The output of the Sign protocol is known as the
DAA Signature, σ.
The verifier verifies the DAA Signature, σ, and,
upon successful verification of σ, is convinced that:
1. The platform has a DAA Certificate (A,e,v) from
a specific DAA Issuer, and hence it is a valid
TPM. This is accomplished by a zero-knowledge
proof of knowledge of a set of values f, A, e and v
such that A
e
R
f
S
v
≡ Z (mod n).
2. A message, m, was signed by the TPM using its
DAA secret, f, where f is the same as the value
in the DAA Certificate.
In summary, once a platform (TPM) has obtained
a DAA Certificate (which only needs to be done
once), it is able to subsequently DAA-Sign as many
AIKs as it wishes, without involving the DAA Issuer.
Variable Anonymity Anonymity and unlinkability
are afforded to a user via the use of two parameters: ζ,
also referred to as the “base”, and the AIK. The choice
of the base directly affects the degree of anonymity af-
forded to a user of a TPM. If perfect anonymity is de-
sired, then a different, random, base value should be
used for every interaction with a verifier. Conversely,
if the same base value is used for every interaction
with a verifier, then the verifier can identify that this
is the same TPM. In addition, if the same base value is
used to interact with different verifiers, then they are
able to correlate the activities of a particular TPM.
A TPM is capable of generating multiple plat-
form identities, simply by generating different AIK
SECRYPT 2007 - International Conference on Security and Cryptography
322