LUKSbox: فایلهای رمزنگاریشده مقاوم در برابر کوانتوم
خلاصهٔ کاملتر
اگه فایلهای حساست رو روی Google Drive، Dropbox، iCloud یا هر سرویس کلود دیگهای ذخیره میکنی، باید بدونی که اونها با کلید خودشون دادههاتو رمز میکنن — یعنی در صورت درخواست قانونی یا نقض امنیتی، اطلاعاتت در معرض خطره. LUKSbox این مشکل رو حل میکنه: قبل از اینکه فایل از دستگاهت خارج بشه، اون رو زیر کلید خودت رمز میکنه.
یه vault در LUKSbox یه فایل .lbx ـه که برای ارائهدهنده سرویس کاملاً شبیه یه blob تصادفیه — هیچ سرنخ، نسخه یا کیسلاتی توش دیده نمیشه. اگه بخوای امنیت بیشتری داشته باشی، میتونی هدر (.hdr) رو جدا نگه داری. علاوه بر این، یه فایل کمکی به اسم .anchor وجود داره که هرگونه rollback (برگردوندن به نسخه قدیمیتر فایل) رو شناسایی میکنه — چیزی که اکثر ابزارهای مشابه ازش غافلن.
معماری رمزنگاری LUKSbox روی یه Master Volume Key یا MVK بنا شده. تمام کیسلاتها (passphrase، FIDO2، TPM، کلید پستکوانتوم) مستقیماً فایلها رو رمز نمیکنن — بلکه فقط MVK رو میپیچن. وقتی یه کیسلات MVK رو باز کرد، تمام کلیدهای دیگه از طریق HKDF-SHA256 از اون مشتق میشن:
Unlock material (passphrase / FIDO2 / TPM / ML-KEM)
→ KEK (Key Encryption Key)
→ MVK (Master Volume Key)
→ Per-file HKDF keys
→ Header HMAC key
→ Anchor HMAC key
برای مقابله با تهدید «الان جمع کن، بعداً رمزگشایی کن» که با کامپیوترهای کوانتومی ممکن میشه، LUKSbox از ML-KEM-768/1024 (استاندارد FIPS 203) در کنار الگوریتمهای کلاسیک استفاده میکنه. هر chunk فایل با AES-256-GCM-SIV (بهصورت پیشفرض) رمز میشه و اطلاعات اضافهای مثل file_id، chunk_index و generation بهعنوان AAD بهش متصله تا جابجایی یا جایگزینی chunkها قابل تشخیص باشه.
این پروژه هنوز در مرحله پیش از ۱.۰ ـه، ولی فرمت دیسکی تثبیت شده، بیش از ۲۰۰ تست خودکار داره، و بیش از ۳۰ میلیون iteration فازینگ روی ۱۰ harness مختلف انجام شده. ممیزی خارجی هنوز انجام نشده ولی طبق اعلام تیم در دست اقدامه. بهخاطر داشته باش که LUKSbox برای نسخه سفری فایله، نه نسخه اصلی — همیشه یه بکاپ رمزنگارینشده در جای مطمئن نگه دار.
نکات کلیدی:
- فایل vault قبل از خروج از دستگاه رمز میشه؛ ارائهدهنده کلود هیچ دسترسیای نداره
- پشتیبانی از FIDO2، TPM 2.0، و الگوریتم پستکوانتوم ML-KEM
- شناسایی rollback و جابجایی chunk از طریق HMAC و AAD
- متنباز با مجوز Apache-2.0، نوشتهشده با Rust
- هنوز پیش از نسخه ۱.۰ — ممیزی خارجی هنوز انجام نشده




