On Mar 24, 2009, at 5:06 PM, Eddy Nigg wrote:

On 03/25/2009 12:35 AM, Kyle Hamilton:
'reasonable security'
'this service' (the one you offer 'for free') -- my own assumption is
that you don't offer the service of verifying community membership for
web-based communities that don't offer email accounts.


Nope, and it's beyond the scope of what we do generally. So it doesn't rule out communities...

Remember: I'm still in the phase of identifying problems. Some of these problems can be solved within the context of Mozilla Firefox and Thunderbird; others cannot. However, the fact that the NSS layer handles authentication of data makes this the only logical place to bring up these issues.

'how these providers operate': I'd point you to the "internet PKI
rethought" document that I had up, but I've since cancelled my .Mac
account -- but the basic idea is that if someone uses a community,
they already trust (and have to trust) the administration of the
community to properly arbitrate the identities within that community
-- and only within that community.


I don't understand how this is connected to the initial idea of finding some better ways to use client certificates for mail (was actually client certificate authentication IIRC). I think I lost you here...

I'm having to take a holistic view here. I promise that I am not discussing any aspect of TLS, I am addressing the failings of PKIX in general. Not merely email, not merely web, not merely code-signing (which is a different matter entirely), not merely IM authentication, not merely identification, not merely peer-to-peer identity exchange, not merely any single thing. The X.509 model, and in fact the PKIX, absolutely fail to bring any reasonable solution to the needs of the community at large. (It's rather like telling other people what they can and more importantly can't do.)

In order for cryptography to be useful, it must be ubiquitous -- and in order for it to be ubiquitous, it must be nearly invisible. This means that it can't simply throw up "ZOMG THIS ISN'T AUTHENTICATED" boxes, it must be able to provide information in a way that doesn't interfere with the user's experience of what they are trying to do.

Remember, security works best when it minimizes the disruption of workflow. That's the key to EVERY failure to the adoption of X.509 by the general public -- the fact that IT DISRUPTS WORKFLOW. This is why Ian proposed an automated protocol to make it possible to enable cryptography everywhere in the mail system, and I ran with it to describe a possible mechanism (not specify such a mechanism, but merely describe).

and my definition of "community", as far as I have always used it: Any
group of people who use a common service, within which service
individuals can be uniquely referenced.  Services like
'fanfiction.net'.  Services like 'slashdot.org'.  Services like
'everything2.com'.  Services like MUDs.  Services like Second Life.
All of these are communities which, because they do not deal with
"real-world identities" in any way that you can define or reference in your certification policies (they don't use real-world names, and they
don't offer email addresses), are unable to use the services that you
(and other CAs) offer "for free".


OK, so how are they relevant to this idea?

Because these communities exist, and they are completely unserved by the traditional CA infrastructure -- infrastructure, I might add, that is insisted upon by the browser vendors. (Mozilla, Microsoft, Opera, KDE, Apple: you ALL must share the blame for this.)

These services are the masters of their own domains -- they are the
absolute arbiters of identity within themselves. This means that they are Authorities. Your argument removes their ability to Certify those
identities for use between people inside those spheres.  (Think of
them like company-internal root CAs, only instead of having a legal
construct of a company or corporation, it's a loose social construct
of association.)

I have no problem with any of them as long as their usage and trust remains limited with their domain and internal activities.

See, that's actually the problem. These are *social* communities, not *companies*. Social communities are, by their very nature, distributed. You have a bunch of individual principals -- not merely "end entities", but true "principals" -- who have a valid interest in making use of their identities whenever and however they might wish.

This flies in the face of traditional X.509 security models: as I've said before, the ability to work with peer-to-peer systems is essential, and requires (if there is any adherence to the PKIX specification) the ability to authenticate as either a client or a server. Unfortunately, the only way to do this is to allow them to have certificates which would otherwise violate every aspect of Mozilla's assumptions as to what a Truly Trustable PKI CA would be.

In addition, certain hosts (and bloggers, and blogs) have become well- known enough that they would likely be considered trustworthy, regardless of who signed their certificates. (Look at boingboing.net for an example. Cory Doctorow is well-known enough that people would consider him -- if not an authority, at the very least an icon.)

This is why I wanted to be able to change the chrome to say "hey,
Mozilla hasn't vetted this CA, we recommend you don't put in your
credit card number or any private details".

No, I don't want that. But that's for web sites anyway, not connected to mail I think...

As if your want had any more sway than mine, or mine had any more sway than yours. You're right: this specific example was related to the browser. However, I must also point out that with HTML in email, the distinction between 'email client' and 'browser' becomes much, much less.

...as such, Mozilla goes a step fuhrer and tells you correctly "hey, we can't know if you are connecting to the site you intend to connect to and we recommend not to connect to the site...it might be somebody different really".

...and interrupts the workflow, thus preventing users from using the site. The "Great Experiment" of having to have at least 4 clicks in specific sections of the viewport to add an exception, 5 if you don't want the exception to be stored permanently, has (to my knowledge) failed.

This is why I want to be
able to use those certificates as, for example, iChat/AIM encryption
certificates.

What does prevent you from doing that? With and without CA issued certificates?

Lack of documentation on what extensions are necessary. Lack of integration into the keystores. Lack of easy importation of these CAs into keystores.

(I look at it this way: for every click necessary to accomplish a given task, the chances of someone doing it are reduced by an order of magnitude.)

This is why I want to expand the OTR IM-encryption
protocol to use certificates as a means of authenticating the remote
party, without disturbing its other aspects.

Also here, I don't think that anything prevents you from doing so. But that's not the scope of the idea I found interesting.

Except for the fact that the cypherpunks view any "Trent" as inherently bad, and refuse to allow their official protocol to be Tainted.

Thawte's the ONLY provider I know of that even considered adding
community membership information to its certificates, but it never
considered removing the real-world identity information that it had
obtained -- basically, it wanted to bind additional identities to the
real-world identity.  As a privacy advocate, I do have a problem with
this approach.

It's hard to serve two masters...either it's disclosed or anonymous. It could be even something like "we have validated those details, but ask him if he wants to show those details to you"...

What if I just want a certificate, issued by Thawte, that contained a custom extension that contained my bank account number and state that it resides in? Thawte has the identity on file, in a discoverable fashion; the bank itself could even communicate with Thawte and verify that my Subject details match the principal on my account. But why should I have to send my client certificate in plaintext containing both my legal name, city, state, and country of residence, AND my bank account? I know that there are eavesdroppers on public WIFI networks. Having that information would make it a LOT easier to commit identity theft against me.

Policy #1: Minimum exposure. This means that you minimize the amount of data transferred to that which is necessary to process a transaction. Policy #2: Delegation. This means that you allow another principal the right to perform certain things as though they were performed by you. ("Power of Attorney", or "proxy certificate")

One certificate size does not fit all. One certificate paradigm does not fit all. It fails -- rather miserably, in fact -- to meet the needs of the paradigm it was designed to support.

Until you (and everyone else) realize that many of the Assumptions made are what are holding back PKI adoption... nothing is going to change. And as we've seen, users will route around complex processes and interpret them as censorship.

-Kyle H
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to