Internet-Draft | PDF Signature Validation Token | March 2022 |
Santesson & Housley | Expires 22 September 2022 | [Page] |
This document defines a PDF profile for the Signature Validation Token defined in [SVT].¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 22 September 2022.¶
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.¶
The "Signature Validation Token" specification [SVT] defines a basic token to support signature validation in a way that can significantly extend the lifetime of a signature.¶
This specification defines a profile for implementing SVT with a signed PDF document, and defines the following aspects of SVT usage:¶
PDF document signatures are added as incremental updates to the signed PDF document and signs all data of the PDF document up until the current signature. When more than one signature is added to a PDF document the previous signature is signed by the next signature and can not be updated with additional data after this event.¶
To minimize the impact on PDF documents with multiple signatures and to stay backwards compatible with PDF software that do not understand SVT, PDF documents add one SVT token for all signatures of the PDF as an extension to a document timestamp added to the signed PDF as an incremental update. This SVT covers all signatures of the signed PDF.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The SVT for a signed PDF document MAY provide signature validation information about any of the present signatures in the PDF. The SVT MUST contain a separate "sig" claim (Signature object) for each signature on the PDF that is covered by the SVT.¶
An SVT added to a signed PDF document MUST be added to a document timestamp accordance with ISO 32000-2:2017 [ISOPDF2].¶
The document timestamp contains an [RFC3161] timestamp token (TSTInfo) in EncapsulatedContentInfo of the CMS signature. The SVT MUST be added to the timestamp token (TSTInfo) as an Extension object as defined in Section 3.1.¶
The SVT extension is an Extension suitable to be included in TSTInfo as defined by [RFC3161].¶
The SVT extension is identified by the Object Identifier (OID) 1.2.752.201.5.2¶
Editors note: This is the current used OID. Consider assigning an IETF extension OID.¶
This extension data (OCTET STRING) holds the bytes of SVT JWT, represented as a UTF-8 encoded string.¶
This extension MUST NOT be marked critical.¶
Note: Extensions in timestamp tokens according to [RFC3161] are imported from the definition of the X.509 certificate extensions defined in [RFC5280].¶
When this profile is used the SigValidation object MUST contain a "profile" claim with the value "PDF".¶
The SVT Signature object MUST contain a "sig_ref" claim (SigReference object) with the following elements:¶
The SVT Signature object MUST contain one instance of the "sig_data" claim (SignedData object) with the following elements:¶
The SVT Signature object MUST contain a "signer_cert_ref" claim (CertReference object). The "type" parameter of the "signer_cert_ref" claim MUST be either "chain" or "chain_hash".¶
Note: The referenced signer certificate MUST match any certificates referenced using ESSCertID or ESSCertIDv2 from [RFC5035].¶
The SVT JOSE header must contain one of the following header parameters in accordance with [RFC7515], for storing a reference to the public key used to verify the signature on the SVT:¶
alg
header parameter. The referenced certificate SHOULD be the same certificate that was used to sign the document timestamp that contains the SVT.¶
This document has no IANA actions.¶
The security considerations of [SVT] applies also to this document.¶