On Tue, 2012-01-31 at 17:14 -0800, Paul Lambert wrote:
> >-----Original Message-----
> >From: therightkey-boun...@ietf.org [mailto:therightkey-boun...@ietf.org]
> >On Behalf Of Jon Callas
> ...
> >
> >On Jan 26, 2012, at 2:55 PM, Richard L. Barnes wrote:
> >
> >>>>> As security engineers, our role is to (a) reduce the number of
> >>>>> entities we trust; (b) reduce the extent to which we trust the
> >>>>> remaining trusted entities; and (c) determine the trustworthiness
> >of
> >>>>> trusted entities.
> >>>>
> >>>> Really?
> >>>
> >>> Yep.
> >>
> >> +1
> >>
> >> One of the better definitions I've heard.  I would question whether
> >(c) is even in scope; seems like a relying party function.
> >
> >We should run screaming from (c). Not only do there be dragons there,
> >but there be dragons even in saying what "trustworthiness" means. Surely
> >this is not a real-world reputation system.
> >
> >     Jon
> 
> Yes! ... but, we can define "who we trust for what" ... who being a key, what 
> being some Domain of Discourse with appropriate constraints.  
> 
> Trustworthiness as a probability or metric yields contradictory and 
> nondeterministic evaluations.  
>
> Paul 

Paul, is this necessarily bad?

All three statements above are sort of correct IMHO. A slight
modification:
  "As security *protocol* engineers, we have to [...] and (c), give the
users the capacity and ability to enforce their own trust-policies, for
their own purposes, according to their own desires."

Let's go deeper.

I (still, thankfully!) have the ability to remove root CA's from
my /etc/ssl/cert when I see fit to do so. And I do so.  But it's
extremely cumbersome and obviously "does not scale".  Let's do better?
Obviously, not all users on the planet can by decree of a small group be
mandated to verify trust in the same manner, at least not very
successfully. The choice of what you want to trust has always been
there.

From this I can't say that I either fully - or not at all - trust any CA
in my root-cert store on an individual basis -- some are even there, not
because I trust them indefinitely, but because of a combination of
 a) my browser becomes full of extra clicks without them, 
 b) they do provide a varying-but-greater-than-zero % expectation that a
TLS-connection that validates to them can be reasonably expected not to
also be MITM:ed somewhere. 

This doesn't mean *I* have 100% trust in any of them.  These are
different things.

Adding to that: having multiple inputs to your trust policy generation
engine, as has been discussed here, can't possibly hurt the objective
here?  Similarly, having an output from this trust resolution engine
that motivates its calculation (according to your policy), can't hurt
either?

  configuration bar = list of various input sources;
  trust_policy_compile(policy foo, configuration bar) ->
trust_resolve_data[policy=foo]

(Policy and configuration may actually just be one and the same.)

Obviously, a computer program wouldn't work very well if a 67% trust
implies that it should proceed with a computation in 67% of the
instances:
  The validation result through my trust verification engine using
policy X ought to be that I either can (based on my policy!) proceed
with the computation, or, that I have to abort it because of a lack of
trust. 

  validate_with_policy(trust_resolve_data data, policy foo, certificate
bar) -> (valid|invalid, {details})

The policy can define things such as, a >X% fail-rate from
convergence/observatory (using convergence/observatory-configuration
foobar...) -> invalid cert verification, and list of root-CA's, etc.
Note that this does not at all exclude putting multiple certificates in
the handshake! That seems smart, for those who can afford the extra
bytes transferred.

So, perhaps having browser vendors and operating systems declare who The
list of trustworthy entities according to their Process is, is not the
best solution for all purposes?  Having defaults is fine, I guess, but
for all I care this entire apparatus could (successfully, overall, I
bet) be externalized to institutions dealing more solely with trust, and
individual users would then get the option to choose between these. The
feedback-loop this could provide is not without merit.
  For example, there appears to me to be a natural place for someone to
define these foo's, that users can use. And also [inputlist]
configurations.

Offline, people trust different things.  Would there be a
protocol/standard/method to model this in a more scalable way online, so
much better, I think.

Best,
Martin

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
therightkey mailing list
therightkey@ietf.org
https://www.ietf.org/mailman/listinfo/therightkey

Reply via email to