JP4433472B2 - 分散型認証処理 - Google Patents

分散型認証処理 Download PDF

Info

Publication number
JP4433472B2
JP4433472B2 JP2004530723A JP2004530723A JP4433472B2 JP 4433472 B2 JP4433472 B2 JP 4433472B2 JP 2004530723 A JP2004530723 A JP 2004530723A JP 2004530723 A JP2004530723 A JP 2004530723A JP 4433472 B2 JP4433472 B2 JP 4433472B2
Authority
JP
Japan
Prior art keywords
processor
user
client
authentication
biometric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004530723A
Other languages
English (en)
Other versions
JP2005535989A (ja
Inventor
チェン,タイ,パング
ヤウ,ウェイ,ユン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanyang Technological University
Original Assignee
Nanyang Technological University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanyang Technological University filed Critical Nanyang Technological University
Publication of JP2005535989A publication Critical patent/JP2005535989A/ja
Application granted granted Critical
Publication of JP4433472B2 publication Critical patent/JP4433472B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/22Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
    • G07C9/25Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder using biometric data, e.g. fingerprints, iris scans or voice recognition
    • G07C9/257Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder using biometric data, e.g. fingerprints, iris scans or voice recognition electronically

Description

電子取引若しくは他の遠隔取引において、本物のユーザを識別することは、実際の接触がないため困難である。例えば、誰かがインターネット上で何かを購入しようとすると、大抵の場合クレジットカード番号が要求されるが、認証用カードを物理的に提示することまでは要しない。しかしながら、そのような番号はハッカーによって相当容易に入手可能である。また多数の偽造クレジットカードが出回っていることはいうまでもない。銀行カードは、ユーザの身元を認証するためにPIN(Personal Identification Number)番号を必要とする。しかしながら、多くの状況において、PIN番号は容易に入手可能である。それは、ユーザがPIN番号をカード自体やカードにまつわる場所に書き込んだり、あるいは不正手段によってPIN番号が入手されたりするからである。また複数の銀行口座を持っている顧客もおり、そのような場合、日常使用する各種PINやパスワードに加えて種々のPIN番号全てを覚えていることは困難である。mコマース(モバイルコマース)又はeコマース(電子商取引)において最も重大な問題は、複雑で煩わしい認証機構に頼ることなく、如何にして「本物の」顧客を識別するかということにある。バイオメトリクスは、この問題を解決する最適な方法の一つである。
スマートカードは、小型、携帯性、機密処理プラットフォームを含む点などから、今日のeコマーストランザクション(電子商取引)にとって一般的になってきている。スマートカードを使用する従来方法は、カード上でユーザのPIN番号を格納及び認証しているだけであった。例えば、GSM携帯電話で使用されるスマートカードの一種であるSIM(Subscriber Identity Module)カードは、ユーザのPIN番号や移動局へのアクセスセキュリティコードを格納するために使用される。この場合もやはりPIN番号の認証が行われる。
PIN番号の代わりに、あるいはPIN番号に加えて、ユーザのバイオメトリクスデータを使用して認証を行うバイオメトリクス認証を処理するには、スマートカード技術を使用することが望ましい。スマートカードを使用する際の問題は、その処理能力とカード上の使用可能メモリが制限されている点にある。そのことにより、バイオメトリクスデータを使用する認証技術は往々にして拡張処理能力を必要とする。USB(Universal Serial Bus)トークン、非接触カード、マルチメディアカード、メモリスティック、セキュアプロセッサチップ及びスマートウォッチを含む携帯可能な機密処理及びデータ格納用プラットフォーム全般において、同様の状況に直面する。
特許文献1には、多数の認証確認ゾーンを有するスマートカードが記載されている。これらゾーンはカウンタ及び証明書によって形成され、バイオメトリクステンプレートには関与していない。
特許文献2には、金融取引システム用のスマートカードが記載されている。このスマートカードに格納されている記録情報へのアクセスは、3レベル以上の階層に分割される。このシステムは、認証用にバイオメトリクス及びPINを組み込むことが可能であるが、これらはスマートカードリーダレベルで実行されている。
特許文献3には、スマートカード用に複数のインタラクションコンテクストを有するコヒーレントデータ構造の発明が記載されている。ここで紹介された技術は、スマートカード内での独立された実行環境において好適であり、リソースを共有すると共に、多数のアプリケーションに共有されたデータに複数のアクセス条件を定義する方法が紹介されている。しかしながら、スマートカードの処理能力によりこの操作は制限され、外部の追加リソースを得ることもしていない。
特許文献4には、端末に接続されたスマートカードが記載され、この端末はホストコンピュータ及び/又はネットワークに接続されている。スマートカードは端末と通信を開始するよう構成され、そのことによりスマートカードは端末、ホストコンピュータ又はネットワークを制御できるようになり、端末、ホストコンピュータ又はネットワークに接続されたリソースにアクセスできるようになる。通信プロトコルは、スマートカードが送ることのできるコマンドを定義し、非同期又は論理的非同期通信による通信をスマートカードに許可する。通信速度が遅いので、多数のコマンドを含む計算集約的タスクを実行するにはこの方法は不適当である。
特許文献5には、クレジットカードの形状を持つスマートカードを使用して指紋インプリントをライブスキャン装置へ送る指紋認証方法が記載されている。スマートカードは、主に指紋を格納するために使用されており、その処理側面については殆ど記載されていない。
特許文献6には、スマートカードを使用してインターネット端末においてユーザセッションを開始する方法及びシステムが記載されている。インターネット端末は、サーバシステムに連結している。インターネット端末は、固有のスマートカード識別子を格納しているスマートカードの存在を検知し、この識別子を使用してサーバの特定ユーザに関連する構成情報を検出或いは検索する。構成情報は、例えば、インターネット端末によって提示されるオンスクリーンキーボードの種類、テキストを表示するためインターネット端末によって使用されるフォント、BGMオプション、電子メールオプションなどインターネット端末の動作をカスタマイズする、定義された顧客環境又は顧客嗜好を含んでいる。スマートカードセキュリティや身元認証には関与していない。
特許文献7には、ネットワーク上でユーザを認証する方法及び装置が記載されている。このネットワークは、クライアントコンピュータ及びサーバコンピュータを備えており、このクライアントコンピュータはスマートカード及びスマートカードリーダを備えている。クライアントは、サーバに格納された制限情報にアクセスする要求をサーバへ送る。サーバは、スマートカードインタフェースモジュールをクライアントへ送る。サーバは、スマートカードにアクセスするユーザからのアクセスコードを要求する。サーバがアクセスコードを受け取ると、サーバはプログラム及びアクセスコードを使用して、スマートカードに格納されたユーザ情報にアクセスする。サーバは、ユーザ情報を、サーバだけが使用可能でクライアントが使用不能な認証情報と比較する。ユーザ情報が認証情報と合致すると、サーバは、クライアントが制限情報にアクセスすることを許可する。アクセスコードは、バイオメトリクスの一部でもなく、バイオメトリクス情報を処理することも含んでいない。
米国特許第5,767,504号明細書 米国特許第6,012,049号明細書 米国特許第6,052,690号明細書 米国特許第6,157,966号明細書 米国特許第6,182,892号明細書 米国特許第6,199,114号明細書 米国特許第6,226,744号明細書
本発明の一態様における目的は、バイオメトリクスを使用し、更に、スマートカードのようなユーザ提示装置における処理によって身元認証の安全度を高めることにある。
本発明の他の一態様における目的は、バイオメトリクス認証を行うスマートカードの小さな処理能力に伴う問題を解消することにある。
本発明の更に他の一態様における目的は、使用する個々のプロセッサの処理能力を有効に活用するよう、複数のプロセッサにおけるタスク分散処理技術を提示することにある。
本発明の一態様によれば、秘密部分と公開部分とに分けられるバイオメトリクス識別テンプレートを格納するユーザ提示装置上の認証装置に提示されるユーザのバイオメトリクス・パラメータにより該ユーザを認証する方法であって、前記認証装置に提示される前記ユーザのバイオメトリクス・パラメータから得られるデータをクライアント端末へ送る工程と、ユーザ提示装置から前記クライアント端末へ、前記ユーザ提示装置に保持される前記バイオメトリクス識別テンプレートの公開部分のみを送る工程と、
前記クライアント端末において、前記データと前記公開部分との間で身元認証処理の第一ステージを実行し、前記身元認証処理の結果を前記ユーザ提示装置へ送る工程と、前記ユーザ提示装置において、前記結果を使用して前記身元認証処理を完了する第二ステージを実行し、該実行に基づく認証結果を発行する工程とを備える方法が提示される。
第一ステージの結果は、直接又は認証装置を介して、ユーザ提示装置へ送られる。
本発明の他の一態様は、ユーザのバイオメトリクス・パラメータによって該ユーザを認証するシステムであって、当該システムは、秘密部分と公開部分とに分割されるバイオメトリクス識別テンプレートが格納されるユーザ提示装置であって、前記公開部分のみが該ユーザ提示手段外部へ送信可能なユーザ提示装置と、ユーザから得られるバイオメトリクスデータを読取可能であって、前記ユーザ提示装置及びクライアント端末と通信する手段を備える認証装置と、前記ユーザ提示装置に保持された前記バイオメトリクス識別テンプレートの前記公開部分と前記ユーザから得られるバイオメトリクスデータとを受け取るよう構成されたクライアント端末であって、前記データと前記部分との間で身元認証処理の第一ステージを実行し、該身元認証処理の結果を前記ユーザ提示装置へ送信可能なクライアントプロセッサを備えるクライアント端末とを備え、前記ユーザ提示装置は、前記結果を使用して前記身元認証処理を完了し、該身元認証処理の完了に基づく認証結果を発行する第二ステージを実行可能なデバイスプロセッサを備えるシステムを提供する。
認証装置及びユーザ提示装置は、物理的に分離した装置としてもよいし、物理的に単一の装置としてもよい。物理的な単一の装置である場合には、ユーザ提示装置のみが高セキュリティ処理可能な単一装置における処理部分又は内部特別部分であり、認証装置を形成する一般的処理装置とは分離されている。例えば、ASICチップとすることができるが、その場合、ユーザ提示装置がセキュアプロセッサモジュールであり、チップの残りの部分が認証装置である。
認証装置が十分な処理リソース及びメモリリソースを有していれば、クライアント端末及び認証装置もまた別々の装置であってもよいし、物理的に単一の装置であってもよい。後者の場合、クライアント端末と認証装置とは区別されない。
本発明の他の一態様は、認証装置に提示されるユーザのバイオメトリクス・パラメータにより該ユーザを登録する方法であって、前記認証装置において前記ユーザのバイオメトリクス・パラメータから得られるデータを、認証されたクライアント端末へ送る工程と、前記認証されたクライアント端末において、算出されるバイオメトリクス識別テンプレートを、秘密部分と公開部分とに分割する工程と、前記認証されたクライアント端末からユーザ提示装置へ、バイオメトリクス識別テンプレートの前記公開部分と前記秘密部分との両方を送る工程と、前記公開部分と前記秘密部分とからなる前記バイオメトリクス識別テンプレートを、前記秘密部分が前記ユーザ提示装置内でのみアクセス可能であり且つ外部からはアクセス不能な状態で、前記ユーザ提示装置に格納する工程とを備える方法を提供する。
ここで説明する具体的なバイオメトリクス・パラメータは指紋であるが、本発明は任意の好適なバイオメトリクス・パラメータにも適用可能であることは当然である。加えて、ここで説明する具体的ユーザ提示装置はスマートカードであるが、本発明が任意の一般的な携帯型機密処理データ格納プラットフォームに適用可能であることは当然である。
本発明の他の一態様は、第一及び第二プロセッサを使用して演算を実行する方法であって、複数のプロセス名称を関連するプロセス識別子と共に含み、前記プロセス識別子夫々がプロセスロケータに関連付けられた第一のタスク表を第一プロセッサに格納する工程と、前記複数のプロセス名称及び前記プロセス識別子を含む第二のタスク表を第二プロセッサに格納する工程と、実行すべきプロセスを前記第二プロセッサにおいて特定し、前記プロセスを実行する前記第一プロセッサへ要求を発行する工程と、前記プロセスロケータを使用して前記プロセスを検出し、前記第一プロセッサで前記プロセスを実行して結果を生成する工程と、前記結果を前記第二プロセッサへ返す工程とを備える方法を提供する。
本発明の他の一態様は、複数のプロセス名称及び夫々が一のプロセスロケータに関連付けられた複数のプロセス識別子を含む第一のタスク表を格納する第一プロセッサと、前記プロセス名称を関連するプロセス識別子と共に含む第二のタスク表を格納する第二プロセッサとを備えてなり、前記第二プロセッサは、実行すべきプロセスを特定し且つ前記プロセスを実行する前記第一プロセッサへ要求を発行する分散オブジェクト実行マネージャを含み、前記第一プロセッサは、前記第一プロセッサにおける前記プロセスの実行を制御するクライアント分散オブジェクト実行マネージャを含み、前記第一プロセッサにおいて実行される前記プロセスの実行結果が前記第二プロセッサへ返信される処理システムを提供する。
本発明は、第二プロセッサが第一プロセッサに比べ処理能力がかなり小さい場合や、第二プロセッサが他のアプリケーションの用途で第二プロセッサ自身の処理能力を使用しており且つ第一プロセッサが安全で信頼できる場合に有用である。
本発明の上記態様を具体的に適用すると、指紋認証処理をクライアント端末とスマートカードとに分散させることができる。
このように、以下に説明する本発明の実施形態は、バイオメトリクス認証を行うスマートカード技術における処理能力の制限に伴う問題を解消する。現在、スマートカードは、制限を有するRAM(2kバイト未満)、EEPROM(64kバイト未満)及び処理能力を有している。指紋照合処理の一部に関連する複雑な計算を行うためのコプロセッサとしてPCを使用することによって、スマートカードに格納されたバイオメトリクス・パラメータを使用する認証が可能になる。以下、電子商取引(eコマーストランザクション)又はモバイル商取引(mコマーストランザクション)を保護するセキュアな認証プロトコルについて説明する。全スキームは、セキュアな認証トランザクションを実行する任意の携帯可能な計算装置に適用可能である。
上記実施形態においては、スマートカードに格納された完全な指紋テンプレート(又は他のバイオメトリクステンプレート)がスマートカードから送信されることがないので、システムのセキュリティは向上する。好適な実施形態において、ユーザの身元は、バイオメトリクス照合の結果を取り入れた固有PIN番号の形態で外部世界に伝達される。
特に、例として掲げる好適な実施形態の具体的説明において、以下の要素を更に詳細に説明する。
<プロトコル>
指紋テンプレートの一部をスマートカードからクライアント端末へ送る機密保護指紋照合プロトコルが開発された。このプロトコルによれば、個人の指紋テンプレートが漏洩するセキュリティ上のリスクともなり得るスマートカードからPCへのテンプレート全体の送信が不要となる。スマートカード内の指紋テンプレートは、秘密部分と公開部分とに分けられる。秘密部分はどのような状況でも常にスマートカード内に留められる。指紋テンプレートの公開部分のみがスマートカードからクライアント端末へ送信される。この送信されたテンプレートの公開部分だけからはスマートカードへのアクセス権を得る偽造テンプレートを作成することはできない。
また、トランザクションサーバへ進入し不正アクセスを試みようとする侵入者を排除する機密保護指紋スマートカード有効トランザクションプロトコルを説明する。全てのトランザクションがスマートカード上に格納された指紋有効トランザクションアプレットの実行を必要とするので、スマートカードは、トランザクション用の物理的キーとなる。
<負荷分担>
スマートカードのプロセッサとクライアント端末のプロセッサとで指紋認証処理を分担することによって、スマートカードへの負荷が軽減される。従って、高い認証精度でカード上の照合を行うために、処理能力の大きな高価なリソースを有するスマートカードを使用する必要がない。また、クライアント端末が信頼でき安全であることを保証することができ、指紋認証処理を実行するコードが安全であることを保証することができる。
<ユーザ識別番号>
使用の度に変更することができる固有ユーザ識別番号が提供される。ユーザはその識別番号を覚えておく必要がない。代わりに、発行会社のシステムとユーザのスマートカードのみが、ユーザ識別番号の写しを保存している。ユーザは、トランザクションへのアクセス権付与を決定するユーザ識別番号を合成するために、もう一つの個人識別番号やバイオメトリクスデータに依存している。
<分散型リモート実行マネージャプロトコル>
このプロトコルは、演算の並行処理を、第一及び第二プロセッサ、とりわけスマートカード及びクライアント端末に実行させることを可能にする。これにより、処理能力が小さいがゆえに、指紋照合のような計算集約技術をスマートカード上で実行するには時間がかかりすぎるというスマートカード又は他のモバイル装置に伴う問題が解消される。処理能力の大きなクライアント端末に負荷を分担させることによって処理速度が向上する。このプロトコルはスマートカード上のみならず、PDA(Personal Digital Assistants)を含む処理能力の小さな任意の装置において実行可能である。
本発明を更に理解し、本発明がどのように実施されるかを示すために、以下、添付の図面を例として参照しつつ説明を続ける。
以下に、モバイル型機密保護電子商取引の方式を説明する。図1は、一態様における各構成要素の繋がりを示している。この方式は、スマートカードリーダ1、ローカルクライアントコンピュータ2、ネットワーク接続4、セキュリティサーバ5及びトランザクションサーバコンピュータ6からなる。ここで処理方法の説明の前に、関連する要素及び使用する用語を全て定義しておく。スマートカードリーダ1は、スマートカード1aとローカルクライアントコンピュータ2との間の通信のためのハードウェアデバイスである。ローカルクライアントコンピュータ2は、処理を行う(プロセスを実行する)サーバ6にユーザが接続するために用いられる端末である。端末2としては、通信装置を組み入れたPC、PDA又は携帯型コンピュータを挙げることができる。ネットワーク接続4は、クライアント2とサーバ6との間の通信方法であり、例えばLAN(ローカルエリアネットワーク)又はWAN(広域ネットワーク)4を基調とした通信を提供する有線又は無線接続である接続リンク1を含んでいる。無線接続としては、GSM、IEEE802.11bに準拠する無線LAN、ブルートゥース又はIrDA赤外線データ通信規格いずれかを使用するものを挙げることができる。有線接続としては、イーサネット、RS-232C、IBMトークンリング等を挙げることができる。セキュリティサーバ5は、トランザクションサーバ6を侵入者から保護すると共に、ユーザのポートフォリオを管理する。トランザクションサーバ6は、実際の商取引全体を行うサーバである。トランザクションサーバ6の位置は、セキュリティサーバファイアウォール7によって保護されたセキュリティサーバ5の後方とするか、ローカルファイアウォール7及び8によって保護された独立のサーバ6とすることができる。どのようにしてファイアウォールを有効にするかについての詳細は後述する。スマートカードリーダ1は、例えば標準的なRS-232C又はUSB接続によりローカルクライアントコンピュータ2に接続される。この接続自体は、データ暗号化機能を持たない。スマートカード1a及びクライアントコンピュータ2が情報を秘密にするための暗号化を行う。本実施形態におけるスマートカード1aは、Javaバイトコードを実行しうるスマートカードの一種であるJavaカードからなる。図1Aでは、スマートカード1aは、以下の情報、即ち(a)ローカル照合アプレット、(b)クライアント照合アプレット、(c)セキュリティサーバのURL(Uniform Resource Locator)、(d)トランザクションアプレット及び(e)SACKを比較するセキュリティアプレットを格納するメモリ10を有している。
またメモリ10は、スマートカードの正規ユーザの指紋認証テンプレート11を保持している。またスマートカード1aは、スマートカード1a上でコードを実行するプロセッサ13を有している。
ローカル照合アプレット(a)は、スマートカード1a上で実行可能なJavaバイトコードのような、実行可能な小プログラムである。クライアント照合アプレット(b)は、クライアントコンピュータ2において実行可能なJavaバイトコードのような、別の実行可能な相補プログラムである。クライアント照合アプレット(b)は、スマートカードのメモリ10に格納することができる。しかしながら、メモリ制限のあるスマートカードにおいては、クライアント照合コードのサイズが大きすぎる場合がある。そこで、クライアント照合アプレット用のコードを得ることができるセキュリティサーバのURL(c)が採用される。URL(c)は、クライアントがインターネットにアクセスして、サーバと接続しコードをダウンロードする際に必要である。クライアントがどこでクライアント照合コードをダウンロードしようとも、クライアントはそのJavaバイトコードの完全性を常に確認すべきである。トランザクションアプレット(d)は、実際の商取引を実行する。このトランザクションアプレットを有効にする唯一の方法は、ローカル照合アプレットによるものである。後で更に詳細に説明するように、ユーザの指紋が有効であることをローカル照合アプレットが確認すると、該ローカル照合アプレットはセキュリティ有効コードをスマートカードの内部ファイアウォールへ送信し、トランザクションサーバ6に商取引を行わせる。トランザクションサーバ6が如何にして商取引を実行するかについての詳細は後述する。
指紋センサ3は、指紋画像を取り込み、それをクライアントコンピュータ2に送信する。クライアントコンピュータ2は、その画像を処理し、指紋テンプレートを作成する。指紋テンプレートは、指紋を個別に識別し得る指紋特徴の主要な情報を含んでいる。クライアント照合アプレット(b)及びローカル照合アプレット(a)は、センサ3からのテンプレートと、スマートカード1a上に格納されたテンプレート11とを比較する。この比較の結果、指紋センサ3から得られた指紋テンプレートとスマートカード1aに格納された指紋テンプレートとの一致の度合いを示す類似度が得られる。
リンク1は、LANやWAN4への有線又は無線接続である。LAN及びWAN4は、ファイアウォール7、8を介してサーバ5、6に接続している。セキュリティサーバ5及びトランザクションサーバ6は、同一サーバ装置として実現してもよく、あるいは異なる装置として実現してもよい。両サーバが同一装置として設置される場合、ファイアウォールは一つあれば足りる。両サーバが別個の装置として設置される場合、各サーバは各自のファイアウォールを備えるべきである。リンク4は、セキュリティサーバ5とトランザクションサーバ6との間の付随的ネットワーク接続である。両サーバがLAN4内の同一サブネット内にあり、信頼関係(trust relationship)が確立している場合、通信はLAN4を介した直接接続とすることができる。しかしながら、WAN4を介して情報が流れる場合は、情報漏洩や通信エラーを防止するために暗号化並びにエラー検出方式が必要となる。
クライアントコンピュータ2は、セキュリティサーバ5にアクセスし、身元認証に必要な全ての要素を入手する。クライアント照合アプレット(b)は、セキュリティサーバ又はスマートカード1aからクライアントコンピュータ2にダウンロードできる。クライアントコンピュータ2が、指紋の検出及び照合用の全要素を入手すると、ユーザは、以下の認証の組合せ、即ち(1)指紋のみ、(2)PIN(識別番号又はパスワード)のみ、(3)指紋+PIN、(4)他のバイオメトリクスのみ、(5)他のバイオメトリクス+指紋、又は(6)他のバイオメトリクス+指紋+PINを選択することができるようになる。
他のバイオメトリクスとしては、筆跡認証、顔認証、網膜スキャン、その他好適なバイオメトリクス識別要素を挙げることができる。トランザクションサーバ6は、トランザクションを実行するユーザのアクセス制限を調整するように、選択された組合せに基づいてコンフィデント・インデックス(Confident Index)を調整することができる。発行者は、バイオメトリクスの種類毎に正確度を割り当てることができる。次式は、指紋とPINとが使用される場合にコンフィデント・インデックスを使用して照合スコアを計算する例である。
CI=FM+PIN ・・・・・・(1)
CI:コンフィデント・インデックス
FM:指紋照合スコア(0-100)
:係数
PIN:PINスコア
PINスコアは、50(正当PIN)か0(不正PIN)である。Kが0.5であるとき、CIの範囲は、0から100となる。低セキュリティ用途の場合、スコアの境界は、50未満とすることができる。よって、システムにアクセスしうるユーザは、正当なPINか正当な指紋を有していることになる。高セキュリティ用途の場合、スコアの境界は、50を超える値にすることができる。この場合、ユーザは、トランザクションサーバ6にアクセスするためには、正当な指紋とPIN番号との両方を有していることが必要となる。
<登録>
ユーザがスマートカードを使用して認証を行えるようにする前に、ユーザはその指紋をスマートカードに登録しなければならない。図1は、トランザクション(取引)及び指紋認証を行うシステムを示している。登録はトランザクションを一切含まない。よって、トランザクションサーバへのリンク3は取り除いてもよい。スマートカードリーダ1、スマートカード1a、クライアントコンピュータ2及び指紋センサ3が登録に必要である。セキュリティサーバは新規ユーザの情報を記録しておく必要があるので、セキュリティサーバへの接続も同様に必要である。セキュアな登録のためには、認証されたクライアント端末2を使用する必要がある。ユーザは、指紋センサに指紋を提示する。センサは、バイオメトリクス・パラメータを取り込み、このパラメータをクライアント端末2に送信する。クライアント端末2は、秘密部分と公開部分との二つの部分からなる指紋テンプレートを作成する。クライアント端末2は、テンプレートの両部分をスマートカード1aにアップロードする。重要情報を含む秘密部分は、ユーザ提示装置に格納され、この部分はこの装置の外部へ送られることはない。重要度の低い情報を含む公開部分は、圧縮された形でスマートカード1aに格納される。クライアント端末2が公開部分と秘密部分とからなるテンプレートに関する処理を完了すると、該クライアント端末は、ユーザ情報をスマートカード1a及びセキュリティサーバ5両方にアップロードして記録する。
<スマートカード上における指紋照合プロトコル>
文献XD Jiang, WY Yau, “Fingerprint Minutiae Matching Based on the Local and Global Structures”, 15th International Conference on Pattern Recognition, Proc. ICPR 2000, Barcelona, Spain, Sept. 2000に開示された指紋照合アルゴリズムが、この方式において好適に使用される。このアルゴリズムは、二つのステージ、即ちローカルステージとグローバルステージとに分けられる。ローカルステージは、指紋特徴点のサブセット(小群)(前述の公開部分)を使用して、ユーザが提示した指紋の特徴点と、格納されたテンプレート11における特徴点との対応を確立する。十分な対応が確認されると、格納されたテンプレート11における特徴点のサブセットに対してユーザが提示した指紋の特徴点をマッピングする変換関数を計算する。この変換関数は、特徴点を使用して二つのテンプレートを整合させる。続いて、グローバル照合が行われ、問い合わせの指紋が登録されている指紋に類似している度合いを示す信頼度が算出される。このようなアルゴリズムは、当然、分散処理又はクライアント−サーバ間処理に好適である。前項で記載したように、指紋照合処理は、二つの側面に分類される。スマートカード1a側とクライアントコンピュータ2側である。この両側面が連携して照合処理を実行する。クライアントコンピュータ2は、全ての前処理パラメータを計算し、クライアントコンピュータ2側及びスマートカード1a側両方からのテンプレートを再整合させる。その後、クライアントコンピュータ2は、それらを、最終的な照合を行うスマートカード1aに送る。このような方法で指紋テンプレートを照合する理由は、以下の通りである。
(1)初めに登録されたテンプレート11は決して公開されず、特徴点のサブセットのみが公開されるため認証安全度が向上する。
(2)非常に制限されたスマートカード1aプロセッサの処理能力を増補するよう、クライアントコンピュータ2の処理能力を使用することにより照合速度が向上する。
(3)スマートカード1aに固有の高セキュリティ特性のため、ハッカーがソフトウェア的手法を用いて、スマートカード1a内の照合プログラムを見ることができない。
図2は、スマートカード1a上で照合を行うプロシージャを示している。矢印は全て、データが流れる方向を示している。以下の記載は、各矢印の説明である。
(A)クライアントコンピュータ2(PC)が、指紋センサ3から得られた指紋のテンプレートを算出する(ステップS1)。
(B)初期化後(ステップS2)、スマートカード1aは、特徴点の基本部分情報を送り(ステップS3)、PCが照合係数(暗号化情報)を計算する(ステップS4)。
(C)PCが、最大で9部位の特徴点の座標をスマートカード1aに要求する。これら特徴点を使用して、二つのテンプレートが同一座標空間に存在するようにそれらを並べる。
(D)スマートカード1aが、特徴点の暗号化座標(最大9個の特徴点)をPCに送る(ステップS5)。
(E)PCがテンプレートを並べ(ステップS6)、並べられた入力指紋テンプレート及び照合係数をスマートカード1aに送る。
(F)スマートカード1aは、テンプレート及び照合係数を受け取り、照合結果を計算し(ステップS7)、テンプレート照合の終了を知らせる認知信号をPCへ送る(ステップS8)。
リモート処理(即ちクライアント端末2における処理)は、二つの特徴点セットを整合させるためにのみ使用され、最大で9個の特徴点からなる完全な整合用特徴点情報すら持たず、実際のグローバル照合処理自体に影響を与えない。従って、この提唱された分散処理は、指紋照合の安全性を何ら犠牲にすることがない。
<指紋スマートカード有効型トランザクションプロトコル>
スマートカード1aは、照合結果の計算を終了すると、その事実を、クライアントコンピュータ2を介して肯定信号(ACK Signal)によってセキュリティサーバ5に通知し、該サーバ5に対しSACK(Security Access Check Key)を要求する。SACKを使用することによって、照合アプレット(a)は、スマートカード1a上でトランザクションアプレット(d)を始動させる。SACKコードは、タイムスタンプ付きのUIN(Unique Personal Identification Number)である。SACKキーの詳細は後述する。図3は、システムが如何にしてトランザクションを行うかについてのメッセージパスを示している。以下のシーケンスは、SACKを使用してトランザクションアプレット(d)を有効にする方法を示している。
(1.1)照合処理が完了したことを、照合アプレット(a)が、セキュリティサーバ5に通知する(パス15)。
(1.2)セキュリティサーバ5は、スマートカード1a上の照合アプレット(a)並びにトランザクションサーバ6にSACKキーを送る(パス12)。
(1.3)照合アプレット(a)がSACKを受け取ると(パス14)、照合スコアをSACKに付加する(以下の式2)。
(1.4)照合アプレット(a)が、トランザクションアプレット(d)にSACKを内部送信する(パス16)。
(1.5)トランザクションアプレット(d)が、SACKをデコードし、照合スコアを確認する。認証が成功すると(即ち、スコアがセキュリティ閾値より大きい場合)、アプレット(d)自体がトランザクション有効状態に切り替わり、そうでない場合(即ち、スコアがセキュリティ閾値より小さい場合)、トランザクションアプレット(d)自体が即座に無効となり、セキュリティ例外を扱うカードマネージャに通知する。
SACKMatching applet::UIN=SACKSecurity Server::UIN+照合スコア
・・・・・(2)
(記号::は、その要素であることを意味する。従って、SACKMatching applet::UINは、SACKMatching appletのUINフィールドであることを意味する。)
この時点までは、セキュリティサーバ5によって発行されるSACKキーを除いて、トランザクションアプレット(d)用のセキュリティ有効化のための手順全てが、スマートカード1aの中核の内部で行われる。外部のクライアントコンピュータ2は、照合処理の補助を行うのみである。最終的な照合結果、セキュリティ有効コード及びトランザクションアプレット(d)の始動は、スマートカード1a上で行われ、この情報はどれもクライアントコンピュータ2に送信されない。クライアントコンピュータ2の役割は、サーバとスマートカード1aとの間のまさに通信ブリッジであり、スマートカード1a用のコプロセッサである。最終的判断もやはり、スマートカード1a上の照合結果に依存している。手r順(1.5)におけるセキュリティアプレット(e)自体が無効となり、セキュリティ例外が生じると、アプレット(e)はセキュリティ例外を取り扱うカードマネージャに通知する。カードマネージャはセキュリティアプレット(e)に対する全てのトランザクションを無効にし、セキュリティ例外通知を出力することによってクライアントコンピュータ2に報告する。当然、クライアントコンピュータ2は、例外通知を処理する機能を有している。クライアントコンピュータ2はスマートカード1aから例外通知を受け取ると、そのようなエラーをユーザ並びにトランザクションサーバ6に報告するセキュリティ例外対処ルーチンを実行する。トランザクションサーバ6は、トランザクションを終了させ、管理者に報告し次の指示を待つ。
トランザクションアプレット(d)が有効になると、トランザクションサーバ6は商取引を実行する。例えば、ユーザがクレジットカード会社に100ドルを支払いたいとする。以下のプロシージャを使用して、商取引を実行することができる。トランザクション用に双方向通信チャネル(パス18)が確立される。
(2.1)クライアントコンピュータ2が、購入要求と取引額(100ドル)とをパス18を介してトランザクションサーバ6に送信する。またクライアントコンピュータ2は、取引額をスマートカード1aにも同様に送信する。
(2.2)トランザクションサーバ6は、新しいタイムスタンプ付きのSACKキーをスマートカード1aに送信する。
(2.3)スマートカード1aのトランザクションアプレット(d)が、SACKキーを比較し、タイムスタンプを確認する(一方は照合アプレットから、他方はトランザクションサーバ6からのものである)。
(2.4)両方のキーが同一であり、タイムスタンプがタイムリミット内である場合、アプレット(d)は、その値(100ドル)をスマートカード1aから差し引く。続いて、アプレット(d)はトランザクションサーバ6に、トランザクションが正常に完了したことを通知する。
(2.5)両方のキーが不正であるか、タイムスタンプがタイムリミットを外れている場合、トランザクションサーバアプレット(d)は、トランザクション失敗メッセージを送信する。トランザクションサーバ6は、トランザクションを中止し、即座に管理者に通知する。
(2.6)トランザクション(サーバ)が、トランザクション成功メッセージをスマートカード1aから受け取った場合、トランザクションサーバは、クレジットカード会社の口座に100ドルを預けるべく、クレジットカード会社と実際のトランザクション(取引)を行う。このとき、ユーザは、電子取引によってクレジット会社に100ドルを支払ったことになる。
プロシージャ(2.2)において、SACKキーは、実際、前述の如くセキュリティサーバ5からくるものである。唯一の違いは、そのSACKキーが、照合スコアを伴わない新しいタイムスタンプを有している点にある。プロシージャ(2.3)において、SACKキーを認証する方法は、SACK由来のUINフィールドを検証することによる。両方のキーがセキュリティサーバ5からきているので、それらは照合スコアを除いて同一のUINキーを有していることになる。よって、UINキーを認証する方法は、次式(3)が成り立つなら、次式(4)となる。
SACKMatching applet::UIN−SACKTransaction Server::UIN=照合スコア
・・・(3)
SACKTransaction Server::UIN=SACKSecurity Server::UIN
・・・(4)
スマートカード1a上のトランザクションアプレット(d)は、両方のキーの減算を行う。その結果は照合スコアとなる。そうならない場合は、いずれか一方又は両方のキーが不正ということになる。タイムスタンプフィールドは、ログイン時間又はトランザクション実行時間を示している。式5は、ログインとトランザクションとの間の時間差を算出するものである。
時間差=SACKTransaction Server::タイムスタンプ−SACKMatching Applet::タイムスタンプ
・・・(5)
ログインタイム(SACKMatching Applet::タイムスタンプ)とトランザクション時間(SACKTransaction Server::タイムスタンプ)との間の時間差が、タイムリミット(例えば5分)よりも長い場合、トランザクションアプレット(d)はトランザクションを中止し、エラーメッセージをトランザクションサーバ6に送り返す。この場合、トランザクションを続行するためにはユーザが再度ログインする必要がある。
<UIN及びSACK>
SACKはセキュリティアプレット(e)がトランザクションアプレット(d)を有効にするためのキーであるので、トランザクションアプレット(d)にトランザクションを実行させる唯一のキーである。このため、UINが同様に提唱される。
各人に対し、UINが割り当てられるが、そのUINを知ることも覚えておく必要もない。UINは無作為に作成される。またUINは、発行会社や使用するバイオメトリクスシステムを識別しうる番号を含んでいてもよい。加えて、例えば指紋のような各人のバイオメトリクスを獲得する。既に説明したように、各人は、既にそのようなサービスを登録した指紋認証システムに自分の指紋を提示することによって、指紋による身元認証を行うことができる。指紋認証システムは、その人物がシステムに登録された人物と同一であるか否かについての信頼度に対応した番号を生成する。換言すれば、指紋認証システムは、その人物が自分自身であると主張する人物であることの確実性の度合い、所謂照合スコアを作成する。この番号がUINに加えられ、その新たな番号はバイオメトリクス識別番号(BIN:biometric identification number)と称される。その人物が本人である可能性が100%であることに対応する最大可能照合スコア(AMS:achievable matching score)は、どのような番号でもよく、必ずしも100である必要はなく、10000であってもよい。同様に、最小照合スコア(IMS:minimum matching score)をシステムに割り当てることも可能である。セキュリティを向上させるため、タイムスタンプ及びランダムキーがSACKキーに加えられる。図4はSACKキーのフォーマットを図示しており、各フィールドは以下の通りである。
A1:スクランブル関数キー
A2:ランダムキー
A3:タイムスタンプ
A4:UIN
CS:チェック・サム
A1はスクランブル関数キーであるので、A1は暗号化されない。A1は、スクランブル関数(シフト、回転、定数加算等)を選択し、セキュリティ上の観点から後続のフィールド(A2−A4)をスクランブル化ために、どのビット又はバイトがどのデータタイプに関連しているかを選択するために使用される。A2及びA3は夫々、前項で説明したランダムキー及びタイムスタンプである。CSは、送信エラーを防止するためのキー全体のチェック・サムである。A4はUINである。
UINの一例を以下に挙げる。
UIN:2 345 678 988 011 009
最大照合スコア:10 000
最小照合スコア:2500
最大BIN:2 345 678 988 011 009 + 10 000 = 2 345 678 988 021 009
最小BIN:2 345 678 988 011 009 + 2500 = 2 345 678 988 013 509
ユーザはUINを知らないので、BINもまたユーザには知られることはない。同様に、ユーザはこの番号を覚えておく必要もない。UINは、それを発行するセキュリティサーバ5など、発行会社やユーザのコンピュータ記録媒体によって保管される。例えば、そのシステムを使用したいユーザは、そのサービスに登録することによって、指紋などのバイオメトリクスを獲得する。発行会社は、UIN及び指紋テンプレートをスマートカード1aに格納し、それをユーザに付与する。セキュリティ向上のため、システムを使用する毎にUINを変更することも可能である。毎回UINを変更するには、セキュリティサーバ5及びリモートクライアント装置(スマートカード1a又はクライアントコンピュータ2)は、UINの変更を管理するセキュリティアプレット(e)又はセキュリティプロセスを有していることが必要となる。サーバは新しく暗号化されたUINをリモートクライアント装置に送信する。クライアント装置は、UINを解読し、それを古いUINに追加する。メッセージの前半部分は、古いUINであり、後半部分は新しいUINである。トランザクションが完了すると、UINの前半部分が消去され、UINの後半部分が前半部分に移動して次のトランザクションに備えられる。以下の例はUINの作成方法及び使用方法を示している。
受信番号:2 345 678 988 011 009
現行UIN:23 456 789
次回UIN:88 011 009
最大照合スコア:10 000
最小照合スコア:2500
最大現行BIN:23 456 789 + 10 000 = 23 466 789
最小BIN:23 456 789 + 2500 = 23 459 289
次の工程における受信番号を8 801 100 977 123 456と仮定する。
現行UIN:88 011 009
次回UIN:77 123 456
新しい装置が設置された場合や新しいユーザのために、ヌル(null)UINのようなリセットコードを使用して、UINをリセットすることもできる。
リセットの際、UINはクライアント装置にもセキュリティサーバ5にも無視され、クライアント装置はセキュリティサーバ5により生成された新しいSACKに基づく新しいUINを使用する。
<バイオメトリクスを使用した識別プロシージャ>
ユーザがシステムにアクセスしようとするとき、以下のシーケンスが発生する。
(3.1)ユーザがスマートカードリーダ1にスマートカード1aを挿入する。
(3.2)クライアントコンピュータ2が、パスワード又はPINの入力を要求する。
(3.3.)ユーザがクライアントコンピュータ2にパスワード又はPINを入力する。
(3.4)クライアントコンピュータ2が指紋を要求する。
(3.5)ユーザがセンサ3上に指を置く。
(3.6)クライアントコンピュータ2が指紋を獲得し、指紋テンプレートを抽出する。
(3.7)クライアントコンピュータ2が、スマートカード1aにPIN及び指紋テンプレートを提供する。
(3.8)スマートカード1aは、その指紋を保存されているテンプレート11と照合する。
(3.9)照合アプレット(a)が、セキュリティサーバ5又はスマートカード1aからのUINを要求する。
(3.10)得られた照合スコアが正しい場合(即ち、得られた照合スコアがIMS(最小照合スコア)とAMS(最大照合スコア)との間にある場合)、得られた照合スコアをUINに加算して、バイオメトリクス識別番号(BIN)を得る。
例:得られた照合スコア=4500
BIN=2 345 678 988 011 009 + 4 500 = 2 345 678 988 015 509
(3.11)指紋が、IMSを下回るか、AMSを超える場合は、AMSより大きな無作為番号がUINに加算されてBINを得る。
例:得られた照合スコア=100
作成された無作為照合スコア=18 000
BIN=2 345 678 988 011 009 + 18 000 = 2 345 678 988 029 009
(3.12)スマートカード1aがPINとBINとを組合せ、それらを暗号化してクライアントコンピュータ2に送信し、それからクライアントコンピュータ2がトランザクションサーバ6にそれらを送信する。ユーザ名等の他の情報を、この送信メッセージに含ませてもよい。またトランザクションサーバ6は、SACKキーも算出する。
(3.13)トランザクションサーバ6は、PINを照合し、BINからUINを差し引いて照合スコア(MS)を得る。以下のような6通りの場合が想定される。
(a)PINが合致し、MSが可能スコア内である(IMS≦MS≦AMS)。
(b)PINは合致するが、MSが可能スコア外である。
(c)PINは合致しないが、MSは可能スコア内である。
(d)PINが合致せず、MSも可能スコア外である。
(e)PINが合致し、MS=0である。
(f)PINが合致せず、MS=0である。
(注:トランザクションアプレット(d)が有効にされない場合、それはスマートカード1a側からのログイン失敗を意味しており、トランザクションはここで停止する。)
(3.14)上記の結果に対応する判断がなされる。
例:上記(a)の場合、完全アクセスが許可される。
上記(b)の場合、制限付きアクセスが許可される(又はユーザが再度試みる)。
上記(c)の場合、制限付きアクセスが許可される(又はユーザが再度試みる)。
上記(d)の場合、スマートカード1aが保留される。
上記(e)の場合、スマートカードはパスワードにより保護されたクレジットカードとして取り扱われる。
上記(f)の場合、スマートカードは通常のクレジットカードとして取り扱われる。
(3.15)トランザクションサーバ6が、その判断をスマートカードに送信し、スマートカードはその判断に従って機能する。
UINに、例えば銀行コードなど、組織を識別する識別要素を含ませることも可能である。同様に、UINに、複数のバイオメトリクス・パラメータから得られる認証結果を取り込むことも可能であり、また使用するバイオメトリクスの種類やバイオメトリクスシステムのプロバイダなども併せて含ませることも可能である。代替手段として、このような番号を、暗号化されたメッセージにヘッダ又はフッタとして添付することも可能である。このような番号は暗号化する必要がない。
バイオメトリクスシステムに識別コードを組み合わせることは、以下の利点を有する。
1.スマートカードを発行する会社が、一つのバイオメトリクスシステムプロバイダに拘束される必要がない。発行会社によって特定されたプロトコルを満たすスマートカードであれば任意のものが使用可能である。
2.ユーザが自分に都合のよいバイオメトリクスを選択することができる。
3.発行会社は使用したバイオメトリクスの全履歴を保存しておく必要がなく、サーバ内でバイオメトリクス照合を実行する必要がない。上記の如く、BINによってバイオメトリクスシステムの組合せや照合が可能になる。
4.BINは今日使用されているPINシステムに類似しているので、発行会社は、現行のPINシステムを使用している現行のトランザクションサーバ6を容易にアップグレードして、バイオメトリクス特性を取り入れることができる。
またユーザ身元認証の最もセキュアな又は好適な方法を自動的に選択することも可能である。認証方式としては、使用するバイオメトリクスの種類又はパスワード等がある。各認証方式には、固有の番号、即ち認証装置識別番号が付与される。クライアントコンピュータ2は、全ての可能な認証方式を識別し、これら装置の識別番号を保存する。セキュリティサーバ5側では、これら認証方式各々の安全性や信頼度をサーバシステムが等級付けする。等級付けは、通常、ユーザの嗜好や選択に依存する。このような等級付けは、装置記識別番号が格納された項目表(エントリテーブル)を作成することによってなされる。項目表における最上位の項目は、最も信頼度の高いユーザ認証手段に対応しており、最下位の項目は、最も信頼度の低い手段である。身元認証が必要なとき、クライアントコンピュータ2は、使用可能な認証装置識別番号を提示することによって、使用可能な認証方式を提示する。続いてセキュリティサーバ5が、ユーザの身元認証に最も適切な手段をこれらの項目から選択する。
プロトコルは以下の通りである。
(4.1)セキュリティサーバ5は、会社に認容された認証形式の信頼度を等級付けする項目表を準備する。
(4.2)クライアントコンピュータ2が使用される際、使用可能な認証形式のインデックスがセキュリティサーバ5に送信される。
(4.3)セキュリティサーバ5は、使用する認証形式の種類を決定し、クライアントコンピュータ2に返信する。
(4.4)クライアントコンピュータ2は、コマンドを獲得し、ユーザを識別するために使用するよう要求された認証形式を実行する。
(4.5)続いて、セキュリティサーバ5は、クライアントコンピュータ2及びスマートカード1aによって集積され処理されたデータからの応答を照合し、ユーザの身元認証を行う。
<分散リモート実行マネージャプロトコル>
以上、クライアントコンピュータ2による補助を受けたスマートカード1a上における指紋照合プロトコルを説明してきた。ここで、スマートカード1aがクライアントコンピュータ2と並行してどのように関数を実行するかについての詳細を説明する。
従来のスマートカードは、限られたメモリ(RAM/EEPROM)、処理能力(8ビット/16ビット)及び速度(15MHz未満)などに例示されるように、リソースが制限されていた。またクライアントコンピュータ2からスマートカード1aへのデータ転送速度も遅い。以下に説明する分散リモート実行マネージャプロトコルは、分散処理によりデータ転送速度の遅さを解消するものである。このプロトコルは、上記リモート認証処理について説明されるが、処理能力が低く、通信リンクが低速な他の演算装置においても適用可能である。プロトコルを支持するアーキテクチャは、リモート実行を要求する複数のリモート装置あるいは要求されたプロセスを管理する複数のサーバに拡大することができる。
<分散処理アーキテクチャ>
図5は、マルチ処理ユニットを単純化したアーキテクチャを示している。
処理ユニット1(PU1)は処理ユニット2(PU2)よりも大きな処理能力を有しているものとする。PU1及びPU2は、夫々、クライアントコンピュータ及びリモート装置(スマートカード又はPDAのような処理能力の小さな装置)である。クライアントコンピュータPU1は、タスク処理を行う。リモート装置PU2は、クライアントコンピュータPU1に、タスク実行を要求する。各処理ユニットは、タスク詳細を記録したタスク表の写しを有している。図6は、タスク表の一例である。
タスク表において、第一欄は、オブジェクト名及びそれらの関数を含んでいる。第二欄は、オブジェクトID及び関数IDを含んでいる。これら名称はいずれもASCIIフォーマットである。オブジェクトIDは例えば32ビットの符号付き整数であり、関数IDは、例えば16ビットの符号付き整数である。EOTは、表の終了(End Of Table)を意味しており、例えば16ビットの符号付き整数とすることができる。EOTは、「−1」である。タスク表の第三欄及び第四欄は、クライアント側(PU1)専用である。リモート装置(PU2)には、第三欄及び第四欄はない。第三欄は、パラメータ表であり、パラメータのタイプ・キャスティングを記載している。第四欄は、関数又はオブジェクトの開始アドレスである関数/オブジェクト・エントリーポイントを記載している。タスク表内のオブジェクト数に制限はないが、プログラマーは、メモリのオーバーフロー例外を防止するため、リモート装置(PU2)のメモリサイズを意識するべきである。タスク表は、ID番号に対する関数名/オブジェクト名のマッピングである。リモート装置(PU2)において実行される分散型オブジェクト実行マネージャ(D−OEM:Distributed-Object Execution Manager)は、このタスク表を使用して、タスク(オブジェクト及び関数)を実行するクライアント側PU1のマネージャD−OEM(D−OEM_client)に通知する。クライアント側PU1のD−OEM_clientは、タスク表を用いて関数の開始アドレスにIDをマッピングすることによって関数を実行する。
図7は、分散処理のアーキテクチャを示す模式図である。PU1及びPU2内のタスク表の全項目を初期化するには、動的束縛(dynamic binding)が使用され、ランタイム中に関数エントリポイントが決定される。クライアント処理ユニットPU1は、4つのレベルに分けられている。第一のレベルは、図7における黒い実線で示される通信チャネル(CL)を使用する通信を処理するクライアントマネージャ(CM)である。第二のレベルは、D−OEM_clientである。タスク表TT1は、D−OEM_client内に格納される。第三のレベルは、関数の実行を制御する実行マネージャEM1である。第四のレベルは、プログラム領域PA1である。全ての関数及びオブジェクトは、このレベルに格納される。
リモート装置PU2も同様の構造を有しているが、クライアントマネージャCMの代わりに、リモート装置マネージャRDMを有しており、また実行マネージャを持たない。その代わり、PU2におけるD−OEMは、関数の戻り値を処理するスタックSを有している。このスタックを用いる詳細については後述する。
タスク表の初期化前は、オブジェクト名欄を除くタスク表内の全項目が空白である。リモート装置PU2がローカルクライアントPU1内の関数又はオブジェクト呼び出す前に、D−OEMはクライアントPU1及びリモート装置PU2両方のタスク表を初期化する必要がある。図7の各工程は、タスク表を初期化する方法を示している。
ステップS10:リモート装置PU2が、要求コマンド(Initialization_Of_Object)TT1をクライアントPU1に送信する。要求コマンドInitialization_Of_Objectのフォーマットを図8に示す。
ステップS12:D−OEM_clientが、タスク表TT1内のオブジェクト名を検索する。
ステップS14:D−OEM_clientがタスク表TT1内のオブジェクトを発見すると、D−OEM_clientは実行マネージャEM1を呼び出して、オブジェクトのコンストラクタを呼び出し、全てのオブジェクト変数及び関数を初期化する。実行マネージャEM1は、全パラメータ及びエントリポイントを計算し、タスク表TT1内のこれらの項目(第三欄及び第四欄)を埋める。
ステップS16:D−OEM_clientが所定名のオブジェクトを発見できない場合、D−OEM_clientは、当該システムに例外をスローして工程を終了させる。
ステップS18:実行マネージャEM1がオブジェクト作成を終了すると、D−OEM_clientは、パブリック(public)な関数、保護された(protected)関数及びオブジェクト自体のIDを全て作成する。D−OEM_clientはタスク表TT1にIDを記載する(第二欄)。
ステップS20:D−OEM_clientが第二欄のIDをリモート装置PU2に送信する。
ステップS22:リモート装置PU2がIDを受信し、それら項目をローカルタスク表TT2に保存する。
システムがオブジェクトを使用する必要があるとき、オブジェクトはいつでも初期化可能である。システムが異なるオブジェクトを呼び出すためにD−OEMがタスク表TT2のマルチコピーを作成するとき、オブジェクトアレイを使用することができる。ID作成についての詳細は後述する。リモート装置PU2上のコードが終了すると、タスク表内の全項目が一気に消去される。
図8には、Initialization_Of_Objectコマンドのフォーマットが示されている。第一のフィールドは、リモート装置ID82である。スマートカードの場合、このIDをスマートカードIDとすることができる。ネットワークを使用するモバイル装置の場合、このIDはIPアドレス又はMACアドレスとすることができる。D−OEM開始コマンド80は、D−OEM_clientにリモートオブジェクト実行初期化を行わせる固有バイナリコマンドである。オブジェクト名84は、ASCIIフォーマットのオブジェクト名である。パラメータ86は、オブジェクト作成の初期値である。エンドコード88は、送信終了を示している。
<リモート関数の実行と同期化>
リモート関数を実行するには、リモート装置PU2が、そのD−OEMを使用して関数を呼び出し、クライアントコンピュータPU1側でその関数を実行することが必要である。オブジェクト1のメンバ関数である関数1をリモート装置PU2が呼び出す必要がある場合の一例をここに挙げる。戻り値は、D_OEM・execute (“object1”, “function 1”, wait_status, para1, para2,…)である。
D−OEMは静的ベースオブジェクトである。このオブジェクトは、ローカル関数又はオブジェクトがD−OEMオブジェクトのコピーを作成又は継承(inherit)する場合、動的オブジェクトとなり得る。関数execute(…)は、D−OEMのパブリックメンバ関数である。この関数は、クライアントコンピュータPU1において関数を遠隔的に開始する。第一のパラメータは、オブジェクト名である。第二のパラメータは、関数名である。第三のパラメータは、同期待機状態の種類である。次の関数の実行に戻り値が不要であり、この関数と同時に実行可能であるなら、「no_wait」を使用して同時処理を実行することができる。それ以外の場合、システムは、リモート処理からの応答を待つ。リモートプロシージャ応答の待機時間は、1から65535(16ビット符号なし整数の場合)である。「0」は「no_wait」を意味している。単位はミリ秒である。タイムアウトした後でプロセスが何の応答も受信できない場合、タイムアウト例外がD−OEMにスローされる。他のパラメータ(para1, para2,…)は、関数1のパラメータである。D−OEMは、戻り値、オブジェクトID及び関数IDなどの情報をスタックに格納する。スタックは、戻りパラメータを処理するために使用される。D−OEMは、パラメータを暗号化してコマンドストリング(図9)を作成し、このストリングをリモート装置マネージャRDMに送信する。D−OEMは、オブジェクトID91及び関数ID92をタスク表TT2から探す。図9では、コマンドストリングは二つのパラメータ(パラメータ1(94)とパラメータ2(95))のみを有している。パラメータの数は、関数自体に依存する。よって、ストリングは任意の数のパラメータ(必ずしも図9に例示するように二つに限定されない)を含むことができる。
このコマンドストリングは、リモート装置マネージャRDMへ送信される。その後、リモート装置マネージャRDMはこれをクライアントコンピュータPU1に通信リンクCLを介して送信する。任意の装置搭載型暗号エンジンを使用して、セキュアなデータ転送のためにストリングを暗号化することができる。クライアントコンピュータPU1がこのコマンドストリングを受信すると、クライアントコンピュータはそれをクライアントマネージャCMに送信する。D−OEM_func_call90は、リモート装置PU2がリモート関数呼出を要求することを示すバイナリコマンドである。D−OEM_clientは、このストリングを解読し、タスク表TT1を使用して、オブジェクト及び関数のソフトウェア・エントリポイントを調べる。D−OEM_clientは、エントリポイントと全ての関数パラメータを実行マネージャEMに送り、関数を開始する。実行マネージャEMを使用する理由は、関数を正規関数又はスレッドとなり得るからである。関数がスレッドの場合、実行マネージャEMはリモート装置PU2の同期化を行う。リモート装置PU2は、リモートスレッドを直接、仮想的に制御することができる。関数が終了すると、その関数は戻り値をD−OEM_clientに返信する(図7における破線)。D−OEM_clientは、クライアントマネージャCM、通信リンクCL及びリモート装置マネージャRDMを介して戻り値をD−OEMに送る。図10は、クライアントからの戻りパラメータのフォーマットを示している。
リモート装置PU2上のD−OEMは、戻りパラメータのヘッダを調べる。D-OEM_return_param100は、バイナリストリングが関数の戻りパラメータを含んでいることを示している。D−OEMは、正しいヘッダを持つバイナリストリングのみを受け入れる。D−OEMは、スタックS内のオブジェクトID102及び関数ID104によって、戻りオブジェクトの情報を検索する。その後、D−OEMは、戻り値を変数として保存し、スタックSにこの変数を格納する。タイプ(種類)106は、戻り値のタイプ・キャスティングを示している。第五のフィールドは、関数の実際の戻り値108を含んでいる。エンドコード110はストリングの終了を意味している。
並列関数の同期化は必要である。「wait_status」が「no_wait」に設定される場合、リモート装置PU2上のD−OEMは、同期化のために特別なプロシージャを行うことが必要となる。プログラムが明示的な同期化を必要とする場合、関数synchronized(…)を使用することができる。以下の表1に示すJavaコードフラグメントを考える。
Figure 0004433472
第一行はr_valueを計算する。第二行はcoefを計算する。これらの行は互いに依存していないので、同時に実行することが可能である。第一行はクライアントコンピュータPU1上で実行され、第二行はローカルで実行、即ちリモート装置PU2で実行される。しかしながら、第三行の結果を得るには全ての戻り値が必要である。第一行の関数が終了しておらず、第二行の関数が終了している場合(即ち、coefは使用可能であるが、r_valueがまだ準備できていない場合)、r_valueの計算結果を待たずに第三行を実行すると第三行の関数はエラーを発生する。よって、このような場合、同期化を行うことが必要である。以下の表2に示すコードフラグメントを考える。
Figure 0004433472
このコードフラグメントには更に別の行が追加されている。第三行は同期化処理を行う。関数synchronize(…)は、D−OEMのパブリックメンバ関数である。この関数によって、システムは、変数(r_value)がクライアントコンピュータPU1からの戻り値を受け取るまで待機する。最初の二つのパラメータは、どの関数が同期化の実行を必要として呼び出されたかを識別するために使用される。第三のパラメータは、最大タイムアウト時間をミリ秒単位で示している。D−OEMオブジェクトがタイムアウトになると、システムに例外がスローされる。リモート装置マネージャRDMは例外を捕捉して、エラーを処理する。戻り値(return_value)を受け取ると、システムは次の行を実行して計算結果を出す。以下のプロシージャは、D−OEMがどのように同期化を行うかを示している。
(5.1)同期化方法を開始し、タイマをリセットする。
(5.2)タイマ値を調べ、もしその値がタイムアウトしていたら、例外をスローし、同期化方法を中止する。
(5.3)D−OEMコミットバッファが戻りパラメータを受け取っているかを調べる。正しいパラメータがその関数に属していれば、同期化方法を終了し、そのデータを変数(r_value)に差し戻す。
(5.4)ステップ2にループバックして関数を待ち続ける。
<オブジェクトID及び関数IDの作成>
これは分散処理アーキテクチャであるので、通信はどのような種類のもの(有線又は無線)でもよい。複数のリモート装置を一つのクライアントコンピュータPUに接続することも可能である。この場合、クライアントコンピュータPUは、複数のリモート装置に対処するために、より大きな処理能力を必要とする。そこで、処理ユニットを高パフォーマンスサーバとすることができる。システムが単独のクライアントを有しているか複数のクライアントを有しているかに拘わらず、ID作成方法、並びに複数の要求を処理するプロトコルは同一である。
図12は、一つのクライアントコンピュータPUに接続された二つのリモート装置RD1、RD2を示している。各リモート装置は、オブジェクトを実行するようにクライアントコンピュータPUに要求する。これらのオブジェクトは同一プロセスであっても異なるプロセスであってもよい。どの処理(プロセス)又はオブジェクトがリモート装置から要求されても、実行マネージャは固有IDをオブジェクト及びそのメンバ関数に割り当てることが必要である。固有IDを作成するには、リモート装置毎に別々のタスク表を作成する。全てのオブジェクトIDの作成に24ビットカウンタを使用し、全ての関数IDの作成に16ビットカウンタを使用する場合、メンバ関数IDは48ビット(16ビット+32ビット)となる。並行タスクを同時に要求する多数のリモート装置がある場合であっても、カウンタがオーバーフローすることで重複するIDが生成されることは考えにくい。オブジェクトIDが32ビットの整数である場合、オブジェクトカウンタは、24ビットのIDを発生するのみである。最後の8ビットは、マルチサーバ環境におけるサーバID用にリザーブされている。マルチサーバ環境については後述する。この場合、最後の8ビットは全て「0」に設定される。実行マネージャは図12Aに図示する工程を使用して、ソフトウェアオブジェクト及びそのメンバ関数を初期化する。
ステップS30:D−OEM_clientが、リモート装置の一つから要求を受け取る(Initialization_Of-Object)。
ステップS32:D−OEM_clientが、タスク表内のオブジェクト名を使用してオブジェクトを検索する。D−OEM_clientが所定名のオブジェクトを発見できなければ、例外がスローされる(ステップS34)。そうでなければ、オブジェクト作成(ステップS36)が実行される。実行マネージャがオブジェクトを作成し、オブジェクトIDカウンタからの新しいオブジェクト名を要求する。続いて、マネージャがカウンタをインクリメントし、次のオブジェクトに備える。
ステップS38:実行マネージャが、オブジェクトのパブリックメンバ関数及び保護されたメンバ関数について、関数IDカウンタを使用して全ての関数IDを作成する。
ステップS40:実行マネージャがD−OEM_clientに全IDを送り返す。
ステップS42:D−OEM_clientが、特定のリモート装置に属しているタスク表の存在を調べる。そのようなタスク表がない場合、そのリモート装置IDを持つ新しいタスク表のコピーを作成する。そうでない場合、D−OEM_clientが、既存の表に項目を追加する。クライアントコンピュータPUが複数のリモート装置に接続している場合、Initialization_Of-Objectを送信する特定装置について独立のタスク表が作成される。
ステップS44:D−OEM_clientが全IDを要求元(リクエスタ)に送り返す。
ステップS42において、一つのリモート装置RD1のみがクライアントに接続されている場合、タスク表のコピーが只一つ作成される。複数装置の場合、各装置がタスク表のコピーを夫々有する。図13は、オブジェクト名及び関数IDを暗号化するバイナリストリングを示している。
D−OEM_clientは、このストリングをクライアントマネージャに送信する。クライアントマネージャは、このバイナリストリングを正しいリモート装置に返信するパスを認識している。リモート装置がこのストリングを受け取ると、そのリモート装置のリモート装置IDが調べられる。そのIDが正しければ、このストリングがD−OEMに送られる。D−OEMは全IDを解読し、解読したIDをタスク表に格納する。ID数は、ストリング中のID(オブジェクトIDも含む)総数を示している。
<スマートカードにおける指紋照合の負荷を分散する分散処理の使用>
処理能力の低いリモート装置コンピュータ又はスマートカード1aにおいて完全照合を行うには非常に長い時間を要する。この問題を解消するため、処理能力の大きなローカルクライアントコンピュータ2を使用する負荷分担機構によって、指紋照合の処理時間を短縮することができる。以下、分散リモート実行プロトコルを使用する前記指紋照合の負荷分担について説明する。
特徴点検出を除いて、上述の特徴点を使用する照合アルゴリズムは二つの部分、即ち基本検出(ローカルステージ)及び特徴点照合(グローバルステージ)に分けることができる。基本検出プロシージャは、最適な基本特徴点を検出し、異なる二つの指紋テンプレートを並べる(整合する)ものである。基本検出プロシージャは、二つのテンプレートの整合に必要な幾つかのパラメータを計算し、これらパラメータを照合ステージに送り、そこで入力された指紋が合致するのか否かが決定される。しかしながら、基本検出部分は計算集約的(computationally intensive)である。この部分がスマートカード1aで計算されるとすると、照合結果を得るには1分以上要することになる。速度増加のため、クライアントコンピュータ2がその計算の一部を担う。クライアントコンピュータ2は、認証を行うスマートカード1aのコプロセッサとして機能する。前述の通り、この方法によれば、基本検出の際には極一部の指紋特徴点群(サブセット)のみを処理するのでセキュリティが犠牲とならない。図13Aの工程は、スマートカード1aにおける指紋照合を負荷分担させる分散リモート実行プロトコルの使用方法の一例を示している。
ステップS50:指紋照合を開始する。
ステップS52:ベース・エスティメーション・オブジェクト(base estimation object)の初期化を行うため、スマートカード1a上のD−OEMが、Initialization_Of-Objectをクライアントコンピュータ2に送信する。
ステップS54:クライアントコンピュータ2におけるD−OEM_clientが実行マネージャを介してオブジェクトを初期化し、オブジェクトID及び関数IDをスマートカード1aに返信する。
ステップS56:スマートカード1aが基本情報をクライアントコンピュータ2に送信する。
ステップS58:スマートカード1aのD−OEMが、リモート処理要求コマンドを送り、ベース・エスティメーションをリモートにクライアントコンピュータ2上で開始する。
ステップS60:D−OEM_clientが、実行マネージャにベース・エスティメーション・ルーティンを実行するよう促す。
ステップS62:スマートカード1aは、クライアントコンピュータ2がベース・エスティメーションを終了するまで待機する。
ステップS64:ベース・エスティメーションの結果、特徴点指数の数が「0」であれば、スマートカード1aは指紋照合を停止し、「照合失敗」をクライアントコンピュータ2に返信する。
ステップS66:スマートカード1aは、プレ照合係数及び並べられた入力指紋テンプレートをダウンロードする。
ステップS68:スマートカード1a上で最終的照合を行う。
ステップS54及びS66は、前記プロトコルを使用して、スマートカード1aとクライアントコンピュータ2との間で照合情報を送受信する。
<複数の処理ユニットによるプロセスの実行>
前項で説明したシナリオは、単純なP2P(ピアツーピア)通信及び処理である。即ち、処理能力の小さなリモート装置200がクライアントコンピュータ202に処理負担を要求するものである。しかしながら、クライアントコンピュータ202で実行することがセキュアではない処理がある場合や、クライアントコンピュータ202が非常に計算集約的なコード処理をすることができない場合など、マルチプロセッササーバ204、206のような処理能力の大きな処理ユニットを使用して、実行を補助する。図14の場合を考える。
図14では、リモート装置200がクライアントコンピュータ202に接続している。クライアントコンピュータ202は、処理能力に制限のある端末であり、負荷分担によりリモート装置200を補助することができない。更に、クライアントコンピュータ202がパブリックコンピュータであって、ネットワークサーバがこのクライアントコンピュータ202と何の信頼関係も構築していない場合、リモート装置200との負荷分担を行う目的の認証プロシージャを実行することは全くセキュアではない。従って、低性能クライアントコンピュータ202や信頼性のないクライアントコンピュータ202については、サーバ側で負荷分担を行うことができる。クライアントコンピュータ202は、リモート装置200とサーバ204、206との間の通信ブリッジとして機能する。
図14では、二つのサーバ204、206がクライアントコンピュータ202に接続している。リモート装置200が指紋認証処理を実行する必要がある場合、リモート装置200は、認証サーバ204においてリモート処理要求を開始する。前項に記載したものと同様のアーキテクチャを使用することができる。リモート装置200におけるD−OEMを使用して、リモート処理を要求することができ、認証サーバ204におけるD−OEM_clientを使用して、関数/オブジェクトのプロセスを管理することができる。クライアントコンピュータ202の場合、D−OEM_bridgeを使用してブリッジ・プロシージャを管理する。D−OEM及びD−OEM_clientの構造及びコマンドは、前記オリジナルフォーマットと同一であり、この新しいシステム環境に対応するための修正は不要である。D−OEM_bridgeは、D−OEM_clientと類似のアーキテクチャを持つ。しかしながら、前者は実行マネージャ及びプログラム領域を持たない。その代わり前者はネットワーク実行マネージャを有する。図15は、D−OEM_bridgeの基本アーキテクチャを示している。
D−OEM_bridgeは、クライアントコンピュータ212上で実行され、リモート装置210とクライアントコンピュータ212との間の通信を処理するクライアントマネージャを有している。またD−OEM_bridgeは、タスク表TTも有している。しかしながら、最初の二つの欄のみ、即ちオブジェクト名及びオブジェクトIDのみが、図6の表と同一である。第三欄は、サーバのネットワークアドレスである。このアドレスは、URL又は選択可能なポート番号を持つIPアドレスとすることができる。図16は、D−OEM_bridge部分のタスク表の例である。ネットワーク実行マネージャNEMを使用して、リモート装置210とサーバ214、216(これより多くのサーバを置くこともできる)との間のプロセス又はスレッドの同期化をモニタリングする。NEMは、有線又は無線ネットワークを介してサーバ214、216に接続する。NEMの役割は、リモート装置210がリモート処理をサーバ214、216上で直接開始することができるように、リモート装置210を補助することである。NEMは、リモート装置210及びサーバ214、216用のデータ及びネットワークコマンドを制御、変換及び同期化する。実際のところ、NEMは、複数のサーバを使用する分散型演算処理を管理するソフトウェアエージェントである。
<D−OEMオブジェクトの初期化及びオブジェクトID>
D−OEMオブジェクトの初期化は、図7Aで示した方法と類似している。しかしながら、この場合、クライアントコンピュータ212は処理を全く行わない。クライアントコンピュータ212は、サーバ214、216にアクセスする方法を知っておく必要がある。そこで、リモート装置210上のD−OEMが、実際のアドレス(URLかIPアドレス)をクライアントコンピュータ212に通知することができる。以下のプロシージャは、D−OEM_bridge及びD−OEM_clientオブジェクトの開始方法を示している。
(6.1)リモート装置210上のD−OEMが、URL/IPアドレスと共に要求(Initialization_Of-Object)をクライアントコンピュータ212に送信する。
(6.2)D−OEM_bridgeがこの要求を受信する。D−OEM_bridgeは、この要求を、リモート装置210からのURL/IPアドレスによって、サーバ214、216に送信する。
(6.3)サーバ214、216上のD−OEM_clientが、全オブジェクト及びタスク表を初期化する。
(6.4)サーバ214、216が、タスク表をD−OEM_bridgeに返信する。
(6.5)NEMが、オブジェクトIDにサーバIDを加える。
(6.6)D−OEM_bridgeが、オブジェクトID及びURL/IPアドレスをローカルタスク表TT中に記録する。
(6.7)D−OEM_bridgeが、オブジェクトIDをリモート装置210に送信して前述したようなD−OEMの初期化を行う。
プロシージャ(6.5)において、オブジェクトIDは異なるサーバから作成することができる。各サーバは、図12Aに示したプロシージャに従って、全IDを作成する。異なる二つのオブジェクトが異なるサーバで初期化される場合、異なるオブジェクトが同一オブジェクトIDを有することも可能である。前出の例において、8ビットのサーバIDフィールドが、32ビットのオブジェクトID内にリザーブされている。図15では、ネットワーク実行マネージャNEMがサーバIDカウンタ(SIC)を有している。このカウンタSICを使用して、サーバ毎に固有サーバIDを作成する。以下のプロシージャは、新しいロケーションに新しいサーバIDを割り当てる方法を示している。
(7.1)NEMが、D−OEM_bridgeからInitialization_Of-Objectコマンド要求を受信する。
(7.2)NEMは、予め割り当てられたサーバIDがあるロケーションを調べる。
(7.3)NEMがサーバのアドレスに最近アクセスしていれば、NEMは、NEMキャッシュメモリにある古いサーバIDを使用する。
(7.4)NEMが分散実行用に要求されたロケーションに最近アクセスしていなければ、NEMは、新しいIDをサーバIDカウンタから入手する。NEMはカウンタを「1」増分させ、次のサーバIDとする。
(7.5)NEMは、サーバIDをD−OEM_bridgeに返信し、新しいオブジェクトIDを計算する。
新しいオブジェクトIDは、サーバからのオブジェクトIDとNEMからのサーバIDとの組合せである。図17は、組み合わされたオブジェクトIDのフォーマットを示している。各オブジェクトIDは、関数を誤って呼び出すことを避けるため、タスク表内で固有の番号を有している。NEMは、終了したオブジェクトからリリースされたサーバIDを検索する。NEMは、任意の使用済みサーバIDを再使用しうるが、古いオブジェクトへのレファレンスは失われる。8ビットのサーバIDの場合、最大可能サーバ数は256である。
<実行、同期化及び戻りパラメータ>
オブジェクト及び関数をリモート実行する方法は、上記方法に類似しているが、クライアントコンピュータ212をブリッジとして機能させている。リモート処理に係る全ての要求は、サーバ214、216へ直接送られる。D−OEM_bridgeは、タスク表TTからURL/IPアドレスを探し、コマンド及び全パラメータをサーバ214、216へ送信する。サーバ214、216は、「リモート関数の実行及び同期化」の見出しで説明した前記方法に従い、オブジェクト/関数の処理及び同期化を行う。サーバIDは、ブリッジが異なるサーバを区別する際に用いられるIDであるため、サーバ214、216はサーバIDを無視する。サーバがオブジェクトIDを受信すると、オブジェクトIDを32ビットから元の24ビットにする場合、式6に示すように論理積演算(AND演算)が実行される。このオブジェクトIDを使用して、サーバはタスク表TTから関数のエントリポイントを探す。続いて、サーバ214、216は、上記関数を実行する。
サーバオブジェクトID = (D-OEM_BridgeオブジェクトID) AND*0x00FFFFFF
・・・(6)
(AND* : 論理積演算)
同期化の場合、リモート装置210は、処理サーバからの応答を待つ。サーバ214、216のいずれかが操作を終了すると、サーバは戻りパラメータをD−OEM_bridgeへ送り返す。D−OEM_bridgeが戻りパラメータを受け取ると、D−OEM_bridgeは、各サーバからの戻りパラメータをリモート装置210に通知する。実際、D−OEM_bridgeは、リモート装置210とサーバ214、216との間で全情報を送受信する通信ブリッジとして機能する。従って、リモート装置210は複数サーバとの直接通信を仮想的に指令できる。D−OEM_bridgeは、複数サーバにアクセスするプロシージャを処理する。
戻りパラメータフォーマットは、図10に示すものと同一である。しかしながら、唯一の変更は、オブジェクトID102である。D−OEM_bridgeが戻りパラメータストリングをサーバ214、216から受け取ると、D−OEM_bridgeはオブジェクトID102を抽出する。オブジェクトID102内のサーバIDフィールドは空いているので、このサーバ接続に既に割り当てられたサーバIDをオブジェクトID102に加える。更新されたオブジェクトID102は、戻りパラメータストリングに戻されて、リモート装置210へ送り返される。リモート装置210は、既にスタックに保存されている関数戻りアドレスを使用して、目的のメモリロケーションに対し戻り値を保存する。
<ネットワーク実行マネージャ(NEM)>
事実上ソフトウェアエージェントであるNEMのアーキテクチャを、以下に説明する。このエージェントの役割は、サーバ214、216において、リモート装置210のために、リモート実行を開始することである。NEMにより以下のタスクが実行される。
(1)通信コントローラとしてリモート装置210とサーバ214、216とを接続する。
(2)リモート装置210とサーバ214、216との間の通信プロトコルを変換する。
(3)ネットワーク例外を処理する。
(4)複数サーバのサーバIDを管理する。
(5)ネットワーク渋滞を最小化するための要求をバッファリングする。
(6)不正アクセスを防止するファイアウォールとして機能する。
図18は、NEMの基本構造を示している。この基本構造にはD−OEM_bridge302からのコマンドを処理するコマンドコントローラ300が含まれている。プロトコルトランスレータ304は、一のネットワークから他のネットワークへのデータ及びコマンドの変換を管理する。例えば、スマートカードはISO7816-4フォーマットを使用している。ネットワークへの要求を入力する前に、プロトコルはISO7816-4からインターネット接続用のTCP/IPへ変換される。サーバマネージャ306は、サーバの接続とサーバIDとを管理する。ネットワークコントローラ308は、ネットワークへの接続を管理する。またネットワーク渋滞を最小化するローカルネットワークバッファも基本構造に含まれている。ファイアウォール310は、不正接続を防止するために使用される。加えて、ネットワーク例外コントローラ312は、ネットワークエラーに対処するために使用され、ネットワーク例外が発生したことをコマンドコントローラ300へ直接報告する。
<分散型オブジェクト実行マネージャ(D−OEM)>
D−OEMは、リモート装置210のリモート実行要求を管理する。リモート装置210は、負荷分担要求をローカルクライアント/サーバへ送信する。クライアントコンピュータ212がオブジェクト/関数を処理できる場合、D−OEM_clientは、実行マネージャによってローカルに関数を実行する。そうでない場合、D−OEM_bridgeが、要求をサーバ214、216へ送り、サーバ214、216側で関数が実行される。図19は、D−OEMの基本構造を示す。D−OEMは、単一エントリポイントと共にカーネル414を有している。それはD−OEMオブジェクト内の全てのリソースにアクセスする権限を有している。D−OEMは、オブジェクト内の全ての要素を初期化する、オブジェクトのコンストラクタ416を有している。コマンドエンコーダ・デコーダ418は、上記D−OEMコマンドを合成する。ネットワークインタフェース420は、外部パーティとの通信を確立するための、外部ネットワークオブジェクトと結合するソフトウェアインタフェースである。同期化マネージャ422は、全ての同期化要求を管理する。例外ハンドラ424は、ローカルD−OEM例外又はリモート関数からの例外の全てを管理する。スタックコントローラ426は、スタック及び関数の戻りパラメータを管理する。オブジェクト・関数疑似エントリポイント領域428は、各関数/オブジェクトに対しローカル関数が仮想呼出を実行できるリモート処理(リモートプロセス)の記述子である。これにより、ローカル関数は、ローカル関数を呼び出すのと同じくらい容易に、任意のリモート関数を呼び出すことができる。カーネル414は、実際のリモート処理の呼出を行う。タスクマネージャ430は、リモートオブジェクト及び関数の初期化を制御する。またタスクマネージャ430は、タスク表TT2を管理する。
D−OEM_clientの場合は、図20に示すように、D−OEMの場合とは多少異なる。
図20には、D−OEM_clientの基本構造が示されている。それはD−OEMに類似しているが、全ての戻りパラメータは、リモート装置210へ直接送り返される。パラメータは、D−OEM_client内に格納する必要はないので、スタックコントローラ426は不要である。実行マネージャEMは、関数及びスレッドの実行を制御する。ネットワークインタフェース520は、リモート装置210から要求コマンドを受け取る。全てのコマンドは、処理を行う(プロセスを実行する)ためにカーネル514へ送られる。オブジェクトの初期化は、このシステムによって行われる。他の要素は、D−OEMの場合と機能的に同一である。実行マネージャEMは、ローカルで実行する必要があるとして要求されたオブジェクト又は関数を管理する。D−OEM_clientが実行コマンドを解読し、プロセスエントリポイントを取得すると、このエントリポイントは処理(プロセス)を実行するために実行マネージャEMに送られる。実行マネージャEMの詳細は後述する。
D−OEM_bridgeの場合、その役割は、サーバ214、216とリモート装置210との間でコマンド及びパラメータを送受信することである。その構造は、D−OEMやD−OEM_clientよりも単純である。
図21は、D−OEM_bridgeの構造図である。D−OEM_bridgeは、リモート装置210とサーバ214、216との間の通信ブリッジとして機能する。カーネル614は、オブジェクト内の全ての要素を制御し、初期化する。タスクマネージャ630は、タスク表TT2を管理する。システムバッファ632は、カーネル614が後に処理する未終了タスクを格納する。NEMブリッジ634は、NEMに対するソフトウェアインタフェースである。NEMは、上記の如く高レベルのネットワーク管理を制御する。
実行マネージャEMは、スレッド及び関数の実行を制御するために使用される。図22は、実行マネージャの構造を示している。要求された処理(プロセス)がスレッドであれば、スレッドコントローラ740が、全ての同期化プロシージャを管理する。要求された処理(プロセス)が関数/オブジェクトであれば、関数エクセキューショナー742が処理の実行を開始し、モニタリングする。関数又はスレッドに由来する何らかの例外があれば、例外ハンドラ744が、処理の実行を担当する。このハンドラ744は、他の並行する処理に対するエラーの影響を最小化するために、問題のあるプロシージャを停止するよう動作する。
認証システムの模式図である。図1Aは、スマートカードの模式図である。 クライアント端末とスマートカードとで分担して照合を実行するデータフロー図である。 商取引を実行するためのメッセージの流れを模式に示すブロック図である。 セキュリティアクセスチェックキーのフォーマットを示す図である。 マルチ処理ユニットの簡略化アーキテクチャ図である。 タスク表を示す図である。 分散処理の簡略化アーキテクチャ図である。 タスク表を初期化するプロシージャを示すフロー図である。 Initialization_Of_Objectコマンドのフォーマットを示す図である。 コマンドストリングのフォーマットを示す図である。 戻りパラメータのフォーマットを示す図である。 スタックのフォーマットを示す図である。 単一クライアントプロセッサと複数リモート装置を示す模式図である。 ソフトウェアオブジェクト及びそのメンバ関数を初期化するプロシージャを示すフロー図である。 オブジェクト及び関数ID用の暗号化フォーマットを示す図である。 指紋照合演算における負荷分担のプロシージャを示すフロー図である。 複数の処理装置を備えたシステムを示す図である。 分散型オブジェクト実行マネージャブリッジのアーキテクチャを示す図である。 分散型オブジェクト実行マネージャブリッジにおけるタスク表の一例を示す図である。 複数サーバ環境における一のオブジェクト識別子のフォーマットを示す図である。 ネットワーク実行マネージャの模式的ブロック図である。 リモート装置における分散型オブジェクト実行マネージャの模式的ブロック図である。 クライアント端末における分散型オブジェクト実行マネージャの模式的ブロック図である。 ブリッジにおける分散型オブジェクト実行マネージャの模式的ブロック図である。 実行マネージャの模式的ブロック図である。

Claims (60)

  1. 秘密部分と公開部分とに分けられるバイオメトリクス識別テンプレートを格納するユーザ提示装置上において、認証装置に提示されるユーザのバイオメトリクス・パラメータにより該ユーザを認証する方法であって、
    前記認証装置からクライアント端末へ、前記認証装置に提示される前記ユーザのバイオメトリクス・パラメータから得られるデータを送る工程と、
    ユーザ提示装置から前記クライアント端末へ、前記ユーザ提示装置に保持される前記バイオメトリクス識別テンプレートの公開部分のみを送る工程と、
    前記クライアント端末において、前記データと前記公開部分との間で身元認証処理の第一ステージを実行し、前記身元認証処理の結果を前記ユーザ提示装置へ送る工程と、
    前記ユーザ提示装置において、前記結果を使用して前記身元認証処理を完了する第二ステージを実行し、該実行に基づく認証結果を発行する工程と
    を備えることを特徴とする方法。
  2. 認証装置に提示されるユーザのバイオメトリクス・パラメータにより該ユーザを登録する方法であって、
    前記認証装置において前記ユーザのバイオメトリクス・パラメータから得られるデータを、前記認証装置から認証されたクライアント端末へ送る工程と、
    前記認証されたクライアント端末において、算出されるバイオメトリクス識別テンプレートを、秘密部分と公開部分とに分割する工程と、
    前記認証されたクライアント端末からユーザ提示装置へ、バイオメトリクス識別テンプレートの前記公開部分と前記秘密部分との両方を送る工程と、
    前記公開部分と前記秘密部分とからなる前記バイオメトリクス識別テンプレートを、前記秘密部分が前記ユーザ提示装置内でのみアクセス可能であり且つ外部からはアクセス不能な状態で、前記ユーザ提示装置に格納する工程とを備えることを特徴とする方法。
  3. 前記バイオメトリクス識別テンプレートの前記秘密部分は、詐称者の不正な改ざんによって該詐称者を本物のユーザとして誤認証させうるデータを含む部分であることを特徴とする請求項1又は2に記載の方法。
  4. 前記バイオメトリクス識別テンプレートの前記公開部分は、詐称者の不正な改ざんによって該詐称者を本物のユーザとして誤認証させないデータを含む部分であることを特徴とする請求項1又は2に記載の方法。
  5. 前記バイオメトリクス・パラメータは指紋であることを特徴とする請求項1、2又は3に記載の方法。
  6. 前記バイオメトリクス識別テンプレートの前記公開部分は、当該バイオメトリクス識別テンプレートに固有な所定数の特徴からなるパラメータを含むことを特徴とする請求項1から5のいずれか一項に記載の方法。
  7. 前記クライアント端末において実行される前記身元認証処理の前記第一ステージは、前記ユーザのバイオメトリクス・パラメータから得られるデータを使用して複数の固有の特徴を検出する工程と、該複数の固有の特徴を、前記ユーザ提示装置に保持される前記バイオメトリクス識別テンプレートからの前記所定数の固有の特徴と整合させる工程とを備えることを特徴とする請求項6に記載の方法。
  8. 前記ユーザ提示装置において実行される前記身元認証処理の前記第二ステージは、当該ユーザ提示装置に格納されるローカル実行可能な照合プログラムを使用して実行されることを特徴とする請求項1から7のいずれか一項に記載の方法。
  9. 前記クライアント端末において実行される前記身元認証処理の前記第一ステージは、クライアント実行可能な照合プログラムを使用して実行されることを特徴とする請求項1から8のいずれか一項に記載の方法。
  10. 前記クライアント実行可能な照合プログラムは、前記ユーザ提示装置又は前記認証装置に格納され、認証時に前記クライアント端末へ送られることを特徴とする請求項9に記載の方法。
  11. 前記クライアント実行可能な照合プログラムは、認証時に前記クライアント端末によってリモートメモリからダウンロードされることを特徴とする請求項9に記載の方法。
  12. 前記認証結果は、セキュアなトランザクションを許可するためのユーザの認証のために使用されることを特徴とする請求項1から11のいずれか一項に記載の方法。
  13. 前記セキュアなトランザクションは、前記ユーザ提示装置に格納される、実行可能なトランザクションプログラムによって制御されることを特徴とする請求項12に記載の方法。
  14. 前記認証結果が十分な適合性を示すとき、第一セキュリティアクセスチェックキーが前記認証結果を含んで作成されることを特徴とする請求項13に記載の方法。
  15. 第二セキュリティアクセスチェックキーが要求され、前記第一セキュリティアクセスチェックキーと比較され、該比較の結果が肯定的な認証結果であれば、該比較結果を使用して前記実行可能なトランザクションプログラムが有効にされることを特徴とする請求項14に記載の方法。
  16. 前記第二セキュリティアクセスチェックキーはセキュリティサーバから発行されることを特徴とする請求項15に記載の方法。
  17. 前記第一及び第二セキュリティアクセスチェックキーの夫々は、固有識別番号を含んでいることを特徴とする請求項14から16のいずれか一項に記載の方法。
  18. 前記固有識別番号は、無作為に作成される番号と前記認証結果とに基づく数学的演算により得られる番号を含んでいることを特徴とする請求項17に記載の方法。
  19. 前記無作為に作成される番号は、該番号が使用される度に変化することを特徴とする請求項18に記載の方法。
  20. 前記変化し且つ無作為に作成される番号は、現行の無作為に作成される番号として使用される第一部分と、次の無作為に作成される番号として使用される第二部分とからなる二つの部分に分割されることを特徴とする請求項19に記載の方法。
  21. 前記固有識別番号は、ユーザにより記憶される番号を含むことを特徴とする請求項17から20のいずれか一項に記載の方法。
  22. 前記固有識別番号に夫々組み込まれる2以上の認証方法を使用して前記認証結果を得ることができることを特徴とする請求項18から21のいずれか一項に記載の方法。
  23. 前記アクセスが幾つかのレベルに分割され、ユーザに許可されるアクセスのレベルが、前記固有識別番号から得られる肯定的な識別の信頼度に依存することを特徴とする請求項17から22のいずれか一項に記載の方法。
  24. ユーザのバイオメトリクス・パラメータによって該ユーザを認証するシステムであって、当該システムは、
    秘密部分と公開部分とに分割されるバイオメトリクス識別テンプレートが格納されるユーザ提示装置であって、前記公開部分のみが該ユーザ提示手段の外部へ送信可能なユーザ提示装置と、
    ユーザから得られるバイオメトリクスデータを読取可能であって、前記ユーザ提示装置及びクライアント端末と通信する手段を備える認証装置と、
    前記ユーザ提示装置に保持される前記バイオメトリクス識別テンプレートの前記公開部分と前記ユーザから得られるバイオメトリクスデータとを受け取るよう構成されたクライアント端末であって、前記データと前記公開部分との間で身元認証処理の第一ステージを実行し、該身元認証処理の結果を前記ユーザ提示装置へ送信可能なクライアントプロセッサを備えるクライアント端末とを備え、
    前記ユーザ提示装置は、前記結果を使用して前記身元認証処理を完了し、該身元認証処理の完了に基づく認証結果を発行する第二ステージを実行可能なデバイスプロセッサを備えることを特徴とするシステム。
  25. 前記バイオメトリクス識別テンプレートの前記秘密部分は、不正な改ざんによって、詐称者を本物のユーザとして当該システムに誤認証させうるデータを含む部分であることを特徴とする請求項24に記載のシステム。
  26. 前記バイオメトリクス識別テンプレートの前記公開部分が、不正な改ざんによって、詐称者を本物のユーザとして当該システムに誤認証させないデータを含む部分であることを特徴とする請求項24に記載のシステム。
  27. 前記バイオメトリクス・パラメータは指紋であり、前記認証装置は指紋センサであることを特徴とする請求項24に記載のシステム。
  28. 前記バイオメトリクス識別テンプレートの前記公開部分は、当該バイオメトリクス識別テンプレートに固有な所定数の特徴からなるパラメータを含むことを特徴とする請求項24又は27に記載のシステム。
  29. 前記ユーザ提示装置は、前記照合処理の前記第二ステージを実行するためのローカル実行可能な照合プログラムが格納されるメモリを備えていることを特徴とする請求項24、27又は28に記載のシステム。
  30. 前記ユーザ提示装置の前記メモリは、前記照合処理の前記第一ステージを実行する前記クライアントプロセッサへ送られるクライアント実行可能な照合プログラムを格納することを特徴とする請求項29に記載のシステム。
  31. 前記クライアント端末に接続されたセキュリティサーバを備えることを特徴とする請求項24から30のいずれか一項に記載のシステム。
  32. 前記セキュリティサーバは、前記照合処理の前記第一ステージを実行するためのクライアント実行可能な照合プログラムを保持することを特徴とする請求項31に記載のシステム。
  33. 前記セキュリティサーバは、トランザクションを有効にするために前記クライアント端末から要求可能なセキュリティアクセスチェックキーを保持することを特徴とする請求項31又は32に記載のシステム。
  34. セキュアなトランザクションを実行するよう構成されたトランザクションサーバであって、前記認証結果がセキュアなトランザクションを許可するためのユーザの認証に使用されるようにクライアント端末と通信するトランザクションサーバを備えることを特徴とする請求項24から33のいずれか一項に記載のシステム。
  35. 前記ユーザ提示装置は、前記セキュアなトランザクションを制御するための、実行可能なトランザクションプログラムを格納することを特徴とする請求項34に記載のシステム。
  36. 2以上の認証方法を使用して前記認証結果を得ることができることを特徴とする請求項34又は35に記載のシステム。
  37. 前記トランザクションサーバへの前記アクセスが幾つかのレベルに分割され、ユーザに許可されるアクセスレベルが、前記各種認証方法を使用した結果に基づいて得られる肯定的な識別の信頼度に依存することを特徴とする請求項36に記載の方法。
  38. 第一及び第二プロセッサを使用して演算を実行する方法であって、
    複数のプロセス名称を関連するプロセス識別子と共に含み、前記プロセス識別子夫々がプロセスロケータに関連付けられた第一のタスク表を第一プロセッサに格納する工程と、
    前記複数のプロセス名称及び前記プロセス識別子を含む第二のタスク表を第二プロセッサに格納する工程と、
    実行すべきプロセスを前記第二プロセッサにおいて識別し、前記プロセスを実行する前記第一プロセッサへ要求を発行する工程と、
    前記プロセスロケータを使用して前記プロセスを特定し、前記第一プロセッサで前記プロセスを実行して結果を生成する工程と、
    前記結果を前記第二プロセッサへ返す工程と
    を備え
    前記実行される演算は、前記第一プロセッサによって実行される基本特徴点検出処理と、前記第二プロセッサによって実行される特徴点照合処理とからなる指紋照合アルゴリズムであり、
    前記基本特徴点検出処理は、ユーザのバイオメトリクス・パラメータから得られるデータとバイオメトリクス識別テンプレートの公開部分との間で実行される身元認証処理の第一ステージであり、前記身元認証処理の結果は前記第一プロセッサから前記第二プロセッサへと送られ、
    前記特徴点照合処理は、前記結果を使用して前記身元認証処理を完了する第二ステージであり、且つこれらの処理に基づく認証結果を発行することを特徴とする方法。
  39. 前記プロセス名称は、各オブジェクト識別子に関連付けられたオブジェクト名称を含むことを特徴とする請求項38に記載の方法。
  40. 各オブジェクトは夫々に関連付けられた複数の関数を有し、各関数は、関数名称によって識別されると共に、前記第一及び第二のタスク表内において関数識別子に関連付けられていることを特徴とする請求項39に記載の方法。
  41. 前記プロセスロケータは、プログラムメモリ内のプロセスの開始アドレスを識別することを特徴とする請求項38、39又は40に記載の方法。
  42. 前記第二プロセッサは、前記第一プロセッサよりもかなり小さな処理能力を有する請求項38から41のいずれか一項に記載の方法。
  43. 前記第二プロセッサは、前記第一プロセッサにより実行される処理よりも小さな処理能力を要する処理をローカルで実行するよう構成されることを特徴とする請求項38から42のいずれか一項に記載の方法。
  44. 単一の第一プロセッサと通信する複数の第二プロセッサがあり、各第二プロセッサは夫々のタスク表を保持し、前記第一プロセッサは、前記第二プロセッサの前記タスク表によって識別される全てのプロセスを含む第一タスク表を保持することを特徴とする請求項38から43のいずれか一項に記載の方法。
  45. 前記第一プロセッサと前記第二プロセッサとがクライアントブリッジにより接続され、前記クライアントブリッジは、前記要求を前記第二プロセッサから前記第一プロセッサへ送信し、前記結果を前記第一プロセッサから前記第二プロセッサへ返信することを特徴とする請求項38から43のいずれか一項に記載の方法。
  46. 前記第一プロセッサはクライアント端末であり、前記第二プロセッサは携帯可能な機密処理用及びデータ格納用プラットフォームに埋め込まれたことを特徴とする請求項38から45のいずれか一項に記載の方法。
  47. 一又は複数の第二プロセッサにクライアントブリッジを介して接続する多数の第一プロセッサがあり、前記多数のプロセッサは、前記第二プロセッサの前記タスク表内における異なるプロセス小群を実行するよう構成されることを特徴とする請求項38から43のいずれか一項に記載の方法。
  48. 夫々が一のプロセスロケータに関連付けられた複数のプロセス名称及び複数のプロセス識別子を含む第一のタスク表を格納する第一プロセッサと、
    前記プロセス名称を関連するプロセス識別子と共に含む第二のタスク表を格納する第二プロセッサとを備えてなり、
    前記第二プロセッサは、実行すべきプロセスを特定し且つ前記プロセスを実行する前記第一プロセッサへ要求を発行する分散オブジェクト実行マネージャを含み、
    前記第一プロセッサは、前記第一プロセッサにおける前記プロセスの実行を制御するクライアント分散オブジェクト実行マネージャを含み、前記第一プロセッサにおいて実行される前記プロセスの実行結果が前記第二プロセッサへ返信され
    前記第一プロセッサ及び前記第二プロセッサは、前記第一プロセッサによって実行される基本特徴点検出処理と、前記第二プロセッサによって実行される特徴点照合処理とからなる指紋照合アルゴリズムであり、
    前記基本特徴点検出処理は、ユーザのバイオメトリクス・パラメータから得られるデータとバイオメトリクス識別テンプレートの公開部分との間で実行される身元認証処理の第一ステージであり、前記身元認証処理の結果は前記第一プロセッサから前記第二プロセッサへと送られ、
    前記特徴点照合処理は、前記結果を使用して前記身元認証処理を完了する第二ステージであり、且つこれらの処理に基づく認証結果を発行することを特徴とする処理システム。
  49. 前記第一プロセッサは、前記第一プロセッサと前記第二プロセッサとの間の通信を行うクライアントマネージャを含むことを特徴とする請求項48に記載の処理システム。
  50. 前記第一プロセッサは、プロセスの実行を行う実行マネージャを含むことを特徴とする請求項48又は49に記載のシステム。
  51. 前記第一プロセッサは、前記プロセスを保持するプログラムストアを備えており、前記プログラムストア内の前記プロセスの位置を識別するために前記プロセスロケータが使用されることを特徴とする請求項48から50のいずれか一項に記載のシステム。
  52. 前記第二プロセッサは、前記要求を前記第一プロセッサへ送信するリモート装置マネージャを含むことを特徴とする請求項48から51のいずれか一項に記載のシステム。
  53. 前記第二プロセッサが、前記第一プロセッサから返信される結果を保持するスタックを備えることを特徴とする請求項48から52のいずれか一項に記載のシステム。
  54. 前記第二プロセッサは、前記プロセスを保持するプログラムストアを含むことを特徴とする請求項48から53のいずれか一項に記載のシステム。
  55. 前記第一プロセッサはクライアント端末を備えることを特徴とする請求項48から54のいずれか一項に記載のシステム。
  56. 複数の第一プロセッサを備え、前記複数の第一プロセッサと前記第二プロセッサとの間の通信を行うクライアントブリッジを更に備えることを特徴とする請求項38から55のいずれか一項に記載のシステム。
  57. 各第一プロセッサはサーバを備えることを特徴とする請求項56に記載のシステム。
  58. 前記クライアントブリッジは、前記要求に含まれるプロセッサ識別子に基づいて、前記第二プロセッサから前記複数の第一プロセッサのうち適切な一の第一プロセッサに前記要求を送信するネットワーク実行マネージャを含むことを特徴とする請求項56又は57に記載のシステム。
  59. 複数の第二プロセッサと、
    前記複数の第二プロセッサと前記第一プロセッサとを接続するクライアントブリッジと
    を備えることを特徴とする請求項38から55のいずれか一項に記載のシステム。
  60. 第二プロセッサ各々が、スマートカードなどの携帯可能な機密処理用及びデータ格納用プラットフォームへ夫々埋め込まれたことを特徴とする請求項38から59のいずれか一項に記載のシステム。
JP2004530723A 2002-08-08 2002-08-08 分散型認証処理 Expired - Fee Related JP4433472B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG2002/000199 WO2004019190A1 (en) 2002-08-08 2002-08-08 Distributed processing in authentication

Publications (2)

Publication Number Publication Date
JP2005535989A JP2005535989A (ja) 2005-11-24
JP4433472B2 true JP4433472B2 (ja) 2010-03-17

Family

ID=31944990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004530723A Expired - Fee Related JP4433472B2 (ja) 2002-08-08 2002-08-08 分散型認証処理

Country Status (5)

Country Link
US (1) US8406478B2 (ja)
JP (1) JP4433472B2 (ja)
CN (1) CN100373285C (ja)
AU (1) AU2002334565A1 (ja)
WO (1) WO2004019190A1 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7944953B2 (en) * 2002-04-03 2011-05-17 Tvworks, Llc Method and apparatus for transmitting data in a data stream
AU2003902422A0 (en) * 2003-05-19 2003-06-05 Intellirad Solutions Pty. Ltd Access security system
WO2005086802A2 (en) 2004-03-08 2005-09-22 Proxense, Llc Linked account system using personal digital key (pdk-las)
US8700729B2 (en) * 2005-01-21 2014-04-15 Robin Dua Method and apparatus for managing credentials through a wireless network
DE102005003208B4 (de) * 2005-01-24 2015-11-12 Giesecke & Devrient Gmbh Authentisierung eines Benutzers
JP2006301903A (ja) * 2005-04-20 2006-11-02 Hitachi Omron Terminal Solutions Corp 現金自動取引装置
TWI262696B (en) * 2005-06-17 2006-09-21 Lightuning Tech Inc Storage device and method for protecting data stored therein
EP1914938A4 (en) * 2005-08-11 2010-12-15 Beijing Watch Data Sys Co Ltd METHOD FOR PHYSICAL AUTHENTICATION AND DIGITAL DEVICE
CN1859096B (zh) * 2005-10-22 2011-04-13 华为技术有限公司 一种安全认证系统及方法
AU2005242135B1 (en) * 2005-12-07 2006-03-16 Ronald Neville Langford Verifying the Identity of a User by Authenticating a File
US11206664B2 (en) 2006-01-06 2021-12-21 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US9113464B2 (en) 2006-01-06 2015-08-18 Proxense, Llc Dynamic cell size variation via wireless link parameter adjustment
US8929553B2 (en) * 2006-03-31 2015-01-06 International Business Machines Corporation Using identifier tags and authenticity certificates for detecting counterfeited or stolen brand objects
WO2007113040A1 (en) * 2006-03-31 2007-10-11 International Business Machines Corporation Method and systems using identifier tags and authenticity certificates for detecting counterfeited or stolen brand objects
US7818395B2 (en) * 2006-10-13 2010-10-19 Ceelox, Inc. Method and apparatus for interfacing with a restricted access computer system
US8412949B2 (en) * 2006-05-05 2013-04-02 Proxense, Llc Personal digital key initialization and registration for secure transactions
WO2008010899A2 (en) * 2006-06-30 2008-01-24 Electronics Plastics, Llc Biometric embedded device
JP4956096B2 (ja) * 2006-08-30 2012-06-20 株式会社東芝 認証システム及び装置
US7886156B2 (en) 2006-09-18 2011-02-08 John Franco Franchi Secure universal transaction system
US20080097924A1 (en) * 2006-10-20 2008-04-24 Electronic Plastics, Llc Decentralized secure transaction system
US9269221B2 (en) 2006-11-13 2016-02-23 John J. Gobbi Configuration of interfaces for a location detection system and application
GB2444286B (en) 2006-12-01 2011-06-08 Advanced Risc Mach Ltd Improving processing efficiency on secure systems having a host processor and smart card
US8296741B1 (en) * 2007-03-05 2012-10-23 Google Inc. Identifying function-level code dependency by simulating runtime binding
US9081948B2 (en) * 2007-03-13 2015-07-14 Red Hat, Inc. Configurable smartcard
CN101884188A (zh) 2007-07-12 2010-11-10 创新投资有限责任公司 身份鉴别和受保护访问系统、组件和方法
WO2009011661A1 (en) * 2007-07-18 2009-01-22 Agency For Science, Technology And Research Method and device for determining a similarity value between minutiae templates
US8659427B2 (en) 2007-11-09 2014-02-25 Proxense, Llc Proximity-sensor supporting multiple application services
US8171528B1 (en) 2007-12-06 2012-05-01 Proxense, Llc Hybrid device having a personal digital key and receiver-decoder circuit and methods of use
WO2009079666A1 (en) 2007-12-19 2009-06-25 Proxense, Llc Security system and method for controlling access to computing resources
WO2009102979A2 (en) 2008-02-14 2009-08-20 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
US8302167B2 (en) * 2008-03-11 2012-10-30 Vasco Data Security, Inc. Strong authentication token generating one-time passwords and signatures upon server credential verification
US11120449B2 (en) 2008-04-08 2021-09-14 Proxense, Llc Automated service-based order processing
US20100161488A1 (en) 2008-12-22 2010-06-24 Paul Michael Evans Methods and systems for biometric verification
JP4649523B2 (ja) * 2009-06-03 2011-03-09 株式会社東芝 アクセス制御システム
US9418205B2 (en) 2010-03-15 2016-08-16 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US8918854B1 (en) 2010-07-15 2014-12-23 Proxense, Llc Proximity-based system for automatic application initialization
US9246914B2 (en) 2010-07-16 2016-01-26 Nokia Technologies Oy Method and apparatus for processing biometric information using distributed computation
GB2483515B (en) 2010-09-13 2018-01-24 Barclays Bank Plc Online user authentication
KR101178552B1 (ko) * 2010-12-29 2012-08-30 주식회사 유니온커뮤니티 생체인증 시스템과 그 생체 인증방법
US8857716B1 (en) 2011-02-21 2014-10-14 Proxense, Llc Implementation of a proximity-based system for object tracking and automatic application initialization
US8810368B2 (en) 2011-03-29 2014-08-19 Nokia Corporation Method and apparatus for providing biometric authentication using distributed computations
US9436864B2 (en) * 2012-08-23 2016-09-06 Apple Inc. Electronic device performing finger biometric pre-matching and related methods
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
WO2014183106A2 (en) 2013-05-10 2014-11-13 Proxense, Llc Secure element as a digital pocket
US20150082390A1 (en) * 2013-09-08 2015-03-19 Yona Flink Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
US9614815B2 (en) * 2013-12-30 2017-04-04 Vasco Data Security, Inc. Authentication apparatus with a bluetooth interface
KR102208631B1 (ko) * 2014-02-19 2021-01-28 삼성전자 주식회사 전자 장치의 보안 정보 입출력 방법 및 이를 사용하는 전자 장치
EP3152696B1 (en) * 2014-06-09 2019-07-03 Aware, Inc. System and method for performing biometric operations in parallel
US9875347B2 (en) * 2014-07-31 2018-01-23 Nok Nok Labs, Inc. System and method for performing authentication using data analytics
CN104301117B (zh) * 2014-10-22 2017-11-28 中国联合网络通信集团有限公司 身份校验方法及装置
CN104469768B (zh) * 2014-11-06 2018-03-02 中国联合网络通信集团有限公司 基于应用软件的用户身份校验方法和装置
US9836591B2 (en) 2014-12-16 2017-12-05 Qualcomm Incorporated Managing latency and power in a heterogeneous distributed biometric authentication hardware
US9912657B2 (en) 2015-06-02 2018-03-06 Dipankar Dasgupta Adaptive multi-factor authentication system
US20180225669A1 (en) * 2015-08-03 2018-08-09 All It Top Co., Ltd. Financial transaction relay system having multi-safety lock function of processing user authentication by scanning both finger pulse and fingerprint, and processing method therefore
FR3045885A1 (fr) * 2015-12-22 2017-06-23 Morpho Procede d'identification biometrique
SE539630C2 (en) * 2016-02-24 2017-10-24 Fingerprint Cards Ab Method and system for controlling an electronic device
SE1650354A1 (en) * 2016-03-16 2017-09-17 Fingerprint Cards Ab Method and system for evaluating fingerprint templates
US10990658B2 (en) * 2016-07-11 2021-04-27 Samsung Electronics Co., Ltd. Method and apparatus for verifying user using multiple biometric verifiers
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
JP6794808B2 (ja) * 2016-12-07 2020-12-02 コニカミノルタ株式会社 画像処理装置、同装置によるicカード処理回数の通知方法及び通知プログラム
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
KR20200100481A (ko) * 2019-02-18 2020-08-26 삼성전자주식회사 생체 정보를 인증하기 위한 전자 장치 및 그의 동작 방법
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
CN110348347A (zh) * 2019-06-28 2019-10-18 深圳市商汤科技有限公司 一种信息处理方法及装置、存储介质
KR20210032629A (ko) * 2019-09-17 2021-03-25 삼성전자주식회사 지문 인식 센서를 포함하는 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치
TWI710987B (zh) * 2019-12-03 2020-11-21 開曼群島商現代財富控股有限公司 具多重簽章的錢包服務系統及其方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003135A (en) 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
JP2950307B2 (ja) 1997-11-28 1999-09-20 日本電気株式会社 個人認証装置と個人認証方法
US6754820B1 (en) * 2001-01-30 2004-06-22 Tecsec, Inc. Multiple level access system
US6219439B1 (en) * 1998-07-09 2001-04-17 Paul M. Burger Biometric authentication system
SG67584A1 (en) * 1999-07-08 2001-02-20 Ct For Signal Proc Of The Nany Two-stage local and global fingerprint matching technique for automated fingerprint verification/indentification
CA2382042A1 (en) * 1999-08-06 2001-02-15 Precise Biometrics Ab Checking of right to access
EP1959369A1 (en) 1999-12-10 2008-08-20 Fujitsu Limited User verification system, and portable electronic device with user verification function utilising biometric information
JP4189870B2 (ja) 1999-12-28 2008-12-03 日本電信電話株式会社 Icカードシステムにおいて利用可能なicカードおよびicカードシステム
JP2001236324A (ja) 2000-02-24 2001-08-31 Fujitsu Ltd バイオメトリクス情報による個人認証機能を有する携帯電子装置
EP1423821B1 (en) * 2001-06-29 2006-08-16 Precise Biometrics AB Method and apparatus for checking a person's identity, where a system of coordinates, constant to the fingerprint, is the reference
US7274807B2 (en) * 2002-05-30 2007-09-25 Activcard Ireland Limited Method and apparatus for supporting a biometric registration performed on a card
US20040122774A1 (en) * 2002-08-02 2004-06-24 Martin Studd Method and system for executing applications on a mobile device
US7574734B2 (en) * 2002-08-15 2009-08-11 Dominique Louis Joseph Fedronic System and method for sequentially processing a biometric sample

Also Published As

Publication number Publication date
CN100373285C (zh) 2008-03-05
JP2005535989A (ja) 2005-11-24
WO2004019190A1 (en) 2004-03-04
US8406478B2 (en) 2013-03-26
CN1705923A (zh) 2005-12-07
AU2002334565A1 (en) 2004-03-11
US20060129838A1 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
JP4433472B2 (ja) 分散型認証処理
US10824714B2 (en) Method and system for securing user access, data at rest, and sensitive transactions using biometrics for mobile devices with protected local templates
US11936788B1 (en) Distributed ledger system for identity data storage and access control
US6970853B2 (en) Method and system for strong, convenient authentication of a web user
US7447910B2 (en) Method, arrangement and secure medium for authentication of a user
RU2320009C2 (ru) Системы и способы для защищенной биометрической аутентификации
US8842887B2 (en) Method and system for combining a PIN and a biometric sample to provide template encryption and a trusted stand-alone computing device
US20120032782A1 (en) System for restricted biometric access for a secure global online and electronic environment
US20070180263A1 (en) Identification and remote network access using biometric recognition
US20070118758A1 (en) Processing device, helper data generating device, terminal device, authentication device and biometrics authentication system
US20080180212A1 (en) Settlement terminal and ic card
US20090235086A1 (en) Server-side biometric authentication
JP2004506361A (ja) デバイスの検証ステータスを提供することによる電子通信におけるエンティティ認証
JP2009064202A (ja) 認証サーバ、クライアント端末、生体認証システム、方法及びプログラム
JP2006209697A (ja) 個人認証システム、この個人認証システムに使用される認証装置、および個人認証方法
JP2002539656A (ja) 信頼できる計算プラットフォームのためのスマートカード・ユーザインターフェイス
JP2000181871A (ja) 認証方法及び装置
JP2003099404A (ja) 認証サーバ装置、クライアント装置およびそれらを用いたユーザ認証システム、並びにユーザ認証方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
EP1046976A2 (en) Method and apparatus for enabling a user to authenticate a system prior to providing any user-privileged information
EP1465380A1 (en) Device which executes authentication processing by using offline information, and device authentication method
KR101876672B1 (ko) 블록 체인을 이용한 전자 서명 방법 및 이를 실행하는 시스템
JP2007272600A (ja) 環境認証と連携した本人認証方法、環境認証と連携した本人認証システムおよび環境認証と連携した本人認証用プログラム
JP4612951B2 (ja) ローミング中のユーザに認証信用証明を安全に配布するための方法および装置
US20240013198A1 (en) Validate digital ownerships in immutable databases via physical devices
KR102310912B1 (ko) 생체 측정 식별 시스템 및 작동 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051107

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051107

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051107

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees