- From: Henry Story <henry.story@bblfish.net>
- Date: Thu, 1 Dec 2011 15:41:40 +0100
- To: Peter Williams <home_pw@msn.com>
- Cc: public-xg-webid@w3.org
- Message-Id: <D09602CA-846E-4C78-BF0F-DC8D1327B24A@bblfish.net>
As I see it when DANE comes out it is going to be very easy for every server/service to get a self signed certificate into the DNS, which can then be used to sign the certificates. Clearly at that point Windows will need to change to allow certificates signed by DNS backed signatures as being acceptable. They will have to do that because DANE is clearly going to increase security. Now of course if one does have client certificates backed by DANE signed clients, then one can wonder: what is the role of the subject alternative name? Well it still has two roles: - it can be used to fetch attributed RESTfully about the Subject - it can be used to check the validity of the certificate - is the public key still in the remote profile? Having a certificate signed by a service backed by Dane has advantages that the server need not verify the public key at the WebID profile - this is the arguments given by the BrowserId folks. It looks like it will have the advantage of also fitting into a more traditional Windows PKI model - even if they have to change their implementations then. The disadvantage of that way of doing things is that you still have what seems like an unnecessary company or organisational level signing process - i.e.: someone controlling the DNS needs to be asked to place a public key in there for the publication of identities, when we can in fact do quite a lot without asking that person. Since you could otherwise publish your keys yourself on an https web server. Giving someone access to writing something to a part of the domain of a web server is to make that person responsible for making claims. It seems simpler to give him access to a web server and less dangerous, then to also give him access to the private key of something published in DNS which then gives that person much wider access to make claims. Perhaps there are other ways of getting Windows to act intelligently and securely with certificates that require a WebID verification? Perhaps one would need to add something that is MUST understand to the signing certificate, which would be MUST UNERSTAND WEbID. Then Windows would not that certificate signed by such CAs need to be treated differently.... Henry On 1 Dec 2011, at 13:59, Peter Williams wrote: > Ive come to the conclusion that the current and likely all future versions of windows, natively, cannot be a platform for the webid validation protocol - as conceived. Any native implementation cannot be complete (and stay consistent with how windows natively is supposed to be used). Windows will support many of the cases, but not all. Per the threads title, the topic is indeed SSL (where I have lots of expertise), and certs (where I have probably have the most continuous years experience of anyone on the planet). Its a specialized area in which handshakes, crypto and certs combine, to enforce security policy in an trusted computing base. From what I can tell, few folks here have any knowhow in this topic area - which is quite normal - and its not driving the standard. Folks here are mostly app programmers, working outside the a distributed kernel - and are not too concerned with distributed operating system design. > > Windows and IIS 7 cannot naturally take a self-signed client cert on an ssl handshake and work with it. The cert must be rooted, somehow, beforehand. There are lots of ways to root it (including cross-certs), but rooted it must be. This is becuase windows is a B3-equivalent platform (see Orange book for what that means), and information is labelled (essentially) within the kernel (B1), with processes and threads being similarly compartmentalized as a result (B3). Doing professional crypto and information security, the kernel uses certs and keys and handshakes and decipherment to enforce the rules of a trusted computing based designed to impose and enforce label based integrity and access controls. These are the things that harden an OS, and protect one user from another in the assumed world of attacks on the TCB's own code. once crypto for communications enters a kernel, it hardends a network OS (or NOS). Today, the state of the art is NOS at the scale of a active directory federation ("enterprise class" windows). This means.. MAN scale, but not national or web scale. > > now none of that is a criticism of windows or the webid project. Im doing actually what Im supposed to be doing - evaluating a security standard core claims and design, as a engineer (vs an app programmer writing scripts). > > There are two main impacts. First, the typical open source 15 year old with the usual rancour will start bleating about how awful windows therefore is, without understaning the engineering rationale for why a properly engineered trusted computing base imposes such hard limits on certs and key management. This will probably have the consequence that folks will go back and put user mode SSL onto windows (using some openssl class library) to "solve the problem" (and just undo the hardening, for that class of app, for that account). Second, webid as a standard has mandatory modes (self-signed certs etc) that mean *any* complete implementation will always need a waiver, from assurance standards. Its going to be rather hard to even formulate a webid assurance standard, as webid is using keying and crypto in a way that undermines conventional theories of assured crypto. > > The conclusion is that webid needs to stay doing what its doing; and i do NOT want to see it cede its user centricity or fail to require that unregistered, self-signed certs MUST be usable. Digital certs on the open internet failed, and we can ultimately blame the very requirements of and the concepts of TCB-based assurance for that. A Webid profile is NOT a cert, and we are not doing old https client authn. Webid must not be seen as being limited to what client certs are limited to doing (when done correctly, as Microsoft did it). > > I found the webid project fun. I learned lots about semantic web technologies, met someone in Kingsely who I think will revolutionize the web, and learned lots more more about the state of modern windows (which can can help US real estate, still catching up with the web of 5 years ago). I'm not sure there is anything left for me to do, here, though. What expertise and experience I have, I think I've already shared. Social Web Architect http://bblfish.net/
Received on Thursday, 1 December 2011 14:42:14 UTC