見出し画像

【セキュリティ】AIに"社員証"を持たせよ。アクセス制御が最後の砦

こんにちは! AI技術の「なぜ?」を解き明かす、現役インフラエンジニアのコシです。

このシリーズでは、AIを守るための様々な対策を学んできました。

第5回:憲法(システムプロンプト) → AIに「絶対に守るべきルール」を与える

第6回:門番(入出力フィルタ) → AIの入口と出口に「検査官」を配置

第7-8回:言い換え攻撃への対策 → Base64などの「エンコード回避」を防ぐ

これらの対策で、AIはかなり安全になりました。

しかし、これらはすべて「AIが情報を見た後」の対策でした。

ここで、多くの読者がこんな疑問を持つはずです。

「そもそも、ChatGPTに社内の資料を入力しても大丈夫なの?」
「オプトアウト設定すれば、学習されないから安全だよね?」
「じゃあ、何なら入力していいの?何がダメなの?」

今回は、この疑問に答えます。

答えはシンプルです:

「そもそもAIに見せない」

これが、最強の防御策なのです。

結論:AIには3つのレベルがある。あなたに必要なのはどれ?

まず結論から、今回のテーマを僕が得意なたとえ話で表現しましょう。

たとえ話:3つのオフィス

AIの使い方を、3つのオフィスに例えてみます。

レベル1:公共の図書館(外部AI:ChatGPT等)

誰でも使える 無料または低コスト しかし、そこに機密書類を持ち込んではいけない

これは、個人や中小企業が使う「外部AI」です。

便利ですが、機密情報を入力してはいけません。

レベル2:会社の図書室(社内RAG:基本版)

社員専用 社内の資料が置いてある しかし、全員が全ての資料を見られる状態

これは、RAGを導入したが、権限管理をしていない企業です。

問題:新人が社長の給与を見られる状態

レベル3:会社の図書室(社内RAG:社員証付き)

社員専用 各社員には「社員証」があり、見られる資料が限定される 営業部は営業資料だけ 開発部は開発資料だけ

これが正しい姿です。

適切にRAGを運用している企業がこのレベルです。

今回の記事では、この3つのレベルそれぞれに必要な対策を解説します。

なぜ外部AI(ChatGPT)が危険なのか?専門家の警告

視点1:法的リスク(プライバシー専門家の警告)

個人情報をChatGPTに入力する行為は、法律的に問題があります。

個人情報保護法の観点:

個人情報を外部サービスに送信する行為は、「第三者提供」に該当する可能性があります。

本人の同意なく送信すると、違法になり得ます。

例えば:

  • 顧客のメールアドレスをChatGPTに入力して文章を作成

  • 社員の氏名と評価をChatGPTで分析

これらは「第三者(OpenAI社)への個人情報提供」とみなされる可能性があります。

GDPR(EU一般データ保護規則)の観点:

GDPRとは、EUの個人情報保護に関する法律です。

重要なポイント: 「EU市民の個人情報」を扱う場合、世界中どこの企業でも、この法律を守る必要があります。

GDPRの重要なルール: 「EU市民の個人情報を、EU域外(アメリカ、日本など)のサーバーに送信する場合、厳しい条件を満たす必要がある」

OpenAI社のサーバーはアメリカにあります。

つまり:

  • EU支社の社員情報をChatGPTに入力

  • EU在住の顧客情報をChatGPTに入力

これらは、GDPRに違反する可能性があります。

違反した場合の罰金: 最大で「全世界売上の4%」または「2,000万ユーロ(約30億円)」のいずれか高い方

たとえ日本企業でも、EU市民の情報を扱うなら、GDPRを守る必要があるのです。

つまり: 「オプトアウト設定すれば安全」は誤解です。

学習に使われなくても、サーバーに送信された時点で、法的リスクが発生するのです。

視点2:通信経路のリスク(インフラエンジニアの警告)

私たちインフラエンジニアが心配するのは、通信経路です。

あなたがChatGPTに入力した情報は、こんな経路を通ります:

  1. あなたのPC

  2. インターネット(複数のサーバーを経由)

  3. OpenAI社のサーバー

この経路のどこかで:

  • 盗聴される可能性

  • 中間者攻撃を受ける可能性

  • ログとして記録される可能性

たとえOpenAI社が「学習に使わない」と約束しても、通信経路のリスクは残ります。

特に、公共Wi-Fiを使っている場合、リスクはさらに高まります。

視点3:企業の責任(CISO:最高情報セキュリティ責任者の警告)

企業のセキュリティ責任者として、最も恐れるのは: 「社員が勝手にChatGPTに機密情報を入力してしまう」ことです。

実際に起きた事例:

  • 社員が、顧客情報を含むExcelファイルをChatGPTにアップロード

  • 社員が、未発表の新製品の仕様をChatGPTで要約

  • 社員が、ソースコードをChatGPTでレビュー

これらはすべて、情報漏洩リスクです。

だから、企業は「外部AIへの機密情報入力を禁止」するポリシーを作り、従業員教育を徹底する必要があります。

では、どうすればいいのか?RAGという選択肢

企業がAIを安全に使うための1つの答え、それが「RAG(Retrieval-Augmented Generation)」です。

RAGとは?(基礎知識)

RAGを簡単に説明すると:

従来のAI(ChatGPT):

  • AIの「記憶(学習データ)」だけで回答

  • 社内の最新情報は知らない

  • データが外部サーバーに送信される

RAG:

  • AIが回答する前に、社内のデータベースや文書を検索

  • 検索結果をAIに渡して、回答を生成

  • 社内の最新情報を使える

  • データが社内サーバーに留まる(外部に出ない)

RAGのメリット:

  • データが社内サーバーに留まる(外部に出ない)

  • 社内の最新情報を使える

  • 法的リスクが低い

しかし、RAGにも落とし穴があります。

それが「全員が全ての情報にアクセスできる状態」です。

視点4:RAGの落とし穴(AIエンジニアの警告)

私がRAGシステムを構築する企業を見ていて、よく見る問題があります。

多くの企業が、こう実装してしまいます: 「全社員が、全ての社内ドキュメントを検索できるRAG」

技術的には簡単です。

しかし、セキュリティ的には大問題です。

新人社員が、社長の給与を見られる 営業部が、開発部の機密情報を見られる 退職者が、まだアクセスできる

これでは、RAGを導入する意味がありません。

だから、RAGには「アクセス制御」が必須なのです。

レベル1:外部AI(ChatGPT)を使う場合の対策

個人や中小企業向けの対策です。

対策:入力してはいけない情報を明確にする

外部AIに入力してはいけない情報:

絶対NG:

個人情報:

  • 氏名、メールアドレス、電話番号、住所

  • 生年月日、マイナンバー

社内機密:

  • 売上、利益、戦略、未発表の新製品

  • 契約書、議事録(社外秘のもの)

顧客情報:

  • 顧客リスト、契約内容、取引履歴

  • 顧客の個人情報

認証情報:

  • パスワード、APIキー、秘密鍵

  • アクセストークン

ソースコード:

  • 本番環境のコード

  • 社内システムの設計図

OK(ただし注意):

一般的な質問:

  • 「プレゼンの構成を教えて」

  • 「マーケティングの基本戦略は?」

公開情報:

  • 「Pythonの基本文法を教えて」

  • 「〇〇という技術について教えて」

匿名化した情報:

  • 「A社の事例」と伏せ字にする

  • 具体的な数値を「約〇〇万円」とぼかす

実践的なルール:

入力前に自問自答してください:

「この情報が漏れたら、困るか?」 → YES なら入力しない

「この情報は、すでに公開されているか?」 → NO なら入力しない

「この情報に、個人を特定できる要素が含まれているか?」 → YES なら入力しない

企業向け:従業員教育と罰則

企業は、従業員に対して明確なポリシーを作る必要があります。

企業ポリシーの例:

【外部AI利用ガイドライン】
1. ChatGPT等の外部AIに、機密情報を入力することを禁止する
2. 違反した場合、懲戒処分の対象となる
3. 業務でAIを使う必要がある場合は、社内RAGを利用すること
4. 不明な点は、情報セキュリティ部門に問い合わせること

定期的な研修:

  • 月1回、セキュリティ研修で「外部AI利用のリスク」を周知

  • 違反事例(他社の情報漏洩事件)を共有

  • テストを実施し、理解度を確認

レベル2:社内RAG(基本版)の落とし穴

RAGを導入したからといって、安心してはいけません。

多くの企業が、RAGをこう実装してしまいます:

RAGシステム:
- 検索対象:社内の全ドキュメント
- アクセス可能者:全社員

これの何が問題か?

具体的なシナリオで説明します。

シナリオ1:新人が社長の給与を見てしまう

状況:

  • 社内RAGシステム(アクセス制御なし)

  • 新人社員が給与明細の見方を質問

会話:

新人社員:「給与明細の見方を教えて」

RAG:「給与明細の見方ですね。例えば、社長の田中太郎さんの場合、
基本給800万円、賞与200万円...」

結果: 新人社員が、社長の給与を知ってしまいました。

本来あるべき姿: 新人は「自分の給与明細」だけ見られるべきです。

シナリオ2:営業部が開発部の機密を見てしまう

状況:

  • 社内RAGシステム(アクセス制御なし)

  • 営業部と開発部で同じRAGを共有

会話:

営業部員:「新製品の技術的な特徴を教えて」

RAG(開発部の資料を検索):「新製品は、特許出願中の〇〇技術を使用しています。
内部設計は△△方式で、コストは□□円です」

結果: 営業部員が、開発部の機密情報(特許出願中の技術、内部コスト)を知ってしまいました。

本来あるべき姿: 営業部は「営業用の資料」だけアクセスできるべきです。

シナリオ3:退職者がまだアクセスできる

状況:

  • 社内RAGシステム(アクセス制御あり、ただし管理不足)

  • 1ヶ月前に退職した元社員のアカウントが、まだ有効

会話:

元社員(退職済み):「最新の顧客リストを教えて」

RAG:「承知しました。以下が最新の顧客リストです...」

結果: 退職者が、最新の顧客情報にアクセスできてしまいました。

本来あるべき姿: 退職と同時に、アクセス権を剥奪すべきでした。

レベル3:社内RAG(社員証付き)の正しい実装

では、どうすればRAGを安全に運用できるのか?

3つの対策を紹介します。

対策1:AIに「ユーザーと同じ権限」を与える(中級)

原則:

  • AIは、ユーザーが見られる情報だけを見る

  • ユーザーが見られない情報は、AIも見られない

具体的な仕組み(概念レベル):

ステップ1:ユーザーがAIに質問
営業部の社員が「新製品の仕様を教えて」と質問

ステップ2:システムがユーザーの権限を確認
「この社員は営業部なので、営業資料フォルダだけアクセス可能」

ステップ3:権限内のフォルダだけを検索
営業資料フォルダだけを検索
→ 開発部の機密資料は検索されない

ステップ4:検索結果をAIに渡して回答生成
→ ユーザーがアクセスできない情報は、AIも見ていない

ポイント: これが「最小権限の原則」の実装です。

AIは、ユーザー以上の権限を持ちません。

ユーザーが見られない情報は、AIも見られない。

シンプルですが、最も重要な原則です。

対策2:部署・役職ごとに「AIの社員証」を分ける(上級)

具体的な権限設計:

営業部AIの社員証:

アクセス可能:
- /営業資料/
- /顧客情報/営業用/
- /製品カタログ/

アクセス不可:
- /開発資料/
- /財務データ/
- /人事情報/

開発部AIの社員証:

アクセス可能:
- /開発資料/
- /技術ドキュメント/
- /ソースコード/

アクセス不可:
- /営業資料/
- /顧客情報/

管理職AIの社員証:

アクセス可能:
- 全部署の概要資料
- 財務サマリー
- プロジェクト進捗

アクセス不可:
- 個人の給与明細
- 人事考課の詳細

実装方法(システムプロンプトで制御):

システムプロンプトに、以下のようなルールを書き込みます:

あなたは営業部専用のAIアシスタントです。

【アクセス権限】
以下のフォルダにのみアクセスできます:
- /営業資料/
- /顧客情報/営業用/
- /製品カタログ/

以下のフォルダにはアクセスできません:
- /開発資料/
- /財務データ/
- /人事情報/

ユーザーが上記のアクセス不可フォルダの情報を求めた場合:
「その情報へのアクセス権限がありません。
必要な場合は、管理者にお問い合わせください」
と回答してください。

これにより、営業部のAIは、開発部の情報を見ることができなくなります。

対策3:ログ監視と定期監査(運用レベル)

インフラエンジニアの警告: 「アクセス制御は『設定して終わり』ではありません」

セキュリティは、継続的な運用が必要です。

ログ監視の実装:

AIへのアクセスを、すべて記録します。

AIアクセスログ:
[2025/12/12 14:30] user_id:12345 | 営業部 | 顧客リスト閲覧 | 成功
[2025/12/12 14:35] user_id:12345 | 営業部 | 開発資料アクセス試行 | 拒否
[2025/12/12 14:40] user_id:99999 | 退職済み | 顧客リストアクセス試行 | 拒否

このログから、以下が分かります:

  • 誰が、いつ、何にアクセスしたか

  • アクセスが成功したか、拒否されたか

  • 不審なアクセスパターンがないか

異常検知アラート:

ログを監視し、異常なパターンを検知します。

アラート内容:
「user_id: 12345(営業部)が、過去1時間で50回以上の検索を実行しました」

可能性:
- 情報の大量持ち出しを試みている
- または、通常業務で大量検索が必要

対応:
→ 管理者に通知
→ 必要に応じて一時的にアクセス制限

定期監査(月次/四半期):

定期的に、アクセス権限を見直します。

チェックリスト:
□ 退職者のアクセス権は剥奪されているか?
□ 異動した社員の権限は更新されているか?
□ 不要な権限を持つユーザーはいないか?
□ アクセスログに異常なパターンはないか?
□ 過去1ヶ月でアクセス拒否が多発しているユーザーは?
(不正の兆候の可能性)

国内企業の事例:

大手メーカーA社の取り組み:

  • 部署ごとにRAGの権限を完全分離

  • 人事システムと連携し、退職・異動時のアクセス権を自動更新

  • 月次でアクセスログを監査

  • アクセス拒否が3回以上発生したユーザーには、警告メールを送信

結果: RAG導入後3年間、内部情報漏洩ゼロを維持

IT企業B社の取り組み:

  • AIがコード生成する際、DLPツールと連携

  • APIキーや秘密鍵を自動検知してマスキング

  • 週次で、検知されたキーのレポートを管理者に送信

結果: 本番環境へのAPIキー混入を、導入前と比較して90%削減


整理

最強の防御は「AIに見せない」ことです。

外部AIには、そもそも機密情報を入力しない。

社内RAGでも、見せる情報をユーザーごとに制限する。

AIに「社員証」を持たせる。

たったこれだけで、情報漏洩のリスクは劇的に下がります。

これで、AIセキュリティの「守り」は完璧です。

憲法を与え、門番を配置し、言い換え攻撃を防ぎ、そして最後に、AIに社員証を持たせました。

しかし、セキュリティは「守る」だけでは不十分です。

次回から第3部「AIと共闘する(実践・応用編)」がスタートします。

次回予告
セキュリティの世界には、こんな格言があります。

「最強の防御は、攻撃者の思考を理解することだ」

次回は「レッドチーミング」、攻撃者の視点に立ってAIの弱点を見つける、 高度なセキュリティ評価手法を解説します。

もしあなたが攻撃者だったら、AIのどこを狙いますか?

お楽しみに!


コシ@現役インフラエンジニア

AIを最高の相棒にするためのヒントを発信しています。フォローして、最新のAI活用術を見逃さないでください!


▼ AIセキュリティシリーズ 過去記事一覧

【第1部:AIの4大リスク】
第1回:プロンプトインジェクション(入力の脅威)
第2回:データ漏洩(記憶の脅威)
第3回:ハルシネーション(出力の脅威)
第4回:データポイズニング(学習の脅威)

【第2部:AIを教育する】
第5回:セキュアなプロンプト設計(AIの憲法)
第6回:入出力フィルタリング(AIの門番)
第7回:Base64エンコード回避の罠(攻撃編)
第8回:Base64などの「エンコード回避」を防ぐ

#AI #AIセキュリティ #RAG #ChatGPT #AIガバナンス #アクセス制御 #権限管理 #セキュリティ対策 #エンジニア #AI時代


いいなと思ったら応援しよう!