「マスタリングTCP/IP 情報セキュリティ編」を読んで

開発者にとって、プログラミング言語に関する知識や、ソフトウェア設計に関する知識、フレームワークやライブラリに関する知識は必要だ。 一方では、おろそかになりがちだが、大まかな歴史や基礎技術の概要くらいは知っておく必要がある分野が、いくつか存在する。情報セキュリティはその一つだ。

私はWebセキュリティやネットワークセキュリティといった特定のトピックについては、本やWeb記事で学んでいた。 具体的なセキュリティ攻撃やその対策を学んでいるのみであり、情報セキュリティの包括的な知識はなかった。

今回は、会社でセキュリティ関連のタスクにアサインされたので、入門として「マスタリングTCP/IP 情報セキュリティ編」を読むことにした。

情報セキュリティとは何なのか?

第一章の「情報セキュリティ概論」では、そもそも情報セキュリティとは何なのかを説明してる。情報セキュリティの定義や、歴史の概観、情報セキュリティの要素分解などによって、その輪郭を炙り出している。

私自身、情報セキュリティとは何なのかをよくよく考えてみると、意外とはっきりしないことが多かった。この第一章を読むことで、情報セキュリティという概念そのものに対する理解を深めることができたのは、大きな学びだった。

私はこの本を読む前は、情報セキュリティは機密性を守ることだと理解していた。 この本では、情報セキュリティを構成する3つの要素として、機密性・完全性・可用性が挙げられており、情報セキュリティを以前より幅広い概念として捉えるきっかけとなった。 確かに、ウィルスによって情報が盗み出されるだけでなく、正しい情報が破壊されたり、ランサムウェアによって情報にアクセスできなくなったりすることも情報セキュリティの範疇と捉えなければ、正しいアクションをとれない。

また、この本の注釈に書かれているように、真正性・責任追跡性・否認防止性・信頼性の維持、を情報セキュリティの要素として考え方もある。 情報セキュリティを構成するそれらの性質は、互いに関連しあっており相互排除的な概念ではないことから、情報セキュリティはなお捉えづらい概念だと感じた。

捉えづらい概念だからこそ、具体的な攻撃や、それに対する対策を学ぶことで輪郭を掴んでいくしかないのだと思う。

PKIについて

この本では第二章以降、具体的な要素技術や、セキュリティ攻撃、それを対策する仕組みについて紹介されている。 特にPKIについては、体系的に学ぶのが初めてだったので勉強になった。

PKIには、すでに信頼しているものを信頼することで輪を広げていくWeb of Trustモデルと、信頼できる対象を中心に据えた認証局モデルがあることを知れたのはよかった。 どちらも同じPKIであるが、その2つのモデルを区別できていないと、具体的なPKIの仕組みを理解する上での障害になってしまう。

PKIについては、OSCPステープリング・公開鍵ピニングといった一歩踏み込んだセキュリティ対策の仕組みについても知ることができた。

PFSについて

この本には、PFS (Post Forward Secrecy)という概念が何回か出てくる。これは、暗号鍵が漏れたときに、過去にその鍵によって暗号化された全てのデータが解読できてしまうことを防げる性質のことである。 もちろん暗号鍵が漏れないように対策する必要はあるが、この性質を備えていれば、もし暗号鍵が漏れたとしても一部のデータしか解読できず被害を局所化することができる。 例えば、TLSにおいて選択できる認証方式に、DH鍵共有アルゴリズムのパラメータを毎回生成し使い捨てることでPFSを備えることができるものが存在する(TLS_DHE_DSS_WITH_AES_128_CBC_SHA)。

ここまで考えられているのはすごいなーと純粋に思ってしまった。

まとめ

この本のように、特定の分野におけるトピックを網羅的に扱い重要な点を抑えていけるタイプの本は、入門にはとても良い。 一方では、断片的な知識が多く、一回読んだだけではその深さや繋がりを認識しずらいため、継続的に読み返すことで味わっていかないといけないなーと感じる。

業務の中では、以前なら自分の範囲外と捉えて軽く流してしまうトピックでも、もう少し深掘りしてみるようなムーブが大事だと思う。 例えば、パスワードを暗号化して保存しないといけないというときに、どの暗号アルゴリズムを使うべきかという問いをサクッと調べて、一般的に正しそうな情報を信じて選択するだけでなく、それがなぜ正しいとされているのかを少し深掘りしてみる。PFSを備えられる手段がないか調べてみるみたいなことだ。

あとは、この本で参照されていた「プロフェッショナルSSL/TLS」も読んでみたいなと思った。すでに読みたい本が山積みなので、まずは目の前にある本からですが...笑