Zapisywanie krytycznych danych w bazach danych (stron trzecich)

12

Jak zapisywać ważne (z punktu widzenia prywatności) dane użytkownika, takie jak SSN, numery kart kredytowych i adresy w bazach danych?

Scenariusz:
zapisywane są tylko te dane, które muszą być dostępne. Na przykład SSN jest zapisywany, ponieważ aplikacja używa SSN do identyfikacji konkretnego rekordu. lub dane karty kredytowej są zapisywane, aby umożliwić transakcje jednym kliknięciem. Niektóre takie dane mogą być szyfrowane i zapisywane, ale niektóre dane muszą być dostępne w postaci zwykłego tekstu (np. do wyszukiwania pełnotekstowego). Aplikacja korzysta z hostingu stron trzecich.

Pytania:
Jak bezpieczne są takie dane w postaci zwykłego tekstu (lub w inny sposób) na hostach stron trzecich, takich jak HostGator lub App Engine?

Czy zapisujesz takie dane na hostach stron trzecich (i czy ta praktyka jest zalecana)?

Czy przechowujesz je jako zwykły tekst, czy szyfrujesz takie dane?

Czy tylko te firmy, które mają zasoby, aby mieć własne serwery, powinny kontynuować tworzenie takich aplikacji?

Abel
źródło
Jeśli chodzi o bezpieczeństwo, przyjąłbym najgorszy scenariusz: dane hostowane są dostępne dla każdego. Obietnice „jesteśmy bezpieczni” nie są wiele warte po katastrofie.
LennyProgrammers
@ Lenny222 Zgadzam się. Byłoby możliwe szyfrowanie danych, które można przeszukiwać, ale wpłynęłoby to na wydajność.
abel

Odpowiedzi:

5
  • Najpierw musisz sprawdzić swoją odpowiedzialność prawną - która różni się w zależności od kraju. Na przykład dane finansowe w Wielkiej Brytanii nie mogą być przechowywane na serwerze w kraju innym niż Wielka Brytania (lub kraju spoza UE, w zależności od tego, jakie to dane).

  • Dane nigdy nie są w 100% bezpieczne, gdy nie są zaszyfrowane, do cholery, nie są nawet w 100% bezpieczne, gdy są zaszyfrowane, ale dobry algorytm szyfrowania i utrzymywanie ładnych i bezpiecznych kluczy sprawiają, że jest całkiem bezpieczne.

  • Tak, mogę polecić hosting stronom trzecim, szczególnie jeśli nie możesz sobie pozwolić na stworzenie i utrzymanie infrastruktury hurtowni danych. Znowu zależy to od danych i firmy.

  • Zawsze cholernie szyfruj wszystkie dane, które mają charakter prywatny lub krytyczny dla biznesu. Nigdy nie ufaj stronom trzecim :).

  • Mnóstwo firm korzysta z zewnętrznego hostingu danych, nie musisz prowadzić własnej farmy. Oczywiście ludzie tacy jak Twitter, Google i Facebook tak bardzo cenią swoje dane, że nigdy nie marzyliby o przechowywaniu ich na zewnętrznym hoście.

Mam nadzieję, że to pomaga!

Martijn Verburg
źródło
Tak, to pomaga.
abel
Nie pracowałem wcześniej z szyfrowaniem. jakieś wskazówki na początek?
abel
1
W jakim języku pracujesz z jakim DB?
Martijn Verburg,
PHP / MySQL i Python na GAE
abel
1
OK, to jest poza moją ligą - szyfrowałbym dane w Pythonie Google, a potem poszedłem sprawdzić z guru w SO lub Twojej lokalnej grupie użytkowników Python
Martijn Verburg
3

Ponieważ podajesz numery kart kredytowych, możesz przyjrzeć się stosowanym standardom bezpieczeństwa danych PCI . Chociaż artykuł w Wikipedii wydaje się nie wspominać o hostach stron trzecich, wymagania dotyczące śledzenia dostępu sprawiają, że wydaje się to nie do przyjęcia. Jest to minimum niezbędne do samodzielnego akceptowania kart kredytowych (przynajmniej w USA).

Istnieje wystarczająco wiele potencjalnych problemów prawnych i dotyczących zgodności, które moim zdaniem nie byłyby zbyt dużym wydatkiem.

David Thornley
źródło
Bramki płatności pomogą mi ich uniknąć?
abel
2
@abel: tak. W przypadku płatności jednorazowych przekazujesz dane karty kredytowej do bramki i nigdy nie przechowujesz ich samodzielnie. Jeśli potrzebujesz powtarzających się płatności, bramy oferują różne usługi. np. australijski, z którym obecnie pracuję, pozwala wysłać dane karty kredytowej i otrzymać w zamian „token”; przechowujesz ten token, co pozwala na uruchomienie płatności w przyszłości. Nie przechowujesz danych CC, a nawet jeśli token zostanie przejęty, jest bezużyteczny dla nikogo innego, ponieważ wszystko, co może zrobić, to dokonać płatności na Twoją rzecz.
Carson63000,
@Carson pomocny.
abel