Αν η φόρμα σου συλλέγει στοιχεία πληρωμής, υπόκεισαι σε αυστηρούς κανόνες ασφαλείας, είτε το ξέρεις είτε όχι. Το Payment Card Industry Data Security Standard (PCI DSS) θέτει απαιτήσεις για όποιον δέχεται, αποθηκεύει ή επεξεργάζεται δεδομένα καρτών πληρωμής. Η παραβίαση του PCI DSS έχει πρόστιμα χιλιάδων δολαρίων την ημέρα, μαζί με την ευθύνη αν κλαπούν δεδομένα καρτών.
Ο θεμελιώδης κανόνας του PCI DSS είναι απλός. Μην αποθηκεύεις ποτέ μόνος σου ακατέργαστα δεδομένα καρτών πληρωμής. Η αποφυγή ευαίσθητων δεδομένων στις φόρμες και η χρήση σωστών επεξεργαστών πληρωμών προστατεύει την επιχείρησή σου, τους πελάτες σου και σε κρατά συμμορφωμένο.
Τι θα μάθεις: τι είναι το PCI DSS και πότε ισχύει, ποια δεδομένα πληρωμής δεν πρέπει ποτέ να συλλέγεις, πώς να δομείς με ασφάλεια τις φόρμες πληρωμής, πώς να χρησιμοποιείς σωστά τους επεξεργαστές πληρωμών και τι να κάνεις αν έχεις ήδη συλλέξει ευαίσθητα δεδομένα.
Τι είναι το PCI DSS;
Το PCI DSS (Payment Card Industry Data Security Standard) είναι ένα σύνολο προτύπων ασφαλείας που δημιούργησαν οι μεγάλες εταιρείες πιστωτικών καρτών (Visa, Mastercard, American Express κ.λπ.). Ισχύει για κάθε εταιρεία που δέχεται, αποθηκεύει, μεταδίδει ή επεξεργάζεται πληροφορίες πιστωτικών καρτών.
Το PCI DSS ισχύει για σένα αν:
- Έχεις e-shop που δέχεται πιστωτικές κάρτες
- Έχεις φόρμα που συλλέγει στοιχεία πληρωμής
- Χρησιμοποιείς τιμολόγια με email που περιέχουν οδηγίες πληρωμής
- Αποθηκεύεις στοιχεία πληρωμής πελατών για επαναλαμβανόμενη χρέωση
- Οποιοσδήποτε υπάλληλος έχει πρόσβαση σε δεδομένα καρτών πληρωμής
Μπορεί να νομίζεις ότι δεν υπόκεισαι στο PCI DSS αν χρησιμοποιείς επεξεργαστή πληρωμών, αλλά είσαι υπεύθυνος για το πώς συλλέγεις τα δεδομένα πριν φτάσουν στον επεξεργαστή.
Επίπεδα PCI DSS και ποιος υποχρεούται να συμμορφωθεί
Οι απαιτήσεις συμμόρφωσης με το PCI DSS διαφέρουν ανάλογα με τον όγκο συναλλαγών που επεξεργάζεσαι:
Επίπεδο 1: Εταιρείες που επεξεργάζονται πάνω από 6 εκατομμύρια συναλλαγές τον χρόνο. Πρέπει να ελέγχονται ετησίως από εξωτερικό αξιολογητή. Οι πιο αυστηρές απαιτήσεις.
Επίπεδο 2: Εταιρείες που επεξεργάζονται 1 έως 6 εκατομμύρια συναλλαγές τον χρόνο. Πρέπει να ολοκληρώσουν αναλυτική αυτοαξιολόγηση.
Επίπεδο 3: Εταιρείες που επεξεργάζονται 20.000 έως 1 εκατομμύριο συναλλαγές τον χρόνο. Πρέπει να ολοκληρώσουν αυτοαξιολόγηση.
Επίπεδο 4: Εταιρείες που επεξεργάζονται κάτω από 20.000 συναλλαγές τον χρόνο. Οι απλούστερες απαιτήσεις. Οι περισσότερες μικρές επιχειρήσεις βρίσκονται εδώ.
Ακόμα και το Επίπεδο 4 (μικρή επιχείρηση) έχει αυστηρές απαιτήσεις. Δεν μπορείς να παίρνεις δεδομένα καρτών πληρωμής όπως σε βολεύει.
Ο βασικός κανόνας: μην αποθηκεύεις ποτέ ακατέργαστα δεδομένα καρτών
Ο πιο σημαντικός κανόνας του PCI DSS: μη συλλέγεις και μην αποθηκεύεις πλήρεις αριθμούς πιστωτικών καρτών, ημερομηνίες λήξης ή κωδικούς ασφαλείας (CVV) στη δική σου βάση δεδομένων ή στους servers σου.
ΜΗΝ συλλέγεις ποτέ:
- Πλήρεις αριθμούς πιστωτικών καρτών (PAN: Primary Account Number)
- Ημερομηνίες λήξης
- Κωδικούς ασφαλείας (CVV/CVC)
ΜΗΝ τα αποθηκεύεις ποτέ, ακόμα κι αν τα κρυπτογραφήσεις.
Αν η φόρμα σου συλλέγει αυτά τα δεδομένα και τα αποθηκεύεις μόνος σου, παραβιάζεις το PCI DSS. Οι κυρώσεις είναι σοβαρές:
- Πρόστιμα 5.000 έως 100.000 δολαρίων τον μήνα μη συμμόρφωσης
- Ευθύνη αν κλαπούν δεδομένα καρτών και χρησιμοποιηθούν με απάτη
- Ευθύνη για απώλειες από απάτη και κόστη ενημέρωσης πελατών
- Οι επεξεργαστές καρτών μπορεί να σου αφαιρέσουν τη δυνατότητα να δέχεσαι πληρωμές
Τι ΜΠΟΡΕΙΣ να συλλέγεις και να αποθηκεύεις
Κάποια δεδομένα που σχετίζονται με πληρωμές είναι ασφαλές να συλλέγονται:
- Όνομα και διεύθυνση χρέωσης: Για επαλήθευση και αποστολή
- Διεύθυνση email: Για απόδειξη και επικοινωνία
- Τα τελευταία 4 ψηφία του αριθμού κάρτας: Για αναφορά (π.χ. "τρόπος πληρωμής που τελειώνει σε 4242") - αλλά μόνο αν δεν συλλέγεις τον πλήρη αριθμό
- Ποσό και ημερομηνία πληρωμής: Για τήρηση αρχείων
- Αναγνωριστικό συναλλαγής από τον επεξεργαστή πληρωμών: Για αντιστοίχιση και συμφωνία
Το κλειδί: μπορείς να αποθηκεύεις πληροφορίες πελάτη, πληροφορίες παραγγελίας και αριθμούς αναφοράς. Δεν μπορείς να αποθηκεύεις τα πραγματικά δεδομένα της κάρτας πληρωμής.
Πώς χειρίζεσαι με ασφάλεια τα δεδομένα πληρωμής
Μη φτιάχνεις ποτέ προσαρμοσμένη φόρμα πληρωμής
Μη φτιάχνεις φόρμα που συλλέγει πληροφορίες πιστωτικής κάρτας απευθείας. Από τη στιγμή που μια φόρμα πληρωμής στέλνει δεδομένα κάρτας στον server σου, είσαι υπεύθυνος για τη συμμόρφωση με το PCI DSS.
Χρησιμοποίησε επεξεργαστή πληρωμών με φιλοξενούμενες σελίδες πληρωμής
Ο Stripe και άλλοι επεξεργαστές πληρωμών παρέχουν φιλοξενούμενες σελίδες πληρωμής. Είναι φόρμες που βρίσκονται στους ασφαλείς servers του επεξεργαστή και όχι στους δικούς σου. Όταν ο πελάτης συμπληρώνει τη φόρμα πληρωμής, τα δεδομένα της κάρτας πηγαίνουν απευθείας στον επεξεργαστή. Ο server σου δεν βλέπει ποτέ τον πλήρη αριθμό κάρτας.
Παράδειγμα ροής:
- Ο πελάτης συμπληρώνει τη φόρμα παραγγελίας σου (όνομα, email, διεύθυνση αποστολής)
- Ο πελάτης πατά "Πληρωμή"
- Ο browser ανακατευθύνεται στην ασφαλή φόρμα του επεξεργαστή πληρωμών
- Ο πελάτης γράφει τα στοιχεία κάρτας στη φόρμα του επεξεργαστή
- Ο επεξεργαστής επεξεργάζεται την πληρωμή και σου στέλνει ειδοποίηση
- Η φόρμα σου λαμβάνει μόνο ένα αναγνωριστικό συναλλαγής και όχι τα δεδομένα της κάρτας
Δεν χειρίζεσαι ποτέ τα δεδομένα της κάρτας, οπότε η συμμόρφωση με το PCI DSS είναι ευθύνη του επεξεργαστή.
Χρησιμοποίησε iframe για την πληρωμή
Κάποιοι επεξεργαστές παρέχουν iframe που μπορείς να ενσωματώσεις στη φόρμα σου. Το iframe φιλοξενείται στην πραγματικότητα στους ασφαλείς servers του επεξεργαστή, αλλά εμφανίζεται ως μέρος της σελίδας σου. Ο πελάτης βλέπει μία ενιαία φόρμα, αλλά το τμήμα πληρωμής βρίσκεται στην πραγματικότητα στους servers του επεξεργαστή.
Χρησιμοποίησε API πληρωμών με tokenization
Οι προηγμένοι επεξεργαστές πληρωμών σου επιτρέπουν να συλλέγεις στοιχεία πληρωμής στη φόρμα σου με τη βιβλιοθήκη JavaScript τους. Η βιβλιοθήκη κρυπτογραφεί τα δεδομένα στον browser του πελάτη πριν φτάσουν στον server σου. Σου στέλνει ένα token (μια ασφαλή αναφορά) αντί για τα πραγματικά δεδομένα κάρτας. Αποθηκεύεις το token και όχι την κάρτα.
Αυτό θέλει προσεκτική υλοποίηση, για να μη χειριστείς μη κρυπτογραφημένα δεδομένα κάρτας. Χρησιμοποίησέ το μόνο αν καταλαβαίνεις πλήρως τη διαδικασία.
Τι ΔΕΝ πρέπει να κάνεις
Μη στέλνεις στοιχεία πληρωμής με email. Μη ζητάς από πελάτες να σου στείλουν αριθμούς πιστωτικών καρτών με email. Το email δεν είναι κρυπτογραφημένο και δεν είναι ασφαλές.
Μη ζητάς CVV αν αποθηκεύεις την κάρτα. Αν αποθηκεύεις κάρτα για επαναλαμβανόμενες πληρωμές, δεν πρέπει να ζητάς ή να αποθηκεύεις το CVV. Το CVV χρειάζεται μόνο τη στιγμή της πληρωμής.
Μη συλλέγεις δεδομένα κάρτας σε κανονική φόρμα και μην τα στέλνεις στον εαυτό σου με email. Έτσι στέλνεις στοιχεία πληρωμής με μη κρυπτογραφημένο email, κάτι που παραβιάζει το PCI DSS.
Μην αποθηκεύεις δεδομένα κάρτας σε υπολογιστικό φύλλο, αρχείο κειμένου ή βάση δεδομένων χωρίς κρυπτογράφηση. Αν έχεις ήδη συλλέξει δεδομένα κάρτας (που δεν έπρεπε), πρέπει να τα κρυπτογραφήσεις ή να τα διαγράψεις αμέσως.
Αν έχεις ήδη συλλέξει ευαίσθητα δεδομένα πληρωμής
Αν έχεις φόρμα που συλλέγει πλήρεις αριθμούς πιστωτικών καρτών ή CVV, σταμάτα αμέσως:
- Σταμάτα να συλλέγεις τα δεδομένα. Αφαίρεσε αμέσως τα πεδία κάρτας από τη φόρμα.
- Ασφάλισε ό,τι έχεις. Αν έχεις αποθηκεύσει δεδομένα κάρτας, κρυπτογράφησέ τα ή διέγραψέ τα.
- Πέρνα σε επεξεργαστή πληρωμών. Στήσε συμβατό τρόπο πληρωμής με επεξεργαστή τρίτου.
- Ενημέρωσε τους επηρεασμένους πελάτες. Αν είχες παραβίαση ή αν τα δεδομένα καρτών των πελατών είναι ακόμα αποθηκευμένα, ενημέρωσέ τους.
- Συμβουλέψου νομικό σύμβουλο. Αν συλλέγεις δεδομένα κάρτας με μη ασφαλή τρόπο, μπορεί να έχεις ρυθμιστική έκθεση. Πάρε νομική συμβουλή.
Tokenization: ο ασφαλής τρόπος αποθήκευσης τρόπων πληρωμής
Το tokenization είναι η διαδικασία που αντικαθιστά ευαίσθητα στοιχεία πληρωμής με έναν μη ευαίσθητο αριθμό αναφοράς.
Χωρίς tokenization: Αποθηκεύεις το "4532-1234-5678-9010" στη βάση δεδομένων σου.
Με tokenization: Ο επεξεργαστής πληρωμών αποθηκεύει το "4532-1234-5678-9010" και σου δίνει ένα token όπως το "tok_abc123def456". Αποθηκεύεις το token.
Όταν χρειαστεί να χρεώσεις ξανά την κάρτα (για επαναλαμβανόμενη χρέωση), στέλνεις το token στον επεξεργαστή. Ο επεξεργαστής χρησιμοποιεί το token για να ανακτήσει τα αρχικά δεδομένα κάρτας και να επεξεργαστεί τη χρέωση. Δεν χειρίζεσαι ποτέ την ίδια την κάρτα.
Τα tokens είναι ασφαλές να αποθηκεύονται. Δεν μπορούν να χρησιμοποιηθούν για πληρωμές χωρίς να το ξέρει ο επεξεργαστής και δεν αποκαλύπτουν τον αριθμό κάρτας.
Απαιτήσεις PCI DSS πέρα από τις φόρμες πληρωμής
Ακόμα κι αν χρησιμοποιείς σωστά έναν επεξεργαστή πληρωμών, το PCI DSS έχει και άλλες απαιτήσεις:
- Ασφάλισε τους servers σου. Ενημέρωνε το λογισμικό, χρησιμοποίησε firewalls, περιόρισε την πρόσβαση.
- Χρησιμοποίησε ισχυρούς κωδικούς. Για τον λογαριασμό σου στον επεξεργαστή πληρωμών και για όλους τους λογαριασμούς διαχείρισης.
- Κρυπτογράφησε τα δεδομένα στη μεταφορά και στην αποθήκευση. Χρησιμοποίησε HTTPS, κρυπτογράφησε τις βάσεις δεδομένων.
- Παρακολούθησε και έλεγξε. Κατέγραφε την πρόσβαση σε συστήματα που σχετίζονται με πληρωμές, εξέταζε τα logs τακτικά.
- Εκπαίδευσε τους υπαλλήλους. Όποιος έχει πρόσβαση σε δεδομένα πληρωμής χρειάζεται εκπαίδευση ασφαλείας.
- Συμμορφώσου με πρότυπα ασφάλειας δικτύου. Το PCI DSS περιλαμβάνει 12 βασικές απαιτήσεις που καλύπτουν έλεγχο πρόσβασης, παρακολούθηση και αντιμετώπιση περιστατικών.
Αν επεξεργάζεσαι πληρωμές, μάθε και τις 12 απαιτήσεις του PCI DSS. Πολλές ξεπερνούν την ασφάλεια των φορμών.
Φόρμες στο WEMASY
Στον Δημιουργό ιστοσελίδων του WEMASY μπορείς να προσθέσεις φόρμα στην ιστοσελίδα σου. Για στοιχεία κάρτας, μη φτιάχνεις δική σου φόρμα και χρησιμοποίησε έναν επεξεργαστή πληρωμών.
Δες τι περιλαμβάνει κάθε πακέτο στη σελίδα τιμών.