Edited at

iOSのFIDO対応についての考察


はじめに

FIDOは2019年に入り、AndroidやWindowsで対応が進む一方iOSやmacOSはそのような話は出てきていなかった。しかし、WWDC2019にてSafariのFIDO対応が発表された。今後のiOSやmacOSでのFIDOの対応について考察をしてみる。


FIDOとは


  • Fast IDentity Online(素早いオンライン認証)の略語

  • 従来のパスワード認証に変わる、生態認証ベースの認証技術

  • 簡単に説明すると、鍵の作成とサービスへの鍵の登録というフェーズで構成される

  • 「鍵」は厳密にはPKIの秘密鍵であり、登録は公開鍵を登録する


FIDOの何が嬉しいのか?


メリット


  • パスワードを介在しないので、パスワード管理から開放される

  • パスワードを介在しないので、総当たり攻撃のリスクが無い


デメリット


  • 秘密鍵を作成したデバイスを紛失したらログインできなくなる

  • 1ユーザが複数デバイスを使ってログインしたい場合、その分だけ公開鍵の登録が必要になる


FIDOの全体像


FIDO


  • UAF :パスワードの代わりに生体認証を使う方式(モバイルアプリ向け)

  • U2F :PINと生体認証を組み合わせる方式


FIDO2


  • WebAuthn :JavaScriptによりWebブラウザから生体認証を呼びだす仕組み

  • CTAP  :生体認証が無いデバイスが、生体認証を持つデバイスを利用するためのデバイス間プロトコル


それぞれの方式の評価

方式
PIN入力
外部デバイスによる生体認証
サービスへのアクセス方法

UAF
不要
NG
専用アプリ

U2F
必要
OK
Webブラウザ

WebAuthn
不要
NG
Webブラウザ

WebAuthn + CTAP
不要
OK
Webブラウザ


ブラウザの対応状況

IBMの調査によると各種ブラウザの2019/5/22時点の対応状況は以下の通り

ブラウザ
U2F
WebAuthn
CTAP

Chrome Desktop
対応済
対応済
対応済

Chrome Android
対応済
対応済
対応済

Firefox
開発中
対応済
対応済

Edge
未対応
対応済
対応済

Safari macOS
未対応
開発中
開発中

Safari iOS
未対応
未対応
未対応


WWDC2019での対応公表

WWDC2019のセッションWhats new in AuthenticationにてmacOS10.15のSafariでFIDOに対応することを公表した。


yubicoのiOSサポート開始発表

2019年7月に入りセキュリティキー大手のyubicoがiOSのサポートを開始したと発表

2019年9月12日にiOS13よりNFCタグへの情報書き込みができるようになったため、YubikeyのNFC機能がiOSでも使えるようになるとYubicoが発表した。

YubikeyがiOSで使えるようになったとしてもWebAuthnで使えないとあまり旨みがないのではというところではあるが、確認したところiOS13でもSafariとChromeではWebAuthnには対応していない様子。

唯一BraveブラウザというものだけWebauthnに対応しており、iOSデバイスでもWebAuthnが動作することを確認した。

※ただし現状ではライトニング形式に対応したYubikeyを使うことになる

capture.JPG


iOSとmacOSの今後についての考察

macOS10.15でFIDOの対応が発表され、yubicoもiOSをサポートすることを発表したため、近い将来iOSでもU2FとWebAuthnが利用できるようになる可能性が高い。前述の通り、既にiOSでもブラウザは限定されるがWebAuthnの利用は可能。しかし、iOSでCTAPが使えるようになるのかは不明(デベロッパーのユースケースとしてはiPhoneを認証機器として使うという利用方法が多いはずなので早く対応して欲しいところ)