前回はDigiNotar Cyber CAの証明書の不可解な点について 紹介しましたが、今回は「わけのわからないシリーズ第2段」として DigiNotar OCSPレスポンダ証明書の不可解な点について 紹介していこうと思います。 OCSPやOCSPレスポンダとは何かについては @ITの記事で詳しく紹介されているのでご覧ください。
ocsp-nocheck拡張とOCSPレスポンダ証明書の有効期間のミスマッチ
まず最初に、 validation.diginotar.nlのOCSPレスポンダ証明書には ocsp-nocheck拡張が設定されています。 これは、「(OCSPレスポンダ証明書の有効期間が非常に短く設定されており、OCSPレスポンダの 鍵は頻繁に更新するので鍵危殆化リスクが少なくOCSPレスポンダ証明書を 失効させることもないので)OCSPレスポンダ証明書を失効検証する必要はありませんよ」 という意味を持つフラグです。 ところが、validation.diginotar.nlのOCSPレスポンダ証明書の有効期間は
notBefore: 2007.11.21と10年の長きに渡るOCSPレスポンダ証明書なので、失効検証しないというのは難しいかなと思います。 このような状況では、OCSPレスポンダ証明書の廃棄は、上位のCAである DigiNotar Services CAごと廃棄するしか方法がありません。
notAfter: 2017.11.21
オレオレOCSP???
なんと驚いた事にvalidation.diginotar.nlのOCSPレスポンダ証明書には 機関情報アクセス(authorityInfoAccess)のOCSPのフィールドがあり、 他のSSLサーバー証明書などと全く同じ http://validation.diginotar.nl という URIを持っています。つまり、OCSPレスポンダ証明書自体がOCSPで検証してよいことを言っています。
これはおかしな話で「OCSPレスポンダ証明書が有効かどうかOCSPレスポンダに聞きに行く」って ことで、こりゃオレオレですよね?
最悪の場合、実装によってはOCSPを使ったパス検証がループしてしまう可能性だってあります。
- www.diginotar.nl が正しいか聞く
- 失効検証のため www.diginotar.nl が有効かOCSPに聞く
- OCSPレスポンダ証明書が有効かOCSPに聞く
- OCSPレスポンダ証明書が有効かOCSPに聞く
- OCSPレスポンダ証明書が有効かOCSPに聞く
•••永遠に続く
おわりに
前回紹介したDigiNotar Cyber CAの証明書も怪しかったですが、 DigiNotarのOCSPレスポンダ証明書も相当怪しいです。 DigiNotarは全体的に凝ったPKI設計になっていますが、いろんなところで間違えています。 (できないなら)シンプルに行った方がいいんじゃないかと思うんですけどねぇ。
今日はこんなところで