שְׁאֵלָה:
האם הצפנה בשכבות מאובטחת יותר מסיסמאות ארוכות?
luchonacho
2019-02-19 19:17:06 UTC
view on stackexchange narkive permalink

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

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

  1. אני מחיל הצפנה סימטרית על קובץ נתון, באופן הבא:

      gpg --symmetric --cipher-algo AES256 my_file.txt  

    אליו אני מוסיף את הסיסמה "mydogisamazing"

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

      gpg --symmetric --cipher-algo AES256 my_file.txtgpg --symmetric --cipher-algo AES256 my_file .txt.gpggpg --symmetric --cipher-algo AES256 my_file.txt.gpg.gpggpg --symmetric --cipher-algo AES256 my_file.txt.gpg.gpg.gpg  

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

האם אפשרות 2 מאובטחת יותר מאשר אפשרות 1? לא יודע כמעט כלום על אבטחת הצפנה, נראה לי שכן, כי כל מי שרוצה לפרוץ יצטרך להפעיל אלגוריתם סיסמאות כלשהו ארבע פעמים, ואילו באפשרות 1 האלגוריתם צריך להיות מופעל פעם אחת בלבד. מה אם נעשה שימוש ב chiper-algo במקום באותו?

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

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

אם היית משחק בהנגמן, מה יהיה קשה יותר?מנחש את המילה אות אחת בכל פעם, או מנחש את המילה כולה בכל פעם?
יש כאן שתי שאלות נפרדות: האחת עוסקת בהצפנה מספר רב של פעמים, והשנייה היא כיצד ליצור סיסמאות.רבות מהתשובות נאספות אך ורק על הדרך בה אתה מרכיב את הסיסמה שלך.אם היית משתמש בסיסמאות אקראיות ארוכות בדוגמאות שלך, אני חושב שתקבל תשובות אחרות לגמרי.אני ממליץ לערוך את שאלתך כדי להבהיר איזו נקודה אתה מנסה להבין.
אני מקבל את הרושם _כל_ התשובות מתמקדות במקרה הספציפי שבו תרחיש 2 משתמש בסיסמה _ חלשה_ לכל 'שכבה' וחסר את הנקודה הגדולה יותר האם כל שכבה יכולה, לפחות באופן עקרוני, להיות מאובטחת יותר.לדוגמא, האם משהו ישתנה אם נניח כי נעשה שימוש בסיסמת אקראית / אנטרופיה גבוהה עבור כל 'שכבה' נוספת, מכיוון שבמקרה זה לא ניתן לסמוך על האנלוגיה 'תלוי'?ההנחה היא שהתוקף אינו יודע כמה שכבות יש.
@MobyDisk התרחיש הבסיסי שלי נועד להיות בדיוק זה, נקודת מוצא שאפשר לשקול אחרים.חשבתי שזו נקודת ההתחלה הטובה ביותר.נראה רק מובן מאליו ששימוש בארבע שכבות מורכבות תמיד טוב יותר מאשר שימוש בשכבה מורכבת אחת בלבד.בכל מקרה עדכן את השאלה.
הייתי חושב שהעובדה שיש לך קובץ בשם '.... txt.gpg.gpg.gpg' תהיה רמז חזק לכך שהקובץ הוצפן 4 פעמים.מידע זה ידוע כעת וארבע הסיסמאות הקצרות שלך יהיו מהירות יותר לפיצוח (אפילו בכוח אכזרי) מאשר סיסמה ארוכה אחת.
ראה גם את [Rule of Two] של ה- NSA (https://en.wikipedia.org/wiki/Multiple_encryption#The_Rule_of_Two) מתוך פתרונות מסחריים לתכנית מסווגת (CSfC).זה כמובן לא GPG.בדוגמה שלך זה כנראה לא עומד בקריטריונים מכיוון שכל שינויי ההצפנה מתרחשים בשכבת היישום.
נניח שאתה יודע לבחור מנעול דלת כללי / משותף.עכשיו, מה קשה יותר: לבחור את המנעול המשותף של 5 דלתות שונות או לבחור את המנעול של דלת אחת שתוכנן להיות הרבה יותר קשה / מסובך ממה שהתרגלת אליו?
@RaduMurzea אנלוגיות לדלת יכולות לקחת אותך רק עד כה.להגיע למסקנה לגבי בחירת דלת ואז העברת זה לאבטחת המחשב אינו בהכרח תקף.לדוגמא, אם אני רוצה לעבור דלת במהירות ולא אכפת לי להיתפס, אני יכול פשוט להשתמש בפטיש.אין מקבילה באבטחת המחשב.גם כשאנחנו מדברים על "כוח אכזרי" זה המקבילה לנסות כל מפתח אפשרי עד שתמצא אחד שעובד.
שבע תשובות:
Sjoerd
2019-02-19 19:32:38 UTC
view on stackexchange narkive permalink

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

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

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

בנוסף, גם אם הנחתם כי לא ניתן להבחין בפענוח נכון בין פענוחי ביניים באופן אקראי, עד שיש לכם את כל הסיסמאות הנכונות (מה שמקשה על ניחוש סיסמאות חלקיות), הוא עדיין חלש יותר עקב התקפות פגישה באמצע.
"GPG מציעה כמעט אבטחה מוחלטת, ויישומה פעמים רבות יותר אינו משפר את האבטחה."נשמע לא אינטואיטיבי.אני עדיין לא ממש מבין למה.ארבע חידות הן בוודאי קשות יותר לפתרון מאשר רק אחת.
@luchonacho הסיבה היא שאתה מכפיל רק את האבטחה לכל היותר, היא לא מוגברת באופן אקספוננציאלי.אולם כל תו אקראי נוסף בסיסמה עושה יותר מכפול מהקושי לפצח את הסיסמה.
@luchonacho יש קנה מידה שאתה פשוט לא מבין - 4 לעומת 1 נשמע טוב, אבל 4 הם קטנים בהרבה מ- 1. בהנחה שסתם אלפבית קטן, יש 26 ^ 8 סיסמאות אפשריות של 8 אותיות.אם אני צריך לנחש ארבע סיסמאות באורך של 2 אותיות, 26 ^ 2 ^ 4 הוא המקרה האידיאלי - לא ניתן להבחין בין פסיעות ביניים בין פסולת.התקפות מפגש באמצע גורמות לכך שגם "המקרה הטוב ביותר" הזה של צורך לנחש את אותו מספר סיסמאות לוקח פחות זמן על ידי אחסון ערכי ביניים.[לוויקיפדיה] (https://en.wikipedia.org/wiki/Meet-in-the-middle_attack) יש הסבר טוב יותר.
@Natanael גודלוק עם הרביעי של השכבות האמצעיות להתקפה במפגש באמצע.כמו כן, ויינר הראה כי הצפנה כפולה בטוחה יותר מהסינגל כמובן שלא פי 2.
האם יש תוכניות הצפנה בהן אינך יכול לאשר אם ניחוש היה נכון?אני מתאר לעצמי שיכולתי לאשר ניחוש שהיה נכון כשפענוח AES קשור לריפוד.
אם הייתי מצפין את ההצפנה בשכבה כזו, הייתי מסדר כך שרק בשכבה הפנימית ביותר יהיה MAC;לא משנה איזו סיסמה מוזנת, השכבות החיצוניות מפענחות למשהו.האם זה משנה את התוצאה?
@Vaelus כן, כל תוכנית ללא ריפוד או אימות.למשל, כל צופן זרמים משתמש ללא כל אימות.אתה יכול לנחש סטטיסטית רק על ידי הערכת מידת הסבירות שהטקסט הרגיל של המועמד יופיע באופן אקראי.גם עם כותרות קבצים ידועות, קיים סיכוי סטטיסטי לחיובי שווא.סביר עוד יותר שככל שהטקסט הפשוט יותר קצר יחסית למפתח.
@Joshua זה מונע לתקוף את הסיסמאות בנפרד, אך ההתקפה לפגוש באמצע נותרה
Esa Jokinen
2019-02-19 20:01:02 UTC
view on stackexchange narkive permalink

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

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

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

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

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

ראוי לציין: התרחיש הקבוצתי המפוצל מושג בצורה צדדית יותר באמצעות [השיתוף הסודי של שמיר] (https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing).
ניתן לעשות את שני התרחישים באותה מידה באמצעות משפט סיסמה יחיד?אתה שולח 3 חלקים והם צריכים לשלב ביניהם?
גם זה נכון.
שיתוף סודי של @Falco עמיד יותר בפני אכזריות עם סיסמא ידועה חלקית
כמה מקרי שימוש מציאותיים יותר: ניתוב בצל, ניהול מפתח וצורות אחרות של חלוקת אמון.
תודה, @Kevin.ניתוב הבצל הוא דוגמה כל כך טובה שהוספתי אותו לתשובה שלי.
@Natanael אתה יכול להסביר את החלק הזה?מרבית התשובות כאן מצביעות על כך ששכבות הצפנה מרובות עם חלק מסיסמא נוטות למעשה להתקפות כוח אכזריות.להצפנה פשוטה סיסמה ידועה חלקית פשוט מצמצמת את אורך הסיסמה, שום דבר אחר.התוצאות צריכות להיות זהות לחלוטין לגבי כוח אכזרי?
אם אינך יודע את סדר המילים והן אורכות משתנות, זה מקטין את אורך הסיסמה, אך פחות מאשר פשוט להסיר את אותה כמות תווים.
תוכניות שיתוף חשאיות של @Falco ייחודיות במקרה זה מכיוון שהן משתמשות במידע נוסחאות מאובטחות באופן תיאורטי, כאשר פחות מניות מהסף דורש אינו מגלה דבר.בינתיים כל חלק מסיסמה שאתה רוכש מקטין את הקושי לנחש את השאר.
@Natanael אתה כמובן צודק לאלגוריתמים של שיתוף חשאי בפועל.אמנם הצפנה שכבתית פשוטה כפי שמתאר ה- OP, או כפי שתשובה זו מתארת אינה אלוגריתם של שיתוף סודי עם מאפיינים אלה.
Muzer
2019-02-19 22:38:06 UTC
view on stackexchange narkive permalink

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

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

איסוף IVs מרשת אלחוטית מוגנת על ידי WEP הוא מצב אמיתי שעובד באופן דומה לסצינות הסרט ההוליוודיות הללו.כמו כן, זה לא קשור לחוזק הסיסמה, אלא נראה מגניב על המסך.
@EsaJokinen הסכים, אך מכאן "למערכת מאובטחת למדי" - פרטיות מקבילה קווית את התחת שלי!
זה שווה ערך לאפס פרטיות.
_ הפעלת מתקפה מילונית טריוויאלית לא תגלה את סיסמתך "mydogisamazing". ובכן, על פי https://haveibeenpwned.com/, "mydogisamazing" הופיע שלוש פעמים כבר בהפסקות סיסמאות ...
@Dubu התנצלויות, התכוונתי במונחים של התקפה נגד מילון אנגלי סטנדרטי כמו / usr / share / dict / מילים.הייתי צריך להבהיר שם את כוונתי.בכל מקרה, mydogisamazing היא סיסמה גרועה.לא התכוונתי לקחת את זה בשום דרך אחרת.
@Muzer מה עם thedingoisamazingo?האם זה טוב?
@Džuris זה כנראה טוב יותר מהכלב אבל עדיין לא נהדר.באמת אם אתה מייצר סיסמאות ממילים מרובות באנגלית הן לא צריכות ליצור משפט קוהרנטי כזה.באופן אידיאלי רוב הסיסמאות שלך יהיו מחרוזות שנוצרו באופן אקראי על ידי מנהל סיסמאות.
@Muzer אבל להתקפה המסוגלת לזהות ביטויים, היא חייבת להיות מושגית ראויה לגבי משפטים הגיוניים, שכנראה דורשת מעט למידת מכונה.האם כלים לפיצוח סיסמאות הם מתוחכמים?
@Muzer רק תזכורת למקרה שפספסת את התגובה שלי למעלה.
@luchonacho יצירת משפטים בסיסיים קצרים היא די קלה למעשה: צור רשימות נפרדות עבור שמות עצם, פעלים וכו ';ואז נסה שילובים כמו שם-פועל-שם-עצם.המשפטים לא כולם הגיוניים, אבל אם כולם היו משתמשים בביטויים ולא במילים אקראיות, היית מקבל שיעור פגיעה גבוה יותר מאשר לנסות כל צירוף מילים.אין לי מושג אם כלי פיצוח * משתמשים * בגישה זו, אך הם בהחלט * יכולים *.
@luchonacho מצטער, התשובה האמיתית היא אני לא יודע, אבל התשובה המעשית היא שמישהו במוקדם או במאוחר יתקל באותו משפט קצר כמוך, אלא אם כן זה ממש לא הגיוני, ובמקרה זה במוקדם או במאוחר זהתופיע בתיק הפרות!
AnoE
2019-02-19 23:03:44 UTC
view on stackexchange narkive permalink

נקודת מבט נוספת למה שאמרו האחרים (שלניחוש מילים בודדות פי 4 הוא הרבה פחות יקר מאשר ניחוש שילוב של 4 מילים בבת אחת):

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

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

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

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

"אם יישום AES 4 פעמים יגביר את האבטחה, אז AES * כבר יעשה את זה *."לא באמת.האבטחה של כל צופן בעצם תוגדל מעט אם תכפיל את ספירת הסיבוב ב -4, אך בדרך כלל לא כדאי להחליף ביצועים לעשות זאת.
@JosephSible: הטיעון הוא זה: איננו יכולים להכריע כוח AES * 1.כן, אם וכאשר יש לנו מספיק כוח מחשוב בכוח AES * 1, אז ביצוע AES * 4 (או AES ^ 4 ...) יעזור שוב (אם לא נוכל לחשוב על משהו טוב יותר עד אז).כך שהרווח הביטחוני המציאותי והמעשי של AES * 4 הוא אפסי.
לא מדובר רק בכוח אכזרי.יש הרבה התקפות שיכולות לשבור גרסה עגולה מופחתת של AES, אך אינן עובדות מעל ספירת סבבים מסוימת.זה אפשרי לחלוטין שהתקפה על ה- AES המלא של היום תתגלה בעתיד, אך שהיא תפסיק לעבוד על, למשל, AES בן 20 סיבובים.
@JosephSible אך האם AES מרובה סיבובים זהה להפעלת AES מספר פעמים?אני לא יודע במקרה זה, אבל ההבנה שלי היא שאלגוריתמים כאלה חוזרים לרוב רק על חלק באלגוריתם.זו עשויה להיות הבחנה חשובה, ודוגמה טובה לעצות "אל תגלגל בעצמך" בתשובה זו: אם האלגוריתם תומך בפרמטר "עגול", אל תהסס להגדיר אותו גבוה;אם לא, אל תמציא אחת ללא ניתוח נכון של ההשלכות.
ShadowRanger
2019-02-20 09:02:32 UTC
view on stackexchange narkive permalink

נקודת נגד קטנה לתשובות האחרות: שכבות רבות יותר מבחינה טכנית פחות מ אם ורק אם כל שכבה בודדת מאובטחת לפחות כמו השכבה המשולבת שעשויה להיות אחרת עשו משילוב הסיסמאות המשמשות לכל שכבה בודדת. במקרה שלך השתמשת באלגוריתם צופן של AES256. ביסודו של דבר, פירוש הדבר שלא משנה כמה הסיסמה שלך מסתבכת, יש לך לכל היותר 256 ביט ביטחון (לא משנה ש 256 ביט ביטחון הוא למעשה בלתי שביר ללא הפסקה משמעותית ב- AES, נעמיד פנים שהוא נשבר ברמה כלשהי). / p>

לכן, כל ביטים לאנטרופיית סיסמאות מעבר ל -225 מבוזבזים; אם הסיסמה מורכבת מדי, הם יכולים פשוט לאלף את מפתח ה- AES באופן ישיר ולדלג על גזירת המפתח המבוססת על סיסמה לחלוטין. אז אם הגעת לאבטחה המרבית ששכבה יכולה ליהנות ממנה, בתיאוריה , הפיכת שכבה נוספת משאר הסיסמה תהיה "מאובטחת יותר".

בעיות עם זה בפועל:

  1. אתה ("כולם בעולם" אתה) רע לבוא עם סיסמאות
  2. גם כשאתה מעלה סיסמה ראויה , אין לה כמעט 256 ביט אנטרופיה (או שאתה תשכח אותה)
  3. AES256 נחשב בלתי שביר לכל המטרות המעשיות, כך שכבת הצפנה אחת עם סיסמה מורכבת דיה כבר בלתי שבירה; שכבה שנייה רק ​​מריצה את התוצאה. אם מישהו מסוגל לשבור שכבה אחת, זה כנראה בגלל שזוהתה חולשה מהותית שהופכת את שבירת שתי שכבות לקלה באותה מידה.

אז בטוח, תאורטית יותר בטוח לומר, הצפן פעם אחת עם הסיסמה Pi} t) HawiFo _% - p) R) dxbcpsUA; pyaCQXOXc7? o? ואז שוב עם הסיסמה >YPou2Lg1B8be! G # Lgfor; G; H * $ xzbX74fuw_yw3 , שלכל אחד מהם 256 ביטים של אנטרופיה (שנוצרו בפייתון עם base64.b85encode (os.urandom (256 // 8)) קוד>) במקום להצפין פעם אחת עם הסיסמה המשולבת Pi} t) HawiFo _% - p) R) dxbcpsUA; pyaCQXOXc7? o? >YPou2Lg1B8be! g # Lgfor; G; H * $ xzbX74fuw_yw3 איזה 512 פיסות אנטרופיה, אך עדיין מייצרות 256 ביטים של הגנה (מכיוון שמפתח AES256 נותר תקף ישירות). אך מכיוון שהיתרון הנקי בכך הוא רק תוסף, כל מה שאתה עושה הוא להגדיל את עבודת ההתקפה מ- 256 סיביות עבודה לשכבה אחת ל -257 סיביות עבודה לשניים (או 258 סיביות לארבע). אתה מרגיש יותר בטוח, אך בפועל אתה פשוט מבזבז משאבים על השכבות הנוספות שלא ממש מגנות עליך.

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

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

היזהר בהנחה ששילוב אלגוריתמי הצפנה (עצמאיים) במפל מגביר (או לפחות משמר) את האבטחה.זה תלוי במאפייני האבטחה שאחריהם אתה לא יכול להיות מוקדם יותר. יש תחום מחקר שלם על שילוב הצפנות כדי להפוך אותו לחזק יותר.https://blog.cryptographyengineering.com/2012/02/02/multiple-encryption/ אבל בדרך כלל עדיף לכם להתחיל עם בחירה טובה אחת קונבנציונאלית.
walen
2019-02-20 15:25:04 UTC
view on stackexchange narkive permalink

כל מי שרוצה לפרוץ יצטרך להפעיל אלגוריתם סיסמאות כלשהו ארבע פעמים, ואילו באפשרות 1 האלגוריתם צריך להיות מופעל פעם אחת בלבד.

ונראה שאתה חושב שהאפשרות הראשונה תארך הרבה יותר זמן, נכון? בואו נראה.

  • נניח שלכלי השירות לפיצוח סיסמאות לוקח 1 אלפיות השנייה כדי לבדוק כל שילוב תווים יחיד.
  • אורכו של mydogisamazing הוא 14 תווים. . המספר הכולל של צירופים של 14 אותיות קטנות הוא 26 ^ 14 = 64,509,974,703,297,150,976 צירופים. אז, 64,509,974,703,297,150,976 ms כדי לבדוק את כולם.
  • אורכי שלי , כלב , הוא ו- מדהים הם 2, 3, 2 ו- 7 תווים בהתאמה. המספר הכולל של צירופים של 2, 3 ו -7 אותיות קטנות הוא 26 ^ 2 (676), 26 ^ 3 (17,576) ו- 26 ^ 7 (8,031,810,176). זה 8,031,829,104 אלפיות השנייה כדי לנסות כל אחת מהן.

לפיצוח כל ה 4 סיסמאות קצרות יותר ייקח ל 93 ימים ואילו פיצוח רק ה סיסמה הארוכה תארך יותר מ 2 מיליארד שנים

.

ניסיתי לשמור על הפשטות. אני משתמש רק באותיות קטנות; בהנחת זמנים במקרה הגרוע ביותר כאילו הסיסמה הייתה zzzzzzzzzzzz ; התעלמות מהתקפות מבוססות מילון וכללים, עיבוד מקביל ו- GPU מבוסס וכלים מבוזרים; להשליך את הזמן שנדרש לבדיקת צירופים קצרים יותר לפני ארוכים יותר וכו '. ב- Real Life ™ סיסמאות של מילה אחת היו נסדקות כמעט באופן מיידי מכיוון שהן משתמשות במילים נפוצות. sub>

אני * חושב * המתמטיקה עשויה להזדקק להתאמה.בכדי לאכוף סיסמה באורך של 2 תווים, כנראה שתעבור גם אפשרויות של תווים בודדים.בהתחשב בהנחותיך, המספר המרבי של ניסיונות לפצח סיסמה בת שתי תווים יהיה (26 ^ 1 + 26 ^ 2) = 702.
@catanman כבר התייחסתי לזה בהערת השוליים.
gnasher729
2019-02-24 17:19:04 UTC
view on stackexchange narkive permalink

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

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

ותוכנת הצפנת ה- DVD של 40 סיביות התבררה כמורכבת ממפתח אחד של 25 סיביות ומפתח של 16 סיביות. המפתח של 40 סיביות היה באותה עת קרוב לבלתי אפשרי לפיצוח, אך ניתן היה לפצח את מקש ה -25 וה -16 סיביות בזמן סביר ביותר.



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