Rappresentazione di ID name SAML

0

Utilizziamo il nomeId dalla risposta SAML (in formato email) per identificare e autorizzare l'utente in entrata sul nostro sistema. Un altro utente autenticato potrebbe non alterare la risposta SAML dal loro reindirizzamento per avere un ID noto diverso. Autorizzarsi come utente diverso sul nostro sistema?

    
posta Rob Powell 23.02.2018 - 10:50
fonte

1 risposta

3

Generalmente, no. La risposta SAML e / o le asserzioni contengono una firma che diventerebbe non valida se l'XML sottostante (come il valore dell'attributo NameId) fosse alterato. La parte relying verifica questa firma prima di fidarsi del contenuto dell'asserzione.

Ovviamente, il software è software e potrebbero esserci bug a entrambe le estremità, ad es.

  1. Il sistema che genera SAML (Identity Provider) potrebbe presentare un bug che consente loro di specificare nomi utente arbitrari da inserire nelle asserzioni prima che la firma venga aggiunta.
  2. Il sistema di ricezione (Relying Party) potrebbe avere un bug in cui non riesce a verificare la firma. Va notato che la firma può essere trovata in più punti del SAML e c'è una categoria di bug che consente agli attacchi di wrapping di firma XML di sconfiggere la convalida prevista. È non consigliato a "roll your own" per la convalida della firma. Piuttosto, dipende da una delle implementazioni ben collaudate (commerciali o open source) esistenti per la maggior parte delle piattaforme.

Ma questi sarebbero errori piuttosto fondamentali. La specifica SAML è progettata per proteggere esattamente il problema che descrivi. Questo è il motivo per cui è necessario ottenere la chiave pubblica del tuo IDP (tramite metadati o fuori banda) prima di ricevere qualsiasi asserzione SAML. Firmano con la loro chiave privata e tu verifichi con la chiave pubblica associata.

    
risposta data 23.02.2018 - 14:19
fonte

Leggi altre domande sui tag