パスワードの処理
現在、ユーザー名とパスワードの資格情報は、認証に使用される最も一般的な資格情報です。 証明書や生体認証などの他の種類の資格情報は、システムやネットワークの世界への道を見つけ始めていますが、多くの場合、パスワードによってバックアップされます。 また、証明書が使用されている場合でも、暗号化キーを保護する必要があります。 そのため、ユーザー名とパスワードは、予測可能な将来に向けて資格情報に引き続き使用されます。
パスワードと暗号化キーはしばらくの間使用される予定であるため、ソフトウェア システムで安全な方法で使用することが重要です。 ネットワークまたはコンピューター システムをセキュリティで保護する場合は、侵入者からパスワードを保護する必要があります。 これは、最初は簡単に見えるかもしれません。 ただし、攻撃者がユーザーのパスワードをスニッフィングできたため、ネットワークが侵害された後のシステムとネットワーク。 問題の範囲は、ユーザーがパスワードを他のユーザーと共有することから、攻撃者が侵入できるソフトウェアまでです。
完全に安全な方法でソフトウェアに秘密の情報を格納することは不可能です。 また、パスワードと暗号化キーをソフトウェア システムに格納することは完全にセキュリティで保護されないため、ソフトウェア システムに保存しないことをお勧めします。
ただし、パスワードをソフトウェア システムに格納する必要がある場合 (通常はそうである)、使用できる予防策があります。 主な予防措置は、侵入者がパスワードを発見することを可能な限り困難にすることです。 あなたの家のドアをロックするのと同じように、誰かが侵入すると決めたら、それを防ぐのはほとんど不可能です。 しかし、うまくいけば、あなたは、侵入者がより簡単な餌食を見つけることを十分に困難のレベルを上げているでしょう。
パスワードを検出する攻撃者の仕事を困難にする方法は多数あります。 しかし、実際にできることの程度は、通常、ネットワークまたはシステムのユーザーが何と一緒に暮らしたいかのトレードオフです。 たとえば、"シングル サインオン" が使用されず、アプリケーションが起動されるたびにユーザーにパスワードの入力を求められるケースを見てみましょう。 ほとんどの場合、これはユーザーに大きな負担を生み出し、おそらく不平を言うでしょう。 それだけでなく、シングル サインオンがない場合は非効率的であり、ユーザーの生産性が低下します。 したがって、実際には、パスワードは通常、ログオン時を除いてユーザーから収集されません。
通常、パスワードはソフトウェア システムに保存する必要があるため、パスワードを可能な限り安全に保ち、ユーザーの利便性を維持することが重要になります。 詳細については、次のトピックを参照してください。
注意
アプリケーションでのパスワードの使用が完了したら、 SecureZeroMemory 関数を呼び出してメモリから機密情報をクリアします。