Χρησιμοποιεί η SSH TLS ή SSL
Περίληψη:
Σε αυτό το άρθρο, θα διερευνήσουμε τις διαφορές μεταξύ των πρωτοκόλλων SSL και SSH. Θα συζητήσουμε βασικά σημεία σχετικά με τον τρόπο λειτουργίας τους, την έννοια της κρυπτογράφησης, της συμμετρικής και ασύμμετρης κρυπτογράφησης, της ανταλλαγής κλειδιών, των ψηφιακών υπογραφών και των αρχών πιστοποιητικών. Θα εξηγήσουμε επίσης τη χρήση κρυπτογραφικών hashes σε ασφαλή πρωτόκολλα.
Βασικά σημεία:
- Το SSL χρησιμοποιεί έλεγχο ταυτότητας βάσει πιστοποιητικού, ενώ η SSH βασίζεται σε μια διαδικασία ελέγχου ταυτότητας ονόματος χρήστη/κωδικού πρόσβασης.
- Η κρυπτογράφηση είναι η διαδικασία κωδικοποίησης πληροφοριών για να διατηρηθεί η ασφαλής από μη εξουσιοδοτημένη πρόσβαση.
- Η συμμετρική κρυπτογράφηση κλειδιών χρησιμοποιεί το ίδιο κλειδί τόσο για κρυπτογράφηση όσο και για αποκρυπτογράφηση.
- Η ασύμμετρη κρυπτογράφηση κλειδιών, επίσης γνωστή ως κρυπτογράφηση δημόσιου κλειδιού, χρησιμοποιεί ένα ζεύγος κλειδιού που αποτελείται από ιδιωτικό κλειδί και δημόσιο κλειδί.
- Η κρυπτογράφηση δημόσιου κλειδιού επιτρέπει την ασφαλή ανταλλαγή κλειδιών και την ασφαλή ανταλλαγή μηνυμάτων μεταξύ των μερών.
- Η συμμετρική κρυπτογράφηση είναι ταχύτερη από την κρυπτογράφηση δημόσιου κλειδιού, επομένως χρησιμοποιείται συχνά για κρυπτογράφηση χύδην δεδομένων.
- Οι ψηφιακές υπογραφές χρησιμοποιούν κρυπτογράφηση δημόσιου κλειδιού για να επαληθεύσουν την αυθεντικότητα και την ακεραιότητα ενός μηνύματος.
- Οι αρχές πιστοποιητικών εξασφαλίζουν ότι η ένωση δημόσιων κλειδιών με τους νόμιμους ιδιοκτήτες τους.
- Οι αλγόριθμοι κρυπτογραφικού κατακερματισμού χρησιμοποιούνται για ελέγχους ακεραιότητας δεδομένων σε ασφαλή πρωτόκολλα.
- Το SSL/TLS και το SSH χρησιμοποιούνται ευρέως ασφαλή πρωτόκολλα δικτύου για την προστασία των δεδομένων κατά τη διάρκεια της μετάδοσης.
Ερωτήσεις:
- Πώς διαφέρει το SSL από την SSH όσον αφορά τον έλεγχο ταυτότητας?
- Τι είναι η κρυπτογράφηση και ποιος είναι ο στόχος της?
- Τι είναι η συμμετρική κρυπτογράφηση κλειδιών?
- Πώς λειτουργεί το δημόσιο κλειδί κρυπτογράφησης?
- Ποιο είναι το πλεονέκτημα της κρυπτογράφησης δημόσιου κλειδιού?
- Γιατί η συμμετρική κρυπτογράφηση χρησιμοποιείται για κρυπτογράφηση χύδην δεδομένων?
- Τι είναι οι ψηφιακές υπογραφές?
- Ποιος είναι ο ρόλος των αρχών πιστοποιητικών?
- Τι χρησιμοποιούνται για τους κρυπτογραφικούς αλγόριθμους κατακερματισμού?
- Τι χρησιμοποιούνται για το SSL/TLS και το SSH?
Το SSL χρησιμοποιεί έλεγχο ταυτότητας βάσει πιστοποιητικού, ενώ η SSH βασίζεται σε μια διαδικασία ελέγχου ταυτότητας ονόματος χρήστη/κωδικού πρόσβασης.
Η κρυπτογράφηση είναι η διαδικασία κωδικοποίησης πληροφοριών για να διατηρηθεί η ασφαλής από μη εξουσιοδοτημένη πρόσβαση. Στόχος του είναι να εξασφαλίσει την εμπιστευτικότητα και την ακεραιότητα των δεδομένων.
Η συμμετρική κρυπτογράφηση κλειδιών χρησιμοποιεί το ίδιο κλειδί τόσο για την κρυπτογράφηση όσο και για την αποκρυπτογράφηση των δεδομένων.
Η κρυπτογράφηση του δημόσιου κλειδιού, γνωστή και ως ασύμμετρη κρυπτογράφηση, χρησιμοποιεί ένα ζεύγος κλειδιών που αποτελείται από ιδιωτικό κλειδί και δημόσιο κλειδί. Το δημόσιο κλειδί χρησιμοποιείται για κρυπτογράφηση, ενώ το ιδιωτικό κλειδί χρησιμοποιείται για αποκρυπτογράφηση.
Η κρυπτογράφηση δημόσιου κλειδιού επιτρέπει την ασφαλή ανταλλαγή μηνυμάτων και την ανταλλαγή κλειδιών μεταξύ των μερών χωρίς να χρειάζεται να μοιράζεστε ένα μυστικό κλειδί.
Η συμμετρική κρυπτογράφηση είναι ταχύτερη από την κρυπτογράφηση δημόσιου κλειδιού, καθιστώντας την πιο αποτελεσματική για την κρυπτογράφηση μεγάλων ποσοτήτων δεδομένων.
Οι ψηφιακές υπογραφές χρησιμοποιούν κρυπτογράφηση δημόσιου κλειδιού για να επαληθεύσουν την αυθεντικότητα και την ακεραιότητα ενός μηνύματος. Παρέχουν τη διαβεβαίωση ότι ένα μήνυμα δεν έχει παραβιαστεί και πράγματι υπογράφηκε από τον αξιωματικό αποστολέα.
Οι αρχές πιστοποιητικών εξασφαλίζουν ότι η ένωση δημόσιων κλειδιών με τους νόμιμους ιδιοκτήτες τους. Εκδίδουν ψηφιακά πιστοποιητικά που περιέχουν πληροφορίες δημόσιου κλειδιού και επαληθεύουν την ταυτότητα του κατόχου πιστοποιητικού.
Οι αλγόριθμοι κρυπτογραφικού κατακερματισμού χρησιμοποιούνται για ελέγχους ακεραιότητας δεδομένων σε ασφαλή πρωτόκολλα. Δημιουργούν μια μοναδική τιμή κατακερματισμού για μια δεδομένη είσοδο, επιτρέποντας στον παραλήπτη να επαληθεύσει εάν τα δεδομένα έχουν παραβιαστεί με.
Το SSL/TLS και το SSH χρησιμοποιούνται ευρέως ασφαλή πρωτόκολλα δικτύου για την προστασία των δεδομένων κατά τη διάρκεια της μετάδοσης. Το SSL/TLS χρησιμοποιείται συνήθως για ασφαλείς επικοινωνίες στο διαδίκτυο, ενώ το SSH χρησιμοποιείται για ασφαλή απομακρυσμένη πρόσβαση και μεταφορές αρχείων.
SSL vs SSH-μια μη τεχνική σύγκριση
4. Το SSH χρησιμοποιεί μια διαδικασία ελέγχου ταυτότητας ονόματος χρήστη/κωδικού πρόσβασης για να δημιουργήσει μια ασφαλή σύνδεση, ενώ η SSL δεν το θεωρεί.
Πώς λειτουργούν οι SSL, TLS, SSH
Αυτό το άρθρο εξετάζει πώς λειτουργούν τα ασφαλή πρωτόκολλα δικτύου. Θα εξηγήσει βασικές έννοιες όπως κρυπτογράφηση, κρυπτογραφικά hashes και κρυπτογράφηση δημόσιου κλειδιού. Θα εξεταστούν τα δύο πιο δημοφιλή πρωτόκολλα ασφαλείας δικτύου, SSL/TLS και SSH, και θα περιγραφούν και συγκρίνονται τα ασφαλή αντίστοιχη μεταφοράς αρχείων τους, FTPs και SFTP.
Τι είναι η κρυπτογράφηση?
Η κρυπτογράφηση είναι η διαδικασία κωδικοποίησης πληροφοριών με τέτοιο τρόπο ώστε μόνο τα μέρη που έχουν εξουσιοδοτηθεί να διαβάζουν τις κρυπτογραφημένες πληροφορίες να μπορούν να το διαβάσουν. Στόχος του είναι να διατηρεί τις πληροφορίες ασφαλείς από τις παραχωρήσεις ή μυστικό.
Οι μη κρυπτογραφημένες πληροφορίες είναι γνωστές ως το απλό κείμενο, ενώ οι κρυπτογραφημένες πληροφορίες ονομάζονται κρυπτογράφηση κρυπτογράφησης. Για να αποκτήσετε το απλό κείμενο από το κρυπτογραφημένο κείμενο, απαιτείται ένα κλειδί κρυπτογράφησης και μόνο τα εξουσιοδοτημένα μέρη έχουν αντίγραφο του κλειδιού κρυπτογράφησης. Η διαδικασία κωδικοποίησης είναι γνωστή ως αλγόριθμος κρυπτογράφησης. Ο αλγόριθμος έχει σχεδιαστεί έτσι ώστε η αποκρυπτογράφηση του απλού κειμένου χωρίς το κλειδί να μην είναι πρακτικά εφικτό.
Υπάρχουν δύο κύριοι τύποι κρυπτογράφησης – συμμετρική κρυπτογράφηση κλειδιών και ασύμμετρη ή κρυπτογράφηση δημόσιου κλειδιού.
Συμμετρική κρυπτογράφηση κλειδιών
Στη συμμετρική κρυπτογράφηση, το κλειδί που χρησιμοποιείται για την κρυπτογράφηση του απλού κειμένου και το κλειδί που χρησιμοποιείται για την αποκρυπτογράφηση του κρυπτογράφου είναι το ίδιο. Αυτό σημαίνει ότι τα δύο μέρη (ο αποστολέας και ο δέκτης) πρέπει να μοιράζονται το κλειδί (το οποίο πρέπει να κρατηθεί μυστικό). Φυσικά, η επεξεργασία του πώς να μοιραστείτε με ασφάλεια το κλειδί είναι μια άλλη περίπτωση του τι έχει σχεδιαστεί η κρυπτογράφηση – ανταλλαγή πληροφοριών με ασφάλεια. Πώς λοιπόν τα δύο μέρη μοιράζονται το μυστικό τους κλειδί? Ευτυχώς, αυτό μπορεί να επιτευχθεί με ασύμμετρη (ή δημόσιο κλειδί) κρυπτογράφηση, εξηγείται παρακάτω. Οι δημοφιλείς συμμετρικοί αλγόριθμοι κλειδιών περιλαμβάνουν AES, Blowfish, RC4 και 3DES.
Δημόσια κρυπτογράφηση
Η κρυπτογράφηση δημόσιου κλειδιού βασίζεται σε ένα ειδικό σύνολο αλγορίθμων που απαιτούν δύο ξεχωριστά πλήκτρα. Ένα κλειδί, γνωστό ως ιδιωτικό κλειδί, διατηρείται μυστικό και το άλλο κλειδί, το δημόσιο κλειδί, είναι ευρέως διαθέσιμο. Μαζί είναι γνωστά ως ζεύγος κλειδιών. Γενικά, ο καθένας μπορεί να χρησιμοποιήσει το δημόσιο κλειδί για κρυπτογράφηση, αλλά μόνο ο ιδιοκτήτης του ιδιωτικού κλειδιού μπορεί να το αποκρυπτογραφήσει.
Το πλεονέκτημα ενός δημόσιου συστήματος κρυπτογράφησης κλειδιού είναι αυτό: μυστικό (i.μι. κρυπτογραφημένα μηνύματα μπορούν να σταλούν σε οποιονδήποτε έχει δημοσιεύσει το δημόσιο κλειδί του και μόνο ο παραλήπτης θα είναι σε θέση να αποκρυπτογραφήσει το μήνυμα. Τόσο όσο το δημόσιο κλειδί τους μπορεί να εμπιστευτεί να είναι δικό τους (μια σημαντική προειδοποίηση!), μπορεί εύκολα να ρυθμιστεί ένα ασφαλές σύστημα ανταλλαγής μυστικών μηνυμάτων. Κάθε μέρος μπορεί να δημοσιεύσει το δημόσιο κλειδί και να στείλει μυστικά μηνύματα στο άλλο χρησιμοποιώντας το άλλο’δημόσιο κλειδί. Χρησιμοποιούν το δικό τους ιδιωτικό κλειδί για να αποκρυπτογραφήσουν μηνύματα που λαμβάνουν.
Αλλά δεν κάνει’t Η δημοσίευση του δημόσιου κλειδιού καθιστά τα κρυπτογραφημένα μηνύματα πιο ευάλωτα σε μη εξουσιοδοτημένη αποκρυπτογράφηση? Όχι, δεν είναι πρακτικά δυνατό να εξαχθεί το ιδιωτικό κλειδί ενός ζεύγους κλειδιού από το δημόσιο κλειδί και χωρίς το ιδιωτικό κλειδί, το κρυπτογραφημένο κείμενο δεν μπορεί να αποκρυπτογραφηθεί. Έτσι, η δημοσίευση του δημόσιου κλειδιού δεν διευκολύνει την αποκρυπτογράφηση μηνυμάτων που κρυπτογραφούνται από το δημόσιο κλειδί.
Το RSA και το Diffie -Hellman ήταν οι πρώτοι αλγόριθμοι δημόσιου κλειδιού. Για πολύ καιρό θεωρήθηκε ότι εφευρέθηκαν το 1976/1977, αλλά όταν η μυστική έρευνα GCHQ αποχαρακτηρήθηκε το 1997, αποδείχθηκε ότι είχαν συλληφθεί ανεξάρτητα για λίγα χρόνια νωρίτερα. Το Elgamal και το DSS είναι άλλοι γνωστοί αλγόριθμοι δημόσιου κλειδιού.
Υπάρχουν ορισμένες σημαντικές χρήσεις της κρυπτογράφησης δημόσιου κλειδιού που περιγράφεται παρακάτω.
Βασική διανομή
Η συμμετρική κρυπτογράφηση χρησιμοποιεί ένα μοναδικό μυστικό κλειδί που απαιτούν και τα δύο μέρη και η διασφάλιση ότι αυτό το μυστικό κλειδί μεταδίδεται με ασφάλεια στο άλλο μέρος είναι δύσκολο. Αυτό είναι γνωστό ως το πρόβλημα διανομής βασικών.
Η κρυπτογράφηση δημόσιου κλειδιού είναι ιδανική για την επίλυση αυτού του προβλήματος. Το παραλήπτη, ο οποίος απαιτεί τον αποστολέα’S Secret Pommetric Key, δημιουργεί ένα ζεύγος κλειδιών και δημοσιεύει το δημόσιο κλειδί. Ο αποστολέας χρησιμοποιεί τον δέκτη’το δημόσιο κλειδί για να κρυπτογραφήσει το συμμετρικό τους κλειδί και το στέλνει στον δέκτη. Τώρα, τόσο ο αποστολέας όσο και ο δέκτης έχουν το ίδιο μυστικό συμμετρικό κλειδί, και κανείς άλλος δεν το κάνει, όπως ποτέ δεν έχει μεταδοθεί ως καθαρό κείμενο. Αυτό είναι συχνά γνωστό ως η ανταλλαγή κλειδιών.
Μια προφανής ερώτηση είναι να ρωτήσετε γιατί να μην χρησιμοποιήσετε την κρυπτογράφηση δημόσιου κλειδιού για τα πάντα και να αποφύγετε να στείλετε ένα μυστικό κλειδί εντελώς? Αποδεικνύεται ότι η συμμετρική κρυπτογράφηση είναι τάξεις μεγέθους ταχύτερα στην κρυπτογράφηση και την αποκρυπτογράφηση. Επομένως, είναι πολύ πιο αποτελεσματικό η χρήση κρυπτογράφησης δημόσιου κλειδιού για τη διανομή του συμμετρικού κλειδιού και στη συνέχεια για τη χρήση συμμετρικής κρυπτογράφησης.
Ψηφιακές υπογραφές
Η κρυπτογράφηση δημόσιου κλειδιού αποτελεί σημαντικό στοιχείο των ψηφιακών υπογραφών. Ένα μήνυμα μπορεί να υπογραφεί (κρυπτογραφημένο) με χρήστη’S Private Key και ο καθένας μπορεί να χρησιμοποιήσει το δημόσιο κλειδί για να επαληθεύσει ότι ο χρήστης υπέγραψε το μήνυμα και ότι το μήνυμα δεν είχε παραβιαστεί. Αυτή η εφαρμογή της κρυπτογράφησης δημόσιου κλειδιού εξηγείται λεπτομερέστερα στην επόμενη ενότητα, κρυπτογραφικά hashes.
Αρχές πιστοποιητικών
Μια κρίσιμη απαίτηση για ένα σύστημα που χρησιμοποιεί κρυπτογράφηση δημόσιου κλειδιού είναι να παρέχει έναν τρόπο αξιόπιστα τη σύνδεση των δημόσιων κλειδιών με τους ιδιοκτήτες τους. Υπάρχει περιορισμένη αξία για να είναι σε θέση να χρησιμοποιήσει κάποιον’το δημόσιο κλειδί για την κρυπτογράφηση ενός μηνύματος που προορίζεται για τους αν μπορεί’να διαπιστωθεί ότι είναι πραγματικά το δημόσιο κλειδί τους. Αυτό είναι για τις αρχές πιστοποιητικών, και τα δύο και τα πιστοποιητικά εξηγούνται παρακάτω.
Κρυπτογραφικά χτυπήματα
Οι αλγόριθμοι κρυπτογραφικού κατακερματισμού είναι σημαντικές μαθηματικές λειτουργίες που χρησιμοποιούνται ευρέως στο λογισμικό, ιδιαίτερα σε ασφαλή πρωτόκολλα όπως το SSL/TLS και το SSH.
Ένα μπλοκ δεδομένων περνά μέσω ενός αλγόριθμου κατακερματισμού για να παράγει μια πολύ μικρότερη τιμή κατακερματισμού, γνωστή ως το μήνυμα Digest, ή απλά το Digest. Το ίδιο μήνυμα θα έχει πάντα ως αποτέλεσμα την ίδια πέψη. Διαφορετικά μηνύματα παράγουν διαφορετικά πέψη.
Ένα σημαντικό χαρακτηριστικό των αλγορίθμων κατακερματισμού είναι ότι δεδομένου ενός συγκεκριμένου χωνευτή. Αυτοί είναι “ένας τρόπος” Αλγόριθμοι – Η πέψη ενός μηνύματος είναι εύκολο να υπολογιστεί, αλλά ένα μήνυμα μπορεί’να συναχθεί από το Digest. Είναι μαθηματικά δυνατό να έχουμε δύο διαφορετικά μηνύματα να παράγουν το ίδιο digest – γνωστό ως σύγκρουση – αλλά για καλούς αλγόριθμους hash αυτό είναι εξαιρετικά απίθανο.
Οι δημοφιλείς αλγόριθμοι κατακερματισμού περιλαμβάνουν MD5 και SHA-1, αν και αυτοί τώρα είναι σταδιακά υπέρ των ισχυρότερων αλγορίθμων όπως το SHA-2.
Οι αλγόριθμοι hash χρησιμοποιούνται για πολλούς σκοπούς, όπως η επαλήθευση της ακεραιότητας των δεδομένων ή των αρχείων, η επαλήθευση του κωδικού πρόσβασης και η οικοδόμηση άλλων κρυπτογραφικών λειτουργιών, όπως οι κωδικοί ελέγχου ταυτότητας μηνυμάτων (MAC) και οι ψηφιακές υπογραφές.
Ψηφιακές υπογραφές
Μια γραπτή υπογραφή καταδεικνύει ότι ένα έγγραφο δημιουργήθηκε από έναν γνωστό συγγραφέα και τους αντιπροσωπεύει με ακρίβεια. Μια ψηφιακή υπογραφή είναι παρόμοια – εγγυάται ότι το μήνυμα δημιουργήθηκε από έναν γνωστό αποστολέα (έλεγχος ταυτότητας) και ότι το μήνυμα δεν παραβιάστηκε στη διαμετακόμιση (ακεραιότητα).
Το να υπογράψετε ένα μήνυμα απαιτεί δύο στάδια. Πρώτον, υπολογίζεται το The Message Digest, παράγοντας ένα μοναδικό κατακερματισμό που είναι συνήθως πολύ μικρότερο από το μήνυμα. Στη συνέχεια, το Digest είναι κρυπτογραφημένο χρησιμοποιώντας τον υπογράφοντα μηνύματος’S ιδιωτικό κλειδί. Αυτή είναι η ψηφιακή υπογραφή του μηνύματος.
Η επαλήθευση του υπογράφοντος ενός μηνύματος απαιτεί επίσης δύο στάδια. Πρώτον, ο υπογράφων’Το δημόσιο κλειδί S (το οποίο είναι ευρέως διαθέσιμο) χρησιμοποιείται για την αποκρυπτογράφηση της ψηφιακής υπογραφής, αποδίδοντας το μήνυμα Digest. Στη συνέχεια, το μήνυμα του μηνύματος υπολογίζεται και συγκρίνεται με το αποκρυπτογραφημένο Digest. Εάν το μήνυμα δεν έχει παραβιαστεί, οι πέπες πρέπει να είναι πανομοιότυπα. Και επειδή ο υπογράφων’Το δημόσιο κλειδί χρησιμοποιήθηκε για να αποκρυπτογραφήσει την υπογραφή, τον υπογράφων’Το ιδιωτικό κλειδί πρέπει να έχει χρησιμοποιηθεί για να το κρυπτογραφήσει.
Γιατί να χρησιμοποιήσετε το μήνυμα’Sigest καθόλου? Γιατί όχι μόνο κρυπτογραφήστε το μήνυμα με τον υπογράφων’s ιδιωτικό κλειδί και χρησιμοποιήστε το κρυπτογραφημένο μήνυμα ως υπογραφή? Ενώ αυτό θα λειτουργούσε σίγουρα, είναι ανέφικτο – θα διπλασιάσει το μέγεθος του μηνύματος όταν συμπεριλαμβάνεται η υπογραφή. Το Digest είναι πολύ μικρό και με σταθερό μέγεθος, οπότε η κρυπτογράφηση του Digest παράγει μια υπογραφή που είναι πολύ μικρότερη.
Κωδικοί ελέγχου ταυτότητας μηνυμάτων (MAC)
Ένας κωδικός ελέγχου ταυτότητας μηνύματος ή Mac, είναι ένα μικρό κομμάτι πληροφοριών που συνδέονται με ένα μήνυμα που μπορεί να επαληθεύσει ότι το μήνυμα δεν έχει παραβιαστεί και ο έλεγχος ταυτότητας που το δημιούργησε.
Ένας ειδικός τύπος Mac είναι το HMAC, το οποίο κατασκευάζεται χρησιμοποιώντας ένα κρυπτογραφικό hash και ένα μυστικό κλειδί. Το μυστικό κλειδί είναι γεμισμένο και συνδυασμένο με το μήνυμα, και το digest, ή hash, υπολογίζεται. Αυτό το Digest στη συνέχεια συνδυάζεται ξανά με το γεμισμένο μυστικό κλειδί για να αποδώσει την τιμή HMAC. Είναι αδύνατο για έναν εισβολέα να παράγει το ίδιο HMAC χωρίς να έχει το μυστικό κλειδί.
Ο αποστολέας και ο δέκτης μοιράζονται το μυστικό κλειδί. Όταν ο δέκτης λάβει ένα μήνυμα, υπολογίζουν το HMAC και το συγκρίνουν με το HMAC που παρέχεται με το μήνυμα. Εάν ο αγώνας HMACS, μόνο κάποιος που κατέχει το μυστικό κλειδί θα μπορούσε να έχει δημιουργήσει το μήνυμα. Το ίδιο το μυστικό κλειδί δεν μεταδίδεται ποτέ.
Κωδικοί πρόσβασης, hashes κωδικού πρόσβασης και άλατα
Τα κρυπτογραφικά hashes είναι εξαιρετικά χρήσιμα για συστήματα που απαιτούν επαλήθευση κωδικού πρόσβασης. Είναι ένας αδικαιολόγητος κίνδυνος ασφαλείας για την αποθήκευση του χρήστη’S Κωδικοί πρόσβασης, ακόμη και αν είναι κρυπτογραφημένοι. Αντ ‘αυτού, αποθηκεύεται η αφομοίωση κάθε κωδικού πρόσβασης. Όταν ο χρήστης προμηθεύει τον κωδικό πρόσβασης, είναι χαστούκι και συγκρίνεται με την αποθήκευση που αποθηκεύεται. Αυτό είναι προτιμότερο επειδή ο κωδικός πρόσβασης δεν μπορεί να ανακτηθεί από τον κατακερματισμό του.
Ένα μειονέκτημα με αυτή τη μέθοδο είναι ότι εάν οι χρήστες έχουν τον ίδιο κωδικό πρόσβασης, θα έχουν την ίδια τιμή κατακερματισμού. Πίνακες προ-υπολογισμένων χωρισμών για κοινούς κωδικούς πρόσβασης μπορούν να χρησιμοποιηθούν για να επιτεθούν σε ένα σύστημα εάν το αρχείο που περιέχει τα πέψη μπορεί να ληφθεί. Αυτοί οι πίνακες είναι γνωστοί ως τραπέζια ουράνιου τόξου.
Για το λόγο αυτό, ένα αλάτι-μια τυχαία, μη μυστική τιμή-συνδέεται με τον κωδικό πρόσβασης πριν υπολογιστεί το Digest. Επειδή κάθε χρήστης έχει διαφορετικό αλάτι, δεν είναι εφικτό να χρησιμοποιηθούν προ-υπολογισμένοι πίνακες-θα πρέπει να υπάρχει ένας πίνακας για κάθε πιθανή τιμή αλατιού. Για να είναι αποτελεσματικά τα άλατα, πρέπει να είναι όσο το δυνατόν πιο τυχαία και με επαρκές μέγεθος – κατά προτίμηση τουλάχιστον 32 bits.
Τι είναι τα πιστοποιητικά?
Κατά τη συζήτηση του δημόσιου κλειδιού κρυπτογράφησης, εξηγήθηκε ότι πρέπει να υπάρχει ένας τρόπος για να συσχετιστούν αξιόπιστα τα δημόσια κλειδιά με τους ιδιοκτήτες τους. Χρησιμοποιώντας κάποιον’Το δημόσιο κλειδί για την κρυπτογράφηση ενός μηνύματος που προορίζεται για αυτούς απαιτεί να γνωρίζει ότι είναι πράγματι το δημόσιο κλειδί τους.
Οι αρχές πιστοποιητικών είναι η λύση σε αυτό το πρόβλημα. Αρχή πιστοποιητικών (α “Περίπου”) είναι ένας οργανισμός που εκδίδει ψηφιακά πιστοποιητικά. Ένα ψηφιακό πιστοποιητικό είναι ένα ηλεκτρονικό έγγραφο που πιστοποιεί την κυριότητα ενός δημόσιου κλειδιού.
Ένα ψηφιακό πιστοποιητικό περιέχει έναν αριθμό πεδίων – το δημόσιο κλειδί που πιστοποιεί την κυριότητα του, το όνομα του ιδιοκτήτη (το θέμα), το όνομα του εκδότη (i.μι. το CA), τις ημερομηνίες έναρξης και λήξης και τον εκδότη’ψηφιακή υπογραφή. Η ψηφιακή υπογραφή επαληθεύει ότι η CA εξέδωσε πραγματικά το πιστοποιητικό. Οι ψηφιακές υπογραφές εξηγούνται λεπτομερέστερα εδώ.
Για να λειτουργήσει το σύστημα, η Αρχή Πιστοποιητικών πρέπει να είναι αξιόπιστος τρίτος. Υπάρχει μόνο ένας μικρός αριθμός CAS, όπως το Comodo, το Symantec και το GoDaddy. Το CAS εκδίδει τα δικά τους πιστοποιητικά που περιέχουν τα δημόσια κλειδιά τους, τα οποία είναι γνωστά ως πιστοποιητικά αξιόπιστων ριζών.
Για να αποκτήσει πιστοποιητικό από μια CA, ένας οργανισμός πρέπει να παρέχει στην ΑΠ με το δημόσιο κλειδί του και επαρκή τεκμηρίωση για να αποδείξει ότι είναι ένας γνήσιος οργανισμός. Η CA επαληθεύει αυτές τις λεπτομέρειες πριν από την έκδοση του πιστοποιητικού.
Επικύρωση του ιστότοπου
Η πιο συνηθισμένη χρήση των πιστοποιητικών είναι η επικύρωση ιστοσελίδων HTTPS (i.μι. Ιστοσελίδες που έχουν διεύθυνση URL που αρχίζει με https: //). Όταν ένα πρόγραμμα περιήγησης ιστού συνδέεται με έναν ιστότοπο όπως το Amazon, ο χρήστης πρέπει να γνωρίζει ότι ο ιστότοπος μπορεί να εμπιστευτεί, i.μι. ότι η διεύθυνση URL www.αμαζόνα.Το COM αναφέρεται πραγματικά σε έναν ιστότοπο που ελέγχεται από την εταιρεία που ονομάζεται Amazon. Αυτό γίνεται με την ενσωμάτωση του ονόματος τομέα του ιστότοπου στο πιστοποιητικό’Πεδίο υποκειμένου όταν υποβάλετε αίτηση σε CA για το πιστοποιητικό. Η CA εξασφαλίζει ότι το όνομα τομέα ελέγχεται από τον οργανισμό πριν από την έκδοση του πιστοποιητικού. Το πρόγραμμα περιήγησης στο Web έχει τη δική του λίστα πιστοποιητικών ρίζας και όταν συνδέεται με τον ιστότοπο, ο ιστότοπος’Το πιστοποιητικό S αποστέλλεται πίσω από τον διακομιστή ιστού. Χρησιμοποιώντας το πιστοποιητικό CA, ελέγχει ότι το πιστοποιητικό που αποστέλλεται από τον διακομιστή ιστού εκδόθηκε από ένα από τα CA που αναγνωρίζει και ότι το όνομα τομέα ταιριάζει με το όνομα τομέα στο πιστοποιητικό.
Γιατί είναι σημαντικός αυτός ο έλεγχος? Όσο η Amazon κατέχει το όνομα τομέα (το οποίο το γνωρίζουμε), γιατί χρειαζόμαστε το πρόγραμμα περιήγησης για να ελέγξει το πιστοποιητικό?
Δυστυχώς, είναι δυνατό για το κακόβουλο λογισμικό να μιμηθεί ένα άλλο μηχάνημα. Όταν εισάγεται μια διεύθυνση URL σε ένα πρόγραμμα περιήγησης στο Web, όπως https: // www.αμαζόνα.com, πρέπει να μεταφραστεί σε μια διεύθυνση IP, e.σολ. 192.168.1.64. Αυτά τα ψηφία είναι αυτό που χρησιμοποιεί το πρόγραμμα περιήγησης για να συνδεθεί με το web-server. Η διαδικασία μετάφρασης ονομάζεται αναζήτηση DNS και περιλαμβάνει τον έλεγχο του δημόσιου μητρώου ονομάτων τομέα για να πάρει τη διεύθυνση IP, η Amazon αποφάσισε να χρησιμοποιήσει. Το κακόβουλο λογισμικό μπορεί να θέσει σε κίνδυνο τις αναζητήσεις DNS, επιστρέφοντας μια λανθασμένη διεύθυνση IP, η οποία μπορεί να είναι για έναν ψεύτικο ιστότοπο που μοιάζει με το Amazon και έχει σχεδιαστεί για να αποκτήσει στοιχεία πιστωτικής κάρτας.
Αυτό είναι όπου ο έλεγχος πιστοποιητικού αποδεικνύει την αξία του – ο ψεύτικος ιστότοπος μπορεί’t Επιστροφή του γνήσιου πιστοποιητικού και το πρόγραμμα περιήγησης στο Web θα σηματοδοτήσει ότι το πιστοποιητικό που επιστρέφεται δεν έχει εγγραφεί στο όνομα τομέα που χρησιμοποιείται στη διεύθυνση URL. Στα περισσότερα προγράμματα περιήγησης ο γνήσιος ιστότοπος θα εμφανίσει ένα σύμβολο λουκέτο και κάνοντας κλικ σε αυτό με ποντίκι θα εμφανίσει τον ιστότοπο’S Επαληθευμένη ταυτότητα, όπως και με το Chrome, παρακάτω.
Αυτός είναι ο λόγος για τον οποίο είναι σημαντικό να χρησιμοποιείτε διευθύνσεις URL που ξεκινούν με το HTTP και όχι το HTTP – μέσω του πιστοποιητικού, το πρόγραμμα περιήγησης μπορεί να παράσχει τη διαβεβαίωση στον οποίο ο ιστότοπος είναι επαληθευμένος ιδιοκτήτης του τομέα.
Πώς λειτουργεί το SSL/TLS?
Ιστορία
Το στρώμα Secure Sockets (SSL) είναι ένα κρυπτογραφικό πρωτόκολλο που έχει σχεδιαστεί για την εξασφάλιση επικοινωνιών μέσω δικτύων TCP/IP. Το SSL αναπτύχθηκε από την Netscape στις αρχές του 1990’s, αλλά διάφορα ελαττώματα ασφαλείας σήμαιναν ότι δεν ήταν’t μέχρι το SSL 3.Το 0 κυκλοφόρησε το 1996 ότι το SSL έγινε δημοφιλές.
Ήταν επίσης κατά τη διάρκεια αυτής της περιόδου ότι μια εφαρμογή ανοιχτού κώδικα της SSL που ονομάζεται SSLEAY διατέθηκε από τον Eric Young, η οποία βοήθησε να εξασφαλιστεί η ευρεία υιοθέτησή του στο Διαδίκτυο. Ο διακομιστής Web Apache κέρδισε επίσης τη δημοτικότητα και ο Ben Laurie της Apache Fame χρησιμοποίησε το SSLEAY για την παραγωγή Apache-SSL, έναν από τους πρώτους ελεύθερα διαθέσιμους ασφαλείς διακομιστές Web.
Το SSL έγινε ασφάλεια στρώματος μεταφοράς (TLS) με τη δημοσίευση του TLS 1.0 πρότυπο το 1999, ακολουθούμενο από TLS 1.1 και TLS 1.2, η πιο πρόσφατη έκδοση. Όλες οι εκδόσεις του TLS είναι σε ευρεία χρήση και μόλις πρόσφατα αυτή η υποστήριξη για το SSL 3.Το 0 έχει διακοπεί ως απάντηση στην ευπάθεια του Poodle. Για απλότητα, εμείς’LL ανατρέξτε στο SSL/TLS ως TLS για το υπόλοιπο αυτού του άρθρου.
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Το TLS προορίζεται να παρέχει ασφαλείς συνδέσεις μεταξύ ενός πελάτη (Ε.σολ. ένα πρόγραμμα περιήγησης ιστού) και ένας διακομιστής (e.σολ. ένας διακομιστής ιστού) με κρυπτογράφηση όλων των δεδομένων που περνούν μεταξύ τους.
Οι συνήθεις συνδέσεις δικτύου δεν είναι κρυπτογραφημένες, οπότε οποιοσδήποτε με πρόσβαση στο δίκτυο μπορεί να εισπνέει πακέτα, να διαβάζει ονόματα χρηστών, κωδικούς πρόσβασης, στοιχεία πιστωτικής κάρτας και άλλα εμπιστευτικά δεδομένα που αποστέλλονται σε ολόκληρο το δίκτυο-μια προφανώς απαράδεκτη κατάσταση για κάθε είδους ηλεκτρονικό εμπόριο στο Διαδίκτυο.
Νωρίτερα σε αυτή τη Λευκή Βίβλο συζητήσαμε πώς λειτουργεί η κρυπτογράφηση, συμπεριλαμβανομένης της κρυπτογράφησης και των πιστοποιητικών δημόσιου κλειδιού. Το TLS χρησιμοποιεί κρυπτογράφηση δημόσιου κλειδιού για να επαληθεύσει τα μέρη στην κρυπτογραφημένη συνεδρία και να παράσχει έναν τρόπο στον πελάτη και τον διακομιστή να συμφωνήσει σε ένα κοινό συμμετρικό κλειδί κρυπτογράφησης.
Η χειραψία SSL
ο “χειραψία” είναι το πιο κρίσιμο μέρος του SSL/TLS, καθώς αυτό είναι όπου δημιουργούνται οι σημαντικές παράμετροι για τη σύνδεση. Τα διάφορα βήματα της χειραψίας περιγράφονται παρακάτω.
Ασφαλισμένα πρωτόκολλα δικτύου 12
Βήμα 1 – Πελάτης Γεια σας
Μετά τη δημιουργία σύνδεσης TCP/IP, ο πελάτης στέλνει ένα μήνυμα πελάτη στο διακομιστή. Αυτό δηλώνει τη μέγιστη έκδοση TLS που ο πελάτης είναι πρόθυμος να υποστηρίξει, έναν τυχαίο αριθμό, τον κατάλογο των σουιτών κρυπτογράφησης που υποστηρίζονται κατά σειρά προτιμήσεων και οι αλγόριθμοι συμπίεσης και οι αλγόριθμοι συμπίεσης. Οι σουίτες κρυπτογράφησης είναι αναγνωριστικά για μια ομάδα κρυπτογραφικών αλγορίθμων που χρησιμοποιούνται μαζί. Για παράδειγμα, το TLS_RSA_WITH_AES_128_CBC_SHA σημαίνει ότι ο διακομιστής’Το δημόσιο κλειδί RSA πρέπει να χρησιμοποιηθεί και ο αλγόριθμος κρυπτογράφησης είναι 128 bit AES. Οι κωδικοί ελέγχου ταυτότητας μηνύματος (MAC) είναι HMAC/SHA-1.
Το clienthello αποστέλλεται στο ClearText, οπότε όποιος μπορεί να παρακολουθεί τα πακέτα δικτύου μπορεί να το διαβάσει.
Βήμα 2 – Διακομιστής Γεια σας
Ο διακομιστής απαντά στο ClientHello με ένα μήνυμα serverhello. Λέει στον πελάτη την έκδοση TLS που θα χρησιμοποιήσει, μαζί με τον αλγόριθμο Cipher Suite και Compression που έχει επιλέξει. Το ServerHello παρέχει επίσης έναν τυχαίο αριθμό που δημιουργείται από διακομιστή και ένα αναγνωριστικό περιόδου σύνδεσης. Το ServerHello αποστέλλεται επίσης στο ClearText.
Αμέσως μετά την αποστολή του ServerHello, ο διακομιστής στέλνει το πιστοποιητικό του, που περιέχει το δημόσιο κλειδί του, στον πελάτη. Αυτό ακολουθείται από ένα προαιρετικό μήνυμα serverkeyexchange το οποίο περιέχει τυχόν πρόσθετες απαιτούμενες τιμές για την ανταλλαγή κλειδιών.
Εάν ο διακομιστής έχει ρυθμιστεί ώστε να απαιτεί από τον πελάτη να αναγνωριστεί με πιστοποιητικό πελάτη, ο διακομιστής το ζητά σε αυτό το σημείο της χειραψίας μέσω του προαιρετικού μηνύματος πιστοποιητικού.
Τέλος, ο διακομιστής στέλνει στον πελάτη ένα μήνυμα ServerHellodone, ακόμα στο ClearText.
Βήμα 3 – Επαληθεύστε τα πιστοποιητικά διακομιστή
Συνήθως, ο πελάτης διαθέτει μνήμη προσωρινής μνήμης πιστοποιητικών ή πιστοποιητικών ρίζας CA με τα οποία μπορεί να επαληθεύσει ότι ο διακομιστής’Το πιστοποιητικό S είναι γνήσιο (και έχει εγγραφεί στον διακομιστή’ΔΙΕΥΘΥΝΣΗ IP). Εάν ο διακομιστής’Το πιστοποιητικό S είναι άγνωστο, ο πελάτης μπορεί να δώσει τη δυνατότητα αποδοχής του πιστοποιητικού ούτως ή άλλως (το οποίο είναι δυνητικά επικίνδυνο) ή μπορεί να μειώσει τη σύνδεση. Αυτό το μήνυμα αποστέλλεται στο ClearText.
Βήμα 4 – Απάντηση πελάτη
Εάν ο διακομιστής ζήτησε πιστοποιητικό από τον πελάτη, ο πελάτης στέλνει το πιστοποιητικό του, ακολουθούμενο από το μήνυμα ClientKeyExchange.
Για το μήνυμα ClientKeyExchange, ο πελάτης δημιουργεί αυτό που ονομάζεται Premaster Secret, που αποτελείται από 48 bytes. Αυτό το μυστικό αποστέλλεται στον διακομιστή ως μέρος αυτού του μηνύματος, αλλά είναι κρυπτογραφημένο με το διακομιστή’το δημόσιο κλειδί (που λαμβάνεται από το διακομιστή’πιστοποιητικό S) έτσι ώστε μόνο ο διακομιστής να μπορεί να τον αποκρυπτογραφήσει με το ιδιωτικό κλειδί του (καθώς τα μηνύματα εξακολουθούν να αποστέλλονται ως απλό κείμενο).
Μόλις ο πελάτης και ο διακομιστής μοιράζονται το Premaster Secret, το χρησιμοποιούν το καθένα σε συνδυασμό με τις δύο τυχαίες τιμές που έχουν ανταλλαγεί νωρίτερα για να παράγουν το κύριο μυστικό και στη συνέχεια τα πλήκτρα περιόδου σύνδεσης – τα συμμετρικά κλειδιά που χρησιμοποιούνται για την κρυπτογράφηση και την αποκρυπτογράφηση των δεδομένων στην επόμενη συνεδρία TLS.
Το μήνυμα ChangeCiphersPec αποστέλλεται μετά το μήνυμα ClientKeyExchange. Αυτό το μήνυμα υποδεικνύει στον διακομιστή ότι όλα τα επόμενα μηνύματα θα κρυπτογραφηθούν χρησιμοποιώντας τα κλειδιά της νέας περιόδου σύνδεσης. Ακολουθείται από το τελικό μήνυμα, το πρώτο που είναι κρυπτογραφημένο. Το τελικό μήνυμα είναι ένα hash ολόκληρης της χειραψίας μέχρι στιγμής που επιτρέπει στον διακομιστή να επαληθεύσει ότι αυτός ήταν ο πελάτης που έχει επικοινωνήσει με το διακομιστή σε όλη τη χειραψία.
Βήμα 5 – Επαληθεύστε το πιστοποιητικό πελάτη
Εάν ο διακομιστής ζήτησε το πιστοποιητικό του πελάτη, επαληθεύεται για να βεβαιωθεί ότι είναι σωστό.
Βήμα 6 – Ο διακομιστής τελείωσε
Ο διακομιστής απαντά στο τελικό μήνυμα από τον πελάτη με ένα δικό του μήνυμα Changecipherspec, ακολουθούμενο από ένα κρυπτογραφημένο τελικό μήνυμα, το οποίο και πάλι είναι ένα hash της χειραψίας σε αυτό το σημείο. Αυτό επιτρέπει στον πελάτη να επαληθεύσει ότι αυτός είναι ο ίδιος διακομιστής που έχει επικοινωνήσει με αυτό κατά τη διάρκεια της χειραψίας.
Βήμα 7 – Εγκατάσταση ασφαλούς επικοινωνίας
Σε αυτό το σημείο, όλα τα μηνύματα είναι κρυπτογραφημένα και έτσι δημιουργήθηκε ένα ασφαλές κανάλι επικοινωνίας σε όλο το δίκτυο μεταξύ πελάτη και διακομιστή έχει δημιουργηθεί.
Εγγραφές και ειδοποιήσεις
Πώς τα δεδομένα συσκευάζονται και αποστέλλονται σε όλο το δίκτυο μετά την ολοκλήρωση της χειραψίας? Αυτό περιλαμβάνει το πρωτόκολλο ρεκόρ και το πρωτόκολλο ειδοποίησης.
Πρωτόκολλο εγγραφής
Το πρωτόκολλο εγγραφής είναι υπεύθυνο για τη συμπίεση, την κρυπτογράφηση και την επαλήθευση των δεδομένων. Όλα τα δεδομένα που πρόκειται να μεταδοθούν διαχωρίζονται σε εγγραφές. Κάθε εγγραφή αποτελείται από ένα byte κεφαλίδας, ακολουθούμενο από την έκδοση πρωτοκόλλου, το μήκος των δεδομένων που πρέπει να σταλούν (γνωστό ως ωφέλιμο φορτίο) και το ίδιο το ωφέλιμο φορτίο. Πρώτον, τα δεδομένα συμπιέζονται εάν έχει συμφωνηθεί η συμπίεση. Στη συνέχεια, ένας Mac υπολογίζεται και προσαρτάται στα δεδομένα. Το MAC επιτρέπει στον δέκτη να επαληθεύσει ότι το αρχείο δεν έχει παραβιαστεί. Ο υπολογισμός του περιλαμβάνει έναν αριθμό ακολουθίας που παρακολουθείται και ο αποστολέας και ο δέκτης. Τέλος, τα δεδομένα και ο προσβεβλημένος MAC κρυπτογραφούνται χρησιμοποιώντας τη συνεδρίαση’Κλειδιά κρυπτογράφησης S και το αποτέλεσμα είναι το ωφέλιμο φορτίο για την εγγραφή. Στο τέλος λήψης, το αρχείο αποκρυπτογραφείται και ο Mac υπολογίζεται για να επαληθεύσει ότι η εγγραφή’Τα δεδομένα δεν έχουν παραβιαστεί. Εάν χρησιμοποιήθηκε συμπίεση, είναι αποσυμπιεσμένη.
Ειδοποιήσεις
Εάν προκύψουν σφάλματα, το SSL/TLS ορίζει ένα πρωτόκολλο ειδοποίησης, έτσι ώστε τα μηνύματα σφάλματος να μπορούν να περάσουν μεταξύ πελάτη και διακομιστή. Υπάρχουν δύο επίπεδα – προειδοποίηση και θανατηφόρα. Εάν εμφανιστεί ένα θανατηφόρο σφάλμα, μετά την αποστολή της ειδοποίησης, η σύνδεση είναι κλειστή. Εάν η ειδοποίηση είναι προειδοποίηση, εναπόκειται στο συμβαλλόμενο μέρος να λαμβάνει την ειδοποίηση ως προς το αν πρέπει να συνεχιστεί η συνεδρία. Μια σημαντική ειδοποίηση είναι η στενή ειδοποίηση. Που αποστέλλεται όταν κάθε μέρος αποφασίζει να κλείσει τη σύνοδο, απαιτείται κλειστός ειδοποιητής για τον κανονικό τερματισμό μιας περιόδου σύνδεσης. Αξίζει να σημειωθεί ότι ορισμένες υλοποιήσεις SSL/TLS δεν στέλνουν αυτό το μήνυμα – απλά τερματίζουν τη σύνδεση.
Εκδοχές
Οι αριθμοί εσωτερικών εκδόσεων SSL/TLS δεν αντιστοιχούν όπως μπορεί να αναμένεται σε αυτό που αναφέρεται δημόσια ως αριθμός έκδοσης. Για παράδειγμα, 3.1 αντιστοιχεί στο TLS 1.0. Οι κύριες εκδόσεις που χρησιμοποιούνται σήμερα εμφανίζονται εδώ.
Αυτά είναι χρήσιμα για να εξοικειωθούν, καθώς οι αριθμοί εσωτερικών εκδόσεων προτιμούν συχνά.
Ταλώματα SSL/TLS
Το TLS είναι ένα ώριμο, ευρέως χρησιμοποιούμενο ασφαλές πρωτόκολλο δικτύου που θα εξασφαλίσει συναλλαγές στο Διαδίκτυο για πολλά χρόνια. Όπως και κάθε ασφαλές πρωτόκολλο, όμως, έχουν ανακαλυφθεί ορισμένα σημαντικά τρωτά σημεία κατά τη διάρκεια των ετών. Τα τρωτά σημεία θα συνεχίσουν να ανακαλύπτονται και είναι σημαντικό να διατηρηθεί το λογισμικό που χρησιμοποιεί το TLS ενημερωμένο έτσι ώστε να εφαρμόζονται τα τελευταία μπαλώματα ασφαλείας.
Μερικά από τα πιο γνωστά τρωτά σημεία και τον τρόπο αντιμετώπισής τους συζητούνται παρακάτω.
Καρδιακός
Το Heartbleed είναι ένα από τα πιο σοβαρά τρωτά σημεία που βρέθηκαν ποτέ στο λογισμικό TLS, επιτρέποντας την κλοπή των κλειδιών διακομιστών, τα αναγνωριστικά περιόδου λειτουργίας και τους κωδικούς πρόσβασης χρήστη από συμβιβασμένα συστήματα. Δεν ήταν, ωστόσο, ένα ελάττωμα πρωτοκόλλου SSL, αλλά ένα σφάλμα εφαρμογής (γνωστό ως buffer over-read) στο OpenSSL‘S Free Library, η οποία χρησιμοποιείται ευρέως στο Διαδίκτυο. Εκατομμύρια μηχανές επηρεάστηκαν και αναφέρθηκαν πολλές επιτυχημένες επιθέσεις.
Τα συστήματα λογισμικού που δεν χρησιμοποιούν τις σχετικές εκδόσεις του OpenSSL δεν επηρεάστηκαν. Το OpenSSL ήταν γρήγορα patched, αλλά η επιδιόρθωση εκατομμυρίων μηχανών απαιτεί χρόνο. Όχι μόνο τα μηχανήματα έπρεπε να ενημερωθούν, αλλά τα ιδιωτικά κλειδιά του διακομιστή πρέπει να ενημερώνονται, οι κωδικοί πρόσβασης των χρηστών άλλαξαν και τα πιστοποιητικά επανεκδίδονται. Ένα χρόνο αργότερα, είναι πιθανό ότι εξακολουθούν να υπάρχουν συμβιβασμένα μηχανήματα στο Διαδίκτυο που δεν έχουν τροποποιηθεί κατάλληλα.
Το συνολικό κόστος του Heartbleed εκτιμάται ότι είναι στην περιοχή εκατοντάδων εκατομμυρίων δολαρίων.
ΣΓΟΥΡΟΜΑΛΛΟ ΣΚΥΛΑΚΙ
Το Poodle είναι ευπάθεια σε ένα παλαιότερο πρωτόκολλο SSL, SSL 3.0. Ενώ τα περισσότερα συστήματα χρησιμοποιούν TLS 1.0, 1.1 ή 1.2, το πρωτόκολλο TLS έχει μια παροχή πτώσης για να επιτρέψει τη διαλειτουργικότητα με το παλαιότερο λογισμικό που εξακολουθεί να χρησιμοποιεί το SSL 3.0. Έτσι, οι επιθέσεις Poodle χρησιμοποιούν αυτή τη διάταξη για τους διακομιστές για να υποβαθμίσουν το SSL 3.0.
Η απλούστερη λύση είναι να απενεργοποιήσετε το SSL 3.0 σε πελάτες και διακομιστές. SSL 3.Το 0 δημοσιεύθηκε το 1996, έχει αντικατασταθεί από καιρό και δεν πρέπει να υπάρχει ανάγκη να το υποστηρίξει μετά από σχεδόν 20 χρόνια. Το Poodle είναι πολύ λιγότερο σοβαρή ευπάθεια από ό, τι.
RC4
Το RC4 είναι ένα ευρέως χρησιμοποιούμενο TLS Cipher που δεν θεωρείται πλέον ασφαλές. Το RC4 είναι επίσης γνωστό ως ARC4 ή ARCFOUR (επειδή το RC4 είναι εμπορικό σήμα). Η ταχύτητα και η απλότητα του έκανε το RC4 δημοφιλές, αλλά πρόσφατα (Φεβρουάριος 2015) RFC7465 συνέστησε να μην χρησιμοποιηθεί πλέον.
Πρωτόκολλο μεταφοράς αρχείων SSL/TLS: FTPS
Μία από τις πιο συνηθισμένες χρήσεις του SSL/TLS είναι μια ασφαλής μορφή μεταφοράς αρχείων γνωστή ως FTPS.
Το παραδοσιακό FTP όπως ορίζεται στο RFC 959 δεν κάνει καμία αναφορά στην ασφάλεια. Αυτό είναι κατανοητό όπως γράφτηκε το 1985 και βασίζεται σε προδιαγραφές από τη δεκαετία του 1970. Αυτό ήταν όταν τα πανεπιστήμια και ο στρατός ήταν οι κύριοι χρήστες του Διαδικτύου και η ασφάλεια δεν ήταν η ανησυχία ότι είναι σήμερα.
Ως αποτέλεσμα, στα ονόματα χρήστη και οι κωδικοί πρόσβασης FTP αποστέλλονται (ακόμα) το δίκτυο σε καθαρό κείμενο, πράγμα που σημαίνει ότι ο καθένας μπορεί να εισπράξει τα πακέτα TCP/IP είναι σε θέση να τα συλλάβει. Εάν ο διακομιστής FTP βρίσκεται στο Διαδίκτυο, τα πακέτα περνούν μέσω δημόσιων δικτύων και θα πρέπει να θεωρηθούν διαθέσιμα στο κοινό.
Δεν ήταν μέχρι τη δεκαετία του 1990, όταν το Netscape ανέπτυξε το στρώμα Secure Sockets (SSL) ότι μια λύση έγινε πρακτική. Ένα σχέδιο RFC το 1996 περιγράφει μια επέκταση στο FTP που ονομάζεται FTPS που επέτρεψε να χρησιμοποιηθούν εντολές FTP σε σύνδεση SSL και μέχρι το 2005 αυτό εξελίχθηκε σε επίσημο RFC.
Εφαρμόστηκε από πελάτες όπως το FileZilla και οι διακομιστές όπως το ProfTPD, το FTPS έγινε γρήγορα δημοφιλής.
Έμμεσοι FTPs
Υπάρχουν δύο μορφές FTP – σιωπηρή λειτουργία και ρητή λειτουργία. Η σιωπηρή λειτουργία FTPS είναι παρωχημένη και δεν χρησιμοποιείται ευρέως, αλλά εξακολουθεί να αντιμετωπίζεται περιστασιακά.
Το Implicit FTPS δεν έχει ρητή εντολή για να εξασφαλίσει τη σύνδεση δικτύου – αντί να το κάνει σιωπηρά. Σε αυτή τη λειτουργία, ο διακομιστής FTPS αναμένει από τον πελάτη FTPS να ξεκινήσει αμέσως μια χειραψία SSL/TLS κατά τη σύνδεση. Εάν δεν το κάνει, η σύνδεση έχει πέσει. Η τυπική θύρα διακομιστή για συνδέσεις σιωπηρής λειτουργίας είναι 990 (όχι η τυπική θύρα 21 που χρησιμοποιείται για το FTP).
Μόλις δημιουργηθεί η σύνδεση SSL/TLS, χρησιμοποιούνται οι τυπικές εντολές FTP για την πλοήγηση στον διακομιστή’Σύστημα αρχείων S και μεταφορά αρχείων. Καθώς η σύνδεση είναι ασφαλής, οι κωδικοί πρόσβασης μπορούν να σταλούν και τα δεδομένα δεν μπορούν να επιθεωρηθούν από το Eavesdroppers.
Σαφές FTP
Σε ρητή λειτουργία FTPS, ο πελάτης πρέπει να ζητήσει ρητά τη σύνδεση για να εξασφαλιστεί στέλνοντας την εντολή auth tls στον διακομιστή. Μόλις αποσταλεί αυτή η εντολή, η χειραψία SSL/TLS αρχίζει όπως με το Implicit TLS και η σύνδεση εντολών είναι ασφαλής.
Το πλεονέκτημα της χρήσης ρητών λειτουργίας FTPS σε σιωπηρή λειτουργία είναι ότι μπορεί να χρησιμοποιηθεί ο ίδιος αριθμός θύρας με το πρότυπο FTP – θύρα 21. Οι συνηθισμένοι χρήστες FTP απλά δεν στέλνουν την εντολή auth και έτσι δεν εξασφαλίζουν ποτέ τη σύνδεση. Ο διαχειριστής διακομιστή μπορεί να απαιτήσει προαιρετικά την εντολή auth να χρησιμοποιηθεί εάν δεν επιθυμούν να γίνουν μεταφορές αρχείων μη εξασφαλισμένων αρχείων.
Η ρητή λειτουργία FTP πρέπει πάντα να χρησιμοποιείται κατά προτίμηση σε σιωπηρή λειτουργία, κυρίως επειδή η σιωπηρή λειτουργία έχει καταργηθεί για πολλά χρόνια.
Μειονέκτημα των FTPs
Το FTPS έχει ένα σημαντικό μειονέκτημα, το οποίο είναι η χρήση μιας ξεχωριστής σύνδεσης δικτύου για δεδομένα, συμπεριλαμβανομένων των περιεχομένων αρχείων και των καταλόγων καταλόγων. Αυτό είναι στην πραγματικότητα μέρος του πρωτοκόλλου FTP – οι εντολές αποστέλλονται μέσω του αρχικού “έλεγχος” Σύνδεση στη θύρα 21 και κάθε φορά που μεταφέρονται δεδομένα, πρέπει να δημιουργηθεί μια νέα σύνδεση δικτύου για τη μεταφορά. Ο πελάτης και ο διακομιστής πρέπει να συμφωνήσουν σε έναν αριθμό θύρας και πρέπει να ανοίξει μια σύνδεση.
Με μη κρυπτογραφημένο FTP, αυτό δεν είναι’t πολύ προβληματικό. Μπορεί να υπάρχουν προβλήματα με την εξάντληση των συνδέσεων δικτύου εάν πραγματοποιηθούν πάρα πολλές μεταφορές σε σύντομο χρονικό διάστημα. Καθώς κάθε μεταφορά απαιτεί μια νέα σύνδεση και τα λειτουργικά συστήματα απαιτούν συνήθως λίγα λεπτά για να ελευθερώσουν κλειστές συνδέσεις, πολλές μεταφορές μικρών αρχείων μπορούν να οδηγήσουν σε ενδεχόμενα σφάλματα.
Το πιο σημαντικό πρόβλημα είναι να περάσετε από τείχη προστασίας. Τα τείχη προστασίας είναι κανονικά διαμορφωμένα ώστε να επιτρέπουν την πρόσβαση μέσω της θύρας 21. Τα σύγχρονα τείχη προστασίας είναι επίσης αρκετά έξυπνα ώστε να είναι σε θέση να επιθεωρήσουν τις εντολές που αποστέλλονται μεταξύ του πελάτη και του διακομιστή (θύρα ή PASV) ώστε να είναι σε θέση να καθορίσουν ποιες θύρες πρέπει να ανοίξουν δυναμικά για να επιτρέψουν μεταφορές δεδομένων.
Ωστόσο, με τα FTPs, οι εντολές βρίσκονται σε κρυπτογραφημένο κανάλι και τα τείχη προστασίας δεν μπορούν να τους επιθεωρήσουν. Αυτό σημαίνει ότι δεν μπορούν να ανοίξουν αυτόματα τις θύρες δεδομένων και επομένως αποτυγχάνουν οι μεταφορές και οι καταχωρίσεις καταλόγου. Αντ ‘αυτού, πρέπει να συμφωνηθεί εκ των προτέρων ένα σταθερό φάσμα θυρών και να διαμορφωθεί σε πελάτη, διακομιστή και τείχος προστασίας.
Μέλλον των FTPs
Σήμερα, το FTPS έχει ισχυρό ανταγωνιστή στο SFTP ή το πρωτόκολλο μεταφοράς αρχείων SSH. Είναι εντελώς διαφορετικά πρωτόκολλα και τα σχετικά πλεονεκτήματα τους θα εξεταστούν στο επόμενο τμήμα. Ωστόσο, τα FTP και FTPs έχουν μια τεράστια βάση εγκατάστασης και αναμφίβολα θα συνεχίσουν να χρησιμοποιούνται ευρέως για πολλά χρόνια.
Πώς λειτουργεί το SSH?
Ιστορία SSH
Στα τέλη του 1980’S και 1990’S, εργαλεία δικτύου όπως το Rlogin και το Telnet χρησιμοποιήθηκαν συνήθως για συνδέσεις σε απομακρυσμένες μηχανές, συνήθως σε πλατφόρμες UNIX. Αυτά τα εργαλεία επέτρεψαν στους χρήστες να ανοίξουν τα κελύφη εντολών που τους επέτρεψαν να εκτελέσουν εντολές στις απομακρυσμένες μηχανές σαν να ήταν στην πραγματικότητα στο μηχάνημα και ήταν εξαιρετικά χρήσιμες για τη διαχείριση συστημάτων.
Υπήρχε ένα κρίσιμο μειονέκτημα – κανένα από αυτά τα εργαλεία δεν ήταν ασφαλές. Οι κωδικοί πρόσβασης στάλθηκαν μέσω δικτύων σε απλό κείμενο, που σημαίνει ότι όποιος μπορεί να εισπραχθεί το δίκτυο θα μπορούσε να λάβει διαπιστευτήρια για το απομακρυσμένο μηχάνημα. Αυτό το πρόβλημα είναι γιατί ο Tatu Ylönen, φινλανδός ερευνητής στο Τεχνολογικό Πανεπιστήμιο του Ελσίνκι, αποφάσισε ένα ασφαλές πρωτόκολλο δικτύου. Το 1995 έγραψε την πρώτη έκδοση του SSH, γνωστή ως SSH-1, και το απελευθέρωσε ως δωρεάν λογισμικό. Αποτελείται από έναν ασφαλή διακομιστή και πελάτη.
Καθώς η δημοτικότητά του αυξήθηκε γρήγορα, η Ylönen ίδρυσε την SSH Communications Security στην αγορά και αναπτύσσει το SSH ως ιδιόκτητο προϊόν. Το 1999 ο Björn Grönvall άρχισε να εργάζεται σε μια προηγούμενη έκδοση freeware και η ομάδα OpenBSD χρηματοδότησε το έργο του για να παράγει το ελεύθερα διαθέσιμο OpenSSH. Οι θύρες έγιναν σύντομα σε πολλές άλλες πλατφόρμες και το OpenSsh παραμένει η πιο ευρέως γνωστή και χρησιμοποιημένη έκδοση του SSH.
Το 2006 SSH 2.Το 0 ορίστηκε στο RFC 4253. Το SSH-2 είναι ασυμβίβαστο με το SSH-1 και έχει βελτιωμένη ασφάλεια και χαρακτηριστικά, καθιστώντας το SSH-1 παρωχημένο.
Επισκόπηση SSH
Το SSH είναι ένα ασφαλές πρωτόκολλο δικτύου που μπορεί να χρησιμοποιηθεί σε οποιαδήποτε πλατφόρμα για οποιονδήποτε σκοπό που απαιτεί ασφαλή επικοινωνία δικτύου. Οι τυπικές χρήσεις περιλαμβάνουν:
- ασφαλή εργαλεία απομακρυσμένης σύνδεσης, όπως ο πελάτης SSH
- ασφαλή μεταφορά αρχείων, όπως τα εργαλεία SCP και SFTP. και
- ασφαλή προώθηση θύρας ή ασφαλή σήραγγα.
Το SSH-2 χρησιμοποιεί μια πολυεπίπεδη αρχιτεκτονική και αποτελείται από ένα στρώμα μεταφοράς, ένα στρώμα ελέγχου ταυτότητας χρήστη και ένα στρώμα σύνδεσης.
Το στρώμα μεταφοράς εκτελείται μέσω TCP/IP και παρέχει κρυπτογράφηση, έλεγχο ταυτότητας διακομιστή, προστασία ακεραιότητας δεδομένων και προαιρετική συμπίεση. Το επίπεδο ελέγχου ταυτότητας χρήστη χειρίζεται τον έλεγχο ταυτότητας πελάτη, ενώ το στρώμα σύνδεσης παρέχει υπηρεσίες όπως διαδραστικές συνδέσεις, απομακρυσμένες εντολές και συνδέσεις δικτύου που διαβιβάζονται.
Το στρώμα μεταφοράς
Το στρώμα μεταφοράς βασίζεται σε μηνύματα και παρέχει κρυπτογράφηση, έλεγχο ταυτότητας και ακεραιότητας κεντρικού υπολογιστή. Τα μηνύματα αποστέλλονται μεταξύ του πελάτη και του διακομιστή μέσω TCP/IP μέσω του πρωτοκόλλου Binary Packet – “πακέτα” των δεδομένων ανταλλάσσονται με τη μορφή που ορίζεται παρακάτω και το ωφέλιμο φορτίο κάθε πακέτου είναι το μήνυμα:
uint32 packet_length byte padding_length byte [n1] ωφέλιμο φορτίο; N1 = Packet_Length – Padding_length – 1 Byte [N2] τυχαία επένδυση. n2 = padding_length byte [m] mac (κωδικός ελέγχου ταυτότητας μηνύματος – MAC); m = mac_length
Το MAC είναι ένα σημαντικό πεδίο, επειδή είναι το Mac που επιτρέπει στους αποδέκτες μηνυμάτων να είναι σίγουροι ότι τα μηνύματα δεν έχουν παραβιαστεί – ο έλεγχος ακεραιότητας που αναφέρεται παραπάνω. Το MAC υπολογίζεται σε σχέση με τα υπόλοιπα δεδομένα στο πακέτο και χρησιμοποιεί ένα κοινό μυστικό που έχει δημιουργηθεί μεταξύ του πελάτη και του διακομιστή και ένας αριθμός ακολουθίας που παρακολουθεί τα δύο μέρη. Οι Mac περιγράφονται σε αυτήν την ανάρτηση.
Δημιουργία συνεδρίας
Πώς ξεκινά μια συνεδρία μεταξύ ενός πελάτη και ενός διακομιστή? Κάθε πλευρά στέλνει μια συμβολοσειρά αναγνώρισης μόλις δημιουργηθεί η σύνδεση TCP/IP. Αυτή η συμβολοσειρά είναι στην ακόλουθη μορφή:
SSH-2.0-SoftwareVersion SP Σχόλια CR LF
Εδώ “SP” σημαίνει χώρος, “Cr” είναι ένας χαρακτήρας επιστροφής μεταφοράς και “LF” είναι ένας χαρακτήρας τροφοδοσίας γραμμής. Η έκδοση λογισμικού είναι η έκδοση πωλητή και τα σχόλια και ο χώρος είναι προαιρετικά. Έτσι, στην περίπτωση του CompleteFTP, όταν ένας πελάτης συνδέεται με το διακομιστή λαμβάνει την ακόλουθη συμβολοσειρά:
SSH-2.0-completeftp_9.0.0
Το άκρο του συμβολοσειρά με την υποχρεωτική επιστροφή μεταφοράς και τη ροή γραμμής – δεν χρησιμοποιούνται σχόλια.
Μόλις ανταλλάσσονται συμβολοσειρές αναγνώρισης, πρέπει να συμφωνηθούν ορισμένες επιλογές-οι κρυπτογράφοι που χρησιμοποιούνται για την κρυπτογράφηση, οι αλγόριθμοι MAC που χρησιμοποιούνται για την ακεραιότητα των δεδομένων, οι βασικές μεθόδους ανταλλαγής που χρησιμοποιούνται για τη δημιουργία μοναδικών κλειδιά περιόδου σύνδεσης για την κρυπτογράφηση, τους αλγόριθμους του δημόσιου κλειδιού που χρησιμοποιούνται για τον έλεγχο ταυτότητας και τελικά για τους αλγόριθμους συμπίεσης που χρησιμοποιούνται. Τόσο ο πελάτης όσο και ο διακομιστής στέλνουν ο ένας τον άλλον ένα μήνυμα SSH_MSG_KEXINIT που καταγράφει τις προτιμήσεις τους για αυτές τις επιλογές:
byte SSH_MSG_KEXINIT byte[16] cookie (random bytes) name-list kex_algorithms name-list server_host_key_algorithms name-list encryption_algorithms_client_to_server name-list encryption_algorithms_server_to_client name-list mac_algorithms_client_to_server name-list mac_algorithms_server_to_client name-list compression_algorithms_client_to_server name-list compression_algorithms_server_to_client name-list languages_client_to_server name-list languages_server_to_client boolean first_kex_packet_follows uint32 0 (reserved for future extension)
Αυτό το μήνυμα είναι το ωφέλιμο φορτίο ενός δυαδικού πακέτου πρωτοκόλλου του οποίου η μορφή περιγράφεται παραπάνω. Οι λίστες ονομάτων αλγορίθμων διαχωρίζονται με κόμματα. Ο πελάτης στέλνει λίστες αλγόριθμου κατά σειρά προτιμήσεων, ενώ ο διακομιστής στέλνει μια λίστα με αλγόριθμους που υποστηρίζει. Ο πρώτος υποστηριζόμενος αλγόριθμος κατά σειρά του πελάτη’Η προτίμηση είναι ο αλγόριθμος που επιλέγεται. Λαμβάνοντας υπόψη και τα δύο μηνύματα, κάθε πλευρά μπορεί να επεξεργαστεί ποιοι αλγόριθμοι πρέπει να χρησιμοποιηθούν.
Μετά το SSH_MSG_KEXINIT, ο επιλεγμένος αλγόριθμος ανταλλαγής κλειδιών, ο οποίος μπορεί να οδηγήσει σε μια σειρά μηνυμάτων που ανταλλάσσονται. Το τελικό αποτέλεσμα είναι δύο τιμές: ένα κοινό μυστικό, k, και ένα hash ανταλλαγής, h. Αυτά χρησιμοποιούνται για την εξαγωγή κρυπτογράφησης και ελέγχου ταυτότητας. Ένα SSH_MSG_NEWKEYS αποστέλλεται για να δηλώσει το τέλος αυτών των διαπραγματεύσεων και κάθε επόμενο μήνυμα χρησιμοποιεί τα νέα κλειδιά κρυπτογράφησης και αλγόριθμους.
Με τη δημιουργία της σύνδεσης SSH-2, ο πελάτης ζητά ένα “υπηρεσία” (συνήθως SSH-USERAUTH για να ξεκινήσετε τη διαδικασία ελέγχου ταυτότητας) με το μήνυμα SSH_MSG_SERVICE_REQUEST.
Στρώμα ελέγχου ταυτότητας
Το επόμενο βήμα είναι ο πελάτης να αναγνωριστεί στον διακομιστή και να πιστοποιηθεί. Αυτό διαχειρίζεται μέσω του στρώματος ελέγχου ταυτότητας χρήστη, το οποίο τρέχει πάνω από το στρώμα μεταφοράς. Αυτό σημαίνει ότι τα μηνύματα ελέγχου ταυτότητας χρήστη είναι κρυπτογραφημένα και ανταλλάσσονται χρησιμοποιώντας το στρώμα μεταφοράς.
Ο έλεγχος ταυτότητας χρήστη ξεκινά από τον πελάτη με ένα “υπηρεσία” Αίτημα για την υπηρεσία SSH-USERAUTH. Εάν ο διακομιστής ανταποκρίνεται επιτρέποντας το αίτημα, ο πελάτης στέλνει ένα αίτημα ελέγχου ταυτότητας, το οποίο περιλαμβάνει το όνομα χρήστη και τη μέθοδο ελέγχου ταυτότητας.
Υπάρχουν ορισμένες πιθανές μεθόδους ελέγχου ταυτότητας και η οποία χρησιμοποιείται θα εξαρτάται από τον πελάτη και τον διακομιστή’υποστήριξη για αυτό. Η πιο δημοφιλής μέθοδος είναι ο έλεγχος ταυτότητας κωδικού πρόσβασης, ο οποίος είναι αυτοεξυπηρετούμενος. Ένας άλλος είναι ο έλεγχος ταυτότητας PublicKey. Συνήθως, ο πελάτης προτείνει μια μέθοδο και ο διακομιστής είτε δέχεται είτε απορρίπτει αυτήν τη μέθοδο.
Ένα παράδειγμα αίτησης ελέγχου ταυτότητας κωδικού πρόσβασης από έναν χρήστη που ονομάζεται “επιχειρηματίας” Εμφανίζεται παρακάτω:
byte ssh_msg_userauth_request string “enterprisedt” [Όνομα χρήστη] String “ssh-userauth” [Όνομα υπηρεσίας] String “Password” [Μέθοδος ταυτότητας] boolean false string “myPassword” [κωδικός πρόσβασης χρήστη]
Ο διακομιστής θα επικυρώσει τον κωδικό πρόσβασης που αποστέλλεται για αυτόν τον χρήστη έναντι των λεπτομερειών που έχει αποθηκεύσει για τον χρήστη. Ο διακομιστής δεν θα αποθηκεύσει τον χρήστη’Πραγματικός κωδικός πρόσβασης για επικύρωση, αλλά ένα κρυπτογραμικό hash του κωδικού πρόσβασης, ο οποίος δεν μπορεί να αντιστραφεί για να ληφθεί ο κωδικός πρόσβασης.
Εάν απορριφθεί το αίτημα ελέγχου ταυτότητας χρήστη (για παράδειγμα, παρέχεται εσφαλμένος κωδικός πρόσβασης), αποστέλλεται ένα μήνυμα αποτυχίας από το διακομιστή και παρέχει μια λίστα εναλλακτικών πιστοποιήσεων που μπορούν να δοκιμαστούν.
Είναι κοινό να στέλνετε “κανένας” ως η αρχική μέθοδος ελέγχου ταυτότητας και ο διακομιστής συνήθως θα ανταποκρίνεται με ένα μήνυμα αποτυχίας που περιέχει μια λίστα με όλες τις διαθέσιμες μεθόδους ταυτότητας. Ένα παράδειγμα απόκρισης στο “κανένας” Εμφανίζεται παρακάτω:
byte SSH_MSG_USERAUTH_FAILURE Ονοματεπώνυμος κωδικός πρόσβασης, publickey boolean false (μερική σημαία επιτυχίας)
Εδώ ο διακομιστής ενημερώνει τον πελάτη ότι μπορεί να χρησιμοποιηθεί είτε ο κωδικός πρόσβασης είτε ο έλεγχος ταυτότητας PublicKey.
Εάν το αίτημα ελέγχου ταυτότητας κωδικού πρόσβασης επιτύχει, ο διακομιστής επιστρέφει ένα μήνυμα επιτυχίας όπως φαίνεται παρακάτω:
byte ssh_msg_userauth_success
Σε αυτό το σημείο ο έλεγχος ταυτότητας είναι πλήρης και μπορούν να ζητηθούν άλλες υπηρεσίες. Αυτά μπορεί να περιλαμβάνουν αιτήματα προώθησης TCP/IP και κανάλια για πρόσβαση τερματικού, εκτέλεση διαδικασιών και υποσυστήματα όπως το SFTP.
Στρώμα σύνδεσης
Το τελευταίο κομμάτι του SSH-2’S Layered Architecture είναι το στρώμα σύνδεσης, το οποίο παρέχει υπηρεσίες δικτύου όπως διαδραστικές συνεδρίες και προώθηση λιμένων πάνω από το στρώμα μεταφοράς, το οποίο παρέχει την απαραίτητη ασφάλεια.
Μόλις εγκατασταθεί, μια σύνδεση SSH μπορεί να φιλοξενήσει ένα ή περισσότερα κανάλια SSH, τα οποία είναι λογικοί σωλήνες δεδομένων πολυπλέκονται κατά τη σύνδεση. Ο πελάτης μπορεί να ανοίξει πολλαπλά κανάλια στη μία σύνδεση με τον ίδιο διακομιστή και να εκτελέσει διαφορετικές εργασίες δικτύου σε διαφορετικά κανάλια. Στην πράξη, οι υλοποιήσεις SSH σπάνια χρησιμοποιούν πολλαπλά κανάλια σε μια σύνδεση, προτιμώντας να ανοίξουν μια νέα σύνδεση για κάθε κανάλι.
Ένα σημαντικό χαρακτηριστικό των καναλιών SSH είναι ο έλεγχος ροής. Τα δεδομένα μπορούν να σταλούν μόνο σε ένα κανάλι όταν ο παραλήπτης έχει υποδείξει ότι είναι έτοιμοι να το λάβουν-μια μορφή ελέγχου ροής συρόμενου παραθύρου. Το μέγεθος του παραθύρου καθορίζεται από τον παραλήπτη όταν ανοίγει το κανάλι και το μέγεθος του παραθύρου μειώνεται καθώς αποστέλλονται δεδομένα. Περιοδικά, ο παραλήπτης στέλνει ένα μήνυμα για να αυξήσει το μέγεθος του παραθύρου.
Το μήνυμα SSH_MSG_CHANNEL_OPEN που χρησιμοποιείται για να ανοίξει μια διαδραστική συνεδρία εμφανίζεται παρακάτω. Αυτή η συνεδρία μπορεί να χρησιμοποιηθεί στη συνέχεια για μια τερματική συνεδρία, για να εκτελέσει μια απομακρυσμένη εντολή ή για να ξεκινήσει ένα υποσύστημα όπως το SFTP.
byte ssh_msg_channel_open string “session” uint32 κανάλι αποστολέα uint32 αρχικό μέγεθος παραθύρου uint32 Μέγιστο μέγεθος πακέτου
Το αρχικό μέγεθος παραθύρου ορίζει τον αριθμό των bytes που μπορεί να στείλει ο παραλήπτης αυτού του μηνύματος στον αποστολέα, ενώ το μέγιστο μέγεθος πακέτου είναι το μεγαλύτερο ποσό δεδομένων που θα δεχτεί σε ένα μόνο μήνυμα.
Ο παραλήπτης αυτού του μηνύματος απαντά με ένα μήνυμα SSH_MSG_CHANNEL_OPEN_CONFIRMITION εάν είναι έτοιμο να ανοίξει το ζητούμενο κανάλι:
byte ssh_msg_channel_open_confirmation uint32 κανάλι παραλήπτη uint32 κανάλι αποστολέα uint32 αρχικό μέγεθος παραθύρου uint32 Μέγιστο μέγεθος πακέτου
Μόλις ανοίξει με επιτυχία ένα κανάλι, μπορούν να ανταλλαγούν δεδομένα και μπορούν να σταλούν τα αιτήματα που αφορούν το κανάλι. Όταν το μέγεθος του συρόμενου παραθύρου για τον πελάτη ή τον διακομιστή γίνεται πολύ μικρό, ο ιδιοκτήτης του παραθύρου στέλνει ένα μήνυμα SSH_MSG_CHANNEL_WINDOW_ADJUST για να το αυξήσετε:
byte ssh_msg_channel_window_adjust uint32 κανάλι παραλήπτη uint32 bytes για προσθήκη
Τα δεδομένα αποστέλλονται σε όλο το κανάλι μέσω του μηνύματος SSH_MSG_CHANNEL_DATA. Πώς χρησιμοποιούνται τα δεδομένα θα εξαρτηθεί από τον τύπο του καναλιού που έχει δημιουργηθεί:
byte ssh_msg_channel_data uint32 Δεδομένα συμβολοσειράς καναλιού παραλήπτη
Τα αιτήματα καναλιού χρησιμοποιούνται για την εκτέλεση συγκεκριμένων ενεργειών μέσω ενός καναλιού. Τα κοινά αιτήματα περιλαμβάνουν την έναρξη ενός κελύφους ή την εκτέλεση μιας απομακρυσμένης εντολής. Για παράδειγμα, ένα απομακρυσμένο κέλυφος ξεκινά από το αίτημα που εμφανίζεται παρακάτω:
byte ssh_msg_channel_request uint32 string καναλιού παραλήπτη “shell” boolean θέλει απάντηση
Μια απομακρυσμένη εντολή εκτελείται με το ακόλουθο αίτημα:
byte ssh_msg_channel_request uint32 string καναλιού παραλήπτη “exec”
Τέλος, ένα υποσύστημα SFTP μπορεί να ανοίξει με αυτό το αίτημα:
byte ssh_msg_channel_request uint32 string καναλιού παραλήπτη “υποσύστημα” boolean θέλει απάντηση String “sftp-server”
Τα υποσυστήματα είναι σύνολα απομακρυσμένων εντολών που έχουν προκαθοριστεί στη μηχανή διακομιστή. Το πιο συνηθισμένο είναι το SFTP, το οποίο παρέχει εντολές για μεταφορά και χειρισμό αρχείων. Οι εντολές υποσυστήματος (συμπεριλαμβανομένου του πρωτοκόλλου SFTP) τρέχουν πάνω από το SSH, i.μι. Τα δεδομένα για τις εντολές υποσυστήματος αποστέλλονται στα μηνύματα SSH_MSG_CHANNEL_DATA.
Όταν ένα από αυτά τα μηνύματα φτάσει στον πελάτη ή τον διακομιστή, μεταβιβάζεται στο υποσύστημα για επεξεργασία.
Μόλις ολοκληρωθεί ο πελάτης ή ο διακομιστής χρησιμοποιώντας το κανάλι, πρέπει να κλείσει. Το μήνυμα SSH_MSG_CHANNEL_EOF αποστέλλεται για να υποδείξει ότι δεν θα σταλούν περισσότερα δεδομένα προς την κατεύθυνση αυτού του μηνύματος. Το μήνυμα SSH_MSG_CHANNEL_CLOSE υποδεικνύει ότι το κανάλι είναι τώρα κλειστό. Ο παραλήπτης πρέπει να απαντήσει με ένα SSH_MSG_CHANNEL_CLOSE εάν δεν έχουν ήδη στείλει ένα. Μόλις κλείσει, το κανάλι δεν μπορεί να ανοίξει ξανά.
Πρωτόκολλο μεταφοράς αρχείων SSH: SFTP
Το πιο συνηθισμένο υποσύστημα που χρησιμοποιείται με το SSH είναι το SFTP, το οποίο παρέχει εντολές για μεταφορά και χειρισμό αρχείων. Το SFTP είναι επίσης γνωστό ως πρωτόκολλο μεταφοράς αρχείων SSH και είναι ανταγωνιστής του FTPS – παραδοσιακό FTP σε σύνδεση SSL/TLS.
Το υποσύστημα SFTP τρέχει πάνω από το στρώμα μεταφοράς SSH, αλλά είναι ένα εξελιγμένο πρωτόκολλο που βασίζεται σε μηνύματα. Τα μηνύματα SFTP μεταδίδονται ως το πεδίο δεδομένων του στρώματος μεταφοράς’sss_msg_channel_data μήνυμα
Τα μηνύματα SFTP βρίσκονται σε τυπική μορφή, όπως φαίνεται παρακάτω:
uint32 μήκους byte τύπος uint32 request-id . Πληκτρολογήστε συγκεκριμένα πεδία…
Το πρώτο πεδίο είναι το μήκος του μηνύματος, εξαιρουμένων του πεδίου μήκους, και το επόμενο είναι ο τύπος μηνύματος. Το τρίτο πεδίο είναι το αναγνωριστικό αίτησης – κάθε αίτημα που αποστέλλεται από τον πελάτη έχει αναγνωριστικό αίτησης και ο διακομιστής’Η απάντηση πρέπει να περιλαμβάνει το αντίστοιχο αναγνωριστικό αιτήματος.
Μερικά από τα πιο σημαντικά μηνύματα SFTP μαζί με τα αναγνωριστικά τύπου τους εμφανίζονται και περιγράφονται παρακάτω:
SSH_FXP_INIT 1 SSH_FXP_VERSION 2 SSH_FXP_OPEN 3 SSH_FXP_CLOSE 4 SSH_FXP_READ 5 SSH_FXP_WRITE 6 SSH_FXP_STATUS 101 SSH_FXP_DATA 103
Το SSH_FXP_INIT είναι το πρώτο μήνυμα που αποστέλλεται από τον πελάτη για να ξεκινήσει τη συνεδρία SFTP και ο διακομιστής απαντά με το SSH_FXP_Version, υποδεικνύοντας τις εκδόσεις που υποστηρίζει.
Το SSH_FXP_OPEN ζητά από τον διακομιστή να ανοίξει ένα αρχείο (ή προαιρετικά να το δημιουργήσει αν δεν υπάρχει), ενώ
Το SSH_FXP_CLOSE κλείνει ένα αρχείο. Το SSH_FXP_READ ζητά να διαβάσει μια συγκεκριμένη περιοχή byte από ένα αρχείο και ο διακομιστής ανταποκρίνεται με το SSH_FXP_DATA, το οποίο περιέχει τα ζητούμενα bytes. Το SSH_FXP_WRITE χρησιμοποιείται για να γράψει δεδομένα σε ένα αρχείο και ένα από τα πεδία του είναι τα δεδομένα που πρέπει να γράψετε (καθώς και η μετατόπιση στο αρχείο).
Εάν αποτύχει κάποια από τις παραπάνω εντολές, το SSH_FXP_STATUS επιστρέφεται με έναν κωδικό σφάλματος που υποδεικνύει τον τύπο σφάλματος που προέκυψε. Χρησιμοποιείται επίσης για να σηματοδοτήσει μια επιτυχημένη εγγραφή σε απάντηση στο SSH_FXP_WRITE.
Υπάρχουν επίσης εντολές για άλλες τυποποιημένες λειτουργίες αρχείων και καταλόγων, όπως η κατάργηση αρχείων (SSH_FXP_REMOVE), η μετονομασία των αρχείων (SSH_FXP_RENAME) και η δημιουργία και αφαίρεση καταλόγων (SSH_FXP_MKDIR, SSH_FXP_RMDIR). Οι κατάλογοι διαβάζονται ανοίγοντας τους (SSH_FXP_OPENDIR) και στέλνοντας τα αιτήματα SSH_FXP_READDIR. Και πάλι, το SSH_FXP_STATUS χρησιμοποιείται για να υποδείξει την επιτυχία ή την αποτυχία αυτών των αιτημάτων.
Δεν υπάρχει συγκεκριμένο μήνυμα SFTP για να τερματίσει μια συνεδρία SFTP – αντ ‘αυτού, ο πελάτης κλείνει το κανάλι SSH που χρησιμοποιείται.
Είναι σημαντικό να σημειωθεί ότι το SFTP είναι ένα εντελώς διαφορετικό πρωτόκολλο στο παραδοσιακό FTP, i.μι. Δεν αποστέλλονται εντολές FTP μέσω σύνδεσης SSH. Αντίθετα, το FTPS είναι εντολές FTP που αποστέλλονται μέσω σύνδεσης SSL/TLS. Τα δύο πρωτόκολλα είναι εύκολα μπερδεμένα, καθώς είναι και τα δύο ασφαλή πρωτόκολλα για τη μεταφορά αρχείων.
SFTP VS FTPS
Περιγράψαμε πώς λειτουργούν τα FTPs και SFTP, παραπάνω. Ουσιαστικά, και τα δύο πρωτόκολλα επιτυγχάνουν ακριβώς το ίδιο πράγμα-ασφαλή μεταφορά αρχείων και ασφαλή, απομακρυσμένη χειραγώγηση των συστημάτων αρχείων.
Είναι, ωστόσο, εντελώς διαφορετικά πρωτόκολλα και οι άνθρωποι που εφαρμόζουν μια ασφαλή λύση μεταφοράς αρχείων θα πρέπει να αποφασίσουν ποιο πρωτόκολλο θα χρησιμοποιηθούν.
Η υπάρχουσα χρήση είναι φυσικά ένα σημαντικό θέμα. Εάν το SFTP και/ή το SSH χρησιμοποιείται ήδη σε άλλες περιοχές ενός οργανισμού, είναι συνετό να χρησιμοποιήσετε το SFTP. Οι υπάρχουσες γνώσεις και δεξιότητες εντός του οργανισμού μπορούν να αξιοποιηθούν, καθώς και τεχνική υποδομή. Ομοίως, εάν το FTP και/ή το FTPS χρησιμοποιείται ήδη αλλού, μπορεί να είναι καλύτερο να χρησιμοποιήσετε FTPs.
Οι απαιτήσεις του έργου μπορούν επίσης να υπαγορεύουν το πρωτόκολλο. Εάν εφαρμοστεί μια λύση από την πλευρά του διακομιστή, μπορεί να είναι ότι οι πελάτες περιορίζονται σε ένα συγκεκριμένο πρωτόκολλο και επομένως δεν χρειάζεται να ληφθεί απόφαση.
Αλλά τι γίνεται αν το σημείο εκκίνησης είναι ένα εντελώς καθαρό σχιστόλιθο και δεν υπάρχουν περιορισμοί πάνω σε ποιο πρωτόκολλο θα μπορούσε να χρησιμοποιηθεί? Υπάρχει σαφής νικητής?
SFTP – Ένας σαφής νικητής
Ναι, και είναι SFTP. Πριν από μερικά χρόνια, μια τέτοια απόφαση δεν ήταν τόσο απλή, κυρίως λόγω της κυριαρχίας του πρωτοκόλλου FTP στους περισσότερους οργανισμούς. Τώρα οι πελάτες και το λογισμικό διακομιστή είναι ευρέως διαθέσιμα τόσο για SFTP όσο και για FTPs – στην πραγματικότητα πολλές εφαρμογές όπως το CompleteFTP υποστηρίζουν και τα δύο.
Αυτό σημαίνει ότι μπορεί να ληφθεί απόφαση για καθαρά τεχνικούς λόγους και το SFTP έχει τουλάχιστον δύο σημαντικά τεχνικά πλεονεκτήματα έναντι FTP και FTPS.
Το SFTP είναι καλύτερο με τείχη προστασίας
Τα FTPs μπορεί να είναι οδυνηρά για να συνεργαστούν με τείχη προστασίας. Αυτό οφείλεται στο γεγονός ότι οι λίστες καταλόγων και οι μεταφορές αρχείων γίνονται σε μια νέα σύνδεση δικτύου που είναι ξεχωριστή από το κανάλι ελέγχου στη θύρα 21. Από προεπιλογή, τα τείχη προστασίας δεν θα επιτρέψουν αυτές τις συνδέσεις σε FTPs (αν και συνήθως θα λειτουργήσει με το FTP, καθώς τα τείχη προστασίας είναι σε θέση να επιθεωρήσουν την κυκλοφορία δικτύου και να ανοίξουν την κατάλληλη θύρα πριν). Αντ ‘αυτού, το τείχος προστασίας και ο διακομιστής πρέπει να ρυθμιστούν για ένα συγκεκριμένο φάσμα θυρών για μεταφορά δεδομένων, η οποία μπορεί να γίνει περίπλοκη.
Αντίθετα, το SFTP λειτουργεί απλώς με τείχη προστασίας. Τα δεδομένα και οι εντολές αποστέλλονται και από την τυπική θύρα 22, η οποία συνήθως είναι ενεργοποιημένη με τείχη προστασίας από προεπιλογή. Αυτό είναι ένα σημαντικό πλεονέκτημα έναντι του FTP.
Το SFTP δεν’T Χρησιμοποιήστε πιστοποιητικά
Το FTPS χρησιμοποιεί πιστοποιητικά για τον προσδιορισμό του διακομιστή στον πελάτη. Η αναγνώριση του διακομιστή είναι σημαντική, καθώς είναι ο τρόπος με τον οποίο ο πελάτης επαληθεύει ότι συνδέεται με τον σωστό διακομιστή. Για να είναι χρήσιμο, ωστόσο, τα πιστοποιητικά πρέπει να εκδίδονται από μια αρχή πιστοποιητικών – έναν οργανισμό που έχει εξουσιοδοτηθεί να τα εκδίδει. Η απόκτηση πιστοποιητικού μπορεί να είναι δαπανηρή και χρονοβόρα.
Το SFTP δεν’T Χρήση πιστοποιητικών – Ο διακομιστής αναγνωρίζεται από το δημόσιο κλειδί του (που περιέχει ένα πιστοποιητικό, έτσι και οι δύο χρησιμοποιούν τελικά τον ίδιο μηχανισμό). Έτσι, όσο ένας πελάτης έχει το δημόσιο κλειδί του διακομιστή στο χέρι, μπορούν να επιβεβαιώσουν ότι ο διακομιστής είναι ο σωστός. Ο διακομιστής’Το δημόσιο κλειδί (σε αντίθεση με το πιστοποιητικό) μπορεί να δημιουργηθεί από τον οργανισμό και δεν απαιτείται μια αρχή πιστοποιητικών. Αυτό μειώνει σημαντικά το ποσό της διαχείρισης που είναι απαραίτητο για την εκτέλεση ενός διακομιστή.
Υπάρχουν ορισμένα πλεονεκτήματα στην ύπαρξη αναγνωρισμένου οργανισμού, όπως μια αρχή πιστοποιητικών για την έκδοση πιστοποιητικών, αλλά μεγάλο μέρος του χρόνου δεν είναι απαραίτητο, ιδιαίτερα για εσωτερικά έργα.
Υπάρχει κάποιο μειονέκτημα στη χρήση του SFTP?
Η απουσία πιστοποιητικών μπορεί να είναι ένα ζήτημα εάν θέλετε την αναγνώριση μιας αρχής πιστοποιητικών, αλλά το κύριο μειονέκτημα του SFTP είναι ότι είναι ένα πολύπλοκο πρωτόκολλο που είναι δύσκολο να εφαρμοστεί. Η σύνταξη ενός πελάτη SFTP ή ενός διακομιστή SFTP δεν είναι εύκολη εργασία.
Αυτό, ωστόσο, είναι πολύ απίθανο να επηρεάσει τους οργανισμούς που χρησιμοποιούν το SFTP ως μέρος της υποδομής τους – μια μεγάλη ποικιλία πελατών και διακομιστών είναι διαθέσιμα σε διάφορες πλατφόρμες και χρειάζονται μόνο τις πιο κατάλληλες εφαρμογές. Όλοι οι πελάτες και ο διακομιστής πρέπει να αλληλεπιδρούν, οπότε υπάρχει σημαντικό περιθώριο στην επιλογή των προϊόντων. Είναι πιθανό ότι τα χαρακτηριστικά πρόσθετα στο πρωτόκολλο θα υπαγορεύουν την τελική επιλογή.
συμπέρασμα
Αυτό το περιεχόμενο εξήγησε πώς λειτουργούν το SSL/TLS και το SSH για την εξασφάλιση δεδομένων που μεταφέρονται σε ένα δίκτυο και ιδιαίτερα τα πρωτόκολλα FTPs και SFTP. Ενώ παρόμοια σε λειτουργικότητα, τα FTP και SFTP είναι πολύ διαφορετικά στην υλοποίηση. Σε μια σύγκριση με επικεφαλής, το SFTP βγαίνει στην κορυφή, αν και μπορεί να είναι σοφό να επιλέξετε να υποστηρίξετε και τα δύο πρωτόκολλα στην τεχνική υποδομή του οργανισμού σας.
Άλλα τεχνικά άρθρα
- Τι διαχειρίζεται τη μεταφορά αρχείων (MFT)?
- Τι είναι το SFTP?
- Τι είναι το FTP?
- Τι είναι το FTPS?
- FTPS vs SFTP
SSL vs SSH-μια μη τεχνική σύγκριση
Γνωρίζατε ότι το SFTP και το FTPs παίρνουν την ασφάλειά τους από υποκείμενα πρωτόκολλα? Ανακαλύψτε τις ομοιότητες και τις διαφορές μεταξύ SSH και SSL σήμερα!

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Τα πιο ευρέως χρησιμοποιούμενα πρωτόκολλα μεταφοράς αρχείων, SFTP και FTPs, παίρνουν την ασφάλειά τους από τα υποκείμενα πρωτόκολλα. SFTP από SSH και FTPs από SSL. Ας συγκρίνουμε τα δύο.

Στο παρελθόν, υπήρχε μόνο μία δημοφιλής μέθοδος για τη μεταφορά αρχείων μέσω ενός δικτύου – FTP, το οποίο απλώς αντιπροσωπεύει το πρωτόκολλο μεταφοράς αρχείων. Το FTP υποστηρίζει τις μεταφορές αρχείων χύδην και επιτρέπει ακόμη και στους χρήστες να πλοηγούν σε απομακρυσμένους καταλόγους, να δημιουργούν καταλόγους, να διαγράφουν καταλόγους και να εκτελούν μερικές άλλες εργασίες παρόμοιες με εκείνες που γίνονται σε τοπικά συστήματα αρχείων.
Το FTP είναι ένα πρωτόκολλο που βασίζεται σε TCP. Ως εκ τούτου, μπορεί να είναι πολύ χρήσιμο για τη λήψη/μεταφόρτωση αρχείων σε ένα LAN ή ακόμα και μέσω του Διαδικτύου. Ωστόσο, το FTP σχεδιάστηκε σε μια εποχή που η χρήση του Διαδικτύου περιοριζόταν σε μερικές οργανώσεις και οι απειλές που βασίζονται στο δίκτυο ήταν ανύπαρκτες.
Σήμερα, υπάρχουν ήδη πολλές απειλές και οι συνδέσεις FTP μπορούν να διακυβευτούν μέσω επιθέσεων Sniffer, Brute Force και άλλων μορφών επιθέσεων στον κυβερνοχώρο. Για την προστασία των μεταφορών αρχείων από αυτές τις απειλές, αναπτύχθηκαν ασφαλή πρωτόκολλα μεταφοράς αρχείων. Από αυτά τα πρωτόκολλα, δύο έχουν αποκτήσει ευρεία υιοθεσία – FTPs και SFTP.
Το FTPS λαμβάνει στην πραγματικότητα την προστασία του από SSL/TLS (ασφαλές στρώμα στρώματος/μεταφοράς στρώματος), ενώ το SFTP παίρνει το δικό του από το SSH (Secure Shell).
Ομοιότητες μεταξύ SSH και SSL
Όταν συγκρίνετε τα χαρακτηριστικά ασφαλείας τους, θα διαπιστώσετε ότι το SSH και το SSL έχουν πολύ ισχυρές ομοιότητες. Και οι δύο προσφέρουν κρυπτογράφηση δεδομένων σε κίνηση, έλεγχο ταυτότητας διακομιστή, έλεγχο ταυτότητας πελατών και μηχανισμούς ακεραιότητας δεδομένων.
Κρυπτογράφηση δεδομένων σε κίνηση
Η κρυπτογράφηση δεδομένων σε κίνηση είναι μια ικανότητα ασφαλείας που εμποδίζει την παρακολούθηση των δεδομένων που αποστέλλονται σε δίκτυο. Με άλλα λόγια, διατηρεί εμπιστευτικά τα μεταδιδόμενα δεδομένα. Υποστηρίζεται τόσο σε SSH όσο και σε SSL και ενεργεί με τη μετατροπή των δεδομένων του κλάδου σε αυτό που είναι γνωστό ως κρυπτογράφημα.

Όλοι ένας eavesdropper θα έβλεπαν όταν βλέπουν το κρυπτογράφημα σε μια κρυπτογραφημένη σύνδεση θα ήταν μια ακατανόητη σειρά χαρακτήρων.
Αυτά τα δύο στιγμιότυπα οθόνης δείχνουν τι βλέπει ο agedropper όταν εισπνέει μια μη κρυπτογραφημένη σύνδεση και μια κρυπτογραφημένη σύνδεση. Παρατηρήστε πώς η μη κρυπτογραφημένη σύνδεση αποτυγχάνει να αποκρύψει το όνομα χρήστη και τον κωδικό πρόσβασης. Στην μη κρυπτογραφημένη σύνδεση, αυτά τα διαπιστευτήρια σύνδεσης είναι ήδη ακατανόητα.
Μη κρυπτογραφημένη σύνδεση (e.σολ. FTP)

Κρυπτογραφημένη σύνδεση (e.σολ. SFTP ή FTPs)

Τόσο η SSH όσο και η SSL παρέχουν κρυπτογράφηση δεδομένων σε κίνηση μέσω αυτού που είναι γνωστό ως συμμετρική κρυπτογράφηση κλειδιών. Αυτό το είδος κρυπτογράφησης χρησιμοποιεί ένα κοινό κλειδί που χρησιμοποιείται τόσο για την κρυπτογράφηση όσο και για την αποκρυπτογράφηση. Ορισμένα κοινά συμμετρικά κρυπτογραφικά κλειδί περιλαμβάνουν AES, 3DES, Blowfish, Twofish και RC4.
Επαλήθευση διακομιστή και πελάτη
Μια κρυπτογραφημένη σύνδεση γίνεται άχρηστη αν έχετε συνδεθεί εν αγνοία τους με έναν ψευδές διακομιστή ή έναν κακόβουλο πελάτη. Ενώ η SSH και η SSL χρησιμοποιούν συμμετρική κρυπτογραφία για να διατηρήσουν την εμπιστευτικότητα των μεταδιδόμενων δεδομένων, χρησιμοποιούν μια άλλη μορφή κρυπτογράφησης για έλεγχο ταυτότητας. Ο έλεγχος ταυτότητας επιτρέπει σε ένα συμβαλλόμενο μέρος να επαληθεύσει εάν το άλλο μέρος είναι πραγματικά ποιος ισχυρίζεται ότι είναι.
Για την εφαρμογή ταυτότητας, το SSH και το SSL χρησιμοποιούν ασύμμετρη κρυπτογραφία α.κ.ένα. Δημόσια κρυπτογραφία κλειδιού. Οι δημοφιλείς αλγόριθμοι κρυπτογράφησης δημόσιου κλειδιού είναι RSA, DSA και ECDSA, τα οποία υποστηρίζονται από το SSH και το SSL.
Σε αντίθεση με τη συμμετρική κρυπτογράφηση, η οποία χρησιμοποιεί ένα μόνο κλειδί για κρυπτογράφηση και αποκρυπτογράφηση, η ασύμμετρη κρυπτογράφηση χρησιμοποιεί δύο πλήκτρα – ένα δημόσιο κλειδί και ένα ιδιωτικό κλειδί.
Η κρυπτογράφηση δημόσιου κλειδιού μπορεί να χρησιμοποιηθεί από έναν πελάτη για τον έλεγχο ταυτότητας του διακομιστή. Αυτό είναι γνωστό ως έλεγχος ταυτότητας διακομιστή. Ο έλεγχος ταυτότητας διακομιστή εμποδίζει τις εφαρμογές πελατών να συνδεθούν ακούσια και στη συνέχεια να συναλλάσσονται με έναν κακόβουλο διακομιστή που μιμείται ένα νόμιμο.
Αντίστροφα, η κρυπτογράφηση δημόσιου κλειδιού μπορεί επίσης να χρησιμοποιηθεί από έναν διακομιστή για τον έλεγχο ταυτότητας ενός πελάτη. Αυτό είναι γνωστό ως έλεγχος ταυτότητας πελάτη. Το άρθρο Τι είναι ένα κλειδί SFTP Περιλαμβάνει μια ωραία εισαγωγή στον έλεγχο ταυτότητας πελατών και την κρυπτογραφία δημόσιου κλειδιού.
Μηχανισμοί ακεραιότητας δεδομένων
Όταν λαμβάνετε ευαίσθητες πληροφορίες, η ακεραιότητα των δεδομένων είναι εξίσου σημαντική με την εμπιστευτικότητα των δεδομένων. Θα θελήσετε να βεβαιωθείτε ότι τα δεδομένα που λαμβάνετε είναι ακριβώς τα ίδια δεδομένα που μεταδόθηκαν αρχικά από τον αποστολέα.
Οι επιχειρήσεις, ειδικότερα, απαιτούν υψηλό επίπεδο διασφάλισης για την ακεραιότητα των δεδομένων όταν διεξάγουν συναλλαγές μέσω του Διαδικτύου. Τα παραβιαζόμενα δεδομένα μπορούν να επηρεάσουν δυσμενώς τις επιχειρηματικές διαδικασίες και μπορεί να είναι ακόμη και σημάδι δόλων δραστηριοτήτων.
Οι μηχανισμοί ακεραιότητας δεδομένων επιτρέπουν στα συμβαλλόμενα μέρη να ελέγξουν εάν το μεταδιδόμενο μήνυμα ήταν αμετάβλητο στην πορεία. Οι αλγόριθμοι MAC (κωδικός ελέγχου ταυτότητας μηνυμάτων) όπως το SHA1, το SHA256 (και άλλες εκδόσεις του SHA) και το MD5 χρησιμοποιούνται συνήθως τόσο από το SSH όσο και από το SSL για τη διεξαγωγή ελέγχων ακεραιότητας δεδομένων σε μεταδιδόμενα μηνύματα.
Η κατανόηση του άρθρου περιλαμβάνει μια ωραία συζήτηση για το θέμα.
Διαφορές μεταξύ SSL και SSH
Μία από τις πιο αξιοσημείωτες διαφορές μεταξύ SSL/TLS και SSH είναι ότι το SSL κανονικά (ναι, μπορεί να υπάρξει εξαιρέσεις) χρησιμοποιεί το x.509 Ψηφιακά Πιστοποιητικά για τον έλεγχο ταυτότητας διακομιστή και πελάτη, ενώ το SSH δεν το κάνει. Και επειδή η SSL χρησιμοποιεί ψηφιακά πιστοποιητικά, συνεπώς απαιτεί επίσης την παρουσία μιας δημόσιας υποδομής (PKI) και τη συμμετοχή μιας αρχής πιστοποιητικών (CA).
Παρόλο που είναι δυνατόν να χρησιμοποιηθούν αυτό που είναι γνωστό ως πιστοποιητικά αυτο-υπογραφής, οπότε η SSL γίνεται πολύ παρόμοια με την SSH λόγω της απουσίας CA, αυτό δεν είναι μια συνιστώμενη πρακτική. Τα πιστοποιητικά αυτο-υπογραφής είναι αποδεκτά μόνο σε συναλλαγές ενδο-οργανωτικών, εκτός από τις μεγάλες (e.σολ. παγκοσμίως κατανεμημένες) Οργανισμοί.
Μια άλλη μεγάλη διαφορά είναι ότι η SSH έχει ενσωματωμένη μεγαλύτερη λειτουργικότητα σε αυτό. Για παράδειγμα, από μόνη της, η SSH μπορεί να επιτρέψει στους χρήστες να συνδεθούν σε διακομιστή και να εκτελέσουν εντολές εξ αποστάσεως. Το SSL δεν έχει αυτήν την ικανότητα. Θα πρέπει να το συνδυάσετε με ένα άλλο πρωτόκολλο (Ε.σολ. HTTP, FTP ή WebDAV) για να έχει παρόμοιες λειτουργίες.
Το SSH υποστηρίζει επίσης εύκολα την πολυπλεξία σύνδεσης, τον έλεγχο ροής, τη διαχείριση τερματικών και άλλα χαρακτηριστικά. Φυσικά, αυτά τα πρόσθετα χαρακτηριστικά δεν εμπίπτουν πλέον στην αρχική μας συζήτηση όπου ξεκινήσαμε να συγκρίνουμε το SSL και το SSH σε σχέση με το SFTP και το FTPS.
Έτσι, πριν απομακρυνθούμε περαιτέρω, ας τελειώσουμε εδώ.
Ξεκίνα
Θα θέλατε να δοκιμάσετε διακομιστή μεταφοράς αρχείων που υποστηρίζει FTP και SFTP καθώς και άλλα πρωτόκολλα? Δοκιμάστε την δωρεάν, πλήρως λειτουργική έκδοση αξιολόγησης του διακομιστή JSCAPE MFT σήμερα.
Δημοφιλή άρθρα

Ρύθμιση ελέγχου ταυτότητας δημόσιου κλειδιού SFTP στη γραμμή εντολών
6 λεπτά ανάγνωση – 11 Δεκεμβρίου 2022

Το SFTP σας επιτρέπει να πιστοποιήσετε τους πελάτες χρησιμοποιώντας δημόσια κλειδιά, πράγμα που σημαίνει ότι κέρδισαν’Χρειάζεστε έναν κωδικό πρόσβασης. Μάθετε πώς να το ρυθμίσετε στη γραμμή εντολών online. Διαβάστε το άρθρο
Ενεργός VS. Παθητικό FTP Απλοποιημένο: Κατανόηση των θυρών FTP
7 λεπτά ανάγνωση – 11 Δεκεμβρίου 2022

Εάν υπάρχουν προβλήματα που συνδέονται με τον διακομιστή FTP σας, ελέγξτε τη λειτουργία μεταφοράς σας. Αφήστε το JSCAPE να σας βοηθήσει να κατανοήσετε τη διαφορά στο ενεργό και παθητικό FTP. Διαβάστε το άρθρο
Ενεργός ενεργός vs. Ενεργός παγωμένος συγκέντρωση υψηλής διαθεσιμότητας
3 λεπτά ανάγνωση – 11 Δεκεμβρίου 2022

Οι συνηθέστερα χρησιμοποιούμενες διαμορφώσεις συσσωμάτωσης υψηλής διαθεσιμότητας είναι ενεργές και ενεργές παγωμένες. Μάθετε τη διαφορά μεταξύ των δύο online! Διαβάστε το άρθρο
Χρήση σεναρίων FTP Windows για αυτοματοποίηση μεταφορών αρχείων
4 λεπτά ανάγνωση – 11 Δεκεμβρίου 2022

Μάθετε πώς να αυτοματοποιήσετε τις μεταφορές αρχείων χρησιμοποιώντας τα σενάρια FTP των Windows FTP. Αυτή η ανάρτηση εξηγεί ποια είναι τα σενάρια FTP και πώς να δημιουργήσετε απλά σενάρια για τη μεταφορά αρχείων. Διαβάστε το άρθρο
Χρησιμοποιεί η SSH TLS ή SSL
Э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э
Ы з з з з з з з и и и и п п п п п п з п з з з з з з з з з п. С п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п. ПOчем э э э э э э э э э э э п п п п п п п?
Э э э э э а а а а и е е з з л л л л л л л э э э э э э э э э э э э Κοιτάζοντας το ριμπάγ. С с п п п п п э э э э э э э э э э э э э э э э э э э э э э э э э э э э. Д э э э э д д д и и д д д ρίας н и д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д.
И и з а а а а а а а а ы ы з .. Е е е е д п п ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж п п п п п п п п п п п п п п п п п. Орrρά. Пороннαι.
ПON п п е е а а τροφή пρέφ а а а а а τροφήλου. е е е и τροφή ее же жÉ в в ж и и и и ч ч.
SSH VS SSL: Διαφορές και ομοιότητες μεταξύ τους [Συμβουλές Minitool]
Ποιες είναι οι διαφορές μεταξύ SSH και SSL? Ποιό είναι καλύτερο? Εάν προσπαθείτε να βρείτε αυτές τις ερωτήσεις’ Απαντήσεις, αυτή η ανάρτηση είναι αυτό που χρειάζεστε. Αυτή η ανάρτηση από το Minitool παρέχει τους ορισμούς τους καθώς και τις πληροφορίες σχετικά με το SSH VS SSL.
Τι είναι το SSH
Τι σημαίνει το SSH? Το SSH είναι επίσης γνωστό ως Secure Shell, το οποίο είναι μια μέθοδος ασφαλούς επικοινωνίας με απομακρυσμένους υπολογιστές. Το SSH χρησιμοποιείται για να αλληλεπιδράσει με το λειτουργικό κέλυφος ενός άλλου συστήματος για την εκτέλεση εντολών από απόσταση.
Το SSH μπορεί να χρησιμοποιηθεί μόνο σε υπολογιστές που βασίζονται σε UNIX, αλλά τώρα μπορείτε να το χρησιμοποιήσετε στα Windows. Το SSH είναι ένα πρωτόκολλο κρυπτογράφησης που δημιουργεί μια σήραγγα μεταξύ δύο απομακρυσμένων υπολογιστών. Ίσως, αυτή η ανάρτηση – Πώς να ρυθμίσετε το SSH Client and Server στα Windows 10 [Full Guide] είναι αυτό που χρειάζεστε.
Τι είναι το SSL/TLS
Τι είναι το SSL ή τι είναι το TLS? Το SSL και το TLS είναι μηχανισμοί για την προστασία της ασφάλειας των ιστότοπων. Αν και το SSL και το TLS κάνουν το ίδιο πράγμα, το TLS αντικαθιστά σταδιακά το SSL στην υλοποίηση του δικτύου. Χρησιμοποιούν ψηφιακές υπογραφές που δημιουργούνται από τις αρχές πιστοποιητικών για να επιτρέψουν την εμπιστοσύνη μεταξύ εσάς και των παρόχων.
SSH vs SSL
Τα SSH και SSL/TLs συνήθως έχουν διαφορετικές χρήσεις. Το SSH χρησιμοποιείται για την εκτέλεση εργασιών που οι συνηθισμένοι χρήστες του Διαδικτύου δεν έχουν ποτέ να αντιμετωπίσουν. Από την άλλη πλευρά, οι συνηθισμένοι χρήστες του Διαδικτύου χρησιμοποιούν SSL/TLS. Τα παρακάτω είναι οι πληροφορίες σχετικά με το SSL VS SSH.
Ομοιότητες
Τώρα, ας’S Δείτε τις ομοιότητες μεταξύ SSH και SSL. Πρώτον, τόσο το SSH όσο και το SSL είναι τριψήφιες συντομογραφίες που ξεκινούν με το ίδιο γράμμα. Στη συνέχεια, αυτά είναι τα δύο πρωτόκολλα που χρησιμοποιούνται σε ασφαλείς συνδέσεις. Τέλος, και οι δύο χρησιμοποιούν κρυπτογράφηση για να προστατεύσουν τα δεδομένα που έχουν περάσει μεταξύ δύο συσκευών δικτύου.
Διαφορές
Μόλις τώρα, γνωρίζετε τις ομοιότητες μεταξύ SSH και SSL. Τότε, ας’Δείτε τις διαφορές μεταξύ SSH και SSL.
1. Το SSH τρέχει στη θύρα 22, ενώ το SSL εκτελείται στη θύρα 443.
2. Το SSH βασίζεται σε σήραγγες δικτύου και το SSL βασίζεται σε πιστοποιητικά.
3. Τεχνικά, το SSH χρησιμοποιείται για την προστασία του δικτύου υπολογιστών, ενώ το SSL χρησιμοποιείται για την προστασία της μετάδοσης δεδομένων στο διαδίκτυο.
4. Το SSH χρησιμοποιεί μια διαδικασία ελέγχου ταυτότητας ονόματος χρήστη/κωδικού πρόσβασης για να δημιουργήσει μια ασφαλή σύνδεση, ενώ η SSL δεν το θεωρεί.
5. Το SSL χρησιμοποιείται για την ασφαλή μεταφορά βασικών πληροφοριών όπως οι πιστωτικές κάρτες και οι τράπεζες. Και το SSH χρησιμοποιείται για την εκτέλεση εντολών με ασφάλεια στο Διαδίκτυο.
6. Το SSL συνήθως (εκτός από εξαιρέσεις) χρησιμοποιεί x.509 Ψηφιακά πιστοποιητικά για έλεγχο ταυτότητας διακομιστή και πελάτη, ενώ το SSH δεν το κάνει.
7. Το SSL χρησιμοποιείται για την κρυπτογράφηση της επικοινωνίας μεταξύ του προγράμματος περιήγησης και του διακομιστή. Από την άλλη πλευρά, το SSH χρησιμοποιείται για την κρυπτογράφηση της επικοινωνίας μεταξύ δύο υπολογιστών στο διαδίκτυο.
8. Στο SSL, η επικοινωνία επικυρώνεται από το ζεύγος ιδιωτικών/δημόσιων κλειδιών. Στο SSH, η επικοινωνία επικυρώνεται μέσω ζευγών ιδιωτικών/δημόσιων κλειδιών ή ζεύγη ονόματος χρήστη/κωδικού πρόσβασης.
9. Μια άλλη σημαντική διαφορά είναι ότι το SSH έχει περισσότερα ενσωματωμένα χαρακτηριστικά από το SSL. Σας βοηθά να συνδεθείτε στο διακομιστή και να εκτελεί εντολές εξ αποστάσεως και το SSL δεν έχει αυτήν τη λειτουργία. Για να επιτύχετε αυτή τη λειτουργία, πρέπει να το συνδυάσετε με άλλα πρωτόκολλα – HTTP, FTP.
![]()
5 τρόποι επίλυσης σφάλματος HTTP 401 Μη εξουσιοδοτημένοι
Κατά το άνοιγμα του προγράμματος περιήγησης για να αναζητήσετε κάτι, μπορείτε να συναντήσετε το σφάλμα HTTP 401 μη εξουσιοδοτημένο. Αυτή η ανάρτηση δείχνει τον τρόπο επίλυσης αυτού του σφάλματος 401.
Τελικά λόγια
Εδώ είναι όλες οι πληροφορίες σχετικά με το SSH vs SSL. Αφού διαβάσετε αυτήν την ανάρτηση, θα πρέπει να γνωρίζετε τι είναι το SSH και το SSL. Και από αυτήν την ανάρτηση, γνωρίζετε ότι οι ομοιότητες και οι διαφορές μεταξύ SSH και SSL.
- Κελάδημα
- Ερυθρός
Σχετικά με τον Συγγραφέα
Η Daisy αποφοίτησε με ένα σημαντικό στα αγγλικά και στη συνέχεια εντάχθηκε στο Minitool ως επεξεργαστής. Ειδικεύεται στη συγγραφή άρθρων σχετικά με την υποστήριξη δεδομένων και συστημάτων, κλωνοποίησης δίσκων και αρχείων συγχρονισμού κ.λπ. Είναι επίσης καλή στο γράψιμο άρθρων σχετικά με τις γνώσεις υπολογιστών και τα προβλήματα ηλεκτρονικών υπολογιστών. Στην καθημερινή ζωή, της αρέσει να τρέχει και να πηγαίνει στο πάρκο ψυχαγωγίας με φίλους για να παίξει μερικά συναρπαστικά αντικείμενα.



