해결책
Ars Technica는 2020년 12월 Let's Encrypt가 독립 인증 기관으로 전환 중이라고 보도했다. 빠르게 출시하기 위해 Let's Encrypt는 기존 CA인 IdenTrust의 교차 서명을 사용했으며, 2016년에는 자체 루트인 ISRG Root X1도 발급했다. IdenTrust의 DST Root X3는 2021년 9월에 만료될 예정이었으므로 교차 서명도 효력을 잃을 상황이었다.
Let's Encrypt는 Android 버전 7.1.1(2016년 12월)에서 Android의 CA 저장소에 추가되었는데, 당시 활성 Android 사용자의 33.8%가 구버전을 사용 중이었고 Ars는 이를 2016년에 고정된 루트 저장소를 가진 약 8억 4,500만 명으로 추산했다. 만료된 인증서는 Android의 시스템 저장소를 사용하는 앱과 브라우저를 망가뜨렸을 것이다.
Let's Encrypt는 IdenTrust가 DST Root CA X3로부터 ISRG Root X1에 대한 3년 교차 서명을 발급하기로 합의했으며, 이는 해당 루트 자체의 만료일을 넘겨 유효하다고 발표했다. 이는 Android가 신뢰 앵커의 만료일을 의도적으로 적용하지 않기 때문에 작동하는데, 루트 저장소는 신뢰 앵커를 전체 인증서가 아닌 키로 보관한다. ISRG와 IdenTrust는 감사인과 루트 프로그램과 협의했으며, 가입자는 두 인증서 체인을 모두 받게 될 예정이었다.
달성한 것
Android가 신뢰 앵커의 만료일을 확인하지 않으므로, IdenTrust가 자체 루트보다 오래 유지되는 교차 서명을 발급하도록 한다.
작동한 이유
구형 Android 휴대폰은 중앙에서 업데이트할 수 없으므로 새로운 루트가 이들에 도달할 수 없었다.
Android의 루트 저장소는 신뢰 앵커를 키로 취급하고 해당 notAfter 필드를 무시한다.
교차 서명은 앵커의 키에 대해 검증되므로 앵커의 인증서보다 오래 유지될 수 있다.
감사인 및 루트 프로그램과 확인한 결과 이 계획은 규정 준수 문제를 일으키지 않는 것으로 확인되었다.
가장 엄격해 보이는 클라이언트가 실제로 어떻게 검증하는지 살펴보라. 결코 적용하지 않는 규칙이 탈출구가 될 수 있다.
그 후
새 교차 서명은 2024년 초에 만료될 예정이었으며, 그때까지 Let's Encrypt는 2016년 및 그 이전 버전의 Android가 사라지기를 기대했다. 기사 작성 시점 기준 Android 4.2의 시장 점유율은 0.8%였다. Ars는 발표된 계획을 보도했을 뿐, 2021년 9월의 결과는 보도하지 않았다.
근거 확인하기
출처
- Let's Encrypt comes up with workaround for abandonware Android devices Ars Technica · arstechnica.com ·