Entity Statement¶
Il componente basilare per costruire una Catena di Fiducia (Trust Chain) è l'Entity Statement (ES), un JWT firmato che contiene la chiavi pubbliche dell' Entità discendente (subject) e ulteriori dati usati per controllare il processo di risoluzione della Trust Chain.
Una entità pubblica un ES relativo ad un suo discendente presso il proprio Fetch Endpoint. L'entità superiore PUÒ definire le policy sui metadata per un soggetto discendente e pubblicare i TM da lei emessi per questo.
Firma di Entity Statement¶
Si applicano le medesime considerazioni fatte per gli EC e riportate nella sezione Firma della Entity Configuration.
Entity Statement¶
Gli ES emessi dal TA o da un suo Intermediario per i propri diretti discendenti, DEVONO contenere i seguenti attributi:
Claim | Descrizione | Supportato da |
---|---|---|
iss | Si rimanda alla specifica OIDC-FED Sezione 3.1 per i dettagli. | |
sub | Si rimanda alla specifica OIDC-FED Sezione 3.1 per i dettagli. | |
iat | Si rimanda alla specifica OIDC-FED Sezione 3.1 per i dettagli. | |
exp | Si rimanda alla specifica OIDC-FED Sezione 3.1 per i dettagli. | |
jwks | JWKS di Federazione dell'entità sub. Si rimanda alla specifica OIDC-FED Sezione 3.1 per i dettagli. | |
metadata_policy | JSON Object che descrive un criterio di Metadata. Ogni chiave dell'oggetto JSON rappresenta un identificatore del tipo di Metadata e ogni valore DEVE essere un oggetto JSON che rappresenta la politica dei Metadata in base allo schema di quel tipo di Metadata. Si rimanda alla specifica OIDC-FED Section 5.1 per i dettagli implementativi. | |
trust_marks | JSON Array contenente i Trust Mark emessi da se stesso per il soggetto discendente. | |
constraints | PUÒ contenere il claim allowed_leaf_entity_types per restringere i tipi di Entità riconoscobili per il suo discendente (esempio: solo RP). |
Metadata Policy¶
Trust Anchors e Intermediari (SA) DEVONO pubblicare una policy relativa ai rispettivi discendenti nell'Entity Statement ad essi riferito. La Metadata Policy si DEVE applicare a cascata su tutti i discendenti.
Metadata Policy di un TA per un RP¶
Di seguito vengono riportati i claim che DEVONO essere considerati nel parametro metadata di tipo openid_realying_party all'interno della policy che il TA stabilisce per un RP suo discendente diretto.
Claim | Operazioni / Valori | Supportato da |
---|---|---|
jwks | Operazioni: value Valori: DEVE contenere i JWKS del RP relativi alle operazioni di Core essential = true |
|
grant_types | Operazioni: subset_of, super_set Valori: DEVE contenere authorization_code e refresh_token essential = true |
|
id_token_signed_response_alg | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
id_token_encrypted_response_alg | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = false |
|
id_token_encrypted_response_enc | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = false |
|
userinfo_signed_response_alg | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
userinfo_encrypted_response_alg | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
userinfo_encrypted_response_enc | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
token_endpoint_auth_method | Operazioni: one_of Valori: DEVE essere private_key_jwt essential = true |
|
client_registration_types | Operazioni: subset_of Valori: DEVE essere automatic essential = true |
|
redirect_uris | Operazioni: essential = true |
|
client_id | Operazioni: essential = true |
|
response_types | Operazioni: value Valori: DEVE essere code essential = true |
Metadata Policy di un TA per un SA¶
Di seguito vengono riportati i claim che DEVONO essere considerati nel parametro metadata di tipo openid_relying_party all'interno della policy che il TA stabilisce per un SA. Questa policy DEVE essere applicata a cascata ai metadata dei RP discendenti diretti (aggregati) del SA.
Claim | Operazioni / Valori | Supportato da |
---|---|---|
grant_types | Operazioni: subset_of, superset_of Valori: DEVE contenere authorization_code e refresh_token essential = true |
|
id_token_signed_response_alg | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
id_token_encrypted_response_alg | Operazioni: one_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = false |
|
id_token_encrypted_response_enc | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = false |
|
userinfo_signed_response_alg | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
userinfo_encrypted_response_alg | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
userinfo_encrypted_response_enc | Operazioni: one_of Valori: DEVE contenere uno degli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
token_endpoint_auth_method | Operazioni: one_of Valori: DEVE essere private_key_jwt essential = true |
|
client_registration_types | Operazioni: subset_of Valori: DEVE essere automatic essential = true |
|
redirect_uris | Operazioni: essential = true |
|
client_id | Operazioni: essential = true |
|
response_types | Operazioni: value Valori: DEVE essere code essential = true |
Metadata Policy di un SA per una RP¶
Di seguito vengono riportati i claim che DEVONO essere considerati nel parametro metadata di tipo openid_relying_party all'interno della policy che il SA stabilisce per un RP suo discendente diretto (Aggregato).
Claim | Operazioni / Valori | Supportato da |
---|---|---|
jwks | Operazioni: value Valori: DEVE contenere i JWKS del RP relativi alle operazioni di Core essential = true |
Metadata Policy di un TA per un OP¶
Di seguito vengono riportati i claim che DEVONO essere considerati nel parametro metadata di tipo openid_provider all'interno della policy che il TA stabilisce per un RP suo discendente diretto.
Claim | Operazioni / Valori | Supportato da |
---|---|---|
jwks | Operazioni: value Valori: DEVE contenere i JWKS del OP relativi alle operazioni di Core essential = true |
|
revocation_endpoint_auth_methods_supported | Operazioni: subset_of Valori: DEVE essere private_key_jwt essential = true |
|
code_challenge_methods_supported | Operazioni: subset_of Valori: DEVE essere S256 essential = true |
|
scopes_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere openid, offline_access. Per CIE id PUÒ contenere anche profile, email. essential = true |
|
response_types_supported | Operazioni: subset_of Valori: DEVE essere code. essential = true |
|
response_modes_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere form_post, query. essential = true |
|
grant_types_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere refresh_token, authorization_code. essential = true |
|
acr_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere https://www.spid.gov.it/SpidL1, https://www.spid.gov.it/SpidL2, https://www.spid.gov.it/SpidL3. essential = true |
|
subject_types_supported | Operazioni: subset_of Valori: DEVE essere pairwise. essential = true |
|
id_token_signing_alg_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
id_token_encryption_alg_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
id_token_encryption_enc_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
userinfo_signing_alg_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
userinfo_encryption_alg_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
userinfo_encryption_enc_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
token_endpoint_auth_methods_supported | Operazioni: subset_of Valori: DEVE essere private_key_jwt essential = true |
|
token_endpoint_auth_signing_alg_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
claims_parameter_supported | Operazioni: value Valori: DEVE essere true essential = true |
|
request_parameter_supported | Operazioni: value Valori: DEVE essere true essential = true |
|
authorization_response_iss_parameter_supported | Operazioni: value Valori: DEVE essere true essential = true |
|
client_registration_types_supported | Operazioni: subset_of Valori: DEVE essere automatic essential = true |
|
request_authentication_methods_supported | Operazioni: value Valori: DEVE essere request_object essential = true |
|
request_authentication_signing_alg_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
request_object_signing_alg_values_supported | Operazioni: subset_of, superset_of Valori: DEVE contenere gli algoritmi definiti nella Sezione Algoritmi Crittografici essential = true |
|
issuer | Operazioni: essential = true |
|
authorization_endpoint | Operazioni: essential = true |
|
token_endpoint | Operazioni: essential = true |
|
userinfo_endpoint | Operazioni: essential = true |
|
introspection_endpoint | Operazioni: essential = true |
|
revocation_endpoint | Operazioni: essential = true |
Vedi anche