知識マップ: Windowsで「Windows によって PC が保護されました」が出る理由
記事「Windowsで「Windows によって PC が保護されました」が出る理由」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
Windowsアプリ配布で出るSmartScreen警告は、コード署名の有無だけでなく発行元とファイルの評判で決まるため、コード署名証明書は警告を軽減しても消し切るわけではない。EV証明書は現在SmartScreen即時回避の目的では推奨されず、本番配布ではAzure Artifact SigningやOV証明書が現実的な選択肢になる。Microsoft Storeに提出したMSIXパッケージはMicrosoftが無償で再署名するため最も安定しやすく、ClickOnceはAuthenticode証明書によるマニフェスト署名で発行元を保証する。SignToolはコード署名とタイムスタンプの付与・検証を担い、タイムスタンプは証明書失効後も署名の有効性を保つ。社内配布ではIntuneやグループポリシーで構成するApp Control for Businessが未署名バイナリの起動失敗を招きうるため、監査モードでの検証を強制適用より先に行うべきである。
flowchart LR
accTitle: SmartScreenとコード署名の知識マップ
accDescr: SmartScreen警告の判定材料とコード署名証明書の種類、MSIXやClickOnceなどの配布経路、社内配布でのApp Control for Businessの関係を示す図。
smartscreen["Windows SmartScreen"]
code_signing_cert["コード署名証明書"]
ev_certificate["EVコード署名証明書"]
group_policy["グループポリシー"]
intune["Microsoft Intune"]
msix["MSIX"]
microsoft_store["Microsoft Store"]
azure_artifact_signing["Azure Artifact Signing"]
ov_certificate["OVコード署名証明書"]
self_signed_cert["アドホックな自己署名証明書"]
trusted_publisher_store["信頼された発行元ストア"]
clickonce["ClickOnce"]
signtool["SignTool"]
code_signing_timestamp["コード署名のタイムスタンプ"]
certificate_expiry["証明書の期限切れ"]
app_control_for_business["App Control for Business(旧WDAC)"]
managed_installer["マネージドインストーラー"]
audit_mode["監査モード"]
unsigned_binary["未署名バイナリ"]
blocked_app_startup_failure["実行制御によるアプリ起動失敗"]
code_signing_cert -.->|"軽減する"| smartscreen
ev_certificate -->|"用いるのは非推奨"| smartscreen
smartscreen -->|"で構成できる"| group_policy
smartscreen -->|"で構成できる"| intune
msix -->|"前提とする"| code_signing_cert
microsoft_store -.->|"利用する"| msix
microsoft_store -->|"軽減する"| smartscreen
azure_artifact_signing -->|"推奨される対応"| msix
ov_certificate -->|"推奨される対応"| msix
self_signed_cert -->|"推奨される対応"| msix
self_signed_cert -.->|"前提とする"| trusted_publisher_store
clickonce -.->|"前提とする"| code_signing_cert
signtool -.->|"利用する"| code_signing_timestamp
code_signing_cert -->|"で確認できる"| signtool
code_signing_timestamp -->|"軽減する"| certificate_expiry
app_control_for_business -.->|"利用する"| managed_installer
audit_mode -->|"より先に行うべき"| app_control_for_business
app_control_for_business -->|"で構成できる"| intune
unsigned_binary -.->|"原因になり得る"| blocked_app_startup_failure
smartscreen -.->|"原因になり得る"| blocked_app_startup_failure
概念間の関係(全20件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- コード署名証明書はWindows SmartScreenを軽減します。
- EVコード署名証明書をWindows SmartScreenに用いることは推奨されません。
- Windows SmartScreenはグループポリシーで構成できます。
- Windows SmartScreenはMicrosoft Intuneで構成できます。
- MSIXはコード署名証明書を前提とします。
- Microsoft StoreはMSIXを利用します。
- Microsoft StoreはWindows SmartScreenを軽減します。
- Azure Artifact SigningはMSIXに対する本記事の推奨です。
- OVコード署名証明書はMSIXに対する本記事の推奨です。
- アドホックな自己署名証明書はMSIXに対する本記事の推奨です。
- アドホックな自己署名証明書は信頼された発行元ストアを前提とします。
- ClickOnceはコード署名証明書を前提とします。
- SignToolはコード署名のタイムスタンプを利用します。
- コード署名証明書はSignToolで確認できます。
- コード署名のタイムスタンプは証明書の期限切れを軽減します。
- App Control for Business(旧WDAC)はマネージドインストーラーを利用します。
- 監査モードはApp Control for Business(旧WDAC)より先に行うべきです。
- App Control for Business(旧WDAC)はMicrosoft Intuneで構成できます。
- 未署名バイナリは実行制御によるアプリ起動失敗の原因になることがあります。
- Windows SmartScreenは実行制御によるアプリ起動失敗の原因になることがあります。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。