Questo è più o meno il contrario di ciò che viene richiesto in questa domanda .
Recentemente ho aggiunto SSO con SAML a un'applicazione Web SaaS, rendendo tale applicazione il Service Provider (SP). Ciò viene fatto in modo che i clienti (aziende) possano utilizzare il proprio Identity Provider (IdP) in modo tale che gli utenti (i dipendenti delle aziende) non debbano conservare credenziali nella nostra applicazione Web, ma possono semplicemente continuare a utilizzare i loro account locali esistenti.
In SAML, l'SP invia una richiesta di autenticazione all'IdP che risponde con un'asserzione che fornisce le informazioni di autenticazione sull'utente che desidera accedere. Affinché entrambe le parti (SP e IdP) siano sicure che richiesta e risposta non sono fabbricati da un intercettatore, sono firmati con una chiave privata. Il certificato utilizzato per verificare le firme delle richieste e delle risposte è stato precedentemente scambiato come parte dello scambio di metadati SAML che viene eseguito manualmente dagli amministratori delle parti coinvolte.
La domanda è: Ci sono significativi svantaggi per la sicurezza di questo sistema se uso la stessa coppia di chiavi pubblica / privata per tutti i clienti o è consigliabile passare attraverso i cerchi per creare una coppia di chiavi separata per ogni cliente individuale?
Sto chiedendo esplicitamente la sicurezza di questo problema. So che se devo scambiare la chiave a causa di un problema di sicurezza, tutti i clienti dovranno aggiornare il proprio IdP per incorporare il nuovo certificato. Non ho ancora deciso, ma mi spingo a pensare che questo sia un rischio accettabile. Quelle chiavi sarebbero memorizzate l'una accanto all'altra; una violazione di qualsiasi descrizione richiederebbe comunque nuove chiavi per tutti i clienti.