הפרסומת אומרת 256 סיביות, המוצר השני אומר 128 סיביות, והמסקנה נראית מובנת מאליה עד שמבחינים שהמספרים מתארים דברים שונים. מפתח צופן סימטרי, מפתח ציבורי של תעודה ופרמטר של החלפת מפתחות אינם נמדדים באותו קנה מידה. אף אחד מהם אינו מכסה את השאלה אם הלקוח אימת את השרת בכלל. המספר הוא מידע אמיתי, והוא צר בהרבה ממה שהשיווק סביבו מרמז.

שאלו איזה מפתח נספר ומה הוא מגן עליו לפני שמשווים משהו.

שלושה מפתחות ושלוש משימות

צופן הנתונים מצפין את המטען של המנהרה, והמפתח שלו נגזר מחדש עבור כל הפעלה. המפתח הציבורי של התעודה מוכיח את זהותו של קצה במהלך האימות. שלב החלפת המפתחות, בדרך כלל גרסה אפמרלית של Diffie-Hellman, קובע סוד משותף שאיש מהצדדים אינו יכול לשחזר לאחר מכן. לכל אחד הנחות חוזק משלו ומוסכמות גודל משלו.

לכן אי אפשר לדרג 256 לצד 2048 לצד 32 לפי גודל; אלו תשובות לשאלות שונות.

אפילו בתוך תפקיד אחד, המספר אומר משהו רק ביחס למשפחת האלגוריתמים שבה משתמשים.

היכן המספר עוזר, והיכן הוא נעצר

בתוך אלגוריתם אחד, מפתח גדול יותר מייקר חיפוש בכוח גס, והנחיות שפורסמו קובעות מינימום למפתחות תעודה ככל שכוח החישוב משתנה. זו השוואה לגיטימית וצרה: AES-128 ו-AES-256 עומדים שניהם בפני תקיפה ישירה בפערים רחבים, ולכן ההבדל הוא לעתים נדירות הגורם המכריע בפועל.

מחוץ להשוואה הזו, המספר אינו מנבא דבר על טעויות תצורה, אימות תעודות או גרסת פרוטוקול.

קראו את החבילה שנקבעה במשא ומתן במלואה

מה שחיבור באמת משתמש בו הוא חבילה: מצב צופן, מבנה שלמות או הצפנה מאומתת, קבוצת החלפת מפתחות ושיטת אימות. מצב AEAD מודרני עם לחיצת יד תקינה הוא הצעה אחרת ממצב ישן יותר עם MAC נפרד, גם כאשר גודל המפתח המוצהר זהה.

openvpn --show-ciphers | head -20
openvpn --show-tls | head -20
openssl x509 -in server.crt -noout -text | grep -E 'Public-Key|Signature Algorithm'
wg show

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

החלקים שאף מספר לא מודד

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

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

מאמרים קשורים