OpenSSL 3.0.0 கிரிப்டோகிராஃபிக் லைப்ரரி வெளியீடு

மூன்று வருட வளர்ச்சி மற்றும் 19 சோதனை வெளியீடுகளுக்குப் பிறகு, SSL/TLS நெறிமுறைகள் மற்றும் பல்வேறு குறியாக்க வழிமுறைகளின் செயலாக்கத்துடன் OpenSSL 3.0.0 நூலகம் வெளியிடப்பட்டது. புதிய கிளையில் ஏபிஐ மற்றும் ஏபிஐ மட்டத்தில் பின்னோக்கி இணக்கத்தன்மையை உடைக்கும் மாற்றங்கள் உள்ளன, ஆனால் மாற்றங்கள் ஓபன்எஸ்எஸ்எல் 1.1.1 இலிருந்து மாற்றுவதற்கு மறுகட்டமைப்பு தேவைப்படும் பெரும்பாலான பயன்பாடுகளின் செயல்பாட்டை பாதிக்காது. OpenSSL 1.1.1 இன் முந்தைய கிளை செப்டம்பர் 2023 வரை ஆதரிக்கப்படும்.

பதிப்பு எண்ணில் குறிப்பிடத்தக்க மாற்றம் பாரம்பரிய "Major.Minor.Patch" எண்ணுக்கு மாறியதன் காரணமாகும். இனி, ஏபிஐ/ஏபிஐ அளவில் இணக்கத்தன்மை உடைந்தால் மட்டுமே பதிப்பு எண்ணில் முதல் இலக்கம் (மேஜர்) மாறும், மேலும் ஏபிஐ/ஏபிஐயை மாற்றாமல் செயல்பாடு அதிகரிக்கும் போது இரண்டாவது (மைனர்) மாறும். மூன்றாவது இலக்கத்திற்கு (பேட்ச்) மாற்றத்துடன் சரியான புதுப்பிப்புகள் வழங்கப்படும். 3.0.0 க்குப் பிறகு உடனடியாக 1.1.1 என்ற எண்ணானது OpenSSL க்காக தற்போது உருவாக்கப்பட்டு வரும் FIPS தொகுதியுடன் மேலெழுதப்படுவதைத் தவிர்க்க தேர்ந்தெடுக்கப்பட்டது, இதற்காக 2.x எண்கள் பயன்படுத்தப்பட்டன.

திட்டத்திற்கான இரண்டாவது முக்கியமான மாற்றம் இரட்டை உரிமத்திலிருந்து (OpenSSL மற்றும் SSleay) அப்பாச்சி 2.0 உரிமத்திற்கு மாறியது. முந்தைய தனியுரிம OpenSSL உரிமம் பாரம்பரிய Apache 1.0 உரிமத்தின் உரையை அடிப்படையாகக் கொண்டது மற்றும் OpenSSL நூலகங்களைப் பயன்படுத்தும் போது சந்தைப்படுத்தல் பொருட்களில் OpenSSL ஐப் பற்றி வெளிப்படையாகக் குறிப்பிட வேண்டும், அத்துடன் தயாரிப்பின் ஒரு பகுதியாக OpenSSL வழங்கப்பட்டிருந்தால் ஒரு சிறப்பு அறிவிப்பு. இந்த தேவைகள் பழைய உரிமத்தை GPL உடன் இணக்கமற்றதாக்கியது, இதனால் GPL-உரிமம் பெற்ற திட்டங்களில் OpenSSL ஐப் பயன்படுத்துவது கடினமாகிறது. இந்த இணக்கமின்மையை போக்க, ஜிபிஎல் திட்டங்கள் குறிப்பிட்ட உரிம ஒப்பந்தங்களைப் பயன்படுத்த வேண்டிய கட்டாயம் ஏற்பட்டது, அதில் ஜிபிஎல் இன் முக்கிய உரையுடன் கூடுதலாக ஆப்ஸ் ஓபன்எஸ்எஸ்எல் நூலகத்துடன் இணைக்கப்படுவதை அனுமதிக்கும் மற்றும் ஜிபிஎல் தேவைகள் இல்லை என்று குறிப்பிடப்பட்டுள்ளது. OpenSSL உடன் இணைக்க விண்ணப்பிக்கவும்.

OpenSSL 1.1.1 கிளையுடன் ஒப்பிடும்போது, ​​OpenSSL 3.0.0 7500 டெவலப்பர்களால் 350 க்கும் மேற்பட்ட மாற்றங்களைச் சேர்த்தது. OpenSSL 3.0.0 இன் முக்கிய கண்டுபிடிப்புகள்:

  • FIPS 140-2 பாதுகாப்பு தரநிலைக்கு இணங்க கிரிப்டோகிராஃபிக் அல்காரிதம்களை செயல்படுத்துவது உட்பட ஒரு புதிய FIPS தொகுதி முன்மொழியப்பட்டது (தொகுதிக்கான சான்றிதழ் செயல்முறை இந்த மாதம் தொடங்க திட்டமிடப்பட்டுள்ளது, மேலும் FIPS 140-2 சான்றிதழ் அடுத்த ஆண்டு எதிர்பார்க்கப்படுகிறது). புதிய தொகுதி பயன்படுத்த மிகவும் எளிதானது மற்றும் பல பயன்பாடுகளுடன் அதை இணைப்பது உள்ளமைவு கோப்பை மாற்றுவதை விட கடினமாக இருக்காது. முன்னிருப்பாக, FIPS தொகுதி முடக்கப்பட்டுள்ளது, மேலும் enable-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 (விசை வழித்தோன்றல் செயல்பாடு API), இது KDF மற்றும் PRF இன் புதிய செயலாக்கங்களை எளிதாக்குகிறது. பழைய EVP_PKEY API, இதன் மூலம் ஸ்கிரிப்ட், TLS1 PRF மற்றும் HKDF அல்காரிதம்கள் கிடைத்தன, EVP_KDF மற்றும் EVP_MAC APIகளின் மேல் செயல்படுத்தப்பட்ட லேயர் வடிவத்தில் மறுவடிவமைப்பு செய்யப்பட்டுள்ளது.
  • TLS நெறிமுறையை செயல்படுத்துவது, லினக்ஸ் கர்னலில் கட்டமைக்கப்பட்ட TLS கிளையன்ட் மற்றும் சர்வரைப் பயன்படுத்துவதற்கான திறனை வழங்குகிறது. லினக்ஸ் கர்னல் வழங்கிய TLS செயல்படுத்தலை இயக்க, நீங்கள் "SSL_OP_ENABLE_KTLS" விருப்பத்தை அல்லது "enable-ktls" அமைப்பை இயக்க வேண்டும்.
  • புதிய அல்காரிதங்களுக்கான ஆதரவு சேர்க்கப்பட்டது:
    • முக்கிய தலைமுறை வழிமுறைகள் (KDF) "ஒற்றை படி" மற்றும் "SSH" ஆகும்.
    • உருவகப்படுத்தப்பட்ட செருகும் வழிமுறைகள் (MAC) "GMAC" மற்றும் "KMAC" ஆகும்.
    • RSA கீ என்காப்சுலேஷன் அல்காரிதம் (KEM) "RSASVE".
    • என்க்ரிப்ஷன் அல்காரிதம் "AES-SIV" (RFC-8452).
    • விசைகளை குறியாக்க AES அல்காரிதத்தைப் பயன்படுத்தி தலைகீழ் மறைக்குறியீடுகளுக்கான ஆதரவுடன் EVP API க்கு அழைப்புகள் சேர்க்கப்பட்டன (கீ ரேப்): “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", "CAMELLIA-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_மற்ற செயல்பாடுகள் பொது API இல் சேர்க்கப்பட்டுள்ளன.
  • PKCS12_create() செயல்பாட்டில் பயன்படுத்தப்படும் இயல்புநிலை அல்காரிதம்களை PBKDF12 மற்றும் AES உடன் PKCS#2 API மாற்றுகிறது, மேலும் MACஐக் கணக்கிட SHA-256 அல்காரிதத்தைப் பயன்படுத்துகிறது. கடந்த நடத்தையை மீட்டெடுக்க, "-legacy" விருப்பம் வழங்கப்படுகிறது. PKCS12_add_key_ex().PKCS5_create_ex() மற்றும் PKCS8_decrypt_skey_ex() போன்ற PKCS12_*_ex, PKCS12_*_ex மற்றும் PKCS12_*_ex ஆகியவற்றிற்கு அதிக எண்ணிக்கையிலான புதிய நீட்டிக்கப்பட்ட அழைப்புகளைச் சேர்த்தது.
  • விண்டோஸ் இயங்குதளத்திற்கு, SRWLock பொறிமுறையைப் பயன்படுத்தி நூல் ஒத்திசைவுக்கான ஆதரவு சேர்க்கப்பட்டுள்ளது.
  • ஒரு புதிய ட்ரேசிங் API சேர்க்கப்பட்டது, enable-trace parameter வழியாக இயக்கப்பட்டது.
  • 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 இன் குறிப்பிடத்தக்க பகுதி வழக்கற்றுப் போய்விட்டது - திட்டக் குறியீட்டில் வழக்கற்றுப் போன அழைப்புகளைப் பயன்படுத்தினால், தொகுப்பின் போது எச்சரிக்கைகள் ஏற்படும். அல்காரிதம்களின் சில செயலாக்கங்களுடன் இணைக்கப்பட்ட குறைந்த-நிலை APIகள் உட்பட (உதாரணமாக, AES_set_encrypt_key மற்றும் AES_encrypt) அதிகாரப்பூர்வமாக வழக்கற்றுப் போனதாக அறிவிக்கப்பட்டது. OpenSSL 3.0.0 இல் அதிகாரப்பூர்வ ஆதரவு இப்போது தனிப்பட்ட அல்காரிதம் வகைகளிலிருந்து சுருக்கப்பட்ட உயர்-நிலை EVP API களுக்கு மட்டுமே வழங்கப்படுகிறது (இந்த API, எடுத்துக்காட்டாக, EVP_EncryptInit_ex, EVP_EncryptUpdate மற்றும் EVP_EncryptFinal செயல்பாடுகளை உள்ளடக்கியது). நிராகரிக்கப்பட்ட APIகள் அடுத்த முக்கிய வெளியீடுகளில் ஒன்றில் அகற்றப்படும். EVP API மூலம் கிடைக்கும் MD2 மற்றும் DES போன்ற மரபு வழிமுறைகளின் செயலாக்கங்கள் ஒரு தனி "மரபு" தொகுதிக்கு நகர்த்தப்பட்டுள்ளன, இது இயல்பாகவே முடக்கப்பட்டுள்ளது.
  • ஆவணங்கள் மற்றும் சோதனைத் தொகுப்பு கணிசமாக விரிவாக்கப்பட்டுள்ளது. கிளை 1.1.1 உடன் ஒப்பிடும்போது, ​​ஆவணங்களின் அளவு 94% அதிகரித்துள்ளது, மற்றும் சோதனை தொகுப்பு குறியீட்டின் அளவு 54% அதிகரித்துள்ளது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்