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

הבנת רשומות בHardware Encryption

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

מה הם רשומים בקונטקסט של Cryptography?

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

אלגוריתמים Cryptographic כגון AES, RSA ו- ECC משתמשים בכבדות ברישום כדי להחזיק את המדינה הנוכחית, מקשים עגולים, סלקציה ו בלוקים ciphertext. כי אלגוריתמים אלה כרוכים במספר סיבובים של החלפת, הגשמה, ומיקסום, רישומים פועלים כאזור ההחזקה הזמני עבור כל מדינה ביניים מהירה יותר אלה הם כתובים וקוראים, ההצפנה הכוללת באמצעות דוכן דרך מזהמים.

למה קידוד חומרה?

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

יתר על כן, בתרחישים כמו הצפנה של דיסק (למשל, BitLocker, FileVault) או רשת פרטית וירטואלית (VPN) שערים, נפח הנתונים הוא עצום. .מרשם במאצת חומרה מאפשרים עיבוד בשיעורים עד 100 Gbps, הרבה יותר מאשר מה הליבה CPU כללי יכול להשיג.הפרדה זו של חששות - המאפשרת ל- CPU לנהל יישום לוגיקה בעוד חומרה Crypto עם מנועים מיוחדים של ארכיטקטורת מחשבת מחשבתית - הוא בעל בסיס מרכזי הצפנה מודרנית של הצפנה.

סוגים של רשומות המשמשות הצפנה

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

כללי-Purpose Registers

(FLT:0) רישומים למטרות כלליות כגון בלוק ה-TexFLT:1 הם סוסי העבודה של כל מעבד, כולל אלה קריפטוגרפיים.הם מאחסנים נתונים טרנספורמטיביים כגון בלוק ה- ⁇ , סכומים חלקיים, ותוצאות ביניים של פעולות מתמטיות כמו ריבוי מודולרי או XOR.בסיבוב טיפוסי AES, הממטריקס המדינה מוחזקת במערך של רישומים כלליים, וסבבים מוחלים ישירות לרישום חשמל ו/אומטיים אלה.

רשימות מפתח

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

רישום הוראה

(FLT:0) Instruction RegistersFLT:1 מחזיק את קוד הפעולה הנוכחי (opcode) של האלגוריתם הקריפטוגרפי שהוצא להורג. in accelerator, מכונה ממשלתית סופית (FSM) פועל כבקר שמביא microinstructions מזיכרון לקריאה בלבד או רישום תצורה. ⁇ אלה לכוון את נתיב הנתונים לביצוע שלבים ספציפיים: עומס, ערבוב איטי יותר של רצף תמיכה, וכו '

Shift Registers

(FLT:0 Shift הרשמהsFLT:1) הם בשימוש נרחב באלגוריתמים מקיפים הדורשים סיבובים ושינויים קטנים.לדוגמה, במבצע ShiftRows לסובבים ע"י כל שורה של תזמון המדינה, במקום להשתמש במספר רב של קידודים כלליים עם ריצוף מורכב, שינוי יכול לרשום ישירות את השינוי המחזורי במחזור יחיד, בדומה ל- XR2, כמו גם פונקציות הפעלה אחוריות (פרק 3).

סטטוס ורישום בקרה

מעבר לכבישים של נתונים, חומרה קריפטוגרפית כוללת:0 (הרשמה של ההרחבה) 1:1 המציין את המצב הנוכחי של המנוע: עסוק, מוכן, שגיאה או השלמת פעולה.FLT:2Control רישומים של OVAFLT:3 המאפשרים תוכנה להגדיר את האלגוריתם, אורך מפתח, מצב של פעולה (ECB, CBC, GCM), ולפתח או לרישום של אמצעי בקרה נמוך יותר, למשל, לזיכרון CPU, הוא אמצעי בקרה.

רשומות מיוחדות: S-Box Lookup and Pipeline Registers

כמה עיצובים משלבים את הטבלאות של FLT:0 ,S-Box נרשם לרישום: 1) אשר מאחסנים טבלאות החלפת תזמון ישירות בזיכרון מבוסס הרישום (לעתים קרובות מיושמות כמערך קטן של SRAM, אך מתייחסים אליהן כרישום לגישה מהירה) ב-AES, ה-S-Box הוא מסלול קריטי; לאחר שהוא מכיל בתוכו רישום נתונים של קידוד-ד'נטקפיטנט (D) מאפשר רישום מהיר של נתונים בין מחסנים, בין שני, בין קידודים, בין שני, לבין נתונים, אשר ניתן ל-מקלטים, בין שני, לבין נתונים של נתונים מקבציים, כאשר הם נתונים מקבציים, כאשר הם נתונים מתואמים, כאשר הם נמצאים ב-מקלטים, כאשר הם נמצאים ב-מקלטים, בין שני, בין שני, בין שני, כאשר הם נמצאים ב-מקלטים, בין שני, כאשר הם נמצאים ב-מקלטים, בין שני, בין תואמים, בין תואמים, בין שני, לבין נתונים של נתונים של נתונים של נתונים של נתונים של נתונים של נתונים של תואמים, בין שני, בין שני, לבין נתונים של רצף של רצף של נתונים של נתונים של נתונים של נתונים של קידודים, כאשר הם נתונים

תפקיד רישום ב Decryption

במהלך פענוח, רישומים מבצעים פונקציות דומות כמו הצפנה, אחסון נתונים מוצפנים, מפתחות ותוצאות ביניים.הם מאפשרים לחומרה להפוך את תהליך ההצפנה ביעילות, הבטחת שלמות נתונים וביטחון. עם זאת, פענוח דורש לעתים קרובות פעולות הפוכה: InvShiftws, InvSubBytes, InvMixColumns in AES, או שינוי מודולרי עם מפתחות פרטיים ב-RSA חייב לשמור על פעולות נמוכות אלה.

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

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

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

היתרונות של שימוש ב-Excels

מהירות מהירות

(FLT:0SpeedFeloph:1) הוא היתרון הברורה ביותר.מרשם לספק גישה מהירה לנתונים - באופן חד-משמעי מחזור שעון אחד - שיפור מהירות העיבוד משמעותית.בפעולות קריפטוגרפיים הכוללות מיליוני סיבובים לשנייה, חוסכות אפילו מחזור יחיד לסבבים מניבים מחזורים מסיביים באמצעות רווחים חישוביים.לדוגמה, סבב AES טיפוסי על מאיץ מודרני עם מיפוי מלא ב -10-20 שניות בלבד, אשר עשוי לשמור על מנת למנוע נתונים (רק-מקלט) בהשוואה ל-מקלט (רק-מקלט (רק- 1-2) ו- 1-2) ל-זמנית) בהשוואה ל- 1- 1- 1-זמנית (לדוגמה, לדוגמה, לעומת מיפוי מלא של נתונים).

אבטחה

(FLT:0) סודיות (SecurityFLT:1) הוא מאוד משופר כאשר המפתחות מאוחסנים ברשומות בתוך חומרה בטוחה. .מרשם שאינם חשופים לאוטובוס המערכת או לזיכרון הראשי מפני התקפות חליפת חול קר, התקפות על אש זיכרון, ו- DMA מבוסס החילוץ.בנוסף, כי ניתן לתכנן רישומים עם קודים תיקון שגיאות וטעימים (EC), הם יכולים להתנגד להזרקת תקלות כי לנסות את המפתח לנגיף, אפילו ב- HSM.

יעילות

(FLT:0)EfficiencyFLT:1 מתבטאת הן בתחום הכוח והן בסיליקון.מרשם לצרוך פחות כוח לגישה מאשר בלוקים של אותו יכולת כי הם נמנעים מטיפול מורכב ו / מקודמים קומונים.במכשירים המופעלים על ידי סוללות - כגון חיישנים IoT או טלפונים סלולריים - שימוש ברישום עבור לולאות קריפטוגרפיים מפחית צריכת אנרגיה.

שקיפות מוחלטת

יתרון נוסף הוא (FLT:0) LatencyFIRLT:1 .מכיוון שגישה רשומה תמיד הושלמה במספר קבוע (לעתים קרובות בדיוק אחד) של מחזורי שעונים, זמן ההצפנה הופך להיות צפוי.זה קריטי עבור מערכות בזמן אמת כגון הצפנה של רכב CAN-FD או בקרה תעשייתית, שבו Jitter לא ניתן לסבול.

יישום אמיתי-עולם

השימוש ברישום חומרה ניתן לראות במוצרים ובסטנדרטים רבים.לדוגמה, תקן ה-FLT:0 (AES) Advanced Encryption Standard (AES)BuildFLT:1 מואץ בדרך כלל ב- CPUs מודרניים באמצעות מערך ההוראה AES-NI.כאן, הוראות חדשות כמו AESENC פועלות ישירות על XMM, אשר משמשות כמקלטות כלליות עבור 128-bit באופן דומה.

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

דוגמה נוספת היא מערכת האבטחה ב-Apple's Secure Enclave או ARM TrustZone, שבה רישומים מנהלים הצפנה לאחסון מכשירים ונתונים ביומטריים. השימוש ברישוםים ייעודיים ב ⁇ אלה מונע את מערכת ההפעלה העיקרית מאז ומעולם לומדת את המפתחות הסודיים, שמירה על פרטיות המשתמש גם במקרה של פשרה.

השוואה עם הצפנה מבוססת Software

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

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

מסקנה

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