Skip to content

RFC 3161 Timestamp Authority Support for Certificate Signing #603

@jzeng4

Description

@jzeng4

Description

What needs to be improved?

Current Gap in Certificate-Based Signing

The model-transparency project currently supports certificate-based signing as an alternative to Sigstore, but lacks support for trusted timestamps, creating several limitations:

1. No Long-Term Signature Validity

  • Signatures become invalid when signing certificates expire
  • Cannot prove signing occurred while certificate was valid
  • No mechanism to extend signature lifetime beyond certificate expiration
  • Problematic for archival requirements (5-10+ year model retention)

2. Regulatory Compliance Blockers

  • eIDAS (EU): Requires qualified timestamps from approved Timestamp Authorities
  • FDA (US): Electronic records regulations (21 CFR Part 11) require trusted timestamps
  • Financial Services: Regulations mandate timestamped audit trails
  • HIPAA (Healthcare): Requires timestamps for electronic signatures
  • Organizations in these sectors cannot adopt model-signing due to lack of timestamp support

3. No Independent Time Attestation

  • No third-party proof of when signature was created
  • Vulnerable to clock tampering claims
  • Cannot provide non-repudiation of signing time
  • Missing independent witness required by many compliance frameworks

4. Limited Offline Verification

  • Cannot verify signature without trusting local system time
  • No cryptographic proof of signing time
  • Insufficient for air-gapped or disconnected environments

5. No Alternative to Transparency Logs

For organizations that:

  • Cannot use public transparency logs (Rekor) due to privacy requirements
  • Need qualified timestamps for compliance (not just transparency)
  • Operate in regulated industries with specific timestamp requirements
  • Require both certificate-based signing AND trusted timestamps

Result: These gaps prevent enterprise adoption in regulated industries, limiting the project's reach and impact.


What should be done?

Proposed Solution: Add RFC 3161 Timestamp Authority Support

Implement RFC 3161 (Time-Stamp Protocol) support for certificate-based signing, enabling:

Signing Enhancement:

  • Add optional tsa_url parameter to certificate signer
  • Obtain RFC 3161 timestamp token from TSA after signing
  • Store timestamp in Sigstore bundle's timestamp_verification_data field
  • Support configurable timeout and error handling
  • Maintain backward compatibility (timestamps are optional)

Verification Enhancement:

  • Validate RFC 3161 timestamp tokens when present
  • Verify message imprint matches signature hash
  • Check timestamp against certificate validity period
  • Optional enforcement of timestamp presence
  • Optional timestamp age validation

Benefits

Enables New Use Cases:

  • Regulated industries (finance, healthcare, government)
  • Long-term model archival (decades)
  • Compliance-driven organizations
  • Private model signing with qualified timestamps

Expands Project Reach:

  • EU market (eIDAS compliance)
  • Financial services sector
  • Healthcare organizations
  • Government contracts

Improves Security Model:

  • Independent time attestation
  • Long-term signature validity
  • Stronger non-repudiation
  • Offline verification capability

Has there been any related work before?

Prior Art and Related Work

1. Sigstore Bundle Specification Already Supports This

The Sigstore bundle protobuf specification already defines timestamp_verification_data field:

message VerificationMaterial {
  oneof content {
    PublicKeyIdentifier public_key = 1;
    X509CertificateChain x509_certificate_chain = 2;
  }
  repeated dev.sigstore.rekor.v1.TransparencyLogEntry tlog_entries = 3;
  TimestampVerificationData timestamp_verification_data = 4;  // ← Already defined!
}

message TimestampVerificationData {
  repeated RFC3161SignedTimestamp rfc3161_timestamps = 1;
}

This means:

  • ✅ The specification anticipates this feature
  • ✅ The bundle format already supports it
  • ✅ This is not a spec deviation
  • ✅ Implementation aligns with Sigstore's design

Reference: https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto#L125-L145

2. Industry Standards and Precedents

Adobe Document Cloud:

  • Uses both Adobe timestamps AND RFC 3161 TSA timestamps
  • Demonstrates value of dual timestamp approach
  • Industry-standard for document signing

Microsoft Authenticode:

  • Supports RFC 3161 timestamping since 2005
  • Required for driver signing
  • Proven model for code signing

PDF Signatures (ISO 32000):

  • Standardized RFC 3161 timestamp integration
  • Used by Adobe, DocuSign, etc.
  • Well-established pattern

Any relevant links or material?

Technical Standards

RFC 3161 - Time-Stamp Protocol (TSP)

Sigstore Bundle Specification

ISO/IEC 18014 - Time-Stamping Services

  • Description: International standard for time-stamping
  • Relationship: RFC 3161 implements this ISO standard

Regulatory Requirements

eIDAS Regulation (EU)

FDA 21 CFR Part 11 (US Healthcare)

Financial Services Regulations

  • SOX (Sarbanes-Oxley): Requires timestamped audit trails
  • MiFID II (EU): Timestamp requirements for financial transactions
  • Impact: Financial ML models need compliant signatures

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions