説明

履歴管理装置、履歴管理方法及び履歴管理プログラム

【課題】履歴を記録する場合に、従来よりもメモリの利用効率を向上させることができる履歴管理装置を提供する。
【解決手段】ID読出部11はカード種別34とカードID35を取得し、認証部12はカード種別34に基づきICカード3のカード種別を判別して認証を行い、履歴管理部15は、変換テーブル32に記載のコードとIDとの対応に従って、カードIDに含まれる会社コード、部署コード、グループコード及び社員コードをよりバイト長の短い会社ID、部署ID、グループID及び社員IDに変換し、変換後の会社ID等を履歴テーブル33に記録する。会社IDは、認証装置12が取得し得る会社コードの数を表現しうる情報長未満のバイト長で表されており、他の部署ID等についても同様である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入退室等に係る履歴を管理する履歴管理装置に関し、特に、履歴の記録方法に関する。
【背景技術】
【0002】
近年、企業等においてセキュリティの重要性が増し、入退室の状況を管理するために履歴管理装置を含む入退室管理システムが企業等に多数導入されている。
前記入退室管理システムにおいては、入退室を管理すべきセキュリティルーム等の出入口のドアに認証装置が設置されている。前記認証装置は、保持するデータベースに記載されたカードIDと同一のカードIDを保持しているICカードについてのみ認証を成功させる。
【0003】
セキュリティールーム等への入退室者は、入退室時にそれぞれが所持するICカードを前記認証装置に読み取らせる。
認証装置は、ICカードからカードIDを読み取って、データベースと照合することにより認証する。前記認証装置は、認証に成功した場合にはセキュリティルームのドアの電子錠を解錠し、認証に失敗した場合には施錠する。
【0004】
そして、前記認証の結果を、履歴管理装置が、認証を行った日時、カードID等と共に記録する。
ここで、前記履歴管理装置は、セキュリティルームのドア近辺の壁面に埋め込まれるなど空間的な制約から小型化が要求されている。履歴管理装置に含まれる履歴を記録するためのメモリについても、小型化が当然に要求されている。
【特許文献1】特開2004−213108号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
前述のようにメモリを小型化すると、その記録容量も小さくなってしまうことから、前記履歴管理装置については、小容量のメモリに、より効率的に履歴を書き込むことが要求される。
上述の要求に応えるため、本発明は、履歴の記録において、従来よりもメモリの利用効率を向上させることができる履歴管理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明は、カード種別毎のフォーマットに従った複数のフィールドを含むカードIDを保持しているメモリカードについて、それらの使用履歴を管理する履歴管理装置であって、複数のフィールドのうち変換対象として予め定められた少なくとも1つの対象フィールドについて、管理対象とされる全メモリカードの対応するフィールドに格納されたフィールド値の各々と、そのフィールドに格納された全てのフィールド値を識別しうる最小情報長を有したID番号とを対応付けた変換テーブルを保持するテーブル管理手段と、カードIDを取得する取得手段と、取得された前記カードIDに係るメモリカードのカード種別を判別する判別手段と、取得した前記カードIDから、判別された前記カード種別に係る対象フィールドに格納されたフィールド値を抽出する抽出手段と、抽出したフィールド値を、前記変換テーブルを用いてID番号に変換する変換手段と、前記カードIDを、変換前のフィールド値は変換後のID番号に置き換えた上で履歴情報として記録する履歴記録手段とを備える。
【発明の効果】
【0007】
本発明の履歴管理装置は、上述の構成を備えることにより、カードIDをそのまま記録する場合に比べ、記録するデータのデータ長を短くできるので、従来よりもメモリの利用効率を向上させることができる。また、フィールド値の情報長がどんなに長い場合であっても、記録するデータのデータ長を、フィールド値の情報長によらない、フィールド値の個数により定まる最小情報長に短縮することができる。
【0008】
ここで、カード種別毎のフォーマットは、複数の各フィールドのフィールド値を表現するバイト長、各フィールドの並び方を規定する。また、ID番号は、最小情報長であるとしているが、冗長な情報をID番号に付加しても構わない。
また、前記最小情報長は、1バイトを単位とすることとしてもよい。
この構成によれば、コンピュータシステムで扱うのに適したデータの長さであるバイト単位でデータを扱うことができるので、コンピュータシステムにおけるデータの処理を容易にすることができる。
【0009】
また、前記テーブル管理手段において、複数のフィールドの全てが対象フィールドとして定められていることとしてもよい。
この構成によれば、カードIDにおける全てのフィールドについて、記録するデータのデータ長を短くできるので、従来よりもメモリの利用効率を向上させることができる。
また、前記テーブル管理手段は、第1のカード種別に係るカードIDを構成するフィールドのいずれかと、第2のカード種別に係るカードIDを構成するフィールドのいずれかとが同種である場合には、同種の2つのフィールドに対し1つの変換テーブルを保持していることとしてもよい。
【0010】
この構成によれば、前記同種のフィールドについては、第1のカードIDと第2のカードIDとで変換テーブルを共用するので、テーブル管理手段が変換テーブルを記録しておくための記録容量を減らすことができる。また、同種のフィールドについて、第1のカードと第2のカードでフィールド値の情報長が異なっている場合でも、同じ情報長のフィールドIDに変換するので、異なる情報長のカードIDを予め定められた一定長の履歴情報に変換することができ、データの扱いを容易化できる。
【0011】
また、前記履歴管理装置は、前記使用履歴の管理として検索を行う検索手段を備え、前記検索手段は、検索キーを取得する検索キー取得部と、前記テーブル管理手段に保持されている変換テーブルから、前記検索キーに一致するフィールド値を検索し、発見した場合に当該変換テーブルから、そのフィールド値に対応するID番号を検索IDとして読み出すテーブル検索部と、前記履歴記録手段に記録されている履歴情報の中で、前記検索IDと同値のID番号を含むものを検索する履歴検索部と、前記検索IDと同値のID番号を含む履歴情報を発見できた場合に、発見した履歴情報に含まれるID番号を、前記ID番号に対応する変換テーブルを用いて元のフィールド値へと変換し、履歴情報から元のカードIDを復元する逆変換部と、元のカードIDを出力する結果出力部とを含むこととしてもよい。
【0012】
この構成によれば、検索キーを情報長が短い検索IDに変換し、その検索IDに一致する履歴情報を検索するので、検索キーをそのまま用いて検索する場合に比べ、短いデータの一致を判断すれば足り、検索効率を向上させることができる。
また、前記テーブル管理手段は、前記抽出手段によって抽出された前記フィールド値が前記対象フィールドに係る変換テーブルに登録されているか否かを判定し、登録されていないと判定されたフィールド値に対しては、既に登録されているID番号と値が重複しないID番号を新たに割り当てて、割り当てたID番号と、前記フィールド値とを対応づけて前記変換テーブルに追記することとしてもよい。
【0013】
この構成によれば、取得したカードIDが予め登録されていない場合であっても、当該カードIDに含まれるフィールド値とID番号との対応を変換テーブルに追記するので、未知のカードIDについて、含まれるフィールド値をより情報長の短いID番号に変換し、履歴として記録するデータのデータ長を短くでき、従来よりもメモリの利用効率を向上させることができる。
【0014】
また、前記テーブル管理手段は、新たな変換テーブルと、前記新たな変換テーブルをいずれのフィールドに適用するかを示す適用情報とを取得する更新情報取得部と、前記適用情報が示すフィールドに係る変換テーブルと前記新たな変換テーブルとのいずれを用いるかの判定材料である選択情報と、前記新たな変換テーブルとを追記する追記部とを備えることとしてもよい。
【0015】
この構成によれば、変換テーブルを更新するので、カードIDに含まれるフィールドや、フィールドの情報長が変更されたりした後でも、更新後の変換テーブルを用いてフィールド値を前記フィールド値よりも情報長の短いID番号に変更してから記録できる。よって、履歴として記録するデータの情報長を従来よりも短くしてメモリの利用効率を向上させることができる。
【0016】
また、前記テーブル管理手段は、新たな変換テーブルと、前記新たな変換テーブルをいずれのフィールドに適用するかを示す適用情報とを取得する更新情報取得部と、前記適用情報が示すフィールドが対象フィールドである履歴情報について、前記対象フィールドに係る変換テーブルを用いて、ID番号を元のフィールド値に変換して置き換えるフィールド値復元部と、前記元のフィールド値が、新たな変換テーブルに登録されているか否かを判定する登録判定部と、登録されている場合に、前記新たな変換テーブルから元のフィールド値に対応するID番号を読み出し、元のフィールド値を読み出したID番号に置き換える履歴変更部と前記変換テーブルに前記新たな変換テーブルを上書きするテーブル更新部とを備えることとしてもよい。
【0017】
この構成によれば、変換テーブルを更新するので、カードIDに含まれるフィールドや、フィールドの情報長が変更されたりした後でも、更新後の変換テーブルを用いてフィールド値を前記フィールド値よりも情報長の短いID番号に変更してから記録できる。よって、履歴として記録するデータの情報長を従来よりも短くしてメモリの利用効率を向上させることができる。また、既に記録されているID番号を、更新後の変換テーブルに基づくID番号に更新することができる。
【0018】
本発明の履歴管理プログラムは、カード種別毎のフォーマットに従った複数のフィールドを含むカードIDを保持しているメモリカードについて、それらの使用履歴を管理する履歴管理装置に用いられる履歴管理プログラムであって、複数のフィールドのうち変換対象として予め定められた少なくとも1つの対象フィールドについて、管理対象とされる全メモリカードの対応するフィールドに格納されたフィールド値の各々と、そのフィールドに格納された全てのフィールド値を識別しうる最小情報長を有したID番号とを対応付けた変換テーブルを保持するテーブル管理ステップと、カードIDを取得する取得ステップと、取得された前記カードIDに係るメモリカードのカード種別を判別する判別ステップと、取得した前記カードIDから、判別された前記カード種別に係る対象フィールドに格納されたフィールド値を抽出する抽出ステップと、抽出したフィールド値を、前記変換テーブルを用いてID番号に変換する変換手段と、前記カードIDを、変換前のフィールド値は変換後のID番号に置き換えた上で履歴情報として記録する履歴記録ステップとの各ステップをコンピュータに実行させる。
【0019】
この構成によれば、カードIDをそのまま記録する場合に比べ、記録するデータのデータ長を短くできるので、従来よりもメモリの利用効率を向上させることができる。また、フィールド値の情報長がどんなに長い場合であっても、記録するデータのデータ長を、フィールド値の情報長によらない、フィールド値の個数により定まる最小情報長まで短縮することができる。
【発明を実施するための最良の形態】
【0020】
1.第1の実施形態
本発明の一実施形態である認証システムについて説明する。
認証システムは、セキュリティルームへの入退室管理を行うためのシステムである。
図1は、認証システム1の構成を示す図である。
認証システム1は、認証装置2、ICカード3、電気錠4及び履歴収集装置5を含んで構成されている。
【0021】
ユーザは、ICカード3を所持しており、ICカード3には、カードIDが記録されている。
前記セキュリティルームの出入り口に設置されているドアには電気錠4が付されており、ドア付近に設置された認証装置2が、電気錠4の解錠及び施錠を制御する。
認証装置2は、入退室を許可するカードIDを予めID権限テーブル31として保持している。
【0022】
ユーザは、前記セキュリティルームへの入退室時にICカード3を認証装置2に近づける。このとき、認証装置2は、ICカード3に記録されているカードIDを無線通信により読み出す。
認証装置2は、ICカード3から読み出したカードIDが、ID権限テーブル31に登録されている場合には電気錠4を解錠し、登録されていない場合には電気錠4を施錠するよう制御信号を電気錠4に出力する。
【0023】
電気錠4は、前記制御信号に従い解錠及び施錠を行う。
認証装置2は、電気錠4を解錠した場合には、その認証に用いられたカードIDを履歴として記録するのであるが、このときカードIDをそのまま記録することはせず、変換テーブルを用いてカードIDよりもバイト長の短い履歴IDに変換してから履歴テーブル33に記録しておく。この場合、履歴を記録するのに使用するメモリ容量は小さくなるので、カードIDそのものを記録する場合に比べてメモリ中に記録できる履歴の個数は多くなる。
【0024】
認証装置2は、ネットワークを介して接続している履歴収集装置5によって入退室に係る履歴の送信要求がなされた場合には、履歴IDそれぞれを変換テーブル32を用いて元のカードIDに復元してから履歴収集装置5に送信する。
また、認証装置2は、ユーザが指定するカードIDの一部又は全部を履歴中から検索する機能を備える。
【0025】
認証装置2は、履歴中にはカードIDではなく履歴IDを記録しているため、ユーザが指定するカードIDの一部又は全部である検索キーを変換テーブルで一旦変換し、その変換結果を含む履歴IDを履歴テーブル中から検索する。
ここで、認証装置2は、検索キーを変換テーブル32を用いてよりバイト長の短い検索IDに変換し、その検索IDをキーとして検索を行っているので、検索キーそのものを検索する場合に比べ、より短いバイト数の一致を判定すればよく、検索を高速に行うことができる。

1.1.構成
1.1.1.ICカード3、電気錠4
ICカード3は、非接触ICカードであり、図1に示すようにID送信部21及びID記録部22を含んで構成される。
【0026】
ICカード3は、ハードウェアとしてはCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、無線通信ユニット等から構成されており、ROMにはコンピュータプログラムが記憶されており、ROMからRAMへと読み出されたコンピュータプログラムに従ってCPUが動作することにより、その機能を実現する。
【0027】
ID記録部22は、耐タンパ性を有するメモリであり、カード種別及びカードIDを記録している。
本実施の形態では、ICカードには3つの種別があり、カード種別34として1〜3のいずれかの値が記録されている。また、カード種別が異なる場合、ICカードを識別するための識別情報であるカードIDのフォーマットが異なる。
【0028】
図2は、カードIDのフォーマットを示す。
図2(a)は、カード種別が1であるICカードに係るカードIDのフォーマットを示し、図2(b)は、カード種別が2であるICカードに係るカードIDのフォーマットを示し、図2(c)は、カード種別が3であるICカードに係るカードIDのフォーマットを示している。図2(d)については、後述する。
【0029】
図2中で、カッコ中に示された数字は、バイト長を示している。例えば「会社コード(4)」の記載は、会社コードが4バイト長で表されていることを示している。
カード種別が1であるICカードに係るカードIDは、図2(a)に示すように、4バイトの会社コード、6バイトの部署コード、4バイトのグループコード及び10バイトの社員コードを含む。
【0030】
ここで、カードIDは、特に記述がない限り、16進数で表現されているものとする。
例えば、カード種別の値が1であるICカードのカードIDが16進数表現で「002564150000025674980000001100000000000000001122」である場合、図2(a)のフォーマットに従い、会社コードは「00256415」であり、部署コードは「000002567498」であり、グループコードは「00000011」であり、社員コードは、「00000000000000001122」である。
【0031】
ID送信部21は、無線通信により認証装置2に対してカード種別及びカードIDを送信する。
ここで、ID送信部21と認証装置2との間の無線通信は、通信データを暗号化して行うものとし、前記通信データの暗号化は、ICカード3におけるCPU(図示せず)が行うものとする。
【0032】
電気錠4は、前記ドアを施錠又は解錠する電気錠であり、認証装置2から施錠又は解錠を指示する制御信号を受信し、前記制御信号が施錠を示す場合には施錠し、解錠を示す場合には解錠する。

1.1.2.認証装置2
認証装置2は、ICカードからカード種別とカードIDを読み出し、そのカード種別及びカードIDについて認証処理を行い、認証に成功すれば電気錠4を解錠して、その認証に係る履歴を記録する装置である。
【0033】
認証装置2は、ハードウェアとしてはCPU、ROM、RAM、通信ユニット等から構成されるコンピュータシステムであって、ROMにはコンピュータプログラムが記憶され、ROMからRAM上に読み出されたコンピュータプログラムに従ってCPUが動作することによりその機能を実現する。
認証装置2は、図1に示すように、ID読出部11、認証部12、記録部13、制御部14、履歴管理部15及び通信部16を含んで構成される。
【0034】
ID読出部11は、ICカード3におけるID送信部21との間で無線通信を行い、カード種別及びカードIDを取得して認証部12に送信する。
ここで、前記無線通信の内容は暗号化されており、ID読出部11は通信内容を復号する機能を有する。
記録部13は、メモリ装置であり、ID権限テーブル31、変換テーブル32及び履歴テーブル33を保持する。
【0035】
ここで、記録部13に記録されている各テーブルについて説明する。
図3は、ID権限テーブル31のデータ構造の一例を示す図である。
ID権限テーブル31には、認証装置2による認証処理において前記セキュリティルームに対する入退室を許可するICカードに係るカード種別と、カードIDとの組が複数登録されている。
【0036】
例えば、ID権限テーブル31には、図3に示すように、値が「1」のカード種別と、値が「002564150000025674980000001100000000000000001122」のカードIDとの組が登録されている。カード種別が「1」であり、カードIDが「002564150000025674980000001100000000000000001122」であるICカードが認証に用いられると、認証は成功して、そのICカードの所持者は入退室が許可されることになる。
【0037】
なお、ID権限テーブル31中の「”XXXX”」の記載は、「XXXXの文字コード」を示す。文字コードとしては、例えば、すべての文字が2バイトで表現されるUnicodeが用いられる。
具体的には、”日本産業”は、「日」「本」「産」「業」の4文字の文字コードを連結したものを示しており、8バイト長の文字コードデータとなる。
【0038】
図4は、変換テーブル32のデータ構造を示す図である。
変換テーブル32は、フォーマットテーブル41、会社コード用の変換テーブルである変換サブテーブル42、部署コード用の変換テーブルである変換サブテーブル43、グループコード用の変換テーブルである変換サブテーブル44及び社員コード用の変換テーブルである変換サブテーブル45を含んで構成されている。
【0039】
フォーマットテーブル41は、カード種別と、カードID中の各コード長の対応を示す。
フォーマットテーブル41では、一例として図4に示すように、カード種別「1」と、サイズ「4」「6」「4」「10」とが対応付けられている。これは、カード種別の値が「1」であるICカードのカードIDは、図2(a)のカードID(35A)のように、4バイトの会社コード、6バイトの部署コード、4バイトのグループコード、10バイトの社員コードから構成されることを示す。
【0040】
ただし、カードIDが、会社コード、部署コード、グループコード及び社員コードの順に4つのコードを含んでいることは、予め規定されているものとする。
カード種別の値が「1」の場合と同様に、フォーマットテーブル41は、カード種別の値が「2」であるICカードのカードIDは、4バイトの会社コード、10バイトの部署コード、8バイトのグループコード、16バイトの社員コードから構成されていることを示す。
【0041】
また、カード種別の値が「3」であるICカードのカードIDは、8バイトの会社コード、8バイトの部署コード、8バイトのグループコード、16バイトの社員コードから構成されていることを示す。
変換サブテーブル42は、会社IDと会社コードとの対応を示しており、会社IDと会社コードとを相互に変換するために用いられる。
【0042】
カードIDに関し認証が成功した場合、会社コードは、よりバイト長の短い会社IDに変換された上で、履歴IDの一部として履歴テーブル33に記録される。
会社IDは、会社コードを個々に識別できるように割り振られる。
例えば、会社コードが255個ある場合には、255個の会社コードを識別できる0〜254の値を会社IDとして割り振ることとなる。会社IDのバイト長は、0〜254の値を表現しうる最低限のデータ長である1バイト長と定めればよい。
【0043】
変換サブテーブル43は、変換サブテーブル42における会社ID、会社コードの場合と同様に、部署IDと、部署コードとの対応を示している。また、変換サブテーブル44は、グループIDと、グループコードとの対応を示し、変換サブテーブル45は、社員IDと、社員コードとの対応を示している。
会社コードの場合と同様に、部署コード、グループコード及び社員コードは、認証が成功した場合に、前記部署コード等よりもバイト長の短い部署ID、グループID及び社員IDに変換された上で、履歴IDの一部として履歴テーブル33に記録される。
【0044】
また、会社IDの場合と同様に、部署ID、グループID、社員IDは、部署コード、グループコード、社員コードを個々に識別できるように割り振られ、最低限必要なバイト長で表現される。
図5は、履歴テーブル33のデータ構造を示す図である。
履歴テーブル33は、カードIDによる認証が成功した日時を示す日時情報、カード種別及び履歴IDの組を複数含む。
【0045】
以上、記録部13に記録されている各テーブルについての説明を終える。
認証部12は、カード種別及びカードIDを用いて認証を行う。
認証部12は、ID読出部11からカード種別及びカードIDを受信すると、記録部13からID権限テーブル31を読み出す。そして、認証部12は、ID読出部11から受け取ったカード種別及びカードIDの組がID権限テーブル31に登録されている場合には、認証成功と判定して制御部14に対して解錠を示す錠制御情報を送信し、登録されていない場合には、認証失敗と判定して制御部14に対し、施錠を示す錠制御情報を送信する。
【0046】
例えば、ID読出部11から受け取ったカード種別及びカードIDの組が、「1」と「002564150000025674980000001100000000000000001122」との組であった場合、当該組はID権限テーブル31に登録されているので、認証部12は認証成功と判定して制御部14に対して解錠を示す鍵制御情報を送信する。
【0047】
認証部12は、前記認証において認証成功と判定した場合、履歴管理部15に対し前記カード種別と前記カードIDとの組を送信する。
履歴管理部15は、時計機構を備えており、履歴テーブル33の管理を行う。
履歴管理部15は、認証部12からカード種別とカードIDとの組を受け取ると、前記カードIDを、変換テーブル32を用いてカードIDよりもバイト長の短い履歴IDに変換する。そして、認証日時を示す日時情報として前記時計機構が示す現在時刻を読み出し、カード種別及び履歴IDと共に、履歴テーブル33に記録する。
【0048】
履歴管理部15によって実行される、カードIDを変換テーブル32を用いて履歴IDへと変換して記録する履歴記録処理について、図6のフローチャートを参照しながら説明する。
まず、履歴管理部15は、認証部12からカード種別とカードIDとの組を取得する(ステップS1)。
【0049】
履歴管理部15は、フォーマットテーブル41を参照し、取得した「カード種別」に対応するカードIDについて、会社コード、部署コード、グループコード及び社員コードのバイト長を認識する。
そして、履歴管理部15は、認識した会社コードのバイト長、部署コードのバイト長、グループコードのバイト長及び社員コードのバイト長にカードIDを分割することにより、会社コード、部署コード、グループコード及び社員コードを抽出する(ステップS2)。
【0050】
次に、履歴管理部15は、抽出した会社コードに対応する会社IDを、会社コード用の変換サブテーブル42から読み出す(ステップS3)。
次に、履歴管理部15は、抽出した部署コードに対応する部署IDを、部署コード用の変換サブテーブル43から読み出す(ステップS4)。
次に、履歴管理部15は、抽出したグループコードに対応するグループIDを、グループコード用の変換サブテーブル44から読み出す(ステップS5)。
【0051】
次に、履歴管理部15は、抽出した社員コードに対応する社員IDを、社員コード用の変換サブテーブル45から読み出す(ステップS6)。
次に、履歴管理部15は、ステップS3〜S6で読み出した会社ID、部署ID、グループID及び社員IDを連結することによって履歴IDを生成する(ステップS7)。
履歴管理部15は、前記時計機構により現在時刻を示す日時情報を生成し、前記日時情報、前記カード種別及び生成した履歴IDを対応づけて履歴テーブル33に記録する(ステップS8)。
【0052】
以上で履歴記録処理の説明を終え、次に、履歴管理部15による検索処理について説明する。
履歴管理部15は、履歴テーブルに記録された履歴IDの中から、検索キーを含むものを検索する機能を有する。
図7は、履歴管理部15が行う検索処理を示すフローチャートである。
【0053】
履歴管理部15は、制御部14から、履歴テーブル33において検索するキーとなる検索キーと、前記検索キーが、会社コード、部署コード、グループコード及び社員コードのいずれであるかを示すコード指定とを取得する(ステップS11)。
ここで、履歴管理部15は、前述したようなコード指定は受け取らずに検索キーのみを取得し、検索キーに一致するものを、履歴テーブル33から探し出すこととしてもよい。
【0054】
次に、履歴管理部15は、前記コード指定に対応する変換サブテーブルを用いて、検索キーを検索IDに変換する(ステップS12)。
ここで、検索キーが、変換サブテーブルにおけるコードに対応し、検索IDは、変換サブテーブルにおけるIDに対応する。具体的には、コード指定が会社コードを示し、検索キーが00256415であった場合、履歴管理部15は、コード指定が示す会社コード用の変換サブテーブル42を参照し、検索キーと一致する会社コードが登録されているか否かを調べる。登録されていた場合には、変換サブテーブル42においてその検索キーと対応づけられている会社IDを検索IDとする。
【0055】
次に、ステップS13において、履歴管理部15は、読み出していない履歴IDが履歴テーブル33中に残っている場合(ステップS13:NO)、履歴テーブル33から履歴IDを1つ読み出す(ステップS14)。
そして、履歴IDにおいて前記コード指定に示される部分が、検索IDと一致するか否かを判定する(ステップS15)。
【0056】
例えば、コード指定が会社コードを示す場合、履歴IDの最初の4バイトが検索IDと一致するか否かを判定する。
一致する場合(ステップS15:YES)、履歴IDを、コード指定に対応する各変換サブテーブルを用いて、元のカードIDに復元する(ステップS16)。一致しない場合(ステップS15:NO)、ステップS13から行う。
【0057】
そして、履歴ID中の日時情報、カード種別及び復元したカードIDを出力する(ステップS17)。
ここで、ステップS16の、コード指定に対応する各変換サブテーブルを用いて、履歴IDを元のカードIDに復元する処理について説明を補足する。
履歴管理部15は、履歴IDを分離して、会社ID、部署ID、グループID及び社員IDを抽出する。
【0058】
そして、履歴管理部15は、取得した会社IDに対応する会社コードを変換サブテーブル42から読み出す。
次に、履歴管理部15は、取得した部署IDに対応する部署コードを変換サブテーブル43から読み出し、取得したグループIDに対応するグループコードを変換サブテーブル44から読み出し、取得した社員IDに対応する社員コードを変換サブテーブル45から読み出す。
【0059】
そして、履歴管理部15は、取得した会社コード、部署コード、グループコード及び社員コードを連結することによって履歴IDに係る元のカードIDを復元する。
以上、検索処理についての説明を終える。
制御部14は、ユーザがキーパッドやリモコンなどの入力デバイス(図示せず)を用いて入力した指示を受信し、当該指示に従って、認証装置2の全体制御を行う。
【0060】
制御部14は、ユーザが、コード指定と検索キーとを入力デバイスを用いて入力した場合、前記入力デバイスから前記コード指定と前記検索キーとを取得して履歴管理部15に送信する。
また、制御部14は、認証部12から解錠又は施錠を示す錠制御情報を取得し、鍵制御情報が解錠を示す場合には電子錠4に対し解錠を指示する制御信号を出力し、鍵制御情報が施錠を示す場合には電子錠4に対し施錠を指示する制御信号を出力する。
【0061】
通信部16は、ネットワークを介して履歴収集装置5等の外部装置と通信を行うネットワークデバイスである。

1.1.3.履歴収集装置5
履歴収集装置5は、ハードウェアとしてはCPU、ROM、RAM等から構成されるコンピュータシステムであり、ROMにはコンピュータプログラムが記憶されており、ROMからRAMへと読み出されたコンピュータプログラムに従ってCPUが動作することにより、履歴収集装置5はその機能を実現する。
【0062】
履歴収集装置5は、定期的に若しくは必要に応じて又は認証装置2から履歴情報の送信要求を受け付けた場合に、認証装置2と通信を行って認証装置2から履歴情報を取得し蓄積する。

1.2.動作
1.2.1.認証処理
上記のように構成された認証システム1において実行される認証処理について、図8を用いて説明する。
【0063】
ここで、ユーザが所持するICカードには、カード種別として「1」が記録され、カードIDとして「002564150000025674980000001100000000000000001122」が記録されているものとする。
まず、ユーザは、部屋への入室を試みる場合に、ICカード3を認証装置2に近づける(ステップS21)。
【0064】
一定距離内に認証装置2とICカード3とが近づくと(ステップS21:YES)、認証装置2のID読出部11とICカード3のID送信部21との間の無線通信が開始され、ID読出部11は、ICカード3のID記録部22に記録された前記カード種別と前記カードIDとを取得する(ステップS22)。
ID読出部11は、前記カード種別と前記カードIDとを認証部12に送信する。
【0065】
認証部12は、前記カード種別と前記カードIDとの組が、ID権限テーブル31に登録されているか否かを判定する(ステップS23)。
登録されていない場合には(ステップS23:NO)、認証部12は、制御部14に対し施錠を示す錠制御情報を送信する。制御部14は、前記錠制御情報を受信すると、電気錠4に対し前記錠制御情報を送信する。電気錠4は、施錠を示す錠制御情報を受信すると施錠する(ステップS26)。
【0066】
本実施形態では、ICカード3のカード種別とカードIDとの組は、ID権限テーブル31に登録されているので(ステップS23:YES)、認証部12は、制御部14に対し解錠を示す錠制御情報を送信する。制御部14は、前記錠制御情報を受信すると、前記錠制御情報が解錠を示す場合、解錠を示す制御信号を電気錠4に対し出力する。電気錠4は、解錠を示す制御信号を受信して解錠する(ステップS24)。
【0067】
そして、認証部12は、履歴管理部15に対し、カード種別とカードIDとを送信する。
履歴管理部15は、履歴記録処理を実行する(ステップS25)。
履歴記録処理については、図6を用いて既に説明しているので、具体例で簡単に説明する。
【0068】
履歴管理部15は、カード種別とカードIDとを取得する(ステップS1参照)。
履歴管理部15は、先ず、フォーマットテーブル41を参照し、カード種別「1」のICカードに係るカードIDが、4バイトの会社コード、6バイトの部署コード、4バイトのグループコード及び10バイトの社員コードを含んでいることを認識する。
そして、履歴管理部15は、取得したカードIDから、4バイトの会社コード「00256415」、6バイトの部署コード「000002567498」、4バイトのグループコード「00000011」及び10バイトの社員コード「00000000000000001122」を抽出する(ステップS2参照)。
【0069】
履歴管理部15は、変換サブテーブル42を参照し、4バイトの会社コード「00256415」に対応する会社ID「0000」を読み出す(ステップS3参照)。
履歴管理部15は、変換サブテーブル43を参照し、6バイトの部署コード「000002567498」に対応する部署ID「000000」を読み出す(ステップS4参照)。
【0070】
履歴管理部15は、変換サブテーブル44を参照し、4バイトのグループコード「00000011」に対応するグループID「0000」を読み出す(ステップS5参照)。
履歴管理部15は、変換サブテーブル45を参照し、10バイトの社員コード「00000000000000001122」に対応する社員ID「0000000000」を読み出す(ステップS6参照)。
【0071】
履歴管理部15は、会社ID「0000」、部署ID「000000」、グループID「0000」及び社員ID「0000000000」を連結して履歴ID「00000000000000000000000000」を生成する(ステップS7参照)。
履歴管理部15は、時計機構により現在時刻を示す日時情報を生成し、前記日時情報、前記カード種別及び生成した履歴IDを対応づけて履歴テーブル33に記録する(ステップS8参照)。

1.2.2.カードIDの復元処理
履歴IDから、コード指定に対応する各変換サブテーブルを用いて、元のカードIDに復元する処理について具体例を用いて説明する。
【0072】
ここで、履歴IDは、「032000000200029999993456」とする。
履歴管理部15は、履歴IDを分離し、会社ID「0320」、部署ID「000002」、グループID「0002」及び社員ID「9999993456」を抽出する。
そして、履歴管理部15は、取得した会社ID「0320」に対応する会社コードである「00000025」を変換サブテーブル42から読み出す。
【0073】
次に、履歴管理部15は、取得した部署ID「000002」に対応する部署コードである「111111111123」を変換サブテーブル43から読み出す。
次に、取得したグループID「0002」に対応するグループコードである「00099876」を変換サブテーブル44から読み出す。
次に、取得した社員ID「9999993456」に対応する社員コードである「00000000000000000245」を変換サブテーブル45から読み出す。
【0074】
そして、履歴管理部15は、取得した会社コード、部署コード、グループコード、社員コードを連結することにより、元のカードID「000000251111111111230009987600000000000000000245」を生成する。

2.第2の実施形態
第1の実施形態では、認証装置2は、全カード種別に対し1つの変換テーブル32を保持している。変換テーブル32中のフォーマットテーブル41には、全カード種別についてのカードIDに係る各コードのバイト数が記載されていた。そして、全カード種別のカードIDが全て所定長の履歴IDに変換されていた。
【0075】
本実施形態の認証システムでは、カードIDをカード種別毎に定まるバイト長の履歴IDに変換する。そのための変換テーブルは、カード種別毎に異なっている。
また、本実施形態の認証システムでは、カードIDのコード構成が変わったり、カードIDにコードが追加されること等に対応するために変換テーブルの更新を行う。
以下に、第2の実施形態に係る認証システム1aについて、第1の実施形態と異なる点を中心に説明する。
【0076】
図9は、認証システム1aの構成を示す図である。
認証システム1aは、認証装置2a、ICカード3、電気錠4及び履歴収集装置5を含んで構成される。
なお、本実施形態では、第1の実施形態と同構成のものについては同符号を付しており、その説明は省略する。
【0077】
認証装置2aは、ICカードからカード種別とカードIDを読み出し、そのカード種別及びカードIDについて認証処理を行い、認証に成功すればそのカード種別とカードIDとを記録する装置である。
認証装置2aは、ハードウェアとしてはCPU、ROM、RAM、通信ユニット等から構成されるコンピュータシステムであって、ROMにはコンピュータプログラムが記憶され、ROMからRAM上に読み出されたコンピュータプログラムに従ってCPUが動作することにより、その機能を実現する。
【0078】
認証装置2aは、構成としては、図9に示すように、ID読出部11、認証部12、記録部13、制御部14a、履歴管理部15a、通信部16及び変換テーブル更新部17を含んで構成される。

2.1.記録部13に記録されている変換テーブル及び履歴テーブル
記録部13には、第1の実施形態に係る変換テーブル32に代えて、変換テーブル32a〜32cが記録されており、履歴テーブル33に代えて履歴テーブル33aが記録されている。
【0079】
変換テーブル32aは、カード種別が1のカードIDに用いる変換テーブルであり、変換テーブル32bは、カード種別が2のカードIDに用いる変換テーブルであり、変換テーブル32cは、カード種別が3のカードIDに用いる変換テーブルである。
図10は、変換テーブル32aのデータ構造を示し、図11は、変換テーブル32bを示し、図12は、変換テーブル32cのデータ構造を示している。
【0080】
変換テーブル32aは、フォーマットテーブル41a、会社コード用の変換テーブルである変換サブテーブル42a、部署コード用の変換テーブルである変換サブテーブル43a、グループコード用の変換テーブルである変換サブテーブル44a及び社員コード用の変換テーブルである変換サブテーブル45aを含んで構成されている。
フォーマットテーブル41aは、カード種別と、カードID中の各コード長の対応を示す。
【0081】
フォーマットテーブル41aでは、一例として図10に示すように、カード種別「1」と、サイズ「4」「6」「4」「10」とが対応付けられている。これは、カード種別の値が「1」であるICカードのカードIDは、図2(a)のカードID(35A)のように、4バイトの会社コード、6バイトの部署コード、4バイトのグループコード、10バイトの社員コードから構成されることを示す。ただし、カードIDが、会社コード、部署コード、グループコード及び社員コードの4つを含んでいることは、予め規定されているものとする。
【0082】
また、前述のように、フォーマットテーブル41aはカード種別が1であるカードに対応しているので、第1の実施形態におけるフォーマットテーブル41と異なり、カード種別とカードID中の各コード長との対応は、カード種別が1であるカードについての1組分しか記載されない。
変換サブテーブル42aは、カード種別が1であるICカードに係る会社IDと、会社コードとの対応を示している。
【0083】
変換サブテーブル43aは、カード種別が1であるICカードに係る部署IDと、部署コードとの対応を示している。
変換サブテーブル44aは、カード種別が1であるICカードに係るグループIDと、グループコードとの対応を示している。
変換サブテーブル45aは、カード種別が1であるICカードに係る社員IDと、社員コードとの対応を示している。
【0084】
会社ID、部署ID、グループID及び社員IDは、会社コード、部署コード、グループコード及び社員コードを個々に識別できるように割り振られ、そのバイト長が定められる点は第1の実施形態と同様である。
変換テーブル32b及び32cは、それぞれカード種別が2及び3であるカードに係る変換テーブルであり、内容的には変換テーブル32aと同様であるので、説明は省略する。
【0085】
図13は、履歴テーブル33aのデータ構造を示す図である。
履歴テーブル33aに、日時情報、カード種別及び履歴IDが記録される点は第1の実施形態と同様である。また、履歴IDが、会社コード、部署コード、グループコード及び社員コードが、会社コード等よりバイト長の短い会社ID、部署ID、グループID及び社員IDにそれぞれ変換された後で連結されたものである点も第1の実施形態と同じである。ただし、第1の実施形態では履歴テーブル33に記録されている履歴IDのバイト長は一定長であったが、履歴テーブル33aに記録される履歴IDのバイト長は、対応するカード種別、フォーマットテーブルにより異なったものとなる。

2.2.変換テーブル更新部17
変換テーブル更新部17は、履歴収集装置5等の外部装置が送信する変換テーブル32a〜32cの更新指示を通信部16、制御部14aを介して受け取る。
【0086】
変換テーブル更新部17は、前記更新指示に従い、変換テーブル32a〜32cを更新する。
前記更新指示には、カード種別、新たなフォーマットテーブルである更新フォーマットテーブル、変換サブテーブルの中で更新するテーブルを示す更新テーブル情報及び更新するテーブルの内容である更新変換サブテーブルが含まれる。
【0087】
更新テーブル情報は、具体的には、会社コード用の変換サブテーブルを更新する場合には値として1を含み、部署コード用の変換サブテーブルを更新する場合には値として2を含み、グループコード用の変換サブテーブルを更新する場合には値として3を含み、社員コード用の変換サブテーブルを更新する場合には値として4を含む。
住所を示す住所コード等の新たなコードを変換サブテーブルに追加する場合には、更新テーブル情報は、住所コード等に割り当てる5以上の値を含む。
【0088】
変換テーブル更新部17は、前記更新指示を受け取った場合、前記更新指示に含まれる更新フォーマットテーブルを、カード種別に対応する変換テーブルにフォーマットテーブルとして追記する。
また、変換テーブル更新部17は、前記更新指示に含まれる更新変換サブテーブルを、カード種別に対応する変換テーブルに変換サブテーブルとして追記する。
【0089】
また、変換テーブル更新部17は、前記更新指示に含まれる更新テーブル情報をカード種別に対応する変換テーブルに追記する。
そして、履歴テーブル33a中に記録されている(履歴IDの個数+1)を適用履歴番号としてカード種別に対応する変換テーブルに追記する。適用履歴番号は、履歴IDを元のカードIDに逆変換する場合に、更新前の変換サブテーブルを用いるか、追記した更新用の変換サブテーブルを用いるかの判定に用いる。
【0090】
履歴IDを元のカードIDに逆変換する場合、その履歴IDが、適用履歴番号で示される順番以後に記録されたものである場合には、更新用の変換サブテーブルが用い、適用履歴番号で示される順番より前に記録されたものである場合には、更新前の変換サブテーブルが用いられることになる。
図14は、カード種別が1である変換テーブル32aを更新した後の変換テーブル32dを示す図である。
【0091】
変換テーブル32dは、図10に示した変換テーブル32aに対し、更新情報テーブル46、適用履歴番号47、フォーマットテーブル41d、変換サブテーブル43d及び変換サブテーブル44dが追記された内容となっている。
ここで、図14の更新した後の変換テーブル32dに係る前記更新指示に含まれるカード種別は1であり、更新テーブル情報は、値として「2」と「3」とを含んでいたものとする。
【0092】
また、更新フォーマットテーブルの内容は、フォーマットテーブル41dの内容と同じであり、更新変換サブテーブルは、変換サブテーブル43d及び44dの内容と同じであったものとする。
また、適用履歴番号47の内容は、200となっている。
ここで、変換テーブルの更新以後にカード種別が1であるカードIDを履歴IDに変更する場合には、変換サブテーブル43a、44aに代えて、変換サブテーブル43d、44dが、履歴管理部15aにより用いられることになる。
【0093】
また、履歴IDをカードIDに変換する場合、当該履歴IDが記録された順番が適用履歴番号が示す値より前であれば、履歴管理部15aによって変換サブテーブル43a、44aが用いられ、当該履歴IDが記録された順番が適用履歴番号が示す値以後であれば、変換サブテーブル43d、44dが用いられて履歴IDからカードIDが復元される。
具体例をあげると、適用履歴番号が200である場合、当該履歴IDが記録されたのが199番目以前であれば、変換サブテーブル43a、44aを用いて履歴IDからカードIDが復元され、履歴IDが記録されたのが200番目以後であれば、変換サブテーブル43d、44dを用いて当該履歴IDからカードIDが復元される。

2.3.制御部14a
履歴収集装置5等の外部装置から、変換テーブル32a〜32cの更新指示を通信部16を介して受け取った場合に、その更新指示を変換テーブル更新部17に出力する点が、第1の実施形態の制御部14と異なる。

2.4.履歴管理部15a
履歴管理部15aは、図6を用いて既に説明した履歴管理部15によるものとほぼ同じ履歴記録処理を行うが、下記の相違点がある。
【0094】
まず、ステップS2において、履歴管理部15aは、認証部12からカード種別とカードIDとを取得した場合、カード種別に対応する変換テーブルを参照する。例えば、カード種別が1であった場合、履歴管理部15aは、変換テーブル32aを参照する。
カード種別の値と参照すべき変換テーブルとの対応は予め定められており、履歴管理部15aは、その対応を示す対応表を保持しているものとする。
【0095】
そして、履歴管理部15aは、変換テーブル中のフォーマットテーブルを参照し、取得した「カード種別」に対応するカードIDの会社コード、部署コード、グループコード及び社員コードのバイト長を認識する。
そして、履歴管理部15aは、認識した会社コードのバイト長、部署コードのバイト長、グループコードのバイト長及び社員コードのバイト長のデータそれぞれにカードIDを分割して、会社コード、部署コード、グループコード及び社員コードを抽出する。
【0096】
そして、ステップS3〜S6においては、各コードから各IDへの変換に、カード種別に対応する変換テーブルに含まれる変換サブテーブルが用いられる。ただし、前述のように変換サブテーブルが更新されている場合には、更新後の変換サブテーブルが用いられる。
例えば、ステップS3においてカード種別が1である場合、部署コードに対応する部署IDは、変換サブテーブルが更新されていなければ、すなわち更新テーブル情報が登録されていなければ、部署コード用の変換サブテーブル43aから読み出され、更新されていれば部署コード用の変換サブテーブル43dから読み出される。
【0097】
そして、ステップS7において、履歴管理部15aは、ステップS3〜S6で読み出した会社ID、部署ID、グループID及び社員IDを連結することによって履歴IDを生成する。
そして、ステップS8において、履歴管理部15aは、時計機構により現在時刻を示す日時情報を生成し、前記日時情報、前記カード種別及び生成した履歴IDを対応づけて履歴テーブル33aに記録する。
【0098】
ステップS7、S8については、第1の実施形態と特に変わるところはない。
次に、履歴管理部15aが行う履歴情報出力処理について、図15を参照しながら説明する。
履歴管理部15aは、履歴情報出力要求を受け取ると、カード種別毎に、会社コードに係る参照先を更新前の変換サブテーブルとし、部署コードに係る参照先を更新前の変換サブテーブルとし、グループコードに係る参照先を更新前の変換サブテーブルとし、社員コードに係る参照先を更新前の変換サブテーブルとする設定を行う(ステップS51)。
【0099】
例えば、履歴管理部15aは、履歴情報出力要求を受け取ると、カード種別の値1については、会社コードに係る参照先を更新前の変換サブテーブル42aとする設定をし、部署コードに係る参照先を更新前の変換サブテーブル43aとする設定をし、グループコードに係る参照先を更新前の変換サブテーブル44aとする設定をし、社員コードに係る参照先を更新前の変換サブテーブル45aとする設定をする。
【0100】
カード種別の値2、カード種別の値3についても同様に、各参照先を設定する。
そして、履歴テーブル13から、未だ読み出してない履歴IDを記録した順に従い1つ読み出す(ステップS52)。
そして、前記参照先が、更新後の変換サブテーブルに切り替えられたか否かを判定し(ステップS53)、切替済みであれば(ステップS53:YES)、これまでに読み出した履歴IDの個数が、履歴IDに係るカード種別に対応する変換テーブル内の適用履歴番号以上であるか否かを判定する(ステップS54)。
【0101】
適用履歴番号以上である場合(ステップS54:YES)、更新サブテーブル情報で示される変換サブテーブルについて、参照先を更新後の変換サブテーブルとする設定を行う(ステップS55)。
例えば、カード種別1に対応する更新テーブル情報46に、値「2」「3」が記録されている場合、値「2」に対応する部署コードに係る参照先を、更新前の変換サブテーブル43aから更新後の変換サブテーブル43bに変更する。
【0102】
そして、値「3」に対応するグループコードに係る参照先を、更新前の変換サブテーブル44aから更新後の変換サブテーブル44bに変更する。
次に、履歴管理部15aは、履歴IDを参照先に設定されている変換サブテーブルを用いて、元のカードIDに変換する(ステップS56)。
ステップS56の処理は、ステップS16のコード指定に対応する各変換サブテーブルを用いて履歴IDを元のカードIDに復元する処理と同様である。
【0103】
履歴管理部15aは、履歴IDを分離し、会社ID、部署ID、グループID及び社員IDを抽出する。
そして、例えば、カード種別が1であり、参照先が切替済みでない場合であれば、履歴管理部15は、取得した会社IDに対応する会社コードを参照先である変換サブテーブル42aから読み出す。
【0104】
そして、履歴管理部15は、取得した部署IDに対応する部署コードを変換サブテーブル43aから読み出し、取得したグループIDに対応するグループコードを変換サブテーブル44aから読み出し、取得した社員IDに対応する社員コードを変換サブテーブル45aから読み出す。
一方、参照先が切替済みであれば、履歴管理部15は、取得した会社IDに対応する会社コードを参照先である変換サブテーブル42aから読み出し、取得した部署IDに対応する部署コードを変換サブテーブル43bから読み出し、取得したグループIDに対応するグループコードを変換サブテーブル44bから読み出し、取得した社員IDに対応する社員コードを変換サブテーブル45aから読み出す。
【0105】
そして、履歴管理部15は、読み出した会社コード、部署コード、グループコード及び社員コードを連結することによって履歴IDに係る元のカードIDを復元する。
次に、履歴管理部15aは、履歴IDに対応する日時情報を履歴テーブルから読み出して、読み出した日時情報、カード種別及び復元したカードIDを履歴情報に追加する(ステップS57)。
【0106】
次に、履歴管理部15aは、履歴IDを全て読み出していた場合には(ステップS58:YES)、前記履歴情報を出力し(ステップS59)、全て読み出していない場合には(ステップS58:NO)、ステップS52からの処理を行う。

3.なお書き
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0107】
(1)第1及び第2の実施形態では、記録部に記録されている変換テーブルは予め定められたもの、即ち固定的としていたが、変換テーブルを動的に生成することとしてもよい。
例えば、ICカードから取得するカードIDについて、カード種別と、カードID中のコードのフォーマットは予め分かっているが、どのような値のカードIDを取得するかは不明な場合を考える。
【0108】
そして、認証装置は、認証の結果を問わず、認証時に取得したカードIDを履歴として認証の結果を問わずに記録していくものとする。
まず、履歴管理部15は、認証部12からカード種別とカードIDとの組を取得する。
履歴管理部15は、フォーマットテーブル41を参照し、取得した「カード種別」に対応するカードIDの会社コード、部署コード、グループコード及び社員コードのバイト長を認識する。
【0109】
そして、認識した会社コードのバイト長、部署コードのバイト長、グループコードのバイト長及び社員コードのバイト長にカードIDが分割されることにより、会社コード、部署コード、グループコード及び社員コードが抽出される(ステップS2)。
そして、会社コード、部署コード、グループコード及び社員コードに対応する会社ID、部署ID、グループID及び社員IDを、それぞれ0から昇順に割り当てる。
【0110】
そして、会社コードと、割り当てた会社IDとの組を会社コード用の変換サブテーブル(第1の実施形態における変換サブテーブル42に相当)に追記する。
同様に、部署コードと割り当てた部署IDとの組、グループコードと割り当てたグループIDとの組、社員コードと割り当てた社員IDとの組を、それぞれ部署コード用、グループコード用、社員コード用の変換サブテーブル(第1の実施形態における変換サブテーブル43、44及び45に相当)に追記する。
【0111】
ただし、既に、同じ会社コード、部署コード、グループコード及び社員コードについて、会社ID、部署ID、グループID及び社員IDを割り当ててある場合には、既に割り当てられているコードに対しては新たなIDを割り当てることはしない。
そして、履歴管理部15は、会社ID、部署ID、グループID及び社員IDを連結することによって履歴IDを生成する。
【0112】
履歴管理部15は、時計機構により現在時刻を示す日時情報を生成し、前記日時情報、前記カード種別及び生成した履歴IDを対応づけて履歴テーブル33に記録する。
(2)上述の実施形態では、各カードIDに関し、会社コード、部署コード、グループコード及び社員コードのビット長、並び方などのフォーマットが予め決まっており、認証装置側もそのフォーマットを知っているものとしたが、フォーマットが予め決まっていない場合であってもよい。
【0113】
ここで、カードIDの最大長のみは、ICカードと認証装置間の通信仕様等により定められているものとする。
認証が必要となった場合、認証装置は、ICカードからカードIDを取得する。
ここで、認証装置は、取得したカードIDを分割する。以下、カードIDの分割された各部分を分割カードIDという。例えば、カードIDが32バイト長の場合には、8バイト長毎の4つの分割カードIDに分割する。バイト長を等分割できず端数が出る場合、例えばカードIDのバイト長が33バイトである場合、8バイト長の3つの分割カードIDと、9バイト長の1つの分割カードIDとに4分割すればよい。
【0114】
そして、4つの分割カードIDを、それぞれ上記実施形態の会社コード、部署コード、グループコード及び社員コードとみなして取り扱う。
そして、カードIDのバイト長毎に、カード種別として1から昇順に値を付与していく。
最初に受け取ったカードIDについては、カード種別の値を1とする。
【0115】
そして、認証装置は、上述したなお書き(1)のように、カード種別毎の変換テーブルを生成していく。
例えば、初期設定として256個まで動的に会社コードを登録していくと定めていた場合、新たな会社コードを受ける毎に、0〜255のうちから昇順に会社IDを割り当て、会社コード用の変換サブテーブルに登録する。
【0116】
会社コードの登録個数が初期設定である256個を超えてしまうような場合には、257個目以降の会社コードについては、割り当てる会社IDを例えば1バイト拡大した2バイト構成として記録する。
256個以内の会社IDと257個目以降の会社IDとの区別をするために、データの拡大があるか否かを示すステータスデータを別途記録しておく。会社IDを参照する場合には、まずステータスデータがデータの拡大有りを示す場合には、257個目以降の会社IDは、2バイトデータであることを認識することができる。
【0117】
以上、会社IDを例に説明してきたが、部署ID、グループID、社員IDについても同様の手法を用いてもよいし、その他のデータについて同手法を用いることはできる。
これらにより、フォーマットの変更等があっても、当該変更に柔軟に対応し、変換テーブルを生成し、かつ履歴を記録することができる。
(3)上述の実施形態では、カードID、会社コード、部署コード、グループコード、社員コード、会社ID、部署ID、グループID、社員ID及び履歴ID等のデータの情報長を1バイト単位で表しているが、これに限るものではない。コンピュータシステムにおいては、情報長はバイト長単位で表すことが通常であるため、上述の実施形態ではこれに倣っていたが、情報長をビット単位で表すこととしてももちろんよい。また、冗長なビットを付加してもよい。
【0118】
(4)上述の実施形態では、変換サブテーブルの更新において、更新対象となる変換サブテーブルと新たな変換サブテーブルとの双方を記録部に記録していたが、これに限らない。
例えば、記録領域を節約するため、更新対象となる変換サブテーブルを、新たな変換サブテーブルで上書きすることとしてもよい。
【0119】
なお、一旦上書きしてしまうと、既に記録されている履歴IDを元のカードIDに復元できない場合が生じてしまう。よって、上書きを行う前に、既に記録されている履歴IDについて、変換サブテーブルが上書き対象となっている部分については、元のコードに復元しておく。
具体的には、社員コードに係る変換サブテーブルが更新対象となっている場合は、履歴IDにおける社員IDを、更新前の変換サブテーブルを用いて社員コードへと復元しておく。その後、社員IDに係る変換サブテーブルを新たな変換サブテーブルで上書きすることとする。
【0120】
また、上述の実施形態では、変換サブテーブル単位で、更新処理を行っていたがこれに限らない。例えば、変換テーブル単位で、更新することとしてもよい。また、更新テーブル、変換サブテーブルの一部分のみを変換対象としても構わない。
(5)カードIDは、会社コード、部署コード、グループコード、社員コードから構成される例で説明してきたが、現住所を示す住所コード等の他のコードを含んでいてもよいし、会社コード、部署コード、グループコード、社員コードのうちのいくつかから構成されていてもよい。
【0121】
また、履歴テーブルに、履歴IDと共に、日時情報、カード種別を記録していたが、これに限らず、日時情報、カード種別のうちのいくつかを記録していてもよいし、他の情報を記録することとしてもよい。
(6)上述の実施形態では、カードIDを構成する会社コード、部署コード、グループコード、社員コードの全てを変換テーブルによる変換対象としていたが、これに限らない。会社コード、部署コード、グループコード、社員コードのうちの少なくとも1つを変換対象としていれば本発明の効果は得られる。
【0122】
また、上述の実施形態では、カードIDを変換対象としていたが、これに限らず、その他のID、その他の情報に対しても適用しうるのは当然である。
(7)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0123】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【0124】
(8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【図面の簡単な説明】
【0125】
【図1】第1の実施形態の認証システムの構成を示す図である。
【図2】カードIDのフォーマットを示す。(a)は、カード種別1、(b)はカード種別2、(c)は、カード種別3に対応し、(d)はカード種別が1の場合の更新後のフォーマットである。
【図3】ID権限テーブルのデータ構造の一例を示す図である。
【図4】変換テーブルのデータ構造を示す図である。
【図5】履歴テーブルのデータ構造を示す図である。
【図6】履歴管理部による履歴記録処理を示すフローチャートである。
【図7】履歴管理部が行う検索処理を示すフローチャートである。
【図8】認証システムによる認証処理を示すフローチャートである。
【図9】第2の実施形態の認証システムの構成を示す図である。
【図10】カード種別が1である場合の変換テーブルのデータ構造を示す。
【図11】カード種別が2である場合の変換テーブルのデータ構造を示す。
【図12】カード種別が3である場合の変換テーブルのデータ構造を示す。
【図13】履歴テーブルのデータ構造を示す図である。
【図14】カード種別が1である変換テーブルの更新後のデータ構造を示す図である。
【図15】履歴管理部による履歴情報出力処理を示すフローチャートである。
【符号の説明】
【0126】
1 認証システム
2 認証装置
3 ICカード
4 電気錠
5 履歴収集装置
11 ID読出部
12 認証部
13 履歴テーブル
14 制御部
15 履歴管理部
16 通信部
21 ID送信部
22 ID記録部
31 ID権限テーブル
32 変換テーブル
33 履歴テーブル
41 フォーマットテーブル
42〜45 変換サブテーブル

【特許請求の範囲】
【請求項1】
カード種別毎のフォーマットに従った複数のフィールドを含むカードIDを保持しているメモリカードについて、それらの使用履歴を管理する履歴管理装置であって、
複数のフィールドのうち変換対象として予め定められた少なくとも1つの対象フィールドについて、管理対象とされる全メモリカードの対応するフィールドに格納されたフィールド値の各々と、そのフィールドに格納された全てのフィールド値を識別しうる最小情報長を有したID番号とを対応付けた変換テーブルを保持するテーブル管理手段と、
カードIDを取得する取得手段と、
取得された前記カードIDに係るメモリカードのカード種別を判別する判別手段と、
取得した前記カードIDから、判別された前記カード種別に係る対象フィールドに格納されたフィールド値を抽出する抽出手段と、
抽出したフィールド値を、前記変換テーブルを用いてID番号に変換する変換手段と、
前記カードIDを、変換前のフィールド値は変換後のID番号に置き換えた上で履歴情報として記録する履歴記録手段と
を備えることを特徴とする履歴管理装置。
【請求項2】
前記最小情報長は、1バイトを単位とする
ことを特徴とする請求項1に記載の履歴管理装置。
【請求項3】
前記テーブル管理手段において、複数のフィールドの全てが対象フィールドとして定められていることを特徴とする請求項1に記載の履歴管理装置。
【請求項4】
前記テーブル管理手段は、第1のカード種別に係るカードIDを構成するフィールドのいずれかと、第2のカード種別に係るカードIDを構成するフィールドのいずれかとが同種である場合には、同種の2つのフィールドに対し1つの変換テーブルを保持している
ことを特徴とする請求項1に記載の履歴管理装置。
【請求項5】
前記履歴管理装置は、前記使用履歴の管理として検索を行う検索手段を備え、
前記検索手段は、
検索キーを取得する検索キー取得部と、
前記テーブル管理手段に保持されている変換テーブルから、前記検索キーに一致するフィールド値を検索し、発見した場合に当該変換テーブルから、そのフィールド値に対応するID番号を検索IDとして読み出すテーブル検索部と、
前記履歴記録手段に記録されている履歴情報の中で、前記検索IDと同値のID番号を含むものを検索する履歴検索部と、
前記検索IDと同値のID番号を含む履歴情報を発見できた場合に、発見した履歴情報に含まれるID番号を、前記ID番号に対応する変換テーブルを用いて元のフィールド値へと変換し、履歴情報から元のカードIDを復元する逆変換部と、
元のカードIDを出力する結果出力部とを含む
ことを特徴とする請求項1に記載の履歴管理装置。
【請求項6】
前記テーブル管理手段は、前記抽出手段によって抽出された前記フィールド値が前記対象フィールドに係る変換テーブルに登録されているか否かを判定し、登録されていないと判定されたフィールド値に対しては、既に登録されているID番号と値が重複しないID番号を新たに割り当てて、割り当てたID番号と、前記フィールド値とを対応づけて前記変換テーブルに追記する
ことを特徴とする請求項1に記載の履歴管理装置。
【請求項7】
前記テーブル管理手段は、
新たな変換テーブルと、前記新たな変換テーブルをいずれのフィールドに適用するかを示す適用情報とを取得する更新情報取得部と、
前記適用情報が示すフィールドに係る変換テーブルと前記新たな変換テーブルとのいずれを用いるかの判定材料である選択情報と、前記新たな変換テーブルとを追記する追記部と
を備えることを特徴とする請求項1に記載の履歴管理装置。
【請求項8】
前記テーブル管理手段は、
新たな変換テーブルと、前記新たな変換テーブルをいずれのフィールドに適用するかを示す適用情報とを取得する更新情報取得部と、
前記適用情報が示すフィールドが対象フィールドである履歴情報について、前記対象フィールドに係る変換テーブルを用いて、ID番号を元のフィールド値に変換して置き換えるフィールド値復元部と、
前記元のフィールド値が、新たな変換テーブルに登録されているか否かを判定する登録判定部と、
登録されている場合に、前記新たな変換テーブルから元のフィールド値に対応するID番号を読み出し、元のフィールド値を読み出したID番号に置き換える履歴変更部と
前記変換テーブルに前記新たな変換テーブルを上書きするテーブル更新部と
を備えることを特徴とする請求項1に記載の履歴管理装置。
【請求項9】
カード種別毎のフォーマットに従った複数のフィールドを含むカードIDを保持しているメモリカードについて、それらの使用履歴を管理する履歴管理装置に用いられる履歴管理プログラムであって、
複数のフィールドのうち変換対象として予め定められた少なくとも1つの対象フィールドについて、管理対象とされる全メモリカードの対応するフィールドに格納されたフィールド値の各々と、そのフィールドに格納された全てのフィールド値を識別しうる最小情報長を有したID番号とを対応付けた変換テーブルを保持するテーブル管理ステップと、
カードIDを取得する取得ステップと、
取得された前記カードIDに係るメモリカードのカード種別を判別する判別ステップと、
取得した前記カードIDから、判別された前記カード種別に係る対象フィールドに格納されたフィールド値を抽出する抽出ステップと、
抽出したフィールド値を、前記変換テーブルを用いてID番号に変換する変換手段と、
前記カードIDを、変換前のフィールド値は変換後のID番号に置き換えた上で履歴情報として記録する履歴記録ステップと
の各ステップをコンピュータに実行させることを特徴とする履歴管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2009−54082(P2009−54082A)
【公開日】平成21年3月12日(2009.3.12)
【国際特許分類】
【出願番号】特願2007−222358(P2007−222358)
【出願日】平成19年8月29日(2007.8.29)
【出願人】(000005832)パナソニック電工株式会社 (17,916)
【Fターム(参考)】