כשאתה יוצר חשבון בשירות הודעות פרטי, בדרך כלל אתה בוחר סיסמה. עד כאן, הכל רגיל. מה שלא כל כך רגיל הוא מה שקורה מתחת לפני השטח.
ברוב השירותים, הסיסמה שלך היא המפתח לכל דבר. אם תאבד אותה, תאבד גישה. אם היא תיגנב, תאבד הכל. הזהות שלך, ההודעות שלך, הקבצים שלך. הכל תלוי בדבר אחד שהקלדת על המקלדת באחד אחר הצהריים של יום שלישי.
24 המילים עובדות אחרת. הן לא סיסמה שאתה בוחר. הן מפתח שהמערכת מייצרת באקראי, עם 256 ביטים של אנטרופיה אמיתית. כדי שתקבל מושג: לפרוץ את המפתח הזה בכוח גס ידרוש יותר אנרגיה ממה שהשמש תייצר במשך כל חייה. זו לא מטאפורה. זה חישוב מתמטי.
שני מפתחות לשתי דלתות
הסיסמה שלך מחברת אותך לשירות. היא המפתח לדלת הכניסה. אם תשכח אותה, אפשר להיכנס דרך הדלת האחורית עם 24 המילים שלך. אם הסיסמה שלך תיגנב, אפשר לשנות אותה מיד בלי ששום דבר אחר ישתנה.
24 המילים שלך הן משהו אחר. הן הייצוג של מפתח האב שלך. המפתח ממנו נגזרת הזהות הקריפטוגרפית שלך, שמגן על הנתונים שלך, שמזהה אותך בפני אנשי הקשר שלך. אם תאבד את 24 המילים וגם את הסיסמה, הנתונים שלך בלתי ניתנים לשחזור. כמו ב-Bitcoin. וזה, למרות שזה נשמע קשה, הוא בדיוק מה שאתה רוצה ממערכת מאובטחת.
כי החלופה היא שמישהו יוכל לשחזר את הנתונים שלך בשבילך. ואם מישהו יכול לשחזר את הנתונים שלך, הוא גם יכול לגשת אליהם.
הנייר חשוב
רשום את 24 המילים שלך על נייר. נייר אמיתי, מהסוג הישן. שמור אותו במקום בטוח. לא בטלפון, לא בפתק דיגיטלי, לא במייל לעצמך. נייר במגירה, בכספת, או איפה שאתה שומר את הדברים החשובים.
זה אולי נשמע מיושן. אבל נייר אי אפשר לפרוץ מרחוק, אי אפשר ליירט דרך האינטרנט, והוא לא צריך סוללה. לפעמים הטכנולוגיה הכי עתיקה היא הכי בטוחה.
למי שרוצה להעמיק
24 המילים עוקבות אחרי תקן BIP39, המשמש ארנקי Bitcoin. הן מייצגות 256 ביטים של אנטרופיה שנוצרו על ידי ה-CSPRNG של מערכת ההפעלה (crypto.getRandomValues). מ-256 הביטים האלה נגזר מפתח הזהות (Ed25519 לחתימה + X25519 להחלפת מפתחות) דרך HKDF-SHA256 עם הפרדת תחומים. הסיסמה עוטפת מפתח זה עם Argon2id + AES-256-GCM לפני שליחתו לשרת. השרת מאחסן את ה-blob המוצפן אך אינו יכול לקרוא אותו.