You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: draft-ietf-lamps-rfc4210bis.md
+43-16Lines changed: 43 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,6 +112,14 @@ informative:
112
112
- name: J. Alex Halderman
113
113
org: University of Michigan
114
114
date: 2012-08
115
+
X509.2019:
116
+
target: https://handle.itu.int/11.1002/1000/14033
117
+
title: 'Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks'
118
+
author:
119
+
- org: International Telecommunications Union (ITU)
120
+
date: 2019-10-14
121
+
seriesinfo:
122
+
ITU: Recommendation X.509 (10/2019)
115
123
ISO.20543-2019:
116
124
title: Information technology -- Security techniques -- Test and analysis methods for random bit generators within ISO/IEC 19790 and ISO/IEC 15408
117
125
author:
@@ -479,7 +487,17 @@ We use the term "root CA" to indicate a CA that is directly trusted
479
487
by an end entity; that is, securely acquiring the value of a root CA
480
488
public key requires some out-of-band step(s). This term is not meant
481
489
to imply that a root CA is necessarily at the top of any hierarchy,
482
-
simply that the CA in question is trusted directly.
490
+
simply that the CA in question is trusted directly. The "root CA"
491
+
may provide its trust anchor information with or without using a
492
+
certificate. In some circumstances such a certificate may be
493
+
self-signed, but in other circumstances it may be cross signed,
494
+
signed by a peer, signed by a superior CA, or unsigned.
495
+
496
+
Note that other documents like {{X509.2019}} and {{RFC5280}} use the
497
+
term "trusted CA" or "trust anchor" instead of "root CA". This
498
+
documents continues using "root CA" based on the above definition
499
+
because it is also present in the ASN.1 syntax that cannot be changed
500
+
easily.
483
501
484
502
A "subordinate CA" is one that is not a root CA for the end entity in
485
503
question. Often, a subordinate CA will not be a root CA for any
@@ -1191,10 +1209,10 @@ the new CA public key, it must load the new trust anchor information
1191
1209
into its trusted store.
1192
1210
1193
1211
The data structure used to protect the new and old CA public keys is
1194
-
typically a standard X.509 v3 self-signed certificate (which may also
1212
+
typically a standard X.509 v3 certificate (which may also
1195
1213
contain extensions). There are no new data structures required.
1196
1214
1197
-
Note: Sometimes root CA certificates do not make use of
1215
+
Note: Sometimes self-signed root CA certificates do not make use of
1198
1216
X.509 v3 extensions and may be X.509 v1 certificates. Therefore, a
1199
1217
root CA key update must be able to work for version 1 certificates.
1200
1218
The use of the X.509 v3 KeyIdentifier extension is recommended for
@@ -1230,7 +1248,8 @@ To change the key of the CA, the CA operator does the following:
1230
1248
1. Generate a new key pair.
1231
1249
1232
1250
1. Create a certificate containing the new CA public key signed with
1233
-
the new private key (the "new with new" certificate).
1251
+
the new private key or by the private key of some other CA (the
1252
+
"new with new"certificate).
1234
1253
1235
1254
1. Optionally: Create a link certificate containing the new CA public
1236
1255
key signed with the old private key (the "new with old"
@@ -2232,7 +2251,7 @@ See {{RFC4211}} for CertId syntax.
2232
2251
### Out-of-band root CA Public Key
2233
2252
{: id="sect-5.2.5"}
2234
2253
2235
-
Each root CA must be able to publish its current public key via some
2254
+
Each root CA that provides a self-signed certificate must be able to publish its current public key via some
2236
2255
"out-of-band"means or together with the respective link certificate using an online mechanism. While such mechanisms are beyond the scope of
2237
2256
this document, we define data structures that can support such
2238
2257
mechanisms.
@@ -3483,11 +3502,11 @@ that MUST be supported for specific use cases.
3483
3502
{: id="sect-6.1"}
3484
3503
\[See {{sect-3.1.1.2}} for this document's definition of "root CA".\]
3485
3504
3486
-
A newly created root CA must produce a "self-certificate", which is a
3487
-
Certificate structure with the profile defined for the "newWithNew"
3505
+
If the newly created root CA is the top of a PKI hierarchy, it must produce a "self-certificate", which is a
3506
+
certificate structure with the profile defined for the "newWithNew"
3488
3507
certificate issued following a root CA key update.
3489
3508
3490
-
In order to make the CA's selfcertificate useful to end entities
3509
+
In order to make the CA's self-certificate useful to end entities
3491
3510
that do not acquire the self certificate via "out-of-band" means, the
3492
3511
CA must also produce a fingerprint for its certificate. End entities
3493
3512
that acquire this fingerprint securely via some "out-of-band" means
@@ -3503,8 +3522,8 @@ The data structure used to carry the fingerprint may be the OOBCertHash, see {{s
3503
3522
CA keys (as all other keys) have a finite lifetime and will have to
3504
3523
be updated on a periodic basis. The certificates NewWithNew,
3505
3524
NewWithOld, and OldWithNew (see {{sect-4.4.1}}) MAY be issued by the
3506
-
CA to aid existing end entities who hold the current self-signed CA
3507
-
certificate (OldWithOld) to transition securely to the new self-signed
3525
+
CA to aid existing end entities who hold the current root CA
3526
+
certificate (OldWithOld) to transition securely to the new root
3508
3527
CA certificate (NewWithNew), and to aid new end entities who
3509
3528
will hold NewWithNew to acquire OldWithOld securely for verification
3510
3529
of existing data.
@@ -3684,7 +3703,7 @@ but the CA doesn't allow that).
3684
3703
The required information MAY be acquired as described in {{sect-6.5}}.
3685
3704
3686
3705
3687
-
### Out-of-Band Verification of Root-CA Key
3706
+
### Out-of-Band Verification of RootCA Key
3688
3707
{: id="sect-6.7.2"}
3689
3708
3690
3709
An end entity must securely possess the public key of its root CA.
@@ -3910,7 +3929,7 @@ different key pairs, the security of the shared secret information should
3910
3929
exceed the security strength of each individual key pair.
3911
3930
3912
3931
For the case of a PKI management operation that delivers a new trust anchor
3913
-
(e.g., a root CA certificate) using caPubs or genp that is (a) not concluded
3932
+
(i.e., a root CA certificate) using caPubs or genp that is (a) not concluded
3914
3933
in a timely manner or (b) where the shared secret information is reused
3915
3934
for several key management operations, the entropy of the shared secret information,
3916
3935
if known, should not be less than the security strength of the trust anchor
@@ -4672,22 +4691,25 @@ Identical to {{sect-c.2}}.
4672
4691
## Self-Signed Certificates
4673
4692
{: id="sect-d.3"}
4674
4693
4675
-
Profile of how a Certificate structure may be "self-signed". These
4676
-
structures are used for distribution of CA public keys. This can
4694
+
Profile of how a certificate structure may be "self-signed". These
4695
+
structures are used for distribution of new root CA public keys in a self-signed certificate. This can
4677
4696
occur in one of three ways (see {{sect-4.4}} above for a description
4678
4697
of the use of these structures):
4679
4698
4680
4699
|Type | Function |
4681
4700
|:----|:---------|
4682
-
| newWithNew |a true "self-signed" certificate; the contained public key MUST be usable to verify the signature (though this provides only integrity and no authentication whatsoever) |
4701
+
| newWithNew | a "self-signed" certificate; the contained public key MUST be usable to verify the signature (though this provides only integrity and no authentication whatsoever) |
4683
4702
| oldWithNew | previous root CA public key signed with new private key |
4684
4703
| newWithOld | new root CA public key signed with previous private key |
4685
4704
4686
-
Such certificates (including relevant extensions) must contain
4705
+
A newWithNew certificate (including relevant extensions) must contain
4687
4706
"sensible"values for all fields. For example, when present,
4688
4707
subjectAltName MUST be identical to issuerAltName, and, when present,
4689
4708
keyIdentifiers must contain appropriate values, et cetera.
4690
4709
4710
+
Note that in general newWithNew and oldWithOld certificates not necessarily
4711
+
refer to self-signed certificate, but to root CA certificates as defined in
4712
+
{{sect-3.1.1.2}}.
4691
4713
4692
4714
## Root CA Key Update
4693
4715
{: id="sect-d.4"}
@@ -5876,6 +5898,11 @@ END
5876
5898
5877
5899
Note: This appendix will be deleted in the final version of the document.
5878
5900
5901
+
From version 16 -> 17:
5902
+
5903
+
* Addressing DISCUSS from Paul Wouters by extending text of Sections 3.1.1.2, 4.4, 5.2.5, 6, and D.3.
5904
+
5905
+
5879
5906
From version 15 -> 16:
5880
5907
5881
5908
* Addressed IESG review comments from Erik Kline, Gunter Van de Velde, Orie Steele, Zaheduzzaman Sarker, Éric Vyncke, and Paul Wouters, except the DISCUSS issue Paul raised
0 commit comments