DNSSEC 루트 서명식

루트 DNS 영역에는 최상위 도메인(TLD) 이름 서버(.com, .edu, .org 등)를 쿼리하는 방법에 대한 정보가 있습니다. 인터넷 사용자는 루트 DNS 영역을 이용해 .software 및 .bank 등 새로운 TLD를 포함해, 모든 TLD의 도메인 이름에 액세스할 수 있으므로, 글로벌 인터넷의 필수적인 요소입니다.

DNSSEC의 작동 방식을 통해, 상위 영역의 DS 리소스 레코드로부터 DNSSEC에 대한 신뢰가 어떻게 파생되는지 설명했습니다.하지만 루트 DNS 영역에는 상위 영역이 없습니다. 그렇다면 정보의 무결성과 신뢰성을 어떻게 신뢰할 수 있을까요?

official ceremony photo

IANA 사진 제공

루트 서명식의 목적이 이것입니다. 루트 서명식은 앞으로 몇 달 동안 루트 DNS 영역이 공개 키 정보에 서명하는 것과 관련된 엄격한 절차입니다. 이 과정에서 사용되는 개인 서명 키는 DNSSEC로 보호되는 전체 인터넷의 키라고 할 수 있습니다. DNSSEC가 글로벌 표준으로서 역할을 수행하려면 이 키에 액세스하는 것과 관련해 감사를 받고 엄격하게 통제된 공개 행사가 있어야 합니다.

올해 8월 Cloudflare의 엔지니어링 관리자이자 ICANN의 암호화 책임자인 Ólafur Guðmundsson이 서명식에 참석했습니다. 그는 다음과 같이 루트 서명식을 설명합니다.

루트 서명 키는 어디에 있나요?

루트 키 서명 키는 지리적으로 다른 두 위치(캘리포니아주 엘세군도와 버지니아주 컬페퍼)에서 보호됩니다. 두 위치 모두 보안 시설이며 키의 중복 복사본이 있습니다. 위치를 엘세군도와 컬페퍼로 번갈아 가며 서명식을 거행합니다.

식 참가자

  • 식 관리자(Ceremony Administrator)
  • 내부 입회인(Internal Witness)
  • 자격 증명 금고 관리자(Credentials Safe Controller)
  • 하드웨어 금고 관리자(Hardware Safe Controller)
  • 암호화 책임자(Crypto Officer) 1
  • 암호화 책임자(Crypto Officer) 2
  • 암호화 책임자(Crypto Officer) 3

각 참가자는 서명식의 특정 부분만 수행할 수 있습니다. 부정 행위 비율을 5%로 가정하여(공식적으로 명시되어 있음), 공모자 집단이 루트 서명 키를 손상시킬 확률을 1:1,000,000 미만으로 보장하도록 역할을 나누어 놓았습니다.

열쇠를 든 인원에 대한 다이어그램

이러한 인원 중 앞에 있는 4명은 ICANN 직원이고, 암호화 책임자 3명은 인터넷 커뮤니티에서 모인 신뢰할 수 있는 자원 봉사자입니다. 루트 영역 유지 관리자로서 서명식을 진행하는 동안 서명되는 루트 영역 서명 키를 생성할 책임이 있으므로, Verisign의 역할도 중요합니다. 이와 더불어 Verisign이나 ICANN과 관련이 없는 4대 감사 회사 두 곳에서 전체 절차를 감사합니다.

서명식 준비

암호화 책임자(Crypto Officer)는 전 세계에 14명이며(각 위치에 7명씩 소속되어 있음), 서명식에는 최소 3명이 참석해야 합니다. 그러므로 암호화 책임자에게 조사를 실시하여 암호화 책임자 4~5명이 참석할 수 있는 2일을 확인하는 단계가 첫 번째입니다. 긴급 상황이나 이동 문제로 서명식이 취소될 수도 있기 때문에 보통은 최소 3명 이상이 가능한 기간을 찾으려고 합니다.

마지막 서명식은 8월 13일 엘세군도 시설에서 거행되었습니다. 시설에 들어가려면 정부에서 발급한 신분증과 가방의 내용물을 보여줘야 했습니다. 그렇게 하자 셔츠에 ID 스트립을 부착해 주었습니다. 그런 다음에는 ICANN 직원이 내부로 안내할 때까지 기다렸습니다. 직원은 문을 통과하기 위해 출입 카드를 긁고 스캐너에 손을 올렸습니다.

점심이 제공되었던 회의실로 먼저 향했습니다. 나머지 식 참가자들이 도착하기를 기다리면서 사람들과 어울렸습니다. 암호화 책임자로서, 루트 서명 키를 훔치려는 시도에 관한 이야기를 대부분 나누었습니다. 우리는 벽에 구멍을 뚫고 금고를 가지고 나가는 데 30분 정도밖에 걸리지 않을 거라고 여겼지만, 지진 센서가 작동할 수 있어 키가 손상되었음을 알 수 있습니다.

모든 인원이 도착하자, 소규모 그룹으로 나뉘어 서명식장으로 안내를 받았습니다. 입구 방에는 8명 정도만 들어갈 수 있기 때문입니다. 이 방에서는 실제 서명식장에 들어가기 전에 로그에 서명을 합니다. 입구 방에 액세스하려면 ICANN 직원이 스마트 카드를 사용해야 합니다. 서명식장에 들어가려면 ICANN 직원의 망막을 스캔해야 합니다.

한 사람이 금고 2개가 있는 방으로 들어갑니다…

식장 옆에 금고 2개가 든 케이지가 있습니다. 이 금고에는 서명식에서 사용되는 든 중요 자료를 모두 보관합니다. 식 관리자와 내부 입회인이 있을 때만 이 케이지에 들어갈 수 있습니다. 이때 두 번째 망막 스캔을 시행하고 식 관리자와 내부 입회인 둘 모두의 액세스 카드를 이용해야 합니다.

한 남자가 금고 두 개가 있는 방으로 걸어 들어가는 다이어그램

하지만, 실제로 금고를 열 수 있는 것은 식 관리자나 내부 입회인이 아닙니다. 금고를 열려면 금고 관리자(Safe Controller)가 있어야 합니다.

자격 증명 금고

자격 증명 금고 관리자(Credentials Safe Controller)가 첫 번째 금고를 엽니다. 금고 안에는 금고가 여러 개 있고, 각각 열쇠 두 개가 있어야 합니다. 식 관리자가 열쇠 하나를 가지고 있으며 암호화 책임자는 각각 다른 상자의 열쇠를 가지고 있습니다. (내부 입회인 및 자격 증명 금고 관리자가 있는 상태에서) 식 관리자와 암호화 책임자가 함께 안전 금고 세 개를 엽니다.

자격 증명 금고 다이어그램

각 안전 금고에는 HSM(하드웨어 보안 모듈)의 운영자 카드 및 보안 권한 카드가 들어 있습니다. 이 내용은 다음 섹션에서 설명합니다. HSM의 잠금을 해제하려면 운영자 카드 3개가 필요하므로, 서명식에는 3명의 암호화 책임자가 참석해야 합니다. 루트 서명 키를 전송해야 할 때만 보안 권한 카드를 사용하므로, 일반적으로 이 카드는 안전 금고에 둡니다.

두 카드 모두 위조 방지 가방으로 포장하여 플라스틱 케이스 안에 보관합니다(이미 부정 행위가 확인되지 않았다면, 서명식은 대부분 부정 행위를 감지하는 데 초점을 맞춰 이루어집니다). 이 카드는 사용하지 않을 때 금고에 보관합니다. 그러므로 이 카드를 마지막으로 다루었던 때는 이전의 루트 서명식이 되는 것입니다. 위조 방지 가방은 카드가 중간에 바뀌지 않았는지 확인하는 데 도움이 됩니다.

플라스틱 케이스도 아주 중요합니다. 위조 방지 가방에 바늘을 찔러 카드를 조작할 수 있다는 점이 밝혀졌고, 가방을 검사할 때 이 조작을 언제나 알아챌 수는 없기 때문입니다. 이는 서명식과 관련된 보안 절차가 지속적으로 발전하는 방식을 알려주는 좋은 예시입니다.

위조 방지 가방

하드웨어 금고

그런 다음 하드웨어 금고 관리자(Hardware Safe Controller)가 안전실로 들어가 위조 방지 하드웨어 보안 모듈(HSM)이 든 두 번째 금고를 엽니다. HSM은 민감한 암호화 자료를 다룰 목적으로 특별히 설계한 물리적 컴퓨팅 장치입니다. 루트 서명 키를 담는 디지털 잠금 상자라고 생각하면 됩니다. 자격 증명 금고에서 수집한 3개의 운영자 카드로만 액세스할 수 있습니다.

하드웨어 금고 다이어그램

HSM은 외부 인터페이스 없이는 작동할 수 없으므로 하드웨어 금고에는 HSM에 명령을 보낼 수 있는 특수 노트북도 들어 있습니다. 이 노트북에는 배터리, 하드 디스크가 없고 시계 백업 배터리까지 없어 플러그를 뽑으은 다음에는 상태를 저장할 수 없습니다. 서명식이 끝난 다음 HSM에서 루트 서명 키가 빠져나갈 가능성을 없애려는 목적입니다.

이제 루트 서명식을 수행할 하드웨어를 준비했습니다. 서명식 자료에 물리적으로 액세스하려면 참가자 7명이 모두 있어야 합니다. 다시 설명하자면, HSM에 액세스할 권한과 HSM을 활성화시키는 운영자 카드에 액세스할 권한을 분리하여, 악의적 공모자가 초래할 위험을 최소화하려는 것입니다.

이전 서명식의 로그가 들어있는 USB와 노트북을 부팅하는 데 사용한 DVD(둘 다 각각의 위조 방지 가방에 들어 있음)도 이 금고에서 빼냅니다.

장비 설정

이제 실제 루트 서명식을 수행할 준비가 되었습니다. 모든 참석자가 볼 수 있는 탁자 위에 장비가 모두 놓여 있으며, 진행 절차를 감사하는 카메라도 있습니다.

세 명의 암호화 책임자(Crypto Officer)를 한 명씩 테이블로 불러 금고에서 꺼낸 HSM 운영자 카드를 건네도록 요청합니다. 이 과정 전에, 위조 방지 가방의 상태가 이전 식이 끝날 때 안전 금고에 넣었을 때와 같은지 암호화 관리자가 확인합니다. 카드를 건넨 다음에는 식 관리자(Ceremony Administrator)만 카드를 만질 수 있습니다.

장비 설정 다이어그램

식 관리자는 DVD로 노트북을 부팅하고 식 로그를 기록하는 USB를 초기화합니다. 노트북에는 시계 배터리 백업 기능이 없으므로 식장에 있는 특별한 벽시계로 시간을 설정해야 합니다. 5년 전 첫 서명식 때부터 이 시계를 사용했으며, 세상에서 완전히 격리되어 있습니다. 살짝 편차가 있지만 로깅 목적으로 만 사용되므로 괜찮습니다.

루트 서명식

장비 설정 전 식 테이블

다음으로, 식 관리자는 암호화 책임자로부터 받은 운영자 카드 3개를 기계에 넣어 HSM을 활성화해야 합니다. 그런 다음 이더넷 케이블을 통해 HSM을 노트북에 연결합니다. 이제 식 관리자가 루트 서명 키에 액세스할 수 있게 되었습니다.

루트 DNS 키 서명

루트 키 서명 키는 지리적으로 다른 두 위치(캘리포니아주 엘세군도와 버지니아주 컬페퍼)에서 보호됩니다. 두 위치 모두 보안 시설이며 키의 중복 복사본이 있습니다. 위치를 엘세군도와 컬페퍼로 번갈아 가며 서명식을 거행합니다.

루트 DNS 키 서명 다이어그램

노트북/HSM 시스템은 에어 갭 방식이므로 안전하지 않을 가능성이 있는 컴퓨터 네트워크(예: 인터넷)로부터 물리적으로 격리됩니다. 외부에서 노트북/HSM에 정보를 옮기려면 USB 드라이브를 이용하는 방법밖에 없습니다. 이런 이유로 키 서명 요청은 USB로 노트북에 로드됩니다. 올바른 키를 서명하기 위해 키 서명 요청의 PGP 해시가 계산되고, Verisign은 자신들이 제공했던 해시와 동일한지 확인합니다.

드디어 식 관리자가 개인 키 서명 키로 KSR에 서명할 수 있게 됩니다. 식 관리자가 명령 프롬프트에 "Y"를 입력하면 서명식에서 인상적인 이 절차가 마무리됩니다. 이렇게 하면 DNSSEC에서 RRSIG 레코드라고 하는 디지털 서명 모음이 생성됩니다. 잠시 후 이를 살펴보겠습니다.

실제로 KSR에는 15일~16일마다 교대로 바뀌는 영역 서명 키 번들이 있습니다. 번들에는 지금부터 3개월 이후 다음 루트 서명식까지 이어질 만큼 충분한 양의 키가 있습니다.

공개 기록

사소한 세부 사항도 모두 감사관이 기록하고 비디오로 녹화하여 서명식 전체는 공개 기록과도 같습니다. DNSSEC로 보호되는 인터넷 전체가 루트 이름 서버의 서명을 신뢰하려면 이러한 점이 중요합니다.

서명식을 진행하는 동안 이 영상을 생중계하며, 몇 명이 서명식을 보고 있는지 실시간으로 확인할 수 있었습니다. 이번에는 이전 행사보다 홍보를 더 잘한 덕분에 시청자 수가 기록적이었습니다. 채팅방으로 청중이 던진 질문을 참가자들에게 전달할 수도 있었습니다. 저희 모두는 청중들이 참여하여 기뻤습니다.

로그

서명식이 끝나면 로그를 인쇄해 사본을 원하는 모든 사람에게 제공합니다. Verisign은 USB 스틱에 있는 서명된 키 세트 사본을 받으며, 올해 4분기 동안 서명된 이 DNSKEY RRset를 루트 영역에서 사용합니다. 위조 방지 가방에 모든 자료를 다시 넣은 다음 각각의 금고에 둡니다.

서명된 키를 봅시다!

루트 키 서명 키는 지리적으로 다른 두 위치(캘리포니아주 엘세군도와 버지니아주 컬페퍼)에서 보호됩니다. 두 위치 모두 보안 시설이며 키의 중복 복사본이 있습니다. 위치를 엘세군도와 컬페퍼로 번갈아 가며 서명식을 거행합니다.

dig . dnskey +dnssec

이렇게 하면 루트 DNS 이름 서버에서 dnskey 레코드가 요청됩니다. 응답에서 흥미로운 부분은 다음과 같이 나타납니다.

. 20868 IN DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0= . 20868 IN DNSKEY 256 3 8 AwEAAa67bQck1JjopOOFc+iMISFcp/osWrEst2wbKbuQSUWu77QC9UHL ipiHgWN7JlqVAEjKITZz49hhkLmOpmLK55pTq+RD2kwoyNWk9cvpc+tS nIxT7i93O+3oVeLYjMWrkDAz7K45rObbHDuSBwYZKrcSIUCZnCpNMUtn PFl/04cb . 20868 IN RRSIG DNSKEY 8 0 172800 20150913235959 20150830000000 19036 . QKU/YSUHNXa0coshORV2r8o0PWZ43dn/u1ml4DglqLXTi2WJh+OyMFgi w4Xc7cF4T8Eab5TLbwqDHOrE87fmvcdSgQQOVwYN6jwStHAliuEICs6X rd+sqanyyMpaynLI630k5PuuQVOWxHn/Hyn4yFN5MJoQG9Pz+gn8FjCB oNGs0vu1TQm2m6DSGfjRTd7tRIchXAbOUvEVVnDWaTNPX3c35xqoHlUZ Ta00N9FvKqEwZDjdR1e0BCaDLL/Pk+CRygzOyfSKiuULzKEecsp3jPYY nXfKZmTuMuaQNRmcyJD+WSFwi5XyRgqrnxWUYmFcum4zw1NXdyp0mlGO slQ6NQ==

첫 번째 레코드는 HSM의 개인 키 서명 키에 대한 공개 대응 부분이고, 두 번째 레코드는 Verisign에서 제공하는 영역 서명 키이며, 세 번째 RRSIG 레코드는 루트 서명식을 진행하며 생성했던 레코드입니다. 이 마지막 레코드가 없으면 전세계 DNSSEC 시스템이 작동하지 않게 됩니다.

요약

루트 서명식으로 루트 DNS 이름 서버는 트러스트 앵커가 됩니다. 상위 영역에서 신뢰가 파생되는 대신, 신뢰가 가정됩니다. 이러한 신뢰를 강화하기 위해 이 서명식이 고안되었습니다. 이는 인터넷 보안 분야에서의 큰 인간적인 측면인데, 루트 DNS 서버를 믿을 수 있는 것은 루트 DNS 서버에 서명하는 사람들을 믿기 때문입니다.서버 그리고 서명식에서 엄격한 프로토콜을 따르므로 서명인들을 믿을 수 있습니다. 루트 서명식이란 이런 것입니다.

Cloudflare 설정은 간단합니다



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


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