Localisateur de clé
Un localisateur de clé (com.ibm.wsspi.wssecurity.config.KeyLocator) est une abstraction du mécanisme qui extrait la clé pour la signature et le chiffrement numériques.
- Fichier de clés Java™
- Base de données
- un serveur LTPA (Lightweight Third Party Authentication).
- Un libellé de chaîne de la clé, qui est explicitement transmis via l'API (Application Programming Interface). Les relations entre chaque clé et leur nom (libellé de chaîne) sont conservées dans le releveur de coordonnées de clé.
- Contexte d'exécution du releveur de coordonnées de clé : les informations explicites ne sont pas transmises au releveur de coordonnées de clé. Un releveur de coordonnées de clé détermine la clé appropriée en fonction du contexte d'exécution.
Les versions actuelles de releveurs de coordonnées de clé ne prennent pas en charge l'extraction des clés de vérification car les implémentations de la sécurité des services Web en cours ne prennent pas en charge la signature par clé secrète. Etant donné que les releveurs de coordonnées de clé prennent en charge la signature par clé publique uniquement, la clé de vérification est intégrée dans le certificat X.509 en tant qu'élément <BinarySecurityToken> du message entrant.
Par exemple, les releveurs de coordonnées de clés peuvent obtenir l'identité de l'appelant à partir du contexte et peuvent extraire les clés publiques de l'utilisateur à l'origine de l'appel pour le chiffrement de la réponse.
Scénarios d'utilisation
La présente section décrit les scénarios d'utilisation des releveurs de coordonnées de clé.
Signature :
Le nom de la clé de signature est spécifié dans la configuration de sécurité des services Web. Cette valeur est transmise au releveur de coordonnées de clé et la véritable clé est renvoyée. Le certificat X.509 correspondant peut également être renvoyé.
Vérification
Comme décrit précédemment, les releveurs de coordonnées de clé ne sont pas utilisés dans la vérification de la signature.
Chiffrement :
Le nom de la clé de chiffrement est spécifié dans la configuration de la sécurité des services Web. Cette valeur est transmise au releveur de coordonnées de clé et la véritable clé est renvoyée.
Déchiffrement :
La spécification de sécurité des Services Web recommande l'utilisation de l'identificateur de clé à la place du nom de clé. Toutefois, alors que l'algorithme permettant de calculer l'identificateur des clés publiques est défini dans Internet Engineering Task Force (IETF) Request for Comment (RFC) 3280, il n'existe aucun accord pour l'algorithme des clés secrètes. Par conséquent, l'implémentation actuelle de la sécurité des Services Web utilise l'identificateur uniquement lorsque le chiffrement à l'aide des clés publiques est effectué. Sinon, le nom de clé ordinal est utilisé.
Lorsque vous utilisez le chiffrement à l'aide de clés publiques, la valeur de l'identificateur de clé est intégrée dans le message chiffré entrant. Ensuite, l'implémentation de la sécurité des services Web recherche toutes les clés gérées par le releveur de coordonnées de clé et déchiffre le message à l'aide de la clé dont la valeur d'identificateur correspond à celle du message.
Lorsque vous utilisez le chiffrement par clé secrète, la valeur du nom de la clé est intégrée dans le message chiffré entrant. L'implémentation de la sécurité des Services Web demande au releveur de coordonnées de clé la clé dont le nom correspond à celui qui figure dans le message et déchiffre le message à l'aide de la clé.