FIDO Alliance により正式に認定された FIDO2(WebAuthn) サーバー
FIDO (Fast IDentity Online) は、パスワードの脆弱性を排除することを目的としたオンライン認証のオープン標準です。 FIDO は、パスワードや PIN などの対称資格情報の代わりに公開キー暗号化を使用します。
基本的に、ユーザーのデバイスはキー ペアを生成し、秘密キーを安全に保存し、公開キーをサーバーと共有します。登録と認証の両方の際、サーバーはデバイスにチャレンジし、デバイスは秘密キーを使用したデジタル署名で応答します。次にサーバーは、保存されている公開キーを使用してこの署名を検証します。このチャレンジ/レスポンス プロトコルは、リプレイ攻撃の防止に役立ちます。
FIDO2 は、Web およびその他のプラットフォーム向けの FIDO 標準を拡張したもので、主要な Web ブラウザーおよびオペレーティング システムでサポートされています。これには、登録と認証という 2 つの主要な操作が含まれます。
登録プロセスと認証プロセスの両方で、チャレンジ/レスポンス プロトコルを利用してリプレイ攻撃を防ぎます。登録中に、サーバーからデバイスにチャレンジが送信され、デバイスは秘密キーを使用して応答します。同様に、認証中に、ユーザーの身元を確認するために別のチャレンジが送信されます。これにより、各試行が一意で安全であることが保証されます。
RP サーバーと FIDO2 サーバーを起動します。
# Start RP Server
cd rpserver
./gradlew bootRun
# Start FIDO2 Server
cd fido2-demo/demo
./gradlew bootRun
Docker が構成されている場合は、docker-compose を使用できます。
# Start both RP Server and FIDO2 Server
docker-compose up
アプリケーションが実行されたら、次のテスト ページにアクセスします。
FIDO2 サーバーは、ローカル環境で組み込み DB として H2 を使用します。これは、ステージング、ベータ、または運用環境ではスタンドアロン DB (MySQL など) に置き換える必要があります。 H2 Web コンソールには次の場所からアクセスします。
jar {
processResources {
exclude( " **/*.sql " )
}
}
API ドキュメントを表示するには、次の手順に従います。
cd fido2-demo/demo
./gradlew makeRestDocs
./gradlew bootRun
アプリケーションを実行した後、以下のリンクで API ガイド ドキュメントを表示できます。
Android/iOS アプリケーション用のクライアント SDK も提供しています。以下をご覧ください。
checkOrigin
メソッドは、LINE の Android および iOS アプリケーションからのリクエストの送信元を検証します。リクエストの送信元が、事前に設定された許可された送信元のリストと一致するかどうかをチェックすることで、セキュリティを確保します。
設定方法checkOrigin
メソッドを使用するには、 application.yml
ファイルで許可されるオリジンを設定します。構成例を次に示します。
app :
origins :
- android:aaa-bbb
- ios:aaa-bbb
注: aaa-bbb
アプリケーションに適切な値に置き換えます。
重要:この設定はオプションであり、Android および iOS アプリケーションの LINE WebAuthn と統合する場合にのみ必要です。
LY Engineering Blogs
LY Tech Videos
Internal