Internet DRAFT - draft-ounsworth-csr-attestation

draft-ounsworth-csr-attestation







Network Working Group                                       M. Ounsworth
Internet-Draft                                                   Entrust
Intended status: Standards Track                           H. Tschofenig
Expires: 9 January 2024                                          Siemens
                                                             8 July 2023


         Use of Attestation with Certification Signing Requests
                   draft-ounsworth-csr-attestation-00

Abstract

   Utilizing information from a device or hardware security module about
   its posture can help to improve security of the overall system.
   Information about the manufacturer of the hardware, the version of
   the firmware running on this hardware and potentially about the
   layers of software above the firmware, the presence of hardware
   security functionality to protect keys and many more properties can
   be made available to remote parties in a cryptographically secured
   way.  This functionality is accomplished with attestation technology.

   This document describes extensions to encode evidence produced by an
   attester for inclusion in PKCS10 certificate signing requests.  More
   specifically, two new ASN.1 Attribute definitions, and an ASN.1 CLASS
   definition to convey attestation information to a Registration
   Authority or to a Certification Authority are described.

About This Document

   This note is to be removed before publishing as an RFC.

   The latest revision of this draft can be found at https://lamps-
   wg.github.io/csr-attestation/draft-ounsworth-csr-attestation.html.
   Status information for this document may be found at
   https://datatracker.ietf.org/doc/draft-ounsworth-csr-attestation/.

   Source for this draft and an issue tracker can be found at
   https://github.com/lamps-wg/csr-attestation.

Status of This Memo

   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/.



Ounsworth & Tschofenig   Expires 9 January 2024                 [Page 1]

Internet-Draft         CSR Attestation Attributes              July 2023


   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 9 January 2024.

Copyright Notice

   Copyright (c) 2023 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.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Conventions and Definitions . . . . . . . . . . . . . . . . .   4
   3.  Architecture  . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  ASN.1 Elements  . . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  Object Identifiers  . . . . . . . . . . . . . . . . . . .   5
     4.2.  AttestAttribute . . . . . . . . . . . . . . . . . . . . .   6
     4.3.  AttestStatement . . . . . . . . . . . . . . . . . . . . .   6
     4.4.  AttestCertsAttribute  . . . . . . . . . . . . . . . . . .   6
     4.5.  CertificateChoice . . . . . . . . . . . . . . . . . . . .   7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
     5.1.  Object Identifier Allocations . . . . . . . . . . . . . .   8
       5.1.1.  Module Registration - SMI Security for PKIX Module
               Identifer . . . . . . . . . . . . . . . . . . . . . .   8
       5.1.2.  Object Identifier Registrations - SMI Security for S/
               MIME Attributes . . . . . . . . . . . . . . . . . . .   8
       5.1.3.  "SMI Security for PKIX Attestation Statement Formats"
               Registry  . . . . . . . . . . . . . . . . . . . . . .   9
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Appendix A.  Examples . . . . . . . . . . . . . . . . . . . . . .  11
     A.1.  TPM V2.0 Attestation in CSR . . . . . . . . . . . . . . .  11
     A.2.  PSA Attestation in CSR  . . . . . . . . . . . . . . . . .  13
   Appendix B.  ASN.1 Module . . . . . . . . . . . . . . . . . . . .  14



Ounsworth & Tschofenig   Expires 9 January 2024                 [Page 2]

Internet-Draft         CSR Attestation Attributes              July 2023


   Appendix C.  Acknowledgments  . . . . . . . . . . . . . . . . . .  14
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  15

1.  Introduction

   At the time that it is requesting a certificate from a Certification
   Authority, a PKI end entity may wish to provide evidence of the
   security properties of the environment in which the private key is
   stored to be verified by a relying party such as the Registration
   Authority or the Certificate Authority.  This specification provides
   a newly defined attestation attribute for carrying remote
   attestations in PKCS#10 Certification Requests (CSR) [RFC2986].

   As outlined in the RATS Architecture [RFC9334], an Attester
   (typically a device) produces a signed collection of Evidence about
   its running environment, often refered to as an "attestation".  A
   Relying Party may consult that attestation in making policy decisions
   about the trustworthiness of the entity being attested.  Section 3
   overviews how the various roles in the RATS Archictecture map to a
   certificate requester and a CA/RA.

   At the time of writing, several standardized and proprietary
   attestation technologies are in use.  This specification thereby
   tries to be technology agnostic with regards to the transport of the
   produced signed claims.

   This document is concerned only about the transport of an
   attesttation inside a CSR and makes minimal assumptions about its
   content or format.  We assume that an attestation can be broken into
   the following components:

   1.  A set of certificates typically containing one or more
       certificate chains rooted in a device manufacture trust anchor
       and the leaf certificate being on the device in question.

   2.  An attestation statement containing Evidence.

   This document creates two ATTRIBUTE/Attribute definitions.  The first
   Attribute may be used to carry a set of certificates or public keys
   that may be necessary to validate evidence.  The second Attribute
   carries a structure that may be used to carry key attestation
   statements, signatures and related data.

   A CSR may contain one or more attestations, for example a key
   attestation asserting the storage properties of the private key as
   well as a platform attestation asserting the firmware version and
   other general properties of the device, or multiple key attestations
   signed by certificate chains on different cryptographic algorithms.



Ounsworth & Tschofenig   Expires 9 January 2024                 [Page 3]

Internet-Draft         CSR Attestation Attributes              July 2023


   With these attributes, an RA or CA has additional information about
   whether to issue a certificate and what information to populate into
   the certificate.  The scope of this document is, however, limited to
   the transport of evidence via a CSR.  The exact format of the
   attestation data being carried is defined in various standard and
   proprietary specifications.

2.  Conventions and Definitions

   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.

   This document re-uses the terms defined in RFC 9334 related to remote
   attestation.  Readers of this document are assumed to be familiar
   with the following terms: evidence, claim, attestation result,
   attester, verifier, and relying party.

3.  Architecture

   Figure 1 shows the high-level communication pattern of the RATS
   passport model where the attester transmits the evidence in the CSR
   to the RA and the CA.  The verifier processes the received evidence
   and computes an attestation result, which is then processed by the
   RA/CA prior to the certificate issuance.

   Note that the verifier is a logical role that may be included in the
   RA/CA product.  In this case the Relying Party and Verifier collapse
   into a single entity.  The verifier functionality can, however, also
   be kept separate from the RA/CA functionality, such as a utility or
   library provided by the device manufacturer.  For example, security
   concerns may require parsers of evidence formats to be logically or
   physically separated from the core CA functionality.
















Ounsworth & Tschofenig   Expires 9 January 2024                 [Page 4]

Internet-Draft         CSR Attestation Attributes              July 2023


                                 .-------------.
                                 |             | Compare Evidence
                                 |   Verifier  | against
                                 |             | policy
                                 '--------+----'
                                      ^   |
                             Evidence |   | Attestation
                                      |   | Result
                                      |   v
    .------------.               .----|----------.
    |            +-------------->|----'          | Compare Attestation
    |  Attester  |   Evidence    | Relying       | Result against
    |            |   in CSR      | Party (RA/CA) | policy
    '------------'               '---------------'

                           Figure 1: Architecture

   As discussed in RFC 9334, different security and privacy aspects need
   to be considered.  For example, evidence may need to be protected
   against replay and Section 10 of RFC 9334 lists approach for offering
   freshness.  There are also concerns about the exposure of persistent
   identifiers by utilizing attestation technology, which are discussed
   in Section 11 of RFC 9334.  Finally, the keying material used by the
   attester need to be protected against unauthorized access, and
   against signing arbitrary content that originated from outside the
   device.  This aspect is described in Section 12 of RFC 9334.  Most of
   these aspects are, however, outside the scope of this specification
   but relevant for use with a given attestation technology.  The focus
   of this specification is on the transport of evidence from the
   attester to the relying party via existing certification request
   messages.

4.  ASN.1 Elements

4.1.  Object Identifiers

   -- Root of IETF's PKIX OID tree
   id-pkix OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
        dod(6) internet(1) security(5) mechanisms(5) pkix(7) }

   -- S/Mime attributes - can be used here.
   id-aa OBJECT IDENTIFIER ::= {iso(1) member-body(2) usa(840)
        rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) attributes(2)}

   -- Branch for attestation statement types
   id-ata OBJECT IDENTIFIER ::= { id-pkix (TBD1) }





Ounsworth & Tschofenig   Expires 9 January 2024                 [Page 5]

Internet-Draft         CSR Attestation Attributes              July 2023


4.2.  AttestAttribute

   By definition, Attributes within a Certification Signing Request are
   typed as ATTRIBUTE.  This attribute definition contains one or more
   attestation statements of a type "AttestStatement".

   id-aa-attestStatement OBJECT IDENTIFIER ::= { id-aa (TBDAA2) }

   AttestAttribute ATTRIBUTE ::= {
     TYPE AttestStatement
     IDENTIFIED BY id-aa-attestStatement
   }

   A CSR MAY contain one or more instance of AttestAttribute to allow,
   for example a key attestation asserting the storage properties of the
   private key as well as a platform attestation asserting the firmware
   version and other general properties of the device, or multiple key
   attestations signed by certificate chains on different cryptographic
   algorithms.

4.3.  AttestStatement

   An AttestStatement is a simple type-value pair encoded as a sequence,
   of which the type of the "value" field is controlled by the value of
   the "type" field, similar to an Attribute definition.

   AttestStatement ::= SEQUENCE {
     type   OBJECT IDENTIFIER,
     value  ANY
   }

4.4.  AttestCertsAttribute

   The "AttestCertsAttribute" contains a set of certificates that may be
   needed to validate the contents of an attestation statement contained
   in an attestAttribute.  The set of certificates should contain the
   object that contains the public key needed to directly validate the
   AttestAttribute.  The remaining elements should chain that data back
   to an agreed upon root of trust for attestations.  No order is
   implied, it is the Verifier's responsibility to perform the
   appropriate certificate path building.

   A CSR MUST contain at most 1 AttestCertsAttribute.  In the case where
   the CSR contains multiple instances of AttestAttribute representing
   multiple attestations, all necessary certificates MUST be contained
   in the same instance of AttestCertsAttribute.





Ounsworth & Tschofenig   Expires 9 January 2024                 [Page 6]

Internet-Draft         CSR Attestation Attributes              July 2023


   id-aa-attestChainCerts OBJECT IDENTIFIER ::= { id-aa (TBDAA1) }

   AttestCertsAttribute ATTRIBUTE ::= {
     TYPE SET OF CertificateChoice
     COUNTS MAX 1
     IDENTIFIED BY id-aa-attestChainCerts
   }

4.5.  CertificateChoice

   This is an ASN.1 CHOICE construct used to represent an encoding of a
   broad variety of certificate types.

   CertificateChoice ::=
      CHOICE {
         cert Certificate,
         opaqueCert    [0] IMPLICIT OCTET STRING,
         typedCert     [1] IMPLICIT TypedCert,
         typedFlatCert [2] IMPLICIT TypedFlatCert
      }

   "Certificate" is a standard X.509 certificate that MUST be compliant
   with RFC5280.  Enforcement of this constraint is left to the relying
   parties.

   "opaqueCert" should be used sparingly as it requires the receiving
   party to implictly know its format.  It is encoded as an OCTET
   STRING.

   "TypedCert" is an ASN.1 construct that has the charateristics of a
   certificate, but is not encoded as an X.509 certificate.  The
   certTypeField indicates how to interpret the certBody field.  While
   it is possible to carry any type of data in this structure, it's
   intended the content field include data for at least one public key
   formatted as a SubjectPublicKeyInfo (see [RFC5912]).

  TYPED-CERT ::= TYPE-IDENTIFIER

  CertType ::= TYPED-CERT.&id

  TypedCert ::= SEQUENCE {
                certType     TYPED-CERT.&id({TypedCertSet}),
                content     TYPED-CERT.&Type ({TypedCertSet}{@certType})
            }

  TypedCertSet TYPED-CERT ::= {
               ... -- Empty for now,
               }



Ounsworth & Tschofenig   Expires 9 January 2024                 [Page 7]

Internet-Draft         CSR Attestation Attributes              July 2023


   "TypedFlatCert" is a certificate that does not have a valid ASN.1
   encoding.  Think compact or implicit certificates as might be used
   with smart cards.  certType indicates the format of the data in the
   certBody field, and ideally refers to a published specification.

   TypedFlatCert ::= SEQUENCE {
       certType OBJECT IDENTIFIER,
       certBody OCTET STRING
   }

5.  IANA Considerations

   The IANA is requested to open one new registry, allocate a value from
   the "SMI Security for PKIX Module Identifier" registry for the
   included ASN.1 module, and allocate values from "SMI Security for S/
   MIME Attributes" to identify two Attributes defined within.

5.1.  Object Identifier Allocations

5.1.1.  Module Registration - SMI Security for PKIX Module Identifer

   *  Decimal: IANA Assigned - Replace TBDMOD

   *  Description: CSR-ATTESTATION-2023 - id-mod-pkix-attest-01

   *  References: This Document

5.1.2.  Object Identifier Registrations - SMI Security for S/MIME
        Attributes

   *  Attest Statement

      -  Decimal: IANA Assigned - Replace TBDAA2

      -  Description: id-aa-attestStatement

      -  References: This Document

   *  Attest Certificate Chain

      -  Decimal: IANA Assigned - Replace TBDAA1

      -  Description: id-aa-attestChainCerts

      -  References: This Document






Ounsworth & Tschofenig   Expires 9 January 2024                 [Page 8]

Internet-Draft         CSR Attestation Attributes              July 2023


5.1.3.  "SMI Security for PKIX Attestation Statement Formats" Registry

   Please open up a registry for Attestation Statement Formats within
   the SMI-numbers registry, allocating an assignment from id-pkix ("SMI
   Security for PKIX" Registry) for the purpose.

   *  Decimal: IANA Assigned - replace TBD1

   *  Description: id-ata

   *  References: This document

   *  Initial contents: None

   *  Registration Regime: Specification Required.  Document must
      specify an ATTEST-STATEMENT definition to which this Object
      Identifier shall be bound.

   Columns:

   *  Decimal: The subcomponent under id-ata

   *  Description: Begins with id-ata

   *  References: RFC or other document

6.  Security Considerations

   The attestation evidence communicated in the attributes and
   structures defined in this document are meant to be used in a PKCS10
   Certification Signing Request (CSR).  It is up to the verifier and to
   the relying party (RA/CA) to place as much or as little trust in this
   information as dictated by policies.

   This document defines the transport of evidence of different formats
   in a CSR.  Some of these attestation formats are based on standards
   while others are proprietary formats.  A verifier will need to
   understand these formats for matching the received values against
   policies.

   Policies drive the processing of evidence at the verifier and other
   policies influence the decision making at the relying party when
   evaluating the attestation result.  The relying party is ultimately
   responsible for making a decision of what attestation-related
   information in the CSR it will accept.  The presence of the
   attributes defined in this specification provide the relying party
   with additional assurance about attester.  Policies used at the
   verifier and the relying party are implementation dependent and out



Ounsworth & Tschofenig   Expires 9 January 2024                 [Page 9]

Internet-Draft         CSR Attestation Attributes              July 2023


   of scope for this document.  Whether to require the use of the
   attestation-related attributes in the CSR is out-of-scope for this
   document.

   Evidence generated by the attestation generally needs to be fresh to
   provide value to the verifier since the configuration on the device
   may change over time.  Section 10 of [RFC9334] discusses different
   approaches for providing freshness, including a nonce-based approach,
   the use of timestamps and an epoch-based technique.  The use of
   nonces requires an extra message exchange via the relying party and
   the use of timestamps requires synchronized clocks.  Epochs also
   require communication.  The definition of "fresh" is somewhat
   ambiguous in the context of CSRs, especially considering that non-
   automated certificate enrollments are often asyncronous, and
   considering the common practice of re-using the same CSR for multiple
   certificate renewals across the lifetime of a key.  "Freshness"
   typically implies both asserting that the data was generated at a
   certain point-in-time, as well as providing non-replayability.
   Developers, operators, and designers of protocols which embed
   attestation-carrying-CSRs need to consider what notion of freshness
   is appropriate and available in-context; thus the issue of freshness
   is out-of-scope for this document.

7.  References

7.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/rfc/rfc2119>.

   [RFC5912]  Hoffman, P. and J. Schaad, "New ASN.1 Modules for the
              Public Key Infrastructure Using X.509 (PKIX)", RFC 5912,
              DOI 10.17487/RFC5912, June 2010,
              <https://www.rfc-editor.org/rfc/rfc5912>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.

   [RFC9334]  Birkholz, H., Thaler, D., Richardson, M., Smith, N., and
              W. Pan, "Remote ATtestation procedureS (RATS)
              Architecture", RFC 9334, DOI 10.17487/RFC9334, January
              2023, <https://www.rfc-editor.org/rfc/rfc9334>.

7.2.  Informative References




Ounsworth & Tschofenig   Expires 9 January 2024                [Page 10]

Internet-Draft         CSR Attestation Attributes              July 2023


   [I-D.tschofenig-rats-psa-token]
              Tschofenig, H., Frost, S., Brossard, M., Shaw, A. L., and
              T. Fossati, "Arm's Platform Security Architecture (PSA)
              Attestation Token", Work in Progress, Internet-Draft,
              draft-tschofenig-rats-psa-token-12, 5 July 2023,
              <https://datatracker.ietf.org/doc/html/draft-tschofenig-
              rats-psa-token-12>.

   [RFC2986]  Nystrom, M. and B. Kaliski, "PKCS #10: Certification
              Request Syntax Specification Version 1.7", RFC 2986,
              DOI 10.17487/RFC2986, November 2000,
              <https://www.rfc-editor.org/rfc/rfc2986>.

   [TPM20]    Trusted Computing Group, "Trusted Platform Module Library
              Specification, Family 2.0, Level 00, Revision 01.59",
              November 2019,
              <https://trustedcomputinggroup.org/resource/tpm-library-
              specification/>.

Appendix A.  Examples

   This section provides two non-normative examples for embedding
   evidence in in CSRs.  The first example conveys Arm Platform Security
   Architecture tokens, which offers platform attestation, into the CSR.
   The second example embeds the TPM v2.0 attestation information in the
   CSR.

A.1.  TPM V2.0 Attestation in CSR

   The following example illustrates a CSR with a signed TPM Quote based
   on [TPM20].  The Platform Configuration Registers (PCRs) are fixed-
   size registers in a TPM that record measurements of software and
   configuration information and are therefore used to capture the
   system state.  The digests stored in these registers are then
   digitially signed with an attestation key known to the hardware.

   Note: The information conveyed in the value field of the
   AttestStatement structure may contain more information than the
   signed TPM Quote structure defined in the TPM v2.0 specification
   [TPM20], such as plaintext PCR values, the up-time, the event log,
   etc.  The detailed structure of such payload is, however, not defined
   in this document and may be subject to future standardization work in
   supplementary documents.








Ounsworth & Tschofenig   Expires 9 January 2024                [Page 11]

Internet-Draft         CSR Attestation Attributes              July 2023


   Certification Request:
       Data:
           Version: 1 (0x0)
           Subject: CN = server.example.com
           Subject Public Key Info:
               Public Key Algorithm: id-ecPublicKey
                   Public-Key: (256 bit)
                   pub:
                       04:b9:7c:02:a1:1f:9c:f3:f4:c4:55:3a:d9:3e:26:
                       e8:e5:11:63:84:36:5f:93:a6:99:7d:d7:43:23:0a:
                       4f:c0:a8:40:46:7e:8d:b2:1a:38:19:ff:6a:a7:38:
                       16:06:1e:12:9f:d1:d5:58:55:e6:be:6d:bb:e1:fb:
                       f7:70:a7:5c:c9
                   ASN1 OID: prime256v1
                   NIST CURVE: P-256
           Attributes:
               AttestStatement
                  type: TBD2 (identifying TPM V2.0 attestation)
                  value:
                       80:02:00:00:01:99:00:00:00:00:00:00:01:86:00:7e
                       ff:54:43:47:80:18:00:22:00:0b:76:71:0f:61:80:95
                       8d:89:32:38:a6:cc:40:43:02:4a:da:26:d5:ea:11:71
                       99:d7:a5:59:a4:18:54:1e:7b:86:00:0d:30:2e:66:6e
                       6a:37:66:63:39:31:76:62:74:00:00:00:00:00:00:36
                       5b:bc:0b:71:4f:d8:84:90:09:01:42:82:48:a6:46:53
                       98:96:00:00:00:01:00:0b:03:0f:00:00:00:20:49:ce
                       66:9a:aa:7e:52:ff:93:0e:dd:9f:27:97:88:eb:75:cb
                       ad:53:22:e5:ad:2c:9d:44:1e:dd:65:48:6b:88:00:14
                       00:0b:01:00:15:a4:95:8a:0e:af:04:36:be:35:f7:27
                       85:bd:7f:87:46:74:18:e3:67:2f:32:f2:bf:b2:e7:af
                       a1:1b:f5:ca:1a:eb:83:8f:2f:36:71:cd:7c:18:ab:50
                       3d:e6:6e:ab:2e:78:a7:e4:6d:cf:1f:03:e6:46:74:28
                       a7:6c:d6:1e:44:3f:88:89:36:9a:a3:f0:9a:45:07:7e
                       01:5e:4c:97:7d:3f:e2:f7:15:59:96:5f:0e:9a:1c:b3
                       a0:6b:4a:77:a5:c0:e0:93:53:cb:b7:50:59:3d:23:ee
                       5c:31:00:48:6c:0b:1a:b8:04:a4:14:05:a6:63:bc:36
                       aa:7f:b9:aa:1f:19:9e:ee:49:48:08:e1:3a:d6:af:5f
                       d5:eb:96:28:bf:41:3c:89:7a:05:4b:b7:32:a2:fc:e7
                       f6:ad:c7:98:a6:98:99:f6:e9:a4:30:d4:7f:5e:b3:cb
                       d7:cc:76:90:ef:2e:cc:4f:7d:94:ab:33:8c:9d:35:5d
                       d7:57:0b:3c:87:9c:63:89:61:d9:5c:a0:b7:5c:c4:75
                       21:ae:dc:c9:7c:e3:18:a2:b3:f8:15:27:ff:a9:28:2f
                       cb:9b:17:fe:96:04:53:c4:19:0e:bf:51:0e:9d:1c:83
                       49:7e:51:64:03:a1:40:f1:72:8b:74:e3:16:79:af:f1
                       14:a8:5e:44:00:00:01:00:00
       Signature Algorithm: ecdsa-with-SHA256
       Signature Value:
           30:45:02:21:00:93:fd:81:03:75:d1:7d:ab:53:6c:a5:19:a7:



Ounsworth & Tschofenig   Expires 9 January 2024                [Page 12]

Internet-Draft         CSR Attestation Attributes              July 2023


           68:3d:d6:e2:39:14:d6:9e:47:24:38:b5:76:db:18:a6:ca:c4:
           8a:02:20:36:be:3d:71:93:5d:05:c3:ac:fa:a8:f3:e5:46:db:
           57:f9:23:ee:93:47:6d:d6:d3:4f:c2:b7:cc:0d:89:71:fe

              Figure 2: CSR with embedded TPM V2.0 Attestation

A.2.  PSA Attestation in CSR

   The example shown in Figure 3 illustrates how platform attestation is
   conveyed in a CSR.  The content of the evidence in this example is
   re-used from [I-D.tschofenig-rats-psa-token] and contains a digitally
   signed Entity Attestation Token (EAT).

   While the PSA token is digitally signed with an attestation private
   key, it does not offer key attestation.

   Certification Request:
       Data:
           Version: 1 (0x0)
           Subject: CN = server.example.com
           Subject Public Key Info:
               Public Key Algorithm: id-ecPublicKey
                   Public-Key: (256 bit)
                   pub:
                       04:b9:7c:02:a1:1f:9c:f3:f4:c4:55:3a:d9:3e:26:
                       e8:e5:11:63:84:36:5f:93:a6:99:7d:d7:43:23:0a:
                       4f:c0:a8:40:46:7e:8d:b2:1a:38:19:ff:6a:a7:38:
                       16:06:1e:12:9f:d1:d5:58:55:e6:be:6d:bb:e1:fb:
                       f7:70:a7:5c:c9
                   ASN1 OID: prime256v1
                   NIST CURVE: P-256
           Attributes:
               AttestStatement
                  type: TBD1 (referring to PSA attestation)
                  value: d2:84:43:a1:01:26:a0:59:01:3b:aa:19:01:09:78:
                         18:68:74:74:70:3a:2f:2f:61:72:6d:2e:63:6f:6d:
                         2f:70:73:61:2f:32:2e:30:2e:30:19:09:5a:1a:7f:
                         ff:ff:ff:19:09:5b:19:30:00:19:09:5c:58:20:00:
                         00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:
                         00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:
                         00:19:09:5d:48:00:00:00:00:00:00:00:00:19:09:
                         5e:73:31:32:33:34:35:36:37:38:39:30:31:32:33:
                         2d:31:32:33:34:35:19:09:5f:81:a2:02:58:20:03:
                         03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:
                         03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:
                         03:05:58:20:04:04:04:04:04:04:04:04:04:04:04:
                         04:04:04:04:04:04:04:04:04:04:04:04:04:04:04:
                         04:04:04:04:04:04:0a:58:20:01:01:01:01:01:01:



Ounsworth & Tschofenig   Expires 9 January 2024                [Page 13]

Internet-Draft         CSR Attestation Attributes              July 2023


                         01:01:01:01:01:01:01:01:01:01:01:01:01:01:01:
                         01:01:01:01:01:01:01:01:01:01:01:19:01:00:58:
                         21:01:02:02:02:02:02:02:02:02:02:02:02:02:02:
                         02:02:02:02:02:02:02:02:02:02:02:02:02:02:02:
                         02:02:02:02:19:09:60:78:2e:68:74:74:70:73:3a:
                         2f:2f:76:65:72:61:69:73:6f:6e:2e:65:78:61:6d:
                         70:6c:65:2f:76:31:2f:63:68:61:6c:6c:65:6e:67:
                         65:2d:72:65:73:70:6f:6e:73:65:58:40:56:f5:0d:
                         13:1f:a8:39:79:ae:06:4e:76:e7:0d:c7:5c:07:0b:
                         6d:99:1a:ec:08:ad:f9:f4:1c:ab:7f:1b:7e:2c:47:
                         f6:7d:ac:a8:bb:49:e3:11:9b:7b:ae:77:ae:c6:c8:
                         91:62:71:3e:0c:c6:d0:e7:32:78:31:e6:7f:32:84:
                         1a
       Signature Algorithm: ecdsa-with-SHA256
       Signature Value:
           30:45:02:21:00:93:fd:81:03:75:d1:7d:ab:53:6c:a5:19:a7:
           68:3d:d6:e2:39:14:d6:9e:47:24:38:b5:76:db:18:a6:ca:c4:
           8a:02:20:36:be:3d:71:93:5d:05:c3:ac:fa:a8:f3:e5:46:db:
           57:f9:23:ee:93:47:6d:d6:d3:4f:c2:b7:cc:0d:89:71:fe

                Figure 3: CSR with embedded PSA Attestation

   The decoded evidence is shown in Appendix A of
   [I-D.tschofenig-rats-psa-token], the shown attestation information,
   provides the following information to an RA/CA:

   *  Boot seed,

   *  Firmware measurements,

   *  Hardware security certification reference,

   *  Identification of the immutable root of trust implementation, and

   *  Lifecycle state information.

Appendix B.  ASN.1 Module

   {::include CSR-ATTESTATION-2023.asn}

Appendix C.  Acknowledgments

   This specification is the work of a design team created by the chairs
   of the LAMPS working group.  The following persons, in no specific
   order, contributed to the work: Richard Kettlewell, Chris Trufan,
   Bruno Couillard, Jean-Pierre Fiset, Sander Temme, Jethro Beekman,
   Zsolt Rózsahegyi, Ferenc Pető, Mike Agrenius Kushner, Tomas
   Gustavsson, Dieter Bong, Christomer Meyer, Michael StJohns, Carl



Ounsworth & Tschofenig   Expires 9 January 2024                [Page 14]

Internet-Draft         CSR Attestation Attributes              July 2023


   Wallace, Michael Ricardson, Tomofumi Okubo, Olivier Couillard, John
   Gray, Eric Amador, Johnson Darren, Herman Slatman, Tiru Reddy, Thomas
   Fossati, Corey Bonnel, Argenius Kushner, James Hagborg.

   We would like to specifically thank Mike StJohns for his work on an
   earlier version of this draft.

Authors' Addresses

   Mike Ounsworth
   Entrust Limited
   2500 Solandt Road – Suite 100
   Ottawa, Ontario  K2K 3G5
   Canada
   Email: mike.ounsworth@entrust.com


   Hannes Tschofenig
   Siemens
   Email: Hannes.Tschofenig@gmx.net































Ounsworth & Tschofenig   Expires 9 January 2024                [Page 15]