[要約] RFC 2274は、SNMPv3のためのユーザーベースのセキュリティモデル(USM)に関する規格であり、SNMPv3のセキュリティ機能を提供する。このRFCの目的は、SNMPv3のセキュリティを向上させ、認証、暗号化、アクセス制御などの機能を提供することで、ネットワーク管理のセキュリティを強化することである。
Network Working Group U. Blumenthal Request for Comments: 2274 IBM T. J. Watson Research Obsoletes: 2264 B. Wijnen Category: Standards Track IBM T. J. Watson Research January 1998
User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)
Simple Network Management Protocol(SNMPv3)バージョン3のユーザーベースのセキュリティモデル(USM)
Status of this Memo
本文書の状態
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
このドキュメントは、インターネットコミュニティのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態とステータスについては、「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (C) The Internet Society (1998). All Rights Reserved.
Copyright(C)The Internet Society(1998)。全著作権所有。
IANA Note
IANA Note
Due to a clerical error in the assignment of the snmpModules in this memo, this RFC provides the corrected number assignment for this protocol. This memo obsoletes RFC 2264.
このメモのsnmpModulesの割り当てにおける誤記のため、このRFCはこのプロトコルの修正された番号割り当てを提供します。このメモはRFC 2264を廃止します。
Abstract
概要
This document describes the User-based Security Model (USM) for SNMP version 3 for use in the SNMP architecture [RFC2271]. It defines the Elements of Procedure for providing SNMP message level security. This document also includes a MIB for remotely monitoring/managing the configuration parameters for this Security Model.
このドキュメントでは、SNMPアーキテクチャ[RFC2271]で使用するためのSNMPバージョン3のユーザーベースのセキュリティモデル(USM)について説明します。 SNMPメッセージレベルのセキュリティを提供するための手順の要素を定義します。このドキュメントには、このセキュリティモデルの構成パラメータをリモートで監視/管理するためのMIBも含まれています。
Table of Contents
目次
1. Introduction 3 1.1. Threats 4 1.2. Goals and Constraints 5 1.3. Security Services 6 1.4. Module Organization 7 1.4.1. Timeliness Module 7 1.4.2. Authentication Protocol 8 1.4.3. Privacy Protocol 8 1.5. Protection against Message Replay, Delay and Redirection 8 1.5.1. Authoritative SNMP engine 8
1. はじめに3 1.1。脅威4 1.2。目標と制約5 1.3。セキュリティサービス6 1.4。モジュール構成7 1.4.1。適時性モジュール7 1.4.2。認証プロトコル8 1.4.3。プライバシープロトコル8 1.5。メッセージの再生、遅延、リダイレクトに対する保護8 1.5.1。信頼できるSNMPエンジン8
1.5.2. Mechanisms 9 1.6. Abstract Service Interfaces. 10 1.6.1. User-based Security Model Primitives for Authentication 11 1.6.2. User-based Security Model Primitives for Privacy 11 2. Elements of the Model 12 2.1. User-based Security Model Users 12 2.2. Replay Protection 13 2.2.1. msgAuthoritativeEngineID 13 2.2.2. msgAuthoritativeEngineBoots and msgAuthoritativeEngineTime 14 2.2.3. Time Window 15 2.3. Time Synchronization 15 2.4. SNMP Messages Using this Security Model 16 2.5. Services provided by the User-based Security Model 17 2.5.1. Services for Generating an Outgoing SNMP Message 17 2.5.2. Services for Processing an Incoming SNMP Message 19 2.6. Key Localization Algorithm. 21 3. Elements of Procedure 21 3.1. Generating an Outgoing SNMP Message 22 3.2. Processing an Incoming SNMP Message 25 4. Discovery 30 5. Definitions 31 6. HMAC-MD5-96 Authentication Protocol 45 6.1. Mechanisms 45 6.1.1. Digest Authentication Mechanism 46 6.2. Elements of the Digest Authentication Protocol 46 6.2.1. Users 46 6.2.2. msgAuthoritativeEngineID 47 6.2.3. SNMP Messages Using this Authentication Protocol 47 6.2.4. Services provided by the HMAC-MD5-96 Authentication Module 47 6.2.4.1. Services for Generating an Outgoing SNMP Message 47 6.2.4.2. Services for Processing an Incoming SNMP Message 48 6.3. Elements of Procedure 49 6.3.1. Processing an Outgoing Message 49 6.3.2. Processing an Incoming Message 50 7. HMAC-SHA-96 Authentication Protocol 51 7.1. Mechanisms 51 7.1.1. Digest Authentication Mechanism 51 7.2. Elements of the HMAC-SHA-96 Authentication Protocol 52 7.2.1. Users 52 7.2.2. msgAuthoritativeEngineID 52 7.2.3. SNMP Messages Using this Authentication Protocol 53 7.2.4. Services provided by the HMAC-SHA-96 Authentication Module 53 7.2.4.1. Services for Generating an Outgoing SNMP Message 53 7.2.4.2. Services for Processing an Incoming SNMP Message 54 7.3. Elements of Procedure 54 7.3.1. Processing an Outgoing Message 55 7.3.2. Processing an Incoming Message 55 8. CBC-DES Symmetric Encryption Protocol 56
1.5.2. メカニズム9 1.6。抽象サービスインターフェイス。 10 1.6.1。認証のためのユーザーベースのセキュリティモデルプリミティブ11 1.6.2。プライバシーのためのユーザーベースのセキュリティモデルプリミティブ11 2.モデルの要素12 2.1。ユーザーベースのセキュリティモデルユーザー12 2.2。リプレイ保護13 2.2.1。 msgAuthoritativeEngineID 13 2.2.2。 msgAuthoritativeEngineBootsおよびmsgAuthoritativeEngineTime 14 2.2.3。時間枠15 2.3。時間同期15 2.4。このセキュリティモデルを使用したSNMPメッセージ16 2.5。ユーザーベースのセキュリティモデル17で提供されるサービス2.5.1。発信SNMPメッセージを生成するためのサービス17 2.5.2。着信SNMPメッセージを処理するためのサービス19 2.6。キーローカリゼーションアルゴリズム。 21 3.手順の要素21 3.1。発信SNMPメッセージの生成22 3.2。受信SNMPメッセージの処理25 4.検出30 5.定義31 6. HMAC-MD5-96認証プロトコル45 6.1。メカニズム45 6.1.1。ダイジェスト認証メカニズム46 6.2。ダイジェスト認証プロトコルの要素46 6.2.1。ユーザー46 6.2.2。 msgAuthoritativeEngineID 47 6.2.3。この認証プロトコルを使用したSNMPメッセージ47 6.2.4。 HMAC-MD5-96認証モジュールによって提供されるサービス47 6.2.4.1。発信SNMPメッセージを生成するためのサービス47 6.2.4.2。着信SNMPメッセージを処理するためのサービス48 6.3。手順の要素49 6.3.1。送信メッセージの処理49 6.3.2。受信メッセージの処理50 7. HMAC-SHA-96認証プロトコル51 7.1。メカニズム51 7.1.1。ダイジェスト認証メカニズム51 7.2。 HMAC-SHA-96認証プロトコルの要素52 7.2.1。ユーザー52 7.2.2。 msgAuthoritativeEngineID 52 7.2.3。この認証プロトコルを使用したSNMPメッセージ53 7.2.4。 HMAC-SHA-96認証モジュール53 7.2.4.1によって提供されるサービス。発信SNMPメッセージを生成するためのサービス53 7.2.4.2。着信SNMPメッセージを処理するためのサービス54 7.3。手順54の要素7.3.1。送信メッセージの処理55 7.3.2。受信メッセージの処理55 8. CBC-DES対称暗号化プロトコル56
8.1. Mechanisms 56 8.1.1. Symmetric Encryption Protocol 57 8.1.1.1. DES key and Initialization Vector. 57 8.1.1.2. Data Encryption. 58 8.1.1.3. Data Decryption 59 8.2. Elements of the DES Privacy Protocol 59 8.2.1. Users 59 8.2.2. msgAuthoritativeEngineID 59 8.2.3. SNMP Messages Using this Privacy Protocol 60 8.2.4. Services provided by the DES Privacy Module 60 8.2.4.1. Services for Encrypting Outgoing Data 60 8.2.4.2. Services for Decrypting Incoming Data 61 8.3. Elements of Procedure. 61 8.3.1. Processing an Outgoing Message 61 8.3.2. Processing an Incoming Message 62 9. Intellectual Property 62 10. Acknowledgements 63 11. Security Considerations 64 11.1. Recommended Practices 64 11.2. Defining Users 66 11.3. Conformance 67 12. References 67 13. Editors' Addresses 69 A.1. SNMP engine Installation Parameters 70 A.2. Password to Key Algorithm 71 A.2.1. Password to Key Sample Code for MD5 71 A.2.2. Password to Key Sample Code for SHA 72 A.3. Password to Key Sample Results 73 A.3.1. Password to Key Sample Results using MD5 73 A.3.2. Password to Key Sample Results using SHA 74 A.4. Sample encoding of msgSecurityParameters 74 B. Full Copyright Statement 76
8.1. メカニズム56 8.1.1。対称暗号化プロトコル57 8.1.1.1。 DESキーと初期化ベクトル。 57 8.1.1.2。データ暗号化。 58 8.1.1.3。データ復号59 8.2。 DESプライバシープロトコルの要素59 8.2.1。ユーザー59 8.2.2。 msgAuthoritativeEngineID 59 8.2.3。このプライバシープロトコルを使用したSNMPメッセージ60 8.2.4。 DESプライバシーモジュール60によって提供されるサービス8.2.4.1。送信データを暗号化するためのサービス60 8.2.4.2。受信データを復号化するためのサービス61 8.3。手順の要素。 61 8.3.1。送信メッセージの処理61 8.3.2。受信メッセージの処理62 9.知的財産62 10.謝辞63 11.セキュリティに関する考慮事項64 11.1。推奨されるプラクティス64 11.2。ユーザーの定義66 11.3。適合性67 12.参考文献67 13.編集者のアドレス69 A.1。 SNMPエンジンのインストールパラメータ70 A.2。鍵アルゴリズムへのパスワード71 A.2.1。 MD5のキーサンプルコードのパスワード71 A.2.2。 SHA 72のキーサンプルコードのパスワードA.3。主要なサンプル結果のパスワード73 A.3.1。 MD5を使用した主要なサンプル結果へのパスワード73 A.3.2。 SHA 74を使用した主要なサンプル結果へのパスワードA.4。 msgSecurityParametersのエンコーディングのサンプル74 B.完全な著作権ステートメント76
The Architecture for describing Internet Management Frameworks [RFC2271] describes that an SNMP engine is composed of:
インターネット管理フレームワークを記述するためのアーキテクチャ[RFC2271]は、SNMPエンジンが以下で構成されていることを記述しています。
1) a Dispatcher 2) a Message Processing Subsystem, 3) a Security Subsystem, and 4) an Access Control Subsystem.
1)ディスパッチャ2)メッセージ処理サブシステム、3)セキュリティサブシステム、4)アクセス制御サブシステム。
Applications make use of the services of these subsystems.
アプリケーションは、これらのサブシステムのサービスを利用します。
It is important to understand the SNMP architecture and the terminology of the architecture to understand where the Security Model described in this document fits into the architecture and interacts with other subsystems within the architecture. The reader is expected to have read and understood the description of the SNMP architecture, as defined in [RFC2271].
このドキュメントで説明されているセキュリティモデルがアーキテクチャに適合し、アーキテクチャ内の他のサブシステムと相互作用する場所を理解するには、SNMPアーキテクチャとアーキテクチャの用語を理解することが重要です。読者は、[RFC2271]で定義されているように、SNMPアーキテクチャの説明を読んで理解していることが期待されます。
This memo [RFC2274] describes the User-based Security Model as it is used within the SNMP Architecture. The main idea is that we use the traditional concept of a user (identified by a userName) with which to associate security information.
このメモ[RFC2274]は、SNMPアーキテクチャ内で使用されるユーザーベースのセキュリティモデルについて説明しています。主なアイデアは、セキュリティ情報を関連付けるために、ユーザー(userNameで識別される)の従来の概念を使用することです。
This memo describes the use of HMAC-MD5-96 and HMAC-SHA-96 as the authentication protocols and the use of CBC-DES as the privacy protocol. The User-based Security Model however allows for other such protocols to be used instead of or concurrent with these protocols. Therefore, the description of HMAC-MD5-96, HMAC-SHA-96 and CBC-DES are in separate sections to reflect their self-contained nature and to indicate that they can be replaced or supplemented in the future.
このメモは、認証プロトコルとしてのHMAC-MD5-96およびHMAC-SHA-96の使用と、プライバシープロトコルとしてのCBC-DESの使用について説明しています。ただし、ユーザーベースのセキュリティモデルでは、これらのプロトコルの代わりに、または同時に使用できる他のプロトコルを使用できます。したがって、HMAC-MD5-96、HMAC-SHA-96、およびCBC-DESの説明は、独立した性質を反映し、将来、それらを交換または補足できることを示すために、別々のセクションにあります。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD 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」、「MAY」、および「OPTIONAL」は、 [RFC2119]で説明されているように解釈されます。
Several of the classical threats to network protocols are applicable to the network management problem and therefore would be applicable to any SNMP Security Model. Other threats are not applicable to the network management problem. This section discusses principal threats, secondary threats, and threats which are of lesser importance.
ネットワークプロトコルに対する従来の脅威のいくつかは、ネットワーク管理の問題に適用できるため、SNMPセキュリティモデルに適用できます。その他の脅威は、ネットワーク管理の問題には適用されません。このセクションでは、主要な脅威、二次的な脅威、およびそれほど重要ではない脅威について説明します。
The principal threats against which this SNMP Security Model should provide protection are:
このSNMPセキュリティモデルが保護を提供する主な脅威は次のとおりです。
- Modification of Information The modification threat is the danger that some unauthorized entity may alter in-transit SNMP messages generated on behalf of an authorized user in such a way as to effect unauthorized management operations, including falsifying the value of an object.
- 情報の変更変更の脅威とは、許可されていないエンティティが、許可されたユーザーに代わって生成された送信中のSNMPメッセージを、オブジェクトの値の改ざんなど、許可されていない管理操作に影響を与える可能性がある危険性です。
- Masquerade The masquerade threat is the danger that management operations not authorized for some user may be attempted by assuming the identity of another user that has the appropriate authorizations.
- マスカレードマスカレードの脅威とは、特定のユーザーに許可されていない管理操作が、適切な許可を持つ別のユーザーのIDを引き継ぐことによって試行される危険性です。
Two secondary threats are also identified. The Security Model defined in this memo provides limited protection against:
2つの二次的な脅威も特定されています。このメモで定義されているセキュリティモデルは、以下に対する限定的な保護を提供します。
- Disclosure The disclosure threat is the danger of eavesdropping on the exchanges between managed agents and a management station. Protecting against this threat may be required as a matter of local policy.
- 開示開示の脅威は、管理対象エージェントと管理ステーション間のやり取りを盗聴する危険性です。この脅威からの保護は、ローカルポリシーの問題として必要になる場合があります。
- Message Stream Modification The SNMP protocol is typically based upon a connection-less transport service which may operate over any sub-network service. The re-ordering, delay or replay of messages can and does occur through the natural operation of many such sub-network services. The message stream modification threat is the danger that messages may be maliciously re-ordered, delayed or replayed to an extent which is greater than can occur through the natural operation of a sub-network service, in order to effect unauthorized management operations.
- メッセージストリームの変更SNMPプロトコルは通常、任意のサブネットワークサービスで動作するコネクションレス型トランスポートサービスに基づいています。メッセージの並べ替え、遅延、または再生は、このような多くのサブネットワークサービスの自然な動作を通じて発生する可能性があります。メッセージストリーム変更の脅威とは、不正な管理操作を実行するために、メッセージが悪意を持って再順序付け、遅延、またはサブネットワークサービスの自然な操作を通じて発生する可能性がある範囲よりも大きく再生される危険性です。
There are at least two threats that an SNMP Security Model need not protect against. The security protocols defined in this memo do not provide protection against:
SNMPセキュリティモデルが防御する必要のない脅威が少なくとも2つあります。このメモで定義されているセキュリティプロトコルは、以下に対する保護を提供しません。
- Denial of Service This SNMP Security Model does not attempt to address the broad range of attacks by which service on behalf of authorized users is denied. Indeed, such denial-of-service attacks are in many cases indistinguishable from the type of network failures with which any viable network management protocol must cope as a matter of course. - Traffic Analysis This SNMP Security Model does not attempt to address traffic analysis attacks. Indeed, many traffic patterns are predictable - devices may be managed on a regular basis by a relatively small number of management applications - and therefore there is no significant advantage afforded by protecting against traffic analysis.
- サービス拒否このSNMPセキュリティモデルは、許可されたユーザーに代わってサービスが拒否される広範な攻撃に対処することを試みません。実際、このようなサービス拒否攻撃は、実行可能なネットワーク管理プロトコルが対応しなければならないネットワーク障害のタイプと区別がつかない場合がほとんどです。 -トラフィック分析このSNMPセキュリティモデルは、トラフィック分析攻撃への対処を試みていません。実際、多くのトラフィックパターンは予測可能です。デバイスは比較的少数の管理アプリケーションによって定期的に管理される可能性があるため、トラフィック分析から保護することによる大きなメリットはありません。
Based on the foregoing account of threats in the SNMP network management environment, the goals of this SNMP Security Model are as follows.
前述のSNMPネットワーク管理環境における脅威の説明に基づいて、このSNMPセキュリティモデルの目標は次のとおりです。
1) Provide for verification that each received SNMP message has not been modified during its transmission through the network.
1)ネットワークを介した送信中に、受信した各SNMPメッセージが変更されていないことを確認します。
2) Provide for verification of the identity of the user on whose behalf a received SNMP message claims to have been generated.
2)受信したSNMPメッセージが生成されたと主張するユーザーに代わって、ユーザーのIDの検証を提供します。
3) Provide for detection of received SNMP messages, which request or contain management information, whose time of generation was not recent.
3)管理情報を要求または含む、生成時刻が最近ではない受信SNMPメッセージの検出を提供します。
4) Provide, when necessary, that the contents of each received SNMP message are protected from disclosure.
4)必要に応じて、受信した各SNMPメッセージの内容が開示されないように保護します。
In addition to the principal goal of supporting secure network management, the design of this SNMP Security Model is also influenced by the following constraints:
安全なネットワーク管理をサポートするという主な目標に加えて、このSNMPセキュリティモデルの設計は、次の制約にも影響を受けます。
1) When the requirements of effective management in times of network stress are inconsistent with those of security, the design should prefer the former.
1)ネットワーク負荷時の効果的な管理の要件がセキュリティの要件と一致しない場合、設計は前者を優先する必要があります。
2) Neither the security protocol nor its underlying security mechanisms should depend upon the ready availability of other network services (e.g., Network Time Protocol (NTP) or key management protocols).
2)セキュリティプロトコルもその基盤となるセキュリティメカニズムも、他のネットワークサービス(ネットワークタイムプロトコル(NTP)やキー管理プロトコルなど)の可用性に依存してはなりません。
3) A security mechanism should entail no changes to the basic SNMP network management philosophy.
3)セキュリティメカニズムは、基本的なSNMPネットワーク管理の考え方に変更を加えてはなりません。
The security services necessary to support the goals of this SNMP Security Model are as follows:
このSNMPセキュリティモデルの目標をサポートするために必要なセキュリティサービスは次のとおりです。
- Data Integrity is the provision of the property that data has not been altered or destroyed in an unauthorized manner, nor have data sequences been altered to an extent greater than can occur non-maliciously.
- データの整合性とは、データが不正な方法で変更または破壊されていない、または悪意なく発生する可能性のある範囲を超えてデータシーケンスが変更されていないという特性の規定です。
- Data Origin Authentication is the provision of the property that the claimed identity of the user on whose behalf received data was originated is corroborated.
- データ発信元認証は、受信したデータの発信者であるユーザーの主張されたIDが裏付けられる特性の規定です。
- Data Confidentiality is the provision of the property that information is not made available or disclosed to unauthorized individuals, entities, or processes.
- データの機密性は、権限のない個人、エンティティ、またはプロセスに対して情報が利用可能にされたり、開示されたりしないという性質の規定です。
- Message timeliness and limited replay protection is the provision of the property that a message whose generation time is outside of a specified time window is not accepted. Note that message reordering is not dealt with and can occur in normal conditions too.
- メッセージの適時性と制限された再生保護は、生成時間が指定された時間枠の外にあるメッセージが受け入れられないというプロパティの提供です。メッセージの並べ替えは処理されず、通常の状態でも発生する可能性があることに注意してください。
For the protocols specified in this memo, it is not possible to assure the specific originator of a received SNMP message; rather, it is the user on whose behalf the message was originated that is authenticated.
このメモで指定されたプロトコルの場合、受信したSNMPメッセージの特定の発信者を保証することはできません。むしろ、認証されるのは、メッセージが発信されたユーザーです。
For these protocols, it not possible to obtain data integrity without data origin authentication, nor is it possible to obtain data origin authentication without data integrity. Further, there is no provision for data confidentiality without both data integrity and data origin authentication.
これらのプロトコルの場合、データの起点認証なしにデータの整合性を取得することはできません。また、データの整合性なしにデータの起点認証を取得することもできません。さらに、データの完全性とデータの発信元の認証の両方がなければ、データの機密性は提供されません。
The security protocols used in this memo are considered acceptably secure at the time of writing. However, the procedures allow for new authentication and privacy methods to be specified at a future time if the need arises.
このメモで使用されているセキュリティプロトコルは、執筆時点では許容範囲内で安全であると見なされています。ただし、この手順では、必要に応じて、将来、新しい認証とプライバシーの方法を指定できます。
The security protocols defined in this memo are split in three different modules and each has its specific responsibilities such that together they realize the goals and security services described above:
このメモで定義されているセキュリティプロトコルは、3つの異なるモジュールに分割されており、それぞれに特定の責任があり、一緒になって上記の目標とセキュリティサービスを実現します。
- The authentication module MUST provide for:
- 認証モジュールは以下を提供しなければなりません:
- Data Integrity,
- データの整合性、
- Data Origin Authentication
- データ発信元認証
- The timeliness module MUST provide for:
- 適時性モジュールは以下を提供しなければなりません:
- Protection against message delay or replay (to an extent greater than can occur through normal operation)
- メッセージの遅延または応答に対する保護(通常の操作で発生する可能性がある範囲よりも大きい)
The privacy module MUST provide for
プライバシーモジュールは、
- Protection against disclosure of the message payload.
- メッセージペイロードの開示に対する保護。
The timeliness module is fixed for the User-based Security Model while there is provision for multiple authentication and/or privacy modules, each of which implements a specific authentication or privacy protocol respectively.
適時性モジュールはユーザーベースのセキュリティモデル用に固定されていますが、複数の認証モジュールやプライバシーモジュールが用意されており、それぞれが特定の認証またはプライバシープロトコルを実装しています。
Section 3 (Elements of Procedure) uses the timeliness values in an SNMP message to do timeliness checking. The timeliness check is only performed if authentication is applied to the message. Since the complete message is checked for integrity, we can assume that the timeliness values in a message that passes the authentication module are trustworthy.
セクション3(手順の要素)では、SNMPメッセージの適時性の値を使用して適時性チェックを行います。適時性チェックは、認証がメッセージに適用されている場合にのみ実行されます。メッセージ全体の整合性がチェックされるため、認証モジュールを通過するメッセージの適時性の値は信頼できると見なすことができます。
Section 6 describes the HMAC-MD5-96 authentication protocol which is the first authentication protocol that MUST be supported with the User-based Security Model. Section 7 describes the HMAC-SHA-96 authentication protocol which is another authentication protocol that SHOULD be supported with the User-based Security Model. In the future additional or replacement authentication protocols may be defined as new needs arise.
セクション6では、ユーザーベースのセキュリティモデルでサポートする必要がある最初の認証プロトコルであるHMAC-MD5-96認証プロトコルについて説明します。セクション7では、HMAC-SHA-96認証プロトコルについて説明します。これは、ユーザーベースのセキュリティモデルでサポートする必要があるもう1つの認証プロトコルです。将来、新しいニーズが発生したときに、追加または代替の認証プロトコルが定義される可能性があります。
The User-based Security Model prescribes that, if authentication is used, then the complete message is checked for integrity in the authentication module.
ユーザーベースのセキュリティモデルでは、認証が使用されている場合、認証モジュールでメッセージ全体の整合性がチェックされることが規定されています。
For a message to be authenticated, it needs to pass authentication check by the authentication module and the timeliness check which is a fixed part of this User-based Security model.
メッセージが認証されるためには、認証モジュールによる認証チェックと、このユーザーベースのセキュリティモデルの固定部分である適時性チェックに合格する必要があります。
Section 8 describes the CBC-DES Symmetric Encryption Protocol which is the first privacy protocol to be used with the User-based Security Model. In the future additional or replacement privacy protocols may be defined as new needs arise.
セクション8では、ユーザーベースのセキュリティモデルで使用される最初のプライバシープロトコルであるCBC-DES対称暗号化プロトコルについて説明します。将来的には、新しいニーズが発生したときに、プライバシープロトコルの追加または置き換えが定義される可能性があります。
The User-based Security Model prescribes that the scopedPDU is protected from disclosure when a message is sent with privacy.
ユーザーベースのセキュリティモデルでは、メッセージがプライバシーで送信される場合、scopedPDUが開示されないように保護されています。
The User-based Security Model also prescribes that a message needs to be authenticated if privacy is in use.
ユーザーベースのセキュリティモデルでは、プライバシーが使用されている場合はメッセージを認証する必要があることも規定しています。
In order to protect against message replay, delay and redirection, one of the SNMP engines involved in each communication is designated to be the authoritative SNMP engine. When an SNMP message contains a payload which expects a response (for example a Get, GetNext, GetBulk, Set or Inform PDU), then the receiver of such messages is authoritative. When an SNMP message contains a payload which does not expect a response (for example an SNMPv2-Trap, Response or Report PDU), then the sender of such a message is authoritative.
メッセージの再生、遅延、リダイレクトから保護するために、各通信に関与するSNMPエンジンの1つが信頼できるSNMPエンジンに指定されています。 SNMPメッセージに応答を期待するペイロード(Get、GetNext、GetBulk、Set、Inform PDUなど)が含まれている場合、そのようなメッセージの受信者は信頼できるものです。 SNMPメッセージに応答を期待しないペイロード(たとえば、SNMPv2-Trap、Response、またはReport PDU)が含まれている場合、そのようなメッセージの送信者は信頼できます。
The following mechanisms are used:
次のメカニズムが使用されます。
1) To protect against the threat of message delay or replay (to an extent greater than can occur through normal operation), a set of timeliness indicators (for the authoritative SNMP engine) are included in each message generated. An SNMP engine evaluates the timeliness indicators to determine if a received message is recent. An SNMP engine may evaluate the timeliness indicators to ensure that a received message is at least as recent as the last message it received from the same source. A non-authoritative SNMP engine uses received authentic messages to advance its notion of the timeliness indicators at the remote authoritative source.
1)メッセージの遅延または再生の脅威から保護するために(通常の操作で発生する可能性がある範囲よりも大きい)、生成された各メッセージには、(信頼できるSNMPエンジンの)適時性インジケーターのセットが含まれています。 SNMPエンジンは、適時性インジケータを評価して、受信したメッセージが最近のものかどうかを判断します。 SNMPエンジンは、適時性インジケータを評価して、受信したメッセージが少なくとも同じソースから受信した最後のメッセージと同じくらい新しいことを確認します。権限のないSNMPエンジンは、受信した認証メッセージを使用して、リモートの信頼できるソースでの適時性インジケーターの概念を進めます。
An SNMP engine MUST also use a mechanism to match incoming Responses to outstanding Requests and it MUST drop any Responses that do not match an outstanding request. For example, a msgID can be inserted in every message to cater for this functionality.
SNMPエンジンは、着信応答を未処理の要求と照合するメカニズムも使用する必要があり、未処理の要求と一致しない応答はすべてドロップする必要があります。たとえば、この機能に対応するために、すべてのメッセージにmsgIDを挿入できます。
These mechanisms provide for the detection of authenticated messages whose time of generation was not recent.
これらのメカニズムは、生成時刻が最近ではない認証済みメッセージの検出を提供します。
This protection against the threat of message delay or replay does not imply nor provide any protection against unauthorized deletion or suppression of messages. Also, an SNMP engine may not be able to detect message reordering if all the messages involved are sent within the Time Window interval. Other mechanisms defined independently of the security protocol can also be used to detect the re-ordering replay, deletion, or suppression of messages containing Set operations (e.g., the MIB variable snmpSetSerialNo [RFC1907]).
メッセージの遅延または再生の脅威に対するこの保護は、メッセージの不正な削除または抑制に対する保護を示唆または提供するものではありません。また、関係するすべてのメッセージがタイムウィンドウ間隔内に送信された場合、SNMPエンジンはメッセージの並べ替えを検出できない場合があります。セキュリティプロトコルとは別に定義された他のメカニズムを使用して、Set操作を含むメッセージの並べ替えの再生、削除、または抑制を検出することもできます(MIB変数snmpSetSerialNo [RFC1907]など)。
2) Verification that a message sent to/from one authoritative SNMP engine cannot be replayed to/as-if-from another authoritative SNMP engine.
2)ある信頼できるSNMPエンジンとの間で送受信されたメッセージを、別の信頼できるSNMPエンジンとの間で再生することはできません。
Included in each message is an identifier unique to the authoritative SNMP engine associated with the sender or intended recipient of the message.
各メッセージには、メッセージの送信者または目的の受信者に関連付けられた信頼できるSNMPエンジンに固有の識別子が含まれています。
A Report, Response or Trap message sent by an authoritative SNMP engine to one non-authoritative SNMP engine can potentially be replayed to another non-authoritative SNMP engine. The latter non-authoritative SNMP engine might (if it knows about the same userName with the same secrets at the authoritative SNMP engine) as a result update its notion of timeliness indicators of the authoritative SNMP engine, but that is not considered a threat.
権限のあるSNMPエンジンから1つの権限のないSNMPエンジンに送信されたレポート、応答、またはトラップメッセージは、別の権限のないSNMPエンジンに再生される可能性があります。後者の非権威SNMPエンジンは、結果として(権威SNMPエンジンで同じ秘密を持つ同じuserNameを知っている場合)、権威SNMPエンジンの適時性インジケーターの概念を更新する可能性がありますが、これは脅威とは見なされません。
In this case, A Report or Response message will be discarded by the Message Processing Model, because there should not be an outstanding Request message. A Trap will possibly be accepted. Again, that is not considered a threat, because the communication was authenticated and timely. It is as if the authoritative SNMP engine was configured to start sending Traps to the second SNMP engine, which theoretically can happen without the knowledge of the second SNMP engine anyway. Anyway, the second SNMP engine may not expect to receive this Trap, but is allowed to see the management information contained in it.
この場合、未処理の要求メッセージはないはずなので、レポートまたは応答メッセージはメッセージ処理モデルによって破棄されます。トラップはおそらく受け入れられます。繰り返しになりますが、通信は認証され、タイムリーであるため、脅威とは見なされません。これは、信頼できるSNMPエンジンが2番目のSNMPエンジンへのトラップの送信を開始するように構成されているかのようで、理論的には2番目のSNMPエンジンの知識がなくても発生します。とにかく、2番目のSNMPエンジンはこのトラップを受信することを予期していない可能性がありますが、それに含まれる管理情報を表示することは許可されています。
3) Detection of messages which were not recently generated.
3)最近生成されていないメッセージの検出。
A set of time indicators are included in the message, indicating the time of generation. Messages without recent time indicators are not considered authentic. In addition, an SNMP engine MUST drop any Responses that do not match an outstanding request. This however is the responsibility of the Message Processing Model.
メッセージには一連の時間インジケータが含まれ、生成時間を示します。最近の時間インジケータのないメッセージは、本物とは見なされません。さらに、SNMPエンジンは、未解決の要求と一致しない応答をすべてドロップする必要があります。ただし、これはメッセージ処理モデルの責任です。
This memo allows the same user to be defined on multiple SNMP engines. Each SNMP engine maintains a value, snmpEngineID, which uniquely identifies the SNMP engine. This value is included in each message sent to/from the SNMP engine that is authoritative (see section 1.5.1). On receipt of a message, an authoritative SNMP engine checks the value to ensure that it is the intended recipient, and a non-authoritative SNMP engine uses the value to ensure that the message is processed using the correct state information.
このメモでは、同じユーザーを複数のSNMPエンジンで定義できます。各SNMPエンジンは、SNMPエンジンを一意に識別する値snmpEngineIDを維持します。この値は、信頼できるSNMPエンジンとの間で送受信される各メッセージに含まれています(セクション1.5.1を参照)。メッセージを受信すると、権限のあるSNMPエンジンが値をチェックして、それが目的の受信者であることを確認します。権限のないSNMPエンジンは、値を使用して、メッセージが正しい状態情報を使用して処理されることを確認します。
Each SNMP engine maintains two values, snmpEngineBoots and snmpEngineTime, which taken together provide an indication of time at that SNMP engine. Both of these values are included in an authenticated message sent to/received from that SNMP engine. On receipt, the values are checked to ensure that the indicated timeliness value is within a Time Window of the current time. The Time Window represents an administrative upper bound on acceptable delivery delay for protocol messages.
各SNMPエンジンは、snmpEngineBootsとsnmpEngineTimeの2つの値を保持します。これらの値を組み合わせることで、そのSNMPエンジンの時刻を示します。これらの値は両方とも、そのSNMPエンジンとの間で送受信される認証済みメッセージに含まれています。受信すると、値がチェックされ、示された適時性の値が現在の時間のタイムウィンドウ内にあることが確認されます。時間ウィンドウは、プロトコルメッセージの許容可能な配信遅延の管理上の上限を表します。
For an SNMP engine to generate a message which an authoritative SNMP engine will accept as authentic, and to verify that a message received from that authoritative SNMP engine is authentic, such an SNMP engine must first achieve timeliness synchronization with the authoritative SNMP engine. See section 2.3.
SNMPエンジンが信頼できるSNMPエンジンが本物として受け入れるメッセージを生成し、その信頼できるSNMPエンジンから受信したメッセージが本物であることを確認するには、そのようなSNMPエンジンが最初に信頼できるSNMPエンジンとの適時同期を行う必要があります。セクション2.3を参照してください。
1.6. Abstract Service Interfaces.
1.6. 抽象サービスインターフェイス。
Abstract service interfaces have been defined to describe the conceptual interfaces between the various subsystems within an SNMP entity. Similarly a set of abstract service interfaces have been defined within the User-based Security Model (USM) to describe the conceptual interfaces between the generic USM services and the self-contained authentication and privacy services.
抽象サービスインターフェイスは、SNMPエンティティ内のさまざまなサブシステム間の概念的なインターフェイスを記述するために定義されています。同様に、一連の抽象サービスインターフェースがユーザーベースのセキュリティモデル(USM)内で定義されており、一般的なUSMサービスと自己完結型認証およびプライバシーサービスの間の概念的なインターフェースを記述しています。
These abstract service interfaces are defined by a set of primitives that define the services provided and the abstract data elements that must be passed when the services are invoked. This section lists the primitives that have been defined for the User-based Security Model.
これらの抽象サービスインターフェイスは、提供されるサービスを定義する一連のプリミティブと、サービスの呼び出し時に渡す必要がある抽象データ要素によって定義されます。このセクションでは、ユーザーベースのセキュリティモデルに定義されているプリミティブをリストします。
The User-based Security Model provides the following internal primitives to pass data back and forth between the Security Model itself and the authentication service:
ユーザーベースのセキュリティモデルは、セキュリティモデル自体と認証サービスの間でデータをやり取りするために、次の内部プリミティブを提供します。
statusInformation = authenticateOutgoingMsg( IN authKey -- secret key for authentication IN wholeMsg -- unauthenticated complete message OUT authenticatedWholeMsg -- complete authenticated message )
statusInformation = authenticateOutgoingMsg(IN authKey-認証用の秘密鍵IN wholeMsg-認証されていない完全なメッセージOUT authenticationWholeMsg-完全に認証されたメッセージ)
statusInformation = authenticateIncomingMsg( IN authKey -- secret key for authentication IN authParameters -- as received on the wire IN wholeMsg -- as received on the wire OUT authenticatedWholeMsg -- complete authenticated message )
statusInformation = authenticateIncomingMsg(IN authKey-認証用の秘密鍵IN authParameters-ワイヤー上で受信されたとおりINholeMsg-ワイヤー上で受信された場合OUT authenticationWholeMsg-完全な認証済みメッセージ)
The User-based Security Model provides the following internal primitives to pass data back and forth between the Security Model itself and the privacy service:
ユーザーベースのセキュリティモデルは、セキュリティモデル自体とプライバシーサービスの間でデータをやり取りするために、次の内部プリミティブを提供します。
statusInformation = encryptData( IN encryptKey -- secret key for encryption IN dataToEncrypt -- data to encrypt (scopedPDU) OUT encryptedData -- encrypted data (encryptedPDU) OUT privParameters -- filled in by service provider )
statusInformation = encryptData(IN encryptKey-暗号化の秘密鍵IN dataToEncrypt-暗号化するデータ(scopedPDU)OUT encryptedData-暗号化されたデータ(encryptedPDU)OUT privParameters-サービスプロバイダーが入力)
statusInformation = decryptData( IN decryptKey -- secret key for decrypting IN privParameters -- as received on the wire IN encryptedData -- encrypted data (encryptedPDU) OUT decryptedData -- decrypted data (scopedPDU) )
statusInformation = DecryptData(IN decodeKey-IN privParametersを復号化するための秘密鍵-回線で受信したとおりIN encryptedData-暗号化されたデータ(encryptedPDU)OUT decryptedData-復号化されたデータ(scopedPDU))
This section contains definitions required to realize the security model defined by this memo.
このセクションには、このメモによって定義されたセキュリティモデルを実現するために必要な定義が含まれています。
Management operations using this Security Model make use of a defined set of user identities. For any user on whose behalf management operations are authorized at a particular SNMP engine, that SNMP engine must have knowledge of that user. An SNMP engine that wishes to communicate with another SNMP engine must also have knowledge of a user known to that engine, including knowledge of the applicable attributes of that user.
このセキュリティモデルを使用した管理操作は、定義されたユーザーIDのセットを利用します。特定のSNMPエンジンで管理操作が許可されているユーザーの場合、そのSNMPエンジンはそのユーザーの知識を持っている必要があります。別のSNMPエンジンと通信するSNMPエンジンは、そのエンジンに認識されているユーザーの知識(そのユーザーに適用可能な属性の知識を含む)も持っている必要があります。
A user and its attributes are defined as follows:
ユーザーとその属性は次のように定義されます。
userName A string representing the name of the user.
userNameユーザーの名前を表す文字列。
securityName A human-readable string representing the user in a format that is Security Model independent.
securityName人間が読める形式の文字列で、セキュリティモデルに依存しない形式でユーザーを表します。
authProtocol An indication of whether messages sent on behalf of this user can be authenticated, and if so, the type of authentication protocol which is used. Two such protocols are defined in this memo: - the HMAC-MD5-96 authentication protocol. - the HMAC-SHA-96 authentication protocol.
authProtocolこのユーザーの代わりに送信されたメッセージを認証できるかどうか、および認証できる場合は、使用される認証プロトコルのタイプを示します。このメモでは、このような2つのプロトコルが定義されています。-HMAC-MD5-96認証プロトコル。 -HMAC-SHA-96認証プロトコル。
authKey If messages sent on behalf of this user can be authenticated, the (private) authentication key for use with the authentication protocol. Note that a user's authentication key will normally be different at different authoritative SNMP engines. The authKey is not accessible via SNMP. The length requirements of the authKey are defined by the authProtocol in use.
authKeyこのユーザーの代わりに送信されたメッセージを認証できる場合、認証プロトコルで使用する(プライベート)認証キー。ユーザーの認証キーは通常、権限のあるSNMPエンジンによって異なります。 authKeyはSNMP経由でアクセスできません。 authKeyの長さの要件は、使用中のauthProtocolによって定義されます。
authKeyChange and authOwnKeyChange The only way to remotely update the authentication key. Does that in a secure manner, so that the update can be completed without the need to employ privacy protection.
authKeyChangeおよびauthOwnKeyChange認証キーをリモートで更新する唯一の方法。安全な方法でそれを行うので、プライバシー保護を採用する必要なく更新を完了できます。
privProtocol An indication of whether messages sent on behalf of this user can be protected from disclosure, and if so, the type of privacy protocol which is used. One such protocol is defined in this memo: the CBC-DES Symmetric Encryption Protocol.
privProtocolこのユーザーに代わって送信されたメッセージを開示から保護できるかどうか、およびそうである場合は、使用されるプライバシープロトコルのタイプを示します。このメモでは、そのようなプロトコルの1つであるCBC-DES対称暗号化プロトコルが定義されています。
privKey If messages sent on behalf of this user can be en/decrypted, the (private) privacy key for use with the privacy protocol. Note that a user's privacy key will normally be different at different authoritative SNMP engines. The privKey is not accessible via SNMP. The length requirements of the privKey are defined by the privProtocol in use.
privKeyこのユーザーの代わりに送信されたメッセージを暗号化/復号化できる場合、プライバシープロトコルで使用する(プライベート)プライバシーキー。ユーザーのプライバシーキーは通常、権限のあるSNMPエンジンによって異なります。 privKeyはSNMP経由でアクセスできません。 privKeyの長さの要件は、使用中のprivProtocolによって定義されます。
privKeyChange and privOwnKeyChange The only way to remotely update the encryption key. Does that in a secure manner, so that the update can be completed without the need to employ privacy protection.
privKeyChangeおよびprivOwnKeyChange暗号化キーをリモートで更新する唯一の方法。安全な方法でそれを行うので、プライバシー保護を採用する必要なく更新を完了できます。
Each SNMP engine maintains three objects:
各SNMPエンジンは3つのオブジェクトを保持します。
- snmpEngineID, which (at least within an administrative domain) uniquely and unambiguously identifies an SNMP engine.
- snmpEngineID。これは(少なくとも管理ドメイン内で)SNMPエンジンを一意かつ明確に識別します。
- snmpEngineBoots, which is a count of the number of times the SNMP engine has re-booted/re-initialized since snmpEngineID was last configured; and,
- snmpEngineIDが最後に構成されてから、SNMPエンジンが再起動/再初期化された回数のカウントであるsnmpEngineBoots。そして、
- snmpEngineTime, which is the number of seconds since the snmpEngineBoots counter was last incremented.
- snmpEngineTimeは、snmpEngineBootsカウンターが最後にインクリメントされてからの秒数です。
Each SNMP engine is always authoritative with respect to these objects in its own SNMP entity. It is the responsibility of a non-authoritative SNMP engine to synchronize with the authoritative SNMP engine, as appropriate.
各SNMPエンジンは、独自のSNMPエンティティ内のこれらのオブジェクトに関して常に信頼できます。権限のあるSNMPエンジンと適切に同期するのは、権限のないSNMPエンジンの責任です。
An authoritative SNMP engine is required to maintain the values of its snmpEngineID and snmpEngineBoots in non-volatile storage.
snmpEngineIDおよびsnmpEngineBootsの値を不揮発性ストレージに維持するには、信頼できるSNMPエンジンが必要です。
The msgAuthoritativeEngineID value contained in an authenticated message is used to defeat attacks in which messages from one SNMP engine to another SNMP engine are replayed to a different SNMP engine. It represents the snmpEngineID at the authoritative SNMP engine involved in the exchange of the message.
認証されたメッセージに含まれるmsgAuthoritativeEngineID値は、あるSNMPエンジンから別のSNMPエンジンへのメッセージが別のSNMPエンジンに再生される攻撃を阻止するために使用されます。これは、メッセージの交換に関与する信頼できるSNMPエンジンのsnmpEngineIDを表します。
When an authoritative SNMP engine is first installed, it sets its local value of snmpEngineID according to a enterprise-specific algorithm (see the definition of the Textual Convention for SnmpEngineID in the SNMP Architecture document [RFC2271]).
信頼できるSNMPエンジンが最初にインストールされると、エンタープライズ固有のアルゴリズムに従って、snmpEngineIDのローカル値が設定されます(SNMPアーキテクチャドキュメント[RFC2271]のSnmpEngineIDのテキスト表記法の定義を参照してください)。
The msgAuthoritativeEngineBoots and msgAuthoritativeEngineTime values contained in an authenticated message are used to defeat attacks in which messages are replayed when they are no longer valid. They represent the snmpEngineBoots and snmpEngineTime values at the authoritative SNMP engine involved in the exchange of the message.
認証されたメッセージに含まれるmsgAuthoritativeEngineBootsとmsgAuthoritativeEngineTimeの値は、メッセージが無効になったときにメッセージが再生される攻撃を無効にするために使用されます。これらは、メッセージの交換に関与する信頼できるSNMPエンジンでのsnmpEngineBootsおよびsnmpEngineTime値を表します。
Through use of snmpEngineBoots and snmpEngineTime, there is no requirement for an SNMP engine to have a non-volatile clock which ticks (i.e., increases with the passage of time) even when the SNMP engine is powered off. Rather, each time an SNMP engine re-boots, it retrieves, increments, and then stores snmpEngineBoots in non-volatile storage, and resets snmpEngineTime to zero.
snmpEngineBootsとsnmpEngineTimeを使用することにより、SNMPエンジンの電源がオフの場合でも、SNMPエンジンが刻々と変化する(つまり、時間の経過とともに増加する)不揮発性クロックを使用する必要はありません。むしろ、SNMPエンジンが再起動するたびに、snmpEngineBootsを取得してインクリメントし、不揮発性ストレージに格納して、snmpEngineTimeをゼロにリセットします。
When an SNMP engine is first installed, it sets its local values of snmpEngineBoots and snmpEngineTime to zero. If snmpEngineTime ever reaches its maximum value (2147483647), then snmpEngineBoots is incremented as if the SNMP engine has re-booted and snmpEngineTime is reset to zero and starts incrementing again.
SNMPエンジンが最初にインストールされると、snmpEngineBootsおよびsnmpEngineTimeのローカル値がゼロに設定されます。 snmpEngineTimeが最大値(2147483647)に達すると、SNMPエンジンが再起動されたかのようにsnmpEngineBootsがインクリメントされ、snmpEngineTimeがゼロにリセットされて再度インクリメントが開始されます。
Each time an authoritative SNMP engine re-boots, any SNMP engines holding that authoritative SNMP engine's values of snmpEngineBoots and snmpEngineTime need to re-synchronize prior to sending correctly authenticated messages to that authoritative SNMP engine (see Section 2.3 for (re-)synchronization procedures). Note, however, that the procedures do provide for a notification to be accepted as authentic by a receiving SNMP engine, when sent by an authoritative SNMP engine which has re-booted since the receiving SNMP engine last (re-)synchronized.
信頼できるSNMPエンジンが再起動するたびに、その信頼できるSNMPエンジンのsnmpEngineBootsとsnmpEngineTimeの値を保持するすべてのSNMPエンジンは、正しく認証されたメッセージをその信頼できるSNMPエンジンに送信する前に再同期する必要があります((再)同期手順については、セクション2.3を参照してください) )。ただし、この手順では、受信側のSNMPエンジンが最後に(再)同期してから再起動した信頼できるSNMPエンジンから送信された場合に、受信側のSNMPエンジンによって認証済みとして通知が受け入れられることに注意してください。
If an authoritative SNMP engine is ever unable to determine its latest snmpEngineBoots value, then it must set its snmpEngineBoots value to 2147483647.
信頼できるSNMPエンジンが最新のsnmpEngineBoots値を判別できない場合は、snmpEngineBoots値を2147483647に設定する必要があります。
Whenever the local value of snmpEngineBoots has the value 2147483647 it latches at that value and an authenticated message always causes an notInTimeWindow authentication failure.
snmpEngineBootsのローカル値の値が2147483647である場合は常に、その値でラッチされ、認証されたメッセージは常にnotInTimeWindow認証の失敗を引き起こします。
In order to reset an SNMP engine whose snmpEngineBoots value has reached the value 2147483647, manual intervention is required. The engine must be physically visited and re-configured, either with a new snmpEngineID value, or with new secret values for the authentication and privacy protocols of all users known to that SNMP engine. Note that even if an SNMP engine re-boots once a second that it would still take approximately 68 years before the max value of 2147483647 would be reached.
snmpEngineBoots値が値2147483647に達したSNMPエンジンをリセットするには、手動による介入が必要です。新しいsnmpEngineID値、またはそのSNMPエンジンに認識されているすべてのユーザーの認証プロトコルとプライバシープロトコルの新しいシークレット値を使用して、エンジンを物理的に訪問して再構成する必要があります。 SNMPエンジンが1秒に1回再起動しても、最大値の2147483647に達するまでに約68年かかることに注意してください。
The Time Window is a value that specifies the window of time in which a message generated on behalf of any user is valid. This memo specifies that the same value of the Time Window, 150 seconds, is used for all users.
Time Windowは、ユーザーに代わって生成されたメッセージが有効である時間枠を指定する値です。このメモは、タイムウィンドウの同じ値である150秒がすべてのユーザーに使用されることを指定しています。
Time synchronization, required by a non-authoritative SNMP engine in order to proceed with authentic communications, has occurred when the non-authoritative SNMP engine has obtained a local notion of the authoritative SNMP engine's values of snmpEngineBoots and snmpEngineTime from the authoritative SNMP engine. These values must be (and remain) within the authoritative SNMP engine's Time Window. So the local notion of the authoritative SNMP engine's values must be kept loosely synchronized with the values stored at the authoritative SNMP engine. In addition to keeping a local copy of snmpEngineBoots and snmpEngineTime from the authoritative SNMP engine, a non-authoritative SNMP engine must also keep one local variable, latestReceivedEngineTime. This value records the highest value of snmpEngineTime that was received by the non-authoritative SNMP engine from the authoritative SNMP engine and is used to eliminate the possibility of replaying messages that would prevent the non-authoritative SNMP engine's notion of the snmpEngineTime from advancing.
信頼できないSNMPエンジンが信頼できるSNMPエンジンからsnmpEngineBootsとsnmpEngineTimeの信頼できるSNMPエンジンの値のローカルの概念を信頼できるSNMPエンジンから取得したときに、信頼できないSNMPエンジンが必要とする時刻同期が発生しました。これらの値は、信頼できるSNMPエンジンのタイムウィンドウ内にある必要があります(そしてそのままです)。したがって、信頼できるSNMPエンジンの値のローカルな概念は、信頼できるSNMPエンジンに格納されている値と緩やかに同期させておく必要があります。権限のあるSNMPエンジンからのsnmpEngineBootsおよびsnmpEngineTimeのローカルコピーを保持することに加えて、権限のないSNMPエンジンは、1つのローカル変数latestReceivedEngineTimeも保持する必要があります。この値は、権限のないSNMPエンジンが権限のあるSNMPエンジンから受信したsnmpEngineTimeの最高値を記録し、権限のないSNMPエンジンによるsnmpEngineTimeの概念の進行を妨げるメッセージを再生する可能性を排除するために使用されます。
A non-authoritative SNMP engine must keep local notions of these values for each authoritative SNMP engine with which it wishes to communicate. Since each authoritative SNMP engine is uniquely and unambiguously identified by its value of snmpEngineID, the non-authoritative SNMP engine may use this value as a key in order to cache its local notions of these values.
権限のないSNMPエンジンは、通信する権限のあるSNMPエンジンごとに、これらの値のローカルな概念を維持する必要があります。信頼できる各SNMPエンジンは、snmpEngineIDの値によって一意かつ明確に識別されるため、信頼できないSNMPエンジンは、これらの値のローカルの概念をキャッシュするために、この値をキーとして使用できます。
Time synchronization occurs as part of the procedures of receiving an SNMP message (Section 3.2, step 7b). As such, no explicit time synchronization procedure is required by a non-authoritative SNMP engine. Note, that whenever the local value of snmpEngineID is changed (e.g., through discovery) or when secure communications are first established with an authoritative SNMP engine, the local values of snmpEngineBoots and latestReceivedEngineTime should be set to zero. This will cause the time synchronization to occur when the next authentic message is received.
時間同期は、SNMPメッセージを受信する手順の一部として発生します(セクション3.2、ステップ7b)。そのため、権限のないSNMPエンジンでは、明示的な時刻同期手順は必要ありません。 snmpEngineIDのローカル値が変更されたとき(たとえば、検出によって)、または信頼できるSNMPエンジンと最初に安全な通信が確立されたときは常に、snmpEngineBootsおよびlatestReceivedEngineTimeのローカル値をゼロに設定する必要があります。これにより、次の認証メッセージが受信されたときに時刻同期が発生します。
The syntax of an SNMP message using this Security Model adheres to the message format defined in the version-specific Message Processing Model document (for example [RFC2272]).
このセキュリティモデルを使用するSNMPメッセージの構文は、バージョン固有のメッセージ処理モデルドキュメント([RFC2272]など)で定義されているメッセージ形式に準拠しています。
The field msgSecurityParameters in SNMPv3 messages has a data type of OCTET STRING. Its value is the BER serialization of the following ASN.1 sequence:
SNMPv3メッセージのフィールドmsgSecurityParametersのデータタイプはOCTET STRINGです。その値は、次のASN.1シーケンスのBERシリアル化です。
USMSecurityParametersSyntax DEFINITIONS IMPLICIT TAGS ::= BEGIN
UsmSecurityParameters ::= SEQUENCE { -- global User-based security parameters msgAuthoritativeEngineID OCTET STRING, msgAuthoritativeEngineBoots INTEGER (0..2147483647), msgAuthoritativeEngineTime INTEGER (0..2147483647), msgUserName OCTET STRING (SIZE(1..32)), -- authentication protocol specific parameters msgAuthenticationParameters OCTET STRING, -- privacy protocol specific parameters msgPrivacyParameters OCTET STRING } END
The fields of this sequence are:
このシーケンスのフィールドは次のとおりです。
- The msgAuthoritativeEngineID specifies the snmpEngineID of the authoritative SNMP engine involved in the exchange of the message.
- msgAuthoritativeEngineIDは、メッセージの交換に関与する信頼できるSNMPエンジンのsnmpEngineIDを指定します。
- The msgAuthoritativeEngineBoots specifies the snmpEngineBoots value at the authoritative SNMP engine involved in the exchange of the message.
- msgAuthoritativeEngineBootsは、メッセージの交換に関与する信頼できるSNMPエンジンでのsnmpEngineBoots値を指定します。
- The msgAuthoritativeEngineTime specifies the snmpEngineTime value at the authoritative SNMP engine involved in the exchange of the message.
- msgAuthoritativeEngineTimeは、メッセージの交換に関与する信頼できるSNMPエンジンでのsnmpEngineTime値を指定します。
- The msgUserName specifies the user (principal) on whose behalf the message is being exchanged.
- msgUserNameは、メッセージが交換されるユーザー(プリンシパル)を指定します。
- The msgAuthenticationParameters are defined by the authentication protocol in use for the message, as defined by the usmUserAuthProtocol column in the user's entry in the usmUserTable.
- msgAuthenticationParametersは、usmUserTableのユーザーのエントリのusmUserAuthProtocol列で定義されているように、メッセージに使用されている認証プロトコルによって定義されます。
- The msgPrivacyParameters are defined by the privacy protocol in use for the message, as defined by the usmUserPrivProtocol column in the user's entry in the usmUserTable).
- msgPrivacyParametersは、メッセージに使用されているプライバシープロトコルによって定義されます。これは、usmUserTableのユーザーのエントリにあるusmUserPrivProtocol列で定義されています。
See appendix A.4 for an example of the BER encoding of field msgSecurityParameters.
フィールドmsgSecurityParametersのBERエンコードの例については、付録A.4を参照してください。
This section describes the services provided by the User-based Security Model with their inputs and outputs.
このセクションでは、ユーザーベースのセキュリティモデルによって提供されるサービスとその入力および出力について説明します。
The services are described as primitives of an abstract service interface and the inputs and outputs are described as abstract data elements as they are passed in these abstract service primitives.
サービスは抽象サービスインターフェイスのプリミティブとして記述され、入力と出力はこれらの抽象サービスプリミティブで渡されるため、抽象データ要素として記述されます。
When the Message Processing (MP) Subsystem invokes the User-based Security module to secure an outgoing SNMP message, it must use the appropriate service as provided by the Security module. These two services are provided:
メッセージ処理(MP)サブシステムがユーザーベースのセキュリティモジュールを呼び出して発信SNMPメッセージを保護する場合、セキュリティモジュールが提供する適切なサービスを使用する必要があります。次の2つのサービスが提供されます。
1) A service to generate a Request message. The abstract service primitive is:
1)リクエストメッセージを生成するサービス。抽象サービスプリミティブは次のとおりです。
statusInformation = -- success or errorIndication generateRequestMsg( IN messageProcessingModel -- typically, SNMP version IN globalData -- message header, admin data IN maxMessageSize -- of the sending SNMP entity IN securityModel -- for the outgoing message IN securityEngineID -- authoritative SNMP entity IN securityName -- on behalf of this principal IN securityLevel -- Level of Security requested IN scopedPDU -- message (plaintext) payload OUT securityParameters -- filled in by Security Module OUT wholeMsg -- complete generated message OUT wholeMsgLength -- length of generated message )
statusInformation =-成功またはerrorIndication generateRequestMsg(IN messageProcessingModel-通常、SNMPバージョンIN globalData-メッセージヘッダー、管理データIN maxMessageSize-送信SNMPエンティティのIN securityModel-送信メッセージのIN securityEngineID-信頼できるSNMPエンティティIN securityName-このプリンシパルに代わってIN securityLevel-要求されたセキュリティのレベルIN scopedPDU-メッセージ(プレーンテキスト)ペイロードOUT securityParameters-セキュリティモジュールによって記入されますOUT wholeMsg-生成されたメッセージの完全なOUT wholeMsgLength-生成されたメッセージの長さ)
2) A service to generate a Response message. The abstract service primitive is: statusInformation = -- success or errorIndication generateResponseMsg( IN messageProcessingModel -- typically, SNMP version IN globalData -- message header, admin data IN maxMessageSize -- of the sending SNMP entity IN securityModel -- for the outgoing message IN securityEngineID -- authoritative SNMP entity IN securityName -- on behalf of this principal IN securityLevel -- Level of Security requested IN scopedPDU -- message (plaintext) payload IN securityStateReference -- reference to security state -- information from original -- request OUT securityParameters -- filled in by Security Module OUT wholeMsg -- complete generated message OUT wholeMsgLength -- length of generated message )
2)応答メッセージを生成するサービス。抽象サービスプリミティブは次のとおりです。statusInformation =-successまたはerrorIndication generateResponseMsg(IN messageProcessingModel-通常、SNMPバージョンIN globalData-メッセージヘッダー、管理データIN maxMessageSize-送信SNMPエンティティIN securityModel-送信メッセージIN securityEngineID-信頼できるSNMPエンティティIN securityName-このプリンシパルに代わってIN securityLevel-要求されるセキュリティのレベルIN scopedPDU-メッセージ(プレーンテキスト)ペイロードIN securityStateReference-セキュリティ状態への参照-元の情報-要求OUT securityParameters -セキュリティモジュールOUT wholeMsgによって埋められます-完全に生成されたメッセージOUT wholeMsgLength-生成されたメッセージの長さ)
The abstract data elements passed as parameters in the abstract service primitives are as follows:
抽象サービスプリミティブのパラメーターとして渡される抽象データ要素は次のとおりです。
statusInformation An indication of whether the encoding and securing of the message was successful. If not it is an indication of the problem. essageProcessingModel The SNMP version number for the message to be generated. This data is not used by the User-based Security module. globalData The message header (i.e., its administrative information). This data is not used by the User-based Security module. maxMessageSize The maximum message size as included in the message. This data is not used by the User-based Security module. securityParameters These are the security parameters. They will be filled in by the User-based Security module. securityModel The securityModel in use. Should be User-based Security Model. This data is not used by the User-based Security module. securityName Together with the snmpEngineID it identifies a row in the usmUserTable that is to be used for securing the message. The securityName has a format that is independent of the Security Model. In case of a response this parameter is ignored and the value from the cache is used. securityLevel The Level of Security from which the User-based Security module determines if the message needs to be protected from disclosure and if the message needs to be authenticated. In case of a response this parameter is ignored and the value from the cache is used. securityEngineID The snmpEngineID of the authoritative SNMP engine to which a Request message is to be sent. In case of a response it is implied to be the processing SNMP engine's snmpEngineID and so if it is specified, then it is ignored. scopedPDU The message payload. The data is opaque as far as the User-based Security Model is concerned. securityStateReference A handle/reference to cachedSecurityData to be used when securing an outgoing Response message. This is the exact same handle/reference as it was generated by the User-based Security module when processing the incoming Request message to which this is the Response message. wholeMsg The fully encoded and secured message ready for sending on the wire. wholeMsgLength The length of the encoded and secured message (wholeMsg).
statusInformationメッセージのエンコードと保護が成功したかどうかを示します。そうでない場合は、問題の兆候です。 essageProcessingModel生成されるメッセージのSNMPバージョン番号。このデータは、ユーザーベースのセキュリティモジュールでは使用されません。 globalDataメッセージヘッダー(管理情報など)。このデータは、ユーザーベースのセキュリティモジュールでは使用されません。 maxMessageSizeメッセージに含まれる最大メッセージサイズ。このデータは、ユーザーベースのセキュリティモジュールでは使用されません。 securityParametersこれらはセキュリティパラメータです。これらは、ユーザーベースのセキュリティモジュールによって入力されます。 securityModel使用中のsecurityModel。ユーザーベースのセキュリティモデルである必要があります。このデータは、ユーザーベースのセキュリティモジュールでは使用されません。 securityName snmpEngineIDとともに、メッセージの保護に使用されるusmUserTableの行を識別します。 securityNameの形式は、セキュリティモデルから独立しています。応答の場合、このパラメーターは無視され、キャッシュからの値が使用されます。 securityLevelユーザーベースのセキュリティモジュールがメッセージを開示から保護する必要があるかどうか、およびメッセージを認証する必要があるかどうかを決定するセキュリティのレベル。応答の場合、このパラメーターは無視され、キャッシュからの値が使用されます。 securityEngineID要求メッセージの送信先となる信頼できるSNMPエンジンのsnmpEngineID。応答の場合、それは処理中のSNMPエンジンのsnmpEngineIDであることが暗黙に示されているため、指定されても無視されます。 scopedPDUメッセージのペイロード。ユーザーベースのセキュリティモデルに関する限り、データは不透明です。 securityStateReference発信応答メッセージを保護するときに使用されるcachedSecurityDataへのハンドル/参照。これは、これが応答メッセージである着信要求メッセージを処理するときにユーザーベースのセキュリティモジュールによって生成されたものとまったく同じハンドル/参照です。 wholeMsgネットワーク上で送信する準備ができている完全にエンコードされ、保護されたメッセージ。 wholeMsgLengthエンコードおよび保護されたメッセージ(wholeMsg)の長さ。
Upon completion of the process, the User-based Security module returns statusInformation. If the process was successful, the completed message with privacy and authentication applied if such was requested by the specified securityLevel is returned. If the process was not successful, then an errorIndication is returned.
プロセスが完了すると、ユーザーベースのセキュリティモジュールはstatusInformationを返します。プロセスが成功した場合、指定されたsecurityLevelによって要求された場合にプライバシーと認証が適用された、完了したメッセージが返されます。プロセスが成功しなかった場合は、errorIndicationが返されます。
When the Message Processing (MP) Subsystem invokes the User-based Security module to verify proper security of an incoming message, it must use the service provided for an incoming message. The abstract service primitive is:
メッセージ処理(MP)サブシステムがユーザーベースのセキュリティモジュールを呼び出して着信メッセージの適切なセキュリティを確認する場合、着信メッセージ用に提供されているサービスを使用する必要があります。抽象サービスプリミティブは次のとおりです。
statusInformation = -- errorIndication or success -- error counter OID/value if error processIncomingMsg( IN messageProcessingModel -- typically, SNMP version IN maxMessageSize -- of the sending SNMP entity IN securityParameters -- for the received message IN securityModel -- for the received message IN securityLevel -- Level of Security IN wholeMsg -- as received on the wire IN wholeMsgLength -- length as received on the wire OUT securityEngineID -- authoritative SNMP entity OUT securityName -- identification of the principal OUT scopedPDU, -- message (plaintext) payload OUT maxSizeResponseScopedPDU -- maximum size of the Response PDU OUT securityStateReference -- reference to security state ) -- information, needed for response
statusInformation =-errorIndicationまたはsuccess-エラーカウンターOID /値(エラーの場合)processIncomingMsg(IN messageProcessingModel-通常、SNMPバージョンIN maxMessageSize-送信SNMPエンティティのIN securityParameters-受信メッセージの場合IN securityModel-受信の場合メッセージIN securityLevel-セキュリティのレベルIN wholeMsg-回線上で受信したときIN wholeMsgLength-回線上で受信したときの長さOUT securityEngineID-信頼できるSNMPエンティティOUT securityName-主要なOUTスコープPDUの識別-メッセージ(平文)ペイロードOUT maxSizeResponseScopedPDU-応答PDU OUTの最大サイズsecurityStateReference-セキュリティ状態への参照)-情報、応答に必要
The abstract data elements passed as parameters in the abstract service primitives are as follows:
抽象サービスプリミティブのパラメーターとして渡される抽象データ要素は次のとおりです。
statusInformation An indication of whether the process was successful or not. If not, then the statusInformation includes the OID and the value of the error counter that was incremented. messageProcessingModel The SNMP version number as received in the message. This data is not used by the User-based Security module. maxMessageSize The maximum message size as included in the message. The User-based Security module uses this value to calculate the maxSizeResponseScopedPDU. securityParameters These are the security parameters as received in the message. securityModel The securityModel in use. Should be the User-based Security Model. This data is not used by the User-based Security module. securityLevel The Level of Security from which the User-based Security module determines if the message needs to be protected from disclosure and if the message needs to be authenticated. wholeMsg The whole message as it was received. wholeMsgLength The length of the message as it was received (wholeMsg). securityEngineID The snmpEngineID that was extracted from the field msgAuthoritativeEngineID and that was used to lookup the secrets in the usmUserTable. securityName The security name representing the user on whose behalf the message was received. The securityName has a format that is independent of the Security Model. scopedPDU The message payload. The data is opaque as far as the User-based Security Model is concerned. maxSizeResponseScopedPDU The maximum size of a scopedPDU to be included in a possible Response message. The User-base Security module calculates this size based on the mms (as received in the message) and the space required for the message header (including the securityParameters) for such a Response message. securityStateReference A handle/reference to cachedSecurityData to be used when securing an outgoing Response message. When the Message Processing Subsystem calls the User-based Security module to generate a response to this incoming message it must pass this handle/reference.
statusInformationプロセスが成功したかどうかを示します。そうでない場合、statusInformationにはOIDおよびインクリメントされたエラーカウンタの値が含まれます。 messageProcessingModelメッセージで受信されたSNMPバージョン番号。このデータは、ユーザーベースのセキュリティモジュールでは使用されません。 maxMessageSizeメッセージに含まれる最大メッセージサイズ。ユーザーベースのセキュリティモジュールは、この値を使用してmaxSizeResponseScopedPDUを計算します。 securityParametersこれらは、メッセージで受信されたセキュリティパラメータです。 securityModel使用中のsecurityModel。ユーザーベースのセキュリティモデルである必要があります。このデータは、ユーザーベースのセキュリティモジュールでは使用されません。 securityLevelユーザーベースのセキュリティモジュールがメッセージを開示から保護する必要があるかどうか、およびメッセージを認証する必要があるかどうかを決定するセキュリティのレベル。 wholeMsg受信したメッセージ全体。 wholeMsgLength受信時のメッセージの長さ(wholeMsg)。 securityEngineID msgAuthoritativeEngineIDフィールドから抽出され、usmUserTableのシークレットを検索するために使用されたsnmpEngineID。 securityNameメッセージを受信したユーザーのセキュリティ名。 securityNameの形式は、セキュリティモデルから独立しています。 scopedPDUメッセージのペイロード。ユーザーベースのセキュリティモデルに関する限り、データは不透明です。 maxSizeResponseScopedPDU可能な応答メッセージに含まれるscopedPDUの最大サイズ。ユーザーベースのセキュリティモジュールは、mms(メッセージで受信されたとおり)とそのような応答メッセージのメッセージヘッダー(securityParametersを含む)に必要なスペースに基づいてこのサイズを計算します。 securityStateReference発信応答メッセージを保護するときに使用されるcachedSecurityDataへのハンドル/参照。メッセージ処理サブシステムがユーザーベースのセキュリティモジュールを呼び出してこの着信メッセージへの応答を生成する場合、このハンドル/参照を渡す必要があります。
Upon completion of the process, the User-based Security module returns statusInformation and, if the process was successful, the additional data elements for further processing of the message. If the process was not successful, then an errorIndication, possibly with a OID and value pair of an error counter that was incremented.
プロセスが完了すると、ユーザーベースのセキュリティモジュールはstatusInformationを返し、プロセスが成功した場合は、メッセージをさらに処理するための追加のデータ要素を返します。プロセスが成功しなかった場合、errorIndication、おそらくインクリメントされたエラーカウンターのOIDと値のペア。
2.6. Key Localization Algorithm.
2.6. キーローカリゼーションアルゴリズム。
A localized key is a secret key shared between a user U and one authoritative SNMP engine E. Even though a user may have only one password and therefore one key for the whole network, the actual secrets shared between the user and each authoritative SNMP engine will be different. This is achieved by key localization [Localized-key].
ローカライズされたキーは、ユーザーUと1つの信頼できるSNMPエンジンEの間で共有される秘密キーです。ユーザーはパスワードを1つしか持たないため、ネットワーク全体で1つのキーを使用できますが、ユーザーと各信頼できるSNMPエンジンの間で共有される実際の秘密は異なる。これは、キーのローカリゼーション[Localized-key]によって実現されます。
First, if a user uses a password, then the user's password is converted into a key Ku using one of the two algorithms described in Appendices A.2.1 and A.2.2.
まず、ユーザーがパスワードを使用する場合、ユーザーのパスワードは、付録A.2.1とA.2.2で説明されている2つのアルゴリズムのいずれかを使用してキーKuに変換されます。
To convert key Ku into a localized key Kul of user U at the authoritative SNMP engine E, one appends the snmpEngineID of the authoritative SNMP engine to the key Ku and then appends the key Ku to the result, thus enveloping the snmpEngineID within the two copies of user's key Ku. Then one runs a secure hash function (which one depends on the authentication protocol defined for this user U at authoritative SNMP engine E; this document defines two authentication protocols with their associated algorithms based on MD5 and SHA). The output of the hash-function is the localized key Kul for user U at the authoritative SNMP engine E.
権限のあるSNMPエンジンEでキーUをユーザーUのローカライズされたキーKulに変換するには、権限のあるSNMPエンジンのsnmpEngineIDをキーKuに追加し、結果にキーKuを追加して、2つのコピー内でsnmpEngineIDを囲みます。ユーザーのキーKuの。次に、安全なハッシュ関数を実行します(これは、信頼できるSNMPエンジンEでこのユーザーUに対して定義された認証プロトコルに依存します。このドキュメントでは、MD5およびSHAに基づく関連アルゴリズムを使用して2つの認証プロトコルを定義します)。ハッシュ関数の出力は、信頼できるSNMPエンジンEのユーザーUのローカライズされたキーKulです。
This section describes the security related procedures followed by an SNMP engine when processing SNMP messages according to the User-based Security Model.
このセクションでは、ユーザーベースのセキュリティモデルに従ってSNMPメッセージを処理するときにSNMPエンジンが実行するセキュリティ関連の手順について説明します。
This section describes the procedure followed by an SNMP engine whenever it generates a message containing a management operation (like a request, a response, a notification, or a report) on behalf of a user, with a particular securityLevel.
このセクションでは、特定のsecurityLevelを使用して、ユーザーに代わって管理操作(要求、応答、通知、レポートなど)を含むメッセージを生成するときに、SNMPエンジンが従う手順について説明します。
1) a) If any securityStateReference is passed (Response message), then information concerning the user is extracted from the cachedSecurityData. The securityEngineID and the securityLevel are extracted from the cachedSecurityData. The cachedSecurityData can now be discarded.
1)a)securityStateReferenceが渡された場合(応答メッセージ)、ユーザーに関する情報がcachedSecurityDataから抽出されます。 securityEngineIDとsecurityLevelは、cachedSecurityDataから抽出されます。 cachedSecurityDataを破棄できるようになりました。
Otherwise,
さもないと、
b) based on the securityName, information concerning the user at the destination snmpEngineID, specified by the securityEngineID, is extracted from the Local Configuration Datastore (LCD, usmUserTable). If information about the user is absent from the LCD, then an error indication (unknownSecurityName) is returned to the calling module.
b) securityNameに基づいて、securityEngineIDで指定された宛先snmpEngineIDのユーザーに関する情報がローカル構成データストア(LCD、usmUserTable)から抽出されます。ユーザーに関する情報がLCDにない場合は、エラー表示(unknownSecurityName)が呼び出し側モジュールに返されます。
2) If the securityLevel specifies that the message is to be protected from disclosure, but the user does not support both an authentication and a privacy protocol then the message cannot be sent. An error indication (unsupportedSecurityLevel) is returned to the calling module.
2)securityLevelがメッセージを開示から保護することを指定しているが、ユーザーが認証とプライバシープロトコルの両方をサポートしていない場合、メッセージは送信できません。エラー表示(unsupportedSecurityLevel)が呼び出し側モジュールに返されます。
3) If the securityLevel specifies that the message is to be authenticated, but the user does not support an authentication protocol, then the message cannot be sent. An error indication (unsupportedSecurityLevel) is returned to the calling module.
3)securityLevelでメッセージの認証が指定されているが、ユーザーが認証プロトコルをサポートしていない場合、メッセージを送信できません。エラー表示(unsupportedSecurityLevel)が呼び出し側モジュールに返されます。
4) a) If the securityLevel specifies that the message is to be protected from disclosure, then the octet sequence representing the serialized scopedPDU is encrypted according to the user's privacy protocol. To do so a call is made to the privacy module that implements the user's privacy protocol according to the abstract primitive:
4)a)securityLevelで、メッセージを開示から保護するように指定されている場合、シリアル化されたscopedPDUを表すオクテットシーケンスは、ユーザーのプライバシープロトコルに従って暗号化されます。これを行うには、抽象プリミティブに従ってユーザーのプライバシープロトコルを実装するプライバシーモジュールを呼び出します。
statusInformation = -- success or failure encryptData( IN encryptKey -- user's localized privKey IN dataToEncrypt -- serialized scopedPDU OUT encryptedData -- serialized encryptedPDU OUT privParameters -- serialized privacy parameters )
statusInformation =-成功または失敗encryptData(IN encryptKey-ユーザーのローカライズされたprivKey IN dataToEncrypt-シリアル化されたscopedPDU OUT encryptedData-シリアル化されたencryptedPDU OUT privParameters-シリアル化されたプライバシーパラメーター)
statusInformation indicates if the encryption process was successful or not. encryptKey the user's localized private privKey is the secret key that can be used by the encryption algorithm. dataToEncrypt the serialized scopedPDU is the data that to be encrypted. encryptedData the encryptedPDU represents the encrypted scopedPDU, encoded as an OCTET STRING. privParameters the privacy parameters, encoded as an OCTET STRING.
statusInformationは、暗号化プロセスが成功したかどうかを示します。ユーザーのローカライズされたプライベートprivKeyは、暗号化アルゴリズムで使用できる秘密鍵です。 dataToEncryptは、シリアル化されたscopedPDUが暗号化されるデータです。 encryptedData encryptedPDUは、OCTET STRINGとしてエンコードされた、暗号化されたscopedPDUを表します。 privParametersは、OCTET STRINGとしてエンコードされたプライバシーパラメータです。
If the privacy module returns failure, then the message cannot be sent and an error indication (encryptionError) is returned to the calling module.
プライバシーモジュールが失敗を返す場合、メッセージは送信できず、エラー表示(encryptionError)が呼び出し側モジュールに返されます。
If the privacy module returns success, then the returned privParameters are put into the msgPrivacyParameters field of the securityParameters and the encryptedPDU serves as the payload of the message being prepared.
プライバシーモジュールが成功を返す場合、返されたprivParametersはsecurityParametersのmsgPrivacyParametersフィールドに入れられ、encryptedPDUは準備中のメッセージのペイロードとして機能します。
Otherwise,
さもないと、
b) If the securityLevel specifies that the message is not to be protected from disclosure, then the NULL string is encoded as an OCTET STRING and put into the msgPrivacyParameters field of the securityParameters and the plaintext scopedPDU serves as the payload of the message being prepared.
b) securityLevelがメッセージを開示から保護しないことを指定している場合、NULL文字列はOCTET STRINGとしてエンコードされ、securityParametersのmsgPrivacyParametersフィールドに入れられます。プレーンテキストのscopedPDUは、準備されるメッセージのペイロードとして機能します。
5) The snmpEngineID is encoded as an OCTET STRING into the msgAuthoritativeEngineID field of the securityParameters. Note that an empty (zero length) snmpEngineID is OK for a Request message, because that will cause the remote (authoritative) SNMP engine to return a Report PDU with the proper snmpEngineID included in the msgAuthoritativeEngineID in the securityParameters of that returned Report PDU.
5)snmpEngineIDは、OCTET STRINGとしてsecurityParametersのmsgAuthoritativeEngineIDフィールドにエンコードされます。リモート(権限のある)SNMPエンジンが、返されたレポートPDUのsecurityParametersのmsgAuthoritativeEngineIDに含まれている適切なsnmpEngineIDを使用してレポートPDUを返すため、空(長さがゼロ)のsnmpEngineIDは要求メッセージに対してOKであることに注意してください。
6) a) If the securityLevel specifies that the message is to be authenticated, then the current values of snmpEngineBoots and snmpEngineTime corresponding to the snmpEngineID from the LCD are used.
6)a)メッセージが認証されることをsecurityLevelが指定する場合、LCDからのsnmpEngineIDに対応するsnmpEngineBootsおよびsnmpEngineTimeの現在の値が使用されます。
Otherwise,
さもないと、
b) If this is a Response message, then the current value of snmpEngineBoots and snmpEngineTime corresponding to the local snmpEngineID from the LCD are used.
b) これが応答メッセージの場合、LCDからのローカルのsnmpEngineIDに対応するsnmpEngineBootsおよびsnmpEngineTimeの現在の値が使用されます。
Otherwise,
さもないと、
c) If this is a Request message, then a zero value is used for both snmpEngineBoots and snmpEngineTime. This zero value gets used if snmpEngineID is empty.
c) これが要求メッセージの場合、snmpEngineBootsとsnmpEngineTimeの両方にゼロの値が使用されます。このゼロ値は、snmpEngineIDが空の場合に使用されます。
The values are encoded as INTEGER respectively into the msgAuthoritativeEngineBoots and msgAuthoritativeEngineTime fields of the securityParameters.
値は、それぞれINTEGERとしてエンコードされ、securityParametersのmsgAuthoritativeEngineBootsおよびmsgAuthoritativeEngineTimeフィールドに入力されます。
7) The userName is encoded as an OCTET STRING into the msgUserName field of the securityParameters.
7)userNameは、OCTET STRINGとしてsecurityParametersのmsgUserNameフィールドにエンコードされます。
8) a) If the securityLevel specifies that the message is to be authenticated, the message is authenticated according to the user's authentication protocol. To do so a call is made to the authentication module that implements the user's authentication protocol according to the abstract service primitive:
8)a)メッセージが認証されることをsecurityLevelが指定した場合、メッセージはユーザーの認証プロトコルに従って認証されます。これを行うには、抽象サービスプリミティブに従ってユーザーの認証プロトコルを実装する認証モジュールを呼び出します。
statusInformation = authenticateOutgoingMsg( IN authKey -- the user's localized authKey IN wholeMsg -- unauthenticated message OUT authenticatedWholeMsg -- authenticated complete message )
statusInformation = authenticateOutgoingMsg(IN authKey-ユーザーのローカライズされたauthKey IN wholeMsg-認証されていないメッセージOUT authenticationWholeMsg-認証された完全なメッセージ)
statusInformation indicates if authentication was successful or not. authKey the user's localized private authKey is the secret key that can be used by the authentication algorithm. wholeMsg the complete serialized message to be authenticated. authenticatedWholeMsg the same as the input given to the authenticateOutgoingMsg service, but with msgAuthenticationParameters properly filled in.
statusInformationは、認証が成功したかどうかを示します。 authKeyユーザーのローカライズされたプライベートauthKeyは、認証アルゴリズムで使用できる秘密鍵です。 wholeMsg認証される完全なシリアル化されたメッセージ。 authenticationWholeMsgは、authenticateOutgoingMsgサービスへの入力と同じですが、msgAuthenticationParametersが適切に入力されています。
If the authentication module returns failure, then the message cannot be sent and an error indication (authenticationFailure) is returned to the calling module.
認証モジュールが失敗を返す場合、メッセージは送信できず、エラー表示(authenticationFailure)が呼び出し側モジュールに返されます。
If the authentication module returns success, then the msgAuthenticationParameters field is put into the securityParameters and the authenticatedWholeMsg represents the serialization of the authenticated message being prepared.
認証モジュールが成功を返すと、msgAuthenticationParametersフィールドがsecurityParametersに入れられ、authenticationWholeMsgは準備中の認証済みメッセージのシリアル化を表します。
Otherwise,
さもないと、
b) If the securityLevel specifies that the message is not to be authenticated then the NULL string is encoded as an OCTET STRING into the msgAuthenticationParameters field of the securityParameters. The wholeMsg is now serialized and then represents the unauthenticated message being prepared.
b) securityLevelでメッセージが認証されないように指定されている場合、NULL文字列はOCTET STRINGとしてsecurityParametersのmsgAuthenticationParametersフィールドにエンコードされます。 wholeMsgはシリアル化され、準備中の未認証メッセージを表します。
9) The completed message with its length is returned to the calling module with the statusInformation set to success.
9)完了したメッセージとその長さは、statusInformationが成功に設定された状態で呼び出しモジュールに返されます。
This section describes the procedure followed by an SNMP engine whenever it receives a message containing a management operation on behalf of a user, with a particular securityLevel.
このセクションでは、特定のsecurityLevelを持つユーザーに代わって管理操作を含むメッセージを受信するたびに、SNMPエンジンが従う手順について説明します。
To simplify the elements of procedure, the release of state information is not always explicitly specified. As a general rule, if state information is available when a message gets discarded, the state information should also be released. Also, when an error indication with an OID and value for an incremented counter is returned, then the available information (like securityStateReference) must be passed back to the caller so it can generate a Report PDU.
手順の要素を簡略化するために、状態情報のリリースは常に明示的に指定されるとは限りません。原則として、メッセージが破棄されたときに状態情報が利用可能な場合は、状態情報も解放する必要があります。また、インクリメントされたカウンターのOIDと値を持つエラー表示が返された場合、レポートPDUを生成できるように、利用可能な情報(securityStateReferenceなど)を呼び出し元に返す必要があります。
1) If the received securityParameters is not the serialization (according to the conventions of [RFC1906]) of an OCTET STRING formatted according to the UsmSecurityParameters defined in section 2.4, then the snmpInASNParseErrs counter [RFC1907] is incremented, and an error indication (parseError) is returned to the calling module. Note that we return without the OID and value of the incremented counter, because in this case there is not enough information to generate a Report PDU.
1)セクション2.4で定義されたUsmSecurityParametersに従ってフォーマットされたOCTET STRINGの([RFC1906]の規約に従って)受信したsecurityParametersがシリアル化されていない場合、snmpInASNParseErrsカウンター[RFC1907]がインクリメントされ、エラー表示(parseError )が呼び出しモジュールに返されます。この場合、レポートPDUを生成するのに十分な情報がないため、インクリメントされたカウンターのOIDと値なしで戻ることに注意してください。
2) The values of the security parameter fields are extracted from the securityParameters. The securityEngineID to be returned to the caller is the value of the msgAuthoritativeEngineID field. The cachedSecurityData is prepared and a securityStateReference is prepared to reference this data. Values to be cached are:
2)セキュリティパラメータフィールドの値は、securityParametersから抽出されます。呼び出し元に返されるsecurityEngineIDは、msgAuthoritativeEngineIDフィールドの値です。 cachedSecurityDataが準備され、このデータを参照するためにsecurityStateReferenceが準備されます。キャッシュされる値は次のとおりです。
msgUserName securityEngineID securityLevel
msgUserName securityEngineID securityLevel
3) If the value of the msgAuthoritativeEngineID field in the securityParameters is unknown then: a) a non-authoritative SNMP engine that performs discovery may optionally create a new entry in its Local Configuration Datastore (LCD) and continue processing;
3)securityParametersのmsgAuthoritativeEngineIDフィールドの値が不明な場合:a)検出を実行する権限のないSNMPエンジンは、オプションでローカル構成データストア(LCD)に新しいエントリを作成して処理を続行できます。
or
または
b) the usmStatsUnknownEngineIDs counter is incremented, and an error indication (unknownEngineID) together with the OID and value of the incremented counter is returned to the calling module.
b) usmStatsUnknownEngineIDsカウンターがインクリメントされ、インクリメントされたカウンターのOIDおよび値とともにエラー表示(unknownEngineID)が呼び出し側モジュールに返されます。
4) Information about the value of the msgUserName and msgAuthoritativeEngineID fields is extracted from the Local Configuration Datastore (LCD, usmUserTable). If no information is available for the user, then the usmStatsUnknownUserNames counter is incremented and an error indication (unknownSecurityName) together with the OID and value of the incremented counter is returned to the calling module.
4)msgUserNameおよびmsgAuthoritativeEngineIDフィールドの値に関する情報は、ローカル構成データストア(LCD、usmUserTable)から抽出されます。ユーザーが利用できる情報がない場合は、usmStatsUnknownUserNamesカウンターがインクリメントされ、インクリメントされたカウンターのOIDと値とともにエラー表示(unknownSecurityName)が呼び出し側モジュールに返されます。
5) If the information about the user indicates that it does not support the securityLevel requested by the caller, then the usmStatsUnsupportedSecLevels counter is incremented and an error indication (unsupportedSecurityLevel) together with the OID and value of the incremented counter is returned to the calling module.
5)ユーザーに関する情報が、呼び出し元によって要求されたsecurityLevelをサポートしていないことを示している場合、usmStatsUnsupportedSecLevelsカウンターがインクリメントされ、エラー表示(unsupportedSecurityLevel)とOIDおよびインクリメントされたカウンターの値が呼び出しモジュールに返されます。 。
6) If the securityLevel specifies that the message is to be authenticated, then the message is authenticated according to the user's authentication protocol. To do so a call is made to the authentication module that implements the user's authentication protocol according to the abstract service primitive:
6)securityLevelでメッセージの認証が指定されている場合、メッセージはユーザーの認証プロトコルに従って認証されます。これを行うには、抽象サービスプリミティブに従ってユーザーの認証プロトコルを実装する認証モジュールを呼び出します。
statusInformation = -- success or failure authenticateIncomingMsg( IN authKey -- the user's localized authKey IN authParameters -- as received on the wire IN wholeMsg -- as received on the wire OUT authenticatedWholeMsg -- checked for authentication )
statusInformation =-成功または失敗authenticateIncomingMsg(IN authKey-ユーザーのローカライズされたauthKey IN authParameters-ワイヤー上で受信されたとおりINholeMsg-ワイヤー上で受信されたとおりOUT authenticationWholeMsg-認証の確認)
statusInformation indicates if authentication was successful or not. authKey the user's localized private authKey is the secret key that can be used by the authentication algorithm. wholeMsg the complete serialized message to be authenticated.
statusInformationは、認証が成功したかどうかを示します。 authKeyユーザーのローカライズされたプライベートauthKeyは、認証アルゴリズムで使用できる秘密鍵です。 wholeMsg認証される完全なシリアル化されたメッセージ。
authenticatedWholeMsg the same as the input given to the authenticateIncomingMsg service, but after authentication has been checked.
authenticationWholeMsgは、authenticateIncomingMsgサービスへの入力と同じですが、認証がチェックされた後です。
If the authentication module returns failure, then the message cannot be trusted, so the usmStatsWrongDigests counter is incremented and an error indication (authenticationFailure) together with the OID and value of the incremented counter is returned to the calling module.
認証モジュールが失敗を返す場合、メッセージは信頼できないため、usmStatsWrongDigestsカウンターがインクリメントされ、インクリメントされたカウンターのOIDおよび値とともにエラー表示(authenticationFailure)が呼び出し側モジュールに返されます。
If the authentication module returns success, then the message is authentic and can be trusted so processing continues.
認証モジュールが成功を返す場合、メッセージは本物であり、信頼できるため、処理を続行します。
7) If the securityLevel indicates an authenticated message, then the local values of snmpEngineBoots and snmpEngineTime corresponding to the value of the msgAuthoritativeEngineID field are extracted from the Local Configuration Datastore.
7)securityLevelが認証済みメッセージを示す場合、msgAuthoritativeEngineIDフィールドの値に対応するsnmpEngineBootsおよびsnmpEngineTimeのローカル値がローカル構成データストアから抽出されます。
a) If the extracted value of msgAuthoritativeEngineID is the same as the value of snmpEngineID of the processing SNMP engine (meaning this is the authoritative SNMP engine), then if any of the following conditions is true, then the message is considered to be outside of the Time Window:
a) 抽出されたmsgAuthoritativeEngineIDの値が、処理中のSNMPエンジンのsnmpEngineIDの値と同じである場合(つまり、これが信頼できるSNMPエンジンである場合)、次の条件のいずれかに該当する場合、メッセージは時間外と見なされます。窓:
- the local value of snmpEngineBoots is 2147483647;
- snmpEngineBootsのローカル値は2147483647です。
- the value of the msgAuthoritativeEngineBoots field differs from the local value of snmpEngineBoots; or,
- msgAuthoritativeEngineBootsフィールドの値は、snmpEngineBootsのローカル値とは異なります。または、
- the value of the msgAuthoritativeEngineTime field differs from the local notion of snmpEngineTime by more than +/- 150 seconds.
- msgAuthoritativeEngineTimeフィールドの値は、ローカルのsnmpEngineTimeの概念と+/- 150秒以上異なります。
If the message is considered to be outside of the Time Window then the usmStatsNotInTimeWindows counter is incremented and an error indication (notInTimeWindow) together with the OID and value of the incremented counter is returned to the calling module.
メッセージがタイムウィンドウの外側にあると見なされる場合、usmStatsNotInTimeWindowsカウンターがインクリメントされ、インクリメントされたカウンターのOIDおよび値とともにエラー表示(notInTimeWindow)が呼び出し側モジュールに返されます。
b) If the extracted value of msgAuthoritativeEngineID is not the same as the value snmpEngineID of the processing SNMP engine (meaning this is not the authoritative SNMP engine), then:
b) 抽出されたmsgAuthoritativeEngineIDの値が、処理中のSNMPエンジンの値snmpEngineIDと同じでない場合(つまり、これは信頼できるSNMPエンジンではない)。
1) if at least one of the following conditions is true:
1)次の条件の少なくとも1つに該当する場合:
- the extracted value of the msgAuthoritativeEngineBoots field is greater than the local notion of the value of snmpEngineBoots; or,
- msgAuthoritativeEngineBootsフィールドの抽出された値は、snmpEngineBootsの値のローカルの概念よりも大きいです。または、
- the extracted value of the msgAuthoritativeEngineBoots field is equal to the local notion of the value of snmpEngineBoots, the extracted value of msgAuthoritativeEngineTime field is greater than the value of latestReceivedEngineTime,
- msgAuthoritativeEngineBootsフィールドの抽出された値は、snmpEngineBootsの値のローカルの概念に等しい。msgAuthoritativeEngineTimeフィールドの抽出された値は、latestReceivedEngineTimeの値よりも大きい。
then the LCD entry corresponding to the extracted value of the msgAuthoritativeEngineID field is updated, by setting:
次に、次の設定により、msgAuthoritativeEngineIDフィールドの抽出された値に対応するLCDエントリが更新されます。
- the local notion of the value of snmpEngineBoots to the value of the msgAuthoritativeEngineBoots field, - the local notion of the value of snmpEngineTime to the value of the msgAuthoritativeEngineTime field, and - the latestReceivedEngineTime to the value of the value of the msgAuthoritativeEngineTime field.
- snmpEngineBootsの値からmsgAuthoritativeEngineBootsフィールドの値へのローカルの概念、-snmpEngineTimeの値からmsgAuthoritativeEngineTimeフィールドの値へのローカルの概念、-latestReceivedEngineTimeからmsgAuthoritativeEngineTimeフィールドの値への最新の概念
2) if any of the following conditions is true, then the message is considered to be outside of the Time Window:
2)次の条件のいずれかに該当する場合、メッセージはタイムウィンドウの外にあると見なされます。
- the local notion of the value of snmpEngineBoots is 2147483647;
- snmpEngineBootsの値のローカルな概念は2147483647です。
- the value of the msgAuthoritativeEngineBoots field is less than the local notion of the value of snmpEngineBoots; or,
- msgAuthoritativeEngineBootsフィールドの値が、snmpEngineBootsの値のローカルな概念よりも小さい。または、
- the value of the msgAuthoritativeEngineBoots field is equal to the local notion of the value of snmpEngineBoots and the value of the msgAuthoritativeEngineTime field is more than 150 seconds less than the local notion of of the value of snmpEngineTime.
- msgAuthoritativeEngineBootsフィールドの値は、snmpEngineBootsの値のローカル表記に等しく、msgAuthoritativeEngineTimeフィールドの値は、snmpEngineTimeの値のローカル表記よりも150秒以上短くなります。
If the message is considered to be outside of the Time Window then an error indication (notInTimeWindow) is returned to the calling module;
メッセージがタイムウィンドウの外にあると見なされる場合、エラー表示(notInTimeWindow)が呼び出し側モジュールに返されます。
Note that this means that a too old (possibly replayed) message has been detected and is deemed unauthentic.
これは、古すぎる(再生された可能性がある)メッセージが検出され、認証されていないと見なされることを意味します。
Note that this procedure allows for the value of msgAuthoritativeEngineBoots in the message to be greater than the local notion of the value of snmpEngineBoots to allow for received messages to be accepted as authentic when received from an authoritative SNMP engine that has re-booted since the receiving SNMP engine last (re-)synchronized.
この手順では、メッセージ内のmsgAuthoritativeEngineBootsの値を、snmpEngineBootsの値のローカルの概念よりも大きくして、受信後に再起動した信頼できるSNMPエンジンから受信したときに、受信したメッセージを本物として受け入れることができることに注意してください。 SNMPエンジンは最後に(再)同期されました。
Note that this procedure does not allow for automatic time synchronization if the non-authoritative SNMP engine has a real out-of-sync situation whereby the authoritative SNMP engine is more than 150 seconds behind the non-authoritative SNMP engine.
権限のないSNMPエンジンに実際の同期外れの状況があり、権限のあるSNMPエンジンが権限のないSNMPエンジンより150秒以上遅れている場合、この手順では自動時刻同期が許可されないことに注意してください。
8) a) If the securityLevel indicates that the message was protected from disclosure, then the OCTET STRING representing the encryptedPDU is decrypted according to the user's privacy protocol to obtain an unencrypted serialized scopedPDU value. To do so a call is made to the privacy module that implements the user's privacy protocol according to the abstract primitive:
8)a)メッセージが開示から保護されたことをsecurityLevelが示す場合、encryptedPDUを表すOCTET STRINGはユーザーのプライバシープロトコルに従って復号化され、暗号化されていないシリアル化されたscopedPDU値が取得されます。これを行うには、抽象プリミティブに従ってユーザーのプライバシープロトコルを実装するプライバシーモジュールを呼び出します。
statusInformation = -- success or failure decryptData( IN decryptKey -- the user's localized privKey IN privParameters -- as received on the wire IN encryptedData -- encryptedPDU as received OUT decryptedData -- serialized decrypted scopedPDU )
statusInformation =-成功または失敗decodeData(IN decodeKey-ユーザーのローカライズされたprivKey IN privParameters-回線上で受信されたとおりIN encryptedData-受信されたままのencryptedPDU OUT復号化データ-シリアル化され復号化されたscopedPDU
statusInformation indicates if the decryption process was successful or not. decryptKey the user's localized private privKey is the secret key that can be used by the decryption algorithm. privParameters the msgPrivacyParameters, encoded as an OCTET STRING. encryptedData the encryptedPDU represents the encrypted scopedPDU, encoded as an OCTET STRING. decryptedData the serialized scopedPDU if decryption is successful.
statusInformationは、復号化プロセスが成功したかどうかを示します。ユーザーのローカライズされたプライベートなprivKeyは、復号化アルゴリズムで使用できる秘密鍵です。 privParametersは、OCTET STRINGとしてエンコードされたmsgPrivacyParametersです。 encryptedData encryptedPDUは、OCTET STRINGとしてエンコードされた、暗号化されたscopedPDUを表します。解読が成功した場合は、decryptedDataシリアル化されたscopedPDU。
If the privacy module returns failure, then the message can not be processed, so the usmStatsDecryptionErrors counter is incremented and an error indication (decryptionError) together with the OID and value of the incremented counter is returned to the calling module.
プライバシーモジュールが失敗を返した場合、メッセージは処理できないため、usmStatsDecryptionErrorsカウンターがインクリメントされ、エラー表示(decryptionError)とOIDおよびインクリメントされたカウンターの値が呼び出し側モジュールに返されます。
If the privacy module returns success, then the decrypted scopedPDU is the message payload to be returned to the calling module.
プライバシーモジュールが成功を返した場合、復号化されたscopedPDUは、呼び出しモジュールに返されるメッセージペイロードです。
Otherwise,
さもないと、
b) The scopedPDU component is assumed to be in plain text and is the message payload to be returned to the calling module.
b) scopedPDUコンポーネントはプレーンテキストであると想定されており、呼び出しモジュールに返されるメッセージペイロードです。
9) The maxSizeResponseScopedPDU is calculated. This is the maximum size allowed for a scopedPDU for a possible Response message. Provision is made for a message header that allows the same securityLevel as the received Request.
9)maxSizeResponseScopedPDUが計算されます。これは、可能なResponseメッセージのscopedPDUに許可される最大サイズです。受信したリクエストと同じセキュリティレベルを許可するメッセージヘッダーが提供されます。
10) The securityName for the user is retrieved from the usmUserTable.
10)ユーザーのsecurityNameは、usmUserTableから取得されます。
11) The security data is cached as cachedSecurityData, so that a possible response to this message can and will use the same authentication and privacy secrets, the same securityLevel and the same value for msgAuthoritativeEngineID. Information to be saved/cached is as follows:
11)セキュリティデータはcachedSecurityDataとしてキャッシュされるため、このメッセージへの可能な応答は、同じ認証およびプライバシーシークレット、同じsecurityLevel、およびmsgAuthoritativeEngineIDの同じ値を使用できます。保存/キャッシュする情報は以下のとおりです。
msgUserName, usmUserAuthProtocol, usmUserAuthKey usmUserPrivProtocol, usmUserPrivKey securityEngineID, securityLevel
msgUserName、usmUserAuthProtocol、usmUserAuthKey usmUserPrivProtocol、usmUserPrivKey securityEngineID、securityLevel
12) The statusInformation is set to success and a return is made to the calling module passing back the OUT parameters as specified in the processIncomingMsg primitive.
12)statusInformationが成功に設定され、呼び出し元のモジュールに戻り、processIncomingMsgプリミティブで指定されたOUTパラメータが返されます。
The User-based Security Model requires that a discovery process obtains sufficient information about other SNMP engines in order to communicate with them. Discovery requires an non-authoritative SNMP engine to learn the authoritative SNMP engine's snmpEngineID value before communication may proceed. This may be accomplished by generating a Request message with a securityLevel of noAuthNoPriv, a msgUserName of "initial", a msgAuthoritativeEngineID value of zero length, and the varBindList left empty. The response to this message will be a Report message containing the snmpEngineID of the authoritative SNMP engine as the value of the msgAuthoritativeEngineID field within the msgSecurityParameters field. It contains a Report PDU with the usmStatsUnknownEngineIDs counter in the varBindList.
ユーザーベースのセキュリティモデルでは、他のSNMPエンジンと通信するために、検出プロセスが他のSNMPエンジンに関する十分な情報を取得する必要があります。ディスカバリでは、通信を続行する前に、信頼できないSNMPエンジンが信頼できるSNMPエンジンのsnmpEngineID値を学習する必要があります。これは、noAuthNoPrivのsecurityLevel、「initial」のmsgUserName、長さ0のmsgAuthoritativeEngineID値、空のままのvarBindListを使用して要求メッセージを生成することで実現できます。このメッセージへの応答は、msgSecurityParametersフィールド内のmsgAuthoritativeEngineIDフィールドの値として信頼できるSNMPエンジンのsnmpEngineIDを含むレポートメッセージになります。これには、varBindListのusmStatsUnknownEngineIDsカウンターを持つReport PDUが含まれています。
If authenticated communication is required, then the discovery process should also establish time synchronization with the authoritative SNMP engine. This may be accomplished by sending an authenticated Request message with the value of msgAuthoritativeEngineID set to the newly learned snmpEngineID and with the values of msgAuthoritativeEngineBoots and msgAuthoritativeEngineTime set to zero. The response to this authenticated message will be a Report message containing the up to date values of the authoritative SNMP engine's snmpEngineBoots and snmpEngineTime as the value of the msgAuthoritativeEngineBoots and msgAuthoritativeEngineTime fields respectively. It also contains the usmStatsNotInTimeWindows counter in the varBindList of the Report PDU. The time synchronization then happens automatically as part of the procedures in section 3.2 step 7b. See also section 2.3.
認証された通信が必要な場合、検出プロセスでは、信頼できるSNMPエンジンとの時間同期も確立する必要があります。これは、msgAuthoritativeEngineIDの値を新しく学習したsnmpEngineIDに設定し、msgAuthoritativeEngineBootsとmsgAuthoritativeEngineTimeの値をゼロに設定して、認証済みの要求メッセージを送信することで実現できます。この認証されたメッセージへの応答は、信頼できるSNMPエンジンのsnmpEngineBootsおよびsnmpEngineTimeの最新の値をそれぞれmsgAuthoritativeEngineBootsおよびmsgAuthoritativeEngineTimeフィールドの値として含むレポートメッセージになります。また、レポートPDUのvarBindListにusmStatsNotInTimeWindowsカウンターが含まれています。時間の同期は、セクション3.2の手順7bの手順の一部として自動的に行われます。セクション2.3も参照してください。
SNMP-USER-BASED-SM-MIB DEFINITIONS ::= BEGIN
IMPORTS MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, snmpModules, Counter32 FROM SNMPv2-SMI TEXTUAL-CONVENTION, TestAndIncr, RowStatus, RowPointer, StorageType, AutonomousType FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString, SnmpEngineID, snmpAuthProtocols, snmpPrivProtocols FROM SNMP-FRAMEWORK-MIB;
IMPORTS MODULE-IDENTITY、OBJECT-TYPE、OBJECT-IDENTITY、snmpModules、Counter32 FROM SNMPv2-SMI TEXTUAL-CONVENTION、TestAndIncr、RowStatus、RowPointer、StorageType、AutonomousType FROM SNMPv2-TC MODULE-COMPLIANCE、OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString SnmpEngineID、snmpAuthProtocols、snmpPrivProtocols FROM SNMP-FRAMEWORK-MIB;
snmpUsmMIB MODULE-IDENTITY LAST-UPDATED "9711200000Z" -- 20 Nov 1997, midnight ORGANIZATION "SNMPv3 Working Group" CONTACT-INFO "WG-email: snmpv3@tis.com Subscribe: majordomo@tis.com In msg body: subscribe snmpv3
snmpUsmMIB MODULE-IDENTITY LAST-UPDATED "9711200000Z"-1997年11月20日深夜組織 "SNMPv3ワーキンググループ"連絡先情報 "WG-email:snmpv3@tis.com購読:majordomo@tis.comメッセージ本文:購読snmpv3
Chair: Russ Mundy Trusted Information Systems postal: 3060 Washington Rd Glenwood MD 21738 USA email: mundy@tis.com phone: +1-301-854-6889
議長:Russ Mundy Trusted Information Systems郵便:3060 Washington Rd Glenwood MD 21738 USAメール:mundy@tis.com電話:+ 1-301-854-6889
Co-editor Uri Blumenthal IBM T. J. Watson Research postal: 30 Saw Mill River Pkwy, Hawthorne, NY 10532 USA email: uri@watson.ibm.com phone: +1-914-784-7964
共同編集者Uri Blumenthal IBM T. J. Watson Research郵便:30 Saw Mill River Pkwy、Hawthorne、NY 10532 USAメール:uri@watson.ibm.com電話:+ 1-914-784-7964
Co-editor: Bert Wijnen IBM T. J. Watson Research postal: Schagen 33 3461 GL Linschoten Netherlands email: wijnen@vnet.ibm.com phone: +31-348-432-794 "
共同編集者:Bert Wijnen IBM T. J. Watson Research郵便:Schagen 33 3461 GL Linschotenオランダメール:wines@vnet.ibm.com電話:+ 31-348-432-794 "
DESCRIPTION "The management information definitions for the SNMP User-based Security Model. " ::= { snmpModules 15 }
-- Administrative assignments ****************************************
usmMIBObjects OBJECT IDENTIFIER ::= { snmpUsmMIB 1 } usmMIBConformance OBJECT IDENTIFIER ::= { snmpUsmMIB 2 }
-- Identification of Authentication and Privacy Protocols ************
usmNoAuthProtocol OBJECT-IDENTITY STATUS current DESCRIPTION "No Authentication Protocol." ::= { snmpAuthProtocols 1 }
usmHMACMD5AuthProtocol OBJECT-IDENTITY STATUS current DESCRIPTION "The HMAC-MD5-96 Digest Authentication Protocol." REFERENCE "- H. Krawczyk, M. Bellare, R. Canetti HMAC: Keyed-Hashing for Message Authentication, RFC2104, Feb 1997. - Rivest, R., Message Digest Algorithm MD5, RFC1321. " ::= { snmpAuthProtocols 2 }
usmHMACSHAAuthProtocol OBJECT-IDENTITY STATUS current DESCRIPTION "The HMAC-SHA-96 Digest Authentication Protocol." REFERENCE "- H. Krawczyk, M. Bellare, R. Canetti, HMAC: Keyed-Hashing for Message Authentication, RFC2104, Feb 1997. - Secure Hash Algorithm. NIST FIPS 180-1. " ::= { snmpAuthProtocols 3 }
usmNoPrivProtocol OBJECT-IDENTITY STATUS current DESCRIPTION "No Privacy Protocol." ::= { snmpPrivProtocols 1 }
usmDESPrivProtocol OBJECT-IDENTITY STATUS current DESCRIPTION "The CBC-DES Symmetric Encryption Protocol." REFERENCE "- Data Encryption Standard, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 46-1. Supersedes FIPS Publication 46, (January, 1977; reaffirmed January, 1988).
usmDESPrivProtocol OBJECT-IDENTITY STATUS current DESCRIPTION「CBC-DES対称暗号化プロトコル」。参照 "-国立標準技術研究所のデータ暗号化標準。連邦情報処理標準(FIPS)の出版物46-1。FIPSの出版物46に取って代わります(1977年1月、1988年1月に再確認)。
- Data Encryption Algorithm, American National Standards Institute. ANSI X3.92-1981, (December, 1980).
- データ暗号化アルゴリズム、American National Standards Institute。 ANSI X3.92-1981、(1980年12月)。
- DES Modes of Operation, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 81, (December, 1980).
- 国立標準技術研究所のDES Modes of Operation。連邦情報処理標準(FIPS)Publication 81、(1980年12月)。
- Data Encryption Algorithm - Modes of Operation, American National Standards Institute. ANSI X3.106-1983, (May 1983). " ::= { snmpPrivProtocols 2 }
-- Textual Conventions ***********************************************
KeyChange ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Every definition of an object with this syntax must identify a protocol P, a secret key K, and a hash algorithm H that produces output of L octets.
The object's value is a manager-generated, partially-random value which, when modified, causes the value of the secret key K, to be modified via a one-way function.
オブジェクトの値は、マネージャーが生成した部分的にランダムな値であり、変更されると、秘密鍵Kの値が一方向関数を介して変更されます。
The value of an instance of this object is the concatenation of two components: first a 'random' component and then a 'delta' component.
このオブジェクトのインスタンスの値は、2つのコンポーネントの連結です。最初は「ランダム」コンポーネント、次に「デルタ」コンポーネントです。
The lengths of the random and delta components are given by the corresponding value of the protocol P; if P requires K to be a fixed length, the length of both the random and delta components is that fixed length; if P allows the length of K to be variable up to a particular maximum length, the length of the random component is that maximum length and the length of the delta component is any length less than or equal to that maximum length. For example, usmHMACMD5AuthProtocol requires K to be a fixed length of 16 octets and L - of 16 octets. usmHMACSHAAuthProtocol requires K to be a fixed length of 20 octets and L - of 20 octets. Other protocols may define other sizes, as deemed appropriate.
ランダム成分とデルタ成分の長さは、プロトコルPの対応する値によって指定されます。 PがKを固定長にする必要がある場合、ランダム成分とデルタ成分の両方の長さがその固定長になります。 PがKの長さを特定の最大長まで可変にできる場合、ランダムコンポーネントの長さはその最大長であり、デルタコンポーネントの長さはその最大長以下の任意の長さです。たとえば、usmHMACMD5AuthProtocolでは、Kを16オクテットの固定長、L-16オクテットにする必要があります。 usmHMACSHAAuthProtocolでは、Kを20オクテットの固定長、L-20オクテットにする必要があります。他のプロトコルは、適切と見なされるように、他のサイズを定義することがあります。
When a requestor wants to change the old key K to a new key keyNew on a remote entity, the 'random' component is obtained from either a true random generator, or from a pseudorandom generator, and the 'delta' component is computed as follows:
リクエスターがリモートエンティティの古いキーKを新しいキーkeyNewに変更する場合、「ランダム」コンポーネントは、真のランダムジェネレーターまたは疑似ランダムジェネレーターから取得され、「デルタ」コンポーネントは次のように計算されます。 :
- a temporary variable is initialized to the existing value of K; - if the length of the keyNew is greater than L octets, then: - the random component is appended to the value of the temporary variable, and the result is input to the the hash algorithm H to produce a digest value, and the temporary variable is set to this digest value; - the value of the temporary variable is XOR-ed with the first (next) L-octets (16 octets in case of MD5) of the keyNew to produce the first (next) L-octets (16 octets in case of MD5) of the 'delta' component. - the above two steps are repeated until the unused portion of the delta component is L octets or less, - the random component is appended to the value of the temporary variable, and the result is input to the hash algorithm H to produce a digest value; - this digest value, truncated if necessary to be the same length as the unused portion of the keyNew, is XOR-ed with the unused portion of the keyNew to produce the (final portion of the) 'delta' component.
- 一時変数は、Kの既存の値に初期化されます。 -keyNewの長さがLオクテットより大きい場合:-ランダムコンポーネントが一時変数の値に追加され、その結果がハッシュアルゴリズムHに入力されて、ダイジェスト値と一時変数が生成されます。このダイジェスト値に設定されます。 -一時変数の値は、keyNewの最初の(次の)Lオクテット(MD5の場合は16オクテット)とXORされ、最初の(次の)Lオクテット(MD5の場合は16オクテット)を生成します。 「デルタ」コンポーネント。 -デルタコンポーネントの未使用部分がLオクテット以下になるまで上記の2つのステップが繰り返されます-ランダムコンポーネントが一時変数の値に追加され、結果がハッシュアルゴリズムHに入力されてダイジェスト値が生成されます; -このダイジェスト値は、必要に応じてkeyNewの未使用部分と同じ長さに切り捨てられ、keyNewの未使用部分とXORされて、「デルタ」コンポーネント(の最終部分)が生成されます。
For example, using MD5 as the hash algorithm H:
たとえば、ハッシュアルゴリズムHとしてMD5を使用します。
iterations = (lenOfDelta - 1)/16; /* integer division */ temp = keyOld; for (i = 0; i < iterations; i++) { temp = MD5 (temp || random);
delta[i*16 .. (i*16)+15] = temp XOR keyNew[i*16 .. (i*16)+15]; } temp = MD5 (temp || random); delta[i*16 .. lenOfDelta-1] = temp XOR keyNew[i*16 .. lenOfDelta-1];
The 'random' and 'delta' components are then concatenated as described above, and the resulting octet string is sent to the receipient as the new value of an instance of this object.
次に、「ランダム」コンポーネントと「デルタ」コンポーネントが上記のように連結され、結果のオクテット文字列がこのオブジェクトのインスタンスの新しい値として受信者に送信されます。
At the receiver side, when an instance of this object is set to a new value, then a new value of K is computed as follows:
受信側では、このオブジェクトのインスタンスが新しい値に設定されると、Kの新しい値が次のように計算されます。
- a temporary variable is initialized to the existing value of K; - if the length of the delta component is greater than L octets, then: - the random component is appended to the value of the temporary variable, and the result is input to the the hash algorithm H to produce a digest value, and the temporary variable is set to this digest value; - the value of the temporary variable is XOR-ed with the first (next) L-octets (16 octets in case of MD5) of the delta component to produce the first (next) L-octets (16 octets in case of MD5) of the new value of K. - the above two steps are repeated until the unused portion of the delta component is L octets or less, - the random component is appended to the value of the temporary variable, and the result is input to the hash algorithm H to produce a digest value; - this digest value, truncated if necessary to be the same length as the unused portion of the delta component, is XOR-ed with the unused portion of the delta component to produce the (final portion of the) new value of K.
- 一時変数は、Kの既存の値に初期化されます。 -デルタ成分の長さがLオクテットより大きい場合:-ランダム成分が一時変数の値に追加され、その結果がハッシュアルゴリズムHに入力されてダイジェスト値と一時変数が生成されます。変数はこのダイジェスト値に設定されます。 -一時変数の値は、デルタコンポーネントの最初の(次の)Lオクテット(MD5の場合は16オクテット)とXORされて、最初の(次の)Lオクテット(MD5の場合は16オクテット)を生成します。 Kの新しい値-上記の2つのステップは、デルタ成分の未使用部分がLオクテット以下になるまで繰り返されます-ランダム成分が一時変数の値に追加され、結果がハッシュに入力されますダイジェスト値を生成するアルゴリズムH。 -このダイジェスト値は、必要に応じてデルタコンポーネントの未使用部分と同じ長さに切り捨てられ、デルタコンポーネントの未使用部分とXORされて、Kの新しい値(の最終部分)が生成されます。
For example, using MD5 as the hash algorithm H:
たとえば、ハッシュアルゴリズムHとしてMD5を使用します。
iterations = (lenOfDelta - 1)/16; /* integer division */ temp = keyOld; for (i = 0; i < iterations; i++) { temp = MD5 (temp || random); keyNew[i*16 .. (i*16)+15] = temp XOR delta[i*16 .. (i*16)+15]; } temp = MD5 (temp || random);
keyNew[i*16 .. lenOfDelta-1] = temp XOR delta[i*16 .. lenOfDelta-1];
The value of an object with this syntax, whenever it is retrieved by the management protocol, is always the zero length string. " SYNTAX OCTET STRING
この構文のオブジェクトの値は、管理プロトコルによって取得されるときは常に、長さがゼロの文字列です。 "構文オクテット文字列
-- Statistics for the User-based Security Model **********************
usmStats OBJECT IDENTIFIER ::= { usmMIBObjects 1 }
usmStatsUnsupportedSecLevels OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because they requested a securityLevel that was unknown to the SNMP engine or otherwise unavailable. " ::= { usmStats 1 }
usmStatsNotInTimeWindows OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because they appeared outside of the authoritative SNMP engine's window. " ::= { usmStats 2 }
usmStatsUnknownUserNames OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because they referenced a user that was not known to the SNMP engine. " ::= { usmStats 3 }
usmStatsUnknownEngineIDs OBJECT-TYPE
usmStatsUnknownEngineIDs OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because they referenced an snmpEngineID that was not known to the SNMP engine. " ::= { usmStats 4 }
usmStatsWrongDigests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because they didn't contain the expected digest value. " ::= { usmStats 5 }
usmStatsDecryptionErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because they could not be decrypted. " ::= { usmStats 6 }
-- The usmUser Group ************************************************
usmUser OBJECT IDENTIFIER ::= { usmMIBObjects 2 }
usmUserSpinLock OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "An advisory lock used to allow several cooperating Command Generator Applications to coordinate their use of facilities to alter secrets in the usmUserTable. " ::= { usmUser 1 }
-- The table of valid users for the User-based Security Model ********
usmUserTable OBJECT-TYPE SYNTAX SEQUENCE OF UsmUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of users configured in the SNMP engine's Local Configuration Datastore (LCD)." ::= { usmUser 2 }
usmUserEntry OBJECT-TYPE SYNTAX UsmUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A user configured in the SNMP engine's Local Configuration Datastore (LCD) for the User-based Security Model. " INDEX { usmUserEngineID, usmUserName } ::= { usmUserTable 1 }
UsmUserEntry ::= SEQUENCE { usmUserEngineID SnmpEngineID, usmUserName SnmpAdminString, usmUserSecurityName SnmpAdminString, usmUserCloneFrom RowPointer, usmUserAuthProtocol AutonomousType, usmUserAuthKeyChange KeyChange, usmUserOwnAuthKeyChange KeyChange, usmUserPrivProtocol AutonomousType, usmUserPrivKeyChange KeyChange, usmUserOwnPrivKeyChange KeyChange, usmUserPublic OCTET STRING, usmUserStorageType StorageType, usmUserStatus RowStatus }
usmUserEngineID OBJECT-TYPE SYNTAX SnmpEngineID MAX-ACCESS not-accessible STATUS current DESCRIPTION "An SNMP engine's administratively-unique identifier.
usmUserEngineID OBJECT-TYPE構文SnmpEngineID MAX-ACCESS not-accessibleステータス現在の説明「SNMPエンジンの管理上一意の識別子。
In a simple agent, this value is always that agent's own snmpEngineID value.
単純なエージェントでは、この値は常にそのエージェント自身のsnmpEngineID値です。
The value can also take the value of the snmpEngineID of a remote SNMP engine with which this user can communicate.
この値は、このユーザーが通信できるリモートSNMPエンジンのsnmpEngineIDの値を取ることもできます。
" ::= { usmUserEntry 1 }
usmUserName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(1..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A human readable string representing the name of the user.
usmUserName OBJECT-TYPE構文SnmpAdminString(SIZE(1..32))MAX-ACCESS not-accessibleステータス現在の説明「ユーザーの名前を表す人間が読める文字列。
This is the (User-based Security) Model dependent security ID. " ::= { usmUserEntry 2 }
usmUserSecurityName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A human readable string representing the user in Security Model independent format.
usmUserSecurityName OBJECT-TYPE構文SnmpAdminString MAX-ACCESS読み取り専用ステータス現在の説明「セキュリティモデルに依存しない形式でユーザーを表す人間が読める文字列。
The default transformation of the User-based Security Model dependent security ID to the securityName and vice versa is the identity function so that the securityName is the same as the userName. " ::= { usmUserEntry 3 }
usmUserCloneFrom OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "A pointer to another conceptual row in this usmUserTable. The user in this other conceptual row is called the clone-from user.
usmUserCloneFrom OBJECT-TYPE構文RowPointer MAX-ACCESS read-create STATUS現在の説明「このusmUserTableの別の概念的な行へのポインタ。この別の概念的な行のユーザーは、クローン元ユーザーと呼ばれます。
When a new user is created (i.e., a new conceptual row is instantiated in this table), the privacy and authentication parameters of the new user are cloned from its clone-from user.
新しいユーザーが作成されると(つまり、新しい概念的な行がこのテーブルでインスタンス化されます)、新しいユーザーのプライバシーと認証のパラメーターがその複製元ユーザーから複製されます。
The first time an instance of this object is set by a management operation (either at or after its instantiation), the cloning process is invoked. Subsequent writes are successful but invoke no action to be taken by the receiver. The cloning process fails with an 'inconsistentName' error if the conceptual row representing the clone-from user is not in an active state when the cloning process is invoked.
このオブジェクトのインスタンスが管理操作(インスタンス化時またはその後)によって初めて設定されるときに、クローン作成プロセスが呼び出されます。後続の書き込みは成功しますが、レシーバーが実行するアクションはありません。クローン作成プロセスが呼び出されたときにclone-fromユーザーを表す概念的な行がアクティブな状態でない場合、クローン作成プロセスは「inconsistentName」エラーで失敗します。
Cloning also causes the initial values of the secret authentication key and the secret encryption key of the new user to be set to the same value as the corresponding secret of the clone-from user.
また、複製により、新しいユーザーの秘密認証キーと秘密暗号化キーの初期値が、複製元ユーザーの対応する秘密と同じ値に設定されます。
When this object is read, the ZeroDotZero OID is returned. " ::= { usmUserEntry 4 }
usmUserAuthProtocol OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-create STATUS current DESCRIPTION "An indication of whether messages sent on behalf of this user to/from the SNMP engine identified by usmUserEngineID, can be authenticated, and if so, the type of authentication protocol which is used.
usmUserAuthProtocol OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-create STATUS current DESCRIPTION "usmUserEngineIDによって識別されたSNMPエンジンとの間でこのユーザーに代わって送信されたメッセージを認証できるかどうか、および認証できる場合は、認証プロトコルのタイプ使用されます。
An instance of this object is created concurrently with the creation of any other object instance for the same user (i.e., as part of the processing of the set operation which creates the first object instance in the same conceptual row). Once created, the value of an instance of this object can not be changed.
このオブジェクトのインスタンスは、同じユーザーの他のオブジェクトインスタンスの作成と同時に作成されます(つまり、同じ概念的な行に最初のオブジェクトインスタンスを作成する設定操作の処理の一部として)。作成後、このオブジェクトのインスタンスの値は変更できません。
If a set operation tries to set a value for an unknown or unsupported protocol, then a wrongValue error must be returned. " DEFVAL { usmHMACMD5AuthProtocol } ::= { usmUserEntry 5 }
usmUserAuthKeyChange OBJECT-TYPE SYNTAX KeyChange -- typically (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "An object, which when modified, causes the secret authentication key used for messages sent on behalf of this user to/from the SNMP engine identified by usmUserEngineID, to be modified via a one-way function.
usmUserAuthKeyChange OBJECT-TYPE SYNTAX KeyChange-通常(SIZE(0..32))MAX-ACCESS read-create STATUS現在の説明「このユーザーに代わって送信されるメッセージに使用される秘密認証キーを変更すると、 / usmUserEngineIDによって識別されるSNMPエンジンから、一方向関数を介して変更されます。
The associated protocol is the usmUserAuthProtocol. The associated secret key is the user's secret authentication key (authKey). The associated hash algorithm is the algorithm used by the user's usmUserAuthProtocol.
関連するプロトコルは、usmUserAuthProtocolです。関連する秘密鍵は、ユーザーの秘密認証鍵(authKey)です。関連するハッシュアルゴリズムは、ユーザーのusmUserAuthProtocolによって使用されるアルゴリズムです。
When creating a new user, it is an 'inconsistentName' error for a Set operation to refer to this object unless it is previously or concurrently initialized through a set operation on the corresponding value of usmUserCloneFrom. " DEFVAL { ''H } -- the empty string ::= { usmUserEntry 6 }
usmUserOwnAuthKeyChange OBJECT-TYPE SYNTAX KeyChange -- typically (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "Behaves exactly as usmUserAuthKeyChange, with one notable difference: in order for the Set operation to succeed, the usmUserName of the operation requester must match the usmUserName that indexes the row which is targeted by this operation.
usmUserOwnAuthKeyChange OBJECT-TYPE SYNTAX KeyChange-通常(SIZE(0..32))MAX-ACCESS read-create STATUS現在の説明「1つの注目すべき違いを除き、usmUserAuthKeyChangeとまったく同じように動作します。操作リクエスタは、この操作の対象となる行にインデックスを付けるusmUserNameと一致する必要があります。
The idea here is that access to this column can be public, since it will only allow a user to change his own secret authentication key (authKey). " DEFVAL { ''H } -- the empty string ::= { usmUserEntry 7 }
usmUserPrivProtocol OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-create STATUS current DESCRIPTION "An indication of whether messages sent on behalf of this user to/from the SNMP engine identified by usmUserEngineID, can be protected from disclosure, and if so, the type of privacy protocol which is used.
usmUserPrivProtocol OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-create STATUS current DESCRIPTION "このユーザーに代わってusmUserEngineIDによって識別されたSNMPエンジンとの間で送受信されたメッセージを、開示から保護できるかどうかの表示。使用されるプライバシープロトコル。
An instance of this object is created concurrently with the creation of any other object instance for the same user (i.e., as part of the processing of the set operation which creates the first object instance in the same conceptual row). Once created, the value of an instance of this object can not be changed.
このオブジェクトのインスタンスは、同じユーザーの他のオブジェクトインスタンスの作成と同時に作成されます(つまり、同じ概念的な行に最初のオブジェクトインスタンスを作成する設定操作の処理の一部として)。作成後、このオブジェクトのインスタンスの値は変更できません。
If a set operation tries to set a value for an unknown or unsupported protocol, then a wrongValue error must be returned. " DEFVAL { usmNoPrivProtocol } ::= { usmUserEntry 8 }
usmUserPrivKeyChange OBJECT-TYPE SYNTAX KeyChange -- typically (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "An object, which when modified, causes the secret encryption key used for messages sent on behalf of this user to/from the SNMP engine identified by usmUserEngineID, to be modified via a one-way function.
usmUserPrivKeyChange OBJECT-TYPE SYNTAX KeyChange-通常(SIZE(0..32))MAX-ACCESS read-create STATUS現在の説明「このユーザーに代わって送信されるメッセージに使用される秘密暗号化キーを変更すると、 / usmUserEngineIDによって識別されるSNMPエンジンから、一方向関数を介して変更されます。
The associated protocol is the usmUserPrivProtocol. The associated secret key is the user's secret privacy key (privKey). The associated hash algorithm is the algorithm used by the user's usmUserAuthProtocol.
関連するプロトコルは、usmUserPrivProtocolです。関連する秘密鍵は、ユーザーの秘密プライバシー鍵(privKey)です。関連するハッシュアルゴリズムは、ユーザーのusmUserAuthProtocolによって使用されるアルゴリズムです。
When creating a new user, it is an 'inconsistentName' error for a set operation to refer to this object unless it is previously or concurrently initialized through a set operation on the corresponding value of usmUserCloneFrom. " DEFVAL { ''H } -- the empty string ::= { usmUserEntry 9 }
usmUserOwnPrivKeyChange OBJECT-TYPE SYNTAX KeyChange -- typically (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "Behaves exactly as usmUserPrivKeyChange, with one notable difference: in order for the Set operation to succeed, the usmUserName of the operation requester must match the usmUserName that indexes the row which is targeted by this operation.
usmUserOwnPrivKeyChange OBJECT-TYPE SYNTAX KeyChange-通常(SIZE(0..32))MAX-ACCESS read-create STATUS現在の説明「1つの注目すべき違いを除いて、usmUserPrivKeyChangeとまったく同じように動作します:Set操作が成功するために、usmUserName of操作リクエスタは、この操作の対象となる行にインデックスを付けるusmUserNameと一致する必要があります。
The idea here is that access to this column can be public, since it will only allow a user to change his own secret privacy key (privKey). "
ここでは、ユーザーが自分の秘密プライバシーキー(privKey)のみを変更できるため、この列へのアクセスを公開することができます。 」
DEFVAL { ''H } -- the empty string ::= { usmUserEntry 10 }
usmUserPublic OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "A publicly-readable value which is written as part of the procedure for changing a user's secret authentication and/or privacy key, and later read to determine whether the change of the secret was effected. " DEFVAL { ''H } -- the empty string ::= { usmUserEntry 11 }
usmUserStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row.
usmUserStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "この概念的な行のストレージタイプ。
Conceptual rows having the value 'permanent' must allow write-access at a minimum to:
値が「永続的」である概念的な行は、少なくとも次のことを行うために書き込みアクセスを許可する必要があります。
- usmUserAuthKeyChange, usmUserOwnAuthKeyChange and usmUserPublic for a user who employs authentication, and - usmUserPrivKeyChange, usmUserOwnPrivKeyChange and usmUserPublic for a user who employs privacy.
- 認証を使用するユーザーの場合はusmUserAuthKeyChange、usmUserOwnAuthKeyChangeおよびusmUserPublic、プライバシーを使用するユーザーの場合はusmUserPrivKeyChange、usmUserOwnPrivKeyChangeおよびusmUserPublic
Note that any user who employs authentication or privacy must allow its secret(s) to be updated and thus cannot be 'readOnly'. " DEFVAL { nonVolatile } ::= { usmUserEntry 12 }
usmUserStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row.
usmUserStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION「この概念的な行のステータス。
Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the usmUserStatus column is 'notReady'.
対応するすべての列のインスタンスが適切に構成されるまで、usmUserStatus列の対応するインスタンスの値は「notReady」です。
In particular, a newly created row cannot be made active until the corresponding usmUserCloneFrom, usmUserAuthKeyChange, usmUserOwnAuthKeyChange, usmUserPrivKeyChange and usmUserOwnPrivKeyChange have all been set.
特に、対応するusmUserCloneFrom、usmUserAuthKeyChange、usmUserOwnAuthKeyChange、usmUserPrivKeyChange、およびusmUserOwnPrivKeyChangeがすべて設定されるまで、新しく作成された行をアクティブにすることはできません。
The RowStatus TC [RFC1903] requires that this DESCRIPTION clause states under which circumstances other objects in this row can be modified:
RowStatus TC [RFC1903]では、このDESCRIPTION句で、この行の他のオブジェクトを変更できる状況を指定する必要があります。
The value of this object has no effect on whether other objects in this conceptual row can be modified. " ::= { usmUserEntry 13 }
-- Conformance Information *******************************************
usmMIBCompliances OBJECT IDENTIFIER ::= { usmMIBConformance 1 } usmMIBGroups OBJECT IDENTIFIER ::= { usmMIBConformance 2 }
-- Compliance statements
-コンプライアンスステートメント
usmMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP engines which implement the SNMP-USER-BASED-SM-MIB. "
usmMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION「SNMP-USER-BASED-SM-MIBを実装するSNMPエンジンのコンプライアンスステートメント。」
MODULE -- this module MANDATORY-GROUPS { usmMIBBasicGroup }
MODULE-このモジュールMANDATORY-GROUPS {usmMIBBasicGroup}
OBJECT usmUserAuthProtocol MIN-ACCESS read-only DESCRIPTION "Write access is not required."
OBJECT usmUserAuthProtocol MIN-ACCESS読み取り専用説明「書き込みアクセスは必要ありません。」
OBJECT usmUserPrivProtocol MIN-ACCESS read-only DESCRIPTION "Write access is not required."
オブジェクトusmUserPrivProtocol MIN-ACCESS読み取り専用説明「書き込みアクセスは必要となりません。」
::= { usmMIBCompliances 1 }
-- Units of compliance usmMIBBasicGroup OBJECT-GROUP OBJECTS { usmStatsUnsupportedSecLevels, usmStatsNotInTimeWindows, usmStatsUnknownUserNames, usmStatsUnknownEngineIDs, usmStatsWrongDigests, usmStatsDecryptionErrors, usmUserSpinLock, usmUserSecurityName, usmUserCloneFrom, usmUserAuthProtocol, usmUserAuthKeyChange, usmUserOwnAuthKeyChange, usmUserPrivProtocol, usmUserPrivKeyChange, usmUserOwnPrivKeyChange, usmUserPublic, usmUserStorageType, usmUserStatus } STATUS current DESCRIPTION "A collection of objects providing for configuration of an SNMP engine which implements the SNMP User-based Security Model. " ::= { usmMIBGroups 1 }
END
終わり
This section describes the HMAC-MD5-96 authentication protocol. This authentication protocol is the first defined for the User-based Security Model. It uses MD5 hash-function which is described in [MD5], in HMAC mode described in [RFC2104], truncating the output to 96 bits.
このセクションでは、HMAC-MD5-96認証プロトコルについて説明します。この認証プロトコルは、ユーザーベースのセキュリティモデルに対して最初に定義されたものです。 [RFC2104]で説明されているHMACモードで、[MD5]で説明されているMD5ハッシュ関数を使用して、出力を96ビットに切り捨てます。
This protocol is identified by usmHMACMD5AuthProtocol.
このプロトコルは、usmHMACMD5AuthProtocolによって識別されます。
Over time, other authentication protocols may be defined either as a replacement of this protocol or in addition to this protocol.
時間の経過とともに、他の認証プロトコルは、このプロトコルの代替として、またはこのプロトコルに加えて定義される可能性があります。
- In support of data integrity, a message digest algorithm is required. A digest is calculated over an appropriate portion of an SNMP message and included as part of the message sent to the recipient.
- データの整合性をサポートするには、メッセージダイジェストアルゴリズムが必要です。ダイジェストは、SNMPメッセージの適切な部分で計算され、受信者に送信されるメッセージの一部として含まれます。
- In support of data origin authentication and data integrity, a secret value is prepended to SNMP message prior to computing the digest; the calculated digest is partially inserted into the SNMP message prior to transmission, and the prepended value is not transmitted. The secret value is shared by all SNMP engines authorized to originate messages on behalf of the appropriate user.
- データ発信元認証とデータ整合性をサポートするために、ダイジェストを計算する前に、SNMPメッセージにシークレット値が付加されます。計算されたダイジェストは、送信前にSNMPメッセージに部分的に挿入され、付加された値は送信されません。シークレット値は、適切なユーザーに代わってメッセージを発信することを許可されたすべてのSNMPエンジンによって共有されます。
The Digest Authentication Mechanism defined in this memo provides for:
このメモで定義されているダイジェスト認証メカニズムは、以下を提供します:
- verification of the integrity of a received message, i.e., the message received is the message sent.
- 受信したメッセージの整合性の検証、つまり、受信したメッセージは送信したメッセージです。
The integrity of the message is protected by computing a digest over an appropriate portion of the message. The digest is computed by the originator of the message, transmitted with the message, and verified by the recipient of the message.
メッセージの整合性は、メッセージの適切な部分でダイジェストを計算することによって保護されます。ダイジェストはメッセージの発信者によって計算され、メッセージとともに送信され、メッセージの受信者によって検証されます。
- verification of the user on whose behalf the message was generated.
- メッセージが生成されたユーザーの確認。
A secret value known only to SNMP engines authorized to generate messages on behalf of a user is used in HMAC mode (see [RFC2104]). It also recommends the hash-function output used as Message Authentication Code, to be truncated.
ユーザーに代わってメッセージを生成することを許可されたSNMPエンジンだけが知っている秘密の値がHMACモードで使用されます([RFC2104]を参照)。また、メッセージ認証コードとして使用されるハッシュ関数の出力を切り捨てることをお勧めします。
This protocol uses the MD5 [MD5] message digest algorithm. A 128-bit MD5 digest is calculated in a special (HMAC) way over the designated portion of an SNMP message and the first 96 bits of this digest is included as part of the message sent to the recipient. The size of the digest carried in a message is 12 octets. The size of the private authentication key (the secret) is 16 octets. For the details see section 6.3.
このプロトコルは、MD5 [MD5]メッセージダイジェストアルゴリズムを使用します。 128ビットのMD5ダイジェストは、SNMPメッセージの指定部分に対して特別な(HMAC)方法で計算され、このダイジェストの最初の96ビットは、受信者に送信されるメッセージの一部として含まれます。メッセージで運ばれるダイジェストのサイズは12オクテットです。秘密認証キー(シークレット)のサイズは16オクテットです。詳細については、セクション6.3を参照してください。
This section contains definitions required to realize the authentication module defined in this section of this memo.
このセクションには、このメモのこのセクションで定義されている認証モジュールを実現するために必要な定義が含まれています。
Authentication using this authentication protocol makes use of a defined set of userNames. For any user on whose behalf a message must be authenticated at a particular SNMP engine, that SNMP engine must have knowledge of that user. An SNMP engine that wishes to communicate with another SNMP engine must also have knowledge of a user known to that engine, including knowledge of the applicable attributes of that user.
この認証プロトコルを使用した認証では、定義された一連のuserNameを使用します。特定のSNMPエンジンでメッセージを認証する必要があるユーザーの場合、SNMPエンジンはそのユーザーの知識を持っている必要があります。別のSNMPエンジンと通信するSNMPエンジンは、そのエンジンに認識されているユーザーの知識(そのユーザーに適用可能な属性の知識を含む)も持っている必要があります。
A user and its attributes are defined as follows:
ユーザーとその属性は次のように定義されます。
<userName> A string representing the name of the user. <authKey> A user's secret key to be used when calculating a digest. It MUST be 16 octets long for MD5.
<userName>ユーザーの名前を表す文字列。 <authKey>ダイジェストを計算するときに使用されるユーザーの秘密鍵。 MD5では16オクテットでなければなりません。
The msgAuthoritativeEngineID value contained in an authenticated message specifies the authoritative SNMP engine for that particular message (see the definition of SnmpEngineID in the SNMP Architecture document [RFC2271]).
認証されたメッセージに含まれるmsgAuthoritativeEngineID値は、その特定のメッセージに対する信頼できるSNMPエンジンを指定します(SNMPアーキテクチャドキュメント[RFC2271]のSnmpEngineIDの定義を参照してください)。
The user's (private) authentication key is normally different at each authoritative SNMP engine and so the snmpEngineID is used to select the proper key for the authentication process.
ユーザーの(プライベート)認証キーは通常、信頼できるSNMPエンジンごとに異なるため、snmpEngineIDを使用して認証プロセスに適切なキーを選択します。
Messages using this authentication protocol carry a msgAuthenticationParameters field as part of the msgSecurityParameters. For this protocol, the msgAuthenticationParameters field is the serialized OCTET STRING representing the first 12 octets of the HMAC-MD5-96 output done over the wholeMsg.
この認証プロトコルを使用するメッセージには、msgSecurityParametersの一部としてmsgAuthenticationParametersフィールドが含まれます。このプロトコルの場合、msgAuthenticationParametersフィールドは、HMS-MD5-96出力全体の最初の12オクテットを表す、シリアライズされたOCTET STRINGです。
The digest is calculated over the wholeMsg so if a message is authenticated, that also means that all the fields in the message are intact and have not been tampered with.
ダイジェストは全体のメッセージに対して計算されるため、メッセージが認証された場合、メッセージのすべてのフィールドが変更されておらず、改ざんされていないことも意味します。
This section describes the inputs and outputs that the HMAC-MD5-96 Authentication module expects and produces when the User-based Security module calls the HMAC-MD5-96 Authentication module for services.
このセクションでは、ユーザーベースのセキュリティモジュールがサービスのHMAC-MD5-96認証モジュールを呼び出すときに、HMAC-MD5-96認証モジュールが予期し、生成する入出力について説明します。
The HMAC-MD5-96 authentication protocol assumes that the selection of the authKey is done by the caller and that the caller passes the secret key to be used.
HMAC-MD5-96認証プロトコルは、authKeyの選択が呼び出し元によって行われ、呼び出し元が使用する秘密鍵を渡すことを前提としています。
Upon completion the authentication module returns statusInformation and, if the message digest was correctly calculated, the wholeMsg with the digest inserted at the proper place. The abstract service primitive is:
完了すると、認証モジュールはstatusInformationを返し、メッセージダイジェストが正しく計算された場合は、適切な場所に挿入されたダイジェストを含むholeMsg。抽象サービスプリミティブは次のとおりです。
statusInformation = -- success or failure authenticateOutgoingMsg( IN authKey -- secret key for authentication IN wholeMsg -- unauthenticated complete message OUT authenticatedWholeMsg -- complete authenticated message )
statusInformation =-成功または失敗authenticateOutgoingMsg(IN authKey-認証用の秘密鍵IN wholeMsg-認証されていない完全なメッセージOUT authenticationWholeMsg-完全に認証されたメッセージ)
The abstract data elements are:
抽象データ要素は次のとおりです。
statusInformation An indication of whether the authentication process was successful. If not it is an indication of the problem. authKey The secret key to be used by the authentication algorithm. The length of this key MUST be 16 octets. wholeMsg The message to be authenticated. authenticatedWholeMsg The authenticated message (including inserted digest) on output.
statusInformation認証プロセスが成功したかどうかを示します。そうでない場合は、問題の兆候です。 authKey認証アルゴリズムで使用される秘密鍵。このキーの長さは16オクテットでなければなりません。 wholeMsg認証されるメッセージ。 authenticationWholeMsg出力時の認証済みメッセージ(挿入されたダイジェストを含む)。
Note, that authParameters field is filled by the authentication module and this field should be already present in the wholeMsg before the Message Authentication Code (MAC) is generated.
authParametersフィールドは認証モジュールによって入力され、このフィールドはメッセージ認証コード(MAC)が生成される前に、WholeMsgにすでに存在していることに注意してください。
The HMAC-MD5-96 authentication protocol assumes that the selection of the authKey is done by the caller and that the caller passes the secret key to be used.
HMAC-MD5-96認証プロトコルは、authKeyの選択が呼び出し元によって行われ、呼び出し元が使用する秘密鍵を渡すことを前提としています。
Upon completion the authentication module returns statusInformation and, if the message digest was correctly calculated, the wholeMsg as it was processed. The abstract service primitive is:
完了すると、認証モジュールはstatusInformationを返し、メッセージダイジェストが正しく計算された場合は、処理されたときの全体のメッセージです。抽象サービスプリミティブは次のとおりです。
statusInformation = -- success or failure authenticateIncomingMsg( IN authKey -- secret key for authentication IN authParameters -- as received on the wire IN wholeMsg -- as received on the wire OUT authenticatedWholeMsg -- complete authenticated message )
statusInformation =-成功または失敗authenticateIncomingMsg(IN authKey-認証用の秘密鍵IN authParameters-回線上で受信されたとおりINholeMsg-回線上で受信された場合OUT authenticationWholeMsg-完全な認証済みメッセージ)
The abstract data elements are:
抽象データ要素は次のとおりです。
statusInformation An indication of whether the authentication process was successful. If not it is an indication of the problem. authKey The secret key to be used by the authentication algorithm. The length of this key MUST be 16 octets. authParameters The authParameters from the incoming message. wholeMsg The message to be authenticated on input and the authenticated message on output. authenticatedWholeMsg The whole message after the authentication check is complete.
statusInformation認証プロセスが成功したかどうかを示します。そうでない場合は、問題の兆候です。 authKey認証アルゴリズムで使用される秘密鍵。このキーの長さは16オクテットでなければなりません。 authParameters着信メッセージからのauthParameters。 wholeMsg入力時に認証されるメッセージと出力時に認証されたメッセージ。 authenticationWholeMsg認証チェックが完了した後のメッセージ全体。
This section describes the procedures for the HMAC-MD5-96 authentication protocol.
このセクションでは、HMAC-MD5-96認証プロトコルの手順について説明します。
This section describes the procedure followed by an SNMP engine whenever it must authenticate an outgoing message using the usmHMACMD5AuthProtocol.
このセクションでは、usmHMACMD5AuthProtocolを使用して発信メッセージを認証する必要がある場合に、SNMPエンジンが従う手順について説明します。
1) The msgAuthenticationParameters field is set to the serialization, according to the rules in [RFC1906], of an OCTET STRING containing 12 zero octets.
1)msgAuthenticationParametersフィールドは、[RFC1906]の規則に従って、12個のゼロオクテットを含むOCTET STRINGのシリアル化に設定されます。
2) From the secret authKey, two keys K1 and K2 are derived:
2)秘密のauthKeyから、2つの鍵K1およびK2が導出されます。
a) extend the authKey to 64 octets by appending 48 zero octets; save it as extendedAuthKey b) obtain IPAD by replicating the octet 0x36 64 times; c) obtain K1 by XORing extendedAuthKey with IPAD; d) obtain OPAD by replicating the octet 0x5C 64 times; e) obtain K2 by XORing extendedAuthKey with OPAD.
4) Prepend K1 to the wholeMsg and calculate MD5 digest over it according to [MD5].
4)WholeMsgにK1を付加し、[MD5]に従ってMD5ダイジェストを計算します。
5) Prepend K2 to the result of the step 4 and calculate MD5 digest over it according to [MD5]. Take the first 12 octets of the final digest - this is Message Authentication Code (MAC).
5)ステップ4の結果にK2を付加し、[MD5]に従ってMD5ダイジェストを計算します。最終ダイジェストの最初の12オクテットを取得します-これはメッセージ認証コード(MAC)です。
6) Replace the msgAuthenticationParameters field with MAC obtained in the step 5.
6)msgAuthenticationParametersフィールドを、手順5で取得したMACに置き換えます。
7) The authenticatedWholeMsg is then returned to the caller together with statusInformation indicating success.
7)次に、authenticationWholeMsgが、成功を示すstatusInformationとともに呼び出し元に返されます。
This section describes the procedure followed by an SNMP engine whenever it must authenticate an incoming message using the usmHMACMD5AuthProtocol.
このセクションでは、usmHMACMD5AuthProtocolを使用して着信メッセージを認証する必要がある場合に、SNMPエンジンが従う手順について説明します。
1) If the digest received in the msgAuthenticationParameters field is not 12 octets long, then an failure and an errorIndication (authenticationError) is returned to the calling module.
1)msgAuthenticationParametersフィールドで受信したダイジェストが12オクテット長でない場合、失敗とerrorIndication(authenticationError)が呼び出し側モジュールに返されます。
2) The MAC received in the msgAuthenticationParameters field is saved.
2)msgAuthenticationParametersフィールドで受信したMACが保存されます。
3) The digest in the msgAuthenticationParameters field is replaced by the 12 zero octets.
3)msgAuthenticationParametersフィールドのダイジェストは、12個のゼロオクテットに置き換えられます。
4) From the secret authKey, two keys K1 and K2 are derived:
4)秘密のauthKeyから、2つの鍵K1およびK2が導出されます。
a) extend the authKey to 64 octets by appending 48 zero octets; save it as extendedAuthKey b) obtain IPAD by replicating the octet 0x36 64 times; c) obtain K1 by XORing extendedAuthKey with IPAD; d) obtain OPAD by replicating the octet 0x5C 64 times; e) obtain K2 by XORing extendedAuthKey with OPAD.
5) The MAC is calculated over the wholeMsg:
5)MACは全体のメッセージに対して計算されます。
a) prepend K1 to the wholeMsg and calculate the MD5 digest over it; b) prepend K2 to the result of step 5.a and calculate the MD5 digest over it; c) first 12 octets of the result of step 5.b is the MAC.
The msgAuthenticationParameters field is replaced with the MAC value that was saved in step 2.
msgAuthenticationParametersフィールドは、手順2で保存されたMAC値に置き換えられます。
6) Then the newly calculated MAC is compared with the MAC saved in step 2. If they do not match, then an failure and an errorIndication (authenticationFailure) is returned to the calling module.
6)次に、新しく計算されたMACがステップ2で保存されたMACと比較されます。それらが一致しない場合、失敗とerrorIndication(authenticationFailure)が呼び出し側モジュールに返されます。
7) The authenticatedWholeMsg and statusInformation indicating success are then returned to the caller.
7)その後、authenticatedWholeMsgおよび成功を示すstatusInformationが呼び出し元に返されます。
This section describes the HMAC-SHA-96 authentication protocol. This protocol uses the SHA hash-function which is described in [SHA-NIST], in HMAC mode described in [RFC2104], truncating the output to 96 bits.
このセクションでは、HMAC-SHA-96認証プロトコルについて説明します。このプロトコルは、[SHA-NIST]で説明されているSHAハッシュ関数を使用し、[RFC2104]で説明されているHMACモードで、出力を96ビットに切り捨てます。
This protocol is identified by usmHMACSHAAuthProtocol.
このプロトコルは、usmHMACSHAAuthProtocolによって識別されます。
Over time, other authentication protocols may be defined either as a replacement of this protocol or in addition to this protocol.
時間の経過とともに、他の認証プロトコルは、このプロトコルの代替として、またはこのプロトコルに加えて定義される可能性があります。
- In support of data integrity, a message digest algorithm is required. A digest is calculated over an appropriate portion of an SNMP message and included as part of the message sent to the recipient.
- データの整合性をサポートするには、メッセージダイジェストアルゴリズムが必要です。ダイジェストは、SNMPメッセージの適切な部分で計算され、受信者に送信されるメッセージの一部として含まれます。
- In support of data origin authentication and data integrity, a secret value is prepended to the SNMP message prior to computing the digest; the calculated digest is then partially inserted into the message prior to transmission. The prepended secret is not transmitted. The secret value is shared by all SNMP engines authorized to originate messages on behalf of the appropriate user.
- データ発信元認証とデータ整合性をサポートするために、ダイジェストを計算する前に、秘密値がSNMPメッセージに付加されます。計算されたダイジェストは、送信前にメッセージに部分的に挿入されます。先頭に追加されたシークレットは送信されません。シークレット値は、適切なユーザーに代わってメッセージを発信することを許可されたすべてのSNMPエンジンによって共有されます。
The Digest Authentication Mechanism defined in this memo provides for:
このメモで定義されているダイジェスト認証メカニズムは、以下を提供します:
- verification of the integrity of a received message, i.e., the the message received is the message sent.
- 受信したメッセージの完全性の検証、つまり、受信したメッセージは送信したメッセージです。
The integrity of the message is protected by computing a digest over an appropriate portion of the message. The digest is computed by the originator of the message, transmitted with the message, and verified by the recipient of the message.
メッセージの整合性は、メッセージの適切な部分でダイジェストを計算することによって保護されます。ダイジェストはメッセージの発信者によって計算され、メッセージとともに送信され、メッセージの受信者によって検証されます。
- verification of the user on whose behalf the message was generated.
- メッセージが生成されたユーザーの確認。
A secret value known only to SNMP engines authorized to generate messages on behalf of a user is used in HMAC mode (see [RFC2104]). It also recommends the hash-function output used as Message Authentication Code, to be truncated.
ユーザーに代わってメッセージを生成することを許可されたSNMPエンジンだけが知っている秘密の値がHMACモードで使用されます([RFC2104]を参照)。また、メッセージ認証コードとして使用されるハッシュ関数の出力を切り捨てることをお勧めします。
This mechanism uses the SHA [SHA-NIST] message digest algorithm. A 160-bit SHA digest is calculated in a special (HMAC) way over the designated portion of an SNMP message and the first 96 bits of this digest is included as part of the message sent to the recipient. The size of the digest carried in a message is 12 octets. The size of the private authentication key (the secret) is 20 octets. For the details see section 7.3.
このメカニズムは、SHA [SHA-NIST]メッセージダイジェストアルゴリズムを使用します。 160ビットのSHAダイジェストは、SNMPメッセージの指定部分に対して特別な(HMAC)方法で計算され、このダイジェストの最初の96ビットは、受信者に送信されるメッセージの一部として含まれます。メッセージで運ばれるダイジェストのサイズは12オクテットです。秘密認証キー(シークレット)のサイズは20オクテットです。詳細については、セクション7.3を参照してください。
This section contains definitions required to realize the authentication module defined in this section of this memo.
このセクションには、このメモのこのセクションで定義されている認証モジュールを実現するために必要な定義が含まれています。
Authentication using this authentication protocol makes use of a defined set of userNames. For any user on whose behalf a message must be authenticated at a particular SNMP engine, that SNMP engine must have knowledge of that user. An SNMP engine that wishes to communicate with another SNMP engine must also have knowledge of a user known to that engine, including knowledge of the applicable attributes of that user.
この認証プロトコルを使用した認証では、定義された一連のuserNameを使用します。特定のSNMPエンジンでメッセージを認証する必要があるユーザーの場合、SNMPエンジンはそのユーザーの知識を持っている必要があります。別のSNMPエンジンと通信するSNMPエンジンは、そのエンジンに認識されているユーザーの知識(そのユーザーに適用可能な属性の知識を含む)も持っている必要があります。
A user and its attributes are defined as follows:
ユーザーとその属性は次のように定義されます。
<userName> A string representing the name of the user. <authKey> A user's secret key to be used when calculating a digest. It MUST be 20 octets long for SHA.
<userName>ユーザーの名前を表す文字列。 <authKey>ダイジェストを計算するときに使用されるユーザーの秘密鍵。 SHAの場合は20オクテットでなければなりません。
The msgAuthoritativeEngineID value contained in an authenticated message specifies the authoritative SNMP engine for that particular message (see the definition of SnmpEngineID in the SNMP Architecture document [RFC2271]).
The msgAuthoritativeEngineID value contained in an authenticated message specifies the authoritative SNMP engine for that particular message (see the definition of SnmpEngineID in the SNMP Architecture document [RFC2271]).
The user's (private) authentication key is normally different at each authoritative SNMP engine and so the snmpEngineID is used to select the proper key for the authentication process.
ユーザーの(プライベート)認証キーは通常、信頼できるSNMPエンジンごとに異なるため、snmpEngineIDを使用して認証プロセスに適切なキーを選択します。
Messages using this authentication protocol carry a msgAuthenticationParameters field as part of the msgSecurityParameters. For this protocol, the msgAuthenticationParameters field is the serialized OCTET STRING representing the first 12 octets of HMAC-SHA-96 output done over the wholeMsg.
この認証プロトコルを使用するメッセージには、msgSecurityParametersの一部としてmsgAuthenticationParametersフィールドが含まれます。このプロトコルの場合、msgAuthenticationParametersフィールドは、HMS-SHA-96出力全体の最初の12オクテットを表す、シリアル化されたOCTET STRINGです。
The digest is calculated over the wholeMsg so if a message is authenticated, that also means that all the fields in the message are intact and have not been tampered with.
ダイジェストは全体のメッセージに対して計算されるため、メッセージが認証された場合、メッセージのすべてのフィールドが変更されておらず、改ざんされていないことも意味します。
This section describes the inputs and outputs that the HMAC-SHA-96 Authentication module expects and produces when the User-based Security module calls the HMAC-SHA-96 Authentication module for services.
このセクションでは、ユーザーベースのセキュリティモジュールがサービスのHMAC-SHA-96認証モジュールを呼び出すときに、HMAC-SHA-96認証モジュールが予期し、生成する入出力について説明します。
HMAC-SHA-96 authentication protocol assumes that the selection of the authKey is done by the caller and that the caller passes the secret key to be used.
HMAC-SHA-96認証プロトコルは、authKeyの選択が呼び出し元によって行われ、呼び出し元が使用する秘密鍵を渡すことを前提としています。
Upon completion the authentication module returns statusInformation and, if the message digest was correctly calculated, the wholeMsg with the digest inserted at the proper place. The abstract service primitive is:
完了すると、認証モジュールはstatusInformationを返し、メッセージダイジェストが正しく計算された場合は、適切な場所に挿入されたダイジェストを含むholeMsg。抽象サービスプリミティブは次のとおりです。
statusInformation = -- success or failure authenticateOutgoingMsg( IN authKey -- secret key for authentication IN wholeMsg -- unauthenticated complete message OUT authenticatedWholeMsg -- complete authenticated message )
statusInformation =-成功または失敗authenticateOutgoingMsg(IN authKey-認証用の秘密鍵IN wholeMsg-認証されていない完全なメッセージOUT authenticationWholeMsg-完全に認証されたメッセージ)
The abstract data elements are:
抽象データ要素は次のとおりです。
statusInformation An indication of whether the authentication process was successful. If not it is an indication of the problem. authKey The secret key to be used by the authentication algorithm. The length of this key MUST be 20 octets. wholeMsg The message to be authenticated.
statusInformation認証プロセスが成功したかどうかを示します。そうでない場合は、問題の兆候です。 authKey認証アルゴリズムで使用される秘密鍵。このキーの長さは20オクテットでなければなりません。 wholeMsg認証されるメッセージ。
authenticatedWholeMsg The authenticated message (including inserted digest) on output.
authenticationWholeMsg出力時の認証済みメッセージ(挿入されたダイジェストを含む)。
Note, that authParameters field is filled by the authentication module and this field should be already present in the wholeMsg before the Message Authentication Code (MAC) is generated.
authParametersフィールドは認証モジュールによって入力され、このフィールドはメッセージ認証コード(MAC)が生成される前に、WholeMsgにすでに存在していることに注意してください。
HMAC-SHA-96 authentication protocol assumes that the selection of the authKey is done by the caller and that the caller passes the secret key to be used.
HMAC-SHA-96認証プロトコルは、authKeyの選択が呼び出し元によって行われ、呼び出し元が使用する秘密鍵を渡すことを前提としています。
Upon completion the authentication module returns statusInformation and, if the message digest was correctly calculated, the wholeMsg as it was processed. The abstract service primitive is:
完了すると、認証モジュールはstatusInformationを返し、メッセージダイジェストが正しく計算された場合は、処理されたときの全体のメッセージです。抽象サービスプリミティブは次のとおりです。
statusInformation = -- success or failure authenticateIncomingMsg( IN authKey -- secret key for authentication IN authParameters -- as received on the wire IN wholeMsg -- as received on the wire OUT authenticatedWholeMsg -- complete authenticated message )
statusInformation =-成功または失敗authenticateIncomingMsg(IN authKey-認証用の秘密鍵IN authParameters-回線上で受信されたとおりINholeMsg-回線上で受信された場合OUT authenticationWholeMsg-完全な認証済みメッセージ)
The abstract data elements are:
抽象データ要素は次のとおりです。
statusInformation An indication of whether the authentication process was successful. If not it is an indication of the problem. authKey The secret key to be used by the authentication algorithm. The length of this key MUST be 20 octets. authParameters The authParameters from the incoming message. wholeMsg The message to be authenticated on input and the authenticated message on output. authenticatedWholeMsg The whole message after the authentication check is complete.
statusInformation認証プロセスが成功したかどうかを示します。そうでない場合は、問題の兆候です。 authKey認証アルゴリズムで使用される秘密鍵。このキーの長さは20オクテットでなければなりません。 authParameters着信メッセージからのauthParameters。 wholeMsg入力時に認証されるメッセージと出力時に認証されたメッセージ。 authenticationWholeMsg認証チェックが完了した後のメッセージ全体。
This section describes the procedures for the HMAC-SHA-96 authentication protocol.
このセクションでは、HMAC-SHA-96認証プロトコルの手順について説明します。
This section describes the procedure followed by an SNMP engine whenever it must authenticate an outgoing message using the usmHMACSHAAuthProtocol.
このセクションでは、usmHMACSHAAuthProtocolを使用して発信メッセージを認証する必要がある場合に、SNMPエンジンが従う手順について説明します。
1) The msgAuthenticationParameters field is set to the serialization, according to the rules in [RFC1906], of an OCTET STRING containing 12 zero octets.
1)msgAuthenticationParametersフィールドは、[RFC1906]の規則に従って、12個のゼロオクテットを含むOCTET STRINGのシリアル化に設定されます。
2) From the secret authKey, two keys K1 and K2 are derived:
2)秘密のauthKeyから、2つの鍵K1およびK2が導出されます。
a) extend the authKey to 64 octets by appending 44 zero octets; save it as extendedAuthKey b) obtain IPAD by replicating the octet 0x36 64 times; c) obtain K1 by XORing extendedAuthKey with IPAD; d) obtain OPAD by replicating the octet 0x5C 64 times; e) obtain K2 by XORing extendedAuthKey with OPAD.
3) Prepend K1 to the wholeMsg and calculate the SHA digest over it according to [SHA-NIST].
3) Prepend K1 to the wholeMsg and calculate the SHA digest over it according to [SHA-NIST].
4) Prepend K2 to the result of the step 4 and calculate SHA digest over it according to [SHA-NIST]. Take the first 12 octets of the final digest - this is Message Authentication Code (MAC).
4)ステップ4の結果にK2を付加し、[SHA-NIST]に従ってSHAダイジェストを計算します。最終ダイジェストの最初の12オクテットを取得します-これはメッセージ認証コード(MAC)です。
5) Replace the msgAuthenticationParameters field with MAC obtained in the step 5.
5)msgAuthenticationParametersフィールドを、手順5で取得したMACに置き換えます。
6) The authenticatedWholeMsg is then returned to the caller together with statusInformation indicating success.
6)次に、authenticationWholeMsgが、成功を示すstatusInformationとともに呼び出し元に返されます。
This section describes the procedure followed by an SNMP engine whenever it must authenticate an incoming message using the usmHMACSHAAuthProtocol.
このセクションでは、usmHMACSHAAuthProtocolを使用して着信メッセージを認証する必要がある場合に、SNMPエンジンが従う手順について説明します。
1) If the digest received in the msgAuthenticationParameters field is not 12 octets long, then an failure and an errorIndication (authenticationError) is returned to the calling module.
1) If the digest received in the msgAuthenticationParameters field is not 12 octets long, then an failure and an errorIndication (authenticationError) is returned to the calling module.
2) The MAC received in the msgAuthenticationParameters field is saved.
2)msgAuthenticationParametersフィールドで受信したMACが保存されます。
3) The digest in the msgAuthenticationParameters field is replaced by the 12 zero octets.
3)msgAuthenticationParametersフィールドのダイジェストは、12個のゼロオクテットに置き換えられます。
4) From the secret authKey, two keys K1 and K2 are derived:
4)秘密のauthKeyから、2つの鍵K1およびK2が導出されます。
a) extend the authKey to 64 octets by appending 44 zero octets; save it as extendedAuthKey b) obtain IPAD by replicating the octet 0x36 64 times; c) obtain K1 by XORing extendedAuthKey with IPAD; d) obtain OPAD by replicating the octet 0x5C 64 times; e) obtain K2 by XORing extendedAuthKey with OPAD.
5) The MAC is calculated over the wholeMsg:
5)MACは全体のメッセージに対して計算されます。
a) prepend K1 to the wholeMsg and calculate the SHA digest over it; b) prepend K2 to the result of step 5.a and calculate the SHA digest over it; c) first 12 octets of the result of step 5.b is the MAC.
The msgAuthenticationParameters field is replaced with the MAC value that was saved in step 2.
msgAuthenticationParametersフィールドは、手順2で保存されたMAC値に置き換えられます。
6) The the newly calculated MAC is compared with the MAC saved in step 2. If they do not match, then a failure and an errorIndication (authenticationFailure) are returned to the calling module.
6)新しく計算されたMACは、ステップ2で保存されたMACと比較されます。それらが一致しない場合、失敗とerrorIndication(authenticationFailure)が呼び出し側モジュールに返されます。
7) The authenticatedWholeMsg and statusInformation indicating success are then returned to the caller.
7) The authenticatedWholeMsg and statusInformation indicating success are then returned to the caller.
This section describes the CBC-DES Symmetric Encryption Protocol. This protocol is the first privacy protocol defined for the User-based Security Model.
このセクションでは、CBC-DES対称暗号化プロトコルについて説明します。このプロトコルは、ユーザーベースのセキュリティモデル用に定義された最初のプライバシープロトコルです。
This protocol is identified by usmDESPrivProtocol.
このプロトコルは、usmDESPrivProtocolによって識別されます。
Over time, other privacy protocols may be defined either as a replacement of this protocol or in addition to this protocol.
今後、他のプライバシープロトコルは、このプロトコルの代替として、またはこのプロトコルに加えて定義される可能性があります。
- In support of data confidentiality, an encryption algorithm is required. An appropriate portion of the message is encrypted prior to being transmitted. The User-based Security Model specifies that the scopedPDU is the portion of the message that needs to be encrypted.
- データの機密性をサポートするには、暗号化アルゴリズムが必要です。メッセージの適切な部分は、送信される前に暗号化されます。ユーザーベースのセキュリティモデルは、scopedPDUがメッセージの暗号化が必要な部分であることを指定しています。
- A secret value in combination with a timeliness value is used to create the en/decryption key and the initialization vector. The secret value is shared by all SNMP engines authorized to originate messages on behalf of the appropriate user.
- 適時性値と組み合わせた秘密値を使用して、暗号化/復号化キーと初期化ベクトルが作成されます。シークレット値は、適切なユーザーに代わってメッセージを発信することを許可されたすべてのSNMPエンジンによって共有されます。
The Symmetric Encryption Protocol defined in this memo provides support for data confidentiality. The designated portion of an SNMP message is encrypted and included as part of the message sent to the recipient.
このメモで定義されている対称暗号化プロトコルは、データの機密性をサポートします。 SNMPメッセージの指定部分は暗号化され、受信者に送信されるメッセージの一部として含まれます。
Two organizations have published specifications defining the DES: the National Institute of Standards and Technology (NIST) [DES-NIST] and the American National Standards Institute [DES-ANSI]. There is a companion Modes of Operation specification for each definition ([DESO-NIST] and [DESO-ANSI], respectively).
2つの組織がDESを定義する仕様を公開しています。NationalInstitute of Standards and Technology(NIST)[DES-NIST]とAmerican National Standards Institute [DES-ANSI]です。各定義([DESO-NIST]と[DESO-ANSI]のそれぞれ)に対応する動作モードの仕様があります。
The NIST has published three additional documents that implementors may find useful.
NISTは、実装者が役立つと思われる3つの追加ドキュメントを公開しています。
- There is a document with guidelines for implementing and using the DES, including functional specifications for the DES and its modes of operation [DESG-NIST].
- There is a document with guidelines for implementing and using the DES, including functional specifications for the DES and its modes of operation [DESG-NIST].
- There is a specification of a validation test suite for the DES [DEST-NIST]. The suite is designed to test all aspects of the DES and is useful for pinpointing specific problems.
- DES [DEST-NIST]の検証テストスイートの仕様があります。このスイートは、DESのすべての側面をテストするように設計されており、特定の問題を特定するのに役立ちます。
- There is a specification of a maintenance test for the DES [DESM-NIST]. The test utilizes a minimal amount of data and processing to test all components of the DES. It provides a simple yes-or-no indication of correct operation and is useful to run as part of an initialization step, e.g., when a computer re-boots.
- DESの保守テストの仕様があります[DESM-NIST]。テストでは、最小限のデータと処理を使用して、DESのすべてのコンポーネントをテストします。これは、正しい操作の単純な「はい」または「いいえ」の表示を提供し、たとえばコンピューターが再起動するときなど、初期化ステップの一部として実行するのに役立ちます。
8.1.1.1. DES key and Initialization Vector.
8.1.1.1. DESキーと初期化ベクトル。
The first 8 octets of the 16-octet secret (private privacy key) are used as a DES key. Since DES uses only 56 bits, the Least Significant Bit in each octet is disregarded.
16オクテットシークレット(プライベートプライバシーキー)の最初の8オクテットがDESキーとして使用されます。 DESは56ビットのみを使用するため、各オクテットの最下位ビットは無視されます。
The Initialization Vector for encryption is obtained using the following procedure.
暗号化の初期化ベクトルは、次の手順で取得します。
The last 8 octets of the 16-octet secret (private privacy key) are used as pre-IV.
16オクテットのシークレット(プライベートプライバシーキー)の最後の8オクテットは、IV以前のバージョンとして使用されます。
In order to ensure that the IV for two different packets encrypted by the same key, are not the same (i.e., the IV does not repeat) we need to "salt" the pre-IV with something unique per packet. An 8-octet string is used as the "salt". The concatenation of the generating SNMP engine's 32-bit snmpEngineBoots and a local 32-bit integer, that the encryption engine maintains, is input to the "salt". The 32-bit integer is initialized to an arbitrary value at boot time.
同じキーで暗号化された2つの異なるパケットのIVが同じにならないようにする(つまり、IVが繰り返されない)ためには、パケットごとに固有の何かでpre-IVを「ソルト」する必要があります。 「塩」として8オクテットの文字列が使用されます。生成するSNMPエンジンの32ビットのsnmpEngineBootsと、暗号化エンジンが保持するローカルの32ビットの整数を連結したものが「塩」に入力されます。 32ビット整数は、ブート時に任意の値に初期化されます。
The 32-bit snmpEngineBoots is converted to the first 4 octets (Most Significant Byte first) of our "salt". The 32-bit integer is then converted to the last 4 octet (Most Significant Byte first) of our "salt". The resulting "salt" is then XOR-ed with the pre-IV. The 8- octet "salt" is then put into the privParameters field encoded as an OCTET STRING. The "salt" integer is then modified. We recommend that it be incremented by one and wrap when it reaches the maximum value.
32ビットのsnmpEngineBootsは、「塩」の最初の4オクテット(最上位バイトが最初)に変換されます。次に、32ビット整数は、「塩」の最後の4オクテット(最上位バイトが最初)に変換されます。結果として得られる「塩」は、前IVとXORされます。次に、8オクテットの「塩」がOCTET STRINGとしてエンコードされたprivParametersフィールドに入力されます。次に、「塩」整数が変更されます。最大値に達したときに1ずつ増やしてラップすることをお勧めします。
How exactly the value of the "salt" (and thus of the IV) varies, is an implementation issue, as long as the measures are taken to avoid producing a duplicate IV.
重複したIVの生成を回避するための対策が講じられている限り、「塩」(したがってIVの値)がどの程度正確に変化するかは、実装の問題です。
The "salt" must be placed in the privParameters field to enable the receiving entity to compute the correct IV and to decrypt the message.
「塩」は、受信エンティティが正しいIVを計算してメッセージを復号化できるように、privParametersフィールドに配置する必要があります。
8.1.1.2. Data Encryption.
8.1.1.2. データ暗号化。
The data to be encrypted is treated as sequence of octets. Its length should be an integral multiple of 8 - and if it is not, the data is padded at the end as necessary. The actual pad value is irrelevant.
The data to be encrypted is treated as sequence of octets. Its length should be an integral multiple of 8 - and if it is not, the data is padded at the end as necessary. The actual pad value is irrelevant.
The data is encrypted in Cipher Block Chaining mode.
データは暗号化ブロックチェーンモードで暗号化されます。
The plaintext is divided into 64-bit blocks.
The plaintext is divided into 64-bit blocks.
The plaintext for each block is XOR-ed with the ciphertext of the previous block, the result is encrypted and the output of the encryption is the ciphertext for the block. This procedure is repeated until there are no more plaintext blocks.
各ブロックの平文は前のブロックの暗号文とXORされ、結果は暗号化され、暗号化の出力はブロックの暗号文です。この手順は、平文ブロックがなくなるまで繰り返されます。
For the very first block, the Initialization Vector is used instead of the ciphertext of the previous block.
最初のブロックでは、前のブロックの暗号文の代わりに初期化ベクトルが使用されます。
Before decryption, the encrypted data length is verified. If the length of the OCTET STRING to be decrypted is not an integral multiple of 8 octets, the decryption process is halted and an appropriate exception noted. When decrypting, the padding is ignored.
Before decryption, the encrypted data length is verified. If the length of the OCTET STRING to be decrypted is not an integral multiple of 8 octets, the decryption process is halted and an appropriate exception noted. When decrypting, the padding is ignored.
The first ciphertext block is decrypted, the decryption output is XOR-ed with the Initialization Vector, and the result is the first plaintext block.
最初の暗号文ブロックが復号化され、復号化出力が初期化ベクトルとXORされ、結果が最初の平文ブロックになります。
For each subsequent block, the ciphertext block is decrypted, the decryption output is XOR-ed with the previous ciphertext block and the result is the plaintext block.
後続のブロックごとに、暗号文ブロックが復号化され、復号化出力が前の暗号文ブロックとXORされ、結果が平文ブロックになります。
This section contains definitions required to realize the privacy module defined by this memo.
このセクションには、このメモで定義されているプライバシーモジュールを実現するために必要な定義が含まれています。
Data en/decryption using this Symmetric Encryption Protocol makes use of a defined set of userNames. For any user on whose behalf a message must be en/decrypted at a particular SNMP engine, that SNMP engine must have knowledge of that user. An SNMP engine that wishes to communicate with another SNMP engine must also have knowledge of a user known to that SNMP engine, including knowledge of the applicable attributes of that user.
この対称暗号化プロトコルを使用したデータ暗号化/復号化は、定義された一連のuserNameを利用します。特定のSNMPエンジンでメッセージを暗号化または復号化する必要があるユーザーの場合、そのSNMPエンジンはそのユーザーの知識を持っている必要があります。別のSNMPエンジンとの通信を希望するSNMPエンジンは、そのSNMPエンジンが認識しているユーザーの知識(そのユーザーの適用可能な属性の知識を含む)も持っている必要があります。
A user and its attributes are defined as follows:
ユーザーとその属性は次のように定義されます。
<userName> An octet string representing the name of the user. <privKey> A user's secret key to be used as input for the DES key and IV. The length of this key MUST be 16 octets.
<userName> An octet string representing the name of the user. <privKey> A user's secret key to be used as input for the DES key and IV. The length of this key MUST be 16 octets.
The msgAuthoritativeEngineID value contained in an authenticated message specifies the authoritative SNMP engine for that particular message (see the definition of SnmpEngineID in the SNMP Architecture document [RFC2271]).
認証されたメッセージに含まれるmsgAuthoritativeEngineID値は、その特定のメッセージに対する信頼できるSNMPエンジンを指定します(SNMPアーキテクチャドキュメント[RFC2271]のSnmpEngineIDの定義を参照してください)。
The user's (private) privacy key is normally different at each authoritative SNMP engine and so the snmpEngineID is used to select the proper key for the en/decryption process.
The user's (private) privacy key is normally different at each authoritative SNMP engine and so the snmpEngineID is used to select the proper key for the en/decryption process.
Messages using this privacy protocol carry a msgPrivacyParameters field as part of the msgSecurityParameters. For this protocol, the msgPrivacyParameters field is the serialized OCTET STRING representing the "salt" that was used to create the IV.
このプライバシープロトコルを使用するメッセージには、msgSecurityParametersの一部としてmsgPrivacyParametersフィールドが含まれます。このプロトコルの場合、msgPrivacyParametersフィールドは、IVの作成に使用された「塩」を表すシリアル化されたOCTET STRINGです。
This section describes the inputs and outputs that the DES Privacy module expects and produces when the User-based Security module invokes the DES Privacy module for services.
このセクションでは、ユーザーベースのセキュリティモジュールがサービスのためにDESプライバシーモジュールを呼び出すときに、DESプライバシーモジュールが予期し、生成する入出力について説明します。
This DES privacy protocol assumes that the selection of the privKey is done by the caller and that the caller passes the secret key to be used.
This DES privacy protocol assumes that the selection of the privKey is done by the caller and that the caller passes the secret key to be used.
Upon completion the privacy module returns statusInformation and, if the encryption process was successful, the encryptedPDU and the msgPrivacyParameters encoded as an OCTET STRING. The abstract service primitive is:
Upon completion the privacy module returns statusInformation and, if the encryption process was successful, the encryptedPDU and the msgPrivacyParameters encoded as an OCTET STRING. The abstract service primitive is:
statusInformation = -- success of failure encryptData( IN encryptKey -- secret key for encryption IN dataToEncrypt -- data to encrypt (scopedPDU) OUT encryptedData -- encrypted data (encryptedPDU) OUT privParameters -- filled in by service provider )
statusInformation =-失敗の成功encryptData(IN encryptKey-暗号化の秘密鍵IN dataToEncrypt-暗号化するデータ(scopedPDU)OUT encryptedData-暗号化されたデータ(encryptedPDU)OUT privParameters-サービスプロバイダーによって入力されます)
The abstract data elements are:
抽象データ要素は次のとおりです。
statusInformation An indication of the success or failure of the encryption process. In case of failure, it is an indication of the error. encryptKey The secret key to be used by the encryption algorithm. The length of this key MUST be 16 octets. dataToEncrypt The data that must be encrypted. encryptedData The encrypted data upon successful completion.
statusInformation暗号化プロセスの成功または失敗を示します。失敗した場合は、エラーを示しています。 encryptKey暗号化アルゴリズムで使用される秘密鍵。このキーの長さは16オクテットでなければなりません。 dataToEncrypt暗号化する必要があるデータ。 encryptedData正常に完了したときの暗号化されたデータ。
privParameters The privParameters encoded as an OCTET STRING.
privParameters OCTET STRINGとしてエンコードされたprivParameters。
This DES privacy protocol assumes that the selection of the privKey is done by the caller and that the caller passes the secret key to be used.
このDESプライバシープロトコルは、privKeyの選択が呼び出し元によって行われ、呼び出し元が使用する秘密鍵を渡すことを前提としています。
Upon completion the privacy module returns statusInformation and, if the decryption process was successful, the scopedPDU in plain text. The abstract service primitive is:
完了すると、プライバシーモジュールはstatusInformationを返し、復号化プロセスが成功した場合は、scopedPDUをプレーンテキストで返します。抽象サービスプリミティブは次のとおりです。
statusInformation = decryptData( IN decryptKey -- secret key for decryption IN privParameters -- as received on the wire IN encryptedData -- encrypted data (encryptedPDU) OUT decryptedData -- decrypted data (scopedPDU) )
statusInformation = decryptData(IN decodeKey-復号化の秘密鍵IN privParameters-回線で受信したとおりIN encryptedData-暗号化されたデータ(encryptedPDU)OUT decryptedData-復号化されたデータ(scopedPDU))
The abstract data elements are:
The abstract data elements are:
statusInformation An indication whether the data was successfully decrypted and if not an indication of the error. decryptKey The secret key to be used by the decryption algorithm. The length of this key MUST be 16 octets. privParameters The "salt" to be used to calculate the IV. encryptedData The data to be decrypted. decryptedData The decrypted data.
statusInformationデータが正常に復号化されたかどうかを示し、そうでない場合はエラーを示します。 decryptKey復号化アルゴリズムで使用される秘密鍵。このキーの長さは16オクテットでなければなりません。 privParameters IVの計算に使用される「塩」。 encryptedData復号化されるデータ。解読されたデータ解読されたデータ。
8.3. Elements of Procedure.
8.3. 手順の要素。
This section describes the procedures for the DES privacy protocol.
このセクションでは、DESプライバシープロトコルの手順について説明します。
This section describes the procedure followed by an SNMP engine whenever it must encrypt part of an outgoing message using the usmDESPrivProtocol.
This section describes the procedure followed by an SNMP engine whenever it must encrypt part of an outgoing message using the usmDESPrivProtocol.
1) The secret cryptKey is used to construct the DES encryption key, the "salt" and the DES pre-IV (as described in section 8.1.1.1).
1)シークレットcryptKeyは、DES暗号化キー、「ソルト」、およびDES pre-IV(セクション8.1.1.1で説明)を構築するために使用されます。
2) The privParameters field is set to the serialization according to the rules in [RFC1906] of an OCTET STRING representing the the "salt" string.
2)privParametersフィールドは、「塩」文字列を表すオクテット文字列の[RFC1906]の規則に従って、シリアル化に設定されます。
3) The scopedPDU is encrypted (as described in section 8.1.1.2) and the encrypted data is serialized according to the rules in [RFC1906] as an OCTET STRING.
3)scopedPDUは暗号化され(セクション8.1.1.2で説明)、暗号化されたデータは[RFC1906]の規則に従ってOCTET STRINGとしてシリアル化されます。
4) The serialized OCTET STRING representing the encrypted scopedPDU together with the privParameters and statusInformation indicating success is returned to the calling module.
4)暗号化されたscopedPDUを表すシリアル化されたOCTET STRINGは、成功を示すprivParametersおよびstatusInformationとともに、呼び出し側モジュールに返されます。
This section describes the procedure followed by an SNMP engine whenever it must decrypt part of an incoming message using the usmDESPrivProtocol.
This section describes the procedure followed by an SNMP engine whenever it must decrypt part of an incoming message using the usmDESPrivProtocol.
1) If the privParameters field is not an 8-octet OCTET STRING, then an error indication (decryptionError) is returned to the calling module.
1)privParametersフィールドが8オクテットのオクテット文字列でない場合、エラー表示(decryptionError)が呼び出し側モジュールに返されます。
2) The "salt" is extracted from the privParameters field.
2)「塩」は、privParametersフィールドから抽出されます。
3) The secret cryptKey and the "salt" are then used to construct the DES decryption key and pre-IV (as described in section 8.1.1.1).
3)次に、秘密のcryptKeyと「塩」を使用して、DES復号化キーとIVより前のセクション(8.1.1.1で説明)を構築します。
4) The encryptedPDU is then decrypted (as described in section 8.1.1.3).
4) The encryptedPDU is then decrypted (as described in section 8.1.1.3).
5) If the encryptedPDU cannot be decrypted, then an error indication (decryptionError) is returned to the calling module.
5) If the encryptedPDU cannot be decrypted, then an error indication (decryptionError) is returned to the calling module.
6) The decrypted scopedPDU and statusInformation indicating success are returned to the calling module.
6)復号化されたscopedPDUと成功を示すstatusInformationが呼び出しモジュールに返されます。
The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.
IETFは、このドキュメントで説明されているテクノロジーの実装または使用に関連すると主張される可能性がある知的財産またはその他の権利の有効性または範囲、またはそのような権利に基づくライセンスが適用されるかどうかに関係なく、いかなる立場も取りません。利用可能。また、そのような権利を特定するために何らかの努力をしたことも表していません。標準化過程および標準化関連文書の権利に関するIETFの手順に関する情報は、BCP-11にあります。公開に利用できるようにされた権利の主張と利用可能になるライセンスの保証のコピー、またはこの仕様の実装者またはユーザーによる一般的なライセンスまたはそのような所有権の使用の許可を得ようとした試みの結果を入手できます。 IETF事務局から。
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.
This document is the result of the efforts of the SNMPv3 Working Group. Some special thanks are in order to the following SNMPv3 WG members:
This document is the result of the efforts of the SNMPv3 Working Group. Some special thanks are in order to the following SNMPv3 WG members:
Dave Battle (SNMP Research, Inc.) Uri Blumenthal (IBM T.J. Watson Research Center) Jeff Case (SNMP Research, Inc.) John Curran (BBN) T. Max Devlin (Hi-TECH Connections) John Flick (Hewlett Packard) David Harrington (Cabletron Systems Inc.) N.C. Hien (IBM T.J. Watson Research Center) Dave Levi (SNMP Research, Inc.) Louis A Mamakos (UUNET Technologies Inc.) Paul Meyer (Secure Computing Corporation) Keith McCloghrie (Cisco Systems) Russ Mundy (Trusted Information Systems, Inc.) Bob Natale (ACE*COMM Corporation) Mike O'Dell (UUNET Technologies Inc.) Dave Perkins (DeskTalk) Peter Polkinghorne (Brunel University) Randy Presuhn (BMC Software, Inc.) David Reid (SNMP Research, Inc.) Shawn Routhier (Epilogue) Juergen Schoenwaelder (TU Braunschweig) Bob Stewart (Cisco Systems) Bert Wijnen (IBM T.J. Watson Research Center)
Dave Battle(SNMP Research、Inc.)Uri Blumenthal(IBM TJ Watson Research Center)Jeff Case(SNMP Research、Inc.)John Curran(BBN)T. Max Devlin(Hi-TECH Connections)John Flick(Hewlett Packard)David Harrington (Cabletron Systems Inc.)NC Hien(IBM TJ Watson Research Center)Dave Levi(SNMP Research、Inc.)Louis A Mamakos(UUNET Technologies Inc.)Paul Meyer(Secure Computing Corporation)Keith McCloghrie(Cisco Systems)Russ Mundy(Trusted Information Systems、Inc.)Bob Natale(ACE * COMM Corporation)Mike O'Dell(UUNET Technologies Inc.)Dave Perkins(DeskTalk)Peter Polkinghorne(Brunel University)Randy Presuhn(BMC Software、Inc.)David Reid(SNMP Research、 Inc.)Shawn Routhier(エピローグ)Juergen Schoenwaelder(TU Braunschweig)Bob Stewart(Cisco Systems)Bert Wijnen(IBM TJ Watson Research Center)
The document is based on recommendations of the IETF Security and Administrative Framework Evolution for SNMP Advisory Team. Members of that Advisory Team were:
このドキュメントは、SNMP諮問チームのためのIETFセキュリティおよび管理フレームワークの進化の推奨に基づいています。その諮問チームのメンバーは次のとおりです。
David Harrington (Cabletron Systems Inc.) Jeff Johnson (Cisco Systems) David Levi (SNMP Research Inc.) John Linn (Openvision) Russ Mundy (Trusted Information Systems) chair Shawn Routhier (Epilogue) Glenn Waters (Nortel) Bert Wijnen (IBM T. J. Watson Research Center)
デビッドハリントン(ケーブルトロンシステムズ社)ジェフジョンソン(シスコシステムズ)デビッドレヴィ(SNMPリサーチ社)ジョンリン(オープンビジョン)ラスマンディ(トラステッドインフォメーションシステムズ)チェアショーンルーティエ(エピローグ)グレンウォーターズ(ノーテル)バートウィネン(IBM TJワトソン研究センター)
As recommended by the Advisory Team and the SNMPv3 Working Group Charter, the design incorporates as much as practical from previous RFCs and drafts. As a result, special thanks are due to the authors of previous designs known as SNMPv2u and SNMPv2*:
アドバイザリーチームとSNMPv3ワーキンググループチャーターによって推奨されているように、この設計には、以前のRFCとドラフトからの実用的な限りのものが組み込まれています。その結果、SNMPv2uおよびSNMPv2 *として知られている以前の設計の作成者に特に感謝します。
Jeff Case (SNMP Research, Inc.) David Harrington (Cabletron Systems Inc.) David Levi (SNMP Research, Inc.) Keith McCloghrie (Cisco Systems) Brian O'Keefe (Hewlett Packard) Marshall T. Rose (Dover Beach Consulting) Jon Saperia (BGS Systems Inc.) Steve Waldbusser (International Network Services) Glenn W. Waters (Bell-Northern Research Ltd.)
Jeff Case(SNMP Research、Inc.)David Harrington(Cabletron Systems Inc.)David Levi(SNMP Research、Inc.)Keith McCloghrie(Cisco Systems)Brian O'Keefe(Hewlett Packard)Marshall T. Rose(Dover Beach Consulting)Jon Saperia(BGS Systems Inc.)Steve Waldbusser(国際ネットワークサービス)Glenn W. Waters(Bell-Northern Research Ltd.)
This section describes practices that contribute to the secure, effective operation of the mechanisms defined in this memo.
このセクションでは、このメモで定義されたメカニズムの安全で効果的な運用に貢献する実践について説明します。
- An SNMP engine must discard SNMP Response messages that do not correspond to any currently outstanding Request message. It is the responsibility of the Message Processing module to take care of this. For example it can use a msgID for that.
- SNMPエンジンは、現在未処理の要求メッセージに対応しないSNMP応答メッセージを破棄する必要があります。これを処理するのはメッセージ処理モジュールの責任です。たとえば、そのためにmsgIDを使用できます。
An SNMP Command Generator Application must discard any Response PDU for which there is no currently outstanding Request PDU; for example for SNMPv2 [RFC1905] PDUs, the request-id component in the PDU can be used to correlate Responses to outstanding Requests.
SNMPコマンドジェネレータアプリケーションは、現在未解決の要求PDUがない応答PDUを破棄する必要があります。たとえば、SNMPv2 [RFC1905] PDUの場合、PDUのrequest-idコンポーネントを使用して、応答を未処理の要求に関連付けることができます。
Although it would be typical for an SNMP engine and an SNMP Command Generator Application to do this as a matter of course, when using these security protocols it is significant due to the possibility of message duplication (malicious or otherwise).
当然のことながら、SNMPエンジンとSNMPコマンドジェネレーターアプリケーションがこれを行うのは一般的ですが、これらのセキュリティプロトコルを使用する場合は、メッセージの重複(悪意のあるものかどうかにかかわらず)の可能性があるため重要です。
- If an SNMP engine uses a msgID for correlating Response messages to outstanding Request messages, then it MUST use different msgIDs in all such Request messages that it sends out during a Time Window (150 seconds) period.
- SNMPエンジンが応答メッセージを未処理の要求メッセージに関連付けるためにmsgIDを使用する場合、時間ウィンドウ(150秒)の期間中に送信するそのようなすべての要求メッセージで異なるmsgIDを使用する必要があります。
A Command Generator or Notification Originator Application MUST use different request-ids in all Request PDUs that it sends out during a TimeWindow (150 seconds) period.
Command GeneratorまたはNotification Originatorアプリケーションは、TimeWindow(150秒)の期間中に送信するすべてのリクエストPDUで異なるリクエストIDを使用する必要があります。
This must be done to protect against the possibility of message duplication (malicious or otherwise).
This must be done to protect against the possibility of message duplication (malicious or otherwise).
For example, starting operations with a msgID and/or request-id value of zero is not a good idea. Initializing them with an unpredictable number (so they do not start out the same after each reboot) and then incrementing by one would be acceptable.
たとえば、msgIDやrequest-idの値をゼロで操作を開始することはお勧めできません。予測不可能な数でそれらを初期化し(再起動のたびに同じように開始されないようにする)、1ずつ増やしても問題ありません。
- An SNMP engine should perform time synchronization using authenticated messages in order to protect against the possibility of message duplication (malicious or otherwise).
- SNMPエンジンは、メッセージの重複(悪意のあるものかどうかにかかわらず)の可能性を防ぐために、認証されたメッセージを使用して時刻同期を実行する必要があります。
- When sending state altering messages to a managed authoritative SNMP engine, a Command Generator Application should delay sending successive messages to that managed SNMP engine until a positive acknowledgement is received for the previous message or until the previous message expires.
- 管理された信頼できるSNMPエンジンに状態変更メッセージを送信する場合、コマンドジェネレーターアプリケーションは、前のメッセージの肯定応答が受信されるまで、または前のメッセージの有効期限が切れるまで、その管理SNMPエンジンへの後続のメッセージの送信を遅らせる必要があります。
No message ordering is imposed by the SNMP. Messages may be received in any order relative to their time of generation and each will be processed in the ordered received. Note that when an authenticated message is sent to a managed SNMP engine, it will be valid for a period of time of approximately 150 seconds under normal circumstances, and is subject to replay during this period. Indeed, an SNMP engine and SNMP Command Generator Applications must cope with the loss and re-ordering of messages resulting from anomalies in the network as a matter of course.
SNMPによるメッセージの順序付けはありません。メッセージは、生成された時間を基準にして任意の順序で受信できます。各メッセージは、受信した順序で処理されます。認証されたメッセージが管理対象のSNMPエンジンに送信されると、通常の状況では約150秒間有効であり、この期間中に再生される可能性があることに注意してください。実際、SNMPエンジンとSNMPコマンドジェネレータアプリケーションは、ネットワークの異常によるメッセージの損失と再順序付けに当然対応する必要があります。
However, a managed object, snmpSetSerialNo [RFC1907], is specifically defined for use with SNMP Set operations in order to provide a mechanism to ensure that the processing of SNMP messages occurs in a specific order.
ただし、管理対象オブジェクトsnmpSetSerialNo [RFC1907]は、SNMPメッセージの処理が特定の順序で行われるようにするメカニズムを提供するために、SNMP Set操作で使用するために特別に定義されています。
- The frequency with which the secrets of a User-based Security Model user should be changed is indirectly related to the frequency of their use.
- ユーザーベースのセキュリティモデルユーザーのシークレットを変更する頻度は、その使用頻度に間接的に関連しています。
Protecting the secrets from disclosure is critical to the overall security of the protocols. Frequent use of a secret provides a continued source of data that may be useful to a cryptanalyst in exploiting known or perceived weaknesses in an algorithm. Frequent changes to the secret avoid this vulnerability.
秘密を開示から保護することは、プロトコルの全体的なセキュリティにとって重要です。シークレットを頻繁に使用すると、継続的なデータソースが提供されます。これは、暗号解読者がアルゴリズムの既知または認識されている弱点を悪用するのに役立つ場合があります。シークレットを頻繁に変更すると、この脆弱性を回避できます。
Changing a secret after each use is generally regarded as the most secure practice, but a significant amount of overhead may be associated with that approach.
使用後にシークレットを変更することは、一般的に最も安全な方法と見なされますが、そのアプローチにはかなりのオーバーヘッドが伴う場合があります。
Note, too, in a local environment the threat of disclosure may be less significant, and as such the changing of secrets may be less frequent. However, when public data networks are used as the communication paths, more caution is prudent.
また、ローカル環境では、開示の脅威はそれほど重要ではない可能性があり、そのため、秘密の変更の頻度は少ない可能性があります。ただし、通信パスとしてパブリックデータネットワークを使用する場合は、さらに注意が必要です。
The mechanisms defined in this document employ the notion of users on whose behalf messages are sent. How "users" are defined is subject to the security policy of the network administration. For example, users could be individuals (e.g., "joe" or "jane"), or a particular role (e.g., "operator" or "administrator"), or a combination (e.g., "joe-operator", "jane-operator" or "joe-admin"). Furthermore, a user may be a logical entity, such as an SNMP Application or a set of SNMP Applications, acting on behalf of an individual or role, or set of individuals, or set of roles, including combinations.
The mechanisms defined in this document employ the notion of users on whose behalf messages are sent. How "users" are defined is subject to the security policy of the network administration. For example, users could be individuals (e.g., "joe" or "jane"), or a particular role (e.g., "operator" or "administrator"), or a combination (e.g., "joe-operator", "jane-operator" or "joe-admin"). Furthermore, a user may be a logical entity, such as an SNMP Application or a set of SNMP Applications, acting on behalf of an individual or role, or set of individuals, or set of roles, including combinations.
Appendix A describes an algorithm for mapping a user "password" to a 16 octet value for use as either a user's authentication key or privacy key (or both). Note however, that using the same password (and therefore the same key) for both authentication and privacy is very poor security practice and should be strongly discouraged. Passwords are often generated, remembered, and input by a human. Human-generated passwords may be less than the 16 octets required by the authentication and privacy protocols, and brute force attacks can be quite easy on a relatively short ASCII character set. Therefore, the algorithm is Appendix A performs a transformation on the password. If the Appendix A algorithm is used, SNMP implementations (and SNMP configuration applications) must ensure that passwords are at least 8 characters in length.
付録Aでは、ユーザーの「パスワード」を16オクテットの値にマッピングして、ユーザーの認証キーまたはプライバシーキー(またはその両方)として使用するアルゴリズムについて説明します。ただし、認証とプライバシーの両方に同じパスワード(したがって、同じキー)を使用することは、セキュリティの実践としては非常に貧弱であり、強くお勧めしません。多くの場合、パスワードは人間によって生成、記憶、および入力されます。人間が生成したパスワードは、認証プロトコルとプライバシープロトコルで必要な16オクテットよりも少ない場合があり、ブルートフォース攻撃は、比較的短いASCII文字セットでは非常に簡単です。したがって、アルゴリズムは付録Aであり、パスワードを変換します。付録Aアルゴリズムを使用する場合、SNMP実装(およびSNMP構成アプリケーション)は、パスワードの長さが少なくとも8文字であることを確認する必要があります。
Because the Appendix A algorithm uses such passwords (nearly) directly, it is very important that they not be easily guessed. It is suggested that they be composed of mixed-case alphanumeric and punctuation characters that don't form words or phrases that might be found in a dictionary. Longer passwords improve the security of the system. Users may wish to input multiword phrases to make their password string longer while ensuring that it is memorable.
付録Aのアルゴリズムはこのようなパスワードを(ほぼ)直接使用するため、簡単に推測できないことが非常に重要です。それらは、大/小文字混合の英数字と、辞書にある単語や語句を形成しない句読点文字で構成することをお勧めします。パスワードを長くすると、システムのセキュリティが向上します。ユーザーは、覚えやすいようにパスワード文字列を長くするために、マルチワードフレーズを入力したい場合があります。
Since it is infeasible for human users to maintain different passwords for every SNMP engine, but security requirements strongly discourage having the same key for more than one SNMP engine, the User-based Security Model employs a compromise proposed in [Localized-key]. It derives the user keys for the SNMP engines from user's password in such a way that it is practically impossible to either determine the user's password, or user's key for another SNMP engine from any combination of user's keys on SNMP engines.
人間のユーザーがSNMPエンジンごとに異なるパスワードを維持することは不可能ですが、セキュリティ要件では、複数のSNMPエンジンに同じキーを使用することを強くお勧めしません。ユーザーベースのセキュリティモデルでは、[Localized-key]で提案されている妥協案を採用しています。 SNMPエンジンのユーザーキーは、ユーザーのパスワードから決定することも、SNMPエンジン上のユーザーのキーの組み合わせから別のSNMPエンジンのユーザーのキーを決定することも事実上不可能であるような方法で、ユーザーのパスワードから派生します。
Note however, that if user's password is disclosed, then key localization will not help and network security may be compromised in this case. Therefore a user's password or non-localized key MUST NOT be stored on a managed device/node. Instead the localized key SHALL be stored (if at all) , so that, in case a device does get compromised, no other managed or managing devices get compromised.
ただし、ユーザーのパスワードが開示されている場合、キーのローカライズは役に立たず、この場合ネットワークセキュリティが危険にさらされる可能性があることに注意してください。したがって、ユーザーのパスワードまたはローカライズされていないキーを管理対象デバイス/ノードに保存してはなりません(MUST NOT)。代わりに、ローカライズされたキーを格納する必要があります(存在する場合)。これにより、デバイスが侵害された場合でも、他の管理対象デバイスまたは管理デバイスが侵害されることはありません。
To be termed a "Secure SNMP implementation" based on the User-based Security Model, an SNMP implementation MUST:
To be termed a "Secure SNMP implementation" based on the User-based Security Model, an SNMP implementation MUST:
- implement one or more Authentication Protocol(s). The HMAC-MD5-96 and HMAC-SHA-96 Authentication Protocols defined in this memo are examples of such protocols.
- 1つ以上の認証プロトコルを実装します。このメモで定義されているHMAC-MD5-96およびHMAC-SHA-96認証プロトコルは、そのようなプロトコルの例です。
- to the maximum extent possible, prohibit access to the secret(s) of each user about which it maintains information in a Local Configuration Datastore (LCD) under all circumstances except as required to generate and/or validate SNMP messages with respect to that user.
- 可能な限り、ユーザーに関するSNMPメッセージの生成や検証に必要な場合を除いて、すべての状況でローカル構成データストア(LCD)に情報を保持する各ユーザーのシークレットへのアクセスを禁止します。
- implement the key-localization mechanism.
- キーローカリゼーションメカニズムを実装します。
- implement the SNMP-USER-BASED-SM-MIB.
- SNMP-USER-BASED-SM-MIBを実装します。
In addition, an authoritative SNMP engine SHOULD provide initial configuration in accordance with Appendix A.1.
In addition, an authoritative SNMP engine SHOULD provide initial configuration in accordance with Appendix A.1.
Implementation of a Privacy Protocol (the DES Symmetric Encryption Protocol defined in this memo is one such protocol) is optional.
プライバシープロトコル(このメモで定義されているDES対称暗号化プロトコルはそのようなプロトコルの1つです)の実装はオプションです。
[RFC1321] Rivest, R., "Message Digest Algorithm MD5", RFC 1321, April 1992.
[RFC1321] Rivest、R。、「Message Digest Algorithm MD5」、RFC 1321、1992年4月。
[RFC1903] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1903, January 1996.
[RFC1903] Case、J.、McCloghrie、K.、Rose、M. and S. Waldbusser、 "Textual Conventions for Version 2 for the Simple Network Management Protocol(SNMPv2)"、RFC 1903、January 1996。
[RFC1905] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
[RFC1905] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
[RFC1906] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996.
[RFC1906] Case、J.、McCloghrie、K.、Rose、M。、およびS. Waldbusser、「Transport Mappings for Version 2 for the Simple Network Management Protocol(SNMPv2)」、RFC 1906、1996年1月。
[RFC1907] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1907 January 1996.
[RFC1907] Case、J.、McCloghrie、K.、Rose、M. and S. Waldbusser、 "Management Information Base for Version 2 for the Simple Network Management Protocol(SNMPv2)"、RFC 1907 January 1996。
[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997.
[RFC2104] Krawczyk、H.、Bellare、M。、およびR. Canetti、「HMAC:Keyed-Hashing for Message Authentication」、RFC 2104、1997年2月。
[RFC2028] Hovey, R., and S. Bradner, "The Organizations Involved in the IETF Standards Process", BCP 11, RFC 2028, October 1996.
[RFC2028] Hovey, R., and S. Bradner, "The Organizations Involved in the IETF Standards Process", BCP 11, RFC 2028, October 1996.
[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月。
[RFC2271] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for describing SNMP Management Frameworks", RFC 2271, January 1998.
[RFC2271] Harrington、D.、Presuhn、R。、およびB. Wijnen、「SNMP管理フレームワークを記述するためのアーキテクチャ」、RFC 2271、1998年1月。
[RFC2272] Case, J., Harrington, D., Presuhn, R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2272, January 1998.
[RFC2272] Case、J.、Harrington、D.、Presuhn、R。、およびB. Wijnen、「メッセージ処理および簡易ネットワーク管理プロトコル(SNMP)のディスパッチ」、RFC 2272、1998年1月。
[Localized-Key] U. Blumenthal, N. C. Hien, B. Wijnen "Key Derivation for Network Management Applications" IEEE Network Magazine, April/May issue, 1997.
[Localized-Key] U. Blumenthal、N。C. Hien、B。Wijnen「ネットワーク管理アプリケーションのキー導出」IEEEネットワークマガジン、1997年4月/ 5月号。
[DES-NIST] Data Encryption Standard, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 46-1. Supersedes FIPS Publication 46, (January, 1977; reaffirmed January, 1988).
[DES-NIST]データ暗号化標準、米国国立標準技術研究所。連邦情報処理標準(FIPS)出版物46-1。 FIPS Publication 46に取って代わります(1977年1月、1988年1月に再確認)。
[DES-ANSI] Data Encryption Algorithm, American National Standards Institute. ANSI X3.92-1981, (December, 1980).
[DES-ANSI]データ暗号化アルゴリズム、American National Standards Institute。 ANSI X3.92-1981、(1980年12月)。
[DESO-NIST] DES Modes of Operation, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 81, (December, 1980).
[DESO-NIST]国立標準技術研究所のDES Modes of Operation。連邦情報処理標準(FIPS)Publication 81、(1980年12月)。
[DESO-ANSI] Data Encryption Algorithm - Modes of Operation, American National Standards Institute. ANSI X3.106-1983, (May 1983).
[DESO-ANSI] Data Encryption Algorithm-Modes of Operation、American National Standards Institute。 ANSI X3.106-1983(1983年5月)。
[DESG-NIST] Guidelines for Implementing and Using the NBS Data Encryption Standard, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 74, (April, 1981).
[DESG-NIST]国立標準技術研究所、NBSデータ暗号化標準の実装と使用に関するガイドライン。連邦情報処理標準(FIPS)Publication 74、(1981年4月)。
[DEST-NIST] Validating the Correctness of Hardware Implementations of the NBS Data Encryption Standard, National Institute of Standards and Technology. Special Publication 500-20.
[DEST-NIST] Validating the Correctness of Hardware Implementations of the NBS Data Encryption Standard, National Institute of Standards and Technology. Special Publication 500-20.
[DESM-NIST] Maintenance Testing for the Data Encryption Standard, National Institute of Standards and Technology. Special Publication 500-61, (August, 1980).
[DESM-NIST]国立標準技術研究所のデータ暗号化規格のメンテナンステスト。特別刊行物500-61(1980年8月)。
[SHA-NIST] Secure Hash Algorithm. NIST FIPS 180-1, (April, 1995) http://csrc.nist.gov/fips/fip180-1.txt (ASCII) http://csrc.nist.gov/fips/fip180-1.ps (Postscript)
Uri Blumenthal IBM T. J. Watson Research 30 Saw Mill River Pkwy, Hawthorne, NY 10532 USA
Uri Blumenthal IBM T. J. Watson Research 30 Saw Mill River Pkwy、Hawthorne、NY 10532 USA
EMail: uri@watson.ibm.com Phone: +1-914-784-7064
Bert Wijnen IBM T. J. Watson Research Schagen 33 3461 GL Linschoten Netherlands
Bert Wijnen IBM T. J. Watson Research Schagen 33 3461 GL Linschoten Netherlands
EMail: wijnen@vnet.ibm.com Phone: +31-348-432-794
APPENDIX A - Installation
APPENDIX A - Installation
During installation, an authoritative SNMP engine SHOULD (in the meaning as defined in [RFC2119]) be configured with several initial parameters. These include:
During installation, an authoritative SNMP engine SHOULD (in the meaning as defined in [RFC2119]) be configured with several initial parameters. These include:
1) A security posture
1)セキュリティ体制
The choice of security posture determines if initial configuration is implemented and if so how. One of three possible choices is selected:
セキュリティポスチャの選択により、初期構成が実装されるかどうか、実装される場合はその方法が決まります。次の3つの選択肢から1つを選択します。
minimum-secure, semi-secure, very-secure (i.e., no-initial-configuration)
最小安全、半安全、非常に安全(つまり、初期設定なし)
In the case of a very-secure posture, there is no initial configuration, and so the following steps are irrelevant.
非常にセキュアなポスチャの場合、初期設定がないため、次の手順は関係ありません。
2) one or more secrets
2)1つ以上の秘密
These are the authentication/privacy secrets for the first user to be configured.
これらは、最初に設定するユーザーの認証/プライバシーシークレットです。
One way to accomplish this is to have the installer enter a "password" for each required secret. The password is then algorithmically converted into the required secret by:
これを行う1つの方法は、必要な各シークレットの「パスワード」をインストーラーに入力させることです。次に、パスワードはアルゴリズムによって必要なシークレットに変換されます。
- forming a string of length 1,048,576 octets by repeating the value of the password as often as necessary, truncating accordingly, and using the resulting string as the input to the MD5 algorithm [MD5]. The resulting digest, termed "digest1", is used in the next step.
- パスワードの値を必要なだけ繰り返して切り捨て、結果の文字列をMD5アルゴリズム[MD5]への入力として使用することにより、1,048,576オクテットの長さの文字列を形成します。結果として得られる「digest1」と呼ばれるダイジェストは、次のステップで使用されます。
- a second string is formed by concatenating digest1, the SNMP engine's snmpEngineID value, and digest1. This string is used as input to the MD5 algorithm [MD5].
- 2番目の文字列は、digest1、SNMPエンジンのsnmpEngineID値、およびdigest1を連結して形成されます。この文字列は、MD5アルゴリズム[MD5]への入力として使用されます。
The resulting digest is the required secret (see Appendix A.2).
結果のダイジェストは必要な秘密です(付録A.2を参照)。
With these configured parameters, the SNMP engine instantiates the following usmUserEntry in the usmUserTable:
これらの構成されたパラメーターを使用して、SNMPエンジンはusmUserTable内の以下のusmUserEntryをインスタンス化します。
no privacy support privacy support ------------------ --------------- usmUserEngineID localEngineID localEngineID usmUserName "initial" "initial" usmUserSecurityName "initial" "initial" usmUserCloneFrom ZeroDotZero ZeroDotZero usmUserAuthProtocol usmHMACMD5AuthProtocol usmHMACMD5AuthProtocol usmUserAuthKeyChange "" "" usmUserOwnAuthKeyChange "" "" usmUserPrivProtocol none usmDESPrivProtocol usmUserPrivKeyChange "" "" usmUserOwnPrivKeyChange "" "" usmUserPublic "" "" usmUserStorageType anyValidStorageType anyValidStorageType usmUserStatus active active
A sample code fragment (section A.2.1) demonstrates the password to key algorithm which can be used when mapping a password to an authentication or privacy key using MD5. The reference source code of MD5 is available in [RFC1321].
サンプルコードフラグメント(セクションA.2.1)は、MD5を使用してパスワードを認証またはプライバシーキーにマッピングするときに使用できるパスワードキーアルゴリズムを示しています。 MD5のリファレンスソースコードは[RFC1321]で入手できます。
Another sample code fragment (section A.2.2) demonstrates the password to key algorithm which can be used when mapping a password to an authentication or privacy key using SHA (documented in SHA-NIST).
別のサンプルコードフラグメント(セクションA.2.2)は、SHAを使用してパスワードを認証またはプライバシーキーにマッピングするときに使用できるパスワードキーアルゴリズムを示しています(SHA-NISTに文書化されています)。
An example of the results of a correct implementation is provided (section A.3) which an implementor can use to check if his implementation produces the same result.
正しい実装の結果の例が提供され(セクションA.3)、これを使用して、実装者が自分の実装で同じ結果が得られるかどうかを確認できます。
void password_to_key_md5( u_char *password, /* IN */ u_int passwordlen, /* IN */ u_char *engineID, /* IN - pointer to snmpEngineID */ u_int engineLength /* IN - length of snmpEngineID */ u_char *key) /* OUT - pointer to caller 16-octet buffer */ { MD5_CTX MD; u_char *cp, password_buf[64]; u_long password_index = 0; u_long count = 0, i;
MD5Init (&MD); /* initialize MD5 */
/**********************************************/ /* Use while loop until we've done 1 Megabyte */ /**********************************************/ while (count < 1048576) { cp = password_buf; for (i = 0; i < 64; i++) { /*************************************************/ /* Take the next octet of the password, wrapping */ /* to the beginning of the password as necessary.*/ /*************************************************/ *cp++ = password[password_index++ % passwordlen]; } MD5Update (&MD, password_buf, 64); count += 64; } MD5Final (key, &MD); /* tell MD5 we're done */
/*****************************************************/ /* Now localize the key with the engineID and pass */ /* through MD5 to produce final key */ /* May want to ensure that engineLength <= 32, */ /* otherwise need to use a buffer larger than 64 */ /*****************************************************/ memcpy(password_buf, key, 16); memcpy(password_buf+16, engineID, engineLength); memcpy(password_buf+engineLength, key, 16);
MD5Init(&MD); MD5Update(&MD, password_buf, 32+engineLength); MD5Final(key, &MD);
return; }
void password_to_key_sha( u_char *password, /* IN */ u_int passwordlen, /* IN */ u_char *engineID, /* IN - pointer to snmpEngineID */ u_int engineLength /* IN - length of snmpEngineID */ u_char *key) /* OUT - pointer to caller 20-octet buffer */ { SHA_CTX SH; u_char *cp, password_buf[72]; u_long password_index = 0; u_long count = 0, i;
SHAInit (&SH); /* initialize SHA */
/**********************************************/ /* Use while loop until we've done 1 Megabyte */ /**********************************************/ while (count < 1048576) { cp = password_buf; for (i = 0; i < 64; i++) { /*************************************************/ /* Take the next octet of the password, wrapping */ /* to the beginning of the password as necessary.*/ /*************************************************/ *cp++ = password[password_index++ % passwordlen]; } SHAUpdate (&SH, password_buf, 64); count += 64; } SHAFinal (key, &SH); /* tell SHA we're done */
/*****************************************************/ /* Now localize the key with the engineID and pass */ /* through SHA to produce final key */ /* May want to ensure that engineLength <= 32, */ /* otherwise need to use a buffer larger than 72 */ /*****************************************************/ memcpy(password_buf, key, 20); memcpy(password_buf+20, engineID, engineLength); memcpy(password_buf+engineLength, key, 20);
SHAInit(&SH); SHAUpdate(&SH, password_buf, 40+engineLength); SHAFinal(key, &SH);
return; }
The following shows a sample output of the password to key algorithm for a 16-octet key using MD5.
以下は、MD5を使用した16オクテットキーのパスワードからキーへのアルゴリズムのサンプル出力を示しています。
With a password of "maplesyrup" the output of the password to key algorithm before the key is localized with the SNMP engine's snmpEngineID is:
「maplesyrup」のパスワードを使用すると、SNMPエンジンのsnmpEngineIDを使用してキーをローカライズする前の、パスワードからキーへのアルゴリズムの出力は次のようになります。
'9f af 32 83 88 4e 92 83 4e bc 98 47 d8 ed d9 63'H
фяфаф32 83 88ч92 92чебц98чщд8еддяШЗЪХ
After the intermediate key (shown above) is localized with the snmpEngineID value of:
上記の中間キーがsnmpEngineID値でローカライズされた後:
'00 00 00 00 00 00 00 00 00 00 00 02'H
'00 00 00 00 00 00 00 00 00 00 00 02'H
the final output of the password to key algorithm is:
キーアルゴリズムへのパスワードの最終的な出力は次のとおりです。
'52 6f 5e ed 9f cc e2 6f 89 64 c2 93 07 87 d8 2b'H
'52 6f 5e ed 9f cc e2 6f 89 64 c2 93 07 87 d8 2b'H
The following shows a sample output of the password to key algorithm for a 20-octet key using SHA.
以下は、SHAを使用した20オクテットキーのパスワードからキーへのアルゴリズムの出力例です。
With a password of "maplesyrup" the output of the password to key algorithm before the key is localized with the SNMP engine's snmpEngineID is:
「maplesyrup」のパスワードを使用すると、SNMPエンジンのsnmpEngineIDを使用してキーをローカライズする前の、パスワードからキーへのアルゴリズムの出力は次のようになります。
'f1 be a9 ae 66 7f 4f b6 34 1e 51 af 06 80 7e 91 e4 3b 01 ac'H
ф1ееаяаешшщфчфбшзч1е51аф06 80ще91ечзб01ъхцъх
After the intermediate key (shown above) is localized with the snmpEngineID value of:
上記の中間キーがsnmpEngineID値でローカライズされた後:
'00 00 00 00 00 00 00 00 00 00 00 02'H
'00 00 00 00 00 00 00 00 00 00 00 02'H
the final output of the password to key algorithm is:
キーアルゴリズムへのパスワードの最終的な出力は次のとおりです。
'8a a3 d9 9e 3e 30 56 f2 bf e3 a9 ee f3 45 d5 39 54 91 12 be'H
'8a a3 d9 9e 3e 30 56 f2 bf e3 a9 ee f3 45 d5 39 54 91 12 be'H
The msgSecurityParameters in an SNMP message are represented as an OCTET STRING. This OCTET STRING should be considered opaque outside a specific Security Model.
SNMPメッセージのmsgSecurityParametersは、OCTET STRINGとして表されます。このオクテット文字列は、特定のセキュリティモデルの外では不透明と見なされます。
The User-based Security Model defines the contents of the OCTET STRING as a SEQUENCE (see section 2.4).
ユーザーベースのセキュリティモデルは、オクテット文字列の内容をシーケンスとして定義します(セクション2.4を参照)。
Given these two properties, the following is an example of the msgSecurityParameters for the User-based Security Model, encoded as an OCTET STRING:
これらの2つのプロパティが与えられた場合、以下は、OCTET STRINGとしてエンコードされた、ユーザーベースのセキュリティモデルのmsgSecurityParametersの例です。
04 <length> 30 <length> 04 <length> <msgAuthoritativeEngineID> 02 <length> <msgAuthoritativeEngineBoots> 02 <length> <msgAuthoritativeEngineTime> 04 <length> <msgUserName> 04 0c <HMAC-MD5-96-digest> 04 08 <salt>
Here is the example once more, but now with real values (except for the digest in msgAuthenticationParameters and the salt in msgPrivacyParameters, which depend on variable data that we have not defined here):
ここにもう一度例がありますが、実際の値が含まれています(ここで定義していない変数データに依存するmsgAuthenticationParametersのダイジェストとmsgPrivacyParametersのソルトを除く)。
Hex Data Description -------------- ----------------------------------------------- 04 39 OCTET STRING, length 57 30 37 SEQUENCE, length 55 04 0c 80000002 msgAuthoritativeEngineID: IBM 01 IPv4 address 09840301 9.132.3.1 02 01 01 msgAuthoritativeEngineBoots: 1 02 02 0101 msgAuthoritativeEngineTime: 257 04 04 62657274 msgUserName: bert 04 0c 01234567 msgAuthenticationParameters: sample value 89abcdef fedcba98 04 08 01234567 msgPrivacyParameters: sample value 89abcdef
B. Full Copyright Statement
B.完全な著作権表示
Copyright (C) The Internet Society (1998). All Rights Reserved.
Copyright(C)The Internet Society(1998)。全著作権所有。
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
このドキュメントとその翻訳はコピーして他のユーザーに提供することができ、コメントまたはその他の方法で説明したり、その実装を支援する二次的著作物は、いかなる種類の制限なしに、全体または一部を準備、コピー、公開、および配布することができますただし、上記の著作権表示とこの段落は、そのようなすべてのコピーと派生物に含まれています。ただし、このドキュメント自体は、著作権に関する通知を削除したり、インターネットソサエティや他のインターネット組織への参照を削除したりするなど、いかなる方法でも変更できません。ただし、インターネット標準を開発する目的で必要な場合は除きます。インターネット標準のプロセスに従うか、または必要に応じて、それを英語以外の言語に翻訳する必要があります。
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
上記で付与された制限付きのアクセス許可は永続的であり、インターネットソサエティまたはその後継者または譲受人によって取り消されることはありません。
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
このドキュメントとここに含まれる情報は「現状有姿」で提供され、インターネット社会およびインターネット技術タスクフォースは、明示または黙示を問わず、ここに記載されている情報の使用が保証するものに限定されない一切の保証を含みません。商品性または特定の目的への適合性に関する権利または黙示の保証を侵害すること。