Σήμερα, βλέπουμε δεδομένα από διάφορες πηγές και το τελικό πρόβλημα είναι να διασφαλίσουμε την ασφάλεια και το απόρρητό τους.
Αυτό περιλαμβάνει όχι μόνο μεγάλα σύνολα δεδομένων που διατηρούνται από οργανισμούς, αλλά και μοντέλα AI/ML, αλγόριθμους και, τελικά, δεδομένα με προβολές.
Ο όγκος των δεδομένων αυξάνεται καθώς διευρύνεται ο αριθμός των εταιρειών που χρησιμοποιούν προσεγγίσεις της επιστήμης δεδομένων στη λήψη αποφάσεων.
Έχουν ανακαλυφθεί διάφοροι οργανισμοί στον τομέα της κρυπτογράφησης και της ασφάλειας για το AI/ML και το cloud computing, οι οποίοι πλέον επιτρέπουν υπολογισμούς σε κρυπτογραφημένα δεδομένα.
Στον συνεχώς μεταβαλλόμενο κόσμο της επικοινωνίας δεδομένων και πληροφοριών, ένα από τα πιο πιεστικά προβλήματα για τις επιχειρήσεις είναι η ασφάλεια του περιεχομένου των αρχείων.
Ορισμένες πληροφορίες (email, στοιχεία σύνδεσης) μπορούν να προστατεύονται με κωδικό πρόσβασης.
Ωστόσο, άλλες πληροφορίες που αποστέλλονται μέσω email ή FTP είναι αναποτελεσματικές εάν προστατεύονται από μια λέξη-κλειδί.
Εδώ παίζει ρόλο η κρυπτογράφηση αρχείων, παρέχοντας την ασφάλεια και την ευκολία που απαιτούν τα μέρη που εμπλέκονται στη μεταφορά πληροφοριών.
Τι είναι η κρυπτογράφηση αρχείων;
Τα μεμονωμένα αρχεία ή συστήματα αρχείων προστατεύονται με κρυπτογράφηση αρχείων, η οποία τα κρυπτογραφεί με ένα μοναδικό κλειδί και τα καθιστά διαθέσιμα μόνο στον κάτοχο του κλειδιού.
Ο σκοπός είναι να αποτραπεί η πρόσβαση επιβλαβών ή μη εξουσιοδοτημένων ατόμων σε αρχεία του σκληρού δίσκου.
Ένα λειτουργικό σύστημα ή σύστημα αρχείων μπορεί να παρέχει υποστήριξη κρυπτογράφησης αρχείων. Η πρόσβαση στα ευαίσθητα αρχεία είναι δυνατή μόνο με κλειδί αποκρυπτογράφησης.
Εάν ένας χρήστης πρέπει να επικοινωνήσει μεμονωμένα αρχεία με ασφάλεια μέσω του Διαδικτύου ή να τα αποθηκεύσει σε φορητά μέσα, όπως ένα USB stick, η κρυπτογράφηση αρχείων είναι χρήσιμη.
Κρυπτογραφία είναι ο όρος για τη διαδικασία κρυπτογράφησης και αποκρυπτογράφησης δεδομένων.
Ας δούμε πώς μπορούμε να χρησιμοποιήσουμε την Python για να κρυπτογραφήσουμε και να αποκωδικοποιήσουμε ορισμένα από τα δεδομένα μας. Θα χρησιμοποιήσουμε συμμετρική κρυπτογράφηση, που σημαίνει ότι θα κρυπτογραφήσουμε και θα αποκρυπτογραφήσουμε τα δεδομένα με το ίδιο κλειδί.
Για να ακολουθήσουμε αυτό το σεμινάριο, θα χρειαστούμε το Βιβλιοθήκη Python για κρυπτογραφία.
Βήματα για την κρυπτογράφηση και την αποκρυπτογράφηση ενός αρχείου
Θα ακολουθήσουμε τα βήματα που δίνονται παρακάτω.
- Εγκατάσταση βιβλιοθήκης
- Σύνολο δεδομένων
- Δημιουργία κλειδιού
- Φόρτωση κλειδιού
- Κρυπτογράφηση αρχείου
- Αποκρυπτογράφηση αρχείου
1. Εγκατάσταση βιβλιοθήκης
Ανοίξτε τη "Γραμμή εντολών" (στα Windows) και πληκτρολογήστε τον ακόλουθο κώδικα για να τα εγκαταστήσετε:
2. Σύνολο δεδομένων
Θα χρειαστούμε ένα παράδειγμα αρχείου για να δουλέψουμε για να ξεκινήσουμε. Εδώ είναι ένα δείγμα Αρχείο .csv που περιλαμβάνει πληροφορίες για τους βαθμούς των μαθητών.
3. Δημιουργία κλειδιού
Θα χρησιμοποιήσουμε μια συμμετρική εξίσωση στο παράδειγμά μας. Το Fernet είναι ένας τύπος επικυρωμένης κρυπτογράφησης που απαιτεί ένα «κλειδί» για την ανάγνωση και/ή την τροποποίηση ενός αρχείου. Τώρα θα φτιάξουμε το κλειδί και θα το βάλουμε στον ίδιο κατάλογο με το αρχείο δεδομένων μας:
Εάν μεταβείτε στον κατάλογο όπου βρίσκεται ο κώδικας Python σας, θα πρέπει να βρείτε το αρχείο mykey.key. Το αρχείο θα πρέπει να έχει μόνο μία γραμμή, η οποία είναι μια συμβολοσειρά χαρακτήρων σε κάποια ακολουθία. Μπορείτε να δείτε το κλειδί μου παρακάτω, αλλά το δικό σας θα είναι διαφορετικό.
4. Φόρτωση κλειδιού
Θα χρειαστεί να φορτώσουμε το κλειδί κρυπτογράφησης στο περιβάλλον μας αφού το δημιουργήσουμε για να κρυπτογραφήσουμε/αποκρυπτογραφήσουμε τα αρχεία. Το παρακάτω βήμα είναι αρκετά απλό και απαιτεί μόνο το άνοιγμα του αρχείου mykey.key και την αποθήκευσή του στην τοπική μνήμη:
Το κλειδί κρυπτογράφησης αποθηκεύεται πλέον τοπικά ως μεταβλητή κλειδιού.
5. Κρυπτογράφηση αρχείου
Θα κατασκευάσουμε μια συνάρτηση για να χρησιμοποιήσουμε το κλειδί κρυπτογράφησης και θα επιστρέψουμε το κρυπτογραφημένο αρχείο τώρα που έχουμε το αρχείο για κρυπτογράφηση και το κλειδί κρυπτογράφησης. Αποθηκεύουμε το αντικείμενο Fernet ως τοπική μεταβλητή f όταν το δημιουργούμε.
Στη συνέχεια, εισαγάγαμε τα αρχικά μας δεδομένα (grades.csv) στο πρωτότυπο. Στη συνέχεια, τα δεδομένα κρυπτογραφούνται με το αντικείμενο Fernet και αποθηκεύονται ως κρυπτογραφημένα.
Τέλος, το αποθηκεύουμε ως “enc_grades.csv” σε ένα αρχείο new.csv. Το κρυπτογραφημένο αρχείο μπορείτε να το δείτε εδώ:
6. Αποκρυπτογράφηση αρχείου
Θα θέλετε να αποκτήσετε πρόσβαση στο αρχείο αφού το κρυπτογραφήσετε και, για παράδειγμα, το μετακινήσετε με επιτυχία σε άλλο μέρος. Αυτές οι πληροφορίες είναι τώρα σε κρυπτογραφημένη μορφή.
Το επόμενο βήμα είναι να επαναφέρετε το αρχικό υλικό αποκρυπτογραφώντας το. Η διαδικασία που θα χρησιμοποιήσουμε τώρα είναι η αντίστροφη της κρυπτογράφησης που χρησιμοποιήσαμε στην προηγούμενη ενότητα.
Θα ακολουθήσουμε τα ίδια βήματα όπως και πριν, αλλά αυτή τη φορά θα πάμε από ένα κρυπτογραφημένο σε ένα αποκρυπτογραφημένο αρχείο:
Τέλος, το αποθηκεύουμε ως "dec_grades.csv" σε ένα αρχείο new.csv. Το κρυπτογραφημένο αρχείο μπορείτε να το δείτε παρακάτω:
Συμπέρασμα
Μάθαμε πώς να κρυπτογραφούμε και να αποκωδικοποιούμε ένα αρχείο και τα δεδομένα που περιέχονται μέσα σε αυτό χρησιμοποιώντας τον συμμετρικό τύπο κρυπτογράφησης αρχείων σε αυτήν την ανάρτηση χρησιμοποιώντας την Python γλώσσα προγραμματισμού και το πακέτο κρυπτογράφησης.
Η κρυπτογράφηση και η αποκρυπτογράφηση αρχείων είναι μια απλή διαδικασία χρησιμοποιώντας αυτήν τη βιβλιοθήκη.
Δεν χρειάζεται να χρησιμοποιήσουμε τη λογική μας μέθοδο.
Αντίθετα, μπορούμε να δημιουργήσουμε ένα κλειδί, να κρυπτογραφήσουμε το αρχείο και στη συνέχεια να το αποκωδικοποιήσουμε χρησιμοποιώντας το κλειδί – είναι ασφαλές και απλό.
Αφήστε μια απάντηση