Scambio sicuro di informazioni tra applicazioni Web mediante reindirizzamento del browser

4

Stiamo implementando un'applicazione web (Stati Uniti) che ha bisogno di scambiare informazioni sensibili con un'applicazione web di terzi (LORO). Il modo in cui vorremmo che funzioni è che un utente finale fa clic su un collegamento ipertestuale, naviga verso l'applicazione web di terzi e magicamente le informazioni sensibili sono disponibili per l'applicazione Web di terzi.

Come ci si aspetterebbe, preferiremmo non inviare tali informazioni sensibili insieme all'URL che l'utente ha fatto clic. Non controlliamo l'applicazione web di terzi, ma possiamo imporre come si integrano con la nostra applicazione web. Vorremmo tenerlo il più semplice possibile da una prospettiva tecnologica (dalla barra bassa all'entrata per così dire). Ovviamente abbiamo il pieno controllo sulla nostra applicazione web.

Stavamo pensando di avere una sorta di usabile una tantum, generato casualmente, limitato nel tempo, token di accesso.

  1. Supponiamo che l'utente finale sia stato identificato / autenticato.
  2. L'utente finale fa clic su un collegamento che ottiene un token di accesso dalla nostra applicazione web. Poiché tutte le informazioni sensibili sono disponibili sul lato server, non è necessario condividerle con il browser dell'utente finale. Archiviamo il token di accesso e la sua data e ora di scadenza insieme alle informazioni sensibili. Le informazioni sensibili non possono essere derivate dal token di accesso stesso. La nostra applicazione web reindirizza il browser dell'utente finale all'applicazione web di terzi con il token di accesso nell'URL di reindirizzamento.
  3. L'applicazione Web di terzi riceve la richiesta in arrivo e utilizza il token di accesso per ottenere le informazioni sensibili inviando una richiesta lato server per le informazioni alla nostra applicazione web. La nostra applicazione web restituisce le informazioni sensibili e ora l'applicazione web di terze parti può utilizzare tali informazioni. Ovviamente gestiremo la rimozione dei token di accesso, la scadenza, ecc.

A parte qualcuno che è in grado di ottenere il token di accesso in transito e che deve proteggere lo spazio di accesso per i token e le comunicazioni lato server tra la nostra applicazione e l'applicazione di terze parti, vede altri buchi di sicurezza? Invece di rolling our c'è qualche ampiamente standard adottato che potremmo usare invece?

    
posta Yves Reynhout 06.06.2013 - 11:09
fonte

1 risposta

6

Questo non è molto diverso da quello che OAuth è progettato per fare, se dovessimo modificare il flusso di lavoro.

Se dovessi implementarlo utilizzando OAuth, la tua applicazione includerebbe un provider OAuth e la terza parte registrerebbe un client OAuth.

L'utente, che è il proprietario della risorsa, quando reindirizzato al sito di terze parti autorizza semplicemente quel sito ad accedere alla sua risorsa (il segreto) che il tuo sito è al sicuro per loro.

Il modello ha il seguente aspetto:

    
risposta data 06.06.2013 - 16:11
fonte

Leggi altre domande sui tag