|
Digital signature and non-repudiation key usage bits: msg#00344ietf.x509
I'm sorry that I wasn't able to attend the IETF meeting where we might have been able to resolve some of these items, but the slow pace of e-mail at least allowed me to review the thread and form some conclusions. I believe that we can agree on at least two things: 1. The Digital Signature key usage is an important indicator in those environments where key strength may be limited and/or key escrow required, _except_ for keys whose usage can be proven to be restricted to benign applications, e.g., digital signatures. (Actually proving that to the satisfaction of the export/import/use authorities isn't all that easy, especially in a general-purpose API environment, but the PKIX group doesn't need to concern themselves with those kinds of details.) 2. There is a strong desire to have the Non-Repudiation bit serve as an indication of a conscious, volitional act that may have significant legal consequences. (Although there might be some benefit to having defining an "authentication service" that would be distinct from the nonrepudiation service, there wasn't much support for that, especially if it would mean trying to push a defect report through X.509. So I've given up on that thrust.) So let's think about what the implications of the NR bit ought to be. For one thing, as some people on the legal side of the house have argued, in order to forestall the "Grandma hits the wrong button and loses her house" argument against PKI and digital signatures in general, we need to require a "gravity charge" be provided in the software in this case. It should say something like: "Warning. You are about to sign something using a Non-Repudiation key, which may give rise to legal consequences for which you may be held personally and uniquely liable or responsible. Do you want to continue?" In addition to the gravity charge, it would certainly be desirable to have an additional level of password or even biometric controls that are applied in order to unlock the NR key. This not only underscores the serious, ceremonial aspect of a legally binding signature, it helps to assure that that user and that user only has access to that key. (I'm using the term "NR key" to avoid the awkward phrase, "the private key that is logically associated with the public key which is included in a certificate which has a Non Repudiation keyUsage parameter specified." Besides, although some applications and/or APIs may not associate the corresponding public key attributes with the private key, I believe that most applications will in fact do so.) Since the absolute quintessence of non-repudiation in the technical sense is that only the authorized holder of the corresponding private key could have possibly signed the document which is validated by the NR certificate, it is essential that access to that key be uniquely restricted to that user. At the risk of being obvious, that means that: 1. It must be computationally infeasible in the strictest sense for any other person than the authorized user to computer or rederive the private key. that includes the software vendor, the user's MIS department, the various export/import authorities, etc. 2. Likewise, it means that all possible precautions must be taken against the possibility that even the authorized user could, accidentally or deliberately, disclose or give away knowledge of or access to so much as a single bit of the private key, or of the entropy from which it was derived. 3. And again, it must not be possible for even the user's supervisor or MIS department to replace the user's private key with another private key that matches a certificate containing the user's identity information or rights access. (The CA may be able to issue a certificate corresponding to a bogus private key, but the network administrator, directory administrator, etc., must not be able to do so, or to cause it to happen.) (It is one thing to say that "such and such cannot happen," and it is quite something else to say so both qualitatively and quantitatively, in other words to express a degree of confidence that is based on scientific evidence that has been independently and objectively weighed by accredited evaluation authority. But that begins to go down the path that Stefan is talking about in his "Qualified certificate" profile, and includes measures of the operating system security, the cryptographic security, etc. I believe that those measures are very important and worthwhile, but I'd like to stick to just the keyUsage definitions for the moment.) In a sense, the NR bit goes further than my definition of the DS bit, in that the DS bit implies that the private key is not subject to governmental escrow as a condition of its export, import, or use, while the NR bit implies that the private key is not subject to ANY form of externally imposed escrow, key recovery, or key sharing. So what does this imply about various combinations of key usage bits? Clearly, the use of the DS bit and either key exchange or data encryption is not valid, as they are diametrically opposed concepts. Equally clearly, the use of both the DS and the NR bit _is_ allowed. But surprisingly, as I just realized while driving in to work this morning, the use of the NR bit in combination with key encryption or data encryption is NOT prohibited, and in fact can be used as a form of back-handed specification of a key that can be used for encryption and is not subject to escrow or sharing! Using the same key for both encryption and for a digital signature is subject to a number of potentially serious security problems, but it is not in and of itself a security flaw. That is the assumed or default case, where none of the key usage bits are specified. Using a key that is marked for both NR and key or data encryption does NOT mean that it is being used for digital signature, however -- at least with the above definition. But it does mean that that key is uniquely and exclusively associated with that user, which in many cases is a very desirable condition. So KR by itself or KR plus data encryption is OK. KR plus DS is OK. DS by itself is OK. DS plus data encryption is forbidden. Does this make sense? Bob Robert R. Jueneman Novell, Inc. 122 E. 1700 South Provo, UT 84606 bjueneman@xxxxxxxxxx 1-801-861-7387 |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Authentication vs. binding signature, andephemeralvs.permanent key usage: 00344, Stefan Santesson |
|---|---|
| Next by Date: | ACM Comp. and Comm. Security: Reg-n Form and Call for Participation: 00344, Gene Tsudik |
| Previous by Thread: | Re: Authentication vs. binding signature, andephemeralvs.permanent key usagei: 00344, Stefan Santesson |
| Next by Thread: | ACM Comp. and Comm. Security: Reg-n Form and Call for Participation: 00344, Gene Tsudik |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |