Recientemente lanzada por Oracle, la última versión de Java Development Kit (JDK) 22 para Java SE 22 Standard Edition ofrece varias mejoras de seguridad, incluida una interfaz de clave asimétrica y una opción de seguridad para -XshowSettings que facilita la visualización de la configuración relacionada con la seguridad. En una publicación de blog El 20 de marzo, en la página web inside.java de Oracle, Sean Mullan, líder técnico del equipo de bibliotecas de seguridad de Java y líder del grupo de seguridad OpenJDK, proporcionó más detalles sobre las mejoras de seguridad.

En cuanto a la opción java -Xshowsettings, que se utiliza para imprimir la configuración del sistema y otra información útil sobre la configuración actual del JDK, ahora puede mostrar información detallada sobre la configuración relacionada con la seguridad. "La opción -Xshowsettings:security muestra todas las configuraciones de seguridad con subopciones que publican los valores de las propiedades de seguridad, los proveedores de seguridad instalados y sus algoritmos compatibles, o los protocolos TLS habilitados y los conjuntos de cifrado", escribió Mullan.

Una interfaz sobre claves asimétricas

En cuanto a la criptografía, se ha enriquecido con una interfaz estándar, java.security.AsynchronousKey, en realidad una subinterfaz de java.security.key que representa una clave asimétrica que puede ser privada o pública. Las clases existentes java.security.PublicKey y java.security.PrivateKey se han adaptado para convertirse en subinterfaces de AsynchronousKey. "A medida que se introduzcan nuevos algoritmos asimétricos, la interfaz AmetricKey facilitará que las versiones anteriores de Java SE los admitan mediante parámetros en forma de NamedParameterSpec", afirmó Mullan.

Además, el módulo jdk.crytpo.ec ha quedado obsoleto y se tiene la intención de eliminarlo en el futuro. Todo el código del módulo jdk.crytpo.ec se ha movido al módulo java.base, incluido el proveedor de seguridad SunEC. Este componente ahora está vacío, pero aún existe. Este cambio facilitará la implementación de aplicaciones que dependen de algoritmos criptográficos de curva elíptica. Para la infraestructura de clave pública (PKI), se han agregado 10 certificados de CA raíz al almacén de claves cacerts, incluidos tres certificados de eMudhra Technologies, cuatro de DigiCert y uno de Let's Encrypt, Telia y Certigna.

Para el protocolo Transport Layer Security (TLS), se han agregado propiedades adicionales para controlar la longitud máxima de las cadenas de certificados de cliente y servidor. Y para las firmas XML, la implementación de JDK ahora admite firmas XML firmadas con algoritmos de firma RSA con resúmenes SHA-3. JDK 22 extiende la compatibilidad de Java Cryptography Extension (JCE) con el algoritmo de firma HSS/LMS para admitir HSS/LMS en las utilidades jarsigner y keytool. Además, jarsigner ahora admite la firma y verificación de archivos JAR con el algoritmo HSS/LMS, mientras que keytool admite la generación de pares de claves públicas HSS/LMS. Sin embargo, JDK solo admite la verificación de firmas HSS/LMS. Los desarrolladores deberán utilizar un proveedor externo para firmar archivos JAR con HSS/LMS.