Global DNSKEY Validation Tool
Bản ghi DNSKEY resource là nền tảng mã hóa của DNSSEC (Domain Name System Security Extensions). Giao thức DNS cốt lõi vốn không được mã hóa và hoạt động ở chế độ stateless, khiến nó cực kỳ dễ bị tấn công cache poisoning và man-in-the-middle (MitM) spoofing. DNSSEC giải quyết vấn đề này bằng cách đính kèm các chữ ký số (cryptographic signature) vào các phản hồi DNS. Bản ghi DNSKEY đóng vai trò là một kho chứa public key; nó giữ các public key được mã hóa Base64 mà các resolver từ xa sử dụng để xác minh rằng Payload của bản ghi A hoặc MX thực sự xuất phát từ authoritative nameserver và không bị sửa đổi trong lúc chuyển phát (in transit).
Kiến trúc ZSK và KSK
Một môi trường implement DNSSEC tiêu chuẩn sẽ deploy hai key riêng biệt để cân bằng giữa bảo mật và hiệu suất vận hành. Zone Signing Key (ZSK) là một cryptographic key nhỏ hơn, có overhead thấp, dùng để ký (sign) nhanh chóng các bản ghi riêng lẻ (A, TXT, CNAME) trong zone. Do nó phải xử lý khối lượng lớn thao tác ký (bulk signing), ZSK được thay (rotate) thường xuyên (ví dụ: mỗi 30 ngày) để ngăn ngừa tình trạng bẻ khóa bằng brute-force. Key Signing Key (KSK) là một key mạnh hơn rất nhiều, được bảo vệ nghiêm ngặt. Mục đích duy nhất của nó là để ký chính ZSK. Bằng cách tách biệt hai key này, các admin có thể rotate ZSK cục bộ trên nameserver mà không cần phải liên lạc liên tục tới TLD registry cấp cha (parent).
Chain of Trust và bản ghi DS
Việc publish một bản ghi DNSKEY vào zone của bạn là vô nghĩa nếu không có một đường dẫn tin cậy (path of trust) được verify nối dài tới tận root của internet. Khi KSK tạo ra chữ ký, một mã hash toán học của KSK đó sẽ được gửi lên domain registrar dưới dạng bản ghi DS (Delegation Signer). Registrar sẽ publish bản ghi DS này trong parent TLD zone (như registry .com). Khi một recursive resolver query domain của bạn, nó sẽ fetch bản ghi DS từ parent để xác thực KSK, sau đó dùng KSK để xác thực ZSK, và cuối cùng dùng ZSK để xác thực địa chỉ IP trả về. Nếu bất kỳ mắt xích nào trong chuỗi mật mã (cryptographic chain) này bị phá vỡ, quá trình validation sẽ hoàn toàn thất bại.
Các lỗi SERVFAIL nghiêm trọng
Quản lý các bản ghi DNSKEY đòi hỏi sự chính xác tuyệt đối. DNSSEC được thiết kế theo cơ chế "fail closed" (từ chối kết nối nếu thất bại). Nếu một script tự động rotate ZSK trên server nhưng lại quên không cập nhật bản ghi DNSKEY public tương ứng trên global zone, các chữ ký mã hóa sẽ bị mismatch. Các ISP và public resolver như Google (8.8.8.8) và Cloudflare (1.1.1.1) sẽ diễn giải điều này như là một cuộc tấn công mạng (cyberattack) đang diễn ra. Họ sẽ ngay lập tức drop phản hồi DNS và trả về trạng thái lỗi chí mạng SERVFAIL cho client, về cơ bản là xóa sổ domain khỏi internet cho đến khi các key được đồng bộ hóa thủ công hoặc bạn vô hiệu hóa hoàn toàn DNSSEC ở cấp độ registrar.