LINE FIDO2 Server を使ってみた

518
NO IMAGE

LINEのFIDO2 Serverがオープンソースで公開されたという記事を読み、気になったので使ってみました。

FIDO2とは

スマートフォンやPCなどのデバイスで指紋認証や顔認証、PINコードなどを基に生成した秘密鍵と公開鍵を用いて、公開鍵暗号の仕組みによってユーザーを認証する技術です。
サーバ側でパスワードを保存する必要がないため、ネットワーク上にIDやパスワードが流れることはなく、パスワード漏洩などの事故が起きない、より安全な認証の仕組みを実現できるのが特徴です。

FIDO2に対応した主なサービスは以下のようなものがあります。

  • Yahoo!JAPANアプリ
  • Yahoo!ショッピングアプリ
  • Microsoftアカウントへのサインイン

FIDO2 Serverのデモを起動する

公開されているリポジトリはこちらです。
line-fido2-server

  • README.mdに記載されている以下を実行します
    # Start RP Server
    cd rpserver
    ./gradlew bootRun
    # Start FIDO2 Server or Line-fido2-spring-boot Demo
    cd server
    ./gradlew bootRun
    cd spring-boot-starter/line-fido2-spring-boot-demo
    ./gradlew bootRun
  • localhost:8080にアクセスすると以下の画面が表示されます

認証を登録する

  • 表示された画面のUser name, Display nameを入力し、「Register」ボタンを選択します
  • MacBookの場合はTouch IDの確認、Windowsの場合はPINコードの確認など、デバイスに応じた認証確認が表示されます
  • 登録に成功した場合は、以下のようにメッセージが表示されます

登録した認証を使って認証する

  • 「Authenticate」ボタンを選択すると、デバイスに応じて登録した認証が表示されます
    • MacBookの場合はサインインアカウントの選択
    • Windowsの場合はPINコードの入力 など
  • 認証に成功すると以下のようにメッセージが表示されます

その他

デモは以下でも公開されているので、動作確認だけであればすぐに確認することができます。
https://prod-fido-fido2-server.line-apps.com/