DNSSEC에서 빠진 한 조각, ECDSA

dnssec logo

DNSSEC는 복잡한 주제이며, IANA에서 정의한 DNS 레코드 서명 목적의 여러 표준 보안 알고리즘을 사용할 수 있다는 점에서 더욱 혼란스럽습니다. 알고리즘 13은 타원곡선 디지털서명 알고리즘(ECDSA)의 변형입니다. 현재 0.01% 미만의 도메인에서 사용하고 있지만, DNSSEC를 광범위하게 채택하는 데 마지막으로 어려웠던 두 가지인 영역 열거와 DDoS 증폭을 제거하는 데 ECDSA가 도움이 되었다고 생각합니다.

라이브 서명을 통해 영역 열거가 방지되며 계산상 ECDSA의 빠른 서명 생성을 통해야만 효율적입니다. 타원곡선은 RSA에 비해 키와 서명을 더 작게 생성하므로 DNS 쿼리에 대한 응답도 더 작아집니다. 이렇게 하면 DNS 기반 DDoS 공격의 증폭률이 크게 줄어듭니다.

dnssec logo

DDoS 증폭

Cloudflare는 세계에서 가장 규모가 큰 관리형 DNS 공급자입니다. Cloudflare는 DNSSEC 서버가 분산 서비스 거부(DDoS) 공격 목적의 증폭 벡터가 되지 않기를 바랍니다. 사용자가 DNSSEC 서버에서 레코드를 요청할 때마다, 서버는 해당 레코드와 연결된 서명과 함께 서명을 확인하는 데 사용한 공개 키까지 반환합니다. 잠재적으로 정보량이 많습니다.

잠재적인 공격자가 Cloudflare DNS 인프라를 남용하지 않도록 방지하려면, DNSSEC 쿼리에 대한 응답 크기를 최대한 작게 만드는 것은 중요한 요건입니다. 이러한 목적을 향해 ECDSA 키와 서명의 규모를 작게 만드는 긴 여정이 진행되고 있습니다.

ECDSA와 RSA 응답 크기 비교

ECDSA로 128비트 보안을 달성하려면 256비트 키가 필요하지만, 이에 상응하는 RSA 키는 3072비트입니다. 키에서만 증폭률이 12배인 것입니다. 이 블로그 게시물을 통해 암호화 키의 크기가 다른 이유를 자세히 알아보실 수 있습니다.

하지만 대부분의 RSA 키는 3072비트가 아니므로, 증폭률 12배는 현실에 가장 가까운 수치가 아닐 수도 있습니다. 부정적인 반응(NSEC 레코드)인 DDoS 증폭 시 가장 좋지 않은 실제 시나리오를 살펴보겠습니다. Cloudflare 뒤에 위치한 도메인(ECDSA 서명 및 DNSSEC 선의의 거짓을 이용하는 도메인)의 경우 DNSSEC 응답은 일반적으로 377바이트입니다. ECDSA 또는 DNSSEC 선의의 거짓을 이용하지 않는 도메인의 경우 1075바이트인데, 이 수치와 비교해보세요.

다른 대규모 DNSSEC 구현 시에는 모두 RSA 서명을 이용한다는 점을 고려할 때, Cloudflare의 DNSSEC 인프라는 공격자가 DDoS 벡터로 활용하기에 매력적인 인프라가 아닙니다.

ECDSA의 단점

ECDSA에도 단점이 있습니다. Roland van Rijswijk-Deij 등에 따르면, 확인자 80%만이 ECDSA 유효성 검사를 지원합니다. 수가 늘어나고 있긴 하지만, 이는 지금 바로 DNSSEC 인터넷 전체를 ECDSA로 전환한다면 매일 수백만 명의 인터넷 사용자에 대한 DNSSEC 유효성 검사가 실패하여 확인되지 않은 DNS 레코드가 반환됨을 의미합니다.

뿐만 아니라, ECDSA 서명 생성은 RSA보다 빠르지만 서명 유효성 검사는 사실 훨씬 느립니다. Roland van Rijswijk-Deij 등에 따르면 OpenSSL에 기여한 ECDSA의 최적화에도 불구하고 ECDSA는 아직 1024비트 RSA(영역 서명 키에 가장 일반적으로 사용되는 알고리즘)보다 6.6배 느립니다. DNS 확인자가 과부하되면 전체 인터넷 속도가 느려질 가능성이 있으므로 심각한 문제입니다.

결론

이와 같이 알고리즘 13을 논의하는 데, 아주 중요한 경고 사항이 하나 있습니다. 1.5%의 웹 자산만이 모든 용량에서 DNSSEC를 지원한다는 것입니다. 모든 등록 기관에서 DNSSEC를 지원하지는 않으며, 지원을 추가하기는 쉽지 않습니다. 사용자가 DS 레코드를 업로드할 수 있도록 허용해야 하며, 그런 다음 등록 기관에서 이를 레지스트리에 업로드해야 합니다. 등록자가 DS 레코드를 업로드할 필요조차 없도록 자동화된 프로세스를 만들고자 노력하고 있지만 아직은 등록 기관이 개입해야 합니다.

좋은 소식은, Cloudflare가 올바른 방향으로 가고 있다는 것입니다. 지난 12개월 동안 DNSSEC는 전반적으로 상당히 늘어났습니다. 그리고 공개 DNSSEC 베타를 발표하고 범용 DNSSEC를 발표했던 3주 사이 Hover, OVH, Metaname, Internet.bs, .NZ 레지스트리에서 알고리즘 13에 대한 지원을 추가했습니다.

Cloudflare는 DNSSEC가 현대 웹에 필수적인 기술이라고 생각하며 ECDSA를 통해 전 세계적인 DNSSEC 채택을 실현할 수 있을 거라고 믿습니다. 크고 작은 등록 기관과 레지스트리에서 알고리즘 13을 지원하는 모습을 계속 볼 수 있기를 바랍니다.

Cloudflare 설정은 간단합니다



도메인 설정에는 5분도 걸리지 않습니다. 호스팅 공급자나 코드를 변경할 필요도 없습니다.


수백만 개의 인터넷 자산이 신뢰합니다

Logo doordash trusted by gray
Logo garmin trusted by gray
Logo 23andme trusted by gray
Logo lending tree trusted by gray
NCR logo
Thomson Reuters logo
Logo zendesk trusted by gray