Comunica tra due siti sia con SSL

3

Ora ho due siti Web - sito A e B, entrambi con certificato SSL e hanno gli stessi identici utenti. Quindi, quando un utente accede al sito A e fa clic sul collegamento al sito B, desidero farlo accedere automaticamente al sito B.

Sarà facile se uso solo POST e GET regolari per passare il sito del modulo ID utente A al sito B (più specificamente sto usando PHP POST e GET). Ma mi chiedo se verrà eseguito automaticamente protetto da SSL o devo fare qualcosa di più complicato per garantire la sicurezza?

    
posta John 02.10.2013 - 21:13
fonte

1 risposta

1

Un utente è "connesso" al sito A perché il server A considera le richieste da quell'utente "collegate oltre ogni ragionevole dubbio" con l'identità dell'utente. Ci sono diversi metodi con cui un tale risultato può essere ottenuto; ma di solito, è stato riprodotto un protocollo di autenticazione (l'utente mostra la sua password) e quindi viene mantenuta una sorta di collegamento, così che per ogni richiesta successiva, il server sa che è "dallo stesso ragazzo di prima".

Esistono diversi metodi per mantenere questo collegamento. I principali sono i seguenti:

  • Ogni richiesta proveniente dal browser dell'utente è GET o POST che include come parametro aggiuntivo (nascosto) qualche token di autenticazione. Il token è stato creato dal server quando è stato eseguito il protocollo di autenticazione e ogni pagina inviata dal server lo contiene.

  • Un token di autenticazione è stato inviato dal server al client, per essere rispedito al server ad ogni richiesta, come biscotto .

  • Il server tiene traccia del client attraverso la sessione SSL (quando il client si riconnette al server, sia il client che il server accettano di riutilizzare gli elementi crittografici da una precedente stretta di mano, perché entrambi ricordano i tasti corrispondenti).

Il terzo metodo è specifico per SSL; altrimenti, il fatto che tu usi HTTP o HTTPS è irrilevante (eccetto che con un semplice HTTP, il risultato non sarebbe sicuro , ma questo è un altro dibattito).

I cookie HTTP sono allegati a un nome del sito . Quindi, se l'autenticazione del sito A funziona in questo modo, il browser non invierà il cookie al sito B e l'autenticazione non verrà automaticamente trasportata dal sito A al sito B.

Il primo metodo, tuttavia, potrebbe funzionare. È "sufficiente" che i token di autenticazione creati dal sito A vengano riconosciuti dal sito B. Ma, naturalmente, non si vuole che altre persone siano in grado di produrre "token validi" in modo univoco. Quindi questo implica una qualche forma di comunicazione tra i server A e B (A che dice a B: "hey, ho appena creato un questo token che autentica quell'utente ), o crittografia ( i token creati da A devono quindi contenere il nome dell'utente e qualche forma di firma o MAC dal server A, verificabile dal server B) .

    
risposta data 02.10.2013 - 21:51
fonte

Leggi altre domande sui tag