I can't see how you think PRN is way under defined when SUB is not

From: Nat Sakimura [mailto:[email protected]]
Sent: Wednesday, December 19, 2012 11:43 PM
To: Mike Jones
Cc: Anthony Nadalin; John Bradley; oauth
Subject: Re: [OAUTH-WG] "cid" claim in JWT

As "prn" is way under-defined [1], there can be two interpretations for "prn".

Considering that "subject" is not a defined term (= dictionary term), and 
interpreting a boarding pass as:

"Japan Airlines authorizes JL002 to accept passenger John Smith at the Gate B22 
provided safety and other requirements are met between the boarding time 
(14:30) and 10 minutes before the departure time (15:10)"

then:

iss: Japan Airlines
prn: JL002 (the flight number)
cid: John Smith (the passenger, who uses the boarding pass)
aud: Gate B22 (Gate assigned to JL002)
nbf: 2012-12-31T14:30+9
exp: 2012-12-31T15:00+9

Alternatively, if we interpret the boarding pass as:

"Japan Airlines authorizes John Smith to board JL002 at the Gate B22 provided 
safety and other requirements are met the boarding time (14:30) and 10 minutes 
before the departure time (15:10)""

iss: Japan Airlines
prn: John Smith
cid: John Smith
aud: Gate B22 (Gate assigned to JL002)
nbf: 2012-12-31T14:30+9
exp: 2012-12-31T15:00+9

This interpretation has lost some information while encoding into JWT, so prior 
one may be more appropriate.

Either way, as "prn" lacks exact semantics, what goes into it is subject to 
interpretation while "cid" is very clearly defined.

Let me give another example.

An entitlement that says: "John Smith is allowed to activate the system when 
Mary White presents this token (#1234) to the System A" that is issued by the 
"ABC Corp"

iss: ABC Corp.
jti: #1234
prn: John Smith
cid: Mary White
aud: System A

Note: this is not delegation nor on-behalf-of.

More webby example: "John Smith authorizes photo print service A to access 
photo archive service B for John Smith's photo #123 until 2013-04-01 for the 
sum of $100."

iss: John Smith's Authorization Server
prn: John Smith's photo #123
cid: Photo print service A
aud: photo archive service B
exp: 2013-04-01

Nat

[1]  4.1.6 "prn" defines its value as what identifies:

"the subject of the JWT"

This can be expanded by replacing "JWT" with its definition as

"the subject of the string consisting of multiple parts, the first being the 
Encoded JWT Header, plus additional parts depending upon the contents of the 
header, with the parts being separated by period ('.') characters, and each 
part containing base64url encoded content."

Further, expanding "JWT Header", it will become

"the subject of the string consisting of multiple parts, the first being the 
string representing a JSON object that describes the cryptographic operations 
applied to the string, plus additional parts depending upon the contents of the 
header, with the parts being separated by period ('.') characters, and each 
part containing base64url encoded content."

To me, it is not clear what it means.


On Thu, Dec 20, 2012 at 3:07 PM, Mike Jones 
<[email protected]<mailto:[email protected]>> wrote:
What would the iss, prn, aud, and cid values represent in the boarding pass 
example?

-- Mike

From: Nat Sakimura
Sent: December 19, 2012 9:32 PM
To: Mike Jones
CC: Anthony Nadalin, John Bradley, oauth
Subject: Re: [OAUTH-WG] "cid" claim in JWT

I obviously disagree - if I did agree, I did not send it to the list to start 
with :-)

"cid" (or in my original proposal, "reg") has a very clear and established 
meaning.
The parallel examples abounds in our daily life.

It has very little to do with On-behalf-of.
It is not a delegation statement.

"cid" is there to indicate to whom it was issued to.
The entity who was issued this "token" is eligible to use it at the
entities indicated by "aud".

Example in our real life are like:

- Airline boarding pass
- Registered instruments (bond / share)
- Monthly train pass
- Disneyland annual passport
 etc. etc.

Please do not mix it up with a delegation statement like on-behalf-of,
which is much less well defined.

Nat


On Thu, Dec 20, 2012 at 12:07 PM, Mike Jones 
<[email protected]<mailto:[email protected]>> wrote:
I'm with Tony on this.  This seems premature to put into the JWT standard.  All 
the other JWT claims have well established meanings and history behind them.  
These don't.

If the goal is to allow OpenID Connect implementations to not reject tokens 
using "cid", there are lots of other ways to accomplish this that I think we 
should consider first.

-- Mike


From: John Bradley
Sent: December 19, 2012 6:25 PM
To: Anthony Nadalin
CC: oauth
Subject: Re: [OAUTH-WG] "cid" claim in JWT

I agree, audience who requested it and and who it is requested for are all 
interrelated.

However we do need to set down some standard way of expressing it as people are 
starting to make stuff up on their own that will impact interoperability.

If Google starts thawing in cid and clients don't know about it they must 
reject the JWT etc.

John

On 2012-12-19, at 9:40 PM, Anthony Nadalin 
<[email protected]<mailto:[email protected]>> wrote:

It seems premature and we should consider this in the bigger context of the "on 
behalf of"/delegation work that has been started

From: [email protected]<mailto:[email protected]> 
[mailto:oauth-<mailto:oauth->[email protected]<mailto:[email protected]>] On 
Behalf Of Nat Sakimura
Sent: Tuesday, December 18, 2012 6:22 PM
To: oauth
Subject: [OAUTH-WG] "cid" claim in JWT

In OpenID Connect WG, we have been talking this for sometime.
"cid" claim identifies the entity that the JWT was issued to as a 
rightful/licensed user.
Google already uses this in their implementation of id_token of OIDC.

Here is the text proposal. It introduces two new standard claims: "cid" and 
"cit".

It would be very useful in creating a HoK drafts as well.

Cheers,

Nat




4.1.9. "cid" Client Identification Data Claim



The "cid" (client identification data) claim allows the receiver

of the JWT to identify the entity that the JWT is

intended to be used by. The audience of the JWT MUST be

able to identify the client with the value of this claim.



The "cid" value is a case sensitive string containing a StringOrURI value.

This claim is OPTIONAL. If the entity processing the claim does not

identify the user of the JWT with the identifier in the "cid" claim value,

then the JWT MUST be rejected. The interpretation of the registered to

value is generally application specific.



A typical example of a registered to claim includes following:

* client_id that the audience can use to authenticate and

  identify the client.

* A base64url encoded JWK.

* A URL that points to the key material that the audience can use to

  authenticate the user of the JWT.



4.1.10 "cit" (Client Identification Data claim type)



The "cit" (Client Identification Data claim type) identifies the type

of the "cid" claim. It is a StringOrURI value. The defined values

are the following:



"client_id" The value of the "cid" claim is the Client ID of the client

that the audience of the JWT is able to use to authenticate the client.



"jwk" The value of the "cid" claim is a base64url encoded JWK of

the registered client.



"jku" The value of the "cid" claim is the "jku" defined in 4.1.2 of

JSON web signature [JWS].



"x5u" The value of the "cid" claim is the URL that points to the public

key certificate of the registered client. The format of the content

that x5u points to is described in section 4.1.4 of the JSON Web Signature.

--
Nat Sakimura (=nat)
Chairman, OpenID Foundation
http://nat.sakimura.org/
@_nat_en

_______________________________________________
OAuth mailing list
[email protected]<mailto:[email protected]>
https://www.ietf.org/mailman/listinfo/oauth


_______________________________________________
OAuth mailing list
[email protected]<mailto:[email protected]>
https://www.ietf.org/mailman/listinfo/oauth



--
Nat Sakimura (=nat)
Chairman, OpenID Foundation
http://nat.sakimura.org/
@_nat_en



--
Nat Sakimura (=nat)
Chairman, OpenID Foundation
http://nat.sakimura.org/
@_nat_en
_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to