رمزنگاری سیستمعامل فقط تا زمانی که دستگاه خاموش است محافظت میکند؛ برای امنیت واقعی در برابر ابزارهای فورنزیک، دیتابیس پیامرسان باید کلید مستقل خود را داشته باشد.
ابزارهای فورنزیک دیجیتال مانند Cellebrite UFED و Magnet Graykey از طریق آسیبپذیریهای سطح سختافزار و نرمافزار، حافظه فلش دستگاهها را تحلیل میکنند. اجرا و پیادهسازی رمزنگاری دیتابیس پیام رسان و امنیت داده در حالت سکون (Data-at-Rest) با مشتقسازی کلیدهای محلی اختصاصی، دیتابیس ذخیرهشده روی حافظه دستگاه را هنگام استخراج داده گوشی از یک فایل قابل خواندن به ساختاری نامفهوم برای مهاجم تبدیل میکند. این لایه مانع از آن میشود که دسترسی فیزیکی یا استخراج سیستم فایل (Full File System Dump) به معنای افشای متن پیامها باشد.
نکات کلیدی
- محدودیت رمزنگاری سیستمعامل: ابزارهای فورنزیک در حالت AFU (پس از اولین بازگشایی قفل) میتوانند کلیدهای پایه سیستمعامل را از حافظه موقت (RAM) استخراج کرده و دیتابیس برنامهها را بازخوانی کنند.
- رمزنگاری مستقل دیتابیس: امنیت داده در حالت سکون مستلزم آن است که پیامرسان بهطور مستقل، جداول SQLite و فایلهای رسانهای را با کلیدهای اختصاصی اپلیکیشن رمزنگاری کند.
- معماری بازیابی کلید v7: لیوارا کلید اصلی دیتابیس و هویت رمزنگاری کاربر را تحت یک کلید ۲۵۶ بیتی مشتقشده از عبارت بازیابی (Recovery Phrase) محافظت میکند که در حافظه عمومی سیستمعامل ذخیره نمیشود.
- ترکیب با الگوریتمهای پسا-کوانتوم: کلیدهای محلی با استانداردهای NIST FIPS 203 (الگوریتم ML-KEM-768) و AES-256-GCM تلفیق شدهاند تا پیچیدگی ساختار رمزنگاری محلی افزایش یابد.
- مرز مشخص کانالهای عمومی و گفتگوها: گفتگوهای خصوصی و گروهها در لیوارا دارای رمزنگاری محلی و سرتاسری هستند، در حالی که کانالهای عمومی بر اساس طراحی، برای امکان مدیریت و حذف محتوای مخرب، فاقد رمزنگاری سرتاسری میباشند.
استخراج داده گوشی توسط ابزار فورنزیک Cellebrite چگونه انجام میشود؟
ابزارهای فورنزیک دیجیتال برای استخراج داده گوشی، از پروتکلهای عیبیابی سختافزاری، آسیبپذیریهای بوتلودر (Bootloader) و اکسپلوییتهای سطح سیستمعامل استفاده میکنند. طبق اسناد فنی شرکت Cellebrite برای ابزار UFED Inseyets، این تجهیزات با برقرار کردن ارتباط مستقیم با تراشه حافظه NAND یا از طریق پورت USB در حالتهای خاص سختافزاری، سیستمعامل را دور زده و یک کپی از حافظه داخلی تهیه میکنند.
زمانی که یک ابزار فورنزیک Cellebrite یا تجهیزات مشابه به گوشی متصل میشوند، فرایند استخراج در سه سطح رخ میدهد:
- استخراج منطقی (Logical Extraction): ارتباط با APIهای استاندارد سیستمعامل و پشتیبانگیری از دادههای برنامههایی که اجازه کپی داده را میدهند.
- استخراج سیستم فایل (File System Extraction): بازخوانی تمامی ساختارهای درختی فایلها، شامل پوشههای برنامه، حافظه پنهان (Cache) و دیتابیسهای SQLite.
- استخراج فیزیکی (Physical Extraction): خواندن مستقیم بلوکهای حافظه flash صرفنظر از ساختار فایل سیستم.
اگر برنامهای پیامهای خود را به صورت متن ساده (Plaintext) یا با کلیدهای ثابت در دیتابیس محلی ذخیره کرده باشد، تحلیلگر فورنزیک پس از استخراج سیستم فایل، به تاریخچه پیامها و دیتابیس دسترسی پیدا میکند.
تفاوت حالت BFU و AFU در استخراج فورنزیک چیست؟
حالت BFU (پیش از اولین بازگشایی قفل - Before First Unlock) به وضعیتی گفته میشود که گوشی تازه روشن شده و هنوز رمز ورود (Passcode) وارد نشده است؛ در حالی که حالت AFU (پس از اولین بازگشایی قفل - After First Unlock) زمانی است که دستگاه حداقل یک بار پس از روشن شدن باز شده باشد.
تفاوت این دو حالت در ارزیابی میزان موفقیت ابزار فورنزیک Cellebrite و نرمافزارهای مشابه مانند Magnet Graykey تعیینکننده است:
- در حالت BFU: کلیدهای اصلی (Master Keys) در سختافزار امن (Secure Enclave یا TEE) بهصورت رمزنگاریشده باقی ماندهاند. ابزارهای فورنزیک بدون داشتن رمز دستگاه یا آسیبپذیری خاص پردازنده، قادر به بازکردن رمزنگاری پایه دستگاه نیستند.
- در حالت AFU: کلیدهای فکرمز حافظه سیستمعامل در حافظه RAM بارگذاری شدهاند. در صورت دسترسی به سطح ریشه (Root/Kernel Exploit)، ابزارهای فورنزیک کلیدهای داخل RAM را بازخوانی کرده و دیتابیسهای موجود روی حافظه را رمزگشایی میکنند.
به همین دلیل، اتکا به رمزنگاری پیشفرض Android (موسوم به File-Based Encryption یا FBE) به تنهایی کافی نیست. اگر دستگاه در حالت AFU تحلیل شود، رمزنگاری سیستمعامل دور زده میشود. در اینجاست که اهمیت رمزنگاری دیتابیس پیام رسان در لایه اپلیکیشن مشخص میشود.
چرا رمزنگاری پیشفرض سیستمعامل (FBE/FDE) برای حفاظت از پیامرسانها کافی نیست؟
رمزنگاری پایه سیستمعامل (FBE در اندروید و Data Protection در iOS) طراحی شده است تا از دادهها در برابر سرقت گوشی خاموش محافظت کند، نه در برابر ابزارهای فورنزیکی که دستگاه روشن در حالت AFU را تحلیل میکنند.
وقتی کاربر قفل گوشی را باز میکند، سیستمعامل کلیدهای فکرمز پوشه اختصاصی برنامه را در حافظه اصلی قرار میدهد. از این لحظه به بعد، دسترسی سطح ریشه یا آسیبپذیریهای USB به ابزار فورنزیک اجازه میدهد فایلهای دیتابیس ( مانند messages.db ) را استخراج کند.
برای درک بهتر مفهوم رمزنگاری سرتاسری، باید بدانیم که رمزنگاری مسیر انتقال (Transit) فقط شبکه را امن میسازد. اگر داده روی دیسک دستگاه به صورت شفاف ذخیره شود، استخراج فیزیکی حافظه تدابیر امنیتی شبکه را بیاثر میکند.
رمزنگاری دیتابیس پیام رسان در حالت سکون (Data-at-Rest) چگونه کار میکند؟
رمزنگاری داده در حالت سکون بدین معناست که تمام اطلاعات قبل از نوشتن روی حافظه دائمی (Flash Storage)، توسط خود اپلیکیشن با الگوریتمهای متقارن رمزنگاری میشوند و کلید فکرمز آن نیز در فایلهای متنی سیستمعامل ذخیره نمیشود.
در یک معماری امن دیتابیس محلی:
- رمزنگاری جداول SQLite: تمام رکوردها، کلیدهای عمومی مخاطبین و پیامها با الگوریتم AES-256 در حالت GCM (با Nonce ۱۲ بایتی و Tag احراز هویت ۱۶ بایتی) رمزنگاری میشوند.
- مشتقسازی کلید (KDF): کلید دیتابیس مستقیماً از یک کلید سختافزاری ساده گرفته نمیشود، بلکه از تابع HKDF-SHA-256 با انتروپی بالا تولید میشود.
- تفکیک فایلهای رسانهای: عکسها، ویدیوها و یادداشتهای صوتی پیش از ذخیرهسازی، هرکدام یک کلید تصادفی ۳۲ بایتی مستقل (Content Key) دریافت کرده و فایل به صورت رمزنگاریشده روی دیسک نوشته میشود.
با اجرای این روش، ابزار فورنزیک بدون داشتن کلید اختصاصی برنامه، تنها به بایتهای رمزنگاریشده دسترسی پیدا میکند و امکان بازسازی مستقیم متن گفتگوها وجود ندارد.
معماری بازیابی کلید v7 و رمزنگاری بومی لیوارا چگونه جلوی استخراج فورنزیک را میگیرد؟
لیوارا برای کاهش ریسک استخراج دادهها توسط ابزارهای فورنزیک، معماری بومی بازیابی کلید v7 را پیادهسازی کرده است. در این ساختار، کلیدهای دیتابیس محلی تحت یک کلید ۲۵۶ بیتی محافظت میشوند که متکی به ذخیرهسازهای ساده سیستمعامل نیست.
جزئیات فنی این پروتکل عبارتند از:
- پروتکل SRP (Secure Remote Password): جهت احراز هویت بدون ارسال رمز عبور یا کلید اصلی در شبکه.
- ترکیب با ML-KEM-768 (NIST FIPS 203): استفاده از استاندارد پسا-کوانتوم در کنار P-256 ECDH برای محافظت از فرایند تبادل کلید.
- کلیدهای محلی LVR1 و LGS1: پیامهای دوطرفه (LVR1) و پیامهای گروهی (LGS1) دارای مکانیزم Double Ratchet هستند تا افشای یک کلید، پیامهای قبلی یا بعدی را افشا نکند (Forward Secrecy و Post-Compromise Security).
- استقلال از شبکه در اختلالات: طبق مستندات فنی، لیوارا در زمان قطعی اینترنت نیز با همان لایه رمزنگاری محلی کار میکند و دیتابیس محلی نیازی به استعلام آنلاین کلید ندارد.
برای بررسی کدها و تطبیق ساختار، کاربران میتوانند هش SHA-256 نسخه اندروید را در آزمایشگاه راستیآزمایی (Proof Lab) چک کنند تا از عدم وجود تغییرات در بسته اجرایی مطمئن شوند.
همچنین روند پشتیبانگیری امن از گفتگوهای رمزنگاریشده در لیوارا به گونهای طراحی شده که فایلهای پشتیبان نیز تحت لایه v7 محافظت شده و بدون عبارت Recovery Phrase فکرمز نشوند.
مقایسه سطح دسترسی ابزار فورنزیک Cellebrite در پیامرسانهای مختلف
جدول زیر وضعیت حفاظت از دادهها در برابر استخراج فیزیکی (در حالت AFU) را میان پیامرسانهای مختلف مقایسه میکند:
| پیامرسان | رمزنگاری دیتابیس محلی | وضعیت استخراج فایلها در حالت AFU | حفاظت در برابر ابزار فورنزیک |
|---|---|---|---|
| تلگرام (چت عادی) | خیر (ذخیره به صورت Plaintext/SQLite) | قابل استخراج (پیامها و رسانهها) | پایه / متکی به سرور |
| واتساپ | بله (دیتابیس crypt14/15) | امکان استخراج کلید از RAM در حالت AFU | متوسط / وابسته به کلید سیستمعامل |
| سیگنال | بله (SQLCipher با کلید در Keystore) | نیازمند اکسپلوییت TEE یا دسترسی ریشه | بالا / کلید محلی مستقل |
| لیوارا (Livara) | بله (AES-256-GCM + معماری v7) | غیرقابل خواندن بدون کلید v7 | بالا / کلید محلی مشتقشده از v7 |
طبق مدل تهدید لیوارا، کانالهای عمومی بهمنظور امکان مدیریت و حذف محتوای مخرب، بر خلاف چتهای شخصی و گروهها، رمزنگاری سرتاسری نمیشوند. این تفکیک شفاف، مرز میان گفتگوهای خصوصی و بسترهای همگانی را مشخص میسازد.
پرسشهای متداول
آیا ابزار Cellebrite میتواند رمزنگاری اختصاصی دیتابیس لیوارا را دور بزند؟
خیر. ابزار Cellebrite UFED ساختار فایلها را استخراج میکند، اما دیتابیس محلی لیوارا با الگوریتم AES-256-GCM و کلید ۲۵۶ بیتی v7 رمزنگاری شده است. بدون کلید محلی یا عبارت بازیابی، دادههای استخراجشده به صورت بایتهای نامفهوم باقی میمانند.
تفاوت امنیت چتهای خصوصی و کانالهای عمومی لیوارا در چیست؟
چتهای شخصی و گروهی با پروتکلهای LVR1 و LGS1 رمزنگاری سرتاسری و محلی دارند. کانالهای عمومی به عنوان بستر پخش همگانی، رمزنگاری سرتاسری ندارند تا امکان بررسی گزارشها و حذف محتوای متخلفانه توسط سرور وجود داشته باشد.
در صورت خاموش بودن گوشی (حالت BFU)، امکان استخراج دیتابیس چقدر است؟
در حالت BFU، کلیدهای سختافزاری گوشی هنوز آزاد نشدهاند. ابزارهای فورنزیک بدون داشتن اکسپلوییت سختافزاری عمیق، امکان استخراج سیستم فایل را ندارند و لایههای رمزنگاری محلی نیز مانع بعدی دسترسی به دادهها هستند.
آیا قطعی اینترنت تأثیری بر عملکرد کلیدهای رمزنگاری محلی دارد؟
خیر. کلیدهای رمزنگاری دیتابیس و الگوریتمهای ML-KEM-768 بر پایه FIPS 203 بهصورت بومی روی دستگاه پردازش میشوند و در شرایط قطع اینترنت نیز امنیت داده در حالت سکون حفظ میشود.
تیم لیوارا نویسنده جمعی داخلی این مطلب است. این نام به معنای بازبینی مستقل نیست؛ ادعاها را با منابع و محدودیتهای ذکرشده بسنجید.
