暗号通信についての解説

戻る

暗号鍵の長さと暗号の強さについて

暗号通信では通信されるデータがすべて暗号化されます。暗号化する際には、必ず暗号鍵を指定します。「暗号鍵」とは、具体的には、ある範囲の整数の中から選ばれた1個の整数です。暗号鍵(事前に指定されたある1個の整数値)がわからなければ、暗号を解くことはできません。ある範囲といっても、とてつもなく大きな範囲から選択されます。通常暗号鍵が選択される整数の範囲は、ビットという単位で表現します。例えば、128ビットの暗号鍵とは、0-2128年から選ばれた1個の整数です。ちょっと2128年を計算していただければわかりますが、とてつもなく大きな整数です。

暗号を解く方法には、大きく分けて2つあります。1つは暗号アルゴリズムの弱点をついて解く方法で、もう1つはすべての暗号鍵をしらみつぶしに調べる方法です。アルゴリズムが公開されてから長く利用されている暗号では大きな弱点が知られておらず、前者の方法で解くことは困難です。後者の方法では、理論的にはどんな暗号でも必ず解くことができます。ただし、しらみつぶしに調べるためには、時間がかかります。暗号鍵が選択される範囲が広ければ広いほど、しらみつぶしに調べるのに時間がかかります。しらみつぶしに調べるのに非常に長い時間(例えば100万年)かかるようであれば、「解けない」とみなしてもよいと思われます。表1、表2に各々100万ドルの専用ハードウエアとコンピュータで、しらみつぶしに調べた場合にかかる時間の予測値を示します。ハードウエアの処理能力が、5年で10倍になると仮定しています。128ビット暗号が40ビット暗号と比較にならないくらい強いということがおわかりいただけると思います。

表1 100万ドルの専用ハードウエアを利用して、しらみつぶしに暗号鍵を調べた場合に解くのに必要な時間(出展:E-Mailセキュリティ、ブルース・シュナイダー著、力武健次監訳、1995)
暗号鍵の長さ
40 56 64 80 112 128
1995 0.2秒 3.6時間 38日 7000年 1013 1018
2000 0.02秒 21分 4日 700年 1012 1017
2005 2m秒 2分 9時間 70年 1011 1016
2010 0.2m秒 13秒 1時間 7年 1010 1015
2015 0.02m秒 1秒 5.5分 251日 109 1014
2020 2μ秒 0.1秒 31分 25日 108 1013
2025 0.2μ秒 0.01秒 3秒 2.5日 107 1012
2030 0.02μ秒 1m秒 0.3秒 6時間 106 1011

表2 100万ドルのコンピュータを利用して、しらみつぶしに暗号鍵を調べた場合に解くのに必要な時間(出展:E-Mailセキュリティ、ブルース・シュナイダー著、力武健次監訳、1995)
暗号鍵の長さ
40 56 64 80 112 128
1995 33分 3年 1000年 107 1017 1022
2000 3.3分 115日 100年 106 1016 1021
2005 20秒 15日 10年 7000000年 1015 1020
2010 2秒 1.5日 1年 70000年 1014 1019
2015 0.2秒 3.6時間 38日 7000年 1013 1018
2020 0.02秒 21分 4日 700年 1012 1017
2025 2m秒 2分 9時間 70年 1011 1016
2030 0.2m秒 13秒 1時間 7年 1010 1015


通信相手の認証とブラウザーに組み込まれた証明書の期限切れ(更新の必要性)

データが暗号化されても、肝心の通信先が自分が考えているマシンと違っていては意味がありません。もう少し具体的にいうとUMINの医学研究支援システムと接続して、データを入力していると本人は思っていますが、実は悪意ある人がUMINの医学研究支援システムにそっくりなシステムを作成し、通信内容を横取りして、UMINになりすましている可能性があります(なりすまし)。これを防ぐ方法が電子署名です。

UMINでは、電子証明書発行業者に依頼して、UMINのサーバに電子署名をしてもらっています(図)。電子証明書発行業者は、UMINが実在する正当な組織であることを調査して確認したのちに電子署名を行います。電子証明書発行業者は、自社がUMINのサーバに行った電子署名を、ブラウザーからチェックできるように必要な電子証明書をブラウザー提供業者に依頼して組み込んでもらいます。これらの電子証明書は、ブラウザーに組み込んだ状態で配布されますので、一般の利用者が新たに組み込む必要は通常ありません。ブラウザーは、UMINのサーバの電子署名を確認した後にUMINサーバに接続を行います。以上のように電子証明書発行業者を介して、一般利用者はUMINのサーバの正当性を確認することになります。

通信相手の認証は安全な通信のために必要です。そして、認証を確実に行うためにブラウザーに組み込まれた電子署名のチェックに必要な電子証明書には有効期限が設定されています。現在、存在する会社も3年後にはどうなっているかわかりません。倒産しているかもしれませんし、場合によっては倒産した後に同じ名前の会社が作られているかもしれません。このような電子署名された電子書類が、横流しされ、悪用されてしまう可能性があります。一度電子署名したら半永久的に有効なのでは危険です。そこで、有効期限が設定されているわけです。ブラウザーに組み込まれた、サーバの電子署名のチェック用電子証明書が期限切れになった場合には、ブラウザーをバージョンアップする(新しいバージョンのブラウザーには有効期限が多く残っている証明書が組み込まれている)かまたは新しい証明書に交換する必要があります。通常は、ブラウザーのバージョンアップを行います。各ブラウザー毎の有効期限の状況については、「ブラウザーのバージョンと暗号機能」のページをご参照願います。