On 06.10.2012 23:41 , "Charles Mills" <charl...@mcn.org> wrote:


>Thanks. I'm a relative newbie to this whole topic. Can you point me to a
>resource that describes "pin" in the sense you use it below? The word is
>too common for the Google to be much help.

try searching for "certificate pinning". If you are familiar with ssh, it
is the same concept of the StrictHostKeyChecking option (although
obviously SSH and TLS are completely distinct protocols and by default SSH
doesn't use X.509 certs).

The idea is: with a standard TLS connection, acting as TLS client, you
connect to an host for the first time and you receive its certificate. The
standard TLS verifications are successful (meaning: the certificate really
belongs to the host and it has been issued by a CA you trust). When the
connection is closed, a normal TLS client will forget the certificate.

On the other hand, certificate pinning remembers the certificate. Pinning
means storing locally such certificate and associate it to the hostname
you connected to. If the next time you connect the certificate has
changed, a system supporting certificate pinning will warn you.

The certificate can change for many reasons, some legitimate (e.g. it has
expired), some others _might_ be symptom of an attack (e.g. the issuing CA
has changed).

The assumption behind is that the first time you connect, there is no
attack underway, and you store the legitimate certificate. Again with the
ssh parallel, ssh stops and shows you the fingerprint of the public key.
You are supposed to verify, out-of-band, the fingerprint and then
authorize to pin the public key. The criteria to do the verification are
up to you.

You still have the problem of deciding how to handle the case of
certificate changed, but at least you know it is happening.

As a parallel: we first meet and as a proof of identity I show you my
Italian passport. If the next time we meet you remember me, but this time
I show you a French passport, you begin to wonder. Did I change
nationality (possible) or is something fishy going on?

marco

Reply via email to