מרכז אמון
שיטת אבטחה ויצירה
פרטים טכניים, גבולות איום, טיפול באקראיות ובדיקות ניתנות לשחזור עבור מחולל הסיסמאות.
מקור האקראיות
המחולל מבקש ערכים חזקים מבחינה קריפטוגרפית מ-crypto.getRandomValues(). הוא לעולם אינו משתמש ב-Math.random(), שהפלט שלו אינו מיועד לשימוש קריפטוגרפי. מפרט Web Crypto מתאר CSPRNG המוזרע באנטרופיה איכותית, המסופקת בדרך כלל על ידי מערכת ההפעלה. הדפדפן ומערכת ההפעלה בוחרים את הספק הבסיסי; PwdGen אינו טוען שכל קריאה קוראת ישירות ממקור אנטרופיה חומרתי של המעבד.
אינדקסים אקראיים משתמשים ב-rejection sampling. ערכים מעל הכפולה השלמה הגדולה ביותר של גודל האלפבית נמחקים לפני פעולת המודולו, תוך הימנעות מהטיה שמיפוי ישיר של randomValue % alphabetSize היה יוצר.
כיסוי תווים וערבוב
המחולל בוחר תחילה תו אחד מכל מקור מופעל. הוא ממלא את המיקומים הנותרים מהמאגר המשולב ולאחר מכן מבצע ערבוב Fisher–Yates מונחה קריפטוגרפיה. מסננים לתווים דומים ומעורפלים מוחלים לפני הבחירה.
זרימת נתונים
ערכים שנוצרו קיימים רק בזיכרון הדף הנוכחי ובצמתי התוצאה הנראים. הם אינם נכתבים לכתובות URL, עוגיות, אחסון מקומי, אחסון הפעלה, יומני שרת או ארטיפקטים של בנייה. העדפת השפה היא העדפת היישום היחידה המאוחסנת באחסון מקומי ובעוגייה פונקציונלית.
מודל איום ומגבלות
עיצוב זה מגן מפני איסוף מכוון של סיסמאות שנוצרו על ידי האתר. הוא אינו יכול להבטיח את שלמות המכשיר של המשתמש, תוספי הדפדפן, הלוח, מערכת ההפעלה או שירות היעד. הוא גם אינו יכול להפוך סיסמה משומשת לבטוחה או למנוע ממשתמש להזין סיסמה לדף דיוג.
סקירה ניתנת לשחזור
הדפדפן, ה-API הציבורי ו-pwdgen-cli@1.0.0 חולקים את אותו ליבת rejection sampling של Web Crypto. בדיקות אוטומטיות בודקות כיסוי תווים מופעלים, תווים מוחרגים, תצורות לא חוקיות והיעדר Math.random(). בדיקות דפדפן מאמתות שיצירה מחדש והעתקה אינן שולחות בקשות רשת הנושאות סיסמאות. קוד מקור ציבורי ותוצאות CI מקושרות למעלה; זוהי עדות הנדסית ניתנת לשחזור, לא טענה לביקורת אבטחה עצמאית.
להסבר מעמיק יותר ברמת הפרוטוקול, קרא את המסמך הלבן ליצירת סיסמאות בצד הלקוח.