前回の①では、情報セキュリティの考え方の土台と、私たちを取り巻く様々な脅威について見てきました。「敵を知る」ことができたところで、今回はいよいよ「どう守るか」に踏み込んでいきます。
キーワードは大きく2つ、「暗号技術」と「防御の仕組み」です。ネットショッピングの支払い画面に出てくる鍵マーク、二段階認証、ファイアウォールという言葉――普段なんとなく目にしているこれらの正体を、順番に丁寧に解き明かしていきます。数式も出てきますが、難しい計算はできなくても「考え方」が分かれば十分です。安心して読み進めてください。
第1章 暗号の基本を理解する
暗号化・復号・鍵とは
暗号とは、「機密性」を確保するための技術です。情報を盗み見られても、内容を読み取れないようにすることで、盗聴を防ぎます。
用語をまず整理しましょう。
暗号は、この「鍵」と「アルゴリズム」の組み合わせによって成り立っています。
シーザー暗号で仕組みを体感する
一番シンプルな暗号の例として、「シーザー暗号」を見てみましょう。ルールは「ひらがなの各文字を、決まった数だけ後ろにずらす」というものです。
たとえば「3文字後ろにずらす」というルールなら、平文「あした」は、暗号文「えそて」に変換されます(あ→い→う→え、し→す→せ→そ、た→ち→つ→て、とそれぞれ3つずらす)。
この例で言うと、「3文字ずらす」という規則がアルゴリズム、「3」という数字が鍵にあたります。受け取った人は、鍵(3)を知っていれば「3文字戻す」ことで復号でき、元の文章「あした」を読むことができます。
暗号とセキュリティにまつわる「常識」
暗号を学ぶうえで、最初に押さえておきたい大原則があります。
秘密の暗号アルゴリズムを使ってはならない:暗号化の仕組み(アルゴリズム)自体を秘密にすることに頼るセキュリティ(security by obscurity)は、してはいけません。安全性は「鍵」の秘匿性だけに委ねるべきで、アルゴリズムは公開されて広く検証されているものを使うのが鉄則です
弱い暗号は、暗号化しないよりも危険である:中途半端に暗号化していると、「安全なはず」という誤った安心感を生んでしまうためです
どんな暗号も、いつかは解読される:計算機の性能は年々向上するため、「今は安全」でも将来にわたって安全とは限りません
暗号はセキュリティのほんの一部である:暗号さえ使っていれば安全、というわけではありません
情報セキュリティで最も弱い部分は「人」である:どれだけ技術的に強固な暗号を使っていても、それを扱う人間が隙を作ってしまえば意味がなくなってしまいます
第2章 共通鍵暗号(対称暗号)
暗号方式は大きく分けて「共通鍵暗号方式」と「公開鍵暗号方式」の2つが基本です。まずは共通鍵暗号から見ていきましょう。
仕組み
共通鍵暗号方式は、暗号化と復号(元の状態に戻すこと)に「同じ鍵」を使用する方式です。同じ鍵を使うことから「共通鍵」と呼ばれ、送信者と受信者が事前にこの鍵を共有しておく必要があります。ちなみに、1976年より前の暗号方式は、すべてこの共通鍵暗号でした。
特徴(利点と欠点)
利点
欠点
代表的な共通鍵暗号
DES(Data Encryption Standard):1977年にアメリカの旧国家暗号規格(FIPS)に採用され、長年幅広く利用されてきた方式です。56ビットの鍵を利用しますが、現在はコンピュータの性能向上により、総当たり(ブルートフォースアタック)でも解読可能になってしまっています
AES(Advanced Encryption Standard):米国立標準技術研究所(NIST)が公募し、コンペ方式(複数の候補から審査で選ぶ方式)で選ばれた共通鍵暗号方式です。最終的に「Rijndael(ラインダール)」というアルゴリズムが2000年に採用されました。鍵長は128ビット・192ビット・256ビットのいずれかを利用し、現在、共通鍵暗号を用いる場合はAESが使われることが多くなっています
DES・AESはいずれも、データをある一定の大きさの「ブロック」単位で暗号化する「ブロック暗号」です。
前回の①では、情報セキュリティの考え方の土台と、私たちを取り巻く様々な脅威について見てきました。「敵を知る」ことができたところで、今回はいよいよ「どう守るか」に踏み込んでいきます。
キーワードは大きく2つ、「暗号技術」と「防御の仕組み」です。ネットショッピングの支払い画面に出てくる鍵マーク、二段階認証、ファイアウォールという言葉――普段なんとなく目にしているこれらの正体を、順番に丁寧に解き明かしていきます。数式も出てきますが、難しい計算はできなくても「考え方」が分かれば十分です。安心して読み進めてください。
第1章 暗号の基本を理解する
暗号化・復号・鍵とは
暗号とは、「機密性」を確保するための技術です。情報を盗み見られても、内容を読み取れないようにすることで、盗聴を防ぎます。
用語をまず整理しましょう。
暗号化:特定の法則に基づいてデータ(平文)を変換し、第三者に内容を知られないようにすること
復号:暗号文を元のデータ(平文)に戻すこと
鍵:暗号化・復号の際に使う、変換のためのパラメータ
アルゴリズム:暗号化・復号を行う計算方法そのもの
暗号は、この「鍵」と「アルゴリズム」の組み合わせによって成り立っています。
シーザー暗号で仕組みを体感する
一番シンプルな暗号の例として、「シーザー暗号」を見てみましょう。ルールは「ひらがなの各文字を、決まった数だけ後ろにずらす」というものです。
たとえば「3文字後ろにずらす」というルールなら、平文「あした」は、暗号文「えそて」に変換されます(あ→い→う→え、し→す→せ→そ、た→ち→つ→て、とそれぞれ3つずらす)。
この例で言うと、「3文字ずらす」という規則がアルゴリズム、「3」という数字が鍵にあたります。受け取った人は、鍵(3)を知っていれば「3文字戻す」ことで復号でき、元の文章「あした」を読むことができます。
暗号とセキュリティにまつわる「常識」
暗号を学ぶうえで、最初に押さえておきたい大原則があります。
秘密の暗号アルゴリズムを使ってはならない:暗号化の仕組み(アルゴリズム)自体を秘密にすることに頼るセキュリティ(security by obscurity)は、してはいけません。安全性は「鍵」の秘匿性だけに委ねるべきで、アルゴリズムは公開されて広く検証されているものを使うのが鉄則です
弱い暗号は、暗号化しないよりも危険である:中途半端に暗号化していると、「安全なはず」という誤った安心感を生んでしまうためです
どんな暗号も、いつかは解読される:計算機の性能は年々向上するため、「今は安全」でも将来にわたって安全とは限りません
暗号はセキュリティのほんの一部である:暗号さえ使っていれば安全、というわけではありません
情報セキュリティで最も弱い部分は「人」である:どれだけ技術的に強固な暗号を使っていても、それを扱う人間が隙を作ってしまえば意味がなくなってしまいます
第2章 共通鍵暗号(対称暗号)
暗号方式は大きく分けて「共通鍵暗号方式」と「公開鍵暗号方式」の2つが基本です。まずは共通鍵暗号から見ていきましょう。
仕組み
共通鍵暗号方式は、暗号化と復号(元の状態に戻すこと)に「同じ鍵」を使用する方式です。同じ鍵を使うことから「共通鍵」と呼ばれ、送信者と受信者が事前にこの鍵を共有しておく必要があります。ちなみに、1976年より前の暗号方式は、すべてこの共通鍵暗号でした。
特徴(利点と欠点)
利点
暗号化・復号の計算が非常に速い(たとえば代表的な方式であるDESは、XOR演算や単純な置き換え処理の組み合わせをベースにした、比較的シンプルな構造をしています)
アルゴリズムにもよりますが、暗号化と復号化のアルゴリズムが同じ構造になりやすく、実装しやすい
欠点
暗号の送信者は、あらかじめ暗号に使用する共通鍵を、安全な方法で相手に送らなければならない(これを「鍵配送問題」と呼びます)
暗号を使った通信をする相手の人数が増えれば増えるほど、管理すべき鍵の数が増え、鍵の管理が大変になる
代表的な共通鍵暗号
DES(Data Encryption Standard):1977年にアメリカの旧国家暗号規格(FIPS)に採用され、長年幅広く利用されてきた方式です。56ビットの鍵を利用しますが、現在はコンピュータの性能向上により、総当たり(ブルートフォースアタック)でも解読可能になってしまっています
AES(Advanced Encryption Standard):米国立標準技術研究所(NIST)が公募し、コンペ方式(複数の候補から審査で選ぶ方式)で選ばれた共通鍵暗号方式です。最終的に「Rijndael(ラインダール)」というアルゴリズムが2000年に採用されました。鍵長は128ビット・192ビット・256ビットのいずれかを利用し、現在、共通鍵暗号を用いる場合はAESが使われることが多くなっています
DES・AESはいずれも、データをある一定の大きさの「ブロック」単位で暗号化する「ブロック暗号」です。