요약

  • DENIC은 2026년 5월 5일.de 장애를 루틴 DNSSEC 존 서명 키 롤오버 중 사용된 자체 롤오버 에이전트의 결함 탓으로 돌렸다. 공식 레지스트리 연표는 21:57부터 체감 영향, 00:08부터 정상 존 배포 시작, 5월 6일 01:15에 이전 운영 상태 복원을 기록한다.[1][3]

  • Cloudflare는 자체 텔레메트리에서 더 이른 시점에 리졸버에서 보이는 검증 실패를 관측했다. 이 관측은 DENIC의 운영 연표와 별개로 유지되어야 한다. 재귀 리졸버는 레지스트리가 서비스 영향 시각을 확정하기 전에 불량 서명을 감지할 수 있으며, 어느 쪽 시계도 모든 네트워크와 사용자에 대한 보편적 시작 시각을 증명하지 않는다.[3][5]

  • 운영 서명 시스템은 지리적·네트워크적으로 분리된 두 데이터센터에 걸쳐 여러 하드웨어 보안 모듈(HSM)을 사용했다. 롤오버 결함은 연결된 HSM들에 서로 다른 키 쌍을 생성하면서 동일한 키 태그 33834와 관련 메타데이터를 그들에 부여했다.[1]

  • 존에는 DNSKEY가 하나만 게시되었고, 대응하는 개인 키는 하나의 HSM만 보유했다. 따라서 DENIC은 실제로 생성된 서명의 약 3분의 1만 유효했다고 보고했다. 이는 서명 출력 간의 관계이며, 도메인·사용자·트래픽·DNS 질의의 3분의 1이 계속 이용 가능했다는 증거가 아니다.[1]

  • 테스트 환경에는 한 위치에 HSM이 하나 있었다. 따라서 운영 장애를 유발한 다중 HSM 상태 관계를 실행하지 않았다. 공개 보도는 DENIC의 설명을 넘어 이전 테스트, 외부 검토, 콜드 병렬 운영의 전체 범위를 확정하지 않는다.[1][2]

  • 상시 운영 중이던 세 개의 테스트·검증 도구가 누락되었거나 검증 불가능한 서명을 감지했으나, 그 알림이 올바르게 처리되지 않았다고 전해진다. 감지는 실패의 증거를 만들었지만 게시를 막거나 충분히 이른 롤백을 일으키지는 못했다.[1]

  • 무효 NSEC3 서명은 DS 레코드가 존재하지 않는다는 서명된 증명을 인증할 수 없어서, 검증 수행 리졸버에게 서명되지 않은 하위 도메인에 대한 위임 응답을 bogus로 보이게 만들 수 있었다. 이 실패 경로가 문제가 되기 위해 영향받은 하위 도메인들이 모두 자체적으로 DNSSEC을 사용할 필요는 없었다.[1][13][14]

  • 검증 수행 리졸버와 미검증 리졸버는 서로 다른 경로를 따랐다. serve-stale은 일부 캐시된 응답을 보존할 수 있었고, Cloudflare의 임시 Negative Trust Anchor는 권위 있는 결함을 확인한 뒤의 경계가 있는 로컬 예외였지, DNSSEC을 끄는 일반적 사례가 아니었다.[5][17][18]

  • DENIC의 복구 목록은 검토 강화, 알림, 검증, 테스트 환경 확대, 더 빠른 유효 존 전환 등 관련 방향을 제시한다. 이는 이행과 효과를 뒷받침할 후속 증거가 필요한 약속이며, 공개 기록은 아직 모든 통제가 완성되었음을 증명하지 않는다.[1]

한 번의 사건, 두 개의 관측 시계

사건의 경계는 2026년 5월 5일의 루틴.de DNSSEC 롤오버, 무효 서명 자료의 배포, 그에 따른 리졸버 측 영향, 5월 6일 이른 시각에 완료된 복원이다. 이 경계에는 2010년 5월의 별개.de 장애, 2024년.ru DNSSEC 사건, 다른 최상위 도메인 실패가 포함되지 않는다. 표면적으로 유사한 DNS 사건들은 서로 다른 인과 계층을 가질 수 있으므로, 이 경계를 고정하는 것이 중요하다. 존 생성, 서명, 게시, 위임, 권위 있는 전송, 재귀 검증은 서로 바꿔 쓸 수 없다.

DENIC의 해결 통지가 공식 레지스트리 연표를 제공한다. 이는 5월 5일 21:57에 체감 영향이 시작되었고, 5월 6일 00:08에 정상 존 배포가 시작되었으며, 01:15에 이전 운영 상태가 복원되었다고 기록한다. DENIC은 약 3시간 동안.de 도메인 접근이 크게 제한되었다고 설명한다.[1][3] 이 타임스탬프는 방어 가능한 운영 순서를 제공하지만, 모든.de 이름이 동일한 구간 내내 모든 사용자에게 연속적으로 도달 불가능했다는 뜻은 아니다.

시각관측 계층경계 지어진 의미
DENIC의 공식 영향 시각 이전Cloudflare 리졸버 텔레메트리검증 실패가 Cloudflare의 재귀 리졸버 위치에서 관측되었다. 이는 별개의 관측 지점이며 레지스트리 타임스탬프의 대체가 아니다.[5]
5월 5일 21:57DENIC 운영 연표DENIC의 해결 통지에 따르면 체감 영향이 시작되었다.[3]
5월 6일 00:08레지스트리 배포DENIC이 정상 존 배포를 시작했다.[3]
5월 6일 01:15레지스트리 운영 상태DENIC이 이전 운영 상태의 복원을 보고했다.[3]

시계 간 차이는 기술적으로 평범하지만 운영적으로 중요하다. 권위 있는 운영자는 생성, 서명, 배포, 내부 서비스 상태를 관측한다. 재귀 운영자는 권위 있는 시스템의 응답을 인증, 캐시, 사용자에게 반환할 수 있는지 관측한다. 캐시 상태, 폴링 주기, 존 전파, 질의 혼합, 그리고 각 조직이 이상을 서비스 영향으로 분류하는 시점 때문에 이 두 관점은 서로 다른 시각에 변화를 기록할 수 있다.

따라서 Cloudflare의 이른 관측을 단일하고 정확하다고 여겨지는 전 세계 장애 시작점에 통합해서는 안 된다. 마찬가지로 DENIC의 21:57 타임스탬프를 그 이전에 어떤 리졸버도 검증 문제를 보지 못했다는 증명으로 취급해서도 안 된다. 타당한 결론은 더 좁다. 불량 서명 상태가 DENIC의 공식 체감 영향 구간 시작 이전에 재귀 계층에서 보였으며, DENIC의 세 타임스탬프는 레지스트리 조치와 복구를 위한 적절한 연표로 남는다.[3][5]

이 분리는 과장된 영향 주장도 막는다. 공개 보도는.de 도메인 접근에 영향을 준 약 3시간의 심각한 장애를 확정하지만, 모든 리졸버·네트워크·애플리케이션·도메인에 걸친 균일한 실패는 확정하지 않는다. 리졸버 검증 정책, 캐시된 자료, 임시 완화가 경험을 달랐다. 이 사건의 책임성적 의미는 불완전한 도달성 증거를 보편적 장애 주장으로 바꾸는 것을 요구하지 않는다.

.de 위임은 행정적 약속이 아니라 운영 상태다

DNS 위임은 부모 존을 하위 네임스페이스에 연결한다..de 아래의 이름에 대해.de 존은 리졸버를 하위 도메인의 권위 서버로 안내하는 데 필요한 레코드를 게시한다. DNSSEC은 그 과정에 인증된 데이터를 더한다. 이를 통해 보안 인식 재귀 리졸버는 수신한 DNS 데이터가 신뢰 사슬에 의해 뒷받침되는지 아니면 bogus로 분류되어야 하는지 판단할 수 있다.[11][13]

이 사슬은 레코드, 키, 서명 간의 관계에 의존한다. DNSKEY 레코드는 공개 키를 게시한다. 서명 시스템이 보유한 대응 개인 키가 DNS 레코드 집합 위에 RRSIG 레코드를 만든다. DNSSEC 검증은 레지스트리가 자신의 데이터를 신뢰할 수 있다고 선언하는 것에 기반하지 않는다. 수신한 레코드의 암호화 관계가 프로토콜 규칙에 따라 실제로 검증되는지에 달려 있다.[12][13]

전통적인 서명 구성에서 키 서명 키(KSK)가 DNSKEY 집합을 보호하고, 존 서명 키(ZSK)가 존의 운영 레코드 집합에 서명한다. 키 롤오버는 검증을 의도적으로 깨지 않으면서 서명 자료를 교체한다. 운영적 과제는 단지 다른 키를 생성하는 것이 아니다. 새 자료와 이전 자료는 게시, 캐싱, 검증 행동과 일치하는 순서로 도입, 사용, 철회되어야 한다.[15][16]

키 태그는 서명 검사 시 DNSKEY 선택을 돕는 압축 식별자다. 개인 키의 전 세계적으로 고유한 식별이 아니며, 프로토콜은 여전히 실제 공개 키 자료에 대해 서명을 검증해야 한다.[12] 이 사건에서 DENIC은 연결된 HSM들이 서로 다른 키 쌍을 갖게 되었으나 키 태그 33834와 다른 메타데이터를 공유하게 되었다고 말한다. DENIC은 그 결함 상태를 전형적 키 태그 충돌과 구분하고, 그 원인을 자체 롤오버 에이전트의 행동으로 돌린다.[1]

NSEC3가 영향 반경을 넓힌 이유

DNSSEC은 레코드의 존재뿐 아니라 특정 레코드가 존재하지 않는다는 진술도 인증해야 한다. NSEC3는 존 내용의 직접적인 열거를 제한하도록 설계된 형태의 인증된 부정-of-existence를 제공한다.[14] 위임 지점에서 이 메커니즘은 부모가 하위 도메인에 DS 레코드가 없음을 증명해야 할 때 관련될 수 있다.

DS 레코드는 하위 존을 DNSSEC 신뢰 사슬에 연결한다. 하위 도메인이 부모에서 DS를 갖지 않으면, 리졸버는 그 하위를 bogus가 아니라 insecure로 다루기 위한 인증된 근거가 필요하다..de 사건에서 DENIC은 권위 응답이 서명된 NSEC3 자료에 의존했으며, 여기에는 서명되지 않은 하위 도메인에 대한 DS 레코드 부재와 관련된 증명이 포함되었다고 설명한다.[1]

관련 NSEC3 레코드를 덮는 RRSIG가 검증될 수 없으면, 보안 인식 리졸버는 DS 레코드 부재에 대한 증명을 안전하게 수용할 수 없다. 결과적으로 위임 데이터가 bogus로 분류될 수 있다. 그래서 서명되지 않은 2단계 도메인이 영향받을 수 있었다. 실패한 서명은 하위 도메인의 서명되지 않은 상태를 확립하는 데 필요한 부모 측 증거에 붙어 있었기 때문이다.[1][13][14]

이 구분은 공개적 해석에서 중요하다. 영향받은 모든 하위 도메인이 자신의 DNSSEC 구성을 망가뜨렸다고 말하는 것은 틀리다. 결함은 위임 경로를 인증하는 데 쓰인 서명된.de 상태에 있었다. 검증 수행 리졸버가 존재하지 않는 가용성 규칙을 만들어내고 있다고 묘사하는 것도 틀리다. 필요한 인증에 실패한 데이터를 거부하는 것은 DNSSEC 프로토콜이 기술하는 기대되는 보안 행동이다.[11][13]

다중 HSM이 어떻게 일관되지 않은 서명 상태를 만들었는가

DENIC의 3세대 서명 시스템은 2026년 4월에 운영에 들어갔다. 최종 보고서에 따르면 이 시스템은 Knot DNS, 자체 구성 요소, 그리고 지리적·네트워크적으로 분리된 두 데이터센터에 배치된 여러 HSM을 결합했다.[1] 이 아키텍처는 다중 실행 위치를 제공하고 개인 키 작업을 전용 하드웨어에서 보호했지만, 롤오버는 구성 요소 수보다 더 근본적인 의존성을 드러냈다. 서명자들은 하나의 논리적으로 일관된 키 상태에서 작동해야 했다.

루틴 ZSK 롤오버 동안 결함 있는 자체 롤오버 에이전트가 연결된 HSM마다 서로 다른 키 쌍을 생성했다. 의도된 행동은 하나의 키 쌍을 만들어 동일한 서명 식별을 모든 HSM에서 사용 가능하게 하는 것이었다. 대신 서로 다른 개인 키가 만들어졌고, 결과 객체들은 키 태그 33834와 일치하는 메타데이터를 공유했다.[1]

대응하는 공개 DNSKEY 중 하나만.de 존에 기록되었다. 결과적으로 리졸버가 조회할 수 있는 공개 키와 일치하는 개인 키를 하나의 HSM만 보유했다. 그 HSM이 만든 서명은 검증될 수 있었다. 다른 개인 키로 만든 서명은, 키 태그가 검사 과정을 같아 보이는 서명 식별로 안내했음에도, 게시된 DNSKEY에 대해 검증될 수 없었다.[1]

이것은 HSM 오작동의 증거가 아니었다. DENIC의 보고서도 이 사건을 Knot DNS, 시스템 침해, 또는 독립적인 키 태그 간의 전형적 우연 충돌로 돌리지 않는다. DENIC은 그러한 설명들을 명시적으로 배제한다.[1] 경계 지어진 인과 서술은 키 쌍, 서명자 상태, 존에 게시된 DNSKEY 사이에서 소프트웨어가 만든 불일치이다.

관련 무결성 관계는 단순하게 표현할 수 있다:

  1. 존은 공개 키 자료를 담은 DNSKEY를 게시한다.
  2. 그 키 식별 아래 작동하도록 예정된 모든 서명자는 일치하는 개인 키를 갖고 있어야 한다.
  3. 그 식별 아래 생성된 모든 RRSIG는 게시된 DNSKEY에 대해 검증되어야 한다.
  4. 어떤 서명자의 출력이라도 그 관계에 실패하면 게시를 중단해야 한다.

이 사건은 두 번째와 세 번째 조건을 위반했다. 다중 HSM이 있었지만, 그 가용성은 상호 교체 가능한 서명 능력이 아니었다. 그들은 서로 다른 개인 자료를 보유한 채 동일해 보이는 키 식별을 제시했다. 따라서 하드웨어 계층의 이중화는 암호화 상태 계층의 불일치와 공존했다.

“약 3분의 1”이 의미하는 것과 그렇지 않은 것

DENIC은 일치하는 개인 키를 보유한 HSM이 만든 서명만 검증될 수 있었기 때문에 실제로 약 3분의 1의 서명이 유효했다고 보고한다.[1] 이 비율은 서명 출력과 이용 가능한 HSM 키 상태 사이의 관계를 기술한다. 성공한 도메인, DNS 질의, 사용자, 네트워크, 리졸버, 트래픽의 측정값이 아니다.

그런 수량들은 서명 비율에서 직접 추론할 수 없다. 어떤 리졸버는 이전에 검증된 응답을 캐시했을 수 있다. 다른 리졸버는 무효 서명이 붙은 레코드 집합을 요청할 수 있다. 미검증 리졸버는 DNSSEC 상태와 무관하게 데이터를 반환할 수 있다. 검증 수행 리졸버는 경계 지어진 조건에서 오래된 데이터를 사용할 수 있다. 존의 SOA 레코드도 업데이트가 진행되며 변경·재서명되었으므로, 변화하는 존 상태에 대해 마주하는 유효성은 시간에 따라 달라질 수 있었다.[1][5]

따라서 이 사건을 안정된 3분의 1 가용성 상태로 제시하는 것은 오해를 낳는다. 공개 출처는 그러한 주장을 뒷받침할 분모나 측정 방법을 제공하지 않는다. 더 안전한 결론은, 유일하게 게시된 DNSKEY와 일치하는 개인 키를 한 서명자만 보유한 탓에 서명자 집단이 유효 서명과 무효 서명의 혼합물을 만들었다는 것이다.

빠진 패리티는 단지 기능적이 아니라 위상적이었다

DENIC은 테스트 환경이 한 위치에 HSM 하나를 담고 있었다고 말한다.[1] 운영 시스템은 분리된 두 데이터센터에 걸친 다중 HSM을 담았다. 결함은 그 다중성을 요구했다. 잘못된 롤오버 행동은 연결된 HSM마다 서로 다른 키 쌍을 만들었다. 단일 HSM 환경은, 서로 동등해야 하는 서명자 간의 불일치를 노출하지 않으면서 키 생성과 서명을 수행할 수 있었다.

이것은 정확한 운영-패리티 문제를 만든다. 코드 패리티는 동일한 소프트웨어 버전이 테스트와 운영에서 실행되는지 묻는다. 구성 패리티는 비교 가능한 설정이 있는지 묻는다. 위상 패리티는 실패를 만들 수 있는 관계—구성 요소 수, 배치, 동시성, 상태 복제, 식별 매핑, 인계 행동—도 재현되는지 묻는다. 2026년 실패는 주로 이 세 번째 범주에 놓인다.

테스트는 하나의 HSM이 키를 생성했고, 그 키가 존에 나타났고, 같은 HSM이 유효한 서명을 만들었다는 것을 보여줄 수 있다. 이 모든 검사가 통과하면서도, 롤오버 에이전트가 다중 HSM이 연결될 때 하나의 공유 키 쌍을 만드는지 여러 개의 분기된 쌍을 만드는지에 대해서는 아무것도 말하지 못한다. 운영 이중화는 더 작은 환경이 실행하지 않은 상태 공간을 도입했다.

DENIC은 기존 시나리오가 결함을 다루지 않았으며, 이전 테스트, 외부 감사, 콜드 병렬 운영이 그것을 노출하지 못했다고 말한다.[1][2] 공개 출처는 이 활동들의 완전한 범위, 방법, 산출물, 결과를 공개하지 않는다. 그것들을 무의미하다고 치부하거나, 다중 HSM 통제 관계가 포괄적으로 감사되었다는 증명으로 다루는 것 모두 부적절하다.

책임성 교훈은 더 좁고 강하다. 보안에 결정적인 테스트 경계는 명목상 구성 요소 기능이 아니라 운영 실패 의미론을 둘러싸고 그려져야 한다. 이 서명 시스템에서 패리티는 운영을 대표하는 키 배포로 의도된 모든 서명자 역할을 실행하고, 모든 HSM이 정확한 후보 DNSKEY 집합에 대해 유효한 서명을 만드는지 검증하는 것을 요구한다.

그러한 테스트는 부분 실패와 분기된 상태도 다루어야 한다. 빠진 HSM, 오래된 HSM, 잘못된 키를 가진 HSM, 서로 다른 키 자료에 붙은 중복 메타데이터, 생성과 게시 사이에 중단된 롤오버는 서로 구별되는 조건이다. 시스템이 각 해당 조건에서 안전한 행동을 증명할 수 없다면, 더 많은 하드웨어의 존재를 연속성 증거로 계산할 수 없다.

감지는 개입이 아니었다

DENIC은 상시 운영 중이던 세 개의 테스트·검증 도구가 의도대로 누락되거나 검증 불가능한 서명을 감지했지만, 그 알림이 올바르게 처리되지 않아 적시 개입이 막혔다고 말한다.[1] 이 사실은 사건 보고서가 흔히 압축하는 두 통제 주장을 분리한다. 이상을 관측하는 능력과, 그 이상이 사용자에게 도달하는 것을 막는 능력.

모니터는 증거를 만든다. 보호에는 결정 경로가 필요하다. 결과는 책임 있는 소유자에게 도달하고, 올바르게 분류되고, 정의된 구간 내에 승인을 받으며, 게시를 차단하거나 다른 신뢰된 대응을 트리거해야 한다. 결정적 검증 실패가 단지 기록되거나 조치로 이어지지 않는 알림 경로로 보내지면, 모니터는 통제 상실을 막지 못한 채 문서화만 한 것이다.

DNSSEC 게시에서 가장 강한 사전 배포 결과는 “알림이 발령되었다”가 아니라 “필요한 검증 게이트가 실패했기 때문에 후보 서명 존을 배포할 수 없었다”이다. 그 게이트는 배포 경로에 대한 권한을 가져야 한다. 그렇지 않으면 게시 메커니즘과 모니터링 메커니즘이 불일치하면서 게시는 계속된다.

공개 기록은 세 도구의 원시 출력, 각 도구가 무효 데이터를 처음 감지한 정확한 시각, 완전한 알림 라우팅 구성, 승인 기록, 에스컬레이션 사슬을 식별하지 않는다. 또한 어떤 도구가 배포를 멈출 기술적 권한을 갖고 있었는지 확정하지 않는다.[1] 이런 미지의 항목들은 시스템이나 개인 사이의 상세한 책임 배분을 막는다.

그러나 통제 평가를 막지는 않는다. 결정적인 DNSSEC 이상은 최소한 네 가지 연결된 성질을 가져야 한다. 모호하지 않은 심각도, 지명된 운영 소유자, 시간 경계가 있는 승인 요구, 그리고 이상이 후보 존의 암호화 유효성에 관한 경우 게시에 fail-closed 효과. 사람의 검토가 여전히 필요할 수 있지만, 사람의 결정이 무효 상태가 이미 전파된 뒤에 메시지를 찾는 것에 의존해서는 안 된다.

롤백도 같은 구분을 요구한다. 불량 서명을 감지하는 것 자체가 검증된 상태의 존을 복원하지는 않는다. 복구는 독립적으로 검증된 산출물, 배포를 전환할 권한, 현실적 조건에서 수행된 적이 있는 절차, 측정된 복구 목표를 필요로 한다. DENIC의 가속화된 유효 존 전환 발표는 이 계층을 약속으로 다루지만, 그 이행을 평가하려면 후속 증거가 필요하다.[1]

애니캐스트는 존의 상태를 복제했을 뿐 고칠 수 없었다

애니캐스트는 여러 위치에서 권위 DNS 서비스가 광고될 수 있게 해 라우팅이 사용자를 이용 가능한 인스턴스로 안내하도록 한다. 도달성을 개선하고 부하를 분산하며 단일 사이트나 경로에 대한 의존을 줄일 수 있다.[8] 다중 데이터센터와 다중 HSM 역시 중요한 물리적·운영적 실패 모드를 다룬다.

그러한 메커니즘 중 어느 것도 무효 서명을 유효하게 만들지 않는다. 권위 노드들이 동일한 암호화적으로 불일치한 존을 받으면, 애니캐스트는 그 상태를 많은 위치에서 효율적으로 분배한다. 서로 다른 서명자들이 같아 보이는 하나의 키 식별 아래 호환되지 않는 출력을 내면, 추가 HSM은 결함을 억제하기보다 사용 불가능한 서명을 만드는 구성 요소 수를 늘릴 수 있다.

구분은 노드 다양성과 상태 정확성 사이에 있다. 노드 다양성은 서버, 경로, 사이트가 독립적으로 실패할 때 도움이 된다. 공유 상태 정확성은 남아 있는 모든 노드가 같은 존, 키, 서명, 배포 승인에 의존할 때 중요하다. 공유 산출물이 결함이 있으면, 건강한 노드들이 그 결함을 충실하게 재현할 수 있다.

이것이 애니캐스트나 다중 사이트 설계를 실수로 만드는 것은 아니다. 그들의 복원력 주장에는 경계가 있다는 뜻이다. 레지스트리의 행정적 통치, 높은 사이트 수, HSM 수, 넓은 권위 발자국은, 게시된 위임 데이터와 그 보안 메타데이터가 상호 유효하게 유지되지 않는 한 DNSSEC 연속성의 증거가 아니다.

따라서 유용한 가용성 서술은 두 차원을 모두 명명해야 한다. 서비스는 다양한 위치에서 계속 응답할 수 있고, 응답은 프로토콜의 신뢰 규칙 아래에서 유효하게 유지된다..de 사건은 첫 번째 성질이 실질적으로 유지되는 동안 두 번째가 실패할 수 있음을 보여주었다.

리졸버 행동은 원인을 바꾸지 않은 채 사용자 영향을 바꿨다

재귀 리졸버는 권위 DNS와 애플리케이션 사이에 놓인다. 캐시 내용, 검증 설정, 임시 완화 선택이 사건이 사용자에게 나타나는 방식에 영향을 주었지만, 그 선택들이 불일치하는 권위 서명 상태를 만들지는 않았다.

검증 수행 리졸버는 fail-closed했다

검증 수행 재귀 리졸버는 신뢰 사슬을 통해 DNSSEC 데이터를 인증하려 한다. 필요한 서명을 검증할 수 없으면, 관련 응답을 조용히 secure로 반환하는 대신 bogus로 다룬다.[11][13] 이 사건에서.de 데이터에 대한 무효 서명—특정 위임에 필요한 NSEC3 증명 포함—은 리졸버가 권위 응답을 수용하지 못하게 만들 수 있었다.

이것은 설계상 보안 실패가 가용성 실패로 되는 것이다. 인증할 수 없는 데이터를 반환하면 진짜 존과 오염되거나 위조된 상태 사이의 구분이 가려진다. 검증이 불편해질 때마다 리졸버가 깨진 서명을 자동으로 무시한다면 DNSSEC의 목적은 무력화된다.

공개 증거는 모든 검증 수행 리졸버에 대한 결과를 정량화하지 않는다. 캐시 내용, 재시도 행동, 받은 권위 응답, 로컬 구현 세부가 달랐을 수 있다. 올바른 주장은, 검증 수행 리졸버들이 bogus 데이터를 거부할 프로토콜상 지지되는 이유를 가졌다는 것이지, 모든 그런 리졸버가 전체 구간 동안 동일하게 실패했다는 것이 아니다.

미검증 리졸버는 계속 데이터를 반환했다

DENIC은 미검증 리졸버가 존 데이터를 계속 반환했다고 보고한다.[1] 이런 리졸버는 동일한 DNSSEC 인증 결정을 강제하지 않았으므로, 무효 RRSIG 관계가 반드시 리졸루션을 막지는 않았다. 이 차이가 고르지 않은 사용자 영향을 설명하는 데 도움이 된다.

이것이 검증이 근본 원인이었다는 뜻은 아니다. 근본 원인은 권위 시스템이 게시한 불일치하는 키·서명 상태 그대로였다. 미검증은 존이 광고한 보안 성질을 강제하지 않음으로써 하나의 결과를 피했다.

또한 미검증 경로를 통한 계속된 리졸루션이 반환된 데이터가 독립적으로 신뢰할 수 있다는 증명이 아니다. 가용성과 인증된 무결성은 별개의 성질이다. 책임 있는 연속성 설계는 둘 다를 추구해야 하며, 검증 제거를 서비스 유지의 정상 방식으로 다루어서는 안 된다.

serve-stale은 이전에 캐시된 상태를 사용했다

Cloudflare는 자사 1.1.1.1 서비스가 영향의 일부를 완충하기 위해 오래된 데이터를 사용했다고 보고한다.[5] serve-stale은 재귀 리졸버가 정의된 조건에서 자료를 성공적으로 새로 고칠 수 없을 때 만료된 캐시 데이터로 응답할 수 있게 한다. RFC 8767이 관련 행동과 한계를 표준화한다.[18]

이것은 캐시에 이미 있던 이름과 레코드 집합에 대한 접근을 보존할 수 있다. 사용자가 요청할 수 있는 모든 위임의 완전한 복사본을 제공할 수는 없으며, 유용성은 무엇이 캐시되었는지, 얼마나 오래되었는지, 로컬 정책이 그것을 제공하는 것을 허용하는지에 달려 있다. 공개 기록은 오래된 응답이 얼마나 많은.de 트래픽이나 사용자를 보호했는지 정확히 정량화하지 않는다.

따라서 serve-stale은 권위 존에 대한 수정이 아니라 복원력 계층이다. 이전에 얻은 상태를 사용해 시간을 벌며, 새로 서명된 데이터가 유효하다는 것을 확립할 수 없고, 신속한 권위 복구를 대체해서도 안 된다.

Cloudflare의 NTA는 경계 지어진 로컬 예외였다

권위 서명 문제를 확인한 뒤 Cloudflare는.de에 대해 DNSSEC Negative Trust Anchor를 임시 적용했다고 말한다.[5] NTA는 재귀 리졸버에게 명백히 깨진 DNSSEC 존을 제한된 기간 동안 insecure로 다루라고 지시하며, 그 지점에서 실패하는 사슬을 강제하지 않고 리졸루션을 허용한다. RFC 7646은 이것을 특정 DNSSEC 운영 실패에 대한 임시적이고 로컬하게 관리되는 대응으로 다룬다.[17]

범위가 중요하다. Cloudflare의 조치는 자사 리졸버 사용자에게 자사의 로컬 결정에 따라 영향을 주었으며,.de 존을 다시 쓰거나 DENIC의 서명을 고치지 않았다. 다른 재귀 운영자들은 자신들의 정책과 증거 기준을 유지했다. 이 예외는 또한 경계 지어진 보안 결정을 리졸버 운영자에게 이관했다. 영향받은 존의 인증을 임시적으로 거부함으로써 그 경로에 대한 가용성이 회복되었다.

NTA는 DNSSEC을 끄라는 일반적 권고로 제시되어서는 안 된다. 그 방어 가능한 사용은 권위 존이 깨졌음을 확인하고, 예외를 영향받은 존으로 제한하고, 만료를 유지하고, 정상 검증이 재개될 수 있도록 복구를 시험하는 데 달려 있다.[17] 이것은 실패 이후의 비상 완화이며, 서명자 일관성, 사전 게시 검증, 레지스트리 롤백의 대체가 아니다.

serve-stale과 NTA도 서로 구별된다. serve-stale은 이전에 캐시된 응답에 의존한다. NTA는 현재 응답에 대한 로컬 검증 처리를 바꾼다. 각각 특정 조건에서 사용자에게 보이는 피해를 줄일 수 있지만, 서로 다른 보안·범위 성질을 지닌다.

책임성은 통제 계층으로 분리되어야 한다

“모니터링”, “복원력”, “복구”가 하나의 구분되지 않는 통제로 다루어지면 인프라 책임성은 약해진다..de 사건은 예방, 검증, 승인, 롤백, 소통, 독립 검증, 구제 사이의 더 정확한 구분을 뒷받침한다.

예방은 후보 존이 존재하기 전의 서명자 설계에 관한 것이다. 하나의 롤오버 작업은 하나의 의도된 키 식별을 만들고, 일치하는 개인 자료를 승인된 모든 서명자에게 배포하며, 서로 다른 키 자료에 붙은 중복 메타데이터를 거부해야 한다. 운영 동등한 다중 HSM 테스트가 여기 속한다.

사전 게시 검증은 실제 후보 출력에 관한 것이다. 모든 서명자에 걸쳐 DNSKEY와 RRSIG 관계를 검증하고, DS 레코드 부재에 대한 인증된 증명을 포함한 NSEC3 관련 위임 응답을 실행해야 한다. 한 HSM이 만든 샘플만 검증하면 사건의 결정적 관계를 시험하지 않고 남는다.

배포 승인은 검증 증거가 권한을 갖는지 결정한다. 정의된 검사 집합이 통과하고 승인이 정확한 존 시리얼, DNSKEY 집합, 서명자 상태, 검증 결과에 묶일 수 있을 때만 후보 존이 권위 배포에 들어가야 한다. 차단 권한 없는 경고는 배포 게이트와 동등하지 않다.

롤백은 무효한 공유 상태를 검증된 상태의 서명 존으로 교체하는 능력에 관한 것이다. 산출물은 이미 이용 가능하고, 독립적으로 검증되며, 실패한 롤오버 경로에 의존하지 않고 배포 가능해야 한다. 복구 주장은 절차가 수행되고 측정될 때 신뢰할 수 있어지지, 단지 문서화될 때가 아니다.

소통은 생성, 최초 외부 감지, 확인된 영향, 완화, 정상 존 배포, 완전 복원을 구분해야 한다. 계층별 타임스탬프는 한 조직의 시계를 보편적 경험으로 제시하는 것을 피하게 해준다. 또한 재귀 운영자들이 오래된 서비스, NTA, 다른 경계 지어진 개입이 여전히 정당한지 이해하게 해준다.

독립 검증은 배포 경로 밖의 당사자들이 핵심 결과를 재현할 수 있는지 묻는다. 유용한 증거에는 외부 네트워크로부터의 검증, 서명된 위임에 대한 완전한 테스트 케이스, 의도된 모든 HSM이 같은 키 자료를 사용한다는 증명, 결정적 실패가 게시를 차단함을 보여주는 수행이 포함된다.

구제는 영향받은 운영자와 도메인 등록자가 실질적 피해를 보고하고 사건 정보를 얻을 수 있는 신뢰할 수 있는 경로로 시작한다. 공개 출처는 이 사건에서 발생한 경제적 손실, 거래 실패, 메일 배송 피해, 법적 권리를 확정하지 않는다. 구제 통제는 손실이 없었다거나 보상이 자동으로 지급되어야 한다는 어느 쪽 가정보다, 그러한 증거를 수집하고 평가해야 한다.

이 계층들은 한 조직이 최종적으로 모두를 통치하더라도 서로 다른 소유자를 가져야 한다. 분리는 후보 존을 만드는 팀이 그 출력이 유효하다고 결정하고, 배포를 승인하고, 복구를 성공 선고하는 유일한 당사자가 되는 위험을 줄인다.

압축된 통제·증거 매트릭스

다음 매트릭스는 DENIC에서 이미 존재가 증명된 통제의 설명이 아니라 제안된 책임성 시험이다. 기준값은 운영자가 공개하고 보정해야 하지만, 유효성 실패에는 절대 기준이 필요하다. 필요한 DNSSEC 경로가 bogus인 후보 존은 배포되어서는 안 된다.

통제소유자시험산출물실패 기준
다중 HSM 키 패리티서명 시스템 소유자모든 롤오버 동안 공개 키 자료를 비교하고 의도된 모든 HSM에서 테스트 서명을 생성후보 키 집합에 묶인 HSM-DNSKEY 매핑과 HSM별 서명 결과의도된 어떤 서명자가 일치하는 개인 키가 없거나 검증 불가능한 서명을 만듦
운영 위상 패리티테스트 환경 소유자운영을 대표하는 HSM 수, 서명자 역할, 사이트 관계, 동시 롤오버 행동을 실행버전이 관리된 위상 지도, 테스트 구성, 완료된 시나리오 보고서키 생성이나 배포에 영향을 주는 운영 서명자 관계가 테스트에 없음
후보 존 검증DNSSEC 보증 소유자완전한 후보 사슬, DNSKEY/RRSIG 관계, SOA 변경, 위임, NSEC3 증명을 검증정확한 후보 존 시리얼에 묶인 재현 가능한 검증 보고서필요한 응답이 bogus이거나, 기대된 서명이 없거나, 결과가 서명자별로 다름
차단 가능한 게시 게이트배포 권한자의도적으로 무효한 서명자 출력을 주입하고 배포가 시작될 수 없음을 보임실패한 검사와 거부된 승인을 보여주는 변조 방지 배포 기록결정적 DNSSEC 실패가 경고만 만들거나 기록된 권한 없이 무시될 수 있음
알림 소유권과 에스컬레이션운영 소유자감지부터 승인, 에스컬레이션, 정지 조치까지의 훈련을 실행타임스탬프가 찍힌 알림, 승인, 에스컬레이션 기록결정적 알림이 공개된 목표를 넘게 미승인이거나 권한 있는 소유자에게 도달하지 않음
검증된 상태로의 롤백사건 지휘관운영을 대표하는 조건에서 독립 검증된 이전 존을 복원시작, 결정, 배포, 외부 검증 시각이 담긴 수행 보고서복구가 공개된 목표를 초과하거나 결함 있는 서명 경로에 의존함
외부 리졸버 관측서비스 보증 소유자롤오버 전·중·후에 독립 네트워크에서 검증을 점검권위 응답, 캐시 효과, 검증 상태를 분리하는 타임스탬프 결과게시 게이트가 게시를 승인한 뒤 어떤 외부 점검도 bogus 상태를 보고함
리졸버 완화재귀 운영자 소유자serve-stale과, 별개로 경계 지어진 NTA 활성·만료·재검증을 시험정책, 활성 증거, 범위, 만료, 복구 점검예외에 확인된 권위 실패, 경계 지어진 범위, 만료, 복구 시험이 없음
사건 소통기술 승인과 함께하는 소통 소유자내부·외부 시계를 조정하고 계층별 순서를 공개신뢰도와 알려진 공백이 표기된 버전 관리 연표실질적 타임스탬프들이 근거 없는 보편적 장애 구간으로 압축됨
독립 복구 검증독립 보증 기능원래 실패 조건과 발표된 모든 시정 통제를 재시험각 약속을 이행과 효과에 연결하는 공개 또는 검토 가능한 증거이행 산출물과 결과 없이 약속이 완료로 표시됨
영향 접수와 구제고객·거버넌스 소유자보고, 증거 보존, 대응 기준, 항소 경로를 시험근거 없는 집계 주장 없는 케이스 기록과 공개 절차실질적 보고가 제출, 추적, 명시된 기준에 따른 평가될 수 없음

처음 세 행이 함께 패리티 문제에 답한다. 같은 롤오버 코드가 대표적인 위상에서 실행되어야 하고, 의도된 모든 서명자가 일치하는 키의 보유를 증명해야 하며, 결합된 후보 출력이 검증되어야 한다. 이 시험 중 하나만 통과하면 공백이 남는다.

게시 행은 증거에서 통제로의 전환 지점이다. 시스템은 우수한 모니터링을 갖고도 결정적 검사가 빨간색이 된 뒤에 배포가 계속되면 실패할 수 있다. 반대로, 시험된 복구 경로 없는 자동 차단기는 무결성을 지키면서 불필요하게 이용 불가능을 늘릴 수 있다. 따라서 차단과 롤백은 함께 설계되어야 한다.

매트릭스는 또한 리졸버 완화를 권위 복구의 하류에 놓는다. 재귀 운영자는 임시 조치에 대한 문서화된 기준이 필요하지만, 유효한 서명 상태를 복원할 책임은 레지스트리에 남는다. 만료되고 재검증되는 NTA는 책임 있는 비상 처리다. 무기한 우회는 보안 성질을 회복하는 대신 지워버린다.

DENIC의 복구 목록은 약속의 집합이다

DENIC의 최종 보고서는 강화된 코드 검토, 개선된 알림, 유효 존으로의 가속 전환, 배포 전 부분 검증, 추가 작업이 이뤄질 때까지의 ZSK 롤오버 중단, 테스트 환경 확대, 보안과 프로세스에 대한 외부 분석을 발표한다.[1] 각 항목은 사건이 노출한 실제 통제 계층에 대응한다.

강화된 검토는 또 다른 키 생성 결함의 가능성을 줄일 수 있지만, 그 효과는 로컬 코드 품질뿐 아니라 다중 HSM 식별과 상태 전이를 다루는지에 달려 있다. 테스트 환경 확대는 그 확대가 운영 전용 행동을 만든 서명자 관계를 재현할 때 관련이 있다. 위상과 시나리오 경계 없는 “더 많은 테스트”는 평가하기 어렵다.

배포 전 부분 검증은 유용할 수 있지만, “부분”이라는 단어는 중요한 증거 질문을 남긴다. 후속 평가는 어떤 레코드 유형, 서명자, 서명, 위임 경로가 검사되는지, NSEC3 증명이 포함되는지, 검증이 모든 HSM의 출력을 다루는지, 그리고 실패가 게시를 자동으로 차단하는지를 밝혀야 한다.

개선된 알림은 종단간 훈련으로 평가되어야 한다. 사건은 이상 신호의 부재를 보여주지 않았다. 세 도구가 문제를 감지했다고 전해진다. 노출된 약점은 신호에서 처리된 알림과 적시 개입으로 가는 경로였다.[1] 알림만 늘리면 권한 있는 정지 결정을 만들지 않으면서 소음을 늘릴 수 있다.

더 빠른 유효 존 전환은 여러 지점에서 측정되어야 한다. 최초 확인된 무효 출력, 롤백 승인, 정상 존 배포 시작, 검증이 회복되었다는 외부 확인. DENIC이 공개한 00:08과 01:15 마일스톤은 배포와 복원이 별개 타임스탬프로 남아야 하는 이유를 보여준다.[3]

외부 보안·프로세스 분석은 독립 검증을 제공할 수 있지만, 그 가치는 공개된 범위와 증거에 달려 있다. 공개 기록은 아직 발표된 모든 조치가 이행되고, 원래 실패 조건에 대해 수행되고, 효과적임이 보여졌는지 확정하지 않는다. 따라서 그 목록을 완성된 보증이 아니라 복구 약속으로 묘사하는 것이 정확하다.

공개 기록이 확정하지 않는 것

DENIC의 보고서는 통제 실패를 분석하기에 충분한 인과 서술을 제공하지만, 결함 있는 소스 코드나 롤오버 에이전트 내 정확한 조건 순서를 공개하지 않는다. 완전한 배포 그래프, HSM 선택 일정, 사건 동안 서명의 시점도 이용할 수 없다.[1] 이 공백은 정확한 실행 경로의 재구성을 제한한다.

공개 출처는 완전한 알림 라우팅 구성, 승인 이력, 에스컬레이션 논리, 세 검증 시스템의 원시 출력을 공개하지 않는다. 따라서 지연을 지명된 직원, 팀, 개인적 기술 결정에 귀속시키는 것을 뒷받침하지 않는다. 감지된 이상이 적시 개입을 만들지 못했다는 조직적 결론은 뒷받침한다.

도메인별, 리졸버별, 네트워크별, 애플리케이션별 가용성은 알려지지 않았다. 캐시 상태, serve-stale, 검증 정책, 로컬 완화가 달랐다. 큰 영향받은 네임스페이스에 대한 당시 설명은 잠재적 규모를 시사하지만, 동시 사용자 수준 실패의 측정은 아니다.[5][6]

출시 전 외부 감사와 콜드 병렬 운영의 전체 범위는 공개되지 않았다. 그 활동들이 다중 HSM 롤오버 조건을 시험했다고 가정할 수 없지만, 공개되지 않은 그들의 결과를 발명할 수도 없다. 문서화된 사실은 그들이 DENIC이 기술한 운영 결함을 노출하지 못했다는 것이다.[1][2]

경제적 손실, 메일 배송 영향, 거래 실패, 고객 구제는 고정된 공개 기록에서 정량화되지 않는다. 또한 DENIC의 침해, Knot DNS 오작동, HSM 오작동, 전형적 키 태그 충돌 배제에 반하는 공개 증거는 여기에 없다.[1] 그러한 조건의 후속 증거가 나오면 인과 평가를 다시 검토해야 한다.

유효한 공유 상태가 경계 지어진 책임성 시험이다

이 사건에서 나오는 책임성 시험은 레지스트리가 많은 서버, 사이트, HSM, 모니터링 도구를 나열할 수 있는지가 아니다. 그 구성 요소들이 생성, 서명, 승인, 배포, 재귀 검증, 복구에 걸쳐 하나의 유효한 운영 기록을 보존하는지이다.

ZSK 롤오버에서 운영 패리티란 운영에 존재할 수 있는 모든 서명자 관계가 배포 전에 실행된다는 뜻이다. 의도된 각 HSM은 정확히 게시된 DNSKEY와 일치하는 개인 키의 보유를 증명해야 한다. 위임 관련 NSEC3 레코드에 대한 서명을 포함해 모든 서명자의 출력이 검증되어야 한다. 어떤 불일치든 게시를 중단해야 한다.

배포 결정은 증거에 묶여야 한다. 후보 존은 시리얼, DNSKEY 자료, 서명자 식별, 시험된 응답 집합에 연결된 재현 가능한 검증 산출물을 가져야 한다. 결정적 실패는 단지 알림이 아니라 차단 가능한 권한이 필요하다. 알림 소유권은 훈련에서 측정 가능한 승인·에스컬레이션 기준을 포함해야 한다.

연속성은 그때 독립적으로 검증된 상태와, 공개된 복구 목표 내에 그것을 배포하는 수행된 방법을 요구한다. 이 조건이 충족되면 애니캐스트와 다중 사이트는 여전히 가치 있다. 유효한 상태를 분배하고 노드·경로 실패에 저항한다. 충족되기 전에는 공유 결함의 도달 범위를 증폭할 수 있다.

재귀 복원력은 별개 계층으로 남는다. serve-stale은 일부 캐시된 응답을 보존할 수 있다. 임시 NTA는 운영자가 권위 있는 DNSSEC 실패를 확인한 뒤 특정 재귀 서비스의 사용자에 대한 리졸루션을 회복할 수 있다. 어느 쪽도 인증된 DNS의 기본 대체가 되어서는 안 되며, 둘 다 경계 지어진 정책과 복구 점검이 필요하다.[17][18]

소통은 리졸버 관측과 레지스트리 조치의 구분을 보존해야 한다. 이른 Cloudflare 텔레메트리, DENIC의 21:57 체감 영향 시각, 00:08 정상 존 배포 시작, 01:15 복원 마일스톤은 하나의 보편적 시계에 강제되지 않은 채 공존할 수 있다.[3][5] 이 정밀성은 알려진 것을 과장하지 않으면서 책임성을 개선한다.

따라서 DENIC 복구에 대한 후속 검증은 측정 가능한 답을 추구해야 한다. 원래 다중 HSM 조건이 재현되었는가. 모든 서명자가 하나의 게시된 키 집합에 대해 유효한 출력을 만들었는가. 불량 후보가 배포 경로를 통과할 수 있었는가. 훈련에서 검증된 상태의 존이 얼마나 빨리 복원되었는가. 결정적 알림이 기준 내에 승인되고 조치되었는가. 독립 네트워크 관측이 복구를 확인했는가.

이 질문들이 현재의 검토 가능한 증거로 답해질 수 있다면, 이중화는 입증된 연속성 주장이 된다. 그렇지 않다면 구성 요소 수는 아키텍처적 설명으로 남는다. 2026년.de 사건의 지속적 결론은 DNS 레지스트리 권한이 정확한 위임 상태, 유효한 보안 메타데이터, 작동하는 운영 통제를 통해 실현된다는 것이다. 공유 서명 상태가 불일치하면, 인프라는 지리적으로 분산된 채로 남으면서 그것이 서비스하는 네임스페이스가 암호화적으로 사용 불가능해질 수 있다.

출처

  1. https://blog.denic.de/en/final-report-dns-outage-of-5-may-2026/
  2. https://blog.denic.de/en/analysis-of-the-dns-outage-on-5-may-2026/
  3. https://blog.denic.de/en/technical-issue-with-de-domains-resolved/
  4. https://blog.denic.de/en/denic-reports-dnssec-disruption-affecting-de-domains/
  5. https://blog.cloudflare.com/de-tld-outage-dnssec/
  6. https://www.heise.de/en/news/DNS-problems-with-de-domains-DENIC-provides-initial-explanation-11288270.html
  7. https://www.denic.de/en/products/dnssec/
  8. https://www.denic.de/en/products/knowledge-about-de/anycast-nameservice/
  9. https://www.denic.de/en/products/dnssec/dnssec-testbed/
  10. https://www.denic.de/faq/faqs-zu-dnssec/
  11. https://www.rfc-editor.org/rfc/rfc4033
  12. https://www.rfc-editor.org/rfc/rfc4034
  13. https://www.rfc-editor.org/rfc/rfc4035
  14. https://www.rfc-editor.org/rfc/rfc5155
  15. https://datatracker.ietf.org/doc/rfc6781/
  16. https://datatracker.ietf.org/doc/rfc7583/
  17. https://www.rfc-editor.org/info/rfc7646/
  18. https://www.rfc-editor.org/rfc/rfc8767.html
  19. https://www.rfc-editor.org/rfc/rfc8901
  20. https://www.rfc-editor.org/rfc/rfc8976