パスワードよ、さようなら!生体認証の導入 はこん...

Post on 15-Mar-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

パスワードよ、さようなら!生体認証の導入はこんなに簡単~最新の国際標準規格「FIDO2」適用実演2019年5月17日富士通株式会社ポータルサービス事業部渡邊 博実

Copyright 2019 FUJITSU LIMITED0

FIDOとは

Copyright 2019 FUJITSU LIMITED1

パスワードの課題

Copyright 2019 FUJITSU LIMITED

両⽴できていない

セキュリティ・信頼性 利便性・UX

低下する一方 パスワードだらけ・・・ 入れるのが手間・・・ 定期的な変更・・・

攻撃への対応強化 リスト攻撃 フィッシング キーロガー

パスワードは個⼈の「記憶の能⼒」に依存 ⇒ 強化に限界・強化施策が逆に使いまわし、メモなどのセキュリティリスク発生要因に

2

パスワードを覚えない世界〜FIDO登場

Copyright 2019 FUJITSU LIMITED

FIDO(ファイド):Fast IDentity Online“パスワードの要らない世界”を実現するオンライン認証の新標準

国際的な標準規格

様々なプラットフォームをサポート

世界260社以上が参画する「FIDO Alliance」が規格を策定

スマートデバイス/PCなどで幅広く利⽤可能

3

パスワードとFIDO

Copyright 2019 FUJITSU LIMITED

パスワード認証事業者サーバ

パスワード

利⽤者

認証パスワード

なりすまし 覗き⾒ サーバ攻撃internet

生体認証

FIDO認証利⽤者

FIDOサーバ 事業者サーバ

端末認証本人認証

署名 署名検証

秘密鍵*

公開鍵

• ⽣体情報はデバイス内でセキュアに管理• ローカル認証で外部へ出ないため漏えいリスク無し

• オンライン認証は公開鍵暗号方式によりセキュリティを確保

利便性とセキュリティを確保した堅牢なオンライン認証を実現

45..チャレンジ

4

FIDO Allianceについて

Copyright 2019 FUJITSU LIMITED

2012年7月に設⽴の⾮営利の国際標準化団体。2019年5月現在260社以上が参画※

【主な参画企業】

paypal / visa / American express / Amazon / google / Microsoft / LINE NTTdocomo / nok noklabs / facebook / yahoo!japan / Fujitsu etc.

各種標準化関連団体がFIDO Liaisonプログラムメンバー(Bluetooth,W3C、openID等)

各国の政府機関系メンバー(米NIST、英BSI、独、中国、韓国など)も参画

今後のオンライン認証のデファクトスタンダ―ドになると世界で注目※出典:FIDO Alliance https://fidoalliance.org/participate/members-bringing-together-ecosystem/

5

新規格「FIDO2」について

Copyright 2019 FUJITSU LIMITED

既存のFIDO規格(UAF(生体認証)・U2F)と並列して提供 以下の2つの新仕様が規定 WebAuthn : Web認証API仕様(Web Authentication) CTAP :デバイス間連携仕様(Client To Authenticator Protocol)

FIDO UAFFIDO U2F

(@FIDO)

WebAuthn(@W3C)

CTAP(@FIDO)

FIDO2 Project (出典:fido alliance「FIDO2 Overview」)

FIDO1.x

各PFの主要Webブラウザが標準でサポート → 利⽤シーンが拡大(chrome,edge,safari,firefox etc.)

Web認証を可能にする…

6

FIDO2で変わること

Copyright 2019 FUJITSU LIMITED

例えば、Chromeでログインするとき…パスワードは不要

7

FIDO2/WebAuthn

Copyright 2019 FUJITSU LIMITED8

FIDO2の要素

Copyright 2019 FUJITSU LIMITED

FIDO2

認証器 Client(ブラウザ) RPアプリ/サーバ

WebAuthn:Web認証API仕様 CTAP:デバイス間連携仕様

CTAP(@FIDO)

WebAuthn(@W3C)

認証器(PF認証器)9

FIDO2システム構成図

Copyright 2019 FUJITSU LIMITED

FIDOサーバ

公開鍵

外部 認証器USB/NFC/BLE

PF認証器

CTAP2

秘密鍵

RPアプリサーバ

サービスアプリケーション

デスクトップPC・スマートフォン

ブラウザOSプラットフォーム

WebAuthnJS API

JavaScript

10

登録シーケンス

Copyright 2019 FUJITSU LIMITED

認証器 ブラウザ RPアプリ/サーバ

Javascriptを実⾏して登録処理を実施navigator.credentials.create()

challenge(乱数⽂字列)を生成

WebAuthnPF認証器or CTAP

登録画面よりユーザ名送信

username

User情報challenge

RP 情報User情報challenge

RP 情報

公開鍵Credential Id

署名challengeAttestation

鍵ペア生成秘密鍵を安全な領域に格納challengeを署名

秘密 Attestationを返信署名されたchallenge生成した公開鍵

公開鍵Credential Id

署名challengeAttestation

署名とAttestationの検証公開鍵をDBに登録

サーバ登録情報

ユーザ名

公開鍵Credential情報

11

認証シーケンス

Copyright 2019 FUJITSU LIMITED

認証器 ブラウザ RPアプリ/サーバ

Javascriptを実⾏して認証処理を実施navigator.credentials.get()

challengeを生成し返答

WebAuthnPF認証器or CTAP

認証画面よりユーザ名送信

username

challengeRP 情報

Assertionを返信challenge+RP情報を秘密鍵で署名

Credential Idchallenge+RP情報

署名

challengeRP 情報

Credential Idchallenge+RP情報

署名

認証がOKの場合、認証器の秘密鍵でchallengeを署名

秘密

署名

Assertionを解読し、署名された電文を

公開鍵で検証

サーバ登録情報

ユーザ名

公開鍵Credential情報

12

実装範囲

Copyright 2019 FUJITSU LIMITED

認証器 ブラウザ RPアプリ/サーバ

認証画面よりユーザ名送信

challengeを生成し返答

Javascriptを実⾏して認証処理を実施navigator.credentials.get()

Assertionを返信challenge+RP情報を秘密鍵で署名

認証がOKの場合、認証器の秘密鍵でchallengeを署名

WebAuthnPF認証器or CTAPusername

challengeRP 情報

Credential Idchallenge+RP情報

署名

challengeRP 情報

Credential Idchallenge+RP情報

署名

秘密

署名

Assertionを解読し、署名された電文を

公開鍵で検証

サーバ登録情報

ユーザ名

公開鍵Credential情報

各ブラウザが処理してくれるのであまり気にしなくても良いが…

ここをどう実装するか悩まないといけない

13

登録処理の実装サマリー

Copyright 2019 FUJITSU LIMITED

登録時、各役割毎で実施する処理1.RPサーバランダムなchallengeの値を作成機能

リプレイ攻撃対策

2.クライアントはRPサーバ名の検証機能フィッシング詐欺対策

3.認証器は鍵ペアの生成機能と秘密鍵を安全な場所への保管機能

4.RPサーバは受信したAttestationの解読処理、署名の検証フィッシング詐欺対策認証器の秘密鍵が安全であることの証明

5.RPサーバにてユーザと公開鍵の紐づけ、公開鍵の管理

14

3.認証器はユーザ認証要求機能(指をかざすなどの操作)と署名機能

認証処理の実装サマリー

Copyright 2019 FUJITSU LIMITED

認証時、各役割毎で実施する処理

2.クライアントはRPサーバ名の検証機能フィッシング詐欺対策

4.RPサーバは受信したAssertionの解読処理、公開鍵で署名の検証フィッシング詐欺対策なりすまし抑止

1.RPサーバランダムなchallengeの値を作成機能リプレイ攻撃対策

15

テクニカル情報

Copyright 2019 FUJITSU LIMITED

https://www.w3.org/TR/webauthn/ https://fidoalliance.org/specifications/download/

仕様書は下記サイトにドキュメントが公開されています

16

富士通のFIDOソリューション

Copyright 2019 FUJITSU LIMITED17

富士通のFIDOソリューション

Copyright 2019 FUJITSU LIMITED

nok nok labs社とのコラボレーションにより、高機能・高信頼のFIDOソリューションを提供

各種セキュリティ基準に準拠したクラウドで運用

FIDOプロトコル対応手のひら静脈認証器

FIDO2を含め現⾏のFIDO規格を全サポート。弊社サービスの認証サーバとして採用

nok nok labs S3 Authentication Server and SDK

【nok nok labs社】FIDO規格を提唱した中核企業。FIDO Alliance Boardメンバーであり、FIDO仕様の策定/認定に参画。

富士通「オンライン生体認証サービス」18

FJ FIDOサーバ

FIDOサーバのシーケンス

Copyright 2019 FUJITSU LIMITED

認証器 ブラウザ お客様RPアプリ

認証画面よりユーザ名送信

username

認証結果をもって処理

富士通のFIDOソリューションのカバー範囲

認証要求

電文解読、署名の検証、認証結果を通知

公開鍵

Credential Idchallenge+RP情報

署名

challengeRP 情報

challengeを生成challengeRP 情報

Credential Idchallenge+RP情報

署名

ユーザ認証

19

FJ FIDOサーバ

FIDOサーバのシーケンス

Copyright 2019 FUJITSU LIMITED

認証器 ブラウザ お客様RPアプリ

認証画面よりユーザ名送信

username

認証結果をもって処理

認証要求

電文解読、署名の検証、公開鍵の管理を実施

公開鍵

認証器情報Credetial Id

challenge+RP情報署名

Credential Idchallenge

RP 情報challengeを生成Credential Id

challenge

RP 情報

認証器情報Credetial Id

challenge+RP情報署名

ユーザ認証

FIDOプロトコルを意識しなくてもWeb認証が実現

20

実装構成

Copyright 2019 FUJITSU LIMITED

お客様環境

お客様 RPアプリサーバ

Desktop/Mobile

富士通クラウド

FIDOサーバ

公開鍵外部認証器

ブラウザ

PF認証器秘密鍵

お客様 RP Web アプリ

AppSDK JS API

OS プラットフォーム

Web Authn JavaScript API

internetAppSDK JS API

AppSDK JS実装するためドキュメント、サンプルコード

組み込む

認証処理

21

App SDK JS API

Copyright 2019 FUJITSU LIMITED

App SDK JS API をWEBアプリに組み込むことで利⽤できる機能 FIDO認証器の登録(registration) FIDO認証器で認証(authentication) Credential情報の管理:登録済みの鍵の⼀覧(list)、削除(deregistration)

さらに FIDOサーバへの独⽴したネットワーク接続 豊富なエラーハンドリング UAF、U2Fプロトコルも容易に利⽤が可能

22

インプリイメージ

Copyright 2019 FUJITSU LIMITED

お客様 Web RPアプリ

認証処理結果

ログイン

FIDO認証要求

認証結果を⽤いた処理

FIDOサーバ

WebAuthn

認証操作

AppSDK のインスタンス生成、エンドポイント指定1

セッション情報生成JSON sessionData object2

認証処理要求authenticate()3

23

インプリイメージ

Copyright 2019 FUJITSU LIMITED

<head>. . .<script src="https://<nnl_gateway_domain>:<port>/nnlgateway/js/appsdk.js"></script><script src="https://<nnl_gateway_domain>:<port>/nnlgateway/js/appsdkw.js"></script>. . . </head>

先ずApp SDK JS APIのロード

お客様 WEB RPアプリAppSDKWrapper.js

AppSDK.js

fido2-client.jsnavigator.credentials.create()navigator.credentials.get()

24

インプリイメージ

Copyright 2019 FUJITSU LIMITED

1 インスタンス生成とエンドポイント(FIDOサーバ)を指定

var appSdkW = new AppSdkWrapper();appSdkW.init(“fido2")

var appSdk = appSdkW.appSdk;appSdk.srcPage = window.location.href;appSdk.regEndpoint = "https://<nnl_gateway_domain>:<port>/nnlgateway/nnl";appSdk.authEndpoint = "https://<nnl_gateway_domain>:<port>/nnlgateway/nnl";

25

RP JWT(秘密)FD JWT(公開)

FD JWT(秘密)RP JWT(公開)

インプリイメージ

Copyright 2019 FUJITSU LIMITED

sessionData = {sessionKey:<session_key>,pushHandle:<push_handle>

}

RPアプリサーバ

FIDOサーバ

RP Web アプリ

AppSDK JS API

ブラウザ

2 セッション情報生成

電文+SessionData(JWTトークン)

電文+SessionData(JWTトークン)

RPアプリサーバとFIDOサーバ間はJWTトークンをもって信頼関係が担保される。

Desktop/Mobile

26

デモのインプリイメージ

Copyright 2019 FUJITSU LIMITED

appSdkW.authenticate(sessionData).then(function(response) {

// handle success.catch(function(outcome) {

// handle error});

3 認証処理要求

処理結果やユーザ情報、FIDOサーバ側で発⾏した署名(JWTトークン)などが返却

27

実演

Copyright 2019 FUJITSU LIMITED

テストサーバ

インターネット

FIDOサーバ

index.html(ログイン)

register.html(登録)

tomcatブラウザ

FIDOログインが成功するとresponseにusernameとJWTトークンが返却される

FIDO2静脈認証器

28

最後に

Copyright 2019 FUJITSU LIMITED29

関連展示デモご紹介

Copyright 2019 FUJITSU LIMITED

(A)オンライン認証の最新規格「FIDO2」で広がる生体認証活用

セキュリティ

出口

入口

通路 通路

地下2階 展示ホール

アンケート

テーマステージコンシェルジュ

30

紹介商品のご購入・ご導入を検討中のお客様へ

FUJITSU IoT Solution 生体センサー認証ソリューションオンライン生体認証サービス

Web上の商品情報サイト

https://www.fujitsu.com/jp/solutions/innovative/iot/bio-sensor-auth/

電話での問い合わせ

0120-933-200富士通コンタクトライン(総合受付)

Copyright 2019 FUJITSU LIMITED31

Copyright 2019 FUJITSU LIMITED

top related