OpenSSL 3.0.0 inclúe unha serie de cambios e melloras importantes

Despois de tres anos de desenvolvemento e 19 versións de proba recentemente anunciouse o lanzamento da nova versión de OpenSSL 3.0.0 cal ten máis de 7500 cambios aportado por 350 desenvolvedores e que tamén representa un cambio significativo no número de versión e que se debe á transición á numeración tradicional.

A partir de agora, o primeiro díxito (Maior) no número de versión só cambiará cando se viole a compatibilidade no nivel API / ABI e o segundo (Menor) cando a funcionalidade se incremente sen cambiar a API / ABI. As actualizacións correctivas enviaranse cun cambio de terceiro díxito (parche). O número 3.0.0 foi elixido inmediatamente despois do 1.1.1 para evitar colisións co módulo FIPS en desenvolvemento para OpenSSL, que estaba numerado 2.x.

O segundo cambio importante do proxecto foi o transición dunha licenza dual (OpenSSL e SSLeay) a unha licenza Apache 2.0. A licenza nativa OpenSSL usada anteriormente baseábase na licenza Apache 1.0 herdada e requiría unha mención explícita de OpenSSL en materiais promocionais cando se utilizaban as bibliotecas OpenSSL e unha nota especial se OpenSSL se enviaba co produto.

Estes requisitos facían incompatible a licenza anterior coa GPL, o que dificultaba o uso de OpenSSL en proxectos con licenza GPL. Para eludir esta incompatibilidade, os proxectos GPL víronse obrigados a facer cumprir acordos de licenza específicos, nos que o texto principal da GPL complementábase cunha cláusula que permitía de xeito explícito a ligazón da aplicación á biblioteca OpenSSL e mencionando que a GPL non se aplica á vinculación con OpenSSL. .

Novidades en OpenSSL 3.0.0

Pola parte das novidades que se presentan en OpenSSL 3.0.0 podemos atopalo propúxose un novo módulo FIPS, que inclúe a implementación de algoritmos criptográficos que cumpren o estándar de seguridade FIPS 140-2 (o proceso de certificación do módulo está previsto que comece este mes e prevese a certificación FIPS 140-2 o ano que vén). O novo módulo é moito máis doado de usar e conectarse a moitas aplicacións non será máis difícil que cambiar o ficheiro de configuración. Por defecto, FIPS está desactivado e require que estea habilitada a opción enable-fips.

En libcrypto implementouse o concepto de provedores de servizos conectados que substituíu o concepto de motores (a API de MOTOR quedou obsoleta). Coa axuda de provedores, pode engadir implementacións de algoritmos propios para operacións como cifrado, descifrado, xeración de claves, cálculo MAC, creación e verificación de sinaturas dixitais.

Tamén se destaca que engadiu soporte para CMPQue Pode usarse para solicitar certificados ao servidor de CA, renovar certificados e revocar certificados. Traballar con CMP faise coa nova utilidade openssl-cmp, que tamén implementa soporte para o formato CRMF e a transmisión de solicitudes a través de HTTP / HTTPS.

Tamén Propúxose unha nova interface de programación para a xeración de claves: EVP_KDF (Key Derivation Function API), que simplifica a incorporación de novas implementacións KDF e PRF. A antiga API EVP_PKEY, a través da cal estaban dispoñibles os algoritmos scrypt, TLS1 PRF e HKDF, redeseñouse como unha capa intermedia implementada encima das API EVP_KDF e EVP_MAC.

E na implementación do protocolo TLS ofrece a posibilidade de usar o cliente e o servidor TLS integrados no núcleo Linux para acelerar as operacións. Para habilitar a implementación TLS proporcionada polo núcleo Linux, debe estar habilitada a opción "SSL_OP_ENABLE_KTLS" ou a opción "enable-ktls".

Por outra banda menciónase que unha parte significativa da API mudouse á categoría obsoleta- Usar chamadas obsoletas no código dos teus proxectos xerará un aviso durante a compilación. O API de baixo nivel ligado a certos algoritmos foron declarados oficialmente obsoletos.

O soporte oficial en OpenSSL 3.0.0 agora só se ofrece para as API EVP de alto nivel, extraídas de certos tipos de algoritmos (esta API inclúe, por exemplo, as funcións EVP_EncryptInit_ex, EVP_EncryptUpdate e EVP_EncryptFinal). As API obsoletas eliminaranse nunha das próximas versións importantes. As implementacións de algoritmos herdados, como MD2 e DES, dispoñibles a través da API EVP, movéronse a un módulo "herdado" separado, que está desactivado por defecto.

Finalmente se estás interesado en saber máis sobre el, podes consultar os detalles Na seguinte ligazón.


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

Sexa o primeiro en opinar sobre

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.