要約

  • RFC 9640 は暗号用途向けの共通 YANG 型とグルーピングを定めるが、完全な鍵保管や認証局のワークフローまでは定義しない。
  • generate-csr の成功は要求オブジェクトの生成を示す。通信相手、NACM、業務承認、CA 処理、導入、初回利用は別の証拠である。
  • 保管証明にはモデル状態だけでなく、鍵の出自、信頼境界、許可された操作、実行結果、更新と消去を含める必要がある。

管理装置は CSR を返した。DER は正しく、対象名と拡張も要求通りだった。ところが、依頼したアプリケーションが安全な通信路で認証された装置と同一なのか、その装置が当該サービスを名乗る権限を持つのかは、CSR の中だけでは分からない。

RFC 9640 が generate-csr を nacm:default-deny-all で保護し、チャネルバインディングを推奨するのは、この境界が重要だからだ。輸送層の本人性、モデル上の操作権限、組織の委任、認証局の判断は連続しているが、同一ではない。

再利用できる最小部品

2024 年 10 月に IETF NETCONF 作業部会から標準トラックとして公開された ietf-crypto-types は、暗号関連の identity、typedef、grouping を提供する。DER 化された ASN.1 オブジェクトとして PKCS #10、X.509 証明書、CRL、OCSP、CMS を扱い、パスワード、対称鍵、公開鍵、秘密鍵、鍵ペア、証明書、暗号化値を構成できる。

共通語彙は相互運用の基礎になる。一方、完全な truststore や keystore はそれぞれ RFC 9641、RFC 9642 の領域である。汎用的な鍵生成 RPC も、アルゴリズム識別に合意が得られず削除された。個別プロトコルのモジュールが必要な生成操作を加える。

したがって、木に鍵が存在することは受理された設定状態の証拠であって、乱数源、生成装置、インポート担当者、アテステーション、二者承認の証拠ではない。

見えないことと取り出せないこと

RFC 9640 は平文、hidden、暗号化という表現を区別する。平文保存は機能で明示的に有効化する必要があり、推奨されない。読み出せる秘密には default-deny-all、書き込みには default-deny-write が付く。

hidden 鍵は管理インターフェースから値を取得できないが、サーバーは暗号操作に利用できる。これは HSM 内生成や全経路での非抽出性を意味しない。ローカル API、特権プロセス、メモリダンプ、バックアップは別の観測面である。主張するなら、保管境界、オブジェクト属性、実装版、利用可能なインターフェースと否定試験を記録する。

暗号化値も依存関係を作る。CMS 形式に加え、対称暗号では AEAD またはランダム IV 付き CBC を使い、ECB を使ってはならない。しかし汎用 encrypted-by は空で、利用側モジュールがラッピング鍵参照を補う。暗号文が正しくても、ラッピング鍵の保護、可用性、更新、復旧権限は未証明である。

NACM は判定規則、監査は判定記録

厳しい既定値は事故を減らす。公開情報に見える証明書も識別子や通信関係を漏らし得るし、公鍵や証明書の改変は信頼ポリシーを変える。それでも注釈だけでは、特定時点にどの規則が配備され、誰のどの操作が許可されたかは分からない。

実際の証拠には NETCONF または RESTCONF セッション、相手の識別、チャネルバインディング、NACM 規則版、適用規則、対象パス、操作、変更前後の datastore、commit、上位承認を含める。安全な通信路は業務上の委任を代行しない。

一致検査の限界

公鍵と秘密鍵が同時に与えられた場合、サーバーは両者の一致を確かめる。証明書が付く場合は、その公鍵との一致も必要である。これは組み合わせ間違いを防ぐ強い構造検査だが、生成手順、証明書発行の正当性、失効状態、後の利用目的までは証明しない。

汎用グルーピングは鍵用途を制限しない。署名、復号、検証、暗号化のどれを許すかは、個別モジュールとローカルポリシーが決める。CSR も同じで、生成後には CA への提出、審査、発行証明書との一致、導入、最初の成功利用を別々に追う必要がある。

削除とゼロ化を分離する

平文鍵は削除時にゼロ化すべきだと RFC は求める。しかし YANG ノードの不在は datastore の変化であり、メモリ、ログ、複製、swap、crash dump、バックアップの消去証明ではない。

廃棄記録にはサーバーと版、保管領域、複製一覧、削除 transaction、上書きまたはハードウェア破棄、バックアップ期限、検証方法を書く。完全に確認できない場合は「管理木から削除済み、バックアップは期限待ち」のように結論を狭める。

最終的な保管証明は、モジュール版と機能、セッションと NACM、承認と commit、生成・輸入の出自、信頼境界、用途制限、ラッピング鍵、実際の操作、更新、失効、消去をつなぐ。YANG は構造を記述し、実行コードが効果を示し、監査記録がその間の責任を保存する。

出典