eMudhra 중간 인증서 개인 키 손상 – 사고 분석

사고 개요

무슨 일이 있었나: 2026년 10월 17일, eMudhra의 8개 중간 인증서(6개 TLS, 2개 코드 서명)의 개인 키가 쉽게 복구될 수 있는 것으로 발견되었습니다 – 각 키의 P-384 개인 스칼라가 256보다 작은 정수였습니다. Mozilla, Chrome, Apple 및 Microsoft에 통보되었고, 인증서는 OneCRL을 통해 폐기되었으며, eMudhra 루트 오브 트러스트 계층은 브라우저에서 제거되었습니다. 왜 중요한가: 복구된 중간 키를 사용하면 공격자가 손상된 루트를 여전히 신뢰하는 모든 브라우저에서 신뢰되는 임의의 TLS 인증서를 발급할 수 있어, 모든 도메인에 대한 중간자 공격이 가능해집니다.


주요 사건 타임라인 (UTC)

시간 사건
2026-10-17 20:06 Mozilla가 Chrome을 통해 전달된 보고를 받음 – eMudhra 중간 인증서 8개의 개인 키가 손상됨.
2026-10-17 20:08 Mozilla가 수신을 확인하고 키 제어 증명을 검증함.
2026-10-17 20:18 전체 CCADB 스캔에서 두 개의 중간 인증서가 Sectigo에 의해 교차 서명되었음을 보여줌.
2026-10-17 21:28 eMudhra가 문제를 인정하고 조사 중이라고 밝힘.
2026-10-17 21:48 Mozilla가 개인 키를 독립적으로 복구하여 키가 결함 있는 프로세스로 생성되었음을 확인함.
2026-10-17 22:59 Mozilla가 Firefox의 OneCRL에서 6개의 TLS 중간 인증서를 폐기함.
2026-10-18 09:38 eMudhra가 8개의 중간 인증서를 모두 폐기 처리함 (사유 caCompromise).
2026-10-18 12:06 Mozilla가 대응 조정을 위해 Bugzilla 사고를 등록함.
2026-10-20 Mozilla가 OneCRL 스냅샷이 포함된 예정에 없던 Firefox 릴리스/ESR을 배포함.
2026-10-21-23 eMudhra가 공개 상태 페이지와 보도 자료를 게시하고 글로벌 TLS 시장에서 철수한다고 발표함.

기술적 근본 원인

약한 P-384 개인 스칼라

  • P-384 개인 키는 [1, order-1] (약 2^192) 범위의 무작위 정수여야 합니다. 손상된 8개의 키는 모두 256보다 작았으며, 즉 255개의 0 바이트와 단일 0이 아닌 바이트로 구성되었습니다.
  • 이러한 키는 처음 256개의 가능한 개인 값을 열거하거나 간단한 baby-step-giant-step 이산 로그 공격으로 즉시 복구할 수 있습니다.
  • 결함은 서명 알고리즘에 있는 것이 아닙니다; 서명 자체는 약한 키로도 올바르게 검증됩니다.

약한 키가 생성된 방법

  • 키는 2025년 4월 30일에 24개의 중간 CA(시리즈 A, B, C; 두 알고리즘 RSA-4096 및 P-384; 네 가지 검증 수준 DV, OV, EV, CS)를 생성한 일괄 키 생성 세리머니 중에 생성되었습니다.
  • B 및 C 시리즈 P-384 키(영향을 받은 8개 인증서)는 랩/언랩 테스트를 수행한 변경된 KGC 스크립트에 의해 생성되었습니다. 스크립트는 실수로 HSM에서 두 번째 키 쌍을 생성하고 CSR에 더 약한 키를 사용했습니다.
  • 사용된 HSM 모델은 Utimaco(FIPS 140-2 레벨 3 인증)였습니다. 변경으로 인해 HSM이 내부 RNG를 사용하는 대신 외부에서 제공된 스칼라(낮은 엔트로피 값)를 수용하게 되었습니다.
  • A 및 A-1 시리즈 키는 Entrust HSM에서 생성되었으며 영향을 받지 않았습니다.

관련 사고

  • Bug 1970728(2025년 6월)은 동일한 6개의 TLS 중간 인증서에 대한 잘못된 CRL 서명을 보고했습니다. CRL은 원래 강력한 키로 서명되었지만, 발급된 CA 인증서가 약한 키를 참조했기 때문에 서명 검증에 실패했습니다.
  • emSign Root TLS CA - G1에 대해 2026년 10월 14일에 잘못된 개인 키로 서명된 추가 무효 CRL(CRL #11)이 게시되어 키 매핑 제어의 광범위한 실패를 나타냅니다.

영향 평가

범주 세부 사항
영향을 받은 인증서 Chrome, Firefox, Apple, Microsoft에서 신뢰하는 6개의 TLS 중간 인증서(EV, OV, DV); Microsoft에서 신뢰하는 2개의 코드 서명 중간 인증서.
잠재적 공격자 능력 손상된 루트에 체인되는 모든 도메인에 대해 임의의 TLS 인증서를 발급하고, 폐기 업데이트를 받지 못하는 모든 클라이언트에 대해 MITM 공격을 수행할 수 있음.
브라우저에서의 완화 OneCRL(Firefox)을 통한 폐기 및 Chrome, Apple, Microsoft 신뢰 저장소에서 emSign ECC Root CA - G3 제거.
남은 노출 OneCRL을 가져오지 않거나 루트가 캐시된 장치(예: 오래된 Android, 임베디드 시스템)는 루트가 신뢰 저장소에서 제거될 때까지 취약합니다.
교차 서명된 인증서 Sectigo 교차 서명 중간 인증서는 일부 저장소에서 여전히 폐기되지 않은 상태로 남아 있습니다; Sectigo는 이후 이를 폐기하고 새로운 CRL/OCSP를 게시했습니다.

Mozilla의 대응

  • 즉시 폐기 – 2026년 10월 17일 22:59 UTC의 OneCRL 업데이트로 6개의 TLS 중간 인증서가 폐기되었습니다.
  • 루트 제거 – 폐기 가져오기가 없는 클라이언트를 보호하기 위해 모든 주요 브라우저에서 emSign ECC Root CA - G3를 긴급 제거했습니다.
  • 버전 업 – 예정에 없던 Firefox 릴리스/ESR(10월 20일)에 최신 OneCRL 스냅샷이 포함되었습니다.
  • 조정 – Bug 2083382가 OneCRL 프로세스를 추적했고, Bug 2083449가 전체 사고를 문서화하고 eMudhra에 대한 상세 설문지를 포함합니다.
  • 홍보 – Mozilla는 신뢰 당사자들이 손상된 계층에서 마이그레이션하도록 안내하는 권고를 게시했습니다.

eMudhra의 공개 성명 및 조치

  • 상태 페이지 (2026년 10월 20일) – 손상, 8개 중간 인증서 폐기, 글로벌 TLS 시장 철수를 발표합니다.
  • 보도 자료 (2026년 10월 21일) – "영향을 받은 고객 및 파트너에게 직접 통보"했다고 주장하고 대체 CA에서 무료 교체 인증서를 약속합니다.
  • 폐기 조치 – 2026년 10월 18일에 8개의 중간 인증서를 모두 폐기 처리했습니다; Sectigo는 교차 서명된 인증서를 폐기하고 새로운 CRL/OCSP를 게시했습니다.
  • 루트 오브 트러스트 철수 – emSign ECC Root CA - G3에 체인되는 인증서 발급을 중단했습니다; 별도의 계층에서 비TLS 루트(CS, SMIME)를 계속 운영합니다.
  • 미해결 질문 – eMudhra는 2026년 10월 23일 현재 Mozilla의 광범위한 기술 설문지(하드웨어 세부 사항, KGC 스크립트, 감사 증거, 내부 발견 타임라인 등)에 답변하지 않았습니다.

커뮤니티 반응 (선별된 Hacker News 댓글)

  • 체계적 신뢰 우려 – 댓글 작성자들은 이 사고가 "모든 CA가 모든 도메인을 발급할 수 있는" 모델의 취약성을 강조하며 CA를 특정 네임스페이스(예: DNSSEC)에 더 엄격하게 바인딩할 것을 촉구합니다.
  • HSM 비난 – 일부는 Utimaco HSM이 낮은 엔트로피 키 생성을 허용해서는 안 되며, 키가 내부적으로 생성되지 않고 가져온 것일 수 있다고 주장합니다.
  • 운영 비난 – 다른 사람들은 인간의 실수(중복 키 레이블, 랩/언랩 테스트)와 부적절한 도구가 즉각적인 원인이라고 지적합니다.
  • 책임 – 여러 댓글은 eMudhra가 책임을 져야 한다고 요구하며, 다른 산업의 엔지니어링 실패와 비교합니다.

PKI 생태계를 위한 교훈

  1. 엄격한 키 생성 감사 – HSM은 고엔트로피 키 생성을 강제하고 명시적으로 승인되지 않는 한 외부 제공 스칼라를 거부해야 합니다.
  2. 고유 키 식별자 – 키 레이블과 메타데이터는 전역적으로 고유해야 잘못된 키 쌍의 우발적 재사용을 방지할 수 있습니다.
  3. 자동화된 사후 서명 검증 – 모든 CRL과 인증서는 게시 전에 의도된 서명 키로 검증되어야 합니다; 자동화된 검사는 Bug 1970728과 같은 불일치를 잡을 수 있습니다.
  4. 루트 오브 트러스트 위생 – 발급 CA가 손상된 경우 교차 서명된 중간 인증서를 신속하게 폐기해야 합니다; 하위 CA는 폐기 피드를 적극적으로 모니터링해야 합니다.
  5. 투명성 의무 – CA 프로그램(Mozilla, Chrome, Apple, Microsoft)은 시기적절하고 상세한 공개를 강제해야 합니다; 조사 설문지에 대한 응답 실패는 신뢰를 훼손합니다.

여전히 답변되지 않은 미해결 질문

  • 세리머니 중 HSM 펌웨어의 정확한 버전과 FIPS 승인 모드로 운영되었는지 여부.
  • 전체 KGC 스크립트와 랩/언랩 편차를 유발한 특정 코드 결함.
  • 다른 eMudhra 루트(CS, SMIME)가 유사한 키 레이블 또는 생성 문제를 겪었는지 여부.
  • 상세 마이그레이션 지표: 영향을 받은 인증서 수, 교체 진행 상황, 예상 완료 날짜.
  • eMudhra가 특히 계속 운영 중인 비TLS 루트에 대해 향후 키 생성 세리머니에서 동일한 결함을 방지할 방법.

결론

eMudhra 사고는 단일 약한 키 생성 단계가 전체 신뢰 계층을 무효화할 수 있음을 보여줍니다. 브라우저는 중간 인증서를 폐기하고 손상된 루트를 제거하기 위해 신속하게 행동했지만, 이 사건은 PKI 생태계 전반에 걸쳐 더 강력한 절차적 안전장치, 자동화된 검증, 투명한 사고 처리가 필요함을 강조합니다.

Sources