何かのようなもの *.com
または*.net
? *.edu.au
?
RFC 2818は、このトピックについて何も述べていません。
はい、発行できます。
幸いにも、一般的なブラウザーはTLDのワイルドカード証明書を受け入れません。
// Do not allow wildcards for public/ICANN registry controlled domains -
// that is, prevent *.com or *.co.uk as valid presented names, but do not
// prevent *.appspot.com (a private registry controlled domain).
// In addition, unknown top-level domains (such as 'intranet' domains or
// new TLDs/gTLDs not yet added to the registry controlled domain dataset)
// are also implicitly prevented.
// Because |reference_domain| must contain at least one name component that
// is not registry controlled, this ensures that all reference domains
// contain at least three domain components when using wildcards.
size_t registry_length =
registry_controlled_domains::GetCanonicalHostRegistryLength(
reference_name,
registry_controlled_domains::INCLUDE_UNKNOWN_REGISTRIES,
registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES);
// ... [SNIP]
// Account for the leading dot in |reference_domain|.
bool is_registry_controlled =
registry_length != 0 &&
registry_length == (reference_domain.size() - 1);
// Additionally, do not attempt wildcard matching for purely numeric
// hostnames.
allow_wildcards =
!is_registry_controlled &&
reference_name.find_first_not_of("0123456789.") != std::string::npos;
}
Googleが許可しないドメインの完全なリストは net/base/registry_controlled_domains/effective_tld_names.dat
IEおよびFirefoxを含む)他のブラウザもこれを行います。
DigiNotarが発行した偽の証明書のリスト には、「*。*。com」があります。これは明らかに制限を回避するための試みです。
発行部分については、すべてを証明書に入れることができます。名前が「ワイルドカード」であることは、CAにとって特別な意味はありません。 CAはSubject Alt Name
拡張子に文字列をdNSName
として配置し、それだけです。この文字列に "*
"文字が含まれているかどうかは、CAの動作には影響しません。
重要なのはSSLクライアントが「有効な証明書」、つまり目的のサーバー名(URLに含まれているもの)と「一致する」名前を含む証明書として受け入れるものです。これは名目上 RFC 2818、セクション3.1 で指定されており、 "www.*.*c*
"などの多くの種類のワイルドカード名を許可し、(理論的には)3つのコンポーネントを含む任意のサーバー名に一致します。最初は「www
」で、3番目は少なくとも1つの「c
」を含みます。 Webブラウザーベンダーはすぐにこの仕様を次のように検討しました。
そのため、ブラウザベンダーは独自のスキームと制限を設けました。かなり後に、 新しいRFC (2011年3月からの6125)が発行され、 セクション6.4. は、証明書のワイルドカード名の処理に特化しています。 RFC 6125が説明しているのは、現実とより調和しており、isは「提案された標準」であるため、少なくともある程度は、それを実現する意志があります。ただし、RFC 6125には、*.com
の拒否を義務付けるものはありません。それでもブラウザdo拒否します。
私はこれを一般的なブラウザーでテストしましたが、3つの大きなブラウザー(とにかくウィンドウズ)はこれを受け入れません。私が行っていないのは、この攻撃の真の標的であるimoであるモバイルプラットフォームで試してみることです。 iOSには証明書を取り消す方法がないため、Appleがパッチをリリースしてパッチを適用するまで、脆弱性が存在する何百万ものiデバイスがあります。
これを試すための明白な場所:影響のあるActiveSync:交換するActiveSync、SSL VPNクライアント、iDevice上のSafari、Android上のストックブラウザ。