(57)【特許請求の範囲】
【請求項１】
サーバ及びクライアント間で共通鍵を用いて暗号化通信を行うクライアントサーバシステムにおいて、
前記サーバ及び前記クライアントのそれぞれに世代の異なる複数の共通鍵を格納するための鍵格納手段を設けるとともに、
それらの鍵格納手段にそれぞれ格納されている複数の共通鍵のうち、最新の世代の共通鍵を用いて前記サーバ及びクライアント間で暗号化通信を行う通信制御手段を設け、
前記サーバに新しい世代の共通鍵がセットされたときは、前記クライアントに格納されている複数の共通鍵のうちの最新の世代の共通鍵を前記サーバに送出させ、かつ、そのサーバに送出された共通鍵がそのサーバにセットされた前記新しい世代の共通鍵の一つ前の世代の共通鍵と一致するときに、そのサーバにセットされた前記新しい世代の共通鍵を前記クライアントの鍵格納手段に格納するために当該クライアントに送出する共通鍵送出手段を前記サーバに設けたこと、
を特徴とするクライアントサーバシステム。
【請求項２】
請求項１に記載のクライアントサーバシステムにおいて、クライアントに格納されている複数の共通鍵のうち、サーバに送出された最新の世代の共通鍵がそのサーバにセットされた新しい世代の共通鍵の一つ前の世代の共通鍵と一致しないときは、そのクライアントにそのサーバに格納されている複数の共通鍵のうちの最古の世代の共通鍵をセットし、そのセットされた最古の共通鍵がそのサーバに受信されたときに、そのサーバから残りの共通鍵を前記クライアントの鍵格納手段に格納するために当該クライアントに送出する共通鍵送出手段を設けたことを特徴とするクライアントサーバシステム。
【請求項３】
請求項１又は２のいずれかに記載のクライアントサーバシステムにおいて、サーバは自動改札機等の駅務機器を管理するホストコンピュータであり、クライアントはその自動改札機等の駅務機器であることを特徴とするクライアントサーバシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はクライアントサーバシステムに係り、特に、サーバとクライアントとの間で所定の共通鍵を用いて暗号化通信を行うときのものに関する。
【０００２】
【従来の技術】
従来、クライアントサーバシステムにおいて、サーバとクライアントとの間でＤＥＳ（Date Encryption Standard）方式で暗号化通信を行うときは、サーバ及びクライアントで共通鍵を用いて行われる。すなわち、情報の送り手は、共通鍵を用いて所定の情報を暗号化して送出し、情報の受け手は、受信した暗号化情報を共通鍵を用いて復号化して所定の情報を抽出するようにしている。
【０００３】
上述のＤＥＳ方式で安全な暗号化通信を行うには、事前にサーバからクライアントに対して安全に共通鍵を配布しなければならない。この共通鍵を配布する方式としては、共通鍵をＲＳＡとして広く知られている公開鍵暗号方式を用いて暗号化して配布する方式がある。すなわち、サーバは、公開鍵を用いて共通鍵を暗号化し、クライアントは、受信した暗号化情報を秘密鍵を用いて復号化して共通鍵を抽出し、共通鍵を入手する方式である。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来のクライアントサーバシステムにおける暗号化通信において、ＲＳＡの公開鍵を用いて共通鍵を配布する場合は、サーバ及び各クライアントの全機器にそれぞれＲＳＡの公開鍵暗号方式を実行するためのモジュールを組込まなければならず、設備コストが高くなるという欠点があった。
【０００５】
加えて、ＲＳＡの公開鍵暗号方式を実行するためのモジュールは、暗号化処理速度が遅く、したがって、システム全体の暗号化通信の処理速度が低下してしまうという欠点があった。さらに、このＲＳＡの公開鍵暗号方式を採用したときは、公開鍵や秘密鍵の鍵管理を徹底しなければならないという管理上の問題点を有していた。
【０００６】
そこで、本発明は、上記欠点を解決するためになされたものであって、その目的は、簡単な構成により、安全に共通鍵を配布することができ、しかも、システム全体の暗号化通信の処理速度を低下させることのないクライアントサーバシステムを提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、請求項１の発明は、サーバ及びクライアント間で共通鍵を用いて暗号化通信を行うクライアントサーバシステムにおいて、（ａ）前記サーバ及び前記クライアントのそれぞれに世代の異なる複数の共通鍵を格納するための鍵格納手段を設けるとともに、（ｂ）それらの鍵格納手段にそれぞれ格納されている複数の共通鍵のうち、最新の世代の共通鍵を用いて前記サーバ及びクライアント間で暗号化通信を行う通信制御手段を設け、（ｃ）前記サーバに新しい世代の共通鍵がセットされたときは、前記クライアントに格納されている複数の共通鍵のうちの最新の世代の共通鍵を前記サーバに送出させ、かつ、そのサーバに送出された共通鍵がそのサーバにセットされた前記新しい世代の共通鍵の一つ前の世代の共通鍵と一致するときに、そのサーバにセットされた前記新しい世代の共通鍵を前記クライアントの鍵格納手段に格納するために当該クライアントに送出する共通鍵送出手段を前記サーバに設けたことを特徴としている。
請求項２の発明は、請求項１の発明において、（ｃ’）クライアントに格納されている複数の共通鍵のうち、サーバに送出された最新の世代の共通鍵がそのサーバにセットされた新しい世代の共通鍵の一つ前の世代の共通鍵と一致しないときは、そのクライアントにそのサーバに格納されている複数の共通鍵のうちの最古の世代の共通鍵をセットし、そのセットされた最古の共通鍵がそのサーバに受信されたときに、そのサーバから残りの共通鍵を前記クライアントの鍵格納手段に格納するために当該そのクライアントに送出する共通鍵送出手段を設けたことを特徴としている。
請求項３の発明は、請求項１又は２の発明において、サーバは自動改札機等の駅務機器を管理するホストコンピュータであり、クライアントはその自動改札機等の駅務機器であることを特徴としている。
【０００８】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。図１は、一実施の形態に係るクライアントサーバシステムのブロック図である。サーバ１は、ここでは各駅に設置されている自動改札機や自動券売機等の駅務機器、又は各駅において各駅務機器を管理制御する駅務機器制御装置（本発明で駅務機器というときは、この駅務機器制御装置も含んでいる。）を統括的に管理する鉄道会社の本社等の所定の中央に設置されているホストコンピュータとして示されている。そして、クライアント１０としては、駅に設置されている駅務機器として示されている。なお、サーバ及びクライアントの個数は、実際は１個のサーバに対して複数の駅に対応した複数のクライアントが接続されるが、ここでは、説明を簡単にするために１個のサーバと１個のクライアントとして示されている。
【０００９】
サーバ１は、クライアント１０側と通信を行うための周知の通信装置からなる通信制御部２と、乗車券の売上の集計処理や自動改札機の入出場者数の集計処理等の所定の処理用の演算処理を行う演算部３と、演算結果のプリントアウトや所定の情報の入力等の所定の処理を行うための処理ユニット４とが設けられている。
【００１０】
上記演算部３は、メモリ３ａに記憶されているシステムプログラムデータ及びクライアント１０側から得た所定のデータに基づいて所定の演算処理を行うＣＰＵ３ｂを有している。また、上記メモリ３ａには、サーバ１及びクライアント１０間で暗号通信を行うための複数（図示の例では２個）の共通鍵Ｋi ，Ｋi-1 が格納（記憶）されている。なお、これら共通鍵Ｋi ，Ｋi-1 については後述する。また、これら共通鍵Ｋi ，Ｋi-1 は、通信制御部２内の図示しないメモリに格納することもできる。
【００１１】
クライアント１０は、サーバ１側と通信を行うための周知の通信装置からなる通信制御部１１と、駅務機器用の所定の演算処理を行う演算部１２と、駅務機器が自動改札機の場合にドアを駆動するドア駆動ユニット等の各種処理ユニットであり、その駅務機器が自動券売機の場合に乗車券を発行する発券処理ユニット等の各種処理ユニットであり、また、その駅務機器が駅務機器制御装置の場合に入出力処理ユニット等の各種処理ユニットであるところの処理ユニット１３とを有している。
【００１２】
上記演算部１２は、メモリ１２ａに記憶されているシステムプログラムデータ及びサーバ１側から得た所定のデータに基づいて所定の演算処理を行うＣＰＵ１２ｂを有している。また、上記メモリ１２ａには、サーバ１及びクライアント１０間で暗号通信を行うための複数（図示の例では２個）の共通鍵Ｋi ，Ｋi-1 が格納（記憶）されている。なお、これら共通鍵Ｋi ，Ｋi-1 は、通信制御部１１内の図示しないメモリに格納することもできる。
【００１３】
上記サーバ１のメモリ３及びクライアント１０のメモリ１２ａにそれぞれ格納される共通鍵Ｋi ，Ｋi-1 は、所定のビット数の鍵長で構成されている。そして、共通鍵Ｋi ，Ｋi-1 の「i 」は共通鍵の世代を表わし、世代が新しい程、暗号強度が強くなるように設定されている。したがって、例えば、共通鍵Ｋ0 よりも共通鍵Ｋ1 が世代が新しく、かつ、暗号強度が強く、また、共通鍵Ｋ1 よりも共通鍵Ｋ2 が世代が新しく、かつ、暗号強度が強くなるように、共通鍵のバージョンアップが図られている。
【００１４】
上記構成のクライアントサーバシステムにおいて、サーバ１のメモリ３ａに格納されている複数の所定の共通鍵Ｋi ，Ｋi-1 とクライアント１０のメモリ１２ａに格納されている複数の所定の共通鍵Ｋi ，Ｋi-1 が一致したときは、それら共通する共通鍵のうち、最も世代の新しい共通鍵であるところの共通鍵Ｋi を用いてサーバ１及びクライアント１０間で所定の暗号通信が行われる。
【００１５】
すなわち、サーバ１及びクライアント１０間の暗号通信は、一つの共通鍵Ｋi を用いて行われるので、速い通信速度を確保することができ、したがって、例えば、鉄道会社のホストコンピュータと各駅に設けられている駅務機器間の暗号通信のように、所定の処理速度の要求される場合においても十分に対処することができる。しかも、その暗号通信は、一つ前の世代の共通鍵Ｋi-1 を保持していることを条件に行われるので、つまり、両者の保持している複数の共通鍵が一致しているときに暗号通信が行われるので、十分に安全性を確保することができる。
【００１６】
次に、図２〜図５を用いて共通鍵の配布について説明する。なお、説明を簡単にするために、サーバ１及びクライアント１０に格納される共通鍵は、それぞれ２個とする。
【００１７】
図２は、本発明に係るクライアントサーバシステムが構築された当初の共通鍵の保持状態を示している。すなわち、本発明に係るクライアントサーバシステムが構築されたときは、世代０の共通鍵Ｋ0 がサーバ１及びクライアント１０にそれぞれセットされている。このセットは、通常、サーバ１及びクライアント１０が工場から出荷されるときに行われる。もちろん、この共通鍵の状態では、サーバ１及びクライアント１０は、各１個の共通鍵しか持っていないので、両者間の暗号通信は行われない。
【００１８】
サーバ１及びクライアント１０がそれぞれ所定場所に設置され、そして、電源が投入されて立ち上げられた後、サーバ１には、共通鍵Ｋ0 の次の世代の共通鍵Ｋ1 がセットされる。つまり、共通鍵Ｋ0 よりもバージョンアップされた共通鍵Ｋ1 がセットされる（図３（ａ）参照）。この共通鍵Ｋ1 がサーバ１にセットされた後、クライアント１０からそのクライアント１０が保持している共通鍵Ｋ0 の情報がサーバ１に受信されると、サーバ１は、クライアント１０から受信した共通鍵Ｋ0 がサーバ１が保持している共通鍵Ｋ0 と一致することを条件に、クライアント１０に対して共通鍵Ｋ1 の送出を行う。したがって、クライアント１０にも、共通鍵Ｋ0 ，Ｋ1 が格納される（図３（ｂ）参照）。
【００１９】
上述のようにして、サーバ１及びクライアント１０には、複数の共通鍵Ｋ0 ，Ｋ1 がそれぞれ格納されるので、以後、これら共通鍵Ｋ0 ，Ｋ1 のうち、最も世代の新しい共通鍵Ｋ1 を用いた暗号通信が可能となる（図３（ｃ）参照）。
【００２０】
ところで、何らかの理由により、暗号通信に用いられていた共通鍵Ｋ1 を変更しなければならない事態が発生したとする。もちろん、この共通鍵の変更は、安全性をより確保するために、定期的に又は不定期に変更されることが望まれる。
【００２１】
図４は、上述のような理由により共通鍵をそれまでの共通鍵Ｋ1 よりも世代の進んだ共通鍵Ｋ2 とするときのその共通鍵Ｋ2 の配布方式を示している。
【００２２】
サーバ１には、共通鍵Ｋ2 がセットされる。つまり、それまでの共通鍵Ｋ1 よりもバージョンアップされた共通鍵Ｋ2 がセットされる（図４（ａ）参照）。この共通鍵Ｋ2 がサーバ１にセットされた後、クライアント１０からそのクライアント１０が保持している共通鍵のうち、最も世代の新しい共通鍵Ｋ1 がサーバ１で受信されると、サーバ１は、クライアント１０から受信した共通鍵Ｋ1 がサーバ１が保持している共通鍵Ｋ1 と一致することを条件に、クライアント１０に対して共通鍵Ｋ2 の送出を行う。したがって、クライアント１０にも、共通鍵Ｋ1 ，Ｋ2 が格納される（図４（ｂ）参照）。
【００２３】
上述のようにして、サーバ１及びクライアント１０には、複数の共通鍵Ｋ1 ，Ｋ2 がそれぞれ格納されるので、以後、これら共通鍵Ｋ1 ，Ｋ2 のうち、最も世代の新しい共通鍵Ｋ2 を用いた暗号通信が可能となる（図４（ｃ）参照）。
【００２４】
図５は、サーバ１とクライアント１０との間で、複数の共通鍵の一致状態が得られなくなったとき、すなわち、共通鍵の同期が全くとれなくなったときの共通鍵の配布方式を示している。このような同期ずれは、クライアント１０が休止している間に、サーバ１が図示しないクライアントと暗号通信を行い、しかも、その暗号通信において共通鍵が更新されたときなどに発生する。図５（ａ）では、サーバ１に共通鍵Ｋ5 ，Ｋ6 が格納され、クライアント１０に共通鍵Ｋ2 ，Ｋ3 が格納されていて、両者の同期がとれていないことを示している。
【００２５】
この様に、両者間の複数の共通鍵の同期がとれないときは、先ず、クライアント１０にサーバ１に格納されている共通鍵Ｋ5 ，Ｋ6 のうち、世代の古い共通鍵Ｋ5 がセットされる（図５（ｂ）参照）。サーバ１は、クライアント１０から共通鍵Ｋ5 を受信すると（図５（ｃ）参照）、その受信した共通鍵Ｋ5 がサーバ１が保持している共通鍵Ｋ5 と同一であることを条件に、サーバ１が現在保持している残りの共通鍵、すなわち、現在、暗号通信として用いている共通鍵Ｋ6 をクライアント１０に送出する（図５（ｄ）参照）。これにより、クライアント１０には、共通鍵Ｋ5 ，Ｋ6 が格納される（図５（ｄ）参照）。
【００２６】
上述のようにして、サーバ１及びクライアント１０には、複数の共通鍵Ｋ5 ，Ｋ6 がそれぞれ格納されるので、以後、これら共通鍵Ｋ5 ，Ｋ6 のうち、最も世代の新しい共通鍵Ｋ6 を用いた暗号通信が可能となる（図５（ｅ）参照）。
【００２７】
なお、上述の例では、サーバ１及びクライアント１０に同時に格納される複数の共通鍵は２個としたが３個以上とすることもできる。もちろん、３個以上の共通鍵であっても暗号通信は、最新の世代の共通鍵が使用される。しかし、複数の共通鍵は、上述のように２個でも十分に安全性を確保でき、実用上、何ら問題はない。
【００２８】
【発明の効果】
請求項１の発明によれば、サーバに新しい世代の共通鍵がセットされたときは、クライアントに格納されている複数の共通鍵のうちの最新の世代の共通鍵をサーバに送出させ、かつ、そのサーバに送出された共通鍵がそのサーバにセットされた新しい世代の共通鍵の一つ前の世代の共通鍵と一致するときに、そのサーバにセットされた新しい世代の共通鍵がクライアントに送出されて鍵格納手段に格納されるので、新しい共通鍵を安全に配布することができる。また、最新の世代の共通鍵を用いてサーバ及びクライアント間で暗号化通信が行なわれ、特に、用いられる共通鍵は、暗号強度の強い最新の世代の共通鍵であるので、暗号通信の処理速度を低下させることなく、より安全性の高い通信を行うことができる。
請求項２の発明によれば、請求項１の発明において、クライアントに格納されている複数の共通鍵のうち、サーバに送出された最新の世代の共通鍵がそのサーバにセットされた新しい世代の共通鍵の一つ前の世代の共通鍵と一致しないときは、そのクライアントにそのサーバに格納されている複数の共通鍵のうちの最古の世代の共通鍵をセットし、そのセットされた最古の共通鍵がそのサーバに受信されたときに、そのサーバから残りの共通鍵をそのクライアントに送出するので、共通鍵を確実安全に配布することができる。
請求項３の発明によれば、サーバは自動改札機等の駅務機器を管理するホストコンピュータであり、クライアントはその自動改札機等の駅務機器であるので、ホストコンピュータと駅務機器間の暗号通信の処理速度を低下させることなく、安全性の高い通信を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係るクライアントサーバシステムの概略構成を示すブロック図である。
【図２】共通鍵の配布方式を説明するための説明図である。
【図３】共通鍵の配布方式を説明するための説明図である。
【図４】共通鍵の配布方式を説明するための説明図である。
【図５】共通鍵の配布方式を説明するための説明図である。
【符号の説明】
１  サーバ
２  通信制御部
３  演算部
３ａ  メモリ
３ｂ  ＣＰＵ
４  処理ユニット
１０  クライアント
１１  通信制御部
１２  演算部
１２ａ  メモリ
１２ｂ  ＣＰＵ
１３  処理ユニット
Ｋi ，Ｋi-1 ，Ｋ0 〜Ｋ6   共通鍵
【図１】
0003919519.tif 000002
【図２】
0003919519.tif 000003
【図３】
0003919519.tif 000004
【図４】
0003919519.tif 000005
【図５】
0003919519.tif 000006