(57)【要約】【課題】ユニットキーを、安全に更新できるようにする。【解決手段】指紋照合装置のフラッシュメモリ５４には、製造時に製造業者によりあらかじめユニットキー３０１が登録されている。このユニットキー３０１を変更する場合、指紋照合装置のＣＰＵは、管理者により入力された新しいユニットキーを受け付けた後、５秒間待機してからユニットキーを更新する。または、操作者の指紋と、予め登録されていた特別インデックス５００の指紋テンプレート５０１とを照合し、両者が一致した場合、予め登録されていたユニットキー３０１の新たなユニットキーへの変更が許容される。本発明は、指紋照合装置に適用できる。【選択図】      図２２
2004213396.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置に記憶された登録指紋により、指紋照合装置内で指紋照合を行なう指紋照合装置において、
前記登録指紋を暗号化または復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付手段と、
前記受付手段により受け付けられた前記第２の暗号鍵を登録承認する登録承認手段と、
前記第１の暗号鍵を前記登録承認手段により登録承認された前記第２の暗号鍵に変更する変更手段と
を備えることを特徴とする指紋照合装置。
【請求項２】
前記登録承認手段は、
特定のユーザの指紋を登録する第１の登録手段と、
前記受付手段により前記第２の暗号鍵が受け付けられた場合、前記第２の暗号鍵を入力したユーザの指紋を取得する取得手段と、
前記取得手段により取得された前記ユーザの指紋と前記第１の登録手段により登録された前記特定のユーザの指紋を照合する照合手段とを備え、
前記変更手段は、前記照合手段により前記ユーザの指紋と前記特定のユーザの指紋が一致すると判定された場合、前記第１の暗号鍵を前記第２の暗号鍵に変更する
ことを特徴とする請求項１に記載の指紋照合装置。
【請求項３】
前記取得手段により取得された前記第２の暗号鍵を入力した前記ユーザの指紋を、前記特定のユーザの指紋として登録する第２の登録手段を
さらに備えることを特徴とする請求項２に記載の指紋照合装置。
【請求項４】
前記登録承認手段は、
前記受付手段により第２の暗号鍵が受け付けられた後、所定の時間待機する待機手段をさらに備え、
前記変更手段は、前記待機手段により所定の時間待機された後、前記第１の暗号鍵を前記第２の暗号鍵に変更する
ことを特徴とする請求項１に記載の指紋照合装置。
【請求項５】
前記情報の一部を第３の暗号鍵として、機密情報を暗号化する暗号化手段を
さらに備えることを特徴とする請求項１に記載の指紋照合装置。
【請求項６】
外部記憶装置に記憶された登録指紋により、指紋照合装置内で指紋照合を行なう指紋照合装置の指紋照合方法において、
前記登録指紋を暗号化または復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、
前記受付ステップの処理により受け付けられた前記第２の暗号鍵を登録承認する登録承認ステップと、
前記第１の暗号鍵を前記登録承認ステップの処理により登録承認された前記第２の暗号鍵に変更する変更ステップと
を含むことを特徴とする指紋照合方法。
【請求項７】
外部記憶装置に記憶された登録指紋により、指紋照合装置内で指紋照合を行なうプログラムであって、
前記登録指紋を暗号化または復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、
前記受付ステップの処理により受け付けられた前記第２の暗号鍵を登録承認する登録承認ステップと、
前記第１の暗号鍵を前記登録承認ステップの処理により登録承認された前記第２の暗号鍵に変更する変更ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項８】
外部記憶装置に記憶された登録指紋により、指紋照合装置内で指紋照合を行なうプログラムであって、
前記登録指紋を暗号化または復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、
前記受付ステップの処理により受け付けられた前記第２の暗号鍵を登録承認する登録承認ステップと、
前記第１の暗号鍵を前記登録承認ステップの処理により登録承認された前記第２の暗号鍵に変更する変更ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【請求項９】
指紋照合に基づいて情報の管理を行なう指紋照合装置において、
外部記憶装置から暗号化された前記情報を受信する受信手段と、
指紋照合の照合結果に基づいて、第１の暗号鍵で復号された前記情報の読み出しを許可する許可手段と、
前記情報を復号するための前記第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付手段と、
前記受付手段により受け付けられた前記第２の暗号鍵を登録承認する登録承認手段と、
前記第１の暗号鍵を前記登録承認手段により登録承認された前記第２の暗号鍵に変更する変更手段と
を備えることを特徴とする指紋照合装置。
【請求項１０】
前記登録承認手段は、
特定のユーザの指紋を登録する第１の登録手段と、
前記受付手段により前記第２の暗号鍵が受け付けられた場合、前記第２の暗号鍵を入力したユーザの指紋を取得する取得手段と、
前記取得手段により取得された前記ユーザの指紋と前記第１の登録手段により登録された前記特定のユーザの指紋を照合する照合手段とを備え、
前記変更手段は、前記照合手段により前記ユーザの指紋と前記特定のユーザの指紋が一致すると判定された場合、前記第１の暗号鍵を前記第２の暗号鍵に変更する
ことを特徴とする請求項９に記載の指紋照合装置。
【請求項１１】
前記取得手段により取得された前記第２の暗号鍵を入力した前記ユーザの指紋を、前記特定のユーザの指紋として登録する第２の登録手段を
さらに備えることを特徴とする請求項１０に記載の指紋照合装置。
【請求項１２】
前記登録承認手段は、
前記受付手段により第２の暗号鍵が受け付けられた後、所定の時間待機する待機手段をさらに備え、
前記変更手段は、前記待機手段により所定の時間待機された後、前記第１の暗号鍵を前記第２の暗号鍵に変更する
ことを特徴とする請求項９に記載の指紋照合装置。
【請求項１３】
前記情報の一部を第３の暗号鍵として、機密情報を暗号化する暗号化手段を
さらに備えることを特徴とする請求項９に記載の指紋照合装置。
【請求項１４】
指紋照合に基づいて情報の管理を行なう指紋照合装置の指紋照合方法において、
外部記憶装置から暗号化された前記情報を受信する受信ステップと、
指紋照合の照合結果に基づいて、第１の暗号鍵で復号された前記情報の読み出しを許可する許可ステップと、
前記情報を復号するための前記第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、
前記受付ステップの処理により受け付けられた前記第２の暗号鍵を登録承認する登録承認ステップと、
前記第１の暗号鍵を前記登録承認ステップの処理により登録承認された前記第２の暗号鍵に変更する変更ステップと
を含むことを特徴とする指紋照合方法。
【請求項１５】
指紋照合に基づいて情報の管理を行なうプログラムであって、
外部記憶装置から暗号化された前記情報を受信する受信ステップと、
指紋照合の照合結果に基づいて、第１の暗号鍵で復号された前記情報の読み出しを許可する許可ステップと、
前記情報を復号するための前記第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、
前記受付ステップの処理により受け付けられた前記第２の暗号鍵を登録承認する登録承認ステップと、
前記第１の暗号鍵を前記登録承認ステップの処理により登録承認された前記第２の暗号鍵に変更する変更ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１６】
指紋照合に基づいて情報の管理を行なうプログラムであって、
外部記憶装置から暗号化された前記情報を受信する受信ステップと、
指紋照合の照合結果に基づいて、第１の暗号鍵で復号された前記情報の読み出しを許可する許可ステップと、
前記情報を復号するための前記第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、
前記受付ステップの処理により受け付けられた前記第２の暗号鍵を登録承認する登録承認ステップと、
前記第１の暗号鍵を前記登録承認ステップの処理により登録承認された前記第２の暗号鍵に変更する変更ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
指紋照合に基づいて情報の管理を行なう指紋照合装置において、
第１の暗号鍵で暗号化された前記情報を指紋情報と関連付けて外部記憶装置へ送信する送信手段と、
前記情報を暗号化するための前記第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付手段と、
前記受付手段により受け付けられた前記第２の暗号鍵を登録承認する登録承認手段と、
前記第１の暗号鍵を前記登録承認手段により登録承認された前記第２の暗号鍵に変更する変更手段と
を備えることを特徴とする指紋照合装置。
【請求項１８】
前記登録承認手段は、
特定のユーザの指紋を登録する第１の登録手段と、
前記受付手段により前記第２の暗号鍵が受け付けられた場合、前記第２の暗号鍵を入力したユーザの指紋を取得する取得手段と、
前記取得手段により取得された前記ユーザの指紋と前記第１の登録手段により登録された前記特定のユーザの指紋を照合する照合手段とを備え、
前記変更手段は、前記照合手段により前記ユーザの指紋と前記特定のユーザの指紋が一致すると判定された場合、前記第１の暗号鍵を前記第２の暗号鍵に変更する
ことを特徴とする請求項１７に記載の指紋照合装置。
【請求項１９】
前記取得手段により取得された前記第２の暗号鍵を入力した前記ユーザの指紋を、前記特定のユーザの指紋として登録する第２の登録手段を
さらに備えることを特徴とする請求項１８に記載の指紋照合装置。
【請求項２０】
前記登録承認手段は、前記受付手段により第２の暗号鍵が受け付けられた後、所定の時間待機する待機手段をさらに備え、
前記変更手段は、前記待機手段により所定の時間待機された後、前記第１の暗号鍵を前記第２の暗号鍵に変更する
ことを特徴とする請求項１７に記載の指紋照合装置。
【請求項２１】
前記情報の一部を第３の暗号鍵として、機密情報を暗号化する暗号化手段を
さらに備えることを特徴とする請求項１７に記載の指紋照合装置。
【請求項２２】
指紋照合に基づいて情報の管理を行なう指紋照合装置の指紋照合方法において、
第１の暗号鍵で暗号化された前記情報を指紋情報と関連付けて外部記憶装置へ送信する送信ステップと、
前記情報を暗号化するための前記第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、
前記受付ステップの処理により受け付けられた前記第２の暗号鍵を登録承認する登録承認ステップと、
前記第１の暗号鍵を前記登録承認ステップの処理により登録承認された前記第２の暗号鍵に変更する変更ステップと
を含むことを特徴とする指紋照合方法。
【請求項２３】
指紋照合に基づいて情報の管理を行なうプログラムであって、
第１の暗号鍵で暗号化された前記情報を指紋情報と関連付けて外部記憶装置へ送信する送信ステップと、
前記情報を暗号化するための前記第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、
前記受付ステップの処理により受け付けられた前記第２の暗号鍵を登録承認する登録承認ステップと、
前記第１の暗号鍵を前記登録承認ステップの処理により登録承認された前記第２の暗号鍵に変更する変更ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項２４】
指紋照合に基づいて情報の管理を行なうプログラムであって、
第１の暗号鍵で暗号化された前記情報を指紋情報と関連付けて外部記憶装置へ送信する送信ステップと、
前記情報を暗号化するための前記第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、
前記受付ステップの処理により受け付けられた前記第２の暗号鍵を登録承認する登録承認ステップと、
前記第１の暗号鍵を前記登録承認ステップの処理により登録承認された前記第２の暗号鍵に変更する変更ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、指紋照合装置および方法、記録媒体、並びに、プログラムに関し、特に、情報を暗号化する指紋照合装置および方法、記録媒体、並びに、プログラムに関する。
【０００２】
【従来の技術】
近年、使用者の指紋を読み取り、指紋を照合し、使用者であることを認証する指紋照合装置が各種の装置に応用されている。
【０００３】
指紋照合装置に保存されている指紋テンプレートなどのデータを他の機器（例えば、パーソナルコンピュータ）に読み出す場合、例えば、予め登録されている使用者のテンプレートデータと同一の使用者の指紋を照合し、認証できたとき、その指紋テンプレートのデータと、これに対応するパスワードまたは暗号鍵を出力することが提案されている（例えば、特許文献１）。
【０００４】
また、所定の暗号鍵により指紋の照合結果を暗号化して出力する指紋照合装置において、外部の機器（例えば、パーソナルコンピュータ）から伝送されるパラメータによりこの暗号鍵を更新することが提案されている（例えば、特許文献２）。
【０００５】
さらに、指紋を照合する指紋照合装置の内部にシンメトリックキー（Ｓｙｍｍｅｔｒｉｃ  Ｋｅｙ、すなわち、共通暗号鍵）を設定し、ユニットキーとして使用することにより、指紋照合装置に保存されている指紋テンプレートなどのデータを他の機器（例えば、パーソナルコンピュータ）に読み出す場合に、シンメトリックキーを用いて暗号化することが提案されている。
【０００６】
他の機器においては、データを読み出した指紋照合装置と同じシンメトリックキーを設定することにより、暗号化されたデータ（指紋テンプレート）を復号し、使用することができる。これにより、機密性を確保しつつ、データを使用することが可能となる。
【０００７】
しかしながら、この場合、このシンメトリックキーを解析するために、他のユーザがパーソナルコンピュータを指紋照合装置に接続し、シンメトリックキーに相当する全ての数値を指紋照合装置に入力して検査することにより、正しいシンメトリックキーが特定されてしまうおそれがある。
【０００８】
そこで、シンメトリックキーを保存している指紋照合装置において、シンメトリックキーを変更するために、専用のソフトウエアを用いることが提案さている。シンメトリックキーの変更は、この専用のソフトウエアによってのみ可能とされる。
【０００９】
この専用のソフトウエアは、指紋照合装置のメーカに、ユーザに特有のシンメトリックキーとともに厳重に保管されている。
【００１０】
【特許文献１】
特開２０００−７６４４３号公報
【特許文献２】
特開平１１−１３４４９７号公報
【００１１】
【発明が解決しようとする課題】
しかしながら、専用のソフトウエアを用いる方法は、その保管にコストがかかるだけでなく、専用のソフトウエアが外部に流出した場合、他のユーザがパーソナルコンピュータを指紋照合装置に接続し、パーソナルコンピュータによりあらゆる数値を指紋照合装置に設定し、かつ、外部に取り出したデータをシンメトリックキーにより復号することができるため、安全を保つことが不可能となるという課題があった。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、低コストで、安全、かつ、簡単にシンメトリックキーを設定することができるようにするものである。
【００１３】
【課題を解決するための手段】
本発明の第１の指紋照合装置は、登録指紋を暗号化または復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付手段と、受付手段により受け付けられた第２の暗号鍵を登録承認する登録承認手段と、第１の暗号鍵を登録承認手段により登録承認された第２の暗号鍵に変更する変更手段とを備えることを特徴とする。
【００１４】
前記登録承認手段は、特定のユーザの指紋を登録する第１の登録手段と、受付手段により第２の暗号鍵が受け付けられた場合、第２の暗号鍵を入力したユーザの指紋を取得する取得手段と、取得手段により取得されたユーザの指紋と第１の登録手段により登録された特定のユーザの指紋を照合する照合手段とを備え、変更手段は、照合手段によりユーザの指紋と特定のユーザの指紋が一致すると判定された場合、第１の暗号鍵を第２の暗号鍵に変更するようにすることができる。
【００１５】
前記取得手段により取得された第２の暗号鍵を入力したユーザの指紋を、特定のユーザの指紋として登録する第２の登録手段をさらに備えるようにすることができる。
【００１６】
前記登録承認手段は、受付手段により第２の暗号鍵が受け付けられた後、所定の時間待機する待機手段をさらに備え、変更手段は、待機手段により所定の時間待機された後、第１の暗号鍵を第２の暗号鍵に変更するようにすることができる。
【００１７】
前記情報の一部を第３の暗号鍵として、機密情報を暗号化する暗号化手段をさらに備えるようにすることができる。
【００１８】
本発明の第１の指紋照合方法は、登録指紋を暗号化または復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、受付ステップの処理により受け付けられた第２の暗号鍵を登録承認する登録承認ステップと、第１の暗号鍵を登録承認ステップの処理により登録承認された第２の暗号鍵に変更する変更ステップとを含むことを特徴とする。
【００１９】
本発明の第１の記録媒体に記録されているプログラムは、登録指紋を暗号化または復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、受付ステップの処理により受け付けられた第２の暗号鍵を登録承認する登録承認ステップと、第１の暗号鍵を登録承認ステップの処理により登録承認された第２の暗号鍵に変更する変更ステップとを含むことを特徴とする。
【００２０】
本発明の第１のプログラムは、登録指紋を暗号化または復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、受付ステップの処理により受け付けられた第２の暗号鍵を登録承認する登録承認ステップと、第１の暗号鍵を登録承認ステップの処理により登録承認された第２の暗号鍵に変更する変更ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００２１】
本発明の第２の指紋照合装置は、外部記憶装置から暗号化された情報を受信する受信手段と、指紋照合の照合結果に基づいて、第１の暗号鍵で復号された情報の読み出しを許可する許可手段と、情報を復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付手段と、受付手段により受け付けられた第２の暗号鍵を登録承認する登録承認手段と、第１の暗号鍵を登録承認手段により登録承認された第２の暗号鍵に変更する変更手段とを備えることを特徴とする。
【００２２】
前記登録承認手段は、特定のユーザの指紋を登録する第１の登録手段と、受付手段により第２の暗号鍵が受け付けられた場合、第２の暗号鍵を入力したユーザの指紋を取得する取得手段と、取得手段により取得されたユーザの指紋と第１の登録手段により登録された特定のユーザの指紋を照合する照合手段とを備え、変更手段は、照合手段によりユーザの指紋と特定のユーザの指紋が一致すると判定された場合、第１の暗号鍵を第２の暗号鍵に変更するようにすることができる。
【００２３】
前記取得手段により取得された第２の暗号鍵を入力したユーザの指紋を、特定のユーザの指紋として登録する第２の登録手段をさらに備えるようにすることができる。
【００２４】
前記登録承認手段は、受付手段により第２の暗号鍵が受け付けられた後、所定の時間待機する待機手段をさらに備え、変更手段は、待機手段により所定の時間待機された後、第１の暗号鍵を第２の暗号鍵に変更するようにすることができる。
【００２５】
前記情報の一部を第３の暗号鍵として、機密情報を暗号化する暗号化手段をさらに備えるようにすることができる。
【００２６】
本発明の第２の指紋照合方法は、外部記憶装置から暗号化された情報を受信する受信ステップと、指紋照合の照合結果に基づいて、第１の暗号鍵で復号された情報の読み出しを許可する許可ステップと、情報を復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、受付ステップの処理により受け付けられた第２の暗号鍵を登録承認する登録承認ステップと、第１の暗号鍵を登録承認ステップの処理により登録承認された第２の暗号鍵に変更する変更ステップとを含むことを特徴とする。
【００２７】
本発明の第２の記録媒体に記録されているプログラムは、外部記憶装置から暗号化された情報を受信する受信ステップと、指紋照合の照合結果に基づいて、第１の暗号鍵で復号された情報の読み出しを許可する許可ステップと、情報を復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、受付ステップの処理により受け付けられた第２の暗号鍵を登録承認する登録承認ステップと、第１の暗号鍵を登録承認ステップの処理により登録承認された第２の暗号鍵に変更する変更ステップとを含むことを特徴とする。
【００２８】
本発明の第２のプログラムは、外部記憶装置から暗号化された情報を受信する受信ステップと、指紋照合の照合結果に基づいて、第１の暗号鍵で復号された情報の読み出しを許可する許可ステップと、情報を復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、受付ステップの処理により受け付けられた第２の暗号鍵を登録承認する登録承認ステップと、第１の暗号鍵を登録承認ステップの処理により登録承認された第２の暗号鍵に変更する変更ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００２９】
本発明の第３の指紋照合装置は、第１の暗号鍵で暗号化された情報を指紋情報と関連付けて外部記憶装置へ送信する送信手段と、情報を暗号化するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付手段と、受付手段により受け付けられた第２の暗号鍵を登録承認する登録承認手段と、第１の暗号鍵を登録承認手段により登録承認された第２の暗号鍵に変更する変更手段とを備えることを特徴とする。
【００３０】
前記登録承認手段は、特定のユーザの指紋を登録する第１の登録手段と、受付手段により第２の暗号鍵が受け付けられた場合、第２の暗号鍵を入力したユーザの指紋を取得する取得手段と、取得手段により取得されたユーザの指紋と第１の登録手段により登録された特定のユーザの指紋を照合する照合手段とを備え、変更手段は、照合手段によりユーザの指紋と特定のユーザの指紋が一致すると判定された場合、第１の暗号鍵を第２の暗号鍵に変更するようにすることができる。
【００３１】
前記取得手段により取得された第２の暗号鍵を入力したユーザの指紋を、特定のユーザの指紋として登録する第２の登録手段をさらに備えるようにすることができる。
【００３２】
前記登録承認手段は、受付手段により第２の暗号鍵が受け付けられた後、所定の時間待機する待機手段をさらに備え、変更手段は、待機手段により所定の時間待機された後、第１の暗号鍵を第２の暗号鍵に変更するようにすることができる。
【００３３】
前記情報の一部を第３の暗号鍵として、機密情報を暗号化する暗号化手段をさらに備えるようにすることができる。
【００３４】
本発明の第３の指紋照合方法は、第１の暗号鍵で暗号化された情報を指紋情報と関連付けて外部記憶装置へ送信する送信ステップと、情報を暗号化するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、受付ステップの処理により受け付けられた第２の暗号鍵を登録承認する登録承認ステップと、第１の暗号鍵を登録承認ステップの処理により登録承認された第２の暗号鍵に変更する変更ステップとを含むことを特徴とする。
【００３５】
本発明の第３の記録媒体に記録されているプログラムは、第１の暗号鍵で暗号化された情報を指紋情報と関連付けて外部記憶装置へ送信する送信ステップと、情報を暗号化するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、受付ステップの処理により受け付けられた第２の暗号鍵を登録承認する登録承認ステップと、第１の暗号鍵を登録承認ステップの処理により登録承認された第２の暗号鍵に変更する変更ステップとを含むことを特徴とする。
【００３６】
本発明の第３のプログラムは、第１の暗号鍵で暗号化された情報を指紋情報と関連付けて外部記憶装置へ送信する送信ステップと、情報を暗号化するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵を受け付ける受付ステップと、受付ステップの処理により受け付けられた第２の暗号鍵を登録承認する登録承認ステップと、第１の暗号鍵を登録承認ステップの処理により登録承認された第２の暗号鍵に変更する変更ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００３７】
第１の本願発明においては、登録指紋を暗号化または復号するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵が受け付けられ、登録承認された後、第１の暗号鍵が第２の暗号鍵に変更される。
【００３８】
第２の本願発明においては、外部記憶装置から暗号化された情報が受信され、指紋照合の照合結果に基づいて、第１の暗号鍵で復号された情報の読み出しが許可され、第１の暗号鍵を変更する場合、新たな第２の暗号鍵が受け付けられ、登録承認された後、第１の暗号鍵が第２の暗号鍵に変更される。
【００３９】
第３の本願発明においては、第１の暗号鍵で暗号化された情報が指紋情報と関連付けられて外部記憶装置へ送信され、情報を暗号化するための第１の暗号鍵を変更する場合、新たな第２の暗号鍵が受け付けられ、登録承認された後、第１の暗号鍵が第２の暗号鍵に変更される。
【００４０】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【００４１】
図１は、本発明を適用した指紋照合装置を含む全体の構成例を示す図である。
【００４２】
指紋照合装置１−１は、パーソナルコンピュータ２−１に接続されており、パーソナルコンピュータ２−２は、指紋照合装置１−２に接続されており、パーソナルコンピュータ２−１，２−２は、いずれも、ネットワーク３を介して、ＤＢ（データベース）４に接続されている。指紋照合装置５が接続されているパーソナルコンピュータ６も、必要に応じてネットワーク３に接続される。
【００４３】
図１の例の場合、パーソナルコンピュータ２−１、パーソナルコンピュータ２−２、およびパーソナルコンピュータ６は、基本的に同様の構成とされている。
【００４４】
ＤＢ４には、指紋照合装置１−１，および１−２により取得された指紋画像のデータが、それぞれパーソナルコンピュータ２−１，およびパーソナルコンピュータ２−２を介して供給され、登録されている。ＤＢ４に記憶されるデータについては、図１３を参照して後述する。なお、この例の場合、パーソナルコンピュータ６および指紋照合装置５は、不正なユーザにより使用されるものとする。
【００４５】
図２は、指紋照合装置１−１の一実施の形態の外観を示す外観図である。
【００４６】
指紋照合装置１−１は、装置の筐体をなす本体部１１、および閉じた状態において本体部１１の上面を物理的に保護する、本体部１１に対して開閉自在に設けられている保護カバー１２からなる。図２においては、指紋照合装置１−１の保護カバー１２は、本体部１１に対して開かれた状態とされている。
【００４７】
本体部１１の上面には、指紋読み取りセンサ２１、並びに指紋の照合の結果を表示するランプ２２およびランプ２３が設けられている。
【００４８】
指紋読み取りセンサ２１は、指紋読み取りセンサ２１に押圧され、接触された指の指紋を画像として読み取る。
【００４９】
図２に示す状態において、図３に示すように、指紋読み取りセンサ２１を、指紋が読み取られる指４１で軽く押圧することにより、指４１の指紋が画像として読み取られる。
【００５０】
ランプ２２およびランプ２３は、排他的に点灯し、即ち、これにより、指紋照合の可否を表示する。ランプ２２およびランプ２３は、いずれも消灯することにより、指紋読み取りセンサ２１に指４１が接触されていない状態であることを表示する。
【００５１】
指紋照合装置１−１は、図３に示すように、指紋の照合の結果を示すデータを、端子４２に接続されているケーブル４３を介して、図示せぬ他の機器に供給する。ケーブル４３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）の規格に基づいたケーブルとすることができる。ケーブル４３の規格は、例えば、ＲＳ２３２Ｃなど、他の規格であってもよいことは勿論である。
【００５２】
この指紋照合装置１−１を持ち運びするとき、保護カバー１２は閉じられる。これにより、本体部１１、表示用のランプ２２、およびランプ２３、特に、指紋読み取りセンサ２１が、外部からの異常な圧力から保護されるとともに、静電気から保護される。その結果、指紋照合装置１−１の破損または破壊が抑制される。
【００５３】
図４は、指紋照合装置１−１の内部の構成を示すブロック図である。
【００５４】
指紋読み取り用ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）５１は、指紋読み取りセンサ２１から供給された信号から、指紋の画像を生成して、生成した指紋の画像をＣＰＵ５２に供給する。
【００５５】
ＣＰＵ５２は、指紋照合装置１−１全体の動作を制御する。また、ＣＰＵ５２は、指紋読み取り用ＬＳＩ５１から供給された指紋の画像を登録したり、既に登録されている指紋と照合する。
【００５６】
プログラム用ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）／ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５３は、ＲＡＭおよびＲＯＭからなり、ＣＰＵ５２が実行するコントロールファームウェアである、指紋照合プログラムを記憶する。プログラム用ＲＡＭ／ＲＯＭ５３のＲＯＭ部分には、基本的に固定のプログラムおよびパラメータが記憶される。プログラム用ＲＡＭ／ＲＯＭ５３のＲＡＭ部分には、指紋照合プログラムの実行に伴って変化するパラメータまたはデータが記憶される。
【００５７】
フラッシュメモリ５４は、ユニットキー（後述する図１２のユニットキー３０１）（シンメトリックキー、すなわち、共通暗号鍵）を記憶している。ユニットキーは、各指紋照合装置（ユニット）毎に設定することができる。例えば、管理者Ａが管理するグループにおいて所有されている各指紋照合装置には、同じユニットキーが設定され、管理者Ｂが管理するグループにおいて所有されている各指紋照合装置にも、同じユニットキーが設定される。しかし、管理者Ａにより管理されている指紋照合装置のユニットキーと、管理者Ｂにより管理されている指紋照合装置のユニットキーは異なる。また、フラッシュメモリ５４は、使用者の指紋を登録するとき、使用者の指紋の画像から抽出された特徴量を表わすデータを、指紋テンプレート（例えば、後述する図１２の指紋テンプレート３７１）として記憶する他、システムアトリビュート（後述する図１２のシステムアトリビュート３７２）、およびユーザアトリビュート（後述する図１２のユーザアトリビュート３７３）を記憶する。パーソナルコンピュータ２−１から、指紋テンプレートの読み出しが指令された場合、ＣＰＵ５２は、フラッシュメモリ５４に記憶されている指紋テンプレート、システムアトリビュート、およびユーザアトリビュート（指紋テンプレート、システムアトリビュート、およびユーザアトリビュートにより構成されるインデックス）をユニットキーで暗号化し、ケーブル４３を介して送信する。パーソナルコンピュータ２−１は、これを受信し、ＤＢ４に登録する。
【００５８】
指紋を照合するとき、パーソナルコンピュータ２−１は、指定されたユーザＩＤに対応する指紋テンプレート（ユニットキーで暗号化されている指紋テンプレート）を含むファイルをＤＢ４から読み出し、指紋照合装置１−１に供給する。指紋照合装置１−１は、ユニットキーで暗号化されている指紋テンプレートを受信すると、これを復号した後、指紋テンプレートと、指紋読み取り用ＬＳＩ５１から供給された指紋の画像とを照合する。なお、フラッシュメモリ５４に記憶されるデータについては、図９，図１２，および図２２を参照して後述する。
【００５９】
ＵＳＢコントローラ５５は、ＵＳＢの規格に基づいて、端子４２を介して接続されている外部の機器（いまの場合、パーソナルコンピュータ２−１）に、ＣＰＵ５２から供給された、指紋照合の結果および指紋テンプレートを出力すると共に、パーソナルコンピュータ２−１から供給された、システムアトリビュートと、指紋テンプレートに基づいて生成されたＤＥＳキーを含むユーザアトリビュートを取得する。ＵＳＢコントローラ５５は、取得したシステムアトリビュートとユーザアトリビュートをＣＰＵ５２に供給する。ユーザＩＤは、ユーザアトリビュートに含まれる。
【００６０】
指紋読み取り用ＬＳＩ５１、フラッシュメモリ５４、プログラム用ＲＡＭ／ＲＯＭ５３、ＣＰＵ５２、およびＵＳＢコントローラ５５は、バス５６により相互に接続されている。
【００６１】
次に、指紋読み取りセンサ２１について説明する。指紋読み取りセンサ２１は、上述したように、指４１をセンサ面に直接触れさせることで指紋画像を読み取るものであり、例えば、ソニー社製ＣＸＡ３２７１ＧＥを用いることができる。
【００６２】
指紋読み取りセンサ２１においては、金属電極をアレイ状に並べた上面に絶縁膜を設けてセンサ面が構成される。指紋読み取りセンサ２１のセンサ面に指を置いたとき、金属電極、絶縁膜、および指４１の３つでコンデンサが形成される。この場合、指４１は、電極として機能する。
【００６３】
指４１の指紋の隆起部（電極）から指紋読み取りセンサ２１の金属電極までの距離は、指４１の指紋の谷部（電極）から指紋読み取りセンサ２１の金属電極までの距離より短い。また、指４１の指紋の隆起部が絶縁膜に接するので、指４１の指紋の隆起部で形成されるコンデンサの容量値は、ほぼ、絶縁膜の誘電率で決まる。
【００６４】
これに対して、指４１の指紋の谷部においては、電極である指４１と絶縁膜との間に空気層が入るので、指４１の指紋の谷部で形成されるコンデンサの容量値は、指４１の指紋の隆起部で形成されるコンデンサの容量値と大きく異なる。
【００６５】
そこで、指紋読み取りセンサ２１は、金属電極、絶縁膜、および指４１の指紋の隆起部、並びに、金属電極、絶縁膜、および指４１の指紋の谷部でそれぞれ形成されるコンデンサに蓄積される電荷を電圧に変換することで、指紋の凹凸を電気信号として出力する。
【００６６】
図５は、指紋読み取りセンサ２１の原理的な構成を示す図である。
【００６７】
図５に示すように、指紋読み取りセンサ２１は、シリコン（Ｓｉ）基板１０１上に層間膜１０２を介して金属電極１０３（サンプリング点）を８０μｍのピッチでアレイ状に配置し、その上面を絶縁膜（Ｏｖｅｒ  Ｃｏａｔ）１０４で覆った構成を有する。指紋読み取りセンサ２１は、絶縁膜１０４の上面に直接置かれた指４１の指紋の凹凸を検出する。
【００６８】
すなわち、指４１は導体なので、指４１が絶縁膜１０４の上面に置かれたとき、金属電極１０３、絶縁膜１０４、および指４１でコンデンサ１０６が形成される。そして、指紋の隆起部４１Ａおよび谷部４１Ｂの凹凸により、電極である指４１から金属電極１０３までの距離の異なるコンデンサ１０６が形成されることになり、指紋の隆起部４１Ａおよび谷部４１Ｂの凹凸は、コンデンサ１０６の容量値の違いとなって現れる。
【００６９】
また、指紋の隆起部４１Ａは、絶縁膜１０４に接触しているので、隆起部４１Ａにより形成されるコンデンサ１０６の容量値は、絶縁膜１０４の誘電率および絶縁膜１０４の厚さで決まる。これに対して、指紋の谷部４１Ｂにおいては、電極である指４１と金属電極１０３との間に、絶縁膜１０４に加えて空気層が入るので、谷部４１Ｂにより形成されるコンデンサ１０６の容量値は、絶縁膜１０４の誘電率および絶縁膜１０４の厚さ、並びに空気の誘電率およびその厚さで決まる。
【００７０】
すなわち、指４１の指紋の谷部４１Ｂで形成されるコンデンサ１０６の容量値と、指４１の指紋の隆起部４１Ａで形成されるコンデンサ１０６の容量値とは、大きく異なる。
【００７１】
従って、指４１が指紋読み取りセンサ２１の上面（センサ面）に接触しているとき、金属電極１０３に一定電圧を印加すれば、指４１の指紋の隆起部４１Ａのコンデンサ１０６に蓄積される電荷の量と、谷部４１Ｂのコンデンサ１０６に蓄積される電荷の量は異なる。指紋読み取りセンサ２１は、コンデンサ１０６に蓄積された電荷を電圧に変換して、指紋の凹凸を電気信号として出力する。
【００７２】
次に、指紋読み取りセンサ２１の、指紋の凹凸を電気信号に変換する動作について説明する。図６は、指紋読み取りセンサ２１の内部回路を示す回路図である。
【００７３】
指紋読み取りセンサ２１は、指紋の凹凸による容量値を電荷として検出するセンサ部２１Ａ、センサ部２１Ａから出力された電荷を電圧信号に変換するセンスアンプ部２１Ｂ、およびセンスアンプ部２１Ｂから出力された電圧信号を増幅し、出力する出力部２１Ｃから構成される。
【００７４】
指紋読み取りセンサ２１は、センスアンプ部２１Ｂに、電荷を電圧信号に変換するための差動アンプ１２１を有し、出力部２１Ｃに、電圧信号を増幅するための差動アンプ１２２、および出力インピーダンスを調整するための差動アンプ１２３を有する。
【００７５】
なお、図６において、コンデンサＣｓは、指４１と金属電極１０３との間で形成されるコンデンサ１０６を示す。以下、コンデンサＣｓの容量は、単に、Ｃｓと記述する。
【００７６】
センサ部２１ＡのコンデンサＣｐは、金属電極１０３とシリコン基板１０１との間で形成される寄生容量に等価なコンデンサである。以下、コンデンサＣｐの容量は、単に、Ｃｐと記述する。センサ部２１ＡのコンデンサＣｓおよびコンデンサＣｐは、直列に接続される。コンデンサＣｓおよびコンデンサＣｐの接続点の電圧を、Ｖｃｅｌと記述する。
【００７７】
また、センスアンプ部２１ＢのコンデンサＣｐ’は、寄生容量によるコンデンサＣｐの容量をキャンセルする目的のコンデンサである。コンデンサＣｐ’の一方の端子は接地され、コンデンサＣｐ’の他方の端子は、スイッチＳｗ３を介して、差動アンプ１２１の反転入力端子に接続されている。以下、コンデンサＣｐ’の容量は、単に、ＣＰ’と記述する。コンデンサＣＰ’の容量は、コンデンサＣｐの容量にほぼ等しい。
【００７８】
センスアンプ部２１ＢのコンデンサＣｈ１の一方の端子は接地され、コンデンサＣｈ１の他方の端子は、スイッチＳｗ５を介して差動アンプ１２１の出力端子に接続されると共に、スイッチＳｗｅを介して差動アンプ１２２の反転入力端子に接続されている。出力部２１ＣのコンデンサＣｈ２の一方の端子は接地され、コンデンサＣｈ２の他方の端子は、スイッチＳｗ７を介して、差動アンプ１２２の出力端子に接続されると共に、差動アンプ１２３の非反転入力端子に接続されている。センスアンプ部２１ＢのコンデンサＣｈ１および出力部２１ＣのコンデンサＣｈ２は、電圧を保持するための、いわゆるホールド容量である。
【００７９】
以下、コンデンサＣｈ１の容量は、単に、Ｃｈ１と記述する。コンデンサＣｈ２の容量は、単に、Ｃｈ２と記述する。
【００８０】
また、センスアンプ部２１ＢのコンデンサＣｆ１の一方の端子は、差動アンプ１２１の反転入力端子に接続され、コンデンサＣｆ１の他方の端子は、差動アンプ１２１の出力端子に接続されている。コンデンサＣｆ１の容量は、差動アンプ１２１のゲインを決める帰還容量である。
【００８１】
以下、コンデンサＣｆ１の容量は、単に、Ｃｆ１と記述する。
【００８２】
出力部２１ＣのコンデンサＣｆ２の一方の端子は、差動アンプ１２２の反転入力端子に接続され、コンデンサＣｆ２の他方の端子は、差動アンプ１２２の出力端子に接続されている。コンデンサＣｆ２の容量は、差動アンプ１２２のゲインを決める帰還容量である。以下、コンデンサＣｆ２の容量は、単に、Ｃｆ２と記述する。
【００８３】
センスアンプ部２１ＢのスイッチＳｗｒは、コンデンサＣｓおよびコンデンサＣｐの接続点と、差動アンプ１２１の反転入力端子とを接続するか、または切断する。センスアンプ部２１ＢのスイッチＳｗｅは、コンデンサＣｈ１の接地されていない端子と、差動アンプ１２２の反転入力端子とを接続するか、または切断する。
【００８４】
センスアンプ部２１Ｂにおいて、スイッチＳｗ１の一方の端子には、電圧ＶＨが印加され、他方の端子は、差動アンプ１２１の非反転入力端子に接続される。スイッチＳｗ２の一方の端子には、電圧ＶＭが印加され、他方の端子は、差動アンプ１２１の非反転入力端子に接続される。スイッチＳｗ１１の一方の端子には、電圧ＶＬが印加され、他方の端子は、差動アンプ１２１の非反転入力端子に接続される。
【００８５】
電圧ＶＨは、電圧ＶＭより高く、電圧ＶＭは、電圧ＶＬより高い。また電圧ＶＨと電圧ＶＭとの差は、電圧ＶＭと電圧ＶＬとの差にほぼ等しい。
【００８６】
スイッチＳｗ３の一方の端子は、コンデンサＣｐ’の接地されていない端子に接続され、スイッチＳｗ３の他方の端子は、差動アンプ１２１の反転入力端子に接続されている。
【００８７】
スイッチＳｗ４の一方の端子は、コンデンサＣｆ１の一方の端子に接続され、スイッチＳｗ４の他方の端子は、コンデンサＣｆ１の他方の端子に接続されている。すなわち、スイッチＳｗ４は、コンデンサＣｆ１に並列に接続されている。
【００８８】
スイッチＳｗ５の一方の端子は、差動アンプ１２１の出力端子に接続され、スイッチＳｗ５の他方の端子は、コンデンサＣｈ１の接地されていない端子に接続されるとともに、スイッチＳｗｅを介して差動アンプ１２２の反転入力端子に接続されている。
【００８９】
出力部２１ＣのスイッチＳｗ６の一方の端子は、コンデンサＣｆ２の一方の端子に接続され、スイッチＳｗ６の他方の端子は、コンデンサＣｆ２の他方の端子に接続されている。すなわち、スイッチＳｗ６は、コンデンサＣｆ２に並列に接続されている。
【００９０】
出力部２１ＣスイッチＳｗ７の一方の端子は、差動アンプ１２２の出力端子に接続され、スイッチＳｗ７の他方の端子は、コンデンサＣｈ２の接地されていない端子に接続されると共に、差動アンプ１２３の非反転入力端子に接続されている。
【００９１】
差動アンプ１２２の非反転入力端子には、電圧ＶＯＳが印加されている。
【００９２】
次に、指紋読み取りセンサ２１の内部回路の動作について説明する。
【００９３】
なお、スイッチＳｗｒ、スイッチＳｗｅ、スイッチＳｗ１乃至スイッチＳｗ７、並びにスイッチＳｗ１１が、切断している状態、すなわちオフしている状態から、指紋読み取りセンサ２１の動作が開始される。
【００９４】
（１）初期状態、すなわち、スイッチＳｗｒ、スイッチＳｗｅ、スイッチＳｗ１乃至スイッチＳｗ７、並びにスイッチＳｗ１１が、オフしている状態から、まず、スイッチＳｗ１、スイッチＳｗ４、およびスイッチＳｗｒが、接続、すなわちオンされる。従って、コンデンサＣｓとコンデンサＣｐとの接続点の電圧Ｖｃｅｌは、ＶＨとされる。このとき、コンデンサＣｓおよびコンデンサＣｐに蓄積される電荷は、（Ｃｓ＋Ｃｐ）ＶＨとなる。
（２）その後、スイッチＳｗ１、およびスイッチＳｗｒがオフされる。
（３）次に、スイッチＳｗ１１、およびスイッチＳｗ３がオンされ、コンデンサＣｐ’とスイッチＳｗ３の接続点の電圧ＶｄｍｙをＶＬとする。ここで、コンデンサＣｐ’に蓄積される電荷は、Ｃｐ’ＶＬとなる。
（４）その後、スイッチＳｗ３、およびスイッチＳｗ１１がオフされる。
（５）次に、スイッチＳｗ２がオンされ、差動アンプ１２１の反転入力端子に印加される電圧ＶｓｌをＶＭとする。
（６）その後、スイッチＳｗ４がオフされる。
（７）次に、スイッチＳｗｒ、スイッチＳｗ３、およびスイッチＳｗ５がオンされる。このとき、電圧ＶｃｅｌはＶＨであり、電圧ＶｄｍｙはＶＬであり、差動アンプ１２１の反転入力端子に印加される電圧ＶｓｌはＶＭなので、コンデンサＣｓ、コンデンサＣｐ、およびコンデンサＣｐ’間で、式（１）で示される電荷が移動する。
【００９５】
（Ｃｓ＋Ｃｐ）（ＶＨ−ＶＭ）−Ｃｐ  ’（ＶＭ−ＶＬ）
≒Ｃｓ（ＶＨ−ＶＭ）      （１）
【００９６】
従って、差動アンプ１２１の出力電圧Ｖｓｎｓは、式（２）で示される。
【００９７】
Ｖｓｎｓ＝ＶＭ−Ｃｓ（ＶＨ−ＶＭ）／Ｃｆ１                （２）
【００９８】
このように、センスアンプ部２１Ｂのゲインは、金属電極１０３とシリコン基板１０１との間で形成される寄生容量Ｃｐに依存することなく決まるので、ダイナミックレンジを大きくすることができる。
【００９９】
そして、コンデンサＣｈ１には、式（２）で求められる電圧Ｖｓｎｓが印加される。
【０１００】
（８）その後、スイッチＳｗ５がオフされる。
（９）次に、スイッチＳｗ６がオンされ、コンデンサＣｆ２の入力側（差動アンプ１２２の反転入力端子側）の電圧ＶｏｉがＶＯＳとされる。
（１０）その後、スイッチＳｗ６がオフされる。
（１１）次に、スイッチＳｗｅおよびスイッチＳｗ７がオンされる。このとき、コンデンサＣｈ１からコンデンサＣｆ２に移動する電荷は、（ＶＯＳ−Ｖｓｎｓ）Ｃｈ１である。これにより、コンデンサＣｆ２の出力側（差動アンプ１２２の出力端子側）の電圧Ｖｏｏが決定し、コンデンサＣｈ２に電荷が蓄積される。
【０１０１】
そして、この電圧Ｖｏｏがバッファアンプである差動アンプ１２３を介して、出力端子Ａｏｕｔに出力される。
【０１０２】
なお、指紋照合装置１−２、および指紋照合装置５の構成と動作は、以上の指紋照合装置１−１と同一であるため、その説明は省略する。そして、以下においては、図２乃至図６は、必要に応じて、指紋照合装置１−２、および指紋照合装置５の構成としても引用する。
【０１０３】
図７は、図１のパーソナルコンピュータ２−１の詳細な構成例を示すブロック図である。
【０１０４】
図７において、ＣＰＵ２０１は、ＲＯＭ２０２に記憶されているプログラム、または、記憶部２０８からＲＡＭ２０３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ２０３にはまた、ＣＰＵ２０１が各種の処理を実行する上において必要なデータなどが適宜記憶される。なお、ＲＡＭ２０３に記憶されるデータについては、図１６，図１７、および図１９を参照して後述する。
【０１０５】
ＣＰＵ２０１、ＲＯＭ２０２、およびＲＡＭ２０３は、内部バス２０４を介して相互に接続されている。この内部バス２０４にはまた、入出力インターフェース２０５も接続されている。
【０１０６】
入出力インターフェース２０５には、キーボード、マウスなどよりなる入力部２０６、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ），ＬＣＤなどよりなるディスプレイ、並びにスピーカなどよりなる出力部２０７、ハードディスクなどより構成される記憶部２０８、モデム、ターミナルアダプタなどより構成される通信部２０９が接続されている。通信部２０９は、電話回線やＣＡＴＶ回線を含む各種のネットワークを介しての通信処理を行なう。いまの例の場合、通信部２０９は、ネットワーク３を介して、ＤＢ４との通信処理を行なう他、指紋照合装置１−１との通信処理を行なう。勿論、パーソナルコンピュータ２−２、およびパーソナルコンピュータ６との通信処理を行なうことも可能である。
【０１０７】
入力インターフェース２０５には、必要に応じてドライブ２１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア２２１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部２０８にインストールされる。また、リムーバブルメディアから読み出されたプログラムは、必要に応じて、通信部２０９を介して、接続されている指紋照合装置１−１に供給される。指紋照合装置１−１は、パーソナルコンピュータ２−１から供給されたプログラムを、ＵＳＢコントローラ５５を介して取得し、バス５６を介してプログラム用ＲＡＭ／ＲＯＭ５３に供給する。
【０１０８】
また、パーソナルコンピュータ２−１は、ネットワーク３に接続される、図示せぬサーバなどから、ファームウエア等のプログラムを通信部２０９を介して取得し、取得したプログラムを、必要に応じて、通信部２０９を介して、接続されている指紋照合装置１−１に供給する。指紋照合装置１−１は、パーソナルコンピュータ２−１から供給されたプログラムを、ＵＳＢコントローラ５５を介して取得し、バス５６を介してプログラム用ＲＡＭ／ＲＯＭ５３に供給する。
【０１０９】
なお、パーソナルコンピュータ２−２、およびパーソナルコンピュータ６の構成は、図７のパーソナルコンピュータ２−１と同一であるため、その説明は省略する。そして、以下においては、図７は、必要に応じて、パーソナルコンピュータ２−２、およびパーソナルコンピュータ６の構成としても引用する。
【０１１０】
次に、図８を参照して、ユニットキーの登録処理について説明する。なお、この処理は、製造時に、メーカ（以下、製造業者と称する）が、所定のシンメトリックキー（ユニットキー）を設定するように指令したとき開始される。
【０１１１】
ステップＳ４１において、指紋照合プログラムは、ＵＳＢコントローラ５５を介して製造業者が有するパーソナルコンピュータ（図７と同様に構成される）より入力されるユニットキーを取得する。
【０１１２】
ステップＳ４２において、指紋照合プログラムは、取得したユニットキーをフラッシュメモリ５４に登録する。
【０１１３】
図８の処理により、製造時にユニットキーが登録される。このとき、フラッシュメモリ５４には、図９に示されるように、ユニットキー３０１が記憶される。
【０１１４】
この処理は指紋照合装置１−２，５においても同様に行なわれる。ユニットキーは、管理者により管理されるグループが同じ指紋照合装置の場合には、それぞれ同じものとされるが、異なる管理者により管理される指紋照合装置の場合には、異なるものとされる。例えば、指紋照合装置１−１と指紋照合装置１−２が、同じ管理者により管理されるグループ内の指紋照合装置とされ、指紋照合装置５の管理者（不正なユーザ）とは異なるものとされる場合、指紋照合装置１−１と指紋照合装置１−２のユニットキーは同一のものとされ、指紋照合装置５のユニットキーは、異なるものとされる。
【０１１５】
ユーザは、図８の処理によりユニットキーが登録された指紋照合装置１−１を購入した場合、指紋照合装置２−１が接続されているパーソナルコンピュータ２−１のユーザとして、自分自身を登録するために、最初に登録ファイルをＤＢ４に記憶させる処理を行なう必要がある。この登録ファイルは、後述する図１４のファイルを暗号化する処理、または、図１８のＰＷ（パスワード）暗号化登録処理において、使用される。
【０１１６】
次に、図１０と図１１を参照して、指紋照合装置１−１とパーソナルコンピュータ２−１における登録ファイル記憶処理を説明する。なお、この処理は、ユーザから指紋を登録する指令が指紋照合装置１−１とパーソナルコンピュータ２−１に入力されたとき開始される。
【０１１７】
ユーザが、自分自身の指（登録する指紋を有する指）を指紋読み取り用センサ２１上に載置すると、指紋読み取り用センサ２１は、指紋の画像を読み取る。ステップＳ１０１において、指紋読み取り用ＬＳＩ５１は、指紋読み取り用センサ２１から供給された信号から指紋の２値化画像データを生成する。なお、指紋画像の詳細は、図２５乃至図２８を参照して後述する。
【０１１８】
ステップＳ１０２において、指紋読み取り用ＬＳＩ５１は、指紋の画像データから指紋テンプレートを作成する。すなわち、指紋読み取り用ＬＳＩ５１は、指紋の画像データから特徴量を抽出して、抽出したデータ（特徴量）を図１２に示されるように指紋テンプレート３７１としてフラッシュメモリ５４に記憶させる。
【０１１９】
ステップＳ１０３において、パーソナルコンピュータ２−１にＤＥＳキーを生成させるために、指紋照合プログラム（ＣＰＵ５２）は、登録した指紋テンプレート３７１の全部または一部を、ＵＳＢコントローラ５５を介してパーソナルコンピュータ２−１に送信する。これに対して、パーソナルコンピュータ２−１のＣＰＵ２０１は、指紋照合装置１−１から供給された指紋テンプレート３７１の全部または一部からＤＥＳキー３７４を作成する。ＣＰＵ２０１はＤＥＳキー３７４を含むユーザアトリビュート３７３を生成するとともに、システムアトリビュート３７２をさらに生成し、送信してくる（後述する図１１のステップＳ１５５の処理）。
【０１２０】
システムアトリビュートは、指紋の照合レベル（マッチング照合でＯＫにしても良い一致度）のデータを含み、ユーザアトリビュートは、ユーザにより自由に書き込みが可能なデータであり、ＤＥＳキーおよびユーザＩＤを含む。
【０１２１】
なお、指紋テンプレートの容量は５１２バイトとされ、システムアトリビュートの容量は１６バイトとされ、ユーザアトリビュートの容量は４８バイトとされる。また、ユニットキーの容量は、８×２バイト（＝１６バイト）とされる（８バイトの（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）キーで、トリプルＤＥＳ（Ｄａｔａ  ＥｎｃｒｙｐｔｉｏｎＳｔａｎｄａｒｄ）対応するために１６バイトで構成される）。
【０１２２】
そこでステップＳ１０４において、指紋照合プログラムは、パーソナルコンピュータ２−１から供給されたＤＥＳキー３７４を含むユーザアトリビュート３７３とシステムアトリビュート３７２を受信し、これをそのユーザのインデックスとして、指紋テンプレートとともに、フラッシュメモリ５４に記憶する。
【０１２３】
このようにして、フラッシュメモリ５４には、図１２に示されるように、指紋テンプレート３７１、システムアトリビュート３７２、およびユーザアトリビュート３７３により構成される１つのファイルとしてのインデックス３０２が記憶される。ユーザアトリビュート３７３には、ＤＥＳキー３７４が含まれている。
【０１２４】
以上のようにして登録ファイル記憶処理が行なわれると、パーソナルコンピュータ２−１からデータの読み出しが要求される（図１１のステップＳ１５６）。そこで、ステップＳ１０５において、指紋照合プログラムは、パーソナルコンピュータ２−１からデータ（すなわち、指紋テンプレート３７１）の読み出しが要求されたか否かを判定する。データが要求されていないと判定された場合、データが要求されたと判定されるまで待機処理が繰り返される。
【０１２５】
ステップＳ１０５において、パーソナルコンピュータ２−１からデータの読み出しが要求されたと判定された場合、処理はステップＳ１０６に進み、指紋照合プログラムは、インデックス３０２（指紋テンプレート３７１、システムアトリビュート３７２、およびユーザアトリビュート３７３からなるインデックス３０２）をユニットキー３０１で暗号化する。図１２に示されるように、フラッシュメモリ５４には、ユニットキー３０１が登録されている（図８のステップＳ４２の処理により登録されている）ので、指紋照合プログラムは、このユニットキー３０１で、インデックス３０２を暗号化する。暗号化されたインデックス３０２は、図１２に、２点鎖線で囲まれた状態で示されている。
【０１２６】
ステップＳ１０７において、指紋照合プログラムは、ステップＳ１０６の処理により暗号化したインデックス３０２をパーソナルコンピュータ２−１に送信し、処理を終了する。このとき、インデックス３０２の送信処理は、移動により行なわれる。すなわち、インデックス３０２は送信された後、消去されるので、インデックス３０２がフラッシュメモリ５４の内部に残ることはない。なお、暗号化は、送信のために行なわれるものであり、インデックス３０２が、暗号化された状態で記憶されている訳ではない。
【０１２７】
次に、図１１のフローチャートを参照して、図１０の指紋照合装置１−１の処理に対応するパーソナルコンピュータ２−１における登録ファイル記憶処理について説明する。なお、この処理は、ユーザから指紋を登録する指令がパーソナルコンピュータ２−１に入力されたとき開始される。
【０１２８】
ステップＳ１５１において、ＣＰＵ２０１は、ユーザが入力部２０６を操作して入力したユーザＩＤとファイルＩＤ、並びに、システム情報を取得する。
【０１２９】
ステップＳ１５２において、ＣＰＵ２０１は、指紋照合装置１−１より供給された（図１０のステップＳ１０３の処理）指紋テンプレート３７１の全部または一部を、通信部２０９を介して受信する。
【０１３０】
ステップＳ１５３においてＣＰＵ２０１は、受信した指紋テンプレート３７１の全部または一部からＤＥＳキー３７４を生成するとともに、ＤＥＳキー３７４とユーザＩＤを含むユーザアトリビュート３７３を生成する。ユーザアトリビュート３７３には、ユーザにより自由に入力されたデータが書き込まれる。
【０１３１】
ステップＳ１５４において、ＣＰＵ２０１は、ステップＳ１５１の処理により取得したシステム情報を含むシステムアトリビュート３７２を作成する。システム情報は、指紋の照合レベル（マッチング照合でＯＫにしても良い一致度）のデータを含む。
【０１３２】
ステップＳ１５５において、ＣＰＵ２０１は、ステップＳ１５３の処理により生成したＤＥＳキー３７４とユーザＩＤを含むユーザアトリビュート３７３と、ステップＳ１５４の処理により作成したシステムアトリビュート３７２を、通信部２０９を介して指紋照合装置１−１に送信する。
【０１３３】
以上のようにして、登録ファイル記憶処理が完了した後、ステップＳ１５６において、ＣＰＵ２０１は、ユーザからの指令に基づいて、指紋照合装置１−１にデータの読み出しを要求する。いまの場合、読み出しを要求するデータは、インデックス３０２とされる。
【０１３４】
上述したように、この要求に基づいて、指紋照合装置１−１は、インデックス３０２をユニットキー３０１で暗号化し（図１０のステップＳ１０６）、送信してくる（図１０のステップＳ１０７）。ステップＳ１５７において、ＣＰＵ２０１は、指紋照合装置１−１からデータが送信されてきたか否かを判定する。データが送信されてこないと判定された場合、データが送信されてくるまで待機処理が行なわれる。
【０１３５】
ステップＳ１５７において、データが送信されてきたと判定された場合、処理はステップＳ１５８に進み、ＣＰＵ２０１は、データ（いまの例の場合、ユニットキー３０１で暗号化されたインデックス３０２）を受信し、ユーザＩＤ（ステップＳ１５１の処理により取得したユーザＩＤ）を受信したデータに付加し、登録ファイル３５０としてＤＢ４に送信し、登録させる。ＤＢ４のネットワーク３上のアドレスは、ユーザにより指定され、記憶部２０８に記憶されている。
【０１３６】
なお、ステップＳ１５８の処理において、ＣＰＵ２０１がユーザＩＤを付加しているが、このユーザＩＤは、例えば、後述する図１４のステップＳ２０２、または後述する図１８のステップＳ３０２において、ユーザＩＤに対応する登録ファイルを検索できるようにするために付加されたものである。すなわち、システムアトリビュート３７２に含まれるユーザＩＤは、システムアトリビュート３７２が暗号化されているため、パーソナルコンピュータ２０１には、読み取ることができない。そのため、ＣＰＵ２０１は、暗号化されていないユーザＩＤ３６０とファイルＩＤ３５１を登録ファイル３５０に付加する。
【０１３７】
図１１の処理により、ＤＢ４には、図１３に示される登録ファイル３５０が記憶される。
【０１３８】
図１３において、登録ファイル３５０は、ユニットキー３０１で暗号化されたインデックス３０２（指紋テンプレート３７１、システムアトリビュート３７２、およびＤＥＳキー３７４を含むユーザアトリビュート３７３により構成されるインデックス３０２）にユーザＩＤ３６０とファイルＩＤ３５１が付加されたものとされる。ファイル４００−１，４００−２については、図１８を参照して後述する。
【０１３９】
以上のようにして、登録ファイル３５０がＤＢ４に登録されると、以後、ユーザは、これを使用して、所定の情報（例えば、ファイル）を暗号化することができる。次に、図１４と図１５を参照して、このファイル暗号化処理について説明する。
【０１４０】
最初に、図１４のフローチャートを参照して、パーソナルコンピュータ２−１におけるファイル暗号化処理について説明する。なお、この処理は、ユーザにより暗号化するファイルが指定され、ユーザＩＤが入力されたとき開始される。
【０１４１】
ステップＳ２０１において、ＣＰＵ２０１は、ユーザが入力部２０６から入力したユーザＩＤとファイルＩＤを取得する。
【０１４２】
ステップＳ２０２において、ＣＰＵ２０１は、通信部２０９を制御してネットワーク３を介してＤＢ４にアクセスし、取得したユーザＩＤとファイルＩＤに対応する登録ファイル３５０をＤＢ４から取得し、図１６に示されるように、ＲＡＭ２０３に記憶させる。図１６の例では、ステップＳ２０２の処理により取得された登録ファイル３５０の他に、ユーザにより指定された、暗号化するファイル４５０が記憶されている（ファイル４５０は記憶部２０８に記憶させておいてもよい）。
【０１４３】
ステップＳ２０３において、ＣＰＵ２０１は、インデックス３０２に含まれるＤＥＳキーを指紋照合装置１−１に復号させるために、取得した登録ファイル３５０からユニットキー３０１で暗号化されているインデックス３０２を取得し、通信部２０９を介して指紋照合装置１−１に送信する。指紋照合装置１−１は暗号化されているインデックス３０２を受信したとき、これを復号し、それに基づいて指紋照合の処理を行なう（後述する図１５のステップＳ２５３乃至Ｓ２５５の処理）。
【０１４４】
ステップＳ２０４において、ＣＰＵ２０１は、通信部２０９を介してＤＥＳキーリードコマンドを指紋照合装置１−１に送信する。このコマンドは、ＤＥＳキー３７４の転送を要求するものである。この要求を受けた場合、指紋照合装置１−１は、正しい指紋照合結果が得られていれば、ＤＥＳキー３７４を送信してくる（図１５のステップＳ２５８）。
【０１４５】
そこで、ステップＳ２０５において、ＣＰＵ２０１は、指紋照合装置１−１からＤＥＳキー３７４が送信されてきたか否かを判定する。ＤＥＳキー３７４が送信されてこないと判定された場合、インデックス３０２が異なるユニットキーで暗号化されていて復号できなかったり、あるいは、正しい指紋照合結果が得られなかったことになるので、処理は終了される。
【０１４６】
ステップＳ２０５においてＤＥＳキー３７４が送信されてきたと判定された場合、処理はステップＳ２０６に進み、ＣＰＵ２０１は、ＤＥＳキー３７４を受信し、それを利用して、ユーザにより指定されたファイル（例えば、図１６のファイル４５０）を暗号化する。また、ＣＰＵ２０１は、ＲＡＭ２０３上の登録ファイル３５０を削除させる。
【０１４７】
ステップＳ２０６において、ＣＰＵ２０１は、ＤＥＳキー３７４で暗号化したファイルにユーザＩＤ３６０を付加し、パーソナルコンピュータ２−１のＲＡＭ２０３に記憶する。これにより、パーソナルコンピュータ２−１のＲＡＭ２０３には、図１７に示されるように、ＤＥＳキー３７４で暗号化され、ユーザＩＤ３６０が付加されたファイル４５０が記憶される。
【０１４８】
次に、図１４のパーソナルコンピュータ２−１の処理に対応する指紋照合装置１−１における復号処理を説明する。なお、この処理は、パーソナルコンピュータ２−１からインデックス３０２が送信されてきたとき開始される。
【０１４９】
ステップＳ２５１において、指紋照合プログラムは、パーソナルコンピュータ２−１から送信されてきた（図１４のステップＳ２０３）ユニットキー３０１で暗号化されているインデックス３０２を受信する。
【０１５０】
ステップＳ２５２において、指紋照合プログラムは、ユニットキー３０１で暗号化されているインデックス３０２を、フラッシュメモリ５４に記憶されているユニットキー３０１で復号し、ステップＳ２５３で、復号できたか否かを判定する。インデックス３０２を暗号化しているユニットキー３０１が、フラッシュメモリ５４に記憶されているユニットキー３０１と同一であるとき（受信したインデックス３０２が、自分自身が暗号化したインデックス、または、同じユニットキーが記憶されている指紋照合装置（例えば、指紋照合装置１−２）により暗号化されたインデックスであるとき）、暗号化されたインデックス３０２を復号することができる。インデックス３０２を復号できれば、指紋テンプレート３７１、システムアトリビュート３７２、およびＤＥＳキー３７４が含まれるユーザアトリビュート３７３が取得される。従って、これらのデータが取得できたか否かを調べることで、復号ができたか否かを判定することができる。ステップＳ２５２において、インデックス３０２が復号できないと判定された場合、暗号化された場合のユニットキーと、いま、指紋照合装置１−１のフラッシュメモリ５４に記憶されているユニットキーが異なることになるので、処理は終了される。
【０１５１】
ステップＳ２５３において、インデックス３０２が復号できたと判定された場合、ステップＳ２５４において、指紋照合プログラムは、ユーザの指紋を読み取る。具体的には、ユーザが自分自身を識別させるために、指紋読み取り用センサ２１上に指を置いているので、指紋読み取り用ＬＳＩ５１が、指紋読み取り用センサ２１から供給された信号から、指紋の画像の特徴量を検出し、ＣＰＵ５２に送信してくる。ＣＰＵ５２は、供給された指紋の画像の特徴量を取得する。
【０１５２】
ステップＳ２５５において、指紋照合プログラムは、指紋照合の処理を実行する。指紋照合の処理の詳細は、図２９を参照して後述するが、この指紋照合の処理により、ステップＳ２５２の処理により復号した指紋テンプレート３７１（すなわち、登録ファイル３５０に登録されている指紋テンプレート３７１）と、ステップＳ２５４の処理により取得された指紋が一致するか、不一致であるかが判定される。
【０１５３】
ステップＳ２５６において、指紋照合プログラムは、ステップＳ２５５の処理により求めた指紋照合の判定結果が、一致する（図１１のステップＳ１５８の処理により登録された登録ファイル３５０の指紋と、ステップＳ２５４の処理により取得した指紋が一致する）ことを表わしているか否かを判定する。
【０１５４】
ステップＳ２５６において、指紋が一致する（認証が取れた）と判定された場合、処理はステップＳ２５７に進み、指紋照合プログラムは、パーソナルコンピュータ２−１から送信されてきた（図１４のステップＳ２０４の処理）ＤＥＳキーリードコマンドを受信する。
【０１５５】
ステップＳ２５８において、指紋照合プログラムは、ステップＳ２５２の復号により得られたユーザアトリビュート３７３に含まれるＤＥＳキー３７４を、パーソナルコンピュータ２−１に送信し、処理を終了する。
【０１５６】
ステップＳ２５６で、指紋が一致しない（認証が取れない）と判定された場合、正規のユーザではないことになるので処理は終了される。すなわち、この場合、ＤＥＳキーは送信されない。
【０１５７】
図１４と図１５の処理により、パーソナルコンピュータ２−１によりユーザＩＤと対応する登録ファイル３５０が読み出され、登録ファイル３５０に含まれるインデックス３０２が指紋照合装置１−１に送信される。指紋照合装置１−１は、これを復号し、指紋照合の処理を行なう。指紋照合の処理により指紋が一致する場合、指紋照合装置１−１は、ＤＥＳキー３７４をパーソナルコンピュータ２−１に送信する。パーソナルコンピュータ２−１は、このＤＥＳキー３７４を使用して、暗号化したいファイル４５０を暗号化する。これにより、ファイル４５０を安全に取り扱うことができる。
【０１５８】
ユーザは、ファイルを暗号化する場合（図１４の場合）と同様の処理に基づき、アプリケーションに対応するＰＷ（パスワード）を暗号化してＤＢ４に登録することができる。
【０１５９】
そこで、図１８のフローチャートを参照して、パーソナルコンピュータ２−１におけるアプリケーションに必要なＰＷを登録する場合の処理について説明する。なお、この処理は、ユーザにより暗号化し、登録するＰＷが指定され、ユーザＩＤ（例えば、図１１のステップＳ１５１の処理により取得されたユーザＩＤと同一のユーザＩＤ）が入力されたとき開始される。
【０１６０】
ステップＳ３０１乃至ステップＳ３０５の処理は、図１４のステップＳ２０１乃至ステップＳ２０５の処理とほぼ同様であるので、簡単に説明する。また、このパーソナルコンピュータ２−１における処理に対応する指紋照合装置１−１の処理は図１５の処理と同様である。
【０１６１】
ステップＳ３０１において、ＣＰＵ２０１は、ユーザにより入力部２０６から入力されたユーザＩＤとアプリケーションを識別するアプリケーションＩＤ３８１−１を取得する。
【０１６２】
ステップＳ３０２において、ＣＰＵ２０１は、取得したユーザＩＤに対応する登録ファイル３５０（そのユーザの認証に必要な指紋画像データ）をＤＢ４から取得する。図１３の例の場合、登録ファイル３５０が取得される。
【０１６３】
ステップＳ３０３において、ＣＰＵ２０１は、取得した登録ファイル３５０からユニットキー３０１で暗号化されているインデックス３０２（指紋テンプレート３７１、システムアトリビュート３７２、およびＤＥＳキー３７４を含むユーザアトリビュート３７３からなる）を取得し、指紋照合装置１−１に送信する。指紋照合装置１−１は暗号化されているインデックス３０２を受信すると、それを復号し、指紋照合の処理を行なう（図１５のステップＳ２５３乃至Ｓ２５５の処理）。
【０１６４】
ステップＳ３０４において、ＣＰＵ２０１は、ＤＥＳキー３７４の転送を要求するＤＥＳキーリードコマンドを指紋照合装置１−１に送信する。この要求に対して、指紋照合装置１−１からは、インデックス３０２が復号でき、かつ、読み取られた指紋がインデックス３０２の指紋と一致した場合、ＤＥＳキー３７４が送信されてくる。
【０１６５】
ステップＳ３０５において、ＣＰＵ２０１は、指紋照合装置１−１からＤＥＳキー３７４が送信されてきたか否かを判定する。ＤＥＳキー３７４が送信されてこないと判定された場合、処理は終了される。
【０１６６】
ステップＳ３０５においてＤＥＳキー３７４が送信されてきたと判定された場合、処理はステップＳ３０６に進み、ＣＰＵ２０１は、ＤＥＳキー３７４を受信する。ユーザは入力部２０６を操作して、アプリケーションＩＤ３８１−１で識別されるアプリケーションを使用する場合に必要とされるＰＷを入力する。ＣＰＵ２０１は、ユーザにより入力されたＰＷをＤＥＳキー３７４で暗号化する。これにより、ＲＡＭ２０３には、図１９に示されるように、ＤＥＳキー３７４で暗号化されたＰＷ４４０−１が記憶される。このＰＷ４４０−１には、アプリケーションＩＤ３８１−１が付加されている。
【０１６７】
ステップＳ３０７において、ＣＰＵ２０１は、ＤＥＳキー３７４で暗号化したＰＷ４４０−１に、ステップＳ３０２の処理により読み出した、ユニットキー３０１で暗号化されているインデックス３０２を付加し（勿論、ユーザＩＤ３６０も付加されている）、１つのファイル４００−１を生成し、ＤＢ４に送信し、記憶させる。これにより、ＤＢ４には、図１３に示されるように、アプリケーションＩＤ３８１−１に対応するファイル４００−１が記憶される。このＤＢ４への送信、記憶処理が完了すると、図１９に示されるＲＡＭ２０３の登録ファイル３５０と、暗号化されているＰＷ４４０−１は消去される。
【０１６８】
以上のように、図１５と図１８の処理により、パーソナルコンピュータ２−１によりユーザＩＤと対応する登録ファイル３５０が読み出され、登録ファイル３５０に含まれるインデックス３０２が指紋照合装置１−１により復号され、指紋照合の処理が行なわれる。指紋照合の処理により指紋が一致する場合、指紋照合装置１−１は、ＤＥＳキー３７４をパーソナルコンピュータ２−１に送信する。パーソナルコンピュータ２−１は、このＤＥＳキー３７４を使用して、そのアプリケーションを使用する際に必要とされるＰＷ４４０−１を暗号化し、登録ファイル３５０を含む１つのファイル４００−１を作成してＤＢ４に記憶させる。これにより、ＰＷ４４０−１を安全に管理することができる。
【０１６９】
図１５と図１８の処理が繰り返されることにより、ＤＢ４には、例えば、図１３に示されるように、さらに別のアプリケーションＩＤ３８１−２に対応するファイル４００−２が記憶される。この例の場合、同一のユーザにより登録されるので、ユーザＩＤ３６０、インデックス３０２は同一とされる。なお、ＰＷ４４０−１とＰＷ４４０−２が異なる点を除き、ファイル４００−２の構成は、ファイル４００−１の構成と同様である。
【０１７０】
次に、図２０のフローチャートを参照して、以上のようにして登録されたデータ（図１４および図１５の処理によりＲＡＭ２０３に記憶された暗号化されたファイル４５０、並びに、図１５および図１８の処理によりＤＢ４に記憶されたファイル４００−１）の復号処理について、図２０のフローチャートを参照して説明する。なお、この処理はユーザにより、暗号化されたファイル４５０に対するアクセスが指令された場合、または、ＤＢに記憶されたファイル４００−１に含まれるＰＷ４４０−１に関連づけられているアプリケーションの使用が指令された場合に開始される。また、このパーソナルコンピュータ２−１の処理に対応する指紋照合装置１−１の処理は、図１５の処理と同様であるのでその説明は省略する。
【０１７１】
ステップＳ３５１において、ＣＰＵ２０１は、ユーザにより入力されたユーザＩＤと、使用ファイルを特定する情報を取得する。
【０１７２】
ステップＳ３５２において、ＣＰＵ２０１は、ユーザＩＤとファイル特定情報に対応するファイルをＤＢ４から読み出す。ユーザにより、ファイル特定情報として、例えば、アプリケーションＩＤ３８１−１が指定された場合、図１３のファイル４００−１が読み出され、ファイルＩＤ３５１が指定された場合、図１３の登録ファイル３５０が読み出される。
【０１７３】
ステップＳ３５３において、ＣＰＵ２０１は、取得したファイルに含まれる、ユニットキーで暗号化されているインデックス３０２を指紋照合装置１−１に送信する。例えば、ユーザによりアプリケーションＩＤ３８１−１が指定された場合、図１３のファイル４００−１に含まれるインデックス３０２が送信され、ユーザによりファイルＩＤ３５１が指定された場合、図１３の登録ファイル３５０に含まれるインデックス３０２が送信される。
【０１７４】
ステップＳ３５４において、ＣＰＵ２０１は、ＤＥＳキーリードコマンドを送信する。この要求に対して、指紋照合装置１−１は、上述したように、暗号化されているインデックス３０２がユニットキー３０１で復号でき、かつ、指紋照合の処理により指紋が一致した場合、ＤＥＳキー３７４を送信してくる（図１５のステップＳ２５８）。
【０１７５】
ステップＳ３５５において、ＣＰＵ２０１は、ＤＥＳキー３７４が送信されてきたか否かを判定する。ＤＥＳキー３７４が送信されてこないと判定された場合、処理は終了される。
【０１７６】
ステップＳ３５５において、ＤＥＳキー３７４が送信されてきたと判定された場合、処理はステップＳ３５６に進み、ＣＰＵ２０１は、ＤＥＳキー３７４で復号処理を実行する。例えば、ユーザによりアプリケーションＩＤ３８１−１が指定された場合、ＤＥＳキー３７４で暗号化されているＰＷ４４０−１が復号され、ユーザによりファイルＩＤが指定された場合、ＤＥＳキー３７４で暗号化されているファイル４５０が復号される。
【０１７７】
ステップＳ３５６において、ＣＰＵ２０１は、復号したデータ（いまの例の場合、ファイル４５０またはＰＷ４４０）を目的の用途に使用する。具体的には、ユーザによりアプリケーションＩＤ３８１−１が指定された場合、ＤＥＳキー３７４で暗号化されているＰＷ４４０−１が復号され、アプリケーションＩＤ３８１−１に対応するアプリケーションが起動される。また、ユーザによりファイルＩＤ３５１が指定された場合、ＤＥＳキー３７４で暗号化されているファイル４５０が復号され、閲覧可能となる。
【０１７８】
図２０の処理により、ＤＥＳキー３７４で暗号化されているデータを復号することができる。
【０１７９】
安全を図るために、ユニットキー３０１は、所定の期間毎に変更される必要がある。以下、図２１乃至図２４を参照して、ユニットキー３０１の変更方法について説明する。
【０１８０】
最初に、図２１乃至図２３を参照して、指紋照合（特別インデックス）を利用して、ユニットキー３０１を変更する方法について説明する。
【０１８１】
この方法の場合、ユーザは、図８の処理によりユニットキーが登録された指紋照合装置１−１を購入したとき、最初に、図２１のフローチャートに示されるような特別インデックスを登録するための処理を行なう。
【０１８２】
なお、この処理は、製造業者から指紋照合装置１−１を購入後（図８の処理の後）、最初に電源をオンしたとき開始される。また、この処理により作成される特別インデックス５００は、図２２に示されるように、ＤＢ４ではなく、指紋照合装置１−１のフラッシュメモリ５４に記憶される。
【０１８３】
管理者が指紋読み取りセンサ２１を、指紋が読み取られる指（自分自身の指）４１で押圧すると、ステップＳ４０１において、指紋読み取り用ＬＳＩ５１は、ユーザからの指紋を受け付ける。具体的には、指紋読み取り用ＬＳＩ５１は、指紋読み取り用センサ２１から供給された信号から、指紋の画像の特徴量を検出し、ＣＰＵ５２に送信する。ＣＰＵ５２は、供給された指紋の画像の特徴量を受け付ける。
【０１８４】
ステップＳ４０２において、指紋照合プログラムは、取得した指紋の画像の特徴量から指紋テンプレート５０１を作成し、作成した指紋テンプレート５０１を図２２に示されるように、特別インデックス５００としてフラッシュメモリ５４に登録する。勿論、このとき、指紋照合プログラムは、上述した図１０のステップＳ１０３の処理と同様に、パーソナルコンピュータ２−１に指紋テンプレート５０１を送信する。これに対して、パーソナルコンピュータ２−１は、指紋テンプレート５０１に基づいて作成したＤＥＳキー５０４を含むユーザアトリビュート５０３とシステムアトリビュート５０２を送信してくる。そこで、指紋照合プログラムは、その管理者のシステムアトリビュート５０２、およびユーザアトリビュート５０３も登録する。
【０１８５】
図２１の処理により、ユニットキー３０１を変更できる管理者の指紋が、特別インデックス５００として図２２に示されるように、フラッシュメモリ５４に登録される。
【０１８６】
図２１の例では、指紋テンプレート５０１、システムアトリビュート５０２、および、ＤＥＳキー５０４を含むユーザアトリビュート５０３からなる特別インデックス５００が、ユニットキー３０１とともに記憶されている。
【０１８７】
次に、図２３のフローチャートを参照して、指紋照合（特別インデックス）を利用したユニットキー変更処理を説明する。なお、この処理は、図８と図２１の処理の後、図２２の特別インデックス５００を登録した管理者（ユーザ）が、ユニットキーの変更を指令したとき（すなわち、新たなユニットキーを入力したとき）開始される。
【０１８８】
ステップＳ４６１において、指紋照合プログラムは、管理者により入力された新しいユニットキーを受け付ける。
【０１８９】
ステップＳ４６２において、指紋照合プログラムは、ユーザ（管理者）の指紋を取得する。具体的には、ユーザが指紋読み取り用センサ２１上に指を置いているので、指紋読み取り用ＬＳＩ５１が、指紋読み取り用センサ２１から供給された信号から、指紋の画像の特徴量を検出し、ＣＰＵ５２に送信してくる。ＣＰＵ５２は、供給された指紋の画像の特徴量を取得する。
【０１９０】
ステップＳ４６３において、指紋照合プログラムは、指紋照合の処理を実行する。指紋照合の処理の詳細は、図２９を参照して後述する。指紋照合の処理により、図２１のステップＳ４０２の処理により特別インデックス５００に登録された指紋テンプレート５０１の指紋と、ステップＳ４６２の処理により取得された指紋が一致するか、不一致であるかが判定される。
【０１９１】
ステップＳ４６４において、指紋照合プログラムは、ステップＳ４６３の処理により求めた指紋照合の判定結果が、一致する（図１２ステップＳ４０２の処理により受け付けた、特別インデックス５００に登録されている指紋テンプレート５０１の指紋と、ステップＳ４６２の処理により取得した指紋（２回目以降は、特別インデックス５００に登録されている指紋）が一致する）ことを表わしているか否かを判定する。指紋が一致する（認証が取れた）と判定された場合、ステップＳ４６５において、指紋照合プログラムは、図８のステップＳ４２の処理により設定されたユニットキー３０１（あらかじめ製造業者により設定されているユニットキー３０１）を、ステップＳ４６１の処理により受け付けた、新しいユニットキーに変更（更新）する。
【０１９２】
ステップＳ４６４において、指紋が一致しないと判定された場合、権限を有する管理者以外の者による操作になるので、処理はステップＳ４６６に進み、指紋照合プログラムは、エラー処理を実行する。すなわち、この場合、指紋の照合が取れなかったことが通知され、処理が終了される（ユニットキーの変更は禁止される）。
【０１９３】
図８、図２１乃至図２３の処理により、指紋照合装置１−１に特別インデックス５００を登録し、特別インデックス５００に登録されている指紋テンプレートと、ユニットキーを変更する使用者の指紋テンプレートが一致するときにのみユニットキーを変更できるようにしたので、ユニットキーの変更を安全、かつ、迅速に行なうことができる。
【０１９４】
なお、ステップＳ４６４の処理で指紋が一致すると判定された後、ステップＳ４６２の処理により取得した指紋テンプレートを登録ファイル３５０の指紋テンプレート３７１として登録するようにしてもよいし、特別インデックス５００の指紋テンプレート５０１として登録するようにしてもよい。このようにした場合、問題が生じた場合（例えば、ステップＳ４６３の指紋照合処理で、非管理者の指紋が管理者の指紋として誤って判定されてしまった場合）、ユニットキーを変更した使用者を特定することができる。
【０１９５】
次に、図２４を参照して、時間を利用して、ユニットキー３０１を変更する他の方法について説明する。
【０１９６】
図２４のフローチャートは、時間を利用したユニットキー変更処理を説明するものである。なお、この処理は、上述した図８の処理の後（すなわち、製造業者によりユニットキーが登録された後）、ユニットキーを変更する場合に実行される処理であり、指紋照合装置１−１の管理者（ユーザ）が、ユニットキーの変更を指令したとき（すなわち、新たなユニットキーを入力したとき）開始される。
【０１９７】
ステップＳ４８１において、指紋照合プログラムは、管理者により入力された新しいユニットキーを受け付ける。
【０１９８】
ステップＳ４８２において、指紋照合プログラムは、タイマに、予め設定されている所定の待機時間を設定する。この例の場合、待機時間、すなわち、インターバルは５秒とされる。
【０１９９】
ステップＳ４８３において、指紋照合プログラムは、ユニットキーの更新が指令されてから（新たなユニットキーが入力されてから）、ステップＳ４８２の処理で設定された待機時間（５秒）が経過したか否かを判定する。まだ、待機時間が経過していないと判定された場合、所定の時間が経過したと判定されるまで、次のステップＳ４８４のユニットキーの変更の処理は禁止される。この時間は、もっぱら、時間を積極的に（意図的に）遅延させるために設定されるものであって、何等かの処理を実行するためにその時間が結果的に必要になるというものではない。但し、その間に、ユニットキーの変更以外の処理を実行させるようにしてもよいことは勿論である。
【０２００】
ステップＳ４８３において、所定の時間が経過したと判定された場合（５秒間が経過したと判定された場合）、ステップＳ４８４において、指紋照合プログラムは、図８のユニットキー登録処理により設定されていたユニットキー３０１（２回目以降は、いま、登録されているユニットキー）を、ステップＳ４８１の処理により受け付けた新しいユニットキーに変更（更新）する。
【０２０１】
図２４の処理により、指紋照合装置１−１のユニットキー３０１を１回変更するのに、確実に一定の時間Ｔだけ待機させるようにしたので、Ｎ回変更するのに、少なくとも時間ＮＴが必要となる。その結果、図２０のステップＳ３５１の処理において入力される他のユーザのユーザＩＤを盗んだ悪意のあるユーザが、ＤＢ４に登録されている他のユーザの情報を盗もうとしても、膨大な時間が必要であるため、実質的に、このような盗用を不可能にさせることができる。
【０２０２】
例えば、パーソナルコンピュータ６を使用する不正なユーザが、パーソナルコンピュータ２−１のユーザのユーザＩＤを偶然知り、ＤＢ４に登録されている他のユーザの登録ファイル３５０の内容に不正にアクセスしようとする。この場合、不正なユーザは、登録ファイル３５０を暗号化している指紋照合装置１−１のユニットキー３０１を知る必要がある。
【０２０３】
不正なユーザは、ユニットキー３０１を解析するために、指紋照合装置５が接続されているパーソナルコンピュータ６を利用して、図２０の処理を実行する。すなわち、不正なユーザは、他のユーザのユーザＩＤを入力して、そのユーザの登録ファイル３５０をＤＢ４から読み出し、指紋照合装置５に送信する。指紋照合装置５は、異なるユニットキーで暗号化されている登録ファイル３５０を復号することができない。従って、ステップＳ３５４において、ＤＥＳキーリードコマンドを送信しても、指紋照合装置５はＤＥＳキーを送信してこない。
【０２０４】
図２０のステップＳ３５５の処理において、ＤＥＳキー３０１が送信されてこないと判定された場合、パーソナルコンピュータ６は、図２４の処理、すなわち、指紋照合装置５のユニットキーを新しいユニットキーへ変更する処理を行なう。そして、新しいユニットキーに変更された指紋照合装置５を使用して、再度、図２０の処理を実行する。更新したユニットキーが登録ファイル３５０を暗号化しているユニットキー３０１と一致すれば、ＤＥＳキーが送信されてくるので、不正なユーザは、登録ファイル３５０が復号できたことを知ることができる。
【０２０５】
そこで、不正なユーザは、ユニットキーを繰り返し新たなものに更新することで、ユニットキーを特定しようとする。しかしながら、図２４に示されるように、新しいユニットキーへの１回の変更には時間Ｔを要するため、この処理をＮ回繰り返すには、膨大な時間ＮＴが必要となる。このことから、ユニットキー３０１の解析は、実質的に不可能となる。
【０２０６】
このように、ユニットキーを変更する場合に、予め設定された一定の時間が必要となるようにしたので、ユニットキーの解析を困難にさせることができる。
【０２０７】
また、指紋テンプレート３７１の少なくとも一部をＤＥＳキー３７４として、ファイル４５０およびＰＷ４４０を暗号化するようにしたので、他の機器において暗号解析が行なわれた場合においても、暗号化されているファイル４５０とＰＷ４４０の復号を防ぐことができる。
【０２０８】
さらに、ユニットキーの保存も、ユーザ、またはシステムインテグレータが行なえばよいことになり、指紋照合装置１−１の製造業者の負担を減らすことができる。この場合、システムインテグレータが変更ソフトウエア（図２１または図２４の処理を実行するソフトウエア）を所有していてもよく、仮に、その変更ソフトウエアが外部に流出した場合においても、安全を保つことができる。
【０２０９】
また、同一の管理者による管理のもとで、複数の指紋照合装置に同一のユニットキーを記憶させるようにした場合、データベース（いまの例の場合、インデックス３０２）に登録された登録情報を、複数の指紋照合装置で共有することができる。さらに、管理者が指紋照合装置にユニットキーを設定する場合、指紋照合等の個人認証をする必要もないので、複数の機器に一度にユニットキーを設定するのが容易となる。
【０２１０】
なお、図２４の処理は、単に、一定の時間待機するインターバルタイマーを設けるのみで実現できるので、バイオメトリックス装置に限らず、ＩＣカード、その他の機器に適用することができる。
【０２１１】
なお、以上においては、指紋が照合されたとき、ＤＥＳキーを出力するようにしたが、ＤＥＳキーに代えて、パスワードそのものや、その他、指紋照合によって本人のみが利用可能としたい秘匿情報を出力したり、利用可能な状態とすることもできる。例えば、図１５のステップＳ２５６の処理により、指紋が一致すると判定されれば、ステップＳ２５８の処理において、指紋照合装置１−１は、パーソナルコンピュータ２−１に復号されたパスワードやその他の秘匿情報を送信する。これにより、パーソナルコンピュータ２−１は、ログインや情報の利用をすることができる。このように、指紋照合の結果に基づいて読み出される情報（ＤＥＳキー、パスワード、その他の秘匿情報）を復号する暗号鍵（ユニットキー）を安全、かつ、容易に変更することができる。
【０２１２】
また、指紋情報と関連付けて出力される情報（例えば、インデックス）を暗号化する暗号鍵（ユニットキー）を安全、かつ、容易に変更することができる。
【０２１３】
次に、指紋の登録および指紋の照合の処理のより具体的な例について説明する。
【０２１４】
図１０のステップＳ１０１で説明した指紋の画像を読み取り、指紋画像を作成する処理において、指紋読み取り用ＬＳＩ５１は、指紋読み取りセンサ２１から供給された、金属電極１０３毎の信号をアナログデジタル変換し、変換により得られたデジタル信号をさらに２値化して、２値化された指紋の画像を生成する。指紋読み取り用ＬＳＩ５１は、生成した、２値化の指紋の画像をＣＰＵ５２に供給する。上述した図１５のステップＳ２５４、図２１のステップＳ４０１、および図２３のステップＳ４６２において取得している画像は、２値化の指紋の画像とされる。
【０２１５】
図２５は、指紋読み取り用ＬＳＩ５１により生成された、２値化の指紋の画像の例を示す図である。図２５に示すように、２値化された指紋の画像は、水平方向に１２８画素、垂直方向に１９２画素からなる。
【０２１６】
以下、指紋テンプレート３７１，５０１として、登録に使用する指紋の画像を指紋データＤ１と称し、照合に使用する指紋の画像を指紋データＤ２と称する。
【０２１７】
次に、指紋の登録の処理の詳細について説明する（例えば、図１０のステップＳ１０１乃至ステップＳ１０４の処理の詳細）。
【０２１８】
ＣＰＵ５２は、フラッシュメモリ５４に、使用者に対応する、ユーザデータ（システムアトリビュート３７２，５０２、ユーザアトリビュート３７３，５０３）と、使用者の指紋から読み取った指紋データＤ１から抽出された登録データ（指紋テンプレート）とを対応させて記憶させる。
【０２１９】
図２６に示すように、フラッシュメモリ５４は、登録したユーザデータ毎に、ユーザＩＤを記憶し、１つのユーザＩＤに対応させて、９つの水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８および９つの垂直方向登録データＤ１Ｖ０乃至Ｄ１Ｖ８を記憶する。フラッシュメモリ５４は、さらに、水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８および垂直方向登録データＤ１Ｖ０乃至Ｄ１Ｖ８のそれぞれの、指紋の画像上の水平方向の位置および垂直方向の位置を示す位置情報を記憶する。すなわち、９つの水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８および９つの垂直方向登録データＤ１Ｖ０乃至Ｄ１Ｖ８、並びに、それぞれの、指紋の画像上の水平方向の位置および垂直方向の位置を示す位置情報は、指紋テンプレート３７１，５０１とされて、フラッシュメモリ５４に記憶される。また、ユーザアトリビュート３７３には、ユーザＩＤが含まれている。このユーザＩＤは、上述した図１１のステップＳ１５８において付加されるユーザＩＤ（例えば、図１３のユーザＩＤ３６０）と同じユーザＩＤであるが、ユーザアトリビュート３７３の中にも記憶されている。図２６に示す、（Ｘ０，Ｙ０）、（Ｘ０，Ｙ１）、（Ｘ０，Ｙ４），（Ｘ０，Ｙ８），（Ｘ０，Ｙ０），（Ｘ１，Ｙ０），（Ｘ４，Ｙ０），および（Ｘ８，Ｙ０）は、位置情報の例である。
【０２２０】
ここで、水平方向登録データＤ１Ｈ０は、図２７に示すように、指紋データＤ１の画像の画素のうちの、水平方向に１列の６４画素からなる。同様に、水平方向登録データＤ１Ｈ１乃至Ｄ１Ｈ８のそれぞれは、図２７に示すように、指紋データＤ１の画像の画素のうちの、異なる位置の水平方向に１列（互いに異なる１列）の６４画素からなる。
【０２２１】
水平方向登録データＤ１Ｈ０に対応する位置情報は、指紋データＤ１の画像上の、水平方向登録データＤ１Ｈ０に含まれる画素の位置を示す座標値である。例えば、水平方向登録データＤ１Ｈ０に対応する位置情報（Ｘ０，Ｙ０）は、指紋データＤ１の画像上の、水平方向登録データＤ１Ｈ０に含まれる画素のうちの最も左側の画素の位置を示す座標値である。
【０２２２】
同様に、水平方向登録データＤ１Ｈ１乃至Ｄ１Ｈ８のそれぞれに対応する位置情報は、指紋データＤ１の画像上の、水平方向登録データＤ１Ｈ１乃至Ｄ１Ｈ８のそれぞれに含まれる画素の位置を示す座標値である。
【０２２３】
これによりフラッシュメモリ５４は、照合元の画像である、登録する指紋の画像の１つから抽出された、９つの、垂直方向に１画素、水平方向に６４画素の画素値を記憶すると共に、９つの、垂直方向に１画素、水平方向に６４画素の画像上の位置を記憶する。
【０２２４】
これに対して、垂直方向登録データＤ１Ｖ０は、図２８に示すように、指紋データＤ１の画像の画素のうちの、垂直方向に１列の６４画素からなる。同様に、垂直方向登録データＤ１Ｖ１乃至Ｄ１Ｖ８のそれぞれは、図２８に示すように、指紋データＤ１の画像の画素のうちの、異なる位置の垂直方向に１列（互いに異なる１列）の６４画素からなる。
【０２２５】
垂直方向登録データＤ１Ｖ０に対応する位置情報は、指紋データＤ１の画像上の、垂直方向登録データＤ１Ｖ０に含まれる画素の位置を示す座標値である。例えば、垂直方向登録データＤ１Ｖ０に対応する位置情報（Ｘ０，Ｙ０）は、指紋データＤ１の画像上の、垂直方向登録データＤ１Ｖ０に含まれる画素のうちの最も上側の画素の位置を示す座標値である。
【０２２６】
同様に、垂直方向登録データＤ１Ｖ１乃至Ｄ１Ｖ８のそれぞれに対応する位置情報は、指紋データＤ１の画像上の、垂直方向登録データＤ１Ｖ１乃至Ｄ１Ｖ８のそれぞれに含まれる画素の位置を示す座標値である。
【０２２７】
これによりフラッシュメモリ５４は、照合元の画像である、登録する指紋の画像の１つから抽出された、９つの、垂直方向に１画素、垂直方向に６４画素の画素値を記憶すると共に、９つの、垂直方向に１画素、垂直方向に６４画素の画像上の位置を記憶する。
【０２２８】
この実施の形態において、指紋データＤ１の特徴部分を示す、水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８は、指紋データＤ１から所定の間隔（例えば、ΔＹ）で抽出される。指紋データＤ１の特徴部分を示す、垂直方向登録データＤ１Ｖ０乃至Ｄ１Ｖ８は、指紋データＤ１から所定の間隔（例えば、ΔＸ）で抽出される。水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８および垂直方向登録データＤ１Ｖ０乃至Ｄ１Ｖ８は、指紋テンプレートとも称する。
【０２２９】
図２９のフローチャートを参照して、図１５のステップＳ２５５、および図２３のステップＳ４６３の処理に対応する、指紋照合の処理を説明する。
【０２３０】
指紋照合プログラムは、指紋の照合が要求されると、ステップＳ６０１において、指紋読み取り用ＬＳＩ５１から指紋データＤ２を入力する。例えば、指紋読み取り用ＬＳＩ５１は、指紋読み取りセンサ２１から供給された、金属電極１０３毎の信号をアナログデジタル変換し、変換により得られたデジタル信号をさらに２値化して、２値化された指紋の画像を生成する。指紋読み取り用ＬＳＩ５１は、生成した、２値化の指紋の画像を指紋データＤ２として指紋照合プログラムに供給する。指紋照合プログラムは、指紋読み取り用ＬＳＩ５１で生成された指紋データＤ２を入力する。指紋照合プログラムは、入力した指紋データＤ２をプログラム用ＲＡＭ／ＲＯＭ５３の所定のＲＡＭ領域に記憶させる。
【０２３１】
ステップＳ６０２において、指紋照合プログラムは、変数ｍに０を設定する。ここで変数ｍは、１つのユーザＩＤについて、指紋テンプレート３７１に登録された９×２個の登録データＤ１Ｈ０乃至Ｄ１Ｖ８を特定する変数である。
【０２３２】
最初に実行される、ステップＳ６０３において、指紋照合プログラムは、ＵＳＢコントローラ５５を介して外部から入力されるユーザＩＤを基準にして、ユーザＩＤに対応して登録されている水平方向のｍ（いまの場合ｍ＝０）番目の登録データである水平方向登録データＤ１Ｈ０をフラッシュメモリ５４から読み出し、プログラム用ＲＡＭ／ＲＯＭ５３の所定のＲＡＭ領域にロードする。
【０２３３】
ステップＳ６０４において、指紋照合プログラムは、プログラム用ＲＡＭ／ＲＯＭ５３にロードされた、水平方向のｍ番目の登録データである水平方向登録データＤ１Ｈ０を、指紋データＤ２による画像上でラスタ走査させながら、指紋データＤ２による画像の各位置における一致度ＤＭＨ０を検出する。
【０２３４】
例えば、図３０に示すように、指紋照合プログラムは、ラスタスキャン順に、指紋データＤ２の画像の中の、垂直方向に１画素、水平方向に６４画素からなる部分と、水平方向登録データＤ１Ｈ０との、各画素の一致を検出する。指紋データＤ２の画像の中の、垂直方向に１画素、水平方向に６４画素からなる部分と、水平方向登録データＤ１Ｈ０との、各画素の中の、値の一致する画素の数と、水平方向登録データＤ１Ｈ０に含まれる画素の数とが、指紋データＤ２の部分の位置における一致度ＤＭＨ０に設定される。例えば、値の一致する画素の数が６２であり、水平方向登録データＤ１Ｈ０に含まれる画素の数が６４であるとき、６２／６４が、一致度ＤＭＨ０に設定される。
【０２３５】
さらに、指紋照合プログラムは、検出された指紋データＤ２による画像の各位置における一致度ＤＭＨ０と、所定の閾値とを順次比較して、閾値以上の一致度ＤＭＨ０を検出する。指紋照合プログラムは、検出された閾値以上の一致度ＤＭＨ０を、対応する指紋データＤ２の部分の位置を示す座標値と共にプログラム用ＲＡＭ／ＲＯＭ５３に記憶する。
【０２３６】
ステップＳ６０５において、指紋照合プログラムは、変数ｍを１だけインクリメントする。ステップＳ６０６において、指紋照合プログラムは、変数ｍが９を越えたか否かを判定し、変数ｍが９を越えていないと判定された場合、水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８のうち、一致度が検出されていないデータがあるので、ステップＳ６０３に戻り、変数ｍに対応した次の水平方向登録データについて、上述した処理を繰り返す。
【０２３７】
ステップＳ６０６において、変数ｍが９を越えたと判定された場合、水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８の全てについて、一致度が検出されたので、ステップＳ６０７に進み、指紋照合プログラムは、垂直方向登録データについて、一致度を検出したか否かを判定し、垂直方向登録データについて、一致度を検出していないと判定された場合、ステップＳ６０８に進み、処理の対象を垂直方向登録データＤ１Ｖ０乃至Ｄ１Ｖ８に切り換えて、変数ｍに０を設定して、ステップＳ６０３に戻り、変数ｍに対応した垂直方向登録データについて、一致度を検出する処理を繰り返す。
【０２３８】
例えば、変数ｍが０であるとき、図３１に示すように、指紋照合プログラムは、ラスタスキャン順に、指紋データＤ２の画像の中の、水平方向に１画素、垂直方向に６４画素からなる部分と、垂直方向登録データＤ１Ｖ０との、各画素の一致を検出する。指紋データＤ２の画像の中の、水平方向に１画素、垂直方向に６４画素からなる部分と、垂直方向登録データＤ１Ｖ０との、各画素の中の、値の一致する画素の数と、垂直方向登録データＤ１Ｖ０に含まれる画素の数とが、指紋データＤ２の部分の位置における一致度ＤＭＶ０に設定される。例えば、値の一致する画素の数が４０であり、垂直方向登録データＤ１Ｖ０に含まれる画素の数が６４であるとき、４０／６４が、一致度ＤＭＶ０に設定される。
【０２３９】
さらに、指紋照合プログラムは、検出された指紋データＤ２による画像の各位置における一致度ＤＭＶ０と、所定の閾値とを順次比較して、閾値以上の一致度ＤＭＶ０を検出する。指紋照合プログラムは、検出された閾値以上の一致度ＤＭＶ０を、対応する指紋データＤ２の部分の位置を示す座標値と共にプログラム用ＲＡＭ／ＲＯＭ５３に記憶する。
【０２４０】
このように、水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８および垂直方向登録データＤ１Ｖ０乃至Ｄ１Ｖ８について、ステップＳ６０４の処理が繰り返されることにより、プログラム用ＲＡＭ／ＲＯＭ５３には、図３２に例を示すように、水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８および垂直方向登録データＤ１Ｖ０乃至Ｄ１Ｖ８のそれぞれに対応して、所定の閾値値以上の一致度ＤＭＨ０乃至ＤＭＶ８（例えば、６２／６４、６３／６４、５７／６４、……）が、対応する座標値（例えば、（Ｘ０１、Ｙ０１）、（Ｖ０２、Ｙ０２）、（Ｘ０３、Ｙ０３）、……）と共に記憶される。以下、所定の閾値値以上の一致度ＤＭＨ０乃至ＤＭＶ８、および対応する座標値を、一致度分布と称する。
【０２４１】
ステップＳ６０７において、垂直方向登録データについて、一致度を検出したと判定された場合、全ての登録データについて一致度を検出したので、ステップＳ６０９に進み、指紋照合プログラムは、照合率検出処理を実行する。照合率検出の処理の詳細は、図３３を参照して後述する。
【０２４２】
ステップＳ６１０において、指紋照合プログラムは、照合率検出の処理により検出された照合率Ｒが閾値を超えているか否かを判定し、照合率Ｒが閾値を超えていると判定された場合、ステップＳ６１１に進み、指紋が一致したことを示す判定結果をＵＳＢコントローラ５５を介して出力し、処理は終了する。
【０２４３】
ステップＳ６１０において、照合率Ｒが閾値以下であると判定された場合、ステップＳ６１２に進み、指紋が不一致であることを示す判定結果をＵＳＢコントローラ５５を介して出力し、処理は終了する。
【０２４４】
次に、図３３のフローチャートを参照して、図２９のステップＳ６０９の処理に対応する、照合率検出の処理を説明する。
【０２４５】
ステップＳ６３１において、指紋照合プログラムは、プログラム用ＲＡＭ／ＲＯＭ５３の所定の領域である、足し合わせ用メモリの内容をクリアする。ステップＳ６３２において、指紋照合プログラムは、変数ｎに０を設定する。変数ｎは、システムアトリビュート３７２，５０２またはプログラム用ＲＡＭ／ＲＯＭ５３に記憶されている一致度を特定する変数である。ステップＳ６３３において、指紋照合プログラムは、プログラム用ＲＡＭ／ＲＯＭ５３の所定の領域である、テンポラリ用メモリの内容をクリアする。
【０２４６】
ステップＳ６３４において、指紋照合プログラムは、変数ｎにより指定される一致度分布を丸め処理してテンポラリ用メモリに書き込む。
【０２４７】
ここで、指紋照合プログラムは、変数ｎにより特定される一致度分布（変数ｎが０であるとき、一致度分布は、水平方向登録データＤ１Ｈ０について検出された、閾値以上の一致度と、対応する座標値でなる）について、分布度に含まれる一致度ＤＭＨ０をプログラム用ＲＡＭ／ＲＯＭ５３より順次読み出し、一致度ＤＭＨ０に対応する座標で示される位置の近傍の所定の範囲である領域ＡＲに属する他の一致度ＤＭＨ０を、読み出した一致度ＤＭＨ０で更新する。このとき図３４に示すように、指紋照合プログラムは、所定の閾値を越える一致度ＤＭＨ０が近接して、この近接した一致度ＤＭＨ０に対応する座標で示される位置の近傍の所定の範囲である領域ＡＲ１および領域ＡＲ２が重なり合う場合、この重なり合う部分については、値の大きな一致度ＤＭＨ０を割り当てる。
【０２４８】
このとき図３５に示すように、指紋照合プログラムは、９本の水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８の線状の画像のうちの、中央の線状の画像（水平方向登録データＤ１Ｈ４）を基準にして、この中央の線状の画像より遠ざかるに従って、この一致度ＤＭＨ０を更新する領域ＡＲを拡大させて、一致度ＤＭＨ０を更新する。
【０２４９】
ステップＳ６３５において、指紋照合プログラムは、テンポラリ用メモリに記憶されている一致度ＤＭＨ０を、足し合わせ用メモリに記憶されているデータに加算し、加算により足し合わせ用メモリに記憶されているデータを順次更新する。この場合、指紋照合プログラムは、ステップＳ６３１において足し合わせ用メモリをクリアしていることにより、図３６に示すように、テンポラリ用メモリの一致度ＤＭＨ０をクリアされている足し合わせ用メモリに格納することになる。
【０２５０】
このとき、指紋照合プログラムは、９本の水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８による線状の画像のうちの、中央の線状の画像である、水平方向登録データＤ１Ｈ４の位置を基準にして、図３７に示すように、この中央の線状の画像から登録データＤ１Ｈ０による線状の画像までの距離を補正して（すなわち図２６においては、（Ｘ０−Ｘ０，Ｙ４−Ｙ０）の分だけ座標をシフトさせて）、テンポラリ用メモリの一致度ＤＭＨ０に記憶されているデータを足し合わせ用メモリに記憶されているデータに加算する。
【０２５１】
なお、この図３６乃至図３９においては、ステップＳ６３４において、所定値以上の一致度に設定された領域ＡＲを矩形により示す。図３６乃至図３９において、３０１は、足し合わせ用メモリに記憶されている、位置が補正された一致度ＤＭＨ０乃至一致度ＤＭＨ８に対応する画像を示す。
【０２５２】
ステップＳ６３６において、指紋照合プログラムは、変数ｎを１だけインクリメントする。ステップＳ６３７において、指紋照合プログラムは、変数ｎが９を越えたか否かを判定し、変数ｎが９を越えていないと判定された場合、水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８についてそれぞれ検出した９個の一致度分布について、処理を完了していないので、ステップＳ６２３に戻り、次の一致度ＤＭＨ１の分布について、上述した処理を繰り返す。
【０２５３】
このように、指紋照合プログラムは、ステップＳ６２３乃至ステップＳ６３６の処理を繰り返し、水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８についてそれぞれ検出した９個の一致度分布について、丸め処理した後、この丸め処理した一致度ＤＭＨ０乃至ＤＭＨ８を、中央の線状の画像（水平方向登録データＤ１Ｈ４）からの距離で補正してテンポラリ用メモリの一致度に足し合わせる（図３８および図３９）。
【０２５４】
これにより指紋照合プログラムは、水平方向登録データＤ１Ｈ０乃至Ｄ１Ｈ８による線状の画像と、指紋データＤ２による指紋画像とが本来一致すべきものの場合、指紋データＤ２による指紋画像と各線状画像とが正しく重なり合う位置にて検出される一致度が累積されるように、一致度の分布を集計する。
【０２５５】
すなわち、このように明暗の繰り返しでなる線状画像を指紋データＤ２による画像上で走査させて一致度を検出する場合、線状画像と、指紋データＤ２による指紋画像とが本来一致すべきものでない場合でも、各線状画像においては、複数の箇所で高い一致度が検出される。また線状画像と、指紋データＤ２による指紋画像とが本来一致すべきものの場合でも、指紋データＤ２による指紋画像と各線状画像とが正しく重なり合う位置以外で、高い一致度が検出される。
【０２５６】
ところがこのような一致度については、線状画像の相対位置関係により座標値を補正して一致度の分布を集計した場合、高いピーク値を検出することが困難になる。
【０２５７】
これに対して指紋データＤ２による指紋画像と線状画像とが本来一致すべきものの場合で、かつ指紋データＤ２による指紋画像と各線状画像とが正しく重なり合う位置にて検出される一致度においては、線状画像の相対位置関係により座標値を補正して一致度の分布を集計した場合、高いピーク値（図３９においては符号ＤＭＡにより示す）が検出されるようになる。この原理に基づいて、本発明に係る指紋照合装置１−１は、このピーク値を検出して照合率を計算する。
【０２５８】
すなわち指紋照合プログラムは、このように水平方向の９本の線状画像について、一致度の分布を集計すると、ステップＳ６３８に進み、垂直方向について、一致度分布の集計を完了したか否かを判定し、垂直方向について、一致度分布の集計を完了していないと判定された場合、ステップＳ６３９に進む。ステップＳ６３９において、指紋照合プログラムは、垂直方向の線状画像について検出された一致度に処理対象を切り換えた後、変数ｎを０にセットしてステップＳ６３４に戻り、上述した処理を繰り返し、垂直方向の線状画像について検出された一致度ＤＭＶ０乃至ＤＭＶ８の分布について、水平方向の場合と同様に、丸め処理した後、足し合わせ用メモリの内容を更新して一致度分布を集計する。
【０２５９】
ステップＳ６３８において、垂直方向について、一致度分布の集計を完了したと判定された場合、ステップＳ６４０に進み、指紋照合プログラムは、足し合わせ用メモリの内容を順次読み出し、集計した一致度の最大値ＤＭＡを検出した後、処理を終了する。指紋照合プログラムは、この集計結果のピーク値でなる最大値ＤＭＡを照合率Ｒに設定する。
【０２６０】
以上のように、本発明に係る指紋照合装置１−１は、指紋を照合することができる。
【０２６１】
本発明は、指以外の比較的細かいパターンを有する物体の判定にも応用することができる。
【０２６２】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２６３】
この記録媒体は、図７に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）を含む）、光磁気ディスク（ＭＤ（Ｍｉｎｉ−Ｄｉｓｃ）（商標）を含む）、若しくは半導体メモリなどのリムーバブルメディア２２１よりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されている図４のプログラム用ＲＡＭ／ＲＯＭ５３や、ハードディスクなどで構成される。
【０２６４】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインターフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０２６５】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２６６】
【発明の効果】
以上の如く、第１の本発明によれば、暗号鍵を変更することができる。特に、本発明によれば、指紋を暗号化する暗号鍵を安全に変更することができる。また、指紋を暗号化する暗号鍵を容易に変更することができる。
【０２６７】
第２の本発明によれば、暗号鍵を変更することができる。特に、本発明によれば、指紋照合の結果に基づいて読み出される、情報を復号する暗号鍵を、安全、かつ、容易に変更することができる。
【０２６８】
第３の本発明によれば、暗号鍵を変更することができる。特に、本発明によれば、指紋情報と関連付けて出力される情報を暗号化する暗号鍵を、安全、かつ、容易に変更することができる。
【図面の簡単な説明】
【図１】本発明を適用した指紋照合装置を含む全体の構成例を示す図である。
【図２】図１の指紋照合装置の一実施の形態の外観の構成を示す斜視図である。
【図３】指紋読み取りセンサが、指紋が読み取られる指で押圧されている状態を説明する図である。
【図４】指紋照合装置の構成を示すブロック図である。
【図５】指紋読み取りセンサの原理的な構成を示す断面図である。
【図６】指紋読み取りセンサの内部回路の構成を示す回路図である。
【図７】図１のパーソナルコンピュータの構成例を示すブロック図である。
【図８】ユニットキー登録処理を説明するフローチャートである。
【図９】図４のフラッシュメモリに記憶されるデータを説明する図である。
【図１０】図４の指紋照合装置における登録ファイル記憶処理を説明するフローチャートである。
【図１１】図７のパーソナルコンピュータにおける登録ファイル記憶処理を説明するフローチャートである。
【図１２】図４のフラッシュメモリに記憶されるデータを説明する図である。
【図１３】図１のＤＢに記憶されるデータを説明する図である。
【図１４】図７のパーソナルコンピュータにおけるファイル暗号化処理を説明するフローチャートである。
【図１５】図４の指紋照合装置における復号処理を説明するフローチャートである。
【図１６】図７のパーソナルコンピュータのＲＡＭに記憶されるデータを説明する図である。
【図１７】図７のパーソナルコンピュータのＲＡＭに記憶されるデータを説明する図である。
【図１８】図７のパーソナルコンピュータにおけるＰＷ暗号化登録処理を説明するフローチャートである。
【図１９】図７のパーソナルコンピュータのＲＡＭに記憶されるデータを説明する図である。
【図２０】図７のパーソナルコンピュータにおける復号処理を説明する図である。
【図２１】特別インデックス登録処理を説明するフローチャートである。
【図２２】図４のフラッシュメモリに記憶されるデータを説明する図である。
【図２３】指紋照合を利用したユニットキー変更処理を説明するフローチャートである。
【図２４】時間を利用したユニットキー変更処理を説明するフローチャートである。
【図２５】２値化の指紋の画像の例を示す図である。
【図２６】フラッシュメモリに記憶されている、ユーザＩＤ、並びに水平方向登録データおよび垂直方向登録データを説明する図である。
【図２７】水平方向登録データを説明する図である。
【図２８】垂直方向登録データを説明する図である。
【図２９】指紋照合の処理を説明するフローチャートである。
【図３０】指紋データと水平方向登録データとの各画素の一致を検出する処理を説明する図である。
【図３１】指紋データと垂直方向登録データとの各画素の一致を検出する処理を説明する図である。
【図３２】一致度分布を説明する図である。
【図３３】照合率検出の処理を説明するフローチャートである。
【図３４】領域ＡＲ１および領域ＡＲ２の重なりを説明する図である。
【図３５】領域ＡＲの大きさを説明する図である。
【図３６】テンポラリ用メモリに記憶されているデータの、足し合わせ用メモリに記憶されているデータへの加算を説明する図である。
【図３７】テンポラリ用メモリに記憶されているデータの、足し合わせ用メモリに記憶されているデータへの加算を説明する図である。
【図３８】テンポラリ用メモリに記憶されているデータの、足し合わせ用メモリに記憶されているデータへの加算を説明する図である。
【図３９】テンポラリ用メモリに記憶されているデータの、足し合わせ用メモリに記憶されているデータへの加算を説明する図である。
【符号の説明】
１−１  指紋照合装置，  １−２  指紋照合装置，  ２−１  パーソナルコンピュータ，  ２−２  パーソナルコンピュータ，  ３  ネットワーク，  ４  ＤＢ，  １１  本体部，  ２１  指紋読み取りセンサ，  ５１  指紋読み取り用ＬＳＩ，  ５２  ＣＰＵ，  ５３  プログラム用ＲＡＭ／ＲＯＭ，  ５４  フラッシュメモリ，３０１  ユニットキー，  ３０２  インデックス，  ３５０  登録ファイル，３６０  ユーザＩＤ，  ３７１  指紋テンプレート，  ３７２  システムアトリビュート，  ３７３  ユーザアトリビュート，  ３７４  ＤＥＳキー，  ４００−１  ファイル，  ４４０−１  ＰＷ，  ４５０  ファイル，  ５００  特別インデックス，  ５０１  指紋テンプレート，  ５０２  システムアトリビュート，  ５０３  ユーザアトリビュート，  ５０４  ＤＥＳキー
【図１】
2004213396.tif 000003
【図２】
2004213396.tif 000004
【図３】
2004213396.tif 000005
【図４】
2004213396.tif 000006
【図５】
2004213396.tif 000007
【図６】
2004213396.tif 000008
【図７】
2004213396.tif 000009
【図８】
2004213396.tif 000010
【図９】
2004213396.tif 000011
【図１０】
2004213396.tif 000012
【図１１】
2004213396.tif 000013
【図１２】
2004213396.tif 000014
【図１３】
2004213396.tif 000015
【図１４】
2004213396.tif 000016
【図１５】
2004213396.tif 000017
【図１６】
2004213396.tif 000018
【図１７】
2004213396.tif 000019
【図１８】
2004213396.tif 000020
【図１９】
2004213396.tif 000021
【図２０】
2004213396.tif 000022
【図２１】
2004213396.tif 000023
【図２２】
2004213396.tif 000024
【図２３】
2004213396.tif 000025
【図２４】
2004213396.tif 000026
【図２５】
2004213396.tif 000027
【図２６】
2004213396.tif 000028
【図２７】
2004213396.tif 000029
【図２８】
2004213396.tif 000030
【図２９】
2004213396.tif 000031
【図３０】
2004213396.tif 000032
【図３１】
2004213396.tif 000033
【図３２】
2004213396.tif 000034
【図３３】
2004213396.tif 000035
【図３４】
2004213396.tif 000036
【図３５】
2004213396.tif 000037
【図３６】
2004213396.tif 000038
【図３７】
2004213396.tif 000039
【図３８】
2004213396.tif 000040
【図３９】
2004213396.tif 000041