what to do about ssl_ca_chain_file [was: Re: [ANNOUNCE] perdition 2.1]

Daniel Kahn Gillmor <[email protected]> Fri, 07 Feb 2014 02:25:02 -0500
Newsgroups gmane.mail.perdition.user
Message-ID <[email protected]>
As you can (hopefully) see, i've found the config options for the
patchbomb mercurial plugin and configured it a little bit to make it
easier to send patches :)

I think i covered most of my SSL configuration concerns, but the
following one remains:

On 02/07/2014 12:39 AM, Daniel Kahn Gillmor wrote:
> Another concern: while ca_chain_file is documented as the list of
> intermediate certificates, it appears to be used as a set of certificate
> authorities for verification (via SSL_CTX_load_verify_locations())
> instead of its stated purpose.  ironically, the certificate file itself
> is loaded with SSL_CTX_use_certificate_chain_file(), presumably because
> of OpenSSL's silly API that doesn't make it simple to separate the EE
> cert from the intermediate certs.  treating the ca_chain_file as a list
> of legitimate CAs seems problematic; it's certainly possible for an IMAP
> frontend to offer one CA for its clients to use (e.g. an intermediate
> cert that chains back to a member of the well-known CA cartel) while
> using in-house certificate authorities for the backhaul (outbound)
> links.  By loading the chain_file into the list of verifiers for the
> backhaul links, anyone who compromises the CA used for the frontend
> connections can now compromise the backhaul without perdition noticing.

I'm not sure how to deal with this safely.

One approach could just be to discard the ssl_ca_chain_file option
entirely (maybe warn if the admin sets it), and indicate clearly that
perdition admins need to include the full end entity + intermediate cert
chain in the ssl_cert_file, and the list of root CAs via either
ssl_ca_path or ssl_ca_file.  This is the case currently, so we'd
basically just be deprecating one option.

What we'd lose is the claim that you can store your intermediate certs
in a separate file than your end entity cert; but it doesn't look like
that should work at all right now anyway :/

I'm sure there are other approaches too, though, that i'm not thinking of.

What do you think we should do?

	--dkg

______________________________________________
Perdition-users mailing list
[email protected]
http://lists.vergenet.net/listinfo/perdition-users
signature.asc (application/pgp-signature, 1010 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQJ8BAEBCgBmBQJS9IpOXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRFQjk2OTEyODdBN0FEREUzNzU3RDkxMUVB
NTI0MDFCMTFCRkRGQTVDAAoJEKUkAbEb/fpcv90P/3QQMVQaITLkrJEAqBLuiX1t
uhtyJcqaaYWDXH3h58steBQXheAx7osSgKTM4rnVZQovAGifr3OYAP2CFv9y9Zam
0+0Kh6hcF+YkIzGRvqREgp7REgZn+T9eLjfWwFYWkCbQF7KrKvkkpkFapP4tLD0D
sQK1hkBvgtW/BJiF+eCgnWPKMir7+19KcdoASEOIJY942cTd0SNiI6sx4FE5F9FK
yTNFrJxmmUPdaYZ6vrNPPeiRU+SpUjO+uzRJpC/S0stXrP8ur0pRibSOnfXXATJV
iuhTiOQs1RneajJNy7/c09kv6dyNn4J891HSNP9Sprod3dFAmIZ8u9gwPCurAtzN
wo1y2oskAZoTzP6MQs/aY9IRjd0mAvC445CLDUg9u/I1kwHgKcEFRc500goFOOUA
x9E1weRrmHUTFteAx8eZZ47MaiWp6XTzAkCHZcPy5iLl873+sVbAjp0RKUrwqpsM
Nu+XpU3NWkJ0Tb7dovba/wwZIp1vE5MpGXAe/NDOvMDc5U9AyTIRZORzSwiGL8km
5ePbjwavn3xpf9JNE/X6eToFhMSUIVwUr4GVge8Jd4zXtovUl4tLpu1cp//oV90N
ty5v7EMPhYaRik9fTiawlv9b+h+I0BqHgnrayXoOKJVw3I5Qy8grG48HozROqPw9
DchRkojiuUZsirJqfqmC
=nkZv
-----END PGP SIGNATURE-----