הצפנת תבנית: כיצד ציור צורה מגן על הקבצים שלך
אתה מצייר תבנית באצבע. PBKDF2 הופך את התנועה הזו למפתח כספת, שפותח מפתח אקראי נפרד שמגן על הקבצים שלך ב-AES-256-GCM. בלי שדה סיסמה ובלי PIN קצר. רק התבנית שלך והיררכיית מפתחות רב-שכבתית שנבנתה בכוונה.
Vaultaire מקודד צורה מצוירת על רשת 5×5 ומעבד אותה ב-PBKDF2-HMAC-SHA512, ב-600,000 איטרציות ועם salt ייחודי למכשיר שנשמר ב-Keychain של iOS. התוצאה, של 256 ביט, היא מפתח הכספת: הוא מצפין את אינדקס הכספת ופותח את המפתח הראשי האקראי הנפרד ש-AES-256-GCM משתמש בו לתוכן הקבצים ולמטא-דאטה.
מהי הצפנת תבנית?
רוב אפליקציות הכספת מסתתרות מאחורי קוד PIN או סיסמה. אתה מקליד ארבע ספרות, והתמונות שלך מופיעות. נשמע מספיק מאובטח, נכון?
הנה הבעיה: קוד PIN בן ארבע ספרות מכיל בדיוק 10,000 צירופים אפשריים. מחשב יכול לנסות כל אחד מהם בפחות משנייה. שש ספרות? מיליון צירופים. עדיין מהיר בצורה טריוויאלית לחומרה מודרנית. אפילו סיסמה של שמונה תווים, אם משתמשת רק באותיות קטנות, נותנת כ-200 מיליארד אפשרויות. זה נשמע הרבה עד שלומדים שמחשב רגיל יכול לבדוק מיליארדי hash-ים של סיסמאות בשנייה.
הצפנת תבנית עובדת בגישה שונה מהיסוד. במקום להקליד תווים בתיבה, אתה מצייר צורה על רשת של נקודות. המסלול שאתה משרטט, כלומר באילו נקודות נגעת, באיזה סדר ובאיזו צורה, הופך לקלט של פונקציית גזירת מפתח מבוססת סיסמה. הממשק לא רק בודק את התוצאה: היא חייבת לפתוח אינדקס מוצפן ומאומת ואת המפתח הראשי האקראי שבתוכו.
ההבחנה חשובה. כשמזינים PIN באפליקציות מסוימות, האפליקציה רק בודקת אם הקלדת את המספר הנכון. אם כן, היא נפתחת, גם אם הקבצים מוגנים בעיקר בבקרת גישה. Vaultaire, לעומת זאת, מעביר את התבנית המצוירת ל-PBKDF2 כדי לגזור מפתח כספת של 256 ביט. המפתח הזה חייב לאמת ולפענח את אינדקס הכספת לפני שהוא יכול לפתוח את המפתח האקראי שמשמש לקבצים. תבנית לא מוכרת מוצגת ככספת ריקה, אבל אימות ה-AES-GCM שמתחת עדיין מבחין בין מפתח נכון למפתח שגוי.
שער גישה מבוסס PIN יכול להיות כמו דלת נעולה מול קבצים שאחרת היו קריאים. התבנית של Vaultaire דומה יותר לצירוף של כספת: ממנה נגזר המפתח שפותח אינדקס מוצפן, והאינדקס משחרר את המפתח הנפרד שמגן על התוכן. הממשק לא יכול פשוט לעקוף את שרשרת ההצפנה הזו.
כיצד זה עובד, שלב אחר שלב
הנה מה שקורה מהרגע שהאצבע שלך נוגעת במסך ועד הרגע שהקבצים שלך הופכים לבלתי קריאים לכולם.
שלב 1: אתה מצייר את התבנית שלך
Vaultaire מציג רשת 5×5 של נקודות. אתה מצייר נתיב רציף המחבר לפחות 6 נקודות עם לפחות שינוי כיוון אחד. האפליקציה מתעדת בדיוק באילו נקודות ביקרת ובאיזה סדר. הרצף הזה הוא התבנית שלך.
בניגוד לרשתות 3×3 הנפוצות במסכי נעילה של Android, Vaultaire משתמש ברשת 5×5. זו לא בחירה קוסמטית. 25 נקודות מאפשרות הרבה יותר מסלולים, מעברים, דילוגים ושינויי כיוון מאשר תשע נקודות. מרחב האפשרויות הגדול יותר עוזר, אבל האבטחה בפועל עדיין תלויה בכמה המסלול שבחרת צפוי. אות מוכרת או צורה פשוטה נשארות קלות לניחוש, גם כשהרשת מאפשרת מיליארדי חלופות.
שלב 2: מהתבנית נגזר מפתח כספת
התבנית המצוירת מקודדת יחד עם גודל הרשת ומוזנת ל-PBKDF2 (Password-Based Key Derivation Function 2) עם HMAC-SHA512, 600,000 איטרציות ו-salt אקראי ייחודי למכשיר. ה-salt הוא ערך לא סודי שנשמר ב-Keychain של iOS כפריט WhenUnlockedThisDeviceOnly. הוא קושר את הגזירה המקומית למכשיר; הוא לא ייחודי לכל כספת ולא מוסיף אנטרופיה לתבנית שאדם בחר.
גזירת המפתח יקרה בכוונה. PBKDF2 מריץ 600,000 איטרציות של HMAC-SHA512 לכל תבנית מועמדת, וזה מייקר מתקפת ניחוש. זה לא הופך תבנית עם אנטרופיה נמוכה לאבטחה של 256 ביט, וזמן המתקפה תלוי בחומרה של התוקף. המטרה צרה יותר וניתנת למדידה: להפוך כל ניחוש ליקר בהרבה מגיבוב פשוט.
שלב 3: הקבצים שלך מוצפנים
כשהכספת נוצרת, Vaultaire מייצר מפתח ראשי אקראי של 256 ביט. מפתח הכספת שנגזר מהתבנית מצפין את האינדקס ועוטף את המפתח הראשי; הוא לא מצפין כל קובץ ישירות. המפתח הראשי משמש עם AES-256-GCM לכותרות הקבצים, לתוכן, לתמונות הממוזערות ולמטא-דאטה הקשורה. ערכי nonce חדשים מבטיחים שטקסט גלוי שחוזר על עצמו לא יפיק טקסט מוצפן זהה תחת אותו מפתח.
מצב GCM מוסיף שכבה חשובה: אימות. הוא לא רק מערבל את הנתונים שלך, הוא גם מייצר תג שמגלה כל שיבוש. אם ביט אחד של הקובץ המוצפן ישתנה, הפענוח ייכשל. אף אחד לא יכול לשבש את הקבצים שלך מבלי שתדע.
שלב 4: מצב המפתחות הפעיל נמחק
כש-Vaultaire ננעל, הוא מנקה את מצב הכספת הפעיל ואת המפתח הראשי שלה, ודורש פתיחה מחדש לפני שהקבצים יוצגו שוב. בזמן שהכספת פתוחה, הבייטים של המפתחות הסימטריים חייבים להיות בתהליך של האפליקציה כדי ש-CryptoKit יוכל לבצע פעולות AES-GCM. Vaultaire גם שומר מידע שחזור, כולל התבנית ומעטפת השחזור שמוצפנת בביטוי, במסד נתונים שמוצפן ב-AES-GCM ונשמר ב-Keychain של iOS. זה שונה מהותית מהטענה שהתבנית ושום עותק של מפתח לא נשמרים בשום מקום.
המתמטיקה שמאחורי זה (בשפה פשוטה)
אין צורך בתואר במדעי המחשב כדי להבין מדוע זה עובד. האבטחה מסתכמת בשלושה מספרים: כמה תבניות אפשריות, כמה זמן כל ניחוש לוקח, וכמה ניחושים תוקף יכול לבצע.
אנטרופיה: מדד אי-הניחוש
אנטרופיה היא מילה מפוארת עבור “כמה קשה לנחש את זה.” הטלת מטבע מכילה ביט אנטרופיה אחד (שתי תוצאות). קוד PIN בן ארבע ספרות מכיל כ-13 ביטי אנטרופיה (10,000 תוצאות). תבנית שנבחרה בקפידה על רשת 5×5, המחברת 8 נקודות ומעלה, יכולה לעלות על 30 ביטי אנטרופיה, יותר ממיליארד תבניות אפשריות.
האנטרופיה של התבנית קובעת את התקרה של מתקפת ניחוש. PBKDF2 לא יכול ליצור אנטרופיה שאין בתנועה עצמה, אבל הוא יכול לייקר מאוד את הבדיקה של כל מועמד.
גזירת מפתח: הפיכת ניחושים ליקרים
PBKDF2 לוקח את התבנית המקודדת ומריץ 600,000 סבבים של HMAC-SHA512. הערכות של מתקפות חייבות להתבסס על עלות מדודה בחומרה שמבצעת את הניחוש: בעלות של 1 ms בדיוק לכל מועמד, 1,000,000,000 מועמדים ידרשו 1,000,000 שניות, בערך 11.6 ימים, למעבד אחד. עלות מדודה איטית יותר מאריכה את הזמן; חומרה מקבילית מקצרת אותו. אורך הפלט של 256 ביט לא משנה את גודל מרחב החיפוש של התבניות.
ה-salt של המכשיר נשמר ב-Keychain ואינו אמור להיות סודי. Keychain והגנת הנתונים של iOS יכולים להקשות על חילוץ כשהמכשיר נתפס, אבל ניתוח ההצפנה חייב להניח שבודק שמשיג את הקבצים המוצפנים עשוי להשיג גם את ה-salt. ה-salt מונע חישוב מראש בין מכשירים; הוא לא תחליף לתבנית חזקה.
AES-256: תקן ציבורי שנחקר היטב
AES-256 הוא תקן הצפנה ציבורי של NIST (FIPS 197). ה-“256” הוא אורך המפתח בביטים. למפתח של 256 ביט יש 2256 ערכים אפשריים. זה מספר כה גדול שגם אם כל אטום ביקום הנצפה היה מחשב, וכל מחשב היה בודק טריליון מפתחות בשנייה, הם לא היו מפצחים אותו לפני מות החום של היקום.
האבטחה של AES-256 לא תלויה בהסתרת האלגוריתם. אבל המערכת כולה לא מוגנת רק במרחב המפתחות של AES: הקושי המעשי לנחש נובע מהאנטרופיה של התבנית, ממקדם העבודה של PBKDF2 ומההגנה על ה-salt של המכשיר ועל האחסון המוצפן. AES-256-GCM מספק הצפנה מאומתת חזקה אחרי שהמפתח הראשי האקראי הנכון נפתח.
מול אילו מתקפות צריך לעמוד
נבחן את הדרכים העיקריות שבהן מישהו עשוי לנסות לגשת לקבצים המוצפנים שלך, מה Vaultaire עושה כדי לייקר אותן, ואיפה נשארים הגבולות.
כוח גס: ניסיון כל תבנית
PBKDF2 מחייב כל תבנית מועמדת לשלם 600,000 איטרציות של HMAC-SHA512. זו הגנה משמעותית, אבל לא הבטחה למספר קבוע של שנים: התוצאה תלויה בתבנית שנבחרה, במהירות הגזירה הנמדדת, בעיבוד מקבילי ובשאלה אם הבודק השיג את ה-salt של המכשיר. מסלולים ארוכים ופחות צפויים חשובים, כי PBKDF2 מייקר ניחושים ולא יוצר אנטרופיה חדשה.
התקפות לכלוך: קריאת המסך שלך
על רשת 3×3, כתמי לכלוך על המסך יכולים לצמצם משמעותית את התבניות האפשריות. על רשת 5×5, דפוס הלכלוך חושף אילו נקודות נגעו אבל לא את הסדר, הכיוון, או החיבורים ביניהן. הפיצוץ הצירופי הופך גישה זו ללא מעשית.
ציון גב: צפייה בציור שלך
תבניות שנצוירות במהירות על מסך טלפון קטן קשות מאוד לשינון על ידי צופה, במיוחד על רשת 5×5. מחקרים מראים שלצופים הרבה יותר קשה לשחזר תבניות מורכבות בהשוואה לשמיעת קוד PIN או סיסמה שנאמרת בקול.
תפיסת מכשיר: לקיחת הטלפון שלך
אם מישהו לוקח את הטלפון שלך, תוכן הקבצים והאינדקסים של Vaultaire נשאר טקסט מוצפן ב-AES-GCM עד שהמפתחות הנדרשים זמינים. האפליקציה לא שומרת רשומת אימות סיסמה רגילה, אבל זה לא מבטל אימות לא מקוון. שם הקובץ של כל אינדקס כספת מוצפן מכיל גיבוב מקוצר של מפתח הכספת, ופענוח מאומת ב-AES-GCM מצליח או נכשל לכל מפתח מועמד. לכן הגנת המכשיר וחוזק התבנית נשארים חלק ממודל האיום.
לא צריך גיבוב סיסמה נפרד כדי לבדוק ניחוש מול טקסט מוצפן ומאומת. תגי ה-AES-GCM של Vaultaire נותנים תוצאה ודאית של הצלחה או כישלון, ושם קובץ האינדקס מאפשר בדיקה ראשונית זולה יותר. ההגנה נשענת על העלות ועל חוסר הצפיות של פרטי הגישה, ועל ההגנה של iOS על החומר המקומי, ולא על היעדר דרך לאמת ניחוש.
בחירת תבנית חזקה
ההצפנה חזקה רק כמו התבנית שתבחר. כך תמקסם את האבטחה שלך במאמץ מינימלי.
מה הופך תבנית לחזקה
- השתמש ביותר נקודות. חבר לפחות 8 מתוך 25 הנקודות הזמינות. כל נקודה נוספת מכפילה את מספר התבניות האפשריות.
- חצה את הנתיב שלך. תבניות שחוזרות, מדלגות על נקודות, או משנות כיוון בצורה בלתי צפויה הרבה יותר קשות לשחזור מזיכרון או מצפייה.
- הימנע מצורות ברורות. אותיות (L, Z, S), צורות גיאומטריות פשוטות (ריבועים, משולשים), וקווים ישרים הם הדברים הראשונים שתוקף ינסה.
- השתמש ברשת המלאה. תבניות שנשארות בפינה אחת או לאורך קצה אחד מבזבזות את האנטרופיה הזמינה. התפזר.
מה להימנע ממנו
- תבניות באורך המינימלי. Vaultaire דורש לפחות 6 נקודות ושני שינויי כיוון, אבל עמידה במינימום לא הופכת את המסלול לבלתי צפוי. השתמש ביותר מהרשת כשאתה יכול לזכור את התוצאה בביטחון.
- צורות גיאומטריות פשוטות. צורת L, זיגזג, או קו אלכסוני ישר הם שקולי התבנית של “password123”.
- התחלה מאותה פינה בכל פעם. מחקר על תבניות נעילה של Android מראה שרוב האנשים מתחילים מהנקודה בפינה הימנית העליונה. תוקפים יודעים זאת.
נקודת האיזון
תבנית המחברת 8–12 נקודות עם לפחות שני שינויי כיוון מספקת אבטחה מצוינת תוך שהיא נשארת קלה לזכירה דרך זיכרון שרירי. אתה לא צריך לשנן אותה כמו סיסמה, היד שלך זוכרת את התנועה, כשם שהיא זוכרת איך לכתוב את חתימתך.
מדוע ניתן להרגיש בטוח
הצפנת תבנית ב-Vaultaire היא לא רק לוח PIN יפה יותר. התנועה עוברת עיבוד בפונקציית גזירת מפתח אמיתית וחייבת לפתוח נתונים מוצפנים ומאומתים. החוזק שלה עדיין תלוי בתנועה שבחרת, ולכן Vaultaire משלב רשת גדולה יותר עם מקדם עבודה גבוה של PBKDF2, ולא מציג את אורך הפלט של 256 ביט כאילו מדובר ב-256 ביט של אנטרופיה אנושית.
התבנית ומפתח הכספת המקומי שלך לא נשלחים ל-Vaultaire. כל עוד הגיבוי פעיל (ברירת המחדל), מפתח גיבוי נפרד שנגזר מהתבנית מצפין את רשומות ה-CloudKit, ומניפסט שחזור מוצפן מאפשר לביטוי השחזור לשחזר את מפתחות הכספת והגיבוי. ל-Vaultaire אין מפתח ספק שמפענח את הרשומות האלה, אבל המכשיר ופרטי השחזור נשארים חלקים קריטיים לאבטחה בתכנון.
אתה מצייר צורה. הצורה מגינה על הקבצים שלך. המתמטיקה עושה את השאר.
שאלות נפוצות
מה קורה אם אשכח את התבנית שלי?
כשאתה יוצר כספת, Vaultaire מייצר ביטוי שחזור ייעודי בן תשע מילים. PBKDF2 גוזר מהביטוי מפתח שחזור, שפותח מעטפה מוצפנת שמכילה את מפתח הכספת. אם תאבד גם את התבנית וגם את ביטוי השחזור, אין ל-Vaultaire מפתח בצד השרת שיכול לשחזר את הכספת.
האם תבנית באמת יותר מאובטחת מסיסמה?
תבנית שנבחרה בקפידה על רשת 5×5 יכולה להתאים לאנטרופיה של סיסמה טיפוסית או לעלות עליה. היתרון הוא שמישות: אנשים בוחרים סיסמאות חלשות כי חזקות קשה לזכור. תבניות מנצלות זיכרון שרירי, מה שמאפשר שימוש בתבנית מורכבת באופן טבעי ללא שינון מודע.
האם מישהו יכול לצלם מסך או להקליט את התבנית שלי?
Vaultaire מפעיל הגנה מפני צילום מסך ברמת מאמץ מיטבי על רשת התבנית, ומגיב כש-iOS מדווח על הקלטת מסך פעילה. iOS לא מספק דגל ציבורי של מסך מאובטח לכל תוכן של אפליקציה, ולכן האמצעים האלה מצמצמים צילום בשוגג, אבל לא יכולים להבטיח שכל שיטת צילום תיחסם.
איזה אלגוריתם הצפנה Vaultaire משתמשת?
Vaultaire משתמש ב-PBKDF2-HMAC-SHA512 עם 600,000 איטרציות כדי לגזור מפתח כספת מהתבנית ומ-salt של המכשיר שנשמר ב-Keychain. מפתח הכספת מצפין את אינדקס הכספת ועוטף מפתח ראשי אקראי של 256 ביט. AES-256-GCM, תחת המפתח הראשי, מגן בהצפנה מאומתת על תוכן הקבצים, הכותרות, המטא-דאטה והתמונות הממוזערות.
האם התבנית מאוחסנת במכשיר שלי?
Vaultaire שומר מידע שחזור, כולל התבנית, במסד נתוני שחזור שמוצפן ב-AES-GCM ונשמר ב-Keychain של iOS. התבנית לא נשלחת ל-Vaultaire ולא נשמרת בקבצים בטקסט גלוי. בזמן שכספת פתוחה, בייטים של מפתחות נמצאים בתהליך של האפליקציה; נעילה מנקה את מצב המפתחות הפעיל של Vaultaire.
האם Vaultaire יכולה לגשת לקבצים המוצפנים שלי?
Vaultaire לא מפעיל שירות שמקבל את התבנית, את ביטוי השחזור, את מפתחות הפענוח או את תוכן הכספת הקריא שלך. גיבויי iCloud מוצפנים נשארים במסד הנתונים הפרטי שלך ב-CloudKit. הגבול הזה מול הספק לא מגן על כספת פתוחה מפני אפליקציה, מערכת הפעלה או מכשיר פרוצים.
נסה הצפנת תבנית
צייר את התבנית הראשונה שלך וראה כיצד זה מרגיש כשהקבצים שלך מוגנים באמת.
הורד את Vaultaire בחינם