Hi James,

please find my comments in line.

Il 04/01/2023 14:49, Gould, James ha scritto:

Mario,

The recommendation in draft-ietf-regext-rdap-jscontact is that the JSCard “uid” property SHOULD contain the same value as the RDAP “handle” property.

Have already changed that sentence as in the following to make the "uid" field in RDAP more compliant with its definition in JSContact hence restricting the use of the free-text format:

   The JSCard "uid" property SHOULD be a URN in the UUID namespace, MAY
   be a URI where the URI is the URL of the lookup query for the entity
   related to the contact card.  The entity lookup URL MUST always be
   used regardless of the query generating the response including the
   contact card.

If a UUID is used, there is no need to redact the "uid" field since the UUIDs are not inherently sensitive information.

If a URI can be used, it seemed to me quite natural to mandate the use of the entity lookup URL since it is the basic RDAP query to get information about an entity and, as such, I assumed that an entity handle is generally not sensitive too.


We do provide an example of redacting the domain RDAP “handle” property in draft-ietf-regext-rdap-redacted, so it’s not a stretch to also redact the entity RDAP “handle” property.  Based on the IRT OneDoc and the supporting draft Version 2.2 of the RDAP Response Profile, the “handle” for the Registrant (e.g., “Registry Registrant ID”) and Tech (e.g., “Registry Tech ID”) contacts are subject to redaction requirements, so this is not much of a corner case in RDAP.  You may want to follow-up with calext on the possibility of having to redact the “uid” field, since it looks like a true possibility downstream in RDAP.  I don’t believe draft-ietf-regext-rdap-jscontact can make a required field of JSContact optional, but I don’t believe it can be made mandatory in RDAP.  Attempting to redact a required field of an RDAP extension in draft-ietf-regext-rdap-redacted gets into thorny compliance issues, such as removing a required field via the Redaction by Removal Method or keeping the field by clearing the value that may have format requirements via the Redaction by Empty Value Method.

Wonder how can an RDAP operator allow the entity lookup and, at the same time, redact the handle information. I mean, it should depend on the user grants, not on the handle value. If an user is not allowed to access the handle information, he can't submit the entity lookup and viceversa.

Otherwise, a requestor could desume the redacted handle by simply submitting the entity lookup and receiving a successful response.

I'll open a new post about this topic regarding redaction on the mailing list.

That said, on the admission that an RDAP operator redacts the entity handle and the "uid" field includes the entity lookup URL, I recommended to use the same redaction method  as used for jCard "fn".

Both are mandatory in their related specifications, both are provided as text (free-text is also allowed for JSContact uid), and in both cases the use of the Empty Value is a workaround to keep them compliant with the constraint that they must be present.

I believe Redaction by Removal Method is the cleanest method of redaction for a standard JSON member. It will be up to the RDAP extensions to be more conservative in their normative language for JSON members to support redaction if required by server policy.  I don’t recommend updating draft-ietf-regext-rdap-redacted to attempt to override the normative language of an RDAP extension explicitly by removing the member or implicitly by returning an empty value.


Undoubtedly, it would be much better if the uid field could be optional when JSContact is used as a contact representation within another protocol.

I'll follow-up with calext on this possibility.

The alternative is to change the above sentence as in the following:

The JSCard "uid" property MUST be a URN in the UUID namespace.

A UUIDv5 is fairly secure from being reversed even when it is generated from a sensitive or redacted information.


Best,

Mario


--

JG

James Gould

Fellow Engineer

jgo...@verisign.com <applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgo...@verisign.com>

703-948-3271

12061 Bluemont Way

Reston, VA 20190

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

On 1/4/23, 4:58 AM, "Mario Loffredo" <mario.loffr...@iit.cnr.it> wrote:

    Hi James,

    honestly don't think that the "uid" field will ever get redacted, I

    mean, it's recommended to be an UUID and normally UUIDs are opaque. Both

    UUIDv3 (MD5) and UUIDv5 (SHA1) can be derived from a string (like for

    example the entity handle) so there is no need to generate and store a

    new value.  If it was optionally represented as an URI, a reasonable

    value could be the URL of the entity lookup whose response includes the

    contact card. Since the entity lookup is based on the entity handle

    value and such a value is a registry unique identifier, either in this

    case, the "uid" redaction seems very unlikely to me. Anyway, I can't

    completely exclude such a corner case. In the unlikely event that the

    "uid" field is redacted, I would process it in the same way as the jCard

    "fn" property.

    Both of them are required text fields so don't see why they should be

    processed differently. In addition, there is a requirement from calext

    about keeping uid mandatory.

    Best,

    Mario

    Il 03/01/2023 17:33, Gould, James ha scritto:

    > Mario,

    >

    > I don't see any need to add a dependency between draft-ietf-regext-rdap-jscontact and draft-ietf-regext-rdap-redacted, but this does add an interesting case for draft-ietf-regext-rdap-redacted with redacting a required JSON member.  Do you see the requirement to be able to redact the required "uid" JSContact property? If there is the need to redact it, then wouldn't that make the case for it not to be defined as mandatory in draft-ietf-calext-jscontact?  I'm not sure whether providing an empty value via the Redaction by Empty Value Method is any better than simply removing it via the Redaction by Removal Method.  We would need to first determine whether there is the need to cover the case of redacting a required JSON member in draft-ietf-regext-rdap-redacted and if so how best to handle it.

    >

    > Thanks,

    >

    --

    Dott. Mario Loffredo

    Technological Unit “Digital Innovation”

    Institute of Informatics and Telematics (IIT)

    National Research Council (CNR)

    via G. Moruzzi 1, I-56124 PISA, Italy

    Phone: +39.0503153497

    Web: http://secure-web.cisco.com/1dUrW2nmIC0BLllxqOdvyNJK5jfCH4-D45wpX6KaFLgWfNx6Le_Mud9m9ktIoHTtzUlk6SlpeYMgGQfmJzds6HeOkZj1FfogRWY5RhWmnpk_EPL0BD7rHq_455H43ZDeaKw0Q-sqQ7YkhmF2P0Adk40p5dh5EU__t9yITWm551g0_Uqs90zOztBNH7H4wL2gmnkaAOYeYWTsVhoNWX7ctYsHaYgBBfwWXwxa8xRzSjbaNJMblH--htjDjKydpncQJJZevOW9_fICNnUf5GZih5lIRzGvDFUnqb_4QSFuu73M/http%3A%2F%2Fwww.iit.cnr.it%2Fmario.loffredo

--
Dott. Mario Loffredo
Technological Unit “Digital Innovation”
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Web:http://www.iit.cnr.it/mario.loffredo
_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext

Reply via email to