3 認証技術の標準化動向
3.6. バイオメトリクス認証
3.6.2 互換性確保のための標準
3.6.2.1 インターフェース
本節では、バイオメトリクス認証に関連したインターフェースの標準化動向 を紹介する。インターフェースを標準化することで、アプリケーションの仕組 みを変えることなく異なるバイオメトリクス技術を導入できる。データフォー マットを統一化することにより、照合エンジンは決められたフィールドのデー タを読み出して、自分自身がサポートしているデータ形式かどうかを判断する ことができる。異なる認証技術間における相互運用性(interoperability)を確保 する上でインターフェースとデータフォーマットの標準化は重要な役割を持っ ている。ここではアプリケーションプログラムインターフェース(API)として BioAPIとJava Card Biometrics APIを、ICカードのコマンドインターフェ ースとしてISO/IEC 7816-11を紹介する。
(a) BioAPI 概要
BioAPI[55] は、バイオメトリクス認証における認証技術部分とアプリケー
ションの間のインターフェースであるAPI (Application Program Interface)を 規定したものである。1998年4月、それまで認証アルゴリズムベンダーがそ れぞれ独自で策定していたAPI仕様を統一化することを目的として、BioAPI Consortiumが発足した。
BioAPI Consortiumは2000年3月に BioAPIバージョン1.0を発表し、2001 年3月にはバージョン1.1とMicrosoft Windows上で動作するリファレンス実 装をリリースした。BioAPI バージョン1.1はその後2002年2月に米国標準 規格ANSI/INCITS 358-2002となった。BioAPIはプラットフォームに依存し ないことを意識した仕様であり、現在、ISO/IEC JTC 1 SC37SG2で国際標準 化の動きがある。現在はUNIXとLinux上で動作するリファレンス実装が開発 されている。
関連する仕様 BioAPIはいくつかのベンダー独自仕様を統合して発展した。
米I/O Software社のBAPI(Biometric API)は1998年12月に、米国防総省(DoD、 Department of Defense)が出資したHA-API (Human Authentication API)は 1999年3月にそれぞれBioAPIに統合された。BioAPI Consortiumには90社 余りが加盟しているが、米Microsoft社は当初メンバーだったものの現在は非
加盟である。BioAPIバージョン1.0が発表された直後の2000年5月、Microsoft 社はI/O Software社と提携してBAPIを次世代のWindows XPに実装すると 発表した。その後同社からバイオメトリクスに関する新たな発表はないが、強 い影響力を持つ同社のオペレーティングシステム製品にどのような機能が実装 されるかが注目されている。
アーキテクチャ BioAPIでは、認証技術を提供するモジュール(いわゆる認 証エンジン)のことをBSP (Biometric Service Provider)と呼ぶ。BioAPIは層 構造を持ち、アプリケーションは直接BSPにアクセスするのではなく、BioAPI フレームワークというBSPの管理を行う層にアクセスする(図 3-43)。BioAPI
では、BioAPIフレームワークとアプリケーションのインターフェースである
「アプリケーションレベルAPI」と、BSPとBioAPIフレームワークのインタ ーフェースである「SPI (Service Provider Interface)」を規定している。また、
BioAPIはクライアントサーバーモデルに対応し、クライアント側、サーバー
側のいずれで照合処理を行う場合もサポートしている。
BioAPI フレームワーク アプリケーションレベルAPI
BSP SPI
BSP SPI
BSP SPI アプリケーション
デバイス
デバイス デバイス
図 3‑ 43 Bi oAPI の構造
データ構造 BioAPIでは、バイオメトリクスデータのことをBIR
(Biometric Identification Record)と呼ぶ。BIRは16バイトのヘッダーの後に バイオメトリクスデータ部分が続き、最後にオプションで署名データをつける ことができる(図 3-45)。BioAPI形式のBIRは、CBEFFのパトロンフォーマ ットBとして規定されている。
ヘッダー
(16バイト) バイオメトリクスデータ 署名
図 3‑ 45 Bi oAPI BI R( バイオメトリクスデータ) の構造
準拠 2003年2月現在、BioAPIに準拠したBSPは9製品、アプリケーシ ョンは2製品あるが、準拠とする基準が仕様に規定されてはいるものの認定機 関などはなく、各社の主張に基づく準拠となっている。
準拠製品の増加に伴い適合性試験が望まれるが、ISO/IEC JTC 1 SC37 SG5 において検討が行われる見込みである。
(b) Java Card Biometric API
Java Card Biometric API[56] [57] は、Java Card 技術が動作するICカー ドにおけるバイオメトリクス認証技術部分とJavaアプレットの間のインター フェースを規定したものである。Java Card ForumのBiometrics Task Force とNIST (National Institute of Standard and Technology)のBiometric Consortiumワーキンググループが制定作業を行い、2002年7月にバージョン 1.0が、同年8月にバージョン1.1がリリースされた。
ICカードは、バイオメトリクス情報を外部に露出することなく保存や認証を 行えるデバイスである。Java Card Biometric APIは、(1)オンカードマッチン グ(MOC、Match-On-Card)、(2)複数バイオメトリクス技術のサポート、
(3)Global Platformの尊重、(4)CBEFFの推進、(5)コンパクト、などを要件と して制定された。3種のインターフェースと2種のクラス、それぞれのメソッ ドは10個以下と必要最小限の仕様となっている。
典型的なバイオメトリクスアプリケーションはマネージャーアプレットとク ライアントアプレットからなり、マネージャーアプレットはバイオメトリクス 情報の管理を行い、クライアントアプレットは認証リクエストの発行を行う。
それぞれがこのAPIを介して認証技術アルゴリズムに対して認証やデータ管 理のリクエストを発行する(図 3-37)。
図 3‑ 37 J ava Car d Bi omet r i c s API の関連図[ 57]
BioAPIはPCなどのプラットフォームでバイオメトリクス技術を使うため
の一般的なC言語インターフェースであるのに対して、Java Card Biometric APIはJava CardにおけるJavaのクラス形式として定義されたものである。
またJava Card Biometric APIはデータの形式については特に規定していない。
Java Cardフォーラムは、Java Card Biometric API をANSI/INCITS標準 にすることを目指して、INCITS/M1へ仕様を提出していく方向である。
また、BioAPIとJava Card Biometry APIに対しては、米ActivCard社か ら仕様拡張提案が出されている(M1/03-0087[116] )。現行の上記2仕様の枠組 みでオンカードマッチングを実現しようとすると、バイオメトリクス認証技術 を提供するベンダー(BSPベンダー)が、自身のBSPの内部にICカードのミド ルウェアを組み込まなくてはならない。M1/03-0087提案は、ホスト上で動作 するオンカードマッチングBSP (BSP for MOC)とICカード上で動作するオン カードマッチングライブラリ(MOC Library)の2つをBSPベンダーが提供し、
ICカードのミドルウェアベンダーが別途提供するバイオメトリクスアプレッ トと組み合わせてシステムを構築するための拡張提案である。
関数の形は変えないで引数の定義値の追加で対処するなど、既存の仕様に対 する変更点ができるだけ少なくなるよう考慮されている。
(c) ISO/IEC7816-11 概要
ISO/IEC7816-11「情報技術−識別カード−外部端子付きICカード−第11 部 バイオメトリクス手法を用いた個人認証」は現在審議中の規格であり、IC カードへバイオメトリクス情報を格納したり、ICカード上のCPUで認証処理 を行ったりする場合のカード外部とのインターフェースを規定するものである [60] 。ISO/IEC JTC1/SC17/WG4で審議が進められ、現在は2002年7月に委 員会最終ドラフト(FCD)が発行された状態となっている。
ISO/IEC 7816-11はISO/IEC 7816-4 (共通コマンド)とISO/IEC 7816-8 (セ キュリティコマンド)の細部規定であり、バイオメトリクス認証時に使用する共 通コマンドを指定し、データ構造を定義している。ISO/IEC 7816-11ではバイ オメトリクス認証を静的な認証と動的な認証に分類し、指紋や顔などユーザー が一方的にデータを提示するものを静的な認証、署名や音声などユーザーの動 的な行動を必要とするものを動的な認証と定義している。すなわち、静的な認 証は身体的特徴によるバイオメトリクスに、動的な認証は行動的特徴によるバ イオメトリクスに対応する。静的な認証の場合にはVERIFYコマンドを使い、
動的な認証の場合にはGET CHALLENGE及びEXTERNAL
AUTHENTICATE(いずれもISO/IEC 7816-4で規定)を使うとしている。認証 時のデータ伝送についてはISO/IEC 7816-4で規定されるセキュアメッセージ ングを使うよう定めている。また、データの暗号化アルゴリズムはISO/IEC
7816-8に規定されるセキュア環境コマンドを使うように定めている。さらに複
数のバイオメトリクス技術を使う場合にはISO/IEC 7816-8で規定されるコマ ンドチェーンを使用することができるとしている。ISO/IEC 7816-11はカード 上で認証処理を行う場合及びカードの外部で認証を行う場合の双方をサポート したものとなっている。
ISO/IEC 7816-11ではデータ形式としてバイオメトリクス情報テンプレート
(BIT)とバイオメトリクスデータ(バイオメトリクス参照データ、バイオメトリ
クス認証データ)の形式を規定している。バイオメトリクス情報テンプレートは バイオメトリクスデータに関連する制御情報であり、バイオメトリクス参照デ ータは登録されているバイオメトリクス情報、バイオメトリクス認証データは 認証のために入力されたバイオメトリクス情報である。バイオメトリクスデー タはBER-TLV (Basic Encoding Rule Tag-Length-Value)形式でコーディング され、標準部分と専用部分を持つことができる。標準部分は互換性のために使 われるが、性能を向上させるために専用部分のデータも使うことができるとし ている。
ISO/IEC 7816-11には、バイオメトリクスデータの有効・無効などを示す認
証要件情報のフォーマットも規定されている。