暗号技術について知っておくべき4つのこと

セキュリティの根幹は暗号技術にあると言っても過言ではありません。暗号技術は、機密情報の保護からデジタル署名に至るまで、幅広く利用されています。最近では犯罪者やテロリストによる暗号技術の利用が治安維持活動の妨げになるとして、暗号の規制を呼びかける声もありますが、暗号技術はセキュリティの根幹をなす技術だけに、暗号技術そのものの規制はあまり現実的ではありません。何よりも、暗号技術は悪ではありません。ただし、国によっては兵器として規制の対象になるほど強力なツールであることは事実です。今回は、一般の人が暗号について知っておくべき事柄について解説します。

1)アルゴリズムの信頼性

「隠すことによるセキュリティ」は、暗号技術においては逆効果となります。暗号技術に詳しくない人は暗号化の仕組み(アルゴリズム)が公開されていない暗号方式のほうが安全だと考える傾向にあります。しかし、これは間違いです。真に強力な暗号方式は、その仕組みが完全に公開されており、日々世界中の暗号学者やハッカーたちの挑戦を受けている(それでいて破られない)ものです。それは、得体の知れない「独自の非公開アルゴリズム」よりもはるかに安全です。もしあなたが暗号化ソフトなどを利用する機会があるなら、独自のアルゴリズムを採用しているものは避け、AES(Advanced Encryption Standard)など安全性が広く確認されているアルゴリズムを採用しているものを選びましょう。

2)暗号鍵の品質

強力なアルゴリズムを使っていても、暗号鍵が脆弱では意味がありません。AESでは通常128ビットまたは256ビットの長さの暗号鍵が用いられ、これは十分な安全性を備えています。ただし、暗号化ソフトなどでは、パスフレーズをベースに暗号鍵を生成しますので、パスフレーズが他人に推測されないものである必要があります。また、ウエブサイトなどの認証に使うパスワードと違って、暗号鍵は頻繁に変更するべきではありません。頻繁に変更すると、差分データを解析することで、かえって暗号解読を容易にしてしまう恐れがあるためです。そのため、初めから強力な暗号鍵用い、以後暗号鍵を安全に管理することが大切です。

3)平文データの管理

安全なアルゴリズムと強力な暗号鍵を用いて適切に暗号化されたデータは、たとえ政府機関のような高度な技術を有する組織であっても暗号鍵を入手せずに復号することは極めて困難です。そのため、暗号化されたデータを攻撃する場合には、無理に暗号解読を試みるよりも暗号化する前後のデータを狙う方が効果的な場合があります。機密情報を扱う場合には、暗号化前の平文のデータや、復号済みのデータの取り扱いに注意する必要があります。これらのデータがマルウエアに暴露されたり、ハッカーによる攻撃を受けて流出したりすれば、どれほど強力に暗号化されていても意味がありません。そのため、暗号処理(暗号化および復号)は必ず安全な環境で行う必要があります。

4)鍵配送問題と公開鍵暗号

AESも含め暗号化と復号に同一の鍵を用いる暗号方式を共通鍵暗号と言います。共通鍵暗号は処理の効率が高いのが特徴ですが、他人と機密情報をやり取りするには事前に暗号鍵を伝えておく必要があります(鍵配送問題)。しかし、暗号鍵を安全に伝送できるなら、そもそも暗号化してデータを送る必要がないため、ここにある種のパラドクスが生じます。これを解決するのが、公開鍵暗号であり、暗号化と復号に別々の鍵を用いる方式です。公開鍵暗号はSSL、PGP、デジタル署名などに利用されています。公開鍵暗号技術に関する知識は、情報セキリュティ関係の資格試験などでは必ずと言ってよいほどよく出題されます。

まとめ

いかがでしたか?適切に用いれば、暗号技術は非常に強力なセキュリティを提供してくれるはずです。一方で、暗号技術はその強力さゆえに社会にとっては諸刃の剣ともなりえます。いずれにしても、暗号技術を活用する以上は、それについて理解を深め、適切に用いることが大切だと言えます。