問題 65★★☆

業務用クラウドサービスのログインを、スマートフォンの指紋認証で使うパスキーに切り替える。 社員から「指紋の情報がサービス側に渡るのではないか」と質問を受けた。 この質問への説明として最も適切なものはどれか。

正解:ア

各選択肢の解説

  1. ア指紋はスマートフォンの中で本人確認に使われ、サービスには秘密鍵で作った署名だけが送られる。

    正解。指紋の照合は端末の中で済み、合えば端末内の秘密鍵が使えるようになります。 サービスが受け取るのはその秘密鍵で作った署名で、登録済みの公開鍵で検証します。 指紋の情報も秘密鍵も端末の外へは出ません。

  2. イ指紋の特徴を数値化した情報がサービスへ送られ、登録時の情報と照合される。

    誤り。これは照合をサーバ側で行う方式の説明です。生体認証というとサーバで照合する イメージから選びやすい選択肢ですが、パスキーではサービスは指紋の情報を持ちません。 照合する場所が端末かサーバかで区別します。

  3. ウ指紋の画像は暗号化してから送られるので、サービス側に渡っても読まれない。

    誤り。暗号化して送れば通信途中で読まれにくくはなりますが、サービス側で復号して 照合するなら、指紋の情報はサービスに渡っています。パスキーは、そもそも 生体情報を送らない仕組みです。「送り方を守る」と「送らない」は別の話です。

  4. エ指紋からその都度ワンタイムコードが作られ、サービスへ入力されて照合される。

    誤り。ワンタイムコードは一度だけ使える確認用の番号で、SMSや認証アプリで受け取ります。 指紋から作られるものではありません。パスキーでは利用者がコードを入力せず、 端末とサービスが署名のやり取りで認証を済ませます。

理解を深めるために

指紋は「鍵の金庫」を開けるだけ

パスキーでの指紋認証は、スマートフォンの中にある鍵の金庫を開ける操作です。 金庫の中には、そのサービス専用の秘密鍵が入っています。指紋が合えば金庫が開き、 秘密鍵で署名を作ってサービスへ送ります。サービスに届くのは署名だけで、 指紋の情報はスマートフォンから出ていきません。

パスキーの認証の流れ

  • 登録時に、端末がサービスごとに秘密鍵と公開鍵の組を作り、公開鍵だけをサービスへ渡す
  • ログイン時、サービスは毎回異なる値(チャレンジ)を端末へ送る
  • 利用者は指紋・顔・PINなどで端末のロックを解き、端末が秘密鍵でチャレンジに署名する
  • サービスは保管している公開鍵で署名を検証する

指紋は「この端末の持ち主が操作しているか」を端末が確かめるためのものです。 サービス側に保管されるのは公開鍵なので、サービスから情報が漏れても、 指紋の情報や、ログインに使える秘密は手に入りません。

混同しやすいものとの違い

方式 指紋の照合場所 サービスが受け取るもの
パスキー 端末の中 秘密鍵で作った署名
サーバ照合型の生体認証 サーバ 指紋の特徴の情報
生体情報を暗号化して送る方式 サーバ(復号して照合) 暗号化された指紋の情報
ワンタイムコード 指紋は使わない 利用者が入力した番号

パスキーの問題では、「何が端末の外へ出るか」を確かめると選択肢を絞れます。 外へ出るのは公開鍵と署名だけです。

前の問題へ次の問題へ