(プログラむネタ) デジタル証明書について
2009年05月18日23:47
今自作のシステムで利用するデジタル証明書について考えている。
デジタル証明書というのはこういうものだ。
http://mixi.jp/view_diary.pl?id=1169125370&owner_id=459989
デジタル証明書には決まったフォーマットがあって、一般的にはX.509と呼ばれているものが有名だ。 しかし僕はどうしてもX.509が好きになれなくて、自分でデジタル証明書のフォーマットを作ろうと思っている。
僕がどうしてもX.509を好きになることが出来ない理由はいくつかあるが、そのほとんどは僕がJ2EEというJavaについているサーバー構築用標準技術が好きになれない理由と似ている。 僕はJavaは大好きなのだが、J2EEは大嫌いだ。 自分はかわいいA子が大好きなのだがA子の服のセンスは大嫌いだ、という感じだ。 部分的に嫌いなのである。 そして 「彼女はスタイルもいいしかわいいんだから、あんな変な服着なくても普通にしてればいいのに、妙に凝ったことして逆に失敗するから評判が悪くなるんだよ」 という感じで、Javaももともと高性能なのに、J2EEという技術で妙に凝ったことをしたため失敗している。
J2EEというのは、妙に凝った技術なのだが、凝った技術を使うと、色々と面倒なことが起こる。 簡単なことをしたいのに、簡単に出来ないのだ。 これは、彼女が妙に凝った高いハイヒールとか妙に凝ったパンツとかをはいてくると、しばしば公園に散歩に行けなかったり海辺に散歩に行けなかったり、行動が制約されてしまいがちなのと、若干似てる。
X.509もそういう面がある。 懲りすぎなのだ。 僕がやりたいことは実に単純だ。 単純なのだが、X.509を採用してしまうと、X.509の標準に従うために、たくさんの関係ないプログラムを書かなければいけなくなってしまう。 プログラム全体がX.509を採用したが為に不要に大きくなってしまう。 そして、X.509というのは、意外と互換性が高くないのだ。 一生懸命互換性のためのコードを書いても使わずじまいということは充分考えられる。
◇
デジタル証明書というのは、考えてみれば考えてみるほど、実に奥深い意味のある技術だと思う。 色々考えてみるとX.509を中心としたデジタル証明書の技術は、実はものすごくいろいろな欠陥があることに気がついてくる。
近頃、このデジタル証明書をまつわる現代の技術の中で、何がボトルネックになっているのかは段々と頭の中で像を結ぶようになってきたのだが、しかし、これを誰にでもわかるように説明するということは、正直ものすごく難しいような気がしている。
データというものが一体哲学的に見てどういう意味を持っていて、データの転送が終わるということが最終的に何を持って完結するのか、ということを考える必要がある。
何かトンチキな感じがするけど、大真面目だ。 データの転送というのは、単にあるPCにある情報があるPC上にコピーされることを意味していて、それだけでは、何も面白くないことだ。 しかし、その転送されるデータが、人間にとってどういう意味があるのかによって、その転送に対する性質が「天と地がひっくり返るほど」ぜんぜん変わってくる。
転送されるデータが、道端の野良犬の写真であれば、単にそのデータはパソコンからパソコンへと転送されるだけだ。 しかし、転送されるデータが、「私の彼氏(既婚)との秘密の行為の結果できあがった写真」だとしたら、転送される意味は大幅に変わる。
その転送された写真を見ることが出来る人に厳重なチェックが必要となり、正式なアクセス権利を持った人以外は絶対に見ることが出来ないようにする必要があるだろう。 そのデータが転送された経路を確実に追跡できる「書留」のようなシステムも必要となる。 盗聴されても決して内容が知られることのない暗号化システムも必要となるだろう。 あるいは、任意のタイミングで瞬時に一般公開する、という機能も必要かもしれない。
これは日本ではこのように考えられるかもしれない。 だがタイのようにあまりプライバシーという考え方を重視しない国では、さしたる意味を持たないかもしれない。
転送されるデータは単純な0~255までの数値の羅列なのだが、これに記号的な意味が加わり、社会的な意味合いが加わることによって、上記のように、転送に求められる機能が大幅に変わる。
◇
今のパソコンが苦手なことに、「約束」を実装する機能が低い、ということが挙げられる。 こうやって書かれた日記が本当に「おかあつ」が書いたことなのか、断定できるだろうか。 おそらくおかあつが書いたことだ、ということはわかるだろうが、ひょっとしたらあかの他人が成りすまして書いているのかもしれない。
こうやってmixiに日記を書くことによって1000万円とか2000万円とかいった重大な取引を行うことが出来るだろうか。 多分無理だ。 悪いことが好きな奴に確実に狙われ、成りすまして横領されてしまう。 mixi にはそこまでの確実さはない。
これをPC上で実装するためには、約束というものが、論理的に見たときにどのような性質を持っていてどのような振る舞いをするものなのかについて、本質的な理解が必要となる。
◇
続く。
デジタル証明書というのはこういうものだ。
http://mixi.jp/view_diary.pl?id=1169125370&owner_id=459989
デジタル証明書には決まったフォーマットがあって、一般的にはX.509と呼ばれているものが有名だ。 しかし僕はどうしてもX.509が好きになれなくて、自分でデジタル証明書のフォーマットを作ろうと思っている。
僕がどうしてもX.509を好きになることが出来ない理由はいくつかあるが、そのほとんどは僕がJ2EEというJavaについているサーバー構築用標準技術が好きになれない理由と似ている。 僕はJavaは大好きなのだが、J2EEは大嫌いだ。 自分はかわいいA子が大好きなのだがA子の服のセンスは大嫌いだ、という感じだ。 部分的に嫌いなのである。 そして 「彼女はスタイルもいいしかわいいんだから、あんな変な服着なくても普通にしてればいいのに、妙に凝ったことして逆に失敗するから評判が悪くなるんだよ」 という感じで、Javaももともと高性能なのに、J2EEという技術で妙に凝ったことをしたため失敗している。
J2EEというのは、妙に凝った技術なのだが、凝った技術を使うと、色々と面倒なことが起こる。 簡単なことをしたいのに、簡単に出来ないのだ。 これは、彼女が妙に凝った高いハイヒールとか妙に凝ったパンツとかをはいてくると、しばしば公園に散歩に行けなかったり海辺に散歩に行けなかったり、行動が制約されてしまいがちなのと、若干似てる。
X.509もそういう面がある。 懲りすぎなのだ。 僕がやりたいことは実に単純だ。 単純なのだが、X.509を採用してしまうと、X.509の標準に従うために、たくさんの関係ないプログラムを書かなければいけなくなってしまう。 プログラム全体がX.509を採用したが為に不要に大きくなってしまう。 そして、X.509というのは、意外と互換性が高くないのだ。 一生懸命互換性のためのコードを書いても使わずじまいということは充分考えられる。
◇
デジタル証明書というのは、考えてみれば考えてみるほど、実に奥深い意味のある技術だと思う。 色々考えてみるとX.509を中心としたデジタル証明書の技術は、実はものすごくいろいろな欠陥があることに気がついてくる。
近頃、このデジタル証明書をまつわる現代の技術の中で、何がボトルネックになっているのかは段々と頭の中で像を結ぶようになってきたのだが、しかし、これを誰にでもわかるように説明するということは、正直ものすごく難しいような気がしている。
データというものが一体哲学的に見てどういう意味を持っていて、データの転送が終わるということが最終的に何を持って完結するのか、ということを考える必要がある。
何かトンチキな感じがするけど、大真面目だ。 データの転送というのは、単にあるPCにある情報があるPC上にコピーされることを意味していて、それだけでは、何も面白くないことだ。 しかし、その転送されるデータが、人間にとってどういう意味があるのかによって、その転送に対する性質が「天と地がひっくり返るほど」ぜんぜん変わってくる。
転送されるデータが、道端の野良犬の写真であれば、単にそのデータはパソコンからパソコンへと転送されるだけだ。 しかし、転送されるデータが、「私の彼氏(既婚)との秘密の行為の結果できあがった写真」だとしたら、転送される意味は大幅に変わる。
その転送された写真を見ることが出来る人に厳重なチェックが必要となり、正式なアクセス権利を持った人以外は絶対に見ることが出来ないようにする必要があるだろう。 そのデータが転送された経路を確実に追跡できる「書留」のようなシステムも必要となる。 盗聴されても決して内容が知られることのない暗号化システムも必要となるだろう。 あるいは、任意のタイミングで瞬時に一般公開する、という機能も必要かもしれない。
これは日本ではこのように考えられるかもしれない。 だがタイのようにあまりプライバシーという考え方を重視しない国では、さしたる意味を持たないかもしれない。
転送されるデータは単純な0~255までの数値の羅列なのだが、これに記号的な意味が加わり、社会的な意味合いが加わることによって、上記のように、転送に求められる機能が大幅に変わる。
◇
今のパソコンが苦手なことに、「約束」を実装する機能が低い、ということが挙げられる。 こうやって書かれた日記が本当に「おかあつ」が書いたことなのか、断定できるだろうか。 おそらくおかあつが書いたことだ、ということはわかるだろうが、ひょっとしたらあかの他人が成りすまして書いているのかもしれない。
こうやってmixiに日記を書くことによって1000万円とか2000万円とかいった重大な取引を行うことが出来るだろうか。 多分無理だ。 悪いことが好きな奴に確実に狙われ、成りすまして横領されてしまう。 mixi にはそこまでの確実さはない。
これをPC上で実装するためには、約束というものが、論理的に見たときにどのような性質を持っていてどのような振る舞いをするものなのかについて、本質的な理解が必要となる。
◇
続く。
コメント一覧