Repository navigation
feat(security): commission で DAC / PAI の失効照合(任意の revocation set) - #27
Merged
Merged
Conversation
connectedhomeip の generate_revocation_set.py が出す JSON を MAT_REVOCATION_SET または <store>/revocation-set.json で渡すと、attestation の チェーン検証後に DAC / PAI を照合し、失効していれば commissioning を止める (device_rejected)。どちらも無ければ従来どおり照合なし。 - mat は DCL にも CRL 配布元にもアクセスしない(ネットワーク・状態なし) - 指定されたファイルが読めない・不正なら、機器に触る前に other で止める - mtime が 30 日より古ければ warn して続行 - X509Cert に serial を追加 Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
実機で「発行者のエントリに当たったうえで失効なし」なのか「どのエントリにも 当たらず素通り」なのかを区別できるよう、照合した証明書ごとに serial / issuer_key_id / issuer_covered / revoked を debug で出す。 RevocationSet::covers_issuer を追加(判定には使わない、表示用)。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
変更
mat commissionに、任意の失効照合を追加する。credentials/generate_revocation_set.pyが出す JSON(revocation set)。mat は DCL にも CRL 配布元にもアクセスしない。MAT_REVOCATION_SET><store>/revocation-set.json。どちらも無ければ従来どおり照合なし。device_rejected、exit 4)。otherで止める(照合なしへ落とさない)。X509Cert.serial、AttestationError::{Revoked, RevocationSet}、CommissionParams/BleThreadParams/CommissionRequestにrevocation_set(いずれも semver 上は break、minor 方針)。確認
task check合格mat commissionを 3 脚: 壊れたファイル →other(機器に触らず即時)/ PAI を失効させた set →device_rejected(pai certificate is revoked)/ 空の set →successgenerate_revocation_set.py from-dcl --use-main-net-httpで生成した実ファイル(97 エントリ、失効シリアル 409 件)を読み込めることを確認open-windowし、jarvis 上の使い捨て fabric で 2 つ目の管理者として commission、各回の後に unpair:success。debug ログで DAC の発行者(Nanoleaf PAI)のエントリに当たり(issuer_covered=true)、失効なし。PAI の発行者(Nanoleaf PAA)は DCL に失効点が無い(issuer_covered=false)device_rejected(dac certificate is revoked)。AddNOC 前に止まるので機器に fabric は残らないBleThreadParams)は値を渡すだけで、実機では未確認🤖 Generated with Claude Code