EverCrypt: یک کتابخانه تأیید رمزنگاری

پروژه اورست

محققان از موسسه دولتی تحقیقات در انفورماتیک و اتوماسیون (INRIA), تحقیقات مایکروسافت و دانشگاه کارنگی ملون ارائه دادند اولین نسخه آزمایشی کتابخانه رمزنگاری EverCrypt در چارچوب پروژه اورست و با استفاده از روش های ریاضی برای بررسی قابلیت اطمینان رسمی توسعه یافته است.

برای قابلیت ها و عملکرد آن ، EverCrypt بسیار نزدیک به کتابخانه های رمزنگاری موجود است (OpenSSL) اما برخلاف آنها ، تضمین های بیشتری در مورد قابلیت اطمینان و امنیت ارائه می دهد.

به عنوان مثال: روند تأیید تا تعریف مشخصات دقیق خلاصه می شود که تمام رفتارهای برنامه را توصیف می کند و اثبات ریاضی که کد نوشته شده است با مشخصات آماده شده مطابقت دارد

برخلاف روشهای کنترل کیفیت مبتنی بر شواهد ، تأیید تضمین های قابل اطمینان را ارائه می دهد که این برنامه فقط همانطور که توسعه دهندگان در نظر گرفته اند اجرا خواهد شد و هیچ نوع خطای خاصی وجود ندارد.

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

EverCrypt چیست؟

EverCrypt نوع و ارزش محکم را بررسی می کند- یک م neverلفه هرگز پارامترها را به م componentلفه غیر سازگار دیگر منتقل نمی کند و به حالت های داخلی م componentsلفه های دیگر دسترسی نخواهد داشت.

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

برای محافظت در برابر حملات در کانال های شخص ثالث ، رفتار هنگام محاسبات (به عنوان مثال ، مدت زمان اجرا یا وجود دسترسی به حافظه خاص) این به داده های سری پردازش شده بستگی ندارد.

کد پروژه به زبان عملکردی F * نوشته شده است (ستاره F) , که سیستمی از انواع وابسته و اصلاحات را فراهم می کند، که امکان ایجاد مشخصات دقیق (مدل ریاضی) برای برنامه ها و تضمین صحت و عدم وجود خطا در پیاده سازی با استفاده از فرمول های SMT و ابزار آزمون کمکی را فراهم می کند.

کد موجود در F * تحت مجوز Apache 2.0 و ماژول های نهایی در C و اسمبلر تحت مجوز MIT توزیع می شود.

بر اساس کد مرجع F * ، اسمبلر ، C ، OCaml ، جاوا اسکریپت تولید می شود و کد مونتاژ وب.

بعضی از قسمتهای کد آماده شده توسط این پروژه قبلاً در Firefox ، هسته ویندوز استفاده شده است ، زنجیره بلوک از Tezos و VPN Wireguard.

اجزای EverCrypt

در اصل ، EverCrypt دو ​​پروژه متفاوت قبلاً متفاوت از HACL * و Vale را با هم ترکیب می کند، تهیه یک API یکپارچه بر اساس آنها و مناسب ساختن آنها برای استفاده در پروژه های واقعی.

HACL * به صورت کم نوشته شده است* و هدف آن تهیه مبانی رمزنگاری برای استفاده در برنامه های C است که آنها از API های سبک libsodium و NaCL استفاده می کنند.

ال proyecto واله زبان خاصی را توسعه داد دامنه برای ایجاد تأیید در اسمبلر.

حدود 110 هزار خط کد HACL * به زبان Low * و 25 هزار خط کد برای Vale ترکیب شده است و آنها در حدود 70 هزار خط کد به زبان جهانی F * بازنویسی می شوند ، که همچنین در حال توسعه است به عنوان بخشی از پروژه اورست.

اولین نسخه از کتابخانه EverCrypt ویژگی های تأیید شده از الگوریتم های رمزنگاری زیر است ارائه شده در نسخه های C یا اسمبلر (هنگام استفاده از.

از این موارد ، موارد زیر در صفحه پروژه برجسته است:

  • الگوریتم های هش: همه انواع SHA2 ، SHA3 ، SHA1 و MD5
  • کد احراز هویت: HMAC بیش از SHA1 ، SHA2-256 ، SHA2-384 و SHA2-512 برای احراز هویت منبع داده
  • الگوریتم تولید کلید HKDF (استخراج مبتنی بر HMAC و گسترش عملکرد مشتق کلیدی)
  • رمزگذاری جریان ChaCha20 (نسخه C غیربهینه شده موجود است)
  • Poly1305 الگوریتم احراز هویت پیام (MAC) (نسخه C و اسمبلر)
  • پروتکل Diffie-Hellman در منحنی های بیضوی Curve25519 (نسخه های C و اسمبلر با بهینه سازی بر اساس دستورالعمل های BMI2 و ADX)
  • مسدود کردن حالت رمزگذاری AEAD (رمزگذاری معتبر) ChachaPoly (نسخه C بهینه نشده است)
  • حالت رمزگذاری بلوک AEAD AES-GCM (نسخه اسمبلر با بهینه سازی های AES-NI).

در ابتدا نسخه آلفا ، تأیید کد قبلاً کامل شده است به طور عمده ، اما هنوز برخی مناطق کشف نشده وجود دارد.

علاوه بر این، API هنوز تثبیت نشده است، که گسترش خواهد یافت در نسخه های زیر آلفا (برنامه ریزی شده است که ساختارها برای همه API ها متحد شود.

در میان این نقایص ، پشتیبانی از معماری x86_64 نیز برجسته شده است (در مرحله اول ، هدف اصلی قابلیت اطمینان است ، در حالی که بهینه سازی و سیستم عامل ها در مرحله دوم اجرا می شوند).

Fuente: https://jonathan.protzenko.fr


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.