כלי פרטיות חינמי
מחולל משפטי סיסמה
ארבע מילים שנבחרו בקוביות מנצחות החלפות אותיות מתוחכמות, ואפשר לבדוק את הטענה הזו ממש כאן. המילים מגיעות מהרשימה הגדולה של EFF, שמוגשת מהאתר הזה. כל מילה נשלפת עם מחולל האקראיות הקריפטוגרפי של הדפדפן שלכם, או מקוביות פיזיות משלכם אם אתם מעדיפים. מתמטיקת האנטרופיה נמצאת בטבלה למטה. שום דבר לא נשלח ושום דבר לא נשמר. צרו עד שתמצאו אחד שאתם מסוגלים לזכור.
נוצר בדפדפן שלכם. שום דבר לא נשלח, שום דבר לא נשמר.
…
ההעתקה שמה אותו בלוח העריכה שלכם. הדביקו אותו במקום שהוא שייך אליו, ואז העתיקו משהו אחר. מנהלי לוח עריכה ו-Universal Clipboard יכולים לשמור או לסנכרן את מה שאתם מעתיקים.
טעינת רשימת המילים נכשלה. טענו מחדש את העמוד כדי לנסות שוב. בלעדיה אי אפשר לייצר כלום.
הטילו חמש קוביות אמיתיות לכל מילה, או קובייה אחת חמש פעמים. אותן הטלות תמיד נותנות אותן מילים. האקראיות היא שלכם, עשויה מפלסטיק, והעמוד הזה הופך לטבלת חיפוש.
הקישו על כל הטלה כשאתם מבצעים אותה, או הקלידו את הספרות במקום.
אין כאן במה לתת אמון: העמוד לא תורם שום אקראיות במצב הזה. בדקו כל מילה ביד ב קובץ רשימת המילים הגולמי.
מתמטיקת האנטרופיה למטה מניחה קוביות הוגנות והטלות כנות. עם קוביות אמיתיות, את החלק הזה עליכם להבטיח, לא עלינו.
מפרידים ואותיות גדולות הם דפוסים קבועים שמניחים שהתוקף מכיר, ולכן הם מוסיפים +0 ביט. בחרו אותם לנוחות הקלדה, לא לחוזק.
הספרה נשלפת אקראית ומוסיפה +3.3 ביט. אמיתי, אבל רק בערך רבע ממילה נוספת אחת.
האפשרות ״הוספת ספרה״ כבויה כאן: היא הייתה מגיעה מהאקראיות של הדפדפן, וזה בדיוק מה שמצב הקוביות קיים כדי להימנע ממנו. הוסיפו ספרה משלכם אחרי ההעתקה אם אתר דורש אחת.
כל שינוי שולף משפט סיסמה חדש. האפשרויות לעולם לא מעבדות מחדש את זה שעל המסך.
במצב קוביות ההטלות שלכם קובעות את המילים. המפריד והאותיות הגדולות רק מעצבים מחדש את אותו משפט במקום לשלוף חדש.
המתמטיקה, על השולחן
log₂(7,776) = 12.925 ביט למילה · זמן פיצוח חציוני = צירופים ÷ 2 ÷ קצב ניחושים
אותם קצבים להמחשה ואותה נוסחת חציון כמו במחשבון זמני הפיצוח של ה-PIN. שני העמודים נועדו להיקרא זה לצד זה.כמה זמן קוד ה-PIN שלכם יחזיק? להשוואה →
הספירה מניחה שהתוקף מכיר את כל השיטה (רשימת המילים, המפריד, הדפוס) וחסרות לו רק המילים שלכם. זו הדרך התקנית והכנה למדוד.
הזמנים האלה מניחים שמשפט הסיסמה נוצר אקראית (זה מה שהעמוד הזה נועד לו) ולא נעשה בו שימוש חוזר בשום מקום שדלף.
מאיפה מגיעה האקראיות
במצב דפדפן, המילים נשלפות עם crypto.getRandomValues, מחולל האקראיות הקריפטוגרפי של מערכת ההפעלה ואותו מקור שמנהלי סיסמאות מסתמכים עליו. דגימת דחייה מסירה הטיית מודולו. בכוונה לא הוספנו שלב של ״הקישו על כמה ריבועים לאנטרופיה נוספת״. הקשות אנושיות מוטות ושוות כמה ביטים במקרה הטוב. הדבקה שלהן על CSPRNG הייתה רומזת שה-CSPRNG זקוק לעזרה. הוא לא, ותיאטרון אינו אבטחה.
אם אתם מעדיפים לא לתת אמון באקראיות של העמוד הזה בכלל, בשביל זה קיים מצב הקוביות: אתם מטילים, העמוד מחפש, והחיפוש ניתן לבדיקה ביד. זה טקס ה-diceware המקורי, והסיבה שרשימת המילים מגיעה עם קודי קוביות בעמודה הראשונה שלה.
שאלות נפוצות, בכנות
למה ארבע מילים אקראיות מנצחות את ״P@ssw0rd!״?
מפצחים לא תוקפים אותיות, הם תוקפים דפוסים. ״P@ssw0rd!״ היא מילה מהמילון עם בדיוק ההחלפות שכל כלי פיצוח מנסה קודם. החוזק האמיתי שלה הוא שבריר קטן ממה שהיא נראית. ארבע מילים שנבחרו בקוביות נושאות 51.7 ביט של אקראיות אמיתית: כ-3.7 קוודריליון אפשרויות שוות-הסתברות. שום ריצה של רשימת מילים עם כללים לא יכולה לקצר את זה. אקראיות מנצחת תחכום, ויותר מילים הן מה שמגדיל אותה.
האם בטוח לייצר משפט סיסמה בלשונית דפדפן?
העמוד הזה שולף את האקראיות שלו מ-crypto.getRandomValues, קורא רשימת מילים שמוגשת מהאתר הזה, ולא מבצע שום בקשות רשת בזמן הייצור. אפשר לאמת את זה בכלי הפיתוח. ההסתייגויות הכנות נמצאות מחוץ למתמטיקה. המשפט קיים בזיכרון של הלשונית הזו, ובלוח העריכה שלכם ברגע שהעתקתם אותו. צרו כמה שתרצו. התייחסו לזה שאתם שומרים כמו לסוד שהוא הרגע הפך להיות.
מהי בדיוק רשימת המילים?
הרשימה הגדולה של EFF: 7,776 מילים שנבחרו לזכירות ולקידומות ייחודיות. 7,776 = 6⁵, ולכן כל מילה שווה להטלה אחת של חמש קוביות. בחירה עם CSPRNG היא הגרסה הדיגיטלית של אותו טקס. העותק באתר הזה זהה בית אחר בית למקור של EFF (SHA-256 שמתחיל ב-addd3553…, תיעוד המקור מפורסם לצד הקובץ). אין CDN מעורב.
האם האפשרויות הופכות אותו לחזק יותר?
ברובן לא, והתוויות אומרות את זה. מפרידים ואותיות גדולות הם דפוסים קבועים, ששווים +0 ביט מול תוקף שמכיר את השיטה. הספרה שנוספת נשלפת אקראית ומוסיפה +3.3 ביט: אמיתי אבל קטן. האפשרות היחידה שבאמת מגדילה את החוזק היא מספר המילים. כל מילה נוספת מכפילה את מספר האפשרויות ב-7,776.
ומה אם אני לא סומך על האקראיות של העמוד הזה?
אז אל תשתמשו בה. עברו למצב קוביות והביאו משלכם. חמש הטלות של קובייה אמיתית בוחרות כל מילה. העמוד רק מחפש את הקוד בקובץ רשימת המילים הציבורי, ואת זה אפשר לעשות ביד כדי לבדוק. בטבלת חיפוש אין שום דבר ש״אפשר לנחש״. מצב הדפדפן נשאר המסלול הנוח: crypto.getRandomValues הוא ה-CSPRNG של מערכת ההפעלה, אותו מקור שמנהלי סיסמאות מסתמכים עליו.
רשימת המילים, ניתנת לאימות
האתר הזה מגיש את רשימת המילים הגדולה של EFF זהה בית אחר בית למקור (SHA-256 addd35536511597a02fa0a9ff1e5284677b8883b83e986e43f15a3db996b903e), מאומת מול שני מראות חבילות עצמאיים וסכום ביקורת שתועד בפומבי. הקובץ והערת המקור שלו פתוחים:
איך זה עובד
כל מילה נבחרת בדגימת דחייה על ערכי 32 ביט מ-crypto.getRandomValues (בלי הטיית מודולו) מול הרשימה בת 7,776 הערכים. הספרה האופציונלית נשלפת באותו אופן. במצב קוביות ההטלות שלכם מחליפות את הדגימה לגמרי. כל קבוצה בת חמש ספרות מצביעה על מילה אחת בעמודת קודי הקוביות של הקובץ, והעמוד לא מוסיף שום אקראיות משלו. הייצור קורה כולו בלשונית הזו: אפס בקשות בזמן הייצור, שום דבר לא נשמר בשום מקום. זמני הפיצוח הם חציונים (חצי ממרחב המפתחות) בקצבים המוצהרים להמחשה.
מילים חזקות כאלה ראויות לדלת מוצקה כזו.
Sealby נועל כל כספת עם ה-PIN או משפט הסיסמה שלכם שעוברים דרך Argon2id שמכוילת על המכשיר שלכם. המסלול האיטי שלמעלה הוא זה שתוקף באמת מתמודד איתו. התמונות שלכם, מאחורי המילים שלכם.
iPhone ו-iPad · iOS 17+ · חינם