חלק 2: Genesis of Ledger Recover - הפצה מאובטחת של המניות | פִּנקָס

חלק 2: Genesis of Ledger Recover - הפצה מאובטחת של המניות | פִּנקָס

צומת המקור: 2785813

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

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

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

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

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

Courier-In-The-Middle: דוגמה בעולם האמיתי

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

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

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

הנה מה שאליס ובוב יכלו לעשות:

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

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

למרות שזו התחלה מצוינת, נותרו מספר בעיות לפתור בתרחיש זה:

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

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

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

קריפטוגרפיה סימטרית: כלי רב עוצמה, אך מוגבל

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

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

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

קריפטוגרפיה אסימטרית: הסתרת החלקים הפרטיים שלך
הסכם מפתח דיפי-הלמן

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

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

למידע נוסף על נושא זה באקדמיית Ledger!

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

יצירת סוד משותף k

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

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

  1. אליס ובוב מסכימים על קבוצה מחזורית G של סדר n שנוצר על ידי אלמנט g
  2. אליס מציירת באקראי מספר 0 < a < n ושולח pa = זa ∈ ג לבוב
  3. בוב מצייר באקראי מספר 0 < b < n ושולח pb = זb ∈ ג לאליס
  4. אליס מחשבת את הסוד המשותף k =(עמ'b )a ∈ ג
  5. בוב מחשב את הסוד המשותף k =(עמ'a )b ∈ ג

אבטחת הפרוטוקול תלויה בקשיות המציאת k =gab נתן g, ga, gb. זה נקרא חישוב הנחת דיפי-הלמן (CDH). ההשערה שקשה לפתור את CDH מניחה שה- בעיית לוגריתם בדידה קשה לפתור.

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

אימות הדדי וחתימה דיגיטלית

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

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

  • אותנטיות: כל אחד יכול לאמת שההודעה נחתמה עם המפתח הפרטי המתאים למפתח הציבורי שצוין.
  • אי-דחייה: החותם אינו יכול להכחיש שחתם ושלח את ההודעה.
  • שלמות: ההודעה לא שונתה במהלך השידור.

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

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

עקומות אליפטיות: הצפנת מפתח ציבורי ברמה הבאה

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

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

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

בואו ניקח את העקומה האליפטית ה: י2 =x3 +2x +3 מעל השדה 𝔽97 לדוגמא. כפונקציה בדידה, היא מיוצגת על ידי הנקודות באיור למטה. נתמקד בנקודה P =(3, 6) וכל כפליו.

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

מרסק הכל: ECDH עם אימות

כעת יש לנו את כל הכלים הדרושים לנו כדי ליצור פרוטוקול נהדר להחלפת מפתחות:  עקומה אליפטית דיפי-הלמן (ECDH).

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

החלפת מפתחות ECDH מאומתת

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

k = דA . דB . ז
dA: המפתח הפרטי של אליס
dB: המפתח הפרטי של בוב
G: נקודת EC

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

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

חזרה ל- Ledger Recover: מסע של זרע

בסדר, הגיע הזמן לעצור דקה.

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

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

במקרה של Ledger Recover, הקמנו ארבעה ערוצים מאובטחים תוך שימוש ב-Secure Channel Protocol. ערוצים אלו מחברים את המכשיר לכל אחד מספקי הגיבוי ולמתזמר, כולם מצוידים במודולי אבטחת חומרה (HSM).

כל שחקן מחזיק בתעודה האישית שלו, החתומה על ידי תעודת Ledger המשמשת כשורש שרשרת הנאמנות. כאשר המכשיר של המשתמש משדר לראשונה את כוונתו לבצע גיבוי ל-Orchestertor, הוא יוזם ECDHE מאומת. מתחת לאלה mTLS הפעלות, ה- Orchestrator משדר מידע שיקשר ערוצים מאובטחים עתידיים לבקשת הגיבוי המסוימת של המשתמש, יחד עם זהות המשתמש שיתבקש לאימות בעת ביצוע שחזור מאוחר יותר של ה-Seed.

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

הכל מוכן כדי לבצע סוף סוף את החלק הקריטי ביותר בכל הפעולה: העברת שלושת השיתופים של ה-Seed של המשתמש.

שוב, אנו יוצרים ערוצים מאובטחים חדשים, אך הפעם בין מכשיר ה- Ledger של המשתמש לבין ה-HSM של ספקי הגיבוי ישירות. שיתופי ה-Seed מועברים בערוץ מוצפן מקצה לקצה למקום האחסון הסופי שלהם, תוך הבטחה שהם מגיעים ליעד הנכון (זה המקום שבו הוצגה האימות של Pedersen Secret Sharing ב- חלק 1 שימושי).
המכשיר של המשתמש מאמת את ה-HSM של ספקי הגיבוי בזה אחר זה, וספקי הגיבוי יודעים שהם מחליפים עם מכשיר ה-Ledger הרשמי הייחודי שיזם את בקשת הגיבוי הספציפית הזו.
אף אחד מלבד המכשיר של המשתמש וה-HSM של ספקי הגיבוי לא רואה מעולם את שיתופי ה-Seed מוצפנים על ידי המפתחות הסימטריים של הערוצים המאובטחים המאומתים הדדית, אפילו לא ה-Orchestertor.

התקבל בצורה מאובטחת... ונשמר?

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

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

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

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

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

בול זמן:

עוד מ פנקס