OpenSSL 3.0.0 د کریپټوګرافیک کتابتون خپرول

د دریو کلونو پراختیا او 19 ازموینې خوشې کولو وروسته، د OpenSSL 3.0.0 کتابتون د SSL/TLS پروتوکولونو او مختلف کوډ کولو الګوریتمونو پلي کولو سره خپور شو. په نوې څانګه کې هغه بدلونونه شامل دي چې د API او ABI په کچه شاته مطابقت ماتوي، مګر بدلونونه به د ډیری غوښتنلیکونو عملیات اغیزه ونکړي چې د OpenSSL 1.1.1 څخه مهاجرت لپاره بیا رغونې ته اړتیا لري. د OpenSSL 1.1.1 پخوانۍ څانګه به تر سپتمبر 2023 پورې ملاتړ وکړي.

د نسخې شمیر کې د پام وړ بدلون د دودیز "Major.Minor.Patch" شمیرې ته د لیږد له امله دی. له اوس څخه، د نسخې شمیره کې لومړی عدد (لوی) به یوازې هغه وخت بدل شي چې مطابقت د API/ABI په کچه مات شي، او دویمه (کوچنۍ) به هغه وخت بدله شي کله چې د API/ABI بدلولو پرته فعالیت زیات شي. اصلاحي تازه معلومات به د دریم عدد (پیچ) ته د بدلون سره وسپارل شي. د 3.0.0 شمیره د 1.1.1 څخه سمدلاسه وروسته غوره شوه ترڅو د OpenSSL لپاره د اوس مهال د پراختیا لاندې FIPS ماډل سره د اوورلیپ مخه ونیسي، د کوم لپاره چې د 2.x شمیره کارول شوې وه.

د پروژې لپاره دوهم مهم بدلون د دوه ګوني جواز (OpenSSL او SSLeay) څخه د اپاچي 2.0 جواز ته لیږد و. د OpenSSL پخوانی ملکیت جواز د میراث اپاچی 1.0 جواز متن پراساس و او د OpenSSL کتابتونونو کارولو په وخت کې د بازار موندنې موادو کې د OpenSSL واضح ذکر ته اړتیا وه، او همدارنګه یو ځانګړی خبرتیا که OpenSSL د محصول برخې په توګه چمتو شوی وي. دې اړتیاو د GPL سره زوړ جواز نامناسب کړی، د GPL جواز لرونکي پروژو کې د OpenSSL کارول ستونزمن کوي. د دې ناانډولۍ په شاوخوا کې د ترلاسه کولو لپاره، د GPL پروژې اړ شوي چې د جواز ځانګړي تړونونه وکاروي چې په کې د GPL اصلي متن د یوې مادې سره ضمیمه شوی و چې په ښکاره ډول یې غوښتنلیک ته اجازه ورکړه چې د OpenSSL کتابتون سره وصل شي او یادونه یې وکړه چې د GPL اړتیاوې ندي ترسره شوي. د OpenSSL سره لینک کولو لپاره غوښتنه وکړئ.

د OpenSSL 1.1.1 څانګې په پرتله، OpenSSL 3.0.0 د 7500 څخه ډیر بدلونونه اضافه کړل چې د 350 پراختیا کونکو لخوا مرسته شوي. د OpenSSL 3.0.0 اصلي نوښتونه:

  • یو نوی FIPS ماډل وړاندیز شوی ، پشمول د کریپټوګرافیک الګوریتم پلي کول چې د FIPS 140-2 امنیت معیار سره مطابقت لري (د ماډل لپاره د تصدیق کولو پروسه ټاکل شوې پدې میاشت کې پیل شي ، او د FIPS 140-2 تصدیق راتلونکی کال تمه کیږي). نوی ماډل کارول خورا اسانه دي او ډیری غوښتنلیکونو سره یې وصل کول به د تشکیلاتو فایل بدلولو څخه ډیر ستونزمن نه وي. د ډیفالټ په واسطه، د FIPS ماډل غیر فعال دی او د فعالولو لپاره د فعال-fips اختیار ته اړتیا لري.
  • libcrypto د پلګ ایبل چمتو کونکو مفهوم پلي کوي ، کوم چې د انجنونو مفهوم ځای په ځای کړی (د ENGINE API رد شوی دی). د چمتو کونکو په مرسته، تاسو کولی شئ د دې ډول عملیاتو لپاره د الګوریتمونو خپل پلي کول اضافه کړئ لکه کوډ کول، ډیکریپشن، کلیدي نسل، د MAC محاسبه، د ډیجیټل لاسلیکونو جوړول او تصدیق. دا ممکنه ده چې دواړه نوي سره وصل کړئ او د دمخه ملاتړ شوي الګوریتمونو بدیل پلي کول رامینځته کړئ (په ډیفالټ ، په OpenSSL کې جوړ شوی چمتو کونکی اوس د هر الګوریتم لپاره کارول کیږي).
  • د سند مدیریت پروتوکول (RFC 4210) لپاره ملاتړ اضافه شوی ، کوم چې د CA سرور څخه د سندونو غوښتنه کولو ، سندونو تازه کولو ، او سندونو لغوه کولو لپاره کارول کیدی شي. د CMP سره کار کول د نوي openssl-cmp یوټیلیټ په کارولو سره ترسره کیږي ، کوم چې د CRMF فارمیټ (RFC 4211) ملاتړ کوي او د HTTP/HTTPS (RFC 6712) له لارې غوښتنې لیږل کیږي.
  • د HTTP او HTTPS پروتوکولونو لپاره یو بشپړ پیرودونکی پلي شوی ، د GET او POST میتودونو ملاتړ کوي ، د بیرته راستنیدو غوښتنه کوي ، د پراکسي له لارې کار کوي ، ASN.1 کوډ کول او د وخت پای پروسس کول.
  • یو نوی EVP_MAC (د پیغام تصدیق کولو کوډ API) اضافه شوی ترڅو د جعلي داخلولو نوي پلي کولو اضافه کول اسانه کړي.
  • د کیلي جوړولو لپاره یو نوی سافټویر انٹرفیس وړاندیز شوی - EVP_KDF (Key Derivation Function API)، کوم چې د KDF او PRF نوي پلي کولو اضافه کول ساده کوي. زوړ EVP_PKEY API، چې له لارې یې سکریپټ، TLS1 PRF او HKDF الګوریتمونه شتون درلود، د EVP_KDF او EVP_MAC APIs په سر کې پلي شوي پرت په بڼه بیا ډیزاین شوی.
  • د TLS پروتوکول پلي کول د عملیاتو ګړندي کولو لپاره د لینکس کرنل کې جوړ شوي TLS پیرودونکي او سرور کارولو وړتیا چمتو کوي. د لینکس کرنل لخوا چمتو شوي د TLS تطبیق فعالولو لپاره، تاسو باید د "SSL_OP_ENABLE_KTLS" اختیار یا د "enable-ktls" ترتیب فعال کړئ.
  • د نوي الګوریتمونو لپاره ملاتړ اضافه شوی:
    • د کلیدي نسل الګوریتم (KDF) "واحد ګام" او "SSH" دي.
    • د سمول شوي داخلولو الګوریتم (MAC) "GMAC" او "KMAC" دي.
    • RSA Key Encapsulation Algorithm (KEM) "RSASVE".
    • د کوډ کولو الګوریتم "AES-SIV" (RFC-8452).
    • EVP API ته د کیلي کوډ کولو لپاره د AES الګوریتم په کارولو سره د برعکس سایفرونو ملاتړ سره زنګونه اضافه شوي (Key Wrap): “AES-128-WRAP-INV”, “AES-192-WRAP-INV”, “AES-256-WRAP- INV"، "AES-128-WRAP-PAD-INV"، "AES-192-WRAP-PAD-INV" او "AES-256-WRAP-PAD-INV".
    • EVP API ته د سیفرټیکټ پور اخیستلو (CTS) الګوریتمونو لپاره ملاتړ اضافه شوی: "AES-128-CBC-CTS"، "AES-192-CBC-CTS"، "AES-256-CBC-CTS"، "کیمیلیا-128-CBC -CTS""، "CAMELLIA-192-CBC-CTS" او "CAMELLIA-256-CBC-CTS".
    • د CAdES-BES ډیجیټل لاسلیکونو (RFC 5126) لپاره ملاتړ اضافه شوی.
    • AES_GCM د AuthEnvelopedData (RFC 5083) پیرامیټر پلي کوي ترڅو د AES GCM حالت په کارولو سره تصدیق شوي او کوډ شوي پیغامونو کوډ کولو او کوډ کولو وړ کړي.
  • PKCS7_get_octet_string او PKCS7_type_is_other افعال عامه API ته اضافه شوي.
  • PKCS#12 API د PKCS12_create() فنکشن کې کارول شوي ډیفالټ الګوریتمونه د PBKDF2 او AES سره بدلوي، او د MAC محاسبه کولو لپاره SHA-256 الګوریتم کاروي. د تیر چلند بیرته راګرځولو لپاره، د "-وراثت" اختیار چمتو شوی. PKCS12_*_ex، PKCS5_*_ex او PKCS8_*_ex ته د نوي غزیدلي تلیفونونو لوی شمیر اضافه شوي، لکه PKCS12_add_key_ex().PKCS12_create_ex() او PKCS12_decrypt_skey_ex().
  • د وینډوز پلیټ فارم لپاره ، د SRWLock میکانیزم په کارولو سره د تار ترکیب لپاره ملاتړ اضافه شوی.
  • یو نوی tracing API اضافه شوی، د فعال-ټریس پیرامیټر له لارې فعال شوی.
  • په EVP_PKEY_public_check() او EVP_PKEY_param_check() دندو کې د ملاتړ شوي کلیدونو لړۍ پراخه شوې: RSA، DSA، ED25519، X25519، ED448 او X448.
  • د RAND_DRBG فرعي سیسټم لرې شوی، د EVP_RAND API لخوا بدل شوی. د FIPS_mode() او FIPS_mode_set() افعال لرې شوي دي.
  • د API یوه مهمه برخه متروک شوې - د پروژې کوډ کې د ناپاک تلیفونونو کارول به د تالیف پرمهال د اخطارونو پایله ولري. د ټیټې کچې APIs په شمول چې د الګوریتم ځانګړي پلي کولو پورې تړلي دي (د مثال په توګه ، AES_set_encrypt_key او AES_encrypt) په رسمي ډول ناڅرګند اعلان شوي. په OpenSSL 3.0.0 کې رسمي ملاتړ اوس یوازې د لوړې کچې EVP APIs لپاره چمتو شوی چې د انفرادي الګوریتم ډولونو څخه خلاص شوي دي (په دې API کې شامل دي ، د مثال په توګه ، EVP_EncryptInit_ex، EVP_EncryptUpdate، او EVP_EncryptFinal افعال). تخریب شوي APIs به په راتلونکو لویو خپرونو کې لیرې شي. د میراث الګوریتمونو پلي کول لکه MD2 او DES، د EVP API له لارې شتون لري، یو جلا "میراث" ماډل ته لیږدول شوي، کوم چې د ډیفالټ لخوا غیر فعال دی.
  • د اسنادو او ازموینې سایټ د پام وړ پراخ شوی. د څانګې 1.1.1 په پرتله، د اسنادو حجم 94٪ زیات شوی، او د ټیسټ سوټ کوډ اندازه 54٪ زیاته شوې.

سرچینه: opennet.ru

Add a comment