2010-02-10 24 views
23

Mam zamiar odziedziczyć i pracować na małej internetowej stronie handlowej, która jest bardzo źle zaprojektowana. Jednym z największych problemów jest obecnie przetwarzanie kart kredytowych.Online Credit Card Storage?

Obecnie właściciel pobiera informacje o karcie kredytowej (imię i nazwisko, numer, CVV2 i datę ważności) z formularza zamówienia online i zapisuje wszystkie te informacje w postaci zwykłego tekstu w bazie danych MySQL. Powiadomienie zostanie wysłane na jego adres e-mail, który ktoś zamówił. Następnie ma stronę administracyjną, na której przegląda zamówienia i informacje o karcie kredytowej, których używa do przetwarzania w trybie offline z własnym sprzedawcą.

Po pobraniu informacji z wewnętrznej strony, numer karty kredytowej i CVV2 jest natychmiast usuwany (automatycznie wywoływany skrypt PHP). Informacje są również usuwane, jeśli strona nie jest dostępna w ciągu 7 dni. Zatem istnieje możliwość, aby wszystkie informacje znajdowały się w bazie danych w postaci zwykłego tekstu przez siedem dni przed przetworzeniem transakcji.

To nie wygląda na dobry projekt i może być nielegalne. Jeśli jest to nielegalne, będę musiał mu to przerwać, ponieważ jeszcze tego nie rozumie.

Moje pytanie: czy nie jest to niebezpieczne, czy jest to niezgodne z prawem lub naruszeniem warunków użytkowania (PCI DSS)? A jeśli tak, jak mogę mu to udowodnić, aby pozwolił mi zmienić swoje postępowanie (oczywiście, nie chcę wkładać rąk w coś, co jest nielegalne.) Czasami sformułowanie warunków użytkowania może wydaje się subiektywny)? Na koniec, jakie są najlepsze opcje rozwiązania tego problemu (zewnętrzny sprzedawca online, spełniający wymogi PCI DSS lub coś innego)?

+1

W jakim kraju się znajdujesz? –

+0

Jestem w USA. –

+4

Głosuję, aby zamknąć to pytanie jako nietypowe, ponieważ jest to kwestia prawna, a nie kwestia programowania. – durron597

Odpowiedz

21

Jest to naruszenie PCI DSS. Nie tylko przechowujesz informacje, których nie wolno przechowywać (CVV), ale nie szyfrujesz numeru karty kredytowej (również naruszenia).

Co gorsza, narusza wytyczne Visa i MasterCard, zgodnie z którymi wszystkie transakcje online muszą być przetwarzane za pomocą urządzenia zgodnego z ECI lub oprogramowania i Zamówienia internetowe muszą mieć oddzielne konto sprzedawcy. Ich terminal kart kredytowych zdecydowanie nie jest zgodny z ECI, ponieważ żaden z nich nie jest. Muszą uzyskać nowe konto sprzedawcy i użyć bramki płatniczej takiej jak Authorize.Net do przetwarzania tych zamówień.

Edit

Ponieważ wątpię właściciel webbsite rzeczywiście przeszkadza, aby uzyskać nowe konto handlowca lub zaimplementować bramy płatności najlepiej jest użycie dwóch szyfrowanie sposób przechowywania tych informacji. Następnie upewnij się, że strona, której używają do pobrania informacji o karcie kredytowej, jest zaszyfrowana (certyfikat SSL), więc informacje są bezpieczne od końca do końca.

Gorąco polecam się konto internetowe kupiec i korzystania z bramy płatności jak Authorize.Net. Poza tym, że są zgodne ze standardami PCI i ECI i są po prostu sprytne, potencjał, aby firma nie tylko straciła konto handlowe, ale także została na czarną listę i nie ma możliwości, aby prawdziwe konto handlowca było znowu bardzo wysokie. Wystarczy, że ich dostawca konta handlowego zażąda zwrotu pieniędzy, aby zdać sobie sprawę z tego, co robią i na początku problemów.

+0

Czy zgodność z EIO dotyczy tej sytuacji? Nie robi transakcji online, ale po prostu pobiera informacje online, aby robić transakcje w trybie offline. To trochę jak otrzymywanie informacji o karcie kredytowej przez telefon w celu przeprowadzenia transakcji.I/Czy mówisz, że to wymaga innego konta handlowego? –

+2

Zgodność z ECI jest problemem, ponieważ zamówienie pochodzi z ich strony internetowej. Jeśli pochodzi z telefonu, ECI nie ma zastosowania. Zasadniczo nie jest to sposób przetwarzania zamówienia, ale jego pochodzenie. Wymaga to również innego konta handlowca, ponieważ zamówienia pochodzące z Internetu muszą być oddzielone od zamówień innych niż internetowe. Jest to spowodowane głównie problemami z obciążeniem zwrotnym. –

+0

To ma sens. Dziękuję Ci. –

0

Jest to zdecydowanie naruszenie zasad PCI. Jednak nie powinno być tak trudne dodawanie szyfrowania do przechowywanych danych, szczególnie jeśli jest to rzadkie, że człowiek będzie musiał na nie patrzeć.

Po przepracowaniu firmy zewnętrznej zajmującej się przetwarzaniem transakcji kartą kredytową bardzo polecam, jeśli ich system jest tak zły. Jednak nadal będziesz musiał zaszyfrować te informacje lub nie przechowywać ich wcale po wysłaniu do TPP. Usługa TPP naprawdę działa dla handlowca, więc może pomóc w rozwiązywaniu problemów związanych z przestrzeganiem przepisów i uzyskać najlepsze stawki wymiany.

2

Istnieje wiele dostawców usług płatniczych stron trzecich, które zajmą się wszystkimi kwestiami związanymi z bezpieczeństwem i zgodnością.

Dla małych i średnich firm jest to jedna z funkcji, które zdecydowanie powinny zostać zlecone podmiotom z doświadczeniem.

2

Korzystanie z bramki przetwarzania karty kredytowej innej firmy eliminuje potrzebę przechowywania informacji kredytowych na serwerze klienta - informacje POST o cc są przekazywane do bramki przetwarzania, która zwraca identyfikator transakcji, który może być używany do rejestrowania przez twojego klienta.

Brama płatności kartą kredytową jest przez takie firmy jak Authorize.net, LinkPoint Central - nawet PayPal jest miejsce w grze. Wszystkie główne bramy mają istniejący kod do integracji koszyka zakupów z większością popularnych platform programowania internetowego (.NET, PHP, Java itp.). Poza tym większość głównych koszyków na zakupy obsługuje główne bramy po wyjęciu z pudełka lub przynajmniej ma zainstalowane moduły dla większości bram.

więc klient powinien uzyskać konfigurację bramki płatności internetowe i należy zintegrować swój istniejący kod z bramą.

1

Prawidłowo ochrony danych płatności to złożony temat. Nawet bardzo duże firmy czasami mają dużą liczbę kart kredytowych skradzionych z ich systemów.

Jako minimum, tutaj są kroki do rozważenia:

  • Zapewnienie formularz zamówienia online jest za pomocą protokołu HTTPS do przechwytywania danych.
  • Jeśli serwer WWW i DB są różne pudełka, zapewniają bezpieczną ścieżkę między nimi.
  • Zaszyfruj dane płatności w bazie danych. MySQL Reference.
  • Zapewnij silną kontrolę dostępu do wewnętrznej strony WWW (czy jest fizycznie dostępny dla świata zewnętrznego? Czy wymaga silnego hasła? Czy to HTTPS?)
  • Upewnij się, że nie ma żadnych dzienników (np. Dziennik debugowania), kończy pisanie informacji o płatnościach do systemu plików.
4

Jest to poważny naruszenie zasad PCI. Dokumenty można uzyskać tutaj: https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml Byłoby sprytnie pójść na stronę trzecią, jak Google Checkout lub coś podobnego. Zgodność ze standardem PCI to wielki ból głowy i obejmuje coroczne przeglądy (mogą być samoocenione), które mogą obejmować testowanie penetracyjne itp. Jeśli naprawdę go sprawdziłeś, prawdopodobnie nie musi on mieć dostępu do informacji o karcie kredytowej, tylko Identyfikator transakcji. Nie tylko musisz szyfrować dane, musisz mieć rozbudowany schemat ochrony kluczy szyfrujących. Jest to znacznie więcej niż to, do czego chce się dostać mała firma. Niektóre z powyższych rad brzmią dobrze, ale nie spełniają specyfikacji PCI. Przeczytaj dokumenty i szybko zorientujesz się, że jest to duże przedsięwzięcie. Obecnie obsługuję wewnętrzny system zgodny z PCI i musiałem poświęcić znaczny wysiłek, aby go dostosować do standardów. Musieliśmy również wprowadzić szereg zmian w sieci. Konwersja na stronę trzecią będzie tańsza dla firmy.