Labee Dev Toolbox
技術ノートガイド用語解説
無料で試す
  1. ホーム
  2. / 用語解説
  3. / RRSIG レコード
DNS

RRSIG レコード

2026年4月28日 更新

概要

RRSIG レコード は、DNSSEC(DNS Security Extensions)で使用されるリソースレコードで、同一名・同一タイプのレコード群(RRset)に対するデジタル署名を格納します。RFC 4034(2005年)で定義されており、DNS 応答の完全性と出自を検証する基盤です。

権威ネームサーバーは、ゾーン内の各 RRset に対して ZSK(Zone Signing Key)の秘密鍵で署名を生成し、その結果を RRSIG レコードとして配置します。再帰リゾルバーは応答を受け取ると、対応する DNSKEY レコード(ZSK の公開鍵)を使って RRSIG の署名を検証します。署名が一致しなければ、応答は改ざんされたと判断して破棄し、クライアントに SERVFAIL を返します。

RRSIG レコードには署名の有効期間(開始日と終了日)が設定されています。期限切れの署名は検証に失敗するため、権威サーバーは定期的に署名を更新する必要があります。署名の自動更新が停止すると、ドメイン全体の名前解決が停止するリスクがあります。

仕組み

RRSIG レコードは署名対象の RRset、署名アルゴリズム、有効期間などのフィールドで構成され、ZSK の秘密鍵で生成されます。

RRSIG のフィールド構造

RRSIG レコードは次のフィールドで構成されます。

フィールド内容
Type Covered署名対象のレコードタイプ(A、MX、TXT 等)
Algorithm署名アルゴリズム(13 = ECDSAP256SHA256 等)
Labels署名対象の名前のラベル数
Original TTL署名対象 RRset の元の TTL
Signature Expiration署名の有効期限(UTC)
Signature Inception署名の有効開始日(UTC)
Key Tag署名に使用した DNSKEY の識別子
Signer’s Name署名者のドメイン名(ゾーンオーナー)
Signatureデジタル署名のデータ

署名の生成と検証

署名の生成は権威ネームサーバー(またはゾーン署名システム)が行います。

  1. ゾーン内の各 RRset を正規化する(DNSSEC の正規順序に並べる)
  2. RRSIG の各フィールド(Type Covered、Algorithm、Expiration 等)と RRset のデータを結合する
  3. ZSK の秘密鍵で結合データに署名する
  4. 署名結果を RRSIG レコードの Signature フィールドに格納する

検証は再帰リゾルバーが行います。

  1. 応答に含まれる RRSIG レコードの Key Tag から、対応する DNSKEY(ZSK)を特定する
  2. DNSKEY の公開鍵を使って署名を検証する
  3. 署名が有効かつ有効期間内であれば検証成功とし、応答ヘッダーの ad フラグを立てる

署名アルゴリズム

RFC 8624(2019年)で各アルゴリズムの推奨状況が整理されています。

アルゴリズム番号名称状態
8RSA/SHA-256推奨
10RSA/SHA-512使用可
13ECDSAP256SHA256推奨
14ECDSAP384SHA384推奨
15Ed25519推奨

アルゴリズム 13(ECDSA P-256)は鍵長が短く、RRSIG レコードのサイズを抑えられるため、広く採用されています。Cloudflare の DNSSEC はアルゴリズム 13 を使用しています。

署名の有効期間

RRSIG の署名には有効期間が設定されます。一般的な設定は次の通りです。

  • 署名有効期間: 14〜30 日間
  • 署名更新間隔: 有効期限の 3〜7 日前に再署名

BIND の inline-signing や PowerDNS の pdnsutil は、署名の有効期限が近づくと自動的に再署名を行います。Cloudflare や Route 53 のマネージド DNSSEC ではこの処理が自動化されています。

具体例

dig +dnssec で A レコードとその RRSIG を取得した例です。

dig A example.com +dnssec
;; ANSWER SECTION:
example.com.		3600	IN	A	93.184.216.34
example.com.		3600	IN	RRSIG	A 13 2 3600 (
                              20260501000000 20260401000000 12345
                              example.com.
                              dGhpcyBpcyBhIHNhbXBsZSBzaWduYXR1cmU= )

RRSIG の各フィールドの読み方です。

  • A — 署名対象のレコードタイプ
  • 13 — アルゴリズム(ECDSAP256SHA256)
  • 2 — ラベル数(example と com で 2)
  • 3600 — 元の TTL
  • 20260501000000 — 署名の有効期限(2026 年 5 月 1 日 UTC)
  • 20260401000000 — 署名の開始日(2026 年 4 月 1 日 UTC)
  • 12345 — 署名に使用した DNSKEY の Key Tag
  • example.com. — 署名者のゾーン名

確認方法

DNSSEC 署名の状態を確認するには dig +dnssec を使います。

# A レコードの RRSIG を確認
dig A example.com +dnssec
# RRSIG レコードのみを問い合わせる
dig RRSIG example.com
# DNSKEY レコードで署名鍵を確認
dig DNSKEY example.com

応答ヘッダーの flags: に ad(Authenticated Data)が含まれていれば、リゾルバーが RRSIG の検証に成功しています。

;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2

署名の有効期限を確認するには、RRSIG の Expiration フィールドを見ます。日付形式は YYYYMMDDHHmmss(UTC)です。

外部の視点からも確認したい場合は、Labee Dev Toolbox の DNS API を使うと、外部の視点から見た結果を取得できます。DNSSEC 検証はリゾルバー側で行われます。

curl "https://labee.dev/api/dns?domain=example.com&type=A"
{
  "success": true,
  "data": {
    "domain": "example.com",
    "records": {
      "A": [
        { "address": "93.184.216.34", "ttl": 3600 }
      ]
    }
  },
  "error": null,
  "meta": { "responseTime": 45 }
}

API が正常にレコードを返せば、リゾルバーが DNSSEC 検証に成功していることを意味します。DNSSEC 検証に失敗した場合、API はエラーを返すか、レコードが空になります。

よくある問題

RRSIG レコードの運用では、署名期限切れ、鍵ロールオーバー時の不整合、レスポンスサイズの増大が代表的なトラブルです。

RRSIG の署名期限切れ

署名の自動更新が停止すると、RRSIG の有効期限が過ぎた時点で DNSSEC 対応リゾルバーが検証に失敗し、SERVFAIL を返します。Google Public DNS や Cloudflare DNS などの主要リゾルバーは DNSSEC 検証を有効にしているため、署名期限切れはドメインの名前解決が完全に停止する深刻な障害になります。

BIND では inline-signing が停止する原因として、ディスク容量不足、rndc freeze が実行されたまま、鍵ファイルのパーミッションエラーが挙げられます。dig RRSIG example.com で有効期限を定期的に監視し、更新が行われているかを確認してください。

Key Tag の不一致

RRSIG の Key Tag と DNSKEY の Key Tag が一致しない場合、リゾルバーは署名を検証できません。ZSK のロールオーバー中に古い RRSIG が残っていたり、新しい ZSK に対応する RRSIG がまだ生成されていないタイミングで発生します。

ZSK のロールオーバーは、新旧両方の ZSK と RRSIG がゾーンに存在する「プレパブリッシュ」期間を設けて行います。RFC 6781(2012年)でロールオーバーの手順が詳しく記載されています。

レスポンスサイズの増大

RRSIG レコードの追加により DNS レスポンスのサイズが増大します。RSA/SHA-256(アルゴリズム 8)の署名は 256 バイト以上になるため、レコード数が多いゾーンでは UDP パケットの推奨上限(1232 バイト、DNS Flag Day 2020 推奨値)を超えることがあります。ECDSA(アルゴリズム 13)は署名が 64 バイトと短く、レスポンスサイズの問題を軽減します。

実際のドメインで確認してみる

登録不要、無料です。ドメイン名を入れるだけで外部からの見え方を確認できます。

無料で試す

関連用語

DNS

DNSSEC(Domain Name System Security Extensions)

DNS 応答にデジタル署名を付与し、データの完全性と出自を検証可能にするセキュリティ拡張。キャッシュポイズニング対策として RFC 4033-4035 で標準化。

DNS

DNS レコード

ドメイン名と IP アドレスやサービス情報を紐づける DNS データベースのエントリ。A・MX・TXT など用途別に型が分かれる。

DNS

権威ネームサーバー(Authoritative Name Server)

ドメインの DNS レコードを直接管理し、最終的な回答を返す DNS サーバー。DNS の信頼の起点。

DNS

再帰リゾルバー(Recursive Resolver)

クライアントの DNS クエリを受け取り、ルートから権威サーバーまで順に問い合わせて最終回答を返す DNS サーバー。1.1.1.1 や 8.8.8.8 が代表的。

コンテンツ 技術ノート ガイド 用語解説
ツール ツール一覧 API Reference
Labee 日本語トップ Labee LLC
© 2026 Labee LLC . All rights reserved.
ホーム ブログ ガイド 用語集