- From: Mountie Lee <mountie@paygate.net>
- Date: Sat, 2 Nov 2013 12:37:34 +0900
- To: Ryan Sleevi <sleevi@google.com>
- Cc: Web Cryptography Working Group <public-webcrypto@w3.org>
- Message-ID: <CAE-+aYL8kvhaO59-iZHf=7igaFxwYWZEQPz4GF0KTss7zg9vzQ@mail.gmail.com>
Hi. Ryan. thank you for your comment. your comment is very helpful. I will try to prepare and share the true statement. thanks again. regards mountie. On Fri, Nov 1, 2013 at 2:41 AM, Ryan Sleevi <sleevi@google.com> wrote: > > On Thu, Oct 31, 2013 at 5:14 AM, Mountie Lee <mountie@paygate.net> wrote: > >> Hi. Folks. >> >> I have discussed with sangrae for problem statement. >> before updating Wiki page, I want to share the reason via email first. >> >> let me inform that why we need Web Certificate API. >> >> ---- >> at the charter, certificate related requirements are described. >> to approach certificate relates issues, we need certificate itself. >> >> at least, we have two technical standards for certificate management. >> >> PKCS#10 and CMP >> >> keygen is based on PKCS#10. >> we have no API with CMP >> >> followings are the details why we need CMP based certificate management >> API. >> >> 1. CMP has full key lifecycle control >> PKCS#10 is just for certificate issuance. >> but >> CMP protocol has certificate issue/renew/revocation/suspend these are the >> full lifecycle of certificate. >> >> 2. ASN.1 >> ASN.1 is widely used format specially required for CMP. >> current browser does not expose ASN.1 functions to api level >> >> 3. different security control >> >> 3.1 CMP has POP(Proof of Possession) support. >> >> CMP use reference and authentication code which is generated from CA(or >> RA) >> reference and authentication code can be generated by strong face-to-face >> identity verification. >> but PKCS#10 has none. >> CSR from PKCS#10 is signed by private key of user browser. >> but self-signed signature does not provide POP(Proof of Possession) for >> certificate issuance. >> the CSR need additional protection mechanism to prevent MITM attack. >> >> 3.2 CMP provide application level protection. >> >> Certificate Issuing request of CMP is encrypted with CA's public key and >> transmitted over normal HTTP or TLS session. >> TLS itself is just protecting transport layer of OSI 7 layers. >> if the data is transmitted over multiple nodes, TLS is not enough. >> the public key encryption used in CMP is applicable on the application >> layer (the top level of osi 7 layers between browser sandbox and server >> memory of application server) >> >> 4. backward compatibility >> because of above technical/security reasons, many countries (at least, >> Korea) adopted CMP as their default certificate management system. >> and those public key infrastructure is escalated to regulational level. >> if browser support CMP, it will give backward compatibility with existing >> infrastructures. >> >> 5. Plugin Replacement >> because of above reasons, >> plugins (activeX, java applet and so on) are widely used for certificate >> management in many countries. >> the native support for CMP will help kicking off plugins. >> >> 6. Certificate is useful. >> the certificate and it's related infrastructures are used for >> non-repudiation service, verifying identity or many other usages. >> it is also mentioned at charter of our working group. >> the API for certificate issuance will be the base for discussion of some >> part of high level api. >> it will also touch keyStorage security issue. >> >> ------------------ >> >> we have too much reasons why certificate is necessary. >> PKCS#10 based keygen itself is useful. >> but it has some missing parts. >> >> that is the reason why we need Web Certificate API. >> >> regards >> >> -- >> Mountie Lee >> >> PayGate >> CTO, CISSP >> Tel : +82 2 2140 2700 >> E-Mail : mountie@paygate.net >> >> ======================================= >> PayGate Inc. >> THE STANDARD FOR ONLINE PAYMENT >> for Korea, Japan, China, and the World >> >> >> Hi Mountie, > > As noted during a previous call, the IETF has multiple standards for > managing and provisioning certificts - CMS, CMC, CMP, and more recently, > EST. > > Rather than focusing on a particular solution (eg: an API for CMP), can > you focus on the problem statements themselves? I would simply state that > it's unlikely to argue for CMP simply because it "does what you need" - > instead, it's important to understand what you actually need. > > Also, as requested repeatedly, can you explore a hypothetical > implementation *in Javascript* of CMP/CMS/CMC/EST/etc. When you examine > what it would take, *in Javascript*, to fully implement these protocols, > please explore what deficiencies exist in the WebCrypto API when compared > with <keygen> > > For example, the 'obvious' aspect that immediately stands to mind is that > keys provisioned via <keygen> are, traditionally, made available to some > system-wide store (on browsers that implement keygen, which is not > universal). Certificate provisioning traditionally happens via > application/x-x509-user-cert delivering a certificate/certificate chain. > You can readily see this deployed, in the real world, by looking at CAs > like StartCom (operators of StartSSL), which use this as a key part of > their authentication flow. > > If WebCrypto allowed keys to be generated in such stores, would that be > sufficient for a fully-JS implementation of CMP? Why or why not? > > Rather than focusing on CMP specifically as being supported by a browser, > please take a critical look at what it would take to implement *in > Javascript*. What security or functional deficiencies exist (and without > proposing a resolution for them), as that's the true problem statement. > -- Mountie Lee PayGate CTO, CISSP Tel : +82 2 2140 2700 E-Mail : mountie@paygate.net ======================================= PayGate Inc. THE STANDARD FOR ONLINE PAYMENT for Korea, Japan, China, and the World
Received on Saturday, 2 November 2013 03:38:21 UTC