以下、本発明に係るポリシ管理サーバ装置、サーバ装置、クライアント装置、及びこれらを有する暗号アルゴリズム切換システムの実施の形態について、図面を参照して詳細に説明する。なお、以下の各実施の形態における「暗号アルゴリズム」は、本発明では特に限定されるものではなく、DES、AES等の共通鍵暗号方式、RSA暗号等の公開鍵暗号方式等のいずれでも適用可能である。
(第1の実施の形態)
まず、本発明の第1の実施の形態について図1〜図5を用いて説明する。
本実施の形態は、RSA暗号等の公開鍵暗号方式等の暗号アルゴリズムを用いて、通信網上のクライアント装置及びサーバ装置のうち、あるエンティティで署名したデータが複数のエンティティで使用されるシステムにおいて暗号アルゴリズムの切換えを行う場合に適用したものである。
本実施の形態では、クライアント装置及びサーバ装置の各エンティティにおける暗号アルゴリズムを用いた処理は、プログラム制御により実現される。この暗号アルゴリズムに対応するプログラムは、クライアント装置及びサーバ装置において、各装置内のメモリ等のコンピュータ読み取り可能な記録媒体に格納され、各装置内のコンピュータを成すCPU(Central Processing Unit)により実行される。ここで、各エンティティにおける暗号アルゴリズムを用いた処理については公知のものが使用されるため、その詳細については省略する。
図1を参照すると、本実施の形態に係る暗号アルゴリズム切換システムは、通信網上に、暗号アルゴリズムに基づく署名アルゴリズムを用いてデータを署名して送信するクライアント装置11〜1nと、クライアント装置11〜1nにより署名されたデータを受信して暗号アルゴリズムに基づく検証アルゴリズムを用いて検証するサーバ装置2と、クライアント装置11〜1n及びサーバ装置2に対し、移行する暗号アルゴリズムと移行時期とを含むポリシを管理し、そのポリシをクライアント装置11〜1n及びサーバ装置2に対し送受信するポリシ管理サーバ装置3とを含む。
クライアント装置11〜1nは、ポリシ管理サーバ装置3との間でポリシの送受信を行うポリシ送受信部1i1(i:1〜n)と、署名を生成するデータ暗号化部(署名生成部)1i2(i:1〜n)とを備えている。
ポリシ送受信部1i1は、例えば通信網に接続される通信インターフェース等の通信装置で構成される。
データ暗号化部1i2は、例えば装置11〜1n内のプログラム制御で動作するCPU及びその制御プログラムを用いて構成され、CPUが制御プログラムを実行するにより、受信するポリシの内容により、使用する暗号アルゴリズムに基づく署名アルゴリズムを切り替える機能と、署名アルゴリズムを用いて署名を生成する機能とを有する。
図2を参照して、クライアント装置11〜1nの動作を説明する。なお、図2中の「データの暗号化」(ステップS15)は後述する第2の実施の形態に対応するものであり、本実施の形態では「署名(署名生成)」を意味するものとする。
まず、ポリシ送受信部1i1は、ポリシ管理サーバ装置3から上記のポリシを受信すると、そのポリシに含まれる移行する暗号アルゴリズムを読み取り(ステップS11)、読み取った移行暗号アルゴリズムをデータ暗号化部1i2に通知する(ステップS12)。
これに応答して、データ暗号化部1i2は、使用している暗号アルゴリズムを移行暗号アルゴリズムに変更し(ステップS13)、その変更が完了すると、ポリシ送受信部1i1を通してポリシ管理サーバ装置3に移行暗号アルゴリズムの変更完了を通知する(ステップS14)。
これ以後、データ暗号化部1i2は、移行暗号アルゴリズムに基づく署名アルゴリズムにより署名を生成する(ステップS15)。
サーバ装置2は、ポリシ管理サーバ装置3との間でポリシの送受信を行うポリシ送受信部21と、データの署名を行うデータ復号部(署名生成部)22と、署名の検証を行うデータ暗号化部(署名検証部)23とを含む。
ポリシ送受信部21は、例えば通信網に接続される通信インターフェース等の通信装置で構成される。
データ復号部22は、例えば装置2内のプログラム制御で動作するCPU及びその制御プログラムを用いて構成され、CPUが制御プログラムを実行するにより、受信するポリシの内容により、使用する暗号アルゴリズムに基づく検証アルゴリズムを切り替える機能と、検証アルゴリズムを用いて署名を検証する機能とを含む。
データ暗号化部23は、例えば装置2内のプログラム制御で動作するCPU及びその制御プログラムを用いて構成され、CPUが制御プログラムを実行するにより、受信するポリシの内容により、使用する暗号アルゴリズムに基づく署名アルゴリズムを切り替える機能と、署名アルゴリズムを用いて署名を生成する機能とを含む。
図3を参照して、サーバ装置2の動作を説明する。なお、図3中の「データの暗号化」(ステップS25)及び「データの復号」(ステップS27)は後述する第2の実施の形態に対応するものであり、本実施の形態ではそれぞれ「署名(署名生成)」及び「検証(署名検証)」を意味するものとする。
まず、ポリシ送受信部21は、ポリシ管理サーバ装置3から上記のポリシを受信すると、そのポリシに含まれる移行する暗号アルゴリズム(移行暗号アルゴリズム)を読み取り(ステップS21)、読み取った移行暗号アルゴリズムをデータ暗号化部23及びデータ復号部22に通知する(ステップS22)。
これに応答して、データ暗号化部23は、使用している暗号アルゴリズムに基づく署名アルゴリズムを移行暗号アルゴリズムに基づく署名アルゴリズムに変更し(ステップS23)、データ復号部22も、使用している暗号アルゴリズムに基づく検証アルゴリズムを移行暗号アルゴリズムに基づく検証アルゴリズムに変更し(ステップS24)、これらの変更が完了すると、ポリシ送受信部26を通してポリシ管理サーバ装置3に移行暗号アルゴリズムの変更完了を通知する(ステップS26)。
これ以後、データ暗号化部23は、移行暗号アルゴリズムに基づく署名アルゴリズムにより署名を生成する(ステップS25)。
また、データ復号部22は、移行暗号アルゴリズムに基づく検証アルゴリズムにより署名を検証する(ステップS27)。
ポリシ管理サーバ装置3は、クライアント装置11〜1n及びサーバ装置2との間でポリシの送受信を行うポリシ送受信部31と、ポリシの生成及び受信したポリシの管理を行うポリシ管理部32とを備えている。
ポリシ送受信部31は、例えば通信網に接続される通信インターフェース等の通信装置で構成される。
ポリシ管理部32は、例えば装置3内のプログラム制御で動作するCPU及びその制御プログラムを用いて構成され、CPUが制御プログラムを実行するにより、移行する暗号アルゴリズム(署名及び検証アルゴリズム)を決定する機能と、クライアント装置11〜1n及びサーバ装置2における暗号アルゴリズム(署名及び検証アルゴリズム)の移行状況を管理する機能とを含む。
図4を参照して、ポリシ管理サーバ装置3の動作を説明する。
まず、ポリシ管理部32は、移行する暗号アルゴリズムを決定し(ステップS31)、その後、ポリシ送受信部31を経由してサーバ装置2のデータ復号部22に対して移行する暗号アルゴリズムに基づく検証アルゴリズムを送信する(ステップS32)。
これに応答して、ポリシ送受信部31は、サーバ装置2から検証アルゴリズムの変更完了通知を受信する(ステップS33)。その後に、ポリシ管理部32は、変更完了したサーバ装置2の装置名を保存し(ステップS34)、ポリシ送受信部31を経由してクライアント装置11〜1nに対して移行する暗号アルゴリズムに基づく署名アルゴリズムを送信する(ステップS35)。
これに応答して、ポリシ送受信部31は、クライアント装置11〜1nから署名アルゴリズム変更完了通知を受信する(ステップS36)。その後に、ポリシ管理部32は、変更完了した装置名を保存し(ステップS37)、サーバ装置2及び全てのクライアント装置11〜1nにおいて変更が完了したことを確認し(ステップS38)、その後に、サーバ装置2のデータ暗号化部23へ新暗号アルゴリズムに基づく署名アルゴリズムによる署名生成開始通知を送信する(ステップS39)。
これにより、本実施の形態のシステムにおける暗号アルゴリズムの移行が完了することとなる。
次に、図5を参照して、サーバ装置2と複数のクライアント装置11〜1nから構成されるシステムにおいて、署名及び検証アルゴリズムを移行する時期を同期して(指定して)実施する方法を説明する。なお、図5中の「復号アルゴリズム」(ステップS43〜S46、S57)、「暗号化」(ステップS51、S56)、及び「暗号化アルゴリズムA2」は後述する第2の実施の形態に対応するものであり、本実施の形態ではそれぞれ「検証アルゴリズム」、「署名」、及び「署名アルゴリズムA2」を意味するものとする。
まず、ポリシ管理サーバ装置3は、サーバ装置2に追加する暗号アルゴリズムに基づく検証アルゴリズムA2を通知し(ステップS41)、A2の追加期限T_C_1を通知する(ステップS42)。
サーバ装置2は、追加する検証アルゴリズムA2の通知を受信した後に、追加期限T_C_1までに検証アルゴリズムにA2を追加し(ステップS43)、ポリシ管理サーバ装置3に追加完了通知を送信する(ステップS44)。これにより、サーバ装置2では、移行前後の検証アルゴリズムA1、A2による署名の検証が行われることになる(ステップS45)。
ポリシ管理サーバ装置3は、サーバ装置2から検証アルゴリズムA2の追加完了通知を受信すると(ステップS46)、その後に、サーバ装置2及びクライアント装置11〜1nに対して移行する暗号アルゴリズムに基づく署名アルゴリズムA2を通知する(ステップS47)。また、ポリシ管理サーバ装置3は、クライアント装置11〜1nに対してA2の移行期限T_C_2を通知する(ステップS48)。
クライアント装置11〜1nは、移行する署名アルゴリズムの通知を受信した後に、T_C_2までに署名アルゴリズムをA1からA2に変更し(ステップS49)、ポリシ管理サーバ装置3に追加完了通知を送信する(ステップS50)。これにより、クライアント装置11〜1nでは、移行後の署名アルゴリズムA2による署名が生成されることになる(ステップS51)。
ポリシ管理サーバ装置3は、クライアント装置11〜1nから署名アルゴリズムの変更完了通知の受信と記録を行い(ステップS52)、その都度、全てのクライアント装置11〜1nにおいて署名アルゴリズムの変更が完了したことを確認する(ステップS53)。
そして、ポリシ管理サーバ装置3は、全てのクライアント装置11〜1nにおいて署名アルゴリズムの変更が完了したことを確認した後に、サーバ装置2に署名アルゴリズムの移行期限T_C_2を通知する(ステップS54)。ポリシ管理サーバ装置3は、確認した日時がT_C_2を超過していた場合は、移行期限として、超過時刻以降の任意の時刻を通知する。
サーバ装置2は、通知された移行期限までに署名アルゴリズムをA1からA2に変更する(ステップS55)。これにより、サーバ装置2では、署名アルゴリズムA2による署名が行われることになる(ステップS56)。また、サーバ装置2は、移行前の検証アルゴリズムA1を停止する(ステップS57)。これにより、サーバ装置2では、移行後の検証アルゴリズムA2のみによる署名の検証が行われることになる。
従って、本実施の形態によれば、通信網上のクライアント装置及びサーバ装置のうち、あるエンティティで署名されたデータが複数のエンティティにおいて使用されるシステムにおいて暗号アルゴリズムの切換えを行う場合に、各エンティティが使用する暗号アルゴリズムの切換えタイミングを制御することでエンティティ間で暗号アルゴリズムに切り替えるタイミングに同期し、切換え後の暗号アルゴリズムで署名又は暗号化されたデータを確実に検証又は復号することができる。
より具体的には、次のような効果が得られる。
第1の効果は、サーバ装置における暗号アルゴリズムの移行が完了した後に、クライアント装置の暗号アルゴリズムの移行を実施することで、サーバ装置において確実に移行後の暗号アルゴリズムに基づく署名アルゴリズムを用いて署名されたデータを扱うことが可能になることである。その理由は、ポリシ管理サーバ装置がサーバ装置から暗号アルゴリズムの変更完了通知を受信した後に、クライアント装置に対して暗号アルゴリズムの移行を通知することで、クライアント装置が移行後の暗号アルゴリズムを用いてデータを暗号化するからである。
第2の効果は、第1の効果で述べたクライアント装置とサーバ装置以外の第3のクライアント装置において、移行後の暗号アルゴリズムに基づく署名アルゴリズムを用いて署名されたデータを扱うことが可能になることである。その理由は、サーバ装置で署名データを検証する際に、全てのクライアント装置における暗号アルゴリズムが移行していない場合には、移行前の暗号アルゴリズムに基づく検証アルゴリズムを用いて検証を行い、全てのクライアント装置における暗号アルゴリズムが移行した場合には、移行後の暗号アルゴリズムに基づく検証アルゴリズムを用いて検証を行うためである。
第3の効果は、全てのクライアント装置及びサーバ装置における暗号アルゴリズムの移行タイミングを同期することが可能になることである。その理由は、ポリシ管理サーバ装置がクライアント装置及びサーバ装置に対して暗号アルゴリズムの移行を通知する際に、移行する日時を合わせて通知し、通知に合わせて暗号アルゴリズムの移行を行うためである。
(第2の実施の形態)
次に、本発明の第2の実施の形態について、図1〜図5を用いて説明する。
本実施の形態は、DES、AES等の共通鍵暗号方式等の暗号アルゴリズムを用いて、通信網上のクライアント装置及びサーバ装置のうち、あるエンティティで暗号化したデータが複数のエンティティで使用されるシステムにおいて暗号アルゴリズムの切換えを行う場合に適用したものである。
本実施の形態では、クライアント装置及びサーバ装置の各エンティティにおける暗号アルゴリズムを用いた処理は、プログラム制御により実現される。この暗号アルゴリズムに対応するプログラムは、クライアント装置及びサーバ装置において、各装置内のメモリ等のコンピュータ読み取り可能な記録媒体に格納され、各装置内のコンピュータを成すCPU(Central Processing Unit)により実行される。ここで、各エンティティにおける暗号アルゴリズムを用いた処理については公知のものが使用されるため、その詳細については省略する。
図1を参照すると、本実施の形態に係る暗号アルゴリズム切換システムは、通信網上に、暗号アルゴリズムに基づく暗号化アルゴリズムによりデータを暗号化して送信するクライアント装置11〜1nと、クライアント装置11〜1nにより暗号化されたデータを受信して暗号アルゴリズムに基づく復号アルゴリズムにより復号するサーバ装置2と、クライアント装置11〜1n及びサーバ装置2に対し、移行する暗号アルゴリズムと移行時期とを含むポリシを管理し、そのポリシをクライアント装置11〜1n及びサーバ装置2に対し送受信するポリシ管理サーバ装置3とを含む。
クライアント装置11〜1nは、ポリシ管理サーバ装置3との間でポリシの送受信を行うポリシ送受信部1i1(i:1〜n)と、データの暗号化を行うデータ暗号化部1i2(i:1〜n)とを含む。
ポリシ送受信部1i1は、例えば通信網に接続される通信インターフェース等の通信装置で構成される。
データ暗号化部1i2は、例えば装置11〜1n内のプログラム制御で動作するCPU及びその制御プログラムを用いて構成され、CPUが制御プログラムを実行するにより、受信するポリシの内容により、使用する暗号アルゴリズムに基づく暗号化アルゴリズムを切り替える機能と、暗号化アルゴリズムを用いてデータを暗号化する機能とを含む。
図2を参照して、クライアント装置11〜1nの動作を説明する。
まず、ポリシ送受信部1i1は、ポリシ管理サーバ装置3から上記のポリシを受信すると、そのポリシに含まれる移行する暗号アルゴリズム(移行暗号アルゴリズム)を読み取り(ステップS11)、読み取った移行暗号アルゴリズムをデータ暗号化部1i2に通知する(ステップS12)。
これに応答して、データ暗号化部1i2は、使用している暗号アルゴリズムに対応する暗号化アルゴリズムを移行暗号アルゴリズムに基づく暗号化アルゴリズムに変更し(ステップS13)、その変更が完了すると、ポリシ送受信部1i1を通してポリシ管理サーバ装置3に移行暗号アルゴリズムの変更完了を通知する(ステップS14)。
これ以後、データ暗号化部1i2は、移行暗号アルゴリズムに基づく暗号化アルゴリズムによりデータを暗号化する(ステップS15)。
サーバ装置2は、ポリシ管理サーバ装置3との間でポリシの送受信を行うポリシ送受信部21と、データの復号を行うデータ復号部22と、データの暗号化を行うデータ暗号化部23とを含む。
ポリシ送受信部21は、例えば通信網に接続される通信インターフェース等の通信装置で構成される。
データ復号部22は、例えば装置2内のプログラム制御で動作するCPU及びその制御プログラムを用いて構成され、CPUが制御プログラムを実行するにより、受信するポリシの内容により、使用する暗号アルゴリズムに基づく復号アルゴリズムを切り替える機能と、復号アルゴリズムを用いてデータを復号する機能とを含む。
データ暗号化部23は、例えば装置2内のプログラム制御で動作するCPU及びその制御プログラムを用いて構成され、CPUが制御プログラムを実行するにより、受信するポリシの内容により、使用する暗号アルゴリズムに基づく暗号化アルゴリズムを切り替える機能と、暗号化アルゴリズムを用いてデータを暗号化する機能とを含む。
図3を参照して、サーバ装置2の動作を説明する。
まず、ポリシ送受信部21は、ポリシ管理サーバ装置3から上記のポリシを受信すると、そのポリシに含まれる移行する暗号アルゴリズム(移行暗号アルゴリズム)を読み取り(ステップS21)、読み取った移行暗号アルゴリズムをデータ暗号化部23及びデータ復号部22に通知する(ステップS22)。
これに応答して、データ暗号化部23は、使用している暗号アルゴリズムに基づく暗号化アルゴリズムを移行暗号アルゴリズムに基づく暗号化アルゴリズムに変更し(ステップS23)、データ復号部22も、使用している暗号アルゴリズムに基づく復号アルゴリズムを移行暗号アルゴリズムに基づく復号アルゴリズムに変更し(ステップS24)、これらの変更が完了すると、ポリシ送受信部26を通してポリシ管理サーバ装置3に暗号アルゴリズムの変更完了を通知する(ステップS26)。
これ以後、データ暗号化部23は、移行暗号アルゴリズムに基づく暗号化アルゴリズムによりデータを暗号化する(ステップS25)。また、データ復号部22は、移行暗号アルゴリズムに基づく復号アルゴリズムにより暗号化データを復号する(ステップS27)。
ポリシ管理サーバ装置3は、クライアント装置11〜1n及びサーバ装置2との間でポリシの送受信を行うポリシ送受信部31と、ポリシの生成及び受信したポリシの管理を行うポリシ管理部32とを含む。
ポリシ送受信部31は、例えば通信網に接続される通信インターフェース等の通信装置で構成される。
ポリシ管理部32は、例えば装置3内のプログラム制御で動作するCPU及びその制御プログラムを用いて構成され、CPUが制御プログラムを実行するにより、移行する暗号アルゴリズム(暗号化及び復号アルゴリズム)を決定する機能と、クライアント装置11〜1n及びサーバ装置2における暗号アルゴリズム(暗号化及び復号アルゴリズム)の移行状況を管理する機能とを含む。
図4を参照して、ポリシ管理サーバ装置3の動作を説明する。
まず、ポリシ管理部32は、移行する暗号アルゴリズムを決定し(ステップS31)、その後、ポリシ送受信部31を経由してサーバ装置2のデータ復号部22に対して移行する暗号アルゴリズムに基づく復号アルゴリズムを送信する(ステップS32)。
ポリシ送受信部31は、サーバ装置2から暗号アルゴリズムの変更完了通知を受信する(ステップS33)。その後に、ポリシ管理部32は、変更完了したサーバ装置2の装置名を保存し(ステップS34)、ポリシ送受信部31を経由してクライアント装置11〜1nに対して移行する暗号アルゴリズムに基づく暗号化アルゴリズムを送信する(ステップS35)。
ポリシ送受信部31は、クライアント装置11〜1nから暗号アルゴリズムの変更完了通知を受信する(ステップS36)。その後に、ポリシ管理部32は、変更完了した装置名を保存し(ステップS37)、サーバ装置2及び全てのクライアント装置11〜1nにおいて変更が完了したことを確認し(ステップS38)、その後に、ポリシ送受信部31を経由してサーバ装置2のデータ暗号化部23へ新暗号アルゴリズムに基づく暗号化アルゴリズムによる暗号化開始通知を送信する(ステップS39)。
これにより、本実施の形態の暗号アルゴリズム切換システムにおける暗号アルゴリズムの移行が完了することとなる。
次に、図5を参照して、サーバ装置2と複数のクライアント装置11〜1nから構成される暗号アルゴリズム切換システムにおいて、暗号アルゴリズムを移行する時期を同期して(指定して)実施する方法を説明する。
まず、ポリシ管理サーバ装置3は、サーバ装置2に追加する暗号アルゴリズムに対応する復号アルゴリズムA2を通知し(ステップS41)、A2の追加期限T_C_1を通知する(ステップS42)。
サーバ装置2は、追加する暗号アルゴリズムに基づく復号アルゴリズムA2の通知を受信した後に、追加期限T_C_1までに復号アルゴリズムにA2を追加し(ステップS43)、ポリシ管理サーバ装置3に追加完了通知を送信する(ステップS44)。これにより、サーバ装置2では、移行前後の復号アルゴリズムA1、A2による復号が行われることになる(ステップS45)。
ポリシ管理サーバ装置3は、サーバ装置2から復号アルゴリズムの追加完了通知を受信すると(ステップS46)、その後に、サーバ装置2及びクライアント装置11〜1nに対して移行する暗号アルゴリズムに基づく暗号化アルゴリズムA2を通知する(ステップS47)。また、ポリシ管理サーバ装置3は、クライアント装置11〜1nに対してA2の移行期限T_C_2を通知する(ステップS48)。
クライアント装置11〜1nは、移行する暗号アルゴリズムに基づく暗号化アルゴリズムA2の通知を受信した後に、T_C_2までに暗号化アルゴリズムをA1からA2に変更し(ステップS49)、ポリシ管理サーバ装置3に追加完了通知を送信する(ステップS50)。これにより、クライアント装置11〜1nでは、移行後の暗号アルゴリズムに基づく暗号化アルゴリズムA2による暗号化が行われることになる(ステップS51)。
ポリシ管理サーバ装置3は、クライアント装置11〜1nから暗号アルゴリズムの変更完了通知の受信と記録を行い(ステップS52)、その都度、全てのクライアント装置11〜1nにおいて暗号アルゴリズムの変更が完了したことを確認する(ステップS53)。
そして、ポリシ管理サーバ装置3は、全てのクライアント装置11〜1nにおいて暗号アルゴリズムの変更が完了したことを確認した後に、サーバ装置2に暗号アルゴリズムの移行期限T_C_2を通知する(ステップS54)。ポリシ管理サーバ装置3は、確認した日時がT_C_2を超過していた場合は、移行期限として、超過時刻以降の任意の時刻を通知する。
サーバ装置2は、通知された移行期限までに暗号アルゴリズムをA1からA2に変更する(ステップS55)。これにより、サーバ装置2では、移行後の暗号アルゴリズムに基づく暗号化アルゴリズムA2による暗号化が行われることになる(ステップS56)。また、サーバ装置2は、復号アルゴリズムA1を停止する(ステップS57)。これにより、サーバ装置2では、移行後の暗号アルゴリズムに基づく復号アルゴリズムA2のみによる復号が行われることになる。
従って、本実施の形態によれば、通信網上のクライアント装置及びサーバ装置のうち、あるエンティティで暗号化されたデータが複数のエンティティにおいて使用されるシステムにおいて暗号アルゴリズムの切換えを行う場合に、各エンティティが使用する暗号アルゴリズムの切換えタイミングを制御することでエンティティ間で暗号アルゴリズムに切り替えるタイミングに同期し、切換え後の暗号アルゴリズムで署名又は暗号化されたデータを確実に検証又は復号することができる。
より具体的には、次のような効果が得られる。
第1の効果は、サーバ装置における暗号アルゴリズムの移行が完了した後に、クライアント装置の暗号アルゴリズムの移行を実施することで、サーバ装置において確実に移行後の暗号アルゴリズムに基づく暗号化アルゴリズムを用いて暗号化されたデータを扱うことが可能になることである。その理由は、ポリシ管理サーバ装置がサーバ装置から暗号アルゴリズムの変更完了通知を受信した後に、クライアント装置に対して暗号アルゴリズムの移行を通知することで、クライアント装置が移行後の暗号アルゴリズムに基づく暗号化アルゴリズムを用いてデータを暗号化するからである。
第2の効果は、第1の効果で述べたクライアント装置とサーバ装置以外の第3のクライアント装置において、移行後の暗号アルゴリズムに基づく暗号化アルゴリズムを用いて暗号化されたデータを扱うことが可能になることである。その理由は、サーバ装置で復号したデータを暗号化する際に、全てのクライアント装置における暗号アルゴリズムが移行していない場合には、移行前の暗号アルゴリズムに基づく暗号化アルゴリズムを用いて暗号化を行い、全てのクライアント装置における暗号アルゴリズムが移行した場合には、移行後の暗号アルゴリズムに基づく暗号化アルゴリズムを用いて暗号化を行うためである。
第3の効果は、全てのクライアント装置及びサーバ装置における暗号アルゴリズムの移行タイミングを同期することが可能になることである。その理由は、ポリシ管理サーバ装置がクライアント装置及びサーバ装置に対して暗号アルゴリズムの移行を通知する際に、移行する日時を合わせて通知し、通知に合わせて暗号アルゴリズムの移行を行うためである。
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。
本実施の形態は、第1及び第2の実施の形態と比べると、サーバ装置2にポリシ管理サーバ装置3のポリシ管理部31の機能を一体に搭載している点が相違している。第1及び第2の実施の形態と同様の構成については、同一符号を付してその説明を簡略又は省略する。
図6を参照すると、本実施の形態に係る暗号アルゴリズム切換システムは、通信網上に、データを署名又は暗号化して送信するクライアント装置11〜1nと、データを受信して検証又は復号し、さらにポリシ管理を行うサーバ装置2とを含む。クライアント装置11〜1nの構成及び動作は、第1及び第2の実施の形態と同様である。
サーバ装置2は、クライアント装置11〜1nとの間でポリシの送受信を行うポリシ送受信部21と、データの検証又は復号を行うデータ復号部(署名検証部)22と、データの署名又は暗号化を行うデータ暗号化部(又は署名生成部)23と、ポリシの生成及び受信したポリシの管理を行うポリシ管理部24とを含む。
ポリシ管理部24の動作は、図4におけるポリシ管理サーバ装置3のポリシ管理部32の動作と同一である。
これにより、本実施の形態でも前述した第1及び第2の実施の形態と同等の処理が実現可能となる。
次に、本発明の第1の実施の形態に対応する第1の実施例について説明する。
図7は、暗号アルゴリズムとして公開鍵暗号方式を用いて署名及び署名検証(以下、検証)を行う暗号アルゴリズム切換システムにおいて、暗号アルゴリズムをA1(旧アルゴリズム)からA2(新アルゴリズム)に移行する例を示す。なお、本例のクライアント装置11〜1nは、第1の実施の形態の構成(ポリシ送受信部、データ暗号化部)に加え、サーバ装置2と同様に、暗号アルゴリズムに基づく検証アルゴリズムを用いて署名を検証するデータ復号部(署名検証部)を含む。
図7において、ポリシ管理サーバ装置3は、サーバ装置2及びクライアント装置11〜1nに追加する暗号アルゴリズムに基づく検証アルゴリズムA2を通知し(ステップS61)、サーバ装置2に検証アルゴリズムA2の追加期限T_C_1を通知する(ステップS62)。
サーバ装置2は、追加する暗号アルゴリズムに基づく検証アルゴリズムA2の通知を受信した後に、追加期限T_C_1までに検証アルゴリズムにA2を追加し(ステップS63)、ポリシ管理サーバ装置3に追加完了通知を送信する(ステップS64)。これにより、サーバ装置2では、受信したデータに使用されている暗号アルゴリズムを読み取ることで、移行前後の検証アルゴリズムA1、A2による検証が行われることになる(ステップS65)。
ポリシ管理サーバ装置3は、サーバ装置2から検証アルゴリズムA2の追加完了通知を受信すると(ステップS66)、その後に、サーバ装置2及びクライアント装置11〜1nに対して移行する暗号アルゴリズムに基づく署名アルゴリズムA2を通知する(ステップS67)。また、ポリシ管理サーバ装置3は、クライアント装置11〜1nに対して署名アルゴリズムA2の移行期限T_C_2を通知する(ステップS68)。
クライアント装置11〜1nは、移行する暗号アルゴリズムに基づく署名アルゴリズムの通知を受信した後に、移行期限T_C_2までに署名アルゴリズムをA1からA2に変更し(ステップS69)、署名アルゴリズムA2に対応する署名鍵(秘密鍵)の生成又は取得を行う(ステップS70)。なお、本実施例では、署名鍵の生成又は取得方法は問わない。ライアント装置11〜1nは、署名鍵の生成又は取得が完了した後に、ポリシ管理サーバ装置3に署名アルゴリズムA2の変更完了通知を送信する。これにより、クライアント装置11〜1nでは、移行後の署名アルゴリズムA2による署名が行われることになる(ステップS72)。
ポリシ管理サーバ装置3は、クライアント装置11〜1nから署名アルゴリズムA2の変更完了通知の受信と記録を行い(ステップS73)、その都度、全てのクライアント装置において署名アルゴリズムA2の変更が完了したことを確認する(ステップS74)。
そして、ポリシ管理サーバ装置3は、全てのクライアント装置11〜1nにおいて署名アルゴリズムA2の変更が完了したことを確認した後に、サーバ装置2へ署名アルゴリズムA2の移行期限T_C_2を通知し(ステップS75)、クライアント装置11〜1nに検証アルゴリズムA2の移行期限T_C_2を通知する(ステップS76)。なお、ポリシ管理サーバ装置3は、全てのクライアント装置11〜1nにおける署名アルゴリズムA2の変更完了を確認した日時がT_C_2を超過していた場合は、移行期限として、超過時刻以降の任意の時刻を通知する。
サーバ装置2は、通知された移行期限までに署名アルゴリズムをA1からA2に変更し(ステップS77)、署名アルゴリズムA2に対応する署名鍵(秘密鍵)の生成又は取得を行う(ステップS78)。これにより、サーバ装置2では、移行後の署名アルゴリズムA2による署名が行われることになる(ステップS79)。また、サーバ装置2は、移行前の検証アルゴリズムA1を停止する(ステップS80)。これにより、サーバ装置2では、受信したデータに使用されている暗号アルゴリズムを読み取ることで、移行後の検証アルゴリズムA2のみによる検証が行われることになる。
クライアント装置11〜1nは、通知された移行期限T_C_2までに検証アルゴリズムをA1からA2に変更する(ステップS81)。これにより、クライアント装置11〜1nでは、移行後の検証アルゴリズムA2のみによる検証が行われることになる(ステップS82)。
図8に、本実施例によるサーバ装置2及びクライアント装置11〜1nにおける新旧暗号アルゴリズムA1、A2の遷移を記す。
図8に示すように、サーバ装置2は、追加期限T_C_1までの期間は移行前の暗号アルゴリズム(旧アルゴリズム)A1を使用し、追加期限T_C_1から移行期限T_C_2までの期間は移行前後の暗号アルゴリズム(新旧アルゴリズム)A1、A2を使用し、移行期限T_C_2以降の期間はA2を使用する。
また、クライアント装置11〜1nは、追加期限T_C_1までの期間は移行前の暗号アルゴリズム(旧アルゴリズム)A1を使用し、追加期限T_C_1から移行期限T_C_2までの期間に移行前の暗号アルゴリズムA1から移行後の暗号アルゴリズム(新アルゴリズム)A2に変更し、この間、変更が完了していないクライアント装置11〜1nはA1を使用し、変更が完了したクライアント装置11〜1nはA2を使用し、T_C_2以降の期間は全てのクライアント装置11〜1nがA2を使用する。
次に、本発明の第2の実施の形態に対応する第2の実施例について説明する。
図9は、暗号アルゴリズムとして共通鍵暗号方式を用いて暗号化及び復号を行う暗号アルゴリズム切換システムにおいて、暗号アルゴリズムをA1(旧アルゴリズム)からA2(新アルゴリズム)に移行する例を示す。なお、本例のクライアント装置11〜1nは、第2の実施の形態の構成(ポリシ送受信部、データ暗号化部)に加え、サーバ装置2と同様に、暗号アルゴリズムに基づく復号アルゴリズムを用いて暗号化データを復号するデータ復号部(非図示)を含む。
図9において、ポリシ管理サーバ装置3は、サーバ装置2及びクライアント装置11〜1nに追加する暗号アルゴリズムに基づく復号アルゴリズムA2を通知し(ステップS101)、サーバ装置2に復号アルゴリズムA2の追加期限T_C_1を通知する(ステップS102)。
サーバ装置2は、追加する暗号アルゴリズムに基づく復号アルゴリズムA2の通知を受信した後に、T_C_1までに復号アルゴリズムにA2を追加し(ステップS103)、復号アルゴリズムA2に対応する共通鍵の取得を行う(ステップS104)。なお、本実施例では、共通鍵の生成方法及び取得方法は問わない。サーバ装置2は、共通鍵の取得が完了した後に、ポリシ管理サーバ装置3に追加完了通知を送信する。これにより、サーバ装置2では、移行前後の復号アルゴリズムA1、A2による復号が行われることになる(ステップS106)。
ポリシ管理サーバ装置3は、サーバ装置2から復号アルゴリズムA2の追加完了通知を受信すると(ステップS107)、その後に、サーバ装置2及びクライアント装置11〜1nに対して移行する暗号化アルゴリズムA2を通知する(ステップS108)。また、ポリシ管理サーバ装置3は、クライアント装置11〜1nに対して暗号化アルゴリズムA2の移行期限T_C_2を通知する(ステップS109)。
クライアント装置11〜1nは、移行する暗号化アルゴリズムの通知を受信した後に、T_C_2までに暗号化アルゴリズムをA1からA2に変更し(ステップS110)、暗号化アルゴリズムA2に対応する共通鍵の取得を行う(ステップS111)。クライアント装置11〜1nは、共通鍵の取得が完了した後に、ポリシ管理サーバ装置3に暗号化アルゴリズムA2の変更完了通知を送信する(ステップS112)。これにより、クライアント装置11〜1nでは、移行後の暗号化アルゴリズムA2による暗号化が行われることになる(ステップS113)。
ポリシ管理サーバ装置3は、クライアント装置11〜1nから暗号化アルゴリズムA2の変更完了通知の受信と記録を行い(ステップS114)、その都度、全てのクライアント装置11〜1nにおいて暗号化アルゴリズムA2の変更が完了したことを確認する(ステップS115)。
そして、ポリシ管理サーバ装置3は、全てのクライアント装置11〜1nにおいて暗号化アルゴリズムA2の変更が完了したことを確認した後に、サーバ装置2へ暗号化アルゴリズムA2の移行期限T_C_2を通知し(ステップS116)、クライアント装置11〜1nに復号アルゴリズムの移行期限T_C_2を通知する(ステップS117)。なお、ポリシ管理サーバ装置3は、全てのクライアント装置11〜1nにおける暗号化アルゴリズムの変更完了を確認した日時がT_C_2を超過していた場合は、移行期限として、超過時刻以降の任意の時刻を通知する。
サーバ装置2は、通知された移行期限までに暗号化アルゴリズムをA1からA2に変更する(ステップS118)。これにより、サーバ装置2では、移行後の暗号化アルゴリズムA2による暗号化が行われることになる(ステップS119)。また、サーバ装置2は、移行前の復号アルゴリズムA1を停止する(ステップS120)。これにより、サーバ装置2では、移行後の復号アルゴリズムA2のみによる復号が行われることになる。
クライアント装置11〜1nは、通知された移行期限までに復号アルゴリズムをA1からA2に変更する(ステップS121)。これにより、クライアント装置11〜1nでは、アルゴリズムA2のみによる復号が行われることになる(ステップS123)。
図10に、本実施例によるサーバ装置2及びクライアント装置11〜1nにおける新旧暗号アルゴリズムA1、A2の遷移を記す。
図10に示すように、サーバ装置2は、追加期限T_C_1までの期間は移行前の暗号アルゴリズム(旧アルゴリズム)A1を使用し、追加期限T_C_1から移行期限T_C_2までの期間は移行前後の暗号アルゴリズム(新旧アルゴリズム)A1、A2を使用し、移行期限T_C_2以降の期間はA2を使用する。
また、クライアント装置11〜1nは、追加期限T_C_1までの期間は移行前の暗号アルゴリズム(旧アルゴリズム)A1を使用し、追加期限T_C_1から移行期限T_C_2までの期間に移行前の暗号アルゴリズムA1から移行後の暗号アルゴリズム(新アルゴリズム)A2に変更し、この間、変更が完了していないクライアント装置11〜1nはA1を使用し、変更が完了したクライアント装置11〜1nはA2を使用し、T_C_2以降の期間は全てのクライアント装置11〜1nがA2を使用する。
なお、上記の暗号アルゴリズム切換システムを構成するポリシ管理サーバ装置、サーバ装置、クライアント装置は、ハードウェア、ソフトウェア、又はこれらの組合せにより実現することができる。この場合のハードウェア、ソフトウェア構成は特に限定されるものではなく、上述した機能を実現可能なものであれば、いずれの形態でも適用可能である。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限定されない。
(付記1)クライアント装置及びサーバ装置に対しポリシを送受信するポリシ送受信部と、前記クライアント装置及び前記サーバ装置が使用している移行前の旧暗号アルゴリズムに対し移行後の新暗号アルゴリズムを決定し、前記サーバ装置の移行後の新暗号アルゴリズムに基づく検証又は復号アルゴリズムの追加完了を確認した後に前記移行後の新暗号アルゴリズムと移行時期とを前記ポリシとして発行するポリシ管理部とを備えたことを特徴とするポリシ管理サーバ装置。
(付記2)前記ポリシ管理部は、前記移行後の新暗号アルゴリズムに移行する日時を前記ポリシとして発行することで、前記移行後の新暗号アルゴリズムの移行日時を制御することを特徴とする付記1に記載のポリシ管理サーバ装置。
(付記3)前記ポリシ管理部は、前記クライアント装置の前記移行後の新暗号アルゴリズムの変更完了を確認した後に、前記サーバ装置に対し前記ポリシを発行することを特徴とする付記1又は2に記載のポリシ管理サーバ装置。
(付記4)ポリシ管理サーバ装置との間でポリシを送受信するポリシ送受信部と、前記ポリシを入力として暗号アルゴリズムに基づく検証又は復号アルゴリズムを切り替え、当該検証又は復号アルゴリズムを用いて署名データを検証又は暗号化データを復号するデータ復号部と、前記ポリシを入力として暗号アルゴリズムに基づく署名又は暗号化アルゴリズムを切り替え、当該署名又は暗号化アルゴリズムを用いて署名データを生成又はデータを暗号化するデータ暗号化部とを有し、前記データ復号部及び前記データ暗号化部は、前記ポリシを入力として、移行前の旧暗号アルゴリズム及び移行後の新暗号アルゴリズムを両方とも有効とし、前記ポリシ管理サーバ装置が決定した移行時期に移行前の旧暗号アルゴリズムから移行後の新暗号アルゴリズムに移行することを特徴とするサーバ装置。
(付記5)前記データ復号部及び前記データ暗号化部は、前記ポリシに含まれる暗号アルゴリズムに従って暗号アルゴリズムを変更することで、移行前の旧暗号アルゴリズムを使用する期間と、移行前の旧暗号アルゴリズム及び移行後の新暗号アルゴリズムを使用する期間と、移行後の新暗号アルゴリズムを使用する期間とを遷移することを特徴とする付記4に記載のサーバ装置。
(付記6)前記データ復号部及び前記データ暗号化部は、前記ポリシに含まれる暗号アルゴリズムの移行期限に従って暗号アルゴリズムを変更することで、移行前の旧暗号アルゴリズムを使用する期間と、移行前の旧暗号アルゴリズム及び移行後の新暗号アルゴリズムを使用する期間と、移行後の新暗号アルゴリズムを使用する期間とを遷移することを特徴とする付記4に記載のサーバ装置。
(付記7)ポリシ管理サーバ装置との間でポリシを送受信するポリシ送受信部と、前記ポリシを入力として暗号アルゴリズムに基づく署名又は暗号化アルゴリズムを切り替え、当該署名又は暗号化アルゴリズムを用いて署名データを生成又はデータを暗号化するデータ暗号化部とを有し、前記データ暗号化部は、前記ポリシを入力として、前記ポリシ管理サーバ装置が決定した移行時期に移行前の旧暗号アルゴリズムから移行後の新暗号アルゴリズムに移行することを特徴とするクライアント装置。
(付記8)前記データ暗号化部は、前記ポリシに含まれる移行後の新暗号アルゴリズムに従って移行前の旧暗号アルゴリズムを移行後の新暗号アルゴリズムに変更することを特徴とする付記7に記載のクライアント装置。
(付記9)前記データ暗号化部は、前記ポリシに含まれる移行後の新暗号アルゴリズムの移行期限に従って移行前の旧暗号アルゴリズムを移行後の新暗号アルゴリズムに変更することを特徴とする付記7に記載のクライアント装置。
(付記10)付記1から3のいずれか1項に記載のポリシ管理サーバ装置と、付記4から6のいずれか1項に記載のサーバ装置と、付記7から9のいずれか1項に記載のクライアント装置とを有することを特徴とする暗号アルゴリズム切換システム。
(付記11)クライアント装置及びサーバ装置が使用している移行前の旧暗号アルゴリズムに対し移行後の新暗号アルゴリズムを決定し、前記サーバ装置の移行後の新暗号アルゴリズムに基づく検証又は復号アルゴリズムの追加完了を確認した後に前記移行後の新暗号アルゴリズムと移行時期とをポリシとして発行することを特徴とするポリシ管理サーバ装置の暗号アルゴリズム切換方法。
(付記12)ポリシ管理サーバ装置により発行されたポリシを入力として暗号アルゴリズムに基づく検証又は復号アルゴリズムを切り替え、当該検証又は復号アルゴリズムを用いて署名データを検証又は暗号化データを復号し、前記ポリシを入力として暗号アルゴリズムに基づく署名又は暗号化アルゴリズムを切り替え、当該署名又は暗号化アルゴリズムを用いて署名データを生成又はデータを暗号化し、前記ポリシを入力として、移行前の旧暗号アルゴリズム及び移行後の新暗号アルゴリズムを両方とも有効とし、前記ポリシ管理サーバ装置が決定した移行時期に移行前の旧暗号アルゴリズムから移行後の新暗号アルゴリズムに移行することを特徴とするサーバ装置の暗号アルゴリズム切換方法。
(付記13)ポリシ管理サーバ装置により発行されたポリシを入力として暗号アルゴリズムに基づく署名又は暗号化アルゴリズムを切り替え、当該署名又は暗号化アルゴリズムを用いて署名データを生成又はデータを暗号化し、前記ポリシを入力として、前記ポリシ管理サーバ装置が決定した移行時期に移行前の旧暗号アルゴリズムから移行後の新暗号アルゴリズムに移行することを特徴とするクライアント装置の暗号アルゴリズム切換方法。
(付記16)コンピュータに、クライアント装置及びサーバ装置が使用している移行前の旧暗号アルゴリズムに対し移行後の新暗号アルゴリズムを決定する手順と、前記サーバ装置の移行後の新暗号アルゴリズムに基づく検証又は復号アルゴリズムの追加完了を確認した後に前記移行後の新暗号アルゴリズムと移行時期とをポリシとして発行する手順とを実行させるためのポリシ管理サーバ装置の暗号アルゴリズム切換用プログラム。
(付記17)コンピュータに、ポリシ管理サーバ装置により発行されたポリシを入力として暗号アルゴリズムに基づく検証又は復号アルゴリズムを切り替え、当該検証又は復号アルゴリズムを用いて署名データを検証又は暗号化データを復号する手順と、前記ポリシを入力として暗号アルゴリズムに基づく署名又は暗号化アルゴリズムを切り替え、当該署名又は暗号化アルゴリズムを用いて署名データを生成又はデータを暗号化する手順と、前記ポリシを入力として、移行前の旧暗号アルゴリズム及び移行後の新暗号アルゴリズムを両方とも有効とし、前記ポリシ管理サーバ装置が決定した移行時期に移行前の旧暗号アルゴリズムから移行後の新暗号アルゴリズムに移行する手順とを実行させるためのサーバ装置の暗号アルゴリズム切換用プログラム。
(付記18)コンピュータに、ポリシ管理サーバ装置により発行されたポリシを入力として暗号アルゴリズムに基づく署名又は暗号化アルゴリズムを切り替え、当該署名又は暗号化アルゴリズムを用いて署名データを生成又はデータを暗号化する手順と、前記ポリシを入力として、前記ポリシ管理サーバ装置が決定した移行時期に移行前の旧暗号アルゴリズムから移行後の新暗号アルゴリズムに移行する手順とを実行させるためのクライアント装置の暗号アルゴリズム切換用プログラム。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。