
From ietf@adambarth.com  Fri Sep  2 03:19:28 2011
Return-Path: <ietf@adambarth.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7240F21F8F3F; Fri,  2 Sep 2011 03:19:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.172
X-Spam-Level: 
X-Spam-Status: No, score=-3.172 tagged_above=-999 required=5 tests=[AWL=-0.195, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
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 mpig-zQu5fxY; Fri,  2 Sep 2011 03:19:28 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id D33DE21F8F2E; Fri,  2 Sep 2011 03:19:27 -0700 (PDT)
Received: by iakc1 with SMTP id c1so3693730iak.31 for <multiple recipients>; Fri, 02 Sep 2011 03:21:03 -0700 (PDT)
Received: by 10.231.55.210 with SMTP id v18mr1726165ibg.26.1314958861483; Fri, 02 Sep 2011 03:21:01 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by mx.google.com with ESMTPS id df21sm2604841ibb.9.2011.09.02.03.20.58 (version=SSLv3 cipher=OTHER); Fri, 02 Sep 2011 03:20:59 -0700 (PDT)
Received: by iakc1 with SMTP id c1so3693657iak.31 for <multiple recipients>; Fri, 02 Sep 2011 03:20:58 -0700 (PDT)
Received: by 10.231.7.195 with SMTP id e3mr1765206ibe.4.1314958858151; Fri, 02 Sep 2011 03:20:58 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.199.137 with HTTP; Fri, 2 Sep 2011 03:20:28 -0700 (PDT)
In-Reply-To: <4E567918.4090707@gmx.de>
References: <20110823211953.14482.9265.idtracker@ietfa.amsl.com> <4E567918.4090707@gmx.de>
From: Adam Barth <ietf@adambarth.com>
Date: Fri, 2 Sep 2011 03:20:28 -0700
Message-ID: <CAJE5ia96HwjP=jyJeeMv8wGEtjQsakvJiJz==qvfjzA6-unw-w@mail.gmail.com>
To: Julian Reschke <julian.reschke@gmx.de>
Content-Type: text/plain; charset=ISO-8859-1
Cc: websec@ietf.org, ietf@ietf.org
Subject: Re: [websec] Last Call: <draft-ietf-websec-origin-04.txt> (The Web Origin Concept) to Proposed Standard
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Sep 2011 10:19:28 -0000

I replied to Julian's message on a W3C list.  Julian, is there more
discussion you'd like to have about these points?

Adam


On Thu, Aug 25, 2011 at 9:32 AM, Julian Reschke <julian.reschke@gmx.de> wrote:
> Below a few late comments..
>
> 6. Serializing Origins
>
> - It really really seems that the two algorithms need to be swapped (the
> first one converts to ASCII, but the second does not).
>
> - Also, I'd prefer a declarative definition.
>
> 7. The HTTP Origin header
>
> - header *field*
>
> - the syntax doesn't allow multiple header fields, and the prose says
> clients MUST NOT generate them; what is the recipient supposed to do when it
> get's multiple instances anyway? Is the default approach (ignoring them all)
> good enough? Do we need to warn recipients so that they check?
>
> 11. References
>
> - the WEBSOCKETS reference should be updated (if a new draft is produced)
>
> Best regards, Julian
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>

From julian.reschke@gmx.de  Fri Sep  2 03:24:52 2011
Return-Path: <julian.reschke@gmx.de>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E142F21F8FB5 for <websec@ietfa.amsl.com>; Fri,  2 Sep 2011 03:24:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.583
X-Spam-Level: 
X-Spam-Status: No, score=-104.583 tagged_above=-999 required=5 tests=[AWL=-1.984, 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 SDh2hBuAWCHI for <websec@ietfa.amsl.com>; Fri,  2 Sep 2011 03:24:52 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by ietfa.amsl.com (Postfix) with SMTP id 8827321F8F49 for <websec@ietf.org>; Fri,  2 Sep 2011 03:24:51 -0700 (PDT)
Received: (qmail invoked by alias); 02 Sep 2011 10:26:25 -0000
Received: from mail.greenbytes.de (EHLO [192.168.1.140]) [217.91.35.233] by mail.gmx.net (mp026) with SMTP; 02 Sep 2011 12:26:25 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1+s8LhjJJisLG5ryVigw8/YF2rKrxLEPmSeJOGHN3 w5nNfsXT2BjoeI
Message-ID: <4E60AF4F.2010106@gmx.de>
Date: Fri, 02 Sep 2011 12:26:23 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.1) Gecko/20110830 Thunderbird/6.0.1
MIME-Version: 1.0
To: Adam Barth <ietf@adambarth.com>
References: <20110823211953.14482.9265.idtracker@ietfa.amsl.com> <4E567918.4090707@gmx.de> <CAJE5ia96HwjP=jyJeeMv8wGEtjQsakvJiJz==qvfjzA6-unw-w@mail.gmail.com>
In-Reply-To: <CAJE5ia96HwjP=jyJeeMv8wGEtjQsakvJiJz==qvfjzA6-unw-w@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Cc: websec@ietf.org, ietf@ietf.org
Subject: Re: [websec] Last Call: <draft-ietf-websec-origin-04.txt> (The Web Origin Concept) to Proposed Standard
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Sep 2011 10:24:53 -0000

On 2011-09-02 12:20, Adam Barth wrote:
> I replied to Julian's message on a W3C list.  Julian, is there more
> discussion you'd like to have about these points?
> ...

Well, as discussed, the syntax of the Origin header makes it hard to 
detect errors which happen when multiple instances get folded into one; 
see 
<http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-latest.html#considerations.for.creating.header.fields> 
-- but I fear it's too late to fix this?

Best regards, Julian

From fielding@gbiv.com  Fri Sep  2 12:37:17 2011
Return-Path: <fielding@gbiv.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B05B521F8CED; Fri,  2 Sep 2011 12:37:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.678
X-Spam-Level: 
X-Spam-Status: No, score=-105.678 tagged_above=-999 required=5 tests=[AWL=-3.079, 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 9W-RcGwp53fu; Fri,  2 Sep 2011 12:37:17 -0700 (PDT)
Received: from homiemail-a67.g.dreamhost.com (caiajhbdccac.dreamhost.com [208.97.132.202]) by ietfa.amsl.com (Postfix) with ESMTP id 12EDA21F8CE9; Fri,  2 Sep 2011 12:37:17 -0700 (PDT)
Received: from homiemail-a67.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a67.g.dreamhost.com (Postfix) with ESMTP id A01DB88065; Fri,  2 Sep 2011 12:38:53 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gbiv.com; h=subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to; q=dns; s=gbiv.com; b=f3gQaRY9TUmalVYO MzIdr3O7ccLAh6KHmCcQ2bwkqa5Y4BawPMZjHL6x5UBiusD6a2zBf+sLL23ycET8 AjBHJpC/uGrz7QJIrk1ASBVKgDm34Uq15KfighWp9Qpc6Vd+CfZjlm8Ysw/cvQKe vUDuP28i5fl8YHj6OgnL8AF85os=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gbiv.com; h=subject :mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=gbiv.com; bh=ZszVJLr5ZPC2Fdqw17GzRB7V0Vg=; b=v1TjFZdaB47fFkkaXJIznNTKJ1OF 95Nex+uLyBaXbFwqu/VTxkHXvMVgexxcwriU7dtCf1ZnUxr/glNc6UktwC0YneVO UPbMiKbAH1uCuBDu2ruRFURa+nOPJl4UNRbDz2XRu64FJOP5JG/0r7zg39ZtTjtY UydFrjTbVGkCEis=
Received: from [10.134.89.83] (unknown [75.103.10.98]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: fielding@gbiv.com) by homiemail-a67.g.dreamhost.com (Postfix) with ESMTPSA id 5E3EA8806B;  Fri,  2 Sep 2011 12:38:53 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset=us-ascii
From: "Roy T. Fielding" <fielding@gbiv.com>
In-Reply-To: <20110823211953.14482.9265.idtracker@ietfa.amsl.com>
Date: Fri, 2 Sep 2011 12:38:58 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <712C43CF-5F59-4F3D-B88F-11B3CEE52591@gbiv.com>
References: <20110823211953.14482.9265.idtracker@ietfa.amsl.com>
To: ietf@ietf.org
X-Mailer: Apple Mail (2.1084)
Cc: websec <websec@ietf.org>
Subject: Re: [websec] Last Call: <draft-ietf-websec-origin-04.txt> (The Web Origin Concept)	to Proposed Standard
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Sep 2011 19:37:17 -0000

On Aug 23, 2011, at 2:19 PM, The IESG wrote:

> The IESG has received a request from the Web Security WG (websec) to
> consider the following document:
> - 'The Web Origin Concept'
>  <draft-ietf-websec-origin-04.txt> as a Proposed Standard

Sec 2.2: the definition of OWS includes a mistake that I just fixed in =
httpbis.

   OWS            =3D *( [ obs-fold ] WSP )
                    ; "optional" whitespace
   obs-fold       =3D CRLF

should be

   OWS            =3D *( HTAB / SP / obs-fold )
                    ; "optional" whitespace
   obs-fold       =3D CRLF ( HTAB / SP )
                    ; obsolete line folding

The problem isn't in OWS itself -- the above are equivalent.
It is the definition of obs-fold that is wrong because it stands
for the obsolete line folding allowed by RFC2616 (RFC822, etc.).
A CRLF alone is not an obs-fold, so optimizing the ABNF in that
way was wrong in httpbis.  Likewise, I recommend replacing WSP with
its equivalent ( HTAB / SP ) because the name is misleading and
is only used in this one section.

OTOH, perhaps a simpler change is in order.  The above definitions
are only used once in the document (Section 7.1).  Furthermore,
since we are defining a new header field (and not all header fields),
we can be more proscriptive in 7.1 and remove the section above.

In 7.1, instead of

   origin              =3D "Origin:" OWS origin-list-or-null OWS

define it as

   origin              =3D "Origin:" [ SP ] origin-list-or-null

and then most of 2.2 can be removed.


Sec 8: typo:  s/those model /those models /


Otherwise, the spec looks good.


Cheers,

Roy T. Fielding                     <http://roy.gbiv.com/>
Principal Scientist, Adobe Systems  <http://adobe.com/enterprise>



From fielding@gbiv.com  Fri Sep  2 14:13:45 2011
Return-Path: <fielding@gbiv.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 87F9321F8D5E; Fri,  2 Sep 2011 14:13:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.472
X-Spam-Level: 
X-Spam-Status: No, score=-105.472 tagged_above=-999 required=5 tests=[AWL=-2.873, 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 hyo2o2wIjLwm; Fri,  2 Sep 2011 14:13:45 -0700 (PDT)
Received: from homiemail-a36.g.dreamhost.com (caiajhbdcbef.dreamhost.com [208.97.132.145]) by ietfa.amsl.com (Postfix) with ESMTP id 1B24221F8D56; Fri,  2 Sep 2011 14:13:45 -0700 (PDT)
Received: from homiemail-a36.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a36.g.dreamhost.com (Postfix) with ESMTP id C4E5177805F; Fri,  2 Sep 2011 14:15:07 -0700 (PDT)
Received: from [10.134.89.83] (unknown [75.103.10.98]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: fielding@gbiv.com) by homiemail-a36.g.dreamhost.com (Postfix) with ESMTPSA id 6B015778057;  Fri,  2 Sep 2011 14:15:07 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset=us-ascii
From: "Roy T. Fielding" <fielding@gbiv.com>
In-Reply-To: <CAHhFybpey5-e7KYkUb-tsBAb_+KSykvQ1w4vUuQL7xyguYXAcQ@mail.gmail.com>
Date: Fri, 2 Sep 2011 14:15:12 -0700
Content-Transfer-Encoding: 7bit
Message-Id: <24011A01-BF9D-4A63-A7DE-554399FDAB96@gbiv.com>
References: <20110823211953.14482.9265.idtracker@ietfa.amsl.com> <712C43CF-5F59-4F3D-B88F-11B3CEE52591@gbiv.com> <CAHhFybpey5-e7KYkUb-tsBAb_+KSykvQ1w4vUuQL7xyguYXAcQ@mail.gmail.com>
To: Frank Ellermann <hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com>
X-Mailer: Apple Mail (2.1084)
Cc: websec <websec@ietf.org>, ietf@ietf.org
Subject: Re: [websec] Last Call: <draft-ietf-websec-origin-04.txt> (The Web Origin Concept) to Proposed Standard
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Sep 2011 21:13:45 -0000

On Sep 2, 2011, at 1:19 PM, Frank Ellermann wrote:

> On 2 September 2011 21:38, Roy T. Fielding wrote:
> 
> [http-bis]
>>   OWS            = *( HTAB / SP / obs-fold )
>>                    ; "optional" whitespace
>>   obs-fold       = CRLF ( HTAB / SP )
>>                    ; obsolete line folding
> 
> Clearer.  JFTR, this is still "avoid *any* folding", and not
> "avoid more than one folding".

That is the intention.  There is no reason to fold in HTTP
outside of the message/http media type.

>  And if you like...
> 
>>   origin              = "Origin:" [ SP ] origin-list-or-null
> 
> ...I wonder why you don't demote HTAB generally to "obsolete"
> in OWS.

We already state that a single SP is preferred.

> Or why you don't propose *WSP instead of [SP] in the
> Origin header field.

Because a single SP is preferred.  This is a new header field.

> It would be odd if the overall HTTPbis
> rules and the specific Origin header field have different
> ideas about "optional white space" (modulo <obs-fold>, i.e.,
> eliminating <obs-fold> in a new header field Origin is fine).

The overall field parsing rules for HTTPbis are for recipients.
These things are parsed in general, and so it only matters that
the generative grammar for origin matches one of the choices
allowed by the parsing grammar in HTTPbis.

> One optional SP is not the same as zero or more ( HTAB / SP ).

It is if you only send the preferred format.  That said, I'd also
agree with Julian's suggestion that it is better to just define
the field-value in ABNF and leave the rest to HTTP.

....Roy


From hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com  Fri Sep  2 13:18:53 2011
Return-Path: <hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 84C4121F8C39; Fri,  2 Sep 2011 13:18:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.946
X-Spam-Level: 
X-Spam-Status: No, score=-102.946 tagged_above=-999 required=5 tests=[AWL=0.153, BAYES_00=-2.599, FROM_LOCAL_NOVOWEL=0.5, RCVD_IN_DNSWL_LOW=-1, 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 1qbeSkcs1QYb; Fri,  2 Sep 2011 13:18:53 -0700 (PDT)
Received: from mail-pz0-f45.google.com (mail-pz0-f45.google.com [209.85.210.45]) by ietfa.amsl.com (Postfix) with ESMTP id 0670221F8C42; Fri,  2 Sep 2011 13:18:52 -0700 (PDT)
Received: by pzk33 with SMTP id 33so10193742pzk.18 for <multiple recipients>; Fri, 02 Sep 2011 13:20:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=JO6jmxS2XERUu9KZDjBiSHpKSzqtG5qIbKXKcVwoSwU=; b=FdgdKhc5LPWQ72AN9z4soPXhwqKeF+xSm4z1VCfMDY7PUl349AqO8k9rnu3CSP++DV YWvEd+nZspFGYHEO5nSYX82Cq23zHtmQTcmArK9UOz1rCNqkA2J4ix0ifK43Wd24nyHs zFc9dPsZ2uySAiUSPOl0pcVrJH5Raz6LaPKo8=
Received: by 10.68.37.72 with SMTP id w8mr2390586pbj.23.1314994814079; Fri, 02 Sep 2011 13:20:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.98.5 with HTTP; Fri, 2 Sep 2011 13:19:34 -0700 (PDT)
In-Reply-To: <712C43CF-5F59-4F3D-B88F-11B3CEE52591@gbiv.com>
References: <20110823211953.14482.9265.idtracker@ietfa.amsl.com> <712C43CF-5F59-4F3D-B88F-11B3CEE52591@gbiv.com>
From: Frank Ellermann <hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com>
Date: Fri, 2 Sep 2011 22:19:34 +0200
Message-ID: <CAHhFybpey5-e7KYkUb-tsBAb_+KSykvQ1w4vUuQL7xyguYXAcQ@mail.gmail.com>
To: "Roy T. Fielding" <fielding@gbiv.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Mailman-Approved-At: Sat, 03 Sep 2011 02:24:04 -0700
Cc: websec <websec@ietf.org>, ietf@ietf.org
Subject: Re: [websec] Last Call: <draft-ietf-websec-origin-04.txt> (The Web Origin Concept) to Proposed Standard
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Sep 2011 20:18:53 -0000

On 2 September 2011 21:38, Roy T. Fielding wrote:

 [http-bis]
> =A0 OWS =A0 =A0 =A0 =A0 =A0 =A0=3D *( HTAB / SP / obs-fold )
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0; "optional" whitespace
> =A0 obs-fold =A0 =A0 =A0 =3D CRLF ( HTAB / SP )
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0; obsolete line folding

Clearer.  JFTR, this is still "avoid *any* folding", and not
"avoid more than one folding".  And if you like...

> =A0 origin =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D "Origin:" [ SP ] origin-list-or=
-null

...I wonder why you don't demote HTAB generally to "obsolete"
in OWS.  Or why you don't propose *WSP instead of [SP] in the
Origin header field.  It would be odd if the overall HTTPbis
rules and the specific Origin header field have different
ideas about "optional white space" (modulo <obs-fold>, i.e.,
eliminating <obs-fold> in a new header field Origin is fine).

One optional SP is not the same as zero or more ( HTAB / SP ).

-Frank

From hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com  Fri Sep  2 15:19:54 2011
Return-Path: <hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B3B5621F8D14; Fri,  2 Sep 2011 15:19:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.949
X-Spam-Level: 
X-Spam-Status: No, score=-102.949 tagged_above=-999 required=5 tests=[AWL=0.150, BAYES_00=-2.599, FROM_LOCAL_NOVOWEL=0.5, RCVD_IN_DNSWL_LOW=-1, 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 hTsTOQ3WtBU9; Fri,  2 Sep 2011 15:19:54 -0700 (PDT)
Received: from mail-pz0-f45.google.com (mail-pz0-f45.google.com [209.85.210.45]) by ietfa.amsl.com (Postfix) with ESMTP id 217E621F8D12; Fri,  2 Sep 2011 15:19:54 -0700 (PDT)
Received: by pzk33 with SMTP id 33so10534665pzk.18 for <multiple recipients>; Fri, 02 Sep 2011 15:21:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=TRyRgILSJH9TK8zpdSTlnG8wuTaQGj2z7uhjxaWIcRI=; b=EndVk8JyVDzt/IjrSeTsQfz3Sst5ccSTCNfmU7hK1yOpXVD0bcOrbqXc5Muf8MnOXZ 14URcJsl7AF1MtexvIb8bjivk8yZkSkDMcdAAfdB4rbWp1yyLmvY49kbL+Gs1iwWsArn hwXC+Mj8BNuxu8qpD5BGZvqoLYv6Rx/Arlb04=
Received: by 10.68.34.34 with SMTP id w2mr2758941pbi.291.1315002091065; Fri, 02 Sep 2011 15:21:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.98.5 with HTTP; Fri, 2 Sep 2011 15:20:51 -0700 (PDT)
In-Reply-To: <24011A01-BF9D-4A63-A7DE-554399FDAB96@gbiv.com>
References: <20110823211953.14482.9265.idtracker@ietfa.amsl.com> <712C43CF-5F59-4F3D-B88F-11B3CEE52591@gbiv.com> <CAHhFybpey5-e7KYkUb-tsBAb_+KSykvQ1w4vUuQL7xyguYXAcQ@mail.gmail.com> <24011A01-BF9D-4A63-A7DE-554399FDAB96@gbiv.com>
From: Frank Ellermann <hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com>
Date: Sat, 3 Sep 2011 00:20:51 +0200
Message-ID: <CAHhFybpQO96YhH_aMgViQCKoTf7cmqH+YojzrV=1gf23hY0-0Q@mail.gmail.com>
To: "Roy T. Fielding" <fielding@gbiv.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Mailman-Approved-At: Sat, 03 Sep 2011 02:24:05 -0700
Cc: websec <websec@ietf.org>, ietf@ietf.org
Subject: Re: [websec] Last Call: <draft-ietf-websec-origin-04.txt> (The Web Origin Concept) to Proposed Standard
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Sep 2011 22:19:54 -0000

On 2 September 2011 23:15, Roy T. Fielding wrote:

>> this is still "avoid *any* folding", and not "avoid more
>> than one folding".

> That is the intention. =A0There is no reason to fold in HTTP
> outside of the message/http media type.

As a result you get an intentional difference from <obs-FWS>
in messages, because HTTP has no line length limit.  This
<obs-FWS> is about "insane" foldings, and your <obs-fold> is
about "unnecessary or insane" foldings.

I'm not sure that a sound but unnecessary folding is really
always a bad idea, e.g., I don't use programming languages
with a hardwired maximal string length, where "unnecessary"
could turn out to be "rarely almost required".

Still only "JFTR", if you are sure that this is precisely as
you want it stick to it.  The more spectacular examples with
"syntactically valid ASCII art consisting of commas" will be
obsoleted by <obs-fold>, while <obs-FWS> alone only tackles
the dangerous "apparently empty" lines -- but IIRC RFC 5322
also did something else about ASCII art.

>> I wonder why you don't demote HTAB generally to "obsolete"
>> in OWS.

> We already state that a single SP is preferred.

Two SHOULDs in the prose before the syntax.  If you move HTAB
to obs-fold =3D HTAB / ( CRLF (HTAB / SP)) and then rename this
to <obs-wsp> it would more closely match the prose, "whatever
you do with one or even more than one SP, stay away from HTAB
and CRLF".

> That said, I'd also agree with Julian's suggestion that it
> is better to just define the field-value in ABNF and leave
> the rest to HTTP.

Yes, the Origin I-D shouldn't define any <OWS> if that is not
guaranteed to be precisely the same as in the future HTTPbis.

-Frank

From ietf@adambarth.com  Sat Sep  3 12:11:58 2011
Return-Path: <ietf@adambarth.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 551AF21F8A4F; Sat,  3 Sep 2011 12:11:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.163
X-Spam-Level: 
X-Spam-Status: No, score=-3.163 tagged_above=-999 required=5 tests=[AWL=-0.186, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
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 aZ8MeIS4-z8i; Sat,  3 Sep 2011 12:11:57 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id EF00121F8A4D; Sat,  3 Sep 2011 12:11:55 -0700 (PDT)
Received: by iakc1 with SMTP id c1so5510747iak.31 for <multiple recipients>; Sat, 03 Sep 2011 12:13:35 -0700 (PDT)
Received: by 10.42.244.134 with SMTP id lq6mr2264370icb.228.1315077213645; Sat, 03 Sep 2011 12:13:33 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by mx.google.com with ESMTPS id df21sm5202269ibb.9.2011.09.03.12.13.31 (version=SSLv3 cipher=OTHER); Sat, 03 Sep 2011 12:13:32 -0700 (PDT)
Received: by iakc1 with SMTP id c1so5510702iak.31 for <multiple recipients>; Sat, 03 Sep 2011 12:13:31 -0700 (PDT)
Received: by 10.231.63.136 with SMTP id b8mr4488765ibi.43.1315077211107; Sat, 03 Sep 2011 12:13:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.199.137 with HTTP; Sat, 3 Sep 2011 12:13:01 -0700 (PDT)
In-Reply-To: <712C43CF-5F59-4F3D-B88F-11B3CEE52591@gbiv.com>
References: <20110823211953.14482.9265.idtracker@ietfa.amsl.com> <712C43CF-5F59-4F3D-B88F-11B3CEE52591@gbiv.com>
From: Adam Barth <ietf@adambarth.com>
Date: Sat, 3 Sep 2011 12:13:01 -0700
Message-ID: <CAJE5ia98xTu3k1n1cNAzxsTVWKfba4J8bQjKL0=OF1Az5fWjBw@mail.gmail.com>
To: "Roy T. Fielding" <fielding@gbiv.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: websec <websec@ietf.org>, ietf@ietf.org
Subject: Re: [websec] Last Call: <draft-ietf-websec-origin-04.txt> (The Web Origin Concept) to Proposed Standard
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Sep 2011 19:11:58 -0000

On Fri, Sep 2, 2011 at 12:38 PM, Roy T. Fielding <fielding@gbiv.com> wrote:
> On Aug 23, 2011, at 2:19 PM, The IESG wrote:
>> The IESG has received a request from the Web Security WG (websec) to
>> consider the following document:
>> - 'The Web Origin Concept'
>> =A0<draft-ietf-websec-origin-04.txt> as a Proposed Standard
>
> Sec 2.2: the definition of OWS includes a mistake that I just fixed in ht=
tpbis.
>
> =A0 OWS =A0 =A0 =A0 =A0 =A0 =A0=3D *( [ obs-fold ] WSP )
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0; "optional" whitespace
> =A0 obs-fold =A0 =A0 =A0 =3D CRLF
>
> should be
>
> =A0 OWS =A0 =A0 =A0 =A0 =A0 =A0=3D *( HTAB / SP / obs-fold )
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0; "optional" whitespace
> =A0 obs-fold =A0 =A0 =A0 =3D CRLF ( HTAB / SP )
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0; obsolete line folding
>
> The problem isn't in OWS itself -- the above are equivalent.
> It is the definition of obs-fold that is wrong because it stands
> for the obsolete line folding allowed by RFC2616 (RFC822, etc.).
> A CRLF alone is not an obs-fold, so optimizing the ABNF in that
> way was wrong in httpbis. =A0Likewise, I recommend replacing WSP with
> its equivalent ( HTAB / SP ) because the name is misleading and
> is only used in this one section.

This text is intended to match the text from HTTPbis.  The most
recently published HTTPbis documents still contain the old
construction:

http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-16#section-1.2.2

Is there some way to see the as-yet-unpublished version with the
updated text so I can make sure to get it exactly right?

> OTOH, perhaps a simpler change is in order. =A0The above definitions
> are only used once in the document (Section 7.1). =A0Furthermore,
> since we are defining a new header field (and not all header fields),
> we can be more proscriptive in 7.1 and remove the section above.
>
> In 7.1, instead of
>
> =A0 origin =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D "Origin:" OWS origin-list-or-nu=
ll OWS
>
> define it as
>
> =A0 origin =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D "Origin:" [ SP ] origin-list-or=
-null
>
> and then most of 2.2 can be removed.

Is there some advantage in doing that?  It seems better to define this
header in the same way we define all the other headers.  If we do
something different here, we run the risk of confusing folks into
thinking that it requires some sort of different generation or parsing
than everything else.

> Sec 8: typo: =A0s/those model /those models /

Fixed.

> Otherwise, the spec looks good.

Thanks!

Adam

From ietf@adambarth.com  Sat Sep  3 12:15:28 2011
Return-Path: <ietf@adambarth.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EDAA821F8AFD; Sat,  3 Sep 2011 12:15:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.154
X-Spam-Level: 
X-Spam-Status: No, score=-3.154 tagged_above=-999 required=5 tests=[AWL=-0.177, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
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 nJbTJiGE1NhP; Sat,  3 Sep 2011 12:15:28 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id DC50A21F8B02; Sat,  3 Sep 2011 12:15:27 -0700 (PDT)
Received: by iakc1 with SMTP id c1so5513694iak.31 for <multiple recipients>; Sat, 03 Sep 2011 12:17:07 -0700 (PDT)
Received: by 10.42.146.66 with SMTP id i2mr2180852icv.444.1315077426440; Sat, 03 Sep 2011 12:17:06 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by mx.google.com with ESMTPS id m21sm5221279ibf.8.2011.09.03.12.17.04 (version=SSLv3 cipher=OTHER); Sat, 03 Sep 2011 12:17:05 -0700 (PDT)
Received: by iakc1 with SMTP id c1so5513647iak.31 for <multiple recipients>; Sat, 03 Sep 2011 12:17:04 -0700 (PDT)
Received: by 10.231.7.195 with SMTP id e3mr4555101ibe.4.1315077424155; Sat, 03 Sep 2011 12:17:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.199.137 with HTTP; Sat, 3 Sep 2011 12:16:34 -0700 (PDT)
In-Reply-To: <4E60AF4F.2010106@gmx.de>
References: <20110823211953.14482.9265.idtracker@ietfa.amsl.com> <4E567918.4090707@gmx.de> <CAJE5ia96HwjP=jyJeeMv8wGEtjQsakvJiJz==qvfjzA6-unw-w@mail.gmail.com> <4E60AF4F.2010106@gmx.de>
From: Adam Barth <ietf@adambarth.com>
Date: Sat, 3 Sep 2011 12:16:34 -0700
Message-ID: <CAJE5ia8CR8uGzWurpBzE1wEtJTd2PdJTRN=uvYgm1HwqQ6U3sA@mail.gmail.com>
To: Julian Reschke <julian.reschke@gmx.de>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: websec@ietf.org, ietf@ietf.org
Subject: Re: [websec] Last Call: <draft-ietf-websec-origin-04.txt> (The Web Origin Concept) to Proposed Standard
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Sep 2011 19:15:29 -0000

On Fri, Sep 2, 2011 at 3:26 AM, Julian Reschke <julian.reschke@gmx.de> wrot=
e:
> On 2011-09-02 12:20, Adam Barth wrote:
>> I replied to Julian's message on a W3C list. =A0Julian, is there more
>> discussion you'd like to have about these points?
>> ...
>
> Well, as discussed, the syntax of the Origin header makes it hard to dete=
ct
> errors which happen when multiple instances get folded into one; see
> <http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-latest.=
html#considerations.for.creating.header.fields>
> -- but I fear it's too late to fix this?

Unfortunately, yes.  Adding quotes would break the large number of
folks using already using this header.

Adam

From julian.reschke@gmx.de  Sun Sep  4 12:59:03 2011
Return-Path: <julian.reschke@gmx.de>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B6E3121F8A62 for <websec@ietfa.amsl.com>; Sun,  4 Sep 2011 12:59:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.231
X-Spam-Level: 
X-Spam-Status: No, score=-104.231 tagged_above=-999 required=5 tests=[AWL=-1.632, 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 hBBaH7CiRUz0 for <websec@ietfa.amsl.com>; Sun,  4 Sep 2011 12:59:03 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.23]) by ietfa.amsl.com (Postfix) with SMTP id B713B21F8A4E for <websec@ietf.org>; Sun,  4 Sep 2011 12:59:02 -0700 (PDT)
Received: (qmail invoked by alias); 04 Sep 2011 20:00:43 -0000
Received: from p508F9E0A.dip.t-dialin.net (EHLO [192.168.178.36]) [80.143.158.10] by mail.gmx.net (mp023) with SMTP; 04 Sep 2011 22:00:43 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1+oDdhVBhqo0bBYlqfcHqWVWd0iK5R+ekRfGhkWad OVMdO6SDmwXJIB
Message-ID: <4E63D8EA.9010700@gmx.de>
Date: Sun, 04 Sep 2011 22:00:42 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.1) Gecko/20110830 Thunderbird/6.0.1
MIME-Version: 1.0
To: Adam Barth <ietf@adambarth.com>
References: <20110823211953.14482.9265.idtracker@ietfa.amsl.com> <712C43CF-5F59-4F3D-B88F-11B3CEE52591@gbiv.com> <CAJE5ia98xTu3k1n1cNAzxsTVWKfba4J8bQjKL0=OF1Az5fWjBw@mail.gmail.com>
In-Reply-To: <CAJE5ia98xTu3k1n1cNAzxsTVWKfba4J8bQjKL0=OF1Az5fWjBw@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Cc: websec <websec@ietf.org>, ietf@ietf.org
Subject: Re: [websec] Last Call: <draft-ietf-websec-origin-04.txt> (The Web Origin Concept) to Proposed Standard
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 04 Sep 2011 19:59:03 -0000

On 2011-09-03 21:13, Adam Barth wrote:
> On Fri, Sep 2, 2011 at 12:38 PM, Roy T. Fielding<fielding@gbiv.com>  wrote:
>> On Aug 23, 2011, at 2:19 PM, The IESG wrote:
>>> The IESG has received a request from the Web Security WG (websec) to
>>> consider the following document:
>>> - 'The Web Origin Concept'
>>>   <draft-ietf-websec-origin-04.txt>  as a Proposed Standard
>>
>> Sec 2.2: the definition of OWS includes a mistake that I just fixed in httpbis.
>>
>>    OWS            = *( [ obs-fold ] WSP )
>>                     ; "optional" whitespace
>>    obs-fold       = CRLF
>>
>> should be
>>
>>    OWS            = *( HTAB / SP / obs-fold )
>>                     ; "optional" whitespace
>>    obs-fold       = CRLF ( HTAB / SP )
>>                     ; obsolete line folding
>>
>> The problem isn't in OWS itself -- the above are equivalent.
>> It is the definition of obs-fold that is wrong because it stands
>> for the obsolete line folding allowed by RFC2616 (RFC822, etc.).
>> A CRLF alone is not an obs-fold, so optimizing the ABNF in that
>> way was wrong in httpbis.  Likewise, I recommend replacing WSP with
>> its equivalent ( HTAB / SP ) because the name is misleading and
>> is only used in this one section.
>
> This text is intended to match the text from HTTPbis.  The most
> recently published HTTPbis documents still contain the old
> construction:
>
> http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-16#section-1.2.2
>
> Is there some way to see the as-yet-unpublished version with the
> updated text so I can make sure to get it exactly right?

<http://trac.tools.ietf.org/wg/httpbis/trac/browser/draft-ietf-httpbis/latest/p1-messaging.html>

But then, this is still work-in-progress.

>> OTOH, perhaps a simpler change is in order.  The above definitions
>> are only used once in the document (Section 7.1).  Furthermore,
>> since we are defining a new header field (and not all header fields),
>> we can be more proscriptive in 7.1 and remove the section above.
>>
>> In 7.1, instead of
>>
>>    origin              = "Origin:" OWS origin-list-or-null OWS
>>
>> define it as
>>
>>    origin              = "Origin:" [ SP ] origin-list-or-null
>>
>> and then most of 2.2 can be removed.
>
> Is there some advantage in doing that?  It seems better to define this
> header in the same way we define all the other headers.  If we do
> something different here, we run the risk of confusing folks into
> thinking that it requires some sort of different generation or parsing
> than everything else.

The best way to do it (as Roy agreed as well) is just to define the ABNF 
for the field-value.

> ...

Best regards, Julian

From Jeff.Hodges@KingsMountain.com  Thu Sep  8 16:50:39 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 04B7B21F8BE8 for <websec@ietfa.amsl.com>; Thu,  8 Sep 2011 16:50:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.644
X-Spam-Level: 
X-Spam-Status: No, score=-100.644 tagged_above=-999 required=5 tests=[AWL=-0.376, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, SARE_SUB_OBFU_Q1=0.227, 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 ldIjdgOfg1mN for <websec@ietfa.amsl.com>; Thu,  8 Sep 2011 16:50:38 -0700 (PDT)
Received: from oproxy7-pub.bluehost.com (oproxy7.bluehost.com [IPv6:2605:dc00:100:2::a7]) by ietfa.amsl.com (Postfix) with SMTP id 56DA021F8B6F for <websec@ietf.org>; Thu,  8 Sep 2011 16:50:38 -0700 (PDT)
Received: (qmail 2364 invoked by uid 0); 8 Sep 2011 23:52:30 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by oproxy7.bluehost.com with SMTP; 8 Sep 2011 23:52:30 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=Te8uVfs8JMdJeon9yRVzQfajEeGZzoUD2/vqjX9FjKg=;  b=MbmOA6elKown/7Gz5mhujJgjZ5CybQggW57jgysVwwxegthgAnBh9CPoCygGijKLRN+s0EG6qZtUqZ5VfUszQOJxhcsyE2sbrQLj0kqdETZjM3VDfE86bVmOL6nBdLJJ;
Received: from outbound4.ebay.com ([216.113.168.128] helo=[10.244.137.209]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R1oOU-0006tX-Cd for websec@ietf.org; Thu, 08 Sep 2011 17:52:30 -0600
Message-ID: <4E69553F.8000609@KingsMountain.com>
Date: Thu, 08 Sep 2011 16:52:31 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 216.113.168.128 authed with jeff.hodges+kingsmountain.com}
Subject: [websec] fyi: I-D Action: draft-hodges-websec-framework-reqs-01
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Sep 2011 23:50:39 -0000

see below. I re-sub'd with only date change in order to avoid expiration. will 
revise a fair bit later here in Sept.

though, now's a good time to review this doc, at least the high level taxonomy. 
There's been recent discussion in various quarters wrt "certificate pinning" 
and means to convey such, as well as various other web sec policies folks are 
anticipating/designing to convey in HTTP headers -- Thomas Roessler remarked on 
this in our session @IETF-82 Quebec -- e.g. in various w3c WGs, so time's 
getting ripe to think about this stuff overall.

=JeffH


Subject: I-D Action: draft-hodges-websec-framework-reqs-01.txt
From: internet-drafts@ietf.org
Date: Thu, 08 Sep 2011 15:26:06 -0700
To: i-d-announce@ietf.org

A New Internet-Draft is available from the on-line Internet-Drafts directories.

	Title           : Web Security Framework: Problem Statement and Requirements
	Author(s)       : Jeff Hodges
	Filename        : draft-hodges-websec-framework-reqs-01.txt
	Pages           : 23
	Date            : 2011-09-08

    Web-based malware and attacks are proliferating rapidly on the
    Internet.  New web security mechanisms are also rapidly growing in
    number, although in an incoherent fashion.  This document provides a
    brief overview of the present situation and the various seemingly
    piece-wise approaches being taken to mitigate the threats.  It then
    provides an overview of requirements as presently being expressed by
    the community in various online and face-to-face discussions.


A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-hodges-websec-framework-reqs-01.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

This Internet-Draft can be retrieved at:
ftp://ftp.ietf.org/internet-drafts/draft-hodges-websec-framework-reqs-01.txt
_______________________________________________
I-D-Announce mailing list
I-D-Announce@ietf.org
https://www.ietf.org/mailman/listinfo/i-d-announce
Internet-Draft directories: http://www.ietf.org/shadow.html
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt



From palmer@google.com  Mon Sep 12 14:55:00 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D2D8C21F8E89 for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 14:55:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0
X-Spam-Level: 
X-Spam-Status: No, score=x tagged_above=-999 required=5 tests=[]
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 twlAZOjpA+mK for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 14:55:00 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id EEA3E21F8E88 for <websec@ietf.org>; Mon, 12 Sep 2011 14:54:59 -0700 (PDT)
Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id p8CLuxIx008774 for <websec@ietf.org>; Mon, 12 Sep 2011 14:56:59 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315864619; bh=A7FUpMZNWhlhGHVyjmDWX7ReOUo=; h=MIME-Version:Date:Message-ID:Subject:From:To:Cc:Content-Type; b=Sw5IQ7aREgnAKh28lVVFAx782oR7XVf3XRKF706BHEUMEQPc86m5+pvwigv83mGNR jBwQY8RB5tCmencREqfYQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:date:message-id:subject:from:to:cc: content-type:x-system-of-record; b=pkHDfJ1fMyIm5n1D1azl7hPAr3w3j6L0IIMb9yP0MdFtro/4ZhRufJhsmQ8/t3qCN VrKmupU/IBApnYH2Mb8LA==
Received: from wwf22 (wwf22.prod.google.com [10.241.242.86]) by wpaz17.hot.corp.google.com with ESMTP id p8CLucig012047 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Mon, 12 Sep 2011 14:56:57 -0700
Received: by wwf22 with SMTP id 22so1979921wwf.1 for <websec@ietf.org>; Mon, 12 Sep 2011 14:56:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=4RkjJt3YrBKO6SnIaaTJVjqGzPnjFrooQ6uZ37PxFb0=; b=tOiDEEjlgMlZN91Hu/urztxEcD9ceF5LwhoaantR2FZKgOQZjnYms/6FkK0DOcQWIC YaCa866eyOdh+ZYtJ6gg==
Received: by 10.216.23.72 with SMTP id u50mr700356weu.34.1315864617090; Mon, 12 Sep 2011 14:56:57 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.23.72 with SMTP id u50mr700345weu.34.1315864616436; Mon, 12 Sep 2011 14:56:56 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Mon, 12 Sep 2011 14:56:55 -0700 (PDT)
Date: Mon, 12 Sep 2011 14:56:56 -0700
Message-ID: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: websec@ietf.org
Content-Type: multipart/mixed; boundary=0016364d27f109070004acc59bdb
X-System-Of-Record: true
Cc: Chris Evans <cevans@google.com>
Subject: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Sep 2011 21:55:00 -0000

--0016364d27f109070004acc59bdb
Content-Type: text/plain; charset=UTF-8

Hi all,

Chris Evans and I work at Google on the Chrome security team. We have
devised this specification for a new extension to Strict Transport
Security to allow site operators to "pin" certificates: UAs will
require that TLS connections be validated with at least one of the
public keys identified in the new "pins" directive in the HSTS header.
(Sites can pin to one or more public keys in end entity, subordinate
CA, and/or root CA certificates, for flexibility and disaster
recovery.)

We hope that this mechanism opens up the benefits of certificate
pinning to more sites. Currently, Chrome can "pre-load" HSTS behavior
and certificate pins for sites, but the mechanism for doing this
(email us!) does not scale.

We eagerly anticipate your comments, questions, concerns, et c. As you
can see from the Ideas section, there are some unanswered questions
about the behavior of UAs and hosts, and possible extensions to the
policy.

--0016364d27f109070004acc59bdb
Content-Type: application/pdf; name="CertificatePinningExtensionforHSTS.pdf"
Content-Disposition: attachment; 
	filename="CertificatePinningExtensionforHSTS.pdf"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gshzt72b0

JVBERi0xLjQKJeLjz9MKMjUgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJ
KG1haWx0bzpjZXZhbnNAZ29vZ2xlLmNvbSkvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxNTAu
MjUgNjQ5LjkzIDE4NS4xIDY2Mi4yMl0+PgplbmRvYmoKMjYgMCBvYmoKPDwvQ1swIDAgMV0vQm9y
ZGVyWzAgMCAwXS9BPDwvVVJJKG1haWx0bzpjZXZhbnNAZ29vZ2xlLmNvbSkvUy9VUkk+Pi9TdWJ0
eXBlL0xpbmsvUmVjdFsxODUuMSA2NDkuOTMgMTk2LjI3IDY2Mi4yMl0+PgplbmRvYmoKMjcgMCBv
YmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKG1haWx0bzpjZXZhbnNAZ29vZ2xl
LmNvbSkvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxOTYuMjcgNjQ5LjkzIDIyOS4zIDY2Mi4y
Ml0+PgplbmRvYmoKMjggMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKG1h
aWx0bzpjZXZhbnNAZ29vZ2xlLmNvbSkvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyMjkuMyA2
NDkuOTMgMjMyLjM1IDY2Mi4yMl0+PgplbmRvYmoKMjkgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVy
WzAgMCAwXS9BPDwvVVJJKG1haWx0bzpjZXZhbnNAZ29vZ2xlLmNvbSkvUy9VUkk+Pi9TdWJ0eXBl
L0xpbmsvUmVjdFsyMzIuMzUgNjQ5LjkzIDI1My4xMyA2NjIuMjJdPj4KZW5kb2JqCjMwIDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShtYWlsdG86cGFsbWVyQGdvb2dsZS5j
b20pL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMzQ0LjIyIDY0OS45MyAzNzcuODUgNjYyLjIy
XT4+CmVuZG9iagozMSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkkobWFp
bHRvOnBhbG1lckBnb29nbGUuY29tKS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzM3Ny44NSA2
NDkuOTMgMzg5LjAxIDY2Mi4yMl0+PgplbmRvYmoKMzIgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVy
WzAgMCAwXS9BPDwvVVJJKG1haWx0bzpwYWxtZXJAZ29vZ2xlLmNvbSkvUy9VUkk+Pi9TdWJ0eXBl
L0xpbmsvUmVjdFszODkuMDEgNjQ5LjkzIDQyMi4wNCA2NjIuMjJdPj4KZW5kb2JqCjMzIDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShtYWlsdG86cGFsbWVyQGdvb2dsZS5j
b20pL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbNDIyLjA0IDY0OS45MyA0MjUuMSA2NjIuMjJd
Pj4KZW5kb2JqCjM0IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShtYWls
dG86cGFsbWVyQGdvb2dsZS5jb20pL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbNDI1LjEgNjQ5
LjkzIDQ0NS44OCA2NjIuMjJdPj4KZW5kb2JqCjM1IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclsw
IDAgMF0vQTw8L0QgNCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbOTAgNjEwLjA5IDEz
OS41MiA2MjIuMzhdPj4KZW5kb2JqCjM2IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0v
QTw8L0QgNCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTM5LjUyIDYxMC4wOSAxNDIu
NTcgNjIyLjM4XT4+CmVuZG9iagozNyAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8
PC9EIDQgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE0Mi41NyA2MTAuMDkgMTc5LjI3
IDYyMi4zOF0+PgplbmRvYmoKMzggMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwv
RCA0IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxNzkuMjcgNjEwLjA5IDE4Mi4zMiA2
MjIuMzhdPj4KZW5kb2JqCjM5IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0Qg
NCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTgyLjMyIDYxMC4wOSAyMzAuNjMgNjIy
LjM4XT4+CmVuZG9iago0MCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDQg
MCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzIzMC42MyA2MTAuMDkgMjMzLjY5IDYyMi4z
OF0+PgplbmRvYmoKNDEgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCA0IDAg
Ui9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyMzMuNjkgNjEwLjA5IDI0Ni41MiA2MjIuMzhd
Pj4KZW5kb2JqCjQyIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgNCAwIFIv
Uy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjQ2LjUyIDYxMC4wOSAyNDkuNTggNjIyLjM4XT4+
CmVuZG9iago0MyAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDQgMCBSL1Mv
R29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzI0OS41OCA2MTAuMDkgMjc4LjkyIDYyMi4zOF0+Pgpl
bmRvYmoKNDQgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCA1IDAgUi9TL0dv
VG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxMDggNTk3LjQ0IDE2NS40OCA2MDkuNzNdPj4KZW5kb2Jq
CjQ1IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgNiAwIFIvUy9Hb1RvPj4v
U3VidHlwZS9MaW5rL1JlY3RbMTA4IDU4NC43OSAxNDAuNCA1OTcuMDhdPj4KZW5kb2JqCjQ2IDAg
b2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgNiAwIFIvUy9Hb1RvPj4vU3VidHlw
ZS9MaW5rL1JlY3RbMTQwLjQgNTg0Ljc5IDE0My40NSA1OTcuMDhdPj4KZW5kb2JqCjQ3IDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgNiAwIFIvUy9Hb1RvPj4vU3VidHlwZS9M
aW5rL1JlY3RbMTQzLjQ1IDU4NC43OSAxNjEuODEgNTk3LjA4XT4+CmVuZG9iago0OCAwIG9iago8
PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDYgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGlu
ay9SZWN0WzE2MS44MSA1ODQuNzkgMTY0Ljg2IDU5Ny4wOF0+PgplbmRvYmoKNDkgMCBvYmoKPDwv
Q1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCA2IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsv
UmVjdFsxNjQuODYgNTg0Ljc5IDE5Mi45OSA1OTcuMDhdPj4KZW5kb2JqCjUwIDAgb2JqCjw8L0Nb
MCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgNiAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1Jl
Y3RbMTkyLjk5IDU4NC43OSAxOTYuMDQgNTk3LjA4XT4+CmVuZG9iago1MSAwIG9iago8PC9DWzAg
MCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDYgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0
WzE5Ni4wNCA1ODQuNzkgMjM5LjQ2IDU5Ny4wOF0+PgplbmRvYmoKNTIgMCBvYmoKPDwvQ1swIDAg
MV0vQm9yZGVyWzAgMCAwXS9BPDwvRCA3IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsx
MjYgNTcyLjE0IDE4MS4wMyA1ODQuNDNdPj4KZW5kb2JqCjUzIDAgb2JqCjw8L0NbMCAwIDFdL0Jv
cmRlclswIDAgMF0vQTw8L0QgOCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTI2IDU1
OS40OSAxNDAuMDYgNTcxLjc4XT4+CmVuZG9iago1NCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJb
MCAwIDBdL0E8PC9EIDggMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE0MC4wNiA1NTku
NDkgMTQzLjcyIDU3MS43OF0+PgplbmRvYmoKNTUgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAg
MCAwXS9BPDwvRCA4IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxNDMuNzIgNTU5LjQ5
IDE3OS4yIDU3MS43OF0+PgplbmRvYmoKNTYgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAw
XS9BPDwvRCA5IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxMDggNTQ2Ljg0IDEzNC44
OSA1NTkuMTNdPj4KZW5kb2JqCjU3IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgOSAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTM0Ljg5IDU0Ni44NCAxMzcuOTQg
NTU5LjEzXT4+CmVuZG9iago1OCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9E
IDkgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzEzNy45NCA1NDYuODQgMTQ3LjEyIDU1
OS4xM10+PgplbmRvYmoKNTkgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCA5
IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxNDcuMTIgNTQ2Ljg0IDE1MC4xNyA1NTku
MTNdPj4KZW5kb2JqCjYwIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgOSAw
IFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTUwLjE3IDU0Ni44NCAxODYuODcgNTU5LjEz
XT4+CmVuZG9iago2MSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDkgMCBS
L1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE4Ni44NyA1NDYuODQgMTkyLjk4IDU1OS4xM10+
PgplbmRvYmoKNjIgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCA5IDAgUi9T
L0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxOTIuOTggNTQ2Ljg0IDIxMS4zMyA1NTkuMTNdPj4K
ZW5kb2JqCjYzIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgOSAwIFIvUy9H
b1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjExLjMzIDU0Ni44NCAyMTQuMzkgNTU5LjEzXT4+CmVu
ZG9iago2NCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDkgMCBSL1MvR29U
bz4+L1N1YnR5cGUvTGluay9SZWN0WzIxNC4zOSA1NDYuODQgMjY2Ljk3IDU1OS4xM10+PgplbmRv
YmoKNjUgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMCAwIFIvUy9Hb1Rv
Pj4vU3VidHlwZS9MaW5rL1JlY3RbMTI2IDUzNC4yIDE4NC43IDU0Ni40OF0+PgplbmRvYmoKNjYg
MCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMCAwIFIvUy9Hb1RvPj4vU3Vi
dHlwZS9MaW5rL1JlY3RbMTg0LjcgNTM0LjIgMTg3Ljc1IDU0Ni40OF0+PgplbmRvYmoKNjcgMCBv
YmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMCAwIFIvUy9Hb1RvPj4vU3VidHlw
ZS9MaW5rL1JlY3RbMTg3Ljc1IDUzNC4yIDIzNC44NCA1NDYuNDhdPj4KZW5kb2JqCjY4IDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTEgMCBSL1MvR29Ubz4+L1N1YnR5cGUv
TGluay9SZWN0WzEyNiA1MjEuNTUgMTcxLjg0IDUzMy44NF0+PgplbmRvYmoKNjkgMCBvYmoKPDwv
Q1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMSAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5r
L1JlY3RbMTcxLjg0IDUyMS41NSAxNzQuOSA1MzMuODRdPj4KZW5kb2JqCjcwIDAgb2JqCjw8L0Nb
MCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9S
ZWN0WzE3NC45IDUyMS41NSAyMTUuMjYgNTMzLjg0XT4+CmVuZG9iago3MSAwIG9iago8PC9DWzAg
MCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDExIDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVj
dFsyMTUuMjYgNTIxLjU1IDIxOC4zMSA1MzMuODRdPj4KZW5kb2JqCjcyIDAgb2JqCjw8L0NbMCAw
IDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0
WzIxOC4zMSA1MjEuNTUgMjI3LjQ5IDUzMy44NF0+PgplbmRvYmoKNzMgMCBvYmoKPDwvQ1swIDAg
MV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMSAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3Rb
MjI3LjQ5IDUyMS41NSAyMzAuNTQgNTMzLjg0XT4+CmVuZG9iago3NCAwIG9iago8PC9DWzAgMCAx
XS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDExIDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsy
MzAuNTQgNTIxLjU1IDI5OC4zOSA1MzMuODRdPj4KZW5kb2JqCjc1IDAgb2JqCjw8L0NbMCAwIDFd
L0JvcmRlclswIDAgMF0vQTw8L0QgMTEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzI5
OC4zOSA1MjEuNTUgMzAxLjQ1IDUzMy44NF0+PgplbmRvYmoKNzYgMCBvYmoKPDwvQ1swIDAgMV0v
Qm9yZGVyWzAgMCAwXS9BPDwvRCAxMSAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMzAx
LjQ1IDUyMS41NSAzMTAuNjIgNTMzLjg0XT4+CmVuZG9iago3NyAwIG9iago8PC9DWzAgMCAxXS9C
b3JkZXJbMCAwIDBdL0E8PC9EIDExIDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFszMTAu
NjIgNTIxLjU1IDMxMy42OCA1MzMuODRdPj4KZW5kb2JqCjc4IDAgb2JqCjw8L0NbMCAwIDFdL0Jv
cmRlclswIDAgMF0vQTw8L0QgMTEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzMxMy42
OCA1MjEuNTUgMzY4LjY5IDUzMy44NF0+PgplbmRvYmoKNzkgMCBvYmoKPDwvQ1swIDAgMV0vQm9y
ZGVyWzAgMCAwXS9BPDwvRCAxMiAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTI2IDUw
OC45IDE3MS44NCA1MjEuMTldPj4KZW5kb2JqCjgwIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclsw
IDAgMF0vQTw8L0QgMTIgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE3MS44NCA1MDgu
OSAxNzQuOSA1MjEuMTldPj4KZW5kb2JqCjgxIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAg
MF0vQTw8L0QgMTIgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE3NC45IDUwOC45IDIx
NS4yNiA1MjEuMTldPj4KZW5kb2JqCjgyIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0v
QTw8L0QgMTIgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzIxNS4yNiA1MDguOSAyMTgu
MzEgNTIxLjE5XT4+CmVuZG9iago4MyAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8
PC9EIDEyIDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyMTguMzEgNTA4LjkgMjI3LjQ5
IDUyMS4xOV0+PgplbmRvYmoKODQgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwv
RCAxMiAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjI3LjQ5IDUwOC45IDIzMC41NCA1
MjEuMTldPj4KZW5kb2JqCjg1IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0Qg
MTIgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzIzMC41NCA1MDguOSAyODAuMDYgNTIx
LjE5XT4+CmVuZG9iago4NiAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDEy
IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyODAuMDYgNTA4LjkgMjgzLjEyIDUyMS4x
OV0+PgplbmRvYmoKODcgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMiAw
IFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjgzLjEyIDUwOC45IDM2NC40MyA1MjEuMTld
Pj4KZW5kb2JqCjg4IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBS
L1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzEyNiA0OTYuMjUgMTcxLjg0IDUwOC41NF0+Pgpl
bmRvYmoKODkgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMyAwIFIvUy9H
b1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTcxLjg0IDQ5Ni4yNSAxNzQuOSA1MDguNTRdPj4KZW5k
b2JqCjkwIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBSL1MvR29U
bz4+L1N1YnR5cGUvTGluay9SZWN0WzE3NC45IDQ5Ni4yNSAyMTUuMjYgNTA4LjU0XT4+CmVuZG9i
ago5MSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDEzIDAgUi9TL0dvVG8+
Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyMTUuMjYgNDk2LjI1IDIxOC4zMSA1MDguNTRdPj4KZW5kb2Jq
CjkyIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBSL1MvR29Ubz4+
L1N1YnR5cGUvTGluay9SZWN0WzIxOC4zMSA0OTYuMjUgMjI3LjQ5IDUwOC41NF0+PgplbmRvYmoK
OTMgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMyAwIFIvUy9Hb1RvPj4v
U3VidHlwZS9MaW5rL1JlY3RbMjI3LjQ5IDQ5Ni4yNSAyMzAuNTQgNTA4LjU0XT4+CmVuZG9iago5
NCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDEzIDAgUi9TL0dvVG8+Pi9T
dWJ0eXBlL0xpbmsvUmVjdFsyMzAuNTQgNDk2LjI1IDI5OS4wMiA1MDguNTRdPj4KZW5kb2JqCjk1
IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBSL1MvR29Ubz4+L1N1
YnR5cGUvTGluay9SZWN0WzI5OS4wMiA0OTYuMjUgMzAyLjA4IDUwOC41NF0+PgplbmRvYmoKOTYg
MCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMyAwIFIvUy9Hb1RvPj4vU3Vi
dHlwZS9MaW5rL1JlY3RbMzAyLjA4IDQ5Ni4yNSAzMTAuNjQgNTA4LjU0XT4+CmVuZG9iago5NyAw
IG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDEzIDAgUi9TL0dvVG8+Pi9TdWJ0
eXBlL0xpbmsvUmVjdFszMTAuNjQgNDk2LjI1IDMxMy43IDUwOC41NF0+PgplbmRvYmoKOTggMCBv
YmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxMyAwIFIvUy9Hb1RvPj4vU3VidHlw
ZS9MaW5rL1JlY3RbMzEzLjcgNDk2LjI1IDMyOC45OSA1MDguNTRdPj4KZW5kb2JqCjk5IDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBSL1MvR29Ubz4+L1N1YnR5cGUv
TGluay9SZWN0WzMyOC45OSA0OTYuMjUgMzMyLjA1IDUwOC41NF0+PgplbmRvYmoKMTAwIDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBSL1MvR29Ubz4+L1N1YnR5cGUv
TGluay9SZWN0WzMzMi4wNSA0OTYuMjUgMzY1LjY4IDUwOC41NF0+PgplbmRvYmoKMTAxIDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBSL1MvR29Ubz4+L1N1YnR5cGUv
TGluay9SZWN0WzM2NS42OCA0OTYuMjUgMzY4Ljc0IDUwOC41NF0+PgplbmRvYmoKMTAyIDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBSL1MvR29Ubz4+L1N1YnR5cGUv
TGluay9SZWN0WzM2OC43NCA0OTYuMjUgMzk4LjA3IDUwOC41NF0+PgplbmRvYmoKMTAzIDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBSL1MvR29Ubz4+L1N1YnR5cGUv
TGluay9SZWN0WzM5OC4wNyA0OTYuMjUgNDAxLjEzIDUwOC41NF0+PgplbmRvYmoKMTA0IDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTMgMCBSL1MvR29Ubz4+L1N1YnR5cGUv
TGluay9SZWN0WzQwMS4xMyA0OTYuMjUgNDIzLjc1IDUwOC41NF0+PgplbmRvYmoKMTA1IDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTQgMCBSL1MvR29Ubz4+L1N1YnR5cGUv
TGluay9SZWN0WzEwOCA0ODMuNiAxNjQuODYgNDk1Ljg5XT4+CmVuZG9iagoxMDYgMCBvYmoKPDwv
Q1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxNCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5r
L1JlY3RbMTY0Ljg2IDQ4My42IDE2Ny45MiA0OTUuODldPj4KZW5kb2JqCjEwNyAwIG9iago8PC9D
WzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDE0IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsv
UmVjdFsxNjcuOTIgNDgzLjYgMTg5LjkyIDQ5NS44OV0+PgplbmRvYmoKMTA4IDAgb2JqCjw8L0Nb
MCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTQgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9S
ZWN0WzE4OS45MiA0ODMuNiAxOTIuOTggNDk1Ljg5XT4+CmVuZG9iagoxMDkgMCBvYmoKPDwvQ1sw
IDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxNCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1Jl
Y3RbMTkyLjk4IDQ4My42IDIxNC4zNyA0OTUuODldPj4KZW5kb2JqCjExMCAwIG9iago8PC9DWzAg
MCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDE0IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVj
dFsyMTQuMzcgNDgzLjYgMjE4LjA0IDQ5NS44OV0+PgplbmRvYmoKMTExIDAgb2JqCjw8L0NbMCAw
IDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMTQgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0
WzIxOC4wNCA0ODMuNiAyMjYuNiA0OTUuODldPj4KZW5kb2JqCjExMiAwIG9iago8PC9DWzAgMCAx
XS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDE0IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsy
MjYuNiA0ODMuNiAyMjkuNjYgNDk1Ljg5XT4+CmVuZG9iagoxMTMgMCBvYmoKPDwvQ1swIDAgMV0v
Qm9yZGVyWzAgMCAwXS9BPDwvRCAxNCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjI5
LjY2IDQ4My42IDI1OC45OSA0OTUuODldPj4KZW5kb2JqCjExNCAwIG9iago8PC9DWzAgMCAxXS9C
b3JkZXJbMCAwIDBdL0E8PC9EIDE0IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyNTgu
OTkgNDgzLjYgMjYyLjA1IDQ5NS44OV0+PgplbmRvYmoKMTE1IDAgb2JqCjw8L0NbMCAwIDFdL0Jv
cmRlclswIDAgMF0vQTw8L0QgMTQgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzI2Mi4w
NSA0ODMuNiAyODQuNjcgNDk1Ljg5XT4+CmVuZG9iagoxMTYgMCBvYmoKPDwvQ1swIDAgMV0vQm9y
ZGVyWzAgMCAwXS9BPDwvRCAxNSAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTA4IDQ3
MC45NSAxNDkuNTcgNDgzLjI0XT4+CmVuZG9iagoxMTcgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVy
WzAgMCAwXS9BPDwvRCAxNSAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTQ5LjU3IDQ3
MC45NSAxNTIuNjIgNDgzLjI0XT4+CmVuZG9iagoxMTggMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVy
WzAgMCAwXS9BPDwvRCAxNSAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTUyLjYyIDQ3
MC45NSAyMjYgNDgzLjI0XT4+CmVuZG9iagoxMTkgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAg
MCAwXS9BPDwvRCAxNiAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTA4IDQ1OC4zIDE1
Ni4zIDQ3MC41OV0+PgplbmRvYmoKMTIwIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0v
QTw8L0QgMTYgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE1Ni4zIDQ1OC4zIDE1OS4z
NSA0NzAuNTldPj4KZW5kb2JqCjEyMSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8
PC9EIDE2IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxNTkuMzUgNDU4LjMgMjMyLjcz
IDQ3MC41OV0+PgplbmRvYmoKMTIyIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMTcgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzEwOCA0NDUuNjUgMTM0LjkxIDQ1
Ny45NF0+PgplbmRvYmoKMTIzIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0Qg
MTggMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzEyNiA0MzMgMTQxLjkgNDQ1LjI5XT4+
CmVuZG9iagoxMjQgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAxOCAwIFIv
Uy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTQxLjkgNDMzIDE0NC45NSA0NDUuMjldPj4KZW5k
b2JqCjEyNSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDE4IDAgUi9TL0dv
VG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxNDQuOTUgNDMzIDE5OS45OSA0NDUuMjldPj4KZW5kb2Jq
CjEyNiAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDE5IDAgUi9TL0dvVG8+
Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxMjYgNDIwLjM2IDE3My4wOCA0MzIuNjRdPj4KZW5kb2JqCjEy
NyAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDE5IDAgUi9TL0dvVG8+Pi9T
dWJ0eXBlL0xpbmsvUmVjdFsxNzMuMDggNDIwLjM2IDE3Ni4xNCA0MzIuNjRdPj4KZW5kb2JqCjEy
OCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDE5IDAgUi9TL0dvVG8+Pi9T
dWJ0eXBlL0xpbmsvUmVjdFsxNzYuMTQgNDIwLjM2IDIxMi44MyA0MzIuNjRdPj4KZW5kb2JqCjEy
OSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDE5IDAgUi9TL0dvVG8+Pi9T
dWJ0eXBlL0xpbmsvUmVjdFsyMTIuODMgNDIwLjM2IDIxNS44OSA0MzIuNjRdPj4KZW5kb2JqCjEz
MCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDE5IDAgUi9TL0dvVG8+Pi9T
dWJ0eXBlL0xpbmsvUmVjdFsyMTUuODkgNDIwLjM2IDIzNy4yOCA0MzIuNjRdPj4KZW5kb2JqCjEz
MSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDIwIDAgUi9TL0dvVG8+Pi9T
dWJ0eXBlL0xpbmsvUmVjdFsxMjYgNDA3LjcxIDE5My44OSA0MjBdPj4KZW5kb2JqCjEzMiAwIG9i
ago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDIwIDAgUi9TL0dvVG8+Pi9TdWJ0eXBl
L0xpbmsvUmVjdFsxOTMuODkgNDA3LjcxIDE5Ni45NCA0MjBdPj4KZW5kb2JqCjEzMyAwIG9iago8
PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDIwIDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xp
bmsvUmVjdFsxOTYuOTQgNDA3LjcxIDIxMi44NCA0MjBdPj4KZW5kb2JqCjEzNCAwIG9iago8PC9D
WzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDIwIDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsv
UmVjdFsyMTIuODQgNDA3LjcxIDIxNS45IDQyMF0+PgplbmRvYmoKMTM1IDAgb2JqCjw8L0NbMCAw
IDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMjAgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0
WzIxNS45IDQwNy43MSAyMzguNTEgNDIwXT4+CmVuZG9iagoxMzYgMCBvYmoKPDwvQ1swIDAgMV0v
Qm9yZGVyWzAgMCAwXS9BPDwvRCAyMCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjM4
LjUxIDQwNy43MSAyNDEuNTcgNDIwXT4+CmVuZG9iagoxMzcgMCBvYmoKPDwvQ1swIDAgMV0vQm9y
ZGVyWzAgMCAwXS9BPDwvRCAyMCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjQxLjU3
IDQwNy43MSAyNjEuMTMgNDIwXT4+CmVuZG9iagoxMzggMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVy
WzAgMCAwXS9BPDwvRCAyMCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjYxLjEzIDQw
Ny43MSAyNjQuMTkgNDIwXT4+CmVuZG9iagoxMzkgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAg
MCAwXS9BPDwvRCAyMCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjY0LjE5IDQwNy43
MSAzMTQuOTUgNDIwXT4+CmVuZG9iagoxNDAgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAw
XS9BPDwvRCAyMSAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTI2IDM5NS4wNiAxNTIu
OSA0MDcuMzVdPj4KZW5kb2JqCjE0MSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8
PC9EIDIxIDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxNTIuOSAzOTUuMDYgMTU1Ljk1
IDQwNy4zNV0+PgplbmRvYmoKMTQyIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE1NS45NSAzOTUuMDYgMTY1LjEz
IDQwNy4zNV0+PgplbmRvYmoKMTQzIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE2NS4xMyAzOTUuMDYgMTY4LjE4
IDQwNy4zNV0+PgplbmRvYmoKMTQ0IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE2OC4xOCAzOTUuMDYgMTk3LjUy
IDQwNy4zNV0+PgplbmRvYmoKMTQ1IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE5Ny41MiAzOTUuMDYgMjAwLjU4
IDQwNy4zNV0+PgplbmRvYmoKMTQ2IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzIwMC41OCAzOTUuMDYgMjQyLjE2
IDQwNy4zNV0+PgplbmRvYmoKMTQ3IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzI0Mi4xNiAzOTUuMDYgMjQ1LjIx
IDQwNy4zNV0+PgplbmRvYmoKMTQ4IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzI0NS4yMSAzOTUuMDYgMjU0LjM5
IDQwNy4zNV0+PgplbmRvYmoKMTQ5IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzI1NC4zOSAzOTUuMDYgMjU3LjQ0
IDQwNy4zNV0+PgplbmRvYmoKMTUwIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzI1Ny40NCAzOTUuMDYgMjkzLjUy
IDQwNy4zNV0+PgplbmRvYmoKMTUxIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzI5My41MiAzOTUuMDYgMzAwLjI0
IDQwNy4zNV0+PgplbmRvYmoKMTUyIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzMwMC4yNCAzOTUuMDYgMzIyLjg2
IDQwNy4zNV0+PgplbmRvYmoKMTUzIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjEgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzMyMi44NiAzOTUuMDYgMzI2LjUy
IDQwNy4zNV0+PgplbmRvYmoKMTU0IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L0QgMjIgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzEyNiAzODIuNDEgMTY1LjczIDM5
NC43XT4+CmVuZG9iagoxNTUgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAy
MiAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTY1LjczIDM4Mi40MSAxNjguNzkgMzk0
LjddPj4KZW5kb2JqCjE1NiAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDIy
IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxNjguNzkgMzgyLjQxIDE4Ny4xMyAzOTQu
N10+PgplbmRvYmoKMTU3IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMjIg
MCBSL1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzE4Ny4xMyAzODIuNDEgMTkwLjE5IDM5NC43
XT4+CmVuZG9iagoxNTggMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAyMiAw
IFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMTkwLjE5IDM4Mi40MSAyMDUuNDggMzk0Ljdd
Pj4KZW5kb2JqCjE1OSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDIyIDAg
Ui9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyMDUuNDggMzgyLjQxIDIwOC41NCAzOTQuN10+
PgplbmRvYmoKMTYwIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMjIgMCBS
L1MvR29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzIwOC41NCAzODIuNDEgMjM3LjI4IDM5NC43XT4+
CmVuZG9iagoxNjEgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAyMiAwIFIv
Uy9Hb1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjM3LjI4IDM4Mi40MSAyNDAuMzMgMzk0LjddPj4K
ZW5kb2JqCjE2MiAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDIyIDAgUi9T
L0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyNDAuMzMgMzgyLjQxIDI0OS41MSAzOTQuN10+Pgpl
bmRvYmoKMTYzIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMjIgMCBSL1Mv
R29Ubz4+L1N1YnR5cGUvTGluay9SZWN0WzI0OS41MSAzODIuNDEgMjUyLjU2IDM5NC43XT4+CmVu
ZG9iagoxNjQgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAyMiAwIFIvUy9H
b1RvPj4vU3VidHlwZS9MaW5rL1JlY3RbMjUyLjU2IDM4Mi40MSAyNzcuNjIgMzk0LjddPj4KZW5k
b2JqCjE2NSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDIyIDAgUi9TL0dv
VG8+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyNzcuNjIgMzgyLjQxIDI4NC4zNCAzOTQuN10+PgplbmRv
YmoKMTY2IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMjIgMCBSL1MvR29U
bz4+L1N1YnR5cGUvTGluay9SZWN0WzI4NC4zNCAzODIuNDEgMzA2Ljk2IDM5NC43XT4+CmVuZG9i
agoxNjcgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAyMiAwIFIvUy9Hb1Rv
Pj4vU3VidHlwZS9MaW5rL1JlY3RbMzA2Ljk2IDM4Mi40MSAzMTAuNjMgMzk0LjddPj4KZW5kb2Jq
CjE2OCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDIzIDAgUi9TL0dvVG8+
Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxMjYgMzY5Ljc2IDE2Mi43IDM4Mi4wNV0+PgplbmRvYmoKMTY5
IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMjMgMCBSL1MvR29Ubz4+L1N1
YnR5cGUvTGluay9SZWN0WzE2Mi43IDM2OS43NiAxNjUuNzUgMzgyLjA1XT4+CmVuZG9iagoxNzAg
MCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAyMyAwIFIvUy9Hb1RvPj4vU3Vi
dHlwZS9MaW5rL1JlY3RbMTY1Ljc1IDM2OS43NiAyMzMuNjIgMzgyLjA1XT4+CmVuZG9iagoxNzEg
MCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAyNCAwIFIvUy9Hb1RvPj4vU3Vi
dHlwZS9MaW5rL1JlY3RbMTI2IDM1Ny4xMSAxNjIuNyAzNjkuNF0+PgplbmRvYmoKMTcyIDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMjQgMCBSL1MvR29Ubz4+L1N1YnR5cGUv
TGluay9SZWN0WzE2Mi43IDM1Ny4xMSAxNjUuNzUgMzY5LjRdPj4KZW5kb2JqCjE3MyAwIG9iago8
PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDI0IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xp
bmsvUmVjdFsxNjUuNzUgMzU3LjExIDIwMy4wNCAzNjkuNF0+PgplbmRvYmoKMTc0IDAgb2JqCjw8
L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L0QgMjQgMCBSL1MvR29Ubz4+L1N1YnR5cGUvTGlu
ay9SZWN0WzIwMy4wNCAzNTcuMTEgMjA2LjEgMzY5LjRdPj4KZW5kb2JqCjE3NSAwIG9iago8PC9D
WzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDI0IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsv
UmVjdFsyMDYuMSAzNTcuMTEgMjUzLjE4IDM2OS40XT4+CmVuZG9iagoxNzYgMCBvYmoKPDwvQ1sw
IDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvRCAyNCAwIFIvUy9Hb1RvPj4vU3VidHlwZS9MaW5rL1Jl
Y3RbMjUzLjE4IDM1Ny4xMSAyNTYuMjQgMzY5LjRdPj4KZW5kb2JqCjE3NyAwIG9iago8PC9DWzAg
MCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9EIDI0IDAgUi9TL0dvVG8+Pi9TdWJ0eXBlL0xpbmsvUmVj
dFsyNTYuMjQgMzU3LjExIDI5Mi4yOSAzNjkuNF0+PgplbmRvYmoKMTc4IDAgb2JqCjw8L0NbMCAw
IDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSSgpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMjgy
Ljk2IDI2MS45MiAzMTkuNjMgMjc0LjIxXT4+CmVuZG9iagoxNzkgMCBvYmoKPDwvQ1swIDAgMV0v
Qm9yZGVyWzAgMCAwXS9BPDwvVVJJKCkvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFszMTkuNjMg
MjYxLjkyIDMyOC44IDI3NC4yMV0+PgplbmRvYmoKMTgwIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRl
clswIDAgMF0vQTw8L1VSSSgpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMzI4LjggMjYxLjky
IDM0NC4wOSAyNzQuMjFdPj4KZW5kb2JqCjE4MSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAw
IDBdL0E8PC9VUkkoKS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzM0NC4wOSAyNjEuOTIgMzQ3
Ljc2IDI3NC4yMV0+PgplbmRvYmoKMTgyIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0v
QTw8L1VSSSgpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMzQ3Ljc2IDI2MS45MiAzODkuMzMg
Mjc0LjIxXT4+CmVuZG9iagoxODMgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwv
VVJJKCkvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFszODkuMzMgMjYxLjkyIDM5OC41MSAyNzQu
MjFdPj4KZW5kb2JqCjE4NCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkko
KS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzM5OC41MSAyNjEuOTIgNDE4LjY4IDI3NC4yMV0+
PgplbmRvYmoKMTg1IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRw
Oi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0
LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFszNDEuMDMgMTM2LjcgMzU5LjM4IDE0
OC45OF0+PgplbmRvYmoKMTg2IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VS
SShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJh
bnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFszNTkuMzggMTM2LjcgMzY4
LjU1IDE0OC45OF0+PgplbmRvYmoKMTg3IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0v
QTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJp
Y3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFszNjguNTUgMTM2
LjcgMzkxLjc4IDE0OC45OF0+PgplbmRvYmoKMTg4IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclsw
IDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNl
Yy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFszOTEu
NzggMTM2LjcgMzk0Ljg0IDE0OC45OF0+PgplbmRvYmoKMTg5IDAgb2JqCjw8L0NbMCAwIDFdL0Jv
cmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRm
LXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVj
dFszOTQuODQgMTM2LjcgNDA5LjUxIDE0OC45OF0+PgplbmRvYmoKMTkwIDAgb2JqCjw8L0NbMCAw
IDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFm
dC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xp
bmsvUmVjdFs0MDkuNTEgMTM2LjcgNDEyLjU3IDE0OC45OF0+PgplbmRvYmoKMTkxIDAgb2JqCjw8
L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRt
bC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0
eXBlL0xpbmsvUmVjdFs0MTIuNTcgMTM2LjcgNDI4LjQ3IDE0OC45OF0+PgplbmRvYmoKMTkyIDAg
b2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5v
cmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+
Pi9TdWJ0eXBlL0xpbmsvUmVjdFs0MjguNDcgMTM2LjcgNDMxLjUyIDE0OC45OF0+PgplbmRvYmoK
MTkzIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMu
aWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikv
Uy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFs0MzEuNTIgMTM2LjcgNDUyLjMxIDE0OC45OF0+Pgpl
bmRvYmoKMTk0IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8v
dG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNl
Yy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFs0NTIuMzEgMTM2LjcgNDU1LjM2IDE0OC45
OF0+PgplbmRvYmoKMTk1IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSSho
dHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNw
b3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFs0NTUuMzYgMTM2LjcgNDc3LjM3
IDE0OC45OF0+PgplbmRvYmoKMTk2IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3Qt
dHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFs0NzcuMzcgMTM2Ljcg
NDgxLjA0IDE0OC45OF0+PgplbmRvYmoKMTk3IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAg
MF0vQTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1z
dHJpY3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFs0ODEuMDQg
MTM2LjcgNDk1LjcxIDE0OC45OF0+PgplbmRvYmoKMTk4IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRl
clswIDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdl
YnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFs0
OTUuNzEgMTM2LjcgNDk5LjM3IDE0OC45OF0+PgplbmRvYmoKMTk5IDAgb2JqCjw8L0NbMCAwIDFd
L0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1p
ZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsv
UmVjdFs0OTkuMzcgMTM2LjcgNDk5LjM3IDE0OC45OF0+PgplbmRvYmoKMjAwIDAgb2JqCjw8L0Nb
MCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9k
cmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBl
L0xpbmsvUmVjdFs3MiAxMjIuMTUgMTA5LjMgMTM0LjQ0XT4+CmVuZG9iagoyMDEgMCBvYmoKPDwv
Q1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1s
L2RyYWZ0LWlldGYtd2Vic2VjLXN0cmljdC10cmFuc3BvcnQtc2VjLTAyKS9TL1VSST4+L1N1YnR5
cGUvTGluay9SZWN0WzEwOS4zIDEyMi4xNSAxMTIuOTYgMTM0LjQ0XT4+CmVuZG9iagoyMDIgMCBv
YmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHA6Ly90b29scy5pZXRmLm9y
Zy9odG1sL2RyYWZ0LWlldGYtd2Vic2VjLXN0cmljdC10cmFuc3BvcnQtc2VjLTAyKS9TL1VSST4+
L1N1YnR5cGUvTGluay9SZWN0WzExMi45NiAxMjIuMTUgMTM2LjE4IDEzNC40NF0+PgplbmRvYmoK
MjAzIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vdG9vbHMu
aWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMikv
Uy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxMzYuMTggMTIyLjE1IDEzOS44NCAxMzQuNDRdPj4K
ZW5kb2JqCjIwNCAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkkoaHR0cDov
L3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi13ZWJzZWMtc3RyaWN0LXRyYW5zcG9ydC1z
ZWMtMDIpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMTM5Ljg0IDEyMi4xNSAxODMuMjUgMTM0
LjQ0XT4+CmVuZG9iagoyMDUgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJ
KGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtd2Vic2VjLXN0cmljdC10cmFu
c3BvcnQtc2VjLTAyKS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzE4My4yNSAxMjIuMTUgMTg2
LjkxIDEzNC40NF0+PgplbmRvYmoKMjA2IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0v
QTw8L1VSSShodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJp
Y3QtdHJhbnNwb3J0LXNlYy0wMikvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxODYuOTEgMTIy
LjE1IDIwNC4wMyAxMzQuNDRdPj4KZW5kb2JqCjIwNyAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJb
MCAwIDBdL0E8PC9VUkkoaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi13ZWJz
ZWMtc3RyaWN0LXRyYW5zcG9ydC1zZWMtMDIpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMjA0
LjAzIDEyMi4xNSAyMTkuOTMgMTM0LjQ0XT4+CmVuZG9iagoyMDggMCBvYmoKPDwvTGVuZ3RoIDE0
Njg1L0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtCnicrX1dz3U9Tl4lpB7cHDAUOKz0SOWrBW1W
vpMeVjB8TaHvdIaBznCGoELvQoKT/rBW/L7Gzlp7x06W40hopHlvP7p2luMkju04zj9//beffLn4
zdrj20/+7uuPfvL13dc/fx3fUrHfzvrf49v3X9HY93/h37//+t9fP/v6py/z7f982W9/VlH/+GWO
b//96+d/e3z7u/pz8w3+9y//8G7n88u7reP6/7u9v8d/OeBHlaE/+KH5Zv23n/x9bQr+1XxL9ltM
7pXzt5+cX7/77377P//kH4HZKTaXl3ME/icS3Bz2FTPB/1TEG/s6KDs/E/H2eB2G4H8k4yPn509F
vPOvmDba9+blPMH/UMSH2n4h+D8U8TG/Dr8hnxRfx854wfhS+fySiC+R8+MkvIXxDXp5WpNfbHp+
J+Kd4/zLeD/IU+anjlcyG+3HKk86f/5MxGfPx0uUvy3Hizb/i9+V8O6IDP9zEQ7LK+inm7ODOMXp
5mC5FL04XYicn78S8VX8G6PrYLVQ8fxYxIP0nZ59fwTeXXF0/bhaRG3lx+ES+fdumM2idvbe8/Zl
/sPB2/89EQ/ajbYfRXwe+EkivmTOD2nf1v2Hb4zBvmxs2N8SsQUVfwf/xS8kfGU9U/wvifD0yoXA
f1uCl8Bb/3MJbg7zKoHgfyrjwytS4fxIxteBjQT/VyLeuFeIeukYEzk/VA8OP7COd/hvZHxVJBT/
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
iu35gIXi5YsxcMBCxS+/TOrwRqRWL8NhQtxQDnCYkJx+tOAwIVFd9a/LwwSnn/34EOuG7sR6xmWj
vzExW2tVnpgvxuU1ILYYlxWKd5qHmDudDYtrRpnteHJvIZS9MXnwOSin7y3WGw561QxxZF/0k+G+
BqTm57oGpO6vxSf21KrHQ2LmBvvVf2L+osyOP7YmGxZkKXrVc8cQtbMNbgFt+Bl4qYdOfjGNEy/1
bNglcKnnKHpNDi8+hQ3dAG84pZ3VAk8o0tUipupA/WC2U8jXXI52BqrlJ7S3AdTKJ7S3AdTTAesH
b+y8oe6kZmP+BHzDSb2zBMg8IHCSWgouE4vT5fCGRgmasU5yh/4TCd0KpnTon0poSM+k8L8R4e2t
LS0vEEGqS0rNDFRgDj38l0R41WcU/oci3OPbFh38OxEePGv9j0V4DFu8p4PBf1uEZ97Vv5ThXJA/
EuGFty6Oqj22BGnbOu3gPxPhlktGFKS1XO6/JcIdl4zcVZ8Z738uwuEmQFTPSBsL5DprFx/kutX9
WDuq4IhR+I9FeAkMfq/V777++ev4lupeemJk4vuvaOz7v/DvEET52dc/LeIWwWGB/vYsLH7h17e/
8F393/8Hwa++YQplbmRzdHJlYW0KZW5kb2JqCjEgMCBvYmoKPDwvUGFyZW50IDIwOSAwIFIvQ29u
dGVudHMgMjA4IDAgUi9UeXBlL1BhZ2UvUmVzb3VyY2VzPDwvUHJvY1NldCBbL1BERiAvVGV4dCAv
SW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0vRm9udDw8L0YxIDIgMCBSL0YyIDMgMCBSPj4+Pi9NZWRp
YUJveFswIDAgNjEyIDc5Ml0vQW5ub3RzWzI1IDAgUiAyNiAwIFIgMjcgMCBSIDI4IDAgUiAyOSAw
IFIgMzAgMCBSIDMxIDAgUiAzMiAwIFIgMzMgMCBSIDM0IDAgUiAzNSAwIFIgMzYgMCBSIDM3IDAg
UiAzOCAwIFIgMzkgMCBSIDQwIDAgUiA0MSAwIFIgNDIgMCBSIDQzIDAgUiA0NCAwIFIgNDUgMCBS
IDQ2IDAgUiA0NyAwIFIgNDggMCBSIDQ5IDAgUiA1MCAwIFIgNTEgMCBSIDUyIDAgUiA1MyAwIFIg
NTQgMCBSIDU1IDAgUiA1NiAwIFIgNTcgMCBSIDU4IDAgUiA1OSAwIFIgNjAgMCBSIDYxIDAgUiA2
MiAwIFIgNjMgMCBSIDY0IDAgUiA2NSAwIFIgNjYgMCBSIDY3IDAgUiA2OCAwIFIgNjkgMCBSIDcw
IDAgUiA3MSAwIFIgNzIgMCBSIDczIDAgUiA3NCAwIFIgNzUgMCBSIDc2IDAgUiA3NyAwIFIgNzgg
MCBSIDc5IDAgUiA4MCAwIFIgODEgMCBSIDgyIDAgUiA4MyAwIFIgODQgMCBSIDg1IDAgUiA4NiAw
IFIgODcgMCBSIDg4IDAgUiA4OSAwIFIgOTAgMCBSIDkxIDAgUiA5MiAwIFIgOTMgMCBSIDk0IDAg
UiA5NSAwIFIgOTYgMCBSIDk3IDAgUiA5OCAwIFIgOTkgMCBSIDEwMCAwIFIgMTAxIDAgUiAxMDIg
MCBSIDEwMyAwIFIgMTA0IDAgUiAxMDUgMCBSIDEwNiAwIFIgMTA3IDAgUiAxMDggMCBSIDEwOSAw
IFIgMTEwIDAgUiAxMTEgMCBSIDExMiAwIFIgMTEzIDAgUiAxMTQgMCBSIDExNSAwIFIgMTE2IDAg
UiAxMTcgMCBSIDExOCAwIFIgMTE5IDAgUiAxMjAgMCBSIDEyMSAwIFIgMTIyIDAgUiAxMjMgMCBS
IDEyNCAwIFIgMTI1IDAgUiAxMjYgMCBSIDEyNyAwIFIgMTI4IDAgUiAxMjkgMCBSIDEzMCAwIFIg
MTMxIDAgUiAxMzIgMCBSIDEzMyAwIFIgMTM0IDAgUiAxMzUgMCBSIDEzNiAwIFIgMTM3IDAgUiAx
MzggMCBSIDEzOSAwIFIgMTQwIDAgUiAxNDEgMCBSIDE0MiAwIFIgMTQzIDAgUiAxNDQgMCBSIDE0
NSAwIFIgMTQ2IDAgUiAxNDcgMCBSIDE0OCAwIFIgMTQ5IDAgUiAxNTAgMCBSIDE1MSAwIFIgMTUy
IDAgUiAxNTMgMCBSIDE1NCAwIFIgMTU1IDAgUiAxNTYgMCBSIDE1NyAwIFIgMTU4IDAgUiAxNTkg
MCBSIDE2MCAwIFIgMTYxIDAgUiAxNjIgMCBSIDE2MyAwIFIgMTY0IDAgUiAxNjUgMCBSIDE2NiAw
IFIgMTY3IDAgUiAxNjggMCBSIDE2OSAwIFIgMTcwIDAgUiAxNzEgMCBSIDE3MiAwIFIgMTczIDAg
UiAxNzQgMCBSIDE3NSAwIFIgMTc2IDAgUiAxNzcgMCBSIDE3OCAwIFIgMTc5IDAgUiAxODAgMCBS
IDE4MSAwIFIgMTgyIDAgUiAxODMgMCBSIDE4NCAwIFIgMTg1IDAgUiAxODYgMCBSIDE4NyAwIFIg
MTg4IDAgUiAxODkgMCBSIDE5MCAwIFIgMTkxIDAgUiAxOTIgMCBSIDE5MyAwIFIgMTk0IDAgUiAx
OTUgMCBSIDE5NiAwIFIgMTk3IDAgUiAxOTggMCBSIDE5OSAwIFIgMjAwIDAgUiAyMDEgMCBSIDIw
MiAwIFIgMjAzIDAgUiAyMDQgMCBSIDIwNSAwIFIgMjA2IDAgUiAyMDcgMCBSXT4+CmVuZG9iagoy
MTIgMCBvYmoKPDwvTGVuZ3RoIDE0NTgzL0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtCniclX1b
z6bLcRUSd5MLzCGcRNBcRBAn0eunz90gIRQ5TjAx4GQTE7xzFzlRZEdybvhfgPh99Kp+x7u6v+zq
VRppj/Tt9T1TXV1VXV1dh19++r2vPqX6uZX6+au/+PT7X3368adffno+txE//2L+/Xz++aca4q/+
xs9//umvPv3k0998Cp//16f4+YcT9defwvP5R59++ufP57+Yvx4+48/f/uWvvvPNb3751vP+75fv
/Ux+8uCXJkHf+0H8HMLnr342P4Wfhs9tfuAZrz6p/MWn3/p77btf/TWI/bux/XXA/9iC9/zqeYP/
fRPeXn1s8D+14CO90g7/QxM+XiVs8J9Y8PDEV2k88eEpr7rz5vsmPoRXczAnhMnMDf4nJjw+r7Ev
949s/ORm3fA/tvHjlXd6/oGJT5OdybHcVF5l393fMfE5nd+vJr48r954yQ+lnfTY36/5NTzrre01
umO9rZzfN1Ux9Ph6Mq9cYSpjyQ51Gc+rOj4/6is4uDOVN+yf/x8WPk5ljI0nJ4bn1RpvS2Kop6ky
6Y9hvEbhjUOM9fVUx/enNobIa2+c2hWzY705nNbhf9r48XIIfyzx/LypXLGMVx288sZaXzk4vt/S
qxUH/W2KQ3Cwcyrj2Lfrpza+v3LklTGOcBpnm57RXg7bn57JnsBrV5rA6DiL0jwaa+VtWwrt1bqD
/nnWebQ3TW08tPcPTHxKr6c51ouzbufPf7fxU9sd1irlqe37en9g4ufZ2AYvbqlMfhbHeks96fkz
E1/DSY+9XpylHvmc6p4dp1Ga6p53/v+axqcT359XMHyTj/h2fr+Z+JFfwfBNTnx+wqvs5uQ7Nr6c
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
jCRdk1m1kzBMoVUjzZumY4emgdkpN2+9krWp0WasAT2WdsrNWANSNvdDw+5MjyGUDi0dCb3mFNx8
qpQoDO0J5Ee6YbECIPMnefOFEudU6ZXK9MmNGDvTEcMnE22+ZPbktql2/XSS5sSsJiGtM24yYEY0
c3kOF/9Sf1xRn8raGARtKu/FSEonL5DI6Gydl5km3QNpmZlnu4eYNg5iLoXNZbdgdm7viHhtp9k+
ZPguK5BI5dwdsEvm5zhutHbiZ4jHFdWuIA7lIMbUDonx/J2H+48//fLT87mN+PkXn4D9+aca4q/+
xs9//umvPv3k09/I/30+/+1ffmucB2EhTAQK61/4dfe/8OP55/8DN1HNtAplbmRzdHJlYW0KZW5k
b2JqCjIxMSAwIG9iago8PC9QYXJlbnQgMjA5IDAgUi9Db250ZW50cyAyMTIgMCBSL1R5cGUvUGFn
ZS9SZXNvdXJjZXM8PC9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJ
XS9Gb250PDwvRjEgMiAwIFIvRjIgMyAwIFIvRjMgMjEwIDAgUj4+Pj4vTWVkaWFCb3hbMCAwIDYx
MiA3OTJdPj4KZW5kb2JqCjIxNCAwIG9iago8PC9MZW5ndGggMTQ0NjgvRmlsdGVyL0ZsYXRlRGVj
b2RlPj5zdHJlYW0KeJyVfUvPrUtxHpZnHwNjDzKLtAcEEmIt+n6RMoq4mwAHTgAHPLOwZYElPMkk
PyO/xIP8vnRVr4+vuhe76ikdiS1tnvXu6urq6qrquvzx7b9/+Zbbp17bpy//8e27X7598fbHt/Cp
z/TpD+vP8On3by2mP/1Jf//7t39++9Xbv77FT//7LX360UL9y1sMn/7H22/+IXz6x/Xz+In++7d/
+tN3Pn75/q3w/N/37/2O/ybQjxZB3/5e+hTjpy9/tz5Ffxs/9fWBGB6hfPryD2//+Svf+S9f/gsR
++ex4xFP+Hc1+CiPVA74zzX4DI9cD/ivVXh7lH7Af6XC56PmA/6XGjyG9KgD/3wM9dHOxf6dio/x
0duB/4GO74/RHfSn8Jjnev+nji+POh305PDo8cD/vY5vjxRxYYglPfJJ//d0/OJPxkU51vyY1bG/
9WT+j3XwfJTqWGyrj3oKwxcqvsdHGw5h6OXRT+H8mYofizkOWVgnNyTHXs213ISflRTifbbUvU2h
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
P0+S7mFzb3WBNmZO1vNQq1zniZMd/3gJnLgOigCPm3SwkVJSCqwyqC9ThAWGx5kknPSW+OXtA65n
37SdiYtKwLofx4QPKuWKhGOpRrnJbrGAEjN3Xi3KmbmtTVCF0aCRiC+10I0H01J213kBNyI+laYg
oCJDM0bqxIlZN1471Kme1JDDdfT0uEZul8joKQdlRxPQpZYdHviA6y75OqkxwhqM80MqrAdK7Rcx
+q62fF2SOu2tXZekkRuSrktSdR5K5766sMysS7IcAqwWoZfRrq8beR7puoKtyMllVxvRkMtQNiaW
dM4GB9UGxU4GrpTIDxvcYpaxavkhu79JwnULv/JoFgFXwzjUh2DJC/z1NsioEnA9q4IGFE98qTR/
Mkq48brPlTYCbkyr5EIbmPbZcEomJ7sLuOEn8eAUAdfLzXeTEXSPEj0UHMTolizVARzEvGuML97+
+BY+9Zk+/eGNsL9/a0sQ3/+kv//92z+//ertX/n/DZ/+7Z8+czh29D9z0Tn/C//B/S98sf77/8LG
rlYKZW5kc3RyZWFtCmVuZG9iagoyMTMgMCBvYmoKPDwvUGFyZW50IDIwOSAwIFIvQ29udGVudHMg
MjE0IDAgUi9UeXBlL1BhZ2UvUmVzb3VyY2VzPDwvUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VC
IC9JbWFnZUMgL0ltYWdlSV0vRm9udDw8L0YxIDIgMCBSL0YyIDMgMCBSL0YzIDIxMCAwIFI+Pj4+
L01lZGlhQm94WzAgMCA2MTIgNzkyXT4+CmVuZG9iagoyMTYgMCBvYmoKPDwvTGVuZ3RoIDE0MzIx
L0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtCniclX1P767NTd6Lujss2rLpiuosaGgLenrP/xmJ
VRUCBNokEAgl6Q4FhBKksOmGj9HP0s/Xsec57xn7l9iX9Uo50sn1zPH49nhsj//86tN///Gn0j+P
1j//+O8//fGPP/3o068+PZ/Hyp9/uf98Pv/iU0/52z/p73/x6R8//eTTP39Kn//Pp/z5+xv1T5/S
8/l/fPrp/34+//3+efpM//3LP3y7ztdfflnref/vl/V+zn/z0I82Qf/te/lzSp9//PO9FP1t+rw2
9Fmvuan85af//Fv/97/8+J+I2F+LTc+8wd/8oQlO6fV0gf8zG19f+29u/L+x8eOVhsD/7GfmD3J+
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
RwrOo8QueDPhdanV7a1uF2iK1fVkLQnvz0sKl/1V+3w1/CuNQk9aqCyy9yNW1yPNJJy8GfFR9QQ3
CacubR3/SttYefCt8mhnQYyetifhNL8KJ4YckySIWSY8V/J7LrgejSjh1Ka4wiJDkxql/Jqfifoo
1AnLL/V7yQM+qpT+EpBf6vYi+PjHJno0JQOm/ObTegnm49bU8qTaq1M7k4wLJKX8Lnx1ml6Mf6V3
eQ6qIan96GywuBe6FitMO9XmdFwgyxkeABOzLednwHynp7QhiNFzLiW81hDfKedl4LS3RmbwBX+Z
cBqbOHBGbv+1Z1jn0aOVvA30SEkJX1WJmEkMjcCQt4HJGeqpKQTyD0z06YV/wbsJp9IRsfow4VwJ
Ai9OiXW4tUHNLqU82jttQ61uftNK3bMWrAdoDoQ8el/O0o8+/erT83ms/PmXnwj7i0895W//pL//
xad//PSTT//M/+/z+V/+4dfb1a1w2iGFsdP5F/5D+F/40f7v/wPlLJMZCmVuZHN0cmVhbQplbmRv
YmoKMjE1IDAgb2JqCjw8L1BhcmVudCAyMDkgMCBSL0NvbnRlbnRzIDIxNiAwIFIvVHlwZS9QYWdl
L1Jlc291cmNlczw8L1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUld
L0ZvbnQ8PC9GMSAyIDAgUi9GMiAzIDAgUj4+Pj4vTWVkaWFCb3hbMCAwIDYxMiA3OTJdPj4KZW5k
b2JqCjIxOCAwIG9iago8PC9MZW5ndGggMTYzMDQvRmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0K
eJyVfcvOZrtxnQLNOoMoNyCTAD2w5TgStjbvpJFRoJt1iXSkIx05Op4ZsmFIBqRJJnmMPEkGeb6w
ivvvn+Sns7gKB1ADrfXtLhaLxapiXf744b9//iHkjyXlj5//w4fvff7hsw9//HB/LM1//EP/8/74
+w/Z+U9/yt///sM/ffjiw798cB//1wf/8Ucd9c8f3P3xpx9++/f3x3/oP3cf5b8//eOn77z/8u1b
9/O/b9/7nf7NLT/qBH3n+/0D7uPnv+ufkr91H0v/wN2u2qn8w4f/8rW/+uvP/1mI/fPYdrW4wH+C
4DUs2F9DbLvcSsl3Ebyly0f+6+52V0gL/guMT9e9kvNDiHfucutqf4Xx6Ypuwf9njG/XXRf81yHe
+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
Fpon3b1sgd730YbqHX2Iu2oTKpaSMXLsHY1vCalB4M9CV4Kl0nRXserYTze16d7R+C4X97DSYtKd
w8qeYBlFuZxgHKPsfmRgt+apVnxH4+wyHRb2DsbRQ4nFzuyD3da1jJDWrdoFyrGy/SStvaMPQ79u
CyUxrJQcihnbeibxt6X70ywluHdSkvk8pGxLs3HvWTWlrcYrjS46mYelREoME3vKvDyN0teCDhyb
VQmek91dRB/oreznPdDXqu+OB39lP4PM3tEw8KJFizQHw6hqIHcnjJoGkt86wGxeJU6PG/FeUp08
0d539GF2mXYaYVcplza9SAnz0je8tIBa9AOOqfZbuNEiqAHemYE4W01qAflVjuguK4IS242shtWy
vkhvjhT1ZVq8R5SWXWXLhktbuj0th/gQz9XgAYt2m01/KBTU2Cy5O09klpSTJy5LyveIyr6D/x0R
kyXFRCaYLQcNBxD71Vor/e2UVrcPo/O9fhsn6kndnqe3Uqr2Ir05I6xKirdW7DlaBGtc79ZDgPRe
7yio6zVZbRZvGGFM3YRNjj3y6d4UG6Q7ubQeS0h38lHehMmdT9KvkBWqJBcaK91J7rM/p9Y++/DH
D3f/e//xDx8E+vsP2flPf8rf//7DP3344sO/6P97f/zTP37VPxBExGVElRv/wn8y/wuf9f/+Pysn
zNMKZW5kc3RyZWFtCmVuZG9iagoyMTcgMCBvYmoKPDwvUGFyZW50IDIwOSAwIFIvQ29udGVudHMg
MjE4IDAgUi9UeXBlL1BhZ2UvUmVzb3VyY2VzPDwvUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VC
IC9JbWFnZUMgL0ltYWdlSV0vRm9udDw8L0YxIDIgMCBSL0YyIDMgMCBSL0YzIDIxMCAwIFI+Pj4+
L01lZGlhQm94WzAgMCA2MTIgNzkyXT4+CmVuZG9iagoyMjAgMCBvYmoKPDwvQ1swIDAgMV0vQm9y
ZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9k
b2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2Vk
aXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMTM5Ljg1IDIxNy4yOSAxNjMu
NyAyMjkuNThdPj4KZW5kb2JqCjIyMSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8
PC9VUkkoaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vYS9nb29nbGUuY29tL2RvY3VtZW50L2QvMUxu
ZGM4OW5aRG04TU1zYlI2SGdlZTl4TTJFYlZXTEtMc0p3c1R2VXo1RTQvZWRpdD9obD1lbl9VUykv
Uy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxNjMuNyAyMTcuMjkgMTcyLjg2IDIyOS41OF0+Pgpl
bmRvYmoKMjIyIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwczov
L2RvY3MuZ29vZ2xlLmNvbS9hL2dvb2dsZS5jb20vZG9jdW1lbnQvZC8xTG5kYzg5blpEbThNTXNi
UjZIZ2VlOXhNMkViVldMS0xzSndzVHZVejVFNC9lZGl0P2hsPWVuX1VTKS9TL1VSST4+L1N1YnR5
cGUvTGluay9SZWN0WzE3Mi44NiAyMTcuMjkgMTk2LjEgMjI5LjU4XT4+CmVuZG9iagoyMjMgMCBv
YmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUu
Y29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJW
V0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3Rb
MTk2LjEgMjE3LjI5IDE5OS4xNiAyMjkuNThdPj4KZW5kb2JqCjIyNCAwIG9iago8PC9DWzAgMCAx
XS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkkoaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vYS9nb29nbGUu
Y29tL2RvY3VtZW50L2QvMUxuZGM4OW5aRG04TU1zYlI2SGdlZTl4TTJFYlZXTEtMc0p3c1R2VXo1
RTQvZWRpdD9obD1lbl9VUykvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxOTkuMTYgMjE3LjI5
IDIzMi4xOSAyMjkuNThdPj4KZW5kb2JqCjIyNSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAw
IDBdL0E8PC9VUkkoaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vYS9nb29nbGUuY29tL2RvY3VtZW50
L2QvMUxuZGM4OW5aRG04TU1zYlI2SGdlZTl4TTJFYlZXTEtMc0p3c1R2VXo1RTQvZWRpdD9obD1l
bl9VUykvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyMzIuMTkgMjE3LjI5IDIzNS4yNCAyMjku
NThdPj4KZW5kb2JqCjIyNiAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkko
aHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vYS9nb29nbGUuY29tL2RvY3VtZW50L2QvMUxuZGM4OW5a
RG04TU1zYlI2SGdlZTl4TTJFYlZXTEtMc0p3c1R2VXo1RTQvZWRpdD9obD1lbl9VUykvUy9VUkk+
Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyMzUuMjQgMjE3LjI5IDI1Ni4wMiAyMjkuNThdPj4KZW5kb2Jq
CjIyNyAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkkoaHR0cHM6Ly9kb2Nz
Lmdvb2dsZS5jb20vYS9nb29nbGUuY29tL2RvY3VtZW50L2QvMUxuZGM4OW5aRG04TU1zYlI2SGdl
ZTl4TTJFYlZXTEtMc0p3c1R2VXo1RTQvZWRpdD9obD1lbl9VUykvUy9VUkk+Pi9TdWJ0eXBlL0xp
bmsvUmVjdFsyNTYuMDIgMjE3LjI5IDI1OS4wOCAyMjkuNThdPj4KZW5kb2JqCjIyOCAwIG9iago8
PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkkoaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20v
YS9nb29nbGUuY29tL2RvY3VtZW50L2QvMUxuZGM4OW5aRG04TU1zYlI2SGdlZTl4TTJFYlZXTEtM
c0p3c1R2VXo1RTQvZWRpdD9obD1lbl9VUykvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsyNTku
MDggMjE3LjI5IDI2NS4yIDIyOS41OF0+PgplbmRvYmoKMjI5IDAgb2JqCjw8L0NbMCAwIDFdL0Jv
cmRlclswIDAgMF0vQTw8L1VSSShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9hL2dvb2dsZS5jb20v
ZG9jdW1lbnQvZC8xTG5kYzg5blpEbThNTXNiUjZIZ2VlOXhNMkViVldMS0xzSndzVHZVejVFNC9l
ZGl0P2hsPWVuX1VTKS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzI2NS4yIDIxNy4yOSAyNjgu
MjUgMjI5LjU4XT4+CmVuZG9iagoyMzAgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9B
PDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFM
bmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMp
L1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMjY4LjI1IDIxNy4yOSAzMDEuMjkgMjI5LjU4XT4+
CmVuZG9iagoyMzEgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBz
Oi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1N
c2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3Vi
dHlwZS9MaW5rL1JlY3RbMzAxLjI5IDIxNy4yOSAzMDQuMzQgMjI5LjU4XT4+CmVuZG9iagoyMzIg
MCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29n
bGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0y
RWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1Jl
Y3RbMzA0LjM0IDIxNy4yOSAzMjUuMTIgMjI5LjU4XT4+CmVuZG9iagoyMzMgMCBvYmoKPDwvQ1sw
IDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29v
Z2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NU
dlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMzI1LjEyIDIx
Ny4yOSAzMjguMTggMjI5LjU4XT4+CmVuZG9iagoyMzQgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVy
WzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1
bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/
aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMzI4LjE4IDIxNy4yOSAzNzYuNDkg
MjI5LjU4XT4+CmVuZG9iagoyMzUgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwv
VVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRj
ODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1Mv
VVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMzc2LjQ5IDIxNy4yOSAzNzkuNTQgMjI5LjU4XT4+CmVu
ZG9iagoyMzYgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8v
ZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JS
NkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlw
ZS9MaW5rL1JlY3RbMzc5LjU0IDIxNy4yOSAzODUuNjYgMjI5LjU4XT4+CmVuZG9iagoyMzcgMCBv
YmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUu
Y29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJW
V0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3Rb
Mzg1LjY2IDIxNy4yOSAzODguNzIgMjI5LjU4XT4+CmVuZG9iagoyMzggMCBvYmoKPDwvQ1swIDAg
MV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xl
LmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6
NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbNzIgMjAyLjc0IDc4
LjEyIDIxNS4wM10+PgplbmRvYmoKMjM5IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0v
QTw8L1VSSShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9hL2dvb2dsZS5jb20vZG9jdW1lbnQvZC8x
TG5kYzg5blpEbThNTXNiUjZIZ2VlOXhNMkViVldMS0xzSndzVHZVejVFNC9lZGl0P2hsPWVuX1VT
KS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0Wzc4LjEyIDIwMi43NCAxMDEuOTcgMjE1LjAzXT4+
CmVuZG9iagoyNDAgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBz
Oi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1N
c2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3Vi
dHlwZS9MaW5rL1JlY3RbMTAxLjk3IDIwMi43NCAxMTQuMjEgMjE1LjAzXT4+CmVuZG9iagoyNDEg
MCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29n
bGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0y
RWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1Jl
Y3RbMTE0LjIxIDIwMi43NCAxNDQuMTUgMjE1LjAzXT4+CmVuZG9iagoyNDIgMCBvYmoKPDwvQ1sw
IDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29v
Z2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NU
dlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMTQ0LjE1IDIw
Mi43NCAxNTAuMjcgMjE1LjAzXT4+CmVuZG9iagoyNDMgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVy
WzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1
bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/
aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMTUwLjI3IDIwMi43NCAxODguMTYg
MjE1LjAzXT4+CmVuZG9iagoyNDQgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwv
VVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRj
ODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1Mv
VVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMTg4LjE2IDIwMi43NCAxOTQuMjcgMjE1LjAzXT4+CmVu
ZG9iagoyNDUgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8v
ZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JS
NkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlw
ZS9MaW5rL1JlY3RbMTk0LjI3IDIwMi43NCAyMjAuNTcgMjE1LjAzXT4+CmVuZG9iagoyNDYgMCBv
YmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUu
Y29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJW
V0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3Rb
MjIwLjU3IDIwMi43NCAyMjYuNjkgMjE1LjAzXT4+CmVuZG9iagoyNDcgMCBvYmoKPDwvQ1swIDAg
MV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xl
LmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6
NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMjI2LjY5IDIwMi43
NCAyNDEuMzUgMjE1LjAzXT4+CmVuZG9iagoyNDggMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAg
MCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVu
dC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9
ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMjQxLjM1IDIwMi43NCAyNDcuNDcgMjE1
LjAzXT4+CmVuZG9iagoyNDkgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJ
KGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODlu
WkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJ
Pj4vU3VidHlwZS9MaW5rL1JlY3RbMjQ3LjQ3IDIwMi43NCAzNDguMzIgMjE1LjAzXT4+CmVuZG9i
agoyNTAgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9j
cy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhn
ZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9M
aW5rL1JlY3RbMzQ4LjMyIDIwMi43NCAzNTQuNDQgMjE1LjAzXT4+CmVuZG9iagoyNTEgMCBvYmoK
PDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29t
L2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xL
THNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMzU0
LjQ0IDIwMi43NCAzNjEuNzggMjE1LjAzXT4+CmVuZG9iagoyNTIgMCBvYmoKPDwvQ1swIDAgMV0v
Qm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNv
bS9kb2N1bWVudC9kLzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0
L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMzYxLjc4IDIwMi43NCAz
NzAuOTUgMjE1LjAzXT4+CmVuZG9iagoyNTMgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAw
XS9BPDwvVVJJKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9k
LzFMbmRjODluWkRtOE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5f
VVMpL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbMzcwLjk1IDIwMi43NCAzODguNjkgMjE1LjAz
XT4+CmVuZG9iagoyNTQgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwvVVJJKGh0
dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFMbmRjODluWkRt
OE1Nc2JSNkhnZWU5eE0yRWJWV0xLTHNKd3NUdlV6NUU0L2VkaXQ/aGw9ZW5fVVMpL1MvVVJJPj4v
U3VidHlwZS9MaW5rL1JlY3RbMzg4LjY5IDIwMi43NCAzOTQuOCAyMTUuMDNdPj4KZW5kb2JqCjI1
NSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkkoaHR0cHM6Ly9kb2NzLmdv
b2dsZS5jb20vYS9nb29nbGUuY29tL2RvY3VtZW50L2QvMUxuZGM4OW5aRG04TU1zYlI2SGdlZTl4
TTJFYlZXTEtMc0p3c1R2VXo1RTQvZWRpdD9obD1lbl9VUykvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsv
UmVjdFszOTQuOCAyMDIuNzQgNDAzLjM2IDIxNS4wM10+PgplbmRvYmoKMjU2IDAgb2JqCjw8L0Nb
MCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9hL2dv
b2dsZS5jb20vZG9jdW1lbnQvZC8xTG5kYzg5blpEbThNTXNiUjZIZ2VlOXhNMkViVldMS0xzSndz
VHZVejVFNC9lZGl0P2hsPWVuX1VTKS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzQwMy4zNiAy
MDIuNzQgNDA5Ljc5IDIxNS4wM10+PgplbmRvYmoKMjU3IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRl
clswIDAgMF0vQTw8L1VSSShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9hL2dvb2dsZS5jb20vZG9j
dW1lbnQvZC8xTG5kYzg5blpEbThNTXNiUjZIZ2VlOXhNMkViVldMS0xzSndzVHZVejVFNC9lZGl0
P2hsPWVuX1VTKS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzQwOS43OSAyMDIuNzQgNDIyLjAy
IDIxNS4wM10+PgplbmRvYmoKMjU4IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8
L1VSSShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9hL2dvb2dsZS5jb20vZG9jdW1lbnQvZC8xTG5k
Yzg5blpEbThNTXNiUjZIZ2VlOXhNMkViVldMS0xzSndzVHZVejVFNC9lZGl0P2hsPWVuX1VTKS9T
L1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzQyMi4wMiAyMDIuNzQgNDI4LjE0IDIxNS4wM10+Pgpl
bmRvYmoKMjU5IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwczov
L2RvY3MuZ29vZ2xlLmNvbS9hL2dvb2dsZS5jb20vZG9jdW1lbnQvZC8xTG5kYzg5blpEbThNTXNi
UjZIZ2VlOXhNMkViVldMS0xzSndzVHZVejVFNC9lZGl0P2hsPWVuX1VTKS9TL1VSST4+L1N1YnR5
cGUvTGluay9SZWN0WzQyOC4xNCAyMDIuNzQgNDQzLjQyIDIxNS4wM10+PgplbmRvYmoKMjYwIDAg
b2JqCjw8L0xlbmd0aCAxNjA2Mi9GaWx0ZXIvRmxhdGVEZWNvZGU+PnN0cmVhbQp4nJV9y65tu3Fd
APWOG4mDBImRODgIHFl+ZGnyNUkGSMfQK7Ji68rXurYl9QzZMLQNyJ38Vxr5vrCKc51Ncq49OAoG
LG1hnLmKxWKxqliP3376s68/hfNzTufnr//+0/e//vTVp99+Oj7n6j+/tf88Pv/m0+n8l/+U//03
n/7x0zef/vmT+/x/PvnPP26of/rkjs//+9MvfnV8/vv2z91n+b9/+Ycv33n/l89vHdf/f37v1/q/
HPKPGkHf/YH/7Nznr3/dPiX/q/uc2wfc8Tji56/fPn3nX/3sj77+JyH2NbY83Az/awQv7pHLBP8W
hMdHiTwx9XjUNMG/gfD4ONwE/3MEd8fxcGHC/wjjz4dPPG/cUR/V8cxxzj9qNnzfnY/TQr/3jzzT
/3OML+t6/wbiQ3zIaRjwf4nx56M4fntdqI9yGvgZGz8Nou9iFeCI/18Qn/zjqAZ6Unq4mZ8Z4k/3
KLM8fBfj86PO9JwQn9MjeAP9TTeE+bD/AOJLeJRi4H89JvBPMbg+3CwMf4Xw/kgPX/jD5Y/yqAZV
5V16HCdPv/fx4Wfm/wTj22HP/OH1wT9c5pWDD2Xlz+/Ce8J/Pmt6JEJuBFpUkyu2QGwVro/wP4D3
SRaiRzhkSvVyW41wSHhbX5mJObC+T/xCVdnPH8eH1R/rUrHy8JlfqAuHCO+Ixzdn09xu/v73dprY
1wn/txifH3nG45stBblp+fWmU25anv4zPA6D4Liz8Wfe3L/DmjWu38f0NOB8qH75S4xPD4s4lPLI
szjgi7A6uchH/EbRt4sqTPiNLnaPVHn6/REf53wWoeHim9LLmVcjvhley/HCurUZXqEa1tt0/aJL
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
Y2VzPDwvUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0vRm9udDw8
L0YxIDIgMCBSL0YyIDMgMCBSL0YzIDIxMCAwIFI+Pj4+L01lZGlhQm94WzAgMCA2MTIgNzkyXS9B
bm5vdHNbMjIwIDAgUiAyMjEgMCBSIDIyMiAwIFIgMjIzIDAgUiAyMjQgMCBSIDIyNSAwIFIgMjI2
IDAgUiAyMjcgMCBSIDIyOCAwIFIgMjI5IDAgUiAyMzAgMCBSIDIzMSAwIFIgMjMyIDAgUiAyMzMg
MCBSIDIzNCAwIFIgMjM1IDAgUiAyMzYgMCBSIDIzNyAwIFIgMjM4IDAgUiAyMzkgMCBSIDI0MCAw
IFIgMjQxIDAgUiAyNDIgMCBSIDI0MyAwIFIgMjQ0IDAgUiAyNDUgMCBSIDI0NiAwIFIgMjQ3IDAg
UiAyNDggMCBSIDI0OSAwIFIgMjUwIDAgUiAyNTEgMCBSIDI1MiAwIFIgMjUzIDAgUiAyNTQgMCBS
IDI1NSAwIFIgMjU2IDAgUiAyNTcgMCBSIDI1OCAwIFIgMjU5IDAgUl0+PgplbmRvYmoKMjYyIDAg
b2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vc3NsLmdzdGF0aWMu
Y29tKS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzQxOS4yOSA1OTUuNjkgNDMyLjc0IDYwNy45
OF0+PgplbmRvYmoKMjYzIDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSSho
dHRwOi8vc3NsLmdzdGF0aWMuY29tKS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzQzMi43NCA1
OTUuNjkgNDM1Ljc5IDYwNy45OF0+PgplbmRvYmoKMjY0IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRl
clswIDAgMF0vQTw8L1VSSShodHRwOi8vc3NsLmdzdGF0aWMuY29tKS9TL1VSST4+L1N1YnR5cGUv
TGluay9SZWN0WzQzNS43OSA1OTUuNjkgNDY3LjU5IDYwNy45OF0+PgplbmRvYmoKMjY1IDAgb2Jq
Cjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vc3NsLmdzdGF0aWMuY29t
KS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzQ2Ny41OSA1OTUuNjkgNDcwLjY0IDYwNy45OF0+
PgplbmRvYmoKMjY2IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRw
Oi8vc3NsLmdzdGF0aWMuY29tKS9TL1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzQ3MC42NCA1OTUu
NjkgNDkxLjQyIDYwNy45OF0+PgplbmRvYmoKMjY3IDAgb2JqCjw8L0NbMCAwIDFdL0JvcmRlclsw
IDAgMF0vQTw8L1VSSShodHRwOi8vbWFpbC5nb29nbGUuY29tKS9TL1VSST4+L1N1YnR5cGUvTGlu
ay9SZWN0WzUxMC4zNyA1OTUuNjkgNTEwLjM3IDYwNy45OF0+PgplbmRvYmoKMjY4IDAgb2JqCjw8
L0NbMCAwIDFdL0JvcmRlclswIDAgMF0vQTw8L1VSSShodHRwOi8vbWFpbC5nb29nbGUuY29tKS9T
L1VSST4+L1N1YnR5cGUvTGluay9SZWN0WzcyIDU4My4wNSA5Mi4xNyA1OTUuMzRdPj4KZW5kb2Jq
CjI2OSAwIG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkkoaHR0cDovL21haWwu
Z29vZ2xlLmNvbSkvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFs5Mi4xNyA1ODMuMDUgOTUuMjIg
NTk1LjM0XT4+CmVuZG9iagoyNzAgMCBvYmoKPDwvQ1swIDAgMV0vQm9yZGVyWzAgMCAwXS9BPDwv
VVJJKGh0dHA6Ly9tYWlsLmdvb2dsZS5jb20pL1MvVVJJPj4vU3VidHlwZS9MaW5rL1JlY3RbOTUu
MjIgNTgzLjA1IDEyOC4yNiA1OTUuMzRdPj4KZW5kb2JqCjI3MSAwIG9iago8PC9DWzAgMCAxXS9C
b3JkZXJbMCAwIDBdL0E8PC9VUkkoaHR0cDovL21haWwuZ29vZ2xlLmNvbSkvUy9VUkk+Pi9TdWJ0
eXBlL0xpbmsvUmVjdFsxMjguMjYgNTgzLjA1IDEzMS4zMSA1OTUuMzRdPj4KZW5kb2JqCjI3MiAw
IG9iago8PC9DWzAgMCAxXS9Cb3JkZXJbMCAwIDBdL0E8PC9VUkkoaHR0cDovL21haWwuZ29vZ2xl
LmNvbSkvUy9VUkk+Pi9TdWJ0eXBlL0xpbmsvUmVjdFsxMzEuMzEgNTgzLjA1IDE1Mi4wOSA1OTUu
MzRdPj4KZW5kb2JqCjI3MyAwIG9iago8PC9MZW5ndGggMTkwNTAvRmlsdGVyL0ZsYXRlRGVjb2Rl
Pj5zdHJlYW0KeJyVfU2vbrttXgHPtgdNmklRNMUZGEkDB2+WvqWio8J2HNt1fJ3r2I3tWeAEgU8A
Z9L/lUF/X0VqvXdTfM+mHuICvncfP2dtiiIpiuLHH97+19dvqX5qpX76+h/fvv/121dvf3i7PrUR
P32e/74+/f6thvjNv+nPf//2z2+/fPvXt/Dp/77FTz+aqH95C9en//32699en/5x/vXwif75t3/6
5jvvf/P5rev+3+f3fsd/ctFfmgT91Q/mB/Knr383P0V/Gj61+KmO9Aifvv789t//Q/uLr/+FaP0i
tF+PUiT65yZ6TBgKHu1Rq0T/rYUOV3iULOF/b8PHIyUJ/5YJD+kRN6780oa3R+/wSkOsj+wgJl2P
tBHzHROeL/V1mzO5q6Xa8FIf17apP7Hh4zHwj9cpAx1ne4uPlHE+tvqIG2P+zIT3qr7+CxM+wqNt
S/2hDR+Psi31exY8Xu2RGsyZGOLjSvAuxVAeI8LyG2N+5I2Yr0x4So8rwtsUU30M3GzEXB55sxt/
Y8LL9QgOYkpW4v5dE16z+ropBLEFtVRbCNp4bGz/axPdp2IXnJZRlciY4p6m/c0d5mO6ipLfb5vw
cCliTAlLoT/Kpnvm2ZFiVLSb2pGmuU4431PKSpl+a8JzUPDf/E7i4zxd9GHdyqPVBU4mdrAFE/Bf
WPCeNuzPTexgQRfw/2PBR37UHf4TE94eV93gf23BwzWZ1zf8D238ZMwG/5YJn9Y0lQ3/Sxs/TVLA
eRni9GUcvA9xHpP7vv6tiZ8OxDU2/N/b+MLqBPMndU2PzZ8p8m2D/9iGT+9qF57vmfiSHsNDznRp
hme5dbLTIw6VVBsnvw52yAT+pya+5YcyCrbwTx++Z8dye3rs3Pm1DR+P/ev/2YSPKWs7d/7Ewsd5
7tRdV/6rjW+PVvDVxnny9J2eH9j4eTgEnPuRzp6I2+Q4Dx+lu6awxTgNc8YtbUxB6/rf2Pisdf3w
/abpt/mZo6bH1JY4ry/NwZ4SCIhvV1k3O9R0xqnrqTvEra6rILzceeUpuzh/ZeOnad75Y56ksWe+
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
z56haEVYv+G/uH/DV/Of/w91fAJgCmVuZHN0cmVhbQplbmRvYmoKMjYxIDAgb2JqCjw8L1BhcmVu
dCAyMDkgMCBSL0NvbnRlbnRzIDI3MyAwIFIvVHlwZS9QYWdlL1Jlc291cmNlczw8L1Byb2NTZXQg
Wy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldL0ZvbnQ8PC9GMSAyIDAgUi9GMiAz
IDAgUi9GMyAyMTAgMCBSPj4+Pi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vQW5ub3RzWzI2MiAwIFIg
MjYzIDAgUiAyNjQgMCBSIDI2NSAwIFIgMjY2IDAgUiAyNjcgMCBSIDI2OCAwIFIgMjY5IDAgUiAy
NzAgMCBSIDI3MSAwIFIgMjcyIDAgUl0+PgplbmRvYmoKMjAgMCBvYmoKWzIxOSAwIFIvRml0XQpl
bmRvYmoKMTQgMCBvYmoKWzIxNyAwIFIvRml0XQplbmRvYmoKMjQgMCBvYmoKWzI2MSAwIFIvRml0
XQplbmRvYmoKMTggMCBvYmoKWzIxOSAwIFIvRml0XQplbmRvYmoKOSAwIG9iagpbMjEzIDAgUi9G
aXRdCmVuZG9iagoxNyAwIG9iagpbMjE5IDAgUi9GaXRdCmVuZG9iago4IDAgb2JqClsyMTMgMCBS
L0ZpdF0KZW5kb2JqCjE2IDAgb2JqClsyMTkgMCBSL0ZpdF0KZW5kb2JqCjQgMCBvYmoKWzEgMCBS
L0ZpdF0KZW5kb2JqCjIyIDAgb2JqClsyNjEgMCBSL0ZpdF0KZW5kb2JqCjExIDAgb2JqClsyMTMg
MCBSL0ZpdF0KZW5kb2JqCjYgMCBvYmoKWzEgMCBSL0ZpdF0KZW5kb2JqCjE1IDAgb2JqClsyMTcg
MCBSL0ZpdF0KZW5kb2JqCjEwIDAgb2JqClsyMTMgMCBSL0ZpdF0KZW5kb2JqCjEzIDAgb2JqClsy
MTUgMCBSL0ZpdF0KZW5kb2JqCjcgMCBvYmoKWzIxMSAwIFIvRml0XQplbmRvYmoKNSAwIG9iagpb
MSAwIFIvRml0XQplbmRvYmoKMTkgMCBvYmoKWzIxOSAwIFIvRml0XQplbmRvYmoKMjMgMCBvYmoK
WzI2MSAwIFIvRml0XQplbmRvYmoKMjEgMCBvYmoKWzI2MSAwIFIvRml0XQplbmRvYmoKMTIgMCBv
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
dl65YTaXwo0apYFbsJ106Yb1pF26YYwcvwjk8KuXBn7FJRRRfpHiEuXn06Tf2Dm9s2NM15VPmOic
8jkXpjk+mDHQdoxFIsqrQdfS0ktLN+iqYStUQULAJSaUi4bzOlWQ0FRlVvOnLmHXZe1Fl7WqLq59
6iMcn8rlsz6Vy+ET/R9fO9ujWn51tv9M586GzkxD506QsQ7cfUe1NbBD18f6szJDt3gks+O2O6Td
vtPKNuzssPobOvSx1WcukX1GZq9u6BijM51b02NnjJ0d9mpjdWfD9o7ufNv6tPlvde27WFd6/SUK
Wy8LS8u62sxLZJsyu03WZcq6TFlXm9Gm6uq8U877VHosSO3yQdvK5tllxZjDmZr67vaqUE+rnNDj
6+qr+2tO+Eg7RpdFu635De1WCZBZMTNmyiy8z2RWKZLL3Kzq/nX1NSe0Y25WCMnlDe0027Uknbqs
tZu6rPotN6XlVLGM7Zces175UtnV1HlnB/5ju0+Bf3M9qfeSr75LvbLZbK8MstFeoi6raUuXdcUm
tCQQQFWZjm6krZpN41yljRUVdRZmJpEZRSO0PlmdjEW1KHrQKMZVV4Dl/LkAk5cKffnFdYldp3AE
3wNwHcd2283q8pntzi8Ny+uXvnzzWsficlVae3F9Qj7BOwmptGHHGuUxRAbDg7HBZC6ci+WSfqQe
H0aiGJaHUrt5mFNftHe2IxDt60Zny8dyo77Ddm2dqjgnI9Fod7RXPTSdPtvVUffB7Oj0ix3b65ba
q4rvmx0QJ73XLQQj4dSenZVlXZHKzCqRU4izdTH49IUton8BImyaEQplbmRzdHJlYW0KZW5kb2Jq
CjI3NSAwIG9iago8PC9Gb250QkJveFstNjI3IC0zNzYgMjAwMCAxMDEwXS9DYXBIZWlnaHQgNzE1
L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udEZpbGUyIDI3NCAwIFIvU3RlbVYgODAvRGVzY2VudCAt
MjEwL0ZsYWdzIDI2MjE3Ni9Gb250TmFtZS9SRFFMWVcrQXJpYWwtQm9sZC9Bc2NlbnQgNzI4L0l0
YWxpY0FuZ2xlIDA+PgplbmRvYmoKMjc2IDAgb2JqCjw8L0Jhc2VGb250L1JEUUxZVytBcmlhbC1C
b2xkL0NJRFN5c3RlbUluZm88PC9PcmRlcmluZyhJZGVudGl0eSkvUmVnaXN0cnkoQWRvYmUpL1N1
cHBsZW1lbnQgMD4+L1cgWzNbMjc3XTExWzMzMyAzMzNdMTVbMjc3IDMzMyAyNzcgMjc3XTI5WzMz
M10zNls3MjIgNzIyIDcyMiA3MjIgNjY2XTQyWzc3NyA3MjIgMjc3XTQ2WzcyMiA2MTAgODMzXTUx
WzY2Nl01M1s3MjIgNjY2IDYxMCA3MjIgNjY2IDk0M102OFs1NTYgNjEwIDU1NiA2MTAgNTU2IDMz
MyA2MTAgNjEwIDI3NyAyNzcgNTU2IDI3NyA4ODkgNjEwIDYxMCA2MTAgNjEwIDM4OSA1NTYgMzMz
IDYxMCA1NTYgNzc3IDU1NiA1NTYgNTAwXV0vVHlwZS9Gb250L1N1YnR5cGUvQ0lERm9udFR5cGUy
L0ZvbnREZXNjcmlwdG9yIDI3NSAwIFIvRFcgMTAwMC9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVu
ZG9iagoyNzcgMCBvYmoKPDwvTGVuZ3RoIDQ5OS9GaWx0ZXIvRmxhdGVEZWNvZGU+PnN0cmVhbQp4
nF2UzarbMBBG934KLVu6sCPNSDcQZtNSyKI/NGnp1pHlYGgc4ziLvH2d+W7nQg054M+RmTmSp/64
/7Qfh8XV3+drPpTF9cPYzeV2vc+5uFM5D2O18a4b8vJ6p8yXdqrqdfHhcVvKZT/212q3c/WP9eFt
mR/u3fH4+0Pzvqq/zV2Zh/G8JuR//lqTw32a/pRLGRfXVCKuK/36qi/t9LW9FFfrwrfw+JiK83q/
QQX52pXb1OYyt+O5VLtmvWT3eb2kKmP332P2WHXq3/4exOgb0egkRv+CKIvRbxH1YvRZo00jRt8h
2ojRF0RejL5H1IkxtBp5EiNtELEYySOKYqSAKImRCNGLGIkRtWKkhAgNKwlt+yxGQttrE0Y6IerF
SDAR1AFIMBFUMcgQHbQVkNFQ0FZARkNBWwEZDQVtBWQ0FLZi5IioFSOjRyIxRlglFmNEEQSfyogi
KIkxogh6EWNEEbQVY0QRBMXK+FrESYwRoimLMUI0dWKMOBME68oI9wTrygj33Igxwj3r+QMjTiF7
MUacQg5iTNghJjEm+GIWY4IvjmJM8MVJjAm+GNulTPDF2C5lgi/GdikTfLGaAhN8sZoCE3yxmgJT
q1//v8/8OQieM8rmSr7P8zpydJDpYHmOlGEsNuum6/Rc5dZf9RfcXzkiCmVuZHN0cmVhbQplbmRv
YmoKMiAwIG9iago8PC9EZXNjZW5kYW50Rm9udHNbMjc2IDAgUl0vQmFzZUZvbnQvUkRRTFlXK0Fy
aWFsLUJvbGQvVHlwZS9Gb250L0VuY29kaW5nL0lkZW50aXR5LUgvU3VidHlwZS9UeXBlMC9Ub1Vu
aWNvZGUgMjc3IDAgUj4+CmVuZG9iagoyNzggMCBvYmoKPDwvTGVuZ3RoMSA2NDYzNi9MZW5ndGgg
MzE1MzgvRmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0KeJykvAl8FEXaMF5VfXfP0XOfmcxkMpNj
gABJSAaiaeVQjnDIlSAjQW5QIYAoCAIqh4iKruAt4AkqEiBgOHZFltX1YHHXG9djXTzXKK/Lsipk
8j1VMxOC+37/336/fybdXV19VNVzP0891QgjhBS0AnFIn7JoYXhr8P1/QM0jCIljps+bce2bixse
gvIp2K6bcc3i6bvX/mEHQuZGhBZXzJw2eeqJf8UPIrT6Pnimz0yosJe70nD+JpwXzrx24Y1nruo4
C+fwfMU718ydMlmMLngdoYNH4fyDayffOM8+TPgUoVPQHgrPmz9tXuy9upfg/BBC2u+EA8gHm194
Bvn4OPIi1PEVbF/TY3pWx9f0Oj2Sb+Hp1uyG0Da0A89CO9BL6Ag+BU/tRPtRC/oj8qABMK6l6D60
BoloAtTcjq6AnwD192FfRwsqQ1sBDlvRMbh3PLoZHUBu7O34Bi1Hq7i34alVyIwK0CVoJJqL7sTD
Oq5HE9Gn/K2oCg1D16F5eEVHfcddHfd2PImeQvu5P3a0Iw350RT4Hev4Xvig46+oOzyxET2IPsX3
KnuRAa2sgDsfRfPRQ1yKxx0zOn6BHkTQDdAHHtWhY/gwScDbp6GvsBcv5frDW57oaO44CncFUQrN
RA+hA7gSX0YiwsSOuo5jyA1t3AhvfRDtRvvg14p+i05gk3Cq48mOU8iHuqHBMJ4W9Cd8mEu3r0zX
AsQEgFIJSsKVueh36FX0Fo7il8lcwST0FgxhScc7yIl6obHQ22fgyS/xv8nN8FvOvcIP6rgUWQAu
91Booz+gv2E/LsMj8DhSQuaSx7j5SIYWe8FvKpoF8H4A3v4JTuB9xESOc0/wz/Fnxbz0Zx0WwEgc
PYweRS9jM4w0jBfgW/B7+O+kP5lEHiafc/fx2/m/SJNh1Feha9Gd6Dn0b2zH1XgUvhLPxEvxGnwP
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
NzVTmGSmtsb3x6L8C4apuvwhQz6yrJAmzX7BT3n/Av9uuiloFDWH1DpRVz9EqWvecQ7VnR1p/qq+
sFVxjZvc7CgcojQH66hu/JDmk6J1rUb89Ob+0bpmY+yUSRsU5ZYGuDaL61sVGj+pVYmz07U5zcFT
Jm0lRQlce3MO07Jrb25ooMz0JTWZNcFBgaphtcd4zLCf0cN/mUeY85rvqquf1Lw2r6G5gg3xvIa6
5jvrI1MnbVW+UD4fWrtV+QeThklb1UHKF0NPZ3d1UG1DQ12rMlH6o4jyD/hDi/mH9GdiYGZ/FDHz
LX/3Wv6KER7+ipjAn9NJxdJfsdMp/WkK+9vQWDS0dkNRkfSTEaFG6acxI9LZz65i+Ckuln7Sm2iX
9LMrvYn9NA+SXnJz4SU/V3pRsilXeslVsqWXiYe9lNteVnR4WSFjUpXDfnItP979CT/e/fAT/aF/
s4ZEo8rGgQ3nTB06q3DojMKhs4AZzTcuOS+zuensSGTDOQ38ItKslsw4+5zzmJ41q7mhcFZt8zmF
tZENA6ce4/VUfj2wsHYDTR06ftKGqbFZtS0DYwOHFp5V27Bx+NjK/kfEtaIjrsqxx/jYWP5YJcc1
vP8xXvfn18M5rv4cV3+Oa3hsuIyLZBsfO2mDSUMaTplq0Y3C7UJ7nZHTrWFIuv+CQbLxDuyWuSxn
G6SVR8kdbWj2FA5p9gL86oTBJwzmV+hT/CoFzj77Veaygd1ytimP2q/8cA4UDqHo4osaL6LMoXNq
rf+N+IPT4ou4wK1ntPG7/vBuaHPsrNrGxUR1zT3q65prxk2etMEw4DqDs9Q8IOHmdg9tje+wHHvB
cQA7qmqHR3arZjen0/Z4dP1fZFP5i8tN4smNSixfWUyNDWpzft14AVYwfjLyOnXypG2QpXh4aGxA
BhuVqNKY+Iad7GiULDtxnhNYfJFtsstisU2tkAjSmCiSjj8urGhHiS3GB+n/ABRlfBQKZW5kc3Ry
ZWFtCmVuZG9iagoyNzkgMCBvYmoKPDwvRm9udEJCb3hbLTY2NCAtMzI0IDIwMDAgMTAwNV0vQ2Fw
SGVpZ2h0IDcxNi9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnRGaWxlMiAyNzggMCBSL1N0ZW1WIDgw
L0Rlc2NlbnQgLTIxMC9GbGFncyAzMi9Gb250TmFtZS9GWUFZTFMrQXJpYWwvQXNjZW50IDcyOC9J
dGFsaWNBbmdsZSAwPj4KZW5kb2JqCjI4MCAwIG9iago8PC9CYXNlRm9udC9GWUFZTFMrQXJpYWwv
Q0lEU3lzdGVtSW5mbzw8L09yZGVyaW5nKElkZW50aXR5KS9SZWdpc3RyeShBZG9iZSkvU3VwcGxl
bWVudCAwPj4vVyBbM1syNzddNls1NTZdMTFbMzMzIDMzMyAzODldMTVbMjc3IDMzMyAyNzcgMjc3
IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiAyNzcgMjc3XTMyWzU4M10z
NFs1NTYgMTAxNSA2NjYgNjY2IDcyMiA3MjIgNjY2IDYxMCA3NzcgNzIyIDI3NyA1MDAgNjY2IDU1
NiA4MzMgNzIyIDc3NyA2NjYgNzc3IDcyMiA2NjYgNjEwIDcyMiA2NjYgOTQzIDY2NiA2NjYgNjEw
IDI3N102NFsyNzddNjZbNTU2XTY4WzU1NiA1NTYgNTAwIDU1NiA1NTYgMjc3IDU1NiA1NTYgMjIy
IDIyMiA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiA1NTYgMzMzIDUwMCAyNzcgNTU2IDUwMCA3MjIg
NTAwIDUwMCA1MDBdMTc5WzMzMyAzMzNdMTgyWzIyMl0zODBbNjA0XTQwNFs2MDRdXS9UeXBlL0Zv
bnQvU3VidHlwZS9DSURGb250VHlwZTIvRm9udERlc2NyaXB0b3IgMjc5IDAgUi9EVyAxMDAwL0NJ
RFRvR0lETWFwL0lkZW50aXR5Pj4KZW5kb2JqCjI4MSAwIG9iago8PC9MZW5ndGggNjczL0ZpbHRl
ci9GbGF0ZURlY29kZT4+c3RyZWFtCnicXdVNa+NIFIXhvX+Flj30wtL9qLIhnM0MA1n0B510M1tZ
KgXDRDaKs8i/b6lO+jZ0IA/kJkp83xSu/d/3/9zP51uz/7pchodya6bzPC7l5fK6DKU5lafzvOuk
Gc/D7f2r6vDcX3f79eGHt5dbeb6fp8vu7q7Zf1u/+XJb3poPj4//fWz/2u2/LGNZzvPTOjH5/mOd
PLxer/+X5zLfmnYHNGOZ1l/1qb9+7p9Ls68P/h4+vl1LI/Xrjq9guIzl5doPZennp7K7a9cP3P27
fmBX5vGPbx+cT52m3z+uCKVFHSWEohydEMqBowGhHDkaEUrP0YRQhjrqWoQyctQhlMKRIJSJo/oi
qfKldoZQO44coQpHdRWqXKjLCNU4OiBU5+iIUBNHPULNHNUsVBmnq1moMk5Xs1BlnK4g1FMdSYtQ
GUfYoKosIYrQWEJqA2osIbUBNZYQ/lOrxhJSG1BjCTkgNJaQI0JjCekRGksID0jVWEIGhMYSMiI0
lpCC0N5LTAiNJ0dbhMY42iE0nhwVhMZeqgidvdQQOnupI3T20oTQ2UszQmcvPSB09tIjQmcv7RE6
e+kJobOX8sxUnb10ROjspTwzVWcvaxE645ggdJYwQ5i4tjnCxLUtIUxc2zLCxLXtgDBxbTsiTFzb
eoSJa9sJYeLaNiBMXNtGhIlrW0GY3teeECYeE28RJpbwDmHiMXFBmBjHFWHmMXFDmNnLHWFmL08I
M3t5RpjZyw8IM3v5EWFmL+8RZvbyE8LMXs4DUs3s5SPCzF6nut2mbG+SdVS325Tt/amO6nabsr0/
1VFdZVO2t7911OXtb1XFh9q+O24PVtfRVC+cXzfLdvds12JcZcPrsqy3XL0761223WLnucT1er1c
t6ea9XP3E8abv1AKZW5kc3RyZWFtCmVuZG9iagozIDAgb2JqCjw8L0Rlc2NlbmRhbnRGb250c1sy
ODAgMCBSXS9CYXNlRm9udC9GWUFZTFMrQXJpYWwvVHlwZS9Gb250L0VuY29kaW5nL0lkZW50aXR5
LUgvU3VidHlwZS9UeXBlMC9Ub1VuaWNvZGUgMjgxIDAgUj4+CmVuZG9iagoyODIgMCBvYmoKPDwv
TGVuZ3RoMSAzMjU2MC9MZW5ndGggMTQxMDAvRmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0KeJzt
fXdgVFXa93PObVOSaZlkUplJJgkhEwiQkBCIZIAkAqGXmAQjoYOIdKQLugqLBRT76oIKWEAdCGjA
Au6igJV1rbvWFcuqiLqWtWTu9zt3ZkLIWvb9vveP74/M8LvPafeec57znKecOwAxIjLTWpLIMXXp
Yt85H+aVouR2IqVpxvyZc8cfmluC9E/ACzMvWj5jzTfdvySyPkeUcdus6ZOnvfbooWaibrNwT8ks
FNgWxFcgvw357FlzFy9rdfv3IH+EqOvoi+ZNncxS39tANMaN/Pi5k5fNj3tCeoFombjfN3/h9PlD
xtnnI4826k7lIKUY2Empci4lE+kfAR8LGp6tfy7qwvP0f/B/4O79UUQ+j9EhupqaaSe+e8jBZJpG
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
iuOjVd0Hdh8oqiC9osom/gvcaFXymv6ZaQfZvdEqB4qd6KPdOBcvXoIPJVfNrmz7syj6WRKli6km
lD+uJlQxpqFuj6ZVhYJNlfUo6xkrs1qrWvTDkcIeKCwXhZLU1rCtzGyONgQ3Hh5VwEZ5WSmGUB9Y
hKGgo/YcXLzIuGKD/h/ItTF1CmVuZHN0cmVhbQplbmRvYmoKMjgzIDAgb2JqCjw8L0ZvbnRCQm94
Wy01MTcgLTMyNCAxMzc5IDk5N10vQ2FwSGVpZ2h0IDcxNS9UeXBlL0ZvbnREZXNjcmlwdG9yL0Zv
bnRGaWxlMiAyODIgMCBSL1N0ZW1WIDgwL0Rlc2NlbnQgLTIwNy9GbGFncyA5Ni9Gb250TmFtZS9L
QlVHRkcrQXJpYWwtSXRhbGljL0FzY2VudCA3MjgvSXRhbGljQW5nbGUgLTEyPj4KZW5kb2JqCjI4
NCAwIG9iago8PC9CYXNlRm9udC9LQlVHRkcrQXJpYWwtSXRhbGljL0NJRFN5c3RlbUluZm88PC9P
cmRlcmluZyhJZGVudGl0eSkvUmVnaXN0cnkoQWRvYmUpL1N1cHBsZW1lbnQgMD4+L1cgWzNbMjc3
XTE2WzMzM10zNls2NjZdMzlbNzIyXTQ4WzgzM101NFs2NjYgNjEwXTY4WzU1NiA1NTYgNTAwIDU1
NiA1NTZdNzRbNTU2XTc2WzIyMl03OFs1MDAgMjIyIDgzMyA1NTYgNTU2IDU1Nl04Nls1MDAgMjc3
IDU1Nl05MVs1MDBdXS9UeXBlL0ZvbnQvU3VidHlwZS9DSURGb250VHlwZTIvRm9udERlc2NyaXB0
b3IgMjgzIDAgUi9EVyAxMDAwL0NJRFRvR0lETWFwL0lkZW50aXR5Pj4KZW5kb2JqCjI4NSAwIG9i
ago8PC9MZW5ndGggMzUxL0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtCnicXZJNa4QwEIbv/ooc
W3pQYxJbWObSUthDP+huS69uHBehRonuYf9948x2Fir4QB59RyeZ/HH7tA39ovL3OPodLqrrQxtx
Hk/RozrgsQ9ZqVXb++WyIvqhmbI8hXfnecFhG7ox22xU/pEezks8q5v9/vuuuM3yt9hi7MMxGaM/
v5LZnabpBwcMiyoyANVil0q9NNNrM6DKKXiV+/OEStO65D/wY4vz1HiMTThitinSBZvndEGGof33
WBtOHbrr6xUIdQGrKgsQ6paUNiA0JasahMaQqijCNBysHAhtxYoiTMtBY0DouLyxIHSaFVVhOq5l
+PNEd6l1D0JnWTUgdDUrD0L3wApB6A6sOhA6T8pSd0zHPdoShA5ZaRC6jlUFwpo32vK2EGtuyPK2
EGtuyFIrzJobsgcQ1vd00n9Huh76Oo8yQ/4UYxovGloaonV8+oAy19M4rSmV7uwXlRjHQgplbmRz
dHJlYW0KZW5kb2JqCjIxMCAwIG9iago8PC9EZXNjZW5kYW50Rm9udHNbMjg0IDAgUl0vQmFzZUZv
bnQvS0JVR0ZHK0FyaWFsLUl0YWxpYy9UeXBlL0ZvbnQvRW5jb2RpbmcvSWRlbnRpdHktSC9TdWJ0
eXBlL1R5cGUwL1RvVW5pY29kZSAyODUgMCBSPj4KZW5kb2JqCjIwOSAwIG9iago8PC9JVFhUKDIu
MS42KS9UeXBlL1BhZ2VzL0NvdW50IDcvS2lkc1sxIDAgUiAyMTEgMCBSIDIxMyAwIFIgMjE1IDAg
UiAyMTcgMCBSIDIxOSAwIFIgMjYxIDAgUl0+PgplbmRvYmoKMjg2IDAgb2JqCjw8L05hbWVzWyho
LjN6em42b2lmMmR6dykgMjAgMCBSKGguNDg5dzU1cnI5MXE0KSAxNCAwIFIoaC41ZWJhcXF5Zzdr
eG8pIDI0IDAgUihoLjc3MWFvemwwZmtiZikgMTggMCBSKGguODlyY3F0dHAwcDY0KSA5IDAgUiho
LmNneWIweXl4MWdtbykgMTcgMCBSKGguZ2s2Mjl4MXFyemdjKSA4IDAgUihoLmhieG85ZXRnOHR2
MCkgMTYgMCBSKGguamNqZWtjMjZ6aWoxKSA0IDAgUihoLm1ld3hkNTN4ZDVhKSAyMiAwIFIoaC5u
ODJiOWlsdnM2b3gpIDExIDAgUihoLm9iY2R4c203N2ljdikgNiAwIFIoaC5vbXNmaGU2MHVhcjEp
IDE1IDAgUihoLnBsbHUyNjF1cWRnbykgMTAgMCBSKGguczY5ZnN3M2IzNG5sKSAxMyAwIFIoaC51
Y3ZlamU0bDZjbjcpIDcgMCBSKGgudnQwZmxsaDU5djQ0KSA1IDAgUihoLnhhYW95azN0d2YyaSkg
MTkgMCBSKGgueXV5c21mYmdmZ3VoKSAyMyAwIFIoaC56ZTdpb2x5djRqZzQpIDIxIDAgUihoLnpl
bWt0OXgyam9zOCkgMTIgMCBSXT4+CmVuZG9iagoyODcgMCBvYmoKPDwvRGVzdHMgMjg2IDAgUj4+
CmVuZG9iagoyODggMCBvYmoKPDwvVHlwZS9NZXRhZGF0YS9TdWJ0eXBlL1hNTC9MZW5ndGggMjc3
Mz4+c3RyZWFtCjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3pr
YzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPgo8cmRmOlJERiB4bWxu
czpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRm
OkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2Vs
ZW1lbnRzLzEuMS8iPjxkYzpmb3JtYXQ+YXBwbGljYXRpb24vcGRmPC9kYzpmb3JtYXQ+PC9yZGY6
RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnBkZj0iaHR0
cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyI+PHBkZjpQcm9kdWNlcj5pVGV4dCAyLjEuNiBieSAx
VDNYVDwvcGRmOlByb2R1Y2VyPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJk
ZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPjx4bXA6
Q3JlYXRlRGF0ZT4yMDExLTA5LTEyVDE0OjU2OjI2LTA3OjAwPC94bXA6Q3JlYXRlRGF0ZT48eG1w
Ok1vZGlmeURhdGU+MjAxMS0wOS0xMlQxNDo1NjoyNi0wNzowMDwveG1wOk1vZGlmeURhdGU+PHht
cDpDcmVhdG9yVG9vbD5Eb2N1bWlsbCBQdWJsaXNob3IgNi4zLjcgYnkgRG9jdW1pbGwgKGh0dHA6
Ly93d3cuZG9jdW1pbGwuY29tLyk8L3htcDpDcmVhdG9yVG9vbD48L3JkZjpEZXNjcmlwdGlvbj4K
PC9yZGY6UkRGPjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4KZW5kc3RyZWFt
CmVuZG9iagoyODkgMCBvYmoKPDwvTmFtZXMgMjg3IDAgUi9UeXBlL0NhdGFsb2cvTWV0YWRhdGEg
Mjg4IDAgUi9QYWdlcyAyMDkgMCBSPj4KZW5kb2JqCjI5MCAwIG9iago8PC9DcmVhdG9yKERvY3Vt
aWxsIFB1Ymxpc2hvciA2LjMuNyBieSBEb2N1bWlsbCBcKGh0dHA6Ly93d3cuZG9jdW1pbGwuY29t
L1wpKS9Qcm9kdWNlcihpVGV4dCAyLjEuNiBieSAxVDNYVCkvTW9kRGF0ZShEOjIwMTEwOTEyMTQ1
NjI2LTA3JzAwJykvQ3JlYXRpb25EYXRlKEQ6MjAxMTA5MTIxNDU2MjYtMDcnMDAnKT4+CmVuZG9i
agp4cmVmCjAgMjkxCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAzNjk2NCAwMDAwMCBuIAowMDAw
MTY5NjM1IDAwMDAwIG4gCjAwMDAyMDI4OTIgMDAwMDAgbiAKMDAwMDE0NTU2NCAwMDAwMCBuIAow
MDAwMTQ1Nzk3IDAwMDAwIG4gCjAwMDAxNDU2NTEgMDAwMDAgbiAKMDAwMDE0NTc2OCAwMDAwMCBu
IAowMDAwMTQ1NTA1IDAwMDAwIG4gCjAwMDAxNDU0NDYgMDAwMDAgbiAKMDAwMDE0NTcwOCAwMDAw
MCBuIAowMDAwMTQ1NjIxIDAwMDAwIG4gCjAwMDAxNDU5MTQgMDAwMDAgbiAKMDAwMDE0NTczOCAw
MDAwMCBuIAowMDAwMTQ1MzU2IDAwMDAwIG4gCjAwMDAxNDU2NzggMDAwMDAgbiAKMDAwMDE0NTUz
NCAwMDAwMCBuIAowMDAwMTQ1NDc1IDAwMDAwIG4gCjAwMDAxNDU0MTYgMDAwMDAgbiAKMDAwMDE0
NTgyNCAwMDAwMCBuIAowMDAwMTQ1MzI2IDAwMDAwIG4gCjAwMDAxNDU4ODQgMDAwMDAgbiAKMDAw
MDE0NTU5MSAwMDAwMCBuIAowMDAwMTQ1ODU0IDAwMDAwIG4gCjAwMDAxNDUzODYgMDAwMDAgbiAK
MDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwMTQ3IDAwMDAwIG4gCjAwMDAwMDAyNzkgMDAwMDAg
biAKMDAwMDAwMDQxMSAwMDAwMCBuIAowMDAwMDAwNTQzIDAwMDAwIG4gCjAwMDAwMDA2NzYgMDAw
MDAgbiAKMDAwMDAwMDgwOSAwMDAwMCBuIAowMDAwMDAwOTQyIDAwMDAwIG4gCjAwMDAwMDEwNzUg
MDAwMDAgbiAKMDAwMDAwMTIwNyAwMDAwMCBuIAowMDAwMDAxMzM5IDAwMDAwIG4gCjAwMDAwMDE0
NDcgMDAwMDAgbiAKMDAwMDAwMTU1OSAwMDAwMCBuIAowMDAwMDAxNjcxIDAwMDAwIG4gCjAwMDAw
MDE3ODMgMDAwMDAgbiAKMDAwMDAwMTg5NSAwMDAwMCBuIAowMDAwMDAyMDA3IDAwMDAwIG4gCjAw
MDAwMDIxMTkgMDAwMDAgbiAKMDAwMDAwMjIzMSAwMDAwMCBuIAowMDAwMDAyMzQzIDAwMDAwIG4g
CjAwMDAwMDI0NTIgMDAwMDAgbiAKMDAwMDAwMjU2MCAwMDAwMCBuIAowMDAwMDAyNjcxIDAwMDAw
IG4gCjAwMDAwMDI3ODMgMDAwMDAgbiAKMDAwMDAwMjg5NSAwMDAwMCBuIAowMDAwMDAzMDA3IDAw
MDAwIG4gCjAwMDAwMDMxMTkgMDAwMDAgbiAKMDAwMDAwMzIzMSAwMDAwMCBuIAowMDAwMDAzMzQw
IDAwMDAwIG4gCjAwMDAwMDM0NDkgMDAwMDAgbiAKMDAwMDAwMzU2MSAwMDAwMCBuIAowMDAwMDAz
NjcyIDAwMDAwIG4gCjAwMDAwMDM3ODEgMDAwMDAgbiAKMDAwMDAwMzg5MyAwMDAwMCBuIAowMDAw
MDA0MDA1IDAwMDAwIG4gCjAwMDAwMDQxMTcgMDAwMDAgbiAKMDAwMDAwNDIyOSAwMDAwMCBuIAow
MDAwMDA0MzQxIDAwMDAwIG4gCjAwMDAwMDQ0NTMgMDAwMDAgbiAKMDAwMDAwNDU2NSAwMDAwMCBu
IAowMDAwMDA0Njc3IDAwMDAwIG4gCjAwMDAwMDQ3ODUgMDAwMDAgbiAKMDAwMDAwNDg5NiAwMDAw
MCBuIAowMDAwMDA1MDA4IDAwMDAwIG4gCjAwMDAwMDUxMTggMDAwMDAgbiAKMDAwMDAwNTIzMCAw
MDAwMCBuIAowMDAwMDA1MzQyIDAwMDAwIG4gCjAwMDAwMDU0NTUgMDAwMDAgbiAKMDAwMDAwNTU2
OCAwMDAwMCBuIAowMDAwMDA1NjgxIDAwMDAwIG4gCjAwMDAwMDU3OTQgMDAwMDAgbiAKMDAwMDAw
NTkwNyAwMDAwMCBuIAowMDAwMDA2MDIwIDAwMDAwIG4gCjAwMDAwMDYxMzMgMDAwMDAgbiAKMDAw
MDAwNjI0NiAwMDAwMCBuIAowMDAwMDA2MzU1IDAwMDAwIG4gCjAwMDAwMDY0NjYgMDAwMDAgbiAK
MDAwMDAwNjU3NyAwMDAwMCBuIAowMDAwMDA2Njg5IDAwMDAwIG4gCjAwMDAwMDY4MDEgMDAwMDAg
biAKMDAwMDAwNjkxMyAwMDAwMCBuIAowMDAwMDA3MDI1IDAwMDAwIG4gCjAwMDAwMDcxMzcgMDAw
MDAgbiAKMDAwMDAwNzI0OSAwMDAwMCBuIAowMDAwMDA3MzU5IDAwMDAwIG4gCjAwMDAwMDc0NzEg
MDAwMDAgbiAKMDAwMDAwNzU4MyAwMDAwMCBuIAowMDAwMDA3Njk2IDAwMDAwIG4gCjAwMDAwMDc4
MDkgMDAwMDAgbiAKMDAwMDAwNzkyMiAwMDAwMCBuIAowMDAwMDA4MDM1IDAwMDAwIG4gCjAwMDAw
MDgxNDggMDAwMDAgbiAKMDAwMDAwODI2MSAwMDAwMCBuIAowMDAwMDA4MzczIDAwMDAwIG4gCjAw
MDAwMDg0ODUgMDAwMDAgbiAKMDAwMDAwODU5OCAwMDAwMCBuIAowMDAwMDA4NzEyIDAwMDAwIG4g
CjAwMDAwMDg4MjYgMDAwMDAgbiAKMDAwMDAwODk0MCAwMDAwMCBuIAowMDAwMDA5MDU0IDAwMDAw
IG4gCjAwMDAwMDkxNjggMDAwMDAgbiAKMDAwMDAwOTI3OCAwMDAwMCBuIAowMDAwMDA5MzkxIDAw
MDAwIG4gCjAwMDAwMDk1MDQgMDAwMDAgbiAKMDAwMDAwOTYxNyAwMDAwMCBuIAowMDAwMDA5NzMw
IDAwMDAwIG4gCjAwMDAwMDk4NDMgMDAwMDAgbiAKMDAwMDAwOTk1NSAwMDAwMCBuIAowMDAwMDEw
MDY3IDAwMDAwIG4gCjAwMDAwMTAxODAgMDAwMDAgbiAKMDAwMDAxMDI5MyAwMDAwMCBuIAowMDAw
MDEwNDA2IDAwMDAwIG4gCjAwMDAwMTA1MTcgMDAwMDAgbiAKMDAwMDAxMDYzMSAwMDAwMCBuIAow
MDAwMDEwNzQyIDAwMDAwIG4gCjAwMDAwMTA4NTEgMDAwMDAgbiAKMDAwMDAxMDk2MyAwMDAwMCBu
IAowMDAwMDExMDc2IDAwMDAwIG4gCjAwMDAwMTExODcgMDAwMDAgbiAKMDAwMDAxMTI5NCAwMDAw
MCBuIAowMDAwMDExNDA0IDAwMDAwIG4gCjAwMDAwMTE1MTUgMDAwMDAgbiAKMDAwMDAxMTYyNiAw
MDAwMCBuIAowMDAwMDExNzQwIDAwMDAwIG4gCjAwMDAwMTE4NTQgMDAwMDAgbiAKMDAwMDAxMTk2
OCAwMDAwMCBuIAowMDAwMDEyMDgyIDAwMDAwIG4gCjAwMDAwMTIxOTAgMDAwMDAgbiAKMDAwMDAx
MjMwMSAwMDAwMCBuIAowMDAwMDEyNDEyIDAwMDAwIG4gCjAwMDAwMTI1MjIgMDAwMDAgbiAKMDAw
MDAxMjYzMiAwMDAwMCBuIAowMDAwMDEyNzQzIDAwMDAwIG4gCjAwMDAwMTI4NTQgMDAwMDAgbiAK
MDAwMDAxMjk2NSAwMDAwMCBuIAowMDAwMDEzMDc2IDAwMDAwIG4gCjAwMDAwMTMxODYgMDAwMDAg
biAKMDAwMDAxMzI5OSAwMDAwMCBuIAowMDAwMDEzNDEzIDAwMDAwIG4gCjAwMDAwMTM1MjcgMDAw
MDAgbiAKMDAwMDAxMzY0MSAwMDAwMCBuIAowMDAwMDEzNzU1IDAwMDAwIG4gCjAwMDAwMTM4Njkg
MDAwMDAgbiAKMDAwMDAxMzk4MyAwMDAwMCBuIAowMDAwMDE0MDk3IDAwMDAwIG4gCjAwMDAwMTQy
MTEgMDAwMDAgbiAKMDAwMDAxNDMyNSAwMDAwMCBuIAowMDAwMDE0NDM5IDAwMDAwIG4gCjAwMDAw
MTQ1NTMgMDAwMDAgbiAKMDAwMDAxNDY2NyAwMDAwMCBuIAowMDAwMDE0Nzc3IDAwMDAwIG4gCjAw
MDAwMTQ4OTAgMDAwMDAgbiAKMDAwMDAxNTAwMyAwMDAwMCBuIAowMDAwMDE1MTE2IDAwMDAwIG4g
CjAwMDAwMTUyMjkgMDAwMDAgbiAKMDAwMDAxNTM0MiAwMDAwMCBuIAowMDAwMDE1NDU1IDAwMDAw
IG4gCjAwMDAwMTU1NjggMDAwMDAgbiAKMDAwMDAxNTY4MSAwMDAwMCBuIAowMDAwMDE1Nzk0IDAw
MDAwIG4gCjAwMDAwMTU5MDcgMDAwMDAgbiAKMDAwMDAxNjAyMCAwMDAwMCBuIAowMDAwMDE2MTMz
IDAwMDAwIG4gCjAwMDAwMTYyNDYgMDAwMDAgbiAKMDAwMDAxNjM1NiAwMDAwMCBuIAowMDAwMDE2
NDY5IDAwMDAwIG4gCjAwMDAwMTY1ODMgMDAwMDAgbiAKMDAwMDAxNjY5MiAwMDAwMCBuIAowMDAw
MDE2ODA0IDAwMDAwIG4gCjAwMDAwMTY5MTcgMDAwMDAgbiAKMDAwMDAxNzAyOSAwMDAwMCBuIAow
MDAwMDE3MTQxIDAwMDAwIG4gCjAwMDAwMTcyNTQgMDAwMDAgbiAKMDAwMDAxNzM2NyAwMDAwMCBu
IAowMDAwMDE3NDc3IDAwMDAwIG4gCjAwMDAwMTc1ODYgMDAwMDAgbiAKMDAwMDAxNzY5NSAwMDAw
MCBuIAowMDAwMDE3ODA1IDAwMDAwIG4gCjAwMDAwMTc5MTUgMDAwMDAgbiAKMDAwMDAxODAyNSAw
MDAwMCBuIAowMDAwMDE4MTM1IDAwMDAwIG4gCjAwMDAwMTgzMTIgMDAwMDAgbiAKMDAwMDAxODQ4
OSAwMDAwMCBuIAowMDAwMDE4NjY2IDAwMDAwIG4gCjAwMDAwMTg4NDMgMDAwMDAgbiAKMDAwMDAx
OTAyMCAwMDAwMCBuIAowMDAwMDE5MTk3IDAwMDAwIG4gCjAwMDAwMTkzNzQgMDAwMDAgbiAKMDAw
MDAxOTU1MSAwMDAwMCBuIAowMDAwMDE5NzI4IDAwMDAwIG4gCjAwMDAwMTk5MDUgMDAwMDAgbiAK
MDAwMDAyMDA4MiAwMDAwMCBuIAowMDAwMDIwMjU5IDAwMDAwIG4gCjAwMDAwMjA0MzYgMDAwMDAg
biAKMDAwMDAyMDYxMyAwMDAwMCBuIAowMDAwMDIwNzkwIDAwMDAwIG4gCjAwMDAwMjA5NjMgMDAw
MDAgbiAKMDAwMDAyMTE0MCAwMDAwMCBuIAowMDAwMDIxMzE4IDAwMDAwIG4gCjAwMDAwMjE0OTYg
MDAwMDAgbiAKMDAwMDAyMTY3NCAwMDAwMCBuIAowMDAwMDIxODUyIDAwMDAwIG4gCjAwMDAwMjIw
MzAgMDAwMDAgbiAKMDAwMDAyMjIwOCAwMDAwMCBuIAowMDAwMjE4MjkwIDAwMDAwIG4gCjAwMDAy
MTgxNTIgMDAwMDAgbiAKMDAwMDA1MzE4NSAwMDAwMCBuIAowMDAwMDM4NTMxIDAwMDAwIG4gCjAw
MDAwNjc5MDcgMDAwMDAgbiAKMDAwMDA1MzM2OCAwMDAwMCBuIAowMDAwMDgyNDgyIDAwMDAwIG4g
CjAwMDAwNjgwOTAgMDAwMDAgbiAKMDAwMDA5OTAyOSAwMDAwMCBuIAowMDAwMDgyNjU0IDAwMDAw
IG4gCjAwMDAxMjM5NzEgMDAwMDAgbiAKMDAwMDA5OTIxMiAwMDAwMCBuIAowMDAwMDk5NDI3IDAw
MDAwIG4gCjAwMDAwOTk2NDIgMDAwMDAgbiAKMDAwMDA5OTg1NyAwMDAwMCBuIAowMDAwMTAwMDcy
IDAwMDAwIG4gCjAwMDAxMDAyODggMDAwMDAgbiAKMDAwMDEwMDUwNCAwMDAwMCBuIAowMDAwMTAw
NzIwIDAwMDAwIG4gCjAwMDAxMDA5MzYgMDAwMDAgbiAKMDAwMDEwMTE1MSAwMDAwMCBuIAowMDAw
MTAxMzY2IDAwMDAwIG4gCjAwMDAxMDE1ODIgMDAwMDAgbiAKMDAwMDEwMTc5OCAwMDAwMCBuIAow
MDAwMTAyMDE0IDAwMDAwIG4gCjAwMDAxMDIyMzAgMDAwMDAgbiAKMDAwMDEwMjQ0NiAwMDAwMCBu
IAowMDAwMTAyNjYyIDAwMDAwIG4gCjAwMDAxMDI4NzggMDAwMDAgbiAKMDAwMDEwMzA5NCAwMDAw
MCBuIAowMDAwMTAzMzA1IDAwMDAwIG4gCjAwMDAxMDM1MjAgMDAwMDAgbiAKMDAwMDEwMzczNiAw
MDAwMCBuIAowMDAwMTAzOTUyIDAwMDAwIG4gCjAwMDAxMDQxNjggMDAwMDAgbiAKMDAwMDEwNDM4
NCAwMDAwMCBuIAowMDAwMTA0NjAwIDAwMDAwIG4gCjAwMDAxMDQ4MTYgMDAwMDAgbiAKMDAwMDEw
NTAzMiAwMDAwMCBuIAowMDAwMTA1MjQ4IDAwMDAwIG4gCjAwMDAxMDU0NjQgMDAwMDAgbiAKMDAw
MDEwNTY4MCAwMDAwMCBuIAowMDAwMTA1ODk2IDAwMDAwIG4gCjAwMDAxMDYxMTIgMDAwMDAgbiAK
MDAwMDEwNjMyOCAwMDAwMCBuIAowMDAwMTA2NTQ0IDAwMDAwIG4gCjAwMDAxMDY3NTkgMDAwMDAg
biAKMDAwMDEwNjk3NCAwMDAwMCBuIAowMDAwMTA3MTkwIDAwMDAwIG4gCjAwMDAxMDc0MDYgMDAw
MDAgbiAKMDAwMDEwNzYyMiAwMDAwMCBuIAowMDAwMTA3ODM4IDAwMDAwIG4gCjAwMDAxNDUwNDcg
MDAwMDAgbiAKMDAwMDEyNDQ4MiAwMDAwMCBuIAowMDAwMTI0NjE0IDAwMDAwIG4gCjAwMDAxMjQ3
NDYgMDAwMDAgbiAKMDAwMDEyNDg3OCAwMDAwMCBuIAowMDAwMTI1MDEwIDAwMDAwIG4gCjAwMDAx
MjUxNDIgMDAwMDAgbiAKMDAwMDEyNTI3NCAwMDAwMCBuIAowMDAwMTI1NDAxIDAwMDAwIG4gCjAw
MDAxMjU1MzEgMDAwMDAgbiAKMDAwMDEyNTY2MiAwMDAwMCBuIAowMDAwMTI1Nzk0IDAwMDAwIG4g
CjAwMDAxMjU5MjYgMDAwMDAgbiAKMDAwMDE0NTk0NCAwMDAwMCBuIAowMDAwMTY4NDM2IDAwMDAw
IG4gCjAwMDAxNjg2MjcgMDAwMDAgbiAKMDAwMDE2OTA2NyAwMDAwMCBuIAowMDAwMTY5NzY5IDAw
MDAwIG4gCjAwMDAyMDEzOTIgMDAwMDAgbiAKMDAwMDIwMTU3NCAwMDAwMCBuIAowMDAwMjAyMTUw
IDAwMDAwIG4gCjAwMDAyMDMwMjEgMDAwMDAgbiAKMDAwMDIxNzIwNiAwMDAwMCBuIAowMDAwMjE3
Mzk2IDAwMDAwIG4gCjAwMDAyMTc3MzIgMDAwMDAgbiAKMDAwMDIxODQwMyAwMDAwMCBuIAowMDAw
MjE4OTA5IDAwMDAwIG4gCjAwMDAyMTg5NDUgMDAwMDAgbiAKMDAwMDIyMTc5NSAwMDAwMCBuIAow
MDAwMjIxODc1IDAwMDAwIG4gCnRyYWlsZXIKPDwvUm9vdCAyODkgMCBSL0lEIFs8ZGMzMTdiOWMy
OGYwNDcwZGI4ZDdmZWFjZmY2YzFmZmE+PDJhYTM1OGViOTcyOTc3OGMwOGM3MGQ2MjVmZWVkOGI1
Pl0vSW5mbyAyOTAgMCBSL1NpemUgMjkxPj4Kc3RhcnR4cmVmCjIyMjA3NAolJUVPRgo=
--0016364d27f109070004acc59bdb--

From Jeff.Hodges@KingsMountain.com  Mon Sep 12 16:51:25 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0745421F8E15 for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 16:51:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.121
X-Spam-Level: 
X-Spam-Status: No, score=-99.121 tagged_above=-999 required=5 tests=[AWL=-1.640, BAYES_40=-0.185, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, J_CHICKENPOX_48=0.6, RDNS_NONE=0.1, 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 JjaLXPPRLNF5 for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 16:51:23 -0700 (PDT)
Received: from oproxy9.bluehost.com (oproxy9.bluehost.com [IPv6:2605:dc00:100:2::a2]) by ietfa.amsl.com (Postfix) with SMTP id 58DBB21F8DD5 for <websec@ietf.org>; Mon, 12 Sep 2011 16:51:23 -0700 (PDT)
Received: (qmail 32116 invoked by uid 0); 12 Sep 2011 23:53:27 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by oproxy9.bluehost.com with SMTP; 12 Sep 2011 23:53:27 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=VFVLu6bzbWBh7FGMxMJ0ReUFrLqmnhUMrcePBqp3l9c=;  b=CekDJYHTEcA0ty+YwevGjPmm/xDBCoW2LrAU5f13GcaVPo0kzHNsOflfthUJpqlGoywuwocRgYSGwf8wggIbowTy99sT69mQfC9UZ/39kFwyQ83A9v06ARYMMYqtyJnb;
Received: from outbound4.ebay.com ([216.113.168.128] helo=[10.244.136.218]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R3GJa-00015L-VJ for websec@ietf.org; Mon, 12 Sep 2011 17:53:27 -0600
Message-ID: <4E6E9B77.1020802@KingsMountain.com>
Date: Mon, 12 Sep 2011 16:53:27 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
Content-Type: multipart/mixed; boundary="------------070305020800080208040402"
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 216.113.168.128 authed with jeff.hodges+kingsmountain.com}
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Sep 2011 23:51:25 -0000

This is a multi-part message in MIME format.
--------------070305020800080208040402
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

 > Chris Evans and I work at Google on the Chrome security team. We have
 > devised this specification for a new extension to Strict Transport
 > Security to allow site operators to "pin" certificates: UAs will
 > require that TLS connections be validated with at least one of the
 > public keys identified in the new "pins" directive in the HSTS header.
 > (Sites can pin to one or more public keys in end entity, subordinate
 > CA, and/or root CA certificates, for flexibility and disaster
 > recovery.)
 >
 > We hope that this mechanism opens up the benefits of certificate
 > pinning to more sites. Currently, Chrome can "pre-load" HSTS behavior
 > and certificate pins for sites, but the mechanism for doing this
 > (email us!) does not scale.
 >
 > We eagerly anticipate your comments, questions, concerns, et c. As you
 > can see from the Ideas section, there are some unanswered questions
 > about the behavior of UAs and hosts, and possible extensions to the
 > policy.

This is great, thanks for posting this here.

I have various comments on it I'll try to get to in the next day or so.

During HSTS's gestation, various parties have discussed potential "LockCA" and 
"LockEV" directives ostensibly having similar semantics to what you've proposed 
here (see talk slides from last few websec sessions at IETF meetings). (though 
I think recent events pretty much obviate those nominal ideas because they'd 
relied on the resilience of one's CA and the CA infrastructure (oops))

Having a proposal such as this with a bunch of the background thinking (eg 
potential deployment downsides (aka "disasters")) noted down will help us on 
our way here.

I've taken the liberty of re-formatting the document in plain text (attached), 
which will better facilitate discussion hereabouts. A next step will be to 
re-format it as an Internet-Draft and get it submitted (I volunteer to help you 
out with that).

thanks again,

=JeffH



--------------070305020800080208040402
Content-Type: text/plain;
 name="CertificatePinningExtensionforHSTS.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="CertificatePinningExtensionforHSTS.txt"

Certificate Pinning Extension for HSTS

By Chris Evans cevans@google.com and Chris Palmer palmer@google.com
Last updated 12 Sep 2011


Certificate Pinning Extension for HSTS
  Introduction
  Server and Client Behavior
    Revocation
    Un-pinning
  Risks of Pinning, and Mitigations
    Deployment Guidance
    Disasters Relating to Compromises of Certificates
    Disasters Relating to Certificate Mismanagement
    Disasters Relating to Vulnerabilities in the Known HSTS Host
  Interactions With Built-in HSTS Lists
  Usability Considerations
  Economic Considerations
  Ideas
    Pin Revocation
    Requiring Backup Pins
    Prepopulating Pin Lists with Googlebot
    Tools to Assist Creation of Header (nlidz)
    Visibility Into the Chain of Trust (nlidz)
    Pinning Subresources
    Pinning Without Requiring HTTPS




Introduction
------------

We propose to extend the HSTS HTTP header to enable a web site to
express to UAs which certificate(s) UAs may expect to be present in the
site's certificate chain in future connections. We call this
"certificate pinning". The Chrome/ium browser ships with a static set of
pins, and individual users can extend the set of pins
(chrome://net-internals/#hsts). Although effective, this does not scale.
This proposal addresses the scale problem.

Deploying certificate pinning safely will require operational and
organizational maturity due to the risk that HSTS Hosts may "brick"
themselves by pinning to a certificate that becomes invalid. We discuss
potential mitigations for those risks. We believe that, with care, site
operators can greatly reduce the risk of MITM attacks and other
false-authentication problems for their users without incurring undue
risk of bricking the site.

This document extends the version of HSTS defined in
http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-02 and
follows that document's notational and naming conventions.


Server and Client Behavior
--------------------------

To set a pin, HSTS Hosts use a new STS extension directives (STS-d-ext)
in their HSTS response header field: pins.


STS-d-ext-pin    =        "pins" OWS "=" OWS [fingerprints]

fingerprints     =        fingerprint
                          / fingerprint "," fingerprints

fingerprint      =        fp-type "/" base64-digits

fp-type          =        "sha1"
                          / "sha256"


Here is an example response header field using the pins extension
[folded for clarity]:

  Strict-Transport-Security: max-age=500; includeSubDomains;
    pins=sha1/4n972HfV354KP560yw4uqe/baXc=,
    sha1/IvGeLsbqzPxdI0b0wuj2xVTdXgc=


Upon receipt of this header field, the UA will note the HSTS Host as a
Known Pinned HSTS Host. When connecting to a Known Pinned HSTS Host, the
UA will compare the public key fingerprint(s) in the Host's certificate
chain to the pinned fingerprints, and will fail closed unless at least
one public key in the chain has a fingerprint matching one of the pinned
fingerprints. (Following the HSTS specification, TLS errors for HSTS
sites must be hard, with no chance for the user to click through any
warnings or errors. We treat fingerprint mismatch in the same way.)

The pin list appearing in an HSTS header MUST have at least one pin
matching one of the public key fingerprints in the chain that was
validated for the HTTPS connection. This defends against HTTP header
injection attacks (see below).

UAs MUST cache pins for Known Pinned HSTS Hosts, and MIGHT AS WELL do so
in the same manner as other HSTS metadata. If the maxAge directive is
present in the HSTS response header, the HSTS metadata -- including
fingerprints in the pins directive -- expire at that time.


Revocation

In the event of pin mismatch, clients MUST check whatever revocation
mechanism is available, and attempt to discover whether the certificate
with the mismatching fingerprint has been revoked. For example:

  offending_certificate = cert in certificate_chain where
      cert.public_key.fingerprint == mismatched_fingerprint


  revoked = offending_certificate.serial_number in revoked_serials


If the offending certificate has been revoked, it is unpinned and the UA
can re-evaluate the pin list. If there are no pinned fingerprints left
on the pin list, the browser downgrades the host from Known Pinned HSTS
Host to Known HSTS Host.

The revocation mechanism could be an extant mechanism such as CRL or
OCSP, or a new one such as browser updates, whitelists, blacklists, or
an in-built CRL. This document is agnostic about the revocation
mechanism(s) UAs may use.


Un-pinning

Certificates that are invalidated for any reason and by any means --
revocation by extant or future means, expiration, blacklisting -- are
effectively removed from the pin list. Certificates whose intermediary
or root signers are revoked are also effectively invalidated and removed
from the pin list.

HSTS Hosts can un-set pins in clients (un-pin) by setting a pins
directive that contains no pins. UAs MUST NOT obey the un-pinning
directive unless the empty pins directive is set on a response in a TLS
connection that was authenticated with one of the previously pinned
public keys.


Risks of Pinning, and Mitigations
---------------------------------

Deployment Guidance

To recover from disasters of various types, as described below, we
recommend that HSTS Hosts follow these guidelines.


* Have a safety net. Generate a backup key pair, get it signed by a
different (root and/or intermediary) CA than your live certificate(s),
and store it safely offline. Set this backup pin in your pins directive.

  * Having a backup certificate was always a good idea anyway.

* It is most economical to have the backup pin signed by a completely
different signature chain than the live certificate, to maximize
recoverability in the event of either root or intermediary signer
compromise.

* Periodically exercise your backup pin plan -- an untested backup is no
backup at all.

* Have a diverse certificate portfolio. Pin to a few different roots --
owned by different companies if possible.

* Start small. Set a maxAge of minutes or a few hours. Gradually
increase maxAge as you gain confidence in your operational capability.

  * But your backup pin won't fail, because you periodically test it.

* Pre-establish contacts at browser vendors to discuss last-ditch
options and response time.


Disasters Relating to Compromises of Certificates
-------------------------------------------------

Disaster: the private key for your pinned leaf is lost or stolen.

* If you set a backup pin, you have a smooth transition. Deploy it.

* You SHOULD attempt to get the certificate revoked by whatever means
available (extant revocation mechanisms like CRL or OCSP, blacklisting
in the UA, or future revocation mechanisms). If the browser is able to
learn of the revocation/blacklisting, it will un-pin the certificate.

  * Note that extant revocation mechanisms are known to be unreliable.
Do not depend on them.

* If you also pinned to roots or intermediaries, simply get a new leaf
re-issued from one of those.

  * You could also pin multiple leaves, as well as to multiple signers,
and have the spare leaf ready to go.


Disaster: your root or intermediary CA is compromised.

* This disaster will affect many sites (HSTS Hosts and other), and will
likely require a client software update (e.g. to revoke the signing CA
and/or the false certificates it issued).

* Certificates that are invalidated for any reason and by any means are
effectively un-pinned, allowing sites to gracefully degrade from Known
Pinned HSTS Host to Known HSTS Host.

* If you have a backup pin whose signature chain is still valid, deploy
it. In this case, your site need not even degrade from Known Pinned to
Known.



Disasters Relating to Certificate Mismanagement
-----------------------------------------------

Disaster: your leaf certificate expires.

* Deploy your backup pin.

* Note that when evaluating a pinned certificate, the UA MUST un-pin the
fingerprint if the certificate has expired. If a pin list becomes empty,
the UA downgrades the host from Known Pinned HSTS Host to Known HSTS
Host. The usual HTTPS validation procedure now applies.

* Get any CA to sign a new cert with updated expiry, based on your
existing, unchanged public key.

  * And/or, deploy your backup pin and/or have a CA sign an all-new key.

  * Continue to set pins in your HSTS header, and UAs will upgrade from
Known HSTS Host to Known Pinned HSTS Host when the fingerprint(s)
refer(s) to valid certificate(s) again.

* Beware that if you pin to a cert that expires plus a non-expired cert
for which you have lost your key pair, you're in trouble.



Disaster: your CA is extorting you approaching renewal / expiry time.

* If your backup pin chains to a different signer, deploy it. (Then get
a new backup pin.)

* The time running up to renewal can be used to serve additional HSTS
public key hashes, pinning to new root CAs.

  * Hosts can also disable pinning altogether as described above.

* If you are pinned to leaves or your own intermediary, you can simply
get a different root CA to sign your existing public key.

* If you fail to get new certs in time, and you are pinned only to the
one root CA, the solution is simple; see the section on leaf certificate
expiry above.



Disasters Relating to Vulnerabilities in the Known HSTS Host
------------------------------------------------------------

Disaster: your site has HTTP header injection.

* The attacker could set additional pins for certificates he controls,
for arbitrary maxAges, allowing him to undetectably MITM clients.

  * Combined with a successful MITM attack later, the attacker could
brick the site (for particular users in the scope of the MITM) by
pinning only fingerprints that he controls.

* The attacker could disable HSTS and pins.

* Header injection vulnerabilities are in general more severe than
merely disabling pinning for individual users.


Disaster: your site suffers full server-side compromise.

* The attacker could set pins for public keys they control -- including,
now, the host's formerly-legitimate keys -- and set a high maxAge to get
clients to pin to the attacker's impostor site for a long time. For as
long as the attacker can get UAs to visit the impostor site rather than
the true site, UAs will believe they are pinned to a legitimate host.
(After the attacker loses the power to direct UAs to the impostor site,
but before the pin hits its maxAge, the result is DoS.) Recovering from
this is likely to require extraordinary measures such as pin revocation
(see Ideas, below).

* Because the solution is pin revocation (see below), this is a
catastrophic failure.



Interactions With Built-in HSTS Lists
-------------------------------------

UAs MAY choose to implement built-in certificate pins, alongside any
built-in HSTS opt-in list. UAs MUST allow users to override a built-in
pin list, including turning it off.

Where HSTS response header field directives conflict with built-in HSTS
metadata, the response header overrides the built-in metadata. If the
response header is partial, e.g. if it lacks a pins directive, the
built-in metadata (e.g. pins) still applies. UAs SHOULD implement this
behavior by first initializing HSTS metadata from the built-in set (if
any), then update that set with saved metadata from HSTS response header
fields, and then continually update the set as new HSTS response header
fields arrive.



Usability Considerations
------------------------

When pinning works to detect impostor Known Pinned HSTS Hosts, users
will experience denial of service. UAs SHOULD explain the reason why. If
it happens that true positives (actual attacks) outnumber false
positives (sites bricking themselves by accident), the feature will gain
a positive reputation. Note that pinning has started life with a good
reputation because it provoked the discovery of the DigiNotar CA
compromise. (When DigiNotar signed a certificate for *.google.com in
August 2011, Chrome users discovered the attack due to the pre-loaded
pins for Google domains.)

We believe that, in general, DoS is a better failure mode than user
account/session compromise or other result of TLS compromise.

UAs MUST have a way for users to clear current pins that were set by
HSTS. UAs SHOULD have a way for users to query the current state of
Known (Pinned) HSTS Hosts.



Economic Considerations
-----------------------

If pinning becomes common, site operators might become incentivized to
choose CAs that get compromised less often, or respond better to
compromise. This will require information to flow into the market, and
for people to interpret no news post-compromise as bad news. Pinning
itself will provide some of that information, as will sources like UA
vendor communications, the EFF SSL Observatory, the Qualys SSL survey,
etc.

The disaster recovery plans described above all incur new costs for site
operators, and increase the size of the certificate market. Arguably,
well-run sites had already absorbed these costs because (e.g.) backup
certificates from different CAs were necessary disaster recovery
mechanisms even before certificate pinning. Small sites -- which
although small might still need to provide good security -- may not be
able to afford the disaster recovery mechanisms we recommend. (The cost
of the backup certificate is not the issue; it is more the operational
costs in safely storing the backup and testing that it works.) Thus,
low-risk pinning may be available only to large sites; small sites may
have to choose no pinning or potentially bricking their site (up to the
maxAge window). This is not worse than the status quo.



Ideas
-----

Pin Revocation

To un-brick hosts in a less-unscalable way, the UA vendor could send the
UA updates about pins to revoke, and then clients note the host as Known
HSTS instead of Known Pinned HSTS. Host operators could request of UA
vendors to revoke a pin. This could be part of agl's CRL replacement
plan, or it could be a different update system. Messages could be signed
with a private key matching a public key baked into the UA.

Any revocation-related idea interacts with agl's proposed replacement
for CRLs/OCSP:

  <https://docs.google.com/a/google.com/document/d
  /1Lndc89nZDm8MMsbR6Hgee9xM2EbVWLKLsJwsTvUz5E4/edit?hl=en_US>


Requiring Backup Pins

Because bricking risk mitigation requires a backup pin, UAs could
require that the pins directive have at least two fingerprints, at least
one of which does not match any of the public keys in any of the
certificates in the chain. (This idea due to tsepez.)


Prepopulating Pin Lists with Googlebot

To deal with the bootstrap problem, why not inform Chrome of what
Googlebot sees?


Tools to Assist Creation of Header (nlidz)

Provide tools that take x509 certificates and offer header to add to
webserver configuration.

Provide webserver / webapp helpers that would ensure header is safe (I
guess this is taken care of by the fallback in case of signature
mismatch on first pinning encounter) and working.


Visibility Into the Chain of Trust (nlidz)

For full protection, websites need to pin external resources loaded
(like ssl.gstatic.com for mail.google.com). It gets to be a similar
battle to mixed content.


Pinning Subresources

Many sites have pages that load subresources from domains not under the
control, or under only partial control, of the main site's operators.
For example, popular sites often use CDNs, and CDN customers may have
only limited, if any, ability to influence the configuration of the
CDN's servers. (This long-standing problem is independent of certificate
pinning.)

To a limited extent, the includeSubDomains HSTS directive can address
this: if the CDN site has a name that is a subdomain of the main site
(e.g. assets-from-cdn.example.com points to CDN-owned servers), and if
the main site's operators can guaranteeably keep up-to-date with the
CDN's server certificate fingerprints -- perhaps as part of
example.com's contract with the CDN -- then the problem may be solved.

CDNs MAY, and SHOULD, also use certificate pinning independently of any
of their customers.

Although one can imagine an extension to this specification allowing the
main resource to set pins for subresources in other domains, it is
complex and fragile both from technical and business perspectives. The
UA would have to accept those pins for the subresource domains ONLY when
loading resources from the subdomains as part of a page load of the main
site. The independence of the two domains' operations teams would still
pose synchronization problems, and potentially increase the bricking
risk.

Therefore, except in simple cases, this document leaves the cross-domain
subresource problem to future work. Operational experience with
HSTS-based certificate pinning should guide the development of a plan to
handle the problem.


Pinning Without Requiring HTTPS

Some site operators would like to take advantage of certificate pinning
without requiring HTTPS, but having clients require pins in the event
that they do connect to the site with HTTPS. As specified above, the
current HSTS-based mechanism does not allow for this: clients that
receive the pins directive via HSTS will also therefore require HTTPS --
that is the purpose of HSTS after all. To have an additional directive,
e.g. mode=optional, would not work because older clients that support
HSTS but not the mode extension would effectively require HTTPS.

Alternatives include (a) putting the pins directive in a new header
instead of extending HSTS; and (b) some kind of hack like setting
maxAge=0 and having an additional directive to keep the pins alive (e.g.
pinMaxAge). These alternatives seem ugly to us and we welcome
suggestions for a better way to support this deployment scenario.

---
end

--------------070305020800080208040402--

From rbarnes@bbn.com  Mon Sep 12 17:52:16 2011
Return-Path: <rbarnes@bbn.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C218D21F8DBC for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 17:52:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.604
X-Spam-Level: 
X-Spam-Status: No, score=-106.604 tagged_above=-999 required=5 tests=[AWL=-0.005, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, 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 IrO1phAuGvCZ for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 17:52:15 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by ietfa.amsl.com (Postfix) with ESMTP id D26CF21F8D8A for <websec@ietf.org>; Mon, 12 Sep 2011 17:52:15 -0700 (PDT)
Received: from [128.89.253.131] (port=65335 helo=[192.168.1.3]) by smtp.bbn.com with esmtps (TLSv1:AES128-SHA:128) (Exim 4.74 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1R3HGR-000IWE-2F; Mon, 12 Sep 2011 20:54:15 -0400
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset=us-ascii
From: "Richard L. Barnes" <rbarnes@bbn.com>
In-Reply-To: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
Date: Mon, 12 Sep 2011 20:54:13 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <498A0E83-7C80-4226-9D69-7A7E93D8C929@bbn.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
To: Chris Palmer <palmer@google.com>
X-Mailer: Apple Mail (2.1084)
Cc: Chris Evans <cevans@google.com>, websec@ietf.org
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 00:52:16 -0000

Hey Chris & Chris,

This seems like a useful near-term approach, but also probably something =
that might want to migrate to DANE over time.

Is there any particular reason you're using key fingerprints instead of =
cert fingerprints?  It seems like the latter might be slightly easier to =
implement, since you don't have to parse the cert.

--Richard



On Sep 12, 2011, at 5:56 PM, Chris Palmer wrote:

> Hi all,
>=20
> Chris Evans and I work at Google on the Chrome security team. We have
> devised this specification for a new extension to Strict Transport
> Security to allow site operators to "pin" certificates: UAs will
> require that TLS connections be validated with at least one of the
> public keys identified in the new "pins" directive in the HSTS header.
> (Sites can pin to one or more public keys in end entity, subordinate
> CA, and/or root CA certificates, for flexibility and disaster
> recovery.)
>=20
> We hope that this mechanism opens up the benefits of certificate
> pinning to more sites. Currently, Chrome can "pre-load" HSTS behavior
> and certificate pins for sites, but the mechanism for doing this
> (email us!) does not scale.
>=20
> We eagerly anticipate your comments, questions, concerns, et c. As you
> can see from the Ideas section, there are some unanswered questions
> about the behavior of UAs and hosts, and possible extensions to the
> policy.
> =
<CertificatePinningExtensionforHSTS.pdf>__________________________________=
_____________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec


From sm@resistor.net  Mon Sep 12 17:52:33 2011
Return-Path: <sm@resistor.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E565F21F8DC6 for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 17:52:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.578
X-Spam-Level: 
X-Spam-Status: No, score=-102.578 tagged_above=-999 required=5 tests=[AWL=0.021, 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 G1bFpNCsgymD for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 17:52:33 -0700 (PDT)
Received: from mx.ipv6.elandsys.com (mx.ipv6.elandsys.com [IPv6:2001:470:f329:1::1]) by ietfa.amsl.com (Postfix) with ESMTP id 86C1021F8D8A for <websec@ietf.org>; Mon, 12 Sep 2011 17:52:31 -0700 (PDT)
Received: from SUBMAN.resistor.net (IDENT:sm@localhost [127.0.0.1]) by mx.elandsys.com (8.14.4/8.14.5) with ESMTP id p8D0sL4I016663; Mon, 12 Sep 2011 17:54:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=opendkim.org; s=mail2010; t=1315875268; bh=K/bCdDgFjOa5xjJDlTD3Nx8tlxZhFTSEcYkA3dYH+/o=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type; b=wkCBH+zMJ7pJVZRea4gd26za6jBDsGFdofBPcgx5CkV0P5SJzh58Ib92rTAj9oW// B3nPgwoNo4+IHw0DWa8khdRc32Kni5XxzD9/j7Two728PTGgAmXNz1v5tZJMDLO2GH 2UHm/TPROfVkc69RwLasm8VMD+IYfyJzG64nwiaA=
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=resistor.net; s=mail; t=1315875268; bh=K/bCdDgFjOa5xjJDlTD3Nx8tlxZhFTSEcYkA3dYH+/o=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type; b=c/XXwWhTkHnRxTR7GF5lGTxi1fi8tyYjOAMQd2Oq8SSSWiKoBR+C09vViSj+dvBEh aN8p3gJcoCoLbCeTI7ishCjXmwtJwpq4+2uKrRSYIVXHA1uMTBGZtB1lgROKOGrRZg kMCFmUVGl2kG0B8QCSnxok8+5MVu5+ylyuYiSvLQ=
Message-Id: <6.2.5.6.2.20110912174725.0a6aae28@resistor.net>
X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6
Date: Mon, 12 Sep 2011 17:51:17 -0700
To: Chris Palmer <palmer@google.com>
From: SM <sm@resistor.net>
In-Reply-To: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.g mail.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
Cc: Chris Evans <cevans@google.com>, websec@ietf.org
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 00:52:34 -0000

Hi Chris,
At 14:56 12-09-2011, Chris Palmer wrote:
>Chris Evans and I work at Google on the Chrome security team. We have
>devised this specification for a new extension to Strict Transport

[snip]

>We eagerly anticipate your comments, questions, concerns, et c. As you

Would it be possible for you to post the specification as an Internet-Draft?

Thanks,
-sm 


From Jeff.Hodges@KingsMountain.com  Mon Sep 12 18:40:40 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7120121F8C94 for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 18:40:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.652
X-Spam-Level: 
X-Spam-Status: No, score=-100.652 tagged_above=-999 required=5 tests=[AWL=-0.157, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, 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 CUTd9bmU5eIu for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 18:40:39 -0700 (PDT)
Received: from oproxy3-pub.bluehost.com (oproxy3.bluehost.com [IPv6:2605:dc00:100:2::a3]) by ietfa.amsl.com (Postfix) with SMTP id BD1B921F8C92 for <websec@ietf.org>; Mon, 12 Sep 2011 18:40:39 -0700 (PDT)
Received: (qmail 27633 invoked by uid 0); 13 Sep 2011 01:42:44 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by oproxy3.bluehost.com with SMTP; 13 Sep 2011 01:42:44 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=+7Ay+hPe93KnBY3CboIXTnNmh/Di4v6XmHJVKQeacVs=;  b=jaSCbe97jnMxLGUQYGcAgLg1l4Y4v2902Y0MeskaEieDzJaRz9fQ3zwt2IG/fXQe/OYqhHm1Q7wM6JPjks4jhBmJghHZ4ZwkCEMiM0vQbXEslL4C0V4ubHhu8EB5dIT7;
Received: from c-24-4-122-173.hsd1.ca.comcast.net ([24.4.122.173] helo=[192.168.11.10]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R3I1M-00045E-6S for websec@ietf.org; Mon, 12 Sep 2011 19:42:44 -0600
Message-ID: <4E6EB513.1070704@KingsMountain.com>
Date: Mon, 12 Sep 2011 18:42:43 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 24.4.122.173 authed with jeff.hodges+kingsmountain.com}
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 01:40:40 -0000

rbarnes@bbn.com said:
 >
 > This seems like a useful near-term approach, but also probably something that
 > might want to migrate to DANE over time.

sure, tho it's going to take a while (eg before browsers hard-fail on 
assurances sourced via Secure DNS). See..

[dane] A browser's myopic view
https://www.ietf.org/mail-archive/web/dane/current/msg02354.html


 > Is there any particular reason you're using key fingerprints instead of cert
 > fingerprints?  It seems like the latter might be slightly easier to
 > implement, since you don't have to parse the cert.

I assume it's because the certificates public keys are embedded within, in 
practice, can change without the key pairs themselves changing.

The rationale ought to of course be noted in the spec.

=JeffH




From rbarnes@bbn.com  Mon Sep 12 18:43:22 2011
Return-Path: <rbarnes@bbn.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 96B0921F8C9C for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 18:43:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.603
X-Spam-Level: 
X-Spam-Status: No, score=-106.603 tagged_above=-999 required=5 tests=[AWL=-0.004, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, 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 1nABiBVrXHmS for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 18:43:22 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by ietfa.amsl.com (Postfix) with ESMTP id 0576321F8C9B for <websec@ietf.org>; Mon, 12 Sep 2011 18:43:21 -0700 (PDT)
Received: from [128.89.253.131] (port=49199 helo=[192.168.1.3]) by smtp.bbn.com with esmtps (TLSv1:AES128-SHA:128) (Exim 4.74 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1R3I3y-000IpS-9c; Mon, 12 Sep 2011 21:45:26 -0400
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset=us-ascii
From: "Richard L. Barnes" <rbarnes@bbn.com>
In-Reply-To: <4E6EB513.1070704@KingsMountain.com>
Date: Mon, 12 Sep 2011 21:45:24 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <39F6F4BC-F908-498A-A8EB-172393C80EDA@bbn.com>
References: <4E6EB513.1070704@KingsMountain.com>
To: =JeffH <Jeff.Hodges@KingsMountain.com>
X-Mailer: Apple Mail (2.1084)
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 01:43:22 -0000

> > Is there any particular reason you're using key fingerprints instead =
of cert
> > fingerprints?  It seems like the latter might be slightly easier to
> > implement, since you don't have to parse the cert.
>=20
> I assume it's because the certificates public keys are embedded =
within, in practice, can change without the key pairs themselves =
changing.
>=20
> The rationale ought to of course be noted in the spec.

Public keys can change too, of course.  And it's often the cases where =
keys need to change that are the most important! =20

In general, it seems like these "pinning" strategies do need some sort =
of provision for rollover.

--Richard=

From marsh@extendedsubset.com  Mon Sep 12 19:03:47 2011
Return-Path: <marsh@extendedsubset.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3585921F8D04 for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 19:03:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.566
X-Spam-Level: 
X-Spam-Status: No, score=-2.566 tagged_above=-999 required=5 tests=[AWL=0.033,  BAYES_00=-2.599]
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 RpFsWdDiQ6Ry for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 19:03:46 -0700 (PDT)
Received: from mho-01-ewr.mailhop.org (mho-03-ewr.mailhop.org [204.13.248.66]) by ietfa.amsl.com (Postfix) with ESMTP id 9A9B221F8CF1 for <websec@ietf.org>; Mon, 12 Sep 2011 19:03:46 -0700 (PDT)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-01-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from <marsh@extendedsubset.com>) id 1R3INj-0002PK-99; Tue, 13 Sep 2011 02:05:51 +0000
Received: from [192.168.1.15] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id 124CF6067; Tue, 13 Sep 2011 02:05:50 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX18+Qx/9q4ob/42ZneqoeuKXAIbwwHOQ3aY=
Message-ID: <4E6EBA7D.3000403@extendedsubset.com>
Date: Mon, 12 Sep 2011 21:05:49 -0500
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: Chris Palmer <palmer@google.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
In-Reply-To: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Cc: Chris Evans <cevans@google.com>, websec@ietf.org
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 02:03:47 -0000

On 09/12/2011 04:56 PM, Chris Palmer wrote:
> Hi all,
>
> Chris Evans and I work at Google on the Chrome security team. We have
> devised this specification for a new extension to Strict Transport
> Security to allow site operators to "pin" certificates: UAs will
> require that TLS connections be validated with at least one of the
> public keys identified in the new "pins" directive in the HSTS header.
> (Sites can pin to one or more public keys in end entity, subordinate
> CA, and/or root CA certificates, for flexibility and disaster
> recovery.)
>
> We hope that this mechanism opens up the benefits of certificate
> pinning to more sites. Currently, Chrome can "pre-load" HSTS behavior
> and certificate pins for sites, but the mechanism for doing this
> (email us!) does not scale.
>
> We eagerly anticipate your comments, questions, concerns, et c. As you
> can see from the Ideas section, there are some unanswered questions
> about the behavior of UAs and hosts, and possible extensions to the
> policy.

I see it used commonly in the context of SSH, but what's the definition 
of a "key fingerprint" for x509?

Would it be something like KeyID from here: ?
http://tools.ietf.org/html/draft-ietf-pkix-certid-keyid

- Marsh

From ynir@checkpoint.com  Mon Sep 12 22:51:57 2011
Return-Path: <ynir@checkpoint.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4F81921F8C04 for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 22:51:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.378
X-Spam-Level: 
X-Spam-Status: No, score=-10.378 tagged_above=-999 required=5 tests=[AWL=0.221, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 UV9itYsjwDpE for <websec@ietfa.amsl.com>; Mon, 12 Sep 2011 22:51:56 -0700 (PDT)
Received: from michael.checkpoint.com (smtp.checkpoint.com [194.29.34.68]) by ietfa.amsl.com (Postfix) with ESMTP id 0018921F8BF9 for <websec@ietf.org>; Mon, 12 Sep 2011 22:51:54 -0700 (PDT)
X-CheckPoint: {4E6EFD1E-2-1B221DC2-FFFF}
Received: from il-ex01.ad.checkpoint.com (il-ex01.ad.checkpoint.com [194.29.34.26]) by michael.checkpoint.com (8.13.8/8.13.8) with ESMTP id p8D5rokQ017628;  Tue, 13 Sep 2011 08:53:50 +0300
Received: from il-ex03.ad.checkpoint.com (194.29.34.71) by il-ex01.ad.checkpoint.com (194.29.34.26) with Microsoft SMTP Server (TLS) id 8.2.255.0; Tue, 13 Sep 2011 08:53:50 +0300
Received: from il-ex01.ad.checkpoint.com ([126.0.0.2]) by il-ex03.ad.checkpoint.com ([194.29.34.71]) with mapi; Tue, 13 Sep 2011 08:53:49 +0300
From: Yoav Nir <ynir@checkpoint.com>
To: "Richard L. Barnes" <rbarnes@bbn.com>
Date: Tue, 13 Sep 2011 08:53:29 +0300
Thread-Topic: [websec] Certificate Pinning via HSTS
Thread-Index: Acxx2YIH8hl1RblfTBee59APMwFRFw==
Message-ID: <86A71F95-AAFF-4A09-853E-3888962C4930@checkpoint.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <498A0E83-7C80-4226-9D69-7A7E93D8C929@bbn.com>
In-Reply-To: <498A0E83-7C80-4226-9D69-7A7E93D8C929@bbn.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
x-kse-antivirus-interceptor-info: scan successful
x-kse-antivirus-info: Clean
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-KSE-AntiSpam-Interceptor-Info: protection disabled
Cc: Chris Evans <cevans@google.com>, "websec@ietf.org" <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 05:51:57 -0000

On Sep 13, 2011, at 3:54 AM, Richard L. Barnes wrote:

> Hey Chris & Chris,
>=20
> This seems like a useful near-term approach, but also probably something =
that might want to migrate to DANE over time.
>=20
> Is there any particular reason you're using key fingerprints instead of c=
ert fingerprints?  It seems like the latter might be slightly easier to imp=
lement, since you don't have to parse the cert.

I can think of two reasons.=20

1. Sometimes certificates are renewed periodically with the same public key=
. This is very common for sub-CAs and less so for EE certificates, but unle=
ss it has been compromised, or NIST recommends that you double your bit-len=
gth again, there's no reason not to use the same old public key and the new=
 certificate

2. The spec talks about having a backup key pair kept offline. Although the=
 spec says that you should have that key pair signed by a different CA, you=
 can save money by not having it signed unless your "live" certificate has =
been lost or otherwise compromised. With the full automation you get with t=
oday's CAs, you can get a DV certificate in a matter of minutes. EV certifi=
cates take longer, but if you're the kind of organization that buys EV cert=
ificates, you might want a backup plan that includes a signed certificate.=

From agl@google.com  Tue Sep 13 01:57:14 2011
Return-Path: <agl@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B9BD421F8B9B for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 01:57:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.917
X-Spam-Level: 
X-Spam-Status: No, score=-105.917 tagged_above=-999 required=5 tests=[AWL=0.060, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 NG5Vz+RVXnlS for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 01:57:13 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id 9965E21F850E for <websec@ietf.org>; Tue, 13 Sep 2011 01:57:13 -0700 (PDT)
Received: from wpaz9.hot.corp.google.com (wpaz9.hot.corp.google.com [172.24.198.73]) by smtp-out.google.com with ESMTP id p8D8xHXO021540 for <websec@ietf.org>; Tue, 13 Sep 2011 01:59:18 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315904358; bh=ro9aZSLOagKNBfPabm4eULdpEoc=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=RV8OCLFzLtcthGsUc1/abY2iMvfzadvOrf2mpx3Ee3Zh+Eaw5v+XxEpsgiBrQ0KOG LxvSlzkqm0fWydWxxCvHA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:cc:content-type:x-system-of-record; b=Vkc03V+ueJ//csDOl5O3+zzb554b+GMNYGWpqDReV88GKXIarWdjU8a3Q5563Dhig Dm6Si/hOesKEqdtDEx2Rg==
Received: from yie13 (yie13.prod.google.com [10.243.66.13]) by wpaz9.hot.corp.google.com with ESMTP id p8D8xEIJ019660 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 01:59:16 -0700
Received: by yie13 with SMTP id 13so347318yie.11 for <websec@ietf.org>; Tue, 13 Sep 2011 01:59:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=shwDbREn3jNTIc+qWH7GDODHuZQIu6zSIKxEqKesP5I=; b=eAcYiB0xCHiEtVorSuSwrgN+Bndq8q8wOsyV3s0DScFtBD8jpaacKMwzRLDGDWe999 5hM9wl0eB2VrOyJ/r8kQ==
Received: by 10.231.65.72 with SMTP id h8mr9038969ibi.47.1315904353368; Tue, 13 Sep 2011 01:59:13 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.65.72 with SMTP id h8mr9038957ibi.47.1315904353091; Tue, 13 Sep 2011 01:59:13 -0700 (PDT)
Received: by 10.231.19.137 with HTTP; Tue, 13 Sep 2011 01:59:12 -0700 (PDT)
In-Reply-To: <86A71F95-AAFF-4A09-853E-3888962C4930@checkpoint.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <498A0E83-7C80-4226-9D69-7A7E93D8C929@bbn.com> <86A71F95-AAFF-4A09-853E-3888962C4930@checkpoint.com>
Date: Tue, 13 Sep 2011 04:59:12 -0400
Message-ID: <CAL9PXLxcg4jM=4ox_CMjtK_WD_AteiuciVQr7JLfL-C1AjJwxA@mail.gmail.com>
From: Adam Langley <agl@google.com>
To: Yoav Nir <ynir@checkpoint.com>
Content-Type: text/plain; charset=UTF-8
X-System-Of-Record: true
Cc: Chris Evans <cevans@google.com>, "websec@ietf.org" <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 08:57:14 -0000

On Tue, Sep 13, 2011 at 1:53 AM, Yoav Nir <ynir@checkpoint.com> wrote:
> I can think of two reasons.

You're basically right. Quoting from my
http://www.imperialviolet.org/2011/05/04/pinning.html

"In general, hashing certificates is the obvious solution, but the
wrong one. The problem is that CA certificates are often reissued:
there are multiple certificates with the same public key, subject name
etc but different extensions or expiry dates. Browsers build
certificates chains from a pool of certificates, bottom up, and an
alternative version of a certificate might be substituted for the one
that you expect.

For example, StartSSL has two root certificates: one signed with SHA1
and the other with SHA256. If you wished to pin to StartSSL as your
CA, which certificate hash would you use? You would have to use both,
but how would you know about the other root if I hadn't just told you?

Conversely, public key hashes must be correct:

Browsers assume that the leaf certificate is fixed: it's always the
starting point of the chain. The leaf certificate contains a signature
which must be a valid signature, from its parent, for that
certificate. That implies that the public key of the parent is fixed
by the leaf certificate. So, inductively, the chain of public keys is
fixed, modulo truncation.

The only sharp edge is that you mustn't pin to a cross-certifying
root. For example, GoDaddy's root is signed by Valicert so that older
clients, which don't recognise GoDaddy as a root, still trust those
certificates. However, you wouldn't want to pin to Valicert because
newer clients will stop their chain at GoDaddy."


Public key hashes are hashes of the SubjectPublicKeyInfo, which should
be nailed down in any spec.

There is the possibility of a cert getting reissued with a difference
SPKI, but the same effective public key. (i.e. omitting a NULL
AlgorithmIdentifier.Parameters). However, I'm not aware of any
instances of this actually happening.


Cheers

AGL

From jrn@st-andrews.ac.uk  Tue Sep 13 03:40:36 2011
Return-Path: <jrn@st-andrews.ac.uk>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E18FA21F8B4A for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 03:40:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level: 
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 te6-XHPlMtit for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 03:40:36 -0700 (PDT)
Received: from wallace.st-andrews.ac.uk (wallace.st-andrews.ac.uk [138.251.30.31]) by ietfa.amsl.com (Postfix) with ESMTP id 1430421F8B42 for <websec@ietf.org>; Tue, 13 Sep 2011 03:40:35 -0700 (PDT)
Received: from unimail.st-andrews.ac.uk ([194.247.94.140]) by wallace.st-andrews.ac.uk (8.14.3/8.14.3/Debian-5) with ESMTP id p8DAftdE020398 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 13 Sep 2011 11:41:57 +0100
Received: from UOS-DUN-MBX1.st-andrews.ac.uk ([172.20.12.21]) by uos-dun-cas2 ([172.20.12.16]) with mapi id 14.01.0289.001; Tue, 13 Sep 2011 11:41:55 +0100
From: James Nicoll <jrn@st-andrews.ac.uk>
To: Yoav Nir <ynir@checkpoint.com>, "Richard L. Barnes" <rbarnes@bbn.com>
Thread-Topic: [websec] Certificate Pinning via HSTS
Thread-Index: AQHMcZb1Dq/HWzBLbUmvs44IICZjHJVKa12AgABTnYCAAGFYgA==
Date: Tue, 13 Sep 2011 10:41:54 +0000
Message-ID: <CA94F179.10036%jrn@st-andrews.ac.uk>
In-Reply-To: <86A71F95-AAFF-4A09-853E-3888962C4930@checkpoint.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [138.251.194.244]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1E105253C0AD9D4AB47B6E534D12A366@st-andrews.ac.uk>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-StAndrews-MailScanner-ID: p8DAftdE020398
X-StAndrews-MailScanner: No virus detected
X-StAndrews-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-0.085, required 5, BAYES_40 -0.18, RDNS_NONE 0.10)
X-StAndrews-MailScanner-From: jrn@st-andrews.ac.uk
Cc: Chris Evans <cevans@google.com>, "websec@ietf.org" <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 10:40:37 -0000

I was under the impression that this wasn't a good idea, as periodic
replacement of the keys was done incase of an undetected compromise?

Ross


On 13/09/2011 06:53, "Yoav Nir" <ynir@checkpoint.com> wrote:

>1. Sometimes certificates are renewed periodically with the same public
>key. This is very common for sub-CAs and less so for EE certificates, but
>unless it has been compromised, or NIST recommends that you double your
>bit-length again, there's no reason not to use the same old public key
>and the new certificate


From agl@google.com  Tue Sep 13 04:11:15 2011
Return-Path: <agl@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 30B3B21F8B11 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 04:11:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 vWK-dQ9c4uRo for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 04:11:14 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id 3D12921F8AFF for <websec@ietf.org>; Tue, 13 Sep 2011 04:11:14 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [172.25.149.12]) by smtp-out.google.com with ESMTP id p8DBDHvG016139 for <websec@ietf.org>; Tue, 13 Sep 2011 04:13:18 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315912398; bh=e9C/Spr5Mp6YZV6tSKoo7C80e6Y=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=DbY670yp+8tOb5wC+JoroCazR0sZXRblkdWkuXTCn2yYQK0HwvSjnjFD6UDXN3VRk TPtdi8xilDRHQ6/+Jb94Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:cc:content-type:x-system-of-record; b=ZWOCaqpk0XtpnKA5jsgjjOeV0obEpEgC3UFXmJ5bO7AHQf88+aphjOjtzojuT39g9 3JA1KMlR/tduJUjG44FDg==
Received: from ywp17 (ywp17.prod.google.com [10.192.16.17]) by hpaq12.eem.corp.google.com with ESMTP id p8DBCkib002149 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 04:13:16 -0700
Received: by ywp17 with SMTP id 17so352140ywp.41 for <websec@ietf.org>; Tue, 13 Sep 2011 04:13:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=S8utOVVVaaDA2PrCDoxXnFKtXUHaYwAI5Ri5N9NDQZE=; b=p7zXCtQyiVdswWNB5S0zvTRWglNyzrjQvi6uIc0kyP/TLFZirwh1hD8wXwWC9c8rI9 ok83Qbit7ORbN/NmUBHA==
Received: by 10.42.28.5 with SMTP id l5mr69235icc.224.1315912396348; Tue, 13 Sep 2011 04:13:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.42.28.5 with SMTP id l5mr69229icc.224.1315912396206; Tue, 13 Sep 2011 04:13:16 -0700 (PDT)
Received: by 10.231.19.137 with HTTP; Tue, 13 Sep 2011 04:13:16 -0700 (PDT)
In-Reply-To: <CA94F179.10036%jrn@st-andrews.ac.uk>
References: <86A71F95-AAFF-4A09-853E-3888962C4930@checkpoint.com> <CA94F179.10036%jrn@st-andrews.ac.uk>
Date: Tue, 13 Sep 2011 07:13:16 -0400
Message-ID: <CAL9PXLy6FZsqh=MHnB5ek08MBENJHCm2U8iFfWcu6CME2LGm2w@mail.gmail.com>
From: Adam Langley <agl@google.com>
To: James Nicoll <jrn@st-andrews.ac.uk>
Content-Type: text/plain; charset=UTF-8
X-System-Of-Record: true
Cc: Chris Evans <cevans@google.com>, "websec@ietf.org" <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 11:11:15 -0000

On Tue, Sep 13, 2011 at 6:41 AM, James Nicoll <jrn@st-andrews.ac.uk> wrote:
> I was under the impression that this wasn't a good idea, as periodic
> replacement of the keys was done incase of an undetected compromise?

One typically pins, at least, to a CA which allows a site to rotate
its keys without issue so long as they use the same CA.


Cheers

AGL

From tobias.gondrom@gondrom.org  Tue Sep 13 04:31:59 2011
Return-Path: <tobias.gondrom@gondrom.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E7F6121F87F0 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 04:31:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -96.334
X-Spam-Level: 
X-Spam-Status: No, score=-96.334 tagged_above=-999 required=5 tests=[AWL=0.444, BAYES_00=-2.599, FH_HELO_EQ_D_D_D_D=1.597, HELO_DYNAMIC_IPADDR=2.426, HELO_EQ_DE=0.35, HELO_MISMATCH_DE=1.448, 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 taCIi7Mbbsgu for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 04:31:56 -0700 (PDT)
Received: from lvps83-169-7-107.dedicated.hosteurope.de (www.gondrom.org [83.169.7.107]) by ietfa.amsl.com (Postfix) with ESMTP id 9CE8C21F8804 for <websec@ietf.org>; Tue, 13 Sep 2011 04:31:55 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws; s=default; d=gondrom.org; b=RbyoMMQJxQCWkcelg+ZaQ44MhlphdUpxLYJkkyvNdmfNBlCycsSrPeEmIOcvap5fz5kzvOndXDfeozqKJSSsfHcYN9bo4ONbfJLjQixL+r2caE5bw6dHowqOcUxMJzF/; h=Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding;
Received: (qmail 20118 invoked from network); 13 Sep 2011 13:26:49 +0200
Received: from 94-194-102-93.zone8.bethere.co.uk (HELO ?192.168.1.66?) (94.194.102.93) by www.gondrom.org with (DHE-RSA-AES256-SHA encrypted) SMTP; 13 Sep 2011 13:26:49 +0200
Message-ID: <4E6F3DF8.3060203@gondrom.org>
Date: Tue, 13 Sep 2011 12:26:48 +0100
From: Tobias Gondrom <tobias.gondrom@gondrom.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2
MIME-Version: 1.0
To: palmer@google.com, cevans@google.com
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <6.2.5.6.2.20110912174725.0a6aae28@resistor.net>
In-Reply-To: <6.2.5.6.2.20110912174725.0a6aae28@resistor.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: websec@ietf.org
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 11:32:00 -0000

Hi Chris and Chris,

<speaking as individual>
I like the idea, too. And would very much second the thought of putting 
this down in the form of an Internet-Draft. Especially with the CA 
problems we have seen in the last few months, this is important and 
could be a great addition to HSTS in the websec WG.

<speaking as chair>
If you consider putting this in as an Internet-Draft and need any help 
in doing so, please feel free to drop a note to the mailing-list, or you 
can also always ask me, Alexey or Yoav (WG chairs and secretary) for 
advice/help on how to put this in I-D form the easiest way. Will always 
be happy to make things easy and smooth for authors and editors.

Kind regards, Tobias



On 13/09/11 01:51, SM wrote:
> Hi Chris,
> At 14:56 12-09-2011, Chris Palmer wrote:
>> Chris Evans and I work at Google on the Chrome security team. We have
>> devised this specification for a new extension to Strict Transport
>
> [snip]
>
>> We eagerly anticipate your comments, questions, concerns, et c. As you
>
> Would it be possible for you to post the specification as an 
> Internet-Draft?
>
> Thanks,
> -sm
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec


From tom@ritter.vg  Tue Sep 13 05:08:58 2011
Return-Path: <tom@ritter.vg>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 66DA621F8A4B for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 05:08:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.976
X-Spam-Level: 
X-Spam-Status: No, score=-2.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 iiAl6FdbSNu1 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 05:08:54 -0700 (PDT)
Received: from mail-gw0-f54.google.com (mail-gw0-f54.google.com [74.125.83.54]) by ietfa.amsl.com (Postfix) with ESMTP id 033AB21F8A4E for <websec@ietf.org>; Tue, 13 Sep 2011 05:08:53 -0700 (PDT)
Received: by gwj18 with SMTP id 18so555225gwj.27 for <websec@ietf.org>; Tue, 13 Sep 2011 05:10:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ritter.vg; s=vg; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=wYvpUhBYW7vKDcOe5uqtkAakc8fphTLK00gOJx/k5X8=; b=TcBTpIvp+Nk5K62TivVLOsP72raWBgixpkyy34E5oGmfAQwCz1dfzm7LZE5jw7TeW+ 7t/3PRMZiLoV5fDWxjliPMl3LTd9uIDpsp25S7AwTvs7ytshdbWv1ogciuTRF3VMA031 gR4a/AVnM6V0SON/inkiD8reelvzyAYN5g00I=
Received: by 10.68.59.170 with SMTP id a10mr1399707pbr.345.1315915859143; Tue, 13 Sep 2011 05:10:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.48.13 with HTTP; Tue, 13 Sep 2011 05:10:39 -0700 (PDT)
In-Reply-To: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
From: Tom Ritter <tom@ritter.vg>
Date: Tue, 13 Sep 2011 08:10:39 -0400
Message-ID: <CA+cU71=7tM9tS6bAddiLDtOBTX_DH3cebEd5dM=1DSMKXUMdjw@mail.gmail.com>
To: Chris Palmer <palmer@google.com>, websec@ietf.org, Chris Evans <cevans@google.com>
Content-Type: multipart/alternative; boundary=bcaec531474b56ac8404acd18970
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 12:08:58 -0000

--bcaec531474b56ac8404acd18970
Content-Type: text/plain; charset=ISO-8859-1

I echo Marsh's question.  Does a x509 Key Fingerprint include
basicConstraints?  I couldn't imagine a scenario where an attacker could get
his own cert signed by a leaf cert of a website - but I also couldn't
imagine New York getting hit by an earthquake ;)

Other observations:

I find the Revocation section very confusingly written.

> "In the event of a mismatch, clients must check whatever revocation
mechanism is available and attempt to discover whether the certificate with
the mismatching fingerprint has been revoked."

What is the definition of mismatch?  I interpreted it as no cert in the
chain contains a fingerprint which matches one of the fingerprints in the
pin list (supplied via prior pinned directive, or preloaded list).
Therefore all certificates in the chain supplied by the site are
mismatching.  But seeing if they are revoked is useless, I want to check the
pinned list to see if any in the pin list is revoked, so I can reevaluate
the pinned list and possibly downgrade the site to 'Known HSTS Host'.  But
the pin list only contains fingerprints - how do I check if a cert is
revoked by fingerprint?


The "Interactions With Built-in HSTS Lists" section is does not cover UA
updates.  Should a UA update with new pin information overwrite pin
information previously validly supplied by a site?


Finally, I'm of the opinion that all SSL Certificate information should be
exposed as javascript properties by browser.  That's a bit out of scope, so
I'll dial it back and say while we're working on HSTS, HSTS information
should be exposed as a read-only javascript property.  It doesn't need to be
structured, the entire contents of the header is sufficient, similar to
document.cookie.  This would allow at least two more (optional) defensive
practices:

1) Plugin/Extension/Greasemonkey authors could produce something like
HTTPSEverywhere or NoScript that could preload pins in a method similar to
preloaded pins in a UA.  If a site sent a pin list that didn't match the
preloaded pin list, the extension could show a warning, error, or some
alert.  Although similar to preloaded pins, this would not require a UA to
do work, nor would it require a UA to supply a user interface to bulk-load
pins.

2) Site authors could include checks in javascript to check their pinned
list.  While this *is* an arms race, and any javascript that is already
being middled by an attacker *could* be rewritten - in practice, javascript
can be sufficently obfuscated to raise the barrier to exploitation (see
gmail's javascript for example).

-tom

--bcaec531474b56ac8404acd18970
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I echo Marsh&#39;s question.=A0 Does a x509 Key Fingerprint include basicCo=
nstraints?=A0 I couldn&#39;t imagine a scenario where an attacker could get=
 his own cert signed by a leaf cert of a website - but I also couldn&#39;t =
imagine New York getting hit by an earthquake ;)<br>

<br>Other observations:<br><br>I find the Revocation section very confusing=
ly written. =A0<br><br>&gt; &quot;In the event of a mismatch, clients must =
check whatever revocation mechanism is available and attempt to discover wh=
ether the certificate with the mismatching fingerprint has been revoked.&qu=
ot;<br>

<br>What is the definition of mismatch?=A0 I interpreted it as no cert in t=
he chain contains a fingerprint which matches one of the fingerprints in th=
e pin list (supplied via prior pinned directive, or preloaded list).=A0 The=
refore all certificates in the chain supplied by the site are mismatching.=
=A0 But seeing if they are revoked is useless, I want to check the pinned l=
ist to see if any in the pin list is revoked, so I can reevaluate the pinne=
d list and possibly downgrade the site to &#39;Known HSTS Host&#39;.=A0 But=
 the pin list only contains fingerprints - how do I check if a cert is revo=
ked by fingerprint? =A0<br>

<br><br>The &quot;Interactions With Built-in HSTS Lists&quot; section is do=
es not cover UA updates.=A0 Should a UA update with new pin information ove=
rwrite pin information previously validly supplied by a site?<br><br><br>

Finally, I&#39;m of the opinion that all SSL Certificate information should=
 be exposed as javascript properties by browser.=A0 That&#39;s a bit out of=
 scope, so I&#39;ll dial it back and say while we&#39;re working on HSTS, H=
STS information should be exposed as a read-only javascript property.=A0 It=
 doesn&#39;t need to be structured, the entire contents of the header is su=
fficient, similar to document.cookie.=A0 This would allow at least two more=
 (optional) defensive practices:<br>

<br>1) Plugin/Extension/Greasemonkey authors could produce something like H=
TTPSEverywhere or NoScript that could preload pins in a method similar to p=
reloaded pins in a UA.=A0 If a site sent a pin list that didn&#39;t match t=
he preloaded pin list, the extension could show a warning, error, or some a=
lert.=A0 Although similar to preloaded pins, this would not require a UA to=
 do work, nor would it require a UA to supply a user interface to bulk-load=
 pins.<br>

<br>2) Site authors could include checks in javascript to check their pinne=
d list.=A0 While this *is* an arms race, and any javascript that is already=
 being middled by an attacker *could* be rewritten - in practice, javascrip=
t can be sufficently obfuscated to raise the barrier to exploitation (see g=
mail&#39;s javascript for example). =A0<br>

<br>-tom

--bcaec531474b56ac8404acd18970--

From dkg@fifthhorseman.net  Tue Sep 13 05:42:26 2011
Return-Path: <dkg@fifthhorseman.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E2C9121F8841 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 05:42:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.299
X-Spam-Level: 
X-Spam-Status: No, score=-2.299 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_34=0.6]
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 xlPOw-VCEUDy for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 05:42:26 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id 7540221F8B03 for <websec@ietf.org>; Tue, 13 Sep 2011 05:42:26 -0700 (PDT)
Received: from [192.168.13.75] (lair.fifthhorseman.net [216.254.116.241]) by che.mayfirst.org (Postfix) with ESMTPSA id 9B74AF970; Tue, 13 Sep 2011 08:44:28 -0400 (EDT)
Message-ID: <4E6F5056.800@fifthhorseman.net>
Date: Tue, 13 Sep 2011 08:45:10 -0400
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20110807 Icedove/5.0
MIME-Version: 1.0
To: Chris Palmer <palmer@google.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
In-Reply-To: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
X-Enigmail-Version: 1.2.1
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enigF91C2957B85ADD49AB4697C8"
Cc: Chris Evans <cevans@google.com>, websec@ietf.org
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: websec@ietf.org
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 12:42:27 -0000

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigF91C2957B85ADD49AB4697C8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Thanks for publishing this spec, Chrises!

On 09/12/2011 05:56 PM, Chris Palmer wrote:

> (Sites can pin to one or more public keys in end entity, subordinate
> CA, and/or root CA certificates, for flexibility and disaster
> recovery.)


I think more discussion about the relative consequences of pinning EE
vs. intermediate CA vs. root CA certs would be useful.

=46rom my perspective, i see no advantage to pinning any of the CAs -- if=

your EE is compromised, you're sunk.  And since the mechanism provides a
mechanism (and nice instructions, thanks) for transition to an emergency
offline backup EE key+cert, that is all handled well.

What advantage would a site gain from pinning to an intermediate or root
CA?  It seems that all this would do is expose the site operators to
(limited, thankfully) extortion from the CA in question.

The only situation where i can see it being useful is to ease deployment
in a situation where the operating organization operates their own CA.
If this is the only circumstance where it is advisable to pin a CA cert
instead of an EE cert, that should probably be added to the
documentation explicitly.

Or is there some other circumstance that it would be actually useful
that  i'm missing?

	--dkg


--------------enigF91C2957B85ADD49AB4697C8
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQJ8BAEBCgBmBQJOb1BWXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwRUU1QkU5NzkyODJEODBCOUY3NTQwRjFD
Q0QyRUQ5NEQyMTczOUU5AAoJEMzS7ZTSFznp15cQAJvxhAxi1lU8IH5Sh361hMjm
z4ncMeF1fUiRcgzL4rIIq9dBTh5xyddNxPXiGPyMVpWS6UGWt8TCDQ2p/h2Ktr6T
eqUunMN1RIiZHe/iFrVH7GGr5FiXyJNJUA21jwspxg8vHm7KOeRf70ychm3d7s15
eLVRl6Gu9TCmjdUxlHxNS+Xlttkz/WjrHH0qJgwPtVMmNzt0dp3MW7W9OBSVF/uH
v38lHVFR5vlAAiXc04t82XsDMFBQxOnyvTlzNZ/NBIlqv0BPDWw+75Un3i2Q7ymL
bx46agFnwzrlTGm5mHk5qyvd6S2X53lps4IcWk/qh1Dg+IcR5sShAw9LzwJGaO7l
dLn94nhV070zwowVrN2naIub9crbrQrENJwWp8Vnx3pcb0OgybF1aQ+BOXB2gXkE
W+Oj27LoyIufqQL9OiaD9eNKy5XLqvmMu4NQ4M/ZKlYvVpKg+cS7+efd4EiEhGpO
Jn2uQe1NbK3klbPPZOsDC9PREKmILsBLt01bsj8olVQ+y5kUGjCqSSn+gs6f8R5H
Ys6WeZpKEVPvDDbXHhpC/YDjtVWWUQTWsNzVP1NAl0+sehbA1FDud1fac+MgF4SR
JwegBrIGBi1lloRMQt9nYMZlGfUq+KrO0nqcKqWucWlKT91nRykeDgB6gcTtP+Km
Oexyrzv/IxoV24NWpK1B
=opaL
-----END PGP SIGNATURE-----

--------------enigF91C2957B85ADD49AB4697C8--

From pgladsto@cisco.com  Tue Sep 13 07:02:34 2011
Return-Path: <pgladsto@cisco.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 41FA521F8A95 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 07:02:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
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 6Fru2mm-KO6I for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 07:02:33 -0700 (PDT)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) by ietfa.amsl.com (Postfix) with ESMTP id 26FF821F8A80 for <websec@ietf.org>; Tue, 13 Sep 2011 07:02:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=pgladsto@cisco.com; l=1700; q=dns/txt; s=iport; t=1315922679; x=1317132279; h=message-id:date:from:mime-version:to:subject:references: in-reply-to:content-transfer-encoding; bh=n1uJJBnlv02ZCVAvPWiZ+FmmI5515w13Z4i/1MH1bkU=; b=kW37tSQEJlGwg8iqMuhVn8tgv1MWoIOaIzJcxruKC0G0LQKgnf0NUkLe alqUyEJAZT0OYxjJRFBkq95O/rX3OYSbwMcfIO8itpxMX+K3T8vZl3qMX AMn7mlAkSY3theMZlYznnmPaMDdmhdPjOp4ae1zkFw6bTY85fY4ORiLqD Y=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApsHALhib06tJXG9/2dsb2JhbABChFWUSIxTgXh4gVMBAQEBAxIBEBVAEQsYAgIFFgsCAgkDAgECAUUTCAEBHqB9AYw5kgmBLIQxgREEkz2FGYwl
X-IronPort-AV: E=Sophos;i="4.68,374,1312156800"; d="scan'208";a="21105312"
Received: from rcdn-core2-2.cisco.com ([173.37.113.189]) by rcdn-iport-4.cisco.com with ESMTP; 13 Sep 2011 14:04:31 +0000
Received: from [161.44.112.199] (dhcp-161-44-112-199.cisco.com [161.44.112.199]) by rcdn-core2-2.cisco.com (8.14.3/8.14.3) with ESMTP id p8DE4VKJ032601 for <websec@ietf.org>; Tue, 13 Sep 2011 14:04:31 GMT
Message-ID: <4E6F62EE.2070409@cisco.com>
Date: Tue, 13 Sep 2011 10:04:30 -0400
From: Philip Gladstone <pgladsto@cisco.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0
MIME-Version: 1.0
To: websec@ietf.org
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <CA+cU71=7tM9tS6bAddiLDtOBTX_DH3cebEd5dM=1DSMKXUMdjw@mail.gmail.com>
In-Reply-To: <CA+cU71=7tM9tS6bAddiLDtOBTX_DH3cebEd5dM=1DSMKXUMdjw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 14:02:34 -0000

On 9/13/2011 8:10 AM, Tom Ritter wrote:
>
> I find the Revocation section very confusingly written.
>
> > "In the event of a mismatch, clients must check whatever revocation
> mechanism is available and attempt to discover whether the certificate
> with the mismatching fingerprint has been revoked."
>
> What is the definition of mismatch?  I interpreted it as no cert in
> the chain contains a fingerprint which matches one of the fingerprints
> in the pin list (supplied via prior pinned directive, or preloaded
> list).  Therefore all certificates in the chain supplied by the site
> are mismatching.  But seeing if they are revoked is useless, I want to
> check the pinned list to see if any in the pin list is revoked, so I
> can reevaluate the pinned list and possibly downgrade the site to
> 'Known HSTS Host'.  But the pin list only contains fingerprints - how
> do I check if a cert is revoked by fingerprint?
>
>
I don't understand this either. I thought that if a subsequent HTTPS 
connection was established and none of the certificates in the chain 
matched any of the fingerprints, then the connection was closed (with no 
way for the user to override this).

Is it the case that the model is for the UA to store the actual 
certificates associated with each fingerprint? This is the only way that 
I can see for the UA to determine which certificates have been revoked.

Does this proposal also support self-signed certificates? I.e. if you 
connect to a site, accept the self-signed certificate, can that site 
then pin itself using that self-signed cert? I.e. can the validation of 
the cert chain stop as soon as there is a pin match?

Philip

From stpeter@stpeter.im  Tue Sep 13 09:58:51 2011
Return-Path: <stpeter@stpeter.im>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2A8B121F8B9B for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 09:58:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.325
X-Spam-Level: 
X-Spam-Status: No, score=-103.325 tagged_above=-999 required=5 tests=[AWL=0.823, BAYES_00=-2.599, GB_I_INVITATION=-2, MIME_8BIT_HEADER=0.3, SARE_SUB_ENC_UTF8=0.152, 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 tWBtBPCTtIFk for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 09:58:50 -0700 (PDT)
Received: from stpeter.im (mailhost.stpeter.im [207.210.219.225]) by ietfa.amsl.com (Postfix) with ESMTP id 8630821F8B2F for <websec@ietf.org>; Tue, 13 Sep 2011 09:58:50 -0700 (PDT)
Received: from dhcp-64-101-72-178.cisco.com (unknown [64.101.72.178]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id A22DF41A0B for <websec@ietf.org>; Tue, 13 Sep 2011 11:04:10 -0600 (MDT)
Message-ID: <4E6F8C47.7050001@stpeter.im>
Date: Tue, 13 Sep 2011 11:00:55 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
References: <CA94E81D.14A16%Peter.SaintAndre@webex.com>
In-Reply-To: <CA94E81D.14A16%Peter.SaintAndre@webex.com>
X-Enigmail-Version: 1.3.1
OpenPGP: url=https://stpeter.im/stpeter.asc
X-Forwarded-Message-Id: <CA94E81D.14A16%Peter.SaintAndre@webex.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: [websec] =?utf-8?q?Fwd=3A_FW=3A_Launching_the_Tracking_Protection?= =?utf-8?q?_WG_=E2=80=B9_Conference_call_invitation=3A_14_September_at_8_a?= =?utf-8?q?m_Pacific_/_11_am_Eastern_/_17=3A00_Central_European?=
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 16:58:51 -0000

Of interest given the presentation in Prague...


------ Forwarded Message
From: Thomas Roessler <tlr@w3.org>
Date: Tue, 13 Sep 2011 09:05:31 -0700
To: "Aleecia M. McDonald" <aleecia@aleecia.com>, Nick Doty <npdoty@w3.org>
Cc: Thomas Roessler <tlr@w3.org>
Subject: Launching the Tracking Protection WG Â‹ Conference call invitation:
14 September at 8 am Pacific / 11 am Eastern / 17:00 Central European

Colleagues,

I wanted to let you know that W3C has launched the Tracking Protection
Working Group as a result from the April 2011 workshop on Web Tracking and
User Privacy that you had registered for.

Workshop report:
        http://www.w3.org/2011/track-privacy/report

Working group home page:
        http://www.w3.org/2011/tracking-protection/

We're holding an open telephone call with interested parties tomorrow,
Wednesday at 8am PT, 11am ET, 1700 CET.  If you are interested in
participating in that call, please take a minute to fill in this form:
        http://www.w3.org/2002/09/wbs/1/trackprivopencall20110914/

For further information about the call and the group, please refer to the
Working Group home page and the note below from Aleecia M. McDonald,
co-chair of the Tracking Protection Working Group.

Please don't hesitate to approach Aleecia, Nick Doty or myself with any
concerns or questions you might have.

Regards,
--
Thomas Roessler, W3C  <tlr@w3.org>  (@roessler)







Begin forwarded message:

> From: "Aleecia M. McDonald" <aleecia@aleecia.com>
> Subject: Conference call invitation: 14 September at 8 am Pacific / 11 am
Eastern / 17:00 Central European
> Date: September 13, 2011 04:42:12 +0200
> To: public-tracking@w3.org
> Cc: "public-privacy (W3C mailing list)" <public-privacy@w3.org>
> Archived-At: 
<http://www.w3.org/mid/51F85077-BC1F-4398-9CFE-DF3D55E07B2E@aleecia.com>
>
> [Cross posted this once to public-privacy in case interested people have not
yet subscribed to the new public-tracking dlist]
>
> Please join us for an open conference call prior to the first face-to-face
kickoff meeting for the Tracking Protection Working Group on 21/22
September at
MIT. We will discuss working group logistics and answer your questions on
Wednesday, 14 September at 8 am Pacific / 11 am Eastern / 17:00 Central
European
time. This will be a meta discussion, rather one than one that addresses the
substance of TPWG issues.
>
> The sign up form for the call is:
>
>      http://www.w3.org/2002/09/wbs/1/trackprivopencall20110914/
>
> The call in number is:
>
>      +1.617.761.6200, code 87225#
>
> Agenda for the call:
>       :00 Welcome!
>           - Introductions: Aleecia, Thomas, Nick
>       :10 Overview of goals and deliverables for the FPWD
>       :15 Preparation prior to meeting at MIT
>           - Input documents
>           - Use cases for your organization and your users
>           - Defining success
>       :20 Logistics for MIT & expectations for f2f meetings
>       :25 Questions
>       :55 Wrap up
>
> The call is *not* required to attend the MIT meeting. Details and registration
for the MIT meeting are linked from:
>
>       http://www.w3.org/2011/tracking-protection/
>
> I look forward to seeing everyone in Boston, and to talking with you on
Wednesday.
>
>       Aleecia
>
> Aleecia M. McDonald // Senior Privacy Researcher @ Mozilla // w3c@aleecia.com
>
>
>


------ End of Forwarded Message


From palmer@google.com  Tue Sep 13 10:55:19 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B300821F8CCA for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 10:55:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 L6Zbhu6-EC+a for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 10:55:19 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id 63F9621F8CD9 for <websec@ietf.org>; Tue, 13 Sep 2011 10:55:18 -0700 (PDT)
Received: from wpaz24.hot.corp.google.com (wpaz24.hot.corp.google.com [172.24.198.88]) by smtp-out.google.com with ESMTP id p8DHvO5F019654 for <websec@ietf.org>; Tue, 13 Sep 2011 10:57:24 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315936644; bh=zhHeA6QO2mZ3lKouQEYzYeMYSrs=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=Z/btlvOEqcfJPLR0U/a8q+QscBLco822p27TwgC1B5+gDeCi7vVGkjsjdAJS8yHWt xSeCpzJmlz6lsaH0dp/ow==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:cc:content-type:x-system-of-record; b=mV7FxbvKjtnFlj2BZc/I4TUd/wwtdpFfIcy/XFuG1eYKoQsiZUVEP4XSLSAwTjqyl i8Q2Fla8/3yC6mgxVh6ew==
Received: from wyg30 (wyg30.prod.google.com [10.241.226.158]) by wpaz24.hot.corp.google.com with ESMTP id p8DHvMu9002363 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 10:57:23 -0700
Received: by wyg30 with SMTP id 30so1041907wyg.35 for <websec@ietf.org>; Tue, 13 Sep 2011 10:57:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=w4XmJWmqyrbzRLMeGUV8pIIR/uTVgP8c1nruEDQxo9o=; b=Z1558viE+dH0qxc6TN+T/Ug1VqY8xeVVdBNmCUzJt9REYAGmpxvvulUAj67+UcpICu JZX1+XIRCI3Mv2kK6vEg==
Received: by 10.216.209.223 with SMTP id s73mr835822weo.34.1315936642546; Tue, 13 Sep 2011 10:57:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.209.223 with SMTP id s73mr835815weo.34.1315936642356; Tue, 13 Sep 2011 10:57:22 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 13 Sep 2011 10:57:22 -0700 (PDT)
In-Reply-To: <4E6E9B77.1020802@KingsMountain.com>
References: <4E6E9B77.1020802@KingsMountain.com>
Date: Tue, 13 Sep 2011 10:57:22 -0700
Message-ID: <CAOuvq21fqxSqMh2C1umgL2KyJ4tywaXTd0rkrtSThQPZVy5_Qg@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: "=JeffH" <Jeff.Hodges@kingsmountain.com>, IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=UTF-8
X-System-Of-Record: true
Cc: Chris Evans <cevans@google.com>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 17:55:19 -0000

On Mon, Sep 12, 2011 at 4:53 PM, =JeffH <Jeff.Hodges@kingsmountain.com> wrote:

> I've taken the liberty of re-formatting the document in plain text
> (attached), which will better facilitate discussion hereabouts. A next step
> will be to re-format it as an Internet-Draft and get it submitted (I
> volunteer to help you out with that).

Thanks for textifying it! I'll XMLify it today and then send it to the
list, and you can all make fun of my newbie attempts to use the I-D
document type. :) I'm sure I'll need your help to make it real.

From palmer@google.com  Tue Sep 13 11:09:50 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 636A921F8C13 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 11:09:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 lh+u3PgEzxEX for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 11:09:49 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id 784BC21F8BBD for <websec@ietf.org>; Tue, 13 Sep 2011 11:09:49 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id p8DIBu6N025489 for <websec@ietf.org>; Tue, 13 Sep 2011 11:11:56 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315937516; bh=sPBrD4iksfBBNCvag3+GSv7cnxY=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=r2Su37eBHtDHcD++cBqg+jasgkJBtL3iuemURu+J6FinhPHHpyQRhalzsudjYnPST x2iRjhfTS+tiCav2FILYw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:cc:content-type: content-transfer-encoding:x-system-of-record; b=w4L80nhsgk4BkPze4KpjBzgdUOkSzpIkLmang2RbN0lsFh9itHBJOjDWQ8DqZCe9O uGCzd+zucogMY9yve+Hlg==
Received: from wwf22 (wwf22.prod.google.com [10.241.242.86]) by wpaz29.hot.corp.google.com with ESMTP id p8DIBl6O016333 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 11:11:55 -0700
Received: by wwf22 with SMTP id 22so1102555wwf.1 for <websec@ietf.org>; Tue, 13 Sep 2011 11:11:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=QDMDXS0XAe05XVxua7XZB9jOM2t5b9ZoAPbOr/ohG5U=; b=Sy25kGUciCV02wl5rX1bg5wHRJpHzY74SGKfDorTnvO5aYJvlMamSg8/zOH+FrZ8Z3 5L7frwOZQOY7CpaSmbSg==
Received: by 10.216.23.72 with SMTP id u50mr1892110weu.34.1315937514679; Tue, 13 Sep 2011 11:11:54 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.23.72 with SMTP id u50mr1892104weu.34.1315937514478; Tue, 13 Sep 2011 11:11:54 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 13 Sep 2011 11:11:54 -0700 (PDT)
In-Reply-To: <4E6F62EE.2070409@cisco.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <CA+cU71=7tM9tS6bAddiLDtOBTX_DH3cebEd5dM=1DSMKXUMdjw@mail.gmail.com> <4E6F62EE.2070409@cisco.com>
Date: Tue, 13 Sep 2011 11:11:54 -0700
Message-ID: <CAOuvq20UOvL3QTMMmskzPE20os_Yv57Kx_2Sntr8ap0nr+xxeQ@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: websec@ietf.org
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: Chris Evans <cevans@google.com>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 18:09:50 -0000

Hi everybody,

Thanks for your comments and questions =E2=80=94 good ones! I'll try to
address them in the XMLified draft that I'm working on now, and which
I'll send out today.

From stpeter@stpeter.im  Tue Sep 13 11:13:35 2011
Return-Path: <stpeter@stpeter.im>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DFF5C21F8BAD for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 11:13:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.571
X-Spam-Level: 
X-Spam-Status: No, score=-102.571 tagged_above=-999 required=5 tests=[AWL=0.028, 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 JasvN6WfAwmr for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 11:13:35 -0700 (PDT)
Received: from stpeter.im (mailhost.stpeter.im [207.210.219.225]) by ietfa.amsl.com (Postfix) with ESMTP id 8594521F8B81 for <websec@ietf.org>; Tue, 13 Sep 2011 11:13:29 -0700 (PDT)
Received: from dhcp-64-101-72-178.cisco.com (unknown [64.101.72.178]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id B892F41964; Tue, 13 Sep 2011 12:18:49 -0600 (MDT)
Message-ID: <4E6F9DC6.2080006@stpeter.im>
Date: Tue, 13 Sep 2011 12:15:34 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2
MIME-Version: 1.0
To: =JeffH <Jeff.Hodges@KingsMountain.com>
References: <4E6E9B77.1020802@KingsMountain.com>
In-Reply-To: <4E6E9B77.1020802@KingsMountain.com>
X-Enigmail-Version: 1.3.1
OpenPGP: url=https://stpeter.im/stpeter.asc
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 18:13:36 -0000

On 9/12/11 5:53 PM, =JeffH wrote:
>> Chris Evans and I work at Google on the Chrome security team. We have
>> devised this specification for a new extension to Strict Transport
>> Security to allow site operators to "pin" certificates: UAs will
>> require that TLS connections be validated with at least one of the
>> public keys identified in the new "pins" directive in the HSTS header.
>> (Sites can pin to one or more public keys in end entity, subordinate
>> CA, and/or root CA certificates, for flexibility and disaster
>> recovery.)
>>
>> We hope that this mechanism opens up the benefits of certificate
>> pinning to more sites. Currently, Chrome can "pre-load" HSTS behavior
>> and certificate pins for sites, but the mechanism for doing this
>> (email us!) does not scale.
>>
>> We eagerly anticipate your comments, questions, concerns, et c. As you
>> can see from the Ideas section, there are some unanswered questions
>> about the behavior of UAs and hosts, and possible extensions to the
>> policy.
> 
> This is great, thanks for posting this here.
> 
> I have various comments on it I'll try to get to in the next day or so.
> 
> During HSTS's gestation, various parties have discussed potential
> "LockCA" and "LockEV" directives ostensibly having similar semantics to
> what you've proposed here (see talk slides from last few websec sessions
> at IETF meetings). (though I think recent events pretty much obviate
> those nominal ideas because they'd relied on the resilience of one's CA
> and the CA infrastructure (oops))

<hat type='individual'/>

Jeff, why do you say that? It seems to me that if you think various CAs
are dodgy or vulnerable, but you know and like the policies of the CA
you're using, you might well want to lock into that CA.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



From Jeff.Hodges@KingsMountain.com  Tue Sep 13 11:31:38 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1490921F8A6C for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 11:31:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.526
X-Spam-Level: 
X-Spam-Status: No, score=-100.526 tagged_above=-999 required=5 tests=[AWL=-0.031, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, 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 j2V329pUTJYz for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 11:31:37 -0700 (PDT)
Received: from oproxy9.bluehost.com (oproxy9.bluehost.com [IPv6:2605:dc00:100:2::a2]) by ietfa.amsl.com (Postfix) with SMTP id C9E5721F8A55 for <websec@ietf.org>; Tue, 13 Sep 2011 11:31:36 -0700 (PDT)
Received: (qmail 27705 invoked by uid 0); 13 Sep 2011 18:33:43 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by oproxy9.bluehost.com with SMTP; 13 Sep 2011 18:33:43 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=mT/FitIq2i8xMlr4/VWmv2yAxsKL9akJ1LgLNfNfx90=;  b=RUIluefIdtx0WF2/y0PuE+OQ7XIEFkEsiFRZFZ2xi6ZhJx72YreB0p2WJxC0en/ml552OD3kuJoOlJ1AeQjO3CH4MR6nJJx+PMObOyJcy0M4AuFhmOa/l6qS80sOGXI7;
Received: from outbound4.ebay.com ([216.113.168.128] helo=[10.244.137.226]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R3Xnj-0006nL-8e for websec@ietf.org; Tue, 13 Sep 2011 12:33:43 -0600
Message-ID: <4E6FA207.2050907@KingsMountain.com>
Date: Tue, 13 Sep 2011 11:33:43 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 216.113.168.128 authed with jeff.hodges+kingsmountain.com}
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 18:31:38 -0000

StPeter said..
 >
 > On 9/12/11 5:53 PM, =JeffH wrote:
 >>> Chris Evans and I work at Google on the Chrome security team. We have
 >>> devised this specification for a new extension to Strict Transport
 >>> Security to allow site operators to "pin" certificates: UAs will
 >>> require that TLS connections be validated with at least one of the
 >>> public keys identified in the new "pins" directive in the HSTS header.
 >>> (Sites can pin to one or more public keys in end entity, subordinate
 >>> CA, and/or root CA certificates, for flexibility and disaster
 >>> recovery.)
 >>>
 >>> We hope that this mechanism opens up the benefits of certificate
 >>> pinning to more sites. Currently, Chrome can "pre-load" HSTS behavior
 >>> and certificate pins for sites, but the mechanism for doing this
 >>> (email us!) does not scale.
 >>>
 >>> We eagerly anticipate your comments, questions, concerns, et c. As you
 >>> can see from the Ideas section, there are some unanswered questions
 >>> about the behavior of UAs and hosts, and possible extensions to the
 >>> policy.
 >>
 >> This is great, thanks for posting this here.
 >>
 >> I have various comments on it I'll try to get to in the next day or so.
 >>
 >> During HSTS's gestation, various parties have discussed potential
 >> "LockCA" and "LockEV" directives ostensibly having similar semantics to
 >> what you've proposed here (see talk slides from last few websec sessions
 >> at IETF meetings). (though I think recent events pretty much obviate
 >> those nominal ideas because they'd relied on the resilience of one's CA
 >> and the CA infrastructure (oops))
 >
 > <hat type='individual'/>
 >
 > Jeff, why do you say that? It seems to me that if you think various CAs
 > are dodgy or vulnerable, but you know and like the policies of the CA
 > you're using, you might well want to lock into that CA.

yes, such a decision is more nuanced than I quickly painted it above. There's a 
number of trade-offs between "locking" / "pinning" to a CA, intermediates, end 
entity cert/key.

=JeffH


From ynir@checkpoint.com  Tue Sep 13 11:39:05 2011
Return-Path: <ynir@checkpoint.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D29A411E8099 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 11:39:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.382
X-Spam-Level: 
X-Spam-Status: No, score=-10.382 tagged_above=-999 required=5 tests=[AWL=0.217, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 Yw5RK-i5Vw6X for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 11:39:05 -0700 (PDT)
Received: from michael.checkpoint.com (smtp.checkpoint.com [194.29.34.68]) by ietfa.amsl.com (Postfix) with ESMTP id DA3CF11E8095 for <websec@ietf.org>; Tue, 13 Sep 2011 11:39:04 -0700 (PDT)
X-CheckPoint: {4E6FB0EE-5-1B221DC2-FFFF}
Received: from il-ex01.ad.checkpoint.com (il-ex01.ad.checkpoint.com [194.29.34.26]) by michael.checkpoint.com (8.13.8/8.13.8) with ESMTP id p8DIf9LT028774;  Tue, 13 Sep 2011 21:41:09 +0300
Received: from il-ex03.ad.checkpoint.com (194.29.34.71) by il-ex01.ad.checkpoint.com (194.29.34.26) with Microsoft SMTP Server (TLS) id 8.2.255.0; Tue, 13 Sep 2011 21:41:09 +0300
Received: from il-ex01.ad.checkpoint.com ([126.0.0.2]) by il-ex03.ad.checkpoint.com ([194.29.34.71]) with mapi; Tue, 13 Sep 2011 21:41:09 +0300
From: Yoav Nir <ynir@checkpoint.com>
To: Peter Saint-Andre <stpeter@stpeter.im>
Date: Tue, 13 Sep 2011 21:41:08 +0300
Thread-Topic: [websec] Certificate Pinning via HSTS (.txt version)
Thread-Index: AcxyRLPdnQp/cCwpRjyXirRP0HCT7Q==
Message-ID: <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im>
In-Reply-To: <4E6F9DC6.2080006@stpeter.im>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
x-kse-antivirus-interceptor-info: scan successful
x-kse-antivirus-info: Clean
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-KSE-AntiSpam-Interceptor-Info: protection disabled
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 18:39:05 -0000

On Sep 13, 2011, at 9:15 PM, Peter Saint-Andre wrote:

> On 9/12/11 5:53 PM, =3DJeffH wrote:
>>=20
>> This is great, thanks for posting this here.
>>=20
>> I have various comments on it I'll try to get to in the next day or so.
>>=20
>> During HSTS's gestation, various parties have discussed potential
>> "LockCA" and "LockEV" directives ostensibly having similar semantics to
>> what you've proposed here (see talk slides from last few websec sessions
>> at IETF meetings). (though I think recent events pretty much obviate
>> those nominal ideas because they'd relied on the resilience of one's CA
>> and the CA infrastructure (oops))
>=20
> <hat type=3D'individual'/>
>=20
> Jeff, why do you say that? It seems to me that if you think various CAs
> are dodgy or vulnerable, but you know and like the policies of the CA
> you're using, you might well want to lock into that CA.

As a customer, I have very little insight into the policies of the CA I'm u=
sing. For all I know, the actual signing may be done on a server, accessibl=
e from the Internet through SSH with the user "root" and the password "pass=
word", and then it's just an OpenSSL script conveniently located along with=
 the private key in root's home directory.

Alternatively, it's possible that the private key is stored on the web serv=
er and accessible as http://www.exampleca.com/../ca.key

Locking yourself into a CA like that seems like a bad idea. Unlike the Dutc=
h government and Mozilla, most customers do not have the pull to force CAs =
to submit to audits.

Six months ago we would not have thought that Comodo or DigiNotar were easy=
 to hack. In the latter case, the customers of DigiNotar were left out in t=
he cold. Without certificate pinning, they just need to spend money on a ne=
w certificate and their site is working again. With it, they are in trouble=
.


From dkg@fifthhorseman.net  Tue Sep 13 12:34:23 2011
Return-Path: <dkg@fifthhorseman.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BAEE311E80AD for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 12:34:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.499
X-Spam-Level: 
X-Spam-Status: No, score=-2.499 tagged_above=-999 required=5 tests=[AWL=0.100,  BAYES_00=-2.599]
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 HzYn8tkVPDQo for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 12:34:23 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id 369C511E80AB for <websec@ietf.org>; Tue, 13 Sep 2011 12:34:22 -0700 (PDT)
Received: from [192.168.13.75] (lair.fifthhorseman.net [216.254.116.241]) by che.mayfirst.org (Postfix) with ESMTPSA id 5201BF970; Tue, 13 Sep 2011 15:36:26 -0400 (EDT)
Message-ID: <4E6FB0E7.5050903@fifthhorseman.net>
Date: Tue, 13 Sep 2011 15:37:11 -0400
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20110807 Icedove/5.0
MIME-Version: 1.0
To: Yoav Nir <ynir@checkpoint.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>
In-Reply-To: <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>
X-Enigmail-Version: 1.2.1
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig38F887CA26D937D42D1E8AB0"
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: websec@ietf.org
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 19:34:23 -0000

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig38F887CA26D937D42D1E8AB0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 09/13/2011 02:41 PM, Yoav Nir wrote:

> the customers of DigiNotar were left=20
> out in the cold. Without certificate pinning, they just need to spend=20
> money on a new certificate and their site is working again. With it,=20
> they are in trouble.

With *CA* pinning, DigiNotar customers are definitely in serious trouble
(which is why i asked earlier about the advantage of pinning any thing
but the EE cert).  But if they had pinned their EE certs,  they would
have been able to resist even if Diginotar had issued certs with their
same name.

So certificate pinning isn't bad in this case -- CA Certificate pinning
is bad.

	--dkg


--------------enig38F887CA26D937D42D1E8AB0
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQJ8BAEBCgBmBQJOb7DnXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwRUU1QkU5NzkyODJEODBCOUY3NTQwRjFD
Q0QyRUQ5NEQyMTczOUU5AAoJEMzS7ZTSFznpjC8P/2XgLCdkEAIq+j06dSFy+gun
5lQEXmLdRE2PzZzqFlqFdOchCeFGnNeiRwHp/RVkni+2VNaUkaZj2gZVmMMhr3UT
XJmdtad0yJhmrWo19ZECHczi6bhnHrhBFZTDJbSafbND46pcUBqB4VQLY+1dgS1f
/DpZqKGmuIzpawzvXHAfbfwhg17XilncQCyXpdet6iD5FkwQ3i3GtWnNO2IAimIf
7vmtEPYsn0oCPvk32HqTcZmFlH+aUhJ4fQ2IRe1hTsWhAtiOD0G5ZCrJKZVGbNFI
m96oFwM6hHFNkWJkFbwozoA/9U2WcPxTDgu92Lak22P373gQwhBDiZIA66wZwm92
HQFhh6QX4l+MYu8dgXNjEbUKI5eRA8PKrhjepiqrofMMmWN7Wr7OKF1CV3dn8UGI
xRJRdScAo0otWlpSU3VA6dj8Dlx74MxJRPCSNrGrSFVWO4pMPrDZqYkH/0YvnQlA
/RBjbyW/Wczup6lrsiRY3ePp0iQs7Gf54lP/gao5kUj+ClCf2DvRTGzmAoXRpyLE
qFZy7aR4cVNkUAONX8kUrcXUdoNlaGQ+HgHEfwOD+M+kOvmiv7i2uyt0rhbYlGhr
+DRaD9WN+8uNsT7eeVqdpNNbArarTSaI3XawZb9ed0So4rZN/VjTD1JuSDB5rOS8
2tGz1ttUtPposqNsS04E
=7vwq
-----END PGP SIGNATURE-----

--------------enig38F887CA26D937D42D1E8AB0--

From marsh@extendedsubset.com  Tue Sep 13 13:04:33 2011
Return-Path: <marsh@extendedsubset.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5A50E11E810C for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:04:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.572
X-Spam-Level: 
X-Spam-Status: No, score=-2.572 tagged_above=-999 required=5 tests=[AWL=0.027,  BAYES_00=-2.599]
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 sFDgXDwvnQH9 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:04:31 -0700 (PDT)
Received: from mho-02-ewr.mailhop.org (mho-04-ewr.mailhop.org [204.13.248.74]) by ietfa.amsl.com (Postfix) with ESMTP id E437E11E8107 for <websec@ietf.org>; Tue, 13 Sep 2011 13:04:30 -0700 (PDT)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-02-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from <marsh@extendedsubset.com>) id 1R3ZFd-0005G8-MZ; Tue, 13 Sep 2011 20:06:37 +0000
Received: from [192.168.1.15] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id 44827606E; Tue, 13 Sep 2011 20:06:33 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1/y9afiTTEnirzRZoGOFFDwzFT7zwQ1L5I=
Message-ID: <4E6FB7CB.3020309@extendedsubset.com>
Date: Tue, 13 Sep 2011 15:06:35 -0500
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: Yoav Nir <ynir@checkpoint.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>
In-Reply-To: <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 20:04:33 -0000

Just thinking out loud here.

On 09/13/2011 01:41 PM, Yoav Nir wrote:
>
> Locking yourself into a CA like that seems like a bad idea. Unlike
> the Dutch government and Mozilla, most customers do not have the pull
> to force CAs to submit to audits.

Or not, like the Dutch government, have the pull to convince Mozilla to 
hesitate for a few days to revoke your pwned CA.

> Six months ago we would not have thought that Comodo or DigiNotar
> were easy to hack. In the latter case, the customers of DigiNotar
> were left out in the cold. Without certificate pinning, they just
> need to spend money on a new certificate and their site is working
> again. With it, they are in trouble.

When would locking yourself into a keypair be any more sensible?

PKI has long history of uncounted thousands of revoked certs, most 
probably for mundane reasons. But a large number of critical cases are 
certainly due to the webserver and private key getting pwned (like 
senate.gov).

What if attacker pwned your web server and configured it to broadcast 
HSTS for a few days, pinning you to the keypair of which they now know 
the private key?

What if they maliciously pinned you to a floundering CA?

Google is one thing, they have their own CA and even their own web browser.

Q: What kind of pinning would we recommend to our friend or family 
member who runs his business on the web?
Right now he has his domain registration and cert from GoDaddy.

- Marsh

From palmer@google.com  Tue Sep 13 13:18:57 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6292D21F8B83 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:18:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 GifnPMb-0AYN for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:18:56 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id 7270B21F8B87 for <websec@ietf.org>; Tue, 13 Sep 2011 13:18:56 -0700 (PDT)
Received: from hpaq1.eem.corp.google.com (hpaq1.eem.corp.google.com [172.25.149.1]) by smtp-out.google.com with ESMTP id p8DKL2iE016711 for <websec@ietf.org>; Tue, 13 Sep 2011 13:21:02 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315945262; bh=N/I4oQyC2FGfcNk/X00CJI5W+/0=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Content-Type; b=RLsMcTTFwbA7uoxHhGiN9u5zFr4gbql1skDMBSqYnr2HurrsNJyFLgpc9lRuvf8SY /N4mOqM60Y5z51FOIAKog==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:content-type:x-system-of-record; b=RX17OyFdIJwhKE3G9SHzBDRcL+XvpQ7eXmSKVpKGR2A3fZem99mSvbdyPOWobGccq /5EvsBGbTAGawHi2ZBhFQ==
Received: from wwi18 (wwi18.prod.google.com [10.241.243.18]) by hpaq1.eem.corp.google.com with ESMTP id p8DKL1ls023965 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 13:21:01 -0700
Received: by wwi18 with SMTP id 18so1162928wwi.3 for <websec@ietf.org>; Tue, 13 Sep 2011 13:21:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=mnASrcdIZ0WPgHYSRBllSVFZfxYhKBYIvkL54eOplGA=; b=TmZkUBeCDfmrgKPBWYhnacYgmxcjHL1TET+uN1KoRiPkEReIC1Z35ybnbmPNyLII82 KZ1HYxd4TLPQKFU4IyJw==
Received: by 10.216.220.220 with SMTP id o70mr1097565wep.19.1315945260871; Tue, 13 Sep 2011 13:21:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.220.220 with SMTP id o70mr1097562wep.19.1315945260646; Tue, 13 Sep 2011 13:21:00 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 13 Sep 2011 13:21:00 -0700 (PDT)
In-Reply-To: <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>
Date: Tue, 13 Sep 2011 13:21:00 -0700
Message-ID: <CAOuvq220w+tit2s8MuimQGuWZJ0_7Lx42udVYEzB8KxYJ+LJLg@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=UTF-8
X-System-Of-Record: true
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 20:18:57 -0000

On Tue, Sep 13, 2011 at 11:41 AM, Yoav Nir <ynir@checkpoint.com> wrote:

> Six months ago we would not have thought that Comodo
> or DigiNotar were easy to hack. In the latter case, the
> customers of DigiNotar were left out in the cold. Without
> certificate pinning, they just need to spend money on a
> new certificate and their site is working again. With it,
> they are in trouble.

This is why we strongly advocate that you have a backup pin, so that
you can pivot to it in the event of any of several disasters that we
outline in the document. We are even thinking about requiring backup
pins, because they are so important. (See the Risks of Pinning
section, and the Ideas section.)

Assuming that the disaster is not one of private key compromise
(either end entity or signer), you can also recover by having your
public key re-signed by a new CA.

From palmer@google.com  Tue Sep 13 13:21:50 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E1C6021F8BB3 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:21:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 F+M03cTH3Te4 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:21:50 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id 2FD8121F8BA7 for <websec@ietf.org>; Tue, 13 Sep 2011 13:21:50 -0700 (PDT)
Received: from hpaq5.eem.corp.google.com (hpaq5.eem.corp.google.com [172.25.149.5]) by smtp-out.google.com with ESMTP id p8DKNure010919 for <websec@ietf.org>; Tue, 13 Sep 2011 13:23:56 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315945436; bh=EBPukHNfa65rS+cfnOawgVopNWE=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Content-Type; b=LhE8+BFr8BIqf7k/uIC+8heoZb8rTs4efNB5Y3w5a8lc5sWv3qO1v+LkTE4PcV/0f SMGBL/TQw4o2PcnBiZG3A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:content-type:x-system-of-record; b=eUrCAyXxtxB58Rehsupe2UWAsXapQZTVCflj3MYZ+PT8+YVLUsiN+5xHcUGtpL1tW 4H8Ml/PFWKY2hF9mUheJA==
Received: from wyi11 (wyi11.prod.google.com [10.241.227.11]) by hpaq5.eem.corp.google.com with ESMTP id p8DKNZFx010972 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 13:23:55 -0700
Received: by wyi11 with SMTP id 11so993048wyi.0 for <websec@ietf.org>; Tue, 13 Sep 2011 13:23:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=fjiD4pZB59JiSSqm/vRBGBP34m0Ip42lsW81ec5fHeE=; b=lObkSP1Q+XkP/ZCXnNoyO4lN+CteOaR1/ARv+ENN5i89mMYt98pzjqfHAbWgA5D5Rl MK8YVtmzj4QmMYL89Weg==
Received: by 10.216.220.220 with SMTP id o70mr1100123wep.19.1315945435492; Tue, 13 Sep 2011 13:23:55 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.220.220 with SMTP id o70mr1100119wep.19.1315945435331; Tue, 13 Sep 2011 13:23:55 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 13 Sep 2011 13:23:55 -0700 (PDT)
In-Reply-To: <4E6FB0E7.5050903@fifthhorseman.net>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <4E6FB0E7.5050903@fifthhorseman.net>
Date: Tue, 13 Sep 2011 13:23:55 -0700
Message-ID: <CAOuvq21+gieLgoZBanRURUiM3Ue4VtrR_zxx6CQMbY478NjnpA@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: websec@ietf.org
Content-Type: text/plain; charset=UTF-8
X-System-Of-Record: true
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 20:21:51 -0000

On Tue, Sep 13, 2011 at 12:37 PM, Daniel Kahn Gillmor
<dkg@fifthhorseman.net> wrote:

> So certificate pinning isn't bad in this case -- CA Certificate pinning
> is bad.

Not even that, really. Pinning your CA and not having a backup pin
that chains up to a different CA is the bad thing.

From gerv@mozilla.org  Tue Sep 13 13:36:48 2011
Return-Path: <gerv@mozilla.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5FDC721F8C88 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:36:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level: 
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 jmZpCUe0E+hP for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:36:47 -0700 (PDT)
Received: from dm-mail03.mozilla.org (dm-mail03.mozilla.org [63.245.208.213]) by ietfa.amsl.com (Postfix) with ESMTP id 7FB7921F8C85 for <websec@ietf.org>; Tue, 13 Sep 2011 13:36:47 -0700 (PDT)
Received: from [172.16.168.226] (unknown [216.1.177.100]) (Authenticated sender: gerv@mozilla.org) by dm-mail03.mozilla.org (Postfix) with ESMTP id DF98E4AEDAF; Tue, 13 Sep 2011 13:38:53 -0700 (PDT)
Message-ID: <4E6FBF5D.9040509@mozilla.org>
Date: Tue, 13 Sep 2011 13:38:53 -0700
From: Gervase Markham <gerv@mozilla.org>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20110808 Thunderbird/6.0
MIME-Version: 1.0
To: Marsh Ray <marsh@extendedsubset.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <4E6FB7CB.3020309@extendedsubset.com>
In-Reply-To: <4E6FB7CB.3020309@extendedsubset.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 20:36:48 -0000

On 13/09/11 13:06, Marsh Ray wrote:
> Or not, like the Dutch government, have the pull to convince Mozilla to
> hesitate for a few days to revoke your pwned CA.

That is rather unfair. You make it sound like they asked, and we
complied. In truth, we relied on an assessment of the situation from
GovCERT, the Dutch CERT - who have a decent reputation. When their
assessment changed, we changed our position; whether they should have
made their initial assessment the way they did is a good question, and
one which concerned parties should ask them.

It is certainly not an obvious truth, even more so in the heat of the
moment, that a compromise of one part of a certificate hierarchy at a CA
necessarily means that an entirely different one is also compromised. It
may, it may not - that depends on the arrangement and interlinking or
otherwise of the issuance systems.

Anyway, regardless, the situation is more complex than your allegation
of back-room influence.

Gerv

From asteingruebl@paypal-inc.com  Tue Sep 13 13:40:16 2011
Return-Path: <asteingruebl@paypal-inc.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 273E911E80C9 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:40:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.117
X-Spam-Level: 
X-Spam-Status: No, score=-9.117 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, DNS_FROM_RFC_BOGUSMX=1.482, RCVD_IN_DNSWL_HI=-8]
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 csAvedLTgOWv for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:40:15 -0700 (PDT)
Received: from den-mipot-002.corp.ebay.com (den-mipot-002.corp.ebay.com [216.113.175.153]) by ietfa.amsl.com (Postfix) with ESMTP id 850E611E80BB for <websec@ietf.org>; Tue, 13 Sep 2011 13:40:15 -0700 (PDT)
DomainKey-Signature: s=ppinc; d=paypal-inc.com; c=nofws; q=dns; h=X-EBay-Corp:X-IronPort-AV:Received:Received:From:To:CC: Date:Subject:Thread-Topic:Thread-Index:Message-ID: References:In-Reply-To:Accept-Language:Content-Language: X-MS-Has-Attach:X-MS-TNEF-Correlator:acceptlanguage: x-ems-proccessed:x-ems-stamp:Content-Type: Content-Transfer-Encoding:MIME-Version:X-CFilter; b=l7j9CoZIoQRJr3FScgb5XdNfS1SmAGeOuWepKpGQ7kY/6CGMgKUIgugC T+CCLuNV2VxeH+MsusqDx9RJJva2IDBXS5R8PJ/2Wj/BpMjfKqdxQ0ra4 7kcDJN+M1coHPzz;
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paypal-inc.com; i=asteingruebl@paypal-inc.com; q=dns/txt; s=ppinc; t=1315946543; x=1347482543; h=from:to:cc:date:subject:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=jttAiALAPW3MBksOcDbvS73hferVFjbzv5pIb8iw1p4=; b=Lfr/Wqf6Lx5oYp5uE1iblWYFYuo/Y27BmMOW065p7fiyjyUDqHhmf+DY lWAMI6Yd03kPXFIpepMNNxMPGOpDLbWELyEOvPuYILT4pYvJuw0T+gZYe MOYjoe8K07ZjzNC;
X-EBay-Corp: Yes
X-IronPort-AV: E=Sophos;i="4.68,375,1312182000";  d="scan'208";a="3876492"
Received: from den-vtenf-002.corp.ebay.com (HELO DEN-MEXHT-002.corp.ebay.com) ([10.101.112.213]) by den-mipot-002.corp.ebay.com with ESMTP; 13 Sep 2011 13:42:22 -0700
Received: from DEN-MEXMS-001.corp.ebay.com ([10.241.16.225]) by DEN-MEXHT-002.corp.ebay.com ([10.241.17.53]) with mapi; Tue, 13 Sep 2011 14:42:22 -0600
From: "Steingruebl, Andy" <asteingruebl@paypal-inc.com>
To: Marsh Ray <marsh@extendedsubset.com>, Yoav Nir <ynir@checkpoint.com>
Date: Tue, 13 Sep 2011 14:42:21 -0600
Thread-Topic: [websec] Certificate Pinning via HSTS (.txt version)
Thread-Index: AcxyUL4PnQmGY4ETQHWeWUEo7RiAygABKO6w
Message-ID: <5EE049BA3C6538409BBE6F1760F328ABEBD6040B5A@DEN-MEXMS-001.corp.ebay.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <4E6FB7CB.3020309@extendedsubset.com>
In-Reply-To: <4E6FB7CB.3020309@extendedsubset.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
x-ems-proccessed: 10SqDH0iR7ekR7SRpKqm5A==
x-ems-stamp: iCZbWlMU6SG5XUwjF3GOeA==
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter: Scanned
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 20:40:16 -0000

> -----Original Message-----
> From: websec-bounces@ietf.org [mailto:websec-bounces@ietf.org] On
> Behalf Of Marsh Ray
>=20
> What if they maliciously pinned you to a floundering CA?

What is they compromised your DNS server and sent out bogus A records with =
a crazy long TTL? =20

I think trying to make HSTS and TLS, protocols that rely on a private key s=
taying secret, resilient completely against a key compromise, for all manne=
r of attacks, simply isn't practical....

- Andy

From marsh@extendedsubset.com  Tue Sep 13 13:56:10 2011
Return-Path: <marsh@extendedsubset.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 668D611E80ED for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:56:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.574
X-Spam-Level: 
X-Spam-Status: No, score=-2.574 tagged_above=-999 required=5 tests=[AWL=0.025,  BAYES_00=-2.599]
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 dRB6EbPvfUFp for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:56:09 -0700 (PDT)
Received: from mho-01-ewr.mailhop.org (mho-03-ewr.mailhop.org [204.13.248.66]) by ietfa.amsl.com (Postfix) with ESMTP id D704111E80E5 for <websec@ietf.org>; Tue, 13 Sep 2011 13:56:09 -0700 (PDT)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-01-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from <marsh@extendedsubset.com>) id 1R3a3c-000E2y-Pd; Tue, 13 Sep 2011 20:58:16 +0000
Received: from [192.168.1.15] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id 91ED86067; Tue, 13 Sep 2011 20:58:14 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX19kD/C3gGqEZp3cLGwwRmq5WKc/hVmiyoQ=
Message-ID: <4E6FC3E8.8040201@extendedsubset.com>
Date: Tue, 13 Sep 2011 15:58:16 -0500
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: Gervase Markham <gerv@mozilla.org>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <4E6FB7CB.3020309@extendedsubset.com> <4E6FBF5D.9040509@mozilla.org>
In-Reply-To: <4E6FBF5D.9040509@mozilla.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 20:56:10 -0000

On 09/13/2011 03:38 PM, Gervase Markham wrote:
> On 13/09/11 13:06, Marsh Ray wrote:
>> Or not, like the Dutch government, have the pull to convince Mozilla to
>> hesitate for a few days to revoke your pwned CA.
>
> That is rather unfair. You make it sound like they asked, and we
> complied. In truth, we relied on an assessment of the situation from
> GovCERT, the Dutch CERT - who have a decent reputation. When their
> assessment changed, we changed our position; whether they should have
> made their initial assessment the way they did is a good question, and
> one which concerned parties should ask them.
>
> It is certainly not an obvious truth, even more so in the heat of the
> moment, that a compromise of one part of a certificate hierarchy at a CA
> necessarily means that an entirely different one is also compromised. It
> may, it may not - that depends on the arrangement and interlinking or
> otherwise of the issuance systems.
>
> Anyway, regardless, the situation is more complex than your allegation
> of back-room influence.

Yes, I believe that and apologize if I characterized it unfairly.

That was just the impression I was left with reading the various 
explanations and interpretations of what was going on over those few 
days. I'm sure they weren't very accurate.

I can only imagine how hectic that process was for the parties involved 
and how complex a decision it must have been. Please understand that 
folks like me are looking it at all through a somewhat obscured window.

Sorry again.

- Marsh

From palmer@google.com  Tue Sep 13 13:59:00 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9308711E80E5 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:59:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 NWW5qR6VnHYQ for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 13:59:00 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id F110C11E80DB for <websec@ietf.org>; Tue, 13 Sep 2011 13:58:59 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [172.25.149.3]) by smtp-out.google.com with ESMTP id p8DL16LL007591 for <websec@ietf.org>; Tue, 13 Sep 2011 14:01:06 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315947666; bh=VXXJyUKwhwBgGSfND1P6tMyILvs=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Content-Type:Content-Transfer-Encoding; b=sonEAwUROwSa4l5W6PdqGhRMeofeFCMIcS+kbSNWIOliFc4T+HaV+raNO191wch+I AVixXk7MDz25V4YdRYE5g==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:content-type: content-transfer-encoding:x-system-of-record; b=B66FVA9LpiBQ3c/ZBSUOIygMp3eLDVnHrN8N9NHgua2U1HZJRPIKXlSkAqjf4hhAb 2/MzpldjnPisvhvxIvA+Q==
Received: from wyf22 (wyf22.prod.google.com [10.241.226.86]) by hpaq3.eem.corp.google.com with ESMTP id p8DL0pO0029105 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 14:01:05 -0700
Received: by wyf22 with SMTP id 22so1000578wyf.32 for <websec@ietf.org>; Tue, 13 Sep 2011 14:01:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=Fd9I99QgYuqIjXhp3sG9Jq+Ctad5viv7L5zAjvT0DHg=; b=w84LLilVbHq1adRVw2DUAMed9uBiYd4skD+ryelcXKN4eNSKk0tOULmlDbmxNuKH17 XTcTfRL5Dfb39aNkqh/g==
Received: by 10.216.71.5 with SMTP id q5mr1478799wed.4.1315947158400; Tue, 13 Sep 2011 13:52:38 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.71.5 with SMTP id q5mr1464586wed.4.1315946147994; Tue, 13 Sep 2011 13:35:47 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 13 Sep 2011 13:35:47 -0700 (PDT)
In-Reply-To: <4E6FB7CB.3020309@extendedsubset.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <4E6FB7CB.3020309@extendedsubset.com>
Date: Tue, 13 Sep 2011 13:35:47 -0700
Message-ID: <CAOuvq20H+pG1AF0u-=-Ow9oR=uGRb-wDwrFE6dPmT=HbvnO6VA@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: Marsh Ray <marsh@extendedsubset.com>, IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 20:59:00 -0000

On Tue, Sep 13, 2011 at 1:06 PM, Marsh Ray <marsh@extendedsubset.com> wrote=
:

> Q: What kind of pinning would we recommend to our friend or family member
> who runs his business on the web?
> Right now he has his domain registration and cert from GoDaddy.

They could also buy a cert from StartSSL, and keep it on a USB token
in a safe, in case of emergency. I.e., everyone who does pinning
should have a backup pin.

But, currently, we are saying this about that:

"""Deploying certificate pinning safely will require operational and
organizational maturity due to the risk that HSTS Hosts may "brick"
themselves by pinning to a certificate that becomes invalid."""

"""The disaster recovery plans described above all incur new costs for
site operators, and increase the size of the certificate
market. Arguably, well-run sites had already absorbed these costs
because (e.g.) backup certificates from different CAs were necessary
disaster recovery mechanisms even before certificate pinning. Small
sites =E2=80=94 which although small might still need to provide good
security =E2=80=94 may not be able to afford the disaster recovery mechanis=
ms
we recommend. (The cost of the backup certificate is not the issue; it
is more the operational costs in safely storing the backup and testing
that it works.) Thus, low-risk pinning may be available only to large
sites; small sites may have to choose no pinning or potentially
bricking their site (up to the maxAge window). This is not worse than
the status quo."""

From hallam@gmail.com  Tue Sep 13 14:06:34 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BE1CE21F84DD for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 14:06:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.466
X-Spam-Level: 
X-Spam-Status: No, score=-3.466 tagged_above=-999 required=5 tests=[AWL=0.132,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 1Vd+wfLTmWMp for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 14:06:34 -0700 (PDT)
Received: from mail-yx0-f172.google.com (mail-yx0-f172.google.com [209.85.213.172]) by ietfa.amsl.com (Postfix) with ESMTP id E871F21F84D1 for <websec@ietf.org>; Tue, 13 Sep 2011 14:06:33 -0700 (PDT)
Received: by yxt33 with SMTP id 33so938412yxt.31 for <websec@ietf.org>; Tue, 13 Sep 2011 14:08:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Q+gZVcFkxhH+9tv2gEEDgyHirD8q5liPsyBvYaPkrFM=; b=LfmE/QS4SZVLooaIlxHdhAV1J+DtJul1N6iRO8RgbXrDmSk87Ic+1xj9aBZLLVtINf s/ht6RJPlg49hnGzwtlKMKtEWC7Mb3fm/mofofTF72U+iY853vVZQqzUr3WF9fovvH91 vuIcTxmk/cVjGh2mezBsGP8Socv+xdXOorGGk=
MIME-Version: 1.0
Received: by 10.100.215.16 with SMTP id n16mr4155770ang.8.1315948120955; Tue, 13 Sep 2011 14:08:40 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Tue, 13 Sep 2011 14:08:40 -0700 (PDT)
In-Reply-To: <4E6FB0E7.5050903@fifthhorseman.net>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <4E6FB0E7.5050903@fifthhorseman.net>
Date: Tue, 13 Sep 2011 17:08:40 -0400
Message-ID: <CAMm+LwgOYRHtMfhi1hPMxTRH=fTwyHsS42BK2y6oU0Uv-J=g4w@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: websec@ietf.org
Content-Type: multipart/alternative; boundary=0016368e20584adbac04acd90c6b
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 21:06:35 -0000

--0016368e20584adbac04acd90c6b
Content-Type: text/plain; charset=ISO-8859-1

That is a good point.

But in the Diginotar case the CA root was revoked so that could be dealt
with by saying that a client should unpin a cert when it has been revoked
(or part of the chain has been revoked).

Another tool that we could use here is to push out an 'unpin' statement in
whatever mechanism we develop for data driven revocation.


On Tue, Sep 13, 2011 at 3:37 PM, Daniel Kahn Gillmor
<dkg@fifthhorseman.net>wrote:

> On 09/13/2011 02:41 PM, Yoav Nir wrote:
>
> > the customers of DigiNotar were left
> > out in the cold. Without certificate pinning, they just need to spend
> > money on a new certificate and their site is working again. With it,
> > they are in trouble.
>
> With *CA* pinning, DigiNotar customers are definitely in serious trouble
> (which is why i asked earlier about the advantage of pinning any thing
> but the EE cert).  But if they had pinned their EE certs,  they would
> have been able to resist even if Diginotar had issued certs with their
> same name.
>
> So certificate pinning isn't bad in this case -- CA Certificate pinning
> is bad.
>
>        --dkg
>
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>
>


-- 
Website: http://hallambaker.com/

--0016368e20584adbac04acd90c6b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

That is a good point.=A0<div><br></div><div>But in the Diginotar case the C=
A root was revoked so that could be dealt with by saying that a client shou=
ld unpin a cert when it has been revoked (or part of the chain has been rev=
oked).</div>
<div><br></div><div>Another tool that we could use here is to push out an &=
#39;unpin&#39; statement in whatever mechanism we develop for data driven r=
evocation.</div><div><br><br><div class=3D"gmail_quote">On Tue, Sep 13, 201=
1 at 3:37 PM, Daniel Kahn Gillmor <span dir=3D"ltr">&lt;<a href=3D"mailto:d=
kg@fifthhorseman.net">dkg@fifthhorseman.net</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;"><div class=3D"im">On 09/13/2011 02:41 PM, Y=
oav Nir wrote:<br>
<br>
&gt; the customers of DigiNotar were left<br>
&gt; out in the cold. Without certificate pinning, they just need to spend<=
br>
&gt; money on a new certificate and their site is working again. With it,<b=
r>
&gt; they are in trouble.<br>
<br>
</div>With *CA* pinning, DigiNotar customers are definitely in serious trou=
ble<br>
(which is why i asked earlier about the advantage of pinning any thing<br>
but the EE cert). =A0But if they had pinned their EE certs, =A0they would<b=
r>
have been able to resist even if Diginotar had issued certs with their<br>
same name.<br>
<br>
So certificate pinning isn&#39;t bad in this case -- CA Certificate pinning=
<br>
is bad.<br>
<font color=3D"#888888"><br>
 =A0 =A0 =A0 =A0--dkg<br>
<br>
</font><br>_______________________________________________<br>
websec mailing list<br>
<a href=3D"mailto:websec@ietf.org">websec@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/websec" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/websec</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Website:=
 <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br><br>
</div>

--0016368e20584adbac04acd90c6b--

From davidillsley@gmail.com  Tue Sep 13 14:22:02 2011
Return-Path: <davidillsley@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A7E9A11E80EC for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 14:22:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.598
X-Spam-Level: 
X-Spam-Status: No, score=-3.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 YO94ct9skdHv for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 14:22:01 -0700 (PDT)
Received: from mail-wy0-f172.google.com (mail-wy0-f172.google.com [74.125.82.172]) by ietfa.amsl.com (Postfix) with ESMTP id 3188211E80CA for <websec@ietf.org>; Tue, 13 Sep 2011 14:22:01 -0700 (PDT)
Received: by wyg24 with SMTP id 24so1019032wyg.31 for <websec@ietf.org>; Tue, 13 Sep 2011 14:24:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :message-id:references:to:x-mailer; bh=mwe3Apu8ZPOWOrBDkqAges/ElfaHQNHjvKaddTGQud8=; b=FD57F4p69nS+OgpF/9wYajU+Tw8/PLV37MwMss+sq8ulhV4oKWr7z8x8N9ocgO2oU8 5sr5Q/FU6BZO/8Y3vOOghEx1wS9xJwRlC7yJDjHROTwi/FFx5N5XHHwZzKyG5Udc6uSm +wh6ljxuGaLXHmGZrmO8MjYG66Sm4fXyOI7hg=
Received: by 10.216.138.142 with SMTP id a14mr1395239wej.63.1315949047701; Tue, 13 Sep 2011 14:24:07 -0700 (PDT)
Received: from unknown-04-0c-ce-d5-9a-fe.config (87-194-130-80.bethere.co.uk. [87.194.130.80]) by mx.google.com with ESMTPS id o7sm1857095wbh.8.2011.09.13.14.24.05 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 13 Sep 2011 14:24:06 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1244.3)
Content-Type: multipart/alternative; boundary="Apple-Mail=_86974CBF-479A-411D-BF84-B71614AEA966"
From: davidillsley@gmail.com
In-Reply-To: <CAOuvq20H+pG1AF0u-=-Ow9oR=uGRb-wDwrFE6dPmT=HbvnO6VA@mail.gmail.com>
Date: Tue, 13 Sep 2011 22:24:05 +0100
Message-Id: <6D3E0CA6-E990-4D89-9AEE-C03066D0656E@gmail.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <4E6FB7CB.3020309@extendedsubset.com> <CAOuvq20H+pG1AF0u-=-Ow9oR=uGRb-wDwrFE6dPmT=HbvnO6VA@mail.gmail.com>
To: Chris Palmer <palmer@google.com>
X-Mailer: Apple Mail (2.1244.3)
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 21:22:02 -0000

--Apple-Mail=_86974CBF-479A-411D-BF84-B71614AEA966
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On 13 Sep 2011, at 21:35, Chris Palmer wrote:
> <snip>
> sites; small sites may have to choose no pinning or potentially
> bricking their site (up to the maxAge window). This is not worse than
> the status quo."""

What about sites which don't currently use https at all? The DNS records =
for theregister.co.uk were redirected the other week. An attacker who =
could do that could redirect to https, then set a very long max-age pin. =
At that point, they'd be dependent on the browser vendor unpinning =
affected users, right?
David


--Apple-Mail=_86974CBF-479A-411D-BF84-B71614AEA966
Content-Transfer-Encoding: 7bit
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 13 Sep 2011, at 21:35, Chris Palmer wrote:</div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000">&lt;snip&gt;<br></font>sites; small sites may have to choose no pinning or potentially<br>bricking their site (up to the maxAge window). This is not worse than<br>the status quo."""</div></blockquote><br></div><div>What about sites which don't currently use https at all? The DNS records for <a href="http://theregister.co.uk">theregister.co.uk</a> were redirected the other week. An attacker who could do that could redirect to https, then set a very long max-age pin. At that point, they'd be dependent on the browser vendor unpinning affected users, right?</div><div>David</div><div><br></div></body></html>
--Apple-Mail=_86974CBF-479A-411D-BF84-B71614AEA966--

From hallam@gmail.com  Tue Sep 13 14:38:18 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5433411E8113 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 14:38:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.467
X-Spam-Level: 
X-Spam-Status: No, score=-3.467 tagged_above=-999 required=5 tests=[AWL=0.131,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 YnsAux4hht4B for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 14:38:17 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by ietfa.amsl.com (Postfix) with ESMTP id F073C11E810A for <websec@ietf.org>; Tue, 13 Sep 2011 14:38:16 -0700 (PDT)
Received: by gyd12 with SMTP id 12so962257gyd.31 for <websec@ietf.org>; Tue, 13 Sep 2011 14:40:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=uM8yOwZiKSr/T17WP7sBcy11THrDNsNUK3WzkyqnAwM=; b=Z8QlGP5RP+XN+LNYT80K/1GGGvlgmFo5R5i5wwf1tPjH0eYZ6Ga5W9+Il2yImXP16j 1mYqV5CaL14l25DB2YbpF/7xrZ6QXUWH+c8dHBY/rHu+91xH3UPxjTS2nEegHpGJl3ga GQpzVMfODgkgyxfCvnYhPwFEAOJihWE0wLKrU=
MIME-Version: 1.0
Received: by 10.100.215.16 with SMTP id n16mr4181952ang.8.1315950023225; Tue, 13 Sep 2011 14:40:23 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Tue, 13 Sep 2011 14:40:23 -0700 (PDT)
In-Reply-To: <CAOuvq20UOvL3QTMMmskzPE20os_Yv57Kx_2Sntr8ap0nr+xxeQ@mail.gmail.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <CA+cU71=7tM9tS6bAddiLDtOBTX_DH3cebEd5dM=1DSMKXUMdjw@mail.gmail.com> <4E6F62EE.2070409@cisco.com> <CAOuvq20UOvL3QTMMmskzPE20os_Yv57Kx_2Sntr8ap0nr+xxeQ@mail.gmail.com>
Date: Tue, 13 Sep 2011 17:40:23 -0400
Message-ID: <CAMm+Lwiv4RLMXOjA+mKzranFyrwngx6LS8BSd_jToteFbvJ7LQ@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Chris Palmer <palmer@google.com>
Content-Type: multipart/alternative; boundary=0016368e2058ad337804acd97dce
Cc: Chris Evans <cevans@google.com>, websec@ietf.org
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 21:38:18 -0000

--0016368e2058ad337804acd97dce
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

I think we have a potential convergence here between four sets of security
policy data and four delivery mechanisms:

A) Revocation information for certs/roots
B) Security protocol policy 'MUST USE TLS'
C) Security Trust Policy 'use only this CA'
D) Reporting

1) Data baked into the browser
2) Data pushed out to the browser in a signed format out of band
3) Data acquired by the browser from HTTP headers
4) Data acquired by the browser via DNS/DNSSEC

The first clearly does not scale but has huge leverage since ten domains
represent the biggest targets on the net for certain typs of criminal
behavior.

The second does not scale either but provides us with a vital tool to use
when responding to an actual in-progress attack.

The third scales but only gives secure after first contact. It is difficult
to see how far hardfail will be practical.

The fourth scales but is dependent on deployment of infrastructure and
access to that infrastructure which means that it is going to be some time
before clients can hardfail if the data is not available.


Having the three mechanisms using a common data format allows for an agile
approach to response.

For example let us imagine that paymentgate.com is attacked and a bogus cer=
t
is issued.

paymentgate.com has decided that it is a likely target for attack and has
implemented and published a security policy through DNS records and
published it with DNSSEC.

paymentgate.com is not however sufficiently prominent to be amongst 10 or s=
o
security policies that are baked into browsers.


A client that has _reliable_ access to DNSSEC data will detect the bogus
cert and reject it. But that is only going to be effective if the browser
can hardfail if the DNSSEC data is not present. If Iran is performing a
network level MITM attack you can be certain that they will strip all DNSSE=
C
data the minute that any deployed clients start relying on it.

So perversely DNSSEC only provides direct security for the people who are
not likely being attacked. :-(

We can however get some DNSSEC data through using other channels and so it
is quite reasonable to expect that we can get a notification that the attac=
k
is in in progress by those clients reading the security policy data in the
DNS and then making use of whatever reporting infrastructure we build into
those clients.


However we have the option of using the Langley/Kaminsky hack of pickling a
chain of DNS data and putting it into another signed object. For example a
certificate or an OCSP token.

So when a report is received, the browser provider looks at the taget(s) of
the attack and can attempt to retrieve security policy from the DNS. If
there is a published policy they can decide to add paymentgate.com to the
list of data driven security policy they push out.


So in summary, I would like to address all four delivery mechanisms as if
they are merely different delivery mechanisms for the same data types.


Despite that, I would like all three mechanisms to employ the
On Tue, Sep 13, 2011 at 2:11 PM, Chris Palmer <palmer@google.com> wrote:

> Hi everybody,
>
> Thanks for your comments and questions =97 good ones! I'll try to
> address them in the XMLified draft that I'm working on now, and which
> I'll send out today.
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>



--=20
Website: http://hallambaker.com/

--0016368e2058ad337804acd97dce
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

I think we have a potential convergence here between four sets of security =
policy data and four delivery mechanisms:<div><br></div><div>A) Revocation =
information for certs/roots</div><div>B) Security protocol policy &#39;MUST=
 USE TLS&#39;</div>
<div>C) Security Trust Policy &#39;use only this CA&#39;</div><div>D) Repor=
ting</div><div><div><br></div><div><div>1) Data baked into the browser</div=
><div>2) Data pushed out to the browser in a signed format out of band</div=
>
<div>3) Data acquired by the browser from HTTP headers</div><div>4) Data ac=
quired by the browser via DNS/DNSSEC</div><div><br></div><div>The first cle=
arly does not scale but has huge leverage since ten domains represent the b=
iggest targets on the net for certain typs of criminal behavior.</div>
<div><br></div><div>The second does not scale either but provides us with a=
 vital tool to use when responding to an actual in-progress attack.=A0</div=
><div><br></div><div>The third scales but only gives secure after first con=
tact. It is difficult to see how far hardfail will be practical.</div>
<div><br></div><div>The fourth scales but is dependent on deployment of inf=
rastructure and access to that infrastructure which means that it is going =
to be some time before clients can hardfail if the data is not available.=
=A0</div>
<div><br></div><div><br></div><div>Having the three mechanisms using a comm=
on data format allows for an agile approach to response.</div><div><br></di=
v><div>For example let us imagine that <a href=3D"http://paymentgate.com">p=
aymentgate.com</a> is attacked and a bogus cert is issued.</div>
<div><br></div><div><a href=3D"http://paymentgate.com">paymentgate.com</a> =
has decided that it is a likely target for attack and has implemented and p=
ublished a security policy through DNS records and published it with DNSSEC=
.</div>
<div><br></div><div><a href=3D"http://paymentgate.com">paymentgate.com</a> =
is not however sufficiently prominent to be amongst 10 or so security polic=
ies that are baked into browsers.</div><div><br></div><div><br></div><div>
A client that has _reliable_ access to DNSSEC data will detect the bogus ce=
rt and reject it. But that is only going to be effective if the browser can=
 hardfail if the DNSSEC data is not present. If Iran is performing a networ=
k level MITM attack you can be certain that they will strip all DNSSEC data=
 the minute that any deployed clients start relying on it.=A0</div>
<div><br></div><div>So perversely DNSSEC only provides direct security for =
the people who are not likely being attacked. :-(</div><div><br></div><div>=
We can however get some DNSSEC data through using other channels and so it =
is quite reasonable to expect that we can get a notification that the attac=
k is in in progress by those clients reading the security policy data in th=
e DNS and then making use of whatever reporting infrastructure we build int=
o those clients.</div>
<div><br></div><div><br></div><div>However we have the option of using the =
Langley/Kaminsky hack of pickling a chain of DNS data and putting it into a=
nother signed object. For example a certificate or an OCSP token.</div>
<div><br></div><div>So when a report is received, the browser provider look=
s at the taget(s) of the attack and can attempt to retrieve security policy=
 from the DNS. If there is a published policy they can decide to add=A0<a h=
ref=3D"http://paymentgate.com">paymentgate.com</a> to the list of data driv=
en security policy they push out.</div>
<div><br></div><div><br></div><div>So in summary, I would like to address a=
ll four delivery mechanisms as if they are merely different delivery mechan=
isms for the same data types.</div><div><br></div><div><br></div><div>Despi=
te that, I would like all three mechanisms to employ the=A0<br>
<div class=3D"gmail_quote">On Tue, Sep 13, 2011 at 2:11 PM, Chris Palmer <s=
pan dir=3D"ltr">&lt;<a href=3D"mailto:palmer@google.com">palmer@google.com<=
/a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi everybody,<br>
<br>
Thanks for your comments and questions =97 good ones! I&#39;ll try to<br>
address them in the XMLified draft that I&#39;m working on now, and which<b=
r>
I&#39;ll send out today.<br>
<div><div></div><div class=3D"h5">_________________________________________=
______<br>
websec mailing list<br>
<a href=3D"mailto:websec@ietf.org">websec@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/websec" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/websec</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Website: <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br=
><br>
</div></div></div>

--0016368e2058ad337804acd97dce--

From palmer@google.com  Tue Sep 13 14:53:41 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9632311E812A for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 14:53:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.677
X-Spam-Level: 
X-Spam-Status: No, score=-105.677 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_34=0.6, RCVD_IN_DNSWL_MED=-4, 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 qhNfNbEhE-xS for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 14:53:41 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id D78D811E8129 for <websec@ietf.org>; Tue, 13 Sep 2011 14:53:40 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id p8DLtkET010647 for <websec@ietf.org>; Tue, 13 Sep 2011 14:55:47 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315950947; bh=ZDI792jBLbL0xAh/cD85MYfWXlk=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=sicBLpN/ONzSnZop6EWGq8t3Vp7PPt58RayausFo/9QJdvXv2QvoEuLvesMjmx2eW ISJQI1L+4zJtHkEAINHnQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:cc:content-type: content-transfer-encoding:x-system-of-record; b=qDZ4QNn/M1FXw/nnQkx7kPJxaJio/z8uOThBk9rK8t2jS6vwkZIoiTFX57Bx7gS3r Mi06vA1T3tFOyBjxS745w==
Received: from wwi18 (wwi18.prod.google.com [10.241.243.18]) by wpaz29.hot.corp.google.com with ESMTP id p8DLtWEd021479 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 14:55:45 -0700
Received: by wwi18 with SMTP id 18so1254713wwi.3 for <websec@ietf.org>; Tue, 13 Sep 2011 14:55:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=0mUR8h/M0jbcymyPVv7iT2O6efj5YqvGQBYrU5UwU6Q=; b=yFjAnOQ3GUlhvXYv0Z0ZSNZjveh8uNuW0O37MisUkkP2DQbkmmfdZ4ee+o0OrmK1YN xRke/bwQoPxizbbJhq7w==
Received: by 10.216.220.220 with SMTP id o70mr1174223wep.19.1315950940779; Tue, 13 Sep 2011 14:55:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.220.220 with SMTP id o70mr1174121wep.19.1315950932971; Tue, 13 Sep 2011 14:55:32 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 13 Sep 2011 14:55:32 -0700 (PDT)
In-Reply-To: <4E6F5056.800@fifthhorseman.net>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <4E6F5056.800@fifthhorseman.net>
Date: Tue, 13 Sep 2011 14:55:32 -0700
Message-ID: <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: websec@ietf.org
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: Chris Evans <cevans@google.com>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 21:53:41 -0000

On Tue, Sep 13, 2011 at 5:45 AM, Daniel Kahn Gillmor
<dkg@fifthhorseman.net> wrote:

> From my perspective, i see no advantage to pinning any of the CAs -- if
> your EE is compromised, you're sunk. =C2=A0And since the mechanism provid=
es a
> mechanism (and nice instructions, thanks) for transition to an emergency
> offline backup EE key+cert, that is all handled well.

In the case of normal EE certificate expiration =E2=80=94 as opposed to
compromise =E2=80=94 if you are pinned to (say) an intermediary signer, you
can just get a fresh certificate from the same signer, deploy it, and
change nothing else.

Conversely, if you had pinned to an EE, you'd need to follow a
procedure something like this near expiration time:

0. Generate the new cert.
1. Change your pins directive to include the new and the old public
key fingerprints.
2. Wait long enough for "most, surely?" of your users to have received
the new pins, or for their pins to expire by the normal maxAge means.
3. Decommission the old EE cert and deploy the new.

Maybe that sounds reasonably easy to you, and you just never want to
pin to a signer's public key. That's ok. Our goal with the "you can
pin to any public key(s) in your cert chain" idea was to maximize
flexibility and enable a range of policies and practices, knowing that
one size does not fit all but that all achieve the goal.

You could, of course, also just re-use your old key pair and get it
re-signed, and no need to migrate keys as well as certs. In that case,
no problem. Again, that's fine and one size does not fit all.

From palmer@google.com  Tue Sep 13 15:00:12 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2802A21F84FD for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:00:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.877
X-Spam-Level: 
X-Spam-Status: No, score=-105.877 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 rQZ-iTchit16 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:00:11 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id 460A121F84FA for <websec@ietf.org>; Tue, 13 Sep 2011 15:00:11 -0700 (PDT)
Received: from hpaq2.eem.corp.google.com (hpaq2.eem.corp.google.com [172.25.149.2]) by smtp-out.google.com with ESMTP id p8DM2HsT016597 for <websec@ietf.org>; Tue, 13 Sep 2011 15:02:17 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315951337; bh=M/1S0/wXdz+9EQ9A9fQWEQitlWs=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Content-Type:Content-Transfer-Encoding; b=ftC8FjIIj6qTLlCgwI9nYqrElgCatYI1mxaXBykm0hvNlXqmoWrzgrHE1DMb9wtoG OUcp06n6hxhK/mkG6OdTA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:content-type: content-transfer-encoding:x-system-of-record; b=CwtFOi8utQWzMIWePZqFBqEU6jzIfaxurtwYAjCOiI3ilTubuZuy4XFKlexjbpCOg SewCBgeFv1uq9Ik2AxQ5Q==
Received: from wwi36 (wwi36.prod.google.com [10.241.243.36]) by hpaq2.eem.corp.google.com with ESMTP id p8DM1rEv016136 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 15:02:16 -0700
Received: by wwi36 with SMTP id 36so1066096wwi.14 for <websec@ietf.org>; Tue, 13 Sep 2011 15:02:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=hSpwn3Gkfj8fUKBBBb48vqumQci8YbJMA/+9lotb+OI=; b=MjEKkOuY1Dy5MmRnzsEYIUkvqZfSZQI3Z9RM9RxZAho1AmBtKo9Lrp/QojX8PRFN+r DGpOm1IOYTMdGDQaKi3g==
Received: by 10.216.209.223 with SMTP id s73mr1054194weo.34.1315951336739; Tue, 13 Sep 2011 15:02:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.209.223 with SMTP id s73mr1054187weo.34.1315951336594; Tue, 13 Sep 2011 15:02:16 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 13 Sep 2011 15:02:16 -0700 (PDT)
In-Reply-To: <4E6F62EE.2070409@cisco.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <CA+cU71=7tM9tS6bAddiLDtOBTX_DH3cebEd5dM=1DSMKXUMdjw@mail.gmail.com> <4E6F62EE.2070409@cisco.com>
Date: Tue, 13 Sep 2011 15:02:16 -0700
Message-ID: <CAOuvq22f3e-wFjnKG2Xdb7ZUOJmHSKFb3dtcrnbtJMBDj9dOsA@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: Philip Gladstone <pgladsto@cisco.com>, websec@ietf.org
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 22:00:12 -0000

On Tue, Sep 13, 2011 at 7:04 AM, Philip Gladstone <pgladsto@cisco.com> wrot=
e:

[ snip questions about revocation =E2=80=94 I'm trying to think about and
clarify that stuff next ]

> Does this proposal also support self-signed certificates? I.e. if you
> connect to a site, accept the self-signed certificate, can that site then
> pin itself using that self-signed cert? I.e. can the validation of the ce=
rt
> chain stop as soon as there is a pin match?

This specification is agnostic on that issue. If your client lets you
accept self-signed certificates, then there's no reason it can't also
note it as a Known Pinned HSTS Host pinned to your self--signed public
key.

From marsh@extendedsubset.com  Tue Sep 13 15:28:17 2011
Return-Path: <marsh@extendedsubset.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 88CA621F8CAE for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:28:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.576
X-Spam-Level: 
X-Spam-Status: No, score=-2.576 tagged_above=-999 required=5 tests=[AWL=0.023,  BAYES_00=-2.599]
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 0EHV9BCW4RQO for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:28:12 -0700 (PDT)
Received: from mho-02-ewr.mailhop.org (mho-04-ewr.mailhop.org [204.13.248.74]) by ietfa.amsl.com (Postfix) with ESMTP id 7136E21F8CA5 for <websec@ietf.org>; Tue, 13 Sep 2011 15:28:07 -0700 (PDT)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-02-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from <marsh@extendedsubset.com>) id 1R3bUa-000I9T-W3; Tue, 13 Sep 2011 22:30:13 +0000
Received: from [192.168.1.15] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id A13376067; Tue, 13 Sep 2011 22:30:11 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1+Z/9pm0yhs22lMX4VrPlT5s6dS7r4ZSfM=
Message-ID: <4E6FD975.9010502@extendedsubset.com>
Date: Tue, 13 Sep 2011 17:30:13 -0500
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: davidillsley@gmail.com
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im>	<FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>	<4E6FB7CB.3020309@extendedsubset.com>	<CAOuvq20H+pG1AF0u-=-Ow9oR=uGRb-wDwrFE6dPmT=HbvnO6VA@mail.gmail.com> <6D3E0CA6-E990-4D89-9AEE-C03066D0656E@gmail.com>
In-Reply-To: <6D3E0CA6-E990-4D89-9AEE-C03066D0656E@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 22:28:17 -0000

On 09/13/2011 04:24 PM, davidillsley@gmail.com wrote:
>
> On 13 Sep 2011, at 21:35, Chris Palmer wrote:
>> <snip>
>> sites; small sites may have to choose no pinning or potentially
>> bricking their site (up to the maxAge window). This is not worse than
>> the status quo."""
>
> What about sites which don't currently use https at all? The DNS records
> for theregister.co.uk <http://theregister.co.uk> were redirected the
> other week. An attacker who could do that could redirect to https, then
> set a very long max-age pin. At that point, they'd be dependent on the
> browser vendor unpinning affected users, right?

Wouldn't they have to acquire a valid cert first? Not saying that's out 
of the realm of possibility, but...

I think you have a point. The whole premise of this is that there are 
circumstances under which some attacker can obtain such a cert. If this 
feature translates to a risk of perma-DoS for the (100.0 - epsilon)% of 
sites that don't adopt it immediately then it may be more dangerous than 
it's worth.

Consider an adversarial country like, say, Bananastan. They have an ISP 
or three, their own CA, and of course, no sense of humor.

They may one day be subject to some criticisms in the online press which 
they perceive as unfair. Or maybe something on a video sharing site is 
contrary to their customs and traditions.

So their local judge orders their local ISP to block the offending media 
provider. The ISP does this by advertising more specific BGP routes for 
the video site's netblocks(1).

Being mostly streaming data of little consequence, the video site has 
not yet set up HSTS or even has full support for HTTPS (2).

The ISP also sets the country's DNS resolvers to reply to name requests 
for the site with an IP address of a webserver where citizens can 
receive educational information(3).

To be sure they get everybody, they do something I didn't know could be 
done with DNS (4).

In order to save the the misguided users that accidentally used a 
subversive https: bookmark, the court orders the local CA to "do what it 
takes to make it work"(5).

And just to be sure the message sticks, they set a long term HSTS pin on 
this cert and/or their CA (6).

Hilarity ensues.

- Marsh



1. YouTube - Pakistan - 2008
http://www.circleid.com/posts/82258_pakistan_hijacks_youtube_closer_look
http://www.ripe.net/internet-coordination/news/industry-developments/youtube-hijacking-a-ripe-ncc-ris-case-study

2. http://youtube.com/


3. 
http://web.archive.org/web/20060418030141/http://chinadigitaltimes.net/2006/01/image_of_internet_police_jingjing_and_chacha_online_hon.php


4. China - 2010
https://lists.dns-oarc.net/pipermail/dns-operations/2010-March/005260.html
http://www.zdnet.co.uk/news/networking/2010/10/11/mystery-of-web-traffic-redirect-to-china-remains-unsolved-40090476/


5. [...]


6. Why wouldn't this attack work?


From hallam@gmail.com  Tue Sep 13 15:32:37 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AE00E21F8CAE for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:32:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.468
X-Spam-Level: 
X-Spam-Status: No, score=-3.468 tagged_above=-999 required=5 tests=[AWL=0.130,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 RrXFuQYXCKs9 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:32:33 -0700 (PDT)
Received: from mail-yi0-f44.google.com (mail-yi0-f44.google.com [209.85.218.44]) by ietfa.amsl.com (Postfix) with ESMTP id 9BF5021F8C43 for <websec@ietf.org>; Tue, 13 Sep 2011 15:32:27 -0700 (PDT)
Received: by yie12 with SMTP id 12so1006407yie.31 for <websec@ietf.org>; Tue, 13 Sep 2011 15:34:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=4zI8xxXCrDLhaNly1AaErBOHVAHE3RvzfWCFVNFo7ow=; b=EYgCPSi3EmOjO515bOA4SP6fuDwPNqHoYH1DkoCn27oD0eifXu9cQfb9BywXRxzgX9 XBpSVR5BYnp7oaa0JjVbceXICroph+W4Dr4hv8INJX18wvPM3yY4Rm4s6IhQjJyT5rzN +84LtdWJLb4TGazE+BjvIh9dR+8j/DfeBZdWs=
MIME-Version: 1.0
Received: by 10.101.11.36 with SMTP id o36mr5799472ani.74.1315953274824; Tue, 13 Sep 2011 15:34:34 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Tue, 13 Sep 2011 15:34:34 -0700 (PDT)
In-Reply-To: <6D3E0CA6-E990-4D89-9AEE-C03066D0656E@gmail.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <4E6FB7CB.3020309@extendedsubset.com> <CAOuvq20H+pG1AF0u-=-Ow9oR=uGRb-wDwrFE6dPmT=HbvnO6VA@mail.gmail.com> <6D3E0CA6-E990-4D89-9AEE-C03066D0656E@gmail.com>
Date: Tue, 13 Sep 2011 18:34:34 -0400
Message-ID: <CAMm+LwgmXOFcqYzv4_PaCHfwemV_okQR4hFbX8rgG8ZE93+k2w@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: davidillsley@gmail.com
Content-Type: multipart/alternative; boundary=0016e68ef4577ca9cc04acda3f52
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 22:32:37 -0000

--0016e68ef4577ca9cc04acda3f52
Content-Type: text/plain; charset=ISO-8859-1

I think that all this pinning stuff works a lot better if there is a
mechanism that allows a return to ground truth.

Since we are developing an Internet protocol, the mechanism for ground truth
should be DNS in my opinion.


It may be impractical to require DNSSEC secured responses in every case.
There are Denial of Communication issues (DoC) and there are real
performance concerns.

If however we are dealing with a case where an exception has occurred, it
seems reasonable to me for the response to be to attempt to pull DNSSEC
records via whatever guerilla mechanisms we end up deploying to bypass
censorship.


In other words, use pinning via HTTP header to provide pinning with minimal
performance impact but solve the tricky max age issues by relying on the DNS
and DNSSEC to provide ground truth when a policy violation is detected.

On Tue, Sep 13, 2011 at 5:24 PM, <davidillsley@gmail.com> wrote:

>
> On 13 Sep 2011, at 21:35, Chris Palmer wrote:
>
> <snip>
> sites; small sites may have to choose no pinning or potentially
> bricking their site (up to the maxAge window). This is not worse than
> the status quo."""
>
>
> What about sites which don't currently use https at all? The DNS records
> for theregister.co.uk were redirected the other week. An attacker who
> could do that could redirect to https, then set a very long max-age pin. At
> that point, they'd be dependent on the browser vendor unpinning affected
> users, right?
> David
>
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>
>


-- 
Website: http://hallambaker.com/

--0016e68ef4577ca9cc04acda3f52
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I think that all this pinning stuff works a lot better if there is a mechan=
ism that allows a return to ground truth.<div><br></div><div>Since we are d=
eveloping an Internet protocol, the mechanism for ground truth should be DN=
S in my opinion.</div>
<div><br></div><div><br></div><div>It may be impractical to require DNSSEC =
secured responses in every case. There are Denial of Communication issues (=
DoC) and there are real performance concerns.=A0</div><div><br></div><div>
If however we are dealing with a case where an exception has occurred, it s=
eems reasonable to me for the response to be to attempt to pull DNSSEC reco=
rds via whatever guerilla mechanisms we end up deploying to bypass censorsh=
ip.<br>
<br></div><div><br></div><div>In other words, use pinning via HTTP header t=
o provide pinning with minimal performance impact but solve the tricky max =
age issues by relying on the DNS and DNSSEC to provide ground truth when a =
policy violation is detected.</div>
<div><br><div class=3D"gmail_quote">On Tue, Sep 13, 2011 at 5:24 PM,  <span=
 dir=3D"ltr">&lt;<a href=3D"mailto:davidillsley@gmail.com">davidillsley@gma=
il.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style=3D"word-wrap:break-word"><br><div><div>On 13 Sep 2011, at 21:35,=
 Chris Palmer wrote:</div><blockquote type=3D"cite"><div><font color=3D"#00=
0000">&lt;snip&gt;<br></font><div class=3D"im">sites; small sites may have =
to choose no pinning or potentially<br>
bricking their site (up to the maxAge window). This is not worse than<br>th=
e status quo.&quot;&quot;&quot;</div></div></blockquote><br></div><div>What=
 about sites which don&#39;t currently use https at all? The DNS records fo=
r <a href=3D"http://theregister.co.uk" target=3D"_blank">theregister.co.uk<=
/a> were redirected the other week. An attacker who could do that could red=
irect to https, then set a very long max-age pin. At that point, they&#39;d=
 be dependent on the browser vendor unpinning affected users, right?</div>
<div>David</div><div><br></div></div><br>__________________________________=
_____________<br>
websec mailing list<br>
<a href=3D"mailto:websec@ietf.org">websec@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/websec" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/websec</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Website:=
 <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br><br>
</div>

--0016e68ef4577ca9cc04acda3f52--

From davidillsley@gmail.com  Tue Sep 13 15:36:38 2011
Return-Path: <davidillsley@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AE84E21F88B6 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:36:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.598
X-Spam-Level: 
X-Spam-Status: No, score=-3.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 JnmT4-WhNmLH for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:36:38 -0700 (PDT)
Received: from mail-wy0-f172.google.com (mail-wy0-f172.google.com [74.125.82.172]) by ietfa.amsl.com (Postfix) with ESMTP id F18E321F8888 for <websec@ietf.org>; Tue, 13 Sep 2011 15:36:37 -0700 (PDT)
Received: by wyg24 with SMTP id 24so1069095wyg.31 for <websec@ietf.org>; Tue, 13 Sep 2011 15:38:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :message-id:references:to:x-mailer; bh=UvrHXb7WOIw2+C+83ec3O2LP8TTNQ/Q8Accjsa9L2Ww=; b=QkHQbmfEbg02eMuhPVX2jDyTTXAz19htON1VdsXN4WxwTuoaCeNFVeceMpjO7Rm6m7 bCwYwtdK3ztEbvQXHJsh7QAPzrYkZKbiEcuXQvpFC/tEZp6TciVPy1Wi5VL7oJGzgg8G 1LuVu5BJwxWIkbMw4Mf+GDKzO0sq2xycO+7gg=
Received: by 10.227.198.18 with SMTP id em18mr3259166wbb.25.1315953524699; Tue, 13 Sep 2011 15:38:44 -0700 (PDT)
Received: from unknown-04-0c-ce-d5-9a-fe.config (87-194-130-80.bethere.co.uk. [87.194.130.80]) by mx.google.com with ESMTPS id ek13sm1996577wbb.23.2011.09.13.15.38.42 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 13 Sep 2011 15:38:42 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1244.3)
Content-Type: multipart/alternative; boundary="Apple-Mail=_8E6319D2-5828-4CB4-B8D7-64EE8FDCE03C"
From: davidillsley@gmail.com
In-Reply-To: <4E6FD975.9010502@extendedsubset.com>
Date: Tue, 13 Sep 2011 23:38:41 +0100
Message-Id: <DCDD9449-2DA6-4293-A539-C778C288BF09@gmail.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im>	<FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>	<4E6FB7CB.3020309@extendedsubset.com>	<CAOuvq20H+pG1AF0u-=-Ow9oR=uGRb-wDwrFE6dPmT=HbvnO6VA@mail.gmail.com> <6D3E0CA6-E990-4D89-9AEE-C03066D0656E@gmail.com> <4E6FD975.9010502@extendedsubset.com>
To: Marsh Ray <marsh@extendedsubset.com>
X-Mailer: Apple Mail (2.1244.3)
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 22:36:38 -0000

--Apple-Mail=_8E6319D2-5828-4CB4-B8D7-64EE8FDCE03C
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1


On 13 Sep 2011, at 23:30, Marsh Ray wrote:
> <snip>
> Wouldn't they have to acquire a valid cert first? Not saying that's =
out of the realm of possibility, but...

Yeah, but in the case that you've gained control of a domains DNS, which =
is what happened, how hard would it be to get a valid DV cert?=

--Apple-Mail=_8E6319D2-5828-4CB4-B8D7-64EE8FDCE03C
Content-Transfer-Encoding: 7bit
Content-Type: text/html;
	charset=iso-8859-1

<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 13 Sep 2011, at 23:30, Marsh Ray wrote:</div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000">&lt;snip&gt;<br></font>Wouldn't they have to acquire a valid cert first? Not saying that's out of the realm of possibility, but...<br></div></blockquote></div><br><div>Yeah, but in the case that you've gained control of a domains DNS, which is what happened, how hard would it be to get a valid DV cert?</div></body></html>
--Apple-Mail=_8E6319D2-5828-4CB4-B8D7-64EE8FDCE03C--

From tobias.gondrom@gondrom.org  Tue Sep 13 15:52:10 2011
Return-Path: <tobias.gondrom@gondrom.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 98C7611E809F for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:52:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -96.366
X-Spam-Level: 
X-Spam-Status: No, score=-96.366 tagged_above=-999 required=5 tests=[AWL=0.411, BAYES_00=-2.599, FH_HELO_EQ_D_D_D_D=1.597, HELO_DYNAMIC_IPADDR=2.426, HELO_EQ_DE=0.35, HELO_MISMATCH_DE=1.448, HTML_MESSAGE=0.001, 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 9Pe84no8hm7E for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 15:52:06 -0700 (PDT)
Received: from lvps83-169-7-107.dedicated.hosteurope.de (www.gondrom.org [83.169.7.107]) by ietfa.amsl.com (Postfix) with ESMTP id 2D80D11E809D for <websec@ietf.org>; Tue, 13 Sep 2011 15:52:05 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws; s=default; d=gondrom.org; b=CIMEnZK8elkKjsQntL9V7/qk5f+0t/jvtCv2mxxHEORzi3UIF7WU1dH4k29hiQ2F2FUyAryT19ogverhajDY+8y/vaKz7fA+ToF4x2YJfqT2wW4hE0wLcVnUoOrkada/; h=Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:X-Priority:Content-Type;
Received: (qmail 28056 invoked from network); 14 Sep 2011 00:53:05 +0200
Received: from 94-194-102-93.zone8.bethere.co.uk (HELO ?192.168.1.66?) (94.194.102.93) by www.gondrom.org with (DHE-RSA-AES256-SHA encrypted) SMTP; 14 Sep 2011 00:53:05 +0200
Message-ID: <4E6FDED1.9000209@gondrom.org>
Date: Tue, 13 Sep 2011 23:53:05 +0100
From: Tobias Gondrom <tobias.gondrom@gondrom.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2
MIME-Version: 1.0
To: websec@ietf.org
X-Priority: 2 (High)
Content-Type: multipart/alternative; boundary="------------000707030300090301000907"
Subject: [websec] websec meeting in Taipei - topics?
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 22:52:10 -0000

This is a multi-part message in MIME format.
--------------000707030300090301000907
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hello dear websec fellows,

to decide on a slot and length for our meeting in November in Taipei, 
this time we would like to start a bit earlier asking for presentations, 
topics and ideas.

Please send proposals and ideas for presentations to Alexey, Yoav and/or 
me, if possible until Sep-25 so we can better decide on the length of 
the meeting slot, but later will also be ok. Rough ideas are fine at 
this stage, anything that will help us in planning the length and scope 
of the meeting.

So far we had great progress on the origin draft, entering IESG next 
week. So this will most certainly be finished by then.
We could focus on HSTS and the interesting parts of "certificate 
pinning" as important topics to make major progress now.

But I want to also emphasise looking for further topics and presentations.
Anything you would like to raise at the websec meeting, please drop me a 
quick note.

Kind regards,

Tobias & Alexey
(chairs of websec)



Tobias Gondrom
email: tobias.gondrom@gondrom.org
mobile: +447521003005

--------------000707030300090301000907
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Arial">Hello dear websec fellows, <br>
      <br>
      to decide on a slot and length for our meeting in November in
      Taipei, this time we would like to start a bit earlier asking for
      presentations, topics and ideas.<br>
      <br>
      Please send proposals and ideas for presentations to Alexey, Yoav
      and/or me, if possible until Sep-25 so we can better decide on the
      length of the meeting slot, but later will also be ok. Rough ideas
      are fine at this stage, anything that will help us in planning the
      length and scope of the meeting. <br>
      <br>
      So far we had great progress on the origin draft, entering IESG
      next week. So this will most certainly be finished by then. <br>
      We could focus on HSTS and the interesting parts of "certificate
      pinning" as important topics to make major progress now. <br>
      <br>
      But I want to also emphasise looking for further topics and
      presentations. <br>
      Anything you would like to raise at the websec meeting, please
      drop me a quick note. <br>
      <br>
      Kind regards, <br>
      <br>
      Tobias &amp; Alexey<br>
    </font>(chairs of websec)<br>
    <br>
    <br>
    <br>
    Tobias Gondrom<br>
    email: <a class="moz-txt-link-abbreviated"
      href="mailto:tobias.gondrom@gondrom.org">tobias.gondrom@gondrom.org</a><br>
    mobile: +447521003005
  </body>
</html>

--------------000707030300090301000907--

From sm@resistor.net  Tue Sep 13 16:06:38 2011
Return-Path: <sm@resistor.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1268121F85AE for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 16:06:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.578
X-Spam-Level: 
X-Spam-Status: No, score=-102.578 tagged_above=-999 required=5 tests=[AWL=0.021, 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 z1INAn5WAh8w for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 16:06:32 -0700 (PDT)
Received: from mx.ipv6.elandsys.com (mx.ipv6.elandsys.com [IPv6:2001:470:f329:1::1]) by ietfa.amsl.com (Postfix) with ESMTP id B429921F855F for <websec@ietf.org>; Tue, 13 Sep 2011 16:06:22 -0700 (PDT)
Received: from SUBMAN.resistor.net (IDENT:sm@localhost [127.0.0.1]) by mx.elandsys.com (8.14.4/8.14.5) with ESMTP id p8DN86kj019404; Tue, 13 Sep 2011 16:08:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=opendkim.org; s=mail2010; t=1315955294; bh=50jtqM/hrzCPs+OqW0g5EZvRE/37I355czhnIT92Doo=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type; b=mZSrTNJe+HNzud4U2wtlP4ONCWUXrgiRZA3W4TpIp/RB8JQWX7s/aCozsJVyL6+YL 0AKQQOrx4odRC4TAe8aTGfkbBRYY/EoXlf+TswCOKo6pt+3ASywOjvIY/jHZ1cHafJ q7VWENMREdcZ8cGyyj/CvJNs5V6dvO/s+RJ2Vis4=
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=resistor.net; s=mail; t=1315955294; bh=50jtqM/hrzCPs+OqW0g5EZvRE/37I355czhnIT92Doo=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type; b=lRsfnXLJncEtWMmaYgGe7vNeKGD74H55M+A4PzJ1H6SBGXaTU42pOejyG82RVHwhb tF22KRXIoL5pW8adIjw/TkVldSbQu65GUpSKfEhdAdCkQYmtcAUU7at73FjniPeQDE /Mdh9uVvbTkGyr7kFCNpd9mbsZpmr1NDRGJcwIAQ=
Message-Id: <6.2.5.6.2.20110913153237.0851f630@resistor.net>
X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6
Date: Tue, 13 Sep 2011 16:06:53 -0700
To: Yoav Nir <ynir@checkpoint.com>
From: SM <sm@resistor.net>
In-Reply-To: <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Sep 2011 23:06:38 -0000

Hi Yoav,
At 11:41 13-09-2011, Yoav Nir wrote:
>Six months ago we would not have thought that Comodo or DigiNotar 
>were easy to hack. In the latter case, the customers of DigiNotar 
>were left out in the cold. Without

   "The DigiNotar partnership has laid down its security policy in 
action protocols
    and technical protocols. For safety reasons, these documents are 
not publicly
    available, which means that they are unavailable for inspection."

   "A regular audit is performed by an independent external auditor to
    assess Comodo's compliance with the AICPA/CICA WebTrust program for
    Certification Authorities."

People get sloppy.  Businesses get complacent.  At the end of the 
day, it is a business decision.

Regards,
-sm 


From palmer@google.com  Tue Sep 13 17:45:18 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 28A5621F8B21 for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 17:45:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 Z7I2Ly2cOWjo for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 17:45:17 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id 7BFCD21F8B1E for <websec@ietf.org>; Tue, 13 Sep 2011 17:45:17 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [172.25.149.12]) by smtp-out.google.com with ESMTP id p8E0lJD4008136 for <websec@ietf.org>; Tue, 13 Sep 2011 17:47:19 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1315961239; bh=gw1Fei6UEEOJX63iAz0LeClXeuA=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Content-Type:Content-Transfer-Encoding; b=xsPzR4C+bqZWkq+/7xVokvozGaR6Rq64Aht8Ao9jX8l2aMHnXcUCjPr6ACxLSDNXt jO9kSBmN5BtpVql/Efrbw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:content-type: content-transfer-encoding:x-system-of-record; b=PkxsDjOSUyYjBrD68km3uO+jKxUuclsA+gc1EjoCdoEbW4NnVsK2yOIpePpMbzKeF t3U3OkMMKI2qEM3SjPIuA==
Received: from wyh11 (wyh11.prod.google.com [10.241.226.203]) by hpaq12.eem.corp.google.com with ESMTP id p8E0l0iS012234 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 13 Sep 2011 17:47:18 -0700
Received: by wyh11 with SMTP id 11so1180809wyh.36 for <websec@ietf.org>; Tue, 13 Sep 2011 17:47:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=ysfWDmaQTlMg+JUC25vEntKgq76IztGsYEw11kyFInc=; b=NLemubQPkHc54DnY2bRPjNdcJgmN6qjmqfmdLWhfP8wL7rhH70DPV/B3D3fYTEzLlC u0eGyYLBCmw3H8WGM3vg==
Received: by 10.216.220.144 with SMTP id o16mr849407wep.49.1315961238013; Tue, 13 Sep 2011 17:47:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.220.144 with SMTP id o16mr849403wep.49.1315961237837; Tue, 13 Sep 2011 17:47:17 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 13 Sep 2011 17:47:17 -0700 (PDT)
In-Reply-To: <6.2.5.6.2.20110913153237.0851f630@resistor.net>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <6.2.5.6.2.20110913153237.0851f630@resistor.net>
Date: Tue, 13 Sep 2011 17:47:17 -0700
Message-ID: <CAOuvq20NqsFaBNyLWsh8hNuHAvG0myWPtjrbxuHuiXymVS1cJw@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 00:45:18 -0000

Hi all,

Unfortunately I didn't finish the new, XMLified rev of the document
today =E2=80=94 you raised too many difficult questions. :) It's coming alo=
ng
though. I might be able to get it to the list tomorrow, but I might
end up dedicating tomorrow to a different (but related) code-writing
effort, hence wouldn't get back to this until Thursday. But, it any
case, Real Soon Now.

Thanks again for all your comments and questions! It's been very helpful.

From ynir@checkpoint.com  Tue Sep 13 23:15:57 2011
Return-Path: <ynir@checkpoint.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6A6FD21F8C9A for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 23:15:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.386
X-Spam-Level: 
X-Spam-Status: No, score=-10.386 tagged_above=-999 required=5 tests=[AWL=0.213, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 avyxFWmR8cCR for <websec@ietfa.amsl.com>; Tue, 13 Sep 2011 23:15:56 -0700 (PDT)
Received: from michael.checkpoint.com (smtp.checkpoint.com [194.29.34.68]) by ietfa.amsl.com (Postfix) with ESMTP id 6CB2821F8C12 for <websec@ietf.org>; Tue, 13 Sep 2011 23:15:56 -0700 (PDT)
X-CheckPoint: {4E705440-22-1B221DC2-FFFF}
Received: from il-ex01.ad.checkpoint.com (il-ex01.ad.checkpoint.com [194.29.34.26]) by michael.checkpoint.com (8.13.8/8.13.8) with ESMTP id p8E6HvMT032332;  Wed, 14 Sep 2011 09:17:58 +0300
Received: from il-ex01.ad.checkpoint.com ([126.0.0.2]) by il-ex01.ad.checkpoint.com ([126.0.0.2]) with mapi; Wed, 14 Sep 2011 09:17:57 +0300
From: Yoav Nir <ynir@checkpoint.com>
To: SM <sm@resistor.net>
Date: Wed, 14 Sep 2011 09:17:57 +0300
Thread-Topic: [websec] Certificate Pinning via HSTS (.txt version)
Thread-Index: AcxypgtRp9M0lsEJRVKxt1ce4bvg8Q==
Message-ID: <05C4445E-96F3-4CB6-979A-E0C576C35DE2@checkpoint.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <6.2.5.6.2.20110913153237.0851f630@resistor.net>
In-Reply-To: <6.2.5.6.2.20110913153237.0851f630@resistor.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
x-kse-antivirus-interceptor-info: scan successful
x-kse-antivirus-info: Clean
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 06:15:57 -0000

On Sep 14, 2011, at 2:06 AM, SM wrote:

> Hi Yoav,
> At 11:41 13-09-2011, Yoav Nir wrote:
>> Six months ago we would not have thought that Comodo or DigiNotar=20
>> were easy to hack. In the latter case, the customers of DigiNotar=20
>> were left out in the cold. Without
>=20
>   "The DigiNotar partnership has laid down its security policy in=20
> action protocols
>    and technical protocols. For safety reasons, these documents are=20
> not publicly
>    available, which means that they are unavailable for inspection."
>=20
>   "A regular audit is performed by an independent external auditor to
>    assess Comodo's compliance with the AICPA/CICA WebTrust program for
>    Certification Authorities."
>=20
> People get sloppy.  Businesses get complacent.  At the end of the=20
> day, it is a business decision.
>=20

It's all legalese to me. I can read 180 such statements (for the 180 root C=
As in Microsoft's store) and not get a sense of which one is safe enough fo=
r me.=20

I don't think the average site administrator (or whoever it is who buys cer=
tificates in your organization) has better information. Besides, they tend =
not to put too much thought into such a small expenditure.


From hallam@gmail.com  Wed Sep 14 06:12:01 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 804C021F8BE9 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:12:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.636
X-Spam-Level: 
X-Spam-Status: No, score=-2.636 tagged_above=-999 required=5 tests=[AWL=-0.704, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1, SARE_HTML_USL_OBFU=1.666]
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 20K4eNDRTdqt for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:11:56 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by ietfa.amsl.com (Postfix) with ESMTP id 4D03721F8BE8 for <websec@ietf.org>; Wed, 14 Sep 2011 06:11:56 -0700 (PDT)
Received: by gyd12 with SMTP id 12so1539292gyd.31 for <websec@ietf.org>; Wed, 14 Sep 2011 06:14:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=74/rduiXmE91rZuFfpDX90S0nrR3Ud0upwlfJIw/lrs=; b=kEfK4Y8ld4NcUT4+CdUQzZXEN3siMjAIj2gy9QP+QZrFlmeJqJUAB+pQplgfikUWTy 8SugRrSQ5+uTt+/LTEsVIXaPV7qCDEhWToBIPF1Hy0E3otS3aZqNY56ZZUavmU0e8KBi bYkcC0DZV625ETpYzFaWA/F/8IFgLMdDuzcjM=
MIME-Version: 1.0
Received: by 10.100.55.34 with SMTP id d34mr1084715ana.30.1316006044987; Wed, 14 Sep 2011 06:14:04 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Wed, 14 Sep 2011 06:14:04 -0700 (PDT)
In-Reply-To: <4E6FD975.9010502@extendedsubset.com>
References: <4E6E9B77.1020802@KingsMountain.com> <4E6F9DC6.2080006@stpeter.im> <FA8A58ED-DD2B-446B-9F01-9D1D25140569@checkpoint.com> <4E6FB7CB.3020309@extendedsubset.com> <CAOuvq20H+pG1AF0u-=-Ow9oR=uGRb-wDwrFE6dPmT=HbvnO6VA@mail.gmail.com> <6D3E0CA6-E990-4D89-9AEE-C03066D0656E@gmail.com> <4E6FD975.9010502@extendedsubset.com>
Date: Wed, 14 Sep 2011 09:14:04 -0400
Message-ID: <CAMm+LwhEZKCHESwndkFCi8GUsC00a0x+QuEHv_J4esnwz2z+ag@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Marsh Ray <marsh@extendedsubset.com>
Content-Type: multipart/alternative; boundary=001485f6d9f4d5724004ace688b6
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS (.txt version)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 13:12:01 -0000

--001485f6d9f4d5724004ace688b6
Content-Type: text/plain; charset=ISO-8859-1

I totally agree that this is a feasible attack. It has been seen on a very
large scale, Russia did a BGP redirect at a country level in their dispute
with Georgia.

DNSSEC on A records alone is practically worthless. There is some value but
not a great deal. Most DNS attacks have been persuading registrars to put
bad data into the system.



On Tue, Sep 13, 2011 at 6:30 PM, Marsh Ray <marsh@extendedsubset.com> wrote:

> On 09/13/2011 04:24 PM, davidillsley@gmail.com wrote:
>
>>
>> On 13 Sep 2011, at 21:35, Chris Palmer wrote:
>>
>>> <snip>
>>> sites; small sites may have to choose no pinning or potentially
>>> bricking their site (up to the maxAge window). This is not worse than
>>> the status quo."""
>>>
>>
>> What about sites which don't currently use https at all? The DNS records
>> for theregister.co.uk <http://theregister.co.uk> were redirected the
>>
>> other week. An attacker who could do that could redirect to https, then
>> set a very long max-age pin. At that point, they'd be dependent on the
>> browser vendor unpinning affected users, right?
>>
>
> Wouldn't they have to acquire a valid cert first? Not saying that's out of
> the realm of possibility, but...
>
> I think you have a point. The whole premise of this is that there are
> circumstances under which some attacker can obtain such a cert. If this
> feature translates to a risk of perma-DoS for the (100.0 - epsilon)% of
> sites that don't adopt it immediately then it may be more dangerous than
> it's worth.
>
> Consider an adversarial country like, say, Bananastan. They have an ISP or
> three, their own CA, and of course, no sense of humor.
>
> They may one day be subject to some criticisms in the online press which
> they perceive as unfair. Or maybe something on a video sharing site is
> contrary to their customs and traditions.
>
> So their local judge orders their local ISP to block the offending media
> provider. The ISP does this by advertising more specific BGP routes for the
> video site's netblocks(1).
>
> Being mostly streaming data of little consequence, the video site has not
> yet set up HSTS or even has full support for HTTPS (2).
>
> The ISP also sets the country's DNS resolvers to reply to name requests for
> the site with an IP address of a webserver where citizens can receive
> educational information(3).
>
> To be sure they get everybody, they do something I didn't know could be
> done with DNS (4).
>
> In order to save the the misguided users that accidentally used a
> subversive https: bookmark, the court orders the local CA to "do what it
> takes to make it work"(5).
>
> And just to be sure the message sticks, they set a long term HSTS pin on
> this cert and/or their CA (6).
>
> Hilarity ensues.
>
> - Marsh
>
>
>
> 1. YouTube - Pakistan - 2008
> http://www.circleid.com/posts/**82258_pakistan_hijacks_**
> youtube_closer_look<http://www.circleid.com/posts/82258_pakistan_hijacks_youtube_closer_look>
> http://www.ripe.net/internet-**coordination/news/industry-**
> developments/youtube-**hijacking-a-ripe-ncc-ris-case-**study<http://www.ripe.net/internet-coordination/news/industry-developments/youtube-hijacking-a-ripe-ncc-ris-case-study>
>
> 2. http://youtube.com/
>
>
> 3. http://web.archive.org/web/**20060418030141/http://**
> chinadigitaltimes.net/2006/01/**image_of_internet_police_**
> jingjing_and_chacha_online_**hon.php<http://web.archive.org/web/20060418030141/http://chinadigitaltimes.net/2006/01/image_of_internet_police_jingjing_and_chacha_online_hon.php>
>
>
> 4. China - 2010
> https://lists.dns-oarc.net/**pipermail/dns-operations/2010-**
> March/005260.html<https://lists.dns-oarc.net/pipermail/dns-operations/2010-March/005260.html>
> http://www.zdnet.co.uk/news/**networking/2010/10/11/mystery-**
> of-web-traffic-redirect-to-**china-remains-unsolved-**40090476/<http://www.zdnet.co.uk/news/networking/2010/10/11/mystery-of-web-traffic-redirect-to-china-remains-unsolved-40090476/>
>
>
> 5. [...]
>
>
> 6. Why wouldn't this attack work?
>
>
> ______________________________**_________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/**listinfo/websec<https://www.ietf.org/mailman/listinfo/websec>
>



-- 
Website: http://hallambaker.com/

--001485f6d9f4d5724004ace688b6
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I totally agree that this is a feasible attack. It has been seen on a very =
large scale, Russia did a BGP redirect at a country level in their dispute =
with Georgia.<div><br></div><div>DNSSEC on A records alone is practically w=
orthless. There is some value but not a great deal. Most DNS attacks have b=
een persuading registrars to put bad data into the system.=A0</div>
<div><br></div><div><br><br><div class=3D"gmail_quote">On Tue, Sep 13, 2011=
 at 6:30 PM, Marsh Ray <span dir=3D"ltr">&lt;<a href=3D"mailto:marsh@extend=
edsubset.com">marsh@extendedsubset.com</a>&gt;</span> wrote:<br><blockquote=
 class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc soli=
d;padding-left:1ex;">
<div class=3D"im">On 09/13/2011 04:24 PM, <a href=3D"mailto:davidillsley@gm=
ail.com" target=3D"_blank">davidillsley@gmail.com</a> wrote:<br>
</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><div class=3D"im">
<br>
On 13 Sep 2011, at 21:35, Chris Palmer wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
&lt;snip&gt;<br>
sites; small sites may have to choose no pinning or potentially<br>
bricking their site (up to the maxAge window). This is not worse than<br>
the status quo.&quot;&quot;&quot;<br>
</blockquote>
<br>
What about sites which don&#39;t currently use https at all? The DNS record=
s<br></div>
for <a href=3D"http://theregister.co.uk" target=3D"_blank">theregister.co.u=
k</a> &lt;<a href=3D"http://theregister.co.uk" target=3D"_blank">http://the=
register.co.uk</a>&gt; were redirected the<div class=3D"im"><br>
other week. An attacker who could do that could redirect to https, then<br>
set a very long max-age pin. At that point, they&#39;d be dependent on the<=
br>
browser vendor unpinning affected users, right?<br>
</div></blockquote>
<br>
Wouldn&#39;t they have to acquire a valid cert first? Not saying that&#39;s=
 out of the realm of possibility, but...<br>
<br>
I think you have a point. The whole premise of this is that there are circu=
mstances under which some attacker can obtain such a cert. If this feature =
translates to a risk of perma-DoS for the (100.0 - epsilon)% of sites that =
don&#39;t adopt it immediately then it may be more dangerous than it&#39;s =
worth.<br>

<br>
Consider an adversarial country like, say, Bananastan. They have an ISP or =
three, their own CA, and of course, no sense of humor.<br>
<br>
They may one day be subject to some criticisms in the online press which th=
ey perceive as unfair. Or maybe something on a video sharing site is contra=
ry to their customs and traditions.<br>
<br>
So their local judge orders their local ISP to block the offending media pr=
ovider. The ISP does this by advertising more specific BGP routes for the v=
ideo site&#39;s netblocks(1).<br>
<br>
Being mostly streaming data of little consequence, the video site has not y=
et set up HSTS or even has full support for HTTPS (2).<br>
<br>
The ISP also sets the country&#39;s DNS resolvers to reply to name requests=
 for the site with an IP address of a webserver where citizens can receive =
educational information(3).<br>
<br>
To be sure they get everybody, they do something I didn&#39;t know could be=
 done with DNS (4).<br>
<br>
In order to save the the misguided users that accidentally used a subversiv=
e https: bookmark, the court orders the local CA to &quot;do what it takes =
to make it work&quot;(5).<br>
<br>
And just to be sure the message sticks, they set a long term HSTS pin on th=
is cert and/or their CA (6).<br>
<br>
Hilarity ensues.<br>
<br>
- Marsh<br>
<br>
<br>
<br>
1. YouTube - Pakistan - 2008<br>
<a href=3D"http://www.circleid.com/posts/82258_pakistan_hijacks_youtube_clo=
ser_look" target=3D"_blank">http://www.circleid.com/posts/<u></u>82258_paki=
stan_hijacks_<u></u>youtube_closer_look</a><br>
<a href=3D"http://www.ripe.net/internet-coordination/news/industry-developm=
ents/youtube-hijacking-a-ripe-ncc-ris-case-study" target=3D"_blank">http://=
www.ripe.net/internet-<u></u>coordination/news/industry-<u></u>developments=
/youtube-<u></u>hijacking-a-ripe-ncc-ris-case-<u></u>study</a><br>

<br>
2. <a href=3D"http://youtube.com/" target=3D"_blank">http://youtube.com/</a=
><br>
<br>
<br>
3. <a href=3D"http://web.archive.org/web/20060418030141/http://chinadigital=
times.net/2006/01/image_of_internet_police_jingjing_and_chacha_online_hon.p=
hp" target=3D"_blank">http://web.archive.org/web/<u></u>20060418030141/http=
://<u></u>chinadigitaltimes.net/2006/01/<u></u>image_of_internet_police_<u>=
</u>jingjing_and_chacha_online_<u></u>hon.php</a><br>

<br>
<br>
4. China - 2010<br>
<a href=3D"https://lists.dns-oarc.net/pipermail/dns-operations/2010-March/0=
05260.html" target=3D"_blank">https://lists.dns-oarc.net/<u></u>pipermail/d=
ns-operations/2010-<u></u>March/005260.html</a><br>
<a href=3D"http://www.zdnet.co.uk/news/networking/2010/10/11/mystery-of-web=
-traffic-redirect-to-china-remains-unsolved-40090476/" target=3D"_blank">ht=
tp://www.zdnet.co.uk/news/<u></u>networking/2010/10/11/mystery-<u></u>of-we=
b-traffic-redirect-to-<u></u>china-remains-unsolved-<u></u>40090476/</a><br=
>

<br>
<br>
5. [...]<br>
<br>
<br>
6. Why wouldn&#39;t this attack work?<div><div></div><div class=3D"h5"><br>
<br>
______________________________<u></u>_________________<br>
websec mailing list<br>
<a href=3D"mailto:websec@ietf.org" target=3D"_blank">websec@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/websec" target=3D"_blank">=
https://www.ietf.org/mailman/<u></u>listinfo/websec</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
Website: <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br=
><br>
</div>

--001485f6d9f4d5724004ace688b6--

From dkg@fifthhorseman.net  Wed Sep 14 06:12:44 2011
Return-Path: <dkg@fifthhorseman.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5A45821F8CBA for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:12:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.224
X-Spam-Level: 
X-Spam-Status: No, score=-2.224 tagged_above=-999 required=5 tests=[AWL=-0.225, BAYES_00=-2.599, J_CHICKENPOX_34=0.6]
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 zpPaCWpzscZB for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:12:43 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id E30BE21F8C4D for <websec@ietf.org>; Wed, 14 Sep 2011 06:12:41 -0700 (PDT)
Received: from [192.168.23.207] (dsl254-070-154.nyc1.dsl.speakeasy.net [216.254.70.154]) by che.mayfirst.org (Postfix) with ESMTPSA id 1F150F970; Wed, 14 Sep 2011 09:14:47 -0400 (EDT)
Message-ID: <4E70A8F8.80102@fifthhorseman.net>
Date: Wed, 14 Sep 2011 09:15:36 -0400
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20110807 Icedove/5.0
MIME-Version: 1.0
To: Chris Palmer <palmer@google.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <4E6F5056.800@fifthhorseman.net> <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com>
In-Reply-To: <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com>
X-Enigmail-Version: 1.2.1
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig3E071253BFE06FFBFE80D352"
Cc: Chris Evans <cevans@google.com>, websec@ietf.org
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: IETF WebSec WG <websec@ietf.org>
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 13:12:44 -0000

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig3E071253BFE06FFBFE80D352
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 09/13/2011 05:55 PM, Chris Palmer wrote:
> On Tue, Sep 13, 2011 at 5:45 AM, Daniel Kahn Gillmor
> <dkg@fifthhorseman.net> wrote:
>=20
>> From my perspective, i see no advantage to pinning any of the CAs -- i=
f
>> your EE is compromised, you're sunk.  And since the mechanism provides=
 a
>> mechanism (and nice instructions, thanks) for transition to an emergen=
cy
>> offline backup EE key+cert, that is all handled well.
>=20
> In the case of normal EE certificate expiration =E2=80=94 as opposed to=

> compromise =E2=80=94 if you are pinned to (say) an intermediary signer,=
 you
> can just get a fresh certificate from the same signer, deploy it, and
> change nothing else.
>=20
> Conversely, if you had pinned to an EE, you'd need to follow a
> procedure something like this near expiration time:
>=20
> 0. Generate the new cert.
> 1. Change your pins directive to include the new and the old public
> key fingerprints.
> 2. Wait long enough for "most, surely?" of your users to have received
> the new pins, or for their pins to expire by the normal maxAge means.
> 3. Decommission the old EE cert and deploy the new.

Actually, if your certificate policy requires key rotation at
certificate expiry, you can generate key N+1 at any time (preferably
early in the life of the cert corresponding to key N), and introduce the
secondary pin at that point, without having gotten certificate N+1 yet.

Then, as certificate N approaches expiration, get a certificate made
from key N+1 -- your pin is already well-known.  Generate key N+2
(stored safely offline someplace?), deploy key N+1, and update your pin
list to be (N+1,N+2).  There's no waiting required.  And this approach
dovetails nicely with your recommendations for backup resiliency as well.=


It still looks to me like pinning a CA does nothing more than give them
the chance to hold you hostage at certificate renewal time, and to
expose you to vulnerability should the CA itself be compromised.

> You could, of course, also just re-use your old key pair and get it
> re-signed, and no need to migrate keys as well as certs. In that case,
> no problem.

Yep; the only reason you'd need the more-complex approach above is if
you require key rotation at certificate expiry.  If all you care about
is convenience and simplicity of operation, just get the existing key
re-certified by any CA.  In this case, there's still no need or
advantage (and significant disadvantages) to pin to a CA instead of
pinning to your EE.

> Again, that's fine and one size does not fit all.

Sure, one size does not fit all, but it looks like the document is
(reasonably) trying to outline some common patterns of reasonable
behavior to encourage best practices.  I still don't see any best
practice that involves pinning to a CA unless that CA is itself under
the control of your own organization.

I recommend that the draft make this explicit, to avoid encouraging
system operators binding themselves even more tightly to a CA by
misapplication of this mechanism.

	--dkg


--------------enig3E071253BFE06FFBFE80D352
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQJ8BAEBCgBmBQJOcKj4XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwRUU1QkU5NzkyODJEODBCOUY3NTQwRjFD
Q0QyRUQ5NEQyMTczOUU5AAoJEMzS7ZTSFznpT40P/1/CxWRNr0jjQobdjg0cGdQm
HOvmqMZosCXJm1y3OoAY3+bM445GfwXhza0pLtR9lsP5bcA4pGz5MyjvCf6j0H4k
S1XBN3tKukwu/75yyz3p26E1Fv4BoLvn8T2aTNjKVn0yzyuuiR/CoHcYDSKWesCt
eOArUY8N6ppC9+sdrq/P4q+xCwHDd0N8e0vlXhdN4HyncBvFJBJWbpnGVhAfb/Dg
Ete505P9XcWE30vVuGEnCaUyVOZMNlHlk4InKVveo6vNPiEbtfTr9LGloFgvMpC2
0uxmy5d+5zAP5G/wo8RT4qrvfNUkGE2aFclONtJG6y1hl7tRl64NCdep1u+d7x3i
i/k6ikLXy4DIbhskthzZx8/CbM2K3KOAxiWJkJdm/hu5pCBCHczEJwT9h2wZboAl
C3IaSlQz5O5kDDc1oOn0ppm7B/UELYVgtCdoTxaIK8FWRP+cbkcYozA4rsK9r3AT
ub3+LcCrmaUzlBoxiaB5SAZoxlOOeGdLTIgKImV3UZLUY3zfwfgNuPiDCs+XzrQA
HsvbEWtVfJDtSKI8i9u0UZwsbEYpGXb1TtjDVj8tTxVKW4pouafcsUPZTB5TMs0g
q+2DNSmXEniyLbcyMPrxXYCdOhQAeKVc835Cy89LpbJ2pJ9Va0ltBNo7lE7/IGre
4/ZHbsMd/xi7kseloipY
=ANne
-----END PGP SIGNATURE-----

--------------enig3E071253BFE06FFBFE80D352--

From hallam@gmail.com  Wed Sep 14 06:24:56 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 443BB21F8CB0 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:24:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.429
X-Spam-Level: 
X-Spam-Status: No, score=-3.429 tagged_above=-999 required=5 tests=[AWL=0.169,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 UuQAoQMj0JuA for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:24:51 -0700 (PDT)
Received: from mail-gw0-f44.google.com (mail-gw0-f44.google.com [74.125.83.44]) by ietfa.amsl.com (Postfix) with ESMTP id 75C4521F8C00 for <websec@ietf.org>; Wed, 14 Sep 2011 06:24:51 -0700 (PDT)
Received: by gwb20 with SMTP id 20so337817gwb.31 for <websec@ietf.org>; Wed, 14 Sep 2011 06:27:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=VI0noTB19GEXZjjJjxshFDduUHHFKkOix9/DjQEDe6c=; b=hs+LP6+tiO1RBJBfp/YhS20u6n3RDetW9c+KhJFzBEGGBBcWwgz/RAZvfbenaRZyHD BQS1tXDs+FU0IvAiLYlyZJOB+t/19ek9cpzsAcBDsCY1LuOdjAUUvnh1+XoEjR1944v6 EF03HslETzZRTAU+Z4HTxRH/DnwyzHmesbycY=
MIME-Version: 1.0
Received: by 10.100.55.34 with SMTP id d34mr1100376ana.30.1316006820119; Wed, 14 Sep 2011 06:27:00 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Wed, 14 Sep 2011 06:26:59 -0700 (PDT)
In-Reply-To: <498A0E83-7C80-4226-9D69-7A7E93D8C929@bbn.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <498A0E83-7C80-4226-9D69-7A7E93D8C929@bbn.com>
Date: Wed, 14 Sep 2011 09:26:59 -0400
Message-ID: <CAMm+Lwio=Uo5jbm9vCPohbLsZr5iq5OZax1t4zy+_kqbs-5qpA@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: "Richard L. Barnes" <rbarnes@bbn.com>
Content-Type: multipart/alternative; boundary=001485f6d9f409047604ace6b746
Cc: Chris Evans <cevans@google.com>, websec@ietf.org
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 13:24:56 -0000

--001485f6d9f409047604ace6b746
Content-Type: text/plain; charset=ISO-8859-1

Or maybe DANE should consider migrating to the WEBSEC approach.

I was pushing for DANE to consider the pinning and 'must be SSL' approach
from the start. The consensus of the group has been that they don't want to
consider those use cases at all. Furthermore the response I have got from
the key contributors has been 'we don't want to consider those issues
because we can't understand the issues and have no interest in attempting to
do so'.

The reason that I was pushing hard to get the use of prefixes fixed was
because I have been looking at these use cases for two years now and I don't
see the naive prefix approach that has been insisted on will allow for
effective security policy.

If you want DANE to be compatible with the WebSec approach I suggest that
DANE make the accommodations to the deployed HTTP and TLS infrastructure
rather than propose a completely new infrastructure and then demand that
everyone work around the legacy you have just created.

There is 20 years of Web legacy. It is big, ugly and complex. There is 0
years of DANE legacy.


PKI is really hard for reasons that go beyond the syntax and structure of
X.509v3. The complexity of PKIX comes mostly from the fact that the original
design did not have enough flexibility to meet real world needs and so a
heck of a lot that should have been in the core ended up as ad-hoc
extensions and patches. In particular X.509 was originally designed round a
PEM style monolithic hierarchy.


On Mon, Sep 12, 2011 at 8:54 PM, Richard L. Barnes <rbarnes@bbn.com> wrote:

> Hey Chris & Chris,
>
> This seems like a useful near-term approach, but also probably something
> that might want to migrate to DANE over time.
>
> Is there any particular reason you're using key fingerprints instead of
> cert fingerprints?  It seems like the latter might be slightly easier to
> implement, since you don't have to parse the cert.
>
> --Richard
>
>
>
> On Sep 12, 2011, at 5:56 PM, Chris Palmer wrote:
>
> > Hi all,
> >
> > Chris Evans and I work at Google on the Chrome security team. We have
> > devised this specification for a new extension to Strict Transport
> > Security to allow site operators to "pin" certificates: UAs will
> > require that TLS connections be validated with at least one of the
> > public keys identified in the new "pins" directive in the HSTS header.
> > (Sites can pin to one or more public keys in end entity, subordinate
> > CA, and/or root CA certificates, for flexibility and disaster
> > recovery.)
> >
> > We hope that this mechanism opens up the benefits of certificate
> > pinning to more sites. Currently, Chrome can "pre-load" HSTS behavior
> > and certificate pins for sites, but the mechanism for doing this
> > (email us!) does not scale.
> >
> > We eagerly anticipate your comments, questions, concerns, et c. As you
> > can see from the Ideas section, there are some unanswered questions
> > about the behavior of UAs and hosts, and possible extensions to the
> > policy.
> >
> <CertificatePinningExtensionforHSTS.pdf>_______________________________________________
> > websec mailing list
> > websec@ietf.org
> > https://www.ietf.org/mailman/listinfo/websec
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>



-- 
Website: http://hallambaker.com/

--001485f6d9f409047604ace6b746
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Or maybe DANE should consider migrating to the WEBSEC approach.<div><br></d=
iv><div>I was pushing for DANE to consider the pinning and &#39;must be SSL=
&#39; approach from the start. The consensus of the group has been that the=
y don&#39;t want to consider those use cases at all. Furthermore the respon=
se I have got from the key contributors has been &#39;we don&#39;t want to =
consider those issues because we can&#39;t understand the issues and have n=
o interest in attempting to do so&#39;.</div>
<div><br></div><div>The reason that I was pushing hard to get the use of pr=
efixes fixed was because I have been looking at these use cases for two yea=
rs now and I don&#39;t see the naive prefix approach that has been insisted=
 on will allow for effective security policy.</div>
<div><br></div><div>If you want DANE to be compatible with the WebSec appro=
ach I suggest that DANE make the=A0accommodations=A0to the deployed HTTP an=
d TLS infrastructure rather than propose a completely new infrastructure an=
d then demand that everyone work around the legacy you have just created.</=
div>
<div><br></div><div>There is 20 years of Web legacy. It is big, ugly and co=
mplex. There is 0 years of DANE legacy.</div><div><br></div><div><br></div>=
<div>PKI is really hard for reasons that go beyond the syntax and structure=
 of X.509v3. The complexity of PKIX comes mostly from the fact that the ori=
ginal design did not have enough flexibility to meet real world needs and s=
o a heck of a lot that should have been in the core ended up as ad-hoc exte=
nsions and patches. In particular X.509 was originally designed round a PEM=
 style monolithic hierarchy.=A0</div>
<div><br></div><div><br><div class=3D"gmail_quote">On Mon, Sep 12, 2011 at =
8:54 PM, Richard L. Barnes <span dir=3D"ltr">&lt;<a href=3D"mailto:rbarnes@=
bbn.com">rbarnes@bbn.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmai=
l_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left=
:1ex;">
Hey Chris &amp; Chris,<br>
<br>
This seems like a useful near-term approach, but also probably something th=
at might want to migrate to DANE over time.<br>
<br>
Is there any particular reason you&#39;re using key fingerprints instead of=
 cert fingerprints? =A0It seems like the latter might be slightly easier to=
 implement, since you don&#39;t have to parse the cert.<br>
<br>
--Richard<br>
<div><div></div><div class=3D"h5"><br>
<br>
<br>
On Sep 12, 2011, at 5:56 PM, Chris Palmer wrote:<br>
<br>
&gt; Hi all,<br>
&gt;<br>
&gt; Chris Evans and I work at Google on the Chrome security team. We have<=
br>
&gt; devised this specification for a new extension to Strict Transport<br>
&gt; Security to allow site operators to &quot;pin&quot; certificates: UAs =
will<br>
&gt; require that TLS connections be validated with at least one of the<br>
&gt; public keys identified in the new &quot;pins&quot; directive in the HS=
TS header.<br>
&gt; (Sites can pin to one or more public keys in end entity, subordinate<b=
r>
&gt; CA, and/or root CA certificates, for flexibility and disaster<br>
&gt; recovery.)<br>
&gt;<br>
&gt; We hope that this mechanism opens up the benefits of certificate<br>
&gt; pinning to more sites. Currently, Chrome can &quot;pre-load&quot; HSTS=
 behavior<br>
&gt; and certificate pins for sites, but the mechanism for doing this<br>
&gt; (email us!) does not scale.<br>
&gt;<br>
&gt; We eagerly anticipate your comments, questions, concerns, et c. As you=
<br>
&gt; can see from the Ideas section, there are some unanswered questions<br=
>
&gt; about the behavior of UAs and hosts, and possible extensions to the<br=
>
&gt; policy.<br>
</div></div>&gt; &lt;CertificatePinningExtensionforHSTS.pdf&gt;____________=
___________________________________<br>
&gt; websec mailing list<br>
&gt; <a href=3D"mailto:websec@ietf.org">websec@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/websec" target=3D"_bl=
ank">https://www.ietf.org/mailman/listinfo/websec</a><br>
<br>
_______________________________________________<br>
websec mailing list<br>
<a href=3D"mailto:websec@ietf.org">websec@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/websec" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/websec</a><br>
</blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Website: <a =
href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br><br>
</div>

--001485f6d9f409047604ace6b746--

From hallam@gmail.com  Wed Sep 14 06:44:00 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 21CE321F8BEC for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:44:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.163
X-Spam-Level: 
X-Spam-Status: No, score=-3.163 tagged_above=-999 required=5 tests=[AWL=-0.165, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_34=0.6, RCVD_IN_DNSWL_LOW=-1]
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 HzYiVMFMJpOi for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:43:55 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by ietfa.amsl.com (Postfix) with ESMTP id 80ACC21F8C06 for <websec@ietf.org>; Wed, 14 Sep 2011 06:43:55 -0700 (PDT)
Received: by gyd12 with SMTP id 12so1572220gyd.31 for <websec@ietf.org>; Wed, 14 Sep 2011 06:46:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Wj1nyooP+V8USvN+ou2blIDs3GFbGnu5F5JKzIBR/WE=; b=tLkDSaZT1eI6UWYbPriCMAew6t+HVBFyAD4npJc23Jq212w9hdPqXAh/clwlT/fZ7m AuFqd2OaoXTKKANsSqFMFNgoW7lvLxWeF7KmdtyULdra2GooxQHcgqxf6BguSXr5b+fa PIFfyQqhxxvoR15WihoQEsuwEV5IdrHwR6Uvg=
MIME-Version: 1.0
Received: by 10.101.11.36 with SMTP id o36mr310576ani.74.1316007964340; Wed, 14 Sep 2011 06:46:04 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Wed, 14 Sep 2011 06:46:04 -0700 (PDT)
In-Reply-To: <4E70A8F8.80102@fifthhorseman.net>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <4E6F5056.800@fifthhorseman.net> <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com> <4E70A8F8.80102@fifthhorseman.net>
Date: Wed, 14 Sep 2011 09:46:04 -0400
Message-ID: <CAMm+Lwj4LMjivR0nHWQ4eqkTz_WVTq8w5+QWGPSOat0KgvM3HA@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: IETF WebSec WG <websec@ietf.org>
Content-Type: multipart/alternative; boundary=0016e68ef4573c72f704ace6fb0b
Cc: Chris Evans <cevans@google.com>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 13:44:00 -0000

--0016e68ef4573c72f704ace6fb0b
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 14, 2011 at 9:15 AM, Daniel Kahn Gillmor
<dkg@fifthhorseman.net>wrote:

> On 09/13/2011 05:55 PM, Chris Palmer wrote:
> > On Tue, Sep 13, 2011 at 5:45 AM, Daniel Kahn Gillmor
> > <dkg@fifthhorseman.net> wrote:
> >
> >> From my perspective, i see no advantage to pinning any of the CAs -- i=
f
> >> your EE is compromised, you're sunk.  And since the mechanism provides=
 a
> >> mechanism (and nice instructions, thanks) for transition to an emergen=
cy
> >> offline backup EE key+cert, that is all handled well.
> >
> > In the case of normal EE certificate expiration =97 as opposed to
> > compromise =97 if you are pinned to (say) an intermediary signer, you
> > can just get a fresh certificate from the same signer, deploy it, and
> > change nothing else.
> >
> > Conversely, if you had pinned to an EE, you'd need to follow a
> > procedure something like this near expiration time:
> >
> > 0. Generate the new cert.
> > 1. Change your pins directive to include the new and the old public
> > key fingerprints.
> > 2. Wait long enough for "most, surely?" of your users to have received
> > the new pins, or for their pins to expire by the normal maxAge means.
> > 3. Decommission the old EE cert and deploy the new.
>
> Actually, if your certificate policy requires key rotation at
> certificate expiry, you can generate key N+1 at any time (preferably
> early in the life of the cert corresponding to key N), and introduce the
> secondary pin at that point, without having gotten certificate N+1 yet.
>

Yep.



> It still looks to me like pinning a CA does nothing more than give them
> the chance to hold you hostage at certificate renewal time, and to
> expose you to vulnerability should the CA itself be compromised.


It gives you scaling and administrative convenience.

If you have 10,000 hosts in your enterprise network you really do not want
to have to be managing trust on a per host level. Now consider the case
where you are renting your compute power in the cloud and so the machine
instances are existing for a few hours at a time.

Any scheme that insists on only tying to the EE cert or key is going to
create a major operational headache for those sites. It is really easy to
design a scheme that is easy to administer.

It is also going to cause huge amounts of state that the client has to
manage. If you have 10,000 front end web servers you are going to need
10,000 different client keys to do the job right.


So what most of the large enterprises would likely do if they introduced an=
y
form of security policy would be to have a private CA run up that is an
intermediate in a larger hierarchy. This is why the bogus EFF study came up
with the absurd number of 600 CAs. What they have never come clean on is th=
e
fact that 150 of those 'CAs' are in fact merely intermediate roots tied to =
a
single customer that are managed in the same infrastructure as the root CA
operations.


What pinning to a CA does raise is the absolute need to have the ability to
pin more than one CA at a time.

> Again, that's fine and one size does not fit all.
>
> Sure, one size does not fit all, but it looks like the document is
> (reasonably) trying to outline some common patterns of reasonable
> behavior to encourage best practices.  I still don't see any best
> practice that involves pinning to a CA unless that CA is itself under
> the control of your own organization.
>
> I recommend that the draft make this explicit, to avoid encouraging
> system operators binding themselves even more tightly to a CA by
> misapplication of this mechanism.
>

There is certainly a difference in the risk factor here between pinning in
the browser and CAA as currently specd (i.e. without the client enforcement
capability). [I originally wrote big, but thinking it through, maybe not so
much]

CA issue of certs is never a 100% automated process. There are some cases
where automated issue is possible but there are inevitably exceptions.

CAA does not prevent a CA issuing a cert, it merely triggers an exception.
So the CA that received the failed application is going to circle back to
the customer and ask what is up. If the CAA record was inserted maliciously
or without informed consent then the customer is going to be mighty peeved
with their old CA and likely contact slashdot with a nasty story.


If there is client enforcement of the records then there is a potential to
use them maliciously.

But even so, I can't see this being much of a practical concern. The main
value add CAs bring in practice is teaching people how to configure crypto
and install certs properly without making a mess of it. Every customer call
center I have been in the conversations you hear are salespeople walking a
customer through install for Apache or ISS.

So provided there is an escape hole from the pinning mechanism, the CAs are
going to be more than capable of talking the customer through how to untie
themselves from the attempted customer capture.

--=20
Website: http://hallambaker.com/

--0016e68ef4573c72f704ace6fb0b
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Wed, Sep 14, 2011 at 9:15 AM, Daniel =
Kahn Gillmor <span dir=3D"ltr">&lt;<a href=3D"mailto:dkg@fifthhorseman.net"=
>dkg@fifthhorseman.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex;">
<div class=3D"im">On 09/13/2011 05:55 PM, Chris Palmer wrote:<br>
&gt; On Tue, Sep 13, 2011 at 5:45 AM, Daniel Kahn Gillmor<br>
&gt; &lt;<a href=3D"mailto:dkg@fifthhorseman.net">dkg@fifthhorseman.net</a>=
&gt; wrote:<br>
&gt;<br>
&gt;&gt; From my perspective, i see no advantage to pinning any of the CAs =
-- if<br>
&gt;&gt; your EE is compromised, you&#39;re sunk. =A0And since the mechanis=
m provides a<br>
&gt;&gt; mechanism (and nice instructions, thanks) for transition to an eme=
rgency<br>
&gt;&gt; offline backup EE key+cert, that is all handled well.<br>
&gt;<br>
&gt; In the case of normal EE certificate expiration =97 as opposed to<br>
&gt; compromise =97 if you are pinned to (say) an intermediary signer, you<=
br>
&gt; can just get a fresh certificate from the same signer, deploy it, and<=
br>
&gt; change nothing else.<br>
&gt;<br>
&gt; Conversely, if you had pinned to an EE, you&#39;d need to follow a<br>
&gt; procedure something like this near expiration time:<br>
&gt;<br>
&gt; 0. Generate the new cert.<br>
&gt; 1. Change your pins directive to include the new and the old public<br=
>
&gt; key fingerprints.<br>
&gt; 2. Wait long enough for &quot;most, surely?&quot; of your users to hav=
e received<br>
&gt; the new pins, or for their pins to expire by the normal maxAge means.<=
br>
&gt; 3. Decommission the old EE cert and deploy the new.<br>
<br>
</div>Actually, if your certificate policy requires key rotation at<br>
certificate expiry, you can generate key N+1 at any time (preferably<br>
early in the life of the cert corresponding to key N), and introduce the<br=
>
secondary pin at that point, without having gotten certificate N+1 yet.<br>=
</blockquote><div><br></div><div>Yep.</div><div><br></div><div>=A0</div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex;">

It still looks to me like pinning a CA does nothing more than give them<br>
the chance to hold you hostage at certificate renewal time, and to<br>
expose you to vulnerability should the CA itself be compromised.</blockquot=
e><div><br></div><div>It gives you scaling and administrative convenience.<=
/div><div><br></div><div>If you have 10,000 hosts in your enterprise networ=
k you really do not want to have to be managing trust on a per host level. =
Now consider the case where you are renting your compute power in the cloud=
 and so the machine instances are existing for a few hours at a time.</div>
<div><br></div><div>Any scheme that insists on only tying to the EE cert or=
 key is going to create a major operational headache for those sites. It is=
 really easy to design a scheme that is easy to administer.</div><div><br>
</div><div>It is also going to cause huge amounts of state that the client =
has to manage. If you have 10,000 front end web servers you are going to ne=
ed 10,000 different client keys to do the job right.</div><div>=A0</div><di=
v>
<br></div><div>So what most of the large enterprises would likely do if the=
y introduced any form of security policy would be to have a private CA run =
up that is an intermediate in a larger hierarchy. This is why the bogus EFF=
 study came up with the absurd number of 600 CAs. What they have never come=
 clean on is the fact that 150 of those &#39;CAs&#39; are in fact merely in=
termediate roots tied to a single customer that are managed in the same inf=
rastructure as the root CA operations.</div>
<div><br></div><div><br></div><div>What pinning to a CA does raise is the a=
bsolute need to have the ability to pin more than one CA at a time.</div><d=
iv><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;b=
order-left:1px #ccc solid;padding-left:1ex;">
<div class=3D"im">&gt; Again, that&#39;s fine and one size does not fit all=
.<br>
<br>
</div>Sure, one size does not fit all, but it looks like the document is<br=
>
(reasonably) trying to outline some common patterns of reasonable<br>
behavior to encourage best practices. =A0I still don&#39;t see any best<br>
practice that involves pinning to a CA unless that CA is itself under<br>
the control of your own organization.<br>
<br>
I recommend that the draft make this explicit, to avoid encouraging<br>
system operators binding themselves even more tightly to a CA by<br>
misapplication of this mechanism.<font class=3D"Apple-style-span" color=3D"=
#888888"><br></font></blockquote></div><div><br></div><div>There is certain=
ly a difference in the risk factor here between pinning in the browser and =
CAA as currently specd (i.e. without the client enforcement capability). [I=
 originally wrote big, but thinking it through, maybe not so much]</div>
<div><br></div><div>CA issue of certs is never a 100% automated process. Th=
ere are some cases where automated issue is possible but there are inevitab=
ly exceptions.</div><div><br></div><div>CAA does not prevent a CA issuing a=
 cert, it merely triggers an exception. So the CA that received the failed =
application is going to circle back to the customer and ask what is up. If =
the CAA record was inserted maliciously or without informed consent then th=
e customer is going to be mighty peeved with their old CA and likely contac=
t slashdot with a nasty story.</div>
<div><br></div><div><br></div><div>If there is client enforcement of the re=
cords then there is a potential to use them maliciously.</div><div><br></di=
v><div>But even so, I can&#39;t see this being much of a practical concern.=
 The main value add CAs bring in practice is teaching people how to configu=
re crypto and install certs properly without making a mess of it. Every cus=
tomer call center I have been in the conversations you hear are salespeople=
 walking a customer through install for Apache or ISS.=A0</div>
<div><br></div><div>So provided there is an escape hole from the pinning me=
chanism, the CAs are going to be more than capable of talking the customer =
through how to untie themselves from the attempted customer capture.</div>
<div><br></div>-- <br>Website: <a href=3D"http://hallambaker.com/">http://h=
allambaker.com/</a><br><br>

--0016e68ef4573c72f704ace6fb0b--

From hallam@gmail.com  Wed Sep 14 06:58:04 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CD24121F8BFE for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:58:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.462
X-Spam-Level: 
X-Spam-Status: No, score=-3.462 tagged_above=-999 required=5 tests=[AWL=0.136,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 vvdpBqzjQNTL for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 06:58:00 -0700 (PDT)
Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by ietfa.amsl.com (Postfix) with ESMTP id 1FA5721F8B52 for <websec@ietf.org>; Wed, 14 Sep 2011 06:58:00 -0700 (PDT)
Received: by gxk28 with SMTP id 28so2199786gxk.27 for <websec@ietf.org>; Wed, 14 Sep 2011 07:00:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=kjxBPOnM5/+Y66rYrerhc/MIRYoS/eN2FRVkyw47Igo=; b=ie+sfW+k4JvQDdTtVsuHsKKkcTagbNtTDpDGmZDEv8MXcOePnEFwpWFzccU4g/Cn6i 8sI+pcT6FIfr+oE0NNo9wmyXvTd8zLarBHAs7W0r9x0GEvxzAK4X97UieEzOpSOk27uP rgCPg3dXzD6IQteHlPoiUi0aK/4yBYR9CbmWc=
MIME-Version: 1.0
Received: by 10.101.11.36 with SMTP id o36mr326696ani.74.1316008808974; Wed, 14 Sep 2011 07:00:08 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Wed, 14 Sep 2011 07:00:08 -0700 (PDT)
In-Reply-To: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com>
Date: Wed, 14 Sep 2011 10:00:08 -0400
Message-ID: <CAMm+Lwh4Q2fW_ZLYuyC0UnhFEqXc_o6+BJ9eZ3c0XtA1DmmiQw@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Chris Palmer <palmer@google.com>
Content-Type: multipart/alternative; boundary=0016e68ef4579489bf04ace72d63
Cc: Chris Evans <cevans@google.com>, websec@ietf.org
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 13:58:04 -0000

--0016e68ef4579489bf04ace72d63
Content-Type: text/plain; charset=ISO-8859-1

One technical point, have you considered the ODI mechanism that we developed
for CAA up to the -01 version when the client enforcement bit got kiboshed?

The name is confuising, but lets say we call it the DIGEST URI type and the
digest data consists of

DIGEST: < Base64 ( <Object-type> + <Digest-alg> + <Digest-value>)

The idea was that this is something we could write code into various crypto
libs to generate as a fixed ASCII blob that the user can then cut and paste.

It is thus easier for the admin to manage than having the digest alg being a
separate parameter that they have to get right.


A practical benefit here is that it makes it easy to have multiple digests
in the same header without the need for bracketing:

Pin: DIGEST:w2eoiuweoifuweoi==  DIGEST:weowoeifwoeifj==

Is easier to parse than:

Pin: [alg=sha1 fingerprint=odoiweoifjio==]  [alg=sha256
fingerprint=wejwekhjw==]

This makes it easy to provide two versions of the digest so that old and new
browsers can make use of the same data.

This is the type of capability that I think will be essential in emergency
response if we ever have a SHA2 breach to cope with.


It also means that the digest format is intrinsically proof against content
type substitution attacks. If the code expects a cert or a key, it can check
that it is not being fed a cunningly crafted object of another type.


One minor point, the draft mentions SHA1. Could we just dump that? I can't
see a good reason to use SHA1 in new code at this point. I would like all
new code to be SHA3 capable from the start.

Which is why the ODI scheme used ASN.1. Any code that is going to touch
certs is going to have to have an ASN.1 algorithm type mechanism. But
knowing what the IANA situation is takes an additional bit of data.

[As a matter of policy I would prefer that the IETF get out of the business
of giving code points that recognize vanity crypto and only ever issue code
points for algorithms that the IETF endorses as MUSTs for IETF protocols.]


On Mon, Sep 12, 2011 at 5:56 PM, Chris Palmer <palmer@google.com> wrote:

> Hi all,
>
> Chris Evans and I work at Google on the Chrome security team. We have
> devised this specification for a new extension to Strict Transport
> Security to allow site operators to "pin" certificates: UAs will
> require that TLS connections be validated with at least one of the
> public keys identified in the new "pins" directive in the HSTS header.
> (Sites can pin to one or more public keys in end entity, subordinate
> CA, and/or root CA certificates, for flexibility and disaster
> recovery.)
>
> We hope that this mechanism opens up the benefits of certificate
> pinning to more sites. Currently, Chrome can "pre-load" HSTS behavior
> and certificate pins for sites, but the mechanism for doing this
> (email us!) does not scale.
>
> We eagerly anticipate your comments, questions, concerns, et c. As you
> can see from the Ideas section, there are some unanswered questions
> about the behavior of UAs and hosts, and possible extensions to the
> policy.
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>
>


-- 
Website: http://hallambaker.com/

--0016e68ef4579489bf04ace72d63
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

One technical point, have you considered the ODI mechanism that we develope=
d for CAA up to the -01 version when the client enforcement bit got kiboshe=
d?<div><br></div><div>The name is confuising, but lets say we call it the D=
IGEST URI type and the digest data consists of</div>
<div><br></div><div>DIGEST: &lt; Base64 ( &lt;Object-type&gt; + &lt;Digest-=
alg&gt; + &lt;Digest-value&gt;)=A0</div><div><br></div><div>The idea was th=
at this is something we could write code into various crypto libs to genera=
te as a fixed ASCII blob that the user can then cut and paste.</div>
<div><br></div><div>It is thus easier for the admin to manage than having t=
he digest alg being a separate parameter that they have to get right.=A0</d=
iv><div><br></div><div><br></div><div>A practical benefit here is that it m=
akes it easy to have multiple digests in the same header without the need f=
or bracketing:</div>
<div><br></div><div>Pin: DIGEST:w2eoiuweoifuweoi=3D=3D =A0DIGEST:weowoeifwo=
eifj=3D=3D</div><div><br></div><div>Is easier to parse than:</div><div><br>=
</div><div>Pin: [alg=3Dsha1 fingerprint=3Dodoiweoifjio=3D=3D] =A0[alg=3Dsha=
256 fingerprint=3Dwejwekhjw=3D=3D]=A0</div>
<div><br></div><div>This makes it easy to provide two versions of the diges=
t so that old and new browsers can make use of the same data.=A0</div><div>=
<br></div><div>This is the type of capability that I think will be essentia=
l in emergency response if we ever have a SHA2 breach to cope with.</div>
<div><br></div><div><br></div><div>It also means that the digest format is =
intrinsically proof against content type substitution attacks. If the code =
expects a cert or a key, it can check that it is not being fed a cunningly =
crafted object of another type.</div>
<div><br></div><div><br></div><div>One minor point, the draft mentions SHA1=
. Could we just dump that? I can&#39;t see a good reason to use SHA1 in new=
 code at this point. I would like all new code to be SHA3 capable from the =
start.</div>
<div><br></div><div>Which is why the ODI scheme used ASN.1. Any code that i=
s going to touch certs is going to have to have an ASN.1 algorithm type mec=
hanism. But knowing what the IANA situation is takes an additional bit of d=
ata.</div>
<div><br></div><div>[As a matter of policy I would prefer that the IETF get=
 out of the business of giving code points that recognize vanity crypto and=
 only ever issue code points for algorithms that the IETF endorses as MUSTs=
 for IETF protocols.]</div>
<div><br></div><div><div><br><div class=3D"gmail_quote">On Mon, Sep 12, 201=
1 at 5:56 PM, Chris Palmer <span dir=3D"ltr">&lt;<a href=3D"mailto:palmer@g=
oogle.com">palmer@google.com</a>&gt;</span> wrote:<br><blockquote class=3D"=
gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-=
left:1ex;">
Hi all,<br>
<br>
Chris Evans and I work at Google on the Chrome security team. We have<br>
devised this specification for a new extension to Strict Transport<br>
Security to allow site operators to &quot;pin&quot; certificates: UAs will<=
br>
require that TLS connections be validated with at least one of the<br>
public keys identified in the new &quot;pins&quot; directive in the HSTS he=
ader.<br>
(Sites can pin to one or more public keys in end entity, subordinate<br>
CA, and/or root CA certificates, for flexibility and disaster<br>
recovery.)<br>
<br>
We hope that this mechanism opens up the benefits of certificate<br>
pinning to more sites. Currently, Chrome can &quot;pre-load&quot; HSTS beha=
vior<br>
and certificate pins for sites, but the mechanism for doing this<br>
(email us!) does not scale.<br>
<br>
We eagerly anticipate your comments, questions, concerns, et c. As you<br>
can see from the Ideas section, there are some unanswered questions<br>
about the behavior of UAs and hosts, and possible extensions to the<br>
policy.<br>
<br>_______________________________________________<br>
websec mailing list<br>
<a href=3D"mailto:websec@ietf.org">websec@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/websec" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/websec</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Website:=
 <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br><br>
</div></div>

--0016e68ef4579489bf04ace72d63--

From dkg@fifthhorseman.net  Wed Sep 14 08:10:58 2011
Return-Path: <dkg@fifthhorseman.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4C8E621F8B71 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 08:10:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.479
X-Spam-Level: 
X-Spam-Status: No, score=-2.479 tagged_above=-999 required=5 tests=[AWL=0.120,  BAYES_00=-2.599]
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 rR8V33cJvGSd for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 08:10:57 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id 5FDFB21F8B84 for <websec@ietf.org>; Wed, 14 Sep 2011 08:10:57 -0700 (PDT)
Received: from [192.168.23.207] (dsl254-070-154.nyc1.dsl.speakeasy.net [216.254.70.154]) by che.mayfirst.org (Postfix) with ESMTPSA id DF0E0F970; Wed, 14 Sep 2011 11:12:58 -0400 (EDT)
Message-ID: <4E70C4AB.7050206@fifthhorseman.net>
Date: Wed, 14 Sep 2011 11:13:47 -0400
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20110807 Icedove/5.0
MIME-Version: 1.0
To: Phillip Hallam-Baker <hallam@gmail.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <4E6F5056.800@fifthhorseman.net> <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com> <4E70A8F8.80102@fifthhorseman.net> <CAMm+Lwj4LMjivR0nHWQ4eqkTz_WVTq8w5+QWGPSOat0KgvM3HA@mail.gmail.com>
In-Reply-To: <CAMm+Lwj4LMjivR0nHWQ4eqkTz_WVTq8w5+QWGPSOat0KgvM3HA@mail.gmail.com>
X-Enigmail-Version: 1.2.1
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig59D969115E03CB39ED0224AB"
Cc: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: IETF WebSec WG <websec@ietf.org>
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 15:10:58 -0000

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig59D969115E03CB39ED0224AB
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 09/14/2011 09:46 AM, Phillip Hallam-Baker wrote:
> It gives you scaling and administrative convenience.
>=20
> If you have 10,000 hosts in your enterprise network you really do not w=
ant
> to have to be managing trust on a per host level.

You're not "managing trust on a per host level" -- you're managing
*identity* on a per-host level, which is exactly what it should be.  If
you have 10K hosts, you need to think clearly about the identity
presented by each of those hosts.

> Now consider the case
> where you are renting your compute power in the cloud and so the machin=
e
> instances are existing for a few hours at a time.
>
> Any scheme that insists on only tying to the EE cert or key is going to=

> create a major operational headache for those sites. It is really easy =
to
> design a scheme that is easy to administer.

is it more of an operational headache to get an external CA to sign a
new key for each host each time it comes up "for a few hours"?  or to
just push the relevant pre-existing keys+certificates onto the hosts in
question?

> It is also going to cause huge amounts of state that the client has to
> manage. If you have 10,000 front end web servers you are going to need
> 10,000 different client keys to do the job right.

eh?  why?  if these are front-end web servers hosting the same service,
wouldn't they just share a key (and a certificate)?  The only large
organization i know of that uses one key per server is citibank, and
many people are making decent arguments that this is problematic for
other methods of identity verification (e.g. Perspectives and
Convergence plugins)

> So what most of the large enterprises would likely do if they introduce=
d any
> form of security policy would be to have a private CA run up that is an=

> intermediate in a larger hierarchy.

Sure, as i pointed out, the only reason you'd want to pin a CA is if the
CA is under your own organization's direct control.

> This is why the bogus EFF study came up
> with the absurd number of 600 CAs. What they have never come clean on i=
s the
> fact that 150 of those 'CAs' are in fact merely intermediate roots tied=
 to a
> single customer that are managed in the same infrastructure as the root=
 CA
> operations.

if those intermediate authorities are not explicitly domain-restricted
*in their own certificate*, then yes -- the risk is larger.  i don't

> What pinning to a CA does raise is the absolute need to have the abilit=
y to
> pin more than one CA at a time.

i think for rollover purposes, you already need to be able to pin
multiple certs if you're pinning an EE.

Still unconvinced,

	--dkg


--------------enig59D969115E03CB39ED0224AB
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQJ8BAEBCgBmBQJOcMSrXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwRUU1QkU5NzkyODJEODBCOUY3NTQwRjFD
Q0QyRUQ5NEQyMTczOUU5AAoJEMzS7ZTSFznppjgQAJW17j2DioWcGAmzXB9Daik0
MlA/EDZFvVFZorVxco9zGonneAdUmHQdLGRWW/YXjptG+LnwrhvS+o5Jk1N5BRY+
rw6iyHQ5N4MUygiBR6APmPHJqVyCsHesZA0O7o0/ugweK0L/tZ8JHjRmGZzi+Pum
wHR/jfEZHApMtANSd0xS9LhbJwElGv4dPHxGIdGLYS66SIYcaikOBSFZXWGIdIl3
yh9cT6rFu3wTk4jaSTpYle/ADulh/eAJ5cWY29H6Guc2Xc2/imaOOCRv7U9YXzPm
XbcVetjzkFH4g2bb3MtezDLtF2rGWkD52lThF1N0JltKDBFWts2DZZTTBcjw6bhn
3Av1lg/QQkn7ii1Qasp/XECtTatvKKLzBiLEoyVRBRgSxqG/d2xEtv9VW+5FtBtW
2TG3d7JCSMAi1IqAkMT/PHO3nSrV/hHnX/thi3X23WJPjE1BpSAC3tNM37fnJYBj
xQJTvNtqg000yFCvApHZDEzXvHupndAiswkio+zcCyql9Zz+yvtr8zsvidOjYVxr
9nIcnBXuj1GRqsZVvhKKvnTMhDfJsCqfy6E4Wa7LNbPbN/trCF4F3xx1khiENsII
k46BaG9lqMmU5QuS4tB6U/3EJIMD9g7OoUI7gLavvcM9NHFac5nA7/+lJ0p/AntJ
Sucjhf7gDPl7X4/kR6am
=8dD8
-----END PGP SIGNATURE-----

--------------enig59D969115E03CB39ED0224AB--

From dkg@fifthhorseman.net  Wed Sep 14 08:28:51 2011
Return-Path: <dkg@fifthhorseman.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BFBC621F8B3D for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 08:28:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.499
X-Spam-Level: 
X-Spam-Status: No, score=-2.499 tagged_above=-999 required=5 tests=[AWL=0.100,  BAYES_00=-2.599]
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 xFWnOlR6sgF2 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 08:28:51 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id 4431F21F8B3C for <websec@ietf.org>; Wed, 14 Sep 2011 08:28:51 -0700 (PDT)
Received: from [192.168.23.207] (dsl254-070-154.nyc1.dsl.speakeasy.net [216.254.70.154]) by che.mayfirst.org (Postfix) with ESMTPSA id 61468F970; Wed, 14 Sep 2011 11:30:59 -0400 (EDT)
Message-ID: <4E70C8E2.3050604@fifthhorseman.net>
Date: Wed, 14 Sep 2011 11:31:46 -0400
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20110807 Icedove/5.0
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <4E6F5056.800@fifthhorseman.net> <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com> <4E70A8F8.80102@fifthhorseman.net> <CAMm+Lwj4LMjivR0nHWQ4eqkTz_WVTq8w5+QWGPSOat0KgvM3HA@mail.gmail.com> <4E70C4AB.7050206@fifthhorseman.net>
In-Reply-To: <4E70C4AB.7050206@fifthhorseman.net>
X-Enigmail-Version: 1.2.1
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig116AFA6A43637BA26646DB54"
Cc: Chris Evans <cevans@google.com>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: IETF WebSec WG <websec@ietf.org>
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 15:28:51 -0000

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig116AFA6A43637BA26646DB54
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 09/14/2011 11:13 AM, Daniel Kahn Gillmor wrote:
>> This is why the bogus EFF study came up
>> with the absurd number of 600 CAs. What they have never come clean on =
is the
>> fact that 150 of those 'CAs' are in fact merely intermediate roots tie=
d to a
>> single customer that are managed in the same infrastructure as the roo=
t CA
>> operations.
>=20
> if those intermediate authorities are not explicitly domain-restricted
> *in their own certificate*, then yes -- the risk is larger.  i don't

sorry -- this got cut off somehow.

=2E.. i don't think EFFs study is bogus in its analysis.  "the same
infrastructure" doesn't mean "using the same access controls" --
certainly customers in control of an intermediate root have more access
to that root than other people, so there are additional risks to relying
parties from them if they're not explicitly domain-restricted.

Were these 150 intermediate certs explicitly domain-restricted in the
certificates themselves?

	--dkg


--------------enig116AFA6A43637BA26646DB54
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQJ8BAEBCgBmBQJOcMjiXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwRUU1QkU5NzkyODJEODBCOUY3NTQwRjFD
Q0QyRUQ5NEQyMTczOUU5AAoJEMzS7ZTSFznpJsMQAILImwt5jrPe7FvfqBRmVh06
6iqtzHsUm2rRei93BrWScAba6WieTOLr0PX7vAeI21hLfRTWqDsS0lF+PgRGbWS3
KJEQFNSxxCdBqWbsvYOkIBP1RvIeyA3gplrb2SU2g7u3ToK9BPLgKDBcz1MaP4/w
xFJhjzqSOztOXLlbQ2EQ86j3q9AhdxXxUtStb6qdixbTdaE+ZRup6KPpB66RwtEm
1DNFgrqcBClv+S6DvD+Dxk8GD/vxXqyk7sWxqHOOfM3p94qcY1wWtUWIl5v0JhZ0
VRGsK5BMxaEyAT1dKqBOyECtCN0jz6Z0lTde3/WqGCU0BFahZH90SdI/Wljb7i7G
rUVquZsK4xjbdcH6bFVQu4lfLI4uTDOD76/bgoZ/zTJi22EnKG4ghpSbZ/lVHNku
dMwCQuBX5Du+jUtN10QK0CYdSbQFgrtRRsuWuAx6UtC2sek7zCpZAWCLA13ayySz
g8Vwaz6NifOBN5N0k2u4ONFZlblXNlAvx+5vdkfE9vZK85F8Q3Oq561m1kslV/TM
2LOEpcY8mioT3EjlxA0hmIBLxRcETgtWaLV+RZpMrSX+5mqIBvgJm76Wz6NpG6Td
JScgqt13GJ2UpOfEnYxB2WuaxHHBKaokMFjDIGaODjoD/Tk9jrUPoEAwYxWpQYpY
/yitiZ+F6yRUeP1qqRbO
=U/YS
-----END PGP SIGNATURE-----

--------------enig116AFA6A43637BA26646DB54--

From hallam@gmail.com  Wed Sep 14 09:42:22 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 01EF721F8B9B for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 09:42:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.463
X-Spam-Level: 
X-Spam-Status: No, score=-3.463 tagged_above=-999 required=5 tests=[AWL=0.135,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 DvDWpR21nYBW for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 09:42:20 -0700 (PDT)
Received: from mail-yx0-f172.google.com (mail-yx0-f172.google.com [209.85.213.172]) by ietfa.amsl.com (Postfix) with ESMTP id C00D321F8B6C for <websec@ietf.org>; Wed, 14 Sep 2011 09:42:20 -0700 (PDT)
Received: by yxt33 with SMTP id 33so1753630yxt.31 for <websec@ietf.org>; Wed, 14 Sep 2011 09:44:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Ef4qx3mIh+WU2EACEXtEQEY94PjcJCUW5gow2WEtvQA=; b=J45i1aAuU3iU1pYaXZUJoE3j99yHKgAUkyvLP7D/0Eu4csbgy85xwR22d6V9k6LPTW gHgUQLjq/kEQJiXSZd3fPTgUhuOxCVT3/YtpnUakilQn/DRsq7jA+Lha39TE8xAdRlml HFTUF34MLFbr12gm0EpgN4DUQ+G4ibL/V4Pv4=
MIME-Version: 1.0
Received: by 10.101.11.36 with SMTP id o36mr47912ani.74.1316018670038; Wed, 14 Sep 2011 09:44:30 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Wed, 14 Sep 2011 09:44:29 -0700 (PDT)
In-Reply-To: <4E70C4AB.7050206@fifthhorseman.net>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <4E6F5056.800@fifthhorseman.net> <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com> <4E70A8F8.80102@fifthhorseman.net> <CAMm+Lwj4LMjivR0nHWQ4eqkTz_WVTq8w5+QWGPSOat0KgvM3HA@mail.gmail.com> <4E70C4AB.7050206@fifthhorseman.net>
Date: Wed, 14 Sep 2011 12:44:29 -0400
Message-ID: <CAMm+LwgVvJ+ScrxGcdhckX9_E5OpEmThp+GWqbhCvmr9Qf7FDQ@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: IETF WebSec WG <websec@ietf.org>
Content-Type: multipart/alternative; boundary=0016e68ef45758701104ace979ab
Cc: Chris Evans <cevans@google.com>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 16:42:22 -0000

--0016e68ef45758701104ace979ab
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Sep 14, 2011 at 11:13 AM, Daniel Kahn Gillmor <dkg@fifthhorseman.net
> wrote:

> On 09/14/2011 09:46 AM, Phillip Hallam-Baker wrote:
> > It gives you scaling and administrative convenience.
> >
> > If you have 10,000 hosts in your enterprise network you really do not
> want
> > to have to be managing trust on a per host level.
>
> You're not "managing trust on a per host level" -- you're managing
> *identity* on a per-host level, which is exactly what it should be.  If
> you have 10K hosts, you need to think clearly about the identity
> presented by each of those hosts.


Identity is a property of the site, the host is merely an implementation
detail.




> > Now consider the case
> > where you are renting your compute power in the cloud and so the machine
> > instances are existing for a few hours at a time.
> >
> > Any scheme that insists on only tying to the EE cert or key is going to
> > create a major operational headache for those sites. It is really easy to
> > design a scheme that is easy to administer.
>
> is it more of an operational headache to get an external CA to sign a
> new key for each host each time it comes up "for a few hours"?  or to
> just push the relevant pre-existing keys+certificates onto the hosts in
> question?


I really hate having private keys move off a host.

If people are going to be doing that pattern of hosting I would prefer to
have keys tied to the virtual hosts such that they are generated in place
and never ever move from the host. Then have certs generated with short
lived expiry (36 hours), that way the attack surface is kept to a bare
minimum.



> > It is also going to cause huge amounts of state that the client has to
> > manage. If you have 10,000 front end web servers you are going to need
> > 10,000 different client keys to do the job right.
>
> eh?  why?  if these are front-end web servers hosting the same service,
> wouldn't they just share a key (and a certificate)?  The only large
> organization i know of that uses one key per server is citibank, and
> many people are making decent arguments that this is problematic for
> other methods of identity verification (e.g. Perspectives and
> Convergence plugins)


Keys should be unique to the host and never move from the host.

It is certainly not just citibank that has that scheme.


>

> > This is why the bogus EFF study came up
> > with the absurd number of 600 CAs. What they have never come clean on is
> the
> > fact that 150 of those 'CAs' are in fact merely intermediate roots tied
> to a
> > single customer that are managed in the same infrastructure as the root
> CA
> > operations.
>
> if those intermediate authorities are not explicitly domain-restricted
> *in their own certificate*, then yes -- the risk is larger.  i don't


Not if the signing keys are in the same hardware module as the intermediate
they are signed under.

The problem is that PKIX policy constraints don't really have the leverage
they should in the real world. And even if they did they don't necessarily
map to real world organizational divisions. A large organization will
typically own many DNS names.

The issue is where validation is performed and if the RA has independent
issue authority or not.

At this point the government of Iran has solved that particular problem.



> > What pinning to a CA does raise is the absolute need to have the ability
> to
> > pin more than one CA at a time.
>
> i think for rollover purposes, you already need to be able to pin
> multiple certs if you're pinning an EE.
>
> Still unconvinced,


It is an operational issue. There is practically no difference in the code
between only checking the EE cert or key and checking intermediate
certs/keys.

Designs should be as simple as possible BUT NO SIMPLER.

The 'I don't see the need, therefore I will obstruct feature X' approach is
the reason that PKIX has become what it is. We could have had policy
constraints and cross certificate mechanisms that really worked the way we
wanted if they had been baked in on day one. Instead they have become a
black art which can be practiced by a very small circle of people and even
they will tell you how broken the system is.

Give operators the tools to do their job, do not presume to tell them how to
secure their systems.

-- 
Website: http://hallambaker.com/

--0016e68ef45758701104ace979ab
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Wed, Sep 14, 2011 at 11:13 AM, Daniel=
 Kahn Gillmor <span dir=3D"ltr">&lt;<a href=3D"mailto:dkg@fifthhorseman.net=
">dkg@fifthhorseman.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail=
_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:=
1ex;">
<div class=3D"im">On 09/14/2011 09:46 AM, Phillip Hallam-Baker wrote:<br>
&gt; It gives you scaling and administrative convenience.<br>
&gt;<br>
&gt; If you have 10,000 hosts in your enterprise network you really do not =
want<br>
&gt; to have to be managing trust on a per host level.<br>
<br>
</div>You&#39;re not &quot;managing trust on a per host level&quot; -- you&=
#39;re managing<br>
*identity* on a per-host level, which is exactly what it should be. =A0If<b=
r>
you have 10K hosts, you need to think clearly about the identity<br>
presented by each of those hosts.</blockquote><div><br></div><div>Identity =
is a property of the site, the host is merely an implementation detail.</di=
v><div><br></div><div><br></div><div>=A0</div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex=
;">
<div class=3D"im">
&gt; Now consider the case<br>
&gt; where you are renting your compute power in the cloud and so the machi=
ne<br>
&gt; instances are existing for a few hours at a time.<br>
&gt;<br>
&gt; Any scheme that insists on only tying to the EE cert or key is going t=
o<br>
&gt; create a major operational headache for those sites. It is really easy=
 to<br>
&gt; design a scheme that is easy to administer.<br>
<br>
</div>is it more of an operational headache to get an external CA to sign a=
<br>
new key for each host each time it comes up &quot;for a few hours&quot;? =
=A0or to<br>
just push the relevant pre-existing keys+certificates onto the hosts in<br>
question?</blockquote><div><br></div><div>I really hate having private keys=
 move off a host.=A0</div><div><br></div><div>If people are going to be doi=
ng that pattern of hosting I would prefer to have keys tied to the virtual =
hosts such that they are generated in place and never ever move from the ho=
st. Then have certs generated with short lived expiry (36 hours), that way =
the attack surface is kept to a bare minimum.</div>
<div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class=3D"=
im">
&gt; It is also going to cause huge amounts of state that the client has to=
<br>
&gt; manage. If you have 10,000 front end web servers you are going to need=
<br>
&gt; 10,000 different client keys to do the job right.<br>
<br>
</div>eh? =A0why? =A0if these are front-end web servers hosting the same se=
rvice,<br>
wouldn&#39;t they just share a key (and a certificate)? =A0The only large<b=
r>
organization i know of that uses one key per server is citibank, and<br>
many people are making decent arguments that this is problematic for<br>
other methods of identity verification (e.g. Perspectives and<br>
Convergence plugins)</blockquote><div><br></div><div>Keys should be unique =
to the host and never move from the host.</div><div><br></div><div>It is ce=
rtainly not just citibank that has that scheme.=A0</div><div><br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex;">
<div class=3D"im"><br></div></blockquote><div>=A0</div><blockquote class=3D=
"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding=
-left:1ex;"><div class=3D"im">
&gt; This is why the bogus EFF study came up<br>
&gt; with the absurd number of 600 CAs. What they have never come clean on =
is the<br>
&gt; fact that 150 of those &#39;CAs&#39; are in fact merely intermediate r=
oots tied to a<br>
&gt; single customer that are managed in the same infrastructure as the roo=
t CA<br>
&gt; operations.<br>
<br>
</div>if those intermediate authorities are not explicitly domain-restricte=
d<br>
*in their own certificate*, then yes -- the risk is larger. =A0i don&#39;t<=
/blockquote><div><br></div><div>Not if the signing keys are in the same har=
dware module as the intermediate they are signed under.</div><div><br></div=
>
<div>The problem is that PKIX policy constraints don&#39;t really have the =
leverage they should in the real world. And even if they did they don&#39;t=
 necessarily map to real world organizational divisions. A large organizati=
on will typically own many DNS names.=A0</div>
<div><br></div><div>The issue is where validation is performed and if the R=
A has independent issue authority or not.=A0</div><div><br></div><div>At th=
is point the government of Iran has solved that particular problem.=A0</div=
>
<div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class=3D"=
im">
&gt; What pinning to a CA does raise is the absolute need to have the abili=
ty to<br>
&gt; pin more than one CA at a time.<br>
<br>
</div>i think for rollover purposes, you already need to be able to pin<br>
multiple certs if you&#39;re pinning an EE.<br>
<br>
Still unconvinced,</blockquote><div><br></div><div>It is an operational iss=
ue. There is practically no difference in the code between only checking th=
e EE cert or key and checking intermediate certs/keys.</div></div><div>
<br></div><div>Designs should be as simple as possible BUT NO SIMPLER.</div=
><div><br></div><div>The &#39;I don&#39;t see the need, therefore I will ob=
struct feature X&#39; approach is the reason that PKIX has become what it i=
s. We could have had policy constraints and cross certificate mechanisms th=
at really worked the way we wanted if they had been baked in on day one. In=
stead they have become a black art which can be practiced by a very small c=
ircle of people and even they will tell you how broken the system is.</div>
<div><br></div><div>Give operators the tools to do their job, do not presum=
e to tell them how to secure their systems.</div><div><br></div>-- <br>Webs=
ite: <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br><br=
>


--0016e68ef45758701104ace979ab--

From hallam@gmail.com  Wed Sep 14 09:44:44 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8307721F8BB9 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 09:44:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.464
X-Spam-Level: 
X-Spam-Status: No, score=-3.464 tagged_above=-999 required=5 tests=[AWL=0.134,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 84z3xTdc6XYe for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 09:44:44 -0700 (PDT)
Received: from mail-yx0-f172.google.com (mail-yx0-f172.google.com [209.85.213.172]) by ietfa.amsl.com (Postfix) with ESMTP id E392821F8BB2 for <websec@ietf.org>; Wed, 14 Sep 2011 09:44:43 -0700 (PDT)
Received: by yxt33 with SMTP id 33so1755914yxt.31 for <websec@ietf.org>; Wed, 14 Sep 2011 09:46:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=RorZ0UeDNpbU65vPv9tKUML34Z/bY3fkHOkUtAYFLc8=; b=emn58RfR1LKXWCQ+635Ra+WF+of60FxzLC4QMbFGUnZzD13UolGTZRrcRSbmZEvpQM fda5SdM5Tu6fr5kphVre//hxOslnWyTQlI2lQdJnaCLiYO6c8+8grWUFyRUpQOHxO9UC Ccg92Bw41EbVH2Jva/LTNtGudPQe2v00OsGI0=
MIME-Version: 1.0
Received: by 10.100.192.5 with SMTP id p5mr40963anf.96.1316018812976; Wed, 14 Sep 2011 09:46:52 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Wed, 14 Sep 2011 09:46:52 -0700 (PDT)
In-Reply-To: <4E70C8E2.3050604@fifthhorseman.net>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <4E6F5056.800@fifthhorseman.net> <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com> <4E70A8F8.80102@fifthhorseman.net> <CAMm+Lwj4LMjivR0nHWQ4eqkTz_WVTq8w5+QWGPSOat0KgvM3HA@mail.gmail.com> <4E70C4AB.7050206@fifthhorseman.net> <4E70C8E2.3050604@fifthhorseman.net>
Date: Wed, 14 Sep 2011 12:46:52 -0400
Message-ID: <CAMm+Lwi7KjcYjzGKCMyct31m7Gso0C9ZnUFUpUWcHrvb_BpZTw@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: IETF WebSec WG <websec@ietf.org>
Content-Type: multipart/alternative; boundary=0016e6440216dd7d6504ace98187
Cc: Chris Evans <cevans@google.com>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 16:44:44 -0000

--0016e6440216dd7d6504ace98187
Content-Type: text/plain; charset=ISO-8859-1

They claimed 600 CAs on the Internet.

Their claim was disproved, the intermediate roots are not under direct
control of the customers.

They did not retract or clarify


That is not how reputable academics do their work. They were making a
political statement using Fox News type tactics.


On Wed, Sep 14, 2011 at 11:31 AM, Daniel Kahn Gillmor <dkg@fifthhorseman.net
> wrote:

> On 09/14/2011 11:13 AM, Daniel Kahn Gillmor wrote:
> >> This is why the bogus EFF study came up
> >> with the absurd number of 600 CAs. What they have never come clean on is
> the
> >> fact that 150 of those 'CAs' are in fact merely intermediate roots tied
> to a
> >> single customer that are managed in the same infrastructure as the root
> CA
> >> operations.
> >
> > if those intermediate authorities are not explicitly domain-restricted
> > *in their own certificate*, then yes -- the risk is larger.  i don't
>
> sorry -- this got cut off somehow.
>
> ... i don't think EFFs study is bogus in its analysis.  "the same
> infrastructure" doesn't mean "using the same access controls" --
> certainly customers in control of an intermediate root have more access
> to that root than other people, so there are additional risks to relying
> parties from them if they're not explicitly domain-restricted.
>
> Were these 150 intermediate certs explicitly domain-restricted in the
> certificates themselves?
>
>        --dkg
>
>


-- 
Website: http://hallambaker.com/

--0016e6440216dd7d6504ace98187
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

They claimed 600 CAs on the Internet.=A0<div><br></div><div>Their claim was=
 disproved, the intermediate roots are not under direct control of the cust=
omers.=A0</div><div><br></div><div>They did not retract or clarify</div><di=
v>
<br></div><div><br></div><div>That is not how reputable academics do their =
work. They were making a political statement using Fox News type tactics.<b=
r><br></div><div><br><div class=3D"gmail_quote">On Wed, Sep 14, 2011 at 11:=
31 AM, Daniel Kahn Gillmor <span dir=3D"ltr">&lt;<a href=3D"mailto:dkg@fift=
hhorseman.net">dkg@fifthhorseman.net</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;"><div class=3D"im">On 09/14/2011 11:13 AM, D=
aniel Kahn Gillmor wrote:<br>
&gt;&gt; This is why the bogus EFF study came up<br>
&gt;&gt; with the absurd number of 600 CAs. What they have never come clean=
 on is the<br>
&gt;&gt; fact that 150 of those &#39;CAs&#39; are in fact merely intermedia=
te roots tied to a<br>
&gt;&gt; single customer that are managed in the same infrastructure as the=
 root CA<br>
&gt;&gt; operations.<br>
&gt;<br>
&gt; if those intermediate authorities are not explicitly domain-restricted=
<br>
&gt; *in their own certificate*, then yes -- the risk is larger. =A0i don&#=
39;t<br>
<br>
</div>sorry -- this got cut off somehow.<br>
<br>
... i don&#39;t think EFFs study is bogus in its analysis. =A0&quot;the sam=
e<br>
infrastructure&quot; doesn&#39;t mean &quot;using the same access controls&=
quot; --<br>
certainly customers in control of an intermediate root have more access<br>
to that root than other people, so there are additional risks to relying<br=
>
parties from them if they&#39;re not explicitly domain-restricted.<br>
<br>
Were these 150 intermediate certs explicitly domain-restricted in the<br>
certificates themselves?<br>
<font color=3D"#888888"><br>
 =A0 =A0 =A0 =A0--dkg<br>
<br>
</font></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Websi=
te: <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br><br>
</div>

--0016e6440216dd7d6504ace98187--

From dkg@fifthhorseman.net  Wed Sep 14 10:35:08 2011
Return-Path: <dkg@fifthhorseman.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3AF3521F8C60 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 10:35:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.513
X-Spam-Level: 
X-Spam-Status: No, score=-2.513 tagged_above=-999 required=5 tests=[AWL=0.086,  BAYES_00=-2.599]
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 JxsRlA4Dn5bQ for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 10:35:07 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id 6C8A621F8C10 for <websec@ietf.org>; Wed, 14 Sep 2011 10:35:07 -0700 (PDT)
Received: from [192.168.23.207] (dsl254-070-154.nyc1.dsl.speakeasy.net [216.254.70.154]) by che.mayfirst.org (Postfix) with ESMTPSA id 5F3A4F970; Wed, 14 Sep 2011 13:37:14 -0400 (EDT)
Message-ID: <4E70E67A.5030409@fifthhorseman.net>
Date: Wed, 14 Sep 2011 13:38:02 -0400
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20110807 Icedove/5.0
MIME-Version: 1.0
To: Phillip Hallam-Baker <hallam@gmail.com>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <4E6F5056.800@fifthhorseman.net> <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com> <4E70A8F8.80102@fifthhorseman.net> <CAMm+Lwj4LMjivR0nHWQ4eqkTz_WVTq8w5+QWGPSOat0KgvM3HA@mail.gmail.com> <4E70C4AB.7050206@fifthhorseman.net> <CAMm+LwgVvJ+ScrxGcdhckX9_E5OpEmThp+GWqbhCvmr9Qf7FDQ@mail.gmail.com>
In-Reply-To: <CAMm+LwgVvJ+ScrxGcdhckX9_E5OpEmThp+GWqbhCvmr9Qf7FDQ@mail.gmail.com>
X-Enigmail-Version: 1.2.1
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig940CB68BE9D238B8A7C5FD5D"
Cc: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: IETF WebSec WG <websec@ietf.org>
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 17:35:08 -0000

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig940CB68BE9D238B8A7C5FD5D
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 09/14/2011 12:44 PM, Phillip Hallam-Baker wrote:
> On Wed, Sep 14, 2011 at 11:13 AM, Daniel Kahn Gillmor <dkg@fifthhorsema=
n.net
>> wrote:

> I really hate having private keys move off a host.
>=20
> If people are going to be doing that pattern of hosting I would prefer =
to
> have keys tied to the virtual hosts such that they are generated in pla=
ce
> and never ever move from the host. Then have certs generated with short=

> lived expiry (36 hours), that way the attack surface is kept to a bare
> minimum.

I personally like this approach and i use multiple keys for different
hosts serving the same domain for at least one domain i administer
myself.  i also note that it is diametrically opposed to your earlier
stated goal of avoiding "major operational headache", particularly when
using an external CA.  I was trying to offer a way to avoid major
operational headache in my proposal.

Of course, the other way to avoid the headache in this is to use an
in-house CA, but of course that gets back to my "the only reasonable CA
to pin is an in-house CA".

> Keys should be unique to the host and never move from the host.
>=20
> It is certainly not just citibank that has that scheme.

Are these other organizations public?  I'm looking to compile a list of
groups that do this to raise this concern with the
Convergence/Perpsectives folks, since these always show up as bad under
their model of analysis.  Feel free to mail the the list privately if
you don't want to publish it, or if you feel it is off-topic for this lis=
t.

>> if those intermediate authorities are not explicitly domain-restricted=

>> *in their own certificate*, then yes -- the risk is larger.  i don't
>=20
> Not if the signing keys are in the same hardware module as the intermed=
iate
> they are signed under.

You're asking me to assume a whole stack of things about operational
integrity, access control, system maintenance, and coding practice at
various CAs.  I have no idea whether any of these things are true for
any CA in particular.  All i know is that there is a CA that is
nominally under the control of a separate organization.

I'd happy if someone could prove that these intermediate CAs are
actually all locked down under very high security and properly limited
in what kinds of certificates they can issue; but i'm not convinced such
a proof is possible.

And given the recent events, i'd have no confidence in an unproved
assertion of secure operations of these subordinate CAs.

> It is an operational issue. There is practically no difference in the c=
ode
> between only checking the EE cert or key and checking intermediate
> certs/keys.
>=20
> Designs should be as simple as possible BUT NO SIMPLER.
>=20
> The 'I don't see the need, therefore I will obstruct feature X' approac=
h is
> the reason that PKIX has become what it is. We could have had policy
> constraints and cross certificate mechanisms that really worked the way=
 we
> wanted if they had been baked in on day one. Instead they have become a=

> black art which can be practiced by a very small circle of people and e=
ven
> they will tell you how broken the system is.
>=20
> Give operators the tools to do their job, do not presume to tell them h=
ow to
> secure their systems.

The draft as initially proposed included both explicit mechanism and
several "best practice" recommendations (e.g. pin rollover and backup).
 I think these recommendations were good ones, and contribute a lot
toward making the draft clear and useful to the people who will have to
deploy the mechanism.

If this becomes an RFC, i'd hope these recommendations would persist in
a "SECURITY CONSIDERATIONS" section or the equivalent.

I'm proposing an additional recommendation: unless you control and
operate your own CA, you probably only want to pin EEs.

Regards,

	--dkg


--------------enig940CB68BE9D238B8A7C5FD5D
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQJ8BAEBCgBmBQJOcOZ7XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwRUU1QkU5NzkyODJEODBCOUY3NTQwRjFD
Q0QyRUQ5NEQyMTczOUU5AAoJEMzS7ZTSFznpqlgP+gIT4+R3tzs3QCpHVhcKxkMo
3P0UrZ0rXJkmcLiDYSWXWE2V8Za9NR9Sxd8xF5m8UAMfTWXH1R8JiHrnruEwZt0I
bV9Prc/Qu83FfHks5zJ36+CHH610T1FIc+s52u8Er3gyT15oKFlFbNxuRCflVxKm
6hDKH8ZwABxYWWxDy7OxyQfgCc1olfPStMzRKf2xAjkhHSPEHb56CPfV4IXBFVYd
0lLmg1OgiCLGDnQ5DeaMZSktMwIWsz8YH/WpATXnmR4T68az+AOT+n3yaXnLj/2i
dJNOlwCyI0PHmd4Njw+FR954NqSJxpDPeOiwUbVcNj5I+6me27qSRDHUoMOHTp0I
sLm3rVuvtlaKQKLbdFJrCRySf0FODSvvZF7AdoJi22Dc39Aqgl5VXXBGaWQFhLZ9
SPTjpqmub1hT4lHO5qimEQMmnZLbwBGXAX3zcqIV3HLIf814RXv4agPyD9/NYYb1
39I3fZEYed6991mpHTxgq8jXSyOcNoTmcPkY/5rh1fYEYwGznotmdglO9nwDhYeS
qrCvrosuWhpXV67CjFTg8UI4KKL9uxQID/lUt8atSWtDTHG7GmUAu3oVNYZYKawq
5ngYx/iAMP/HNL6tIC2Q4TEoNEsNRbG5miujAZulZOoJNYfLr61GmQ9UWjEzjOxa
jgoG/RuSKWgHGN7IcyIR
=W+ta
-----END PGP SIGNATURE-----

--------------enig940CB68BE9D238B8A7C5FD5D--

From hallam@gmail.com  Wed Sep 14 11:48:38 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6EB8821F8BEB for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 11:48:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.465
X-Spam-Level: 
X-Spam-Status: No, score=-3.465 tagged_above=-999 required=5 tests=[AWL=0.133,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 IVc-cIvTsN-7 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 11:48:37 -0700 (PDT)
Received: from mail-yx0-f172.google.com (mail-yx0-f172.google.com [209.85.213.172]) by ietfa.amsl.com (Postfix) with ESMTP id B850721F8C29 for <websec@ietf.org>; Wed, 14 Sep 2011 11:48:36 -0700 (PDT)
Received: by yxt33 with SMTP id 33so1873227yxt.31 for <websec@ietf.org>; Wed, 14 Sep 2011 11:50:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=pRgL+lyfIVoELznZjkEqSpWyMCXDxLNcaYlnovizpZ8=; b=g+hxMt1gC/i7ng0WKmFqYRTuz2g+Ve0cR066gw6agHcRlYDl7CwVrr+LWjZk7nb+1l ICVisQYoz2GSVYVhIntvATbT1dkMecWFrR2lG+z8MOEDzRTbVEt3rFawFcIJlZoYhiPB lKrwhGWTZS69UPNlzRACPzccpapFa6lvwH4U4=
MIME-Version: 1.0
Received: by 10.101.63.5 with SMTP id q5mr156204ank.140.1316026246230; Wed, 14 Sep 2011 11:50:46 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Wed, 14 Sep 2011 11:50:46 -0700 (PDT)
In-Reply-To: <4E70E67A.5030409@fifthhorseman.net>
References: <CAOuvq22p2qNnXRsK=PS=mxknnq4MrCWt0Np-N8su-iHXaWHqpg@mail.gmail.com> <4E6F5056.800@fifthhorseman.net> <CAOuvq22E-OvU_53gf_go8Nf_jXX_=wbTf7rn2XEa+GAWHTU+7w@mail.gmail.com> <4E70A8F8.80102@fifthhorseman.net> <CAMm+Lwj4LMjivR0nHWQ4eqkTz_WVTq8w5+QWGPSOat0KgvM3HA@mail.gmail.com> <4E70C4AB.7050206@fifthhorseman.net> <CAMm+LwgVvJ+ScrxGcdhckX9_E5OpEmThp+GWqbhCvmr9Qf7FDQ@mail.gmail.com> <4E70E67A.5030409@fifthhorseman.net>
Date: Wed, 14 Sep 2011 14:50:46 -0400
Message-ID: <CAMm+LwgLKboafM2FbYJ2784AmPHULQAcVFE6-RgsNEj86b2sCw@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: IETF WebSec WG <websec@ietf.org>
Content-Type: multipart/alternative; boundary=001636eee26debf3a104aceb3c56
Cc: Chris Evans <cevans@google.com>
Subject: Re: [websec] Certificate Pinning via HSTS
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 18:48:38 -0000

--001636eee26debf3a104aceb3c56
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Sep 14, 2011 at 1:38 PM, Daniel Kahn Gillmor
<dkg@fifthhorseman.net>wrote:

>
> I personally like this approach and i use multiple keys for different
> hosts serving the same domain for at least one domain i administer
> myself.  i also note that it is diametrically opposed to your earlier
> stated goal of avoiding "major operational headache", particularly when
> using an external CA.  I was trying to offer a way to avoid major
> operational headache in my proposal.
>

Not really. Operating infrastructure on a large scale, the issue is not the
number of operations required but the number of interdependencies between
systems.

Having keys that never leave the machine eliminates a lot of the management
issues to do with equipment that is lost, stolen etc with the keys loaded.
If you have 10 machines it is pretty obvious that you have lost one. On a
large installation racks of equipment can be appearing/disappearing on a
bewildering basis. And it is not uncommon for theft to be an insider who is
selling off machinery that is being booked as destroyed.


The way I would ideally lock a key to a host is to have a permanent host key
that is unique to that device and only used for authenticating cert
requests. To instantiate an instance of some server the data center pushes
out the server image and a one time use authentication key that is used to
authenticate a cert request for that specific machine. The host generates a
new key per cert request.

That approach allows a system where all the data flows are unidirectional,
no three way synchronization etc.



> Of course, the other way to avoid the headache in this is to use an
> in-house CA, but of course that gets back to my "the only reasonable CA
> to pin is an in-house CA".


We can get to agreement on a 'house specific CA'.

Running it in-house is a pain and is going to get worse over time as the
criteria for public CAs are raised by the browser providers.

Where I think we might want to shoot for with this would be to look for dual
control points and a key splitting type approach.


> > Keys should be unique to the host and never move from the host.
> >
> > It is certainly not just citibank that has that scheme.
>
> Are these other organizations public?  I'm looking to compile a list of
> groups that do this to raise this concern with the
> Convergence/Perpsectives folks, since these always show up as bad under
> their model of analysis.  Feel free to mail the the list privately if
> you don't want to publish it, or if you feel it is off-topic for this list


I would think that would be proprietary and customer confidential and I
would have to ask a former employer.

It is easier to measure than make the request. Just look for companies that
have multiple A records and then see if they have the same cert or not.


>> if those intermediate authorities are not explicitly domain-restricted
> >> *in their own certificate*, then yes -- the risk is larger.  i don't
> >
> > Not if the signing keys are in the same hardware module as the
> intermediate
> > they are signed under.
>
> You're asking me to assume a whole stack of things about operational
> integrity, access control, system maintenance, and coding practice at
> various CAs.  I have no idea whether any of these things are true for
> any CA in particular.  All i know is that there is a CA that is
> nominally under the control of a separate organization.
>

No, it is not a CA, according to the defined terms, the CA performs the
validation and signature function. If there are 150 keys in one HSM they are
under control of one CA, not 150.

The fact that a CA issues some certs for a given customer off a different
intermediate to their other customers does not increase the number of
signing parties.

Such a customer might well have had a local RA capability, but that should
have been locked down so they could only issue for their roots. At this
point I very much doubt that there are any such RAs being operated as a true
RA without the CA performing full validation of the requests. Thank the
Iranian government for that change in practice.

There is a slight difference in the trust model in that such an intermediate
root can be and is frequently used to provide authorization data. This is
mostly used for client certs. But if the proposal being discussed here went
through there would be a real value to the key splitting approach outlined
above for servers.

I'd happy if someone could prove that these intermediate CAs are
> actually all locked down under very high security and properly limited
> in what kinds of certificates they can issue; but i'm not convinced such
> a proof is possible.
>

It is the job of the certificate policy requirements to make those demands
explicit and of the auditors to ensure that they are enforced.

One of the reasons that Comodo has been pushing to introduce baseline
requirements for all public CA issued certs is to get some controls into the
system that can be checked by auditors.

We have these requirements for EV certs, until recently we did not have the
requirements for DV certs.


> And given the recent events, i'd have no confidence in an unproved
> assertion of secure operations of these subordinate CAs.


It definitely needs to be audited. But we definitely need to have additional
controls that can be used when the auditors don't do their job.

The fact that the Diginotar root was revoked has woken up anyone who still
needed it.


> The draft as initially proposed included both explicit mechanism and
> several "best practice" recommendations (e.g. pin rollover and backup).
>  I think these recommendations were good ones, and contribute a lot
> toward making the draft clear and useful to the people who will have to
> deploy the mechanism.
>
> If this becomes an RFC, i'd hope these recommendations would persist in
> a "SECURITY CONSIDERATIONS" section or the equivalent.
>

That is fine.

I think we can write a set of security considerations that are pretty much
the advice you give and direct them at the smaller to medium sites that turn
SCs into operational policy.



> I'm proposing an additional recommendation: unless you control and
> operate your own CA, you probably only want to pin EEs.
>

How about we split the difference? We can leave in control. Just take out
'operate'.

My preference for the larger enterprise would be a split key approach. That
reduces my liability and risk.

By the time this is all through I think the number of people still willing
to operate CAs is going to be a much smaller set than in the past.


Regards,
>
>        --dkg
>
>


-- 
Website: http://hallambaker.com/

--001636eee26debf3a104aceb3c56
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Wed, Sep 14, 2011 at 1:38 PM, Daniel =
Kahn Gillmor <span dir=3D"ltr">&lt;<a href=3D"mailto:dkg@fifthhorseman.net"=
>dkg@fifthhorseman.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex;">
<div class=3D"im"><br></div>I personally like this approach and i use multi=
ple keys for different<br>
hosts serving the same domain for at least one domain i administer<br>
myself. =A0i also note that it is diametrically opposed to your earlier<br>
stated goal of avoiding &quot;major operational headache&quot;, particularl=
y when<br>
using an external CA. =A0I was trying to offer a way to avoid major<br>
operational headache in my proposal.<br></blockquote><div><br></div><div>No=
t really. Operating infrastructure on a large scale, the issue is not the n=
umber of operations required but the number of interdependencies between sy=
stems.=A0</div>
<div><br></div><div>Having keys that never leave the machine eliminates a l=
ot of the management issues to do with equipment that is lost, stolen etc w=
ith the keys loaded. If you have 10 machines it is pretty obvious that you =
have lost one. On a large installation racks of equipment can be appearing/=
disappearing on a bewildering basis. And it is not uncommon for theft to be=
 an insider who is selling off machinery that is being booked as destroyed.=
=A0</div>
<div><br></div><div><br></div><div>The way I would ideally lock a key to a =
host is to have a permanent host key that is unique to that device and only=
 used for authenticating cert requests. To instantiate an instance of some =
server the data center pushes out the server image and a one time use authe=
ntication key that is used to authenticate a cert request for that specific=
 machine. The host generates a new key per cert request.</div>
<div><br></div><div>That approach allows a system where all the data flows =
are unidirectional, no three way synchronization etc.</div><div><br></div><=
div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;b=
order-left:1px #ccc solid;padding-left:1ex;">

Of course, the other way to avoid the headache in this is to use an<br>
in-house CA, but of course that gets back to my &quot;the only reasonable C=
A<br>
to pin is an in-house CA&quot;.</blockquote><div><br></div><div>We can get =
to agreement on a &#39;house specific CA&#39;.</div><div><br></div><div>Run=
ning it in-house is a pain and is going to get worse over time as the crite=
ria for public CAs are raised by the browser providers.</div>
<div><br></div><div>Where I think we might want to shoot for with this woul=
d be to look for dual control points and a key splitting type approach.=A0<=
/div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class=3D"im">
&gt; Keys should be unique to the host and never move from the host.<br>
&gt;<br>
&gt; It is certainly not just citibank that has that scheme.<br>
<br>
</div>Are these other organizations public? =A0I&#39;m looking to compile a=
 list of<br>
groups that do this to raise this concern with the<br>
Convergence/Perpsectives folks, since these always show up as bad under<br>
their model of analysis. =A0Feel free to mail the the list privately if<br>
you don&#39;t want to publish it, or if you feel it is off-topic for this l=
ist</blockquote><div><br></div><div>I would think that would be proprietary=
 and customer confidential and I would have to ask a former employer.</div>
<div><br></div><div>It is easier to measure than make the request. Just loo=
k for companies that have multiple A records and then see if they have the =
same cert or not.</div><div><br></div><div><br></div><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex;">
<div class=3D"im">
&gt;&gt; if those intermediate authorities are not explicitly domain-restri=
cted<br>
&gt;&gt; *in their own certificate*, then yes -- the risk is larger. =A0i d=
on&#39;t<br>
&gt;<br>
&gt; Not if the signing keys are in the same hardware module as the interme=
diate<br>
&gt; they are signed under.<br>
<br>
</div>You&#39;re asking me to assume a whole stack of things about operatio=
nal<br>
integrity, access control, system maintenance, and coding practice at<br>
various CAs. =A0I have no idea whether any of these things are true for<br>
any CA in particular. =A0All i know is that there is a CA that is<br>
nominally under the control of a separate organization.<br></blockquote><di=
v><br></div><div>No, it is not a CA, according to the defined terms, the CA=
 performs the validation and signature function. If there are 150 keys in o=
ne HSM they are under control of one CA, not 150.</div>
<div><br></div><div>The fact that a CA issues some certs for a given custom=
er off a different intermediate to their other customers does not increase =
the number of signing parties.</div><div><br></div><div>Such a customer mig=
ht well have had a local RA capability, but that should have been locked do=
wn so they could only issue for their roots. At this point I very much doub=
t that there are any such RAs being operated as a true RA without the CA pe=
rforming full validation of the requests. Thank the Iranian government for =
that change in practice.</div>
<div><br></div><div>There is a slight difference in the trust model in that=
 such an intermediate root can be and is frequently used to provide authori=
zation data. This is mostly used for client certs. But if the proposal bein=
g discussed here went through there would be a real value to the key splitt=
ing approach outlined above for servers.</div>
<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex;">
I&#39;d happy if someone could prove that these intermediate CAs are<br>
actually all locked down under very high security and properly limited<br>
in what kinds of certificates they can issue; but i&#39;m not convinced suc=
h<br>
a proof is possible.<br></blockquote><div><br></div><div>It is the job of t=
he certificate policy requirements to make those demands explicit and of th=
e auditors to ensure that they are enforced.</div><div><br></div><div>
One of the reasons that Comodo has been pushing to introduce baseline requi=
rements for all public CA issued certs is to get some controls into the sys=
tem that can be checked by auditors.</div><div><br></div><div>We have these=
 requirements for EV certs, until recently we did not have the requirements=
 for DV certs.=A0</div>
<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex;">
And given the recent events, i&#39;d have no confidence in an unproved<br>
assertion of secure operations of these subordinate CAs.</blockquote><div><=
br></div><div>It definitely needs to be audited. But we definitely need to =
have additional controls that can be used when the auditors don&#39;t do th=
eir job.</div>
<div><br></div><div>The fact that the Diginotar root was revoked has woken =
up anyone who still needed it.</div><div>=A0</div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left=
:1ex;">
The draft as initially proposed included both explicit mechanism and<br>
several &quot;best practice&quot; recommendations (e.g. pin rollover and ba=
ckup).<br>
=A0I think these recommendations were good ones, and contribute a lot<br>
toward making the draft clear and useful to the people who will have to<br>
deploy the mechanism.<br>
<br>
If this becomes an RFC, i&#39;d hope these recommendations would persist in=
<br>
a &quot;SECURITY CONSIDERATIONS&quot; section or the equivalent.<br></block=
quote><div><br></div><div>That is fine.</div><div><br></div><div>I think we=
 can write a set of security considerations that are pretty much the advice=
 you give and direct them at the smaller to medium sites that turn SCs into=
 operational policy.</div>
<div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I&#39;m proposing an additional recommendation: unless you control and<br>
operate your own CA, you probably only want to pin EEs.<br></blockquote><di=
v><br></div><div>How about we split the difference? We can leave in control=
. Just take out &#39;operate&#39;.</div><div><br></div><div>My preference f=
or the larger enterprise would be a split key approach. That reduces my lia=
bility and risk.</div>
<div><br></div><div>By the time this is all through I think the number of p=
eople still willing to operate CAs is going to be a much smaller set than i=
n the past.=A0</div><div><br></div><div><br></div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left=
:1ex;">

Regards,<br>
<font color=3D"#888888"><br>
 =A0 =A0 =A0 =A0--dkg<br>
<br>
</font></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Websi=
te: <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br><br>

--001636eee26debf3a104aceb3c56--

From hallam@gmail.com  Wed Sep 14 12:48:33 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 16E4621F86DD for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 12:48:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.467
X-Spam-Level: 
X-Spam-Status: No, score=-3.467 tagged_above=-999 required=5 tests=[AWL=0.131,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 u-Bwhafa5j3b for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 12:48:32 -0700 (PDT)
Received: from mail-yi0-f44.google.com (mail-yi0-f44.google.com [209.85.218.44]) by ietfa.amsl.com (Postfix) with ESMTP id 3377821F86D0 for <websec@ietf.org>; Wed, 14 Sep 2011 12:48:32 -0700 (PDT)
Received: by yie12 with SMTP id 12so1932559yie.31 for <websec@ietf.org>; Wed, 14 Sep 2011 12:50:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=0PhmdM4Z9vIwqpyLH1wdAq2Eswt0YsY+7GNvoTQPfnY=; b=qRn1CGrY49i9Ev46YyAMexRpq0jEca4jth8E4KyxeXIL0fQMHAGllsy5BelMRFc6l9 t4+8FlOXFKpTmY3hMIDmt87QnmBLD/IdDXKDuoPoJikoxROSlihu8/PdAukD8tijA+ea sdlL9sf/lCrgzaf6CpHogw03yftveonRmHxhs=
MIME-Version: 1.0
Received: by 10.100.82.6 with SMTP id f6mr250957anb.52.1316029841707; Wed, 14 Sep 2011 12:50:41 -0700 (PDT)
Received: by 10.100.120.20 with HTTP; Wed, 14 Sep 2011 12:50:41 -0700 (PDT)
In-Reply-To: <4E6FDED1.9000209@gondrom.org>
References: <4E6FDED1.9000209@gondrom.org>
Date: Wed, 14 Sep 2011 15:50:41 -0400
Message-ID: <CAMm+Lwjn1u4KheHecmf8YSO+OJQYXoD7-rC6GanJOhJ+1C48+g@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Tobias Gondrom <tobias.gondrom@gondrom.org>
Content-Type: multipart/alternative; boundary=005045016fd73a950604acec13b4
Cc: websec@ietf.org
Subject: Re: [websec] websec meeting in Taipei - topics?
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 19:48:33 -0000

--005045016fd73a950604acec13b4
Content-Type: text/plain; charset=ISO-8859-1

I would like to know early if cert pinning is going to be on the agenda as
that is likely to be the reason I would decide to go to Taipei or not.


I am not actually that bothered about the choice of format or syntax. But as
I posted earlier, we have four potential types of data that are security
policy related and four distinct delivery mechanisms.

I would like us to end up with one syntax and one set of semantics across
all four delivery mechanisms. To do otherwise is to take a ticket to hell in
a handbasket.


On Tue, Sep 13, 2011 at 6:53 PM, Tobias Gondrom
<tobias.gondrom@gondrom.org>wrote:

>  Hello dear websec fellows,
>
> to decide on a slot and length for our meeting in November in Taipei, this
> time we would like to start a bit earlier asking for presentations, topics
> and ideas.
>
> Please send proposals and ideas for presentations to Alexey, Yoav and/or
> me, if possible until Sep-25 so we can better decide on the length of the
> meeting slot, but later will also be ok. Rough ideas are fine at this stage,
> anything that will help us in planning the length and scope of the meeting.
>
> So far we had great progress on the origin draft, entering IESG next week.
> So this will most certainly be finished by then.
> We could focus on HSTS and the interesting parts of "certificate pinning"
> as important topics to make major progress now.
>
> But I want to also emphasise looking for further topics and presentations.
> Anything you would like to raise at the websec meeting, please drop me a
> quick note.
>
> Kind regards,
>
> Tobias & Alexey
> (chairs of websec)
>
>
>
> Tobias Gondrom
> email: tobias.gondrom@gondrom.org
> mobile: +447521003005
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>
>


-- 
Website: http://hallambaker.com/

--005045016fd73a950604acec13b4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I would like to know early if cert pinning is going to be on the agenda as =
that is likely to be the reason I would decide to go to Taipei or not.<div>=
<br></div><div><br></div><div>I am not actually that bothered about the cho=
ice of format or syntax. But as I posted earlier, we have four potential ty=
pes of data that are security policy related and four distinct delivery mec=
hanisms.=A0</div>
<div><br></div><div>I would like us to end up with one syntax and one set o=
f semantics across all four delivery mechanisms. To do otherwise is to take=
 a ticket to hell in a handbasket.</div><div><br><br><div class=3D"gmail_qu=
ote">
On Tue, Sep 13, 2011 at 6:53 PM, Tobias Gondrom <span dir=3D"ltr">&lt;<a hr=
ef=3D"mailto:tobias.gondrom@gondrom.org">tobias.gondrom@gondrom.org</a>&gt;=
</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .=
8ex;border-left:1px #ccc solid;padding-left:1ex;">

 =20

   =20
 =20
  <div bgcolor=3D"#FFFFFF" text=3D"#000000">
    <font face=3D"Arial">Hello dear websec fellows, <br>
      <br>
      to decide on a slot and length for our meeting in November in
      Taipei, this time we would like to start a bit earlier asking for
      presentations, topics and ideas.<br>
      <br>
      Please send proposals and ideas for presentations to Alexey, Yoav
      and/or me, if possible until Sep-25 so we can better decide on the
      length of the meeting slot, but later will also be ok. Rough ideas
      are fine at this stage, anything that will help us in planning the
      length and scope of the meeting. <br>
      <br>
      So far we had great progress on the origin draft, entering IESG
      next week. So this will most certainly be finished by then. <br>
      We could focus on HSTS and the interesting parts of &quot;certificate
      pinning&quot; as important topics to make major progress now. <br>
      <br>
      But I want to also emphasise looking for further topics and
      presentations. <br>
      Anything you would like to raise at the websec meeting, please
      drop me a quick note. <br>
      <br>
      Kind regards, <br>
      <br>
      Tobias &amp; Alexey<br>
    </font>(chairs of websec)<br><font color=3D"#888888">
    <br>
    <br>
    <br>
    Tobias Gondrom<br>
    email: <a href=3D"mailto:tobias.gondrom@gondrom.org" target=3D"_blank">=
tobias.gondrom@gondrom.org</a><br>
    mobile: <a href=3D"tel:%2B447521003005" value=3D"+447521003005" target=
=3D"_blank">+447521003005</a>
  </font></div>

<br>_______________________________________________<br>
websec mailing list<br>
<a href=3D"mailto:websec@ietf.org">websec@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/websec" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/websec</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Website:=
 <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br><br>
</div>

--005045016fd73a950604acec13b4--

From Jeff.Hodges@KingsMountain.com  Wed Sep 14 14:06:06 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 95A3521F8CE3 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 14:06:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.524
X-Spam-Level: 
X-Spam-Status: No, score=-100.524 tagged_above=-999 required=5 tests=[AWL=-0.029, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, 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 mz6KO--saOLD for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 14:06:06 -0700 (PDT)
Received: from oproxy7-pub.bluehost.com (oproxy7.bluehost.com [IPv6:2605:dc00:100:2::a7]) by ietfa.amsl.com (Postfix) with SMTP id 27BA521F8CC3 for <websec@ietf.org>; Wed, 14 Sep 2011 14:06:05 -0700 (PDT)
Received: (qmail 20393 invoked by uid 0); 14 Sep 2011 21:08:15 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by oproxy7.bluehost.com with SMTP; 14 Sep 2011 21:08:15 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=AMsrKIJA8ZktQbvh5LD3Dp17n2ZbUQQTVqMbTUikBNI=;  b=5k1ssk5ozkB5jJ0/frvZbeVv9h+/80gH5Ol2xo+VEQZGu+eesp8Ug4BUiyerDSkQJoXMyGfUb6kgk5G+hsj+2SA9rlF2s0lk8uQTPV9bMhWANnw2eqS94jFTRc5V7M+G;
Received: from outbound4.ebay.com ([216.113.168.128] helo=[10.244.137.226]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R3wgo-0007tJ-U2 for websec@ietf.org; Wed, 14 Sep 2011 15:08:14 -0600
Message-ID: <4E7117BF.1040608@KingsMountain.com>
Date: Wed, 14 Sep 2011 14:08:15 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 216.113.168.128 authed with jeff.hodges+kingsmountain.com}
Subject: Re: [websec] effective request URI def, was:  I-D Action: draft-ietf-websec-strict-transport-sec-02.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 21:06:06 -0000

thx again for the review Julian.

Julian noted..
 >
 > On 2011-08-06 01:34, =JeffH wrote:
 >> ...
 >> 12. Removed any and all dependencies on
 >> [I-D.draft-ietf-httpbis-p1-messaging-15], instead depending
 >> on [RFC2616] only. Fixes issue ticket #12
 >> <http://trac.tools.ietf.org/wg/websec/trac/ticket/12>.
 >> ...
 >
 > Not sure this is a good idea.
 >
 > The current text copies a known bug from
 > draft-ietf-httpbis-p1-messaging-15 (see
 > <http://trac.tools.ietf.org/wg/httpbis/trac/changeset/1340>).

Fixed in my working copy: s/GET/OPTIONS/


 > Also, the ABNF claims it's based on RFC 2616's definitions, but mentions
 > RFC 3986 in ABNF comments. This needs to be checked.

Ok, checked it, found bugs (thanks), fixed in my working copy. Will certainly 
need further review.


 > Furthermore, there's a risk that HTTPbis will have to tune the
 > definition of Effective Request URI furthermore -- see
 > <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/222>. (I realize
 > that's not your fault, but we somehow have to deal with this).

Agreed.


=JeffH





From Jeff.Hodges@KingsMountain.com  Wed Sep 14 14:06:17 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EA9D521F8CF5 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 14:06:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.523
X-Spam-Level: 
X-Spam-Status: No, score=-100.523 tagged_above=-999 required=5 tests=[AWL=-0.028, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, 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 g6z3h6pjmknF for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 14:06:17 -0700 (PDT)
Received: from oproxy4-pub.bluehost.com (oproxy4.bluehost.com [IPv6:2605:dc00:100:2::a4]) by ietfa.amsl.com (Postfix) with SMTP id 71B9C21F8CC3 for <websec@ietf.org>; Wed, 14 Sep 2011 14:06:17 -0700 (PDT)
Received: (qmail 598 invoked by uid 0); 14 Sep 2011 21:08:27 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by cpoproxy1.bluehost.com with SMTP; 14 Sep 2011 21:08:27 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=eDzGCvhN7k9w6mJ6kgpENY8oFC8fDLzhXXrUPTfrNn4=;  b=7N0R9by/APtZ+nxUr5GUc4EpnirHCKHTkAm+KC96zDD+3FilcXRGaEqW+syutgq/XHIrpz36ePR9BJuKaaVmN8IidA9QenytyCjhtRWi+mvxfwEPw9zPrrCBmuZGCpk4;
Received: from outbound4.ebay.com ([216.113.168.128] helo=[10.244.137.226]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R3wh1-000844-AW for websec@ietf.org; Wed, 14 Sep 2011 15:08:27 -0600
Message-ID: <4E7117CB.9050203@KingsMountain.com>
Date: Wed, 14 Sep 2011 14:08:27 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 216.113.168.128 authed with jeff.hodges+kingsmountain.com}
Subject: Re: [websec] Strict-Transport-Security syntax
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 21:06:18 -0000

 > a few questions about the header field syntax:
 >
 > 	Strict-Transport-Security =
 >             "Strict-Transport-Security" ":"  OWS  STS-v  OWS
 >
 > So the header field is *not* using the RFC2616 list syntax. So you can have
 >
 >    Strict-Transport-Security: a; b
 >
 > but *not*
 >
 >    Strict-Transport-Security: a
 >    Strict-Transport-Security: b
 >
 > because that would be equivalent to
 >
 >    Strict-Transport-Security: a, b
 >
 > (is this intentional?)

well, it was not necessarily intentional as far as I recall. We either managed 
to overlook, or regarded as inappropriate for this header, the RFC2616 list 
syntax (i.e., the "#rule"), that defines such implicit comma-separated lists.
Also, we'd noted that quite a number of header field definitions used 
semi-colons as a delimiter, but perhaps hadn't noted that those overall 
productions often are embedded within such comma-separated lists.

However, in thinking about it a little bit, for this particular header field, 
as it's presently defined, it doesn't seem appropriate to have it explicitly be 
comma-separated repeatable (aka #rule), because only one instance of "S-T-S: 
max-age=n" is effective in terms of established the cached Known HSTS Host in 
the UA.


 > Also in
 >
 > 	; value
 > 	STS-v      = STS-d
 >          	   / STS-d  *( OWS ";" OWS  STS-d  OWS )
 >
 > 	; STS directive
 > 	STS-d      = STS-d-cur / STS-d-ext
 >
 > 	; defined STS directives
 > 	STS-d-cur  = maxAge / [ includeSubDomains ]
 >
 > having includeSubDomains optional is a bit weird.
 >
 > This means that the empty string would be a valid STS-d-cur, thus an
 > empty header field is allowed...

Ah, thanks, yes -- i was unsure of how to make includeSubDomains optional while 
max-age is required, and that hack didn't work.

I've now re-worked it as below -- how's that look?

thanks again,

=JeffH


Strict-Transport-Security =
            "Strict-Transport-Security" ":"  OWS  STS-v  OWS

; STS header field value; must have a max-age:

STS-v      = max-age
            / max-age  *( OWS ";" OWS  STS-d  OWS )

; additional STS directives:

STS-d      = STS-d-cur / STS-d-ext

; currently defined STS directives,
; delta-seconds is 1*DIGIT and is from [RFC2616]:

max-age    = "max-age"  OWS  "="  OWS  delta-seconds  [ OWS v-ext ]

STS-d-cur  = includeSubDomains

includeSubDomains =  "includeSubDomains"  [ OWS v-ext ]


; extension points
STS-d-ext  = name      ; STS extension directive

v-ext      = value     ; STS extension value

name       = token

value      = OWS / %x21-3A  /  %x3C-7E   ; i.e. optional white space, or
            ;     [ ! .. : ]  [ &lt; .. ~ ] any visible chars other than ";"

token      = 1*tchar

tchar      = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*"
            / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
            / DIGIT / ALPHA
            ; visible (printing) characters, except visible
            ; separators.
            ; DIGIT, ALPHA, separators are from [RFC2616]

; Basic rules:

OWS       = *( [ CRLF ] WSP )
            ; Optional White Space

WSP       = SP / HTAB

CRLF      = CR LF

; CR, LF, SP, HTAB are from [RFC2616]


---
end



From trac+websec@trac.tools.ietf.org  Wed Sep 14 14:42:27 2011
Return-Path: <trac+websec@trac.tools.ietf.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D7D6221F8CB8 for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 14:42:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.6
X-Spam-Level: 
X-Spam-Status: No, score=-102.6 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 vDtcys3bmnEh for <websec@ietfa.amsl.com>; Wed, 14 Sep 2011 14:42:17 -0700 (PDT)
Received: from gamay.tools.ietf.org (gamay.tools.ietf.org [208.66.40.242]) by ietfa.amsl.com (Postfix) with ESMTP id B3D4A21F8CA4 for <websec@ietf.org>; Wed, 14 Sep 2011 14:42:17 -0700 (PDT)
Received: from localhost ([::1] helo=gamay.tools.ietf.org) by gamay.tools.ietf.org with esmtp (Exim 4.76) (envelope-from <trac+websec@trac.tools.ietf.org>) id 1R3xFk-0007QI-Kh; Wed, 14 Sep 2011 17:44:20 -0400
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: "websec issue tracker" <trac+websec@trac.tools.ietf.org>
X-Trac-Version: 0.11.7
Precedence: bulk
Auto-Submitted: auto-generated
X-Mailer: Trac 0.11.7, by Edgewall Software
To: draft-ietf-websec-strict-transport-sec@tools.ietf.org, jeff.hodges@kingsmountain.com
X-Trac-Project: websec
Date: Wed, 14 Sep 2011 21:44:20 -0000
X-URL: http://tools.ietf.org/websec/
X-Trac-Ticket-URL: http://trac.tools.ietf.org/wg/websec/trac/ticket/14
Message-ID: <070.b5593d5ae1f599f191177a5e921f48e4@trac.tools.ietf.org>
X-Trac-Ticket-ID: 14
X-SA-Exim-Connect-IP: ::1
X-SA-Exim-Rcpt-To: draft-ietf-websec-strict-transport-sec@tools.ietf.org, jeff.hodges@kingsmountain.com, websec@ietf.org
X-SA-Exim-Mail-From: trac+websec@trac.tools.ietf.org
X-SA-Exim-Scanned: No (on gamay.tools.ietf.org); SAEximRunCond expanded to false
Resent-To: 
Resent-Message-Id: <20110914214217.B3D4A21F8CA4@ietfa.amsl.com>
Resent-Date: Wed, 14 Sep 2011 14:42:17 -0700 (PDT)
Resent-From: trac+websec@trac.tools.ietf.org
Cc: websec@ietf.org
Subject: [websec]  #14: Effective Request URI definition issues
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Sep 2011 21:42:28 -0000

#14: Effective Request URI definition issues

 https://www.ietf.org/mail-archive/web/websec/current/msg00473.html:

 On 2011-08-06 01:34, =JeffH wrote:

     ...
     12. Removed any and all dependencies on
     [I-D.draft-ietf-httpbis-p1-messaging-15], instead depending
     on [RFC2616] only. Fixes issue ticket #12
     <http://trac.tools.ietf.org/wg/websec/trac/ticket/12>.
     ...

 Not sure this is a good idea.

 The current text copies a known bug from draft-ietf-
 httpbis-p1-messaging-15 (see
 <http://trac.tools.ietf.org/wg/httpbis/trac/changeset/1340>).  [ the HTTP
 method in the example should
 OPTIONS rather than GET ]

 Also, the ABNF claims it's based on RFC 2616's definitions, but mentions
 RFC 3986 in ABNF comments. This needs to be checked.

-- 
-------------------------------------------+--------------------------------
 Reporter:  jeff.hodges@â€¦                  |       Owner:  draft-ietf-websec-strict-transport-sec@â€¦             
     Type:  defect                         |      Status:  new                                                  
 Priority:  minor                          |   Milestone:                                                       
Component:  strict-transport-sec           |     Version:  2.0                                                  
 Severity:  -                              |    Keywords:                                                       
-------------------------------------------+--------------------------------

Ticket URL: <http://trac.tools.ietf.org/wg/websec/trac/ticket/14>
websec <http://tools.ietf.org/websec/>


From Jeff.Hodges@KingsMountain.com  Mon Sep 19 11:59:35 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2E72821F8CA9 for <websec@ietfa.amsl.com>; Mon, 19 Sep 2011 11:59:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.629
X-Spam-Level: 
X-Spam-Status: No, score=-100.629 tagged_above=-999 required=5 tests=[AWL=-0.134, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, 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 qLmOVhYySSLQ for <websec@ietfa.amsl.com>; Mon, 19 Sep 2011 11:59:34 -0700 (PDT)
Received: from oproxy8-pub.bluehost.com (oproxy8.bluehost.com [IPv6:2605:dc00:100:2::a8]) by ietfa.amsl.com (Postfix) with SMTP id 8E2B121F8C9D for <websec@ietf.org>; Mon, 19 Sep 2011 11:59:34 -0700 (PDT)
Received: (qmail 2750 invoked by uid 0); 19 Sep 2011 19:01:57 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by oproxy8.bluehost.com with SMTP; 19 Sep 2011 19:01:56 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=EkzYlINam7Qsmv83shIMzhlqm6c9NzZWxqqJbfheO8A=;  b=cHcL6OTkmc6+rRjkbIMoOHM7lksRUxeMCLxG7NNjJrlbZMh0WXuUQZ46zaHPW3ZxIX+ZjVBONxOSMTEGzqXKKA4MsZ4nyU4ci8jVEaRMiv80AUH5O0siHlxw8w6FDBsi;
Received: from c-24-4-122-173.hsd1.ca.comcast.net ([24.4.122.173] helo=[192.168.11.10]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R5j6K-0003wA-41 for websec@ietf.org; Mon, 19 Sep 2011 13:01:56 -0600
Message-ID: <4E7791A2.5050903@KingsMountain.com>
Date: Mon, 19 Sep 2011 12:01:54 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 24.4.122.173 authed with jeff.hodges+kingsmountain.com}
Subject: [websec] fyi: host-meta approved as RFC
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Sep 2011 18:59:35 -0000

the host-meta facility is something that may be of use for various aspects of 
web (app) security...

------- Forwarded Message

Subject: host-meta approved as RFC
From: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Mon, 19 Sep 2011 11:10:54 -0700 (PDT)
To: webfinger@googlegroups.com

Just a quick update to anyone still keeping track of this work. The
host-meta spec has been approved as RFC and will move to the RFC editor
shortly. The spec is final and will be published as an IETF Proposed
Standard.

If you haven't been following it for the past year, the two major changes
are:

* Simplification of the HTTP vs HTTPS prose, moving the decision to the
application using it. IOW, if you are using it for security or identity
services, you should require HTTPS or some form of signatures.

* JSON-based format (JRD) with full support for all XRD features and
host-meta priority-based processing.

I would highly recommend that if you are deploying any new host-meta
facilities, that you support the host-meta.json resource and look for it
first when parsing.

EHL
------- End of Forwarded Message

From palmer@google.com  Tue Sep 20 11:06:03 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B1A4C1F0C3E for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 11:06:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.602
X-Spam-Level: 
X-Spam-Status: No, score=-105.602 tagged_above=-999 required=5 tests=[AWL=-0.225, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_48=0.6, RCVD_IN_DNSWL_MED=-4, 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 PpL3v2aYI8ks for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 11:06:00 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id 8328B1F0C3D for <websec@ietf.org>; Tue, 20 Sep 2011 11:05:59 -0700 (PDT)
Received: from wpaz21.hot.corp.google.com (wpaz21.hot.corp.google.com [172.24.198.85]) by smtp-out.google.com with ESMTP id p8KI8Kn2022092 for <websec@ietf.org>; Tue, 20 Sep 2011 11:08:20 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1316542101; bh=vURNlnLdgW/12PN2Fz6DSUarSy4=; h=MIME-Version:Date:Message-ID:Subject:From:To:Cc:Content-Type; b=DZivkTlY4oPBk2a0yRnn+OSzgSUYrgKtwv/U9wgYv6/Pwap1+ZbB2djNReIHZnnfS If4Up/9b718eXGvPuCDGA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:date:message-id:subject:from:to:cc: content-type:x-system-of-record; b=wRq7KLAlzCfVTj5jKM2l2T6gqhic1vFruxZNyEZ0IwTAgO/VloiSEzO4d60+nsgFO VmtZ0QLZFheIRwBQLJZIg==
Received: from wwg14 (wwg14.prod.google.com [10.241.242.142]) by wpaz21.hot.corp.google.com with ESMTP id p8KI8H6v032611 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 20 Sep 2011 11:08:18 -0700
Received: by wwg14 with SMTP id 14so900538wwg.34 for <websec@ietf.org>; Tue, 20 Sep 2011 11:08:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=Bbmp0VfuGGop4TcWHpvHQbUQmbaQ4dnOGsQRSsrWmYE=; b=QJIB910FHOBKpzYgh2Pe4L96RU614tNAc2w7jRH5/dl4fMAl1CbbsPQc1m8A6fFv+u SMjPvC9KwIaEQwzi3hPg==
Received: by 10.216.220.220 with SMTP id o70mr1255229wep.19.1316542097136; Tue, 20 Sep 2011 11:08:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.220.220 with SMTP id o70mr1255223wep.19.1316542096854; Tue, 20 Sep 2011 11:08:16 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 20 Sep 2011 11:08:16 -0700 (PDT)
Date: Tue, 20 Sep 2011 11:08:16 -0700
Message-ID: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: IETF WebSec WG <websec@ietf.org>
Content-Type: multipart/mixed; boundary=0016e659f5a203d12204ad63589c
X-System-Of-Record: true
Cc: Chris Evans <cevans@google.com>
Subject: [websec] Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Sep 2011 18:06:03 -0000

--0016e659f5a203d12204ad63589c
Content-Type: text/plain; charset=UTF-8

Is attached, now in XML. The main change is that I got rid of widely
and rightly reviled pin revocation business, and replaced it with a
better idea from Trevor Perrin. Big thanks to everyone who reviewed
and commented on the previous draft. Precisely how to generate
fingerprints is answered with working code from Adam Langley. The
gross errors that surely remain are my fault alone. :)

--0016e659f5a203d12204ad63589c
Content-Type: text/plain; charset=US-ASCII; name="hsts-certificate-pinning.txt"
Content-Disposition: attachment; filename="hsts-certificate-pinning.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gst740vq0

CgoKV2ViIFNlY3VyaXR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEMuIEV2YW5zCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEMuIFBhbG1lcgpFeHBpcmVzOiBNYXJjaCAyMywgMjAx
MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHb29nbGUsIEluYy4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VwdGVtYmVy
IDIwLCAyMDExCgoKICAgICAgICAgICAgICAgICBDZXJ0aWZpY2F0ZSBQaW5uaW5nIEV4dGVuc2lv
biBmb3IgSFNUUwogICAgICAgICAgICAgICAgICAgIGRyYWZ0LWV2YW5zLXBhbG1lci1oc3RzLXBp
bm5pbmcKCkFic3RyYWN0CgogICBUaGlzIG1lbW8gZGVzY3JpYmVzIGFuIGV4dGVuc2lvbiB0byB0
aGUgSFRUUCBTdHJpY3QgVHJhbnNwb3J0CiAgIFNlY3VyaXR5IHNwZWNpZmljYXRpb24gYWxsb3dp
bmcgd2ViIGhvc3Qgb3BlcmF0b3JzIHRvIGluc3RydWN0IFVBcyB0bwogICByZW1lbWJlciAoInBp
biIpIGhvc3RzJyBjcnlwdG9ncmFwaGljIGlkZW50aXRpZXMgZm9yIGEgZ2l2ZW4gcGVyaW9kCiAg
IG9mIHRpbWUuICBEdXJpbmcgdGhhdCB0aW1lLCBVQXMgd2lsbCByZXF1aXJlIHRoYXQgdGhlIGhv
c3QgcHJlc2VudCBhCiAgIGNlcnRpZmljYXRlIGNoYWluIGluY2x1ZGluZyBhdCBsZWFzdCBvbmUg
cHVibGljIGtleSB3aG9zZSBmaW5nZXJwcmludAogICBtYXRjaGVzIG9uZSBvciBtb3JlIG9mIHRo
ZSBwaW5uZWQgZmluZ2VycHJpbnRzIGZvciB0aGF0IGhvc3QuICBXZQogICBob3BlIHRoaXMgcmVk
dWNlcyB0aGUgaW5jaWRlbmNlIG9mIG1hbi1pbi10aGUtbWlkZGxlIGF0dGFja3MgZHVlIHRvCiAg
IGNvbXByb21pc2VkIENlcnRpZmljYXRpb24gQXV0aG9yaXRpZXMgYW5kIG90aGVyIGF1dGhlbnRp
Y2F0aW9uIGVycm9ycwogICBhbmQgYXR0YWNrcywgYnkgZWZmZWN0aXZlbHkgcmVkdWNpbmcgdGhl
IHNjb3BlIG9mIGF1dGhvcml0aWVzIHdobyBjYW4KICAgYXV0aGVudGljYXRlIHRoZSBkb21haW4g
ZHVyaW5nIHRoZSBsaWZldGltZSBvZiB0aGUgcGluLgoKU3RhdHVzIG9mIHRoaXMgTWVtbwoKICAg
VGhpcyBkb2N1bWVudCBpcyBhbiBJbnRlcm5ldC1EcmFmdCBhbmQgaXMgaW4gZnVsbCBjb25mb3Jt
YW5jZSB3aXRoCiAgIGFsbCBwcm92aXNpb25zIG9mIFNlY3Rpb24gMTAgb2YgUkZDIDIwMjYuCgog
ICBJbnRlcm5ldC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBF
bmdpbmVlcmluZwogICBUYXNrIEZvcmNlIChJRVRGKS4gIE5vdGUgdGhhdCBvdGhlciBncm91cHMg
bWF5IGFsc28gZGlzdHJpYnV0ZQogICB3b3JraW5nIGRvY3VtZW50cyBhcyBJbnRlcm5ldC1EcmFm
dHMuICBUaGUgbGlzdCBvZiBjdXJyZW50IEludGVybmV0LQogICBEcmFmdHMgaXMgYXQgaHR0cDov
L2RhdGF0cmFja2VyLmlldGYub3JnL2RyYWZ0cy9jdXJyZW50Ly4KCiAgIEludGVybmV0LURyYWZ0
cyBhcmUgZHJhZnQgZG9jdW1lbnRzIHZhbGlkIGZvciBhIG1heGltdW0gb2Ygc2l4IG1vbnRocwog
ICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9j
dW1lbnRzIGF0IGFueQogICB0aW1lLiAgSXQgaXMgaW5hcHByb3ByaWF0ZSB0byB1c2UgSW50ZXJu
ZXQtRHJhZnRzIGFzIHJlZmVyZW5jZQogICBtYXRlcmlhbCBvciB0byBjaXRlIHRoZW0gb3RoZXIg
dGhhbiBhcyAid29yayBpbiBwcm9ncmVzcy4iCgogICBUaGlzIEludGVybmV0LURyYWZ0IHdpbGwg
ZXhwaXJlIG9uIE1hcmNoIDIzLCAyMDEyLgoKQ29weXJpZ2h0IE5vdGljZQoKICAgQ29weXJpZ2h0
IChDKSBUaGUgSW50ZXJuZXQgU29jaWV0eSAoMjAxMSkuICBBbGwgUmlnaHRzIFJlc2VydmVkLgoK
CjEuICBJbnRyb2R1Y3Rpb24KCiAgIFdlIHByb3Bvc2UgdG8gZXh0ZW5kIHRoZSBIU1RTIEhUVFAg
aGVhZGVyIHRvIGVuYWJsZSBhIHdlYiBob3N0IHRvCiAgIGV4cHJlc3MgdG8gVUFzIHdoaWNoIGNl
cnRpZmljYXRlKHMpIFVBcyBtYXkgZXhwZWN0IHRvIGJlIHByZXNlbnQgaW4KICAgdGhlIGhvc3Qn
cyBjZXJ0aWZpY2F0ZSBjaGFpbiBpbiBmdXR1cmUgY29ubmVjdGlvbnMuICBXZSBjYWxsIHRoaXMK
ICAgImNlcnRpZmljYXRlIHBpbm5pbmciLiAgVGhlIENocm9tZS9pdW0gYnJvd3NlciBzaGlwcyB3
aXRoIGEgc3RhdGljCiAgIHNldCBvZiBwaW5zLCBhbmQgaW5kaXZpZHVhbCB1c2VycyBjYW4gZXh0
ZW5kIHRoZSBzZXQgb2YgcGlucwogICAoY2hyb21lOi8vbmV0LWludGVybmFscy8jaHN0cykuICBB
bHRob3VnaCBlZmZlY3RpdmUsIHRoaXMgZG9lcyBub3QKICAgc2NhbGUuICBUaGlzIHByb3Bvc2Fs
IGFkZHJlc3NlcyB0aGUgc2NhbGUgcHJvYmxlbS4KCiAgIERlcGxveWluZyBjZXJ0aWZpY2F0ZSBw
aW5uaW5nIHNhZmVseSB3aWxsIHJlcXVpcmUgb3BlcmF0aW9uYWwgYW5kCiAgIG9yZ2FuaXphdGlv
bmFsIG1hdHVyaXR5IGR1ZSB0byB0aGUgcmlzayB0aGF0IEhTVFMgSG9zdHMgbWF5ICJicmljayIK
ICAgdGhlbXNlbHZlcyBieSBwaW5uaW5nIHRvIGEgY2VydGlmaWNhdGUgdGhhdCBiZWNvbWVzIGlu
dmFsaWQuICBXZQogICBkaXNjdXNzIHBvdGVudGlhbCBtaXRpZ2F0aW9ucyBmb3IgdGhvc2Ugcmlz
a3MuICBXZSBiZWxpZXZlIHRoYXQsIHdpdGgKICAgY2FyZSwgaG9zdCBvcGVyYXRvcnMgY2FuIGdy
ZWF0bHkgcmVkdWNlIHRoZSByaXNrIG9mIE1JVE0gYXR0YWNrcyBhbmQKICAgb3RoZXIgZmFsc2Ut
YXV0aGVudGljYXRpb24gcHJvYmxlbXMgZm9yIHRoZWlyIHVzZXJzIHdpdGhvdXQgaW5jdXJyaW5n
CiAgIHVuZHVlIHJpc2sgb2YgYnJpY2tpbmcuCgogICBUaGlzIGRvY3VtZW50IGV4dGVuZHMgdGhl
IHZlcnNpb24gb2YgSFNUUyBkZWZpbmVkIGluIFtoc3RzLXNwZWNdIGFuZAogICBmb2xsb3dzIHRo
YXQgZG9jdW1lbnQncyBub3RhdGlvbmFsIGFuZCBuYW1pbmcgY29udmVudGlvbnMuCgoxLjEuICBB
Ym91dCBOb3RhdGlvbgoKICAgVGhpcyBkb2N1bWVudCBpbmNsdWRlcyBzb21lIHBzZXVkb2NvZGUg
ZXhhbXBsZXMgd3JpdHRlbiBpbiBhIFB5dGhvbi0KICAgbGlrZSBsYW5ndWFnZSwgdG8gY2xhcmlm
eSBVQSBiZWhhdmlvci4gIFRoZSBleGFtcGxlcyBhc3N1bWUgdGhhdCBhCiAgIGdsb2JhbCBkYXRh
IHN0cnVjdHVyZSwgaHN0c19tZXRhZGF0YSwgZXhpc3RzIGFuZCBjb250YWlucyB0aGUgSFNUUwog
ICBtZXRhZGF0YSB0aGF0IHRoZSBVQSBoYXMgYWNjdW11bGF0ZWQgb3ZlciB0aW1lLiAgSXQgaXMg
aW5kZXhhYmxlIGJ5CiAgIGRvbWFpbiBuYW1lIGFuZCBpbmNsdWRlcyB0aGUgdXN1YWwgSFNUUyBw
YXJhbWV0ZXJzIChtYXhBZ2UsCiAgIGluY2x1ZGVzU3ViRG9tYWlucykgYXMgd2VsbCBhcyB0aGUg
bmV3IEhTVFMgcGFyYW1ldGVyLCBwaW5zLCB0aGF0CiAgIHRoaXMgZG9jdW1lbnQgaW50cm9kdWNl
cy4gIEl0IGFsc28gYXNzdW1lcyBhIGh5cG90aGV0aWNhbCBYLjUwOQogICBkYXRhdHlwZSwgZGVu
b3RlZCB3aXRoIGEgdmFyaWFibGUgbmFtZWQgImNlcnRpZmljYXRlIiwgdGhhdCBpbmNsdWRlcwog
ICBsaWtlbHkgWC41MDkgZmllbGRzIHN1Y2ggYXMgcHVibGljX2tleSAod2hpY2ggd291bGQgY29y
cmVzcG9uZCB0byB0aGUKICAgU3ViamVjdFB1YmxpY0tleUluZm8gZmllbGQgaW4gYSByZWFsIFgu
NTA5IGNlcnRpZmljYXRlKS4KCiAgIFRoZXJlIGFyZSBhbHNvIHNvbWUgd29ya2luZyBjb2RlIGV4
YW1wbGVzIHVzaW5nIHRoZSBQeXRob24gYW5kIEdvCiAgIGxhbmd1YWdlcy4KCiAgIFRoZSBleGFt
cGxlcyBhcmUgaW50ZW5kZWQgdG8gYmUgaWxsdXN0cmF0aXZlLCBub3QgbmVjZXNzYXJpbHkgcHJl
Y2lzZQogICBvciB1c2luZyBhbGdvcml0aG1zIHRoYXQgYSByZWFsLCBvcHRpbWl6ZWQgVUEgd291
bGQgZW1wbG95LgoKCjIuICBTZXJ2ZXIgYW5kIENsaWVudCBCZWhhdmlvcgoKICAgVG8gc2V0IGEg
cGluLCBIU1RTIEhvc3RzIHVzZSBhIG5ldyBTVFMgZXh0ZW5zaW9uIGRpcmVjdGl2ZSAoU1RTLWQt
CiAgIGV4dCkgaW4gdGhlaXIgSFNUUyByZXNwb25zZSBoZWFkZXIgZmllbGQ6IHBpbnMuICBUbyBl
bmFibGUgcGluCiAgIHJldm9jYXRpb24gKFNlY3Rpb24gMi4zKSwgaG9zdHMgbWF5IGFsc28gdXNl
IHRoZSBuZXcgYnJlYWt2IGFuZAogICBicmVha2MgZGlyZWN0aXZlcy4KCiAgIFNUUy1kLWV4dC1w
aW4gICAgPSAgICAicGlucyIgT1dTICI9IiBPV1MgW2ZpbmdlcnByaW50c10KICAgU1RTLWQtZXh0
LWJyZWFrdiA9ICAgICJicmVha3YiIE9XUyAiPSIgT1dTIGZwLXR5cGUgIi8iIGJhc2U2NC1kaWdp
dHMKICAgU1RTLWQtZXh0LWJyZWFrYyA9ICAgICJicmVha2MiIE9XUyAiPSIgT1dTIGJhc2U2NC1k
aWdpdHMKCiAgIGZpbmdlcnByaW50cyAgICAgPSAgICAgZmluZ2VycHJpbnQKICAgICAgICAgICAg
ICAgICAgICAgICAgICAvIGZpbmdlcnByaW50ICIsIiBmaW5nZXJwcmludHMKCiAgIGZpbmdlcnBy
aW50ICAgICAgPSAgICAgZnAtdHlwZSAiLyIgYmFzZTY0LWRpZ2l0cwoKICAgZnAtdHlwZSAgICAg
ICAgICA9ICAgICAic2hhMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAvICJzaGEyNTYiCgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWd1cmUgMQoKICAgSGVyZSBpcyBhbiBl
eGFtcGxlIHJlc3BvbnNlIGhlYWRlciBmaWVsZCB1c2luZyB0aGUgcGlucyBleHRlbnNpb24KICAg
KGZvbGRlZCBmb3IgY2xhcml0eSk6CgogICBTdHJpY3QtVHJhbnNwb3J0LVNlY3VyaXR5OiBtYXgt
YWdlPTUwMDsgaW5jbHVkZVN1YkRvbWFpbnM7CiAgICAgICBwaW5zPXNoYTEvNG45NzJIZlYzNTRL
UDU2MHl3NHVxZS9iYVhjPSwKICAgICAgIHNoYTEvSXZHZUxzYnF6UHhkSTBiMHd1ajJ4VlRkWGdj
PQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlndXJlIDIKCiAgIEhlcmUgaXMg
YW4gZXhhbXBsZSByZXNwb25zZSBoZWFkZXIgZmllbGQgdXNpbmcgYm90aCB0aGUgcGlucyBhbmQg
dGhlCiAgIGJyZWFrdiBleHRlbnNpb25zIChmb2xkZWQgZm9yIGNsYXJpdHkpOgoKICAgU3RyaWN0
LVRyYW5zcG9ydC1TZWN1cml0eTogbWF4LWFnZT01MDA7IGluY2x1ZGVTdWJEb21haW5zOwogICAg
ICAgcGlucz1zaGExLzRuOTcySGZWMzU0S1A1NjB5dzR1cWUvYmFYYz0sCiAgICAgICBzaGExL0l2
R2VMc2JxelB4ZEkwYjB3dWoyeFZUZFhnYz07CiAgICAgICBicmVha3Y9c2hhMS9qVVFFWEg3UTJM
eStYbi95RldKeEFIVDNmRGM9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWd1
cmUgMwoKICAgVGhlIGZpbmdlcnByaW50IGlzIHRoZSBTSEEtMSAob3IgU0hBLTI1NikgaGFzaCBv
ZiB0aGUgcmF3CiAgIFN1YmplY3RQdWJsaWNLZXlJbmZvIGZpZWxkIG9mIHRoZSBjZXJ0aWZpY2F0
ZSwgZW5jb2RlZCBpbiBiYXNlLTY0IGZvcgogICBicmV2aXR5LiAgV2UgcGluIHB1YmxpYyBrZXlz
LCByYXRoZXIgdGhhbiBlbnRpcmUgY2VydGlmaWNhdGVzLCB0bwogICBlbmFibGUgb3BlcmF0b3Jz
IHRvIGdlbmVyYXRlIG5ldyBjZXJ0aWZpY2F0ZXMgY29udGFpbmluZyBvbGQgcHVibGljCiAgIGtl
eXMgKHNlZSBbd2h5LWZpbmdlcnByaW50LWtleV0pLiAgKEFsdGhvdWdoIGhvc3Qgb3BlcmF0b3Jz
IG1heSBkbwogICB0aGlzLCBjZXJ0aWZpY2F0aW9uIGF1dGhvcml0aWVzIGFscmVhZHkgZG8uICBB
ZGRpdGlvbmFsbHksIHdoZW4gVUFzCiAgIGNoZWNrIGNlcnRpZmljYXRlIGNoYWlucywgdGhleSBk
byBzbyBieSBjaGVja2luZyB0aGF0IGVhY2gKICAgY2VydGlmaWNhdGUgaXMgc2lnbmVkIGJ5IGl0
cyBwYXJlbnQncyBwdWJsaWMga2V5LCBtYWtpbmcgdGhlIHB1YmxpYwogICBrZXkgLS0gbm90IHRo
ZSBjZXJ0aWZpY2F0ZSAtLSB0aGUgZXNzZW50aWFsIGlkZW50aWZpZXIuKQoKICAgU2VlIFNlY3Rp
b24gNCBmb3IgYW4gZXhhbXBsZSBwcm9ncmFtIHRoYXQgZ2VuZXJhdGVzIHB1YmxpYyBrZXkKICAg
ZmluZ2VycHJpbnRzIGZyb20gU3ViamVjdFB1YmxpY0tleUluZm8gZmllbGRzIGluIGNlcnRpZmlj
YXRlcy4KCiAgIFRoZSBicmVha3YgZGlyZWN0aXZlIGNvbW11bmljYXRlcyB0byBVQXMgYSBwaW4g
YnJlYWsgdmVyaWZpZXIsIGFuZAogICB0aGUgYnJlYWtjIGRpcmVjdGl2ZSBjb21tdW5pY2F0ZXMg
dGhlIHBpbiBicmVhayBjb2RlLiAgSG9zdHMgU0hPVUxECiAgIGdlbmVyYXRlIHBpbiBicmVhayBj
b2RlcyBhbmQgdmVyaWZpZXJzLCBhbmQgd2hlbiBwcmVzZW50IFVBcyBNVVNUCiAgIG5vdGUgcGlu
IGJyZWFrIHZlcmlmaWVycyBhbmQgaG9ub3IgcGluIGJyZWFrIGNvZGVzLiAgU2VlIFNlY3Rpb24g
Mi4zCiAgIGZvciBhIGRpc2N1c3Npb24gb2YgdmVyaWZpZXJzIGFuZCBjb2Rlcy4KCjIuMS4gIE5v
dGluZyBhbmQgVmFsaWRhdGluZyBQaW5zCgogICBVcG9uIHJlY2VpcHQgb2YgdGhpcyBoZWFkZXIg
ZmllbGQsIHRoZSBVQSB3aWxsIG5vdGUgdGhlIEhTVFMgSG9zdCBhcwogICBhIEtub3duIFBpbm5l
ZCBIU1RTIEhvc3QuICBXaGVuIGNvbm5lY3RpbmcgdG8gYSBLbm93biBQaW5uZWQgSFNUUwogICBI
b3N0LCB0aGUgVUEgd2lsbCBjb21wYXJlIHRoZSBwdWJsaWMga2V5IGZpbmdlcnByaW50KHMpIGlu
IHRoZSBIb3N0J3MKICAgY2VydGlmaWNhdGUgY2hhaW4gdG8gdGhlIHBpbm5lZCBmaW5nZXJwcmlu
dHMsIGFuZCB3aWxsIGZhaWwgY2xvc2VkCiAgIHVubGVzcyBhdCBsZWFzdCBvbmUgcHVibGljIGtl
eSBpbiB0aGUgY2hhaW4gaGFzIGEgZmluZ2VycHJpbnQKICAgbWF0Y2hpbmcgb25lIG9mIHRoZSBw
aW5uZWQgZmluZ2VycHJpbnRzLiAgKEZvbGxvd2luZyB0aGUgSFNUUwogICBzcGVjaWZpY2F0aW9u
LCBUTFMgZXJyb3JzIGZvciBIU1RTIGhvc3RzIG11c3QgYmUgaGFyZCwgd2l0aCBubyBjaGFuY2UK
ICAgZm9yIHRoZSB1c2VyIHRvIGNsaWNrIHRocm91Z2ggYW55IHdhcm5pbmdzIG9yIGVycm9ycy4g
IFdlIHRyZWF0CiAgIGZpbmdlcnByaW50IG1pc21hdGNoIGluIHRoZSBzYW1lIHdheS4pCgogICBU
aGlzIHBzZXVkb2NvZGUgaWxsdXN0cmF0ZXMgaG93IFVBcyB2YWxpZGF0ZSB0aGUgY2VydGlmaWNh
dGUgY2hhaW5zCiAgIHRoZXkgcmVjZWl2ZSBmcm9tIEtub3duIFBpbm5lZCBIU1RTIEhvc3RzLgoK
ICAgZGVmIGNoYWluX2lzX3Bpbm5lZF92YWxpZChjaGFpbiwgcGlucyk6CiAgICAgICBmb3IgY2Vy
dGlmaWNhdGUgaW4gY2hhaW46CiAgICAgICAgICAgZm9yIGZpbmdlcnByaW50IGluIHBpbnM6CiAg
ICAgICAgICAgICAgIGlmIGNlcnRpZmljYXRlLnB1YmxpY19rZXkuZmluZ2VycHJpbnQgPT0gZmlu
Z2VycHJpbnQ6CiAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQoKICAgICAgIHJldHVybiBG
YWxzZQoKICAgIyAuLi4KICAgaWYgbm90IGNoYWluX2lzX3Bpbm5lZF92YWxpZChyZXF1ZXN0LnRs
c19pbmZvLmNlcnRpZmljYXRlX2NoYWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGhzdHNfbWV0YWRhdGFbcmVxdWVzdC5ob3N0bmFtZV0ucGlucyk6CiAgICAgICByZXF1ZXN0LmZh
aWwoKQogICAjIC4uLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlndXJlIDQK
CiAgIFRoZSBwaW4gbGlzdCBhcHBlYXJpbmcgaW4gYW4gSFNUUyBoZWFkZXIgTVVTVCBoYXZlIGF0
IGxlYXN0IG9uZSBwaW4KICAgbWF0Y2hpbmcgb25lIG9mIHRoZSBwdWJsaWMga2V5IGZpbmdlcnBy
aW50cyBpbiB0aGUgY2hhaW4gdGhhdCB3YXMKICAgdmFsaWRhdGVkIGZvciB0aGUgSFRUUFMgY29u
bmVjdGlvbi4gIFRoaXMgZGVmZW5kcyBhZ2FpbnN0IEhUVFAgaGVhZGVyCiAgIGluamVjdGlvbiBh
dHRhY2tzIChzZWUgU2VjdGlvbiAzLjQuMSkuCgogICBVQXMgTVVTVCBjYWNoZSBwaW5zIGFuZCBw
aW4gYnJlYWsgdmVyaWZpZXJzIGZvciBLbm93biBQaW5uZWQgSFNUUwogICBIb3N0cywgYW5kIE1J
R0hUIEFTIFdFTEwgZG8gc28gaW4gdGhlIHNhbWUgbWFubmVyIGFzIG90aGVyIEhTVFMKICAgbWV0
YWRhdGEuICBJZiB0aGUgbWF4QWdlIGRpcmVjdGl2ZSBpcyBwcmVzZW50IGluIHRoZSBIU1RTIHJl
c3BvbnNlCiAgIGhlYWRlciwgdGhlIEhTVFMgbWV0YWRhdGEgLS0gaW5jbHVkaW5nIGZpbmdlcnBy
aW50cyBpbiB0aGUgcGlucwogICBkaXJlY3RpdmUgLS0gZXhwaXJlIGF0IHRoYXQgdGltZS4KCjIu
Mi4gIEludGVyYWN0aW9ucyBXaXRoIEJ1aWx0LWluIEhTVFMgTGlzdHMKCiAgIFVBcyBNQVkgY2hv
b3NlIHRvIGltcGxlbWVudCBidWlsdC1pbiBjZXJ0aWZpY2F0ZSBwaW5zLCBhbG9uZ3NpZGUgYW55
CiAgIGJ1aWx0LWluIEhTVFMgb3B0LWluIGxpc3QuICBVQXMgTVVTVCBhbGxvdyB1c2VycyB0byBv
dmVycmlkZSBhCiAgIGJ1aWx0LWluIHBpbiBsaXN0LCBpbmNsdWRpbmcgdHVybmluZyBpdCBvZmYu
CgogICBIb3N0cyBjYW4gdXBkYXRlIGJ1aWx0LWluIHBpbiBsaXN0cyBieSB1c2luZyB0aGlzIGV4
dGVuc2lvbi4KICAgU2ltaWxhcmx5LCBVQXMgY2FuIHVwZGF0ZSB0aGVpciBidWlsdC1pbiBwaW4g
bGlzdHMgd2l0aCBzb2Z0d2FyZQogICB1cGRhdGVzLiAgSW4gZWl0aGVyIGNhc2UsIFVBcyBNVVNU
IHVzZSB0aGUgbmV3ZXN0IGluZm9ybWF0aW9uIC0tCiAgIGJ1aWx0LWluIG9yIHNldCB2aWEgSFNU
UyAtLSB3aGVuIHZhbGlkYXRpbmcgY2VydGlmaWNhdGUgY2hhaW5zIGZvcgogICB0aGUgaG9zdC4K
CjIuMy4gIFVuLXBpbm5pbmcKCiAgIEhvc3RzIGNhbiBlbmFibGUgcGluIHJldm9jYXRpb24gZm9y
IHRoZWlyIHByZXZpb3VzbHktcGlubmVkIGtleQogICBmaW5nZXJwcmludHMgYnkgc2V0dGluZyBw
aW4gYnJlYWsgdmVyaWZpZXJzIHVzaW5nIHRoZSBicmVha3YKICAgZGlyZWN0aXZlLiAgVGhlbiwg
d2hlbiBob3N0cyB3YW50IHRvIGJyZWFrIHBpbnMsIHRoZXkgc2V0IHRoZSBwaW4KICAgYnJlYWsg
Y29kZSBpbiB0aGVpciBIU1RTIGhlYWRlcnMgdXNpbmcgdGhlIGJyZWFrYyBkaXJlY3RpdmUuICAo
VGhpcwogICBpZGVhIGlzIGR1ZSB0byBQZXJyaW4gaW4gW3Bpbi1icmVhay1jb2Rlc10uKQoKICAg
UGluIGJyZWFrIGNvZGVzIGFyZSBzaG9ydCByYW5kb20gc3RyaW5ncywga2VwdCBzZWNyZXQgdW50
aWwgdGhlIGhvc3QKICAgb3BlcmF0b3Igd2FudHMgdG8gYnJlYWsgdGhlIHBpbnMuICBQaW4gYnJl
YWsgdmVyaWZpZXJzIGFyZSBzaW1wbHkKICAgaGFzaGVzIG9mIHRoZSBjb2Rlcy4gIEdlbmVyYXRp
bmcgY29kZXMgYW5kIHZlcmlmaWVycywgYW5kIHZlcmlmeWluZwogICB0aGF0IGNvZGVzIG1hdGNo
IGEgcHJldmlvdXNseSBzZXQgdmVyaWZpZXIsIGlzIHRyaXZpYWwuICBTZWUKICAgRmlndXJlIDUu
CgogICBkZWYgbWFrZV9waW5fYnJlYWsoKToKICAgICAgIGNvZGUgPSBvcy51cmFuZG9tKDE2KQog
ICAgICAgdmVyaWZpZXIgPSBoYXNobGliLnNoYTEoY29kZSkuZGlnZXN0KCkKICAgICAgIHJldHVy
biBiYXNlNjQuYjY0ZW5jb2RlKGNvZGUpLCBiYXNlNjQuYjY0ZW5jb2RlKHZlcmlmaWVyKQoKICAg
ZGVmIHZlcmlmeV9jb2RlKGNvZGUsIHZlcmlmaWVyKToKICAgICAgIGMgPSBiYXNlNjQuYjY0ZGVj
b2RlKGNvZGUpCiAgICAgICB2ID0gaGFzaGxpYi5zaGExKGMpLmRpZ2VzdCgpCiAgICAgICByZXR1
cm4gdmVyaWZpZXIgPT0gYmFzZTY0LmI2NGVuY29kZSh2KQoKCiAgIGlmIF9fbmFtZV9fID09ICJf
X21haW5fXyI6CiAgICAgICBpbXBvcnQgc3lzCgogICAgICAgaWYgMSA9PSBsZW4oc3lzLmFyZ3Yp
OgogICAgICAgICAgIHByaW50IG1ha2VfcGluX2JyZWFrKCkKICAgICAgIGVsaWYgMyA9PSBsZW4o
c3lzLmFyZ3YpOgogICAgICAgICAgIHByaW50IHZlcmlmeV9jb2RlKHN5cy5hcmd2WzFdLCBzeXMu
YXJndlsyXSkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpZ3VyZSA1CgogICBI
b3N0cyBjYW4gcmVxdWVzdCB0aGF0IFVBcyBmb3JnZXQgcGlubmVkIGZpbmdlcnByaW50cyBieSBp
c3N1aW5nIGEKICAgdmFsaWQgSFNUUyBoZWFkZXIgY29udGFpbmluZyB0aGUgcGluIGJyZWFrIGNv
ZGUuICBVQXMgTVVTVCBmb3JnZXQgYWxsCiAgIHBpbm5lZCBmaW5nZXJwcmludHMgYXNzb2NpYXRl
ZCB3aXRoIHRoZSBtYXRjaGluZyBwaW4gYnJlYWsgdmVyaWZpZXIuCiAgIEhvc3Qgb3BlcmF0b3Jz
IFNIT1VMRCBrZWVwIHRoZSBwaW4gYnJlYWsgY29kZSBzZWNyZXQsIGFuZCBTSE9VTEQKICAgZ2Vu
ZXJhdGUgY29kZXMgdGhhdCBhcmUgY29tcHV0YXRpb25hbGx5IGluZmVhc2libGUgdG8gZ3Vlc3Mg
KHN1Y2ggYXMKICAgYnkgdXNpbmcgdGhlaXIgc3lzdGVtJ3MgY3J5cHRvZ3JhcGhpYyByYW5kb20g
bnVtYmVyIGdlbmVyYXRvcjsgbm90ZQogICB0aGF0IGEgMTI4LWJpdCBzZWN1cml0eSBsZXZlbCBz
dWZmaWNlcykuCgoyLjQuICBQaW5uaW5nIFNlbGYtU2lnbmVkIExlYWYgQ2VydGlmaWNhdGVzCgog
ICBUbyB0aGUgZXh0ZW50IHRoYXQgVUFzIGFsbG93IG9yIGVuYWJsZSBob3N0cyB0byBhdXRoZW50
aWNhdGUKICAgdGhlbXNlbHZlcyB3aXRoIHNlbGYtc2lnbmVkIGVuZCBlbnRpdHkgY2VydGlmaWNh
dGVzLCB0aGV5IE1BWSBhbHNvCiAgIGFsbG93IGhvc3RzIHRvIHBpbiB0aGUgcHVibGljIGtleXMg
aW4gc3VjaCBjZXJ0aWZpY2F0ZXMuICBUaGUKICAgdXNhYmlsaXR5IGFuZCBzZWN1cml0eSBpbXBs
aWNhdGlvbnMgb2YgdGhpcyBwcmFjdGljZSBhcmUgb3V0c2lkZSB0aGUKICAgc2NvcGUgb2YgdGhp
cyBzcGVjaWZpY2F0aW9uLgoKCjMuICBSaXNrcyBvZiBQaW5uaW5nLCBhbmQgTWl0aWdhdGlvbnMK
CjMuMS4gIERlcGxveW1lbnQgR3VpZGFuY2UKCiAgIFRvIHJlY292ZXIgZnJvbSBkaXNhc3RlcnMg
b2YgdmFyaW91cyB0eXBlcywgYXMgZGVzY3JpYmVkIGJlbG93LCB3ZQogICByZWNvbW1lbmQgdGhh
dCBIU1RTIEhvc3RzIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzLgoKICAgbyAgSGF2ZSBhIHNhZmV0
eSBuZXQuICBHZW5lcmF0ZSBhIGJhY2t1cCBrZXkgcGFpciwgZ2V0IGl0IHNpZ25lZCBieSBhCiAg
ICAgIGRpZmZlcmVudCAocm9vdCBhbmQvb3IgaW50ZXJtZWRpYXJ5KSBDQSB0aGFuIHlvdXIgbGl2
ZQogICAgICBjZXJ0aWZpY2F0ZShzKSwgYW5kIHN0b3JlIGl0IHNhZmVseSBvZmZsaW5lLiAgU2V0
IHRoaXMgYmFja3VwIHBpbgogICAgICBpbiB5b3VyIHBpbnMgZGlyZWN0aXZlLgoKICAgICAgKiAg
SGF2aW5nIGEgYmFja3VwIGNlcnRpZmljYXRlIHdhcyBhbHdheXMgYSBnb29kIGlkZWEgYW55d2F5
LgoKICAgbyAgSXQgaXMgbW9zdCBlY29ub21pY2FsIHRvIGhhdmUgdGhlIGJhY2t1cCBwaW4gc2ln
bmVkIGJ5IGEKICAgICAgY29tcGxldGVseSBkaWZmZXJlbnQgc2lnbmF0dXJlIGNoYWluIHRoYW4g
dGhlIGxpdmUgY2VydGlmaWNhdGUsIHRvCiAgICAgIG1heGltaXplIHJlY292ZXJhYmlsaXR5IGlu
IHRoZSBldmVudCBvZiBlaXRoZXIgcm9vdCBvcgogICAgICBpbnRlcm1lZGlhcnkgc2lnbmVyIGNv
bXByb21pc2UuCgogICBvICBQZXJpb2RpY2FsbHkgZXhlcmNpc2UgeW91ciBiYWNrdXAgcGluIHBs
YW4gLS0gYW4gdW50ZXN0ZWQgYmFja3VwCiAgICAgIGlzIG5vIGJhY2t1cCBhdCBhbGwuCgogICBv
ICBIYXZlIGEgZGl2ZXJzZSBjZXJ0aWZpY2F0ZSBwb3J0Zm9saW8uICBQaW4gdG8gYSBmZXcgZGlm
ZmVyZW50CiAgICAgIHJvb3RzIC0tIG93bmVkIGJ5IGRpZmZlcmVudCBjb21wYW5pZXMgaWYgcG9z
c2libGUuCgogICBvICBTdGFydCBzbWFsbC4gIFNldCBhIG1heEFnZSBvZiBtaW51dGVzIG9yIGEg
ZmV3IGhvdXJzLiAgR3JhZHVhbGx5CiAgICAgIGluY3JlYXNlIG1heEFnZSBhcyB5b3UgZ2FpbiBj
b25maWRlbmNlIGluIHlvdXIgb3BlcmF0aW9uYWwKICAgICAgY2FwYWJpbGl0eS4KCjMuMi4gIERp
c2FzdGVycyBSZWxhdGluZyB0byBDb21wcm9taXNlcyBvZiBDZXJ0aWZpY2F0ZXMKCjMuMi4xLiAg
VGhlIHByaXZhdGUga2V5IGZvciB5b3VyIHBpbm5lZCBsZWFmIGlzIHN0b2xlbgoKICAgSWYgeW91
ciBsZWFmIGNlcnRpZmljYXRlIGlzIGNvbXByb21pc2VkLCB5b3UgYXJlIGxpa2VseSB0byBoYXZl
CiAgIGV4cGVyaWVuY2VkIGEgY29tcGxldGUgaG9zdCBjb21wcm9taXNlLCBpbiB3aGljaCBjYXNl
IHlvdXIgcHJvYmxlbXMKICAgYXJlIGdyZWF0ZXIgdGhhbiBjZXJ0aWZpY2F0ZXMgYW5kIHBpbnMu
ICBTZWUgU2VjdGlvbiAzLjQuMi4KCjMuMi4yLiAgWW91ciByb290IG9yIGludGVybWVkaWFyeSBD
QSBpcyBjb21wcm9taXNlZAoKICAgVGhpcyBkaXNhc3RlciB3aWxsIGFmZmVjdCBtYW55IGhvc3Rz
IChIU1RTIEhvc3RzIGFuZCBvdGhlciksIGFuZCB3aWxsCiAgIGxpa2VseSByZXF1aXJlIGEgY2xp
ZW50IHNvZnR3YXJlIHVwZGF0ZSAoZS5nLiB0byByZXZva2UgdGhlIHNpZ25pbmcKICAgQ0EgYW5k
L29yIHRoZSBmYWxzZSBjZXJ0aWZpY2F0ZXMgaXQgaXNzdWVkKS4KCiAgIENlcnRpZmljYXRlcyB0
aGF0IGFyZSBpbnZhbGlkYXRlZCBmb3IgYW55IHJlYXNvbiBhbmQgYnkgYW55IG1lYW5zIGFyZQog
ICBlZmZlY3RpdmVseSB1bi1waW5uZWQsIGFsbG93aW5nIGhvc3RzIHRvIGdyYWNlZnVsbHkgZGVn
cmFkZSBmcm9tCiAgIEtub3duIFBpbm5lZCBIU1RTIEhvc3QgdG8gS25vd24gSFNUUyBIb3N0LgoK
ICAgSWYgeW91IGhhdmUgYSBiYWNrdXAgcGluIHdob3NlIHNpZ25hdHVyZSBjaGFpbiBpcyBzdGls
bCB2YWxpZCwgZGVwbG95CiAgIGl0LiAgSW4gdGhpcyBjYXNlLCB5b3VyIGhvc3QgbmVlZCBub3Qg
ZXZlbiBkZWdyYWRlIGZyb20gS25vd24gUGlubmVkCiAgIHRvIEtub3duLgoKMy4zLiAgRGlzYXN0
ZXJzIFJlbGF0aW5nIHRvIENlcnRpZmljYXRlIE1pc21hbmFnZW1lbnQKCjMuMy4xLiAgWW91ciBs
ZWFmIGNlcnRpZmljYXRlIGV4cGlyZXMKCiAgIERlcGxveSB5b3VyIGJhY2t1cCBwaW4uCgogICBO
b3RlIHRoYXQgd2hlbiBldmFsdWF0aW5nIGEgcGlubmVkIGNlcnRpZmljYXRlLCB0aGUgVUEgTVVT
VCB1bi1waW4KICAgdGhlIGZpbmdlcnByaW50IGlmIHRoZSBjZXJ0aWZpY2F0ZSBoYXMgZXhwaXJl
ZC4gIElmIGEgcGluIGxpc3QKICAgYmVjb21lcyBlbXB0eSwgdGhlIFVBIGRvd25ncmFkZXMgdGhl
IGhvc3QgZnJvbSBLbm93biBQaW5uZWQgSFNUUyBIb3N0CiAgIHRvIEtub3duIEhTVFMgSG9zdC4g
IFRoZSB1c3VhbCBIVFRQUyB2YWxpZGF0aW9uIHByb2NlZHVyZSBub3cKICAgYXBwbGllcy4KCiAg
IEdldCBhbnkgQ0EgdG8gc2lnbiBhIG5ldyBjZXJ0IHdpdGggdXBkYXRlZCBleHBpcnksIGJhc2Vk
IG9uIHlvdXIKICAgZXhpc3RpbmcsIHVuY2hhbmdlZCBwdWJsaWMga2V5LgoKICAgbyAgQW5kL29y
LCBkZXBsb3kgeW91ciBiYWNrdXAgcGluIGFuZC9vciBoYXZlIGEgQ0Egc2lnbiBhbiBhbGwtbmV3
CiAgICAgIGtleS4KCiAgIG8gIENvbnRpbnVlIHRvIHNldCBwaW5zIGluIHlvdXIgSFNUUyBoZWFk
ZXIsIGFuZCBVQXMgd2lsbCB1cGdyYWRlCiAgICAgIGZyb20gS25vd24gSFNUUyBIb3N0IHRvIEtu
b3duIFBpbm5lZCBIU1RTIEhvc3Qgd2hlbiB0aGUKICAgICAgZmluZ2VycHJpbnQocykgcmVmZXIo
cykgdG8gdmFsaWQgY2VydGlmaWNhdGUocykgYWdhaW4uCgogICBCZXdhcmUgdGhhdCBpZiB5b3Ug
cGluIHRvIGEgY2VydCB0aGF0IGV4cGlyZXMgcGx1cyBhIG5vbi1leHBpcmVkCiAgIGNlcnRpZmlj
YXRlIGZvciB3aGljaCB5b3UgaGF2ZSBsb3N0IHlvdXIga2V5IHBhaXIsIHlvdSdyZSBpbiB0cm91
YmxlLgoKMy4zLjIuICBZb3UgbG9zZSB5b3VyIGxlYWYgY2VydGlmaWNhdGUKCiAgIElmIHlvdSBz
ZXQgYSBiYWNrdXAgcGluLCBkZXBsb3kgaXQuICBBbHRlcm5hdGVseSwgaWYgeW91IHBpbm5lZCB0
byBhCiAgIHJvb3Qgb3IgaW50ZXJtZWRpYXJ5IHNpZ25lciwgZ2V0IGEgbmV3IGxlYWYgY2VydGlm
aWNhdGUgc2lnbmVkIGJ5IG9uZQogICBvZiB0aG9zZSBzaWduZXJzLgoKICAgWW91IFNIT1VMRCBh
dHRlbXB0IHRvIGdldCB0aGUgY2VydGlmaWNhdGUgcmV2b2tlZCBieSB3aGF0ZXZlciBtZWFucwog
ICBhdmFpbGFibGUgKGV4dGFudCByZXZvY2F0aW9uIG1lY2hhbmlzbXMgbGlrZSBDUkwgb3IgT0NT
UCwKICAgYmxhY2tsaXN0aW5nIGluIHRoZSBVQSwgb3IgZnV0dXJlIHJldm9jYXRpb24gbWVjaGFu
aXNtcykuCgogICBvICBXZSBrbm93IHRoYXQgZXh0YW50IHJldm9jYXRpb24gbWVjaGFuaXNtcyBh
cmUgdW5yZWxpYWJsZS4gIERvIG5vdAogICAgICBkZXBlbmQgb24gdGhlbS4KCjMuMy4zLiAgWW91
ciBDQSBpcyBleHRvcnRpbmcgeW91IGFwcHJvYWNoaW5nIHJlbmV3YWwvZXhwaXJ5IHRpbWUuCgog
ICBJZiB5b3VyIGJhY2t1cCBwaW4gY2hhaW5zIHRvIGEgZGlmZmVyZW50IHNpZ25lciwgZGVwbG95
IGl0LiAgKFRoZW4KICAgZ2V0IGEgbmV3IGJhY2t1cCBwaW4uKQoKICAgVGhlIHRpbWUgcnVubmlu
ZyB1cCB0byByZW5ld2FsIGNhbiBiZSB1c2VkIHRvIHNlcnZlIGFkZGl0aW9uYWwgSFNUUwogICBw
dWJsaWMga2V5IGhhc2hlcywgcGlubmluZyB0byBuZXcgcm9vdCBDQXMuCgogICBvICBIb3N0cyBj
YW4gYWxzbyBkaXNhYmxlIHBpbm5pbmcgYWx0b2dldGhlciBhcyBkZXNjcmliZWQgYWJvdmUuCgog
ICBJZiB5b3UgYXJlIHBpbm5lZCB0byBsZWF2ZXMgb3IgeW91ciBvd24gaW50ZXJtZWRpYXJ5LCB5
b3UgY2FuIHNpbXBseQogICBnZXQgYSBkaWZmZXJlbnQgcm9vdCBDQSB0byBzaWduIHlvdXIgZXhp
c3RpbmcgcHVibGljIGtleS4KCiAgIElmIHlvdSBmYWlsIHRvIGdldCBuZXcgY2VydHMgaW4gdGlt
ZSwgYW5kIHlvdSBhcmUgcGlubmVkIG9ubHkgdG8gdGhlCiAgIG9uZSByb290IENBLCB0aGUgc29s
dXRpb24gaXMgc2ltcGxlOyBzZWUgdGhlIHNlY3Rpb24gb24gbGVhZgogICBjZXJ0aWZpY2F0ZSBl
eHBpcnkgYWJvdmUuCgozLjQuICBEaXNhc3RlcnMgUmVsYXRpbmcgdG8gVnVsbmVyYWJpbGl0aWVz
IGluIHRoZSBLbm93biBIU1RTIEhvc3QKCjMuNC4xLiAgWW91ciBob3N0IGlzIHZ1bG5lcmFibGUg
dG8gSFRUUCBoZWFkZXIgaW5qZWN0aW9uCgogICBOb3RlIHRoYXQgaGVhZGVyIGluamVjdGlvbiB2
dWxuZXJhYmlsaXRpZXMgYXJlIGluIGdlbmVyYWwgbW9yZSBzZXZlcmUKICAgdGhhbiBtZXJlbHkg
ZGlzYWJsaW5nIHBpbm5pbmcgZm9yIGluZGl2aWR1YWwgdXNlcnMuCgogICBUaGUgYXR0YWNrZXIg
Y291bGQgc2V0IGFkZGl0aW9uYWwgcGlucyBmb3IgY2VydGlmaWNhdGVzIGhlIGNvbnRyb2xzLAog
ICBvciBwaW4gYnJlYWsgdmVyaWZpZXJzIGZvciBjb2RlcyBoZSBjb250cm9scywgYWxsb3dpbmcg
aGltIHRvCiAgIHVuZGV0ZWN0YWJseSBNSVRNIGNsaWVudHMuICBXaGVuIG9yIGlmIHRoZSBjbGll
bnQgaXMgb3V0c2lkZSB0aGUKICAgc2NvcGUgb2YgdGhlIGF0dGFja2VyJ3MgTUlUTSBhdHRhY2ss
IHRoZSByZXN1bHQgaXMgRG9TLgoKICAgVGhlIGF0dGFja2VyIGNvdWxkIGRpc2FibGUgSFNUUyBh
bmQgcGlucy4KCjMuNC4yLiAgWW91ciBob3N0IHN1ZmZlcnMgZnVsbCBzZXJ2ZXItc2lkZSBjb21w
cm9taXNlCgogICBBZnRlciBzZXR0aW5nIHVwIGEgbmV3IGhvc3QsIGRlcGxveSB5b3VyIGJhY2t1
cCBwaW4uICBBbHRlcm5hdGVseSwgaWYKICAgeW91IHBpbm5lZCB0byBhIHJvb3Qgb3IgaW50ZXJt
ZWRpYXJ5IHNpZ25lciwgZ2V0IGEgbmV3IGxlYWYKICAgY2VydGlmaWNhdGUgc2lnbmVkIGJ5IG9u
ZSBvZiB0aG9zZSBzaWduZXJzLgoKICAgWW91IFNIT1VMRCBhdHRlbXB0IHRvIGdldCB0aGUgY2Vy
dGlmaWNhdGUgY29udGFpbmluZyB0aGUgY29tcHJvbWlzZWQKICAgcHJpdmF0ZSBrZXkgcmV2b2tl
ZCBieSB3aGF0ZXZlciBtZWFucyBhdmFpbGFibGUgKGV4dGFudCByZXZvY2F0aW9uCiAgIG1lY2hh
bmlzbXMgbGlrZSBDUkwgb3IgT0NTUCwgYmxhY2tsaXN0aW5nIGluIHRoZSBVQSwgb3IgZnV0dXJl
CiAgIHJldm9jYXRpb24gbWVjaGFuaXNtcykuCgogICBvICBXZSBrbm93IHRoYXQgZXh0YW50IHJl
dm9jYXRpb24gbWVjaGFuaXNtcyBhcmUgdW5yZWxpYWJsZS4gIERvIG5vdAogICAgICBkZXBlbmQg
b24gdGhlbS4KCjMuNS4gIFVzYWJpbGl0eSBDb25zaWRlcmF0aW9ucwoKICAgV2hlbiBwaW5uaW5n
IHdvcmtzIHRvIGRldGVjdCBpbXBvc3RvciBLbm93biBQaW5uZWQgSFNUUyBIb3N0cywgdXNlcnMK
ICAgd2lsbCBleHBlcmllbmNlIGRlbmlhbCBvZiBzZXJ2aWNlLiAgVUFzIFNIT1VMRCBleHBsYWlu
IHRoZSByZWFzb24KICAgd2h5LiAgSWYgaXQgaGFwcGVucyB0aGF0IHRydWUgcG9zaXRpdmVzIChh
Y3R1YWwgYXR0YWNrcykgb3V0bnVtYmVyCiAgIGZhbHNlIHBvc2l0aXZlcyAoaG9zdHMgYnJpY2tp
bmcgdGhlbXNlbHZlcyBieSBhY2NpZGVudCksIHRoZSBmZWF0dXJlCiAgIHdpbGwgZ2FpbiBhIHBv
c2l0aXZlIHJlcHV0YXRpb24uICBOb3RlIHRoYXQgcGlubmluZyBoYXMgc3RhcnRlZCBsaWZlCiAg
IHdpdGggYSBnb29kIHJlcHV0YXRpb24gYmVjYXVzZSBpdCBwcm92b2tlZCB0aGUgZGlzY292ZXJ5
IG9mIHRoZQogICBEaWdpTm90YXIgQ0EgY29tcHJvbWlzZS4gIChXaGVuIERpZ2lOb3RhciBzaWdu
ZWQgYSBjZXJ0aWZpY2F0ZSBmb3IKICAgKi5nb29nbGUuY29tIGluIEF1Z3VzdCAyMDExLCBDaHJv
bWUgdXNlcnMgZGlzY292ZXJlZCB0aGUgYXR0YWNrIGR1ZQogICB0byB0aGUgcHJlLWxvYWRlZCBw
aW5zIGZvciBHb29nbGUgZG9tYWlucy4pCgogICBXZSBiZWxpZXZlIHRoYXQsIGluIGdlbmVyYWws
IERvUyBpcyBhIGJldHRlciBmYWlsdXJlIG1vZGUgdGhhbiB1c2VyCiAgIGFjY291bnQvc2Vzc2lv
biBjb21wcm9taXNlIG9yIG90aGVyIHJlc3VsdCBvZiBUTFMgY29tcHJvbWlzZS4KCiAgIFVBcyBN
VVNUIGhhdmUgYSB3YXkgZm9yIHVzZXJzIHRvIGNsZWFyIGN1cnJlbnQgcGlucyB0aGF0IHdlcmUg
c2V0IGJ5CiAgIEhTVFMuICBVQXMgU0hPVUxEIGhhdmUgYSB3YXkgZm9yIHVzZXJzIHRvIHF1ZXJ5
IHRoZSBjdXJyZW50IHN0YXRlIG9mCiAgIEtub3duIChQaW5uZWQpIEhTVFMgSG9zdHMuCgozLjYu
ICBFY29ub21pYyBDb25zaWRlcmF0aW9ucwoKICAgSWYgcGlubmluZyBiZWNvbWVzIGNvbW1vbiwg
aG9zdCBvcGVyYXRvcnMgbWlnaHQgYmVjb21lIGluY2VudGl2aXplZAogICB0byBjaG9vc2UgQ0Fz
IHRoYXQgZ2V0IGNvbXByb21pc2VkIGxlc3Mgb2Z0ZW4sIG9yIHJlc3BvbmQgYmV0dGVyIHRvCiAg
IGNvbXByb21pc2UuICBUaGlzIHdpbGwgcmVxdWlyZSBpbmZvcm1hdGlvbiB0byBmbG93IGludG8g
dGhlIG1hcmtldCwKICAgYW5kIGZvciBwZW9wbGUgdG8gaW50ZXJwcmV0IG5vIG5ld3MgcG9zdC1j
b21wcm9taXNlIGFzIGJhZCBuZXdzLgogICBQaW5uaW5nIGl0c2VsZiB3aWxsIHByb3ZpZGUgc29t
ZSBvZiB0aGF0IGluZm9ybWF0aW9uLCBhcyB3aWxsIHNvdXJjZXMKICAgbGlrZSBVQSB2ZW5kb3Ig
Y29tbXVuaWNhdGlvbnMsIHRoZSBFRkYgU1NMIE9ic2VydmF0b3J5LCB0aGUgUXVhbHlzCiAgIFNT
TCBzdXJ2ZXksIGV0Yy4KCiAgIFRoZSBkaXNhc3RlciByZWNvdmVyeSBwbGFucyBkZXNjcmliZWQg
YWJvdmUgYWxsIGluY3VyIG5ldyBjb3N0cyBmb3IKICAgaG9zdCBvcGVyYXRvcnMsIGFuZCBpbmNy
ZWFzZSB0aGUgc2l6ZSBvZiB0aGUgY2VydGlmaWNhdGUgbWFya2V0LgogICBBcmd1YWJseSwgd2Vs
bC1ydW4gaG9zdHMgaGFkIGFscmVhZHkgYWJzb3JiZWQgdGhlc2UgY29zdHMgYmVjYXVzZQogICAo
ZS5nLikgYmFja3VwIGNlcnRpZmljYXRlcyBmcm9tIGRpZmZlcmVudCBDQXMgd2VyZSBuZWNlc3Nh
cnkgZGlzYXN0ZXIKICAgcmVjb3ZlcnkgbWVjaGFuaXNtcyBldmVuIGJlZm9yZSBjZXJ0aWZpY2F0
ZSBwaW5uaW5nLiAgU21hbGwgc2l0ZXMgLS0KICAgd2hpY2ggYWx0aG91Z2ggc21hbGwgbWlnaHQg
c3RpbGwgbmVlZCB0byBwcm92aWRlIGdvb2Qgc2VjdXJpdHkgLS0gbWF5CiAgIG5vdCBiZSBhYmxl
IHRvIGFmZm9yZCB0aGUgZGlzYXN0ZXIgcmVjb3ZlcnkgbWVjaGFuaXNtcyB3ZSByZWNvbW1lbmQu
CiAgIChUaGUgY29zdCBvZiB0aGUgYmFja3VwIGNlcnRpZmljYXRlIGlzIG5vdCB0aGUgaXNzdWU7
IGl0IGlzIG1vcmUgdGhlCiAgIG9wZXJhdGlvbmFsIGNvc3RzIGluIHNhZmVseSBzdG9yaW5nIHRo
ZSBiYWNrdXAgYW5kIHRlc3RpbmcgdGhhdCBpdAogICB3b3Jrcy4pICBUaHVzLCBsb3ctcmlzayBw
aW5uaW5nIG1heSBiZSBhdmFpbGFibGUgb25seSB0byBsYXJnZSBzaXRlczsKICAgc21hbGwgc2l0
ZXMgbWF5IGhhdmUgdG8gY2hvb3NlIG5vIHBpbm5pbmcgb3IgcG90ZW50aWFsbHkgYnJpY2tpbmcK
ICAgdGhlaXIgaG9zdCAodXAgdG8gdGhlIG1heEFnZSB3aW5kb3cpLiAgVGhpcyBpcyBub3Qgd29y
c2UgdGhhbiB0aGUKICAgc3RhdHVzIHF1by4KCjMuNy4gIElkZWFzCgozLjcuMS4gIFJlcXVpcmlu
ZyBCYWNrdXAgUGlucwoKICAgQmVjYXVzZSBicmlja2luZyByaXNrIG1pdGlnYXRpb24gcmVxdWly
ZXMgYSBiYWNrdXAgcGluLCBVQXMgY291bGQKICAgcmVxdWlyZSB0aGF0IHRoZSBwaW5zIGRpcmVj
dGl2ZSBoYXZlIGF0IGxlYXN0IHR3byBmaW5nZXJwcmludHMsIGF0CiAgIGxlYXN0IG9uZSBvZiB3
aGljaCBkb2VzIG5vdCBtYXRjaCBhbnkgb2YgdGhlIHB1YmxpYyBrZXlzIGluIGFueSBvZgogICB0
aGUgY2VydGlmaWNhdGVzIGluIHRoZSBjaGFpbi4gIChUaGlzIGlkZWEgZHVlIHRvIFRvbSBTZXBl
ei4pCgozLjcuMi4gIFByZXBvcHVsYXRpbmcgUGluIExpc3RzCgogICBIU1RTLWJhc2VkIGNlcnRp
ZmljYXRlIHBpbm5pbmcsIHVubGlrZSBidWlsdC1pbiBwaW5uaW5nLCBzdWZmZXJzIGZyb20KICAg
dGhlIGJvb3RzdHJhcCBwcm9ibGVtLiAgVG8gd29yayBhcm91bmQgdGhpcywgd2UgY291bGQgcHJl
LXBvcHVsYXRlIGEKICAgYnVpbHQtaW4gcGluIGxpc3Qgd2l0aCBwdWJsaWMga2V5cyBhcyBvYnNl
cnZlZCBpbiB0aGUgd2lsZCBieSBvbmUgb3IKICAgbW9yZSBnbG9iYWwgb2JzZXJ2ZXJzLCBzdWNo
IGFzIEdvb2dsZWJvdCwgdGhlIEVGRiBTU0wgT2JzZXJ2YXRvcnksCiAgIENvbnZlcmdlbmNlIG5v
dGFyaWVzLCBhbmQgc28gb24uCgogICBPbmUgcHJvYmxlbSB3aXRoIHRoaXMgYXBwcm9hY2ggaXMg
dGhhdCBpdCBkb2VzIG5vdCBpbnZvbHZlIGhvc3QKICAgb3BlcmF0b3JzLiAgSXQgaXMgYmVzdCB0
byBnZXQgb3BlcmF0b3IgY29uc2VudCBiZWZvcmUgc2lnbmluZyB0aGVtIHVwCiAgIGZvciBhIHBv
dGVudGlhbGx5IHJpc2t5IG5ldyBwcm90b2NvbCBzdWNoIGFzIHRoaXMuICBUaGVyZWZvcmUgd2UK
ICAgbGVhdmUgdGhpcyBpZGVhIGZvciB3b3JrIChpbmNsdWRpbmcgdGhpcmQtcGFydHkgVUEgZXh0
ZW5zaW9ucykuCgozLjcuMy4gIFRvb2xzIHRvIEFzc2lzdCBDcmVhdGlvbiBvZiBIZWFkZXIKCiAg
IEl0IHdvdWxkIGJlIGdvb2QgdG8gcHJvdmlkZSB0b29scyB0aGF0IHJlYWQgWC41MDkgY2VydGlm
aWNhdGUgY2hhaW5zCiAgIGFuZCBnZW5lcmF0ZSBleGFtcGxlIEhTVFMgaGVhZGVycyB0aGF0IG9w
ZXJhdG9ycyBjYW4gZWFzaWx5IGFkZCB0bwogICB0aGVpciB3ZWJzIGVydmVyIGNvbmZpZ3VyYXRp
b25zLgoKMy43LjQuICBQaW5uaW5nIFN1YnJlc291cmNlcwoKICAgTWFueSBob3N0cyBoYXZlIHBh
Z2VzIHRoYXQgbG9hZCBzdWJyZXNvdXJjZXMgZnJvbSBkb21haW5zIG5vdCB1bmRlcgogICB0aGUg
Y29udHJvbCwgb3IgdW5kZXIgb25seSBwYXJ0aWFsIGNvbnRyb2wsIG9mIHRoZSBtYWluIGhvc3Qn
cwogICBvcGVyYXRvcnMuICBGb3IgZXhhbXBsZSwgcG9wdWxhciBob3N0cyBvZnRlbiB1c2UgQ0RO
cywgYW5kIENETgogICBjdXN0b21lcnMgbWF5IGhhdmUgb25seSBsaW1pdGVkLCBpZiBhbnksIGFi
aWxpdHkgdG8gaW5mbHVlbmNlIHRoZQogICBjb25maWd1cmF0aW9uIG9mIHRoZSBDRE4ncyBzZXJ2
ZXJzLiAgKFRoaXMgbG9uZy1zdGFuZGluZyBwcm9ibGVtIGlzCiAgIGluZGVwZW5kZW50IG9mIGNl
cnRpZmljYXRlIHBpbm5pbmcuKQoKICAgVG8gYSBsaW1pdGVkIGV4dGVudCwgdGhlIGluY2x1ZGVT
dWJEb21haW5zIEhTVFMgZGlyZWN0aXZlIGNhbiBhZGRyZXNzCiAgIHRoaXM6IGlmIHRoZSBDRE4g
aG9zdCBoYXMgYSBuYW1lIHRoYXQgaXMgYSBzdWJkb21haW4gb2YgdGhlIG1haW4gaG9zdAogICAo
ZS5nLiBhc3NldHMtZnJvbS1jZG4uZXhhbXBsZS5jb20gcG9pbnRzIHRvIENETi1vd25lZCBzZXJ2
ZXJzKSwgYW5kCiAgIGlmIHRoZSBtYWluIGhvc3QncyBvcGVyYXRvcnMgY2FuIGd1YXJhbnRlZWFi
bHkga2VlcCB1cC10by1kYXRlIHdpdGgKICAgdGhlIENETidzIHNlcnZlciBjZXJ0aWZpY2F0ZSBm
aW5nZXJwcmludHMgLS0gcGVyaGFwcyBhcyBwYXJ0IG9mCiAgIGV4YW1wbGUuY29tJ3MgY29udHJh
Y3Qgd2l0aCB0aGUgQ0ROIC0tIHRoZW4gdGhlIHByb2JsZW0gbWF5IGJlCiAgIHNvbHZlZC4KCiAg
IENETnMgTUFZLCBhbmQgU0hPVUxELCBhbHNvIHVzZSBjZXJ0aWZpY2F0ZSBwaW5uaW5nIGluZGVw
ZW5kZW50bHkgb2YKICAgYW55IG9mIHRoZWlyIGN1c3RvbWVycy4KCiAgIEFsdGhvdWdoIG9uZSBj
YW4gaW1hZ2luZSBhbiBleHRlbnNpb24gdG8gdGhpcyBzcGVjaWZpY2F0aW9uIGFsbG93aW5nCiAg
IHRoZSBtYWluIHJlc291cmNlIHRvIHNldCBwaW5zIGZvciBzdWJyZXNvdXJjZXMgaW4gb3RoZXIg
ZG9tYWlucywgaXQKICAgaXMgY29tcGxleCBhbmQgZnJhZ2lsZSBib3RoIGZyb20gdGVjaG5pY2Fs
IGFuZCBidXNpbmVzcyBwZXJzcGVjdGl2ZXMuCiAgIFRoZSBVQSB3b3VsZCBoYXZlIHRvIGFjY2Vw
dCB0aG9zZSBwaW5zIGZvciB0aGUgc3VicmVzb3VyY2UgZG9tYWlucwogICBPTkxZIHdoZW4gbG9h
ZGluZyByZXNvdXJjZXMgZnJvbSB0aGUgc3ViZG9tYWlucyBhcyBwYXJ0IG9mIGEgcGFnZQogICBs
b2FkIG9mIHRoZSBtYWluIGhvc3QuICBUaGUgaW5kZXBlbmRlbmNlIG9mIHRoZSB0d28gZG9tYWlu
cycKICAgb3BlcmF0aW9ucyB0ZWFtcyB3b3VsZCBzdGlsbCBwb3NlIHN5bmNocm9uaXphdGlvbiBw
cm9ibGVtcywgYW5kCiAgIHBvdGVudGlhbGx5IGluY3JlYXNlIHRoZSBicmlja2luZyByaXNrLgoK
ICAgVGhlcmVmb3JlLCBleGNlcHQgaW4gc2ltcGxlIGNhc2VzLCB0aGlzIGRvY3VtZW50IGxlYXZl
cyB0aGUgY3Jvc3MtCiAgIGRvbWFpbiBzdWJyZXNvdXJjZSBwcm9ibGVtIHRvIGZ1dHVyZSB3b3Jr
LiAgT3BlcmF0aW9uYWwgZXhwZXJpZW5jZQogICB3aXRoIEhTVFMtYmFzZWQgY2VydGlmaWNhdGUg
cGlubmluZyBzaG91bGQgZ3VpZGUgdGhlIGRldmVsb3BtZW50IG9mIGEKICAgcGxhbiB0byBoYW5k
bGUgdGhlIHByb2JsZW0uCgozLjcuNS4gIFBpbm5pbmcgV2l0aG91dCBSZXF1aXJpbmcgSFRUUFMK
CiAgIFNvbWUgaG9zdCBvcGVyYXRvcnMgd291bGQgbGlrZSB0byB0YWtlIGFkdmFudGFnZSBvZiBj
ZXJ0aWZpY2F0ZQogICBwaW5uaW5nIHdpdGhvdXQgcmVxdWlyaW5nIEhUVFBTLCBidXQgaGF2aW5n
IGNsaWVudHMgcmVxdWlyZSBwaW5zIGluCiAgIHRoZSBldmVudCB0aGF0IHRoZXkgZG8gY29ubmVj
dCB0byB0aGUgaG9zdCB3aXRoIEhUVFBTLiAgQXMgc3BlY2lmaWVkCiAgIGFib3ZlLCB0aGUgY3Vy
cmVudCBIU1RTLWJhc2VkIG1lY2hhbmlzbSBkb2VzIG5vdCBhbGxvdyBmb3IgdGhpczoKICAgY2xp
ZW50cyB0aGF0IHJlY2VpdmUgdGhlIHBpbnMgZGlyZWN0aXZlIHZpYSBIU1RTIHdpbGwgYWxzbyB0
aGVyZWZvcmUKICAgcmVxdWlyZSBIVFRQUyAtLSB0aGF0IGlzIHRoZSBwdXJwb3NlIG9mIEhTVFMg
YWZ0ZXIgYWxsLiAgVG8gaGF2ZSBhbgogICBhZGRpdGlvbmFsIGRpcmVjdGl2ZSwgZS5nLiBtb2Rl
PW9wdGlvbmFsLCB3b3VsZCBub3Qgd29yayBiZWNhdXNlCiAgIG9sZGVyIGNsaWVudHMgdGhhdCBz
dXBwb3J0IEhTVFMgYnV0IG5vdCB0aGUgbW9kZSBleHRlbnNpb24gd291bGQKICAgZWZmZWN0aXZl
bHkgcmVxdWlyZSBIVFRQUy4KCiAgIEFsdGVybmF0aXZlcyBpbmNsdWRlIChhKSBwdXR0aW5nIHRo
ZSBwaW5zIGRpcmVjdGl2ZSBpbiBhIG5ldyBoZWFkZXIKICAgaW5zdGVhZCBvZiBleHRlbmRpbmcg
SFNUUzsgYW5kIChiKSBzb21lIGtpbmQgb2YgaGFjayBsaWtlIHNldHRpbmcKICAgbWF4QWdlPTAg
YW5kIGhhdmluZyBhbiBhZGRpdGlvbmFsIGRpcmVjdGl2ZSB0byBrZWVwIHRoZSBwaW5zIGFsaXZl
CiAgIChlLmcuIHBpbk1heEFnZSkuICBUaGVzZSBhbHRlcm5hdGl2ZXMgc2VlbSB1Z2x5IHRvIHVz
IGFuZCB3ZSB3ZWxjb21lCiAgIHN1Z2dlc3Rpb25zIGZvciBhIGJldHRlciB3YXkgdG8gc3VwcG9y
dCB0aGlzIGRlcGxveW1lbnQgc2NlbmFyaW8uCgoKNC4gIEZpbmdlcnByaW50IEdlbmVyYXRpb24K
CiAgIFRoaXMgR28gcHJvZ3JhbSBnZW5lcmF0ZXMgcHVibGljIGtleSBmaW5nZXJwcmludHMsIHN1
aXRhYmxlIGZvciB1c2UKICAgaW4gcGlubmluZywgZnJvbSBQRU0tZW5jb2RlZCBjZXJ0aWZpY2F0
ZXMuCgogICBwYWNrYWdlIG1haW4KCiAgIGltcG9ydCAoCiAgICAgICAgICAiaW8vaW91dGlsIgog
ICAgICAgICAgIm9zIgogICAgICAgICAgImNyeXB0by9zaGExIgogICAgICAgICAgImNyeXB0by94
NTA5IgogICAgICAgICAgImVuY29kaW5nL2Jhc2U2NCIKICAgICAgICAgICJlbmNvZGluZy9wZW0i
CiAgICAgICAgICAiZm10IgogICApCgogICBmdW5jIG1haW4oKSB7CiAgICAgICAgICBpZiBsZW4o
b3MuQXJncykgPCAyIHsKICAgICAgICAgICAgICAgICAgZm10LlByaW50ZigiVXNhZ2U6ICVzIFBF
TS1maWxlbmFtZVxuIiwgb3MuQXJnc1swXSkKICAgICAgICAgICAgICAgICAgb3MuRXhpdCgxKQog
ICAgICAgICAgfQogICAgICAgICAgcGVtQnl0ZXMsIGVyciA6PSBpb3V0aWwuUmVhZEZpbGUob3Mu
QXJnc1sxXSkKICAgICAgICAgIGlmIGVyciAhPSBuaWwgewogICAgICAgICAgICAgICAgICBwYW5p
YyhlcnIuU3RyaW5nKCkpCiAgICAgICAgICB9CiAgICAgICAgICBibG9jaywgXyA6PSBwZW0uRGVj
b2RlKHBlbUJ5dGVzKQogICAgICAgICAgaWYgYmxvY2sgPT0gbmlsIHsKICAgICAgICAgICAgICAg
ICAgcGFuaWMoIk5vIFBFTSBzdHJ1Y3R1cmUgZm91bmQiKQogICAgICAgICAgfQogICAgICAgICAg
ZGVyQnl0ZXMgOj0gYmxvY2suQnl0ZXMKICAgICAgICAgIGNlcnRzLCBlcnIgOj0geDUwOS5QYXJz
ZUNlcnRpZmljYXRlcyhkZXJCeXRlcykKICAgICAgICAgIGlmIGVyciAhPSBuaWwgewogICAgICAg
ICAgICAgICAgICBwYW5pYyhlcnIuU3RyaW5nKCkpCiAgICAgICAgICB9CiAgICAgICAgICBjZXJ0
IDo9IGNlcnRzWzBdCiAgICAgICAgICBoIDo9IHNoYTEuTmV3KCkKICAgICAgICAgIGguV3JpdGUo
Y2VydC5SYXdTdWJqZWN0UHVibGljS2V5SW5mbykKICAgICAgICAgIGRpZ2VzdCA6PSBoLlN1bSgp
CgogICAgICAgICAgZm10LlByaW50ZigiSGV4OiAleFxuQmFzZTY0OiAlc1xuIiwgZGlnZXN0LAog
ICAgICAgICAgICAgICAgICBiYXNlNjQuU3RkRW5jb2RpbmcuRW5jb2RlVG9TdHJpbmcoZGlnZXN0
KSkKICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlndXJlIDYKCgo1LiAg
UmVmZXJlbmNlcwoKICAgW2hzdHMtc3BlY10KICAgICAgICAgICAgICBIb2RnZXMsIEouLCBKYWNr
c29uLCBDLiwgYW5kIEEuIEJhcnRoLCAiSFRUUCBTdHJpY3QKICAgICAgICAgICAgICBUcmFuc3Bv
cnQgU2VjdXJpdHkgKEhTVFMpIiwgQXVndXN0IDIwMTEsIDxodHRwOi8vCiAgICAgICAgICAgICAg
dG9vbHMuaWV0Zi5vcmcvaHRtbC8KICAgICAgICAgICAgICBkcmFmdC1pZXRmLXdlYnNlYy1zdHJp
Y3QtdHJhbnNwb3J0LXNlYy0wMj4uCgogICBbd2h5LWZpbmdlcnByaW50LWtleV0KICAgICAgICAg
ICAgICBMYW5nbGV5LCBBLiwgIlB1YmxpYyBLZXkgUGlubmluZyIsIE1heSAyMDExLAogICAgICAg
ICAgICAgIDxodHRwOi8vd3d3LmltcGVyaWFsdmlvbGV0Lm9yZy8yMDExLzA1LzA0L3Bpbm5pbmcu
aHRtbD4uCgogICBbcGluLWJyZWFrLWNvZGVzXQogICAgICAgICAgICAgIFBlcnJpbiwgVC4sICJT
ZWxmLUFzc2VydGVkIEtleSBQaW5uaW5nIiwgU2VwdGVtYmVyIDIwMTEsCiAgICAgICAgICAgICAg
PGh0dHA6Ly90cmV2cC5uZXQvU0FLUC8+LgoKCkF1dGhvcnMnIEFkZHJlc3NlcwoKICAgQ2hyaXMg
RXZhbnMKICAgR29vZ2xlLCBJbmMuCiAgIDE2MDAgQW1waGl0aGVhdGVyIFBrd3kKICAgTW91bnRh
aW4gVmlldywgQ0EgIDk0MDQzCiAgIFVTCgogICBFbWFpbDogY2V2YW5zQGdvb2dsZS5jb20KCgog
ICBDaHJpcyBQYWxtZXIKICAgR29vZ2xlLCBJbmMuCiAgIDE2MDAgQW1waGl0aGVhdGVyIFBrd3kK
ICAgTW91bnRhaW4gVmlldywgQ0EgIDk0MDQzCiAgIFVTCgogICBFbWFpbDogcGFsbWVyQGdvb2ds
ZS5jb20KCgpGdWxsIENvcHlyaWdodCBTdGF0ZW1lbnQKCiAgIENvcHlyaWdodCAoQykgVGhlIElu
dGVybmV0IFNvY2lldHkgKDIwMTEpLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KCiAgIFRoaXMgZG9j
dW1lbnQgYW5kIHRyYW5zbGF0aW9ucyBvZiBpdCBtYXkgYmUgY29waWVkIGFuZCBmdXJuaXNoZWQg
dG8KICAgb3RoZXJzLCBhbmQgZGVyaXZhdGl2ZSB3b3JrcyB0aGF0IGNvbW1lbnQgb24gb3Igb3Ro
ZXJ3aXNlIGV4cGxhaW4gaXQKICAgb3IgYXNzaXN0IGluIGl0cyBpbXBsZW1lbnRhdGlvbiBtYXkg
YmUgcHJlcGFyZWQsIGNvcGllZCwgcHVibGlzaGVkCiAgIGFuZCBkaXN0cmlidXRlZCwgaW4gd2hv
bGUgb3IgaW4gcGFydCwgd2l0aG91dCByZXN0cmljdGlvbiBvZiBhbnkKICAga2luZCwgcHJvdmlk
ZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwYXJhZ3JhcGggYXJl
CiAgIGluY2x1ZGVkIG9uIGFsbCBzdWNoIGNvcGllcyBhbmQgZGVyaXZhdGl2ZSB3b3Jrcy4gIEhv
d2V2ZXIsIHRoaXMKICAgZG9jdW1lbnQgaXRzZWxmIG1heSBub3QgYmUgbW9kaWZpZWQgaW4gYW55
IHdheSwgc3VjaCBhcyBieSByZW1vdmluZwogICB0aGUgY29weXJpZ2h0IG5vdGljZSBvciByZWZl
cmVuY2VzIHRvIHRoZSBJbnRlcm5ldCBTb2NpZXR5IG9yIG90aGVyCiAgIEludGVybmV0IG9yZ2Fu
aXphdGlvbnMsIGV4Y2VwdCBhcyBuZWVkZWQgZm9yIHRoZSBwdXJwb3NlIG9mCiAgIGRldmVsb3Bp
bmcgSW50ZXJuZXQgc3RhbmRhcmRzIGluIHdoaWNoIGNhc2UgdGhlIHByb2NlZHVyZXMgZm9yCiAg
IGNvcHlyaWdodHMgZGVmaW5lZCBpbiB0aGUgSW50ZXJuZXQgU3RhbmRhcmRzIHByb2Nlc3MgbXVz
dCBiZQogICBmb2xsb3dlZCwgb3IgYXMgcmVxdWlyZWQgdG8gdHJhbnNsYXRlIGl0IGludG8gbGFu
Z3VhZ2VzIG90aGVyIHRoYW4KICAgRW5nbGlzaC4KCiAgIFRoZSBsaW1pdGVkIHBlcm1pc3Npb25z
IGdyYW50ZWQgYWJvdmUgYXJlIHBlcnBldHVhbCBhbmQgd2lsbCBub3QgYmUKICAgcmV2b2tlZCBi
eSB0aGUgSW50ZXJuZXQgU29jaWV0eSBvciBpdHMgc3VjY2Vzc29ycyBvciBhc3NpZ25zLgoKICAg
VGhpcyBkb2N1bWVudCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaXMgcHJv
dmlkZWQgb24gYW4KICAgIkFTIElTIiBiYXNpcyBhbmQgVEhFIElOVEVSTkVUIFNPQ0lFVFkgQU5E
IFRIRSBJTlRFUk5FVCBFTkdJTkVFUklORwogICBUQVNLIEZPUkNFIERJU0NMQUlNUyBBTEwgV0FS
UkFOVElFUywgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcKICAgQlVUIE5PVCBMSU1JVEVE
IFRPIEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YgVEhFIElORk9STUFUSU9OCiAgIEhFUkVJ
TiBXSUxMIE5PVCBJTkZSSU5HRSBBTlkgUklHSFRTIE9SIEFOWSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YKICAgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LgoKCkludGVsbGVjdHVhbCBQcm9wZXJ0eQoKICAgVGhlIElFVEYgdGFrZXMgbm8gcG9zaXRpb24g
cmVnYXJkaW5nIHRoZSB2YWxpZGl0eSBvciBzY29wZSBvZiBhbnkKICAgaW50ZWxsZWN0dWFsIHBy
b3BlcnR5IG9yIG90aGVyIHJpZ2h0cyB0aGF0IG1pZ2h0IGJlIGNsYWltZWQgdG8KICAgcGVydGFp
biB0byB0aGUgaW1wbGVtZW50YXRpb24gb3IgdXNlIG9mIHRoZSB0ZWNobm9sb2d5IGRlc2NyaWJl
ZCBpbgogICB0aGlzIGRvY3VtZW50IG9yIHRoZSBleHRlbnQgdG8gd2hpY2ggYW55IGxpY2Vuc2Ug
dW5kZXIgc3VjaCByaWdodHMKICAgbWlnaHQgb3IgbWlnaHQgbm90IGJlIGF2YWlsYWJsZTsgbmVp
dGhlciBkb2VzIGl0IHJlcHJlc2VudCB0aGF0IGl0CiAgIGhhcyBtYWRlIGFueSBlZmZvcnQgdG8g
aWRlbnRpZnkgYW55IHN1Y2ggcmlnaHRzLiAgSW5mb3JtYXRpb24gb24gdGhlCiAgIElFVEYncyBw
cm9jZWR1cmVzIHdpdGggcmVzcGVjdCB0byByaWdodHMgaW4gc3RhbmRhcmRzLXRyYWNrIGFuZAog
ICBzdGFuZGFyZHMtcmVsYXRlZCBkb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCBpbiBCQ1AgMTEu
ICBDb3BpZXMgb2YKICAgY2xhaW1zIG9mIHJpZ2h0cyBtYWRlIGF2YWlsYWJsZSBmb3IgcHVibGlj
YXRpb24gYW5kIGFueSBhc3N1cmFuY2VzIG9mCiAgIGxpY2Vuc2VzIHRvIGJlIG1hZGUgYXZhaWxh
YmxlLCBvciB0aGUgcmVzdWx0IG9mIGFuIGF0dGVtcHQgbWFkZSB0bwogICBvYnRhaW4gYSBnZW5l
cmFsIGxpY2Vuc2Ugb3IgcGVybWlzc2lvbiBmb3IgdGhlIHVzZSBvZiBzdWNoCiAgIHByb3ByaWV0
YXJ5IHJpZ2h0cyBieSBpbXBsZW1lbnRvcnMgb3IgdXNlcnMgb2YgdGhpcyBzcGVjaWZpY2F0aW9u
IGNhbgogICBiZSBvYnRhaW5lZCBmcm9tIHRoZSBJRVRGIFNlY3JldGFyaWF0LgoKICAgVGhlIElF
VEYgaW52aXRlcyBhbnkgaW50ZXJlc3RlZCBwYXJ0eSB0byBicmluZyB0byBpdHMgYXR0ZW50aW9u
IGFueQogICBjb3B5cmlnaHRzLCBwYXRlbnRzIG9yIHBhdGVudCBhcHBsaWNhdGlvbnMsIG9yIG90
aGVyIHByb3ByaWV0YXJ5CiAgIHJpZ2h0cyB3aGljaCBtYXkgY292ZXIgdGVjaG5vbG9neSB0aGF0
IG1heSBiZSByZXF1aXJlZCB0byBwcmFjdGljZQogICB0aGlzIHN0YW5kYXJkLiAgUGxlYXNlIGFk
ZHJlc3MgdGhlIGluZm9ybWF0aW9uIHRvIHRoZSBJRVRGIEV4ZWN1dGl2ZQogICBEaXJlY3Rvci4K
CgpBY2tub3dsZWRnbWVudAoKICAgRnVuZGluZyBmb3IgdGhlIFJGQyBFZGl0b3IgZnVuY3Rpb24g
aXMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHRoZQogICBJbnRlcm5ldCBTb2NpZXR5LgoK
--0016e659f5a203d12204ad63589c
Content-Type: text/xml; charset=UTF-8; name="hsts-certificate-pinning.xml"
Content-Disposition: attachment; filename="hsts-certificate-pinning.xml"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gst743th1

PD94bWwgdmVyc2lvbj0iMS4wIj8+CjwhRE9DVFlQRSByZmMgU1lTVEVNICJyZmMyNjI5LmR0ZCI+
CjxyZmMgaXByPSJmdWxsMjAyNiIgZG9jTmFtZT0iZHJhZnQtZXZhbnMtcGFsbWVyLWhzdHMtcGlu
bmluZyI+Cjxmcm9udD4KPHRpdGxlPkNlcnRpZmljYXRlIFBpbm5pbmcgRXh0ZW5zaW9uIGZvciBI
U1RTPC90aXRsZT4KCjxhdXRob3IgaW5pdGlhbHM9IkMuIiBzdXJuYW1lPSJFdmFucyIgZnVsbG5h
bWU9IkNocmlzIEV2YW5zIj4KPG9yZ2FuaXphdGlvbj5Hb29nbGUsIEluYy48L29yZ2FuaXphdGlv
bj4KPGFkZHJlc3M+Cjxwb3N0YWw+CjxzdHJlZXQ+MTYwMCBBbXBoaXRoZWF0ZXIgUGt3eTwvc3Ry
ZWV0Pgo8Y2l0eT5Nb3VudGFpbiBWaWV3PC9jaXR5Pgo8cmVnaW9uPkNBPC9yZWdpb24+Cjxjb2Rl
Pjk0MDQzPC9jb2RlPgo8Y291bnRyeT5VUzwvY291bnRyeT4KPC9wb3N0YWw+CjxlbWFpbD5jZXZh
bnNAZ29vZ2xlLmNvbTwvZW1haWw+CjwvYWRkcmVzcz4KPC9hdXRob3I+Cgo8YXV0aG9yIGluaXRp
YWxzPSJDLiIgc3VybmFtZT0iUGFsbWVyIiBmdWxsbmFtZT0iQ2hyaXMgUGFsbWVyIj4KPG9yZ2Fu
aXphdGlvbj5Hb29nbGUsIEluYy48L29yZ2FuaXphdGlvbj4KPGFkZHJlc3M+Cjxwb3N0YWw+Cjxz
dHJlZXQ+MTYwMCBBbXBoaXRoZWF0ZXIgUGt3eTwvc3RyZWV0Pgo8Y2l0eT5Nb3VudGFpbiBWaWV3
PC9jaXR5Pgo8cmVnaW9uPkNBPC9yZWdpb24+Cjxjb2RlPjk0MDQzPC9jb2RlPgo8Y291bnRyeT5V
UzwvY291bnRyeT4KPC9wb3N0YWw+CjxlbWFpbD5wYWxtZXJAZ29vZ2xlLmNvbTwvZW1haWw+Cjwv
YWRkcmVzcz4KPC9hdXRob3I+Cgo8ZGF0ZSBtb250aD0iU2VwdGVtYmVyIiB5ZWFyPSIyMDExIiAv
PgoKPGFyZWE+R2VuZXJhbDwvYXJlYT4KPHdvcmtncm91cD5XZWIgU2VjdXJpdHk8L3dvcmtncm91
cD4KCjxrZXl3b3JkPkktRDwva2V5d29yZD4KPGtleXdvcmQ+SW50ZXJuZXQtRHJhZnQ8L2tleXdv
cmQ+CjxrZXl3b3JkPkNlcnRpZmljYXRlPC9rZXl3b3JkPgo8a2V5d29yZD5YLjUwOTwva2V5d29y
ZD4KPGtleXdvcmQ+Q2VydGlmaWNhdGlvbiBhdXRob3JpdHk8L2tleXdvcmQ+CjxrZXl3b3JkPkNl
cnRpZmljYXRlIHBpbm5pbmc8L2tleXdvcmQ+CjxrZXl3b3JkPkhUVFBTPC9rZXl3b3JkPgo8a2V5
d29yZD5UTFM8L2tleXdvcmQ+CjxrZXl3b3JkPlNTTDwva2V5d29yZD4KCjxhYnN0cmFjdD4KCjx0
PlRoaXMgbWVtbyBkZXNjcmliZXMgYW4gZXh0ZW5zaW9uIHRvIHRoZSBIVFRQIFN0cmljdCBUcmFu
c3BvcnQKU2VjdXJpdHkgc3BlY2lmaWNhdGlvbiBhbGxvd2luZyB3ZWIgaG9zdCBvcGVyYXRvcnMg
dG8gaW5zdHJ1Y3QgVUFzIHRvCnJlbWVtYmVyICgicGluIikgaG9zdHMnIGNyeXB0b2dyYXBoaWMg
aWRlbnRpdGllcyBmb3IgYSBnaXZlbiBwZXJpb2Qgb2YKdGltZS4gRHVyaW5nIHRoYXQgdGltZSwg
VUFzIHdpbGwgcmVxdWlyZSB0aGF0IHRoZSBob3N0IHByZXNlbnQgYQpjZXJ0aWZpY2F0ZSBjaGFp
biBpbmNsdWRpbmcgYXQgbGVhc3Qgb25lIHB1YmxpYyBrZXkgd2hvc2UgZmluZ2VycHJpbnQKbWF0
Y2hlcyBvbmUgb3IgbW9yZSBvZiB0aGUgcGlubmVkIGZpbmdlcnByaW50cyBmb3IgdGhhdCBob3N0
LiBXZSBob3BlCnRoaXMgcmVkdWNlcyB0aGUgaW5jaWRlbmNlIG9mIG1hbi1pbi10aGUtbWlkZGxl
IGF0dGFja3MgZHVlIHRvCmNvbXByb21pc2VkIENlcnRpZmljYXRpb24gQXV0aG9yaXRpZXMgYW5k
IG90aGVyIGF1dGhlbnRpY2F0aW9uIGVycm9ycwphbmQgYXR0YWNrcywgYnkgZWZmZWN0aXZlbHkg
cmVkdWNpbmcgdGhlIHNjb3BlIG9mIGF1dGhvcml0aWVzIHdobyBjYW4KYXV0aGVudGljYXRlIHRo
ZSBkb21haW4gZHVyaW5nIHRoZSBsaWZldGltZSBvZiB0aGUgcGluLjwvdD4KCjwvYWJzdHJhY3Q+
Cgo8L2Zyb250PgoKPG1pZGRsZT4KCjxzZWN0aW9uIGFuY2hvcj0iaW50cm9kdWN0aW9uIiB0aXRs
ZT0iSW50cm9kdWN0aW9uIj4KCjx0PldlIHByb3Bvc2UgdG8gZXh0ZW5kIHRoZSBIU1RTIEhUVFAg
aGVhZGVyIHRvIGVuYWJsZSBhIHdlYiBob3N0IHRvCmV4cHJlc3MgdG8gVUFzIHdoaWNoIGNlcnRp
ZmljYXRlKHMpIFVBcyBtYXkgZXhwZWN0IHRvIGJlIHByZXNlbnQgaW4KdGhlIGhvc3QncyBjZXJ0
aWZpY2F0ZSBjaGFpbiBpbiBmdXR1cmUgY29ubmVjdGlvbnMuIFdlIGNhbGwgdGhpcwoiY2VydGlm
aWNhdGUgcGlubmluZyIuIFRoZSBDaHJvbWUvaXVtIGJyb3dzZXIgc2hpcHMgd2l0aCBhIHN0YXRp
YyBzZXQKb2YgcGlucywgYW5kIGluZGl2aWR1YWwgdXNlcnMgY2FuIGV4dGVuZCB0aGUgc2V0IG9m
IHBpbnMKKGNocm9tZTovL25ldC1pbnRlcm5hbHMvI2hzdHMpLiBBbHRob3VnaCBlZmZlY3RpdmUs
IHRoaXMgZG9lcyBub3QKc2NhbGUuIFRoaXMgcHJvcG9zYWwgYWRkcmVzc2VzIHRoZSBzY2FsZSBw
cm9ibGVtLjwvdD4KCjx0PkRlcGxveWluZyBjZXJ0aWZpY2F0ZSBwaW5uaW5nIHNhZmVseSB3aWxs
IHJlcXVpcmUgb3BlcmF0aW9uYWwgYW5kCm9yZ2FuaXphdGlvbmFsIG1hdHVyaXR5IGR1ZSB0byB0
aGUgcmlzayB0aGF0IEhTVFMgSG9zdHMgbWF5ICJicmljayIKdGhlbXNlbHZlcyBieSBwaW5uaW5n
IHRvIGEgY2VydGlmaWNhdGUgdGhhdCBiZWNvbWVzIGludmFsaWQuIFdlCmRpc2N1c3MgcG90ZW50
aWFsIG1pdGlnYXRpb25zIGZvciB0aG9zZSByaXNrcy4gV2UgYmVsaWV2ZSB0aGF0LCB3aXRoCmNh
cmUsIGhvc3Qgb3BlcmF0b3JzIGNhbiBncmVhdGx5IHJlZHVjZSB0aGUgcmlzayBvZiBNSVRNIGF0
dGFja3MgYW5kCm90aGVyIGZhbHNlLWF1dGhlbnRpY2F0aW9uIHByb2JsZW1zIGZvciB0aGVpciB1
c2VycyB3aXRob3V0IGluY3VycmluZwp1bmR1ZSByaXNrIG9mIGJyaWNraW5nLjwvdD4KCjx0PlRo
aXMgZG9jdW1lbnQgZXh0ZW5kcyB0aGUgdmVyc2lvbiBvZiBIU1RTIGRlZmluZWQgaW4gPHhyZWYK
dGFyZ2V0PSJoc3RzLXNwZWMiIC8+IGFuZCBmb2xsb3dzIHRoYXQgZG9jdW1lbnQncyBub3RhdGlv
bmFsIGFuZApuYW1pbmcgY29udmVudGlvbnMuPC90PgoKPHNlY3Rpb24gYW5jaG9yPSJub3RhdGlv
biIgdGl0bGU9IkFib3V0IE5vdGF0aW9uIj4KCjx0PlRoaXMgZG9jdW1lbnQgaW5jbHVkZXMgc29t
ZSBwc2V1ZG9jb2RlIGV4YW1wbGVzIHdyaXR0ZW4gaW4gYQpQeXRob24tbGlrZSBsYW5ndWFnZSwg
dG8gY2xhcmlmeSBVQSBiZWhhdmlvci4gVGhlIGV4YW1wbGVzIGFzc3VtZSB0aGF0CmEgZ2xvYmFs
IGRhdGEgc3RydWN0dXJlLCBoc3RzX21ldGFkYXRhLCBleGlzdHMgYW5kIGNvbnRhaW5zIHRoZSBI
U1RTCm1ldGFkYXRhIHRoYXQgdGhlIFVBIGhhcyBhY2N1bXVsYXRlZCBvdmVyIHRpbWUuIEl0IGlz
IGluZGV4YWJsZSBieQpkb21haW4gbmFtZSBhbmQgaW5jbHVkZXMgdGhlIHVzdWFsIEhTVFMgcGFy
YW1ldGVycyAobWF4QWdlLAppbmNsdWRlc1N1YkRvbWFpbnMpIGFzIHdlbGwgYXMgdGhlIG5ldyBI
U1RTIHBhcmFtZXRlciwgcGlucywgdGhhdCB0aGlzCmRvY3VtZW50IGludHJvZHVjZXMuIEl0IGFs
c28gYXNzdW1lcyBhIGh5cG90aGV0aWNhbCBYLjUwOSBkYXRhdHlwZSwKZGVub3RlZCB3aXRoIGEg
dmFyaWFibGUgbmFtZWQgImNlcnRpZmljYXRlIiwgdGhhdCBpbmNsdWRlcyBsaWtlbHkgWC41MDkK
ZmllbGRzIHN1Y2ggYXMgcHVibGljX2tleSAod2hpY2ggd291bGQgY29ycmVzcG9uZCB0byB0aGUK
U3ViamVjdFB1YmxpY0tleUluZm8gZmllbGQgaW4gYSByZWFsIFguNTA5IGNlcnRpZmljYXRlKS48
L3Q+Cgo8dD5UaGVyZSBhcmUgYWxzbyBzb21lIHdvcmtpbmcgY29kZSBleGFtcGxlcyB1c2luZyB0
aGUgUHl0aG9uIGFuZCBHbwpsYW5ndWFnZXMuPC90PgoKPHQ+VGhlIGV4YW1wbGVzIGFyZSBpbnRl
bmRlZCB0byBiZSBpbGx1c3RyYXRpdmUsIG5vdCBuZWNlc3NhcmlseQpwcmVjaXNlIG9yIHVzaW5n
IGFsZ29yaXRobXMgdGhhdCBhIHJlYWwsIG9wdGltaXplZCBVQSB3b3VsZAplbXBsb3kuPC90PgoK
PC9zZWN0aW9uPgoKPC9zZWN0aW9uPjwhLS0gaW50cm9kdWN0aW9uIC0tPgoKPHNlY3Rpb24gYW5j
aG9yPSJzZXJ2ZXItY2xpZW50LWJlaGF2aW9yIiB0aXRsZT0iU2VydmVyIGFuZCBDbGllbnQKQmVo
YXZpb3IiPgoKPHQ+VG8gc2V0IGEgcGluLCBIU1RTIEhvc3RzIHVzZSBhIG5ldyBTVFMgZXh0ZW5z
aW9uIGRpcmVjdGl2ZQooU1RTLWQtZXh0KSBpbiB0aGVpciBIU1RTIHJlc3BvbnNlIGhlYWRlciBm
aWVsZDogcGlucy4gVG8gZW5hYmxlIHBpbgpyZXZvY2F0aW9uICg8eHJlZiB0YXJnZXQ9InVuLXBp
bm5pbmciIC8+KSwgaG9zdHMgbWF5IGFsc28gdXNlIHRoZQpuZXcgYnJlYWt2IGFuZCBicmVha2Mg
ZGlyZWN0aXZlcy48L3Q+Cgo8ZmlndXJlIGFuY2hvcj0iZGlyZWN0aXZlLWFibmYiPgo8YXJ0d29y
az4KU1RTLWQtZXh0LXBpbiAgICA9ICAgICJwaW5zIiBPV1MgIj0iIE9XUyBbZmluZ2VycHJpbnRz
XQpTVFMtZC1leHQtYnJlYWt2ID0gICAgImJyZWFrdiIgT1dTICI9IiBPV1MgZnAtdHlwZSAiLyIg
YmFzZTY0LWRpZ2l0cwpTVFMtZC1leHQtYnJlYWtjID0gICAgImJyZWFrYyIgT1dTICI9IiBPV1Mg
YmFzZTY0LWRpZ2l0cwoKZmluZ2VycHJpbnRzICAgICA9ICAgICBmaW5nZXJwcmludAogICAgICAg
ICAgICAgICAgICAgICAgIC8gZmluZ2VycHJpbnQgIiwiIGZpbmdlcnByaW50cwoKZmluZ2VycHJp
bnQgICAgICA9ICAgICBmcC10eXBlICIvIiBiYXNlNjQtZGlnaXRzCgpmcC10eXBlICAgICAgICAg
ID0gICAgICJzaGExIgogICAgICAgICAgICAgICAgICAgICAgIC8gInNoYTI1NiIKPC9hcnR3b3Jr
Pgo8L2ZpZ3VyZT4KCjx0PkhlcmUgaXMgYW4gZXhhbXBsZSByZXNwb25zZSBoZWFkZXIgZmllbGQg
dXNpbmcgdGhlIHBpbnMgZXh0ZW5zaW9uCihmb2xkZWQgZm9yIGNsYXJpdHkpOjwvdD4KCjxmaWd1
cmUgYW5jaG9yPSJwaW5zLWV4YW1wbGUiPgo8YXJ0d29yaz4KU3RyaWN0LVRyYW5zcG9ydC1TZWN1
cml0eTogbWF4LWFnZT01MDA7IGluY2x1ZGVTdWJEb21haW5zOwogICAgcGlucz1zaGExLzRuOTcy
SGZWMzU0S1A1NjB5dzR1cWUvYmFYYz0sCiAgICBzaGExL0l2R2VMc2JxelB4ZEkwYjB3dWoyeFZU
ZFhnYz0KPC9hcnR3b3JrPgo8L2ZpZ3VyZT4KCjx0PkhlcmUgaXMgYW4gZXhhbXBsZSByZXNwb25z
ZSBoZWFkZXIgZmllbGQgdXNpbmcgYm90aCB0aGUgcGlucyBhbmQKdGhlIGJyZWFrdiBleHRlbnNp
b25zIChmb2xkZWQgZm9yIGNsYXJpdHkpOjwvdD4KCjxmaWd1cmUgYW5jaG9yPSJicmVha3YtZXhh
bXBsZSI+CjxhcnR3b3JrPgpTdHJpY3QtVHJhbnNwb3J0LVNlY3VyaXR5OiBtYXgtYWdlPTUwMDsg
aW5jbHVkZVN1YkRvbWFpbnM7CiAgICBwaW5zPXNoYTEvNG45NzJIZlYzNTRLUDU2MHl3NHVxZS9i
YVhjPSwKICAgIHNoYTEvSXZHZUxzYnF6UHhkSTBiMHd1ajJ4VlRkWGdjPTsKICAgIGJyZWFrdj1z
aGExL2pVUUVYSDdRMkx5K1huL3lGV0p4QUhUM2ZEYz0KPC9hcnR3b3JrPgo8L2ZpZ3VyZT4KCjx0
PlRoZSBmaW5nZXJwcmludCBpcyB0aGUgU0hBLTEgKG9yIFNIQS0yNTYpIGhhc2ggb2YgdGhlIHJh
dwpTdWJqZWN0UHVibGljS2V5SW5mbyBmaWVsZCBvZiB0aGUgY2VydGlmaWNhdGUsIGVuY29kZWQg
aW4gYmFzZS02NCBmb3IKYnJldml0eS4gV2UgcGluIHB1YmxpYyBrZXlzLCByYXRoZXIgdGhhbiBl
bnRpcmUgY2VydGlmaWNhdGVzLCB0bwplbmFibGUgb3BlcmF0b3JzIHRvIGdlbmVyYXRlIG5ldyBj
ZXJ0aWZpY2F0ZXMgY29udGFpbmluZyBvbGQgcHVibGljCmtleXMgKHNlZSA8eHJlZiB0YXJnZXQ9
IndoeS1maW5nZXJwcmludC1rZXkiIC8+KS4gKEFsdGhvdWdoIGhvc3QKb3BlcmF0b3JzIG1heSBk
byB0aGlzLCBjZXJ0aWZpY2F0aW9uIGF1dGhvcml0aWVzIGFscmVhZHkKZG8uIEFkZGl0aW9uYWxs
eSwgd2hlbiBVQXMgY2hlY2sgY2VydGlmaWNhdGUgY2hhaW5zLCB0aGV5IGRvIHNvIGJ5CmNoZWNr
aW5nIHRoYXQgZWFjaCBjZXJ0aWZpY2F0ZSBpcyBzaWduZWQgYnkgaXRzIHBhcmVudCdzIHB1Ymxp
YyBrZXksCm1ha2luZyB0aGUgcHVibGljIGtleSDigJQgbm90IHRoZSBjZXJ0aWZpY2F0ZSDigJQg
dGhlIGVzc2VudGlhbAppZGVudGlmaWVyLik8L3Q+Cgo8dD5TZWUgPHhyZWYgdGFyZ2V0PSJmaW5n
ZXJwcmludC1nZW5lcmF0aW9uIiAvPiBmb3IgYW4gZXhhbXBsZSBwcm9ncmFtCnRoYXQgZ2VuZXJh
dGVzIHB1YmxpYyBrZXkgZmluZ2VycHJpbnRzIGZyb20gU3ViamVjdFB1YmxpY0tleUluZm8KZmll
bGRzIGluIGNlcnRpZmljYXRlcy48L3Q+Cgo8dD5UaGUgYnJlYWt2IGRpcmVjdGl2ZSBjb21tdW5p
Y2F0ZXMgdG8gVUFzIGEgcGluIGJyZWFrIHZlcmlmaWVyLCBhbmQKdGhlIGJyZWFrYyBkaXJlY3Rp
dmUgY29tbXVuaWNhdGVzIHRoZSBwaW4gYnJlYWsgY29kZS4gSG9zdHMgU0hPVUxECmdlbmVyYXRl
IHBpbiBicmVhayBjb2RlcyBhbmQgdmVyaWZpZXJzLCBhbmQgd2hlbiBwcmVzZW50IFVBcyBNVVNU
IG5vdGUKcGluIGJyZWFrIHZlcmlmaWVycyBhbmQgaG9ub3IgcGluIGJyZWFrIGNvZGVzLiBTZWUK
PHhyZWYgdGFyZ2V0PSJ1bi1waW5uaW5nIiAvPiBmb3IgYSBkaXNjdXNzaW9uIG9mIHZlcmlmaWVy
cyBhbmQKY29kZXMuPC90PgoKPHNlY3Rpb24gYW5jaG9yPSJub3RpbmctdmFsaWRhdGluZyIgdGl0
bGU9Ik5vdGluZyBhbmQgVmFsaWRhdGluZyBQaW5zIj4KCjx0PlVwb24gcmVjZWlwdCBvZiB0aGlz
IGhlYWRlciBmaWVsZCwgdGhlIFVBIHdpbGwgbm90ZSB0aGUgSFNUUyBIb3N0CmFzIGEgS25vd24g
UGlubmVkIEhTVFMgSG9zdC4gV2hlbiBjb25uZWN0aW5nIHRvIGEgS25vd24gUGlubmVkIEhTVFMK
SG9zdCwgdGhlIFVBIHdpbGwgY29tcGFyZSB0aGUgcHVibGljIGtleSBmaW5nZXJwcmludChzKSBp
biB0aGUgSG9zdCdzCmNlcnRpZmljYXRlIGNoYWluIHRvIHRoZSBwaW5uZWQgZmluZ2VycHJpbnRz
LCBhbmQgd2lsbCBmYWlsIGNsb3NlZAp1bmxlc3MgYXQgbGVhc3Qgb25lIHB1YmxpYyBrZXkgaW4g
dGhlIGNoYWluIGhhcyBhIGZpbmdlcnByaW50IG1hdGNoaW5nCm9uZSBvZiB0aGUgcGlubmVkIGZp
bmdlcnByaW50cy4gKEZvbGxvd2luZyB0aGUgSFNUUyBzcGVjaWZpY2F0aW9uLCBUTFMKZXJyb3Jz
IGZvciBIU1RTIGhvc3RzIG11c3QgYmUgaGFyZCwgd2l0aCBubyBjaGFuY2UgZm9yIHRoZSB1c2Vy
IHRvCmNsaWNrIHRocm91Z2ggYW55IHdhcm5pbmdzIG9yIGVycm9ycy4gV2UgdHJlYXQgZmluZ2Vy
cHJpbnQgbWlzbWF0Y2ggaW4KdGhlIHNhbWUgd2F5Lik8L3Q+Cgo8ZmlndXJlIGFuY2hvcj0idmFs
aWRhdGlvbi1leGFtcGxlIj4KPHByZWFtYmxlPgpUaGlzIHBzZXVkb2NvZGUgaWxsdXN0cmF0ZXMg
aG93IFVBcyB2YWxpZGF0ZSB0aGUgY2VydGlmaWNhdGUgY2hhaW5zCnRoZXkgcmVjZWl2ZSBmcm9t
IEtub3duIFBpbm5lZCBIU1RTIEhvc3RzLgo8L3ByZWFtYmxlPgo8YXJ0d29yaz4KZGVmIGNoYWlu
X2lzX3Bpbm5lZF92YWxpZChjaGFpbiwgcGlucyk6CiAgICBmb3IgY2VydGlmaWNhdGUgaW4gY2hh
aW46CiAgICAgICAgZm9yIGZpbmdlcnByaW50IGluIHBpbnM6CiAgICAgICAgICAgIGlmIGNlcnRp
ZmljYXRlLnB1YmxpY19rZXkuZmluZ2VycHJpbnQgPT0gZmluZ2VycHJpbnQ6CiAgICAgICAgICAg
ICAgICByZXR1cm4gVHJ1ZQoKICAgIHJldHVybiBGYWxzZQoKIyAuLi4KaWYgbm90IGNoYWluX2lz
X3Bpbm5lZF92YWxpZChyZXF1ZXN0LnRsc19pbmZvLmNlcnRpZmljYXRlX2NoYWluLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhzdHNfbWV0YWRhdGFbcmVxdWVzdC5ob3N0bmFtZV0ucGlu
cyk6CiAgICByZXF1ZXN0LmZhaWwoKQojIC4uLgo8L2FydHdvcms+CjwvZmlndXJlPgoKPHQ+VGhl
IHBpbiBsaXN0IGFwcGVhcmluZyBpbiBhbiBIU1RTIGhlYWRlciBNVVNUIGhhdmUgYXQgbGVhc3Qg
b25lIHBpbgptYXRjaGluZyBvbmUgb2YgdGhlIHB1YmxpYyBrZXkgZmluZ2VycHJpbnRzIGluIHRo
ZSBjaGFpbiB0aGF0IHdhcwp2YWxpZGF0ZWQgZm9yIHRoZSBIVFRQUyBjb25uZWN0aW9uLiBUaGlz
IGRlZmVuZHMgYWdhaW5zdCBIVFRQIGhlYWRlcgppbmplY3Rpb24gYXR0YWNrcyAoc2VlIDx4cmVm
IHRhcmdldD0iaGVhZGVyLWluamVjdGlvbiIgLz4pLjwvdD4KCjx0PlVBcyBNVVNUIGNhY2hlIHBp
bnMgYW5kIHBpbiBicmVhayB2ZXJpZmllcnMgZm9yIEtub3duIFBpbm5lZCBIU1RTCkhvc3RzLCBh
bmQgTUlHSFQgQVMgV0VMTCBkbyBzbyBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgb3RoZXIgSFNUUwpt
ZXRhZGF0YS4gSWYgdGhlIG1heEFnZSBkaXJlY3RpdmUgaXMgcHJlc2VudCBpbiB0aGUgSFNUUyBy
ZXNwb25zZQpoZWFkZXIsIHRoZSBIU1RTIG1ldGFkYXRhIOKAlCBpbmNsdWRpbmcgZmluZ2VycHJp
bnRzIGluIHRoZSBwaW5zCmRpcmVjdGl2ZSDigJQgZXhwaXJlIGF0IHRoYXQgdGltZS48L3Q+Cgo8
L3NlY3Rpb24+PCEtLSBub3RpbmctdmFsaWRhdGluZyAtLT4KCjxzZWN0aW9uIGFuY2hvcj0iaW50
ZXJhY3Rpb25zLWJ1aWx0LWluIiB0aXRsZT0iSW50ZXJhY3Rpb25zIFdpdGgKQnVpbHQtaW4gSFNU
UyBMaXN0cyI+Cgo8dD5VQXMgTUFZIGNob29zZSB0byBpbXBsZW1lbnQgYnVpbHQtaW4gY2VydGlm
aWNhdGUgcGlucywgYWxvbmdzaWRlCmFueSBidWlsdC1pbiBIU1RTIG9wdC1pbiBsaXN0LiBVQXMg
TVVTVCBhbGxvdyB1c2VycyB0byBvdmVycmlkZSBhCmJ1aWx0LWluIHBpbiBsaXN0LCBpbmNsdWRp
bmcgdHVybmluZyBpdCBvZmYuPC90PgoKPHQ+SG9zdHMgY2FuIHVwZGF0ZSBidWlsdC1pbiBwaW4g
bGlzdHMgYnkgdXNpbmcgdGhpcwpleHRlbnNpb24uIFNpbWlsYXJseSwgVUFzIGNhbiB1cGRhdGUg
dGhlaXIgYnVpbHQtaW4gcGluIGxpc3RzIHdpdGgKc29mdHdhcmUgdXBkYXRlcy4gSW4gZWl0aGVy
IGNhc2UsIFVBcyBNVVNUIHVzZSB0aGUgbmV3ZXN0IGluZm9ybWF0aW9uCuKAlCBidWlsdC1pbiBv
ciBzZXQgdmlhIEhTVFMg4oCUIHdoZW4gdmFsaWRhdGluZyBjZXJ0aWZpY2F0ZSBjaGFpbnMgZm9y
CnRoZSBob3N0LjwvdD4KCjwvc2VjdGlvbj48IS0tIGludGVyYWN0aW9ucy1idWlsdC1pbiAtLT4K
CjxzZWN0aW9uIGFuY2hvcj0idW4tcGlubmluZyIgdGl0bGU9IlVuLXBpbm5pbmciPgoKPHQ+SG9z
dHMgY2FuIGVuYWJsZSBwaW4gcmV2b2NhdGlvbiBmb3IgdGhlaXIgcHJldmlvdXNseS1waW5uZWQg
a2V5CmZpbmdlcnByaW50cyBieSBzZXR0aW5nIHBpbiBicmVhayB2ZXJpZmllcnMgdXNpbmcgdGhl
IGJyZWFrdgpkaXJlY3RpdmUuIFRoZW4sIHdoZW4gaG9zdHMgd2FudCB0byBicmVhayBwaW5zLCB0
aGV5IHNldCB0aGUgcGluIGJyZWFrCmNvZGUgaW4gdGhlaXIgSFNUUyBoZWFkZXJzIHVzaW5nIHRo
ZSBicmVha2MgZGlyZWN0aXZlLiAoVGhpcyBpZGVhIGlzCmR1ZSB0byBQZXJyaW4gaW4gPHhyZWYg
dGFyZ2V0PSJwaW4tYnJlYWstY29kZXMiIC8+Lik8L3Q+Cgo8dD5QaW4gYnJlYWsgY29kZXMgYXJl
IHNob3J0IHJhbmRvbSBzdHJpbmdzLCBrZXB0IHNlY3JldCB1bnRpbCB0aGUKaG9zdCBvcGVyYXRv
ciB3YW50cyB0byBicmVhayB0aGUgcGlucy4gUGluIGJyZWFrIHZlcmlmaWVycyBhcmUgc2ltcGx5
Cmhhc2hlcyBvZiB0aGUgY29kZXMuIEdlbmVyYXRpbmcgY29kZXMgYW5kIHZlcmlmaWVycywgYW5k
IHZlcmlmeWluZwp0aGF0IGNvZGVzIG1hdGNoIGEgcHJldmlvdXNseSBzZXQgdmVyaWZpZXIsIGlz
IHRyaXZpYWwuIFNlZQo8eHJlZiB0YXJnZXQ9InB5dGhvbi12ZXJpZmllcnMiIC8+LjwvdD4KCjxm
aWd1cmUgYW5jaG9yPSJweXRob24tdmVyaWZpZXJzIj4KPGFydHdvcms+CmRlZiBtYWtlX3Bpbl9i
cmVhaygpOgogICAgY29kZSA9IG9zLnVyYW5kb20oMTYpCiAgICB2ZXJpZmllciA9IGhhc2hsaWIu
c2hhMShjb2RlKS5kaWdlc3QoKQogICAgcmV0dXJuIGJhc2U2NC5iNjRlbmNvZGUoY29kZSksIGJh
c2U2NC5iNjRlbmNvZGUodmVyaWZpZXIpCgpkZWYgdmVyaWZ5X2NvZGUoY29kZSwgdmVyaWZpZXIp
OgogICAgYyA9IGJhc2U2NC5iNjRkZWNvZGUoY29kZSkKICAgIHYgPSBoYXNobGliLnNoYTEoYyku
ZGlnZXN0KCkKICAgIHJldHVybiB2ZXJpZmllciA9PSBiYXNlNjQuYjY0ZW5jb2RlKHYpCgoKaWYg
X19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIGltcG9ydCBzeXMKCiAgICBpZiAxID09IGxlbihz
eXMuYXJndik6CiAgICAgICAgcHJpbnQgbWFrZV9waW5fYnJlYWsoKQogICAgZWxpZiAzID09IGxl
bihzeXMuYXJndik6CiAgICAgICAgcHJpbnQgdmVyaWZ5X2NvZGUoc3lzLmFyZ3ZbMV0sIHN5cy5h
cmd2WzJdKQo8L2FydHdvcms+CjwvZmlndXJlPgoKPHQ+SG9zdHMgY2FuIHJlcXVlc3QgdGhhdCBV
QXMgZm9yZ2V0IHBpbm5lZCBmaW5nZXJwcmludHMgYnkgaXNzdWluZyBhCnZhbGlkIEhTVFMgaGVh
ZGVyIGNvbnRhaW5pbmcgdGhlIHBpbiBicmVhayBjb2RlLiBVQXMgTVVTVCBmb3JnZXQgYWxsCnBp
bm5lZCBmaW5nZXJwcmludHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBtYXRjaGluZyBwaW4gYnJlYWsK
dmVyaWZpZXIuIEhvc3Qgb3BlcmF0b3JzIFNIT1VMRCBrZWVwIHRoZSBwaW4gYnJlYWsgY29kZSBz
ZWNyZXQsIGFuZApTSE9VTEQgZ2VuZXJhdGUgY29kZXMgdGhhdCBhcmUgY29tcHV0YXRpb25hbGx5
IGluZmVhc2libGUgdG8gZ3Vlc3MKKHN1Y2ggYXMgYnkgdXNpbmcgdGhlaXIgc3lzdGVtJ3MgY3J5
cHRvZ3JhcGhpYyByYW5kb20gbnVtYmVyCmdlbmVyYXRvcjsgbm90ZSB0aGF0IGEgMTI4LWJpdCBz
ZWN1cml0eSBsZXZlbCBzdWZmaWNlcykuPC90PgoKPC9zZWN0aW9uPjwhLS0gdW4tcGlubmluZyAt
LT4KCjxzZWN0aW9uIGFuY2hvcj0icGlubmluZy1zZWxmLXNpZ25lZCIgdGl0bGU9IlBpbm5pbmcg
U2VsZi1TaWduZWQKTGVhZiBDZXJ0aWZpY2F0ZXMiPgoKPHQ+VG8gdGhlIGV4dGVudCB0aGF0IFVB
cyBhbGxvdyBvciBlbmFibGUgaG9zdHMgdG8gYXV0aGVudGljYXRlCnRoZW1zZWx2ZXMgd2l0aCBz
ZWxmLXNpZ25lZCBlbmQgZW50aXR5IGNlcnRpZmljYXRlcywgdGhleSBNQVkgYWxzbwphbGxvdyBo
b3N0cyB0byBwaW4gdGhlIHB1YmxpYyBrZXlzIGluIHN1Y2ggY2VydGlmaWNhdGVzLiBUaGUgdXNh
YmlsaXR5CmFuZCBzZWN1cml0eSBpbXBsaWNhdGlvbnMgb2YgdGhpcyBwcmFjdGljZSBhcmUgb3V0
c2lkZSB0aGUgc2NvcGUgb2YKdGhpcyBzcGVjaWZpY2F0aW9uLjwvdD4KCjwvc2VjdGlvbj48IS0t
IHBpbm5pbmctc2VsZi1zaWduZWQgLS0+Cgo8L3NlY3Rpb24+PCEtLSBzZXJ2ZXItY2xpZW50LWJl
aGF2aW9yIC0tPgoKPHNlY3Rpb24gYW5jaG9yPSJyaXNrcy1taXRpZ2F0aW9ucyIgdGl0bGU9IlJp
c2tzIG9mIFBpbm5pbmcsIGFuZApNaXRpZ2F0aW9ucyI+Cgo8c2VjdGlvbiBhbmNob3I9ImRlcGxv
eW1lbnQtZ3VpZGFuY2UiIHRpdGxlPSJEZXBsb3ltZW50IEd1aWRhbmNlIj4KCjx0PlRvIHJlY292
ZXIgZnJvbSBkaXNhc3RlcnMgb2YgdmFyaW91cyB0eXBlcywgYXMgZGVzY3JpYmVkIGJlbG93LCB3
ZQpyZWNvbW1lbmQgdGhhdCBIU1RTIEhvc3RzIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzLjwvdD4K
Cjx0PjxsaXN0IHN0eWxlPSJzeW1ib2xzIj4KCjx0PkhhdmUgYSBzYWZldHkgbmV0LiBHZW5lcmF0
ZSBhIGJhY2t1cCBrZXkgcGFpciwgZ2V0IGl0IHNpZ25lZCBieSBhCmRpZmZlcmVudCAocm9vdCBh
bmQvb3IgaW50ZXJtZWRpYXJ5KSBDQSB0aGFuIHlvdXIgbGl2ZSBjZXJ0aWZpY2F0ZShzKSwKYW5k
IHN0b3JlIGl0IHNhZmVseSBvZmZsaW5lLiBTZXQgdGhpcyBiYWNrdXAgcGluIGluIHlvdXIgcGlu
cwpkaXJlY3RpdmUuCjxsaXN0IHN0eWxlPSJzeW1ib2xzIj4KPHQ+SGF2aW5nIGEgYmFja3VwIGNl
cnRpZmljYXRlIHdhcyBhbHdheXMgYSBnb29kIGlkZWEgYW55d2F5LjwvdD4KPC9saXN0Pgo8L3Q+
Cgo8dD5JdCBpcyBtb3N0IGVjb25vbWljYWwgdG8gaGF2ZSB0aGUgYmFja3VwIHBpbiBzaWduZWQg
YnkgYSBjb21wbGV0ZWx5CmRpZmZlcmVudCBzaWduYXR1cmUgY2hhaW4gdGhhbiB0aGUgbGl2ZSBj
ZXJ0aWZpY2F0ZSwgdG8gbWF4aW1pemUKcmVjb3ZlcmFiaWxpdHkgaW4gdGhlIGV2ZW50IG9mIGVp
dGhlciByb290IG9yIGludGVybWVkaWFyeSBzaWduZXIKY29tcHJvbWlzZS48L3Q+Cgo8dD5QZXJp
b2RpY2FsbHkgZXhlcmNpc2UgeW91ciBiYWNrdXAgcGluIHBsYW4g4oCUIGFuIHVudGVzdGVkIGJh
Y2t1cCBpcwpubyBiYWNrdXAgYXQgYWxsLjwvdD4KCjx0PkhhdmUgYSBkaXZlcnNlIGNlcnRpZmlj
YXRlIHBvcnRmb2xpby4gUGluIHRvIGEgZmV3IGRpZmZlcmVudCByb290cwrigJQgb3duZWQgYnkg
ZGlmZmVyZW50IGNvbXBhbmllcyBpZiBwb3NzaWJsZS48L3Q+Cgo8dD5TdGFydCBzbWFsbC4gU2V0
IGEgbWF4QWdlIG9mIG1pbnV0ZXMgb3IgYSBmZXcgaG91cnMuIEdyYWR1YWxseQppbmNyZWFzZSBt
YXhBZ2UgYXMgeW91IGdhaW4gY29uZmlkZW5jZSBpbiB5b3VyIG9wZXJhdGlvbmFsCmNhcGFiaWxp
dHkuPC90PgoKPC9saXN0PjwvdD4KCjwvc2VjdGlvbj48IS0tIGRlcGxveW1lbnQtZ3VpZGFuY2Ug
LS0+Cgo8c2VjdGlvbiBhbmNob3I9ImNvbXByb21pc2UtZGlzYXN0ZXJzIiB0aXRsZT0iRGlzYXN0
ZXJzIFJlbGF0aW5nIHRvCkNvbXByb21pc2VzIG9mIENlcnRpZmljYXRlcyI+Cgo8c2VjdGlvbiBh
bmNob3I9ImxlYWYtY29tcHJvbWlzZSIgdGl0bGU9IlRoZSBwcml2YXRlIGtleSBmb3IgeW91cgpw
aW5uZWQgbGVhZiBpcyBzdG9sZW4iPgoKPHQ+SWYgeW91ciBsZWFmIGNlcnRpZmljYXRlIGlzIGNv
bXByb21pc2VkLCB5b3UgYXJlIGxpa2VseSB0byBoYXZlCmV4cGVyaWVuY2VkIGEgY29tcGxldGUg
aG9zdCBjb21wcm9taXNlLCBpbiB3aGljaCBjYXNlIHlvdXIgcHJvYmxlbXMKYXJlIGdyZWF0ZXIg
dGhhbiBjZXJ0aWZpY2F0ZXMgYW5kIHBpbnMuIFNlZQo8eHJlZiB0YXJnZXQ9InNlcnZlci1jb21w
cm9taXNlIiAvPi48L3Q+Cgo8L3NlY3Rpb24+PCEtLSBsZWFmLWNvbXByb21pc2UgLS0+Cgo8c2Vj
dGlvbiBhbmNob3I9InNpZ25lci1jb21wcm9taXNlIiB0aXRsZT0iWW91ciByb290IG9yIGludGVy
bWVkaWFyeQpDQSBpcyBjb21wcm9taXNlZCI+Cgo8dD5UaGlzIGRpc2FzdGVyIHdpbGwgYWZmZWN0
IG1hbnkgaG9zdHMgKEhTVFMgSG9zdHMgYW5kIG90aGVyKSwgYW5kCndpbGwgbGlrZWx5IHJlcXVp
cmUgYSBjbGllbnQgc29mdHdhcmUgdXBkYXRlIChlLmcuIHRvIHJldm9rZSB0aGUKc2lnbmluZyBD
QSBhbmQvb3IgdGhlIGZhbHNlIGNlcnRpZmljYXRlcyBpdCBpc3N1ZWQpLjwvdD4KCjx0PkNlcnRp
ZmljYXRlcyB0aGF0IGFyZSBpbnZhbGlkYXRlZCBmb3IgYW55IHJlYXNvbiBhbmQgYnkgYW55IG1l
YW5zCmFyZSBlZmZlY3RpdmVseSB1bi1waW5uZWQsIGFsbG93aW5nIGhvc3RzIHRvIGdyYWNlZnVs
bHkgZGVncmFkZSBmcm9tCktub3duIFBpbm5lZCBIU1RTIEhvc3QgdG8gS25vd24gSFNUUyBIb3N0
LjwvdD4KCjx0PklmIHlvdSBoYXZlIGEgYmFja3VwIHBpbiB3aG9zZSBzaWduYXR1cmUgY2hhaW4g
aXMgc3RpbGwgdmFsaWQsCmRlcGxveSBpdC4gSW4gdGhpcyBjYXNlLCB5b3VyIGhvc3QgbmVlZCBu
b3QgZXZlbiBkZWdyYWRlIGZyb20gS25vd24KUGlubmVkIHRvIEtub3duLjwvdD4KCjwvc2VjdGlv
bj48IS0tIHNpZ25lci1jb21wcm9taXNlIC0tPgoKPC9zZWN0aW9uPjwhLS0gY29tcHJvbWlzZS1k
aXNhc3RlcnMgLS0+Cgo8c2VjdGlvbiBhbmNob3I9ImNlcnRpZmljYXRlLW1hbmFnZW1lbnQtZGlz
YXN0ZXJzIiB0aXRsZT0iRGlzYXN0ZXJzClJlbGF0aW5nIHRvIENlcnRpZmljYXRlIE1pc21hbmFn
ZW1lbnQiPgoKPHNlY3Rpb24gYW5jaG9yPSJsZWFmLWV4cGlyYXRpb24iIHRpdGxlPSJZb3VyIGxl
YWYgY2VydGlmaWNhdGUKZXhwaXJlcyI+Cgo8dD5EZXBsb3kgeW91ciBiYWNrdXAgcGluLjwvdD4K
Cjx0Pk5vdGUgdGhhdCB3aGVuIGV2YWx1YXRpbmcgYSBwaW5uZWQgY2VydGlmaWNhdGUsIHRoZSBV
QSBNVVNUIHVuLXBpbgp0aGUgZmluZ2VycHJpbnQgaWYgdGhlIGNlcnRpZmljYXRlIGhhcyBleHBp
cmVkLiBJZiBhIHBpbiBsaXN0IGJlY29tZXMKZW1wdHksIHRoZSBVQSBkb3duZ3JhZGVzIHRoZSBo
b3N0IGZyb20gS25vd24gUGlubmVkIEhTVFMgSG9zdCB0byBLbm93bgpIU1RTIEhvc3QuIFRoZSB1
c3VhbCBIVFRQUyB2YWxpZGF0aW9uIHByb2NlZHVyZSBub3cgYXBwbGllcy48L3Q+Cgo8dD5HZXQg
YW55IENBIHRvIHNpZ24gYSBuZXcgY2VydCB3aXRoIHVwZGF0ZWQgZXhwaXJ5LCBiYXNlZCBvbiB5
b3VyCmV4aXN0aW5nLCB1bmNoYW5nZWQgcHVibGljIGtleS48L3Q+Cgo8dD48bGlzdCBzdHlsZT0i
c3ltYm9scyI+Cjx0PkFuZC9vciwgZGVwbG95IHlvdXIgYmFja3VwIHBpbiBhbmQvb3IgaGF2ZSBh
IENBIHNpZ24gYW4gYWxsLW5ldwprZXkuPC90PgoKPHQ+Q29udGludWUgdG8gc2V0IHBpbnMgaW4g
eW91ciBIU1RTIGhlYWRlciwgYW5kIFVBcyB3aWxsIHVwZ3JhZGUgZnJvbQpLbm93biBIU1RTIEhv
c3QgdG8gS25vd24gUGlubmVkIEhTVFMgSG9zdCB3aGVuIHRoZSBmaW5nZXJwcmludChzKQpyZWZl
cihzKSB0byB2YWxpZCBjZXJ0aWZpY2F0ZShzKSBhZ2Fpbi48L3Q+CjwvbGlzdD48L3Q+Cgo8dD5C
ZXdhcmUgdGhhdCBpZiB5b3UgcGluIHRvIGEgY2VydCB0aGF0IGV4cGlyZXMgcGx1cyBhIG5vbi1l
eHBpcmVkCmNlcnRpZmljYXRlIGZvciB3aGljaCB5b3UgaGF2ZSBsb3N0IHlvdXIga2V5IHBhaXIs
IHlvdSdyZSBpbgp0cm91YmxlLjwvdD4KCjwvc2VjdGlvbj48IS0tIGxlYWYtZXhwaXJhdGlvbiAt
LT4KCjxzZWN0aW9uIGFuY2hvcj0ibGVhZi1sb3NzIiB0aXRsZT0iWW91IGxvc2UgeW91ciBsZWFm
IGNlcnRpZmljYXRlIj4KCjx0PklmIHlvdSBzZXQgYSBiYWNrdXAgcGluLCBkZXBsb3kgaXQuIEFs
dGVybmF0ZWx5LCBpZiB5b3UgcGlubmVkIHRvIGEKcm9vdCBvciBpbnRlcm1lZGlhcnkgc2lnbmVy
LCBnZXQgYSBuZXcgbGVhZiBjZXJ0aWZpY2F0ZSBzaWduZWQgYnkgb25lCm9mIHRob3NlIHNpZ25l
cnMuPC90PgoKPHQ+WW91IFNIT1VMRCBhdHRlbXB0IHRvIGdldCB0aGUgY2VydGlmaWNhdGUgcmV2
b2tlZCBieSB3aGF0ZXZlciBtZWFucwphdmFpbGFibGUgKGV4dGFudCByZXZvY2F0aW9uIG1lY2hh
bmlzbXMgbGlrZSBDUkwgb3IgT0NTUCwgYmxhY2tsaXN0aW5nCmluIHRoZSBVQSwgb3IgZnV0dXJl
IHJldm9jYXRpb24gbWVjaGFuaXNtcykuCjxsaXN0IHN0eWxlPSJzeW1ib2xzIj4KPHQ+V2Uga25v
dyB0aGF0IGV4dGFudCByZXZvY2F0aW9uIG1lY2hhbmlzbXMgYXJlIHVucmVsaWFibGUuIERvIG5v
dApkZXBlbmQgb24gdGhlbS48L3Q+CjwvbGlzdD4KPC90PgoKPC9zZWN0aW9uPjwhLS0gbGVhZi1s
b3NzIC0tPgoKPHNlY3Rpb24gYW5jaG9yPSJjYS1leHRvcnRpb24iIHRpdGxlPSJZb3VyIENBIGlz
IGV4dG9ydGluZyB5b3UKYXBwcm9hY2hpbmcgcmVuZXdhbC9leHBpcnkgdGltZS4iPgoKPHQ+SWYg
eW91ciBiYWNrdXAgcGluIGNoYWlucyB0byBhIGRpZmZlcmVudCBzaWduZXIsIGRlcGxveSBpdC4g
KFRoZW4KZ2V0IGEgbmV3IGJhY2t1cCBwaW4uKTwvdD4KCjx0PlRoZSB0aW1lIHJ1bm5pbmcgdXAg
dG8gcmVuZXdhbCBjYW4gYmUgdXNlZCB0byBzZXJ2ZSBhZGRpdGlvbmFsIEhTVFMKcHVibGljIGtl
eSBoYXNoZXMsIHBpbm5pbmcgdG8gbmV3IHJvb3QgQ0FzLjwvdD4KCjx0PjxsaXN0IHN0eWxlPSJz
eW1ib2xzIj4KPHQ+SG9zdHMgY2FuIGFsc28gZGlzYWJsZSBwaW5uaW5nIGFsdG9nZXRoZXIgYXMg
ZGVzY3JpYmVkIGFib3ZlLjwvdD4KPC9saXN0PjwvdD4KCjx0PklmIHlvdSBhcmUgcGlubmVkIHRv
IGxlYXZlcyBvciB5b3VyIG93biBpbnRlcm1lZGlhcnksIHlvdSBjYW4Kc2ltcGx5IGdldCBhIGRp
ZmZlcmVudCByb290IENBIHRvIHNpZ24geW91ciBleGlzdGluZyBwdWJsaWMga2V5LjwvdD4KCjx0
PklmIHlvdSBmYWlsIHRvIGdldCBuZXcgY2VydHMgaW4gdGltZSwgYW5kIHlvdSBhcmUgcGlubmVk
IG9ubHkgdG8KdGhlIG9uZSByb290IENBLCB0aGUgc29sdXRpb24gaXMgc2ltcGxlOyBzZWUgdGhl
IHNlY3Rpb24gb24gbGVhZgpjZXJ0aWZpY2F0ZSBleHBpcnkgYWJvdmUuPC90PgoKPC9zZWN0aW9u
PjwhLS0gY2EtZXh0b3J0aW9uIC0tPgoKPC9zZWN0aW9uPjwhLS0gY2VydGlmaWNhdGUtbWFuYWdl
bWVudC1kaXNhc3RlcnMgLS0+Cgo8c2VjdGlvbiBhbmNob3I9InZ1bG5lcmFiaWxpdHktZGlzYXN0
ZXJzIiB0aXRsZT0iRGlzYXN0ZXJzIFJlbGF0aW5nIHRvClZ1bG5lcmFiaWxpdGllcyBpbiB0aGUg
S25vd24gSFNUUyBIb3N0Ij4KCjxzZWN0aW9uIGFuY2hvcj0iaGVhZGVyLWluamVjdGlvbiIgdGl0
bGU9IllvdXIgaG9zdCBpcyB2dWxuZXJhYmxlIHRvCkhUVFAgaGVhZGVyIGluamVjdGlvbiI+Cgo8
dD5Ob3RlIHRoYXQgaGVhZGVyIGluamVjdGlvbiB2dWxuZXJhYmlsaXRpZXMgYXJlIGluIGdlbmVy
YWwgbW9yZQpzZXZlcmUgdGhhbiBtZXJlbHkgZGlzYWJsaW5nIHBpbm5pbmcgZm9yIGluZGl2aWR1
YWwgdXNlcnMuPC90PgoKPHQ+VGhlIGF0dGFja2VyIGNvdWxkIHNldCBhZGRpdGlvbmFsIHBpbnMg
Zm9yIGNlcnRpZmljYXRlcyBoZQpjb250cm9scywgb3IgcGluIGJyZWFrIHZlcmlmaWVycyBmb3Ig
Y29kZXMgaGUgY29udHJvbHMsIGFsbG93aW5nIGhpbQp0byB1bmRldGVjdGFibHkgTUlUTSBjbGll
bnRzLiBXaGVuIG9yIGlmIHRoZSBjbGllbnQgaXMgb3V0c2lkZSB0aGUKc2NvcGUgb2YgdGhlIGF0
dGFja2VyJ3MgTUlUTSBhdHRhY2ssIHRoZSByZXN1bHQgaXMgRG9TLjwvdD4KCjx0PlRoZSBhdHRh
Y2tlciBjb3VsZCBkaXNhYmxlIEhTVFMgYW5kIHBpbnMuPC90PgoKPC9zZWN0aW9uPjwhLS0gaGVh
ZGVyLWluamVjdGlvbiAtLT4KCjxzZWN0aW9uIGFuY2hvcj0ic2VydmVyLWNvbXByb21pc2UiIHRp
dGxlPSJZb3VyIGhvc3Qgc3VmZmVycyBmdWxsCnNlcnZlci1zaWRlIGNvbXByb21pc2UiPgoKPHQ+
QWZ0ZXIgc2V0dGluZyB1cCBhIG5ldyBob3N0LCBkZXBsb3kgeW91ciBiYWNrdXAgcGluLiBBbHRl
cm5hdGVseSwKaWYgeW91IHBpbm5lZCB0byBhIHJvb3Qgb3IgaW50ZXJtZWRpYXJ5IHNpZ25lciwg
Z2V0IGEgbmV3IGxlYWYKY2VydGlmaWNhdGUgc2lnbmVkIGJ5IG9uZSBvZiB0aG9zZSBzaWduZXJz
LjwvdD4KCjx0PllvdSBTSE9VTEQgYXR0ZW1wdCB0byBnZXQgdGhlIGNlcnRpZmljYXRlIGNvbnRh
aW5pbmcgdGhlCmNvbXByb21pc2VkIHByaXZhdGUga2V5IHJldm9rZWQgYnkgd2hhdGV2ZXIgbWVh
bnMgYXZhaWxhYmxlIChleHRhbnQKcmV2b2NhdGlvbiBtZWNoYW5pc21zIGxpa2UgQ1JMIG9yIE9D
U1AsIGJsYWNrbGlzdGluZyBpbiB0aGUgVUEsIG9yCmZ1dHVyZSByZXZvY2F0aW9uIG1lY2hhbmlz
bXMpLgo8bGlzdCBzdHlsZT0ic3ltYm9scyI+Cjx0PldlIGtub3cgdGhhdCBleHRhbnQgcmV2b2Nh
dGlvbiBtZWNoYW5pc21zIGFyZSB1bnJlbGlhYmxlLiBEbyBub3QKZGVwZW5kIG9uIHRoZW0uPC90
Pgo8L2xpc3Q+CjwvdD4KCjwvc2VjdGlvbj48IS0tIHNlcnZlci1jb21wcm9taXNlIC0tPgoKPC9z
ZWN0aW9uPjwhLS0gdnVsbmVyYWJpbGl0eS1kaXNhc3RlcnMgLS0+Cgo8c2VjdGlvbiBhbmNob3I9
InVzYWJpbGl0eSIgdGl0bGU9IlVzYWJpbGl0eSBDb25zaWRlcmF0aW9ucyI+Cgo8dD5XaGVuIHBp
bm5pbmcgd29ya3MgdG8gZGV0ZWN0IGltcG9zdG9yIEtub3duIFBpbm5lZCBIU1RTIEhvc3RzLAp1
c2VycyB3aWxsIGV4cGVyaWVuY2UgZGVuaWFsIG9mIHNlcnZpY2UuIFVBcyBTSE9VTEQgZXhwbGFp
biB0aGUgcmVhc29uCndoeS4gSWYgaXQgaGFwcGVucyB0aGF0IHRydWUgcG9zaXRpdmVzIChhY3R1
YWwgYXR0YWNrcykgb3V0bnVtYmVyCmZhbHNlIHBvc2l0aXZlcyAoaG9zdHMgYnJpY2tpbmcgdGhl
bXNlbHZlcyBieSBhY2NpZGVudCksIHRoZSBmZWF0dXJlCndpbGwgZ2FpbiBhIHBvc2l0aXZlIHJl
cHV0YXRpb24uIE5vdGUgdGhhdCBwaW5uaW5nIGhhcyBzdGFydGVkIGxpZmUKd2l0aCBhIGdvb2Qg
cmVwdXRhdGlvbiBiZWNhdXNlIGl0IHByb3Zva2VkIHRoZSBkaXNjb3Zlcnkgb2YgdGhlCkRpZ2lO
b3RhciBDQSBjb21wcm9taXNlLiAoV2hlbiBEaWdpTm90YXIgc2lnbmVkIGEgY2VydGlmaWNhdGUg
Zm9yCiouZ29vZ2xlLmNvbSBpbiBBdWd1c3QgMjAxMSwgQ2hyb21lIHVzZXJzIGRpc2NvdmVyZWQg
dGhlIGF0dGFjayBkdWUgdG8KdGhlIHByZS1sb2FkZWQgcGlucyBmb3IgR29vZ2xlIGRvbWFpbnMu
KTwvdD4KCjx0PldlIGJlbGlldmUgdGhhdCwgaW4gZ2VuZXJhbCwgRG9TIGlzIGEgYmV0dGVyIGZh
aWx1cmUgbW9kZSB0aGFuIHVzZXIKYWNjb3VudC9zZXNzaW9uIGNvbXByb21pc2Ugb3Igb3RoZXIg
cmVzdWx0IG9mIFRMUyBjb21wcm9taXNlLjwvdD4KCjx0PlVBcyBNVVNUIGhhdmUgYSB3YXkgZm9y
IHVzZXJzIHRvIGNsZWFyIGN1cnJlbnQgcGlucyB0aGF0IHdlcmUgc2V0CmJ5IEhTVFMuIFVBcyBT
SE9VTEQgaGF2ZSBhIHdheSBmb3IgdXNlcnMgdG8gcXVlcnkgdGhlIGN1cnJlbnQgc3RhdGUgb2YK
S25vd24gKFBpbm5lZCkgSFNUUyBIb3N0cy48L3Q+Cgo8L3NlY3Rpb24+PCEtLSB1c2FiaWxpdHkg
LS0+Cgo8c2VjdGlvbiBhbmNob3I9ImVjb25vbWljIiB0aXRsZT0iRWNvbm9taWMgQ29uc2lkZXJh
dGlvbnMiPgoKPHQ+SWYgcGlubmluZyBiZWNvbWVzIGNvbW1vbiwgaG9zdCBvcGVyYXRvcnMgbWln
aHQgYmVjb21lIGluY2VudGl2aXplZAp0byBjaG9vc2UgQ0FzIHRoYXQgZ2V0IGNvbXByb21pc2Vk
IGxlc3Mgb2Z0ZW4sIG9yIHJlc3BvbmQgYmV0dGVyIHRvCmNvbXByb21pc2UuIFRoaXMgd2lsbCBy
ZXF1aXJlIGluZm9ybWF0aW9uIHRvIGZsb3cgaW50byB0aGUgbWFya2V0LCBhbmQKZm9yIHBlb3Bs
ZSB0byBpbnRlcnByZXQgbm8gbmV3cyBwb3N0LWNvbXByb21pc2UgYXMgYmFkIG5ld3MuIFBpbm5p
bmcKaXRzZWxmIHdpbGwgcHJvdmlkZSBzb21lIG9mIHRoYXQgaW5mb3JtYXRpb24sIGFzIHdpbGwg
c291cmNlcyBsaWtlIFVBCnZlbmRvciBjb21tdW5pY2F0aW9ucywgdGhlIEVGRiBTU0wgT2JzZXJ2
YXRvcnksIHRoZSBRdWFseXMgU1NMIHN1cnZleSwKZXRjLjwvdD4KCjx0PlRoZSBkaXNhc3RlciBy
ZWNvdmVyeSBwbGFucyBkZXNjcmliZWQgYWJvdmUgYWxsIGluY3VyIG5ldyBjb3N0cyBmb3IKaG9z
dCBvcGVyYXRvcnMsIGFuZCBpbmNyZWFzZSB0aGUgc2l6ZSBvZiB0aGUgY2VydGlmaWNhdGUKbWFy
a2V0LiBBcmd1YWJseSwgd2VsbC1ydW4gaG9zdHMgaGFkIGFscmVhZHkgYWJzb3JiZWQgdGhlc2Ug
Y29zdHMKYmVjYXVzZSAoZS5nLikgYmFja3VwIGNlcnRpZmljYXRlcyBmcm9tIGRpZmZlcmVudCBD
QXMgd2VyZSBuZWNlc3NhcnkKZGlzYXN0ZXIgcmVjb3ZlcnkgbWVjaGFuaXNtcyBldmVuIGJlZm9y
ZSBjZXJ0aWZpY2F0ZSBwaW5uaW5nLiBTbWFsbApzaXRlcyDigJQgd2hpY2ggYWx0aG91Z2ggc21h
bGwgbWlnaHQgc3RpbGwgbmVlZCB0byBwcm92aWRlIGdvb2QKc2VjdXJpdHkg4oCUIG1heSBub3Qg
YmUgYWJsZSB0byBhZmZvcmQgdGhlIGRpc2FzdGVyIHJlY292ZXJ5IG1lY2hhbmlzbXMKd2UgcmVj
b21tZW5kLiAoVGhlIGNvc3Qgb2YgdGhlIGJhY2t1cCBjZXJ0aWZpY2F0ZSBpcyBub3QgdGhlIGlz
c3VlOyBpdAppcyBtb3JlIHRoZSBvcGVyYXRpb25hbCBjb3N0cyBpbiBzYWZlbHkgc3RvcmluZyB0
aGUgYmFja3VwIGFuZCB0ZXN0aW5nCnRoYXQgaXQgd29ya3MuKSBUaHVzLCBsb3ctcmlzayBwaW5u
aW5nIG1heSBiZSBhdmFpbGFibGUgb25seSB0byBsYXJnZQpzaXRlczsgc21hbGwgc2l0ZXMgbWF5
IGhhdmUgdG8gY2hvb3NlIG5vIHBpbm5pbmcgb3IgcG90ZW50aWFsbHkKYnJpY2tpbmcgdGhlaXIg
aG9zdCAodXAgdG8gdGhlIG1heEFnZSB3aW5kb3cpLiBUaGlzIGlzIG5vdCB3b3JzZSB0aGFuCnRo
ZSBzdGF0dXMgcXVvLjwvdD4KCjwvc2VjdGlvbj48IS0tIGVjb25vbWljIC0tPgoKPHNlY3Rpb24g
YW5jaG9yPSJpZGVhcyIgdGl0bGU9IklkZWFzIj4KCjxzZWN0aW9uIGFuY2hvcj0icmVxdWlyaW5n
LWJhY2t1cCIgdGl0bGU9IlJlcXVpcmluZyBCYWNrdXAgUGlucyI+Cgo8dD5CZWNhdXNlIGJyaWNr
aW5nIHJpc2sgbWl0aWdhdGlvbiByZXF1aXJlcyBhIGJhY2t1cCBwaW4sIFVBcyBjb3VsZApyZXF1
aXJlIHRoYXQgdGhlIHBpbnMgZGlyZWN0aXZlIGhhdmUgYXQgbGVhc3QgdHdvIGZpbmdlcnByaW50
cywgYXQKbGVhc3Qgb25lIG9mIHdoaWNoIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUgcHVibGlj
IGtleXMgaW4gYW55IG9mIHRoZQpjZXJ0aWZpY2F0ZXMgaW4gdGhlIGNoYWluLiAoVGhpcyBpZGVh
IGR1ZSB0byBUb20gU2VwZXouKTwvdD4KCjwvc2VjdGlvbj48IS0tIHJlcXVpcmluZy1iYWNrdXAg
LS0+Cgo8c2VjdGlvbiBhbmNob3I9InByZXBvcHVsYXRpbmciIHRpdGxlPSJQcmVwb3B1bGF0aW5n
IFBpbiBMaXN0cyI+Cgo8dD5IU1RTLWJhc2VkIGNlcnRpZmljYXRlIHBpbm5pbmcsIHVubGlrZSBi
dWlsdC1pbiBwaW5uaW5nLCBzdWZmZXJzCmZyb20gdGhlIGJvb3RzdHJhcCBwcm9ibGVtLiBUbyB3
b3JrIGFyb3VuZCB0aGlzLCB3ZSBjb3VsZCBwcmUtcG9wdWxhdGUKYSBidWlsdC1pbiBwaW4gbGlz
dCB3aXRoIHB1YmxpYyBrZXlzIGFzIG9ic2VydmVkIGluIHRoZSB3aWxkIGJ5IG9uZSBvcgptb3Jl
IGdsb2JhbCBvYnNlcnZlcnMsIHN1Y2ggYXMgR29vZ2xlYm90LCB0aGUgRUZGIFNTTCBPYnNlcnZh
dG9yeSwKQ29udmVyZ2VuY2Ugbm90YXJpZXMsIGFuZCBzbyBvbi48L3Q+Cgo8dD5PbmUgcHJvYmxl
bSB3aXRoIHRoaXMgYXBwcm9hY2ggaXMgdGhhdCBpdCBkb2VzIG5vdCBpbnZvbHZlIGhvc3QKb3Bl
cmF0b3JzLiBJdCBpcyBiZXN0IHRvIGdldCBvcGVyYXRvciBjb25zZW50IGJlZm9yZSBzaWduaW5n
IHRoZW0gdXAKZm9yIGEgcG90ZW50aWFsbHkgcmlza3kgbmV3IHByb3RvY29sIHN1Y2ggYXMgdGhp
cy4gVGhlcmVmb3JlIHdlIGxlYXZlCnRoaXMgaWRlYSBmb3Igd29yayAoaW5jbHVkaW5nIHRoaXJk
LXBhcnR5IFVBIGV4dGVuc2lvbnMpLjwvdD4KCjwvc2VjdGlvbj48IS0tIHByZXBvcHVsYXRpbmcg
LS0+Cgo8c2VjdGlvbiBhbmNob3I9InRvb2xpbmciIHRpdGxlPSJUb29scyB0byBBc3Npc3QgQ3Jl
YXRpb24gb2YgSGVhZGVyIj4KCjx0Pkl0IHdvdWxkIGJlIGdvb2QgdG8gcHJvdmlkZSB0b29scyB0
aGF0IHJlYWQgWC41MDkgY2VydGlmaWNhdGUKY2hhaW5zIGFuZCBnZW5lcmF0ZSBleGFtcGxlIEhT
VFMgaGVhZGVycyB0aGF0IG9wZXJhdG9ycyBjYW4gZWFzaWx5IGFkZAp0byB0aGVpciB3ZWJzIGVy
dmVyIGNvbmZpZ3VyYXRpb25zLjwvdD4KCjwvc2VjdGlvbj48IS0tIHRvb2xpbmcgLS0+Cgo8c2Vj
dGlvbiBhbmNob3I9InBpbm5pbmctc3VicmVzb3VyY2VzIiB0aXRsZT0iUGlubmluZyBTdWJyZXNv
dXJjZXMiPgoKPHQ+TWFueSBob3N0cyBoYXZlIHBhZ2VzIHRoYXQgbG9hZCBzdWJyZXNvdXJjZXMg
ZnJvbSBkb21haW5zIG5vdCB1bmRlcgp0aGUgY29udHJvbCwgb3IgdW5kZXIgb25seSBwYXJ0aWFs
IGNvbnRyb2wsIG9mIHRoZSBtYWluIGhvc3QncwpvcGVyYXRvcnMuICBGb3IgZXhhbXBsZSwgcG9w
dWxhciBob3N0cyBvZnRlbiB1c2UgQ0ROcywgYW5kIENETgpjdXN0b21lcnMgbWF5IGhhdmUgb25s
eSBsaW1pdGVkLCBpZiBhbnksIGFiaWxpdHkgdG8gaW5mbHVlbmNlIHRoZQpjb25maWd1cmF0aW9u
IG9mIHRoZSBDRE4ncyBzZXJ2ZXJzLiAoVGhpcyBsb25nLXN0YW5kaW5nIHByb2JsZW0gaXMKaW5k
ZXBlbmRlbnQgb2YgY2VydGlmaWNhdGUgcGlubmluZy4pPC90PgoKPHQ+VG8gYSBsaW1pdGVkIGV4
dGVudCwgdGhlIGluY2x1ZGVTdWJEb21haW5zIEhTVFMgZGlyZWN0aXZlIGNhbgphZGRyZXNzIHRo
aXM6IGlmIHRoZSBDRE4gaG9zdCBoYXMgYSBuYW1lIHRoYXQgaXMgYSBzdWJkb21haW4gb2YgdGhl
Cm1haW4gaG9zdCAoZS5nLiBhc3NldHMtZnJvbS1jZG4uZXhhbXBsZS5jb20gcG9pbnRzIHRvIENE
Ti1vd25lZApzZXJ2ZXJzKSwgYW5kIGlmIHRoZSBtYWluIGhvc3QncyBvcGVyYXRvcnMgY2FuIGd1
YXJhbnRlZWFibHkga2VlcAp1cC10by1kYXRlIHdpdGggdGhlIENETidzIHNlcnZlciBjZXJ0aWZp
Y2F0ZSBmaW5nZXJwcmludHMg4oCUIHBlcmhhcHMKYXMgcGFydCBvZiBleGFtcGxlLmNvbSdzIGNv
bnRyYWN0IHdpdGggdGhlIENETiDigJQgdGhlbiB0aGUgcHJvYmxlbSBtYXkKYmUgc29sdmVkLjwv
dD4KCjx0PkNETnMgTUFZLCBhbmQgU0hPVUxELCBhbHNvIHVzZSBjZXJ0aWZpY2F0ZSBwaW5uaW5n
IGluZGVwZW5kZW50bHkgb2YKYW55IG9mIHRoZWlyIGN1c3RvbWVycy48L3Q+Cgo8dD5BbHRob3Vn
aCBvbmUgY2FuIGltYWdpbmUgYW4gZXh0ZW5zaW9uIHRvIHRoaXMgc3BlY2lmaWNhdGlvbgphbGxv
d2luZyB0aGUgbWFpbiByZXNvdXJjZSB0byBzZXQgcGlucyBmb3Igc3VicmVzb3VyY2VzIGluIG90
aGVyCmRvbWFpbnMsIGl0IGlzIGNvbXBsZXggYW5kIGZyYWdpbGUgYm90aCBmcm9tIHRlY2huaWNh
bCBhbmQgYnVzaW5lc3MKcGVyc3BlY3RpdmVzLiBUaGUgVUEgd291bGQgaGF2ZSB0byBhY2NlcHQg
dGhvc2UgcGlucyBmb3IgdGhlCnN1YnJlc291cmNlIGRvbWFpbnMgT05MWSB3aGVuIGxvYWRpbmcg
cmVzb3VyY2VzIGZyb20gdGhlIHN1YmRvbWFpbnMgYXMKcGFydCBvZiBhIHBhZ2UgbG9hZCBvZiB0
aGUgbWFpbiBob3N0LiBUaGUgaW5kZXBlbmRlbmNlIG9mIHRoZSB0d28KZG9tYWlucycgb3BlcmF0
aW9ucyB0ZWFtcyB3b3VsZCBzdGlsbCBwb3NlIHN5bmNocm9uaXphdGlvbiBwcm9ibGVtcywKYW5k
IHBvdGVudGlhbGx5IGluY3JlYXNlIHRoZSBicmlja2luZyByaXNrLjwvdD4KCjx0PlRoZXJlZm9y
ZSwgZXhjZXB0IGluIHNpbXBsZSBjYXNlcywgdGhpcyBkb2N1bWVudCBsZWF2ZXMgdGhlCmNyb3Nz
LWRvbWFpbiBzdWJyZXNvdXJjZSBwcm9ibGVtIHRvIGZ1dHVyZSB3b3JrLiBPcGVyYXRpb25hbApl
eHBlcmllbmNlIHdpdGggSFNUUy1iYXNlZCBjZXJ0aWZpY2F0ZSBwaW5uaW5nIHNob3VsZCBndWlk
ZSB0aGUKZGV2ZWxvcG1lbnQgb2YgYSBwbGFuIHRvIGhhbmRsZSB0aGUgcHJvYmxlbS48L3Q+Cgo8
L3NlY3Rpb24+PCEtLSBwaW5uaW5nLXN1YnJlc291cmNlcyAtLT4KCjxzZWN0aW9uIGFuY2hvcj0i
cGlubmluZy13aXRob3V0LWh0dHBzIiB0aXRsZT0iUGlubmluZyBXaXRob3V0ClJlcXVpcmluZyBI
VFRQUyI+Cgo8dD5Tb21lIGhvc3Qgb3BlcmF0b3JzIHdvdWxkIGxpa2UgdG8gdGFrZSBhZHZhbnRh
Z2Ugb2YgY2VydGlmaWNhdGUKcGlubmluZyB3aXRob3V0IHJlcXVpcmluZyBIVFRQUywgYnV0IGhh
dmluZyBjbGllbnRzIHJlcXVpcmUgcGlucyBpbgp0aGUgZXZlbnQgdGhhdCB0aGV5IGRvIGNvbm5l
Y3QgdG8gdGhlIGhvc3Qgd2l0aCBIVFRQUy4gQXMgc3BlY2lmaWVkCmFib3ZlLCB0aGUgY3VycmVu
dCBIU1RTLWJhc2VkIG1lY2hhbmlzbSBkb2VzIG5vdCBhbGxvdyBmb3IgdGhpczoKY2xpZW50cyB0
aGF0IHJlY2VpdmUgdGhlIHBpbnMgZGlyZWN0aXZlIHZpYSBIU1RTIHdpbGwgYWxzbyB0aGVyZWZv
cmUKcmVxdWlyZSBIVFRQUyDigJQgdGhhdCBpcyB0aGUgcHVycG9zZSBvZiBIU1RTIGFmdGVyIGFs
bC4gVG8gaGF2ZSBhbgphZGRpdGlvbmFsIGRpcmVjdGl2ZSwgZS5nLiBtb2RlPW9wdGlvbmFsLCB3
b3VsZCBub3Qgd29yayBiZWNhdXNlIG9sZGVyCmNsaWVudHMgdGhhdCBzdXBwb3J0IEhTVFMgYnV0
IG5vdCB0aGUgbW9kZSBleHRlbnNpb24gd291bGQgZWZmZWN0aXZlbHkKcmVxdWlyZSBIVFRQUy48
L3Q+Cgo8dD5BbHRlcm5hdGl2ZXMgaW5jbHVkZSAoYSkgcHV0dGluZyB0aGUgcGlucyBkaXJlY3Rp
dmUgaW4gYSBuZXcgaGVhZGVyCmluc3RlYWQgb2YgZXh0ZW5kaW5nIEhTVFM7IGFuZCAoYikgc29t
ZSBraW5kIG9mIGhhY2sgbGlrZSBzZXR0aW5nCm1heEFnZT0wIGFuZCBoYXZpbmcgYW4gYWRkaXRp
b25hbCBkaXJlY3RpdmUgdG8ga2VlcCB0aGUgcGlucyBhbGl2ZQooZS5nLiAgcGluTWF4QWdlKS4g
VGhlc2UgYWx0ZXJuYXRpdmVzIHNlZW0gdWdseSB0byB1cyBhbmQgd2Ugd2VsY29tZQpzdWdnZXN0
aW9ucyBmb3IgYSBiZXR0ZXIgd2F5IHRvIHN1cHBvcnQgdGhpcyBkZXBsb3ltZW50IHNjZW5hcmlv
LjwvdD4KCjwvc2VjdGlvbj48IS0tIHBpbm5pbmctd2l0aG91dC1odHRwcyAtLT4KCjwvc2VjdGlv
bj48IS0tIGlkZWFzIC0tPgoKPC9zZWN0aW9uPjwhLS0gPyEgLS0+Cgo8c2VjdGlvbiBhbmNob3I9
ImZpbmdlcnByaW50LWdlbmVyYXRpb24iIHRpdGxlPSJGaW5nZXJwcmludCBHZW5lcmF0aW9uIj4K
Cjx0PlRoaXMgR28gcHJvZ3JhbSBnZW5lcmF0ZXMgcHVibGljIGtleSBmaW5nZXJwcmludHMsIHN1
aXRhYmxlIGZvciB1c2UKaW4gcGlubmluZywgZnJvbSBQRU0tZW5jb2RlZCBjZXJ0aWZpY2F0ZXMu
PC90PgoKPGZpZ3VyZSBhbmNob3I9ImZpbmdlcnByaW50LWdlbmVyYXRpb24tZmlndXJlIj4KPGFy
dHdvcms+CnBhY2thZ2UgbWFpbgoKaW1wb3J0ICgKICAgICAgICJpby9pb3V0aWwiCiAgICAgICAi
b3MiCiAgICAgICAiY3J5cHRvL3NoYTEiCiAgICAgICAiY3J5cHRvL3g1MDkiCiAgICAgICAiZW5j
b2RpbmcvYmFzZTY0IgogICAgICAgImVuY29kaW5nL3BlbSIKICAgICAgICJmbXQiCikKCmZ1bmMg
bWFpbigpIHsKICAgICAgIGlmIGxlbihvcy5BcmdzKSAmbHQ7IDIgewogICAgICAgICAgICAgICBm
bXQuUHJpbnRmKCJVc2FnZTogJXMgUEVNLWZpbGVuYW1lXG4iLCBvcy5BcmdzWzBdKQogICAgICAg
ICAgICAgICBvcy5FeGl0KDEpCiAgICAgICB9CiAgICAgICBwZW1CeXRlcywgZXJyIDo9IGlvdXRp
bC5SZWFkRmlsZShvcy5BcmdzWzFdKQogICAgICAgaWYgZXJyICE9IG5pbCB7CiAgICAgICAgICAg
ICAgIHBhbmljKGVyci5TdHJpbmcoKSkKICAgICAgIH0KICAgICAgIGJsb2NrLCBfIDo9IHBlbS5E
ZWNvZGUocGVtQnl0ZXMpCiAgICAgICBpZiBibG9jayA9PSBuaWwgewogICAgICAgICAgICAgICBw
YW5pYygiTm8gUEVNIHN0cnVjdHVyZSBmb3VuZCIpCiAgICAgICB9CiAgICAgICBkZXJCeXRlcyA6
PSBibG9jay5CeXRlcwogICAgICAgY2VydHMsIGVyciA6PSB4NTA5LlBhcnNlQ2VydGlmaWNhdGVz
KGRlckJ5dGVzKQogICAgICAgaWYgZXJyICE9IG5pbCB7CiAgICAgICAgICAgICAgIHBhbmljKGVy
ci5TdHJpbmcoKSkKICAgICAgIH0KICAgICAgIGNlcnQgOj0gY2VydHNbMF0KICAgICAgIGggOj0g
c2hhMS5OZXcoKQogICAgICAgaC5Xcml0ZShjZXJ0LlJhd1N1YmplY3RQdWJsaWNLZXlJbmZvKQog
ICAgICAgZGlnZXN0IDo9IGguU3VtKCkKCiAgICAgICBmbXQuUHJpbnRmKCJIZXg6ICV4XG5CYXNl
NjQ6ICVzXG4iLCBkaWdlc3QsCiAgICAgICAgICAgICAgIGJhc2U2NC5TdGRFbmNvZGluZy5FbmNv
ZGVUb1N0cmluZyhkaWdlc3QpKQp9CjwvYXJ0d29yaz4KPC9maWd1cmU+Cgo8L3NlY3Rpb24+PCEt
LSBmaW5nZXJwcmludC1nZW5lcmF0aW9uIC0tPgoKPC9taWRkbGU+Cgo8YmFjaz4KCjxyZWZlcmVu
Y2VzPgoKPHJlZmVyZW5jZSBhbmNob3I9ImhzdHMtc3BlYyIKdGFyZ2V0PSJodHRwOi8vdG9vbHMu
aWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXdlYnNlYy1zdHJpY3QtdHJhbnNwb3J0LXNlYy0wMiI+
Cjxmcm9udD4KPHRpdGxlPkhUVFAgU3RyaWN0IFRyYW5zcG9ydCBTZWN1cml0eSAoSFNUUyk8L3Rp
dGxlPgo8YXV0aG9yIGluaXRpYWxzPSJKLiIgc3VybmFtZT0iSG9kZ2VzIiBmdWxsbmFtZT0iSmVm
ZiBIb2RnZXMiPgo8b3JnYW5pemF0aW9uPlBheVBhbCwgSW5jLjwvb3JnYW5pemF0aW9uPgo8L2F1
dGhvcj4KCjxhdXRob3IgaW5pdGlhbHM9IkMuIiBzdXJuYW1lPSJKYWNrc29uIiBmdWxsbmFtZT0i
Q29sbGluIEphY2tzb24iPgo8b3JnYW5pemF0aW9uPkNhcm5lZ2llIE1lbGxvbiBVbml2ZXJzaXR5
PC9vcmdhbml6YXRpb24+CjwvYXV0aG9yPgoKPGF1dGhvciBpbml0aWFscz0iQS4iIHN1cm5hbWU9
IkJhcnRoIiBmdWxsbmFtZT0iQWRhbSBCYXJ0aCI+Cjxvcmdhbml6YXRpb24+R29vZ2xlLCBJbmMu
PC9vcmdhbml6YXRpb24+CjwvYXV0aG9yPgoKPGRhdGUgbW9udGg9IkF1Z3VzdCIgeWVhcj0iMjAx
MSIgLz4KCjwvZnJvbnQ+CjwvcmVmZXJlbmNlPgoKPHJlZmVyZW5jZSBhbmNob3I9IndoeS1maW5n
ZXJwcmludC1rZXkiCnRhcmdldD0iaHR0cDovL3d3dy5pbXBlcmlhbHZpb2xldC5vcmcvMjAxMS8w
NS8wNC9waW5uaW5nLmh0bWwiPgo8ZnJvbnQ+Cjx0aXRsZT5QdWJsaWMgS2V5IFBpbm5pbmc8L3Rp
dGxlPgo8YXV0aG9yIGluaXRpYWxzPSJBLiIgc3VybmFtZT0iTGFuZ2xleSIgZnVsbG5hbWU9IkFk
YW0gTGFuZ2xleSIgLz4KPGRhdGUgbW9udGg9Ik1heSIgeWVhcj0iMjAxMSIgLz4KPC9mcm9udD4K
PC9yZWZlcmVuY2U+Cgo8cmVmZXJlbmNlIGFuY2hvcj0icGluLWJyZWFrLWNvZGVzIiB0YXJnZXQ9
Imh0dHA6Ly90cmV2cC5uZXQvU0FLUC8iPgo8ZnJvbnQ+Cjx0aXRsZT5TZWxmLUFzc2VydGVkIEtl
eSBQaW5uaW5nPC90aXRsZT4KPGF1dGhvciBpbml0aWFscz0iVC4iIHN1cm5hbWU9IlBlcnJpbiIg
ZnVsbG5hbWU9IlRyZXZvciBQZXJyaW4iIC8+CjxkYXRlIG1vbnRoPSJTZXB0ZW1iZXIiIHllYXI9
IjIwMTEiIC8+CjwvZnJvbnQ+CjwvcmVmZXJlbmNlPgoKPC9yZWZlcmVuY2VzPgoKPC9iYWNrPgo8
L3JmYz4K
--0016e659f5a203d12204ad63589c--

From ynir@checkpoint.com  Tue Sep 20 11:34:08 2011
Return-Path: <ynir@checkpoint.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 012341F0C63 for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 11:34:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.1
X-Spam-Level: 
X-Spam-Status: No, score=-10.1 tagged_above=-999 required=5 tests=[AWL=-0.101,  BAYES_00=-2.599, J_CHICKENPOX_53=0.6, RCVD_IN_DNSWL_HI=-8]
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 4KNW-svSxATO for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 11:34:07 -0700 (PDT)
Received: from michael.checkpoint.com (smtp.checkpoint.com [194.29.34.68]) by ietfa.amsl.com (Postfix) with ESMTP id 8D8091F0C62 for <websec@ietf.org>; Tue, 20 Sep 2011 11:34:06 -0700 (PDT)
X-CheckPoint: {4E78EA47-2D-1B221DC2-FFFF}
Received: from il-ex01.ad.checkpoint.com (il-ex01.ad.checkpoint.com [194.29.34.26]) by michael.checkpoint.com (8.13.8/8.13.8) with ESMTP id p8KIaRUM009391;  Tue, 20 Sep 2011 21:36:27 +0300
Received: from il-ex01.ad.checkpoint.com ([126.0.0.2]) by il-ex01.ad.checkpoint.com ([126.0.0.2]) with mapi; Tue, 20 Sep 2011 21:36:27 +0300
From: Yoav Nir <ynir@checkpoint.com>
To: Chris Palmer <palmer@google.com>
Date: Tue, 20 Sep 2011 21:36:26 +0300
Thread-Topic: [websec] Next rev of HSTS certificate pinning draft
Thread-Index: Acx3xDTTQLtWg857S1e/UZCg5v1HFQ==
Message-ID: <AE876818-5503-4FC0-A4D3-002A2FDF4DB1@checkpoint.com>
References: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com>
In-Reply-To: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
x-kse-antivirus-interceptor-info: scan successful
x-kse-antivirus-info: Clean
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Sep 2011 18:34:08 -0000

On Sep 20, 2011, at 9:08 PM, Chris Palmer wrote:

> Is attached, now in XML. The main change is that I got rid of widely
> and rightly reviled pin revocation business, and replaced it with a
> better idea from Trevor Perrin. Big thanks to everyone who reviewed
> and commented on the previous draft. Precisely how to generate
> fingerprints is answered with working code from Adam Langley. The
> gross errors that surely remain are my fault alone. :)

So this is when we get to make fun of the newbie, as promised in http://www=
.ietf.org/mail-archive/web/websec/current/msg00521.html ?

Cool!  So add a reference to RFC 2119 (see for example any draft or RFC). O=
therwise you're not allowed to say "MUST". Also have a "Security Considerat=
ions" section, even if initially it will also say "to be added", or the cla=
ssic cop-out, "security considerations are interspersed throughout this doc=
ument". One more issue, Go code (as opposed to pseudo code, although I woul=
d bet your pseudocode compiles) should go in an appendix - it's just a sect=
ion within the "back" tag.

And one comment as to substance. Section 3.1 says "Have a safety net.  Gene=
rate a backup key pair, get it signed..."  I agree that this is a good idea=
 for e-commerce site that lose sales on any outage. But what if I generate =
a backup key pair for my personal website (www.yoavnir.com is not it!), and=
 not get it signed at all?  Then if my regular private key gets compromised=
, I then get it signed by some other CA (or the same CA). With DV certifica=
tes this takes minutes.

Just as some institutions like banks or Google have hot standby server farm=
s that switch over in milliseconds, while the IETF is fine with hour-long o=
utages (as long as they're rare), websites can make a trade=3Doff of expens=
e vs availability of the website certificate.  I don't think the draft shou=
ld mandate the hot-standby datacenter approach.

Yoav






From sm@resistor.net  Tue Sep 20 13:35:32 2011
Return-Path: <sm@resistor.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C73E71F0C88 for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 13:35:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.58
X-Spam-Level: 
X-Spam-Status: No, score=-102.58 tagged_above=-999 required=5 tests=[AWL=0.019, 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 nJTfCZDF2EOL for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 13:35:29 -0700 (PDT)
Received: from mx.ipv6.elandsys.com (mx.ipv6.elandsys.com [IPv6:2001:470:f329:1::1]) by ietfa.amsl.com (Postfix) with ESMTP id CB6401F0C86 for <websec@ietf.org>; Tue, 20 Sep 2011 13:35:29 -0700 (PDT)
Received: from SUBMAN.resistor.net (IDENT:sm@localhost [127.0.0.1]) by mx.elandsys.com (8.14.4/8.14.5) with ESMTP id p8KKbfl8015349; Tue, 20 Sep 2011 13:37:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=opendkim.org; s=mail2010; t=1316551070; bh=gQAsrxpLpDZ2QJwJ+rJNNVVQun66ZSghCta1hUf+zVs=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type; b=Wq9PnZ04wHXgaE2tkUXn0O0JcnTYQXAbQnfAmpZ6U7vOHo2YFZV/jAJFXoFeMYeDS yILQ2GhvHufPTEIWghfDg2oIJTNwKDkCMFCkjwzIM3/r65ozr35CpVt+ZsuFj5P5OW IR/6o1VpkS2hvfjc0BoRR3oHF62uARDV4aRRHJTc=
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=resistor.net; s=mail; t=1316551070; bh=gQAsrxpLpDZ2QJwJ+rJNNVVQun66ZSghCta1hUf+zVs=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type; b=ZslEwfsmOtN2Xq7/VvYwn//wVAR2WXpbiWSd2nbqk0PmvEHR0ro7HOsFUnWkUHVK7 4INeC91LowKj/UMUvqkGJm4aUyPu9ZOECKTDAjl3yNvXd3usdEmTF9+mPUNzBG5MSA Se/SoHaAMyEPHzRsBiGuNbLKNNJJrJdzkLVD8hjI=
Message-Id: <6.2.5.6.2.20110920130003.0a9f43e0@resistor.net>
X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6
Date: Tue, 20 Sep 2011 13:30:39 -0700
To: Chris Palmer <palmer@google.com>
From: SM <sm@resistor.net>
In-Reply-To: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.g mail.com>
References: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
Cc: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Sep 2011 20:35:32 -0000

Hi Chris,
At 11:08 20-09-2011, Chris Palmer wrote:
>Is attached, now in XML. The main change is that I got rid of widely
>and rightly reviled pin revocation business, and replaced it with a
>better idea from Trevor Perrin. Big thanks to everyone who reviewed
>and commented on the previous draft. Precisely how to generate
>fingerprints is answered with working code from Adam Langley. The
>gross errors that surely remain are my fault alone. :)

These comments are editorial.

Under Status of this Memo:

    This Internet-Draft is submitted in full conformance with the
    provisions of BCP 78 and BCP 79.

Section 10 of RFC 2026 has been updated by newer RFCs.

The Copyright Notice should be according to the IETF Trust legal 
provisions.  This can be generated automatically ( see 
www.rfc-editor.org/rfc-editor/intro_xml2rfc.pdf ).

As an example, in Section 3.3.3:

  "You SHOULD attempt to get the certificate revoked by whatever means"

In terms of style, the requirement (SHOULD) should not be directed to 
the reader.  You could rewrite that as:

  The certificate SHOULD be revoked by whatever means

In Section 3.7.4:

  "CDNs MAY, and SHOULD, also use certificate pinning independently of
   any of their customers."

There is always some long discussion in the IETF about RFC 2119.  To 
keep it simple, don't say MAY and SHOULD do X.  The MAY is not needed 
in this case.

Think about the Security Considerations section.  Some of the 
existing text could go under there.

As you are defining a new HTTP header field, add an IANA 
Considerations section for it to be registered.  You can deal with 
that as the work on the I-D progresses.

Don't read any of the above as gross errors. :-)

Regards,
-sm 


From hallam@gmail.com  Tue Sep 20 13:46:32 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 857981F0C91 for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 13:46:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.467
X-Spam-Level: 
X-Spam-Status: No, score=-3.467 tagged_above=-999 required=5 tests=[AWL=0.131,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 NEa99q0JEdtl for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 13:46:31 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by ietfa.amsl.com (Postfix) with ESMTP id A47851F0C88 for <websec@ietf.org>; Tue, 20 Sep 2011 13:46:31 -0700 (PDT)
Received: by gyd12 with SMTP id 12so830142gyd.31 for <websec@ietf.org>; Tue, 20 Sep 2011 13:48:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=tTxGEBoIQ4nnmOe6Ry6IfKfYJEfOI5cKag4LPm/t7Gk=; b=qq6ckuj8W6ClD7rbQNe2k/vP+63toAu7GRK4RWYDQM3mdSgAfF5zaKK3Ta34b/BPaw Z4P6lSWcTMO7uLWGJbAdQlB7WKkZuIkaLahQTStUBwQZTn96hY6DsS1ajfVjkknMoYLN On14kfHxwWbat1UIi0BfDznQ5mGnxwiqeMuhg=
MIME-Version: 1.0
Received: by 10.100.82.6 with SMTP id f6mr1271172anb.52.1316551738201; Tue, 20 Sep 2011 13:48:58 -0700 (PDT)
Received: by 10.101.71.4 with HTTP; Tue, 20 Sep 2011 13:48:58 -0700 (PDT)
In-Reply-To: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com>
References: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com>
Date: Tue, 20 Sep 2011 16:48:58 -0400
Message-ID: <CAMm+LwiaZXLD+7PD_xLMahNQXTFqSFf5GmWAjGWzhWqP1-Qhew@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Chris Palmer <palmer@google.com>
Content-Type: multipart/alternative; boundary=005045016fd7af161b04ad6596cb
Cc: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Sep 2011 20:46:32 -0000

--005045016fd7af161b04ad6596cb
Content-Type: text/plain; charset=ISO-8859-1

I can't follow the link to the Perrin draft, it says 'you lose'

On the hashing:

1) Please eliminate SHA1 completely. At this point it is an ex-algorithm so
far as new protocols go.

2) Algorithm identifiers need to be managed using either an IANA registry or
some existing crypto-registry. At present adding support for a new algorithm
would change the protocol syntax.

The usual solution is either to use ASN.1 OIDs for algorithm IDs or re-use
the identifiers originally defined for PEM. Since we are dealing with SSL
and hence PKIX here implementations will already need code to manage
algorithms by OID (and by SSL cipher suite ID but that is another ball of
wax).

3) It is not at all clear how the digest is calculated and in particular
whether that includes the algorithm identifier for the public key type. It
is essential to prevent an algorithm substitution attack.


Could we break off the section that defines the digest identifier from the
rest of the document? I can send text for this as I am currently working on
doing just that.

The need to have a strong reference to some object comes up time and again.
It really calls for having a URI.




On Tue, Sep 20, 2011 at 2:08 PM, Chris Palmer <palmer@google.com> wrote:

> Is attached, now in XML. The main change is that I got rid of widely
> and rightly reviled pin revocation business, and replaced it with a
> better idea from Trevor Perrin. Big thanks to everyone who reviewed
> and commented on the previous draft. Precisely how to generate
> fingerprints is answered with working code from Adam Langley. The
> gross errors that surely remain are my fault alone. :)
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>
>


-- 
Website: http://hallambaker.com/

--005045016fd7af161b04ad6596cb
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I can&#39;t follow the link to the Perrin draft, it says &#39;you lose&#39;=
<div><br></div><div>On the hashing:</div><div><br></div><div>1) Please elim=
inate SHA1 completely. At this point it is an ex-algorithm so far as new pr=
otocols go.</div>
<div><br></div><div>2) Algorithm identifiers need to be managed using eithe=
r an IANA registry or some existing crypto-registry. At present adding supp=
ort for a new algorithm would change the protocol syntax.=A0</div><div><br>
</div><div>The usual solution is either to use ASN.1 OIDs for algorithm IDs=
 or re-use the identifiers originally defined for PEM. Since we are dealing=
 with SSL and hence PKIX here implementations will already need code to man=
age algorithms by OID (and by SSL cipher suite ID but that is another ball =
of wax).</div>
<div><br></div><div>3) It is not at all clear how the digest is calculated =
and in particular whether that includes the algorithm identifier for the pu=
blic key type. It is essential to prevent an algorithm substitution attack.=
</div>
<div><br></div><div><br></div><div>Could we break off the section that defi=
nes the digest identifier from the rest of the document? I can send text fo=
r this as I am currently working on doing just that.</div><div><br></div>
<div>The need to have a strong reference to some object comes up time and a=
gain. It really calls for having a URI.</div><div><br></div><div><br></div>=
<div><br><br><div class=3D"gmail_quote">On Tue, Sep 20, 2011 at 2:08 PM, Ch=
ris Palmer <span dir=3D"ltr">&lt;<a href=3D"mailto:palmer@google.com">palme=
r@google.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Is attached, now in XML. The main change is=
 that I got rid of widely<br>
and rightly reviled pin revocation business, and replaced it with a<br>
better idea from Trevor Perrin. Big thanks to everyone who reviewed<br>
and commented on the previous draft. Precisely how to generate<br>
fingerprints is answered with working code from Adam Langley. The<br>
gross errors that surely remain are my fault alone. :)<br>
<br>_______________________________________________<br>
websec mailing list<br>
<a href=3D"mailto:websec@ietf.org">websec@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/websec" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/websec</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Website:=
 <a href=3D"http://hallambaker.com/">http://hallambaker.com/</a><br><br>
</div>

--005045016fd7af161b04ad6596cb--

From palmer@google.com  Tue Sep 20 17:55:39 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 31F6521F8AF0 for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 17:55:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 Ltr7-ihK2gGO for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 17:55:37 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id 2EEA121F8AD8 for <websec@ietf.org>; Tue, 20 Sep 2011 17:55:37 -0700 (PDT)
Received: from hpaq11.eem.corp.google.com (hpaq11.eem.corp.google.com [172.25.149.11]) by smtp-out.google.com with ESMTP id p8L0w3FW006776 for <websec@ietf.org>; Tue, 20 Sep 2011 17:58:03 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1316566684; bh=2VrQ98AO2skhFLJT2CD6ssbD1kY=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Content-Type:Content-Transfer-Encoding; b=t2+IjkrN/YN0/Xm0yn7KdqMHfr1O2Cydw9ZcR0bCUXhGT6xQWUTzR07r4QVZSIeqV aDt1KzLNlhzFG9H51LwgQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:content-type: content-transfer-encoding:x-system-of-record; b=xg61v9QD9kG2P3IqkjZJtjZxnubgpfCd9PHB5/qL3kEbAGVmRAgurB0B3xXhrrUyb CIgYdV+pbStjEiIdW4EQQ==
Received: from wyf23 (wyf23.prod.google.com [10.241.226.87]) by hpaq11.eem.corp.google.com with ESMTP id p8L0vS49018305 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 20 Sep 2011 17:58:02 -0700
Received: by wyf23 with SMTP id 23so1140101wyf.9 for <websec@ietf.org>; Tue, 20 Sep 2011 17:57:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=kenY6r+AOv3RdaJX/A1ptDrxBf8JzYHOlGK1XxE8AOI=; b=kq+C19oVjXsFDOl8mLSBCt5AhTvl//XK10/luaMuukbxUhqY6czPPrQD6KJqdoDeti fGgd53uqCOvhg7MJgUyQ==
Received: by 10.216.23.72 with SMTP id u50mr131518weu.34.1316566676736; Tue, 20 Sep 2011 17:57:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.23.72 with SMTP id u50mr131514weu.34.1316566676257; Tue, 20 Sep 2011 17:57:56 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 20 Sep 2011 17:57:56 -0700 (PDT)
In-Reply-To: <AE876818-5503-4FC0-A4D3-002A2FDF4DB1@checkpoint.com>
References: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com> <AE876818-5503-4FC0-A4D3-002A2FDF4DB1@checkpoint.com>
Date: Tue, 20 Sep 2011 17:57:56 -0700
Message-ID: <CAOuvq21=CDY-6dufGgDf0-kVqWFQnEYRFhz4cYdNj=cxy7mo9w@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: IETF WebSec WG <websec@ietf.org>, Chris Evans <cevans@google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Subject: Re: [websec] Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Sep 2011 00:55:39 -0000

Thanks Yoav! Comments:

> So this is when we get to make fun of the newbie, as promised in http://w=
ww.ietf.org/mail-archive/web/websec/current/msg00521.html ?

Woo hoo!

> Cool! =C2=A0So add a reference to RFC 2119 (see for example any draft or =
RFC). Otherwise you're not allowed to say "MUST".

Done.

>Also have a "Security Considerations" section, even if initially it will a=
lso say "to be added", or the classic cop-out, "security

I did this by re-naming our security considerations section to
"Security Considerations". :)

> One more issue, Go code (as opposed to pseudo code, although I would bet =
your pseudocode compiles) should go in an appendix - it's just a section wi=
thin the "back" tag.

Done.

> And one comment as to substance. Section 3.1 says "Have a safety net. =C2=
=A0Generate a backup key pair, get it signed..." =C2=A0I agree that this is=
 a good idea for e-commerce site that lose sales on any outage. But what if=
 I generate a backup key pair for my personal website (www.yoavnir.com is n=
ot it!), and not get it signed at all? =C2=A0Then if my regular private key=
 gets compromised, I then get it signed by some other CA (or the same CA). =
With DV certificates this takes minutes.

That part is not MUST, and is in a section called "guidance". So it's
not a mandate. Also later on we acknowledge the last-minute signing
case.

Also, we say at the outset that HSTS certificate pinning is for sites
with high operational maturity =E2=80=94 if an operator is not prepared to
plan for disaster, that's a sign they might not need or want HSTS
certificate pinning. At least not now, in this early stage. I don't
want for this feature to get a bad reputation when unprepared
operators get burned.

From palmer@google.com  Tue Sep 20 18:04:01 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 741B61F0C65 for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 18:04:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 PLHYdgLwXmx4 for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 18:04:01 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id CF97421F8BFE for <websec@ietf.org>; Tue, 20 Sep 2011 18:04:00 -0700 (PDT)
Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id p8L16RZL032601 for <websec@ietf.org>; Tue, 20 Sep 2011 18:06:28 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1316567188; bh=lKFpkeIzADG0FcvEDksOqgymihE=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Content-Type:Content-Transfer-Encoding; b=WkbLPKISDfkvCyKG1ZKZfX97nAxQE7xfEZy4xzDtf9d5sb2Kcfrd94AjVuFIThDiq XOGsVibE8Qivt7PJ1gNvw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:content-type: content-transfer-encoding:x-system-of-record; b=bxrQ0FD19PnnwjIl7tvwwemESSH/ZXDZvdJ1alVVFl70JrLyZGvm8S3ZHz/y3/F1M dcUNc5ccuwdZXmwQSYFxw==
Received: from ewy28 (ewy28.prod.google.com [10.241.103.28]) by wpaz17.hot.corp.google.com with ESMTP id p8L16Fab007012 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 20 Sep 2011 18:06:26 -0700
Received: by ewy28 with SMTP id 28so715251ewy.32 for <websec@ietf.org>; Tue, 20 Sep 2011 18:06:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=SFstmXHqCHzwrBG8pLuhl+UsULsscRqP+6dANDPuzvs=; b=qC9Da3iKTs6m/uuonGiXkRhvladu6qCK2Yt+QlUKcPfGcw+q1RzYtRYpSfJCi9Ql9q y8j5BMElOdjrXhPB5Wfw==
Received: by 10.216.168.68 with SMTP id j46mr1191159wel.4.1316567186496; Tue, 20 Sep 2011 18:06:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.168.68 with SMTP id j46mr1191100wel.4.1316567181841; Tue, 20 Sep 2011 18:06:21 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 20 Sep 2011 18:06:21 -0700 (PDT)
In-Reply-To: <6.2.5.6.2.20110920130003.0a9f43e0@resistor.net>
References: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com> <6.2.5.6.2.20110920130003.0a9f43e0@resistor.net>
Date: Tue, 20 Sep 2011 18:06:21 -0700
Message-ID: <CAOuvq20jWtgpuRkGA0-1SDz5jW0-ocz2P++_8-+32iorzjUwTw@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Subject: Re: [websec] Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Sep 2011 01:04:01 -0000

On Tue, Sep 20, 2011 at 1:30 PM, SM <sm@resistor.net> wrote:

> Under Status of this Memo:
>
> =C2=A0 This Internet-Draft is submitted in full conformance with the
> =C2=A0 provisions of BCP 78 and BCP 79.
>
> Section 10 of RFC 2026 has been updated by newer RFCs.
>
> The Copyright Notice should be according to the IETF Trust legal provisio=
ns.
> =C2=A0This can be generated automatically ( see
> www.rfc-editor.org/rfc-editor/intro_xml2rfc.pdf ).

I didn't write that text, it was auto-generated by the xml2rfc tool
itself. If that tool does the wrong thing, we should poke its
maintainer...

> In terms of style, the requirement (SHOULD) should not be directed to the
> reader. =C2=A0You could rewrite that as:
>
> =C2=A0The certificate SHOULD be revoked by whatever means

Ok.

> =C2=A0"CDNs MAY, and SHOULD, also use certificate pinning independently o=
f
> =C2=A0any of their customers."
>
> There is always some long discussion in the IETF about RFC 2119. =C2=A0To=
 keep it
> simple, don't say MAY and SHOULD do X. =C2=A0The MAY is not needed in thi=
s case.

Done.

> As you are defining a new HTTP header field, add an IANA Considerations
> section for it to be registered. =C2=A0You can deal with that as the work=
 on the
> I-D progresses.

Well, it's an extension to the HSTS header field, not a whole new field.

From palmer@google.com  Tue Sep 20 19:02:17 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 01C2F21F8C0C for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 19:02:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.557
X-Spam-Level: 
X-Spam-Status: No, score=-105.557 tagged_above=-999 required=5 tests=[AWL=-0.180, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_48=0.6, RCVD_IN_DNSWL_MED=-4, 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 fd8+y5gJim-T for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 19:02:14 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id 46BB421F87C2 for <websec@ietf.org>; Tue, 20 Sep 2011 19:02:14 -0700 (PDT)
Received: from wpaz33.hot.corp.google.com (wpaz33.hot.corp.google.com [172.24.198.97]) by smtp-out.google.com with ESMTP id p8L24eMv023903 for <websec@ietf.org>; Tue, 20 Sep 2011 19:04:40 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1316570680; bh=qSRPuspyc9IDslW8C7ylq6a11qs=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Content-Type; b=qsWXkNGbIkhxfIsqB+C5OD5hoC2aWbIqLJ9iYJv175e27ldegmK4lAKTHGcOmlJc4 O5v6gvmifhIvlfHkSpDCg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:content-type:x-system-of-record; b=mb0CvfJ3US+wn+9wIROvB0dlcOo2B2vADIvL9uCCMtqVBdIESvfyCU6GM/WxmzK95 g7CMVkiDaL9cyMoUJ/Q+A==
Received: from eyh6 (eyh6.prod.google.com [10.208.8.6]) by wpaz33.hot.corp.google.com with ESMTP id p8L24XbN028575 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Tue, 20 Sep 2011 19:04:38 -0700
Received: by eyh6 with SMTP id 6so614662eyh.29 for <websec@ietf.org>; Tue, 20 Sep 2011 19:04:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=2xtt61RHeqa5nHpIKbCwBq0IcZ0yH42wV3YU6jVLkAk=; b=HfP1dRb30T6PZOvu5mD16GoI5YxHV2zmtzj2fE2CW1kRt27fhsm3oP2pAAJVPulNuP mEDx0KFjnwjnUM5Zk+tw==
Received: by 10.216.188.194 with SMTP id a44mr191560wen.4.1316570673470; Tue, 20 Sep 2011 19:04:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.188.194 with SMTP id a44mr191554wen.4.1316570673283; Tue, 20 Sep 2011 19:04:33 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Tue, 20 Sep 2011 19:04:33 -0700 (PDT)
In-Reply-To: <CAOuvq20jWtgpuRkGA0-1SDz5jW0-ocz2P++_8-+32iorzjUwTw@mail.gmail.com>
References: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com> <6.2.5.6.2.20110920130003.0a9f43e0@resistor.net> <CAOuvq20jWtgpuRkGA0-1SDz5jW0-ocz2P++_8-+32iorzjUwTw@mail.gmail.com>
Date: Tue, 20 Sep 2011 19:04:33 -0700
Message-ID: <CAOuvq23_vhtwTZJw2GWDfVxr2uRtbzOWAhAHb2oe4_ADW1ChZA@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Content-Type: multipart/mixed; boundary=0016368330124d837204ad69ffd3
X-System-Of-Record: true
Subject: Re: [websec] Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Sep 2011 02:02:17 -0000

--0016368330124d837204ad69ffd3
Content-Type: text/plain; charset=UTF-8

Incorporating people's suggestions. Thanks again all!

--0016368330124d837204ad69ffd3
Content-Type: text/xml; charset=UTF-8; name="draft-evans-palmer-hsts-pinning-00.xml"
Content-Disposition: attachment; 
	filename="draft-evans-palmer-hsts-pinning-00.xml"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gsto64ix0

PD94bWwgdmVyc2lvbj0iMS4wIj8+CjwhRE9DVFlQRSByZmMgU1lTVEVNICJyZmMyNjI5LmR0ZCI+
CjxyZmMgaXByPSJ0cnVzdDIwMDkwMiIgZG9jTmFtZT0iZHJhZnQtZXZhbnMtcGFsbWVyLWhzdHMt
cGlubmluZy0wMCI+Cjxmcm9udD4KPHRpdGxlPkNlcnRpZmljYXRlIFBpbm5pbmcgRXh0ZW5zaW9u
IGZvciBIU1RTPC90aXRsZT4KCjxhdXRob3IgaW5pdGlhbHM9IkMuIiBzdXJuYW1lPSJFdmFucyIg
ZnVsbG5hbWU9IkNocmlzIEV2YW5zIj4KPG9yZ2FuaXphdGlvbj5Hb29nbGUsIEluYy48L29yZ2Fu
aXphdGlvbj4KPGFkZHJlc3M+Cjxwb3N0YWw+CjxzdHJlZXQ+MTYwMCBBbXBoaXRoZWF0ZXIgUGt3
eTwvc3RyZWV0Pgo8Y2l0eT5Nb3VudGFpbiBWaWV3PC9jaXR5Pgo8cmVnaW9uPkNBPC9yZWdpb24+
Cjxjb2RlPjk0MDQzPC9jb2RlPgo8Y291bnRyeT5VUzwvY291bnRyeT4KPC9wb3N0YWw+CjxlbWFp
bD5jZXZhbnNAZ29vZ2xlLmNvbTwvZW1haWw+CjwvYWRkcmVzcz4KPC9hdXRob3I+Cgo8YXV0aG9y
IGluaXRpYWxzPSJDLiIgc3VybmFtZT0iUGFsbWVyIiBmdWxsbmFtZT0iQ2hyaXMgUGFsbWVyIj4K
PG9yZ2FuaXphdGlvbj5Hb29nbGUsIEluYy48L29yZ2FuaXphdGlvbj4KPGFkZHJlc3M+Cjxwb3N0
YWw+CjxzdHJlZXQ+MTYwMCBBbXBoaXRoZWF0ZXIgUGt3eTwvc3RyZWV0Pgo8Y2l0eT5Nb3VudGFp
biBWaWV3PC9jaXR5Pgo8cmVnaW9uPkNBPC9yZWdpb24+Cjxjb2RlPjk0MDQzPC9jb2RlPgo8Y291
bnRyeT5VUzwvY291bnRyeT4KPC9wb3N0YWw+CjxlbWFpbD5wYWxtZXJAZ29vZ2xlLmNvbTwvZW1h
aWw+CjwvYWRkcmVzcz4KPC9hdXRob3I+Cgo8ZGF0ZSBtb250aD0iU2VwdGVtYmVyIiB5ZWFyPSIy
MDExIiAvPgoKPGFyZWE+R2VuZXJhbDwvYXJlYT4KPHdvcmtncm91cD5XZWIgU2VjdXJpdHk8L3dv
cmtncm91cD4KCjxrZXl3b3JkPkktRDwva2V5d29yZD4KPGtleXdvcmQ+SW50ZXJuZXQtRHJhZnQ8
L2tleXdvcmQ+CjxrZXl3b3JkPkNlcnRpZmljYXRlPC9rZXl3b3JkPgo8a2V5d29yZD5YLjUwOTwv
a2V5d29yZD4KPGtleXdvcmQ+Q2VydGlmaWNhdGlvbiBhdXRob3JpdHk8L2tleXdvcmQ+CjxrZXl3
b3JkPkNlcnRpZmljYXRlIHBpbm5pbmc8L2tleXdvcmQ+CjxrZXl3b3JkPkhUVFBTPC9rZXl3b3Jk
Pgo8a2V5d29yZD5UTFM8L2tleXdvcmQ+CjxrZXl3b3JkPlNTTDwva2V5d29yZD4KCjxhYnN0cmFj
dD4KCjx0PlRoaXMgbWVtbyBkZXNjcmliZXMgYW4gZXh0ZW5zaW9uIHRvIHRoZSBIVFRQIFN0cmlj
dCBUcmFuc3BvcnQKU2VjdXJpdHkgc3BlY2lmaWNhdGlvbiBhbGxvd2luZyB3ZWIgaG9zdCBvcGVy
YXRvcnMgdG8gaW5zdHJ1Y3QgVUFzIHRvCnJlbWVtYmVyICgicGluIikgaG9zdHMnIGNyeXB0b2dy
YXBoaWMgaWRlbnRpdGllcyBmb3IgYSBnaXZlbiBwZXJpb2Qgb2YKdGltZS4gRHVyaW5nIHRoYXQg
dGltZSwgVUFzIHdpbGwgcmVxdWlyZSB0aGF0IHRoZSBob3N0IHByZXNlbnQgYQpjZXJ0aWZpY2F0
ZSBjaGFpbiBpbmNsdWRpbmcgYXQgbGVhc3Qgb25lIHB1YmxpYyBrZXkgd2hvc2UgZmluZ2VycHJp
bnQKbWF0Y2hlcyBvbmUgb3IgbW9yZSBvZiB0aGUgcGlubmVkIGZpbmdlcnByaW50cyBmb3IgdGhh
dCBob3N0LiBCeQplZmZlY3RpdmVseSByZWR1Y2luZyB0aGUgc2NvcGUgb2YgYXV0aG9yaXRpZXMg
d2hvIGNhbiBhdXRoZW50aWNhdGUgdGhlCmRvbWFpbiBkdXJpbmcgdGhlIGxpZmV0aW1lIG9mIHRo
ZSBwaW4sIHdlIGhvcGUgcGlubmluZyByZWR1Y2VzIHRoZQppbmNpZGVuY2Ugb2YgbWFuLWluLXRo
ZS1taWRkbGUgYXR0YWNrcyBkdWUgdG8gY29tcHJvbWlzZWQKQ2VydGlmaWNhdGlvbiBBdXRob3Jp
dGllcyBhbmQgb3RoZXIgYXV0aGVudGljYXRpb24gZXJyb3JzIGFuZAphdHRhY2tzLjwvdD4KCjwv
YWJzdHJhY3Q+Cgo8L2Zyb250PgoKPG1pZGRsZT4KCjxzZWN0aW9uIGFuY2hvcj0iaW50cm9kdWN0
aW9uIiB0aXRsZT0iSW50cm9kdWN0aW9uIj4KCjx0PldlIHByb3Bvc2UgdG8gZXh0ZW5kIHRoZSBI
U1RTIEhUVFAgaGVhZGVyIHRvIGVuYWJsZSBhIHdlYiBob3N0IHRvCmV4cHJlc3MgdG8gVUFzIHdo
aWNoIGNlcnRpZmljYXRlKHMpIFVBcyBtYXkgZXhwZWN0IHRvIGJlIHByZXNlbnQgaW4KdGhlIGhv
c3QncyBjZXJ0aWZpY2F0ZSBjaGFpbiBpbiBmdXR1cmUgY29ubmVjdGlvbnMuIFdlIGNhbGwgdGhp
cwoiY2VydGlmaWNhdGUgcGlubmluZyIuIFRoZSBHb29nbGUgQ2hyb21lL2l1bSBicm93c2VyIHNo
aXBzIHdpdGggYQpzdGF0aWMgc2V0IG9mIHBpbnMsIGFuZCBpbmRpdmlkdWFsIHVzZXJzIGNhbiBl
eHRlbmQgdGhlIHNldCBvZgpwaW5zLiBBbHRob3VnaCBlZmZlY3RpdmUsIHRoaXMgZG9lcyBub3Qg
c2NhbGUuIFRoaXMgcHJvcG9zYWwgYWRkcmVzc2VzCnRoZSBzY2FsZSBwcm9ibGVtLjwvdD4KCjx0
PkRlcGxveWluZyBjZXJ0aWZpY2F0ZSBwaW5uaW5nIHNhZmVseSB3aWxsIHJlcXVpcmUgb3BlcmF0
aW9uYWwgYW5kCm9yZ2FuaXphdGlvbmFsIG1hdHVyaXR5IGR1ZSB0byB0aGUgcmlzayB0aGF0IEhT
VFMgSG9zdHMgbWF5ICJicmljayIKdGhlbXNlbHZlcyBieSBwaW5uaW5nIHRvIGEgY2VydGlmaWNh
dGUgdGhhdCBiZWNvbWVzIGludmFsaWQuIFdlCmRpc2N1c3MgcG90ZW50aWFsIG1pdGlnYXRpb25z
IGZvciB0aG9zZSByaXNrcy4gV2UgYmVsaWV2ZSB0aGF0LCB3aXRoCmNhcmUsIGhvc3Qgb3BlcmF0
b3JzIGNhbiBncmVhdGx5IHJlZHVjZSB0aGUgcmlzayBvZiBNSVRNIGF0dGFja3MgYW5kCm90aGVy
IGZhbHNlLWF1dGhlbnRpY2F0aW9uIHByb2JsZW1zIGZvciB0aGVpciB1c2VycyB3aXRob3V0IGlu
Y3VycmluZwp1bmR1ZSByaXNrLjwvdD4KCjx0PlRoaXMgZG9jdW1lbnQgZXh0ZW5kcyB0aGUgdmVy
c2lvbiBvZiBIU1RTIGRlZmluZWQgaW4gPHhyZWYKdGFyZ2V0PSJoc3RzLXNwZWMiIC8+IGFuZCBm
b2xsb3dzIHRoYXQgZG9jdW1lbnQncyBub3RhdGlvbmFsIGFuZApuYW1pbmcgY29udmVudGlvbnMu
PC90PgoKPHNlY3Rpb24gYW5jaG9yPSJub3RhdGlvbiIgdGl0bGU9IkFib3V0IE5vdGF0aW9uIj4K
Cjx0PlRoZSBrZXkgd29yZHMgIk1VU1QiLCAiTVVTVCBOT1QiLCAiUkVRVUlSRUQiLCAiU0hBTEwi
LCAiU0hBTEwgTk9UIiwKIlNIT1VMRCIsICJTSE9VTEQgTk9UIiwgIlJFQ09NTUVOREVEIiwgIk1B
WSIsIGFuZCAiT1BUSU9OQUwiIGluIHRoaXMKZG9jdW1lbnQgYXJlIHRvIGJlIGludGVycHJldGVk
IGFzIGRlc2NyaWJlZCBpbiBSRkMgMjExOS48L3Q+Cgo8dD5UaGlzIGRvY3VtZW50IGluY2x1ZGVz
IHNvbWUgcHNldWRvY29kZSBleGFtcGxlcyB3cml0dGVuIGluIGEKUHl0aG9uLWxpa2UgbGFuZ3Vh
Z2UsIHRvIGNsYXJpZnkgVUEgYmVoYXZpb3IuIFRoZSBleGFtcGxlcyBhc3N1bWUgdGhhdAphIGds
b2JhbCBkYXRhIHN0cnVjdHVyZSwgaHN0c19tZXRhZGF0YSwgZXhpc3RzIGFuZCBjb250YWlucyB0
aGUgSFNUUwptZXRhZGF0YSB0aGF0IHRoZSBVQSBoYXMgYWNjdW11bGF0ZWQgb3ZlciB0aW1lLiBJ
dCBpcyBpbmRleGFibGUgYnkKZG9tYWluIG5hbWUgYW5kIGluY2x1ZGVzIHRoZSB1c3VhbCBIU1RT
IHBhcmFtZXRlcnMgKG1heEFnZSwKaW5jbHVkZXNTdWJEb21haW5zKSBhcyB3ZWxsIGFzIHRoZSBu
ZXcgSFNUUyBwYXJhbWV0ZXIsIHBpbnMsIHRoYXQgdGhpcwpkb2N1bWVudCBpbnRyb2R1Y2VzLiBJ
dCBhbHNvIGFzc3VtZXMgYSBoeXBvdGhldGljYWwgWC41MDkgZGF0YXR5cGUsCmRlbm90ZWQgd2l0
aCBhIHZhcmlhYmxlIG5hbWVkICJjZXJ0aWZpY2F0ZSIsIHRoYXQgaW5jbHVkZXMgbGlrZWx5IFgu
NTA5CmZpZWxkcyBzdWNoIGFzIHB1YmxpY19rZXkgKHdoaWNoIHdvdWxkIGNvcnJlc3BvbmQgdG8g
dGhlClN1YmplY3RQdWJsaWNLZXlJbmZvIGZpZWxkIGluIGEgcmVhbCBYLjUwOSBjZXJ0aWZpY2F0
ZSkuPC90PgoKPHQ+VGhlcmUgYXJlIGFsc28gc29tZSB3b3JraW5nIGNvZGUgZXhhbXBsZXMgdXNp
bmcgdGhlIFB5dGhvbiBhbmQgR28KbGFuZ3VhZ2VzLjwvdD4KCjx0PlRoZSBleGFtcGxlcyBhcmUg
aW50ZW5kZWQgdG8gYmUgaWxsdXN0cmF0aXZlLCBub3QgbmVjZXNzYXJpbHkKcHJlY2lzZSBvciB1
c2luZyBhbGdvcml0aG1zIHRoYXQgYSByZWFsLCBvcHRpbWl6ZWQgVUEgd291bGQKZW1wbG95Ljwv
dD4KCjwvc2VjdGlvbj4KCjwvc2VjdGlvbj48IS0tIGludHJvZHVjdGlvbiAtLT4KCjxzZWN0aW9u
IGFuY2hvcj0ic2VydmVyLWNsaWVudC1iZWhhdmlvciIgdGl0bGU9IlNlcnZlciBhbmQgQ2xpZW50
CkJlaGF2aW9yIj4KCjx0PlRvIHNldCBhIHBpbiwgSFNUUyBIb3N0cyB1c2UgYSBuZXcgU1RTIGV4
dGVuc2lvbiBkaXJlY3RpdmUKKFNUUy1kLWV4dCkgaW4gdGhlaXIgSFNUUyByZXNwb25zZSBoZWFk
ZXIgZmllbGQ6IHBpbnMuIFRvIGVuYWJsZSBwaW4KcmV2b2NhdGlvbiAoPHhyZWYgdGFyZ2V0PSJ1
bi1waW5uaW5nIiAvPiksIGhvc3RzIG1heSBhbHNvIHVzZSB0aGUKbmV3IGJyZWFrdiBhbmQgYnJl
YWtjIGRpcmVjdGl2ZXMuPC90PgoKPGZpZ3VyZSBhbmNob3I9ImRpcmVjdGl2ZS1hYm5mIj4KPGFy
dHdvcms+ClNUUy1kLWV4dC1waW4gICAgPSAgICAicGlucyIgT1dTICI9IiBPV1MgW2ZpbmdlcnBy
aW50c10KU1RTLWQtZXh0LWJyZWFrdiA9ICAgICJicmVha3YiIE9XUyAiPSIgT1dTIGZwLXR5cGUg
Ii8iIGJhc2U2NC1kaWdpdHMKU1RTLWQtZXh0LWJyZWFrYyA9ICAgICJicmVha2MiIE9XUyAiPSIg
T1dTIGJhc2U2NC1kaWdpdHMKCmZpbmdlcnByaW50cyAgICAgPSAgICAgZmluZ2VycHJpbnQKICAg
ICAgICAgICAgICAgICAgICAgICAvIGZpbmdlcnByaW50ICIsIiBmaW5nZXJwcmludHMKCmZpbmdl
cnByaW50ICAgICAgPSAgICAgZnAtdHlwZSAiLyIgYmFzZTY0LWRpZ2l0cwoKZnAtdHlwZSAgICAg
ICAgICA9ICAgICAic2hhMSIKICAgICAgICAgICAgICAgICAgICAgICAvICJzaGEyNTYiCjwvYXJ0
d29yaz4KPC9maWd1cmU+Cgo8dD5IZXJlIGlzIGFuIGV4YW1wbGUgcmVzcG9uc2UgaGVhZGVyIGZp
ZWxkIHVzaW5nIHRoZSBwaW5zIGV4dGVuc2lvbgooZm9sZGVkIGZvciBjbGFyaXR5KTo8L3Q+Cgo8
ZmlndXJlIGFuY2hvcj0icGlucy1leGFtcGxlIj4KPGFydHdvcms+ClN0cmljdC1UcmFuc3BvcnQt
U2VjdXJpdHk6IG1heC1hZ2U9NTAwOyBpbmNsdWRlU3ViRG9tYWluczsKICAgIHBpbnM9c2hhMS80
bjk3MkhmVjM1NEtQNTYweXc0dXFlL2JhWGM9LAogICAgc2hhMS9JdkdlTHNicXpQeGRJMGIwd3Vq
MnhWVGRYZ2M9CjwvYXJ0d29yaz4KPC9maWd1cmU+Cgo8dD5IZXJlIGlzIGFuIGV4YW1wbGUgcmVz
cG9uc2UgaGVhZGVyIGZpZWxkIHVzaW5nIGJvdGggdGhlIHBpbnMgYW5kCnRoZSBicmVha3YgZXh0
ZW5zaW9ucyAoZm9sZGVkIGZvciBjbGFyaXR5KTo8L3Q+Cgo8ZmlndXJlIGFuY2hvcj0iYnJlYWt2
LWV4YW1wbGUiPgo8YXJ0d29yaz4KU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eTogbWF4LWFnZT01
MDA7IGluY2x1ZGVTdWJEb21haW5zOwogICAgcGlucz1zaGExLzRuOTcySGZWMzU0S1A1NjB5dzR1
cWUvYmFYYz0sCiAgICBzaGExL0l2R2VMc2JxelB4ZEkwYjB3dWoyeFZUZFhnYz07CiAgICBicmVh
a3Y9c2hhMS9qVVFFWEg3UTJMeStYbi95RldKeEFIVDNmRGM9CjwvYXJ0d29yaz4KPC9maWd1cmU+
Cgo8dD5UaGUgZmluZ2VycHJpbnQgaXMgdGhlIFNIQS0xIChvciBTSEEtMjU2KSBoYXNoIG9mIHRo
ZSByYXcKU3ViamVjdFB1YmxpY0tleUluZm8gZmllbGQgb2YgdGhlIGNlcnRpZmljYXRlLCBlbmNv
ZGVkIGluIGJhc2UtNjQgZm9yCmJyZXZpdHkuIFdlIHBpbiBwdWJsaWMga2V5cywgcmF0aGVyIHRo
YW4gZW50aXJlIGNlcnRpZmljYXRlcywgdG8KZW5hYmxlIG9wZXJhdG9ycyB0byBnZW5lcmF0ZSBu
ZXcgY2VydGlmaWNhdGVzIGNvbnRhaW5pbmcgb2xkIHB1YmxpYwprZXlzIChzZWUgPHhyZWYgdGFy
Z2V0PSJ3aHktZmluZ2VycHJpbnQta2V5IiAvPikuIChBbHRob3VnaCBob3N0Cm9wZXJhdG9ycyBt
YXkgZG8gdGhpcywgY2VydGlmaWNhdGlvbiBhdXRob3JpdGllcyBhbHJlYWR5CmRvLiBBZGRpdGlv
bmFsbHksIHdoZW4gVUFzIGNoZWNrIGNlcnRpZmljYXRlIGNoYWlucywgdGhleSBkbyBzbyBieQpj
aGVja2luZyB0aGF0IGVhY2ggY2VydGlmaWNhdGUgaXMgc2lnbmVkIGJ5IGl0cyBwYXJlbnQncyBw
dWJsaWMga2V5LAptYWtpbmcgdGhlIHB1YmxpYyBrZXkg4oCUIG5vdCB0aGUgY2VydGlmaWNhdGUg
4oCUIHRoZSBlc3NlbnRpYWwKaWRlbnRpZmllci4pPC90PgoKPHQ+U2VlIDx4cmVmIHRhcmdldD0i
ZmluZ2VycHJpbnQtZ2VuZXJhdGlvbiIgLz4gZm9yIGFuIGV4YW1wbGUgcHJvZ3JhbQp0aGF0IGdl
bmVyYXRlcyBwdWJsaWMga2V5IGZpbmdlcnByaW50cyBmcm9tIFN1YmplY3RQdWJsaWNLZXlJbmZv
CmZpZWxkcyBpbiBjZXJ0aWZpY2F0ZXMuPC90PgoKPHQ+VGhlIGJyZWFrdiBkaXJlY3RpdmUgY29t
bXVuaWNhdGVzIHRvIFVBcyBhIHBpbiBicmVhayB2ZXJpZmllciwgYW5kCnRoZSBicmVha2MgZGly
ZWN0aXZlIGNvbW11bmljYXRlcyB0aGUgcGluIGJyZWFrIGNvZGUuIEhvc3RzIFNIT1VMRApnZW5l
cmF0ZSBwaW4gYnJlYWsgY29kZXMgYW5kIHZlcmlmaWVycy4gV2hlbiBwcmVzZW50LCBVQXMgTVVT
VCBub3RlCnBpbiBicmVhayB2ZXJpZmllcnMgYW5kIGhvbm9yIHBpbiBicmVhayBjb2Rlcy4gU2Vl
Cjx4cmVmIHRhcmdldD0idW4tcGlubmluZyIgLz4gZm9yIGEgZGlzY3Vzc2lvbiBvZiB2ZXJpZmll
cnMgYW5kCmNvZGVzLjwvdD4KCjxzZWN0aW9uIGFuY2hvcj0ibm90aW5nLXZhbGlkYXRpbmciIHRp
dGxlPSJOb3RpbmcgYW5kIFZhbGlkYXRpbmcgUGlucyI+Cgo8dD5VcG9uIHJlY2VpcHQgb2YgdGhp
cyBoZWFkZXIgZmllbGQsIHRoZSBVQSB3aWxsIG5vdGUgdGhlIEhTVFMgSG9zdAphcyBhIEtub3du
IFBpbm5lZCBIU1RTIEhvc3QuIFdoZW4gY29ubmVjdGluZyB0byBhIEtub3duIFBpbm5lZCBIU1RT
Ckhvc3QsIHRoZSBVQSB3aWxsIGNvbXBhcmUgdGhlIHB1YmxpYyBrZXkgZmluZ2VycHJpbnQocykg
aW4gdGhlIEhvc3QncwpjZXJ0aWZpY2F0ZSBjaGFpbiB0byB0aGUgcGlubmVkIGZpbmdlcnByaW50
cywgYW5kIHdpbGwgZmFpbCBjbG9zZWQKdW5sZXNzIGF0IGxlYXN0IG9uZSBwdWJsaWMga2V5IGlu
IHRoZSBjaGFpbiBoYXMgYSBmaW5nZXJwcmludCBtYXRjaGluZwpvbmUgb2YgdGhlIHBpbm5lZCBm
aW5nZXJwcmludHMuIChGb2xsb3dpbmcgdGhlIEhTVFMgc3BlY2lmaWNhdGlvbiwgVExTCmVycm9y
cyBmb3IgSFNUUyBob3N0cyBtdXN0IGJlIGhhcmQsIHdpdGggbm8gY2hhbmNlIGZvciB0aGUgdXNl
ciB0bwpjbGljayB0aHJvdWdoIGFueSB3YXJuaW5ncyBvciBlcnJvcnMuIFdlIHRyZWF0IGZpbmdl
cnByaW50IG1pc21hdGNoIGluCnRoZSBzYW1lIHdheS4pPC90PgoKPHQ+Tm90ZSB0aGF0IHRvIHZh
bGlkYXRlIHBpbnMsIFVBcyBtdXN0IG5lY2Vzc2FyaWx5IHJlYWQgdGhlIGhlYWRlcnMKb2YgYSBy
ZXNwb25zZS4gSW4gY2FzZSBvZiBtaXNtYXRjaCwgVUFzIFNIT1VMRCBOT1QgcmVhZCB0aGUgcmVz
cG9uc2UKYm9keSBhcyBwYXJ0IG9mIGZhaWxpbmcgaGFyZC48L3Q+Cgo8ZmlndXJlIGFuY2hvcj0i
dmFsaWRhdGlvbi1leGFtcGxlIj4KPHByZWFtYmxlPgpUaGlzIHBzZXVkb2NvZGUgaWxsdXN0cmF0
ZXMgaG93IFVBcyB2YWxpZGF0ZSB0aGUgY2VydGlmaWNhdGUgY2hhaW5zCnRoZXkgcmVjZWl2ZSBm
cm9tIEtub3duIFBpbm5lZCBIU1RTIEhvc3RzLgo8L3ByZWFtYmxlPgo8YXJ0d29yaz4KZGVmIGNo
YWluX2lzX3Bpbm5lZF92YWxpZChjaGFpbiwgcGlucyk6CiAgICBmb3IgY2VydGlmaWNhdGUgaW4g
Y2hhaW46CiAgICAgICAgZm9yIGZpbmdlcnByaW50IGluIHBpbnM6CiAgICAgICAgICAgIGlmIGNl
cnRpZmljYXRlLnB1YmxpY19rZXkuZmluZ2VycHJpbnQgPT0gZmluZ2VycHJpbnQ6CiAgICAgICAg
ICAgICAgICByZXR1cm4gVHJ1ZQoKICAgIHJldHVybiBGYWxzZQoKIyAuLi4KaWYgbm90IGNoYWlu
X2lzX3Bpbm5lZF92YWxpZChyZXF1ZXN0LnRsc19pbmZvLmNlcnRpZmljYXRlX2NoYWluLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhzdHNfbWV0YWRhdGFbcmVxdWVzdC5ob3N0bmFtZV0u
cGlucyk6CiAgICByZXF1ZXN0LmZhaWwoKQojIC4uLgo8L2FydHdvcms+CjwvZmlndXJlPgoKPHQ+
VGhlIHBpbiBsaXN0IGFwcGVhcmluZyBpbiBhbiBIU1RTIGhlYWRlciBNVVNUIGhhdmUgYXQgbGVh
c3Qgb25lIHBpbgptYXRjaGluZyBvbmUgb2YgdGhlIHB1YmxpYyBrZXkgZmluZ2VycHJpbnRzIGlu
IHRoZSBjaGFpbiB0aGF0IHdhcwp2YWxpZGF0ZWQgZm9yIHRoZSBIVFRQUyBjb25uZWN0aW9uLiBU
aGlzIGRlZmVuZHMgYWdhaW5zdCBIVFRQIGhlYWRlcgppbmplY3Rpb24gYXR0YWNrcyAoc2VlIDx4
cmVmIHRhcmdldD0iaGVhZGVyLWluamVjdGlvbiIgLz4pLjwvdD4KCjx0PlVBcyBNVVNUIGNhY2hl
IHBpbnMgYW5kIHBpbiBicmVhayB2ZXJpZmllcnMgZm9yIEtub3duIFBpbm5lZCBIU1RTCkhvc3Rz
LCBhbmQgTUlHSFQgQVMgV0VMTCBkbyBzbyBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgb3RoZXIgSFNU
UwptZXRhZGF0YS4gSWYgdGhlIG1heEFnZSBkaXJlY3RpdmUgaXMgcHJlc2VudCBpbiB0aGUgSFNU
UyByZXNwb25zZQpoZWFkZXIsIHRoZSBIU1RTIG1ldGFkYXRhIOKAlCBpbmNsdWRpbmcgZmluZ2Vy
cHJpbnRzIGluIHRoZSBwaW5zCmRpcmVjdGl2ZSDigJQgZXhwaXJlIGF0IHRoYXQgdGltZS48L3Q+
Cgo8L3NlY3Rpb24+PCEtLSBub3RpbmctdmFsaWRhdGluZyAtLT4KCjxzZWN0aW9uIGFuY2hvcj0i
aW50ZXJhY3Rpb25zLWJ1aWx0LWluIiB0aXRsZT0iSW50ZXJhY3Rpb25zIFdpdGgKQnVpbHQtaW4g
SFNUUyBMaXN0cyI+Cgo8dD5VQXMgTUFZIGNob29zZSB0byBpbXBsZW1lbnQgYnVpbHQtaW4gY2Vy
dGlmaWNhdGUgcGlucywgYWxvbmdzaWRlCmFueSBidWlsdC1pbiBIU1RTIG9wdC1pbiBsaXN0LiBV
QXMgTVVTVCBhbGxvdyB1c2VycyB0byBvdmVycmlkZSBhCmJ1aWx0LWluIHBpbiBsaXN0LCBpbmNs
dWRpbmcgdHVybmluZyBpdCBvZmYuPC90PgoKPHQ+SG9zdHMgY2FuIHVwZGF0ZSBidWlsdC1pbiBw
aW4gbGlzdHMgYnkgdXNpbmcgdGhpcwpleHRlbnNpb24uIFNpbWlsYXJseSwgVUFzIGNhbiB1cGRh
dGUgdGhlaXIgYnVpbHQtaW4gcGluIGxpc3RzIHdpdGgKc29mdHdhcmUgdXBkYXRlcy4gSW4gZWl0
aGVyIGNhc2UsIFVBcyBNVVNUIHVzZSB0aGUgbmV3ZXN0IGluZm9ybWF0aW9uCuKAlCBidWlsdC1p
biBvciBzZXQgdmlhIEhTVFMg4oCUIHdoZW4gdmFsaWRhdGluZyBjZXJ0aWZpY2F0ZSBjaGFpbnMg
Zm9yCnRoZSBob3N0LjwvdD4KCjwvc2VjdGlvbj48IS0tIGludGVyYWN0aW9ucy1idWlsdC1pbiAt
LT4KCjxzZWN0aW9uIGFuY2hvcj0idW4tcGlubmluZyIgdGl0bGU9IlVuLXBpbm5pbmciPgoKPHQ+
SG9zdHMgY2FuIGVuYWJsZSBwaW4gcmV2b2NhdGlvbiBmb3IgdGhlaXIgcHJldmlvdXNseS1waW5u
ZWQga2V5CmZpbmdlcnByaW50cyBieSBzZXR0aW5nIHBpbiBicmVhayB2ZXJpZmllcnMgdXNpbmcg
dGhlIGJyZWFrdgpkaXJlY3RpdmUuIFRoZW4sIHdoZW4gaG9zdHMgd2FudCB0byBicmVhayBwaW5z
LCB0aGV5IHNldCB0aGUgcGluIGJyZWFrCmNvZGUgaW4gdGhlaXIgSFNUUyBoZWFkZXJzIHVzaW5n
IHRoZSBicmVha2MgZGlyZWN0aXZlLiAoVGhpcyBpZGVhIGlzCmR1ZSB0byBQZXJyaW4gaW4gPHhy
ZWYgdGFyZ2V0PSJwaW4tYnJlYWstY29kZXMiIC8+Lik8L3Q+Cgo8dD5QaW4gYnJlYWsgY29kZXMg
YXJlIHNob3J0IHJhbmRvbSBzdHJpbmdzLCBrZXB0IHNlY3JldCB1bnRpbCB0aGUKaG9zdCBvcGVy
YXRvciB3YW50cyB0byBicmVhayB0aGUgcGlucy4gUGluIGJyZWFrIHZlcmlmaWVycyBhcmUgc2lt
cGx5Cmhhc2hlcyBvZiB0aGUgY29kZXMuIEdlbmVyYXRpbmcgY29kZXMgYW5kIHZlcmlmaWVycywg
YW5kIHZlcmlmeWluZwp0aGF0IGNvZGVzIG1hdGNoIGEgcHJldmlvdXNseSBzZXQgdmVyaWZpZXIs
IGlzIHRyaXZpYWwuIFNlZQo8eHJlZiB0YXJnZXQ9InB5dGhvbi12ZXJpZmllcnMiIC8+LjwvdD4K
CjxmaWd1cmUgYW5jaG9yPSJweXRob24tdmVyaWZpZXJzIj4KPGFydHdvcms+CmRlZiBtYWtlX3Bp
bl9icmVhaygpOgogICAgY29kZSA9IG9zLnVyYW5kb20oMTYpCiAgICB2ZXJpZmllciA9IGhhc2hs
aWIuc2hhMShjb2RlKS5kaWdlc3QoKQogICAgcmV0dXJuIGJhc2U2NC5iNjRlbmNvZGUoY29kZSks
IGJhc2U2NC5iNjRlbmNvZGUodmVyaWZpZXIpCgpkZWYgdmVyaWZ5X2NvZGUoY29kZSwgdmVyaWZp
ZXIpOgogICAgYyA9IGJhc2U2NC5iNjRkZWNvZGUoY29kZSkKICAgIHYgPSBoYXNobGliLnNoYTEo
YykuZGlnZXN0KCkKICAgIHJldHVybiB2ZXJpZmllciA9PSBiYXNlNjQuYjY0ZW5jb2RlKHYpCgoK
aWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIGltcG9ydCBzeXMKCiAgICBpZiAxID09IGxl
bihzeXMuYXJndik6CiAgICAgICAgcHJpbnQgbWFrZV9waW5fYnJlYWsoKQogICAgZWxpZiAzID09
IGxlbihzeXMuYXJndik6CiAgICAgICAgcHJpbnQgdmVyaWZ5X2NvZGUoc3lzLmFyZ3ZbMV0sIHN5
cy5hcmd2WzJdKQo8L2FydHdvcms+CjwvZmlndXJlPgoKPHQ+SG9zdHMgY2FuIHJlcXVlc3QgdGhh
dCBVQXMgZm9yZ2V0IHBpbm5lZCBmaW5nZXJwcmludHMgYnkgaXNzdWluZyBhCnZhbGlkIEhTVFMg
aGVhZGVyIGNvbnRhaW5pbmcgdGhlIHBpbiBicmVhayBjb2RlLiBVQXMgTVVTVCBmb3JnZXQgYWxs
CnBpbm5lZCBmaW5nZXJwcmludHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBtYXRjaGluZyBwaW4gYnJl
YWsgdmVyaWZpZXIsCmFuZCBNVVNUIE5PVCBmb3JnZXQgYW55IHBpbm5lZCBmaW5nZXJwcmludHMg
bm90IGFzc29jaWF0ZWQgd2l0aCB0aGF0CnZlcmlmaWVyLjwvdD4KCjx0PkluIHRoZSBldmVudCB0
aGF0IGEgaG9zdCBzZW5kcyBhbiBIU1RTIGhlYWRlciBjb250YWluaW5nIGEgYnJlYWtjCnRoYXQg
ZG9lcyBub3QgbWF0Y2ggYSBicmVha3YgdGhlIFVBIGhhcyBwcmV2aW91c2x5IG5vdGVkLCB0aGUg
VUEgTVVTVAppZ25vcmUgdGhhdCBicmVha2MgYW5kIE1VU1QgcHJvY2VzcyBhbnkgcGlucyBvciBi
cmVha3YgZGlyZWN0aXZlcyBhcwpub3JtYWwuIFRoaXMgaXMgc28gdGhhdCBob3N0cyBjYW4gYnJl
YWsgb2xkIHBpbnMgYnV0IHN0aWxsCnN1Y2Nlc3NmdWxseSBzZXQgbmV3IHBpbnMgYW5kIHZlcmlm
aWVycyBpbiBVQXMgdGhhdCBoYXZlIG5vdApwcmV2aW91c2x5IChvciByZWNlbnRseSkgbm90ZWQg
dGhlIGhvc3QuPC90PgoKPHQ+SG9zdCBvcGVyYXRvcnMgU0hPVUxEIGtlZXAgdGhlIHBpbiBicmVh
ayBjb2RlIHNlY3JldCwgYW5kIFNIT1VMRApnZW5lcmF0ZSBjb2RlcyB0aGF0IGFyZSBjb21wdXRh
dGlvbmFsbHkgaW5mZWFzaWJsZSB0byBndWVzcyAoc3VjaCBhcwpieSB1c2luZyB0aGVpciBzeXN0
ZW0ncyBjcnlwdG9ncmFwaGljIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yOyBub3RlCnRoYXQgYSAx
MjgtYml0IHNlY3VyaXR5IGxldmVsIHN1ZmZpY2VzKS48L3Q+Cgo8L3NlY3Rpb24+PCEtLSB1bi1w
aW5uaW5nIC0tPgoKPHNlY3Rpb24gYW5jaG9yPSJwaW5uaW5nLXNlbGYtc2lnbmVkIiB0aXRsZT0i
UGlubmluZyBTZWxmLVNpZ25lZApMZWFmIENlcnRpZmljYXRlcyI+Cgo8dD5UbyB0aGUgZXh0ZW50
IHRoYXQgVUFzIGFsbG93IG9yIGVuYWJsZSBob3N0cyB0byBhdXRoZW50aWNhdGUKdGhlbXNlbHZl
cyB3aXRoIHNlbGYtc2lnbmVkIGVuZCBlbnRpdHkgY2VydGlmaWNhdGVzLCB0aGV5IE1BWSBhbHNv
CmFsbG93IGhvc3RzIHRvIHBpbiB0aGUgcHVibGljIGtleXMgaW4gc3VjaCBjZXJ0aWZpY2F0ZXMu
IFRoZSB1c2FiaWxpdHkKYW5kIHNlY3VyaXR5IGltcGxpY2F0aW9ucyBvZiB0aGlzIHByYWN0aWNl
IGFyZSBvdXRzaWRlIHRoZSBzY29wZSBvZgp0aGlzIHNwZWNpZmljYXRpb24uPC90PgoKPC9zZWN0
aW9uPjwhLS0gcGlubmluZy1zZWxmLXNpZ25lZCAtLT4KCjwvc2VjdGlvbj48IS0tIHNlcnZlci1j
bGllbnQtYmVoYXZpb3IgLS0+Cgo8c2VjdGlvbiBhbmNob3I9InNlY3VyaXR5LWNvbnNpZGVyYXRp
b25zIiB0aXRsZT0iU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMiPgoKPHNlY3Rpb24gYW5jaG9yPSJk
ZXBsb3ltZW50LWd1aWRhbmNlIiB0aXRsZT0iRGVwbG95bWVudCBHdWlkYW5jZSI+Cgo8dD5UbyBy
ZWNvdmVyIGZyb20gZGlzYXN0ZXJzIG9mIHZhcmlvdXMgdHlwZXMsIGFzIGRlc2NyaWJlZCBiZWxv
dywgd2UKcmVjb21tZW5kIHRoYXQgSFNUUyBIb3N0cyBmb2xsb3cgdGhlc2UgZ3VpZGVsaW5lcy48
L3Q+Cgo8dD48bGlzdCBzdHlsZT0ic3ltYm9scyI+Cgo8dD5PcGVyYXRvcnMgU0hPVUxEIGhhdmUg
YSBzYWZldHkgbmV0OiB0aGV5IHNob3VsZCBnZW5lcmF0ZSBhIGJhY2t1cAprZXkgcGFpciwgZ2V0
IGl0IHNpZ25lZCBieSBhIGRpZmZlcmVudCAocm9vdCBhbmQvb3IgaW50ZXJtZWRpYXJ5KSBDQQp0
aGFuIHRoZWlyIGxpdmUgY2VydGlmaWNhdGUocyksIHN0b3JlIGl0IHNhZmVseSBvZmZsaW5lLCBh
bmQgc2V0IHRoaXMKYmFja3VwIHBpbiBpbiB0aGVpciBwaW5zIGRpcmVjdGl2ZS4KPGxpc3Qgc3R5
bGU9InN5bWJvbHMiPgo8dD5IYXZpbmcgYSBiYWNrdXAgY2VydGlmaWNhdGUgd2FzIGFsd2F5cyBh
IGdvb2QgaWRlYSBhbnl3YXkuPC90Pgo8L2xpc3Q+CjwvdD4KCjx0Pkl0IGlzIG1vc3QgZWNvbm9t
aWNhbCB0byBoYXZlIHRoZSBiYWNrdXAgY2VydGlmaWNhdGUgc2lnbmVkIGJ5IGEKY29tcGxldGVs
eSBkaWZmZXJlbnQgc2lnbmF0dXJlIGNoYWluIHRoYW4gdGhlIGxpdmUgY2VydGlmaWNhdGUsIHRv
Cm1heGltaXplIHJlY292ZXJhYmlsaXR5IGluIHRoZSBldmVudCBvZiBlaXRoZXIgcm9vdCBvciBp
bnRlcm1lZGlhcnkKc2lnbmVyIGNvbXByb21pc2UuPC90PgoKPHQ+T3BlcmF0b3JzIFNIT1VMRCBw
ZXJpb2RpY2FsbHkgZXhlcmNpc2UgdGhlaXIgYmFja3VwIHBpbiBwbGFuIOKAlCBhbgp1bnRlc3Rl
ZCBiYWNrdXAgaXMgbm8gYmFja3VwIGF0IGFsbC48L3Q+Cgo8dD5PcGVyYXRvcnMgU0hPVUxEIGhh
dmUgYSBkaXZlcnNlIGNlcnRpZmljYXRlIHBvcnRmb2xpby4gVGhleSBzaG91bGQKcGluIHRvIGEg
ZmV3IGRpZmZlcmVudCByb290cywgb3duZWQgYnkgZGlmZmVyZW50IGNvbXBhbmllcyBpZgpwb3Nz
aWJsZS48L3Q+Cgo8dD5PcGVyYXRvcnMgU0hPVUxEIHN0YXJ0IHNtYWxsLiBPcGVyYXRvcnMgU0hP
VUxEIGZpcnN0IGRlcGxveSBIU1RTCmNlcnRpZmljYXRlIHBpbm5pbmcgYnkgc2V0dGluZyBhIG1h
eEFnZSBvZiBtaW51dGVzIG9yIGEgZmV3IGhvdXJzLCBhbmQKZ3JhZHVhbGx5IGluY3JlYXNlIG1h
eEFnZSBhcyB0aGV5IGdhaW4gY29uZmlkZW5jZSBpbiB0aGVpciBvcGVyYXRpb25hbApjYXBhYmls
aXR5LjwvdD4KCjwvbGlzdD48L3Q+Cgo8L3NlY3Rpb24+PCEtLSBkZXBsb3ltZW50LWd1aWRhbmNl
IC0tPgoKPHNlY3Rpb24gYW5jaG9yPSJjb21wcm9taXNlLWRpc2FzdGVycyIgdGl0bGU9IkRpc2Fz
dGVycyBSZWxhdGluZyB0bwpDb21wcm9taXNlcyBvZiBDZXJ0aWZpY2F0ZXMiPgoKPHNlY3Rpb24g
YW5jaG9yPSJsZWFmLWNvbXByb21pc2UiIHRpdGxlPSJUaGUgcHJpdmF0ZSBrZXkgZm9yIHRoZQpw
aW5uZWQgbGVhZiBpcyBzdG9sZW4iPgoKPHQ+SWYgYSBsZWFmIGNlcnRpZmljYXRlIGlzIGNvbXBy
b21pc2VkLCB0aGUgaG9zdCBpcyBsaWtlbHkgdG8gaGF2ZQpleHBlcmllbmNlZCBhIGNvbXBsZXRl
IGNvbXByb21pc2UsIGluIHdoaWNoIGNhc2UgdGhlIHByb2JsZW0gaXMKZ3JlYXRlciB0aGFuIGNl
cnRpZmljYXRlcyBhbmQgcGlucy4gU2VlIDx4cmVmCnRhcmdldD0ic2VydmVyLWNvbXByb21pc2Ui
IC8+LjwvdD4KCjwvc2VjdGlvbj48IS0tIGxlYWYtY29tcHJvbWlzZSAtLT4KCjxzZWN0aW9uIGFu
Y2hvcj0ic2lnbmVyLWNvbXByb21pc2UiIHRpdGxlPSJUaGUgcm9vdCBvciBpbnRlcm1lZGlhcnkK
Q0EgaXMgY29tcHJvbWlzZWQiPgoKPHQ+VGhpcyBkaXNhc3RlciB3aWxsIGFmZmVjdCBtYW55IGhv
c3RzIChIU1RTIEhvc3RzIGFuZCBvdGhlciksIGFuZAp3aWxsIGxpa2VseSByZXF1aXJlIGEgY2xp
ZW50IHNvZnR3YXJlIHVwZGF0ZSAoZS5nLiB0byByZXZva2UgdGhlCnNpZ25pbmcgQ0EgYW5kL29y
IHRoZSBmYWxzZSBjZXJ0aWZpY2F0ZXMgaXQgaXNzdWVkKS48L3Q+Cgo8dD5JZiB0aGUgb3BlcmF0
b3IgaGFzIGEgYmFja3VwIHBpbiB3aG9zZSBzaWduYXR1cmUgY2hhaW4gaXMgc3RpbGwKdmFsaWQs
IHRoZXkgc2hvdWxkIGRlcGxveSBpdC4gSW4gdGhpcyBjYXNlLCB0aGUgaG9zdCBuZWVkIG5vdCBl
dmVuCmRlZ3JhZGUgZnJvbSBLbm93biBQaW5uZWQgdG8gS25vd24uPC90PgoKPC9zZWN0aW9uPjwh
LS0gc2lnbmVyLWNvbXByb21pc2UgLS0+Cgo8L3NlY3Rpb24+PCEtLSBjb21wcm9taXNlLWRpc2Fz
dGVycyAtLT4KCjxzZWN0aW9uIGFuY2hvcj0iY2VydGlmaWNhdGUtbWFuYWdlbWVudC1kaXNhc3Rl
cnMiIHRpdGxlPSJEaXNhc3RlcnMKUmVsYXRpbmcgdG8gQ2VydGlmaWNhdGUgTWlzbWFuYWdlbWVu
dCI+Cgo8c2VjdGlvbiBhbmNob3I9ImxlYWYtZXhwaXJhdGlvbiIgdGl0bGU9IlRoZSBsZWFmIGNl
cnRpZmljYXRlCmV4cGlyZXMiPgoKPHQ+T3BlcmF0b3JzIHNob3VsZCBkZXBsb3kgdGhlaXIgYmFj
a3VwIHBpbi48L3Q+Cgo8dD5Ob3RlIHRoYXQgd2hlbiBldmFsdWF0aW5nIGEgcGlubmVkIGNlcnRp
ZmljYXRlLCB0aGUgVUEgTVVTVCB1bi1waW4KdGhlIGZpbmdlcnByaW50IGlmIHRoZSBjZXJ0aWZp
Y2F0ZSBoYXMgZXhwaXJlZC4gSWYgYSBwaW4gbGlzdCBiZWNvbWVzCmVtcHR5LCB0aGUgVUEgZG93
bmdyYWRlcyB0aGUgaG9zdCBmcm9tIEtub3duIFBpbm5lZCBIU1RTIEhvc3QgdG8gS25vd24KSFNU
UyBIb3N0LiBUaGUgdXN1YWwgSFRUUFMgdmFsaWRhdGlvbiBwcm9jZWR1cmUgbm93IGFwcGxpZXMu
PC90PgoKPHQ+T3BlcmF0b3JzIHNob3VsZCBnZXQgYW55IENBIHRvIHNpZ24gYSBuZXcgY2VydCB3
aXRoIHVwZGF0ZWQgZXhwaXJ5LApiYXNlZCBvbiB0aGUgZXhpc3RpbmcsIHVuY2hhbmdlZCBwdWJs
aWMga2V5LjwvdD4KCjx0PjxsaXN0IHN0eWxlPSJzeW1ib2xzIj4KPHQ+QW5kL29yLCBvcGVyYXRv
cnMgc2hvdWxkIGRlcGxveSB0aGVpciBiYWNrdXAgcGluIGFuZC9vciBoYXZlIGEgQ0EKc2lnbiBh
biBhbGwtbmV3IGtleS48L3Q+Cgo8dD5PcGVyYXRvcnMgc2hvdWxkIGNvbnRpbnVlIHRvIHNldCBw
aW5zIGluIHRoZWlyIEhTVFMgaGVhZGVyLCBhbmQgVUFzCndpbGwgdXBncmFkZSBmcm9tIEtub3du
IEhTVFMgSG9zdCB0byBLbm93biBQaW5uZWQgSFNUUyBIb3N0IHdoZW4gdGhlCmZpbmdlcnByaW50
KHMpIHJlZmVyKHMpIHRvIHZhbGlkIGNlcnRpZmljYXRlKHMpIGFnYWluLjwvdD4gPC9saXN0Pjwv
dD4KCjwvc2VjdGlvbj48IS0tIGxlYWYtZXhwaXJhdGlvbiAtLT4KCjxzZWN0aW9uIGFuY2hvcj0i
bGVhZi1sb3NzIiB0aXRsZT0iVGhlIGxlYWYgY2VydGlmaWNhdGUgaXMgbG9zdCI+Cgo8dD5PcGVy
YXRvcnMgc2hvdWxkIGRlcGxveSB0aGVpciBiYWNrdXAgcGluLiBBbHRlcm5hdGVseSwgaWYgdGhl
eQpwaW5uZWQgdG8gYSByb290IG9yIGludGVybWVkaWFyeSBzaWduZXIsIHRoZXkgc2hvdWxkIGdl
dCBhIG5ldyBsZWFmCmNlcnRpZmljYXRlIHNpZ25lZCBieSBvbmUgb2YgdGhvc2Ugc2lnbmVycy48
L3Q+Cgo8dD5PcGVyYXRvcnMgU0hPVUxEIGF0dGVtcHQgdG8gZ2V0IHRoZSBjZXJ0aWZpY2F0ZSBy
ZXZva2VkIGJ5IHdoYXRldmVyCm1lYW5zIGF2YWlsYWJsZSAoZXh0YW50IHJldm9jYXRpb24gbWVj
aGFuaXNtcyBsaWtlIENSTCBvciBPQ1NQLApibGFja2xpc3RpbmcgaW4gdGhlIFVBLCBvciBmdXR1
cmUgcmV2b2NhdGlvbiBtZWNoYW5pc21zKS4KPGxpc3Qgc3R5bGU9InN5bWJvbHMiPgo8dD5XZSBr
bm93IHRoYXQgZXh0YW50IHJldm9jYXRpb24gbWVjaGFuaXNtcyBhcmUgdW5yZWxpYWJsZS4gT3Bl
cmF0b3JzClNIT1VMRCBOT1Qgbm90IGRlcGVuZCBvbiB0aGVtLjwvdD4KPC9saXN0Pgo8L3Q+Cgo8
L3NlY3Rpb24+PCEtLSBsZWFmLWxvc3MgLS0+Cgo8c2VjdGlvbiBhbmNob3I9ImNhLWV4dG9ydGlv
biIgdGl0bGU9IlRoZSBDQSBpcyBleHRvcnRpbmcgdGhlIG9wZXJhdG9yCmFwcHJvYWNoaW5nIHJl
bmV3YWwvZXhwaXJ5IHRpbWUiPgoKPHQ+SWYgdGhlIGJhY2t1cCBwaW4gY2hhaW5zIHRvIGEgZGlm
ZmVyZW50IHNpZ25lciwgdGhlIG9wZXJhdG9yIHNob3VsZApkZXBsb3kgaXQuIChUaGV5IHNob3Vs
ZCB0aGVuIGdldCBhIG5ldyBiYWNrdXAgcGluLik8L3Q+Cgo8dD5UaGUgdGltZSBydW5uaW5nIHVw
IHRvIHJlbmV3YWwgY2FuIGJlIHVzZWQgdG8gc2VydmUgYWRkaXRpb25hbCBIU1RTCnB1YmxpYyBr
ZXkgaGFzaGVzLCBwaW5uaW5nIHRvIG5ldyByb290IENBcy48L3Q+Cgo8dD48bGlzdCBzdHlsZT0i
c3ltYm9scyI+Cjx0Pkhvc3RzIGNhbiBhbHNvIGRpc2FibGUgcGlubmluZyBhbHRvZ2V0aGVyIGFz
IGRlc2NyaWJlZCBhYm92ZS48L3Q+CjwvbGlzdD48L3Q+Cgo8dD5JZiB0aGUgaG9zdCBpcyBwaW5u
ZWQgdG8gbGVhdmVzIG9yIGl0cyBvd24gaW50ZXJtZWRpYXJ5LCBvcGVyYXRvcnMKY2FuIHNpbXBs
eSBnZXQgYSBkaWZmZXJlbnQgcm9vdCBDQSB0byBzaWduIHRoZSBleGlzdGluZyBwdWJsaWMKa2V5
LjwvdD4KCjx0PklmIHRoZSBvcGVyYXRvciBmYWlscyB0byBnZXQgbmV3IGNlcnRzIGluIHRpbWUs
IGFuZCB0aGUgaG9zdCBpcwpwaW5uZWQgb25seSB0byB0aGUgb25lIHJvb3QgQ0EsIHRoZSBzb2x1
dGlvbiBpcyBzaW1wbGU7IHNlZSA8eHJlZgp0YXJnZXQ9ImxlYWYtZXhwaXJhdGlvbiIgLz4uPC90
PgoKPC9zZWN0aW9uPjwhLS0gY2EtZXh0b3J0aW9uIC0tPgoKPC9zZWN0aW9uPjwhLS0gY2VydGlm
aWNhdGUtbWFuYWdlbWVudC1kaXNhc3RlcnMgLS0+Cgo8c2VjdGlvbiBhbmNob3I9InZ1bG5lcmFi
aWxpdHktZGlzYXN0ZXJzIiB0aXRsZT0iRGlzYXN0ZXJzIFJlbGF0aW5nIHRvClZ1bG5lcmFiaWxp
dGllcyBpbiB0aGUgS25vd24gSFNUUyBIb3N0Ij4KCjxzZWN0aW9uIGFuY2hvcj0iaGVhZGVyLWlu
amVjdGlvbiIgdGl0bGU9IlRoZSBob3N0IGlzIHZ1bG5lcmFibGUgdG8KSFRUUCBoZWFkZXIgaW5q
ZWN0aW9uIj4KCjx0Pk5vdGUgdGhhdCBoZWFkZXIgaW5qZWN0aW9uIHZ1bG5lcmFiaWxpdGllcyBh
cmUgaW4gZ2VuZXJhbCBtb3JlCnNldmVyZSB0aGFuIG1lcmVseSBkaXNhYmxpbmcgcGlubmluZyBm
b3IgaW5kaXZpZHVhbCB1c2Vycy48L3Q+Cgo8dD5UaGUgYXR0YWNrZXIgY291bGQgc2V0IGFkZGl0
aW9uYWwgcGlucyBmb3IgY2VydGlmaWNhdGVzIGhlCmNvbnRyb2xzLCBvciBwaW4gYnJlYWsgdmVy
aWZpZXJzIGZvciBjb2RlcyBoZSBjb250cm9scywgYWxsb3dpbmcgaGltCnRvIHVuZGV0ZWN0YWJs
eSBNSVRNIGNsaWVudHMuIFdoZW4gb3IgaWYgdGhlIGNsaWVudCBpcyBvdXRzaWRlIHRoZQpzY29w
ZSBvZiB0aGUgYXR0YWNrZXIncyBNSVRNIGF0dGFjaywgdGhlIHJlc3VsdCBpcyBEb1MuPC90PgoK
PHQ+VGhlIGF0dGFja2VyIGNvdWxkIGRpc2FibGUgSFNUUyBhbmQgcGlucy48L3Q+Cgo8L3NlY3Rp
b24+PCEtLSBoZWFkZXItaW5qZWN0aW9uIC0tPgoKPHNlY3Rpb24gYW5jaG9yPSJzZXJ2ZXItY29t
cHJvbWlzZSIgdGl0bGU9IlRoZSBob3N0IHN1ZmZlcnMgZnVsbApzZXJ2ZXItc2lkZSBjb21wcm9t
aXNlIj4KCjx0PkFmdGVyIHNldHRpbmcgdXAgYSBuZXcgaG9zdCwgb3BlcmF0b3JzIHNob3VsZCBk
ZXBsb3kgdGhlIGJhY2t1cApwaW4uIEFsdGVybmF0ZWx5LCBpZiB0aGUgaG9zdCBpcyBwaW5uZWQg
dG8gYSByb290IG9yIGludGVybWVkaWFyeQpzaWduZXIsIHRoZSBvcGVyYXRvciBzaG91bGQgZ2V0
IGEgbmV3IGxlYWYgY2VydGlmaWNhdGUgc2lnbmVkIGJ5IG9uZQpvZiB0aG9zZSBzaWduZXJzLjwv
dD4KCjx0Pk9wZXJhdG9ycyBTSE9VTEQgYXR0ZW1wdCB0byBnZXQgdGhlIGNlcnRpZmljYXRlIGNv
bnRhaW5pbmcgdGhlCmNvbXByb21pc2VkIHByaXZhdGUga2V5IHJldm9rZWQgYnkgd2hhdGV2ZXIg
bWVhbnMgYXZhaWxhYmxlIChleHRhbnQKcmV2b2NhdGlvbiBtZWNoYW5pc21zIGxpa2UgQ1JMIG9y
IE9DU1AsIGJsYWNrbGlzdGluZyBpbiB0aGUgVUEsIG9yCmZ1dHVyZSByZXZvY2F0aW9uIG1lY2hh
bmlzbXMpLgo8bGlzdCBzdHlsZT0ic3ltYm9scyI+Cjx0PldlIGtub3cgdGhhdCBleHRhbnQgcmV2
b2NhdGlvbiBtZWNoYW5pc21zIGFyZSB1bnJlbGlhYmxlLiBEbyBub3QKZGVwZW5kIG9uIHRoZW0u
PC90Pgo8L2xpc3Q+CjwvdD4KCjwvc2VjdGlvbj48IS0tIHNlcnZlci1jb21wcm9taXNlIC0tPgoK
PC9zZWN0aW9uPjwhLS0gdnVsbmVyYWJpbGl0eS1kaXNhc3RlcnMgLS0+Cgo8L3NlY3Rpb24+PCEt
LSBzZWN1cml0eS1jb25zaWRlcmF0aW9ucyAtLT4KCjxzZWN0aW9uIGFuY2hvcj0idXNhYmlsaXR5
IiB0aXRsZT0iVXNhYmlsaXR5IENvbnNpZGVyYXRpb25zIj4KCjx0PldoZW4gcGlubmluZyB3b3Jr
cyB0byBkZXRlY3QgaW1wb3N0b3IgS25vd24gUGlubmVkIEhTVFMgSG9zdHMsCnVzZXJzIHdpbGwg
ZXhwZXJpZW5jZSBkZW5pYWwgb2Ygc2VydmljZS4gVUFzIFNIT1VMRCBleHBsYWluIHRoZSByZWFz
b24Kd2h5LiBJZiBpdCBoYXBwZW5zIHRoYXQgdHJ1ZSBwb3NpdGl2ZXMgKGFjdHVhbCBhdHRhY2tz
KSBvdXRudW1iZXIKZmFsc2UgcG9zaXRpdmVzIChob3N0cyBicmlja2luZyB0aGVtc2VsdmVzIGJ5
IGFjY2lkZW50KSwgdGhlIGZlYXR1cmUKd2lsbCBnYWluIGEgcG9zaXRpdmUgcmVwdXRhdGlvbi4g
Tm90ZSB0aGF0IHBpbm5pbmcgaGFzIHN0YXJ0ZWQgbGlmZQp3aXRoIGEgZ29vZCByZXB1dGF0aW9u
IGJlY2F1c2UgaXQgcHJvdm9rZWQgdGhlIGRpc2NvdmVyeSBvZiB0aGUKRGlnaU5vdGFyIENBIGNv
bXByb21pc2UuIChXaGVuIERpZ2lOb3RhciBzaWduZWQgYSBjZXJ0aWZpY2F0ZSBmb3IKKi5nb29n
bGUuY29tIGluIEF1Z3VzdCAyMDExLCBDaHJvbWUgdXNlcnMgZGlzY292ZXJlZCB0aGUgYXR0YWNr
IGR1ZSB0bwp0aGUgcHJlLWxvYWRlZCBwaW5zIGZvciBHb29nbGUgZG9tYWlucy4pPC90PgoKPHQ+
V2UgYmVsaWV2ZSB0aGF0LCBpbiBnZW5lcmFsLCBEb1MgaXMgYSBiZXR0ZXIgZmFpbHVyZSBtb2Rl
IHRoYW4gdXNlcgphY2NvdW50L3Nlc3Npb24gY29tcHJvbWlzZSBvciBvdGhlciByZXN1bHQgb2Yg
VExTIGNvbXByb21pc2UuPC90PgoKPHQ+VUFzIE1VU1QgaGF2ZSBhIHdheSBmb3IgdXNlcnMgdG8g
Y2xlYXIgY3VycmVudCBwaW5zIHRoYXQgd2VyZSBzZXQKYnkgSFNUUy4gVUFzIFNIT1VMRCBoYXZl
IGEgd2F5IGZvciB1c2VycyB0byBxdWVyeSB0aGUgY3VycmVudCBzdGF0ZSBvZgpLbm93biAoUGlu
bmVkKSBIU1RTIEhvc3RzLjwvdD4KCjwvc2VjdGlvbj48IS0tIHVzYWJpbGl0eSAtLT4KCjxzZWN0
aW9uIGFuY2hvcj0iZWNvbm9taWMiIHRpdGxlPSJFY29ub21pYyBDb25zaWRlcmF0aW9ucyI+Cgo8
dD5JZiBwaW5uaW5nIGJlY29tZXMgY29tbW9uLCBob3N0IG9wZXJhdG9ycyBtaWdodCBiZWNvbWUg
aW5jZW50aXZpemVkCnRvIGNob29zZSBDQXMgdGhhdCBnZXQgY29tcHJvbWlzZWQgbGVzcyBvZnRl
biwgb3IgcmVzcG9uZCBiZXR0ZXIgdG8KY29tcHJvbWlzZS4gVGhpcyB3aWxsIHJlcXVpcmUgaW5m
b3JtYXRpb24gdG8gZmxvdyBpbnRvIHRoZSBtYXJrZXQsIGFuZApmb3IgcGVvcGxlIHRvIGludGVy
cHJldCBubyBuZXdzIHBvc3QtY29tcHJvbWlzZSBhcyBiYWQgbmV3cy4gUGlubmluZwppdHNlbGYg
d2lsbCBwcm92aWRlIHNvbWUgb2YgdGhhdCBpbmZvcm1hdGlvbiwgYXMgd2lsbCBzb3VyY2VzIGxp
a2UgVUEKdmVuZG9yIGNvbW11bmljYXRpb25zLCB0aGUgRUZGIFNTTCBPYnNlcnZhdG9yeSwgdGhl
IFF1YWx5cyBTU0wgc3VydmV5LApldGMuPC90PgoKPHQ+VGhlIGRpc2FzdGVyIHJlY292ZXJ5IHBs
YW5zIGRlc2NyaWJlZCBhYm92ZSBhbGwgaW5jdXIgbmV3IGNvc3RzIGZvcgpob3N0IG9wZXJhdG9y
cywgYW5kIGluY3JlYXNlIHRoZSBzaXplIG9mIHRoZSBjZXJ0aWZpY2F0ZQptYXJrZXQuIEFyZ3Vh
Ymx5LCB3ZWxsLXJ1biBob3N0cyBoYWQgYWxyZWFkeSBhYnNvcmJlZCB0aGVzZSBjb3N0cwpiZWNh
dXNlIChlLmcuKSBiYWNrdXAgY2VydGlmaWNhdGVzIGZyb20gZGlmZmVyZW50IENBcyB3ZXJlIG5l
Y2Vzc2FyeQpkaXNhc3RlciByZWNvdmVyeSBtZWNoYW5pc21zIGV2ZW4gYmVmb3JlIGNlcnRpZmlj
YXRlIHBpbm5pbmcuIFNtYWxsCnNpdGVzIOKAlCB3aGljaCBhbHRob3VnaCBzbWFsbCBtaWdodCBz
dGlsbCBuZWVkIHRvIHByb3ZpZGUgZ29vZApzZWN1cml0eSDigJQgbWF5IG5vdCBiZSBhYmxlIHRv
IGFmZm9yZCB0aGUgZGlzYXN0ZXIgcmVjb3ZlcnkgbWVjaGFuaXNtcwp3ZSByZWNvbW1lbmQuIChU
aGUgY29zdCBvZiB0aGUgYmFja3VwIGNlcnRpZmljYXRlIGlzIG5vdCB0aGUgaXNzdWU7IGl0Cmlz
IG1vcmUgdGhlIG9wZXJhdGlvbmFsIGNvc3RzIGluIHNhZmVseSBzdG9yaW5nIHRoZSBiYWNrdXAg
YW5kIHRlc3RpbmcKdGhhdCBpdCB3b3Jrcy4pIFRodXMsIGxvdy1yaXNrIHBpbm5pbmcgbWF5IGJl
IGF2YWlsYWJsZSBvbmx5IHRvIGxhcmdlCnNpdGVzOyBzbWFsbCBzaXRlcyBtYXkgaGF2ZSB0byBj
aG9vc2Ugbm8gcGlubmluZyBvciBwb3RlbnRpYWxseQpicmlja2luZyB0aGVpciBob3N0ICh1cCB0
byB0aGUgbWF4QWdlIHdpbmRvdykuIFRoaXMgaXMgbm90IHdvcnNlIHRoYW4KdGhlIHN0YXR1cyBx
dW8uPC90PgoKPC9zZWN0aW9uPjwhLS0gZWNvbm9taWMgLS0+Cgo8c2VjdGlvbiBhbmNob3I9Imlk
ZWFzIiB0aXRsZT0iSWRlYXMiPgoKPHNlY3Rpb24gYW5jaG9yPSJyZXF1aXJpbmctYmFja3VwIiB0
aXRsZT0iUmVxdWlyaW5nIEJhY2t1cCBQaW5zIj4KCjx0PkJlY2F1c2UgYnJpY2tpbmcgcmlzayBt
aXRpZ2F0aW9uIHJlcXVpcmVzIGEgYmFja3VwIHBpbiwgVUFzIGNvdWxkCnJlcXVpcmUgdGhhdCB0
aGUgcGlucyBkaXJlY3RpdmUgaGF2ZSBhdCBsZWFzdCB0d28gZmluZ2VycHJpbnRzLCBhdApsZWFz
dCBvbmUgb2Ygd2hpY2ggZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBwdWJsaWMga2V5cyBpbiBh
bnkgb2YgdGhlCmNlcnRpZmljYXRlcyBpbiB0aGUgY2hhaW4uIChUaGlzIGlkZWEgZHVlIHRvIFRv
bSBTZXBlei4pPC90PgoKPC9zZWN0aW9uPjwhLS0gcmVxdWlyaW5nLWJhY2t1cCAtLT4KCjxzZWN0
aW9uIGFuY2hvcj0icHJlcG9wdWxhdGluZyIgdGl0bGU9IlByZXBvcHVsYXRpbmcgUGluIExpc3Rz
Ij4KCjx0PkhTVFMtYmFzZWQgY2VydGlmaWNhdGUgcGlubmluZywgdW5saWtlIGJ1aWx0LWluIHBp
bm5pbmcsIHN1ZmZlcnMKZnJvbSB0aGUgYm9vdHN0cmFwIHByb2JsZW0uIFRvIHdvcmsgYXJvdW5k
IHRoaXMsIHdlIGNvdWxkIHByZS1wb3B1bGF0ZQphIGJ1aWx0LWluIHBpbiBsaXN0IHdpdGggcHVi
bGljIGtleXMgYXMgb2JzZXJ2ZWQgaW4gdGhlIHdpbGQgYnkgb25lIG9yCm1vcmUgZ2xvYmFsIG9i
c2VydmVycywgc3VjaCBhcyBHb29nbGVib3QsIHRoZSBFRkYgU1NMIE9ic2VydmF0b3J5LApDb252
ZXJnZW5jZSBub3RhcmllcywgYW5kIHNvIG9uLjwvdD4KCjx0Pk9uZSBwcm9ibGVtIHdpdGggdGhp
cyBhcHByb2FjaCBpcyB0aGF0IGl0IGRvZXMgbm90IGludm9sdmUgaG9zdApvcGVyYXRvcnMuIEl0
IGlzIGJlc3QgdG8gZ2V0IG9wZXJhdG9yIGNvbnNlbnQgYmVmb3JlIHNpZ25pbmcgdGhlbSB1cApm
b3IgYSBwb3RlbnRpYWxseSByaXNreSBuZXcgcHJvdG9jb2wgc3VjaCBhcyB0aGlzLiBUaGVyZWZv
cmUgd2UgbGVhdmUKdGhpcyBpZGVhIGZvciB3b3JrIChpbmNsdWRpbmcgdGhpcmQtcGFydHkgVUEg
ZXh0ZW5zaW9ucykuPC90PgoKPC9zZWN0aW9uPjwhLS0gcHJlcG9wdWxhdGluZyAtLT4KCjxzZWN0
aW9uIGFuY2hvcj0idG9vbGluZyIgdGl0bGU9IlRvb2xzIHRvIEFzc2lzdCBDcmVhdGlvbiBvZiBI
ZWFkZXIiPgoKPHQ+SXQgd291bGQgYmUgZ29vZCB0byBwcm92aWRlIHRvb2xzIHRoYXQgcmVhZCBY
LjUwOSBjZXJ0aWZpY2F0ZQpjaGFpbnMgYW5kIGdlbmVyYXRlIGV4YW1wbGUgSFNUUyBoZWFkZXJz
IHRoYXQgb3BlcmF0b3JzIGNhbiBlYXNpbHkgYWRkCnRvIHRoZWlyIHdlYnMgZXJ2ZXIgY29uZmln
dXJhdGlvbnMuPC90PgoKPC9zZWN0aW9uPjwhLS0gdG9vbGluZyAtLT4KCjxzZWN0aW9uIGFuY2hv
cj0icGlubmluZy1zdWJyZXNvdXJjZXMiIHRpdGxlPSJQaW5uaW5nIFN1YnJlc291cmNlcyI+Cgo8
dD5NYW55IGhvc3RzIGhhdmUgcGFnZXMgdGhhdCBsb2FkIHN1YnJlc291cmNlcyBmcm9tIGRvbWFp
bnMgbm90IHVuZGVyCnRoZSBjb250cm9sLCBvciB1bmRlciBvbmx5IHBhcnRpYWwgY29udHJvbCwg
b2YgdGhlIG1haW4gaG9zdCdzCm9wZXJhdG9ycy4gIEZvciBleGFtcGxlLCBwb3B1bGFyIGhvc3Rz
IG9mdGVuIHVzZSBDRE5zLCBhbmQgQ0ROCmN1c3RvbWVycyBtYXkgaGF2ZSBvbmx5IGxpbWl0ZWQs
IGlmIGFueSwgYWJpbGl0eSB0byBpbmZsdWVuY2UgdGhlCmNvbmZpZ3VyYXRpb24gb2YgdGhlIENE
TidzIHNlcnZlcnMuIChUaGlzIGxvbmctc3RhbmRpbmcgcHJvYmxlbSBpcwppbmRlcGVuZGVudCBv
ZiBjZXJ0aWZpY2F0ZSBwaW5uaW5nLik8L3Q+Cgo8dD5UbyBhIGxpbWl0ZWQgZXh0ZW50LCB0aGUg
aW5jbHVkZVN1YkRvbWFpbnMgSFNUUyBkaXJlY3RpdmUgY2FuCmFkZHJlc3MgdGhpczogaWYgdGhl
IENETiBob3N0IGhhcyBhIG5hbWUgdGhhdCBpcyBhIHN1YmRvbWFpbiBvZiB0aGUKbWFpbiBob3N0
IChlLmcuIGFzc2V0cy1mcm9tLWNkbi5leGFtcGxlLmNvbSBwb2ludHMgdG8gQ0ROLW93bmVkCnNl
cnZlcnMpLCBhbmQgaWYgdGhlIG1haW4gaG9zdCdzIG9wZXJhdG9ycyBjYW4gZ3VhcmFudGVlYWJs
eSBrZWVwCnVwLXRvLWRhdGUgd2l0aCB0aGUgQ0ROJ3Mgc2VydmVyIGNlcnRpZmljYXRlIGZpbmdl
cnByaW50cyDigJQgcGVyaGFwcwphcyBwYXJ0IG9mIGV4YW1wbGUuY29tJ3MgY29udHJhY3Qgd2l0
aCB0aGUgQ0ROIOKAlCB0aGVuIHRoZSBwcm9ibGVtIG1heQpiZSBzb2x2ZWQuPC90PgoKPHQ+Q0RO
cyBTSE9VTEQgYWxzbyB1c2UgY2VydGlmaWNhdGUgcGlubmluZyBpbmRlcGVuZGVudGx5IG9mIGFu
eSBvZgp0aGVpciBjdXN0b21lcnMuPC90PgoKPHQ+QWx0aG91Z2ggb25lIGNhbiBpbWFnaW5lIGFu
IGV4dGVuc2lvbiB0byB0aGlzIHNwZWNpZmljYXRpb24KYWxsb3dpbmcgdGhlIG1haW4gcmVzb3Vy
Y2UgdG8gc2V0IHBpbnMgZm9yIHN1YnJlc291cmNlcyBpbiBvdGhlcgpkb21haW5zLCBpdCBpcyBj
b21wbGV4IGFuZCBmcmFnaWxlIGJvdGggZnJvbSB0ZWNobmljYWwgYW5kIGJ1c2luZXNzCnBlcnNw
ZWN0aXZlcy4gVGhlIFVBIHdvdWxkIGhhdmUgdG8gYWNjZXB0IHRob3NlIHBpbnMgZm9yIHRoZQpz
dWJyZXNvdXJjZSBkb21haW5zIE9OTFkgd2hlbiBsb2FkaW5nIHJlc291cmNlcyBmcm9tIHRoZSBz
dWJkb21haW5zIGFzCnBhcnQgb2YgYSBwYWdlIGxvYWQgb2YgdGhlIG1haW4gaG9zdC4gVGhlIGlu
ZGVwZW5kZW5jZSBvZiB0aGUgdHdvCmRvbWFpbnMnIG9wZXJhdGlvbnMgdGVhbXMgd291bGQgc3Rp
bGwgcG9zZSBzeW5jaHJvbml6YXRpb24gcHJvYmxlbXMsCmFuZCBwb3RlbnRpYWxseSBpbmNyZWFz
ZSB0aGUgYnJpY2tpbmcgcmlzay48L3Q+Cgo8dD5UaGVyZWZvcmUsIGV4Y2VwdCBpbiBzaW1wbGUg
Y2FzZXMsIHRoaXMgZG9jdW1lbnQgbGVhdmVzIHRoZQpjcm9zcy1kb21haW4gc3VicmVzb3VyY2Ug
cHJvYmxlbSB0byBmdXR1cmUgd29yay4gT3BlcmF0aW9uYWwKZXhwZXJpZW5jZSB3aXRoIEhTVFMt
YmFzZWQgY2VydGlmaWNhdGUgcGlubmluZyBzaG91bGQgZ3VpZGUgdGhlCmRldmVsb3BtZW50IG9m
IGEgcGxhbiB0byBoYW5kbGUgdGhlIHByb2JsZW0uPC90PgoKPC9zZWN0aW9uPjwhLS0gcGlubmlu
Zy1zdWJyZXNvdXJjZXMgLS0+Cgo8c2VjdGlvbiBhbmNob3I9InBpbm5pbmctd2l0aG91dC1odHRw
cyIgdGl0bGU9IlBpbm5pbmcgV2l0aG91dApSZXF1aXJpbmcgSFRUUFMiPgoKPHQ+U29tZSBob3N0
IG9wZXJhdG9ycyB3b3VsZCBsaWtlIHRvIHRha2UgYWR2YW50YWdlIG9mIGNlcnRpZmljYXRlCnBp
bm5pbmcgd2l0aG91dCByZXF1aXJpbmcgSFRUUFMsIGJ1dCBoYXZpbmcgY2xpZW50cyByZXF1aXJl
IHBpbnMgaW4KdGhlIGV2ZW50IHRoYXQgdGhleSBkbyBjb25uZWN0IHRvIHRoZSBob3N0IHdpdGgg
SFRUUFMuIEFzIHNwZWNpZmllZAphYm92ZSwgdGhlIGN1cnJlbnQgSFNUUy1iYXNlZCBtZWNoYW5p
c20gZG9lcyBub3QgYWxsb3cgZm9yIHRoaXM6CmNsaWVudHMgdGhhdCByZWNlaXZlIHRoZSBwaW5z
IGRpcmVjdGl2ZSB2aWEgSFNUUyB3aWxsIGFsc28gdGhlcmVmb3JlCnJlcXVpcmUgSFRUUFMg4oCU
IHRoYXQgaXMgdGhlIHB1cnBvc2Ugb2YgSFNUUyBhZnRlciBhbGwuIFRvIGhhdmUgYW4KYWRkaXRp
b25hbCBkaXJlY3RpdmUsIGUuZy4gbW9kZT1vcHRpb25hbCwgd291bGQgbm90IHdvcmsgYmVjYXVz
ZSBvbGRlcgpjbGllbnRzIHRoYXQgc3VwcG9ydCBIU1RTIGJ1dCBub3QgdGhlIG1vZGUgZXh0ZW5z
aW9uIHdvdWxkIGVmZmVjdGl2ZWx5CnJlcXVpcmUgSFRUUFMuPC90PgoKPHQ+QWx0ZXJuYXRpdmVz
IGluY2x1ZGUgKGEpIHB1dHRpbmcgdGhlIHBpbnMgZGlyZWN0aXZlIGluIGEgbmV3IGhlYWRlcgpp
bnN0ZWFkIG9mIGV4dGVuZGluZyBIU1RTOyBhbmQgKGIpIHNvbWUga2luZCBvZiBoYWNrIGxpa2Ug
c2V0dGluZwptYXhBZ2U9MCBhbmQgaGF2aW5nIGFuIGFkZGl0aW9uYWwgZGlyZWN0aXZlIHRvIGtl
ZXAgdGhlIHBpbnMgYWxpdmUKKGUuZy4gIHBpbk1heEFnZSkuIFRoZXNlIGFsdGVybmF0aXZlcyBz
ZWVtIHVnbHkgdG8gdXMgYW5kIHdlIHdlbGNvbWUKc3VnZ2VzdGlvbnMgZm9yIGEgYmV0dGVyIHdh
eSB0byBzdXBwb3J0IHRoaXMgZGVwbG95bWVudCBzY2VuYXJpby48L3Q+Cgo8L3NlY3Rpb24+PCEt
LSBwaW5uaW5nLXdpdGhvdXQtaHR0cHMgLS0+Cgo8L3NlY3Rpb24+PCEtLSBpZGVhcyAtLT4KCjwv
bWlkZGxlPgoKPGJhY2s+Cgo8cmVmZXJlbmNlcz4KCjxyZWZlcmVuY2UgYW5jaG9yPSJoc3RzLXNw
ZWMiCnRhcmdldD0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi13ZWJzZWMt
c3RyaWN0LXRyYW5zcG9ydC1zZWMtMDIiPgo8ZnJvbnQ+Cjx0aXRsZT5IVFRQIFN0cmljdCBUcmFu
c3BvcnQgU2VjdXJpdHkgKEhTVFMpPC90aXRsZT4KPGF1dGhvciBpbml0aWFscz0iSi4iIHN1cm5h
bWU9IkhvZGdlcyIgZnVsbG5hbWU9IkplZmYgSG9kZ2VzIj4KPG9yZ2FuaXphdGlvbj5QYXlQYWws
IEluYy48L29yZ2FuaXphdGlvbj4KPC9hdXRob3I+Cgo8YXV0aG9yIGluaXRpYWxzPSJDLiIgc3Vy
bmFtZT0iSmFja3NvbiIgZnVsbG5hbWU9IkNvbGxpbiBKYWNrc29uIj4KPG9yZ2FuaXphdGlvbj5D
YXJuZWdpZSBNZWxsb24gVW5pdmVyc2l0eTwvb3JnYW5pemF0aW9uPgo8L2F1dGhvcj4KCjxhdXRo
b3IgaW5pdGlhbHM9IkEuIiBzdXJuYW1lPSJCYXJ0aCIgZnVsbG5hbWU9IkFkYW0gQmFydGgiPgo8
b3JnYW5pemF0aW9uPkdvb2dsZSwgSW5jLjwvb3JnYW5pemF0aW9uPgo8L2F1dGhvcj4KCjxkYXRl
IG1vbnRoPSJBdWd1c3QiIHllYXI9IjIwMTEiIC8+Cgo8L2Zyb250Pgo8L3JlZmVyZW5jZT4KCjxy
ZWZlcmVuY2UgYW5jaG9yPSJ3aHktZmluZ2VycHJpbnQta2V5Igp0YXJnZXQ9Imh0dHA6Ly93d3cu
aW1wZXJpYWx2aW9sZXQub3JnLzIwMTEvMDUvMDQvcGlubmluZy5odG1sIj4KPGZyb250Pgo8dGl0
bGU+UHVibGljIEtleSBQaW5uaW5nPC90aXRsZT4KPGF1dGhvciBpbml0aWFscz0iQS4iIHN1cm5h
bWU9IkxhbmdsZXkiIGZ1bGxuYW1lPSJBZGFtIExhbmdsZXkiIC8+CjxkYXRlIG1vbnRoPSJNYXki
IHllYXI9IjIwMTEiIC8+CjwvZnJvbnQ+CjwvcmVmZXJlbmNlPgoKPHJlZmVyZW5jZSBhbmNob3I9
InBpbi1icmVhay1jb2RlcyIgdGFyZ2V0PSJodHRwOi8vdHJldnAubmV0L1NBS1AvIj4KPGZyb250
Pgo8dGl0bGU+U2VsZi1Bc3NlcnRlZCBLZXkgUGlubmluZzwvdGl0bGU+CjxhdXRob3IgaW5pdGlh
bHM9IlQuIiBzdXJuYW1lPSJQZXJyaW4iIGZ1bGxuYW1lPSJUcmV2b3IgUGVycmluIiAvPgo8ZGF0
ZSBtb250aD0iU2VwdGVtYmVyIiB5ZWFyPSIyMDExIiAvPgo8L2Zyb250Pgo8L3JlZmVyZW5jZT4K
CjxyZWZlcmVuY2UgYW5jaG9yPSJyZmMtMjExOSIgdGFyZ2V0PSJodHRwOi8vd3d3LmlldGYub3Jn
L3JmYy9yZmMyMTE5LnR4dCI+Cjxmcm9udD4KPHRpdGxlPktleSB3b3JkcyBmb3IgdXNlIGluIFJG
Q3MgdG8gSW5kaWNhdGUgUmVxdWlyZW1lbnQgTGV2ZWxzPC90aXRsZT4KPGF1dGhvciBpbml0aWFs
cz0iUy4iIHN1cm5hbWU9IkJyYWRuZXIiIGZ1bGxuYW1lPSJTY290dCBCcmFkbmVyIiAvPgo8ZGF0
ZSBtb250aD0iTWFyY2giIHllYXI9IjE5OTciIC8+CjwvZnJvbnQ+CjwvcmVmZXJlbmNlPgoKPC9y
ZWZlcmVuY2VzPgoKPHNlY3Rpb24gYW5jaG9yPSJmaW5nZXJwcmludC1nZW5lcmF0aW9uIiB0aXRs
ZT0iRmluZ2VycHJpbnQgR2VuZXJhdGlvbiI+Cgo8dD5UaGlzIEdvIHByb2dyYW0gZ2VuZXJhdGVz
IHB1YmxpYyBrZXkgZmluZ2VycHJpbnRzLCBzdWl0YWJsZSBmb3IgdXNlCmluIHBpbm5pbmcsIGZy
b20gUEVNLWVuY29kZWQgY2VydGlmaWNhdGVzLjwvdD4KCjxmaWd1cmUgYW5jaG9yPSJmaW5nZXJw
cmludC1nZW5lcmF0aW9uLWZpZ3VyZSI+CjxhcnR3b3JrPgpwYWNrYWdlIG1haW4KCmltcG9ydCAo
CiAgICAgICAiaW8vaW91dGlsIgogICAgICAgIm9zIgogICAgICAgImNyeXB0by9zaGExIgogICAg
ICAgImNyeXB0by94NTA5IgogICAgICAgImVuY29kaW5nL2Jhc2U2NCIKICAgICAgICJlbmNvZGlu
Zy9wZW0iCiAgICAgICAiZm10IgopCgpmdW5jIG1haW4oKSB7CiAgICAgICBpZiBsZW4ob3MuQXJn
cykgJmx0OyAyIHsKICAgICAgICAgICAgICAgZm10LlByaW50ZigiVXNhZ2U6ICVzIFBFTS1maWxl
bmFtZVxuIiwgb3MuQXJnc1swXSkKICAgICAgICAgICAgICAgb3MuRXhpdCgxKQogICAgICAgfQog
ICAgICAgcGVtQnl0ZXMsIGVyciA6PSBpb3V0aWwuUmVhZEZpbGUob3MuQXJnc1sxXSkKICAgICAg
IGlmIGVyciAhPSBuaWwgewogICAgICAgICAgICAgICBwYW5pYyhlcnIuU3RyaW5nKCkpCiAgICAg
ICB9CiAgICAgICBibG9jaywgXyA6PSBwZW0uRGVjb2RlKHBlbUJ5dGVzKQogICAgICAgaWYgYmxv
Y2sgPT0gbmlsIHsKICAgICAgICAgICAgICAgcGFuaWMoIk5vIFBFTSBzdHJ1Y3R1cmUgZm91bmQi
KQogICAgICAgfQogICAgICAgZGVyQnl0ZXMgOj0gYmxvY2suQnl0ZXMKICAgICAgIGNlcnRzLCBl
cnIgOj0geDUwOS5QYXJzZUNlcnRpZmljYXRlcyhkZXJCeXRlcykKICAgICAgIGlmIGVyciAhPSBu
aWwgewogICAgICAgICAgICAgICBwYW5pYyhlcnIuU3RyaW5nKCkpCiAgICAgICB9CiAgICAgICBj
ZXJ0IDo9IGNlcnRzWzBdCiAgICAgICBoIDo9IHNoYTEuTmV3KCkKICAgICAgIGguV3JpdGUoY2Vy
dC5SYXdTdWJqZWN0UHVibGljS2V5SW5mbykKICAgICAgIGRpZ2VzdCA6PSBoLlN1bSgpCgogICAg
ICAgZm10LlByaW50ZigiSGV4OiAleFxuQmFzZTY0OiAlc1xuIiwgZGlnZXN0LAogICAgICAgICAg
ICAgICBiYXNlNjQuU3RkRW5jb2RpbmcuRW5jb2RlVG9TdHJpbmcoZGlnZXN0KSkKfQo8L2FydHdv
cms+CjwvZmlndXJlPgoKPC9zZWN0aW9uPjwhLS0gZmluZ2VycHJpbnQtZ2VuZXJhdGlvbiAtLT4K
CjwvYmFjaz4KPC9yZmM+Cg==
--0016368330124d837204ad69ffd3--

From ynir@checkpoint.com  Tue Sep 20 21:54:42 2011
Return-Path: <ynir@checkpoint.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8828721F8ACA for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 21:54:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.398
X-Spam-Level: 
X-Spam-Status: No, score=-10.398 tagged_above=-999 required=5 tests=[AWL=0.201, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 TVKDBjUjTLeK for <websec@ietfa.amsl.com>; Tue, 20 Sep 2011 21:54:40 -0700 (PDT)
Received: from michael.checkpoint.com (smtp.checkpoint.com [194.29.34.68]) by ietfa.amsl.com (Postfix) with ESMTP id 6AE5921F8AC9 for <websec@ietf.org>; Tue, 20 Sep 2011 21:54:40 -0700 (PDT)
X-CheckPoint: {4E797BBA-A-1B221DC2-FFFF}
Received: from il-ex01.ad.checkpoint.com (il-ex01.ad.checkpoint.com [194.29.34.26]) by michael.checkpoint.com (8.13.8/8.13.8) with ESMTP id p8L4rmre029077;  Wed, 21 Sep 2011 07:57:05 +0300
Received: from il-ex01.ad.checkpoint.com ([126.0.0.2]) by il-ex01.ad.checkpoint.com ([126.0.0.2]) with mapi; Wed, 21 Sep 2011 07:54:09 +0300
From: Yoav Nir <ynir@checkpoint.com>
To: Chris Palmer <palmer@google.com>
Date: Wed, 21 Sep 2011 07:53:55 +0300
Thread-Topic: [websec] Next rev of HSTS certificate pinning draft
Thread-Index: Acx4Gn9gk5XRXDlcToiGh0FFYsf6zg==
Message-ID: <4811D001-A093-4E86-B9CC-E40D9289BD95@checkpoint.com>
References: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com> <AE876818-5503-4FC0-A4D3-002A2FDF4DB1@checkpoint.com> <CAOuvq21=CDY-6dufGgDf0-kVqWFQnEYRFhz4cYdNj=cxy7mo9w@mail.gmail.com>
In-Reply-To: <CAOuvq21=CDY-6dufGgDf0-kVqWFQnEYRFhz4cYdNj=cxy7mo9w@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
x-kse-antivirus-interceptor-info: scan successful
x-kse-antivirus-info: Clean
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Sep 2011 04:54:42 -0000

On Sep 21, 2011, at 3:57 AM, Chris Palmer wrote:

>> And one comment as to substance. Section 3.1 says "Have a safety net.  G=
enerate a backup key pair, get it signed..."  I agree that this is a good i=
dea for e-commerce site that lose sales on any outage. But what if I genera=
te a backup key pair for my personal website (www.yoavnir.com is not it!), =
and not get it signed at all?  Then if my regular private key gets compromi=
sed, I then get it signed by some other CA (or the same CA). With DV certif=
icates this takes minutes.
>=20
> That part is not MUST, and is in a section called "guidance". So it's
> not a mandate. Also later on we acknowledge the last-minute signing
> case.
>=20
> Also, we say at the outset that HSTS certificate pinning is for sites
> with high operational maturity =97 if an operator is not prepared to
> plan for disaster, that's a sign they might not need or want HSTS
> certificate pinning. At least not now, in this early stage. I don't
> want for this feature to get a bad reputation when unprepared
> operators get burned.

HSTS (with or without pinning) is a security feature. It prevents certain k=
inds of attacks. Yes, it requires operational maturity in the sense that yo=
u can't let your certificate expire or introduce new keys at a moment's not=
ice. Organizations like the IETF or power utilities should have that kind o=
f operational maturity and need for security.

A requirement for 5 nines or uptime is a different thing. Many websites can=
 live with some downtime. So if you have a serious compromise, you take dow=
n the server, get the certificate signed, and bring the server back up. Thi=
s can all be done in under an hour, and that's acceptable to many. Obviousl=
y not the likes of Paypal, Amazon, or Google. But allnaturalpet.com ?  The =
lost sales from that 1 hour downtime after a rare key compromise may not be=
 worth the hassle of getting a second certificate.


From hallam@gmail.com  Wed Sep 21 06:15:54 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8FCB821F8CD5 for <websec@ietfa.amsl.com>; Wed, 21 Sep 2011 06:15:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.468
X-Spam-Level: 
X-Spam-Status: No, score=-3.468 tagged_above=-999 required=5 tests=[AWL=0.130,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 d-7JgKUzCLq8 for <websec@ietfa.amsl.com>; Wed, 21 Sep 2011 06:15:53 -0700 (PDT)
Received: from mail-yx0-f172.google.com (mail-yx0-f172.google.com [209.85.213.172]) by ietfa.amsl.com (Postfix) with ESMTP id 2D6D721F8CD2 for <websec@ietf.org>; Wed, 21 Sep 2011 06:15:53 -0700 (PDT)
Received: by yxt33 with SMTP id 33so1362081yxt.31 for <websec@ietf.org>; Wed, 21 Sep 2011 06:18:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=1yAzC5CPgyaqEjDeY6LJXEiIG/oZ2/NdBN3TmCty2bU=; b=TUP9zG2gY+YwkGiE2NRHk6ZkRDGaFQfyEjdd7lCTR60iJaxULVaPLAtSp/doLbq2g9 UbGL3X0G7EIDfZtKDsnnGtvOhkQtNFsO9mjcXHvzOAWv96hyk5QTJFvWNeBKaGi20sju c9V5TXzZmzyGFHL0B5CY8AaAM3ML+ovXZLZuc=
MIME-Version: 1.0
Received: by 10.101.11.36 with SMTP id o36mr708877ani.74.1316611101468; Wed, 21 Sep 2011 06:18:21 -0700 (PDT)
Received: by 10.101.71.4 with HTTP; Wed, 21 Sep 2011 06:18:21 -0700 (PDT)
Date: Wed, 21 Sep 2011 09:18:21 -0400
Message-ID: <CAMm+Lwjvqgxr6osQdAkMggxJ+bv0Thab6uCLgx+tNbRLgPPcyw@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Yoav Nir <ynir@checkpoint.com>
Content-Type: multipart/alternative; boundary=0016e68ef45702a84b04ad736906
Cc: Chris Evans <cevans@google.com>, IETF WebSec WG <websec@ietf.org>
Subject: [websec] Pinning and beyond Was: Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Sep 2011 13:15:54 -0000

--0016e68ef45702a84b04ad736906
Content-Type: text/plain; charset=ISO-8859-1

One issue that pinning raises is that it is in a sense orthogonal to strict
security.

Obviously a strict security site is very likely to want to pin. But there
may also be cases where pinning is wanted without strictness. For example:

Promiscuous security:
    The site deploys SSL as an option that browsers can choose to use. Pages
may include transcluded content from insecure sites. The cert may just be a
self signed cert, browsers should just silently upgrade the transport to TLS
and not bother the user.

Traditional security:
    The site is advertised as HTTPS, there is a cert validated in some
fashion (DV, DNSSEC) but there may be links to transcluded content from non
SSL sources.


The reason I think these will be essential with pinning is that very few
sites will be able to go from insecure to strict security in one bound while
managing SSL certs centrally is something that many sites always do.

Thus I think that either pinning should have a new header (they are cheap,
IANA does not bite) or if we don't yet have a legacy issue on the strict
header it should be reworked as security properties and strictness should be
one of the dimensions.

Promiscuous security is really useful. In fact I suspect that most of the
use cases that drove the creation of DV could be met by strict security and
transparent browser upgrade to SSL.


I would also like to see a scope and protocol parameter reserved. This would
define the domain to which the assertion applied and be ignored in HTTP
transactions. Adding in scope means that the format can be used as a
mechanism for pushing out security policy as an emergency measure. It could
also be used to configure host or browser specific security policy
configuration.

So for example, let us walk back the cat on the Diginotar incident but
assume that some of the sites affected by the attack are publishing security
policy records with pinning and we have some browser side capability.

The response team takes the list of affected sites and pings each one for an
HTTP transaction and looks for a security header with pinning, if there is
one they add in a scope (and protocol parameter if necessary) and add it to
their list. At the end they sign the list with a PKCS#7/CMS wrapper and push
it out. So browsers see something like:

Strict-Transport-Security: scope=*.cia.gov; protocol=_http._tcp;
    max-age=...  pin=.....  unpin=.....
Strict-Transport-Security: scope=*.paypal.com; protocol=_http._tcp;
    max-age=...  pin=.....  unpin=....
Strict-Transport-Security: scope=login.twitter.com protocol=_http._tcp;
    max-age=...  pin=.....  unpin=....

Such a file with 500 odd entries would essentially cover 98% of the sites
likely to be of interest in the attacks on Iranian citizens and likely most
other state level attacks.


This type of mechanism would provide for secure on first contact. It can be
communicated even when the Internet connection is severely compromised.
Iranian ISPs are not going to be allowed to pass DNSSEC records once there
is any infrastructure in place that would allow them to be applied to
prevent the attacks by the Iranian government. In fact last week China and
Russia proposed a set of 'best practices' to the UN that to me at least
appear to lay the ground for justifying that type of move.

So we can also put the same information into a DNS record and it could be
useful in some circumstances, but defeating a nation state level attacker
requires looking more than one move ahead.

Agreeing on a common format allows for agility in the distribution mechanism
to get round that type of block. If the only file that can be used by Chrome
is a Chrome specific file it is going to be much harder to transport the
files than if we can have one file that also supports Tor, Firefox, IE etc.

This type of file can be communicated by USB thumbdrive if necessary (which
is already one of the principal means of communication for important data in
such areas). It can be pushed out by anti-virus products, etc.

Using CMS as the package format means that there can be multiple signatures.
That helps solve the administrative problem of getting Microsoft or Google
to trust a package signed by another party. Relying parties can even take a
quorum of signers if they choose. That helps to solve an administrative
problem on the back end which is how to make sure that we protect all the
browsers that people might use without expanding the circle of responders to
include the attackers.

Note that with this approach the response team can respond without having to
contact the sites targeted in the attack. This is critical because there may
not be time to do so. We want to be able to respond in hours, not days.

--0016e68ef45702a84b04ad736906
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

One issue that pinning raises is that it is in a sense orthogonal to strict=
 security.
<div><br></div><div>Obviously a strict security site is very likely to want=
 to pin. But there may also be cases where pinning is wanted without strict=
ness. For example:</div><div><br></div><div>Promiscuous security:</div>
<div>=A0 =A0 The site deploys SSL as an option that browsers can choose to =
use. Pages may include transcluded content from insecure sites. The cert ma=
y just be a self signed cert, browsers should just silently upgrade the tra=
nsport to TLS and not bother the user.</div>
<div><br></div><div>Traditional security:</div><div>=A0 =A0 The site is adv=
ertised as HTTPS, there is a cert validated in some fashion (DV, DNSSEC) bu=
t there may be links to transcluded content from non SSL sources.</div><div=
>
<br></div><div><br></div><div>The reason I think these will be essential wi=
th pinning is that very few sites will be able to go from insecure to stric=
t security in one bound while managing SSL certs centrally is something tha=
t many sites always do.</div>
<div><br></div><div>Thus I think that either pinning should have a new head=
er (they are cheap, IANA does not bite) or if we don&#39;t yet have a legac=
y issue on the strict header it should be reworked as security properties a=
nd strictness should be one of the dimensions.</div>
<div><br></div><div>Promiscuous security is really useful. In fact I suspec=
t that most of the use cases that drove the creation of DV could be met by =
strict security and transparent browser upgrade to SSL.=A0</div><div><br>
</div><div><br></div><div>I would also like to see a scope and protocol par=
ameter reserved. This would define the domain to which the assertion applie=
d and be ignored in HTTP transactions. Adding in scope means that the forma=
t can be used as a mechanism for pushing out security policy as an emergenc=
y measure. It could also be used to configure host or browser specific secu=
rity policy configuration.</div>
<div><br></div><div>So for example, let us walk back the cat on the Diginot=
ar incident but assume that some of the sites affected by the attack are pu=
blishing security policy records with pinning and we have some browser side=
 capability.</div>
<div><br></div><div>The response team takes the list of affected sites and =
pings each one for an HTTP transaction and looks for a security header with=
 pinning, if there is one they add in a scope (and protocol parameter if ne=
cessary) and add it to their list. At the end they sign the list with a PKC=
S#7/CMS wrapper and push it out. So browsers see something like:</div>
<div><br></div><div>Strict-Transport-Security: scope=3D*.<a href=3D"http://=
cia.gov">cia.gov</a>; protocol=3D_http._tcp;</div><div>=A0 =A0 max-age=3D..=
. =A0pin=3D..... =A0unpin=3D.....</div><div><div>Strict-Transport-Security:=
 scope=3D*.<a href=3D"http://paypal.com">paypal.com</a>; protocol=3D_http._=
tcp;</div>
<div>=A0 =A0 max-age=3D... =A0pin=3D..... =A0unpin=3D....</div></div><div><=
div>Strict-Transport-Security: scope=3D<a href=3D"http://login.twitter.com"=
>login.twitter.com</a> protocol=3D_http._tcp;</div><div>=A0 =A0 max-age=3D.=
.. =A0pin=3D..... =A0unpin=3D....</div>
</div><div><br></div><div>Such a file with 500 odd entries would essentiall=
y cover 98% of the sites likely to be of interest in the attacks on Iranian=
 citizens and likely most other state level attacks.</div><div><br></div>
<div><br></div><div>This type of mechanism would provide for secure on firs=
t contact. It can be communicated even when the Internet connection is seve=
rely compromised. Iranian ISPs are not going to be allowed to pass DNSSEC r=
ecords once there is any infrastructure in place that would allow them to b=
e applied to prevent the attacks by the Iranian government. In fact last we=
ek China and Russia proposed a set of &#39;best practices&#39; to the UN th=
at to me at least appear to lay the ground for justifying that type of move=
.</div>
<div><br></div><div>So we can also put the same information into a DNS reco=
rd and it could be useful in some circumstances, but defeating a nation sta=
te level attacker requires looking more than one move ahead.</div><div>
<br></div><div>Agreeing on a common format allows for agility in the distri=
bution mechanism to get round that type of block. If the only file that can=
 be used by Chrome is a Chrome specific file it is going to be much harder =
to transport the files than if we can have one file that also supports Tor,=
 Firefox, IE etc.</div>
<div><br></div><div>This type of file can be communicated by USB thumbdrive=
 if necessary (which is already one of the principal means of communication=
 for important data in such areas). It can be pushed out by anti-virus prod=
ucts, etc.</div>
<div><br></div><div>Using CMS as the package format means that there can be=
 multiple signatures. That helps solve the administrative problem of gettin=
g Microsoft or Google to trust a package signed by another party. Relying p=
arties can even take a quorum of signers if they choose. That helps to solv=
e an administrative problem on the back end which is how to make sure that =
we protect all the browsers that people might use without expanding the cir=
cle of responders to include the attackers.=A0</div>
<div><br></div><div>Note that with this approach the response team can resp=
ond without having to contact the sites targeted in the attack. This is cri=
tical because there may not be time to do so. We want to be able to respond=
 in hours, not days.=A0</div>

--0016e68ef45702a84b04ad736906--

From sm@resistor.net  Wed Sep 21 23:07:22 2011
Return-Path: <sm@resistor.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 063E321F8B3D for <websec@ietfa.amsl.com>; Wed, 21 Sep 2011 23:07:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.58
X-Spam-Level: 
X-Spam-Status: No, score=-102.58 tagged_above=-999 required=5 tests=[AWL=0.019, 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 ODIOfC4WjHgs for <websec@ietfa.amsl.com>; Wed, 21 Sep 2011 23:07:19 -0700 (PDT)
Received: from mx.ipv6.elandsys.com (mx.ipv6.elandsys.com [IPv6:2001:470:f329:1::1]) by ietfa.amsl.com (Postfix) with ESMTP id D0FC421F8B3C for <websec@ietf.org>; Wed, 21 Sep 2011 23:07:19 -0700 (PDT)
Received: from SUBMAN.resistor.net (IDENT:sm@localhost [127.0.0.1]) by mx.elandsys.com (8.14.4/8.14.5) with ESMTP id p8M69feH006063; Wed, 21 Sep 2011 23:09:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=opendkim.org; s=mail2010; t=1316671787; bh=hSblmnpRZK4e0IdKLebx+/lPeuFOwIKa59cEOvCP6Ks=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type; b=GlH7LGjvEYhRRtkAS7SYHH4lut9Ns2fOoZAO6cNyVX4FoHfRP4FNZGKa32MVOJAZi thEt2sP4IRfKE7T0b4iXTbE1Wz5yX4/ATiCkguk1kPBG4zN5hMe5LTGILP/eTdDQAl 8xb86SEKqDh22Y8cQS9c4gLwyY2UdWR9Mvc6j/is=
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=resistor.net; s=mail; t=1316671787; bh=hSblmnpRZK4e0IdKLebx+/lPeuFOwIKa59cEOvCP6Ks=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type; b=Fftp7Fhyyu0+MMiq9g7jmR4yrv0oNMbo/VeSGm8JY6kMAWEXbS9iKURG+m6xvjrkX f0yfyEZx/HCs4maMQQcqFGtUo1Gjb8tvBgzuPbj3csa8pKt9bA2sx/hW/ON+JSleDW fZ7wKMgvixP3aQ2bP5+1V5gFfpUAlkIDMDhXEHvQ=
Message-Id: <6.2.5.6.2.20110921222714.0c03e750@resistor.net>
X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6
Date: Wed, 21 Sep 2011 22:46:45 -0700
To: Chris Palmer <palmer@google.com>, Chris Evans <cevans@google.com>
From: SM <sm@resistor.net>
In-Reply-To: <CAOuvq20jWtgpuRkGA0-1SDz5jW0-ocz2P++_8-+32iorzjUwTw@mail.g mail.com>
References: <CAOuvq208sQuka83k-q9=MN8CPcKPJkTNFDLi=ki3AUBg8zOiMQ@mail.gmail.com> <6.2.5.6.2.20110920130003.0a9f43e0@resistor.net> <CAOuvq20jWtgpuRkGA0-1SDz5jW0-ocz2P++_8-+32iorzjUwTw@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Sep 2011 06:07:22 -0000

Hi Chris,
At 18:06 20-09-2011, Chris Palmer wrote:
>I didn't write that text, it was auto-generated by the xml2rfc tool
>itself. If that tool does the wrong thing, we should poke its
>maintainer...

The I-D which you submitted has the correct text.  BTW, even though 
the text is auto-generated, it is still considered as an assertion by 
the author.

Regards,
-sm 


From gerv@mozilla.org  Thu Sep 22 01:37:15 2011
Return-Path: <gerv@mozilla.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 85F3921F8BF3 for <websec@ietfa.amsl.com>; Thu, 22 Sep 2011 01:37:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.599
X-Spam-Level: 
X-Spam-Status: No, score=-4.599 tagged_above=-999 required=5 tests=[AWL=2.000,  BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 9FdSLDgfeJei for <websec@ietfa.amsl.com>; Thu, 22 Sep 2011 01:37:14 -0700 (PDT)
Received: from dm-mail03.mozilla.org (dm-mail03.mozilla.org [63.245.208.213]) by ietfa.amsl.com (Postfix) with ESMTP id 7DDFD21F8B92 for <websec@ietf.org>; Thu, 22 Sep 2011 01:37:14 -0700 (PDT)
Received: from [192.168.0.39] (cpc3-enfi7-0-0-cust199.hari.cable.virginmedia.com [82.45.122.200]) (Authenticated sender: gerv@mozilla.org) by dm-mail03.mozilla.org (Postfix) with ESMTP id C35034AEE2F; Thu, 22 Sep 2011 01:39:43 -0700 (PDT)
Message-ID: <4E7AF44E.9060803@mozilla.org>
Date: Thu, 22 Sep 2011 09:39:42 +0100
From: Gervase Markham <gerv@mozilla.org>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20110808 Thunderbird/6.0
MIME-Version: 1.0
To: Phillip Hallam-Baker <hallam@gmail.com>
References: <CAMm+Lwjvqgxr6osQdAkMggxJ+bv0Thab6uCLgx+tNbRLgPPcyw@mail.gmail.com>
In-Reply-To: <CAMm+Lwjvqgxr6osQdAkMggxJ+bv0Thab6uCLgx+tNbRLgPPcyw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Cc: IETF WebSec WG <websec@ietf.org>, Chris Evans <cevans@google.com>
Subject: Re: [websec] Pinning and beyond Was: Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Sep 2011 08:37:15 -0000

On 21/09/11 14:18, Phillip Hallam-Baker wrote:
> Promiscuous security:
>     The site deploys SSL as an option that browsers can choose to use.
> Pages may include transcluded content from insecure sites. The cert may
> just be a self signed cert, browsers should just silently upgrade the
> transport to TLS and not bother the user.

The trouble with this idea (in general) is the following scenario:

- User has relationship with MyBank.com, and a bookmark to
  http://www.mybank.com/.

- MyBank is not entirely dumb, and so redirects straight to SSL when
  requests come in over unsecured HTTP.

- Attacker gains control of user's connection.

- User uses bookmark to access bank (supposedly a 'best practice')

- Attacker redirects HTTP request to own MITM server, with self-signed
  cert. Browser "silently upgrades transport to TLS, and doesn't bother
  the user." Attacker passes through data from real site.

- Effect is: user's browser shows connection as secure, but is MITMed.

This is why silent acceptance of self-signed certs is not a good thing.

We cannot rely on the user's browser always remembering the previous
cert used, or the CA via something like pinning, because for privacy
reasons any pin cache needs to be cleared if the user clears their history.

> Thus I think that either pinning should have a new header (they are
> cheap, IANA does not bite)

But the list of required headers get bigger and bigger. As Brendan Eich
says, "it's not the last cookie that makes you fat".

Gerv

From paul.hoffman@vpnc.org  Thu Sep 22 07:39:55 2011
Return-Path: <paul.hoffman@vpnc.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6911621F8CD3 for <websec@ietfa.amsl.com>; Thu, 22 Sep 2011 07:39:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.549
X-Spam-Level: 
X-Spam-Status: No, score=-102.549 tagged_above=-999 required=5 tests=[AWL=0.050, 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 nb9yLu0l9aQ3 for <websec@ietfa.amsl.com>; Thu, 22 Sep 2011 07:39:54 -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 F413D21F8CB2 for <websec@ietf.org>; Thu, 22 Sep 2011 07:39:53 -0700 (PDT)
Received: from [10.20.30.100] (50-0-66-4.dsl.dynamic.fusionbroadband.com [50.0.66.4]) (authenticated bits=0) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id p8MEgOT0012608 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) for <websec@ietf.org>; Thu, 22 Sep 2011 07:42:25 -0700 (MST) (envelope-from paul.hoffman@vpnc.org)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Apple Message framework v1244.3)
From: Paul Hoffman <paul.hoffman@vpnc.org>
In-Reply-To: <4E7AF44E.9060803@mozilla.org>
Date: Thu, 22 Sep 2011 07:42:26 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <A6C318D2-199B-4CAE-8D83-E016E51D9B4D@vpnc.org>
References: <CAMm+Lwjvqgxr6osQdAkMggxJ+bv0Thab6uCLgx+tNbRLgPPcyw@mail.gmail.com> <4E7AF44E.9060803@mozilla.org>
To: IETF WebSec WG <websec@ietf.org>
X-Mailer: Apple Mail (2.1244.3)
Subject: Re: [websec] Pinning and beyond Was: Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Sep 2011 14:39:55 -0000

On Sep 22, 2011, at 1:39 AM, Gervase Markham wrote:

> On 21/09/11 14:18, Phillip Hallam-Baker wrote:
>> Promiscuous security:
>>    The site deploys SSL as an option that browsers can choose to use.
>> Pages may include transcluded content from insecure sites. The cert =
may
>> just be a self signed cert, browsers should just silently upgrade the
>> transport to TLS and not bother the user.
>=20
> The trouble with this idea (in general) is the following scenario:
>=20
> - User has relationship with MyBank.com, and a bookmark to
>  http://www.mybank.com/.
>=20
> - MyBank is not entirely dumb, and so redirects straight to SSL when
>  requests come in over unsecured HTTP.
>=20
> - Attacker gains control of user's connection.
>=20
> - User uses bookmark to access bank (supposedly a 'best practice')
>=20
> - Attacker redirects HTTP request to own MITM server, with self-signed
>  cert. Browser "silently upgrades transport to TLS, and doesn't bother
>  the user." Attacker passes through data from real site.
>=20
> - Effect is: user's browser shows connection as secure, but is MITMed.

The "Attacker gains control of user's connection" step isn't necessary =
if the attacker is already an MITM, such as an TLS proxy like the one =
that has been in the news lately (or the attacker gains admin access on =
a corporate TLS proxy).

> This is why silent acceptance of self-signed certs is not a good =
thing.
>=20
> We cannot rely on the user's browser always remembering the previous
> cert used, or the CA via something like pinning, because for privacy
> reasons any pin cache needs to be cleared if the user clears their =
history.
>=20
>> Thus I think that either pinning should have a new header (they are
>> cheap, IANA does not bite)
>=20
> But the list of required headers get bigger and bigger. As Brendan =
Eich
> says, "it's not the last cookie that makes you fat".


Not sure what you mean by "required". The new one Phill proposed here =
would be required to support this functionality, not required for every =
browser. I agree with him: granularity for semantics of each header is =
better than overloading semantics to save a few bytes.

--Paul Hoffman


From hallam@gmail.com  Thu Sep 22 13:40:39 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2CBD511E80B3 for <websec@ietfa.amsl.com>; Thu, 22 Sep 2011 13:40:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.871
X-Spam-Level: 
X-Spam-Status: No, score=-2.871 tagged_above=-999 required=5 tests=[AWL=-0.473, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_32=0.6, J_CHICKENPOX_52=0.6, RCVD_IN_DNSWL_LOW=-1]
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 eMUr462k+igz for <websec@ietfa.amsl.com>; Thu, 22 Sep 2011 13:40:38 -0700 (PDT)
Received: from mail-yw0-f44.google.com (mail-yw0-f44.google.com [209.85.213.44]) by ietfa.amsl.com (Postfix) with ESMTP id 32DEE11E80B2 for <websec@ietf.org>; Thu, 22 Sep 2011 13:40:38 -0700 (PDT)
Received: by ywa6 with SMTP id 6so2769334ywa.31 for <websec@ietf.org>; Thu, 22 Sep 2011 13:43:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=XbRXoSySzS9qaAoLHCm0CGdNvMQ1xRaEXC/gP7vZZSg=; b=ns3x2Z4KP5cegsP/X348tjp6K+NIzy1QXpQ249ZgUa7RtbMTbjJFNVqwlKCf4euebB ICSpY26ejiQdG0XzXGhyE4lklkbzteZkjIP7vjNZBRP3TlGwXhN6SigkBaCn1/2PC/V/ MlUMaD7TE/VI+p7dvlg0fDpRytUZG+JI5k4OM=
MIME-Version: 1.0
Received: by 10.101.28.40 with SMTP id f40mr2458623anj.30.1316724190335; Thu, 22 Sep 2011 13:43:10 -0700 (PDT)
Received: by 10.101.71.4 with HTTP; Thu, 22 Sep 2011 13:43:10 -0700 (PDT)
In-Reply-To: <4E7AF44E.9060803@mozilla.org>
References: <CAMm+Lwjvqgxr6osQdAkMggxJ+bv0Thab6uCLgx+tNbRLgPPcyw@mail.gmail.com> <4E7AF44E.9060803@mozilla.org>
Date: Thu, 22 Sep 2011 16:43:10 -0400
Message-ID: <CAMm+LwiCbE_BNA=8GOyhEdnEOdMDoWBS7-0WHcMTkVP2-JVYWg@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Gervase Markham <gerv@mozilla.org>
Content-Type: multipart/alternative; boundary=001b2413b4c1a1d32104ad8dbd57
Cc: IETF WebSec WG <websec@ietf.org>, Chris Evans <cevans@google.com>
Subject: Re: [websec] Pinning and beyond Was: Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Sep 2011 20:40:39 -0000

--001b2413b4c1a1d32104ad8dbd57
Content-Type: text/plain; charset=ISO-8859-1

First off, this is really not something that should be considered acceptable
for banks.

The objective here is purely to increase the amount of SSL traffic on the
web so that unencrypted traffic becomes the exception rather than the rule.

On Thu, Sep 22, 2011 at 4:39 AM, Gervase Markham <gerv@mozilla.org> wrote:

> On 21/09/11 14:18, Phillip Hallam-Baker wrote:
> > Promiscuous security:
> >     The site deploys SSL as an option that browsers can choose to use.
> > Pages may include transcluded content from insecure sites. The cert may
> > just be a self signed cert, browsers should just silently upgrade the
> > transport to TLS and not bother the user.
>
> The trouble with this idea (in general) is the following scenario:
>
> - User has relationship with MyBank.com, and a bookmark to
>  http://www.mybank.com/.
>
> - MyBank is not entirely dumb, and so redirects straight to SSL when
>  requests come in over unsecured HTTP.
>

Hang on here. What I said was that I wanted this to be part of the pinning
mechanism and have persistence. The idea here is to get rid of that browser
redirect so that the browser always goes to https.

So what would be stored by the browser is:

Bookmark: http://www.mybank.com
www.mybank.com Always use TLS, Don't enforce strictness, pin=xx, unpin=yy,
until=2012-01-12



> - Attacker gains control of user's connection.
>
> - User uses bookmark to access bank (supposedly a 'best practice')
>
> - Attacker redirects HTTP request to own MITM server, with self-signed
>  cert. Browser "silently upgrades transport to TLS, and doesn't bother
>  the user." Attacker passes through data from real site.
>

OK so if you use a mechanism that gives secure after first contact you are
not going to be secure on first contact.

I don't see how this attack is sustained unless you can also sustain the
MITM attack.


The user should be looking at their browser and wondering why there is no
padlock or any security indicator in any case. As far as they would be
concerned the silent upgrade looks no different from going to the sit
en-clair.


- Effect is: user's browser shows connection as secure, but is MITMed.
>

Nope, no display of any security chrome whatsoever.

I don't want security chrome for DV certs. Why would I want it for self
signed certs? The only chrome notification should be for certs that
establish accountability.


This is why silent acceptance of self-signed certs is not a good thing.
>

If the user can see the acceptance then its not silent. By silent I mean, do
not say anything at all, not do not annoy the user with some braindamaged
notification.


> We cannot rely on the user's browser always remembering the previous
> cert used, or the CA via something like pinning, because for privacy
> reasons any pin cache needs to be cleared if the user clears their history.


Which is why I am going to want to push out the exact same information via
the DNS once there is DNSSEC to back it up.

Just take the HTTP header and stick it into a DNS RR record we define.



> > Thus I think that either pinning should have a new header (they are
> > cheap, IANA does not bite)
>
> But the list of required headers get bigger and bigger. As Brendan Eich
> says, "it's not the last cookie that makes you fat".
>

Security policy is an important use case. At this point we can kill the
cache control stuff as nobody is going to be able to use it once everyone is
using TLS :-)

I would much prefer to have one security policy header and for strict to be
a special case rather than have two.

-- 
Website: http://hallambaker.com/

--001b2413b4c1a1d32104ad8dbd57
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

First off, this is really not something that should be considered acceptabl=
e for banks.<div><br></div><div>The objective here is purely to increase th=
e amount of SSL traffic on the web so that unencrypted traffic becomes the =
exception rather than the rule.<br>
<br><div class=3D"gmail_quote">On Thu, Sep 22, 2011 at 4:39 AM, Gervase Mar=
kham <span dir=3D"ltr">&lt;<a href=3D"mailto:gerv@mozilla.org">gerv@mozilla=
.org</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class=3D"im">On 21/09/11 14:18, Phillip Hallam-Baker wrote:<br>
&gt; Promiscuous security:<br>
&gt; =A0 =A0 The site deploys SSL as an option that browsers can choose to =
use.<br>
&gt; Pages may include transcluded content from insecure sites. The cert ma=
y<br>
&gt; just be a self signed cert, browsers should just silently upgrade the<=
br>
&gt; transport to TLS and not bother the user.<br>
<br>
</div>The trouble with this idea (in general) is the following scenario:<br=
>
<br>
- User has relationship with MyBank.com, and a bookmark to<br>
 =A0<a href=3D"http://www.mybank.com/" target=3D"_blank">http://www.mybank.=
com/</a>.<br>
<br>
- MyBank is not entirely dumb, and so redirects straight to SSL when<br>
 =A0requests come in over unsecured HTTP.<br></blockquote><div><br></div><d=
iv>Hang on here. What I said was that I wanted this to be part of the pinni=
ng mechanism and have persistence. The idea here is to get rid of that brow=
ser redirect so that the browser always goes to https.</div>
<div><br></div><div>So what would be stored by the browser is:</div><div><b=
r></div><div>Bookmark:=A0<a href=3D"http://www.mybank.com/" target=3D"_blan=
k">http://www.mybank.com</a></div><div><a href=3D"http://www.mybank.com/" t=
arget=3D"_blank">www.mybank.com</a>=A0Always use TLS, Don&#39;t enforce str=
ictness, pin=3Dxx, unpin=3Dyy, until=3D2012-01-12</div>
<div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
- Attacker gains control of user&#39;s connection.<br>
<br>
- User uses bookmark to access bank (supposedly a &#39;best practice&#39;)<=
br>
<br>
- Attacker redirects HTTP request to own MITM server, with self-signed<br>
 =A0cert. Browser &quot;silently upgrades transport to TLS, and doesn&#39;t=
 bother<br>
 =A0the user.&quot; Attacker passes through data from real site.<br></block=
quote><div><br></div><div>OK so if you use a mechanism that gives secure af=
ter first contact you are not going to be secure on first contact.</div>
<div><br></div><div>I don&#39;t see how this attack is sustained unless you=
 can also sustain the MITM attack.</div><div><br></div><div><br></div><div>=
The user should be looking at their browser and wondering why there is no p=
adlock or any security indicator in any case. As far as they would be conce=
rned the silent upgrade looks no different from going to the sit en-clair.<=
/div>
<div><br></div><div><br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
- Effect is: user&#39;s browser shows connection as secure, but is MITMed.<=
br></blockquote><div><br></div><div>Nope, no display of any security chrome=
 whatsoever.</div><div><br></div><div>I don&#39;t want security chrome for =
DV certs. Why would I want it for self signed certs? The only chrome notifi=
cation should be for certs that establish accountability.</div>
<div><br></div><div><br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
This is why silent acceptance of self-signed certs is not a good thing.<br>=
</blockquote><div><br></div><div>If the user can see the acceptance then it=
s not silent. By silent I mean, do not say anything at all, not do not anno=
y the user with some braindamaged notification.</div>
<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex;">
We cannot rely on the user&#39;s browser always remembering the previous<br=
>
cert used, or the CA via something like pinning, because for privacy<br>
reasons any pin cache needs to be cleared if the user clears their history.=
</blockquote><div><br></div><div>Which is why I am going to want to push ou=
t the exact same information via the DNS once there is DNSSEC to back it up=
.</div>
<div><br></div><div>Just take the HTTP header and stick it into a DNS RR re=
cord we define.</div><div><br></div><div>=A0</div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left=
:1ex;">
<div class=3D"im">
&gt; Thus I think that either pinning should have a new header (they are<br=
>
&gt; cheap, IANA does not bite)<br>
<br>
</div>But the list of required headers get bigger and bigger. As Brendan Ei=
ch<br>
says, &quot;it&#39;s not the last cookie that makes you fat&quot;.<br></blo=
ckquote><div><br></div><div>Security policy is an important use case. At th=
is point we can kill the cache control stuff as nobody is going to be able =
to use it once everyone is using TLS :-)</div>
<div><br></div><div>I would much prefer to have one security policy header =
and for strict to be a special case rather than have two.=A0</div></div><di=
v><br></div>-- <br>Website: <a href=3D"http://hallambaker.com/">http://hall=
ambaker.com/</a><br>
<br>
</div>

--001b2413b4c1a1d32104ad8dbd57--

From palmer@google.com  Thu Sep 22 15:08:29 2011
Return-Path: <palmer@google.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 41CEF11E80C7 for <websec@ietfa.amsl.com>; Thu, 22 Sep 2011 15:08:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, 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 PjqzD+L4+BtJ for <websec@ietfa.amsl.com>; Thu, 22 Sep 2011 15:08:28 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id C010D11E80AA for <websec@ietf.org>; Thu, 22 Sep 2011 15:08:28 -0700 (PDT)
Received: from hpaq2.eem.corp.google.com (hpaq2.eem.corp.google.com [172.25.149.2]) by smtp-out.google.com with ESMTP id p8MMB0kG003446 for <websec@ietf.org>; Thu, 22 Sep 2011 15:11:00 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1316729460; bh=kM+R8/QeVrwlp4ZBWc0H0WGSHd4=; h=MIME-Version:Date:Message-ID:Subject:From:To:Cc:Content-Type; b=OXzyMgmPtmFx+Z9RPALKhDjA3Ni0TkS13q0BW5goaET4uPQGwFtS7Pyd/Vp+IuMFx LMyDq/jR1H4CQPjUYe4Aw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:date:message-id:subject:from:to:cc: content-type:x-system-of-record; b=kVw0JGgwcdBJLzEdqnlQEa16D59uB1wF/CsHMmJAR+2qTp2eGCpcuRra7W5GXd74W nILO/zx6TYYG05wC5auUg==
Received: from wyg10 (wyg10.prod.google.com [10.241.226.138]) by hpaq2.eem.corp.google.com with ESMTP id p8MMA4Nn002686 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <websec@ietf.org>; Thu, 22 Sep 2011 15:10:59 -0700
Received: by wyg10 with SMTP id 10so4648897wyg.35 for <websec@ietf.org>; Thu, 22 Sep 2011 15:10:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=UV0mJTwfyF7Eom1i+NZZvmlbGbvp1Nbj3bcapi+u6UY=; b=QZLTSMZoW38t5gLwzaLzZ2WMeLNAabnl5LSR5T6GXrHNV4bOdZGPHzLrzHAMuIMgLR x6U1ptfRhusEDl20xauQ==
Received: by 10.216.23.72 with SMTP id u50mr2816071weu.34.1316729458965; Thu, 22 Sep 2011 15:10:58 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.23.72 with SMTP id u50mr2816062weu.34.1316729458809; Thu, 22 Sep 2011 15:10:58 -0700 (PDT)
Received: by 10.216.61.16 with HTTP; Thu, 22 Sep 2011 15:10:58 -0700 (PDT)
Date: Thu, 22 Sep 2011 15:10:58 -0700
Message-ID: <CAOuvq22z-4AJ0yZAb_g5jndbkiKJGifN2Bs7LgJ_WJCvP5tHfg@mail.gmail.com>
From: Chris Palmer <palmer@google.com>
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=UTF-8
X-System-Of-Record: true
Cc: Chris Evans <cevans@google.com>
Subject: [websec] HSTS certificate pinning draft is now in the tracker
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Sep 2011 22:08:29 -0000

https://datatracker.ietf.org/doc/draft-evans-palmer-hsts-pinning/

From internet-drafts@ietf.org  Thu Sep 22 15:33:52 2011
Return-Path: <internet-drafts@ietf.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A15A41F0CA7; Thu, 22 Sep 2011 15:33:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.565
X-Spam-Level: 
X-Spam-Status: No, score=-102.565 tagged_above=-999 required=5 tests=[AWL=0.034, 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 jldf26yVQ7NI; Thu, 22 Sep 2011 15:33:52 -0700 (PDT)
Received: from ietfa.amsl.com (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 35C811F0C77; Thu, 22 Sep 2011 15:33:52 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: internet-drafts@ietf.org
To: i-d-announce@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 3.60
Message-ID: <20110922223352.30413.93196.idtracker@ietfa.amsl.com>
Date: Thu, 22 Sep 2011 15:33:52 -0700
Cc: websec@ietf.org
Subject: [websec] I-D Action: draft-ietf-websec-origin-05.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Sep 2011 22:33:52 -0000

A New Internet-Draft is available from the on-line Internet-Drafts director=
ies. This draft is a work item of the Web Security Working Group of the IET=
F.

	Title           : The Web Origin Concept
	Author(s)       : Adam Barth
	Filename        : draft-ietf-websec-origin-05.txt
	Pages           : 27
	Date            : 2011-09-22

   This document defines the concept of an &quot;origin&quot;, which is oft=
en used
   as the scope of authority or privilege by user agents.  Typically,
   user agents isolate content retrieved from different origins to
   prevent malicious web site operators from interfering with the
   operation of benign web sites.  In addition to outlining the
   principles that underlie the concept of origin, this document defines
   how to determine the origin of a URI, how to serialize an origin into
   a string, and an HTTP header field, named &quot;Origin&quot;, that indic=
ates
   which origins are associated with an HTTP request.


A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-websec-origin-05.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

This Internet-Draft can be retrieved at:
ftp://ftp.ietf.org/internet-drafts/draft-ietf-websec-origin-05.txt

From julian.reschke@gmx.de  Fri Sep 23 00:26:44 2011
Return-Path: <julian.reschke@gmx.de>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7B4BC21F8B5C for <websec@ietfa.amsl.com>; Fri, 23 Sep 2011 00:26:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.165
X-Spam-Level: 
X-Spam-Status: No, score=-104.165 tagged_above=-999 required=5 tests=[AWL=-1.566, 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 tnNw2fXl9ZFQ for <websec@ietfa.amsl.com>; Fri, 23 Sep 2011 00:26:43 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by ietfa.amsl.com (Postfix) with SMTP id 1A54621F8B42 for <websec@ietf.org>; Fri, 23 Sep 2011 00:26:42 -0700 (PDT)
Received: (qmail invoked by alias); 23 Sep 2011 07:29:14 -0000
Received: from p508FD649.dip.t-dialin.net (EHLO [192.168.178.36]) [80.143.214.73] by mail.gmx.net (mp008) with SMTP; 23 Sep 2011 09:29:14 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX18awbZFMS0aYeb5Cz8VHtkdcqGOejAR+2O7mhI67U o/wyGR9hU8gTSY
Message-ID: <4E7C3547.5070405@gmx.de>
Date: Fri, 23 Sep 2011 09:29:11 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2
MIME-Version: 1.0
To: websec@ietf.org
References: <20110922223352.30413.93196.idtracker@ietfa.amsl.com>
In-Reply-To: <20110922223352.30413.93196.idtracker@ietfa.amsl.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Subject: Re: [websec] I-D Action: draft-ietf-websec-origin-05.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Sep 2011 07:26:44 -0000

On 2011-09-23 00:33, internet-drafts@ietf.org wrote:
> A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Web Security Working Group of the IETF.
> ...

Nits...:

>    The OWS (optional whitespace) rule is used where zero or more linear
>    whitespace characters MAY appear:
>
>    OWS            = *( [ obs-fold ] WSP )
>                     ; "optional" whitespace
>    obs-fold       = CRLF

We changed the definition of OWS nin HTTPbis: 
<http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-latest.html#basic.rules>

>    1.  If the URI does not use a hierarchical element as a naming
>        authority (see [RFC3986], Section 3.2), or if the URI is not an
>        absolute URI, then generate a fresh globally unique identifier
>        and return that value.
>
>        1.  NOTE: Running this algorithm multiple times for the same URI
>            can produce different values each time.  Typically, user
>            agents compute the origin of, for example, an HTML document
>            once and use that origin for subsequent security checks
>            rather than recomputing the origin for each security check.

It seems the NOTE shouldn't be in a numbered list (same for item 4).

> 7.1. Syntax
>
>
>    The Origin header field has the following syntax:
>
>
>  origin              = "Origin:" OWS origin-list-or-null OWS
>  origin-list-or-null = "null" / origin-list
>  origin-list         = serialized-origin *( SP serialized-origin )
>  serialized-origin   = scheme "://" host [ ":" port ]
>                      ; <scheme>, <host>, <port> productions from RFC3986

a) Reformat do it doesn't need to be outdented

b) "null" in ABNF means case-insensitive; consider replacing with octet 
sequence and putting the literal "null" into a comment.

References: may need updates, such as WEBSOCKETS. Also consider sorting 
them (xml2rfc sortrefs PI).

Best regards, Julian

From Jeff.Hodges@KingsMountain.com  Fri Sep 23 14:56:27 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BBD6321F8CF1 for <websec@ietfa.amsl.com>; Fri, 23 Sep 2011 14:56:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.455
X-Spam-Level: 
X-Spam-Status: No, score=-100.455 tagged_above=-999 required=5 tests=[AWL=0.040, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, 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 of4CaKluHgwx for <websec@ietfa.amsl.com>; Fri, 23 Sep 2011 14:56:26 -0700 (PDT)
Received: from oproxy9.bluehost.com (oproxy9.bluehost.com [IPv6:2605:dc00:100:2::a2]) by ietfa.amsl.com (Postfix) with SMTP id BBF8F21F8CD8 for <websec@ietf.org>; Fri, 23 Sep 2011 14:56:26 -0700 (PDT)
Received: (qmail 26471 invoked by uid 0); 23 Sep 2011 21:59:02 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by oproxy9.bluehost.com with SMTP; 23 Sep 2011 21:59:01 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=2gW+FCD4ptzIPodtp9zT9dLY2iynP62dYFbvzmIstD8=;  b=O3x0OEPRnZaZA4/dTzSpPJMT3FKJrD6As6Die4HLFpD2ocvv/3bMKWDJQzzWWVuI+It+KMHfjWUNf0HDbJD+F3fmXWN6UppOVLGXngxDTt7MldzTHWEu8yR2+u7H6WbJ;
Received: from c-24-4-122-173.hsd1.ca.comcast.net ([24.4.122.173] helo=[192.168.11.10]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R7Dlt-0006cu-Fu; Fri, 23 Sep 2011 15:59:01 -0600
Message-ID: <4E7D0124.4090308@KingsMountain.com>
Date: Fri, 23 Sep 2011 14:59:00 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>, Peter Saint-Andre <stpeter@stpeter.im>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 24.4.122.173 authed with jeff.hodges+kingsmountain.com}
Subject: Re: [websec] AD review of -strict-transport-sec-02 (was: Strict-Transport-Security syntax and effective request URI def)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Sep 2011 21:56:27 -0000

Hi, apologies for latency. I was trying to get this reply and a -03 rev of the 
spec out the door last week, but some recent events have pushed that down my 
stack.

I haven't yet submitted the -03 draft, will try to do that early-to-mid next 
week. it may not address absolutely everything below, as I've noted.

anyway, am issuing this reply in order to spark any discussion you may wish to 
have on any of these items and as a headsup that progress is being made.

thanks

=JeffH


StPeter held forth..
 >
 > On 8/6/11 8:27 AM, =JeffH wrote:
 >
 >> ALL: now's a good time to review draft-ietf-websec-strict-transport-sec
 >> in detail -- as mentioned in Quebec last week, we want to get this spec
 >> in shape for WG LC sooner rather than later (and I believe it's pretty
 >> close to ready as of now). I'll be popping it back up to the top of my
 >> to-do list after this next week.
 >
 > Thanks for the poke. I've had a chance to read the spec again. Here is
 > some mostly minor feedback.

Thanks for the review Peter.

 > You can consider this an AD review. :)

cool.


 > SECTION 1
 >
 > s/Universal Resource Identifier/Uniform Resource Identifier/

doh. thanks.


 > Expand "UA" on first use.

it already is expanded in the first para of the Introduction.


 >    This specification embodies and refines the approach proposed in
 >    [ForceHTTPS], e.g. a HTTP response header field, named "Strict-
 >    Transport-Security", is used to convey the site HSTS policy to the UA
 >    rather than a cookie.
 >
 > Do you mean "i.e." instead of "e.g."? I suggest:
 >
 >    This specification embodies and refines the approach proposed in
 >    [ForceHTTPS]; i.e. instead of using a cookie it defines and uses
 >    an HTTP response header field, named "Strict-Transport-Security",
 >    to convey the site HSTS policy to the UA.

done in my working copy.


 > The document is a bit unclear about the denotation of "HSTS policy".
 > Sometimes it refers to the site's policy and sometimes to the overall
 > recommendations defined in the spec.
 >
 >    This specification also incorporates notions
 >    from [JacksonBarth2008] in that the HSTS policy is applied on an
 >    "entire-host" basis: it applies to all TCP ports on the host.
 >    Additionally, HSTS policy can be applied to the entire domain name
 >    subtree rooted at a given host name.  This enables HSTS to protect
 >    so-called "domain cookies", which are applied to all subdomains of a
 >    given domain.
 >
 > Perhaps it would be helpful to contrast the all ports and entire subtree
 > principles with the same origin policy also being worked on in this WG,
 > with an informational reference to the appropriate spec.

Have not yet addressed this item. will either do in present working copy or in 
next one.



 > SECTION 2.1
 >
 >    o  Web browser user wishes to discover, or be introduced to, and/or
 >       utilize various web sites (some arbitrary, some known) in a secure
 >       fashion.
 >
 > Does this specification really talk about discovery? I don't see
 > anything about that later in the document. Also it's not clear to me
 > what the spec means by "be introduced to". I suggest:
 >
 >    o  Web browser user wishes to interact with various web sites (some
 >       arbitrary, some known) in a secure fashion.

done in my working copy.


 > SECTION 2.3.1.3
 >
 > The term "mixed content" threw me off because it is also used in XML:
 >
 > http://www.w3.org/TR/2008/REC-xml-20081126/#sec-mixed-content

LOL -- was unaware of that, thx for reference.


 > Also, it might be good to consistently use and prefer the term "mixed
 > security context" in this specification.

So this term "mixed content" has (unfortunately) been used in the web security 
world since at least as early as IE6's release and perhaps (much?) earlier. The 
immediate audience of this spec is going to understand the "mixed content" 
term as used in that section, and wouldn't at first understand "mixed security 
context".  That's why I'm equating them in this spec and will try to promulgate 
"mixed security context" (or something else if someone has a better idea) going 
forward in general). But I don't expect the web security usage of "mixed 
content" to go away -- its just too deeply embedded, unfortunately.


 > SECTION 3
 >
 > Please use the RFC 2119 boilerplate rather than inventing your own.

done in my working copy.


 > SECTION 4
 >
 > Regarding the terms "Domain Name" and "Domain Name Label", I'm leery of
 > defining them anew and would suggest referring to the definitions in,
 > say, RFC 5890 (or ideally RFC 1034 and RFC 1035).

i'm going to leave that in the draft for now. they are listed there with 
approrpriate references to RFC 1034 and RFC 1035 et al for 
completeness/disambiguation/convenience. referencing RFC 5890 would be 
incorrect thing for these terms IMV.



 > SECTION 7
 >
 > We have a normative reference to RFC 3490, which has been obsoleted by
 > RFC 5890 and friends. Why not cite the definition of A-label from
 > Section 2.3.2.1 of RFC 5890? To wit:
 >
 >    o  An "A-label" is the ASCII-Compatible Encoding (ACE, see
 >       Section 2.3.2.5) form of an IDNA-valid string.  It must be a
 >       complete label: IDNA is defined for labels, not for parts of them
 >       and not for complete domain names.  This means, by definition,
 >       that every A-label will begin with the IDNA ACE prefix, "xn--"
 >       (see Section 2.3.2.5), followed by a string that is a valid output
 >       of the Punycode algorithm [RFC3492] and hence a maximum of 59
 >       ASCII characters in length.  The prefix and string together must
 >       conform to all requirements for a label that can be stored in the
 >       DNS including conformance to the rules for LDH labels
 >       (Section 2.3.1).  If and only if a string meeting the above
 >       requirements can be decoded into a U-label is it an A-label.


I've been recently discussing aspects of the above (with you, Pete Resnick, and 
others) and the more broad issues with how to properly describe "host name 
canonicalization".

for now I've placed into my working copy essentially the same approach as that 
we recently did in RFC6265 HTTP State Management (cookies). i understand that 
we may want to enhance/modify this approach going forward, but this is a step 
in that direction for now.


 > SECTION 7.1.1
 >
 > What does it mean to "congruently match"?

It's defined in S 7.1.2.


 > SECTION 7.3
 >
 > Isn't RFC 2560 the right spec for OCSP?

yes, fixed in my working copy.


 > SECTION 7.5
 >
 > I can't parse this clause:
 >
 >    the UA SHOULD continue to treat the host as a Known
 >    HSTS Host until the max age for the knowledge that Known HSTS Host is
 >    reached.

fixed in my working copy.


 > SECTION 8
 >
 > Once again we're normatively referencing RFC 3490 instead of IDNA2008.

fixed in my working copy.


 > SECTION 11
 >
 > Is "effective request URI" defined anywhere that we can reference?

well, it was originally defined in this here spec :)

it will be defined in the new HTTPbis specs once they are finalized, but we 
wanted to decouple the HSTS spec from that scheduling dependency. Thus we
are retaining the definition here, but have incorporated the refinements to the 
definition made by Julian.


 > SECTION 12.2
 >
 > Let's add an informational reference to RFC 4732.
 >
 > Can we add some more details to the description of the denial of service
 > attack? IMHO it's a bit thin.

Have not yet addressed this item. will either do in present working copy or in 
next one.


 > GLOBAL
 >
 > There are various spelling and grammar errors, but I assume those will
 > be fixed along the way.

indeed, yes. :)

---
end



From julian.reschke@gmx.de  Sat Sep 24 04:00:30 2011
Return-Path: <julian.reschke@gmx.de>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 254B621F8B62 for <websec@ietfa.amsl.com>; Sat, 24 Sep 2011 04:00:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.155
X-Spam-Level: 
X-Spam-Status: No, score=-104.155 tagged_above=-999 required=5 tests=[AWL=-1.556, 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 YFCcpfFFO72W for <websec@ietfa.amsl.com>; Sat, 24 Sep 2011 04:00:29 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by ietfa.amsl.com (Postfix) with SMTP id 3383521F8B59 for <websec@ietf.org>; Sat, 24 Sep 2011 04:00:28 -0700 (PDT)
Received: (qmail invoked by alias); 24 Sep 2011 11:03:03 -0000
Received: from p508FBCA2.dip.t-dialin.net (EHLO [192.168.178.36]) [80.143.188.162] by mail.gmx.net (mp062) with SMTP; 24 Sep 2011 13:03:03 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX198Vos4Mod8QsBYpMGGR4V2Xc977Dmr0mMDK/i79y 9U0JQmqlxLlrJw
Message-ID: <4E7DB8E4.9040208@gmx.de>
Date: Sat, 24 Sep 2011 13:03:00 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2
MIME-Version: 1.0
To: websec@ietf.org
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com>
In-Reply-To: <20110508004502.3883.40670.idtracker@ietfa.amsl.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Sep 2011 11:00:30 -0000

On 2011-05-08 02:45, Internet-Drafts@ietf.org wrote:
> A New Internet-Draft is available from the on-line Internet-Drafts directories.
> This draft is a work item of the Web Security Working Group of the IETF.
>
>
> 	Title           : Media Type Sniffing
> 	Author(s)       : A. Barth, I. Hickson
> 	Filename        : draft-ietf-websec-mime-sniff-03.txt
> 	Pages           : 24
> 	Date            : 2011-05-07
> ...

I think it would be good if the Internet Drafts database could be 
updates to say that draft-ietf-websec-mime-sniff replaces 
draft-abarth-mime-sniff (this helps with various tools that try to check 
for upto-date-ness and successor documents).

Best regards, Julian

From alexey.melnikov@isode.com  Sat Sep 24 07:49:21 2011
Return-Path: <alexey.melnikov@isode.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9EB5521F8AB8 for <websec@ietfa.amsl.com>; Sat, 24 Sep 2011 07:49:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.534
X-Spam-Level: 
X-Spam-Status: No, score=-102.534 tagged_above=-999 required=5 tests=[AWL=0.065, 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 3V21X32EJbWx for <websec@ietfa.amsl.com>; Sat, 24 Sep 2011 07:49:21 -0700 (PDT)
Received: from rufus.isode.com (rufus.isode.com [62.3.217.251]) by ietfa.amsl.com (Postfix) with ESMTP id E41E921F85D1 for <websec@ietf.org>; Sat, 24 Sep 2011 07:49:20 -0700 (PDT)
Received: from [188.28.106.38] (188.28.106.38.threembb.co.uk [188.28.106.38])  by rufus.isode.com (submission channel) via TCP with ESMTPA  id <Tn3uigAvpRbm@rufus.isode.com>; Sat, 24 Sep 2011 15:51:55 +0100
Message-ID: <4E7DEE84.40806@isode.com>
Date: Sat, 24 Sep 2011 15:51:48 +0100
From: Alexey Melnikov <alexey.melnikov@isode.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915
X-Accept-Language: en-us, en
To: Julian Reschke <julian.reschke@gmx.de>
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com> <4E7DB8E4.9040208@gmx.de>
In-Reply-To: <4E7DB8E4.9040208@gmx.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: websec@ietf.org
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Sep 2011 14:49:21 -0000

Julian Reschke wrote:

> On 2011-05-08 02:45, Internet-Drafts@ietf.org wrote:
>
>> A New Internet-Draft is available from the on-line Internet-Drafts 
>> directories.
>> This draft is a work item of the Web Security Working Group of the IETF.
>>
>>
>>     Title           : Media Type Sniffing
>>     Author(s)       : A. Barth, I. Hickson
>>     Filename        : draft-ietf-websec-mime-sniff-03.txt
>>     Pages           : 24
>>     Date            : 2011-05-07
>> ...
>
> I think it would be good if the Internet Drafts database could be 
> updates to say that draft-ietf-websec-mime-sniff replaces 
> draft-abarth-mime-sniff (this helps with various tools that try to 
> check for upto-date-ness and successor documents).

Will do.
 


From julian.reschke@gmx.de  Sun Sep 25 05:31:36 2011
Return-Path: <julian.reschke@gmx.de>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 397A221F8B54 for <websec@ietfa.amsl.com>; Sun, 25 Sep 2011 05:31:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.14
X-Spam-Level: 
X-Spam-Status: No, score=-104.14 tagged_above=-999 required=5 tests=[AWL=-1.541, 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 bJrjl6ldVomK for <websec@ietfa.amsl.com>; Sun, 25 Sep 2011 05:31:35 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by ietfa.amsl.com (Postfix) with SMTP id 2636621F8B4B for <websec@ietf.org>; Sun, 25 Sep 2011 05:31:34 -0700 (PDT)
Received: (qmail invoked by alias); 25 Sep 2011 12:34:13 -0000
Received: from p508FD77C.dip.t-dialin.net (EHLO [192.168.178.36]) [80.143.215.124] by mail.gmx.net (mp070) with SMTP; 25 Sep 2011 14:34:13 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX19rGc9yKEprhfUfqnAFXb6kihia63iTlNBK/xDrMP sQhN8u6/HTNHIJ
Message-ID: <4E7F1FC1.9020805@gmx.de>
Date: Sun, 25 Sep 2011 14:34:09 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2
MIME-Version: 1.0
To: =JeffH <Jeff.Hodges@KingsMountain.com>
References: <4E7117CB.9050203@KingsMountain.com>
In-Reply-To: <4E7117CB.9050203@KingsMountain.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Strict-Transport-Security syntax
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 25 Sep 2011 12:31:36 -0000

On 2011-09-14 23:08, =JeffH wrote:
>  > a few questions about the header field syntax:
>  >
>  > Strict-Transport-Security =
>  > "Strict-Transport-Security" ":" OWS STS-v OWS
>  >
>  > So the header field is *not* using the RFC2616 list syntax. So you
> can have
>  >
>  > Strict-Transport-Security: a; b
>  >
>  > but *not*
>  >
>  > Strict-Transport-Security: a
>  > Strict-Transport-Security: b
>  >
>  > because that would be equivalent to
>  >
>  > Strict-Transport-Security: a, b
>  >
>  > (is this intentional?)
>
> well, it was not necessarily intentional as far as I recall. We either
> managed to overlook, or regarded as inappropriate for this header, the
> RFC2616 list syntax (i.e., the "#rule"), that defines such implicit
> comma-separated lists.
> Also, we'd noted that quite a number of header field definitions used
> semi-colons as a delimiter, but perhaps hadn't noted that those overall
> productions often are embedded within such comma-separated lists.

Yes, that's the list-of-parametrized-things format.

> However, in thinking about it a little bit, for this particular header
> field, as it's presently defined, it doesn't seem appropriate to have it
> explicitly be comma-separated repeatable (aka #rule), because only one
> instance of "S-T-S: max-age=n" is effective in terms of established the
> cached Known HSTS Host in the UA.

In that case, as this is security related, you may want to talk about 
what recipients are to do when (a) they *do* get multiple instances, and 
(b) when an intermediate folds multiple headers using the comma syntax.

>  > Also in
>  >
>  > ; value
>  > STS-v = STS-d
>  > / STS-d *( OWS ";" OWS STS-d OWS )
>  >
>  > ; STS directive
>  > STS-d = STS-d-cur / STS-d-ext
>  >
>  > ; defined STS directives
>  > STS-d-cur = maxAge / [ includeSubDomains ]
>  >
>  > having includeSubDomains optional is a bit weird.
>  >
>  > This means that the empty string would be a valid STS-d-cur, thus an
>  > empty header field is allowed...
>
> Ah, thanks, yes -- i was unsure of how to make includeSubDomains
> optional while max-age is required, and that hack didn't work.
>
> I've now re-worked it as below -- how's that look?
>
> thanks again,
>
> =JeffH
>
>
> Strict-Transport-Security =
> "Strict-Transport-Security" ":" OWS STS-v OWS
>
> ; STS header field value; must have a max-age:
>
> STS-v = max-age
> / max-age *( OWS ";" OWS STS-d OWS )

...which makes putting max-age first required.

> ; additional STS directives:
>
> STS-d = STS-d-cur / STS-d-ext
>
> ; currently defined STS directives,
> ; delta-seconds is 1*DIGIT and is from [RFC2616]:
>
> max-age = "max-age" OWS "=" OWS delta-seconds [ OWS v-ext ]
>
> STS-d-cur = includeSubDomains
>
> includeSubDomains = "includeSubDomains" [ OWS v-ext ]
>
>
> ; extension points
> STS-d-ext = name ; STS extension directive
>
> v-ext = value ; STS extension value
>
> name = token
>
> value = OWS / %x21-3A / %x3C-7E ; i.e. optional white space, or
> ; [ ! .. : ] [ &lt; .. ~ ] any visible chars other than ";"
>
> token = 1*tchar
>
> tchar = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*"
> / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
> / DIGIT / ALPHA
> ; visible (printing) characters, except visible
> ; separators.
> ; DIGIT, ALPHA, separators are from [RFC2616]
>
> ; Basic rules:
>
> OWS = *( [ CRLF ] WSP )
> ; Optional White Space
>
> WSP = SP / HTAB
>
> CRLF = CR LF
>
> ; CR, LF, SP, HTAB are from [RFC2616]
>
>
> ---
> end

I think it would be simpler not to try to express this in the ABNF.

Just use the ABNF to state the core syntax (that a parser will need to 
understand), and then put additional requirements about what directives 
must be there in prose (we're doing the same in HTTPbis, but aren't done 
yet... :-).

Best regards, Julian

From hallam@gmail.com  Tue Sep 27 10:08:09 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0ABBA21F8CE9 for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 10:08:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.468
X-Spam-Level: 
X-Spam-Status: No, score=-3.468 tagged_above=-999 required=5 tests=[AWL=0.131,  BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 7EtDbVlf2fsK for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 10:08:08 -0700 (PDT)
Received: from mail-yx0-f172.google.com (mail-yx0-f172.google.com [209.85.213.172]) by ietfa.amsl.com (Postfix) with ESMTP id 60E4D21F8CE7 for <websec@ietf.org>; Tue, 27 Sep 2011 10:08:08 -0700 (PDT)
Received: by yxt33 with SMTP id 33so6883243yxt.31 for <websec@ietf.org>; Tue, 27 Sep 2011 10:10:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=IJOfXbUa6oWaNoBSi02rDiMcH3KARcOjG5akZ3tAU4w=; b=ftN99lfFxsolEb+GTL18HVtTSVAH9s0aI/bz5N6wr3sOf++zZT2pCDhwjuJtb5eQxk TK5Vq4i2mzoGLF7sacF+HRugkGVVEUH1ZdsTwHuLWQAq+fziUWGsST1DrrN1vXVa/gNI BYgEs0Ho4S0KEJ1NCUbujMUh1ICotsI54NED8=
MIME-Version: 1.0
Received: by 10.101.208.2 with SMTP id k2mr7259933anq.8.1317143454112; Tue, 27 Sep 2011 10:10:54 -0700 (PDT)
Received: by 10.100.212.14 with HTTP; Tue, 27 Sep 2011 10:10:54 -0700 (PDT)
Date: Tue, 27 Sep 2011 13:10:54 -0400
Message-ID: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: websec <websec@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1
Subject: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Sep 2011 17:08:09 -0000

As I mentioned previously, the need to refer to a static data object
by means of a digest comes up frequently. Rather than re-invent the
mechanism for creating a reference each time we need one, it would be
better if we had a single format that could be re-used.

We used to have this back in the days when we trusted MD5 since we
used that everywhere as a 'fingerprint'. Then things got muddy after
the Dobertin attack and it became SHA1 and MD5. With SHA2 vs SHA3 it
will be very muddy.

This would be relevant to the cert pinning debate.


I wrote a draft making the proposal:

http://www.ietf.org/id/draft-hallambaker-digesturi-00.txt


On the digest front the objective would be to make it possible to use
the URI format with any digest at all in theory but strongly encourage
people to only use the digests IETF is confident in. Use of OIDs as
the identifier has the nice property that anyone can get an identifier
to distinguish their algorithm from other people's but getting an OID
does not produce any paper trail that can be used to imply an IETF
endorsement.

We could add in support for the text based identifiers as well, but
since the only identifiers that I would want to encourage are SHA2 and
SHA3, I don't see a need. For all applications that make sense it is
going to be perfectly OK to simply generate the prefix for the
identifier part as a static array of octets and append / verify it as
such whenever it is needed. I do not see any need to write ASN.1
handling code for these apps :-)


The basic idea here is that we need to allow for algorithm agility and
to prevent a content substitution attack. So imagine that we have web
page A linking to some off site static content via a digest. Site A
regards the static content as a PNG and has checked out the page and
it works fine. What they don't know is that buried in the PNG there is
some malicious Jscript and if the content server delivers it as
application/script the result will be a series of syntax errors (that
are silently ignored because the app is stupid)  and then it finds the
malicious code... ooops.

OK, so maybe not an attack that you find to be a worry in every
circumstance, but it is definitely an attack vector we should address
in a general purpose crypto building block.


Having produced a static building block like this it is very easy to
generate a fingerprint for a static data object in a cut and paste
ready format. I don't need a separate tool to generate digest
identifiers for WebSec vs other applications. In terms of ease of use
we get back to what things were like when we used MD5 fingerprints.

It is also quite easy to make use of truncated fingerprints should
that be necessary. For example, to put on a business card.

-- 
Website: http://hallambaker.com/

From hallam@gmail.com  Tue Sep 27 11:13:26 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DFFE621F8BF3 for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 11:13:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.469
X-Spam-Level: 
X-Spam-Status: No, score=-3.469 tagged_above=-999 required=5 tests=[AWL=0.130,  BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 QUU-gQrxzcuq for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 11:13:26 -0700 (PDT)
Received: from mail-yi0-f44.google.com (mail-yi0-f44.google.com [209.85.218.44]) by ietfa.amsl.com (Postfix) with ESMTP id E5D8D21F8BB0 for <websec@ietf.org>; Tue, 27 Sep 2011 11:13:25 -0700 (PDT)
Received: by yic13 with SMTP id 13so6623072yic.31 for <websec@ietf.org>; Tue, 27 Sep 2011 11:16:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=Y69hvRPSNIgLJFhWrcrU3GXJOl20TWH4VXjP0zPbti0=; b=GOXu1sCp8AAXQs8DSQRE70UGqcd01KjeMWwiyL2mYUYv5tui14ngOJUJegdWZlMCxm I2mEfMGRNq+EBSbh+7yldfH4nAFiOrmz/4ZXxc1Y/A3bTPoC3JWQTuq3/v1BXDS6JZ2S von0TOGiUVKMhxIpymooSujnAopPUWIzsEfEM=
MIME-Version: 1.0
Received: by 10.100.82.6 with SMTP id f6mr7449945anb.52.1317147371874; Tue, 27 Sep 2011 11:16:11 -0700 (PDT)
Received: by 10.100.212.14 with HTTP; Tue, 27 Sep 2011 11:16:11 -0700 (PDT)
In-Reply-To: <4E7F1FC1.9020805@gmx.de>
References: <4E7117CB.9050203@KingsMountain.com> <4E7F1FC1.9020805@gmx.de>
Date: Tue, 27 Sep 2011 14:16:11 -0400
Message-ID: <CAMm+LwgaLb_s90KiK2NfG3ai9=ko5aBX9WNDHXj5J0hzFY7TKA@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Julian Reschke <julian.reschke@gmx.de>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Strict-Transport-Security syntax
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Sep 2011 18:13:27 -0000

Agreed, just write the syntax so that it specified a MIME header-ish
tag-value list. Then define the tags and the syntax of the
corresponding values separately.

That makes it much easier to extend the protocol at the API level
since the API can simply deliver the tag-value list to the caller.


Hasn't this been specified somewhere already?


On Sun, Sep 25, 2011 at 8:34 AM, Julian Reschke <julian.reschke@gmx.de> wro=
te:
> On 2011-09-14 23:08, =3DJeffH wrote:
>>
>> =A0> a few questions about the header field syntax:
>> =A0>
>> =A0> Strict-Transport-Security =3D
>> =A0> "Strict-Transport-Security" ":" OWS STS-v OWS
>> =A0>
>> =A0> So the header field is *not* using the RFC2616 list syntax. So you
>> can have
>> =A0>
>> =A0> Strict-Transport-Security: a; b
>> =A0>
>> =A0> but *not*
>> =A0>
>> =A0> Strict-Transport-Security: a
>> =A0> Strict-Transport-Security: b
>> =A0>
>> =A0> because that would be equivalent to
>> =A0>
>> =A0> Strict-Transport-Security: a, b
>> =A0>
>> =A0> (is this intentional?)
>>
>> well, it was not necessarily intentional as far as I recall. We either
>> managed to overlook, or regarded as inappropriate for this header, the
>> RFC2616 list syntax (i.e., the "#rule"), that defines such implicit
>> comma-separated lists.
>> Also, we'd noted that quite a number of header field definitions used
>> semi-colons as a delimiter, but perhaps hadn't noted that those overall
>> productions often are embedded within such comma-separated lists.
>
> Yes, that's the list-of-parametrized-things format.
>
>> However, in thinking about it a little bit, for this particular header
>> field, as it's presently defined, it doesn't seem appropriate to have it
>> explicitly be comma-separated repeatable (aka #rule), because only one
>> instance of "S-T-S: max-age=3Dn" is effective in terms of established th=
e
>> cached Known HSTS Host in the UA.
>
> In that case, as this is security related, you may want to talk about wha=
t
> recipients are to do when (a) they *do* get multiple instances, and (b) w=
hen
> an intermediate folds multiple headers using the comma syntax.
>
>> =A0> Also in
>> =A0>
>> =A0> ; value
>> =A0> STS-v =3D STS-d
>> =A0> / STS-d *( OWS ";" OWS STS-d OWS )
>> =A0>
>> =A0> ; STS directive
>> =A0> STS-d =3D STS-d-cur / STS-d-ext
>> =A0>
>> =A0> ; defined STS directives
>> =A0> STS-d-cur =3D maxAge / [ includeSubDomains ]
>> =A0>
>> =A0> having includeSubDomains optional is a bit weird.
>> =A0>
>> =A0> This means that the empty string would be a valid STS-d-cur, thus a=
n
>> =A0> empty header field is allowed...
>>
>> Ah, thanks, yes -- i was unsure of how to make includeSubDomains
>> optional while max-age is required, and that hack didn't work.
>>
>> I've now re-worked it as below -- how's that look?
>>
>> thanks again,
>>
>> =3DJeffH
>>
>>
>> Strict-Transport-Security =3D
>> "Strict-Transport-Security" ":" OWS STS-v OWS
>>
>> ; STS header field value; must have a max-age:
>>
>> STS-v =3D max-age
>> / max-age *( OWS ";" OWS STS-d OWS )
>
> ...which makes putting max-age first required.
>
>> ; additional STS directives:
>>
>> STS-d =3D STS-d-cur / STS-d-ext
>>
>> ; currently defined STS directives,
>> ; delta-seconds is 1*DIGIT and is from [RFC2616]:
>>
>> max-age =3D "max-age" OWS "=3D" OWS delta-seconds [ OWS v-ext ]
>>
>> STS-d-cur =3D includeSubDomains
>>
>> includeSubDomains =3D "includeSubDomains" [ OWS v-ext ]
>>
>>
>> ; extension points
>> STS-d-ext =3D name ; STS extension directive
>>
>> v-ext =3D value ; STS extension value
>>
>> name =3D token
>>
>> value =3D OWS / %x21-3A / %x3C-7E ; i.e. optional white space, or
>> ; [ ! .. : ] [ &lt; .. ~ ] any visible chars other than ";"
>>
>> token =3D 1*tchar
>>
>> tchar =3D "!" / "#" / "$" / "%" / "&amp;" / "'" / "*"
>> / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
>> / DIGIT / ALPHA
>> ; visible (printing) characters, except visible
>> ; separators.
>> ; DIGIT, ALPHA, separators are from [RFC2616]
>>
>> ; Basic rules:
>>
>> OWS =3D *( [ CRLF ] WSP )
>> ; Optional White Space
>>
>> WSP =3D SP / HTAB
>>
>> CRLF =3D CR LF
>>
>> ; CR, LF, SP, HTAB are from [RFC2616]
>>
>>
>> ---
>> end
>
> I think it would be simpler not to try to express this in the ABNF.
>
> Just use the ABNF to state the core syntax (that a parser will need to
> understand), and then put additional requirements about what directives m=
ust
> be there in prose (we're doing the same in HTTPbis, but aren't done yet..=
.
> :-).
>
> Best regards, Julian
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>



--=20
Website: http://hallambaker.com/

From Jeff.Hodges@KingsMountain.com  Tue Sep 27 16:14:13 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D7C5521F8F38 for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 16:14:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.483
X-Spam-Level: 
X-Spam-Status: No, score=-100.483 tagged_above=-999 required=5 tests=[AWL=0.012, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, 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 yz63bILsHhrM for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 16:14:11 -0700 (PDT)
Received: from oproxy8-pub.bluehost.com (oproxy8.bluehost.com [IPv6:2605:dc00:100:2::a8]) by ietfa.amsl.com (Postfix) with SMTP id C4F5D21F8EC8 for <websec@ietf.org>; Tue, 27 Sep 2011 16:14:09 -0700 (PDT)
Received: (qmail 21031 invoked by uid 0); 27 Sep 2011 23:16:54 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by oproxy8.bluehost.com with SMTP; 27 Sep 2011 23:16:54 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=tkAnmpFwydb7SKJAMGWMPCo5j8napIsgD4byRKpiI7M=;  b=LkRGethSJcpfEWF96018PFrnMiPo7REE5Khd1llsJbmoUn1bJmYmPF7QyporaASMYtPwApqtldMFOJspWXgxWO0Fsl5+RF2Z8isjG7kzOLX9Kmh2NdU56plM3j2Se3Bm;
Received: from outbound4.ebay.com ([216.113.168.128] helo=[10.244.136.88]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R8gtS-0004Ci-JS; Tue, 27 Sep 2011 17:16:54 -0600
Message-ID: <4E825968.1020601@KingsMountain.com>
Date: Tue, 27 Sep 2011 16:16:56 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>, Julian Reschke <julian.reschke@gmx.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 216.113.168.128 authed with jeff.hodges+kingsmountain.com}
Subject: Re: [websec] Strict-Transport-Security syntax
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Sep 2011 23:14:13 -0000

thx for the comments Julian.

 > On 2011-09-14 23:08, =JeffH wrote:
 >>  > a few questions about the header field syntax:
 >>  >
 >>  > Strict-Transport-Security =
 >>  > "Strict-Transport-Security" ":" OWS STS-v OWS
 >>  >
 >>  > So the header field is *not* using the RFC2616 list syntax. So you
 >> can have
 >>  >
 >>  > Strict-Transport-Security: a; b
 >>  >
 >>  > but *not*
 >>  >
 >>  > Strict-Transport-Security: a
 >>  > Strict-Transport-Security: b
 >>  >
 >>  > because that would be equivalent to
 >>  >
 >>  > Strict-Transport-Security: a, b
 >>  >
 >>  > (is this intentional?)
 >>
 >> well, it was not necessarily intentional as far as I recall. We either
 >> managed to overlook, or regarded as inappropriate for this header, the
 >> RFC2616 list syntax (i.e., the "#rule"), that defines such implicit
 >> comma-separated lists.
 >> Also, we'd noted that quite a number of header field definitions used
 >> semi-colons as a delimiter, but perhaps hadn't noted that those overall
 >> productions often are embedded within such comma-separated lists.
 >
 > Yes, that's the list-of-parametrized-things format.
 >
 >> However, in thinking about it a little bit, for this particular header
 >> field, as it's presently defined, it doesn't seem appropriate to have it
 >> explicitly be comma-separated repeatable (aka #rule), because only one
 >> instance of "S-T-S: max-age=n" is effective in terms of established the
 >> cached Known HSTS Host in the UA.
 >
 > In that case, as this is security related, you may want to talk about
 > what recipients are to do when (a) they *do* get multiple instances,

that's already done in -websec-strict-transport-sec-02 in S 7.1.

 > and
 > (b) when an intermediate folds multiple headers using the comma syntax.

ah, so an intermediate can/might do that to multiple occurrences of any header 
field in a message ?


 >>  > Also in
 >>  >
 >>  > ; value
 >>  > STS-v = STS-d
 >>  > / STS-d *( OWS ";" OWS STS-d OWS )
 >>  >
 >>  > ; STS directive
 >>  > STS-d = STS-d-cur / STS-d-ext
 >>  >
 >>  > ; defined STS directives
 >>  > STS-d-cur = maxAge / [ includeSubDomains ]
 >>  >
 >>  > having includeSubDomains optional is a bit weird.
 >>  >
 >>  > This means that the empty string would be a valid STS-d-cur, thus an
 >>  > empty header field is allowed...
 >>
 >> Ah, thanks, yes -- i was unsure of how to make includeSubDomains
 >> optional while max-age is required, and that hack didn't work.
 >>
 >> I've now re-worked it as below -- how's that look?
 >>
 >> thanks again,
 >>
 >> =JeffH
 >>
 >>
 >> Strict-Transport-Security =
 >> "Strict-Transport-Security" ":" OWS STS-v OWS
 >>
 >> ; STS header field value; must have a max-age:
 >>
 >> STS-v = max-age
 >> / max-age *( OWS ";" OWS STS-d OWS )
 >
 > ...which makes putting max-age first required.
 >
 >> ; additional STS directives:
 >>
 >> STS-d = STS-d-cur / STS-d-ext
 >>
 >> ; currently defined STS directives,
 >> ; delta-seconds is 1*DIGIT and is from [RFC2616]:
 >>
 >> max-age = "max-age" OWS "=" OWS delta-seconds [ OWS v-ext ]
 >>
 >> STS-d-cur = includeSubDomains
 >>
 >> includeSubDomains = "includeSubDomains" [ OWS v-ext ]
 >>
 >>
 >> ; extension points
 >> STS-d-ext = name ; STS extension directive
 >>
 >> v-ext = value ; STS extension value
 >>
 >> name = token
 >>
 >> value = OWS / %x21-3A / %x3C-7E ; i.e. optional white space, or
 >> ; [ ! .. : ] [ &lt; .. ~ ] any visible chars other than ";"
 >>
 >> token = 1*tchar
 >>
 >> tchar = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*"
 >> / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
 >> / DIGIT / ALPHA
 >> ; visible (printing) characters, except visible
 >> ; separators.
 >> ; DIGIT, ALPHA, separators are from [RFC2616]
 >>
 >> ; Basic rules:
 >>
 >> OWS = *( [ CRLF ] WSP )
 >> ; Optional White Space
 >>
 >> WSP = SP / HTAB
 >>
 >> CRLF = CR LF
 >>
 >> ; CR, LF, SP, HTAB are from [RFC2616]
 >>
 >>
 >> ---
 >> end
 >
 > I think it would be simpler not to try to express this in the ABNF.

what do you mean by "this" ?


 > Just use the ABNF to state the core syntax (that a parser will need to
 > understand), and then put additional requirements about what directives
 > must be there in prose (we're doing the same in HTTPbis, but aren't done
 > yet... :-).

do you have a particular example in mind?

I'm guessing that the Expect header might be a good example, from 
-httpbis-p2-semantics-16, yes?

thanks again,

=JeffH



From paul.hoffman@vpnc.org  Tue Sep 27 17:20:06 2011
Return-Path: <paul.hoffman@vpnc.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DD5D921F8FD2 for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 17:20:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.553
X-Spam-Level: 
X-Spam-Status: No, score=-102.553 tagged_above=-999 required=5 tests=[AWL=0.046, 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 hUUCBE9jiIqP for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 17:20:06 -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 6411E21F8FB3 for <websec@ietf.org>; Tue, 27 Sep 2011 17:20:06 -0700 (PDT)
Received: from [10.20.30.100] (50-0-66-4.dsl.dynamic.fusionbroadband.com [50.0.66.4]) (authenticated bits=0) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id p8S0Mqb5075134 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) for <websec@ietf.org>; Tue, 27 Sep 2011 17:22:53 -0700 (MST) (envelope-from paul.hoffman@vpnc.org)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Apple Message framework v1244.3)
From: Paul Hoffman <paul.hoffman@vpnc.org>
In-Reply-To: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com>
Date: Tue, 27 Sep 2011 17:22:54 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <90CBD0BD-FFF0-4657-915F-ED5391B21D01@vpnc.org>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com>
To: websec <websec@ietf.org>
X-Mailer: Apple Mail (2.1244.3)
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 00:20:07 -0000

On Sep 27, 2011, at 10:10 AM, Phillip Hallam-Baker wrote:

> http://www.ietf.org/id/draft-hallambaker-digesturi-00.txt

If the WG wants a URI that meets the objectives that Phill laid out (and =
I think that many of those are good objectives), something much simpler =
without any ASN.1 in it would be better. I'd be happy to write a much =
simpler proposal if the WG wants.

--Paul Hoffman


From James.H.Manger@team.telstra.com  Tue Sep 27 17:27:40 2011
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D9CA421F8F4A for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 17:27:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.612
X-Spam-Level: 
X-Spam-Status: No, score=-2.612 tagged_above=-999 required=5 tests=[AWL=-1.711, BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
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 QafwQ+AZI9WB for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 17:27:40 -0700 (PDT)
Received: from ipxcno.tcif.telstra.com.au (ipxcno.tcif.telstra.com.au [203.35.82.208]) by ietfa.amsl.com (Postfix) with ESMTP id F346A21F8F20 for <websec@ietf.org>; Tue, 27 Sep 2011 17:27:39 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.68,452,1312120800"; d="scan'208";a="46933311"
Received: from unknown (HELO ipcdni.tcif.telstra.com.au) ([10.97.216.212]) by ipocni.tcif.telstra.com.au with ESMTP; 28 Sep 2011 10:30:25 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,6482"; a="37967660"
Received: from wsmsg3752.srv.dir.telstra.com ([172.49.40.173]) by ipcdni.tcif.telstra.com.au with ESMTP; 28 Sep 2011 10:30:25 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3752.srv.dir.telstra.com ([172.49.40.173]) with mapi; Wed, 28 Sep 2011 10:30:24 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: websec <websec@ietf.org>
Date: Wed, 28 Sep 2011 10:30:22 +1000
Thread-Topic: [websec] Digest URI scheme
Thread-Index: Acx9dMae7z79B/bkRYus20t6pVpIjwAABQkQ
Message-ID: <255B9BB34FB7D647A506DC292726F6E1128FF821EB@WSMSG3153V.srv.dir.telstra.com>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <90CBD0BD-FFF0-4657-915F-ED5391B21D01@vpnc.org>
In-Reply-To: <90CBD0BD-FFF0-4657-915F-ED5391B21D01@vpnc.org>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 00:27:41 -0000

>> http://www.ietf.org/id/draft-hallambaker-digesturi-00.txt
>
>If the WG wants a URI that meets the objectives that Phill laid out (and I=
 think that many of those are >good objectives), something much simpler wit=
hout any ASN.1 in it would be better. I'd be happy to write >a much simpler=
 proposal if the WG wants.
>
>--Paul Hoffman

Yes, a text format would be easier to handle, learn, edit, and understand.

Tacking a digest onto URIs that do provide a means of resolution might be m=
ore useful.

P.S. The sample certificate in draft-hallambaker-digesturi-00.txt section A=
.1 has a negative modulus!

From derhoermi@gmx.net  Tue Sep 27 18:13:19 2011
Return-Path: <derhoermi@gmx.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2400D21F8E1A for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 18:13:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.203
X-Spam-Level: 
X-Spam-Status: No, score=-3.203 tagged_above=-999 required=5 tests=[AWL=-0.604, BAYES_00=-2.599]
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 jLcBXiS95WVc for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 18:13:17 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.23]) by ietfa.amsl.com (Postfix) with SMTP id 35C0021F8DF6 for <websec@ietf.org>; Tue, 27 Sep 2011 18:13:16 -0700 (PDT)
Received: (qmail invoked by alias); 28 Sep 2011 01:16:02 -0000
Received: from dslb-094-223-196-073.pools.arcor-ip.net (EHLO HIVE) [94.223.196.73] by mail.gmx.net (mp021) with SMTP; 28 Sep 2011 03:16:02 +0200
X-Authenticated: #723575
X-Provags-ID: V01U2FsdGVkX19zVH9L2VJzQBMC0Aix1dxLdp7Kvv491gJYVChjya Nt9yUQNdI0Ttjm
From: Bjoern Hoehrmann <derhoermi@gmx.net>
To: "Manger, James H" <James.H.Manger@team.telstra.com>
Date: Wed, 28 Sep 2011 03:16:08 +0200
Message-ID: <16t487ho0pk140qbq4toe062tgtbei5cm6@hive.bjoern.hoehrmann.de>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <90CBD0BD-FFF0-4657-915F-ED5391B21D01@vpnc.org> <255B9BB34FB7D647A506DC292726F6E1128FF821EB@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E1128FF821EB@WSMSG3153V.srv.dir.telstra.com>
X-Mailer: Forte Agent 3.3/32.846
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Y-GMX-Trusted: 0
Cc: websec <websec@ietf.org>
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 01:13:19 -0000

* Manger, James H wrote:
>Tacking a digest onto URIs that do provide a means of resolution might be more useful.

That sounds like <http://en.wikipedia.org/wiki/Metalink>.
-- 
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Am Badedeich 7 · Telefon: +49(0)160/4415681 · http://www.bjoernsworld.de
25899 Dagebüll · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 

From derhoermi@gmx.net  Tue Sep 27 18:17:23 2011
Return-Path: <derhoermi@gmx.net>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E90F421F8ECA for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 18:17:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.191
X-Spam-Level: 
X-Spam-Status: No, score=-3.191 tagged_above=-999 required=5 tests=[AWL=-0.592, BAYES_00=-2.599]
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 zL-OeemQdbzF for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 18:17:23 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by ietfa.amsl.com (Postfix) with SMTP id 538E921F8EC9 for <websec@ietf.org>; Tue, 27 Sep 2011 18:17:22 -0700 (PDT)
Received: (qmail invoked by alias); 28 Sep 2011 01:13:27 -0000
Received: from dslb-094-223-196-073.pools.arcor-ip.net (EHLO HIVE) [94.223.196.73] by mail.gmx.net (mp048) with SMTP; 28 Sep 2011 03:13:27 +0200
X-Authenticated: #723575
X-Provags-ID: V01U2FsdGVkX19SiF0aQhFSdDiRX+vziLPKEFL4ahDTirFcOUcmD6 ajwFMZhbcwqNaO
From: Bjoern Hoehrmann <derhoermi@gmx.net>
To: Paul Hoffman <paul.hoffman@vpnc.org>
Date: Wed, 28 Sep 2011 03:13:34 +0200
Message-ID: <hss487tj7ahfluufe5c24h553a4cv5frmv@hive.bjoern.hoehrmann.de>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <90CBD0BD-FFF0-4657-915F-ED5391B21D01@vpnc.org>
In-Reply-To: <90CBD0BD-FFF0-4657-915F-ED5391B21D01@vpnc.org>
X-Mailer: Forte Agent 3.3/32.846
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Y-GMX-Trusted: 0
Cc: websec <websec@ietf.org>
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 01:17:24 -0000

* Paul Hoffman wrote:
>If the WG wants a URI that meets the objectives that Phill laid out (and
>I think that many of those are good objectives), something much simpler
>without any ASN.1 in it would be better. I'd be happy to write a much
>simpler proposal if the WG wants.

That was my initial reaction aswell, but I am not entirely sure what the
objectives are considering that they seemingly lead to discussing ASN.1
and DER and OIDs in the proposal. I do note that there have been many
initiatives to draw digests into URI space, the "urn:sha1:" convention
is popular for instance but currently unregistered.
-- 
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Am Badedeich 7 · Telefon: +49(0)160/4415681 · http://www.bjoernsworld.de
25899 Dagebüll · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 

From julian.reschke@gmx.de  Tue Sep 27 23:31:42 2011
Return-Path: <julian.reschke@gmx.de>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 25EFD21F8C84 for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 23:31:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.123
X-Spam-Level: 
X-Spam-Status: No, score=-104.123 tagged_above=-999 required=5 tests=[AWL=-1.524, 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 1qD3RgYIO6LK for <websec@ietfa.amsl.com>; Tue, 27 Sep 2011 23:31:41 -0700 (PDT)
Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.23]) by ietfa.amsl.com (Postfix) with SMTP id C37DA21F8B94 for <websec@ietf.org>; Tue, 27 Sep 2011 23:31:40 -0700 (PDT)
Received: (qmail invoked by alias); 28 Sep 2011 06:34:26 -0000
Received: from p508FB469.dip.t-dialin.net (EHLO [192.168.178.36]) [80.143.180.105] by mail.gmx.net (mp059) with SMTP; 28 Sep 2011 08:34:26 +0200
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1+VYzg1+ZWV5wRwrfJ8VpOPWc9ybdsnVb3ujZ0XTf PA3PKCYS0JA4vH
Message-ID: <4E82BFEF.7090706@gmx.de>
Date: Wed, 28 Sep 2011 08:34:23 +0200
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0) Gecko/20110922 Thunderbird/7.0
MIME-Version: 1.0
To: =JeffH <Jeff.Hodges@KingsMountain.com>
References: <4E825968.1020601@KingsMountain.com>
In-Reply-To: <4E825968.1020601@KingsMountain.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Cc: IETF WebSec WG <websec@ietf.org>
Subject: Re: [websec] Strict-Transport-Security syntax
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 06:31:42 -0000

On 2011-09-28 01:16, =JeffH wrote:
> thx for the comments Julian.
>
>  > On 2011-09-14 23:08, =JeffH wrote:
>  >> > a few questions about the header field syntax:
>  >> >
>  >> > Strict-Transport-Security =
>  >> > "Strict-Transport-Security" ":" OWS STS-v OWS
>  >> >
>  >> > So the header field is *not* using the RFC2616 list syntax. So you
>  >> can have
>  >> >
>  >> > Strict-Transport-Security: a; b
>  >> >
>  >> > but *not*
>  >> >
>  >> > Strict-Transport-Security: a
>  >> > Strict-Transport-Security: b
>  >> >
>  >> > because that would be equivalent to
>  >> >
>  >> > Strict-Transport-Security: a, b
>  >> >
>  >> > (is this intentional?)
>  >>
>  >> well, it was not necessarily intentional as far as I recall. We either
>  >> managed to overlook, or regarded as inappropriate for this header, the
>  >> RFC2616 list syntax (i.e., the "#rule"), that defines such implicit
>  >> comma-separated lists.
>  >> Also, we'd noted that quite a number of header field definitions used
>  >> semi-colons as a delimiter, but perhaps hadn't noted that those overall
>  >> productions often are embedded within such comma-separated lists.
>  >
>  > Yes, that's the list-of-parametrized-things format.
>  >
>  >> However, in thinking about it a little bit, for this particular header
>  >> field, as it's presently defined, it doesn't seem appropriate to
> have it
>  >> explicitly be comma-separated repeatable (aka #rule), because only one
>  >> instance of "S-T-S: max-age=n" is effective in terms of established the
>  >> cached Known HSTS Host in the UA.
>  >
>  > In that case, as this is security related, you may want to talk about
>  > what recipients are to do when (a) they *do* get multiple instances,
>
> that's already done in -websec-strict-transport-sec-02 in S 7.1.

Indeed:

           If a UA receives more than one Strict-Transport-Security
           header field in a HTTP response message over secure transport,
           then the UA SHOULD process only the first such header field.

I think it would be cleaner to consider the message broken in this case.

>  > and
>  > (b) when an intermediate folds multiple headers using the comma syntax.
>
> ah, so an intermediate can/might do that to multiple occurrences of any
> header field in a message ?

Yes.

>  >> > Also in
>  >> >
>  >> > ; value
>  >> > STS-v = STS-d
>  >> > / STS-d *( OWS ";" OWS STS-d OWS )
>  >> >
>  >> > ; STS directive
>  >> > STS-d = STS-d-cur / STS-d-ext
>  >> >
>  >> > ; defined STS directives
>  >> > STS-d-cur = maxAge / [ includeSubDomains ]
>  >> >
>  >> > having includeSubDomains optional is a bit weird.
>  >> >
>  >> > This means that the empty string would be a valid STS-d-cur, thus an
>  >> > empty header field is allowed...
>  >>
>  >> Ah, thanks, yes -- i was unsure of how to make includeSubDomains
>  >> optional while max-age is required, and that hack didn't work.
>  >>
>  >> I've now re-worked it as below -- how's that look?
>  >>
>  >> thanks again,
>  >>
>  >> =JeffH
>  >>
>  >>
>  >> Strict-Transport-Security =
>  >> "Strict-Transport-Security" ":" OWS STS-v OWS
>  >>
>  >> ; STS header field value; must have a max-age:
>  >>
>  >> STS-v = max-age
>  >> / max-age *( OWS ";" OWS STS-d OWS )
>  >
>  > ...which makes putting max-age first required.
>  >
>  >> ; additional STS directives:
>  >>
>  >> STS-d = STS-d-cur / STS-d-ext
>  >>
>  >> ; currently defined STS directives,
>  >> ; delta-seconds is 1*DIGIT and is from [RFC2616]:
>  >>
>  >> max-age = "max-age" OWS "=" OWS delta-seconds [ OWS v-ext ]
>  >>
>  >> STS-d-cur = includeSubDomains
>  >>
>  >> includeSubDomains = "includeSubDomains" [ OWS v-ext ]
>  >>
>  >>
>  >> ; extension points
>  >> STS-d-ext = name ; STS extension directive
>  >>
>  >> v-ext = value ; STS extension value
>  >>
>  >> name = token
>  >>
>  >> value = OWS / %x21-3A / %x3C-7E ; i.e. optional white space, or
>  >> ; [ ! .. : ] [ &lt; .. ~ ] any visible chars other than ";"
>  >>
>  >> token = 1*tchar
>  >>
>  >> tchar = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*"
>  >> / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
>  >> / DIGIT / ALPHA
>  >> ; visible (printing) characters, except visible
>  >> ; separators.
>  >> ; DIGIT, ALPHA, separators are from [RFC2616]
>  >>
>  >> ; Basic rules:
>  >>
>  >> OWS = *( [ CRLF ] WSP )
>  >> ; Optional White Space
>  >>
>  >> WSP = SP / HTAB
>  >>
>  >> CRLF = CR LF
>  >>
>  >> ; CR, LF, SP, HTAB are from [RFC2616]
>  >>
>  >>
>  >> ---
>  >> end
>  >
>  > I think it would be simpler not to try to express this in the ABNF.
>
> what do you mean by "this" ?

Essentially constraints on what directives need to be there (as opposed 
to their syntax).

>  > Just use the ABNF to state the core syntax (that a parser will need to
>  > understand), and then put additional requirements about what directives
>  > must be there in prose (we're doing the same in HTTPbis, but aren't done
>  > yet... :-).
>
> do you have a particular example in mind?

HTTPbis, for instance, doesn't enumerate header field names in the ABNF 
anymore.

> I'm guessing that the Expect header might be a good example, from
> -httpbis-p2-semantics-16, yes?

Not really, it still has the directive "100-continue" spelled out in the 
ABNF.

Best regards, Julian

From gerv@mozilla.org  Wed Sep 28 02:29:23 2011
Return-Path: <gerv@mozilla.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 300BA21F8CFD for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 02:29:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level: 
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 Lrx1pcSB2g9k for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 02:29:22 -0700 (PDT)
Received: from dm-mail03.mozilla.org (dm-mail03.mozilla.org [63.245.208.213]) by ietfa.amsl.com (Postfix) with ESMTP id 6891521F8CD2 for <websec@ietf.org>; Wed, 28 Sep 2011 02:29:22 -0700 (PDT)
Received: from [192.168.42.87] (unknown [82.132.248.186]) (Authenticated sender: gerv@mozilla.org) by dm-mail03.mozilla.org (Postfix) with ESMTP id EC1224AEDD3; Wed, 28 Sep 2011 02:32:08 -0700 (PDT)
Message-ID: <4E82E996.8020003@mozilla.org>
Date: Wed, 28 Sep 2011 10:32:06 +0100
From: Gervase Markham <gerv@mozilla.org>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20110808 Thunderbird/6.0
MIME-Version: 1.0
To: Phillip Hallam-Baker <hallam@gmail.com>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com>
In-Reply-To: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Cc: websec <websec@ietf.org>
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 09:29:23 -0000

On 27/09/11 18:10, Phillip Hallam-Baker wrote:
> On the digest front the objective would be to make it possible to use
> the URI format with any digest at all in theory but strongly encourage
> people to only use the digests IETF is confident in. Use of OIDs as
> the identifier has the nice property that anyone can get an identifier
> to distinguish their algorithm from other people's but getting an OID
> does not produce any paper trail that can be used to imply an IETF
> endorsement.

But it also makes the identifiers less human readable and much longer
than they could otherwise be.

> We could add in support for the text based identifiers as well, but
> since the only identifiers that I would want to encourage are SHA2 and
> SHA3, I don't see a need. 

Why does it take so many bytes to determine between a very small number
of options?

Worrying about clashes in the text-based identifiers people use seems
somewhat unnecessary. How many hash algorithms with the same name (or
without an obvious canonical name) are there? If this was really a
problem, we could have a microformats-like wiki registry:
http://microformats.org/wiki/existing-rel-values

> For all applications that make sense it is
> going to be perfectly OK to simply generate the prefix for the
> identifier part as a static array of octets and append / verify it as
> such whenever it is needed. I do not see any need to write ASN.1
> handling code for these apps :-)

Then why use ASN.1 at all?

Counter-proposal: how about:

digest:SHA1,<base64 string of digest>

Like a data: URL, except without the option for ASCII/URL encoding:
http://en.wikipedia.org/wiki/Data_URI_scheme

For bonus points, allow multiple comma-separated digests to ease
algorithm migration.

Simple :-)

Gerv


From duerst@it.aoyama.ac.jp  Wed Sep 28 03:49:46 2011
Return-Path: <duerst@it.aoyama.ac.jp>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 778C921F8C93 for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 03:49:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.733
X-Spam-Level: 
X-Spam-Status: No, score=-100.733 tagged_above=-999 required=5 tests=[AWL=1.057, BAYES_00=-2.599, GB_I_LETTER=-2, HELO_EQ_JP=1.244, HOST_EQ_JP=1.265, MIME_8BIT_HEADER=0.3, 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 MR+azfPLYCkg for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 03:49:45 -0700 (PDT)
Received: from scintmta01.scbb.aoyama.ac.jp (scintmta01.scbb.aoyama.ac.jp [133.2.253.33]) by ietfa.amsl.com (Postfix) with ESMTP id 57DD521F8C8C for <websec@ietf.org>; Wed, 28 Sep 2011 03:49:45 -0700 (PDT)
Received: from scmse01.scbb.aoyama.ac.jp ([133.2.253.231]) by scintmta01.scbb.aoyama.ac.jp (secret/secret) with SMTP id p8SAqN55028509 for <websec@ietf.org>; Wed, 28 Sep 2011 19:52:23 +0900
Received: from (unknown [133.2.206.133]) by scmse01.scbb.aoyama.ac.jp with smtp id 639f_62bf_f2647994_e9bf_11e0_acea_001d096c566a; Wed, 28 Sep 2011 19:52:23 +0900
Received: from [IPv6:::1] ([133.2.210.1]:54656) by itmail.it.aoyama.ac.jp with [XMail 1.22 ESMTP Server] id <S1555B95> for <websec@ietf.org> from <duerst@it.aoyama.ac.jp>; Wed, 28 Sep 2011 19:52:26 +0900
Message-ID: <4E82FC64.4020803@it.aoyama.ac.jp>
Date: Wed, 28 Sep 2011 19:52:20 +0900
From: =?UTF-8?B?Ik1hcnRpbiBKLiBEw7xyc3Qi?= <duerst@it.aoyama.ac.jp>
Organization: Aoyama Gakuin University
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.9) Gecko/20100722 Eudora/3.0.4
MIME-Version: 1.0
To: Gervase Markham <gerv@mozilla.org>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <4E82E996.8020003@mozilla.org>
In-Reply-To: <4E82E996.8020003@mozilla.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Cc: websec <websec@ietf.org>
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 10:49:46 -0000

I fully agree with others that a textual form is better. That's the 
tradition of URIs. It's much easier to implement, write tests, and so 
on, and won't unnecessarily scare people away.

Regards,    Martin.


P.S.: As a nit (but a strong one), the current draft has "DIGEST:" all 
over the place. But RFC 3986 
(http://tools.ietf.org/html/rfc3986#section-3.1, second paragraph) says:

    Scheme names consist of a sequence of characters beginning with a
    letter and followed by any combination of letters, digits, plus
    ("+"), period ("."), or hyphen ("-").  Although schemes are case-
    insensitive, the canonical form is lowercase and documents that
    specify schemes must do so with lowercase letters.  An implementation
    should accept uppercase letters as equivalent to lowercase in scheme
    names (e.g., allow "HTTP" as well as "http") for the sake of
    robustness but should only produce lowercase scheme names for
    consistency.

which fully matches current practice.


On 2011/09/28 18:32, Gervase Markham wrote:
> On 27/09/11 18:10, Phillip Hallam-Baker wrote:
>> On the digest front the objective would be to make it possible to use
>> the URI format with any digest at all in theory but strongly encourage
>> people to only use the digests IETF is confident in. Use of OIDs as
>> the identifier has the nice property that anyone can get an identifier
>> to distinguish their algorithm from other people's but getting an OID
>> does not produce any paper trail that can be used to imply an IETF
>> endorsement.
>
> But it also makes the identifiers less human readable and much longer
> than they could otherwise be.
>
>> We could add in support for the text based identifiers as well, but
>> since the only identifiers that I would want to encourage are SHA2 and
>> SHA3, I don't see a need.
>
> Why does it take so many bytes to determine between a very small number
> of options?
>
> Worrying about clashes in the text-based identifiers people use seems
> somewhat unnecessary. How many hash algorithms with the same name (or
> without an obvious canonical name) are there? If this was really a
> problem, we could have a microformats-like wiki registry:
> http://microformats.org/wiki/existing-rel-values
>
>> For all applications that make sense it is
>> going to be perfectly OK to simply generate the prefix for the
>> identifier part as a static array of octets and append / verify it as
>> such whenever it is needed. I do not see any need to write ASN.1
>> handling code for these apps :-)
>
> Then why use ASN.1 at all?
>
> Counter-proposal: how about:
>
> digest:SHA1,<base64 string of digest>
>
> Like a data: URL, except without the option for ASCII/URL encoding:
> http://en.wikipedia.org/wiki/Data_URI_scheme
>
> For bonus points, allow multiple comma-separated digests to ease
> algorithm migration.
>
> Simple :-)
>
> Gerv
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>

From tobias.gondrom@gondrom.org  Wed Sep 28 09:53:55 2011
Return-Path: <tobias.gondrom@gondrom.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3795411E80E8 for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 09:53:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -97.369
X-Spam-Level: 
X-Spam-Status: No, score=-97.369 tagged_above=-999 required=5 tests=[AWL=1.409, BAYES_00=-2.599, FH_HELO_EQ_D_D_D_D=1.597, GB_I_LETTER=-2, HELO_DYNAMIC_IPADDR=2.426, HELO_EQ_DE=0.35, HELO_MISMATCH_DE=1.448, 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 KNcRV4vc9rCr for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 09:53:54 -0700 (PDT)
Received: from lvps83-169-7-107.dedicated.hosteurope.de (www.gondrom.org [83.169.7.107]) by ietfa.amsl.com (Postfix) with ESMTP id E451411E80E2 for <websec@ietf.org>; Wed, 28 Sep 2011 09:53:53 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws; s=default; d=gondrom.org; b=C3YG/n6QDvL8U1mk9TgT+lSUO38+uTdJIEDv3rtjHjOlKbYMaRvuAkLp9G/Vuops+BOQrJ4IE4VEsAWx2Nyu20l+PhzzCwQY0m4yEcyPgTn5WpX9gpeMqy73UgEU+Yq6; h=Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding;
Received: (qmail 27784 invoked from network); 28 Sep 2011 18:55:43 +0200
Received: from 94-194-102-93.zone8.bethere.co.uk (HELO ?192.168.1.65?) (94.194.102.93) by www.gondrom.org with (DHE-RSA-AES256-SHA encrypted) SMTP; 28 Sep 2011 18:55:43 +0200
Message-ID: <4E83518F.8080609@gondrom.org>
Date: Wed, 28 Sep 2011 17:55:43 +0100
From: Tobias Gondrom <tobias.gondrom@gondrom.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2
MIME-Version: 1.0
To: websec@ietf.org
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <4E82E996.8020003@mozilla.org> <4E82FC64.4020803@it.aoyama.ac.jp>
In-Reply-To: <4E82FC64.4020803@it.aoyama.ac.jp>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 16:53:55 -0000

<hat="individual">
I would also agree with the textual form. And don't see any reasons for 
using ASN.1 in this instance.
For the alg identifier, there might be reasons for using values from a 
registry, as that gives extendibility and at the same time the ids 
reference their specifications (which is superior to just using a name 
and hope that everybody understands it the same way, i.e. uses the same 
specification).


<hat="wg chair">
like the idea and it could be within websec charter if we as a WG want 
to work on that.
If you like we could have a discussion on that in Taipei (volunteers 
please contact me in the next few days so I can make sure the slot in 
the agenda is sufficient)
For drafts, please consider that there are cut-off dates for Taipei.

Kind regards, Tobias



On 28/09/11 11:52, "Martin J. Dürst" wrote:
> I fully agree with others that a textual form is better. That's the 
> tradition of URIs. It's much easier to implement, write tests, and so 
> on, and won't unnecessarily scare people away.
>
> Regards,    Martin.
>
>
> P.S.: As a nit (but a strong one), the current draft has "DIGEST:" all 
> over the place. But RFC 3986 
> (http://tools.ietf.org/html/rfc3986#section-3.1, second paragraph) says:
>
>    Scheme names consist of a sequence of characters beginning with a
>    letter and followed by any combination of letters, digits, plus
>    ("+"), period ("."), or hyphen ("-").  Although schemes are case-
>    insensitive, the canonical form is lowercase and documents that
>    specify schemes must do so with lowercase letters.  An implementation
>    should accept uppercase letters as equivalent to lowercase in scheme
>    names (e.g., allow "HTTP" as well as "http") for the sake of
>    robustness but should only produce lowercase scheme names for
>    consistency.
>
> which fully matches current practice.
>
>
> On 2011/09/28 18:32, Gervase Markham wrote:
>> On 27/09/11 18:10, Phillip Hallam-Baker wrote:
>>> On the digest front the objective would be to make it possible to use
>>> the URI format with any digest at all in theory but strongly encourage
>>> people to only use the digests IETF is confident in. Use of OIDs as
>>> the identifier has the nice property that anyone can get an identifier
>>> to distinguish their algorithm from other people's but getting an OID
>>> does not produce any paper trail that can be used to imply an IETF
>>> endorsement.
>>
>> But it also makes the identifiers less human readable and much longer
>> than they could otherwise be.
>>
>>> We could add in support for the text based identifiers as well, but
>>> since the only identifiers that I would want to encourage are SHA2 and
>>> SHA3, I don't see a need.
>>
>> Why does it take so many bytes to determine between a very small number
>> of options?
>>
>> Worrying about clashes in the text-based identifiers people use seems
>> somewhat unnecessary. How many hash algorithms with the same name (or
>> without an obvious canonical name) are there? If this was really a
>> problem, we could have a microformats-like wiki registry:
>> http://microformats.org/wiki/existing-rel-values
>>
>>> For all applications that make sense it is
>>> going to be perfectly OK to simply generate the prefix for the
>>> identifier part as a static array of octets and append / verify it as
>>> such whenever it is needed. I do not see any need to write ASN.1
>>> handling code for these apps :-)
>>
>> Then why use ASN.1 at all?
>>
>> Counter-proposal: how about:
>>
>> digest:SHA1,<base64 string of digest>
>>
>> Like a data: URL, except without the option for ASCII/URL encoding:
>> http://en.wikipedia.org/wiki/Data_URI_scheme
>>
>> For bonus points, allow multiple comma-separated digests to ease
>> algorithm migration.
>>
>> Simple :-)
>>
>> Gerv
>>
>> _______________________________________________
>> websec mailing list
>> websec@ietf.org
>> https://www.ietf.org/mailman/listinfo/websec
>>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec


From tobias.gondrom@gondrom.org  Wed Sep 28 15:39:15 2011
Return-Path: <tobias.gondrom@gondrom.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F034F11E812A for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 15:39:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -96.448
X-Spam-Level: 
X-Spam-Status: No, score=-96.448 tagged_above=-999 required=5 tests=[AWL=0.330, BAYES_00=-2.599, FH_HELO_EQ_D_D_D_D=1.597, HELO_DYNAMIC_IPADDR=2.426, HELO_EQ_DE=0.35, HELO_MISMATCH_DE=1.448, 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 1wS0OjmR7z7s for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 15:39:15 -0700 (PDT)
Received: from lvps83-169-7-107.dedicated.hosteurope.de (www.gondrom.org [83.169.7.107]) by ietfa.amsl.com (Postfix) with ESMTP id B7B6211E80D7 for <websec@ietf.org>; Wed, 28 Sep 2011 15:39:14 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws; s=default; d=gondrom.org; b=TdoBmuNvO3du8H87dWC2MlA+/dzvX/fThGdYDZfTBL1zOnhaQ+DEPZ1IFbE5ZIhFoPI1Wob/fDz8mPSRGOke6W4slHLXQic4kPmEpHwfpzDQqdNYTlQEKM2fhC+P8FA4; h=Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding;
Received: (qmail 30217 invoked from network); 29 Sep 2011 00:41:03 +0200
Received: from 94-194-102-93.zone8.bethere.co.uk (HELO ?192.168.1.65?) (94.194.102.93) by www.gondrom.org with (DHE-RSA-AES256-SHA encrypted) SMTP; 29 Sep 2011 00:41:03 +0200
Message-ID: <4E83A27F.6000606@gondrom.org>
Date: Wed, 28 Sep 2011 23:41:03 +0100
From: Tobias Gondrom <tobias.gondrom@gondrom.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2
MIME-Version: 1.0
To: websec@ietf.org
References: <CAMm+Lwjvqgxr6osQdAkMggxJ+bv0Thab6uCLgx+tNbRLgPPcyw@mail.gmail.com> <4E7AF44E.9060803@mozilla.org> <A6C318D2-199B-4CAE-8D83-E016E51D9B4D@vpnc.org>
In-Reply-To: <A6C318D2-199B-4CAE-8D83-E016E51D9B4D@vpnc.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Subject: Re: [websec] Pinning and beyond Was: Next rev of HSTS certificate pinning draft
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 22:39:16 -0000

On 22/09/11 15:42, Paul Hoffman wrote:
> On Sep 22, 2011, at 1:39 AM, Gervase Markham wrote:
>
>> On 21/09/11 14:18, Phillip Hallam-Baker wrote:
>>> Promiscuous security:
>>>     The site deploys SSL as an option that browsers can choose to use.
>>> Pages may include transcluded content from insecure sites. The cert may
>>> just be a self signed cert, browsers should just silently upgrade the
>>> transport to TLS and not bother the user.
>> The trouble with this idea (in general) is the following scenario:
>>
>> - User has relationship with MyBank.com, and a bookmark to
>>   http://www.mybank.com/.
>>
>> - MyBank is not entirely dumb, and so redirects straight to SSL when
>>   requests come in over unsecured HTTP.
>>
>> - Attacker gains control of user's connection.
>>
>> - User uses bookmark to access bank (supposedly a 'best practice')
>>
>> - Attacker redirects HTTP request to own MITM server, with self-signed
>>   cert. Browser "silently upgrades transport to TLS, and doesn't bother
>>   the user." Attacker passes through data from real site.
>>
>> - Effect is: user's browser shows connection as secure, but is MITMed.
> The "Attacker gains control of user's connection" step isn't necessary if the attacker is already an MITM, such as an TLS proxy like the one that has been in the news lately (or the attacker gains admin access on a corporate TLS proxy).
>
>> This is why silent acceptance of self-signed certs is not a good thing.
>>
>> We cannot rely on the user's browser always remembering the previous
>> cert used, or the CA via something like pinning, because for privacy
>> reasons any pin cache needs to be cleared if the user clears their history.
>>
>>> Thus I think that either pinning should have a new header (they are
>>> cheap, IANA does not bite)
>> But the list of required headers get bigger and bigger. As Brendan Eich
>> says, "it's not the last cookie that makes you fat".
>
> Not sure what you mean by "required". The new one Phill proposed here would be required to support this functionality, not required for every browser. I agree with him: granularity for semantics of each header is better than overloading semantics to save a few bytes.

Also agree with new header. It is not the header field itself that may 
get you "fat", it is complexity of parsing if you try to mingle too much 
into one. And in fact it is smoother on the end-points to parse one more 
defined header fields, than to start more complex parsing and untangling.

Kind regards, Tobias


>
> --Paul Hoffman
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec


From tobias.gondrom@gondrom.org  Wed Sep 28 16:13:42 2011
Return-Path: <tobias.gondrom@gondrom.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9BC8F1F0C4B for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:13:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -96.465
X-Spam-Level: 
X-Spam-Status: No, score=-96.465 tagged_above=-999 required=5 tests=[AWL=0.313, BAYES_00=-2.599, FH_HELO_EQ_D_D_D_D=1.597, HELO_DYNAMIC_IPADDR=2.426, HELO_EQ_DE=0.35, HELO_MISMATCH_DE=1.448, 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 sHv0FzFrkxdQ for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:13:42 -0700 (PDT)
Received: from lvps83-169-7-107.dedicated.hosteurope.de (www.gondrom.org [83.169.7.107]) by ietfa.amsl.com (Postfix) with ESMTP id 692F821F8C31 for <websec@ietf.org>; Wed, 28 Sep 2011 16:13:36 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws; s=default; d=gondrom.org; b=PZZSk5XaM+QqiNnISHDmF28MEopXNPeD5m8ZvLJJvHKmHDVGDZ9P4zjkCJZitJigVA7zuJGfBORQEqBL02q6l2KXxQPb2Ws1aEdQLOkep6RjWzB3xgs+HYmjW/BMKTJs; h=Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding;
Received: (qmail 30341 invoked from network); 29 Sep 2011 01:15:37 +0200
Received: from 94-194-102-93.zone8.bethere.co.uk (HELO ?192.168.1.65?) (94.194.102.93) by www.gondrom.org with (DHE-RSA-AES256-SHA encrypted) SMTP; 29 Sep 2011 01:15:37 +0200
Message-ID: <4E83AA99.6080308@gondrom.org>
Date: Thu, 29 Sep 2011 00:15:37 +0100
From: Tobias Gondrom <tobias.gondrom@gondrom.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2
MIME-Version: 1.0
To: websec@ietf.org
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com> <4E7DB8E4.9040208@gmx.de>
In-Reply-To: <4E7DB8E4.9040208@gmx.de>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 23:13:42 -0000

Hello,

although this has been around for a while, just stumbled again over this 
http header when I analysed the bits on the wire of some web applications:

X-Content-Type-Options: nosniff – This prevents “mime” based attacks. 
The header instructs the browser not to override the response content 
type. For example, some browsers try to be smart by deciding for 
themselves if the content is really is text/html or an image. So with 
the nosniff option, if the server says the content is text/html, then 
the browser needs to render it as text/html.

Is this something we should mention in mime-sniff or even consider to 
encourage?

Kind regards, Tobias


> On 2011-05-08 02:45, Internet-Drafts@ietf.org wrote:
>> A New Internet-Draft is available from the on-line Internet-Drafts 
>> directories.
>> This draft is a work item of the Web Security Working Group of the IETF.
>>
>>
>> Title : Media Type Sniffing
>> Author(s) : A. Barth, I. Hickson
>> Filename : draft-ietf-websec-mime-sniff-03.txt
>> Pages : 24
>> Date : 2011-05-07
>> ...
>


From ietf@adambarth.com  Wed Sep 28 16:23:52 2011
Return-Path: <ietf@adambarth.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D045B11E80AD for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:23:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.063
X-Spam-Level: 
X-Spam-Status: No, score=-3.063 tagged_above=-999 required=5 tests=[AWL=-0.086, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
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 pFYuBJT9BScX for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:23:52 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id 38DCE11E809F for <websec@ietf.org>; Wed, 28 Sep 2011 16:23:52 -0700 (PDT)
Received: by iaby26 with SMTP id y26so32923iab.31 for <websec@ietf.org>; Wed, 28 Sep 2011 16:26:41 -0700 (PDT)
Received: by 10.231.26.145 with SMTP id e17mr13798409ibc.41.1317252401539; Wed, 28 Sep 2011 16:26:41 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by mx.google.com with ESMTPS id fy35sm481269ibb.4.2011.09.28.16.26.39 (version=SSLv3 cipher=OTHER); Wed, 28 Sep 2011 16:26:40 -0700 (PDT)
Received: by iaby26 with SMTP id y26so32867iab.31 for <websec@ietf.org>; Wed, 28 Sep 2011 16:26:39 -0700 (PDT)
Received: by 10.231.51.4 with SMTP id b4mr13506119ibg.99.1317252399109; Wed, 28 Sep 2011 16:26:39 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.200.203 with HTTP; Wed, 28 Sep 2011 16:26:09 -0700 (PDT)
In-Reply-To: <4E83AA99.6080308@gondrom.org>
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com> <4E7DB8E4.9040208@gmx.de> <4E83AA99.6080308@gondrom.org>
From: Adam Barth <ietf@adambarth.com>
Date: Wed, 28 Sep 2011 16:26:09 -0700
Message-ID: <CAJE5ia_k3vXWixC6UsJ6mJ08xW8NQO06MVVD9-dzYSOFkDfutg@mail.gmail.com>
To: Tobias Gondrom <tobias.gondrom@gondrom.org>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
Cc: websec@ietf.org
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 23:23:52 -0000

As I recall, the nosniff directive is pretty controversial.

Adam


On Wed, Sep 28, 2011 at 4:15 PM, Tobias Gondrom
<tobias.gondrom@gondrom.org> wrote:
> Hello,
>
> although this has been around for a while, just stumbled again over this
> http header when I analysed the bits on the wire of some web applications=
:
>
> X-Content-Type-Options: nosniff =96 This prevents =93mime=94 based attack=
s. The
> header instructs the browser not to override the response content type. F=
or
> example, some browsers try to be smart by deciding for themselves if the
> content is really is text/html or an image. So with the nosniff option, i=
f
> the server says the content is text/html, then the browser needs to rende=
r
> it as text/html.
>
> Is this something we should mention in mime-sniff or even consider to
> encourage?
>
> Kind regards, Tobias
>
>
>> On 2011-05-08 02:45, Internet-Drafts@ietf.org wrote:
>>>
>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>> directories.
>>> This draft is a work item of the Web Security Working Group of the IETF=
.
>>>
>>>
>>> Title : Media Type Sniffing
>>> Author(s) : A. Barth, I. Hickson
>>> Filename : draft-ietf-websec-mime-sniff-03.txt
>>> Pages : 24
>>> Date : 2011-05-07
>>> ...
>>
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>

From tobias.gondrom@gondrom.org  Wed Sep 28 16:26:02 2011
Return-Path: <tobias.gondrom@gondrom.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3368311E80A0 for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:26:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -96.48
X-Spam-Level: 
X-Spam-Status: No, score=-96.48 tagged_above=-999 required=5 tests=[AWL=0.297,  BAYES_00=-2.599, FH_HELO_EQ_D_D_D_D=1.597, HELO_DYNAMIC_IPADDR=2.426,  HELO_EQ_DE=0.35, HELO_MISMATCH_DE=1.448, HTML_MESSAGE=0.001, 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 qv5H7ASjiQDE for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:26:01 -0700 (PDT)
Received: from lvps83-169-7-107.dedicated.hosteurope.de (www.gondrom.org [83.169.7.107]) by ietfa.amsl.com (Postfix) with ESMTP id AD17711E8088 for <websec@ietf.org>; Wed, 28 Sep 2011 16:26:00 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws; s=default; d=gondrom.org; b=j2+nYEqK+h8aPiE2CXx1XJyYkCclWdS/+ynVWRm/1nUSWAHyoV+ak928AefGporG3SI0k8auMIKdfhNXHa/5lf4l2Fc7GXrsM5L5bi+H9X0Hq/CWZFxDAiUF9A1+sMXj; h=Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:X-Priority:References:In-Reply-To:Content-Type;
Received: (qmail 30420 invoked from network); 29 Sep 2011 01:28:47 +0200
Received: from 94-194-102-93.zone8.bethere.co.uk (HELO ?192.168.1.65?) (94.194.102.93) by www.gondrom.org with (DHE-RSA-AES256-SHA encrypted) SMTP; 29 Sep 2011 01:28:47 +0200
Message-ID: <4E83ADAF.3030701@gondrom.org>
Date: Thu, 29 Sep 2011 00:28:47 +0100
From: Tobias Gondrom <tobias.gondrom@gondrom.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2
MIME-Version: 1.0
To: hallam@gmail.com
X-Priority: 4 (Low)
References: <4E6FDED1.9000209@gondrom.org> <CAMm+Lwjn1u4KheHecmf8YSO+OJQYXoD7-rC6GanJOhJ+1C48+g@mail.gmail.com>
In-Reply-To: <CAMm+Lwjn1u4KheHecmf8YSO+OJQYXoD7-rC6GanJOhJ+1C48+g@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------090208000803030403070109"
Cc: websec@ietf.org
Subject: Re: [websec] websec meeting in Taipei - topics?
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 23:26:02 -0000

This is a multi-part message in MIME format.
--------------090208000803030403070109
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

just FYI: current plans are to consider/put cert pinning on the websec 
agenda for Taipei, but the agenda hasn't been finalised yet and we are 
still working on sorting out some serious time issues for the possible 
presenter (as he can not attend/present on all weekdays).

Sorry I can't be of more help/more precise at this point in time.
I hope to be able to provide more details as soon as possible.

In any case there will be remote participation tools (jabber, audio) to 
join in even if you are not physically in Taipei - even though the time 
zone differences can be a real killer depending on where you are and the 
time of the meeting.

Kind regards, Tobias



On 14/09/11 20:50, Phillip Hallam-Baker wrote:
> I would like to know early if cert pinning is going to be on the 
> agenda as that is likely to be the reason I would decide to go to 
> Taipei or not.
>
>
> I am not actually that bothered about the choice of format or syntax. 
> But as I posted earlier, we have four potential types of data that are 
> security policy related and four distinct delivery mechanisms.
>
> I would like us to end up with one syntax and one set of semantics 
> across all four delivery mechanisms. To do otherwise is to take a 
> ticket to hell in a handbasket.
>
>
> On Tue, Sep 13, 2011 at 6:53 PM, Tobias Gondrom 
> <tobias.gondrom@gondrom.org <mailto:tobias.gondrom@gondrom.org>> wrote:
>
>     Hello dear websec fellows,
>
>     to decide on a slot and length for our meeting in November in
>     Taipei, this time we would like to start a bit earlier asking for
>     presentations, topics and ideas.
>
>     Please send proposals and ideas for presentations to Alexey, Yoav
>     and/or me, if possible until Sep-25 so we can better decide on the
>     length of the meeting slot, but later will also be ok. Rough ideas
>     are fine at this stage, anything that will help us in planning the
>     length and scope of the meeting.
>
>     So far we had great progress on the origin draft, entering IESG
>     next week. So this will most certainly be finished by then.
>     We could focus on HSTS and the interesting parts of "certificate
>     pinning" as important topics to make major progress now.
>
>     But I want to also emphasise looking for further topics and
>     presentations.
>     Anything you would like to raise at the websec meeting, please
>     drop me a quick note.
>
>     Kind regards,
>
>     Tobias & Alexey
>     (chairs of websec)
>
>
>
>     Tobias Gondrom
>     email: tobias.gondrom@gondrom.org <mailto:tobias.gondrom@gondrom.org>
>     mobile: +447521003005 <tel:%2B447521003005>
>
>     _______________________________________________
>     websec mailing list
>     websec@ietf.org <mailto:websec@ietf.org>
>     https://www.ietf.org/mailman/listinfo/websec
>
>
>
>
> -- 
> Website: http://hallambaker.com/
>


--------------090208000803030403070109
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi, <br>
    <br>
    just FYI: current plans are to consider/put cert pinning on the
    websec agenda for Taipei, but the agenda hasn't been finalised yet
    and we are still working on sorting out some serious time issues for
    the possible presenter (as he can not attend/present on all
    weekdays). <br>
    <br>
    Sorry I can't be of more help/more precise at this point in time. <br>
    I hope to be able to provide more details as soon as possible. <br>
    <br>
    In any case there will be remote participation tools (jabber, audio)
    to join in even if you are not physically in Taipei - even though
    the time zone differences can be a real killer depending on where
    you are and the time of the meeting. <br>
    <br>
    Kind regards, Tobias<br>
    <br>
    <br>
    <br>
    On 14/09/11 20:50, Phillip Hallam-Baker wrote:
    <blockquote
cite="mid:CAMm+Lwjn1u4KheHecmf8YSO+OJQYXoD7-rC6GanJOhJ+1C48+g@mail.gmail.com"
      type="cite">I would like to know early if cert pinning is going to
      be on the agenda as that is likely to be the reason I would decide
      to go to Taipei or not.
      <div><br>
      </div>
      <div><br>
      </div>
      <div>I am not actually that bothered about the choice of format or
        syntax. But as I posted earlier, we have four potential types of
        data that are security policy related and four distinct delivery
        mechanisms.&nbsp;</div>
      <div><br>
      </div>
      <div>I would like us to end up with one syntax and one set of
        semantics across all four delivery mechanisms. To do otherwise
        is to take a ticket to hell in a handbasket.</div>
      <div><br>
        <br>
        <div class="gmail_quote">
          On Tue, Sep 13, 2011 at 6:53 PM, Tobias Gondrom <span
            dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:tobias.gondrom@gondrom.org">tobias.gondrom@gondrom.org</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex;">
            <div bgcolor="#FFFFFF" text="#000000"> <font face="Arial">Hello
                dear websec fellows, <br>
                <br>
                to decide on a slot and length for our meeting in
                November in Taipei, this time we would like to start a
                bit earlier asking for presentations, topics and ideas.<br>
                <br>
                Please send proposals and ideas for presentations to
                Alexey, Yoav and/or me, if possible until Sep-25 so we
                can better decide on the length of the meeting slot, but
                later will also be ok. Rough ideas are fine at this
                stage, anything that will help us in planning the length
                and scope of the meeting. <br>
                <br>
                So far we had great progress on the origin draft,
                entering IESG next week. So this will most certainly be
                finished by then. <br>
                We could focus on HSTS and the interesting parts of
                "certificate pinning" as important topics to make major
                progress now. <br>
                <br>
                But I want to also emphasise looking for further topics
                and presentations. <br>
                Anything you would like to raise at the websec meeting,
                please drop me a quick note. <br>
                <br>
                Kind regards, <br>
                <br>
                Tobias &amp; Alexey<br>
              </font>(chairs of websec)<br>
              <font color="#888888"> <br>
                <br>
                <br>
                Tobias Gondrom<br>
                email: <a moz-do-not-send="true"
                  href="mailto:tobias.gondrom@gondrom.org"
                  target="_blank">tobias.gondrom@gondrom.org</a><br>
                mobile: <a moz-do-not-send="true"
                  href="tel:%2B447521003005" value="+447521003005"
                  target="_blank">+447521003005</a> </font></div>
            <br>
            _______________________________________________<br>
            websec mailing list<br>
            <a moz-do-not-send="true" href="mailto:websec@ietf.org">websec@ietf.org</a><br>
            <a moz-do-not-send="true"
              href="https://www.ietf.org/mailman/listinfo/websec"
              target="_blank">https://www.ietf.org/mailman/listinfo/websec</a><br>
            <br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        Website: <a moz-do-not-send="true"
          href="http://hallambaker.com/">http://hallambaker.com/</a><br>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------090208000803030403070109--

From tobias.gondrom@gondrom.org  Wed Sep 28 16:29:32 2011
Return-Path: <tobias.gondrom@gondrom.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7FC1D11E8150 for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:29:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -96.495
X-Spam-Level: 
X-Spam-Status: No, score=-96.495 tagged_above=-999 required=5 tests=[AWL=0.283, BAYES_00=-2.599, FH_HELO_EQ_D_D_D_D=1.597, HELO_DYNAMIC_IPADDR=2.426, HELO_EQ_DE=0.35, HELO_MISMATCH_DE=1.448, 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 bUW6tK5TfRHu for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:29:31 -0700 (PDT)
Received: from lvps83-169-7-107.dedicated.hosteurope.de (www.gondrom.org [83.169.7.107]) by ietfa.amsl.com (Postfix) with ESMTP id 769B711E8088 for <websec@ietf.org>; Wed, 28 Sep 2011 16:29:31 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws; s=default; d=gondrom.org; b=LYrjXoKJFoNQyejYKmgUPhFxJXCtOJkG+khlDlcabaB+U4KStXenZYZHRPTawdFQFG7uW/A/I0e8Nl7OLKMW8vWWdHjFBkSRhFWqybj5HrIWpUPpEHIcXQSsXayJ2PY3; h=Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:X-Priority:References:In-Reply-To:Content-Type:Content-Transfer-Encoding;
Received: (qmail 30447 invoked from network); 29 Sep 2011 01:31:03 +0200
Received: from 94-194-102-93.zone8.bethere.co.uk (HELO ?192.168.1.65?) (94.194.102.93) by www.gondrom.org with (DHE-RSA-AES256-SHA encrypted) SMTP; 29 Sep 2011 01:31:02 +0200
Message-ID: <4E83AE36.7080008@gondrom.org>
Date: Thu, 29 Sep 2011 00:31:02 +0100
From: Tobias Gondrom <tobias.gondrom@gondrom.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2
MIME-Version: 1.0
To: ietf@adambarth.com
X-Priority: 4 (Low)
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com> <4E7DB8E4.9040208@gmx.de> <4E83AA99.6080308@gondrom.org> <CAJE5ia_k3vXWixC6UsJ6mJ08xW8NQO06MVVD9-dzYSOFkDfutg@mail.gmail.com>
In-Reply-To: <CAJE5ia_k3vXWixC6UsJ6mJ08xW8NQO06MVVD9-dzYSOFkDfutg@mail.gmail.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
Cc: websec@ietf.org
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 23:29:32 -0000

I can imagine. As there come problems with it, just thinking of empty 
content-types and then forbidding to sniff. Just a thought.

Tobias


On 29/09/11 00:26, Adam Barth wrote:
> As I recall, the nosniff directive is pretty controversial.
>
> Adam
>
>
> On Wed, Sep 28, 2011 at 4:15 PM, Tobias Gondrom
> <tobias.gondrom@gondrom.org>  wrote:
>> Hello,
>>
>> although this has been around for a while, just stumbled again over this
>> http header when I analysed the bits on the wire of some web applications:
>>
>> X-Content-Type-Options: nosniff – This prevents “mime” based attacks. The
>> header instructs the browser not to override the response content type. For
>> example, some browsers try to be smart by deciding for themselves if the
>> content is really is text/html or an image. So with the nosniff option, if
>> the server says the content is text/html, then the browser needs to render
>> it as text/html.
>>
>> Is this something we should mention in mime-sniff or even consider to
>> encourage?
>>
>> Kind regards, Tobias
>>
>>
>>> On 2011-05-08 02:45, Internet-Drafts@ietf.org wrote:
>>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>>> directories.
>>>> This draft is a work item of the Web Security Working Group of the IETF.
>>>>
>>>>
>>>> Title : Media Type Sniffing
>>>> Author(s) : A. Barth, I. Hickson
>>>> Filename : draft-ietf-websec-mime-sniff-03.txt
>>>> Pages : 24
>>>> Date : 2011-05-07
>>>> ...
>> _______________________________________________
>> websec mailing list
>> websec@ietf.org
>> https://www.ietf.org/mailman/listinfo/websec
>>


From ietf@adambarth.com  Wed Sep 28 16:31:04 2011
Return-Path: <ietf@adambarth.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F101211E8151 for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:31:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.06
X-Spam-Level: 
X-Spam-Status: No, score=-3.06 tagged_above=-999 required=5 tests=[AWL=-0.083,  BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
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 hcXKtOFqOwIf for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 16:31:04 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id 40C3811E8088 for <websec@ietf.org>; Wed, 28 Sep 2011 16:31:04 -0700 (PDT)
Received: by iaby26 with SMTP id y26so38505iab.31 for <websec@ietf.org>; Wed, 28 Sep 2011 16:33:53 -0700 (PDT)
Received: by 10.231.47.206 with SMTP id o14mr13888608ibf.18.1317252832489; Wed, 28 Sep 2011 16:33:52 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by mx.google.com with ESMTPS id t9sm475135ibq.11.2011.09.28.16.33.50 (version=SSLv3 cipher=OTHER); Wed, 28 Sep 2011 16:33:51 -0700 (PDT)
Received: by iaby26 with SMTP id y26so38459iab.31 for <websec@ietf.org>; Wed, 28 Sep 2011 16:33:50 -0700 (PDT)
Received: by 10.231.50.202 with SMTP id a10mr14896042ibg.39.1317252830101; Wed, 28 Sep 2011 16:33:50 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.200.203 with HTTP; Wed, 28 Sep 2011 16:33:20 -0700 (PDT)
In-Reply-To: <4E83AE36.7080008@gondrom.org>
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com> <4E7DB8E4.9040208@gmx.de> <4E83AA99.6080308@gondrom.org> <CAJE5ia_k3vXWixC6UsJ6mJ08xW8NQO06MVVD9-dzYSOFkDfutg@mail.gmail.com> <4E83AE36.7080008@gondrom.org>
From: Adam Barth <ietf@adambarth.com>
Date: Wed, 28 Sep 2011 16:33:20 -0700
Message-ID: <CAJE5ia9MYHSsQCbT5HnE7fT25tq-M3arjHKUbrqJ+NgjeazfJg@mail.gmail.com>
To: Tobias Gondrom <tobias.gondrom@gondrom.org>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
Cc: websec@ietf.org
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2011 23:31:05 -0000

That's treated as text/plain, for what it's worth.

Strangely, it's more common to get an empty content type with a
nosniff directive than without one (by a few fractions of a percent).

Adam


On Wed, Sep 28, 2011 at 4:31 PM, Tobias Gondrom
<tobias.gondrom@gondrom.org> wrote:
> I can imagine. As there come problems with it, just thinking of empty
> content-types and then forbidding to sniff. Just a thought.
>
> Tobias
>
>
> On 29/09/11 00:26, Adam Barth wrote:
>>
>> As I recall, the nosniff directive is pretty controversial.
>>
>> Adam
>>
>>
>> On Wed, Sep 28, 2011 at 4:15 PM, Tobias Gondrom
>> <tobias.gondrom@gondrom.org> =A0wrote:
>>>
>>> Hello,
>>>
>>> although this has been around for a while, just stumbled again over thi=
s
>>> http header when I analysed the bits on the wire of some web
>>> applications:
>>>
>>> X-Content-Type-Options: nosniff =96 This prevents =93mime=94 based atta=
cks. The
>>> header instructs the browser not to override the response content type.
>>> For
>>> example, some browsers try to be smart by deciding for themselves if th=
e
>>> content is really is text/html or an image. So with the nosniff option,
>>> if
>>> the server says the content is text/html, then the browser needs to
>>> render
>>> it as text/html.
>>>
>>> Is this something we should mention in mime-sniff or even consider to
>>> encourage?
>>>
>>> Kind regards, Tobias
>>>
>>>
>>>> On 2011-05-08 02:45, Internet-Drafts@ietf.org wrote:
>>>>>
>>>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>>>> directories.
>>>>> This draft is a work item of the Web Security Working Group of the
>>>>> IETF.
>>>>>
>>>>>
>>>>> Title : Media Type Sniffing
>>>>> Author(s) : A. Barth, I. Hickson
>>>>> Filename : draft-ietf-websec-mime-sniff-03.txt
>>>>> Pages : 24
>>>>> Date : 2011-05-07
>>>>> ...
>>>
>>> _______________________________________________
>>> websec mailing list
>>> websec@ietf.org
>>> https://www.ietf.org/mailman/listinfo/websec
>>>
>
>

From duerst@it.aoyama.ac.jp  Wed Sep 28 17:41:50 2011
Return-Path: <duerst@it.aoyama.ac.jp>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8CE4F11E816E for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 17:41:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.751
X-Spam-Level: 
X-Spam-Status: No, score=-99.751 tagged_above=-999 required=5 tests=[AWL=0.039, BAYES_00=-2.599, HELO_EQ_JP=1.244, HOST_EQ_JP=1.265,  MIME_8BIT_HEADER=0.3, 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 tmTF9wn0+gec for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 17:41:50 -0700 (PDT)
Received: from scintmta01.scbb.aoyama.ac.jp (scintmta01.scbb.aoyama.ac.jp [133.2.253.33]) by ietfa.amsl.com (Postfix) with ESMTP id DAE0C11E8169 for <websec@ietf.org>; Wed, 28 Sep 2011 17:41:48 -0700 (PDT)
Received: from scmse01.scbb.aoyama.ac.jp ([133.2.253.231]) by scintmta01.scbb.aoyama.ac.jp (secret/secret) with SMTP id p8T0iR6V008384 for <websec@ietf.org>; Thu, 29 Sep 2011 09:44:27 +0900
Received: from (unknown [133.2.206.133]) by scmse01.scbb.aoyama.ac.jp with smtp id 1c50_0896_2f48e60a_ea34_11e0_99a2_001d096c566a; Thu, 29 Sep 2011 09:44:27 +0900
Received: from [IPv6:::1] ([133.2.210.1]:56894) by itmail.it.aoyama.ac.jp with [XMail 1.22 ESMTP Server] id <S1555FB0> for <websec@ietf.org> from <duerst@it.aoyama.ac.jp>; Thu, 29 Sep 2011 09:44:30 +0900
Message-ID: <4E83BF67.3040207@it.aoyama.ac.jp>
Date: Thu, 29 Sep 2011 09:44:23 +0900
From: =?UTF-8?B?Ik1hcnRpbiBKLiBEw7xyc3Qi?= <duerst@it.aoyama.ac.jp>
Organization: Aoyama Gakuin University
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.9) Gecko/20100722 Eudora/3.0.4
MIME-Version: 1.0
To: Adam Barth <ietf@adambarth.com>
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com>	<4E7DB8E4.9040208@gmx.de> <4E83AA99.6080308@gondrom.org> <CAJE5ia_k3vXWixC6UsJ6mJ08xW8NQO06MVVD9-dzYSOFkDfutg@mail.gmail.com>
In-Reply-To: <CAJE5ia_k3vXWixC6UsJ6mJ08xW8NQO06MVVD9-dzYSOFkDfutg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Cc: websec@ietf.org
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Sep 2011 00:41:50 -0000

On 2011/09/29 8:26, Adam Barth wrote:
> As I recall, the nosniff directive is pretty controversial.

But then, as I recall, the whole business of sniffing is pretty 
controversial to start with. Are there differences between the 
controversiality of sniffing as such and the controversiality of the 
nosniff directive that explain why one is in the draft and the other is not?

Regards,   Martin.


> Adam
>
>
> On Wed, Sep 28, 2011 at 4:15 PM, Tobias Gondrom
> <tobias.gondrom@gondrom.org>  wrote:
>> Hello,
>>
>> although this has been around for a while, just stumbled again over this
>> http header when I analysed the bits on the wire of some web applications:
>>
>> X-Content-Type-Options: nosniff â€“ This prevents â€œmimeâ€ based attacks. The
>> header instructs the browser not to override the response content type. For
>> example, some browsers try to be smart by deciding for themselves if the
>> content is really is text/html or an image. So with the nosniff option, if
>> the server says the content is text/html, then the browser needs to render
>> it as text/html.
>>
>> Is this something we should mention in mime-sniff or even consider to
>> encourage?
>>
>> Kind regards, Tobias
>>
>>
>>> On 2011-05-08 02:45, Internet-Drafts@ietf.org wrote:
>>>>
>>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>>> directories.
>>>> This draft is a work item of the Web Security Working Group of the IETF.
>>>>
>>>>
>>>> Title : Media Type Sniffing
>>>> Author(s) : A. Barth, I. Hickson
>>>> Filename : draft-ietf-websec-mime-sniff-03.txt
>>>> Pages : 24
>>>> Date : 2011-05-07
>>>> ...
>>>
>>
>> _______________________________________________
>> websec mailing list
>> websec@ietf.org
>> https://www.ietf.org/mailman/listinfo/websec
>>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>

From ietf@adambarth.com  Wed Sep 28 19:43:18 2011
Return-Path: <ietf@adambarth.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E92641F0D20 for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 19:43:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.908
X-Spam-Level: 
X-Spam-Status: No, score=-2.908 tagged_above=-999 required=5 tests=[AWL=-0.231, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
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 bMPKRC5WTXiW for <websec@ietfa.amsl.com>; Wed, 28 Sep 2011 19:43:18 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id 55C551F0C3E for <websec@ietf.org>; Wed, 28 Sep 2011 19:43:18 -0700 (PDT)
Received: by iaby26 with SMTP id y26so204946iab.31 for <websec@ietf.org>; Wed, 28 Sep 2011 19:46:08 -0700 (PDT)
Received: by 10.231.8.35 with SMTP id f35mr14150246ibf.4.1317264365024; Wed, 28 Sep 2011 19:46:05 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by mx.google.com with ESMTPS id 37sm353395iba.5.2011.09.28.19.46.03 (version=SSLv3 cipher=OTHER); Wed, 28 Sep 2011 19:46:04 -0700 (PDT)
Received: by iaby26 with SMTP id y26so204867iab.31 for <websec@ietf.org>; Wed, 28 Sep 2011 19:46:03 -0700 (PDT)
Received: by 10.231.51.4 with SMTP id b4mr13881732ibg.99.1317264363061; Wed, 28 Sep 2011 19:46:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.200.203 with HTTP; Wed, 28 Sep 2011 19:45:33 -0700 (PDT)
In-Reply-To: <4E83BF67.3040207@it.aoyama.ac.jp>
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com> <4E7DB8E4.9040208@gmx.de> <4E83AA99.6080308@gondrom.org> <CAJE5ia_k3vXWixC6UsJ6mJ08xW8NQO06MVVD9-dzYSOFkDfutg@mail.gmail.com> <4E83BF67.3040207@it.aoyama.ac.jp>
From: Adam Barth <ietf@adambarth.com>
Date: Wed, 28 Sep 2011 19:45:33 -0700
Message-ID: <CAJE5ia_b8W0DMZnCmXWYTHwQ-WGpm-Jg+Lozd7UWJPKj6zVqww@mail.gmail.com>
To: =?ISO-8859-1?Q?Martin_J=2E_D=FCrst?= <duerst@it.aoyama.ac.jp>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
Cc: websec@ietf.org
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Sep 2011 02:43:19 -0000

On Wed, Sep 28, 2011 at 5:44 PM, "Martin J. D=FCrst"
<duerst@it.aoyama.ac.jp> wrote:
> On 2011/09/29 8:26, Adam Barth wrote:
>>
>> As I recall, the nosniff directive is pretty controversial.
>
> But then, as I recall, the whole business of sniffing is pretty
> controversial to start with. Are there differences between the
> controversiality of sniffing as such and the controversiality of the nosn=
iff
> directive that explain why one is in the draft and the other is not?

The reason why one is in and the other isn't is just historical.
nosniff didn't exist at the time the document was originally written.

Adam


>> On Wed, Sep 28, 2011 at 4:15 PM, Tobias Gondrom
>> <tobias.gondrom@gondrom.org> =A0wrote:
>>>
>>> Hello,
>>>
>>> although this has been around for a while, just stumbled again over thi=
s
>>> http header when I analysed the bits on the wire of some web
>>> applications:
>>>
>>> X-Content-Type-Options: nosniff =96 This prevents =93mime=94 based atta=
cks. The
>>> header instructs the browser not to override the response content type.
>>> For
>>> example, some browsers try to be smart by deciding for themselves if th=
e
>>> content is really is text/html or an image. So with the nosniff option,
>>> if
>>> the server says the content is text/html, then the browser needs to
>>> render
>>> it as text/html.
>>>
>>> Is this something we should mention in mime-sniff or even consider to
>>> encourage?
>>>
>>> Kind regards, Tobias
>>>
>>>
>>>> On 2011-05-08 02:45, Internet-Drafts@ietf.org wrote:
>>>>>
>>>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>>>> directories.
>>>>> This draft is a work item of the Web Security Working Group of the
>>>>> IETF.
>>>>>
>>>>>
>>>>> Title : Media Type Sniffing
>>>>> Author(s) : A. Barth, I. Hickson
>>>>> Filename : draft-ietf-websec-mime-sniff-03.txt
>>>>> Pages : 24
>>>>> Date : 2011-05-07
>>>>> ...
>>>>
>>>
>>> _______________________________________________
>>> websec mailing list
>>> websec@ietf.org
>>> https://www.ietf.org/mailman/listinfo/websec
>>>
>> _______________________________________________
>> websec mailing list
>> websec@ietf.org
>> https://www.ietf.org/mailman/listinfo/websec
>>
>

From hallam@gmail.com  Thu Sep 29 09:24:55 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8573721F8E06 for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:24:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.47
X-Spam-Level: 
X-Spam-Status: No, score=-3.47 tagged_above=-999 required=5 tests=[AWL=0.129,  BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 ahVuwNnJ5d5f for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:24:54 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by ietfa.amsl.com (Postfix) with ESMTP id BB03521F8DE0 for <websec@ietf.org>; Thu, 29 Sep 2011 09:24:54 -0700 (PDT)
Received: by gyd12 with SMTP id 12so870748gyd.31 for <websec@ietf.org>; Thu, 29 Sep 2011 09:27:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=ZfDdQQGOQAbkZzg+rJX4WrMtn0yc+xiUGPAw7IQVDzs=; b=Vx0+AXb1uJz1eBGBWQOGa23+7sL6JwDWSRIPL7g3px7fL3eRsJ6rUosOQ8cvF3yukE GnAYK+l8IzomytGjlcb4ohJ6cwpUmGEIp8DksmjjSByAJO8PmFFmcE1ZEZK0a/jhI7j2 Ceg1EyEfS02R9Rr2K2MAgkbUyLMLhlvqf6sic=
MIME-Version: 1.0
Received: by 10.101.154.22 with SMTP id g22mr5197131ano.96.1317313665788; Thu, 29 Sep 2011 09:27:45 -0700 (PDT)
Received: by 10.100.212.14 with HTTP; Thu, 29 Sep 2011 09:27:45 -0700 (PDT)
In-Reply-To: <4E82E996.8020003@mozilla.org>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <4E82E996.8020003@mozilla.org>
Date: Thu, 29 Sep 2011 12:27:45 -0400
Message-ID: <CAMm+Lwgk16f7weyBHJHS=kkovf_Usasukq9jL2m9j7OO1w6s2g@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Gervase Markham <gerv@mozilla.org>
Content-Type: text/plain; charset=ISO-8859-1
Cc: websec <websec@ietf.org>
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Sep 2011 16:24:55 -0000

On Wed, Sep 28, 2011 at 5:32 AM, Gervase Markham <gerv@mozilla.org> wrote:
> On 27/09/11 18:10, Phillip Hallam-Baker wrote:
>> On the digest front the objective would be to make it possible to use
>> the URI format with any digest at all in theory but strongly encourage
>> people to only use the digests IETF is confident in. Use of OIDs as
>> the identifier has the nice property that anyone can get an identifier
>> to distinguish their algorithm from other people's but getting an OID
>> does not produce any paper trail that can be used to imply an IETF
>> endorsement.
>
> But it also makes the identifiers less human readable and much longer
> than they could otherwise be.

It is a message digest, how readable would you like it to be?

We can easily put some of the packing in ascii:

DIGEST:SHA-256:text/plain:eiwoeiwoiejfoiwejfiojefiojweoifj==

You are still going to end up with an unreadable blob at some point.


> Why does it take so many bytes to determine between a very small number
> of options?

Because of the vanity crypto problem.


> Worrying about clashes in the text-based identifiers people use seems
> somewhat unnecessary. How many hash algorithms with the same name (or
> without an obvious canonical name) are there? If this was really a
> problem, we could have a microformats-like wiki registry:
> http://microformats.org/wiki/existing-rel-values

We have an IANA registry already.


>> For all applications that make sense it is
>> going to be perfectly OK to simply generate the prefix for the
>> identifier part as a static array of octets and append / verify it as
>> such whenever it is needed. I do not see any need to write ASN.1
>> handling code for these apps :-)
>
> Then why use ASN.1 at all?

Because the crypto APIs use ASN.1 as the identifier that they key off.
So if you introduce a text based identifier they have to track two
different registries.


> Counter-proposal: how about:
>
> digest:SHA1,<base64 string of digest>

It still needs to at least have an option for specifying the content
type, this could be made optional though.




-- 
Website: http://hallambaker.com/

From hallam@gmail.com  Thu Sep 29 09:30:49 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3680421F8E8B for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:30:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.471
X-Spam-Level: 
X-Spam-Status: No, score=-4.471 tagged_above=-999 required=5 tests=[AWL=1.128,  BAYES_00=-2.599, GB_I_LETTER=-2, RCVD_IN_DNSWL_LOW=-1]
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 DkwQ-hrqRTY6 for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:30:48 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by ietfa.amsl.com (Postfix) with ESMTP id B189021F8EA0 for <websec@ietf.org>; Thu, 29 Sep 2011 09:30:42 -0700 (PDT)
Received: by gyd12 with SMTP id 12so877013gyd.31 for <websec@ietf.org>; Thu, 29 Sep 2011 09:33:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=Cp8VNwDLvTFKlPlGku98nyQGAfKjIOff/fEK2qJIMZk=; b=sSwQ5a+GGoUmlnqfth3kiigGzNS3afhxjqIgze0B0JL4c2Thw7jnabK0F8jbCk1jN9 0pX/xC+85wXE46VObe0Rti7THDuXYqdLURixtBy8Gj9UEpteX4D5QC1m2cqoW+S4MVlS iF6U9YRtHFAc/rX4VE+5r2k8BBY8HYeBL/64g=
MIME-Version: 1.0
Received: by 10.100.82.6 with SMTP id f6mr9775459anb.52.1317314014090; Thu, 29 Sep 2011 09:33:34 -0700 (PDT)
Received: by 10.100.212.14 with HTTP; Thu, 29 Sep 2011 09:33:34 -0700 (PDT)
In-Reply-To: <4E83518F.8080609@gondrom.org>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <4E82E996.8020003@mozilla.org> <4E82FC64.4020803@it.aoyama.ac.jp> <4E83518F.8080609@gondrom.org>
Date: Thu, 29 Sep 2011 12:33:34 -0400
Message-ID: <CAMm+LwggU_4thBXg4+q-AZXTerA3_Cyoo3CzerHzQ1fVL7zcNg@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Tobias Gondrom <tobias.gondrom@gondrom.org>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: websec@ietf.org
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Sep 2011 16:30:49 -0000

OK, I will rev the draft to make it text identifiers.

I am aware of the urn:sha1 stuff. I would prefer to avoid having every
digest become a urn scheme, plus there are issues with the legacy.


I will also check up on the uri syntax issues. Base64 uses two non
ascii characters and these need to be checked for legality. There is
some other house cleaning stuff.

We might also reduce the length of the scheme name maybe? digest is 6
chars, do we need them all? I would also like to see if we can ditch
the urn: prefix legally, it was bogus from the start, names and
locators are not disjoint categories.

On Wed, Sep 28, 2011 at 12:55 PM, Tobias Gondrom
<tobias.gondrom@gondrom.org> wrote:
> <hat=3D"individual">
> I would also agree with the textual form. And don't see any reasons for
> using ASN.1 in this instance.
> For the alg identifier, there might be reasons for using values from a
> registry, as that gives extendibility and at the same time the ids refere=
nce
> their specifications (which is superior to just using a name and hope tha=
t
> everybody understands it the same way, i.e. uses the same specification).
>
>
> <hat=3D"wg chair">
> like the idea and it could be within websec charter if we as a WG want to
> work on that.
> If you like we could have a discussion on that in Taipei (volunteers plea=
se
> contact me in the next few days so I can make sure the slot in the agenda=
 is
> sufficient)
> For drafts, please consider that there are cut-off dates for Taipei.
>
> Kind regards, Tobias
>
>
>
> On 28/09/11 11:52, "Martin J. D=FCrst" wrote:
>>
>> I fully agree with others that a textual form is better. That's the
>> tradition of URIs. It's much easier to implement, write tests, and so on=
,
>> and won't unnecessarily scare people away.
>>
>> Regards, =A0 =A0Martin.
>>
>>
>> P.S.: As a nit (but a strong one), the current draft has "DIGEST:" all
>> over the place. But RFC 3986
>> (http://tools.ietf.org/html/rfc3986#section-3.1, second paragraph) says:
>>
>> =A0 Scheme names consist of a sequence of characters beginning with a
>> =A0 letter and followed by any combination of letters, digits, plus
>> =A0 ("+"), period ("."), or hyphen ("-"). =A0Although schemes are case-
>> =A0 insensitive, the canonical form is lowercase and documents that
>> =A0 specify schemes must do so with lowercase letters. =A0An implementat=
ion
>> =A0 should accept uppercase letters as equivalent to lowercase in scheme
>> =A0 names (e.g., allow "HTTP" as well as "http") for the sake of
>> =A0 robustness but should only produce lowercase scheme names for
>> =A0 consistency.
>>
>> which fully matches current practice.
>>
>>
>> On 2011/09/28 18:32, Gervase Markham wrote:
>>>
>>> On 27/09/11 18:10, Phillip Hallam-Baker wrote:
>>>>
>>>> On the digest front the objective would be to make it possible to use
>>>> the URI format with any digest at all in theory but strongly encourage
>>>> people to only use the digests IETF is confident in. Use of OIDs as
>>>> the identifier has the nice property that anyone can get an identifier
>>>> to distinguish their algorithm from other people's but getting an OID
>>>> does not produce any paper trail that can be used to imply an IETF
>>>> endorsement.
>>>
>>> But it also makes the identifiers less human readable and much longer
>>> than they could otherwise be.
>>>
>>>> We could add in support for the text based identifiers as well, but
>>>> since the only identifiers that I would want to encourage are SHA2 and
>>>> SHA3, I don't see a need.
>>>
>>> Why does it take so many bytes to determine between a very small number
>>> of options?
>>>
>>> Worrying about clashes in the text-based identifiers people use seems
>>> somewhat unnecessary. How many hash algorithms with the same name (or
>>> without an obvious canonical name) are there? If this was really a
>>> problem, we could have a microformats-like wiki registry:
>>> http://microformats.org/wiki/existing-rel-values
>>>
>>>> For all applications that make sense it is
>>>> going to be perfectly OK to simply generate the prefix for the
>>>> identifier part as a static array of octets and append / verify it as
>>>> such whenever it is needed. I do not see any need to write ASN.1
>>>> handling code for these apps :-)
>>>
>>> Then why use ASN.1 at all?
>>>
>>> Counter-proposal: how about:
>>>
>>> digest:SHA1,<base64 string of digest>
>>>
>>> Like a data: URL, except without the option for ASCII/URL encoding:
>>> http://en.wikipedia.org/wiki/Data_URI_scheme
>>>
>>> For bonus points, allow multiple comma-separated digests to ease
>>> algorithm migration.
>>>
>>> Simple :-)
>>>
>>> Gerv
>>>
>>> _______________________________________________
>>> websec mailing list
>>> websec@ietf.org
>>> https://www.ietf.org/mailman/listinfo/websec
>>>
>> _______________________________________________
>> websec mailing list
>> websec@ietf.org
>> https://www.ietf.org/mailman/listinfo/websec
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>



--=20
Website: http://hallambaker.com/

From hallam@gmail.com  Thu Sep 29 09:41:25 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1121621F8E25 for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:41:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.479
X-Spam-Level: 
X-Spam-Status: No, score=-3.479 tagged_above=-999 required=5 tests=[AWL=0.120,  BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 OYziZzcDt7EL for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:41:24 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by ietfa.amsl.com (Postfix) with ESMTP id 5590221F8E16 for <websec@ietf.org>; Thu, 29 Sep 2011 09:41:24 -0700 (PDT)
Received: by gyd12 with SMTP id 12so888227gyd.31 for <websec@ietf.org>; Thu, 29 Sep 2011 09:44:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=//Y5LalNXSRqOWsmn8zMQBVTaAJqQKgoRlglYQ/8Lyk=; b=N+NqNC2TPevbzAwZpq68Z3yS8tj5om5QAVYVXFFdfb/sXRM4LtF9TwGwmcLH5yySpB 9XC4xjBTcvRbQx8wmPQyCrgcCsIErD2k4u0bMuBbBpi0MnjNAItm4YsImNaNpquxUekX m8g4WOI/pKJdJua4yv2UpKvKfGBg6m6/XnZMg=
MIME-Version: 1.0
Received: by 10.101.28.40 with SMTP id f40mr9716054anj.30.1317314655743; Thu, 29 Sep 2011 09:44:15 -0700 (PDT)
Received: by 10.100.212.14 with HTTP; Thu, 29 Sep 2011 09:44:15 -0700 (PDT)
In-Reply-To: <CAMm+LwggU_4thBXg4+q-AZXTerA3_Cyoo3CzerHzQ1fVL7zcNg@mail.gmail.com>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <4E82E996.8020003@mozilla.org> <4E82FC64.4020803@it.aoyama.ac.jp> <4E83518F.8080609@gondrom.org> <CAMm+LwggU_4thBXg4+q-AZXTerA3_Cyoo3CzerHzQ1fVL7zcNg@mail.gmail.com>
Date: Thu, 29 Sep 2011 12:44:15 -0400
Message-ID: <CAMm+LwjKMZTOxR4Hj-o_B=2Z76HqmmxiJaZMxzvUoND_swdFeg@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Tobias Gondrom <tobias.gondrom@gondrom.org>
Content-Type: text/plain; charset=ISO-8859-1
Cc: websec@ietf.org
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Sep 2011 16:41:25 -0000

If we go for text, we should use:

http://www.iana.org/assignments/dssc/dssc.xml

Registration Procedures : First Come First Served
Reference : [RFC5698]


Here are the digest algs:

md2	1.2.840.113549.2.2	[RFC3279]
md5	1.2.840.113549.2.5 [RFC3279][RFC4051]
sha-1	1.3.14.3.2.26 [RFC3279][RFC4051]
sha-224	2.16.840.1.101.3.4.2.4 [RFC4055][RFC4051]
sha-256	2.16.840.1.101.3.4.2.1 [RFC4055]
sha-384	2.16.840.1.101.3.4.2.2 [RFC4055][RFC4051]
sha-512	2.16.840.1.101.3.4.2.3 [RFC4055]

I would presume that sha-3-* will be defined in due course.


So there would have to be text to strongly discourage use of sha-1 and
very strongly discourage md2 and md5.

I don't think we could prohibit use while relying on an extensible registry.

From paul.hoffman@vpnc.org  Thu Sep 29 09:49:59 2011
Return-Path: <paul.hoffman@vpnc.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7C97821F8E99 for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:49:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.569
X-Spam-Level: 
X-Spam-Status: No, score=-102.569 tagged_above=-999 required=5 tests=[AWL=0.030, 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 fpvTa-bX5K8S for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:49:59 -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 1265D21F8E94 for <websec@ietf.org>; Thu, 29 Sep 2011 09:49:59 -0700 (PDT)
Received: from [10.20.30.100] (50-0-66-4.dsl.dynamic.fusionbroadband.com [50.0.66.4]) (authenticated bits=0) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id p8TGqmJP023285 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Thu, 29 Sep 2011 09:52:49 -0700 (MST) (envelope-from paul.hoffman@vpnc.org)
Mime-Version: 1.0 (Apple Message framework v1244.3)
Content-Type: text/plain; charset=us-ascii
From: Paul Hoffman <paul.hoffman@vpnc.org>
In-Reply-To: <CAMm+Lwgk16f7weyBHJHS=kkovf_Usasukq9jL2m9j7OO1w6s2g@mail.gmail.com>
Date: Thu, 29 Sep 2011 09:52:49 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <9A0D8722-45D6-4E99-A063-3D71F38B4C13@vpnc.org>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <4E82E996.8020003@mozilla.org> <CAMm+Lwgk16f7weyBHJHS=kkovf_Usasukq9jL2m9j7OO1w6s2g@mail.gmail.com>
To: Phillip Hallam-Baker <hallam@gmail.com>
X-Mailer: Apple Mail (2.1244.3)
Cc: websec WG <websec@ietf.org>
Subject: [websec] Content type (was: Re:  Digest URI scheme)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Sep 2011 16:49:59 -0000

On Sep 29, 2011, at 9:27 AM, Phillip Hallam-Baker wrote:

> It still needs to at least have an option for specifying the content
> type, this could be made optional though.


Why is the content type important for your use cases? It is not =
inherently linked to the content that you are digesting. There are =
plenty of types of content that have multiple conflicting MIME types due =
to history. I foresee that a system that is reading one of these digest: =
URIs might fail if the content type is not what it expected.

--Paul Hoffman


From paul.hoffman@vpnc.org  Thu Sep 29 09:52:53 2011
Return-Path: <paul.hoffman@vpnc.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1D47E21F8EAA for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:52:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.569
X-Spam-Level: 
X-Spam-Status: No, score=-102.569 tagged_above=-999 required=5 tests=[AWL=0.030, 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 1I4cGTiQhtEI for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 09:52:52 -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 2E34421F8EB1 for <websec@ietf.org>; Thu, 29 Sep 2011 09:52:52 -0700 (PDT)
Received: from [10.20.30.100] (50-0-66-4.dsl.dynamic.fusionbroadband.com [50.0.66.4]) (authenticated bits=0) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id p8TGtdrD024995 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Thu, 29 Sep 2011 09:55:40 -0700 (MST) (envelope-from paul.hoffman@vpnc.org)
Mime-Version: 1.0 (Apple Message framework v1244.3)
Content-Type: text/plain; charset=us-ascii
From: Paul Hoffman <paul.hoffman@vpnc.org>
In-Reply-To: <CAMm+LwjKMZTOxR4Hj-o_B=2Z76HqmmxiJaZMxzvUoND_swdFeg@mail.gmail.com>
Date: Thu, 29 Sep 2011 09:55:40 -0700
Content-Transfer-Encoding: 7bit
Message-Id: <12570AE9-4B06-4F17-95D1-8E2AB24C426D@vpnc.org>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <4E82E996.8020003@mozilla.org> <4E82FC64.4020803@it.aoyama.ac.jp> <4E83518F.8080609@gondrom.org> <CAMm+LwggU_4thBXg4+q-AZXTerA3_Cyoo3CzerHzQ1fVL7zcNg@mail.gmail.com> <CAMm+LwjKMZTOxR4Hj-o_B=2Z76HqmmxiJaZMxzvUoND_swdFeg@mail.gmail.com>
To: Phillip Hallam-Baker <hallam@gmail.com>
X-Mailer: Apple Mail (2.1244.3)
Cc: websec WG <websec@ietf.org>
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Sep 2011 16:52:53 -0000

On Sep 29, 2011, at 9:44 AM, Phillip Hallam-Baker wrote:

> If we go for text, we should use:
> 
> http://www.iana.org/assignments/dssc/dssc.xml

+1

> So there would have to be text to strongly discourage use of sha-1 and
> very strongly discourage md2 and md5.

+1. Even just "very strongly discourage" all three.

--Paul Hoffman


From tobias.gondrom@gondrom.org  Thu Sep 29 11:17:28 2011
Return-Path: <tobias.gondrom@gondrom.org>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4249F21F8C15 for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 11:17:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -96.519
X-Spam-Level: 
X-Spam-Status: No, score=-96.519 tagged_above=-999 required=5 tests=[AWL=0.259, BAYES_00=-2.599, FH_HELO_EQ_D_D_D_D=1.597, HELO_DYNAMIC_IPADDR=2.426, HELO_EQ_DE=0.35, HELO_MISMATCH_DE=1.448, 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 tnT81DycYZpw for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 11:17:27 -0700 (PDT)
Received: from lvps83-169-7-107.dedicated.hosteurope.de (www.gondrom.org [83.169.7.107]) by ietfa.amsl.com (Postfix) with ESMTP id 36E1D21F8B82 for <websec@ietf.org>; Thu, 29 Sep 2011 11:17:26 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws; s=default; d=gondrom.org; b=lTGin8TIStW2J1uoIxw1unwLFOwX+phOcakyeF4qCgBvZpK9o3H0Dhl4cKMkCnKT52rhBAwGKrcfeVEavY2qyk93zCpXYW7OZrk3mOH/Ieh7qkEJdkmbHf6Bi18/tamA; h=Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:X-Priority:References:In-Reply-To:Content-Type:Content-Transfer-Encoding;
Received: (qmail 22030 invoked from network); 29 Sep 2011 20:19:24 +0200
Received: from 94-194-102-93.zone8.bethere.co.uk (HELO ?192.168.1.65?) (94.194.102.93) by www.gondrom.org with (DHE-RSA-AES256-SHA encrypted) SMTP; 29 Sep 2011 20:19:24 +0200
Message-ID: <4E84B6AC.6010201@gondrom.org>
Date: Thu, 29 Sep 2011 19:19:24 +0100
From: Tobias Gondrom <tobias.gondrom@gondrom.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2
MIME-Version: 1.0
To: websec@ietf.org
X-Priority: 4 (Low)
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <4E82E996.8020003@mozilla.org> <4E82FC64.4020803@it.aoyama.ac.jp> <4E83518F.8080609@gondrom.org> <CAMm+LwggU_4thBXg4+q-AZXTerA3_Cyoo3CzerHzQ1fVL7zcNg@mail.gmail.com> <CAMm+LwjKMZTOxR4Hj-o_B=2Z76HqmmxiJaZMxzvUoND_swdFeg@mail.gmail.com> <12570AE9-4B06-4F17-95D1-8E2AB24C426D@vpnc.org>
In-Reply-To: <12570AE9-4B06-4F17-95D1-8E2AB24C426D@vpnc.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Sep 2011 18:17:28 -0000

On 29/09/11 17:55, Paul Hoffman wrote:
> On Sep 29, 2011, at 9:44 AM, Phillip Hallam-Baker wrote:
>
>> If we go for text, we should use:
>>
>> http://www.iana.org/assignments/dssc/dssc.xml
> +1
+1. Makes sense.

>> So there would have to be text to strongly discourage use of sha-1 and
>> very strongly discourage md2 and md5.
> +1. Even just "very strongly discourage" all three.

+1 on very strongly discourage md2, md5.
Not sure whether we need to explicitely also "very strongly discourage" 
sha-1.

Btw. on a personal note: understanding why we need to discourage those. 
Do we need to judge the security of hash algorithms in every standards 
documents using them individually? After all, after a couple of years 
even SHA-3 may become weak/broken while the RFC would still encourage 
one alg and discourage the others. Don't we have a central place to 
state quality/recommendation of used algorithms, that could just be 
referenced to enhance alg agility.


>
> --Paul Hoffman
>
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec


From stephen.farrell@cs.tcd.ie  Thu Sep 29 14:58:01 2011
Return-Path: <stephen.farrell@cs.tcd.ie>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 54A5921F8ED6 for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 14:58:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.399
X-Spam-Level: 
X-Spam-Status: No, score=-106.399 tagged_above=-999 required=5 tests=[AWL=0.200, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, 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 0w99fBRljX9F for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 14:58:00 -0700 (PDT)
Received: from scss.tcd.ie (hermes.cs.tcd.ie [134.226.32.56]) by ietfa.amsl.com (Postfix) with ESMTP id 1A36621F8B5C for <websec@ietf.org>; Thu, 29 Sep 2011 14:57:59 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by hermes.scss.tcd.ie (Postfix) with ESMTP id 24174171C64; Thu, 29 Sep 2011 23:00:48 +0100 (IST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cs.tcd.ie; h= content-transfer-encoding:content-type:mime-version:user-agent :reply-to:from:subject:date:references:in-reply-to:message-id :received:received:received:x-virus-scanned; s=cs; t=1317333640; bh=ZnxD6R8YgtYWZWXlYlr91tRYvqOn9QihhoPEJbJNk4U=; b=FLqCshTaA3+H eA8jKhZ4i4a+QDvXBfKCKLPKnBO6ON697fB/KvybMVZkldcj0Q5npSlrgXnWqABd 9iggoOxifjw/l9GQvVpAq8I5n9Bf/rNFLPf033WokE7zzc86FhFtz+vQgYmHWeVU dFLyiLYcvFZy6XQLm6wEZ4J3DFXnMHIaAW/TW7WBBhk7520YctlElIqfhfuKOgf5 vMFgUuTvHdmS4T2xKtRD31ZGuHM0+T19+kh9b3ZAXAYbFea69oYyFgs4fTyZJiqh yWmhmly3wJuRmgAL3h6c/xkHzDXZ3H4EWcQhakcHSU/++QL27RhTr06YCsIbUVzR alv862oGtA==
X-Virus-Scanned: Debian amavisd-new at scss.tcd.ie
Received: from scss.tcd.ie ([127.0.0.1]) by localhost (scss.tcd.ie [127.0.0.1]) (amavisd-new, port 10027) with ESMTP id Ks3g7uG2xNIg; Thu, 29 Sep 2011 23:00:40 +0100 (IST)
Received: from webmail.scss.tcd.ie (localhost [127.0.0.1]) by smtp.scss.tcd.ie (Postfix) with ESMTP id 3FFF2171C62; Thu, 29 Sep 2011 23:00:40 +0100 (IST)
Received: from 200.129.163.17 (SquirrelMail authenticated user sfarrel6) by webmail.scss.tcd.ie with HTTP; Thu, 29 Sep 2011 23:00:40 +0100 (IST)
Message-ID: <7bd9badd19e0e9296750117013a93aa0.squirrel@webmail.scss.tcd.ie>
In-Reply-To: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com>
Date: Thu, 29 Sep 2011 23:00:40 +0100 (IST)
From: stephen.farrell@cs.tcd.ie
To: "Phillip Hallam-Baker" <hallam@gmail.com>
User-Agent: SquirrelMail/1.4.15
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
Cc: websec <websec@ietf.org>
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: stephen.farrell@cs.tcd.ie
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Sep 2011 21:58:01 -0000

<no hats>

I agree with the motivation but not the design. A while ago
I posted my idea for a design for this. [1] It may become a
work item for the DECADE WG, ... or not, we'll see.

S.

[1] http://tools.ietf.org/html/draft-farrell-ni-00


> As I mentioned previously, the need to refer to a static data object
> by means of a digest comes up frequently. Rather than re-invent the
> mechanism for creating a reference each time we need one, it would be
> better if we had a single format that could be re-used.
>
> We used to have this back in the days when we trusted MD5 since we
> used that everywhere as a 'fingerprint'. Then things got muddy after
> the Dobertin attack and it became SHA1 and MD5. With SHA2 vs SHA3 it
> will be very muddy.
>
> This would be relevant to the cert pinning debate.
>
>
> I wrote a draft making the proposal:
>
> http://www.ietf.org/id/draft-hallambaker-digesturi-00.txt
>
>
> On the digest front the objective would be to make it possible to use
> the URI format with any digest at all in theory but strongly encourage
> people to only use the digests IETF is confident in. Use of OIDs as
> the identifier has the nice property that anyone can get an identifier
> to distinguish their algorithm from other people's but getting an OID
> does not produce any paper trail that can be used to imply an IETF
> endorsement.
>
> We could add in support for the text based identifiers as well, but
> since the only identifiers that I would want to encourage are SHA2 and
> SHA3, I don't see a need. For all applications that make sense it is
> going to be perfectly OK to simply generate the prefix for the
> identifier part as a static array of octets and append / verify it as
> such whenever it is needed. I do not see any need to write ASN.1
> handling code for these apps :-)
>
>
> The basic idea here is that we need to allow for algorithm agility and
> to prevent a content substitution attack. So imagine that we have web
> page A linking to some off site static content via a digest. Site A
> regards the static content as a PNG and has checked out the page and
> it works fine. What they don't know is that buried in the PNG there is
> some malicious Jscript and if the content server delivers it as
> application/script the result will be a series of syntax errors (that
> are silently ignored because the app is stupid)  and then it finds the
> malicious code... ooops.
>
> OK, so maybe not an attack that you find to be a worry in every
> circumstance, but it is definitely an attack vector we should address
> in a general purpose crypto building block.
>
>
> Having produced a static building block like this it is very easy to
> generate a fingerprint for a static data object in a cut and paste
> ready format. I don't need a separate tool to generate digest
> identifiers for WebSec vs other applications. In terms of ease of use
> we get back to what things were like when we used MD5 fingerprints.
>
> It is also quite easy to make use of truncated fingerprints should
> that be necessary. For example, to put on a business card.
>
> --
> Website: http://hallambaker.com/
> _______________________________________________
> websec mailing list
> websec@ietf.org
> https://www.ietf.org/mailman/listinfo/websec
>



From hallam@gmail.com  Thu Sep 29 18:52:16 2011
Return-Path: <hallam@gmail.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6A7B121F8AED for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 18:52:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.48
X-Spam-Level: 
X-Spam-Status: No, score=-3.48 tagged_above=-999 required=5 tests=[AWL=0.119,  BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 Zr2L8HvethyR for <websec@ietfa.amsl.com>; Thu, 29 Sep 2011 18:52:15 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by ietfa.amsl.com (Postfix) with ESMTP id 9017221F8AEC for <websec@ietf.org>; Thu, 29 Sep 2011 18:52:15 -0700 (PDT)
Received: by gyd12 with SMTP id 12so1355979gyd.31 for <websec@ietf.org>; Thu, 29 Sep 2011 18:55:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=AZG0PBAjoxwDgNbHC38Cld9f1vIiiAgug1D0cmts88k=; b=NL+6c49ezAoMc8f2Z3jYW8INVz32vC4w2D1O1iHqxOU0i24gV7W9R2qtmeyoAEnEuh kVJ8aRlT0Hm7vgADPJcY9VHhIKM96WSWQ9EUikrjSkFQe1nCTEMo5HIbOBYS0uItlVb1 nCmiwBwV6P2IG1eMaUo5IcCjhZyXAwlOCL5C4=
MIME-Version: 1.0
Received: by 10.101.208.2 with SMTP id k2mr10068401anq.8.1317347707917; Thu, 29 Sep 2011 18:55:07 -0700 (PDT)
Received: by 10.100.212.14 with HTTP; Thu, 29 Sep 2011 18:55:07 -0700 (PDT)
In-Reply-To: <7bd9badd19e0e9296750117013a93aa0.squirrel@webmail.scss.tcd.ie>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <7bd9badd19e0e9296750117013a93aa0.squirrel@webmail.scss.tcd.ie>
Date: Thu, 29 Sep 2011 21:55:07 -0400
Message-ID: <CAMm+LwhHDFU3_RxrdcdAAr5pTKMC6UWP-RRN2SNuD22=-pir2g@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: stephen.farrell@cs.tcd.ie
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: websec <websec@ietf.org>
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Sep 2011 01:52:16 -0000

Come to think of it, didn't you send this to us when we first proposed
the ODI thing in CAA v1.0?


I really don't care about the specifics of the design half so much as
we end up with having one, not three.

Only real issue for me is that it has to fit in URI type slots. The
scheme I was thinking of would be a pure URN scheme, your proposal
includes URL like things.

Clearly, your scheme is a better way to reference external content in
a resolvable format. I have to go look at the URN and URI specs again
in detail.


I note that you have a content type, which I have but someone here was
objecting to. I consider the content type to be essential meta-data
for obvious security reasons.


You want to share your design issue here or should we go offline, rev
the proposal and come back?




On Thu, Sep 29, 2011 at 6:00 PM,  <stephen.farrell@cs.tcd.ie> wrote:
>
> <no hats>
>
> I agree with the motivation but not the design. A while ago
> I posted my idea for a design for this. [1] It may become a
> work item for the DECADE WG, ... or not, we'll see.
>
> S.
>
> [1] http://tools.ietf.org/html/draft-farrell-ni-00
>
>
>> As I mentioned previously, the need to refer to a static data object
>> by means of a digest comes up frequently. Rather than re-invent the
>> mechanism for creating a reference each time we need one, it would be
>> better if we had a single format that could be re-used.
>>
>> We used to have this back in the days when we trusted MD5 since we
>> used that everywhere as a 'fingerprint'. Then things got muddy after
>> the Dobertin attack and it became SHA1 and MD5. With SHA2 vs SHA3 it
>> will be very muddy.
>>
>> This would be relevant to the cert pinning debate.
>>
>>
>> I wrote a draft making the proposal:
>>
>> http://www.ietf.org/id/draft-hallambaker-digesturi-00.txt
>>
>>
>> On the digest front the objective would be to make it possible to use
>> the URI format with any digest at all in theory but strongly encourage
>> people to only use the digests IETF is confident in. Use of OIDs as
>> the identifier has the nice property that anyone can get an identifier
>> to distinguish their algorithm from other people's but getting an OID
>> does not produce any paper trail that can be used to imply an IETF
>> endorsement.
>>
>> We could add in support for the text based identifiers as well, but
>> since the only identifiers that I would want to encourage are SHA2 and
>> SHA3, I don't see a need. For all applications that make sense it is
>> going to be perfectly OK to simply generate the prefix for the
>> identifier part as a static array of octets and append / verify it as
>> such whenever it is needed. I do not see any need to write ASN.1
>> handling code for these apps :-)
>>
>>
>> The basic idea here is that we need to allow for algorithm agility and
>> to prevent a content substitution attack. So imagine that we have web
>> page A linking to some off site static content via a digest. Site A
>> regards the static content as a PNG and has checked out the page and
>> it works fine. What they don't know is that buried in the PNG there is
>> some malicious Jscript and if the content server delivers it as
>> application/script the result will be a series of syntax errors (that
>> are silently ignored because the app is stupid) =A0and then it finds the
>> malicious code... ooops.
>>
>> OK, so maybe not an attack that you find to be a worry in every
>> circumstance, but it is definitely an attack vector we should address
>> in a general purpose crypto building block.
>>
>>
>> Having produced a static building block like this it is very easy to
>> generate a fingerprint for a static data object in a cut and paste
>> ready format. I don't need a separate tool to generate digest
>> identifiers for WebSec vs other applications. In terms of ease of use
>> we get back to what things were like when we used MD5 fingerprints.
>>
>> It is also quite easy to make use of truncated fingerprints should
>> that be necessary. For example, to put on a business card.
>>
>> --
>> Website: http://hallambaker.com/
>> _______________________________________________
>> websec mailing list
>> websec@ietf.org
>> https://www.ietf.org/mailman/listinfo/websec
>>
>
>
>



--=20
Website: http://hallambaker.com/

From stephen.farrell@cs.tcd.ie  Fri Sep 30 07:37:25 2011
Return-Path: <stephen.farrell@cs.tcd.ie>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 91E1421F8A66 for <websec@ietfa.amsl.com>; Fri, 30 Sep 2011 07:37:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.499
X-Spam-Level: 
X-Spam-Status: No, score=-106.499 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, 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 T9Zt+NsmLhmt for <websec@ietfa.amsl.com>; Fri, 30 Sep 2011 07:37:24 -0700 (PDT)
Received: from scss.tcd.ie (hermes.cs.tcd.ie [134.226.32.56]) by ietfa.amsl.com (Postfix) with ESMTP id 6622E21F87FC for <websec@ietf.org>; Fri, 30 Sep 2011 07:37:24 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by hermes.scss.tcd.ie (Postfix) with ESMTP id 9421716FA07; Fri, 30 Sep 2011 15:40:12 +0100 (IST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cs.tcd.ie; h= content-transfer-encoding:content-type:mime-version:user-agent :reply-to:from:subject:date:references:in-reply-to:message-id :received:received:received:x-virus-scanned; s=cs; t=1317393611; bh=6EmD3aaDLTHozMmJtTBhmgEB9U4zngWYFHlHALE+NNM=; b=PR3dMuqVgr2v dblpt7BZdifja7HEwuioXkNtA3/nsHODR1DdTK2yG1a782nmNpjCLQ/e+5UC39eb EJ99IpofZ1M+TVdAFH26F4xyGXaPJ2j8dQ8wvJiwPsKWuWa2fvWO4sd8sB+ct0j4 4YirXUb5vcqaXXTLN5xwLMNYwdyHBuz3NAPjPutLNYzl6OX+/m2XVjK8fujzj9Ue oUSVkXm7m73TwcsVtgLXtlC6SccjEQ7G3hm8qVlf5P9u8NTdogyqOLG7zyLQ90f3 1xdkO3XpLrapyKLASHzloHA1GtywP/pzPMDtQrvsrDU3s1xkbkYSMgbvD9veXj6k 1DepfTWtog==
X-Virus-Scanned: Debian amavisd-new at scss.tcd.ie
Received: from scss.tcd.ie ([127.0.0.1]) by localhost (scss.tcd.ie [127.0.0.1]) (amavisd-new, port 10027) with ESMTP id iQ6lNg0mOhFH; Fri, 30 Sep 2011 15:40:11 +0100 (IST)
Received: from webmail.scss.tcd.ie (localhost [127.0.0.1]) by smtp.scss.tcd.ie (Postfix) with ESMTP id D23EF15F50C; Fri, 30 Sep 2011 15:40:10 +0100 (IST)
Received: from 200.129.163.17 (SquirrelMail authenticated user sfarrel6) by webmail.scss.tcd.ie with HTTP; Fri, 30 Sep 2011 15:40:10 +0100 (IST)
Message-ID: <7bb25df9c583e9553d4cf6b7b2c4d98c.squirrel@webmail.scss.tcd.ie>
In-Reply-To: <CAMm+LwhHDFU3_RxrdcdAAr5pTKMC6UWP-RRN2SNuD22=-pir2g@mail.gmail.com>
References: <CAMm+LwjrW=yZCfvsqtBP48ZYJ=-XHMxCGaX=4-+vicetPbLGxQ@mail.gmail.com> <7bd9badd19e0e9296750117013a93aa0.squirrel@webmail.scss.tcd.ie> <CAMm+LwhHDFU3_RxrdcdAAr5pTKMC6UWP-RRN2SNuD22=-pir2g@mail.gmail.com>
Date: Fri, 30 Sep 2011 15:40:10 +0100 (IST)
From: stephen.farrell@cs.tcd.ie
To: "Phillip Hallam-Baker" <hallam@gmail.com>
User-Agent: SquirrelMail/1.4.15
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
Cc: websec <websec@ietf.org>
Subject: Re: [websec] Digest URI scheme
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: stephen.farrell@cs.tcd.ie
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Sep 2011 14:37:25 -0000

Hiya,

> Come to think of it, didn't you send this to us when we first proposed
> the ODI thing in CAA v1.0?

Could be. When my little brain sees a good idea, it tends to repeat
it:-)

> I really don't care about the specifics of the design half so much as
> we end up with having one, not three.

Strongly agree. I think a URI for naming things with digests should
have broad applicability.

> Only real issue for me is that it has to fit in URI type slots. The
> scheme I was thinking of would be a pure URN scheme, your proposal
> includes URL like things.

Yep. We have use-cases for that. Note though that the authority
part is optional, so a fairly bare digest is quite possible and
would look like ni:///sha256:NDVmZTMzOGVkY2Jj...

> Clearly, your scheme is a better way to reference external content in
> a resolvable format. I have to go look at the URN and URI specs again
> in detail.

I also thought about URNs but was told (by PSA I think) that those
are intended for managed name spaces and not things like this.

> I note that you have a content type, which I have but someone here was
> objecting to. I consider the content type to be essential meta-data
> for obvious security reasons.

Our use-case for that is for cases where the named object actually
arrives in some wrapped form (e.g. encrypted) and you need to know
the "inner" content type. However, I could see it being used otherwise
or being dropped as things progress.

> You want to share your design issue here or should we go offline, rev
> the proposal and come back?

I'm not bothered by where or how we progress this, so long as we do
the right thing and do it once:-)

I need to check with co-authors about what DECADE want, but this I-D
could be worked there or here in WEBSEC. I'm very happy to have more
help as well if it gets us closer to doing this once only.

FWIW, we're part of a project that is coding this up, and will
almost certainly release a library with a reasonable license in a
few months.

Cheers,
S.

>
> On Thu, Sep 29, 2011 at 6:00 PM,  <stephen.farrell@cs.tcd.ie> wrote:
>>
>> <no hats>
>>
>> I agree with the motivation but not the design. A while ago
>> I posted my idea for a design for this. [1] It may become a
>> work item for the DECADE WG, ... or not, we'll see.
>>
>> S.
>>
>> [1] http://tools.ietf.org/html/draft-farrell-ni-00
>>
>>
>>> As I mentioned previously, the need to refer to a static data object
>>> by means of a digest comes up frequently. Rather than re-invent the
>>> mechanism for creating a reference each time we need one, it would be
>>> better if we had a single format that could be re-used.
>>>
>>> We used to have this back in the days when we trusted MD5 since we
>>> used that everywhere as a 'fingerprint'. Then things got muddy after
>>> the Dobertin attack and it became SHA1 and MD5. With SHA2 vs SHA3 it
>>> will be very muddy.
>>>
>>> This would be relevant to the cert pinning debate.
>>>
>>>
>>> I wrote a draft making the proposal:
>>>
>>> http://www.ietf.org/id/draft-hallambaker-digesturi-00.txt
>>>
>>>
>>> On the digest front the objective would be to make it possible to use
>>> the URI format with any digest at all in theory but strongly encourage
>>> people to only use the digests IETF is confident in. Use of OIDs as
>>> the identifier has the nice property that anyone can get an identifier
>>> to distinguish their algorithm from other people's but getting an OID
>>> does not produce any paper trail that can be used to imply an IETF
>>> endorsement.
>>>
>>> We could add in support for the text based identifiers as well, but
>>> since the only identifiers that I would want to encourage are SHA2 and
>>> SHA3, I don't see a need. For all applications that make sense it is
>>> going to be perfectly OK to simply generate the prefix for the
>>> identifier part as a static array of octets and append / verify it as
>>> such whenever it is needed. I do not see any need to write ASN.1
>>> handling code for these apps :-)
>>>
>>>
>>> The basic idea here is that we need to allow for algorithm agility and
>>> to prevent a content substitution attack. So imagine that we have web
>>> page A linking to some off site static content via a digest. Site A
>>> regards the static content as a PNG and has checked out the page and
>>> it works fine. What they don't know is that buried in the PNG there is
>>> some malicious Jscript and if the content server delivers it as
>>> application/script the result will be a series of syntax errors (that
>>> are silently ignored because the app is stupid)  and then it finds the
>>> malicious code... ooops.
>>>
>>> OK, so maybe not an attack that you find to be a worry in every
>>> circumstance, but it is definitely an attack vector we should address
>>> in a general purpose crypto building block.
>>>
>>>
>>> Having produced a static building block like this it is very easy to
>>> generate a fingerprint for a static data object in a cut and paste
>>> ready format. I don't need a separate tool to generate digest
>>> identifiers for WebSec vs other applications. In terms of ease of use
>>> we get back to what things were like when we used MD5 fingerprints.
>>>
>>> It is also quite easy to make use of truncated fingerprints should
>>> that be necessary. For example, to put on a business card.
>>>
>>> --
>>> Website: http://hallambaker.com/
>>> _______________________________________________
>>> websec mailing list
>>> websec@ietf.org
>>> https://www.ietf.org/mailman/listinfo/websec
>>>
>>
>>
>>
>
>
>
> --
> Website: http://hallambaker.com/
>



From Jeff.Hodges@KingsMountain.com  Fri Sep 30 13:01:42 2011
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6CCB221F8C5F for <websec@ietfa.amsl.com>; Fri, 30 Sep 2011 13:01:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.483
X-Spam-Level: 
X-Spam-Status: No, score=-100.483 tagged_above=-999 required=5 tests=[AWL=0.012, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, 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 yd46foZJeJum for <websec@ietfa.amsl.com>; Fri, 30 Sep 2011 13:01:41 -0700 (PDT)
Received: from oproxy6-pub.bluehost.com (oproxy6.bluehost.com [IPv6:2605:dc00:100:2::a6]) by ietfa.amsl.com (Postfix) with SMTP id 6616721F8C5C for <websec@ietf.org>; Fri, 30 Sep 2011 13:01:41 -0700 (PDT)
Received: (qmail 2057 invoked by uid 0); 30 Sep 2011 20:04:35 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by cpoproxy3.bluehost.com with SMTP; 30 Sep 2011 20:04:35 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default;  h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=HkMtWdCKaEictEy04SvmV8k1i1MzUc+mJN0UwCwaR3U=;  b=N+ziaVhQqAJzG9gK0DvEuK2D+tqnp3ySOlsz0+nzLiwZ9EZFvprKfR715QeUvaWsi1mFQoA5vtfsEBETfV0RIhXpobKHPSQC3+XfrZWhcxsurtR7PC9FPmoKSXMHMvXa;
Received: from outbound4.ebay.com ([216.113.168.128] helo=[10.244.137.226]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1R9jJz-0000e6-FZ for websec@ietf.org; Fri, 30 Sep 2011 14:04:35 -0600
Message-ID: <4E8620D3.6080706@KingsMountain.com>
Date: Fri, 30 Sep 2011 13:04:35 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110921 Thunderbird/3.1.15
MIME-Version: 1.0
To: IETF WebSec WG <websec@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 216.113.168.128 authed with jeff.hodges+kingsmountain.com}
Subject: [websec] fyi: IDN processing-related security considerations for draft-ietf-websec-strict-transport-sec
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Sep 2011 20:01:42 -0000

the below msg has sparked some interesting discussion over on 
idna-update@alvestrand.no

in the meantime, y'all may want to take a look at the draft IDN/IDNA language 
improvements (below) slated for draft-ietf-websec-strict-transport-sec

=JeffH

------- Forwarded Message

Date:    Thu, 29 Sep 2011 20:07:15 -0700
From:    =JeffH <Jeff.Hodges@KingsMountain.com>
To:      IETF IDNA Update WG <idna-update@alvestrand.no>
cc:      Pete Resnick <presnick@qualcomm.com>, websec-chairs@tools.ietf.org,
	 Peter Saint-Andre <stpeter@stpeter.im>, Adam Barth <ietf@adambarth.com
	  >
Subject: IDN processing-related security considerations for draft-ietf-websec-s
	  trict-transport-sec


Hi,

In working towards completion of..

    HTTP Strict Transport Security (HSTS)
    <https://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec>

..and..

    The Web Origin Concept
    https://tools.ietf.org/html/draft-ietf-websec-origin

..we are attempting to address the proper way to reference IDNA2008 and
IDNA2003 in terms of stipulating comparisons of domain names (that may or may
not be IDNs).

In discussions with our ADs and a few IDNA-literate folks, we've been informed
that the IDNA-specific language in the recently-released RFC6265 HTTP State
Management spec isn't quite up to the standards they would like to see at this
time.

Thus I've performed some surgery on draft-ietf-websec-strict-transport-sec and
have included below the specific section portions that are IDNA specific (this
is from my working copy which isn't quite yet overall ready tonight to submit
as -03).

The key context to keep in mind when reviewing the below is that the key
"processing" -- essentially a domain name comparison -- will occur deep within
the bowels of HTTP clients, well along the processing pipeline for URIs, and
presumably after IDNA-canonicalization and requisite validation/testing has
occurred. However, the guidance we've received is that given the complexities
and subtleties of IDNA processing and considerations, our specs really should
be more explicit about the foregoing assumption(s) and the downside risks if
the requisite validation/testing is not performed.

With that context in mind, thoughts on the below are solicited. Apologies for
just having these excerpts at this time, but I ought to have
- -websec-strict-transport-sec-03 submitted in the next few days at most.

thanks,

=JeffH
                .
                .
                .
7.  User Agent Processing Model

     This section describes the HTTP Strict Transport Security processing
     model for UAs.  There are several facets to the model, enumerated by
     the following subsections.

     This processing model assumes that the UA implements IDNA2008
     [RFC5890], or possibly IDNA2003 [RFC3490], as noted in Section 11
     "Internationalized Domain Names for Applications (IDNA): Dependency
     and Migration".  It also assumes that all domain names manipulated in
     this specification's context are already IDNA-canonicalized as
     outlined in Section 8 "Domain Name IDNA-Canonicalization" prior to
     the processing specified in this section.

     The above assumptions mean that this processing model also
     specifically assumes that appropriate IDNA and Unicode validations
     and character list testing have occured on the domain names, in
     conjunction with their IDNA-canonicalization, prior to the processing
     specified in this section.  See the IDNA-specific security
     considerations in Section 13.2 "Internationalized Domain Names" for
     rationale and further details.
                .
                .
                .
8.  Domain Name IDNA-Canonicalization

     An IDNA-canonicalized domain name is the string generated by the
     following algorithm, whose input must be a valid Unicode-encoded (in
     NFC form [Unicode6]) string-serialized domain name:

     1.  Convert the domain name to a sequence of individual domain name
         label strings.

     2.  When implementing IDNA2008, convert each label that is not a Non-
         Reserved LDH (NR-LDH) label, to an A-label.  See Section 2.3.2 of
         [RFC5890] for definitions of the former and latter, refer to
         Sections 5.3 through 5.5 of [RFC5891] for the conversion
         algorithm and requisite input validation and character list
         testing procedures.

         Otherwise, when implementing IDNA2003, convert each label using
         the "ToASCII" conversion in Section 4 of [RFC3490] (see also the
         definition of "equivalence of labels" in Section 2 of the latter
         specification).

     3.  Concatenate the resulting labels, separating each label from the
         next with (".") a %x2E character.

     See also Section 11 "Internationalized Domain Names for Applications
     (IDNA): Dependency and Migration" and Section 13.2 "Internationalized
     Domain Names" of this specification for further details and
     considerations.
                .
                .
                .
11.  Internationalized Domain Names for Applications (IDNA): Dependency
       and Migration

     Textual domain names on the modern Internet may contain one or more
     "internationalized" domain name labels.  Such domain names are
     referred to as "internationalized domain names" (IDNs).  The
     specification suites defining IDNs and the protocols for their use
     are named "Internationalized Domain Names for Applications (IDNA)".
     At this time, there are two such specification suites: IDNA2008
     [RFC5890] and its predecessor IDNA2003 [RFC3490].

     IDNA2008 obsoletes IDNA2003, but there are differences between the
     two specifications, and thus there can be differences in processing
     (e.g. converting) domain name labels that have been registered under
     one from those registered under the other.  There will be a
     transition period of some time during which IDNA2003-based domain
     name labels will exist in the wild.  User agents SHOULD implement
     IDNA2008 [RFC5890] and MAY implement [RFC5895] (see also Section 7 of
     [RFC5894]) or [UTS46] in order to facilitate their IDNA transition.
     If a user agent does not implement IDNA2008, the user agent MUST
     implement IDNA2003.
                .
                .
                .
13.  Security Considerations
                .
                .
                .
13.2.  Internationalized Domain Names

     Internet security relies in part on the DNS and the domain names it
     hosts.  Domain names are used by users to identify and connect to
     Internet hosts and other network resources.  For example, Internet
     security is compromised if a user entering an internationalized
     domain name (IDN) is connected to different hosts based on different
     interpretations of the IDN.

     The processing models specified in this specification assume that the
     domain names they manipulate are IDNA-canonicalized, and that the
     canonicalization process correctly performed all appropriate IDNA and
     Unicode validations and character list testing per the requisite
     specifications (e.g., as noted in Section 8 "Domain Name IDNA-
     Canonicalization").  These steps are necessary in order to avoid
     various potentially compromising situations.

     In brief, some examples of issues that could stem from lack of
     careful and consistent Unicode and IDNA validations are things such
     as unexpected processing exceptions, truncation errors, and buffer
     overflows, as well as false-positive and/or false-negative domain
     name matching results.  Any of the foregoing issues could possibly be
     leveraged by attackers in various ways.

     Additionally, IDNA2008 [RFC5890] differs from IDNA2003 [RFC3490] in
     terms of disallowed characters and character mapping conventions.
     This situation can also lead to false-positive and/or false-negative
     domain name matching results, resulting in, for example, users
     possibly communicating with unintended hosts, or not being able to
     reach intended hosts.

     For details, refer to the Security Considerations sections of
     [RFC5890], [RFC5891], and [RFC3490], as well as the specifications
     they normatively reference.  Additionally, [RFC5894] provides
     detailed background and rationale for IDNA2008 in particular, as well
     as IDNA and its issues in general, and should be consulted in
     conjunction with the former specifications.

13.3.  Denial of Service (DoS)
                .
                .
                .
- ---
end

_______________________________________________
Idna-update mailing list
Idna-update@alvestrand.no
http://www.alvestrand.no/mailman/listinfo/idna-update

------- End of Forwarded Message



From duerst@it.aoyama.ac.jp  Fri Sep 30 22:11:46 2011
Return-Path: <duerst@it.aoyama.ac.jp>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0C43321F8B42 for <websec@ietfa.amsl.com>; Fri, 30 Sep 2011 22:11:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.755
X-Spam-Level: 
X-Spam-Status: No, score=-99.755 tagged_above=-999 required=5 tests=[AWL=0.035, BAYES_00=-2.599, HELO_EQ_JP=1.244, HOST_EQ_JP=1.265,  MIME_8BIT_HEADER=0.3, 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 IrRjPgUi4Fv5 for <websec@ietfa.amsl.com>; Fri, 30 Sep 2011 22:11:45 -0700 (PDT)
Received: from scintmta02.scbb.aoyama.ac.jp (scintmta02.scbb.aoyama.ac.jp [133.2.253.34]) by ietfa.amsl.com (Postfix) with ESMTP id 5FF9C21F8B3E for <websec@ietf.org>; Fri, 30 Sep 2011 22:11:44 -0700 (PDT)
Received: from scmse02.scbb.aoyama.ac.jp ([133.2.253.231]) by scintmta02.scbb.aoyama.ac.jp (secret/secret) with SMTP id p915EUTJ022029 for <websec@ietf.org>; Sat, 1 Oct 2011 14:14:34 +0900
Received: from (unknown [133.2.206.133]) by scmse02.scbb.aoyama.ac.jp with smtp id 7e17_185a_3dd3481e_ebec_11e0_b640_001d096c5782; Sat, 01 Oct 2011 14:14:30 +0900
Received: from [IPv6:::1] ([133.2.210.1]:43659) by itmail.it.aoyama.ac.jp with [XMail 1.22 ESMTP Server] id <S15571C5> for <websec@ietf.org> from <duerst@it.aoyama.ac.jp>; Sat, 1 Oct 2011 14:14:31 +0900
Message-ID: <4E86A1B0.3090601@it.aoyama.ac.jp>
Date: Sat, 01 Oct 2011 14:14:24 +0900
From: =?UTF-8?B?Ik1hcnRpbiBKLiBEw7xyc3Qi?= <duerst@it.aoyama.ac.jp>
Organization: Aoyama Gakuin University
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.9) Gecko/20100722 Eudora/3.0.4
MIME-Version: 1.0
To: Adam Barth <ietf@adambarth.com>
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com> <4E7DB8E4.9040208@gmx.de> <4E83AA99.6080308@gondrom.org> <CAJE5ia_k3vXWixC6UsJ6mJ08xW8NQO06MVVD9-dzYSOFkDfutg@mail.gmail.com> <4E83BF67.3040207@it.aoyama.ac.jp> <CAJE5ia_b8W0DMZnCmXWYTHwQ-WGpm-Jg+Lozd7UWJPKj6zVqww@mail.gmail.com>
In-Reply-To: <CAJE5ia_b8W0DMZnCmXWYTHwQ-WGpm-Jg+Lozd7UWJPKj6zVqww@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Cc: websec@ietf.org
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 Oct 2011 05:11:46 -0000

Hello Adam,

On 2011/09/29 11:45, Adam Barth wrote:
> On Wed, Sep 28, 2011 at 5:44 PM, "Martin J. DÃ¼rst"
> <duerst@it.aoyama.ac.jp>  wrote:
>> On 2011/09/29 8:26, Adam Barth wrote:
>>>
>>> As I recall, the nosniff directive is pretty controversial.
>>
>> But then, as I recall, the whole business of sniffing is pretty
>> controversial to start with. Are there differences between the
>> controversiality of sniffing as such and the controversiality of the nosniff
>> directive that explain why one is in the draft and the other is not?
>
> The reason why one is in and the other isn't is just historical.
> nosniff didn't exist at the time the document was originally written.

Your first answer sounded as if the nosniff directive was too 
controversial to be included in any draft, but your second answer seems 
to suggest that it was left out by (historical) accident, and that it 
might be worth to include it.

Regards,    Martin.

From ietf@adambarth.com  Fri Sep 30 23:45:33 2011
Return-Path: <ietf@adambarth.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4CFA921F8B5E for <websec@ietfa.amsl.com>; Fri, 30 Sep 2011 23:45:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.902
X-Spam-Level: 
X-Spam-Status: No, score=-2.902 tagged_above=-999 required=5 tests=[AWL=-0.225, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
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 IntVr0IXS01K for <websec@ietfa.amsl.com>; Fri, 30 Sep 2011 23:45:32 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id C68BF21F8B58 for <websec@ietf.org>; Fri, 30 Sep 2011 23:45:32 -0700 (PDT)
Received: by iaby26 with SMTP id y26so3305194iab.31 for <websec@ietf.org>; Fri, 30 Sep 2011 23:48:27 -0700 (PDT)
Received: by 10.231.24.224 with SMTP id w32mr11574743ibb.75.1317451707573; Fri, 30 Sep 2011 23:48:27 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by mx.google.com with ESMTPS id r14sm12645797ibe.7.2011.09.30.23.48.25 (version=SSLv3 cipher=OTHER); Fri, 30 Sep 2011 23:48:26 -0700 (PDT)
Received: by iaby26 with SMTP id y26so3305158iab.31 for <websec@ietf.org>; Fri, 30 Sep 2011 23:48:25 -0700 (PDT)
Received: by 10.231.20.147 with SMTP id f19mr49551ibb.13.1317451705062; Fri, 30 Sep 2011 23:48:25 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.200.203 with HTTP; Fri, 30 Sep 2011 23:47:55 -0700 (PDT)
In-Reply-To: <4E86A1B0.3090601@it.aoyama.ac.jp>
References: <20110508004502.3883.40670.idtracker@ietfa.amsl.com> <4E7DB8E4.9040208@gmx.de> <4E83AA99.6080308@gondrom.org> <CAJE5ia_k3vXWixC6UsJ6mJ08xW8NQO06MVVD9-dzYSOFkDfutg@mail.gmail.com> <4E83BF67.3040207@it.aoyama.ac.jp> <CAJE5ia_b8W0DMZnCmXWYTHwQ-WGpm-Jg+Lozd7UWJPKj6zVqww@mail.gmail.com> <4E86A1B0.3090601@it.aoyama.ac.jp>
From: Adam Barth <ietf@adambarth.com>
Date: Fri, 30 Sep 2011 23:47:55 -0700
Message-ID: <CAJE5ia9XO9tKdwE57rCD7KjyFcOFVCZJSNS0T+fBr1fEOF6B7A@mail.gmail.com>
To: =?ISO-8859-1?Q?Martin_J=2E_D=FCrst?= <duerst@it.aoyama.ac.jp>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: websec@ietf.org
Subject: Re: [websec] I-D Action:draft-ietf-websec-mime-sniff-03.txt
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 Oct 2011 06:45:33 -0000

On Fri, Sep 30, 2011 at 10:14 PM, "Martin J. D=FCrst"
<duerst@it.aoyama.ac.jp> wrote:
> On 2011/09/29 11:45, Adam Barth wrote:
>> On Wed, Sep 28, 2011 at 5:44 PM, "Martin J. D=FCrst"
>> <duerst@it.aoyama.ac.jp> =A0wrote:
>>>
>>> On 2011/09/29 8:26, Adam Barth wrote:
>>>>
>>>> As I recall, the nosniff directive is pretty controversial.
>>>
>>> But then, as I recall, the whole business of sniffing is pretty
>>> controversial to start with. Are there differences between the
>>> controversiality of sniffing as such and the controversiality of the
>>> nosniff
>>> directive that explain why one is in the draft and the other is not?
>>
>> The reason why one is in and the other isn't is just historical.
>> nosniff didn't exist at the time the document was originally written.
>
> Your first answer sounded as if the nosniff directive was too controversi=
al
> to be included in any draft, but your second answer seems to suggest that=
 it
> was left out by (historical) accident, and that it might be worth to incl=
ude
> it.

The essential question isn't whether we should include it in the
draft.  The essential question is whether folks want to implement it.
If no one wants to implement it, putting it in the draft is a
negative.  If folks want to implement, then we can deal with the
controversy.

Adam
