Re: [regext] Eric Rescorla's Discuss on draft-ietf-regext-allocation-token-09: (with DISCUSS and COMMENT)

"Gould, James" <jgould@verisign.com> Wed, 15 August 2018 15:38 UTC

Return-Path: <jgould@verisign.com>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2F770130FDF; Wed, 15 Aug 2018 08:38:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.299
X-Spam-Level:
X-Spam-Status: No, score=-4.299 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=verisign.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ec_ccKM745VO; Wed, 15 Aug 2018 08:38:29 -0700 (PDT)
Received: from mail1.verisign.com (mail1.verisign.com [72.13.63.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E6BBD130FC7; Wed, 15 Aug 2018 08:38:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=42230; q=dns/txt; s=VRSN; t=1534347509; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=CrInJCvjMlnqXkJNeAFC++DAzfv3CQdY0ox8BMZMdf8=; b=iEhg7ligvdPl0ZDvYlm6tFqMSx3rk4gQMwLadXQNGm/CXHzcU7SQqaYU g27CwQi10e1TzoCIxFUyt/koHOnFS8JWhwWmKvHD0HXAa+7XbNzHWklwe wCDZyKsINmxYmSr8TiM6i8Sw3aWylU2PC8pTumIzZCIQmwrzQ2Li725ru E3f97GUT+MXLz/bR3Cgjs41KSq7WndGrGn40uDY8YXUNH6D112UvoYU+F NY7f6mnvYKKulLM0s1r0nPDpPG1ZYLfGRhBAk7W/0g1vlcsLisICwfIhj WER3WLNQ0KEQ1VpiipKTnHZe9+lfwcdLvLD5iLeUz2YV529Azdeennftc Q==;
X-IronPort-AV: E=Sophos;i="5.53,243,1531785600"; d="png'150?scan'150,208,217,150";a="7537050"
IronPort-PHdr: 9a23:kwNrCBG9t6DsL7oHdoRoI51GYnF86YWxBRYc798ds5kLTJ76pM64bnLW6fgltlLVR4KTs6sC17KI9fi4EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCa8bL9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPCTQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjm58axlVAHnhzsGNz4h8WHYlMpwjL5AoBm8oxBz2pPYbJ2JOPZ7eK7WYNEUSndbXstJVyJPHJ6yb5cBAeQCM+ZXrYfyp1oSohSxHgSsHv/jyjpSi3Pqx6A30eIsGhzG0gw6GNIOtWzZoNv0OqcVTOC1yLTHwS3eZP1Swzj97ZbHcgsvrfqRWr9wc8XRyU4yFwPBk1qdspLlMC2P1uQMqGib7uVgVeS1h2E7rAFxpyGiy8ExgYfHgYIVz0rL9SR/wIstO923VlR7Yd+/EJtRuCGaMZF6Td8lQ2FtoCo61KMJuYS6fCgRyZQnyBjfa/2Bc4eU+B7sSOGRITJgiHJgf7K+hgy98Ea7yuHmUMm7zkpKojJEktbSqnAN2Qbf6s+dSvty+EqqxDWB1xjL5+1ZPUw4j7fXJpwvz7Iqi5YesUrOEjX5lUj1lKOaa1ko9vK15+nlfrnqvIKQOoB3hw3kL6gjmdSzAeomPQUNQ2SW/OGx26fg8ED9W7pHi/M7nrfEv53bIMkUvaq0Dg5X34sm5RuyATWr38kekHIaNlxKYgiHgJLsO1zWJfD4CuqwjEq0nTdwwvDGIqXhApLQLnjfiLvhfahy60pbyAcr0N1R+4paBqwBL/zrVUH+tcDUAgIjPwyq3+nnD8991psEVW2VH6CVKr3SsUWT5uIpOeWDeIgVuDPlJ/gk4f7hk2M5lEcAcaW1x5cbdXK1E/p8L0mEYXfhjM0NHGgJswYmSezlklyCUTpdZ3aoWKI84yk2CICpDYfEW4CthKGO0TylHpJIfGBGC0uMEXbnd4WCQfsDdCWSIsp5njweSbehU5Mh1Q2ptALi1bVnLfDU9zYCtZL/2th14vffmg019TxxF86dyX2CT3lonmMUQD87xKF/rlJmyleMyqV4guJXFcBd5/9TVQc6L5HcxfRgC9/uQgLBYsuJSFG+T9W8Hz4xQcw+wtASY0pkB9qijgrM3yuwA78OjLGLBYI78r7S33TrIMZ90XnG3rE7j1Y6WstPKXGmhqln+gjLHYHJj1+Zl6e2eqQf2yLN9XmMzXaAvExDTQF/T7vKXWgDaUvRt9T2+FnOT7i0CbQoKgFB09KNKrNWat31ilVLXO/jONHFbm2snGewGQyHxrWRY4X2fGURxjnSCE8BkwoL53aJKRA+Bju9o2LZFDFuD0zgY0zy/uhxtHO2VU40wB+Wb01vzba1/QQVhfOEQfMJwr0EoDshqylzHFulwt3WEcCPpwR9fKlFYNMy/ktH1WzAuwxnIJOgIL5th1ECcwhupUzu0xF3CoJcnscwsHMqzQ1yKaSB3FNdcDOY3o7/OrvMJ2nz4h+vd6DW1kvZ0NaM9adcoMg//nj5vQrhLEc5+HJ919Adh3af/L3QEAQXF5n2VxBk2QJ9ouSQTS4g44+QnV9lNKSv+HeW2d0uGe8p4gitZdZEMayCUgT1FptJVICVNOU2lg3xPVo/N+dI+ftxZpv+eg==
X-IPAS-Result: A2FpAABYSHRb/zCZrQpZAxoBAQEBAQIBAQEBCAEBAQGCV0mBEoEnCoNkiAqOGyWDAJMTFIErFyQIAQIjC4Q+AheDPzQYAQIBAQEBAQECAQECgQUMgjUkAQ4vHC8IAQUBAQEBAQEBAQEkAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBCAIIBxgdEgEBGAEBAQEDBQEdAggBPg0QAgEIDgMDAQIGAQEBGAMEAwICAgUQAQ4MFAkIAgQKBAQBBggLgwkBghCrLIEuhCoBhisPiSuBQj6BEicME4JMgxsCAQIBgSoBCwcBCS0JARUICYI6MYIkAogFhG0TiHaBJINMAwYChUwBVolLgTpIg2aIRIZfgUyCXYdyAgQCBAUCFIFBgRpYEQhwFWUBgj4JghwXEYM0hFk7hT5vAQwkizcCDR6BAYEbAQE
Received: from BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) by BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1466.3; Wed, 15 Aug 2018 11:38:26 -0400
Received: from BRN1WNEX01.vcorp.ad.vrsn.com ([fe80::a89b:32d6:b967:337d]) by BRN1WNEX01.vcorp.ad.vrsn.com ([fe80::a89b:32d6:b967:337d%5]) with mapi id 15.01.1466.003; Wed, 15 Aug 2018 11:38:26 -0400
From: "Gould, James" <jgould@verisign.com>
To: Eric Rescorla <ekr@rtfm.com>
CC: The IESG <iesg@ietf.org>, "regext-chairs@ietf.org" <regext-chairs@ietf.org>, Patrick Mevzek <patrick+ietf@deepcore.org>, "pm@dotandco.com" <pm@dotandco.com>, "regext@ietf.org" <regext@ietf.org>, "draft-ietf-regext-allocation-token@ietf.org" <draft-ietf-regext-allocation-token@ietf.org>
Thread-Topic: [EXTERNAL] Re: Eric Rescorla's Discuss on draft-ietf-regext-allocation-token-09: (with DISCUSS and COMMENT)
Thread-Index: AQHUNKvfMYbiHOCUZEymspJa6jz6oKTA8qsA
Date: Wed, 15 Aug 2018 15:38:26 +0000
Message-ID: <3BEE92B8-7D00-4505-91FF-413EB4F212CB@verisign.com>
References: <153434174981.14384.10609930535615384823.idtracker@ietfa.amsl.com> <01B71C4E-09A1-4DC4-AB65-BB3455731D92@verisign.com> <CABcZeBNODeLkGtJ4+zkorL7Cp09K1+avwE57cgV5EcieyJqBjA@mail.gmail.com>
In-Reply-To: <CABcZeBNODeLkGtJ4+zkorL7Cp09K1+avwE57cgV5EcieyJqBjA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.e.1.180613
x-originating-ip: [10.170.148.18]
Content-Type: multipart/related; boundary="_004_3BEE92B87D00450591FF413EB4F212CBverisigncom_"; type="multipart/alternative"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/BO4R4DqU_lB7J0LVOg9XbKS5ilk>
Subject: Re: [regext] Eric Rescorla's Discuss on draft-ietf-regext-allocation-token-09: (with DISCUSS and COMMENT)
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Aug 2018 15:38:32 -0000

Eric,

I will include the agreed changes in draft-ietf-regext-allocation-token-10.  The additional items are included below:

JG - RFC 5731 includes support for an authorization info (<domain:authInfo>) that is an existing credential stored in the server at the time of the create command, which can be updated with an update command, that is used by the gaining client (registrar) to authorize a transfer request.  The registrant should have access to the authorization info from their sponsoring registrar to pass to the gaining registrar to authorize the transfer request.  The Allocation Token is not meant to replace the RFC 5731 authorization info, but is meant as an additional credential to authorize the "allocation" of the domain name.  A registry may hold premium domain names that have an authorization info value, and leverage the transfer command for use in allocation with the use of the additional allocation token.  Let me know if you need any additional clarification on this.

Why is this just true for transfer and not the other commands?

JG - The only other command supported by draft-ietf-regext-allocation-token is create, and the authorization info in RFC 5731 is set on create and not used for authorization.

JG - An unsigned code is a non-complex string that the server generates and stores with the domain name, which can be later validated during allocation.

Where can I find a reference for this?

JG - This is an implementation approach that has not been defined in a public Internet Draft or external resource that I’m aware of.  Actually, the use of server-generated codes that is provided to auction providers for premium domain names, which then is provided to the winning registrant to be passed to the registrar and subsequently to the registry in a create command, with the unsigned code in the allocation token extension, was the original use case for draft-ietf-regext-allocation-token.  The use of 3rd party signed tokens was used later to address additional use cases, such as pre-validating eligibility of domain names.  The key is that draft-ietf-regext-allocation-token is a conduit that may be passed to satisfy different implementation use cases where the allocation token can contain a digital signed value or a simple code that the server can verify to authorize allocation.

—

JG

[cid:image001.png@01D255E2.EB933A30]

James Gould
Distinguished Engineer
jgould@Verisign.com

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com<http://verisigninc.com/>

From: Eric Rescorla <ekr@rtfm.com>
Date: Wednesday, August 15, 2018 at 11:23 AM
To: James Gould <jgould@verisign.com>
Cc: The IESG <iesg@ietf.org>, "regext-chairs@ietf.org" <regext-chairs@ietf.org>, Patrick Mevzek <patrick+ietf@deepcore.org>, "pm@dotandco.com" <pm@dotandco.com>, "regext@ietf.org" <regext@ietf.org>, "draft-ietf-regext-allocation-token@ietf.org" <draft-ietf-regext-allocation-token@ietf.org>
Subject: [EXTERNAL] Re: Eric Rescorla's Discuss on draft-ietf-regext-allocation-token-09: (with DISCUSS and COMMENT)



On Wed, Aug 15, 2018 at 7:42 AM, Gould, James <jgould@verisign.com<mailto:jgould@verisign.com>> wrote:
Eric,

Thank you for your review and feedback.  I provide responses to your feedback below.


—

JG



James Gould
Distinguished Engineer
jgould@Verisign.com

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com <http://verisigninc.com/>

On 8/15/18, 10:02 AM, "Eric Rescorla" <ekr@rtfm.com<mailto:ekr@rtfm.com>> wrote:

    Eric Rescorla has entered the following ballot position for
    draft-ietf-regext-allocation-token-09: Discuss

    When responding, please keep the subject line intact and reply to all
    email addresses included in the To and CC lines. (Feel free to cut this
    introductory paragraph, however.)


    Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
    for more information about IESG DISCUSS and COMMENT positions.


    The document, along with other ballot positions, can be found here:
    https://datatracker.ietf.org/doc/draft-ietf-regext-allocation-token/



    ----------------------------------------------------------------------
    DISCUSS:
    ----------------------------------------------------------------------

    Rich version of this review at:
    https://mozphab-ietf.devsvcdev.mozaws.net/D3061


    These are bearer tokens and therefore I believe transport encryption
    needs to be required in S 7, not just listed as should (which isn't
    even normative in this context).

JG - "An Allocation Token should be considered secret information by the client and should be protected at rest and in transit." can be changed to "An Allocation Token should be considered secret information by the client and SHOULD be protected at rest and MUST be protected in transit."

Yes, this seems like the minimum.


 ----------------------------------------------------------------------
    COMMENT:
    ----------------------------------------------------------------------

    S 3.2.4.
    >      like [RFC5731], the command MUST contain a child
    >      <allocationToken:allocationToken> element for the client to be
    >      authorized to transfer and allocate the object.  The authorization
    >      associated with the Allocation Token is in addition to and does not
    >      replace the authorization mechanism defined for the object's
    >      <transfer> request command.  If the Allocation Token is invalid or

    I'm having trouble processing this statement. Can you explain in more
    detail what the two access control checks are here.

JG - RFC 5731 includes support for an authorization info (<domain:authInfo>) that is an existing credential stored in the server at the time of the create command, which can be updated with an update command, that is used by the gaining client (registrar) to authorize a transfer request.  The registrant should have access to the authorization info from their sponsoring registrar to pass to the gaining registrar to authorize the transfer request.  The Allocation Token is not meant to replace the RFC 5731 authorization info, but is meant as an additional credential to authorize the "allocation" of the domain name.  A registry may hold premium domain names that have an authorization info value, and leverage the transfer command for use in allocation with the use of the additional allocation token.  Let me know if you need any additional clarification on this.

Why is this just true for transfer and not the other commands?


    S 7.
    >      specifications apply to this specification as well.
    >
    >      The mapping acts as a conduit for the passing of Allocation Tokens
    >      between a client and a server.  The definition of the Allocation
    >      Token is defined outside of this mapping.  The following are security
    >      considerations in the definition and use of an Allocation Token:

    Do you want to use normative language here?

JG - Are you requesting normative language such as "The definition of the Allocation Token SHOULD be defined outside of this mapping".  There are cases when the allocation token is a non-complex string value that does not require formal definition, so the normative SHOULD seems most appropriate here.  Do you agree?

I think you probably want this, yes.



    S 7.
    >      3.  An Allocation Token should have a limited life with some form of
    >          expiry in the Allocation Token if generated by a trusted 3rd
    >          third party, or with a server-side expiry if generated by the
    >          server.
    >      4.  An Allocation Token should use a strong random value if it is
    >          based on an unsigned code.

    What is an "unsigned code"?

JG - An unsigned code is a non-complex string that the server generates and stores with the domain name, which can be later validated during allocation.

Where can I find a reference for this?

-Ekr