JP5523675B2 - 暗号化装置、復号化装置、これらを備えた暗号システム、暗号プログラム及び復号プログラム - Google Patents

暗号化装置、復号化装置、これらを備えた暗号システム、暗号プログラム及び復号プログラム Download PDF

Info

Publication number
JP5523675B2
JP5523675B2 JP2008001255A JP2008001255A JP5523675B2 JP 5523675 B2 JP5523675 B2 JP 5523675B2 JP 2008001255 A JP2008001255 A JP 2008001255A JP 2008001255 A JP2008001255 A JP 2008001255A JP 5523675 B2 JP5523675 B2 JP 5523675B2
Authority
JP
Japan
Prior art keywords
data
random number
number sequence
encryption
data length
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
Application number
JP2008001255A
Other languages
English (en)
Other versions
JP2009164953A (ja
Inventor
賢 野村
博史 峯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008001255A priority Critical patent/JP5523675B2/ja
Publication of JP2009164953A publication Critical patent/JP2009164953A/ja
Application granted granted Critical
Publication of JP5523675B2 publication Critical patent/JP5523675B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、乱数列を用いて元データを暗号化する技術、及び乱数列を用いて暗号データを復号化する技術に関する。
元データの暗号化する方法の一つとして、この元データと乱数列との排他的論理和で暗号データを得る方法がある。
一般的に、様々なデータ長の元データを暗号化するため、元データを取得した後、この元データのデータ長に合ったデータ長の乱数列を生成し、この乱数列を用いて、元データを暗号化している。また、元データのデータ長が比較的長い場合には、元データを幾つかに分割し、分割後の各元データを順次取得し、取得したデータのデータ長に合わせて、乱数列を生成し、この乱数列を用いて取得したデータを暗号化している。
ところで、近年、IP電話やテレビ会議では、第三者の盗聴を防ぐために、暗号処理技術が用いられている。このようなIP電話やテレビ会議では、リアルタイムにデータを送信する必要があるため、暗号化処理の効率化が求められている。
そこで、以下の特許文献1では、元データの一部のみを部分的に乱数列を用いて暗号化することで、暗号化処理時間の短縮を図っている。例えば、映画等の画像データを部分的に暗号化し、この画像データに関する配信契約を行っている者のみがきれいな画像データを見ることができ、他の者は、一部が乱れた画像しか見ることができないようにしている。
特開2006−270343号公報
しかしながら、特許文献1に記載の技術では、この技術をテレビ会議に利用した場合、第三者であっても、会議の内容を部分的に把握することができ、秘密漏洩の可能性が極めて高くなってしまうという問題点がある。
本発明は、このような従来の問題点に着目し、暗号化処理の効率化を図りつつ、高い秘密保持性を確保することを目的とする。
前記問題点を解決するため、元データの暗号化に係る発明は、
予め定められたデータ長の倍数単位で、鍵を用いて乱数列を作成する乱数列作成手段と、前記予め定められたデータ長単位で元データの一部を順次取得し、前記元データの一部の各々を、前記乱数列作成手段で生成された前記予め定められたデータ長の倍数のデータ長の乱数列のうち、該予め定められたデータ長の乱数列を用いて暗号化し、該予め定められたデータ長単位の暗号データを順次作成する暗号化手段と、前記暗号化手段で作成された前記データ長単位の暗号データを分割して、分割された暗号データをパケットのペイロードに含め、該分割された暗号データの送信先と、該分割された暗号データが前記元データのどの位置のデータを暗号化したかを示すオフセット位置と、該元データを再生開始してから該分割された暗号データの部分を再生するまでの時間を示すタイムスタンプと、前記分割された暗号データの暗号化の際に用いられた乱数列の前記鍵と、を前記パケットのヘッダに含めたパケットを生成し、該パケットを通信網に送出する送信手段と、を有していることを特徴とする。
また、前記問題点を解決するため、暗号データの復号化に係る発明は、乱数列を用いて元データが暗号化された暗号データを、該乱数列を用いて復号化する復号化装置において、予め定められたデータ長の倍数単位で、鍵を用いて乱数列を作成する乱数列作成手段と前記予め定められたデータ長単位の暗号データの一部と、該暗号データの一部を再生するまでの時間を示すタイムスタンプを含むヘッダと、を備えるパケットを順次取得し、前記タイムスタンプが一定以上先の時間を示す場合には、前記予め定められたデータ長の倍数のデータ長となるまで前記暗号データを蓄積させた後、各暗号データの一部を、前記乱数列作成手段で生成された前記予め定められたデータ長の倍数のデータ長の乱数列のうち、該予め定められたデータ長の乱数列を用いて順次復号化する復号化手段とを有していることを特徴とする。
係る発明によれば、復号化装置側で暗号データを復号化し、これを漏洩したとしても、漏洩したデータ中に、暗号化され且つ電子透かしとなった公開鍵が含まれているので、この公開鍵により、漏洩元を特定することができる。
本発明によれば、暗号化手段が元データを暗号化する元データの取得単位、又は復号化手段が暗号データを復号化する暗号データの取得単位の倍数で、暗号化又は復号化の際に用いる乱数列を生成するので、乱数列生成工程の回数を減らすことができ、暗号化、復号化の効率化を図ることができる。
以下、本発明に係る暗号システムの各種実施形態について、図面を用いて説明する。
「第一の実施形態」
まず、本発明に係る暗号システムの第一の実施形態について、図1〜図6を用いて説明する。
本実施形態の暗号システムは、図1に示すように、コンテンツである画像データを暗号化して送信する暗号化装置100と、暗号化された画像データを受信して復号化する復号化装置200と、を備えている。暗号化装置100と復号化装置200とは、相互に通信可能にネットワークNで接続されている。
暗号化装置100は、コンピュータで、各種演算処理を実行するCPU110と、このCPU110のワークエリア等になるメモリ120と、各種プログラムやデータ等が格納されているディスク装置130と、入力装置140と、通信インタフェース150と、を備えている。
ディスク装置130には、暗号プログラム、通信プログラム、コンテンツの暗号化の際に用いる鍵が格納されている。さらに、このディスク装置130には、入力装置140から入力されたコンテンツが元データとして格納されている。なお、ここでは、各プログラム等と元データとを同一の記憶装置に格納しているが、各プログラム等を格納する記憶装置の他に、元データ専用の記憶装置を設けてもよい。
CPU110は、機能的に、元データを暗号化する暗号処理部111と、暗号化された元データ、つまり暗号データをパケット化して、通信インタフェース150を介して復号化装置200へ送信する通信処理部119とを有している。この暗号化処理部111は、ディスク装置130に格納されている暗号プログラムをCPU110が実行することで機能する。また、この通信処理部119は、ディスク装置130に格納されている通信プログラムをCPU110が実行することで機能する。
暗号処理部111は、ディスク装置130に格納されている元データをディスクIOサイズ単位又はその倍数単位で取得する元データ取得部112と、乱数列を生成する乱数列生成部113と、乱数列を用いて元データを暗号化する暗号化部114と、暗号化部114からの暗号データを通信パケットに挿入できるサイズに分割して、送信処理部119へ送る暗号データ出力部115と、を有している。
復号化装置200は、コンピュータで、各種演算処理を実行するCPU210と、このCPU210のワークエリア等になるメモリ220と、各種プログラムやデータ等が格納されているディスク装置230と、再生装置240と、通信インタフェース250と、を備えている。
ディスク装置230には、復号プログラム、通信プログラム、暗号データの復号化の際に用いる鍵が格納されている。さらに、このディスク装置230には、暗号データが復号化された復号データ(元データ)が格納される。なお、ここでは、各プログラム等と復号データとを同一の記憶装置に格納するようにしているが、各プログラム等を格納する記憶装置の他に、復号データ専用の記憶装置を設けてもよい。
CPU210は、機能的に、暗号データを復号化する復号処理部211と、通信インタフェース250を介して通信パケットを受信して分解し、この通信パケットから暗号データを得る通信処理部219とを有している。この復号化処理部211は、ディスク装置230に格納されている復号プログラムをCPU210が実行することで機能する。また、この通信処理部219は、ディスク装置230に格納されている通信プログラムをCPU210が実行することで機能する。
復号処理部211は、通信処理部219で得られた暗号データを取得してディスクIOサイズ単位又はその倍数単位で出力する暗号データ取得部212と、乱数列を生成する乱数列生成部213と、乱数列を用いて暗号データを復号化する復号化部214と、復号化部214からの復号データ(元データ)をディスク装置230又は再生装置240へ出力する復号データ出力部215と、を有している。
次に、図2に示すフローチャートに従って、暗号化装置100の暗号化処理部111の動作について説明する。この暗号化処理部111は、例えば、入力装置140からの暗号化開始の指示を受け付けると起動する。
暗号化処理部111の元データ取得部112は、ディスク装置130に読み込むべき元データがあるか否かを判断する(S10)。元データがあれば、このディスク装置130から、このディスク装置130のディスクIOサイズ単位又はその倍数単位で元データを順次読み込む(S11)。なお、ディスクIOサイズ単位は、予め設定されている値であるが、ここでは、126KB、256KB、512KB、1024KB等のいずれかである。次に、乱数生成部113は、暗号化部114に乱数列が存在するか否かを判断し(S12)、乱数列が存在しなければ、元データの読み込み単位の倍数のデータサイズの乱数列を生成する(S13)。ステップ12で乱数列が存在すると判断された場合、ステップ13で乱数列が生成された場合、暗号化部114は、ディスクIOサイズ又はその倍数サイズの元データと、同じくディスクIOサイズ又はその倍数サイズの乱数列とを排他的論理和をとって、元データを暗号化する、すなわち、ディスクIOサイズ又はその倍数サイズの暗号データを生成する(S14)。
暗号化部115で生成されたディスクIOサイズ又はその倍数サイズの暗号データは、暗号出力部115で、復号化装置200へ送る送信パケットのペイロードに収まるサイズに分割され、元データ取得部112で得られた各種データと共に、通信処理部119に出力される(S15)。暗号データ出力部115から暗号データ等が通信処理部119へ出力されると、ステップ10へ戻る。
通信処理部119では、図6に示すように、暗号データ19をペイロード18に収めた送信パケット10が生成され、通信インタフェース150を介して、復号化装置200へ送信される。この送信パケット10のヘッダ11には、パケット名12、送信先アドレス13、ペイロード18に収められる暗号データ19のシーケンス番号、この暗号データ19のオフセット位置、この暗号データ19のタイムスタンプ16、この暗号データ19を復号化する際に用いる乱数列の生成のための鍵17が収められている。
オフセット位置とは、ペイロード18に収められる暗号データが元データのどの位置の部分に該当するかを示すもので、具体的には、元データの先頭位置を基準にして、この暗号データが示す元データ部分の先頭位置を示すものである。また、タイムスタンプとは、元データの先頭位置の再生時刻から、ペイロードに含まれている暗号データが示す元データ部分の先頭再生時刻までの時間を示すものである。
オフセット位置及びタイムスタンプは、いずれも、元データ中に含まれているデータであるため、元データ取得部112は、ディスク装置130から元データを取得する際に、これらのデータを把握し、これを暗号データ出力部115に渡す。暗号データ出力部115は、自らが作成したシーケンス番号14、元データ取得部112から送られてきたオフセット位置15及びタイムスタンプ16、さらに、ディスク装置130に格納されている鍵17を、送信パケット10のペイロード18に収まるサイズの暗号データ19と共に、通信処理部119に渡す。そして、通信処理部119は、前述したように、送信パケット10のヘッダ11に、シーケンス番号14、オフセット位置15、タイムスタンプ16、鍵17等を収め、ペイロード18に暗号データ19を収めて、通信インタフェース150を介して、この送信パケット10を復号化装置200へ送信する。
次に、図4及び図5を用いて、本実施形態における暗号化装置100による効果について説明する。
図4に示すように、ディスク装置130には、比較的データ長が長い画像データが格納されているとする。元データ取得部112は、このディスク装置130から、ディスクIOサイズ(例えば、250KB)の元データを取得する(S11)。一方、乱数列生成部113は、ディスクIOサイズの倍数分、例えば、2倍の乱数列を生成する(S13)。暗号化部114は、元データ取得部112が取得したディスクIOサイズの元データに対して、乱数列生成部113が生成した乱数列のうちの1/2の乱数列、つまり、ディスクIOサイズの乱数列を用いて、この元データを暗号化する(S14)。暗号データ出力部115は、ディスクIOサイズの暗号データをパケットに収まるサイズに分割して、通信制御部119へ出力する(S15)。
再び、元データ取得部112は、ディスク装置130から、ディスクIOサイズの元データを取得する(S11)。この時点で、先に生成された乱数列のうちの1/2の乱数列、つまり、ディスクIOサイズの乱数列は残っているので、暗号化部114は、元データ取得部112が新たに取得した元データに対して、残っている乱数列を用いて、この元データを暗号化する(S14)。すなわち、図5のシーケンス図に示すように、2回目に元データが読み込まれると(S11)、乱数列の生成工程(S13)を経ずに、直ちに、この元データが暗号化される(S14)。
以上のように、ディスクIOサイズで元データを取得する場合、ディスクIOサイズの2倍のサイズで乱数列を生成すると、2回の元データの読み込みに対して、1回の乱数列生成で済む。当然、元データの3倍のサイズの乱数列と生成すると、3回の元データの読み込みに対して、一回の乱数列生成で済む。従って、本実施形態では、元データの全てを暗号化しつつも、暗号化処理の効率を高めることができる。
また、本実施形態では、ディスクIOサイズ単位で処理を行っているため、コンピュータによる暗号化処理が効率よく行える。さらに、暗号化は、データサイズが大きいほど処理速度が速くなる傾向にあるため、ディスクIOサイズとして256KB等の比較的大きなサイズを設定することでも、暗号化処理の効率をさらに高めることができる。
次に、図3に示すフローチャートに従って、復号化装置200の復号化処理部211の動作について説明する。この復号化処理部211は、例えば、通信インタフェース250が暗号化装置100からのパケットを受信すると、または、外部からからの復号化開始の指示を受け付けると起動する。
復号化処理部211の暗号データ取得部212は、通信処理部219に、暗号化装置100からの通信パケットの分解で得られた暗号データがあるか否かを判断し(S20)、暗号データがあれば、この通信処理部219から暗号データを順次読み込み、メモリ220上に配置する(S21)。さらに、暗号データ取得部212は、暗号化装置100からの通信パケットのヘッダに収められた各種データも併せて順次読み込む。そして、読み込んだ各種データのうち、シーケンス番号14(図6)が「1」、つまり、最初の暗号データを取得すると、この暗号データの復号データを復号データ出力部215から出力する出力タイミングを定める。その後は、この出力タイミングを基準にして、各暗号データに対する復号データの出力タイミングを該当暗号データのタイムスタンプ16(図6)に基づいて定める。暗号データ取得部212は、この出力タイミングに余裕があるか否かを判断し(S22)、余裕が有れば、メモリ220上の暗号データのデータサイズがディスクIOサイズ又はその倍数サイズになったか否かを判断する(S23)。
以下、出力タイミングに余裕がある限り、メモリ220上の暗号データのデータサイズがディスクIOサイズ又はその倍数サイズになるまで、通信処理部219から暗号データを順次読み込み、各暗号データのシーケンス番号順に又はオフセット位置に従って、各暗号データをメモリ220上に配置する。
メモリ220上の暗号データのデータサイズがディスクIOサイズ又はその倍数サイズにならなくとも、つまり暗号データが一部欠けていても、出力タイミングに余裕がなくなると、又は、メモリ220上の暗号データのデータサイズがディスクIOサイズ又はその倍数サイズになると、乱数生成部213は、復号化部214に乱数列が存在するか否かを判断する(S25)。そして、乱数列が存在しなければ、ディスクIOサイズ又はその倍数サイズの、倍数乱数列を生成する(S26)。この際、乱数列生成部213は、暗号化装置200からの通信パケットのヘッダに収められた鍵17(図6)を用いて乱数列を生成する。ステップ25で乱数列が存在すると判断された場合、ステップ26で乱数列が生成された場合、復号化部214は、ディスクIOサイズ又はその倍数サイズの暗号データに対して、同じくディスクIOサイズ又はその倍数サイズの乱数列を用いて、暗号データを復号化し、ディスクIOサイズの復号データを生成する(S29)。
この復号データは、復号データ出力部215からディスク装置230又は再生装置240へ出力される(S28)。なお、復号データ出力部215からの出力先が、ディスク装置230であるか、再生装置240であるかにより、ステップ22で用いられる出力タイミングは変わる。すなわち、出力先が再生装置240である場合よりも、出力先がディスク装置230である場合の方が、出力タイミングは厳格である必要はなく且つ遅めに設定してもよい。
復号データ出力部215から復号データが出力されると(S28)、ステップ20へ戻る。
ところで、シーケンス番号が最後の暗号データをメモリ220上に配置した際、このメモリ220上の暗号データのサイズは、ディスクIOサイズ又はその倍数サイズになっていないことの方が多い。このため、ステップ23で、メモリ220上の暗号データのサイズがディスクIOサイズ又はその倍数サイズになっていないと判断した場合(ステップ23でNOの場合)、暗号データ取得部212は、最後の暗号データであるか否かを判断し、最後の暗号データで無ければステップ20に戻り、最後の暗号データであればステップ25に進む。
次に、図4及び図5を用いて、本実施形態における復号化装置200による効果について説明する。
暗号化装置100からは、前述したように、ペイロードに暗号データを収めた複数のパケットが送られてくる。復号化装置200の通信処理部219は、これらのパケットを順次分解し、各パケットから暗号データ等を得る。復号化装置200の暗号データ取得部212は、図4に示すように、通信処理部219から順次暗号データを読み出し、各暗号データのシーケンス番号順に又はオフセット位置に従って、各暗号データをメモリ220上に配置する(S21)。
乱数生成部213は、メモリ220上の暗号データのデータサイズがディスクIOサイズになると、又は、メモリ220上の暗号データのデータサイズがディスクIOサイズにならなくとも、つまり暗号データが一部欠けていても、出力タイミングに余裕がなくなると、ディスクIOサイズの倍数分、例えば、2倍の乱数列を生成する(S26)。復号化部214は、暗号データ取得部212が取得したディスクIOサイズ(このサイズでない場合もある)の暗号データに対して、乱数列生成部213が生成した乱数列のうちの1/2の乱数列、つまり、ディスクIOサイズの乱数列を用いて、この暗号データを復号化する(S27)。そして、復号データ出力部215は、ディスクIOサイズの復号データをディスク装置230又は再生装置240へ出力する(S28)。
再び、暗号データ取得部212は、メモリ220上の暗号データサイズがディスクIOサイズになるまで、通信処理部219から順次暗号データを読み出し、各暗号データのシーケンス番号順に又はオフセット位置に従って、各暗号データをメモリ220上に配置する(S21)。この時点で、先に生成された乱数列のうちの1/2の乱数列、つまり、ディスクIOサイズの乱数列は残っているので、復号化部214は、暗号データ取得部212が新たに取得したディスクIOサイズの暗号データに対して、残っている乱数列を用いて、この暗号データを復号化する(S27)。すなわち、図5のシーケンス図に示すように、2回目に暗号データがディスクIOサイズになるまで読み込まれると(S21)、乱数列の生成工程(S26)を経ずに、直ちに、この暗号データが復号化される(S27)。
以上のように、ディスクIOサイズで暗号データを取得する場合、ディスクIOサイズの2倍のサイズで乱数列を生成すると、2回のディスクIOサイズの暗号データの読み込みに対して、1回の乱数列生成で済む。当然、暗号データの3倍のサイズの乱数列と生成すると、3回の暗号データの読み込みに対して、一回の乱数列生成で済む。従って、本実施形態では、復号化処理の効率を高めることができる。
また、この復号化装置200においても、前述の暗号化装置100と同様に、ディスクIOサイズ単位又はその倍数サイズで処理を行っているため、コンピュータによる復号化処理が効率よく行える。さらに、復号化は、データサイズが大きいほど処理速度が速くなる傾向にあるため、ディスクIOサイズとして256KB等の比較的大きなサイズを設定することでも、復号化処理の効率をさらに高めることができる。
なお、本実施形態において、暗号化装置100におけるディスクIOサイズ単位と復号化装置200におけるディスクIOサイズ単位とを同じサイズにしている。これは、暗号化装置100での暗号化処理と、復号化装置200での復号化処理との同期を取り、元データをできる限りリアルタイムに再生できるようにするためである。このため、リアルタイム性があまり要求されない場合、例えば、復号化装置200で復号化データを一旦ディスク装置230に格納するような場合には、暗号化装置100におけるディスクIOサイズ単位と復号化装置200におけるディスクIOサイズ単位とが異なっていてもよいし、同じディスクIOサイズ単位であっても、一方がこのディスクIOサイズ単位でデータを処理し、他方がこのディスクIOサイズ単位の2,3,…倍でデータを処理するようにしてもよい。
また、本実施形態の暗号化装置100では、元データを一旦ディスク装置130に格納した後、このディスク装置130に格納されている元データを読み出して、これを暗号化しているが、入力装置140から入力された元データを直接取得して、これを暗号化してもよい。さらに、本実施形態の復号化装置200では、通信インタフェース250で受信したパケット中の暗号データを暗号データ取得部212が取得しているが、通信インタフェース250で受信したパケット中の暗号データを一旦ディスク装置230に格納し、暗号データ取得部212がこのディスク装置230から暗号データを取得するようにしてもよい。
「第二の実施形態」
次に、本発明に係る暗号システムの第二の実施形態について、図7〜図9を用いて説明する。
本実施形態の暗号システムは、図1を用いて説明した第一の実施形態の暗号システムと基本的に同じ構成である。但し、暗号化装置100における暗号処理と復号化装置200の復号処理のそれぞれにおける処理手順が若干異なっている。
すなわち、第一の実施形態の暗号化処理(図2)及び復号化処理(図3)では、データ読込後に(S11,S21)、乱数列の有無の判断(S12,S25)及び乱数列の生成(S13,S26)を行っているが、本実施形態の暗号化処理(図7)及び復号化処理(図8)では、データ読込前に(S11,S21)、乱数列の有無の判断(S12a,S25a)及び乱数列の生成(S13a,S26a)を行う。
このように、乱数例の生成を前倒しに行うことで、第一の実施形態のシーケンス図(図5)と本実施形態のシーケンス図(図9)とを比較すれば理解できるように、X回目のデータ読込(S11,S21)と(X+1)回目のデータ読込(S11,S21)の間の間隔を短くすることができ、より暗号化処理及び復号化処理の効率を高めることができる。
「第三の実施形態」
次に、本発明に係る暗号システムの第三の実施形態について、図10を用いて説明する。
本実施形態の暗号システムは、第一及び第二の実施形態とハードウェア構成は同じであるものの、暗号化装置及び復号化装置のCPUの機能構成が異なっている。
本実施形態の暗号化装置100aの暗号処理部111aは、第一及び第二の実施形態と同様に、元データ取得部112と乱数列生成部113と暗号化部114と暗号データ出力部115とを備えている他に、復号化装置200aから乱数列を生成する際に使用する公開鍵17aを復号化装置200aから受信するためのID受信処理制御部116と、IDである公開鍵17aを暗号化するID暗号化部117と、元データ取得部112が取得した元データに暗号化された公開鍵を電子透かしとして挿入する電子透かし挿入部118と、を備えている。
また、本実施形態の復号化装置200aの復号化処理部211aは、第一及び第二の実施形態と同様に、暗号データ取得部212と乱数列生成部213と復号化部214と復号データ出力部215とを備えている他に、暗号化装置200aで乱数列を生成する際に使用する公開鍵17aを通信処理部219にパケット化させて暗号化装置200aへ送信させるID送信処理制御部216を備えている。
次に、本実施形態の暗号システムの動作について説明する。
まず、元データの暗号化及び復号化の前処理について説明する。
まず、復号化装置200の図示されていない入出力装置は、前述の公開鍵17aと、この公開鍵17aとペアとなる秘密鍵17bとを取り込んで、ディスク装置230に格納する。この公開鍵17aと秘密鍵17bは、例えば、復号化装置200の所有者が、暗号化装置100の運営者と暗号化されたコンテンツの配信の契約を結んだときに定められる。
次に、ID送信処理制御部216は、ディスク装置230に格納されている公開鍵17aを取得し、これを通信処理部219に渡してパケット化させ、暗号化装置100aへ送信させる。
暗号化装置100aの通信処理部119は、このパケットを受信すると、パケットを分解して、このパケットのペイロードに収められている公開鍵17aと、このパケットのヘッダに収められている送信元AとをID受信処理制御部116に渡す。このID受信処理制御部116は、公開鍵17aと送信元Aとを関連付けて、ディスク装置130に格納する。
以上で前処理が終了する。
次に、暗号化装置100aでの暗号化処理について説明する。
まず、ID暗号化部117は、ディスク装置130に格納されている公開鍵17aと、これを暗号化する際に使用する鍵とを取得し、この鍵を用いて公開鍵17aを暗号化すると共に、この暗号データを電子透かしとする。
元データ取得部112がディスク装置130から元データをディスクIO単位で順次読み込むと、電子透かし挿入部118は、元データ取得部112が読み込んだ元データに電子透かしを挿入する。電子透かし挿入部118は、一回の元データ読込毎に、この電子透かしを一つこの元データに挿入してもよいし、複数回の元データ読込毎に、この電子透かしを一つ元データに挿入してもよいし、さらに、一回の元データ読込毎に、この電子透かしを複数この元データに挿入してもよい。
一方、乱数列生成部113も、ディスク装置130に格納されている公開鍵17aを取得する。そして、この公開鍵17aを用いて、ディスクIO単位の倍数の乱数列を生成する。そして、暗号化部114は、電子透かしが挿入された元データに対して、乱数列を用いて暗号化処理を施す。この暗号データは、暗号データ出力部115、通信処理部119等を経て、復号化装置200へ送られる。
復号化装置200の暗号データ取得部212は、暗号化装置100からの暗号データを取得する。一方、復号化装置200の乱数列生成部213は、ディスク装置230に格納されている秘密鍵17bを取得し、この秘密鍵17bを用いて、ディスクIO単位の倍数の乱数列を生成する。そして、復号化部214は、暗号データに対して、乱数列を用いて復号化処理を施す。この復号データは、復号データ出力部215を経て、ディスク装置230又は再生装置240へ出力される。
復号化装置200の所有者Aは、暗号化装置100から送られてきた暗号化されたコンテンツを再生装置240で再生しても、基本的に、コンテンツ中に含まれている公開鍵17aを認識することはできない。これは、この公開鍵17aがコンテンツ中に電子透かしとして挿入されているからである。
仮に、復号化装置200の所有者Aが、このコンテンツを第三者に配信等した場合、暗号化装置100の運営者は、このコンテンツ中に公開鍵17aの存在を把握することができれば、この公開鍵17aと復号化装置200の所有者Aとが関連付けられているため、このコンテンツの漏洩元をこの所有者Aに特定することができる。
しかしながら、公開鍵17aは、第三者が入手可能であるため、悪意の第三者がこの公開鍵17aを入手し、電子透かし技術を用いて、コンテンツ中に公開鍵17aを埋め込んで、例えば、これを不特定多数の者に配信すると、コンテンツの漏洩元が分からなくなる。
このため、本実施形態では、公開鍵17aを電子透かしとして埋め込むにあたり、この公開鍵17aを暗号化してから、電子透かしとして埋め込むようにしている。
したがって、本実施形態では、コンテンツの漏洩元を特定でき、確実なコンテンツ管理を行うことができる。
なお、本実施形態では、第一又は第二の実施形態の暗号化処理及び復号化処理を採用しているが、鍵を用いて元データを暗号化し、この鍵とペアとなる鍵で暗号データを復号化するものであれば、いかなる方法で暗号化処理、復号化処理するものでも適用できることは言うまでもない。
本発明に係る第一の実施形態における暗号システムの構成図である。 本発明に係る第一の実施形態における暗号化処理のフローチャートである。 本発明に係る第一の実施形態における復号化処理のフローチャートである。 本発明に係る第一の実施形態における元データの読取サイズと乱数列の生成サイズとの関係、暗号データの取得サイズと乱数列の生成サイズとの関係を示す説明図である。 本発明に係る第一の実施形態における暗号システムのシーケンス図である。 本発明に係る第一の実施形態における暗号化装置からの送信パケットのデータ構成を示す説明図である。 本発明に係る第二の実施形態における暗号化処理のフローチャートである。 本発明に係る第二の実施形態における復号化処理のフローチャートである。 本発明に係る第二の実施形態における暗号システムのシーケンス図である。 本発明に係る第三の実施形態における暗号システムの構成図である。
符号の説明
17a:公開鍵、17b:秘密鍵、100,100a:暗号化装置、110,110a:CPU、111,111a:暗号処理部、112:元データ取得部、113:乱数列生成部、114:暗号化部、115:暗号データ出力部、116:ID受信処理制御部、117:ID暗号化部、118:電子透かし挿入部、119:通信処理部、120,220:メモリ、130,230:ディスク装置、140:入力装置、150,250:通信インタフェース、200,200a:復号化装置、210,210a:CPU、211,211a:復号化処理部、212:暗号データ取得部、213:乱数列生成部、214:復号化部、215:復号データ出力部、216:ID送信処理制御部

Claims (14)

  1. 乱数列を用いて元データを暗号化する暗号化装置において、
    予め定められたデータ長の倍数単位で、鍵を用いて乱数列を作成する乱数列作成手段と、
    前記予め定められたデータ長単位で元データの一部を順次取得し、前記元データの一部の各々を、前記乱数列作成手段で生成された前記予め定められたデータ長の倍数のデータ長の乱数列のうち、該予め定められたデータ長の乱数列を用いて暗号化し、該予め定められたデータ長単位の暗号データを順次作成する暗号化手段と、
    前記暗号化手段で作成された前記データ長単位の暗号データを分割して、分割された暗号データをパケットのペイロードに含め、該分割された暗号データの送信先と、該分割された暗号データが前記元データのどの位置のデータを暗号化したかを示すオフセット位置と、該元データを再生開始してから該分割された暗号データの部分を再生するまでの時間を示すタイムスタンプと、前記分割された暗号データの暗号化の際に用いられた乱数列の前記鍵と、を前記パケットのヘッダに含めたパケットを生成し、該パケットを通信網に送出する送信手段と、
    を有していることを特徴とする暗号化装置。
  2. 請求項1に記載の暗号化装置において、
    前記乱数列作成手段は、前記暗号化手段が前記データ長単位の元データの一部を取得する前に、前記予め定められたデータ長の倍数単位の乱数列を作成する、
    ことを特徴とする暗号化装置。
  3. 請求項1及び2のいずれか一項に記載の暗号化装置において、
    前記元データが記憶される記憶装置を有し、
    前記暗号化手段は、前記記憶装置のデータ入出力単位の倍数を前記データ長単位として、該記憶装置から前記元データの一部の各々を取得し、該データ長単位の元データの一部を暗号化する、
    ことを特徴とする暗号化装置。
  4. 乱数列を用いて元データが暗号化された暗号データを、該乱数列を用いて復号化する復号化装置において、
    予め定められたデータ長の倍数単位で、鍵を用いて乱数列を作成する乱数列作成手段と、
    前記予め定められたデータ長単位の暗号データの一部と、該暗号データの一部を再生するまでの時間を示すタイムスタンプを含むヘッダと、を備えるパケットを順次取得し、前記タイムスタンプが一定以上先の時間を示す場合には、前記予め定められたデータ長の倍数のデータ長となるまで前記暗号データの一部を蓄積させた後、各暗号データの一部を、前記乱数列作成手段で生成された前記予め定められたデータ長の倍数のデータ長の乱数列のうち、該予め定められたデータ長の乱数列を用いて順次復号化する復号化手段と、
    を有していることを特徴とする復号化装置。
  5. 請求項4に記載の復号化装置において、
    前記乱数列作成手段は、前記復号化手段が前記データ長単位の暗号データの一部を取得する前に、前記予め定められたデータ長の倍数単位の乱数列を作成する、
    ことを特徴とする復号化装置。
  6. 請求項4及び5のいずれか一項に記載の復号化装置において、
    前記暗号データ又は該暗号データが復号化されたデータが記憶される記憶装置を有し、
    前記復号化手段は、前記記憶装置のデータ入出力単位の倍数を前記データ長単位として、前記暗号データの一部を取得し、該データ長単位の暗号データの一部を復号化する、
    ことを特徴とする復号化装置。
  7. 請求項1に記載の暗号化装置と、
    前記暗号化装置で暗号化された暗号データを復号化する復号化装置と、
    を備え、
    前記復号化装置は、
    前記暗号化装置からの1以上の前記パケットを受信し、各パケットを分解して前記分割された暗号データを取り出す受信手段と、
    前記受信手段が取り出した前記各パケットを分解して得られた前記分割された暗号データを、該各パケットのヘッダに含まれている前記オフセット位置に従って、前記分割された暗号データを順に並べて、前記データ長単位の暗号データの一部を得る暗号データ取得手段と、
    前記分割された暗号データの暗号化の際に用いられた乱数列の前記鍵を用いて、前記データ長単位の倍数単位で、乱数列を作成する乱数列作成手段と、
    前記暗号データ取得手段で得られた前記データ長単位の暗号データの一部を、前記乱数列作成手段で生成された前記データ長単位の倍数のデータ長の乱数列のうち、該データ長単位のデータ長の乱数列を用いて順次復号化する復号化手段と、を有している、
    ことを特徴とする暗号システム。
  8. 請求項7に記載の暗号システムにおいて、
    前記復号化装置は、
    前記復号化手段が復号化したデータを再生する再生手段、又は該復号化したデータを記憶する記憶手段を有している、
    ことを特徴とする暗号システム。
  9. コンピュータに、乱数列を用いて元データを暗号化する手順を行わせる暗号プログラムであって、
    前記コンピュータを、制御手段と、記憶手段と、入力手段として機能させ、
    前記制御手段に対して、
    予め定められたデータ長の倍数単位で、鍵を用いて乱数列を作成する乱数列作成ステップと、
    前記コンピュータの入力手段又は記憶手段から、前記予め定められたデータ長単位で元データの一部を順次取得し、前記元データの一部の各々を、前記乱数列作成ステップで生成された前記予め定められたデータ長の倍数のデータ長の乱数列のうち、該予め定められたデータ長の乱数列を用いて暗号化し、該予め定められたデータ長単位の暗号データを順次作成する暗号化ステップと、
    前記暗号化ステップで作成された前記データ長単位の暗号データを分割して、分割された暗号データをパケットのペイロードに含め、該分割された暗号データの送信先と、該分割された暗号データが前記元データのどの位置のデータを暗号化したかを示すオフセット位置と、該元データを再生開始してから該分割された暗号データの部分を再生するまでの時間を示すタイムスタンプと、前記分割された暗号データの暗号化の際に用いられた乱数列の前記鍵と、を前記パケットのヘッダに含めたパケットを生成し、該パケットを通信網に送出する送信ステップと、
    を実行させることを特徴とする暗号プログラム。
  10. 請求項に記載の暗号プログラムにおいて、
    前記乱数列作成ステップでは、前記暗号化ステップで前記データ長単位の元データの一部を取得する前に、前記予め定められたデータ長の倍数単位の乱数列を作成する、
    ことを特徴とする暗号プログラム。
  11. 請求項及び1のいずれか一項に記載の暗号プログラムにおいて、
    前記コンピュータの前記記憶手段には、前記元データが記憶され、
    前記暗号化ステップでは、前記記憶手段のデータ入出力単位の倍数を前記データ長単位として、該記憶手段から前記元データの一部を取得し、該データ長単位の元データの一部を暗号化する、
    ことを特徴とする暗号プログラム。
  12. コンピュータに、乱数列を用いて元データが暗号化された暗号データを、該乱数列を用いて復号化する手順を行わせる復号プログラムであって、
    前記コンピュータを、制御手段と、記憶手段と、入力手段として機能させ、
    前記制御手段に対して、
    予め定められたデータ長の倍数単位で、鍵を用いて乱数列を作成する乱数列作成ステップと、
    前記コンピュータの前記入力手段又は前記記憶手段から、前記予め定められたデータ長単位の暗号データの一部と、該暗号データの一部を再生するまでの時間を示すタイムスタンプを含むヘッダと、を備えるパケットを順次取得し、前記タイムスタンプが一定以上先の時間を示す場合には、前記予め定められたデータ長の倍数のデータ長となるまで乱数列前記暗号データを蓄積させた後、各暗号データの一部を、前記乱数列作成ステップで生成された前記予め定められたデータ長の倍数のデータ長の乱数列のうち、該予め定められたデータ長の乱数列を用いて順次復号化する復号化ステップと、
    を実行させることを特徴とする復号プログラム。
  13. 請求項1に記載の復号プログラムにおいて、
    前記乱数列作成ステップでは、前記復号化ステップで前記データ長単位の暗号データの一部を取得する前に、前記予め定められたデータ長の倍数単位の乱数列を作成する、
    ことを特徴とする復号プログラム。
  14. 請求項1及び1のいずれか一項に記載の復号プログラムにおいて、
    前記コンピュータの前記記憶手段には、前記暗号データ又は該暗号データが復号化されたデータが記憶され、
    前記復号化ステップでは、前記記憶手段のデータ入出力単位の倍数を前記データ長単位として、前記暗号データの一部を取得し、該データ長単位の暗号データの一部を復号化する、
    ことを特徴とする復号プログラム。
JP2008001255A 2008-01-08 2008-01-08 暗号化装置、復号化装置、これらを備えた暗号システム、暗号プログラム及び復号プログラム Expired - Fee Related JP5523675B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008001255A JP5523675B2 (ja) 2008-01-08 2008-01-08 暗号化装置、復号化装置、これらを備えた暗号システム、暗号プログラム及び復号プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008001255A JP5523675B2 (ja) 2008-01-08 2008-01-08 暗号化装置、復号化装置、これらを備えた暗号システム、暗号プログラム及び復号プログラム

Publications (2)

Publication Number Publication Date
JP2009164953A JP2009164953A (ja) 2009-07-23
JP5523675B2 true JP5523675B2 (ja) 2014-06-18

Family

ID=40967024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008001255A Expired - Fee Related JP5523675B2 (ja) 2008-01-08 2008-01-08 暗号化装置、復号化装置、これらを備えた暗号システム、暗号プログラム及び復号プログラム

Country Status (1)

Country Link
JP (1) JP5523675B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5573272B2 (ja) * 2010-03-24 2014-08-20 富士通株式会社 デジタルコンテンツの配信プログラム,再生プログラム,配信装置及び再生装置
JP6697307B2 (ja) * 2016-03-31 2020-05-20 株式会社メガチップス 暗号化装置、プログラム、及び暗号化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000004223A (ja) * 1998-06-16 2000-01-07 Toyo Commun Equip Co Ltd 暗号・認証システム
JP4140101B2 (ja) * 1998-11-19 2008-08-27 ソニー株式会社 信号処理回路
JP2000231758A (ja) * 1999-02-10 2000-08-22 Toshiba Corp データ記憶装置、暗号化データの記録方法および記録媒体
JP2004363739A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
CN101479985B (zh) * 2006-06-29 2012-05-30 京瓷株式会社 内容数据、发送装置、接收装置以及解码方法

Also Published As

Publication number Publication date
JP2009164953A (ja) 2009-07-23

Similar Documents

Publication Publication Date Title
KR101321971B1 (ko) 콘텐츠의 안전한 배포를 위한 방법, 장치 및 시스템
US10958875B2 (en) Method and system encrypting and decrypting audio/video file
JP5154830B2 (ja) コンテンツ配信システム
JP2005287039A (ja) 共通スクランブル処理
JP5399377B2 (ja) コンテンツ鍵の変更を支援する方法および装置
KR102206142B1 (ko) 미디어 콘텐츠를 워터마킹하기 위한 방법 및 그 방법을 구현하기 위한 시스템
US20080013726A1 (en) Content transmission server and content transmission method
JP4614377B2 (ja) 暗号化データ管理システム及び方法、記憶媒体
JP4379031B2 (ja) 情報伝送方式及びそれに用いる情報送信装置及び情報受信装置
US20060018465A1 (en) Information-processing system, information-processing apparatus, information-processing method, and program
CN108599928B (zh) 密钥管理方法及装置
CN103237011B (zh) 数字内容加密传送方法以及服务器端
JP3575951B2 (ja) 機器認証方法及び装置並びに認証システム
JP5523675B2 (ja) 暗号化装置、復号化装置、これらを備えた暗号システム、暗号プログラム及び復号プログラム
US7688860B2 (en) Data transmission apparatus, data reception apparatus, data transmission method, and data reception method
JP2011199812A (ja) デジタルコンテンツの配信プログラム,再生プログラム,配信装置及び再生装置
JP2008124935A (ja) 送信装置、受信装置、情報通信システム
US20200275142A1 (en) A method for delivering digital content to at least one client device
KR20070060955A (ko) 저작권 보호를 위한 디지털 콘텐츠 송수신 장치 및 그 방법
JP2005202048A (ja) 暗号通信システム、そのシステムに使用される暗号装置および復号装置、暗号化方法および復号化方法、暗号化プログラムおよび復号化プログラム、ならびに記録媒体
JP2004135005A5 (ja)
JP2004139170A (ja) 電子メールシステム
JP2000267565A (ja) 暗号化復号化装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005020218A (ja) ライセンス情報送信装置、ライセンス情報送信プログラム、ライセンス情報送信方法およびライセンス情報受信装置、ライセンス情報受信プログラム、ライセンス情報受信方法
JP4636896B2 (ja) ストリームデータ再生装置、ストリームデータ再生プログラム及びストリームデータ再生方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140409

LAPS Cancellation because of no payment of annual fees