SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 Summer セッションレポート(AD)

パスワードレス認証のセキュリティとユーザー体験のバランスの難しさ、実装のポイントとは

【C-8】パスワードレス認証がもたらすユーザー体験の向上と実装方法のポイントとは

  • X ポスト
  • このエントリーをはてなブックマークに追加

 アプリやWebサービスの開発において、ユーザー認証は必要不可欠である。従来のパスワード認証に加えて、ソーシャルログイン、WebAuthn、Passkeysなどの認証方式が登場しているが、セキュリティを担保しながらユーザーが求める認証方法を実装するのが課題となっている。デブサミ2023夏でのOkta Japan株式会社 池原大然氏のセッションでは、ユーザー体験を中心としたパスワードレス認証の利点とその実装方法が考察された。

  • X ポスト
  • このエントリーをはてなブックマークに追加

池原氏の経験から感じた「にわかにつら」、認証実装の難しさとは

 池原氏は約12年間、ユーザーインターフェースの分野、特にフロントエンド部分のUIコンポーネントを扱う企業に勤務していた。その後、3年半はクラウドコミュニケーションプラットフォームを提供する企業に在籍し、2023年の3月からOkta Japanに所属している。

 元々セキュリティや認証、認可に関する専門家ではなく、現在もOktaの製品やコンセプト技術を学んでいる段階である。そのような経歴を前提として、これまで認証、認可機能の実装を求められた際の自身の経験を振り返り、「にわかにつら」という造語を使って説明した。

「にわかにつら」とは
「にわかにつら」とは

 「これは何かというと、いきなり認証機能を実装しようとすると、実装方法が『わからない』、実装しても、正しいかどうかも『わからない』……といった状況になります。作っただけでは終わりではなく、その後のメンテナンス・保守も必要です。保守をしたり、最新の認証方式に対応したりするのが『つらい』となります」(池原氏)

 「Okta Customer Identity Cloud, powered by Auth0(以下、Customer Identity Cloud)」は、顧客向けサービスに求められるユーザー認証、認可の機能を提供するサービスで、池原氏の指摘した「にわかにつら」を解消してくれる。Oktaは顧客向け認証基盤サービスであるAuth0を2021年に買収し、リブランドしてこのサービスを提供している。

 Customer Identity Cloudは、ユーザー登録、ログインのUI、認証機能、シングルサインオン、パスワードレス、多要素認証、認証連携などの認証・認可の機能を提供している。アプリケーションの登録やログイン時にアプリケーション内で認証機能を持たずに、Customer Identity Cloudのサービスに画面遷移して、ユーザーの正当性を判断する仕組みを提供している。この方法を取ることで、アプリケーションの開発負担を減少させ、主要な開発にリソースを専念することが可能となる。

Okta Customer Identity Cloud, powered by Auth0
Okta Customer Identity Cloudについて

パスワード認証から多要素認証・パスワードレスへ

 続いて池原氏は認証方式の歩みを説明した。まずはパスワード認証。昔からのパスワード認証には多くの課題がある。一般的なパスワードは推測されやすく、容易に突破されるリスクがある。そのため、最近では、要件を複雑化し、推測を難しくするための取り組みが増えている。具体的には、記号の追加や最小の文字数の要求、ランダムな文字列の使用など、推測を難しくするための方法がサービスに導入されている。

 池原氏は最近体験した、求められるパスワードの最小の長さが72文字であったとし「このような長さのパスワードは記憶するのが難しいため、パスワードマネージャーの使用を余儀なくされました」と、実用性を欠いていることを指摘。さらに管理をしているパスワードの数も200以上と、管理の難しさも課題であるとした。

 ID・パスワードのセキュリティを強化するために、近年一般的となっているのが多要素認証。この認証方法にもさまざまな懸念が存在する。一例として、電話番号を使ったSMSや音声通話を活用する多要素認証があるが、通信が繋がらない地域の場合にはその有効性が疑問視される。更に、コストやSIMスワップ(SIMの乗っ取りによる多要素認証の突破)などの新たな懸念点も浮上している。

 電話やSMSでなくAuthenticator(認証器)を使う方法もあるが、その導入自体がストレスとなり、ユーザー体験が低下する傾向も見受けられる。更に、多要素認証の導入にも関わらず、本物のサイトを模倣した偽サイトでユーザーから情報を引き出す手口もある。多要素認証はセキュリティを強化する可能性はあるが、それが全ての問題を解決するわけではないのだ。

 最近の認証方式には、パスワードを使用しない方法が登場している。池原氏は「WebAuthn(WebAuthentication)」と「Passkeys」を紹介した。WebAuthnはパスワードの代わりに公開鍵暗号方式を利用し、登録したデバイスを認証の要素として活用する。このデバイスは複製が不可能であり、本人確認の一部として機能する。しかし、WebAuthnには欠点や制約も存在する。特に、デバイスを変更した際に登録情報を持ち越せないため、新たに登録しなおす必要があるのだ。

Passkeysについて
Passkeysについて

 これに対する解決策として、多くのベンダーやプラットフォーマーが「Passkeys」の導入を進めている。Passkeysは、デバイス単位の認証ではなく、認証情報をクラウドを介して複数のデバイスで共有する。実際に、WebAuthnで定義されているAPIを使用しながら、クラウドを通じて複数のデバイスでの共有が可能なパスワードレスの認証の実装が多くのサービスで導入されている状況である。

Passkeysによる認証、新時代のログイン方法とユーザー体験の課題とは

 池原氏はPasskeysを使ったログイン方法を、自身が作成したデモサイトを操作しながら説明した。

 ユーザー登録を行う際に、Passkeysを使用すると、IDやパスワードの代わりにPasskeysの認証情報を登録する画面が表示される。Passkeysを登録する際、使用中のデバイスの指紋認証などを利用する。登録が終わっていったんログアウトして、再度ログインする際には、Passkeysの情報を引用してパスワードなしで認証できる。ノートパソコンで登録した認証情報を、AppleIDやiCloudを経由してiPhoneでも利用できる。Passkeysに対応していない環境でも、登録したPasskeys情報を用いた認証ができる。

 Passkeysでは、パスワードなしでの認証が可能だ。しかし池原氏は「全てを解決する、銀の弾丸や魔法の杖かというと、現状はまだまだ難しい部分があります」と注意を促した。

 Passkeys機能の実装は難しくないが、問題はこの機能のユーザーが慣れていないことだ。Passkeysで認証できるデバイスを持たないユーザーにも配慮する必要がある。スタンダードなユーザー体験が確立できていないのだ。

Passkey機能の考慮点
Passkeys機能の考慮点

 OktaのCustomer Identity Cloudは、カンファレンスが開催された2023年7月の時点では、Passkeys機能の正式提供をしていない。池原氏は、近い将来に提供する予定であるとし、オンラインで一般公開しているOktaの研究発表の場である「Auth0 Lab」でその機能を試せることを紹介した。Auth0 Labで試せる機能は製品化されていないので本番環境向きではないが、Passkeys機能をどのように実装、管理していくかの体験ができる。

 Passkeys機能を有効化すると、自動的にログイン画面がPasskeysに対応できるようになる。ユーザーに提供する体験に関するプロファイルの用意もあり「Identifier First + Biometrics」というログインフローを選ぶと、ユーザーID確認のためにメールアドレスと指紋など生体情報を使ってログインできる画面を提示する。生体認証が使えない環境にあるときはIDとパスワードの環境を使うなど別のフローにしていくなどの設定ができる。対応可能な認証方式をリスト化してユーザーが選ぶ流れにもできる。

 池原氏は、「パスワードレス認証は、ユーザーにID・パスワード管理の負担がなくなる便利なものです。しかし、さまざまなタイプのユーザー体験をご検討いただく必要があります。Oktaでは皆様のご意見を聞きながら、改善していきます。我々はパスワードレス認証にとどまらず、『にわかにつら』を解消する製品開発を行なっていますので、試していただければと思います」と、Customer Identity Cloudのトライアルを促した。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加

提供:Okta Japan株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18201 2023/09/20 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング