はじめに
このドキュメントでは、Ciscoパスワード暗号化の背後にあるセキュリティモデルと、その暗号化のセキュリティ制限について説明します。
バックグラウンド
シスコ コンフィギュレーション ファイル内のユーザ パスワード(およびその他のパスワード)を復号化するためのプログラムが、シスコ以外の情報源から公開されています。このプログラムは、CLIで設定されたパスワードを enable secret
コマンドを使用して、アップグレードを実行します。シスコユーザの間でプログラムが引き起こした予想外の懸念から、多くのユーザがシスコのパスワード暗号化を利用して提供されるセキュリティよりも多くのセキュリティを確保しているのではないかと疑われるようになりました。
注:シスコでは、すべてのCisco IOS®デバイスにAuthentication, Authorization, and Accounting(AAA;認証、認可、アカウンティング)セキュリティモデルを実装することを推奨しています。AAA ではローカル、RADIUS、および TACACS+ の各データベースを使用できます。
前提条件
要件
このドキュメントに関する固有の要件はありません。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
ユーザ パスワード
ユーザパスワード、およびその他のほとんどのパスワード(非 enable secret
s)は、Cisco IOSコンフィギュレーションファイル内で、最新の暗号化規格では非常に脆弱な方式で暗号化されています。
シスコでは復号プログラムの配布を行っていませんが、インターネット上で一般に公開されているCisco IOSパスワードの復号プログラムは少なくとも2種類用意されています。このようなプログラムの最初の公開は1995年前半に行われました。暗号に詳しい者であればだれでも簡単に新しいプログラムを作成できると考えられます。
Cisco IOS で使用しているユーザ パスワードの方式は、周到かつ巧妙な攻撃から守ることを意図して作られていませんでした。暗号化スキームは、単純なスヌーピングまたはスニッフィングによるパスワードの盗難を回避するように設計されています。コンフィギュレーションファイルに対してパスワードを解読する作業を行う人物からパスワードを保護する意図はありませんでした。
暗号化アルゴリズムが脆弱であるため、ユーザがパスワードのクリアテキストのリストを扱うのと同じように、パスワードが含まれているコンフィギュレーションファイルを機密情報として扱うのは、シスコの常な立場です。
enable secretおよびenable passwordコマンド
「 enable password
コマンドの使用は推奨されなくなりました。 enable secret
コマンドを発行します。このインスタンスで唯一、 enable password
コマンドをテストできるのは、デバイスがブートモードで、 enable secret
コマンドを使用して、アップグレードを実行します。
イネーブルシークレットはMD5アルゴリズムでハッシュ処理されます。シスコが把握する限り、コンフィギュレーション ファイルの内容をもとに enable secret を復元することは不可能です(明らかな辞書攻撃によるものは除きます)。
注:これは、次のように設定されたパスワードにのみ適用されます。 enable secret
、およびパスワードを設定しない enable password
を参照。実際には、2 つのコマンドの違いは使用されている暗号化の強度が大きく異なることだけです。
enable secret をサポートしている Cisco IOS イメージを調べる方法
次のコマンドを使用して、 show version
コマンドを通常の動作モード(完全なCisco IOSイメージ)から実行して、ブートイメージが enable secret
コマンドを使用して、アップグレードを実行します。存在する場合は、 enable password
を参照。ブートイメージが enable secret
、次の点に注意してください。
-
物理的なセキュリティを確保し、デバイスをブートイメージにリロードできないようにしている場合は、イネーブルパスワードを使用する必要はありません。
-
誰かがデバイスに物理的にアクセスできる場合、ブートイメージにアクセスする必要なしに、デバイスのセキュリティを簡単に弱体化させることができます。
-
設定した場合、 enable password
と同じ方法で enable secret
を作成し、 enable secret
攻撃を受けやすい enable password
を参照。
-
次のように設定すると、 enable password
異なる値に設定する必要があります。これは、ブートイメージが enable secret
を使用する場合、ルータ管理者は新しいパスワードを覚えておく必要があります。このパスワードは、 enable secret
コマンドを使用して、アップグレードを実行します。別のイネーブルパスワードを使用すると、管理者はソフトウェアアップグレードのために強制的にダウンタイムを発生させる際にパスワードを記憶しておく必要があります。これがブートモードにログインする唯一の理由です。
その他のパスワード
Cisco IOSコンフィギュレーションファイルのほとんどすべてのパスワードとその他の認証文字列は、ユーザパスワードに使用される脆弱で復元可能な方式で暗号化されています。
特定のパスワードの暗号化にどの方式が使用されているかを確認するには、コンフィギュレーションファイルで暗号化された文字列の前の数字を確認します。その数字が7の場合、パスワードは脆弱なアルゴリズムで暗号化されています。数字が5の場合、パスワードは強力なMD5アルゴリズムでハッシュされています。
たとえば、次の設定コマンドでは、
enable secret 5 $1$iUjJ$cDZ03KKGh7mHfX2RSbDqP.
enable secret が MD5 でハッシュ処理されています。それに対して、次のコマンドでは、
username jdoe password 7 07362E590E1B1C041B1E124C0A2F2E206832752E1A01134D
パスワードは、脆弱で復元可能なアルゴリズムで暗号化されています。
コンフィギュレーション ファイル
設定情報を電子メールで送信する場合は、タイプ7のパスワードから設定をサニタイズします。コントローラ GUI または CLI を使用して show tech-support
コマンドを発行します。このコマンドは、デフォルトで情報を消去します。例 show tech-support
コマンドの出力を次に示します。
...
hostname routerA
!
aaa new-model
aaa authentication login default local
aaa authentication ppp default if-needed local
enable secret 5
!
username jdoe password 7
username headquarters password 7
username hacker password 7
...
コンフィギュレーションファイルをTrivial File Transfer Protocol(TFTP;トリビアルファイル転送プロトコル)サーバに保存する場合は、ファイルが使用されていないときにそのファイルの権限を変更するか、ファイルをファイアウォールの背後に配置します。
アルゴリズム変更の可能性について
シスコでは、Cisco IOS ユーザ パスワードに対してより強固な暗号化アルゴリズムを近い将来サポートする予定はありません。このような機能を将来的に導入することをシスコが決定した場合、その機能を利用することを選択するユーザに対して管理上の負担が増えることは明らかです。
通常のケースでは、ユーザパスワードをenable secretに使用されるMD5ベースのアルゴリズムに切り替えることはできません。これは、MD5は単方向ハッシュであり、暗号化されたデータからはパスワードをまったく復元できないためです。特定の認証プロトコル(特にCHAP)をサポートするには、システムがユーザパスワードのクリアテキストにアクセスする必要があるため、可逆的なアルゴリズムでそれらを保存する必要があります。
キー管理の問題により、データ暗号化規格(DES)などのより強力で復元可能なアルゴリズムに切り替えることは、簡単ではありません。DESを使用してパスワードを暗号化するようにCisco IOSを変更することは簡単ですが、すべてのCisco IOSシステムが同じDESキーを使用している場合、この方法にはセキュリティ上の利点はありません。また、システムごとに異なるキーを使用した場合は、すべての Cisco IOS ネットワーク管理者に管理上の負担がかかり、システム間でのコンフィギュレーション ファイルの移植性が失われます。より強力で復元可能なパスワード暗号化に対するユーザの要求は少ない。
関連情報