OpenSSL, ranije SSLeay, jest slobodni softver za TLS (nivo sigurnog prenosa podataka). OpenSSL sadrži implementacije mrežnih protokola i raznih vrsta enkripcije s konzolom za učitavanje, pravljenje i održavanje digitalnih certifikata.

OpenSSL
Programer(i)OpenSSL Development Team
Stabilna verzija
1.0.2h / 2016.
Centralna arhivagithub.com/openssl/openssl
Operativni sistemWindows, Unix
VrstaKriptografija
LicencaBerkeley Software Distribution
Veb-sajtopenssl.org

Historija

uredi

SSLaey je od 1990 bilo moguće upotrebljavati i izvan USA jer je implementiran u Australiji. Time nije obuhvaćen ograničenjima izvoznih propisa SAD-a, koji inače važe za kriptografski softver.[1] Ime softvera sadrži inicijale imena programera, Eric A.Younga, kao i mrežnog protokola. Young je radio prije toga na implementaciji Kerberosa i DES-a. [2] Njegov prijatelj Tim J. Hudson predložio mu je da zajedno rade na novom softveru.[3] Hudsonova uloga je u ovom projektu bila znatna, jer je i za slobodni softver kao i za Windows programirao odgovarajući sigurnosni zakrp. (en. patch) [1] [4]

U ljetu 1998 obustavljena je objava SSLeay verzije 0.9.1b , koja je radom jednog tima do decembra 1998 dalje razvijana i pod nazivom OpenSSL 0.9.1c objavljena. [5] Jedan od osnivača ovog tima Ralf S. Engelschall, opisao je OpenSSL kao prvi korak u stvaranju enkripcijskog modula za Apache servere. Za razliku od enkripcijskog modula razvoj OpenSSL još nije okončan. Potreban je volonterski angažman programera da bi se aplikacije na bazi OpenSSL i dalje razvijale. [6]

Certificiranje FIPS-140-2

uredi

OpenSSL je prvi softver otvorenog koda koji je certificiran sa FIPS 140-2. FIPS 1402-2 je sigurnosni standard za validiranje kriptografijskih module prema uslovima NIST instituta.NIST je dao dozvolu u januaru 2006. U junu je privremeno dozvola bila povučena, da bi 16. februara 2007 ponovo bila dodijeljena.Prema navodima John Weathersbya su ti potezi bili "političke prirode" (en. a political challenge) jer proizvođači komercijalnog softvera moraju platiti za certificiranje. Za OpenSSL su se zauzeli američko ministarstvo odbrane kao i nekoliko firmi koji su bili zainteresovano za uštedu novca za certificiranje softvera.[7]

Sigurnosni proboji

uredi

Slab ključ kod Debiana

uredi

Tim Debian projekta je 13. maja 2008 dao saopštenje da distribucije OpenSSL objavljene pod 17. septembra 2006 verzija 0.9.8c-1 do 0.9.8.g-9 posjeduju sigurnosno proboj. Kao uzrok smatra se sigurnosni zakrp, koji je prilagođen Debianu. Uz pomoć generatora slučajnih brojeva ustanovljeno je da se kriptigrafski ključevi mogu prognosticirati. Obuhvaćeni su ključevi za SSH-, OpenVPN-, DNSSEC, X.509 certifikate kao i privremeni ključevi za jednu sesiju (en. Session key) SSL/TTL veza koje koriste HTTPS. Ključevi kreirani sa GnuPG ili GnuTLS nisu obuhvaćeni. [8]

Sigrunosni proboj je nastao pokušajem uklanjanja upozorenja Valgrinda, softvera za kodiranje. Brisanjem jednog reda izvornog koda kod Valgrinda je dovelo do toga da je nehotice još jedan red izbrisan koji je stajao u drugom kontekstu. Par ključeva (javni i privatni) može se lako kompromitovati, čime se svi mogući privatni ključevi mogu proračunati u roku od nekoliko dana. Ovom greškom su mnoge SSL veze ranjive za kriptonalitičke napade poput "srednjeg čovjeka" Man-in-the-Middle Sve prijašnje veze sa serverima, koji koriste ovaj slabiji ključ, su ranjive sve dotle dok certifikati ne isteknu ili dok ne budu povučeni. Prominentan je slučaj jednog preduzeća Akamai, koje se bavi sektorom usluga a njeni klijenti su između ostalih njemačka porezna uprava i AMD. Akamai je poreznoj upravu iznajmljivao softver ELSTER, a za stavlja AMD daje drajver na raspolaganje .[9] [10]

Heartbleed bug

uredi

Verzije OpenSSL-a koje su ovim bugom obuhvaćene imaju problem kada TLS i DTLS učitavaju RAM drugog korisnika. Moguća je kompromitacija privatnog ključa X.509 certifikata, korisničkih imena i lozinki. Ranjive su one verzije OpenSSL sa Heartbeat variantom od 1.0.1 (14 mart 2012) pa sve do 1.0.1f, kao i više beta verzija 1.01 i 1.0.2. Sigrunosni proboj je otklonjen 7 aprila 2014.

Licenca

uredi

OpenSSL licenca se sastoji od dvije: SSLeay i vlastita. . Time je licenca kombinovana[11] Slične su BSD.[4] Razlika je u tome da svi strani proizvodi koji je koriste moraju navesti (kod reklama) da je OpenSSL pod vlasništvom SSLeaya.

Objavljene verzije

uredi
Legend:
Stara verzija
Starija verzija, ali se još podržava
Trenutna verzija
Zadnji verzijski pregled
Buduće izdanje

Spisak sadrži izbor verzija iz „ChangeLog“ i „Project State“[5]


0.9.x–verzije

uredi
OpenSSL-Version Datum objave Komentar Referenca
Stara verzija, više se ne podržaj: 0.9.1b [nije objavljena]
Stara verzija, više se ne podržaj: 0.9.1c 23. decembar 1998
Stara verzija, više se ne podržaj: 0.9.2c 22. März 1999 nasljednik od 0.9.1c
Stara verzija, više se ne podržaj: 0.9.3 23. Mai 1999 nasljednik od 0.9.2b
Stara verzija, više se ne podržaj: 0.9.3a 29. Mai 1999
Stara verzija, više se ne podržaj: 0.9.4 9. August 1999 nasljednik od 0.9.3a
Stara verzija, više se ne podržaj: 0.9.5 28. februar 2000 nasljednik od 0.9.4
Stara verzija, više se ne podržaj: 0.9.5a 1. april 2000
Stara verzija, više se ne podržaj: 0.9.6 24. september 2000 nasljednik od 0.9.5a
Stara verzija, više se ne podržaj: 0.9.6m 17. mart 2007
Stara verzija, više se ne podržaj: 0.9.7 31. december 2002 nasljednik od 0.9.6h
Stara verzija, više se ne podržaj: 0.9.7a 19. februar 2003
Stara verzija, više se ne podržaj: 0.9.7b 10. april 2003
Stara verzija, više se ne podržaj: 0.9.7c 30. september 2003
Stara verzija, više se ne podržaj: 0.9.7d 17. mart 2004
Stara verzija, više se ne podržaj: 0.9.7e 25. oktobar 2004
Stara verzija, više se ne podržaj: 0.9.7f 22. mart 2005
Stara verzija, više se ne podržaj: 0.9.7g 11. april 2005
Stara verzija, više se ne podržaj: 0.9.7h 11. oktobar 2005
Stara verzija, više se ne podržaj: 0.9.7i 14. oktobar 2005
Stara verzija, više se ne podržaj: 0.9.7j 4. maj 2006
Stara verzija, više se ne podržaj: 0.9.7k 5. september 2006
Stara verzija, više se ne podržaj: 0.9.7l 28. september 2006
Stara verzija, više se ne podržaj: 0.9.7m 23. februar 2007
Stara verzija, više se ne podržaj: 0.9.8 5. juli 2005 nasljednik od 0.9.7h
Stara verzija, više se ne podržaj: 0.9.8a 11. Oktober 2005
Stara verzija, više se ne podržaj: 0.9.8b 4. maj 2006
Stara verzija, više se ne podržaj: 0.9.8c 5. september 2006
Stara verzija, više se ne podržaj: 0.9.8d 28. september 2006
Stara verzija, više se ne podržaj: 0.9.8e 23. februar 2007
Stara verzija, više se ne podržaj: 0.9.8f 11. oktober 2007
Stara verzija, više se ne podržaj: 0.9.8g 19. oktober 2007
Stara verzija, više se ne podržaj: 0.9.8h 28. maj 2008
Stara verzija, više se ne podržaj: 0.9.8i 15. september 2008
Stara verzija, više se ne podržaj: 0.9.8j 7. januar 2009
Stara verzija, više se ne podržaj: 0.9.8k 25. mart 2009
Stara verzija, više se ne podržaj: 0.9.8l 5. novembar 2009
Stara verzija, više se ne podržaj: 0.9.8m 25. februar 2010
Stara verzija, više se ne podržaj: 0.9.8n 24. mart 2010
Stara verzija, više se ne podržaj: 0.9.8o 1. juni 2010
Stara verzija, više se ne podržaj: 0.9.8p 16. novembar 2010
Stara verzija, više se ne podržaj: 0.9.8q 2. december 2010
Stara verzija, više se ne podržaj: 0.9.8r 8. februar 2011
Stara verzija, više se ne podržaj: 0.9.8s 4. januar 2012
Stara verzija, više se ne podržaj: 0.9.8t 18. januar 2012
Stara verzija, više se ne podržaj: 0.9.8u 12. mart 2012
Stara verzija, više se ne podržaj: 0.9.8v 19. april 2012
Stara verzija, više se ne podržaj: 0.9.8w 24. april 2012
Stara verzija, više se ne podržaj: 0.9.8x 10. maj 2012
Starija verzija, ali se još podržava: 0.9.8y 5. Februar 2013

1.0.0 – verzije

uredi
OpenSSL-verzija Datum objave Komentar Referenca
Stara verzija, više se ne podržaj: 1.0.0 29. mart 2010
Stara verzija, više se ne podržaj: 1.0.0d 8. februar 2011
Stara verzija, više se ne podržaj: 1.0.0e 6. septembar 2011 Add protection against ECDSA timing attacks as mentioned in the paper by Billy Bob Brumley and Nicola Tuveri[12]
Stara verzija, više se ne podržaj: 1.0.0f 4. januar 2012
Stara verzija, više se ne podržaj: 1.0.0g 18. januar 2012
Stara verzija, više se ne podržaj: 1.0.0h 12. mart 2012
Stara verzija, više se ne podržaj: 1.0.0i 19. april 2012
Stara verzija, više se ne podržaj: 1.0.0j 10. maj 2012
Stara verzija, više se ne podržaj: 1.0.0k 5. februar 2013
Starija verzija, ali se još podržava: 1.0.0l 6. januar 2014

1.0.1 – verzije

uredi
OpenSSL-verzija Datum objave Komentar Referenca
Stara verzija, više se ne podržaj: 1.0.1 14. mart 2012 nasljednik od 1.0.0e
  • Po prvi put podržava TLS v1.2
  • dodato podržavanje SRP
Stara verzija, više se ne podržaj: 1.0.1a 19. april 2012
Stara verzija, više se ne podržaj: 1.0.1b 26. april 2012
Stara verzija, više se ne podržaj: 1.0.1c 10. maj 2012
Stara verzija, više se ne podržaj: 1.0.1d 5. februar 2013
Stara verzija, više se ne podržaj: 1.0.1e 11. februar 2013
Stara verzija, više se ne podržaj: 1.0.1f 6. januar 2014
Trenutna stabilna verzija: 1.0.1g 7. april 2014 uklanja Heartbleed bug do verzije 1.0.1 bis 1.0.1f

Također pogledajte

uredi

Vanjski linkovi

uredi

Reference

uredi
  1. ^ a b Secure Socket Layer: Encode and certify with SSLeay iz Heise učitano 20.04.2014 (en)
  2. ^ Blog Arhivirano 21. 8. 2019. na Wayback Machine RSA učitano 20.04.2014 (en)
  3. ^ SSleay sa univerziteta u Mičigenu učitano 20.04.2014 (en)
  4. ^ a b Licenca na zvaničnoj stranici OpenSSL-a učitano 20.04.2014 (en)
  5. ^ a b Promjena verzije učitano20.04.2014(en)
  6. ^ Intervju sa Ralf S. Engelschall njemački guruom za OpenSSL na Netzweltu učitano 20.04.2014 (de)
  7. ^ Jana Cranmer: NIST recertifies open source encryption module Arhivirano 13. 4. 2014. na Wayback Machine učitano 20.4.2014 (en)
  8. ^ Sigurnosna informacija projekta Debian na zvaničnoj stranici DSA-1571-1 openssl - Ključ je moguće prognosticirati učitano 20.4.2014 (de)
  9. ^ Akamai iznajmljuje softver ELSTER njemačkoj poreznoj upravi iz Fefes bloga učitano 20.4.2014 (de)
  10. ^ </ Katalog drajvera za AMD učitano 20.4.2014 (en)
  11. ^ Various Licenses and Comments about Them Free Software Foundation učitano 20.4.2014 (en)
  12. ^ Remote Timing Attacks are Still Practical