どうも、証明書ハンターです。最近、個人的におもしろい証明書の話題がポンポン出てきたので、何回かに分けてご紹介したいと思います。

山賀さんのFacebookのフィードを見ていたら、 韓国政府PKIでまずい証明書を発行したというニュース(Google翻訳で読んでくださいw)を教えていただきまして、ハンターとしてはゲットしてコレクションに加えておきたいところ。

その問題というのは、韓国政府PKIが慶尚南道教育庁に不適切なワイルドカードSSLサーバー証明書を発行してしまったというもの。 慶尚南道は韓国の南東、釜山のすぐ北にあるのだそうです。

韓国のサイトは日本と同じでセカンドレベルを組織種別とする属性型ドメイン名を採用していて、政府系ドメインは「go.kr」のようになっていますが、以下のドメインに対してワイルドカードSSLサーバー証明書を発行してしまいました。

  • *.hs.kr - 高校
  • *.ms.kr - 中学校
  • *.es.kr - 小学校
  • *.kg.kr - 幼稚園
  • *.sc.kr - その他の学校
  • *.or.kr - 非営利団体
すると、この証明書と秘密鍵があれば、韓国の任意の学校のフィッシングサイトを作ったり、暗号通信の盗聴や改ざんができてしまう可能性があり、韓国政府認証基盤(GPKI)の信頼が揺らいでしまったとニュースでは指摘しています。一体、どんなドメイン確認処理(validation)をしてたんですかねぇ?

Google先生に聞いてみてもすぐはそのマズイ証明書が見つかりませんでしたが、Certificate Transparencyのログを見てみたら。ココにありました。(CTありがと〜〜〜〜、昔非難しててごめんよ〜〜〜(泣))

subjectAltNameを見てみると

X509v3 Subject Alternative Name: DNS:www.haeseong.kr DNS:haeseong.kr DNS:www.gandhischool.net DNS:gandhischool.net DNS:www.milgo.org DNS:milgo.org DNS:*.go.kr DNS:*.co.kr DNS:*.sc.kr DNS:*.or.kr DNS:*.kg.kr DNS:*.hs.kr DNS:*.ms.kr DNS:*.es.kr DNS:*.gne.go.kr DNS:support.gne.go.kr
一部の特定の高校まで入ってるのもどうかと思いますが、 バッチリワイルドカード入っちゃってますねぇ、、、って、あれれ??? 「*.go.kr」の政府向けドメインや「*.co.kr」企業向け のワイルドが入っちゃってるじゃないですか??? ニュースにある証明書のキャプチャと違うぞ!!! 学校サイトなんかど〜〜でもよくて、それより、 全韓国政府系ドメイン向けや、全韓国企業向けのワイルドの方が、 特大の問題で、盗聴なんかされたらマズイんじゃないですかねぇ。 そのあたりは報道が忖度したんですかねぇ、、、

ただ、このSSLサーバー証明書は、ルートが韓国政府のルートCAで、ChromeでもFirefoxでも信頼されたルートに入っていないから、韓国の人以外が被害に合うことは、ほとんど無いんじゃないかと思います。

で、この証明書がちゃんと失効されているか知りたかったんですが、CRLDPが

URI:ldap://ldap.epki.go.kr:389/cn=crl1p1dp14256,ou=CRL,ou=GPKI,o=Government of Korea,c=kr?certificateRevocationList;binary
LDAP URIになっていて、このLDAPサーバーがどうも匿名アクセスができず、普通にはCRLを取得できなそうにないんです。ChromeもFirefoxもIEもLDAP URIによる失効検証は(IEとADサーバーの組み合わせ以外は?)サポートしていないので、CRL失効検証はできず、OCSPもないようなので、どうやってブラウザで失効検証すりゃいんですかね?韓国のPKIに詳しいお友達がいる方は、教えていただけると嬉しいです。

というわけで、韓国GPKIのマズイ証明書発行のニュースを紹介し、私は無事、おもしろい証明書「ゲットだぜ!」

今日はこの辺で、、、あと二本ぐらい、近日中に書きたいと思ってます。

追記(2018.04.11)

他の韓国GPKI発行の証明書を見ていたら、HTTPからCRLを取れるようになっているようで、LDAP URIの情報から当該のCRLを取得することができました。で、中身を見てみたところ、このマズイ証明書も含め、現時点で一枚も失効させている証明書はありませんでしたので、一応ご報告。

追記(2018.04.14)

ちょっと探しものをしていたところ見つけた、韓国GPKIが発行している

Subject DN: CN=e-csinfo.*.go.kr
SAN DNS: e-csinfo.*.go.kr
このワイルドカード証明書もとても怪しい。 管理主体が全くわからず、全省庁の e-csinfo.*.go.kr サイトを保護しているって、 これ何だ???具体的なサイトは jbe.go.krsen.go.kr などがあるようで、共通管理はされているっぽいんだけど。