Localizador de claves
Un localizador de claves (com.ibm.wsspi.wssecurity.config.KeyLocator) es una abstracción del mecanismo que recupera la clave para la firma digital y el cifrado.
- Archivo de almacén de claves Java™
- Base de datos
- Servidor LTPA (Lightweight Third Party Authentication)
- Una etiqueta de serie de la clave, que se pasa explícitamente a través de la interfaz de programas de aplicación (API). Las relaciones entre cada clave y su nombre (etiqueta de clave) se mantiene dentro del localizador de claves.
- El contexto de ejecución del localizador de claves; no se pasa información específica al localizador de claves. Un localizador de claves determina la clave correcta según el contexto de ejecución.
Las versiones actuales de los localizadores de claves no admiten la recuperación de claves de verificación porque las implementaciones actuales de la seguridad de los servicios web no dan soporte a la firma basada en claves secretas. Como los localizadores de claves sólo dan soporte a la firma basada en claves públicas, la clave para la verificación se incorpora en el certificado X.509 como un elemento <BinarySecurityToken> del mensaje entrante.
Por ejemplo, los localizadores de claves pueden obtener la identidad del interlocutor a partir del contexto y recuperar la clave pública del interlocutor para cifrar la respuesta.
Ejemplos de uso
En esta sección se describen los ejemplos de uso de los localizadores de claves.
Firma:
El nombre de la clave de firma se especifica en la configuración de seguridad de los servicios web. Este valor se pasa al localizador de claves y se devuelve la clave real. También se puede devolver el certificado X.509 correspondiente.
Verificación
Como se ha descrito anteriormente, los localizadores de claves no se utilizan en la verificación de firmas.
Cifrado:
El nombre de la clave de cifrado se especifica en la configuración de seguridad de los servicios web. Este valor se pasa al localizador de claves y se devuelve la clave real.
Descifrado:
La especificación de seguridad de servicios web recomienda utilizar el identificador de la clave en lugar del nombre de la clave. No obstante, aunque el algoritmo para calcular el identificador de las claves públicas se define en IETF (Internet Engineering Task Force) RFC (Request for Comment) 3280, no hay ningún acuerdo para el algoritmo de las claves secretas. Por lo tanto, la implementación actual de la seguridad de los servicios web utiliza el identificador sólo cuando se realiza el cifrado basado en claves públicas. De lo contrario, se utiliza el nombre de la clave ordinal.
Cuando se utiliza el cifrado basado en claves públicas, el valor del identificador de la clave se incorpora en el mensaje cifrado entrante. A continuación, la implementación de seguridad de servicios web busca todas las claves gestionadas por el localizador de claves y descifra el mensaje utilizando la clave cuyo valor de identificador coincide con el del mensaje.
Cuando se utiliza el cifrado basado en claves secretas, el valor del nombre de la clave se incorpora en el mensaje cifrado entrante. La implementación de seguridad de servicios web pide al localizador de claves la clave cuyo nombre coincide con el del mensaje y descifra el mensaje utilizando la clave.