派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

サクッとわかるITトレンド8月号:「パスキー」とは?話題のログイン方法を解説

昨年から「パスキー」の導入が広がっています。パスワードの悩みである、複雑な文字列の設定や漏えいの心配を解消する技術。一体どんな仕組みなのか、やさしく解説します。特徴を知り、便利に使いこなしていきましょう。

「パスキー」が昨年頃から話題。導入が進んでいる

メールやSNS、ショッピングサイトなど、インターネット上にあるさまざまなサービス。これらを利用するには、会員登録をし、それぞれに違うパスワードを設定する必要がありますが、全てを覚えておくのは大変ですよね。

さらに、フィッシング詐欺などの被害に遭うと、どれだけ複雑なパスワードを設定していても意味がありません。これには、IDとパスワードを入力したあとでもう1段階の認証を加える「2段階認証」に対応したサービスも増えてきました。

そんな中、そもそも問題となっているパスワードをなくしてしまおう、という考え方で生まれたのが「パスキー」です。

「パスキー」は業界団体によって仕様が策定された技術で、すでに身近な企業も参加し、多くのインターネット上のサービスで導入が進んでいます。

パスキーでどのようにログインするのか

パスワードを入力せずに、どのようにログインするのかを見てみましょう。

たとえば、あるウェブサービスのログインにパスキーを使用するように設定しておき、スマートフォンでログインしようとすると、IDを入力したあとで次の左の画面が表示されます。

この画面で「続ける」をタップすると中央の画面が表示され、顔認証が始まります。そして、顔認証に成功すると、右の画面が表示され、ログインに成功します。このため、必要なのはIDを入力して顔認証するだけです。

そもそもどういう仕組みなのか、便利なポイントは?

このパスキーは、名前の通り「キー(鍵)」を使って認証します。

パスワードは「ワード」なので言葉を覚えておく必要がありますが、パスキーでは「キー」つまり「鍵」を持っていればいいのです。

そして、この「キー(鍵)」としてインターネットで使われる公開鍵暗号の仕組みと、生体認証(顔や指紋などの情報による認証)を使います。

具体的には、各WebサイトのURLに対してユーザーIDを登録するとき、端末の中で公開鍵と秘密鍵を生成します。そして、公開鍵をサーバーに保管し、秘密鍵をスマートフォンなどの端末に保管します。

設定したWebサイトにログインしようとすると、サーバーから「チャレンジコード」と呼ばれる値が送信されます。このチャレンジコードを端末に保存した秘密鍵で署名し、サーバーに送信すると、サーバーは公開鍵で検証し、問題なければログインできます。

この秘密鍵の使用時に、本人であることを端末の生体認証で証明することで、安全性を確保しています。つまり、秘密鍵は生体認証でロックされているので、スマートフォンなどの端末を紛失したとしても秘密鍵は保護される、という仕組みです。

便利なのは、この秘密鍵をプラットフォームの中で同期できることです。

たとえば、一つのプラットフォームでパスキーを登録していれば、そのプラットフォームを使ってログインする全ての端末で、同じように生体認証を使用できます。

なお、生体認証に対応していない端末でログインする場合は、画面にQRコードを表示し、生体認証に対応したスマートフォンでそれを読み取るなどの方法で対応できることもあります。

パスキー導入の流れに備えておくこと、開発現場で知っておきたいこと

利用者としては、パスキーが普及すると、長く複雑なパスワードを設定する必要もなくなり、非常に便利になります。フィッシング詐欺に遭うこともありませんし、端末を紛失しても生体認証を突破されなければ悪用されることはありません。

すでに身近なスマートフォン端末の多くでは利用できる環境が整っていますし、上記で紹介したようにパスキーに対応したサービスが増えています。一度設定すれば、パスワードそのものが不要になりますので、ぜひ試してみてください。

一方で、企業での利用では、生体認証の環境が整っていない会社も多く、最新の端末を導入しないと対応できないこともあり、まだ普及には時間がかかるかもしれません。これは会社の方針に従って進める必要があります。

もし自身が開発者であれば、自社が提供しているサービスにパスキーの導入を検討する必要があります。

同業他社が提供するサービスでパスキーの導入が進むと、利用者からパスキーの導入を求められることもあるでしょう。パスキーを導入していることで、差別化できる可能性もあるのです。

▼これまでのサクッとわかるITトレンド
Pythonはなぜこれほど人気なのか
大人も自由研究!IoTでプログラミングを体験しよう
サイバー攻撃に備えている?その対策は本当に有効ですか
Javaで開発するプログラマに将来性はあるのか
ITエンジニアはWeb3とどう向き合えばいいのか
RPAとプログラマーの役割はどう分担されるのか
ITエンジニアのための“効率の良い”数学の学び方
プログラマならではの「ChatGPT」の使い方
新年度は「Obsidian」で新しいノートを作ろう
DXへのITエンジニアの現実的な取り組み方とは
プログラマーのスキルアップとして競プロ(競技プログラミング)に挑戦!
プログラミング的思考はiPhone1台でも学べる時代!