OpenSSL

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 24 iunie 2015; verificările necesită 34 de modificări .
OpenSSL
Tip de bibliotecă de funcții , software de criptare și utilitar
Scris in C [4] , limbaj de asamblare și Perl
Sistem de operare GNU/Linux [5] , GNU/Hurd [5] , BSD [5] , macOS [5] și Microsoft Windows [5]
Prima editie 1998
ultima versiune
Formate de fișiere care pot fi citite Format sărat OpenSSL [d]
Formate de fișiere generate Format sărat OpenSSL [d]
Licență Licență Apache 2.0 [6]
Site-ul web openssl.org
 Fișiere media la Wikimedia Commons

OpenSSL  este o bibliotecă criptografică open source completă , cunoscută pe scară largă pentru extensia SSL / TLS utilizată în protocolul web HTTPS .

Acceptă aproape toți algoritmii de hashing la nivel scăzut , criptare și semnătură electronică și, de asemenea, implementează cele mai populare standarde criptografice, inclusiv: vă permite să creați chei RSA , DH , DSA , certificate X.509 , să le semnați, să generați CSR și CRT, să criptați date și testați conexiunile SSL/TLS.

Disponibil ca pachete pentru majoritatea sistemelor de operare asemănătoare UNIX (inclusiv Solaris / OpenSolaris , Linux , macOS , QNX4 [7] , QNX6 și patru sisteme de operare open source BSD ), precum și pentru OpenVMS și Microsoft Windows .

OpenSSL se bazează pe SSLeay , scris de Eric A. Young și Tim Hudson, care au terminat neoficial de lucru la el în decembrie 1998, când au început să lucreze la proiectul RSA Security.

Lansări majore

Istoricul lansărilor OpenSSL [8] [9]
Versiune data eliberarii cometariu
0.9.1c 23 decembrie 1998
0,9,2c 22 martie 1999
  • Succesor 0.9.1c
0.9.3 25 mai 1999
  • Succesor 0.9.2b
0.9.4 9 august 1999
  • Succesor 0.9.3a
0.9.5 28 februarie 2000
  • Succesor 0.9.4
0.9.6 25 septembrie 2000
  • Succesor 0.9.5a
0.9.7 31 decembrie 2002
  • Succesor 0.9.6h
0.9.8 5 iulie 2005
  • Succesor al lui 0.9.8za (5 iunie 2014)
1.0.0 29 martie 2010
  • Succesor 0,9,8x
1.0.1 14 martie 2012
  • Succesor 1.0.0e
  • Suporta TLS v1.2
  • Suport SRP
1.0.1k 8 ianuarie 2015 CVE-2014-3572, CVE-2015-0204, CVE-2015-0205
1.0.2 22 ianuarie 2015
1.1.0 25 august 2016
1,1,0 g 2 noiembrie 2017
1.1.1 11 septembrie 2018
  • Peste 5000 de modificări
  • Suport TLS v1.3 [12]
1.1.1a 20 noiembrie 2018
  • Remedieri de erori [13]
1.1.1b 26 februarie 2019
  • Corectarea erorii
1.1.1c 28 mai 2019
  • Corectarea erorii

Algoritmi

Blowfish , Camellia , DES , RC2 , RC4 , RC5 , IDEA , AES , GOST 28147-89 [14] Funcții hash MD5 , MD2 , SHA , MDC-2 , GOST R 34.11-94 [14] Asimetric RSA , DSA , schimb de chei Diffie-Hellman , GOST R 34.10-2001 ( 34.10-94 ) [14]

Suportul pentru algoritmii GOST a apărut în versiunea 1.0.0, lansată pe 29 martie 2010 și a fost implementat de angajații Cryptocom [15] .

Comenzi utile openssl

# openssl genrsa -des3 -out example.com.key 2048

Dacă vă pierdeți parola sau fișierul cheie, va trebui să regenerați certificatul.

# openssl req -new -key example.com.key -out example.com.csr

Numele domeniului pentru care se creează cererea este scris în Common Name - example.com, O parolă de provocare și Nu este necesar să se introducă un nume de companie opțional (doar apăsați enter).

# openssl rsa -in example.com.key -out example.com-nopass.key -passin stdin

și introduceți parola din consolă (sau -passin pass: supersecretpassword care este considerată mai puțin sigură)

# openssl req -noout -text -in example.com.csr

Vulnerabilități identificate

Vulnerabilitatea în implementarea distribuției Debian

În versiunea Debian 0.9.8c-1, la OpenSSL a fost aplicat un patch care a spart în mod deliberat generatorul de numere aleatorii. Această versiune a OpenSSL a fost inclusă în versiunea Debian pe 17 septembrie 2006. Toate cheile generate prin această versiune a generatorului și toate datele criptate cu astfel de chei pot fi considerate compromise. Problema a fost rezolvată în versiunea 0.9.8c-4etch3 a distribuției Debian 4.0; în versiunea 0.9.8g-9 a distribuției Debian 5.0.

Heartbleed bug

Pe 7 aprilie 2014, a fost anunțată o vulnerabilitate critică în OpenSSL 1.0.2-beta și în toate versiunile OpenSSL 1.0.1, cu excepția 1.0.1g. Vulnerabilitatea este legată de extensia TLS Heartbeat și permite citirea a până la 64KB de RAM aplicație cu fiecare solicitare de heartbeat.[18] În lista CVE, este listat sub numărul CVE-2014-0160.

Vulnerabilitatea există din 31 decembrie 2011; codul vulnerabil a fost distribuit odată cu lansarea OpenSSL 1.0.1 pe 14 martie 2012. Citind memoria RAM a unui server web, un atacator poate obține acces la informații confidențiale atât ale serverului, cât și ale utilizatorilor, permițându-le să intercepteze chei private, cookie-uri și parole. La momentul anunțului, se credea că aproximativ 17% dintre cele jumătate de milion de servere web securizate sunt vulnerabile.

Furci

LibreSSL

După descoperirea vulnerabilității Heartbleed, dezvoltatorii proiectului OpenBSD au anunțat crearea unui fork al OpenSSL bazat pe ramura 1.0.1g numită LibreSSL [16] . Accentul dezvoltatorilor se pune pe remedierea erorilor, eliminarea funcționalităților inutile, creșterea securității și îmbunătățirea lizibilității codului.

BoringSSL

În iulie 2014, Google și-a anunțat propriul furk al OpenSSL numit BoringSSL [17] . Google intenționează să colaboreze și să partajeze corecții cu dezvoltatorii OpenSSL și LibreSSL .

Note

  1. Versiunea 3.0.7 - 2022.
  2. OpenSSL versiunea 3.0.7 publicată - 2022.
  3. OpenSSL versiunea 1.1.1 publicată - 2022.
  4. Proiectul openssl Open Source pe Open Hub: Pagina de limbi - 2006.
  5. 1 2 3 4 5 Director de software gratuit
  6. Schimbați licența la Apache License v2.0 openssl/openssl@1513331 GitHub
  7. OpenSSL pentru QNX4 (link descendent) . Sisteme încorporate SVD. Arhivat din original pe 10 februarie 2012. 
  8. OpenSSL - Project Newsflash (link în jos) . OpenSSL Software Foundation. Data accesului: 25 noiembrie 2012. Arhivat din original pe 26 februarie 2013. 
  9. r. r . Consultat la 14 noiembrie 2019. Arhivat din original la 29 septembrie 2019.
  10. ↑ Jurnal de modificări OpenSSL 1.x (link descendent) . OpenSSL Software Foundation. Data accesului: 25 noiembrie 2012. Arhivat din original pe 26 februarie 2013. 
  11. OpenSSL 1.0.2 Jurnal de modificări . Opennet. Data accesului: 26 ianuarie 2012. Arhivat din original pe 19 martie 2015.
  12. OpenSSL Foundation, Inc. OpenSSL 1.1.1 este lansat - OpenSSL  Blog . www.openssl.org. Preluat la 12 septembrie 2018. Arhivat din original la 15 septembrie 2018.
  13. Modificări între 1.1.1 și 1.1.1a . Preluat la 8 ianuarie 2019. Arhivat din original la 13 septembrie 2016.
  14. 1 2 3 Motor GOST pentru OpenSSL 1.0
  15. Suport GOST în versiunea de dezvoltare a OpenSSL 1.0.0 Arhivat la 11 februarie 2011. pe site-ul companiei „Cryptocom”.
  16. Proiectul OpenBSD a introdus LibreSSL, un furk al OpenSSL . Opennet. Consultat la 26 noiembrie 2015. Arhivat din original pe 20 noiembrie 2015.
  17. Google a introdus BoringSSL, un furk al OpenSSL . Opennet. Consultat la 26 noiembrie 2015. Arhivat din original la 8 decembrie 2015.

Link -uri