Κρίσιμη ορολογία που πρέπει να γνωρίζουν οι προγραμματιστές

Καθώς ο κόσμος καθοδηγείται όλο και περισσότερο από δεδομένα, ο ασφαλής χειρισμός των δεδομένων των χρηστών είναι πιο κρίσιμος από ποτέ.

Ως προγραμματιστές, οι δουλειές μας είναι ήδη αρκετά δύσκολες: ασχολούμαστε με εξαιρετικά περίπλοκα και εύθραυστα συστήματα με πολλαπλά σημεία αποτυχίας, ενώ μεταφράζουμε τις ανθρώπινες επιθυμίες σε UI και backend. Η προσθήκη στην εργασία είναι μια αναδυόμενη και ουσιαστική σκέψη: ασφάλεια δεδομένων. Και για έναν καλό λόγο: εμείς ως πελάτες εξοργιζόμαστε εάν τα δεδομένα μας χρησιμοποιούνται κατάχρηση (άρα είναι δίκαιο να προσφέρουμε στους χρήστες μας μια ασφαλή και ευχάριστη εμπειρία) και οι κυβερνήσεις και οι επιχειρήσεις το απαιτούν για συμμόρφωση.

Ασφάλεια δεδομένων ως υπερκαταβολή

Αυτό που κάνει την ασφάλεια πιο δύσκολη είναι ότι έχει πολλά επίπεδα και γίνεται το θέμα της ευθύνης του καθενός. Σε μια σύγχρονη ομάδα cloud, πολλαπλές ομάδες ελέγχουν απευθείας την είσοδο/έξοδο δεδομένων: προγραμματιστές, διαχειριστές βάσεων δεδομένων, sysadmins (ανθρώπους του DevOps, αν θέλετε), προνομιούχοι χρήστες back-office και ούτω καθεξής. Αυτοί οι ρόλοι/ομάδες μπορούν γρήγορα να κλείσουν τα μάτια τους και να σκεφτούν την ασφάλεια των δεδομένων ως το πρόβλημα των άλλων. Ωστόσο, η πραγματικότητα είναι ότι έχουν τους δικούς τους κόσμους για να φροντίσουν, καθώς ένας διαχειριστής βάσης δεδομένων δεν μπορεί να ελέγξει την πλευρά της ασφάλειας της εφαρμογής, ένα άτομο DevOps δεν μπορεί να κάνει απολύτως τίποτα για την πρόσβαση στο back office κ.ο.κ.

Προγραμματιστές και ασφάλεια δεδομένων

Τούτου λεχθέντος, οι προγραμματιστές έχουν τη μεγαλύτερη επιφάνεια πρόσβασης όσον αφορά τα δεδομένα: κατασκευάζουν κάθε μέρος της εφαρμογής. Συνδέονται με διάφορες υπηρεσίες υποστήριξης. τα διακριτικά πρόσβασης στο φέρι μπρος-πίσω. Έχουν ολόκληρο το σύμπλεγμα της βάσης δεδομένων για ανάγνωση/εγγραφή από την εντολή τους. οι εφαρμογές που γράφουν έχουν αδιαμφισβήτητη πρόσβαση σε όλα τα μέρη του συστήματος (για παράδειγμα, μια εφαρμογή Django σε παραγωγή έχει όλα τα προνόμια να απορρίψει ή να σκουπίσει ολόκληρη τη συλλογή S3 των τελευταίων δέκα ετών) και ούτω καθεξής. Ως αποτέλεσμα, η μεγαλύτερη πιθανότητα προχειρότητας ή παράβλεψης όσον αφορά την ασφάλεια υπάρχει σε επίπεδο πηγαίου κώδικα και είναι άμεση ευθύνη του προγραμματιστή.

Τώρα, η ασφάλεια των δεδομένων είναι μια τρύπα χωρίς πάτο, και δεν υπάρχει περίπτωση να χαράξω την επιφάνεια σε μια μόνο ανάρτηση. Ωστόσο, θέλω να καλύψω τη βασική ορολογία που πρέπει να γνωρίζουν οι προγραμματιστές για να διατηρήσουν τις εφαρμογές τους ασφαλείς. Σκεφτείτε το ως App Data Security 101.

Ας αρχίσουμε!

Κατακερματισμός

Εάν θέλετε έναν εξαιρετικά αυστηρό ορισμό, υπάρχει πάντα Βικιπαίδεια, αλλά με απλά λόγια, κατακερματισμός είναι η διαδικασία μετατροπής δεδομένων σε άλλη μορφή, όπου οι πληροφορίες δεν είναι αναγνώσιμες. Για παράδειγμα, χρησιμοποιώντας τη γνωστή (και πολύ ανασφαλή) διαδικασία του Κωδικοποίηση Base64, η συμβολοσειρά “Είναι το μυστικό μου ασφαλές μαζί σου;” μπορεί να μετατραπεί (“κατακερματιστεί”) σε “SXMgbXkgc2VjcmV0IHNhZmUgd2l0aCB5b3U/”. Εάν αρχίσετε να γράφετε το προσωπικό σας ημερολόγιο σε μορφή Base64, για παράδειγμα, δεν υπάρχει περίπτωση η οικογένειά σας να διαβάσει τα μυστικά σας (εκτός αν ξέρουν πώς να αποκωδικοποιούν από το Base64)!

Αυτή η ιδέα της κωδικοποίησης των δεδομένων χρησιμοποιείται κατά την αποθήκευση κωδικών πρόσβασης, αριθμών πιστωτικών καρτών κ.λπ., σε εφαρμογές ιστού (στην πραγματικότητα, θα πρέπει να χρησιμοποιείται σε όλους τους τύπους εφαρμογών). Η ιδέα, φυσικά, είναι ότι σε περίπτωση παραβίασης δεδομένων, ο εισβολέας δεν θα πρέπει να μπορεί να χρησιμοποιήσει τους κωδικούς πρόσβασης, τους αριθμούς πιστωτικών καρτών κ.λπ., για να προκαλέσει πραγματική ζημιά. Για την εκτέλεση αυτού του κατακερματισμού χρησιμοποιούνται εξαιρετικά ισχυροί και εξελιγμένοι αλγόριθμοι. κάτι σαν το Base64 θα είναι ένα αστείο και θα σπάσει αμέσως από οποιονδήποτε επιτιθέμενο.

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

  Δωρεάν υπηρεσίες ελέγχου ιστορικού: Πρέπει να τις χρησιμοποιείτε;

Ενώ βρισκόμαστε στο θέμα των κατακερματισμών, εδώ υπάρχει κάτι ενδιαφέρον. Αν ποτέ πραγματοποιήσετε λήψη λογισμικού ή αρχείων από το Διαδίκτυο, μπορεί να σας έχει πει να επαληθεύσετε τα αρχεία πριν τα χρησιμοποιήσετε. Για παράδειγμα, εάν θέλετε να κάνετε λήψη του Ubuntu Linux ISO, η σελίδα λήψης θα σας δείξει μια επιλογή για να επαληθεύσετε τη λήψη σας. αν κάνετε κλικ σε αυτό, θα ανοίξει ένα αναδυόμενο παράθυρο:

Το αναδυόμενο παράθυρο σάς λέει να εκτελέσετε μια εντολή, η οποία ουσιαστικά θα κατακερματίσει ολόκληρο το αρχείο που μόλις κατεβάσατε και θα συγκρίνει το αποτέλεσμα με τη συμβολοσειρά κατακερματισμού που βλέπετε στη σελίδα λήψης: 5fdebc435ded46ae99136ca875afc6f05bde217be7dd018e1841924b75. Αυτή η μετατροπή πραγματοποιείται χρησιμοποιώντας το Αλγόριθμος SHA256την αναφορά του οποίου μπορείτε να δείτε στα τελευταία μέρη της εντολής: shasum -a 256 –check.

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

Μερικά γνωστά ονόματα που θα ακούσετε στον τομέα του κατακερματισμού κωδικού πρόσβασης είναι MD5 (μη ασφαλής και τώρα δεν λειτουργεί), SHA-1 και SHA-2 (οικογένειες αλγορίθμων, μέλος των οποίων είναι ο SHA-256, όπως και ο SHA-512), SCRYPT, BCRYPT, κ.λπ.

Αλάτισμα

Όλα τα είδη ασφάλειας είναι ένα παιχνίδι γάτας και ποντικιού: ο κλέφτης μαθαίνει το τρέχον σύστημα και έρχεται με μια νέα ρωγμή, η οποία γίνεται αντιληπτή, και οι κατασκευαστές κλειδαριών βελτιώνουν το παιχνίδι τους, και ούτω καθεξής και ούτω καθεξής. Η κρυπτογραφία δεν αποτελεί εξαίρεση. Ενώ η μετατροπή των κατακερματισμών σε κωδικούς πρόσβασης έχει καταστεί αδύνατη, οι επιτιθέμενοι με την πάροδο του χρόνου έχουν αναπτύξει εξελιγμένες τεχνικές που συνδυάζουν την έξυπνη εικασία με την απόλυτη υπολογιστική ισχύ. Ως αποτέλεσμα, εννέα φορές από δέκα, μπορούν να προβλέψουν τον σωστό κωδικό πρόσβασης, λαμβάνοντας υπόψη μόνο τον κατακερματισμό.

“Κύριος. Rumpelstiltskin, υποθέτω;!»

Ως αποτέλεσμα, έχει αναπτυχθεί η τεχνική του αλατίσματος. Το μόνο που σημαίνει είναι ότι ο υπολογισμός κατακερματισμού ενός κωδικού πρόσβασης (ή οποιωνδήποτε δεδομένων) θα γίνει με βάση έναν συνδυασμό δύο πραγμάτων: τα ίδια τα δεδομένα, καθώς και μια νέα τυχαία συμβολοσειρά που ο εισβολέας δεν μπορεί να μαντέψει. Έτσι, με το αλάτισμα, εάν θέλουμε να κατακερματίσουμε τον κωδικό πρόσβασης superman009, θα επιλέγαμε πρώτα μια τυχαία συμβολοσειρά ως “salt”, ας πούμε, bCQC6Z2LlbAsqj77 και στη συνέχεια θα εκτελέσουμε τον υπολογισμό κατακερματισμού στο superman009-bCQC6Z2LlbAsqj77. Ο κατακερματισμός που θα προκύψει θα αποκλίνει από τις συνήθεις δομές που παράγονται από τον αλγόριθμο, μειώνοντας κατά πολύ το πεδίο για έξυπνη αντίστροφη μηχανική ή εικασίες.

Τόσο το Hashing όσο και το Salting είναι απίστευτα περίπλοκοι τομείς και εξελίσσονται συνεχώς. Επομένως, ως προγραμματιστής εφαρμογών, δεν θα ασχολούμασταν ποτέ απευθείας μαζί τους. Αλλά θα μας βοηθούσε πολύ αν τα γνωρίζαμε και μπορούσαμε να πάρουμε καλύτερες αποφάσεις. Για παράδειγμα, εάν διατηρείτε ένα παλιό πλαίσιο PHP και τυχαίνει να δείτε ότι χρησιμοποιεί κατακερματισμούς MD5 για κωδικούς πρόσβασης, ξέρετε ότι είναι ώρα να εισαγάγετε μια άλλη βιβλιοθήκη κωδικών πρόσβασης στη διαδικασία δημιουργίας λογαριασμού χρήστη.

Κλειδιά

Θα συναντούσατε συχνά τον όρο «κλειδιά» στο πλαίσιο της κρυπτογράφησης. Μέχρι στιγμής, καλύπτουμε τον κατακερματισμό κωδικού πρόσβασης ή την μονόδρομη κρυπτογράφηση, όπου μετατρέπουμε τα δεδομένα μη αναστρέψιμα και καταστρέφουμε την αρχική μορφή. Αυτή είναι μια κακή ιδέα για καθημερινή πρακτική χρήση — ένα έγγραφο που γράφτηκε και αποστέλλεται με ηλεκτρονικό ταχυδρομείο τόσο ασφαλώς που δεν μπορεί ποτέ να διαβαστεί δεν ωφελεί! Έτσι, θέλουμε να κρυπτογραφήσουμε τα δεδομένα έτσι ώστε να θέλουμε οι πληροφορίες να είναι ανοιχτές με τον αποστολέα και τον παραλήπτη, αλλά κατά τη μεταφορά ή την αποθήκευσή τους, να μην είναι αναγνώσιμες.

  Ποια iPhone έχουν Λειτουργία Πορτραίτου;

Για αυτό, η έννοια του «κλειδιού» υπάρχει στην κρυπτογραφία. Είναι ακριβώς αυτό που ακούγεται: το κλειδί για μια κλειδαριά. Το άτομο που κατέχει τις πληροφορίες τις ανακατεύει χρησιμοποιώντας κάποιο μυστικό που ονομάζεται κλειδί. Αν ο δέκτης/εισβολέας δεν έχει αυτό το κλειδί, είναι αδύνατο να αποκωδικοποιήσει τα δεδομένα, ανεξάρτητα από το πόσο περίπλοκοι μπορεί να είναι οι αλγόριθμοί τους.

Περιστρεφόμενα πλήκτρα

Ενώ τα κλειδιά καθιστούν δυνατή και αξιόπιστη την κρυπτογράφηση, φέρουν τους κινδύνους που κάνουν οι κωδικοί πρόσβασης: μόλις κάποιος μάθει το κλειδί, όλο το παιχνίδι τελειώνει. Φανταστείτε ένα σενάριο στο οποίο κάποιος χακάρει κάποιο μέρος μιας υπηρεσίας όπως το GitHub (έστω και για λίγα δευτερόλεπτα) και μπορεί να πάρει τον κωδικό 20 ετών. Μέσα στον κώδικα, βρίσκουν επίσης τα κρυπτογραφικά κλειδιά που χρησιμοποιούνται για την κρυπτογράφηση των δεδομένων της εταιρείας (φρικτή πρακτική αποθήκευσης κλειδιών μαζί με τον πηγαίο κώδικα, αλλά θα εκπλαγείτε πόσο συχνά συμβαίνει αυτό!). Εάν η εταιρεία δεν έχει μπει στον κόπο να αλλάξει τα κλειδιά της (όπως ακριβώς οι κωδικοί πρόσβασης), το ίδιο κλειδί μπορεί να χρησιμοποιηθεί για να προκαλέσει τον όλεθρο.

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

Πίστωση εικόνας: AWS

Για παράδειγμα, το AWS έχει μια αποκλειστική υπηρεσία για αυτό που ονομάζεται Υπηρεσία διαχείρισης κλειδιών AWS (KMS). Μια αυτοματοποιημένη υπηρεσία σάς γλιτώνει από την ταλαιπωρία της αλλαγής και της διανομής κλειδιών μεταξύ όλων των διακομιστών και δεν είναι καθόλου απρόβλεπτη στις μέρες μας όταν πρόκειται για μεγάλες αναπτύξεις.

Κρυπτογραφία Δημόσιου Κλειδιού

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

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

Πίστωση εικόνας: The Electronic Frontier Foundation

Η κρυπτογραφία δημόσιου κλειδιού βασίζεται στη χρήση δύο κλειδιών για την επεξεργασία πληροφοριών. Ένα από τα κλειδιά ονομάζεται Ιδιωτικό κλειδί και υποτίθεται ότι θα παραμείνει ιδιωτικό μαζί σας και δεν θα μοιραστεί ποτέ με κανέναν. Το άλλο ονομάζεται Δημόσιο Κλειδί (από όπου προέρχεται το όνομα της μεθόδου) και υποτίθεται ότι δημοσιεύεται δημόσια. Εάν σας στέλνω δεδομένα, πρέπει πρώτα να λάβω το δημόσιο κλειδί σας και να κρυπτογραφήσω τα δεδομένα και να σας τα στείλω. Στο τέλος σας, μπορείτε να αποκρυπτογραφήσετε τα δεδομένα χρησιμοποιώντας τον συνδυασμό ιδιωτικού κλειδιού και δημόσιου κλειδιού. Εφόσον δεν αποκαλύψετε κατά λάθος το ιδιωτικό σας κλειδί, μπορώ να σας στείλω κρυπτογραφημένα δεδομένα που μόνο εσείς μπορείτε να ανοίξετε.

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

Είναι δύσκολο για τους υπολογιστές να παραγοντοποιούν μεγάλους πρώτους αριθμούς. Έτσι, εάν το αρχικό κλειδί είναι πολύ μεγάλο, μπορείτε να είστε σίγουροι ότι το μήνυμα δεν μπορεί να αποκρυπτογραφηθεί ακόμη και μετά από χιλιάδες χρόνια.

Ασφάλεια επιπέδου μεταφοράς (TLS)

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

  7 διασκεδαστικές αλλά επαγγελματικές βιογεννήτριες [With Examples]

Πίστωση εικόνας: MozillaΕίναι ενδιαφέρον να σημειωθεί ότι η κρυπτογράφηση δεν συμβαίνει στο επίπεδο μεταφοράς από μόνη της. ο Μοντέλο OSI δεν λέει τίποτα για την κρυπτογράφηση δεδομένων. Απλώς τα δεδομένα κρυπτογραφούνται από την εφαρμογή (σε αυτήν την περίπτωση, το πρόγραμμα περιήγησης) πριν παραδοθούν στο Μεταφορικό Επίπεδο, το οποίο αργότερα τα αφήνει στον προορισμό τους, όπου και αποκρυπτογραφούνται. Ωστόσο, η διαδικασία περιλαμβάνει το επίπεδο μεταφοράς και στο τέλος της ημέρας, όλα καταλήγουν σε ασφαλή μεταφορά δεδομένων, επομένως ο χαλαρός όρος ασφάλεια του επιπέδου «μεταφοράς» έχει κολλήσει.

Μπορεί ακόμη και να συναντήσετε τον όρο Secure Socket Layer (SSL) σε ορισμένες περιπτώσεις. Είναι η ίδια ιδέα με το TLS, με τη διαφορά ότι το SSL ξεκίνησε πολύ πριν και τώρα έχει χαθεί υπέρ του TLS.

Πλήρης κρυπτογράφηση δίσκου

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

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

Κρυπτογράφηση από άκρο σε άκρο

Με τους συνεχιζόμενους εφιάλτες απορρήτου και ασφάλειας των μεγάλων κοινωνικών δικτύων αυτές τις μέρες, κανείς δεν αγνοεί τον όρο «κρυπτογράφηση από άκρο σε άκρο», ακόμα κι αν δεν έχει καμία σχέση με τη δημιουργία ή τη συντήρηση εφαρμογών.

Είδαμε νωρίτερα πώς το Full Disk Encryption παρέχει την απόλυτη αλεξίσφαιρη στρατηγική, αλλά για τον καθημερινό χρήστη, δεν είναι βολικό. Εννοώ, φανταστείτε ότι το Facebook θέλει τα δεδομένα τηλεφώνου που δημιουργεί και αποθηκεύει στο τηλέφωνό σας να είναι ασφαλή, αλλά δεν μπορεί να έχει πρόσβαση στην κρυπτογράφηση ολόκληρου του τηλεφώνου σας και να κλειδώσει οτιδήποτε άλλο στη διαδικασία.

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

Πίστωση εικόνας: Google

Σημειώστε ότι η κρυπτογράφηση από άκρο σε άκρο (E2E) δεν παρέχει καμία μαθηματική εγγύηση όπως η κρυπτογράφηση Δημοσίου Κλειδιού. Είναι απλώς τυπική κρυπτογράφηση όπου το κλειδί αποθηκεύεται με την επιχείρηση και τα μηνύματά σας είναι τόσο ασφαλή όσο αποφασίζει η επιχείρηση.

Συμπέρασμα 👩‍🏫

Πιθανότατα έχετε ήδη ακούσει για τους περισσότερους από αυτούς τους όρους. Ίσως και όλοι. Εάν ναι, θα σας ενθαρρύνω να επανεξετάσετε την κατανόησή σας για αυτές τις έννοιες, καθώς και να κάνετε μια αξιολόγηση του πόσο σοβαρά τις παίρνετε. Θυμηθείτε, η ασφάλεια δεδομένων εφαρμογών είναι ένας πόλεμος που πρέπει να κερδίζετε κάθε φορά (και όχι μόνο μία φορά), καθώς έστω και μία παραβίαση είναι αρκετή για να καταστρέψει ολόκληρους κλάδους, καριέρες, ακόμα και ζωές!