MFAを探る:製品の視点から認証を見直す
マルチファクター認証(MFA)の主要コンポーネント、ユーザープロセス、および重要なガイディングプリンシプルを分析して分解します。
マルチファクター認証(MFA)の主要コンポーネント、ユーザープロセス、および重要なガイディングプリンシプルを分析して分解します。
デジタルの世界で、すべてのアプリが同じ方法でサインインしたら、自分が誰であるかを簡単に証明することで時間と資源を節約できるでしょうか?可能性はありますよね?例えば、「Googleで続行」を使ったり、一つのメールとパスワードだけで全てにアクセスするような時です。
しかし、実際の話はもっと興味深いです。各アプリには、実際にあなたがサインインしていることを確認するための独自の方法があります。私たちは、この確認プロセスに努力を注ぎ、セキュリティを維持し、ユーザーの体験をバランスさせ、ユーザーごとのプライバシーの好みを尊重します。
すべての人に魔法の公式があるわけではないので、確認の仕組みを分解し、サービスに合ったデザインを作成しましょう。
認証、つまり自分が誰であるかを確認するための難しい言葉は、識別子と検証ファクターの二つで成り立っています。
識別子は「こんにちは、私はサラです」と言うようなものです。 あなたは「お、サラだ、すごい。」と思うかもしれません。 しかし、安全担当者は「本当にこの人はサラなのか?サラはアクセスするために必要な資格を持っているのか?」と問いかけます。そこに検証ファクターが入ります。これを技術用語に置き換えてみましょう。
識別子は、ユーザーがアクセスできるものを決定します。リソースは常に限られていますので、あなたのアイデンティティはあなたのユニークなパスです。ステップ1はサインインページにあなたの識別子を入力すること。しかし、ニックネームやフルネームは使いません。検索オーバーロードの原因になりますから。使用できる識別子は以下の通りです:
ユーザーID:技術的に不変でユニークです。これは管理者管理のためのものですが、ユーザーは製品ごとにこれを覚えていることはないでしょう。
ユーザーネーム:ユーザーIDのユーザーフレンドリーなバージョンです。これはユニークでアカウントシステム内で繰り返すことができません。ソーシャルプラットフォームはプロフィールをパーソナライズしますが、認識を安定させるためにはユーザーネームが必要です。変更は限られており、場合によっては有料です。
ID番号:IDカード、学生ID、銀行カード番号のように、しっかりしていてユニークな識別子です。覚えにくいですが、主なIDを忘れた場合に信頼できるバックアップメカニズムとして取得できます。
メールまたは電話番号:ユーザーネームがしばしば記憶から滑り落ちることがありますが、連絡先情報は非常に記憶に残りやすいです。メールまたは電話番号を識別子として使用することにより、長期間活動していなかったり記憶から呼び戻されたユーザーを忘れる可能性を減少させます。 この便利さはユーザーフレンドリーですが、「個人、メール、アカウント」の間での相互作用を管理することで、あなたの製品構造が複雑になる可能性があります。Instagramを考えてみましょう: (1)単一のメールを使用して複数のアカウントを可能にします; (2)ログインまたは回復のために複数のメールアドレスをInstagramプロフィールに追加できます; (3)Instagramはメールの一致に関係なくアカウント間で同時にログインを許可しています。通常アカウントは分離されたリソースを持っていますが、Instagramはアカウント情報の統合を許可し、一貫した検証、ターゲットを絞った広告、およびパーソナライズされたおすすめを促します。

認証ファクターは、あなたが本当にあなたであることを証明する動きです。選ぶべき属性によって分けられた多くのファクターがあります:
| 意味 | 検証ファクター | |
|---|---|---|
| Knowledge | 知っているもの | パスワード、メール検証コード、バックアップコード |
| Possession | 持っているもの | SMS検証コード、認証アプリのOTP、ハードウェアOTP(セキュリティキー)、スマートカード |
| Inherence | その人自身 | 指紋、顔IDのような生体認証 |
理論上、これらの検証ファクターを任意の識別子と組み合わせて、自分であることを証明できます。一般的な方法としては、メールアドレス(ID)とメール検証コード(ファクター)。しかし別の組み合わせも可能です:メールアドレス(ID)とSMS検証コード(ファクター)。
悪意が潜んでいるので、単一のファクターでは不十分です。ここでマルチファクター認証(MFA)が登場します。サインインする際、最初のステップの認証(1FA)は必須ですが、さらにステップを追加することができ、2番目(2FA)、場合によっては3番目も加えることができます。さらに、アプリ内で重要なリソースにアクセスを要求する際には、再度あなたのアイデンティティを確認する必要があります。これらの追加の層は、悪質なアクターに対するセキュリティを強化します。このすべてがMFAです。

最初に戻って–なぜそれぞれのアプリには異なる識別子と認証ファクターの組み合わせがあるのか?それはユーザーの体験に関係しています。
検証が厳しすぎると、ユーザーは「なんでこんなに難しいの?」と混乱してしまいますし、緩すぎるとアカウントがハッキングされて混乱を招きます。さて、それは誰の問題でしょうか?
三つの振り付けの原則:
人々は時々IDを忘れたり、検証ステップを失ったりします。サポートの負担を軽減するために、助けとなる方法が必要です:
認証は完璧ではなく、2段階認証が常により安全というわけではありません。次のことを覚えておいてください:
すべてのアクションに1FAまたは2FAが必要というわけではありません。状況に依存しており、常に同じステップに従うわけではありません。
詳細については、NISTのAuthentication Assurance Levels (AAL) ガイドラインを確認してください。
認証とマルチファクター検証(MFA)の探求を締めくくるにあたり、それらが我々のデジタルライフにおいて果たす重要な役割についての洞察が得られたことを願っています。MFAは識別子と検証ファクターを組み合わせて、ユーザーフレンドリーなインタラクションを提供しながら、安全なアクセスを維持する強力な盾を作り出します。
興奮のお知らせは、LogtoのMFAがまもなく登場することです。個人および企業向けに、Logtoは安全なオンラインインタラクションを保証します。