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.
- 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.
- 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.