IdenTrust ルート証明書の有効期限が切れると、古いデバイスでは Let's Encrypt の信頼が失われます

30 月 17 日 01:3 モスクワ時間、IdenTrust ルート証明書 (DST ルート CA X1) は、コミュニティによって管理されている Let's Encrypt 認証局 (ISRG ルート XXNUMX) のルート証明書に相互署名するために使用され、証明書は誰にでも無料で提供され、有効期限が切れます。 相互署名により、Let's Encrypt 証明書がさまざまなデバイス、オペレーティング システム、ブラウザで信頼されることが保証され、同時に Let's Encrypt 独自のルート証明書がルート証明書ストアに統合されました。

当初は、DST Root CA X3 の廃止後、Let's Encrypt プロジェクトはルート証明書のみを使用して署名を生成するように切り替えることが計画されていましたが、そのような移行により、サポートされていない多数の古いシステムとの互換性が失われることになります。 Let's Encrypt ルート証明書をリポジトリに追加します。 特に、使用されている Android デバイスの約 30% には、Let's Encrypt ルート証明書に関するデータがありません。このルート証明書のサポートは、7.1.1 年末にリリースされた Android 2016 プラットフォームからのみ登場しました。

Let's Encrypt は、新たな相互署名協定を結ぶ予定はありませんでした。これは、協定の当事者に追加の責任を課し、独立性を奪い、他の認証局のすべての手順と規則の遵守という点で当事者の手を縛ることになるからです。 しかし、多数の Android デバイスで潜在的な問題が発生するため、計画が修正されました。 IdenTrust 認証局と新しい契約が締結され、その枠組み内で代替の相互署名された Let's Encrypt 中間証明書が作成されました。 クロスシグネチャは 2.3.6 年間有効で、バージョン XNUMX 以降の Android デバイスのサポートが維持されます。

ただし、新しい中間証明書は他の多くのレガシー システムをカバーしていません。 たとえば、DST ルート CA X3 証明書が 30 月 1 日に非推奨になると、Let's Encrypt 証明書の信頼性を確保するために ISRG ルート XXNUMX 証明書をルート証明書ストアに手動で追加する必要があるサポートされていないファームウェアおよびオペレーティング システムでは Let's Encrypt 証明書が受け入れられなくなります。 。 問題は次のような場合に現れます。

  • ブランチ 1.0.2 までの OpenSSL (ブランチ 1.0.2 のメンテナンスは 2019 年 XNUMX 月に中止されました)。
  • NSS < 3.26;
  • Java 8 < 8u141、Java 7 < 7u151。
  • Windows < XP SP3;
  • macOS < 10.12.1;
  • iOS < 10 (iPhone < 5);
  • Android < 2.3.6;
  • Mozilla Firefox < 50;
  • Ubuntu < 16.04;
  • Debian < 8.

OpenSSL 1.0.2 の場合、この問題は、署名に使用されたルート証明書の 4158 つが期限切れになると、たとえ他の有効な信頼チェーンが残っていたとしても、相互署名証明書が正しく処理されなくなるバグが原因で発生します。 この問題は、Sectigo (Comodo) 認証局からの証明書の相互署名に使用されていた AddTrust 証明書が廃止された昨年に初めて表面化しました。 問題の核心は、OpenSSL が証明書を線形チェーンとして解析するのに対し、RFC XNUMX によれば、証明書は考慮する必要がある複数のトラスト アンカーを含む有向分散円グラフを表すことができることです。

OpenSSL 1.0.2 に基づく古いディストリビューションのユーザーには、問題を解決するための XNUMX つの回避策が提供されます。

  • IdenTrust DST Root CA X3 ルート証明書を手動で削除し、スタンドアロン (相互署名されていない) ISRG Root X1 ルート証明書をインストールしました。
  • openssl verify および s_client コマンドを実行する場合は、「--trusted_first」オプションを指定できます。
  • サーバー上では、相互署名のない別のルート証明書 SRG Root X1 によって認証された証明書を使用します。 この方法を使用すると、古い Android クライアントとの互換性が失われます。

さらに、Let's Encrypt プロジェクトが生成された証明書の数が 2.2 億というマイルストーンを突破したことにも注目してください。 2.4億のマイルストーンは昨年192月に達成された。 毎日 260 ~ 195 万の新しい証明書が生成されます。 アクティブな証明書の数は 150 億 60 万 (証明書は 82 か月間有効) で、約 81 億 77 万のドメインをカバーしています (69 年前は 58 億 XNUMX 万、XNUMX 年前は XNUMX 億 XNUMX 万、XNUMX 年前は XNUMX 万のドメインがカバーされました)。 Firefox Telemetry サービスの統計によると、HTTPS 経由のページ リクエストの世界シェアは XNUMX% (XNUMX 年前 - XNUMX%、XNUMX 年前 - XNUMX%、XNUMX 年前 - XNUMX%、XNUMX 年前 - XNUMX%) です。

出所: オープンネット.ru

コメントを追加します