(57)【要約】【課題】配布サーバの負荷を分散させつつ、機密情報の漏えいや電子データの改ざんを防ぐ。【解決手段】利用者端末１５０の配信要求部１７２は、所定の起動時刻と、ランダムに生成される待機時間とを加算することによって配信要求時刻を求め、配信要求時刻に、配信要求を送信する。配信要求を受信すると、配布サーバ１００の暗号化部１２３は、配布データ１３２からハッシュ値を算出し、鍵管理データベース１３１に格納されている共通鍵を用いて配布データ１３２を暗号化して暗号化データを作成する。配布サーバ１００の配信部１２４は、ハッシュ値と暗号化データを送信する。暗号化データとハッシュ値を受信すると、利用者端末１５０の復号化部１７４は、予め配布されている共通鍵を用いて暗号化データを復号して配布データを復元し、配布データからハッシュ値を算出し、算出したハッシュ値と受信したハッシュ値に基づいて配布データの改ざんの有無を検証する。【選択図】図１
2012213118.tif 000002
【特許請求の範囲】
【請求項１】
複数の利用者端末と、配布サーバとで構成される電子データ配布システムであって、
前記各利用者端末が、
所定の起動時刻と、ランダムに生成される待機時間とを加算することによって配信要求時刻を求め、当該配信要求時刻に、配信要求を前記配布サーバに送信する配信要求手段と、
前記配布サーバから暗号化データと第１のハッシュ値を受信する第１の受信手段と、
予め配布されている共通鍵を用いて、前記第１の受信手段によって受信された暗号化データを復号して電子データを復元し、当該電子データから第２のハッシュ値を算出し、当該第２のハッシュ値と前記第１の受信手段によって受信された第１のハッシュ値とに基づいて前記電子データの改ざんの有無を検証する復号化手段と、
を備え、
前記配布サーバが、
前記各利用者端末に配布された共通鍵を記憶する共通鍵記憶手段と、
前記各利用者端末によって送信される配信要求を受信する第２の受信手段と、
前記第２の受信手段によって配信要求が受信されたことに応答して、前記配信要求を送信した利用者端末に配布する電子データから前記第１のハッシュ値を算出し、前記共通鍵記憶手段によって記憶されている共通鍵を用いて、当該電子データを暗号化して前記暗号化データを作成する暗号化手段と、
前記配信要求を送信した利用者端末に、前記第１のハッシュ値と前記暗号化データとを送信する配信手段と、
を備える、
ことを特徴とする電子データ配布システム。
【請求項２】
前記各利用者端末の配信要求手段が、
所定の規則に基づいて自分の属する実行グループを決定する実行グループ決定手段と、
前記実行グループ決定手段によって決定された実行グループに基づいて待機時間の初期値を取得する初期値取得手段と、
予め定められた一定範囲内の乱数をランダムに生成する乱数生成手段と、
前記初期値取得手段によって取得された待機時間の初期値と、前記乱数生成手段によって生成された乱数とを加算して前記待機時間を求める待機時間算出手段と、
を備えることを特徴とする請求項１に記載の電子データ配布システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配布サーバから複数の利用者端末に電子データを配布する電子データ配布システムに関する。
【背景技術】
【０００２】
データセンタに保管されているデータやプログラム等をインターネット経由で全国各地に置かれた利用者端末に配布するシステムがある。
このようなシステムでは、大量のデータやプログラム等を同時に広い範囲に配布するため、配布サーバの負荷が増大するという問題が知られている。特に近年では、インターネットの発達により、配布サーバが、データやプログラムのみならず、音楽データや画像データ等（以下、これらを電子データと総称する。）を配布するということが広く行われるようになり、配布サーバの負荷はますます増大しつつある。
そこで、電子データの配布にかかわる配布サーバの負荷を分散させつつ電子データを配布する電子データ配布システムが知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２９４９７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば企業の日々の売上目標、顧客情報などを全国の支店に配布するシステムやＣＤＴ（Ｃｏｍｐｕｔｅｒ  Ｂａｓｅｄ  Ｔｅｓｔｉｎｇ）方式試験問題を全国の試験会場に配布するシステム等では、配布サーバの負荷を分散させつつ、全国各地の利用者端末に所要の電子データを安全に配布する必要がある。
しかし、特許文献１に開示の電子データ配布システムは、電子データを安全に配布することができない。
【０００５】
本発明の目的は、配布サーバの負荷を分散させつつ、電子データに関する機密情報の漏えいや電子データの改ざんを防ぐことができる電子データ配布システムを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の電子データ配布システムは、
複数の利用者端末と、配布サーバとで構成される電子データ配布システムであって、
前記各利用者端末が、
所定の起動時刻と、ランダムに生成される待機時間とを加算することによって配信要求時刻を求め、当該配信要求時刻に、配信要求を前記配布サーバに送信する配信要求手段と、
前記配布サーバから暗号化データと第１のハッシュ値を受信する第１の受信手段と、
予め配布されている共通鍵を用いて、前記第１の受信手段によって受信された暗号化データを復号して電子データを復元し、当該電子データから第２のハッシュ値を算出し、当該第２のハッシュ値と前記第１の受信手段によって受信された第１のハッシュ値とに基づいて前記電子データの改ざんの有無を検証する復号化手段と、
を備え、
前記配布サーバが、
前記各利用者端末に配布された共通鍵を記憶する共通鍵記憶手段と、
前記各利用者端末によって送信される配信要求を受信する第２の受信手段と、
前記第２の受信手段によって配信要求が受信されたことに応答して、前記配信要求を送信した利用者端末に配布する電子データから前記第１のハッシュ値を算出し、前記共通鍵記憶手段によって記憶されている共通鍵を用いて、当該電子データを暗号化して前記暗号化データを作成する暗号化手段と、
前記配信要求を送信した利用者端末に、前記第１のハッシュ値と前記暗号化データとを送信する配信手段と、
を備える。
【０００７】
好ましくは、本発明の電子データ配布システムは、
前記各利用者端末の配信要求手段が、
所定の規則に基づいて自分の属する実行グループを決定する実行グループ決定手段と、
前記実行グループ決定手段によって決定された実行グループに基づいて待機時間の初期値を取得する初期値取得手段と、
予め定められた一定範囲内の乱数をランダムに生成する乱数生成手段と、
前記初期値取得手段によって取得された待機時間の初期値と、前記乱数生成手段によって生成された乱数とを加算して前記待機時間を求める待機時間算出手段と、
を備える。
【発明の効果】
【０００８】
本発明によれば、配布サーバの負荷を分散させつつ、電子データに関する機密情報の漏えいや電子データの改ざんを防ぐことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る電子データ配布システムの構成の一例を示す図である。
【図２】配布データの配信の仕組みの一例を示す図である。
【図３】配布サーバの暗号化部における暗号化処理のフローチャートの一例を示す図である。
【図４】利用者端末の配信要求部における配信要求処理のフローチャートの一例を示す図である。
【図５】配信要求処理における待機時間を算出する方法の一例を説明するための図である。
【図６】待機時間を算出する待機時間算出処理のフローチャートの一例を示す図である。
【図７】利用者端末の復号化部における復号化処理のフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態に係る電子データ配布システムについて図面を参照しながら説明する。
【００１１】
図１は、本発明の実施形態に係る電子データ配布システム１の構成の一例を示す。
電子データ配布システム１は、配布サーバ１００と、複数の利用者端末１５０とで構成される。配布サーバ１００と複数の利用者端末１５０とは、ネットワーク１９０に接続されており、相互に通信可能である。
【００１２】
配布サーバ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０と、メモリ１２０と、記憶装置１３０とで構成される。
メモリ１２０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を含む。メモリ１２０は、サーバプログラム１２１を記憶している。ＣＰＵ１１０がサーバプログラム１２１を実行することによって、受信部１２２と、暗号化部１２３と、配信部１２４との各機能が実現される。
記憶装置１３０は、ハードディスク装置や光ディスク装置を含む。記憶装置１３０は、鍵管理データベース１３１と、配布データ１３２とを記憶している。
配布データ１３２は、各利用者端末１５０に配布される電子データである。配布データ１３２は、全ての利用者端末１５０に同一のものが配布される場合もあるし、利用者端末１５０ごとに異なるものが配布される場合もある。
鍵管理データベース１３１には、利用者端末１５０ごとの共通鍵が格納されている。共通鍵を用いて、配布サーバ１００において配布データ１３２が暗号化され、利用者端末１５０において暗号化された配布データ１３２が復号化される。
【００１３】
利用者端末１５０は、ＣＰＵ１６０と、メモリ１７０とで構成される。
メモリ１７０は、端末プログラム１７１を記憶している。ＣＰＵ１６０が端末プログラム１７１を実行することによって、配信要求部１７２と、受信部１７３と、復号化部１７４との各機能が実現される。
【００１４】
図２に示すように、利用者端末１５０ごとの共通鍵２０１は、予め鍵管理データベース１３１から読み出され、各利用者端末１５０に安全な方法で配布される。安全な配布方法として、例えば、書留郵便による郵送等がある。
利用者端末１５０の配信要求部１７２は、所定のタイミングでデータの配信を要求するためのデータ配信要求を配布サーバ１００に送信する。なお、所定のタイミングの設定方法については後述する。
【００１５】
配布サーバ１００の受信部１２２が利用者端末１５０からデータ配信要求を受信すると、配布サーバ１００の暗号化部１２３は、まず配布データ１３２に特有なハッシュ値２０３を算出する。次に、暗号化部１２３は、データ配信を要求した利用者端末１５０に対応する共通鍵２０１を用いて配布データ１３２を暗号化して、暗号化データ２０２を作成する。そして、配布サーバ１００の配信部１２４は、データ配信を要求した利用者端末１５０に、暗号化データ２０２とハッシュ値２０３を送信する。
利用者端末１５０の受信部１７３が暗号化データ２０２とハッシュ値２０３を受信すると、復号化部１７４は、まず共通鍵２０１を用いて暗号化データ２０２を復号して、配布データ１３２を復元する。復号化部１７３は、次に、配布データ１３２に特有なハッシュ値２０４を算出する。そして、復号化部１７３は、自分の算出したハッシュ値２０４と、受信したハッシュ値２０３を比較して、配布データの改ざんの有無を検証する。
【００１６】
図３は、配布サーバ１００の暗号化部１２３における暗号化処理のフローチャートの一例を示す。暗号化部１２３は、複数の利用者端末１５０に配布する配布データ１３２を順次暗号化する。
暗号化部１２３は、まず各利用者端末１５０に配布する配布データ１３２からハッシュ値２０３を算出する（Ｓ１０１）。暗号化部１２３は、次に鍵管理データベース１３１から利用者端末１５０ごとの共通鍵２０１を取得し（Ｓ１０２）、取得した共通鍵２０１を用いて配布データ１３２を暗号化する（Ｓ１０３）。暗号化部１２３は、最後に配布サーバ１００の記憶装置１３０に各利用者端末１５０に対応するフォルダを作成して、そのフォルダに暗号化された配布データ１３２（以下、暗号化データ２０２という。）とハッシュ値２０３を格納する（Ｓ１０４）。全ての利用者端末１５０へ配信される暗号化データ２０２の作成がまだ終了していない場合（Ｓ１０５：Ｎｏ）、暗号化部１２３は、ステップＳ１０１に戻って次の利用者端末１５０への配布データ１３２を暗号化する。全ての利用者端末１５０へ配信される暗号化データ２０２の作成が終了している場合（Ｓ１０５：Ｙｅｓ）、暗号化部は、暗号化処理を終了する。
【００１７】
図４は、利用者端末１５０の配信要求部１７２における配信要求処理のフローチャートの一例を示す。
配信要求部１７２は、タスクスケジューラにより予め定められた起動時刻に起動される（Ｓ２０１）。配信要求部１７２は、起動されると、配布サーバの負荷を分散させることができるように利用者端末１５０ごとにランダムな待機時間を生成する（Ｓ２０２）。なお、ランダムな待機時間を生成する処理の一例について後で図５と図６を参照して説明する。
配信要求部１７２は、起動時刻後、待機時間が経過するまで送信要求しない。配信要求部１７２は、起動時刻と待機時間とを加算して配信要求時刻を求め、配信要求時刻に、端末ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）とパスワードを含む配信要求を配布サーバ１００に送信する（Ｓ２０３）。
【００１８】
配布サーバ１００の受信部１２２は、配信要求を受信すると、端末ＩＤとパスワードを照合し、正当な権限を有する利用者端末１５０による配信要求であるか否かを判別する。受信部１２２によって利用者端末１５０が正当な権限を有すると判別されたたことに応答して、配布サーバ１００の配信部１２４は、端末ＩＤをキーとして記憶装置１３０のフォルダを検索して、配信要求を送信した利用者端末１５０へ配布するための暗号化データ２０２とハッシュ値２０３を取得し、これらを利用者端末１５０に送信する。利用者端末１５０の受信部１７３は暗号化データ２０２とハッシュ値２０３を受信する。
【００１９】
図５は、配信要求処理において待機時間を算出する待機時間算出方法の一例を示す。
例えば、利用者端末１５０が全国各地に配置されており、全ての利用者端末１５０に配布データ１３２を午前０時から午前４時の時間帯で配布しなければならないとする。
この場合、図５（Ａ）の地域別管轄ブロック表５０１に示すとおり、例えば全国を８つの管轄ブロックに分割する。配信サーバ１００の配信部１２４は各管轄ブロックに属する利用者端末１５０に順番に暗号化データ２０２を配信する。この例では、個々の管轄ブロックに割り当てられる配信時間は３０分（１８００秒）である。
具体的には、図５（Ｂ）の管轄ブロック別待機時間表５０２に示すように、各管轄ブロックにおける待機時間の初期値が予め定義される。各利用者端末１５０の配信要求部１７２は、まず、記憶装置１３０の所定の領域に保持している管轄ブロック別待機時間表５０２と管轄ブロックコードから、待機時間の初期値を取得する。次に、配信要求部１７２は、各管轄ブロックの実行時間帯（１８００秒）より小さい範囲の乱数（たとえば、０〜１７９９の整数）をランダムに生成する。そして、配信要求部１７２は、待機時間の初期値と乱数を加算して待機時間を算出する。
【００２０】
図６は、待機時間を算出する待機時間算出処理のフローチャートの一例を示す。
各利用者端末１５０の配信要求部１７２は、所定の規則に基づいて自分の属する実行グループを決定する（Ｓ３０１）。例えば、図５の待機時間算出方法の例では、同一の管轄ブロックコードを有する各利用者端末１５０は同一の実行グループに属する。このため、管轄ブロックコードにより実行グループを決定することができる。
次に、配信要求部１７２は、実行グループに基づいて待機時間の初期値を取得する（Ｓ３０２）。例えば、図５の待機時間算出方法の例では、管轄ブロックコードに対応する待機時間の初期値を管轄ブロック別待機時間表５０２から取得する。
次に、配信要求部１７２は、予め定められた一定範囲内の乱数をランダムに生成する（Ｓ３０３）。例えば、図５の待機時間算出方法の例では、各管轄ブロックの実行時間帯より小さい範囲の乱数を生成する。
そして、配信要求部１７２は、待機時間の初期値と乱数を加算して待機時間を求める（Ｓ３０４）。
【００２１】
図７は、利用者端末１５０の復号化部１７４における復号化処理のフローチャートの一例を示す。
各利用者端末１５０の受信部１７３が配布サーバ１００から暗号化データ２０２とハッシュ値２０３を受信すると、各利用者端末１５０の復号化部１７４は、予め配布されている共通鍵２０１を用いて暗号化データ２０１を復号化し、配布データ１３２を復元する（Ｓ４０１）。次に、復号化部１７４は、復号された配布データ１３２からハッシュ値２０４を算出し（Ｓ４０２）、受信したハッシュ値２０１と比較する（Ｓ４０３）。復号化部１７４は、両方のハッシュ値が一致する場合（Ｓ４０４：Ｙｅｓ）、配布データ１３２が改ざんされていないと判定し、復号化処理を正常終了する。復号化部１７４は、両方のハッシュ値が一致しない場合（Ｓ４０４：Ｎｏ）には、配布データ１３２が改ざんされたと判定し、所定のエラー処理を行う（Ｓ４０５）。
【００２２】
なお、上述した実施形態では、利用者端末１５０は全国各地に配置されているとしたが、利用者端末１５０は、例えば、世界各地に配置されていてもよいし、関東一円に配置されていてもよい。
また、図５の例では、８つの管轄ブロックの実行時間帯を同一の時間長としたが、これらの実行時間帯は異なる時間長であってもよい。
【００２３】
以上説明したように、本発明によれば、配布サーバの負荷を分散させつつ、電子データに関する機密情報の漏えいや電子データの改ざんを防ぐことができる。
また、本発明によれば、多数の使用者端末に電子データを配布する大規模な電子データ配布システムにおいて、利用者端末を複数の実行グループに分け、各実行グループに属する利用者端末ごとに異なる実行時間帯に電子データを配布するため、配布サーバの負荷を確実に分散することができる。
また、本発明によれば、実行グループごとに決められた実行時間帯に電子データが配布される。このため、特定の時間を超えないように全ての実行時間帯の時間の総和を設定することにより、多数の利用者端末に、毎日の特定時間までに電子データを配布することができる。
【符号の説明】
【００２４】
１…電子データ配布システム、１００…配布サーバ、１１０…配布サーバのＣＰＵ、１２０…配布サーバのメモリ、１２１…サーバプログラム、１２２…配布サーバの受信部、１２３…暗号化部、１２４…配信部、１３０…記憶装置、１３１…鍵管理データベース、１３２…配布データ、１５０…利用者端末、１６０…利用者端末のＣＰＵ、１７０…利用者端末のメモリ、１７１…端末プログラム、１７２…配信要求部、１７３…利用者端末の受信部、１７４…復号化部、１９０…ネットワーク、２０１…共通鍵、２０２…暗号化データ、２０３…配布サーバで計算されるハッシュ値、２０４…利用者端末で計算されるハッシュ値
【図１】
2012213118.tif 000003
【図２】
2012213118.tif 000004
【図３】
2012213118.tif 000005
【図４】
2012213118.tif 000006
【図５】
2012213118.tif 000007
【図６】
2012213118.tif 000008
【図７】
2012213118.tif 000009