מפתחות מקדימים מאפשרים לנמען להיות לא מחובר בזמן ההקמה. הם אינם מבטלים את הצורך בנתיב מסירה או בניהול קפדני של מחזור חיי המפתחות הפרטיים.
נמען שאינו מחובר יכול לקבל הודעה מוצפנת מאוחר יותר מפני שהמכשיר שלו פרסם מראש חומר מפתחות ציבוריים. השולח עדיין זקוק לשירות מסירה נגיש; ״הצפנה אסינכרונית״ אינה אומרת שהודעות עוברות דרך השבתת רשת או מופיעות מיד בטלפון מנותק.
תכנונים פוסט־קוונטיים מרחיבים את הרעיון באמצעות מנגנון כימוס מפתחות. השאלות החשובות הן איך נוצר הסוד הראשוני, איך מוציאים משימוש מפתחות פרטיים ישנים ואיך הודעות מאוחרות יותר מרעננות את האבטחה.
מפתחות מקדימים פותרים בעיית תזמון
דמיינו שמאיה אינה מחוברת כאשר סם מתחיל שיחה חדשה. המכשיר של מאיה העלה קודם לכן מפתחות מקדימים ציבוריים. סם יכול לשלוף את החומר הזה, לבצע את צד השולח בהסכמה על מפתחות ולשלוח הודעה ראשונה מוצפנת. מאיה מעבדת אותה לאחר החיבור מחדש, באמצעות מפתחות פרטיים שנשמרו במכשיר שלה.
לכן השרת מספק מידע ציבורי ומחזיק נתונים מוצפנים בתור; אין הכרח שיחזיק בסוד ההודעות שנוצר. מפרט X3DH של Signal הוא תיאור ממקור ראשון של התכנון האסינכרוני הזה. למפתח מקדים חתום ולמפתח מקדים חד־פעמי יש משכי חיים ותפקידים שונים; ״מפתח מקדים״ אינו סיסמה סודית שמועלת לשרת.
בשיחה שכבר הוקמה, האפליקציה עשויה להשתמש במצב ההפעלה הקיים במקום לחזור על ההקמה הראשונית בכל הודעה. התחלת הפעלה וקידום מפתחות ההודעות שלה הן פעולות נפרדות.
מה מוסיף KEM פוסט־קוונטי
למנגנון כימוס מפתחות יש שלוש פעולות בסיסיות: יצירת מפתחות, כימוס באמצעות מפתח ציבורי והתרת הכימוס באמצעות המפתח הפרטי המתאים. הכימוס יוצר גם סוד משותף וגם טקסט מוצפן. אפשר למסור את הטקסט המוצפן מאוחר יותר; הסוד עצמו אינו נשלח בגלוי.
NIST FIPS 203 מתקנן את ML-KEM. ב־ML-KEM-768, מפתח הכימוס הציבורי הוא בגודל 1184 בתים, הטקסט המוצפן בגודל 1088 בתים והסוד המשותף בגודל 32 בתים. אלה גדלים ברמת האלגוריתם, לא הגודל של חבילת מסרים שלמה. חתימות, מפתחות קלאסיים, מזהים ומסגור תעבורה מוסיפים תקורה; מפתח ציבורי שנשמר במטמון עשוי לא להתלוות לכל הודעה.
במבנה היברידי, פרוטוקול משלב חומר סודי קלאסי ופוסט־קוונטי לפי תהליך גזירת מפתחות מוגדר. עצם חיבור שמות האלגוריתמים אינו מבסס שההרכבה מאובטחת. קשירת זהות, תיקוף, הפרדת תחומים וטיפול בכשלים דורשים מפרט ובדיקה.
דוגמה: PQXDH, לא תבנית אוניברסלית
מפרט PQXDH של Signal מתאר מפתחות מקדימים פוסט־קוונטיים חד־פעמיים חתומים ומפתח מוצא אחרון חתום. השולח מאמת את החתימות שסופקו, מבצע הסכמה על מפתחות וכולל את הטקסט המוצפן של KEM ואת מזהי המפתחות בהודעה המוצפנת הראשונית. הנמען גוזר מאוחר יותר את אותו סוד ומעבד את ההודעה.
מפתח המוצא האחרון תומך בהקמה כאשר מפתחות KEM חד־פעמיים אינם זמינים, אבל ניתוח השלכות הפריצה אינו זהה. מחיקה והחלפה של מפתחות פרטיים משפיעות על הגנת הפעלות קודמות. המפרט גם מבחין בין סודיות קדימה פוסט־קוונטית לבין אימות מול תוקף קוונטי פעיל. אין להחליף את הפרטים האלה באמירה ״לחלופת הגיבוי אין מחיר אבטחתי״.
PQXDH הוא מבנה מוגדר אחד. אין להעתיק את העקומות, החתימות ובחירת הפרמטרים המדויקות שלו לתיאור של מוצר אחר, אלא אם אותו מוצר מתעד אותן.
מנגנון ratchet אינו זהה למאגר מפתחות מקדימים
מפתחות מקדימים תומכים בהקמת הפעלה. פרוטוקול ratchet משנה סודות במהלך השיחה. מפרט Double Ratchet מסביר את התפתחות מפתחות ההודעות ואת מבני ה־ratchet הפוסט־קוונטיים החדשים יותר, לרבות תכנונים שאינם משדרים חילוף פוסט־קוונטי מלא בכל הודעת אפליקציה.
סודיות קדימה נוגעת להודעות קודמות לאחר חשיפה מאוחרת יותר של מפתח. אבטחה לאחר פריצה נוגעת להתאוששות עבור תקשורת עתידית אחרי שהתוקף מאבד גישה ומשולב חומר סודי חדש. אף אחת מהן אינה אומרת שנוזקה יכולה להישאר בטלפון ללא הגבלת זמן בזמן שהקריפטוגרפיה מסתירה ממנה איכשהו את הטקסט הגלוי של אותו טלפון.
מחיקת מפתח מקדים ציבורי מהשרת מונעת את השימוש החוזר הרגיל בו; היא אינה שקולה למחיקת המפתח הפרטי המתאים מנקודת קצה. ביקורת מועילה בודקת גם את כללי מחזור החיים וגם את ההתנהגות של הודעות מושהות.
מה Livara מתעדת — ומה עדיין דורש ראיות
עמוד האבטחה של Livara מתאר הקמת הפעלה היברידית עם מפתחות חד־פעמיים כשהם זמינים, התקדמויות רגילות של שרשרת ההודעות ותקופות ML-KEM מחזוריות. הדבר שונה מהטענה הישנה שכל הודעה מבצעת חילוף ML-KEM מלא וחדש. אלה הצהרות בתיעוד המוצר, לא אימות עצמאי של המימוש.
אל תסיקו מההצהרות האלה מדיניות גיבוי מסוימת בעת מיצוי מפתחות, מרווח חידוש מלאי או נתון של השהיית רשת. השאלות האלה דורשות תיעוד פרוטוקול עבור הגרסה המסוימת או תוצאות מדידה. גם Proof Lab אינו בדיקה מלאה של הקמה אסינכרונית, מיצוי מפתחות או התאוששות בטיפול בהודעות מושהות.
איך להעריך טענות על מסרים באופליין
בקשו מהספק או מהבודק ראיות שמכסות את המקרים האלה:
| מקרה בדיקה | במה להתבונן |
|---|---|
| הודעה ראשונה לאיש קשר מנותק | באיזה חומר מפתחות ציבוריים נעשה שימוש ומתי הנמען מקבל בפועל את ההודעה |
| מיצוי מפתחות מקדימים חד־פעמיים | האם ההקמה נעצרת או עוברת לחלופת גיבוי מתועדת, ומהי הפשרה האבטחתית המוצהרת שלה |
| הנמען מתקין מחדש או משנה זהות | האם עדיין אפשר לפענח הודעות ישנות בתור והאם שינויים במפתחות גלויים |
| הודעות מושהות או הודעות שסדרן השתנה | מגבלות שמירה, טיפול במפתחות שדולגו ושגיאות מובנות |
| חזרה אחרי היעדרות ארוכה | רענון מפתחות בטוח, עיבוד מוגבל בהיקפו וסטטוס מסירה מדויק |
| השוואת ביצועים | מכשיר, גרסת אפליקציה, רשת, גודל מטען הנתונים ומדידות נפרדות להקמה קרה לעומת הפעלה קיימת |
השתמשו בחשבונות בדיקה ובהודעות שאינם רגישים. בדיקת מסירה מוצלחת מדגימה את התרחיש הזה, לא כל תכונה קריפטוגרפית. מנגד, כשל במסירה עשוי להיות בעיית רשת או מחזור חיים ולא שבירת הצופן.
שאלות נפוצות
האם הנמען יכול להיות לא מחובר בזמן שאני שולח?
כן, אם לאפליקציה יש החומר הציבורי הנדרש ותשתית מסירה ואחסון. הנמען אינו יכול לקרוא את ההודעה שבתור עד שהמכשיר שלו יכול לשלוף ולעבד אותה.
האם מפתחות KEM גדולים יותר תמיד מאטים שיחות במידה מורגשת?
אי אפשר להסיק טענת תזמון אוניברסלית מגודל המפתח בלבד. תדירות ההקמה, קיבוץ לעיבוד, מטמון, המימוש ותנאי הרשת חשובים. פרסמו מבחן ביצועים במקום להבטיח אפס תקורה.
האם מפתח מקדים חתום מוכיח את זהות האדם שמאחורי החשבון?
הוא מאמת חומר ביחס לזהות חתימה. האופן שבו הזהות הזאת קשורה לאדם שאליו אתם מתכוונים לפנות הוא שאלת אמון ואימות נפרדת.
האם הצפנה פוסט־קוונטית פועלת בלי שום חיבור?
חלק מהחישובים המקומיים יכולים לפעול באופליין. מסירת הודעות עדיין דורשת נתיב תקשורת; הקריפטוגרפיה אינה מספקת אותו.



