מנגנון אנקפסולציה של מפתחות (KEM) הוא תהליך קריפטוגרפי שמשמש ליצירת סוד משותף בין שני צדדים בערוץ לא מהימן. מנגנון של אנקפסולציה של מפתח כולל שלושה אלגוריתמים עיקריים:
- יצירת מפתח: נוצר זוג מפתחות שכולל מפתח ציבורי ומפתח פרטי.
- אנקפסולציה: המפתח הציבורי משמש ליצירת סוד משותף ומידע מוצפן תואם.
- הסרת הכיסוי: המפתח הפרטי משמש לשחזור הסוד המשותף מהטקסט המוצפן.
מנגנוני אנקפסולציה של מפתחות הם אבן בניין בסיסית לפרוטוקולים של חילופי מפתחות והצפנה היברידית של מפתחות ציבוריים (HPKE).
תהליך העבודה של אנקפסולציה ודה-אנקפסולציה
בקטע הבא מתואר התהליך של שימוש בזוג מפתחות KEM כדי לבצע אנקפסולציה ודקפסולציה של נתונים. שני המשתתפים בתהליך העבודה הזה הם השולח והמקבל. השולח יוצר טקסט מוצפן ומפתח סודי משותף באמצעות המפתח הציבורי של הנמען, ואז הנמען מפענח את הטקסט המוצפן באמצעות המפתח הפרטי שלו כדי לאחזר את המפתח הסודי המשותף. רק מי שמכיר את המפתח הפרטי יכול להסיר את ההצפנה של הטקסט המוצפן כדי לאחזר את הסוד המשותף המקורי.
השולח מאחזר את המפתח הציבורי של הנמען.
השולח משתמש במפתח הציבורי כדי לבצע את שלב האנקפסולציה, שיוצר סוד משותף וטקסט מוצפן תואם.
השולח שולח את המידע המוצפן לנמען.
הנמען משתמש במפתח הפרטי שלו כדי לפענח את המידע המוצפן. עכשיו לנמען ולשולח יש את אותו סוד משותף.
מנגנוני אנקפסולציה של מפתחות פוסט-קוונטיים (PQ-KEM)
למחשבים קוונטיים יש פוטנציאל לפענוח חומרים מוצפנים באמצעות אלגוריתמי הצפנה קלאסיים, כמו אלגוריתמי RSA ו-ECDSA שנמצאים בשימוש נרחב. כך חומרים מוצפנים כאלה יכולים להיות פגיעים למתקפות מסוג 'איסוף מיידי ופענוח בהמשך' (SNDL). במתקפות כאלה, היריבים אוספים נתונים שמוצפנים כיום באמצעות אלגוריתמי הצפנה קלאסיים ומאחסנים אותם, במטרה לפענח אותם מאוחר יותר כשיהיו זמינים מחשבים קוונטיים חזקים. אלגוריתמי PQ-KEM נועדו להיות עמידים בפני התקפות קוונטיות, כדי להבטיח שנתונים שמוצפנים באמצעותם היום יישארו מאובטחים גם בעידן הקוונטי, ולמנוע פענוח עתידי של מידע שמאוחסן היום.
שירות Cloud Key Management Service תומך ב-ML-KEM-768 וב-ML-KEM-1024, שתוקננו על ידי NIST ב-FIPS-203, וב-X-Wing, שהוא KEM היברידי שמשלב את ML-KEM-768 עם X25519. אלו ערכי הגודל (בבייטים) של האלגוריתמים האלה:
| אלגוריתם | מפתח ציבורי | מידע מוצפן (ciphertext) | סוד משותף |
|---|---|---|---|
| ML_KEM_768 | 1184 | 1088 | 32 |
| ML_KEM_1024 | 1568 | 1568 | 32 |
| KEM_XWING | 1216 | 1120 | 32 |
יכולות KEM ב-Cloud KMS
ב-Cloud KMS יש את היכולות הבאות שקשורות למנגנוני אנקפסולציה של מפתחות:
יצירת מפתח KEM עם מטרת מפתח של
KEY_ENCAPSULATIONואלגוריתם אנקפסולציה של מפתח.אחזור המפתח הציבורי של מפתח KEM.
כדי לבצע אנקפסולציה באמצעות מפתחות Cloud KMS, צריך להשתמש בכלים ובערכות SDK שזמינים באופן פתוח עם המפתח הציבורי. ב-Cloud KMS אין יכולות אנקפסולציה.