情報処理安全確保支援士(情報セキュリティスペシャリスト) - SE娘の剣 -

情報処理安全確保支援士(情報セキュリティスペシャリスト)試験に合格するためのサイトです。
過去問を多数引用しながら、基礎知識をしっかり学んでもらうように作ってあります。
また、情報処理安全確保支援士(情報セキュリティスペシャリスト)を楽しく学べるように工夫したいと思います。

3.暗号

プロ野球ダイジェスト(プロ野球ニース)の特徴を言え
 ※ハッシュ関数を意識して
ダイジェストの放送時間は決まっている
試合がどんなに長くても、短くても、ダイジェストの放送時間は(だいたい)決まっている。
放送時間の枠があるので、たとえば、1試合あたり1分とか2分とか。

同じ試合のダイジェストは同じ
プロ野球ファンの人は、好みの球団が勝つと、プロ野球ニースをハシゴする人がいる。しかし、その内容は各局でほとんど同じだ。同じ試合からできるダイジェスト版は(ほぼ)同じである。

ダイジェストから本当の試合は見れない
ダイジェストで放送されなかったシーンなどを知りたい人もいるだろう。でも、それは絶対に不可能だ。本当の試合からダイジェスト版は作れるが、ダイジェスト版から本当の試合を作ることはできない。
ハッシュ関数_情報セキュリティスペシャリスト試験
ハッシュ関数は、ハッシュ値(メッセージダイジェスト)を作成するもので、プロ野球のダイジェスト版が短時間での内容であるのと同様に、メッセージダイジェストは文書の短編版です。

特徴は以下だ。上記のプロ野球のダイジェスト版と特徴が似ているのが分かる。
 どんな長さのデータも必ず固定長になる
 同じメッセージからは同じハッシュ値が出力される
 ハッシュ値から元のメッセージを求めることはほぼ不可能
この3つ目の特徴から、暗号としての機能を持つ。

過去問(H24春AP午前)を見ましょう。
問38 ディジタル署名などに用いるハッシュ関数の特徴はどれか。
ア 同じメッセージダイジェストを出力する異なる二つのメッセージが,容易に求められる。
イ メッセージが異なっていても,メッセージダイジェストは同じである。
ウ メッセージダイジェストからメッセージを復元することは困難である。
エ メッセージダイジェストの長さはメッセージの長さによって異なる。
先ほどの特徴を理解していれば、簡単だったことでしょう。正解はウです。アは、メッセージダイジェストからメッセージを求めるのはほぼ不可能です。イはメッセージが異なれば、メッセージダイジェストも異なります。エは、メッセージダイジェストの長さは、常に同じです。

もう一問、以下の問題を解こう。
セキュアハッシュ関数SHA-256を用いて、32ビット、256ビット、2048ビットの三つの長さのメッセージからハッシュ値を求めたとき、それぞれのメッセージのハッシュ値の長さはどれか(H22SC春午前Ⅱ問1)
答えは当然ながら全て256ビットである。

過去問を参考に、シノニムについて整理したい。
ハッシュ関数Hash(key)は,  keyを基にデータの格納位置を算出して,戻り値として戻す。格納位置は1~Nの整数となる。関数Hash(key)が,異なるkeyから同じ格納位置を算出することを,シノニムの発生という。(H23春AP午後)
シノニムは、衝突(collision)という言葉でも使われる。Synonymとは「同意語」という意味であり、ハッシュ関数の結果が同じことからこう呼ばれるのだろう。
次の問題を見てみよう。
衝突(collision)とはどのような現象か。“キー”と“ハッシュ関数”という単語を用いて,35宇以内で述べよ。(H21春AP午後問2設問1より)
試験センターの解答例は「違うキーの値でも,ハッシュ関数を適用した結果が同じ値になること」

違う問題を見てみよう。
問2 4,999を除数とする剰余を用いるハッシュ関数で,キー値が12,500のレコードに対するシノニムレコードのキー値はどれか。
ア 2
イ 1,250
ウ 2,501
エ 17,499 (H17秋共通午前)
シノニムレコードなので、剰余が同じものを探せばよい。
12500 ÷ 4999 = 2 あまり2502
2 ÷ 4999 = 0 あまり2
1250 ÷ 4999 = 0 あまり1250
2501 ÷ 4999 = 0 あまり2501
17499 ÷ 4999 = 3 あまり2502
よってエ

パスワードを暗号化するために利用されているハッシュ関数。ハッシュ値から元のパスワードデータを復元することができないというのが、ハッシュ関数の特徴である。
2
しかし、パスワードなんてしょせん10文字以内。
今のコンピュータ性能であれば、できるのでは?
この疑問に関して、ズバリ過去問(H20SV午後Ⅰ問4)で解説されている。
M君 :しかし,部門サーバのOSでは,パスワードはハッシュ化されています。ハッシュ値からパスワードを復元することは,困難なのではないでしょうか。
H主任:パスワード候補のハッシュ値をあらかじめ計算し蓄えておいたテーブルを利用して,ハッシュ値からパスワードを特定する方法もある。例えば,小文字のアルファベットと数字で作成される7文字のパスワードの候補数は,[ d ]で表されるから,約780億通りになる。1秒間にパスワードを1万回試すことができるとすると,すべてのパスワードを試すには,約91日必要だ。ところが,テーブルがソート済みで2分探索法を利用できるとすると,テーブルのデータ数をNとして,最大比較回数は[ e ]を超えない整数値になる。1回の比較に100ミリ秒かかるとしても,最大3.7秒で探索できることになる。
M君 :なるほど。ただし,約780億通りだとすると,テーブルのサイズはかなり大きくなりそうですね。
H主任:そのとおりだ。パスワードとハッシュ値の一組当たりのサイズを30バイトとすると,全体で約2.4 T (W)バイトのテーブルになる。しかし,レインボーテーブルというテーブルを用いた攻撃では,ハッジュ値の計算を併用することによって,テーブルのサイズを抑えつつ,数秒から数分でほとんどのパスワードを解読できたという報告がある。
M君 :それは危険ですね。では,どうしたらいいのでしょうか。
H主任:パスワードの情報だけでなく,ソルトという情報を付加してハッシュ値を計算することによって,ハッシュ値からパスワードを特定しにくくする方法を採用したOSを導入するのがいいだろう。

設問4 サーバに対する不正ログインについて, (1)~(3)に答えよ。
(1)本文中の[ d ],[ e ]に入れる適切な数式を解答群の中から選び,記号で答えよ。
解答群
ア 736 イ 36^ ウ 36^7 工 36^7
オ log2N カ log10N キ N log2N ク Nlog10N
(3)ソルトを使用するとハッジュ値からパスワードを特定しにくくなるのはなぜか。その理由を, 40字以内で具体的に述べよ。
この、問題(3)を考えましょう。
難しい問題ですが、順を追って説明します。

パスワードの保存方法
ユーザ認証用のパスワードは、認証サーバにて、そのままの平文で保存されているわけではない。ハッシュ値によって暗号化されている。
SE娘の剣)ソルトその1
929c854c

最近は不正アクセスによって、OCNのIDパスワードが最大400万件流出の可能性というニュースを聞きました。でも、確かにこのようにハッシュ化されていれば、元のパスワードは分からないですね。
そうなんだ。でも、最近は攻撃者もあの手この手で攻めてくる。
以下のように、パスワードとハッシュ値をデータベース化しておくのだ(レインボーテーブル)。そして、不正入手したパスワードのハッシュ値から元のパスワードを見つければよい。
SE娘の剣)ソルトその2
そこで、ソルトの登場だ。パスワードをハッシュするときに、ランダムな値(ソルト)を付加する。これにより、同じパスワードでも、ソルトが違うので、ハッシュ値も違う。攻撃者はレインボーテーブルを用意できなくなるのだ。
SE娘の剣)ソルトその3
解答
・同じパスワードでもソルトが異なるとハッシュ値が変わるから
・攻撃者がソルトの値ごとにテーブルを用意する必要があるから

ちなみに、ソルト(salt)とは、塩コショーの「塩」で、ハッシュのセキュリティを強化するために、塩を振りかけるという意味である。

「計算能力の向上などによって,鍵の推定が可能となり,暗号の安全性が低下すること」をなんというか(平成23年度春SC午前2問4)
この問題の正解は、「暗号アルゴリズムの危殆化」。
「危殆」という言葉は、「あぶない」という意味である。それに「化」がつくことで、「本来は安全であったが、あぶなくなる」と考えればいいだろう。意味は問題にある通りで、本来は安全であった暗号が技術進歩などによって安全性が低下することである。

暗号方式には寿命がある。
その点について、過去問で詳しく解説されているので紹介する。

----------ここから(H21年SC午後Ⅱ問1)
D氏:それは、米国国立標準技術研究所(NIST)が定めた、米国政府機関のコンピュータシステムの調達基準のことです。表に示す暗号アルゴリズムを利用したシステムなどの調達は2010年までしか認められていません。
表 米国政府調達基準で現在調達可能で2011年以降調達できなくなる暗号アルゴリズム
分類名称
共通鍵暗号2-key Triple DES
公開鍵暗号鍵長1024ビットのRSA
鍵長160ビットのECDSA
ハッシュ関数SHA-1
D氏:この理由の一つは、コンピュータの性能が上がることによって、数年後には、現在広く利用されている、鍵長1024ビットのRSA公開鍵から秘密鍵が推測される可能性があり、電子署名の対象のデータの改ざんやなりすましが行われる可能性があることです。これに対しては、鍵長を更に長くすることが求められます。もう一つは、ハッシュ関数として現在広く利用されてるSHA-1には、ある条件下でハッシュ値の衝突を意図的に起こすことができる、という脆弱性が発見されていることです。この脆弱性を攻撃されると、電子署名の信頼性が損なわれます。
X氏:なるほど。表の暗号アルゴリズムの問題には今から対策を講じておく必要があるわけですね。
D氏:はい。日本でも政府機関に対して、内閣官房情報セキュリティセンターが2013年までに対応するように求めています。
X課長:これらは政府機関の基準だが、我々のような民間企業でも、暗号アルゴリズムの問題を考慮してシステムを構築したほうが良さそうですね。

参考
SHA-1及びRSA1024に関しては、安全性が確保されないという観点から、政府機関でもより安全なSHA-256などを使う用な指針が出されています。
「政府機関の情報システムにおいて使用されている暗号アルゴリズムSHA-1及びRSA1024に係る移行指針」
https://www.nisc.go.jp/active/general/pdf/crypto_pl.pdf

「画像などのディジタルコンテンツが、不正にコピーされて転売されたものであるかを判別できる対策(H23春FE午前)」は何か。
500円玉の秘密をしっていますか?
斜めから500円玉の0の文字を見ると、「500円」という文字が現れるのです。
情報セキュリティスペシャリスト試験_500円の透かし
これは偽造を防ぐための透かしです。透かしはお札にだけあるのではなく、硬貨にも存在するのです。
さて、この問題ですが、ステガノグラフィーの技術を利用したものです。
正解は「電子透かし」であり、最近では、フリーソフトなどでも電子透かしを入れることができます。

また、「メッセージを画像データや音声データなどに埋め込み,メッセージの存在を隠す技術(H24年春AP午前問44」のことを、「ステガノグラフィ」と言います。別の過去問(H29秋SG午前問17)ではステガノグラフィーに関して「画像などのデータの中に、秘密にしたい情報を他者に気付かれることなく埋め込む」とあります。
情報セキュリティスペシャリスト試験を目指す女性SE 
「電子透かし」と「ステガノグラフィー」は同じものですか?
いえ、別物です。ステガノグラフィーは、暗号技術と考えてください。第三者に悟られないように秘匿文書を伝えるのです。「暗号解読(新潮文庫)」ではステガノグラフィーに関して、次のように述べられています。「この言葉は、ギリシャ語で「被う」を意味する“ステガノス”と、「書く」を意味する“グラペイン”に由来する。ヘロドトス以来二千年にわたり、世界各地でさまざまなタイプのステガノグラフィーが用いられてきた。古代中国では、薄絹に文字を書いて小さく丸め、それを蝋で被ったものを伝令が飲み込んで運んだ。」ということです。

方法は違えど、古くからあったんですね。

情報セキュリティスペシャリスト試験を目指す女性SE 
公開鍵暗号方式という優れた方式があるなら、もう共通鍵暗号方式は不要では?
下のようなイメージです。
公開鍵暗号であれば、鍵の数は少ないし、本人のみが見ることができます。
メールの暗号_情報セキュリティスペシャリスト試験
鍵の管理が大変な共通かぎ暗号方式のデメリットを解消する公開鍵暗号方式であるが、インターネットの世界ではとてもよく使われている。
しかし、デメリットとして共通鍵と比べて数百倍の時間がかかるといわれている。
そこで、両者の長所を組み合わせるハイブリッド方式が使われる。
暗号化する部分では、共通鍵暗号方式がほとんど利用されているし、今後も無くならないだろう。

たとえば、メールを暗号化する仕組みであるS/MIMEもそうである。詳しくは以下を確認ください。
http://sc.seeeko.com/archives/3809419.html

公開鍵暗号方式は、共通鍵暗号方式に比べ、利用する鍵の数が少なくなります。たとえば、以下ののように、AからFの6人が相互に通信する場合を考えます。通信のペアは全部で15組ありますから、共通鍵暗号方式の場合は、15個の鍵が必要です。一方、公開鍵暗号方式の場合は、6人がそれぞれ持つ2つの鍵(公開鍵と秘密鍵)だけを使いますので、鍵の数は12個だけです。
鍵管理
この数は、通信相手が多くなると、共通鍵の場合はさらに増えます。たとえば、100人と通信する場合、必要な鍵の数は4950個で、公開鍵暗号方式の場合は、わずか200個です。いので、鍵の受け渡しなどの鍵管理が行いやすくなります。

鍵の数の計算式は以下です。
①共通鍵暗号方式 n(n-1)/2
 全部でn人いますから,それぞれが(n-1)人と通信をします。この組み合わせの数は,n(n-1)/2です。組み合わせごとに鍵が必要ですから,全部でn(n-1)/2になります。
②公開鍵暗号方式 2n
 各人が秘密鍵と共通鍵の2つずつの鍵を持ちます。全部でn人ですから,鍵の数は合計2nになります。

公開かぎ暗号方式を用い、送受信メッセージを暗号化して盗聴されないようにしたい。送信時にメッセージの暗号化に使用するかぎはどれか。(平成17年度NW午前問47)

まあ、よく考えれば分かる。
選択肢は、
①送信者の公開鍵
②送信者の秘密鍵
③受信者の公開鍵
④受信者の秘密鍵
ちなみに、今回の正解は送信先の公開かぎ(受信者の公開かぎ)

DH(Diffie-Hellman)法は、すごい方式である。
具体的に言うと、私と成子ちゃんが、皆がいる前で秘密の会話をすることができる。
以前は絶対に不可能と言われていたらしいが、これを実現したのがディフィーさんとヘルマンさん。
この方式の仕組みを知ったとき、私は感動してしまった。
すごいと思わないかい?
2

今のインターットの世界なら当たり前でしょ。
事前に鍵を共有するなり、公開鍵証明書を準備すればいいのだから。



いや、事前に鍵や証明書を準備することなく、いきなり会話できる。しかも秘密の会話だ。
以下は過去問(H19SV午後2問2)であるが、IPsecでもDHを使っている。その仕組みが解説されている。
dh
























(中略)
次に,処理手順2では,暗号化で用いる共有鍵が生成されます。鍵交換パラメタは,鍵共有アルゴリズムである[ e ]アルゴリズムに使用されます。鍵交換パラメタPは,ノートPCがランダムに生成した一時鍵情報pから計算された値で,鍵交換パラメタQは,VPN装置がランダムに生成した一時鍵情報qから計算された値です。鍵交換パラメタP,Qからは,一時鍵情報p,qは計算できません。鍵交換パラメタQと一時鍵情報pを組み合わせて[ e ]アルゴリズムで計算した値は,鍵交換パラメタPと一時鍵情報qを組み合わせて[ e ]アルゴリズムで計算した値と一致します。この値を[ e ]アルゴリズムの出力値と呼びます。この出力値を計算すると,ノートPCが保持していた一時鍵情報pや,VPN装置が保持していた一時鍵情報qは,直ちに削除されます。一方,処理手順2で交換した乱数と事前共有鍵を利用して,マスク鍵が生成されます。また,マスク鍵と[ e ]アルゴリズムの出力値などを使用して,セッション鍵が計算されます。 (H19SV午後2問2)

設問2
(1)本文中の[ e ]に入れる適切な字句を答えよ。
(3)攻撃者は,フェーズ1終了後に事前共有鍵と送受信されたすべてのデータを入手できたとしても,セッション鍵を計算できない。その理由を35字以内で述べよ。
この、空欄[ e ]に入るのがDHだ。そして、それが有効に機能している理由が問われている。
正解は以下
(1) DH 又は Diffie-Hellman
(3) 一時鍵情報pや一時鍵情報qを攻撃者が入手できないから

別の過去問(H17年秋FE午後問3)では、DHに関する詳しい仕組みがある。
問3 暗号通信に関する次の記述を読んで,設問に答えよ。

 安全でない通信経路を利用する2者が,秘密の共通かぎを安全に共有する方式としてDiffie-Hellman法(以下,DH法という)が知られている。DH法で利用者Aと利用者Bが共通かぎ瓦を共有するまでの手順は,次のとおりである。
(1)素数pと,pよりも小さいある自然数αが公開されていて,利用者Aと利用者Bがともに知ることができる。
1





















ここで,    X mod y は整数xを整数yで割った余り(剰余)である。
DH法によるかぎ共有を利用して,図に示すように,安全でない通信経路を利用する2者間で機密情報を送信する仕組みを作る。まず,利用者Aと利用者BはDH法を使って,共通かぎ尺を共有する。次に,利用者Aは平文を共通かぎ尺を使って暗号化して送信する。利用者Bは受信した暗号文を共通かぎ尺を使って復号して,元の平文を得ることができる。

2
















設問 次の記述中の[   ]に入れる正しい答えを,解答群の中から選べ。
 DH法は,目的が[ a ]に限定されたアルゴリズムであるが,この方式の安全性はほかの公開かぎ暗号と同じく計算の一方向性に基づいている。すなわち,  DH法において,素数pの値が十分に大きい場合,秘密かぎから公開かぎを求めるのは容易であるが,公開かぎから秘密かぎを求めるのは非常に困難である。
反対に,素数pの値が小さい場合には,かぎの値が小さくなるので公開かぎから秘密かぎを短時間で求めることも可能であり,安全性に問題がある。例えば,利用者Aと利用者Bが使う通信経路上に通信を傍受している第三者Cがいて,公開されている素数pが7、aが5であることに加え,利用者Aが送った公開かぎYAが6,利用者Bが送った公開かぎYBが3であることを知ったとする。このとき,共通かぎKの値は,[ b ]であることが容易に分かる。
 また,DH法は,通信経路上の第三者Cが,利用者Aから送られる情報を,にせの情報にすりかえて利用者Bに送信する中間者攻撃に対して,弱いことが知られている。中間者攻撃を防ぐためには公開かぎに信頼できる第三者によるディジタル署名をつけるなどの対策が必要である。さらに,第三者Cが暗号文を傍受してそれを手掛かりとして共通かぎ尺を見つけるリスクもあるので,継続的な通信の安全性を高めるための対策として,共通かぎKの値が十分に大きいものを使うだけでなく,[ c ]も有効である。

a,  cに関する解答群
ア 共通かぎKの更新間隔の短縮
イ 公開かぎYA,YBの交換回数の削減
ウ 公開かぎの交換
工 秘密かぎによる情報の復号
オ 秘密の共通かぎの共有
力 より大きな値の素数pの使用

正解は以下だ
a オ
b 6
c ア

問23 公開鍵暗号方式の用法によって、送信者が間違いなく本人であることを受信者が確認できる鍵の組み合わせはどれか。
ア 送信者は自分の公開鍵で暗号化し、受信者は自分の秘密鍵で復号する。
イ 送信者は自分の秘密鍵で暗号化し、受信者は送信者の公開鍵で復号する。
ウ 送信者は受信者の公開鍵で暗号化し、受信者は自分の秘密鍵で復号する。
エ 送信者は受信者の秘密鍵で暗号化し、受信者は自分の公開鍵で復号する。
(平成18SU午前)
4d80b27a
こういう問題は、考えると頭がいたくなってきます。
きちんと考えればわかると思います。


正解はイ

スポンサードリンク

↑このページのトップヘ