FIDO認証と公開鍵暗号
ヤフー株式会社
Yahoo! JAPAN 研究所 上席研究員
五味 秀仁
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

内容• FIDOアライアンス概要• FIDO認証• FIDO認証を⽤いた応⽤ソリューション

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

2

FIDOアライアンス概要

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

FIDOアライアンスとはオンライン・サービス利⽤時にパスワードに代わるシンプルで堅牢な認証を実現するための業界団体。
経緯••••

2012年2⽉に6社で発⾜。
2017年3⽉現在、全世界で250以上の組織・団体が参加するまでに拡⼤。

参加団体

••

⾦融機関、ネット事業者、セキュリティベンダー、スマートフォン、PC製造事業者、および、政府機関など多種多様に渡る。

⽇本企業

•••

ボード：NTTドコモ
スポンサー：⼤⽇本印刷、DDS、富⼠通、ISR、三菱東京UFJ銀⾏、楽天、シグマクシス、ソフト技研、ヤフー・ジャパン

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

4

FIDOアライアンスのミッション
1.

2.

3.

技術仕様の策定– 次世代の認証技術に関する標準化を⽬指し、認証サーバーや利⽤者の端末のソフトウェア⼀式で技術仕様を策定しています。ただし、FIDO⾃体は、特定の製品やサービスを開発しません。

適合性認定プログラムの実施– FIDOアライアンスで策定した技術仕様を実装した製品やサービスの普及のために、個々の実装の仕様への適合性、および、他の実装との相互接続性を検証する試験を実施しています。

標準化団体への提案– 上記FIDO技術をより多くの利⽤者の⽅々に利⽤していただくために、適切な標準化団体とリエゾン関係を構築して相互に連携しながら、標準技術として普及させていくことを⽬指しています。

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

5

FIDOアライアンスの⽬指す認証とはパスワードの課題
利便性（Usability）

安全性（Security）

覚えられない

再利用可能

入力不便

漏えいしやすいパスワードへの依存度を減らしつつ、利便性と安全性の両面を向上させる
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

6

FIDO認証PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

認証に関する潮流
⾼性能なセンサーと安全なデータ保管技術による新しい認証形態（モデル）の出現••••

ローカル認証: ユーザーの検証を保有しているデバイスで実施。
継続的認証: ユーザーの⾏動情報を絶えず取得し、認証に活⽤。
暗黙的認証: 認証のための明⽰的な操作（タッチ操作やジェスチャーなど）なしに認証が完了。
コンテキスト認証: ユーザーが存在するコンテキストに関わる情報を活⽤して認証。

ユーザーコンテキストからのデータ

ユーザー位置⽅⾓
温度⾳
加速度
歩数
歩⾏距離他

安全なデータ保管領域
ユーザーコンテキスト

正確でリアルタイムのコンテキストデータを活⽤することで、認証のあり⽅に変化が起こっている。
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

8

認証モデルの違い：ローカル vs. リモート
従来的な認証モデル （パスワードなど）

識別

ID・PWDPWD⼊⼒

FIDO 認証モデル

認証
検証

FIDO クライアント

ユーザー

検証

分離
検証結果

FIDO サーバー
識別認証器
クレデンシャル
（認証情報）PKI Day 2017/04/19

FIDO認証Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

*認証器: 英語では Authenticator

9

FIDO認証のコンセプト：認証の部品化
FIDO認証器

FIDOクライアント

FIDOサーバー

指紋
虹彩サービス 1

FIDO標準メッセージ

顔USBキーサービス 2

サービス 3

スマートカードサービス N

新認証⼿段

認証器が「部品」として組み込まれ、認証のスケーラビリティ（拡張性）が向上
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

10

FIDO認証の技術：公開鍵暗号⽅式を利⽤
FIDOクライアント

ユーザー

FIDOサーバー
FIDO認証

検証

認証器
秘密鍵ID
ユーザー情報

署名つき
検証結果

ユーザーを検証し、秘密鍵で署名

公開鍵

公開鍵で署名を検証

ユーザーが適切な秘密鍵を保有することを確認（検証）することによって認証を実現
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

11

FIDO認証におけるトラスト関係
ユーザー・認証器・サーバー間にトラスト（信頼）を構築
サーバー（Relying Party, RP)

認証器

ユーザー
トラストの鎖リンク (検証すれば確⽴)(静的)リンク(静的)リンクID
公開鍵

秘密鍵(クレデンシャル)

他のユーザーPKI Day 2017/04/19

他のサーバーCopyright©2017 Yahoo Japan Corporation. All Right Reserved.

12

FIDO認証における処理
FIDO認証のための前処理
最初に⼀度だけ実施

認証器の登録認証器を⽤いた認証(FIDO認証)

認証器の削除

（注：ユーザー、認証器ごとに上記処理を繰り返すことになる。）

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

13認証器の登録認証器が適切な実装を有した本物であることを確認し、FIDO認証のための鍵を設定。

登録前の状態認証器

ユーザーサーバーID
ユーザー情報認証器証明 秘密鍵
(Attestation Private Key)

認証器証明 公開鍵
(Attestation Public Key)

認証器ベンダーが出荷時に⽣成・配布
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

メタデータサービス(FIDOアライアンスが運用)
14

認証器の登録処理
ユーザー

認証器(2) ユーザー検証サーバー(1) ユーザー登録要求

認証公開鍵(4) 認証器証明と認証公開鍵を署名し送信
認証器証明
秘密鍵

認証秘密鍵

(3) 認証⽤の鍵ペア⽣成
認証秘密鍵を認証器に保存
PKI Day 2017/04/19

認証器証明公開鍵ユーザー情報

認証公開鍵

ID

(5) 認証器の真正性確認（署名検証）(6) 認証公開鍵の登録

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

15

認証器を⽤いた認証（FIDO認証）
先の登録処理にて認証⽤鍵の登録が前提
ユーザー

認証器
(2) ユーザー検証サーバー(1) ユーザー認証要求(4) ユーザー検証結果と署名を送付

認証
秘密鍵

認証
公開鍵

(3) 認証⽤の鍵ペア⽣成
ユーザーの検証結果を認証秘密鍵で署名
PKI Day 2017/04/19

ユーザー情報ID(5) 認証公開鍵で署名検証(6) 検証できれば、ユーザーIDを抽出

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

16

FIDO認証の技術仕様
パスワードレス型: UAF (Universal Authentication Framework) 1.1•

スマホ端末備え付けの認証器で、⽣体・所持認証（パスワードなし）

パスワード補完型: U2F (Universal 2nd Factor) 1.1•

主要ブラウザでの、パスワード認証 ＋ セキュリティキーなどの所持認証(USB、Bluetooth、NFC対応)(出典: FIDOアライアンス）
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

17

新技術仕様：FIDO 2
Web 認証API仕様:• Webブラウザーが JavaScriptを⽤いてクレデンシャル（秘密鍵）にアクセスするためのAPI。
• FIDOアライアンスが提案、ブラウザでの普及のため、標準化団体W3Cにて策定中。

デバイス間連携仕様: CTAP (Client To Authenticator Protocol)• クライアントと外部認証器間の通信をサポートする認証プロトコル。
• FIDOアライアンスにて策定中。

*API: Application Programming Interface
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

18

Web認証API
ブラウザーがJavascriptを⽤いてクレデンシャルにアクセスするための抽象的API••

makeCredential()
getAssertion()
ユーザー側

認証器

サーバー側

Web認証APIユーザー

ブラウザー

サーバー
（Relying Party, RP）

クレデンシャル

ユーザーのデバイス
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

19

Web認証における認証器の登録
1. makeCredential() 要求

ユーザー

認証器

Web認証API

サーバー（RP）

ブラウザー

ID
2. 所定の⼿段でユーザー検証

認証⽤
秘密鍵

3. 秘密鍵・公開鍵のセットを⽣成
4. 以下のデータを⽣成

認証⽤
公開鍵
5. クレデンシャルに関する 6. FIDO認証⽤公開鍵を登録
署名付きデータを返信

クレデンシャル情報
認証器証明書
公開鍵署名
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

(注) 認証器証明のための鍵は図中では省略。

20

認証器を⽤いたWeb認証
1. getAssertion()要求

認証器

ユーザー

Web認証API

サーバー（RP）

ブラウザー
ID

認証⽤
秘密鍵
2. 所定の⼿段でユーザー検証
3. 以下のデータを⽣成

4. アサーションを含めた署名付きデータを返信

5. 署名検証
6. ユーザーIDの抽出

クレデンシャル情報アサーション（検証結果の証明書）
署名
PKI Day 2017/04/19

認証⽤
公開鍵

(注) 認証器証明のための鍵は図中では省略。
Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

21

CTAP (Client To Authenticator Protocol)• 外部認証器とクライアント・プラットフォーム間の通信プロトコルを規定。
ブラウザー
ユーザーのデバイス

JavaScriptによるクレデンシャル操作要求

USB/Bluetooth/NFCを⽤いた通信
外部認証器

ユーザーのデバイスと別デバイス
クレデンシャル（秘密鍵）PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

22

CTAP のユースケース（例）PC上のアプリケーション利⽤時の認証を、スマートフォンで⾏う。
サーバー
FIDO 認証

PC (クライアント)
Bluetooth

秘密鍵

公開鍵

スマートフォン(外部認証器)

ユーザーは、⾃らの保有するデバイスを認証器として⽤い、デバイスをまたがって認証できる。（特定のデバイスに認証機能を集約させることができる。）
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

23

スマートフォンも⼀つの認証器に認証器

Web認証APIサーバー

指紋サービス 1

虹彩
顔サービス 2

USBキーサービス 3

スマートカードサービス N

スマートフォン
スマートウォッチ

PKI Day 2017/04/19「スマホ認証器」により、さらに認証のスケーラビリティ（拡張性）が向上
Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

24認証器のバリエーション
内蔵認証器

外部認証器

ユーザーデバイス認証器

クライアント

着脱型

無線型認証器Web認証API クライアント

Web認証APICTAP (Client To Authenticator Protocol)
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

25

FIDO認証を⽤いた
応⽤ソリューション

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

認証: セキュア・トラストアプリケーションのための基盤
⼀般的なアクセス制限つきシステム
ユーザー

アクセス要求サーバー
ID

認証
アクセス応答（OK/NG）
シングルサインオン
認証後のさらなる⾏動

ユーザーの権限確認（アクセス制御）

個⼈属性共有パーソナルサービスの提供

サーバー

認証が起点になり、様々なオンライン上の⾏動につながる。

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

27

FIDO認証のセマンティクス（意味）• ユーザーが本⼈であると主張通りの⼈であることを検証したということ• ユーザーが認証器のすぐそばにいる（存在する）こと• ユーザーが、⾃分のアイデンティティ（本⼈性）、コンテキスト、取引などに関して確認した（同意した）ということチャレンジ（ランダムな⽂字列）

ユーザー

認証器
クレデンシャル

ユーザーコンテキスト

サーバー（RP）

署名付きチャレンジ
(アサーション)証明

FIDO認証は、ユーザーのアイデンティティやコンテキストを証明する機構を備える。
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

28

認証器の応⽤展開
既存・新規の認証⽅式を実装した認証器の展開を期待• ⽣体認証• ⾏動特性• ウェアラブル機器（例）証明書ベースの認証を実装した認証器 (韓国KICAのユースケース)
認証器
⽣体認証 API

PKIモジュール
暗号化した
秘密鍵

証明書

指紋センサーPKI Day 2017/04/19

虹彩センサーFIDO認証(改変なしに拡張)サーバー (RP)証明書の検証(オンライン証明書状態プロトコル、OCSP)

証明書の発⾏(従来のPKIプロトコル)

認証局 (CA)
Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

29

FIDO認証とID連携
RP/IdP(アイデンティティプロバイダー)

ユーザー

FIDO
クライアント認証器

認証
コンテキスト

FIDO
サーバーアサーション
発⾏

認証アサーション

連携RP(サービスプロバイダー）

アイデンティティ
サービス

認証
コンテキスト

ID連携（フェデレーション）

FIDO認証シンプルで堅牢な認証

シームレスで安全なサービス

FIDO認証とID連携を組み合わせると、認証コンテキストは認証器から連携RPへと伝搬。
PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

30

証明情報の伝搬
連携RP
RP/IdP（アイデンティティプロバイダー）（サービスプロバイダー）
ユーザー

認証器
クレデンシャル

ユーザーコンテキスト

証明

証明
アイデンティティ
コンテキスト
取引（トランザクション）証明

証明

認証器で⽣成されたユーザーの証明情報を使えば、インターネット規模でトラストなアプリケーションを提供することができる。

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

31

取引（トランザクション）認証
MITM (Man-in-the-Middle) 攻撃から取引データの改ざんを保護(既にUAF仕様でサポート、海外の銀⾏で導⼊事例あり）

改ざんされた取引データ

ユーザーのデバイス 振込先銀⾏: XXX 銀⾏
マルウェア

元の取引データ

ユーザー

振込先銀⾏: AAA 銀⾏
⼝座番号: 123456
⾦額: 10000 円

⼝座番号: 7654321
⾦額: 1000000 円

RP (銀⾏)

クライアント

提⽰された取引データを確認
秘密鍵を使って署名を⽣成

署名

認証器
秘密鍵

元の取引データの署名署名付き取引データを改ざんしても、署名検証により改ざんを検出し、不正送⾦を防⽌可能

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

32

オフラインでの本⼈確認
リアルタイムで⽣体によるFIDO認証を⽤いれば、現実世界のサービスへのアクセス時に「本⼈確認」が可能となる。

身分証明書

氏名： 山田 太郎
住所： 東京都港区赤坂９－７－１
年齢： 30歳
性別： 男

FIDO認証・チケット購⼊（オンライン）

証明書発行元： ヤフー株式会社
証明書配布先： ABCサービス株式会社
証明書発行時刻： 2013年8月10日13時
証明書有効期限： 2014年8月10日13時まで
証明書識別番号： s8e3d5y9z0g3

ユーザー(オンライン)

本人画像 （2013年1月10日撮影）（例）電⼦チケット

電⼦チケットサーバー

FIDOサーバー

電⼦チケットユーザー(オフライン)

同⼀⼈物？
(検証要)

ユーザー
ID

認証ログ

身分証明書
本人画像 （2013年1月10日撮影）

氏名： 山田 太郎
住所： 東京都港区赤坂９－７－１
年齢： 30歳
性別： 男
証明書発行元： ヤフー株式会社
証明書配布先： ABCサービス株式会社
証明書発行時刻： 2013年8月10日13時
証明書有効期限： 2014年8月10日13時まで
証明書識別番号： s8e3d5y9z0g3

イベントでの⼊場ゲート

チケットおよび本⼈確認情報の提⽰

チケットおよび本⼈確認情報の検証
他のユーザー(オフライン)PKI Day 2017/04/19

なりすましの防⽌
Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

33

まとめFIDO認証モデル•••

公開鍵暗号を⽤いた認証部品化した認証器によるローカル認証

Web認証APIとCTAP•••

ブラウザを通じたクレデンシャルの操作
多様なデバイス形態と通信プロトコルによる認証器をサポート

FIDO認証を⽤いたソリューション展開••••

認証器の導⼊展開
アイデンティティ連携システムの拡張
アイデンティティ・コンテキストの証明

PKI Day 2017/04/19

Copyright©2017 Yahoo Japan Corporation. All Right Reserved.

34