Leitfaden zur Integration
Sorgen Sie für PCI-Konformität und eine sichere Kommunikation zwischen Kund/innen und Ihrem Server.
Der Payment Card Industry Data Security Standard (PCI DSS) ist der globale Sicherheitsstandard für alle Unternehmen, die Karteninhaber- oder sensible Authentifizierungsdaten speichern, verarbeiten oder übertragen. Der PCI DSS legt ein Mindestmaß an Schutz für Verbraucher fest und trägt dazu bei, Betrug und Datenverstöße im gesamten Zahlungsökosystem zu reduzieren. Alle, die mit der Verarbeitung, Übertragung oder Speicherung von Kartendaten befasst sind, müssen den PCI DSS einhalten.
Validierung Ihrer PCI-Konformität
Die PCI-Konformität stellt eine gemeinsame Verantwortung dar und gilt sowohl für Stripe als auch für Ihr Unternehmen.
- Stripe wird jährlich von einem unabhängigen PCI Qualified Security Assessor (QSA) als PCI Level 1-Dienstleister zertifiziert, der alle PCI-Anforderungen erfüllt.
- Als Unternehmen, das Zahlungen annimmt, müssen Sie dies auf eine PCI-konforme Art und Weise tun und diese Konformität jährlich bescheinigen.
Überprüfen Sie die Dokumentationsanforderungen für Ihr Unternehmen in Ihrem Dashboard und informieren Sie sich in diesem Leitfaden auch darüber, wie Stripe Sie dabei unterstützen kann, PCI-Konformität zu erlangen.
Integrationen mit geringem Risiko verwenden
Einige Geschäftsmodelle erfordern die Eingabe von nicht tokenisierten PANs auf einer Zahlungsseite. Wenn Ihr Unternehmen bei der Annahme von Zahlungen direkt mit sensiblen Kreditkartendaten umgeht, müssen Sie möglicherweise mehr als 300 Sicherheitskontrollen gemäß PCI DSS erfüllen. Dies kann den Kauf, die Implementierung und die Wartung spezieller Sicherheitssoftware und -hardware sowie die Beauftragung externer Prüfer/innen zur Unterstützung Ihrer jährlichen Bewertungsanforderungen erforderlich machen.
Viele Geschäftsmodelle müssen keine sensiblen Kartendaten verarbeiten. Sie können stattdessen eine unserer risikoarmen Zahlungsintegrationen verwenden, um Zahlungsinformationen sicher zu erfassen und direkt an Stripe zu übermitteln, ohne dass sie Ihre Server durchlaufen, wodurch sich Ihre PCI-Verpflichtungen verringern.
Außerhalb des Geltungsbereichs liegende Kartendaten, die Sie sicher speichern können
Stripe gibt nicht vertrauliche Kartendaten in der Antwort auf eine Zahlungsanfrage zurück. Dazu gehören der Kartentyp, die letzten vier Ziffern der Karte und das Ablaufdatum. Diese Informationen unterliegen nicht der PCI-Konformität, sodass Sie jede dieser Eigenschaften in Ihrer Datenbank speichern können. Zusätzlich können Sie alle Daten speichern, die von unserer API zurückgegeben werden.
Verwendung von TLS und HTTPS
TLS bezieht sich auf das Verfahren der sicheren Datenübertragung zwischen dem Client – also der auf Kundenseite genutzten App bzw. dem Browser – und Ihrem Server. Ursprünglich wurde hierfür das Secure Sockets Layer-Protokoll (SSL-Protokoll) eingesetzte, dieses ist aber inzwischen veraltet und nicht mehr sicher. SSL wurde daher durch TLS ersetzt. Der Begriff SSL wird jedoch weiterhin umgangssprachlich verwendet, wenn es um TLS und dessen Funktion zum Schutz der übertragenen Daten geht.
Zahlungsseiten müssen eine aktuelle Version (TLS 1.2 oder höher) verwenden, da sich das Risiko von Man-in-the-Middle-Angriffen für Sie und Ihre Kundinnen und Kunden dadurch erheblich verringert. TLS möchte Folgendes erreichen:
- Verschlüsselung und Verifizierung der Integrität des Datenverkehrs zwischen dem Client und dem Server.
- Überprüfen Sie, ob der Client mit dem richtigen Server kommuniziert. Dies bedeutet in der Praxis üblicherweise, dass überprüft wird, ob der Eigentümer der Domäne und der Eigentümer des Servers die gleiche Einheit sind. Dadurch werden Man-in-the-Middle-Angriffe verhindert. Ohne die richtige Kommunikation gibt es keine Garantie, dass Sie den Datenverkehr für den richtigen Empfänger verschlüsseln.
Um TLS verwenden zu können, wird ein digital certificate benötigt – eine Datei, die von einer Zertifizierungsstelle ausgestellt wird. Wenn dieses Zertifikat installiert ist, ist dadurch für den Client gewährleistet, dass dieser tatsächlich mit dem Server kommuniziert, mit dem er kommunizieren soll, und nicht mit einem Betrüger. Beziehen Sie ein solches Zertifikat von einem seriösen Zertifikatsanbieter, wie z. B.:
Sie können Ihre Integration bei Bedarf ohne HTTPS testen und es aktivieren, sobald Sie bereit sind, Live-Zahlungen zu akzeptieren. Allerdings müssen alle Interaktionen zwischen Ihrem Server und Stripe über HTTPS erfolgen (d. h. bei Verwendung unserer Bibliotheken).
Einrichten von TLS
So richten Sie TLS ein:
- Erwerben Sie ein Zertifikat von einem geeigneten Anbieter.
- Konfigurieren Sie Ihren Server für die Verwendung des Zertifikats. Da dieser Schritt komplex ist, befolgen Sie daher die Installationsanleitung des von Ihnen verwendeten Anbieters.
Da es sich bei TLS um eine komplexe Suite kryptografischer Tools handelt, kann es leicht passieren, dass Dinge übersehen werden. Wir empfehlen Ihnen, den SSL Server Test von Qualys SSL Labs durchzuführen, um sicherzustellen, dass Sie nichts vergessen und alles sicher eingerichtet haben.
Sicherheitsüberlegungen
Durch das Einbinden von JavaScript von anderen Websites machen Sie Ihre eigene Sicherheit von diesen Websites abhängig. Das stellt ein Sicherheitsrisiko dar. Falls diese Websites kompromittiert werden, sind Angreifer möglicherweise in der Lage, beliebigen Code auf Ihrer Website auszuführen. Tatsächlich nutzen viele Websites JavaScript für Dienste wie Google Analytics – auch auf sicheren Seiten. Wir empfehlen Ihnen dennoch, eine solche Nutzung weitestgehend zu vermeiden.
Wenn Sie Webhooks verwenden, empfehlen wir die Verwendung von TLS für den Endpoint, um zu verhindern, dass Datenverkehr abgefangen und Benachrichtigungen verändert werden (sensible Informationen sind niemals in einem Webhook-Ereignis enthalten). Überprüfen Sie auch die Webhook-Signaturen und fügen Sie die IP-Adressen von Stripe zur Whitelist hinzu, um sicherzustellen, dass jeder von Ihnen empfangene Stripe-Webhook ausschließlich von Stripe gesendet wird.
Obwohl die Einhaltung der Datensicherheitsstandards wichtig ist, sollten Sie an dieser Stelle nicht damit aufhören, sich über die Sicherheit Gedanken zu machen. Nachfolgend sind einige gute Ressourcen aufgelistet, um mehr über Websicherheit zu erfahren:
Inhaltssicherheitsrichtlinie
Wenn Sie eine Sicherheitsrichtlinie für Inhalte bereitgestellt haben, sind für Checkout, in Connect eingebettete Komponenten und Stripe.js die folgenden Richtlinien erforderlich:
Unterstützung für Cross-Origin Isolation
Derzeit werden Ursprungsübergreifende isolierte Standorte nicht unterstützt.
Cross-origin Isolation erfordert die Unterstützung durch alle Abhängigkeiten, und einige wichtige Abhängigkeiten, die unsere Zahlungsangebote ermöglichen, bieten noch keine Unterstützung für diese Funktion.