188 Views
February 15, 18
スライド概要
Bonfire API #1 「APIの役割の多様化」において発表された資料です。
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
生体認証のAPI化 ヤフー株式会社 上野 博司 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
自己紹介 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
自己紹介 うえの ひろし • 上野 博司 • Yahoo! JAPAN IDの管理開発部署 • ユーザセキュリティ(ID乗っ取りや生体認証)を担当 • FIDO Allianceの活動にも参加 • Outstanding Contributor Award受賞 3 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
目次 • 認証の要素 • パスワード認証の問題 • FIDO認証について • FIDO認証をブラウザで使うには? 4 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
認証の要素 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
認証の要素 • 認証の要素は大きく分けて3つあります 記憶:本人のみが記憶している情報 • パスワード 所持:本人のみが所持しているもの • ワンタイムパスワードのトークン 生体:本人の特徴 • 指紋、虹彩、顔 6 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
パスワード認証の問題 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
パスワード認証の問題 利便性の問題 • 複数のパスワードを管理すること • スマホなどでの入力が困難なこと • そもそも忘れてしまう 8 安全性の問題 • パスワードの使い回しが横行 • 外部サービスの脆弱性に依存 • ユーザリテラシーに依存 • リスト型攻撃などに弱い Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
Strong 「FIDO認証」 FIDO(Fast IDentity Online) 安全性と利便性の両立を目指しています Weak SECURITY パスワード問題の解決策 Poor Easy USABILITY 9 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
FIDO認証の概要 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
FIDO認証とは 公開鍵暗号方式を使って 主に所持認証と生体認証 を実現する認証プロトコル 11 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
FIDO認証がカバーする認証の要素 記憶:本人のみが記憶している情報 所持:本人のみが所持しているもの 生体:本人の特徴 12 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
FIDO認証モデルの特徴 「本人性の検証はローカルデバイス」 「認証結果の署名検証がサーバ」 13 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
FIDO認証モデル • 公開鍵暗号方式を採用 ユーザー 認証サーバー 検証結果(署名) 生体認証 秘密鍵 署名 14 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved 公開鍵 署名を検証
生体情報はサーバに送るの? 生体情報はサーバに送られず ローカルデバイスからは出ません 15 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
パスワードの認証モデルとの違い 従来的な認証モデル (パスワードなど) ID・パスワード OK パスワード入力 FIDO 認証モデル 識別 検証 FIDO クライアント FIDO サーバー 検証結果 検証 ユーザー 認証器 クレデンシャル (認証情報) 16 認証 OK FIDO認証 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved 識別 検証
登録の基本的な流れ 利用者 認証器 クライアント サーバー 登録開始 ① ② チャレンジ ③ サーバに公開鍵を登録 認証用鍵ペア生成 ④ 認証公開鍵 登録 完了 17 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved ⑤
認証の基本的な流れ 利用者 認証器 クライアント サーバー 登録開始 ① ② チャレンジ 署名の検証 ③ 認証結果を 秘密鍵で署名 18 ④ 署名結果 認証 完了 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved ⑤
FIDO認証をブラウザで使うには? Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
FIDOでのブラウザAPI ブラウザAPIを使ってFIDO認証を使える仕様がW3Cで考えられています https://www.w3.org/TR/webauthn/ 20 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
Web Authentication サーバー クライアントデバイス サービスのJavaScript HTTPS通信 認証サーバ ブラウザ ブラウザAPI 認証器 21 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved 公開鍵の登録 や署名の検証 を行う
Web Authentication 登録(鍵ペアの生成) https://www.w3.org/TR/webauthn/ 22 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
Web Authentication 認証(秘密鍵での署名) https://www.w3.org/TR/webauthn/ 23 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
Web Authentication JavaScriptでAPIを叩くだけで FIDO認証を実現することが可能になっ てきている! 24 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
まとめ Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved
まとめ Q. FIDO認証ってなに? A. 公開鍵暗号方式を使って主に所持認証と生体認証を実現するため の認証プロトコル Q. 生体情報をサーバに送ったりするの? A. 認証器に保存されるだけでサーバには送りません Q. Web Authenticationってなに? A. JavaScriptを使ってFIDO認証の機能を使えるブラウザAPI 26 Copyright © 2018 Yahoo Japan Corporation. All Rights Reserved