[要約] RFC 6840は、DNSセキュリティ(DNSSEC)に関する要点と実装のノートを提供するものであり、DNSセキュリティの理解と実装の向上を目指しています。

Internet Engineering Task Force (IETF)                    S. Weiler, Ed.
Request for Comments: 6840                                  SPARTA, Inc.
Updates: 4033, 4034, 4035, 5155                           D. Blacka, Ed.
Category: Standards Track                                 Verisign, Inc.
ISSN: 2070-1721                                            February 2013
        

Clarifications and Implementation Notes for DNS Security (DNSSEC)

DNSセキュリティ(DNSSEC)の説明と実装に関する注意事項

Abstract

概要

This document is a collection of technical clarifications to the DNS Security (DNSSEC) document set. It is meant to serve as a resource to implementors as well as a collection of DNSSEC errata that existed at the time of writing.

このドキュメントは、DNSセキュリティ(DNSSEC)ドキュメントセットの技術的な説明を集めたものです。これは、執筆者向けのリソースとして、および執筆時点で存在していたDNSSECエラッタのコレクションとして機能することを目的としています。

This document updates the core DNSSEC documents (RFC 4033, RFC 4034, and RFC 4035) as well as the NSEC3 specification (RFC 5155). It also defines NSEC3 and SHA-2 (RFC 4509 and RFC 5702) as core parts of the DNSSEC specification.

このドキュメントは、コアDNSSECドキュメント(RFC 4033、RFC 4034、およびRFC 4035)とNSEC3仕様(RFC 5155)を更新します。また、NSEC3およびSHA-2(RFC 4509およびRFC 5702)をDNSSEC仕様のコアパーツとして定義しています。

Status of This Memo

本文書の状態

This is an Internet Standards Track document.

これはInternet Standards Trackドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントは、IETF(Internet Engineering Task Force)の製品です。これは、IETFコミュニティのコンセンサスを表しています。公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。インターネット標準の詳細については、RFC 5741のセクション2をご覧ください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6840.

このドキュメントの現在のステータス、エラータ、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc6840で入手できます。

Copyright Notice

著作権表示

Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2013 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書は、BCP 78およびこの文書の発行日に有効なIETF文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象となります。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseのテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。

This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.

このドキュメントには、2008年11月10日より前に公開または公開されたIETFドキュメントまたはIETFコントリビューションの素材が含まれている場合があります。この素材の一部で著作権を管理している人が、IETFトラストにそのような素材の変更を許可する権利を付与していない可能性がありますIETF標準プロセス外。このような資料の著作権を管理する人から適切なライセンスを取得せずに、このドキュメントをIETF標準プロセス外で変更したり、その派生物をIETF標準プロセス外で作成したりすることはできません。 RFCとして、またはそれを英語以外の言語に翻訳するための出版物。

Table of Contents

目次

   1. Introduction and Terminology ....................................4
      1.1. Structure of This Document .................................4
      1.2. Terminology ................................................4
   2. Important Additions to DNSSEC ...................................4
      2.1. NSEC3 Support ..............................................4
      2.2. SHA-2 Support ..............................................5
   3. Scaling Concerns ................................................5
      3.1. Implement a BAD Cache ......................................5
   4. Security Concerns ...............................................5
      4.1. Clarifications on Nonexistence Proofs ......................5
      4.2. Validating Responses to an ANY Query .......................6
      4.3. Check for CNAME ............................................6
      4.4. Insecure Delegation Proofs .................................7
   5. Interoperability Concerns .......................................7
      5.1. Errors in Canonical Form Type Code List ....................7
      5.2. Unknown DS Message Digest Algorithms .......................7
      5.3. Private Algorithms .........................................8
      5.4. Caution about Local Policy and Multiple RRSIGs .............9
      5.5. Key Tag Calculation ........................................9
      5.6. Setting the DO Bit on Replies ..............................9
      5.7. Setting the AD Bit on Queries .............................10
      5.8. Setting the AD Bit on Replies .............................10
      5.9. Always Set the CD Bit on Queries ..........................10
      5.10. Nested Trust Anchors .....................................11
      5.11. Mandatory Algorithm Rules ................................11
      5.12. Ignore Extra Signatures from Unknown Keys ................12
   6. Minor Corrections and Clarifications ...........................12
      6.1. Finding Zone Cuts .........................................12
      6.2. Clarifications on DNSKEY Usage ............................12
      6.3. Errors in Examples ........................................13
      6.4. Errors in RFC 5155 ........................................13
   7. Security Considerations ........................................13
   8. References .....................................................14
      8.1. Normative References ......................................14
      8.2. Informative References ....................................15
   Appendix A. Acknowledgments .......................................16
   Appendix B. Discussion of Setting the CD Bit ......................16
   Appendix C. Discussion of Trust Anchor Preference Options .........19
      C.1. Closest Encloser ..........................................19
      C.2. Accept Any Success ........................................20
      C.3. Preference Based on Source ................................20
        
1. Introduction and Terminology
1. 概要と用語

This document lists some additions, clarifications, and corrections to the core DNSSEC specification, as originally described in [RFC4033], [RFC4034], and [RFC4035], and later amended by [RFC5155]. (See Section 2 for more recent additions to that core document set.)

このドキュメントでは、最初に[RFC4033]、[RFC4034]、および[RFC4035]で説明され、後で[RFC5155]で修正されるように、コアDNSSEC仕様に対するいくつかの追加、説明、および修正を示します。 (その中核となるドキュメントセットへの最近の追加については、セクション2を参照してください。)

It is intended to serve as a resource for implementors and as a repository of items existing at the time of writing that need to be addressed when advancing the DNSSEC documents along the Standards Track.

これは、実装者のためのリソースとして、および執筆時点で存在する項目のリポジトリとして機能することを目的としており、DNSSECドキュメントをStandards Trackに沿って進める際に対処する必要があります。

1.1. Structure of This Document
1.1. このドキュメントの構造

The clarifications and changes to DNSSEC are sorted according to their importance, starting with ones which could, if ignored, lead to security problems and progressing down to clarifications that are expected to have little operational impact.

DNSSECの明確化と変更は、重要度に応じて分類されています。無視するとセキュリティ上の問題につながる可能性のあるものから始まり、運用への影響はほとんどないと予想される明確化に進みます。

1.2. Terminology
1.2. 用語

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

キーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「NOT RECOMMENDED」、「MAY」、「OPTIONALこの文書の "は、[RFC2119]で説明されているように解釈されます。

2. Important Additions to DNSSEC
2. DNSSECへの重要な追加

This section lists some documents that are now considered core DNSSEC protocol documents in addition to those originally specified in Section 10 of [RFC4033].

このセクションでは、[RFC4033]のセクション10で最初に指定されたドキュメントに加えて、現在コアDNSSECプロト​​コルドキュメントと見なされているいくつかのドキュメントをリストします。

2.1. NSEC3 Support
2.1. NSEC3サポート

[RFC5155] describes the use and behavior of the NSEC3 and NSEC3PARAM records for hashed denial of existence. Validator implementations are strongly encouraged to include support for NSEC3 because a number of highly visible zones use it. Validators that do not support validation of responses using NSEC3 will be hampered in validating large portions of the DNS space.

[RFC5155]は、存在のハッシュされた拒否に対するNSEC3およびNSEC3PARAMレコードの使用と動作を説明しています。バリデーターの実装では、NSEC3のサポートを含めることを強くお勧めします。これは、多くの可視性の高いゾーンがそれを使用するためです。 NSEC3を使用した応答の検証をサポートしないバリデーターは、DNSスペースの大部分を検証する際に妨げられます。

[RFC5155] is now considered part of the DNS Security Document Family as described by Section 10 of [RFC4033].

[RFC5155]は、[RFC4033]のセクション10で説明されているように、DNSセキュリティドキュメントファミリの一部と見なされます。

Note that the algorithm identifiers defined in [RFC5155] (DSA-NSEC3- SHA1 and RSASHA1-NSEC3-SHA1) and [RFC5702] (RSASHA256 and RSASHA512) signal that a zone might be using NSEC3, rather than NSEC. The zone may be using either, and validators supporting these algorithms MUST support both NSEC3 and NSEC responses.

[RFC5155](DSA-NSEC3- SHA1およびRSASHA1-NSEC3-SHA1)および[RFC5702](RSASHA256およびRSASHA512)で定義されたアルゴリズム識別子は、ゾーンがNSECではなくNSEC3を使用している可能性があることを示します。ゾーンはどちらかを使用している可能性があり、これらのアルゴリズムをサポートするバリデーターはNSEC3とNSEC応答の両方をサポートする必要があります。

2.2. SHA-2 Support
2.2. SHA-2サポート

[RFC4509] describes the use of SHA-256 as a digest algorithm in Delegation Signer (DS) RRs. [RFC5702] describes the use of the RSASHA256 and RSASHA512 algorithms in DNSKEY and RRSIG RRs. Validator implementations are strongly encouraged to include support for these algorithms for DS, DNSKEY, and RRSIG records.

[RFC4509]では、SHA-256を委任署名者(DS)RRのダイジェストアルゴリズムとして使用する方法について説明しています。 [RFC5702]は、DNSKEYおよびRRSIG RRでのRSASHA256およびRSASHA512アルゴリズムの使用について説明しています。 Validatorの実装では、DS、DNSKEY、およびRRSIGレコードのこれらのアルゴリズムのサポートを含めることを強くお勧めします。

Both [RFC4509] and [RFC5702] are now considered part of the DNS Security Document Family as described by Section 10 of [RFC4033].

[RFC4509]と[RFC5702]はどちらも、[RFC4033]のセクション10で説明されているように、DNSセキュリティドキュメントファミリーの一部と見なされるようになりました。

3. Scaling Concerns
3. スケーリングの懸念
3.1. Implement a BAD Cache
3.1. BADキャッシュを実装する

Section 4.7 of [RFC4035] permits security-aware resolvers to implement a BAD cache. That guidance has changed: security-aware resolvers SHOULD implement a BAD cache as described in [RFC4035].

[RFC4035]のセクション4.7では、セキュリティ対応リゾルバーがBADキャッシュを実装できるようになっています。そのガイダンスが変更されました。セキュリティ対応のリゾルバは、[RFC4035]で説明されているように、BADキャッシュを実装する必要があります(SHOULD)。

This change in guidance is based on operational experience with DNSSEC administrative errors leading to significant increases in DNS traffic, with an accompanying realization that such events are more likely and more damaging than originally supposed. An example of one such event is documented in "Rolling Over DNSSEC Keys" [Huston].

このガイダンスの変更は、DNSトラフィックの大幅な増加につながるDNSSEC管理エラーの運用経験に基づいており、そのようなイベントは当初想定されていたよりも可能性が高く、より損害が大きいという付随的な認識があります。このようなイベントの例は、「Rolling Over DNSSEC Keys」[Huston]に記載されています。

4. Security Concerns
4. セキュリティ上の懸念

This section provides clarifications that, if overlooked, could lead to security issues.

このセクションでは、見落とされた場合にセキュリティの問題につながる可能性があることを説明します。

4.1. Clarifications on Nonexistence Proofs
4.1. 非存在証明の明確化

Section 5.4 of [RFC4035] under-specifies the algorithm for checking nonexistence proofs. In particular, the algorithm as presented would allow a validator to interpret an NSEC or NSEC3 RR from an ancestor zone as proving the nonexistence of an RR in a child zone.

[RFC4035]のセクション5.4は、存在しない証明をチェックするためのアルゴリズムを規定していません。特に、提示されたアルゴリズムは、検証者が祖先ゾーンからのNSECまたはNSEC3 RRを、子ゾーンにRRが存在しないことを証明するものとして解釈できるようにします。

An "ancestor delegation" NSEC RR (or NSEC3 RR) is one with:

「祖先の委任」NSEC RR(またはNSEC3 RR)は、

o the NS bit set,

o NSビットセット

o the Start of Authority (SOA) bit clear, and o a signer field that is shorter than the owner name of the NSEC RR, or the original owner name for the NSEC3 RR.

o Start of Authority(SOA)ビットがクリアされており、o NSEC RRの所有者名またはNSEC3 RRの元の所有者名より短い署名者フィールド。

Ancestor delegation NSEC or NSEC3 RRs MUST NOT be used to assume nonexistence of any RRs below that zone cut, which include all RRs at that (original) owner name other than DS RRs, and all RRs below that owner name regardless of type.

祖先の委任NSECまたはNSEC3 RRを使用して、そのゾーンカットの下にRRが存在しないことを想定してはなりません。これには、DS RR以外のその(元の)所有者名のすべてのRR、およびタイプに関係なくその所有者名の下のすべてのRRが含まれます。

Similarly, the algorithm would also allow an NSEC RR at the same owner name as a DNAME RR, or an NSEC3 RR at the same original owner name as a DNAME, to prove the nonexistence of names beneath that DNAME. An NSEC or NSEC3 RR with the DNAME bit set MUST NOT be used to assume the nonexistence of any subdomain of that NSEC/NSEC3 RR's (original) owner name.

同様に、アルゴリズムは、DNAME RRと同じ所有者名のNSEC RR、またはDNAMEと同じ元の所有者名のNSEC3 RRを許可して、そのDNAMEの下に名前が存在しないことを証明します。 DNAMEビットが設定されたNSECまたはNSEC3 RRを使用して、そのNSEC / NSEC3 RRの(元の)所有者名のサブドメインが存在しないと仮定してはなりません(MUST NOT)。

4.2. Validating Responses to an ANY Query
4.2. ANYクエリへの応答の検証

[RFC4035] does not address how to validate responses when QTYPE=*. As described in Section 6.2.2 of [RFC1034], a proper response to QTYPE=* may include a subset of the RRsets at a given name. That is, it is not necessary to include all RRsets at the QNAME in the response.

[RFC4035]は、QTYPE = *の場合の応答を検証する方法を扱いません。 [RFC1034]のセクション6.2.2で説明されているように、QTYPE = *に対する適切な応答には、特定の名前のRRsetのサブセットが含まれる場合があります。つまり、QNAMEのすべてのRRsetを応答に含める必要はありません。

When validating a response to QTYPE=*, all received RRsets that match QNAME and QCLASS MUST be validated. If any of those RRsets fail validation, the answer is considered Bogus. If there are no RRsets matching QNAME and QCLASS, that fact MUST be validated according to the rules in Section 5.4 of [RFC4035] (as clarified in this document). To be clear, a validator must not expect to receive all records at the QNAME in response to QTYPE=*.

QTYPE = *への応答を検証するとき、QNAMEおよびQCLASSに一致するすべての受信したRRsetを検証する必要があります。これらのRRsetのいずれかが検証に失敗した場合、答えは偽物と見なされます。 QNAMEおよびQCLASSに一致するRRsetがない場合、その事実は[RFC4035]のセクション5.4の規則に従って検証する必要があります(このドキュメントで明確化されています)。明確にするために、バリデーターはQTYPE = *に応答してQNAMEですべてのレコードを受け取ることを期待してはなりません。

4.3. Check for CNAME
4.3. CNAMEを確認する

Section 5 of [RFC4035] says nothing explicit about validating responses based on (or that should be based on) CNAMEs. When validating a NOERROR/NODATA response, validators MUST check the CNAME bit in the matching NSEC or NSEC3 RR's type bitmap in addition to the bit for the query type.

[RFC4035]のセクション5は、CNAMEに基づく(またはそれに基づく必要がある)応答の検証については何も明示していません。 NOERROR / NODATA応答を検証する場合、バリデーターは、クエリタイプのビットに加えて、一致するNSECまたはNSEC3 RRのタイプビットマップのCNAMEビットをチェックする必要があります。

Without this check, an attacker could successfully transform a positive CNAME response into a NOERROR/NODATA response by (for example) simply stripping the CNAME RRset from the response. A naive validator would then note that the QTYPE was not present in the matching NSEC/NSEC3 RR, but fail to notice that the CNAME bit was set; thus, the response should have been a positive CNAME response.

このチェックがないと、攻撃者は(たとえば)応答からCNAME RRsetを単に削除するだけで、肯定的なCNAME応答をNOERROR / NODATA応答に変換できます。ナイーブなバリデーターは、QTYPEが一致するNSEC / NSEC3 RRに存在しないことを通知しますが、CNAMEビットが設定されていることに気付くことはありません。したがって、応答はCNAMEの肯定応答である必要があります。

4.4. Insecure Delegation Proofs
4.4. 安全でない委任証明

Section 5.2 of [RFC4035] specifies that a validator, when proving a delegation is not secure, needs to check for the absence of the DS and SOA bits in the NSEC (or NSEC3) type bitmap. The validator also MUST check for the presence of the NS bit in the matching NSEC (or NSEC3) RR (proving that there is, indeed, a delegation), or alternately make sure that the delegation is covered by an NSEC3 RR with the Opt-Out flag set.

[RFC4035]のセクション5.2は、委任が安全でないことを証明するときに、検証者がNSEC(またはNSEC3)タイプのビットマップにDSおよびSOAビットがないことを確認する必要があることを指定しています。バリデーターはまた、一致するNSEC(またはNSEC3)RRにNSビットが存在するかどうかを確認する必要があります(実際に委任があることを証明します)。または、委任がNSEC3 RRでカバーされていることを確認する必要があります。フラグが設定されています。

Without this check, an attacker could reuse an NSEC or NSEC3 RR matching a non-delegation name to spoof an unsigned delegation at that name. This would claim that an existing signed RRset (or set of signed RRsets) is below an unsigned delegation, thus not signed and vulnerable to further attack.

このチェックがないと、攻撃者は非委任名に一致するNSECまたはNSEC3 RRを再利用して、その名前で署名されていない委任を偽装する可能性があります。これは、既存の署名付きRRset(または署名付きRRsetのセット)が署名なしの委任の下にあるため、署名されておらず、さらなる攻撃に対して脆弱であると主張します。

5. Interoperability Concerns
5. 相互運用性に関する懸念
5.1. Errors in Canonical Form Type Code List
5.1. 正規フォームタイプコードリストのエラー

When canonicalizing DNS names (for both ordering and signing), DNS names in the RDATA section of NSEC resource records are not converted to lowercase. DNS names in the RDATA section of RRSIG resource records are converted to lowercase.

DNS名を正規化(順序付けと署名の両方)する場合、NSECリソースレコードのRDATAセクションのDNS名は小文字に変換されません。 RRSIGリソースレコードのRDATAセクション内のDNS名は小文字に変換されます。

The guidance in the above paragraph differs from what has been published before but is consistent with current common practice. Item 3 of Section 6.2 of [RFC4034] says that names in both of these RR types should be converted to lowercase. The earlier [RFC3755] says that they should not. Current practice follows neither document fully.

上記のガイダンスは、以前に公開されたものとは異なりますが、現在の一般的な慣行と一致しています。 [RFC4034]のセクション6.2の項目3では、これらのRRタイプの両方の名前は小文字に変換する必要があると述べています。以前の[RFC3755]はそうすべきではないと述べています。現在の慣行はどちらの文書にも完全に従っていません。

Section 6.2 of [RFC4034] also erroneously lists HINFO as a record that needs conversion to lowercase, and twice at that. Since HINFO records contain no domain names, they are not subject to case conversion.

[RFC4034]のセクション6.2でも、小文字への変換が必要なレコードとして誤ってHINFOがリストされており、その場合は2倍になっています。 HINFOレコードにはドメイン名が含まれていないため、大文字と小文字の変換は行われません。

5.2. Unknown DS Message Digest Algorithms
5.2. 不明なDSメッセージダイジェストアルゴリズム

Section 5.2 of [RFC4035] includes rules for how to handle delegations to zones that are signed with entirely unsupported public key algorithms, as indicated by the key algorithms shown in those zones' DS RRsets. It does not explicitly address how to handle DS records that use unsupported message digest algorithms. In brief, DS records using unknown or unsupported message digest algorithms MUST be treated the same way as DS records referring to DNSKEY RRs of unknown or unsupported public key algorithms.

[RFC4035]のセクション5.2には、完全にサポートされていない公開鍵アルゴリズムで署名されたゾーンへの委任を処理する方法に関するルールが含まれています。これらのゾーンのDS RRsetに示されている鍵アルゴリズムによって示されています。サポートされていないメッセージダイジェストアルゴリズムを使用するDSレコードの処理方法については明示的に取り上げていません。簡単に言うと、不明またはサポートされていないメッセージダイジェストアルゴリズムを使用するDSレコードは、不明またはサポートされていない公開鍵アルゴリズムのDNSKEY RRを参照するDSレコードと同じ方法で処理する必要があります。

The existing text says:

既存のテキストは言う:

If the validator does not support any of the algorithms listed in an authenticated DS RRset, then the resolver has no supported authentication path leading from the parent to the child. The resolver should treat this case as it would the case of an authenticated NSEC RRset proving that no DS RRset exists, as described above.

バリデーターが認証済みDS RRsetにリストされているアルゴリズムのいずれもサポートしていない場合、リゾルバーは、親から子へのサポートされている認証パスを持ちません。上記のように、リゾルバはこのケースを、DS RRsetが存在しないことを証明する認証済みNSEC RRsetのケースと同様に扱う必要があります。

In other words, when determining the security status of a zone, a validator disregards any authenticated DS records that specify unknown or unsupported DNSKEY algorithms. If none are left, the zone is treated as if it were unsigned.

つまり、検証ツールは、ゾーンのセキュリティステータスを決定するときに、不明またはサポートされていないDNSKEYアルゴリズムを指定する認証済みDSレコードをすべて無視します。何も残っていない場合、ゾーンは署名されていないものとして扱われます。

This document modifies the above text to additionally disregard authenticated DS records using unknown or unsupported message digest algorithms.

このドキュメントでは、不明またはサポートされていないメッセージダイジェストアルゴリズムを使用して認証済みDSレコードをさらに無視するように、上記のテキストを変更します。

5.3. Private Algorithms
5.3. プライベートアルゴリズム

As discussed above, Section 5.2 of [RFC4035] requires that validators make decisions about the security status of zones based on the public key algorithms shown in the DS records for those zones. In the case of private algorithms, as described in Appendix A.1.1 of [RFC4034], the eight-bit algorithm field in the DS RR is not conclusive about what algorithm(s) is actually in use.

前述のように、[RFC4035]のセクション5.2では、ゾーンのDSレコードに示されている公開鍵アルゴリズムに基づいて、検証者がゾーンのセキュリティステータスについて決定を下す必要があります。プライベートアルゴリズムの場合、[RFC4034]の付録A.1.1で説明されているように、DS RRの8ビットアルゴリズムフィールドは、実際に使用されているアルゴリズムについて決定的ではありません。

If no private algorithms appear in the DS RRset, or if any supported algorithm appears in the DS RRset, no special processing is needed. Furthermore, if the validator implementation does not support any private algorithms, or only supports private algorithms using an algorithm number not present in the DS RRset, no special processing is needed.

プライベートアルゴリズムがDS RRsetに表示されない場合、またはサポートされているアルゴリズムがDS RRsetに表示される場合、特別な処理は必要ありません。さらに、バリデーター実装がプライベートアルゴリズムをサポートしない場合、またはDS RRsetに存在しないアルゴリズム番号を使用するプライベートアルゴリズムのみをサポートする場合、特別な処理は必要ありません。

In the remaining cases, the security status of the zone depends on whether or not the resolver supports any of the private algorithms in use (provided that these DS records use supported message digest algorithms, as discussed in Section 5.2 of this document). In these cases, the resolver MUST retrieve the corresponding DNSKEY for each private algorithm DS record and examine the public key field to determine the algorithm in use. The security-aware resolver MUST ensure that the hash of the DNSKEY RR's owner name and RDATA matches the digest in the DS RR as described in Section 5.2 of [RFC4035], authenticating the DNSKEY. If all of the retrieved and authenticated DNSKEY RRs use unknown or unsupported private algorithms, then the zone is treated as if it were unsigned.

残りの場合、ゾーンのセキュリティステータスは、リゾルバーが使用中のプライベートアルゴリズムをサポートしているかどうかによって異なります(これらのDSレコードが、サポートされているメッセージダイジェストアルゴリズムを使用している場合、このドキュメントのセクション5.2で説明しています)。これらの場合、リゾルバーは、各プライベートアルゴリズムDSレコードの対応するDNSKEYを取得し、公開キーフィールドを調べて、使用中のアルゴリズムを決定する必要があります。 [RFC4035]のセクション5.2で説明されているように、セキュリティ対応のリゾルバは、DNSKEY RRの所有者名とRDATAのハッシュがDS RRのダイジェストと一致することを確認して、DNSKEYを認証する必要があります。取得および認証されたすべてのDNSKEY RRが不明またはサポートされていないプライベートアルゴリズムを使用している場合、ゾーンは署名されていないものとして扱われます。

Note that if none of the private algorithm DS RRs can be securely matched to DNSKEY RRs and no other DS establishes that the zone is secure, the referral should be considered Bogus data as discussed in [RFC4035].

プライベートアルゴリズムDS RRをDNSKEY RRに安全に一致させることができず、ゾーンが安全であることを他のDSが確立できない場合は、[RFC4035]で説明されているように、紹介を偽のデータと見なす必要があります。

This clarification facilitates the broader use of private algorithms, as suggested by [RFC4955].

この説明により、[RFC4955]で提案されているように、プライベートアルゴリズムの幅広い使用が容易になります。

5.4. Caution about Local Policy and Multiple RRSIGs
5.4. ローカルポリシーと複数のRRSIGに関する注意

When multiple RRSIGs cover a given RRset, Section 5.3.3 of [RFC4035] suggests that "the local resolver security policy determines whether the resolver also has to test these RRSIG RRs and how to resolve conflicts if these RRSIG RRs lead to differing results".

複数のRRSIGが特定のRRsetをカバーしている場合、[RFC4035]のセクション5.3.3は、「ローカルリゾルバーセキュリティポリシーは、リゾルバーがこれらのRRSIG RRもテストする必要があるかどうか、およびこれらのRRSIG RRが異なる結果につながる場合の競合を解決する方法を決定する」と示唆しています。

This document specifies that a resolver SHOULD accept any valid RRSIG as sufficient, and only determine that an RRset is Bogus if all RRSIGs fail validation.

このドキュメントでは、リゾルバは有効なRRSIGを十分に受け入れるべきであり、すべてのRRSIGが検証に失敗した場合にのみRRsetが偽であると判断する必要があることを指定しています。

If a resolver adopts a more restrictive policy, there's a danger that properly signed data might unnecessarily fail validation due to cache timing issues. Furthermore, certain zone management techniques, like the Double Signature Zone Signing Key Rollover method described in Section 4.2.1.2 of [RFC6781], will not work reliably. Such a resolver is also vulnerable to malicious insertion of gibberish signatures.

リゾルバーがより制限的なポリシーを採用している場合、適切に署名されたデータが、キャッシュタイミングの問題により、不必要に検証に失敗する危険性があります。さらに、[RFC6781]のセクション4.2.1.2で説明されている二重署名ゾーン署名鍵のロールオーバー方法などの特定のゾーン管理手法は、確実に機能しません。このようなリゾルバは、意味不明な署名の悪意のある挿入に対しても脆弱です。

5.5. Key Tag Calculation
5.5. キータグの計算

Appendix B.1 of [RFC4034] incorrectly defines the Key Tag field calculation for algorithm 1. It correctly says that the Key Tag is the most significant 16 of the least significant 24 bits of the public key modulus. However, [RFC4034] then goes on to incorrectly say that this is fourth-to-last and third-to-last octets of the public key modulus. It is, in fact, the third-to-last and second-to-last octets.

[RFC4034]の付録B.1は、アルゴリズム1のキータグフィールドの計算を誤って定義しています。それは、キータグが公開鍵係数の最下位24ビットの最上位16ビットであることを正しく述べています。ただし、[RFC4034]はさらに、これが公開鍵モジュラスの最後から4番目および最後から3番目のオクテットであると誤って述べています。実際には、最後から3番目と最後から2番目のオクテットです。

5.6. Setting the DO Bit on Replies
5.6. 返信にDOビットを設定する

As stated in Section 3 of [RFC3225], the DNSSEC OK (DO) bit of the query MUST be copied in the response. However, in order to interoperate with implementations that ignore this rule on sending, resolvers MUST ignore the DO bit in responses.

[RFC3225]のセクション3で述べたように、クエリのDNSSEC OK(DO)ビットを応答にコピーする必要があります。ただし、送信時にこのルールを無視する実装と相互運用するために、リゾルバーは応答のDOビットを無視する必要があります。

5.7. Setting the AD Bit on Queries
5.7. クエリでのADビットの設定

The semantics of the Authentic Data (AD) bit in the query were previously undefined. Section 4.6 of [RFC4035] instructed resolvers to always clear the AD bit when composing queries.

クエリのAuthentic Data(AD)ビットのセマンティクスは以前は未定義でした。 [RFC4035]のセクション4.6は、クエリの作成時に常にADビットをクリアするようにリゾルバーに指示しました。

This document defines setting the AD bit in a query as a signal indicating that the requester understands and is interested in the value of the AD bit in the response. This allows a requester to indicate that it understands the AD bit without also requesting DNSSEC data via the DO bit.

このドキュメントでは、クエリのADビットの設定を、リクエスタが応答のADビットの値を理解し、関心があることを示す信号として定義しています。これにより、リクエスタは、DOビットを介してDNSSECデータを要求することなく、ADビットを理解していることを示すことができます。

5.8. Setting the AD Bit on Replies
5.8. 返信にADビットを設定する

Section 3.2.3 of [RFC4035] describes under which conditions a validating resolver should set or clear the AD bit in a response. In order to interoperate with legacy stub resolvers and middleboxes that neither understand nor ignore the AD bit, validating resolvers SHOULD only set the AD bit when a response both meets the conditions listed in Section 3.2.3 of [RFC4035], and the request contained either a set DO bit or a set AD bit.

[RFC4035]のセクション3.2.3は、検証リゾルバーが応答でADビットを設定またはクリアする条件を説明しています。 ADビットを理解も無視もしないレガシースタブリゾルバーやミドルボックスと相互運用するために、リゾルバーの検証では、応答が両方とも[RFC4035]のセクション3.2.3に記載されている条件を満たす場合にのみADビットを設定する必要があり、リクエストにはどちらかが含まれますセットされたDOビットまたはセットされたADビット。

5.9. Always Set the CD Bit on Queries
5.9. 常にクエリにCDビットを設定する

When processing a request with the Checking Disabled (CD) bit set, a resolver SHOULD attempt to return all response data, even data that has failed DNSSEC validation. Section 3.2.2 of [RFC4035] requires a resolver processing a request with the CD bit set to set the CD bit on its upstream queries.

Checking Disabled(CD)ビットが設定された要求を処理する場合、リゾルバーは、DNSSEC検証に失敗したデータも含めて、すべての応答データを返そうとします(SHOULD)。 [RFC4035]のセクション3.2.2では、リゾルバがCDビットを設定してリクエストを処理し、上流のクエリにCDビットを設定する必要があります。

This document further specifies that validating resolvers SHOULD set the CD bit on every upstream query. This is regardless of whether the CD bit was set on the incoming query or whether it has a trust anchor at or above the QNAME.

このドキュメントはさらに、検証リゾルバがすべてのアップストリームクエリでCDビットを設定する必要があることを指定しています。これは、着信クエリでCDビットが設定されたかどうか、またはQNAME以上にトラストアンカーがあるかどうかには関係ありません。

[RFC4035] is ambiguous about what to do when a cached response was obtained with the CD bit unset, a case that only arises when the resolver chooses not to set the CD bit on all upstream queries, as specified above. In the typical case, no new query is required, nor does the cache need to track the state of the CD bit used to make a given query. The problem arises when the cached response is a server failure (RCODE 2), which may indicate that the requested data failed DNSSEC validation at an upstream validating resolver. ([RFC2308] permits caching of server failures for up to five minutes.) In these cases, a new query with the CD bit set is required.

[RFC4035]は、CDビットが設定されていない状態でキャッシュされた応答が取得された場合の対処方法が不明確です。このケースは、上記のように、リゾルバーがすべての上流クエリにCDビットを設定しないことを選択した場合にのみ発生します。一般的なケースでは、新しいクエリは必要ありません。また、キャッシュは、特定のクエリを作成するために使用されるCDビットの状態を追跡する必要もありません。この問題は、キャッシュされた応答がサーバー障害(RCODE 2)である場合に発生します。これは、要求されたデータが上流の検証リゾルバーでDNSSEC検証に失敗したことを示している可能性があります。 ([RFC2308]は、サーバー障害のキャッシュを最大5分間許可します。)これらの場合、CDビットが設定された新しいクエリが必要です。

Appendix B discusses more of the logic behind the recommendation presented in this section.

付録Bでは、このセクションで提示される推奨事項の背後にあるロジックについて詳しく説明します。

5.10. Nested Trust Anchors
5.10. ネストされた信頼アンカー

A DNSSEC validator may be configured such that, for a given response, more than one trust anchor could be used to validate the chain of trust to the response zone. For example, imagine a validator configured with trust anchors for "example." and "zone.example." When the validator is asked to validate a response to "www.sub.zone.example.", either trust anchor could apply.

DNSSECバリデーターは、特定の応答に対して、複数のトラストアンカーを使用して応答ゾーンへの信頼チェーンを検証できるように構成できます。たとえば、「example」のトラストアンカーで構成されたバリデーターを想像してください。および「zone.example。」 「www.sub.zone.example。」への応答を検証するようにバリデーターが要求されると、いずれかのトラストアンカーを適用できます。

When presented with this situation, DNSSEC validators have a choice of which trust anchor(s) to use. Which to use is a matter of implementation choice. Appendix C discusses several possible algorithms.

この状況が提示されると、DNSSECバリデーターはどのトラストアンカーを使用するかを選択できます。どちらを使用するかは、実装の選択の問題です。付録Cでは、いくつかの可能なアルゴリズムについて説明します。

It is possible and advisable to expose the choice of policy as a configuration option. As a default, it is suggested that validators implement the "Accept Any Success" policy described in Appendix C.2 while exposing other policies as configuration options.

ポリシーの選択を構成オプションとして公開することは可能であり、推奨されます。デフォルトでは、バリデーターが付録C.2で説明されている「Accept Any Success」ポリシーを実装し、他のポリシーを構成オプションとして公開することをお勧めします。

The "Accept Any Success" policy is to try all applicable trust anchors until one gives a validation result of Secure, in which case the final validation result is Secure. If and only if all applicable trust anchors give a result of Insecure, the final validation result is Insecure. If one or more trust anchors lead to a Bogus result and there is no Secure result, then the final validation result is Bogus.

「すべての成功を受け入れる」ポリシーでは、セキュアな検証結果が得られるまで、該当するすべてのトラストアンカーを試行します。この場合、最終的な検証結果はセキュアです。該当するすべてのトラストアンカーの結果が安全でない場合に限り、最終的な検証結果は安全ではありません。 1つ以上のトラストアンカーが偽の結果を導き、安全な結果がない場合、最終的な検証結果は偽です。

5.11. Mandatory Algorithm Rules
5.11. 必須アルゴリズムルール

The last paragraph of Section 2.2 of [RFC4035] includes rules describing which algorithms must be used to sign a zone. Since these rules have been confusing, they are restated using different language here:

[RFC4035]のセクション2.2の最後の段落には、ゾーンの署名に使用する必要があるアルゴリズムを説明するルールが含まれています。これらのルールは紛らわしいため、ここでは別の言語を使用して言い換えています。

The DS RRset and DNSKEY RRset are used to signal which algorithms are used to sign a zone. The presence of an algorithm in either a zone's DS or DNSKEY RRset signals that that algorithm is used to sign the entire zone.

DS RRsetおよびDNSKEY RRsetは、ゾーンの署名に使用されるアルゴリズムを通知するために使用されます。ゾーンのDSまたはDNSKEY RRsetのいずれかにアルゴリズムが存在する場合、そのアルゴリズムがゾーン全体の署名に使用されていることを示します。

A signed zone MUST include a DNSKEY for each algorithm present in the zone's DS RRset and expected trust anchors for the zone. The zone MUST also be signed with each algorithm (though not each key) present in the DNSKEY RRset. It is possible to add algorithms at the DNSKEY that aren't in the DS record, but not vice versa. If more than one key of the same algorithm is in the DNSKEY RRset, it is sufficient to sign each RRset with any subset of these DNSKEYs. It is acceptable to sign some RRsets with one subset of keys (or key) and other RRsets with a different subset, so long as at least one DNSKEY of each algorithm is used to sign each RRset. Likewise, if there are DS records for multiple keys of the same algorithm, any subset of those may appear in the DNSKEY RRset.

署名されたゾーンには、ゾーンのDS RRsetに存在する各アルゴリズムのDNSKEYと、ゾーンの予期されるトラストアンカーを含める必要があります。ゾーンは、DNSKEY RRsetに存在する各アルゴリズム(各キーではない)でも署名する必要があります。 DSKEYにないアルゴリズムをDNSKEYに追加できますが、その逆はできません。同じアルゴリズムの複数のキーがDNSKEY RRsetにある場合、これらのDNSKEYのサブセットで各RRsetに署名するだけで十分です。各アルゴリズムの少なくとも1つのDNSKEYが各RRsetの署名に使用されている限り、一部のRRsetを鍵のサブセット(または鍵)で署名し、他のRRsetを異なるサブセットで署名することは許容されます。同様に、同じアルゴリズムの複数のキーのDSレコードがある場合、それらのサブセットがDNSKEY RRsetに表示されることがあります。

This requirement applies to servers, not validators. Validators SHOULD accept any single valid path. They SHOULD NOT insist that all algorithms signaled in the DS RRset work, and they MUST NOT insist that all algorithms signaled in the DNSKEY RRset work. A validator MAY have a configuration option to perform a signature completeness test to support troubleshooting.

この要件は、バリデーターではなくサーバーに適用されます。バリデーターは単一の有効なパスを受け入れる必要があります。彼らは、DS RRsetで通知されたすべてのアルゴリズムが機能することを主張してはならず、DNSKEY RRsetで通知されたすべてのアルゴリズムが機能することを主張してはなりません(MUST NOT)。バリデーターは、トラブルシューティングをサポートするために、署名の完全性テストを実行するための構成オプションを持つ場合があります。

5.12. Ignore Extra Signatures from Unknown Keys
5.12. 不明なキーからの余分な署名を無視する

Validating resolvers MUST disregard RRSIGs in a zone that do not (currently) have a corresponding DNSKEY in the zone. Similarly, a validating resolver MUST disregard RRSIGs with algorithm types that don't exist in the DNSKEY RRset.

リゾルバーの検証では、対応するDNSKEYがゾーンに(現在)ないゾーンのRRSIGを無視する必要があります。同様に、検証リゾルバーは、DNSKEY RRsetに存在しないアルゴリズムタイプのRRSIGを無視する必要があります。

Good key rollover and algorithm rollover practices, as discussed in RFC 6781 and its successor documents and as suggested by the rules in the previous section, may require that such RRSIGs be present in a zone.

RFC 6781とその後継ドキュメントで説明され、前のセクションのルールで提案されているように、適切なキーロールオーバーとアルゴリズムロールオーバーのプラクティスでは、そのようなRRSIGがゾーンに存在する必要がある場合があります。

6. Minor Corrections and Clarifications
6. マイナーな修正と説明
6.1. Finding Zone Cuts
6.1. ゾーンカットの検索

Appendix C.8 of [RFC4035] discusses sending DS queries to the servers for a parent zone but does not state how to find those servers. Specific instructions can be found in Section 4.2 of [RFC4035].

[RFC4035]の付録C.8は、親ゾーンのサーバーへのDSクエリの送信について説明していますが、それらのサーバーの検索方法については述べていません。具体的な手順については、[RFC4035]のセクション4.2をご覧ください。

6.2. Clarifications on DNSKEY Usage
6.2. DNSKEYの使用に関する説明

It is possible to use different DNSKEYs to sign different subsets of a zone, constrained only by the rules in Section 5.11. It is even possible to use a different DNSKEY for each RRset in a zone, subject only to practical limits on the size of the DNSKEY RRset and the above rules. However, be aware that there is no way to tell resolvers what a particular DNSKEY is supposed to be used for -- any DNSKEY in the zone's signed DNSKEY RRset may be used to authenticate any RRset in the zone. For example, if a weaker or less trusted DNSKEY is being used to authenticate NSEC RRsets or all dynamically updated records, that same DNSKEY can also be used to sign any other RRsets from the zone.

異なるDNSKEYを使用して、セクション5.11のルールによってのみ制約されたゾーンの異なるサブセットに署名することが可能です。ゾーン内の各RRsetに異なるDNSKEYを使用することも可能です。ただし、DNSKEY RRsetのサイズと上記のルールの実際的な制限のみに従います。ただし、特定のDNSKEYの使用目的をリゾルバーに通知する方法がないことに注意してください。ゾーンの署名付きDNSKEY RRsetのDNSKEYを使用して、ゾーンのRRsetを認証できます。たとえば、弱いまたは信頼性の低いDNSKEYを使用してNSEC RRsetまたはすべての動的に更新されるレコードを認証している場合、その同じDNSKEYを使用して、ゾーンの他のRRsetに署名することもできます。

Furthermore, note that the SEP bit setting has no effect on how a DNSKEY may be used -- the validation process is specifically prohibited from using that bit by Section 2.1.2 of [RFC4034]. It is possible to use a DNSKEY without the SEP bit set as the sole secure entry point to the zone, yet use a DNSKEY with the SEP bit set to sign all RRsets in the zone (other than the DNSKEY RRset). It is also possible to use a single DNSKEY, with or without the SEP bit set, to sign the entire zone, including the DNSKEY RRset itself.

さらに、SEPビットの設定はDNSKEYの使用方法に影響を与えないことに注意してください。検証プロセスでは、[RFC4034]のセクション2.1.2でそのビットの使用が明確に禁止されています。 SEPビットが設定されていないDNSKEYをゾーンへの唯一の安全なエントリポイントとして使用できますが、SEPビットが設定されたDNSKEYを使用して、ゾーン内のすべてのRRset(DNSKEY RRset以外)に署名します。 SEPビットが設定されているかどうかに関係なく、単一のDNSKEYを使用して、DNSKEY RRset自体を含むゾーン全体に署名することもできます。

6.3. Errors in Examples
6.3. 例のエラー

The text in Appendix C.1 of [RFC4035] refers to the examples in Appendix B.1 as "x.w.example.com" while B.1 uses "x.w.example". This is painfully obvious in the second paragraph where it states that the RRSIG labels field value of 3 indicates that the answer was not the result of wildcard expansion. This is true for "x.w.example" but not for "x.w.example.com", which of course has a label count of 4 (antithetically, a label count of 3 would imply the answer was the result of a wildcard expansion).

[RFC4035]の付録C.1のテキストは、付録B.1の例を「x.w.example.com」と呼び、B.1は「x.w.example」を使用しています。これは、RRSIGラベルのフィールド値3が、答えがワイルドカード拡張の結果ではなかったことを示していると述べている2番目の段落で非常に明白です。これは「x.w.example」には当てはまりますが、「x.w.example.com」には当てはまりません。もちろん、ラベル数は4です(ラベル数3は、ワイルドカード拡張の結果が答えであることを意味します)。

The first paragraph of Appendix C.6 of [RFC4035] also has a minor error: the reference to "a.z.w.w.example" should instead be "a.z.w.example", as in the previous line.

[RFC4035]の付録C.6の最初の段落にも小さなエラーがあります。前の行のように、「a.z.w.w.example」への参照は、代わりに「a.z.w.example」である必要があります。

6.4. Errors in RFC 5155
6.4. RFC 5155のエラー

An NSEC3 record that matches an Empty Non-Terminal effectively has no type associated with it. This NSEC3 record has an empty type bit map. Section 3.2.1 of [RFC5155] contains the statement:

空の非ターミナルに一致するNSEC3レコードには、事実上、タイプが関連付けられていません。このNSEC3レコードには、空のタイプビットマップがあります。 [RFC5155]のセクション3.2.1には、次の記述が含まれています。

Blocks with no types present MUST NOT be included.

タイプが存在しないブロックは含めてはいけません。

However, the same section contains a regular expression:

ただし、同じセクションには正規表現が含まれています。

      Type Bit Maps Field = ( Window Block # | Bitmap Length | Bitmap )+
        

The plus sign in the regular expression indicates that there is one or more of the preceding element. This means that there must be at least one window block. If this window block has no types, it contradicts with the first statement. Therefore, the correct text in Section 3.2.1 of [RFC5155] should be:

正規表現のプラス記号は、先行する要素が1つ以上あることを示します。つまり、少なくとも1つのウィンドウブロックが必要です。このウィンドウブロックにタイプがない場合、最初のステートメントと矛盾します。したがって、[RFC5155]のセクション3.2.1の正しいテキストは次のようになります。

      Type Bit Maps Field = ( Window Block # | Bitmap Length | Bitmap )*
        
7. Security Considerations
7. セキュリティに関する考慮事項

This document adds SHA-2 and NSEC3 support to the core DNSSEC protocol. Security considerations for those features are discussed in the documents defining them. Additionally, this document addresses some ambiguities and omissions in the core DNSSEC documents that, if not recognized and addressed in implementations, could lead to security failures. In particular, the validation algorithm clarifications in Section 4 are critical for preserving the security properties DNSSEC offers. Furthermore, failure to address some of the interoperability concerns in Section 5 could limit the ability to later change or expand DNSSEC, including adding new algorithms.

このドキュメントは、コアDNSSECプロト​​コルにSHA-2およびNSEC3サポートを追加します。これらの機能のセキュリティに関する考慮事項は、それらを定義するドキュメントで説明されています。さらに、このドキュメントでは、実装で認識および対処されていない場合にセキュリティ障害につながる可能性がある、コアDNSSECドキュメントのいくつかのあいまいさと省略について説明します。特に、セクション4の検証アルゴリズムの説明は、DNSSECが提供するセキュリティプロパティを維持するために重要です。さらに、セクション5の相互運用性の懸念の一部に対処できないと、新しいアルゴリズムの追加など、後でDNSSECを変更または拡張する機能が制限される可能性があります。

The recommendation in Section 5.9 to always set the CD bit has security implications. By setting the CD bit, a resolver will not benefit from more stringent validation rules or a more complete set of trust anchors at an upstream validator.

常にCDビットを設定するというセクション5.9の推奨には、セキュリティ上の意味があります。 CDビットを設定することにより、リゾルバーは、より厳しい検証ルールや、上流のバリデーターでのトラストアンカーのより完全なセットの恩恵を受けません。

8. References
8. 参考文献
8.1. Normative References
8.1. 引用文献

[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", STD 13, RFC 1034, November 1987.

[RFC1034] Mockapetris、P。、「ドメイン名-概念と機能」、STD 13、RFC 1034、1987年11月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC3225] Conrad, D., "Indicating Resolver Support of DNSSEC", RFC 3225, December 2001.

[RFC3225]コンラッド、D。、「DNSSECのリゾルバーサポートを示す」、RFC 3225、2001年12月。

[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, March 2005.

[RFC4033] Arends、R.、Austein、R.、Larson、M.、Massey、D。、およびS. Rose、「DNSセキュリティの概要と要件」、RFC 4033、2005年3月。

[RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Resource Records for the DNS Security Extensions", RFC 4034, March 2005.

[RFC4034] Arends、R.、Austein、R.、Larson、M.、Massey、D。、およびS. Rose、「DNS Security Extensionsのリソースレコード」、RFC 4034、2005年3月。

[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Protocol Modifications for the DNS Security Extensions", RFC 4035, March 2005.

[RFC4035] Arends、R.、Austein、R.、Larson、M.、Massey、D。、およびS. Rose、「DNS Security Extensionsのプロトコル変更」、RFC 4035、2005年3月。

[RFC4509] Hardaker, W., "Use of SHA-256 in DNSSEC Delegation Signer (DS) Resource Records (RRs)", RFC 4509, May 2006.

[RFC4509] Hardaker、W。、「DNSSEC委任署名者(DS)リソースレコード(RR)でのSHA-256の使用」、RFC 4509、2006年5月。

[RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS Security (DNSSEC) Hashed Authenticated Denial of Existence", RFC 5155, March 2008.

[RFC5155] Laurie、B.、Sisson、G.、Arends、R。、およびD. Blacka、「DNS Security(DNSSEC)Hashed Authenticated Denial of Existence」、RFC 5155、2008年3月。

[RFC5702] Jansen, J., "Use of SHA-2 Algorithms with RSA in DNSKEY and RRSIG Resource Records for DNSSEC", RFC 5702, October 2009.

[RFC5702] Jansen、J。、「DNSKEYのRSAを使用したSHA-2アルゴリズムとDNSSECのRRSIGリソースレコードの使用」、RFC 5702、2009年10月。

8.2. Informative References
8.2. 参考引用

[Huston] Michaelson, G., Wallstrom, P., Arends, R., and G. Huston, "Rolling Over DNSSEC Keys", Internet Protocol Journal, Vol. 13, No.1, pp. 2-16, March 2010.

[ヒューストン] Michaelson、G.、Wallstrom、P.、Arends、R。、およびG. Huston、「Rolling Over DNSSEC Keys」、Internet Protocol Journal、Vol。 13、No.1、2-16ページ、2010年3月。

[RFC2308] Andrews, M., "Negative Caching of DNS Queries (DNS NCACHE)", RFC 2308, March 1998.

[RFC2308]アンドリュースM。、「DNSクエリのネガティブキャッシング(DNS NCACHE)」、RFC 2308、1998年3月。

[RFC3755] Weiler, S., "Legacy Resolver Compatibility for Delegation Signer (DS)", RFC 3755, May 2004.

[RFC3755] Weiler、S.、「レガシーリゾルバーの委任署名者(DS)の互換性」、RFC 3755、2004年5月。

[RFC4955] Blacka, D., "DNS Security (DNSSEC) Experiments", RFC 4955, July 2007.

[RFC4955] Blacka、D。、「DNS Security(DNSSEC)Experiments」、RFC 4955、2007年7月。

[RFC5011] StJohns, M., "Automated Updates of DNS Security (DNSSEC) Trust Anchors", STD 74, RFC 5011, September 2007.

[RFC5011] StJohns、M。、「DNSセキュリティ(DNSSEC)トラストアンカーの自動更新」、STD 74、RFC 5011、2007年9月。

[RFC5074] Weiler, S., "DNSSEC Lookaside Validation (DLV)", RFC 5074, November 2007.

[RFC5074] Weiler、S。、「DNSSEC Lookaside Validation(DLV)」、RFC 5074、2007年11月。

[RFC6781] Kolkman, O., Mekking, W., and R. Gieben, "DNSSEC Operational Practices, Version 2", RFC 6781, December 2012.

[RFC6781] Kolkman、O.、Mekking、W。、およびR. Gieben、「DNSSEC Operational Practices、Version 2」、RFC 6781、2012年12月。

Appendix A. Acknowledgments
付録A謝辞

The editors would like the thank Rob Austein for his previous work as an editor of this document.

編集者は、このドキュメントの編集者としての彼の以前の仕事に対してRob Austeinに感謝します。

The editors are extremely grateful to those who, in addition to finding errors and omissions in the DNSSEC document set, have provided text suitable for inclusion in this document.

編集者は、DNSSECドキュメントセットのエラーや脱落を見つけることに加えて、このドキュメントに含めるのに適したテキストを提供してくれた人々に非常に感謝しています。

The lack of specificity about handling private algorithms, as described in Section 5.3, and the lack of specificity in handling ANY queries, as described in Section 4.2, were discovered by David Blacka.

セクション5.3で説明されているプラ​​イベートアルゴリズムの処理に関する特異性の欠如、およびセクション4.2で説明されているようなANYクエリの処理における特異性の欠如は、David Blackaによって発見されました。

The error in algorithm 1 key tag calculation, as described in Section 5.5, was found by Abhijit Hayatnagarkar. Donald Eastlake contributed text for Section 5.5.

セクション5.5で説明されているアルゴリズム1のキータグ計算のエラーは、Abhijit Hayatnagarkarによって発見されました。 Donald Eastlakeがセクション5.5のテキストを寄稿しました。

The bug relating to delegation NSEC RR's in Section 4.1 was found by Roy Badami. Roy Arends found the related problem with DNAME.

セクション4.1の委任NSEC RRに関連するバグは、ロイバダミによって発見されました。 Roy ArendsがDNAMEに関連する問題を発見しました。

The errors in the [RFC4035] examples were found by Roy Arends, who also contributed text for Section 6.3 of this document.

[RFC4035]の例のエラーはRoy Arendsによって発見されました。RoyArendsは、このドキュメントのセクション6.3のテキストにも貢献しました。

Text on the mandatory algorithm rules was derived from suggestions by Matthijs Mekking and Ed Lewis.

必須のアルゴリズムルールに関するテキストは、Matthijs MekkingおよびEd Lewisの提案に基づいています。

The CD bit logic was analyzed in depth by David Blacka, Olafur Gudmundsson, Mike St. Johns, and Andrew Sullivan.

CDビットロジックは、David Blacka、Olafur Gudmundsson、Mike St. Johns、およびAndrew Sullivanによって詳細に分析されました。

The editors would like to thank Alfred Hoenes, Ed Lewis, Danny Mayer, Olafur Gudmundsson, Suzanne Woolf, Rickard Bellgrim, Mike St. Johns, Mark Andrews, Wouter Wijngaards, Matthijs Mekking, Andrew Sullivan, Jeremy Reed, Paul Hoffman, Mohan Parthasarathy, Florian Weimer, Warren Kumari and Scott Rose for their contributions to this document.

編集者は、Alfred Hoenes、Ed Lewis、Danny Mayer、Olafur Gudmundsson、Suzanne Woolf、Rickard Bellgrim、Mike St. Johns、Mark Andrews、Wouter Wijngaards、Matthijs Mekking、Andrew Sullivan、Jeremy Reed、Paul Hoffara、Mohan Parthaに感謝します。このドキュメントへの貢献に対し、Florian Weimer、Warren Kumari、Scott Rose。

Appendix B. Discussion of Setting the CD Bit
付録B. CDビットの設定に関する説明

[RFC4035] may be read as relying on the implicit assumption that there is at most one validating system between the stub resolver and the authoritative server for a given zone. It is entirely possible, however, for more than one validator to exist between a stub resolver and an authoritative server. If these different validators have disjoint trust anchors configured, then it is possible that each would be able to validate some portion of the DNS tree, but neither is able to validate all of it. Accordingly, it might be argued that it is desirable not to set the CD bit on upstream queries, because that allows for maximal validation.

[RFC4035]は、指定されたゾーンのスタブリゾルバーと権限のあるサーバーの間に最大で1つの検証システムがあるという暗黙の仮定に依存していると読むことができます。ただし、スタブリゾルバーと権限のあるサーバーの間に複数のバリデーターが存在することは完全に可能です。これらの異なるバリデーターに互いに素なトラストアンカーが構成されている場合、それぞれがDNSツリーの一部を検証できても、そのすべてを検証することはできない可能性があります。したがって、アップストリームクエリでCDビットを設定しないことが望ましいと主張できます。

In Section 5.9 of this document, it is recommended to set the CD bit on an upstream query even when the incoming query arrives with CD=0. This is for two reasons: it encourages a more predictable validation experience as only one validator is always doing the validation, and it ensures that all DNSSEC data that exists may be available from the local cache should a query with CD=1 arrive.

このドキュメントのセクション5.9では、着信クエリがCD = 0で到着した場合でも、アップストリームクエリにCDビットを設定することをお勧めします。これには2つの理由があります。1つだけのバリデーターが常に検証を実行しているため、より予測可能な検証エクスペリエンスを促進し、CD = 1のクエリが到着した場合に存在するすべてのDNSSECデータがローカルキャッシュから確実に利用できるようにします。

As a matter of policy, it is possible to set the CD bit differently than suggested in Section 5.9. A different choice will, of course, not always yield the benefits listed above. It is beyond the scope of this document to outline all of the considerations and counter considerations for all possible policies. Nevertheless, it is possible to describe three approaches and their underlying philosophy of operation. These are laid out in the tables below.

ポリシーの問題として、セクション5.9で提案されているものとは異なる方法でCDビットを設定することが可能です。もちろん、別の選択肢を選択しても、必ずしも上記のメリットが得られるとは限りません。考えられるすべてのポリシーに関するすべての考慮事項と対抗策の概要を説明することは、このドキュメントの範囲を超えています。それにもかかわらず、3つのアプローチとその根底にある運用の哲学を説明することは可能です。これらは下の表に示されています。

The table that describes each model has five columns. The first column indicates the value of the CD bit that the resolver receives (for instance, on the name server side in an iterative resolver, or as local policy or from the API in the case of a stub). The second column indicates whether the query needs to be forwarded for resolution (F) or can be satisfied from a local cache (C). The third column is a line number, so that it can be referred to later in the table. The fourth column indicates any relevant conditions at the resolver, for example, whether the resolver has a covering trust anchor, and so on. If there are no parameters here, the column is empty. The fifth and final column indicates what action the resolver takes.

各モデルを説明する表には5つの列があります。最初の列は、リゾルバーが受け取るCDビットの値を示します(例えば、反復リゾルバーのネームサーバー側で、またはローカルポリシーとして、またはスタブの場合はAPIから)。 2番目の列は、解決のためにクエリを転送する必要があるか(F)、ローカルキャッシュから満たすことができるか(C)を示します。 3番目の列は行番号なので、後の表で参照できます。 4番目の列は、リゾルバーに関連する条件(例えば、リゾルバーにカバーするトラストアンカーがあるかどうかなど)を示します。ここにパラメーターがない場合、列は空になります。 5番目の最後の列は、リゾルバーが実行するアクションを示しています。

The tables differentiate between "cached data" and "cached RCODE=2". This is a shorthand; the point is that one has to treat RCODE=2 (server failure) as special, because it might indicate a validation failure somewhere upstream. The distinction is really between "cached RCODE=2" and "cached everything else".

この表は、「キャッシュデータ」と「キャッシュRCODE = 2」を区別しています。これは略記です。重要なのは、RCODE = 2(サーバー障害)を特別なものとして扱う必要があるということです。これは、上流のどこかで検証障害を示している可能性があるためです。実際の違いは、「キャッシュされたRCODE = 2」と「その他すべてのキャッシュ」です。

The tables are probably easiest to think of in terms of describing what happens when a stub resolver sends a query to an intermediate resolver, but they are perfectly general and can be applied to any validating resolver.

テーブルは、スタブリゾルバーがクエリを中間リゾルバーに送信したときに何が起こるかを説明するという観点から考えるとおそらく最も簡単ですが、それらは完全に一般的であり、任意の検証リゾルバーに適用できます。

Model 1: "always set"

モデル1:「常に設定」

This model is so named because the validating resolver sets the CD bit on queries it makes regardless of whether it has a covering trust anchor for the query. The general philosophy represented by this table is that only one resolver should be responsible for validation irrespective of the possibility that an upstream resolver may be present with trust anchors that cover different or additional QNAMEs. It is the model recommended in Section 5.9 of this document.

このモデルは、検証リゾルバがクエリのカバーするトラストアンカーを持っているかどうかに関係なく、作成するクエリにCDビットを設定するため、このように呼ばれています。この表に示されている一般的な哲学は、異なるまたは追加のQNAMEをカバーするトラストアンカーに上流のリゾルバーが存在する可能性に関係なく、検証を担当するリゾルバーは1つだけであることです。これは、このドキュメントのセクション5.9で推奨されているモデルです。

    CD F/C    line      conditions            action
    ====================================================================
    1   F      A1                             Set CD=1 on upstream query
    0   F      A2                             Set CD=1 on upstream query
    1   C      A3                             Return the cache contents
                                               (data or RCODE=2)
    0   C      A4       no covering TA        Return cache contents
                                               (data or RCODE=2)
    0   C      A5       covering TA           Validate cached result and
                                               return it
        

Model 2: "never set when receiving CD=0"

モデル2:「CD = 0の受信時には設定されない」

This model is so named because it sets CD=0 on upstream queries for all received CD=0 queries, even if it has a covering trust anchor. The general philosophy represented by this table is that more than one resolver may take responsibility for validating a QNAME and that a validation failure for a QNAME by any resolver in the chain is a validation failure for the query. Using this model is NOT RECOMMENDED.

このモデルは、カバーするトラストアンカーがある場合でも、受信したすべてのCD = 0クエリの上流クエリにCD = 0を設定するため、このように呼ばれています。この表に示されている一般的な哲学は、複数のリゾルバーがQNAMEの検証を担当する可能性があり、チェーン内のリゾルバーによるQNAMEの検証失敗がクエリの検証失敗であることです。このモデルの使用は推奨されません。

    CD F/C    line       conditions           action
    ====================================================================
    1  F      N1                              Set CD=1 on upstream query
    0  F      N2                              Set CD=0 on upstream query
    1  C      N3         cached data          Return cached data
    1  C      N4         cached RCODE=2       Treat as line N1
    0  C      N5         no covering TA       Return cache contents
                                               (data or RCODE=2)
    0  C      N6         covering TA &        Treat as line N2
                          cached data was
                          generated with CD=1
    0  C      N7         covering TA &        Validate and return
                          cached data was
                          generated with CD=0
        

Model 3: "sometimes set"

モデル3:「時々セット」

This model is so named because it sets the CD bit on upstream queries triggered by received CD=0 queries, based on whether the validator has a trust anchor configured that covers the query. If there is no covering trust anchor, the resolver clears the CD bit in the upstream query. If there is a covering trust anchor, the resolver sets CD=1 and performs validation itself. The general philosophy represented by this table is that a resolver should try and validate QNAMEs for which it has trust anchors and should not preclude validation by other resolvers for QNAMEs for which it does not have covering trust anchors. Using this model is NOT RECOMMENDED.

このモデルは、バリデーターにクエリをカバーするトラストアンカーが構成されているかどうかに基づいて、受信したCD = 0クエリによってトリガーされる上流クエリにCDビットを設定するため、このように呼ばれています。カバーするトラストアンカーがない場合、リゾルバーはアップストリームクエリのCDビットをクリアします。カバーするトラストアンカーがある場合、リゾルバーはCD = 1を設定し、検証自体を実行します。この表に示されている一般的な哲学は、リゾルバーはトラストアンカーがあるQNAMEを試行して検証し、カバーするトラストアンカーがないQNAMEの他のリゾルバーによる検証を妨げるべきではないということです。このモデルの使用は推奨されません。

    CD F/C    line       conditions         action
    ====================================================================
    1  F      S1                            Set CD=1 on upstream query
    0  F      S2         covering TA        Set CD=1 on upstream query
    0  F      S3         no covering TA     Set CD=0 on upstream query
    1  C      S4         cached data        Return cached data
    1  C      S5         cached RCODE=2     Treat as line S1
    0  C      S6         cached data was    Return cache contents
                          generated with
                          CD=0
    0  C      S7         cached data was    Validate & return cache
                          generated with     contents
                          CD=1 &
                          covering TA
    0  C      S8         cached RCODE=2     Return cache contents
    0  C      S9         cached data        Treat as line S3
                          was generated
                          with CD=1 &
                          no covering
                          TA
        
Appendix C. Discussion of Trust Anchor Preference Options
付録C.トラストアンカー設定オプションの説明

This section presents several different policies for validating resolvers to use when they have a choice of trust anchors available for validating a given answer.

このセクションでは、特定の回答の検証に使用できるトラストアンカーの選択肢がある場合に使用するリゾルバーを検証するためのいくつかの異なるポリシーを示します。

C.1. Closest Encloser
C.1. 最も近いエンクロージャ

One policy is to choose the trust anchor closest to the QNAME of the response. For example, consider a validator configured with trust anchors for "example." and "zone.example." When asked to validate a response for "www.sub.zone.example.", a validator using the "Closest Encloser" policy would choose the "zone.example." trust anchor.

1つのポリシーは、応答のQNAMEに最も近いトラストアンカーを選択することです。たとえば、「example」のトラストアンカーで構成されたバリデーターを考えてみます。および「zone.example。」 「www.sub.zone.example。」の応答を検証するように求められた場合、「Closest Encloser」ポリシーを使用するバリデーターは「zone.example」を選択します。トラストアンカー。

This policy has the advantage of allowing the operator to trivially override a parent zone's trust anchor with one that the operator can validate in a stronger way, perhaps because the resolver operator is affiliated with the zone in question. This policy also minimizes the number of public key operations needed, which is of benefit in resource-constrained environments.

このポリシーには、オペレーターが親ゾーンのトラストアンカーを簡単にオーバーライドできるという利点があります。これは、おそらくリゾルバーオペレーターが問題のゾーンに関連付けられているためです。このポリシーは、必要な公開鍵操作の数も最小限に抑えます。これは、リソースに制約のある環境でメリットがあります。

This policy has the disadvantage of giving the user some unexpected and unnecessary validation failures when sub-zone trust anchors are neglected. As a concrete example, consider a validator that configured a trust anchor for "zone.example." in 2009 and one for "example." in 2011. In 2012, "zone.example." rolls its Key Signing Key (KSK) and updates its DS records, but the validator operator doesn't update its trust anchor. With the "Closest Encloser" policy, the validator gets validation failures.

このポリシーには、サブゾーンのトラストアンカーを無視すると、予期しない不必要な検証エラーが発生するという欠点があります。具体的な例として、「zone.example」のトラストアンカーを構成したバリデーターを考えてみましょう。 2009年に1つ、「例」に1つ。 2011年。2012年は「zone.example。」キー署名キー(KSK)をロールしてDSレコードを更新しますが、検証演算子はトラストアンカーを更新しません。 「Closest Encloser」ポリシーを使用すると、バリデーターは検証エラーを受け取ります。

C.2. Accept Any Success
C.2. 成功を受け入れる

Another policy is to try all applicable trust anchors until one gives a validation result of Secure, in which case the final validation result is Secure. If and only if all applicable trust anchors give a result of Insecure, the final validation result is Insecure. If one or more trust anchors lead to a Bogus result and there is no Secure result, then the final validation result is Bogus.

別のポリシーは、1つのセキュアな検証結果が得られるまで適用可能なすべてのトラストアンカーを試行することです。この場合、最終的な検証結果はセキュアです。該当するすべてのトラストアンカーの結果が安全でない場合に限り、最終的な検証結果は安全ではありません。 1つ以上のトラストアンカーが偽の結果を導き、安全な結果がない場合、最終的な検証結果は偽です。

This has the advantage of causing the fewest validation failures, which may deliver a better user experience. If one trust anchor is out of date (as in our above example), the user may still be able to get a Secure validation result (and see DNS responses).

これには、検証の失敗を最小限に抑えるという利点があり、ユーザーエクスペリエンスが向上する可能性があります。上記の例のように1つのトラストアンカーが古くなっている場合でも、ユーザーは安全な検証結果を得ることができます(DNS応答を確認できます)。

This policy has the disadvantage of making the validator subject to the compromise of the weakest of these trust anchors, while making it relatively painless to keep old trust anchors configured in perpetuity.

このポリシーには、バリデーターをこれらの最も信頼性の低いトラストアンカーの妥協の対象にする一方で、古いトラストアンカーを永続的に構成しておくのが比較的簡単になるという欠点があります。

C.3. Preference Based on Source
C.3. ソースに基づく設定

When the trust anchors have come from different sources (e.g., automated updates ([RFC5011]), one or more DNSSEC Lookaside Validation (DLV) registries ([RFC5074]), and manual configuration), a validator may wish to choose between them based on the perceived reliability of those sources. The order of precedence might be exposed as a configuration option.

トラストアンカーがさまざまなソース(たとえば、自動更新([RFC5011])、1つ以上のDNSSEC Lookaside Validation(DLV)レジストリ([RFC5074])、および手動構成)からのものである場合、検証者はそれらに基づいて選択することができます。それらのソースの知覚される信頼性について。優先順位は、構成オプションとして公開される場合があります。

For example, a validator might choose to prefer trust anchors found in a DLV registry over those manually configured on the theory that the manually configured ones will not be as aggressively maintained.

たとえば、バリデーターは、手動で構成されたものは積極的に維持されないという理論に基づいて手動で構成されたものよりも、DLVレジストリにあるトラストアンカーを優先することを選択する場合があります。

Conversely, a validator might choose to prefer manually configured trust anchors over those obtained from a DLV registry on the theory that the manually configured ones have been more carefully authenticated.

逆に、バリデーターは、DLVレジストリから取得したものよりも手動で構成されたトラストアンカーを優先することを選択する場合があります。

Or the validator might do something more complex: prefer a sub-set of manually configured trust anchors (based on a configuration option), then trust anchors that have been updated using the mechanism in [RFC5011], then trust anchors from one DLV registry, then trust anchors from a different DLV registry, then the rest of the manually configured trust anchors.

または、バリデーターはもっと複雑なことをするかもしれません:手動で構成されたトラストアンカー(構成オプションに基づく)のサブセットを優先し、[RFC5011]のメカニズムを使用して更新されたアンカーをトラストし、1つのDLVレジストリからのアンカーを信頼します。次に、別のDLVレジストリからのアンカーを信頼し、次に手動で構成された残りのトラストアンカーを信頼します。

Authors' Addresses

著者のアドレス

Samuel Weiler (editor) SPARTA, Inc. 7110 Samuel Morse Drive Columbia, MD 21046 US

Samuel Weiler(編集者)SPARTA、Inc. 7110 Samuel Morse Driveコロンビア、MD 21046 US

   EMail: weiler@tislabs.com
        

David Blacka (editor) Verisign, Inc. 12061 Bluemont Way Reston, VA 20190 US

David Blacka(編集者)Verisign、Inc. 12061 Bluemont Way Reston、VA 20190 US

   EMail: davidb@verisign.com