情報セキュリティスペシャリスト試験情報 > テクニカルエンジニア(情報セキュリティ)平成19年度試験メニュー >問題と解説
テクニカルエンジニア(情報セキュリティ)平成19年度試験問題(午後2問1)
問1 基幹Webシステムにおけるセキュリティ設計に関する次の記述を読んで,設問1〜4に答えよ
X社は,従業員数2,000名の中堅信販会社である。X社では,大型汎用機で構成された基幹システムによって,各支店と現金自動預払機(ATM)を通じた融資サービスを提供している。X社は,現行基幹システムの老朽化対策と事業拡大を目的として,代理店及び一般顧客がインターネット経由でも融資サービスを利用できる新しい基幹Webシステム(以下,Cシステムという)を開発し,システム移行後に現行基幹システムを廃棄することにした。現在,X社内では,情報システム部門において,Cシステムの要件整理が完了し,概要設計を終えようとしている。
CシステムのWebサーバで動作する業務アプリケーションは,融資受付サービス,融資受付代行サービス,残高照会サービス,入出金サービス及び顧客情報検索サービスの五つの業務サービスを提供する。これらの業務サービスのうち,顧客情報検索サービスでは,各支店の営業員による支店PCからのアクセスに対して,営業員の認証が行われる。認証が正常に行われた後,営業員が口座をもつ顧客の口座番号,カナ姓,カナ名,電話番号の各項目を任意に指定して顧客情報を検索すると,検索結果リストが表示される。また,検索効率向上のために,カナ姓の一部又はカナ名の一部の指定による部分一致検索を可能にする。表示された検索結果リストから,営業員が任意の顧客を選択すると,当該顧客の顧客情報及び債権管理情報が表示される。
Cシステムの運用管理は,現行基幹システムと同様に,システム管理者,データベース(DB)管理者,業務アプリケーション管理者という3種類の運用管理者によって行われることが決まっており,複数の役割を兼任することは禁止されている。サーバ及びネットワーク機器を運用管理するシステム管理者は,X社情報システム部門又は運用委託業者の従業員の中から任命され,X社データセンタ内で各サーバ及びネットワーク機器を直接操作する。DBを運用管理するDB管理者は,X社情報システム部門又は運用委託業者の従業員の中から任命され,X社データセンタ内でDBサーバを直接操作する。業務アプリケーションを運用管理する業務アプリケーション管理者は,X社情報システム部門又は運用委託業者の従業員の中から任命され,X社データセンタ内でWebサーバを直接操作する。
Cシステムの品質要件(抜粋)を図1に,Cシステムが遵守すべきX社の情報セキュリティ標準(抜粋)を図2に,それぞれ示す。
図1 Cシステムの品質要件(抜粋)
・ 顧客情報検索の応答時間は3秒以内とする。 ・ ピーク時においては,最大50件/秒までの顧客情報検索サービスを処理可能とする。 ・ 顧客数は最大100万人とする。 ・ 計画停止時間は2時間以内とする。 ・ X社の情報セキュリティ標準を遵守する。 ・ テーブル内のレコードが氏名(姓及び名の両方)及び生年月日を含む場合は,キー項目以外の各データ項目を暗号化し,暗号鍵を定期的に変更する。
図2 X社の情報セキュリティ標準(抜粋)
1. 情報分類
X社情報セキュリティポリシに基づき,X社内で取り扱う情報を,公開情報,社内情報,機密情報,極秘情報に分類する。
(1) 公開情報とは,社外に公開可能な情報である。 (2) 社内情報とは,X社内だけで取り扱い,社外に公開しない情報である。 (3) 機密情報とは,X社の人事,経営戦略に関する情報及び顧客に関する情報(取引口座,融資取引,与信,債権に関する情報など)である。 (4) 極秘情報とは,融資取引において,顧客の本人確認のために使用する暗証番号である。
2. セキュリティ対策
X社内においては,それぞれの情報分類に関して次のセキュリティ対策を実施する。
2.1 公開情報に関するセキュリティ対策
(省略)
2.2 社内情報に関するセキュリティ対策
社内情報に関しては,次の[ a ]的セキュリティ対策を実施する。
(1) オフィスエリアに保管する。オフィスエリアは,監視カメラ又は警備員によって出入口が監視されているエリアとする。
2.3 機密情報に関するセキュリティ対策
機密情報に関しては,社内情報に関する対策に加えて,次の[ a ]的セキュリティ対策及び[ b ]的セキュリティ対策を実施する。
(1) [ a ]的セキュリティ対策
・ オフィスエリア内に設けた制限エリアに保管する。制限エリアは,指紋認証による入退室管理を行い,必要最小限の運用管理者だけが入室可能なエリアとする。 (2) [ b ]的セキュリティ対策
・ アクセスの際は,利用者本人であることを確認するために,利用者認証を実施する。 ・ 権限をもつ利用者だけにアクセスを限定するために,アクセス制御を実施する。 ・ 疑わしいアクセスを発見し,アクセス元の個人を特定できるようにするために,アクセス記録を取得し,1年間保管する。 ・ 制限エリアから外に持ち出す場合,及び通信回線を介して制限エリアの外へ送信する場合は,暗号化を実施する。暗号鍵は定期的に変更する。
2.4 極秘情報に関するセキュリティ対策
極秘情報に関しては,機密情報に関する対策に加えて,次の[ b ]的セキュリティ対策を実施する。
(1) [ b ]的セキュリティ対策
・ 電子記憶媒体に保存する場合は,暗号化を実施し,暗号鍵を定期的に変更する(ただし,データ処理のために一時的に保管し,処理終了後に消去される場合はこの限りでない)。
これまで,X社においては,Cシステムの概要設計に対して,セキュリティの観点からの検証が行われていたが,設計者のスキル不足から,検証作業が遅れていた。X社は,進捗の遅れを取り戻すために,SIベンダのY社にCシステムの概要設計に対する検証作業と必要な改善を依頼した。Y社のセキュリティ技術者であるT氏は,X社内でCシステムの設計全体のリーダとセキュリティ設計担当を兼任しているS氏から,Cシステムの概要設計について説明を受けた。後日,T氏は,改善案をまとめて,S氏との検討に臨んだ。次は,そのときのT氏とS氏のやり取りである。
〔システム構成の改善〕
T氏 :まず,Cシステムのシステム構成改善案について,ご説明します。考慮すべき点が幾つかあるので,Cシステムのネットワークセキュリティ設計方針を図3にまとめました。この設計方針に基づいて作成したCシステムのシステム構成改善案を図4に,システム構成改善案の補足説明を図5に示します。
図3 Cシステムのネットワークセキュリティ設計方針
1. ファイアウォールで区分されたX社内のネットワークをセキュリティゾーンとする。各セキュリティゾーンに対して,次のセキュリティレベルを割り当てる。
レベル0: クライアントPCを配置する社内ネットワーク レベル1: DMZ レベル2: 認証された利用者に対して業務サービスを提供するサーバを配置するネットワーク レベル3: DBを配置するネットワーク
2. 各セキュリティレベルのセキュリティゾーンに配置可能な蓄積データ(一時的な保管データは除く)の情報分類は,次のとおりとする。
レベル0: 公開情報 レベル1: 公開情報 レベル2: 公開情報,社内情報 レベル3: 公開情報,社内情報,機密情報,極秘情報
3. 各セキュリティゾーンでは,セキュリティレベルに応じて次のセキュリティ対策を実施する。
レベル0: オフィスエリアに配置する。 レベル1: オフィスエリアであるX社データセンタ内のマシン室に配置する。マシン室はICカードによる入退室管理を行い,必要最小限の運用管理者だけが入室可能なエリアとする。 レベル2: レベル1と同じ対策を実施する。 レベル3: マシン室内に設けた制限エリアに配置する。
4. セキュリティゾーンの構成及び通信は,次のとおりとする。
・ セキュリティレベルが2以上異なるセキュリティゾーンは隣接させない。 ・ 運用管理のための通信は,セキュリティゾーン内だけで行う。 ・ セキュリティゾーン間の通信は,隣接するセキュリティゾーン間だけで許可する。 ・ セキュリティゾーン内の通信には制約を設けない。 ・ インターネットは,レベル1のセキュリティゾーンに隣接させる。
図5 システム構成改善案の補足説明
・ 認証サーバはリバースプロキシとして動作する。ブラウザからは,認証サーバがWebサーバに見える。 ・ 認証サーバは,ブラウザから入力された認証情報をLDAPサーバに送信し,LDAPサーバは認証サーバから受信した認証情報と登録された認証情報を比較して,認証結果を認証サーバに返す。 ・ 業務アプリケーションのうち,一部の融資受付サービスを提供する業務アプリケーションは,利用者認証を必要としないため,WebサーバBに配置される。その他の業務アプリケーションはWebサーバAに配置される。 ・ 業務アプリケーションとDBMSとの間においては,コネクションプーリングを使用する。すなわち,業務アプリケーションがDBMSの利用者IDを使用して確立したコネクションを,複数のトランザクションで共用する。DBMSからは,業務アプリケーションとの間において確立されたコネクションが,1人のDBMS利用者に見える。
S氏 :X社内で検討した構成では,認証サーバとWebサーバBをDMZに配置し,それ以外のサーバはすべて同じネットワークに配置していました。〔1〕WebサーバAとDBサーバを別のセキュリティゾーンに配置したのはなぜでしょうか。 T氏 :この二つのサーバについては,運用管理者の作業内容と〔2〕情報セキュリティ標準を考慮して,このような配置にしました。 S氏 :了解しました。
〔利用者認証とログ管理の改善〕
T氏 :次に,Cシステムのセキュリティ設計について検討しましょう。利用者認証の設計は複雑でしたので,内容を再確認させてください。 S氏 :Cシステムの業務サービスは,3種類の利用者認証を使用します。業務サービスが使用する利用者認証を,表1に示します。
表1 業務サービスが使用する利用者認証 アクセス認証 取引認証 DB認証 認証機能の実装箇所 認証サーバ 業務アプリケーション DBMS 使用する認証情報 業務サービスの利用者ID(以下,業務ユーザIDという)及びパスワード(以下,業務パスワードという) 口座番号及び暗証番号 DBMSの利用者ID(以下,DBユーザIDという)及びパスワード(以下,DBパスワードという) 認証情報の保管場所 LDAPサーバ DB DBMS 認証情報の対象者又は
認証情報の割当て対象各支店営業員,各代理店営業員,各顧客,各ATM 各顧客 各DB管理者,業務アプリケーション
T氏 :認証については了解しました。ログ管理についても確認させてください。 S氏 :ログ管理は,DBサーバで動作するDBMSが,実行されたSQL文,SQL文の実行結果(成功か失敗か),SQL文が実行された年月日時分秒,及びSQLを実行したDBユーザIDをアクセス記録として取得し,保存することで実現します。 T氏 :〔3〕このログ管理方式では,御社の情報セキュリティ標準を遵守できないので変更すべきでしょう。改善策として,〔4〕ログの取得箇所を変更し,アクセス記録で個人を特定できるようにする方式を提案します。ただし,そのためには,必要な情報を認証サーバからWebサーバの業務アプリケーションに渡す必要があります。この方式では,実行されたSQL文,SQL文の実行結果,及びSQL文が実行された年月日時分秒も記録できます。 S氏 :ログ管理についてはDB担当者に任せていたので,見落としていました。今後はDB担当者との連携を強化するようにします。
〔データ暗号化の検討〕
T氏 :最後に,データ暗号化について検討しましょう。 S氏 :暗号化及び復号の処理は,業務アプリケーションがハードウェア暗号モジュールの機能を呼び出して,データ項目ごとに順次処理する方式にしました。DBMSがもつデータ暗号化の機能を使用する方式も検討しましたが,今回は安全な鍵管理機能をもっているハードウェア暗号モジュールを採用することにしました。CシステムのDB設計案を,表2に示します。
表2 CシステムのDB設計案 テーブル名 キー項目 データ項目 顧客TBL 口座番号 暗証番号 住所 カナ姓 カナ名 電話番号 生年月日 勤務先 取引TBL 取引番号 年月日時分秒 口座番号 入出金額 − − − − 与信TBL 口座番号 与信残高 与信限度額 − − − − − 債権回収
記録TBL口座番号,
年月日時分秒取引番号 顧客との
連絡記録− − − − −
T氏 :DBに保管されるデータの暗号化は,システムのセキュリティ以外の品質にも様々な影響を与えます。まず,顧客情報検索サービスにおける部分一致検索の応答時間への影響を評価してみましょう。顧客情報検索サービスの部分一致検素は,DBMSのLIKE演算子を使った方式となっています。例えば,カナ姓に対して“オオタ*”という条件で検索すると,処理されるSQL文にLIKE ‘オオタ%’という検索条件が付き,カナ姓の項目が“オオタ”で始まるレコードが検索されます。 今回使用するDBMS製品は,特定の列を索引項目として定義すると,索引項目のデータとテーブルにおける当該レコードの位置情報から成る索引を生成します。索引中のレコードは索引項目の順に並んでおり,索引項目による検索が効率よく行われます。カナ姓を索引項目とした場合,索引を読んで“オオタ”で始まる各レコードの位置が分かると,テーブルに対してはレコード位置を基に検索結果の各レコードだけを読めばよいことになります。検索結果が100件となる部分一致検索の処理時間について,弊社のDB技術者の協力を得て概算したところ,索引項目が暗号化されない場合は,索引による効果が大きく,約1秒という結果になりました。一方,索引項目を暗号化すると,索引による効果は得られず,テーブルの全レコードに対して順次アクセスすることになるので,約500秒という結果になりました。 S氏 :処理時間を1秒以内に抑えるために,DBサーバの資源を500倍に増強することは不可能ですね。 T氏 :暗号化による影響はこれだけではありません。顧客TBLに対して,図1の品質要件で要求されている暗号鍵の変更を行った場合,それに伴って必要となるデータ移行時間を評価してみましょう。Cシステムにおける,データ移行時間の概算見積りを,弊社のDB技術者の協力を得て図6にまとめてみました。
図6 Cシステムにおけるデータ移行時間の概算見積り 〔前提条件〕
・ ハードウェア暗号化モジュールの性能データから,1データ項目当たりの暗号化及び復号の処理時間をそれぞれ1ミリ秒とする。 ・ 顧客TBLのレコード1件当たりの順次読込み及び順次書込みの処理時間は,それぞれ約0.5ミリ秒である。
〔データ移行時間の概算見積り〕
データ移行時間
=(0.5ミリ秒/件+1ミリ秒/項目×7項目/件
+1ミリ秒/項目×7項目/件+0.5ミリ秒/件)×100万件
=15,000秒(4時間10分)
S氏 :〔5〕このデータ移行時間は長すぎますね。部分一致検索の応答時間と暗号鍵変更に伴うデータ移行時間,この二つの問題を解決する方法はありませんか。 T氏 :DB設計を変更して,暗号化の対象となるデータ項目数を減らすことが考えられます。〔6〕顧客TBLから部分一致検索に使う二つのデータ項目を抜き出して,それぞれ検索TBL_Aと検索TBL_Bの二つのテーブルに分けます。また,口座番号を意味のない内部IDに変換する変換TBLを作り,検索TBL_A,検索TBL_B及び顧客TBLのキー項目を内部IDに変更します。こうすれば,暗号化の対象となるデータ項目数は一つとなり,Cシステムの品質要件を満たし,必要な機能を実現することができます。 S氏 :これでうまくいきそうですね。
X社は引き続きY社の支援を受け,予定どおりのスケジュールでCシステムの概要設計を終えることができた。
設問1 図2中の[ a ],[ b ]に入れる適切な字句を,それぞれ2字で答えよ。
設問1の解答例へ
設問2 システム構成の改善について,(1),(2)に答えよ。
(1) 本文中の下線〔2〕で考慮した情報セキュリティ標準の内容を,40字以内で具体的に述べよ。 (2) 本文中の下線〔1〕のサーバ配置はどのような効果をもたらすか。運用管理者の種類と保護する情報分類を含めて,55字以内で述べよ。
設問2の解答例へ
設問3 利用者認証とログ管理の改善について,(1),(2)に答えよ。
(1) 本文中の下線〔3〕の理由を,50字以内で述べよ。 (2) 本文中の下線〔4〕の具体的な内容について,ログ取得を実装すべき箇所と,個人を特定するために記録すべき情報を含めて,30字以内で述べよ。
設問3の解答例へ
設問4 DB設計の改善について,(1)〜(3)に答えよ。
(1) 暗号鍵変更に伴うデータ移行処理の内容を,40字以内で述べよ。 (2) 本文中の下線〔5〕が問題となる理由を,40字以内で具体的に述べよ。 (3) 本文中の下線〔6〕について,変換TBL,検索TBL_A,検索TBL_B及び顧客TBLに含めるべきキー項目とデータ項目を,解答欄の表に,それぞれ4字以内で記入せよ。
設問4の解答例へ
メニューへ戻る