הכחשה סבירה באפליקציות: מה זה ולמה זה חשוב
הכחשה סבירה אומרת שאי-אפשר להוכיח קיום נתונים מוסתרים.
הכחשה סבירה בהצפנה היא תכונה המאפשרת למשתמש להכחיש באופן אמין קיום נתונים מוצפנים מסוימים. האחסון המוצפן נראה כמכיל רק את הנתונים שהמשתמש בוחר לחשוף. בודק פורנזי, גורם מכריח, או כל מי שיש לו גישה פיזית למכשיר לא יכול להוכיח שנתונים מוסתרים נוספים קיימים. זו לא תכונת הסתרה. זו תכונה מתמטית של תוכנית ההצפנה עצמה.
מה הכחשה סבירה אומרת בהצפנה
הרעיון מקורו בהצפנת דיסק. TrueCrypt (ויורשו VeraCrypt) פיתחו את "כרך מוסתר": כרך מוצפן בתוך כרך מוצפן אחר. סיסמה אחת חושפת כרך חיצוני עם קבצים תמימים. סיסמה שונה חושפת כרך פנימי מוסתר עם קבצים רגישים. בודק פורנזי לא יכול לקבוע אם כרך מוסתר קיים כי השטח הלא מנוצל בכרך החיצוני מלא בנתונים אקראיים שאינם ניתנים להבחנה מנתונים מוצפנים.
לאפליקציות, הכחשה סבירה אומרת שאישורים שונים (סיסמאות, PIN, תבניות) פותחים מערכי נתונים שונים, ואין מטא-נתונים, רשם, דגל תצורה או ממצא מבני שחושפים קיום מערכי נתונים נוספים.
הכחשה אמיתית לעומת מצבי פיתיון קוסמטיים
זהו ההבחנה הקריטית שרוב האפליקציות מפספסות.
מצב פיתיון קוסמטי (לא הכחשה אמיתית)
אפליקציות כספת רבות מציעות תכונת "פיתיון" או "PIN מזויף". הבעיה: אפליקציות אלה בדרך כלל מאחסנות דגל boolean, ערך מסד נתונים או קובץ תצורה המציין שמצב פיתיון קיים ומוגדר.
בודק פורנזי שמבין את האפליקציה יכול למצוא את הדגל. מציאת מצב פיתיון מוגדר מוכיחה שנתונים מוסתרים קיימים. ההכחשה קוסמטית בלבד.
סימנים להכחשה קוסמטית:
- לאפליקציה יש כפתור "מצב פיתיון" בהגדרות
- קובץ תצורה שומר אם מצב פיתיון מופעל
- טבלת מסד נתונים מפרטת מזהי כספת עם מחווני סוג
- מבנה האחסון משתנה כשמצב הפיתיון מופעל
הכחשה קריפטוגרפית אמיתית
הכחשה אמיתית היא תכונה ארכיטקטורית, לא כפתור. האחסון המוצפן חייב להיות מעוצב כך שכל אישור פותח מערך נתונים תקף, לא קיים רשם כספות, לא קיימים דגלי תצורה שחושפים כספות מוסתרות, האחסון ממולא, ונתונים מוצפנים אינם ניתנים להבחנה מרעש אקראי.
| תכונה | פיתיון קוסמטי | הכחשה אמיתית |
|---|---|---|
| נתונים נפרדים לפי אישור | כן | כן |
| אין רשם כספות | לא (מסד נתונים עוקב) | כן |
| אין דגלי תצורה | לא (כפתור פיתיון מאוחסן) | כן |
| מילוי אחסון | לעיתים רחוקות | כן |
| עמיד מול בדיקה פורנזית | לא | כן |
| ארכיטקטורה לעומת תכונה | כפתור-תכונה | תכונה ארכיטקטורית |
תרחישים אמיתיים שבהם זה חשוב
מעברי גבול
בארצות הברית, מכס ושמירת גבולות (CBP) יכולים לדרוש גישה למכשיר בגבול. משתמש עם הכחשה סבירה אמיתית יכול לספק תבנית/סיסמה שפותחת כספת עם תוכן תמים. הבודק לא יכול להוכיח שכספות נוספות קיימות.
אלימות במשפחה ויחסים כפויים
מישהו ביחסים פוגעניים עשוי להצטרך לאחסן ראיות (תמונות של פציעות, הודעות מאיימות, מסמכים משפטיים) במכשיר שהתוקף עוקב אחריו. אם התוקף דורש לראות את הכספת, המשתמש יכול לפתוח כספת עם תוכן לא רגיש.
הגנה משפטית ועיתונאית
עיתונאים המגנים על מקורות, עורכי דין המגנים על קבצי לקוחות ופעילים במשטרים רודניים מתמודדים עם תרחישים שבהם ניתן לכפות גילוי תוכן מכשיר. הכחשה סבירה מספקת הגנה אמינה.
כיצד Vaultaire מיישמת הכחשה סבירה
Vaultaire משיגה הכחשה קריפטוגרפית סבירה אמיתית דרך עיצוב ארכיטקטורי:
כל תבנית פותחת כספת שונה. רשת 5x5 מייצרת מפתח דרך PBKDF2. תבנית שונה מייצרת מפתח שונה. אין מפתח ראשי, אין רשימת כספות. שרטוט תבנית ללא כספת קשורה פשוט פותחת מרחב כספת ריק: אין שגיאת "תבנית שגויה".
אין רשם כספות. לאפליקציה אין מסד נתונים המפרט כספות, שמות כספות או ספירת כספות. כל הנתונים המוצפנים קיימים במאגר אחסון בלתי מובחן.
מילוי אחסון. גודל האחסון הכולל נשאר קבוע ללא תלות בספירת כספות או קבצים.
אין דגלי תצורה. אין קובץ הגדרות, ערך העדפה או רשומת מסד נתונים שחושפת כמה כספות קיימות.
מצב כפייה. משתמשים יכולים לייעד כספת אחת ככספת כפייה. שרטוט תבנית זו פותחת את הכספת באופן רגיל תוך השמדה שקטה ובו-זמנית של מלחים קריפטוגרפיים לכל הכספות האחרות. ההשמדה בלתי הפיכה, לא משאירה עקבות פורנזיים ולוקחת פחות משנייה.
כיצד להעריך טענות הכחשה
- האם יש כפתור "מצב פיתיון"? אם כן, זה קוסמטי. בודק פורנזי יכול למצוא את הכפתור.
- האם לאפליקציה יש רשימת כספות או מסד נתונים? אם כן, קיום הכספת ניתן להוכחה.
- האם יש שגיאת "סיסמה שגויה"? אם כן, האפליקציה יכולה להבחין בין אישורים תקפים ולא תקפים, מה שאומר שהיא מאחסנת משהו שמאמת אישורים.
- האם צריכת האחסון משתנה עם ספירת כספות? אם כן, ניתוח דיסק יכול להעריך את ספירת הכספות.
- האם האפליקציה יכולה לפרט כספות? אם האפליקציה יכולה להציג לך רשימה של הכספות שלך, הרשימה קיימת במכשיר וניתנת לגילוי.
שאלות נפוצות
האם הכחשה סבירה חוקית?
שימוש בהצפנה עם הכחשה סבירה חוקי ברוב הדמוקרטיות. אין חוק נגד נתונים מוצפנים במכשיר שקיומם לא ניתן להוכחה. בחלק מהתחומים (בריטניה תחת RIPA, אוסטרליה תחת Assistance and Access Act), רשויות יכולות לכפות גילוי מפתחות. שאלת האכיפה של כפיית גילוי מפתח לנתונים שקיומם לא ניתן להוכחה היא תחום חוקי מתפתח.
האם כלים פורנזיים יכולים לגלות הכחשה סבירה?
כלים פורנזיים מקצועיים (Cellebrite, GrayKey, Magnet AXIOM) יכולים לגלות ש-Vaultaire מותקנת ושנתונים מוצפנים קיימים. הם לא יכולים לקבוע כמה כספות קיימות, מה הן מכילות, או אם כספות נוספות קיימות מעבר לאלה שנחשפו. הנתונים המוצפנים אינם ניתנים להבחנה מרעש אקראי.
מה ההבדל בין הכחשה סבירה לכספות מוסתרות?
כספות מוסתרות הן כספות שאינן גלויות בממשק האפליקציה. הכחשה סבירה היא התכונה שקיום כספות מוסתרות לא ניתן להוכחה. אפליקציה יכולה לכלול כספות מוסתרות ללא הכחשה סבירה (אם רשם כספות חושף אותן). Vaultaire מספקת את שניהם: כספות מוסתרות כברירת מחדל, וקיומן בלתי ניתן להוכחה.