LifeVeil چگونه از فایلهای شما محافظت میکند
این صفحه به زبان ساده توضیح میدهد که LifeVeil چه میکند و چه کارهایی از دستش برنمیآید. ترجیح میدهیم محدودیتها را بدانید تا اینکه به وعدهای بیش از اندازه بزرگ اعتماد کنید.
به طور خلاصه
- همه رمزگذاری روی تلفن شما انجام میشود. LifeVeil نه سرور دارد و نه حساب کاربری.
- فایلهای شما با یک کلید تصادفی رمزگذاری میشوند. فقط الگو، عبارت بازیابی یا اثر انگشت شما میتواند قفل این کلید را باز کند.
- ما، یعنی سازندگان برنامه، هرگز الگو، عبارت بازیابی یا کلیدهای شما را نداریم. نمیتوانیم فایلهایتان را باز کنیم و نمیتوانیم الگویتان را بازنشانی کنیم.
- ما از رمزگذاری داخلی Android و کتابخانه شناختهشده libsodium استفاده میکنیم. رمزگذاری را خودمان ننوشتهایم.
- LifeVeil هنوز توسط یک نهاد مستقل از نظر امنیتی بازرسی نشده است.
از الگوی شما تا کلید
شما روی شبکه 5×5 الگویی میکشید که دستکم 6 نقطه دارد و از هیچ نقطهای دو بار نمیگذرد. LifeVeil الگو را با Argon2id از libsodium (نسخه 1.0.20 در Android) به کلید تبدیل میکند.
- تنظیمات: 64 MiB حافظه، 3 گذر، 1 مسیر، کلید 256 بیتی.
- Argon2id عمداً کند است و برای هر حدس حافظه زیادی لازم دارد. این کار حدس زدن با کارت گرافیک را بسیار پرهزینهتر میکند.
- روی تلفنهای آزمایشی ما، هر بار باز کردن حدود 0.6 تا 0.9 ثانیه طول میکشد.
- الگو با یک نمک دستگاه تصادفی 16 بایتی ترکیب میشود. این نمک در برنامه ذخیره میشود و با کلیدی رمزگذاری شده که در Android Keystore نگهداری میشود و نمیتوان آن را از تلفن بیرون کپی کرد.
- هیچ نسخهای از الگو ذخیره نمیشود. برنامه الگو را با تلاش برای باز کردن قفل کلید بررسی میکند.
- بعد از 5 الگوی اشتباه پشت سر هم، باید 30 ثانیه صبر کنید. با هر اشتباه بعدی، زمان انتظار دو برابر میشود، تا حداکثر 16 دقیقه.
فایلها چگونه رمزگذاری میشوند
- هر گاوصندوق یک کلید اصلی تصادفی 256 بیتی دارد. کلید الگو و کلید بازیابی شما فقط این کلید اصلی را «بستهبندی» (رمزگذاری) میکنند.
- فایلها، تصاویر کوچک و فهرست موارد شما (نام اصلی فایلها، تاریخها، اندازهها) با AES-256-GCM و با رمزگذاری داخلی Android رمزگذاری میشوند. GCM همچنین تشخیص میدهد که آیا فایلی تغییر کرده یا جابهجا شده است.
- فایلهای داخل برنامه نامهای تصادفی دارند. فایلهای بزرگ در قطعههای 1 MiB رمزگذاری میشوند، تا ویدیوها پخش شوند بدون اینکه هیچوقت نسخه رمزگذارینشدهای در حافظه ذخیرهسازی نوشته شود.
- برای عکسهای JPEG، جزئیات پنهان (EXIF، مثل دوربین و تاریخ) جداگانه و آن هم به صورت رمزگذاریشده ذخیره میشود.
- وقتی برنامه قفل میشود، کلیدهایی را که در حافظه دارد با صفر بازنویسی میکند.
عبارت بازیابی
- وقتی گاوصندوقی میسازید، مولد امن اعداد تصادفی تلفن 9 کلمه انگلیسی انتخاب میکند. این کلمهها از دو فهرست 1,024 کلمهای از کلمات رایج و به یکی از 4 ترتیب ثابت میآیند. این یعنی 92 بیت تصادفی بودن. کلمهها در همه زبانهای برنامه انگلیسی هستند.
- عبارت از همان تنظیمات Argon2id میگذرد و به تنهایی قفل کلید اصلی را باز میکند. به نمک دستگاه نیاز ندارد، پس حتی وقتی الگو دیگر کار نمیکند هم کار میکند.
- یک نسخه از عبارت روی تلفن ذخیره میشود که دو بار رمزگذاری شده است: یک بار با کلید اصلی و یک بار با کلیدی از Android Keystore. میتوانید بعد از کشیدن دوباره الگو، آن را در تنظیمات ببینید.
- وقتی الگویتان را تغییر میدهید یا با عبارت بازیابی دوباره وارد میشوید، عبارت تازهای دریافت میکنید. عبارت قبلی دیگر کار نمیکند.
اثر انگشت
باز کردن با اثر انگشت اختیاری است. اثر انگشت را Android بررسی میکند، نه LifeVeil؛ برنامه هرگز اثر انگشت شما را دریافت نمیکند. کلیدی در Android Keystore که فقط بلافاصله بعد از یک بررسی بیومتریک قوی کار میکند، قفل کلید اصلی را باز میکند. اگر کسی اثر انگشت جدیدی به تلفن اضافه کند، این کلید دیگر کار نمیکند و باید دوباره از الگویتان استفاده کنید.
فایل پشتیبان
- هر پشتیبان یک فایل
.lvbاست. این فایل موارد شما را دقیقاً به همان صورتی که از قبل رمزگذاری شدهاند نگه میدارد، بهعلاوه دو نسخه بستهبندیشده از کلید اصلی: یکی برای الگویی که هنگام ساختن پشتیبان کشیدید و یکی برای عبارت بازیابیای که در آن زمان داشتید. - نسخه الگو برای هر پشتیبان از یک نمک تصادفی تازه استفاده میکند، نه از نمک دستگاه. همین است که به شما اجازه میدهد پشتیبان را روی تلفن جدید باز کنید.
- سرآیند فایل محافظت میشود تا تغییرات یا بخشهای جابهجاشده تشخیص داده شوند.
- جای ذخیره آن را خودتان با صفحه ذخیره خود Android انتخاب میکنید. این فایل هرگز از دست ما نمیگذرد.
- برای بازیابی، فایل را با الگو یا عبارت بازیابی همان پشتیبان باز کنید. سپس الگوی تازهای میکشید و عبارت بازیابی تازهای دریافت میکنید.
محافظتهای دیگر در برنامه
- نماگرفت، ضبط صفحه و پیشنمایش در فهرست برنامههای اخیر در همه صفحهها مسدود است.
- به طور پیشفرض، برنامه به محض اینکه از آن خارج شوید قفل میشود. میتوانید به جای آن 30 ثانیه یا 1 دقیقه را انتخاب کنید.
- پشتیبانگیری ابری خود Android و انتقال از تلفن به تلفن، دادههای LifeVeil را شامل نمیشوند. به جای آن از فایل پشتیبان استفاده کنید.
- برنامه اجازه دسترسی به مکان، مخاطبین یا «همه فایلها» را درخواست نمیکند.
- گاوصندوق خالی برای الگوی اشتباه. الگویی که هیچ گاوصندوقی را باز نمیکند، بهجای خطا یک گاوصندوق خالی باز میکند؛ پس کسی که شما را مجبور به باز کردن برنامه میکند نمیفهمد چه چیز دیگری هست. تلاشهای اشتباه همچنان شمرده میشوند، عکس مزاحم همچنان گرفته میشود و زمان انتظار همچنان اعمال میشود. میتوانید این را در تنظیمات > امنیت > گاوصندوق خالی برای الگوی اشتباه خاموش کنید.
هوش مصنوعی و حدس زدن الگو
- هوش مصنوعی نمیتواند از ریاضیات میانبر بزند. هر حدس همچنان باید Argon2id را با 64 MiB حافظه اجرا کند. هوش مصنوعی Argon2id یا AES را نمیشکند، پس هیچ حدسی ارزانتر نمیشود.
- آنچه هوش مصنوعی تغییر میدهد ترتیب حدسهاست. میتواند شکلهایی را که مردم دوست دارند (حروف، مربعها، گوشههای شروع محبوب) یاد بگیرد و اول آنها را امتحان کند. همچنین میتواند به خواندن الگو از ویدیویی که از بالای شانه شما گرفته شده یا از لکهای روی صفحه کمک کند.
- پس دفاع به الگو مربوط است، نه به ریاضیات. سنجه قدرت درباره شکلهای رایج هشدار میدهد. الگو + پین یک پین 4 تا 6 رقمی اضافه میکند، تا الگویی که در ویدیو دیده شده کافی نباشد. پنهان کردن خط الگو هیچ خطی برای فیلمبرداری باقی نمیگذارد. نمک دستگاه در Android Keystore جلوی حدس زدن بیرون از تلفن را میگیرد.
محدودیتهایی که باید بدانید
هیچ برنامهای نمیتواند در برابر همه چیز محافظت کند. اینها محدودیتهای واقعی LifeVeil هستند.
الگوهای ساده را میتوان حدس زد
شکلهای کوتاه یا رایج (L، Z، یک خط صاف) را میتوان با تماشای شما، از روی لکهای صفحه یا با چند بار امتحان حدس زد. الگوهای واقعی خیلی راحتتر از آنچه تعداد الگوهای ممکن نشان میدهد حدس زده میشوند. از نقطههای بیشتر و چرخشهای بیشتر استفاده کنید. برنامه درباره الگوهای خیلی ساده به شما هشدار میدهد.
حدس زدن چقدر ممکن است طول بکشد
داخل برنامه، هر تلاش حدود یک ثانیه طول میکشد و بعد از 5 اشتباه، زمان انتظار بیشتر میشود. اما کسی که فایل پشتیبان شما را دارد، یا نمک دستگاه را از یک تلفن روتشده برداشته است، میتواند به جای آن روی رایانه و بدون هیچ انتظاری حدس بزند. Argon2id این کار را کند میکند، اما یک الگو بسیار کمتر از یک گذرواژه طولانی حالت ممکن دارد. برآوردهای تقریبی برای یک کارت گرافیک قدرتمند (در حد RTX 4090) با حدود 1,000 حدس در ثانیه:
| چه چیزی حدس زده میشود | حالتهای ممکن | زمان با یک کارت گرافیک |
|---|---|---|
| رایجترین 10,000 الگو | 104 | حدود 10 ثانیه |
| همه الگوهای 6 نقطهای | 1.28 × 108 | حدود 1.5 روز |
| همه الگوهای 7 نقطهای | 2.42 × 109 | حدود 28 روز |
| همه الگوهای 8 نقطهای | 4.36 × 1010 | حدود 1.4 سال |
| عبارت بازیابی (92 بیت) | 4.95 × 1027 | حدود 1.6 × 1017 سال |
اینها برآورد هستند، نه اندازهگیری. تعداد الگوها حد بالاست؛ الگوهای واقعی بسیار کمترند. سختافزار بیشتر یا سریعتر، حدس زدن را به همان نسبت سریعتر میکند.
فایل پشتیبان را خصوصی نگه دارید
فایل پشتیبان نمک دستگاه را ندارد، پس هر کسی که به آن دست پیدا کند میتواند همانطور که بالا نشان داده شد، الگوها را آفلاین امتحان کند. آن را فقط جایی نگه دارید که فقط خودتان به آن دسترسی دارید، مثل حساب ابری خودتان، و از الگوی طولانیتری استفاده کنید.
تلفنهای روتشده یا آلوده
اگر کسی بتواند با مجوزهای برنامه کد اجرا کند (مثلاً روی تلفن روتشده، یا با بدافزاری که کنترل کامل دارد)، میتواند قفل نمک دستگاه را باز کند و آفلاین حدس بزند. تا وقتی گاوصندوق باز است، کلیدها در حافظه هستند و میتوان آنها را با دسترسی روت یا با اشکالزدا خواند. برخی نسخههایی که داخل Android و Flutter ساخته میشوند، و عکسهایی که روی صفحه نمایش داده میشوند، را نمیتوان فوراً از حافظه پاک کرد.
بعضی اطلاعات قابل دیدن است
تعداد فایلهای رمزگذاریشده در فضای ذخیرهسازی برنامه، اندازه تقریبی آنها و زمان ساخته شدن یا تغییرشان پنهان نیست. نصب بودن LifeVeil هم پنهان نیست.
گاوصندوق خالی فقط صفحه را فریب میدهد
کسی که بتواند فایلهای برنامه را بخواند (مثلاً روی گوشی روتشده) میتواند پوشههای گاوصندوق را بشمارد و ببیند این تنظیم روشن است. همچنین پس از 5 الگوی اشتباه، برنامه شما را منتظر میگذارد و این نشان میدهد الگوهای قبلی چیزی را باز نکردهاند.
تغییر نماد فقط صفحه اصلی را تغییر میدهد
- فقط نماد و نام راهانداز تغییر میکند. فهرست تنظیمات > برنامهها، اطلاعات برنامه و صفحههای فضای ذخیرهسازی تلفن همچنان LifeVeil را نشان میدهند.
- صفحهخوانها ممکن است همچنان «LifeVeil» را بخوانند. برای مثال، راهانداز Samsung One UI نام واقعی برنامه را به TalkBack میدهد و برنامه نمیتواند این را تغییر دهد.
- منوی همرسانی Android همیشه نام واقعی برنامه را نشان میدهد، به همین دلیل وقتی نماد را تغییر میدهید، LifeVeil از آن منو کنار میرود. میتوانید آن را دوباره روشن کنید.
- درخواستهای مجوز Android نام واقعی را نشان میدهند، به همین دلیل برنامه پیش از تغییر نماد، مجوزها را درخواست میکند.
- تا وقتی نماد تغییر کرده است، برنامه اعلانی نمیفرستد.
- کد تغییر نماد (4 تا 8 رقم) فقط صفحه قفل را نشان میدهد. فایلهای شما را باز نمیکند. این کد به صورت هش نمکدار ذخیره میشود، اما با این تعداد کم حالتهای ممکن، اگر کسی به فایل دست پیدا کند، پیدا کردنش آسان است.
اثر انگشت راه ضعیفتری است
باز کردن با اثر انگشت از Argon2id نمیگذرد. قدرت آن به حسگر اثر انگشت تلفن و Android Keystore بستگی دارد. هر زمان بخواهید میتوانید آن را در تنظیمات خاموش کنید.
عکس از مزاحم
برنامه صدای شاتر پخش نمیکند، اما تلفنهایی که در بعضی کشورها، مثل ژاپن و کره، فروخته میشوند همیشه آن را پخش میکنند. اگر برنامه دیگری از دوربین استفاده کند یا دوربین جلو وجود نداشته باشد، عکسی گرفته نمیشود. تا وقتی قفل اولین گاوصندوقی را که ساختهاید باز نکنید، عکسها با کلیدی از Android Keystore مهر و موم میشوند.
جزئیات عکس
- برای عکسهای HEIC، PNG و WebP، جزئیات پنهان (EXIF) داخل خود فایل میماند. کل فایل همچنان رمزگذاری میشود.
- در Android 10 و بالاتر، Android مکان GPS را از عکسهایی که LifeVeil میخواند حذف میکند، چون برنامه اجازه دسترسی به مکان را درخواست نمیکند. وقتی اصل عکس از گالری حذف شود، آن مکان از بین میرود.
- عکسهایی که با انتخابگر عکس Android اضافه میشوند، نام تازهای بر اساس تاریخ میگیرند، چون انتخابگر نام اصلی را نمیدهد.
قفل شدن هنگام صفحههای سیستم متوقف میشود
تا وقتی یک صفحه سیستم باز است (درخواست مجوز، تأیید حذف، انتخابگر عکس یا فایل، درخواست اثر انگشت) و تا وقتی وارد کردن یا صادر کردن در حال انجام است، برنامه برای قفل شدن صبر میکند. اگر از برنامه خارج شده باشید، 2 ثانیه بعد از پایان آن قفل میشود.
گاوصندوقها یک نمک دستگاه مشترک دارند
همه گاوصندوقهای یک تلفن از نمک دستگاه یکسانی استفاده میکنند. اگر کسی آن نمک را داشته باشد، با یک حدس همه گاوصندوقها را همزمان امتحان میکند. هزینه حمله به یک گاوصندوق تنها همان است.
چیزهایی که هیچ برنامهای نمیتواند جلویشان را بگیرد
کسی که کشیدن الگوی شما را تماشا میکند، یا دوربینی که از صفحه شما فیلم میگیرد.
اگر هر دو را از دست بدهید، هیچکس نمیتواند کمک کند
اگر هم الگو و هم عبارت بازیابیتان را از دست بدهید، هیچکس نمیتواند فایلهایتان را برگرداند. حتی ما.