Home אבטחת מידעInformation Security הסבר על PGP הסבר על חתימה דיגטלית ויצירת מפתחות ע"י GPG

הסבר על PGP הסבר על חתימה דיגטלית ויצירת מפתחות ע"י GPG

0 comment
נהנתם מהמאמר ? שתפו אותו!

כל הזכויות שמורות לטל בן שושן – Shushan.co.il

הסבר ויצירת מפתחות ע"י PGP ו GPG

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

Digital Signatures

תחילה נבין מהו Digital Signatures, חתימה דיגיטלית, היא מצב בו משתמש “חותם” מסמך, קובץ, אימייל וכו’, החתימה מייצרת מצב בו המשתמש מייצר זוג מפתחות על ידי RSA האחד Private Key והשני Public Key, המשתמש חותם את התעודה עם ה Private Key שלו ושולח למשתמש אחר, המשתמש הזה פותח המסמך ויכול לראות שאותו אדם חתם על המסמך ולכן המסמך אותנטי.
כיצד הוא מוודא שהקובץ אכן אותנטי? הוא משתמש ב Public Key של אותו אדם על מנת לאמת שהוא אכן "חתם" את המסמך עם ה Private Key שלו.

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

  1. המשתמש מייצר על ידי RSA זוג מפתחות Key-Pair האחד Private Key והשני Public Key
  2. המשתמש מייצר על ידי Hash אלגוריתם כמו MD5 את הmessage-digest של המידע
  3. המשתמש, משתמש בPrivate Key על מנת לחתום את הmessage-digest וכך נוצר ה”חתימה הדיגיטלית”
  4. המשתמש שמקבל את המסמך חתום, פותח את החתימה הדיגיטלית על ידי ה Public Key של המשתמש ששלח לו את המסמך

כעת אחרי שהבנתם מהי חתימה דיגיטלית נבצע זאת בעזרת GPG, אך תחילה נבין מהו PGP ו GPG:

PGP

PGP הוא קיצור של Pretty Good Privacy ונוצר ב1991 והוא לוקח את הרעיון של Web Of Trust שאומר שמשתמש הקצה לא צריך להחזיק שרת תעודות על מנת לאמת \ לזהות\ להצפין את המידע ובכך לאמת\ לחתום\ להצפין מידע
PGP מכיל יכולות כמו

  • Hashing
  • Data Compression
  • PKI
  • Symmetric Key

GPG

GPG הוא קיצור של GNU Privacy Guard והוא כלי קוד פתוח והמשכיות של OpnePGP ובמדריך זה נשתמש על מנת להסביר על הפעולות אותו הוא מבצע:

תחילה נוריד את GPG4WIN

מהאתר https://www.gpg4win.org

והוא מכיל את הפיצ'רים הבאים

GnuPG 2.2.10

Kleopatra 3.1.3

GPA 0.9.10

GpgOL 2.3.0

GpgEX 1.0.6

Kompendium (de) 4.0.1

Compendium (en) 3.0.0

כעת נריץ את התוכנה Kleopatra שאיתה נבצע את רוב המדריך,

כעת עלינו ליצור KeyPair על מנת ליצור PKI האחד Private Key והשני Public Key

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

אם נלחץ על מתקדם נוכל להבחין שזהו RSA 2048Bit

נכניס את הסיסמא לפתיחת ההצפנה ה Key Passphrase

כעת נוכל לגבות את צמד המפתחות

כעת ניקח קובץ כמו בתמונה ונבצע לו Encrypt

ונלחץ על Encrypt

כעת ההודעה מוצפנת

קליק ימני שוב ואז Decrypt

יאלץ אותנו להכניס את הסיסמא

כעת ההודעה חזרה

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

חתימה דיגיטלית על ידי GPG

כעת נבצע חתימה דיגיטלית למסמך ואז נבצע לו אימות

קליק ימני על המסמך ואז Sign

כעת אשרו שאתם חותמים את המסמך בעזרת התעודה הקיימת, המסמך ייחתם על ידי ה Private Key

כעת נייצא את התעודה של Admin@shushan.co.il

כעת נמחק אותה – למה אנחנו מוחקים?
כעת נדמה את המשתמש אליו שלחתם את התעודה שלפני כמה רגעים ייצאתם וכך נאמת את המסמך אם הוא חתום על ידי Admin@shushan.co.il

נמחק את התעודה (אשרו את כל האזהרות)

כעת נייבא אותה, התעודה הזו מכילה רק את ה Public Certificate או יותר נכון ה Private Key

כעת לחצו על התעודה

ותקבלו אזהרה שעליכם להיות בטוחים שאכן התעודה הזו שייכת לאותו אדם

כעת התעודה הזו לא "בוטחה" על ידכם ולכן נצטרך לבטוח בה לחצו קליק ימני ואז Certify

ואז לחצו על הכפתור Certfiy

התוכנה תבקש ממכם ליצור סט מפתחות חדש

אני יצרתי תעודה עם האימייל tal@shushan.co.il

כעת נאמת את התעודה שייבאנו

אשרו

כעת יש את התעודה שהוספנו ה Admin@shushan.co.il וסט המפתחות החדש שאני הקמתי שזה tal@shushan.co.il

כעת נלחץ קליק ימני ואז Verfiy

והתוצאה שהמסמך נחתם על ידי Admin@shushan.co.il

על מנת להבין את זה במציאות צריך להבין את זה כך:

  1. ברגע שביצעתם את החתימה על המסמך עם ה Private Key בצעתם חתימה למסמך
  2. ייצאתם ושלחתם את ה Public Certificate או יותר נכון את ה Private Key למשתמש שאתם רוצים שיוכל לאמת שכל מסמך שתשלחו אליו הוא יוודא שאכן אתם "חתמתם אותו"
  3. הוא יבצע אימות למסמך ויוודא שאכן אתם חתמתם עליה בכך שהוא ישתמש ב Public Key שהוא היחיד שיכול לפתוח את ה Private Key

 

מאמרים קשורים

Leave a Comment