この記事のポイント
- データを暗号化することでデータを盗聴されることを防ぐ
データの盗聴を防止する方法
暗号化とは
第三者にデータが覗かれるかも
ネットワーク上で転送されるデータは、第三者に盗聴(覗き見)されるリスクがあります。とりわけインターネット上で転送する際には、盗聴されるリスクが大きくなります。データの盗聴を防止するためには、データを暗号化する必要があります。
データの暗号化
データを暗号化することで、正規のユーザ以外はそのデータの内容を判別できないようにします。万が一、ネットワーク上を転送する際に第三者にデータを盗聴されたとしても、データの内容を判別できないのです。
暗号化する前のデータを平文と呼びます。平文を暗号化するために、暗号鍵を利用します。暗号鍵とは、特定のビット長の数値です。暗号化は、平文と暗号鍵で数学的な演算を行って、暗号化されたデータである暗号文を生成することを意味します。
データの復号
また、暗号文と暗号鍵を利用して暗号化とは逆の演算を行い、もとの平文にします。暗号文からもとの平文に戻す操作を復号と呼びます。そして、暗号化および復号の際の数学的な演算を暗号化アルゴリズムと呼びます。
1つの鍵でデータを管理する
次の項目のポイント
- 共通鍵暗号方式は、暗号化と復号に同じ暗号鍵を利用する
- 共通鍵暗号方式には、暗号鍵をどうやって共有や更新するかという鍵配送の問題がある
共通鍵暗号方式とは
暗号鍵による暗号化技術は主に2つあります。
共通鍵暗号方式
共通鍵暗号方式とは、暗号化と復号に同じ暗号鍵を利用する暗号化方式です。共通鍵暗号方式は、対称鍵暗号方式や秘密鍵暗号方式などとも呼ばれます。
共通鍵暗号方式は、データの暗号化と復号の処理負荷が小さいというメリットがあります。一方、暗号鍵の共有が難しいという大きなデメリットがあります。データの暗号化と復号を行うためには、データの送信者と受信者の間であらかじめ暗号鍵を共有しておかなければいけません。暗号鍵は第三者に知られてはいけません。どうやって暗号鍵を安全に送信者と受信者の間で共有しておくかが、共通鍵暗号方式のとても重要な課題です。
鍵配送の問題
また、暗号鍵はいったん共有すればそれでよいわけではありません。暗号解読の一番の手がかりは規則性です。同じ暗号鍵を使い続けると、暗号データの規則性から暗号が解読されてしまうリスクが大きくなります。つまり、暗号鍵を定期的に更新する必要があります。こうしたデータの送信者と受信者間での暗号鍵の共有や更新をどのように行うかということは、鍵配送の問題と呼ばれます。
共通暗号方式のアルゴリズム
主な共通鍵暗号方式のアルゴリズムには、3DESとAESがあります。現在は、AESが広く利用されています。
2つの鍵でデータを管理する
次の項目のポイント
- 公開鍵暗号方式は暗号化と復号に異なる鍵を使う
- 公開鍵で暗号化したら秘密鍵でしか復号できない
公開鍵暗号方式とは
暗号化と復号に違う鍵を使う
共通鍵暗号方式では、鍵配送の問題が大きな課題です。その問題を解決する画期的な暗号化方式が公開鍵暗号方式です。
公開鍵暗号方式では、まず、暗号鍵のペアを作成します。暗号鍵のペアは一般的に公開鍵と秘密鍵と呼ばれます。公開鍵と秘密鍵には数学的な関連性があり、公開鍵は公開しても構いませんが、秘密鍵は第三者に知られないように厳重に管理しなければいけません。公開鍵と秘密鍵には関連があるので、公開鍵から秘密鍵を割り出すことは不可能ではありません。しかし、現実的な時間では非常に困難であるため、公開鍵暗号で暗号化されたデータが解読されてしまうリスクは非常に小さいものとなっています。
公開鍵で暗号化
データを暗号化して送信する場合、送信者は受信者が公開している公開鍵を入手します。そして、その公開鍵でデータを暗号化して転送します。受信者は秘密鍵により暗号データを復号します。
公開鍵でデータを暗号化するということは、「誰でも暗号化できる」ということです。誰でも暗号化できるのですが、復号できるのは秘密鍵を持つユーザだけです。
誰でも暗号化できるけど、復号できるのは限られたユーザのみという公開鍵暗号方式の特徴は、南京錠のようなイメージで考えてください。南京錠で鍵をかけるのは誰にでもできます。しかし、南京錠を外すことができるのは、南京錠に対応する鍵を持つユーザだけです。南京錠が公開鍵に相当し、南京錠を開けるための鍵が秘密鍵です。
>>第31回:鍵をかけたデータから、暗号化した相手を特定する【秘密鍵・RSA暗号・楕円曲線暗号・デジタル署名・ハッシュ値・PKI・認証局(CA)・X.509】