[rs-dev] Draft RFC: Signed Public Key and Challenge

Dirk-Willem van Gulik dirkx at webweaving.org
Thu Mar 5 16:21:38 CET 2020


> On 5 Mar 2020, at 16:16, Graham Leggett <minfrin at redwax.eu> wrote:
> 
> On 05 Mar 2020, at 16:56, Graham Leggett via rs-dev <rs-dev at redwax.eu> wrote:
> 
>> Example has been added:
>> 
>> https://source.redwax.eu/svn/redwax/std/spkac/trunk/draft-leggett-spkac-00.txt
>> 
>> Just need to add references for RSA, etc.
> 
> References have been added, do we need anything else?

I was in de middle of writing below. But have not had the chance to finish it.

Dw.

> https://source.redwax.eu/svn/redwax/std/spkac/trunk/draft-leggett-spkac-00.txt

Index: draft-leggett-spkac-00.xml
===================================================================
--- draft-leggett-spkac-00.xml	(revision 5)
+++ draft-leggett-spkac-00.xml	(working copy)
@@ -76,7 +76,7 @@
 
    <abstract>
       <t>This memo describes the Signed Public Key and Challenge (SPKAC), a syntax to provide
-        Proof-of-Possession of a Public Key. </t>
+        Proof-of-Possession of a Public Key to support federated (client) certificate enrolment.</t>
     </abstract>
   </front>
   <middle>
@@ -100,10 +100,10 @@
         <t>The SPKAC protocol was originally used by the Netscape web browser as
           part of their implementation of what eventually became the
           <xref target="W3C.REC-html5-20141028" format="default">HTML5</xref> keygen
-          tag. The keygen tag allowed a web browser to request a certificate from
+          tag. The keygen tag allowed a web browser to request a (client) certificate from
           a certificate authority over the world wide web, and the SPKAC protocol
           ensured the web browser possessed the key being signed by the certificate
-          authority.
+          authority. 
         </t>
         <t>
           For a long time the Signed Public Key and Challenge was a de facto
@@ -111,9 +111,22 @@
           document the existing use of the protocol, and formalise the protocol into
           a standard.
         </t>
+        <t>
+          Note that, on XX, Google/Mozilla unilaterally decided to retire keygen
+          tag support from the XX engine. 
+        </t>
+        <t>Prior to this; this defacto, interoperable, protocol was widely used by both 
+          centralised certificate certificate authorities (that would issue personal digital
+          x509 certificates) as well as in more local enterprise & federated settings.
+        </t>
       </section>
     </section>
 
+XX mention that historically hardware tokens and softtokens were used in those browsers
+XX no (federated or peer2peer) replacement left once google removed this - due to CORS/single-origin/etc limtis java script.
+XX example of typical enterprise use - often AD intergrated (like at the Beeb)
+XX pointer to MS world Enroll to illustrate that this coverded the whoel gammut interoperable
+
     <section anchor="asn1-module-spkac" numbered="true" toc="default">
       <name>ASN.1 Module SPKAC</name>
       <t>This appendix includes all of the ASN.1 type and value definitions
@@ -192,6 +205,24 @@
           additional steps SHOULD be taken to ensure that SPKAC message is delivered
           over a secure transport, such as <xref target="RFC8446" format="default">TLS</xref>.</t>
       </section>
+      <section numbered="true" toc="default">
+        <name>UI/UX Denial of Service design issues</name>
+         <t>User interfaces in the browser should take care to not allow (rogue) webpages 
+           or javascript generate very large number of keygen requests; as this is not only
+           somewhat resource intensive; but may also deplete cryptographic quality random
+           generator pools (historically a concern). Especially as most implementations
+           will generally keep the cryptographic code and (private) key storage outside
+           the sandbox in which the DOM and Javascript is handled. 
+         </t>
+         <t>Likewise - browsers should be particularly careful when handling solicited (and
+          unsolicited & maliciously repeated/high-volume) responses to a keygen/spkac 
+          submission when storing (and recombining) these in the key store. 
+         </td>
+         <td>Especially has (historically) it was common for such
+          request to be handled asynchronously; with the user receiving an email after, for example
+          human approval, to pick up the signed certificate at a certain URL.
+         </t>
+      </section>
     </section>
   </middle>




More information about the rs-dev mailing list