パスワードを保護するための一般的な施策と、システム管理者の不正からパスワードを保護することは別物として考えたほうがよいでしょう。
前者、パスワードを保護するための施策としては、パスワードを平文または暗号文として保持せずに、(ソルトやストレッチングを組み合わせた)暗号学的ハッシュ関数を通して平文を導出できない形で保持しておくことが考えられます。この方法で保持されたパスワードはシステム管理者であっても元のパスワード文字列を導出することは現実的に不可能です。
後者、システム管理者の不正からパスワードを守ることは残念ながらできません。前述の施策が行われているシステム上であっても、システム管理者がユーザーのログイン処理時のパラメータに含まれるパスワード文字列(HTTPリクエスト上のPOSTパラメータ)を盗み見るなどした場合にはパスワードがシステム管理者にばれてしまいます。典型的にはフィッシングサイトがそれにあたります。
立場上、ユーザのパスワードが見えます。細工すれば分かる。
これは前者(パスワードをストレージ上にどのように保持するか)の話をしているように読み取れます。それについては上記で示したような施策によってパスワード文字列を保護することが可能です。
システム管理者の不正からパスワードの漏洩はどうやって防ぐのでしょうか?
原理上、防げません。
0 コメント