知識マップ: Windows証明書ストア実務ガイド ── ユーザーとコンピューター、どちらに入れるか
記事「Windows証明書ストア実務ガイド ── ユーザーとコンピューター、どちらに入れるか」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
Windowsの証明書ストアはユーザー(CurrentUser)とコンピューター(LocalMachine)の2系統に分かれ、クライアント証明書をどちらに入れるかは「そのプログラムが誰として動くか」で決まります。無人実行のWindowsサービスはコンピューターストアと秘密キーのアクセス権付与がワンセットで、証明書の期限切れとハードコードされた拇印が、証明書起因の接続障害の定番原因です。
flowchart LR
accTitle: Windows証明書ストア実務ガイドの知識マップ
accDescr: 証明書ストア(ユーザー/コンピューター)、クライアント証明書、秘密キー、証明書チェーン、ルートCA・中間CA、期限切れ・拇印と接続障害、入れ替え手順・台帳・自己署名証明書のリスクの関係を示す図
certificate_store["証明書ストア"]
client_certificate["クライアント証明書"]
windows_service["Windowsサービス"]
localmachine_store["コンピューターの証明書ストア"]
private_key["秘密キー"]
private_key_acl["秘密キーのアクセス権"]
certificate_chain["証明書チェーン"]
intermediate_ca["中間CA証明書"]
root_ca["ルートCA証明書"]
certificate_expiry["証明書の期限切れ"]
certificate_failure["証明書起因の接続障害"]
thumbprint_hardcode["拇印のハードコード"]
group_policy["グループポリシー"]
intune["Microsoft Intune"]
currentuser_store["ユーザーの証明書ストア"]
certmgr_msc["certmgr.msc"]
certlm_msc["certlm.msc"]
cert_drive["Cert:ドライブ"]
pfx["PFXファイル"]
certutil["certutil"]
code_signing_cert["コード署名証明書"]
trusted_publisher_store["信頼された発行元ストア"]
desktop_app["対話ユーザーのデスクトップアプリ"]
cert_renewal["証明書の入れ替え"]
cert_ledger["証明書台帳"]
self_signed_cert["アドホックな自己署名証明書"]
trust_anchor_risk["信頼の起点の悪用リスク"]
cert_selection["証明書の選択(検索)"]
personal_store["「個人」ストア(My)"]
store_mismatch["ストアの取り違え"]
iis_apppool["IISアプリケーションプール"]
task_scheduler["タスクスケジューラの無人実行"]
exportable_import["エクスポート可能でのインポート"]
key_exfiltration_risk["秘密キーの持ち出しリスク"]
everyone_full_control["Everyoneへのフルコントロール付与"]
partner_registration["相手先への証明書事前登録"]
cert_switchover["新証明書への切り替え"]
x509store["X509Storeクラス"]
validonly_search["validOnly指定の証明書検索"]
key_usage["キー使用法(Key Usage)属性"]
config_externalization["拇印の構成外出し"]
cert_choice_logging["選択証明書のログ出力"]
windows_service -->|"利用する"| localmachine_store
client_certificate -->|"前提とする"| private_key
windows_service -->|"前提とする"| private_key_acl
certificate_chain -.->|"前提とする"| intermediate_ca
certificate_chain -->|"前提とする"| root_ca
certificate_expiry -.->|"原因になり得る"| certificate_failure
thumbprint_hardcode -.->|"原因になり得る"| certificate_failure
certificate_failure -->|"で確認できる"| certificate_chain
root_ca -->|"で構成できる"| group_policy
root_ca -->|"で構成できる"| intune
currentuser_store -->|"で確認できる"| certmgr_msc
localmachine_store -->|"で確認できる"| certlm_msc
certificate_store -->|"で確認できる"| cert_drive
certificate_expiry -->|"で確認できる"| cert_drive
private_key -.->|"に保存される"| pfx
certificate_chain -->|"で確認できる"| certutil
code_signing_cert -.->|"に保存される"| trusted_publisher_store
desktop_app -->|"利用する"| currentuser_store
root_ca -.->|"に保存される"| localmachine_store
private_key_acl -->|"で構成できる"| certlm_msc
cert_renewal -.->|"防止する"| certificate_failure
cert_ledger -.->|"防止する"| certificate_expiry
self_signed_cert -.->|"原因になり得る"| trust_anchor_risk
thumbprint_hardcode -->|"用いるのは非推奨"| cert_selection
self_signed_cert -->|"用いるのは非推奨"| root_ca
cert_ledger -->|"推奨される対応"| certificate_expiry
currentuser_store -->|"内容を継承する"| localmachine_store
client_certificate -->|"に保存される"| personal_store
store_mismatch -->|"原因になり得る"| certificate_failure
iis_apppool -->|"利用する"| localmachine_store
iis_apppool -->|"前提とする"| private_key_acl
task_scheduler -.->|"利用する"| localmachine_store
exportable_import -->|"原因になり得る"| key_exfiltration_risk
everyone_full_control -->|"用いるのは非推奨"| private_key_acl
cert_renewal -->|"前提とする"| private_key_acl
partner_registration -.->|"より先に行うべき"| cert_switchover
x509store -->|"利用する"| certificate_store
validonly_search -.->|"軽減する"| certificate_failure
client_certificate -.->|"前提とする"| key_usage
config_externalization -->|"推奨される対応"| cert_selection
cert_choice_logging -->|"推奨される対応"| certificate_failure
概念間の関係(全41件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- Windowsサービスはコンピューターの証明書ストアを利用します。
- クライアント証明書は秘密キーを前提とします。
- Windowsサービスは秘密キーのアクセス権を前提とします。
- 証明書チェーンは中間CA証明書を前提とします。
- 証明書チェーンはルートCA証明書を前提とします。
- 証明書の期限切れは証明書起因の接続障害の原因になることがあります。
- 拇印のハードコードは証明書起因の接続障害の原因になることがあります。
- 証明書起因の接続障害は証明書チェーンで確認できます。
- ルートCA証明書はグループポリシーで構成できます。
- ルートCA証明書はMicrosoft Intuneで構成できます。
- ユーザーの証明書ストアはcertmgr.mscで確認できます。
- コンピューターの証明書ストアはcertlm.mscで確認できます。
- 証明書ストアはCert:ドライブで確認できます。
- 証明書の期限切れはCert:ドライブで確認できます。
- 秘密キーはPFXファイルに保存されます。
- 証明書チェーンはcertutilで確認できます。
- コード署名証明書は信頼された発行元ストアに保存されます。
- 対話ユーザーのデスクトップアプリはユーザーの証明書ストアを利用します。
- ルートCA証明書はコンピューターの証明書ストアに保存されます。
- 秘密キーのアクセス権はcertlm.mscで構成できます。
- 証明書の入れ替えは証明書起因の接続障害を防ぎます。
- 証明書台帳は証明書の期限切れを防ぎます。
- アドホックな自己署名証明書は信頼の起点の悪用リスクの原因になることがあります。
- 拇印のハードコードを証明書の選択(検索)に用いることは推奨されません。
- アドホックな自己署名証明書をルートCA証明書に用いることは推奨されません。
- 証明書台帳は証明書の期限切れに対する本記事の推奨です。
- ユーザーの証明書ストアはコンピューターの証明書ストアの内容を継承して表示します。
- クライアント証明書は「個人」ストア(My)に保存されます。
- ストアの取り違えは証明書起因の接続障害の原因になることがあります。
- IISアプリケーションプールはコンピューターの証明書ストアを利用します。
- IISアプリケーションプールは秘密キーのアクセス権を前提とします。
- タスクスケジューラの無人実行はコンピューターの証明書ストアを利用します。
- エクスポート可能でのインポートは秘密キーの持ち出しリスクの原因になることがあります。
- Everyoneへのフルコントロール付与を秘密キーのアクセス権に用いることは推奨されません。
- 証明書の入れ替えは秘密キーのアクセス権を前提とします。
- 相手先への証明書事前登録は新証明書への切り替えより先に行うべきです。
- X509Storeクラスは証明書ストアを利用します。
- validOnly指定の証明書検索は証明書起因の接続障害を軽減します。
- クライアント証明書はキー使用法(Key Usage)属性を前提とします。
- 拇印の構成外出しは証明書の選択(検索)に対する本記事の推奨です。
- 選択証明書のログ出力は証明書起因の接続障害に対する本記事の推奨です。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。