KNXキーリングファイル(.knxkeys)は、ETSにおけるセキュアな通信に使用され、KNXデバイス用の暗号化された認証情報を格納しています。その形式には、暗号化されたFDSKと、要素および属性を特定の順序で記述し、PBKDF2およびSHA256を用いてハッシュ化して生成された署名が含まれています。これを使用するには、ETSで「プロジェクト」→「セキュリティ」→「キーリングのインポート」からキーリングをインポートしてください。
KNX キーリングの概要:
キーリングファイルは、KNXセキュアの設定に関連しており、主にETS(Engineering Tool Software)内でセキュアな通信を行うために使用されます。
このファイルは、多くの場合、拡張子が.knxkeysであり、KNXデバイスおよびインターフェース用の暗号化された認証情報を格納しています。
キーリングのファイル形式:
以下はキーリング・ファイルのフォーマットです。
FDSKは暗号化されており、復号化についてはこちらの記事で説明しています。
FDSKが暗号化されたら、以下の手順でフォーマット全体に署名します。
署名の生成:
KNX製品データのハッシュ/署名生成と同様に、キーリング・ファイルに対する署名が生成され、検証されます:
- .NT BinaryWriter (sAttributeStream)に、以下の順序で書き込みます (Keyring/@Signatureは省略):
各要素について -
a. char(0x01)
b. 要素名(XML名前空間なし)*
c. 各属性、属性名の順に
-属性名で先頭に長さバイト*
-属性値、先頭にバイト長*
d. 子要素を再帰的に処理
e. char(0x02)
2. Base64( PBKDF2( HMAC-SHA256, KeyringPassword, "1.keyring.ets.knx.org", 65536, 128))*)
3. 署名 = MSB128( SHA256( sAttributeStream))
注:要素名と属性名、属性値とbase64パスワード・ハッシュには、すべて先頭の長さバイトを記載。空の属性値は長さ値0x00として書かれる。
ETSでの使用法:
KNXセキュアルーターと安全な接続を確立するには、ETS に KNX キーリングファイル(.knxkeys)を読み込む必要があります。その手順は以下の通りです:
プロジェクト → セキュリティ → キーリングのインポート → .knxkeys ファイルを選択。