Sono un progettista di software (ex IT SysAdmin) che cerca di comprendere alcuni requisiti di autenticazione in un documento di specifica API.
Diciamo che il dipartimento governativo ( abc.gov
) ha creato un nuovo portale web online per ricevere "rapporti incidenti" elettronicamente tramite un'API JSON (Swagger) RESTful protetta con Mutual SSL (TLS).
Diversi fornitori di servizi (chiameremo un xyz.org
) chiedono ai loro fornitori di software di fornire un sistema aggiornato in grado di connettersi all'API abc.gov
.
Il nostro software è basato su cloud (ASP.NET, IIS8, diciamo jkl.net
). Varie organizzazioni si collegano al nostro sistema web (username + password), quindi il nostro software dovrebbe connettersi a abc.gov
e impersonare (per mancanza di una parola migliore) xyz.org
.
abc.gov
fornisce le seguenti informazioni insieme alle specifiche API:
- I certificati client dovranno essere emessi da un'autorità di certificazione attendibile
- I certificati client non possono essere condivisi tra diverse organizzazioni.
- Questo certificato client deve essere condiviso solo con la chiave pubblica del certificato.
- Se lo stesso fornitore inoltra gli incidenti per conto di più fornitori di servizi, il fornitore deve utilizzare un certificato client diverso per ciascun fornitore di servizi.
- Quando i certificati client scadono, i nuovi certificati client dovranno essere emessi dal fornitore di servizi e forniti a
abc.gov
, senza le chiavi private.
Dalle ricerche che ho fatto fino ad ora, so grosso modo che possiamo:
- archivia più certificati,
- assegna il nome del certificato a un'organizzazione nel nostro database,
- e quindi selezionare quello giusto da presentare quando si stabilisce una connessione. ( link )
Domande
- Ciò di cui non sono sicuro, è da dove provengono questi certificati client?
- Che tipo di certificato è richiesto e come funzionerebbe, visto che i nomi di dominio non corrispondono? (cioè
xyz.org
richiede un nuovo certificato, lo dà ajkl.net
, per autenticare conabc.gov
). - Il personale IT dei fornitori di servizi potrebbe concludere che questa pratica non è sicura?
Grazie in anticipo, non vedo l'ora di saperne di più.