draft-ietf-teep-opentrustprotocol-02.txt | draft-ietf-teep-opentrustprotocol-03.txt | |||
---|---|---|---|---|
TEEP M. Pei | TEEP M. Pei | |||
Internet-Draft Symantec | Internet-Draft Symantec | |||
Intended status: Informational A. Atyeo | Intended status: Informational A. Atyeo | |||
Expires: April 26, 2019 Intercede | Expires: November 16, 2019 Intercede | |||
N. Cook | N. Cook | |||
ARM Ltd. | ARM Ltd. | |||
M. Yoo | M. Yoo | |||
IoTrust | IoTrust | |||
H. Tschofenig | H. Tschofenig | |||
ARM Ltd. | ARM Ltd. | |||
October 23, 2018 | May 15, 2019 | |||
The Open Trust Protocol (OTrP) | The Open Trust Protocol (OTrP) | |||
draft-ietf-teep-opentrustprotocol-02.txt | draft-ietf-teep-opentrustprotocol-03.txt | |||
Abstract | Abstract | |||
This document specifies the Open Trust Protocol (OTrP), a protocol | This document specifies the Open Trust Protocol (OTrP), a protocol | |||
that follows the Trust Execution Environment Provisioning (TEEP) | that follows the Trust Execution Environment Provisioning (TEEP) | |||
architecture and provides a message protocol that provisions and | architecture and provides a message protocol that provisions and | |||
manages Trusted Applications into a device with a Trusted Execution | manages Trusted Applications into a device with a Trusted Execution | |||
Environment (TEE). | Environment (TEE). | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on April 26, 2019. | This Internet-Draft will expire on November 16, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 6 | 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 6 | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 6 | 3.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4. OTrP Entities and Trust Model . . . . . . . . . . . . . . . . 6 | 4. OTrP Entities and Trust Model . . . . . . . . . . . . . . . . 6 | |||
4.1. System Components . . . . . . . . . . . . . . . . . . . . 7 | 4.1. System Components . . . . . . . . . . . . . . . . . . . . 6 | |||
4.2. Trust Anchors in TEE . . . . . . . . . . . . . . . . . . 7 | 4.2. Trust Anchors in TEE . . . . . . . . . . . . . . . . . . 7 | |||
4.3. Trust Anchors in TAM . . . . . . . . . . . . . . . . . . 7 | 4.3. Trust Anchors in TAM . . . . . . . . . . . . . . . . . . 7 | |||
4.4. Keys and Certificate Types . . . . . . . . . . . . . . . 7 | 4.4. Keys and Certificate Types . . . . . . . . . . . . . . . 7 | |||
5. Protocol Scope and Entity Relations . . . . . . . . . . . . . 10 | 5. Protocol Scope and Entity Relations . . . . . . . . . . . . . 10 | |||
5.1. A Sample Device Setup Flow . . . . . . . . . . . . . . . 12 | 5.1. A Sample Device Setup Flow . . . . . . . . . . . . . . . 12 | |||
5.2. Derived Keys in The Protocol . . . . . . . . . . . . . . 12 | 5.2. Derived Keys in The Protocol . . . . . . . . . . . . . . 12 | |||
5.3. Security Domain Hierarchy and Ownership . . . . . . . . . 13 | 5.3. Security Domain Hierarchy and Ownership . . . . . . . . . 13 | |||
5.4. SD Owner Identification and TAM Certificate Requirements 13 | 5.4. SD Owner Identification and TAM Certificate Requirements 13 | |||
5.5. Service Provider Container . . . . . . . . . . . . . . . 14 | 5.5. Service Provider Container . . . . . . . . . . . . . . . 14 | |||
6. OTrP Broker . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 6. OTrP Broker . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
skipping to change at page 3, line 26 ¶ | skipping to change at page 3, line 26 ¶ | |||
9.1.3.1. Supported Firmware Signature Methods . . . . . . 33 | 9.1.3.1. Supported Firmware Signature Methods . . . . . . 33 | |||
9.1.4. Post Conditions . . . . . . . . . . . . . . . . . . . 33 | 9.1.4. Post Conditions . . . . . . . . . . . . . . . . . . . 33 | |||
9.1.5. GetDeviceStateResponse Message . . . . . . . . . . . 33 | 9.1.5. GetDeviceStateResponse Message . . . . . . . . . . . 33 | |||
9.1.6. Error Conditions . . . . . . . . . . . . . . . . . . 38 | 9.1.6. Error Conditions . . . . . . . . . . . . . . . . . . 38 | |||
9.1.7. TAM Processing Requirements . . . . . . . . . . . . . 39 | 9.1.7. TAM Processing Requirements . . . . . . . . . . . . . 39 | |||
9.2. Security Domain Management . . . . . . . . . . . . . . . 40 | 9.2. Security Domain Management . . . . . . . . . . . . . . . 40 | |||
9.2.1. CreateSD . . . . . . . . . . . . . . . . . . . . . . 40 | 9.2.1. CreateSD . . . . . . . . . . . . . . . . . . . . . . 40 | |||
9.2.1.1. CreateSDRequest Message . . . . . . . . . . . . . 40 | 9.2.1.1. CreateSDRequest Message . . . . . . . . . . . . . 40 | |||
9.2.1.2. Request Processing Requirements at a TEE . . . . 43 | 9.2.1.2. Request Processing Requirements at a TEE . . . . 43 | |||
9.2.1.3. CreateSDResponse Message . . . . . . . . . . . . 44 | 9.2.1.3. CreateSDResponse Message . . . . . . . . . . . . 44 | |||
9.2.1.4. Error Conditions . . . . . . . . . . . . . . . . 46 | 9.2.1.4. Error Conditions . . . . . . . . . . . . . . . . 45 | |||
9.2.2. UpdateSD . . . . . . . . . . . . . . . . . . . . . . 46 | 9.2.2. UpdateSD . . . . . . . . . . . . . . . . . . . . . . 46 | |||
9.2.2.1. UpdateSDRequest Message . . . . . . . . . . . . . 46 | 9.2.2.1. UpdateSDRequest Message . . . . . . . . . . . . . 46 | |||
9.2.2.2. Request Processing Requirements at a TEE . . . . 49 | 9.2.2.2. Request Processing Requirements at a TEE . . . . 49 | |||
9.2.2.3. UpdateSDResponse Message . . . . . . . . . . . . 51 | 9.2.2.3. UpdateSDResponse Message . . . . . . . . . . . . 51 | |||
9.2.2.4. Error Conditions . . . . . . . . . . . . . . . . 52 | 9.2.2.4. Error Conditions . . . . . . . . . . . . . . . . 52 | |||
9.2.3. DeleteSD . . . . . . . . . . . . . . . . . . . . . . 53 | 9.2.3. DeleteSD . . . . . . . . . . . . . . . . . . . . . . 52 | |||
9.2.3.1. DeleteSDRequest Message . . . . . . . . . . . . . 53 | 9.2.3.1. DeleteSDRequest Message . . . . . . . . . . . . . 53 | |||
9.2.3.2. Request Processing Requirements at a TEE . . . . 55 | 9.2.3.2. Request Processing Requirements at a TEE . . . . 55 | |||
9.2.3.3. DeleteSDResponse Message . . . . . . . . . . . . 56 | 9.2.3.3. DeleteSDResponse Message . . . . . . . . . . . . 56 | |||
9.2.3.4. Error Conditions . . . . . . . . . . . . . . . . 58 | 9.2.3.4. Error Conditions . . . . . . . . . . . . . . . . 57 | |||
9.3. Trusted Application Management . . . . . . . . . . . . . 58 | 9.3. Trusted Application Management . . . . . . . . . . . . . 57 | |||
9.3.1. InstallTA . . . . . . . . . . . . . . . . . . . . . . 59 | 9.3.1. InstallTA . . . . . . . . . . . . . . . . . . . . . . 58 | |||
9.3.1.1. InstallTARequest Message . . . . . . . . . . . . 60 | 9.3.1.1. InstallTARequest Message . . . . . . . . . . . . 59 | |||
9.3.1.2. InstallTAResponse Message . . . . . . . . . . . . 62 | 9.3.1.2. InstallTAResponse Message . . . . . . . . . . . . 61 | |||
9.3.1.3. Error Conditions . . . . . . . . . . . . . . . . 64 | 9.3.1.3. Error Conditions . . . . . . . . . . . . . . . . 62 | |||
9.3.2. UpdateTA . . . . . . . . . . . . . . . . . . . . . . 64 | 9.3.2. UpdateTA . . . . . . . . . . . . . . . . . . . . . . 63 | |||
9.3.2.1. UpdateTARequest Message . . . . . . . . . . . . . 65 | 9.3.2.1. UpdateTARequest Message . . . . . . . . . . . . . 64 | |||
9.3.2.2. UpdateTAResponse Message . . . . . . . . . . . . 67 | 9.3.2.2. UpdateTAResponse Message . . . . . . . . . . . . 66 | |||
9.3.2.3. Error Conditions . . . . . . . . . . . . . . . . 69 | 9.3.2.3. Error Conditions . . . . . . . . . . . . . . . . 67 | |||
9.3.3. DeleteTA . . . . . . . . . . . . . . . . . . . . . . 69 | 9.3.3. DeleteTA . . . . . . . . . . . . . . . . . . . . . . 68 | |||
9.3.3.1. DeleteTARequest Message . . . . . . . . . . . . . 69 | 9.3.3.1. DeleteTARequest Message . . . . . . . . . . . . . 68 | |||
9.3.3.2. Request Processing Requirements at a TEE . . . . 71 | 9.3.3.2. Request Processing Requirements at a TEE . . . . 70 | |||
9.3.3.3. DeleteTAResponse Message . . . . . . . . . . . . 72 | 9.3.3.3. DeleteTAResponse Message . . . . . . . . . . . . 70 | |||
9.3.3.4. Error Conditions . . . . . . . . . . . . . . . . 73 | 9.3.3.4. Error Conditions . . . . . . . . . . . . . . . . 71 | |||
10. Response Messages a TAM May Expect . . . . . . . . . . . . . 73 | 10. Response Messages a TAM May Expect . . . . . . . . . . . . . 72 | |||
11. Basic Protocol Profile . . . . . . . . . . . . . . . . . . . 74 | 11. Basic Protocol Profile . . . . . . . . . . . . . . . . . . . 73 | |||
12. Attestation Implementation Consideration . . . . . . . . . . 75 | 12. Attestation Implementation Consideration . . . . . . . . . . 73 | |||
12.1. OTrP Trusted Firmware . . . . . . . . . . . . . . . . . 75 | 12.1. OTrP Trusted Firmware . . . . . . . . . . . . . . . . . 74 | |||
12.1.1. Attestation signer . . . . . . . . . . . . . . . . . 75 | 12.1.1. Attestation signer . . . . . . . . . . . . . . . . . 74 | |||
12.1.2. TFW Initial Requirements . . . . . . . . . . . . . . 75 | 12.1.2. TFW Initial Requirements . . . . . . . . . . . . . . 74 | |||
12.2. TEE Loading . . . . . . . . . . . . . . . . . . . . . . 76 | 12.2. TEE Loading . . . . . . . . . . . . . . . . . . . . . . 74 | |||
12.3. Attestation Hierarchy . . . . . . . . . . . . . . . . . 76 | 12.3. Attestation Hierarchy . . . . . . . . . . . . . . . . . 75 | |||
12.3.1. Attestation Hierarchy Establishment: Manufacture . . 77 | 12.3.1. Attestation Hierarchy Establishment: Manufacture . . 75 | |||
12.3.2. Attestation Hierarchy Establishment: Device Boot . . 77 | 12.3.2. Attestation Hierarchy Establishment: Device Boot . . 75 | |||
12.3.3. Attestation Hierarchy Establishment: TAM . . . . . . 77 | 12.3.3. Attestation Hierarchy Establishment: TAM . . . . . . 76 | |||
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 77 | 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 76 | |||
13.1. Error Code List . . . . . . . . . . . . . . . . . . . . 78 | 13.1. Error Code List . . . . . . . . . . . . . . . . . . . . 77 | |||
13.1.1. TEE Signed Error Code List . . . . . . . . . . . . . 78 | 13.1.1. TEE Signed Error Code List . . . . . . . . . . . . . 77 | |||
13.1.2. OTrP Broker Error Code List . . . . . . . . . . . . 79 | 14. Security Consideration . . . . . . . . . . . . . . . . . . . 78 | |||
14. Security Consideration . . . . . . . . . . . . . . . . . . . 79 | 14.1. Cryptographic Strength . . . . . . . . . . . . . . . . . 78 | |||
14.1. Cryptographic Strength . . . . . . . . . . . . . . . . . 79 | 14.2. Message Security . . . . . . . . . . . . . . . . . . . . 79 | |||
14.2. Message Security . . . . . . . . . . . . . . . . . . . . 80 | 14.3. TEE Attestation . . . . . . . . . . . . . . . . . . . . 79 | |||
14.3. TEE Attestation . . . . . . . . . . . . . . . . . . . . 80 | 14.4. TA Protection . . . . . . . . . . . . . . . . . . . . . 79 | |||
14.4. TA Protection . . . . . . . . . . . . . . . . . . . . . 80 | 14.5. TA Personalization Data . . . . . . . . . . . . . . . . 80 | |||
14.5. TA Personalization Data . . . . . . . . . . . . . . . . 81 | 14.6. TA Trust Check at TEE . . . . . . . . . . . . . . . . . 80 | |||
14.6. TA Trust Check at TEE . . . . . . . . . . . . . . . . . 81 | 14.7. One TA Multiple SP Case . . . . . . . . . . . . . . . . 81 | |||
14.7. One TA Multiple SP Case . . . . . . . . . . . . . . . . 82 | 14.8. OTrP Broker Trust Model . . . . . . . . . . . . . . . . 81 | |||
14.8. OTrP Broker Trust Model . . . . . . . . . . . . . . . . 82 | 14.9. OCSP Stapling Data for TAM Signed Messages . . . . . . . 81 | |||
14.9. OCSP Stapling Data for TAM Signed Messages . . . . . . . 82 | 14.10. Data Protection at TAM and TEE . . . . . . . . . . . . . 81 | |||
14.10. Data Protection at TAM and TEE . . . . . . . . . . . . . 82 | ||||
14.11. Privacy Consideration . . . . . . . . . . . . . . . . . 82 | 14.11. Privacy Consideration . . . . . . . . . . . . . . . . . 82 | |||
14.12. Threat Mitigation . . . . . . . . . . . . . . . . . . . 83 | 14.12. Threat Mitigation . . . . . . . . . . . . . . . . . . . 82 | |||
14.13. Compromised CA . . . . . . . . . . . . . . . . . . . . . 83 | 14.13. Compromised CA . . . . . . . . . . . . . . . . . . . . . 83 | |||
14.14. Compromised TAM . . . . . . . . . . . . . . . . . . . . 84 | 14.14. Compromised TAM . . . . . . . . . . . . . . . . . . . . 83 | |||
14.15. Certificate Renewal . . . . . . . . . . . . . . . . . . 84 | 14.15. Certificate Renewal . . . . . . . . . . . . . . . . . . 83 | |||
15. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 84 | 15. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 83 | |||
16. References . . . . . . . . . . . . . . . . . . . . . . . . . 84 | 16. References . . . . . . . . . . . . . . . . . . . . . . . . . 84 | |||
16.1. Normative References . . . . . . . . . . . . . . . . . . 84 | 16.1. Normative References . . . . . . . . . . . . . . . . . . 84 | |||
16.2. Informative References . . . . . . . . . . . . . . . . . 85 | 16.2. Informative References . . . . . . . . . . . . . . . . . 84 | |||
Appendix A. Sample Messages . . . . . . . . . . . . . . . . . . 85 | Appendix A. Sample Messages . . . . . . . . . . . . . . . . . . 85 | |||
A.1. Sample Security Domain Management Messages . . . . . . . 85 | A.1. Sample Security Domain Management Messages . . . . . . . 85 | |||
A.1.1. Sample GetDeviceState . . . . . . . . . . . . . . . . 85 | A.1.1. Sample GetDeviceState . . . . . . . . . . . . . . . . 85 | |||
A.1.1.1. Sample GetDeviceStateRequest . . . . . . . . . . 85 | A.1.1.1. Sample GetDeviceStateRequest . . . . . . . . . . 85 | |||
A.1.1.2. Sample GetDeviceStateResponse . . . . . . . . . . 86 | A.1.1.2. Sample GetDeviceStateResponse . . . . . . . . . . 85 | |||
A.1.2. Sample CreateSD . . . . . . . . . . . . . . . . . . . 89 | A.1.2. Sample CreateSD . . . . . . . . . . . . . . . . . . . 89 | |||
A.1.2.1. Sample CreateSDRequest . . . . . . . . . . . . . 89 | A.1.2.1. Sample CreateSDRequest . . . . . . . . . . . . . 89 | |||
A.1.2.2. Sample CreateSDResponse . . . . . . . . . . . . . 92 | A.1.2.2. Sample CreateSDResponse . . . . . . . . . . . . . 92 | |||
A.1.3. Sample UpdateSD . . . . . . . . . . . . . . . . . . . 93 | A.1.3. Sample UpdateSD . . . . . . . . . . . . . . . . . . . 93 | |||
A.1.3.1. Sample UpdateSDRequest . . . . . . . . . . . . . 94 | A.1.3.1. Sample UpdateSDRequest . . . . . . . . . . . . . 94 | |||
A.1.3.2. Sample UpdateSDResponse . . . . . . . . . . . . . 95 | A.1.3.2. Sample UpdateSDResponse . . . . . . . . . . . . . 95 | |||
A.1.4. Sample DeleteSD . . . . . . . . . . . . . . . . . . . 95 | A.1.4. Sample DeleteSD . . . . . . . . . . . . . . . . . . . 95 | |||
A.1.4.1. Sample DeleteSDRequest . . . . . . . . . . . . . 95 | A.1.4.1. Sample DeleteSDRequest . . . . . . . . . . . . . 95 | |||
A.1.4.2. Sample DeleteSDResponse . . . . . . . . . . . . . 97 | A.1.4.2. Sample DeleteSDResponse . . . . . . . . . . . . . 97 | |||
A.2. Sample TA Management Messages . . . . . . . . . . . . . . 99 | A.2. Sample TA Management Messages . . . . . . . . . . . . . . 99 | |||
A.2.1. Sample InstallTA . . . . . . . . . . . . . . . . . . 99 | A.2.1. Sample InstallTA . . . . . . . . . . . . . . . . . . 99 | |||
A.2.1.1. Sample InstallTARequest . . . . . . . . . . . . . 99 | A.2.1.1. Sample InstallTARequest . . . . . . . . . . . . . 99 | |||
A.2.1.2. Sample InstallTAResponse . . . . . . . . . . . . 100 | A.2.1.2. Sample InstallTAResponse . . . . . . . . . . . . 100 | |||
A.2.2. Sample UpdateTA . . . . . . . . . . . . . . . . . . . 102 | A.2.2. Sample UpdateTA . . . . . . . . . . . . . . . . . . . 102 | |||
A.2.2.1. Sample UpdateTARequest . . . . . . . . . . . . . 102 | A.2.2.1. Sample UpdateTARequest . . . . . . . . . . . . . 102 | |||
A.2.2.2. Sample UpdateTAResponse . . . . . . . . . . . . . 103 | A.2.2.2. Sample UpdateTAResponse . . . . . . . . . . . . . 103 | |||
A.2.3. Sample DeleteTA . . . . . . . . . . . . . . . . . . . 106 | A.2.3. Sample DeleteTA . . . . . . . . . . . . . . . . . . . 106 | |||
A.2.3.1. Sample DeleteTARequest . . . . . . . . . . . . . 106 | A.2.3.1. Sample DeleteTARequest . . . . . . . . . . . . . 106 | |||
A.2.3.2. Sample DeleteTAResponse . . . . . . . . . . . . . 108 | A.2.3.2. Sample DeleteTAResponse . . . . . . . . . . . . . 108 | |||
skipping to change at page 12, line 11 ¶ | skipping to change at page 12, line 11 ¶ | |||
An OTrP Broker is used to bridge communication between a TAM and a | An OTrP Broker is used to bridge communication between a TAM and a | |||
TEE. The OTrP Broker doesn't need to know the actual content of OTrP | TEE. The OTrP Broker doesn't need to know the actual content of OTrP | |||
Messages except for the TEE routing information. | Messages except for the TEE routing information. | |||
5.1. A Sample Device Setup Flow | 5.1. A Sample Device Setup Flow | |||
Step 1: Prepare Images for Devices | Step 1: Prepare Images for Devices | |||
1. [TEE vendor] Deliver TEE Image (CODE Binary) to device OEM | 1. [TEE vendor] Deliver TEE Image (CODE Binary) to device OEM | |||
2. [CA] Deliver root CA Whitelist | 2. [CA] Deliver root CA Whitelist | |||
3. [Soc] Deliver TFW Image | 3. [Soc] Deliver TFW Image | |||
Step 2: Inject Key Pairs and Images to Devices | Step 2: Inject Key Pairs and Images to Devices | |||
1. [OEM] Generate Secure Boot Key Pair (May be shared among multiple | 1. [OEM] Generate Secure Boot Key Pair (May be shared among multiple | |||
devices) | devices) | |||
2. [OEM] Flash signed TFW Image and signed TEE Image onto devices | 2. [OEM] Flash signed TFW Image and signed TEE Image onto devices | |||
(signed by Secure Boot Key) | (signed by Secure Boot Key) | |||
Step 3: Setup attestation key pairs in devices | Step 3: Setup attestation key pairs in devices | |||
1. [OEM] Flash TFW Public Key and a bootloader key. | 1. [OEM] Flash TFW Public Key and a bootloader key. | |||
2. [TFW/TEE] Generate a unique attestation key pair and get a | 2. [TFW/TEE] Generate a unique attestation key pair and get a | |||
certificate for the device. | certificate for the device. | |||
Step 4: Setup trust anchors in devices | Step 4: Setup trust anchors in devices | |||
1. [TFW/TEE] Store the key and certificate encrypted with the eFuse | 1. [TFW/TEE] Store the key and certificate encrypted with the eFuse | |||
key | key | |||
2. [TEE vendor or OEM] Store trusted CA certificate list into | 2. [TEE vendor or OEM] Store trusted CA certificate list into | |||
skipping to change at page 38, line 43 ¶ | skipping to change at page 38, line 43 ¶ | |||
ERR_TAM_NOT_TRUSTED The TEE needs to make sure whether the TAM is | ERR_TAM_NOT_TRUSTED The TEE needs to make sure whether the TAM is | |||
trustworthy by checking the validity of the TAM certificate and | trustworthy by checking the validity of the TAM certificate and | |||
OCSP stapling data and so on. If the TEE finds the TAM is not | OCSP stapling data and so on. If the TEE finds the TAM is not | |||
reliable, it returns this error code. | reliable, it returns this error code. | |||
ERR_TEE_FAIL If the TEE fails to process a request because of its | ERR_TEE_FAIL If the TEE fails to process a request because of its | |||
internal error but is able to sign an error response message, it | internal error but is able to sign an error response message, it | |||
will return this error code. | will return this error code. | |||
ERR_AGENT_TEE_FAIL The TEE failed to respond to a TAM request. The | ||||
OTrP Broker will construct an error message in responding to the | ||||
TAM's request. The error message will not be signed. | ||||
The response message will look like the following if the TEE signing | The response message will look like the following if the TEE signing | |||
can work to sign the error response message. | can work to sign the error response message. | |||
{ | { | |||
"GetDeviceTEEStateTBSResponse": { | "GetDeviceTEEStateTBSResponse": { | |||
"ver": "1.0", | "ver": "1.0", | |||
"status": "fail", | "status": "fail", | |||
"rid": "<the request ID from the request message>", | "rid": "<the request ID from the request message>", | |||
"tid": "<the transaction ID from the request message>", | "tid": "<the transaction ID from the request message>", | |||
"reason": {"error-code":"<error code>"} | "reason": {"error-code":"<error code>"} | |||
skipping to change at page 45, line 36 ¶ | skipping to change at page 45, line 36 ¶ | |||
"CreateSDResponse": { | "CreateSDResponse": { | |||
"payload": "<CreateSDTBSResponse JSON above>", | "payload": "<CreateSDTBSResponse JSON above>", | |||
"protected": { | "protected": { | |||
"<BASE64URL of signing algorithm>" | "<BASE64URL of signing algorithm>" | |||
}, | }, | |||
"signature": "<signature contents signed by the TEE device private | "signature": "<signature contents signed by the TEE device private | |||
key (BASE64URL)>" | key (BASE64URL)>" | |||
} | } | |||
} | } | |||
A response message type "status" will be returned when the TEE fails | When the TEE fails to respond, the OTrP Broker will not provide a | |||
to respond. The OTrP Broker is responsible to create this message. | subsequent response to the TAM. The TAM should treat this as if the | |||
device has gone offline where a response is never delivered back. | ||||
{ | ||||
"status": { | ||||
"result": "fail", | ||||
"error-code": "ERR_AGENT_TEE_FAIL", | ||||
"error-message": "TEE fails to respond" | ||||
} | ||||
} | ||||
9.2.1.4. Error Conditions | 9.2.1.4. Error Conditions | |||
An error might occur if a request isn't valid or the TEE runs into | An error might occur if a request isn't valid or the TEE runs into | |||
some error. The list of possible errors are as follows. Refer to | some error. The list of possible errors are as follows. Refer to | |||
the Error Code List (Section 13.1) for detailed causes and actions. | the Error Code List (Section 13.1) for detailed causes and actions. | |||
ERR_AGENT_TEE_BUSY | ||||
ERR_AGENT_TEE_FAIL | ||||
ERR_AGENT_TEE_UNKNOWN | ||||
ERR_REQUEST_INVALID | ERR_REQUEST_INVALID | |||
ERR_UNSUPPORTED_MSG_VERSION | ERR_UNSUPPORTED_MSG_VERSION | |||
ERR_UNSUPPORTED_CRYPTO_ALG | ERR_UNSUPPORTED_CRYPTO_ALG | |||
ERR_DEV_STATE_MISMATCH | ERR_DEV_STATE_MISMATCH | |||
ERR_SD_ALREADY_EXIST | ERR_SD_ALREADY_EXIST | |||
ERR_SD_NOT_FOUND | ERR_SD_NOT_FOUND | |||
ERR_SPCERT_INVALID | ERR_SPCERT_INVALID | |||
ERR_TEE_FAIL | ERR_TEE_FAIL | |||
skipping to change at page 52, line 16 ¶ | skipping to change at page 52, line 16 ¶ | |||
"UpdateSDResponse": { | "UpdateSDResponse": { | |||
"payload": "<UpdateSDTBSResponse JSON above>", | "payload": "<UpdateSDTBSResponse JSON above>", | |||
"protected": { | "protected": { | |||
"<BASE64URL of signing algorithm>" | "<BASE64URL of signing algorithm>" | |||
}, | }, | |||
"signature": "<signature contents signed by TEE device private | "signature": "<signature contents signed by TEE device private | |||
key (BASE64URL)>" | key (BASE64URL)>" | |||
} | } | |||
} | } | |||
A response message type "status" will be returned when the TEE fails | When the TEE fails to respond, the OTrP Broker will not provide a | |||
to respond. The OTrP Broker is responsible to create this message. | subsequent response to the TAM. The TAM should treat this as if the | |||
device has gone offline where a response is never delivered back. | ||||
{ | ||||
"status": { | ||||
"result": "fail", | ||||
"error-code": "ERR_AGENT_TEE_FAIL", | ||||
"error-message": "<TEE fails to respond message>" | ||||
} | ||||
} | ||||
9.2.2.4. Error Conditions | 9.2.2.4. Error Conditions | |||
An error may occur if a request isn't valid or the TEE runs into some | An error may occur if a request isn't valid or the TEE runs into some | |||
error. The list of possible errors are as follows. Refer to the | error. The list of possible errors are as follows. Refer to the | |||
Error Code List (Section 13.1) for detailed causes and actions. | Error Code List (Section 13.1) for detailed causes and actions. | |||
ERR_AGENT_TEE_BUSY | ||||
ERR_AGENT_TEE_FAIL | ||||
ERR_AGENT_TEE_UNKNOWN | ||||
ERR_REQUEST_INVALID | ERR_REQUEST_INVALID | |||
ERR_UNSUPPORTED_MSG_VERSION | ERR_UNSUPPORTED_MSG_VERSION | |||
ERR_UNSUPPORTED_CRYPTO_ALG | ERR_UNSUPPORTED_CRYPTO_ALG | |||
ERR_DEV_STATE_MISMATCH | ERR_DEV_STATE_MISMATCH | |||
ERR_SD_NOT_FOUND | ERR_SD_NOT_FOUND | |||
skipping to change at page 57, line 40 ¶ | skipping to change at page 57, line 18 ¶ | |||
"DeleteSDResponse": { | "DeleteSDResponse": { | |||
"payload": "<DeleteSDTBSResponse JSON above>", | "payload": "<DeleteSDTBSResponse JSON above>", | |||
"protected": { | "protected": { | |||
"<BASE64URL of signing algorithm>" | "<BASE64URL of signing algorithm>" | |||
}, | }, | |||
"signature": "<signature contents signed by TEE device | "signature": "<signature contents signed by TEE device | |||
private key (BASE64URL)>" | private key (BASE64URL)>" | |||
} | } | |||
} | } | |||
A response message type "status" will be returned when the TEE fails | When the TEE fails to respond, the OTrP Broker will not provide a | |||
to respond. The OTrP Broker is responsible to create this message. | subsequent response to the TAM. The TAM should treat this as if the | |||
device has gone offline where a response is never delivered back. | ||||
{ | ||||
"status": { | ||||
"result": "fail", | ||||
"error-code": "ERR_AGENT_TEE_FAIL", | ||||
"error-message": "TEE fails to respond" | ||||
} | ||||
} | ||||
9.2.3.4. Error Conditions | 9.2.3.4. Error Conditions | |||
An error may occur if a request isn't valid or the TEE runs into some | An error may occur if a request isn't valid or the TEE runs into some | |||
error. The list of possible errors is as follows. Refer to the | error. The list of possible errors is as follows. Refer to the | |||
Error Code List (Section 13.1) for detailed causes and actions. | Error Code List (Section 13.1) for detailed causes and actions. | |||
ERR_AGENT_TEE_BUSY | ||||
ERR_AGENT_TEE_FAIL | ||||
ERR_AGENT_TEE_UNKNOWN | ||||
ERR_REQUEST_INVALID | ERR_REQUEST_INVALID | |||
ERR_UNSUPPORTED_MSG_VERSION | ERR_UNSUPPORTED_MSG_VERSION | |||
ERR_UNSUPPORTED_CRYPTO_ALG | ERR_UNSUPPORTED_CRYPTO_ALG | |||
ERR_DEV_STATE_MISMATCH | ERR_DEV_STATE_MISMATCH | |||
ERR_SD_NOT_EMPTY | ERR_SD_NOT_EMPTY | |||
skipping to change at page 63, line 38 ¶ | skipping to change at page 62, line 38 ¶ | |||
"InstallTAResponse": { | "InstallTAResponse": { | |||
"payload":"<InstallTATBSResponse JSON above>", | "payload":"<InstallTATBSResponse JSON above>", | |||
"protected": { | "protected": { | |||
"<BASE64URL of signing algorithm>" | "<BASE64URL of signing algorithm>" | |||
}, | }, | |||
"signature": "<signature contents signed by TEE device | "signature": "<signature contents signed by TEE device | |||
private key (BASE64URL)>" | private key (BASE64URL)>" | |||
} | } | |||
} | } | |||
A response message type "status" will be returned when the TEE fails | When the TEE fails to respond, the OTrP Broker will not provide a | |||
to respond. The OTrP Broker is responsible to create this message. | subsequent response to the TAM. The TAM should treat this as if the | |||
device has gone offline where a response is never delivered back. | ||||
{ | ||||
"status": { | ||||
"result": "fail", | ||||
"error-code": "ERR_AGENT_TEE_FAIL", | ||||
"error-message": "TEE fails to respond" | ||||
} | ||||
} | ||||
9.3.1.3. Error Conditions | 9.3.1.3. Error Conditions | |||
An error may occur if a request isn't valid or the TEE runs into some | An error may occur if a request isn't valid or the TEE runs into some | |||
error. The list of possible errors are as follows. Refer to the | error. The list of possible errors are as follows. Refer to the | |||
Error Code List (Section 13.1) for detailed causes and actions. | Error Code List (Section 13.1) for detailed causes and actions. | |||
ERR_AGENT_TEE_BUSY | ||||
ERR_AGENT_TEE_FAIL | ||||
ERR_AGENT_TEE_UNKNOWN | ||||
ERR_REQUEST_INVALID | ERR_REQUEST_INVALID | |||
ERR_UNSUPPORTED_MSG_VERSION | ERR_UNSUPPORTED_MSG_VERSION | |||
ERR_UNSUPPORTED_CRYPTO_ALG | ERR_UNSUPPORTED_CRYPTO_ALG | |||
ERR_DEV_STATE_MISMATCH | ERR_DEV_STATE_MISMATCH | |||
ERR_SD_NOT_FOUND | ERR_SD_NOT_FOUND | |||
ERR_TA_INVALID | ERR_TA_INVALID | |||
ERR_TA_ALREADY_INSTALLED | ERR_TA_ALREADY_INSTALLED | |||
skipping to change at page 68, line 38 ¶ | skipping to change at page 67, line 38 ¶ | |||
"UpdateTAResponse": { | "UpdateTAResponse": { | |||
"payload":"<UpdateTATBSResponse JSON above>", | "payload":"<UpdateTATBSResponse JSON above>", | |||
"protected": { | "protected": { | |||
"<BASE64URL of signing algorithm>" | "<BASE64URL of signing algorithm>" | |||
}, | }, | |||
"signature": "<signature contents signed by TEE device | "signature": "<signature contents signed by TEE device | |||
private key (BASE64URL)>" | private key (BASE64URL)>" | |||
} | } | |||
} | } | |||
A response message type "status" will be returned when the TEE fails | When the TEE fails to respond, the OTrP Broker will not provide a | |||
to respond. The OTrP Broker is responsible to create this message. | subsequent response to the TAM. The TAM should treat this as if the | |||
device has gone offline where a response is never delivered back. | ||||
{ | ||||
"status": { | ||||
"result": "fail", | ||||
"error-code": "ERR_AGENT_TEE_FAIL", | ||||
"error-message": "TEE fails to respond" | ||||
} | ||||
} | ||||
9.3.2.3. Error Conditions | 9.3.2.3. Error Conditions | |||
An error may occur if a request isn't valid or the TEE runs into some | An error may occur if a request isn't valid or the TEE runs into some | |||
error. The list of possible errors are as follows. Refer to the | error. The list of possible errors are as follows. Refer to the | |||
Error Code List (Section 13.1) for detailed causes and actions. | Error Code List (Section 13.1) for detailed causes and actions. | |||
ERR_AGENT_TEE_BUSY | ||||
ERR_AGENT_TEE_FAIL | ||||
ERR_AGENT_TEE_UNKNOWN | ||||
ERR_REQUEST_INVALID | ERR_REQUEST_INVALID | |||
ERR_UNSUPPORTED_MSG_VERSION | ERR_UNSUPPORTED_MSG_VERSION | |||
ERR_UNSUPPORTED_CRYPTO_ALG | ERR_UNSUPPORTED_CRYPTO_ALG | |||
ERR_DEV_STATE_MISMATCH | ERR_DEV_STATE_MISMATCH | |||
ERR_SD_NOT_FOUND | ERR_SD_NOT_FOUND | |||
ERR_TA_INVALID | ERR_TA_INVALID | |||
ERR_TA_NOT_FOUND | ERR_TA_NOT_FOUND | |||
skipping to change at page 72, line 43 ¶ | skipping to change at page 71, line 38 ¶ | |||
"DeleteTAResponse": { | "DeleteTAResponse": { | |||
"payload": "<DeleteTATBSResponse JSON above>", | "payload": "<DeleteTATBSResponse JSON above>", | |||
"protected": { | "protected": { | |||
"<BASE64URL of signing algorithm>" | "<BASE64URL of signing algorithm>" | |||
}, | }, | |||
"signature": "<signature contents signed by TEE device | "signature": "<signature contents signed by TEE device | |||
private key (BASE64URL)>" | private key (BASE64URL)>" | |||
} | } | |||
} | } | |||
A response message type "status" will be returned when the TEE fails | When the TEE fails to respond, the OTrP Broker will not provide a | |||
to respond. The OTrP Broker is responsible to create this message. | subsequent response to the TAM. The TAM should treat this as if the | |||
device has gone offline where a response is never delivered back. | ||||
{ | ||||
"status": { | ||||
"result": "fail", | ||||
"error-code": "ERR_AGENT_TEE_FAIL", | ||||
"error-message": "TEE fails to respond" | ||||
} | ||||
} | ||||
9.3.3.4. Error Conditions | 9.3.3.4. Error Conditions | |||
An error may occur if a request isn't valid or the TEE runs into some | An error may occur if a request isn't valid or the TEE runs into some | |||
error. The list of possible errors are as follows. Refer to the | error. The list of possible errors are as follows. Refer to the | |||
Error Code List (Section 13.1) for detailed causes and actions. | Error Code List (Section 13.1) for detailed causes and actions. | |||
ERR_AGENT_TEE_BUSY | ||||
ERR_AGENT_TEE_FAIL | ||||
ERR_AGENT_TEE_UNKNOWN | ||||
ERR_REQUEST_INVALID | ERR_REQUEST_INVALID | |||
ERR_UNSUPPORTED_MSG_VERSION | ERR_UNSUPPORTED_MSG_VERSION | |||
ERR_UNSUPPORTED_CRYPTO_ALG | ERR_UNSUPPORTED_CRYPTO_ALG | |||
ERR_DEV_STATE_MISMATCH | ERR_DEV_STATE_MISMATCH | |||
ERR_SD_NOT_FOUND | ERR_SD_NOT_FOUND | |||
ERR_TA_NOT_FOUND | ERR_TA_NOT_FOUND | |||
ERR_TEE_FAIL | ERR_TEE_FAIL | |||
skipping to change at page 77, line 49 ¶ | skipping to change at page 76, line 26 ¶ | |||
12.3.3. Attestation Hierarchy Establishment: TAM | 12.3.3. Attestation Hierarchy Establishment: TAM | |||
Before a TAM can begin operation in the marketplace to support | Before a TAM can begin operation in the marketplace to support | |||
devices of a given TEE, it must obtain a TAM certificate from a CA | devices of a given TEE, it must obtain a TAM certificate from a CA | |||
that is registered in the trust store of devices with that TEE. In | that is registered in the trust store of devices with that TEE. In | |||
this way, the TEE can check the intermediate and root CA and verify | this way, the TEE can check the intermediate and root CA and verify | |||
that it trusts this TAM to perform operations on the TEE. | that it trusts this TAM to perform operations on the TEE. | |||
13. IANA Considerations | 13. IANA Considerations | |||
There are two IANA requests: a media type and list of error codes. | ||||
This section first requests that IANA assign a media type: | ||||
application/otrp+json. | ||||
Type name: application | ||||
Subtype name: otrp+json | ||||
Required parameters: none | ||||
Optional parameters: none | ||||
Encoding considerations: Same as encoding considerations of | ||||
application/json as specified in Section 11 of [RFC7159] | ||||
Security considerations: See Section 12 of [RFC7159] and Section 14 | ||||
of this document | ||||
Interoperability considerations: Same as interoperability | ||||
considerations of application/json as specified in [RFC7159] | ||||
Published specification: [TEEPArch] | ||||
Applications that use this media type: OTrP implementations | ||||
Fragment identifier considerations: N/A | ||||
Additional information: | ||||
Deprecated alias names for this type: N/A | ||||
Magic number(s): N/A | ||||
File extension(s): N/A | ||||
Macintosh file type code(s): N/A | ||||
Person to contact for further information: teep@ietf.org | ||||
Intended usage: COMMON | ||||
Restrictions on usage: none | ||||
Author: See the "Authors' Addresses" section of this document | ||||
Change controller: IETF | ||||
The error code listed in the next section will be registered. | The error code listed in the next section will be registered. | |||
13.1. Error Code List | 13.1. Error Code List | |||
This section lists error codes that could be reported by a TA or TEE | This section lists error codes that could be reported by a TA or TEE | |||
in a device in responding to a TAM request, and a separate list that | in a device in responding to a TAM request, and a separate list that | |||
OTrP Broker may return when the TEE fails to respond. | OTrP Broker may return when the TEE fails to respond. | |||
13.1.1. TEE Signed Error Code List | 13.1.1. TEE Signed Error Code List | |||
skipping to change at page 79, line 21 ¶ | skipping to change at page 78, line 43 ¶ | |||
validity of the TAM certificate, etc. If the TEE finds that the | validity of the TAM certificate, etc. If the TEE finds that the | |||
TAM is not trustworthy, then it will return this error code. | TAM is not trustworthy, then it will return this error code. | |||
ERR_UNSUPPORTED_CRYPTO_ALG - This error will occur if a TEE receives | ERR_UNSUPPORTED_CRYPTO_ALG - This error will occur if a TEE receives | |||
a request message encoded with cryptographic algorithms that the | a request message encoded with cryptographic algorithms that the | |||
TEE doesn't support. | TEE doesn't support. | |||
ERR_UNSUPPORTED_MSG_VERSION - This error will occur if a TEE | ERR_UNSUPPORTED_MSG_VERSION - This error will occur if a TEE | |||
receives a message version that the TEE can't deal with. | receives a message version that the TEE can't deal with. | |||
13.1.2. OTrP Broker Error Code List | ||||
ERR_AGENT_TEE_UNKNOWN - This error will occur if the receiver TEE is | ||||
not supposed to receive the request. That will be determined by | ||||
checking the TEE name or device id in the request message. | ||||
ERR_AGENT_TEE_BUSY - The device TEE is busy. The request can be | ||||
generally sent again to retry. | ||||
ERR_AGENT_TEE_FAIL - The TEE fails to respond to a TAM request. The | ||||
OTrP Broker will construct an error message in responding to the | ||||
TAM's request. | ||||
14. Security Consideration | 14. Security Consideration | |||
14.1. Cryptographic Strength | 14.1. Cryptographic Strength | |||
The strength of the cryptographic algorithms, using the measure of | The strength of the cryptographic algorithms, using the measure of | |||
'bits of security' defined in NIST SP800-57 allowed for OTrP is: | 'bits of security' defined in NIST SP800-57 allowed for OTrP is: | |||
o At a minimum, 112 bits of security. The limiting factor for this | o At a minimum, 112 bits of security. The limiting factor for this | |||
is the RSA-2048 algorithm, which is indicated as providing 112 | is the RSA-2048 algorithm, which is indicated as providing 112 | |||
bits of symmetric key strength in SP800-57. It is important that | bits of symmetric key strength in SP800-57. It is important that | |||
skipping to change at page 84, line 49 ¶ | skipping to change at page 84, line 11 ¶ | |||
flow diagrams. We also thank the following people (in alphabetical | flow diagrams. We also thank the following people (in alphabetical | |||
order) for their input and review: Sangsu Baek, Rob Coombs, Dapeng | order) for their input and review: Sangsu Baek, Rob Coombs, Dapeng | |||
Liu, Dave Thaler, and Pengfei Zhao. | Liu, Dave Thaler, and Pengfei Zhao. | |||
16. References | 16. References | |||
16.1. Normative References | 16.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, <https://www.rfc- | DOI 10.17487/RFC2119, March 1997, | |||
editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | |||
Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, | Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, | |||
<https://www.rfc-editor.org/info/rfc4648>. | <https://www.rfc-editor.org/info/rfc4648>. | |||
[RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data | ||||
Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March | ||||
2014, <https://www.rfc-editor.org/info/rfc7159>. | ||||
[RFC7515] Jones, M., Bradley, J., and N. Sakimura, "JSON Web | [RFC7515] Jones, M., Bradley, J., and N. Sakimura, "JSON Web | |||
Signature (JWS)", RFC 7515, DOI 10.17487/RFC7515, May | Signature (JWS)", RFC 7515, DOI 10.17487/RFC7515, May | |||
2015, <https://www.rfc-editor.org/info/rfc7515>. | 2015, <https://www.rfc-editor.org/info/rfc7515>. | |||
[RFC7516] Jones, M. and J. Hildebrand, "JSON Web Encryption (JWE)", | [RFC7516] Jones, M. and J. Hildebrand, "JSON Web Encryption (JWE)", | |||
RFC 7516, DOI 10.17487/RFC7516, May 2015, | RFC 7516, DOI 10.17487/RFC7516, May 2015, | |||
<https://www.rfc-editor.org/info/rfc7516>. | <https://www.rfc-editor.org/info/rfc7516>. | |||
[RFC7517] Jones, M., "JSON Web Key (JWK)", RFC 7517, | [RFC7517] Jones, M., "JSON Web Key (JWK)", RFC 7517, | |||
DOI 10.17487/RFC7517, May 2015, <https://www.rfc- | DOI 10.17487/RFC7517, May 2015, | |||
editor.org/info/rfc7517>. | <https://www.rfc-editor.org/info/rfc7517>. | |||
[RFC7518] Jones, M., "JSON Web Algorithms (JWA)", RFC 7518, | [RFC7518] Jones, M., "JSON Web Algorithms (JWA)", RFC 7518, | |||
DOI 10.17487/RFC7518, May 2015, <https://www.rfc- | DOI 10.17487/RFC7518, May 2015, | |||
editor.org/info/rfc7518>. | <https://www.rfc-editor.org/info/rfc7518>. | |||
[TEEPArch] | [TEEPArch] | |||
Pei, M., Tschofenig, H., Atyeo, A., and D. Liu, "Trusted | Pei, M., Tschofenig, H., Atyeo, A., and D. Liu, "Trusted | |||
Execution Environment Provisioning (TEEP) Architecture", | Execution Environment Provisioning (TEEP) Architecture", | |||
2018, <https://tools.ietf.org/html/draft-ietf-teep- | 2018, <https://tools.ietf.org/html/ | |||
architecture-01>. | draft-ietf-teep-architecture-02>. | |||
16.2. Informative References | 16.2. Informative References | |||
[GPTEE] Global Platform, "Global Platform, GlobalPlatform Device | [GPTEE] Global Platform, "Global Platform, GlobalPlatform Device | |||
Technology: TEE System Architecture, v1.0", 2013. | Technology: TEE System Architecture, v1.0", 2013. | |||
[GPTEECLAPI] | [GPTEECLAPI] | |||
Global Platform, "Global Platform, GlobalPlatform Device | Global Platform, "Global Platform, GlobalPlatform Device | |||
Technology: TEE Client API Specification, v1.0", 2013. | Technology: TEE Client API Specification, v1.0", 2013. | |||
End of changes. 43 change blocks. | ||||
186 lines changed or deleted | 136 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |