שְׁאֵלָה:
אפשרות לזייף את המפתח הציבורי של מישהו
AleksanderRas
2019-05-20 19:12:35 UTC
view on stackexchange narkive permalink

אני יודע כיצד עובדת הצפנת מפתח ציבורי; (מאוד) פשוט:

  1. אליס לוקחת את המפתח הציבורי של בוב ושולחת הודעה מוצפנת עם המפתח האמור ושולחת אותה לבוב.

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


תרחיש (גם פשוט):

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

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


השאלות שלי הן:

  • איך אליס יודעת את המפתח הציבורי של בוב?
  • האם אפשר לרמות מישהו (או את המכשיר עצמו) כך שהם יחשבו הם שולחים את ההודעה לבוב אך infact מקודדים את ההודעה עם המפתח הציבורי של מישהו אחר?
  • כיצד עוקפים את הנושא הזה?
אם הנחת שהמכשיר של אליס נגוע, מה מונע ממך פשוט לקרוא את ההודעה בטקסט רגיל כפי שהוא כתוב?
@MechMK1 אולי ההודעה היא ברמת אבטחה "גבוהה יותר" ואנחנו לא יכולים לקרוא את ההודעה אלא רק לשנות את המפתחות הציבוריים, לא יודעים אם זה יעבוד אבל * אני באמת מודאג רק מאיך שאנחנו יודעים שהמפתח ציבורי הוא אכן המפתח הציבורי של האדם שאנו מניחים שהוא שייך *.הוספתי אותו לשאלתי.
גילית את המאפיין הבסיסי של כל אלגוריתמי ההצפנה: ** קריפטו הוא מנוף ההופך את העברת המפתחות המאובטחת להעברת מאובטחת של הודעות **.אף על פי שחשוב לדעת את הפרטים המדויקים של הזרמים השומרים על ידי סוגים שונים של "העברה מאובטחת", הנקודה הבסיסית היא שאתה הופך את האבטחה של פיסת נתונים קטנה, המפתח, לאבטחת פיסת נתונים גדולה,ההודעה.** בסופו של דבר המערכת צריכה להיות מושתתת על אמון * ולא * על סמך פרוטוקול קריפטו כלשהו **.אתה לא יכול להשתמש במנוף בלי מקום חזק לעמוד בו.
פירוש הדבר שגילית גם את אי ההבנה המהותית שיש לאנשים רבים שאינם מודעים למרחב זה: * קריפטו אינו אבק פיקסי קסום שאתה מפזר בתוכנית כדי להבטיח אותו *.בכל פעם שאתה משתמש בקריפטו עליך לפתור בעיה בניהול מפתחות, מכיוון שאבטחת הקריפטו תלויה 100% באבטחה של המפתחות האלה.
אבטחה זו כל המטרה של ** [תשתיות מפתח ציבורי] (https://en.wikipedia.org/wiki/Public_key_infrastructure) ** (PKI), עם מספר גישות המתוארות להלן, ועוד במאמר המקושר.
שתיים תשובות:
garethTheRed
2019-05-20 19:51:24 UTC
view on stackexchange narkive permalink

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

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

מוסמך על ידי רשות מרכזית

המפתח הציבורי מאושר על ידי ארגון שהוקם במיוחד למשימה זו - אלה נקראים רשויות אישורים (CA).

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

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

אתה יכול לפנות ל- CA עם המפתח הציבורי שלך, אך הם רק יאשרו שהוא שייך אתה - לא לבוב (או אליס, או מישהו אחר).

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

מוסמך על ידי חברים ו / או עמיתים

חלופה לשיטה הנ"ל היא שאליס תאשר עם חברים / עמיתים שכבר מתכתבים עם בוב כ האם המפתח הציבורי שלו אמיתי. הם יידעו זאת על ידי אישור עם אחרים, או על ידי אישור עם בוב עצמו (אולי פגישה פנים אל פנים). בדרך זו, האמון מתפשט כמו רשת עכביש, מה שמוביל למושג זה להיקרא web-of-trust.

שיטה זו משמשת את פרטיות די טובה ופרטיות של Gnu. שומר.


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

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

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

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

התכוונתי לכתוב תשובה מאוד דומה לזו, ולהצביע במקום.רשויות האישור הן התשובה ל"איך יודעת שאליס יודעת או שהמפתח הציבורי של בוב הוא באמת בוב "או סומך עליו.
היסטורית GnuPG היה יישום של PGP;כבר כמה שנים שהוא _ גם_ מיישם את S / MIME, כך שבמצב PGP הוא משתמש בשיטות ה- PGP (F2F או WoT) ובמצב S / MIME הוא משתמש ב- S / MIME CA.
אני חושב שהדבר משלים יותר מדי כמה מהבעיות הרשויות בפועל פותרות.בסופו של דבר, חתימה על ידי CA פשוט מעבירה את הבעיה מ"מחלפת המפתח של אליס "ל"החלפת המפתח של CA", או אפילו יותר פשוט "הוספת מפתח CA נוסף".CA או Web of Trust עוזרים ב * חלוקת * מפתחות, מכיוון שהם נותנים לך דרך להעריך מפתח שמעולם לא ראית לפני כן, אבל אני חושב שהתשובה של MechMK1 עושה עבודה טובה יותר ומסבירה את המגבלות של זה.
@IMSoP - אולי חנות עוגני האמון נמצאת ברמת אבטחה "גבוהה יותר" לפי [הערות] של ה- OP (https://security.stackexchange.com/questions/210489/possibility-of-faking-someones-public-key / 210495 # comment424498_210489) :-) זו שאלה היפותטית.הוספתי לתגובות את הנקודות המאוד תקפות שלך שכן הן חשובות בעולם האמיתי.
"הסמכה היא המקום בו אנו מאשרים ללא עוררין וללא הכחשה שמישהו שמעולם לא פגשנו בעבר שגר בצד השני של כדור הארץ ואשר אנו מכירים רק ככתובת דוא"ל (אולי מזויפת) באמת הוא מי שהם טוענים שהוא ואפשר לסמוך עליולכתוב צ'קים טובים, לקנות אלכוהול, לחתום על חוזים ולהפעיל נקודת מכירה שמוכרת שירותי PKI ".
@Joker_vD - LOL - אבל [קישור למקור שלך] (https://www.cs.auckland.ac.nz/~pgut001/misc/certificates.txt) יהיה אדיב.
ל- GPG יש גם אפשרות "מוסמך על ידי עצמך", בתנאי שאתה שומר את המפתח שלך במצב לא מקוון, גם מונע התעסקות במפתח לא מקוון בדיוק כמו "מאושר על ידי חברים ו / או עמיתים"
MechMK1
2019-05-20 19:53:02 UTC
view on stackexchange narkive permalink

איך אליס מכירה את המפתח הציבורי של בוב?

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

ישירות ובאופן אישי

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

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

דרך השרת של בוב

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

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

באמצעות שרת מפתח

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

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

באמצעות "מסרים ישירים"

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

מערכות VoIP עשויות להיות טובות יותר, אך אינן מושלמות כמו שאנשים חושבים.

האם ניתן לרמות מישהו, כך שישתמש במפתח ציבורי מזויף?

כן, כמפורט לעיל. כל תרחיש בו בוב לא נותן לך את המפתח באופן ישיר ואישי עלול להיפגע.

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

כיצד יכולה אליס להגן על עצמה מפני חוה בשינוי המפתח הציבורי של בוב במכשיר שלה?

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

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

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

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

איפה אתה אומר "VoIP" אתה מתכוון "VPN"?אם לא, כיצד ניתן להשתמש במערכת Voice over IP להפצת מפתח ציבורי?בכל מקרה, איך זה "לא מושלם"?
היסוד של PKI מודרני הוא רשות האישורים (CA), שזו כלל לא מזכירה: אם תחליף את הגרסה של אליס, היא תדע שהתעודה גרועה, אלא אם כן תוכל לשכנע את ה- CA לחתום על האישור הרע שלך באמצעות המפתח שלהם.
@TemporalWolf הכי קרוב לזה הוא "אנשים יכולים לחתום על המפתח של בוב, ובכך לערוב לבוב."ישנן גם דרכים אחרות: אתה מקבל גישה למפתח הפרטי של רשות האישורים או שאתה מרמה את אליס להוסיף את תעודת האישור שלך בתור תעודת אישור מהימן, אשר כנראה סביר יותר.
חבלה על המכשיר עשויה להיות קשה בהרבה מכל התרחישים האחרים.אלא אם כן המכשיר נפגע במידה רבה הרבה יותר, ובמקרה זה לאליס יש כנראה בעיות הרבה יותר גדולות.
@JimmyJames: A CA איננו "אנשים".זו נקודת כישלון יחידה באבטחת הרשת המודרנית.
אני חושב שהקטע האחרון הוא מעט שגוי אנשים נהגו לשנן את המפתח הקצר אבל זה הותקף בהתנגשות: https://searchsecurity.techtarget.com/news/450302716/PGP-collision-attack-on-Linux-creator-highlights-פגמים עם מזהים קצרים, וקשה לזכור את המפתח המלא (ולכן פופולרי היה לשנן מקשים קצרים).
@DennisWilliamson דיברתי על תרחיש בו אליס תתקשר לבוב דרך סקייפ, TeamSpeak, Discord וכו 'ותשאל "היי בוב, איפה אוכל למצוא את המפתח הציבורי שלך?".קשה יותר לזייף דיבור בצורה מציאותית, ומכאן מדוע אמרתי שהוא טוב יותר, אך עדיין ניתן לזייף טכנית.
@TemporalWolf כן, דילגתי על PKI, מכיוון שבאופן אישי אין לי כל כך הרבה ניסיון בזה.אל תהסס לערוך את תשובתי אם כי כדי להוסיף מידע רלוונטי כלשהו.
@NotThatGuy כן, אני יודע שזה קטע וכתבתי את זה ל- OP בתגובה המקורית שלי.מכאן מדוע OP בנתה את התרחיש הזה בו איב יכולה לנצל משהו להחלפת תעודות, אך לא להתעסק באליס בשום דרך אחרת.
@dave כן, קל יותר להפעיל התנגשויות על מקשים קטנים יותר.אני אערוך את תשובתי.
@TemporalWolf אני חושב שניתן לראות בקבוצות רשמיות בהקשר זה מקרה מיוחד של Web of Trust: יש לך קבוצה של מפתחות שאתה סומך עליהם מרומז (חנות השורשים שלך ב- CA, או מפתח משלך ב- WoT) ותשתית לסמוך על מפתחות חדשיםבהתבסס על מי עוד סמך עליהם.חשוב לציין כי אין איש קשר חותם על כל מקש, ולכן איב צריכה רק למצוא חולשה אחת במערכת כדי לגרום למפתח של בוב הרשע להיראות מהימן.
@MechMK1: אני חושב שקול ניתן להחיל רק בתרחישים מוגבלים.לאנשים רבים לא יהיה בסיס מבוסס להכרה בקולו של אדם שאיתו הם רוצים ליצור קשר אמון דיגיטלי.
@DennisWilliamson כן, תחולת הדבר מוגבלת.זה מניח שאליס ובוב מכירים במידה מסוימת, אך גם הפגישה באופן אישי.יכולתי פשוט ללכת במקום בוב ולהתיימר שאני בוב.


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 4.0 עליו הוא מופץ.
Loading...