Κρυπτογράφηση SSL/TLS: ασφαλή δεδομένα φόρμας κατά τη μεταφορά

Κατάλαβε την κρυπτογράφηση SSL/TLS και γιατί κάθε φόρμα χρειάζεται HTTPS. Μάθε πώς τα πιστοποιητικά SSL προστατεύουν τις αποστολές φορμών.

Πρόχειρο

Όταν κάποιος στέλνει μια φόρμα σε ιστοσελίδα HTTP (όχι HTTPS), τα δεδομένα του ταξιδεύουν στο διαδίκτυο ως απλό κείμενο. Όποιος βρίσκεται στο δίκτυο ανάμεσα σε αυτόν και τον server σου μπορεί να δει τι έγραψε, μαζί με κωδικούς, αριθμούς πιστωτικών καρτών και διευθύνσεις email. Αυτό δεν είναι θεωρητικό. Τα εργαλεία υποκλοπής πακέτων είναι ελεύθερα διαθέσιμα και οι επιτιθέμενοι υποκλέπτουν ενεργά μη κρυπτογραφημένες αποστολές φορμών.

Η κρυπτογράφηση SSL/TLS είναι η τεχνολογία που προστατεύει τα δεδομένα της φόρμας καθώς ταξιδεύουν από τον browser του επισκέπτη στον server σου. Είναι η πιο θεμελιώδης μορφή ασφάλειας φόρμας και δεν διαπραγματεύεται.

Τι θα μάθεις: πώς δουλεύει η κρυπτογράφηση HTTPS, τη διαφορά ανάμεσα σε SSL και TLS, τι είναι ένα πιστοποιητικό SSL και γιατί το χρειάζεσαι, πώς να επαληθεύσεις ότι η φόρμα σου είναι σωστά κρυπτογραφημένη και τι να κάνεις αν το HTTPS δεν δουλεύει.

Τι είναι το HTTPS και πώς κρυπτογραφεί δεδομένα;

Το HTTPS είναι η ασφαλής εκδοχή του HTTP (Hypertext Transfer Protocol). Το "S" σημαίνει Secure (ασφαλές). Το HTTPS χρησιμοποιεί SSL/TLS (Secure Sockets Layer / Transport Layer Security) για να κρυπτογραφεί όλα τα δεδομένα που στέλνονται ανάμεσα στον επισκέπτη και τον server σου.

Να τι γίνεται όταν ένας επισκέπτης στέλνει φόρμα μέσω HTTPS:

  1. Ο επισκέπτης συμπληρώνει και στέλνει τη φόρμα. Ο browser του μαζεύει τα δεδομένα.
  2. Ο browser δημιουργεί κρυπτογραφημένη σύνδεση. Επικοινωνεί με τον server σου και επαληθεύει το πιστοποιητικό SSL (περισσότερα παρακάτω).
  3. Και οι δύο πλευρές συμφωνούν στις ρυθμίσεις κρυπτογράφησης. Διαπραγματεύονται την ισχυρότερη κρυπτογράφηση που υποστηρίζουν και οι δύο.
  4. Όλα τα δεδομένα κρυπτογραφούνται πριν σταλούν. Τα δεδομένα της φόρμας κωδικοποιούνται με τη συμφωνημένη κρυπτογράφηση.
  5. Ο server σου λαμβάνει τα κρυπτογραφημένα δεδομένα. Χρησιμοποιεί το ιδιωτικό του κλειδί για να τα αποκρυπτογραφήσει, ώστε να διαβαστούν.

Για όποιον παρακολουθεί κρυφά το δίκτυο, τα δεδομένα φαίνονται ως τυχαίοι χαρακτήρες. Δεν μπορεί να τα διαβάσει χωρίς το κλειδί κρυπτογράφησης, που το έχει μόνο ο server σου.

Η διαφορά ανάμεσα σε SSL και TLS

Το SSL (Secure Sockets Layer) και το TLS (Transport Layer Security) είναι συγγενείς τεχνολογίες που κάνουν την ίδια δουλειά. Το SSL ήταν το αρχικό πρότυπο, που κυκλοφόρησε πρώτη φορά το 1995. Το TLS είναι η σύγχρονη, βελτιωμένη εκδοχή που το αντικατέστησε.

  • SSL 3.0: Η τελευταία έκδοση του SSL, που κυκλοφόρησε το 1996. Ξεπερασμένη και πλέον όχι ασφαλής.
  • TLS 1.0: Η πρώτη έκδοση του TLS, που κυκλοφόρησε το 1999. Δουλεύει ακόμα αλλά είναι παλιά.
  • TLS 1.2: Κυκλοφόρησε το 2008. Χρησιμοποιείται ακόμα ευρέως και θεωρείται ασφαλής.
  • TLS 1.3: Κυκλοφόρησε το 2018. Το τρέχον πρότυπο, πιο γρήγορο και πιο ασφαλές.

Οι σύγχρονοι browsers και servers χρησιμοποιούν TLS 1.2 ή TLS 1.3. Όταν οι άνθρωποι λένε "πιστοποιητικό SSL", συνήθως εννοούν πιστοποιητικό που χρησιμοποιείται για κρυπτογράφηση TLS. Οι όροι χρησιμοποιούνται συχνά εναλλακτικά, αλλά το TLS είναι η πραγματική τεχνολογία που χρησιμοποιείται σήμερα.

Τι είναι ένα πιστοποιητικό SSL;

Ένα πιστοποιητικό SSL είναι ένα ψηφιακό αρχείο που χρησιμοποιεί ο web server σου για να αποδείξει την ταυτότητά του και να δημιουργήσει κρυπτογραφημένη σύνδεση. Περιέχει:

  • Το domain σου: Για ποιο domain ισχύει το πιστοποιητικό (www.example.com)
  • Στοιχεία του οργανισμού σου: Επωνυμία εταιρείας, διεύθυνση κ.λπ.
  • Δημόσιο κλειδί: Το χρησιμοποιούν οι browsers των επισκεπτών για να κρυπτογραφήσουν δεδομένα
  • Ψηφιακή υπογραφή: Απόδειξη ότι αξιόπιστη αρχή επαλήθευσε αυτό το πιστοποιητικό
  • Ημερομηνία λήξης: Πότε λήγει το πιστοποιητικό και πρέπει να ανανεωθεί

Το πιστοποιητικό είναι σαν ψηφιακή ταυτότητα που αποδεικνύει ότι ο server σου είναι νόμιμος.

Πώς επαληθεύονται τα πιστοποιητικά SSL

Όταν ένας επισκέπτης μπαίνει στην ιστοσελίδα σου με HTTPS, ο browser του ελέγχει το πιστοποιητικό SSL για να βεβαιωθεί ότι είναι νόμιμο:

  1. Ο server σου στέλνει το πιστοποιητικό του. Ο browser το λαμβάνει.
  2. Ο browser ελέγχει την ψηφιακή υπογραφή. Είναι αυτό το πιστοποιητικό υπογεγραμμένο από αξιόπιστη αρχή πιστοποίησης;
  3. Ο browser επαληθεύει το domain. Ταιριάζει το πιστοποιητικό με το domain που επισκέπτεται ο χρήστης;
  4. Ο browser ελέγχει την ημερομηνία λήξης. Ισχύει ακόμα το πιστοποιητικό;

Αν αποτύχει οποιοσδήποτε από αυτούς τους ελέγχους, ο browser δείχνει προειδοποίηση. Αν περάσουν όλοι, ο browser δείχνει εικονίδιο λουκέτου (ή ένδειξη ασφάλειας) που λέει στον επισκέπτη ότι η σύνδεση είναι κρυπτογραφημένη και η ιστοσελίδα νόμιμη.

Τύποι πιστοποιητικών SSL

Πιστοποιητικά Domain Validated (DV)

Το βασικό πιστοποιητικό. Η αρχή πιστοποίησης επαληθεύει ότι κατέχεις το domain, αλλά δεν επαληθεύει τον οργανισμό σου. Η φθηνότερη επιλογή. Καλή για τις περισσότερες φόρμες.

Πιστοποιητικά Organization Validated (OV)

Η αρχή επαληθεύει και το domain και τα στοιχεία του οργανισμού σου. Ακριβότερο από το DV, δίνει περισσότερη εμπιστοσύνη. Ο browser δείχνει το όνομα του οργανισμού σου στις λεπτομέρειες του πιστοποιητικού.

Πιστοποιητικά Extended Validation (EV)

Η αρχή κάνει εκτενή επαλήθευση, μαζί με νομικούς ελέγχους. Το ακριβότερο. Δείχνει το όνομα του οργανισμού απευθείας στη γραμμή διευθύνσεων του browser. Χρησιμοποιείται κυρίως από χρηματοπιστωτικά ιδρύματα και ιστοσελίδες υψηλής ασφάλειας.

Πιστοποιητικά Wildcard

Ισχύουν για ένα domain και όλα τα υποdomain του (π.χ. ένα wildcard για *.example.com καλύπτει τα mail.example.com, blog.example.com κ.λπ.). Χρήσιμο αν έχεις πολλά υποdomain με φόρμες.

Πιστοποιητικά πολλών domain (SAN)

Ισχύουν για πολλά διαφορετικά domain σε ένα πιστοποιητικό. Χρήσιμο αν διατηρείς πολλές ιστοσελίδες με φόρμες.

Πώς παίρνεις πιστοποιητικό SSL

Αρχές πιστοποίησης

Αγοράζεις πιστοποιητικά από αρχές πιστοποίησης (CA) όπως:

  • Μια εμπορική αρχή πιστοποίησης
  • Εταιρείες καταχώρισης domain που μεταπωλούν πιστοποιητικά
  • Μια άλλη μεγάλη αρχή πιστοποίησης
  • Μια δωρεάν αρχή πιστοποίησης που χρησιμοποιείται ευρέως

Οι τιμές κυμαίνονται από δωρεάν έως εκατοντάδες δολάρια τον χρόνο (πιστοποιητικά EV).

Μέσω του παρόχου φιλοξενίας

Οι περισσότεροι σύγχρονοι πάροχοι φιλοξενίας περιλαμβάνουν αυτόματα πιστοποιητικά SSL. Δεν χρειάζεται να τα αγοράσεις ή να τα διαχειριστείς ξεχωριστά. Χειρίζονται αυτόματα την ανανέωση.

Εγκατάσταση και ανανέωση

Τα πιστοποιητικά SSL λήγουν και πρέπει να ανανεώνονται. Οι περισσότεροι πάροχοι το χειρίζονται αυτόματα. Έλεγξε κατά διαστήματα την ημερομηνία λήξης του πιστοποιητικού σου, για να βεβαιωθείς ότι ισχύει ακόμα. Αν λήξει, η ιστοσελίδα σου δείχνει προειδοποίηση ασφαλείας και οι επισκέπτες μπορεί να μην την εμπιστευτούν.

Πώς επαληθεύεις ότι η φόρμα σου είναι σωστά κρυπτογραφημένη

Έλεγξε το URL

Η σελίδα της φόρμας σου πρέπει να χρησιμοποιεί HTTPS και όχι HTTP. Έλεγξε τη γραμμή διευθύνσεων.

ΣΩΣΤΟ: https://www.example.com/contact

ΛΑΘΟΣ: http://www.example.com/contact

Ψάξε για την ένδειξη ασφάλειας

Στους σύγχρονους browsers, μια ασφαλής σύνδεση HTTPS δείχνει εικονίδιο λουκέτου ή ετικέτα "Secure" στη γραμμή διευθύνσεων. Πάτησέ το για να δεις τις λεπτομέρειες του πιστοποιητικού.

Έλεγξε την εγκυρότητα του πιστοποιητικού

Πάτησε το λουκέτο και δες το πιστοποιητικό. Ψάξε:

  • Ισχύει για το domain σου;
  • Έχει λήξει;
  • Ποιος το εξέδωσε (η αρχή πιστοποίησης);

Χρησιμοποίησε διαδικτυακό εργαλείο ελέγχου SSL

Διαδικτυακά εργαλεία ελέγχου SSL σου επιτρέπουν να γράψεις το domain σου και να πάρεις αναλυτική αναφορά για τη ρύθμιση SSL. Ελέγχουν αν χρησιμοποιείς τα τελευταία πρότυπα κρυπτογράφησης και εντοπίζουν αδυναμίες.

Συνηθισμένα προβλήματα HTTPS και SSL

Προειδοποίηση μικτού περιεχομένου

Η σελίδα της φόρμας σου είναι HTTPS, αλλά κάποιοι πόροι (εικόνες, scripts, stylesheets) φορτώνονται μέσω HTTP. Οι browsers προειδοποιούν τους επισκέπτες ότι η σελίδα δεν είναι πλήρως ασφαλής. Διόρθωσέ το κάνοντας όλους τους πόρους HTTPS.

Ασυμφωνία πιστοποιητικού

Το πιστοποιητικό είναι για το www.example.com αλλά ο επισκέπτης είναι στο example.com (χωρίς www), ή το αντίστροφο. Οι browsers δείχνουν προειδοποίηση ασφαλείας. Διόρθωσέ το με πιστοποιητικό wildcard ή ανακατευθύνοντας τη μία εκδοχή στην άλλη.

Ληγμένο πιστοποιητικό

Το πιστοποιητικό σου έληξε και χρειάζεται ανανέωση. Οι browsers δείχνουν εμφανή προειδοποίηση ασφαλείας. Οι επισκέπτες μπορεί να μην εμπιστευτούν τη φόρμα σου. Ανανέωσε το πιστοποιητικό αμέσως.

Αυτουπογεγραμμένο πιστοποιητικό

Ο server σου χρησιμοποιεί πιστοποιητικό που δημιούργησες μόνος σου αντί για πιστοποιητικό από αξιόπιστη αρχή. Οι browsers δεν το εμπιστεύονται και δείχνουν προειδοποίηση. Μη χρησιμοποιείς ποτέ αυτουπογεγραμμένα πιστοποιητικά σε δημόσιες φόρμες. Αγόρασε ή χρησιμοποίησε πιστοποιητικό από αναγνωρισμένη αρχή.

Το HTTPS δεν είναι μόνο για φόρμες

Κάθε σελίδα της ιστοσελίδας σου πρέπει να χρησιμοποιεί HTTPS, όχι μόνο οι σελίδες με φόρμες. Αυτό προστατεύει όλα τα δεδομένα των επισκεπτών και λέει στη Google ότι η ιστοσελίδα σου είναι ασφαλής. Ανακατεύθυνε όλη την κίνηση HTTP σε HTTPS, ώστε οι επισκέπτες να προστατεύονται πάντα.

Φόρμες στο WEMASY

Στον Δημιουργό ιστοσελίδων του WEMASY μπορείς να προσθέσεις φόρμα στην ιστοσελίδα σου.

Δες τι περιλαμβάνει κάθε πακέτο στη σελίδα τιμών.

Συχνές ερωτήσεις

Κάνει το HTTPS την ιστοσελίδα μου πιο αργή;
Το σύγχρονο HTTPS είναι πολύ γρήγορο και χρησιμοποιεί αποδοτική κρυπτογράφηση. Προσθέτει ελάχιστο φόρτο (συνήθως λιγότερο από 5% στον χρόνο φόρτωσης σελίδας). Το όφελος ασφαλείας ξεπερνά κατά πολύ το μικροσκοπικό κόστος απόδοσης. Η Google επίσης κατατάσσει ελαφρά ψηλότερα τις ιστοσελίδες HTTPS, δίνοντάς σου όφελος SEO. Χρησιμοποίησε πάντα HTTPS.
Είναι ένα ακριβό πιστοποιητικό EV καλύτερο από ένα δωρεάν πιστοποιητικό;
Για την ασφάλεια φόρμας, όχι. Και τα δύο χρησιμοποιούν την ίδια ισχυρή κρυπτογράφηση (TLS 1.2 ή 1.3). Η διαφορά είναι στη σήμανση εμπιστοσύνης και στην επαλήθευση οργανισμού. Ένα πιστοποιητικό EV δείχνει το όνομα της εταιρείας σου στους επισκέπτες και αποδεικνύει ότι ο οργανισμός σου είναι νόμιμος. Για μια φόρμα επικοινωνίας σε επαγγελματική ιστοσελίδα, αρκεί ένα DV ή ένα δωρεάν πιστοποιητικό. Χρησιμοποίησε EV μόνο αν χρειάζεται να δείξεις υψηλή εμπιστοσύνη (π.χ. επεξεργασία πληρωμών, εφαρμογές τύπου τράπεζας).
Τι γίνεται αν κάποιος στείλει τον αριθμό της πιστωτικής του κάρτας, ακόμα κι αν η φόρμα είναι HTTPS;
Το HTTPS προστατεύει τα δεδομένα στη μεταφορά και όχι στην αποθήκευση. Αν αποθηκεύσεις τον αριθμό πιστωτικής κάρτας ως απλό κείμενο στη βάση δεδομένων σου, κινδυνεύει ακόμα. Για στοιχεία πληρωμής, χρησιμοποίησε επεξεργαστή πληρωμών (όπως το Stripe) με πιστοποίηση PCI. Μην αποθηκεύεις ποτέ μόνος σου ακατέργαστα δεδομένα πιστωτικής κάρτας.
Μπορεί να χακαρίσει κάποιος το HTTPS;
Η κρυπτογράφηση HTTPS είναι μαθηματικά ισχυρή και πρακτικά δεν χακάρεται με την τρέχουσα τεχνολογία. Το σύστημα γύρω της όμως μπορεί να είναι ευάλωτο. Αν παραβιαστεί ο server σου ή αν η συσκευή του επισκέπτη έχει μολυνθεί με malware, οι επιτιθέμενοι μπορούν ακόμα να αποκτήσουν πρόσβαση στα δεδομένα. Το HTTPS προστατεύει τα δεδομένα στη μεταφορά, αλλά χρειάζεσαι και άλλες προστασίες για την αποθήκευση και την ασφάλεια της συσκευής.
Χρειάζομαι HTTPS αν συλλέγω μόνο ονόματα και email;
Ναι. Ακόμα και φαινομενικά μη ευαίσθητα δεδομένα, όπως μια διεύθυνση email, μπορούν να χρησιμοποιηθούν για να στοχεύσουν ή να παρενοχλήσουν κάποιον. Μια διεύθυνση email σε συνδυασμό με άλλα δεδομένα έχει μεγαλύτερη αξία για τους επιτιθέμενους. Χρησιμοποίησε HTTPS σε όλες τις φόρμες, ανεξάρτητα από τα δεδομένα που συλλέγεις. Είναι το ελάχιστο.

Βάλ’ το αμέσως σε εφαρμογή
στη δική σου ιστοσελίδα.

Ξεκίνα δωρεάν με το WEMASY και φτιάξε τη σελίδα σου σε λίγα λεπτά.