חתימות דיגיטליות מסתמכות על ארכיטקטורת קריפטוגרפיה של מפתח ציבורי כדי לאמת את האותנטיות של המסמך ואת זיהוי השולח. שתי הדרכים הסטנדרטיות להשגת חתימות דיגיטליות הן אלגוריתמים RSA (Rivest–Shamir–Adleman) ו-DSA (Digital Signature), אך שתיהן שונות בביצוע פונקציות הצפנה ופענוח.

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

היכרות עם אלגוריתמי חתימה דיגיטלית

DSA (Digital Signature Algorithm) משלב את המאפיינים האלגבריים של בעיות לוגריתם בדידות ואקספונציונציות מודולריות ליצירת חתימה אלקטרונית עבור יישומים שונים. הוא הוצע ב-1991 ואומץ כתקן פדרלי לעיבוד מידע על ידי NIST (המכון הלאומי לתקנים וטכנולוגיה) ב-1994.

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

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

instagram viewer

החשיבות של אלגוריתם חתימה דיגיטלית

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

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

היתרונות שה-DSA מציע הם:

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

כיצד האלגוריתם מאמת את השולח?

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

מחזור DSA עוקב אחר שלושת השלבים העיקריים הבאים להשלמת התהליך:

  • דור מפתח: התהליך מסתמך על הרעיון של אקספוננציה מודולרית כדי להשיג מפתחות פרטיים (x) וציבוריים (y) העומדים בתנאים המתמטיים של 0 < x < q ו- y = gx mod p. כאשר q הוא מחלק ראשוני, p הוא מספר ראשוני, ו-g עומד בתנאי g**q mod p = 1 ו-g = h**((p–1)/q) mod p אלה. כך יוצרים חבילות מפתח פרטיות וציבוריות {p, q, g, x} ו-{p, q, g, y}.
  • יצירת חתימות: אלגוריתם גיבוב יוצר תקציר הודעות, המועבר כקלט לפונקציית חתימה ליצירת שני משתנים פלטים, r ו-s, ארוזים כחתימה {r, s} כך שההודעה והמשתנים האלה נשלחים כצרור ל- מַקְלֵט.
  • אימות חתימה: התהליך משתמש בפונקציית הגיבוב כדי להוציא את התקציר ומשלב משתנים עם פרמטרים אחרים משלב יצירת המפתח כדי לייצר את רכיב האימות v. פונקציית האימות משווה את המשתנה המחושב v מול פרמטר r מהצרור {M, s, r}.

כדי לסכם את התהליך לעיל באופן לא מתמטי:

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

יתרונות השימוש באלגוריתם חתימה דיגיטלית

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

חסרונות של שימוש באלגוריתם חתימה דיגיטלית

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

DSA VS RSA

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

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

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

אמת את מקור הנתונים באמצעות DSA

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

TLS לעומת SSL: מה ההבדל ואיך זה עובד

לרוב מדברים על שני פרוטוקולי ההצפנה הללו יחד, אבל מה הם ואיך הם עובדים?

קרא הבא

לַחֲלוֹקצִיוּץאימייל
נושאים קשורים
  • בִּטָחוֹן
  • חתימה דיגיטלית
על הסופר
רומאיסה ניאזי (17 מאמרים שפורסמו)

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

עוד מ-Rumaisa Niazi

הירשם לניוזלטר שלנו

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

לחץ כאן כדי להירשם