[要約] RFC 8177は、YANGデータモデルを使用してキーチェーンを表現するための仕様です。その目的は、ネットワークデバイスでのキーチェーンの設定と管理を効率化することです。

Internet Engineering Task Force (IETF)                    A. Lindem, Ed.
Request for Comments: 8177                                 Cisco Systems
Category: Standards Track                                          Y. Qu
ISSN: 2070-1721                                                   Huawei
                                                                D. Yeung
                                                             Arrcus, Inc
                                                                 I. Chen
                                                                   Jabil
                                                                J. Zhang
                                                        Juniper Networks
                                                               June 2017
        

YANG Data Model for Key Chains

キーチェーンのYANGデータモデル

Abstract

概要

This document describes the key chain YANG data model. Key chains are commonly used for routing protocol authentication and other applications requiring symmetric keys. A key chain is a list containing one or more elements containing a Key ID, key string, send/accept lifetimes, and the associated authentication or encryption algorithm. By properly overlapping the send and accept lifetimes of multiple key chain elements, key strings and algorithms may be gracefully updated. By representing them in a YANG data model, key distribution can be automated.

このドキュメントでは、キーチェーンのYANGデータモデルについて説明します。キーチェーンは、ルーティングプロトコル認証および対称キーを必要とするその他のアプリケーションで一般的に使用されます。キーチェーンは、キーID、キー文字列、送信/受け入れライフタイム、および関連する認証または暗号化アルゴリズムを含む1つ以上の要素を含むリストです。複数のキーチェーン要素の送信および受け入れライフタイムを適切にオーバーラップすることにより、キー文字列とアルゴリズムを適切に更新できます。それらをYANGデータモデルで表すことにより、キーの配布を自動化できます。

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 7841.

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

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

Copyright Notice

著作権表示

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

Copyright(c)2017 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に記載されているように保証なしで提供されます。

Table of Contents

目次

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Requirements Notation . . . . . . . . . . . . . . . . . .   3
     1.2.  Tree Diagrams . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Problem Statement . . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  Applicability . . . . . . . . . . . . . . . . . . . . . .   4
     2.2.  Graceful Key Rollover Using Key Chains  . . . . . . . . .   4
   3.  Design of the Key Chain Model . . . . . . . . . . . . . . . .   5
     3.1.  Key Chain Operational State . . . . . . . . . . . . . . .   6
     3.2.  Key Chain Model Features  . . . . . . . . . . . . . . . .   6
     3.3.  Key Chain Model Tree  . . . . . . . . . . . . . . . . . .   7
   4.  Key Chain YANG Model  . . . . . . . . . . . . . . . . . . . .   8
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  16
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  17
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  18
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  18
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  19
   Appendix A.  Examples . . . . . . . . . . . . . . . . . . . . . .  21
     A.1.  Simple Key Chain with an Always Valid Single Key  . . . .  21
     A.2.  Key Chain with Keys Having Different Lifetimes  . . . . .  21
     A.3.  Key Chain with Independent Send and Accept Lifetimes  . .  23
   Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . .  24
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  24
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  25
        
1. Introduction
1. はじめに

This document describes the key chain YANG [YANG-1.1] data model. Key chains are commonly used for routing protocol authentication and other applications requiring symmetric keys. A key chain is a list containing one or more elements containing a Key ID, key string, send/accept lifetimes, and the associated authentication or encryption algorithm. By properly overlapping the send and accept lifetimes of multiple key chain elements, key strings and algorithms may be gracefully updated. By representing them in a YANG data model, key distribution can be automated.

このドキュメントでは、キーチェーンYANG [YANG-1.1]データモデルについて説明します。キーチェーンは、ルーティングプロトコル認証および対称キーを必要とするその他のアプリケーションで一般的に使用されます。キーチェーンは、キーID、キー文字列、送信/受け入れライフタイム、および関連する認証または暗号化アルゴリズムを含む1つ以上の要素を含むリストです。複数のキーチェーン要素の送信および受け入れライフタイムを適切にオーバーラップすることにより、キー文字列とアルゴリズムを適切に更新できます。それらをYANGデータモデルで表すことにより、キーの配布を自動化できます。

In some applications, the protocols do not use the key chain element key directly, but rather a key derivation function is used to derive a short-lived key from the key chain element key (e.g., the master keys used in [TCP-AO]).

一部のアプリケーションでは、プロトコルはキーチェーン要素キーを直接使用しませんが、キー派生要素を使用して、キーチェーン要素キーから短命のキーを導出します(たとえば、[TCP-AO]で使用されるマスターキー) )。

1.1. Requirements Notation
1.1. 要件表記

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 BCP 14 [KEYWORDS] [KEYWORDS-UPD] when, and only when, they appear in all capitals, as shown here.

キーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「NOT RECOMMENDED」、「MAY」、「OPTIONALこのドキュメントの「」は、BCP 14 [KEYWORDS] [KEYWORDS-UPD]で説明されているように解釈されます。

1.2. Tree Diagrams
1.2. ツリー図

A simplified graphical representation of the complete data tree is presented in Section 3.3. The following tree notation is used.

完全なデータツリーの簡略化されたグラフィック表現は、セクション3.3に示されています。次のツリー表記が使用されます。

o Brackets "[" and "]" enclose YANG list keys. These YANG list keys should not be confused with the key chain keys.

o 大括弧「[」と「]」は、YANGリストのキーを囲みます。これらのYANGリストキーは、キーチェーンキーと混同しないでください。

o Curly braces "{" and "}" contain names of optional features that make the corresponding node conditional.

o 中括弧「{」および「}」には、対応するノードを条件付きにするオプション機能の名前が含まれています。

o Abbreviations before data node names: "rw" means configuration (read-write), "ro" means state data (read-only), "-x" means RPC operations, and "-n" means notifications.

o データノード名の前の略語:「rw」は構成(読み取り/書き込み)、「ro」は状態データ(読み取り専用)、「-x」はRPC操作、「-n」は通知を意味します。

o Symbols after data node names: "?" means an optional node, "!" denotes a container with presence, and "*" denotes a "list" or "leaf-list".

o データノード名の後の記号: "?"オプションのノード「!」を意味しますプレゼンスのあるコンテナを示し、「*」は「リスト」または「リーフリスト」を示します。

o Parentheses enclose choice and case nodes, and case nodes are also marked with a colon (":").

o 括弧は選択ノードとケースノードを囲み、ケースノードもコロン( ":")でマークされます。

o Ellipsis ("...") stands for contents of subtrees that are not shown.

o 省略記号( "...")は、表示されていないサブツリーのコンテンツを表します。

2. Problem Statement
2. 問題文

This document describes a YANG [YANG-1.1] data model for key chains. Key chains have been implemented and deployed by a large percentage of network equipment vendors. Providing a standard YANG model will facilitate automated key distribution and non-disruptive key rollover. This will aid in tightening the security of the core routing infrastructure as recommended in [IAB-REPORT].

このドキュメントでは、キーチェーンのYANG [YANG-1.1]データモデルについて説明します。キーチェーンは、大部分のネットワーク機器ベンダーによって実装および導入されています。標準のYANGモデルを提供すると、自動鍵配布と無停止の鍵ロールオーバーが容易になります。これは、[IAB-REPORT]で推奨されているように、コアルーティングインフラストラクチャのセキュリティを強化するのに役立ちます。

A key chain is a list containing one or more elements containing a Key ID, key string, send/accept lifetimes, and the associated authentication or encryption algorithm. A key chain can be used by any service or application requiring authentication or encryption using symmetric keys. In essence, the key chain is a reusable key policy that can be referenced wherever it is required. The key chain construct has been implemented by most networking vendors and deployed in many networks.

キーチェーンは、キーID、キー文字列、送信/受け入れライフタイム、および関連する認証または暗号化アルゴリズムを含む1つ以上の要素を含むリストです。キーチェーンは、対称キーを使用した認証または暗号化を必要とするすべてのサービスまたはアプリケーションで使用できます。基本的に、キーチェーンは再利用可能なキーポリシーであり、必要なときにいつでも参照できます。キーチェーン構成は、ほとんどのネットワーキングベンダーによって実装され、多くのネットワークに展開されています。

A conceptual representation of a crypto key table is described in [CRYPTO-KEYTABLE]. The crypto key table includes keys as well as their corresponding lifetimes and algorithms. Additionally, the key table includes key selection criteria and is designed for a deployment model where the details of the applications or services requiring authentication or encryption permeate into the key database. The YANG key chain model described herein doesn't include key selection criteria or support this deployment model. At the same time, it does not preclude it. [YANG-CRYPTO-KEYTABLE] describes augmentations to the key chain YANG model in support of key selection criteria.

暗号鍵テーブルの概念図は、[CRYPTO-KEYTABLE]で説明されています。暗号鍵テーブルには、鍵とそれに対応する有効期間およびアルゴリズムが含まれています。さらに、キーテーブルにはキー選択基準が含まれており、認証または暗号化を必要とするアプリケーションまたはサービスの詳細がキーデータベースに浸透する展開モデル用に設計されています。ここで説明するYANGキーチェーンモデルには、キー選択基準が含まれていないか、この展開モデルをサポートしていません。同時に、それを排除するものではありません。 [YANG-CRYPTO-KEYTABLE]は、キー選択基準をサポートするためのキーチェーンYANGモデルの拡張について説明しています。

2.1. Applicability
2.1. 適用性

Other YANG modules may reference ietf-key-chain YANG module key-chain names for authentication and encryption applications. A YANG type has been provided to facilitate reference to the key-chain name without having to specify the complete YANG XML Path Language (XPath) expression.

他のYANGモジュールは、認証および暗号化アプリケーションのietf-key-chain YANGモジュールキーチェーン名を参照する場合があります。完全なYANG XMLパス言語(XPath)式を指定する必要なく、キーチェーン名への参照を容易にするために、YANGタイプが提供されています。

2.2. Graceful Key Rollover Using Key Chains
2.2. キーチェーンを使用した優雅なキーロールオーバー

Key chains may be used to gracefully update the key string and/or algorithm used by an application for authentication or encryption. To achieve graceful key rollover, the receiver MAY accept all the keys that have a valid accept lifetime, and the sender MAY send the key with the most recent send lifetime. One scenario for facilitating key rollover is to:

キーチェーンは、認証または暗号化のためにアプリケーションが使用するキー文字列やアルゴリズムを適切に更新するために使用できます。正常なキーのロールオーバーを実現するために、受信者は有効な受け入れライフタイムを持つすべてのキーを受け入れることができ(MAY)、送信者は最新の送信ライフタイムでキーを送信することができます(MAY)。キーのロールオーバーを促進するシナリオの1つは、次のとおりです。

1. Distribute a key chain with a new key to all the routers or other network devices in the domain of that key chain. The new key's accept lifetime should be such that it is accepted during the key rollover period. The send lifetime should be a time in the future when it can be assured that all the routers in the domain of that key are upgraded. This will have no immediate impact on the keys used for transmission.

1. 新しいキーを持つキーチェーンを、そのキーチェーンのドメイン内のすべてのルーターまたは他のネットワークデバイスに配布します。新しいキーの受け入れ有効期間は、キーのロールオーバー期間中に受け入れられるようにする必要があります。送信ライフタイムは、そのキーのドメイン内のすべてのルーターが確実にアップグレードされる将来の時間である必要があります。これは、送信に使用されるキーには直接影響しません。

2. Assure that all the network devices have been updated with the updated key chain and that their system times are roughly synchronized. The system times of devices within an administrative domain are commonly synchronized (e.g., using the Network Time Protocol (NTP) [NTP-PROTO]). This also may be automated.

2. すべてのネットワークデバイスが更新されたキーチェーンで更新されていること、およびそれらのシステム時間がほぼ同期されていることを確認します。管理ドメイン内のデバイスのシステム時間は一般に同期されます(たとえば、ネットワークタイムプロトコル(NTP)[NTP-PROTO]を使用)。これも自動化できます。

3. When the send lifetime of the new key becomes valid, the network devices within the domain of that key chain will use the new key for transmissions.

3. 新しいキーの送信ライフタイムが有効になると、そのキーチェーンのドメイン内のネットワークデバイスは、送信に新しいキーを使用します。

4. At some point in the future, a new key chain with the old key removed may be distributed to the network devices within the domain of the key chain. However, this may be deferred until the next key rollover. If this is done, the key chain will always include two keys: either the current and future key (during key rollovers) or the current and previous keys (between key rollovers).

4. 将来のある時点で、古いキーが削除された新しいキーチェーンが、キーチェーンのドメイン内のネットワークデバイスに配布される可能性があります。ただし、これは次のキーのロールオーバーまで延期される場合があります。これが行われると、キーチェーンには常に2つのキーが含まれます。現在のキーと将来のキー(キーのロールオーバー時)または現在のキーと以前のキー(キーのロールオーバー間)のいずれかです。

Since the most recent send lifetime is defined as the one with the latest start-time, specification of "always" will prevent using the graceful key rollover technique described above. Other key configuration and usage scenarios are possible, but these are beyond the scope of this document.

最新の送信ライフタイムは最新の開始時間を持つものとして定義されているため、「常に」を指定すると、上記の適切なキーロールオーバーテクニックを使用できなくなります。他の主要な構成および使用シナリオが考えられますが、これらはこのドキュメントの範囲を超えています。

3. Design of the Key Chain Model
3. キーホルダーモデルのデザイン

The ietf-key-chain module contains a list of one or more keys indexed by a Key ID. For some applications (e.g., OSPFv3 [OSPFV3-AUTH]), the Key ID is used to identify the key chain key to be used. In addition to the Key ID, each key chain key includes a key string and a cryptographic algorithm. Optionally, the key chain keys include send/accept lifetimes. If the send/accept lifetime is unspecified, the key is always considered valid.

ietf-key-chainモジュールには、キーIDでインデックス付けされた1つ以上のキーのリストが含まれています。一部のアプリケーション(OSPFv3 [OSPFV3-AUTH]など)では、使用するキーチェーンキーを識別するためにキーIDが使用されます。キーIDに加えて、各キーチェーンキーにはキー文字列と暗号化アルゴリズムが含まれています。必要に応じて、キーチェーンキーには送信/受け入れライフタイムが含まれます。送信/受け入れ有効期間が指定されていない場合、キーは常に有効と見なされます。

Note that different key values for transmission versus acceptance may be supported with multiple key chain elements. The key used for transmission will have a valid send-lifetime and invalid accept-lifetime (e.g., has an end-time equal to the start-time). The key used for acceptance will have a valid accept-lifetime and invalid send-lifetime.

送信と受け入れの異なるキー値は、複数のキーチェーン要素でサポートされる場合があることに注意してください。送信に使用されるキーには、有効なsend-lifetimeと無効なaccept-lifetimeがあります(たとえば、終了時刻は開始時刻と同じです)。受け入れに使用されるキーには、有効な受け入れライフタイムと無効な送信ライフタイムがあります。

Due to the differences in key chain implementations across various vendors, some of the data elements are optional. Finally, the crypto algorithm identities are provided for reuse when configuring legacy authentication and encryption not using key chains.

さまざまなベンダー間でキーチェーンの実装が異なるため、一部のデータ要素はオプションです。最後に、キーチェーンを使用せずにレガシー認証と暗号化を構成するときに再利用するために、暗号アルゴリズムIDが提供されます。

A key chain is identified by a unique name within the scope of the network device. The "key-chain-ref" typedef SHOULD be used by other YANG modules when they need to reference a configured key chain.

キーチェーンは、ネットワークデバイスのスコープ内で一意の名前によって識別されます。 「key-chain-ref」typedefは、設定されたキーチェーンを参照する必要がある場合に、他のYANGモジュールで使用する必要があります(SHOULD)。

3.1. Key Chain Operational State
3.1. キーチェーンの運用状態

The key chain operational state is included in the same tree as key chain configuration consistent with Network Management Datastore Architecture [NMDA]. The timestamp of the last key chain modification is also maintained in the operational state. Additionally, the operational state includes an indication of whether or not a key chain key is valid for transmission or acceptance.

キーチェーンの動作状態は、ネットワーク管理データストアアーキテクチャ[NMDA]と一致するキーチェーン構成と同じツリーに含まれています。キーチェーンの最後の変更のタイムスタンプも動作状態で維持されます。さらに、動作状態には、キーチェーンキーが送信または受け入れに有効かどうかの表示が含まれます。

3.2. Key Chain Model Features
3.2. キーチェーンモデルの機能

Features are used to handle differences between vendor implementations. For example, not all vendors support configuration of an acceptance tolerance or configuration of key strings in hexadecimal. They are also used to support security requirements (e.g., TCP-AO algorithms [TCP-AO-ALGORITHMS]) not yet implemented by vendors or implemented by only a single vendor.

機能は、ベンダーの実装間の違いを処理するために使用されます。たとえば、すべてのベンダーが許容範囲の構成や16進数のキー文字列の構成をサポートしているわけではありません。これらは、ベンダーによってまだ実装されていないか、単一のベンダーのみによって実装されているセキュリティ要件(TCP-AOアルゴリズム[TCP-AO-ALGORITHMS]など)をサポートするためにも使用されます。

It is common for an entity with sufficient permissions to read and store a device's configuration, which would include the contents of this model. To avoid unnecessarily seeing and storing the keys in cleartext, this model provides the aes-key-wrap feature. More details are described in the Security Considerations (Section 5).

このモデルのコンテンツを含むデバイスの構成を読み取り、保存するための十分なアクセス許可を持つエンティティが一般的です。クリアテキストでキーを不必要に表示および保存しないようにするために、このモデルはaes-key-wrap機能を提供します。詳細については、セキュリティに関する考慮事項(セクション5)を参照してください。

3.3. Key Chain Model Tree
3.3. キーホルダーモデルツリー
   +--rw key-chains
      +--rw key-chain* [name]
      |  +--rw name                       string
      |  +--rw description?               string
      |  +--rw accept-tolerance {accept-tolerance}?
      |  |  +--rw duration?   uint32
      |  +--ro last-modified-timestamp?   yang:date-and-time
      |  +--rw key* [key-id]
      |     +--rw key-id                    uint64
      |     +--rw lifetime
      |     |  +--rw (lifetime)?
      |     |     +--:(send-and-accept-lifetime)
      |     |     |  +--rw send-accept-lifetime
      |     |     |     +--rw (lifetime)?
      |     |     |        +--:(always)
      |     |     |        |  +--rw always?            empty
      |     |     |        +--:(start-end-time)
      |     |     |           +--rw start-date-time?
      |     |     |           |       yang:date-and-time
      |     |     |           +--rw (end-time)?
      |     |     |              +--:(infinite)
      |     |     |              |  +--rw no-end-time?       empty
      |     |     |              +--:(duration)
      |     |     |              |  +--rw duration?          uint32
      |     |     |              +--:(end-date-time)
      |     |     |                 +--rw end-date-time?
      |     |     |                         yang:date-and-time
      |     |     +--:(independent-send-accept-lifetime)
      |     |        |   {independent-send-accept-lifetime}?
      |     |        +--rw send-lifetime
      |     |        |  +--rw (lifetime)?
      |     |        |     +--:(always)
      |     |        |     |  +--rw always?            empty
      |     |        |     +--:(start-end-time)
      |     |        |        +--rw start-date-time?
      |     |        |        |       yang:date-and-time
      |     |        |        +--rw (end-time)?
      |     |        |           +--:(infinite)
      |     |        |           |  +--rw no-end-time?       empty
      |     |        |           +--:(duration)
      |     |        |           |  +--rw duration?          uint32
      |     |        |           +--:(end-date-time)
      |     |        |              +--rw end-date-time?
      |     |        |                      yang:date-and-time
      |     |        +--rw accept-lifetime
      |     |           +--rw (lifetime)?
        
      |     |              +--:(always)
      |     |              |  +--rw always?            empty
      |     |              +--:(start-end-time)
      |     |                 +--rw start-date-time?
      |     |                 |       yang:date-and-time
      |     |                 +--rw (end-time)?
      |     |                    +--:(infinite)
      |     |                    |  +--rw no-end-time?       empty
      |     |                    +--:(duration)
      |     |                    |  +--rw duration?          uint32
      |     |                    +--:(end-date-time)
      |     |                       +--rw end-date-time?
      |     |                               yang:date-and-time
      |     +--rw crypto-algorithm identityref
      |     +--rw key-string
      |     |  +--rw (key-string-style)?
      |     |     +--:(keystring)
      |     |     |  +--rw keystring?            string
      |     |     +--:(hexadecimal) {hex-key-string}?
      |     |        +--rw hexadecimal-string?   yang:hex-string
      |     +--ro send-lifetime-active?     boolean
      |     +--ro accept-lifetime-active?   boolean
      +--rw aes-key-wrap {aes-key-wrap}?
         +--rw enable?   boolean
        
4. Key Chain YANG Model
4. キーホルダーYANGモデル
   <CODE BEGINS> file "ietf-key-chain@2017-06-15.yang"
   module ietf-key-chain {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-key-chain";
     prefix key-chain;
        
     import ietf-yang-types {
       prefix yang;
     }
     import ietf-netconf-acm {
       prefix nacm;
     }
        
     organization
       "IETF RTGWG - Routing Area Working Group";
     contact
       "WG Web:   <https://datatracker.ietf.org/group/rtgwg>
        WG List:  <mailto:rtgwg@ietf.org>
        
        Editor: Acee Lindem
                <mailto:acee@cisco.com>
                Yingzhen Qu
                <mailto:yingzhen.qu@huawei.com>
                Derek Yeung
                <mailto:derek@arrcus.com>
                Ing-Wher Chen
                <mailto:Ing-Wher_Chen@jabail.com>
                Jeffrey Zhang
                <mailto:zzhang@juniper.net>";
        

description "This YANG module defines the generic configuration data for key chains. It is intended that the module will be extended by vendors to define vendor-specific key chain configuration parameters.

説明「このYANGモジュールは、キーチェーンの一般的な構成データを定義します。ベンダー固有のキーチェーン構成パラメーターを定義するために、ベンダーによってモジュールが拡張されることを意図しています。

Copyright (c) 2017 IETF Trust and the persons identified as authors of the code. All rights reserved.

Copyright(c)2017 IETF Trustおよびコードの作成者として識別された人物。全著作権所有。

Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info).

ソースおよびバイナリ形式での再配布および使用は、変更の有無にかかわらず、IETFドキュメントに関連するIETFトラストの法的規定のセクション4.cに記載されているSimplified BSD Licenseに準拠し、それに含まれるライセンス条項に従って許可されます( http://trustee.ietf.org/license-info)。

        This version of this YANG module is part of RFC 8177;
        see the RFC itself for full legal notices.";
        

reference "RFC 8177";

「RFC 8177」を参照してください。

     revision 2017-06-15 {
       description
         "Initial RFC Revision";
       reference "RFC 8177: YANG Data Model for Key Chains";
     }
        
     feature hex-key-string {
       description
         "Support hexadecimal key string.";
     }
        
     feature accept-tolerance {
       description
         "Support the tolerance or acceptance limit.";
     }
        

feature independent-send-accept-lifetime { description

機能独立した送信受け入れライフタイム{説明

         "Support for independent send and accept key lifetimes.";
     }
        
     feature crypto-hmac-sha-1-12 {
       description
         "Support for TCP HMAC-SHA-1 12-byte digest hack.";
     }
        
     feature cleartext {
       description
         "Support for cleartext algorithm.  Usage is
          NOT RECOMMENDED.";
     }
        
     feature aes-cmac-prf-128 {
       description
         "Support for AES Cipher-based Message Authentication
          Code Pseudorandom Function.";
     }
        
     feature aes-key-wrap {
       description
         "Support for Advanced Encryption Standard (AES) Key Wrap.";
     }
        
     feature replay-protection-only {
       description
         "Provide replay protection without any authentication
          as required by protocols such as Bidirectional
          Forwarding Detection (BFD).";
     }
     identity crypto-algorithm {
       description
         "Base identity of cryptographic algorithm options.";
     }
        
     identity hmac-sha-1-12 {
       base crypto-algorithm;
       if-feature "crypto-hmac-sha-1-12";
       description
         "The HMAC-SHA1-12 algorithm.";
     }
        
     identity aes-cmac-prf-128 {
       base crypto-algorithm;
       if-feature "aes-cmac-prf-128";
       description
         "The AES-CMAC-PRF-128 algorithm - required by
        
          RFC 5926 for TCP-AO key derivation functions.";
     }
        
     identity md5 {
       base crypto-algorithm;
       description
         "The MD5 algorithm.";
     }
        
     identity sha-1 {
       base crypto-algorithm;
       description
         "The SHA-1 algorithm.";
     }
        
     identity hmac-sha-1 {
       base crypto-algorithm;
       description
         "HMAC-SHA-1 authentication algorithm.";
     }
        
     identity hmac-sha-256 {
       base crypto-algorithm;
       description
         "HMAC-SHA-256 authentication algorithm.";
     }
        
     identity hmac-sha-384 {
       base crypto-algorithm;
       description
         "HMAC-SHA-384 authentication algorithm.";
     }
        
     identity hmac-sha-512 {
       base crypto-algorithm;
       description
         "HMAC-SHA-512 authentication algorithm.";
     }
        
     identity cleartext {
       base crypto-algorithm;
       if-feature "cleartext";
       description
         "cleartext.";
     }
        
     identity replay-protection-only {
       base crypto-algorithm;
        
       if-feature "replay-protection-only";
       description
         "Provide replay protection without any authentication as
          required by protocols such as Bidirectional Forwarding
          Detection (BFD).";
     }
        
     typedef key-chain-ref {
       type leafref {
         path
         "/key-chain:key-chains/key-chain:key-chain/key-chain:name";
       }
       description
         "This type is used by data models that need to reference
          configured key chains.";
     }
        
     grouping lifetime {
       description
         "Key lifetime specification.";
       choice lifetime {
         default "always";
         description
           "Options for specifying key accept or send lifetimes";
         case always {
           leaf always {
             type empty;
             description
               "Indicates key lifetime is always valid.";
           }
         }
         case start-end-time {
           leaf start-date-time {
             type yang:date-and-time;
             description
               "Start time.";
           }
           choice end-time {
             default "infinite";
             description
               "End-time setting.";
             case infinite {
               leaf no-end-time {
                 type empty;
                 description
                   "Indicates key lifetime end-time is infinite.";
               }
             }
             case duration {
               leaf duration {
                 type uint32 {
                   range "1..2147483646";
                 }
                 units "seconds";
                 description
                   "Key lifetime duration, in seconds";
               }
             }
             case end-date-time {
               leaf end-date-time {
                 type yang:date-and-time;
                 description
                   "End time.";
               }
             }
           }
         }
       }
     }
        
     container key-chains {
       description
         "All configured key-chains on the device.";
       list key-chain {
         key "name";
         description
           "List of key-chains.";
         leaf name {
           type string;
           description
             "Name of the key-chain.";
         }
         leaf description {
           type string;
           description
             "A description of the key-chain";
         }
         container accept-tolerance {
           if-feature "accept-tolerance";
           description
             "Tolerance for key lifetime acceptance (seconds).";
           leaf duration {
             type uint32;
             units "seconds";
             default "0";
             description
        
               "Tolerance range, in seconds.";
           }
         }
         leaf last-modified-timestamp {
           type yang:date-and-time;
           config false;
           description
             "Timestamp of the most recent update to the key-chain";
         }
         list key {
           key "key-id";
           description
             "Single key in key chain.";
           leaf key-id {
             type uint64;
             description
               "Numeric value uniquely identifying the key";
           }
           container lifetime {
             description
               "Specify a key's lifetime.";
             choice lifetime {
               description
                 "Options for specification of send and accept
                  lifetimes.";
               case send-and-accept-lifetime {
                 description
                   "Send and accept key have the same lifetime.";
                 container send-accept-lifetime {
                   description
                     "Single lifetime specification for both
                      send and accept lifetimes.";
                   uses lifetime;
                 }
               }
               case independent-send-accept-lifetime {
                 if-feature "independent-send-accept-lifetime";
                 description
                   "Independent send and accept key lifetimes.";
                 container send-lifetime {
                   description
                     "Separate lifetime specification for send
                      lifetime.";
                   uses lifetime;
                 }
                 container accept-lifetime {
                   description
                     "Separate lifetime specification for accept
        
                      lifetime.";
                   uses lifetime;
                 }
               }
             }
           }
           leaf crypto-algorithm {
             type identityref {
               base crypto-algorithm;
             }
             mandatory true;
             description
               "Cryptographic algorithm associated with key.";
           }
           container key-string {
             description
               "The key string.";
             nacm:default-deny-all;
             choice key-string-style {
               description
                 "Key string styles";
                case keystring {
                  leaf keystring {
                   type string;
                   description
                     "Key string in ASCII format.";
                 }
               }
               case hexadecimal {
                 if-feature "hex-key-string";
                 leaf hexadecimal-string {
                   type yang:hex-string;
                   description
                     "Key in hexadecimal string format.  When compared
                      to ASCII, specification in hexadecimal affords
                      greater key entropy with the same number of
                      internal key-string octets.  Additionally, it
                      discourages usage of well-known words or
                      numbers.";
                 }
               }
             }
           }
           leaf send-lifetime-active {
             type boolean;
             config false;
             description
               "Indicates if the send lifetime of the
        
                key-chain key is currently active.";
              }
           leaf accept-lifetime-active {
             type boolean;
             config false;
             description
               "Indicates if the accept lifetime of the
                key-chain key is currently active.";
           }
         }
       }
       container aes-key-wrap {
         if-feature "aes-key-wrap";
         description
           "AES Key Wrap encryption for key-chain key-strings.  The
            encrypted key-strings are encoded as hexadecimal key
            strings using the hex-key-string leaf.";
         leaf enable {
           type boolean;
           default "false";
           description
             "Enable AES Key Wrap encryption.";
         }
       }
     }
   }
   <CODE ENDS>
        
5. Security Considerations
5. セキュリティに関する考慮事項

The YANG module defined in this document is designed to be accessed via network management protocols such as NETCONF [NETCONF] or RESTCONF [RESTCONF]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [NETCONF-SSH]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS [TLS].

このドキュメントで定義されているYANGモジュールは、NETCONF [NETCONF]やRESTCONF [RESTCONF]などのネットワーク管理プロトコルを介してアクセスできるように設計されています。最下位のNETCONF層はセキュアなトランスポート層であり、実装に必須のセキュアなトランスポートはセキュアシェル(SSH)[NETCONF-SSH]です。最も低いRESTCONF層はHTTPSであり、実装に必須のセキュアなトランスポートはTLS [TLS]です。

The NETCONF access control model [NETCONF-ACM] provides the means to restrict access for particular NETCONF or RESTCONF users to a pre-configured subset of all available NETCONF or RESTCONF protocol operations and content. The key strings are not accessible by default, and NETCONF access control model [NETCONF-ACM] rules are required to configure or retrieve them.

NETCONFアクセス制御モデル[NETCONF-ACM]は、特定のNETCONFまたはRESTCONFユーザーのアクセスを、利用可能なすべてのNETCONFまたはRESTCONFプロトコル操作およびコンテンツの事前設定されたサブセットに制限する手段を提供します。キー文字列にはデフォルトではアクセスできません。キー文字列を構成または取得するには、NETCONFアクセス制御モデル[NETCONF-ACM]ルールが必要です。

When configured, the key strings can be encrypted using the AES Key Wrap algorithm [AES-KEY-WRAP]. The AES key-encryption key (KEK) is not included in the YANG model and must be set or derived independent of key chain configuration. When AES key encryption is used, the hex-key-string feature is also required since the encrypted keys will contain characters that are not representable in the YANG string built-in type [YANG-1.1]. It is RECOMMENDED that key strings be encrypted using AES key encryption to prevent key chains from being retrieved and stored with the key strings in cleartext. This recommendation is independent of the access protection that is availed from the NETCONF access control model (NACM) [NETCONF-ACM].

構成すると、AESキーラップアルゴリズム[AES-KEY-WRAP]を使用してキー文字列を暗号化できます。 AESキー暗号化キー(KEK)はYANGモデルに含まれていないため、キーチェーン構成とは関係なく設定または導出する必要があります。 AESキー暗号化を使用する場合、暗号化されたキーにはYANG文字列組み込みタイプ[YANG-1.1]で表現できない文字が含まれるため、hex-key-string機能も必要です。キーストリングがAESキー暗号化を使用して暗号化され、キーチェーンがクリアテキストのキーストリングと共に取得および保存されるのを防ぐことをお勧めします。この推奨事項は、NETCONFアクセスコントロールモデル(NACM)[NETCONF-ACM]から利用できるアクセス保護とは無関係です。

The cleartext algorithm is included as a YANG feature. Usage is NOT RECOMMENDED except in cases where the application and device have no other alternative (e.g., a legacy network device that must authenticate packets at intervals of 10 milliseconds or less for many peers using Bidirectional Forwarding Detection [BFD]). Keys used with the cleartext algorithm are considered insecure and SHOULD NOT be reused with more secure algorithms.

クリアテキストアルゴリズムは、YANG機能として含まれています。アプリケーションとデバイスに他の代替手段がない場合(たとえば、双方向転送検出[BFD]を使用する多くのピアのパケットを10ミリ秒以下の間隔で認証する必要があるレガシーネットワークデバイス)を除いて、使用は推奨されません。クリアテキストアルゴリズムで使用されるキーは安全でないと見なされ、より安全なアルゴリズムで再利用すべきではありません。

Similarly, the MD5 and SHA-1 algorithms have been proven to be insecure ([Dobb96a], [Dobb96b], and [SHA-SEC-CON]), and usage is NOT RECOMMENDED. Usage should be confined to deployments where it is required for backward compatibility.

同様に、MD5およびSHA-1アルゴリズムは安全でないことが証明されており([Dobb96a]、[Dobb96b]、および[SHA-SEC-CON])、使用は推奨されません。使用は、下位互換性のために必要なデプロイメントに限定する必要があります。

Implementations with keys provided via this model should store them using best current security practices.

このモデルを介して提供されるキーを使用した実装では、最新のセキュリティ慣行を使用してそれらを保存する必要があります。

6. IANA Considerations
6. IANAに関する考慮事項

This document registers a URI in the "IETF XML Registry" [XML-REGISTRY]. It follows the format in [XML-REGISTRY].

このドキュメントは、「IETF XMLレジストリ」[XML-REGISTRY]にURIを登録します。 [XML-REGISTRY]の形式に従います。

URI: urn:ietf:params:xml:ns:yang:ietf-key-chain Registrant Contact: The IESG. XML: N/A, the requested URI is an XML namespace.

URI:urn:ietf:params:xml:ns:yang:ietf-key-chain登録者の連絡先:IESG。 XML:N / A、要求されたURIはXML名前空間です。

This document registers a YANG module in the "YANG Module Names" registry [YANG-1.0].

このドキュメントでは、「YANGモジュール名」レジストリ[YANG-1.0]にYANGモジュールを登録しています。

      name: ietf-key-chain
      namespace: urn:ietf:params:xml:ns:yang:ietf-key-chain
      prefix: key-chain
      reference: RFC 8177
        
7. References
7. 参考文献
7.1. Normative References
7.1. 引用文献

[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.

[キーワード] Bradner、S。、「RFCで使用して要件レベルを示すためのキーワード」、BCP 14、RFC 2119、DOI 10.17487 / RFC2119、1997年3月、<http://www.rfc-editor.org/info/ rfc2119>。

[KEYWORDS-UPD] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <http://www.rfc-editor.org/info/rfc8174>.

[KEYWORDS-UPD] Leiba、B。、「RFC 2119キーワードの大文字と小文字のあいまいさ」、BCP 14、RFC 8174、DOI 10.17487 / RFC8174、2017年5月、<http://www.rfc-editor.org/ info / rfc8174>。

[NETCONF] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, <http://www.rfc-editor.org/info/rfc6241>.

[NETCONF] Enns、R。、編、Bjorklund、M。、編、Schoenwaelder、J。、編、A。Bierman、編、「Network Configuration Protocol(NETCONF)」、RFC 6241、DOI 10.17487 / RFC6241、2011年6月、<http://www.rfc-editor.org/info/rfc6241>。

[NETCONF-ACM] Bierman, A. and M. Bjorklund, "Network Configuration Protocol (NETCONF) Access Control Model", RFC 6536, DOI 10.17487/RFC6536, March 2012, <http://www.rfc-editor.org/info/rfc6536>.

[NETCONF-ACM] Bierman、A。およびM. Bjorklund、「Network Configuration Protocol(NETCONF)Access Control Model」、RFC 6536、DOI 10.17487 / RFC6536、2012年3月、<http://www.rfc-editor.org/ info / rfc6536>。

[NETCONF-SSH] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, <http://www.rfc-editor.org/info/rfc6242>.

[NETCONF-SSH] Wasserman、M。、「Secure Shell(SSH)でのNETCONFプロトコルの使用」、RFC 6242、DOI 10.17487 / RFC6242、2011年6月、<http://www.rfc-editor.org/info/rfc6242 >。

[RESTCONF] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, <http://www.rfc-editor.org/info/rfc8040>.

[RESTCONF] Bierman、A.、Bjorklund、M。、およびK. Watsen、「RESTCONFプロトコル」、RFC 8040、DOI 10.17487 / RFC8040、2017年1月、<http://www.rfc-editor.org/info/rfc8040 >。

[TLS] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/RFC5246, August 2008, <http://www.rfc-editor.org/info/rfc5246>.

[TLS] Dierks、T。およびE. Rescorla、「The Transport Layer Security(TLS)Protocol Version 1.2」、RFC 5246、DOI 10.17487 / RFC5246、2008年8月、<http://www.rfc-editor.org/info / rfc5246>。

[XML-REGISTRY] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, <http://www.rfc-editor.org/info/rfc3688>.

[XML-REGISTRY] Mealling、M。、「The IETF XML Registry」、BCP 81、RFC 3688、DOI 10.17487 / RFC3688、2004年1月、<http://www.rfc-editor.org/info/rfc3688>。

[YANG-1.0] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, <http://www.rfc-editor.org/info/rfc6020>.

[YANG-1.0] Bjorklund、M。、編、「YANG-ネットワーク構成プロトコル(NETCONF)のデータモデリング言語」、RFC 6020、DOI 10.17487 / RFC6020、2010年10月、<http://www.rfc- editor.org/info/rfc6020>。

[YANG-1.1] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, <http://www.rfc-editor.org/info/rfc7950>.

[YANG-1.1] Bjorklund、M。、編、「The YANG 1.1 Data Modeling Language」、RFC 7950、DOI 10.17487 / RFC7950、2016年8月、<http://www.rfc-editor.org/info/rfc7950> 。

7.2. Informative References
7.2. 参考引用

[AES-KEY-WRAP] Housley, R. and M. Dworkin, "Advanced Encryption Standard (AES) Key Wrap with Padding Algorithm", RFC 5649, DOI 10.17487/RFC5649, September 2009, <http://www.rfc-editor.org/info/rfc5649>.

[AES-KEY-WRAP] Housley、R.、M。Dworkin、「Advanced Encryption Standard(AES)Key Wrap with Padding Algorithm」、RFC 5649、DOI 10.17487 / RFC5649、2009年9月、<http://www.rfc- editor.org/info/rfc5649>。

[BFD] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, <http://www.rfc-editor.org/info/rfc5880>.

[BFD] Katz、D。およびD. Ward、「Bidirectional Forwarding Detection(BFD)」、RFC 5880、DOI 10.17487 / RFC5880、2010年6月、<http://www.rfc-editor.org/info/rfc5880>。

[CRYPTO-KEYTABLE] Housley, R., Polk, T., Hartman, S., and D. Zhang, "Database of Long-Lived Symmetric Cryptographic Keys", RFC 7210, DOI 10.17487/RFC7210, April 2014, <http://www.rfc-editor.org/info/rfc7210>.

[暗号鍵表] Housley、R.、Polk、T.、Hartman、S。、およびD. Zhang、「Database of Long-Lived Symmetric Cryptographic Keys」、RFC 7210、DOI 10.17487 / RFC7210、2014年4月、<http: //www.rfc-editor.org/info/rfc7210>。

[Dobb96a] Dobbertin, H., "Cryptanalysis of MD5 Compress", Technical Report Presented at the Rump Session of EuroCrypt '96, May 1996.

[Dobb96a] Dobbertin、H。、「MD5 Compressの暗号解読」、1996年5月のEuroCrypt '96のランプセッションで発表されたテクニカルレポート。

[Dobb96b] Dobbertin, H., "The Status of MD5 After a Recent Attack", CryptoBytes, Vol. 2, No. 2, Summer 1996.

[Dobb96b] Dobbertin、H。、「最近の攻撃後のMD5のステータス」、CryptoBytes、Vol。 2、2、1996年夏。

[IAB-REPORT] Andersson, L., Davies, E., and L. Zhang, "Report from the IAB workshop on Unwanted Traffic March 9-10, 2006", RFC 4948, DOI 10.17487/RFC4948, August 2007, <http://www.rfc-editor.org/info/rfc4948>.

[IAB-REPORT] Andersson、L.、Davies、E.、and L. Zhang、 "Report from the IAB Workshop on Unwanted Traffic March 9-10、2006"、RFC 4948、DOI 10.17487 / RFC4948、August 2007、<http ://www.rfc-editor.org/info/rfc4948>。

[NMDA] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture", Work in Progress, draft-ietf-netmod-revised-datastores-02, May 2017.

[NMDA] Bjorklund、M.、Schoenwaelder、J.、Shafer、P.、Watsen、K。、およびR. Wilton、「Network Management Datastore Architecture」、Work in Progress、draft-ietf-netmod-revised-datastores-02 、2017年5月。

[NTP-PROTO] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, <http://www.rfc-editor.org/info/rfc5905>.

[NTP-PROTO] Mills、D.、Martin、J.、Ed。、Burbank、J。、およびW. Kasch、「Network Time Protocol Version 4:Protocol and Algorithms Specification」、RFC 5905、DOI 10.17487 / RFC5905、June 2010、<http://www.rfc-editor.org/info/rfc5905>。

[OSPFV3-AUTH] Bhatia, M., Manral, V., and A. Lindem, "Supporting Authentication Trailer for OSPFv3", RFC 7166, DOI 10.17487/RFC7166, March 2014, <http://www.rfc-editor.org/info/rfc7166>.

[OSPFV3-AUTH] Bhatia、M.、Manral、V。、およびA. Lindem、「Supporting Authentication Trailer for OSPFv3」、RFC 7166、DOI 10.17487 / RFC7166、2014年3月、<http://www.rfc-editor。 org / info / rfc7166>。

[SHA-SEC-CON] Polk, T., Chen, L., Turner, S., and P. Hoffman, "Security Considerations for the SHA-0 and SHA-1 Message-Digest Algorithms", RFC 6194, DOI 10.17487/RFC6194, March 2011, <http://www.rfc-editor.org/info/rfc6194>.

[SHA-SEC-CON] Polk、T.、Chen、L.、Turner、S。、およびP. Hoffman、「SHA-0およびSHA-1メッセージダイジェストアルゴリズムのセキュリティに関する考慮事項」、RFC 6194、DOI 10.17487 / RFC6194、2011年3月、<http://www.rfc-editor.org/info/rfc6194>。

[TCP-AO] Touch, J., Mankin, A., and R. Bonica, "The TCP Authentication Option", RFC 5925, DOI 10.17487/RFC5925, June 2010, <http://www.rfc-editor.org/info/rfc5925>.

[TCP-AO] Touch、J.、Mankin、A。、およびR. Bonica、「The TCP Authentication Option」、RFC 5925、DOI 10.17487 / RFC5925、2010年6月、<http://www.rfc-editor.org / info / rfc5925>。

[TCP-AO-ALGORITHMS] Lebovitz, G. and E. Rescorla, "Cryptographic Algorithms for the TCP Authentication Option (TCP-AO)", RFC 5926, DOI 10.17487/RFC5926, June 2010, <http://www.rfc-editor.org/info/rfc5926>.

[TCP-AO-ALGORITHMS] Lebovitz、G。およびE. Rescorla、「TCP Authentication Option(TCP-AO)の暗号化アルゴリズム」、RFC 5926、DOI 10.17487 / RFC5926、2010年6月、<http://www.rfc -editor.org/info/rfc5926>。

[YANG-CRYPTO-KEYTABLE] Chen, I., "YANG Data Model for RFC 7210 Key Table", Work in Progress, draft-chen-rtg-key-table-yang-00, March 2015.

[YANG-CRYPTO-KEYTABLE]陳、I。、「RFC 7210キーテーブルのYANGデータモデル」、作業中、draft-chen-rtg-key-table-yang-00、2015年3月。

Appendix A. Examples
付録A.例
A.1. Simple Key Chain with an Always Valid Single Key
A.1. 常に有効な単一キーを持つ単純なキーチェーン
   <?xml version="1.0" encoding="utf-8"?>
   <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <key-chains xmlns="urn:ietf:params:xml:ns:yang:ietf-key-chain">
       <key-chain>
         <name>keychain-no-end-time</name>
         <description>
           A key chain with a single key that is always valid for
           transmission and reception.
         </description>
         <key>
           <key-id>100</key-id>
           <lifetime>
             <send-accept-lifetime>
               <always/>
             </send-accept-lifetime>
           </lifetime>
           <crypto-algorithm>hmac-sha-256</crypto-algorithm>
           <key-string>
             <keystring>keystring_in_ascii_100</keystring>
           </key-string>
         </key>
       </key-chain>
     </key-chains>
   </data>
        
A.2. Key Chain with Keys Having Different Lifetimes
A.2. ライフタイムの異なるキーを持つキーチェーン
   <?xml version="1.0" encoding="utf-8"?>
   <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <key-chains xmlns="urn:ietf:params:xml:ns:yang:ietf-key-chain">
       <key-chain>
         <name>keychain2</name>
         <description>
           A key chain where each key contains a different send time
           and accept time and a different algorithm illustrating
           algorithm agility.
         </description>
         <key>
           <key-id>35</key-id>
           <lifetime>
             <send-lifetime>
               <start-date-time>2017-01-01T00:00:00Z</start-date-time>
               <end-date-time>2017-02-01T00:00:00Z</end-date-time>
             </send-lifetime>
        
             <accept-lifetime>
               <start-date-time>2016-12-31T23:59:55Z</start-date-time>
               <end-date-time>2017-02-01T00:00:05Z</end-date-time>
             </accept-lifetime>
           </lifetime>
           <crypto-algorithm>hmac-sha-256</crypto-algorithm>
           <key-string>
             <keystring>keystring_in_ascii_35</keystring>
           </key-string>
         </key>
         <key>
           <key-id>36</key-id>
           <lifetime>
             <send-lifetime>
               <start-date-time>2017-02-01T00:00:00Z</start-date-time>
               <end-date-time>2017-03-01T00:00:00Z</end-date-time>
             </send-lifetime>
             <accept-lifetime>
               <start-date-time>2017-01-31T23:59:55Z</start-date-time>
               <end-date-time>2017-03-01T00:00:05Z</end-date-time>
             </accept-lifetime>
           </lifetime>
           <crypto-algorithm>hmac-sha-512</crypto-algorithm>
           <key-string>
             <hexadecimal-string>fe:ed:be:af:36</hexadecimal-string>
           </key-string>
         </key>
       </key-chain>
     </key-chains>
   </data>
        
A.3. Key Chain with Independent Send and Accept Lifetimes
A.3. 独立した送受信ライフタイムを備えたキーチェーン
   <?xml version="1.0" encoding="utf-8"?>
   <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <key-chains xmlns="urn:ietf:params:xml:ns:yang:ietf-key-chain">
       <key-chain>
         <name>keychain2</name>
         <description>
           A key chain where each key contains different send times
           and accept times.
         </description>
         <key>
           <key-id>35</key-id>
           <lifetime>
             <send-lifetime>
               <start-date-time>2017-01-01T00:00:00Z</start-date-time>
               <end-date-time>2017-02-01T00:00:00Z</end-date-time>
             </send-lifetime>
             <accept-lifetime>
               <start-date-time>2016-12-31T23:59:55Z</start-date-time>
               <end-date-time>2017-02-01T00:00:05Z</end-date-time>
             </accept-lifetime>
           </lifetime>
           <crypto-algorithm>hmac-sha-256</crypto-algorithm>
           <key-string>
             <keystring>keystring_in_ascii_35</keystring>
           </key-string>
         </key>
         <key>
           <key-id>36</key-id>
           <lifetime>
             <send-lifetime>
               <start-date-time>2017-02-01T00:00:00Z</start-date-time>
               <end-date-time>2017-03-01T00:00:00Z</end-date-time>
             </send-lifetime>
             <accept-lifetime>
               <start-date-time>2017-01-31T23:59:55Z</start-date-time>
               <end-date-time>2017-03-01T00:00:05Z</end-date-time>
             </accept-lifetime>
           </lifetime>
           <crypto-algorithm>hmac-sha-256</crypto-algorithm>
           <key-string>
             <hexadecimal-string>fe:ed:be:af:36</hexadecimal-string>
           </key-string>
         </key>
       </key-chain>
     </key-chains>
   </data>
        

Contributors

貢献者

Yi Yang SockRate

Y iヤン靴下レート

   Email: yi.yang@sockrate.com
        

Acknowledgments

謝辞

Thanks to Brian Weis for fruitful discussions on security requirements.

セキュリティ要件に関する有益な議論をしてくれたBrian Weisに感謝します。

Thanks to Ines Robles for Routing Directorate QA review comments.

Routing Directorate QAレビューコメントを提供してくれたInes Roblesに感謝します。

Thanks to Ladislav Lhotka for YANG Doctor comments.

YANG Doctorのコメントを寄せてくれたLadislav Lhotkaに感謝します。

Thanks to Martin Bjorklund for additional YANG Doctor comments.

YANG医師のコメントを追加してくれたMartin Bjorklundに感謝します。

Thanks to Tom Petch for comments during IETF last call.

IETFの最後の電話でのコメントについて、トム・ペッチに感謝します。

Thanks to Matthew Miller for comments made during the Gen-ART review.

Gen-ARTレビュー中に行われたコメントについて、Matthew Millerに感謝します。

Thanks to Vincent Roca for comments made during the Security Directorate review.

セキュリティ総局のレビュー中に行われたコメントについて、Vincent Rocaに感謝します。

Thanks to Warren Kumari, Ben Campbell, Adam Roach, and Benoit Claise for comments received during the IESG review.

IESGレビュー中に寄せられたコメントについて、ウォーレンクマリ、ベンキャンベル、アダムローチ、およびブノワクレイズに感謝します。

Authors' Addresses

著者のアドレス

Acee Lindem (editor) Cisco Systems 301 Midenhall Way Cary, NC 27513 United States of America

Acee Lindem(編集者)Cisco Systems 301 Midenhall Way Cary、NC 27513アメリカ合衆国

   Email: acee@cisco.com
        

Yingzhen Qu Huawei

Ying true Q uh UA is

   Email: yingzhen.qu@huawei.com
        

Derek Yeung Arrcus, Inc

Derek Yeung Arrcus、Inc

   Email: derek@arrcus.com
        

Ing-Wher Chen Jabil

Ing-Wher Chen Jabil

   Email: Ing-Wher_Chen@jabil.com
        

Jeffrey Zhang Juniper Networks 10 Technology Park Drive Westford, MA 01886 United States of America

Jeffrey Zhang Juniper Networks 10 Technology Park Drive Westford、MA 01886アメリカ合衆国

   Email: zzhang@juniper.net