結城浩さん著の「暗号技術入門 秘密の国のアリス」を読み終えました。以前から気になっていましたが、今回情報セキュリティスペシャリストを受験することを機に、手に取ってみました。
本書では、暗号技術に関連する基本道具と、それらの目的を丁寧に説明しています。機密性のための対照暗号、公開鍵暗号、正真性のための一方向性ハッシュ、加えて認証も出来るメッセージ認証コード、さらに否認防止も出来るデジタル署名、前述の各技術で利用する乱数を生成するための乱数生成器が挙げられています。
以下、自分が理解したことを備忘録代わりにまとめています。
対照暗号では鍵の受け渡しを安全にしないといけません。公開鍵暗号では誰に見られても良い鍵を相手に渡すことで、その問題を解決しています。その他に、Diffie-Hellman鍵交換などの方法もあります。
メッセージの改ざん検知は一方向性ハッシュを使います。ただ一方向性ハッシュだけでは、ハッシュ値も同時に改ざんされたら意味がありません。そこで送受信者の共有鍵を混ぜ込みます。こうして出来たものがメッセージ認証コードです。両者間における認証と、改ざん検知が出来ます。しかし、逆に言えば第3者に対してはメッセージの正当性を証明出来ません。つまり、相手による否認防止が出来ません。そこで共有鍵ではなく、第3者も確認できる公開鍵を利用します。これがデジタル署名です。
一方で、その公開鍵が信頼出来るのか、という問題も生じてきます。そこで公開鍵に信頼できる第3者のデジタル署名を施し、公開鍵証明書とします。今度はその第3者の信頼性を検証するために、別の第3者が同じようにデジタ ル署名をします。こうして証明書は階層的になり、最終的にルートCAに帰着します。ルートCAの信頼は技術的なものではなく、社会的なものになります。こうした仕組みを公開鍵基盤(PKI)と呼びます。
これらの暗号技術を組み合わせた実際の例として、PGPやSSL/TLSの概要が説明されています。
これまで情報処理技術者試験の勉強をしてきた中で、暗号技術に関することも色々勉強しました。しかし、個々の技術の関連性については、正確には理解していませんでした。このように、暗号技術について断片的な知識を有している方に、本書はぜひお薦めしたいです。元々内容はかなり分かりやすく書かれていますが、基礎知識があれば一層早く読み進めることが出来ます。これまでバラバラであった知識が、結合していく喜びを感じられます。