証明書の不正発行や日付改ざんを行っていた認証局「WoSign」、Firefoxが同社による証明書をブロックへ 27
ストーリー by hylom
他ベンダーも続くか 部門より
他ベンダーも続くか 部門より
あるAnonymous Coward曰く、
先日、中国大手SSL認証局「WoSign」で不正に証明書を取得できてしまう問題が明らかになったが、これを受けてFirefoxが同社の発行した証明書をブロックする方針を固めたようだ(GIGAZINE、Threatpost)。
WoSignで明らかになった問題点として、あるドメインに対しそのサブドメインに対応付けられたサーバーの管理権限を持っていれば、そのルートドメインに対するSSL証明書を取得できるというものが挙げられていた、これ以外にもSSL証明書無料発行サービスを提供しているイスラエルのStartComを買収していたにも関わらずそれを公開していなかったり、「2016年以降発行すべきではない」とされていたSHA-1を使った証明書を日付を偽装して発行していたことなども判明しているという。
一方で、Firefox は Let's Encrypt を信頼済みルートCAへ追加 (スコア:3)
Mozilla が Let's Encrypt Root を認証局として信頼 [letsencrypt.jp] によると、Firefox 50 以降では、Let's Encrypt が Firefox の信頼されたルート証明機関に含まれるようになります。
今までは、Let's Encrypt は、IdenTrust Root からチェーンされていたことで信頼済みとして扱われていたわけですが、これからは独立した認証局として信頼済みとなります。
無料でTLS証明書を発行している中国のCA「WoSign」をブロックする一方で、同じく無料でTLS証明書を発行する「Let's Encrypt」が新たに信認されるわけなので、Let's Encryptのシェアはこれからもどんどん伸びていくでしょうね。
# OSの証明書ストアをそのまま使っているChromeと違って、Mozillaは独自のストアを持っているので機動性が高くて良いですね。
Re:一方で、Firefox は Let's Encrypt を信頼済みルートCAへ追加 (スコア:1)
Let's Encryptも同じ問題を抱えているという指摘 [ya.maya.st]もあるため、これが事実ならば信頼済みに入れて欲しくないですね。
Let's Encrypt、というよりACMEプロトコルの仕様は問題ないと思う (スコア:5, 参考になる)
全然同じじゃないです。中国最大級の認証局「WoSign」がニセの証明書を発行していたことが判明 [gigazine.net]によると「WoSign」の件は「脆弱性」です。一方、「DNSレコードに認証用のレコードを追加」することでドメイン所有者と認証されるのはACME プロトコルの仕様です。認証の仕組みの概要についてはLet's Encrypt の仕組み [letsencrypt.jp]をご覧ください。
そもそも、ACMEプロトコルの認証用レコードに「_」が含まれているのは、セキュリティ上の理由です。DNSにはアンダースコア付きのレコードが登録できる [ietf.org]けど、HTTP [ietf.org]とかSMTPとかでは使えないので、ホスティングサービスにおいてユーザーにアンダースコア付きのサブドメイン名を自由に登録させる必要性がないことから、ドメイン所有者の認証用として使っているのです。
ホスティングサービスなどでユーザーに自由にTXTレコードを登録させたらセキュリティ上問題なのは、少なくともそういったサービスを運営するエンジニアにとっては常識です。例えば、
といったTXTレコードを登録すると、DKIMに対応したメールサーバ(GMail, Yahoo Mail, etc)においては、悪意のあるユーザーの秘密鍵で署名したメールのみがDKIM署名付きの正規のメールとして扱われてしまい、それ以外のメールはなりすましと判断されて全拒否(迷惑メールフォルダ行きではなく受信自体されない可能性が高い)されてしまいます。
アンダースコア入りのTXTレコードでドメイン所有者を認証するのは、昔から他のプロトコルでも行われていたことであり、ACMEプロトコルの仕様は問題ないと思います。
そして、ユーザーが自由にサブドメインを作れるサービス(レンタルサーバとかレンタルブログとか)で、「_acme-challenge.example.com」のようにサブドメイン名にアンダースコアが使えるようなサービスは見たことがないので実害も無いでしょう。仮にそういったサービスがあったとしても、更にTXTレコードまで自由に登録できてしまうサービスというのは皆無です。
Re:Let's Encrypt、というよりACMEプロトコルの仕様は問題ないと思う (スコア:2, 参考になる)
ここまで間違い・まとはずれだらけなコメントが参考になるといわれても。
全然同じじゃないです。
同じです。
WoSignと同様にサブドメイン管理者が親ドメインのSSL証明書を取得できることに問題があるという指摘ですが、理解できていますか?
TXTレコードでドメイン所有権を確認することは一般的ですが、サブドメインのTXTレコードで親ドメインの所有権を確認するのは、一般的ではありません。
ACMEなんて、Let's Encryptのために作られたもので実績も何もないです。
それを「問題ないと思います」といわれても、実際に問題があるでしょ、としかいえません。
HTTP [ietf.org]とかSMTPとかでは使えない
使えます。 [ietf.org]
Re:Let's Encrypt、というよりACMEプロトコルの仕様は問題ないと思う (スコア:2)
ご指摘ありがとうございます。
RFC 2616(HTTP/1.1)の URL の定義の参照先は RFC 2396 であるためアンダースコアは使えませんが、RFC 2616 は2014年6月に改訂版HTTP/1.1 仕様 (RFC7230 ~ RFC7235) が発行されたことにより廃止になっており、「HTTPとかSMTPとかでは使えない」の根拠として不適切でした。新しい HTTP/1.1 の RFC を確認したところ、[RFC 7230] 2.7. Uniform Resource Identifiers [ietf.org] の参照先は [RFC 3986 Uniform Resource Identifier (URI): Generic Syntax] 3.2.2. Host [ietf.org] になっており、URI の書式としてホスト名にアンダースコアが使えるようになっていました。廃止になった古いRFCを提示してしまったことを、お詫び申し上げます。
ホスト名にアンダースコアは使えないと記憶していたので調べなおしてみたところ、有効なホスト名の制限 [wikipedia.org] に、
と、ホスト名にはアンダースコアが使えないとありました。しかし、RFC 952 も古いので、新しいインターネットにおけるホスト名の要件が定義された RFC 1123 を確認したところ、ホスト名に使える文字は増えたものの(先頭に数字も使えるようになった)、アンダースコアが使えないのは同じでした。
新しい HTTP/1.1 の仕様(参照先RFC 3986は URI の仕様)では確かにホスト名にアンダースコアは使えるけど、インターネット上のホスト名にはアンダースコアは使えない([RFC 1123 ]Requirements for Internet Hosts -- Application and Support [ietf.org])ので、アンダースコアを含むホスト名の使用はイントラネットやローカルなどでの使用に限定されるようです。
「サブドメインのTXTレコードで親ドメインの所有権を確認する」のは、一般的です。
確かに、SPFレコードなんかは、親ドメインに効力を与えるのは親ドメインのTXTレコード("@")だし、サブドメイン付きの "@mail.example.com" に効力を与えるのは "mail" というサブドメインのTXTレコードです。
しかし、前述した DKIM や DomainKeys の仕様も、「key1._domainkey」「_adsp._domainkey」「_policy._domainkey」といったサブドメインのTXTレコードが、親ドメインに効力を発揮しています。これは、「_acme-challenge」というサブドメインのTXTレコードが、親ドメインに効力を発揮しているのと同じことです。それ以外にも、SRVレコードなども同じようにサブドメインのTXTレコードが、親ドメインのものとして扱われています。
DNSの仕組みは古いので、どのアプリケーションに対するレコードなのかを定義するラベルが存在しないため、DKIM とか SRV とか ACME は、サブドメイン名をラベルのように使っているわけです。
確かに、サブドメインの管理者が違うケースなどを考えるとセキュリティ上問題があるケースも考えられますが、ラベル(サブドメイン名)無しに全アプリケーション向けのTXTレコードを書くと、他のアプリケーションに向けたTXTレコードもすべて取得しなければならなくなり、効率が悪くなります。DKIM とか SRV も同様の問題を抱えているのですから、ACME が仕様を変更するのではなく、サブドメインの管理者が別の場合にはサブドメイン名にアンダースコアを認めないことでセキュリティは確保すべきだと思います。
確かにあまり良い仕様とは思えませんが、DNSの仕様が古く、TXTレコードの対象アプリケーションを指定するラベルというものが存在しないので、サブドメイン名をラベルのように使うのは現状ではやむを得ないでしょう。
Re:Let's Encrypt、というよりACMEプロトコルの仕様は問題ないと思う (スコア:1)
ふーむ、DNSへの追加とはいえ、ちょっと気になりますね
M-FalconSky (暑いか寒い)
Re: (スコア:0)
「サブドメイン管理者が」ではなくて
「親ドメインに任意のサブドメインを追加できる人」または「サブドメイン管理者で共用DNSに攻撃が可能な人」じゃないのかな
Re: (スコア:0)
別ACですが、すごく怒っているのは伝わってくるんだけど・・・
> ユーザーが自由にサブドメインを作れるサービス(レンタルサーバとかレンタルブログとか)で、
> 「_acme-challenge.example.com」のようにサブドメイン名にアンダースコアが使えるような
> サービスは見たことがないので実害も無いでしょう。
これに、反論しないとあまり意味が無いような気もしますが
そういうサービスが有るという主張をされているのでしょうか?
であれば、実例を上げてほしいですね。
# ってか、ホスト名に「_」っていつの間に使って良くなったんだっけ?
Let's Encryptは、
・親ドメインに任意のサブドメインを追加できる
StartComもやらかしてる (スコア:1)
WoSignに買収されていたというStartComですが、こっちはこっちで大ポカやらかしてます。
Let's Encrypt対抗と思われるツールを使って発行プロセスを自動化するStartEncryptという新サービスで、
本来発行されるべきでない証明書を発行できてしまう複数の穴が発見されて即サービス停止してます。
https://www.computest.nl/blog/startencrypt-considered-harmful-today/ [computest.nl]
これ、なぜか日本では報じられてないんだけど何でなんですかね。
Re:StartComもやらかしてる (スコア:1)
http://security.srad.jp/comments.pl?sid=693267&cid=3074431 [security.srad.jp]
WoSign、かなり悪質ですね。
ここまで見越して買収してると思われる。
Re: (スコア:0)
クロスルートの中間証明書もBANできればいいのにね。そういう仕組みってないのかしらん
Re: (スコア:0)
ここにタレこめば、記者の目にとまって報じられるかもよ!タレこもうぜ!
Re: (スコア:0)
報じられてないことに理由が必要ですかね。
FireFoxだけ? (スコア:0)
Microsoft が追随したら WoSign 終わるんじゃね?と思うけど、どうすんだろうな。
Re:FireFoxだけ? (スコア:1)
Apple chops woeful WoSign HTTPS certs from iOS, macOS
http://www.theregister.co.uk/2016/10/03/apple_wosign_certificates/ [theregister.co.uk]
別名義のSSL証明書認証局 (スコア:0)
用意するのでしょ。←スポンサーは誰?
Re: (スコア:0)
MSとFirefox合わせてもChromeのシェアより少ないんじゃ。Chromeはどう出る?
Re:FireFoxだけ? (スコア:2)
ChromeってwindowsではOSに依存、つまりIEと共有の証明書じゃなかったっけ?
Re: (スコア:0)
自CAを搭載したパクリブラウザ出すんじゃね?
Re: (スコア:0)
もしかしてOPERAが…
Re: (スコア:0)
先日Windowsのルート証明書の更新でWoSignの証明書に変化があったけどうまく行っていないようだ。
http://blog.livedoor.jp/blackwingcat/archives/1936783.html [livedoor.jp]
ちなみにAppleがすでに追随している。
あとMozillaのルート証明書プログラムはAndroidでも使用しているので、AndroidからもBANされるのでは。
確認方法は? (スコア:0)
ルート証明書がBANしてるのってどうやって確認すればいいんだろう。
Re: (スコア:0)
WoSignのwebサイトがWoSign発行の証明書だからアクセスすればええ
Re: (スコア:0)
WoSignのwebサイトがWoSign発行の証明書だからアクセスすればええ
先に言っておかなくてすみません。
すでに手動では無効にしてます(削除はしていない)。
なのでどういう風に無効にするのか知りた(確認した)かったのです。
firefoxで (スコア:0)
wosignを削除しても復活してる…
Re:firefoxで (スコア:1)
指摘されて自分の手元環境を確認したら同じく復活していた。
再びdeleteしたけどまた復活するのだろうか。しぶとい。
Re:firefoxで (スコア:2)
削除せずに、「信頼性を設定」から「この証明書を (Webサイトの識別|メールユーザの識別|ソフトウェア製作者の識別) に使用する」のチェックを外しましょう。
削除した場合、アップデート時などに復活することがあります。