Ang pag-expire ng IdenTrust root certificate ay hahantong sa pagkawala ng tiwala sa Let's Encrypt sa mga mas lumang device

Noong Setyembre 30 sa 17:01 oras ng Moscow, ang IdenTrust root certificate (DST Root CA X3), na ginamit upang i-cross-sign ang root certificate ng Let's Encrypt certification authority (ISRG Root X1), na kinokontrol ng komunidad at nagbibigay ng mga sertipiko nang walang bayad sa lahat, mag-e-expire. Tiniyak ng cross-signing na ang mga certificate ng Let's Encrypt ay pinagkakatiwalaan sa malawak na hanay ng mga device, operating system, at browser habang ang sariling root certificate ng Let's Encrypt ay isinama sa mga root certificate store.

Orihinal na pinlano na pagkatapos ng paghinto sa paggamit ng DST Root CA X3, ang proyektong Let's Encrypt ay lilipat sa pagbuo ng mga lagda gamit lamang ang root certificate nito, ngunit ang naturang hakbang ay hahantong sa pagkawala ng compatibility sa isang malaking bilang ng mga mas lumang system na hindi idagdag ang Let's Encrypt root certificate sa kanilang mga repository. Sa partikular, humigit-kumulang 30% ng mga Android device na ginagamit ang walang data sa Let's Encrypt root certificate, ang suporta na lumitaw lamang simula sa Android 7.1.1 platform, na inilabas sa katapusan ng 2016.

Ang Let's Encrypt ay hindi nagplano na pumasok sa isang bagong cross-signature na kasunduan, dahil ito ay nagpapataw ng karagdagang responsibilidad sa mga partido sa kasunduan, inaalis sa kanila ang kalayaan at itali ang kanilang mga kamay sa mga tuntunin ng pagsunod sa lahat ng mga pamamaraan at mga patakaran ng isa pang awtoridad sa sertipikasyon. Ngunit dahil sa mga potensyal na problema sa malaking bilang ng mga Android device, binago ang plano. Ang isang bagong kasunduan ay natapos sa awtoridad ng sertipikasyon ng IdenTrust, sa loob ng balangkas kung saan ang isang alternatibong cross-signed na Let's Encrypt na intermediate na sertipiko ay nilikha. Magiging wasto ang cross-signature sa loob ng tatlong taon at mananatili ang suporta para sa mga Android device simula sa bersyon 2.3.6.

Gayunpaman, ang bagong intermediate na sertipiko ay hindi sumasaklaw sa maraming iba pang mga legacy system. Halimbawa, sa pagtigil sa paggamit ng certificate ng DST Root CA X3 noong Setyembre 30, ang mga certificate ng Let's Encrypt ay hindi na tatanggapin sa hindi sinusuportahang firmware at mga operating system na nangangailangan ng manu-manong pagdaragdag ng ISRG Root X1 certificate sa root certificate store para matiyak ang tiwala sa Let's. I-encrypt ang mga sertipiko. Ang mga problema ay makikita sa:

  • OpenSSL hanggang sa branch 1.0.2 inclusive (ang pagpapanatili ng branch 1.0.2 ay itinigil noong Disyembre 2019);
  • 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.

Sa kaso ng OpenSSL 1.0.2, ang problema ay sanhi ng isang bug na pumipigil sa mga cross-signed na certificate na maproseso nang tama kung ang isa sa mga root certificate na ginamit para sa pagpirma ay mag-e-expire, kahit na mananatili ang iba pang valid na chain of trust. Ang problema ay unang lumitaw noong nakaraang taon matapos ang AddTrust certificate na ginamit sa cross-sign certificate mula sa Sectigo (Comodo) certification authority ay naging lipas na. Ang pinakabuod ng problema ay na-parse ng OpenSSL ang certificate bilang isang linear chain, samantalang ayon sa RFC 4158, ang isang certificate ay maaaring kumatawan sa isang directed distributed circular graph na may maraming trust anchor na kailangang isaalang-alang.

Ang mga gumagamit ng mas lumang mga pamamahagi batay sa OpenSSL 1.0.2 ay inaalok ng tatlong mga solusyon upang malutas ang problema:

  • Manu-manong inalis ang IdenTrust DST Root CA X3 root certificate at na-install ang stand-alone (hindi cross-signed) na ISRG Root X1 root certificate.
  • Kapag pinapatakbo ang openssl verify at s_client command, maaari mong tukuyin ang opsyong "--trusted_first".
  • Gumamit sa server ng certificate na na-certify ng hiwalay na root certificate na SRG Root X1, na walang cross-signature. Ang paraang ito ay hahantong sa pagkawala ng compatibility sa mga mas lumang Android client.

Bukod pa rito, mapapansin natin na nalampasan ng proyektong Let’s Encrypt ang milestone ng dalawang bilyong nabuong certificate. Naabot ang isang bilyong milestone noong Pebrero noong nakaraang taon. 2.2-2.4 milyong bagong sertipiko ang nabubuo araw-araw. Ang bilang ng mga aktibong certificate ay 192 milyon (ang sertipiko ay may bisa sa loob ng tatlong buwan) at sumasaklaw sa humigit-kumulang 260 milyong mga domain (195 milyong mga domain ang nasakop noong nakaraang taon, 150 milyon dalawang taon na ang nakakaraan, 60 milyon tatlong taon na ang nakakaraan). Ayon sa mga istatistika mula sa serbisyo ng Firefox Telemetry, ang pandaigdigang bahagi ng mga kahilingan sa pahina sa pamamagitan ng HTTPS ay 82% (isang taon na ang nakararaan - 81%, dalawang taon na ang nakararaan - 77%, tatlong taon na ang nakararaan - 69%, apat na taon na ang nakalipas - 58%).

Pinagmulan: opennet.ru

Magdagdag ng komento