Guida alla sicurezza dell'integrazione
Come assicurare la conformità alle norme PCI e delle comunicazioni sicure tra il cliente e il server.
PCI DSS è lo standard di sicurezza globale per tutte le entità che archiviano, elaborano o trasmettono dati di autenticazione sensibili o dei titolari di carta. Lo standard PCI DSS definisce un livello di protezione di base per i consumatori e consente di ridurre le frodi e le violazioni dei dati in tutto l’ecosistema di pagamento. Chiunque sia coinvolto nell’elaborazione, nella trasmissione o nella conservazione dei dati delle carte deve rispettare lo Standard di sicurezza dei dati PCI (PCI DSS).
Convalidare la conformità alle norme PCI
La conformità alle norme PCI è una responsabilità condivisa e si applica sia a Stripe che alla tua attività:
- Stripe è certificata annualmente da un QSA (Qualified Security Assessor) PCI indipendente come fornitore di servizi PCI di livello 1 che soddisfa tutti i requisiti PCI.
- In qualità di attività che accetta pagamenti, devi rispettare le norme PCI e attestare annualmente tale conformità.
Esamina i requisiti della documentazione per la tua attività nella Dashboard e continua a leggere questa guida per scoprire come Stripe può aiutarti a garantire la conformità alle norme PCI.
Utilizzare integrazioni a basso rischio
Alcuni modelli di business richiedono l’inserimento di PAN non tokenizzati in una pagina di pagamento. Se la tua attività gestisce direttamente i dati sensibili delle carte di credito quando accetta pagamenti, potresti dover soddisfare gli oltre 300 controlli di sicurezza previsti dallo standard PCI DSS. Ciò potrebbe richiedere l’acquisto, l’implementazione e la manutenzione di software e hardware di sicurezza dedicati oltre a dover sostenere i costi di revisori esterni per soddisfare i requisiti di valutazione annuali.+
Molti modelli di business non richiedono la gestione di dati sensibili delle carte. In alternativa, puoi utilizzare una delle nostre integrazioni di pagamento a basso rischio per raccogliere e trasmettere in modo sicuro le informazioni di pagamento direttamente a Stripe senza che transitino sui i tuoi server, riducendo così i tuoi obblighi in termini di PCI.
Dati della carta fuori dal campo di applicazione che puoi memorizzare in sicurezza
In risposta a una richiesta di addebito, Stripe restituisce informazioni non sensibili sulla carta, come il tipo di carta, le ultime quattro cifre e la data di scadenza. Queste informazioni non sono soggette alle norme di conformità PCI e puoi quindi memorizzarle nel tuo database. Puoi inoltre memorizzare tutto quello che ti viene restituito dalla nostra API.
Usare TLS e HTTPS
TLS si riferisce al processo di trasmissione sicura dei dati tra il client (l’app o il browser che il cliente sta usando) e il tuo server. Tale processo veniva originariamente eseguito utilizzando il protocollo SSL (Secure Sockets Layer). Questo protocollo, ormai obsoleto e non più sicuro, è stato sostituito dal TLS. Il termine SSL continua tuttavia a essere usato colloquialmente per riferirsi al TLS e alla sua funzione di protezione dei dati trasmessi.
Le pagine di pagamento devono utilizzare una versione recente (TLS 1.2 o superiore) perché consente di ridurre significativamente il rischio di attacchi man-in-the-middle sia per te che per i tuoi clienti. TLS intende realizzare quanto segue:
- Crittografare e verificare l’integrità dei dati relativi al traffico tra il client e il tuo server.
- Verificare che il client stia comunicando con il server corretto. Normalmente, ciò significa che il proprietario del dominio e il proprietario del server sono la stessa entità. Questo aiuta a evitare attacchi man-in-the-middle. Senza questa verifica, non si può garantire che il traffico venga crittografato verso il destinatario corretto.
L’utilizzo di TLS richiede un certificato digitale, ovvero un file emesso da un’autorità di certificazione (CA, Certification Authority*). Una volta installato, il certificato assicura al client che sta realmente comunicando con il server desiderato e non con un impostore. Fatti rilasciare il certificato digitale da un fornitore di certificati serio, come:
Puoi eseguire il test della tua integrazione senza usare HTTPS e abilitarlo quando è tutto pronto per accettare addebiti in modalità live. Comunque, tutte le interazioni tra il tuo server e Stripe devono usare HTTPS (ad esempio quando usi le nostre librerie).
Configurare TLS
Per configurare TLS:
- Acquista un certificato da un fornitore appropriato.
- Configura il server per l’utilizzo del certificato. Questo passaggio è complesso, quindi segui la guida all’installazione del provider che utilizzi.
Dato che TLS è una complessa suite di strumenti crittografici, è facile trascurare qualche dettaglio. Per accertarsi che la configurazione sia stata completata in modo sicuro, consigliamo di utilizzare SSL Server Test di Qualys SSL Labs.
Considerazioni sulla sicurezza
Includere JavaScript da altri siti può essere un rischio per la sicurezza perché la tua sicurezza diventa dipendente dalla loro. Se quei siti dovessero essere compromessi, un utente malintenzionato potrebbe riuscire a eseguire codice arbitrario sulla tua pagina. In pratica, molti siti utilizzano JavaScript per servizi come Google Analytics, anche su pagine sicure. Tuttavia, ti consigliamo di ridurre al minimo questo rischio.
Se usi i webhook, utilizza TLS per l’endpoint, in modo da evitare che il traffico sia intercettato e le notifiche alterate (le informazioni sensibili non sono mai incluse in un evento webhook).
Quando si parla di sicurezza, non bisogna limitarsi alla conformità con gli standard di sicurezza dei dati. A tal fine, alcune risorse utili sono:
Criteri di sicurezza del contenuto
Se hai implementato dei Criteri di sicurezza del contenuto, l’insieme completo delle direttive necessarie per Checkout, per i componenti incorporati di Connect e per Stripe.js comprende:
Assistenza per l’isolamento multiorigine
Al momento non supportiamo i siti con isolamento multiorigine.
Tuttavia, questa funzionalità richiede il supporto di tutte le dipendenze, e alcune dipendenze chiave per le nostre offerte di pagamento non sono ancora compatibili.