(57)【要約】【課題】各端末装置において発生したイベントを遅滞なく管理装置に伝達させる。【解決手段】複数の端末装置に対し、巡回的に認証用データの暗号化用情報を暗号化して送信し、前記複数の端末装置より受信した認証用データに基づき認証を行う管理装置であって、各端末装置の処理速度の高さを示す処理能力値を取得し、前記暗号化用情報の送信対象である端末装置について、取得した処理能力値が所定閾値に示される処理速度の高さより高いか否かを判定する。前記処理速度の高さより高くはないと判定された場合、前記暗号化した暗号化用情報に当該暗号化用情報の復号に用いられるべき初期ベクトルを付加して前記端末装置に送信し、前記処理速度の高さより高いと判定された場合、前記暗号化した暗号化用情報に、前記初期ベクトルより小サイズであり、当該暗号化用情報の復号に用いられるべき前記初期ベクトルの導出用のシード値を付加して送信する。【選択図】図３
2008131600.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末装置に対し、巡回的に認証用データの暗号化用情報を暗号化して送信し、前記複数の端末装置より受信した認証用データに基づき認証を行う管理装置であって、
各端末装置の処理速度の高さを示す処理能力値を取得する取得手段と、
前記暗号化用情報の送信対象である端末装置について、取得した処理能力値が所定閾値に示される処理速度の高さより高いか否かを判定する判定手段と、
前記処理速度の高さより高くはないと判定された場合、前記暗号化した暗号化用情報に当該暗号化用情報の復号に用いられるべき初期ベクトルを付加して前記端末装置に送信し、前記処理速度の高さより高いと判定された場合、前記暗号化した暗号化用情報に、前記初期ベクトルより小サイズであり、当該暗号化用情報の復号に用いられるべき前記初期ベクトルの導出用のシード値を付加して送信する送信手段と
を備えることを特徴とする管理装置。
【請求項２】
前記管理装置は、さらに、
各端末装置について、前記暗号化した暗号化用情報に前記シード値を付加して送信し、その送信から当該端末装置による返信を受け取るまでに要する時間を計測する計測手段と、
前記複数の端末装置のそれぞれと、計測された時間とを対応付けて記憶する記憶手段とを備え、
前記取得手段は、前記各端末装置についての処理能力値として、前記記憶手段に前記各端末装置と対応付けて記憶されている時間を取得する
ことを特徴とする管理装置。
【請求項３】
複数の端末装置と、前記複数の端末装置に対し、巡回的に認証用データの暗号化用情報を暗号化して送信し、前記複数の端末装置より受信した認証用データに基づき認証を行い、認証結果に応じて当該認証結果に係る制御を行う管理装置とを含んで構成される管理システムであって、
前記管理装置は、
各端末装置の処理速度の高さを示す処理能力値を取得する取得手段と、
前記暗号化用情報の送信対象である端末装置について、取得した処理能力値が所定閾値に示される処理速度の高さより高いか否かを判定する判定手段と、
前記処理速度の高さより高くはないと判定された場合、前記暗号化した暗号化用情報に当該暗号化用情報の復号に用いられるべき初期ベクトルを付加して前記端末装置に送信し、前記処理速度の高さより高いと判定された場合、前記暗号化した暗号化用情報に、前記初期ベクトルより小サイズであり、当該暗号化用情報の復号に用いられるべき前記初期ベクトルの導出用のシード値を付加して送信する送信手段とを備え、
前記各端末装置は、
前記初期ベクトル及び前記シード値の何れかが付加された前記暗号化した暗号化用情報を受信して、受信された前記初期ベクトル、あるいは前記シード値から生成された前記初期ベクトルを用いて、前記暗号化用情報を復号化する復号化手段と、
前記管理装置に送信すべき認証用データがある場合に、復号化された暗号化用情報を用いて前記認証用データを暗号化し、暗号化した認証用データを前記管理装置に送信する暗号化送信手段と
を備えることを特徴とする管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証管理にかかる管理装置に関し、特に、狭帯域における管理装置と端末装置との間の暗号化通信技術に関する。
【背景技術】
【０００２】
従来、狭帯域において、管理装置（例えば、入退室管理装置）と複数の端末装置（例えば、カードリーダや指紋リーダ）とを含んで構成される管理システムが知られている。各端末装置から管理装置へは、カードIDや指紋情報等の秘匿性の高い認証用のデータが送信されるため、それらを暗号化して送信する方法が模索されている。
その方法として、管理装置が各端末装置に前記認証用のデータを暗号化するための鍵を暗号化して送信し、各端末装置は受信した鍵を用いて前記認証用のデータを暗号化し、管理装置に送信する方法が挙げられる。その場合、各端末装置に送信すべき鍵の暗号化の方法として、初期ベクトルを用いて暗号化する方法がある。初期ベクトルは１６バイトのランダムなデータであり、最初のブロックに初期ベクトルをおいて暗号化することにより、同じ暗号鍵で同じデータを暗号化したとしても、初期ベクトルが異なると、異なる暗号データになり、暗号解析を困難にさせる効果がある。
【０００３】
一方、初期ベクトルを用いて暗号化した場合には、復号する際にも初期ベクトルを必要とするので、管理装置は初期ベクトルを暗号化データと共に各端末措置に送信する必要がある。そうすると、初期ベクトルを付加した分だけ送信すべきデータ長は長くなり、結果として、狭帯域でのデータ通信であるために通信時間が長くなり、各端末装置において発生したイベントを管理装置に遅滞なく送信することが難しくなる。
【０００４】
そこで、初期ベクトルを付加するのではなく、初期ベクトルを生成するために用いられ、初期ベクトルより小サイズであるシード値を付加して送信し、各端末装置にてシード値から初期ベクトルを生成する方法が考えられる。これにより、初期ベクトルを付加した場合よりも通信時間を短縮することができる。
なお、暗号化通信に関しては、以下の特許文献１乃至特許文献５に記載されている先行技術がある。
【特許文献１】特開２００４−３１８１５４号公報
【特許文献２】特表２００５−５２５０４７号公報
【特許文献３】特開２００３−３３３０３２号公報
【特許文献４】特開２００３−６９５５５号公報
【特許文献５】特開平１０−６３６１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、各端末装置の性能にばらつきがある場合がある。例えば、管理システムを構成する既存の端末装置の一部を別の端末装置と交換したり、新たに端末装置を追加したりする場合である。
このような場合、処理速度の低い端末装置では、初期ベクトルの生成に時間がかかり、たとえ通信時間は短くなったとしても、その通信時間と初期ベクトル生成時間とを合計すると、初期ベクトルを付加して送信した場合よりもかえって時間がかかる場合がある。
【０００６】
本発明は上記問題に鑑みてなされたものであって、各端末装置において発生したイベントを遅滞なく伝達させる管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は複数の端末装置に対し、巡回的に認証用データの暗号化用情報を暗号化して送信し、前記複数の端末装置より受信した認証用データに基づき認証を行う管理装置であって、各端末装置の処理速度の高さを示す処理能力値を取得する取得手段と、前記暗号化用情報の送信対象である端末装置について、取得した処理能力値が所定閾値に示される処理速度の高さより高いか否かを判定する判定手段と、前記処理速度の高さより高くはないと判定された場合、前記暗号化した暗号化用情報に当該暗号化用情報の復号に用いられるべき初期ベクトルを付加して前記端末装置に送信し、前記処理速度の高さより高いと判定された場合、前記暗号化した暗号化用情報に、前記初期ベクトルより小サイズであり、当該暗号化用情報の復号に用いられるべき前記初期ベクトルの導出用のシード値を付加して送信する送信手段とを備えることを特徴とする管理装置である。
【発明の効果】
【０００８】
本発明は、上記の構成を備えることにより、各端末装置のそれぞれについて、処理能力値に応じて初期ベクトル及びシード値の何れを付加すべきかを判定し、最適なほうを付加して送信するので、各端末装置において発生したイベントを遅滞なく管理装置に伝達することができる。
【発明を実施するための最良の形態】
【０００９】
（実施の形態１）
＜概要＞
以下の実施の形態では、管理装置を入退室管理に係る入退室管理装置、各端末装置をカードリーダとして説明する。
先ず始めに、本発明に係る入退室管理装置１００の概要について説明する。
【００１０】
本発明に係る入退室管理装置１００は図１に示すようなシステムで用いられる。図１に示すシステムは入退室管理装置１００と複数のカードリーダ２００ａ、２００ｂ、２００ｃ、２００ｄとからなり、入退室管理装置１００と各カードリーダとはＲＳ４８５ケーブルにより接続されている。複数のカードリーダ２００ａ、２００ｂ、２００ｃ、２００ｄのうち少なくとも一つは、他のカードリーダと異なる処理性能を有する。
【００１１】
入退室管理装置１００は、図２に示すように、巡回的に、カードリーダ２００ａ、２００ｂ、２００ｃ、２００ｄにポーリングを送信し、それぞれからの応答を受信する。ポーリングを受信したカードリーダにおいて、カードＩＤがすでに読み込まれている場合には、そのカードリーダからはカードＩＤを含むデータ（以下、「認証データ」という）が返信され、その認証データを受信すると、自装置１００内のデータベースに格納されている認証用のデータと照合し、一致する場合には、図示しない入退室にかかるドアの電気錠を開錠あるいは施錠する制御を行う。
【００１２】
カードリーダ２００ａ、２００ｂ、２００ｃ、２００ｄは、ポーリングを受信すると、送信すべきデータがない場合には、応答信号（ack）を返信し、送信すべきデータがある場合にはそのデータを暗号化し、入退室管理装置１００に返信する。
また、入退室管理装置１００が各カードリーダからの応答を待つ時間は予め設計者により設計段階で決められているが、その時間の経過前に応答を受信した場合には、次のカードリーダにポーリングを送信する。入退室管理装置１００において特に特徴となる部分は、ポーリングの際に初期ベクトル及びシード値の何れを付加して送信するかを送信対象となるカードリーダの処理速度の高さに応じて判定することであり、通信時間が短くて済む方を付加して送信することにより、各カードリーダにおいて発生したイベントを遅滞なく伝達させる。
【００１３】
以上が、入退室管理装置１００の概要である。
続いて、本発明に係る入退室管理装置１００について図面を参照しながらさらに詳細に説明する。
＜構成＞
入退室管理装置１００の内部構成について説明する。図３は、入退室管理装置１００の機能ブロックを示す図である。入退室管理装置１００は、認証データ用鍵生成部１０１、暗号部１０２、処理能力値記憶部１０３、基準能力値記憶部１０４、判定部１０５、付加部１０６、送信部１０７、受信部１０８、復号部１０９、履歴管理部１１０、認証用ＩＤ記憶部１１１、認証部１１２、及び制御部を含んで構成される。
【００１４】
入退室管理装置１００は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニットなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、入退室管理装置１００はその機能を達成する。
【００１５】
認証データ用鍵生成部１０１は各カードリーダにおける認証データを暗号化するための鍵を生成し、生成した鍵を暗号部１０２に送出する。鍵のサイズは１６バイトから２５６バイトであり、そのサイズは設計者により設計段階で暗号の強度を考慮して決定される。生成した鍵は復号部１０９による復号に用いられるため、それまでの間は記憶しておく。
暗号部１０２は認証データ用鍵生成部１０１より送出された鍵を受け取り、初期ベクトルを用いて受け取った鍵を暗号化する。より詳細には、暗号部１０２はシード値生成部１１４、初期ベクトル生成部１１５、暗号鍵管理部１１６、及び認証データ用鍵暗号部１１７を含んで構成される。
【００１６】
シード値生成部１１４は初期ベクトルを生成するために用いられるシード値を生成し、生成したシード値を初期ベクトル生成部１１５に送出する。シード値は初期ベクトルよりも小サイズのランダムなデータであり、そのサイズは設計者により設計段階で暗号の強度を考慮して決定される。ここでは、シード値は１バイトする。
初期ベクトル生成部１１５はシード値生成部１１４より送出されたシード値を受け取り、受け取ったシード値から初期ベクトルを生成し、生成した初期ベクトルを認証データ用鍵暗号部１１７に送出する。初期ベクトルは１６バイトのランダムなデータであり、同一のシード値からは同一の初期ベクトルが生成される。したがって、入退室管理装置１００と各カードリーダとでそれぞれ共通の初期ベクトル生成アルゴリズムを備えることにより、シード値をカードリーダに送信すれば、カードリーダ側で入退室管理装置１００で生成された初期ベクトルと同一の初期ベクトルを生成することができる。
【００１７】
暗号鍵管理部１１６は認証データ用鍵生成部１０１により生成された認証データ用鍵を暗号化するための鍵を管理している。また、暗号鍵管理部１１６はその鍵を一定期間毎に更新する。鍵を更新した場合には、更新後の鍵を管理する。一定期間とは、ここでは一ヶ月とする。鍵を更新した場合には、例えば、更新後の鍵を各カードリーダに送信することにより、各カードリーダで管理されている鍵を更新させる。
【００１８】
認証データ用鍵暗号部１１７は初期ベクトルと暗号鍵を用いて、認証データ用鍵を暗号化する。具体的には、初期ベクトルと最初のブロックとを排他的論理和した後、暗号鍵でこのブロックの暗号化を行い、その結果物をｃ１とする。次のブロックとｃ１とを排他的論理和した後、暗号鍵でこのブロックの暗号化を行い、その結果物をｃ２とする。その次のブロックとｃ２とを排他的論理和した後、暗号鍵でこのブロックの暗号化を行い、その結果物をｃ３とする。以下同様の処理を繰り返し、得られたものをつなげた結果が暗号データとなる。
【００１９】
処理能力値記憶部１０３はハードディスクユニットなどの記録媒体で構成され、各カードリーダを示す識別情報と、その処理能力値とを対応付けて記憶している。処理能力値は、カードリーダの処理速度の高さを示す値である。ここで、具体的に処理能力値としてどのような値を用いるかについて説明する。図４は、初期ベクトルを付加した場合とシード値を付加した場合において、入退室管理装置１００の暗号化処理からカードリーダの復号化処理までに要する処理時間を比較した図である。図中の時間ｔ１、ｔ２、ｔ３はそれぞれカードリーダによる復号化処理が終了した時間を示す。
【００２０】
図４（ａ）は初期ベクトルを付加した場合を示しており、入退室管理装置による送信からカードリーダによる受信まで（図４（ａ）における時間ｔ４からｔ５の区間）に多くの時間を要しているのが確認できる。
図４（ｂ）はシード値を付加し、かつ、カードリーダの処理速度が高速の場合を示しており、入退室管理装置による送信からカードリーダによる受信までに要する時間（図４（ｂ）における時間ｔ４からｔ６の区間）が格段に短縮され、初期ベクトルの生成処理（図４（ｂ）における時間ｔ７からｔ８の区間）も短時間で終えているのが確認できる。図４（ａ）と比較すると、初期ベクトルを付加した場合に要する時間ｔ１よりも、時間ｔ２は短時間で済むことがわかる。
【００２１】
図４（ｃ）はシード値を付加し、かつ、カードリーダの処理速度が低速の場合を示しており、入退室管理装置による送信からカードリーダによる受信までに要する時間（図４（ｃ）における時間ｔ４からｔ６の区間）は格段に短縮されているが、初期ベクトルの生成処理（図４（ｃ）における時間ｔ７からｔ９の区間）に多くの時間を要しているのが確認できる。図４（ａ）と比較すると、初期ベクトルを付加した場合に要する時間ｔ１よりも、時間ｔ３は長時間を要することがわかる。
【００２２】
また、図４（ａ）（ｂ）（ｃ）から初期ベクトルを付加した場合とシード値を付加した場合との比較において、処理時間に影響を与えているのは、入退室管理装置による送信からカードリーダによる受信に要する時間と、初期ベクトルの生成処理に要する時間であることがわかる。すなわち、図４（ａ）における時間ｔ４からｔ５の区間と、図４（ｂ）における時間ｔ４からｔ６の区間と図４（ｂ）における時間ｔ７からｔ８の区間の合計区間とを比較することにより、どちらを付加して送信した方が短時間の処理で済むかを判定することができる。図４（ａ）と図４（ｃ）との処理時間の比較についても同様である。
【００２３】
以上を踏まえて、処理能力値として以下により求まる値を用いる。
処理能力値  ＝  入退室管理装置１００がシード値を付加した暗号データを送信対象であるカードリーダに送信してから、そのカードリーダがそれを受信するまでの時間  ＋  受信したカードリーダがシード値から初期ベクトルを生成するのに要する時間
ここでは処理能力値は予めシステム運用前にシステム管理者により入力され、記憶されているものとする。
【００２４】
基準能力値記憶部１０４はハードディスクユニットなどの記録媒体で構成され、判定部１０５における判定の基準となる能力値を記憶している。基準能力値は、判定の基準となるべき処理速度の高さを示す値であり、入退室管理装置１００が初期ベクトルを付加した暗号データをカードリーダに送信してから、カードリーダがそれを受信するまでの時間（図４（ａ）における時間ｔ４からｔ５の区間）である。送信対象となるカードリーダは、どのカードリーダであってもよい。送信時間は、送信されるデータのデータ長に依存し、カードリーダの処理速度に関係しないからである。ここでは基準能力値は予めシステム運用前にシステム管理者により入力され、記憶されているものとする。
【００２５】
判定部１０５は暗号データの送信対象であるカードリーダについて、処理能力値記憶部１０３から対応する処理能力値を、基準能力値記憶部１０４から基準能力値を取得し、処理能力値が基準能力値より高いか否かを判定する。
付加部１０６は判定結果に応じて、初期ベクトル及びシード値の何れかを付加する。具体的には、処理能力値が基準能力値より高いと判定された場合、すなわち、処理能力値に示される時間が基準能力値に示される時間より短い場合には、シード値を付加する。処理能力値が基準能力値以下と判定された場合、すなわち、処理能力値に示される時間が基準能力値に示される時間以上の場合には、初期ベクトルを付加する。
【００２６】
送信部１０７はドライバＩＣを含む通信回路と外部接続用のＲＳ４８５コネクタを含んで構成され、暗号データに初期ベクトル及びシード値の何れかが付加されたものを送信対象であるカードリーダに送信する。
受信部１０８はドライバＩＣを含む通信回路と外部接続用のＲＳ４８５コネクタを含んで構成され、各カードリーダより送信される暗号データを受信し、受信した暗号データを復号部１０９に送出する。
【００２７】
復号部１０９は、受信部１０８より送出された暗号データを受け取り、受け取った暗号データを認証データ用鍵生成部１０１において記憶していた鍵を用いて復号する。
履歴管理部１１０は各カードリーダにおける入退室の状況を管理する。具体的には、カードＩＤと、状態ＩＤと、日付とを対応付けて、入退室履歴情報として記憶する。
認証用ＩＤ記憶部１１１はハードディスクユニットなどの記録媒体で構成され、カードＩＤと、そのカードＩＤを有するＩＣカードを所有している所有者情報とを対応付けて記憶している。
【００２８】
認証部１１２は復号されたカードＩＤと、認証用ＩＤ記憶部１１１に記憶されているカードＩＤとを照合し、一致するか否かを認証する。
制御部１１３は、認証部１１２による認証の結果、両者が一致する場合には、例えば図示しない電気錠を開錠あるいは施錠する制御を行う。
以上が入退室管理装置１００の内部構成である。
【００２９】
続いてカードリーダ２００ａの内部構成について説明する。図４は、カードリーダ２００ａの機能ブロックを示す図である。カードリーダ２００ａは、受信部２０１、初期ベクトル生成部２０２、復号鍵管理部２０３、復号部２０４、データ読み込み部２０５、暗号部２０６、及び送信部２０７を含んで構成される。なお、カードリーダ２００ａ、２００ｂ、２００ｃ、２００ｄは同様の構成のため、ここではカードリーダ２００ａの構成についてのみ説明する。
【００３０】
受信部２０１はドライバＩＣを含む通信回路と外部接続用のＲＳ４８５コネクタを含んで構成され、初期ベクトル及びシード値の何れかが付加された暗号データを受信する。初期ベクトルが付加されていた場合には、初期ベクトルと暗号データとを復号部２０４に送出し、シード値が付加されていた場合には、シード値を初期ベクトル生成部２０２に、暗号データを復号部２０４に送出する。
【００３１】
初期ベクトル生成部２０２は受信部２０１から送出されたシード値を受け取り、そのシード値から初期ベクトルを生成する。なお、初期ベクトル生成部２０２は入退室管理装置１００に備えられている初期ベクトル生成アルゴリズムと共通の初期ベクトル生成アルゴリズムを備えている。したがって、そのシード値から入退室管理装置１００における暗号化の際に用いられた初期ベクトルと同様のものが生成される。
【００３２】
復号鍵管理部２０３は受信部２０１により受信される暗号データを復号するための復号鍵を管理している。入退室管理装置１００における暗号鍵管理部１１６により暗号鍵が更新された場合には、例えば、入退室管理装置１００から送信される更新後の鍵を受信し、受信した鍵を新たに管理する。
復号部２０４は初期ベクトルと復号鍵とを用いて、暗号データを復号する。
【００３３】
データ読み込み部２０５はＩＣカードを所持するユーザにより、当該カードリーダにカードが通された場合に、カードＩＤを読み込み、読み込んだカードＩＤと、状態ＩＤと、読み込んだ日時とを入退室情報として記憶する。
暗号部２０６は、データ読み込み部２０５に入退室情報が記憶されている場合には、復号部２０４により復号された認証データ用鍵を用いて、入退室情報を暗号化し、暗号後のデータを送信部２０７に送出する。
【００３４】
送信部２０７はドライバＩＣを含む通信回路と外部接続用のＲＳ４８５コネクタを含んで構成され、暗号部２０６により暗号化された入退室情報を入退室管理装置１００に送信する。送信すべき入退室情報がない場合には、応答信号（ack）を返信する。
以上がカードリーダ２００ａの内部構成である。
＜データ＞
続いて、本願発明にかかるデータのデータ構造について説明する。図６はデータ構造を示す図である。図６（ａ）は入退室管理装置１００から各カードリーダへ送信されるデータのデータ構造を示している。本図に示されるように、暗号データの前後にヘッダ及びフッタが付加され、さらに、初期ベクトル及びシード値の何れかが付加される構造となる。
【００３５】
ヘッダは３バイトのデータであり、データ長や初期ベクトル及びシード値の何れを付加しているか等、データ自体に関する情報である。
暗号データは１６バイトから２５６バイトまでの可変長のデータであり、具体的には認証データ用鍵である。
フッタは１バイトのデータである。
【００３６】
図６（ｂ）は各カードリーダから入退室管理装置１００へ送信されるデータのデータ構造を示している。本図に示されるように、暗号データの前後にヘッダ及びフッタが付加される構造となる。
暗号データはカードＩＤと、状態ＩＤと、日時とを含んで構成される。
カードＩＤはＩＣカードを識別するための識別子である。
【００３７】
状態ＩＤは入室及び退室の何れかを示す識別子である。
日時はＩＣカードを読み込んだときの日時である。
＜動作＞
続いて入退室管理装置１００がカードリーダ２００ａにポーリングを送信するまでの動作について、図７に示すフローチャートを用いて説明する。
【００３８】
まず、認証データ用鍵生成部１０１は認証データ用鍵を生成する（ステップＳ７０１）。暗号部１０２は生成された認証データ用鍵を暗号化する（ステップＳ７０２）。判定部１０５はカードリーダ２００ａの処理能力値が基準能力値より高いか否かを判定する（ステップＳ７０３）。処理能力値が基準能力値より高いと判定された場合には（ステップＳ７０３でＹｅｓ）、付加部１０６は暗号データにシード値を付加する（ステップＳ７０４）。処理能力値が基準能力値より高くないと判定された場合には（ステップＳ７０３でＮｏ）、暗号データに初期ベクトルを付加する（ステップＳ７０５）。そして送信部１０７はシード値及び初期ベクトルの何れかが付加された暗号データをカードリーダ２００ａに送信する（ステップＳ７０６）。
【００３９】
続いてカードリーダ２００ａの動作について、図８に示すフローチャートを用いて説明する。
まず、受信部２０１はシード値及び初期ベクトルの何れかが付加された暗号データを受信し（ステップＳ８０１）、初期ベクトルが付加されているか、あるいはシード値が付加されているのかをヘッダ情報に基づいて判定する（ステップＳ８０２）。シード値が付加されていると判定された場合には（ステップＳ８０２でＮｏ）、初期ベクトル生成部２０２はそのシード値から初期ベクトルを生成する（ステップＳ８０３）。初期ベクトルが付加されていると判定された場合（ステップＳ８０２でＹｅｓ）、あるいはステップＳ８０３において初期ベクトルが生成された場合には、復号部２０４は付加された、あるいは生成された初期ベクトルを用いて、暗号データを復号化する（ステップＳ８０４）。次に、暗号部２０６は送信すべきデータがあるか否かを判定する（ステップＳ８０５）。送信すべきデータがない場合には、送信部２０７はackを入退室管理装置１００に返信する（ステップＳ８０６）。送信すべきデータがある場合には、暗号部２０６はそのデータを復号された鍵を用いて暗号化する（ステップＳ８０７）。そして送信部２０７は暗号データを入退室管理装置１００に返信する（ステップＳ８０８）。
【００４０】
続いて入退室管理装置１００がカードリーダ２００ａからの返信を受信してからの動作について、図９に示すフローチャートを用いて説明する。
まず、受信部１０８がカードリーダ２００ａから返信された暗号データを受信すると（ステップＳ９０１）、復号部１０９はその暗号データを復号する（ステップＳ９０２）。復号したデータが履歴管理部１１０に送出され、履歴管理部１１０はそのデータを受け取り、入退室履歴情報として管理する（ステップＳ９０３）。認証部１１２は復号したデータに含まれるカードＩＤについて、認証用ＩＤ記憶部１１１に記憶されているカードＩＤと一致するか否かを認証する（ステップＳ９０４）。一致する場合には、制御部１１３は電気錠を開錠あるいは施錠する制御を行う（ステップＳ９０５）。一致しない場合はそのまま処理を終了する。
【００４１】
以上のように本実施形態によれば、初期ベクトルを付加した場合の送信から受信に要する時間と、シード値を付加した場合の送信から受信に要する時間と初期ベクトルの生成に要する時間の和とを比較し、短時間で済む方を選択して付加することにより、各カードリーダにおいて発生したイベントを遅滞なく伝達させることができる。
（実施の形態２）
実施の形態１では、処理能力値及び基準能力値は予め入力されているとしたが、本実施の形態では、入退室管理装置１００ａは各カードリーダについて、初期ベクトルを付加した場合とシード値を付加した場合とを交互に送信する。そして送信からその送信に対する返信を受信するまでの時間について、どちらを付加した場合の方が早いかを運用前に実際に計測する。
【００４２】
そこで入退室管理装置１００ａは、図１０に示されるように入退室管理装置１００が備える構成要素に加え、さらに計測部１１８を備える。
計測部１１８は、送信部１０７により暗号データが送信されたときから、その暗号データを受信したカードリーダによる返信を受信部１０８が受信するまでの時間を計測する。初期ベクトルを付加した場合と、シード値を付加した場合の両方で計測を行い、各カードリーダと計測結果とを対応付けてそれぞれ基準能力値記憶部１０４及び処理能力値記憶部１０３に記憶する。
【００４３】
なお、計測回数は何回であってもよいが、ここでは複数回計測することとし、その平均を求めることにより計測の精度を高める。
付加部１０６は、計測部１１８による計測が終了するまでは、判定部１０５に依らず送信対象となるカードリーダに対し、初期ベクトルとシード値とを交互に付加する。計測が終了し、実際に運用される場合には、判定部１０５は計測結果に基づいて何れを付加するか判定し、付加部１０６は判定結果にしたがって何れかを付加する。
【００４４】
また、本実施の形態では処理能力値、基準能力値を実測するため、処理能力値として、シード値が付加された暗号データを送信対象であるカードリーダに送信してから、そのカードリーダからの返信を受信するまでの時間を用いる。
同様に、本実施の形態における基準能力値として、初期ベクトルが付加された暗号データを送信対象であるカードリーダに送信してから、そのカードリーダからの返信を受信するまでの時間を用いる。
【００４５】
以上のように本実施形態によれば、例えば、あるカードリーダが別のカードリーダと交換されたり、新たにカードリーダが追加されたりし、入退室管理装置がそれらの処理性能について把握できていない場合であっても、実際にそれらのカードリーダについて、初期ベクトルを付加した場合の通信時間とシード値を付加した場合の通信時間とを計測することにより、それ以降はどちらを付加すべきか判定することができ、各カードリーダにおいて発生したイベントを遅滞なく伝達させることができる。
【００４６】
（補足）
以上、本発明に係る管理装置について、実施の形態に基づいて説明したが、本発明は上記の実施の形態に限られないことは勿論である。
上記実施の形態では、管理装置は入退室管理装置としたが、入退室管理装置に限らず、認証結果に応じてキーボックスの施錠あるいは開錠を行う管理装置としてもよいし、鍵の施開錠に限らず認証結果に応じて当該認証結果にかかる制御をするものであればよい。
【００４７】
上記実施の形態では、端末装置はカードリーダとしたが、カードリーダに限らず指紋リーダでも静脈リーダでもよい。また、それらが混在していてもよい。
上記実施の形態では、シード値は１バイトとしたが、初期ベクトルより小さいサイズであれば何バイトでもよい。
上記実施の形態では、入退室管理装置１００から各カードリーダへ送信されるデータ中の暗号データは鍵情報としたが、暗号データはカードリーダの液晶部分に表示させる文字情報を含んでいるとしてもよい。
【００４８】
上記実施の形態では、同一のシード値からは同一の初期ベクトルが生成されるとしたが、シード値は時間やその他のファクターを用いることにより、同一のシード値であっても、異なる初期ベクトルとなるようにしてもよい。これにより、シード値を少ないビット数とすることができ、通信時間を短縮することができる。
上記実施の形態２では、入退室管理装置は各カードリーダについて、暗号データに初期ベクトルを付加して送信し、当該カードリーダからの返信を受け取るまでに要する時間と、暗号データにシード値を付加して送信して当該カードリーダからの返信を受け取るまでに要する時間とを計測し、各カードリーダと計測結果とを対応付けて記憶するとしたが、各カードリーダと計測された時間のうち早い方の処理を示す識別子とを対応付けて記憶しておくとしてもよい。このように、初期ベクトルとシード値とのどちらを付加するかについて、各カードリーダごとに対応する識別子を予めリストとして記憶しておくことで、送信のたびに判定する必要はなくなる。
【００４９】
上記実施の形態では、処理能力値をシード値を付加した暗号データを送信対象であるカードリーダに送信してから、そのカードリーダがそれを受信するまでの時間と、受信したカードリーダがシード値から初期ベクトルを生成するのに要する時間とを合計した時間、あるいはシード値が付加されたデータをカードリーダに送信してから、返信を受信するまでの時間であるとしたが、これに限らず、カードリーダの処理速度の高さを示す指標となり得るものなら何でもよい。
【００５０】
上記実施の形態２では、計測手段は複数回計測し、その平均を処理能力値、基準能力値として記憶したが、計測回数は一回であってもよい。また、テストデータを用いて計測するとしてもよい。
上記の図６にデータ構造を記載したが、図６（ａ）に示されるデータ構造はMAC（Message Authentication Code）を含む構成としてもよい。MACは送信すべきデータのダイジェスト値である。入退室管理装置により生成されたMACと、前記データを受信したカードリーダにより生成されたMACとが同一か否かを判定することにより、暗号データが改ざんされているか否かをチェックすることができる。
【００５１】
上記の実施形態における機能ブロックの全てが集積回路であるＬＳＩとして実現される場合も本発明に含まれる。また、機能ブロックの全てに限らず一部がＬＳＩとして実現される場合も本発明に含まれる。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されてもよい。
【図面の簡単な説明】
【００５２】
【図１】管理システムを示す図である。
【図２】各カードリーダとのポーリング及び応答のやり取りを示す図である。
【図３】入退室管理装置１００の機能ブロックを示す図である。
【図４】初期ベクトルを付加した場合とシード値を付加した場合の処理速度の高さの比較を示す図である。
【図５】カードリーダ２００ａの機能ブロックを示す図である。
【図６】データ構造を示す図である。
【図７】入退室管理装置１００におけるポーリングを送出するまでの動作に関するフローチャートを示す図である。
【図８】カードリーダ２００ａの動作に関するフローチャートを示す図である。
【図９】入退室管理装置１００における暗号データを受信してからの動作に関するフローチャートを示す図である。
【図１０】入退室管理装置１００ａの機能ブロックを示す図である。
【符号の説明】
【００５３】
１００  入退室管理装置
１０１  認証データ用鍵生成部
１０２  暗号部
１０３  処理能力値記憶部
１０４  基準能力値記憶部
１０５  判定部
１０６  付加部
１０７  送信部
１０８  受信部
１０９  復号部
１１０  履歴管理部
１１１  認証用ＩＤ記憶部
１１２  認証部
１１３  制御部
１１４  シード値生成部
１１５  初期ベクトル生成部
１１６  暗号鍵管理部
１１７  認証データ用鍵暗号部
１１８  計測部
２００ａ、２００ｂ、２００ｃ、２００ｄ  カードリーダ
２０１  受信部
２０２  初期ベクトル生成部
２０３  復号鍵管理部
２０４  復号部
２０５  データ読み込み部
２０６  暗号部
２０７  送信部
【図１】
2008131600.tif 000003
【図２】
2008131600.tif 000004
【図３】
2008131600.tif 000005
【図４】
2008131600.tif 000006
【図５】
2008131600.tif 000007
【図６】
2008131600.tif 000008
【図７】
2008131600.tif 000009
【図８】
2008131600.tif 000010
【図９】
2008131600.tif 000011
【図１０】
2008131600.tif 000012