JP5416544B2 - データ配信装置、データ受信装置、データ配信プログラム、及び、データ受信プログラム - Google Patents
データ配信装置、データ受信装置、データ配信プログラム、及び、データ受信プログラム Download PDFInfo
- Publication number
- JP5416544B2 JP5416544B2 JP2009241441A JP2009241441A JP5416544B2 JP 5416544 B2 JP5416544 B2 JP 5416544B2 JP 2009241441 A JP2009241441 A JP 2009241441A JP 2009241441 A JP2009241441 A JP 2009241441A JP 5416544 B2 JP5416544 B2 JP 5416544B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- hash value
- encrypted
- encrypted data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
また、データの送信側における改ざん検知用認証子の生成と暗号化、及び、データの受信側における改ざん検知と復号をそれぞれ1つの処理として行う技術を提供することを目的とする。
また、改ざん検知用認証子の生成と暗号化を個別の処理で行っていた場合と比較し、データの送信側において暗号化に必要となる計算量を同一として、改ざん検知用認証子の生成に必要となる計算量を削減すること、及び、データの受信側において復号に必要となる計算量を同一として、改ざん検知に必要となる計算量を削減することを目的とする。
また、非暗号化データの改ざんを検知するための余分なデータを配信データに含めることなく、データの受信側が、非暗号化データの改ざん等の検知を可能とする技術を提供することを目的とする。
かかる構成により、データ配信装置は、ブロック暗号処理手段によって、非暗号化データから生成されたハッシュ値全体にわたって、暗号化データと関連付けることができる。
かかる構成により、データ受信装置は、ブロック復号処理手段によって、非暗号化データから生成されたハッシュ値全体にわたって関連付けられている暗号化データを復号することができる。
また、非暗号化データと暗号化データとは、非暗号化データから生成したハッシュ値を介して関連付けられる。このため、受信側で非暗号化データの改ざんの有無によって暗号化データを復号させないような構成を備えなくとも、非暗号化データが改ざん等されたり失われたりした場合には、暗号化データを正常に復号できなくすることができる。
また、非暗号化データから算出したハッシュ値を初期ベクトルに用いてブロック暗号処理を行い暗号化データを生成しているため、非暗号化データのための改ざん検知用認証子を別途生成する必要がなく、暗号処理と改ざん検知用認証子の生成を1つの処理で行うことができる。
また、改ざん検知用認証子の生成と暗号化を個別の処理で行っていた場合と比較し、暗号化に必要となる計算量を同一として、改ざん検知用認証子の生成に必要となる計算量を削減することができる。
また、非暗号化データのための改ざん検知用認証子を送信する必要がない。
このため、非暗号化データを配信する装置とは異なる装置から、暗号化データを配信しても、受信側で暗号化データが正常に復号されるか否かで、非暗号化データの改ざんを検知させることができる。
また、非暗号化データが改ざん等されたり失われたりした場合には、暗号化データを正常に復号できなくすることができる。
また、非暗号化データと暗号化データとは、非暗号化データから生成したハッシュ値を介して関連付けられている。このため、非暗号化データの改ざんの有無によって暗号化データを復号させないような構成を備えなくとも、非暗号化データが改ざん等されたり失われたりした場合には、暗号化データを正常に復号することができない。
また、非暗号化データから算出したハッシュ値を初期ベクトルに用いてブロック暗号処理を行い生成された暗号化データを受信するため、非暗号化データのための改ざん検知用認証子を別途生成する必要がなく、暗号化データの復号処理と認証子の検証を1つの処理で行うことができる。
また、改ざん検知用認証子の生成と暗号化を個別の処理で行っていた場合と比較し、復号処理に必要となる計算量を同一として、改ざん検知に必要となる計算量を削減することができる。
また、非暗号化データのための改ざん検知用認証子を受信する必要がない。
このため、非暗号化データを配信する装置とは異なる装置から、暗号化データを受信しても、受信した暗号化データが正常に復号されるか否かで、非暗号化データの改ざんを検知(真正性を検証)することができる。
また、非暗号化データが改ざん等されたり失われたりした場合には、暗号化データを正常に復号することができない。
なお、各実施形態において、同一の機能を有する手段には同一の符号を付して、その説明を省略する。
図1を参照して、本発明の第1実施形態及び第2実施形態に係るデータ配信システム1A(1)の構成について説明する。
データ受信装置3は、ネットワーク4に接続され、データ配信装置2から配信される配信データをネットワーク4を介して受信し、非暗号化データB(B1、B2、B3、・・・)を用いて暗号化データE(A)を復号するとともに、復号したデータから、非暗号化データB(B1、B2、B3、・・・)の真正性を検証するものである。
これらについては、以下で詳述する。
このネットワーク4は、有線ネットワークであってもよいし、無線ネットワークであってもよい。また、ネットワーク4の代わりに放送波としてもよい(不図示)。
また、B(B1、B2、B3、・・・)という記載は、メタデータB1、B2、B3、・・・を集めたものがBであることを意味する。以下では、適宜、B(B1、B2、B3、・・・)を省略して、Bと書くこともある。
第1実施形態は、データ配信システム1Aのデータ配信装置2及びデータ受信装置3において、非暗号化データB(B1、B2、B3、・・・)から求めたハッシュ値のビット長と、ブロック暗号処理及びブロック復号処理を行う際に用いるアルゴリズムのブロックのビット長とが同一の場合である。
図2を参照して、本発明の第1実施形態に係るデータ配信装置2A(2)の構成について説明する。
具体的には、データ配信装置2Aは、ヘッダと、機密性の高いデータAと、非暗号化データB(B1、B2、B3、・・・)とを入力する。すると、データ配信装置2Aは、非暗号化データB(B1、B2、B3、・・・)からハッシュ値hを求め、ブロック暗号処理を行う際の初期ベクトルとしてハッシュ値hを用いてデータAを暗号化する。そして、データ配信装置2Aは、ヘッダに非暗号化データBと暗号化データE(A)とを多重化する際の構成(多重化構成)の情報を記述して、ヘッダと非暗号化データB(B1、B2、B3、・・・)と暗号化データE(A)とを配信データとして配信する。
具体的には、データ圧縮手段21は、非暗号化データB(B1、B2、B3、・・・)を入力する。そして、データ圧縮手段21は、1つ以上の非暗号化データB1、B2、B3、・・・を連結した後に、ハッシュ関数Hを適用してハッシュ値h=H(B1||B2||B3||・・・)を生成し、ブロック暗号処理手段22へ出力する。
なお、本明細書において、「||」は、連結を表す。
このため、例えば、ブロック暗号処理手段22が、代表的な暗号化アルゴリズムであるブロック長256bitのAES(Advanced Encryption Standard)を暗号処理に用いる場合、データ圧縮手段21は、ハッシュ関数HとしてSHA−256(Secure Hash Algorithm−256)を採用することで、非暗号化データB(B1、B2、B3、・・・)を所望の長さ(256bit)に圧縮することができる。
その他、データ圧縮手段21は、例えば、SHA−512等を用いることができる。
具体的には、ブロック暗号処理手段22は、外部から機密性の高いデータAと、ブロック暗号処理に用いる鍵とを入力するとともに、データ圧縮手段21からnbitのハッシュ値h=H(B1||B2||B3||・・・)を入力する。すると、ブロック暗号処理手段22は、用いる暗号化アルゴリズムのブロック長nbitに合わせて、データAをnbitごとの平文ブロックに分割する。そして、ブロック暗号処理手段22は、ブロック暗号処理の各ブロックにおいて、暗号化の際に鍵を用いて、平文ブロックから暗号ブロックを生成する。このとき、ブロック暗号処理手段22は、ハッシュ値hを最初のブロックの初期ベクトルとして用い、また、i番目(i≧2)のブロックの暗号化に、i−1番目のブロックの暗号化結果を用いる。そして、ブロック暗号処理手段22は、暗号ブロックを連結して暗号化データE(A)とし、データ配信手段23へ出力する。
<CBCモードの例>
図3は、CBCモードにおいて、初期ベクトルをH(B1||B2||B3||・・・)とした例である。図3において、“平文ブロックAi”(i=1、2、・・・)は、入力されたデータAを“暗号化”で用いられる暗号化アルゴリズムのブロック長に合わせて分割したものである。
なお、図3及び他の図面において、円の中に十字の記号は、XOR演算(排他的論理和)を表す。
データ配信手段23は、ヘッダと非暗号化データBと暗号化データE(A)とを配信データとして配信するものである。
具体的には、データ配信手段23は、外部からデータの多重化構成を記述したヘッダと、非暗号化データB(B1、B2、B3、・・・)とを入力し、ブロック暗号処理手段22から暗号化データE(A)を入力する。そして、データ配信手段23は、非暗号化データBと暗号化データE(A)とを多重化するとともに、ヘッダに、多重化構成を記述し、ヘッダと非暗号化データBと暗号化データE(A)とを配信データとして配信する。
例えば、データ圧縮手段21において、非暗号化データB(B1、B2、B3、・・・)から、Hを一方向性ハッシュ関数として、(1)式によりハッシュ値hを算出した。
h=H(B1||B2||B3||・・・) ・・・(1)式
h=H(B1,B2,B3,・・・) ・・・(2)式
h=H(B1 XOR B2 XOR B3 XOR・・・) ・・・(3)式
h=H(B1)XOR H(B2)XOR ・・・ ・・・(4)式
図4は、OFBモードにおいて、初期ベクトルをH(B1||B2||B3||・・・)とした例である。図4において、“平文ブロックAi”(i=1、2、・・・)は、入力されたデータAを“暗号化”で用いられる暗号化アルゴリズムのブロック長に合わせて分割したものである。
図5を参照して、本発明の第1実施形態に係るデータ受信装置3A(3)の構成について説明する。
具体的には、データ受信装置3Aは、ヘッダと非暗号化データBと暗号化データE(A)とを含んだ配信データを受信する。すると、データ受信装置3Aは、ヘッダの構成情報から、非暗号化データBと暗号化データE(A)とを抽出する。そして、データ受信装置3Aは、非暗号化データB(B1、B2、B3、・・・)からハッシュ値hを求め、ブロック復号処理を行う際の初期ベクトルとしてハッシュ値hを用いて暗号化データE(A)を復号する。そして、データ受信装置3Aは、復号したデータA’を、予め設定されているデータフォーマットと比較することによって、非暗号化データBの真正性を検証する。すなわち、データAと関連付けられた(バインドされた)非暗号化データBが正しく配信されていることを検証する。
具体的には、データ受信手段31は、インターネット等のネットワーク4を介して、データ配信装置2Aから配信された配信データを受信し、データ分離手段32へ出力する。
配信データには、データの多重化構成が記述されたヘッダ、暗号化データE(A)、及び、それに関連する非暗号化データB(B1、B2、B3、・・・)が含まれる。
具体的には、データ分離手段32は、データ受信手段31から配信データを入力する。すると、データ分離手段32は、配信データのヘッダに記述された多重化構成の情報に基づき、配信データを、非暗号化データ部分と暗号化データ部分とに分離し、非暗号化データB(B1、B2、B3、・・・)と暗号化データE(A)とを抽出する。そして、データ分離手段32は、抽出した非暗号化データB(B1、B2、B3、・・・)をデータ圧縮手段33へ出力し、暗号化データE(A)をブロック復号処理手段34へ出力する。
データ圧縮手段33は、生成したハッシュ値h=H(B1||B2||B3||・・・)の出力先がブロック復号処理手段34であるという違いを除いて、データ配信装置2Aのデータ圧縮手段21と同一である。データ圧縮手段33が用いるハッシュ関数Hは、データ配信装置2Aのデータ圧縮手段21が用いるハッシュ関数Hと同じである必要がある。また、データ圧縮手段33がハッシュ値を生成するための規則と、データ圧縮手段21がハッシュ値を生成するための規則とは同じである必要がある。
具体的には、ブロック復号処理手段34は、外部からデータ配信装置2Aと共有した鍵を入力し、データ分離手段32から暗号化データE(A)を入力し、さらに、データ圧縮手段33からnbitのハッシュ値h=H(B1||B2||B3||・・・)を入力する。すると、ブロック復号処理手段34は、復号処理に用いるアルゴリズムのブロック長nbitに合わせて、暗号化データE(A)をnbitごとの暗号ブロックに分割する。そして、ブロック復号処理手段34は、ブロック復号処理の各ブロックにおいて、復号の際に鍵を用いて、暗号ブロックから平文ブロックを生成する。このとき、ブロック復号処理手段34は、ハッシュ値hを最初のブロックの初期ベクトルとして用い、また、i番目(i≧2)のブロックの復号に、i−1番目のブロックの出力結果を用いる。そして、ブロック復号処理手段34は、平文ブロックを連結して復号データA’とし、このデータA’をデータ検証手段35へ出力する。
なお、ブロック復号処理に用いる利用モードによっては、復号アルゴリズムは暗号化アルゴリズムと同一である場合がある。
また、ブロック復号処理手段34が用いる鍵は、データ配信装置2Aのブロック暗号処理手段22が用いる鍵と事前に共有しておく必要がある。
<CBCモードの例>
図6は、CBCモードにおいて、初期ベクトルをh=H(B1||B2||B3||・・・)とした例である。
そして、“平文ブロックAi”(i=1、2、・・・)を連結したものが、ブロック復号処理によって復号されるデータA’である。
データ検証手段35は、復号されたデータの真正性を検証するものである。
具体的には、データ検証手段35は、ブロック復号処理手段34からデータA’を入力する。そして、データ検証手段35は、データA’を予め設定されているデータフォーマットと比較することによって、非暗号化データBの真正性を検証する。データA’が予め設定されているデータフォーマットに従っていた場合は、非暗号化データBに改ざんがなされなかったものと判断し、データA’を出力する。また、データA’が予め設定されているデータフォーマットに反していた場合は、非暗号化データBが改ざんされたものと判断し、データ検証手段35は、検証結果を出力する。
例えば、図7を参照して、ブロック復号処理手段34におけるブロック復号処理の別の一例を説明する。図7のブロック復号処理は、図4のブロック暗号処理と対応する。
図7は、OFBモードにおいて、初期ベクトルをH(B1||B2||B3||・・・)とした例である。
図7において、“暗号ブロックE(Ai)”(i=1、2、・・・)は、入力された暗号化データE(A)を“復号”で用いられるアルゴリズムのブロック長に合わせて分割したものである。
[データ配信装置(第1実施形態)動作]
図20を参照して(構成については、適宜図2を参照のこと)、本発明の第1実施形態に係るデータ配信装置(2A)の動作について説明する。
そして、データ配信装置2Aは、データ圧縮手段21によって、非暗号化データB(B1、B2、B3、・・・)からハッシュ値hを生成する(ステップS12)。
図21を参照して(構成については、適宜図5を参照のこと)、本発明の第1実施形態に係るデータ受信装置(3A)の動作について説明する。
そして、データ受信装置3Aは、データ分離手段32によって、受信したデータから非暗号化データBと暗号化データE(A)とを分離する(ステップS22)。
そして、データ受信装置3Aは、データ検証手段35によって、復号したデータA’を規定のフォーマットと比較する(ステップS25)。
第2実施形態は、データ配信システム1Aのデータ配信装置2及びデータ受信装置3において、非暗号化データB(B1、B2、B3、・・・)から求めたハッシュ値のビット長mと、ブロック暗号処理及びブロック復号処理を行う際に用いるアルゴリズムのブロックのビット長nとが異なる場合である。
図8を参照して、本発明の第2実施形態に係るデータ配信装置2B(2)の構成について説明する。
具体的には、データ配信装置2Bは、ヘッダと、機密性の高いデータAと、非暗号化データB(B1、B2、B3、・・・)とを入力する。すると、データ配信装置2Bは、非暗号化データB(B1、B2、B3、・・・)からハッシュ値hを求め、このハッシュ値hをブロック暗号処理を行う際に用いるアルゴリズムのブロック長に合わせて必要に応じてパディングを施した後に分割し、1つ以上のハッシュ値分割ブロックを用いてデータAを暗号化する。そして、データ配信装置2Bは、ヘッダに非暗号化データBと暗号化データE(A)との多重化構成を記述して、ヘッダと非暗号化データB(B1、B2、B3、・・・)と暗号化データE(A)とを配信データとして配信する。
なお、データ配信手段23は、データ配信装置2Aのデータ配信手段23と同一であるため、説明を省略する。
具体的には、データ圧縮手段21Bは、非暗号化データB(B1、B2、B3、・・・)を入力する。そして、データ圧縮手段21Bは、1つ以上の非暗号化データB1、B2、B3、・・・を連結した後に、ハッシュ関数Hを適用してハッシュ値h=H(B1||B2||B3||・・・)を生成し、ビット長調整手段24へ出力する。
具体的には、ビット長調整手段24は、データ圧縮手段21Bからハッシュ値h=H(B1||B2||B3||・・・)を入力する。すると、ビット長調整手段24は、ハッシュ値hのビット長mbitと、後記するブロック暗号処理手段22Bの暗号化アルゴリズムのブロック長nbitとを比較する。そして、ビット長調整手段24は、m<nの場合には、mbitにパディングを施してnbitになるように調整する(ハッシュ値ブロック)。また、ビット長調整手段24は、m>nの場合には、必要に応じてmbitにパディングを施してnbitの整数倍となるように調整した後、nbitごとに分割する(ハッシュ値分割ブロック;h1、h2、・・・、hM)。そして、ビット長調整手段24は、ハッシュ値ブロック又は1つ以上のハッシュ値分割ブロックをブロック暗号処理手段22Bへ出力する。
具体的には、ブロック暗号処理手段22Bは、外部から機密性の高いデータAと、ブロック暗号処理に用いる鍵とを入力するとともに、ビット長調整手段24からnbitに調整されたハッシュ値ブロックh1又は1つ以上のハッシュ値分割ブロック(h1、h2、・・・、hM)を入力する。すると、ブロック暗号処理手段22Bは、用いる暗号化アルゴリズムのブロック長nbitに合わせて、データAをnbitごとの平文ブロックに分割する。そして、ブロック暗号処理手段22Bは、ブロック暗号処理の各ブロックにおいて、暗号化の際に鍵を用いて、平文ブロックから暗号ブロックを生成する。このとき、ブロック暗号処理手段22Bは、ハッシュ値ブロックh1又はハッシュ値分割ブロックh1を最初のブロックの初期ベクトルとして用い、また、i番目(i≧2)のブロックの暗号化に、i−1番目のブロックの暗号化結果を用いる。そして、ブロック暗号処理手段22Bは、暗号ブロックを連結して暗号化データE(A)とし、データ配信手段23へ出力する。
例えば、ブロック暗号処理手段22Bは、ビット長調整手段24から入力されたハッシュ値分割ブロックがh1、h2、・・・、hMのM個の場合、1番目のハッシュ値からM番目までのハッシュ値分割ブロックまでを繰り返し用いることができる。
<OFBモードの例1>
図9は、入力されたハッシュ値分割ブロックh1、h2、・・・、hMに対して、最初のブロックの初期ベクトルとしてハッシュ値分割ブロックh1を用いるとともに、第i番目のブロック(i=1、2、・・・)において、所定のハッシュ値分割ブロックhj(1≦j≦M)を、次のブロックへの出力の生成に用いるブロック暗号処理の例である。ここで、jには、前記のようにハッシュ値分割ブロックを繰り返し用いることが可能である。
なお、ブロック暗号処理手段22Bは、nbitのハッシュ値分割ブロックh1のみを、ブロック暗号処理の初期ベクトルとして使用し、他のハッシュ値分割ブロックh2、h3、・・・がある場合にはそれらを使用せず、第1実施形態のブロック暗号処理手段22ようにブロック暗号処理を行ってもよい。
例えば、図10、及び、図11を参照して、ブロック暗号処理手段22Bにおけるブロック暗号処理の別の例を説明する。
なお、図10、及び、図11において、“平文ブロックAi”(i=1、2、・・・)は、入力されたデータAを“暗号化”で用いられる暗号化アルゴリズムのブロック長に合わせて分割したものである。
図10は、入力されたハッシュ値分割ブロックh1、h2、・・・、hMに対して、最初のブロックの初期ベクトルとしてハッシュ値分割ブロックh1を用いるとともに、第i番目のブロック(i=1、2、・・・)において、所定のハッシュ値分割ブロックhj(1≦j≦M)を、暗号ブロックの生成に用いるブロック暗号処理の例である。ここで、jは、前記のように繰り返し用いることが可能である。
図11は、入力されたハッシュ値分割ブロックh1、h2、・・・、hMに対して、最初のブロックの初期ベクトルとしてハッシュ値分割ブロックh1を用いるとともに、第i番目のブロックにおいて(i=1、2、・・・)、所定のハッシュ値分割ブロックhj(1≦j≦M)を、暗号化をする際の鍵の変換に用いるブロック暗号処理の例である。ここで、jは、前記のように繰り返し用いることが可能である。
図11において、“暗号ブロックE(A1)”は、h1を生成された鍵で暗号化した結果と、“平文ブロックA1”とをXOR演算したものである。また、図11において、“暗号ブロックE(Ai)”(i=2、3、・・・)は、第i−1番目のブロックからの入力をこの生成された鍵で暗号化した結果と、“平文ブロックAi”とをXOR演算したものである。
図12を参照して、本発明の第2実施形態に係るデータ受信装置3B(3)の構成について説明する。
具体的には、データ受信装置3Bは、ヘッダと非暗号化データBと暗号化データE(A)とを含んだ配信データを受信する。すると、データ受信装置3Bは、ヘッダの構成情報から、非暗号化データBと暗号化データE(A)とを抽出する。そして、データ受信装置3Bは、非暗号化データB(B1、B2、B3、・・・)からハッシュ値hを求め、このハッシュ値hをブロック復号処理を行う際に用いるアルゴリズムのブロック長に合わせて必要に応じてパディングを施した後に分割し、この分割されたハッシュ値分割ブロックを1つ以上用いて暗号化データE(A)を復号する。そして、データ受信装置3Bは、復号したデータA’を、予め設定されているデータフォーマットと比較することによって、非暗号化データBが改ざんされていないことを検証する。すなわち、データAと関連付けられた(バインドされた)非暗号化データBが正しく配信されていることを検証する。
なお、データ受信手段31、データ分離手段32、及び、データ検証手段35は、それぞれ、データ受信装置3Aのデータ受信手段31、データ分離手段32、及び、データ検証手段35と同一であるため、説明を省略する。
データ圧縮手段33Bは、生成したハッシュ値h=H(B1||B2||B3||・・・)の出力先がビット長調整手段36であるという違いを除いて、データ配信装置2Bのデータ圧縮手段21Bと同一である。データ圧縮手段33Bが用いるハッシュ関数Hは、データ配信装置2Bのデータ圧縮手段21Bが用いるハッシュ関数と同じである必要がある。
ビット長調整手段36は、ブロック復号処理手段34Bの復号の際に用いるアルゴリズムのブロック長nbitに合わせて、ハッシュ値hのビット長を調整することと、結果であるハッシュ値ブロック又は1つ以上のハッシュ値分割ブロックの出力先がブロック復号処理手段34Bであることを除いて、データ配信装置2Bのビット長調整手段24と同一である。
具体的には、ブロック復号処理手段34Bは、外部からデータ配信装置と共有した鍵を入力し、データ分離手段32から暗号化データE(A)を入力し、さらに、ビット長調整手段36からnbitに調整されたハッシュ値ブロックh1又は1つ以上のハッシュ値分割ブロックh1、h2、・・・、hMを入力する。すると、ブロック復号処理手段34Bは、復号処理に用いるアルゴリズムのブロック長nbitに合わせて、暗号化データE(A)をnbitごとの暗号ブロックに分割する。そして、ブロック復号処理手段34Bは、ブロック復号処理の各ブロックにおいて、復号の際に鍵を用いて、暗号ブロックから平文ブロックを生成する。このとき、ブロック復号処理手段34Bは、ハッシュ値ブロックh1又はハッシュ値分割ブロックh1を最初のブロックの初期ベクトルとして用い、また、i番目(i≧2)のブロックの復号に、i−1番目のブロックの復号結果を用いる。そして、ブロック復号処理手段34Bは、平文ブロックを連結して復号データA’とし、このデータA’をデータ検証手段35へ出力する。
なお、ブロック復号処理に用いる利用モードによっては、復号アルゴリズムは暗号化アルゴリズムと同一である場合がある。
また、ブロック復号処理手段34Bが用いる鍵は、データ配信装置2Bのブロック暗号処理手段22Bが用いる鍵と事前に共有しておく必要がある。
図9において、“暗号ブロックE(Ai)”(i≧1)は、“暗号化”によって暗号化した結果と、“平文ブロックAi”とをXOR演算したものとして生成されている。この部分を、図13に示すように、“平文ブロックAi”が、“暗号化”によって暗号化した結果と、“暗号ブロックE(Ai)”とをXOR演算したものに置換する。すると、この置換した図9は、図9のブロック暗号処理に対応するブロック復号処理の例となる。
例えば、ブロック復号処理手段34Bのブロック復号処理の一例において、図13を用いて、図9の一部を置換したが、図10、及び、図11の同一の部分を置換してもよい。
[データ配信装置(第2実施形態)動作]
図22を参照して(構成については、適宜図8を参照のこと)、本発明の第2実施形態に係るデータ配信装置(2B)の動作について説明する。
図23を参照して(構成については、適宜図12を参照のこと)、本発明の第2実施形態に係るデータ受信装置(3B)の動作について説明する。
図14を参照して、本発明の第3実施形態及び第4実施形態に係るデータ配信システム1B(1)の構成について説明する。
暗号化データ配信装置6は、ネットワーク4に接続され、関連をもつ非暗号化データと関連付けられた状態で暗号化データを管理して配信するものである。
データ受信装置3は、ネットワーク4に接続され、非暗号化データ配信装置5から、暗号化データ配信装置6に暗号化されている暗号化データの関連情報(タイトルや利用条件等のメタデータ)を取得するとともに、対応する暗号化データを暗号化データ配信装置6から取得し、関連情報を用いて暗号化データを復号するとともに、非暗号化データの真正性を検証するものである。
これらについては、以下で詳述する。
第3実施形態は、データ配信システム1Bの暗号化データ配信装置6及びデータ受信装置3において、関連する非暗号化データB(B1、B2、B3、・・・)から求めたハッシュ値のビット長と、ブロック暗号処理及びブロック復号処理を行う際のブロックのビット長とが同一の場合である。
図15を参照して、本発明の第3実施形態に係る非暗号化データ配信装置5の構成について説明する。
非暗号化データ配信装置5は、データ登録手段51と、データ記憶手段52と、要求データ抽出手段53と、データ配信手段54とを備える。
非暗号化データB1、B2、B3、・・・は、関連するデータAに係わるタイトルや利用条件等の公開してもよいメタデータである。
具体的には、データ記憶手段52は、データ登録手段51から非暗号化データB(B1、B2、B3、・・・)と識別子との組を入力して記憶する。そして、データ記憶手段52は、要求データ抽出手段53からの要求に応じて、非暗号化データB(B1、B2、B3、・・・)と識別子との組を出力する。
具体的には、データ配信手段54は、要求データ抽出手段53から、非暗号化データBと識別子との組を入力する。そして、データ配信手段54は、非暗号化データBに識別子を含むヘッダを付加し、データ要求のあった外部の装置に配信する。
図16を参照して、本発明の第3実施形態に係る暗号化データ配信装置6A(6)の構成について説明する。
データ圧縮手段21、及び、ブロック暗号処理手段22は、第1実施形態に係るデータ配信装置2Aの備える手段と同一であるため、説明を省略する。
なお、この暗号化データ配信装置6Aは、特許請求の範囲では、データ配信装置と記載している。
具体的には、データ選択手段64は、外部からデータAと、データ分離手段63からヘッダ及び非暗号化データB(B1、B2、B3、・・・)とを入力する。そして、データ選択手段64は、データAと関連付ける非暗号化データBを選択する。そして、データ選択手段64は、選択された非暗号化データBをデータ圧縮手段21へ出力するとともに、選択された非暗号化データBに対応するヘッダに含まれる識別子を抽出してデータ記憶手段65へ出力する。
具体的には、ブロック暗号処理手段22から暗号化データE(A)を入力するとともに、この暗号化データE(A)のブロック暗号処理に用いられた非暗号化データBの識別子をデータ選択手段64から入力する。そして、データ記憶手段65は、この暗号化データE(A)と識別子とを組にして記憶管理する。また、データ記憶手段65は、要求データ抽出手段66からの要求に応じて、暗号化データE(A)を要求データ抽出手段66へ出力する。
例えば、暗号化データ配信装置6Aでは、データ要求手段61によって、入力されたデータAに対応して、非暗号化データ配信装置5にデータ要求をするとしたが、データAに依存せず、非暗号化データ配信装置5に全てのデータを要求し、データ選択手段64によって、データAと関連付ける非暗号化データBを選択してもよい。
図17を参照して、本発明の第3実施形態に係るデータ受信装置3C(3)の構成を説明する。
データ圧縮手段33、ブロック復号処理手段34、及び、データ検証手段35は、第1実施形態に係るデータ受信装置3Aの備える手段と同一であるため、説明を省略する。
具体的には、データ要求手段37は、最初に非暗号化データ配信装置5に対してデータ要求を行う。そして、データ要求手段37は、非暗号化データ配信装置5から配信されるデータのヘッダ部に含まれる識別子を、後記するデータ選択手段40によって取得する。すると、データ要求手段37は、この識別子を用いて暗号化データ配信装置6Aに対してデータ要求を行う。
具体的には、データ分離手段39は、データ受信手段38からヘッダと非暗号化データB(B1、B2、B3、・・・)とを入力した場合には、ヘッダと非暗号化データBとに分離する。そして、データ分離手段39は、ヘッダと非暗号化データBとをデータ選択手段40に出力するとともに、非暗号化データBをデータ圧縮手段33へ出力する。
また、データ分離手段39は、データ受信手段38から暗号化データE(A)を入力した場合には、この暗号化データE(A)をブロック復号処理手段34へ出力する。
具体的には、データ選択手段40は、データ分離手段39からヘッダと非暗号化データB(B1、B2、B3、・・・)との組を入力する。そして、データ選択手段40は、1つ以上の非暗号化データB(B1、B2、B3、・・・)から、興味のあるもの等を選択し、選択した非暗号化データBに対応するヘッダに含まれる識別子を抽出して、データ要求手段37へ出力する。また、データ選択手段40は、選択した非暗号化データBを、データ圧縮手段33へ出力する。
なお、非暗号化データBの選択方法は、予め設定された条件等により選択してもよいし、図示しない入力手段により選択してもよい。
データ圧縮手段33が用いるハッシュ関数Hは、暗号化データ配信装置6Aのデータ圧縮手段21が用いるハッシュ関数と同じである必要がある。
ブロック復号処理手段34がブロック復号処理に用いる復号手段は、暗号化データ配信装置6Aのブロック暗号処理手段22がブロック暗号処理に用いる暗号化手段と対応するものである必要がある。
また、ブロック復号処理手段34が用いる鍵は、暗号化データ配信装置6Aのブロック暗号処理手段22が用いる鍵と事前に共有しておく必要がある。
例えば、暗号化データ配信装置6Aとデータ受信装置3Cとの間で、暗号化するデータAのヘッダ部のフォーマットを規定しておく。そうすることで、データ検証手段35は、復号されたデータA’のヘッダ部が規定フォーマットに準拠しているか否かを検証することによって、非暗号化データBの改ざんの有無を検知することが可能となる。
データ受信装置3Cでは、非暗号化データ配信装置5から取得したヘッダに含まれる識別子をデータ選択手段40がデータ要求手段37に出力して、これを用いて暗号化データ配信装置6Aにデータ要求する構成としたが、非暗号化データ配信装置5及び暗号化データ配信装置6Aから取得するヘッダに含まれる識別子が一致する構成となれば、これに限られるものではない。
[非暗号化データ配信装置(第3実施形態)の動作]
図24を参照して(構成については、適宜図15を参照のこと)、本発明の第3実施形態に係る非暗号化データ配信装置5の動作について説明する。
まず、図24(a)を参照して、非暗号化データ配信装置5の非暗号化データBの登録動作について説明する。
非暗号化データ配信装置5は、データ登録手段51によって、非暗号化データB(B1、B2、B3、・・・)を入力すると、この非暗号化データBを一意に特定できる識別子を生成し(ステップS51)、非暗号化データと識別子との組をデータ記憶手段52へ出力する。
そして、非暗号化データ配信装置5は、データ記憶手段52によって、非暗号化データBと識別子との組を記憶する(ステップS52)。
次に、図24(b)を参照して、非暗号化データ配信装置5の非暗号化データBの配信動作について説明する。
非暗号化データ配信装置5は、要求データ抽出手段53によって、外部の装置(暗号化データ配信装置6A、データ受信装置3C)からデータ要求を受信する(ステップS53)。
そして、非暗号化データ配信装置5は、データ配信手段54によって、識別子を含むヘッダと非暗号化データB(B1、B2、B3、・・・)とをデータ要求のあった外部の装置へ配信する(ステップS55)。
図25を参照して(構成については、適宜図16を参照のこと)、本発明の第3実施形態に係る暗号化データ配信装置(6A)の動作について説明する。
まず、図25(a)を参照して、暗号化データ配信装置6Aの暗号化データE(A)の記憶動作について説明する。
暗号化データ配信装置6Aは、データ要求手段61によって、非暗号化データ配信装置5に対して非暗号化データBを要求する(ステップS61)。
すると、暗号化データ配信装置6Aは、データ受信手段62によって、非暗号化データ配信装置5から、ヘッダ及び非暗号化データB(B1、B2、B3、・・・)を受信する(ステップS62)。
そして、暗号化データ配信装置6Aは、選択された非暗号化データB(B1、B2、B3、・・・)からハッシュ値hを生成する(ステップS64)。
そして、暗号化データ配信装置6Aは、データ記憶手段65によって、識別子と暗号化データE(A)との組を記憶する(ステップS66)。
次に、図25(b)を参照して、暗号化データ配信装置6Aの暗号化データE(A)の配信動作について説明する。
暗号化データ配信装置6Aは、要求データ抽出手段66によって、データ受信装置3Cからデータ要求を受信する(ステップS67)。
そして、暗号化データ配信装置6Aは、データ配信手段67によって、暗号化データE(A)をデータ受信装置3Cへ配信する(ステップS69)。
図26を参照して(構成については、適宜図17を参照のこと)、本発明の第3実施形態に係るデータ受信装置(3C)の動作について説明する。
データ受信装置3Cは、データ要求手段37によって、非暗号化データ配信装置5に対して、データ要求を行う(ステップS71)。
そして、データ受信装置3Cは、データ分離手段39によって、ヘッダと非暗号化データBとを分離し、データ選択手段40によって、非暗号化データBを選択し、その識別子を取得する(ステップS73)。
すると、データ受信装置3Cは、データ受信手段38によって、暗号化データ配信装置6Aから暗号化データE(A)を受信する(ステップS75)。
そして、データ受信装置3Cは、データ検証手段35によって、復号したデータA’を規定のフォーマットと比較する(ステップS78)。
第4実施形態は、データ配信システム1Bの暗号化データ配信装置6及びデータ受信装置3において、非暗号化データB(B1、B2、B3、・・・)から求めたハッシュ値hのビット長mと、ブロック暗号処理及びブロック復号処理を行う際に用いるアルゴリズムのブロックのビット長nとが異なる場合である。
なお、第4実施形態における非暗号化データ配信装置5は、第3実施形態の非暗号化データ配信装置5と同一であるので、その説明を省略する。
図18を参照して、本発明の第4実施形態に係る暗号化データ配信装置6B(6)の構成について説明する。
データ要求手段61、データ受信手段62、データ分離手段63、データ選択手段64、データ記憶手段65、要求データ抽出手段66、及び、データ配信手段67は、第3実施形態に係る暗号化データ配信装置6Aの備える手段と同一であるため、説明を省略する。
なお、この暗号化データ配信装置6Bは、特許請求の範囲では、データ配信装置と記載している。
図19を参照して、本発明の第4実施形態に係るデータ受信装置3D(3)の構成を説明する。
データ圧縮手段33B、ビット長調整手段36、ブロック復号処理手段34B、及び、データ検証手段35は、第2実施形態に係るデータ受信装置3Bの備える手段と同一であるため、説明を省略する。
データ要求手段37、データ受信手段38、データ分離手段39、及び、データ選択手段40は、第3実施形態に係るデータ受信装置3Cの備える手段と同一であるため、説明を省略する。
[暗号化データ配信装置(第4実施形態)の動作]
図27を参照して(構成については、適宜図18を参照のこと)、本発明の第4実施形態に係る暗号化データ配信装置6Bの動作について説明する。
図28を参照して(構成については、適宜図19を参照のこと)、本発明の第4実施形態に係るデータ受信装置(3D)の動作について説明する。
例えば、データ配信装置は、コンピュータにおいて各手段を機能プログラムとして実現することも可能であり、各機能プログラムを結合して、データ配信プログラムとして動作させることも可能である。データ受信装置、非暗号化データ配信装置、及び、暗号化データ配信装置についても同様である。
2(2A、2B) データ配信装置
21、21B データ圧縮手段
22、22B ブロック暗号処理手段
23 データ配信手段
24 ビット長調整手段
3(3A、3B、3C、3D) データ受信装置
31、38 データ受信手段
32、39 データ分離手段
33、33B データ圧縮手段
34、34B ブロック復号処理手段
35 データ検証手段
36 ビット長調整手段
37 データ要求手段
40 データ選択手段
4 ネットワーク
5 非暗号化データ配信装置
51 データ登録手段
52 データ記憶手段
53 要求データ抽出手段
54 データ配信手段
6(6A、6B) 暗号化データ配信装置(データ配信装置)
61 データ要求手段
62 データ受信手段
63 データ分離手段
64 データ選択手段
65 データ記憶手段
66 要求データ抽出手段
67 データ配信手段
Claims (16)
- 入力データと非暗号化データとが入力されて、前記非暗号化データから算出したハッシュ値を用いて前記入力データのブロック暗号処理を行い、暗号化データと前記非暗号化データとを配信するデータ配信装置であって、
前記非暗号化データから、ハッシュ関数を用いて前記ハッシュ値を算出するデータ圧縮手段と、
前記ハッシュ値を初期ベクトルとして、予め定めた利用モードにより、前記入力データを前記ブロック暗号処理して前記暗号化データを生成するブロック暗号処理手段と、
このブロック暗号処理手段が生成した暗号化データと前記非暗号化データとを多重化して、この多重化の構成を記述したヘッダと前記非暗号化データと前記暗号化データとを配信データとして配信するデータ配信手段と、
を備えることを特徴とするデータ配信装置。 - 入力データと、非暗号化データ及びその識別子とが入力されて、前記非暗号化データから算出したハッシュ値を用いて前記入力データのブロック暗号処理を行い、暗号化データと前記識別子とを対応付けるとともに、要求に応じて前記暗号化データを配信するデータ配信装置であって、
前記非暗号化データから、ハッシュ関数を用いて前記ハッシュ値を算出するデータ圧縮手段と、
前記ハッシュ値を初期ベクトルとして、予め定めた利用モードにより、前記入力データを前記ブロック暗号処理して前記暗号化データを生成するブロック暗号処理手段と、
前記暗号化データと、当該暗号化データのブロック暗号処理に用いられた前記非暗号化データの前記識別子とを対応させて記憶するデータ記憶手段と、
データ要求を受信すると、当該データ要求に含まれる前記識別子と一致する前記識別子に対応する前記暗号化データをデータ記憶手段から取得する要求データ抽出手段と、
この要求データ抽出手段が取得した暗号化データを配信するデータ配信手段と、
を備えることを特徴とするデータ配信装置。 - 前記データ圧縮手段が算出するハッシュ値の長さと、前記ブロック暗号処理手段におけるブロック暗号処理で用いるアルゴリズムのブロック長とを比較し、前記ハッシュ値の長さが前記ブロック長より短い場合には、前記ハッシュ値にパディングを施し、前記ブロック長の長さと等しいハッシュ値ブロックとし、前記ハッシュ値の長さが前記ブロック長より長い場合には、前記ハッシュ値に必要に応じてパディングを施して長さを前記ブロック長の整数倍とした後、前記ブロック長ごとに分割して前記ブロック長の複数ブロックであるハッシュ値分割ブロックとし、前記ハッシュ値ブロック又は1つ以上の前記ハッシュ値分割ブロックを前記ブロック暗号処理手段に出力するビット長調整手段をさらに備える
ことを特徴とする請求項1又は請求項2に記載のデータ配信装置。 - 前記ブロック暗号処理手段は、
前記入力データを前記ブロック暗号処理で用いるアルゴリズムのブロック長に合わせて分割して平文ブロックとし、
前記利用モードのブロックを単位として、
前記複数のハッシュ値分割ブロックのうちの1つを前記初期ベクトルとして、当該初期ベクトルと、前記複数のハッシュ値分割ブロックのうち当該初期ベクトルとは異なるハッシュ値分割ブロックと、1番目の前記平文ブロックとから、1番目の暗号ブロックを生成し、
i−1番目(iは2以上の整数)の前記ブロックの出力と、前記複数のハッシュ値分割ブロックのうちの1つと、i番目の前記平文ブロックとから、i番目の暗号ブロックを生成し、
生成された前記暗号ブロックを連結して前記暗号化データを生成する
ことを特徴とする請求項3に記載のデータ配信装置。 - 前記ブロック暗号処理手段は、
前記複数のハッシュ値が入力された場合において、
前記入力データを前記ブロック暗号処理で用いるアルゴリズムのブロック長に合わせて分割して平文ブロックとし、
前記利用モードのブロックを単位として、
前記複数のハッシュ値分割ブロックのうちの1つを前記初期ベクトルとして、当該初期ベクトルと、1番目の前記平文ブロックとから、1番目の暗号ブロックを生成し、
i−1番目(iは2以上の整数)の前記ブロックの出力と前記複数のハッシュ値分割ブロックのうちの1つとの排他的論理和の出力と、i番目の前記平文ブロックとから、i番目の暗号ブロックを生成し、
生成された前記暗号ブロックを連結して前記暗号化データを生成する
ことを特徴とする請求項3に記載のデータ配信装置。 - 前記ブロック暗号処理手段は、
前記複数のハッシュ値分割ブロックが入力された場合において、
前記複数のハッシュ値分割ブロックの数をM個とすると、前記暗号ブロックを生成する際に、1番目からM番目までのハッシュ値分割ブロックを順次繰り返し用いる
ことを特徴とする請求項4又は請求項5に記載のデータ配信装置。 - 非暗号化データから算出したハッシュ値を用いて暗号化データのブロック復号処理を行い、前記非暗号化データの真正性を検証するデータ受信装置であって、
ヘッダと前記非暗号化データと前記暗号化データとを含んだ配信データを受信するデータ受信手段と、
前記ヘッダに記述された多重化構成の情報に基づき、前記配信データから前記非暗号化データと前記暗号化データとを分離するデータ分離手段と、
このデータ分離手段が分離した非暗号化データから、ハッシュ関数を用いて前記ハッシュ値を算出するデータ圧縮手段と、
前記ハッシュ値を初期ベクトルとして、予め定めた利用モードにより、前記データ分離手段が分離した暗号化データを前記ブロック復号処理して復号データを生成するブロック復号処理手段と、
このブロック復号処理手段が生成した復号データを、予め設定されたフォーマットと比較して、前記復号データと前記予め設定されたフォーマットとが一致するならば前記非暗号化データは真正性を有すると判定し、一致しないならば真正性を有さないと判定するデータ検証手段と、
を備えることを特徴とするデータ受信装置。 - 非暗号化データから算出したハッシュ値を用いて暗号化データのブロック復号処理を行い、前記非暗号化データの真正性を検証するデータ受信装置であって、
データ要求を送信するデータ要求手段と、
非暗号化データ配信装置からヘッダと前記非暗号化データとを受信するとともに、データ配信装置から前記暗号化データを受信するデータ受信手段と、
前記ヘッダと前記非暗号化データとを分離するデータ分離手段と、
このデータ分離手段が分離した非暗号化データから所定の非暗号化データを選択してデータ圧縮手段へ出力するとともに、当該選択した非暗号化データに対応するヘッダに含まれる識別子を抽出し、抽出した前記識別子を前記データ要求手段へ出力するデータ選択手段と、
このデータ選択手段が選択した非暗号化データからハッシュ関数を用いて前記ハッシュ値を算出するデータ圧縮手段と、
前記ハッシュ値を初期ベクトルとして、予め定めた利用モードにより、前記暗号化データを前記ブロック復号処理して復号データを生成するブロック復号処理手段と、
このブロック復号処理手段が生成した復号データを、予め設定されたフォーマットと比較して、前記復号データと前記予め設定されたフォーマットとが一致するならば前記非暗号化データは真正性を有すると判定し、一致しないならば真正性を有さないと判定するデータ検証手段と、
を備え、
前記データ要求手段は、
前記非暗号化データ配信装置へ前記データ要求を送信するとともに、前記データ選択手段から前記識別子が入力された場合には、前記データ配信装置へ当該識別子を含んだ前記データ要求を送信する
ことを特徴とするデータ受信装置。 - 前記データ圧縮手段が算出するハッシュ値の長さと、前記ブロック復号処理手段におけるブロック復号処理で用いるアルゴリズムのブロック長とを比較し、前記ハッシュ値の長さが前記ブロック長より短い場合には、前記ハッシュ値にパディングを施し、前記ブロック長の長さと等しいハッシュ値ブロックとし、前記ハッシュ値の長さが前記ブロック長より長い場合には、前記ハッシュ値に必要に応じてパディングを施して長さを前記ブロック長の整数倍とした後、前記ブロック長ごとに分割して前記ブロック長の複数ブロックであるハッシュ値分割ブロックとし、前記ハッシュ値ブロック又は1つ以上の前記ハッシュ値分割ブロックを前記ブロック復号処理手段に出力するビット長調整手段をさらに備える
ことを特徴とする請求項7又は請求項8に記載のデータ受信装置。 - 前記ブロック復号処理手段は、
前記暗号化データを前記ブロック復号処理で用いるアルゴリズムのブロック長に合わせて分割して暗号ブロックとし、
前記利用モードのブロックを単位として、
前記複数のハッシュ値分割ブロックのうちの1つを前記初期ベクトルとして、当該初期ベクトルと、前記複数のハッシュ値分割ブロックのうち当該初期ベクトルとは異なるハッシュ値分割ブロックと、1番目の前記暗号ブロックとから、1番目の平文ブロックを生成し、
i−1番目(iは2以上の整数)の前記ブロックの出力と、前記複数のハッシュ値分割ブロックのうちの1つと、i番目の前記暗号ブロックとから、i番目の平文ブロックを生成し、
生成された前記平文ブロックを連結して前記復号データを生成する
ことを特徴とする請求項9に記載のデータ受信装置。 - 前記ブロック復号処理手段は、
前記暗号化データを前記ブロック復号処理で用いるアルゴリズムのブロック長に合わせて分割して暗号ブロックとし、
前記利用モードのブロックを単位として、
前記複数のハッシュ値分割ブロックのうちの1つを前記初期ベクトルとして、当該初期ベクトルと、1番目の前記暗号ブロックとから、1番目の平文ブロックを生成し、
i−1番目(iは2以上の整数)の前記ブロックの出力と前記複数のハッシュ値分割ブロックのうちの1つとの排他的論理和の出力と、i番目の前記暗号ブロックとから、i番目の平文ブロックを生成し、
生成された前記平文ブロックを連結して前記復号データを生成する
ことを特徴とする請求項9に記載のデータ受信装置。 - 前記ブロック復号処理手段は、
前記複数のハッシュ値分割ブロックが入力された場合において、
前記複数のハッシュ値分割ブロックの数をM個とすると、前記平文ブロックを生成する際に、1番目からM番目までのハッシュ値分割ブロックを順次繰り返し用いる
ことを特徴とする請求項10又は請求項11に記載のデータ受信装置。 - 入力データと非暗号化データとが入力されて、前記非暗号化データから算出したハッシュ値を用いて前記入力データのブロック暗号処理を行い、暗号化データと前記非暗号化データとを配信するために、コンピュータを、
前記非暗号化データから、ハッシュ関数を用いて前記ハッシュ値を算出するデータ圧縮手段、
前記ハッシュ値を初期ベクトルとして、予め定めた利用モードにより、前記入力データを前記ブロック暗号処理して前記暗号化データを生成するブロック暗号処理手段、
このブロック暗号処理手段が生成した暗号化データと前記非暗号化データとを多重化して、この多重化の構成を記述したヘッダと前記非暗号化データと前記暗号化データとを配信データとして配信するデータ配信手段、
として機能させることを特徴とするデータ配信プログラム。 - 入力データと、非暗号化データ及びその識別子とが入力されて、前記非暗号化データから算出したハッシュ値を用いて前記入力データのブロック暗号処理を行い、暗号化データと前記識別子とを対応付けるとともに、要求に応じて前記暗号化データを配信するために、コンピュータを、
前記非暗号化データから、ハッシュ関数を用いて前記ハッシュ値を算出するデータ圧縮手段、
前記ハッシュ値を初期ベクトルとして、予め定めた利用モードにより、前記入力データを前記ブロック暗号処理して前記暗号化データを生成し、当該暗号化データと、当該暗号化データのブロック暗号処理に用いられた前記非暗号化データの前記識別子とを対応させてデータ記憶手段に記憶させるブロック暗号処理手段、
データ要求を受信すると、当該データ要求に含まれる前記識別子と一致する前記識別子に対応する前記暗号化データをデータ記憶手段から取得する要求データ抽出手段、
この要求データ抽出手段が取得した暗号化データを配信するデータ配信手段、
として機能させることを特徴とするデータ配信プログラム。 - 非暗号化データから算出したハッシュ値を用いて暗号化データのブロック復号処理を行い、前記非暗号化データの真正性を検証するために、コンピュータを、
ヘッダと前記非暗号化データと前記暗号化データとを含んだ配信データを受信するデータ受信手段、
前記ヘッダに記述された多重化構成の情報に基づき、前記配信データから前記非暗号化データと前記暗号化データとを分離するデータ分離手段、
このデータ分離手段が分離した非暗号化データから、ハッシュ関数を用いて前記ハッシュ値を算出するデータ圧縮手段、
前記ハッシュ値を初期ベクトルとして、予め定めた利用モードにより、前記データ分離手段が分離した暗号化データを前記ブロック復号処理して復号データを生成するブロック復号処理手段、
このブロック復号処理手段が生成した復号データを、予め設定されたフォーマットと比較して、前記復号データと前記予め設定されたフォーマットとが一致するならば前記非暗号化データは真正性を有すると判定し、一致しないならば真正性を有さないと判定するデータ検証手段、
として機能させることを特徴とするデータ受信プログラム。 - 非暗号化データから算出したハッシュ値を用いて暗号化データのブロック復号処理を行い、前記非暗号化データの真正性を検証するために、コンピュータを、
データ要求を送信するデータ要求手段、
非暗号化データ配信装置からヘッダと前記非暗号化データとを受信するとともに、データ配信装置から前記暗号化データを受信するデータ受信手段、
前記ヘッダと前記非暗号化データとを分離するデータ分離手段、
このデータ分離手段が分離した非暗号化データから所定の非暗号化データを選択してデータ圧縮手段へ出力するとともに、当該選択した非暗号化データに対応するヘッダに含まれる識別子を抽出し、抽出した前記識別子を前記データ要求手段へ出力するデータ選択手段、
このデータ選択手段が選択した非暗号化データからハッシュ関数を用いて前記ハッシュ値を算出するデータ圧縮手段、
前記ハッシュ値を初期ベクトルとして、予め定めた利用モードにより、前記暗号化データを前記ブロック復号処理して復号データを生成するブロック復号処理手段、
このブロック復号処理手段が生成した復号データを、予め設定されたフォーマットと比較して、前記復号データと前記予め設定されたフォーマットとが一致するならば前記非暗号化データは真正性を有すると判定し、一致しないならば真正性を有さないと判定するデータ検証手段、
として機能させ、
前記データ要求手段は、
前記非暗号化データ配信装置へ前記データ要求を送信するとともに、前記データ選択手段から前記識別子が入力された場合には、前記データ配信装置へ当該識別子を含んだ前記データ要求を送信する
ことを特徴とするデータ受信プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009241441A JP5416544B2 (ja) | 2009-10-20 | 2009-10-20 | データ配信装置、データ受信装置、データ配信プログラム、及び、データ受信プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009241441A JP5416544B2 (ja) | 2009-10-20 | 2009-10-20 | データ配信装置、データ受信装置、データ配信プログラム、及び、データ受信プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011091494A JP2011091494A (ja) | 2011-05-06 |
JP5416544B2 true JP5416544B2 (ja) | 2014-02-12 |
Family
ID=44109368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009241441A Expired - Fee Related JP5416544B2 (ja) | 2009-10-20 | 2009-10-20 | データ配信装置、データ受信装置、データ配信プログラム、及び、データ受信プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5416544B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6108952B2 (ja) * | 2013-05-18 | 2017-04-05 | 日本放送協会 | 送信システム及び受信装置 |
JP6167721B2 (ja) * | 2013-07-23 | 2017-07-26 | 凸版印刷株式会社 | 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
BR112016012359A2 (pt) * | 2013-12-02 | 2017-08-08 | Mastercard International Inc | Método e sistema para transmissão segura de mensagens de serviço de notificação remota para dispositivos móveis sem elementos seguros |
JP6740902B2 (ja) | 2014-08-20 | 2020-08-19 | 日本電気株式会社 | 認証暗号化方法、認証復号方法および情報処理装置 |
KR101663274B1 (ko) * | 2015-01-14 | 2016-10-07 | 주식회사 틸론 | 블록 암호 방식에서 패딩을 수행하는 암호화 장치, 복호화 장치 및 시스템 |
JP6429962B1 (ja) * | 2017-09-04 | 2018-11-28 | ヤフー株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
WO2021044465A1 (ja) * | 2019-09-02 | 2021-03-11 | 株式会社Dnpハイパーテック | 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3858527B2 (ja) * | 1999-08-10 | 2006-12-13 | 富士ゼロックス株式会社 | データ生成装置およびデータ検証装置ならびにその方法 |
US7093126B1 (en) * | 2000-04-14 | 2006-08-15 | International Business Machines Corporation | Encryption schemes with almost free integrity awareness |
US6963976B1 (en) * | 2000-11-03 | 2005-11-08 | International Business Machines Corporation | Symmetric key authenticated encryption schemes |
JP2004325677A (ja) * | 2003-04-23 | 2004-11-18 | Sony Corp | 暗号処理装置および暗号処理方法、並びにコンピュータ・プログラム |
JP4565955B2 (ja) * | 2003-11-11 | 2010-10-20 | パナソニック株式会社 | 情報利用可否判定方法、端末装置、送信装置、コンテンツ配信システム、およびプログラム |
US20060259781A1 (en) * | 2005-04-29 | 2006-11-16 | Sony Corporation/Sony Electronics Inc. | Method and apparatus for detecting the falsification of metadata |
-
2009
- 2009-10-20 JP JP2009241441A patent/JP5416544B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011091494A (ja) | 2011-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3257227B1 (en) | Confidential communication management | |
JP5416544B2 (ja) | データ配信装置、データ受信装置、データ配信プログラム、及び、データ受信プログラム | |
EP3476078B1 (en) | Systems and methods for authenticating communications using a single message exchange and symmetric key | |
US20080133918A1 (en) | Method and apparatus for transmitting data using authentication | |
US7570759B2 (en) | System and method for secure encryption | |
EP2302832A2 (en) | Apparatus and method for providing a security service in a user interface | |
JP2002500388A (ja) | 保護された通信に適当な初期化ベクトルを導出するシステムおよび方法 | |
KR101365603B1 (ko) | 조건부 인증 코드 삽입 방법 및 그 장치, 인증을 통한조건부 데이터 사용 방법 및 그 장치 | |
CN101411114A (zh) | 用于最高安全性应用的加密方法 | |
JP5492007B2 (ja) | コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム | |
JP4193380B2 (ja) | ストリーム転送における電子署名システム | |
JP2009049731A (ja) | 暗号化方法,復号方法,および,鍵管理方法 | |
US20050129243A1 (en) | Encryption key hiding and recovering method and system | |
KR101424972B1 (ko) | 모바일 카드를 이용한 컨텐츠 사용 방법, 호스트 장치, 및모바일 카드 | |
KR101991775B1 (ko) | Fpga기반의 데이터 암복호화 방법 | |
KR20060014441A (ko) | 암호화 통신 시스템 | |
JP2016075765A (ja) | 認証暗号化装置および認証復号装置、ならびに、それらのプログラム | |
WO2014196850A1 (en) | Non-repudiable log entries for file retrieval with semi-trusted server | |
CN106878004B (zh) | 一种防止视频插播篡改的校验方法及装置 | |
KR100977498B1 (ko) | 디지털 저작권 관리 방법 | |
CN112954388B (zh) | 一种数据文件的获取方法、装置、终端设备和存储介质 | |
CN101043334B (zh) | 加密和认证数据以及解密和验证数据真实性的方法和装置 | |
WO2010067797A1 (ja) | 通信装置、サーバ装置及び通信プログラム | |
WO2021044465A1 (ja) | 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造 | |
WO2010076899A1 (ja) | 放送型暗号システム、送信者装置、ユーザ装置、カプセル化/脱カプセル化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120321 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130924 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130930 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131022 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131115 |
|
LAPS | Cancellation because of no payment of annual fees |