Κεφάλαιο 4/1. “Χειρισμοί Ασφαλείας στα Δίκτυα Υπολογιστών”



4.1: Ανίχνευση Εισβολής
4.1.1: Συστήματα Ανίχνευσης Εισβολής
4.2: Τεχνικές και Επίπεδα Ασφαλείας
4.2.1: Προστασία της Εμπιστευτικότητας των Δεδομένων
4.2.2: Ακεραιότητα Δεδομένων
4.2.3: Έλεγχος Προσπέλασης και Εξουσιοδότηση
4.2.4: Αναγνώριση και Αυθεντικοποίηση
4.3: IPv6
4.3.1: Περιγραφή του IPv6
4.3.2: Η Αρχιτεκτονική Διευθυνσιοδότησης του IPv6
4.3.3: Ασφάλεια στο IPv6



4.1: Ανίχνευση Εισβολής

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

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

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

4.1.1: Συστήματα Ανίχνευσης Εισβολής

Τα συστήματα ανίχνευσης εισβολής (Intrusion Detection Systems-IDS) είναι συστήματα λογισμικού, τα οποία ανιχνεύουν εισβολές σε ένα δίκτυο υπολογιστών με βάση ορισμένα σήματα. Τα ενεργά IDS προσπαθούν να μπλοκάρουν τις επιθέσεις, αποκρίνονται με αντίμετρα ή τουλάχιστον προειδοποιούν τους διαχειριστές, κατά την εξέλιξη της επίθεσης. Τα παθητικά IDS απλώς καταγράφουν την εισβολή ή δημιουργούν ίχνη παρακολούθησης, τα οποία γίνονται εμφανή αφού επιτύχει η επίθεση.

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

Το σύστημα ανίχνευσης επιθέσεων μιας εταιρείας μεσαίου μεγέθους καταγράφει κατά μέσω όρο εκατοντάδες προσπάθειες αυτοματοποιημένων επιθέσεων κάθε μέρα.

Συστήματα Επιθεώρησης

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

Αυτές οι ενδείξεις περιλαμβάνουν τις παρακάτω:

* Κίνηση δικτύου, όπως σαρώσεις ICMP, σαρώσεις θυρών ή συνδέσεις προς μη εξουσιοδοτημένες θύρες.
* Υπογραφές γνωστών συνηθισμένων επιθέσεων, όπως σκουλήκια ή υπερχειλίσεις ενταμιευτή.
* Χρησιμοποίηση πόρων, όπως ΚΜΕ, RAM ή υπερχρησιμοποίηση Ε/Ε δικτύου σε αναπάντεχους χρόνους. Αυτό μπορεί να δηλώνει μια αυτοματοποιημένη επίθεση εναντίον ενός δικτύου.
* Δραστηριότητα αρχείων, που περιλαμβάνει δημιουργία νέων αρχείων, τροποποίηση αρχείων συστήματος, αλλαγές σε αρχεία χρηστών ή τροποποίηση λογαριασμών χρηστών ή αδειών ασφάλειας.

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

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

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

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

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

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

Συστήματα Παραπλάνησης

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

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

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

Συστήματα Παρακολούθησης

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

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

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

4.2: Τεχνικές και Επίπεδα Ασφαλείας

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

* Προστασία της Εμπιστευτικότητας των Δεδομένων – Data Confidentiality
* Προστασία της Ακεραιότητας των Δεδομένων – Data Integrity
* Έλεγχος γνησιότητας της Ταυτότητας και Αυθεντικοποίηση – Identification & Authentication
* Έλεγχος Προσπέλασης – Access Control
* Επίβλεψη – Auditing

4.2.1: Προστασία της Εμπιστευτικότητας των Δεδομένων – Data Confidentiality

Προστασία της εμπιστευτικότητας των δεδομένων, δηλαδή προστασία ενάντια σε μη-εξουσιοδοτημένες αποκαλύψεις πληροφοριών. Η τεχνολογία της κρυπτογράφησης (encryption/cryptography) είναι σχεδόν συνώνυμη αυτής της λειτουργίας.

Μια ειδική κατηγορία αποτελεί η εμπιστευτικότητα ροής δεδομένων (traffic flow confidentiality) καθώς πολλές φορές όχι το περιεχόμενο, αλλά απλά η ύπαρξη κάποιων μηνυμάτων αποτελεί ευαίσθητη πληροφορία και άρα χρειάζεται προστασία. Και αυτός ο κίνδυνος διαρροής πληροφοριών γίνεται σοβαρότερος στις περιπτώσεις που κάποιος εισβολέας έχει καταφέρει να δημιουργήσει ένα κρυφό κανάλι στο δίκτυο, από όπου καταγράφοντας την εμφάνιση σποραδικών bits μπορεί να εξάγει συμπεράσματα σχετικά με την επικοινωνία που παρακολουθεί. Οι απόπειρες υποκλοπής εδώ, εκδηλώνονται με επιθέσεις τύπου ανάλυσης κίνησης (traffic analysis) και μπορούν να εξουδετερωθούν με δυο κυρίως μεθόδους ελέγχου κίνησης δικτύου (traffic controls):

* Παρεμβολές στην κίνηση (traffic pad) όπου ο διαχειριστής ασφάλειας εισάγει «θόρυβο» στο δίκτυο, δηλαδή πλαστά μηνύματα, με σκοπό να διαταραχθεί η κανονική ροή των πληροφοριών και να συγκαλύψει τις πραγματικές ποσότητες της κυκλοφορίας των δεδομένων.
* Έλεγχος δρομολόγησης (routing control) όπου ο διαχειριστής προσπαθεί να επέμβει ενεργά στη διαδρομή που ακολουθούν τα μηνύματα. Έτσι περιοδικά, καθυστερεί πακέτα δεδομένων, αλλάζει τους ενδιάμεσους κόμβους που επισκέπτονται ή ακόμη και σβήνει ορισμένα από αυτά.

4.2.1.1: Κρυπτογράφηση/Κρυπτογραφία – Encryption/Cryptography

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

Ο όρος κρυπτογραφία προέρχεται από τις λέξεις ‘κρυπτός’ και ‘γράφος’. Κυριολεκτικά σημαίνει τη μελέτη της μυστικογραφίας. Γενικότερα, αφορά τον επιστημονικό κλάδο που ασχολείται με τη μελέτη, χρήση και ανάπτυξη τεχνικών κρυπτογράφησης και αποκρυπτογράφησης για την απόκρυψη των περιεχομένων των μηνυμάτων (ή των αποθηκευμένων δεδομένων) και την διευκόλυνση της ανίχνευσης κακόβουλων μετατροπών στα μηνύματα.

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

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

Η κρυπτογράφηση και αποκρυπτογράφηση ενός μηνύματος γίνεται με τη βοήθεια ενός αλγόριθμου κρυπτογράφησης και ενός κλειδιού κρυπτογράφησης. Κρυπτογραφικός αλγόριθμος (cipher) είναι η μέθοδος, συνήθως μια μαθηματική συνάρτηση μετασχηματισμού δεδομένων, σε μια μορφή που να μην επιτρέπει σε μη εξουσιοδοτημένα μέρη την αποκάλυψη του περιεχομένου τους. Αλλά, η δυνατότητα διατήρησης της μυστικότητας των πληροφοριών βασίζεται περισσότερο σε έναν αριθμό που ονομάζεται κλειδί (key) και χρησιμοποιείται μαζί με τον αλγόριθμο κρυπτογράφησης / αποκρυπτογράφησης, παρά στον αλγόριθμο μόνο του. Επομένως, η ανθεκτικότητα μιας κρυπτογράφησης εξαρτάται περισσότερο από το μέγεθος των κλειδιών που χρησιμοποιούνται παρά από τους αλγόριθμους. Το μέγεθος των κλειδιών μετριέται σε bits. Γενικά, κλειδιά μεγάλου μεγέθους παρέχουν ανθεκτικότερη κρυπτογράφηση. Για παράδειγμα, η κρυπτογράφηση 128-bit RC4 είναι3078 φορές ανθεκτικότερη από την 40-bit RC4.

Διαφορετικοί αλγόριθμοι απαιτούν διαφορετικά μήκη κλειδιών για να πετύχουν το ίδιο επίπεδο ανθεκτικότητας κρυπτογράφησης. Για παράδειγμα, ένας αλγόριθμος συμμετρικής κρυπτογράφησης με κλειδί μεγέθους 128 bits παρέχει ανθεκτικότερη κρυπτογράφηση από τον αλγόριθμο κρυπτογράφησης δημοσίου κλειδιού RSA με ίδιο μέγεθος κλειδιού. Για αυτό πρέπει να χρησιμοποιείται κλειδί μεγέθους τουλάχιστον 512 bits προκειμένου η κρυπτογράφηση RSA να θεωρείται ανθεκτική, ενώ οι συμμετρικοί αλγόριθμοι πετυχαίνουν περίπου το ίδιο επίπεδο ανθεκτικότητας με κλειδί μεγέθους 64 bits. Όμως ακόμη και αυτά τα επίπεδα ανθεκτικότητας έχουν αποδειχθεί ευπαθή σε επιθέσεις σήμερα.

Διάφοροι τρόποι κρυπτογράφησης άρχισαν να αναπτύσσονται από παλιά και συνεχώς εξελίσσονται και αλλάζουν όσο οι ηλεκτρονικοί υπολογιστές γίνονται ισχυρότεροι και ταχύτεροι. Η προσπάθεια να ‘σπάσει’ μια συγκεκριμένη κρυπτογραφική τεχνική ονομάζεται κρυπτανάλυση (cryptanalysis). Κρυπτανάλυση είναι η διεργασία αποκρυπτογράφησης ενός μηνύματος από ένα μη εξουσιοδοτημένο μέρος, το οποίο ονομάζεται κρυπταναλυτής (cryptanalyst).

Το αντικείμενο της κρυπτολογίας (cryptology) καλύπτει και την κρυπτογραφία και την κρυπτανάλυση.

4.2.1.1.1: Κρυπτογράφηση

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

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

Για παράδειγμα, ας υποτεθεί ότι θέλει κάποιος να κρύψει το συνδυασμό μιας κλειδαριάς. Σε αυτήν την περίπτωση, ο συνδυασμός που καλείται επίσης μήνυμα είναι 9-19-69. Για να κρατήσουμε τα πράγματα απλά, θα προσθέσουμε μέσω του αλγορίθμου το 25, που είναι το κλειδί, σε καθένα από τους αριθμούς, για να παράγουμε την κρυπτογραφημένη τιμή 34-44-94. Μπορούμε να γράψουμε αυτήν την τιμή επάνω στην κλειδαριά, για να μην την ξεχνάμε, επειδή αυτός ο αριθμός δεν θα φανεί χρήσιμος σε οποιονδήποτε τον γνωρίζει. Εμείς απλώς πρέπει να θυμούμαστε τον αλγόριθμο, αφαίρεση, και το κλειδί, 25. Το κρυπτογραφημένο κείμενο δεν έχει καμία αξία χωρίς το κλειδί. Μπορούμε επίσης να πούμε στους φίλους μας ποιο είναι το κλειδί και ποιος ο αλγόριθμος, και αυτοί να συνδυάσουν αυτές τις γνώσεις με τα κρυπτογραφημένα δεδομένα ώστε να αποκωδικοποιήσουν τον αρχικό συνδυασμό.

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

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

Σχήμα 4.1: Παράδειγμα Κρυπτογράφησης



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


4.2.1.1.2: Τεχνικές Κρυπτογράφησης

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

* Με βάση τα κλειδιά:

Μυστικού ή Συμμετρικού Κλειδιού (Symmetric-Key), χρησιμοποιούν το ίδιο μυστικό κλειδί για κρυπτογράφηση και για αποκρυπτογράφηση.

Δημοσίου ή Ασύμμετρου Κλειδιού (Public or Asymmetric-Key), χρησιμοποιούν διαφορετικό κλειδί για κρυπτογράφηση (δημόσιο κλειδί αποστολέα) και διαφορετικό για αποκρυπτογράφηση (προσωπικό κλειδί παραλήπτη).

* Με βάση τον τρόπο κρυπτογράφησης των μηνυμάτων:

Δέσμης (Block ciphers), μετατρέπουν το αναγνώσιμο μήνυμα σε δέσμες, Π.χ. των 64 bits ή πολλαπλασίων τους, τις οποίες στη συνέχεια κρυπτογραφούν με μια περίπλοκη συνάρτηση κρυπτογράφησης. Σε μια σύνοδο, όλες οι ομάδες δεδομένων από το ίδιο αρχείο κρυπτογραφούνται με το ίδιο κλειδί.

Ροής (Stream ciphers), κρυπτογραφούν το αναγνώσιμο μήνυμα ανά bit/byte κάθε φορά., με μια απλή κρυπτογραφική συνάρτηση. Η κρυπτογράφηση για μια ροή γίνεται με ένα σταθερά εναλλασσόμενο κλειδί, οπότε το κατά πόσον είναι ανθεκτική η παρεχόμενη κρυπτογράφηση εξαρτάται από την γεννήτρια κλειδιών της ροής.

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

Κρυπτογραφημένο _Κείμενο = Κρυπτογράφηση[κλειδί] (Αρχικό _Κείμενο)

Αρχικό_Κείμενο = Αποκρυπτογράφηση[κλειδί] (Κρυπτογραφημένο _Κείμενο)

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

Σχήμα 4.2[α]: Τυπικό Σύστημα Κρυπτογράφησης (Περιγραφικά)


Σχήμα 4.2[β]: Τυπικό Σύστημα Κρυπτογράφησης (Γραφικά)



Κρυπτογράφηση Μυστικού Κλειδιού

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

Σχήμα 4.3: Συμμετρική Κρυπτογραφία


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

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

Έχει ειπωθεί ότι όλα τα κρυπτογραφημένα μηνύματα μπορούν να σπάσουν, αν δοθεί αρκετός χρόνος σε έναν ηλεκτρονικό υπολογιστή που θα δοκιμάσει όλους τους πιθανούς συνδυασμούς. Αν όμως ο χρόνος αυτός είναι τόσο μεγάλος (για παράδειγμα, 1.014 χρόνια για συμμετρική κρυπτογράφηση με κλειδί 128-bit), τότε το 'σπάσιμο' του κρυπτογραφημένου μηνύματος θα έχει πιθανότατα ελάχιστη σημασία. Όσο οι ηλεκτρονικοί υπολογιστές γίνονται ισχυρότεροι και ταχύτεροι, τόσο τα κλειδιά γίνονται μεγαλύτερα και οι αλγόριθμοι κρυπτογράφησης πολυπλοκότεροι.

Τυπικά, τα κλειδιά είναι σειρές από bits και ως εκ τούτου η απαίτηση για μεγάλο πλήθος κλειδιών έχει την έννοια της χρησιμοποίησης πολλών bits, δηλαδή περισσότερα από κάποιο κάτω όριο. Η χρησιμοποίηση 64 bits αποτελεί ένα τυπικό μήκος κλειδιού το οποίο παρέχει 264 ≈ 1019 διαφορετικά κλειδιά. Οπότε, αν μπορούσαμε να δοκιμάζουμε όλους τους πιθανούς συνδυασμούς κλειδιών με ρυθμό ένα κλειδί κάθε δισεκατομμυριοστό του δευτερολέπτου, δηλαδή να δοκιμάζουμε 1.000.000.000 κλειδιά ανά δευτερόλεπτο, τότε θα χρειαζόμασταν περίπου 300 χρόνια για να δοκιμάσουμε όλους τους πιθανούς συνδυασμούς κλειδιών.

Η σχέση μεταξύ του μήκους των κλειδιών και του χρόνου που απαιτείται ώστε να καταφέρει κανείς να ‘σπάσει’ ένα κλειδί φαίνεται στο Σχήμα 4.4

Σχήμα 4.4: Σχέση Μήκους Κλειδιού και Χρόνου


Μονόδρομες Συναρτήσεις (Κατατεμαχισμοί)

Οι κατατεμαχισμοί χρησιμοποιούνται για να επιβεβαιώσουν την ορθότητα των πληροφοριών και βασίζονται σε μαθηματικούς αλγορίθμους, που καλούνται μονόδρομες συναρτήσεις. Μερικές μαθηματικές συναρτήσεις δεν μπορούν να αντιστραφούν για να ανακτηθούν οι αρχικοί αριθμοί. Για παράδειγμα, ας υποθέσουμε ότι θέλουμε να διαιρέσουμε το 46.835.345 διά 26.585. Το πηλίκο είναι 1761 και το υπόλοιπο είναι 19.610. Ας υποθέσουμε λοιπόν ότι έχουμε έναν αλγόριθμο που επιστρέφει απλώς το υπόλοιπο και απορρίπτει το πηλίκο. Τώρα αν έχουμε μόνο το υπόλοιπο και ένα από τους αρχικούς αριθμούς, δεν υπάρχει τρόπος να αναδημιουργήσουμε τον άλλο τελεστέο, επειδή το πηλίκο έχει απορριφθεί. Το υπόλοιπο από μόνο του δεν περιέχει αρκετές πληροφορίες για να ανακατασκευάσει τον αρχικό αριθμό.

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

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

Σχήμα 4.5:Κρυπτογραφία Δημοσίου Κλειδιού


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

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

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

Η κρυπτογραφία δημόσιου κλειδιού είναι μια νέα σχετικά εξέλιξη στην κρυπτογραφία, που επιλύει πολλά μακροχρόνια προβλήματα που έχουν σχέση με τα κρυπτογραφικά συστήματα - ειδικά το πρόβλημα που σχετίζεται με την ανταλλαγή μυστικών κλειδιών. Το 1976, οι Witfield Diffe και Martin Hellman βρήκαν ένα τρόπο για να επιλύσουν το πρόβλημα του ασφαλούς καναλιού. Βρήκαν ότι ορισμένες μονόδρομες συναρτήσεις μπορούν να αναιρεθούν χρησιμοποιώντας ένα διαφορετικό κλειδί για αποκρυπτογράφηση, από αυτό που χρησιμοποιείται για κρυπτογράφηση. Η λύση τους, που ονομάστηκε κρυπτογραφία δημόσιου κλειδιού, εκμεταλλεύεται ένα χαρακτηριστικό των πρώτων και των σχεδόν πρώτων αριθμών, συγκεκριμένα, το πόσο δύσκολο είναι να βρείτε δύο παράγοντες ενός μεγάλου αριθμού που έχει δύο μόνο παράγοντες, όπου και οι δύο είναι πρώτοι. Από την ώρα που οι Diffie και Hellman ανέπτυξαν το σύστημά τους, έχουν εισαχθεί και μερικοί άλλοι κρυπτοθετήρες δημόσιου κλειδιού, που χρησιμοποιούν ακόμη πιο δύσκολες μοvόδρoμες συναρτήσεις.

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



Υβριδικά Κρυπτοσυστήματα


Αν και είναι πολύ βραδύτερο από τα συμμετρικά συστήματα, το σύστημα δημόσιου κλειδιού/ιδιωτικού κλειδιού επιλύει έξυπνα το πρόβλημα που ταλανίζει τα συμμετρικά κρυπτοσυστήματα - την ανταλλαγή μυστικών κλειδιών.

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

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

Όταν και τα δύο μέρη έχουν το μυστικό κλειδί, μπορούν να αρχίσουν να χρησιμοποιούν ένα ταχύτερο κρυπτοσύστημα μυστικού κλειδιού για να ανταλλάσσουν μυστικά μηνύματα.



4.2.1.1.3: Ανάλυση της Ανθεκτικότητας των Αλγορίθμων


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

* Πλήρη γνώση του κρυπτογραφικού αλγορίθμου,

* Μερικά 'γνωστά μηνύματα', Π.χ. μέρος ή το σύνολο από αρχικά μηνύματα που αντιστοιχούν σε γνωστά κρυπτογραφημένα μηνύματα

* Μερικά κρυπτογραφημένα κείμενα που όλα έχουν υπολογισθεί με χρήση του ίδιου μυστικού κλειδιού

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

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

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

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

4.2.1.1.4: Συνολική Διαδικασία Κρυπτογράφησης

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

Η συνολική διαδικασία εξελίσσεται κατά βήμα ως εξής:

1) Ο αποστολέας εφαρμόζει στο αρχικό μήνυμα μια μονόδρομη συνάρτηση κατακερματισμού και παράγεται μια μοναδική τιμή, που αποτελεί τη σύνοψη μηνύματος (message digest). Η τιμή αυτή θα χρησιμοποιηθεί αργότερα για να επιβεβαιώσει την ακεραιότητα του μηνύματος κατά την παραλαβή του.

2) Ο αποστολέας κρυπτογραφεί τη συνόψιση μηνύματος με το δικό του ιδιωτικό κλειδί για υπογραφές και με αυτό τον τρόπο προκύπτει η ψηφιακή υπογραφή.

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

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

5) Το μήνυμα που στέλνεται στον παραλήπτη αποτελείται από:

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

6) Ο παραλήπτης λαμβάνει το μήνυμα και αποκρυπτογραφεί τον ψηφιακό φάκελο με το ιδιωτικό του κλειδί (για κρυπτογράφηση), ώστε να αποκτήσει το συμμετρικό κλειδί.

7) Αποκρυπτογραφεί με το συμμετρικό κλειδί το κρυπτογραφημένο μήνυμα, (μαζί με την υπογραφή και το πιστοποιητικό του αποστολέα).

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

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

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

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

Σχήμα 4.6: Διαδικασία Κρυπτογράφησης


4.2.1.1.5: Ψηφιακά Πιστοποιητικά – Digital Certificates

Τα μεγάλα δίκτυα όπως είναι και το Internet σ' ένα μεγάλο βαθμό στηρίζονται στην εμπιστοσύνη. Πρόκειται για έναν εικονικό κόσμο στον οποίο ο χρήστης δεν βλέπει τους ανθρώπους ή τους φορείς με τους οποίους επικοινωνεί παίρνοντας και δίνοντας πληροφορίες. Δεν βλέπει για παράδειγμα τον χρήστη στον οποίο στέλνει e-mail αλλά εμπιστεύεστε ότι είναι αυτός που ισχυρίζεται ότι είναι.

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

Ο σημαντικότερος τρόπος αποφυγής του προαναφερθέντος προβλήματος είναι η χρήση των ψηφιακών πιστοποιητικών (digital certificates). Τα ψηφιακά πιστοποιητικά χρησιμοποιούνται για να πιστοποιήσουν ότι το άτομο που στέλνει πληροφορίες ή έναν αριθμό πιστωτικής κάρτας ή ένα μήνυμα ή οτιδήποτε άλλο στο Internet είναι πραγματικά αυτό που δηλώνει ότι είναι. Τα πιστοποιητικά τοποθετούν τις πληροφορίες στον σκληρό δίσκο του χρήστη και χρησιμοποιούν τεχνολογία απόκρυψης για να δημιουργήσουν ένα μοναδικό ψηφιακό πιστοποιητικό για κάθε χρήστη. Όταν κάποιος που διαθέτει ένα ψηφιακό πιστοποιητικό επισκεφθεί κάποιο site ή στείλει e-mail το πιστοποιητικό αυτό παρουσιάζεται στο site ή επισυνάπτεται στο e-mail και πιστοποιεί ότι ο χρήστης είναι αυτός που ισχυρίζεται ότι είναι.

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

Τα ψηφιακά πιστοποιητικά εκδίδονται έναντι χρεώσεως από ιδιωτικές εταιρίες που ονομάζονται Digital Authorities. Μία τέτοια εταιρία είναι η πολύ γνωστή VeriSign. Τα ψηφιακά πιστοποιητικά περιλαμβάνουν διάφορες πληροφορίες όπως το όνομα του χρήστη, το όνομα της εταιρίας που το εκδίδει, έναν σειριακό αριθμό και άλλες παρόμοιες πληροφορίες. Οι πληροφορίες έχουν κωδικοποιηθεί μ' έναν τρόπο που τις κάνει μοναδικές για τον κάθε χρήστη. Όπως στα περισσότερα πράγματα στο Internet έτσι και στην περίπτωση των ψηφιακών πιστοποιητικών υπάρχει ένα πρότυπο που επικρατεί και είναι γνωστό με την ονομασία X.509.

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

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

Ο Πάροχος Υπηρεσιών Πιστοποίησης είναι η οντότητα που παρέχει την υπηρεσία εκείνη με την οποία πιστοποιείται η σχέση ενός προσώπου με το δημόσιο κλειδί του. Ο τρόπος με τον οποίο γίνεται αυτό, είναι με την έκδοση ενός πιστοποιητικού (ένα ηλεκτρονικό αρχείο) στο οποίο ο Πάροχος Υπηρεσιών Πιστοποίησης πιστοποιεί την ταυτότητα του προσώπου και το δημόσιο κλειδί του.

Από τους σημαντικότερους τύπους ψηφιακών πιστοποιητικών είναι το πιστοποιητικό δημοσίου κλειδιού (public key certificate). Ο στόχος του πιστοποιητικού δημοσίου κλειδιού είναι η δημιουργία μιας σχέσης ταυτοποίησης μεταξύ του δημοσίου κλειδιού και του δικαιούχου του. Το πιστοποιητικό αναφέρει το δημόσιο κλειδί (το οποίο και είναι το αντικείμενο του πιστοποιητικού) και επιβεβαιώνει ότι το συγκεκριμένο πρόσωπο που αναφέρεται στο πιστοποιητικό είναι ο δικαιούχος του αντίστοιχου ιδιωτικού κλειδιού. Έτσι ο παραλήπτης που λαμβάνει ένα μήνυμα με ψηφιακή υπογραφή, μπορεί να είναι σίγουρος ότι το μήνυμα έχει σταλεί από το πρόσωπο που το υπογράφει.

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

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

Σχήμα 4.7: Παράδειγμα προβολής πιστοποιητικού


Σχήμα 4.8: Ένδειξη ψηφιακής υπογραφής σε μήνυμα με πιστοποιητικό



Ένα πιστοποιητικό εφόσον διαπιστωθεί ή υπάρχει υπόνοια ότι για κάποιους λόγους δεν είναι έγκυρο (π.χ. αν το ιδιωτικό κλειδί του δικαιούχου έχει γίνει γνωστό σε τρίτους ή το πρόσωπο εξαπάτησε τον Πάροχο Υπηρεσιών Πιστοποίησης ως προς τα στοιχεία της ταυτότητάς του κλπ), τότε ο Πάροχος Υπηρεσιών Πιστοποίησης προβαίνει στην ανάκλησή του, όπως ρυθμίζεται από τη νομοθεσία. [23]

Τύποι Ψηφιακών Πιστοποιητικών

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

Υπάρχουν διάφοροι τύποι ψηφιακών πιστοποιητικών, όπως:

* Client SSL certificαtes. Χρησιμοποιούνται για την αναγνώριση χρηστών από εξυπηρετητές μέσω SSL (clίent authentίcatίon).
* Server SSL certificates. Χρησιμοποιούνται για την αναγνώριση των εξυπηρετητών μέσω SSL (serνer authentίcatίon).
* S/MΙME certificαtes. Χρησιμοποιούνται για την υπογραφή και κρυπτογράφηση μηνυμάτων ηλεκτρονικού ταχυδρομείου (email). Ένα πιστοποιητικό πελάτη μπορεί να χρησιμοποιηθεί και ως S/MIME και ως Client SSL certίficate.
* Object-signing certίfιcαtes. Χρησιμοποιούνται για την αναγνώριση υπογεγραμμένου κώδικα σε Java, JavaScrίpt, καθώς και άλλων τύπων αρχείων.
* CA certίfιcαtes. Χρησιμοποιούνται για την αναγνώριση ΑΠ

Τα πιστοποιητικά χαρακτηρίζονται ακόμη και από το είδος της πληροφορίας που περιέχουν. Έτσι, υπάρχουν:

* Πιστοποιητικά ταυτότητας (Identity certίficates) που ταυτοποιούν μια οντότητα και
* Πιστοποιητικά χαρακτηριστικών (Attribute certίficates) που περιγράφουν τις ιδιότητες μιας οντότητας, όπως κάποιο δικαίωμα προσπέλασης ή τη συμμετοχή της σε μια ομάδα χρηστών.

Ανάλογες είναι και οι χρήσεις των παραπάνω τύπων πιστοποιητικών:

* Σύνοδοι με βάση το πρωτόκολλο SSL (SSL Protocol).
* Υπογεγραμμένο και Κρυπτογραφημένο Ηλεκτρονικό Ταχυδρομείο (Signed and Encrypted Email).
* Εφάπαξ διαδικασία εισόδου στο σύστημα (Sίngle Sίgn-On).
* Υπογραφή ηλεκτρονικών φορμών (Form Sίgnίng).
* Υπογραφή αντικειμένων (Object Sίgnίng).
* Έλεγχος προσπέλασης (Access Control), Κ.ά.


Σχήμα 4.9: Δείγμα Ψηφιακού Πιστοποιητικού



4.2.2 : Ακεραιότητα Δεδομένων – Data Integrity


Όταν μιλάμε για ακεραιότητα δεδομένων εννοούμε την δυνατότητα εντοπισμού παραποίησης και ανάκτησης δεδομένων. Για την προστασία της εγκυρότητας των δεδομένων εκτός της κρυπτογράφησης, χρησιμοποιούνται μηχανισμοί δημιουργίας συνοψίσεων μηνυμάτων (message digests) και ψηφιακών υπογραφών (digital signatures).

4.2.2.1: Ψηφιακές Υπογραφές – Digital Signatures

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

Στη διαδικασία της δημιουργίας και επαλήθευσης της υπογραφής εμπλέκεται και η έννοια της συνάρτησης κατακερματισμού (ή κατατεμαχισμού -one way hash). Με την εφαρμογή της συνάρτησης κατακερματισμού, από ένα μήνυμα ανεξαρτήτου του μεγέθους του, παράγεται η «σύνοψή του», η οποία είναι μία σειρά από bits συγκεκριμένου μεγέθους (π.χ. 128 ή 160 bits). Η σύνοψη του μηνύματος (fingerprint ή message digest) είναι μία ψηφιακή αναπαράσταση του μηνύματος, είναι μοναδική για το μήνυμα και το αντιπροσωπεύει.

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

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

Δηλαδή, η ψηφιακή υπογραφή, σε αντίθεση με την ιδιόχειρη υπογραφή, είναι διαφορετική για κάθε μήνυμα!!

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

Μία ψηφιακή υπογραφή μπορεί να πλαστογραφηθεί εάν ο δικαιούχος του ιδιωτικού κλειδιού δεν το έχει υπό τον πλήρη έλεγχό του (π.χ. χάσει το μέσο στο οποίο έχει αποθηκευτεί το ιδιωτικό κλειδί).
Δημιουργία και επαλήθευση ψηφιακής υπογραφής

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

Ο αποστολέας χρησιμοποιώντας κάποιον αλγόριθμο κατακερματισμού (one way hash) δημιουργεί τη σύνοψη του μηνύματος (message digest) που θέλει να στείλει. Ανεξάρτητα από το μέγεθος του μηνύματος, αυτό που θα παραχθεί θα είναι μία συγκεκριμένου μήκους σειρά ψηφίων. Με το ιδιωτικό του κλειδί, ο αποστολέας κρυπτογραφεί τη σύνοψη. Αυτό που παράγεται είναι η ψηφιακή υπογραφή. Η υπογραφή είναι ουσιαστικά μία σειρά ψηφίων συγκεκριμένου πλήθους.

Η κρυπτογραφημένη σύνοψη (ψηφιακή υπογραφή) προσαρτάται στο κείμενο και το μήνυμα με τη ψηφιακή υπογραφή μεταδίδονται μέσω του δικτύου. O αποστολέας αν επιθυμεί μπορεί να κρυπτογραφήσει το μήνυμά του με το δημόσιο κλειδί του παραλήπτη.
Παραλήπτης

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

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

Οι παρακάτω διεργασίες που περιγράφουν την διαδικασία παραγωγής μιας ψηφιακής υπογραφής και πιστοποίησης, γίνονται από το ανάλογο λογισμικό στον υπολογιστή του χρήστη.
Σχήμα 4.10[α]: Δημιουργία ψηφιακής υπογραφής


Σχήμα 4.10[β]: Επαλήθευση ψηφιακής υπογραφής


4.2.3: Έλεγχος Προσπέλασης και Εξουσιοδότηση – Access Control and Authorization

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

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

Ο έλεγχος προσπέλασης θα μπορούσαμε να πούμε ότι έχει δύο πλευρές:

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

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

* Λίστες Ελέγχου Προσπέλασης – Access Control Lists ACLs
* Ταυτότητες Ασφαλείας – Security Labels
* Firewalls
* Ψηφιακές Υπογραφές – Digital Signatures

4.2.3.1: Λίστες Ελέγχου Προσπέλασης – Access Control Lists ACLs

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

Οι ACLs αποτελούν ένα τυπικό χαρακτηριστικό πολλών σημερινών λειτουργικών συστημάτων. Όμως η διαχείριση και η χρήση των ACLs είναι σχετικά δύσκολη. Για τη μείωση του κόστους διαχείρισης αλλά και του χώρου αποθήκευσης, τα υποκείμενα, οι χρήστες δηλαδή ή κάποια διεργασία, συγκροτούνται συχνά σε ομάδες οπότε τα δικαιώματα προσπέλασης ορίζονται για ομάδες παρά για ξεχωριστά υποκείμενα. Κάθε υποκείμενο μπορεί κατόπιν να ανήκει σε μια ή περισσότερες ομάδες.

4.2.3.2: Firewalls

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

Από τη στιγμή που ένα δίκτυο αποκτήσει σύνδεση στο Internet, ανοίγει ένα κανάλι αμφίδρομης επικοινωνίας: οι χρήστες του δικτύου, insiders, αποκτούν επαφή με τον έξω κόσμο, αλλά ταυτόχρονα και οι outsiders, δηλαδή οι εξωτερικοί χρήστες ως προς αυτό το δίκτυο, αποκτούν πλέον δυνατότητα πρόσβασης σε αυτό. Ο τρομακτικός ρυθμός αύξησης του διαδικτύου, προκαλεί ανάλογη αύξηση των πιθανών κινδύνων στα ιδιωτικά δίκτυα που συνδέονται μαζί του. Για τη προστασία τους από διάφορες εισβολές απαιτείται ένας κατάλληλος φράκτης. Ο φράκτης αυτός που καλείται firewall, πρέπει να είναι ικανός να επεξεργάζεται όλη τη κυκλοφορία μηνυμάτων ανάμεσα σε ένα συγκεκριμένο τοπικό ή ιδιωτικό δίκτυο και στο Internet. Στην πραγματικότητα ένα σύστημα firewall ανορθώνει ένα εξωτερικό τοίχο ασφάλειας, οριοθετώντας μια περίμετρο προστασίας. Έτσι προκαλεί ένα σαφή διαχωρισμό ανάμεσα στο προστατευμένο-εσωτερικό δίκτυο ενός οργανισμού το οποίο θεωρείται ασφαλές και έμπιστο και στο εξωτερικό διαδίκτυο το οποίο θεωρείται μη ασφαλές και μη έμπιστο. Ο πρωταρχικός σκοπός των firewalls δηλαδή είναι να προστατεύσουν τα δίκτυα από εξωτερικούς εισβολείς, περιορίζοντας τους τα δικαιώματα προσπέλασης σε αυτό, χωρίς να περιορίζουν την προσπέλαση στον εξωτερικό περιβάλλον.

Ένα σύστημα firewall ορίζεται ως το λογισμικό και ο εξοπλισμός που τοποθετούμενος ανάμεσα στο διαδίκτυο και στο υπό προστασία δίκτυο, επιτρέπει την προσπέλαση των εξωτερικών χρηστών στο προστατευμένο δίκτυο, μόνο εφόσον διαθέτουν συγκεκριμένα χαρακτηριστικά. Έτσι ένα τυπικό σύστημα firewall μπορεί να επιτρέπει επιλεκτικά τη πρόσβαση στους εξωτερικούς χρήστες, βασιζόμενο σε ονόματα χρηστών και συνθηματικά ή σε ΙΡ διευθύνσεις ή ακόμη και σε ονόματα επικρατειών (domain names). Ο κύριος σκοπός του δηλαδή είναι να κρατήσει τις επικίνδυνες δραστηριότητες μακριά από το προστατευμένο περιβάλλον.

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

Μια τυπική διάταξη firewalls παρουσιάζεται στην ακόλουθη εικόνα:

Σχήμα 4.11


Σε αυτή τη διάταξη, το εσωτερικό δίκτυο χωρίζεται από τα εξωτερικά δίκτυα με μια πύλη firewall. Η πύλη χρησιμοποιείται για την παροχή:

* υπηρεσιών αναμετάδοσης μεταξύ των δικτύων και

* υπηρεσιών φιλτραρίσματος για περιορισμό των πληροφοριών που διέρχονται με προορισμό/αφετηρία τους ξενιστές του εσωτερικού δικτύου.

Τα firewalls κρατούν τη σύνδεση στο Internet όσο το δυνατό πιο ασφαλή, επιθεωρώντας και κατόπιν εγκρίνοντας ή απορρίπτοντας κάθε προσπάθεια σύνδεσης που γίνεται ανάμεσα στο εσωτερικό δίκτυο μιας εταιρείας και σε εξωτερικά δίκτυα, όπως το Internet. Ισχυρά fιrewalls προστατεύουν ένα δίκτυο υπολογιστών και όλα τα επίπεδα λογισμικού - από το επίπεδο σύνδεσης Δεδομένων όπως το Ethernet μέχρι το επίπεδο Δικτύου όπως το TCP/IP και μέχρι το επίπεδο Εφαρμογής όπως το ΗΤΤΡ.

Τα fιrewalls τοποθετούνται στα σύνορα του δικτύου, συνδεόμενα απευθείας με τα κυκλώματα που παρέχουν πρόσβαση σε άλλα δίκτυα. Για αυτόν το λόγο, τα fιrewalls συχνά αναφέρονται ως ασφάλεια συνόρων. Η έννοια της ασφάλειας συνόρων είναι σημαντική αφού χωρίς αυτή, κάθε ξενιστής στο δίκτυο θα πρέπει να κάνει μόνος του τις λειτουργίες fιrewall, καταναλώνοντας άσκοπα υπολογιστικούς πόρους και αυξάνοντας τον χρόνο που απαιτείται για σύνδεση, επαλήθευση και κρυπτογράφηση δεδομένων σε δίκτυα τοπικής περιοχής, υψηλής ταχύτητας. Τα fιrewalls επιτρέπουν να γίνονται σε κεντρικό επίπεδο όλες τις υπηρεσίες ασφάλειας δικτύου, σε μηχανήματα, τα οποία έχουν βελτιστοποιηθεί γι' αυτόν το σκοπό και είναι αφοσιωμένα σε αυτήν την εργασία.

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

Σχήμα 4.12: Τοποθέτηση Firewall πίσω από μηχανήματα με εκτεταμένη σύνδεση στο Διαδίκτυο


Διαβάστε περισσότερα...

Δεν υπάρχουν σχόλια: