Jak szyfrowanie danych działa w systemach płatniczych
Systemy płatności działają z najbardziej wrażliwymi danymi - PAN (numer karty), data ważności, CVV/CVC, tokeny 3-DS, dane bankowe, identyfikatory portfela. Ich wyciekiem są grzywny, przywołanie handlowca z banków/PSP i bezpośrednia strata finansowa. Ochrona jest wbudowana w warstwy: szyfrowanie w kanale (TLS), szyfrowanie i/lub tokenizacja w pamięci masowej, ścisłe zarządzanie kluczami i moduły zaufane sprzętowo (HSM). Poniżej znajduje się cały „rurociąg” bezpieczeństwa w prostym języku.
Cegły podstawowe
Kryptografia symetryczna
Algorytmy: AES-GCM/CTR/CBC (w płatnościach de facto standardem jest AES-GCM).
Plusy: szybkie, kompaktowe klucze.
Minusy: musisz bezpiecznie uzgodnić klucz i IV/nonce.
Kryptografia asymetryczna
Algorytmy: RSA-2048/3072, ECC (P-256/384, Ed25519).
Zastosowanie: wymiana/pakowanie kluczy, podpisy, PKI, certyfikaty TLS.
Plusy: Nie wymaga wcześniej wspólnej tajemnicy.
Minusy: Wolniejsze niż symetryczne szyfrowanie.
ИдеДPerfect Forward Secrecy (PFS)
Klucze sesji są negocjowane przez effemeric ECDHE. Nawet jeśli klucz prywatny serwera kiedyś wycieka, poprzednie sesje pozostaną niezdecydowane.
Szyfrowanie tranzytowe: TLS 1. 2/1. 3
1. Uścisk dłoni (uścisk dłoni TLS): klient i serwer zgadzają się na wersje/szyfry, serwer przedstawia certyfikat (PKI), klucze efemeryczne wymiany (ECDHE) → rodzi się klucz symetryczny sesji.
2. Dane: przesyłane w trybach AEAD (AES-GCM/ChaCha20-Poly1305) z uwierzytelnieniem.
3. Optymalizacja: TLS 1. 3 rundy cięcia, wspiera wznowienie; 0-RTT są używane ostrożnie (tylko idempotentne zapytania).
4. Praktyka płatności: zabraniamy SSLv3/TLS1. 0/1. 1, włącz TLS1. 2/1. 3, zszywanie OCSP, HSTS, ścisłe nagłówki zabezpieczeń.
Szyfrowanie „w magazynie”: w spoczynku
Opcje
Pełne szyfrowanie głośności/bazy danych (TDE): szybko wprowadzane, chroni przed „zimnym” dostępem do nośników, ale nie przed wyciekiem przez kompromisową aplikację.
Bitwise/field-level (FLE): poszczególne pola (PAN, IBAN) są szyfrowane. Granulowane, ale trudniejsze do wdrożenia i indeksu.
Szyfrowanie w formacie (FPE): Przydatne, gdy chcesz 16 cyfr jako 16 cyfr.
Tokenizacja: PAN zastępuje się tokenem (bez znaczenia); Ten PAN jest przechowywany w skarbcu tokena pod dużą ochroną. Podczas płatności/zwrotu używany jest token → handlowiec nie przetwarza „surowych” kart.
Kluczowy pomysł
W magazynie, to nie "który algorytm' jest ważniejszy, ale gdzie są klucze i kto może detokenizować. Dlatego...
Zarządzanie kluczami: KMS, HSM i koperty
Hierarchia kluczy (szyfrowanie koperty)
Root/KEK (Key Encryption Key): wysoka klasa ochrony, przechowywana i wykonywana w HSM.
DEK (klucz szyfrowania danych): szyfruje określone dane/partie/tabele; sam zaszyfrowany przez KEK.
Rotacja: przepisy dotyczące planowej i nieplanowanej (w przypadku zdarzenia) rotacji KEK/DEK; wersja kluczowa jest określona w metadanych ciphertext.
HSM (Hardware Security Module)
Moduł sprzętowy certyfikowany (na przykład FIPS 140-2/3), który przechowuje i wykonuje kluczowe operacje w sobie.
Nie wydaje prywatnych kluczy na zewnątrz, obsługuje limity/zasady użytkowania, audyt.
Używany do: generowania kluczy, owijarki DEK, 3-DS klucza serwera, klawiszy EMV, operacji PIN, podpisywania wiadomości.
KMS
Centralizuje kluczowe zasady, wersioning, dostęp, dzienniki i API.
W połączeniu z HSM wdraża szyfrowanie koperty i automatyczną rotację.
Standardy kart i specyfikacje branżowe
PCI DSS (i logika minimalizacji)
Główny pomysł: nie przechowywać CVV, zminimalizować obszar przetwarzania PAN (zakres).
W miarę możliwości - daj dane wejściowe PAN do Pól Hosted/Iframe PSP → handlowiec nie ma dostępu do danych surowych.
Dzienniki, kopie zapasowe, porzucanie - te same zasady co prod: maskowanie, szyfrowanie, retencja.
EMV, PIN - POS
Układ EMV/bez kontaktu: kryptogramy na poziomie karty/terminala, ochrona przed klonowaniem taśmy matowej.
Bloki PIN i ISO 9564: PIN jest szyfrowany z podkładki pin do przetwarzania, działa z HSM (transfery pinów, strefy kluczy).
DUKPT (Derived Unique Key Per Transaction): W POS każda płatność jest szyfrowana unikalnym kluczem pochodzącym z BDK → kompromisowanie jednej wiadomości nie przeciąga innych.
PCI P2PE: certyfikowany system szyfrowania „end-to-end” od pin pad do dostawcy szyfrowania.
3-D Secure (2. x)
Uwierzytelnianie posiadacza karty → mniej oszustw/obciążeń zwrotnych.
Kryptografia służy do podpisywania wiadomości, ACS/DS/3DS wymiany kluczy serwera; klucze prywatne są zazwyczaj w HSM.
Typowe architektury ochrony danych
Opcja A (handlowiec internetowy z PSP):- Przeglądarka → HTTPS → Hosted Fields PSP (PAN nie dostaje się do handlowca).
- PSP zwraca token płatności.
- Baza danych handlowców przechowuje token + ostatnie 4 cyfry i BIN (dla UX i reguł).
- Zwraca/powtarza - tylko token.
- Sekrety/klucze - w KMS, klucze prywatne TLS/3-DS - w HSM.
- Aplikacja • API - TLS/mTLS.
- Pola wrażliwe - FLE/FPE lub tokenizacja; skarbiec jest odizolowany.
- Dostęp do detokenizacji - tylko dla ról serwisowych z „czterookiem”, operacje - przez HSM.
- Pin pad → DUKPT/P2PE → przetwarzanie.
- Końcowe klucze rozruchowe - poprzez bezpieczne wtryskiwacze kluczy/XSM.
- Rejestrowanie, ochrona przed manipulacjami urządzeń.
Rotacja, audyt i incydenty
Rotacja klucza: planowana (raz na X miesiąc) i według zdarzeń (kompromis). Rewrap DEK pod nowym KEK bez odszyfrowywania danych użytkownika.
Dzienniki niezmienne: kto i kiedy uzyskał dostęp do detokenacji/klawiszy; podpis kłód.
Kompromisowa książka startowa: natychmiastowe cofnięcie/obrót, ponowne uruchomienie certyfikatów, blok klucza API, powiadomienie partnera, retrospektywne.
Częste błędy i jak ich uniknąć
1. „Szyfrujemy bazę danych, więc wszystko jest w porządku”.
Nie, nie jest. Skompromitowana aplikacja czyta dane otwarcie. Potrzebujemy tokenizacji/FLE i zasady najmniejszych praw.
2. Przechowywanie CVV.
Nie możesz. CVV nigdy nie jest przechowywane, nawet szyfrowane (za pośrednictwem PCI DSS).
3. Klucze obok danych.
Nie możesz. Klucze - w KMS/HSM, dostęp - według roli, minimalnych uprawnień, oddzielnych kont.
4. Brak rotacji/wersji.
Zawsze klucze wersji, przechowywać 'key _ version' w metadanych ciphertext.
5. Tylko TLS na obwodzie.
Szyfruj za CDN/WAF i wewnątrz planu danych (servis → servis, webhooks).
6. Tokenizacja „do widzenia”.
Jeśli jakaś usługa może detokenizować, nie jest to ochrona. Wąskie rozmowy kontrolne.
7. Nieznane kopie zapasowe/przesłania analityczne.
Szyfrowanie i maskowanie powinno mieć zastosowanie do kopii zapasowych, migawek, BI-gablot, dzienników.
Lista kontrolna wdrażania (krótki)
Kanał
TLS 1. 2/1. 3, PFS, mTLS dla wewnętrznych i webhooks, HSTS, ścisłe nagłówki zabezpieczeń.
Przechowywanie
Tokenizacja PAN, zakaz przechowywania CVV.
FLE/FPE dla pól krytycznych; TDE jako warstwa bazowa.
Klucze
KMS + HSM, szyfrowanie koperty (KEK/DEK), obrót/wersje, niezmienne dzienniki.
Architektura
Hosted Fields/SDK PSP, minimalizacja strefy PCI.
Rozdzielenie ról/sieci, zero zaufania, tajemnice - tylko za pośrednictwem tajnego menedżera.
Operacje
Pentest/Red Team na obwodzie i logiki biznesowej.
DLP/CTI monitorowanie drenażu, szkolenia personelu.
Runbook на compromise: cofnij/obracaj/powiadom.
Mini-FAQ
Czy szyfrowanie lub tokenizacja jest najlepsze dla PAN?
W sprzedaży - tokenizacja (minimalizuje zakres). W skarbcu - szyfrowanie z HSM/KMS.
Czy dla domeny płatności potrzebuję certyfikatu XT?
Opcjonalnie. Ważniejsze jest prawidłowy profil TLS, mTLS, klucze w HSM i dyscypliny.
Czy mogę użyć 0-RTT w TLS 1? 3 dla płatności?
Dla idempotentnych RS, tak. Dla POST lepiej jest wyłączyć lub ograniczyć.
Jak przechowywać „ostatnie 4” i BIN?
Oddzielone od PAN; nie jest to dane wrażliwe z prawidłową izolacją, ale obserwować maskowanie w dziennikach/BI.
Szyfrowanie w systemach płatniczych nie jest jednym przełącznikiem przełączania, ale ekosystemem: TLS/PFS w kanale, tokenizacja i/lub FLE w magazynie, ścisłe zarządzanie kluczami poprzez KMS + HSM, standardy branżowe (PCI DSS, EMV, 3-DS), rotacja i audyt Taka wielowarstwowa architektura sprawia, że wyciek danych kart jest bardzo mało prawdopodobny, upraszcza przeprowadzanie audytów i, co najważniejsze, zachowuje zaufanie banków, partnerów płatniczych i użytkowników.