【講演1】 ⽇本銀⾏⾦融研究所 情報技術研究センター 企画役補佐 井澤秀益 ※本講演は、ヤフー株式会社Yahoo! JAPAN研究所 上席研究員 五味秀仁様と共同で実施した研究に基づく講演である。 また、本発表に⽰されている意⾒は、発表者個⼈に属し、⽇本銀⾏やヤフー株式会社の公式⾒解を⽰すものではない。 ⽇本銀⾏⾦融研究所 第17回情報セキュリティ・シンポジウム 2016年3⽉2⽇ ⽇本銀⾏本店 本講演では、次世代認証技術の⼀つである「FIDO(Fast IDentity Online)」 を取り上げる(FIDOに関しては後述)。 次世代認証技術の⼀つであるFIDOの特徴 利便性 ⽣体認証を利⽤することができるため、ユーザが⾃然な動作で ⽣体特徴を提⽰できる(パスワードを覚える必要無し) 網羅性 様々なデバイスやサービス、認証⽅式を想定 安全性 (セキュリ ティ) 本講演の内容 1 本講演では、以下の3点の説明を⾏う。 1. FIDOの仕組みの解説 2. FIDOをインターネット・バンキングに活⽤した場合の安全性評価 3. FIDOをインターネット・バンキングに活⽤する際の留意点 − (注)本講演では、FIDOのUAF(Universal Authentication Framework)のことをFIDOと 便宜的に呼び説明を⾏います。FIDOのU2F(Universal Second Factor)については解説 しません。 − 詳細は下記論⽂を参照(http://www.imes.boj.or.jp/citecs/papers.html) 井澤秀益・五味秀仁、「次世代認証技術を⾦融機関が導⼊する際の留意点 ―FIDOを中⼼に―」、IMES Discussion Paper Series、2016年2⽉ 2 3 FIDOとは、「ネットワークを介した認証に⽣体認証等を利⽤するための認 証⼿順(認証プロトコル)を定めた仕様」 デバイス − 従来のID/パスワード認証 − FIDOにおける認証 ID/パスワード を⼊⼒ 検証結果 ⽣体情報を提⽰ ⾦融機関 ID/パスワード FIDOの主な実⽤化動向 ⽇時 出来事 2014年12⽉ FIDOの仕様が公表(FIDO UAF/U2F ver1.0 specification)[1] 2015年5⽉ NTT ドコモ社の⼀部のスマートフォンで同社のサービスがFIDOを使っ て利⽤可能[2] 2015年9⽉ Bank of Americaのインターネット・バンキングのモバイルアプリが FIDOを使って利⽤可能 [3] [1] https://fidoalliance.org/specifications/download/ [2] https://www.nttdocomo.co.jp/info/news_release/2015/05/26_00.html [3] http://newsroom.bankofamerica.com/press‐releases/consumer‐banking/bank‐america‐introduces‐fingerprint‐and‐touch‐id‐sign‐its‐mobile‐ban 1. プライバシー配慮 ⽣体情報等の認証に必要な秘匿すべき情報をサー バに送信・登録しない 検証結果 認証 2. 多様な認証要素 4 ⽣体認証に限らず所有物認証等、多様な認証要素の 利⽤を想定している 認証 指紋 3. 標準化 虹彩 USBドングル 様々な端末やサービスが存在する状況においても、 統⼀的なプロトコル(FIDO)で認証を⾏える ECサイト FIDO 銀⾏ SNS 4. 取引認証 取引内容がユーザの意思に基づくものであることを サーバで確認する仕組み(Transaction Confirmation)。 詳細は後述。 5 • Authenticator:ユーザ認証や鍵⽣成、署名⽣成等を ⾏うモジュール • Challenge:サーバで⽣成される乱数 • Attestation秘密鍵:Authenticatorに格納される秘密鍵 (FIDO認定取得Authenticatorに格納される) 端末毎・サービス毎に初回にユーザが実施。 ユーザのAuthenticatorをサーバが登録。レガシー認証情報とFIDOにおける ユーザ情報(AAID,KeyID)とを紐付けることが可能。 − レガシー認証情報:FIDOに移⾏する前の段階で使⽤していた個⼈認証のための情 報(例:ID, Password) ユーザ クライアント Authenticator サーバ (1)〜(3)は FIDO仕様外、 実装の⼀例 (1) 開始要求 (2) レガシー認証要求 (3) レガシー認証情報 (5) Challenge等 (6) ⽣体情報要求 (6) ⽣体情報応答 (3) ユーザ認証 (4) Challenge等 (6) ユーザを検証 (7) ユーザの秘密鍵・公開鍵ペアを⽣成、 ユーザの公開鍵等の情報(KRD)を⽣成し Attestation秘密鍵で署名 KRD(Key Registration Data) : • AAID(Authenticatorのモデル) • fc(Challenge等のハッシュ値) • KeyID(ユーザ秘密鍵等から⽣成) • RegCounter • ユーザ公開鍵 (8) KRD, Sign(KRD) (9) KRDの整合性検証、 KRDの署名検証、 ユーザ公開鍵登録、 FIDOにおけるユーザ 情報(AAID, KeyID) 6 を登録 (9) KRD, Sign(KRD) • Transaction:取引内容(振込先・振込⾦額等) サービス利⽤ごとにユーザが実施。サーバがユーザ認証や取引認証を⾏う。 ユーザ Authenticator クライアント サーバ (1) 開始要求(振込指図) transaction (3) Challenge, transaction (4) ⽣体情報要求 transaction等を表⽰ SD(Signed Data): • AAID(Authenticatorのモデル) • ユーザ検証結果 • fc(Challenge等のハッシュ値) • transactionのハッシュ値 • KeyID(ユーザ秘密鍵等から⽣成) • SignCounter 振込指図⼊⼒ 振込先 Aさん 振込⾦額 1万円 振込実⾏ ボタン ※斜体はオプションの項⽬ (4) ユーザを検証 (4) ⽣体情報応答 (1) (2) Challenge, transaction (5) transactionやユーザ検証結果等からなる情報(SD)に ユーザ秘密鍵で署名 (6) SD, Sign(SD) (4) 次の振り込み内容 でよろしいですか? よろしければ ⽣体を提⽰してくだ さい Transaction: Aさんに1万円振込 (7) SDの整合性検証、 SDの署名検証、 (7) SD, Sign(SD) (4) Authenticator 次の振り込み内容 でよろしいですか? よろしければ ⽣体を提⽰してくだ さい Transaction: Aさんに1万円振込 ユーザを検証 (5) 署名 Transaction: Aさんに1万円振込 (6) サーバへ 7 ユーザの視点 − transaction(取引内容)を⽬視確認する。 − 定められた認証⼿順(例:指紋認証)を踏むことにより、取引継続の意思を⽰す。 Authenticatorの視点 − 定められた認証⼿順(例:指紋認証)でユーザを検証出来れば、transaction(取 引内容)に対して電⼦署名を付す。 電⼦署名が付された後は、マルウエアによるtransaction(取引内容)の改ざん をサーバ側で検出可能。 Authenticatorおよびユーザの秘密鍵は、通常領域とは隔離されたセキュアな領 域(TEE等)に存在する前提。 Transaction Confirmationは、以下の条件を満たせば不正送⾦に対して耐性が あると考えられる。 − ユーザが⽬視確認した内容とAuthenticatorが署名する内容が同⼀であること (WYSIWYS:What you see is What you sign) − ユーザが取引継続の意思を持ったときのみ署名が⾏われること 8 (注)FIDOそのものの安全性評価ではなく、FIDOの実装をインターネット・バンキング に適⽤した場合を考えたときの安全性評価 9 (注)FIDOそのものの安全性評価ではなく、FIDOの実装を インターネット・バンキングに適⽤した場合を考えたときの安全性評価 攻撃側の前提 ケースA: 物理アクセス − 攻撃者の⽬標:不正送⾦の実⾏ e.g.攻撃者がターゲットのスマートフォンを盗取 ⼿⼝1:フィッシング ケースB: ネットワーク アクセス ⼿⼝2:マルウエア ⼿⼝3:⽣体認証でのなりすまし e.g.攻撃者がターゲットにNW越しに攻撃 攻撃者のデバイスへのアクセス能⼒ 攻撃者の⼿⼝ (攻撃者にとって有利な前提を想定) • • • • 防御側の前提 Androidスマートフォンを使⽤ ⾦融機関の提供するスマホアプリを 使⽤ スマホ内にはTEE(Trusted Execution Environment)等のセキュア領域が存在 しAuthenticatorを保護 Transaction Confirmationにより取引内 容を確認 ユーザ インターネット ⾦融機関サーバ • 攻撃は不可と仮定 TEEについてはこの後の「講演3」を参照 10 登録フェーズにおける評価 − 万が⼀、レガシー認証情報を攻撃者に盗取されてしまえば、攻撃者⾃⾝のデバイ スで登録フェーズが実⾏可能(不正送⾦が成⽴)。→後述 認証フェーズにおける評価 ケースA: 物理アクセス ケースB: ネットワークアクセス ⼿⼝1:フィッシング ── 攻撃不成⽴ ⼿⼝2:マルウエア ── 攻撃不成⽴ (root権限) ── 不正送⾦を起こす⽅法が 存在する(注1) 不正送⾦を起こす⽅法が 存在する(注2) ── ⼿⼝ (⾮root権限<偽アプリ>) ⼿⼝3:⽣体認証なりすまし (注1)攻撃例:Display Overlay攻撃(後述)。 (注2)攻撃例:攻撃者がデバイスを盗取し、⽣体認証でのなりすましで⾃⾝への送⾦を実施(後述)。 ※具体的な評価の⽅法については、下記論⽂を参照。 井澤秀益・五味秀仁、「次世代認証技術を⾦融機関が導⼊する際の留意点―FIDOを中⼼に―」、IMES Discussion Paper Series、2016年 http://www.imes.boj.or.jp/citecs/papers.html 11 12 留意点:登録フェーズにおいて「レガシー認証情報」が盗取されるリスク に注意すること。 − 攻撃経路: レガシー認証情報 (ID,Pass)を攻撃者が盗取 (⼿⼝:マルウエアや フィッシング) 盗取したレガシー認 証情報を⽤いて、攻 撃者は、⾃らのデバ イスにて登録フェー ズを実施 登録済デバイス で認証フェーズ を実施し、 不正送⾦ − FIDO⾃⾝の問題ではなく、FIDOに移⾏する前に「レガシー認証情報」を使⽤して いることに起因する問題。 ⾦融機関における具体的な対応例 − 顧客に対して「レガシー認証情報を正規の⾦融機関サイト以外で⼊⼒しない」旨 注意喚起(フィッシング対策) − 顧客に対して「デバイスのマルウエア対策」を注意喚起 − アプリストアに偽バンキングアプリが出現していないかどうか監視 − 普段使っていないデバイスからの登録フェーズの制限 − レガシー認証情報を使⽤しない登録フェーズの検討 ⾦融機関の窓⼝における登録フェーズの実施等 13 留意点:Transaction Confirmationの仕組みが存在するものの、マルウエア感 染により、取引内容確認が無効化されるリスクがあることに注意すること。 − マルウエア(root権限)により取引内容が改ざんされた上に、取引内容確認画⾯ も上書き(Display Overlay 攻撃)されれば、MitB攻撃の要領で不正送⾦が成⽴して しまう。 ユーザ バンキングアプリ/ Authenticator Aさんに1万円送⾦ Authenticatorが表⽰ しているメッセージ ※背⾯にあるため ユーザから⾒えない Xさんに100万円送⾦でOK? とのメッセージ Xさんに100万円送⾦ Xさんに100万円送⾦でOK? Aさんに1万円送⾦でOK? とのメッセージ マルウエアが表⽰ しているメッセージ ※最前⾯に表⽰ ⾦融機関サーバ 本来の画⾯ Display Overlay攻撃 (緑⾊部分) 14 ⾦融機関における具体的な対応例 − Trusted User Interface[1]の今後の動向に留意する。 Trusted User Interfaceを備えたスマートフォンであれば、Display Overlayに対して 耐性があるとされている[2]。 FIDOでは、Metadataサービスを通じて、「Authenticator毎にTrusted User Interfaceを利⽤可能か」をサーバ側で確認することが出来る仕組みがある。 − (前提とは異なるものの)別のデバイスにて 取引内容を確認する。 同様のアイデアの例:電⼦ペーパによる 取引内容確認 [3](注:FIDO準拠ではない) [1] GlobalPlatform, “GlobalPlatform Device Technology Trusted User Interface API Version1.0,” GlobalPlatform Device Specifications, 2013 [2] Rob Coombs, “Securing the Future of Authentication with ARM TrustZone‐based Trusted Execution Environment and Fast Identity Online (FIDO),” ARM White Paper, 2015 [3] ⾼⽊浩光、「インターネットバンキング不正送⾦被害の根本的対策と監督当局の関わり⽅」、⾦融庁⾦曜ランチョン、2014年9⽉19⽇ https://staff.aist.go.jp/takagi.hiromitsu/paper/fsa‐20140919‐takagi‐handout.pdf 15 留意点:認証フェーズにおいて「⽣体認証でのなりすまし」に注意すること。 − 攻撃経路: 取得したデバイスのロッ クを攻撃者が解除 (⼿⼝:⽣体認証でのな りすまし) 取得デバイス で、攻撃者が、 ⾃らの⼝座へ の振込指⽰を 実施 認証フェーズにて⽣体情 報提⽰を求められた時に、 強制的に取引を続⾏ (⼿⼝:⽣体認証でのな りすまし) − クライアント側における⽣体認証でのなりすましの検知精度の問題 − FIDO AllianceによるAuthenticatorの認定はセキュリティ評価指標(FAR、APCER等)の評価認定 ではないことに留意すること。 ⾦融機関における具体的な対応例 − Authenticatorのセキュリティ評価指標(FAR, APCER等)がコモンクライテリア認証等、第三者 によって評価されたものか調査しておくこと。 この後の「講演2」も参照 − ユーザの意図せざる取引も想定し、振込先情報・振込時刻等を利⽤した振込操作の「異常検 知技術」と併⽤すること。 この後の「講演4」も参照 リスク値の算出に利⽤出来る情報の例(FIDO Metadataサービスを使って⼊⼿可能な情報) ① Authenticator毎のセキュリティ評価指標(FAR等)…ただしベンダの⾃⼰評価値 ②デバイスでTrusted User Interfaceが使⽤可か否か ③デバイスでTEEやSecure Elementが使⽤可か否か 16 FIDOを活⽤する動きが今後、⾦融機関やFinTech企業において活発化する可能性 がある。 FIDOを利⽤したインターネット・バンキング(認証フェーズ)では、フィッシ ングやマルウエア(⾮root権限)による不正送⾦に対して⼀定の耐性を有して いる。 ただし、以下の脅威にかかるリスクは存在する。 − 登録フェーズでの脅威:フィッシング、マルウエアによるレガシー認証情報盗取 − 認証フェーズでの脅威:マルウエア(root権限)、⽣体認証なりすまし 正しい使い⽅をしていれば、デバイス(スマートフォン)がマルウエア(root権限) に感染する可能性は低いと考えられる。 当該リスクへの対応は、インターネット・バンキングのサービス内容に応じて 検討する必要がある。 ユーザが⾼リスクサービス(例:新規振込先への送⾦)を利⽤する場合には、振込 限度額を設定することも⼀案。 インターネット・バンキングの不正送⾦⼿⼝は⽇々進化している。FIDOも ver2.0策定の動きがある。このような状況の変化をフォローしつつ、インター ネット・バンキングの将来像を検討することが重要。 17
© Copyright 2024 ExpyDoc