平成18年度テクニカルエンジニア情報セキュリティ午後U問題 (問2)

SEのための情報セキュリティ対策
情報セキュリティプロフェッショナル試験対策 過去問掲載

Home> 【午後】テクニカルエンジニア情報セキュリティ過去問題 >

平成18年度テクニカルエンジニア情報セキュリティ午後U問題 (問2)

平成18年度テクニカルエンジニア情報セキュリティ午後U問題 (問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メールの転送例を示す。
 


 HTTPメールを使用する送信者は,ブラウザを利用してメールの送受信を行うことになるので,SSLで保護したHTTPメールが利用しやすい。SSLは,送信者の電子証明書を用いなくても,Webのメールサーバの電子証明書だけを用いて利用できる。これによって,通信される情報の機密性を確保している。SSLで保護したHTTPメールでは,送信者のパスワードを確認することによって,送信者とWebのメールサーバとの間において,メール送信者の認証ができる。
 一方,SMTPメールは,S/MIMEが利用しやすい。S/MIMEをSMTPメールに適用した場合,メール受信者は,メール送信者を確認できる。また,HTTPメールに比べて,メール送信者と受信者の間で,転送データの漏えい防止や完全性の確保などが容易に行える。
 以上の検討結果から,HTTPメールの採用は見送り,SMTPメールに対するS/MIMEの適用を検討することにした。
 
〔S/MIMEの検討〕
 メールサーバ間の転送でもSMTPが使用されるので,SMTPの安全性を確保する必要がある。SMTPは,ASCIIで表現されたテキストデータの転送しかできない。転送されるSMTPメールのフォーマットは,RFC2822に従う。図2に,S/MIMEを使用したSMTPメールのフォーマットの概要を示す。
 


 S/MIMEは,メールの送信者と受信者の間で公開鍵基盤(以下,PKIという)を利用して,送信者が付与した[  a  ]を受信者が検証することによって,メールとして転送されるデータの完全性の確保と[  b  ]の確認ができる。さらに,PKIは,S/MIMEにおいてメールとして転送されるデータの機密性を確保するためにも利用される。ここで用いられる非対称暗号(RSA暗号)では,秘密鍵と公開鍵が1対1に対応している。ある秘密鍵を使用して[  c  ]した情報は,[  d  ]と対を成す[  e  ]で復号できる。また,[  e  ]を使用して暗号化した場合,[  d  ]で復号できる。一般に,非対称暗号は,暗号化するデータ量が多くなると,対称暗号に比べて処理時間が長くなる。効率性の観点から,S/MIMEでは,メールの本文を対称暗号で暗号化し,この暗号化に使用した共通鍵を,非対称暗号で暗号化する。この仕組みによって,送信者が指定した受信者だけがメールを読むことができるので,データ転送の安全性が高まる。
 S/MIMEを使用した場合,添付されるバイナリデータは,ASCIIで表現される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に,ファイルをダウンロードする操作手順の概要を示す。  



 開発担当者が,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プログラム(抜粋)を示す。
 
#!/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(/=/, $arq2);
# ダウンロードキーを$d_key に格納
$parts_dir = check_d_key( $d_key );
# check_d_key は,ダウンロードキーを検証し,
# 正当性を確認できたら,部品メーカに対応したディレクトリ名を返却
# 正当性を確認できなかったら,空白文字列を返却
if($parts_dir){
return_cep_file( $parts_dir.'/'.$fname.'.cep' );
}else{
# エラー処理は省略
}
図4 CGIプログラム(抜粋)


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君は,〔1〕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君が,本文中の下線〔1〕で示したS氏の指摘を受けて,図4で示したCGIプログラムに追加すべき機能を,55字以内で述べよ。
 

 
設問4 Webサーバを用いたファイルのダウンロードについて,(1)〜(3)に答えよ。
(1)  データ転送の安全性を確保するためにSSLを利用した理由を,Webサーバでのファイルの保存状態に着目して,30字以内で述べよ。
(2)  Webサーバでの操作において,ダウンロードキーを利用した理由を,部品メーカにおける開発担当者の選任方法に着目して,30字以内で述べよ。
(3)  部品メーカの開発担当者が,Webサーバにアクセスしたとき,最初に確認すべきことを,20字以内で述べよ。また,その目的を,50字以内で述べよ。
 



【午前】情報セキュリティアドミニストレータ
【午後】情報セキュリティアドミニストレータ

【午前】テクニカルエンジニア情報セキュリティ
【午後】テクニカルエンジニア情報セキュリティ

【午前】情報セキュリティプロフェッショナル
【午後】情報セキュリティプロフェッショナル





スポンサードリンク






スポンサードリンク





スポンサードリンク
免責事項 / サイトマップ / リンク /  問い合わせ
Copyright (C) 2008  SEのための情報セキュリティ対策  All rights reserved