このページの本文へ

前へ 1 2 次へ

Apple Geeks 第159回

指紋認証「Touch ID」が拓く、これからのアプリとセキュリティ

2015年01月29日 07時00分更新

文● 海上忍(@u_shinobu

  • この記事をはてなブックマークに追加
  • 本文印刷

「Touch ID」のココに注目

 ユーザーにとってはホームボタンに指先を重ねるだけのTouch IDだが、その仕組みは巧妙で長期的な視野に立ったうえで構築されている。

 なぜiPhone 5sでサポートされiPhone 5cではサポートされないかだが、それは搭載されたSoCにある。iPhone 5sは「A7」、iPhone 5cは「A6」だからだ。A7のアーキテクチャは64bit、A6のアーキテクチャは32bitという点に注目が集まりがちだが、現在のところA7にのみ実装されている「Secure Enclave」というセキュリティ機構が重要なのだ。

Touch IDには、A7以降のSoCに実装される「Secure Enclave」が必須だ

 Secure Enclaveは一種のコプロセッサであり、その名のとおりTouch IDにとっての"安全な飛び地"として機能する。センサーで読み取られた指紋データは、Secure Enclaveの暗号化されたメモリー領域へ転送され、アプリケーションプロセッサ(CPUとしての汎用的な部分)からは完全に切り離されるのだ。

 その暗号化された指紋データは固有のIDによりセットされ、センサーとSecure Enclaveが持つ共有鍵で生成したセッションキーでなければ解読できない。指紋データはメモリー領域に保存されるため永続せず、iOSデバイスが再起動されれば失われることはもちろん、48時間経過するか認証に5回失敗すれば破棄される。

 SoCにアプリケーションプロセッサと完全分離したうえで認証機構が実装されていることだけ見ても、Touch IDに対するAppleの力の入れようがわかる。

 そのように堅牢なTouch IDの構造だが、アプリへの実装はそれほど難易度が高くない。Xcodeでプロジェクトを作成し、Local Authenticationフレームワークを追加、LAContextクラスのインスタンスを生成する程度で認証ダイアログを作成できてしまう。興味があれば、iOS Developer Libraryのサンプルコードを参照してほしい(関連リンク)。

 もっとも、Touch IDの本格的な普及はもう少し先のことになりそう。前述したとおり、A7以降のSoCに実装される「Secure Enclave」が必須であり、旧型のiOSデバイスは対象外となるためだ。iOSデバイスのライフサイクルからすると、Touch ID非対応のiPhone 5/iPhone 5cは当面現役のはずで、必須化は来年以降だろうか。先のことはわからないが、Touch IDが単なるギミックでないことは確かだろう。


前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII.jp RSS2.0 配信中