به محتوا بروید
بازگشت به Nymchat

پایگاه دانش صحبت کردن با مردم

رمزگذاری مقاوم در برابر کوانتومی

پیام های خصوصی و چت های گروهی بین کاربران Nymchat را می توان رمزگذاری کرد که ضبط آنها امروز برای مهاجم چیزی نمی‌خرد، حتی زمانی که کامپیوترهای کوانتومی وارد شوند.

مشکلی که حل میکنه

رمزگذاری Nostr معمولی - NIP-44، که چیست پیام های خصوصی و چت های گروهی ساخته شده اند - دارای دو نیمه است. نیمی که در واقع متن را درهم می کند (ChaCha20، HMAC-SHA256، HKDF) به خوبی در برابر یک کوانتومی نگه می دارد کامپیوتر نیمه ای که در مورد کلید موافق است، چنین نیست.

این توافق کلیدی منحنی بیضوی Diffie-Hellman در secp256k1 است، همان ریاضیاتی که بیت کوین از آن استفاده می کند. الگوریتم Shor به طور کامل آن را حل می کند. هر کسی که آن را با کلید عمومی اجرا کند، آن را بازیابی می کند کلید خصوصی، و با آن هر راز مشترکی که آن کلید تا کنون تولید شده است.

اکنون برداشت کنید، بعدا رمزگشایی کنید

این مشکلی نیست که با ورود کامپیوترهای کوانتومی شروع شود. یک حریف به اندازه کافی ذخیره سازی می تواند ترافیک رمزگذاری شده را ضبط کند امروز، روی آن بنشینید و سال ها بعد آن را رمزگشایی کنید. هر چیزی که اکنون ارسال می کنید و هنوز اهمیت دارد، قبلاً فاش شده است. آن خاص است حمله به این ویژگی شکست.

چگونه کار می کند

Nymchat فرمت پیام NIP-44 را کاملا به تنهایی ترک می کند. قرارداد کلیدی که در حال حاضر از آن استفاده می کند ناخوشایند است؛ یکی دوم، مستقل در اطراف آن اضافه می شود.

  • استاندارد secp256k1 ECDHدقیقا مثل قبل؛
  • ML-KEM-768، الگوریتم پس کوانتومی NIST استاندارد شده است FIPS 203. امنیت آن بر روی مسائل شبکه استوار است که الگوریتم Shor به آنها دست نمی دهد.

این دو هستند مخلوط و نه مخلوطپیام با NIP-44 رمزگذاری شده است دقیقا همانطور که همیشه بود، و این متن رمزگذاری کامل سپس برای دومین بار در طبقه پس از کوانتوم - ChaCha20-Poly1305، کلید از راز مشترک ML-KEM بسته شده است. کلید فرستنده، کلید دریافت کننده، متن رمزگذاری encapsulation و کلید ML-KEM دریافت کننده به این derivation به عنوان مکانیسم بسته شده اند، بنابراین یک لایه نمی تواند از یک تبادل خارج شود و بر روی دیگری تکرار شود.

یک ترکیبگر مانند X-Wing یا Signal PQXDH هر دو راز را به جای یک کلید مخلوط می کند. Nymchat این کار را انجام نمی دهد و دلیل آن عملی تر از رمزگذاری است: مخلوط کردن نیاز به خروج ECDH خام دارد و یک گسترش مرورگر یا امضای از راه دور هرگز آن را به عقب نمی رساند - آن یک متن رمزگذاری کامل را باز می گرداند، که کل نقطه نگه داشتن کلید است که اپلیکیشن نمی تواند به آن دسترسی داشته باشد.

ویژگی های مهم در هر صورت یکسان است: نتیجه حداقل به اندازه نصف قوی ترخواندن پیام به این معنی است که از هر دو طبقه عبور کنید.اگر رمزگذاری لاتین ضعیف تر از انتظار می رود، شکستن ML-KEM فقط لایه بیرونی را قطع می کند و NIP-44 امروز را زیر آن باقی می گذارد.اگر secp256k1 به یک کامپیوتر کوانتومی می افتد، لایه داخلی باز می شود، اما لایه خارجی آن را نمی کند.

هر پیام یک تبادل جدید پس از کوانتومی دریافت می کند، بنابراین بازیابی کلید یک پیام آشکار می شود هیچ چیز در مورد دیگران

نیمی پس از کوانتوم به یک کلید خاص نیاز دارد و از کجا این کلید می آید، آن چیزی است که تصمیم می گیرد که آیا کل چیزی ارزش دارد. نه کار از شما nsecیک کامپیوتر کوانتومی که نصف کلاسیک را قطع می کند، شما را باز می گرداند. nsec از کلید عمومی شما، و هر چیزی که از nsec از طریق یک فرمول منتشر شده با آن بیرون می آید - دو قفل توسط یک قطع باز شده است. کد پس از کوانتوم برای هر حساب، یک بار، از بیتی های تصادفی که هیچ ارزش عمومی را نشان نمی دهد. nympq1… در کنار تو نشسته ای nsec در جزئیات Nym شما، نشان داده شده و به همان روش کپی شده است. این یک رمز عبور نیست و نه یک ثبت نام دوم: این مواد کلیدی است که شما می توانید ذخیره کنید، دقیقا مانند nsec.

چیزی برای روشن کردن وجود ندارد

این یک تنظیم نیست. رمزگذاری پس کوانتومی به سادگی نحوه صحبت Nymchat با Nymchat است رمزگذاری معمولی به همان شکلی است که با هر چیز دیگری صحبت می کند. به طور خودکار اعمال می شود هر پیام خصوصی و چت گروهی با یکی دیگر از کاربران Nymchat.

تنظیمات &rsaquo؛ حفظ حریم خصوصی و امنیت نشان می دهد که آیا فعال است و چه تعداد از تماس های شما در حال حاضر به دست می آید، اما فقط به عنوان اطلاعات - هیچ اتصال وجود ندارد.

این کار به هر صورت که شما ثبت نام کنید کار می کند. یک گسترش مرورگر (NIP-07) یا ثبت نام از راه دور (NIP-46) هرگز کلید هویت خود را به برنامه هدایت نمی کند، که همه چیز از آن استفاده می شود - و لازم نیست. دو نیمه رمزگذاری جدا می شوند: امضاء کننده شما بخشی را انجام می دهد که همیشه انجام داده است، و برنامه قسمت پس از کوانتوم را با کد بازسازی شما انجام می دهد، که آن را به طور مستقیم نگه می دارد.

هر پیام در تاریخچه شما در هر دستگاه قابل خواندن با هیچ چیز جز شما باقی می ماند. nsecهمان طور که قبلاً گفته بود، و در این صورت برای زندگی حساب. nympq1… کد بازگرداندن مواد مقاوم کوانتومی است که از الان نوشته شده است: پیام های جدید، و تنظیمات همگام شده و آرشیو هایی که با آنها سفر می کنند.

بنابراین یک دستگاه باید این کد را نگه دارد قبل از اینکه بتواند آن ها را باز کند، و اضافه کردن یک دستگاه در حال حاضر یک مرحله اضافی است. nympq1… کد از یک دستگاه که در حال حاضر آن را دارد. این یک بار در هر دستگاه است، نه یک بار در هر ثبت نام. این مرحله تشنج نیست که ما نتوانستیم حذف: یک کد که می تواند به دستگاه جدید خود می رسد باید در داخل یک پیام معمولی سفر کند، و این پیام دقیقا همان چیزی است که حمله کننده این ویژگی وجود دارد برای متوقف کردن ثبت شده است.

این اپلیکیشن باعث ایجاد nympq1… کد برای شما، بنابراین هیچ چیز برای انتخاب و هیچ چیز برای اختراع وجود دارد. مشاهده یا ترمیم جزئیات Nymپس از کلید خصوصی NIMM و کد بازسازی را نشان دهیدبه طور مستقیم زیر شما قرار دارد. nsecبا همان نمایش و کپی دکمه. شما هرگز نیاز به فکر کردن در مورد آن تا روزی که شما اضافه کردن یک دستگاه دوم.

یک دستگاه غیر مرتبط در این میان بسته نمی شود.آنها همیشه همه چیز را که تحت رمزگذاری قدیمی نوشته شده است می خوانند و به طور معمول ارسال می کنند، و هنگامی که شما آن را متصل می کنید، آن را باز می کند و پیام های مقاوم کوانتومی را باز می کند که قبل از آن نمی توانست آن را بخواند.

سایر دستگاه های شما

یک دستگاه دوم نیاز به دو چیز دارد: یک نسخه فعلی از برنامه، و nympq1… کد قدیمی کار می کند - آن را قطع نمی کند - اما نمی تواند فرمت فعلی را بخواند، بنابراین در حالی که هنوز در حساب است، کپی هایی که برای خودتان نگه دارید به همان قدیمی که می تواند برگردد.

با چه کسی آن را دریافت می کنید

هر یک از مشتریان Nymchat یک اعلامیه امضا شده کوچک را منتشر می کند که به آن اشاره می کند و کلید پس از کوانتوم آن را شامل می کند، هنگامی که آن را دارد. نگه داشتن یک اعلامیه معتبر برای کسی است که باعث می شود که اپلیکیشن از تبادل قوی تر با آنها استفاده کند. هیچ مذاکره ای وجود ندارد: یا کلید وجود دارد یا نیست، و از آنجا که اعلامیه توسط نویسنده آن امضا شده است، کلید جایگزین باید جعلی شود به جای فقط خدمت می شود.

چه حمله کننده ای که یک رله را کنترل می کند می تواند کاری که انجام می دهید این است که اعلامیه را نگه دارید، بنابراین فرستنده هیچ وقت یک کلید را نمی بیند و به رمزگذاری معمولی باز می گردد. که ارزش آن را به طور واضح بیان می کند. این هزینه های محافظت پس از کوانتوم برای این پیام ها است؛ آن را نمی تواند یکی غیر قابل خواندن، و آن را نمی تواند شما را به پذیرش یک کلید که شما نیست.

این اعلامیه ها یک هفته طول می کشد و هر روز خود را تازه می کنند در حالی که شما از این برنامه استفاده می کنید.اگر شما طولانی تر از آن هستید، شما را از دست می دهد و شما را به عنوان یک مشتری معمولی Nostr برای یک مدت خوانده می شود: پیام های ارسال شده به شما در این فاصله به طور معمول به جای روش ضد کوانتوم رمزگذاری شده است. آنها هنوز هم می آیند، و شما هنوز هم می توانید آنها را بخوانید - و هیچ چیز که شما قبلا دریافت کرده اید تحت تاثیر قرار می گیرد. باز کردن برنامه اعلامیه شما را بازگرداند، و رمزگذاری قوی تر به خود ادامه می دهد. هیچ چیز برای بازسازی وجود ندارد.

بقیه دقیقاً مثل قبل کار می کنند. Bitchat کاربران و هر مشتری دیگر ما استاندارد را دریافت می کنند NIP-17هیچ چیز از بین نمی رود هنگامی که شما پیام به کسی خارج از Nymchat.

یک پیام پسا کوانتومی جایگزین می کند استاندارد به جای ارسال در کنار آن. ارسال هر دو بی معنی خواهد بود: یک مهاجم به سادگی نسخه ضعیف تر را می شکند.

رونوشت های خطاب به شما آن را نیز دریافت کنید - آن چیزی که دستگاه های دیگر شما می خوانند، بایگانی پشت آن، و تنظیمات همگام‌سازی‌شده شما، که به همان سمت حرکت می‌کنند و شما را حمل می‌کنند لیست مکالمه، کلیدهای گروه و سابقه پیام شما. گذاشتن هر کدام از آن‌ها روی قدیمی رمزگذاری آنها را ضعیف‌ترین چیزی می‌سازد که ذخیره می‌کنید: قابل خواندن برای هر کسی که خراب می‌کند رمزنگاری امروزی، مهم نیست که خود پیام ها چقدر با دقت مهر و موم شده اند.

قابل خواندن توسط Bitchat

Bitchat نمی تواند قالب پیام Nymchat را بخواند، بنابراین Nymchat از نظر تاریخی نسخه دوم را ارسال کرد هر پیام در قالب Bitchat برای هر کسی که ممکن است از آن استفاده کند - که برای کسی شما هرگز نشنیده بودید، یعنی همه.

اعلامیه بالا این حدس زدن را غیر ضروری می کند. اگر کسی یکی را منتشر کرده باشد Nymchat را اجرا کنید، بنابراین کپی Bitchat حذف می شود و فقط پیام قوی تر ارسال می شود. اگر آنها هیچ چیز تغییر نکرده است: آنها هنوز هر دو فرمت را دریافت می کنند، دقیقاً مانند قبل، بنابراین هیچ چیز ممکن است ارسالی شما غیرقابل خواندن باشد زیرا برنامه در مورد اینکه کدام مشتری از کدام مشتری استفاده می کند اشتباه حدس زده است.

مانند خود رمزگذاری، این رمزگذاری خودکار است و تنظیماتی ندارد.

چرا فقط از فعالیت های عمومی حدس نمی زنیم

Nymchat می‌تواند استنباط کند که چه کسی چه چیزی را از فعالیت کانال عمومی اجرا می‌کند و متوجه می‌شود مردم زودتر اما این استنباط گاهاً اشتباه است و اشتباه بودن در اینجا به معنای آن است ارسال پیام به کسی که برنامه او باز نمی شود، بدون خطا و بدون تلاش مجدد. منتشر شده است اعلامیه توسط نویسنده آن امضا شده است و قابل جعل نیست، بنابراین به جای آن استفاده می شود.

در چت های گروهی

پیام های گروه قبلاً برای هر عضو به طور جداگانه رمزگذاری شده است، بنابراین یک گروه می تواند هر دو نوع را ترکیب کند آزادانه – اعضایی که مشتریانشان از آن پشتیبانی می‌کنند، رمزگذاری قوی‌تری دریافت می‌کنند، بقیه آن را دریافت می‌کنند استاندارد، و گروه به طور معمول در هر دو صورت کار می کند.

به همین دلیل، یک پیام گروهی فقط زمانی مشخص می شود که در برابر کوانتومی مقاوم باشد هر عضو آن را به این شکل دریافت کرد. اگر حتی یک نسخه از مبادله استاندارد استفاده کرده باشد، آن کپی همان را دارد پیام، بنابراین پیام به عنوان یک کل فقط به اندازه ضعیف ترین نسخه محافظت می شود. برنامه می گوید "مقاوم در برابر کوانتومی به 8 عضو از 10 عضو" به جای گرد کردن.

چت های گروهی نیز خود را حفظ می کنند چرخش کلیدهای یکبار مصرف، که پنهان می کند که چه کسی در یک گروه است از هر کسی که یک رله را تماشا می کند. این محافظت بی‌تأثیر است و دقیقاً همانطور که عمل می‌کرد.

خواندن نشان

هر پیام خصوصی و گروهی دارای یک پیام کوچک است. سپر در کنار دکمه، هر یک از علائم نشان می دهد که چه چیزی نشان می دهد.

علامت گذاری کنیدمعنی
قفلچه کسی آن را ارسال کرد - آیا امضا با نویسنده ادعا شده مطابقت دارد یا خیر.
سپرهر دو طرف یک کد پس از کوانتوم خود را داشتند و تبادل هیبرید برای هر نسخه از این پیام استفاده می شد.
سپر شکستهبه طور جزئی ضد کوانتوم – یک پیام گروهی که تنها برخی از اعضای یک نسخه محافظت شده از آن دریافت کرده اند.از آنجا که دیگران همان متن را حمل می کنند، پیام را به طور معمول به طور کلی رمزگذاری می کنند.
پشتیبان سایبریرمزنگاری استاندارد NIP-44 - هنوز هم از پایان به پایان رمزنگاری شده است، و هنوز هم غیر قابل خواندن برای هر کسی به جز شرکت کنندگان امروز.
بدون سپرپست های کانال عمومی بر اساس طراحی در رله قابل خواندن هستند، بنابراین هیچ علامت رمزگذاری مورد استفاده قرار نمی گیرد.

یک نشانه ناپذیر بی معنی خواهد بود - آن هم می تواند به معنای “نه ضد کوانتوم”، “این ساخت بسیار قدیمی است”، یا “نظارت ناپذیر است” - و یک نشانه امنیتی که نمی تواند از یک ناپذیر جدا شود، چیزی به شما نمی گوید.

به جای جای جایگزین کردن آن، آن دو به سوالات مختلف پاسخ می دهند و یک پیام می تواند یکی بدون دیگری باشد - ضد کوانتوم اما از یک فرستنده غیر تصدیق شده، یا تصدیق شده اما به طور معمول رمزگذاری شده است.

پیام های قدیمی محافظت از سایه عبور به طور دائم. هر چیزی که پیش از آنکه هر دو طرف در یک ساخت ضد کوانتوم قرار گرفتند، با تبادل معمول بسته شد، و این متن رمزنگاری در رله ها وجود دارد - پس از این واقعیت نمی تواند دوباره بسته شود.

کاری که انجام نمی دهد

این محافظت می کند مطالب از پیام های شما هر بخشی از آن را نمی سازد Nostr کوانتومی مقاوم است، و ارزش آن را دارد که در مورد تفاوت دقیق باشیم.

  • امضاها هنوز secp256k1 هستند. Nostr هویت با Schnorr در همان منحنی دشمنی که قبلاً یک کامپیوتر کوانتومی کار می‌کرد، می‌توانست الف امضا و جعل هویت شخصی در زمان واقعی. چیزی که تبادل ترکیبی متوقف می شود خواندن است ترافیک ثبت شده - محرمانه بودن، نه احراز هویت.
  • هیچ راز پیشین وجود ندارد. هر دو کلید طولانی عمر دارند: NIP-44 کلید خود را از nsecو لایه پس از کوانتوم به کلید ML-KEM پشت شما بسته می شود. nympq1… هر پیام یک کپسول تازه ای دریافت می کند، بنابراین کلید یک پیام دیگر را باز نمی کند، اما کسی که به پایان می رسد این کلید های طولانی مدت را نگه دارد می تواند همه چیز را که هرگز ثبت شده است، نه فقط آنچه بعد از آن آمد، بخواند. انتشار پیام ها کاهش، و به همین دلیل است که این ویژگی به زایمان-در حال حاضر-دسایت-در نهایت به جای یک کلید که گرفته می شود هدف قرار گرفته است.
  • متادیتا بدون تغییر است. یک رله هنوز می بیند که یک رویداد به آن خطاب شده است یک کلید، و تقریباً چه زمانی. که توسط بسته بندی هدیه و کلیدهای یکبار مصرف، نه توسط این
  • شبکه بلوتوث پوشش نشده است. پیام هایی که از طریق Mesh سفر در داخل یک جلسه صدا XX، که قوی، رمزنگاری فعلی است اما یک تبادلات کلاسیک کلید - بنابراین آن را به طبقه پس از کوانتوم، حتی بین دو کاربران Nymchat حمل نمی کند. این علامت نشان می دهد این: یک پیام ارائه شده بر روی شبکه نشانه ضد کوانتوم نیست. اضافه کردن آن به معنای تغییر دست زدن خود را، که هر دو همکار باید در همان لحظه انجام دهد، بدون رله به عقب برود و در حالی که خوانده شده توسط Bitchat باقی می ماند.
  • کد بازسازی شما یک چیز دوم است که باید حفظ کنید. آغاز می شود با nympq1 و شما آن را در جزئیات Nymدر همان صفحه ای که شما nsec - دکمه ی nym خود را، سپس &ldquo؛دکمه خصوصی این nym را و کد بازسازی را نشان دهید. nsec به تنهایی، کلید پستی کوانتوم شما را بازسازی نمی کند - به همین دلیل که کار می کند - بنابراین اگر هیچ دستگاه آن کد را نگه نمی دارد و شما هیچ نسخه ای از آن ندارید، آنچه به آن بسته شده است نمی تواند دوباره باز شود. nsec.
  • نمی تواند از کاری که طرف مقابل انجام می دهد محافظت کند. گیرنده همچنان می‌تواند از صفحه‌نمایش عکس بگیرد، یک پیام را کپی یا نگه دارید

این همان موقعیتی است که سیگنال با ارتقاء پس کوانتومی خود می گیرد: تعویض کلید را تعمیر کنید اکنون، زیرا این همان بخشی است که مهاجم می تواند به صورت عطف به ماسبق روی آن عمل کند و امضاها را به عنوان یک تلقی کند مشکل جداگانه برای زمانی که استانداردها به عقب برسند.

بررسی کار

اجرای ML-KEM در مقابل رسمی آزمایش می شود بررسی وکتورهای NIST برای FIPS 203، بنابراین آن را در برابر استاندارد خود به جای فقط در برابر خود بررسی می شود. برنامه وب و برنامه تلفن همراه علاوه بر این به یک مجموعه مشترک از وکتور های تست، که این است که تضمین می کند که یک پیام نوشته شده توسط یکی می تواند توسط دیگری خوانده شود.

هر دو منبع باز تحت AGPL-3.0، و ساخت های نرم افزار وب قابل تکرار هستند - ببینید تایید ساختن.

عمیق تر می شود: توافق پس از کوانتوم کلید در Nymchat یک کتاب سفید فنی در مورد نحوه توزیع کلید ML-KEM بدون دیپلماتیک، ساختار دقیق که دو تبادل کلید را ترکیب می کند و طرح هایی که رد شده اند.