Useita päiviä sitten Matt Caswell, OpenSSL -projektin kehitysryhmän jäsen, julkisti OpenSSL 3.0: n joka tulee kolmen vuoden kehityksen jälkeen, 3 alfa -versiota, 17 beta -versiota, yli 2 vahvistusta ja palautetta yli 7500 eri tekijältä.
Ja se on OpenSSL oli onni saada useita kokopäiväisiä insinöörejä jotka työskentelivät OpenSSL 3.0: n parissa ja rahoitettiin eri tavoin. Jotkut yritykset ovat allekirjoittaneet tukisopimukset OpenSSL-kehitystiimin kanssa, joka sponsoroi tiettyjä toimintoja, kuten FIPS-moduulia, joka aikoi palauttaa sen validoinnin OpenSSL 3.0: lla, mutta niillä oli merkittäviä viivästyksiä ja kuten FIPS 140-2 -testit päättyivät syyskuussa Vuonna 2021 OpenSSL päätti lopulta keskittyä myös FIPS 140-3 -standardeihin.
Keskeinen piirre kirjoittanut OpenSSL 3.0 on uusi FIPS -moduuli. OpenSSL-kehitystiimi testaa moduulia ja kerää tarvittavat asiakirjat FIPS 140-2 -validointia varten. Uuden FIPS -moduulin käyttäminen sovelluskehitysprojekteissa voi olla yhtä helppoa kuin joidenkin muutosten tekeminen asetustiedostoon, vaikka monet sovellukset joutuvat tekemään muita muutoksia. FIPS -moduulin man -sivu tarjoaa tietoja FIPS -moduulin käytöstä sovelluksissasi.
On myös huomattava, että OpenSSL 3.0: n jälkeen OpenSSL on siirtynyt Apache 2.0 -lisenssiin. Vanhat OpenSSL- ja SSLeay -kaksoislisenssit koskevat edelleen aiempia versioita (1.1.1 ja aiemmat). OpenSSL 3.0 on pääversio, eikä se ole täysin taaksepäin yhteensopiva. Useimmat sovellukset, jotka toimivat OpenSSL 1.1.1: n kanssa, toimivat edelleen muuttumattomina, ja ne on yksinkertaisesti käännettävä uudelleen (mahdollisesti monilla varoituksilla vanhentuneiden sovellusliittymien käytöstä).
OpenSSL 3.0: n avulla on mahdollista määrittää joko ohjelmallisesti tai määritystiedoston kautta, mitä palveluntarjoajia käyttäjä haluaa käyttää tietyssä sovelluksessa. OpenSSL 3.0 sisältää vakiona 5 eri palveluntarjoajaa. Ajan myötä kolmannet osapuolet voivat jakaa muita palveluntarjoajia, jotka voidaan integroida OpenSSL: ään. Kaikki toimittajien saatavilla olevien algoritmien toteutukset ovat käytettävissä "korkean tason" sovellusliittymien kautta (esimerkiksi toiminnot, joiden etuliite on EVP). Sitä ei voi käyttää "matalan tason" sovellusliittymien avulla.
Yksi vakiotarjoajista on FIPS -palveluntarjoaja, joka tarjoaa FIPS -validoituja salausalgoritmeja. FIPS-palveluntarjoaja on oletusarvoisesti poissa käytöstä, ja se on otettava nimenomaisesti käyttöön konfiguroinnin aikana enable-fips-vaihtoehdon avulla. Jos tämä on käytössä, FIPS -palveluntarjoaja luodaan ja asennetaan muiden vakiotoimittajien lisäksi.
Uuden FIPS -moduulin käyttäminen sovelluksissa voi olla yhtä helppoa kuin joidenkin muutosten tekeminen asetustiedostoon, vaikka monet sovellukset joutuvat tekemään muita muutoksia. OpenSSL 3.0 FIPS -moduulin käyttöä varten kirjoitetut sovellukset eivät saa käyttää mitään API -rajapintoja tai vanhoja ominaisuuksia, jotka ohittavat FIPS -moduulin. Tämä sisältää erityisesti:
- Matalan tason salausliittymät (on suositeltavaa käyttää korkean tason sovellusliittymiä, kuten EVP);
moottorit - kaikki toiminnot, jotka luovat tai muokkaavat mukautettuja menetelmiä (esimerkiksi EVP_MD_meth_new (), EVP_CIPHER_meth_new (), EVP_PKEY_meth_new (), RSA_meth_new (), EC_KEY_METHOD_new ()).
lisäksi OpenSSL -salauskirjasto (libcrypto) toteuttaa laajan valikoiman salausalgoritmeja, joita käytetään eri Internet -standardeissa. Toiminnallisuuteen kuuluu symmetrinen salaus, julkisen avaimen salaus, avainsopimus, varmenteiden hallinta, salaushajautustoiminnot, salauspseudo-satunnaislukugeneraattorit, viestien todennuskoodit (MAC), avainjohtotoiminnot (KDF) ja erilaiset apuohjelmat. Tämän kirjaston tarjoamia palveluja käytetään monien muiden kolmansien osapuolten tuotteiden ja protokollien toteuttamiseen. Tässä on yleiskatsaus tärkeimmistä libcrypto -käsitteistä alla.
Salausprimitiivit, kuten SHA256 -hajautus tai AES -salaus, kutsutaan OpenSSL: n "algoritmeiksi". Jokaisella algoritmilla voi olla useita toteutuksia. Esimerkiksi RSA -algoritmi on saatavana "oletus" -käyttöön, joka soveltuu yleiseen käyttöön, ja "fips" -toteutukseksi, joka on validoitu FIPS -standardien mukaisesti tilanteissa, joissa se on tärkeää. Kolmas osapuoli voi myös lisätä muita toteutuksia, esimerkiksi laitteiston suojausmoduulissa (HSM).
Vihdoin jos kiinnostaa tietää jos haluat lisätietoja, voit tarkistaa yksityiskohdat Seuraavassa linkissä.