次の方法で共有


脅威の軽減手法

パスワードのセキュリティを強化するために使用できる脅威軽減手法は多数あります。 これらの手法は、次の 4 つの主要なテクノロジのうちの 1 つ以上を使用して実装されます。

テクノロジー 形容
CryptoAPI CryptoAPI には、暗号化ルーチンをターゲット エンティティに適用するのに役立つ一連の関数が用意されています。 CryptoAPI では、ハッシュ、ダイジェスト、暗号化、暗号化解除を提供して、その主な機能を言及できます。 CryptoAPI には他の機能もあります。 暗号化と CryptoAPI の詳細については、「Cryptography Essentials」を参照してください。
アクセス制御リスト アクセス制御リスト (ACL) は、オブジェクトに適用されるセキュリティ保護の一覧です。 オブジェクトには、ファイル、プロセス、イベント、またはセキュリティ記述子を持つその他のオブジェクトを指定できます。 ACL の詳細については、「アクセス制御リスト (ACL)」を参照してください。
データ保護 API データ保護 API (DPAPI) には、機密データの暗号化と暗号化解除に使用する 4 つの関数が用意されています。CryptProtectDataCryptUnprotectDataCryptProtectMemoryCryptUnprotectMemory
保存されているユーザー名とパスワード ユーザーのパスワードやその他の資格情報 (秘密キーなど) の処理を容易にし、一貫性を高め、安全にするストレージ機能。 この機能の詳細については、「CredUIPromptForCredentialsを参照してください。

 

これらのテクノロジは、すべてのオペレーティング システムで使用できるわけではありません。 そのため、セキュリティをどの程度向上できるかは、関係するオペレーティング システムによって異なります。 各オペレーティング システムで使用できるテクノロジを次に示します。

オペレーティング システム テクノロジー
Windows Server 2003 および Windows XP
  • CryptoAPI
  • アクセス制御リスト
  • データ保護 API
  • 保存されているユーザー名とパスワード
Windows 2000

 

次の脅威軽減手法では、4 つのテクノロジのうち 1 つ以上を使用します。 オペレーティング システムに含まれていないテクノロジの使用を必要とする手法は使用できません。

ユーザーからのパスワードの取得

ユーザーにパスワードの設定を許可する場合は、強力なパスワードを強制的に使用します。 たとえば、パスワードは 8 文字以上などの最小長にする必要があります。 パスワードには、大文字と小文字、数字、およびその他のキーボード文字 (ドル記号 ($)、感嘆符 (!)、またはより大きい (>) も含める必要があります。

パスワードを取得したら、(できるだけ少ないコードを使用して) すばやく使用し、パスワードのすべての痕跡を消去します。 これにより、侵入者がパスワードを"トラップ"するために使用できる時間が最小限に抑えられます。 この手法とのトレードオフは、ユーザーからパスワードを取得する必要がある頻度です。ただし、可能な限り原則を採用する必要があります。 パスワードを適切に取得する方法については、「ユーザーに資格情報のを要求する」を参照してください。

"パスワードを記憶する" ユーザー インターフェイス オプションは指定しないでください。 多くの場合、ユーザーはこのオプションを必要とします。 パスワードを指定する必要がある場合は、少なくとも、パスワードが安全な方法で保存されていることを確認します。 詳細については、このトピックの「パスワードの保存」セクションを参照してください。

パスワード 入力試行を制限します。 成功せずに一定回数試行した後、一定の時間ユーザーをロックアウトします。 必要に応じて、各試行の応答時間を最大に長くします。 この手法は、推測攻撃を倒すことを目的としています。

パスワードの保存

パスワードをプレーンテキストで保存しないでください (暗号化されません)。 パスワードを暗号化すると、セキュリティが大幅に向上します。 暗号化されたパスワードの格納については、「CryptProtectData」を参照してください。 メモリ内のパスワードの暗号化については、「CryptProtectMemoryを参照してください。 パスワードはできるだけ少ない場所に保存してください。 パスワードが保存されている場所が多いほど、侵入者がそれを見つける可能性が高くなります。 Web ページや Web ベースのファイルにパスワードを保存しないでください。 Web ページまたは Web ベースのファイルにパスワードを格納すると、パスワードを簡単に侵害できます。

パスワードを暗号化して保存したら、セキュリティで保護された ACL を使用してファイルへのアクセスを制限します。 または、リムーバブル デバイスにパスワードと暗号化キーを格納することもできます。 スマート カードなどのリムーバブル メディアにパスワードと暗号化キーを格納すると、より安全なシステムを作成できます。 特定のセッションのパスワードを取得した後、カードを削除できるため、侵入者がアクセスできる可能性を排除できます。