EXPLORINEER
ko

Hatena

eMudhra 사건으로 본 웹 애플리케이션 개발자가 점검해야 할 사항

보안처음 오른 때 점수 83


2026년 10월, 인도의 인증기관 eMudhra가 발급에 쓰는 중간 CA 키 여러 개가 너무 약해서 공개된 데이터만으로도 누구나 복구할 수 있다는 사실이 드러났습니다. 인터넷 신뢰에 큰 문제가 될 수 있는 사건입니다.

무슨 일이 있었나요?

2026년 10월 17일(세계표준시), 일본 시간으로 10월 18일에 연구자들이 문제를 보고했습니다. eMudhra는 디지털 인증서를 발급하는 인증기관(CA)입니다. 이 회사의 중간 CA 키 8개의 개인 키를 제3자가 쉽게 알아낼 수 있었습니다. 그중 6개는 HTTPS 암호화(TLS)에 쓰였고, 2개는 소프트웨어 서명(코드 서명)에 쓰였습니다.

핵심 숫자와 사실

  • 키는 P-384 타원 곡선 방식을 사용했습니다. 이론상 약 384비트 범위의 값을 가질 수 있어야 합니다.
  • 하지만 각 키의 비밀 숫자는 항상 256보다 작았습니다. 즉 실제 강도는 약 8비트뿐이라 추측하기 쉬웠습니다.
  • 영향을 받은 중간 CA 키는 8개입니다. TLS용 6개, 코드 서명용 2개입니다.
  • 암호화 방식 자체가 깨진 것은 아닙니다. 문제는 키를 만드는 방법이 잘못된 것이었습니다.

왜 인증서 체인이 중요한가요?

HTTPS는 데이터를 암호화할 뿐 아니라, 상대가 진짜 서버인지도 확인합니다. 서버 인증서는 도메인 이름과 공개 키를 묶어 줍니다. 브라우저는 운영체제나 브라우저가 믿는 루트 CA에서 시작해 중간 CA, 서버 인증서로 이어지는 인증서 사슬을 확인합니다. 사슬이 믿을 수 있는 루트까지 이어지면 브라우저는 그 사이트를 믿습니다.

왜 중요한가요?

도난당한 TLS 키가 있으면 공격자는 다른 사람의 도메인에 대한 인증서를 만들 수 있습니다. 이 CA를 믿고 추가 검사를 하지 않는 프로그램은 그 인증서를 진짜로 받아들입니다. 더 큰 위험은 단순한 피싱이 아닙니다. 피싱 사이트도 이미 정상 인증서를 받을 수 있기 때문입니다. 진짜 위험은 회사 업무 포털 같은 실제 사이트를 경고 없이 흉내 낼 수 있다는 점입니다. 다만 공격자가 가짜 와이파이나 조작된 DNS 서버 등으로 피해자의 접속 경로를 바꿔야 한다는 조건은 여전히 필요합니다. 코드 서명 키는 또 다른 위험이 있습니다. 가짜 서명으로 악성 소프트웨어가 믿을 만한 것처럼 보일 수 있습니다.

개발자가 확인할 점

  • 서버, 컨테이너, CI/CD 시스템, 데스크톱 앱, 개발 환경마다 영향을 받는 CA가 있는지 확인하세요.
  • 필요하면 영향을 받은 루트 CA에 대한 신뢰를 제거하세요. 다만 Java, Python certifi, Node.js는 자체 인증서 저장소를 쓰므로 따로 확인해야 합니다.
  • curl, Git, AWS CLI 같은 명령줄 도구를 점검하고, 업데이트하거나 CA 번들 설정을 바꾸세요.
  • 브라우저 차단 목록과 공급업체 수정 사항을 지켜보세요. Sectigo 루트를 제거하면 Sectigo 인증서를 쓰는 일부 웹사이트가 접속되지 않을 수 있습니다.

용어 풀이

eMudhra
디지털 인증서를 발급하는 인도의 인증기관(CA)입니다.
CA
Certificate Authority의 줄임말로, 디지털 인증서를 발급하고 보증하는 기관입니다.
TLS
인터넷에서 데이터를 암호화해 안전하게 주고받는 방식으로, HTTPS의 기반입니다.
코드 서명
소프트웨어가 믿을 만한 곳에서 만들어졌고 변조되지 않았음을 証明하는 전자 서명입니다.
CA 번들
프로그램이 신뢰하는 인증기관 목록을 모아 둔 파일입니다.

출처: Hatena에서 원문 보기 ↗

이 글은 원문을 바탕으로 AI가 쉬운 말로 다시 쓴 해설입니다. 사실관계는 원문을 확인하세요.