Subject: Re: [Id-event] Subject Principals and Subject Principal Administrative Groupings

From: Mike Jones <[email-masked]>
Date: Mon, 13 Jul 2020 18:35:31 +0000

Atul – what you wrote below says *why* you need these things but no *what* they are.  Your other individual notes were similar.  Could you please reply-all to each of your new threads adding the specifics of what is being proposed, describing both the syntax and semantics?

Yes, people could read your PR, but realistically, most people won’t.  And the PR covers a bunch of different topics, so it wouldn’t be clear to many readers which parts are relevant and which aren’t.

                                                       Thanks,
                                                       -- Mike

From: Id-event <[email-masked]> On Behalf Of Atul Tulshibagwale
Sent: Monday, July 13, 2020 9:01 AM
To: [email-masked]
Subject: [Id-event] Subject Principals and Subject Principal Administrative Groupings

Hi all,
Here's a quick background for the proposal<https://github.com/richanna/secevent/pull/1> for including Subject Principals and Subject Principal Administrative Groupings or SPAGs in the Subject Identifiers spec.

Use of Subject Identifiers in Shared Signals and Events:
The Shared Signals and Events (SSE) profile of SETs specifies that transmitters and receivers send and receive SETs that contain Subject Identifiers. These subject identifiers have the format that is now being discussed as a separate specification here.

Transmitters and Receivers in SSE
The SSE profile defines transmitters and receivers as hosts that manage streams between peers. The receiver authenticates to the transmitter using OAuth, requiring the use of a secret per receiver. In a multi-tenanted host that handles hundreds of thousands or millions of independent tenants, maintaining such a secret per instance of a receiver is cumbersome. Furthermore, since a transmitter and a receiver has to maintain a stream per pair, creating such per-tenant streams can add significant implementation overhead.

SPAGs
Therefore, we need a notion of a grouping of subjects within the same transmitter and receiver to distinguish between various administrative groupings that exist within a host. These groupings could include tenants, organizational units or user groups. This grouping is captured in the notion of a SPAG. The uniqueness of a user identifier (subject identifier) may also be limited to a SPAG. For example, if a random unique ID represents a user, then that ID may be unique within a SPAG and not universally across a transmitter or receiver. This is because each transmitter and receiver may have multiple connections to other transmitters and receivers, and ensuring uniqueness across all such peers is probably an intractable problem.

Subject Principals
While what is represented within a subject identifier may be only an aspect of the management entity, the administrative grouping is about the management entity itself. This could be the user, device or other principal that the subject identifier represents. Therefore, an abstract notion of a Subject Principal is also required in order specify what the grouping within a SPAG is about.

The above is captured in the "Subject Principal" and "SPAG" sections within the proposed PR<https://github.com/richanna/secevent/pull/1>.

Thanks,
Atul