Breaking
사이버 보안(Cybersecurity)
구글·애플 등 대형 IT 업체 '인증서 오발급' 대량 발견 '논란'
2019-05-28 17:48:58
김지연
▲잘못 구성된 TLS 인증서가 대략 120만 개 발견됐는데, 디지털 인증서에서 잘못 구성된 64bit 일련번호 때문이었다(사진=ⓒ123RF)

[라이헨바흐=김지연 기자] ▲구글 ▲고대디 ▲애플 등 디지털 인증 기관 1만 곳이 일련번호 비트와 관련된 업계 표준을 준수하지 않아서 큰 기술적 오류가 발생한 것으로 보인다.

디지털 인증서에 생성된 64bit 일련번호의 잘못된 구성으로 인해 역시 잘못 구성된 전송 계층 보안(TLS) 인증서가 약 120만 개나 생겨났다. 

전문가에 따르면 일부 인증 기관의 64bit 일련번호는 실제로 64bit가 아니었으며 모순된 사용으로 TLS 인증서 발급도 잘못됐다.

64bit, 그 이상도 이하도 아니다

인증서 발급 기관에 의한 잘못된 인증서 발급은 대부분의 인터넷 사용자에게 직접적으로 큰 보안 문제를 일으키지는 않는다. 

단, TLS 인증서가 교체되면 많은 웹 사이트가 손상되거나 일시적으로 액세스할 수 없게 된다.

얼마 전 논란의 여지가 있는 조직인 다크매터가 파이어폭스의 승인된 인증 기관 목록에 포함돼 HTTPS 통신 보안을 위한 TLS 인증서를 발급해도 되는지 아닌지에 대한 공개 토론이 일었다. 

조직의 인프라와 활동 기록을 검토한 소프트웨어 엔지니어 코리 보넬은 다크매터가 잘못된 일련번호 출력으로 인한 TLS 인증서를 235개 보유하고 있다는 사실을 발견했다.

조사 결과 제기된 120만 개의 발급된 TLS 인증서는 일련번호가 64bit가 아닌 63bit로 표시됐다. 

63bit 일련번호는 보안 인증 기관인 CA/B 포럼 가이드라인 요구 사항을 위반한다. 모든 보안 숫자 생성기(CSPRNG)는 정확히 64bit의 출력을 둬야 한다.

TLS 인증서는 웹사이트 보안, 전자 메일 암호화 및 코드 서명처럼 사이트 기능에서 가장 중요한 부분을 담당한다.

증명서 발행에 대한 요구 사항을 담은 RFC 5280에 따르면 일련번호는 CA가 각 인증서에 할당한 양의 정수여야 한다. 

또 CA에서 발행한 각 인증서에 대해 고유한 값이어야 한다. CA는 일련번호가 음수가 아닌 정수가 되도록 만들어야 한다.

한 전문가는 양의 정수가 적용돼야 높은 비트가 설정되지 않도록 막을 수 있다고 말했다. 그러나 높은 비트가 일련번호로 설정되는 경우에도 해결 방법은 있다. 64bit 출력이 나올 때까지 값을 버리면 된다.

▲TLS 인증서는 웹 사이트 보안, 전자 메일 암호화 및 코드 서명 등 웹사이트의 기능 중 매우 중요한 범주를 담당한다(사진=ⓒ123RF)

다크매터의 수석 부사장 스콧 레아는 "발견된 TLS 인증서 일련번호가 양의 정수가 아니었으며 CA/B 포럼 기본 요구 사항에 부적합하다"고 말했다.

운영 소프트웨어 오류

레아와 다크매터 팀은 63bit 일련번호 발행을 발견한 이후 기본적으로 64bit 일련번호를 위한 소프트웨어 패키지인 EJBCA에 대해 언급했다. 

EJBCA는 수많은 인증 기관에서 일반적으로 사용되는 소프트웨어다. 이것을 이용하면 TLS 인증서를 쉽게 생성할 수 있으며 기준에 적합한 출력물을 만들 수 있다.

애플리케이션 보안 컨설턴트인 애덤 카우딜은 "전체 64bit 출력을 사용하는 대신 63bit로 효과적으로 축소해 가능한 값의 수를 절반으로 줄였다"고 EJBCA에 대해 설명했다. 

또한, 그는 "우리가 숫자에 관해 이야기할 때, 1bit가 큰 차이를 만들지는 않을 것으로 생각하기 쉽지만, 2^64와 2^63의 차이는 상당하다"고 덧붙였다.

그런데 TLS 인증서에 63bit 일련번호를 사용할 때의 단점은 안전이 훼손되고 똑같은 서명을 가진 공격자가 인증서를 위장할 위험이 있다는 뜻이다.

인증 기관의 웹사이트가 공격을 받았다는 보도는 없었지만, 최소 64bit 값을 생성하는 EJCBA 소프트웨어의 모든 사용자는 영향을 받은 것으로 알려져 있으며 이는 수백만 개의 인증서가 잘못 발행됐다는 뜻이다.

구글, 애플, 고대디 등 평판이 좋은 대기업조차도 63bit 일련번호 TLS 인증서 발급의 영향을 받았다. 구글은 10만 836건의 TLS 인증서 발급을 보고했으며 애플은 87만 8,000개의 63bit TLS 인증서가 발급돼 그중 55만 8,000개가 사용되고 있다고 전했다.

고대디에서는 180만 개의 TLS 인증서 오용이 발생한 것으로 알려졌는데, 이후 나온 보도에서는 그 수가 크게 줄었다. 영향을 받은 인증서의 수는 아직 공개되지 않았다.

한 보안 연구원은 "많은 인증서가 영향을 받았지만 걱정할 필요는 없다. 깨진 해시 함수(MD5 / SHA1)에 대한 충돌 및 공격을 막기 위해 랜덤 시리얼이 도입됐다. 63bit의 깨진 해시를 사용하더라도 공격을 막기에는 충분하다"고 말했다.

[라이헨바흐=김지연 기자]