Ticket #26767

SSL証明書ワイルドカード名の確認

Eröffnet am: 2011-11-19 11:29 Letztes Update: 2011-11-23 12:49

Auswertung:
(Anonym)
Verantwortlicher:
(Keine)
Typ:
Status:
Geschlossen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine

Details

gitのtestのc5f759cca631e9411e4705668c8cc90134fb9cd0について。
socketwrapper.cのIsHostNameMatched()のワイルドカード比較アルゴリズムは、FTPSのRFC4217が参照するRFC2818のsubjectAltName拡張比較で禁じている下記のサブドメイン付きホスト名との一致を起こしてしまいます。
"*.a.com matches foo.a.com but not bar.foo.a.com."

ややこしい話をすると、ワイルドカード文字は RFC2595/2818/4513/5425 などプロトコルごとに微妙に扱いが異なります。ウェブブラウザでも製品やリリース時期によってどの範囲のマッチを許すか違うようで、FFFTPの現在の実装と同じ振る舞いもあったようです。しかし、現在の証明書発行各社の説明を読む限りだとサブドメイン付きでの一致は想定していないようで、CommonNameのワイルドカードはsubjectAltNameと同等の扱いを期待しているようです。ちなみに、マイクロソフト製品の現在の仕様はKB258858のようです。
また、TLDのワイルドカードは規約上は禁止はされていないようですが、禁止するか警告するかオプション設定できると安心です。

ついでですが、ワイルドカード証明書のついでにsubjectAltName拡張(SAN拡張)もサポートしたほうがよろしいかと(サポート済みでしたらごめんなさい)。たとえばtwitterはSAN拡張を使っています(FTPSのサーバが使うとは限りませんが)。https://twitter.com/

以上、ご検討下さいませ。

Ticket-Verlauf (3/5 Historien)

2011-11-19 11:29 Aktualisiert von: None
  • New Ticket "SSL証明書ワイルドカード名の確認" created
2011-11-19 15:32 Aktualisiert von: s_kawamoto
Kommentar

なるほど、詳しい説明ありがとうございます。

現在のバージョンではCommonNameが一致してもしなくてもユーザーに確認する仕様になっていますので、危険性は低いと思いますが、念のためRFC2818のように「*」はドメイン一つ分まで一致させるように変更したいと思います。

また同様の理由でSAN拡張も考慮していませんし、それが必要なホストを私は見たことがありませんが、重要性について調査してみます。

2011-11-19 16:40 Aktualisiert von: s_kawamoto
Kommentar

とりあえずRFC2818に準拠するように変更しました。 正式版1.98dに適用する予定です。 http://git.sourceforge.jp/view?p=ffftp/ffftp.git;a=commit;h=ec3a0422703d76cef8ced61fd90062e5c2d67925

2011-11-19 18:15 Aktualisiert von: None
Kommentar

早速の対応ありがとうございます。ソースをみて、サブドメインに一致しなくなっていることを確認しました。
少し不思議に思ったのは、「*」が連続した場合スキップしていますが、「**.example.com」みたいなワイルドカード表示がされる場合があるのでしょうか

また、SAN拡張につきましては、FTPSサーバで使われていないなら非対応のままで問題ないと思います。

2011-11-23 12:49 Aktualisiert von: s_kawamoto
  • Ticket Close date is changed to 2011-11-23 12:49
  • Status Update from Offen to Geschlossen

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden