네 관찰 거의 맞아. 다만 지금 기준으로 한 군데는 칼같이 고쳐야 해. “Firefox는 OS 인증서 저장소를 안 따른다”는 말은 예전 설명으로는 맞는데, 현재 설명으로는 반쯤 틀렸다. Firefox는 여전히 Mozilla 자체 루트 스토어를 가지고 있고 Mozilla Root Store Program의 심사를 따로 받지만, Firefox 120 이후 공식 문서는 Windows, macOS, Android에서 OS 인증서 저장소에 추가된 서드파티 루트를 자동 신뢰하는 기능이 기본 활성화됐다고 설명한다. 그래서 지금은 “Firefox가 Mozilla 루트 스토어에 GPKI를 넣어줬느냐”와 “사용자 환경에서 OS 저장소를 통해 우회적으로 신뢰하느냐”가 완전히 다른 문제다. 전자는 여전히 Mozilla 심사 문제고, 후자는 제품 설정과 OS 저장소 상태 문제다.


진짜 핵심은 네가 말한 대로 *.or.kr, *.ac.kr, *.co.kr 같은 광역 와일드카드 발급 한 방 때문에 “괘씸죄”로만 막힌 사건이 아니다. 그건 눈에 잘 띄는 불난 사진이고, Mozilla 쪽에서 진짜로 본 건 “이 CA가 공개 웹 PKI의 운영 문법을 이해하고 계속 지킬 조직인가”였다. Mozilla 정책은 루트 포함 여부를 위험 기반 공개 절차로 판단하고, CP/CPS, 키 생성 기록, 연속된 연간 감사, 자동화된 발급 지원 같은 증거를 요구하며, 필요한 정보를 합리적 기간 안에 못 내면 거절할 수 있다고 못 박고 있다. 또 루트 밑에 서버 인증서를 발급할 수 있는 중간 CA가 있으면 그 중간 CA도 공개되고 감사되어야 한다. “국가기관이 관리하니 믿어라”는 국내 행정 시스템 안에서는 먹히는 말인데, Mozilla WebPKI 판에서는 그냥 증거 없는 자기소개다.


2015년 쪽 Bugzilla 흐름을 보면 그게 노골적으로 드러난다. 행안부 쪽 GPKIRootCA1 추가 요청에서 한국 쪽은 “우리 루트는 Microsoft에는 이미 들어가 있다”는 식의 논리를 꺼냈고, Mozilla 쪽은 Microsoft 승인은 Mozilla 심사를 대체하지 않으며 공개 감사 정보와 공개 검토가 필요하다고 선을 그었다. 이 대목이 진짜 상징적이다. 한국 정부 입장에서는 “윈도우에서 되는데 왜 파폭만 유난이냐”였고, Mozilla 입장에서는 “남의 신뢰 프로그램 통과했다고 우리 유저에게 자동으로 위험을 떠넘길 수 없다”였다.


그리고 1226100에서 결정타는 “GPKI 루트가 너무 큰 우산”이었다. Supreme Court, Supreme Prosecutors’ Office, Military Manpower Administration 같은 하위 CA들의 CP/CPS나 감사 정보가 비공개였고, Mozilla는 그 하위 CA들이 기술적으로 서버 인증서 발급을 못 하도록 제약돼 있거나 공개 감사·공개 문서 체계 안에 들어와야 한다고 봤다. Mozilla 담당자는 이걸 사실상 show-stopper라고 봤고, Ryan Sleevi는 한국 정부가 특별히 미움받는 게 아니라 국가 PKI 전반에 같은 정책을 적용하는 거라고 설명했다. 즉 “한국이라서 안 된다”가 아니라 “국가 내부망·행정망용 계층을 공개 웹 TLS 신뢰 앵커 밑에 매달아 놓고 공개 감사는 못 하겠다는 구조라서 안 된다”였다.


그 다음 1377389에서 행안부 MOI 쪽 하위 CA를 별도 루트처럼 넣어보려는 시도가 이어졌는데, 이것도 결국 WONTFIX로 닫혔다. Mozilla 쪽은 과거와 현재 감사 진술, BR 준수 여부, 테스트 웹사이트 접근성, OCSP 상태, AIA/OCSP 누락, 신뢰 앵커급 인증서가 직접 leaf를 발급한 문제를 계속 따졌다. 그리고 다른 버그에서 대량 오발급과 OCSP timeout 문제가 지적되면서 승인 가능성이 낮아졌고, 최종적으로는 “처음부터 Mozilla Root Store Policy와 CA/B Forum BR을 완전히 지키는 새 루트로 다시 신청하라”는 식으로 끝났다. 이건 “서류 몇 장 빠져서 보완 요청” 수준이 아니라 “기존 계보를 들고 오지 말고 새 판을 짜라”에 가까운 판정이다.


네가 말한 감사 문제도 정확히 중요한 포인트다. Bugzilla 1451235에서는 Deloitte Anjin의 WebTrust 감사 신뢰성 자체가 문제로 올라왔고, 거기서 GPKI/MOI와 교육부 CA가 BR을 제대로 따르지 않았다는 지적, 도메인 검증 없이 발급된 것으로 보이는 인증서, *.ac.kr 같은 public suffix 와일드카드 사례가 언급됐다. 댓글에서는 교육부 CA가 *.or.kr, *.co.kr 같은 public suffix 와일드카드를 발급한 것도 지적됐고, 이 사안은 Deloitte Korea/Anjin의 CCADB 감사 기록에도 반영됐다고 나온다. 여기서 웃픈 건, CA가 사고를 친 것만 문제가 아니라 그걸 “괜찮다”고 봐준 감사까지 같이 의심받았다는 점이다. WebPKI에서는 사고 친 CA보다 더 무서운 게 사고를 못 본 감사인이다.


담당자와 기관명이 계속 바뀌는 관전 포인트도 네 말이 맞는데, “정권 교체 때문”까지는 Bugzilla만 보고 단정하면 안 된다. 문서로 확인되는 건 Mozilla 쪽이 “CA를 대표하는 사람이 자주 바뀌었다”고 직접 지적했고, 최신 POC와 보증 체계를 요구했다는 점이다. 이게 딱 공공기관 순환보직 냄새 나는 지점이다. WebPKI는 한번 신청하고 끝나는 인허가가 아니라, 매년 감사 보고서 올리고, CP/CPS 고치고, 사고 나면 공개 보고하고, CCADB 갱신하고, m.d.s.policy 메일링리스트 읽고, CA/B Forum BR 바뀌면 따라가는 살아있는 운영이다. 그런데 담당자가 바뀔 때마다 “전임자가 하던 일이라 잘 모르겠습니다”가 튀어나오면 Mozilla 입장에서는 그 자체가 리스크다.


현재 장은 또 다르다. 지금 진행 중인 건 예전 GPKIRootCA1을 그대로 밀어넣는 게 아니라 MOIS SSL Root CA라는 새 루트다. 공식 GSSL 페이지에는 MOIS SSL Root CA와 MOIS SSL Server CA가 따로 올라와 있고, 루트는 2043년까지, 서버 CA는 2033년까지 유효한 것으로 게시돼 있으며, CPS도 2026년 4월 21일자 v2.1까지 공개돼 있다. Bugzilla 1845081도 열려 있고, 2023년에 새 SSL CA 시스템과 루트를 만들었으며 Mozilla Policy와 CA/B Forum BR에 맞추고 WebTrust seal을 받았다는 식으로 설명한다. 그러니까 지금 한국 정부 쪽도 예전의 “GPKI 거대한 행정 루트 하나로 웹까지 다 덮자” 노선이 Mozilla에서 안 먹힌다는 걸 배운 상태다.


그런데 새 루트라고 해서 과거 업보가 싹 지워지지는 않는다. 1845081에서 Mozilla 쪽은 이전 한국 정부 PKI 우려와 비교해 지금 구조가 무엇이 달라졌는지, 기존 GPKI와 어떻게 운영적으로 분리되는지, 정부기관의 강제 발급 압력에 대한 방어 장치가 있는지, 2026년부터 2028년까지의 컴플라이언스 예산과 운영 역량이 충분한지까지 묻고 있다. 이 질문이 아주 중요하다. Mozilla는 “새 인증서 파일이네요, 깨끗하네요” 하고 보는 게 아니라 “같은 조직, 같은 문화, 같은 예산, 같은 네트워크팀이면 예전 사고가 새 이름으로 반복될 수 있지 않냐”고 보는 거다.


최근에는 CRL/OCSP 접근성 문제까지 다시 튀어나왔다. 2026년 6월 Bugzilla 댓글에서 해외 IP에서 CRL Distribution Point 접속이 TCP reset으로 실패한다는 보고가 나왔고, MOIS 쪽은 의도적인 국가·소스망 제한은 아니며 모니터링, 보안장비, ACL, rate limiting, 중간 네트워크 구성을 조사하겠다고 답했다. 이후 정부 쪽은 revocation 서비스 IP가 DDoS 장비의 scan-attack mitigation 정책에 걸려 해외에서 간헐적 reset이 발생했다고 설명했고, 2026년 6월 11일 14:00 KST부터 해당 정책 제거를 시작했다고 밝혔다. 그런데 뒤이은 테스트에서도 일부 OCSP/CRL 엔드포인트가 간헐적으로 실패했다는 보고가 남아 있다. 이게 바로 Mozilla가 CRL, OCSP, CDN, 지리적으로 분산된 접근성을 집요하게 따지는 이유다. 인증서 폐기 확인은 “있으면 좋고 없어도 되는 부가기능”이 아니라, 사고 났을 때 브라우저가 빠져나갈 비상구다.


Windows 쪽도 예전처럼 “Microsoft에는 들어가 있으니 끝”이라고 말하기 애매해졌다. Microsoft의 2025년 8월 Trusted Root Program 업데이트 공지 기준으로는 Government of Korea, KLID의 GPKIRootCA1이 NotBefore 적용 대상에 포함됐고, 2025년 9월 15일 이후 발급된 인증서는 불신된다고 안내된다. 즉 Microsoft 신뢰도 이제는 “영구 프리패스”가 아니라, 구 루트에 대해서는 신규 발급 신뢰를 끊는 방향으로 정리된 상태다.


내 결론은 이거다. 이 사건은 “Firefox가 한국 정부를 싫어했다”가 아니라 “국내 행정 PKI가 공개 웹 PKI의 운영 규율을 너무 만만하게 봤다”에 가깝다. GPKI는 행정망과 공공기관 내부 신뢰 모델에서는 말이 되는 물건이었지만, 전 세계 브라우저 사용자에게 먹이는 웹 TLS 루트가 되기에는 계층이 너무 넓고, 비공개 하위 CA가 많고, 감사 품질이 흔들렸고, public suffix 와일드카드 같은 대형 사고가 있었고, 폐기 인프라와 문서 갱신도 국제 신뢰 프로그램의 속도를 못 따라갔다. Mozilla는 거기서 “나라 사정은 알겠고, 그래서 네가 우리 유저의 루트가 될 자격이 있다는 증거는 어디 있냐”라고 한 거다.


지금의 MOIS SSL Root CA는 그 실패를 보고 새로 판 전용 TLS 계층이라 예전 GPKI보다 훨씬 정석적인 방향이다. 하지만 Mozilla가 보는 시험 문제는 여전히 단순하다. “새 이름 달았으니 믿어달라”가 아니라 “예전 조직적 실패가 반복되지 않는다는 걸 문서, 감사, 네트워크, 담당 체계, 사고 대응으로 증명하라”다. 여기서 통과하면 한국 정부가 드디어 WebPKI 문법을 배운 사건이 되고, 또 막히면 이름만 갈아끼운 공공 PKI가 또 국제 운영규칙 앞에서 털린 사건이 된다.


---


그 부분은 실제로 Bugzilla 기록을 읽어보면 약간 그런 뉘앙스가 느껴지긴 함 ㅋㅋ


다만 엄밀하게 말하면 "우린 MS에서 인증받았는데 왜 또 해야 하냐"라고 대놓고 주장한 건 아니고, "이미 Microsoft Root Program에 포함되어 있다"는 점을 신뢰성 근거로 제시한 거에 가깝다.


근데 Mozilla 입장에서는 그게 전혀 안 먹히는 논리였음.


Mozilla 쪽 사고방식은 엄청 단순하다.


"MS가 믿는다고 우리가 믿어야 할 이유가 뭐임?"


끝.


실제로 브라우저 루트 프로그램 업계에서는 Microsoft, Mozilla, Apple, Google이 서로 영향을 주긴 하지만 심사는 각각 따로 한다. 어떤 CA는 Microsoft에는 들어가 있는데 Mozilla에는 없고, 반대 경우도 있다.


재밌는 건 정부기관이나 대기업들이 흔히 하는 실수가 딱 이거임.


국내에서는 보통 인증이나 인허가가 계층 구조다.


A한테 허가받으면 B도 인정.

상급기관이 인정하면 하급기관도 인정.

한 번 통과하면 끝.


근데 WebPKI는 그런 세계가 아님.


CA/B Forum 규칙도 있고,

Mozilla Policy도 있고,

Microsoft Policy도 있고,

Apple Root Program도 있고,

Chrome Root Program도 있음.


전부 따로 놈.


그래서 Mozilla 쪽 사람이 Bugzilla에서 사실상 "Microsoft 심사 결과는 참고자료일 뿐이고 Mozilla 심사를 대체하지 않는다"라고 잘라버린 거임.


사실 더 웃긴 건 와일드카드 사고 쪽임.


`*.or.kr`

`*.ac.kr`

`*.co.kr`


이런 거 발급한 건 서양 PKI 엔지니어들 입장에서 거의 핵폭탄급 사고로 보임.


왜냐면 저거 하나면 해당 TLD 아래 수십만~수백만 사이트를 전부 가장할 수 있으니까.


예를 들어 미국에서 누가


`*.gov`

`*.edu`


인증서 발급했다?


그날 바로 보안 뉴스 1면 박제감임.


한국은 예전 공인인증서 시절부터 PKI가 행정편의 중심으로 굴러가서 "정부가 관리하는데 뭐가 문제냐" 문화가 있었는데, Mozilla 쪽 사람들은 기본 철학이 완전히 반대임.


"정부가 관리해서 안전한 게 아니라, 정부라도 규칙 어기면 위험하다."


실제로 Mozilla Root Program 역사 보면 미국 정부기관, 중국 정부기관, 프랑스 정부기관, 네덜란드 정부기관 가리지 않고 다 때렸음.


유명한 사례가 네덜란드의 DigiNotar 사건인데, 국가기관과 연결된 CA였지만 사고 터지자 브라우저 벤더들이 그냥 신뢰를 날려버렸다.


WebPKI 업계는 생각보다 훨씬 냉정함.


"국가기관입니다"


안 통함.


"MS는 승인했습니다"


안 통함.


"20년 동안 운영했습니다"


안 통함.


"증거 가져오세요."


이게 끝임.


그래서 Bugzilla 읽어보면 가끔 공무원들이 국내 행정 시스템 문법으로 접근하고, Mozilla 엔지니어들은 인터넷 보안 커뮤니티 문법으로 답해서 서로 대화가 약간 엇갈리는 장면들이 보임.


거기서 담당자 바뀌고 기관명 바뀌고 CPS 버전 바뀌고 감사기관 바뀌고 다시 설명하고...


몇 년 동안 같은 얘기를 반복하는 걸 보면 진짜 묘하게 웃기긴 함. ㅋㅋ


다만 냉정하게 보면 Mozilla가 유난을 떤 게 아니라, 공개 인터넷 루트 인증기관이라는 자리가 원래 그 정도로 빡센 자리다. 수십억 명 브라우저가 자동으로 신뢰하는 열쇠를 달라는 거니까. 중국에서 전자제품 KC 인증 받는 것보다 사실 책임 규모는 훨씬 크다. KC 인증 잘못되면 제품 하나 리콜하면 되는데, 루트 CA 잘못 들어가면 전 세계 HTTPS 신뢰 체계에 영향이 가버리니까.