'sqr'atch-note

ちりはつもれど ちりぬるを

『暗号技術入門』を読み終えた

なんでこの本を読もうと思ったかと言うと、ふと気になってTLSって普段から使ってるけど、実際に仕組みといえばRSA暗号を使った公開鍵暗号しか知らないな?それに公開鍵で暗号化して、秘密鍵で復号化する、程度の認識しか無いなとふと思ったから。それで、TLS周りをGoogleで調べてたが、Diffie-Hellman共有鍵やらTLSハンドシェイクやら、要素がごちゃごちゃして、こりゃ要素を一個一個調べていって自分で体系化するのは大変そうだなと思い直し、じゃあ本を読もうと考えたときに手をとったのがこの『暗号技術入門』。

暗号技術入門 第3版

暗号技術入門 第3版

  • 作者:結城 浩
  • 発売日: 2015/08/26
  • メディア: 単行本

この本は、なるべく平易な表現を使って暗号技術に関する要素を説明してくれている。あまり数学の知識がなくてもーー公開鍵暗号って公開鍵と秘密鍵程度しか知らなくてもーー体系的に知識がつけられる。この本がありがたいのは、暗号となると厳密に理解するためには数学の知識が必須であるはずなのに、この本ではなるべくそういった知識を前提とせず表現を工夫して説明されているところ。やはり、数学ガールでそういった文章を書かれてこられてた筆者だからこそできることなのだと思う。

この本の目次は以下の通り。

はじめに 暗号の世界ひとめぐり
第一部 暗号
・歴史上の暗号 ―― 他人が読めない文章を作る
・対称暗号(共通鍵暗号) ―― 1つの鍵で暗号化し、同じ鍵で復号化する
・ブロック暗号のモード ―― ブロック暗号を正しく用いるために
公開鍵暗号 ―― 公開鍵で暗号化し、プライベート鍵で復号化する
・ハイブリッド暗号システム ―― 対称暗号でスピードアップし、公開鍵暗号でセッション鍵を守る
第二部 認証
・一方向ハッシュ関数 ―― メッセージの「指紋」をとる
・メッセージ認証コード ―― メッセージは正しく送られてきたか
・デジタル署名 ―― このメッセージを書いたのは誰か
・証明書 ―― 公開鍵へのデジタル署名
第三部 鍵・乱数・応用技術
・鍵 ―― 秘密のエッセンス
・乱数 ―― 予測不可能性の源
PGP ―― 暗号技術を組み合わせる職人芸
SSL/TLS ―― セキュアな通信のために
・暗号技術と現実社会 ―― 不完全なセキュリティの中で生きる私たち
付録:楕円曲線暗号
付録:暗号技術確認クイズ
付録:参考文献
(出典:暗号技術入門 第3版|SBクリエイティブ

TLSは、送受信するメッセージを他人に読まれないようにする技術とやり取りしている相手が本当にその人なのかと保証する技術、メッセージが書き換わっていないことを保証する技術といろいろな要素が組み合わされて成り立っている。そのため、それら個々の要素についてある程度の理解をしていないとTLSが分かりづらくなっている。この本はTLSに必要な要素を全て解説をしてくれている。TLSの要素をこの本では暗号学者の道具箱と表現し、以下の6つとしている。

  1. 対称暗号
  2. 一方向ハッシュ
  3. 認証メッセージ
  4. デジタル署名
  5. 公開鍵暗号
  6. 擬似乱数生成器

これらは、実際にはお互いに依存関係があるので、例えば認証メッセージから理解していこうということは難しく、認証メッセージで使われている一方向ハッシュという技術をまず理解をしないといけなくなっている。この本では、はじめから読んでいくことで、それら依存している順に解説がされているので、読み終えたあとには要素が体系化がなされて頭の中に入っていることになっている。

ただ、前述したとおり厳密な証明が記載されている本ではない。例えば、RSA暗号の安全とされている根拠である素因数分解問題はさらっとしか説明がされていない。そのため、より厳密に理解をしようと思うとより詳しい書籍に当たる必要がある。また、第3版まで出ているが、最近の暗号技術、例えば対量子暗号の格子暗号の話などは出てこない。とはいえ、基本的な仕組みは解説がされている上に、TLSは要素を組み合わせて成り立っていると言ったが、この本で体系的な理解をすれば、あとは個々の要素を入れ替えたりするだけで良いので、この本が5年前の本だからといって古くなるわけではない。ただし、最近標準化されたTLS 1.3については記述がなく、そもそもTLS 1.3からハンドシェイクの仕組みが大きく変わったので、それは別途別の書籍をあたって補完する必要があると思う。

まだ買ってもないので、中身がわからないが、そういった厳密性のある記述があるのが以下のプロフェッショナルSSL/TLSなのかなと思ってて、頃合いを見て購入をしてみたい。

プロフェッショナルSSL/TLS

プロフェッショナルSSL/TLS

  • 作者:Ivan Ristić
  • 発売日: 2018/06/04
  • メディア: 単行本(ソフトカバー)