idnits 2.17.00 (12 Aug 2021)
/tmp/idnits32021/draft-turner-sodp-00.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
No issues found here.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the IETF Trust and authors Copyright Line does not
match the current year
-- The document date (March 7, 2011) is 4092 days in the past. Is this
intentional?
Checking references for intended status: Proposed Standard
----------------------------------------------------------------------------
(See RFCs 3967 and 4897 for information about using normative references
to lower-maturity documents in RFCs)
== Unused Reference: 'XMLNS' is defined on line 1920, but no explicit
reference was found in the text
** Obsolete normative reference: RFC 2460 (Obsoleted by RFC 8200)
** Obsolete normative reference: RFC 2616 (Obsoleted by RFC 7230, RFC 7231,
RFC 7232, RFC 7233, RFC 7234, RFC 7235)
** Downref: Normative reference to an Informational RFC: RFC 2818
** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126)
** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446)
** Obsolete normative reference: RFC 5751 (Obsoleted by RFC 8551)
** Downref: Normative reference to an Informational RFC: RFC 5911
** Downref: Normative reference to an Informational RFC: RFC 5912
== Outdated reference: draft-ietf-tls-ssl2-must-not has been published as
RFC 6176
== Outdated reference: draft-turner-cms-symmetrickeypackage-algs has been
published as RFC 6160
-- Possible downref: Non-RFC (?) normative reference: ref. 'XMLSCHEMA'
-- Possible downref: Non-RFC (?) normative reference: ref. 'TO DO'
-- Obsolete informational reference (is this intentional?): RFC 5996
(Obsoleted by RFC 7296)
Summary: 8 errors (**), 0 flaws (~~), 4 warnings (==), 4 comments (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 Network Working Group S. Turner
3 Internet-Draft IECA
4 Intended status: Standards Track March 7, 2011
5 Expires: September 6, 2011
7 Secure Object Delivery Protocol (SODP)
8 draft-turner-sodp-00.txt
10 Abstract
12 This document describes the Secure Object Delivery Protocol (SODP).
13 SODP enables clients to access secure packages produced by a Key
14 Management Systems (KMS). Client access is ideally direct and web-
15 based, but access via agents acting on behalf of clients is
16 supported.
18 Status of this Memo
20 This Internet-Draft is submitted in full conformance with the
21 provisions of BCP 78 and BCP 79.
23 Internet-Drafts are working documents of the Internet Engineering
24 Task Force (IETF). Note that other groups may also distribute
25 working documents as Internet-Drafts. The list of current Internet-
26 Drafts is at http://datatracker.ietf.org/drafts/current/.
28 Internet-Drafts are draft documents valid for a maximum of six months
29 and may be updated, replaced, or obsoleted by other documents at any
30 time. It is inappropriate to use Internet-Drafts as reference
31 material or to cite them other than as "work in progress."
33 This Internet-Draft will expire on September 6, 2011.
35 Copyright Notice
37 Copyright (c) 2011 IETF Trust and the persons identified as the
38 document authors. All rights reserved.
40 This document is subject to BCP 78 and the IETF Trust's Legal
41 Provisions Relating to IETF Documents
42 (http://trustee.ietf.org/license-info) in effect on the date of
43 publication of this document. Please review these documents
44 carefully, as they describe your rights and restrictions with respect
45 to this document. Code Components extracted from this document must
46 include Simplified BSD License text as described in Section 4.e of
48 Internet-Draft SODP 2011-03-07
50 the Trust Legal Provisions and are provided without warranty as
51 described in the Simplified BSD License.
53 Table of Contents
55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
56 1.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . 3
57 1.2 Key Words . . . . . . . . . . . . . . . . . . . . . . . . . 5
58 2. SODP Model . . . . . . . . . . . . . . . . . . . . . . . . . . 5
59 3. Key Management System . . . . . . . . . . . . . . . . . . . . . 8
60 3.1. KMS Services . . . . . . . . . . . . . . . . . . . . . . . 8
61 3.1.2. Distribution Service . . . . . . . . . . . . . . . 10
62 3.1.3. Publication Service . . . . . . . . . . . . . . . . 11
63 3.1.4. Certificate Management Service . . . . . . . . . . 12
64 3.2. KMS Packages . . . . . . . . . . . . . . . . . . . . . . 13
65 4. Client . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
66 4.1. Registration . . . . . . . . . . . . . . . . . . . . . . 14
67 4.2. Activation and Operation . . . . . . . . . . . . . . . . 16
68 4.3. Packages . . . . . . . . . . . . . . . . . . . . . . . . 17
69 5. Agents . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
70 6. Electronic Serial Number . . . . . . . . . . . . . . . . . . 18
71 7. Product Availability List . . . . . . . . . . . . . . . . . . 18
72 7.1. PAL Format . . . . . . . . . . . . . . . . . . . . . . . 21
73 7.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 22
74 7.2.1. URI Scheme . . . . . . . . . . . . . . . . . . . . . 23
75 7.2.2. URI Authority . . . . . . . . . . . . . . . . . . . 24
76 7.2.3. URI Path . . . . . . . . . . . . . . . . . . . . . . 24
77 7.2.4. URI Query and Fragments . . . . . . . . . . . . . . 25
78 8. SODP Transport Requirements . . . . . . . . . . . . . . . . . 26
79 8.1. KMS Requirements . . . . . . . . . . . . . . . . . . . . 26
80 8.2. Client Requirements . . . . . . . . . . . . . . . . . . . 27
81 8.3. Agent Requirements . . . . . . . . . . . . . . . . . . . 27
82 9. Message Sequences . . . . . . . . . . . . . . . . . . . . . . 28
83 9.1. Distribution . . . . . . . . . . . . . . . . . . . . . . 28
84 9.2. Publication . . . . . . . . . . . . . . . . . . . . . . . 29
85 9.3. Certificate Management . . . . . . . . . . . . . . . . . 30
86 10. Cryptographic Algorithm Requirements . . . . . . . . . . . . 32
87 10.1. Package Protection . . . . . . . . . . . . . . . . . . . 32
88 10.2. TLS Cipher Suites . . . . . . . . . . . . . . . . . . . 33
89 10.3. Certificates . . . . . . . . . . . . . . . . . . . . . . 33
90 11. Security Considerations . . . . . . . . . . . . . . . . . . . 33
91 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34
92 12.1. SODP Name Space . . . . . . . . . . . . . . . . . . . . 34
93 12.2. SODP Schema . . . . . . . . . . . . . . . . . . . . . . 35
94 12.3. SODP Message Types . . . . . . . . . . . . . . . . . . . 36
95 12.4. SODP Path 1 String Values . . . . . . . . . . . . . . . 38
96 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . 38
98 Internet-Draft SODP 2011-03-07
100 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 38
101 14.1. Normative References . . . . . . . . . . . . . . . . . . 38
102 14.2. Informative References . . . . . . . . . . . . . . . . . 40
103 Appendix A. Example Encodings . . . . . . . . . . . . . . . . . . 42
104 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 42
106 1. Introduction
108 The Secure Object Delivery Protocol (SODP) enables clients to obtain
109 secured packages from a supporting Key Management System (KMS).
110 Client access is via the HyperText Transfer Protocol (HTTP) over
111 Transport Security Layer (TLS). Clients can directly access the KMS
112 or an agent can act on the client's behalf. Clients access the KMS
113 to retrieve a Product Availability List (PAL), which provides the
114 location of their packages with a User Resource Identifier (URI), or
115 can directly retrieve the package if the client obtains the URI via
116 another method. Packages are secured using the Cryptographic Message
117 Syntax (CMS).
119 The remainder of this document will explain the SODP model, provide
120 requirements for the KMS, client, and agent, as well specify the PAL
121 format.
123 1.1 Definitions
125 Agent: An entity that performs functions on behalf of a client.
126 Asymmetric Key Package: A package that includes an asymmetric key
127 content type [RFC5959].
129 Certificate Management Packages: A package that contains a PKI Data
130 or PKI Response content types [RFC5272][RFC5912].
132 Clients: An entity that contains one or more End Cryptographic Unit
133 (ECU). Clients consume products generated by the Key Management
134 System (KMS).
136 Encrypted Key Package: A package that includes an encrypted key
137 content type [RFC6032].
139 Firmware Package: A package that contains a firmware content type
140 [RFC4108][RFC5911].
142 NOTE: [RFC4108] defines the semantics for the firmware content
143 type's fields. [RFC5911] provides the 2002 ASN.1 definitions.
145 Identity and Authentication (IA) Key/Certificate: Key/Certificate
147 Internet-Draft SODP 2011-03-07
149 used to support IA of the client, when the client communicates with
150 the KMS as well as with other end-entities. It provides the KMS or
151 other end-entities with an appropriate degree of confidence in the
152 client's identity before delivering products, services or sensitive
153 information to the client.
155 Key Exchange (KE) Key/Certificate: Key/Certificate used when the
156 client and the KMS or other end-entity must cooperatively create a
157 wrapping key to protect the delivery of products or sensitive
158 information for use by the client. It is also used to establish
159 secure sessions (e.g., TLS) from a client to the KMS. Other examples
160 include traffic encryption keys and transmission security keys.
162 Key Management System (KMS): A set of one or more components that is
163 designed to protect, manage, and distribute cryptographic products.
164 In this document, cryptographic products are referred to as packages.
166 Operator: A person who "runs" the device (e.g., network
167 administrator).
169 Package: An object that contains one or more CMS content types. At a
170 minimum, all packages are protected using the CMS [RFC5652]
171 SignedData structure. There are numerous types of packages:
172 Asymmetric, Certificate Management, Encrypted Key, Firmware,
173 Publication, and Symmetric Packages.
175 NOTE: This document does not define any packages they are all
176 defined elsewhere. Product Availability List (PAL): A PAL is an
177 XML file that furnishes information for KMS service messages that
178 are currently available and authorized for retrieval by a client
179 or agent.
181 Publication Package: A package that contains certificates and
182 Certificate Revocation Lists (CRLs). These are typically additional
183 CA certificates or CRLs not provided as part of other packages. The
184 package is a degenerate CMS SignedData, which is sometimes referred
185 to as a "certs-only" message.
187 Service Messages: KMS-produced packages are the instantiation of the
188 KMS services. This document defines three services that manifest in
189 three types of service messages: publication, distribution, and
190 certificate management. One, registration, does not manifest itself
191 in a service message.
193 Source Authority: A source authority is trusted by clients to
194 generate particular package types. Clients determine this by
195 validating the digital signature on the package back to a Trust
196 Anchor (TA).
198 Internet-Draft SODP 2011-03-07
200 Sponsor: A person that is accountable for use of the client's
201 identity. This may or may not be the entity that operates the client
202 (i.e., the operator).
204 Symmetric Key Package: A package that contains a symmetric key
205 content type [RFC6031].
207 Trust Anchor (TA): From [RFC5934], a TA contains a public key that is
208 used to validate digital signatures. In this document, a TA
209 represents an authoritative entity via a public key and associated
210 data. The public key is used to verify digital signatures and the
211 associated data is used to constrain the types of information for
212 which the TA is authoritative. A relying party uses TAs to determine
213 if a digitally signed object is valid by verifying a digital
214 signature using the TA's public key, and by enforcing the constraints
215 expressed in the associated data for the TA.
217 1.2 Key Words
219 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
220 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
221 "OPTIONAL" in this document are to be interpreted as described in
222 [RFC2119].
224 2. SODP Model
226 Figure 1 depicts the SODP model. It is comprised of three entities:
227 the key management system, one or more clients, and agents acting on
228 behalf of clients. KMS-to-client and KMS-to-agent protocol
229 interactions are in-scope; agent-to-client protocol interactions are
230 out-of-scope. KMS-to-client and KMS-to-agent interactions support
231 mutual authentication, provide integrity, and optionally provide
232 confidentiality through the use of HTTPS. Confidentiality for KMS-
233 to-client and KMS-to-agent interactions is OPTIONAL because when
234 confidentiality is needed the packages are encrypted for the client.
235 See Section 10 for requirements on cryptographic suites.
237 Internet-Draft SODP 2011-03-07
239 <===> IP-Based Protocol Profile (in scope)
240 <- -> ECU-Specified Access Protocol (out of scope)
241 ///// CMS-Protected Packages (in scope; full support)
242 \\\\\ CMS-Protected Packages (in scope; partial support;
243 requires validation of outer signature only)
244 +----------------+
245 | | +------------+
246 | Key | | Client A |
247 | Management | | +---+ |
248 | System |<=====>| /// |ECU| |
249 | | | /A/ | | |
250 | +-------+ /// | | /// | A | |
251 | |A's PAL| /A/ | | +---+ |
252 | +-------+ /// | +------------+
253 | |
254 | +-------+ /// | +-------+ +------------+
255 | |B's PAL| /B/ | | | | Client B |
256 | +-------+ /// | | | | +---+ |
257 | | | Agent |<- - ->| /// |ECU| |
258 | +-------+ /// | | | | /B/ | | |
259 | |C's PAL| /C/ | | | | /// | B | |
260 | +-------+ /// | | \\\ | | +---+ |
261 | |<=====>| \B\ | +------------+
262 | . . | | \\\ |
263 | . . | | | +------------+
264 | . . | | | | Client C |
265 | | | \\\ | | +---+ |
266 | +-------+ /// | | \C\ |<- - ->| /// |ECU| |
267 | |Z's PAL| /Z/ | | \\\ | | /C/ | | |
268 | +-------+ /// | | | | /// | C | |
269 | | | | | +---+ |
270 +----------------+ +-------+ +------------+
272 Figure 1 - SODP Model
274 Clients or agents access the KMS via HTTPS to retrieve and inspect
275 their PAL. The PAL is an XML file that contains Uniform Resource
276 Identifiers (URIs) for client packages. Retrieval of packages
277 referenced in the PAL delivers KMS services to the client.
278 Alternatively, clients can retrieve packages directly from the KMS if
279 they obtain URIs from another source. KMS services are discussed in
280 Section 2.1; the PAL and URI format are discussed in Section 5.
282 While the KMS is viewed as being a single entity, operationally the
283 issuance of different packages can be assigned to different
284 authorities within the KMS. These authorities are referred to as
285 source authorities. A source authority is trusted by clients to
287 Internet-Draft SODP 2011-03-07
289 generate particular package types. Entities validate their source
290 authorities when validating the digital signature(s) in/on packages.
291 That is, when a client retrieves a package referred to in their PAL
292 the client ensures that the signatures in/on the package validate to
293 an installed trust anchor (TA). See Section 4.1 for more information
294 on clients' TAs.
296 Packages may be encrypted for the client. Packages that contain
297 cleartext (i.e., unencrypted) symmetric keys or asymmetric private
298 keys MUST be encrypted for the client to ensure that the keys are not
299 disclosed to another party. Relying on encrypted packages instead of
300 relying on HTTPS-encrypted links allows agents to further distribute
301 the packages to clients without disclosing the cleartext to the
302 agent. Encrypted packages also enable alternate distribution paths
303 such as store-and-forward, which is beyond the scope of this
304 document. Package requirements are discussed in Section 4.
306 Prior to clients accessing the KMS, clients need be registered with
307 the KMS. The process for this will vary. One possible process
308 involves sponsorship by an individual. This individual collects
309 information about the client and enters the information into the
310 KMS's database. Also during this time, the client is assigned an
311 initial identity. Once registered, the client is issued a
312 certificate, which is later used to access the KMS. Clients and
313 agents use what is referred to as IA certificates when communicating
314 with the KMS. An IA certificate provides the client's/agent's
315 identity and allows the KMS to authenticate that the entity accessing
316 the KMS is in fact the client/agent. The registration and client IA
317 certificate issuance process is described in more detail in Section
318 3.1. The format and protocol for communicating the registration data
319 and sending the initial IA certificate directly to client is out-of-
320 scope. The client authenticates itself to the KMS with this
321 certificate using HTTPS. After the IA certificate is installed, the
322 client requests a KE certificate. KE certificates allow clients to
323 perform key establishment with the KMS to decrypt/encrypt packages.
325 Some implementations may require further separation for some clients
326 who are issued another set of certificates that support client-to-
327 client interactions, which is the client's joie de vivre or the
328 client's mission. The initial certificate set is only used to
329 communicate with the KMS and the second set is only ever used to
330 communicate with other clients. In this case the first set is
331 referred to as IA(I)/KE(I) certificates for (I)nfrastructure
332 certificates and the second set is referred to as IA(M)/KE(M)
333 certificates for (M)ission certificates. Not all clients need the
334 second set of certificate, if clients only need symmetric key, then
335 only one set of certificates is issued. *(I) certificates are issued
336 to it and instead of IA(M)/KE(M) certificates issued later only
338 Internet-Draft SODP 2011-03-07
340 symmetric key packages are provided.
342 3. Key Management System
344 The SODP is the interface to the KMS that clients use to access KMS-
345 services and associated KMS-generated packages. The internal
346 components of the KMS and their interactions are out-of-scope.
347 However, if a KMS provides all of the KMS packages (see Section 3.2),
348 it will need the capability to package trust anchors (TAs), generate
349 and package symmetric keys, package firmware, generate and package
350 asymmetric keys, issue and package public key certificates, and issue
351 and package Certificate Revocation Lists (CRLs). It will also need
352 to generate and receive packages, which includes generating and
353 verifying digital signatures on packages as well as encrypting and
354 decrypting of packages. Additionally, it will need a repository to
355 store information about clients and their packages.
357 The remainder of this section is split in to two parts. The first
358 part, Section 3.1, describes the KMS services and the second part,
359 Section 3.2, describes the KMS package requirements.
361 3.1. KMS Services
363 This section addresses the four services provided by the KMS:
364 Registration, Distribution, Publication, and Certificate Management.
365 The latter three services are instantiated in packages.
367 3.1.1. Registration Service
369 The KMS only provides services to clients that are KMS-registered.
370 Registration information collected is KMS-specific. However, the
371 information collected MUST include a permanent identifier that is
372 used to identify the client throughout its lifecycle. This permanent
373 identifier is referred to as an Electronic Serial Number (ESN). See
374 Section 6 for more information on ESNs.
376 Other OPTIONAL information to collect includes:
378 o Client Manufacturer
379 o Client Name
380 o Client Type
382 The KMS could also assign a KMS user number for an internal index,
383 label, or abbreviated name for associating data elements pertaining
384 to that user. This number is not sent to the client and is only used
385 by the KMS.
387 During this step the client is also assigned an identity, which the
389 Internet-Draft SODP 2011-03-07
391 KMS stores in its database. At a minimum the identity is an
392 identifier but it can also include additional information such as a
393 client's sponsor (e.g., Alexa Morris), the client's operator (e.g.,
394 Alexa Morris), and the sponsor's organizational affiliation (e.g.,
395 AMS). That is, the KMS MUST assign and record an identifier to the
396 client, but recording other client-related identity data is OPTIONAL.
397 Additionally:
399 o For cases where the sponsor isn't the entity that operates the
400 client, the identity can also include an indication of the entity
401 operating the client. This allows the network group to sponsor
402 the client, but the security group to operate the client (i.e.,
403 network groups say it's okay to add client to the network but
404 doesn't want to manage the clients keys).
406 o For cases where the client can be transferred from one operator
407 to another, the identity MUST include identity of the previous
408 operator. This provides a "chain-of-control" over the device for
409 its lifetime. A KMS can support a wide variety of environments:
411 o For a KMS that support non-X.509 certificate and non-X.509 CRL
412 types, the identity SHOULD include an indication of certificate
413 type.
415 NOTE: This supports cases where the client uses alternate
416 certificate formats such as Pretty Good Privacy (PGP) [RFC4880].
417 Alternative certificate formats are supported by many security
418 protocols including Internet Key Exchange v2 (IKEv2) [RFC5996],
419 TLS [RFC5246], and CMS [RFC5652].
421 o For a KMS that supports humans as well as clients, the identity
422 SHOULD include an indication of the type of user (e.g.,
423 client/device, human, administrator).
425 The KMS MUST ensure that the client identity is KMS-unique. That is,
426 the collection of data that comprises the client identity MUST NOT
427 match another client served by the KMS. After this check passes, the
428 final step in the registration process occurs: client IA certificate
429 issuance. The KMS MUST issue a certificate [RFC5280] to the client
430 that contains the client's permanent identifier (see Section 6).
431 NOTE: 1) The process for delivering the IA certificate directly to
432 the client is out-of-scope; 2) the format and protocol for
433 communicating the registration data is out-of-scope; and 3) the
434 client need not contribute to or respond to the supplied identity
435 information.
437 Internet-Draft SODP 2011-03-07
439 3.1.2. Distribution Service
441 The KMS employs the distribution service to provide clients' access
442 to their packages. The KMS provides access to packages through the
443 use of URIs, which uniquely refers to specifically CMS-wrapped
444 packages for delivery to the target client. The KMS generates a PAL
445 that clients can use to retrieve packages. Alternatively, the client
446 can directly access the package, but this assumes the client obtained
447 the URI(s) via another mechanism, which is out-of-scope. Packages
448 include symmetric key packages as well as centrally-generated
449 asymmetric key packages.
451 NOTE: Certificates associated with client generated asymmetric
452 keys (i.e., locally-generated public-private keys) are delivered
453 via the Certificate Management Service (See Section 3.1.3).
455 Figure 2 depicts an example ladder diagram for a protocol flow. The
456 first step is to establish a mutually authenticated HTTPS connection
457 between the client/agent and KMS. The client then requests their PAL
458 from the KMS (via HTTP GET). The KMS replies with the client's PAL
459 (via HTTP GET Response). Once a client has successfully downloaded
460 their PAL, it will process it to obtain the included packages(s).
461 The processing provided will depend on the PAL entry. Section 3.2
462 details the KMS-package requirements, Section 4 details clients-
463 package requirements, and Section 5 details agent-package
464 requirements.
466 Internet-Draft SODP 2011-03-07
468 | |
469 KMS | Establish HTTPS | Client or Agent
470 | Connection |
471 |<-------------------->|
472 | |
473 | Request PAL |
474 | (HTTP GET) |
475 |<---------------------|
476 |--------------------->|
477 | Deliver PAL with URI |
478 | (HTTP GET Response) |
479 | |
480 | Request packages by |
481 | specified URI |
482 | (HTTP GET) |
483 |<---------------------|
484 |--------------------->|
485 | Deliver requested |
486 | CMS package product |
487 | (HTTP GET Response) |
488 | |
490 Figure 2 - SODP Distribution Service Message Sequence
492 A device can request (via HTTP GET) and download (via HTTP GET
493 Response) any, or all, packages and new PALs by repeating the
494 necessary sequence of steps. When the client is finished, it SHOULD
495 terminate the connection. See Section 8 for more information on
496 SODP's HTTP requirements.
498 The KMS MUST support generation of a PAL. The KMS MUST support
499 access to client packages directly and through a PAL.
501 3.1.3. Publication Service
503 The KMS Publication Service provides clients that are PKI subscribers
504 and relying parties with a means to obtain publicly-available,
505 ancillary services related to PKIs namely: Certificates, CRLs,
506 Certificate Policies (CPs), and Certificate Practice Statements
507 (CPSs) packages. The KMS MUST support distribution of CRLs but MAY
508 support distribution of CPs and CPSs.
510 NOTE: CPs and CPSs are the one exception to the Package
511 definition found in section 1.1. CPs and CPSs are not
512 encapsulated in CMS, they are URIs to the location on the KMS for
513 the CP and CPS.
515 Certificates delivered can include additional CA certificates or peer
517 Internet-Draft SODP 2011-03-07
519 client certificate(s).
521 Clients may elect to obtain the CRLs that they rely on from sources
522 other than the (e.g., a local directory).
524 CRLs are offered in the form, or forms, produced by the responsible
525 Certification Authority (CA). The form of the CRL is transparent to
526 the KMS Publication Service. CAs may choose to publish compact
527 versions of CRLs (e.g., partitioned CRLs) that are compatible with a
528 disadvantaged client within the overall subscriber population. The
529 PAL provided to a client will always contain a URI for the most
530 current version of each CRL needed to verify the packages in the form
531 used by the particular client. The KMS Publication Service will not
532 list CRLs that a client does not need or cannot use. Based on its
533 capabilities, the freshness of currently held CRLs, and the
534 circumstances, the client will determine whether it needs to download
535 each offered CRL. KMS Publication Services packages will be signed,
536 but need not be encrypted. The information in the package is already
537 signed; CAs sign the certificates and CRLs so there is no need to
538 sign a package containing them.
540 NOTE: The KMS Publication Service is not meant to be a general
541 repository for all relying parties. Access is only provided to
542 registered clients.
544 3.1.4. Certificate Management Service
546 The KMS Certificate Management Service allows a client to develop an
547 asymmetric key pair and obtain the public key certificate associated
548 with the key pair. It additionally provides certificates and CRLs
549 necessary to validate the asymmetric key pair to an installed TA.
551 The KMS Certificate Management Service supports two kinds of
552 certificate management processes:
554 o Issuance: Where a new public/private key pair is established for
555 a KE certificate.
557 o Rekey: Where an existing IA certificate is provided with new
558 keying material.
560 CA MUST generate public key certificates in accordance with
561 [RFC5280]. A Registration Authority (RA) may be used to register
562 subscribers as well as assist the CA when issuing and rekeying
563 certificates for clients.
565 Internet-Draft SODP 2011-03-07
567 3.2. KMS Packages
569 The KMS Distribution, Publication, and Certificate Management
570 services translate into KMS packages. The primary packages are key
571 packages, but they also include firmware packages necessary to use
572 the key packages, TAMP packages to validate the package's source of
573 authority, publication packages that contain additional certificates
574 and CRLs, and collections of key packages. This section lists the
575 package requirements for the KMS.
577 There are many different key packages, but at their core there are
578 three types:
580 o Symmetric key packages are defined in [RFC6031]. A symmetric key
581 package can contain one or more symmetric keys. It also can
582 contain attributes that apply to one or more keys. The KMS MUST
583 support the ct-symmetric-key-package content type encapsulated in
584 a ct-signed-data content type [RFC5652][RFC5911].
586 o Asymmetric key packages are defined in [RFC5958]. An asymmetric
587 key package can contains one or more private asymmetric keys and
588 associated algorithm parameters. It can also contain the public
589 key and other attributes. This key package is used in
590 conjunction with the certificate management packages when the KMS
591 generates the client's key pair. The KMS MUST support the ct-
592 asymmetric-key-package content type encapsulated in a ct-signed-
593 data content type.
595 o Certificate management packages are defined in
596 [RFC5272][RFC5912]. PKI Data and PKI Response content types are
597 used to manage public key certificates [RFC5280]. The KMS MUST
598 support the ct-PKIData and ct-PKIResponse content types. The KMS
599 MUST also support encapsulating ct-PKIData in the ct-signed-data
600 content type.
602 Distribution of the symmetric and asymmetric key packages require
603 that these keys be disclosed only to the client and to not to anyone
604 else. The key packages needs to be enveloped. The encrypted key
605 package [RFC6032] supports encrypting key packages in one of three
606 ways: with key exchange algorithms (i.e., using EnvelopedData), with
607 previously distributed symmetric algorithms (i.e., using
608 EncryptedData), and with authenticated-encryption algorithms (i.e.,
609 using AuthEnvelopedData). The KMS MUST support the ct-encrypted-key-
610 package content type and the EnvelopedData choice (i.e., support ct-
611 enveloped-data). The KMS MUST support encapsulating ct-encrypted-
612 key-package in a ct-signed-data content type.
614 The KMS distributes object code for implementing one or more
616 Internet-Draft SODP 2011-03-07
618 cryptographic algorithms in a cryptographic module and software to
619 implement a communications protocol with the Firmware package
620 [RFC4108][RFC5911]. The KMS MUST support the ct-firmwarePacakge
621 content type. It MUST support receipt of the ct-firmwareLoadReceipt
622 and ct-firmwareLoadError content types. The KMS MUST support
623 encapsulating the ct-firmwarePackage content type in a ct-signed-data
624 content type.
626 To support sending multiple package types to a client, the KMS can
627 use the Content Collection [RFC4073] CMS content type. To allow the
628 KMS to apply additional attributes to the package the can use the
629 Content With Attributes [RFC4073] CMS content type. The KMS SHOULD
630 support the ct-contentCollection any MAY support the ct-
631 contentWithAttributes content type. The KMS MUST support
632 encapsulating these in a ct-signed-data content type.
634 The publication package is supported by the KMS with the "certs-only"
635 package [RFC5751], which is a CMS SignedData with no content just
636 CRLs and certificates. The KMS MUST support the "certs-only" package
637 with ct-data content type with no eContent. The KMS manages TAs to
638 support validating packages with the Trust Anchor Management Protocol
639 (TAMP) [RFC5934]. TAMP supports multiple formats for the TA. The
640 KMS MUST support the Certificate choice. The KMS MUST support the
641 tamp-update content type [RFC5934]. As specified in [RFC5934], tamp-
642 update MUST be encapsulated in a ct-signed-data content type.
644 TO DO: Add TAMP to Service Identifiers.
646 The KMS MUST support validating package signatures back to a TA
647 [RFC5652][RFC5280].
649 4. Client
651 Clients use SODP to access the KMS-services and associated KMS-
652 generated packages. This section addresses client registration, use,
653 and package requirements.
655 4.1. Registration
657 Section 3.1.1 addresses client registration. As noted there, the
658 client need not contribute to or respond to the supplied identity
659 information. After registration is completed, the client is supplied
660 with an IA certificate. Prior to using this certificate, the client
661 MUST verify that the certificate back to an installed trust anchor.
662 The number of TAs is implementation KMS-specific, but in general:
664 o If the client supports locally-generated asymmetric keys, then it
665 MUST support at least one TA.
667 Internet-Draft SODP 2011-03-07
669 o If the client support centrally-generated asymmetric keys, then
670 it MUST also support at least one TA.
672 o If the client supports symmetric keys, then it MUST support two
673 TAs: one for symmetric keys and one for the asymmetric keys
674 (i.e., the PKI Root).
676 o If the client support firmware, the it MUST support two TAs: one
677 for the firmware and one for the asymmetric keys (i.e., the PKI
678 Root).
680 More complicated scenarios are possible. For example in Figure 3, a
681 KMS and client support centrally-generated asymmetric keys. The KMS
682 supports two TAs: one for the certificate and one for the asymmetric
683 keys (a Key TA (KTA)). The KTA delegates source authority to a Key
684 Source Authority (KSA) and distribution authority to a Key
685 Distribution Authority (KDA). The KSA creates the asymmetric key
686 places it in the symmetric key content type, signs it (signed data
687 content type), includes the corresponding certificate, and encrypts
688 it (encrypted key content type). The KDA applies an additional
689 signature layer around the encrypted data. Upon receipt the client
690 validates KDA's certificate and signature to the KTA, decrypt the
691 message, the KSA's signature and certificates to the KTA, the client
692 validates their certificate to the PKI TA, and the client checks that
693 the private key corresponds to the public key.
695 Internet-Draft SODP 2011-03-07
697 +-----+ +--------+
698 | KTA | | PKI TA |
699 +-----+ +--------+
700 | |
701 | Signs | Signs
702 | |
703 +-------------+ V
704 | | +----+
705 V V | CA |
706 +-----+ +-----+ +----+
707 | KSA | | KDA | |
708 +-----+ +-----+ | Signs
709 | | |
710 | Signs & | Optionally V
711 | Encrypts | Signs +-----+
712 | | | PKC |
713 | | +-----+
714 | V |
715 +---|-------------+ Included In |
716 | V SignedData | Key Package |
717 | +-------------+ | |
718 | | Key Package |<--------------------+
719 | +-------------+ |
720 +-----------------+
721 Figure 3 - Example Authority Architecture
723 4.2. Activation and Operation
725 The activation/operation phase of the client lifecycle is where the
726 client performs its prime mission (e.g., secure Voice Over IP (VoIP),
727 cable box).
729 Activation can occur immediately following registration, when the
730 client receives an IA certificate. Activation can also occur when
731 the client resides at and is associated with its intended operator
732 (i.e., the client is registered and sponsored in the Canada but not
733 activated by the operator until it arrives where they are located in
734 Greenland). In other words, the client can be immediately actived or
735 it can occur at a later time.
737 NOTE: A client only needs to be loaded with an IA key to perform
738 KMS Services.
740 If the client needs additional certificates (e.g., for
741 confidentiality or separate mission certificates), the client or
742 agent can retrieve them via the PAL. Client retrieval of packages
743 via the PAL is OPTIONAL. Clients may elect to obtain product package
744 URI information using a different mechanism (e.g., inputs from a
746 Internet-Draft SODP 2011-03-07
748 human or agent).
750 4.3. Packages
752 Client support for packages varies depending on the type of service
753 they desire. All clients MUST support the ct-signed-data content
754 type to ensure the packages source of authority can be determined.
755 They MUST also support validating package signatures back to a TA
756 [RFC5652][RFC5280].
758 For clients that support symmetric key packages [RFC6031], they MUST
759 support the ct-symmetric-key-package content type. Additionally,
760 clients MUST support the ct-encrypted-key-package content type and
761 the EnvelopedData choice (i.e., support ct-enveloped-data) to support
762 encrypting the cleartext symmetric key.
764 For clients that support certificate management packages with
765 locally-generated keys, they MUST support certs-only
766 [RFC5751][RFC5911], ct-PKIData [RFC5272][RFC5912], and ct-PKIResponse
767 [RFC5272][RFC5912].
769 Retrieval of CRLs and additional certificates via the certs-only
770 package, is OPTIONAL. Clients can retrieve CRLs and additional
771 certificate via other mechanisms. Client support for the ct-
772 contentCollection and the ct-contentWithAttributes content types is
773 OPTIONAL.
775 For clients that support firmware packages [RFC4108][RFC5911], they
776 MUST support the ct-firmwarePacakge content type. Client support for
777 the ct-firmwareLoadReceipt and ct-firmwareLoadError content types is
778 OPTIONAL, as per [RFC4108].
780 For clients that support the Trust Anchor Management Protocol (TAMP)
781 [RFC5934], they MUST support the Certificate choice of the TA format
782 and MUST support the tamp-update content type [RFC5934].
784 TO DO: Complete the following:
786 For clients that support certificate management packages with
787 centrally-generated keys, they MUST support ct-asymmetric-key-package
788 [RFC5958], ct-PKIData [RFC5272][RFC5912], and ct-PKIResponse
789 [RFC5272][RFC5912].
791 5. Agents
793 Agents act on behalf of the client. Agents MUST support PAL
794 processing.
796 Internet-Draft SODP 2011-03-07
798 TO DO: Fill this out.
800 6. Electronic Serial Number
802 The Electronic Serial Number (ESN) is a permanent identifier that is
803 used to identify the client throughout its lifecycle. Certificates
804 include the ESN with the Hardware Module Name from [RFC4108] in the
805 Subject Alternative Name extension [RFC5280]. The hardware module
806 name form is an hwType (an object identifier) and hwSerialNumber
807 (octet string). The combination of the object identifier and octet
808 string guarantees global uniqueness. For example, a company uses
809 their private enterprise number they received from IANA and includes
810 their serial number the octet string. The KMS, clients, and agents
811 SHOULD support ESNs at least 8 octets in length.
813 7. Product Availability List
815 The PAL provides clients with:
817 o Advertisements for available packages and transactions that can
818 be retrieved from the KMS;
820 o Advertisement for another PAL.
822 TO DO: Add definition of Notification in Section 1.1. Need to
823 explain it's an exception the PAL including packages.
825 An example PAL is provided in Figure 4. The explanation of the
826 fields is explained in the subsequent text and sections.
828
829
See TBD
1648 1649 1650 END 1652 12.2. SODP Schema 1654 This section registers an XML schema as per the guidelines in 1655 [RFC3688]. 1657 TO DO: Fill in TBDs. 1659 URI: urn:ietf:params:xml:ns:TBD 1660 Registrant Contact: Sean Turner turners@ieca.com 1661 XML: 1662 1663