תוכן עניינים:
- ניווט במאמר
- לסכם
- הצפנה וחתימה דיגיטלית
- חתימה דיגיטלית
- השגת אבטחת הודעות
- מה הלאה?
- מאמר קודם
- המאמר הבא
ניווט במאמר
בדוק את מערך המאמרים המלא:
- קריפטוגרפיה וחתימות דיגיטליות
לסכם
שני המאמרים הקודמים סיפקו לנו מבוא רחב לקריפטוגרפיה לפני שאנחנו קופצים היישר לדיון על חתימות דיגיטליות.
חתימה דיגיטלית ואימותה הוא אחד ממושגי המפתח העיקריים שמאחורי Blockchain שעליהם מבוססים יישומי מטבעות קריפטוגרפיים כמו Bitcoin.
ברשת בלוקצ'יין חשוב להיות מסוגלים לזהות נכון את המשתתפים בעסקה על ידי הוכחת החתימה שהגיעה ממחזיק המפתח הפרטי, וכי העסקה תקפה.
חתימות דיגיטליות מספקות אימות, שלמות נתונים ואי דחייה, שכולן קריטיות לרשת בלוקצ'יין. כתוצאה מכך, כל אחד ברשת יכול לסמוך על העסקאות גם ללא מתווך.
הצפנה וחתימה דיגיטלית
כמו מה שראינו במאמר הקודם, הצפנת מפתח ציבורי יוצרת הודעה מוצפנת ואילו מפתח פרטי יוצר חתימה דיגיטלית.
שימוש בקריפטוגרפיה
חתימה דיגיטלית
מעבר להצפנה ופענוח נתונים, ניתן להשתמש בהצפנת מפתח ציבורי ליצירת חתימה דיגיטלית כדי לספק אימות, שלמות נתונים ואי-דחייה ברשת בלוקצ'יין.
השלבים הבאים מסבירים את התהליך של מודל חתימה דיגיטלית המבוסס על הצפנת מפתח ציבורי המתואר בתרשים הבא:
- לכל הצמתים המשתתפים ברשת Blockchain יש זוג מפתחות פרטי-ציבורי, שנוצר באופן מתמטי.
- ההודעה בצורת טקסט רגיל מוזנת לאלגוריתם Hashing ליצירת הודעה מגובשת, המכונה גם Digest Message. ביישום קריפטוגרפי כגון Bitcoins ההודעה מכילה את העסקה שהנפיק השולח.
- הודעת הגיבוב נחתמת על ידי המפתח הפרטי של השולח ונשלחת דרך רשת הבלוקצ'יין, יחד עם ההודעה בפורמט טקסט רגיל.
- הצמתים המשתתפים ברשת בלוקצ'יין ינסו כעת לאמת את ההודעה על ידי בדיקת החתימה הדיגיטלית כדי לוודא שהיא תואמת את המפתח הציבורי של הכתובת שממנה נשלחה ההודעה על ידי העברת אלגוריתם אימות.
- מכיוון שהחתימה הדיגיטלית נוצרה באמצעות המפתח הפרטי של השולח, הרשת יכולה להוכיח בקלות שהחתימה הגיעה מבעל המפתח הפרטי באמצעות המפתח הציבורי של השולח המתאים.
- הודעת הטקסט הפשוט מוזנת באמצעות אלגוריתם Hashing אחר כדי ליצור ערך hash. ערך חשיש זה מושווה לערך החשיש מפלט אלגוריתם האימות שלמעלה. האימות מתבצע מבלי שהשולח יצטרך לחשוף את המפתח הפרטי שלו.
במקרה של ביטקוינים, הרשת גם מאמתת כי השולח אכן מחזיק מספיק ביטקוינים לשליחה, וכי השולח טרם שלח אותו למקבל אחר. זה מושג על ידי ריצה דרך היסטוריית העסקאות, שהיא ציבורית בבסיס הביטקוין.
מודל חתימה דיגיטלית
במקום לחתום באופן דיגיטלי על הודעת הטקסט הפשוט, החתימה הדיגיטלית נוצרת עם חשיש הנתונים. המסר הגיבוב הוא ייצוג ייחודי אך עיכול קטן יחסית של הנתונים. זה הופך את הבלוקצ'יין ליעיל יותר.
השגת אבטחת הודעות
בואו נעבור מדוע כל כך חשוב להשתמש בחתימות דיגיטליות בבלוקצ'יין:
- שלמות: חתימות דיגיטליות ואלגוריתם הגיבוב מבטיחים כי התוקפים לא גישו ושינו באופן בלתי חוקי לנתונים. משמעות הדבר היא שלא ניתן לשנות נתונים ללא גילוי.
- אימות: חתימות דיגיטליות מקימות אמון בין שולח למקבל ברשת בלוקצ'יין. המקלט יכול להיות בטוח שרק השולח יכול היה לשלוח הודעה זו.
- אי-דחייה: השולח אינו יכול להכחיש את שליחת ההודעה מכיוון שניתן ליצור את החתימה הדיגיטלית רק על ידי השולח המחזיק במפתח הפרטי המתאים ואף אחד אחר.
מה הלאה?
לא דיברנו הרבה על hashing שכן הוא יוסבר במאמר הבא. לעת עתה, עלינו רק לדעת כי Hashing הוא אלגוריתם מתמטי או פונקציה הממפה נתונים בגודל שרירותי ל- hash בגודל קבוע. דוגמא,
דוגמאות לחשיש
לסיכום, Hashing מאמת שהנתונים לא שונו ולא טופלו.
מאמר קודם
- ביטול חסימת ה- Blockchain: קריפטוגרפיה של מפתח ציבורי
Blockchain משתמש בקריפטוגרפיה של מפתח ציבורי (אלגוריתמי מפתח אסימטריים) כדי להגן על הודעות עסקאות ברחבי הרשת. ב- Blockchain, חתימות דיגיטליות המבוססות על הצפנת מפתח ציבורי משמשות כדי להוכיח שמקור המסר מ- p ספציפי
המאמר הבא
- ביטול חסימת הבלוקצ'יין: Hashing
ישנם שני מושגים קריפטוגרפיים בסיסיים המחזיקים את Blockchain יחד. חתימה דיגיטלית וחשיש מבטיחים כי העסקאות ב- Blockchain מתבצעות רק על ידי אנשים לגיטימיים, וכי הרשומות נותרות ללא מניפולציות
© 2018 Heng Kiong Yap