درک عمیق از فناوری که تضمین میکند حتی سازنده اپ هم به دادههای شما دسترسی ندارد.
یک معماری امنیتی که در آن سرویسدهنده — یا هر شخص ثالثی — هیچگاه به اطلاعات خام کاربر دسترسی ندارد.
تصور کنید نامهای را در یک صندوق قفلدار میگذارید و صندوق را به پست میدهید. پستچی صندوق را حمل میکند، اما هرگز کلید ندارد — پس هرگز محتوا را نمیبیند. در معماری Zero-Knowledge، سرور همان «پستچی» است.
کلیدهای رمزنگاری روی دستگاه شما تولید و نگهداری میشوند. هرگز به سرور ارسال نمیشوند.
حتی اگر سرور هک شود، مهاجم فقط به دادههای رمزشده دسترسی دارد — بیمعنی و غیرقابل خواندن.
حریم خصوصی به نیت شرکت یا قراردادها وابسته نیست — بلکه به معادلات ریاضی تکیه دارد که شکستنشان غیرممکن است.
در معماری ZK، دانش اطلاعات بین ذینفعان به این شکل توزیع میشود:
در یک سیستم Zero-Knowledge، داده قبل از خروج از دستگاه رمزنگاری میشود. سرور فقط با «رمز» سروکار دارد، نه محتوا.
در تمام این مسیر، سرور فقط مرحله ۴ (متن رمزشده) را میبیند — و بدون کلید خصوصی که هرگز دستگاه شما را ترک نمیکند، آن را نمیتواند بخواند.
وقتی در ZKOK یک پیام رمز میکنید، زنجیرهای از عملیات رمزنگاری به ترتیب اجرا میشود.
فرستنده و گیرنده هر کدام یک جفت کلید Elliptic Curve دارند. الگوریتم X25519 با ترکیب کلید خصوصی فرستنده و کلید عمومی گیرنده، یک «راز مشترک» تولید میکند — بدون اینکه این راز از شبکه عبور کند.
راز مشترک مستقیماً برای رمزنگاری استفاده نمیشود. HKDF آن را به یک کلید AES-256 بیتی قوی تبدیل میکند، همراه با اطلاعات context برای جلوگیری از بازاستفاده.
متن با کلید مشتقشده و یک Nonce تصادفی رمز میشود. GCM یک تگ احراز هویت نیز تولید میکند که هرگونه دستکاری داده را آشکار میسازد.
خروجی شامل: Ciphertext + Nonce + Auth Tag است. این بسته را میتوان آزادانه منتقل کرد — بدون کلید خصوصی گیرنده، کاملاً بیمعنی است.
کلید خصوصی شما هرگز در این فرآیند از دستگاه خارج نمیشود. فقط کلید عمومی گیرنده لازم است که ذاتاً عمومی و قابل اشتراک است.
فقط گیرنده — که کلید خصوصی متناظر با کلید عمومی مورد استفاده را دارد — میتواند پیام را رمزگشایی کند. حتی فرستنده اصلی هم نمیتواند.
ریاضیات X25519 این خاصیت را دارد: X25519(privateA, publicB) = X25519(privateB, publicA). یعنی فقط کسی که کلید خصوصی B را دارد، میتواند همان راز مشترک را بازسازی کند. حتی اگر همه چیز دیگر را بداند.
Authenticated Encryption: تگ احراز هویت GCM تضمین میکند که حتی یک بیت از پیام رمزشده تغییر نکرده. دستکاری = شکست کامل رمزگشایی.
کلید خصوصی در Keystore: در اندروید، کلید خصوصی درون Hardware Security Module نگهداری میشود. حتی اپ نمیتواند مقدار آن را بخواند — فقط از آن عملیات رمزنگاری میگیرد.
هر لایه از ZKOK برای محافظت از حریم خصوصی طراحی شده، از تولید کلید تا نگهداری و استفاده.
کلید خصوصی در Hardware Security Module دستگاه قفل میشود. خروج از دستگاه فیزیکاً غیرممکن است — حتی با root.
هر عملیات رمزگشایی نیازمند تأیید اثر انگشت یا چهره است. بدون بیومتریک، Keystore کلید را آزاد نمیکند.
ZKOK هیچگاه به شبکه متصل نمیشود. تمام عملیات روی دستگاه است. هیچ سرور مرکزیای وجود ندارد.
در دستگاههایی بدون HSM، رمز عبور با Argon2id تبدیل به کلید میشود — مقاوم در برابر حملات brute-force و dictionary.
اگر متن رمزشدهای در کلیپبورد تشخیص داده شود، ZKOK پیشنهاد رمزگشایی میدهد — بدون نیاز به جایگذاری دستی.
فایل پشتیبان نیز کاملاً رمزنگاری شده است. بدون رمز عبور اصلی، بازیابی از بکاپ غیرممکن است.
تفاوت معماریهای مختلف امنیتی را در یک نگاه ببینید.
| ویژگی | Zero-Knowledge (ZKOK) | E2E معمولی | Cloud رمزنگاریشده | بدون رمزنگاری |
|---|---|---|---|---|
| سرور محتوا را میبیند؟ | ✗ هرگز | ✗ هرگز | ✓ بله | ✓ بله |
| کلید پیش کاربر است؟ | ✓ همیشه | ~ گاهی | ✗ خیر | ✗ خیر |
| هک سرور = دادههای شما؟ | ✗ خیر | ✗ خیر | ✓ بله | ✓ بله |
| حکومت میتواند اجبار کند؟ | ✗ خیر (ریاضی) | ~ شاید | ✓ بله | ✓ بله |
| نیاز به اینترنت؟ | ✗ خیر | ✓ بله | ✓ بله | ✓ بله |
| تأیید دستکاری نشدن؟ | ✓ GCM Tag | ~ بسته به پروتکل | ~ گاهی | ✗ خیر |
پاسخ سوالات فنی و غیرفنی که کاربران بیشتر میپرسند.