הנימוק עבור Vaultaire

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

לאפליקציות פרטיות יש פגם קטלני: הן נראות כמו אפליקציות פרטיות.

תיקייה נעולה מכריזה שהיא נעולה. גלריה מוסתרת בשם “Calculator+” לא מרמה אף אחד שמחפש. כל כספת תמונות “מאובטחת” ב-iPhone שלך חולקת את אותה בעיה: היא מוכיחה שיש לך מה להסתיר.

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

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

איך אחסון תמונות מוצפן אמור לעבוד בפועל

צייר תבנית על הרשת. PBKDF2 גוזר מפתח כספת מקומי, שמאמת את האינדקס המוצפן ופותח את המפתח הראשי האקראי שמשמש להצפנת הקבצים ב-AES-256-GCM. צייר תבנית מוגדרת אחרת, וכספת מוצפנת אחרת יכולה להיפתח. פעולות AES רצות בתהליך האפליקציה דרך CryptoKit; Vaultaire לא טוען להצפנה סימטרית שרירותית בתוך Secure Enclave.

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

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

זה לא מנעול על דלת. זה קיר במקום שהדלת הייתה.

מדוע ארכיטקטורת ידע אפס חשובה

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

Vaultaire נבנה סביב עיקרון צר יותר: שירותים ששומרים רשומות Vaultaire מוצפנות לא אמורים לקבל תוכן כספת קריא או מפתחות פענוח. האפליקציה, iOS, Keychain והמכשיר הפתוח נשארים חלק ממודל האמון, וקבצים מוצפנים נשארים ניתנים לזיהוי כנתוני אפליקציה מוצפנים.

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

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

אין פתיחה ביומטרית בתוך Vaultaire. התבנית היא פרט גישה נפרד מקוד הגישה של ה-iPhone ומ-Face ID, אבל עדיין אפשר לצפות בה, לנחש אותה, לחשוף אותה בכפייה או ללכוד אותה במכשיר פרוץ. השארנו את הביומטריה בחוץ כדי שנתיב הגישה הזה יישאר מפורש.

אין איפוס באימייל. אין מפתח שחזור שמוחזק אצל ספק. Vaultaire יוצר ביטוי שחזור מותאם של תשע מילים, לא ביטוי BIP-39. הוא שומר את הביטוי במסד נתונים מוצפן ב-Keychain כדי שתוכל לצפות בו מאוחר יותר, ויכול לשמור ב-CloudKit מניפסט שמוצפן בביטוי כל עוד הגיבוי פועל, וזו ברירת המחדל.

התבנית שלך עוברת 600,000 סבבים של PBKDF2-HMAC-SHA512 עם salt ברמת המכשיר כדי לגזור מפתח כספת של 256 ביט. אורך הפלט הזה לא הופך תבנית שאפשר לנחש ל-256 ביט של אנטרופיה. המפתח קיים בזיכרון האפליקציה בזמן השימוש, ונתיבי הנעילה משליכים את המצב הפעיל בלי לטעון למחיקה מוכחת של כל עותק זמני.

למי זה מיועד

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

וכל מי שמבין שפרטיות אינה על כך שיש לך מה להסתיר. היא על כך שיש לך משהו שראוי להגנה.

כספת הכפייה

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

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

מה לא נבנה

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

כל החלטה ב-Vaultaire חוזרת לדבר אחד: הקבצים הפרטיים שלך נשארים שלך, בכל נסיבות.


Vaultaire הוא כספת פרטית ומוצפנת של תמונות וקבצים ל-iPhone ול-iPad. הוא לא דורש חשבון זהות. ניתוח אפליקציות, אבחון קריסות וייחוס Apple Ads מופעלים כברירת מחדל וניתן לכבות אותם באמצעות "שיתוף שגיאות באופן אנונימי" בהגדרות. מדיניות האירועים המתועדים שלהם לא כוללת תוכן כספת, תבניות, ביטויי שחזור, סוגי קבצים ומזהי שיתוף. דוחות קריסה יכולים לכלול שמות קבצים, ולכל כספת יש מזהה מגובב (hash) קבוע. AES-256-GCM פועל באופן מקומי דרך CryptoKit, כאשר מחזיק מפתחות מגן על מצב התאוששות הקשור למכשיר.