Le fichier porte-clés KNX (.knxkeys) est utilisé dans ETS pour assurer la sécurité des communications ; il contient les identifiants cryptés des appareils KNX. Son format comprend un FDSK chiffré et une signature générée en écrivant des éléments et des attributs dans un ordre spécifique, puis en appliquant une fonction de hachage PBKDF2 et SHA256. Pour l'utiliser, importez le trousseau de clés via Projet → Sécurité → Importer un trousseau de clés dans ETS.
Présentation du porte-clés KNX :
Le fichier porte-clés est lié aux configurations KNX Secure et est principalement utilisé au sein de l'ETS (Engineering Tool Software) pour assurer la sécurité des communications.
Ce fichier porte souvent l'extension .knxkeys et contient les identifiants cryptés des appareils et interfaces KNX.
Format de fichier Keyring:
Vous trouverez ci-dessous le format des fichiers porte-clés.
Le FDSK est crypté et le décryptage est expliqué dans l'article ici.
et une fois que le FDSK est crypté, signez l'ensemble du format en suivant la procédure ci-dessous.
Génération de la Signature :
La signature du fichier du porte-clés est générée et vérifiée de la même manière que la génération de hachage/signature pour les données de produits KNX :
- Dans un BinaryWriter .NT (sAttributeStream), écrivez dans cet ordre (en omettant Keyring/@Signature) :
-avant chaque élément
a. char(0x01)
b. Nom de l'élément (sans espace de nom XML)*
c. pour chaque attribut, ordonné par le nom de l'attribut
-Nom de l'attribut avec un octet de longueur*.
-Valeur de l'attribut avec l'octet de longueur d'entête*
d. traiter de manière récursive les éventuels éléments fils
e. char(0x02)
2. Base64( PBKDF2( HMAC-SHA256, KeyringPassword, "1.keyring.ets.knx.org", 65536, 128))*
3. Signature = MSB128( SHA256( sAttributeStream))
Remarque: Les noms d'éléments et d'attributs ainsi que les valeurs d'attributs et le hachage du mot de passe en base64 sont tous écrits avec un octet d'entête. Les valeurs d'attribut vides sont écrites sous la forme d'une valeur de longueur 0x00.
Utilisation dans l'ETS :
Pour établir une connexion sécurisée avec un routeur KNX Secure, vous devez charger le fichier de clés KNX (.knxkeys) dans ETS en suivant le chemin suivant :Projet «
» → Sécurité → Importer un trousseau de clés → Sélectionner le fichier .knxkeys.