emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Network security manager


From: Lars Magne Ingebrigtsen
Subject: Re: Network security manager
Date: Tue, 18 Nov 2014 20:45:17 +0100
User-agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.4.51 (gnu/linux)

Toke Høiland-Jørgensen <address@hidden> writes:

> Lars Magne Ingebrigtsen <address@hidden> writes:
>
>> But here's the feedback I need:
>
> Haven't tested the code, but feel like I can weigh in on some of this:
>
>>   if (verification & GNUTLS_CERT_INVALID)
>>     warnings = Fcons (list2 (intern (":invalid"),
>
> As far as I can tell from the GnuTLS example code, this is a flag that
> GnuTLS sets when a cert is not trusted, rather than when it's malformed
> (as I would have guessed from the name)? I.e. it doesn't ever appear on
> its own?

Ah, right, so it's a general catch-all that's set in addition to other
flags?

>>   if (verification & GNUTLS_CERT_REVOKED)
>>     warnings = Fcons (list2 (intern (":revoked"),
>
> This should probably be treated as fairly suspicious; since if the cert
> has been explicitly revoked, there's probably a reason (not sure how
> GnuTLS determines this second one; does it do OCSP revocation checks?).
> SO carrying on would probably be... ill-advised. Perhaps by default fail
> this completely (rather than ask), and optionally have a variable option
> to override it?

I don't see why we shouldn't ask.  The user should be able to decide
without setting variables.

>>   if (verification & GNUTLS_CERT_SIGNER_NOT_FOUND)
>>     warnings = Fcons (list2 (intern (":signer-not-found"),
>>   if (verification & GNUTLS_CERT_SIGNER_NOT_CA)
>>     warnings = Fcons (list2 (intern (":self-signed"),
>
> Not sure which of these would indicate the common self-signed case?
> Could probably be both...

Yeah, that's what I'm mainly wondering about.

>>   if (verification & GNUTLS_CERT_NOT_ACTIVATED)
>>     warnings = Fcons (list2 (intern (":not-activated"),
>
> This would probably be an issue with the clock?
>
>>   if (verification & GNUTLS_CERT_EXPIRED)
>>     warnings = Fcons (list2 (intern (":expired"),
>
> I would expect this to be mostly benign (someone forgot to replace a
> cert), but can also indicate someone stole an old cert and is using it
> to MITM...

Yup.

> However, in terms of UI we might be able to do a bit better. I'd advise
> taking a look at the Certificate Patrol firefox extension
> (http://patrol.psyced.org/), which does some heuristics to determine if
> a changed certificate is benign or not. The main thing it does is to
> look at the expiration date of the stored certificate; if that is
> expired (or close to being), and the new certificate has the same CA as
> the old one, it pops up a notice and continues.

Interesting.  It does this even if the new certificate is valid?  To
mitigate against rogue CAs?

The NSM will also warn about new certificates if the user has switched
to `paranoid', but it doesn't compare old and new CAs and stuff.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



reply via email to

[Prev in Thread] Current Thread [Next in Thread]