bonfire api #1 生体認証のapi化

26
Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved 生体認証のAPI化 ヤフー株式会社 上野 博司

Upload: yahoo-japan-

Post on 16-Mar-2018

3.295 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved

生体認証のAPI化

ヤフー株式会社 上野 博司

Page 2: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved

自己紹介

Page 3: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved3

自己紹介

• 上野 博司

• Yahoo! JAPAN IDの管理開発部署

• ユーザセキュリティ(ID乗っ取りや生体認証)を担当

• FIDO Allianceの活動にも参加• Outstanding Contributor Award受賞

うえの ひろし

Page 4: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved4

目次

• 認証の要素

• パスワード認証の問題

• FIDO認証について

• FIDO認証をブラウザで使うには?

Page 5: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved

認証の要素

Page 6: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved6

認証の要素

• 認証の要素は大きく分けて3つあります

記憶:本人のみが記憶している情報

• パスワード

所持:本人のみが所持しているもの

• ワンタイムパスワードのトークン

生体:本人の特徴

• 指紋、虹彩、顔

Page 7: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved

パスワード認証の問題

Page 8: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved8

パスワード認証の問題

利便性の問題

• 複数のパスワードを管理すること

• スマホなどでの入力が困難なこと

• そもそも忘れてしまう

安全性の問題

• パスワードの使い回しが横行

• 外部サービスの脆弱性に依存

• ユーザリテラシーに依存

• リスト型攻撃などに弱い

Page 9: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved9

パスワード問題の解決策

安全性と利便性の両立を目指しています

Poor Easy

Weak

Strong

USABILITY

SECURITY

「FIDO認証」FIDO(Fast IDentity Online)

Page 10: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved

FIDO認証の概要

Page 11: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved11

FIDO認証とは

公開鍵暗号方式を使って

主に所持認証と生体認証

を実現する認証プロトコル

Page 12: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved12

FIDO認証がカバーする認証の要素

記憶:本人のみが記憶している情報

所持:本人のみが所持しているもの

生体:本人の特徴

Page 13: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved13

FIDO認証モデルの特徴

「本人性の検証はローカルデバイス」

「認証結果の署名検証がサーバ」

Page 14: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved14

FIDO認証モデル

認証サーバーユーザー

秘密鍵 公開鍵

検証結果(署名)

• 公開鍵暗号方式を採用

署名署名を検証

生体認証

Page 15: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved15

生体情報はサーバに送るの?

生体情報はサーバに送られず

ローカルデバイスからは出ません

Page 16: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved16

パスワードの認証モデルとの違い

ID・パスワード

OKパスワード入力識別

認証

従来的な認証モデル (パスワードなど)

検証

検証結果

OK

FIDO認証

FIDO サーバーFIDO 認証モデル FIDO クライアント

検証識別

認証器

ユーザー

クレデンシャル(認証情報)

検証

Page 17: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved17

登録の基本的な流れ

認証器 クライアント サーバー

登録開始

チャレンジ

認証公開鍵

利用者

認証用鍵ペア生成

⑤登録完了

サーバに公開鍵を登録

Page 18: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved18

認証の基本的な流れ

認証器 クライアント サーバー

登録開始

チャレンジ

署名結果

利用者

認証結果を秘密鍵で署名

⑤認証完了

署名の検証

Page 19: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved

FIDO認証をブラウザで使うには?

Page 20: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved20

FIDOでのブラウザAPI

ブラウザAPIを使ってFIDO認証を使える仕様がW3Cで考えられています

https://www.w3.org/TR/webauthn/

Page 21: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved21

Web Authentication

認証サーバ

サーバークライアントデバイス

認証器

ブラウザ

サービスのJavaScript

ブラウザAPI 公開鍵の登録や署名の検証

を行う

HTTPS通信

Page 22: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved22

Web Authentication

登録(鍵ペアの生成)

https://www.w3.org/TR/webauthn/

Page 23: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved23

Web Authentication

認証(秘密鍵での署名)

https://www.w3.org/TR/webauthn/

Page 24: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved24

Web Authentication

JavaScriptでAPIを叩くだけで

FIDO認証を実現することが可能になっ

てきている!

Page 25: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved

まとめ

Page 26: Bonfire API #1 生体認証のAPI化

Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved26

まとめ

Q. FIDO認証ってなに?

A. 公開鍵暗号方式を使って主に所持認証と生体認証を実現するための認証プロトコル

Q. 生体情報をサーバに送ったりするの?

A. 認証器に保存されるだけでサーバには送りません

Q. Web Authenticationってなに?

A. JavaScriptを使ってFIDO認証の機能を使えるブラウザAPI