要約

  • RFC 9684 は、fresh nonce、PCR selection、TPM 1.2/2.0 Quote、BIOS/IMA/network-equipment boot log を扱う YANG RPC を定義する。
  • 正しい signature と PCR/log の一致は、選択した測定面の整合性を示すが、正しい TPM、component、measurement policy、Reference Values が使われたとは限らない。
  • Evidence、appraisal、Attestation Result、Relying Party decision、enforcement、network outcome は独立した receipt を必要とする。

新しい software image を載せた装置が、fresh nonce に対して正しい Quote を返した。Verifier は不一致を検出し、装置を拒否した。後で分かったのは、装置が壊れていたのではなく、Reference Integrity Manifest が旧 image のままだったことである。

Signature も freshness も正しかった。誤っていたのは、比較に使った制度上の現在だった。この違いを残さないと、remote attestation は強い証拠装置から、理由を説明できない排除装置へ変わる。

RFC 9684 の CHARRA model は、network device から TPM Evidence を取得する手続きを共通化する。ietf-tpm-remote-attestation により、YANG client は challenge を送り、PCR を選び、Quote と measurement log を受け取れる。規格化されるのは Evidence の入口であって、最終判断そのものではない。

Nonce が新しくするのは response の時点である

Client は十分な entropy を持つ fresh nonce を供給しなければならない。Attester がそれを response に結び付けるため、古い Quote を今回の回答として replay することが難しくなる。

ただし nonce は、要求しなかった PCR を増やさない。IMA policy が測定しなかった file を log に戻さない。Quote 後の device 変更を止めない。Composite device の中で、どの TPM がどの component を測っているかも説明しない。

RFC 9684 は、個々の TPM と measured component の関係を伝える方法を scope 外としている。mtpm を持つ device では、certificate-name を省略すると複数 TPM が応答し得る。指定した場合でも、その certificate が control unit、line card、forwarding unit のどれを代表するかは外部の component map が必要である。

Challenge receipt には nonce だけでなく、device identity、RPC、TPM version、certificate name、hash bank、PCR index、log type、selection policy version を残すべきだ。最終的な pass だけでは、card replacement や key rotation 後に何を検証したのか再現できない。

Quote signature は signer の権限を自己証明しない

TPM 2.0 response は TPMS_QUOTE_INFO、quote signature、certificate name、up-time、分析用の unsigned PCR values を含み得る。Signature は構造を保護し、PCR values は再構成を助け、certificate は attestation role への link を提供する。役割は異なる。

Receiver は TPM 1.2 certificate が active AIK 用であること、または TPM 2.0 certificate が active AK 用であり、target TPM を正当に attest できる entity が private key を制御していることを確認しなければならない。別 key の valid signature は、target component の回答にはならない。

Support structure の設定も解釈を壊せる。Certificate が AK と対応しない、key type が誤って表現される、物理 TPM が持たない algorithm を list が宣言する、system software が extend しない PCR が抽出対象になる、といった状態である。RPC は成功しても、意味は期待どおりではない。

NETCONF と RESTCONF の secure transport は管理 message を守る。どの key に attestation authority があるか、どの component が coverage に入るか、どの baseline が承認済みかは決めない。Transport success を appraisal success に置き換えてはならない。

PCR replay は measurement policy の外側を見ない

PCR は measurement extension を rolling hash として蓄積する。Event log が sequence を説明し、Verifier は replay して期待 PCR を計算し、signed Evidence と比較できる。その後、個々の measurement を Reference Values と照合する。

ここで証明されるのは、log と選択 PCR の一貫性である。IMA template は record field を決め、IMA policy はどの file を測定するかを決める。RFC 9684 が説明するように、policy がなければ measurement は行われず、IMA は実質的に disabled になる。

つまり、完全に replay できる短い log は、完全な coverage ではなく狭い policy の結果かもしれない。BIOS/UEFI、IMA、network-equipment boot log も同じ layer を扱うとは限らない。並行起動では単純な一列の order を期待できない場合がある。

Patch や upgrade は正当に hash を変えるため、Reference Integrity Manifest も更新されなければならない。Mismatch は tampering の可能性を示す一方、承認済み移行、wrong model、stale baseline の可能性も残す。Difference は observation であり、attribution は appraisal である。

監査記録は measurement-policy version、coverage、raw log、replay result、Reference Values の provider/version/validity、exception、appraisal policy を別々に残す必要がある。Vendor score だけでは、baseline が誤っていた時に再判定できない。

Verifier と Relying Party は同じ権限主体ではない

RFC 9334 は、Evidence を出す Attester、それを appraise する Verifier、Attestation Result を特定 decision に使う Relying Party を分ける。RFC 9683 は network-device integrity verification の operational context を与える。

RFC 9684 が主に標準化するのは Evidence retrieval である。Inventory 用に acceptable な結果が、routing session admission に十分とは限らない。Negative result は maintenance、limited function、human review の trigger になり得るが、自動的な全停止命令ではない。

Relying Party が deny を選んだ後も、enforcement point の receipt が必要だ。Port は閉じたか、session は withdraw されたか、traffic は別 path に移ったか、service は継続したか。TPM Quote の signature はそれらの action を見ていない。

Evidence retrieval 自体が高い privilege である

Measurement log の digest や configuration detail は software version を推測させ、known vulnerability の探索を助け得る。大量 log retrieval は resource を使い、denial-of-service risk を作る。RFC 9684 は NACM で RPC を保護し、authorized Verifier 以外を deny-all にすることを勧める。

運用 policy は、誰が、どの component を、どの頻度と量で問い合わせられるかを明示すべきだ。収集不足は false assurance を作り、収集過多は device 負荷と情報露出を増やす。共通 YANG model は、その local decision を隠す理由ではない。

最小初期仕様 は exchange の核を小さく保つ。現実の layer は「attested」という label を nonce、scope、key、baseline、decision に戻す。Running-code primacy は enforcement の実行結果まで確認させる。

CHARRA の成果は、TPM response を management system 間で扱えるようにしたことである。Fresh Quote は Evidence であり、Verifier の accountable appraisal を経て verdict となり、authorized system の action receipt を経て初めて operational fact になる。

出典