کلیدهات هیچوقت دستگاهت رو ترک نمیکنن.
کلیدها تو مرورگرت با libsodium ساخته میشن. با پسوردی که خودت انتخاب میکنی (Argon2id + XSalsa20-Poly1305) رمزنگاری میشن قبل از ذخیره. هیچ سرور Morphit هیچوقت اونها رو نمیبینه.
چی قول میدیم، و این برات یعنی چی.
کلیدها تو مرورگرت با libsodium ساخته میشن. با پسوردی که خودت انتخاب میکنی (Argon2id + XSalsa20-Poly1305) رمزنگاری میشن قبل از ذخیره. هیچ سرور Morphit هیچوقت اونها رو نمیبینه.
بدون کوکی. بدون تحلیلگر. بدون اسکریپت شخص ثالث. بدون تلهمتری. آدرس IP شما مثل هر وبسایتی به سروری که استفاده میکنید میرسد؛ کد Morphit آن را فقط برای محدودسازی نرخ در حافظه نگه میدارد و هرگز روی دیسک یا در لاگ نمینویسد. زبانهٔ Network مرورگرتان را ببینید.
گرداننده میتواند گرهای از Morphit راه بیندازد که هرگز به اینترنت کلیرنت دست نمیزند. خواندن زنجیره و بهروزرسانیها از طریق Tor و I2P انجام میشوند؛ بررسی کارمزدهای BTC/XMR و قیمتها از سرویسهای onion (کاوشگرهای بلاک، سرورهای قیمت Haveno و Bisq) و از دیگر گرههای Morphit میآیند؛ هر بهروزرسانی فقط وقتی نصب میشود که با هشی که @morphit روی زنجیره امضا کرده مطابقت داشته باشد. حتی خود سیستم سرور هم از کلیرنت دور میماند: بهروزرسانی بستهها از Tor میگذرد و ساعت با سرویسهای onion تنظیم میشود. نرمافزار کلیرنت را رد میکند و یک دیوار آتش فقط به Tor و I2P اجازهٔ خروج میدهد؛ اگر Tor مسدود باشد، گره خودش به پلها (bridges) میرود. گره فقط وقتی ادعای صفر کلیرنت میکند که بررسیهای خودش موفق شوند، و گرههای دیگر آن را بهعنوان اظهار خود همان نمونه نشان میدهند: نمیتوانند آن را تأیید کنند. (کسی که خط سرور را زیر نظر دارد همچنان میتواند ببیند که I2P روی آن اجرا میشود.)
هر پیام پیش از ترک مرورگر شما در همانجا رمزنگاری میشود (X25519 و ChaCha20-Poly1305 از libsodium)، با یک کلید یکبارمصرف تازه که با کلیدهای گفتگوی هر دوی شما ترکیب میشود؛ پس فقط شما و طرف مقابل میتوانید آن را بخوانید و طرف مقابل میداند که واقعاً از طرف شماست. هیچ سروری کلیدی ندارد که آن را باز کند. کلید طرف مقابل سنجاق میشود: اگر روزی تغییر کند، Morphit متوقف میشود و اول از شما میپرسد، و یک شمارهٔ امنیتی ۶۰ رقمی به شما امکان میدهد بیرون از Morphit یکدیگر را بررسی کنید. آنچه عمومی میماند پاکت است: پیامها روی زنجیرهٔ Blurt قرار دارند، پس دیده میشود چه کسی به چه کسی، کی و دربارهٔ کدام سفارش نوشته و هر پیام چه اندازه است، و رازداری پیشرو (forward secrecy) وجود ندارد. طرح کامل در docs/adr/0015-chat-crypto.md آمده است.
هر نسخه از یک برچسب git امضاشده با GPG روی شاخهٔ main ساخته میشود و @morphit آن را روی زنجیرهٔ Blurt لنگر میکند: SHA-256 بستهٔ کد منبع و بستهٔ آفلاین، و هش فایلهایی که وبسایت را راه میاندازند (پوستهٔ صفحه، service worker، کد ورودی). مرورگر شما این رکورد امضاشده را مستقیماً از یک گرهٔ عمومی Blurt میخواند، نه از این سایت، فایلهایی را که این سایت تحویل داده با آن دوباره مقایسه میکند و هر فایلی را که فرق داشته باشد در یک هشدار قرمز نام میبرد؛ یک گره فقط وقتی بهروزرسانی را نصب میکند که مطابقت داشته باشد. این کار فایلی را که تصادفاً یا به دست سروری که بخشی از آن نفوذشده تغییر کرده آشکار میکند؛ اما نمیتواند شما را از گردانندهٔ متخاصم محافظت کند، چون کد بررسی را هم او تحویل میدهد. اسکریپتها Subresource Integrity ندارند و ساختها هنوز بایتبهبایت تکرارپذیر نیستند، پس دانلود را با هش و امضای آن بررسی میکنید (docs/VERIFY-YOUR-DOWNLOAD.md)، نه با ساختن دوباره.
مدل تهدید کامل در docs/SECURITY.md مخزن هست. صراحتاً میگیم در برابر چی محافظت میکنیم و در برابر چی نه — وانمود کردن بدتر از صداقته.
ما یک برنامه تشخیص امنیتی اختیاری اجرا میکنیم. هر یافته قابل اقدام توسط یک مهندس واقعی بررسی میشود، پاسخ میگیرد و — اگر به طور قابل توجهی وضعیت امنیتی Morphit را بهبود بخشد — در BLURT (پرداخت از @morphit-fees) یا BTC پاداش داده میشود، که بر اساس شدت و کیفیت گزارش مقیاس میشود. هیچ جدول سطح ثابتی وجود ندارد؛ داوری مورد به مورد. اعتبار تالار مشاهیر حتی بدون پرداخت در دسترس است. دامنه کامل، راهنمای شدت، گردش کار پرداخت و آنچه ما انجام نخواهیم داد (بدون NDA، بدون افشای انحصاری) در docs/SECURITY.md مستند شده است.
ما یک کاناری هفتگی که با کلید PGP اپراتور امضا شده است منتشر میکنیم. کاناری به صراحت اعلام میکند که هیچ NSL / FISA / دستور سکوت / درخواست در پشتی دریافت نشده است. اثباتهای تازگی شامل یک سرتیتر بلاکچین فعلی، یک سرتیتر زنجیره Bitcoin فعلی و یک تیتر خبری فعلی است (ثابت میکند که کاناری نمیتواند از پیش تولید شود). اگر کاناری برای بیش از ۱۴ روز بهروزرسانی نشود، آن را به عنوان ساکت در نظر بگیرید: اپراتور ممکن است تحت فشار اجباری باشد، و شما باید به اپراتور فدرال دیگری بروید.