TOP > 国内特許検索 > データ伝送システム、データ伝送方法、データ生成装置、データ取得装置、及びプログラム > 明細書

明細書 :データ伝送システム、データ伝送方法、データ生成装置、データ取得装置、及びプログラム

発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2016-009887 (P2016-009887A)
公開日 平成28年1月18日(2016.1.18)
発明の名称または考案の名称 データ伝送システム、データ伝送方法、データ生成装置、データ取得装置、及びプログラム
国際特許分類 H04L   9/32        (2006.01)
G06F  21/64        (2013.01)
G06F  21/62        (2013.01)
FI H04L 9/00 675A
G06F 21/24 167A
G06F 21/24 166E
請求項の数または発明の数 12
出願形態 OL
全頁数 25
出願番号 特願2014-127670 (P2014-127670)
出願日 平成26年6月20日(2014.6.20)
発明者または考案者 【氏名】鈴木 秀一
出願人 【識別番号】800000068
【氏名又は名称】学校法人東京電機大学
個別代理人の代理人 【識別番号】100110928、【弁理士】、【氏名又は名称】速水 進治
審査請求 未請求
テーマコード 5J104
Fターム 5J104AA08
5J104AA16
5J104EA04
5J104EA08
5J104EA18
5J104JA03
5J104LA02
5J104NA02
5J104NA37
5J104NA38
5J104PA14
要約 【課題】電子署名の実行速度を高速化する。
【解決手段】データ生成装置3000-1は、データ生成装置3000-1の固有暗号鍵である固有暗号鍵40-1を用いて平文50-1を暗号化することで、暗号文30-1を生成する。そして、データ生成装置3000-1は、固有暗号鍵40-1に対応する鍵生成情報20-1と、暗号文30-1とを組み合わせて、伝送データ10-1を生成する。データ取得装置4000は、伝送データ10-1に含まれる鍵生成情報20-1及びマスタ暗号鍵100を用いて、固有暗号鍵40-1を生成する。そして、データ取得装置4000は、固有暗号鍵40-1を用いて伝送データ10-1に含まれる暗号文30-1を復号する。データ取得装置4000は、暗号文30-1が正しく復号できた場合、伝送データ10-1が正当であると判定する。以上のように、秘密鍵暗号を用いて電子署名を行うことで、高速な電子署名を実現している。
【選択図】図4
特許請求の範囲 【請求項1】
データ生成装置及びデータ取得装置を有するデータ伝送システムであって、
前記データ生成装置は、
当該データ生成装置に固有の鍵生成情報である固有鍵生成情報を格納する固有鍵生成情報格納部と、
前記固有鍵生成情報に対して一意に対応する暗号鍵である固有暗号鍵を、当該データ生成装置の外部から読み取り不可能な状態で格納している固有暗号鍵格納部と、
前記固有暗号鍵を用いて平文を暗号化することで暗号文を生成し、その暗号文と前記固有鍵生成情報とを対応付けた伝送データを生成する伝送データ生成部と、を有し、
前記データ取得装置は、
前記固有鍵生成情報からその固有鍵生成情報に対して一意に対応する前記固有暗号鍵を生成するための暗号鍵であるマスタ暗号鍵を、当該データ取得装置の外部から読み取り不可能な状態で格納するマスタ暗号鍵格納部と、
前記伝送データを取得する伝送データ取得部と、
前記伝送データにおいて前記暗号文と対応付けられている固有鍵生成情報と前記マスタ暗号鍵を用いて、その固有鍵生成情報に対して一意に対応する前記固有暗号鍵を生成する固有暗号鍵生成部と、
生成した前記固有暗号鍵を用いて、前記伝送データに含まれる暗号文を復号する復号部と、
前記復号部の処理結果を用いて前記伝送データの正当性を判定する正当性判定部と、を有し、
前記固有暗号鍵生成部によって生成された固有暗号鍵は、当該データ取得装置の外部から読み取り不可能であり、
前記マスタ暗号鍵は別の暗号鍵から算出できないことを特徴とするデータ伝送システム。
【請求項2】
前記伝送データ生成部は、前記固有鍵生成情報格納部に格納されている固有鍵生成情報を前記平文に追加して第2平文を生成し、前記第2平文を暗号化して前記暗号文を生成し、
前記正当性判定部は、前記復号部によって前記暗号文から算出された前記第2平文に、伝送データにおいて前記暗号文と対応付けられている固有鍵生成情報が含まれている場合に、前記伝送データが正当であると判定する請求項1に記載のデータ伝送システム。
【請求項3】
前記伝送データ生成部は、前記伝送データに対象マークを付与し、
前記データ取得装置は、前記伝送データ取得部によって取得された伝送データに前記対象マークが付与されているか否かを判定するディスパッチ部を有し、
前記正当性判定部は、前記対象マークが付与されていると判定された伝送データについて正当性を判定する請求項1又は2に記載のデータ伝送システム。
【請求項4】
前記平文は1つのパケットである請求項1乃至3いずれか一項に記載のデータ伝送システム。
【請求項5】
データ生成装置及びデータ取得装置を有するデータ伝送システムによって実行されるデータ伝送方法であって、
前記データ生成装置は、
当該データ生成装置に固有の鍵生成情報である固有鍵生成情報を格納する固有鍵生成情報格納部と、
前記固有鍵生成情報に対して一意に対応する暗号鍵である固有暗号鍵を、当該データ生成装置の外部から読み取り不可能な状態で格納している固有暗号鍵格納部と、を有し、
前記データ取得装置は、前記固有鍵生成情報からその固有鍵生成情報に対して一意に対応する前記固有暗号鍵を生成するための暗号鍵であるマスタ暗号鍵を、当該データ取得装置の外部から読み取り不可能な状態で格納するマスタ暗号鍵格納部を有し、
前記データ生成装置が、前記固有暗号鍵を用いて平文を暗号化することで暗号文を生成し、その暗号文と前記固有鍵生成情報とを対応付けた伝送データを生成する伝送データ生成ステップと、
前記データ取得装置が、前記伝送データを取得する伝送データ取得ステップと、
前記データ取得装置が、前記伝送データにおいて前記暗号文と対応付けられている固有鍵生成情報と前記マスタ暗号鍵を用いて、その固有鍵生成情報に対して一意に対応する前記固有暗号鍵を生成する固有暗号鍵生成ステップと、
前記データ取得装置が、生成した前記固有暗号鍵を用いて、前記伝送データに含まれる暗号文を復号する復号ステップと、
前記データ取得装置が、前記復号ステップの処理結果を用いて前記伝送データの正当性を判定する正当性判定ステップと、を有し、
前記固有暗号鍵生成部によって生成された固有暗号鍵は、当該データ取得装置の外部から読み取り不可能であり、
前記マスタ暗号鍵は別の暗号鍵から算出できないことを特徴とするデータ伝送方法。
【請求項6】
前記伝送データ生成ステップは、前記固有鍵生成情報格納部に格納されている固有鍵生成情報を前記平文に追加し、追加後の平文を暗号化して前記暗号文を生成し、
前記正当性判定ステップは、前記復号ステップによって前記暗号文から算出された平文に、伝送データにおいて前記暗号文と対応付けられている固有鍵生成情報が含まれている場合に、前記伝送データが正当であると判定する請求項5に記載のデータ伝送方法。
【請求項7】
前記伝送データ生成ステップは、前記伝送データに対象マークを付与し、
当該データ伝送方法は、前記データ取得装置が、前記伝送データ取得ステップで取得された伝送データに前記対象マークが付与されているか否かを判定するディスパッチステップを有し、
前記正当性判定ステップは、前記対象マークが付与されていると判定された伝送データについて正当性を判定する請求項5又は6に記載のデータ伝送方法。
【請求項8】
前記平文は1つのパケットである請求項5乃至7いずれか一項に記載のデータ伝送方法。
【請求項9】
請求項1乃至4いずれか一項に記載のデータ伝送システムにおけるデータ生成装置。
【請求項10】
コンピュータを、請求項1乃至4いずれか一項に記載のデータ伝送システムにおけるデータ生成装置として動作させるプログラム。
【請求項11】
請求項1乃至4いずれか一項に記載のデータ伝送システムにおけるデータ取得装置。
【請求項12】
コンピュータを、請求項1乃至4いずれか一項に記載のデータ伝送システムにおけるデータ取得装置として動作させるプログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、暗号技術に関する。
【背景技術】
【0002】
ネットワークなどを通じて配布されるデータ(以下、配布データ)の提供元を保証する方法として、電子署名を利用する方法がある。配布データの生成者は、生成した配布データに電子署名を付す。例えば電子署名は、生成した配布データのハッシュ値を暗号化することで生成される。電子署名付きの配布データを取得したユーザは、電子署名を復号して得られる値と、取得した配布データから算出したハッシュ値とが一致することを確認する。もしこれらが一致していれば、配布データと電子署名との組み合わせが正しいことが分かる。その結果、配布データの提供元が正しいことが分かる。
【0003】
例えば電子署名に関する先行技術として、特許文献1に開示されている技術がある。特許文献1は、UIM (User Identity Module)等の IC チップ内に格納された公開鍵暗号プログラムを用いて、ウイルス研究対象プログラムに電子署名を付す技術を開示している。
【先行技術文献】
【0004】

【特許文献1】特開2003-216448号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示されている技術に代表されるように、電子署名の暗号化と復号は公開鍵暗号方式で行われている。公開鍵暗号方式を用いた電子署名の場合、配布データの生成者は、自身の秘密鍵を用いて電子署名を生成する。そして、その電子署名が付された配布データを取得したユーザは、その電子署名を配布データの生成者の公開鍵を用いて復号する。
【0006】
一般に、公開鍵暗号方式における暗号化及び復号は、共通鍵暗号方式における暗号化及び復号と比較して低速である。そのため、例えば配布データの処理に利用できる時間が限られているような環境では、公開鍵暗号方式を利用した電子署名を利用することが難しい。
【0007】
本発明は、以上の課題を鑑みてなされたものである。本発明の目的は、電子署名の実行速度を高速化する技術を提供することである。
【課題を解決するための手段】
【0008】
本発明が提供するデータ伝送システムは、データ生成装置及びデータ取得装置を有する。
前記データ生成装置は、
当該データ生成装置に固有の鍵生成情報である固有鍵生成情報を格納する固有鍵生成情報格納部と、
前記固有鍵生成情報に対して一意に対応する暗号鍵である固有暗号鍵を、当該データ生成装置の外部から読み取り不可能な状態で格納している固有暗号鍵格納部と、
前記固有暗号鍵を用いて平文を暗号化することで暗号文を生成し、その暗号文と前記固有鍵生成情報とを対応付けた伝送データを生成する伝送データ生成部と、を有する。
前記データ取得装置は、
前記固有鍵生成情報からその固有鍵生成情報に対して一意に対応する前記固有暗号鍵を生成するための暗号鍵であるマスタ暗号鍵を、当該データ取得装置の外部から読み取り不可能な状態で格納するマスタ暗号鍵格納部と、
前記伝送データを取得する伝送データ取得部と、
前記伝送データにおいて前記暗号文と対応付けられている固有鍵生成情報と前記マスタ暗号鍵を用いて、その固有鍵生成情報に対して一意に対応する前記固有暗号鍵を生成する固有暗号鍵生成部と、
生成した前記固有暗号鍵を用いて、前記伝送データに含まれる暗号文を復号する復号部と、
前記復号部の処理結果を用いて前記伝送データの正当性を判定する正当性判定部と、を有する。
前記固有暗号鍵生成部によって生成された固有暗号鍵は、当該データ取得装置の外部から読み取り不可能である。前記マスタ暗号鍵は別の暗号鍵から算出できない。
【0009】
本発明が提供するデータ伝送方法は、データ生成装置及びデータ取得装置を有するデータ伝送システムによって実行される。
前記データ生成装置は、
当該データ生成装置に固有の鍵生成情報である固有鍵生成情報を格納する固有鍵生成情報格納部と、
前記固有鍵生成情報に対して一意に対応する暗号鍵である固有暗号鍵を、当該データ生成装置の外部から読み取り不可能な状態で格納している固有暗号鍵格納部と、を有する。
前記データ取得装置は、前記固有鍵生成情報からその固有鍵生成情報に対して一意に対応する前記固有暗号鍵を生成するための暗号鍵であるマスタ暗号鍵を、当該データ取得装置の外部から読み取り不可能な状態で格納するマスタ暗号鍵格納部を有する。
当該データ伝送方法は、
前記データ生成装置が、前記固有暗号鍵を用いて平文を暗号化することで暗号文を生成し、その暗号文と前記固有鍵生成情報とを対応付けた伝送データを生成する伝送データ生成ステップと、
前記データ取得装置が、前記伝送データを取得する伝送データ取得ステップと、
前記データ取得装置が、前記伝送データにおいて前記暗号文と対応付けられている固有鍵生成情報と前記マスタ暗号鍵を用いて、その固有鍵生成情報に対して一意に対応する前記固有暗号鍵を生成する固有暗号鍵生成ステップと、
前記データ取得装置が、生成した前記固有暗号鍵を用いて、前記伝送データに含まれる暗号文を復号する復号ステップと、
前記データ取得装置が、前記復号ステップの処理結果を用いて前記伝送データの正当性を判定する正当性判定ステップと、を有する。
前記固有暗号鍵生成部によって生成された固有暗号鍵は、当該データ取得装置の外部から読み取り不可能である。前記マスタ暗号鍵は別の暗号鍵から算出できない。
【0010】
本発明が提供するデータ生成装置は、本発明が提供するデータ伝送システムにおけるデータ生成装置である。
【0011】
本発明が提供する第1のプログラムは、コンピュータを、本発明が提供するデータ伝送システムにおけるデータ生成装置として動作させる。
【0012】
本発明が提供するデータ取得装置は、本発明が提供するデータ伝送システムにおけるデータ取得装置である。
【0013】
本発明が提供する第2のプログラムは、コンピュータを、本発明が提供するデータ伝送システムにおけるデータ取得装置として動作させる。
【発明の効果】
【0014】
本発明によれば、電子署名処理を高速化する技術が提供される。
【図面の簡単な説明】
【0015】
【図1】実施形態1に係るデータ伝送システムを例示するブロック図である。
【図2】データ生成装置によって生成される伝送データのデータ構造を例示する図である。
【図3】固有暗号鍵を用いた暗号化と復号を概念的に例示する図である。
【図4】データ伝送システムにおける処理の流れを概念的に例示する図である。
【図5】マスタ暗号鍵と鍵生成情報を用いて暗号鍵を生成する機能の概念図である。
【図6】データ取得装置が不正な伝送データを取得した場合における処理の流れを概念的に例示する図である。
【図7】実施形態1のデータ取得装置によって実行される処理の流れを例示するフローチャートである。
【図8】暗号化対象のデータである平文のデータ構造を例示する図である。
【図9】鍵生成情報を例示する第1の図である。
【図10】鍵生成情報を例示する第2の図である。
【図11】再配置暗号方式における暗号化を例示する図である。
【図12】実施形態2に係るデータ伝送システムを例示するブロック図である。
【図13】実施形態2に係るデータ取得装置によって実行される処理の流れを例示するフローチャートである。
【図14】実施例のデータ伝送システムが扱う伝送データのデータ構造を例示する図である。
【図15】実施例のデータ伝送システムによって実行される処理を概念的に例示する図である。
【図16】実施例に係るデータ生成装置の構成を例示するブロック図である。
【図17】第2伝送データ生成部が第2伝送データを生成する処理の流れを概念的に例示する図である。
【図18】実施例に係るデータ取得装置の構成を例示するブロック図である。
【図19】第2伝送データ処理部が第2伝送データを処理する流れを概念的に例示する図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、各ブロック図において、矢印の流れは、情報の流れを示している。さらに、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。

【0017】
[実施形態1]
図1は、実施形態1に係るデータ伝送システム2000を例示するブロック図である。図1において、矢印の流れは情報の流れを示している。さらに、図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。

【0018】
データ伝送システム2000は、データ生成装置3000及びデータ取得装置4000を有する。データ取得装置4000は、データ生成装置3000によって生成された伝送データを取得する。ここで伝送データには、データ取得装置4000へ伝達する暗号文と、その暗号文の提供元を示す情報とが含まれている。データ取得装置4000は、この提供元を示す情報が正当であるか否かを判定することで、伝送データの正当性を確認する。これにより、例えば暗号文の提供元を示す情報をすり替えることで暗号文の提供元を偽る攻撃(なりすまし)を防ぐことができる。

【0019】
以下、データ伝送システム2000の理解を容易にするため、図1に示す各機能構成部について説明する前に、データ伝送システム2000の動作の概要を説明する。各動作の具体的な実現方法については、図1に示す各機能構成部と共に後述する。なお、ここで行われる説明は、あくまでデータ伝送システム2000の理解を容易にするための説明であり、データ伝送システム2000の実現方法を限定するものではない。

【0020】
<伝送データの概要>
図2は、データ生成装置3000によって生成される伝送データ10のデータ構造を表す図である。伝送データ10は、鍵生成情報20及び暗号文30を有する。鍵生成情報20はデータ生成装置3000に固有の情報である。そのため、暗号文30の提供元を表す情報となる。さらに鍵生成情報20は、暗号鍵の生成に用いられる情報でもある。鍵生成情報20を用いて暗号鍵を生成する方法については後述する。

【0021】
暗号文30は、データ生成装置3000によって暗号化された暗号文である。ここで、暗号文30の暗号化は、暗号化を行ったデータ生成装置3000に固有の暗号鍵を用いて行われる。以下、データ生成装置3000に固有の暗号鍵を固有暗号鍵と表記する。ある固有暗号鍵で暗号化された暗号文は、その固有暗号鍵を用いなければ正しく復号できない。つまりデータ伝送システム2000では、公開鍵暗号方式ではなく共通鍵暗号方式で暗号化と復号を行う。

【0022】
図3は、固有暗号鍵を用いた暗号化と復号を概念的に例示する図である。図3では、固有暗号鍵40-1を用いて平文50を暗号化することで、暗号文30が生成されている。固有暗号鍵40-1を用いて暗号文30を復号すると、元の平文50が算出される。しかし、固有暗号鍵40-1以外の固有暗号鍵である固有暗号鍵40-2や固有暗号鍵40-3を用いても、平文50は算出されない。

【0023】
<伝送データの生成>
図4は、データ伝送システム2000における処理の流れを概念的に例示する図である。図4において、データ生成装置3000-1の中には、データ生成装置3000-1が伝送データ10-1を生成する流れを概念的に示している。まずデータ生成装置3000-1は、データ生成装置3000-1の固有暗号鍵である固有暗号鍵40-1を用いて平文50-1を暗号化することで、暗号文30-1を生成する。そして、データ生成装置3000-1は、固有暗号鍵40-1と対応する鍵生成情報20-1と、暗号文30-1とを組み合わせて、伝送データ10-1を生成する。鍵生成情報20-1は、データ生成装置3000-1に固有の鍵生成情報である。

【0024】
ここで、データ生成装置3000-1は、そのデータ生成装置3000-1の外部からは読み出し不可能な状態で固有暗号鍵40-1を格納している。またデータ生成装置3000は、データ生成装置3000-1の外部に固有暗号鍵40-1を出力しない。したがって、データ生成装置3000-1の外部にある装置(データ取得装置4000など)は、データ生成装置3000-1から固有暗号鍵40-1を取得することはできない。

【0025】
<伝送データの正当性の確認>
データ取得装置4000は、受信した伝送データ10-1に含まれる暗号文30-1を正しく復号できるか否かで、伝送データ10-1の正当性を確認する。ただし上述のように、データ取得装置4000は、暗号文30-1を復号するために必要な固有暗号鍵40-1をデータ生成装置3000-1から取得することはできない。

【0026】
そこでデータ取得装置4000は、固有暗号鍵と対応する鍵生成情報を用いて、その固有暗号鍵を生成する機能を有する。この機能は、データ取得装置4000の内部に格納されているマスタ暗号鍵を用いて実現される。データ生成装置3000の固有暗号鍵は、マスタ暗号鍵、及びそのデータ生成装置3000に固有の鍵生成情報に基づいて生成できる暗号鍵となっている。例えばデータ生成装置3000-1の固有暗号鍵40-1は、マスタ暗号鍵、及びデータ生成装置3000-1に固有の鍵生成情報である鍵生成情報20-1によって生成できる。なお、マスタ暗号鍵はデータ取得装置4000の外部からは読み出し不可能となっている。

【0027】
マスタ暗号鍵と鍵生成情報を用いて暗号鍵を生成する機能の概念図を図5に示す。データ取得装置4000は、マスタ暗号鍵100、及び固有暗号鍵40-1と対応する鍵生成情報20-1から、鍵生成情報20-1に対して一意に対応する固有暗号鍵40-1を生成できる。同様に、データ取得装置4000は、マスタ暗号鍵100、及び固有暗号鍵40-2と対応する鍵生成情報20-2から、鍵生成情報20-2に対して一意に対応する固有暗号鍵40-2を生成できる。ただし、データ取得装置4000が鍵生成情報及びマスタ暗号鍵100を用いて生成できる暗号鍵は、その鍵生成情報に対して一意に対応する暗号鍵のみである。よって、データ取得装置4000は、鍵生成情報20-1から固有暗号鍵40-2を生成したり、鍵生成情報20-2から固有暗号鍵40-1を生成したりすることはできない。

【0028】
伝送データ10には、暗号文30の提供元を表す情報として、鍵生成情報20が含まれている。そこで、データ取得装置4000は、伝送データ10に含まれる鍵生成情報20及びマスタ暗号鍵を用いて固有暗号鍵40を生成し、伝送データ10に含まれる暗号文30を生成した固有暗号鍵40で復号する。鍵生成情報20が正当な情報であれば、鍵生成情報20は暗号文30を生成したデータ生成装置3000の固有暗号鍵と対応する鍵生成情報である。そのためデータ取得装置4000は、鍵生成情報20から生成した固有暗号鍵40を用いて暗号文30を正しく復号できる。データ取得装置4000は、暗号文30を正しく復号できた場合に、「伝送データ10は正当なデータである」と判定する。

【0029】
図4において、データ取得装置4000の中には、データ取得装置4000が正当な伝送データを取得した場合における処理の流れを概念的に示している。伝送データ10-1は、正当なデータであるため、鍵生成情報20-1及び暗号文30-1を含んでいる。データ取得装置4000は、マスタ暗号鍵100及び伝送データ10-1に含まれる鍵生成情報20-1を用いて暗号鍵を生成する。生成される暗号鍵は、固有暗号鍵40-1である。そして、データ取得装置4000は、固有暗号鍵40-1を用いて暗号文30-1を復号する。ここで、固有暗号鍵40-1は暗号文30-1の生成に用いられた暗号鍵であるため、データ取得装置4000は暗号文30-1を正しく復号することができ、平文50-1を算出できる。よってデータ取得装置4000は、伝送データ10-1は正当であると判定する。

【0030】
一方、図6は、データ取得装置4000が不正な伝送データを取得した場合における処理の流れを概念的に示している。図6において取得される伝送データ10-Xは、データ生成装置3000-1によって生成された暗号文30-1と、データ生成装置3000-1とは異なるデータ生成装置3000-Xに固有の鍵生成情報である鍵生成情報20-Xを含んでいる。

【0031】
データ取得装置4000は、マスタ暗号鍵100及び鍵生成情報20-Xを用いて暗号鍵を生成する。生成される暗号鍵は、固有暗号鍵40-1とは異なる固有暗号鍵40-Xである。そしてデータ取得装置4000は、固有暗号鍵40-Xを用いて暗号文30-1を復号しようとする。しかし固有暗号鍵40-Xは暗号文30-1の暗号化に用いられた固有暗号鍵40-1ではないため、データ取得装置4000は暗号文30-1を正しく復号できない。よってデータ取得装置4000は、伝送データ10-Xは不正であると判定する。

【0032】
例えば伝送データ10-Xは、伝送データ10-1を取得した悪意ある第3者が伝送データ10-1に含まれる鍵生成情報20-1を鍵生成情報20-Xとすり替えることによって生成される。仮にデータ取得装置が鍵生成情報20-Xを参照することだけをもって伝送データ10の提供元を判定すると、暗号文30-1の提供元はデータ生成装置3000-Xであると判定してしまう。その結果、悪意ある第3者によるなりすまし攻撃が成功してしまう。

【0033】
これに対し本実施形態のデータ取得装置4000を用いると、鍵生成情報20がすり替えられていた場合、暗号文30を正しく復号できないことをもって、伝送データ10が不正であることが分かる。その結果、悪意ある第3者によるなりすまし攻撃を防ぐことができる。

【0034】
ここで前述したように、データ伝送システム2000では、公開鍵暗号方式ではなく、共通鍵暗号方式で暗号化及び復号が行われる。一般に、共通鍵暗号方式において暗号化及び復号に要する時間は、公開鍵暗号方式において暗号化及び復号に要する時間よりも短い。そのため、本実施形態によれば、公開鍵暗号方式を利用する場合と比較し、暗号文の暗号化及び復号を短い時間で行うことができる。その結果、伝送データ10の提供元が正しいか否かを高速に判定することができる。

【0035】
なお、データ取得装置4000は、生成した固有暗号鍵を暗号文の復号のみに利用できるように構成されており、その固有暗号鍵を用いて暗号文を生成したり、その暗号鍵を外部に出力したりすることはできない。そのため、データ取得装置4000によってデータ生成装置3000の固有暗号鍵が漏洩されることはない。また前述したように、データ生成装置3000も固有暗号鍵を漏洩することはない。よってデータ伝送システム2000において、固有暗号鍵が漏洩することはない。

【0036】
以上のようなデータ伝送システム2000の各機能を実現するために、データ伝送システム2000は、図1に示す構成を有する。以下、データ伝送システム2000が有する各機能構成部について説明する。

【0037】
<データ生成装置3000>
データ生成装置3000は、固有鍵生成情報格納部3020、固有暗号鍵格納部3040、及び伝送データ生成部3060を有する。

【0038】
<<固有鍵生成情報格納部3020>>
固有鍵生成情報格納部3020は、その固有鍵生成情報格納部3020を有するデータ生成装置3000の固有鍵生成情報を格納する。固有鍵生成情報は、データ生成装置3000の固有暗号鍵と対応する鍵生成情報である。そのため、固有鍵生成情報は、データ生成装置3000に固有の鍵生成情報である。

【0039】
<<固有暗号鍵格納部3040>>
固有暗号鍵格納部3040は固有暗号鍵を格納する。この固有暗号鍵は、固有鍵生成情報格納部3020に格納されている固有鍵生成情報に対して一意に対応する。ここで、固有暗号鍵格納部3040は、その固有暗号鍵格納部3040を有するデータ生成装置3000の外部からは読み取り不可能な状態で固有暗号鍵を格納している。

【0040】
<<伝送データ生成部3060>>
伝送データ生成部3060は、その伝送データ生成部3060を有するデータ生成装置3000の固有暗号鍵を用いて平文を暗号化することにより、暗号文を生成する。さらに伝送データ生成部3060は、生成した暗号文と固有鍵生成情報とを対応付けた伝送データを生成する。

【0041】
<データ取得装置4000>
データ取得装置4000は、マスタ暗号鍵格納部4020、伝送データ取得部4040、固有暗号鍵生成部4060、復号部4080、及び正当性判定部4100を有する。

【0042】
<<伝送データ取得部4040>>
伝送データ取得部4040は、伝送データを取得する。前述したように、伝送データには、固有鍵生成情報と暗号文とが含まれる。

【0043】
<<マスタ暗号鍵格納部4020>>
マスタ暗号鍵格納部4020は前述のマスタ暗号鍵を格納する。マスタ暗号鍵は、固有鍵生成情報からその固有鍵生成情報に対して一意に対応する固有暗号鍵を生成するための元となる暗号鍵である。ここで、マスタ暗号鍵格納部4020は、そのマスタ暗号鍵格納部4020を有するデータ取得装置4000の外部からは読み取り不可能な状態でマスタ暗号鍵を格納している。

【0044】
ここで、マスタ暗号鍵を生成する方法は公開されていない。そのため、マスタ暗号鍵を悪意ある第3者が生成することはできない。また前述したように、マスタ暗号鍵を外部から読み取ることはできない。そのため、たとえ悪意ある第3者がデータ取得装置4000を手に入れたとしても、その第3者はデータ取得装置4000からマスタ暗号鍵を読み出して利用することはできない。

【0045】
<<固有暗号鍵生成部4060>>
固有暗号鍵生成部4060は、伝送データ取得部4040によって取得された伝送データに含まれる固有鍵生成情報と、マスタ暗号鍵格納部4020に格納されているマスタ暗号鍵とを用いて、固有暗号鍵を生成する。

【0046】
<<復号部4080>>
復号部4080は、生成した固有暗号鍵を用いて、伝送データに含まれる暗号文を復号する。前述したように、暗号文は、その暗号文を生成するために利用された固有暗号鍵によってのみ正しく復号できる。

【0047】
<<正当性判定部4100>>
正当性判定部4100は、復号部4080の処理結果を用いて伝送データの正当性を判定する。

【0048】
<処理の流れ>
図7は、実施形態1のデータ取得装置4000によって実行される処理の流れを例示するフローチャートである。ステップS102において、伝送データ取得部4040は伝送データを取得する。ステップS104において、固有暗号鍵生成部4060は、伝送データにおいて暗号文と対応付けられている固有鍵生成情報とマスタ暗号鍵を用いて、固有暗号鍵を生成する。ステップS106において、復号部4080は、生成した固有暗号鍵を用いて、伝送データに含まれる暗号文を復号する。ステップS108において、正当性判定部4100は、復号部の処理結果を用いて伝送データの正当性を判定する。

【0049】
<作用・効果>
本実施形態において、データ取得装置4000が受信した伝送データに含まれる固有鍵生成情報が、伝送データに含まれる暗号文の生成に利用された固有暗号鍵に対応する鍵生成情報でない場合、復号部4080は暗号文を正しく復号できない。一方、データ取得装置4000が受信した伝送データに含まれる固有鍵生成情報が、伝送データに含まれる暗号文の生成に利用された固有暗号鍵に対応する鍵生成情報である場合、復号部4080は暗号文を正しく復号できる。そのため、本実施形態によれば、データ取得装置4000において伝送データに含まれる暗号文を復号できるか否かを判定することによって、伝送データの正当性を確認できる。

【0050】
また前述したように、データ伝送システム2000では、公開鍵暗号方式ではなく、共通鍵暗号方式で暗号化及び復号が行われる。よって、本実施形態によれば、公開鍵暗号方式を利用する場合と比較し、伝送データの提供元が正当であるか否かを高速に把握することができる。

【0051】
また一般に、共通鍵暗号方式では、暗号文を取得する取得装置において、暗号鍵の生成に用いられる共通鍵を事前に取得しておく必要があり、手間がかかる。これに対し本実施形態の場合、データ取得装置4000は、データ生成装置3000が暗号化に用いる固有暗号鍵を事前に取得しておく必要がない。さらに、データ生成装置3000から送信される伝送データに暗号鍵を含めるということはしないため、データ取得装置4000が伝送データを取得する際に暗号鍵が漏洩する危険性もない。よって、本実施形態によれば、安全かつユーザに手間がかからない方法で共通暗号鍵方式を実現することができる。

【0052】
<主な利用例>
本実施形態によれば、データ取得装置4000において、伝送データに含まれる暗号文30の提供元が正当であることを確認できる。そのため、本実施形態の伝送データは、いわゆる電子署名付きのデータとしてみることができる。したがって、本実施形態によれば、共通鍵暗号方式による電子署名を実現することができる。

【0053】
本実施形態によれば、共通鍵暗号方式で電子署名を実現できるため、高速に送受信されるデータに電子署名を付与することができるようになる。そのため、例えば、GPS (Global Positioning System) 衛星から送信される GPS 信号に電子署名を付すことが可能になる。GPS 信号は、例えば対象物体の位置の追跡などに利用される。そのため、GPS 信号を悪意ある第3者に改ざんされると、対象物体を正しく追跡できなくなるといった問題がある。そこで、GPS 衛星が GPS 信号に電子署名を付して送信するようにすることで、GPS 信号の提供元が正当であることを確認できるようにすることが好ましい。しかし、対象物体の追跡などのように短い時間間隔で GPS 信号を処理する必要がある場合、低速な公開鍵暗号方式で実現した電子署名を GPS 信号に付すと、GPS 信号を処理しきれなくなる。

【0054】
これに対し、本実施形態のデータ伝送システム2000を GPS に適用すれば、GPS 信号の正当性を高速に判定できるようになる。そのため、受信するデータを短い時間で処理することが要求されるシステムにおいても、データの提供元を確認することができるようになる。この場合、GPS 衛星においてデータ生成装置3000を利用して GPS 信号を送信し、GPS 信号を利用する各種装置においてデータ取得装置4000を利用して GPS 信号を取得する。

【0055】
同様に、本実施形態のデータ伝送システム2000を電波時計のシステムに適用すれば、電波時計が利用する標準電波の正当性を高速に判定できるようになる。この場合、標準電波の送信局においてデータ生成装置3000を利用して標準電波を送信し、標準電波を利用する各種電波時計においてデータ取得装置4000を利用して標準電波を取得する。

【0056】
以下、本実施形態のデータ伝送システム2000について、さらに詳細に説明する。

【0057】
<ハードウエア構成>
データ生成装置3000及びデータ取得装置4000は、例えば、LSI (Large Scale Integration) などの集積回路、又は集積回路とソフトウエアの組み合わせとして実装される。ただし、データ生成装置3000及びデータ取得装置4000の実装方法は、集積回路を用いた実装方法に限定されない。

【0058】
例えばデータ生成装置3000とデータ取得装置4000はそれぞれ、PC (Personal Computer)、サーバ、携帯端末等の種々の計算機が有するネットワークインタフェース上に設けられる。こうすることで、データ生成装置3000によって生成された伝送データがネットワークを経由してデータ取得装置4000によって受信される。

【0059】
例えば、伝送データ生成部3060、伝送データ取得部4040、固有暗号鍵生成部4060、復号部4080、及び正当性判定部4100は、ワイヤードロジックなどにより、ハードウエアとして実装される。その他にも例えば、上記各機能構成部は、ソフトウエアとハードウエアの組み合わせとして実装される。ソフトウエアとハードウエアの組み合わせとは、例えば、プロセッサ、メモリ、及びストレージなどのハードウエアと、メモリ又はストレージに格納されたプログラムの組み合わせである。プロセッサは、例えば、上記各機能構成部を実現する各プログラムをメモリに読み出して実行することで、上記各機能構成部が有する機能を実現する。

【0060】
固有鍵生成情報格納部3020は、例えば、ROM (Read Only Memory) や RAM (Random Access Memory) として実装される。この場合、固有鍵生成情報は、この ROM や RAM に格納される。その他にも例えば、固有鍵生成情報格納部3020は、ワイヤードロジックなどを用いて実装されてもよい。この場合、固有鍵生成情報は、固有鍵生成情報格納部3020に組み込まれた物理的な電気回路として実装される。

【0061】
固有暗号鍵格納部3040は、例えば、データ生成装置3000の外部との間に通信路を持たない ROM や RAM として実装される。この場合、固有暗号鍵は、この ROM や RAM に格納される。その他にも例えば、固有暗号鍵格納部3040は、ワイヤードロジックなどを用いて実装されてもよい。この場合、固有暗号鍵は、固有暗号鍵格納部3040に組み込まれた物理的な電気回路として実装される。

【0062】
マスタ暗号鍵格納部4020は、固有暗号鍵格納部3040と同様の方法で実装される。

【0063】
<伝送データ取得部4040の詳細>
伝送データ取得部4040が伝送データを取得する方法は様々である。例えば伝送データ取得部4040は、データ生成装置3000によって送信される伝送データを受信する。また例えば、伝送データ取得部4040は、伝送データが格納されている格納部から伝送データを取得する。この格納部は、データ生成装置3000の内部又は外部に設けられており、データ生成装置3000は生成した伝送データをこの格納部に格納する。

【0064】
<正当性判定部4100の詳細>
正当性判定部4100は、復号部4080が暗号文30を正しく復号できたか否かに基づいて、伝送データの正当性を判定する。ここで、「復号部4080が暗号文30を正しく復号できたか否か」を判定する方法は様々である。例えばデータ伝送システム2000は、平文50のデータ構造を図8に示す構造にすることにより、「復号部4080が暗号文30を正しく復号できたか否か」を判定できるようにする。図8は、暗号化対象のデータである平文50のデータ構造を例示する図である。平文50には、データ生成装置3000の固有鍵生成情報である鍵生成情報20、及びユーザに伝達するデータである伝達データ60が含まれる。

【0065】
例えば伝達データ60は、パケット通信における1つのパケットである。データ伝送システム2000は高速に暗号処理を行えるため、1つ1つのパケットについて電子署名を実現できる。また、伝達データ60は、パケットの集合であってもよい。なお、伝達データ60は、パケットで構成されるデータに限定されるものではなく、任意のデータでよい。

【0066】
伝送データ生成部3060は、この平文50を暗号化して、暗号文30を生成する。ここで、鍵生成情報20の大きさはXビットであり、鍵生成情報20は平文50の先頭に格納されているとする。復号部4080は、暗号文30を復号して平文を得る。正当性判定部4100は、得られた平文の先頭Xビットと、伝送データ10に含まれている鍵生成情報20とを比較する。そして、正当性判定部4100は、平文の先頭Xビットと、伝送データ10に含まれている鍵生成情報20とが一致する場合、暗号文30を正しく復号できた(平文50を算出できた)と判定する。一方、正当性判定部4100は、平文の先頭Xビットと、伝送データ10に含まれている鍵生成情報20とが一致しない場合、暗号文30を正しく復号できなかったと判定する。

【0067】
平文50における鍵生成情報20の位置は任意である。ただし、平文50における鍵生成情報20の位置を復号部4080が把握できるようにしておく必要がある。例えば平文50における鍵生成情報20の位置は、予めデータ生成装置3000とデータ取得装置4000との間で取り決められているものとする。また、平文50における鍵生成情報20の位置を示す情報を、伝送データ10に含めるようにしてもよい。

【0068】
また例えば、データ生成装置3000は、伝達データに基づいてチェックデジットを生成し、生成したチェックデジットを伝達データに付加することで、暗号化対象の平文50を生成してもよい。この場合、正当性判定部4100は、復号部4080によって復号された平文に含まれる伝達データとチェックデジットとの関係が正しいか否かを判定することにより、暗号文30を正しく復号できたか否かを判定する。

【0069】
正当性判定部4100は、判定結果を表す情報を出力してもよいし、出力せずに内部に記憶してもよい。ここで、判定結果を表す情報のデータ構造は任意である。例えば判定結果を表す情報は、正当である場合に値が1であり、正当でない場合に値が0である1ビットのフラグである。また例えば、判定結果を表す情報は、復号された平文である。正当性判定部4100が、伝送データが正当であると判定した場合のみ平文を出力又は記憶するようにすれば、平文が出力又は記憶された場合に伝送データが正当であることが分かる。

【0070】
<鍵生成情報の詳細>
鍵生成情報は、暗号鍵を生成するための情報である。1つの鍵生成情報に対応する暗号鍵は1つのみである。つまり、暗号鍵は、鍵生成情報に対して一意に対応する。

【0071】
鍵生成情報のデータ構造は任意である。例えば鍵生成情報は、複数のデータの組み合わせによって構成されることで、階層構造(例:木構造)を持つ。図9は、鍵生成情報を例示する第1の図である。図9において、鍵生成情報Tは、固定の長さを持つ8つのデータTa1~Ta8によって構成されている。Ta1~Ta8の各サイズは、例えば16バイトである。例えば鍵生成情報が木構造を表す場合、鍵生成情報Tは、Ta1が根であり、Ta8が葉である木構造を表す鍵生成情報となる。

【0072】
図10は、鍵生成情報を例示する第2の図である。図10において、鍵生成情報Tは、サイズが異なる複数のデータTb1~Tb3、及び各データのサイズを表すヘッダによって構成されている。Tb1~Tb3のサイズはそれぞれ5バイト、16バイト、256バイトである。

【0073】
なお、鍵生成情報は暗号鍵に対して衝突困難であればよく、上記の構成には限定されない。

【0074】
<暗号鍵の詳細>
暗号鍵は、鍵生成情報に基づいて生成することができる。例えば暗号鍵は、鍵生成情報を入力とする関数によって算出される値である。例えばこの関数は、SHA-256 等のハッシュ関数である。この関数は、一方向性又は原像計算困難性を有する必要がある。さらにこの関数は、単射であるか又は衝突困難性を有する必要がある。単射である場合、異なる鍵生成情報からは必ず異なる暗号鍵が生成される。また、衝突困難性を有する場合、異なる鍵生成情報から同じ暗号鍵が生成されうるものの、同じ暗号鍵が生成されるような複数の鍵生成情報の組を求めることが計算量的に困難である。

【0075】
例えば前述した SHA-256 は、一般に原像困難性及び衝突困難性を有すると言われており、少なくともデータ伝送システム2000で利用される鍵生成情報の集合(例えば、100 億個程度の鍵生成情報の集合)については、原像困難性及び衝突困難性を有すると考えられる。なお、上記の「100 億個程度」はあくまで例示であり、データ伝送システム2000を運用する際に利用可能な鍵生成情報の集合の大きさを限定するものではない。

【0076】
また、少数の鍵生成情報の集合に対して異なる鍵生成情報から同じ暗号鍵が生成される確率が低い関数を用いることが好ましい。

【0077】
マスタ暗号鍵は、鍵生成情報に基づいて固有暗号鍵を生成するために用いられる。前述したように、マスタ暗号鍵の生成方法は公開されていないため、第3者がマスタ暗号鍵を生成することはできない。また、マスタ暗号鍵格納部4020からマスタ暗号鍵を読み出すこともできない。

【0078】
なお、データ伝送システム2000で利用される全ての暗号鍵は、データ伝送システム2000で用いられる暗号方式に対応する暗号鍵である。ここで、データ伝送システム2000は、様々な暗号方式を用いることができる。例えばデータ伝送システム2000は、DES (Data Encryption Standard) 暗号、AES (Advanced Encryption Standard) 暗号、又は再配置暗号などを用いる。再配置暗号の詳細については後述する。また、DES 暗号や AES 暗号などのブロック暗号を用いる場合、その利用モードは任意である。ブロック暗号の利用モードには、例えば、ECB (Electric Code Book) モード、CFB (Cipher Feed Back) モード、OFB (Output Feed Back) モード、CBC (Cipher Block Chaining) モード、又はカウンタモードなどがある。

【0079】
<暗号鍵生成の実施例>
固有暗号鍵生成部4060が固有暗号鍵を生成する方法の実施例を説明する。上述したように、データ伝送システム2000は、様々な暗号方式を利用できる。以下では、3つの具体例を説明する。

【0080】
<<方法1>>
例えば固有暗号鍵生成部4060は、式(1)を用いて、鍵生成情報Tに対して一意に対応する暗号鍵Kを算出する。Hは一方向性及び衝突困難性を有するハッシュ関数である。Kはマスタ暗号鍵である。T|Kは、Tを構成するビット列とKを構成するビット列を結合したものである。例えばTが 001 であり、Kが 101 の場合、T|Kは 001101 となる。
【数1】
JP2016009887A_000003t.gif

【0081】
なお、固有暗号鍵生成部4060は、H(T|K)を構成するビット列の一部を暗号鍵Kとして用いてもよい。例えば固有暗号鍵生成部4060は、H(T|K)の先頭128ビットを暗号鍵Kとする。例えば AES 暗号方式を利用する場合に、H(T|K)のサイズと AES 暗号方式のブロックサイズとが異なるとき、固有暗号鍵生成部4060は、暗号鍵Kのサイズをブロックサイズと等しくするために、H(T|K)の一部分を暗号鍵Kとする。

【0082】
<<方法2>>
また例えば、固有暗号鍵生成部4060は、式(2)を用いて、鍵生成情報Tに対して一意に対応する暗号鍵Kを生成する。鍵生成情報Tは、図10に示される鍵生成情報である。Eは、鍵生成情報を構成する部分データTb1などを任意の値に変換する関数である。ここで、AES 暗号方式を利用する場合、Eは、部分データTb1などを、利用する AES 暗号方式のブロックサイズと等しい大きさを持つ任意の値に変換する。
【数2】
JP2016009887A_000004t.gif

【0083】
<<方法3>>
また例えば、固有暗号鍵生成部4060は、再配置暗号方式に用いる暗号鍵をマスタ暗号鍵及び鍵生成情報から生成する。再配置暗号方式は、暗号化するデータを複数に分割し、分割したそれぞれのデータを、暗号鍵に示される情報に基づいて再配置することで、データを暗号化する。詳しくは、特許第4737334号公報に記載されている。

【0084】
再配置暗号方式の簡単な例について、図11を用いて説明する。図11は、再配置暗号方式における暗号化を例示する図である。Dは暗号化されるデータであり、Kは暗号鍵である。ここで、暗号鍵は、再配置表とも呼ばれる。暗号鍵Kは、「3,1,2」という数字の並びである。

【0085】
暗号鍵Kは、合計で3つの数字から成り、1番目が3であり、2番目が1であり、3番目が2である。この暗号鍵は、暗号化するデータを3つに分割した複数の部分データのうち、1番目の部分データを3番目に再配置し、2番目の部分データを1番目に再配置し、3番目のデータを2番目に再配置することを表している。

【0086】
そこで、図11において、データDは、3つの部分データd~dに分割される。そして、d~dは、暗号鍵Kが示す配置へ再配置される。こうすることで、データDは、暗号化されたデータE(D,K)へ変換される。

【0087】
再配置暗号に用いられる暗号鍵Kを、鍵生成情報Tとマスタ暗号鍵から生成する方法は、例えば次に示す方法である。ここで、各暗号鍵は、暗号化するデータを256個の部分データに分割して、各部分データを再配置するための暗号鍵であるとする。したがって、各暗号鍵は、1~256の各数字を重複しないように有する順列で表される。ここで、マスタ暗号鍵は、K=(254,5,・・・127,98)であるとする。

【0088】
鍵生成情報Tは、Tx1~Tx3を有しているとする。Tx1~Tx3はそれぞれ、256バイトの整数配列である。まず、Tx1を基に、疑似乱数を生成する。そして、生成した疑似乱数を用いて、マスタ暗号鍵Kを Fisher-Yates Shuffle で攪拌し、Kを生成する。同様に、Tx2を基に、疑似乱数を生成する。そして、生成した疑似乱数を用いて、Kを Fisher-Yates Shuffle で攪拌し、Kを生成する。さらに同様に、Tx3を基に、疑似乱数を生成する。そして、生成した疑似乱数を用いて、Kを Fisher-Yates Shuffle で攪拌し、生成された配列をKとする。

【0089】
[実施形態2]
図12は、実施形態2に係るデータ伝送システム2000を例示するブロック図である。図12において、矢印の流れは情報の流れを示している。さらに、図12において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。

【0090】
実施形態2の伝送データ生成部3060は、伝送データに対象マークを付与する。実施形態2のデータ取得装置4000は、ディスパッチ部4120を有する。ディスパッチ部4120は、伝送データ取得部4040によって取得された伝送データに対象マークが付与されているか否かを判定する。正当性判定部4100は、対象マークが付与されていると判定された伝送データの正当性を判定する。

【0091】
<処理の流れ>
図13は、実施形態2に係るデータ取得装置4000によって実行される処理の流れを例示するフローチャートである。ステップS202において、ディスパッチ部4120は、伝送データに対象マークが付与されているか否かを判定する。伝送データに対象マークが付与されている場合、図13の処理はステップS104に進む。一方、伝送データに対象マークが付与されていない場合、図13の処理は終了する。

【0092】
なお、図13のステップS104以降で行われる処理の流れは、図7のステップS104以降で行われる処理の流れと同様である。そのため、図13において、ステップS104の内容の記述及びステップS106以降の処理は省略されている。

【0093】
<作用・効果>
実施形態2のデータ伝送システム2000では、伝送データに対象マークが付与される。そのため、データ取得装置4000において、対象マークが付与されている伝送データと対象マークが付与されていない伝送データとで、扱いを変えることができる。具体的には、対象マークが付与されている伝送データについて伝送データの正当性が判定される。

【0094】
[実施例]
対象マークが付与されている伝送データと付与されていない伝送データの双方を扱うデータ伝送システム2000を、実施例として示す。なお、下記に示すのはあくまでデータ伝送システム2000の利用方法の1つを例示するものであり、データ伝送システム2000の利用方法を限定するものではない。

【0095】
<データ伝送システム2000が扱う伝送データ>
本実施例に係るデータ伝送システム2000は、2種類の伝送データを扱う。データ伝送システム2000が扱う第1の種類の伝送データ(以下、第1伝送データ)は、特定の宛先が指定されておらず、不特定多数のユーザに配布することができる伝送データである。これは、上述の各実施形態に係るデータ伝送システム2000が扱う伝送データに相当する。例として、Web ページで配布されるアプリケーションなどが挙げられる。一方、データ伝送システム2000が扱う第2の種類の伝送データ(以下、第2伝送データ)は、特定の宛先が指定されている伝送データである。例として、電子メールなどが挙げられる。

【0096】
図14は、本実施例のデータ伝送システム2000が扱う伝送データのデータ構造を表す図である。図14(a)は、伝送データの基本構造200を示す図である。伝送データは、基本構造200に示すように、第1領域210、第2領域220、及び第3領域230という3つのデータ領域を有する。第1伝送データと第2伝送データでは、これらのデータ領域に格納されるデータが異なる。

【0097】
<<第1伝送データのデータ構造>>
図14(b)は、第1伝送データ300のデータ構造を示す図である。第1伝送データにおいて、第1領域210には、提供元鍵生成情報110が格納されている。提供元鍵生成情報110は、伝送データを生成するデータ生成装置3000に固有の鍵生成情報である。つまり提供元鍵生成情報110は、第1伝送データ300を生成するデータ生成装置3000の固有鍵生成情報格納部3020に格納されている固有鍵生成情報である。

【0098】
第1伝送データ300は、特定の宛先が指定されない伝送データである。そのため、第1伝送データ300において、第2領域220には、「宛先を特定しない」ということを表す情報が格納されている。具体的には、第2領域220には、実施形態2で説明した対象マーク(対象マーク120)が格納される。

【0099】
第1伝送データ300において、第3領域230には、第1暗号文130が格納されている。第1暗号文130は、上述の各実施形態における暗号文30と同様、データ生成装置3000の固有暗号鍵で暗号化された暗号文である。

【0100】
<<第2伝送データのデータ構造>>
図14(c)は、第2伝送データ400のデータ構造を示す図である。第2伝送データ400において、第1領域210には、提供元鍵生成情報110が格納されている。よって、第1領域210に格納されるデータは、第1伝送データ300と第2伝送データ400とで共通である。

【0101】
第2伝送データ400は、特定の宛先が指定されて送信される伝送データである。そのため、第2伝送データ400において、第2領域220には、宛先を特定するための情報を格納している。具体的には、第2領域220には、宛先のデータ取得装置4000に固有の鍵生成情報である宛先鍵生成情報140が格納されている。ここで、本実施例における鍵生成情報は、データ生成装置3000だけでなく、データ取得装置4000についても固有であるとする。つまり鍵生成情報は、各データ生成装置3000及び各データ取得装置4000について、それぞれ固有に存在する。

【0102】
第2伝送データ400において、第3領域230には、第2暗号文150が格納されている。第2暗号文150は、第1暗号文130とは異なり、宛先鍵生成情報140に対して一意に対応する固有暗号鍵で暗号化された暗号文である。そのため、本実施例におけるデータ生成装置3000は、宛先のデータ取得装置4000に固有の固有暗号鍵を用いて暗号文を生成する機能を有する。この機能の実現方法については後述する。

【0103】
<データ生成装置3000が実行する処理の概要>
図15は、本実施例のデータ伝送システム2000によって実行される処理を概念的に示す図である。データ生成装置3000は、提供元鍵情報110、第2領域データ170、及び伝達データ180を取得する。第2領域データ170は、対象マーク120又は宛先鍵生成情報140のいずれかである。

【0104】
まずデータ生成装置3000は、提供元鍵生成情報110、第2領域データ170、及び伝達データ180を用いて平文160を生成する。

【0105】
次にデータ生成装置3000は、以下のようにして中間データ500を生成する。中間データ500は、伝送データと同様に基本構造200を有するデータである。まずデータ生成装置3000は、中間データ500の第1領域210に提供元鍵情報110を格納する。次にデータ生成装置3000は、中間データ500の第2領域220に第2領域データ170を格納する。そしてデータ生成装置3000は、平文160をデータ生成装置3000の固有暗号鍵40(以下、固有暗号鍵40-A)で暗号化して第1暗号文130を生成し、中間データ500の第3領域230に格納する。

【0106】
ここで、第2領域データ170が対象マーク120である場合、データ生成装置3000は、中間データ500を生成することによって、第1伝送データ300を生成したこととなる。そこでデータ生成装置3000は、第2領域データ170が対象マーク120である場合、伝送データの生成処理を終了する。

【0107】
一方、第2領域データ170が宛先鍵生成情報140である場合、中間データ500は、第2伝送データ400とは異なる。そこでデータ生成装置3000は、中間データ500を用いて第2伝送データ400を生成する処理を行う。データ生成装置3000が中間データ500から第2伝送データ400を生成する処理の流れについては後述する。

【0108】
<データ取得装置4000が実行する処理の概要>
本実施例のデータ取得装置4000は、取得した伝送データに対象マーク120が含まれているか否かによって、取得した伝送データが第1伝送データ300と第2伝送データ400のどちらであるかを判別する。データ取得装置4000は、実施形態2で説明したディスパッチ部4120を用いて、伝送データに対象マーク120が含まれているか否かを判定する。伝送データに対象マーク120が含まれている場合、取得した伝送データは第1伝送データ300である。そのため、データ取得装置4000は、第1伝送データ300に関する処理を行う。データ取得装置4000が第1伝送データ300に関して実行する処理は、実施形態1で説明したデータ取得装置4000の処理と同様である。具体的には、まずデータ取得装置4000は、提供元鍵生成情報110とマスタ暗号鍵100を用いてデータ生成装置3000の固有暗号鍵40-Aを生成する。次にデータ取得装置4000は、生成した固有暗号鍵40-Aを用いて第1暗号文130を復号する。そして、データ取得装置4000は、復号結果に基づいて、第1伝送データ300の正当性を判定する。

【0109】
具体的には、データ取得装置4000は、第1伝送データ300に含まれている提供元鍵情報110と、復号結果の平文に含まれている提供元鍵情報が一致するか否かを判定する。例えばデータ生成装置3000が平文160の先頭に提供元情報を格納する場合、データ取得装置4000は、第1伝送データ300に含まれている提供元鍵情報110と、復号して得た平文の先頭にある提供元鍵情報110と同サイズのデータ領域とを比較する。これらが一致する場合、データ取得装置4000は、第1伝送データ300が正当であると判定する。一方、これらが一致しない場合、データ取得装置4000は、第1伝送データ300が不正であると判定する。

【0110】
伝送データに対象マーク120が含まれていない場合、取得した伝送データは第2伝送データ400である。そこでデータ取得装置4000は、第2伝送データ400に関する処理を行う。データ取得装置4000が第2伝送データ400に関して行う処理については後述する。

【0111】
以上の流れにより、データ生成装置3000及びデータ取得装置4000は、第1伝送データ300と第2伝送データ400の双方を扱うことができる。以下、データ生成装置3000とデータ取得装置4000が第2伝送データ400について実行する処理について説明する。

【0112】
<データ生成装置3000による第2伝送データ400の生成>
図16は、実施例に係るデータ生成装置3000の構成を例示するブロック図である。本実施例におけるデータ生成装置3000は、中間データ500から第2伝送データ400を生成するために、第2伝送データ生成部3200及びマスタ暗号鍵格納部3220を有する。マスタ暗号鍵格納部3220は、マスタ暗号鍵格納部4020と同様にマスタ暗号鍵を格納する。ここで、マスタ暗号鍵は全てのデータ生成装置3000及びデータ取得装置4000について共通である。したがって、マスタ暗号鍵格納部3220に格納されているマスタ暗号鍵とマスタ暗号鍵格納部4020に格納されているマスタ暗号鍵は同内容のデータである。

【0113】
図17は、第2伝送データ生成部3200が第2伝送データ400を生成する処理の流れを概念的に示す図である。まず第2伝送データ生成部3200は、提供元鍵生成情報110及びマスタ暗号鍵100を用いて、データ生成装置3000の固有暗号鍵40-Aを生成する。そして、第2伝送データ生成部3200は、生成した固有暗号鍵40-Aを用いて第1暗号文130を復号して平文160を算出する。第2伝送データ生成部3200は、算出した伝達データ60を、宛先のデータ取得装置4000の固有暗号鍵(以下、固有暗号鍵40-B)を用いて暗号化する。そのために、第2伝送データ生成部3200は、マスタ暗号鍵100及び宛先鍵生成情報140を用いて、宛先のデータ取得装置4000の固有暗号鍵40-Bを生成する。そして、第2伝送データ生成部3220は、生成した固有暗号鍵40で伝達データ60を暗号化して第2暗号文150を生成する。最後に、第2伝送データ生成部3220は、提供元鍵生成情報110、宛先鍵生成情報140、及び第2暗号文150を含む第2伝送データ400を生成する。

【0114】
<データ取得装置4000による第2伝送データ400の処理>
図18は、実施例に係るデータ取得装置4000の構成を例示するブロック図である。本実施例におけるデータ取得装置4000は、第2伝送データ400を処理するために、第2伝送データ処理部4200及び固有暗号鍵格納部4220を有する。固有暗号鍵格納部4220は、データ取得装置4000の固有暗号鍵を格納する。

【0115】
図19は、第2伝送データ処理部4200が第2伝送データ400を処理する流れを概念的に示す図である。第2伝送データ400に含まれる第2暗号文150は、データ取得装置4000の固有暗号鍵40-Bを用いて暗号化されている。そのため、第2伝送データ処理部4200は、固有暗号鍵格納部4220に格納されている固有暗号鍵40-Bを用いて第2暗号文150を復号する。

【0116】
なお、第2伝送データ処理部4200は、第2暗号文150を復号して得られた平文160を用いて、第2伝送データ400の提供元が正しいか否かを確認してもよい。具体的には、第2伝送データ処理部4200は、平文160に含まれる提供元鍵生成情報110が、第2伝送データ400の第1領域210に含まれる提供元鍵生成情報110と一致するか否かを判定する。これらが一致することは、第2伝送データ400の第1領域210に含まれている提供元鍵生成情報110が正しい提供元を表していることを意味する。そのため、第2伝送データ処理部4200は、第2伝送データ400の提供元が正しいか否かを確認することができる。

【0117】
以上、図面を参照して本発明の実施形態及び実施例について述べたが、これらは本発明の例示であり、上記実施形態や実施例の組み合わせ、及び上記実施形態や実施例以外の様々な構成を採用することもできる。
【符号の説明】
【0118】
10 伝送データ
20 鍵生成情報
30 暗号文
40 固有暗号鍵
50 平文
60 伝達データ
100 マスタ暗号鍵
110 提供元鍵生成情報
120 対象マーク
130 第1暗号文
140 宛先鍵生成情報
150 第2暗号文
160 平文
170 第2領域データ
180 伝達データ
200 基本構造
210 第1領域
220 第2領域
230 第3領域
300 第1伝送データ
400 第2伝送データ
500 中間データ
2000 データ伝送システム
3000 データ生成装置
3020 固有鍵生成情報格納部
3040 固有暗号鍵格納部
3060 伝送データ生成部
3200 第2伝送データ生成部
3220 マスタ暗号鍵格納部
4000 データ取得装置
4020 マスタ暗号鍵格納部
4040 伝送データ取得部
4060 固有暗号鍵生成部
4080 復号部
4100 正当性判定部
4120 ディスパッチ部
4200 第2伝送データ処理部
4220 固有暗号鍵格納部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16
【図18】
17
【図19】
18