(57)【特許請求の範囲】
【請求項１】
検知ユニットを作動させて、ユーザの指紋を複数検出し、
デジタイザによって、その検出した複数の指紋をデジタル化し、
減算器によって、前記指紋からデジタル化された背景を減算して、差分処理後の指紋を得、
記憶手段によって、該指紋を登録指紋としてデータベースに記憶し、
登録ユニットによって、所定のファイルのブート・セクタを変更して該ファイルを前記登録指紋に関連づけし、ユーザが前記ファイルにアクセスした場合に、該ユーザの指紋を要求するよう構成した指紋を用いた検証または認証のための指紋登録方法。
【請求項２】
前記登録ユニットが、前記複数の指紋から最良の質の指紋を選択して、その最良の質の指紋を前記データベースに登録する請求項１記載の指紋登録方法。
【請求項３】
検知ユニットによって、複数の指紋を検出し、
デジタイザによって、その複数の指紋をデジタル化し、
減算器によって、前記検出された指紋からデジタル化された背景を減算して、差分処理後の指紋を得、
記憶手段によって、その差分処理後の指紋を登録指紋としてデータベースに記憶し、
登録ユニットによって、パスワードによって保護されたファイルと前記登録指紋とを関連づけし、ユーザが前記ファイルに指紋照合をもってアクセスした場合には、前記パスワードが自動的に入力されるよう構成した指紋を用いた登録方法。
【発明の詳細な説明】
発明の分野
本発明は、計量生物学に関し、詳細には、計量生物学を使用する個人の電子検証および識別に関する。
発明の背景
電子時代を迎えて、コンピュータ・システムおよび電子トランザクションの安全を確保することがますます重要になっている。既存のパスワードおよび暗号技法によって、コンピュータ・システム、電子商取引、および電子トランザクションのセキュリティ問題が解決されつつあるようである。このような解決策では、個人に関連する１組のデジタル識別キーによって電子トランザクションおよび情報交換を安全に継続することができる。しかし、このような識別キーを正当な所有者にしか使用できなくする試みはほとんどなされていない。これは、安全なコンピュータ・アクセス、電子商取引、ホーム・バンキング、販売時点情報管理、電子トランザクション、および同様な機構を真に安全な機構にする場合に安全を確保する必要のある重大なリンクである。
現在、パスワードがこのような問題の大部分に対処している。たとえば、コンピュータ・システムへのログイン、現金預払機からの現金の引出し、デビット・カードの処理、電子バンキング、同様なトランザクションなど大部分の電子トランザクションはパスワードを必要としている。ますます多くのシステムの安全を確保することが試みられているため、ユーザが増大し続けるパスワード・リストを記憶する必要があるので、パスワードは不完全な解決策である。加えてパスワードは、当人がパスワードを入力しているのを観察することによって、比較的簡単に得られる。さらに、ユーザが互いにパスワードを教えあわず、あるいはパスワードを紛失せず、あるいは盗まれないという保証はない。したがって、パスワードは、多数の機能に対して十分に安全であるとはみなされていない。
指紋識別が検討される機会が増えている。指紋は、個人に固有のものであり、記憶を必要とせず、盗用することが比較的困難であるという利点を有する。したがって、いくつかの安全システムは指紋認識に切り換えている。指紋認識では一般に、ユーザが自分の指紋を指紋検知ユニット上に配置する必要がある。各指紋は、隆起と溝の固有の配置からなる。指紋検知ユニットは、ユーザの指紋のアナログ画像を同軸ケーブルを介してコンピュータ・システムに伝送する。次いで、コンピュータ・システムは、その指紋をコンピュータ・システム内の指紋テンプレートのデータベースと突き合わせる。しかし、従来技術の指紋識別方法にはいくつかの問題がある。
第１に、指紋検知ユニット、すなわち、指が配置される装置は一般に大型である。このことは、このような装置をポータブル・コンピュータや消費者電子機器と共に使用するように構成することも、あるいは空間が限られた状況で使用するように構成することもできないことを意味する。
また、指紋装置は一般に、コンピュータ・システムとの接続だけでなく電源アウトレットとの接続も必要とする。このことは、指紋装置を使用する必要がある場合、追加の電源アウトレットが使用されることを意味する。したがって、このような装置を、余分の電源アウトレットが利用できない状況で使用できるように構成することはできない。
さらに、従来型の指紋装置は一般に、指紋のアナログ画像を同軸ケーブルを介して伝送するので、セキュリティが侵害される恐れがある。アナログ指紋画像は、同軸ケーブル上で伝送される画像をインタセプトすることによって得ることができる。したがって、不正なユーザが画像取込み装置を有している場合、このユーザは、取り込まれた画像を再送信することによって、最初のユーザを装うことができる。このため、実際の指紋検知手順を誰も見ていない場合にはセキュリティが低下する。
さらに、従来型のシステムにおける指紋処理は一般にコンピュータ・システム内で行われるので、コンピュータ・システム自体が不正に使用され、指紋検知ユニットから与えられるセキュリティを侵害する恐れがある。最終的に、コンピュータ・システムは、装置から受信した指紋がデータベース内の指紋と一致するかどうかを判定する。データベースを改ざんすることも、あるいは指紋をデータベースと突き合わせるプロセスを、虚偽の肯定表示を送信するように改ざんすることもできる。このように、指紋検知システムの利点は失われる恐れがある。
さらに、従来型のシステムでは、ユーザが指紋検知システムと対話する必要がある。一般に、従来技術の指紋検知プロセスは以下のとおりである。まず、ユーザが検知センサ・プラテン上に自分の指を位置決めする。コンピュータ・モニタ上に指紋の画像が十字線と共に表示される。ユーザは、十字線が心合わせされ、指紋が明確に表示されるように指を位置決めするよう求められる。ユーザは、指が適切な位置にあると判定したときに、ボタンを押して、これが伝送すべき画像であることを示さなければならない。ユーザが適切な指紋を選択した後、装置は画像を取り出し、処理できるようにコンピュータ・システムへ送信する。しかし、この扱いにくくエラーの起こりがちな手順は、ユーザによる積極的な関与および制御を必要とする。このような対話が不要になれば有利である。
また、ユーザの指が極端に乾燥しているか、あるいはべたついているか、あるいは指が配置されるセンサ・プラテンが汚れている場合、従来型の指紋装置はそれほど正確ではない。これにはいくつかの理由がある。一般に、従来型の指紋装置は、センサ・プラテン上に配置された指の写真を撮る。指の隆起など、センサ・プラテンに接触するものがある場所は、光を反射せずに吸収する。指紋の溝など、センサ・プラテンに接触するものがない場所は、光を反射する。このため、検知センサ・プラテン上に吸収光および反射光の画像が生成される。しかし、センサ・プラテン上のごみおよび汚れも光を吸収し、それによって擬似画像を生成することがある。この画像は、実際の指紋を示すだけでなく、センサ・プラテン上のすべてのごみおよび汚れを表わす。従来技術におけるこれを解決する１つの方法は、画像が取り込まれる際に指により強い光を照射することである。このより強い光は、センサ・プラテン上の汚れを通過するほど強く、したがって、センサ・プラテン上に何らかの残さがある場合でも光が反射される。しかし、このようなより強い光を使用すると他の問題が生じる。光をより明るくするにはより高いパワーが必要である。より明るい光はまた、完全に明確であるとは言えない指紋を捕捉する可能性が低い。たとえば、ユーザの指が乾燥している場合、隆起が十分には画定されず、このより明るい光はこのような尾根を捕捉することができない。
したがって、汚れたセンサ・プラテンの悪影響を受けず、従来技術のセキュリティ侵害を許容しない、より正確な指紋検知方法が必要である。
発明の概要
指紋認識方法および装置を提供する。センサ上で指紋が検出される。この指紋がデジタル化される。デジタル化された背景が指紋から減じられ、その結果、差指紋が得られる。この差指紋が指紋テンプレートのデータベースと突き合わされる。
開始時と、各指紋が検出された後に、センサ・プラテンの画像を撮ることによって背景が得られる。したがって、汚れを含む背景の現状、照明の不均一さ、およびその他の因子が検出され、デジタル化された指紋から減じられる。
【図面の簡単な説明】
添付の図面の図において、本発明を制限としてではなく一例として説明する。図面で、同じ参照符号は同様な要素を指す。
第１図は、本発明の一実施形態を実装することのできるサンプル・システムの概略図である。
第２図は、デジタル処理システムおよびセンサの機能ブロック図である。
第３図は、ネットワーク化センサおよびサーバの一実施形態の機能ブロック図である。
第４図は、ウォレットの一実施形態の機能ブロック図である。
第５図は、センサで行われるプロセスを示す概略フローチャートである。
第６Ａ図および第６Ｂ図は、デジタル・システムで行われるプロセスを示す概略フローチャートである。
第７図は、本発明のセキュリティ・プロセスの一実施形態を示すフローチャートである。
第８Ａ図および第８Ｂ図は、本発明のセンサの一実施形態を示す図である。
第９図は、第８図のＦＰＧＡを示す図である。
第１０図は、本発明のデジタル・システムの一実施形態を示す図である。
第１１Ａ図および第１１Ｂ図は、指紋を登録するプロセスを示すフローチャートである。
第１２Ａ図は、指紋画像を捕捉するプロセスを示すフローチャートである。
第１２Ｂ図は、本発明で使用されるフィルタリング・プロセスの図である。
第１２Ｃ図は、指紋画像を捕捉するプロセス中に漸進的に撮られた指紋スナップショットを示す図である。
第１３図は、自動ローンチング・プロセスを示すフローチャートである。
第１４図は、スマート・カードを本発明の指紋認識システムと共に使用するプロセスを示すフローチャートである。
好ましい実施形態の詳細な説明
計量生物学を使用して個人の電子検証および識別を行う方法および装置について説明する。以下の説明では、説明の都合上、本発明を完全に理解していただくために多数の特定の詳細について述べる。しかし、当業者には、これらの特定の詳細なしに本発明を実施できることが明らかであろう。他の例では、本発明を不必要に不明確にするのを回避するために周知の構造および装置はブロック図形で示されている。
概要
第１図は、本発明の一実施形態を実装することのできるサンプル・システムの概略図である。デジタル・システム１００はコンピューティング・システムであり、受信されたデジタル化画像をデジタル化テンプレートのデータベースと比較し、デジタル化画像を受信するためのデジタル接続を制御する処理機能を有する。好ましい実施形態では、デジタル接続は、当業者にはよく知られているユニバーサル・シリアル・バス（ＵＳＢ）標準を満たすデータ・バスである。この図で、デジタル・システム１１０はコンピュータ・システムとして表わされている。コンピュータ・システム１１０は、コンピュータ・システム１１０の処理機能を含む本体１２０を含む。コンピュータ・システム１１０はディスプレイ１３０も含む。ディスプレイ１３０は、液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）、または同様な表示機構でよい。コンピュータ・システム１１０はデータ入力機構１４０を含む。この例では、キーボード１４０が示されている。キーボード１４０は、ユーザがコンピュータ・システム１１０と対話することを可能にする。従来型のカーソル制御装置１４５がさらに図示されている。カーソル制御装置１４５はマウス、トラックボール、ペン、または同様な装置でよい。
一実施形態では、コンピュータ・システム１１０にケーブル１７０を介してセンサ１５０が結合される。別法として、センサ１５０は、赤外線、無線周波数、モデム、ネットワーク、あるいはその他の直接的または間接的なデジタル接続を介してコンピュータ・システムに結合することができる。
本発明のセンサ１５０はセンサ・プラテン１６０を含み、センサ・プラテン１６０上に、指紋認識のために指が配置される。一実施形態では、ケーブル１７０は汎用シリアル・バス（ＵＳＢ）接続である。当業者には、他のデジタル接続も使用できることが明らかになろう。センサ１５０はさらに、電源との接続を有することができる。しかし、ケーブル１７０がＵＳＢ接続である場合、ＵＳＢ接続がパワーを供給するので、このような追加の電源接続は必要とされない。第１図が、本発明を実施することのできるシステムの一実施形態を示す図に過ぎないことを理解されたい。ポータブル・コンピュータ１１０、図示されたすべての構成要素を有するわけではないデジタル・システム、異なる形状または寸法を有するセンサ１５０などの代替構成を使用することもできる。
第２図は、本発明のデジタル・システム２１０およびセンサ２５０の機能ブロック図である。一実施形態では、デジタル・システム２１０はコンピュータ・システム１１０で実現することができる。デジタル・システム２１０は、データを一時的に記憶する一時データ記憶装置２１５を含む。一時データ記憶装置２１５は、ランダム・アクセス・メモリ（ＲＡＭ）および様々なレジスタを含むことができる。デジタル・システム２１０はさらに、データベース２２０を含むことができる。データベース２２０は、システムに登録されている各個人の指紋テンプレート、識別データなどを記憶する。比較器２２５は指紋データベースを比較する。一実施形態では、比較器２２５は、データベース２２０に記憶されているデータを、一時データ記憶装置２１５に記憶されているデータと比較することができる。比較器２２５は、それに供給されたデータが一致するかどうかを判定する出力を有する。
セキュリティ・ユニット２３０を使用してライン２９０上のデジタル・システム２１０とセンサ２５０の間に送信されるメッセージを暗号化し、解読し、セッション・キーを決定し、維持し、かつ使用する。セキュリティ・ユニット２５０について以下に詳細に述べる。インターフェイス２３５は、ユーザと、デジタル・システム２１０内のその他のプログラムおよびセンサ２５０と相互にやりとりする。インターフェイス２３５は、ＷＩＮＤＯＷＳまたはＭＡＣＩＮＴＯＳＨ環境で様々なウインドウを表示することができる。ＷｉｎｄｏｗｓはＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（マイクロソフト社）の商標であり、ＭａｃｉｎｔｏｓｈはＡｐｐｌｅ  Ｃｏｍｐｕｔｅｒｓ，Ｉｎｃ．（アップル・コンピュータ社）の商標である。
カード受取り装置２４０はデジタル・システム２１０と一体でよく、あるいは、バス、ケーブル、赤外線、またはその他の接続方法を介してデジタル・システム２１０に取り付けることができる。カード受取り装置２４０は、トークン、スマート・カード、バーコード、ディスケット、または同様の媒体、すなわちカード保有者の個人情報を記憶することができまたは指紋情報を含むことができる媒体を受け取るためのものである。カード受取り装置２４０を使用して、カードに記憶されている指紋情報によりカード保有者の身元を検証することができる。
登録装置２４５により、ユーザはデジタル・システム２１０で登録することができ、その結果、ユーザの指紋識別がデータベース２２０内に置かれる。デジタル・システム２１０はさらにユニバーサル・シリアル・バス（ＵＳＢ）コントローラ２０５を含んでよい。一実施形態において、ユニバーサル・シリアル・バス・コントローラ２０５はデジタル・システム２１０とセンサ２５０を連結する。ユニバーサル・シリアル・バス・コントローラ２０５は、データ・コンジットならびにパワーをセンサ２５０に提供する。ユニバーサル・シリアル・バス・コントローラ２０５のさらなる詳細を、１９９６年１月１５日付のｔｈｅ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｒｅｖｉｓｉｏｎ  １．０に見出すことができる。
センサ２５０は、接続２９０を通してデジタル・システム２１０につながる。一実施形態において、接続２９０はＵＳＢであり、これはデータ接続およびパワー接続の両方を提供する。あるいは、センサ２５０は別個のパワー接続を有することができる。
センサ２５０は、データ記憶装置２５５を含む。データ記憶装置２５５は、ＲＡＭ、レジスタ、ならびにメモリを含むことができる。データ記憶装置２５５は、指紋、テンプレート、合計、セッション・キー、永久センサ・シグニチャ、および同様のデータの中間の値を記憶する。
センサ２５０は、検知ユニット２６０をさらに含む。検知ユニット２６０はセンサ・プラテンを含むことができ、認識のため、その上にユーザが自身の指を置くことができる。検知ユニット２６０は、少なくとも１個のプリズムを照明してセンサ・プラテン上に指紋を反射する光で構成された、従来型の指紋検出機構でよい。反射した指紋は、検出器のアレイで受け取られる。あるいは、検知ユニット２６０は、容量性センサを含むその他の検出方法を使用することができる。
センサ２５０はさらにデジタイザ２６５を含む。デジタイザ２６５は、検知ユニット２６０から受け取った像をデジタル化する。像をデジタル化するのに使用できる機構は当技術分野で知られている。一実施形態では、従来型のアナログ−デジタル変換回路を使用する。
センサ２５０は、減算器２７０をさらに含む。以下に述べるように、減算器２７０は、デジタル化した指紋の画像をフィルタにかけ、指紋から背景画像を減じるために使用する。
センサ２５０内のセキュリティ・ユニット２７５は、デジタル・システム２１０内のセキュリティ・ユニット２３０に対応する。しかし、タンパ・プルーフ環境に、センサの秘密キー、そのシグニチャをさらに記憶することができる。
最後に、センサ２５０は決定ユニット２８０を含む。決定ユニット２８０は、指紋がデータベース２２０内の指紋に一致するかどうか最後の決定をするために使用することができる。決定ユニット２８０は、デジタル・システム２１０が安全ではなく、厳格なセキュリティが必要であるときに使用する。上述の構成要素の機能を、以下にさらに詳述する。
一実施形態では、デジタル・システム２１０はコンピュータ・システム、ＰＣＭＣＩＡカード、携帯用コンピュータ、ネットワーク・ステーションおよびサーバ、パーム・トップ・コンピュータ、または必要とされるデータを処理することが可能な任意のその他のシステムでよい。さらに、センサ２５０をデジタル・システム２１０内に配置することができる。このような場合、控え用メモリ、セキュリティ・ユニット、およびＵＳＢコントローラは必要としない。
第３図は、本発明を利用することが可能なネットワークを示す。センサ３１０はホスト３２０につながっている。ホスト３２０はネットワーク３３０への接続が可能になり、複数のシステム３２０、３４０、３５０を一緒につなぐことができる。サーバ３４０は、センサ３１０で感受した指紋に一致するデータベースを含む。その他のシステム３５０は、それ自体の処理パワーを利用することができる。したがって、実際の指紋認識処理は、複数のシステム３２０、３４０、３５０全体に分散する。このような分散処理は、ネットワークを通してリモート・データにアクセスするために利用することができる。サーバ３４０もその他のシステム３５０も安全ではないために、セキュリティの目的で、最後の照合をセンサ３１０で行うことができる。これは、処理データをセンサ３１０に送り返すことによって実現されよう。こうしてセンサ３１０は、一致した要素と元の指紋を感受する。一致した要素が元の指紋に真に一致することの確認は、センサ３１０で実現することができる処理である。したがってセンサ３１０は、最終の、一致した信号／一致していない信号を送り出すことができ、したがって、安全ではないネットワーク３３０全体に安全なシステムが創り出される。
第４図は、センサ２５０の機能とデジタル・システム２１０を単一装置に統合するシステムの一実施形態のブロック図を示し、これをウォレット４００と呼ぶ。ウォレット４００は、異なる構成のソフトウェアおよびハードウェアを実装することができる。例えばウォレット４００全体は、スマート・カード内に常駐させることができ、あるいは、スマート・カード、データベース、ネットワーク全体に分散した照合／制御ソフトウェアを含むことが可能な分散システムとして実装することができる。
検知ユニット４１０は、その上に指を置くことができるセンサ・プラテン４１５を有する。検知ユニット４１０は像を受け取り、デジタイザ４２０に送る。デジタイザ４２０は指紋をデジタル化し、照合ユニット４２５に送る。照合ユニット４２５は、記憶装置４３０へのアクセスをさらに有し、テンプレートのデータベースを記憶する。照合ユニット４２５は、受け取った指紋の特徴を記憶装置４３０のテンプレートに一致させる。一実施形態において、このようなウォレット４００は、指紋が記憶装置４３０に記憶されている一個人のみに属する。照合ユニット４２５は、指紋が一致するかどうかイエス／ノーの決定を、データ・フロー制御装置４３５に送る。データ・フロー制御装置４３５は、ユーザ・データ・ユニット４４０に記憶されているデータへのアクセスを制御する。ウォレット４００へのユーザのアクセスが確認されると、ユーザはさらに、データ・フロー制御装置４３５によって情報をウォレット４００にアップロードすることができる。
ユーザ・データ装置４４０は、ユーザのクレジット・カード番号、社会保障番号、身分証明などの情報を含むことができる。ユーザ・データ・ユニット４４０は、ユーザがユーザ・データ・ユニット４４０に記憶したい任意の情報をさらに含むことができる。ウォレット４００は、キーボード、マウス、トラックボール、タッチ・パッドなどの制御機構４４５をさらに含むことができる。ユーザは、ウォレット４００にデータを追加するために、制御機構４４５を使用することができる。
図５はセンサ２５０で生じているプロセスの概観を説明するフローチャートである。ブロック５０５でセンサがターンオンする。最初にデジタル・システム２１０がオンして始まる。代わりに、ＵＳＢ２９０はプラグ・アンド・プレイが可能であるので、センサがデジタル・システム２１０に接続して動作するようにすることもできる。
ブロック５１０で、初期化とセキュリティ・ハンドシェイクが生じる。デジタル・システム２１０とセンサ２５０の間の接続が安全な接続であるべきなので、セキュリティ・ハンドシェイクでセンサ２５０が取り替えられず、かつデジタル・システム２１０が変造されないことを確実にする。セキュリティ・ハンドシェイクは周知の暗号方式又は公開キー／秘密キー方式を用いて実装することができる。
ブロック５１５で、背景画像が捉えられ、デジタル化される。センサ２５０が初期化されると、検知ユニットの光源がターンオンし、画像が捉えられる。このとき、センサ・プラテンの上には指紋がなく、その画像は背景画像である。デジタル化された背景が一時的にデータ記憶２５５へ記憶される。代わりに、背景画像をデジタル・システム２１０に送り、そこのデータ記憶ユニット２１５に記憶させてもよい。背景画像は背景ノイズと画像を推測し、かつ全体的な背景を推測するのにも用いられる。一つの実施形態では、捉えた各背景画像は平均背景を生成するように処理される。その平均背景はセンサによって使用されるであろう。この学習プロセスは以下に詳細に説明される。
ブロック５２０でシステムは指紋がセンサ・プラテンで検出されたかどうかがテストされる。一つの実施形態では、この指紋の検出はセンサ・プラテンから受光した光のエネルギー・レベルの測定によって行われる。このエネルギー・レベルがあるレベル以下に落ちると指紋が検出される。代わりに、圧力センサ、熱センサなど似たようなデバイスによって検出してもよい。
センサ・プラテンに指紋がない場合、プロセスはブロック５１５に戻り、新たな背景画像を捉え、デジタル化する。一つの実施形態では、もし、指紋が検出されないと、新しい背景画像を約２秒ごとに捉えられる。元の背景を維持させてもよい。指紋が検出されるとブロック５２５に移る。
ブロック５２５で指紋画像が捉えられ、デジタル化される。上述したように、検知ユニット２６０は、センサ・プラテンの上に置かれた指紋の画像を受け取る。その画像は検出器アレイによって捉えられる。その捉えられた指紋がデジタル化され、記憶される。デジタル化された指紋はセンサ２５０に記憶されるかデジタル・システム２１０に記憶される。
ブロック５３０で、デジタル化された背景画像がデジタル化された指紋から減算され、差分処理後の指紋を得る。指紋画像から背景画像を減算することによってセンサ・プラテンの上のゴミや汚れ又は不均一な照明状態による画像乱れの程度が減少する。背景画像を減算することによって、差分処理後の指紋がセンサ・プラテンの上におかれた指紋を明確に表現する。ここで、減算とは、取得した指紋マイナス背景画像の差を得ること、または光学的条件及び画像条件の不完全さの効果を減少させるような画像と背景のいかなる処理をも意味する。一つの実施形態では、減算の間、背景のピクセル値が指紋の値より高いときデフォルト値に設定する。したがって、例えば、背景のピクセル値が１５０で、指紋のピクセル値が３０であるとすると０．３０か、他のデフォルト値に設定される。このようにしてこの減算結果が誤ったデータを伴うことがないようにすることができ、かつ負の数になるのを避けることができる。
ブロック５３５で、新たに背景画像を捉え、デジタル化する。指をセンサから外したとき、先の背景に最後の指の汚れが加わった新しい背景が新たに捉えられる。
ブロック５４０で、デジタル・システム２１０からノンス（nonce）を受け取る。ノンスは一つの特別の場合にのみ使用し、再使用しない。ノンスには日付／時間スタンプと可能な他のデータを含む。
ブロック５４５で差分処理後の指紋のハッシュを生成する。指紋ともに送られたハッシュは、照合した指紋がセンサ２５０によって獲得した実際の指紋であることを確実にする。さらに、ハッシュにノンスを含めることで、照合した指紋の時間と日付が検証される。これにより、誤った指示を得るためにユーザが古い指紋を再送するのを防ぐことができる。
ブロック５５０で、ハッシュと差分処理後の指紋がデジタル・システム２１０に送られる。デジタル・システムは、以下に詳細に述べるようにさらに処理するために指紋を使用する。
第６Ａ図と６Ｂ図はデジタル・システム２１０で生じる処理を説明するフローチャートである。デジタル・システム２１０はコンピュータ・システム、コンピュータ・システムに接続されたサーバ、自己収納型ＰＣＭＣＩＡカード、ネットワーク、その他の指紋を照合する処理能力を有する類似のデバイスでよい。
ブロック６１０で、ユニバーサル・シリアル・バス（ＵＳＢ）を初期化する。ＵＳＢはデータとパワーを接続する通信アーキテクチャである。ＵＳＢコントローラ２０５がＵＳＢ仕様にしたがって初期化される。接続がＵＳＢ接続でない場合、このステップは無視されるか、他のデジタル接続初期かステップが行われる。
ブロック６１５で初期化された信号とパワーがセンサ２５０に送られる。これによって図５で述べたようにセンサ２５０がターンオンする。プロトコルが安全なトランザクションに必要な情報を初期化する。
６２０で、センサ２５０によって指紋が検出されたという信号を受信したかどうかが判断される。もし、センサ２５０が指紋を検出すると、ある信号をデジタル・システム２１０に送る。そのような信号を受信しないと、プロセスはその信号を待つ。その信号を受けとるとブロック６２５へ進む。このプロセスは、一つの実施形態である第６Ａではループとして描かれているが、割込み駆動プロセスであってもよい。その場合、システムは「待つ」間に他の動作をするであろう。センサ２５０から信号が到着すると、デジタル・システムはイベント（割込み）を生成する。それによってデジタル・システム２１０内で適切なソフトウェアが動作し、その信号に応答する。そのような割込みハンドリングは従来公知である。
ブロック６２５で、ノンスをセンサ２５０に送る。ノンスには時間／日付スタンプ、カレント・セッション・キー、その他の情報が含まれている。指紋の通用とともにセンサの識別を検証するために使用される。
ブロック６３０で、差分処理後の指紋をセンサ２５０から受け取る。再びいうが、これは割込みでもよい。ハッシュは上述したように、ノンスの組み合わせと差分処理後の指紋である。ブロック６３５で、ハッシュがデコードされ、ノンスが検証される。さらに、セッション・キーも検証される。
ブロック６４０で、差分処理後の指紋をテンプレートのデータベースと比較する。テンプレートのデータベースはこのシステムに登録されているすべてのユーザを含む。この受け取った指紋がデータベースの指紋と比較される。その方法は従来から知られている。プロセスは第６Ｂ図のブロックＡに続く。
第６Ｂ図を参照する。ブロック６４５で本発明のプロセスは、予備一致が見つけられたか否かをテストする。一致がないと、プロセスは直接ブロック６７０へ進む。予備一致があると、プロセスはブロック６５０へ続き、その一致とハッシュの双方が最終照合のためにセンサに戻される。現に分析しているデジタル・システムが安全でないかもしれないので、これが必要である。指紋とその一致とをセンサへ戻すことによって、プロセスが安全になる。最終照合をデジタル・システム２１０で行ってもよい。
ブロック６５５で、一致／不一致検証信号をセンサから受け取る。センサは閉じており、安全なシステムであるので、一致があったかどうかの最終決定がセンサにとどめられている。これにより、デジタル・システム２１０での可能な変更が欠陥信号とならない。
ブロック６６０で、最終答えがイエスかノーか、すなわち指紋一致か不一致かが決定される。指紋が一致しないとブロック６７０でアクセスが拒否される。
もし、指紋が一致するとブロック６６５でプログラム、ファイル、又は情報へのアクセスが許可される。その上、指紋が一致すると、ブロック６７５で認識されたユーザの登録されたテンプレートが更新される。更新は照合プロセスを双方向に実施し、一致数字、すなわち一致した形状の割合を表す数字を得る。この数字に基づいて、最良の指紋が新しいテンプレート指紋として選択される。代わりに、現在のテンプレートに新しい指紋で得た情報を加えることで更新するためにバック・プロパゲーションを用いてもよい。さらに、現在のテンプレートを更新するためにコホネン（Kohonen）型非監視学習プロセスを用いてもよい。コホネン学習プロセスは当業者には周知である。
第５図、第６図で説明した全体の照合プロセスは非常に早い。一つの実施形態では照合手順をほぼ１秒の半分で行った。
セキュリティ
第７図は、本発明によって使用されるセキュリティの一つの実施形態を説明するフローチャートである。
上述したように、デジタル・システム２１０が安全である必要がないので、セキュリティ手順が本システムの変造を防ぐために重要である。セキュリティ手順の一つは、安全なシステムで最終照合を行うことである。その安全なシステムは安全なデジタル・キーとデータとを有する、安全なプロセッサ中のセンサであってもよい。一つの実施形態では、そのプロセッサとチップは、エポキシやそれに類似の除去困難な物質で覆うことによって安全に作成される。代わりに、センサの中でセキュリティ・システムが本システム中にハード・コード化されてもよい。さらに、より安全に処理するのに、センサと用いられる任意のシステムの間の通信に公開キー・秘密キーシステムを用いてもよい。一つの実施形態では、セッション・キーを用いるディフィ−ヘルマン（Diffie-Hellman）キー交換を用いる。他のデータ暗号化方法も用いることができ、それらは従来からよく知られている。センサとデジタル・システムとの間に転送されるすべてのデータの暗号化が本発明によって用意されている。その暗号化によって本発明が安全でない環境の広い範囲にわたって使用することができる。図７はディフィ−ヘルマン・キー交換を説明している。
ブロック７１０で、デジタル・システムに電源が投入され、センサがデジタル・システムに接続される。ブロック７２０で、デジタル・システムは証明を要求する。証明は特定のセンサに関連した識別名である。一つの実施形態では、証明は製造時にセンサに記憶される。各センサはそれぞれ独特の証明を持っている。代わりに、多くのセンサが同じシステムに関連付けられているなら、それは同じ証明を持っていてもよい。例えば、大きな会社は同じ証明を持つ多くのセンサを買い、交換可能とするであろう。
ブロック７２０で、センサは証明に応答する。この時点ではセンサとデジタル・システムとは相互に接続されているが、その接続は安全を検証されていないということに注意すべきである。
ブロック７３０で、デジタル・システムは公開キーを用いて証明の有効性をテストする。センサは証明の一部である秘密キーを持っている。公開キーは秘密キーでコード化されたドキュメントをエンコードするのに使用される。知られている公開キーで証明がエンコードできないときは、証明が適切な秘密キーでエンコードされなていないので、センサは適切なセンサでないことを意味する。
ブロック７４０で、デジタル・システムは、公開キーを用いてランダム数と時間スタンプを暗号化し、それをセンサに送る。これはセンサだけがその数を解読できるということを意味する。一実施形態では、そのランダムな数は５６デジット長である。
ブロック７５０で、センサは秘密キーでランダム数と時間スタンプを解読する。この時間スタンプは上記したノンスである。
ブロック７６０で、センサによって暗号化されたランダム数は、セキュリティのためのセッションで用いられるセッション・キーである。セッションが確立されるごとにセキュリティが再確立される。さらに、たとえ、盗人がシステムに一度アクセスしても、セッションが終了すると、その盗人は第２のセッションにアクセスするためにそのデータを役立てることができない。
センサ及びデジタル・システム
第８図は、本発明によるセンサの一実施形態のブロック図を示す。中央処理装置（ＣＰＵ）８１０を用いてインターフェイスを行って、ユニバーサル・シリアル・バス（ＵＳＢ）との接続８８５が行われる。ＣＰＵ  ８１０は、パワー・スイッチ８４５を制御し、このパワー・スイッチを介して光源８４０を制御する。この実施形態では、光源８４０はライト・エミッティング・ダイオード（ＬＥＤ）である。ＣＰＵ  ８１０は、他のコンポーネントも制御する。
ＣＰＵ  ８１０は、フィールド・プログラマブル（現場でプログラム可能な）・ゲート・アレイ（ＦＰＧＡ）８１５に結合される。ＦＰＧＡ８１５は、この実施形態のセンサ２５０の機能の多くを実現するものであり、ランダム・アクセス・メモリ（ＲＡＭ）を含み得る。ＦＰＧＡ  ８１５及びＣＰＵ  ８１０は共働して、減算器，フィルタ，ＵＳＢインターフェイス，ディジタイザ，セキュリティー・システムとして、機能する。水晶（クリスタル）８３０がＦＰＧＡ  ８１５に結合されてＦＰＧＡ  ８１５用のクロックを供給する。
消去可能なプログラマブル・リード・オンリー・メモリ（ＥＰＲＯＭ）８２０が、ＦＰＧＡ  ８１５とＣＰＵ  ８１０との間に結合されている。ＥＰＲＯＭ  ８２０には、センサ２５０の初期化用の情報が含まれている。ＥＰＲＯＭ  ８２０には、特定のセンサ２５０に付随していてその特定のセンサ２５０の識別の永久的な名前札（タグ）となるプライベート・キーを含めることができる。
電荷結合素子（ＣＣＤ）センサ８６０が、ＦＰＧＡ  ８１５にさらに結合されている。ＣＣＤセンサ８６０は、カラーまたは白黒を検出できる光感応（ライト−センシティブ）電子デバイスである。一実施形態では、ＣＣＤセンサ８６０は、グレー・スケールを検出するセンサである。各ＣＣＤセンサ８６０は、光感応フォトセルのアレイで構成される。一実施形態では、フォトセルは、露光をする前に、電荷を与えることによって検出可能状態にされる。ＣＣＤセンサ８６０は、それに結合された支援用電子回路（サポート・エレクトロニクス）８５０によって、動作状態におかれる。ＣＣＤセンサ８６０の出力は、演算増幅器８７０およびロウ・パス・フィルタ８７５を通されることによってクリーン・アップされる。ＣＣＤセンサ８６０のこのクリーン・アップされた（フィルタされた）出力は、アナログ−デジタル・コンバータ８８０を通されて、指紋のデジタル化がされる。このようにして得られたデジタル化された指紋画像が、ＦＰＧＡ  ８１５へ送られる。
第９図には、第８図のＦＰＧＡ  ８１５の構成の一実施形態が示される。ランダム・アクセス（ＲＡＭ）コントローラ９０５によってＲＡＭ  ９１０へのアクセスが制御される。ＲＡＭ  ９１０は、指紋画像を、オプティカル・フォーム（光学的な形状のまま）で及びデジタル形態で、記憶するのに使用される。ＲＡＭコントローラ９０５は、さらに、スタビリティ・カルキュレータ９２０へ情報を送る。スタビリティ・カルキュレータ９２０は、受けた指紋が安定であるときに、次に記載のように計算を行う。
ＲＡＭコントローラ９０５は、アナログ−デジタル・コンバータ８８０からデータを受ける。ＲＡＭコントローラ９０５は、タイミング・コントローラ９４５を介して受けたクロックによりクロックされる。ＦＰＧＡ  ８１５は更に、マルチプレクサ（ＭＵＸ）９１５を含む。ＭＵＸ  ９１５は、ＣＰＵ  ８１０のアドレスおよびデータ・ライン（第８図参照）のアクセスに用いられる。
ＲＡＭコントローラ９０５は減算器９９０を含む。減算器９９０は、指紋画像から背景画像を減算するのに使用されて、差分処理済み指紋が決定される。減算器の出力は、スタビリティ・カルキュレータ９９０に結合される。スタビリティ・カルキュレータ９９０の出力はスタビリティ・データ・レジスタ９７０に結合される。スタビリティ・データ・レジスタ９７０は、指紋画像が安定であることを示すステータス・レジスタでる
コンプレッサ９２５によって指紋画像は圧縮されてから、パラレル・ポート・インターフェイス９３０へ伝送される。或いは、圧縮された指紋画像は、ＵＳＢインターフェイス９３５を介して伝送される。一実施形態では、コンプレッサ９２５は、ハフマン（Ｈｕｆｆｍａｎ）圧縮を使用する。ハフマン圧縮は、従来からあるデータ圧縮技術であり、エンコードされたシンボルの長さを、当該シンボルの内容に応じて変える技術、すなわち、或るシンボル又はトークンの使用の頻度が多くなるほど、圧縮されたストリーム中で当該シンボル又はトークンを表すのにより短いバイナリ・ストリングを用いる技術である。
ゼネラル・ペリフェラル・インターフェイスないしユニバーサル・シリアル・バス（ＵＳＢ）インターフェイス９３５が、ユニバーサル・シリアル・バスへデータを送るのに用いられる。一実施形態では、ＵＳＢアクセスは、ＣＰＵ  ８１０を通して達成される。しかし、ＵＳＢインターフェイス９３５は、ＦＰＧＡ  ８１５内に位置させ得る。
ステータス・レジスタ９４０が、ＭＵＸ９１５及びＣＰＵインターフェイスに結合されている。ステータス・レジスタ９４０は、パラレル・ポートおよびフレームを含む通信デバイスの一般ステータス（状態）を示す。ステータス・レジスタ９４０は、ＣＰＵ  ８１０により制御されて、ステータス・レジスタの情報をＲＡＭコントローラ９０５に送る。
コントロール・レジスタ９５０は、ＭＵＸ  ９１５に結合されている。コントロール・レジスタは、ＣＰＵ  ８１０によりセットされて、ＦＰＧＡ  ８１５の機能を制御する。アドレス・レジスタ９５５は、ＲＡＭ  ９１０のＲＡＭデータのアドレスを含み、ＣＰＵ  ８１０によるＲＡＭデータへのアクセスを可能とする。一実施形態においては、アドレス・レジスタ９５５は、データがアドレスへ書き込まれると、自動的にインクリメントされる。アドレス・レジスタはコントロール・レジスタ９５０により制御される。リード・データ・レジスタ９６５およびライト・データ・レジスタ９６０は、ＲＡＭ  ９１０から読み出し（リードし）、ＲＡＭ  ９１０へ書込む（ライトする）データをバッファする。
スレショルド・レジスタ９７５は、スタビリティ・カルキュレータ９２０でのスタビリティの計算に必要なしきい値数を含んでいる。これらのしきい値数については、以下に詳細を述べる。一実施形態においては、スレショルド・レジスタ９７５は、ＣＰＵ  ８１０によって書き込まれる。ポート・データ・レジスタ９８５は、ＣＰＵ  ８１０から送られてパラレル・ポート・インターフェイスを通して送られるデータを記憶するレジスタである。ＵＳＢデータ・レジスタ９８０は、ＵＳＢインターフェイスのデータ用のレジスタである。一実施形態では、ＵＳＢデータ・レジスタは、リード・オンリー・レジスタであり、システム情報を記憶する。
第１０図は、本発明の一実施態様のデジタル・システムを示す図である。デジタル・システム１０００には、情報通信のためのシステム・バス１０１０若しくは他の通信手段と、システム・バス１０１０に結合されて情報の処理を行うプロセッサ１０２０とが含まれる。デジタル・システム１０００には更に、システム・バス１０１０に結合されていて、静的な情報（ｓｔａｔｉｃ  ｉｎｆｏｒｍａｔｉｏｎ）およびプロセッサ１０２０用のインストラクションを記憶するリード・オンリー・メモリ（ＲＯＭ）および／または他のスタティック記憶デバイス１０３５が含まれる。デジタル・システム１０００には更にまた、メイン・メモリ１０３０（実行されるべきインストラクションおよび情報を記憶するダイナミック記憶デバイスが含まれる。メイン・メモリ１０３０は、一時的な変数または他の中間的情報をインストラクションの実行中に記憶するために使用される。一実施形態では、メイン・メモリ１０３０はランダム・アクセス・メモリ（ＤＲＡＭ）である。
デジタル・システム１０００は、さらに、ユニバーサル・シリアル・バス（ＵＳＢ）１０８５の制御用コントローラであるユニバーサル・シリアル・バス（ＵＳＢ）・コントローラ１０８０を含む。ＵＳＢ１０８５は、幾つかのＵＳＢデバイス１０９０をデジタル・システム１０００に結合する。センサ２５０は、ＵＳＢ１０８５でデジタル・システム１０００に結合される幾つかのＵＳＢデバイス１０９０の１つである。
デジタル・システム１０００は、システム・バス１０１０を介して、ユーザへ情報を表示する陰極線管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）スクリーンのようなディスプレイ・デバイス１０５０に結合される。英数文字入力デバイス１０５５が、プロセッサ１０２０に対しての情報通信およびコマンド選択のために、通常、システム・バス１０１０に結合される。他のユーザ入力デバイスは、マウス，トラックボール，トラックパッド，カーソル用矢印キーのようなカーソル・コントロール・デバイス１０６０である。カーソル・コントロール・デバイスは、プロセッサ１０２０に情報の向きやコマンド選択を通信し、ディスプレイ・デバイス１０５０上でのカーソルの動きを制御する。他の手段として、スタイラス若しくはペンのような入力デバイスをディスプレイとの対話のために使用できる。デジタル・システム１０００は、システム・バス１０１０を介して、ネットワーク通信デバイス１０６５へ結合され得る。ネットワーク通信デバイス１０６５は、デジタル・システムを、他のデジタル・システム，サーバ，ネットワークへ結合するために使用できる。
登録（レジストレーション）
第１１図Ａおよび第１１図Ｂは、指紋を登録するプロセスを示すフローチャートである。登録は、ユーザが登録インターフェイスを開くことによって開始される。このシステムが初めて起動されるときは、登録プロセスを自動的に開くようにすることもできる。
ブロック１１１０で、登録をしたい人の識別名が要求される。識別名は、イニシャルまたは他の識別子で良く、後で指紋と関連づけをされる。一実施形態においては、ユーザのフルネームが要求される。ウォレットまたは類似の「所有」されているシステムでは、識別名は要求されず、そのプロセスで登録された人は、当該の物の所有者であると推定される。
ブロック１１１５で、指紋が要求される。これは、ウインドウに「これから登録をしたい指をセンサ上に置いて下さい」または類似のメッセージを表示することによって達成される。或いは、要求のメッセージをせずに、ただ待っているだけ、のようにシステムを構成してもよい。
ブロック１１２０で、複数の異なる指紋がとられる。叙上のように、ＣＣＤセンサ８６０は指紋を検出し、光学的画像をＲＡＭへとコピーする。この時に、ユーザがたとえ指を一度だけセンサ・プラテン上に置いただけでも、複数の指紋をとることができる。
ブロック１１２５では、それらの指紋のそれぞれがデジタル化される。それらの指紋は、一時的にセンサに記憶される。或いは、デジタル・システムに記憶される。
ブロック１１３０で、デジタル化された背景画像がデジタル化された指紋それぞれから減算されて、差分処理済みの指紋が複数得られる。叙上のように、デジタル化背景画像は、センサが最初にターン・オンされた時に得られ、指紋がとられた後ごとに得られる。
ブロック１１３５では、指紋相互の比較がされる。これは、指紋評価についての公知の技術を用いることによって行うことができる。指紋評価は、たとえば、３またはそれ以上の指紋を照合し、指紋間で一致する点の数を調べることによって行われる。そのような比較に基づいて、最も質の良い指紋を決定できる。
ブロック１１４０で、最良の指紋が選択される。登録される指紋は、後で未確定の指紋と比較される基準であるから、可能な限り最良の指紋であるべきである。それ故、指紋の特徴を最も明確に呈しているものが、登録される指紋として選択される。或いは、幾つかの登録指紋の全てを単一の合成指紋として合成してデータ・ベースに記憶するための指紋とする。或いはまた、最良の指紋を選択し、その選択した最良の指紋を、更に、他の指紋から学習を行う学習プロセスを使用して改善することができる。さらにまた、ブロック６７５について述べたように、テンプレートを、ユーザから新たな指紋が得られる毎に更新することができる。このプロセスは公知である。或いは、このステップはスキップすることもできる。
第１１図Ｂに示されるように、ブロック１１４５では、選択された差分処理済み指紋がデータ・ベースに記憶される。或いは、選択をスキップして、すべての差分処理済み指紋を、登録データ・セットとして、データ・ベースに記憶することもできる。
ブロック１１５０で、システムは、ユーザが、指紋および識別名に対して関連づけを望むファイルおよびアプリケーションの指定を要求する。ユーザは、ファイルおよびアプリケーションを関連づけることができ、それらのファイルおよびアプリケーションは、指紋確認プロセスが成功した後で自動的に開かれる。もし、そのような関連づけがなされていなければ、指紋は、単にユーザを正当と確認するだけであるか、または、ユーザが、デジタル・システム２１０またはそれに結合された他のシステムに記憶されているユーザ自身のデータにアクセスすることを許すだけである。
ブロック１１５５で、ユーザによりファイルが特定されたか否かが決定される。もし、特定されたファイルがなければ、プロセスは、ブロック１１８０へ進む。ファイルが特定されていれば、プロセスはブロック１１６０へ進む。
ブロック１１６０において、システムは、選択されたファイルに存在するセキュリティの種類を決定する。ユーザは、プログラム・ファイル，アプリケーションファイル，または，特定のデータ・ファイルのようなファイル，または，ワード・プロセッサ・ファイルを選択できる。ファイルは、ものによっては、パスワードのプロテクションが既に施されている。例えば、ウインドウズ用のワード（マイクロソフト・コーポレーションの商標名）では、データ・ファイルのパスワード・プロテクションを施すことができる。選択されたファイルにセキュリティが施されていないか、施されていても容易に変更できるセキュリティであれば、プロセスはブロック１１６５へ進む。
ブロック１１６５では、選択されたファイルのブート・セクタを、指紋検証ないし識別が許容されるように、変更する。かくして、ユーザは、そのファイルにアクセスするには、自己の指紋の呈示をしなければならなくなる。ブート・セクタの変更は従来技術において知られている。ブート・セクタのフォーマットは、プラットフォームに依存するものであり、従って、公知であり、プラットフォームそれぞれごとに変更可能である。それ故、プロセスは、選択されたファイルのブート・セクタにアクセスし、その変更をする。一実施形態では、当該変更は、ブート・プロセスを指紋識別サブルーチンへとポイントさせることから成る。指紋識別サブルーチンの終わりでは、ブート・セクタへ戻るポイントをさせる。かくして、実行中に、指紋検証サブルーチンが、コールされて実行される。
ブロック１１６０で、選択されたファイルが、既にパスワードでプロテクションを施されていたならば、そのようなプロテクションは容易には変更できないから、プロセスはブロック１１７０へ進む。ブロック１１７０で、パスワードでプロテクションを施されたファイルについてのパスワードが要求される。ユーザは、当該ファイルのパスワードを入力しなければならない。ブロック１１７５で、当該ファイルに付随のパスワードが、データ・ベースに、ユーザの指紋および識別名と関連させて登録される。かくして、次回からは、ユーザがファイルを選択し、指紋識別を使用すると、システムによって、自動的に当該ファイルおよび当該個人のパスワードが挿入され、ファイルが開かれる。
ブロック１１５５において、ファイルがリスト（特定）されていなければ、プロセスは、ブロック１１８０へ進む。ブロック１１８０で、デフォルト・アクセスを特定でき、指紋に対して関連づけを行える。デフォルト・アクセスが可能となり、例えば、ユーザのパーソナル・ファイルが格納されているサーバないしシステムの特別領域へのアクセスが許される。例えば、指紋識別によって、特別のファイル・リストへの自動アクセスが可能となる。一実施形態では、ブロック１１１０で入力したユーザ識別名を使用して、デフォルト領域アクセスを決定することができる。或いは、もしそのような領域が存在しなければ、プロセスはブロック１１８５へ直接に進む。ブロック１１８５で、登録プロセスが完了する。
指紋獲得
第１２Ａ図は指紋画像を捉えるプロセスを説明するフローチャートである。これは、第５図のブロック５３５，５４０，５４５に関して、すなわち指紋獲得、指紋デジタル化、指紋から背景の減算に関して述べた機能のより詳細な説明である。
ブロック１２００で、指紋の存在を検出する。上述したように、センサのセンサ・プラテンに入射するエネルギーの変化の結果として検出される。ブロック１２０５で和がゼロに設定される。この和の使用は後で明らかにする。
ブロック１２１０で、指紋が捉えられ、デジタル化される。このプロセスはすでに詳細に説明されている。ブロック１２１５で、デジタル化された背景画像がデジタル化された指紋から減算される。これが、センサ・プラテン上の実際の指紋をより明瞭に表す結果となる。
ブロック１２２０で、画像は、Ｘ番目ごとの行とＹ番目ごとの列を取ることでフィルタされ、かつそれらの行と列のピクセルのみをとる。評価するのにＸ番目＊Ｙ番目だけのピクセルが必要であるので、以後の処理がかなり少なくなる。
第１２Ｂにこのフィルタ・プロセスが説明されている。絵Ａは小さな矩形によって表されるピクセル全部を備えた画像である。実際にこれはデジタル化された画像である。これらの矩形のそれぞれは特定のピクセルの強さのファクタに対応している。絵Ｂはピクセルの０番目と３番目の行と列の選択を表している。そして、絵Ｃはフィルターされた画像であり、矩形によって表されているフィルターされたピクセルのみが現れている。一つの実施形態では、ＸとＹは双方４である。したがって、１６分の１のピクセルのみが評価される。このフィルタされた画像にさらに処理が加えられる。このブロックはいくつかの実施形態ではスキップすることができる。
図１２Ａに戻る。ブロック１２２５で、そのフィルタされた画像に対して、ピクセルの強さがしきい値より高いピクセルの強さの和を決める。一つの実施形態では、デジタル化された数字はグレー・スケール数字である。それはピクセルが様々な強さを持っていることを意味する。一つに実施形態では、ピクセルの強さは０と６の間で変化する。この具体例でのしきい値は指紋のエネルギーの平均強さである。したがって、例えばしきい値は３である。２，４，６である３つのピクセルに対しては、結果は０，＋１、＋３で、その和は（４）である。
ブロック１２３０で、この和の導関数をとる。これは和の変化の早さを前の和と比較して決定する。一つの実施形態では、導関数は前の和を現在の和から引くことによって決定される。
ブロック１２３５で、導関数が一定のしきい値より下であるかどうかが判断される。このしきい値はセンサの一般的な指紋品質に基づいて決められる。導関数がしきい値より下でないと、言い換えると、和がまだ増加していると、プロセスはブロック１２１０に戻り、次の画像が捉えられる。もし、導関数がしきい値より下であれば、プロセスはブロック１２４０に進む。
ブロック１２４０で、和が一定の最低しきい値より上であるかどうかが判断される。このしきい値は、特定のセンサで取った指紋の隆起に対する谷の平均コントラストである。一実施形態では、このしきい値は後の結果に基づいてシステム内で更新される。和がしきい値より上でないと、プロセスはブロック１２１０に戻り次の指紋が捉えられる。和が最低しきい値より上であれば、指紋は十分に大きく、かつ強い。プロセスはブロック１２４５と１２５０へと続く。ブロック１２４５で、最終指紋が獲得され、以後の処理に渡される。
第１２Ｃはこのプロセスの説明を表している。例えば、絵Ｄはほとんど見えない画像である。最初の画像は、エネルギー・レベルが減少しているとき捉えられたので、指の部分的な絵である。絵Ｄ、Ｅ、Ｆ、Ｇ、Ｈは、捉えられた連続する絵の間に指紋のサイズが順次大きくなっていることを示している。絵Ｉが捉えられるとそのサイズが減少しているとシステムが判断する。前の画像によって表された指紋のサイズ、絵Ｈが確保され、光学的指紋画像として残される。
第１２Ａに戻る。ブロック１２５０で、和はゼロに再設定される。ブロック１２５５で、次の画像が捉えられ、デジタル化される。ブロック１２６０で、画像から背景が減算される。ブロック１２６５で、画像がフィルターされ、ブロック１２７０で、しきい値強さより上の強さのピクセルの強さの和を加える。ブロック１２７５でこの和の導関数をとる。ブロック１２８０で、導関数がしきい値よりしたかどうかを判断する。そのしきい値はブロック１２３５で議論したしきい値と似ている。画像が減少を停止すると、画像の導関数はゼロに近づき、この導関数がしきい値に達する。導関数がしきい値より下でないとプロセスはブロック１２５５に戻る。ブロック１２８５で、和が一定のしきい値より下か否かが判断される。和がしきい値より下でないと、プロセスはブロック１２５５に戻る。和がしきい値より下であると、ブロック１２９０に続く。ブロック１２９０で、新しい背景を得る。分かるように、ブロック１２５５〜１２８５はブロック１２１０〜１２４０の反対である。かくして、新しい背景を得るためにプロセスは逆に実行する。この背景画像は次のプロセスで使用される。
自動立ち上げ
第１３図は、アプリケーションまたはドキュメントを自動立ち上げするプロセスを表すフローチャートである。ブロック１３１０において、アプリケーションが起動される。アプリケーションは、ファイルを選択するユーザ、すなわちセンサに指紋を載せるユーザ、またはその他によって起動することができる。
ブロック１３１５において、先に説明したデータベース内の指紋と関連づけられたファイルがあるか否かが決定される。すなわち、起動されたファイルが関連づける指紋検証／識別要求を有していない場合には、プロセスはブロック１３２０に進み、自動立ち上げプロセスは終了する。もしユーザが指紋検証／識別をもつファイルを選択した場合は、プロセスはブロック１３２５に進む。
ブロック１３２５において、プロセスは指紋を待つ。このとき指紋を要求する符号を表示してもよい。ユーザがセンサに指を載せることによってプロセスを起動した場合には、プロセスは直接このブロックへ行く。一つの実施形態として、プロセスはここからスタートし、ブロック１３１０，１３１５は省略される。これは、ユーザがそのユーザの特別の記憶領域または指紋認識を用いるデフォルトファイルにアクセスしたいときに適用可能であろう。
ブロック１３３０において、その指紋は認識のために処理される。このプロセスはすでに述べたとおりである。
ブロック１３３５において、データベースが参照され、そのユーザがその選択されたファイルまたはアプリケーションへのアクセスが認められているか否かが決定される。もしそのユーザがその選択されたファイルへのアクセスが認められていない場合には、プロセスはブロック１３４０に進み、そのファイルへのアクセスは拒否される。一つの実施形態として、「ユーザは選択されたファイルへのアクセスが認められていません」または類似のメッセージを表示する。
もしそのユーザがその選択されたファイルへのアクセスが認められているならば、プロセスはブロック１３４５に進む。ブロック１３４５において、ファイル／アプリケーションが初期設定される。もしこれがアプリケーション・プログラムであれば、そのアプリケーション・プログラムを選択する。もしそれがアプリケーション・プログラムによって開かれるファイルであれば、そのファイルを見つけて選択する。
ブロック１３５０において、どのタイプの自動立ち上げがその選択されたファイル／アプリケーションに関連づけられているかが決定される。先に登録について述べたように（第１１図）、ブートストラップまたはパスワードによってファイルを自動立ち上げすることができる。
第１３図に戻り、ブロック１３５０において、もしプロセスがパスワード自動立ち上げならば、プロセスはブロック１３５５に進む。ブロック１３５５において、そのファイルと指紋とに関連づけられたパスワードがデータベース内において探索される。第１１図においてすでに述べたように、パスワードにより使用可能となるファイル／アプリケーションに対しては、そのパスワードはデータベースに記録されている。ブロック１３６０において、パスワードがそのファイルに（正しい場所に）挿入され、そのファイルが開かれ／アクセスされる。
ブロック１３５０において、もしプロセスが直接自動立ち上げならば、プロセスはブロック１３６５に進む。ブロック１３６５において、アプリケーションを実行し、またはファイルにアクセスするためにブートストラップが用いられる。指紋によるアクセスを可能とするために、第１１図について先に述べたように、そのファイルのブート・セクタを変更することができる。したがって、その指紋が容認されると、ファイル／アプリケーションが自動的に呼び出される。
トークン・インターフェイス
第１４図は、本発明の指紋認識システムとあわせてトークンを用いるプロセスを示すフローチャートである。トークンは、キーやバーコード、ディスケット、スマート・カードまたは類似の外部データ・コンテナである。
ブロック１４１０において、ユーザはトークンを挿入する。一つの実施形態として、トークンはデジタル・システムに接続される必要がある。他の実施形態では、デジタル・システムはトークンと一体化されて、そのトークンはセンサと接続されることのみを必要とする。
ブロック１４１５において、プロセスは指紋の確認が可能かどうかをテストする。トークンは指紋確認なしで使用可能であろう。もし指紋の確認が可能でない場合には、プロセスはブロック１４２０に進む。ブロック１４２０において、指紋確認が実行できないのでプロセスは終了する。もし指紋確認が可能であれば、プロセスはブロック１４２５に進む。
ブロック１４２５において、指紋が要求される。これは、システムが「センサ上に指をおいてください」といったメッセージを表示することによって行うことができる。あるいはまた、単に内部における指紋確認の待ち状態としてもよい。したがって、ここではユーザはセンサに指を置く。
ブロック１４３０において、トークン上のテンプレートの正当性が確認される。トークンは正しいユーザの指紋のテンプレートを内部に含んでいる。プロセスは、そのテンプレートが改竄されているかどうかをテストする。一つの実施形態として、そのテンプレートが安全であることを確認するために、公開キーと秘密キーシグニチャーの交換が用いられる。
ブロック１４３５において、指紋はトークン上のテンプレートと比較される。そのトークンは、１または複数のユーザによって「所有」される。このステップでプロセスはトークンを使用しているユーザがトークンの所有者であるか否かをテストする。
ブロック１４４５において、プロセスはその指紋がトークンの所有者の指紋であってるか否かをテストする。そのトークンの所有者の指紋はそのトークンに登録されている。もしその指紋がそのトークン所有者の指紋でないならば、プロセスはブロック１４５０に進み、そのトークンは使用不能となる。さらにそのトークンが認められていないユーザによって使用されていることを示す警報を発してもよい。
もし、指紋がトークンの所有者のものである場合には、プロセスはブロック１４５５に進む。ブロック１４５５において、トークンは使用可能であり、そのユーザはそのトークンに記録されたデータにアクセスすることができる。例として、もしユーザがクレジット・カードであるスマート・カードを所有しているならば、そのスマート・カードが盗まれたものではなく、実際に当のそのユーザのものであることを確かめるのにこのプロセスを使用することが出来る。盗人はそのスマート・カードを使用可能とすることは出来ず、したがって、そのカード上に記録された秘密情報にアクセスすることが出来ない。
これまで明細書において、本発明はその特定の実施形態を参照して説明された。しかしながら、本発明の広範な精神および範囲から逸脱することなく、様々な修正と変更が可能であることは明らかである。したがって、明細書と図面は、制限的ではなく、むしろ例示的な意味に捉えられなければならない。本発明は、そのような実施形態と例によって制限されるべきではなく、むしろ以下の請求の範囲によって解釈されるべきである。
【図１】
0004125794.tif 000002
【図２】
0004125794.tif 000003
【図３】
0004125794.tif 000004
【図４】
0004125794.tif 000005
【図５】
0004125794.tif 000006
【図６Ａ】
0004125794.tif 000007
【図６Ｂ】
0004125794.tif 000008
【図７】
0004125794.tif 000009
【図８】
0004125794.tif 000010
【図９】
0004125794.tif 000011
【図１０】
0004125794.tif 000012
【図１１Ａ】
0004125794.tif 000013
【図１１Ｂ】
0004125794.tif 000014
【図１２Ａ】
0004125794.tif 000015
【図１２Ｂ】
0004125794.tif 000016
【図１２Ｃ】
0004125794.tif 000017
【図１３】
0004125794.tif 000018
【図１４】
0004125794.tif 000019