Panoramica: Sicurezza di una chat web
Se abiliti la sicurezza, puoi configurare la chat web per autenticare gli utenti, proteggere i dati privati e limitare l'accesso al tuo assistente.
Tutti i messaggi inviati tra la chat web e l'assistente vengono crittografati utilizzando TLS (Transport Layer Security), che protegge i dati sensibili durante il viaggio attraverso la rete. Tuttavia, ci sono ancora potenziali esposizioni di sicurezza contro le quali potrebbe essere necessario proteggersi. Abilitando la funzione di sicurezza della chat Web e aggiornando il codice del sito Web in modo appropriato, è possibile aggiungere le seguenti protezioni:
-
Puoi impedire ai siti web non autorizzati di inviare messaggi al tuo assistente, anche se copiano il tuo script di incorporazione della chat web. (Gli identificativi univoci nello script di integrazione, come l'ID integrazione e l'ID istanza del servizio, sono visibili a chiunque abbia accesso al tuo sito Web.)
-
Puoi autenticare in modo sicuro i clienti per controllare l'accesso alle funzionalità del tuo assistente che richiedono l'autorizzazione.
-
Puoi crittografare i dati sensibili in modo che i clienti non possano visualizzarli, consentendo comunque al tuo assistente di accedervi.
La sicurezza della chat web utilizza i JWT (JSON Web Tokens), che sono oggetti di dati inviati con ogni messaggio dal tuo sito web al servizio watsonx Assistant. Poiché un JWT è firmato digitalmente utilizzando una chiave di crittografia privata che solo l'utente ha, garantisce che ogni messaggio abbia origine con il tuo sito. Il payload JWT può essere utilizzato anche per autenticare in modo sicuro gli utenti e trasportare dati privati codificati.
Per informazioni dettagliate sui JWT (JSON web token), consultare la specifica JWT).
L'abilitazione della sicurezza della chat Web implica l'esecuzione delle seguenti personalizzazioni:
-
Implementazione del codice del server delle applicazioni Web che genera un JWT firmato con la tua chiave di cifratura privata
-
Personalizzazione della configurazione della chat web per fornire il JWT generato
-
Abilitazione della sicurezza nelle impostazioni di sicurezza della chat web
Dopo aver abilitato la sicurezza della chat web, tutti i messaggi ricevuti dall'integrazione della chat web non accompagnati da un JWT correttamente firmato verranno rifiutati.
Per informazioni dettagliate su come completare questi passaggi, vedi Abilitazione della sicurezza della chat web.
Con la sicurezza della chat web abilitata, è possibile implementare facoltativamente ulteriori misure di sicurezza in base alle necessità:
-
Puoi utilizzare i JWT per autenticare in modo sicuro i clienti in base all'ID utente, il che rende possibile per il tuo assistente di controllare l'accesso alle funzioni che richiedono l'autorizzazione.
Senza la sicurezza della chat web abilitata, ogni cliente che utilizza il tuo assistente viene identificato solo dalla proprietà
user_idche fa parte della richiesta del messaggio. Ciò è sufficiente per identificare utenti univoci a scopo di fatturazione, ma non è sicuro, perché potrebbe essere modificato.Codificando le informazioni di identità utente come parte del payload JWT, è possibile autenticare gli utenti in modo sicuro. Il JWT è firmato e non può essere modificato dall'utente.
Per ulteriori informazioni sull'utilizzo di JWT per l'autenticazione sicura, consultare Autenticazione degli utenti nella chat web.
-
È possibile impedire l'accesso non autorizzato alle informazioni sensibili del cliente codificando e includendolo come parte del payload dell'utente JWT.
Il payload utente fa parte del JWT che puoi utilizzare per inviare le informazioni a cui vuoi che il tuo assistente abbia accesso, ma non vuoi che i clienti lo vedano. Queste informazioni vengono memorizzate solo in variabili private, che non possono essere visualizzate dai clienti e non vengono mai incluse nei log.
Per ulteriori informazioni sull'utilizzo del payload utente per proteggere le informazioni sensibili, vedi Codifica dei dati sensibili nella chat web.
Esercitazione: per un'esercitazione per sviluppatori che mostra un esempio di utilizzo della sicurezza della chat web per autenticare utenti e proteggere dati sensibili,
consultare Esercitazione: Autenticazione di un utente nel mezzo di una sessione.