Η Google ανακάλυψε εξελίξεις που σχετίζονται με το πρωτόκολλο ασφαλούς δικτύου PSP

Η Google ανακοίνωσε το άνοιγμα των προδιαγραφών και μια εφαρμογή αναφοράς του PSP (PSP Security Protocol), που χρησιμοποιείται για την κρυπτογράφηση της κυκλοφορίας μεταξύ των κέντρων δεδομένων. Το πρωτόκολλο χρησιμοποιεί μια αρχιτεκτονική ενθυλάκωσης κυκλοφορίας παρόμοια με το IPsec ESP (Encapsulating Security Payloads) μέσω IP, παρέχοντας κρυπτογράφηση, έλεγχο κρυπτογραφικής ακεραιότητας και έλεγχο ταυτότητας πηγής. Ο κώδικας υλοποίησης PSP είναι γραμμένος σε C και διανέμεται με την άδεια Apache 2.0.

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

Το πρωτόκολλο UDP χρησιμοποιείται ως μεταφορά για τη μεταφορά δεδομένων. Ένα πακέτο PSP ξεκινά με μια κεφαλίδα IP, ακολουθούμενη από μια κεφαλίδα UDP και στη συνέχεια τη δική του κεφαλίδα PSP με πληροφορίες κρυπτογράφησης και ελέγχου ταυτότητας. Στη συνέχεια, τα περιεχόμενα του αρχικού πακέτου TCP/UDP προσαρτώνται, τελειώνοντας με ένα τελικό μπλοκ PSP με ένα άθροισμα ελέγχου για επιβεβαίωση της ακεραιότητας. Η κεφαλίδα PSP, καθώς και η κεφαλίδα και τα δεδομένα του ενθυλακωμένου πακέτου, ελέγχονται πάντα για την επιβεβαίωση της ταυτότητας του πακέτου. Τα δεδομένα του ενθυλακωμένου πακέτου μπορούν να κρυπτογραφηθούν, ενώ είναι δυνατή η επιλεκτική εφαρμογή κρυπτογράφησης αφήνοντας μέρος της κεφαλίδας TCP σε καθαρό (διατηρώντας τον έλεγχο αυθεντικότητας), για παράδειγμα, για να παρέχεται η δυνατότητα επιθεώρησης πακέτων σε εξοπλισμό δικτύου διέλευσης.

Η Google ανακάλυψε εξελίξεις που σχετίζονται με το πρωτόκολλο ασφαλούς δικτύου PSP

Το PSP δεν συνδέεται με κάποιο συγκεκριμένο πρωτόκολλο ανταλλαγής κλειδιών, προσφέρει πολλές επιλογές μορφής πακέτων και υποστηρίζει τη χρήση διαφορετικών κρυπτογραφικών αλγορίθμων. Για παράδειγμα, παρέχεται υποστήριξη για τον αλγόριθμο AES-GCM για κρυπτογράφηση και έλεγχο ταυτότητας (authentication) και AES-GMAC για έλεγχο ταυτότητας χωρίς κρυπτογράφηση των πραγματικών δεδομένων, για παράδειγμα όταν τα δεδομένα δεν είναι πολύτιμα, αλλά πρέπει να βεβαιωθείτε ότι δεν έχει έχει παραβιαστεί κατά τη μετάδοση και ότι είναι το σωστό που στάλθηκαν αρχικά.

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

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

Υποστηρίζονται δύο τρόποι λειτουργίας - "stateful" και "stateless". Στη λειτουργία "χωρίς κατάσταση", τα κλειδιά κρυπτογράφησης μεταδίδονται στην κάρτα δικτύου στον περιγραφέα πακέτων και για αποκρυπτογράφηση εξάγονται από το πεδίο SPI (Security Parameter Index) που υπάρχει στο πακέτο χρησιμοποιώντας ένα κύριο κλειδί (256-bit AES, αποθηκευμένο σε η μνήμη της κάρτας δικτύου και αντικαθίσταται κάθε 24 ώρες), γεγονός που σας επιτρέπει να αποθηκεύετε τη μνήμη της κάρτας δικτύου και να ελαχιστοποιείτε τις πληροφορίες σχετικά με την κατάσταση των κρυπτογραφημένων συνδέσεων που είναι αποθηκευμένες στην πλευρά του εξοπλισμού. Στη λειτουργία "stateful", τα κλειδιά για κάθε σύνδεση αποθηκεύονται στην κάρτα δικτύου σε έναν ειδικό πίνακα, παρόμοιο με τον τρόπο με τον οποίο υλοποιείται η επιτάχυνση υλικού στο IPsec.

Η Google ανακάλυψε εξελίξεις που σχετίζονται με το πρωτόκολλο ασφαλούς δικτύου PSP

Το PSP παρέχει έναν μοναδικό συνδυασμό δυνατοτήτων πρωτοκόλλου TLS και IPsec/VPN. Το TLS ταίριαζε στην Google όσον αφορά την ασφάλεια ανά σύνδεση, αλλά δεν ήταν κατάλληλο λόγω της έλλειψης ευελιξίας για την επιτάχυνση υλικού και της έλλειψης υποστήριξης UDP. Το IPsec παρείχε ανεξαρτησία πρωτοκόλλου και υποστήριζε καλά την επιτάχυνση υλικού, αλλά δεν υποστήριζε τη δέσμευση κλειδιού σε μεμονωμένες συνδέσεις, σχεδιάστηκε μόνο για ένα μικρό αριθμό σηράγγων που δημιουργήθηκαν και είχε προβλήματα με την κλιμάκωση της επιτάχυνσης υλικού λόγω αποθήκευσης της κατάστασης πλήρους κρυπτογράφησης σε πίνακες που βρίσκονται στη μνήμη της κάρτας δικτύου (για παράδειγμα, απαιτούνται 10 GB μνήμης για τη διαχείριση 5 εκατομμυρίων συνδέσεων).

Στην περίπτωση του PSP, πληροφορίες σχετικά με την κατάσταση κρυπτογράφησης (κλειδιά, διανύσματα αρχικοποίησης, αριθμοί ακολουθίας, κ.λπ.) μπορούν να μεταδοθούν στον περιγραφέα πακέτων TX ή με τη μορφή δείκτη στη μνήμη του συστήματος υποδοχής, χωρίς να καταλαμβάνεται η μνήμη της κάρτας δικτύου. Σύμφωνα με την Google, περίπου το 0.7% της υπολογιστικής ισχύος και μια μεγάλη ποσότητα μνήμης δαπανώνταν προηγουμένως για την κρυπτογράφηση της κίνησης RPC στην υποδομή της εταιρείας. Η εισαγωγή του PSP μέσω της χρήσης επιτάχυνσης υλικού κατέστησε δυνατή τη μείωση αυτού του ποσοστού στο 0.2%.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο