ゼロトラストセキュリティでは「決して信頼せず、常に検証する」という原則のもと、ネットワーク境界ではなくデータそのものを保護の中心に据えます。従来の境界型セキュリティでは「ファイアウォール内のデータは安全」という前提がありましたが、クラウドサービスの普及やリモートワークの拡大により、データは組織の内外を自由に行き来するようになりました。このような環境では、データがどこにあっても適切に保護される「データ中心のセキュリティ」が不可欠です。

本記事では、ゼロトラストにおけるデータ保護について以下の内容を解説します。

  • データ分類(Data Classification)フレームワークの設計
  • 秘密度ラベル(Sensitivity Labels)の仕組みと活用
  • 保存時・転送時・使用時の暗号化
  • Microsoft Purview Information Protectionによるデータ保護の実装
  • データ保護ポリシーの設計と運用

この記事を読むことで、データ中心のセキュリティ対策を理解し、機密データの保護設計ができるようになります。

前提知識

本記事を理解するために、以下の知識があることを前提としています。

  • ゼロトラストの基本原則を把握している
  • 最小権限の原則とアクセス制御の基本を理解している
  • 暗号化の基本概念(対称鍵暗号、公開鍵暗号)を知っている

ゼロトラストの基本原則についてはゼロトラストセキュリティ入門 - 基本原則と7つの柱を理解するを、アクセス制御については最小権限アクセスの設計 - RBACとABACの使い分けを先に読むことをお勧めします。

期待される学習成果

本記事を読み終えると、以下のことができるようになります。

  1. ゼロトラストにおけるデータ保護の重要性と従来型との違いを説明できる
  2. データ分類フレームワークを設計し、組織に適した分類レベルを定義できる
  3. 秘密度ラベルの仕組みと適用方法を理解できる
  4. 保存時・転送時・使用時の暗号化手法を説明できる
  5. Microsoft Purview Information Protectionの基本機能を把握できる

ゼロトラストにおけるデータ保護の位置づけ

Microsoftが提唱するゼロトラストの5つのデータ保護要素を見ると、データがゼロトラストアーキテクチャの中核であることがわかります。

flowchart TB
    subgraph dataprotection["ゼロトラスト データ保護の5要素"]
        direction TB
        classify["1. データ分類とラベリング<br/>機密データの発見と分類"]
        protect["2. 情報保護<br/>アクセス制御と暗号化"]
        dlp["3. データ損失防止<br/>不正な持ち出しの検知・防止"]
        insider["4. インサイダーリスク管理<br/>内部脅威の検出"]
        governance["5. データガバナンス<br/>ライフサイクル管理"]
    end
    
    classify --> protect
    protect --> dlp
    dlp --> insider
    insider --> governance

従来型セキュリティとデータ中心セキュリティの違い

従来の境界型セキュリティとゼロトラストのデータ中心セキュリティには、根本的な考え方の違いがあります。

観点 境界型セキュリティ データ中心セキュリティ
保護対象 ネットワーク境界 データそのもの
前提 内部は信頼できる 内部外部を問わず検証
アクセス制御 場所ベース データの機密度ベース
暗号化 転送時のみ(VPN等) 保存時・転送時・使用時
可視性 境界でのトラフィック監視 データのライフサイクル全体
flowchart LR
    subgraph perimeter["境界型セキュリティ"]
        direction TB
        fw["ファイアウォール"]
        data1["データ<br/>(保護なし)"]
        fw --> data1
    end
    
    subgraph datacentric["データ中心セキュリティ"]
        direction TB
        data2["データ"]
        encrypt["暗号化"]
        label["ラベル"]
        access["アクセス制御"]
        data2 --> encrypt
        data2 --> label
        data2 --> access
    end
    
    perimeter -->|"進化"| datacentric

データ分類フレームワークの設計

データ分類(Data Classification)は、データ保護戦略の出発点です。組織内のデータを機密度に応じて分類し、適切な保護措置を適用するための基盤となります。

データ分類が必要な理由

データ分類が重要な理由は以下の通りです。

目的 説明
保護の最適化 すべてのデータに同じ保護を適用するのは非効率。機密度に応じた適切な保護を実現
リスク可視化 どこにどのような機密データがあるかを把握し、リスクを評価
コンプライアンス 規制要件(GDPR、HIPAA等)で求められるデータ管理の実現
インシデント対応 データ漏洩時の影響範囲特定と対応優先度の判断
コスト効率 保護コストを機密度に応じて最適配分

標準的なデータ分類レベル

多くの組織で採用されている4段階の分類レベルを紹介します。

flowchart TB
    subgraph levels["データ分類レベル"]
        direction TB
        
        subgraph public["Public(公開)"]
            pub_desc["一般公開可能な情報<br/>例: プレスリリース、製品カタログ"]
        end
        
        subgraph general["General(一般)"]
            gen_desc["社内での共有を想定<br/>例: 社内ポータル、業務マニュアル"]
        end
        
        subgraph confidential["Confidential(機密)"]
            conf_desc["限定された関係者のみ<br/>例: 財務データ、契約書"]
        end
        
        subgraph highly["Highly Confidential(極秘)"]
            high_desc["最小限の関係者のみ<br/>例: 個人情報、知財、M&A情報"]
        end
    end
    
    highly -->|"高い機密度"| confidential
    confidential --> general
    general --> public

各分類レベルの詳細を以下にまとめます。

分類レベル 定義 保護措置
Public 一般公開しても問題ない Webサイト掲載情報、製品仕様書 特になし
General 社内での共有を想定 社内連絡、業務手順書 社外共有時の承認
Confidential 業務上必要な者のみ 財務報告、顧客リスト 暗号化、アクセス制限
Highly Confidential 最小限の関係者のみ PII、知財、経営戦略 強制暗号化、厳格な監査

データ分類フレームワーク設計のベストプラクティス

Microsoftのガイダンスに基づく、効果的なデータ分類フレームワーク設計のポイントを紹介します。

  1. 段階的なアプローチ: 初日から完璧を目指さず、小さく始めて徐々に拡大する
  2. わかりやすい定義: 専門用語を避け、具体例を含めた明確な説明を用意する
  3. 実装可能性の考慮: 技術的に実装可能な要件を定義する
  4. 適切な粒度: 3〜5段階程度の分類レベルに抑え、複雑さを避ける
  5. ステークホルダーの参加: IT部門だけでなく、法務・コンプライアンス・事業部門も巻き込む
flowchart LR
    subgraph design["フレームワーク設計プロセス"]
        direction LR
        assess["現状アセスメント<br/>既存データの棚卸し"]
        define["分類定義<br/>レベルと基準の策定"]
        policy["ポリシー策定<br/>保護措置の定義"]
        implement["実装<br/>ツール導入と設定"]
        train["教育<br/>ユーザートレーニング"]
        operate["運用<br/>継続的な改善"]
    end
    
    assess --> define --> policy --> implement --> train --> operate
    operate -->|"フィードバック"| define

秘密度ラベル(Sensitivity Labels)の仕組み

秘密度ラベルは、データ分類を実際の保護措置に結びつけるための仕組みです。ラベルをデータに適用することで、暗号化やアクセス制御などの保護が自動的に適用されます。

秘密度ラベルの特徴

Microsoft Purview Information Protectionで提供される秘密度ラベルには、以下の特徴があります。

特徴 説明
カスタマイズ可能 組織のビジネスニーズに応じて分類カテゴリを作成可能
クリアテキスト ラベル情報がメタデータに平文で保存され、サードパーティアプリでも読み取り可能
永続性 ファイルの移動やコピーに関わらず、ラベルがデータと共に維持される
一貫性 Office、メール、SharePoint、Teams等で統一的なラベル体験を提供

ラベルのスコープ

秘密度ラベルは、適用対象(スコープ)に応じて設定を構成できます。

flowchart TB
    subgraph scopes["ラベルのスコープ"]
        direction TB
        
        subgraph items["ファイルとメール"]
            office["Officeドキュメント"]
            email["メールメッセージ"]
            loop["Loopコンポーネント"]
        end
        
        subgraph containers["コンテナ"]
            teams["Teams"]
            groups["Microsoft 365グループ"]
            sites["SharePointサイト"]
        end
        
        subgraph meetings["会議"]
            invite["会議招待"]
            chat["チャット"]
        end
    end

ラベルで設定できる保護機能

秘密度ラベルを適用することで、以下の保護機能を自動的に適用できます。

保護機能 説明 設定例
暗号化 コンテンツを暗号化し、アクセスを制限 特定のユーザーのみ閲覧可能
コンテンツマーキング ヘッダー、フッター、透かしを追加 「機密」の透かしを表示
アクセス制御 コンテナ(サイト、チーム)へのアクセスを制御 外部共有を禁止
自動ラベル付け 条件に基づいてラベルを自動適用 クレジットカード番号を検出したら適用
既定のラベル 新規ドキュメントに既定のラベルを適用 「General」をデフォルト設定

ラベルの優先度

ラベルには優先度があり、より制限の厳しいラベルが高い優先度を持ちます。自動ラベル付けやラベル継承の際に、この優先度に基づいて適切なラベルが選択されます。

flowchart TB
    subgraph priority["ラベルの優先度(上が低、下が高)"]
        direction TB
        public["Public<br/>優先度: 最低"]
        general["General"]
        confall["Confidential / All Employees"]
        conftrust["Confidential / Trusted People"]
        highlyconf["Highly Confidential<br/>優先度: 最高"]
    end
    
    public --> general --> confall --> conftrust --> highlyconf

サブラベルの活用

実務では、メインラベルの下にサブラベルを作成して、より細かい分類を実現することが一般的です。

flowchart TB
    subgraph sublabels["サブラベルの例"]
        conf["Confidential"]
        
        conf --> anyone["Anyone(制限なし)"]
        conf --> employees["All Employees"]
        conf --> trusted["Trusted People"]
    end

サブラベルを使用する際の注意点として、ユーザーはまずメインラベル(例: Confidential)を選択し、その後サブラベル(例: All Employees)を選択します。適用されるラベルは「Confidential \ All Employees」のような形式になります。

暗号化によるデータ保護

暗号化は、データ保護の根幹をなす技術です。ゼロトラストでは、データの3つの状態(保存時、転送時、使用時)それぞれで適切な暗号化を適用することが求められます。

データの3つの状態と暗号化

flowchart TB
    subgraph states["データの3つの状態"]
        direction TB
        
        subgraph atrest["保存時(At Rest)"]
            rest_desc["ストレージ、データベースに<br/>保存されているデータ"]
            rest_enc["ディスク暗号化<br/>データベース暗号化<br/>ファイル暗号化"]
        end
        
        subgraph intransit["転送時(In Transit)"]
            transit_desc["ネットワーク経由で<br/>移動中のデータ"]
            transit_enc["TLS/SSL<br/>VPN<br/>HTTPS"]
        end
        
        subgraph inuse["使用時(In Use)"]
            use_desc["アプリケーションで<br/>処理中のデータ"]
            use_enc["機密コンピューティング<br/>Confidential Computing"]
        end
    end

保存時の暗号化(Encryption at Rest)

保存時の暗号化は、ストレージに保存されたデータを保護します。

暗号化レベル 説明 実装例
フルディスク暗号化 ストレージ全体を暗号化 BitLocker、LUKS
ボリューム暗号化 特定のボリュームを暗号化 Azure Disk Encryption
ファイルレベル暗号化 個別ファイルを暗号化 Microsoft Purview、Azure RMS
データベース暗号化 データベース内のデータを暗号化 TDE(透過的データ暗号化)

Microsoft 365での保存時暗号化の仕組みを以下に示します。

flowchart LR
    subgraph m365encryption["Microsoft 365 保存時暗号化"]
        content["コンテンツ"]
        cek["Content Encryption Key<br/>(コンテンツ暗号化キー)"]
        kek["Key Encryption Key<br/>(キー暗号化キー)"]
        masterkey["サービス管理キー<br/>または Customer Key"]
        
        content -->|"暗号化"| cek
        cek -->|"暗号化"| kek
        kek -->|"保護"| masterkey
    end

転送時の暗号化(Encryption in Transit)

転送時の暗号化は、ネットワーク経由で移動するデータを保護します。

プロトコル 用途 特徴
TLS 1.3 汎用的なトランスポート層暗号化 最新のTLSバージョン、高速なハンドシェイク
HTTPS Webトラフィックの暗号化 TLS over HTTP
IPsec ネットワーク層での暗号化 VPNで広く使用
SFTP/SCP ファイル転送の暗号化 SSHベースの安全なファイル転送

使用時の暗号化(Confidential Computing)

使用時の暗号化は、データが処理されている間も保護を維持する最新のアプローチです。

flowchart TB
    subgraph confidential["機密コンピューティング"]
        direction TB
        
        subgraph tee["Trusted Execution Environment"]
            enclave["セキュアエンクレーブ"]
            data["処理中のデータ<br/>(メモリ内で暗号化)"]
        end
        
        os["OS / ハイパーバイザー"]
        hardware["ハードウェア"]
    end
    
    tee -->|"分離"| os
    os --> hardware
    
    style tee fill:#90EE90

Azure Confidential Computingでは、Intel SGXやAMD SEVなどのハードウェア機能を活用して、データの処理中も暗号化を維持できます。

秘密度ラベルによる暗号化の適用

Microsoft Purviewの秘密度ラベルを使用すると、ラベル適用時に自動的に暗号化を適用できます。

flowchart LR
    subgraph labelencryption["ラベルによる暗号化"]
        doc["ドキュメント"]
        label["秘密度ラベル適用<br/>Confidential"]
        
        subgraph protection["自動適用される保護"]
            encrypt["AES 256ビット暗号化"]
            rights["使用権限の制限"]
            marking["透かし・ヘッダー"]
        end
        
        protected["保護されたドキュメント"]
    end
    
    doc --> label --> protection --> protected

暗号化設定で指定できる使用権限の例を以下に示します。

使用権限 説明
表示 コンテンツを開いて読む
編集 コンテンツを変更
コピー コンテンツをクリップボードにコピー
印刷 コンテンツを印刷
転送 メールを転送
返信 メールに返信
フルコントロール すべての権限(権限の変更含む)

Microsoft Purview Information Protectionの概要

Microsoft Purview Information Protectionは、Microsoft 365環境でデータ保護を実現するための統合ソリューションです。

主要コンポーネント

flowchart TB
    subgraph purview["Microsoft Purview Information Protection"]
        direction TB
        
        subgraph know["Know Your Data"]
            sit["機密情報タイプ"]
            classifier["訓練可能な分類子"]
            explorer["コンテンツエクスプローラー"]
        end
        
        subgraph protect["Protect Your Data"]
            labels["秘密度ラベル"]
            encrypt["暗号化"]
            marking["コンテンツマーキング"]
        end
        
        subgraph prevent["Prevent Data Loss"]
            dlp["DLPポリシー"]
            endpoint["エンドポイントDLP"]
        end
    end
    
    know --> protect --> prevent

機密情報タイプ(Sensitive Information Types)

機密情報タイプは、パターンマッチングによって機密データを検出する仕組みです。

カテゴリ
個人情報(PII) 社会保障番号、パスポート番号、運転免許証番号
金融情報 クレジットカード番号、銀行口座番号
医療情報 医療記録番号、保険番号
知的財産 プロジェクトコード名、製品仕様

Microsoft Purviewには300以上の組み込み機密情報タイプが用意されており、カスタムタイプも作成できます。

flowchart LR
    subgraph sit["機密情報タイプの検出"]
        content["コンテンツ"]
        
        subgraph detection["検出パターン"]
            regex["正規表現パターン"]
            keyword["キーワード"]
            checksum["チェックサム検証"]
            proximity["近接度チェック"]
        end
        
        confidence["信頼度スコア"]
        action["アクション<br/>(ラベル付け、DLP等)"]
    end
    
    content --> detection --> confidence --> action

自動ラベル付けの構成

自動ラベル付けは、機密情報タイプの検出に基づいて秘密度ラベルを自動適用する機能です。

自動ラベル付けには2つの方式があります。

方式 説明 適用タイミング
クライアント側自動ラベル付け Officeアプリ内で検出・適用 ユーザーが編集中
サービス側自動ラベル付け クラウドサービスで検出・適用 保存時(SharePoint、OneDrive、Exchange)
flowchart TB
    subgraph autolabel["自動ラベル付けのフロー"]
        direction TB
        
        subgraph client["クライアント側"]
            edit["ユーザーが編集"]
            detect1["機密情報検出"]
            recommend["ラベル推奨<br/>または自動適用"]
        end
        
        subgraph service["サービス側"]
            save["ファイル保存"]
            scan["バックグラウンドスキャン"]
            apply["ラベル自動適用"]
        end
    end
    
    edit --> detect1 --> recommend
    save --> scan --> apply

コンテンツエクスプローラーとアクティビティエクスプローラー

データ分類の効果を可視化するための2つのツールが提供されています。

ツール 機能
コンテンツエクスプローラー 組織内のラベル付きコンテンツや機密情報を含むコンテンツを検索・表示
アクティビティエクスプローラー ラベル付け、ラベル変更、DLPポリシーマッチなどのアクティビティを追跡

データ保護の実装手順

ゼロトラストに基づくデータ保護を実装するための段階的なアプローチを紹介します。

フェーズ1: データの発見と分類

最初のフェーズでは、組織内のデータを発見し、分類フレームワークを適用します。

flowchart TB
    subgraph phase1["フェーズ1: 発見と分類"]
        direction TB
        inventory["データインベントリ作成"]
        framework["分類フレームワーク定義"]
        sit_config["機密情報タイプの設定"]
        scan["データソースのスキャン"]
        classify["自動分類の実行"]
    end
    
    inventory --> framework --> sit_config --> scan --> classify

主なタスク:

  • 組織内のデータストア(クラウド、オンプレミス)の特定
  • データ分類フレームワークの策定と承認
  • 組織固有の機密情報タイプの定義
  • Microsoft Purviewスキャナーの設定と実行

フェーズ2: ラベリングと保護の適用

発見したデータに対してラベルを適用し、保護措置を有効にします。

flowchart TB
    subgraph phase2["フェーズ2: ラベリングと保護"]
        direction TB
        labels["秘密度ラベルの作成"]
        encryption["暗号化ポリシーの設定"]
        marking["コンテンツマーキングの設定"]
        publish["ラベルポリシーの発行"]
        autolabel["自動ラベル付けの有効化"]
    end
    
    labels --> encryption --> marking --> publish --> autolabel

主なタスク:

  • 分類レベルに対応する秘密度ラベルの作成
  • 各ラベルの暗号化とアクセス権限の設定
  • ヘッダー、フッター、透かしの設定
  • ユーザーグループへのラベルポリシーの発行
  • 機密情報タイプに基づく自動ラベル付けルールの設定

フェーズ3: アクセス制御の強化

ラベルに基づいてアクセス制御を強化し、条件付きアクセスと連携します。

flowchart TB
    subgraph phase3["フェーズ3: アクセス制御強化"]
        direction TB
        container["コンテナラベルの設定"]
        conditional["条件付きアクセスとの連携"]
        casb["Defender for Cloud Appsの設定"]
        iaas["IaaS/PaaSの保護"]
    end
    
    container --> conditional --> casb --> iaas

主なタスク:

  • SharePointサイト、Teams、Microsoft 365グループへのコンテナラベル適用
  • 秘密度ラベルに基づく条件付きアクセスポリシーの設定
  • SaaSアプリケーションでのラベル認識と保護
  • Azure Storageやデータベースでのデータ保護

フェーズ4: 継続的な監視と改善

データ保護の効果を監視し、継続的に改善します。

flowchart TB
    subgraph phase4["フェーズ4: 監視と改善"]
        direction TB
        monitor["ラベル使用状況の監視"]
        report["コンプライアンスレポート作成"]
        feedback["ユーザーフィードバック収集"]
        adjust["ポリシーの調整"]
    end
    
    monitor --> report --> feedback --> adjust
    adjust -->|"継続的改善"| monitor

データ保護設計のベストプラクティス

ユーザー教育の重要性

データ保護の成功は、技術だけでなくユーザーの理解と協力に大きく依存します。

教育項目 内容
分類基準の理解 各分類レベルの定義と具体例
ラベル適用方法 Officeアプリでのラベル選択方法
保護の意味 ラベルによって何が保護されるか
責任と義務 データ取り扱いに関する従業員の責任

段階的な展開

一度にすべてを展開するのではなく、段階的に拡大することを推奨します。

flowchart LR
    subgraph rollout["段階的展開"]
        pilot["パイロット<br/>IT部門・一部ユーザー"]
        early["早期採用者<br/>部門単位"]
        broad["全社展開<br/>全ユーザー"]
    end
    
    pilot -->|"フィードバック反映"| early -->|"スケール"| broad

ラベル設計のガイドライン

効果的なラベル設計のためのガイドラインを以下に示します。

ガイドライン 説明
シンプルに保つ メインラベルは5つ以下、サブラベルも5つ以下
明確な名前 ユーザーが直感的に理解できる名前を使用
説明の充実 各ラベルに詳細な説明と使用例を記載
デフォルトラベル 「General」などの基本ラベルをデフォルトに設定
必須ラベル付け 機密度の高い環境では必須ラベル付けを検討

まとめ

ゼロトラストにおけるデータ保護は、従来の境界型セキュリティから「データ中心のセキュリティ」へのパラダイムシフトを意味します。本記事で解説した内容をまとめると、以下のポイントが重要です。

  1. データ分類が基盤: すべてのデータ保護は適切な分類から始まる
  2. 秘密度ラベルの活用: ラベルによって分類と保護を自動的に結びつける
  3. 多層的な暗号化: 保存時・転送時・使用時の3つの状態でデータを保護する
  4. ユーザー教育: 技術だけでなく、ユーザーの理解と協力が成功の鍵
  5. 継続的な改善: データ保護は一度の実装で完了するものではなく、継続的な改善が必要

次の記事では、DLP(Data Loss Prevention)とCASBによる情報漏洩対策について解説し、データ保護をさらに強化する方法を学びます。

参考リンク