RFC 5276 PROPOSED STANDARD SECURITY · PKI · ARCHIVING

SCVP Evidence Records: Using the Server-Based Certificate Validation Protocol (SCVP) to Convey Long-Term Evidence Records

How a certificate validation server can hand back long-term proof records for the certificates and revocation data it used.

On rfc-editor.org ↗
PUBLISHED
August 2008
AUTHORS
C. Wallace
STREAM
IETF
NEW OIDS
6 WantBacks, id-swb 15 to 20
NEW STRUCTURES
3 (EvidenceRecordWantBack, EvidenceRecordWantBacks, EvidenceRecords)
EVIDENCE RECORD COVERS
The value field, not tag and length
DOI
10.17487/RFC5276

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                         C. Wallace
Request for Comments: 5276                            Cygnacom Solutions
Category: Standards Track                                    August 2008


   Using the Server-Based Certificate Validation Protocol (SCVP) to
                   Convey Long-Term Evidence Records

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Abstract

   The Server-based Certificate Validation Protocol (SCVP) defines an
   extensible means of delegating the development and validation of
   certification paths to a server.  It can be used to support the
   development and validation of certification paths well after the
   expiration of the certificates in the path by specifying a time of
   interest in the past.  The Evidence Record Syntax (ERS) defines
   structures, called evidence records, to support the non-repudiation
   of the existence of data.  Evidence records can be used to preserve
   materials that comprise a certification path such that trust in the
   certificates can be established after the expiration of the
   certificates in the path and after the cryptographic algorithms used
   to sign the certificates in the path are no longer secure.  This
   document describes usage of the SCVP WantBack feature to convey
   evidence records, enabling SCVP responders to provide preservation
   evidence for certificates and certificate revocation lists (CRLs).

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Requirements Notation  . . . . . . . . . . . . . . . . . .  3
   2.  Concept of Operations  . . . . . . . . . . . . . . . . . . . .  4
   3.  Requests . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   4.  Responses  . . . . . . . . . . . . . . . . . . . . . . . . . .  6
   5.  WantBacks  . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     5.1.  Evidence Record for a Complete Certification Path  . . . .  7
     5.2.  Evidence Record for a Partial Certification Path . . . . .  7
     5.3.  Evidence Record for a Public Key Certificate . . . . . . .  8
     5.4.  Evidence Record for Revocation Information . . . . . . . .  8
     5.5.  Evidence Record for Any replyWantBack  . . . . . . . . . .  8
     5.6.  Partial Certification Path . . . . . . . . . . . . . . . .  9
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 10
     7.2.  Informative References . . . . . . . . . . . . . . . . . . 10
   Appendix A.  ASN.1 Module  . . . . . . . . . . . . . . . . . . . . 11

1.  Introduction

   Digital signatures are frequently verified using public key
   infrastructure (PKI) artifacts, including public key certificates and
   certificate revocation information.  Verifiers construct and validate
   certification paths from a public key certificate containing the
   public key used to verify the signature to a trusted public key.
   Construction of a certification path may require the acquisition of
   different types of information generated by multiple PKIs.  To verify
   digital signatures many years after signature generation, additional
   considerations must be addressed.  For example, some necessary PKI
   artifacts may no longer be available, some may have expired, and the
   cryptographic algorithms or keys used in generating digital
   signatures may no longer provide the desired degree of security.

   SCVP [RFC5055] provides a means of delegating certification path
   construction and/or validation to a server, including the ability to
   request the status of a certificate relative to a time in the past.
   SCVP does not define a means of providing or validating long-term
   non-repudiation information.  ERS [RFC4998] defines a syntax for
   preserving materials over long periods of time through a regimen that
   includes periodic re-signing of relevant materials using newer keys
   and stronger cryptographic algorithms.  LTAP [LTANS-LTAP] defines a
   protocol for communicating with a long-term archive (LTA) server for
   the purpose of preserving evidence records and data.  Clients store,
   retrieve, and delete data using LTAP; LTAs maintain evidence records
   covering data submitted by clients.

   This document defines an application of SCVP to permit retrieval of
   an evidence record corresponding to information returned by the SCVP
   server by creating an association between an evidence record and
   information contained in an SCVP response.  The SCVP response can
   then in turn be used to verify archived data objects retrieved using
   LTAP.  Separating the preservation of the certification path
   information from the preservation of data enables the LTA to store
   archived data objects more efficiently, i.e., complete verification
   information need not be stored with each archived data object.
   Verifiers can more efficiently process archived data objects by
   reusing the same certification path information to verify multiple
   archived data objects of similar vintage without retrieving and/or
   validating the same PKI artifacts multiple times.

1.1.  Requirements Notation

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

2.  Concept of Operations

   During certification path processing, active SCVP servers may
   encounter a large portion of the PKI artifacts generated by a
   particular PKI.  By storing and preserving these artifacts, an SCVP
   server can respond to queries for certificate status over very long
   periods of time.  Optionally, SCVP servers may actively seek PKI
   information for storage and preservation, even when no query is made,
   that requires the information during its period of validity in order
   to service future queries relative to any point in time.

   SCVP permits clients to request as much or as little information as
   desired from the SCVP server.  Clients include zero or more Object
   Identifiers (OIDs) indicating the type(s) of information the server
   should include in the response.  By defining additional OID values,
   clients can request an evidence record for specific types of
   information returned by the SCVP server.  This document defines OIDs
   to permit the retrieval of evidence records for the following four
   types of information:

   o  end entity certificates.

   o  certification paths containing an end entity certificate up to a
      trust anchor.

   o  certification paths containing an intermediate certificate up to a
      trust anchor.

   o  revocation information.

   Additionally, an OID is defined to permit inclusion of a single OID
   indicating an evidence record is desired for all information
   requested via the WantBack mechanism.

   By associating evidence records with information maintained by an
   SCVP server, clients are able to determine the status of certificates
   over very long periods of time using SCVP without consulting
   additional resources.  The nature of SCVP servers is well suited to
   the preservation of infrastructure materials.  Additionally, the SCVP
   server's signature over an SCVP response can secure the transmission
   of trust anchors included in evidence records, allowing clients to
   refrain from establishing additional trust relationships with LTAs.

   The transactions used to verify an archived data object using LTAP
   and the SCVP WantBacks described in this document are as follows:

   o  Client retrieves a signed archived data object from an LTA using
      LTAP.

   o  Client prepares an SCVP request to validate the signer's
      certificate at the time of interest and includes WantBacks for
      evidence records corresponding to the PKI artifacts required to
      validate the signer's certificate.

   o  SCVP server returns a response with status as of the time of
      interest and includes requested evidence records.

   o  Client processes the SCVP request, determines the status, and
      verifies the evidence records.

   o  Client verifies signatures in the archived data object using the
      validated signer's certificate.

3.  Requests

   Clients request long-term archive evidence records from an SCVP
   server by including one of the following OIDs in the wantBack field
   of a CVRequest sent to an SCVP server:

   o  id-swb-ers-best-cert-path

   o  id-swb-ers-partial-cert-path

   o  id-swb-ers-pkc-cert

   o  id-swb-ers-revocation-info

   o  id-swb-ers-all

   Additionally, id-swb-partial-cert-path is defined to permit clients
   to request a partial certification path consisting of the
   certification authority (CA) that issued the end entity certificate
   through a trust anchor.  This is similar to the id-swb-best-cert-path
   WantBack defined in SCVP except the resulting replyWantBack will
   contain a CertBundle containing the certification path minus the end
   entity certificate.

   For each id-swb-ers OID except id-swb-ers-all, an EvidenceRecord (as
   defined in [RFC4998]) covering the corresponding information in the
   response will be returned as a replyWantBack.  For example, if a
   client wishes to obtain a certification path and revocation
   information plus an evidence record for each, the SCVP request would
   include the following four replyWantBack OIDs: id-swb-best-cert-path,
   id-swb-pkc-revocation-info, id-swb-ers-best-cert-path, and id-swb-
   ers-revocation-info.

   Alternatively, for id-swb-ers-all, an EvidenceRecordWantBacks
   structure will be returned containing an EvidenceRecord for each
   information item contained in the replyWantBacks field.  For example,
   if a client wishes to obtain a certification path and revocation
   information plus an evidence record for each, the SCVP request could
   include the following three replyWantBack OIDs: id-swb-best-cert-
   path, id-swb-pkc-revocation-info, and id-swb-ers-all.

4.  Responses

   When a client request contains a WantBack request for an evidence
   record, the response generated MUST include the replyWantBack
   containing the requested information plus a replyWantBack containing
   the evidence record corresponding to that information.  For each id-
   swb-ers OID except id-swb-ers-pkc-cert and id-swb-ers-revocation-
   info, the evidence record MUST be calculated over the value of the
   value field in the corresponding replyWantBack; the tag and length
   bytes are not covered by the evidence record.  The targets for the
   id-swb-ers-pkc-cert and id-swb-ers-revocation-info replyWantBacks are
   described below.  For example, if a client request contains id-swb-
   pkc-best-cert-path and id-swb-ers-best-cert-path, the resulting
   response will contain a replyWantBack of each type where the evidence
   record covers the DER-encoded CertBundle returned in the id-swb-pkc-
   best-cert-path replyWantBack.  For id-swb-ers-pkc-cert, the evidence
   record MUST be calculated over the value of the cert field in the
   CertReply object.  For id-swb-ers-revocation-info, a sequence of
   evidence records is returned.  Each revocation information object
   contained in the id-swb-pkc-revocation-info replyWantBack is covered
   by an evidence record in the id-swb-ers-revocation-info
   replyWantBack.  A single evidence record may cover multiple
   revocation information objects.  The correct evidence record can be
   identified by locating the hash of the revocation information object
   in the first initial timestamp of the evidence record.

   If the server cannot return an EvidenceRecord for the requested
   information item, a replyWantBack of the appropriate type MUST be
   returned with an empty value field.  For example, if a client
   requests id-swb-ers-pkc-cert and the server cannot fulfill the
   request, the resulting response will contain a replyWantBack with the
   wb field set to id-swb-ers-pkc-cert and the value field empty, i.e.,
   zero length.

5.  WantBacks

   The following sections describe each WantBack defined in this
   document.  Each WantBack for an evidence record requires a
   corresponding WantBack for the object covered by the evidence record
   to be present in the request.  Upon receipt of a request missing the
   corresponding WantBack for the object covered by a requested evidence
   record, the server MUST indicate wantBackUnsatisfied in the
   ReplyStatus.  Clients MAY ignore evidence record WantBacks when the
   WantBack for the corresponding object is not present.

5.1.  Evidence Record for a Complete Certification Path

   The id-swb-ers-best-cert-path OID is used to request an evidence
   record for a complete certification path.  It is used in conjunction
   with the id-swb-best-cert-path OID.  Requests containing id-swb-ers-
   best-cert-path as a WantBack MUST also contain id-swb-best-cert-path.
   Responses containing id-swb-ers-best-cert-path MUST also contain id-
   swb-best-cert-path.

   An SCVP server may maintain evidence records for complete
   certification paths, i.e., certification paths containing all
   certificates from end entity to trust anchor.  The evidence record
   MUST be calculated over the CertBundle returned via the id-swb-best-
   cert-path replyWantBack.  In such cases, a signature within the
   archived data object may be verified using an end entity certificate
   returned via SCVP.  The end entity certificate can be verified using
   SCVP using a request containing id-swb-ers-best-cert-path, id-swb-
   best-cert-path, id-swb-pkc-revocation-info, and id-swb-ers-
   revocation-info.

5.2.  Evidence Record for a Partial Certification Path

   The id-swb-ers-partial-cert-path OID is used to request an evidence
   record for a partial certification path.  It is used in conjunction
   with the id-swb-partial-cert-path OID.  Requests containing id-swb-
   ers-partial-cert-path as a WantBack MUST also contain id-swb-partial-
   cert-path.  Responses containing id-swb-ers-partial-cert-path MUST
   also contain id-swb-partial-cert-path.

   As an alternative to relying on SCVP to obtain evidence records for
   end entity certificates, the certificate could be included in the
   archived data object(s) submitted to an LTA.  In such cases, a
   signature within the archived data object may be verified using the
   included end entity certificate, which is protected by the evidence
   record covering the archived data object, including the certificate.
   The end entity certificate can be verified using SCVP using a request
   containing id-swb-partial-cert-path, id-swb-ers-partial-cert-path,
   id-swb-pkc-revocation-info, and id-swb-ers-revocation-info.  Unlike
   the partial certification path, the revocation information includes
   material that can be used to determine the status of the end entity
   certificate.

   By maintaining an evidence record for a partial certification path,
   SCVP servers can achieve greater storage efficiency.

5.3.  Evidence Record for a Public Key Certificate

   The id-swb-ers-pkc-cert OID is used to request an evidence record for
   an individual public key certificate.  It is used in conjunction with
   the id-swb-pkc-cert OID.  Requests containing id-swb-ers-pkc-cert as
   a WantBack MUST also contain id-swb-pkc-cert.  Responses containing
   id-swb-ers-pkc-cert MUST also contain id-swb-pkc-cert.

   SCVP servers may maintain evidence records for individual
   certificates.  This enables clients to omit the signer's certificate
   from archived data object(s) submitted to an LTA.  In such cases, a
   signature within the archived data object may be verified using an
   end entity certificate returned via SCVP.  The end entity certificate
   can be verified using SCVP using a request containing id-swb-pkc-
   cert, id-swb-ers-pkc-cert, id-swb-partial-cert-path, id-swb-ers-
   partial-cert-path, id-swb-pkc-revocation-info, and id-swb-ers-
   revocation-info.

5.4.  Evidence Record for Revocation Information

   The id-swb-ers-revocation-info OID is used to request evidence
   records for a set of revocation information.  It is used in
   conjunction with the id-swb-revocation-info OID.  Requests containing
   id-swb-ers-revocation-info as a WantBack MUST also contain id-swb-
   revocation-info.  Responses containing id-swb-ers-revocation-info
   MUST also contain id-swb-revocation-info.  A sequence of evidence
   records is returned, with one evidence record provided for each
   element in id-swb-revocation-info.

     EvidenceRecords ::= SEQUENCE SIZE (1..MAX) OF EvidenceRecord

   An SCVP server may maintain evidence records for revocation
   information.  Revocation information may be provided in the form of
   CRLs or Online Certificate Status Protocol (OCSP) responses.
   Cumulative CRLs may be generated for archiving to simplify evidence
   record maintenance.

5.5.  Evidence Record for Any replyWantBack

   An SCVP server may maintain evidence records for additional types of
   information that can be returned using the wantBack mechanism, e.g.,
   attribute certificate information.  The id-swb-ers-all OID provides a
   shorthand means for clients to request evidence records for all
   information returned via the replyWantBacks field.  Since id-swb-ers-
   all can result in the return of multiple evidence records in the
   response, a mechanism is needed to associate an evidence record with
   the type of information covered by the evidence record.  The
   EvidenceRecordWantBacks structure provides a flexible means of
   conveying an evidence record for different types of information.

   EvidenceRecordWantBack ::= SEQUENCE
   {
       targetWantBack    OBJECT IDENTIFIER,
       evidenceRecord    EvidenceRecord OPTIONAL
   }

   EvidenceRecordWantBacks ::=
       SEQUENCE SIZE (1..MAX) OF EvidenceRecordWantBack

   EvidenceRecordWantBacks is a SEQUENCE OF EvidenceRecordWantBack
   structures.  The targetWantBack field indicates the type of
   replyWantBack covered by the associated EvidenceRecord.  The
   evidenceRecord field, if present, contains an EvidenceRecord
   structure calculated over the replyWantBack indicated by the
   targetWantBack field.  Where EvidenceRecordWantBacks is used, there
   MUST be a one-to-one correspondence between other replyWantBack
   objects and objects in the EvidenceRecordWantBacks collection.  If a
   server does not have an EvidenceRecord for a particular replyWantBack
   object, an EvidenceRecordWantBack with the evidenceRecord field
   absent should be included in the EvidenceRecordWantBacks collection.

5.6.  Partial Certification Path

   The id-swb-partial-cert-path is an alternative to id-swb-best-cert-
   path.  This is the only OID defined in this document for which an
   EvidenceRecord is not returned in the response.  For efficiency, SCVP
   servers that maintain evidence records for certification paths may
   only do so for partial paths instead of maintaining one or more paths
   for each end entity certificate.

   SCVP clients can include id-swb-partial-cert-path in a request when a
   partial certification path is required.  This would typically be
   included along with id-swb-ers-partial-cert-path to account for the
   fact that some SCVP servers only produce evidence records for partial
   paths for storage and computational efficiency reasons.  In such
   cases, a separate evidence record may be available for the end entity
   certificate by including id-swb-pkc-cert and id-swb-ers-pkc-cert in
   the request.

6.  Security Considerations

   For security considerations specific to SCVP, see [RFC5055].  For
   security considerations specific to ERS, see [RFC4998].

   The signature on the SCVP response containing one or more ERS
   structures must be verified using a public key trusted by the relying
   party.  The response may contain trust anchors used to verify
   interior layers of an ERS structure.  The trust anchors are protected
   by the SCVP server's signature covering the response.  The relying
   party may elect to use the trust anchors conveyed in the response or
   ignore the trust anchors in favor of trust anchors retrieved out of
   band.  Relying parties SHOULD ignore trust anchors contained in
   unsigned SCVP responses.

7.  References

7.1.  Normative References

   [RFC2119]     Bradner, S., "Key words for use in RFCs to Indicate
                 Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4998]     Gondrom, T., Brandner, R., and U. Pordesch, "Evidence
                 Record Syntax (ERS)", RFC 4998, August 2007.

   [RFC5055]     Freeman, T., Housley, R., Malpani, A., Cooper, D., and
                 W. Polk, "Server-Based Certificate Validation Protocol
                 (SCVP)", RFC 5055, December 2007.

7.2.  Informative References

   [LTANS-LTAP]  Jerman-Blazic, A., Sylvester, P., and C. Wallace,
                 "Long-term Archive Protocol (LTAP)", Work in Progress,
                 February 2008.

Appendix A.  ASN.1 Module

   The following ASN.1 module defines object identifiers used to
   identify six new forms of SCVP WantBacks and three new structures.
   EvidenceRecordWantBack and EvidenceRecordWantBacks are used in
   conjunction with the id-swb-ers-all WantBack to correlate evidence
   records with WantBacks.  EvidenceRecords is used in conjunction with
   the id-swb-ers-revocation-info WantBack to return evidence records
   for individual revocation information objects.

   LTANS-SCVP-EXTENSION
   { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) ltans(11) id-mod(0) id-mod-ers-scvp(5)
      id-mod-ers-scvp-v1(1) }

   DEFINITIONS IMPLICIT TAGS ::=
   BEGIN

   IMPORTS

   id-swb
   FROM SCVP
   { iso(1) identified-organization(3) dod(6) internet(1)
       security(5) mechanisms(5) pkix(7) id-mod(0) 21 }

   EvidenceRecord
   FROM ERS
   {iso(1) identified-organization(3) dod(6) internet(1)
       security(5) mechanisms(5) ltans(11) id-mod(0) id-mod-ers88(2)
       id-mod-ers88-v1(1) };

   id-swb-partial-cert-path        OBJECT IDENTIFIER ::= {id-swb 15 }

   id-swb-ers-pkc-cert             OBJECT IDENTIFIER ::= {id-swb 16 }
   id-swb-ers-best-cert-path       OBJECT IDENTIFIER ::= {id-swb 17 }
   id-swb-ers-partial-cert-path    OBJECT IDENTIFIER ::= {id-swb 18 }
   id-swb-ers-revocation-info      OBJECT IDENTIFIER ::= {id-swb 19 }
   id-swb-ers-all                  OBJECT IDENTIFIER ::= {id-swb 20 }

   EvidenceRecordWantBack ::= SEQUENCE
   {
       targetWantBack    OBJECT IDENTIFIER,
       evidenceRecord    EvidenceRecord OPTIONAL
   }
   EvidenceRecordWantBacks ::=
       SEQUENCE SIZE (1..MAX) OF EvidenceRecordWantBack

   EvidenceRecords ::= SEQUENCE SIZE (1..MAX) OF EvidenceRecord

   END

Author's Address

   Carl Wallace
   Cygnacom Solutions
   Suite 5200
   7925 Jones Branch Drive
   McLean, VA  22102

   EMail: cwallace@cygnacom.com

Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

AI ELI5

On this page
PROBLEMChecking a signature many years later is hard: needed certificates and revocation data may be gone or expired, and the algorithms used may no longer be secure.
MECHANISMNew SCVP WantBack identifiers let a client ask the server for an Evidence Record Syntax (ERS) evidence record that covers each piece of certification path or revocation data in the response.
WHY IT MATTERSA client can validate an archived, signed object with SCVP evidence records alongside it, without storing full verification data with every object.

§1The Long-Term Validation Problem

Verifying a digital signature means building and validating a certification path from the signer's certificate to a trusted public key. Doing this many years after signing is harder: some PKI artifacts may no longer be available, some may have expired, and the cryptographic algorithms or keys may no longer give the desired security.

The Server-Based Certificate Validation Protocol (SCVP, RFC 5055) lets a client delegate path construction and validation to a server, including for a time in the past. It does not provide long-term non-repudiation information. The Evidence Record Syntax (ERS, RFC 4998) does preserve material over long periods, by periodically re-signing it with newer keys and stronger algorithms. This RFC joins the two.

Old documents are hard to check because the people and stamps that vouched for them may be gone. This RFC connects a checking helper to a record-keeping system so the proof survives.

§2Concept of Operations

Active SCVP servers see many of the PKI artifacts a PKI generates. By storing and preserving them, a server can answer certificate status queries over very long periods. Servers may even seek out PKI information to preserve when no query is made.

Clients tell an SCVP server what to return by including zero or more Object Identifiers (OIDs) in the request. This RFC defines new OIDs so a client can ask for an evidence record covering specific types of information: end entity certificates, certification paths from an end entity certificate to a trust anchor, certification paths from an intermediate certificate to a trust anchor, and revocation information. One more OID asks for evidence records for everything requested.

Because the server signs its response, that signature can secure the transmission of trust anchors included in evidence records. Clients then do not need extra trust relationships with long-term archive (LTA) servers.

You tell the helper which kinds of proof you want, using special code words. The helper signs the whole package so you can trust what is inside.

§3Verifying an Archived Object

The RFC lists the steps to verify a signed object kept in a long-term archive that speaks LTAP (the Long-term Archive Protocol):

  1. The client retrieves the signed archived data object from the LTA using LTAP.
  2. The client sends an SCVP request to validate the signer's certificate at the time of interest, with WantBacks for evidence records covering the PKI artifacts needed.
  3. The SCVP server returns the status as of that time plus the requested evidence records.
  4. The client processes the response, determines the status and verifies the evidence records.
  5. The client verifies the signatures in the archived object using the now validated signer's certificate.

Keeping certification path information separate from the archived data lets the archive store objects more efficiently, since complete verification information need not accompany each one. Verifiers can reuse the same path information for many objects of similar vintage.

First you fetch the old document. Then you ask the helper if the signer's stamp was good back then. The helper answers with proof, you check the proof, and only then do you trust the signature.

VERIFYING AN ARCHIVED OBJECT WITH LTAP AND SCVP
ClientLTASCVP server
  1. Retrieve archived object (LTAP)The object carries a signature.
  2. Signed archived object
  3. Validate signer certificate + evidence record WantBacksAsks for status at the time of interest.
  4. Status + evidence recordsThe client then verifies the records and the object's signatures.

§4Requests and Responses

A client asks for evidence records by putting one of these OIDs in the wantBack field of a CVRequest: id-swb-ers-best-cert-path, id-swb-ers-partial-cert-path, id-swb-ers-pkc-cert, id-swb-ers-revocation-info or id-swb-ers-all. A separate id-swb-partial-cert-path asks for a partial path from the CA that issued the end entity certificate through a trust anchor, so the result is a CertBundle without the end entity certificate.

For each id-swb-ers OID except id-swb-ers-all, an EvidenceRecord covering the matching information comes back as a replyWantBack. With id-swb-ers-all, an EvidenceRecordWantBacks structure carries one evidence record per information item.

The response MUST include both the requested information and its evidence record. The record MUST be calculated over the value of the value field of the matching replyWantBack, without the tag and length bytes. For id-swb-ers-pkc-cert it is calculated over the cert field of the CertReply.

If the server cannot supply a requested evidence record, it MUST still return a replyWantBack of that type with an empty (zero length) value field.

You ask for a document and, next to it, a certificate of proof for it. If the helper has no proof to give, it sends an empty envelope so you know.

§5The WantBacks

Each evidence record WantBack needs the WantBack for the object it covers in the same request. If that is missing, the server MUST indicate wantBackUnsatisfied in the ReplyStatus. Responses containing an evidence record WantBack MUST also contain the paired one.

  • id-swb-ers-best-cert-path pairs with id-swb-best-cert-path and covers a complete certification path, from end entity to trust anchor. The record is calculated over the returned CertBundle.
  • id-swb-ers-partial-cert-path pairs with id-swb-partial-cert-path. Servers can save storage by keeping records only for partial paths. The end entity certificate could instead be included in the archived data object.
  • id-swb-ers-pkc-cert pairs with id-swb-pkc-cert and covers one certificate, so clients can omit the signer's certificate from the archived object.
  • id-swb-ers-revocation-info pairs with id-swb-revocation-info. A sequence of evidence records is returned, one per element. Revocation information may be CRLs or OCSP responses, and cumulative CRLs may be generated to simplify record maintenance.
  • id-swb-ers-all asks for records for every item returned in replyWantBacks. Each EvidenceRecordWantBack holds a targetWantBack OID and an optional evidenceRecord. There MUST be a one-to-one correspondence with the other reply objects, and a missing record is shown by leaving evidenceRecord absent.

Each kind of proof comes paired with the thing it proves, like a receipt stapled to a purchase. You cannot ask for a receipt without also asking for the item.

WANTBACK OIDS DEFINED IN THE ASN.1 MODULE
  • id-swb 15id-swb-partial-cert-path — Partial certification path; no evidence record is returned for it.
  • id-swb 16id-swb-ers-pkc-cert — Evidence record for a single certificate.
  • id-swb 17id-swb-ers-best-cert-path — Evidence record for a complete certification path.
  • id-swb 18id-swb-ers-partial-cert-path — Evidence record for a partial certification path.
  • id-swb 19id-swb-ers-revocation-info — Sequence of evidence records for revocation information.
  • id-swb 20id-swb-ers-all — Evidence records for all other replyWantBacks.

§6Security Considerations

Security issues specific to SCVP are in RFC 5055, and those specific to ERS are in RFC 4998. This RFC adds a point about trust anchors.

The signature on an SCVP response carrying ERS structures must be verified with a public key the relying party trusts. The response may contain trust anchors for verifying interior layers of an ERS structure, and the server's signature protects them. The relying party may use those anchors or ignore them in favor of anchors obtained out of band. Relying parties SHOULD ignore trust anchors in unsigned SCVP responses.

Only believe the helper's package if it carries the helper's trusted signature. An unsigned package could have been tampered with.

§7References