「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
「ソフテックだより」では、みなさまのご意見・ご感想を募集しています。ぜひみなさまの声をお聞かせください。
突然ですが、読者の皆さんはパスワードマネージャを使用されていますか?
例えば筆者は私用の端末(iPhone/iPad/Mac)でApple純正の “パスワード” アプリを使用しており、本稿執筆時点で250個以上のWebサービス/アプリのID・パスワードがセキュアに保存されています。
事程左様に、現在の生活は多種多様なWebサービスやアプリケーションに支えられており、それぞれのサービスにおいて “個人認証” が求められています。
日常生活のみならず皆さんの会社業務においても、ERPシステム/EDIシステム/MESなどの業務アプリやMicrosoft TeamsやSlackのようなグループウェアなど、様々な場面でIDやパスワードの入力を求められていることと思います。
今回の技術レポートでは、そうした個人認証を円滑にする SSO (Single Sign-On: シングルサインオン) と、生体認証を活用したパスワードレス化について、ご紹介します。
個人認証とは、システムの利用者が本人であるかを確認するプロセスをいいます。
本題であるSSO、生体認証そしてパスワードレス化に触れる前に、まずは一般的な個人認証の方式についていくつか紹介します。
最もオーソドックスな個人認証方法はパスワード方式です。
“合言葉” という通り、「パスワードを知っていること」をもって個人認証を行う方式ですが、パスワードを共有できてしまうことによる個人特定の信頼度の低さや、複数のサービスで共通のパスワードを使用してしまうことによるセキュリティの低下、そしてこのセキュリティ低下の防止のためにサービスごとに一つずつ複雑なパスワードを設定することによる運用の煩雑さが課題です。

OTP (One-Time Password: ワンタイムパスワード) は1回限り使用できるパスワードを発行して個人認証を行う方式です。
ユーザの電話番号/メールアドレスに対してSMS/メールでOTPを発行する方式や、事前に登録しておいたOTPジェネレータで発行したOTPを使用する方式などがあります。
SMS/メールの受信ができるかどうかや、OTPジェネレータの所持性をもって、パスワード方式より信頼度の高い個人認証を提供します。
ただ私見ながら、これのみにて個人認証を行うというよりは、他の個人認証方式と組み合わせた多要素認証の一つとして導入されているケースが多いように思います。
一部のOTP方式は標準化され、RFCとして公開されています。 [1]
FIDO2はFIDOアライアンスによって策定された標準規格です。 [2]
FIDO2認証では、事前に認証器に秘密鍵を作成・保存し、またサービス側にはその秘密鍵とペアになる公開鍵を保存しておきます。
認証時には、サービス側の認証要求に対して、ユーザの持つ認証器内の秘密鍵で署名した応答を返し、サービス側は公開鍵を使用して署名の正当性を検証します。
認証器の所持性・操作可能性をもって、より信頼度の高い個人認証をする方式です。
また、秘密鍵は通常サーバドメインに紐づけて管理されるため、フィッシング攻撃が通用しないという利点も持ちます。 [2]
専用の認証器としてYubiCo社のYubiKey [3]
のような製品が知られていますが、ここ数年で秘密鍵をセキュアにクラウドに保存し、ユーザの持つスマートフォン、タブレット、PCなどを並行して認証器として使用できる機能がOSネイティブに組み込まれ、さらに普及が進んでいます。
パスキーという言葉は、2022年5月にApple、Google、Microsoftの3社が共同で出した「FIDO認証のプラットファーム上での実装を拡大する」とした声明の中で初めて用いられ、
[4] 同年9月にリリースされたiOS16で「FIDO認証情報をクラウド上に保存して端末間で同期する」機能として初めて市場に投入されました。 [5]
現在ではFIDO2認証の一般名として浸透しつつあります。 [2]

図1. FIDO2/パスキー認証のシーケンス
SSOはSingle Sign-Onの略で、1度のユーザ認証で複数のサービスの利用が可能になる仕組みを指します。 [6]
業務中、また日常生活の中で、何かのサービスにログインする機会は幾度となくありますが、例えば1日に1回、1か所でのみ認証するだけでよくなれば、入力の手間も減り煩雑なパスワードを個別に覚える必要もなくなるので便利です。
こうしたSSOを実現する方式にはいくつかありますが、以下に2つ紹介します。
エージェント型のアプリによって、パスワード入力のWebページの表示やダイアログポップアップを検知して、事前に保存しておいたそのサービス用のIDとパスワードをID入力欄やパスワード入力欄に対して流し込む方式です。
ユーザに代行してIDとパスワードの入力を行うためにこの名で呼ばれます。
EdgeやChromeなどのブラウザに組み込まれているパスワード管理機能や、Androidスマートフォンに標準的に含まれる “Google パスワードマネージャー” 、MacOS/iOS/iPadOS標準アプリの “パスワード”、サードパーティアプリでは “1Password” などもこの方式で個人認証を肩代わりすることがあります。
また、Windows上で動くデスクトップアプリなども対象に代行入力できる “Evidian Enterprise SSO” [7]も有名です。
サービスが直接個人認証を行うのではなく、サービスから外部のIdP(Identification Provider: 認証プロバイダ) に認証を委任し、IdP側の認証結果をもってサービス側の認証成否とする方式です。
何かアプリやWebサービスに登録/ログインする際に “Googleでログイン” といったボタンを目にしたことがあるかと思いますが、これはそのサービスがGoogleアカウントサービスをIdPとして使用できるためです。
また、業務中に社内向けサービスにログインしようとするたびにいつもOktaやMicrosoft Entra IDのログイン画面に遷移するという方もいらっしゃるでしょう。
これはその方の会社が社内向けサービスの共通ユーザ管理手段としてOktaやAzureをIdPに設定しているためです。

図2. IdP型SSOのシーケンス
個人認証は、言うまでもなく『誰がこのリソースにアクセスできるのか』を制限するための要件です。
またそれは翻って『誰がこのリソースにアクセスしたか』のトレーサビリティ(追跡性)を提供することにもつながります。
特に業務環境においては、不正防止や不適合是正の観点から、責任の帰属性を担保する個人認証の信頼性への要求は、近年更に高まっています。
そんな中、生体認証技術の円熟とハードウェアの低コスト化が進み、旧来のIDとパスワード形式の個人認証を生体認証に置き換え、“パスワードレス”化する流れが生じつつあります。
現状の『生体認証によるパスワードレス化』を支える技術は、主に前述のFIDO2です。
例えばパスキー認証では、事前にスマートフォンなどのデバイスに登録しておいた指紋や顔を使用して、都度デバイスの所有者を認証することでFIDO2認証を実行し、パスワードレスな個人認証を実現します。
また一部のYubiKey認証器も指紋認証インタフェースを備えており、都度の認証を要求することで紛失・盗難にも強いパスワードレス認証を提供します。 [3]
Nymi社の展開するリストバンド型のウェアラブルデバイスであるNymi Band [8] は、オンボディセンサにより着用状態を監視するため、装着時に1度だけ指紋を認証しておけば、あとは着用中を通じてNFCリーダへのデバイスのタップのみでFIDO2認証を実行できます。 [9]
そのため、グローブ・保護メガネ・マスクなどを着用する必要があり指紋/虹彩/顔などを用いた生体認証の実行に難がある環境でも、装備を外すことなく生体認証の認証信頼度を享受できます。
また、生体認証とOTPを組み合わせて使用したパスワードレス構成も技術的に可能です。
前にも挙げた “Google パスワードマネージャー”、Apple社 “パスワード”、 “1Password” などのパスワードマネージャアプリはOTPジェネレータとしての機能を具備していることが多く、また多くの場合スマートフォンの生体認証を活用してOTPへのアクセス制限を提供するためです。
ただし、OTP方式の説明の項でも述べた通り、OTPは多要素認証の一要素として補助的に用いられる例が多いため、OTPのみに頼ってパスワードレスを実現している例は少ないように思います。
これは、生成したOTPをフィッシングサイトに打ち込んでしまったり、SIMの乗っ取りやショルダーハッキングによってOTPが傍受されてしまったり、といったセキュリティリスクがあることが原因の一つとして考えられます。 [10]
SSOと生体認証によるパスワードレス化を組み合わせることで、私たちが1日に何度も実行する個人認証はより簡略に、かつより信頼性の高いものになります。
例えば、多くのIdPはすでにFIDO2認証に対応しているため、サービスに対してパスワードレスな認証を提供できます。

図3. SSOとFIDO2認証を組み合わせた個人認証の概要

図4. IdP型SSOとFIDO2認証を組み合わせた個人認証のシーケンス
認証をIdPに委ねることによってサービス側でパスワードなどのセンシティブな認証情報を管理する必要がなくなるというのは、サービス提供者とユーザの双方にとってメリットとなり得るため、各サービス・アプリ側のIdPへの対応も今後ますます進んでいくと考えられます。
IdPとサービスとの間の認証要求/結果交換のインタフェースもOIDC(OpenID Connect) [11]、OAuth 2.0 [12]、SAMLといった仕組みで規格化され、サービス側の対応に技術的障壁が小さいこともポイントです。
なお、代行入力型SSOを使用する場合、代行入力エージェントとサービスとの間でパスワードが介在する以上、 “完全”パスワードレスとはいかないのが実情です。ただこの場合であっても、ユーザが日常的に個人認証を実施する範疇ではパスワードの文字列を意識する必要がない “準”パスワードレス程度の運用が可能です。
ここまで、一般的な個人認証方式と、 “SSO”、 “パスワードレス”というキーワードについて解説してきました。
IT技術の発展が目覚ましく、人々の生活を豊かにすべく世界中の企業、はたまた個人が、日夜新たな価値を生み出すために画策し、様々なWebサービスやアプリが林立する昨今、私たちを取り巻く個人認証の機会は増加の一途を辿っています。
一方で、IDとパスワードに頼った従来型の個人認証の煩雑さや潜在的なセキュリティリスクが問題視され、それを背景に新たなOTPやFIDO2(パスキー)といった新たな個人認証方式が登場しています。
加えて、生体認証技術の円熟とSSOプラットフォームの整備によって、私たちの周囲では、従来よりも信頼度が高く、かつパスワードレスで簡便な個人認証が行える土壌が整いつつあります。
こうした基盤の整備と技術のさらなる普及によって、より安心で、ストレスのない認証体験がさらに拡大し、日常の手間の削減や、業務効率の改善につながると見込まれます。
今回の技術レポートが読者の皆さんの更なるQOL向上に寄与すれば幸いです。
(R.O.)
* 本稿に記載の製品・サービス名・社名および団体名は各社または各団体の商標または登録商標である場合があります。
* 本稿にて紹介した各製品・サービスおよびそれらの関連企業・関連団体と弊社との間で、本稿の執筆および公開に際して一切の金銭授受がないことをここに明記いたします。
関連ページへのリンク
関連するソフテックだより
「ソフテックだより」では、みなさまのご意見・ご感想を募集しています。ぜひみなさまの声をお聞かせください。