2026年4月20日月曜日

フィッシング詐欺はパスキーで防げるわけだけれども…

大手ポータルサイトのYahoo!Japanがパスワードのみのログインを停止する方針を打ち出した。ケータイを絡めた認証、とくにパスキーを使って欲しいようだ。

利用できるサイトは少ないのだが、証券会社などの大きな金額を扱うサイトも、昨年の大規模不正アクセス事件*1を受けてかパスキーの利用を推奨している。パスキーに対応するためのミドルウェアも概ね揃っており*2、今後、利用サイトが増える見込みだ。

1. パスワードはフィッシング詐欺に弱い

現在の一般ユーザーが対処すべきセキュリティー驚異は、フィッシング詐欺だ。SNSでアカウントを乗っ取られたと言う話はぼちぼち聞く。「不正侵入を検知しました。ログインして問題を確認してください。」と言うような文面で偽サイトに誘導し、IDとパスワードを入力させて奪取するような手口が使われる。ケータイ会社やクレカ会社を装った「引き落としに失敗しました。」ようなメールもある。私は習慣的にリンク先のURLを確認するが、仕事をテキパキこなしてしまう人は学歴などに関わらず引っかかりやすい。

2. 確認コード併用も、リアルタイム・フィッシングには脆弱

簡便な対策として、二段階認証が使われてきた。ユーザーをIDとパスワードで認証した後、使い捨ての確認コードを、あらかじめ登録してあるメールアドレスに送信して通知し、確認コードを入力させる。IDとパスワードを奪取するだけでは、不正アクセスはできない。しかし、リアルタイム・フィッシングという手法が一般化している。ユーザーにIDとパスワードを入力させた偽サイトは、そのIDとパスワードを真サイトに入力する。真サイトはユーザーに確認コードを送信するわけだが、偽サイトはその確認コードも入力するように促すのだ。

3. パスキーはフィッシング詐欺への銀の弾丸

誰しも疲れなどで不注意になることはある。フィッシング詐欺を防ぐためには、ユーザーがパスワードを入力する認証をやめたほうがよい。

  • 強制的にサイトの真偽を判定する仕組み(SSL/TLSのウェブサイト運営者情報はいちいち確認されない)
  • パスワードを送信しない仕組み(チャレンジ&レスポンス方式)

が必要だ。さらに、

  • ユーザーにパスワードを作らせない(脆弱なパスワードを使ったり、同じパスワードを使いまわしをする人がいる)
  • サイトに登録してある情報が流出しても、そのサイトにすらログインできない(公開鍵暗号方式)

とすると理想的になる。

パスキー(FIDO)と言う認証方式は、以上の特性を満たしている。つまり、フィッシング詐欺に対しては銀の弾丸として働くし、その他、不注意なユーザー操作やサイト運営で問題が引き起こされづらい。

4. パスキーの欠点

パスキーを使うには、ユーザーに秘密鍵とその管理機構のFIDO認証器(Authenticator)が必要になる。FIDO認証器を動かしてよいユーザーなのかをローカルで認証する方法(PIN/カメラ/生体認証デバイス)も必要だ。これ自体はスマホやPCの機能を使ったソフトウェアとして用意できるので、大事ではない。

何かの事故で、ログイン不能になるリスクが高い。スマホやPCが壊れたらFIDO認証器が喪失してログイン不能になる。複数のデバイスで同じFIDO認証器を使えるセキュリティーキーも売っているが、紛失するリスクは小さくない。複数の端末でバックアップ用のパスキーを登録すればよいのだが。

パスキーはローカルでの攻撃にはネットワークからの攻撃に対するほど強くない。スマホのPINは脆弱なパスワードであるし、生体認証デバイスは意外に突破されやすい。子どもが寝ている父親の指でスマホの認証を行い、勝手におもちゃを買い出したという故事*3がある。他に顔認証を写真で突破した*4、赤外線顔認証を加工した写真で突破した*5と言う話題もある。

BitwardenのようなクラウドサービスにFIDO認証器(をパスワードで暗号化したデータ*6)を預ける方法もあるが、クラウドサービスがクラックされると暗号化されているとはいえFIDO認証器が流出するし、クラウドサービスを狙ったリアルタイム・フィッシング詐欺にはパスキーで対抗できない。また、クラウドサービスのFIDO認証器を弾いているサービスもあるようだ。Yahoo!Japanで、うまくBitwardenは使えない。

フィッシング詐欺が氾濫しているので、とくにお金が絡むところはパスキーを使う方がよいと思うが、バックアップを準備し、デバイス盗難に注意しないと痛い目にあう。

*1偽サイトで2段階認証も突破する「証券口座乗っ取り」横行 - 日本経済新聞

*2例えばJavaではパスキーを使うためのライブラリーWebAuthn4Jがある。また、代表的なIDアクセス管理(IAM)システムのKeycloakでも使える。Keycloakを運用していれば業務システムにすぐに組み込める。

*3寝ている親の指で指紋ロック解除、6歳児がポケモン商品を大量購入 - CNET Japan

*4最高レベルのセキュリティと言われた顔認証が...1枚の写真でロック解除されるスマートフォン - MK

*5「Windows Hello」による顔認証、赤外線顔写真で突破される - PC Watch

*6Firefox SyncやBitwardenのようなクラウドサービスによるパスワード同期は大概、ローカルでパスワードを暗号化してからクラウドサービスに送信するようになっている。なお、Firefox SyncはAES-CBC 256暗号を、BitwardenはAES-256-GCM暗号を用いているので、微妙にBitwardenの方が安全だ。

0 コメント:

コメントを投稿