ארכיטקטורת אבטחה: הסטק הטכני המלא
Vaultaire לא מסתמכת על אלגוריתם יחיד או טריק חכם אחד. היא משתמשת בארכיטקטורת הצפנה רב-שכבתית שבה לכל רכיב יש תפקיד ספציפי, וכשל של כל שכבה לא פוגע באחרות. הנה כל צופן, פרוטוקול, והחלטת עיצוב שעומדים בין הנתונים הפרטיים שלך לשאר העולם.
Vaultaire שימושים AES-256-GCM להצפנה מאומתת על פני אינדקסים של כספת, מפתחות עטופים, כותרות קבצים, תוכן, תמונות ממוזערות ומטא נתונים. PBKDF2-HMAC-SHA512 גוזר מפתח כספת מקומי מהתבנית ומכל המכשיר Keychain מלח. מפתח הכספת הזה עוטף מפתח ראשי אקראי נפרד של 256 סיביות, שמבצע את הצפנת הקובץ באמצעות CryptoKit בתהליך האפליקציה.
הסטק הקריפטוגרפי
Vaultaire משתמש במספר מנגנוני הצפנה הפועלים יחד, כל אחד מהם נבחר לעבודה ספציפית. PBKDF2 הופך אישור אנושי לכספת או מפתח שחזור. AES-256-GCM מגן על אינדקסים, עטיפות, מטא נתונים, תמונות ממוזערות ותוכן קבצים. מפתח ראשי אקראי מפריד בין הצפנת קבצים ארוכת טווח לבין דפוס שניתן לשינוי. Keychain ו iOS הגנת נתונים מגן על מלח הקשור למכשיר ורשומות שחזור בזמן שהמכשיר נעול. שום מפתח פענוח המוחזק על ידי ספק לא נותן למפתח גישה שגרתית לטקסט רגיל של כספת.
זו לא מורכבות לשמה. כל שכבה מתייחסת למשטח התקפה שונה. AES-256-GCM משלב סודיות עם אימות, כך שטקסט צופן שונה נכשל באימות. PBKDF2 מעלה את העלות של בדיקת כל דפוס או ביטוי. המפתח הראשי האקראי אומר ששינוי דפוס יכול לעטוף מחדש מפתח אחד במקום להצפין מחדש כל קובץ. Keychain הגנת מידע שומר על רישומי מלח ושחזור מקומיים, בעוד האפליקציה עדיין מכירה בכך שהצפנה סימטרית מתרחשת בזיכרון התהליך.
יחד, השכבות הללו יוצרות ארכיטקטורת הגנה מעמיקה, אך לא כולן מהוות מחסומים עצמאיים. ניתן לבדוק דפוס מנחש מול שם קובץ האינדקס ו AES-GCM אימות, ומכשיר לא נעול שנפרץ יכול לצפות במפתחות או בטקסט רגיל בתהליך האפליקציה. הארכיטקטורה תלויה אפוא באנטרופיית אישורים, PBKDF2 עלות, iOS הגנת המכשיר, וטיפול נכון בהצפנה מאומתת, כמו גם את החוזק של AES עצמו.
חשבו על ההיררכיה של Vaultaire כעל קבוצה של קונטיינרים נעולים. התבנית הנגזרת מפתח כספת פותח את האינדקס המאומת. האינדקס משחרר אקראי עטוף מפתח מאסטר. מפתח ראשי זה מגן על הקבצים והמטא נתונים. PBKDF2, AES-GCM, Keychain, ו iOS הגנת מידע תורמת מאפיינים שונים, אך טענת האבטחה חזקה רק כמו השרשרת השלמה.
AES-256-GCM: הצפנת קבצים
כל תמונה, סרטון ומסמך המאוחסנים ב-Vaultaire מוצפנים עם AES-256-GCM - תקן ההצפנה המתקדם עם מפתח של 256 סיביות מצב גלואה/מונה. גם Vaultaire משתמש AES-GCM עבור אינדקסים של כספת, כותרות קבצים, תמונות ממוזערות ומעטפות מפתח. האלגוריתם וגודל המפתח הם סטנדרטיים; האבטחה של Vaultaire עדיין תלויה בטיפול לא חד-פעמי, ניהול מפתחות, חוזק אישורים ונכונות יישום.
ה-“256” ב-AES-256 מתייחס לאורך המפתח בביטים. למפתח 256-ביט יש 2256 ערכים אפשריים. כדי לשים את המספר הזה בפרספקטיבה: יש בערך 1080 אטומים ביקום הנצפה. אם כל אטום היה מחשב-על שבודק מיליארד מפתחות בשנייה, פועל מאז המפץ הגדול, הם היו חוקרים פחות מטריליונית של טריליונית של אחוז אחד ממרחב המפתחות. AES-256 לא יישבר בכוח גס. לא היום. לא במאה הזאת. לא לפני שהכוכבים ייכבו.
מדוע מצב GCM חשוב
AES הוא צופן בלוקים, הוא מצפין נתונים בנתחים של 128-ביט. ה-“מצב” קובע כיצד נתחים אלה משולבים. GCM (Galois/Counter Mode) מספק שני דברים שמצבים פשוטים יותר כמו CBC לא מספקים: הצפנה מקבילה ואימות מובנה.
חלק האימות הוא קריטי. GCM מייצר תג קריפטוגרפי לכל קובץ מוצפן. תג זה פועל כחותם שיבוש. אם אפילו ביט אחד של הטקסט המוצפן ישונה, בין אם על ידי גורם זדוני ובין אם על ידי סקטור דיסק פגום, תג האימות לא יתאים והפענוח ייכשל. אתה לא מקבל נתונים פגומים. אתה מקבל אות ברור שמשהו אינו תקין. תכונה זו נקראת הצפנה מאומתת, והיא מונעת מחלקה שלמה של התקפות שבהן יריב משנה נתונים מוצפנים כדי לתפעל את הפלט המפוענח.
PBKDF2: גזירת מפתחות
Vaultaire שואב מפתחות שונים עבור עבודות שונות. התבנית והמכשיר כולו Keychain הזנת מלח PBKDF2-HMAC-SHA512 במשך 600,000 איטרציות כדי לייצר את מפתח הכספת המקומי. גזירת תבנית דטרמיניסטית מייצרת את מפתח הגיבוי הענן הנפרד. ביטוי ההתאוששות המנורמל עובר עד 800,000 PBKDF2 איטרציות להפקת המפתח למעטפת שחזור. אף אחת מהגזירות הללו לא הופכת אישור אנושי ל-256 סיביות של אנטרופיה רק בגלל שהפלט הוא באורך 256 סיביות.
כיצד PBKDF2 מגן על התבנית שלך
הרעיון המרכזי מאחורי PBKDF2 היא עבודה מכוונת. זה לוקח את הדפוס הסדרתי או את הביטוי המנורמל ומפעיל מאות אלפי HMAC-SHA512 איטרציות. משתמש לגיטימי משלם את העלות הזו פעם אחת במהלך ביטול נעילה או ניסיון שחזור. תוקף משלם את זה עבור כל מועמד, למרות שבחירות חומרה ויישום מקבילות קובעות את קצב הניחוש האמיתי.
הגדרות של Vaultaire PBKDF2 עם 600,000 איטרציות למפתחות שמקורם בדפוס. זה מייקר כל ניחוש, אבל אומדן התקפה אחראי חייב לציין זמן מדוד לכל מועמד והנחות חומרה. בדיוק 1 אלפית השנייה למועמד, 1,000,000,000 ניחושים סדרתיים לוקחים בערך 11.6 ימים, לא שנים. התוצאה של 256 סיביות אינה מרחיבה את האנטרופיה של תבנית צפויה.
גזירת דפוס מקומי משתמשת במלח אקראי קריפטוגרפי אחד עבור המכשיר, המאוחסן כ-WhenUnlockedThisDeviceOnly Keychain פריט. המלח אינו סודי והוא משותף לכספות במכשיר זה. זה מונע מטבלה שנבנתה עבור מכשיר אחד להחיל ישירות על מכשיר אחר עם מלח אחר, אבל זה לא מאלץ תוקף להתחיל מחדש עבור כל כספת באותו מכשיר.
AES-256-GCM: הגנה על מטא נתונים
הצפנת תוכן הקבצים אינה מספיקה. שמות קבצים, תאריכי יצירה, מידות תמונות ממוזערות, ומבנה הכספת כולם מטאדאטה, ומטאדאטה יכולה להיות חשיפתית לא פחות מהנתונים עצמם. קובץ בשם “tax-return-2025.pdf” אומר לתוקף בדיוק מה בפנים גם אם התוכן מוצפן. חותמת זמן מציגה מתי השתמשת בכספת. גודל תמונה ממוזערת חושף אם משהו הוא תמונה או וידאו.
Vaultaire מגן על מטא נתונים אלה באמצעות AES-256-GCM, לא ChaCha20. שמות קבצים ו MIME סוגים מקודדים לכותרות קבצים מוצפנות. אינדקס הכספת המוצפנת מכיל רשומות קבצים, תאריכים, מידע על גודל, פריסת אחסון ומפתח הראשי העטוף. נתוני תמונות ממוזערות מוצפנים גם תחת מפתח הראשי האקראי.
מדוע הצפנה מאומתת עבור מטא נתונים?
מטא נתונים זקוקים לשלמות כמו גם לסודיות. AES-GCM מייצר תג אימות עבור כל ערך מוצפן, כך ש-Vaultaire יכולה לדחות כותרת, אינדקס, תמונה ממוזערת או מעטפה ששונו במקום לקבל טקסט רגיל בשליטת תוקף. התכנון משתמש בכוונה במבנה הצפנה מאומת אחד על פני פורמטי האחסון הללו במקום לטעון למגוון קריפטוגרפי שהיישום אינו מספק.
אותו צופן לא אומר שבאותו מפתח או לא נעשה שימוש חוזר באופן עיוור. מפתח הכספת מגן על האינדקס ועוטף את מפתח המאסטר האקראי; המפתח הראשי מגן על חומר הקובץ. CryptoKit יוצר קופסאות אטומות מאומתות עם ערכים טריים, בעוד שפורמט הסטרימינג של Vaultaire שואב חוסר ברור עבור כל נתח שהוזמן. הערבויות הרלוונטיות מגיעות מהפרדת מפתחות, משמעת חוסר משמעת ואימות, ולא מצופן מטא נתונים שני.
ארכיטקטורת ידע אפס
כאן שאלה שכדאי לשאול על כל אפליקציית אבטחה: מה קורה אם החברה שמאחוריה תיפרץ, תיזמן לבית משפט, או פשוט תהפוך לזדונית?
עם רוב האפליקציות, התשובה אינה נוחה. הן מחזיקות את הנתונים שלך, את המפתחות שלך, או שניהם. צו בית משפט מחייב אותן למסור. פרצת נתונים חושפת. עובד סורר ניגש אליהם. האבטחה של האפליקציה חזקה רק כמו האבטחה התפעולית של החברה, וההיסטוריה מראה שחברות נפרצות באופן קבוע.
Vaultaire אינה מפעילה חשבון או שירות אחסון המקבל את הדפוס, הביטוי הסודי, מפתחות הפענוח או תוכן הכספת הניתן לקריאה שלך. הצפנה ופענוח מתרחשים בתהליך האפליקציה במכשיר שלך. מתי iCloud הגיבוי מופעל, האפליקציה שולחת טקסט צופן מאומת לפרטי שלך CloudKit מסד נתונים במקום לשירות כספת בשליטה של Vaultaire.
מה ידע אפס אומר בפועל
אם סוכנות אכיפת חוק משרתת את Vaultaire עם זימון המחייב טקסט רגיל לכספת, החברה אינה מחזיקה בדפוס, ביטוי השחזור, מפתח הכספת, מפתח הגיבוי או מפתח הראשי הדרושים כדי לפענח אותו. מוצפן iCloud רשומות בשידור חי אצל המשתמש CloudKit מסד נתונים פרטי. עם זאת, במכשיר, חומר השחזור מוחזק בקובץ מוצפן Keychain מסד נתונים ומפתחות סימטריים קיימים בזיכרון האפליקציה בזמן CryptoKit מצפין או מפענח כספת פתוחה.
גבול ספק זה הוא נכס אדריכלי, לא הבטחה שכל חלק בסביבת הלקוח נמצא מחוץ למודל האמון. Vaultaire אינו מחזיק מפתח פענוח בצד השרת, הוא יכול למסור לשחזור כספת שגרתי. האפליקציה שנשלחה, iOS, המכשיר שלא נעול והיישום ההצפנה עדיין יכולים לעבד נתונים קריאים ויש לסמוך עליהם בהתאם.
גבול הספק של Vaultaire מסיר מפתח פענוח שבידי החברה מהעיצוב הרגיל. זה מקטין את מה שפרצה של Vaultaire עצמה יכולה לחשוף. זה לא מסיר את הצורך לסמוך על הלקוח שנשלח, iOS, מצב המכשיר או היישום של היררכיית המפתח המתועדת. יש להעריך את הגבולות הללו בנפרד ולא להתמוטט להבטחה מוחלטת.
Keychain ו-App-Process Boundary
של אפל Secure Enclave יכול להגן על מפתחות פרטיים נתמכים ומשתתף בחלקים מארכיטקטורת האבטחה של הפלטפורמה, אך ממשקי ה-API הציבוריים שלה אינם מקבלים גישה שרירותית PBKDF2מפתח סימטרי נגזר וביצוע של Vaultaire AES-GCM פעולות קבצים בתוך המעבד. לפיכך, Vaultaire אינו מתאר את צופן הכספת שלו Secure Enclave AES.
Vaultaire משתמש רגיל iOS Keychain פריטי סיסמה גנרית עבור מלח ההתקן האקראי, מסד נתונים שחזור מוצפן והמפתח האקראי המגן על מסד הנתונים. פריטים אלה משתמשים במחלקת הנגישות WhenUnlockedThisDeviceOnly. Keychain והגנה על נתונים יוצרים גבול מכשיר משמעותי, במיוחד כשהטלפון נעול, אבל ארכיטקטורה זו שונה מארכיטקטורה שאינה ניתנת לייצוא Secure Enclave מפתח.
כשאתה מצייר את הדוגמה, CommonCrypto גוזר את מפתח הכספת בתהליך האפליקציה. CryptoKit ו-CryptoEngine של Vaultaire לאחר מכן משתמשים בבתים של מפתח סימטרי בתהליך זה כדי לאמת ולפענח את האינדקס, לפרוק את המפתח הראשי ולעבד קבצים. האפליקציה מנקה את המצב הפעיל כשהיא ננעלת, אבל לתוקף בעל זכות מספיקה הצופה בהפעלה לא נעולה יש הזדמנות שונה מאשר בוחן שמחזיק רק טקסט צופן במכשיר נעול.
מערכת הפעלה שבורה בכלא או בפגיעה אחרת יכולה לכוון לקלט דפוס, זיכרון אפליקציה, תצוגות מקדימות מפוענחות, ייצוא או מסך. כספת ממליצה על מכשיר נוכחי ללא כלא iPhone כי העיצוב מסתמך על iOS בידוד תהליך, Keychain, והגנה על נתונים. היא אינה טוענת כי התפשרות שורשית משאירה את המפתחות הסימטריים של כספת פתוחה בלתי נגישים.
וקטורי אתחול לכל קובץ
כשאתה מצפין שני קבצים זהים עם אותו מפתח, מימוש נאיבי יפיק טקסט מוצפן זהה. זוהי בעיה. תוקף שרואה שני blobs מוצפנים זהים יודע, ללא פענוח כלשהו, שהשני קבצים המקוריים זהים. בכספת מלאה בתמונות, סוג ניתוח דפוסים זה יכול לחשוף מידע גם דרך הצפנה.
Vaultaire מונע טקסט צופן דטרמיניסטי על-ידי יצירת אי-נונס קריפטוגרפי חדש עבור כל אחד מהם AES-256-GCM פעולת איטום. כותרות הקבצים ותוכן הקבצים אטומים בנפרד, וקבצים גדולים משתמשים בפורמט סטרימינג מאומת עם אי בסיס אקראי ו-nonce מובהק עבור כל נתח שהוזמן. לכן שני עותקים של אותה תמונה אינם מייצרים את אותו ייצוג מוצפן.
הנונסים מאוחסנים עם טקסט הצפנה ואינם סודיים; דרישת האבטחה שלהם היא ייחודיות תחת מפתח נתון. Vaultaire מבקש 96-bit nonces מהמחולל האקראי ההצפנה של אפל להצפנה של צילום יחיד ומתעד את ה-nonce הבסיסי בכותרת הסטרימינג. סיכון התנגשות נשלט על ידי מספר ההצפנות תחת מפתח אחד, כך שהיישום מייצר ערך חדש במקום להציג את גודל 96 הסיביות כאחד ב-2 קבוע96 ערבות לכל החיים.
ניהול זיכרון: ניקוי מצב מפתח פעיל
כשל נפוץ בתוכנות אבטחה הוא השארת נתונים רגישים בזיכרון לאחר שאינם נדרשים עוד. מפתחות הצפנה, סיסמאות גזורות, ונתונים מפוענחים יכולים להישאר ב-RAM זמן רב לאחר שהאפליקציה סיימה להשתמש בהם. כלים פורנזיים יכולים לבצע dump לזיכרון המכשיר ולחפש שרידים אלה, טכניקה הידועה כהתקפת cold boot או ניתוח dump זיכרון.
Vaultaire מגביל את משך הזמן שבו מצב מפתח פעיל ונתוני ממשק משתמש מפוענחים נשארים זמינים. כאשר האפליקציה ננעלת או שההפעלה נקרעת, הקוד שלה עוקב אחר מספר נתיבי ניקוי:
- מצב כספת פעילה נשמט. האפליקציה מסירה את הפעלת מפתח הכספת הנוכחית שלה ודורשת ביטול נעילה נוסף לפני הצגת תוכן הכספת.
- עטיפות מפתח מנקות מאגרים בבעלות. מיכלי הבתים המאובטחים של Vaultaire מחליפים את המאגרים שבבעלותם כאשר מיכלים אלה מובטלים.
- מצב מפתח ראשי במטמון אינו חוקי. מפתח האב המפוענח המוחזק עבור האינדקס הפתוח מושלך בנתיבי הנעילה ואיפוס המטמון הרלוונטיים.
- מטמונים מפוענחים של ממשק משתמש מנוקים היכן שהם נשלטים על ידי Vaultaire. ניקוי תמונות ממוזערות ותצוגה מקדימה מפחית את מצב היישום שיורי, מבלי לתבוע שליטה על כל עותק שנעשה על ידי Swift, iOS, או תהליך אחר.
בפעם הבאה ש-Vaultaire נפתח במצב נעול, אתה מצייר את התבנית והאפליקציה מפיקה את מפתח הכספת שוב לפני שהיא תוכל לאמת את האינדקס ולפרוק את מפתח המאסטר. זהו ניקוי הפעלה, לא טענה שכל עותק זיכרון חולף קיבל ניגוב רב-מעבר שניתן להוכיח או שא Secure Enclave הפניה למפתח נהרסה. התרסקות גורמת iOS כדי לדרוש מחדש את התהליך, אך קוד הניקוי אינו יכול לפעול לאחר כל סיום פתאומי.
שאלות נפוצות
האם AES-256 באמת בלתי ניתן לפיצוח?
AES-256 הוא צופן בלוק מתוקנן, מנותח בכבדות. אין התקפה מעשית על מיושם נכון AES-256-GCM עם מפתח אקראי של 256 סיביות ידוע בציבור, אבל זה לא הופך את הכספת כולה לבלתי שבירה. אנטרופיה של אישורים, PBKDF2 עלות, טיפול לא חד-פעמי, שמירת מפתח, שחזור, מצב המכשיר ופגמי יישום נשארים נתיב התקפה.
מדוע להשתמש ב-PBKDF2 לגזירת מפתחות?
Vaultaire שימושים PBKDF2-HMAC-SHA512 דרך CommonCrypto: 600,000 איטרציות לדפוסים ו-800,000 לביטויי התאוששות. גזירת התבנית המקומית משתמשת במלח אקראי אחד, לכל מכשיר, המאוחסן בו Keychain. PBKDF2 מעלה את העלות של כל ניחוש אך לא מוסיף אנטרופיה לתבנית, כך שזמן ההתקפה תלוי בחוזק האישור, מהירות החומרה הנמדדת והקבלה.
אילו נתונים Vaultaire שולחת לשרתים שלה?
אף נתון. ל-Vaultaire אין שרתים שמקבלים את הנתונים שלך. אם תפעיל גיבוי iCloud, הנתונים המוצפנים שלך מאוחסנים בחשבון iCloud האישי שלך, מוצפנים לפני שעוזבים את המכשיר שלך עם מפתחות ש-Apple לא מחזיקה. Vaultaire החברה לעולם לא מקבלת, מעבדת, או מאחסנת נתוני משתמש, מוצפנים או אחרת.
האם iPhone עם jailbreak יכול לסכן את הכספת שלי?
פריצת כלא מחלישה באופן מהותי את גבול המכשיר. של וולטר AES-GCM פעולות הפועלות בתהליך האפליקציה דרך CryptoKit, כך שבתי מפתח סימטריים קיימים בזיכרון האפליקציה בזמן שכספת פתוחה. פשרה ברמת השורש יכולה לכוון לקלט, זיכרון, צילומי מסך או פלט מפוענח. Keychain והגנה על נתונים עדיין מוסיפים מחסומים בזמן שהמכשיר נעול, אבל Vaultaire לא טוען שמפתחות ה-AES שלו נשארים מבודדים בפנים Secure Enclave.
כיצד מוצפנים מטא נתונים?
Vaultaire אינו משתמש ב-ChaCha20 עבור מטא נתונים של כספת. שמות קבצים, MIME סוגים, חותמות זמן, נתוני תמונות ממוזערות, מבנה הכספת ומפתח המאסטר העטוף מוגנים בתוך AES-256-GCM טקסט צופן מאומת. שימוש במבנה מאומת אחד שומר על סודיות ובדיקות תקינות עקביות בכל פורמט האחסון.
מה קורה למפתחות שלי אם האפליקציה קורסת?
iOS תובע מחדש את התהליך שהופסק, וההשקה הבאה דורשת ביטול נעילה חדש לפני ש-Vaultaire ישחזר את מצב המפתח הפעיל. Vaultaire לא יוצר בהיקף הפעלה Secure Enclave הפניות ל-AES. בעוד שעטיפות המפתחות שלו מנקות את המאגרים שלהם בנתיבי ההקצאה והנעילה יורדים את המצב הפעיל, Swift ו iOS אין להצדיק ערבות שכל עותק חולף הוחלף לפני התרסקות.
ראה את הסטק בפעולה
הצפנה מאומתת, מפתחות שכבות, גזירה יקרה וללא מפתח כספת בידי ספק. הורד את Vaultaire כדי להשתמש בארכיטקטורה המתוארת כאן, עם גבולות המכשיר והאישורים שלה מוצהרים בצורה ברורה.
הורד את Vaultaire בחינם