El archivo de llavero KNX (.knxkeys) se utiliza en ETS para garantizar una comunicación segura, ya que contiene credenciales cifradas para los dispositivos KNX. Su formato incluye un FDSK cifrado y una firma generada mediante la escritura de elementos y atributos en un orden específico, a lo que le sigue un proceso de hashing con PBKDF2 y SHA256. Para utilizarlo, importe el llavero a través de Proyecto → Seguridad → Importar llavero en ETS.
Descripción general del llavero KNX:
El archivo de llavero está relacionado con las configuraciones de KNX Secure y se utiliza principalmente en el ETS (Engineering Tool Software) para garantizar una comunicación segura.
Este archivo suele tener la extensión .knxkeys y contiene credenciales cifradas para dispositivos e interfaces KNX.
Formato del Archivo del Llavero:
A continuación se muestra el formato del archivo de llavero.
El FDSK está encriptado y la desencriptación se explica en este artículo.
y una vez encriptado el FDSK, firme todo el formato siguiendo el procedimiento que se indica a continuación.
Generación de firmas:
La firma sobre el archivo de llavero se genera y verifica de forma similar a la generación de hash/firma para los datos de producto KNX:
- En un BinaryWriter .NT (sAttributeStream), escriba en este orden (omitiendo Keyring/@Signature):
-por cadaelemento
a. char(0x01)
b. Nombre del elemento (sin ningún espacio de nombres XML)*.
c. para cada Atributo, ordenado por Nombre de Atributo
-Nombre del atributo con byte de longitud inicial*.
-Valor del atributo con byte de longitud inicial*.
d. procesar recursivamente los posibles elementos hijos
e. char(0x02)
2. Base64( PBKDF2( HMAC-SHA256, KeyringPassword, "1.keyring.ets.knx.org", 65536, 128))*
3. Firma = MSB128( SHA256( sAttributeStream))
Nota: Tanto los nombres de elementos y atributos como los valores de atributos y el hash de contraseña en base64 se escriben con un byte de longitud por delante. Los valores de atributo vacíos se escriben con el valor de longitud 0x00.
Uso en el ETS:
Para establecer una conexión segura con un Router KNX Secure, debe cargar el archivo de llaves KNX (.knxkeys) en ETS siguiendo estos pasos:
Proyecto → Seguridad → Importar llaves → Seleccionar archivo .knxkeys.