Re: [Tigress] Left over comments from the interim

Yogesh Karandikar <ykarandikar@apple.com> Fri, 20 October 2023 23:20 UTC

Return-Path: <ykarandikar@apple.com>
X-Original-To: tigress@ietfa.amsl.com
Delivered-To: tigress@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 58A92C15107E for <tigress@ietfa.amsl.com>; Fri, 20 Oct 2023 16:20:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.406
X-Spam-Level:
X-Spam-Status: No, score=-4.406 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2RUIfbACRlL9 for <tigress@ietfa.amsl.com>; Fri, 20 Oct 2023 16:20:34 -0700 (PDT)
Received: from ma-mailsvcp-mx-lapp02.apple.com (ma-mailsvcp-mx-lapp02.apple.com [17.32.222.23]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A1CECC15106B for <tigress@ietf.org>; Fri, 20 Oct 2023 16:20:34 -0700 (PDT)
Received: from rn-mailsvcp-mta-lapp03.rno.apple.com (rn-mailsvcp-mta-lapp03.rno.apple.com [10.225.203.151]) by ma-mailsvcp-mx-lapp02.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0S2U00ZV5OU8X610@ma-mailsvcp-mx-lapp02.apple.com> for tigress@ietf.org; Fri, 20 Oct 2023 16:20:33 -0700 (PDT)
X-Proofpoint-ORIG-GUID: cPr-I9_mMjlt4lxuv19pM821kFyFXkeq
X-Proofpoint-GUID: cPr-I9_mMjlt4lxuv19pM821kFyFXkeq
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.619, 18.0.980 definitions=2023-10-20_10:2023-10-19, 2023-10-20 signatures=0
X-Proofpoint-Spam-Details: rule=interactive_user_notspam policy=interactive_user score=0 adultscore=0 spamscore=0 suspectscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310170001 definitions=main-2310200199
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : message-id : content-type : mime-version : subject : date : in-reply-to : cc : to : references; s=20180706; bh=2JgM/9EfSFBEF2xg28NflJBm7M0Iplf/UoF5mzhUsRk=; b=Bq4iyzzKWxh+sk5+plq//NUS+dP/1dyzEP0kSKzFzStr3nd5cCcAa0jRtHYa5NmFkWRg wKrexXsrJDkleaA+vki4bYaTHlZ63H95WunXT7UBxTAH+cmOA/+vgLmUFr4Iw1tYg5NU OI7NRkJIVQLLAl7v+MQbS2oPPnPEFO5CdikafRvIZlCmrb8vhLLww6A7Bz1IA3eCgDWX MFIRnhxW7u79/nPn0c8p3L1bCOqJ4GI5kPna2HntKkPnCJr6y9owlK44TJ6Xc+gUWN1p cqc9bL+sz0JeNC285qHKbYolV5paNWJKQ23cL4+Mi7uf8nQdeZq7MdlfOsVFT+nj6G6+ ag==
Received: from rn-mailsvcp-policy-lapp01.rno.apple.com (rn-mailsvcp-policy-lapp01.rno.apple.com [17.179.253.18]) by rn-mailsvcp-mta-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0S2U00PXFOU7VF90@rn-mailsvcp-mta-lapp03.rno.apple.com>; Fri, 20 Oct 2023 16:20:32 -0700 (PDT)
Received: from process_milters-daemon.rn-mailsvcp-policy-lapp01.rno.apple.com by rn-mailsvcp-policy-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.22.20230228 64bit (built Feb 28 2023)) id <0S2U01100OGLOR00@rn-mailsvcp-policy-lapp01.rno.apple.com>; Fri, 20 Oct 2023 16:20:31 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 7a77f9138d60728e010dfb6f2118f5e7
X-Va-E-CD: f255b483203340fdfeeae05c22dec860
X-Va-R-CD: 4b0e7a5f7471086efa9a51b7dcb0f268
X-Va-ID: 52838dee-35fc-44c6-ab1c-590c64210067
X-Va-CD: 0
X-V-A:
X-V-T-CD: 7a77f9138d60728e010dfb6f2118f5e7
X-V-E-CD: f255b483203340fdfeeae05c22dec860
X-V-R-CD: 4b0e7a5f7471086efa9a51b7dcb0f268
X-V-ID: 48c36881-b719-455d-9764-7caf81601a0a
X-V-CD: 0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.619, 18.0.980 definitions=2023-10-20_10:2023-10-19, 2023-10-20 signatures=0
Received: from smtpclient.apple ([17.11.2.45]) by rn-mailsvcp-policy-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.22.20230228 64bit (built Feb 28 2023)) with ESMTPSA id <0S2U006HZOU7A700@rn-mailsvcp-policy-lapp01.rno.apple.com>; Fri, 20 Oct 2023 16:20:31 -0700 (PDT)
From: Yogesh Karandikar <ykarandikar@apple.com>
Message-id: <BC1465CB-2B48-4A43-A07D-17CDE27357A2@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_907A7654-ECAA-4701-BB8B-2D51CE7B63A5"
MIME-version: 1.0 (Mac OS X Mail 16.0 \(3774.200.91.1.1\))
Date: Fri, 20 Oct 2023 16:20:20 -0700
In-reply-to: <CABcZeBMvUndF4NfUfUxuwaEGTevKKzW9b9SDH1+0+qni+D5H0g@mail.gmail.com>
Cc: Christopher Wood <caw@heapingbits.net>, Brad Lassey <lassey=40google.com@dmarc.ietf.org>, tigress@ietf.org
To: Eric Rescorla <ekr@rtfm.com>
References: <CALjsk148F_x-r3LKbNZ7qRQQddyz=oX4k0E1jt=5daOu0_JzkQ@mail.gmail.com> <91E81DA8-B2D0-4A18-9D12-D921AB363C05@heapingbits.net> <CABcZeBMPQ5gkE9hJww3CMn02ZEw2ACWk1t-3C9gSdQQahFW9rg@mail.gmail.com> <87F499F4-3F15-4E1D-9AA3-1620A08513D0@apple.com> <CABcZeBN8Q5zghGrL2ERybfuLoH1C6Y40iWeN1kvJnwSmg4bdWw@mail.gmail.com> <6D1FDEE7-9542-464D-B5C7-43DE39D55F0B@apple.com> <CABcZeBMvUndF4NfUfUxuwaEGTevKKzW9b9SDH1+0+qni+D5H0g@mail.gmail.com>
X-Mailer: Apple Mail (2.3774.200.91.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tigress/VYCFhZG2AxT1ZNmgfwVL74B7M0U>
Subject: Re: [Tigress] Left over comments from the interim
X-BeenThere: tigress@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Transfer dIGital cREdentialS Securely <tigress.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tigress>, <mailto:tigress-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tigress/>
List-Post: <mailto:tigress@ietf.org>
List-Help: <mailto:tigress-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tigress>, <mailto:tigress-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Oct 2023 23:20:40 -0000

Replies inline,

Thanks,
Yogesh


> On Oct 16, 2023, at 12:47 PM, Eric Rescorla <ekr@rtfm.com> wrote:
> 
> 
> 
> On Mon, Oct 16, 2023 at 11:55 AM Yogesh Karandikar <ykarandikar@apple.com <mailto:ykarandikar@apple.com>> wrote:
>> Hi Eric,
>> 
>> Replies inline.
>> 
>> Thanks,
>> Yogesh
>> 
>> 
>>> On Oct 12, 2023, at 7:22 PM, Eric Rescorla <ekr@rtfm.com <mailto:ekr@rtfm.com>> wrote:
>>> 
>>> Hi Yogesh,
>>> 
>>> Thanks for fleshing out the scenario you have in mind. Some comments below.
>>> 
>>> > Let’s assume Hotel as the vertical for this example.
>>> > 
>>> > 1. Alice sends a Hotel credential invitation to Bob over channel_1
>>> > (with Security score of 3 because of a recently published research
>>> > paper about vulnerabilities)
>>> > 
>>> > 2. The transport facilitates the provisioning information transfer to
>>> > B_device (the first device to claim the share). No other party is able
>>> > to snoop on this transfer.
>>> > 
>>> > 3. B_device is at the hotel trying to access. B_Device’s credential
>>> > will be marked with security score of channel_1. Let’s say the Hotel’s
>>> > Credential policy blocks automatic access if the Credential was
>>> > generated using channel_1 with a score of less than 6. In this case
>>> > B_Device will not be able to use the Credential instead see an error
>>> > message asking the user to see the Hotel front desk. At the Front
>>> > desk, the person will be instructed to follow a protocol to perhaps
>>> > looks at some government ID, instructions from Alice or other policies
>>> > as defined by Hotel.
>>> >
>>> > In this case:
>>> > 
>>> > if B_Device belonged to Bob, the intended Recipient, {
>>> >     the Front desk person removes restriction on the Credential.
>>> > } else {
>>> >     Front desk person rejects the Credential and follows Hotel protocol to deal with the situation
>>> > }
>>> 
>>> First, it would be good to see an actual protocol sketch here, because
>>> there are both secure and insecure ways to do this. Specifically, I
>>> would like to focus on how the hotel establishes this question:
>>> 
>>>    if B_Device belonged to Bob, the intended Recipient
>>> 
>>> How specifically do you envision this working, and in particular what
>>> binds B's *device* to B's credentials? This is easy to get wrong
>>> and I don't think it's really reasonable to punt it to the verticals.
>>> That's leaving a sharp object around for others to step on.
>>> 
>> 
>> I’m not sure if I actually understand the question here. 
>> 
>> Currently when Alice rents a hotel room, she gets 2 (or more) physical key cards. Later Alice hands a key card to Bob and Bob can use it anywhere. In this process, Bob doesn’t need to go to front desk. Hotel doesn’t verify Bob’ identity. The idea is that Hotel trusts that Alice used her judgement and a secure channel to hand over the key card.
>> 
>> In the Digital Credential world, the verticals are trying to mimic that user experience. Alice hands a Digital Credential to Bob using her judgement and a secure channel. All works well when the Hotel has reasonable trust in the channel. In that case Bob doesn’t need to see the front desk and there is no extra friction in use of the Credential.
> 
> Yes, and this will work fine with both proposals described already.

Indeed if the channel_1 is secure, both proposal would be fine.

>  
> 
>> In the key card world, Alice could have put the card in an envelope and put it under a door-mat to share with Bob. In that case, whoever gets the key card in hand can use it everywhere. Hotel would have no clue that happened.
>> 
>> In the Digital Credential world Alice could use a “under the door-mat” channel. But now Hotel would know that the used channel doesn’t have security score they like. In that case the Credential doesn’t work right away unless the person with Credential is forced to see the Front desk. Hotel could call Alice to verify the name of the person (or she could use their website/App etc). 
> 
> Yes, but my point is that precisely how this is implemented matters. For example, suppose that Alice and Attacker are both staying at the hotel and Alice wants to transfer her key to Bob.
> 
> In this case, however, she sends the invitation over an insecure channel and so the attacker captures it and initiates the transfer protocol.
> 
> The attacker then initiates his own transfer of his own room to Bob. This causes Bob to go to the front desk and ask for the transfer to complete and show his ID.
> 
> The front desk calls Alice and says "Did you mean to do a transfer to Bob". Alice says "yes" and the front desk and unblocks the transfer. This causes the transfer to go through but to the attacker.
> 
> In order prevent this, you need to bind the showing of the ID to the actual transaction it is enabling. This should be possible, but it's not trivial and we shouldn't be leaving that to the verticals.

This is actually not accurate.

If Attacker intercepted Alice’s invite and acted upon it to get Credential for Alice’s room. That Credential will still not work on Alice’s room or common areas because it will be marked with security score of channel_1 and will need to go through second-factor (Front desk visit in this case).

Attacker will still have to visit Front desk, they will call Alice if she shared key with Attacker. The answer would be NO and then Front desk will take appropriate action.


> 
> 
> 
>>> Second, it seems to me that if we already have decided that there
>>> is a trusted third party in this case who can verify the user's
>>> ID directly and physically, then that interaction can also be
>>> used to bootstrap a secure channel in the manner suggested by
>>> Tommy. Specifically, when the Receiver goes to the front desk
>>> they exchange a key with the front desk (e.g., via a QR code)
>>> and that can be used to secure the rest of the transaction.
>>> 
>>> 
>>> Finally, this really seems like the easiest case. Surely there are
>>> situations in which people want to transfer credentials but there is
>>> no handy third party to facilitate physical authentication (e.g., I
>>> want to send someone my car keys). Do you have a proposed technical
>>> approach that would work in that case?
>> 
>> 
>> In the car key world, there are proposal where the car itself introduces the second factor friction. It could be entering a PIN code obtained from the sharer, or presence of sharer’s key.
> 
> Well, if the sharer's key is present then it can be used directly instead of the system we are proposing to build here.


What does used directly mean?

Sharer’s key present can be used as second factor by car to remove restrictions on the shared key. 

So Bob needs to come to car with Alice only the first time. After that Bob can use the key on car without Alice being present.

This is effectively similar to Bob having to visit Hotel Front Desk in earlier Hotel situation.

> If it's a PIN, then actually doing the PIN securely in way that's not subject to attack is not at all straightforward.
>  

Agreed, doing a PIN is only effective if done correctly. 

But that is something already prevalent in the industry. As someone had mentioned in one of the earlier email threads how they received sms to reset their email password.

So it’s kind of a solved problem. Of-course it can be improved.
 

> 
>> There are 2 components  involved in sharing Credentials. Channel_1 to send the invitation. Tigress channel for secure and private transport of provisioning information.
>> 
>> IMO, scope of Tigress WG should be on evaluating the Tigress channel.
> 
> The charter explicitly puts delivering a secure channel in scope"
> 
> Sufficient security measures should be embedded in the protocol in an effort to:
> 
> Ensure only the intended recipient is able to provision the credential
> 
> If part of that is that we need a second factor, then this protocol needs to specify how that works.


Honestly the charter is very confusing for me. Perhaps that is a discussion that needs to happen.

It would be great if others could chime in on this.



> 
> -Ekr
> 
>> 
>> 
>> 
>>> 
>>> -Ekr
>>> 
>>> On Thu, Oct 12, 2023 at 6:33 PM Yogesh Karandikar <ykarandikar@apple.com <mailto:ykarandikar@apple.com>> wrote:
>>>> Hi Everyone,
>>>> 
>>>> Thank you for the interactions on the call this morning. 
>>>> 
>>>> Let me to answer some of the questions raised.
>>>> 
>>>> The components of this system are as follows:
>>>> 
>>>> Component_1: Channel_1 to send invitation from Initiator to Recipient. This is interactive channel where users have to take an action to send something. Let’s say that this channel has security properties score  on a scale of 0 to 10 (0 == None, 10 == Best possible).
>>>> 
>>>> Component_2: A transport that facilitates roundtrips between 2 devices without user interaction. This transport needs to provide the guarantee that communication happens between Initiator Device and first Recipient device to claim. No other device should be able to read the communication or disrupt it by writing or deleting some message. (Req-RoundTrips, Req-ConnectionIntegrity  from requirements document). Also this transport has no reason to establish Identities of the users or collect any metadata (Privacy requirements). 
>>>> 
>>>> Component_3: Second factor by the vertical (if necessary). How is the necessity defined? The details will vary by vertical. But general principle is that security score of channel_1 will be a factor in determining the necessity. (Security score may not be the only factor). 
>>>> 
>>>> 
>>>> How does this all fit together? 
>>>> 
>>>> Let’s assume Hotel as the vertical for this example.
>>>> 
>>>> 1. Alice sends a Hotel credential invitation to Bob over channel_1 (with Security score of 3 because of a recently published research paper about vulnerabilities) 
>>>> 
>>>> 2. The transport facilitates the provisioning information transfer to B_device (the first device to claim the share). No other party is able to snoop on this transfer.  
>>>> 
>>>> 3. B_device is at the hotel trying to access. B_Device’s credential will be marked with security score of channel_1. Let’s say the Hotel’s Credential policy blocks automatic access if the Credential was generated using channel_1 with a score of less than 6. In this case B_Device will not be able to use the Credential instead see an error message asking the user to see the Hotel front desk. At the Front desk, the person will be instructed to follow a protocol to perhaps looks at some government ID, instructions from Alice or other policies as defined by Hotel. 
>>>> 
>>>> In this case:
>>>> 
>>>> if B_Device belonged to Bob, the intended Recipient, {
>>>>     the Front desk person removes restriction on the Credential.
>>>> } else {
>>>>     Front desk person rejects the Credential and follows Hotel protocol to deal with the situation
>>>> }
>>>> 
>>>> 
>>>> To me, Tigress WG needs to focus on component_2 from above (transport for ProvisioningInformation).
>>>> 
>>>> But I understand that there could be more questions about the overall System. So I guess it would be good to address all those concerns in this email thread.
>>>> 
>>>> I do have some comments about ekr’s proposal but I would hold off on them until we are ready to discuss the 2 proposals for component_2. Also it would perhaps be best to compare the 2 proposals in a separate email thread.
>>>> 
>>>> Thanks again,
>>>> Yogesh  
>>>>  
>>>> 
>>>> 
>>>> 
>>>>> On Oct 12, 2023, at 4:50 PM, Eric Rescorla <ekr@rtfm.com <mailto:ekr@rtfm.com>> wrote:
>>>>> 
>>>>> I had also interpreted the Threat Model document the way that Brad and
>>>>> Chris do, but of course, it's always possible people have different
>>>>> interpretations. Stepping back from the document here, I guess I just
>>>>> don't understand what Yogesh and Dmitry have in mind here.
>>>>> 
>>>>> To recap what I said on the call, I think we all agree that there is
>>>>> some channel C1 that we are going to use to transfer the initial
>>>>> Tigress invitation.
>>>>> 
>>>>> 1. If we assume that C1 is secure, then we can provide all the
>>>>>    information the Receiver needs in C1, including a secret of some
>>>>>    kind (S1) that the Receiver can use to authenticate itself and can
>>>>>    be used to encrypt the traffic.
>>>>> 
>>>>> 2. If C1 is insecure--meaning that the attacker is able to see the
>>>>>    contents--then any system in which the only initial information is
>>>>>    passed in C1 is going to be insecure because the attacker can race
>>>>>    the Receiver to communicate with the Sender.
>>>>> 
>>>>> Thus, if we assume that C1 is insecure, then the Receiver must have
>>>>> some other secret (S2) that is *not* known to the attacker. By
>>>>> hypothesis, S2 cannot be delivered via C1, so it must be delivered via
>>>>> some other channel C2 [0]. Dmitry, Yogesh:
>>>>> 
>>>>> 1. What do you envision the nature of S2 to be? E.g., is it high
>>>>>    entropy or low entropy?
>>>>> 2. What is an example of channel C2 that you would imagine people
>>>>>    using?
>>>>> 
>>>>> -Ekr
>>>>> 
>>>>> [0] I'm assuming for the moment that it's a shared secret. There is
>>>>> presumably some world in which instead the Receiver provides a
>>>>> hash of their public key, but I doubt we're thinking that, as
>>>>> it has other challenges.
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>    
>>>>>  
>>>>> 
>>>>> On Thu, Oct 12, 2023 at 1:15 PM Christopher Wood <caw@heapingbits.net <mailto:caw@heapingbits.net>> wrote:
>>>>>> 
>>>>>>> On Oct 12, 2023, at 1:33 PM, Brad Lassey <lassey=40google.com@dmarc.ietf.org <mailto:40google.com@dmarc.ietf.org>> wrote:
>>>>>>> 
>>>>>>> Hi folks,
>>>>>>> I had a couple points to make until we ran out of time. First, was something I said in the chat but wanted to voice more widely. Yogesh mentioned verticals having the ability to layer additional security guarantees on top of the protocol. It would be useful to have at least one illustrative example of how that could be done and to define the extension points needed to enable that.
>>>>>>> 
>>>>>>> Second, I'd like to point out that we have a threat model document for this work (https://datatracker.ietf.org/doc/html/draft-lassey-tigress-threat-model) A lot of the discussion today was centered on what threats the protocol is intending to mitigate and how. I'm hoping that the threat model can help to make those discussions going forward. As I understood it, we were discussing the threat labeled "Attacker intercepts or eavesdrops on sharing message" which has section 5.2.2 as a mitigation (either use an end-to-end encrypted messaging channel or the solution needs to specify some other out-of-band mechanism to transmit the secret). If folks think that mitigation is insufficient, please file an issue (https://github.com/bslassey/tigress-threat-model/issues) Also, if I'm misunderstanding and  folks were thinking of a different threat, we should add it to the threat model either by filing an issue or proposing a PR. 
>>>>>> 
>>>>>> I’m still quite confused about the assumptions being made here. As you say, the threat model document says that the mitigation for this particular attack is to effectively use a secure channel to send the secret. If that’s an acceptable mitigation, then why is use of a secure channel not an assumption of the design space here? As was pointed out on the call, most of the protocol mechanics hinge on this assumption, and your draft with Ekr demonstrates that the solution can be incredibly simple in this case.
>>>>>> 
>>>>>> What am I missing?
>>>>>> 
>>>>>> Thanks,
>>>>>> Chris
>>>>>> 
>>>>>>> 
>>>>>>> Finally, I'd like to call out that the threat model is intended to cover the range of solutions to the problem, which is a pretty hard task in the abstract. Now that we have another concrete proposal, if thinking through it raises new threats, let's document those. I'd also note that the new proposal introduces new mitigations to existing threats that we need to document as well.
>>>>>>> 
>>>>>>> -Brad
>>>>>>> -- 
>>>>>>> Tigress mailing list
>>>>>>> Tigress@ietf.org <mailto:Tigress@ietf.org>
>>>>>>> https://www.ietf.org/mailman/listinfo/tigress
>>>>>> 
>>>>>> -- 
>>>>>> Tigress mailing list
>>>>>> Tigress@ietf.org <mailto:Tigress@ietf.org>
>>>>>> https://www.ietf.org/mailman/listinfo/tigress
>>>>> -- 
>>>>> Tigress mailing list
>>>>> Tigress@ietf.org <mailto:Tigress@ietf.org>
>>>>> https://www.ietf.org/mailman/listinfo/tigress
>>>> 
>>