שְׁאֵלָה:
מדוע מישהו "יצפין כפול"?
Lighty
2016-03-15 13:57:39 UTC
view on stackexchange narkive permalink

אם יש לי אתר או אפליקציה לנייד, שמדבר לשרת באמצעות חיבור SSL / TLS מאובטח (כלומר HTTPS), וגם מצפין את ההודעות שנשלחו והתקבלו בין משתמש לשרת על גבי החיבור המאובטח כבר , האם אעשה מהלכים מיותרים? או שמא הצפנה כפולה היא שיטה נפוצה? אם כן, מדוע?

סיבה אחת תהיה להשתמש באלגוריתם ההצפנה הכפול "ROT13" היעיל ביותר.
ייתכן שתרצה רמות הצפנה שונות - ברצונך להצפין את הודעת הטקסט של המשתמש כך שרק הנמען יוכל לקרוא אותה, ותרצה גם להצפין את הודעת הפרוטוקול הנושאת זאת, כך שרק השרת שלך יוכל לקרוא אותה.
ייתכן שיש יישומים מדור קודם שהשתמשו בהצפנה משלהם בערוצים שונים מאשר TLS מזמן. כאשר המפתחים ממירים אותם ל- TLS, הם כנראה לא רוצים להציג אפשרויות באגים חדשות על ידי הסרת שכבת ההצפנה הישנה.
@Keavon ההתקפה האולטימטיבית למפגש באמצע!
@DmitryGrigoryev איך אתה יכול להתקין מפגש באמצע ללא מפתח?
עשויה להיות דרישת אבטחה מוגדרת מראש בהצפנה של כל ההודעות ממשתמש לשרת. דרישה זו עשויה להיות גבוהה יותר או באופן כלשהו לא תואמת באופן מושלם עם HTTPS. כדי להשיג שליטה רבה יותר וכדי להיות מסוגל להצביע על פיסת קוד ש ** בדיוק ** עונה על הדרישה שהוצגה בסעיף X במפרט למסמך ביקורת זו עשויה להיות הבחירה הקלה ביותר עבור מפתח.
@immibis כיצד ניתן להחיל את ROT13 פעמיים ולהעמיד פנים שהטקסט מוצפן?
@DmitryGrigoryev - זו בדיחה _ ישנה_ על אבטחה לא יעילה בדיוק מהסיבה שאתה שואל - זה נשמע טוב אבל חסר תועלת לחלוטין.
למה תלוי בבעיה. אם הבעיה היא יירוט במעבר, ניתן לטעון ש- HTTPS מספיק. אם הבעיה היא יירוט בשתי נקודות הקצה שבהן HTTPS מסתיים, HTTPS אינו מספק הגנה. אם אפליקציה לנייד שומרת מידע רגיש והיא נפגעת, כך גם הנתונים המאוחסנים באפליקציה. אם הנתונים מוצפנים, זה מוסיף הגנה על השכבה לנתונים גם אם האפליקציה נפגעת. אני מבהיר את ניהול המפתח והדאגות כאן מכיוון שזה לא נראה הנושא, הצפנה כפולה הייתה.
@DmitryGrigoryev זה כמו לומר "ROT13 חשוף להתקפות DROWN כי אני יכול לשפוך מים לדרכי הנשימה של המקבל".
פרמטרים של בקשה יכולים להסתיים ביומני הגישה לשרת, זה עלול להיות לא רצוי ולכן הצפנתם עשויה לעזור.
קראתי איפשהו כי הצפנה כפולה של DES בעצם * מקטינה * את אבטחת ההצפנה, ולכן Triple-DES הפכה לסטנדרטית.
@Keavon Pshaw, אני עושה 10,001 סיבובים של ROT13 כך שהתוקפים צריכים לקחת יותר זמן כדי להחזיר את הטקסט הפשוט. IFNKOVHGROGHPRM!
TLS רק מצפין ממך לשרת. השרת מקבל את הטקסט הרגיל. אם היית שומר נתונים שהצפנת בקצה שלך, השרת לא יוכל לפענח את הנתונים שלך. הם יכולים לאחסן אותו רק עבורך. אז זה לא "הצפנה כפולה" להצפין בתוך TLS, מכיוון שמבחינת ההגנה עליך מפני מנהל השרת, זה בכלל לא מוצפן על ידי TLS.
בנוסף להערות אלו, והמשתמע מכך בחלק מהתשובות, SSL / TLS הוא רק _ נקודת אבטחה נקודתית ולא _ נועדה לאבטחת קצה. אמנם יש שם ניואנסים, ישות זדונית יכולה MitM לתהליך (Bluecoat למשל), לפענח את זרם ה- SSL שלך ואז להפעיל מחדש חיבור לשרת.
יש לעטוף פעמיים את התקשורת דרך מרחב לא מהימן (המכונה גם האינטרנט) באמצעות מנהרת IPSEC בתוך IPSEC אחר תוך שימוש בשתי יישומים שונים של IPSEC עם מפתחות שונים, כך שהתקפה מוצלחת נגד יישום העטיפה החיצונית רק מגלה שכבת הצפנה נוספת שהיא לא ניתן לתקיפה באמצעות אותו ניצול.
כדי להיות בטוח, כדי להיות בטוח ...
מבחינה היסטורית, אחד החוליות החלשות במכונת האניגמה, ששימשו את הגרמנים במלחמת העולם השנייה, היה כשהחליטו להצפין הכל כפול. ההצפנה השנייה הציגה דפוס שהיה גלוי למוח האנושי, מה שהופך את ההצפנה לקלה יותר לשבירה.
שקול להשתמש במנהרת VPN לתעבורת HTTPS בעת שליחת דוא"ל מוצפן PGP עם קובץ מצורף נפח אמיתי קטן המכיל גיבוי מוצפן של השרת שלך המחזיק את מסד הנתונים של המשתמשים שלך (שבו ערכים רגישים מוצפנים ולא גלויים באופן חופשי בטקסט רגיל) שבדרך כלל מאוחסן בכונן קשיח עם הצפנה בדיסק מלא. הרבה דוגמאות ל"הצפנה כפולה "לגיטימית כאן, אם כי החיים האמיתיים לעיתים רחוקות יהיו מפותלים כמו דוגמה זו המכילה לפחות שש שכבות הצפנה.
@SplashHit [triple-des] (https://en.wikipedia.org/wiki/Triple_DES) אמור היה לספק תאימות קדימה ואחורה עם DES רגיל, לא בגלל ש"שניים זה לא מספיק ".
ל- @pojo-guy יש קישור לכך?
@JDługosz ההערה על חולשת הדפוס של שימוש באניגמה להצפנה כפולה הייתה מתוך ראיון טלוויזיה עם אחד הקריפטולוגים ששרדו מצוות מלחמת העולם השנייה. לפני זמן רב אני לא בטוח שחיבורי אינטרנט היו מוצר צריכה נפוץ בזמן שראיתי את הראיון.
@JDługosz ההסבר הטכני הוא כי אלגוריתם האניגמה נוהל על ידי מכונות מונעות הילוך, ואלגוריתם הפענוח היה קרוב מספיק לאלגוריתם ההצפנה (פונקציונלית), כך ששכבת ההצפנה השנייה הייתה פענוח חלקי. מכאן הם יכלו לדעת את אורך המקשים ולהשתמש במילים גרמניות נפוצות (הנדסה חברתית) כדי לפענח סוף סוף את המסר בפועל. לדוגמא, מפתח בן 5 תווים היה כמעט תמיד "היטלר"
אולי אתה חושב כיצד רשום מפתח ההפעלה פעמיים לפני שעברת אליו לגוף ההודעה? זה היה הפגם הקריטי שאפשר לפצח אותו! זה לא היה מקודד כפול; זה חזר על עצמו באותו זרם. הצפנה ופענוח היו למעשה התהליך * אותו *, כמו ב- rot13. אז כן, אני מתאר לעצמי קידוד כפול עם אותן הגדרות לוח תקע אך הגדרת גלגלים שונה תיצור שפע של סוג מידע של מחזור בו השתמשו. אני לא זוכר את זה בהיסטוריה שקראתי.
אולי הם חוששים שהערוץ עשוי להיות מוריד בדרגה ובכך רוצים שיהיה להם בטיחות נוספת
חֲמֵשׁ עֶשׂרֵה תשובות:
Matthew
2016-03-15 14:18:08 UTC
view on stackexchange narkive permalink

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

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

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

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

כשחושבים על זה, יש סיבה לא לברר את כל השאלות האלה בנושא זרימת Stackover הכוללות הצפנה של דפדפן האינטרנט בצד הלקוח ב- JavaScript. הם הופכים חסרי תועלת לדגי-העל והחברים, ומיירטים ארוזים ארוזים מובסים בקלות (הבעיה הופכת למירוץ חימוש).
אם שכבת ה- HTTPS נפגעת באמצעות התקפת MITM, אין ספק שהצפנת ה- JavaScript בצד הלקוח תיהפך ... פחות מאובטחת.
@Joshua מה שאנשים רבים לא מצליחים להבין הוא ש- SuperFish אינה מתקפת SSL / TLS / HTTPS. זוהי התקפה על חלק חלוקת המפתחות בתשתית. כך שבמציאות כמעט כל יישום "מאובטח" של קוד מפתח ציבורי במחשב שלך נפגע.
@wizzwizz: מכאן ההתייחסות שלי למירוץ חימוש. הכלים המחודשים יביסו מיד את כל כלי הלכידה המטומטמים ואת כל הכלים שהסופר טרח לשבור, ולכן עליהם לעבור שוב. וחברות ייעודיות קטנות יכולות לדחוף עדכונים חדשים כל יום ולכן כך. חנות ה- IT שלך לא כל כך.
יש התקפות MiTM מבוססות VPN שניתן להשתמש בהן בכדי לחטט בחבילות HTTPS (באנדרואיד, לפחות, אם כי אני מניח שפלטפורמות אחרות יהיו פגיעות באותה מידה) אם יש לך גישה פיזית למכשיר הלקוח / נקודת הקצה. בתיאוריה הוספת הצפנה משלך לתערובת תביס דברים מסוג זה, כל עוד האדם אינו מסוגל לנצל את גישת הלקוח הפיזי שלו באופן המקנה לו את מפתחות ההצפנה הפנימיים שלך.
אם אתה עובד בחברה גדולה, מחלקת ה- IT שלך עשויה MITM בכוונה לבצע את חיבורי ה- SSL שלך - מספר חברות מוכרות פרוקסי ["בדיקת SSL"] (https://insights.sei.cmu.edu/cert/2015/03 /the-risks-of-ssl-inspection.html) - לרוב מדובר בהתקנת סרטי שורש "נפגעים" בהתקנים ארגוניים. כלי "בדיקה" אלה לא יוכלו לעשות דבר בכדי לפגוע בהצפנה מותאמת אישית לכל יישום.
אם אתה עובד בחברה גדולה ועוקף מסננים או בדיקת תנועה, מחלקת ה- IT שלך עשויה לבוא אחריך.
בהתבסס על @FrankFarmer, יש כיום גם אפשרות לתוספים זדוניים של דפדפנים לבצע MITM על ידי החלפת XMLHttpRequest או אחזור אבות-טיפוס בדפדפן עם ישיבה משלו על גבי גרסאות הדפדפן המקוריות ולוכדת את כל הקלט לפני שליחתם למטפל HTTPS או אחר כך.המטפל ב- HTTPS פענח את הנתונים.
Mike Goodwin
2016-03-15 14:21:02 UTC
view on stackexchange narkive permalink

HTTPS מספק הצפנה רק בזמן שההודעה עוברת ברשת / באינטרנט.

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

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

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

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

נראה כי זו תשובה ברורה יותר מדוע תרצה להצפין משהו שנשלח באמצעות SSL.
הערה להוסיף: זה גם מאפשר ללקוח לשלוט במי רשאי לפענח את החבילה הסופית. לדוגמא, עם גיבויים הנשלחים לענן. לא תצטרך לשתף את מפתח הפענוח עם ספק הענן, כלומר גם אם ספק הענן "נפרץ" או נאלץ באופן חוקי לחשוף את הנתונים שלהם, אז הלקוח הוא עדיין היחיד עם המפתחות.
Olivier Grégoire
2016-03-16 16:03:15 UTC
view on stackexchange narkive permalink

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

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

הסכימה הייתה בערך הבאה:

  נותן טיפול 1 \ / ארגון ביטוח 1 ספק שירותי 2 ---- נתב (us) ---- ביטוח ארגון 2 ספק שירותי 3 / \ ארגון מבטח 3  

הייתה לנו ההגנה הבאה:

  1. הצפנה מקצה לקצה : המטפל 1 צריך לשלוח מידע על המטופל לארגון המבטח 1. מידע זה רגיש לפרטיות ולכן צריך להיות מוצפן. ברמתנו אין לנו זכות לדעת אילו נתונים נשלחים לארגון המבטח.
  2. ספק טיפול - הצפנת נתב: נותן הטיפול שולח לנו מידע כמטא נתונים ל להיות מסוגל להתמודד עם זה. מידע זה צריך להיות מוצפן. בחוזה נכתב כי ההודעות עדיין צריכות להיות מוצפנות גם בתוך הרשת שלנו, כך שרק אחד מהשרתים שלנו יודע אי פעם את מטא הנתונים של המידע שנשלח. מכיוון שיש לנו מספר צינורות (איזוני עומסים, חומת אש וכו '), נדרש הצפנה גם ברמה זו.
  3. HTTPS כדי למנוע התקפות MITM: לא רק שהנתונים שלנו היו זקוקים. כדי להיות מוגן, אך גם את מטא הנתונים של HTTP היה צריך להגן, לכן HTTPS.

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

honze
2016-03-15 14:09:45 UTC
view on stackexchange narkive permalink

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

ההודעות המוצפנות עשויות לטפל בהצפנה מקצה לקצה ו- SSL / TLS מטפל בהצפנה של המטא-נתונים. זהו דפוס שימושי.

זה אכן עונה על השאלה, אבל זה מעט דק למה שאני מחפש בתשובה ... +1 עדיין.
pjc50
2016-03-16 17:26:04 UTC
view on stackexchange narkive permalink

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

כמה מצבים אני יכול לחשוב על החלק העליון של הראש שלי:

  • דוא"ל מוצפן דרך ספקי דואר אלקטרוני. אם אני שולח הודעה מוצפנת באמצעות GPG דרך Gmail אליה אני ניגש דרך חיבור HTTPS, היא מוצפנת פעמיים. מכיוון שאני לא רוצה ש- gmail יקרא את התוכן.

  • שירותי גיבוי מוצפנים. אני רוצה להשתמש ב- HTTPS כדי למנוע את גניבת אישורי הכניסה שלי, אבל אני לא רוצה ששירות הגיבוי יראה "בתוך" הגיבויים.

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

שים לב ש- S / MIME מספק "עטיפה משולשת" (סימן / הצפן / סימן): https://tools.ietf.org/html/rfc2634, כך שאם אתה מחשיב חתימה וכן הצפנה אפשרויות רבות יותר עשויות להיות הגיוניות .

user1361991
2016-03-16 10:36:58 UTC
view on stackexchange narkive permalink

רציתי לתת סיבה נוספת: סטנדרטיזציה.

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

ניתן להעלות טיעון בגין ביטול תמיכה בפרוטוקול http, אולם שמירה על סרטי SSL ותוכנת SSL הנוכחית הינה מסובכת ובעלת אמינות נמוכה יותר מ- http עבור הסביבה שלנו.
אני מבין את הנקודה שלך, אבל מישהו שיעשה יישום שבו אבטחה היא היבט חשוב, יאלץ HTTPS, ויבטל את HTTP, או במקרה של יישום אינטרנט, פאב ה- HTTP יהיה ריק, ורק HTTPS יתמוך.
@Lighty תאמין לי, העולם האמיתי לא פועל על פי עקרונות הגיוניים כאלה. המציאות מובילה לסיטואציות קשות בהרבה.
LJones
2016-03-16 22:29:08 UTC
view on stackexchange narkive permalink

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

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

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

אם אינך מתמודד עם סביבה כבדה ברשת. עם נתונים רגישים אז זה מוגזם.

האסטרטגיה שמאחורי שיטה זו מבטיחה שאומתו על המכשירים, הרכיבים (MAC) ו- IP. הצפנת נתונים היא הליך סטנדרטי וכך גם שליחה באמצעות HTTPS. ארגונים מסוימים חורגים מהאבטחה הבסיסית וגם דורשים רשתות דמויי רשת המשתמשות ב- Freenet, I2P, IPsec / VPN או Tor כדי להתחבר. ללא קשר להצפנה, דחיסת הנתונים תפחית את משאבי האחסון והרשת הנדרשים; עם זאת, זה יקזז את הביצועים שלך ל- RAM או לעיבוד. לבסוף, הסיבה שהתחלנו מחדש את החיבור לאחר ניתוק היא שגילינו דרך לחטוף את זרם הנתונים דרך איש-באמצע.

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

או שאתה יכול פשוט להשתמש במפתח גדול פי שניים.
Micheal Johnson
2016-03-17 18:55:50 UTC
view on stackexchange narkive permalink

ישנן מספר סיבות למשלוח נתונים מוצפנים דרך חיבור מוצפן:

  • גם אם הצפנת החיבור נשברה (למשל MitM, אפשרי אך מאתגר עם HTTPS, ומוביל ל יירוט של כל הנתונים המועברים), הנתונים עדיין מוצפנים
  • לא ניתן לסמוך על שרת HTTPS, והוא אחראי על העברת הנתונים לשרת אחר
  • באופן דומה, שרת HTTPS העבירו את הנתונים לשרת אחר באמצעות חיבור לא מוצפן, והלקוח הצפין את הנתונים לפני השידור מפחית את העומס על שרת ה- HTTPS, שאם לא כן, יהיה עליו להצפין את הנתונים מכל הלקוחות במקום להיות מסוגל להעביר אותם ישר
Falco
2016-03-17 15:01:03 UTC
view on stackexchange narkive permalink

ערפול API

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

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

דוגמאות יכולות להיות משחק מבוסס אינטרנט, שמגיש לשחקנים ציון גבוה. p>

או להבין כיצד לגשת לשיטות הניהול / משתמש-העל של המשחק.
שיטה טובה יותר לאבטחת ממשקי API היא אימות. אם יש לאמת את המשתמש באמצעות מערכת אימות חזקה כגון (למשל מפתח ציבורי) לפני שהוא יכול להשתמש בתכונות ניהוליות, אין צורך לטשטש את ה- API. באופן דומה, תכונות כמו הגשת ציונים יכולות להשתמש ב"חתימה "זמנית (יוטיוב משתמש במשהו כזה) שיש לייצר אותה לפחות פעם אחת ולהעביר אותה בכל בקשה - בעוד שניתן תמיד לעשות זאת בהנדסה לאחור, ניתן לעשות זאת מסובך מאוד ( ואפילו יכול להיות מבוסס על תוכן הבקשה, מה שהופך אותו שונה לכל בקשה).
@MichealJohnson זה לא יעזור בכלל, אם תשלח `authId = 746788553 score = 200` המשתמש רק צריך לשנות את ערך הציון דרך אדם באמצע (קל במכשיר שלו) אם אתה מטשטש, יהיה לו קשה זְמַן
אתה שולח גם 'חתימה = 21a87c7b0a6005df838b17b9aafd0dc1', כאשר 'חתימה' נוצרת על ידי אלגוריתם מעורפל (רצוי לשנות כל כמה שבועות) מ- 'authId', 'ציון' והזמן הנוכחי. אינך צריך לטשטש את העברת החתימה באמצעות שכבת הצפנה שנייה, מכיוון שלמרות שהמשתמש יודע שזו חתימה ויודע שהיא ערכה, אם הם ישנו את הציון החתימה לא תהיה תקפה יותר (מכיוון שה נעשה שימוש בחישוב) וכאשר הם עיצבו את הערפול לאחור, יש לקוות שהאלגוריתם הוחלף.
@MichealJohnson זו נקודה ממש טובה ותשיג את אותה תועלת. - אבל ההצהרה הקודמת שלך לא התאימה לזה 'שחייב להפיק לפחות פעם אחת ולעבור עם כל בקשה' נשמע יותר כמו ערך סטטי לכל מפגש, ההערה השנייה שלך טובה בהרבה
אמרתי "לפחות פעם אחת", ופירוש הדבר "עשוי לדרוש ייצור מחדש, אולי לכל בקשה". נלחמתי גם עם מגבלת האופי בתגובות.
Alexander
2016-03-20 16:53:03 UTC
view on stackexchange narkive permalink

אם הבנתי נכון, רשת Tor עובדת כך:

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

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

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

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

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

Lie Ryan
2016-03-21 04:23:00 UTC
view on stackexchange narkive permalink

הסיבה העיקרית להצפנה מרובת רמות היא הפרדת דאגות.

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

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

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

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

Chloe
2016-03-21 07:27:09 UTC
view on stackexchange narkive permalink

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

זה לא ממש הצפנה כפולה;זה רק (בעיקר) כיצד נגזר מפתח ההפעלה, מוסכם עליו או משותף.ביסודו של דבר, אם מפתח ההפעלה נגזר בצורה כזו שמי שיש לו תיעוד מלא של הטקסט הפשוט של כל הנתונים שהועברו הלוך ושוב במהלך החלפת המפתחות לא יוכל ליצור מחדש את מפתח ההפעלה מאוחר יותר, אז יש לך PFS;אם מישהו עם רשומה כזו יכול ליצור מחדש את מפתח ההפעלה, אז אתה לא.PFS נורא נחמד שיש, אבל זה (פוטנציאלי) פותר בעיה שונה מאוד, כפי שמעידים דוגמאות למתווך * נקודות קצה * לא מהימנות.
Alex KeySmith
2016-03-17 20:32:48 UTC
view on stackexchange narkive permalink

כדי להימנע מבעיות עם תאימות PCI, כאשר היזם מעוניין להשתמש בשער התשלומים ומציב את הציות על הצד השלישי.

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

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

דוגמה עם שער התשלומים של עץ המוח: https://www.braintreepayments.com/blog/ הצפנה בצד הלקוח /

מדוע -1? הוספתי מסמך לדוגמה לגיבוי המקרה שלי.
נתוני הטופס עדיין יכולים להיחשב כ"הודעה ".
אני בהחלט לא מציע הצפנת לקוח בלבד! זה נוסף על HTTPS!
זוהי דוגמה ליישום סביר למדי, למעשה.
תודה @Xander כן אני מניח שהתשובה שלי כנראה נקראה נכון על ידי אנשים בהתחלה רק הצפנה בצד הלקוח (דבר רע מאוד ברור!)
Shelvacu
2016-03-18 09:15:11 UTC
view on stackexchange narkive permalink

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

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

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

אתה מניח שההצפנות הכפולות אינן מתקשרות באופן שמשמעותו שהשילוב קל יותר להפסקה מאשר אלגוריתם בפני עצמו. האם יש לך הוכחה לכך?
@MartinBonner [לא, אני לא] (http://crypto.stackexchange.com/questions/33797/can-double-encrypting-act-in-a-way-that-means-the-combination-is-easier- לשבור)
זה נראה לי הנחה סבירה - אבל זה מריח לפתח אלגוריתם קריפטו משלך (גם אם זה מאבני בניין מכובדות).
כן, הוכח ששילוב נכון של שני סייפרים יהיה חזק לפחות כמו הטוב מבין השניים. אם המעברים נפרדים (לא משולבים), ניתן להשתמש במעבר מיזוג אמצעי למניעת מטא-נתונים של מנות "טקסט רגיל ידוע" מהסייפר החיצוני.
@JDługosz מה ההגדרה שלך צופן? האם ROT13 נחשב?
כפי שמוגדר ב [ספר זה] (http://www.amazon.com/Cryptography-Engineering-Principles-Practical-Applications/dp/0470474246) בפרט, המסביר את העיקרון בפירוט. כן, rot13 מתאים ל- * cypher stream * בהגדרה הכללית ביותר. חזרה על מקשים ומפתחות טריוויאליים תיפסל אם תשתמשו [בהגדרה] (https://en.wikipedia.org/wiki/Stream_cipher) שדרשו זרם מפתח פסאודורדי עם תקופה ארוכה. ...
... אבל תסתכל על [סלט קיסר ^ h ^ h ^ h ^ h ^ hCypher] (https://en.wikipedia.org/wiki/Caesar_cipher) כדי לראות שהוא בדרך כלל חל על [כל דבר] (https: / /en.wikipedia.org/wiki/Substitution_cipher)
Jakuje
2016-03-20 14:03:15 UTC
view on stackexchange narkive permalink

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

כל "בחור מסירה" מפענח רק את המעטפה כדי לברר את איש המסירה האחר. התקשורת במקרה זה נעטפת ומוצפנת ב- proxy של SOCKS.



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