サービスを提供するシステム側では、認証システムに次のような機能を盛り込むことが薦められる。
有効期限を設けるのは、定期的な変更を強制するためだ。運用管理技術者が共通のパスワードを利用する運用ポリシーの場合にこれが有効に働く。ただし、一般ユーザーに定期的変更を求める必要はないという議論もある。
前世代のパスワードを復活させて利用しないようにするのも、例えば退職した管理者がリモートでシステムにアクセスするのを防ぐのに意味がある。
ID/パスワード以外の認証要素を追加することで、ほとんどのパスワードクラッキングを防げる。ワンタイムパスワードはその代表例だ。ただし、ワンタイムパスワードも横取りされる可能性があるので、Webメールでパスワードを配信する運用は避けた方がよい。
通常のメールで配信する場合は、ログイン端末ではなく、スマートフォンなどの別の端末に配信する運用の方が安全だ。また、PKIを利用したトークン(ICカードなど)の利用、生体認証などが利用できる場合はさらに安全が図れよう。CAPTCHA(画面にひずんだ画像の文字を表示して入力を促す認証方法)は、機械的なログインを防ぐ意味があり、パスワードリスト攻撃などに有効な対策となる。
パスワードファイルの窃取と悪用を防ぐために、適切な暗号化を行い安全に保管することは必須だ。可逆的な暗号化ではなくハッシュ値として保管することが薦められる。多くの認証システムはこの方法をとるはずだが、パスワードを忘れたユーザーへの対応のために平文で保管するケースがあるので、点検が薦められる。
長期間使われていないアカウントは削除し、リスクを少なくする。
強度の低い簡単なパスワードや、簡単に推測できるパスワードは最初から作成できないようにフィルタする。
同一のIDでの認証エラーが続けて発生する場合にアカウントを一時停止する。
パスワードリスト攻撃は特定の攻撃端末から大量に行われることが多いので、ログイン要求を一定以上の回数行うIPアドレスからの通信を遮断することで、それ以上の不正ログイン試行を防げる。
ログイン履歴を保存し、利用者がアカウントの利用実績を認識できるようにする。いつもと違う端末からのログインがあった場合、ユーザーにメールで通知する対応を行うのも有効だ。
以上、不正ログインの主な手口とエンドユーザー側での対策、システム側での対策を紹介した。IPAが発行する「オンライン本人認証方式の実態調査 報告書」(2014年8月)では、さらに詳細に不正ログイン手口と対策を解説しているので参照をお薦めする。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。