Solaris のシステム管理 (システム管理エージェント)

USM による認証とメッセージプライバシ

システム管理エージェントでは、SNMPv3 パケットの認証、暗号化、および復号化に、ユーザーに基づくセキュリティーモデル (USM) を使用します。USM の使用目的は次のとおりです。

snmpusm ユーティリティーは、SNMP エージェントの USM テーブルの基本管理用 SNMP アプリケーションです。usmUserTable MIB テーブルへの書き込みアクセスが必要です。詳細については、snmpusm(1M) のマニュアルページを参照してください。


注 –

snmpusm サブコマンドは、SNMPv1 および v2c ではサポートされません。プロキシなしでこれらのコマンドを実行できるのは、SNMPv3 ユーザーだけです。


エージェントの働きにより、ユーザーは、主要構成ファイル snmpd.confsnmpusm コマンドを利用して、USM MIB を通してユーザーエントリを管理できます。システム管理エージェントは、USM MIB を利用して、ユーザー情報 (ユーザーが存在するかどうかの情報も含む) を検索します。ユーザーからの要求はすべて、USM MIB と照合されます。ユーザーが存在する場合、USM MIB は次のアクセス権をチェックします。

USM MIB は、ローカルストアキーを使って、MIB 内の特定のユーザーによって指定された認証プロトコルに基づく新しいダイジェストを計算します。計算されたダイジェストは、着信パケットから保存されたダイジェストと比較されます。2 つのダイジェストが一致すれば、そのユーザーは認証されます。メッセージダイジェストの詳細については、「認証プロトコルアルゴリズム」を参照してください。

以下では、USM の設定について説明します。

ユーザー

SNMP エンジンとの通信を許可されたユーザーを表す

認証の型

使用する認証プロトコルアルゴリズム を指定する(MD5 または SHA)。詳細については、「認証プロトコルアルゴリズム」を参照

認証パスワード

ユーザーの認証パスワードを指定する。パスワードは 8 文字以上で構成する必要がある。

プライバシの型

使用するプライバシプロトコルを指定する。システム管理エージェントの場合、DES (データ暗号化規格) が使用される。詳細については、「メッセージプライバシ」を参照

プライバシパスワード

ユーザーのプライバシパスワードを指定する。パスワードは 8 文字以上で構成する必要がある。

セキュリティーレベル

認証とプライバシに関するユーザーのセキュリティーレベルを指定する。

noAuthNoPriv

ユーザー名の一致だけを使って認証を行う

authNoPriv

MD5 または SHA1 アルゴリズムに基づいた認証を行う

authPriv

DES プロトコルに基づいたプライバシ (暗号化) を提供する

認証では、秘密鍵を使って MAC (メッセージ認証コード) を生成し、usmSecurityParameters を構成する msgAuthenticationParameters に格納します。送信側と受信側のエンティティーは、同じ秘密鍵を使って MAC を生成します。このため、送信側の MAC と受信側の MAC が一致すれば、メッセージは認証されます。

認証プロトコルアルゴリズム

システム管理エージェントに実装されている USM では、2 つの認証プロトコルがサポートされます。以下のリストに認証プロトコルを示します。

HMAC-MD5–96

システム管理エージェントでは、メッセージダイジェスト実装は HMAC-MD5–96。これは、MD5 に基づく単方向の暗号化であり、96 ビットのハッシュと16 オクテットのキー長を使用する。計算上、2 つのメッセージが同じメッセージダイジェストを持つことはできない。事前に指定されたターゲットメッセージダイジェストからメッセージを生成することもできない。MD5 アルゴリズムは電子署名アプリケーションを対象にしている。これらのアプリケーションでは、サイズの大きいファイルを安全に圧縮する必要がある。圧縮後、公開鍵暗号システムにより、秘密鍵を使って暗号化する。HMAC-MD5–96 アルゴリズムは 32 ビットマシンで使用可能。大規模な置換テーブルは不要。このアルゴリズムは非常にコンパクトにコード化することができる。MD5 の詳細については、RFC 1321 (http://www.ietf.org/rfc/rfc1321.txt ) を参照

HMAC-SHA–96

システム管理エージェントでは、セキュアハッシュアルゴリズム (SHA) 実装は HMAC-SHA–96。この単方向暗号化は、96 ビットのハッシュと 20 オクテットのキー長を使用する。このアルゴリズムは、2 64 ビット未満の長さのメッセージを入力として受け付ける。入力メッセージは 512 ビットブロックで処理される。このアルゴリズムは 160 ビットのメッセージダイジェスト出力を生成する。このメッセージダイジェストは、たとえば、メッセージの署名を生成または検証する署名アルゴリズムへの入力として使用される。メッセージダイジェストには、メッセージそのものではなく署名が付いている。このため、元のメッセージよりサイズが小さくなるため、効率がよくなる。電子署名の作成者が SHA を使用している場合は、検証側でも SHA を使用する必要がある。通常、転送中にメッセージに変更が加えられた場合は、メッセージダイジェストにも変更が加えられる。その結果、電子署名の検証は失敗する。SHA の安全性が高いのは、計算上、2 つのメッセージが同じメッセージダイジェストを持つことができないためである。また、事前に指定されたターゲットメッセージダイジェストからメッセージを生成することもできない。SHA の設計は MD5 ファミリのハッシュ関数と類似している。SHA の詳細については、RFC 3174 (http://www.ietf.org/rfc/rfc3174.txt ) を参照

システム管理エージェントの場合、デフォルトの認証プロトコルは HMAC-MD55–96 です。設定は auth proto = MD5 です。

メッセージプライバシ

USM はメッセージのプライバシをサポートします。USM は、SNMPv3 パケットの暗号化と復号化に、CBC-DES 対称暗号化プロトコルを使用します。認証の場合と同様に、送信側でのメッセージの暗号化と受信側でのメッセージの復号化には、同じ秘密鍵を使用します。データ部分だけが暗号化されます。暗号化を使用するには、auth フラグを有効にし、セキュリティーレベルでプライバシを有効にする必要があります。scopedPDU だけが暗号化されます。詳細については、「USM セキュリティー情報の格納場所」を参照してください。

現在、Solaris OS では、DES 暗号化がサポートされています。DES 暗号化では 56 ビットの鍵暗号化を使用します。これが、今回の Solaris ソフトウェアリリースの DES でサポートされている、現段階で最高レベルの暗号化です。

公開鍵

システム管理エージェントは、公開鍵暗号化標準 (PKCS) #11 をサポートします。このトークンインタフェース標準は、SSL モジュールと PKCS #11 モジュールの間の通信に使用するインタフェースを定義します。システム管理エージェントでコンパイルされた PKCS ライブラリは、PKCS#11 v2.11 標準に基づいています。

「認証プロトコルアルゴリズム」に記述されているように、MD5 に加えて SHA1 アルゴリズムがサポートされます。システム上に PKCS ライブラリがない場合、SMA は DES のサポートなしで標準 Net-SNMP 内部 MD5 の使用を試みます。

USM セキュリティー情報の格納場所

USM 情報は、SNMPv3 パケット文字列内の次のフラグに含まれています。

msgFlags

メッセージの処理方法を指定する 8 ビット。たとえば、msgFlags の 8 ビット中 2 ビットは、パケットが暗号化されているかどうかと、パケットが認証されているかどうかを指定する。このフラグを使って、メッセージのセキュリティーレベルが決定される。セキュリティーレベルは、主要ファイル snmpd.conf で次のように指定する

noAuthNoPriv

次の整数で表される。1。

最小限のアクセス

authNoPriv

次の整数で表される。2。

noAuthNoPriv 以上、 authPriv 以下のアクセス権

authPriv

次の整数で表される。3。

最大限のアクセス。もっとも安全

msgSecurityModel

メッセージの生成に使用するセキュリティーモデルを指定して、受信側エンティティーが適切なセキュリティー処理モデルを利用できるようにする。システム管理エージェントでサポートされているセキュリティーモデルは USM のみ

msgSecurityParameters

セキュリティーモデルに関するデータを含む 8 ビット文字列。このデータは使用するセキュリティーモデル (複数可) によって定義される。このデータは使用するセキュリティーモデル専用として使用される。セキュリティーモデルは msgSecurityModel に指定される。USM は、このフィールドを使って、SNMPv3 メッセージの認証、暗号化、および復号化を行う

scopedPDU

標準のプロトコルデータユニット (PDU) と、この PDU の処理に使用される管理上一意のコンテキストの識別情報を含む。SNMPv2 メッセージと SNMPv3 メッセージは、どちらも同じ PDU フォーマットを使用する。トランザクションのプライバシが有効になっている場合、この scopedPDU 形式は暗号化される

USM の MIB 定義は、/etc/sma/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt にあります。

USM の詳細については、RFC 3414 (http://www.ietf.org/rfc/rfc3414.txt ) を参照してください。