- - PR -
PKIの通信について教えてください
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-02-17 16:24
> クライアント側の証明書を確認(verify)する際、プライベートCAへの問い合わせは発生しないようです。
Verifyとは証明書に含まれているデジタル署名の検証し、証明書が改竄されていないかを確認する行為です。 証明書に記載されている公開鍵とデジタル署名だけで完結しますので、CAへ問い合わせる必要性が無いという事ですね。 これとは別に証明書の失効確認をするには、CAが発行するCRLを入手するかOCSPで問い合わせる必要が有ります。 | ||||||||||||
|
投稿日時: 2008-02-18 11:19
な、なんと?!証明書がそのように自己完結しているのなら、CAなどはいらなくなり、世の中 「オレオレ証明書」だらけになるでしょう。誰を信じればよいというのでしょうか?自己完結 している証明書、すなわち「自己署名証明書」を信じろと?! | ||||||||||||
|
投稿日時: 2008-02-18 12:59
大げさでしょう。単に、 「ローカルに保存されたCA証明書に記載されている公開鍵と対象の証明書に含まれているデジタル署名だけで完結しますので、CAへ問い合わせる必要性が無いという事ですね。」 の、一部を書いていなかっただけの話ではないですか。 ※ちゃんというなら、「検証対象データ」+「署名検証用公開鍵」+「署名」の3種を挙げるべきでしょうが。 ※なお、中間CAの話は省略で。 | ||||||||||||
|
投稿日時: 2008-02-18 14:44
当たり前のことしか言っていません。大げさとは言いがかりです。
どうして完結しますかね?その「デジタル署名」をしたのがそのCA証明書の公開鍵の「所有者」 だとどうしていえますかね? 完結するといえるのは、証明書チェーンをたどったときに、1ステップでルート証明書にいき つき、即座に検証が完了する場合だけです。 一般的に何ステップでルート証明書にたどりつくかはわからず、中間の証明書がすべてローカル に保持されている保証もないと思います。ですから簡単に「完結する」といわれても困ります。
省略できません。 今回の話はわざと中間CAなしに「完結」させるようにしているだけで、一般論としては証明書 の検証には証明書チェーンをたどる必要があり、それは何ステップあるかわからず、中間の 証明書がすべてローカルに保持されている保証もないと思います。 | ||||||||||||
|
投稿日時: 2008-02-18 16:46
横から失礼します。 ローカルに保存されていないとパス構築・パス検証は行えません。 だから、IEの証明書マネージャーに全部入っています。また、ブラウザにより登録されているCA(中間も含む)の数も異なるため、ブラウザによりエラーが出たり、でなかったりすることもあります。 例えば、日本認証サービスから発行される証明書は、IEでならエラーがでませんが、FireFoxならエラーになります。 CAにはアクセスなんてしませんよ。 ただ、仰るとおり、登録なんて現実的でないため、SCVPなどのプロトコルがあります。このときは、VAサーバにアクセスしています。 ただ、対応レベルで言うと低い(はず)ので、WindowsならWindowsUpdateで最新のCA証明書(中間も含む)を取り込んでいますね。 [ メッセージ編集済み 編集者: tof 編集日時 2008-02-18 16:48 ] | ||||||||||||
|
投稿日時: 2008-02-18 18:08
tofさん、ありがとうございます。参考になります。
論点が微妙にずれている点もあるので、補足させてください。 まず議論のベースとして、IEの実装をベースに考えてはいません。今回の対象はVPN機器ですし、 実装は特定していません。ですのでRFC 3280あたりをベースにして考えたいです。 PKIがどのようなものであり、証明書パスがどのようなものであるかについては、RFC 3280の 3 Overview of Approach をベースに考えています。 この中では中間証明書を含む、すべてのCA証明書がEnd entity(PKI users)側で事前に保持 されているなどとは想定されていないように思えます。もしそうだとしたら、そのPKIシステム は全然スケーラビリティがないように思えます。Certificates and CRLs Repositoryはいっ たい何のためにあるのでしょうか? 私の理解では証明書パスを構築するときには証明書ストアを見にいきますが、それはローカルに あってもよいし、リモートのリポジトリであってもよいというものです。ローカルに全証明書 があって「完結」した形態というのは、考えていませんでした。 証明書の検証のさいに証明書チェーンをたどるといっているのは、RFC 3280の 6 Certification Path Validation で記述されているアルゴリズムを指します。 「CAにはアクセスなんてしませんよ」とおっしゃいますが、私はそのようなことは一言もいって おりません。ご注意願います。 RFC 3280には 3.4 Operational Protocols 3.5 Management Protocols がのっていますが、私が想定しているのは当然Operational Protocolsであり、これはCAとの 間のトランザクションではなく、repositoryとの間のトランザクションです。 私がこちらを想定していることは、文脈からして自明だと思っています。 SCVPについては想定外でした。SCVPがどこまでこの議論に関係してくるかはわかりません。 もともとPKI通信とは何か?、認証時、特に証明書を検証するときに、そういうものが必要な のか、必要でないのかが論点だと認識しております。 ちなみに私にとってはPKIは謎や不可解な点に満ちており、あまりよくわかっていません。 この会議室を通じて少しでも理解を深めたいと思っております。 では。 | ||||||||||||
|
投稿日時: 2008-02-18 19:31
余談ですが、TLS(SSL)の場合はサーバ側に中間証明書を含む証明書チェーンを置いておくこと
になっています。これは例えばRFC 4346の 7.4.2. Server Certificate で規定されています。 サーバに中間証明書を入れてない場合は、クライアント側で(通常は)証明書パスをたどれま せんが、このケースは「第六種オレオレ証明書」と呼ばれています。 IEでは自動的に中間証明書をダウンロードするという指摘もあります。 http://takagi-hiromitsu.jp/diary/20071212.html#p01 tofさんのおっしゃるIE/Firefoxうんぬんはこの部分に関係した話のような気が何となくしま す... 基本的に証明書パスをたどれないのが「オレオレ証明書」です。ですから中間証明書をちゃんと 渡さないのもオレオレということでしょう。 ただTLS(SSL)と一般的なPKIのケースでどう違うのかが、私にはどうもはっきりわかりません。 | ||||||||||||
|
投稿日時: 2008-02-18 20:38
えーと。話が予想外の方向に行ってしまったのですが…。
「当たり前のこと」という表現もどうかと思いますが。それよりも。 blunder氏の発言内容単体が正しいかどうか、というよりも、既存の話に沿っているか、という点で不適切だと考えましたので。 まぁ坊氏のコメントが誤解を与えかねない、というお話なら否定はしませんが、ちょっと文言を補えば良いだけのコメントに対しての反応としては、やはりおおげさだと思います。 …で、その後の話として、blunder氏が何をどう問題にしているかが、正直わかりません。 話の整合性がとれているかも、私からは疑問です。 お互いの前提となる認識にズレがあるのは確かなようですがね。 本スレッドからもかなり脱線しているように見えますので、続けるなら、改めて別スレッドにしませんか? |