Nistspecialpublication800 89
Nistspecialpublication800 89
COMPUTER SECURITY
November 2006
Technology Administration
Robert Cresanti, Under Secretary of Commerce for Technology
Abstract
ii
SP 800-89 November 2006
Acknowledgements
The National Institute of Standards and Technology (NIST) gratefully acknowledges and
appreciates contributions by Rich Davis from the National Security Agency concerning
the many security issues associated with this Recommendation. NIST also thanks the
many contributions by the public and private sectors whose thoughtful and constructive
comments improved the quality and usefulness of this publication.
iii
SP 800-89 November 2006
Table of Contents
1 Introduction................................................................................................ 1
2 Authority................................................................................................... 2
3 Definitions and Acronyms......................................................................... 2
3.1 Definitions............................................................................................................ 2
3.2 Acronyms............................................................................................................. 5
4 Assurance of Domain Parameter Validity................................................. 6
4.1 Explicit Domain Parameter Validation for DSA ................................................. 7
4.2 Assurances When Domain Parameters are Generated by Another Entity........... 8
4.2.1 Assurance When Domain Parameters are Generated by a Trusted Party 8
4.2.2 Assurance When Domain Parameters are Generated by an Untrusted
Party ......................................................................................................... 9
5 Assurance of Public Key Validity ............................................................. 9
5.1 Owner Assurances of Public Key Validity .......................................................... 9
5.2 Verifier Assurances of Public Key Validity ...................................................... 10
5.3 (Explicit) Public Key Validation ....................................................................... 10
5.3.1 (Explicit) Full Public Key Validation for DSA ..................................... 11
5.3.2 (Explicit) Full Public Key Validation for ECDSA ................................ 11
5.3.3 (Explicit) Partial Public Key Validation for RSA.................................. 11
6 Assurance of Private Key Possession...................................................... 12
6.1 The Effect of Time on Assurance of Private Key Possession ........................... 14
6.2 Assurance of Possession Model with an Estimated assurance_time................. 15
6.3 Explicitly Providing/Obtaining Assurance of Private Key Possession.............. 17
6.3.1 Obtaining Assurance of Possession Using a Digital Signature............... 18
6.3.2 Obtaining Assurance of Possession via the Regeneration of Keys........ 21
6.4 Assurance of Possession for Signatures of Generic Messages ............................ 23
6.5 Obtaining Assurance of Private Key Possession: A Summary.......................... 24
6.5.1 Owner’s Assurance of Private Key Possession ..................................... 24
6.5.2 Assurance Obtained by a Trusted Third Party from the Owner ............ 26
6.5.3 Assurance Obtained by a Verifier.......................................................... 28
7 Assurance of Identity............................................................................... 30
iv
SP 800-89 November 2006
v
SP 800-89 November 2006
1
An algorithm developed by Rivest, Shamir and Adelman.
1
SP 800-89 November 2006
2 Authority
This document has been developed by the National Institute of Standards and Technology
(NIST) in furtherance of its statutory responsibilities under the Federal Information
Security Management Act (FISMA) of 2002, Public Law 107-347.
NIST is responsible for developing standards and guidelines, including minimum
requirements, for providing adequate information security for all agency operations and
assets, but such standards and guidelines shall not apply to national security systems.
This recommendation is consistent with the requirements of the Office of Management
and Budget (OMB) Circular A-130, Section 8b(3), Securing Agency Information
Systems, as analyzed in A-130, Appendix IV: Analysis of Key Sections. Supplemental
information is provided in A-130, Appendix III.
This Recommendation has been prepared for use by Federal agencies. It may be used by
non-governmental organizations on a voluntary basis and is not subject to copyright
(attribution would be appreciated by NIST.)
Nothing in this Recommendation should be taken to contradict standards and guidelines
made mandatory and binding on Federal agencies by the Secretary of Commerce under
statutory authority. Nor should this Recommendation be interpreted as altering or
superseding the existing authorities of the Secretary of Commerce, Director of the OMB,
or any other federal official.
Conformance testing for implementations of this Recommendation will be conducted
within the framework of the Cryptographic Module Validation Program (CMVP), a joint
effort of NIST and the Communications Security Establishment of the Government of
Canada.
2
SP 800-89 November 2006
Certificate A set of data that uniquely identifies a key pair owner that is
authorized to use the key pair, contains the owner’s public key and
possibly other information, and is digitally signed by a
Certification Authority (i.e., a trusted party), thereby binding the
public key to the owner.
Claimed signatory From the verifier’s perspective, the claimed signatory is the entity
that purportedly generated a digital signature.
Domain parameters Parameters used with a cryptographic algorithm that are usually
common to a domain of users.
Intended owner An entity that intends to act as a signatory but has not yet obtained
a private key that will be used to generate digital signatures.
Intended signatory An entity that intends to generate digital signatures in the future.
3
SP 800-89 November 2006
Message The data that is signed. Also known as “signed data” during the
signature verification and validation process.
Non-assurance A signed message that does not contain all information required
message for an assurance message.
Owner A key pair owner is the entity that is authorized to use the private
key of a key pair.
Private key A cryptographic key that is used with an asymmetric (public key)
cryptographic algorithm. For digital signatures, the private key is
uniquely associated with the owner and is not made public. The
private key is used to compute a digital signature that may be
verified by the corresponding public key.
Public key A cryptographic key that is used with an asymmetric (public key)
cryptographic algorithm and is associated with a private key. The
public key is associated with an owner and may be made public. In
the case of digital signatures, the public key is used to verify a
digital signature that was signed by the corresponding private key.
Relying party A party that depends on the validity of the digital signature
process.
4
SP 800-89 November 2006
Signatory The entity that generates a digital signature on data using a private
key.
Signature The process of using a digital signature algorithm and a private key
generation to generate a digital signature on data.
Signature The process of using a digital signature algorithm and a public key
verification to verify a digital signature on data.
Signed data The data or message upon which a digital signature has been
computed. Also, see Message.
Trusted Third Party An entity other than the owner and verifier that is trusted by the
(TTP) owner, the verifier or both to provide certain services.
Verifier The entity that verifies the authenticity of a digital signature using
the public key.
3.2 Acronyms
ANS American National Standard.
5
SP 800-89 November 2006
CA Certification Authority.
DSA Digital Signature Algorithm (specified in FIPS 186-3).
ECDSA Elliptic Curve Digital Signature Algorithm; allowed in FIPS
186-3 and specified in ANS X9.62.
FIPS Federal Information Processing Standard.
FISMA Federal Information Security Management Act.
NIST National Institute of Standards and Technology.
OMB Office of Management and Budget.
PKCS Public Key Cryptography Standard.
PKI Public Key Infrastructure.
RSA Algorithm developed by Rivest, Shamir and Adelman (allowed
in FIPS 186-3 and specified in ANS X9.31 and PKCS #1).
SHA-1 A hash function specified in FIPS 180-2, the Secure Hash
Standard.
TST Timestamp Token.
TTA Trusted Timestamp Authority.
TTP Trusted Third Party.
6
SP 800-89 November 2006
7
SP 800-89 November 2006
2. Verify that p and q were generated using one of the prime generation
algorithms specified in Appendix A.1 of FIPS 186-32, and execute the
appropriate validation algorithm. If p and q were not generated as specified in
FIPS 186-3, or the validation algorithm returns INVALID, then return
INVALID. Otherwise, go to step 3.
3. If g was generated using the unverifiable generation method specified in
Appendix A.2.1 of FIPS 186-3, then go to step 4. Otherwise, go to step 5.
4. Perform a partial validation of g using the process specified in Annex A.2.2 of
FIPS 186-3. If PARTIALLY VALID is returned, then return
g_partially_validated. Otherwise, return INVALID.
5. If g was generated using the verifiable generation method specified in
Appendix A.2.3 of FIPS 186-3, perform the validation process specified in
Appendix A.2.4 of FIPS 186-3. If this process returns INVALID, then return
INVALID. Otherwise, return g_fully_validated.
2
It is assumed that the method used will be known or all methods will be tried.
8
SP 800-89 November 2006
entity because of that trust. However, the TTP shall obtain this assurance for itself using
one of the following methods:
1. The TTP generates the set of domain parameters.
2. The TTP selects the set of domain parameters from a list published by an
entity that the TTP trusts.
3. The TTP performs explicit domain parameter validation and obtains an
indication of validity (see Section 4.1 for DSA and ANS X9.62 for ECDSA).
9
SP 800-89 November 2006
2. Cooperative generation by the owner and a TTP. The intended owner generates
the key pair with the assistance of a TTP using an Approved method.
3. Intended owner validation. The intended owner performs an explicit public key
validation (see Section 5.3) and receives an indication of validity.
4. TTP validation. The intended owner receives assurance that a TTP (trusted by the
intended owner) has performed a successful public key validation on the intended
owner’s public key for which assurance is to be obtained (see Section 5.3) and
received an indication of validity. The TTP shall provide the public key
validation result to the intended owner.
5. TTP generation. The intended owner receives assurance when a TTP (trusted by
the intended owner) generates the key pair and provides it to the intended owner.
This method is not preferred, since the TTP will know the private key and must be
trusted not to masquerade as the owner. However, if used, this method should
include public key validation by the owner or TTP (method 3 or method 4).
The owner, or an agent trusted to act on the owner’s behalf, shall know which method(s)
of assurance were used in order to determine that the provided assurance is sufficient and
appropriate to meet the owner’s requirements.
10
SP 800-89 November 2006
key validation for RSA; however, a method for partial public key validation is specified
in Section 5.3.3 that is to be used until an Approved method for full validation is
available.
11
SP 800-89 November 2006
b) Size of the public exponent e: Check that the value of the public key e lies in the
range specified in FIPS 186-3. If the desired security strength is known, then the
range shall be appropriate for that security strength.
c) Oddness: Check that n and e are odd.
d) Compositeness: Check that n fails an Approved primality test. Approved
primality tests are provided in FIPS 186-3. If n is valid, the test will indicate that n
is a composite number, as the Approved probable prime tests prove
compositeness when they fail to indicate that the number is a probable prime.
e) Not a power of a prime: Check that n is not a power of a prime, i.e., there are no
integers b ≥ 2, c ≥ 2 such that n = bc. This can be done by obtaining an output of
COMPOSITE AND NOT A POWER OF A PRIME using the enhanced
Miller-Rabin primality test in FIPS 186-3.
f) No very small factors: Check that GCD (n, r) = 1 where r is (in decimal).
145188775577763990151158743208307020242261438098488931355057091965
931517706595657435907891265414916764399268423699130577757433083166
651158914570105971074227669275788291575622090199821297575654322355
049043101306108213104080801056529374892690144291505781966373045481
8359472391642885328171302299245556663073719855.
Note that the value of r is the product of the 132 smallest odd primes, from 3 to
751. This value is used to determine that the factors of n (i.e., p and q) are not less
than 751. More potential small factors greater than 751 may also be tested in a
similar fashion, if desired.
12
SP 800-89 November 2006
imply that the owner actually knows the (correct) key; therefore, assurance shall be
obtained that a key pair owner is actually in possession of the correct private key.
A digital signature key pair may be:
1. Generated and maintained in such a way that the private key is known only by its
owner,
2. Generated by an owner with the assistance of a TTP in such a way that the private
key is known only by its owner,
3. Generated by a TTP and provided to the owner,
4. Generated using method 1, and provided to a TTP, who may act as a key server.
5. Generated using method 2, and provided to a (possibly different) TTP, who may
act as a key server.
Methods 4 and 5 are distinct from the case of a TTP (e.g., a CA) that is provided only
with the public key.
In the latter three methods, the trusted party knows the private key and must be relied
upon not to use that key to generate digital signatures. This trust must be shared by the
owner of the key pair, potential signature verifiers, and any other parties relying on the
validity of the owner’s signatures. The relying parties must, in effect, be willing to ignore
the fact that the trusted party knows the private key, so that any entity that can
demonstrate knowledge of the private key is assumed to be its owner. Therefore, methods
3, 4 and 5 are less desirable than methods 1 and 2, where, by design, only the owner
knows the private key.
Assurance of the owner’s possession of the (correct) private key is required by:
• The key pair owner. Assurance shall be obtained prior to or concurrently with the
generation of a digital signature.
• A verifier. Assurance shall be obtained prior to accepting a verified digital
signature as valid. The verifier shall obtain assurance of the identity of the party
claiming to be the signatory prior to or concurrently with obtaining assurance that
the claimed signatory possesses the private key.
• A TTP who will be required to provide assurance to others of the owner’s
possession of the private key. The TTP shall obtain assurance of the owner’s
identity prior to or concurrently with obtaining assurance that the owner possesses
the private key. In the case of a certification authority (CA), the CA shall have
both assurance of the (intended) owner’s identity and assurance of the (intended)
owner’s possession of the private key prior to issuing a digital signature certificate
containing the public key corresponding to that private key.
• A TTP that provides a key pair to the owner. In this case, the TTP shall obtain
assurance of the owner’s identity prior to providing the key pair to the owner and
shall subsequently obtain assurance that the owner actually possesses the correct
private key.
13
SP 800-89 November 2006
14
SP 800-89 November 2006
On the other hand, it may be reasonable to infer that the owner was in possession of the
correct private key for some period of time prior to the assurance_time; a relying party’s
organization must decide whether or not such an inference is acceptable.
For the purposes of this discussion, three levels of assurance are defined relative to the
assurance_time: HIGH, MEDIUM and LOW. An organization may choose to implement
additional or fewer assurance levels.
Figure 1 depicts a simple model for changes in the level of assurance of possession over
an extended period of time. In this figure, tA denotes the actual time when assurance of
private key possession is explicitly provided to the relying party. (In practice, one may
have to accommodate the use of an approximation.) The quantities a, b and c are values
selected by the relying party and/or the relying party’s organization:
• a and b are lengths of time before and after the point at which assurance of private
key possession was explicitly provided to the relying party. In this model, the
relying party has a HIGH level of assurance that the owner of the key pair is in
possession of the private key between times tA − a and tA + b.
• c is a length of time after tA + b. Assurance that the owner possesses the private
key degrades between times tA + b and tA + b + c to a LOW level of assurance.
• The relying party has a LOW level of assurance that the owner possesses the
private key after time tA + b + c.
After degrading in level, the process of explicitly obtaining/providing assurance of
private key possession shall be repeated if a higher level of assurance is required.
15
SP 800-89 November 2006
an interval that is compatible with the general model for assurance of possession
described in Section 6.1.
Figure 2 depicts this situation. This figure is based on Figure 1 and will be used to discuss
methods for assigning a useful value to assurance_time. Note that this figure depicts the
initial level of assurance as either HIGH or MEDIUM; this is for illustrative purposes
only and is not always achieved in practice (see Sections 6.3.1.3 and 6.3.2.2). In Figure 2:
• a, b and c are as defined for Figure 1.
• tG represents the precise time that the assurance_time is explicitly provided.
• t1 is a time that is trusted by the relying parties to precede (or equal) tG.
• t2 is a time that is trusted by the relying parties to follow (or equal) tG.
• d is the maximum time lapse allowed between t1 and t2.
• tA is the assigned assurance_time. It must satisfy t1 ≤ tA ≤ t2. In this
Recommendation, for the purpose of simplicity, tA will be set equal to either t1 or
t2 (see Sections 6.3.1.2 and 6.3.2.1).
/ Medium
Values for a, b, c and d are selected by relying parties or their organizations with regard
to the following:
1. a, b and c should be selected with regard to the judgments to be made about the
validity of the digital signatures processed. Consideration should also be given to
the ease (or difficulty) of (repeatedly) using a given method to explicitly obtain
assurance of possession.
2. A value of d shall be selected such that d is less than one half the minimum of a
and b (i.e., d < ½ min(a, b)). An interval of length d must allow sufficient time for
the acquisition of time t1, the actions required to provide/obtain assurance, and the
16
SP 800-89 November 2006
17
SP 800-89 November 2006
entity obtaining the assurance, the entity’s organization, and any other relying parties; 2)
a clock whose accuracy is trusted by the entity recording the time; 3) a clock of unknown
accuracy. Parties relying on the value assigned to assurance_time shall be made aware of
the time source used, in order to assess its trustworthiness.
When assurance of private key possession is explicitly provided using one of the methods
described above, the assurance_time shall be recorded.
3
A time-varying value that has at most a negligible chance of repeating.
4
A measure of the disorder, randomness or variability in a closed system. See SP 800-90.
18
SP 800-89 November 2006
Unless the “commitment” condition discussed below is met, the assurance message shall
also include:
4. The public key corresponding to the private key for which assurance of
possession is sought.
The public key may be omitted if the (claimed) signatory’s “commitment” to the
key pair has been unambiguously demonstrated before the exact form of the
assurance message could have been known by the signatory.
Such commitment must precede the time provided in the trusted timestamp token
(i.e., the timestamp_time) mentioned above, or – in the absence of a TST – must
precede the time provided in a timestamp component included in a verifier-
supplied nonce. If neither the public key of the claimed signatory nor a time
trusted by the relying parties will be included in the assurance message, then the
relying parties must obtain trustworthy evidence that the (claimed) signatory
committed to the key pair in question before the verifier-supplied nonce was made
available for use in the computation of the assurance signature.
Commitment to a key pair can be demonstrated, for example, by the presence of a
trusted timestamp on a certificate (signed by a CA whose signature is trusted by
the verifier and other relying parties) that contains the public key of the key pair
and identifies the claimed signatory as the owner. Relying parties must be aware
of the security strength provided by the CA’s signature. The security strength
provided by the CA’s digital signature shall meet or exceed the security
requirements of the requesting entity and relying party (see SP 800-57);
Commitment could also be demonstrated by the existence of a signature that was
previously generated by the same claimed signatory that can be successfully
verified using the same public key; such a signature shall be known to have been
generated at a time when the claimed signatory was the owner, and at a time
before the exact form of the current assurance message (in particular, the values
of included timestamps and/or nonces) could have been known by the signatory.
A (claimed) signatory’s commitment to a key pair could also be demonstrated by
making the value of the public key available to the verifier before the verifier
supplies a nonce to the signatory (as described in item 3 above).
Additional information may be included in the signed data of the assurance message,
such as:
• An explicit indication that the message may be used to provide assurance of
private key possession,
• A nonce supplied by the signatory that contains a random component with
entropy equal to or greater than the security strength associated with the private
key, or
• Any other data to be provided to the intended verifier by the signatory.
Note that any message containing the required information may be used as an assurance
message; the message may be intended only to provide assurance of possession or may be
19
SP 800-89 November 2006
intended for other purposes as well. The message shall be signed using the private key
for which the assurance is to be provided, thus producing the assurance signature. The
signatory should generate and provide the assurance signature immediately after the
trusted timestamp, nonce, and/or other data included in the assurance message are made
available. See Appendix A for an example of an assurance message that is instantiated
using a certificate request message.
6.3.1.2 Assigning the assurance_time for an Assurance Signature
Following the successful verification of an assurance signature, the assignment of a value
to assurance_time is affected by the form of the assurance message and the
trustworthiness of the sources for the times t1 and t2 that bracket the actual time (tG) at
which the assurance signature was generated (see Section 6.2 and Figure 2.)
As defined in Section 6.2, t1 is a time that either precedes or is equal to the time that the
assurance signature was generated. There may be several possibilities for t1, including
one or more of the following:
• If the assurance message includes a timestamp from a TTA (trusted by the relying
parties), the timestamp_time in that timestamp is a candidate for t1.
• If the assurance message includes a verifier-supplied time (for example, as a
timestamp component of a verifier-supplied nonce), that time is a candidate for t1.
• If the assurance message includes a verifier-supplied nonce, and the verifier has
recorded the time that the nonce was first made available to the claimed signatory,
the recorded time is a candidate for t1.
The candidate time whose source is considered most trustworthy by the relying parties
should be used as t1. To choose between equally trustworthy candidates, preference
should be given to the latest time that is included in the assurance message.
As defined in Section 6.2, t2 is a time that either follows or is equal to the time that the
assurance signature was generated. There may be multiple possibilities for t2, including
one or more of the following:
• If the assurance signature is included as part of the timestamped_data in a TST
obtained from a TTA (trusted by the relying parties), the timestamp_time in that
timestamp is a candidate for t2.
• If the verifier has recorded the time that the assurance signature was received, the
recorded time of receipt is a candidate for t2.
• If the verifier has recorded the time that the assurance signature was verified, the
recorded verification time is a candidate for t2.
The candidate whose source is considered most trustworthy by the relying parties should
be used as t2. To choose between equally trustworthy candidates, preference should be
given to the earliest time.
Assuming that the assurance signature has been successfully verified, and that an
acceptable degree of accuracy (d) has been selected by the relying parties, the estimated
assurance_time (tA) shall be determined as follows:
20
SP 800-89 November 2006
21
SP 800-89 November 2006
1. t1 is a time that either precedes or is equal to the time at which the owner’s
currently held keys – along with any other required data – were made available to
the (trusted) party performing the regeneration5;
2. tG is the time that the regenerated key(s) were actually compared to those
currently held by the owner; and
3. t2 is a time that either follows or is equal to the time at which the regenerated
key(s) were actually compared to those currently held by the owner.
The entity that regenerates the key(s) is encouraged to do so as soon after t1 as possible,
and t2 should be acquired as soon after regeneration and comparison as possible.
Assuming that the regenerated key(s) have been successfully compared to the keys
currently held by the owner, and that an acceptable degree of accuracy (d) has been
selected by the relying parties, the estimated assurance_time (tA) shall be determined as
follows:
a. If t2 – t1 ≤ d units, and the source of t1 is at least as trustworthy as the source of t2,
then time t1 shall be used as the assurance_time.
b. If t2 – t1 ≤ d units, and the source of t1 is less trustworthy than t2, then time t2 shall
be used as the assurance_time.
c. If t2 – t1 > d units, then assurance of possession has not been provided, and there
is no value assigned to assurance_time.
If the regenerated key(s) do not match those currently held by the owner, then assurance
of private key possession has not been provided, and there is no value assigned to
assurance_time.
6.3.2.2 Assigning the Initial Assurance Level for the Regeneration of Keys
If the regenerated key(s) have been successfully compared to the keys currently held by
the owner, and the assurance_time (tA) is assigned as in Section 6.3.2.1, then the initial
assurance level should be assigned as follows:
a. If the time used to determine the assurance_time was obtained from a timestamp
token provided by a TTA that is trusted by the relying parties, then the initial
assurance level is HIGH.
b. If the time used to determine the assurance_time was not obtained from a TTA,
but was obtained from a source whose accuracy is trusted by the relying parties,
then the initial assurance level is MEDIUM.
c. If the time used to determine the assurance_time was obtained from a source of
unknown accuracy, then the initial assurance level is LOW.
5
For example, t1 is the time that the owner provides the keys to its own regeneration process, or the time
that a TTP that will be performing the regeneration is provided with the keys by the owner.
22
SP 800-89 November 2006
6
For example, the time ts could be provided within the generic message as a transmission time, as is
commonly done in email messages.
7
For example, suppose that the generic message MR corresponding to the signature-in-question is a
response to a previous message MP, and that message MR contains information provided in message MP
that could not have been determined prior to receiving MP. It follows that ts occurred between the time MP
was sent and the time MR was received (along with the signature-in-question).
23
SP 800-89 November 2006
24
SP 800-89 November 2006
25
SP 800-89 November 2006
26
SP 800-89 November 2006
The TTP shall obtain assurance of a (claimed or intended) owner’s possession of the
private key using one or more of the following methods:
2. TTP obtains assurance from the owner by regenerating the owner’s key(s)
a. Determine the appropriate value of d. For example, d may be selected in
accordance with the assurance of possession model described in Section
6.2, along with appropriate values of a, b and c.
b. The owner shall provide the owner’s currently-held keys to the trusted
party, along with any other necessary data.
c. The TTP shall determine a trusted value for t1 (see Sections 6.2 and
6.3.1.2).
d. The TTP shall:
• Regenerate the owner’s entire key pair, or
• Regenerate one key of the owner’s key pair from the currently-held
value of the other key of that pair.
27
SP 800-89 November 2006
e. The TTP shall compare the value(s) of the regenerated key(s) with the
key(s) currently held by the owner.
f. If the regenerated and currently-held keys match:
• The TTP shall determine a trusted value for t2 (see Sections 6.2 and
6.3.1.2).
• Provided that t1 ≤ t2 ≤ t1+d, the TTP shall assign the assurance_time
and the initial assurance level (see Sections 6.3.2.1 and 6.3.2.2).
The TTP must know t1 and t2; the TTP must also be aware of the
method(s) used to determine their values.
• The TTP shall record the assurance_time, the initial assurance level,
and the value of d. These values should also be provided to the owner.
The TTP shall provide both the recorded assurance_time and the initial assurance level
associated with the assurance of private key possession provided by the owner in
response to a request by any relying party. In addition, the TTP may provide an
assessment of its level of assurance that the owner is/was in possession of the private key
at the time of the request for information (or any other time; see Sections 6.2 and 6.4).
Note that the values of a, b, c and d that are selected by the TTP may be different than the
values deemed acceptable by other parties seeking assurance from the TTP. If this is the
case, the third party should be prepared to (at least) provide an upper bound on the value
of t2 – t1 (e.g., d) to potential relying parties – as well as a description of the time sources
used – so that those parties can decide whether or not a TTP-provided assurance_time
has sufficient accuracy (and trustworthiness) to meet their needs.
28
SP 800-89 November 2006
29
SP 800-89 November 2006
• (If provided by the TTP) use the description of the method(s) used to
obtain the times t1 and t2 to determine whether or not to adjust the
TTP-provided assurance level(s) (see Sections 6.2, 6.3.1.3 and
6.3.2.1).
7 Assurance of Identity
A digital signature verifier may require various levels of assurance of the claimed
signatory’s identity. The verifier may require assurance of the actual identity of the
signatory (e.g., the signatory is the John Smith who works in division 301 of the XYZ
agency), or that the signatory is authorized by agency XYZ to purchase 15 computers, or
that the signatory is device X on network Y; a verifier may allow cases where the
signatory is anonymous.
Requirements for the assurance associated with a signatory’s identity shall be addressed
in an organization’s security policy. A verifier’s requirements for signatory identity shall
be consistent with the requirements for establishing a signatory’s identity.
30
SP 800-89 November 2006
When a digital signature is used to provide assurance of private key possession, the
verifying entity (who must be trusted by all relying parties) is sent a signed private-key-
possession assurance message (simply called the assurance message herein); the digital
signature on the assurance message is called the assurance signature.
The assurance message shall include the following:
31
SP 800-89 November 2006
Note: This could be included in the certReq item, as one of the controls, e.g., as
a regToken control or an authenticator control; it might also take the form of a
salt value8 provided for use in the publicKeyMAC computation included in the
authInfo field of poposkInput in the popo item.
4. The public key corresponding to the private key for which assurance of
possession is sought.
Note: This should be in the certReq item, in the publicKey field of the
certTemplate, and/or in the publicKey field of poposkInput in the popo item.
8
A random string of bits.
32
SP 800-89 November 2006
Appendix B: References
[1] Federal Information Processing Standard (FIPS) 186-3, The Digital Signature
Standard, TBD.
[2] NIST Special Publication (SP) 800-57, Recommendation for Key Management −
Part 1: General, Revised June 12, 2006.
[3] ANS X9.95-2005, Trusted Time Stamp Management and Security.
[4] ISO/IEC 18014, Information Technology – Security techniques – Time-stamping
services, 2005
33