ネットの安全利用のための技術 暗号化、デジタル署名、認証とは?

昨今のインターネットを安全に利用するために、改ざん防止、暗号化、などを行うための技術は欠かせない物となっています。

暗号化 : 通信の機密性の保持や改ざんの防止

認証  : なりすまし防止、改ざん、否認の防止など

暗号化

インターネットで利用されるデジタルデータの暗号化とは、デジタルデータを一定の方法で変換し、解読できないようにして送る方法のことです。

暗号化された情報は、暗号化アルゴリズムがわかっていても鍵がわからなければ解読できません。

この鍵を他者に知られずに送信側と受信側で共有することができれば、もし暗号化されたデータが窃取されたとしても、その情報の意味を読み取ることは出来ません。

インターネットでの暗号化アルゴリズムを実装するために、ソフトウェアを用います。

暗号化アルゴリズム自体は、秘密を保持する仕組みではありません。

様々なところで暗号化を便利に利用するために、極力共通に使えるソフトウェアを用いる必要があります。

そのため、暗号化のアルゴリズム自体は公開されており、標準化されているものを利用する必要があるのです。

暗号化には、大きく分けて2つの方式があります。

共通鍵暗号 と 公開鍵暗号です。

共通鍵暗号(対称暗号) … 送信側と受信側で同じ鍵を使う方式

共通鍵暗号は、送信側と受信側で共有の鍵をもち、暗号化と復号化を行なうものです。

暗号アルゴリズムは鍵が漏れない限りは、破ることが困難であることをさまざまな角度から検証されており、選定されています。

代表的な暗号化のアルゴリズムには、DES、トリプルDES、AESといったものがあります。

DES、トリプルDESはアメリカのFIPSで採用されています。

AESはアメリカの標準化機関であるNISTにより2000年に標準化されたものです。

公開鍵暗号 … 暗号化する鍵と復号化する鍵が異なった方式

暗号化する鍵を公開し、暗号化はこの公開鍵で行ないますが、復号化を行う際にプライベート鍵で行なうものです。

共通鍵方式の場合、送信側と受信側で共通のプライベート鍵をもつ必要があるため、複数人と秘密の通信を行なう場合には、その人数分の共通鍵が必要になってしまいます。

しかし公開鍵方式を使う場合には、これが1組の公開鍵とプライベート鍵で行なうことが可能になるというものです。

公開鍵暗号はデジタル署名にも応用されています。

共通鍵方式の場合、共通鍵を事前に交換しておかなくてはならないという弱点は存在しますが、公開鍵暗号のプライベート鍵はあくまで復号化する側で保持すればよいので、事前に鍵を交換しておく必要はありません。

公開鍵方式の代表例は、RSAや、ECC(楕円曲線暗号) というRSAに比べて鍵の大きさを小さくできる方式も実用化されています。

公開鍵暗号は大変便利な特徴をもっていますが、暗号化、復号化を行なうための計算時間をみると、共通鍵方式に比べて格段に長いのです。

そこで、両者の特徴を利用したハイブリッド暗号も利用されています。

通信したい本文を暗号化する共通鍵を公開鍵方式で予め送り、本文を暗号化して通信するという方法です。

S/MIMEで用いられている方法がこれに当たります。

デジタル署名

デジタル署名とは、送信者が本来の送信元であることを受信側に証明するための方法です。

契約書に捺印やサインをすることで、それが正当なものかを保証することと似ています。

印鑑やサインは、本来それを行なった人しかもっていないはずの情報であるため、この情報が付けられていることで、書類の正当性を保証しています。

デジタル署名は、公開鍵方式を暗号化に利用する手順を逆にすることで実現しています。

送信側は、送りたい情報をプライベート鍵で暗号化します。

受信側は、暗号化された情報に対応する公開鍵で復号化します。

プライベート鍵で暗号化された情報は、このプライベート鍵をもっている人しか暗号化できないため、鍵をもっている人にしか作り出せない、捺印やサインと同じものになるのです。

DKIMはこの方法でなりすましや改ざんの防止を行なっています。

デジタル署名は受信側で意味のある情報に復号化できれば確認できるので、メール本文全てにこれを行なう必要はありません。

公開鍵暗号は計算時間が長くかかるため、メール本文全てを暗号化するのは非現実的です。

そこで使われるのが一方向ハッシュ関数という手法です。

送りたい情報をあるアルゴリズムで要約したもので、情報の一部分でも変わると、その要約も変わるというものです。

また、どんなに長い情報でも一定の情報量をもつ値に変換できるという事も特徴の一つです(ハッシュ値)。

送りたい情報のハッシュ値をプライベート鍵で暗号化し、送信メッセージに付けて送ります。

受信側ではこれを公開鍵で復号化、同じアルゴリズムで得られたハッシュ値と同じものであれば、情報の送り元が正当であることや、情報そのものの改ざんが行なわれていないことが証明されます。

代表的な一方向ハッシュ関数にはNISTで標準化された、SHA-1 、SHA-2などがあります。

認証

公開鍵暗号方式は大変便利な方法ですが、残念ながら中間者攻撃には対応できません。

そこで必要になるのが認証局の技術です。

公開鍵を利用した暗号化やデジタル署名では「公開鍵が正当であるかどうか」第三者がなりすまして偽の公開鍵を配布していないということを証明しなければなりません。

これは、認証局と呼ばれる公開鍵の正当性を保証する仕組みを入れることで実現されています。

印鑑証明のように、信頼できる公的機関に自分の印鑑を登録し、印鑑証明書を発行することで印鑑自体の正当性を保証してもらうのと同じ方法です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする