応用情報技術者試験の令和5年度 秋季試験 午後 問1:セキュリティの解説を行ってきます。
出題テーマ:PPAP
出題テーマは『PPAP・暗号』です。
PPAPはピコ太郎のペンパイナッポーアッポーペンではなく、セキュリティにおいては『P:Password付きのファイルを送ります』、『P:Passwordを送ります』、『A:暗号化』、『P:Protocol』の頭文字をとったファイルの送付方法のことを意味します。
パスワード付きで暗号化したファイルを添付したメールを送信し、その後にメールでパスワードを送信するというファイルの送付方法です。
学生の方ですとあまりイメージが付きにくいかもしれませんが、社会人の方であればイメージしやすいかと思いますし、一度は行ったことがある方が多いと思います。
ファイルとパスワードを分けて送信しているので、一見セキュリティが高そうに見えますが、近年はセキュリティ的に脆弱・問題があるとして禁止する企業も増えてきています。
どういった脆弱性や問題があるかとしては、『誤送信』、『盗聴』、『セキュリティチェックができない』、『パスワードの脆弱性』が挙げられます。
誤送信
ファイルを添付したメールに返信するかたちでパスワードを送付するかと思いますが、最初のメールの宛先が間違っていたら、パスワードも間違った宛先に送ってしまいます。
とりあえず返信してパスワードを送ろうとなるので、返信する際の宛先のチェックはどうしても緩くなってしまうかと思います。
盗聴
今回の問題でも問われていますが、ファイルもパスワードもメールで送信されますので、メールが盗聴されていたら、攻撃者はファイルもパスワードも入手することができますので、ファイルを解凍して閲覧することができてしまいます。
セキュリティチェックができない
ファイルがダウンロードされる際に、そのファイルにマルウェアが仕込まれていないか・安全かどうかをチェックするセキュリティ機器やソフトウェアがあります。
しかし、これらはパスワード付きで暗号化されているファイルに対してはチェックすることができません。
パスワードの脆弱性
パスワード付きで暗号化したファイルですが、パスワードの試行制限がないためブルートフォース攻撃を行うことで解凍できてしまいます。
なんならZIPパスワードを解析ツールがごろごろあります。。
ここからは余談ですが、PPAPではなくどのようにファイルを送付するべきかというと、ファイル送信サービスを使用するのがPPAPの代替策として一般的かと思います。
送信者はファイル送信サービスにファイルをアップロードします。
アップロードされたらURLが発行されます。
受信者はメールなどでURLを受け取り、URLにアクセスしてファイルをダウンロードするという流れです。
URL自体に有効期限があったり(ワンタイムURL)、ダウンロードする際にはワンタイムパスワードが発行され、パスワードの有効期限や試行回数にも制限があるのでPPAPよりは安全だと考えられます。
サービスですので、細かい仕様は各社異なり、送付できる最大容量の制限があったり、料金など比較すべきポイントはいくつかありますので、選定の際は要確認ください。
続いては暗号化です。
暗号化には大きく『共通鍵暗号』、『公開鍵暗号』があります。
そして、『共通鍵』、『公開鍵』、『秘密鍵』と鍵と付く用語が登場します。
更には『電子(デジタルの)署名』や『電子(デジタル)証明書』などの用語が登場してきます。
参考書などで一読しても分かりづらい用語達ですが、今回の問題ではすべて登場してきますので、問題形式・アウトプット形式で学ぶできるので良い問題だと思います。
設問1 (1)
下線①として、『本文メールの宛先を確認せずに、本文メールと同じ宛先に対してPWメールを送信している従業員が多い。』とあります。
本文の宛先を間違えていた場合、その相手にPWメールが送信されてしまいますので、間違えて送られた相手はファイルを閲覧できる状況になってしまいます。
なので、『本文メールの宛先を間違えていた場合に、その相手にPWメールも送信されてしまうため(40文字)』と考えることができます。
設問1 (2)
下線②として、『L主任は(2)の問題点の改善策を考えた。』とあります。
(2)の問題としては、『ほとんどの従業員が、PWメールを本文メールと同じメールシステムを使用して送信している。したがって、本文メールが通信経路上で何らかの手段によって盗聴された場合、PWメールも盗聴されるおそれがある。』とあります。
本文(ファイル)もPW(パスワード)も同じメールで送付して、メールが盗聴されるのであれば両方盗聴の被害にあってしまいます。
図1を確認しますと、『(ⅲ)DPW通知メール』を送信者が受信して、『(ⅳ)DPWを記載したメール』で受信者に送信を行っています。
本文メールとPWメールが同じメールという手段で送信されているのが問題ですので、それぞれを異なる手段で送信すればよいと考えることができます。
メール以外のコミュニケーションツールとしては、電話やSMS、チャットなどが挙げられるかと思います。
ファイルはメールで、DPWはメール以外で送信することで、メールを盗聴されてもDPWは盗聴されないため、ファイルを閲覧されることは防ぐことができます。
ということで解答例は『DPWを現在使用しているメール以外の手段で伝えること(26文字)』と考えることができます。
設問2 (1)
下線③として、『メール内容の改ざん』とあります。
値:aaaのハッシュ値は47bce5c74f589f4867dbd57e9ca9f808(MD5)というように規則性のない固定長の値です。
値:aabという1文字違いの場合はハッシュ値はe62595ee98b585153dac87ce1ab69c3c(MD5)というように、同じデータが1文字でも異なると全く違う値となります。
表1のそれぞれをおおまかにまとめると、①送信側でハッシュ値の作成、②ハッシュ値の暗号化(電子署名)、③送信、④ハッシュ値の復号、⑤受信側でハッシュ値の作成、⑥ハッシュ値の比較となります。
送信側から送られてきたハッシュ値(暗号化されて送られてきたものを復号化したもの)と受信側で生成したハッシュ値を比較し、ハッシュ値が一致するのであれば同じ値であれば、同じデータであることの証明、つまりはメール内容が改ざんされていないことの証明となります。
ということで解答はハッシュ値の比較を行っている『1.6』となります。
設問2 (2)
知識の問題となります。
【a】について考えていきます。
『ハッシュ値xを【a】で暗号化して電子署名を行う。』とあります。
電子署名の暗号化に用いるものは『カ:送信者の秘密鍵』となります。
【b】について考えていきます。
『電子署名を【b】で複合してハッシュ値xを取り出す。』とあります。
電子署名の複合化に用いるものは『オ:送信者の公開鍵』となります。
【c】について考えていきます。
『【c】で共通鍵を暗号化する。』とあります。
暗号化する際に用いるものは『ウ:受信者の公開鍵』です。
【d】について考えていきます。
『【d】で共通鍵を複合する。』とあります。
復号化する際に用いるものは『エ:受信者の秘密鍵』です。
鍵の話はややこしく感じてしまいますが、応用情報のレベルであれば、この問題における共通鍵の暗号化をする場合やHTTPSなどにおける場合は、『受信者の公開鍵で暗号化し、受信者の秘密鍵で復号化』をすると覚えておけば十分です。
電子署名の場合は逆で、『送信者の秘密鍵で暗号化して、送信者の公開鍵で復号化』するとざっくり覚えておけば十分です。
送信者の鍵なのか受信者の鍵なのかが混乱ポイントではありますが、電子署名における『送信者の秘密鍵』という点がポイントです。
秘密鍵は本人しかもっていないはずのもので、秘密鍵で暗号することができるということは本人であるということの証明となります。
設問2 (3)
知識の問題となります。
下線④として、『共通鍵でメール内容を暗号化する。』とあります。
暗号化にはおおきく『共通鍵暗号』と『公開鍵暗号』があります。
この問題を解くにあたってはこれらのメリット・デメリットを理解しておく必要があります。
共通鍵暗号
共通鍵暗号はお互いに共通の鍵(共通鍵)を使用して、暗号化・復号化を行います。
メリットは演算(計算)がシンプルなので処理が速いことが挙げられます。
デメリットは、送信者と受信者ごとに鍵が必要になること(鍵の個数)、鍵の交換方法です。
AさんとBさんがやり取りしたい場合は鍵が1個で済みます。
ここにCさんが加わった場合、A⇔B、A⇔C、B⇔Cと鍵が3個必要となります。
3人であればまだいいのですが、4人では6個、5人では10個、6人では15個..と人数が増えるたびにどんどん増えていきます。
式に当てはめるのであれば、n人でやりとりを行う際には『n×(n-1)÷2』個の鍵が必要となります。
鍵の交換方法にも問題があり、どうやって鍵を相手に渡すかが問題となっていきます。
直接会って手渡しできればいいのですが、メール送信の際など離れている相手に対してインターネット経由で送る場合には盗聴の可能性があります。
公開鍵暗号
公開鍵暗号では、公開鍵と秘密鍵という2つの鍵を用いて暗号化・復号化を行います。
公開鍵暗号のメリットは共通鍵暗号の逆で、鍵は1組(2つ)でよいこと、鍵の交換が容易ということが挙げられます。
AさんがBさんに対して何かを送信する際、Aさん(送信者)はBさん(受信者)の公開鍵で暗号化して、Bさん(受信者)はBさん(受信者)の秘密鍵で復号化を行います。
BさんがAさんに送信する際はこの逆で、Bさんの公開鍵と秘密鍵を用いますので、2人でやりとりをする場合は、Aさんの公開鍵と秘密鍵、Bさんの公開鍵と秘密鍵の4個(2組)の鍵が必要となります。
ここにCさんが加わった場合、Cさんの公開鍵と秘密鍵の2個が追加され、6個(3組)の鍵が必要となります。
式に当てはめると、n人でやりとりを行う際には『n×2(公開鍵と秘密鍵)』の鍵が必要となります。
例えば100人であれば、共通鍵暗号では4950個の鍵が必要となりますが、公開鍵であれば200個の鍵で済みます。
鍵の交換方法についても、公開してもいい(共通鍵と違って秘密にしなくていい)公開鍵を公開するだけで済みます。
デメリットは演算(計算)が複雑なので処理が遅いことが挙げられます。
『共通鍵暗号』と『公開鍵暗号』にはそれぞれメリット・デメリットがあるわけですが、そこで登場するのがハイブリッド暗号方式です。
流れとしては表2記載の通りとなりますが、データの暗号化には共通鍵暗号を用いて、鍵の交換に公開鍵暗号を用いるという方式です。
データは場合によっては数MByteや数GByteにおよぶことがありますので、データ自体の暗号化には処理の早い共通鍵暗号が適しています。
共通鍵暗号では鍵の交換が問題でしたが、公開してよい公開鍵を用いる公開鍵暗号を用いることで鍵の交換問題を解決しています。
ということで解答例は『共通鍵暗号の方が処理速度が速いから(17文字)』となります。
設問3
下線⑤として、『受信したメールに添付されている電子証明書の正当性について検討する。』とあります。
電子証明書とは認証局CAの電子署名のことです。
公開鍵は公開してよい鍵とは言え、正しい相手のものなのか、改ざんされていないかやすり替えられていないかが問題になります。
そこで認証局(CA)に公開鍵を申請し、認証局の秘密鍵で電子署名された電子証明書を発行してもらいます。
先ほど設問2 (2)で電子署名について触れましたが、秘密鍵で暗号化されたものを公開鍵で復号化して検証を行います。
認証局(CA)の秘密鍵で電子署名されたものは、認証局(CA)の公開鍵で復号化して正しいものか検証を行いますので、解答は『ア:CAの公開鍵』となります。
公式解答例との比較・予想配点
出題テーマは『PPAP・暗号』でした。
暗号周りは鍵だの署名や証明書といった似たようなややこしい言葉が多いです。
解く際にはどうしても知識が必要となる場合が多いですのですが、応用情報でも今回の問題のように出題されますし、次に情報処理安全確保支援士やネットワークスペシャリストの取得を目指す方であれば確実に抑えてほしい内容でした。
難易度としては『普通~やや難しい』だったかと思います。
配点 |
|||
設問1 (1) | 本文メールの宛先を間違えていた場合に、その相手にPWメールも送信されてしまうため(40文字) | 本文メールを誤送信すると、DPWも誤送信した相手に届いてしまう。 | 4点 |
設問1 (2) | DPWを現在使用しているメール以外の手段で伝えること(26文字) | DPWを、電話や携帯メールなど異なった手段で伝える。 | 4点 |
設問2 (1) | 1.6 | 1.6 | 2点 |
設問2 (2) | a:カ b:オ c:ウ d:エ |
a:カ b:オ c:ウ d:エ |
各1点 |
設問2 (3) | 共通鍵暗号の方が処理速度が速いから(17文字) | 暗号化と復号の処理速度が速いから | 4点 |
設問3 | ア | ア | 2点 |
引用元
問題および解答例に関しては、独立行政法人 情報処理推進機構(IPA)より引用しています。
YouTube解説動画
公開まで少々お待ち下さい。
応用情報技術者試験解説
その他の年度、問題は以下のページにてまとめています。