Let's Encrypt証明書におけるAndroidデバイスの互換性拡張
更新日、2021年5月13日
チェーンの変更に関する最新情報については、当社のコミュニティフォーラムの[この投稿] (https://community.letsencrypt.org/t/production-chain-changes/150739) をご覧ください。このブログ投稿の変更と日付に関する情報は古くなっています。
クロス署名された中間証明書の期限切れ後も、古いAndroidデバイスでLet's Encrypt証明書を使用するサイトにアクセスできる方法を開発できたことを嬉しく思います。Let's Encrypt加入者にとって互換性の問題を引き起こす可能性のある1月の変更は、もはや予定していません。
今後のチェーン切り替えに関する投稿における繰り返しテーマは、7.1.1より前のAndroidオペレーティングシステムのユーザーへの影響に関する懸念でした。これらのデバイスは、当社のISRG Root X1を信頼しません。コミュニティの革新的なアイデアと、IdenTrustの素晴らしいパートナーのおかげで、広範な互換性を維持できるソリューションができました。非営利団体としての私たちの使命において重要なのは、より安全でプライバシーを尊重するWebをできるだけ多くの人々のために作り出すことです。この取り組みは、その目標に近づけるものです。
IdenTrustは、彼らのDST Root CA X3から当社のISRG Root X1に対して3年間のクロス署名を行うことに同意しました。新しいクロス署名は、DST Root CA X3の期限切れ後も延長されるため、いくぶん新しいものです。このソリューションは、Androidが意図的に信頼アンカーとして使用される証明書の期限日を確認しないため機能します。ISRGとIdenTrustは、この計画を見直し、コンプライアンスに関する懸念がないことを確認するために、監査担当者とルートプログラムに連絡を取りました。
そのため、ISRG Root X1とDST Root CA X3の両方を含むチェーンを加入者に提供できるようになり、すべてのユーザーへのサービスを中断することなく、懸念していた潜在的な問題を回避できます。
2021年1月11日に予定していたチェーン切り替えは行いません。代わりに、1月下旬から2月上旬にかけて、この新しいチェーンをデフォルトで提供するように切り替えます。今月初めのR3中間証明書への切り替えと同様に、この移行はLet's Encrypt加入者には影響しません。
いくつかの追加の技術的な詳細を以下に示します。
私はACMEクライアント開発者です。何をすればよいですか? クライアントがX3からR3への移行をスムーズに処理した場合、アクションを実行する必要はありません。クライアントが発行の最後にACME APIによって提供される中間証明書を正しく使用し、他の手段(例:ハードコーディング、ディスクに既に存在するものを再利用、またはAIA URLからのフェッチ)で中間証明書を取得しないことを確認してください。
私はLet's Encryptの加入者です。何をすればよいですか? ほとんどの場合、何もする必要はありません。確認したい場合は、ACMEクライアントが最新であることを確認してください。
古いAndroidデバイスを使用しています。何をすればよいですか? 何もする必要はありません!この変更がエンドユーザーにとって完全に目に見えないようにしようとしています。
具体的に何が変わるのですか? 現在、加入者がAPIから証明書を取得すると、デフォルトで次のチェーンが提供されます。加入者証明書 <– R3 <– DST Root CA X3 この変更後、デフォルトで次のチェーンが提供されます。加入者証明書 <– R3 <– ISRG Root X1 <– DST Root CA X3 つまり、中間証明書が1つではなく2つ含まれるため、加入者に提供するデフォルトのチェーンは以前より長くなります。これにより、TLSハンドシェイクは大きくなり、効率がわずかに低下しますが、追加の互換性のためにトレードオフは価値があります。
しかし、DST Root CA X3は期限切れにならないのですか? DST Root CA X3キーペアを表す自己署名証明書は期限切れになります。しかし、ブラウザとOSのルートストアには証明書自体が含まれているわけではなく、「信頼アンカー」が含まれており、証明書を確認するための標準では、実装が信頼アンカーのフィールドを使用するかどうかを選択できます。Androidは、信頼アンカーのnotAfterフィールドを使用しないことを意図的に選択しています。ISRG Root X1が古いAndroidの信頼ストアに追加されていないのと同様に、DST Root CA X3は削除されていません。そのため、独自の自己署名証明書の期限切れ後も有効なクロス署名を発行できます。
新しいクロス署名が期限切れになった場合はどうなりますか? この新しいクロス署名は2024年初頭に期限切れになります。それより前、早ければ2021年6月にも、1月に予定していたものと同様の変更を行います。その変更を行う際に、加入者はACMEクライアントを構成して具体的に要求することにより、DST Root CA X3を引き続き使用できます。(例:代替チェーンを構成したり、古いAndroidデバイスのユーザーにFirefoxのインストールを推奨したりすることにより)チェーンの切り替えを軽減するために既に取り組んでいるLet's Encryptの加入者は、その作業を継続して、将来に備えてください。
代替チェーンはどうなりますか? 現在、一部のACMEクライアントは、ユーザーが構成している場合、代替チェーンを要求できます。現在、次のチェーンを取得するオプションを提供しています。加入者証明書 <– R3 <– ISRG Root X1 この同じチェーンを引き続き代替として提供します。ただし、ほとんどのACMEクライアントはまだこの代替チェーンを選択する方法がありません(たとえば、Certbotは指定された発行者名を含むかどうかを確認することでチェーンを選択しますが、このチェーンには上記の互換性の高いチェーンに含まれていない発行者名はありません)。今後、より柔軟なチェーン選択メカニズムを作成するために、ACMEクライアント開発者と協力します。
これは今後のECDSAチェーンと何の関係がありますか? この変更は、今後のECDSAベースのISRG Root X2とE1中間証明書の発行とは関係ありません。これらを使用して、より小さく効率的な証明書とチェーンを提供することを楽しみにしていますが、この将来の提供はこの変更とは関係ありません。
さらに質問があります。どのように回答を得ることができますか? ご質問は、当社のコミュニティフォーラムをご覧ください。
将来的には、この計画が機能するしくみと理由に関するより詳細な技術情報を共有し、DST Root CA X3の期限切れがWebのセキュリティに影響しない理由、そしてこの計画が加入者とWebのエンドユーザーにとって長期的にどのような意味を持つのかを示したいと考えています。
サービスを提供するために、サポーターからの貢献が必要です。貴社の企業または組織がLet's Encryptをスポンサーしたい場合は、sponsor@letsencrypt.orgまでメールでお問い合わせください。可能な場合は、個人からの寄付をお願いします。