Re: [saag] [websec] Pinning

Paul Hoffman <paul.hoffman@vpnc.org> Tue, 05 June 2012 22:01 UTC

Return-Path: <paul.hoffman@vpnc.org>
X-Original-To: saag@ietfa.amsl.com
Delivered-To: saag@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 50A0D21F86B7 for <saag@ietfa.amsl.com>; Tue, 5 Jun 2012 15:01:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VLayaU-+T28O for <saag@ietfa.amsl.com>; Tue, 5 Jun 2012 15:01:18 -0700 (PDT)
Received: from hoffman.proper.com (IPv6.Hoffman.Proper.COM [IPv6:2605:8e00:100:41::81]) by ietfa.amsl.com (Postfix) with ESMTP id ADB4521F86A1 for <saag@ietf.org>; Tue, 5 Jun 2012 15:01:18 -0700 (PDT)
Received: from [10.20.30.101] (50-1-50-97.dsl.dynamic.fusionbroadband.com [50.1.50.97] (may be forged)) (authenticated bits=0) by hoffman.proper.com (8.14.5/8.14.5) with ESMTP id q55M18FV053760 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 5 Jun 2012 15:01:09 -0700 (MST) (envelope-from paul.hoffman@vpnc.org)
Mime-Version: 1.0 (Apple Message framework v1278)
Content-Type: text/plain; charset="us-ascii"
From: Paul Hoffman <paul.hoffman@vpnc.org>
In-Reply-To: <8E52CEC5-4FEB-4464-AB11-21F1B9208C5C@checkpoint.com>
Date: Tue, 05 Jun 2012 15:01:08 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <38489744-05A9-45F0-A752-7F0B9E96E641@vpnc.org>
References: <31946C2A-4ACD-46D7-8977-49B681204A7B@checkpoint.com> <8E52CEC5-4FEB-4464-AB11-21F1B9208C5C@checkpoint.com>
To: Yoav Nir <ynir@checkpoint.com>
X-Mailer: Apple Mail (2.1278)
Cc: "saag@ietf.org" <saag@ietf.org>
Subject: Re: [saag] [websec] Pinning
X-BeenThere: saag@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Security Area Advisory Group <saag.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/saag>, <mailto:saag-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/saag>
List-Post: <mailto:saag@ietf.org>
List-Help: <mailto:saag-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/saag>, <mailto:saag-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Jun 2012 22:01:19 -0000

On Jun 5, 2012, at 2:46 PM, Yoav Nir wrote:

>> The similarity of pinning and DANE has been discussed before. DANE relies on DNSSEC being deployed, which key-pinning does not.

Correct. Further, key-pinning in HTTP only applies to HTTP and relies on the client being able to establish a TLS session using non-key-pinning semantics. Key-pinning in TLS relies works with any lower-layer protocol and relies on the client being able to establish a TLS session using non-key-pinning semantics.

>> Come to think of it, the draft needs a section comparing with DANE, but that's for another thread.
>> 
>> draft-perrin-tls-tack seems to tackle the same problem as key-pinning. Instead of the pins getting attested to in HTTP headers, you have a special public/private key pair, that you use to sign the SPKI from the server certificate within the a TLS extension. Like key-pinning there's a TOFU element here, because the client only learns about the special key when it encounters it in a TLS handshake.
>> 
>> The obvious question is why would we need both key-pinning and tack.

It would be clearer if you said "both key-pinning in HTTP and key-pinning in TLS (tack)".

--Paul Hoffman