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

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 (手順の要素) で指定されています。