2004年03月27日

クランベクターの実現方法の変更

CACAnetの証明書発行モデルには、「クラン・ベクター」という概念があります。
これは、誰が誰に証明書を発行したのかということを後で追跡可能にするというための仕組みです。具体的には、発行元と主体の証明書の識別子の対の連鎖をCACAnetが管理するということです。

このクランベクターの概念について簡単に説明します。

CACAnetは、カジュアルなPKIと、プライバシー保護を目的にしています。
実際の証明書発行のポリシーは、cpsなどで決定されますが、例えば次のようなことも許容できるようなシステムを想定しています。

●匿名の証明書
●一人に複数枚の証明書を発行する

また、カジュアルなPKIでは、「RAは必ずしも信用できない」ということも想定せざるをえません。少なくとも、次のことが条件になります

●RAによる不正が発生したときに、そのPKIの全体が破綻してはならない

つまり、RAによる不正が行われたことが判明した場合、そのRAが発行した証明書を一括して廃棄できるような仕組みを作ることによって、被害を最小限に食い止めようというはなしです。

このクランベクターの実現のために、CACAnetの証明書にはそれを発行したRAの証明書の識別子が入っています。

この識別子の入れ方が問題になりました。

これまでは、RAの証明書のシリアル番号を入れていました。

しかし、証明書の中にシリアル番号をちゃんと入れるためのフィールドがないため、苦し紛れにDNのOUにいれていました。

でも、それだとRAの証明書の更新が発生すると、その後に同一人物に発行された証明書のDNが変わってしまい、ディレクトリ的には「別人物」になってしまうという問題がありました。

そこで、証明書の中でRAの識別情報を入れる適切な場所を検討した結果、

issuerAltName にRAの電子メールアドレスを入れるという方針にしました。

★注意1

匿名証明書の場合にも電子メールアドレスは必須になってしまいます。
ただし、証明書の取得に使用するメールアドレスは基準を設けませんので、フリーメールなんかを使ってもいいわけなので、そういう意味では匿名性は保証されていると言ってよいかと思います。

★注意2

一人の人間が複数の証明書を取得する場合、メールアドレスが違っていれば問題ありません。
同じメールアドレスの証明書を複数発行してほしい場合ですが、その場合は、CNを変えると違う証明書が作れます。

Posted by yamasaki at 2004年03月27日 18:34 | TrackBack
Comments
Post a comment









Remember personal info?