אלגוריתם הצפנה אסימטרי בלי מפתח פומבי... - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

אלגוריתם הצפנה אסימטרי בלי מפתח פומבי...


bla7

Recommended Posts

^^^ יש בזה מפתח פומבי...

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

השאלה, אם יש אלגוריתם שבו לא שולחים בכלל מפתח כלשהו מראש.

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

קישור לתוכן
שתף באתרים אחרים

וכמו שאני אמרתי, השאלה שלי היתה לגבי אלגוריתם ללא מפתח פומבי.

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

האם יש דבר כזה?

קישור לתוכן
שתף באתרים אחרים

לא ,אין.

איך הם יצפינו את החלפת המפתחות ?

האופציה האחרת היא לשלוח מפתח בדואר על CD (יש מצבים שמשתמשים באופציה הזו)

זה מה שאתה מחפש.

היום משתמשים בפרוטוקול הצפנה הזה ברוב מוצרי האבטחה הרציניים,לדוגמא check point NG.

קישור לתוכן
שתף באתרים אחרים

Diffie Helman נועד להחלפת מפתחות, אבל עד כמה שאני זוכר הוא כן חשוף ל- Man in the Middle.

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

קישור לתוכן
שתף באתרים אחרים

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

את תהליך האותנטיקציה אפשר לעשות על גבי הערוץ המוצפן.

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

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

מה שאותי מעניין זה שלב החלפת המפתחות. אני חושב שפיתחתי אלגוריתם להחלפת מפתחות ללא מפתח פומבי - כלומר, שאי אפשר בשום דרך לדעת מה הועבר, גם אם במקרה נופל לידך אותו מפתח (מה שאי אפשר להגיד על ה-RSA, או D-H).

רציתי לדעת אם קיים כבר דבר כזה, או שזאת "פריצת דרך".

(הסתייגות - לא בדקתי אותו עדיין ממש לעומק, לוודא שהוא בלתי פריץ (כלומר DENIABLE) אבל אני אדווח אחרי שאבדוק).

קישור לתוכן
שתף באתרים אחרים

השאלה לא ממש מובנת.

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

דורון.

קישור לתוכן
שתף באתרים אחרים

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

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

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

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

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

היתרון של דיפי-הלמן הוא שהוא לא דורש שום מידע מוקדם שבין הצדדים (אין צורך בהעברת מפתח פומבי באמצעות מדיה אחרת) - כל התיאום נעשה online. החסרון הוא שזה משאיר אותו חשוף לתקיפת man in the middle.

קישור לתוכן
שתף באתרים אחרים

אבל זה לא רק התקפות man in the middle. יש סיכוי שמישהו יעלה על טריק לחישוב גורמים ראשוניים של מספר (או במקרה של D-H, לוגריתם דיסקרטי, אבל הם קשורים אחד לשני, ככה שאם זה יבוא, זה כנראה יבוא ביחד). במקרה כזה, ה-RSA כמו גם ה-D-H אינם שווים דבר.

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

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

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

קישור לתוכן
שתף באתרים אחרים

רציתי לדעת אם קיים כבר דבר כזה, או שזאת "פריצת דרך".

יש מושג שנקרא Perfect Forward Secrecy או משהו כזה, שאומר שחשיפת המפתח הנוכחי לא תעזור לך לפענח מסרים עתידיים.

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

קישור לתוכן
שתף באתרים אחרים

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

בכל מקרה, אם מצאת דרך מתמטית לפרוץ את ה-D-H, אז אין שום משמעות ל-FPS, כי בכל SESSION בנפרד זה ייפרץ, בלי שום קשר למה נפרץ קודם.

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...