暗号通信についての解説

戻る

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

暗号通信では通信されるデータがすべて暗号化されます。暗号化する際には、必ず暗号鍵を指定します。「暗号鍵」とは、具体的には、ある範囲の整数の中から選ばれた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年後にはどうなっているかわかりません。倒産しているかもしれませんし、場合によっては倒産した後に同じ名前の会社が作られているかもしれません。このような電子署名された電子書類が、横流しされ、悪用されてしまう可能性があります。一度電子署名したら半永久的に有効なのでは危険です。そこで、有効期限が設定されているわけです。ブラウザーに組み込まれた、サーバの電子署名のチェック用電子証明書が期限切れになった場合には、ブラウザーをバージョンアップする(新しいバージョンのブラウザーには有効期限が多く残っている証明書が組み込まれている)かまたは新しい証明書に交換する必要があります。通常は、ブラウザーのバージョンアップを行います。各ブラウザー毎の有効期限の状況については、「ブラウザーのバージョンと暗号機能」のページをご参照願います。