デジタル概論 ネットワークセキュリティ編1 暗号化通信について 0から楽しむパソコン講座

暗号化通信について インターネット世界が広がり、いろいろな情報が飛び交うようになりました。
重要な情報を守るために通信の暗号化になっているものもあります。
どのようにして通信を暗号化しているのか、この章で説明していきます。


旧ブラウザ版      新ブラウザ版へ


【豆知識】
ネットワークが恐れる「リーマン予想」

現在のインターネットの暗号化には「素数」が使われています。この「素数」は学校でも習った通り「「割ることができない数」ですが、この「素数」の法則性を数学者が研究しています。これが「リーマン予想」です。内容は「ゼータ関数の非自明なゼロ点はすべて一直線上にあるはずだ」という内容で、簡単に言うと「素数には法則性がある」というものです。
この「リーマン予想」は数学者も狂わせてしまい、中には精神的に「廃人」まで追いやられてしまう超難問です。数学者はこの「リーマン予想」を解こうと必死ですが、一方で「解かれてしまってはいけない」のがこの「暗号化通信」です。この素数の法則が見つけられていまえば、法則性により今までのより強固な「○○ビット暗号化」というのが一瞬で崩れるからです。素数の法則が強固の暗号化を崩すといったとても恐ろしい副産物を生み出す可能性があるというわけです。
リーマン氏【0から楽しむパソコン講座】
▲リーマン氏

PR









1.SSL暗号化通信について

現在、インターネットでSSL暗号化が標準で使用されています。SSL暗号化通信についての章イメージ 【0から楽しむパソコン講座】 現在のインターネット網が普及し、さまざまな情報がやり取りされています。また、使用する端末もコンピュータからスマホやタブレット等さまざまな機器で使用されており、今では家電全般がネットワークを組むことができ、インターネットを使用しています。
ネットワーク上のデータのやり取りについては前章でも説明したとおり、情報を1つのまとまりにしてそのままの状態で送受信しています。そのため、悪意のある第三者によってそのデータが盗まれる危険性が大いにあります。
通常はブログ閲覧やメールでの会話、動画の視聴などデータが盗まれても関係ないものが多いですが、金融関係の情報や機密情報・個人情報などはデータが盗まれた場合、大きな被害になります。
そこで、重要なデータのやりとりについては悪意のある第三者からの情報が盗まれないように暗号化しなければなりません。また、暗号化の方法も第三者にばれてしまえば、暗号化の意味もなくなります。
現在はSSLという通信プロトコルの手法を使用して暗号化を行っています。SSL(Secure Socket Layer)は、Netscape社によって開発されたホームページ(HTTP)通信のセキュリティ保護のための機構であり、現在は通信の暗号化で標準として使用されています。
暗号化は第3者から情報が見えない【0から楽しむパソコン講座】
▲暗号化は第3者から情報が見えない

SSL通信には「鍵」を使用し、その「鍵」の強度はビット数で表し「鍵長」と呼びます。
例えば鍵長128ビットの場合、2進数128ビット通りの種類があり、10進数で表すと約34X10の37乗通り(340澗)の組合せがあり、通信を行う場合はこの中の1種類を使用して暗号化通信を行います。
このように現在での暗号化通信ではSSL通信が最も解読が難しく、不可能に近い暗号技術となります。

2.SSL暗号化通信方法の手順

SSLで暗号化するためには「鍵」が必要です暗号化通信方法の手順の章イメージ【0から楽しむパソコン講座】 SSL暗号化通信は前章でも説明した通り、現在では非常に解読が難しい通信方式となっています。
のような方法で暗号化を行っているか説明していきます。
通常のデータから暗号文にすることを「暗号化」、暗号文から通常のデータに戻すことを「複合化」と言います。この暗号化と複合化を行うには、理論上の「鍵」が必要となります。この「鍵」は2進数のビット列であり、暗号化・複合化を行うために特殊な計算を行うためにこの「鍵」になっている2進数の数字が必要になります。
暗号化の送受信の方法には「共通鍵暗号方式」と「公開暗号方式」があります。
「共通鍵暗号方式」は送信する側(暗号化)と受信する側(復号化)共に同じ「鍵」を使用する方法です。
共通暗号化方式は事前に相手からその「鍵」を入手していれば、暗号化の送受信を行うことが出来ます。
共通暗号化方式は公開暗号化通信と比べ、暗号化や複合化の処理する時間が短いのが特徴です。
しかし、同じ鍵を使用するため、「鍵」の管理は厳重にしなければならず、その鍵を第三者(ハッカーなど)が入手してしまうと、解読され情報が漏洩してしまう危険性があります。
共通鍵暗号方式【0から楽しむパソコン講座】
▲共通鍵暗号方式

そこで現在用いられているのが公開鍵暗号方式です。この方式はまず、「秘密鍵」 と 「公開鍵」 というペアの鍵を作ります。「秘密錠」と「公開錠」は全く無関係に生成されるわけではなく、ある計算式に基づいて「秘密錠」と「公開錠」が生成されます。また暗号化の計算方式と復号化の計算方式は違った方式を使用しています。

まず、受信側は送信側に「公開錠」を送ります。送信側がその公開錠を素に暗号化します。受信側はデータを受け取ったら、自分の持っている「秘密錠」で復号化します。
公開錠暗号方式は「公開錠」と「秘密錠」の両方がなければ暗号化・復号化出来なくなっており、相手側に通信時には「公開錠」しか渡していないので、データがハッキングされても復号できない仕組みとなっております。また、公開錠が別の鍵を使用した場合、受け取った側も「秘密錠」で復号できない仕組みとなっています。
公開鍵暗号方式【0から楽しむパソコン講座】
▲公開鍵暗号方式

3.サーバー証明書について

サーバー証明書はデータ通信の「信頼の証明書」です。サーバー証明書の章イメージ【0から楽しむパソコン講座】 暗号化通信においてもうひとつ重要なのが「サーバー証明書」と呼ばれるデジタル証明書です。
「サーバー証明書」はそのサーバーがきちんと実在するという証明書であり、第三者機関である認証局(CA)が発行するバーチャル電子証明書です。
例えば個人の実在証明を行うには「印鑑登録」があります。印鑑登録には印影、持ち主の住所、発行する自治体名があります。サーバー証明書はこれと同じように「公開錠」(印影)、発行者名(持ち主の住所)、発行局の情報(自治体名)という情報があります。このサーバー証明書があることによってきちんと信頼を受けたサーバーで管理と行っているという証になります。

サーバー証明書は個人の印鑑証明書に似ています【0から楽しむパソコン講座】
▲サーバー証明書は個人の印鑑証明書に似ています

サーバー証明書には3つの種類があり、「サーバー証明書」「EVサーバー証明書」「ドメイン認証証明書」となります。
「サーバー証明書」は企業の法的な実在証明の情報があり、きちんとした実態のある企業であるという証明書となります。この証明書はショッピングサイトなどに利用されており、フィッシング対策にも使われています。
この「サーバー証明書」をより厳格に証明するのが「EVサーバー証明書」です。
「EVサーバー証明書」は企業の法的な実在証明の他に物理的な実在証明もなされています。つまり、きちんとした企業があり、きちんと営業をしているという証明書にもなります。そのため、金融関係など「信頼性」が重要視されるところで使用されています。
一方、「ドメイン認証証明書」はきちんと「ドメインが存在している」という証明書であり、企業の法的な実在証明は行っていません。その反面、証明書の取得の費用や審査なども他の証明書よりも軽く済むため、個人などの証明などに使われています。ただし信頼性は低いので、ウエブサイト上でのアンケートや意見交換など簡単な所でしか使用できません。


証明書を発行する「認証局(CA)」には3つあります。
「下位認証局」「中間認証局」「ルート認証局」です。この認証局は階層式となっており、一番上位に「ルート認証局」、その下位に「中間認証局」「下位認証局」となっています。
どこの認証局で認証を受けたかによって証明書の正当性の信頼度が違います。
▲認証局の階層【0から楽しむパソコン講座】
▲認証局の階層

それではこの「サーバー証明書」はどのようにして使われているのでしょうか。
証明書を使用したSSL通信は「公開鍵暗号方式」で通信を確立し、「共通鍵暗号方式」でデータの暗号・復号化を行っています。
まずクライアント側(接続する側)がサーバーに接続して、サーバー側から「デジタル証明証明書」と「公開錠」をもらいます。
クライアント側ではブラウザ内で証明書が正当なものかどうか「ルート証明書」で照合します。正当な証明書が確認されたら、「共通錠」を生成します。
「共通錠」が生成されたら、「デジタル証明書」の中で「公開錠」を使用して「共通錠」の暗号化を行い、暗号化された共通錠をサーバー側に送信します。
サーバー側は自分で持っている「秘密錠」で暗号化された共通錠を解読し復号を行い、もとの「共通錠」を取り出します。
その後、双方でこの「共通錠」を使用して通信を行います。

このようにして通信上で「鍵」の情報が漏れないように「鍵」も強力な暗号を行ってデータのやり取りを行っており、「サーバー証明書」は暗号化通信を行う上で非常に重要な役割となっています。また、「デジタル証明書」の中で「共通錠」を暗号化する技術はいわば「ブラックボックス」となっており、初めの章で説明した通り解読はほぼ不可能に近くなります。
サーバー証明書を使用した暗号化通信
;▲サーバー証明書を使用した暗号化通信