חתימה דיגיטלית היא תכנית מתמטית לאימות האותנטיות של הודעות או מסמכים דיגיטליים. חתימה דיגיטלית תקפה על הודעה מעניקה לנמען ביטחון שההודעה הגיעה משולח המוכר לנמען.
עורך דין מומלץ
חתימות דיגיטליות הן מרכיב סטנדרטי של רוב חבילות הפרוטוקולים ההצפנה, והן משמשות בדרך כלל להפצת תוכנה, עסקאות פיננסיות, תוכנות לניהול חוזים, ובמקרים אחרים שבהם חשוב לזהות זיוף או חבלה.
חתימות דיגיטליות משמשות לעתים קרובות ליישום חתימות אלקטרוניות, הכוללות כל מידע אלקטרוני הנושא את כוונת החתימה, אך לא כל החתימות האלקטרוניות משתמשות בחתימות דיגיטליות. לחתימות אלקטרוניות יש משמעות משפטית במדינות מסוימות, כולל קנדה, דרום אפריקה, ארצות הברית, אלג’יריה, טורקיה, הודו, ברזיל, אינדונזיה, מקסיקו, ערב הסעודית,אורוגוואי, שוויץ, צ’ילה ומדינות האיחוד האירופי.
חתימות דיגיטליות משתמשות בהצפנה אסימטרית. במקרים רבים, הם מספקים שכבה של אימות ואבטחה להודעות הנשלחות דרך ערוץ לא מאובטח: ביישום נכון, חתימה דיגיטלית נותנת למקבל סיבה להאמין שההודעה נשלחה על ידי השולח הנטען. חתימות דיגיטליות שוות ערך לחתימות מסורתיות בכתב יד במובנים רבים, אך קשה יותר לזייף חתימות דיגיטליות המיושמות כהלכה מאשר בכתב יד. סכימות חתימה דיגיטלית, במובן המשמש כאן, מבוססות קריפטוגרפית, ויש ליישם אותן כראוי כדי להיות אפקטיביות. הם יכולים גם לספק אי-הכחשה, כלומר החותם לא יכול לטעון בהצלחה שלא חתם על הודעה, תוך שהוא תובע את המפתח הפרטי שלונשאר סודי.
יתרה מכך, חלק מתכניות אי-הדחה מציעות חותמת זמן עבור החתימה הדיגיטלית, כך שגם אם המפתח הפרטי נחשף, החתימה תקפה.
הודעות חתומות דיגיטלית עשויות להיות כל דבר שניתן לייצוג כמחרוזת סיביות : דוגמאות כוללות דואר אלקטרוני, חוזים או הודעה שנשלחה באמצעות פרוטוקול קריפטוגרפי אחר.
הגדרה
קריפטוגרפיה של מפתח ציבורי
ערכת חתימה דיגיטלית מורכבת בדרך כלל משלושה אלגוריתמים:
אלגוריתם ליצירת מפתחות שבוחר מפתח פרטי באופן אחיד באקראי מתוך קבוצה של מפתחות פרטיים אפשריים. האלגוריתם מוציא את המפתח הפרטי ואת המפתח הציבורי המתאים.
אלגוריתם חתימה שבהינתן הודעה ומפתח פרטי, מייצר חתימה.
אלגוריתם לאימות חתימה שבהינתן ההודעה, המפתח הציבורי והחתימה, מקבל או דוחה את הטענה לאותנטיות של ההודעה.
נדרשים שני מאפיינים עיקריים:
ראשית, ניתן לאמת את האותנטיות של חתימה שנוצרה מהודעה קבועה ומפתח פרטי קבוע באמצעות המפתח הציבורי המתאים.
שנית, זה אמור להיות בלתי אפשרי מבחינה חישובית ליצור חתימה תקפה עבור צד מבלי לדעת את המפתח הפרטי של אותו צד. חתימה דיגיטלית היא מנגנון אימות המאפשר ליוצר ההודעה לצרף קוד שפועל כחתימה. אלגוריתם החתימה הדיגיטלית (DSA), שפותח על ידי המכון הלאומי לתקנים וטכנולוגיה, הוא דוגמא אחת מיני רבות של אלגוריתם חתימה.
בדיון הבא, 1 n מתייחס למספר לא אחד.
באופן פורמלי, סכימת חתימה דיגיטלית היא משולש של אלגוריתמי זמן פולינומיים הסתברותיים, G, S, V, המספקים:
G (מחולל מפתח) יוצר מפתח ציבורי pk, ומפתח פרטי תואם sk, בקלט 1 n, כאשר n הוא פרמטר האבטחה.
S (חתימה) מחזירה תג, t, בכניסות: המפתח הפרטי sk, ומחרוזת x.
יציאות V (אימות) שהתקבלו או נדחו בכניסות: המפתח הציבורי pk, מחרוזת x, ותג t.
לצורך נכונות, S ו- V חייבים לספק
Pr = 1.
סכימת חתימה דיגיטלית בטוחה אם עבור כל יריב זמן פולינום הסתברותי לא אחיד, A
Pr < negl n,
כאשר A S sk, · מציין של- A יש גישה לאורקל, S sk, ·, Q מציין את קבוצת השאילתות על S שנעשתה על-ידי A, אשר מכירה את המפתח הציבורי, pk, ואת פרמטר האבטחה, n, ו- x ∉ Q מציינים שהיריב אינו רשאי לבצע שאילתה ישירה במחרוזת, x, ב- S.
היסטוריה
בשנת 1976, ויטפילד דיפי ומרטין הלמן תיארו לראשונה את הרעיון של סכימת חתימה דיגיטלית, למרות שהם רק שיערו שסכימות כאלה קיימות על סמך פונקציות שהן תמורות חד-כיווניות. זמן קצר לאחר מכן, רונלד ריבסט, עדי שמיר ולן אדלמן המציאו את אלגוריתם ה- RSA, שיכול לשמש לייצור חתימות דיגיטליות פרימיטיביות (אם כי רק כהוכחה – RSA “פשוטה” החתימות אינן מאובטחות ). חבילת התוכנה הראשונה בשיווק נרחב שהציעה חתימה דיגיטלית הייתה Lotus Notes1.0, שיצא ב-1989, שהשתמש באלגוריתם RSA.
סכימות חתימות דיגיטליות אחרות פותחו עד מהרה לאחר RSA, המוקדמות ביותר היו חתימות למפורט, חתימות מרקל (הידועות גם בשם “עצי מרקל” או פשוט “עצי חשיש”), וחתימות רבין.
ב-1988, שאפי גולדווסר, סילביו מיקלי ורונלד ריבסט היו הראשונים להגדיר בקפדנות את דרישות האבטחה של תוכניות חתימה דיגיטלית. הם תיארו היררכיה של מודלים של תקיפה עבור סכימות חתימות, והציגו גם את סכימת החתימות של GMR, הראשונה שניתן להוכיח שהיא מונעת אפילו זיוף קיומי כנגד מתקפת הודעות נבחרת, שהיא הגדרת האבטחה המקובלת כיום עבור סכימות חתימה.. התוכנית הראשונה כזו שאינה בנויה על פונקציות של דלתות אלא על משפחת פונקציות עם תכונה נדרשת חלשה בהרבה של תמורה חד-כיוונית, הוצגה על ידי מוני נאור ומוטי יונג.
שיטה
ערכת חתימה דיגיטלית אחת (מני רבות) מבוססת על RSA. כדי ליצור מפתחות חתימה, צור זוג מפתחות RSA המכיל מודולוס, N, שהוא מכפלה של שני ראשוניים גדולים ואקראיים, יחד עם מספרים שלמים, e ו- d, כך ש- e d ≡ 1 (mod φ N), כאשר φ היא הפונקציה הטוטיאנטית של אוילר. המפתח הציבורי של החותם מורכב מ- N ו- e, והמפתח הסודי של החותם מכיל d.
בשימוש ישיר, סוג זה של סכימת חתימות חשוף להתקפת זיוף קיומי של מפתח בלבד. כדי ליצור זיוף, התוקף בוחר חתימה אקראית σ ומשתמש בהליך האימות כדי לקבוע את ההודעה, m, המתאימה לאותה חתימה. אולם בפועל, סוג זה של חתימה אינו בשימוש ישיר, אלא, ההודעה שיש לחתום עוברת תחילה לגיבוב כדי לייצר תקציר קצר, לאחר מכן מרופד לרוחב גדול יותר השווה ל- N, ולאחר מכן חתום בהיפוך פונקציית דלת מלכודת. מתקפת הזיוף הזו, אם כן, מייצרת רק את פלט פונקציית ה-hash המרופד התואם ל-σ, אבל לא הודעה שמובילה לערך הזה, שאינה מובילה להתקפה. במודל האורקל האקראי, hash-then-sign (גרסה אידיאלית של אותו תרגול שבו ל-hash וריפוד בשילוב יש קרוב ל- N פלטים אפשריים), צורת חתימה זו היא בלתי ניתנת לזיוף מבחינה קיומית, אפילו נגד התקפת טקסט פשוט שנבחר.
ישנן מספר סיבות לחתום על חשיש כזה (או תקציר הודעות) במקום על המסמך כולו.
ליעילות
החתימה תהיה הרבה יותר קצרה ובכך תחסוך זמן שכן הגיבוב הוא בדרך כלל הרבה יותר מהיר מהחתימה בפועל.
לצורך תאימות
הודעות הן בדרך כלל מחרוזות סיביות, אך סכימות חתימה מסוימות פועלות על תחומים אחרים (כגון, במקרה של RSA, מספרים מודולרים למספר מורכב N. ניתן להשתמש בפונקציית Hash כדי להמיר קלט שרירותי לפורמט המתאים.
למען יושרה
ללא פונקציית ה-hash, ייתכן שיהיה צורך לפצל (להפריד) את הטקסט “לחתימה” בבלוקים קטנים מספיק כדי שסכימת החתימה תפעל עליהם ישירות. עם זאת, המקבל של הבלוקים החתומים אינו מסוגל לזהות אם כל הבלוקים קיימים ובסדר המתאים.
יישומים
כאשר ארגונים מתרחקים ממסמכי נייר עם חתימות דיו או חותמות אותנטיות, חתימות דיגיטליות יכולות לספק הבטחות נוספות לגבי המקור, הזהות והסטטוס של מסמך אלקטרוני, כמו גם הכרה בהסכמה מדעת ואישור של חותם.
משרד הדפוס של ממשלת ארצות הברית (GPO) מפרסם גרסאות אלקטרוניות של התקציב, חוקים ציבוריים ופרטיים והצעות חוק של הקונגרס עם חתימות דיגיטליות.
אוניברסיטאות כולל פן סטייט, אוניברסיטת שיקגו וסטנפורד מפרסמות תמלילים אלקטרוניים של סטודנטים עם חתימות דיגיטליות.
להלן כמה סיבות נפוצות להחלת חתימה דיגיטלית על תקשורת:
אימות
להודעה עשויה להיות נייר מכתבים או חתימה בכתב יד המזהה את השולח שלה, אך ניתן להעתיק ניירות מכתבים וחתימות בכתב יד ולהדביק אותן על הודעות מזויפות. אפילו הודעות לגיטימיות עשויות להשתנות במהלך ההעברה.
אם המשרד המרכזי של בנק מקבל מכתב הטוען שהוא מסניף עם הנחיות לשינוי יתרת החשבון, הבנק המרכזי צריך לוודא, לפני שהם פועלים על פי ההוראות, שהם אכן נשלחו על ידי בנקאי סניף, וכן לא מזויף – בין אם זייפן בדה את כל האות, או רק שינה מכתב קיים במעבר על ידי הוספת מספר ספרות.
עם ערכת חתימה דיגיטלית, המשרד המרכזי יכול לתאם מראש מפתח ציבורי בקובץ שהמפתח הפרטי שלו ידוע רק לסניף. הסניף יכול מאוחר יותר לחתום על הודעה והמשרד המרכזי יכול להשתמש במפתח הציבורי כדי לוודא שההודעה החתומה לא הייתה זיוף לפני שפעל על פיה. זייפן שאינו מכיר את המפתח הפרטי של השולח אינו יכול לחתום על הודעה אחרת, או אפילו לשנות ספרה בודדת בהודעה קיימת מבלי לגרום לאימות החתימה של הנמען להיכשל.
הצפנה יכולה להסתיר את תוכן ההודעה מצותת, אבל הצפנה בפני עצמה עלולה שלא לאפשר לנמען לאמת את מקוריות ההודעה, או אפילו לזהות שינויים סלקטיביים כמו שינוי ספרה – אם משרדי הבנק פשוט הצפינו את ההודעות שהם מחליפים, הם עדיין יכולים להיות חשוף לזיוף.
ביישומים אחרים, כגון עדכוני תוכנה, ההודעות אינן סודיות – כאשר מחבר תוכנה מפרסם תיקון עבור כל ההתקנות הקיימות של התוכנה ליישום, התיקון עצמו אינו סודי, אך מחשבים המריצים את התוכנה חייבים לאמת את האותנטיות של התוכנה.
תיקון לפני החלתו, שמא הם יהפכו לקורבנות לתוכנות זדוניות.
מגבלות
שידורים חוזרים. סכימת חתימה דיגיטלית בפני עצמה אינה מונעת הקלטה של הודעה חתומה חוקית ולאחר מכן שימוש חוזר בזדון בהתקפת שידור חוזר. לדוגמה, הסניף רשאי לבקש באופן לגיטימי שהעברה בנקאית תבוצע פעם אחת בהודעה חתומה. אם הבנק לא משתמש במערכת של מזהי עסקאות בהודעות שלו כדי לזהות אילו העברות כבר התרחשו, מישהו יכול לעשות שימוש חוזר לא חוקי באותה הודעה חתומה פעמים רבות כדי לרוקן חשבון.
ייחודיות וגמישות של חתימות. לא ניתן להשתמש בחתימה עצמה כדי לזהות באופן ייחודי את ההודעה עליה היא חותמת – בסכימות חתימה מסוימות, לכל הודעה יש מספר רב של חתימות חוקיות אפשריות מאותו חותם, וייתכן שקל, אפילו ללא ידיעת המפתח הפרטי, להפוך חתימה תקפה אחת לתוך אחרת. אם נעשה שימוש לרעה בחתימות כמזהי עסקאות בניסיון של מערכת דמוית בנק כמו בורסת ביטקוין לזהות שידורים חוזרים, ניתן לנצל זאת כדי להפעיל עסקאות חוזרות.
אימות מפתח ציבורי. ניתן להשתמש בידע מוקדם של מפתח ציבורי כדי לאמת את האותנטיות של הודעה חתומה, אבל לא להיפך – לא ניתן להשתמש בידע מוקדם של הודעה חתומה כדי לאמת את האותנטיות של מפתח ציבורי. בסכימות חתימה מסוימות, בהינתן הודעה חתומה, קל לבנות מפתח ציבורי שמתחתיו ההודעה החתומה תעבור אימות, גם ללא ידיעה על המפתח הפרטי ששימש ליצירת ההודעה החתומה מלכתחילה.
אי-הכחשה
אי-הכחשה, או ליתר דיוק אי-הכחשת מקור, הוא היבט חשוב של חתימות דיגיטליות. לפי מאפיין זה, ישות שחתמה על מידע מסוים לא יכולה במועד מאוחר יותר להכחיש שחתמה עליו. באופן דומה, גישה למפתח הציבורי בלבד אינה מאפשרת לצד הונאה לזייף חתימה תקפה.
שים לב שמאפייני אימות, אי-דחייה וכו’ מסתמכים על כך שהמפתח הסודי לא בוטל לפני השימוש בו. שלילה פומבית של צמד מפתחות היא יכולת נדרשת, אחרת מפתחות סודיים שדלפו ימשיכו להשפיע על הבעלים הנטען של צמד המפתחות. בדיקת סטטוס ביטול מחייבת בדיקה “מקוונת”; למשל, בדיקת רשימת ביטולי אישורים או באמצעות פרוטוקול מצב אישור מקוון. באופן גס זה דומה לספק שמקבל כרטיסי אשראי בודק תחילה באינטרנט עם מנפיק כרטיס האשראי כדי לגלות אם כרטיס נתון דווח כאבד או גנוב.
כמובן, עם צמדי מפתחות גנובים, הגניבה מתגלה לעתים קרובות רק לאחר השימוש במפתח הסודי, למשל, כדי לחתום על תעודה מזויפת למטרת ריגול.
מושגי אבטחה
בנייר היסוד שלהם, גולדווסר, מיקלי וריבסט מתארים היררכיה של מודלים להתקפה נגד חתימות דיגיטליות:
בהתקפת מפתח בלבד, התוקף מקבל רק את מפתח האימות הציבורי.
בהתקפת הודעות ידועות, התוקף מקבל חתימות תקפות עבור מגוון הודעות המוכרות על ידי התוקף אך לא נבחרו על ידי התוקף.
בהתקפת הודעות שנבחרה אדפטיבית, התוקף לומד תחילה חתימות על הודעות שרירותיות לפי בחירת התוקף.
הם גם מתארים היררכיה של תוצאות תקיפה:
הפסקה מוחלטת מביאה לשחזור מפתח החתימה.
מתקפת זיוף אוניברסלית מביאה ליכולת לזייף חתימות לכל הודעה.
מתקפת זיוף סלקטיבית מביאה לחתימה על הודעה לפי בחירת היריב.
זיוף קיומי רק מביא לאיזשהו זוג הודעה/חתימה חוקיים שאינם ידועים כבר ליריב.
הרעיון החזק ביותר של אבטחה, לפיכך, הוא אבטחה מפני זיוף קיומי תחת התקפת מסרים שנבחרה אדפטיבית.
אמצעי זהירות נוספים
הכנסת המפתח הפרטי לכרטיס חכם
כל מערכות ההצפנה של המפתח הציבורי/המפתח הפרטי תלויות לחלוטין בשמירה על סוד המפתח הפרטי. ניתן לאחסן מפתח פרטי במחשב של משתמש ולהגן על ידי סיסמה מקומית, אך יש לכך שני חסרונות:
המשתמש יכול לחתום על מסמכים רק במחשב המסוים הזה
אבטחת המפתח הפרטי תלויה לחלוטין באבטחת המחשב
חלופה בטוחה יותר היא לאחסן את המפתח הפרטי בכרטיס חכם. כרטיסים חכמים רבים מתוכננים להיות עמידים בפני חבלה (למרות שחלק מהעיצובים נשברו, בעיקר על ידי רוס אנדרסון ותלמידיו ). ביישום חתימה דיגיטלית טיפוסית, ה-hash המחושב מהמסמך נשלח לכרטיס החכם, שהמעבד שלו חותם על ה-hash באמצעות המפתח הפרטי המאוחסן של המשתמש, ולאחר מכן מחזיר את ה-hash החתום. בדרך כלל, משתמש חייב להפעיל את הכרטיס החכם שלו על ידי הזנת מספר זיהוי אישי או קוד PIN (ובכך לספק אימות דו-שלבי). ניתן לארגן שהמפתח הפרטי לעולם לא יוצא מהכרטיס החכם, למרות שזה לא תמיד מיושם. אם הכרטיס החכם נגנב, הגנב עדיין יזדקק לקוד ה-PIN כדי ליצור חתימה דיגיטלית. זה מפחית את האבטחה של הסכימה לזו של מערכת ה-PIN, אם כי זה עדיין דורש מתוקף להחזיק את הכרטיס. גורם מקל הוא שמפתחות פרטיים, אם נוצרים ומאוחסנים בכרטיסים חכמים, נחשבים בדרך כלל כקשים להעתקה, ומניחים שהם קיימים בדיוק בעותק אחד.
לפיכך, אובדן הכרטיס החכם עלול להתגלות על ידי הבעלים וניתן לבטל מיד את האישור המתאים.
מפתחות פרטיים המוגנים רק על ידי תוכנה עשויים להיות קלים יותר להעתקה, וקשה הרבה יותר לזהות פשרות כאלה.
שימוש בקוראי כרטיסים חכמים עם מקלדת נפרדת
הזנת קוד PIN להפעלת הכרטיס החכם דורשת בדרך כלל לוח מקשים מספרי. לקוראי כרטיסים מסוימים יש לוח מקשים נומרי משלהם. זה בטוח יותר משימוש בקורא כרטיסים המשולב במחשב, ולאחר מכן הזנת ה-PIN באמצעות המקלדת של המחשב.
קוראים עם לוח מקשים מספרי נועדו לעקוף את איום ההאזנה שבו המחשב עשוי להפעיל לוגר הקשות, מה שעלול לסכן את קוד ה-PIN.
קוראי כרטיסים מיוחדים גם פחות פגיעים להתעסקות בתוכנה או בחומרה שלהם ולעתים קרובות הם מאושרים EAL3.
עיצובים אחרים של כרטיסים חכמים
עיצוב כרטיסים חכמים הוא תחום פעיל, וישנן תוכניות כרטיסים חכמים שנועדו למנוע את הבעיות המסוימות הללו, למרות שיש להן מעט הוכחות אבטחה עד כה.
שימוש בחתימות דיגיטליות רק עם יישומים מהימנים
אחד ההבדלים העיקריים בין חתימה דיגיטלית לחתימה כתובה הוא שהמשתמש לא “רואה” על מה הוא חותם. אפליקציית המשתמש מציגה קוד hash שייחתם על ידי אלגוריתם החתימה הדיגיטלית באמצעות המפתח הפרטי. תוקף המשיג שליטה על המחשב האישי של המשתמש יכול אולי להחליף את יישום המשתמש בתחליף זר, ולמעשה להחליף את התקשורת של המשתמש עצמו לאלו של התוקף. זה עלול לאפשר לאפליקציה זדונית להערים על משתמש לחתום על כל מסמך על ידי הצגת המקור של המשתמש על המסך, אך הצגת המסמכים של התוקף בפני יישום החתימה.
כדי להגן מפני תרחיש זה, ניתן להגדיר מערכת אימות בין האפליקציה של המשתמש (מעבד תמלילים, לקוח דואר אלקטרוני וכו’) לבין אפליקציית החתימה. הרעיון הכללי הוא לספק כמה אמצעים הן עבור יישום המשתמש והן עבור יישום החתימה כדי לאמת את תקינותו של זה.
לדוגמה, יישום החתימה עשוי לדרוש שכל הבקשות יגיעו מקבצים בינאריים חתומים דיגיטלית.
שימוש במודול אבטחת חומרה מחובר לרשת
אחד ההבדלים העיקריים בין שירות חתימה דיגיטלית מבוסס ענן לשירות מסופק מקומי הוא סיכון. חברות רבות שונאות סיכונים, כולל ממשלות, מוסדות פיננסיים ורפואיים ומעבדי תשלומים דורשים תקנים מאובטחים יותר, כמו FIPS 140-2 רמה 3 ואישור FIPS 201, כדי להבטיח שהחתימה מאומתת ומאובטחת.
WYSIWYS
WYSIWYS
מבחינה טכנית, חתימה דיגיטלית חלה על מחרוזת ביטים, בעוד שבני אדם ויישומים “מאמינים” שהם חותמים על הפרשנות הסמנטית של אותם ביטים. על מנת להתפרש סמנטי, יש להפוך את מחרוזת הסיביות לצורה בעלת משמעות עבור בני אדם ויישומים, וזאת באמצעות שילוב של תהליכים מבוססי חומרה ותוכנה במערכת מחשב. הבעיה היא שהפרשנות הסמנטית של ביטים יכולה להשתנות כפונקציה של התהליכים המשמשים להפיכת הביטים לתוכן סמנטי. קל יחסית לשנות את הפרשנות של מסמך דיגיטלי על ידי הטמעת שינויים במערכת המחשוב שבה המסמך מעובד. מנקודת מבט סמנטית זה יוצר אי ודאות לגבי מה בדיוק נחתם. WYSIWYS (מה שאתה רואה זה מה שאתה חותם)פירושו שלא ניתן לשנות את הפרשנות הסמנטית של הודעה חתומה. בפרט זה גם אומר שהודעה לא יכולה להכיל מידע נסתר שהחותם אינו מודע לו, ושיכול להיחשף לאחר החלת החתימה.
WYSIWYS היא דרישה לתקפותן של חתימות דיגיטליות, אך קשה להבטיח דרישה זו בגלל המורכבות הגוברת של מערכות מחשב מודרניות.
המונח WYSIWYS נטבע על ידי פיטר לנדרוק וטורבן פדרסן כדי לתאר כמה מהעקרונות באספקת חתימות דיגיטליות מאובטחות ומחייבות משפטית עבור פרויקטים כלל-אירופיים.
חתימות דיגיטליות מול חתימות דיו על נייר
ניתן לשכפל חתימת דיו ממסמך אחד למשנהו על ידי העתקת התמונה באופן ידני או דיגיטלי, אבל להחזיק עותקי חתימה אמינים שיכולים לעמוד בבדיקה מסוימת זו מיומנות ידנית או טכנית משמעותית, ולהפיק עותקי חתימת דיו שעומדים בפני בדיקה מקצועית זה מאוד קשה.
חתימות דיגיטליות קושרות באופן קריפטוגרפי זהות אלקטרונית למסמך אלקטרוני ולא ניתן להעתיק את החתימה הדיגיטלית למסמך אחר. בחוזי נייר יש לפעמים את גוש חתימת הדיו בעמוד האחרון, וייתכן שהדפים הקודמים יוחלפו לאחר החלת חתימה. ניתן להחיל חתימות דיגיטליות על מסמך שלם, כך שהחתימה הדיגיטלית בעמוד האחרון תציין שיבוש אם נתונים כלשהם באחד מהעמודים שונו, אך ניתן להשיג זאת גם על ידי חתימה בדיו ומספור כל העמודים של הדף.
חוזה.
כמה אלגוריתמים של חתימה דיגיטלית
RSA
DSA
ECDSA
EdDSA
RSA עם SHA
ECDSA עם SHA
ערכת החתימה של ElGamal כקודמת ל-DSA, וגרסאות חתימת Schnorr ואלגוריתם חתימת Pointcheval-Stern
אלגוריתם חתימת רבין
תוכניות מבוססות זיווג כגון BLS
NTRUSign היא דוגמה לתכנית חתימה דיגיטלית המבוססת על בעיות סריג קשיח
חתימות שאין להכחישה
חתימה מצטברת ru – סכימת חתימה התומכת בצבירה: בהינתן n חתימות על n הודעות מ-n משתמשים, ניתן לצבור את כל החתימות הללו לחתימה אחת שגודלה קבוע במספר המשתמשים. חתימה יחידה זו תשכנע את המאמת ש-n המשתמשים אכן חתמו על n ההודעות המקוריות.
תוכנית של Mihir Bellare ו- Gregory Neven עשויה לשמש עם ביטקוין.
חתימות עם פרוטוקולים יעילים – הן סכימות חתימה המאפשרות פרוטוקולים קריפטוגרפיים יעילים כגון הוכחות אפס ידע או חישוב מאובטח.
מצב השימוש הנוכחי – חוקי ומעשי
סמל גלובוס.
רוב סכימות החתימות הדיגיטליות חולקות את המטרות הבאות ללא קשר לתיאוריה הצפנה או להוראות משפטיות:
אלגוריתמים איכותיים: חלק מהאלגוריתמים של מפתח ציבורי ידועים כבלתי מאובטחים, מכיוון שהתגלו התקפות מעשיות נגדם.
יישומים איכותיים: יישום של אלגוריתם (או פרוטוקול טוב עם טעויות לא יעבוד.
המשתמשים (והתוכנה שלהם) חייבים לבצע את פרוטוקול החתימה כראוי.
המפתח הפרטי חייב להישאר פרטי: אם המפתח הפרטי נודע לכל גורם אחר, אותו צד יכול לייצר חתימות דיגיטליות מושלמות של כל דבר.
הבעלים של המפתח הציבורי חייב להיות בר אימות: מפתח ציבורי המשויך לבוב הגיע למעשה מבוב. זה נעשה בדרך כלל באמצעות תשתית מפתח ציבורי (PKI) ואיגוד המפתח הציבורי ↔ המשתמש מאושר על ידי מפעיל ה-PKI (נקרא רשות אישורים. עבור PKIs ‘פתוחים’ שבהם כל אחד יכול לבקש אישור כזה (המגולם באופן אוניברסלי בתעודת מפתח ציבורי מוגן קריפטוגרפית, האפשרות של אישור שגוי היא לא טריוויאלית. מפעילי PKI מסחריים סבלו מכמה בעיות ידועות בציבור. טעויות כאלה עלולות להוביל למסמכים חתומים כוזב, ובכך מיוחסים באופן שגוי. מערכות PKI ‘סגורות’ הן יקרות יותר, אך פחות קלות לחתור בדרך זו.
רק אם מתקיימים כל התנאים הללו, חתימה דיגיטלית תהווה למעשה כל ראיה למי שלח את ההודעה, ולפיכך להסכמתו לתוכן. חקיקה משפטית אינה יכולה לשנות את המציאות הזו של האפשרויות ההנדסיות הקיימות, אם כי כמה כאלה לא שיקפו מציאות זו.
בתי מחוקקים, מיובאים על ידי עסקים המצפים להרוויח מהפעלת PKI, או על ידי האוונגרד הטכנולוגי הדוגל בפתרונות חדשים לבעיות ישנות, חוקקו חוקים ו/או תקנות בתחומי שיפוט רבים המאשרים, מאשרים, מעודדים או מתירים חתימות דיגיטליות ומספקים למען (או הגבלת) השפעתם המשפטית. נראה שהראשון היה ביוטה שבארצות הברית, ואחריו המדינות מסצ’וסטס וקליפורניה. מדינות אחרות גם העבירו חוקים או הוציאו תקנות גם בתחום זה ולאו”ם יש פרויקט חוק פעיל מזה זמן מה. חקיקות אלו (או הצעות חקיקה) משתנות ממקום למקום, גילמו בדרך כלל ציפיות שונות (אופטימיות או פסימיות) עם מצב ההנדסה הקריפטוגרפית הבסיסית, והיה להם השפעה נטו של בלבול משתמשים פוטנציאליים ומפרטים, שכמעט כולם.
אינם בעלי ידע קריפטוגרפי.
אימוץ הסטנדרטים הטכניים לחתימות דיגיטליות פיגר מאחורי חלק גדול מהחקיקה, ודחה עמדה הנדסית אחידה פחות או יותר לגבי יכולת פעולה הדדית, בחירת אלגוריתמים, אורכי מפתח, וכן הלאה מה שההנדסה מנסה לספק.
הנחיות חתימה דיגיטלית של ABA
תקני תעשייה
חלק מהתעשיות קבעו תקני פעולה הדדית משותפים לשימוש בחתימות דיגיטליות בין חברי התעשייה ועם רגולטורים. אלה כוללים את בורסת רשת הרכבים לתעשיית הרכב ואת SAFE-BioPharma Association לתעשיית הבריאות.
שימוש בצמדי מפתחות נפרדים לחתימה והצפנה
בכמה מדינות, לחתימה דיגיטלית יש מעמד קצת דומה לזה של חתימת עט ונייר מסורתית, כמו בהנחיית האיחוד האירופי לחתימה דיגיטלית משנת 1999 ובחקיקת ההמשך של האיחוד האירופי משנת 2014. בדרך כלל, הוראות אלה אומרות שכל דבר שנחתם דיגיטלית מחייב מבחינה חוקית את החותם על המסמך לתנאים שבו. מסיבה זו, נהוג לחשוב שהכי טוב להשתמש בצמדי מפתחות נפרדים להצפנה וחתימה. באמצעות צמד מפתחות ההצפנה, אדם יכול להשתתף בשיחה מוצפנת (למשל, לגבי עסקת נדל”ן), אך ההצפנה אינה חותמת באופן חוקי על כל הודעה שהוא או היא שולחים. רק כאשר שני הצדדים מגיעים להסכמה הם חותמים על חוזה עם מפתחות החתימה שלהם, ורק אז הם מחויבים משפטית לתנאי מסמך ספציפי. לאחר החתימה, ניתן לשלוח את המסמך דרך הקישור המוצפן.
אם מפתח חתימה אבד או נפגע, ניתן לבטלו כדי להפחית עסקאות עתידיות.
אם מפתח הצפנה אבד, גיבוי או נאמנות מפתחיש להשתמש כדי להמשיך לצפות בתוכן מוצפן.
אין לגבות מפתחות חתימה או להלום אלא אם יעד הגיבוי מוצפן בצורה מאובטחת