FIDO技術のさらなる広がり - FIDO Alliance

FIDOアライアンス東京セミナー(2015年11月20日)
FIDO技術のさらなる広がり
ヤフー株式会社
Yahoo! JAPAN 研究所 上席研究員
五味 秀仁
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
FIDOの目指す認証モデル
安全性
(Security)
強
OTP (One-Time Password)
308934
PIN
パスワード
ID:
Pwd:
1234
弱
悪
FIDO Seminar in Tokyo 11/20/2015
良
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
利便性
(Usability)
2
コンセプト: 認証の部品化
Authenticator
(認証器)
指紋
FIDO Server
(サーバー)
FIDO Client
(クライアント)
FIDO標準プロトコル・メッセージ
サービス 1
虹彩
サービス 2
顔
USBキー
サービス 3
SIMカード
新規サービス
新規認証手段
プラグイン的に認証を追加することで、強固な認証を実現
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
3
公開鍵暗号方式を用いたオンライン認証
FIDOクライアント
ユーザー
FIDOサーバー
ユーザー
アイデン
ティティ
FIDO認証
ユーザー検証
認証器
秘密鍵
ユーザー検証結果
+ 署名
ユーザーを検証し、
秘密鍵で署名
公開鍵
公開鍵で
署名を検証
FIDO認証は、認証器においてユーザーの秘密鍵が安全に保管
されていることを確認(検証)することによって実現。
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
4
振り返り: FIDO 1.X
• FIDO UAF 1.X
• 端末備え付けのAuthenticatorで、パスワードなし認証
• FIDO U2F 1.X
• 主要ブラウザでの、パスワード認証、および、セキュリティキーによる第2認証
(USB、Bluetooth、NFC経由)
FIDO 1.X を実装した製品・サービス
FIDO クライアント・認証器
FIDOサーバー
PayPal
Google
NTT DOCOMO
Bank of America
Dropbox
GitHub
FIDO 1.X は、既に、製品・サービスを含むエコシステムを構築。
「認証のあり方」を変えた。
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
5
1人複数デバイス・プラットフォーム環境
各個人が、多様なデバイス・プラットフォームをコンテキスト(状況)に応じて使い分ける
スマートフォン
タブレット
ウェアラブル機器
テレビ
カード
PC
セットトップボックス
個人の認証に関する体験(UX)は、認証器に依存し、同じ認証器を用い
ても、デバイスやプラットフォームごとにばらばらになる可能性あり。
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
6
FIDOは プラットフォームの認証を統一します
ソフトウェアプラットフォーム
ユーザー
ブラウザー
統一化された認証インターフェース
-
IE/Edge
Chrome
Firefox
Safari
など
-
Windows
Android
MacOS
iOS
など
OS
ハードウェアデバイス
スマートフォン
PC
タブレット
カード
スマートTV
セットトップボックス
など
FIDOは、統一化された認証インターフェースを提供し、
ユビキタスコンピューティングへのサポートに注力します。
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
7
FIDO 2.0
ユビキタス環境における
プラットフォームのための技術
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
FIDO 2.0 のゴール
主要なプラットフォーム (ブラウザ、OS)に対するサポート
FIDO 2.0 クライアント・認証器
FIDO 2.0 サーバー
ブラウザー
Chrome
IE/Edge
Firefox
Safari
など
OS
Windows
Android
MacOS
iOS
など
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
9
FIDO 2.0 の新技術仕様
Webプラットフォーム API仕様:
抽象的なAPIを通じたメッセージの通信
• Web API
• Key Attestation Format
• Signature Format
ブラウザでの普及を想定し、
標準化団体W3Cへ仕様を提案
デバイス間連携仕様:
クライアントと外部認証器間の通信
• EAP (External Authenticator Protocol)
*API: Application Programming Interface
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
10
FIDO 2.0 概観
Formats
- Signature
- Key Attestation
ユーザーデバイス
サーバー
RPアプリケーション
RP サーバー
Web API
OS/ブラウザー
(FIDOクライアント)
FIDO サーバー
認証器
認証器
FIDO Seminar in Tokyo 11/20/2015
External Authenticator Protocol
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
*RP: Relying Party
11
Web API (FIDO 2.0 クレデンシャルの操作)
ウェブページがブラウザーのスクリプトから、FIDO 2.0準拠の強固で、
暗号を用いて生成されたクレデンシャル(認証情報)にアクセスする
ためのAPIを提供。
ブラウザー
(1) サービス要求
Java スクリプトによる
API呼び出し
サーバー
(2) 認証要求
(5) 暗号を用いた証明の
応答
(3) クレデンシャル操作の
要求
認証器
ユーザー
(4) クレデンシャルの取扱い
FIDO Seminar in Tokyo 11/20/2015
FIDO 2.0 クレデンシャル
FIDOが規定する認証に必要とする情報
(秘密鍵、従来なら、パスワードに該当)
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
12
Web API のユースケース (1)
認証器の登録
ブラウザー
Java スクリプトによる
API呼び出し
(1) サービス要求
サーバー
(2) 登録要求
(5) クレデンシャル情報の応答
(公開鍵、鍵情報 (署名つき) など)
(3) クレデンシャル生成
要求
公開鍵
認証器
ユーザー
秘密鍵 (4) クレデンシャル生成
FIDO Seminar in Tokyo 11/20/2015
「この機器(認証器)をサーバーに登録しますか?」
- ユーザーによる明示的な操作(ジェスチャー)
- 秘密鍵・公開鍵のペアを生成することを承認(確認)
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
13
Web API のユースケース(2)
登録済み認証器を用いた認証
ブラウザー
Java スクリプトによる
API呼び出し
サーバー
(1) サービス要求
(2) 認証要求
(5) アサーション応答
(署名つきチャレンジ + その他データ)
(3) FIDO認証要求
公開鍵
(登録済み)
認証器
秘密鍵
(4) クレデンシャルの検索
(保管済み)
ユーザー
「この機器(認証器)を用いて認証しますか?」
- ユーザーによる明示的な操作(ジェスチャー)
- 既存のクレデンシャルを利用することを承認(確認)
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
14
Key Attestation Format
• 認証器の信頼性を証明するための情報のデータ構造
を定義。
•
秘密鍵の信頼性、すなわち、どのように鍵が管理されて
いるかに関して、認証器はサーバーに伝える。
• 具体的な個別の環境(TPMやAndroidなど)を利用
する場合を規定(プロファイル)。
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
15
Signature Format
• FIDO 2.0準拠クレデンシャル用の署名フォーマット。
• FIDO 2.0準拠クレデンシャルを生成する秘密鍵を保有し
ていること、および、そのクレデンシャルを生成したク
ライアントや認証器などのコンテキストに関する情報を
サーバーに適切に伝える。
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
16
EAP (External Authenticator Protocol)
• 外部認証器とクライアント・プラットフォーム間の通信プロトコルを規定。
• 具体的な通信路(USB/Bluetooth/NFCなど)の適用が可能。
ブラウザー
Java スクリプトによる
API呼び出し
ユーザーのデバイス
(3) クレデンシャル操作の
要求
USB/Bluetooth/NFC トランスポートバインディングを規定
外部認証器
ユーザーのデバイスと別デバイス
秘密鍵
(4) クレデンシャルの取扱い
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
17
EAP のユースケース
(例)PC上のアプリケーション利用時の認証を、スマートフォンで行う。
サーバー
FIDO 認証
PC (クライアント)
公開鍵
Bluetooth
スマートフォン
(外部認証器)
秘密鍵
ユーザーは、自らの保有するデバイスを認証器として用い、デバイスをまたがって認証できる。
(特定のデバイスに認証機能を集約させることができる。)
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
18
まとめ
• FIDO 認証
• 認証の部品化、公開鍵暗号方式を採用。
• FIDO 1.X の実装は、既にFIDOエコシステムを構築、市場に普及。
• FIDO 2.0: プラットフォーム(ブラウザやOS)によるネイティブサポートのための仕様
• Web プラットフォーム API: W3Cへ提案。
• EAP: クライアントでのアプリケーションを、外部デバイスである認証器を用いて認証。
FIDO 2.0 技術を通して、ユビキタスコンピューティングにおける
認証をサポートし、エコシステムを拡張していきます。
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
19
ご清聴ありがとうございました
FIDO Seminar in Tokyo 11/20/2015
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.