パスワードレス認証とそれを実装する方法
パスワードの時代に別れを告げる!パスワードのない認証のセキュリティと利便性
コアポイント:
- パスワードレス認証は、パスワードなどの知識ベースの要因を使用するのではなく、所有権または生体認証などの固有の要因を通じてユーザーのIDを検証するユーザー管理方法です。一般的なパスワードのない方法には、1回限りの検証コード、マジックリンク、生体認証ログイン、スマートカード、デジタル証明書が含まれます。
- パスワードレス認証セキュリティとユーザーエクスペリエンスの重要な利点は、フィッシングとパスワードの盗難を減らし、資格情報の再利用を削減し、ユーザーの複数のメモリを排除し、ログインをスピードアップします。パスワードレス認証は、2027年までにパスワードの使用を上回ると予想されます。
- パスワードのない認証には多くの利点がありますが、ユーザーエクスペリエンスに不慣れ、デバイスの盗難またはSIMカードの盗難のリスク、生体認証セキュリティが完璧ではないという事実など、いくつかの制限があります。セキュリティを強化するには、できるだけ多要因認証(MFA)を使用することをお勧めします。
- Webサイトまたはアプリケーションでのパスワードレス認証の実装は、ユーザー管理ソリューションまたは認証サービスプロバイダーを介して達成できます。この記事では、Fronteggと呼ばれるプロバイダーを使用してパスワードレスアプローチを統合する方法に関する段階的なガイドを提供します。
パスワードレス認証は、ユーザーがパスワードまたはキーなしでシステムまたはアプリケーションにログインできるユーザー管理方法です。これは、パスワードなどの知識ベースの要因を使用するのではなく、電子メールアカウントなどの所有権要因や顔認識などの固有の要因を通じて、ユーザーのIDを検証します。
この記事は、Fronteggと協力して作成されました。 SitePointを可能にしたパートナーをサポートしてくれてありがとう。
多くの認証方法は、パスワードの代替として使用されています:
- 1回限りの検証コード(OTC)
- 魔法のリンク
- バイオメトリックログイン(指紋、フェイスID、音声認識)
- スマートカードまたは物理的なトークン
- デジタル証明書
パスワードのない認証の人気
知らないうちに「パスワードレス認証」を使用している可能性があります。多くの銀行アプリケーションは、指紋と音声認識を使用してユーザーを検証しています。 Slackは、マジックリンクを使用してユーザーを検証することで知られています。
パスワードレス認証の使用は、過去数年にわたって着実に成長してきました。認証プロバイダーであるAuth0は、パスワードレス認証が2027年にパスワードの使用を上回ると予測しています。 Gartnerは、2022年までに、「大規模およびグローバル企業の60%と中規模企業の90%が、2018年の5%から50%以上のユースケースでパスワードレスアプローチを実装する」と予測しています。
インターネットの巨人は、このテクノロジーの採用を加速するために最善を尽くしています。 2022年の世界パスワードで、Google、Microsoft、およびAppleは、作成されたユニバーサルのパスワードのないログイン標準のサポートを拡大する計画を発表しました。
2022年6月、AppleはWebサイトやアプリケーションにログインするための新しい「パスワードキー」機能を発表しました。この発表は、実際にAppleがTouch IDまたはFace IDを使用してサイトのデジタルキーを作成することを意味します。これにより、パスワードを作成および書き込む必要性がなくなります。
パスワードのない認証の利点パスワードレス認証は、セキュリティとユーザーエクスペリエンスの利点を提供します:
- フィッシングとパスワードの盗難のリスクを軽減します。
- ユーザーはフィッシング攻撃の影響を受けません。ユーザーは、偽物のウェブサイトに連れて行かれ、ログイン資格情報を入力します。ユーザーがパスワードを入力しない場合、ブルートフォースの攻撃、パスワードデータ侵害、およびその他の種類の資格盗難の影響を受けません。 クレデンシャルの再利用を削減:
- 複数のサービスとアカウントのパスワードの再利用は、ユーザーとシステムに大きなリスクをもたらしますが、これは避けられません。 64%が他のアカウントの1つの脆弱性で公開された同じパスワードを使用していることが報告されています。 パスワードを覚えておく必要はありません:
- ユーザーは、多数のアカウントでユーザー名とパスワードを覚えておく必要はありません。複数のログイン障害の後、パスワードを何度もリセットする必要がある場合があります。 ログイン速度の高速:
- 私たちは皆非常に忙しいです。強力なパスワードの長さは少なくとも16文字であり、指紋のスキャンや魔法のリンクを開くのに比べて、強力なパスワードを入力するのに長い時間がかかることをお勧めします。
パスワードレス認証は完全ではなく、セキュリティとエクスペリエンスの観点からもいくつかの制限があります。
- 馴染みのないユーザーエクスペリエンス:
- 多くの人が、パスワードの入力または自動充填に慣れています。マジックリンクまたは1回限りの検証コードに変換すると、ユーザーに衝撃を与える可能性があります。 デバイスの盗難またはSIMカードの盗難のリスク:
- テキストメッセージを介して1回限りの検証コードを送信すると、携帯電話が盗まれたり、SIMカードの盗難詐欺の犠牲者になったときにユーザーが脆弱になる場合があります。 バイオメトリックセキュリティは完全ではありません。
- 指紋スキャナー、タッチID、顔IDは、長年にわたって正常にクラックされてきました。 認証の単一の要因(パスワードの有無にかかわらず)に依存すると、リスクが発生する可能性があります。多要素認証(MFA)をできるだけ使用することをお勧めします。
はい、パスワードのない認証は安全であると見なされますが、完全にリスクフリーではありません。パスワードのないアカウントは、悪意のある人の手に渡るパスワードを心配する必要はありません。これは、データ侵害、ブルートフォース攻撃、デバイスの喪失、または誤ったポストITノートによって発生する可能性があります。
パスワードレス認証に関連するリスクの多くは、他の方法にも適用されます。
ハッカーがメールアカウントにアクセスし、パスワードのない認証にマジックリンクを使用している場合、簡単にログインできます。ただし、通常のパスワードを使用する場合、このリスクは同じです。悪意のある俳優は、「パスワードのリセット」をクリックして、同じメールアドレスにリセットリンクを送信する必要があります。
最後に、他のシステムと同様に、パスワードレス認証システムは、セキュリティ対策を損なうまたは回避するための直接的な攻撃に対して脆弱です。どんなに安全であっても、資格情報を保存および検証するシステムは、完全に安全になることはありません。
指紋の検証やその他の生体認証要因は、チートするのが難しくなりますが、不可能ではなく、自分自身を承認するための非常に安全な方法を提供します。
パスワードレス認証とマルチファクター認証(MFA)
マルチファクター認証は、ログインするときに複数の認証係数を使用する方法です。この状況の非常に一般的な例は、ユーザー名とパスワードを使用してアカウントにログインする場合、6桁の1回限りの検証コード(OTC)を受け取り、デバイスの所有権を確認します。
この例では、OTC因子はパスワードレスです。代わりに、指紋と1回限りの検証コードを使用している場合、完全にパスワードレスMFAセットアップがあります。
Webサイトにパスワードレス認証を実装する方法
パスワードレス認証をアプリケーションまたはWebサイトに統合するのはこれまで以上に簡単です。既存のインフラストラクチャに応じて、多くの選択肢があります。
- ユーザー管理ソリューション:
これらのプロバイダーは、従来のパスワードのない認証だけでなく、ユーザー管理と許可管理も提供する完全に管理されたサービスを提供しています。
- いつ使用するか:
- 新しいシステムのビルド、スタートアップ、およびすべての低リスクおよびハイリスクの開発努力を避けようとしているチーム。 使用しない場合:
- 認証またはユーザー管理要件の非常にカスタマイズされたセットがある場合、これらの要件はシステムに適していない場合があります。 プロバイダー:
- frontegg、okta/auth0、Fusionauth、trusona、appwrite
- 認証サービスプロバイダー:
これらのサービスは、ユーザー認証、アクセス管理、およびセッション管理などのその他のサービスを提供します。
- いつ使用するか:
- 既存のユーザー管理サービスがあり、誰かにパスワードと認証を処理してほしい。 使用しない場合:
- 開発の経験やリソースが限られています。簡単なIDとアクセス管理モデルがある場合は、上記の完全に管理されたソリューションを検討することをお勧めします。 プロバイダー:
- AWS Cognito、Google Identity Platform、Microsoft Azure ad
ユーザーにパスワードレスアプローチを導入することがどれほど簡単かを示すために、Fronteggと呼ばれるプロバイダーを使用して5分間のチュートリアルをご覧ください。他のユーザー管理機能に加えて、セルフサービスのエンドツーエンドユーザー管理プラットフォームも、いくつかのパスワードフリーのログインメソッドを提供します。 ログインと認証サービスの構築は時間がかかり、ユーザープロセスに価値を追加しませんが、何か間違った場合は損傷を引き起こす可能性があります。認証を提供するサービスがより良く、より安価になるにつれて、アプリケーション用の独自のパスワード検証システムを構築する理由はあまりありません。 Webサイトを通じてFronteggアカウントを作成します。開始時にパスワードレスオプションとしてマジックコードまたはマジックリンクを必ず選択してください! ログインボックスの作成を完了し、パスワードレスメソッドを選択したら、「開発するための公開」オプションが表示されます。 Fronteggの使用環境(開発、品質保証、ステージング、生産)、これらの環境には、認証環境のユニークなサブドメイン、キー、およびURLがあります。 サンプルコード、さらに重要なことには 端末に次のコマンドを入力して、新しいReactアプリケーションを作成し、新しいディレクトリに移動します。 次のコマンドを実行して、Frontegg React LibraryとReact-Routerをインストールします。アプリケーションにReact-Routerがすでにインストールされている場合は、インストールをスキップできます。 src/index.jsファイルで、次のコードを追加します。次に、Fronteggページに戻り、コードの例から 注:この導入プロセスを完了した後、これらの値はいつでもワークスペースの管理セクションにあります。 Frontegg Useauthフックを使用して、ユーザーが認証されているかどうかを判断できます。ユーザーが認証されていない場合は、useloginwithredirectフックを使用して、ユーザーをログインページにリダイレクトできます(以下の例を参照)。
無料のFronteggアカウントを作成します
統合プロセスを開始
baseURL
とclientID
を備えたページに移動します。このページを開いたままにして、IDEにアクセスして、次のステップに進んでください。
Reactアプリケーションを作成します(既に自分のアプリケーションがある場合はこの手順をスキップしてください)
<code>npx create-react-app app-with-frontegg
cd app-with-frontegg</code>
frontegg
をインストールしてインポートします
<code>npm install @frontegg/react react-router-dom</code>
ログイン設定を構成
baseUrl
とclientID
を見つけます。 import React from 'react';
import ReactDOM from 'react-dom'; // For react 17
// For react 18: import ReactDOM from 'react-dom/client';
import App from './App';
import './index.css';
import { FronteggProvider } from '@frontegg/react';
const contextOptions = {
baseUrl: '## YOUR BASE URL ##',
clientId: '## YOUR CLIENT ID ##'
};
// For react 18:
// const root = ReactDOM.createRoot(document.getElementById('root'));
// root.render(
ReactDOM.render(
<FronteggProvider contextOptions={contextOptions} hostedLoginBox={true}>
<App />
</FronteggProvider>,
document.getElementById('root')
);
ログインページにリダイレクト
<code class="javascript">import './app.css';
// 'react'から{useefcect}をインポートします。
'@frontegg/rest-api'から{contextholder}をインポートします。
輸入 {
useauth、useloginwithredirect
} "@frontegg/React"から;
function app(){
const {user、isauthenticated} = useauth();
const loginwithredirect = useloginwithredirect();
//これをリダイレクトして自動的にログインするようにします
// effect(()=&gt; {
// if(!isauthenticated){
// loginwithredirect();
//}
//}、[isauthenticated、loginwithredirect]);
const logout =()=&gt;
const baseurl = contextholder.getContext()。baseurl;
window.location.href = `$ {baseurl}/oauth/logout`
`?post_logout_redirect_uri =`
`$ {window.location}`;
};
戻る (
<div classname="App">
{isauthenticed?
<div>
<div>
<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173916230294882.jpg" class="lazy" alt="What is Passwordless Authentication and How to Implement it ">
<p>「登録」をクリックし、メールに移動して「アカウントをアクティブにする」をクリックします。 </p>
<p> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173916230376786.jpg" class="lazy" alt="What is Passwordless Authentication and How to Implement it "></p>
<p>ログインしたい場合は、電子メールを入力して、6桁の検証コードが到着してログインするのを待つだけです。パスワードは不要、心配はありません。 </p>
<p><strong>結論</strong></p>
<p>このパスワードレス認証ガイドが、このテクノロジーがどれほど簡単であるかを理解するのに役立つことを願っています。 </p>
<p><strong>パスワードレス認証FAQ(FAQ)</strong></p>
<h3 id="パスワードレス認証の主な利点は何ですか">パスワードレス認証の主な利点は何ですか? </h3>
<p>パスワードレス認証は複数の利点を提供します。まず、ユーザーが複雑なパスワードを覚える必要がなくなるため、ユーザーエクスペリエンスが向上します。第二に、ブルートフォース攻撃、辞書攻撃、フィッシングなどのパスワード関連の脆弱性を排除することにより、セキュリティを改善します。最後に、企業はパスワードの回復やリセットプログラムに投資する必要がなくなったため、運用コストが削減されます。 </p>
<h3 id="パスワードレス認証はどのように機能しますか">パスワードレス認証はどのように機能しますか? </h3>
<p>パスワードのない認証は、パスワード以外の要因を使用してユーザーのIDを検証します。これらの要因は、ユーザーが知っているもの(ピンなど)、ユーザーが持っているもの(モバイルデバイスなど)、またはユーザー自身(指紋など)です。システムは、1回限りのコードまたはリンクをユーザーのデバイスに送信し、ユーザーはコードまたはリンクを入力またはクリックしてアクセスを取得します。 </p>
<h3 id="パスワードフリー認証は安全ですか">パスワードフリー認証は安全ですか? </h3>
<p>はい、パスワードレス認証は通常、従来のパスワードベースの認証よりも安全です。パスワード関連の攻撃と脆弱性のリスクを削除します。ただし、他の安全対策と同様に、それは完全に絶対確実ではなく、最適な保護のために他の安全対策と組み合わせて使用する必要があります。 </p>
<h3 id="あらゆる種類のアプリケーションにパスワードなしの認証を使用できますか">あらゆる種類のアプリケーションにパスワードなしの認証を使用できますか? </h3>
<p>パスワードレス認証は、Webアプリケーション、モバイルアプリケーション、さらにはIoTデバイスなど、さまざまなアプリケーションで使用できます。ただし、パスワードレス認証の適用性は、アプリケーションの特定の要件とセキュリティ要件に依存します。 </p>
<h3 id="パスワードのない認証を実装することの課題は何ですか">パスワードのない認証を実装することの課題は何ですか? </h3>
<p>パスワードのない認証を実装すると、いくつかの課題が発生する可能性があります。一部のユーザーは、既存の認証インフラストラクチャに大きな変更を必要とするため、ユーザーの課題に抵抗する場合があります。 </p>
<h3 id="アプリケーションにパスワードレス認証を実装するにはどうすればよいですか">アプリケーションにパスワードレス認証を実装するにはどうすればよいですか? </h3>
<p>パスワードのない認証の実装には、いくつかのステップが含まれます。まず、正しい認証係数(生体認証やモバイルデバイスなど)を選択する必要があります。次に、この要素を認証プロセスに統合する必要があります。最後に、新しい認証方法とその利点についてユーザーを教育する必要があります。 </p>
<h3 id="パスワードレス認証の例は何ですか">パスワードレス認証の例は何ですか? </h3>
<p>パスワードのない認証の例には、生体認証(指紋スキャンや顔認識など)、モバイルデバイス認証(SMSコードやプッシュ通知など)、ハードウェアトークン(セキュリティキーなど)が含まれます。 </p>
<h3 id="パスワードレス認証は将来のオンラインセキュリティの将来ですか">パスワードレス認証は将来のオンラインセキュリティの将来ですか? </h3>
<p>多くの専門家は、パスワードのない認証が将来のオンラインセキュリティの将来であると考えています。パスワードに関連する制限とリスクがますます明らかになるにつれて、ますます多くの企業がパスワードのない認証に頼ってセキュリティを強化し、ユーザーエクスペリエンスを向上させています。 </p>
<h3 id="他のセキュリティ対策と組み合わせて-パスワードのない認証を使用できますか">他のセキュリティ対策と組み合わせて、パスワードのない認証を使用できますか? </h3>
<p>はい、パスワードレス認証は、最適な保護のために他のセキュリティ対策と併せて使用することができます。これらには、暗号化、安全なコーディングプラクティス、および定期的なセキュリティ監査が含まれる場合があります。 </p>
<h3 id="パスワードレス認証におけるユーザーの役割は何ですか">パスワードレス認証におけるユーザーの役割は何ですか? </h3>
<p>ユーザーは、パスワードのない認証において重要な役割を果たします。認証要因(モバイルデバイスや生体認証データなど)を保護し、潜在的なセキュリティの脅威を理解する必要があります。また、自分自身を保護するための新しい認証方法に満足する必要があります。 </p>
</div>
</div>
</div></code>
以上がパスワードレス認証とそれを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください
