טענות הצפנת VPN: מה התיעוד חייב לומר
שם של צופן אינו מתאר אימות, מטא־נתונים או משך שמירה. בדקו איזו התחברות הטענה מכסה לפני שאתם משווים מספרים.
הסתכלו על המספר הגדול שליד שם אלגוריתם ושאלו מה הוא באמת מודד. הוא אינו אומר איזו התחברות מוגנת, איזה פרוטוקול מספק את ההגנה או אילו הגדרות הלקוח שלכם תומך בהן. דף שאינו יכול לקשור את הטענה שלו לאחד מאלה הוא פרסומת ולא תיעוד. הבדיקות שלהלן הן סדר קריאה לכל תקציר שנמסר לכם, והטענה הראשונה שאינכם יכולים לקשור להתחברות מסוימת היא המקום לעצור בו.
קבעו איזו התחברות הטענה מכסה
דף מוצר אחד יכול לדון בהצפנת המנהרה, ב־HTTPS לפורטל החשבון ובהצפנת נתונים מאוחסנים באותה פסקה. אלה מסלולים שונים ומערכות אחסון שונות, ולכן תכונה של האחד אינה אומרת דבר על האחרים. החליטו על איזה מהשלושה עוסק המשפט לפני שתשוו אותו למתחרה. אותה מילה, הצפנה, מופיעה בכל שלושת ההקשרים ומשמעותה שונה בכל פעם.
עבור המנהרה עצמה, חפשו פרוטוקול מתועד וקבוצה מתועדת של הגדרות אבטחה נתמכות. שלוש התוויות האלה אינן ניתנות להחלפה: קבוצת ברירת המחדל מגיעה בלי שתבחרו בה, מצב אופציונלי חל רק אם הפרופיל בוחר בו, ותוצאה מוסכמת היא מה ששני הצדדים הסכימו עליו בעת ההתחברות. ספק שמטשטש אותן אמר לכם פחות מכפי שזה נראה.
בדקו את הפרוטוקול ואת הקבוצה שהוא מתיר
התחילו מפרופיל הלקוח ולא מגרפיקת השוואה. הפרופיל נוקב בשם הפרוטוקול, והפרוטוקול קובע אילו קבוצות בכלל אפשריות, כפי שמראים שני המקרים הנפוצים.
| Property | IKEv2/IPsec profile | WireGuard profile |
|---|---|---|
| Cipher suite | Proposal list of encryption, integrity, PRF and DH group | Fixed ChaCha20-Poly1305 with Curve25519 |
| Negotiation | The gateway narrows the proposal at connect time | No suite negotiation at all |
| Peer authentication | Certificates or a preshared secret | A public key per peer |
רשימת ההצעות של IKEv2 היא תפריט שהשער בוחר ממנו, ולכן הקבוצה שתקבלו יכולה להיות שונה בין שני שערים עם הגדרות לקוח זהות. ל־WireGuard אין תפריט כזה, מה שהופך את הטענה שלו לקלה יותר לאימות וצרה יותר לתיאור. אף אחד מהסדרים אינו חזק יותר מעצמו; הנקודה היא שהתיעוד חייב לומר איזה מהם מכוון.
שם של צופן לבדו גם משמיט אימות, כינון מפתחות, חשיפת מטא־נתונים ומשך שמירה. מבנים מודרניים משלבים הצפנה ושלמות בקבוצה אחת, בעוד ישנים יותר מפרידים ביניהן, ולכן ציטוט שם אלגוריתם אחד יכול להסתיר איזו תכונה אתם מקבלים בפועל. בקשו את מדיניות המשא ומתן בכתב כשהדף אינו מציין אותה.
בדקו את אימות הצד שכנגד ואת מצב העדכון
אימות הצד שכנגד שייך לטענה גם כשטקסט השיווק מדלג עליו. הצפנה חזקה לנמען לא מאומת אינה התוצאה שאיש התכוון אליה, ומנהרה שאינה יכולה לומר לכם מי השיב מגינה פחות מכפי שזה נראה. חפשו כיצד הלקוח מאמת את השרת: שרשרת תעודות, מפתח מוצמד או סוד משותף מראש. אלה מודלי אמון שונים עם דפוסי כשל שונים.
לאחר מכן בדקו את המימוש ואת מצב העדכון שלו, כי צופן מתועד בלקוח לא מעודכן מתאר גרסה שאולי אינה זו שאתם מריצים. למגבלות שפרסמו מחברי הפרוטוקול שווה לקרוא מאותה סיבה. לקוח שלא עודכן שנה שלמה מציג טענה אחרת מהדף שלפניכם.
בדקו היכן המנהרה מסתיימת
מנהרה מלקוח לשרת מסתיימת בשרת ה־VPN. הצפנת יישום, כמו HTTPS לשירות שמאחוריו, יכולה להגן על התעבורה בהמשך המסלול, ואחרי השרת היא עשויה להיות ההגנה היחידה שנותרה. קראו את ההסבר של המפעיל על נקודות הקצה והחליטו לאיזו מהשכבות האלה מתייחסת הטענה.
מדיניות רישום ומעקב חשבון עומדות לגמרי מחוץ להצפנה. מפעיל יכול להעביר תוכן מוצפן תוך שהוא צופה בתזמון, בכתובות ובנפח, ולכן טענה על סודיות המטען אינה עונה דבר על מה שנרשם. התייחסו לשמירה כאל שאלה נפרדת עם ראיות משלה.
רשמו את מה שהתיעוד אינו אומר
כשתכונה חסרה, רשמו שהיא חסרה במקום להסיק אותה משם התוכנה או מהמוניטין שלה. ביקורת מכסה רק את התכונות והרכיבים שהיא באמת בחנה, ופער בתיעוד הוא ממצא בפני עצמו. כתבו את הפער כל עוד אתם זוכרים איזה דף יצר אותו.
במכונה שאתם שולטים בה, קראו את הקבוצה חזרה מהסשן הפעיל, באמצעות דף המצב של הלקוח או רשימת אגדות האבטחה בשער, ורשמו את הערך הזה לצד גרסת הלקוח. התיעוד הזה הופך טענת ספק למשהו שניתן להשוות מאוחר יותר, כשעדכון משנה את התוצאה המוסכמת. אם הלקוח והתיעוד חלוקים, סמכו על התוצאה המוסכמת ודווחו על הפער במקום ליישב אותו בשקט.