テクニカルエンジニア(情報セキュリティ)過去出題問題

平成18年 午後2 問2

最終更新日 2006/07/09
webmaster@tomnetwork.net

Tomのネットワーク勉強ノート
 過去問(午後)
  テクニカルエンジニア(情報セキュリティ)過去問(午前・午後)
     テクニカルエンジニア(情報セキュリティ)過去問 平成18年 午後2 問2

問2 安全なデータ転送システムに関する次の記述を読んで,設問1〜4に答えよ。

 J社は,従業員数3,000名規模の自動車エンジン製造会社であり,多くの部品メーカ
からエンジンの部品を調達している。これらの部品メーカとは,長年にわたって取引
を続けている。

 J社では,社内での設計業務や契約業務などが電子化されているので,今後はすべて
の部品メーカを対象に調達業務の電子化を行うことになった。これまで,部品の設計
図や仕様書(以下,調達書類という)は,情報の漏えいや紛失を懸念して書留で郵送
していたので,調達業務の電子化を行った場合は,特にデータ転送の安全性を確保す
る必要があると考えた。

 そこで,J社では,部品メーカとの間で重要なデータを安全かつ確実に転送できるシ
ステム(以下,セキュアなデータ転送システムという)を開発することにした。

〔セキュアなデータ転送システムの要件〕

 調達書類は,J社で作成されて部品メーカに提示される。電子化された調達書類(以
下,調達ファイルという)は,データの取扱いに慎重を要するものが多いため,受信
した部品メーカが,情報の完全性を確認できる必要がある。また,受信した調達ファ
イルが,確かにJ社の承認者によって承認されたものであることを,部品メーカが確
認できるようにする。

 従来は,調達書類をJ社の調達担当者が封筒に入れ,部品メーカの営業部門に書留
で郵送していた。部品メーカの営業部門では,郵送されてきた調達書類を営業担当者
が受領し,調達書類の内容を確認した後,自社の開発担当者に渡していた。したがっ
て,調達業務を電子化した場合でも,J社内と部品メーカの内部で想定される脅威につ
いては,ほかの手段によって軽減を図ることにして,検討対象としない。

 部品メーカは,J社に比べると小規模であり,専任のシステム管理者を配置できない
ところが多い。この点を考慮して,部品メーカの調達ファイル受信用のPCにインス
トールするソフトウェアはなるべく少なくする。

 従来の郵送を使った方法に比べて,手順が著しく煩雑になったり,安全性が大きく
損なわれたりしないようにする。また,部品メーカの利用者が,特別な講習を受けな
くても使えるように,セキュアなデータ転送システムを利用するための専用のアプリ
ケーションを最小限に抑え,導入しやすいシステムにする。

 J社は,これらの要件をシステム開発会社のK社に提示し,セキュアなデータ転送
システムの開発を進めることにした。

〔電子メールの活用〕

 K社では,セキュアなデータ転送システムで使用するアプリケーションについて検
討を行った。現在,多くの部品メーカがインターネットを盛んに利用している。特に, 
電子メール(以下,メールという)は,J社を含めて部品メーカでも利用者が多いので, 
メールを利用すれば,セキュアなデータ転送システムの導入コストを抑えられる可能
性がある。さらに,用件をメール本文に記載し,調達ファイルを添付ファイルとして, 
郵送と同様に一括して送信できる。

 メールの活用を検討するために,送信者のPCから,送信者のPCと直接通信するサ
ーパまでのデータ転送に,SMTPを使用する方法(以下,SMTPメールという)と
HTTPを使用する方法(以下,HTTPメールという)の二つを取り上げた。図1に, 
SMTPメールとHTTPメールの転送例を示す。


 図1 SMTPメールとHTTPメールの転送例

 HTTPメールを使用する送信者は,プラウザを利用してメールの送受信を行うこと
になるので,SSLで保護したHTTPメールが利用しやすい。SSLは,送信者の電子証
明書を用いなくても,Webのメールサーバの電子証明書だけを用いて利用できる。こ
れによって,通信される情報の機密性を確保している。SSLで保護したHTTPメール
では,送信者のパスワードを確認することによって,送信者とWebのメールサーバと
の間において,メール送信者の認証ができる。

 一方,SMTPメールは,S/MIMEが利用しやすい。S/MIMEをSMTPメールに適用
した場合,メール受信者は,メール送信者を確認できる。また,H電回Pメールに比べ
て,メール送信者と受信者の間で,転送データの漏えい防止や完全性の確保などが容
易に行える。

 以上の検討結果から,HTTPメールの採用は見送り,SMTPメールに対する
S/MIMEの適用を検討することにした。

〔S/MIMIEの検討〕

 メールサーバ間の転送でもSMTPが使用されるので,SMTPの安全性を確保する必
要がある。SMTPは,ASCIIで表現されたテキストデータの転送しかできない。転送
されるSMTPメールのフォーマットは,RFC 2822に従う。図2に,S/MIMEを使用
したSMTPメールのフォーマットの概要を示す。


図2 S/MlMEを使用したSMTPメールのフォーマットの概要

 S/MIMEは,メールの送信者と受信者の間で公開鍵基盤(以下,PKIという)を利
用して,送信者が付与した【  a  】を受信者が検証することによって,メールとし
て転送されるデータの完全性の確保と【  b  】の確認ができる。さらに,PKIは, 
S/MIMEにおいてメールとして転送されるデータの機密性を確保するためにも利用さ
れる。ここで用いられる非対称暗号(RSA暗号)では,秘密鍵と公開鍵が1対1に対
応している。ある秘密鍵を使用して【  c  】した情報は,【  d  】と対を成す
【  e  】で復号できる。また,【  e  】を使用して暗号化した場合, 
【  d  】で復号できる。一般に,非対称暗号は,暗号化するデータ量が多くなると, 
対称暗号に比べて処理時間が長くなる。効率性の観点から,MIMEでは,メールの
本文を対称暗号で暗号化し,この暗号化に使用した共通鍵を,非対称暗号で暗号化す
る。この仕組みによって,送信者が指定した受信者だけがメールを読むことができる
ので,データ転送の安全性が高まる。

 S/MIMEを使用した場合,添付されるパイナリデータは,ASCIで表現される64種
類の文字と特殊用途の”=”を使って表現する【  f  】方式に従って,テキストデ
ータに変換される。64種類の情報を表現するために必要なビット数は, 【  g  】
ビットである。ここで,1バイトが8ビットで, 【  g  】と8の最小公倍数が
【  h  】になり, 【  h  】ビットは【  i  】バイトである。したがって, 
【  i  】パイトのバイナリデータから,4バイトのテキストデータが生成される。
つまり,添付されるテキストデータは,パディング文字や改行文字などを無視すると, 
バイナリデータの【  j  】倍になる。このことから,調達ファイルのような大量の
データを転送する場合には注意が必要である。

〔Webサーパの併用〕

 K社は,S/MIMEによる転送データ量の増加への対策として,調達ファイルをメー
ルに添付するのではなく,J社が運用するWebサーバからダウンロートしてもらう方
法を採用することにした。具体的には,J社は部品メーカに対して,S/MIMEを使用し
たSMTPメールに,ダウンロードするための情報を記載して送信する。この情報は, 
WebサーバのURLやダウンロードされるファイルを指定する文字列(以下,ファイル
指定文字列という),部品メーカごとに割り当てられたダウンロードキーなどから構成
される。

 ダウンロードされるファイルは,調達ファイルと,その完全性の確保や承認者の確
認などを目的として添付した,J社の承認者の【  a  】などから構成される。J社
は,Webサーバの併用に伴い,ダウンロードしたファイルの【  a  】をチェック
したり,調達ファイルを抽出したりするクライアントソフトウェア(以下,クライア
ントAPという)を,部品メーカに提供することにした。

 部品メーカでは,営業担当者がJ社からS/MIMEを使用したSMTPメールを受信し, 
そのメールの送信者がJ社の調達担当者であることを十分に確認する。その後,開発
担当者の業務状況や調達内容から,調達に応じるのに適任の開発担当者を選び,当該
メールの内容を転送し,調達ファイルを取得するように指示する。このとき,営業担
当者は,S/MIMEを使用せずに開発担当者にSMTPメールを転送するので,J社から
のS/MIMEを使用したSMTPメールを読むための電子証明書は,部品メーカの営業担
当者だけが所有していればよいことになる。

 指示を受けた開発担当者は,自らPCを操作してファイルをダウンロードする。図3 
に,ファイルをダウンロードする操作手順の概要を示す。


図3 ファイルをダウンロードする操作手順の概要

 開発担当者が,J社から割り当てられた利用者IDとパスワードとを使用して,Web 
サーバにログインした後,営業担当者からのメールで指示されたURLに従ってダウン
ロードするWebページにアクセスする。開発担当者のパスワードは,セキュアなデー
タ転送システムの安全性を考慮して,ある程度の期間で更新していくことにした。当
該ベージにアクセスすると,ファイル指定文字列とダウンロードキーの入力を要求す
るWebページが表示される。開発担当者は,メールで指定された値を入力し,“ダウ
ンロードボタン”を押してファイルをダウンロードする。Webサーバは,開発担当者
の電子証明書を使用せず,自らの電子証明書だけを使用したSSLを利用し,ダウンロ
ードキーの検証を行う。

〔Webサーパのセキュリティ〕

 K社において,J社のWebサーバで動作するソフトウェアの開発を行つているT君
は, リーダのS氏に相談しながらセキュアなデータ転送システムの具体的な検討を進
めた。T君は,Webサーバの安全性を確保するために,部品メーカの開発担当者が, 
許可されていないファイルをダウンロードすることを禁止する方法を考えた。

 Webサーバにおいて,あるディレクトリの配下に,各部品メーカに対応したディレ
クトリを用意し,ダウンロードされるファイルは,その配下に格納される。ダウンロ
ードされるファイルが格納されているディレクトリ名には,各部品メーカに対してあ
らかじめ割り当てた名称を使用し,開発担当者には通知しないことにした。また,開
発担当者が入力するファイル指定文字列と,入力したファイル指定文字列に基づいて
Webサーバで認識されるファイル名を異なるものとした。つまり,開発担当者には, 
Webサーバで認識できるディレクトリ名やファイル名を直接指定させない。

 T君は,各部品メーカの開発担当者には,メールで通知されたダウンロードキ―と
ファイル指定文字列だけを入力してもらい,ダウンロードキ一と,Webサーバで該当
するファイルが格納されているディレクトリを対応させた。ダウンロードキーが部品
メーカごとに設定されていることから,Webサーパで認証された部品メーカの開発担
当者に対して,該当するディレクトリ配下のファイルだけをアクセスさせることがで
きる。

 ダウンロードされるファイルのファイル名は,ASCIIで表される数字,英小文字, 
“(“,”)”,“#”,拡張子を区切るためのピリオドの40文字を用いて表現する。T君は, 
調達ファイルのデータ量が大きいことから,データ転送量を抑えるために,ダウンロ
ードする前にファイル圧縮技術を適用したいと考えた。そこで,ダウンロードされる
ファイルの内容は,暗号化せずに,一般に広く使用されている圧縮したり伸張したり
するアプリケーションプログラム(以下,CEPという)を利用して,あらかじめ圧縮
しておくことにした。この場合,ファイルをCEPで圧縮しているので,Webサーパで
認識できるファイル名は,開発担当者が入力したファイル指定文字列に,“.”と拡張
子“cep''を付加したものとする。

 T君は,これらの仕組みによって,開発担当者がWebサーバで認識されるファイル
名を直接入力できないようにして,Webサーパの安全性を確保しようとした。T君は, 
部品メーカの開発担当者からダウンロード要求を受け付けて処理を行うCGIプログラ
ムを,Perlを用いて作成し,セキュリティに関してS氏のレビューを受けた。図4に, 
CGIプログラム(抜粋)を示す。

#1/usr/bin/perl 

sub return_cep_file {
   if (open FILE, $_[0]) {
   # ファイルの内容をそのまま出力し,FILEをクローズ
   } else {
   #エラー処理は省略
   } 

$buffer = $ENV{ 'QUERY_STRING'} ; 
#プラウザから送られてきた引数を$bufferに格納

($arg1, $arg2) = split(/&/, $buffer); 
($prm, $fname)= split(/=/, $arg1); 
#ファイル指定文字列を$fname格納

$fname =~ s/%([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg; 
#$fnameのURLエンコーディングをデコード

($prm, $d_key) = split(/=/, $arg2); 
#ダウンロードキーを$d_keyに格納

$parts_dir = check d_key( $d_key ); 
#check_d_keyは,ダウンロードキーを検証し, 
#正当性を確認できたら,部品メーカに対応したディレクトリ名を返却
#正当性を確認できなかったら,空白文字列を返却

if ($part_dir) {
   return_cep_file( $parts_dir.'/'.$fname.'.cep' ); 
} else { 
 #エラー処理は省略
}

図4 CGlプログラム(抜粋) 

T君:ファイル指定文字列やダウンロードキーを入力したり,ファイルをダウンロー
   ドしたりするWebサーパとの通信には,すべてSSLを使用して安全性を確保
   します。

S氏:そうですね。各部品メーカに対応したダウンロードキーは,J社から部品メー
   カに通知されています。このダウンロードキーをプラウザからWebサーバに送
   る必要があります。したがって,これらの間の通信の安全性確保は重要です。
   さらに,部品メーカごとに対応したダウンロードキーを検証するために使用す
   る,ダウンロードキーを記録したファイルなど,重要なファイルが外部に漏え
   いしないように注意する必要があります。

T君:認証された部品メーカの開発担当者は,ディレクトリ名を知らないので,ダウ
   ンロードを許可されているファイル以外にはアクセスが困難です。

S氏:ファイル指定文字列の指定方法を教えてください。

T君:ファイル指定文字列は,例えば,部品メーカの開発担当者に”sample”と入カ
   してもらい,CGIプログラムにおいて“sample.cep”のように拡張子を付加し
   て,Webサーバ内で認識可能なファイル名を生成しています。

S氏:図4では,正しいダウンロードキーを入力した部品メーカの開発担当者が,自
   社に割り当てられていないディレクトリ配下にあるファイルをダウンロードで
   きる危険性があります。開発担当者は,自らのPCで動作するプラウザでアク
   セスするので,任意の文字列を入力できるのです。

T君:部品メーカの開発担当者が,自社に割り当てられていないディレクトリにアク
   セスできる危険性は分かりました。しかし,CGIプログラムでは,Webサーバ
   で認識できるファイメレ名の拡張子を“cep”に眼定しているので,ファイル名の
   拡張子が“cep”以外のファイルには,アクセスできません。

S氏:そうとも言えないでしょう。Perl文字列の処理方法を十分に調査して,再度
    検討してみてください。

 T君は,@S氏の指摘を受けて,部品メーカの開発担当者がWebサーバの自社に割
り当てられていないディレクトリをアクセスしたり,Webサーバ内の任意のファイル
名を入力したりできないように,CGIプログラムを改良した。

 K社は,S/MIMEを使用したSMTPメールとWebの仕組みを利用した,セキェアな
データ転送システムを完成させてJ社に納入した。J社は,このシステムの運用を開始
し,調達業務の電子化を完了した。


設問1 SSLを使用したHTTPメールについて,(1),(2)に答えよ。

 (1)図1で示した範囲において,情報漏えいの防止が困難な場所を二つ拳げ,そ
   れぞれ15字以内で述べよ。

 (2)メール送信者の否認防止に効果がある場所を特定し,その理由を含めて,30 
   字以内で述べよ。

設間2 S/MIMEを使用したSMTPメールについて,(1)〜(3)に答えよ。

 (1)本文中の【  a  】〜【  j  】に入れる適切な字句を答えよ。
   なお,【  j  】は,小数第2位を四捨五入して小数第1位まで求めよ。

 (2)情報漏えいの防止のために,subjectフイールドに記述する内容に注意する必
   要がある。その理由を,20字以内で述ぺよ。

 (3)部品メーカの営業緩当者が,J社の調達担当者から送信されるメールの送信
   者を確認する方法を,40字以内で具体的に述べよ。

設問3 Webサーパのセキュリティについて,(1)〜(3)に答えよ。

 (1)部品メーカが開発担当者のパスワードを管理する方式に比べて,J社が開発
   担当者のパスワードを部品メーカに通知する方式の方が有用である。その利点
   を,30字以内で述べよ。

 (2)図4で示したCGIプログラムを使用した場合,自社に割り当てられていない
   ディレクトリをアクセスする方法と,任意のファイルをアクセスする方法を, 
   それぞれ35字以内で述べよ。

 (3)T君が,本文中の下線@で示したS氏の指摘を受けて,図4で示したCGIプ
   ログラムに追加すべき機能を,55字以内で述べよ。

設問4 Webサーパを用いたファイルのダウンロードについて,(1)〜(3)に答えよ。

 (1)データ転送の安全性を確保するためにSSLを利用した理由を,Webサーバで
   のファイルの保存状態に着目して,30字以内で述べよ。

 (2)Webサーバでの操作において,ダウンロードキーを利用した理由を,部品メ
   ーカにおける開発担当者の選任方法に着目して,30字以内で述べよ。

 (3)部品メーカの開発担当者が,Webサーバにアクセスしたとき,最初に確認す
   べきことを,20字以内で述べよ。また,その目的を,50字以内で述べよ。

Tomのネットワーク勉強ノート
 過去問(午後)
  テクニカルエンジニア(情報セキュリティ)過去問(午前・午後)
     テクニカルエンジニア(情報セキュリティ)過去問 平成18年 午後2 問2