前回はトークンのユーザーインターフェースを突き、ユーザーの誤操作を狙うソーシャルエンジニアリングの攻撃手法を紹介した。
この手法に対して有効な対策は何か。それは、ユーザーが行っている操作情報を視覚的に表示することができる下記のようなトークンである。先ほどの10キー付きワンタイムパスワード生成トークンと似ているが、大きな違いは表示画面が2行で、ユーザーが実行している操作に対するメッセージが表示できることである。
例えば、口座番号入力に対しては「コウザバンゴウ」、金額の入力に対しては「キンガク」と表示できる。従って、ユーザーは何の数値を入力しているのかをトークン上で理解でき、現在行っている作業が何に対しての承認(認証)であるのかを常に把握できる。
Ezio Signerトークン
このトークンでは、23通りの動作パターンが事前に組み込まれている。操作の振る舞いが動的に変更できるので、この署名技術は「動的署名」と呼ばれている。金融機関はその23通り全てをすぐに実装する必要はなく、段階的に適用することも可能だ。
その機能を実装するかどうかは、取引の内容やリスクに応じて金融機関のサーバ側で判断し、ユーザーに操作を求めることができる。ユーザーは通常の操作と違う操作を求められた場合、高度なセキュリティが必要な処理であることを認識することができ、慎重に操作することになるため、ソーシャルエンジニアリングでだまされる可能性が極めて低くなる。
また、頻繁に利用する単純なワンタイムパスワード生成機能でも画面上部に入力している内容が文字で明示されるので、何を入力しているのかも明らかとなる。
例えばトークンのリセット操作で不正送金を行う攻撃に対しては特に有効で、下記の通り、ユーザーを詐欺から守ることができる。
- 攻撃者はトークンのリセットが必要であるというメッセージをユーザーに表示し、送金のためのチャレンジを表示し、ある特定の番号(または複数の番号)にトランザクション署名を行い、そのワンタイムパスワードの入力を求める
- ユーザーはトークンが利用できなくなるのは困ると思い、求められた通りの操作を行うが、トークンには「コウザバンゴウ」、「キンガク」と表示されるので、自分が行っている操作はトークンのリセット操作ではないこと気づき、操作を中断する