| < draft-mavrogiannopoulos-tpmuri-00.txt | draft-mavrogiannopoulos-tpmuri-01.txt > | |||
|---|---|---|---|---|
| Network Working Group C. Latze | Network Working Group C. Latze | |||
| Internet-Draft Swisscom | Internet-Draft Swisscom | |||
| Intended status: Standards Track N. Mavrogiannopoulos | Intended status: Standards Track N. Mavrogiannopoulos | |||
| Expires: July 22, 2013 KU Leuven | Expires: July 29, 2013 KU Leuven | |||
| January 18, 2013 | January 25, 2013 | |||
| The TPMKEY URI Scheme | The TPMKEY URI Scheme | |||
| draft-mavrogiannopoulos-tpmuri-00 | draft-mavrogiannopoulos-tpmuri-01 | |||
| Abstract | Abstract | |||
| This memo specifies a TPMKEY Uniform Resource Identifier (URI) Scheme | This memo specifies a TPMKEY Uniform Resource Identifier (URI) Scheme | |||
| for identifying cryptographic keys stored in TPM chips and access | for identifying cryptographic keys stored in TPM chips and accessed | |||
| using the TCG Software Stack (TSS). The URI is based on how TPM keys | using the TCG Software Stack (TSS). The URI is based on how TPM keys | |||
| are identified in the TSS specification. | are identified in the TSS specification. | |||
| 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 http://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 July 22, 2013. | This Internet-Draft will expire on July 29, 2013. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2013 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 | (http://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 | |||
| skipping to change at page 2, line 13 ¶ | skipping to change at page 2, line 13 ¶ | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. TPMKEY URI Scheme Definition . . . . . . . . . . . . . . . . . 3 | 2. TPMKEY URI Scheme Definition . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. TPMKEY URI Scheme Name . . . . . . . . . . . . . . . . . . 3 | 2.1. TPMKEY URI Scheme Name . . . . . . . . . . . . . . . . . . 3 | |||
| 2.2. TPMKEY URI Scheme Status . . . . . . . . . . . . . . . . . 3 | 2.2. TPMKEY URI Scheme Status . . . . . . . . . . . . . . . . . 3 | |||
| 2.3. TPMKEY URI Scheme Syntax . . . . . . . . . . . . . . . . . 3 | 2.3. TPMKEY URI Scheme Syntax . . . . . . . . . . . . . . . . . 3 | |||
| 2.4. TPMKEY URI scheme semantics . . . . . . . . . . . . . . . . 4 | 2.4. TPMKEY URI scheme semantics . . . . . . . . . . . . . . . . 4 | |||
| 2.5. TPMKEY encoding considerations . . . . . . . . . . . . . . 4 | 2.5. Applicability of the TPMKEY URI scheme . . . . . . . . . . 4 | |||
| 2.6. applications/ protocols that use the TPMKEY URI scheme . . 4 | 3. Examples of TPMKEY URI Schemes . . . . . . . . . . . . . . . . 4 | |||
| 3. Examples of TPMKEY URI Schemes . . . . . . . . . . . . . . . . 5 | ||||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . . 5 | 7.1. Normative References . . . . . . . . . . . . . . . . . . . 5 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . . 6 | 7.2. Informative References . . . . . . . . . . . . . . . . . . 6 | |||
| 1. Introduction | 1. Introduction | |||
| The Trusted Platform Module (TPM) is a trusted piece of hardware | The Trusted Platform Module (TPM) is a trusted piece of hardware | |||
| skipping to change at page 3, line 42 ¶ | skipping to change at page 3, line 42 ¶ | |||
| since the authority part could not be mapped to TPM key elements. | since the authority part could not be mapped to TPM key elements. | |||
| The URI scheme does not use the optional query and fragment elements. | The URI scheme does not use the optional query and fragment elements. | |||
| 2. TPMKEY URI Scheme Definition | 2. TPMKEY URI Scheme Definition | |||
| In accordance with [RFC4395], this section provides the information | In accordance with [RFC4395], this section provides the information | |||
| required to register the TPMKEY URI scheme. | required to register the TPMKEY URI scheme. | |||
| 2.1. TPMKEY URI Scheme Name | 2.1. TPMKEY URI Scheme Name | |||
| tsskey | tpmkey | |||
| 2.2. TPMKEY URI Scheme Status | 2.2. TPMKEY URI Scheme Status | |||
| Provisional. | Provisional. | |||
| 2.3. TPMKEY URI Scheme Syntax | 2.3. TPMKEY URI Scheme Syntax | |||
| The TPMKEY URI scheme is a sequence of attribute value pairs | The TPMKEY URI scheme is a sequence of attribute value pairs | |||
| separated by a semicolon. In accordance with [RFC3986], the data | separated by a semicolon. In accordance with [RFC3986], the data | |||
| should first be encoded as octets according to the UTF-8 character | should first be encoded as octets according to the UTF-8 character | |||
| encoding [RFC3629]; then only those octets that do not correspond to | encoding [RFC3629]; then only those octets that do not correspond to | |||
| characters in the unreserved set or to permitted characters from the | characters in the unreserved set or to permitted characters from the | |||
| reserved set should be percent-encoded. Rules "unreserved" and "pct- | reserved set should be percent-encoded. Rules "unreserved" and "pct- | |||
| encoded" in the TPMKEY specification below were imported from | encoded" in the TPMKEY specification below were imported from | |||
| [RFC3986]. As a special case, note that according to [RFC3986], a | [RFC3986]. As a special case, note that according to [RFC3986], a | |||
| space must be percent-encoded. | space must be percent-encoded. | |||
| A TPMKEY URI takes the form (for explanation of Augmented BNF, see | A TPMKEY URI takes the form (for explanation of Augmented BNF, see | |||
| [RFC5234]): | [RFC5234]): | |||
| tsskey-URI = "tsskey" ":" tsskey-identifier | tpmkey-URI = "tpmkey" ":" tpmkey-identifier | |||
| tsskey-identifier = *1(tsskey-attr *(";" tsskey-attr)) | tpmkey-identifier = *1(tpmkey-attr *(";" tpmkey-attr)) | |||
| tsskey-attr = tsskey-uuid / tsskey-file / pk11-storage | tpmkey-attr = tpmkey-uuid / tpmkey-file / pk11-storage | |||
| tsskey-reserved-avail = ":" / "[" / "]" / "@" / "!" / "$" / | tpmkey-reserved-avail = ":" / "[" / "]" / "@" / "!" / "$" / | |||
| "&" / "'" / "(" / ")" / "*" / "+" / | "&" / "'" / "(" / ")" / "*" / "+" / | |||
| "," / "=" | "," / "=" | |||
| tsskey-char = unreserved / tsskey-reserved-avail / | tpmkey-char = unreserved / tpmkey-reserved-avail / | |||
| pct-encoded | pct-encoded | |||
| tsskey-file = "file" "=" *tsskey-char | tpmkey-file = "file" "=" *tpmkey-char | |||
| tsskey-uuid = "uuid" "=" *tsskey-char | tpmkey-uuid = "uuid" "=" UUID | |||
| tsskey-storage = "storage" "=" *1("user" / "system") | tpmkey-storage = "storage" "=" *1("user" / "system") | |||
| The attribute "file" represents a filename and corresponds to a file | More specifically, the attribute "uuid" represents a unique | |||
| that contains a BER-encoded blob in accordance with the ASN.1 data | identifier of a TPM key and its structure is defined in [RFC4122]. | |||
| definitions in the Portable Data section of the Trusted Computing | The attribute "storage" corresponds to the storage subsystem used | |||
| Group Software Stack Specification Version 1.2. The attribute "uuid" | (user or system). The attribute "file" represents a filename and | |||
| represents a unique identifier of a TPM key and the attribute | corresponds to a file that contains a BER-encoded blob in accordance | |||
| "storage" corresponds to the storage subsystem used (user or system). | with the ASN.1 data definitions in the Portable Data section of the | |||
| Trusted Computing Group Software Stack Specification Version 1.2. | ||||
| 2.4. TPMKEY URI scheme semantics | 2.4. TPMKEY URI scheme semantics | |||
| The TPMKEY URI scheme is used to reference TPM keys through the TSS. | The TPMKEY URI scheme is used to reference TPM keys through the TSS. | |||
| The allowed operations on the URI are defined by the TSS | The allowed operations on the URI are defined by the TSS | |||
| specification. | specification. | |||
| 2.5. TPMKEY encoding considerations | 2.5. Applicability of the TPMKEY URI scheme | |||
| Not sure what to write here | ||||
| 2.6. applications/ protocols that use the TPMKEY URI scheme | ||||
| The TPMKEY URI scheme SHOULD be used by all application and protocols | The TPMKEY URI scheme is relevant to applications and protocols that | |||
| that use the TPM through the TSS. | need to identify TPM keys that are accessed through TSS. | |||
| 3. Examples of TPMKEY URI Schemes | 3. Examples of TPMKEY URI Schemes | |||
| One of the simplest forms is from a key stored in the TSP. | One of the simplest forms is from a key stored in the TSP. | |||
| tsskey:uuid=7f468c16-cb7f-11e1-824d-b3a4f4b20343;storage=user | tpmkey:uuid=7f468c16-cb7f-11e1-824d-b3a4f4b20343;storage=user | |||
| A TPM key that is stored in a system's file. | A TPM key that is stored in a system's file. | |||
| tsskey:file=/path/to/file | tpmkey:file=/path/to/file | |||
| 4. IANA Considerations | 4. IANA Considerations | |||
| This document registers a URI scheme. The registration template can | This document registers a URI scheme. The registration template can | |||
| be found in Section 3 of this document. | be found in Section 2 of this document. | |||
| 5. Security Considerations | 5. Security Considerations | |||
| There are security considerations for URI schemes discussed in | There are security considerations for URI schemes discussed in | |||
| [RFC3986]. | [RFC3986]. | |||
| Given that the TPMKEY URI is also supposed to be used in command line | Given that the TPMKEY URI is also supposed to be used in command line | |||
| arguments to running programs, and those arguments can be world | arguments to running programs, and those arguments can be world | |||
| readable on some systems, the URI intentionaly does not allow for | readable on some systems, the URI intentionaly does not allow for | |||
| specifying the TPM key password as a URI attribute. | specifying the TPM key password as a URI attribute. | |||
| 6. Acknowledgements | 6. Acknowledgements | |||
| This document derives from [PKCS11URI]. Furthermore the authors want | This document derives from [I-D.pechanec-pkcs11uri]. Furthermore the | |||
| to thank Greg Kazmierczak for early feedback. | authors want to thank Greg Kazmierczak for early feedback. | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | [RFC3986] Berners-Lee, T., Fielding, R., and L. | |||
| Resource Identifier (URI): Generic Syntax", STD 66, | Masinter, "Uniform Resource Identifier | |||
| RFC 3986, January 2005. | (URI): Generic Syntax", STD 66, RFC 3986, | |||
| January 2005. | ||||
| [RFC4395] Hansen, T., Hardie, T., and L. Masinter, "Guidelines and | [RFC4395] Hansen, T., Hardie, T., and L. Masinter, | |||
| Registration Procedures for New URI Schemes", BCP 35, | "Guidelines and Registration Procedures for | |||
| RFC 4395, February 2006. | New URI Schemes", BCP 35, RFC 4395, | |||
| February 2006. | ||||
| [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO | [RFC3629] Yergeau, F., "UTF-8, a transformation | |||
| 10646", STD 63, RFC 3629, November 2003. | format of ISO 10646", STD 63, RFC 3629, | |||
| November 2003. | ||||
| [TPMMAIN] "TPM Main Specification". | [RFC4122] Leach, P., Mealling, M., and R. Salz, "A | |||
| Universally Unique IDentifier (UUID) URN | ||||
| Namespace", RFC 4122, July 2005. | ||||
| [TSS] "TCG Software Stack (TSS) Specification". | [TPMMAIN] TCG, "TPM Main Specification Version 1.2", | |||
| March 2011. | ||||
| [TSS] TCG, "TCG Software Stack (TSS) | ||||
| Specification Version 1.2", March 2007. | ||||
| 7.2. Informative References | 7.2. Informative References | |||
| [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax | [RFC5234] Crocker, D. and P. Overell, "Augmented BNF | |||
| Specifications: ABNF", STD 68, RFC 5234, January 2008. | for Syntax Specifications: ABNF", STD 68, | |||
| RFC 5234, January 2008. | ||||
| [PKCS11URI] "The PKCS#11 URI Scheme", Internet Draft , Feb 2012. | [I-D.pechanec-pkcs11uri] Pechanec, J. and D. Moffat, "The PKCS#11 | |||
| URI Scheme", draft-pechanec-pkcs11uri-07 | ||||
| (work in progress), December 2012. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Carolin Latze | Carolin Latze | |||
| Swisscom Switzerland Ltd | Swisscom Switzerland Ltd | |||
| Ostermundigenstrasse 93 | Ostermundigenstrasse 93 | |||
| Bern, 3008 | Bern, 3008 | |||
| Switzerland | Switzerland | |||
| EMail: carolin.latze@swisscom.com | EMail: carolin.latze@swisscom.com | |||
| End of changes. 23 change blocks. | ||||
| 48 lines changed or deleted | 56 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||