Re: [Id-event] Consensus :: Single Event Syntax

Phil Hunt <phil.hunt@oracle.com> Fri, 15 December 2017 17:35 UTC

Return-Path: <phil.hunt@oracle.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 F1D35126CC7 for <id-event@ietfa.amsl.com>; Fri, 15 Dec 2017 09:35:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.019
X-Spam-Level:
X-Spam-Status: No, score=-2.019 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, MIME_QP_LONG_LINE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=oracle.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 RvLka-RWyI4b for <id-event@ietfa.amsl.com>; Fri, 15 Dec 2017 09:35:42 -0800 (PST)
Received: from aserp2130.oracle.com (aserp2130.oracle.com [141.146.126.79]) (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 AF44C1200CF for <id-event@ietf.org>; Fri, 15 Dec 2017 09:35:41 -0800 (PST)
Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.21/8.16.0.21) with SMTP id vBFHVqww189166; Fri, 15 Dec 2017 17:35:34 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=content-type : mime-version : subject : from : in-reply-to : date : cc : content-transfer-encoding : message-id : references : to; s=corp-2017-10-26; bh=WI2vkXGXRfjjD5x4MCrIdRojmp3eOZDw8dMXcz1/PHw=; b=GCXMog60aqwzGk7sBi+pUMf+lbFd3gv8fWSvVhrZFwAMGHeVkDsDmm17l3oQFLHoJ+CT A06IsIrMa5nmAeFjyGhVBiTJFF9kczXx844PM/1YgSLfp9fnZ4gg0sFfbDogJNlz05MU u8q/qZSxQzkqt87G+QemyqLbcEuMqnx0UuJseM7ZCwwPHF4GZ0/iBR6DVgj8V8TOJwZg MBMwB2DddTP0syhkfMdbmaOd65YPjoURJkOJTO65Db2KN0lE84wbYCMZRefa24kfmMZw CgCdEXn3pJjNty3iBCkr4gPvHmn9iyMQfhRLTGrx9k2o3ISkGE4SH1o97UwnvlEf/GbY ww==
Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp2130.oracle.com with ESMTP id 2evjq782pr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 15 Dec 2017 17:35:32 +0000
Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id vBFHZVJZ011972 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 15 Dec 2017 17:35:31 GMT
Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id vBFHZVRQ010569; Fri, 15 Dec 2017 17:35:31 GMT
Received: from [192.168.1.13] (/70.70.142.148) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 15 Dec 2017 09:35:30 -0800
Content-Type: multipart/alternative; boundary="Apple-Mail-34F74DEC-FFAB-41F2-BC8E-FE64E0AC54A6"
Mime-Version: 1.0 (1.0)
From: Phil Hunt <phil.hunt@oracle.com>
X-Mailer: iPhone Mail (14G60)
In-Reply-To: <CAGdjJpJ_CvSuJqs6TQUpQhXCf+2_E3y+n49MNqUACWQ4GyFJWg@mail.gmail.com>
Date: Fri, 15 Dec 2017 09:35:27 -0800
Cc: Mike Jones <Michael.Jones@microsoft.com>, "Richard Backman, Annabelle" <richanna@amazon.com>, "id-event@ietf.org" <id-event@ietf.org>, Benjamin Kaduk <bkaduk@akamai.com>, Justin Richer <jricher@mit.edu>
Content-Transfer-Encoding: 7bit
Message-Id: <89AE2BDA-790A-4E64-AEE4-21EA37B13D21@oracle.com>
References: <CAD9ie-s_tmCqwBh0u=89Zx7FZEUMq0-TcPY_t-3t006oTrTbmw@mail.gmail.com> <C45832CC-C0F9-4FB2-8884-A4D76AC116C4@openconsentgroup.com> <CAAP42hAkz0MwwWuN8Ych-VkLrzjq2Hm+q98dhOGgWTDwP++eXw@mail.gmail.com> <6788B0D5-94C8-48FF-87F3-F09259127F2B@amazon.com> <CY4PR21MB0504A25EA9A352074CF63ECCF53D0@CY4PR21MB0504.namprd21.prod.outlook.com> <E0F9B4A6-442F-4231-874D-1845E05B8BD3@amazon.com> <0B45222C-C0E0-452F-B7F2-366861031A4D@oracle.com> <CY4PR21MB0504DA35A5A784A281498D06F53D0@CY4PR21MB0504.namprd21.prod.outlook.com> <652E0C1F-DD9A-41DB-B64E-B456A7530C84@amazon.com> <CY4PR21MB0504147675B28222CBEEDB8BF53D0@CY4PR21MB0504.namprd21.prod.outlook.com> <4d499e2d-2c56-cc30-045c-72c2d368c883@mit.edu> <4B20C10B-E2D7-418E-98AE-26DB7B7E5DF6@amazon.com> <08871575-93EB-414D-B728-442055038342@amazon.com> <208F3BBC-0308-4CE7-94A4-2549FB607214@oracle.com> <4087B4FF-56EE-4F7C-B179-8007C7B2DFA4@amazon.com> <5752AC55-749B-4B4E-905B-43D17D108489@oracle.com> <4A743ECC-5216-4F8D-8AF4-25651834E501@o! racle.com> <19C1D4B7-0424-49E4-8305-3CE4F67E60FC@amazon.com> <CY4PR21MB05048F05E120234F0B0B4AFBF50A0@CY4PR21MB0504.namprd21.prod.outlook.com> <16D31AAA-1A4E-4335-8452-E49B1294585D@amazon.com> <22173DA2-CC6C-4619-88A5-81A02AFB0FE6@oracle.com> <2891DA91-67B6-4467-8D5D-BFEAA836012D@amazon.com> <CAGdjJp+HS+v0_=ncP=qzf9i3jdJQu4RoME4kV5Z9jjX0g3ZKpQ@mail.gmail.com> <9CFDB49B-9311-4C66-99FC-D56189CB63E3@mit.edu> <CY4PR21MB0504969FB9E00D2A003F1725F50B0@CY4PR21MB0504.namprd21.prod.outlook.com> <CAGdjJpJ_CvSuJqs6TQUpQhXCf+2_E3y+n49MNqUACWQ4GyFJWg@mail.gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8746 signatures=668648
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1712150245
Archived-At: <https://mailarchive.ietf.org/arch/msg/id-event/LLGlIZ0c6HWTD3W2JVW5ryxVNso>
Subject: Re: [Id-event] Consensus :: Single Event Syntax
X-BeenThere: id-event@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 15 Dec 2017 17:35:48 -0000

The related syntax is needlessly complex and if this mysterious ambiguity exists, the alt draft does nothing to address it. 

The example Annabelle gave isn't even a valid example. We are proposing a major format change for a non-existent problem. 

Mike has commented extensively how jwt has similar practice. If the ambiguity problem existed JWT would be a failure. 

How much hard fact do we need Marius?

Phil

> On Dec 15, 2017, at 8:50 AM, Marius Scurtescu <mscurtescu@google.com> wrote:
> 
> Simpler? Yes.
> 
> Working? For some use cases, yes.
> 
> Mike, it would be useful if you actually spelled out the reasons why we should hold on to it. Two minor reasons are above, what are the great ones?
> 
> Also, if you disagree with the reasons presented for the new syntax, it would be constructive to hear why.
> 
> Marius
> 
>> On Fri, Dec 15, 2017 at 8:12 AM, Mike Jones <Michael.Jones@microsoft.com> wrote:
>> The current syntax is demonstrably working and substantially simpler than the proposed alternative.  Those are great reasons to hold onto it.
>> 
>>  
>> 
>> From: Justin Richer [mailto:jricher@mit.edu] 
>> Sent: Friday, December 15, 2017 7:09 AM
>> To: Marius Scurtescu <mscurtescu@google.com>
>> Cc: Richard Backman, Annabelle <richanna@amazon.com>; Phil Hunt <phil.hunt@oracle.com>; Mike Jones <Michael.Jones@microsoft.com>; Benjamin Kaduk <bkaduk@akamai.com>; id-event@ietf.org
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> +1 to Annabelle and Marius. The current syntax is demonstrably broken for the purposes that people are claiming it’s needed for. Why are we hanging on to it?
>> 
>>  
>> 
>> On Dec 14, 2017, at 6:22 PM, Marius Scurtescu <mscurtescu@google.com> wrote:
>> 
>>  
>> 
>> On Thu, Dec 14, 2017 at 3:03 PM, Richard Backman, Annabelle <richanna@amazon.com> wrote:
>> 
>> You can’t conceive of any combination of event statements that could be ambiguous?
>> 
>>  
>> 
>> Here’s one possible example:
>> 
>> {
>> 
>> // ...other SET claims...
>> 
>>  "events": {
>> 
>>     "account_updated": { },
>> 
>>    "shipping_address_added": { /* ... */ },
>> 
>>     "billing_address_added": { /* ... */ },
>> 
>>     "address_verified": { "is_verified": true }
>> 
>>  }
>> 
>> }
>> 
>>  
>> 
>> Does the “address_verified” event statement apply to the shipping address or the billing address? Or both? How would the transmitter indicate that one is verified but the other isn’t?
>> 
>>  
>> 
>> The current draft’s syntax allows for implementers to fall into traps like this. Leaving this as a problem for profiling specifications to solve means giving up on general interoperability between SET profiles.
>> 
>>  
>> 
>> +1
>> 
>>  
>> 
>> To add to that, we can go back to the original reasons why multiple events are needed. At IIW we looked at this and we came up with:
>> 
>> - extensions
>> 
>> - aliases
>> 
>> - convenience packaging of related events
>> 
>>  
>> 
>> The current format does not provide any means to convey the above. That is ambiguity.
>> 
>>  
>> 
>> Phil, you are well aware of this, you acknowledged this at the IIW meetings. You could argue that the ambiguity is not important in your opinion, but saying that you do not see any ambiguity is very surprising.
>> 
>>  
>> 
>>  
>> 
>>  
>> 
>>  
>> 
>> -- 
>> 
>> Annabelle Richard Backman
>> 
>> Amazon – Identity Services
>> 
>>  
>> 
>>  
>> 
>> From: Phil Hunt <phil.hunt@oracle.com>
>> Date: Thursday, December 14, 2017 at 1:14 PM
>> To: "Richard Backman, Annabelle" <richanna@amazon.com>
>> Cc: Mike Jones <Michael.Jones@microsoft.com>, Benjamin Kaduk <bkaduk@akamai.com>, "id-event@ietf.org" <id-event@ietf.org>, Justin Richer <jricher@mit.edu>
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> I don't see any ambiguity. 
>> 
>> Phil
>> 
>> 
>> On Dec 14, 2017, at 12:37 PM, Richard Backman, Annabelle <richanna@amazon.com> wrote:
>> 
>> RFC 7519 is very clear about the semantics of the claims that it defines. Where do you see a degree of ambiguity similar to what exists for the “events” claim in the current draft?
>> 
>>  
>> 
>> --
>> 
>> Annabelle Richard Backman
>> 
>> Amazon – Identity Services
>> 
>>  
>> 
>>  
>> 
>> From: Id-event <id-event-bounces@ietf.org> on behalf of Mike Jones <Michael.Jones@microsoft.com>
>> Date: Thursday, December 14, 2017 at 11:04 AM
>> To: Phil Hunt <phil.hunt@oracle.com>, "Richard Backman, Annabelle" <richanna@amazon.com>
>> Cc: Benjamin Kaduk <bkaduk@akamai.com>, "id-event@ietf.org" <id-event@ietf.org>, Justin Richer <jricher@mit.edu>
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> By your logic, JWT should be even worse of an "interoperability disaster", but that doesn't seem to be the case in practice.
>> 
>> From: Richard Backman, Annabelle
>> 
>> Sent: Thursday, December 14, 10:49 AM
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>> To: Phil Hunt, Mike Jones
>> 
>> Cc: Benjamin Kaduk, Justin Richer, id-event@ietf.org
>> 
>> 
>> Mike,
>> 
>>  
>> 
>> What do you mean by “application”? A profiling specification? A transmitter using a particular profiling specification? A transmitter/receiver pair using a profiling application? Something else?
>> 
>>  
>> 
>> I’m not sure why you and Phil are bringing up single vs. multi-aspect in your responses – the point I’m making is that while you claim the current draft supports multi-aspect SETs, its syntax implies limitations on that support that have not been acknowledged:
>> 
>> By using a JSON object as a map with event types as keys, it prohibits transmitters from including two instances of the same event type in a single SET. This reduces the scope of the events claim from “aspects of a single logical event” to “singleton aspects of a single logical event.”By placing all event statements in a single layer without hierarchy or any other indicator of relationships, the syntax requires that receivers be able to infer the correct relationships between event statements. Consequently, either event statements have to be entirely independent of one another, define their own mechanism for disambiguation, or transmitters have to take special care to not produce SETs with ambiguous combinations of event statements. 
>> 
>>  
>> 
>> It’s easy to dismiss interpretation of the events claim as up to the profile/receiver/”application”/etc., but if we do not actually think through how profiles might use the claim, and how someone would implement code to interpret the claim, then we’re setting ourselves up for an interoperability disaster.
>> 
>>  
>> 
>> -- 
>> 
>> Annabelle Richard Backman
>> 
>> Amazon – Identity Services
>> 
>>  
>> 
>>  
>> 
>> From: Id-event <id-event-bounces@ietf.org> on behalf of Phil Hunt <phil.hunt@oracle.com>
>> 
>> Date: Thursday, December 14, 2017 at 9:32 AM
>> 
>> To: Mike Jones <Michael.Jones@microsoft.com>
>> 
>> Cc: Benjamin Kaduk <bkaduk@akamai.com>, "Richard Backman, Annabelle" <richanna@amazon.com>, Justin Richer <jricher@mit.edu>, "id-event@ietf.org" <id-event@ietf.org>
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> +1
>> 
>> Phil
>> 
>> On Dec 14, 2017, at 8:33 AM, Mike Jones <Michael.Jones@microsoft.com> wrote:
>> 
>> I agree with Phil.  If an application uses multi-aspect SETs, it would be unsurprising for them to generate or receive them.  In other applications, single-aspect SETS can be specified, and in fact unexpected multi-aspect SETs received can be rejected if appropriate for the application.  Both are possible – by design.  Both of Annabelle’s proposed statements seem to be intruding into application and profile design.  The core SET spec shouldn’t take a position on them either way (just like the core JWT spec allows any claims to be used by applications).
>> 
>>  
>> 
>>                                                        -- Mike
>> 
>>  
>> 
>> From: Id-event [mailto:id-event-bounces@ietf.org] On Behalf Of Benjamin Kaduk
>> 
>> Sent: Thursday, December 14, 2017 7:50 AM
>> 
>> To: Phil Hunt <phil.hunt@oracle.com>; Richard Backman, Annabelle <richanna@amazon.com>
>> 
>> Cc: id-event@ietf.org; Justin Richer <jricher@mit.edu>
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> Sure, they're not your assertions; they're Annabelle's assertions.  But the question at hand is whether you believe or disbelieve that the assertions are true of the current draft (and, if so, whether they should move from implicit to explicit assumptions).
>> 
>> It sounds like you are saying that you do not believe the two assertions are true of the current draft, but could you please be explicit about your personal beliefs (as opposed to Mike's)?
>> 
>> Thanks,
>> 
>> Ben
>> 
>> On 12/13/2017 08:39 PM, Phil Hunt wrote:
>> 
>> Those aren’t my assertions.
>> 
>>  
>> 
>> The draft is written based on group input. So no, not everything is backed directly by case. It is backed by consensus.  
>> 
>>  
>> 
>> Mike’s comments that just like JWT’s can have different content per audience, so can a stream of SET per receiver.  So single event only SETs and multi-aspect SETs are possible.  
>> 
>>  
>> 
>> If the receiver wants multi-aspect SETs, I doubt they would find them ambiguous.
>> 
>>  
>> 
>> Phil
>> 
>>  
>> 
>> Oracle Corporation, Identity Cloud Services Architect
>> 
>> @independentid
>> 
>> www.independentid.com
>> 
>> phil.hunt@oracle.com
>> 
>> 
>> 
>> On Dec 13, 2017, at 5:54 PM, Richard Backman, Annabelle <richanna@amazon.com> wrote:
>> 
>>  
>> 
>> The ones in my previous email (quoted below):
>> 
>>  
>> 
>> The current syntax doesn’t even work for the professed use case, without two unstated constraints:
>> 
>> 1.       Two instances of a single type of event statement cannot be related to the same logical event.
>> 
>> 2.       The combination of event statements cannot be ambiguous.
>> 
>>  
>> 
>> If the current draft intends to impose these limits, they need to be stated in the text. But more importantly, what is the basis for imposing these limitations on SET in the first place?
>> 
>>  
>> 
>> -- 
>> 
>> Annabelle Richard Backman
>> 
>> Amazon – Identity Services
>> 
>>  
>> 
>>  
>> 
>> From: Phil Hunt <phil.hunt@oracle.com>
>> 
>> Date: Wednesday, December 13, 2017 at 5:53 PM
>> 
>> To: "Richard Backman, Annabelle" <richanna@amazon.com>
>> 
>> Cc: Justin Richer <jricher@mit.edu>, "id-event@ietf.org" <id-event@ietf.org>
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> What restrictions are you referring to? 
>> 
>>  
>> 
>> Phil
>> 
>>  
>> 
>> Oracle Corporation, Identity Cloud Services Architect
>> 
>> @independentid
>> 
>> www.independentid.com
>> 
>> phil.hunt@oracle.com
>> 
>> 
>> 
>> 
>> On Dec 13, 2017, at 5:46 PM, Richard Backman, Annabelle <richanna@amazon.com> wrote:
>> 
>>  
>> 
>> Phil,
>> 
>>  
>> 
>> As the author of the current draft, can you clarify whether these restrictions are intentional, and if so why the use cases for SET are being restricted in this way?
>> 
>>  
>> 
>> -- 
>> 
>> Annabelle Richard Backman
>> 
>> Amazon – Identity Services
>> 
>>  
>> 
>>  
>> 
>> From: "Richard Backman, Annabelle" <richanna@amazon.com>
>> 
>> Date: Monday, December 11, 2017 at 10:09 AM
>> 
>> To: Justin Richer <jricher@mit.edu>, "id-event@ietf.org" <id-event@ietf.org>
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> The current syntax doesn’t even work for the professed use case, without two unstated constraints:
>> 
>> Two instances of a single type of event statement cannot be related to the same logical event. The combination of event statements cannot be ambiguous.
>> 
>>  
>> 
>> If the current draft intends to impose these limits, they need to be stated in the text. But more importantly, what is the basis for imposing these limitations on SET in the first place?
>> 
>>  
>> 
>> -- 
>> 
>> Annabelle Richard Backman
>> 
>> Amazon – Identity Services
>> 
>>  
>> 
>>  
>> 
>> From: Id-event <id-event-bounces@ietf.org> on behalf of Justin Richer <jricher@mit.edu>
>> 
>> Date: Saturday, December 9, 2017 at 6:04 AM
>> 
>> To: "id-event@ietf.org" <id-event@ietf.org>
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> So the current syntax doesn't work for Tony's stated use case of even bundles while the new syntax does, then.
>> 
>>  
>> 
>> On 12/5/2017 5:50 PM, Mike Jones wrote:
>> 
>> The “events” claim definition is already clear that the “events” values convey multiple aspects of a single logical event - not independent events.  Section 2.1 (Core Set Claims) says:
>> 
>>    events
>> 
>>       The semantics of this claim is to define a set of event statements
>> 
>>       that each MAY add additional claims to fully describe a single
>> 
>>       logical event that has occurred (e.g. a state change to a
>> 
>>       subject). … The "events" claim SHOULD NOT be used to express
>> 
>>       multiple logical events.
>> 
>>  
>> 
>> You’re describing a theoretical problem that’s not actually present in the working group spec.
>> 
>>  
>> 
>>                                                                 -- Mike
>> 
>>  
>> 
>> From: Richard Backman, Annabelle [mailto:richanna@amazon.com] 
>> 
>> Sent: Tuesday, December 5, 2017 2:06 PM
>> 
>> To: Mike Jones <Michael.Jones@microsoft.com>; Phil Hunt <phil.hunt@oracle.com>
>> 
>> Cc: William Denniss <wdenniss@google.com>; M.Lizar@OCG <m.lizar@openconsentgroup.com>; Yaron Sheffer <yaronf.ietf@gmail.com>; Dick Hardt <dick.hardt@gmail.com>; SecEvent <id-event@ietf.org>
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> Once again, I am not talking about the meaning of a given event type or its contents. I’m talking about the meaning of putting an event in an “events” claim alongside another event in the same SET.
>> 
>>  
>> 
>> Drawing an analogy to programming, I’m talking about defining what the syntax “function_x() && function_y()” means. Regardless of what “function_x” and “function_y” mean, the language defines the meaning of that syntax as “true if the result of function_x is true and the result of function_y is true.”
>> 
>>  
>> 
>> -- 
>> 
>> Annabelle Richard Backman
>> 
>> Amazon – Identity Services
>> 
>>  
>> 
>>  
>> 
>> From: Mike Jones <Michael.Jones@microsoft.com>
>> 
>> Date: Tuesday, December 5, 2017 at 1:30 PM
>> 
>> To: Phil Hunt <phil.hunt@oracle.com>, "Richard Backman, Annabelle" <richanna@amazon.com>
>> 
>> Cc: William Denniss <wdenniss@google.com>, "M.Lizar@OCG" <m.lizar@openconsentgroup.com>, Yaron Sheffer <yaronf.ietf@gmail.com>, Dick Hardt <dick.hardt@gmail.com>, SecEvent <id-event@ietf.org>
>> 
>> Subject: RE: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> Hi Annabelle,
>> 
>>  
>> 
>> The data contained in a SET and the semantics of that data will *always* be profile-specific.  That’s a feature – not a bug.  It’s what makes SETs general-purpose, rather than being suited only for a narrow set of use cases.
>> 
>>  
>> 
>> An analogy with JWTs is applicable.  JWTs have no required claims, so their usage is always profile-specific.  That has enabled them to be adopted by numerous diverse applications.  SETs currently have that same level of flexibility – by design.
>> 
>>  
>> 
>>                                                                 -- Mike
>> 
>>  
>> 
>> From: Phil Hunt [mailto:phil.hunt@oracle.com] 
>> 
>> Sent: Tuesday, December 5, 2017 1:22 PM
>> 
>> To: Richard Backman, Annabelle <richanna@amazon.com>
>> 
>> Cc: Mike Jones <Michael.Jones@microsoft.com>; William Denniss <wdenniss@google.com>; M.Lizar@OCG <m.lizar@openconsentgroup.com>; Yaron Sheffer <yaronf.ietf@gmail.com>; Dick Hardt <dick.hardt@gmail.com>; SecEvent <id-event@ietf.org>
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> I would disagree strongly with the notion of inter-operability requirements on expected outcomes or actions by receivers.
>> 
>>  
>> 
>> SETs are statements of changes in state of security objects by transmitters. SETs do not indicate any specific actions that should be taken by receivers. 
>> 
>>  
>> 
>> I believe I’ve covered this issue during the informal BOF (at the SCIM WG meeting Argentina) and several times during IETF WG meeting presentations. I did so, because within the IETF community many people have vastly different notions of what an event is.
>> 
>>  
>> 
>> Phil
>> 
>>  
>> 
>> Oracle Corporation, Identity Cloud Services Architect
>> 
>> @independentid
>> 
>> www.independentid.com
>> 
>> phil.hunt@oracle.com
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On Dec 5, 2017, at 12:57 PM, Richard Backman, Annabelle <richanna@amazon.com> wrote:
>> 
>>  
>> 
>> Mike,
>> 
>>  
>> 
>> This isn’t simply an issue of “single vs multiple” – the current draft is fundamentally broken from an interoperability standpoint, because the correct interpretation of the “events” claim is at best profile-specific, at worst implementation-specific.
>> 
>>  
>> 
>> -- 
>> 
>> Annabelle Richard Backman
>> 
>> Amazon – Identity Services
>> 
>>  
>> 
>>  
>> 
>> From: Mike Jones <Michael.Jones@microsoft.com>
>> 
>> Date: Tuesday, December 5, 2017 at 12:22 PM
>> 
>> To: "Richard Backman, Annabelle" <richanna@amazon.com>, William Denniss <wdenniss@google.com>, "M.Lizar@OCG" <m.lizar@openconsentgroup.com>
>> 
>> Cc: Yaron Sheffer <yaronf.ietf@gmail.com>, Phil Hunt <phil.hunt@oracle.com>, SecEvent <id-event@ietf.org>, Dick Hardt <dick.hardt@gmail.com>
>> 
>> Subject: RE: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> Morteza already pointed out a simple solution to enabling SETs to contain only a single event description for profiles that want that – a solution proposed by Yaron that doesn’t involve making any breaking changes:  Explicitly specify that profiles can restrict the number of elements in the “events” data structure – including limiting them to one element, when desired.  Then profiles that want this can have it and profiles that need to enable multiple aspects of an event to be easily represented can have that too.  Hopefully people can rally around that straightforward solution, enabling us to move on and finish the SET spec in as timely a fashion as possible.
>> 
>>  
>> 
>>                                                                 -- Mike
>> 
>>  
>> 
>> From: Id-event [mailto:id-event-bounces@ietf.org] On Behalf Of Richard Backman, Annabelle
>> 
>> Sent: Tuesday, December 5, 2017 11:40 AM
>> 
>> To: William Denniss <wdenniss@google.com>; M.Lizar@OCG <m.lizar@openconsentgroup.com>
>> 
>> Cc: Yaron Sheffer <yaronf.ietf@gmail.com>; Phil Hunt <phil.hunt@oracle.com>; SecEvent <id-event@ietf.org>; Dick Hardt <dick.hardt@gmail.com>
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> William’s email analogy demonstrates the problem with the current syntax: imagine if the text part of a multi-part email could be any of the following, with no explicit indication which one it is:
>> 
>> A plaintext representation of the same content in the HTML part.  The CSS to use when rendering the HTML part.  Annotations on the contents of the HTML part.  A vCard for the sender of the message.  A completely separate message with a separate subject line embedded in the text. 
>> 
>>  
>> 
>> How would a mail reader know what to do with this? It couldn’t, not in any scalable way. Yet is exactly the situation we will have, given the current draft and the way people are proposing using its multi-part capability:
>> 
>> William wants to use it to send different independent representations of the same event. Phil wants to use it to send different aspects of the same event, intended to be processed together. Tony wants to use it for directory synchronization.  Marius wants to use it to send the same event under both standard and deprecated names. et cetera, et cetera… 
>> 
>>  
>> 
>> This confusion is going to limit reusability and interoperability, and hinder adoption. If the WG consensus is that all these use cases are in scope for SET, that’s fine, we can support them – but we need to do so in a way that doesn’t create complete chaos.
>> 
>>  
>> 
>> At risk of repeating myself, maybe we need to have a consensus discussion on which multi-part use cases are in scope for SET before we continue with this discussion?
>> 
>>  
>> 
>> -- 
>> 
>> Annabelle Richard Backman
>> 
>> Amazon – Identity Services
>> 
>>  
>> 
>>  
>> 
>> From: Id-event <id-event-bounces@ietf.org> on behalf of William Denniss <wdenniss@google.com>
>> 
>> Date: Monday, December 4, 2017 at 7:20 PM
>> 
>> To: "M.Lizar@OCG" <m.lizar@openconsentgroup.com>
>> 
>> Cc: Yaron Sheffer <yaronf.ietf@gmail.com>, Dick Hardt <dick.hardt@gmail.com>, SecEvent <id-event@ietf.org>, Phil Hunt <phil.hunt@oracle.com>
>> 
>> Subject: Re: [Id-event] Consensus :: Single Event Syntax
>> 
>>  
>> 
>> I would prefer to keep the format in the current working group draft.
>> 
>> Based on the requirement that events may be represented in multiple ways, I believe having both formats carried in a single SET is superior as it avoids complex linking logic. The best analogy I can think of is email, where MIME allows for text and html versions *of the same content* to be carried in a single email (much like how SET allows for multiple representations *of the same event* in a SET). With email, the recipient's client is then able to display the version it prefers from those available. Imagine the additional logic if every email was sent twice – e.g. what if the plain text version arrives, the HTML one is delayed? How should the client react if the HTML version arrives later, would it replace the version it had? What if you were already viewing and/or replying?
>> 
>> Time-wise I'm really concerned if we don't lock this down soon, the people who are waiting on us to profile SET will walk away and do their own thing (I was worried about that a year ago… and I think we've waited long enough). I think we should keep this in mind and choose the path that will have the fastest resolution.  If the decision was to change the format at this late stage, I would like to hear what steps can be done to avoid additional delay.
>> 
>> I really respect the work Annabelle has done in leading the alternative representation, and I do think it’s a viable alternative. If we choose to change the spec and go with the singular option, then I think the requirement of multiple representations should be dropped, or at a minimum de-emphasized as this (along with expediency) is the main reason I believe the existing format is better.
>> 
>>  
>> 
>>  
>> 
>> On Mon, Dec 4, 2017 at 1:08 PM, M.Lizar@OCG <m.lizar@openconsentgroup.com> wrote:
>> 
>> Small typo,  -  should be a  ‘.’ Not a ‘?’ 
>> 
>>  
>> 
>> The spec works well for the consent a privacy syntax use cases we are aware of (full stop) 
>> 
>>  
>> 
>> - Mark
>> 
>>  
>> 
>> On 4 Dec 2017, at 20:46, M.Lizar@OCG <m.lizar@openconsentgroup.com> wrote:
>> 
>>  
>> 
>>  
>> 
>> I concur with Mike and Justin, we had the same issue with primary and secondary in the Consent Receipt spec. 
>> 
>>  
>> 
>> We are also opposed  to making breaking changes at this late date and that the existing working group spec already works well for the consent and privacy use cases we are aware of? 
>> 
>>  
>> 
>> Mark Lizar | CEO Open Consent | Co-Char CISWG at Kantara
>> 
>>  
>> 
>> On 1 Dec 2017, at 18:35, Phil Hunt <phil.hunt@oracle.com> wrote:
>> 
>>  
>> 
>> For historical purposes, this has been discussed twice before (once at the request of Annabelle).
>> 
>>  
>> 
>> I think it would be helpful, why, after WGLC, this issue is being brought forward yet again. Dick has stated that Annabelle’s concern that she finds it difficult to implement is sufficient.  Yet, I’m not sure we are entertaining a new concern here. No new information was provided. 
>> 
>>  
>> 
>> I note that at the time, the chairs did not feel there was a lack of consensus in order to call for one in the past.
>> 
>>  
>> 
>> On some of these matters, the choice may be arbitrary, and that is why I think keeping track of prior discussion is important so that we can clearly move forward and not repeat discussion of the past further confusing consensus.
>> 
>>  
>> 
>> While I advocated for singular events as a possibility in the past, I now have much more stronger technical reasons for the WG draft design, which have strengthened rather than weakened in the past week. I will share these later, after the minutes have been published.
>> 
>>  
>> 
>> On Dec 10, 2016, Yaron while reviewing the ID draft-hunt-idevent-token-07 [1]:
>> 
>>   * Why "events" and not "event"? We don't really have support for     multiple events. Certainly not if they are all of the same type.     The current text is confusing: "events" is not the same as "a     primary event and its extensions”. 
>> 
>> [MIKE] Reflects your earlier comment re: primary vs. extensions.  "events” is plural to reflect the fact that the attribute is multi-valued. I agree, given that only one primary event can be included, the naming is misleading. 
>> 
>>  
>> 
>> >From later in the thread [2]:
>> 
>>  * 2: "first value" is meaningless. JSON objects are unordered (4th
>> 
>>  
>> 
>>    paragraph of RFC 7159). If order /is/ important, we could make
>> 
>>  
>> 
>>    "events" into an array.
>> 
>>  
>> 
>> [Phil] 
>> 
>> Yup.   How would the group like to fix this?  We could make “events”
>> 
>>  
>> 
>> singular and have an extensions attribute to hold the extensions.  Or we
>> 
>>  
>> 
>> could go to a more complex JSON structure (not personally a fan).
>> 
>>  
>> 
>>  
>> 
>> [Yaron]
>> 
>>  I'm personally fine with a main "event" object and an "extensions" attribute. I can even live with "event" being called "events", per Mike's proposal. But the structure needs to make sense as a JSON object if we want it implemented. 
>> 
>>  
>> 
>>  
>> 
>>  
>> 
>> [PH] Thread: Should the primary event be a separate attribute?
>> 
>>  
>> 
>>  
>> 
>>  
>> 
>> We had this broken out before. If there is sufficient desire to break it out again, I have no objection.
>> 
>>  
>> 
>>  
>> 
>> Then following WG adoption, I re-reraised the issue after discussion with Annabelle draft-secevent-token-00 [3]: 
>> 
>> On this topic, following Yaron’s comments Mike Jones raised some points that there should be no distinction between primary events and extensions (https://mailarchive.ietf.org/arch/msg/id-event/0Hhg46ROcidQDLL7OnXUs88TJ9U).  Summarizing:
>> 
>> * Processors will run through all of them regardless. It is not necessarily helpful to understand which is a primary vs. extension
>> 
>> * Let’s drop distinction between primary vs. extension. You can simply express one or more sets of event attributes in a single JWT
>> 
>>  
>> 
>> My proposal is to drop this terminology in the text and keep the attribute multi-valued. The purpose of the attribute is to inform the reader what events are being asserted and what additional data may be present. It is up to the reader to ultimately infer meaning when one or more URIs are present.  Further, when multiple URIs are present it must still to make a combined statement about a single state change about a subject. It must not be used to convey multiple distinct (e.g. transactions) events about a subject.
>> 
>>  
>> 
>> Assuming everyone agrees, I will plan to remove these distinctions in the next update with some new text. Please comment if you have concerns.
>> 
>>  
>> 
>> To which Mike Jones responded [4]
>> 
>> I believe we already had consensus to drop the primary/secondary distinction, which we intentionally did before adoption of the working group draft.  I believe any such distinction will both be unhelpful and result in syntactic complexity.  Please let’s finish stamping out the notion that any of the events in a SET are somehow different than the others.
>> 
>>  
>> 
>> William Denniss wrote [5]: 
>> 
>> I agree with your proposal.
>> 
>>  
>> 
>> They're all just events. Up to implementors to define & categorize their events how they like.
>> 
>>  
>> 
>> Marius also agreed (he may have switched positions now) [6]:
>> 
>> I also think it makes sense to remove the primary/secondary distinction.
>> 
>> Marius
>> 
>>  
>> 
>> Justin also agreed (and may have switched positions) [7]
>> 
>> +1, drop "primary" and keep it an object
>> 
>>  
>> 
>>  -- Justin
>> 
>>  
>> 
>>  
>> 
>> References: 
>> 
>> [1] - https://www.ietf.org/mail-archive/web/id-event/current/msg00298.html
>> 
>> [2] - https://www.ietf.org/mail-archive/web/id-event/current/msg00299.html
>> 
>> [3] - https://www.ietf.org/mail-archive/web/id-event/current/msg00345.html
>> 
>> [4] - https://www.ietf.org/mail-archive/web/id-event/current/msg00347.html
>> 
>> [5] - https://www.ietf.org/mail-archive/web/id-event/current/msg00349.html
>> 
>> [6] - https://www.ietf.org/mail-archive/web/id-event/current/msg00365.html
>> 
>> [7] - https://www.ietf.org/mail-archive/web/id-event/current/msg00406.html
>> 
>>  
>> 
>> Phil
>> 
>>  
>> 
>> Oracle Corporation, Identity Cloud Services Architect
>> 
>> @independentid
>> 
>> www.independentid.com
>> 
>> phil.hunt@oracle.com
>> 
>>  
>> 
>> On Dec 1, 2017, at 8:50 AM, Dick Hardt <dick.hardt@gmail.com> wrote:
>> 
>>  
>> 
>> Is it important to syntactically ensure that only one event is in a SET?
>> 
>> For privacy reasons, some use cases want to ensure that only one signal is in a SET.
>> 
>> This adds some additional complexity for use cases that want to include multiple signals in a SET.
>> 
>> See https://tools.ietf.org/html/draft-backman-secevent-token-02 for an proposed syntax that ensures one event per SET, and enables multiple events per SET when desired
>> 
>>  
>> 
>> We will track results here: https://github.com/IETF-SecEvent/Drafts/issues/1
>> 
>>  
>> 
>> Discussion to be on the mail list as usual, not in the issue tracker!
>> 
>>  
>> 
>> /Dick
>> 
>> _______________________________________________
>> 
>> Id-event mailing list
>> 
>> Id-event@ietf.org
>> 
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_id-2Devent&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=na5FVzBTWmanqWNy4DpctyXPpuYqPkAI1aLcLN4KZNA&m=p986FFBYCnXfbWjoBBpAe4IarEj1m7ezmVE3DPSQzwY&s=YnAKATJz3qVYniVaDUIMtQb9L-vMocgsYARzV6axzq4&e=
>> 
>>  
>> 
>> _______________________________________________
>> 
>> Id-event mailing list
>> 
>> Id-event@ietf.org
>> 
>> https://www.ietf.org/mailman/listinfo/id-event
>> 
>>  
>> 
>> _______________________________________________
>> 
>> Id-event mailing list
>> 
>> Id-event@ietf.org
>> 
>> https://www.ietf.org/mailman/listinfo/id-event
>> 
>>  
>> 
>> _______________________________________________
>> 
>> Id-event mailing list
>> 
>> Id-event@ietf.org
>> 
>> https://www.ietf.org/mailman/listinfo/id-event
>> 
>>  
>> 
>> _______________________________________________
>> 
>> Id-event mailing list
>> 
>> Id-event@ietf.org
>> 
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_id-2Devent&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=na5FVzBTWmanqWNy4DpctyXPpuYqPkAI1aLcLN4KZNA&m=64Sgt5nlxmOs0NbkKq3UqYItitj7fiunLlki9iJlcEk&s=oLqIO9IaQ6D37NOtw81qGSXjq-PmKhkF_tUZSc2sXBw&e=
>> 
>>  
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________ Id-event mailing list Id-event@ietf.org https://www.ietf.org/mailman/listinfo/id-event
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> 
>> Id-event mailing list
>> 
>> Id-event@ietf.org
>> 
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_id-2Devent&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=na5FVzBTWmanqWNy4DpctyXPpuYqPkAI1aLcLN4KZNA&m=prG0cnnpZdmj3VLjyxQ5dVKC3y6dLhr49mcD1NVR0AQ&s=71lmYUkVWVH_HWBqDK_xmuhgzUM2-OqKqWNJ8D0lmTc&e=
>> 
>>  
>> 
>>  
>> 
>> 
>> 
>> 
>> _______________________________________________ Id-event mailing list Id-event@ietf.org https://www.ietf.org/mailman/listinfo/id-event
>> 
>>  
>> 
>>  
>> 
>> 
>> _______________________________________________
>> Id-event mailing list
>> Id-event@ietf.org
>> https://www.ietf.org/mailman/listinfo/id-event
>> 
>>  
>> 
> 
> _______________________________________________
> Id-event mailing list
> Id-event@ietf.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_id-2Devent&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=na5FVzBTWmanqWNy4DpctyXPpuYqPkAI1aLcLN4KZNA&m=kjkQujhpavR4XGW53BfHZi88NpLjkscgoFw3lzEAbCw&s=1UEK06KT-BL3cIelkPHxclIVVuDqVTOhx68Ucy0HnRo&e=