VPN WireGuard έγινε δεκτό στον κλάδο net-next και έχει προγραμματιστεί να συμπεριληφθεί στον πυρήνα Linux 5.6

Ντέιβιντ Μίλερ (Ντέιβιντ Σ. Μίλερ), υπεύθυνο για το υποσύστημα δικτύου πυρήνα Linux, δέχτηκε το στον επόμενο κλάδο μπαλώματα με την υλοποίηση της διεπαφής VPN από το έργο WireGuardΣτις αρχές του επόμενου έτους, οι αλλαγές που θα συσσωρευτούν στον κλάδο net-next θα αποτελέσουν τη βάση της βασικής έκδοσης. Linux 5.6.

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

Μετά από ομιλίες στο συνέδριο Kernel Recipes, οι δημιουργοί WireGuard τον Σεπτέμβριο πήρε μια συμβιβαστική απόφαση μετατρέψτε τα patches σας ώστε να χρησιμοποιούν το υπάρχον Crypto API στον πυρήνα, στο οποίο έχουν πρόσβαση οι προγραμματιστές WireGuard Υπάρχουν παράπονα σχετικά με την απόδοση και τη συνολική ασφάλεια. Αποφασίστηκε να συνεχιστεί η ανάπτυξη του Zinc API, αλλά ως ξεχωριστό έργο.

Τον Νοέμβριο, προγραμματιστές πυρήνα πήγε σε έναν αμοιβαίο συμβιβασμό και συμφώνησαν να μετακινήσουν μέρος του κώδικα από το Zinc στον κύριο πυρήνα. Στην πραγματικότητα, ορισμένα στοιχεία του Zinc θα μετακινηθούν στον πυρήνα, αλλά όχι ως ξεχωριστό API, αλλά ως μέρος του υποσυστήματος Crypto API. Για παράδειγμα, το Crypto API ήδη περιλαμβάνεται παρασκευασμένο σε WireGuard Γρήγορες υλοποιήσεις των αλγορίθμων ChaCha20 και Poly1305.

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

  • wireguard-linux.git — το πλήρες δέντρο πυρήνα με αλλαγές από το έργο Wireguard, ενημερώσεις κώδικα από τις οποίες θα εξετάζονται για συμπερίληψη στον πυρήνα και θα μετεγκαθίστανται τακτικά στους κλάδους net/net-next.
  • wireguard-tools.git — ένα αποθετήριο για βοηθητικά προγράμματα χρόνου εκτέλεσης (runtime) και σενάρια (scripts) χώρου χρήστη, όπως τα wg και wg-quick. Το αποθετήριο μπορεί να χρησιμοποιηθεί για τη δημιουργία πακέτων για διανομές.
  • wireguard-linux-compat.git — ένα αποθετήριο με μια έκδοση της ενότητας, που παρέχεται ξεχωριστά από τον πυρήνα και περιλαμβάνει ένα επίπεδο compat.h για να διασφαλίζεται η συμβατότητα με παλαιότερους πυρήνες. Η κύρια ανάπτυξη θα πραγματοποιηθεί στο αποθετήριο. wireguard-linux.git, αλλά εφόσον υπάρχει η δυνατότητα και η ζήτηση από τους χρήστες, θα υποστηρίζεται και ξεχωριστή έκδοση ενημερώσεων κώδικα σε λειτουργική μορφή.

Ας σας υπενθυμίσουμε ότι το VPN WireGuard Υλοποιημένο με σύγχρονες μεθόδους κρυπτογράφησης, παρέχει πολύ υψηλή απόδοση, είναι εύχρηστο, δεν παρουσιάζει επιπλοκές και έχει αποδειχθεί αποτελεσματικό σε μια σειρά από μεγάλης κλίμακας αναπτύξεις που χειρίζονται μεγάλους όγκους κίνησης. Το έργο βρίσκεται σε ανάπτυξη από το 2015 και έχει ελεγχθεί και επίσημη επαλήθευση μέθοδοι κρυπτογράφησης που χρησιμοποιούνται. Υποστήριξη WireGuard Είναι ήδη ενσωματωμένο στο NetworkManager και στο systemd, και οι ενημερώσεις κώδικα πυρήνα περιλαμβάνονται στις βασικές διανομές. Debian Ασταθής, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и ALT.

В WireGuard Χρησιμοποιείται η έννοια της δρομολόγησης κλειδιού κρυπτογράφησης, η οποία περιλαμβάνει τη σύνδεση ενός ιδιωτικού κλειδιού σε κάθε διεπαφή δικτύου και τη χρήση του για τη σύνδεση δημόσιου κλειδιού. Τα δημόσια κλειδιά ανταλλάσσονται για τη δημιουργία μιας σύνδεσης με τρόπο παρόμοιο με το SSH. Για τη διαπραγμάτευση κλειδιών και τη δημιουργία μιας σύνδεσης χωρίς την εκτέλεση ξεχωριστού δαίμονα στον χώρο χρήστη, ο μηχανισμός Noise_IK από Πλαίσιο πρωτοκόλλου θορύβουπαρόμοια με τη διατήρηση των authorized_keys στο SSH. Η μετάδοση δεδομένων πραγματοποιείται μέσω ενθυλάκωσης σε πακέτα UDP. Υποστηρίζει την αλλαγή της διεύθυνσης IP του διακομιστή VPN (περιαγωγή) χωρίς αποσύνδεση της σύνδεσης και αυτόματη επαναδιαμόρφωση του πελάτη.

Για κρυπτογράφηση χρησιμοποιούνται κρυπτογράφηση ροής ChaCha20 και αλγόριθμος ελέγχου ταυτότητας μηνυμάτων (MAC) Poly1305, σχεδιασμένο από τον Daniel Bernstein (Ντάνιελ Τ. Μπερνστάιν), Τάνια Λανγκ
(Tanja Lange) και Peter Schwabe. Τα ChaCha20 και Poly1305 τοποθετούνται ως ταχύτερα και ασφαλέστερα ανάλογα των AES-256-CTR και HMAC, η εφαρμογή λογισμικού των οποίων επιτρέπει την επίτευξη σταθερού χρόνου εκτέλεσης χωρίς τη χρήση ειδικής υποστήριξης υλικού. Για τη δημιουργία ενός κοινόχρηστου μυστικού κλειδιού, το πρωτόκολλο Diffie-Hellman της ελλειπτικής καμπύλης χρησιμοποιείται στην υλοποίηση Curve25519, που προτάθηκε επίσης από τον Daniel Bernstein. Ο αλγόριθμος που χρησιμοποιείται για τον κατακερματισμό είναι BLAKE2s (RFC7693).

Στο δοκιμή παραγωγικότητα WireGuard επέδειξε 3.9 φορές υψηλότερη απόδοση και 3.8 φορές υψηλότερη ανταπόκριση σε σύγκριση με OpenVPN (256-bit AES με HMAC-SHA2-256). Σε σύγκριση με το IPsec (256-bit ChaCha20+Poly1305 και AES-256-GCM-128) στο WireGuard Παρατηρείται ένα μικρό πλεονέκτημα στην απόδοση (13-18%) και μείωση της καθυστέρησης (21-23%). Οι δοκιμές πραγματοποιήθηκαν χρησιμοποιώντας τις γρήγορες υλοποιήσεις αλγορίθμων κρυπτογράφησης του ίδιου του έργου. Η μετάβαση στο εγγενές Crypto API του πυρήνα μπορεί να οδηγήσει σε υποβάθμιση της απόδοσης.

VPN WireGuard έγινε δεκτό στον κλάδο net-next και έχει προγραμματιστεί να συμπεριληφθεί στον πυρήνα Linux 5.6

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster