תחום ההצפנה מתכונן לעולם של מחשוב פוסט-קוונטי

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

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

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

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

מה מאבטח את ההצפנה הקיימת?

ההצפנה המודרנית אינה סוד עלום. האלגוריתמים מתפרסמים באינטרנט באופן חופשי (ולגיטימי) וכל אחד יכול לבצע חיפוש שלהם. אבטחת הסייבר המודרנית “פתוחה” מבחינת אופן הפעולה שלה: האבטחה מבוססת על אלגוריתמים מתמטיים שקל לחשב בכיוון אחד, אבל (כמעט) בלתי אפשרי לחשב בכיוון השני.

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

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

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

איור 1: בעזרת חשבון מודולרי, דיפי והלמן מצאו שיטה שבה אליס ובוב יוכלו להסכים על מפתח סודי, דרך החלפת פיסת מידע באופן ציבורי. על אף שאיב יודעת באיזו פונקציה מתמטית נעשה שימוש ומהו המידע הציבורי ששותף, קשה במידה יוצאת מן הכלל לקבוע אילו ערכים בחרו אליס ובוב עבור x באופן פרטי. (מקור: Mouser Electronics)

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

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

הטכניקה נהייתה ידועה בכינוי RSA, על שם האותיות הראשונות בשמות המשפחה של הממציאים, והיא עדיין נמצאת בשימוש מאז שנות השבעים, מכיוון ששיטות המחשוב הקיימות בקושי מסוגלות לפצח אותה. בעזרת המחשבים המקבילים העוצמתיים ביותר, נעשה פירוק לגורמים של מפתח 829 ביטים, אם כי הפעולה הזו ארכה 2,700 שנות מעבדים. כדי להבטיח שהאבטחה תישמר, המכון הלאומי לתקנים וטכנולוגיה (NIST) בארצות הברית ממליץ להשתמש ב-2048 ביטים לפחות, באופן שבהחלט מעמיד את המפתחות מעבר ליכולות של מחשבים מודרניים.

מחשבים קוונטיים: האתגר הבא בהצפנה

בחדשות הטכנולוגיה מתפרסמים תדיר דיווחים על ההתקדמות בעולם המחשוב הקוונטי – מכונות כל כך מורכבות לבנייה ותפעול עד שיש צורך לקרר אותן כמעט לאפס מוחלט (0° קלווין, ‎-273° צלזיוס). נראה שכדאי להתגבר על האתגר הזה, מכיוון שיתרון הביצועים “משאיר אבק” לתחזיות של חוק מור.

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

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

במקום השיטה הבינארית, מחשבים קוונטיים משתמשים ב’קיוביטים’ שיכולים להיראות כאילו הם נמצאים במצב ‘0’ ו-‘1’ בו-זמנית. זה מאפשר להם לבצע עד ‎2n חישובים כאשר n = מספר הקיוביטים. לפיכך, כשיש מספיק קיוביטים, אפשר לבצע פירוק לגורמים כמעט באופן מיידי (בהשוואה לסטנדרטים החישוביים הקיימים).

כבר ישנם כמה סוגים של מחשבים קוונטיים, לכן לא קל להשוות ביניהם באופן ישיר. עם זאת, המעבד Osprey של IBM כבר כולל 433 קיוביטים, ול-IBM יש מפת דרכים (איור 2) המשרטטת את המסלול אל מעבד של 4,158 קיוביטים בתוך שנתיים.

איור 2: מפת הדרכים של IBM לפיתוח (מקור: IBM,‏ https://newsroom.ibm.com/2022-11-09-IBM-Unveils-400-Qubit-Plus-Quantum-Processor-and-Next-Generation-IBM-Quantum-System-Two).

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

האם הצפנה מאובטחת יכולה להתקיים בעולם הקוונטי?

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

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

כעבור מספר שנים של פיתוח, נקבעו ארבעה אלגוריתמים של שיטות הצפנה פוסט-קוונטיות (PQC) כמועמדים מובילים. מתוכם, שלושה היו מבוססים על הנחת קושי רב ביותר של למידה עם שגיאה (LWE) על פני סריגי מודול. אחת מהגישות, אלגוריתם CRYSTALS-Kyber, מתמקדת בהצפנה כללית ואבטחת נתונים ברשתות משותפות. מאחר שהאלגוריתם הזה מציע תפוקה טובה וגודל קטן של מפתחות, מתבצע כעת המשך פיתוח, כולל בדיקות במעבד Arm® Cortex®-M4. שתי הגישות האחרות שהיו מבוססות על LWE ועמדו בבדיקה של ה-NIST, הנקראות CRYTALS-Dilithium ו-FALCON, מתמקדות בעיקר בחתימות דיגיטליות.

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

האלגוריתם האחרון שעמד בבדיקה של ה-NIST,‏ SPHINCS+‎, נשען על חתימה מבוססת פונקציית גיבוב נטולת זיכרון. באופן כללי, הגישה הזו איטית מהאחרות ודורשת יותר זיכרון, כלומר היא פחות מתאימה למערכות המוטמעות שלרוב נמצאות בצמתי IoT.

מה אפשר לעשות עכשיו כדי להתכונן לקראת PQC?

ארבעת האלגוריתמים שנבחרו על-ידי ה-NIST נראים מבטיחים ביותר, אבל בשלב הזה הם עדיין לא מוכנים לפריסה בקנה מידה רחב, מכיוון שדרושים מאיצי חומרה חדשים לצורך פריסה במכשירים עם שבבי Secure Element‏ (SE) ו-Trusted Platform Module‏ (TPM) חדשים, מה שמחייב את המשך הפיתוח של מוליכים למחצה. למרות זאת, יש הרבה דברים שניתן לעשות כהכנה לעתיד עם PQC.

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

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

לדוגמה, התקני ATECC608B של Microchip Technology מתאימים למספר יישומי אבטחה, ומציעים אימות זהות ויצירת מפתחות שיחה, ומבטיחים אתחול מאובטח. מעבדים נוספים מתקדמים אלה של קו המוצרים CryptoAuthentication™‎ מאחסנים 16 מפתחות או אישורים באופן מאובטח, ומספקים האצה לחתימה ולאישור אסימטריים באמצעות הצפנת עקום אליפטי (ECC). קיימים כלי תמיכה בעיצוב, כולל לוח ההערכה לחומרת CryptoAuth Trust Platform עם תוכנת CryptoAuthLib של Microchip.

יתרה מזו, ערכת הפיתוח OM-SE050ARD מבית NXP מאפשרת הערכה מהירה באמצעות לוח פיתוח תואם Arduino. כלי פיתוח רב-ערך זה כולל שבב NXP SE050 EdgeLock® SE, מה שהופך אותו למתאים (ומוכן) למשימות אבטחה של IoT, כולל חיבורי TLS, הגנה של נתוני חיישנים, גישה מאובטחת לצמתים/שירותים של IoT ועוד. זיכרון הבזק למשתמש (50kB) נכלל עבור נתונים מאובטחים או לצורך אחסון מפתחות. בנוסף, יש תמיכה באלגוריתמים אסימטריים (RSA ו-ECC) וסימטריים (AES ו-DES), וה-SE050 מאושר ברמת Common Criteria EAL6+‎.

ה-OPTIGA TPM ולוח הפיתוח TPM 9645 IRIDIUMBOARD של Infineon מיועדים להגן על השלמות והמקוריות של מכשירים ומערכות ברשתות מוטמעות. החומרה תואמת ל-Trusted Computing Group (TCG) TPM 1.2 Rev. 116 והקוד הוא בעל אישור Common Criteria EAL4+‎. הראשים של הלוח עם 26 ו-28 פינים מעניקים גישה קלה ותאימות להערכה דרך Raspberry Pi או BeagleBone. חבילת ה-VQFN-32 הזעירה בגודל 5.0 מ”מ × 5.0 מ”מ כוללת זרם שינה חסכוני עד כדי 110µA, המאשר את התאמתה ליישומי IoT שבהם מקורות המתח מוגבלים.

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

PQC – זה דבר ודאי

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

למזלנו, תהליך החשיבה מחדש כבר החל, ומובילים אותו ארגונים כמו ה-NIST. יידרש זמן כדי לפתח חומרה, להטמיע תוכנה ולחדד את אופן השימוש. בינתיים, יש דברים שניתן לעשות כבר היום כדי להבטיח שהמערכות יהיו מאובטחות ככל האפשר.


 

מאת מארק פטריק, Mouser Electronics

תגובות סגורות