WireGuard VPN עבור Windows ו-WireGuardNT 1.0 שוחררו

ג'ייסון א. דוננפלד, מחבר WireGuard VPN, הוציא את הגרסה הגדולה הראשונה של תוכנת הלקוח WireGuard עבור Windows 1.0, כמו גם את מנהלי ההתקנים WireGuardNT 1.0 עם יציאה... VPN WireGuard עבור ליבת Windows 10 ו-11, תומך בארכיטקטורות AMD64, x86 ו-ARM64. קוד רכיב ליבת Windows מורשה תחת רישיון GPLv2, ותוכנת הלקוח מורשית תחת רישיון MIT.

הפורט מבוסס על בסיס הקוד של יישום WireGuard הראשי עבור ליבת לינוקס, אשר הומר לשימוש בישויות ליבת Windows ובמחסנית הרשת NDIS. בהשוואה ליישום wireGuard-go, הפועל במרחב המשתמש ומשתמש בממשק הרשת Wintun, WireGuardNT מציע שיפורי ביצועים משמעותיים על ידי ביטול מתגי הקשר והעתקת תוכן חבילות מהליבה למרחב המשתמש. בדומה ליישומים עבור לינוקס, OpenBSD ו-FreeBSD, כל לוגיקת עיבוד הפרוטוקולים ב-WireGuardNT פועלת ישירות ברמת מחסנית הרשת.

גרסה 1.0 סומנה כאבן דרך, וסימנה את פתרון מספר בעיות ואת מילוי המשימות המיועדות, כגון: שימוש בפונקציה NdisWdfGetAdapterContextFromAdapterHandle() במקום אחסון פחות מאובטח של מצב הדרייבר בשדה Reserved ושימוש בקיזוזים לא מתועדים; מעקב נכון ומהיר אחר גודל ה-MTU (יחידת שידור מרבית) באמצעות יירוט קריאות מערכת; שימוש בתקן C23 בקוד.

כתזכורת, WireGuard VPN מבוסס על שיטות הצפנה מודרניות, מספק ביצועים יוצאי דופן, קל לשימוש, נטול סיבוכים, והוכיח את עצמו במספר פריסות בקנה מידה גדול המטפלות בכמויות גדולות של תעבורה. הפרויקט נמצא בפיתוח מאז 2015 ועבר ביקורת ואימות רשמי של שיטות ההצפנה שלו. WireGuard משתמש בקונספט ניתוב הצפנה מבוסס מפתח, הכולל קשירת מפתח פרטי לכל ממשק רשת ושימוש במפתחות ציבוריים לקשירת מפתחות.

החלפת מפתחות ציבוריים ליצירת חיבור דומה ל-SSH. כדי לנהל משא ומתן על מפתחות ולהתחבר מבלי להפעיל daemon נפרד במרחב המשתמש, נעשה שימוש במנגנון Noise_IK מ-Noise Protocol Framework, בדומה לתחזוקת authorized_keys ב-SSH. העברת נתונים מתבצעת באמצעות אנקפסולציה בחבילות UDP. שינוי נתמך. כתובות IP שרתי VPN (נדידה) ללא הפרעה לחיבור עם שינוי תצורה אוטומטי של הלקוח.

צופן הזרם ChaCha20 ואלגוריתם אימות ההודעות (MAC) Poly1305, שפותחו על ידי דניאל ג'יי ברנשטיין, טניה לאנג ופיטר שוואבה, משמשים להצפנה. ChaCha20 ו-Poly1305 משווקים כחלופות מהירות ומאובטחות יותר ל-AES-256-CTR ו-HMAC, שמימוש התוכנה שלהם מאפשר ביצוע בזמן קבוע ללא צורך בתמיכה מיוחדת בחומרה. המפתח הסודי המשותף נוצר באמצעות פרוטוקול Diffie-Hellman עקומה אליפטית במימוש Curve25519, שהוצע גם הוא על ידי דניאל ברנשטיין. אלגוריתם BLAKE2s (RFC7693) משמש לגיבוב.

מקור: OpenNet.ru