証券口座不正アクセスへの対策として長らく続いてきた楽天証券の「絵合わせ」から、ついに証券業協会などが推奨するパスキーが利用可能になりました。ぼくは、自分の口座だけでなく法人口座や子どもの口座などを楽天証券で持っているのですが、複数アカウントの取扱がどうなるか不安でした。今回試してみました。
パスキーとは?
パスキーとは、従来のIDとパスワードに代わる仕組みです。パスキーでは、サーバのシステム側(今回の場合楽天証券)にユーザーの公開鍵、(多くの場合)スマホ内に秘密鍵を作成します。
ログインするとき、サーバ側はログイン要求をデバイス(スマホ)に送り、スマホは秘密鍵で署名して送り返します。サーバ側がその署名が正しいか確認してログインを実行するという流れです。秘密鍵を使うときは、指紋や顔認証など生体認証が使われます。
家の鍵に例えて、すごく分かりやすく言えば、スマホの中にキーを作成し、それを使って楽天証券という家に入れるようにします。しかもスマホの中のキーを使うには生体認証が必要だという仕組みです。
ログインへの流れ
セキュリティが高いだけでなく、ユーザー側も楽ちんです。楽天証券の場合のログインまでの流れを見てみましょう。IDパスワードログインとは別に「パスキーでログイン」というボタンが表示されるようになります。

ここを押すと、下記のようにQRコードが表示されるので、パスキーを保存したスマホのカメラで読み取ります。

読み取りが完了すると、PCとスマホをBluetoothで接続するため「デバイスを接続」とう確認ボタンが表示されます。接続が完了すると、今度はスマホに保存されたどのパスキー(秘密鍵)で接続するかを選ぶ画面が出ます。ここには、楽天証券のユーザーIDが表示されています。

なお、ここで選択できるのは4つだけですがこれは最近使ったパスキー4つが出ているだけで、「ログインオプション」を選ぶとスマホに保存されたすべてのパスキーから選択できます。

利用するパスキーを選び指紋認証を行うと、スマホと楽天証券の間で通信が行われ、ログインが完了します。うん。便利ですね。なお、スマホで楽天証券にログインする場合は、QRコードを読み取る必要もなく、パスキーを選択し生体認証するだけでログインが完了。パスワードを忘れることもなく、とてもユーザビリティが良好です。
複数口座の取り扱い
ぼくは楽天証券のヘビーユーザーで、自分と法人2つ、未成年の子ども2人の楽天証券口座を管理しています。パスキーの実装の仕方によっては、1口座ごとに1アプリが必要――なんて作り方もあるので、どうなるんだろう?と気になっていました。
ただ、ログイン方法を説明したように、OS標準のパスキーの仕組みを使うことにしてくれたおかげで、複数口座を1つのスマホで取り扱うことができるようになっています。これはとても良かったところです。
なおOS標準のパスキーのメリットは、同じアカウント(この場合GoogleなのでGoogleアカウント)でログインしている別のスマホとも秘密鍵が同期されることです。そのため、スマホを紛失したり機種変更しても、別のAndroid端末を使えばログインができるようになります。
まぁ逆にいうと、Googleにログインされたら楽天証券へのログインもできてしまうわけで、Googleアカウントのセキュリティがこれまで以上に重要になったともいえます。
さっさとパスキーに
不正アクセス問題で、各社が2要素認証を導入し、電話をかけたりSMSを受けたり、またメールに絵文字を送ったりといろいろなセキュリティ対策を実施しました。しかしこれは盗聴されるとアウトだったり、ニセサイトにSMSの送信結果を入力させたりすれば突破できてしまうという落とし穴があります。
この点パスキーは、端末が物理的なキーになるのと、端末の利用には生体認証が必要なので、非常に強固です。セキュリティでは、記憶認証、所持認証、生体認証が認証の3要素と呼ばれます。ただ記憶認証は忘れることがあり、かつサイトごとに別のものにしなくてはいけないことから、昨今課題が山積しています。
パスキーは秘密鍵を入れたスマホという所持認証と、それを利用するための生体認証を組み合わせていて、セキュリティ強度は非常に高い。かつ、自分の持っているスマホで生体認証するだけと、使い勝手がいいのも特徴です。証券会社以外で採用されているほかの多要素認証も、さっさとパスキーに移行してほしいところです。