今日の日記・何故 電子証明書には有効期限が必要なのか
2009年05月07日06:40
昨日の日記でデジタル証明書に何故有効期限が必要なのか、という話題を書いた。 デジタル証明書というのは使ったことがある人は知っていると思うけど、システム管理者にとってはトラブルメーカであることが多く、かなり厄介な存在だ。 デジタル証明書には必ず有効期限というものが定められており、有効期限が切れると色々なシステムが動かなくなってしまう。だから、まめに新しい証明書に交換してやる必要がある。 この作業はシステム管理者にとって手数がかかるいかなり面倒な作業だ。 また失敗するとシステム停止など看過できない問題が発生する為、神経も使う。 だから、デジタル証明書に有効期限さえなければこんな面倒なことは起こらないのに、というようなことを感じる人は決して少なくないはずだ。
今日一日僕はこのことについて考えてみた。 そして大まかな答えを得ることが出来た。 答えは「有効期限は必要」だ。 何故だろうか。 以下で説明してみたい。
◇
何故有効期限が必要なのか。 それは欲しい人よりも与える人のほうが立場が有利だからだ。 デジタル証明書に有効期限が必要な理由という物は、とてもゲーム的な理由だ。
物事には「欲しい人」と「与える人」がいる。 このとき欲しい人と与える人の間には権力的な力関係が生まれる。 この一番簡単な例は男女関係ではないだろうか。 あるところにある男性がおり、そこにある女性が居るとする。 このとき、その男性が若くハンサムで魅力的であり、女性は若くなくあまり魅力的でなかった場合、男性は「与える人」であり、女性は「欲しい人」になる。 女性はその男性を入手するため、あらゆるプレゼントをしたり世話をしたりして気を引こうとする。 一方男性は女性が思い通りになければ、思い通りになるまで与えなければよい。 女性は男性が納得するまで(あるいは男性が納得することは永遠になかったとしても)振り回される結果となる。 逆もまたしかりである。 女性が若く魅力的であり、男性が若くなくあまり魅力的でなければ、男性は血反吐を吐くまで走り回らされる結果となる。
この関係は、現実社会のあらゆるところで生まれるだろう。 借金をすれば、借用書などは、貸した人はあげたい物だろうが、借りる人は欲しくないものだろう。 一方で自己破産宣告書などは、借りた人はあげたいだろうが、貸した人は欲しくないだろう。
貸主が借用書を送りつけたとしても、借主が「受け取っていない」とシラを切れば、不要な借用書を受け取らないことはたやすい。 そういう問題が発生しないように現実世界では「配達証明」「書留」などの制度が用意されていたりする。
これとコンピューターの世界でも同じことが起こる。 例えば、こういうケースが考えられる。 もしもAさんがM社のソフトウェアを有償で利用していたとする。 AさんはM社開発のソフトウェア・1年間分の利用権利を1万円で購入する。 Aさんがそのソフトを利用し一年間たったところで、M社はそのソフトの利用権失効を証明するデジタル証明書をAさんに送付する。 このデジタル証明書を受信しパソコンにインストールすると、そのソフトは利用できなくなる。
このときAさんは素直にそのデジタル証明書をインストールするだろうか。 しないだろう。 デジタル証明書をインストールさえしなければ、無償でそのソフトを利用し続けることが出来るからだ。 しかもデジタルの世界には「配達証明」はない。(恐らく論理的に見ても作ることは不可能だろう。) M社からはAさんがその証明書を受け取ったかどうか確認する手段がない。 素直にインストールする手はない。 このとき、M社は「欲しい人」だ。 つまり「受け取って欲しい人」なのだ。 一方Aさんは「受け取ってあげる人」だ。 つまりAさんのほうが立場が強いのだ。
このとき、もしM社からAさんが利用権を購入したとき、その利用権が書き込まれたデジタル証明書に一定期間ごと...例えば3日毎の有効期限が設けられていたらどうなるだろうか。 Aさんはソフトウェアを利用し続けるために、定期的にM社から最新の購入権が書き込まれたデジタル証明書を受け取る必要がある。
こうなると立場は逆転する。 M社は「送ってあげる人」になる。 Aさんは「送って欲しい人」になる。 これで、M社は自社製ソフトのただ乗りを防げるばかりか、気に食わなければ一方的にAさんの利用権を剥奪することも出来る。 M社の立場は断然強くなる。
この様に、デジタル証明書の有効期限は、デジタル証明書を発行する者にとってはなくてはならない武器になりえる。
◇
つまり、デジタル証明書によって権利を管理する場合、有効期限方式と、失効書送信方式の
二種類が考えられることになる。
究極的に考えると、このふたつは単に実装方法の違いがあるだけで、実際には同じ処理である。 このふたつが同じ処理に見えないのは、現在の一般的なシステムでは、これらが自動的に処理されないからだろう。 手動で処理する場合、有効期限方式は定期的な更新が必要なためシステム管理者にとって圧倒的に手間がかかる厄介者である一方、失効書送信方式はほとんど手間がかからない。 しかし、この違いは本質的な違いではない。 本来、デジタル証明書は一般的にソフトウェア的に自動処理されるべきである。 もしもこれらが完全に自動的に処理されているのであれば、利用者から見た違いはほとんど現れないはずだ。
本質的な違いは政治的関係だ。 これらのアルゴリズムは政治的な関係が異なる。 つまり、要件をよく解析し「欲しい人」「与える人」の関係を見極めたうえで、どちらのアルゴリズムを採用するのか選択する必要があり、この選択を間違えるとフィルタリングソフトなどを応用して「借用書」を受け取らないように設定され、ただ乗りでも何でもやりたい放題やられてしまうだろう。
つまり、これはHTTPの「プッシュ・プル」と同じ問題に帰着することになりそうだ。 完全に自動化された場合、最新のデジタル証明書を発行者側がプッシュで送信する方法もあるだろうし、証明される側の者がプルで受信することも可能だ。 こうすることで、アルゴリズムの違いによって生まれるサーバー負荷を分散させることが出来る。 最終的に、アルゴリズムの違いとして、純粋に政治的関係だけが残るだろう。
今日一日僕はこのことについて考えてみた。 そして大まかな答えを得ることが出来た。 答えは「有効期限は必要」だ。 何故だろうか。 以下で説明してみたい。
◇
何故有効期限が必要なのか。 それは欲しい人よりも与える人のほうが立場が有利だからだ。 デジタル証明書に有効期限が必要な理由という物は、とてもゲーム的な理由だ。
物事には「欲しい人」と「与える人」がいる。 このとき欲しい人と与える人の間には権力的な力関係が生まれる。 この一番簡単な例は男女関係ではないだろうか。 あるところにある男性がおり、そこにある女性が居るとする。 このとき、その男性が若くハンサムで魅力的であり、女性は若くなくあまり魅力的でなかった場合、男性は「与える人」であり、女性は「欲しい人」になる。 女性はその男性を入手するため、あらゆるプレゼントをしたり世話をしたりして気を引こうとする。 一方男性は女性が思い通りになければ、思い通りになるまで与えなければよい。 女性は男性が納得するまで(あるいは男性が納得することは永遠になかったとしても)振り回される結果となる。 逆もまたしかりである。 女性が若く魅力的であり、男性が若くなくあまり魅力的でなければ、男性は血反吐を吐くまで走り回らされる結果となる。
この関係は、現実社会のあらゆるところで生まれるだろう。 借金をすれば、借用書などは、貸した人はあげたい物だろうが、借りる人は欲しくないものだろう。 一方で自己破産宣告書などは、借りた人はあげたいだろうが、貸した人は欲しくないだろう。
貸主が借用書を送りつけたとしても、借主が「受け取っていない」とシラを切れば、不要な借用書を受け取らないことはたやすい。 そういう問題が発生しないように現実世界では「配達証明」「書留」などの制度が用意されていたりする。
これとコンピューターの世界でも同じことが起こる。 例えば、こういうケースが考えられる。 もしもAさんがM社のソフトウェアを有償で利用していたとする。 AさんはM社開発のソフトウェア・1年間分の利用権利を1万円で購入する。 Aさんがそのソフトを利用し一年間たったところで、M社はそのソフトの利用権失効を証明するデジタル証明書をAさんに送付する。 このデジタル証明書を受信しパソコンにインストールすると、そのソフトは利用できなくなる。
このときAさんは素直にそのデジタル証明書をインストールするだろうか。 しないだろう。 デジタル証明書をインストールさえしなければ、無償でそのソフトを利用し続けることが出来るからだ。 しかもデジタルの世界には「配達証明」はない。(恐らく論理的に見ても作ることは不可能だろう。) M社からはAさんがその証明書を受け取ったかどうか確認する手段がない。 素直にインストールする手はない。 このとき、M社は「欲しい人」だ。 つまり「受け取って欲しい人」なのだ。 一方Aさんは「受け取ってあげる人」だ。 つまりAさんのほうが立場が強いのだ。
このとき、もしM社からAさんが利用権を購入したとき、その利用権が書き込まれたデジタル証明書に一定期間ごと...例えば3日毎の有効期限が設けられていたらどうなるだろうか。 Aさんはソフトウェアを利用し続けるために、定期的にM社から最新の購入権が書き込まれたデジタル証明書を受け取る必要がある。
こうなると立場は逆転する。 M社は「送ってあげる人」になる。 Aさんは「送って欲しい人」になる。 これで、M社は自社製ソフトのただ乗りを防げるばかりか、気に食わなければ一方的にAさんの利用権を剥奪することも出来る。 M社の立場は断然強くなる。
この様に、デジタル証明書の有効期限は、デジタル証明書を発行する者にとってはなくてはならない武器になりえる。
◇
つまり、デジタル証明書によって権利を管理する場合、有効期限方式と、失効書送信方式の
二種類が考えられることになる。
究極的に考えると、このふたつは単に実装方法の違いがあるだけで、実際には同じ処理である。 このふたつが同じ処理に見えないのは、現在の一般的なシステムでは、これらが自動的に処理されないからだろう。 手動で処理する場合、有効期限方式は定期的な更新が必要なためシステム管理者にとって圧倒的に手間がかかる厄介者である一方、失効書送信方式はほとんど手間がかからない。 しかし、この違いは本質的な違いではない。 本来、デジタル証明書は一般的にソフトウェア的に自動処理されるべきである。 もしもこれらが完全に自動的に処理されているのであれば、利用者から見た違いはほとんど現れないはずだ。
本質的な違いは政治的関係だ。 これらのアルゴリズムは政治的な関係が異なる。 つまり、要件をよく解析し「欲しい人」「与える人」の関係を見極めたうえで、どちらのアルゴリズムを採用するのか選択する必要があり、この選択を間違えるとフィルタリングソフトなどを応用して「借用書」を受け取らないように設定され、ただ乗りでも何でもやりたい放題やられてしまうだろう。
つまり、これはHTTPの「プッシュ・プル」と同じ問題に帰着することになりそうだ。 完全に自動化された場合、最新のデジタル証明書を発行者側がプッシュで送信する方法もあるだろうし、証明される側の者がプルで受信することも可能だ。 こうすることで、アルゴリズムの違いによって生まれるサーバー負荷を分散させることが出来る。 最終的に、アルゴリズムの違いとして、純粋に政治的関係だけが残るだろう。
コメント一覧
ねこ☆ミ。 2009年05月08日 10:13
なるほど。
以下、読んでて理解したことを6行でまとめてみる。
1.発効後の署名の制御には、失効書送信方式と有効期限方式の2種類がある。
2.機能的には、失効書送信方式を利用すれば有効期限方式を実装できる。
3.失効書送信方式は、発行者が署名の交換、無効化をすることができ、発行者の権利がより強い。
4.ただし、通信ができない、または妨害される可能性がある場合は、上記1にもかかわらず、有効期限方式を取る必要がある。
5.尚、失効書送信方式と有効期限方式をハイブリッドに利用できる。
6.また、失効書送信方式、有効期限方式による署名のライフサイクル設計は、政治的要件に制約される。
漢字が、、、発効か発行かわからなくなったOrz
以下、読んでて理解したことを6行でまとめてみる。
1.発効後の署名の制御には、失効書送信方式と有効期限方式の2種類がある。
2.機能的には、失効書送信方式を利用すれば有効期限方式を実装できる。
3.失効書送信方式は、発行者が署名の交換、無効化をすることができ、発行者の権利がより強い。
4.ただし、通信ができない、または妨害される可能性がある場合は、上記1にもかかわらず、有効期限方式を取る必要がある。
5.尚、失効書送信方式と有効期限方式をハイブリッドに利用できる。
6.また、失効書送信方式、有効期限方式による署名のライフサイクル設計は、政治的要件に制約される。
漢字が、、、発効か発行かわからなくなったOrz
おかあつ 2009年05月08日 15:07
これって僕が考えたんだからね。
こんなこと、どこにも書いてないよ。
ここまでまとめるのすげー大変だったよ。
ところで、あの有名な Chain of Trust を発明したPGPも、聞けば今では鍵の有効期限が追加されているんだそうだ。 PGPはかつて有効化無効化証明書方式だった。
ところで、僕が考えた「風呂屋式鍵管理アルゴリズム」は、かなり有効っぽい。 これも多分あまりメジャーな考え方じゃないと思う。
こんなこと、どこにも書いてないよ。
ここまでまとめるのすげー大変だったよ。
ところで、あの有名な Chain of Trust を発明したPGPも、聞けば今では鍵の有効期限が追加されているんだそうだ。 PGPはかつて有効化無効化証明書方式だった。
ところで、僕が考えた「風呂屋式鍵管理アルゴリズム」は、かなり有効っぽい。 これも多分あまりメジャーな考え方じゃないと思う。