メインコンテンツまでスキップ

2.5. Services provided by the User-based Security Model (ユーザーベースセキュリティモデルによって提供されるサービス)

2.5. Services provided by the User-based Security Model (ユーザーベースセキュリティモデルによって提供されるサービス)​

このセクションでは, ユーザーベースセキュリティモデルが提供するサービスとその入力および出力について説明します。

サービスは抽象サービスインターフェースのプリミティブ (primitives) として記述され, 入力と出力はこれらの抽象サービスプリミティブで渡される抽象データ要素として記述されます。

2.5.1. Services for Generating an Outgoing SNMP Message (送信 SNMP メッセージを生成するためのサービス)​

メッセージ処理 (MP) サブシステムがユーザーベースセキュリティモジュールを呼び出して送信 SNMP メッセージを保護する場合, セキュリティモジュールによって提供される適切なサービスを使用する必要があります。次の 2 つのサービスが提供されます:

1) リクエストメッセージを生成するサービス (Service to Generate a Request Message)​

抽象サービスプリミティブは次のとおりです:

statusInformation =            -- 成功またはエラー指示
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) レスポンスメッセージを生成するサービス (Service to Generate a Response Message)​

抽象サービスプリミティブは次のとおりです:

statusInformation =            -- 成功またはエラー指示
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 -- 生成されたメッセージの長さ
)

Abstract Data Elements (抽象データ要素)​

抽象サービスプリミティブでパラメータとして渡される抽象データ要素は次のとおりです:

statusInformation (ステータス情報)​

メッセージのエンコードとセキュリティ保護が成功したかどうかの指示。成功しなかった場合は問題の指示。

messageProcessingModel (メッセージ処理モデル)​

生成されるメッセージの SNMP バージョン番号。ユーザーベースセキュリティモジュールではこのデータは使用されません。

globalData (グローバルデータ)​

メッセージヘッダー (すなわち, その管理情報)。ユーザーベースセキュリティモジュールではこのデータは使用されません。

maxMessageSize (最大メッセージサイズ)​

メッセージに含まれる最大メッセージサイズ。ユーザーベースセキュリティモジュールではこのデータは使用されません。

securityParameters (セキュリティパラメータ)​

これらはセキュリティパラメータです。ユーザーベースセキュリティモジュールによって入力されます。

securityModel (セキュリティモデル)​

使用中の securityModel。ユーザーベースセキュリティモデルである必要があります。ユーザーベースセキュリティモジュールではこのデータは使用されません。

securityEngineID (セキュリティエンジン ID)​

権威ある SNMP エンジンの snmpEngineID。リクエストメッセージを作成する場合, securityEngineID がまだ不明な場合 (ディスカバリーフェーズ) はゼロ長の OCTET STRING である可能性があります。

securityName (セキュリティ名)​

securityLevel および securityEngineID と共に, メッセージを保護するために usmUserTable のどの行を使用すべきかを識別します。

securityLevel (セキュリティレベル)​

要求された securityLevel。noAuthNoPriv, authNoPriv, または authPriv のいずれか。

scopedPDU (スコープ付き PDU)​

メッセージペイロード。scopedPDU には contextEngineID, contextName, および PDU が含まれます。

securityStateReference (セキュリティ状態参照)​

cachedSecurityData のハンドル/参照。レスポンスまたはレポートメッセージを生成する際に, 元のリクエストメッセージのセキュリティ情報を取得するために使用されます。

wholeMsg (完全なメッセージ)​

送信準備が整った完全にシリアル化されたメッセージ。

wholeMsgLength (完全なメッセージ長)​

wholeMsg の長さ (オクテット単位)。

2.5.2. Services for Processing an Incoming SNMP Message (受信 SNMP メッセージを処理するためのサービス)​

メッセージ処理 (MP) サブシステムがユーザーベースセキュリティモジュールを呼び出して受信 SNMP メッセージを処理する場合, セキュリティモジュールによって提供される適切なサービスを使用する必要があります。提供されるサービスは次のとおりです:

statusInformation =             -- エラー指示または成功
processIncomingMsg(
IN messageProcessingModel -- 通常は SNMP バージョン
IN maxMessageSize -- 受信 SNMP エンティティの
IN securityParameters -- 受信メッセージの
IN securityModel -- 受信メッセージの
IN securityLevel -- セキュリティレベル
IN wholeMsg -- ネットワーク上で受信されたもの
IN wholeMsgLength -- 受信された長さ
OUT securityEngineID -- 権威ある SNMP エンティティ
OUT securityName -- 主体の識別
OUT scopedPDU -- メッセージ (平文) ペイロード
OUT maxSizeResponseScopedPDU -- レスポンス PDU の最大サイズ
OUT securityStateReference -- セキュリティ状態への参照
)

Abstract Data Elements for Processing (処理用の抽象データ要素)​

パラメータとして渡される抽象データ要素は次のとおりです:

statusInformation (ステータス情報)​

メッセージ処理が成功したかどうかの指示。成功しなかった場合はエラーの指示であり, 増分されたエラーカウンターの OID と値が含まれる場合があります。

messageProcessingModel (メッセージ処理モデル)​

受信メッセージの SNMP バージョン番号。USM では使用されません。

maxMessageSize (最大メッセージサイズ)​

受信メッセージの最大メッセージサイズ。maxSizeResponseScopedPDU を計算するために使用されます。

securityParameters (セキュリティパラメータ)​

受信メッセージからのセキュリティパラメータ。

securityModel (セキュリティモデル)​

受信メッセージからのセキュリティモデル識別子。USM の場合は 3 である必要があります。

securityLevel (セキュリティレベル)​

受信メッセージからのセキュリティレベル: noAuthNoPriv, authNoPriv, または authPriv。

wholeMsg (完全なメッセージ)​

受信された完全なメッセージ。

wholeMsgLength (完全なメッセージ長)​

受信メッセージの長さ (オクテット単位)。

securityEngineID (セキュリティエンジン ID) (OUT)​

securityParameters から抽出された msgAuthoritativeEngineID。

securityName (セキュリティ名) (OUT)​

securityParameters から抽出された msgUserName。

scopedPDU (スコープ付き PDU) (OUT)​

メッセージから抽出された復号化および認証された scopedPDU。

maxSizeResponseScopedPDU (レスポンススコープ付き PDU の最大サイズ) (OUT)​

レスポンスメッセージで送信できる scopedPDU の最大サイズ。受信された maxMessageSize とセキュリティパラメータのサイズに基づいて計算されます。

securityStateReference (セキュリティ状態参照) (OUT)​

キャッシュされたセキュリティデータへの参照。受信メッセージに対するレスポンスまたはレポートメッセージを生成する際に後で使用されます。

Service Primitive Usage (サービスプリミティブの使用)​

これらの抽象サービスプリミティブは, メッセージ処理サブシステムとユーザーベースセキュリティモデルの間のインターフェースを定義します。実際の実装の詳細は, セクション 3 (手順の要素) で指定されています。