Re: [Id-event] Subject Identifiers - Working Group Last Call

"Backman, Annabelle" <richanna@amazon.com> Wed, 09 March 2022 22:46 UTC

Return-Path: <prvs=060286374=richanna@amazon.com>
X-Original-To: id-event@ietfa.amsl.com
Delivered-To: id-event@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EFBF93A1131 for <id-event@ietfa.amsl.com>; Wed, 9 Mar 2022 14:46:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.607
X-Spam-Level:
X-Spam-Status: No, score=-9.607 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_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazon.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 nDUfrJMc9rF2 for <id-event@ietfa.amsl.com>; Wed, 9 Mar 2022 14:45:59 -0800 (PST)
Received: from smtp-fw-80006.amazon.com (smtp-fw-80006.amazon.com [99.78.197.217]) (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 DA9833A112C for <id-event@ietf.org>; Wed, 9 Mar 2022 14:45:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1646865959; x=1678401959; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=IzQTFPtIllpFrRnjTaRhVYC4hjiB06RE0GFS+ufzQcA=; b=Oltep05K2ZsmXl2MsJiTi1R3YII/1sgkWa+RCDpQ7oSYwaLP+XgynKJu 3kEIl0aIkZn+r6ViwlggtkhaAe+yxNiUycNWv1XNAViAfa0y8IQEoTo2E m8UG2q99lShu0ik9NvzquVvVJO0gsoKGvN5QjJmRW/WY6cVORiF9zuD38 s=;
X-IronPort-AV: E=Sophos; i="5.90,168,1643673600"; d="scan'208,217"; a="69458761"
Thread-Topic: [Id-event] Subject Identifiers - Working Group Last Call
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO email-inbound-relay-pdx-2a-92ba9394.us-west-2.amazon.com) ([10.25.36.214]) by smtp-border-fw-80006.pdx80.corp.amazon.com with ESMTP; 09 Mar 2022 22:45:58 +0000
Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-pdx-2a-92ba9394.us-west-2.amazon.com (Postfix) with ESMTPS id BDBEA41CE1; Wed, 9 Mar 2022 22:45:57 +0000 (UTC)
Received: from EX13D11UWC004.ant.amazon.com (10.43.162.101) by EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Wed, 9 Mar 2022 22:45:54 +0000
Received: from EX13D11UWC004.ant.amazon.com (10.43.162.101) by EX13D11UWC004.ant.amazon.com (10.43.162.101) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Wed, 9 Mar 2022 22:45:53 +0000
Received: from EX13D11UWC004.ant.amazon.com ([10.43.162.101]) by EX13D11UWC004.ant.amazon.com ([10.43.162.101]) with mapi id 15.00.1497.028; Wed, 9 Mar 2022 22:45:47 +0000
From: "Backman, Annabelle" <richanna@amazon.com>
To: Denis <denis.ietf@free.fr>
CC: Yaron Sheffer <yaronf.ietf@gmail.com>, Dick Hardt <dick.hardt@gmail.com>, SecEvent <id-event@ietf.org>, Roman Danyliw <rdd@cert.org>, Marius Scurtescu <marius.scurtescu@coinbase.com>, "Richard Backman, Annabelle" <richanna=40amazon.com@dmarc.ietf.org>
Thread-Index: AQHYM9uepSRX62itfUOV0lr9XdWdnKy3px6A
Date: Wed, 09 Mar 2022 22:45:47 +0000
Message-ID: <BD4BD998-171C-49C8-B495-E5A7B3CE2448@amazon.com>
References: <CAD9ie-uSbNHq=Mt3ohA=URf5rv2hz7YUdUMhOf80C_f=XBrGLA@mail.gmail.com> <36D66A89-D178-6047-B270-73AD540E7FAD@hxcore.ol> <81b58b05-97b6-d910-6b58-4b565ae6ea57@free.fr> <8330bc8a-d0f5-686e-1073-84e8bf83a294@free.fr>
In-Reply-To: <8330bc8a-d0f5-686e-1073-84e8bf83a294@free.fr>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3608.120.23.2.7)
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.43.161.40]
Content-Type: multipart/alternative; boundary="_000_BD4BD998171C49C8B495E5A7B3CE2448amazoncom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/id-event/1nVe1N95HMHIxF09UFflyYwhagw>
Subject: Re: [Id-event] Subject Identifiers - Working Group Last Call
X-BeenThere: id-event@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A mailing list to discuss the potential solution for a common identity event messaging format and distribution system." <id-event.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/id-event>, <mailto:id-event-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/id-event/>
List-Post: <mailto:id-event@ietf.org>
List-Help: <mailto:id-event-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/id-event>, <mailto:id-event-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 Mar 2022 22:46:04 -0000

On Mar 9, 2022, at 9:31 AM, Denis <denis.ietf@free.fr<mailto:denis.ietf@free.fr>> wrote:
...
While this statement is correct, it should be remembered that the title of this document is:

" Subject Identifiers for Security Event Tokens"

and is not:

" Subject Identifiers Formats for Security Event Tokens".

The draft formalizes the concept of a "Subject Identifier", and provides a standard way to represent those as structured data. Therefore I think the current name remains appropriate.

1. Granularity of the identification

A subject identifier may be able to identify an entity either individually or as a member of a group.

In order to be able to make the difference, an optional class attribute should be defined which may take one out of two values:

  *   "ind" to indicate an individual identifier or
  *   "grp" to indicate a group identifier.

Whether or not a subject is an individual or group is a property of the subject itself, not (generally speaking) a property of the subject identifier. Subject identifiers are not general purpose containers for claims about a subject – we already have JWTs for that. 😀

Certainly there are systems out there that issue identifiers for individuals (i.e., users) and groups that may collide with one another (e.g., any system that uses 0-based SQL auto-incrementing integers for its identifiers). However, I think it is rare for such identifiers to be used in cases where interoperability is important, and where the type of the subject is not made clear from context (e.g., a "GetGroupMembers" API would expect an identifier for a group, not a user). Further, I suspect any such system that did need to disambiguate between individuals and groups within the identifier itself would likely need to disambiguate between other types of subjects as well, e.g., hosts, documents, various resources provided by the service, etc. As such, this proposal would not solve their problem, and they would be better off defining their own subject identifier format for their use case.


2. Correlation operations that may be either performed or prevented

Currently, the Privacy Considerations section only addresses one correlation case where a JWT would have both "sub" and "sub_id" JWT claims.
While it is appropriate to mention such a case, other correlation cases exist.

The Privacy Considerations section is intended to address the correlation risk generally. The JWT case is mentioned only as an example. Any suggestions on how to make that more clear?

These cases become visible if the "sub_id" contains an optional subject identifier type attribute.

A subject identifier type attribute would be able to support four values: guid, shared, unique and tmp.

I'm not sure I'm following what you're intending to represent with this, and what problem you're trying to solve. Any subject identifier transmitted from one party to another is by definition "shared". Once the recipient receives that identifier, the transmitter has no programmatic control over how it is used – that's the realm of legal contracts, not API contracts.

A transmitter that wishes to prevent Recipient A from using the transmitters subject identifiers to correlate records with Recipient B may be able to do so by issuing directed identifiers that are unique per subject+recipient pair. A system that does so is essentially immune to this correlation risk; it is not clear to me what value there is in advertising this fact within the subject identifier.

3. Hierarchical group memberships, functional group memberships and roles.

Examples of group identifiers are : hierarchical group memberships, functional group memberships and roles.
It would be useful to define one format for these common groups: one or more character strings separated by the character slash.
for both hierarchical (hgrp) and functional group memberships (fgrp) and roles (role):

Hierarchical groups and functional groups are both subject types, not subject identifier types. I can imagine something like a `path` subject identifier format that contains an ordered list of scalar values describing a path within a graph. That graph could be a filesystem directory tree, an org chart, a computer network, etc.

It might look something like:
{
  "format": "path",
  "path": ["usr", "local", "bin", "sha512sum"]
}

or

{
  "format": "path",
  "path": ["Example University", "Faculty", "Computer Science", "Ada Lovelace"]
}

Note that the nature of the graph, and whether or not the subject identifier identifies the entire path itself or just the final node would depend on the context in which the identifier appears.

While it is an interesting thought exercise, unless someone has a use case for this kind of subject identifier format I don't think it should go in this draft. It can always be defined by someone later, if needed.

—
Annabelle Backman (she/her)
richanna@amazon.com<mailto:richanna@amazon.com>




On Mar 9, 2022, at 9:31 AM, Denis <denis.ietf@free.fr<mailto:denis.ietf@free.fr>> wrote:


CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.


Dick,

As a response to your inquiry, I repost the original email sent on 27/05/2021 at 19:42 (Paris local time) to the same recipients.

Denis


I believe that this document should be enhanced on three aspects that are currently not addressed.

Section 3.1 (Identifier Formats versus Principal Types) states:
Identifier Formats define how to encode identifying information for a subject.  They do not define the type or nature of the subject itself.
 While this statement is correct, it should be remembered that the title of this document is:

" Subject Identifiers for Security Event Tokens"

and is not:

" Subject Identifiers Formats for Security Event Tokens".

Therefore it would be possible to add optional attributes/characteristics to Subject Identifiers which relate to two different topics:

-          the granularity of the identification and
-          the correlation operations that may be either performed or prevented using some values contained in a specific format.

1. Granularity of the identification

A subject identifier may be able to identify an entity either individually or as a member of a group.

In order to be able to make the difference, an optional class attribute should be defined which may take one out of two values:

  *   "ind" to indicate an individual identifier or
  *   "grp" to indicate a group identifier.

Examples:

 "format": "email",
     "class": "ind"
     "email": "tom.jones@example.com"<mailto:tom.jones@example.com>

"format": "email",
     "class": "grp"
     "email": "marketing@example.com"<mailto:marketing@example.com>


2. Correlation operations that may be either performed or prevented

Currently, the Privacy Considerations section only addresses one correlation case where a JWT would have both "sub" and "sub_id" JWT claims.
While it is appropriate to mention such a case, other correlation cases exist.

These cases become visible if the "sub_id" contains an optional subject identifier type attribute.

A subject identifier type attribute would be able to support four values: guid, shared, unique and tmp.

-          a guid type indicates a globally unique identifier. Such subject identifier type allows service providers or other servers to link their accounts
        as soon as they use the same guid.

-          an issuer and subject pair (i.e. a subject identifier with the iss_sub format) where the subject identifier format would include :
-          a shared identifier type (shared) to indicate a subject identifier shared by several service providers
        (such subject identifier type allows service providers to link their accounts), or

-          a unique identifier type (unique) to indicate a subject identifier specific to a single service provider
        (such subject identifier type does not allow service providers or servers to link their accounts), or
-          a temporary identifier type (tmp) to indicate a subject identifier issued only once by the issuer (sometimes called session identifier).
        (such subject identifier type does not allow any service provider to perform any linkage between accounts, even on a single service provider). .

Examples:

"format": "opaque",
     "type": "guid"
     "id": "11112222333344445555"

"format": "iss_sub",
     "type": "shared"
     "iss": "http://issuer.example.com/"<http://issuer.example.com/>,
     "sub": "145234573"

"format": "iss_sub",
     "type": "unique"
     "iss": "http://issuer.example.com/"<http://issuer.example.com/>,
     "sub": "145234573"

"format": "opaque",
     "type": "tmp"
     "id": "11112222333344445555"

3. Hierarchical group memberships, functional group memberships and roles.

Examples of group identifiers are : hierarchical group memberships, functional group memberships and roles.
It would be useful to define one format for these common groups: one or more character strings separated by the character slash.
for both hierarchical (hgrp) and functional group memberships (fgrp) and roles (role):

Examples:

"format": "hgrp",
     "hgrp": "marketing/customer relationships"

"format": "fgrp",
     "fgrp": " university/science/teacher"

"format": "role",
     "role": "auditor"


4. Two nits:
   (...) ways. (e.g., a host might be identified by an IP or MAC address,
   while a user might be identified by an email address) Furthermore,
The punctuation point should be moved after the closing parenthesis.
7.1.  Confidentiality and Integrity

   This specification does not define any mechanism for ensuring the
   confidentiality or integrityi of a Subject Identifier.
Change "integrityi" into "integrity".

Denis

Thank you Dick and the authors.

With my co-chair hat off, I support progressing this document. I also have a couple comments:

3.2.2: The text refers twice to "alias" subject IDs, but the format is now named "aliases".

Fig. 14 seems to be in conflict with the requirement to have a single subject for the JWT ("a JWT has one and only one JWT Subject"). Yes, maybe Elizabeth has a second email address, but we cannot assume that applications have this kind of logic. Similarly, the subject-related discussion in Sec. 4.2 (which is arguably a bit vague) as well as Fig. 18 seems to allow two different subjects within the JWT.

Thanks,
                Yaron

From: Dick Hardt <dick.hardt@gmail.com><mailto:dick.hardt@gmail.com>
Date: Wednesday, May 26, 2021 at 23:22
To: SecEvent <id-event@ietf.org><mailto:id-event@ietf.org>
Cc: Yaron Sheffer <yaronf.ietf@gmail.com><mailto:yaronf.ietf@gmail.com>, Richard Backman, Annabelle <richanna=40amazon.com@dmarc.ietf.org><mailto:richanna=40amazon.com@dmarc.ietf.org>, Roman Danyliw <rdd@cert.org><mailto:rdd@cert.org>, Marius Scurtescu <marius.scurtescu@coinbase.com><mailto:marius.scurtescu@coinbase.com>
Subject: Subject Identifiers - Working Group Last Call
Hello WG

Thanks to Annabelle (and Marius) for the latest update:

https://datatracker.ietf.org/doc/html/draft-ietf-secevent-subject-identifiers-08

Yaron and I would like to make another working group last call on this draft. We are hopeful there will be enough feedback on this draft from people that have reviewed it for us to recommend the draft progressing to the next step.

Please review and respond if you are supportive of this draft, and if you are not supportive, please clarify your concerns.

Dick and Yaron

[Image removed by sender.]ᐧ


_______________________________________________
Id-event mailing list
Id-event@ietf.org<mailto:Id-event@ietf.org>
https://www.ietf.org/mailman/listinfo/id-event




_______________________________________________
Id-event mailing list
Id-event@ietf.org<mailto:Id-event@ietf.org>
https://www.ietf.org/mailman/listinfo/id-event