On 02/18/2009 01:50 PM, Benoit Branciard wrote:
> - maintain the ability to refuse v3 certs as AC if they do not have the 
> "AC=TRUE" attribute, as the current fix does;

I'm assuming you mean "CA" where you have "AC" here, right?  This is an
abbreviation for "Certificate Authority"

> - but tolerate v1 certs as root ACs (which the current fix doesn't);

This seems to be the only proposed change in functionality; basically
you're suggesting that GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT be set by
default.  This has the side effect that storing an out-of-band-verified
V1 peer (end-entity) certificate in the list of trusted certificates
would grant that end entity the ability to act as a CA.

> - refuse v1 certs as intermediate AC chains elements, since this appears 
> to be the most dangerous threat: if an attacker gains access to an 
> AC-validated v1 server cert, he could generate any AC-validated forged 
> certs he wants using the robbed cert as an AC intermediate, and dupe 
> many clients...

Agreed!

> - put somewhere in the doc (maybe a debconf popup ?) that trusting (and 
> using) v1 server certs is dangerous because they could be hijacked for 
> use as ACs.

I think this would be an abuse of debconf, particularly because the
warning would make more sense coming from the programs which are relying
on undocumented behavior of GnuTLS.

That is, programs which believe they are only storing trusted *CA*
certificates (and no peer certificates) in the list of trusted certs
should already be setting GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT in order to
indicate that preference to the library.  If they expect users to store
end entity certificates in the trusted list as well, then it would be
wise to alert those users, but this is a group that gnutls (as a
library) would have a hard time targetting.

I'm still torn about how to resolve this, fwiw, because i understand the
arguments from both sides.

Regards,

        --dkg

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to