クラウド活用の拡大、リモートワークの定着、サイバー攻撃の高度化により、従来の「社内ネットワークは安全」という前提に基づく境界型セキュリティは限界を迎えています。この課題に対応するセキュリティモデルがゼロトラストです。
本記事では、ゼロトラストセキュリティの基本原則と7つの柱について以下の内容を解説します。
- ゼロトラストの定義と基本原則(Never Trust, Always Verify)
- NIST SP 800-207とForresterによるゼロトラストの標準的な定義
- ゼロトラストを構成する7つの柱の詳細
- 従来の境界型セキュリティとの根本的な違い
- ゼロトラスト導入がもたらすメリットと考慮点
この記事を読むことで、ゼロトラストセキュリティの全体像を把握し、なぜ現代のセキュリティ戦略においてゼロトラストが不可欠なのかを論理的に説明できるようになります。
前提知識
本記事を理解するために、以下の知識があることを前提としています。
- ネットワークの基本概念(IPアドレス、サブネット、ファイアウォール)を理解している
- 認証と認可の違いを把握している
- VPNやプロキシの基本的な役割を知っている
関連記事としてファイアウォールの仕組みと設定の基礎を理解するも参考にしてください。
期待される学習成果
本記事を読み終えると、以下のことができるようになります。
- ゼロトラストの定義と3つの基本原則を説明できる
- ゼロトラストを構成する7つの柱の役割を理解できる
- 境界型セキュリティとゼロトラストの違いを明確に説明できる
- 自組織にゼロトラストが必要な理由を論理的に説明できる
ゼロトラストとは何か
ゼロトラストは、2010年にForrester Researchのアナリストであるジョン・キンダーバグ(John Kindervag)氏によって提唱されたセキュリティモデルです。その核心は「決して信頼せず、常に検証する(Never Trust, Always Verify)」という原則にあります。
ゼロトラストの公式定義
NIST(米国国立標準技術研究所)は、SP 800-207「Zero Trust Architecture」において、ゼロトラストを以下のように定義しています。
ゼロトラスト(ZT)は、静的でネットワークベースの境界から、ユーザー、資産、リソースに焦点を当てた防御へと移行する、進化するサイバーセキュリティパラダイムの総称である。
Forresterは、より実践的な定義を提示しています。
ゼロトラストは、アプリケーションとデータへのアクセスをデフォルトで拒否する情報セキュリティモデルである。脅威の防止は、ユーザーとそれに関連するデバイス全体で、継続的かつ文脈に応じたリスクベースの検証に基づいてのみ、ネットワークとワークロードへのアクセスを許可することで達成される。
これらの定義から、ゼロトラストの本質は「暗黙の信頼を排除する」ことにあることがわかります。
ゼロトラストの3つの基本原則
ゼロトラストは、以下の3つの基本原則に基づいて構築されます。
flowchart TB
subgraph principles["ゼロトラストの3つの基本原則"]
p1["1. すべてのエンティティは<br/>デフォルトで信頼しない"]
p2["2. 最小権限アクセスを<br/>適用する"]
p3["3. 包括的なセキュリティ<br/>監視を実装する"]
end
p1 --> action1["明示的な検証なしに<br/>アクセスを許可しない"]
p2 --> action2["必要最小限の権限のみを<br/>必要な期間だけ付与"]
p3 --> action3["すべてのアクティビティを<br/>記録・分析・検証"]それぞれの原則について詳しく見ていきます。
原則1: すべてのエンティティはデフォルトで信頼しない
ネットワークの内部にいるか外部にいるかに関係なく、すべてのユーザー、デバイス、アプリケーションは信頼されません。アクセスを許可する前に、必ず明示的な検証を行います。
原則2: 最小権限アクセスを適用する
ユーザーやシステムには、タスクを完了するために必要な最小限のアクセス権のみを付与します。これにより、侵害が発生した場合の影響範囲を最小化できます。
原則3: 包括的なセキュリティ監視を実装する
すべてのネットワークトラフィック、ユーザー行動、データアクセスを継続的に監視し、異常を検知します。これにより、侵害の早期発見と迅速な対応が可能になります。
境界型セキュリティとの根本的な違い
ゼロトラストを理解するためには、従来の境界型セキュリティ(Castle-and-Moat モデル)との違いを把握することが重要です。
境界型セキュリティの考え方
境界型セキュリティは、「城と堀」に例えられるモデルです。企業ネットワークを城に見立て、ファイアウォールやVPNという「堀」で外部から守ります。一度堀を越えて城内に入れば、内部のリソースへのアクセスは比較的自由に許可されます。
flowchart TB
subgraph external["外部ネットワーク(信頼されない)"]
attacker["攻撃者"]
remote["リモートユーザー"]
end
subgraph perimeter["境界(ファイアウォール/VPN)"]
fw["ファイアウォール"]
vpn["VPN"]
end
subgraph internal["内部ネットワーク(信頼される)"]
user1["従業員A"]
user2["従業員B"]
server["サーバー"]
db["データベース"]
end
attacker -.->|拒否| fw
remote -->|VPN接続| vpn
vpn -->|認証後は自由にアクセス| internal
user1 <-->|自由にアクセス| server
user1 <-->|自由にアクセス| db
user2 <-->|自由にアクセス| server境界型セキュリティの限界
現代のIT環境において、境界型セキュリティには以下の致命的な問題があります。
| 課題 | 説明 |
|---|---|
| 境界の消失 | クラウドサービス、SaaS、リモートワークにより「内部」と「外部」の境界が曖昧に |
| 内部脅威への脆弱性 | 一度境界を越えると内部での横移動(ラテラルムーブメント)が容易 |
| VPN依存のリスク | VPNが侵害されると全社ネットワークへのアクセスを許してしまう |
| 過剰な暗黙の信頼 | 「社内ネットワークにいる=信頼できる」という危険な前提 |
ゼロトラストによる解決
ゼロトラストは、これらの課題を根本的に解決します。
flowchart TB
subgraph users["アクセス元"]
office["オフィス従業員"]
remote["リモートワーカー"]
partner["パートナー企業"]
end
subgraph pdp["Policy Decision Point"]
verify["継続的な検証"]
context["コンテキスト評価"]
risk["リスク分析"]
end
subgraph resources["保護対象リソース"]
app1["アプリA"]
app2["アプリB"]
data["機密データ"]
end
office --> verify
remote --> verify
partner --> verify
verify --> context
context --> risk
risk -->|許可| app1
risk -->|許可| app2
risk -->|条件付き許可| data
risk -.->|拒否| denied["アクセス拒否"]ゼロトラストでは、アクセス元の場所に関係なく、すべてのアクセス要求に対して以下を検証します。
- Who: 誰がアクセスしようとしているか(アイデンティティ検証)
- What: どのデバイスからアクセスしているか(デバイス信頼性)
- Where: どこからアクセスしているか(ネットワークコンテキスト)
- When: いつアクセスしているか(時間的コンテキスト)
- Why: なぜそのリソースにアクセスする必要があるか(ビジネス正当性)
- How: どのような方法でアクセスしているか(認証強度)
ゼロトラストを構成する7つの柱
Forresterが提唱するZero Trust Extended(ZTX)モデルでは、ゼロトラストを7つの柱で構成しています。これらの柱を包括的に実装することで、真のゼロトラストセキュリティが実現されます。
flowchart TB
subgraph zt["ゼロトラストの7つの柱"]
direction TB
p1["1. アイデンティティ"]
p2["2. デバイス"]
p3["3. ネットワーク"]
p4["4. アプリケーション"]
p5["5. データ"]
p6["6. 可視化と分析"]
p7["7. 自動化とオーケストレーション"]
end
p1 & p2 & p3 & p4 & p5 --> p6
p6 --> p7
p7 --> policy["ポリシー適用"]柱1: アイデンティティ(Identity)
アイデンティティは、ゼロトラストの最も重要な柱です。「誰がアクセスしているのか」を確実に識別し、検証します。
主要な構成要素
- Identity Provider(IdP): ユーザーのアイデンティティを一元管理
- 多要素認証(MFA): パスワードに加え、複数の要素で認証
- シングルサインオン(SSO): 一度の認証で複数サービスにアクセス
- 条件付きアクセス: コンテキストに応じたアクセス制御
flowchart LR
user["ユーザー"] --> mfa["多要素認証"]
mfa --> idp["Identity Provider"]
idp --> |検証| decision{"条件付き<br/>アクセス評価"}
decision -->|許可| resource["リソース"]
decision -->|追加認証要求| step_up["ステップアップ認証"]
decision -->|拒否| block["アクセスブロック"]従来のユーザー名とパスワードによる認証だけでは不十分です。アイデンティティの柱では、認証情報の漏洩を前提とした多層防御を構築します。
柱2: デバイス(Devices)
アクセス元のデバイスが信頼できる状態にあるかを検証します。
主要な構成要素
- Mobile Device Management(MDM): モバイルデバイスの管理
- Unified Endpoint Management(UEM): すべてのエンドポイントの統合管理
- Endpoint Detection and Response(EDR): エンドポイントでの脅威検知と対応
- デバイス証明書: デバイスの真正性を証明
| チェック項目 | 説明 |
|---|---|
| OSバージョン | 最新のセキュリティパッチが適用されているか |
| セキュリティソフト | アンチウイルス/EDRが有効で最新か |
| 暗号化状態 | ディスク暗号化が有効か |
| 登録状態 | 組織のデバイス管理下にあるか |
| コンプライアンス | セキュリティポリシーに準拠しているか |
BYODやリモートワーク環境では、組織が完全に管理していないデバイスからのアクセスも想定する必要があります。デバイスの信頼性を動的に評価し、リスクに応じたアクセス制御を行います。
柱3: ネットワーク(Networks)
ネットワークをセグメント化し、横移動(ラテラルムーブメント)を防止します。
主要な構成要素
- マイクロセグメンテーション: ネットワークを細かく分割
- Software-Defined Perimeter(SDP): ソフトウェア定義の境界
- Zero Trust Network Access(ZTNA): VPNに代わるアプリケーション単位のアクセス
flowchart TB
subgraph traditional["従来のフラットネットワーク"]
direction LR
t_user["侵入者"] --> t_srv1["サーバーA"]
t_srv1 --> t_srv2["サーバーB"]
t_srv2 --> t_db["DB"]
end
subgraph microseg["マイクロセグメンテーション"]
direction LR
m_user["侵入者"] --> m_srv1["サーバーA"]
m_srv1 -.->|拒否| m_srv2["サーバーB"]
m_srv1 -.->|拒否| m_db["DB"]
end従来のフラットネットワークでは、一度侵入されると自由に移動できてしまいます。マイクロセグメンテーションにより、各セグメント間の通信を厳密に制御し、侵害の影響範囲を最小化します。
柱4: アプリケーション(Applications)
アプリケーションへのアクセスを適切に制御し、アプリケーション自体のセキュリティを確保します。
主要な構成要素
- Cloud Access Security Broker(CASB): クラウドサービスへのアクセス制御
- Web Application Firewall(WAF): Webアプリケーションの保護
- API Gateway: APIアクセスの制御と監視
- アプリケーションの健全性評価: 脆弱性や設定ミスの検出
アプリケーションの柱では、以下のような制御を実装します。
flowchart LR
user["ユーザー"] --> casb["CASB"]
casb --> saas["SaaS"]
user --> ztna["ZTNA"]
ztna --> internal["社内アプリ"]
external["外部"] --> waf["WAF"]
waf --> webapp["Webアプリ"]
api_client["APIクライアント"] --> apigw["API Gateway"]
apigw --> api["内部API"]柱5: データ(Data)
データはゼロトラストで保護すべき最終的な対象です。データ中心のセキュリティアプローチを採用します。
主要な構成要素
- データ分類: 機密度に応じたデータの分類
- Data Loss Prevention(DLP): データ漏洩の防止
- 暗号化: 保存時・転送時・使用時の暗号化
- アクセス権管理: データレベルでの権限制御
| データ分類 | 説明 | 保護レベル |
|---|---|---|
| 公開 | 一般に公開可能な情報 | 基本的な保護 |
| 内部 | 社内での利用に限定 | アクセス制御 |
| 機密 | 業務上必要な者のみ | 暗号化 + 厳格なアクセス制御 |
| 極秘 | 特定の承認者のみ | 多層暗号化 + 監査 + DLP |
データの柱では、データがどこにあっても(オンプレミス、クラウド、エンドポイント)、一貫した保護を適用します。
柱6: 可視化と分析(Visibility and Analytics)
すべてのアクティビティを収集・分析し、脅威を検知します。
主要な構成要素
- Security Information and Event Management(SIEM): ログの統合と相関分析
- User and Entity Behavior Analytics(UEBA): ユーザーとエンティティの行動分析
- ネットワークトラフィック分析: 通信パターンの監視
flowchart TB
subgraph sources["データソース"]
id_log["アイデンティティログ"]
dev_log["デバイスログ"]
net_log["ネットワークログ"]
app_log["アプリケーションログ"]
data_log["データアクセスログ"]
end
subgraph analysis["分析基盤"]
siem["SIEM"]
ueba["UEBA"]
correlation["相関分析"]
end
subgraph action["アクション"]
alert["アラート"]
investigate["調査"]
respond["対応"]
end
sources --> siem
siem --> correlation
ueba --> correlation
correlation --> action可視化と分析は、ゼロトラストの「継続的な検証」を実現するための基盤です。静的なルールだけでなく、機械学習を活用した異常検知により、未知の脅威にも対応します。
柱7: 自動化とオーケストレーション(Automation and Orchestration)
セキュリティ運用を自動化し、迅速な対応を実現します。
主要な構成要素
- Security Orchestration, Automation and Response(SOAR): セキュリティ対応の自動化
- ポリシーの動的適用: リスクレベルに応じた自動的なポリシー変更
- インシデント対応の自動化: 検知から対応までの自動化
flowchart LR
detect["脅威検知"] --> analyze["自動分析"]
analyze --> decision{"リスク評価"}
decision -->|低| log["ログ記録"]
decision -->|中| alert["アラート + 追加認証要求"]
decision -->|高| block["自動ブロック + 調査開始"]人手による対応では、高度化・大量化するサイバー攻撃に追いつけません。自動化とオーケストレーションにより、検知から対応までの時間を短縮し、セキュリティチームの負荷を軽減します。
NIST SP 800-207のアーキテクチャモデル
NIST SP 800-207では、ゼロトラストアーキテクチャ(ZTA)の論理コンポーネントを定義しています。これを理解することで、ゼロトラストの実装イメージが明確になります。
主要な論理コンポーネント
flowchart TB
subgraph subject["サブジェクト"]
user["ユーザー"]
device["デバイス"]
end
subgraph control["制御プレーン"]
pe["Policy Engine<br/>(ポリシーエンジン)"]
pa["Policy Administrator<br/>(ポリシー管理者)"]
end
subgraph data["データプレーン"]
pep["Policy Enforcement Point<br/>(ポリシー実施点)"]
end
subgraph resource["リソース"]
enterprise["企業リソース"]
end
subgraph inputs["ポリシー決定に使用する情報"]
cdm["CDM System"]
threat["脅威インテリジェンス"]
activity["アクティビティログ"]
compliance["コンプライアンス"]
idm["ID管理"]
end
user --> pep
device --> pep
pep -->|アクセス要求| pa
pa -->|ポリシー照会| pe
inputs --> pe
pe -->|決定| pa
pa -->|許可/拒否| pep
pep -->|許可された場合| enterprise| コンポーネント | 役割 |
|---|---|
| Policy Engine(PE) | アクセス許可/拒否の最終決定を行う |
| Policy Administrator(PA) | PEの決定に基づきアクセスパスを確立/終了する |
| Policy Enforcement Point(PEP) | アクセス要求を受け付け、PAの指示に従いアクセスを制御する |
アクセス判断に使用される情報
Policy Engineは、以下の情報源からデータを収集し、アクセスの可否を判断します。
- Continuous Diagnostics and Mitigation(CDM): デバイスの状態情報
- 脅威インテリジェンス: 最新の脅威情報
- アクティビティログ: 過去のアクセスパターン
- データアクセスポリシー: リソースごとのアクセスルール
- PKI: 証明書の検証
- ID管理システム: ユーザーの属性とグループ情報
ゼロトラスト導入のメリットと考慮点
導入のメリット
セキュリティの向上
- 攻撃対象領域の縮小
- 内部脅威への対応強化
- 侵害時の影響範囲の限定化
ビジネスの俊敏性
- 場所を問わない安全なアクセス
- クラウドサービスの安全な活用
- M&A時のシステム統合の簡素化
コンプライアンス対応
- 詳細なアクセスログの取得
- 最小権限の原則の実装
- データ保護規制への対応
考慮すべき点
段階的な導入の必要性
ゼロトラストは一夜にして実現できるものではありません。現状評価から始め、優先度の高い領域から段階的に実装していく必要があります。
組織文化の変革
「社内だから安全」という意識を変える必要があります。従業員への教育と、セキュリティチームの役割の変化が求められます。
技術的な複雑さ
複数のセキュリティ製品を連携させる必要があり、統合の難易度が高い場合があります。単一ベンダーのソリューションを採用するか、オープンスタンダードに基づく製品を選定するかの判断が必要です。
まとめ
ゼロトラストは、「決して信頼せず、常に検証する」という原則に基づく現代のセキュリティモデルです。本記事で解説した内容を整理します。
ゼロトラストの3つの基本原則
- すべてのエンティティはデフォルトで信頼しない
- 最小権限アクセスを適用する
- 包括的なセキュリティ監視を実装する
ゼロトラストの7つの柱
- アイデンティティ - 誰がアクセスしているか
- デバイス - どのデバイスからアクセスしているか
- ネットワーク - ネットワークの分割と横移動の防止
- アプリケーション - アプリケーションへのアクセス制御
- データ - データ中心の保護
- 可視化と分析 - すべてのアクティビティの監視と分析
- 自動化とオーケストレーション - セキュリティ運用の自動化
ゼロトラストは特定の製品やツールではなく、セキュリティの考え方そのものです。クラウド、リモートワーク、サイバー攻撃の高度化という現代の課題に対応するため、多くの組織がゼロトラストへの移行を進めています。
次回の記事では、従来の境界型セキュリティの限界をより詳しく分析し、なぜゼロトラストへの移行が必要なのかを具体的なシナリオとともに解説します。