Che cosa significa "collisione nome reclamo" nel contesto di JWT?

3

Recentemente, ho letto il JWT " RFC e sto avendo qualche difficoltà a capire il significato di < em> collisione riguardante i nomi dei reclami .

I nomi dei reclami registrati sono più o meno chiari. Se ho capito bene, questi sono indirizzati a fornire specifiche JWT con una serie di richieste fuori dalla scatola. 1

Tuttavia, quando si tratta di pubblico e private , non la vedo così chiaramente. La mia domanda riguarda la collisione di nomi di rivendicazioni pubbliche e private.

Pubblica

Claim Names can be defined at will by those using JWTs. However, in
order to prevent collisions, any new Claim Name should either be
registered in the IANA "JSON Web Token Claims" registry established
by Section 10.1 or be a Public Name: a value that contains a
Collision-Resistant Name
. In each case, the definer of the name or
value needs to take reasonable precautions to make sure they are in
control of the part of the namespace they use to define the Claim
Name.

Privato

Private Claim Names are subject to collision and should be used with caution.

Che cosa significa collisione in questo contesto? In che modo i nomi dei reclami possono scontrarsi quando esiste un solo provider di autenticazione e autorizzazione? Questi provider non sono a conoscenza delle affermazioni che popolano e verificano?

Potrebbe essere possibile che un fornitore di autenticazione secondario possa modificare il payload JWT in modo che possa sovrascrivere alcune di queste affermazioni?

Probabilmente, mi manca qualcosa di importante per quanto riguarda l'autenticazione e il flusso di lavoro dell'autorizzazione, ma non so cosa. O forse non ho la definizione di collisione a causa delle mie limitate competenze in inglese.

1: Ho verificato un paio di API JWT in Java e ho confermato che queste affermazioni possono essere informate tramite metodi / funzioni dedicati (a differenza delle affermazioni pubbliche o private che sono informate come un valore-chiave tupla ).

    
posta Laiv 08.09.2017 - 09:41
fonte

1 risposta

0

How can claim names collide when there is only one authentication and authorization provider?

Ecco i nomi registrati :

ISS

sub

aud

exp

NBF

iat

jti

nome

given_name

FAMILY_NAME

middle_name

soprannome

preferred_username

profilo

foto

sito web

e-mail

email_verified

genere

data di nascita

zoneinfo

locale

phone_number

phone_number_verified

Indirizzo

updated_at

azp

nonce

auth_time

at_hash

c_hash

acr

amr

sub_jwk

CNF

sip_from_tag

sip_date

sip_callid

sip_cseq_num

sip_via_branch

orig

dest

mky

eventi

punta

TXN

rph

sid

Il provider potrebbe aver bisogno di un altro nome e avere due reparti che stanno creando JWT usando il nome del contatto principale:

{
"sub": "1234567890",
"department_lead": "Mickey Mouse"
} 

{
"sub": "0987654321",
"department_lead": "Donald Duck"
} 

Are not these providers aware of the claims they populate and verify?

La legge di Conway direbbe altrimenti basato su aneddotico prova

Riferimenti

risposta data 18.08.2018 - 16:11
fonte

Leggi altre domande sui tag