2010-02-10 18 views
23

Ich bin im Begriff, zu erben und auf einer kleinen Geschäftseinzelhandelsweb site zu arbeiten, die sehr schlecht entworfen ist. Die größte Sorge bereitet unter anderem die aktuelle Kreditkartenabwicklung.Online-Kreditkartenspeicherung?

Derzeit ruft der Besitzer Kreditkarteninformationen (Name, Nummer, CVV2 und Ablaufdatum) aus einem Online-Bestellformular ab und speichert alle diese Informationen im Klartext in einer MySQL-Datenbank. Eine Benachrichtigung wird dann an seine E-Mail gesendet, die jemand bestellt hat. Danach hat er eine administrative Back-End-Seite, auf der er die Bestellungen und Kreditkarteninformationen sieht, mit denen er offline mit seinem eigenen Händler arbeitet.

Nach dem Abrufen der Informationen von der Backend-Seite wird die Kreditkartennummer und CVV2 sofort gelöscht (PHP-Skript wird automatisch aufgerufen). Die Informationen werden auch gelöscht, wenn auf diese Seite nicht innerhalb von 7 Tagen zugegriffen wird. Es besteht also die Möglichkeit, dass alle Informationen sieben Tage lang vor der Transaktionsverarbeitung als Klartext in der Datenbank gespeichert werden.

Dies scheint nicht ein gutes Design und möglicherweise illegal. Wenn es illegal ist, muss ich ihm das brechen, weil er das noch nicht bemerkt.

Meine Frage: Abgesehen davon, unsicher zu sein, ist dies illegal oder eine Verletzung der Nutzungsbedingungen (PCI DSS)? Und wenn ja, wie kann ich es ihm beweisen, so dass er mir erlauben wird, seine Art zu ändern (offensichtlich möchte ich nicht meine Hände in etwas legen, das illegal ist. Auch manchmal kann der Wortlaut von Nutzungsbedingungen sein scheinen subjektiv)? Schließlich, was sind die besten Möglichkeiten, um dieses Problem zu beheben (Online-Händler von Drittanbietern, werden PCI DSS-konform oder etwas anderes)?

+1

In welchem ​​Land sind Sie? –

+0

Ich bin in den USA. –

+4

Ich stimme für das Schließen dieser Frage als nicht zum Thema gehörig, weil es eine rechtliche Frage ist, keine Programmierfrage. – durron597

Antwort

21

Das ist ein Verstoß gegen PCI DSS. Sie speichern nicht nur Informationen, die Sie nicht speichern (CVV), sondern Sie verschlüsseln nicht die Kreditkartennummer (auch eine Verletzung).

Noch schlimmer, er verletzt Visa und MasterCard Richtlinien, die alle Online-Transaktionen müssen mit einem ECI-konformen Gerät oder Software und Internet-Bestellungen müssen ein separates Händlerkonto haben verarbeitet werden. Ihr Kreditkarten-Terminal ist definitiv nicht ECI-konform, da es keine gibt. Sie müssen ein neues Händlerkonto erstellen und ein Zahlungsgateway wie Authorize.Net verwenden, um diese Bestellungen zu verarbeiten.

bearbeiten

Da ich der webbsite Besitzer ein neues Händler-Konto oder implementieren einen Payment-Gateway Ihre beste Wette Verschlüsselung verwenden, um zwei Weg zu bekommen stört tatsächlich bezweifle diese Informationen zu speichern. Stellen Sie dann sicher, dass die Seite, die sie zum Abrufen der Kreditkarteninformationen verwenden, verschlüsselt ist (SSL-Zertifikat), damit die Informationen von Ende zu Ende sicher sind.

Ich empfehle dringend, ein Internet-Händler-Konto und ein Zahlungs-Gateway wie Authorize.Net zu verwenden. Abgesehen davon, dass PCI und ECI konform sind und nur der schlaue Weg zu gehen, ist das Potenzial des Unternehmens, nicht nur seinen Händleraccount zu verlieren, sondern auf der schwarzen Liste zu stehen und jemals wieder verboten, ein echtes Händlerkonto zu haben, sehr hoch. Alles, was es braucht, ist eine Rückbuchung für ihren Händler-Account-Anbieter zu erkennen, was sie tun und für den Ärger zu starten.

+0

Würde sich die ECI-Konformität auf diese Situation beziehen? Er macht keine Transaktionen online, sondern holt nur die Informationen online, um die Transaktionen offline zu erledigen. Es ist so, als würde man Kreditkarteninformationen über das Telefon erhalten, um die Transaktion durchzuführen.Und/Oder sagen Sie, dass dies ein anderes Händlerkonto erfordert? –

+2

ECI-Konformität ist ein Problem, da die Bestellung über ihre Website erfolgt. Wenn es über das Telefon kam, würde ECI nicht gelten. Im Grunde geht es nicht darum, wie Sie die Reihenfolge bearbeiten, sondern woher sie kommt. Es erfordert auch ein anderes Händlerkonto, da Bestellungen, die aus dem Internet stammen, von Nicht-Internetbestellungen getrennt sein müssen. Dies ist hauptsächlich auf Chargeback-Probleme zurückzuführen. –

+0

Das macht Sinn. Vielen Dank. –

0

Es ist definitiv eine Verletzung der PCI-Regeln. Es sollte jedoch nicht so schwer sein, den gespeicherten Daten eine Verschlüsselung hinzuzufügen, besonders wenn es selten ist, dass ein Mensch es betrachten muss.

Nachdem ich für eine Kreditkartentransaktionsfirma einer Drittpartei gearbeitet habe, empfehle ich es sehr, wenn ihr System so schlecht ist. Sie müssen diese Informationen jedoch immer noch verschlüsseln oder gar nicht speichern, nachdem sie an das TPP gesendet wurden. Das TPP funktioniert wirklich für den Händler, also können sie Ihnen mit irgendwelchen Kompatibilitätsproblemen helfen und Ihnen helfen, die besten Austauschraten zu erhalten.

2

Es gibt viele Zahlungsanbieter von Drittanbietern, die sich mit allen Sicherheits- und Compliance-Problemen befassen.

Für kleine und mittlere Unternehmen ist dies eine Funktion, die auf jeden Fall an Experten mit Know-how ausgelagert werden sollte.

2

Die Verwendung eines Kreditkartenverarbeitungs-Gateways von Drittanbietern erübrigt die Speicherung von Kreditinformationen auf dem Server des Kunden - die POST'ed-CC-Informationen werden an das Verarbeitungs-Gateway weitergeleitet, das eine Transaktions-ID zurückgibt, die für die Aufzeichnung verwendet werden kann von Ihrem Kunden.

Eine Kreditkarte Zahlung Gateway wird von Unternehmen wie Authorize.net, LinkPoint Central zur Verfügung gestellt - auch PayPal wird in das Spiel einsteigen. Alle großen Gateways verfügen über einen bestehenden Code für die Integration eines Einkaufswagens mit den meisten gängigen Webprogrammierungsplattformen (.NET, PHP, Java usw.). Außerdem unterstützen die meisten großen Einkaufswagen die wichtigsten Gateways aus der Box oder haben zumindest installierbare Module für die meisten Gateways.

So sollte Ihr Client eine Internet-Payment-Gateway-Setup erhalten und Sie sollten ihren vorhandenen Code mit dem Gateway integrieren.

1

Das korrekte Schützen von Zahlungsdaten ist ein komplexes Thema. Selbst sehr große Unternehmen haben manchmal eine große Anzahl von Kreditkarten aus ihren Systemen gestohlen. Auf ein Minimum

, hier sind Schritte prüfen zu:

  • Sicherstellen, dass die Online-Bestellformular HTTPS wird unter Verwendung von Daten zu erfassen.
  • Wenn die DB und der Webserver unterschiedliche Felder sind, stellen Sie einen sicheren Pfad zwischen ihnen sicher.
  • Verschlüsseln Sie die Zahlungsdaten in der DB. MySQL Reference.
  • Stellen Sie sicher, starke Zugriffskontrolle auf die Back-End-Webseite (ist es für die Außenwelt physikalisch zugänglich? Benötigt es ein starkes Passwort? Ist es HTTPS?)
  • Stellen Sie sicher, es gibt keine Protokolle (zB Debug-Protokoll) Am Ende schreiben Sie die Zahlungsinformationen in das Dateisystem.
4

Dies ist eine schwerwiegende Verletzung der PCI-Regeln. Sie können die Dokumente hier erhalten: https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml Es wäre schlau, um Dritte wie Google Checkout oder etwas ähnliches zu gehen. PCI-konform zu werden, ist ein großer Kopfschmerz und beinhaltet jährliche Überprüfungen (die selbst bewertet werden können), die Penetrationstests usw. beinhalten können. Wenn Sie es wirklich geprüft haben, braucht er wahrscheinlich überhaupt keinen Zugriff auf die Kreditkarteninformationen, nur die Transaktions-ID. Sie müssen nicht nur die Daten verschlüsseln, sondern auch ein ausgeklügeltes Schema zum Schutz der Verschlüsselungsschlüssel. Dies ist viel größer als das, was ein kleines Unternehmen erreichen möchte. Einige der obigen Hinweise klingen gut, erfüllen jedoch nicht die PCI-Spezifikation. Lesen Sie die Dokumente und Sie werden schnell sehen, dass es ein großes Unterfangen ist. Ich unterstütze derzeit ein internes PCI-konformes System und musste erhebliche Anstrengungen unternehmen, um es den Standards anzupassen. Wir mussten auch einige Netzwerkänderungen vornehmen. Es wird billiger für das Unternehmen, um an Dritte zu konvertieren.