情報処理安全確保支援士試験 過去問 2021年(令和3年) 秋期 午後Ⅰ 問2

システム開発での情報漏えい対策

R社は従業員500名の情報サービス事業者である。営業部門,システム開発部門及び管理部門があり,管理部門内の情報システム部が社内の情報システムを管理している。システム開発部門の従業員は,一つ以上のシステム開発プロジェクト(以下,プロジェクトという)に参加している。

同業他社でのシステム開発において,情報漏えいが発生したことから,情報システム部のK部長は部下のZ主任に,プロジェクトにおいて秘密として扱われている設計文書(以下,設計秘密という)の管理について,問題がないか調査するように指示した。

設計秘密の管理

R社の規則では,設計秘密は次のように管理することになっている。

  • 設計秘密は,R社指定の文書作成ソフトウェア(以下,Wソフトという)を使ってPC上で作成及び暗号化を行い,R社のネットワーク内のファイルサーバだけに保管する。ファイルサーバでは,プロジェクト単位にディレクトリを分け,各ディレクトリにはプロジェクトメンバだけがアクセスできるように,各プロジェクトのマネージャがアクセス権限を設定する。
  • Wソフトでは,パスワードを基に256ビットの鍵が生成され,その鍵を使って,ファイルがAESで暗号化される。ファイルを開くときには,パスワードの入力が求められる。設計秘密には,プロジェクト単位のパスワード(以下,Pパスワードという)を使用する。
  • プロジェクトごとに,協力会社のT社と秘密保持契約を結び,設計秘密を共有する。設計秘密は,T社内でもR社と同様の設備に保管し,アクセス権限を設定する。
  • R社とT社の間で設計秘密をやり取りする際には,Webブラウザからクラウドストレージサービスを利用する。R社は,このクラウドストレージサービスでは,プロジェクト単位にディレクトリを分け,各ディレクトリにはR社とT社のプロジェクトメンバだけがアクセスできるようにアクセス権限を設定する。
  • プロジェクトを離任する者が出た場合には,ファイルサーバとクラウドストレージサービスに保管しているプロジェクトの設計秘密に対して,離任者がアクセスできないようにする。

管理についての問題

Z主任が,各プロジェクトのマネージャに,設計秘密の管理についてヒアリングしたところ,表1に示す問題があることが分かった。

表1 設計秘密の管理についての問題
名称 問題
問題1 ファイルを開くたびにPパスワードの入力が必要となり,作業負荷が高い。
問題2 Pパスワードの強度が十分でないおそれがある。
問題3 プロジェクト離任者が出た場合,Pパスワードが設定されている全てのファイルに対してaを行う必要があり,作業負荷が高い。
問題4 プロジェクトメンバが,プロジェクト参加期間中にR社の規則に反してbした設計秘密は,当該メンバであっても離任後も参照できてしまう。

問題への対策の検討

Z主任は問題の解決に向けて,IRM(Information Rights Management)製品による対策を検討することにした。

Z主任は,導入実績の豊富なL社のIRM製品(以下,IRM-Lという)によって表1中の問題が解決できるかどうかを確認することにした。IRM-Lは,複数の利用者から成るグループ単位にアクセス権限の付与ができる。IRM-LはIRMクライアントとIRMサーバから構成される。IRMクライアントは,PCにインストールされ,ファイルの暗号化及び復号を行う。IRMサーバは,IRMクライアントの管理を行う。IRM-Lの概要を図1に示す。

  1. IRMサーバ及びIRMクライアントのRSA鍵ペア
    IRMサーバをインストールする際,2048ビットのRSA鍵ペアが生成される(以下,IRMサーバで生成された公開鍵をIRMサーバ公開鍵といい,秘密鍵をIRMサーバ秘密鍵という)。
    IRMサーバ公開鍵は各IRMクライアントに配付される。
    IRMクライアントをインストールする際,2048ビットのRSA鍵ペアが生成される(以下,IRMクライアントで生成された公開鍵をIRMクライアント公開鍵といい,秘密鍵をIRMクライアント秘密鍵という)。
  2. アカウントの種類
    アカウントには次の3種類がある。
    • 利用者アカウント
      利用者が使う。ファイルの保護及び保護されたファイルを開くことができる。利用者アカウントには利用者ID,パスワード,メールアドレス,所属会社,所属部署,所属するグループなどの属性がある。
    • グループ管理者アカウント
      グループ管理者が使う。利用者アカウントをグループに所属させたり,グループから削除したりできる。
    • IRM管理者アカウント
      IRM管理者が使う。IRMサーバの設定,グループの管理,利用者アカウントの管理,グループ管理者アカウントの管理ができる。全てのグループに対して,グループ管理者アカウントと同様の権限をもつ。
  3. 利用者とグループの管理
    IRM管理者は,IRMサーバ上にグループを作り,そのグループに対して,グループ管理者アカウントを作成する。
    IRM管理者は,IRMサーバ上に利用者アカウントを作成し,利用者IDと初期パスワードを利用者に伝える。利用者は初回ログイン時に初期パスワードを変更する。
    一つの利用者アカウントが,複数のグループに所属することもある。
  4. IRMクライアントの起動とファイル保護の処理
    IRMクライアントは,PCへのログイン時に自動起動される。利用者はIRMクライアントの起動時に利用者IDとパスワードを入力する。IRMクライアントとIRMサーバとの通信はHTTPSで行う。
    利用者がファイルの保護をするとファイルが暗号化され,ファイルの利用権限が自身の所属するグループのうち選択したグループに付与される。付与する権限は次から選ぶ。
    参照:ファイルの参照だけを許可する。
    編集:参照に加えて,ファイルの編集も許可する。編集後のファイルもIRM-Lで保護される。
    ファイルの保護では次の処理が行われる。
    • ファイル単位に256ビットのAES鍵(以下,コンテンツ鍵という)が生成され,ファイルはコンテンツ鍵で暗号化される。暗号化されたファイルにはIRM-L固有の拡張子が付与され,元のファイルと同じディレクトリに保存される。
    • コンテンツ鍵は,IRMサーバ公開鍵で暗号化される。
    • 暗号化されたコンテンツ鍵は,暗号化後のファイルのハッシュ値及び付与された権限とともにIRMサーバに送信され,IRMサーバ内で保存される。
    • IRMサーバへの送信後,PC内のコンテンツ鍵と元のファイルは完全に削除される。
  5. 保護されたファイルを開くときの処理
    保護されたファイルが開かれると,次の処理が行われる。
    1. IRMクライアントから利用者ID,暗号化後のファイルのハッシュ値,及びIRMクライアント公開鍵がIRMサーバに送信される。
    2. IRMサーバでは,暗号化後のファイルのハッシュ値が参照され,利用者アカウントがファイルに対する権限をもっている場合に,IRMサーバ秘密鍵でコンテンツ鍵が復号される。
    3. IRMサーバでは,コンテンツ鍵が,IRMクライアント公開鍵で暗号化され,IRMクライアントに送信される。
    4. IRMクライアントでは,送付されたコンテンツ鍵がIRMクライアント秘密鍵で復号される。
    5. IRMクライアントでは,コンテンツ鍵で対象ファイルが復号される。
    6. 復号されたファイルに対しては,参照又は編集後に再びファイル暗号化の処理が行われる。
図1 IRM-Lの概要

Z主任は,次のようにIRM-Lを利用することによって,表1中の問題を表2のとおり解決できると考えた。

  • 各プロジェクトにグループを一つ割り当てる。
  • システム開発部門の従業員にIRM-Lの利用者アカウントを割り当てる。
  • 設計秘密は,IRM-Lで保護した上で,ファイルサーバに保管する。
  • T社のプロジェクトメンバもIRM-Lを利用し,IRM-Lで保護されたファイルを,クラウドストレージサービスにアップロードする。
表2 設計秘密の管理についての問題に対する解決策
名称 IRM-Lによる解決策
問題1 (省略)
問題2 (省略)
問題3 IRM-Lでは,ファイルの保護にパスワードを利用しない。また,①簡単な操作でプロジェクト離任者による設計秘密の参照を禁止できるので,従来と比較して大幅に作業負荷が減る。
問題4 ②プロジェクト離任者に対する権限を適切に行うことによって参照不可にできる。

問題2について,Pパスワードの利用状況を調査したところ,英数字と一部の記号を用いた10字程度のパスワードの利用が多いことが分かった。それに基づいて,Wソフトによって暗号化されたファイルとIRM-Lによって保護されたファイルの解読に必要な計算量を比較し,結果を図2にまとめた。

Wソフトによって暗号化されたファイルの解読:

鍵を総当たりで特定するには,最大で2の256乗の計算量が必要になる。また,その鍵を生成するためのPパスワードが文字種64種類で長さ10字とすると,Pパスワードの推測には最大で2のc乗の計算量が必要になる。

IRM-Lによって保護されたファイルの解読:

コンテンツ鍵を総当たりで特定するには,最大で2の256乗の計算量が必要になる。また,コンテンツ鍵を保護するIRMサーバ公開鍵は2048ビットであり,NIST SP 800-57によると,RSA-2048のセキュリティ強度は112ビットの共通暗号化と同等であることから,RSA-2048を破るには,2の112乗の計算量が必要だと言われている。

以上から,IRM-Lによって保護されたファイルの解読はWソフトによって暗号化されたファイルの解読と比較して2のd乗倍の計算量が必要になるので,より安全だと考えられる。

図2 比較結果

IRM-Lでは,一定時間当たりのログイン試行回数を制限する機能や,一定回数のログイン失敗でアカウントをロックする機能によって,攻撃者がログインに成功するリスクを下げることができる。しかし,利用者IDとパスワードによる認証だけでは,推測が容易なパスワードを利用者が設定してしまうと,長さが10字であったとしてもe攻撃に対して脆弱となるので,fへの変更が可能か検討することにした。

社外とのやり取り

T社ネットワークからIRMサーバにアクセスするには,IRMサーバをR社のDMZに設置し,インターネットからアクセス可能にする必要がある。Z主任は,IRMサーバをDMZに設置した場合のリスクと対策を表3のとおりまとめた。

表3 IRMサーバをDMZに設置した場合のリスクと対策(抜粋)
リスク 対策
グループ管理者及びIRM管理者へのなりすまし fへの変更
・ログイン及びその試行の監視
IRM-Lの既知の脆弱性を悪用したサーバへの侵入 ・脆弱性修正プログラムの定期的な確認と適用
・IPSの利用

IRM-Lの運用について情報システム部で検討した結果,これまで検討した対策を全て採用した場合でも,③PCがマルウェアに感染してしまうと,設計秘密の内容を不正に取得されてしまう場合があることが分かった。そこで,マルウェア対策の強化も導入計画に盛り込んだ上で,IRM-Lの導入を進めることにした。その後,IRM-Lを導入し,設計秘密に対する情報漏えい対策を強化することができた。

出典:令和3年度 秋期 情報処理安全確保支援士試験 午後Ⅰ 問2