JPWO2007116970A1 - データ暗号化方法、暗号化データ再生方法、暗号化データ生成装置、暗号化データ再生装置、および暗号化データ構造 - Google Patents
データ暗号化方法、暗号化データ再生方法、暗号化データ生成装置、暗号化データ再生装置、および暗号化データ構造 Download PDFInfo
- Publication number
- JPWO2007116970A1 JPWO2007116970A1 JP2007544669A JP2007544669A JPWO2007116970A1 JP WO2007116970 A1 JPWO2007116970 A1 JP WO2007116970A1 JP 2007544669 A JP2007544669 A JP 2007544669A JP 2007544669 A JP2007544669 A JP 2007544669A JP WO2007116970 A1 JPWO2007116970 A1 JP WO2007116970A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- header
- frame
- encrypted data
- encrypted
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 142
- 238000006243 chemical reaction Methods 0.000 claims description 60
- 238000000926 separation method Methods 0.000 claims description 22
- 238000004458 analytical method Methods 0.000 abstract description 140
- 238000013523 data management Methods 0.000 abstract description 19
- 230000015654 memory Effects 0.000 description 182
- 238000010586 diagram Methods 0.000 description 53
- 230000010365 information processing Effects 0.000 description 14
- 230000008929 regeneration Effects 0.000 description 11
- 238000011069 regeneration method Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 6
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
暗号化データ生成装置(101)は、複数のフレームデータを含む暗号化対象データを、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化する。フレーム長・暗号連鎖解析部(114)は、AVデータ管理情報から、各フレームデータにそれぞれ対応し、当該フレームデータのフレームヘッダを含む付加情報ヘッダを生成する。暗号・復号処理部(109)は、各フレームデータを連鎖暗号化方式によって暗号化し、一連の複数の暗号化データを生成する。ヘッダ解析・付加部(118)は、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する付加情報ヘッダを対応付け、所定位置に付加する。
Description
本発明は、コンテンツデータを暗号化してメモリカードなどのターゲットに格納する機器、および、ターゲットに格納された暗号化コンテンツを復号化して再生する機器に関するものである。
近年、オーディオデータ、ビデオデータといったAVデータに関し、様々なフォーマットが提唱されている。これらのAVフォーマットの中には、フレーム毎のデータ長が固定長のものもあれば、任意の可変長のものもある。また、フレーム毎にヘッダが分配されて配置されている形式もあれば、MP4フォーマットのように、フレーム毎のヘッダがまとめて一括で配置されている形式もある。
また、暗号化方式についても様々な方式が提唱されている。暗号化方式の1つとして、連鎖暗号方式(Cipher Block Chain)がある。連鎖暗号方式では、任意のデータ長の暗号連鎖単位を1単位として、暗号化を行う。
従来の暗号化データ生成および暗号化データ再生について、説明する。
図22は従来の装置構成図である。図22の構成は、AVデータの暗号化/復号化を行う暗号化データ生成・再生装置201と、システム全体の制御を行う第1のCPU102と、DRAM等で構成されるシステムメモリ103と、これらの構成要素間のデータのやり取りが行われる外部バス104とを備えている。暗号化データ生成・再生装置201は、外部に接続されるターゲット105(SDカード、メモリスティック等の記憶メディア)に格納された暗号化されたAVデータを再生する。あるいは、外部からダウンロードされたAVデータを暗号化してターゲット105に格納する。
暗号化データ生成・再生装置201は、その内部の制御を行う制御部106(第2のCPU)と、各部間のデータのやり取りに用いられる内部バス107と、外部バス104との間のデータのやり取りを制御するホストIF部108と、制御部106によって制御されてAVデータを含む機密情報の暗号化や復号化を行う暗号・復号処理部109と、暗号・復号処理部109と内部バス107との間でデータの入出力を行うための入出力部110と、暗号化データ生成・再生装置201内で処理されるデータを一時的に記憶する内蔵メモリ111と、ターゲット105とのデータのやり取りを制御するターゲットIF部112と、復号化されたデータをデコードして再生するデコード・オーディオ処理部113とを備えている。
図示しない外部IFを介してサーバ等からダウンロードされたAVデータ、あるいはターゲット105に格納された暗号化データを復号化して得られるAVデータは、システムメモリ103に一時的に記憶される(図中のフレームデータ1、フレームデータ2)。また、連鎖暗号方式における暗号化の単位となる暗号連鎖単位のデータ長を規定する情報が、暗号連鎖単位情報として、システムメモリ103に設定される。さらに、AVデータの各フレームデータ長やAVデータ全体のデータ長等を規定するヘッダ情報や符号化の方式を規定する情報等が、AVデータ管理情報として、システムメモリ103に設定される。暗号連鎖単位のデータ長や各フレームデータ長は任意に選択することが可能である。
暗号化データ生成・再生装置201は、第1のCPU102の制御のもと、暗号連鎖単位情報に従って、ダウンロードされたAVデータを暗号化してターゲット105に格納する。また、第1のCPU102の制御のもと、ターゲット105に格納されたAVデータを暗号連鎖単位情報に従って復号化しつつシステムメモリ103に展開する。そして、復号化されたAVデータを、システムメモリ103から読み出しつつAVデータ管理情報に従ってデコードし、再生する。
図23のフローチャートを参照して、外部からダウンロードされたAVデータを暗号化してターゲット105に格納する従来の方法について説明する。
まず、不正なターゲット105にAVデータを格納することを防止するために、ホストとなる暗号化データ生成・再生装置201とターゲット105との間で認証を行う(S11)。認証処理は、暗号化データ生成・再生装置201とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、AVデータを暗号化するための鍵となるコンテンツ鍵が生成される。次に、連鎖暗号方式で暗号化する単位となる暗号連鎖単位をシステムメモリ103から読み取る(S12)。次に、暗号化の対象となるフレーム単位のAVデータ(フレームデータ)を順次入力していく(S13)。入力されたフレームデータは、データENDとなるまで、連鎖暗号方式によって順次暗号化されていく(S14,S15)。暗号化されたAVデータは順次システムメモリ103に展開されていく。1つの暗号連鎖単位の暗号化が終わると(S16でYes)、次の暗号化に向けて暗号連鎖単位のデータ長の設定を行う。
以上の処理をデータENDとなるまで繰り返し、最後のデータまで暗号化が終了すると、システムメモリ103に展開された暗号化データをまとめてターゲット105に書き込む(S17)。以上の処理によって、ダウンロードされたAVデータの暗号化が終了する。また、AVデータ管理情報や暗号連鎖単位情報も、暗号化されたAVデータと関連付けられた上で同じくターゲット105に格納される。
次に図24のフローチャートを参照して、上記の方法によって生成されターゲット105に格納された暗号化データを、復号化し再生する従来の方法について説明する。
まず、不正なターゲット105に格納されたAVデータを再生することを防止するために、ホストとなる暗号化データ生成・再生装置201とターゲット105との間で認証を行う(S21)。認証処理は、暗号化データ生成・再生装置201とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、AVデータを復号化するための鍵となるコンテンツ鍵が生成される。認証に成功すると、暗号化されたAVデータをターゲット105から読み出す(S22)。これとともに、暗号化されたAVデータと関連付けて予めターゲット105に格納されていた暗号連鎖単位情報をターゲット105から読み出して、システムメモリ103に格納する(S23)。
暗号化データ生成・再生装置201はシステムメモリ103に格納された暗号連鎖単位情報に従って復号化を行う(S24,S25)。まず、最初の暗号化データを復号化するためにその暗号連鎖単位のデータ長を設定する。そして順次復号化を行っていき、復号化されたAVデータ(図24では連鎖データ)をシステムメモリ103に順次展開していく。1つの暗号化データの復号化が終わると、次の復号化に向けて暗号連鎖単位のデータ長の設定を行う。以上を繰り返しながら、全ての暗号化データの復号化を行う。
また、AVデータ本体と関連付けられて予めターゲット105に格納されていたAVデータ管理情報も、同様にシステムメモリ103に展開される。したがって、復号化されたAVデータは、システムメモリ103上では、一括に配置された各フレームデータ用のヘッダと複数の復号化データという形で分かれて展開されている。このため、そのままではデコード再生を行うことができない。そこで第1のCPU102によって、各フレームデータ用のヘッダの後に該当するフレームデータが格納されるように、ヘッダ情報を変換し、振り分けしていく。ヘッダが振り分けられたAVデータはデコード再生できる形となっているので、システムメモリ103から暗号化データ生成・再生装置201に入力されて、デコード再生が行われる(S26)。
特開2001−222858号公報
上述の従来技術では、各フレームデータのヘッダは、一括してAVデータ管理情報に格納されている。ところが、暗号化されたAVデータを全て復号化してみないと、フレームデータの区切りが分からない。このため、暗号化されたAVデータを全て復号化して一旦メモリに展開した後でなければ、AVデータ管理情報に含まれたヘッダ情報を、各フレームデータ毎のヘッダとして割り振ることができない。
ここで、一般に、システムメモリ103はチップ外部に接続されたDRAMとして構成されることが多く、大容量となる。一方で、暗号化データ生成・再生装置101内の内蔵メモリ111は小規模なSRAMで構成されることが多い。このため、暗号化されたデータを全て復号化してメモリに一旦展開するためには、システムメモリ103を利用せざるを得なくなる。
したがって、上述の従来技術によると、暗号化されたAVデータのデコード再生を、暗号化データ生成・再生装置101内の閉じた処理として実行することができない。システムメモリ103へのアクセスが生じると、消費電力が増える。このため、例えば、暗号化データ生成・再生装置を携帯端末(携帯電話、PDA等)として構成した場合、上述の従来技術では、充電無しに暗号化されたAVデータを再生できる数に限界が生じてしまう。
本発明は、前記の問題に鑑みてなされたものであり、連鎖暗号方式によって暗号化されたデータを、システムメモリを用いることなく、少ない内蔵メモリのみを有する装置に閉じた処理によって、再生可能にすることを目的とする。
本発明は、N(Nは2以上の整数)個のフレームデータと前記N個のフレームデータを管理するための管理データとを含む暗号化対象データを、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化するデータ暗号化方法として、前記管理データから、前記各フレームデータにそれぞれ対応し、当該フレームデータのフレームヘッダを含む、付加情報ヘッダを生成するステップ(a)と、前記各フレームデータを連鎖暗号化方式によって暗号化し、一連の複数の暗号化データを生成するステップ(b)と、前記複数の暗号化データのうち、n(nは1以上N未満の整数)番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する前記付加情報ヘッダを対応付けるとともに、前記付加情報ヘッダを、前記複数の暗号化データにおける所定位置に付加するステップ(c)とを備えたものである。
また、本発明は、N(Nは2以上の整数)個のフレームデータを含む暗号化対象データが、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化されてなる、再生対象データを再生する暗号化データ再生方法として、前記再生対象データは、複数の暗号化データと、前記N個のフレームデータにそれぞれ対応するN個のフレームヘッダをそれぞれ含む、N個の付加情報ヘッダとを備え、(n+1)(nは1以上N未満の整数)番目のフレームヘッダを含む付加情報ヘッダは、前記複数の暗号化データのうち、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して対応付けられて、前記複数の暗号化データにおける所定位置に付加されているものであり、前記再生対象データから、前記付加情報ヘッダを分離するステップ(a)と、前記再生対象データから読み出した前記暗号化データを、暗号連鎖単位のデータ長に関する情報を用いて、復号化するステップ(b)と、復号化されたデータに対して、分離された前記付加情報ヘッダに含まれたフレームヘッダに格納されたフレーム長に関する情報を用いて、分離・連結処理を行うことによって、前記フレームデータを生成するステップ(c)と、前記フレームデータの先頭に、前記フレームヘッダを付加するステップ(d)とを備えたものである。
また、本発明は、N(Nは2以上の整数)個のフレームデータと前記N個のフレームデータを管理するための管理データとを含む暗号化対象データを、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化する暗号化データ生成装置として、前記管理データから、前記各フレームデータにそれぞれ対応し、当該フレームデータのフレームヘッダを含む、付加情報ヘッダを生成するヘッダ生成部と、前記各フレームデータを連鎖暗号化方式によって暗号化し、一連の複数の暗号化データを生成する暗号処理部と、前記複数の暗号化データのうち、n(nは1以上N未満の整数)番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する前記付加情報ヘッダを対応付けるとともに、前記付加情報ヘッダを、前記複数の暗号化データにおける所定位置に付加するヘッダ付加部とを備えたものである。
また、本発明は、N(Nは2以上の整数)個のフレームデータを含む暗号化対象データが、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化されてなる、再生対象データを再生する暗号化データ再生装置として、前記再生対象データは、複数の暗号化データと、前記N個のフレームデータにそれぞれ対応するN個のフレームヘッダをそれぞれ含む、N個の付加情報ヘッダとを備え、(n+1)(nは1以上N未満の整数)番目のフレームヘッダを含む付加情報ヘッダは、前記複数の暗号化データのうち、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して対応付けられて、前記複数の暗号化データにおける所定位置に付加されているものであり、前記再生対象データから、前記付加情報ヘッダを分離するヘッダ分離部と、前記再生対象データから読み出された前記暗号化データを、暗号連鎖単位のデータ長に関する情報を用いて、復号化する復号処理部と、復号化されたデータに対して、前記ヘッダ分離部によって分離された前記付加情報ヘッダに含まれたフレームヘッダに格納されたフレーム長に関する情報を用いて、分離・連結処理を行うことによって、前記フレームデータを生成するフレームデータ生成部と、前記フレームデータの先頭に、前記フレームヘッダを付加するヘッダ付加部とを備えたものである。
また、本発明は、N(Nは2以上の整数)個のフレームデータを含む暗号化対象データが、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化されたデータ構造として、複数の暗号化データと、前記N個のフレームデータにそれぞれ対応するN個のフレームヘッダをそれぞれ含む、N個の付加情報ヘッダとを備え、(n+1)(nは1以上N未満の整数)番目のフレームヘッダを含む前記付加情報ヘッダは、前記複数の暗号化データのうち、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して対応付けられて、前記複数の暗号化データにおける所定位置に付加されているものである。
本発明によると、暗号化データの復号化が行われていくにつれて、先頭にフレームヘッダが付されたフレームデータが、順次生成されていく。このため、生成されたフレームデータを内蔵メモリに一旦格納した後、暗号化データ生成・再生装置内でそのままデコード再生を行うことが可能となる。したがって、従来のようにまとまった量の暗号化コンテンツを復号化しなくとも、順次フレームデータを再生することが可能であるので、システムメモリを一切介在させず処理を行うことが可能となる。これに加えて、ヘッダの割り振りが暗号化データ生成・再生装置内の閉じた処理として行われるため、システムを制御するCPUに負担をかけることもない。したがって、大幅な消費電力の削減が可能となる。
101 暗号化データ生成・再生装置
109 暗号・復号処理部
114 フレーム長・暗号連鎖解析部
116 ヘッダ待機部
117 データ変換部
118 ヘッダ解析・付加部
109 暗号・復号処理部
114 フレーム長・暗号連鎖解析部
116 ヘッダ待機部
117 データ変換部
118 ヘッダ解析・付加部
以下、図面を参照して本発明の実施の形態について説明する。なお、以下で説明する実施の形態はあくまで一例である。
(第1の実施形態)
<装置構成>
図1は本発明の第1の実施形態に係る暗号化データ生成・再生装置101、及びこれと関連して動作する装置を含む情報処理システムの全体構成を示す図である。図1において、暗号化データ生成・再生装置101はAVデータの暗号化や復号化・再生を行う。第1のCPU102は情報処理システム全体の制御を行い、システムメモリ103は例えばDRAMによって構成されている。暗号化データ生成・再生装置101は外部バス104によって第1のCPU102とシステムメモリ103に接続されており、これらとの間でデータのやり取りを行いつつ動作する。そして、暗号化データ生成・再生装置101は、外部からダウンロードされたAVデータを暗号化して、外部に接続される記憶手段としてのターゲット105に格納することができる。あるいは、ターゲット105に格納された暗号化されたAVデータを復号化し、再生することができる。
<装置構成>
図1は本発明の第1の実施形態に係る暗号化データ生成・再生装置101、及びこれと関連して動作する装置を含む情報処理システムの全体構成を示す図である。図1において、暗号化データ生成・再生装置101はAVデータの暗号化や復号化・再生を行う。第1のCPU102は情報処理システム全体の制御を行い、システムメモリ103は例えばDRAMによって構成されている。暗号化データ生成・再生装置101は外部バス104によって第1のCPU102とシステムメモリ103に接続されており、これらとの間でデータのやり取りを行いつつ動作する。そして、暗号化データ生成・再生装置101は、外部からダウンロードされたAVデータを暗号化して、外部に接続される記憶手段としてのターゲット105に格納することができる。あるいは、ターゲット105に格納された暗号化されたAVデータを復号化し、再生することができる。
ターゲット105は例えば、SDカード、メモリスティック等の記憶メディアによって構成される。また、本願明細書では、フレーム毎のAVデータについて、フレームデータと称する。
暗号化データ生成・再生装置101は、暗号化データ生成・再生装置101内の制御を行う制御部106(第2のCPU)と、暗号化データ生成・再生装置101内の各部同士のデータのやり取りに用いられる内部バス107と、外部バス104との間のデータのやり取りを制御するホストIF部108と、制御部106によって制御されてAVデータを含む機密情報の暗号化や復号化を行う暗号・復号処理部109と、暗号・復号処理部109を含む機密情報処理部119と内部バス107との間でデータの入出力を行うための入出力部110と、暗号化データ生成・再生装置101内で処理されるデータを一時的に記憶し、例えばSRAMで構成される内蔵メモリ111と、ターゲット105とのデータのやり取りを制御するターゲットIF部112と、復号化されたデータをデコードして再生するデコード・オーディオ処理部113とを備えている。
なお、システムメモリ103は必ずしもDRAMで構成する必要はないが、高速大容量のメモリとしてはDRAMを用いるのが最適である。また、内蔵メモリ111も必ずしもSRAMで構成する必要はない。
また本実施形態では、機密情報処理部119は、暗号・復号処理部109および入出力部110に加えて、フレーム長・暗号連鎖解析部114、ヘッダ変換部115、フレーム長解析・ヘッダ待機部116、データ変換部117、ヘッダ解析・付加部118をさらに有している。
フレーム長・暗号連鎖解析部114は、AVデータを暗号化してターゲット105に格納するに際し、一括でシステムメモリ103に格納されたAVデータ管理情報をフレーム毎のヘッダに振り分け、これを基に各フレームの長さを判断すると共に、システムメモリ103に格納された暗号連鎖単位情報から各暗号連鎖単位の長さを判断する。
ヘッダ変換部115は、復号化において暗号化コンテンツに埋め込まれているヘッダをオーディオヘッダへと変換する。
フレーム長解析・ヘッダ待機部116は、復号化の際にフレーム長を解析して、ヘッダ変換部115によって変換されたオーディオヘッダを一時待機させる。
データ変換部117は、復号化の際に必要なデータが揃うと、オーディオヘッダが対応するフレームデータの先頭に配置されるようにデータの並べ替えを行う。
ヘッダ解析・付加部118は、フレーム長・暗号連鎖解析部114によって抽出し振り分けられたフレーム毎のヘッダを、前のフレームとの境界が存在する暗号化データの先頭に付加する。また、復号化の際には暗号化コンテンツからヘッダを分離する。
図1の暗号化データ生成・再生装置101が本発明の暗号化データ生成装置として動作する場合には、フレーム長・暗号連鎖解析部114がヘッダ生成部に相当し、暗号・復号処理部109が暗号処理部に相当し、ヘッダ解析・付加部118がヘッダ付加部に相当する。また、図1の暗号化データ生成・再生装置101が本発明の暗号化データ再生装置として動作する場合には、ヘッダ解析・付加部118がヘッダ分離部に相当し、暗号・復号処理部109が復号処理部に相当し、データ変換部117およびフレーム長解析ヘッダ待機部116がフレームデータ生成部に相当し、ヘッダ解析・付加部118がヘッダ付加部に相当し、ヘッダ変換部115がヘッダ変換部に相当する。
なお、暗号化データ生成・再生装置101は、通常、LSIとして構成される。この場合、第1のCPUも含めて1チップとすることも、別々のチップとして構成することも可能である。DRAM混載プロセスを用いれば、システムメモリ103も含めて1チップとすることも可能である。ここでDRAMや第1のCPUを1個のLSIとして構成した場合でも、DRAMや第1のCPUを動作させない構成とすることによって、内蔵したDRAM部の電力を削減することができるので、同様に低消費電力化の効果がある。
また、本実施形態において追加される、フレーム長・暗号連鎖解析部114、ヘッダ変換部115、フレーム長解析・ヘッダ待機部116、データ変換部117、ヘッダ解析・付加部118は、ハードウェアとして構成されることが望ましい。これによって消費電力の削減が可能である。
上記の構成を有する暗号化データ生成・再生装置101の動作について、以下に詳細に説明する。
<暗号化データ生成>
図2を用いて、本実施形態においてシステムメモリ103に一旦格納されたAVデータを暗号化してターゲット105に格納する概念を説明する。
図2を用いて、本実施形態においてシステムメモリ103に一旦格納されたAVデータを暗号化してターゲット105に格納する概念を説明する。
図2(a)は本実施形態で取り扱う暗号化対象データとしてのAVデータの一例としての、MP4フォーマットにおけるあるファイル構成を示す図である。ただし、MP4であっても異なるファイル構成をとることはあり得る。図2(a)のMP4のファイル構成では、ftypおよびmoovが管理データとしてのAVデータ管理情報を構成している。ftypは、ファイルの互換性を示す情報であり、例えばAVデータがAAC、AAC+、AAC++等のいずれのフォーマットで符号化されているかといったバージョン情報を含む。moovは、AVデータの各フレームデータのフレーム長などの情報を含む。このmoovに、各フレームデータのフレームヘッダが一括で格納されている。AVデータの本体は、mdatとして構成されている。すなわち、mdat中に、図1のシステムメモリ103に格納されているフレームデータ1、フレームデータ2、…、がまとめて配置されている。
本実施形態では、フレーム長・暗号連鎖解析部114が、moovに一括で配置されたヘッダを、必要に応じて変換した上で、フレームデータ毎の付加情報ヘッダとして振り分ける。付加情報ヘッダは、フレームデータに関する情報を表すフレームヘッダを含む。また、暗号・復号処理部109が、mdatにまとめて配置された各フレームデータを、システムメモリ103に格納された暗号連鎖単位情報に基づいて、連鎖暗号方式によって暗号化する。これによって、任意のデータ長の暗号連鎖単位からなる、一連の複数の暗号化データが生成される。
図2(b)は本実施形態における付加情報ヘッダの付加方法を概念的に示す図である。図2(b)に示すように、ヘッダ解析・付加部118は、一連の複数の暗号化データに対して、各フレームデータに対応する付加情報ヘッダを付加する。具体的には、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する付加情報ヘッダを対応付けるとともに、この付加情報ヘッダを、当該暗号化データの先頭に付加する。
すなわち、フレームデータ1の付加情報ヘッダは、全ての暗号化データの先頭である暗号化データ1の先頭に挿入される。フレームデータ1とフレームデータ2との境界は暗号化データ2に存在するため、フレームデータ2の付加情報ヘッダは暗号化データ2の先頭に挿入される。暗号化データ3にはフレーム境界が存在しないために、暗号化データ3の先頭には何も挿入されない。暗号化データ4にはフレームデータ2とフレームデータ3との境界が存在するため、フレームデータ3の付加情報ヘッダがその先頭に挿入される。
このようにして、暗号化データと付加情報ヘッダとを含む暗号化コンテンツが生成される。なお、付加情報ヘッダの長さは固定長であるものとする。また、付加情報ヘッダに含まれたフレームヘッダは、少なくとも、対応するフレームデータのデータ長に関する情報を含むものとする。
図3は外部からダウンロードされたAVデータを暗号化してターゲット105に格納する処理のフローチャートであり、図2(b)のような暗号化データを生成するためのものである。図3において、点線はデータ処理を表している。
まず、不正なターゲット105にAVデータを格納することを防止するために、ホストとなる暗号化データ生成・再生装置101とターゲット105との間で認証を行う(S301)。認証処理は、暗号化データ生成・再生装置101とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、AVデータを暗号化するための鍵となるコンテンツ鍵が生成される。
次に、システムメモリ103に格納されている暗号連鎖単位情報を参照して、連鎖暗号方式で暗号化する単位となる暗号連鎖単位を暗号・復号処理部109に設定する(S302)。そして、暗号化の対象となるAVデータを入力していく(S303)。まず、最初のフレームデータ1が入力されると、データ入力開始であるため(S304でYes)、フレーム長・暗号連鎖解析部114が、フレームデータ1に対する付加情報ヘッダを生成して内蔵メモリ111に格納しておく(S305)。この付加情報ヘッダには、フレームデータ1に対するフレーム長が含まれている。
入力されたAVデータは、暗号連鎖単位が終了するまで連鎖暗号方式によって順次暗号化されつつ、内蔵メモリ111に展開される(S307)。1番目の暗号連鎖単位の暗号化が終了すると(S308でYes、暗号化データ1の生成完了)、ヘッダ解析・付加部118が暗号化データ1にフレーム境界が含まれているか否かを判断する(S309)。図2(b)の例によると、最初の暗号化データ1にはフレーム境界が含まれていない。ただし、暗号化データ1は先頭のデータである。そこでヘッダ解析・付加部118は、内蔵メモリ111に格納されているフレームデータ1用の付加情報ヘッダを先頭に付加した上で(S310)、暗号化データ1をシステムメモリ103に展開し直す(S311)。
次に暗号連鎖単位を再度設定した上で(S302)、2番目の暗号連鎖単位の暗号化を順次行っていく。ここではフレーム境界が含まれるため、フレーム長・暗号連鎖解析部114が、フレーム境界を検出して(S304でYes)、フレームデータ2に対する付加情報ヘッダを生成し、内蔵メモリ111に格納する。そして、2番目の暗号連鎖単位の暗号化が全て終了すると(S308でYes)、ヘッダ解析・付加部118が暗号化データ2にフレーム境界が含まれているか否かを判断する(S309)。ここではフレーム境界が含まれていたため、ヘッダ解析・付加部118が、フレームデータ2に対する付加情報ヘッダを先頭に付加した上で(S310)、暗号化データ2をシステムメモリ103に展開し直す(S311)。
次に暗号連鎖単位を再度設定した上で、3番目の暗号連鎖単位の暗号化を順次行っていく。ここではフレーム境界が含まれていないため、3番目の暗号連鎖単位の暗号化が終了すると、暗号化データ3はそのままシステムメモリ103に展開される。次に暗号連鎖単位を再度設定した上、4番目の暗号連鎖単位の暗号化を順次行っていく。ここではフレームデータ2とフレームデータ3との境界が存在するため、フレーム長・暗号連鎖解析部114が、フレーム境界を検出して、フレームデータ3に対する付加情報ヘッダを生成し、内蔵メモリ111に格納する。そして、4番目の暗号連鎖単位の暗号化が全て終了すると、ヘッダ解析・付加部118が、フレームデータ3に対する付加情報ヘッダを先頭に付加した上で、暗号化データ4をシステムメモリ103に展開し直す。
以上の処理をAVデータが終了するまで繰り返し(S306)、終了すると、それまでに暗号化された暗号化データをまとめて暗号化コンテンツとして、システムメモリ103からターゲット105へと書き込む(S312)。これによって、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に(n+1)番目のフレームデータに対する付加情報ヘッダが付加された状態で、AVデータ全体が暗号化されて、ターゲット105に格納されたことになる。また、システムメモリ103に格納されている暗号連鎖単位情報も、暗号化コンテンツと関連付けて、ターゲット105に格納するものとする。
図4は図3の処理の終了後におけるターゲット105内のデータ格納状態を示す。ターゲット105の記憶領域は、システム領域401と、保護領域402と、通常領域403とに分かれて構成されている。システム領域401は製造時に設定される領域であって、製品となった後は書き換えることができない。このシステム領域401には暗号化データ生成・再生装置101との間の認証に必要な認証鍵が格納されている。保護領域402は認証に成功したときのみアクセス可能な領域であり、暗号化コンテンツの暗号化・復号化の鍵となるコンテンツ鍵と暗号連鎖単位情報等が格納されている。通常領域403は自由にアクセス可能な領域であり、上述の方法によって暗号化された暗号化コンテンツが格納される。なお、保護領域402は、全体の格納領域の数%以下程度に抑える必要があるため、暗号連鎖単位情報は通常領域403に格納した方が好ましい場合もある。
なお、図3のフローチャートによると、生成された暗号化コンテンツは一旦システムメモリ103に展開された上で、暗号化処理終了後にまとめてターゲット105に書き込まれる。しかしながら、本実施形態によると、1つの暗号連鎖単位の暗号化が終了した段階でデータ順序を入れ替える必要は特にないため、暗号連鎖単位の暗号化が終了する毎に、生成された暗号化データを内蔵メモリ111から直接ターゲット105に書き込むことも可能である。この場合、システムメモリ103に暗号化データを展開し直す必要がないため、暗号化コンテンツ生成に必要な消費電力が大幅に削減される。
図5は上述した動作を回路間のデータの流れとして記述した回路動作概要図である。図5に示すように、フレーム長・暗号連鎖解析部114はシステムメモリ103に格納されたAVデータ管理情報と暗号連鎖単位情報とを読み込む。そして、暗号・復号処理部109に暗号連鎖単位を設定し、またフレームヘッダを含む付加情報ヘッダを生成してヘッダ解析・付加部118に出力する。フレームデータはシステムメモリ103から暗号化データ生成・再生装置101に順次入力され、暗号・復号処理部109によって連鎖暗号方式によって暗号化される。暗号化された結果の暗号化データはヘッダ解析・付加部118に出力される。ヘッダ解析・付加部118はフレーム毎の付加情報ヘッダを、上述のようにフレーム境界が存在する適切な暗号化データの先頭に付加し、付加情報ヘッダ付き暗号化データとしてシステムメモリ103に展開していく。全ての暗号化が終了すると、付加情報ヘッダ付き暗号化データは暗号化コンテンツとして、システムメモリ103からターゲットIF部112を介してターゲット105に格納される。
なお、付加情報ヘッダ付き暗号化データを内蔵メモリ111に展開する場合は、暗号連鎖単位の暗号化が終了する毎に、暗号化データが、内蔵メモリ111からターゲットIF部112を介してターゲット105に格納される。また、図示はしないが、暗号連鎖単位情報もターゲット105に格納される。
以上の処理によって生成された暗号化コンテンツは、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に、(n+1)番目のフレームデータに対する付加情報ヘッダが付加されたデータ構造となっている。このデータ構造によると、後述するように、暗号化コンテンツの復号および再生が、暗号化データ生成・再生装置101内の閉じた処理として、システムメモリ103を用いずに実行可能であり、消費電力が大幅に低減される。
<暗号化データの復号・再生>
図6を用いて、本実施形態における、ターゲット105に格納された暗号化コンテンツを復号化する処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、n番目とn+1番目のフレームデータの境界が存在する暗号化データの先頭に、n+1番目のフレームデータに対する付加情報ヘッダが付加されたデータ構造となっている。
図6を用いて、本実施形態における、ターゲット105に格納された暗号化コンテンツを復号化する処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、n番目とn+1番目のフレームデータの境界が存在する暗号化データの先頭に、n+1番目のフレームデータに対する付加情報ヘッダが付加されたデータ構造となっている。
制御部106は、ターゲット105に格納された暗号連鎖単位情報に基づいて、各暗号化データに係る暗号連鎖単位のデータ長を暗号・復号処理部109に設定する。ヘッダ解析・付加部118は、この暗号連鎖単位のデータ長に関する情報と、各付加情報ヘッダに含まれたフレームデータのデータ長に関する情報とから、付加情報ヘッダの位置を算出し、暗号化コンテンツから付加情報ヘッダを分離する。
ヘッダ変換部115は、付加情報ヘッダを再生用フレームヘッダとしてのオーディオヘッダ(ADTSヘッダ:Audio Data Transport Stream)に変換する。ここで、オーディオヘッダへの変換とは例えば、MP4内のftypがAAC+を示す場合に、AACのADTSフォーマットでしか再生できない機器でもオーディオデータを再生できるように、AAC用のヘッダに変換するような処理を示している。変換後のヘッダは、フレーム長解析・ヘッダ待機部116において一時待機させられる。なお、ヘッダ変換が必要でない場合もあり得る。この場合は、付加情報ヘッダに含まれたフレームヘッダがそのまま用いられる。
一方、暗号・復号処理部109は、暗号連鎖単位のデータ長に関する情報を用いて、暗号化データを順次復号化し、内蔵メモリ111に展開していく。フレーム長解析・ヘッダ待機部116は、付加情報ヘッダに格納されたフレーム長に関する情報からフレーム境界を検知し、フレーム境界が存在する暗号化データの復号化が終了すると、待機させておいたヘッダと、内蔵メモリ111に展開されていた復号化されたデータとを、データ変換部117に出力する。
データ変換部117は、復号化されたデータに対して、フレーム長に関する情報を用いて、分離・連結処理を行うことによって、フレームデータを生成する。そしてそのフレームデータの先頭に変換後のヘッダを付加し、デコード・オーディオ処理部113に出力する。出力されるデータは、フレームデータ毎にオーディオヘッダが配置され、かつオーディオフォーマット(AAC)に準拠したものである。このため、第1のCPU102やシステムメモリ103を必要とすることなく、そのまま再生することができる。
図7のフローチャートを用いて、図6のように暗号化コンテンツを復号・再生する処理について詳細に説明する。図7において、点線はデータ処理を表している。
まず、不正なターゲット105に格納された暗号化コンテンツを再生することを防止するために、ホストとなる暗号化データ生成・再生装置101とターゲット105との間で認証を行う(S701)。認証処理は、暗号化データ生成・再生装置101とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、暗号化コンテンツを復号化するための鍵となるコンテンツ鍵が生成される。
次に、制御部106がターゲット105の保護領域402に格納された暗号連鎖単位情報を参照して、連鎖暗号方式で暗号化する単位となる暗号連鎖単位のデータ長を暗号・復号処理部109に設定する(S702)。次に、ヘッダ解析・付加部118が、暗号化データの先頭に付加情報ヘッダが含まれているか否かを判断し、付加情報ヘッダが含まれている場合にはこれを分離する(S703)。まず、1番目の暗号化データ1の先頭には必ず付加情報ヘッダが含まれていると判断する。また、2番目以降の暗号化データについては、暗号連鎖単位のデータ長と、前に分離された付加情報ヘッダの中に含まれたフレーム長の情報とから、付加情報ヘッダの有無を判断する。分離された付加情報ヘッダは、ヘッダ変換部115によってオーディオヘッダに変換され(S704)、フレーム長解析・ヘッダ待機部116において待機させられる(S705)。
また、付加情報ヘッダが含まれているか否かに関わらず、暗号化データがターゲット105から暗号化データ生成・再生装置101へと読み出され(S706)、暗号・復号処理部109において復号化される(S707)。復号化されたデータは内蔵メモリ111に順次展開されていく。
1つの暗号化データの復号化が終了すると(S708でYes)、フレーム長解析・ヘッダ待機部116が、付加情報ヘッダに含まれるフレーム長の情報に基づいて、フレーム境界が暗号化データに含まれていたか否かを判断する(S709)。フレーム境界が含まれていた場合は、データ変換部117が、フレーム長解析・ヘッダ待機部116において待機していたオーディオヘッダを読み出すとともに、内蔵メモリ111に一時格納していた復号化されたデータを読み出し、新たなフレームデータの先頭にオーディオヘッダが付与されるように、データの並び替えを行う(S710)。一方、フレーム境界が含まれていない場合は、次の暗号連鎖単位のデータ長を暗号・復号処理部109に設定し(S702)、一連の処理を繰り返す。
並び替えによって生成されたフレームデータは、順次デコード・オーディオ処理部113に入力され、デコード再生される(S711)。
図8は上述した動作を回路間のデータの流れとして記述した回路動作概要図である。図8に示すように、ターゲット105に格納された暗号化コンテンツは、ターゲットIF部112を介して、付加情報ヘッダ付き暗号化データとして内蔵メモリ111に入力される。ヘッダ解析・付加部118は、別途ターゲット105から読み出された暗号連鎖単位情報と付加情報ヘッダに格納されたフレーム長に関する情報とに基づいて、内蔵メモリ111から読み出した付加情報ヘッダ付き暗号化データから付加情報ヘッダを抽出・分離する。分離された付加情報ヘッダは、ヘッダ変換部115に出力される。ヘッダ変換部115は入力された付加情報ヘッダをオーディオヘッダに変換して、フレーム長解析・ヘッダ待機部116に出力する。一方、暗号・復号処理部109には、暗号連鎖単位のデータ長が暗号化データ毎に制御部106によって設定される。そして、暗号・復号処理部109は、付加情報ヘッダが分離された暗号化データを復号化し、平文データとして内蔵メモリ111に展開する。
フレーム長解析・ヘッダ待機部116は、フレーム境界が存在する暗号化データを検知して、その復号化が終了すると、内蔵メモリ111に展開された平文データをデータ変換部117に出力させる。また自らに待機させておいたオーディオヘッダをデータ変換部117に出力する。データ変換部117はフレームデータの先頭に、対応するオーディオヘッダが配置されるようにデータの並び替えを行い、デコード・オーディオ処理部113に出力する。デコード・オーディオ処理部113は入力されるフレームデータを順次デコード再生する。
以上の方法で暗号化コンテンツの復号化を行うことにより、一連の暗号化データを復号化しつつ、フレームデータの先頭にオーディオヘッダを付与した形で、内蔵メモリ111からデコード・オーディオ処理部113にデータを転送することができ、デコード・オーディオ処理部113はそのままデコード再生を行うことが可能となる。したがって、従来のようにまとまった量の暗号化コンテンツを復号化しなくとも、順次フレームデータを再生することが可能であるので、システムメモリを一切介在させず処理を行うことが可能となる。これに加えて、ヘッダの割り振りが暗号化データ生成・再生装置101内の閉じた処理として行われるため、第1のCPU102に負担をかけることもない。したがって、大幅な消費電力の削減が可能となり、従来の数倍〜10倍もの数の暗号化コシテンツを充電無しで再生することが可能となる。
なお、図7のフローチャートによると、1つの暗号化データが全て復号化された段階でオーディオヘッダを付与してデータの並び替えを行っているが、この代わりに、復号化されたデータを順次デコード・オーディオ処理部113に出力しつつ、フレーム境界を検知したときにオーディオヘッダを挿入することも可能である。これにより、オーディオヘッダの待機時間が短くなり(暗号連鎖単位分の待機時間よりも短くなり得る)、内蔵メモリ111に展開するデータ量も少なくできるので、回路規模が縮小できる。
(第1の実施形態の改変例)
上述の実施形態では、暗号連鎖単位のデータ長を示す暗号連鎖単位情報は、暗号化コンテンツと関連付けた上で、暗号化コンテンツとは別データとして、ターゲット105の保護領域402に格納するものとした。しかしながら、この暗号連鎖単位情報は、分割して、付加情報ヘッダの中に含めるようにしてもかまわない。
上述の実施形態では、暗号連鎖単位のデータ長を示す暗号連鎖単位情報は、暗号化コンテンツと関連付けた上で、暗号化コンテンツとは別データとして、ターゲット105の保護領域402に格納するものとした。しかしながら、この暗号連鎖単位情報は、分割して、付加情報ヘッダの中に含めるようにしてもかまわない。
すなわち、付加情報ヘッダの中に、暗号化データの暗号連鎖単位のデータ長に関する情報を含めるようにする。ただし、付加情報ヘッダは、全ての暗号化データの先頭に付与されている訳ではなく、付加情報ヘッダが付された暗号化データもあれば、付加情報ヘッダが付されていない暗号化データもある。そこで、本改変例では、各付加情報ヘッダは、当該付加情報ヘッダから次の付加情報ヘッダまでの間にある暗号化データについての、暗号連鎖単位のデータ長に関する情報を有するものとする。
この場合には、暗号化コンテンツの復号化は図9に示すように行われる。すなわち、各暗号化データについての暗号連鎖単位のデータ長は、その前に付加されている付加情報ヘッダを解析することによって、取得することができる。
(第2の実施形態)
上述の第1の実施形態では、データ暗号化において、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する付加情報ヘッダを、その先頭に付加するものとした。これに対して本発明の第2の実施形態では、フレームデータの境界が存在する暗号化データに対応付けた各付加情報ヘッダを、一連の複数の暗号化データの先頭に、まとめて付加するものとする。なお、本実施形態に係る装置構成は図1と同様であり、ここでは説明を省略する。
上述の第1の実施形態では、データ暗号化において、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する付加情報ヘッダを、その先頭に付加するものとした。これに対して本発明の第2の実施形態では、フレームデータの境界が存在する暗号化データに対応付けた各付加情報ヘッダを、一連の複数の暗号化データの先頭に、まとめて付加するものとする。なお、本実施形態に係る装置構成は図1と同様であり、ここでは説明を省略する。
<暗号化データ生成>
図10は本実施形態における暗号化データ生成の概念図であり、付加情報ヘッダの付加方法を概念的に示す図である。図10に示すように、本実施形態では、フレームデータ毎の付加情報ヘッダを一括して、一連の暗号化データの先頭に配置する。また、各付加情報ヘッダと、対応するフレームデータとは関連付けられている。
図10は本実施形態における暗号化データ生成の概念図であり、付加情報ヘッダの付加方法を概念的に示す図である。図10に示すように、本実施形態では、フレームデータ毎の付加情報ヘッダを一括して、一連の暗号化データの先頭に配置する。また、各付加情報ヘッダと、対応するフレームデータとは関連付けられている。
さらに、付加情報ヘッダと暗号化データとの関係も、第1の実施形態と同様であり、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する付加情報ヘッダが対応付けられている。すなわち、1番目の付加情報ヘッダは暗号化データ1に対応する。2番目の付加情報ヘッダは、フレームデータ1とフレームデータ2の境界が暗号化データ2に存在するため、暗号化データ2に対応する。暗号化データ3はフレーム境界が存在しないため、これに対応する付加情報ヘッダは存在しない。暗号化データ4はフレームデータ2とフレームデータ3の境界が存在するため、3番目の付加情報ヘッダがこれに対応する。
ここで、付加情報ヘッダは、第1の実施形態と同様に、対応するフレームデータのデータ長に関する情報を含むフレームヘッダを含んでいる。これに加えて、本実施形態における付加情報ヘッダは、オフセットを有している。ここでオフセットとは、自らがどの暗号化データの付加情報ヘッダであるかを示す情報である。具体的には例えば、対応する暗号化データが先頭から数えて何番目のものであるかを表す情報、あるいは先頭から、対応する暗号化データの位置までのビット長を表す情報である。このオフセットによって、付加情報ヘッダがどの暗号化データと対応付けられているかを知ることができる。
なお、本実施形態において、付加情報ヘッダは、一連の暗号化データの先頭に配置されている必要は必ずしもなく、一括で配置されていれば先頭以外の場所に配置されていてもかまわない。また、暗号化データとは異なる領域に配置されていてもかまわない。
図11は外部からダウンロードされたAVデータを暗号化してターゲット105に格納する処理のフローチャートであり、図10のような暗号化コンテンツを生成するためのものである。図11において、点線はデータ処理を表している。
図11のフローチャートは図3とほぼ同様であり、図3と共通のステップには同一の符号を付しており、ここではその詳細な説明を省略する。図3と異なるのは、ヘッダ生成のステップ(S315)である。ステップS315では、フレーム長・暗号連鎖解析部114が、フレーム長等に加えてオフセットを含むように、付加情報ヘッダを生成する。そしてステップS310において、各付加情報ヘッダは暗号化データの先頭にまとめて配置される(S311)。この場合、暗号化コンテンツを生成するときに予め、付加情報ヘッダを格納するメモリ領域を設けておくのが好ましい。
<暗号化データの復号・再生>
図12を用いて、本実施形態における暗号化データの復号化処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、フレームデータの境界が存在する暗号化データに対応付けられた各付加情報ヘッダが、一連の暗号化データの先頭に一括して配置されたデータ構造となっている。
図12を用いて、本実施形態における暗号化データの復号化処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、フレームデータの境界が存在する暗号化データに対応付けられた各付加情報ヘッダが、一連の暗号化データの先頭に一括して配置されたデータ構造となっている。
図12の処理は第1の実施形態における図6の処理とほぼ同様である。異なっているのは、ヘッダ解析・付加部118が、各付加情報ヘッダがどの暗号化データに対応するものであるかを、当該付加情報ヘッダのオフセットを解析することによって、求める点である。
ここで本実施形態では、付加情報ヘッダとこれに対応する暗号化データとは、連続するアドレス空間に配置されていない。よって、1つの付加情報ヘッダの解析が終了すると、オフセットを用いて、ターゲット105からの読み出しアドレスを、処理すべき暗号化データの先頭に設定する。例えば、1番目の付加情報ヘッダにはオフセット1として暗号化データ1の位置が設定されており、2番目の付加情報ヘッダにはオフセット2として暗号化データ2の位置が設定されており、3番目の付加情報ヘッダにはオフセット3として暗号化データ4の位置が設定されている。そして、1番目の付加情報ヘッダの解析が終了すると、暗号化データ1の先頭へ読み出しアドレスを変化させて復号化を行う。2番目の付加情報ヘッダの解析が終了すると、暗号化データ2の先頭へ読み出しアドレスを変化させて復号化を行い、さらに連続して暗号化データ3の復号化が終了してから3番目の付加情報ヘッダの解析を行う。3番目の付加情報ヘッダの解析が終了すると、暗号化データ4の先頭へ読み出しアドレスを変化させて復号化を行う。具体的なフローチャートについては後述する。
図13のフローチャートを用いて、図12のように暗号化コンテンツを復号・再生する処理について詳細に説明する。図13において、点線はデータ処理を表している。
まず、不正なターゲット105に格納された暗号化コンテンツを再生することを防止するために、ホストとなる暗号化データ生成・再生装置101とターゲット105との間で認証を行う(S701)。認証処理は、暗号化データ生成・再生装置101とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、暗号化コンテンツを復号化するための鍵となるコンテンツ鍵が生成される。
次に、制御部106がターゲット105の保護領域402に格納された暗号連鎖単位情報を参照して、1番目の暗号化データ1の暗号連鎖単位のデータ長を暗号・復号処理部109に設定する(S702)。そして、暗号化データ1には1番目の付加情報ヘッダが対応するので、ヘッダ解析・付加部が、ターゲット105からの読み出しアドレスを1番目の付加情報ヘッダへと変更し、これを読み出して解析する(S721)。2番目以降の付加情報ヘッダが含まれているか否かについては、暗号連鎖単位のデータ長と、前に分離された付加情報ヘッダの中に含まれたフレーム長の情報とから判断される。分離された付加情報ヘッダは、ヘッダ変換部115によってオーディオヘッダに変換され(S704)、フレーム長解析・ヘッダ待機部116において待機させられる(S705)。
また、本実施形態では、付加情報ヘッダが、対応する暗号化データの位置情報をオフセットという形で有している。そこで、オフセットを参照して、ターゲット105からの読み出しアドレスを処理対象となる暗号化データの先頭に変更して(S722)、ターゲット105から暗号化データ生成・再生装置101へと暗号化データを読み出していく(S706)。読み出された暗号化データは暗号・復号処理部109において復号化される(S707)。復号化されたデータは内蔵メモリ111に順次展開されていく。
1つの暗号化データの復号化が終了すると(S708でYes)、フレーム長解析・ヘッダ待機部116が、付加情報ヘッダに含まれるフレーム長の情報に基づいて、フレーム境界が暗号化データに含まれていたか否かを判断する(S709)。フレーム境界が含まれていた場合は、データ変換部117が、フレーム長解析・ヘッダ待機部116において待機していたオーディオヘッダを読み出すとともに、内蔵メモリ111に一時格納していた復号化されたデータを読み出し、新たなフレームデータの先頭にオーディオヘッダが付与されるように、データの並び替えを行う(S711)。
一方、フレーム境界が含まれていない場合は、次の暗号連鎖単位のデータ長を暗号・復号処理部109に設定する(S723)。そして、以前に解析した付加情報ヘッダが有するフレーム長の情報と、これまでに復号化した暗号化データのデータ長と、次に復号化する暗号連鎖単位のデータ長の情報から、付加情報ヘッダの解析が必要か否か(次の暗号化データが付加情報ヘッダを有するか否か)を判断する(S724)。付加情報ヘッダの解析が必要ない場合は、ターゲット105から暗号化データを読み出し、復号化していく。一方、付加情報ヘッダの解析が必要な場合は、ターゲット105からの読み出しアドレスを次の付加情報ヘッダの位置へと変更し、ヘッダの読み出し・解析から一連の処理を繰り返す。
並び替えによって生成されたフレームデータは、順次デコード・オーディオ処理部113に入力され、デコード再生される(S711)。
本実施形態における回路動作概要図は、第1の実施形態における図8と同様である。ただし、各々の構成要素が行う処理は、図13のフローチャートのように、第1の実施形態から一部変更されている。
(第3の実施形態)
上述の第1の実施形態では、データ暗号化において、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対する付加情報ヘッダを対応付けるとともに、この付加情報ヘッダを、当該暗号化データの先頭に付加するものとした。すなわち、フレームデータの境界が存在しない暗号化データの先頭には、ヘッダは存在しなかった。
上述の第1の実施形態では、データ暗号化において、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対する付加情報ヘッダを対応付けるとともに、この付加情報ヘッダを、当該暗号化データの先頭に付加するものとした。すなわち、フレームデータの境界が存在しない暗号化データの先頭には、ヘッダは存在しなかった。
これに対して、本発明の第3の実施形態では、フレームデータの境界の有無に関わらず、全ての暗号化データの先頭に、固定長のヘッダが付与されるものとする。すなわち、フレームデータの境界が存在しない暗号化データに対して、その先頭に、フレームヘッダを含まないダミーヘッダを付加するものとする。
そして、付加情報ヘッダおよびダミーヘッダは、自らがフレームデータの真のヘッダであるか否かを示すフラグを有しているものとする。すなわち、このフラグは、ヘッダがフレームヘッダを含むものであるか否かを示す。ここでは、フラグが1のときは、ヘッダはフレームヘッダを含む付加情報ヘッダであることを示し、フラグが0のときは、ヘッダはフレームヘッダを含まないダミーヘッダであることを示すものとする。
さらに、各ヘッダには、対応する暗号化データの暗号連鎖単位のデータ長に関する情報がそれぞれ格納されているものとする。すなわち、フラグが0であるダミーヘッダであっても、暗号連鎖単位のデータ長に関する情報を有している。したがって、第1の実施形態の改変例のように、各付加情報ヘッダが、1つまたは複数の暗号化データについての暗号連鎖単位のデータ長に関する情報を有する場合に比べて、処理が簡単になる。また、制御部106がヘッダを振り分ける必要がないので、処理が簡単化される。なお、本実施形態に係る装置構成は図1と同様であり、ここでは説明を省略する。
<暗号化データ生成>
図14は本実施形態における暗号化データ生成の概念図であり、付加情報ヘッダの付加方法を概念的に示す図である。ここでは、予め、全ての暗号化データに共通のヘッダフォーマットが準備されているものとする。このヘッダフォーマットには、フレームヘッダを格納するフレームヘッダフィールドと、暗号連鎖単位のデータ長に関する情報を格納する暗号連鎖単位フィールドと、フラグとが割り振られている。フラグは最初0になっている。
図14は本実施形態における暗号化データ生成の概念図であり、付加情報ヘッダの付加方法を概念的に示す図である。ここでは、予め、全ての暗号化データに共通のヘッダフォーマットが準備されているものとする。このヘッダフォーマットには、フレームヘッダを格納するフレームヘッダフィールドと、暗号連鎖単位のデータ長に関する情報を格納する暗号連鎖単位フィールドと、フラグとが割り振られている。フラグは最初0になっている。
フレーム長・暗号連鎖解析部114は、moovに一括で配置されたヘッダをフレーム毎のフレームヘッダとして振り分ける。そして、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に付加するヘッダに対して、そのフレームヘッダフィールドに(n+1)番目のフレームデータに対応するフレームヘッダを格納するとともに、フラグを1に設定する。また、システムメモリ103に格納された暗号連鎖単位情報に基づいて、各ヘッダの暗号連鎖単位フィールドを書きかえる。
すなわち、図14に示すように、暗号化データ1の先頭に配置されるヘッダ(付加情報ヘッダ)は、フレームデータ1のフレームヘッダが挿入されるとともに、フラグが1になる。したがって、この付加情報ヘッダでは、暗号連鎖単位のデータ長に関する情報とフレームデータ1のフレーム長に関する情報の両方が有効である。暗号化データ2にはフレームデータ1とフレームデータ2の境界が存在するため、その先頭に配置されるヘッダ(付加情報ヘッダ)は、フレームデータ2のフレームヘッダが挿入されるとともに、フラグが1になる。したがって、この付加情報ヘッダでも、暗号連鎖単位のデータ長に関する情報とフレームデータ2のフレーム長に関する情報の両方が有効である。暗号化データ3にはフレームの境界が存在しないため、その先頭に配置されるヘッダ(ダミーヘッダ)はフラグが0となり、暗号連鎖単位のデータ長に関する情報だけが有効になる。
ここで、各ヘッダの長さは固定長であるものとする。また、フレームヘッダは、フレーム長に関する情報のみではなくオーディオファイルフォーマットに関する情報なども含むものとする。
図15は外部からダウンロードされたAVデータを暗号化してターゲット105に格納する処理のフローチャートであり、図14のような暗号化データを生成するためのものである。図15において、点線はデータ処理を表している。なお、第1の実施形態における図3と同様のステップについては同じ符号を付しており、ここでは説明を省略する。
[S331]
暗号連鎖単位が暗号・復号処理部109に設定される毎に(S302)、フレーム長・暗号連鎖解析部114は、予め準備しておいた共通ヘッダフォーマットにおける暗号連鎖単位フィールドを、設定された暗号連鎖単位のデータ長に書き換える。また、データ入力開始時(S304でYes)には、最初の暗号化データ1用のヘッダについて、フラグを1に書き換えるとともに、フレームヘッダフィールドをフレームデータ1のフレームヘッダに書き換える。また、n番目と(n+1)番目のフレームデータの境界が検知されると(S304でYes)、検知された暗号化データ用のヘッダについて、フラグを1に書き換えるとともに、フレームヘッダフィールドを(n+1)番目のフレームデータのフレームヘッダに書き換える。
暗号連鎖単位が暗号・復号処理部109に設定される毎に(S302)、フレーム長・暗号連鎖解析部114は、予め準備しておいた共通ヘッダフォーマットにおける暗号連鎖単位フィールドを、設定された暗号連鎖単位のデータ長に書き換える。また、データ入力開始時(S304でYes)には、最初の暗号化データ1用のヘッダについて、フラグを1に書き換えるとともに、フレームヘッダフィールドをフレームデータ1のフレームヘッダに書き換える。また、n番目と(n+1)番目のフレームデータの境界が検知されると(S304でYes)、検知された暗号化データ用のヘッダについて、フラグを1に書き換えるとともに、フレームヘッダフィールドを(n+1)番目のフレームデータのフレームヘッダに書き換える。
[S333]
1つの暗号連鎖単位の暗号化が終了すると(S308でYes)、ヘッダ解析・付加部118が、ステップS331において生成されたヘッダをフレーム長・暗号連鎖解析部114から読み出し、暗号化データの先頭に付加する。
1つの暗号連鎖単位の暗号化が終了すると(S308でYes)、ヘッダ解析・付加部118が、ステップS331において生成されたヘッダをフレーム長・暗号連鎖解析部114から読み出し、暗号化データの先頭に付加する。
[S332]
暗号化データを、その先頭にヘッダが付加された状態で、システムメモリ103に展開する。この結果、全ての暗号化データの先頭にヘッダが付加されているが、フレーム境界が存在する暗号化データの先頭に配置されたヘッダすなわち付加情報ヘッダのみがフレームヘッダを含み、その他のヘッダすなわちダミーヘッダは、暗号連鎖単位のデータ長に関する情報は有するが、フレームヘッダは含まない。もちろん、ダミーヘッダは、暗号連鎖単位のデータ長以外の情報を含んでいてもかまわない。
暗号化データを、その先頭にヘッダが付加された状態で、システムメモリ103に展開する。この結果、全ての暗号化データの先頭にヘッダが付加されているが、フレーム境界が存在する暗号化データの先頭に配置されたヘッダすなわち付加情報ヘッダのみがフレームヘッダを含み、その他のヘッダすなわちダミーヘッダは、暗号連鎖単位のデータ長に関する情報は有するが、フレームヘッダは含まない。もちろん、ダミーヘッダは、暗号連鎖単位のデータ長以外の情報を含んでいてもかまわない。
[S334]
全てのAVコンテンツの暗号化が終了し暗号化コンテンツが生成されると、この暗号化コンテンツをシステムメモリ103から読み出してターゲット105に書き込む。ただし、システムメモリ103に格納されていた暗号連鎖単位情報は、各暗号化データの先頭に付与されたヘッダにそれぞれ埋め込まれているので、ターゲット105に書き込まない。
全てのAVコンテンツの暗号化が終了し暗号化コンテンツが生成されると、この暗号化コンテンツをシステムメモリ103から読み出してターゲット105に書き込む。ただし、システムメモリ103に格納されていた暗号連鎖単位情報は、各暗号化データの先頭に付与されたヘッダにそれぞれ埋め込まれているので、ターゲット105に書き込まない。
なお、本実施形態では、暗号連鎖単位の暗号化が終了する毎にヘッダが暗号化データの先頭に配置されていくので、暗号化データをシステムメモリ103に展開する必要は必ずしもなく、暗号化データ毎に内蔵メモリ111からターゲット105に書き込むことも可能である。これにより、暗号化データをシステムメモリ103に展開し直す必要がないため、暗号化コンテンツ生成に必要な消費電力が大幅に削減される。
以上の処理によって生成された暗号化コンテンツは、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に、(n+1)番目のフレームデータに対するフレームヘッダを含む付加情報ヘッダが付加されているとともに、フレームデータの境界が存在しない暗号化データの先頭に、フレームヘッダを含まないダミーヘッダが付加されたデータ構造となっている。このデータ構造によると、後述するように、暗号化コンテンツの復号および再生が、暗号化データ生成・再生装置101内の閉じた処理として、システムメモリ103を用いずに実行可能であり、消費電力が大幅に低減される。
<暗号化データの復号・再生>
図16を用いて、本実施形態における、ターゲット105に格納された暗号化コンテンッを復号化する処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に、(n+1)番目のフレームデータに対するフレームヘッダを含む付加情報ヘッダが付加されているとともに、フレームデータの境界が存在しない暗号化データの先頭に、フレームヘッダを含まないダミーヘッダが付加されたデータ構造となっている。また、付加情報ヘッダおよびダミーヘッダは、それぞれ、対応する暗号化データについての暗号連鎖単位のデータ長に関する情報を有している。
図16を用いて、本実施形態における、ターゲット105に格納された暗号化コンテンッを復号化する処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に、(n+1)番目のフレームデータに対するフレームヘッダを含む付加情報ヘッダが付加されているとともに、フレームデータの境界が存在しない暗号化データの先頭に、フレームヘッダを含まないダミーヘッダが付加されたデータ構造となっている。また、付加情報ヘッダおよびダミーヘッダは、それぞれ、対応する暗号化データについての暗号連鎖単位のデータ長に関する情報を有している。
ヘッダ解析・付加部118は、ターゲット105から暗号化コンテンツを順次読み出すと、ヘッダに格納された暗号連鎖単位のデータ長に関する情報から、ヘッダの位置を特定し暗号化データと分離する。ヘッダから得た暗号連鎖単位のデータ長に関する情報は、暗号・復号処理部109に設定される。また、分離されたヘッダのフラグを参照して、このヘッダがフレームヘッダを含む付加情報ヘッダであるか否かを判断し、付加情報ヘッダである場合は、これをヘッダ変換部115に出力する。ヘッダ変換部115は、入力された付加情報ヘッダをオーディオヘッダ(ADTSヘッダ)に変換する。なお、ヘッダ変換が必要でない場合もあり得る。変換後のヘッダは、暗号・復号処理部109によってフレーム境界が存在する暗号化データが全て復号化されるまで、フレーム長解析・ヘッダ待機部116において待機される。ダミーヘッダは破棄される。
一方、暗号・復号処理部109は、暗号連鎖単位のデータ長に関する情報を用いて、暗号化データを順次復号化し、内蔵メモリ111に展開していく。フレーム長解析・ヘッダ待機部116は、付加情報ヘッダに格納されたフレーム長に関する情報からフレーム境界を検知し、フレームの境界が存在する暗号化データの復号化が終了すると、待機させておいたヘッダと、内蔵メモリ111に展開されていた復号化されたデータとを、データ変換部117に出力する。
データ変換部117は、復号化されたデータに対して、フレーム長に関する情報を用いて、分離・連結処理を行うことによって、フレームデータを生成する。そしてそのフレームデータの先頭に変換後のヘッダを付加し、デコード・オーディオ処理部113に出力する。出力されるデータは、フレームデータ毎にオーディオヘッダが配置され、かつオーディオフォーマット(AAC)に準拠したものである。このため、第1のCPU102やシステムメモリ103を必要とすることなく、そのまま再生することができる。
図17のフローチャートを用いて、図16のように暗号化コンテンツを復号・再生する処理について詳細に説明する。図17において、点線はデータ処理を表している。なお、第1の実施形態における図7と同様のステップについては同じ符号を付しており、ここでは説明を省略する。
[S731]
ヘッダ解析・付加部118が、暗号化データの先頭に配置されたヘッダの暗号連鎖単位フィールドを参照して、暗号・復号処理部109に暗号連鎖単位のデータ長を設定する。
ヘッダ解析・付加部118が、暗号化データの先頭に配置されたヘッダの暗号連鎖単位フィールドを参照して、暗号・復号処理部109に暗号連鎖単位のデータ長を設定する。
[S732]
ヘッダ解析・付加部118が、暗号化データの先頭に配置されたヘッダのフラグが1であるか0であるかを判断する。
ヘッダ解析・付加部118が、暗号化データの先頭に配置されたヘッダのフラグが1であるか0であるかを判断する。
[S733]
フラグが1である場合は、このヘッダはフレームヘッダを含む付加情報ヘッダであるので、ヘッダと暗号化データとを分離して、ヘッダはヘッダ変換部115に出力し、暗号化データは暗号・復号処理部109に出力する。暗号化データはステップS707において復号化される。ヘッダはステップS704において変換される。
フラグが1である場合は、このヘッダはフレームヘッダを含む付加情報ヘッダであるので、ヘッダと暗号化データとを分離して、ヘッダはヘッダ変換部115に出力し、暗号化データは暗号・復号処理部109に出力する。暗号化データはステップS707において復号化される。ヘッダはステップS704において変換される。
[S734]
フラグが0である場合は、このヘッダはフレームヘッダを含まないダミーヘッダであるので、暗号化データから分離して破棄する。暗号化データは暗号・復号処理部109に出力され、ステップS707において復号化される。
フラグが0である場合は、このヘッダはフレームヘッダを含まないダミーヘッダであるので、暗号化データから分離して破棄する。暗号化データは暗号・復号処理部109に出力され、ステップS707において復号化される。
以上の方法で暗号化コンテンツの復号化を行うことにより、一連の暗号化データを復号化しつつ、フレームデータの先頭にオーディオヘッダを付与した形で、内蔵メモリ111からデコード・オーディオ処理部113にデータを転送することができ、デコード・オーディオ処理部113はそのままデコード再生を行うことが可能となる。したがって、従来のようにまとまった量の暗号化コンテンツを復号化しなくとも、順次フレームデータを再生することが可能であるので、システムメモリを一切介在させず処理を行うことが可能となる。これに加えて、ヘッダの割り振りが暗号化データ生成・再生装置101内の閉じた処理として行われるため、第1のCPU102に負担をかけることもない。したがって、大幅な消費電力の削減が可能となり、従来の数倍〜10倍もの数の暗号化コンテンツを充電無しで再生することが可能となる。
また、本実施形態では、全ての暗号化データにヘッダが付与されており、かつそのヘッダの中に暗号連鎖単位のデータ長に関する情報が含まれている。このため、制御部106によるソフトウェア処理を介入させなくとも、ヘッダ解析・付加部118によって、暗号連鎖単位を設定していくことが可能であり、さらに消費電力の削減が可能である。
(第4の実施形態)
本発明の第4の実施形態では、上述の第2および第3の実施形態を組み合わせて行うものとする。すなわち、第3の実施形態と同様に、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対する付加情報ヘッダを対応付けるとともに、フレームデータの境界が存在しない暗号化データに対して、フレームヘッダを含まないダミーヘッダを対応付ける。そして、第2の実施形態と同様に、対応付けた各付加情報ヘッダおよびダミーヘッダを、一連の複数の暗号化データの先頭に、まとめて付加するものとする。
本発明の第4の実施形態では、上述の第2および第3の実施形態を組み合わせて行うものとする。すなわち、第3の実施形態と同様に、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対する付加情報ヘッダを対応付けるとともに、フレームデータの境界が存在しない暗号化データに対して、フレームヘッダを含まないダミーヘッダを対応付ける。そして、第2の実施形態と同様に、対応付けた各付加情報ヘッダおよびダミーヘッダを、一連の複数の暗号化データの先頭に、まとめて付加するものとする。
図18は本実施形態における暗号化データ生成の概念図である。図18に示すように、本実施形態では、付加情報ヘッダとダミーヘッダを一括して、一連の暗号化データの先頭に配置する。
図19は外部からダウンロードされたAVデータを暗号化してターゲット105に格納する処理のフローチャートであり、図18のような暗号化コンテンツを生成するためのものである。図19において、点線はデータ処理を表している。
図19のフローチャートは図15とほぼ同様であり、図15と共通のステップには同一の符号を付しており、ここではその詳細な説明を省略する。図15と異なるのは、ヘッダ生成のステップ(S341)である。ステップS341では、フレーム長・暗号連鎖解析部114が、フレーム長等に加えてオフセットを含むように、付加情報ヘッダおよびダミーヘッダを生成する。そしてステップS333において、各付加情報ヘッダおよびダミーヘッダは暗号化データの先頭にまとめて配置される(S342)。この場合、暗号化コンテンツを生成するときに、予め、付加情報ヘッダおよびダミーヘッダを格納するメモリ領域を設けておくのが好ましい。
図20は本実施形態における暗号化コンテンツの復号化処理を概念的に示す図である。図20の処理は第3の実施形態における図16の処理とほぼ同様であるが、ヘッダ解析・付加部118が、各付加情報ヘッダがどの暗号化データに対応するものであるかを、当該付加情報ヘッダのオフセットを解析することによって、求める点が、異なっている。
図21は本実施形態における暗号化コンテンツを復号・再生する処理を示すフローチャートである。図20のフローチャートは図17とほぼ同様であり、図17と共通のステップには同一の符号を付しており、ここではその詳細な説明を省略する。
[S741]
フラグが1である場合は、このヘッダはフレームヘッダを含む付加情報ヘッダであるので、ヘッダ変換部115に出力する。さらに、オフセットを解析し、処理対象となる暗号化データの開始位置を判断する。
フラグが1である場合は、このヘッダはフレームヘッダを含む付加情報ヘッダであるので、ヘッダ変換部115に出力する。さらに、オフセットを解析し、処理対象となる暗号化データの開始位置を判断する。
[S742]
ターゲット105からの読み出しアドレスを、処理対象となる暗号化データの先頭に変更する。
ターゲット105からの読み出しアドレスを、処理対象となる暗号化データの先頭に変更する。
[S743]
処理対象となる暗号化データについての暗号連鎖単位のデータ長を、暗号・復号処理部109に設定する。
処理対象となる暗号化データについての暗号連鎖単位のデータ長を、暗号・復号処理部109に設定する。
すなわち、本実施形態では、ヘッダが一連の暗号化データの先頭にまとめて付加されているので、ヘッダ解析・分離と暗号連鎖単位設定との順番を、図17の逆にしている。また、ヘッダと暗号化データとが連続していないので、ヘッダ解析・分離と暗号連鎖単位設定との間に、オフセット位置への移動処理を追加している。
以上のように、本発明によると、消費電力を大幅に削減できるので、暗号化データ生成・再生装置101を携帯情報端末として構成した場合などに非常に効果的である。
本発明によると、暗号化データの生成・再生を行う装置について、消費電力を大幅に削減できるので、例えば、携帯電話などの情報処理装置において利用可能である。
本発明は、コンテンツデータを暗号化してメモリカードなどのターゲットに格納する機器、および、ターゲットに格納された暗号化コンテンツを復号化して再生する機器に関するものである。
近年、オーディオデータ、ビデオデータといったAVデータに関し、様々なフォーマットが提唱されている。これらのAVフォーマットの中には、フレーム毎のデータ長が固定長のものもあれば、任意の可変長のものもある。また、フレーム毎にヘッダが分配されて配置されている形式もあれば、MP4フォーマットのように、フレーム毎のヘッダがまとめて一括で配置されている形式もある。
また、暗号化方式についても様々な方式が提唱されている。暗号化方式の1つとして、連鎖暗号方式(Cipher Block Chain)がある。連鎖暗号方式では、任意のデータ長の暗号連鎖単位を1単位として、暗号化を行う。
従来の暗号化データ生成および暗号化データ再生について、説明する。
図22は従来の装置構成図である。図22の構成は、AVデータの暗号化/復号化を行う暗号化データ生成・再生装置201と、システム全体の制御を行う第1のCPU102と、DRAM等で構成されるシステムメモリ103と、これらの構成要素間のデータのやり取りが行われる外部バス104とを備えている。暗号化データ生成・再生装置201は、外部に接続されるターゲット105(SDカード、メモリスティック等の記憶メディア)に格納された暗号化されたAVデータを再生する。あるいは、外部からダウンロードされたAVデータを暗号化してターゲット105に格納する。
暗号化データ生成・再生装置201は、その内部の制御を行う制御部106(第2のCPU)と、各部間のデータのやり取りに用いられる内部バス107と、外部バス104との間のデータのやり取りを制御するホストIF部108と、制御部106によって制御されてAVデータを含む機密情報の暗号化や復号化を行う暗号・復号処理部109と、暗号・復号処理部109と内部バス107との間でデータの入出力を行うための入出力部110と、暗号化データ生成・再生装置201内で処理されるデータを一時的に記憶する内蔵メモリ111と、ターゲット105とのデータのやり取りを制御するターゲットIF部112と、復号化されたデータをデコードして再生するデコード・オーディオ処理部113とを備えている。
図示しない外部IFを介してサーバ等からダウンロードされたAVデータ、あるいはターゲット105に格納された暗号化データを復号化して得られるAVデータは、システムメモリ103に一時的に記憶される(図中のフレームデータ1、フレームデータ2)。また、連鎖暗号方式における暗号化の単位となる暗号連鎖単位のデータ長を規定する情報が、暗号連鎖単位情報として、システムメモリ103に設定される。さらに、AVデータの各フレームデータ長やAVデータ全体のデータ長等を規定するヘッダ情報や符号化の方式を規定する情報等が、AVデータ管理情報として、システムメモリ103に設定される。暗号連鎖単位のデータ長や各フレームデータ長は任意に選択することが可能である。
暗号化データ生成・再生装置201は、第1のCPU102の制御のもと、暗号連鎖単位情報に従って、ダウンロードされたAVデータを暗号化してターゲット105に格納する。また、第1のCPU102の制御のもと、ターゲット105に格納されたAVデータを暗号連鎖単位情報に従って復号化しつつシステムメモリ103に展開する。そして、復号化されたAVデータを、システムメモリ103から読み出しつつAVデータ管理情報に従ってデコードし、再生する。
図23のフローチャートを参照して、外部からダウンロードされたAVデータを暗号化してターゲット105に格納する従来の方法について説明する。
まず、不正なターゲット105にAVデータを格納することを防止するために、ホストとなる暗号化データ生成・再生装置201とターゲット105との間で認証を行う(S11)。認証処理は、暗号化データ生成・再生装置201とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、AVデータを暗号化するための鍵となるコンテンツ鍵が生成される。次に、連鎖暗号方式で暗号化する単位となる暗号連鎖単位をシステムメモリ103から読み取る(S12)。次に、暗号化の対象となるフレーム単位のAVデータ(フレームデータ)を順次入力していく(S13)。入力されたフレームデータは、データENDとなるまで、連鎖暗号方式によって順次暗号化されていく(S14,S15)。暗号化されたAVデータは順次システムメモリ103に展開されていく。1つの暗号連鎖単位の暗号化が終わると(S16でYes)、次の暗号化に向けて暗号連鎖単位のデータ長の設定を行う。
以上の処理をデータENDとなるまで繰り返し、最後のデータまで暗号化が終了すると、システムメモリ103に展開された暗号化データをまとめてターゲット105に書き込む(S17)。以上の処理によって、ダウンロードされたAVデータの暗号化が終了する。また、AVデータ管理情報や暗号連鎖単位情報も、暗号化されたAVデータと関連付けられた上で同じくターゲット105に格納される。
次に図24のフローチャートを参照して、上記の方法によって生成されターゲット105に格納された暗号化データを、復号化し再生する従来の方法について説明する。
まず、不正なターゲット105に格納されたAVデータを再生することを防止するために、ホストとなる暗号化データ生成・再生装置201とターゲット105との間で認証を行う(S21)。認証処理は、暗号化データ生成・再生装置201とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、AVデータを復号化するための鍵となるコンテンツ鍵が生成される。認証に成功すると、暗号化されたAVデータをターゲット105から読み出す(S22)。これとともに、暗号化されたAVデータと関連付けて予めターゲット105に格納されていた暗号連鎖単位情報をターゲット105から読み出して、システムメモリ103に格納する(S23)。
暗号化データ生成・再生装置201はシステムメモリ103に格納された暗号連鎖単位情報に従って復号化を行う(S24,S25)。まず、最初の暗号化データを復号化するためにその暗号連鎖単位のデータ長を設定する。そして順次復号化を行っていき、復号化されたAVデータ(図24では連鎖データ)をシステムメモリ103に順次展開していく。1つの暗号化データの復号化が終わると、次の復号化に向けて暗号連鎖単位のデータ長の設定を行う。以上を繰り返しながら、全ての暗号化データの復号化を行う。
また、AVデータ本体と関連付けられて予めターゲット105に格納されていたAVデータ管理情報も、同様にシステムメモリ103に展開される。したがって、復号化されたAVデータは、システムメモリ103上では、一括に配置された各フレームデータ用のヘッダと複数の復号化データという形で分かれて展開されている。このため、そのままではデコード再生を行うことができない。そこで第1のCPU102によって、各フレームデータ用のヘッダの後に該当するフレームデータが格納されるように、ヘッダ情報を変換し、振り分けしていく。ヘッダが振り分けられたAVデータはデコード再生できる形となっているので、システムメモリ103から暗号化データ生成・再生装置201に入力されて、デコード再生が行われる(S26)。
特開2001−222858号公報
上述の従来技術では、各フレームデータのヘッダは、一括してAVデータ管理情報に格納されている。ところが、暗号化されたAVデータを全て復号化してみないと、フレームデータの区切りが分からない。このため、暗号化されたAVデータを全て復号化して一旦メモリに展開した後でなければ、AVデータ管理情報に含まれたヘッダ情報を、各フレームデータ毎のヘッダとして割り振ることができない。
ここで、一般に、システムメモリ103はチップ外部に接続されたDRAMとして構成されることが多く、大容量となる。一方で、暗号化データ生成・再生装置101内の内蔵メモリ111は小規模なSRAMで構成されることが多い。このため、暗号化されたデータを全て復号化してメモリに一旦展開するためには、システムメモリ103を利用せざるを得なくなる。
したがって、上述の従来技術によると、暗号化されたAVデータのデコード再生を、暗号化データ生成・再生装置101内の閉じた処理として実行することができない。システムメモリ103へのアクセスが生じると、消費電力が増える。このため、例えば、暗号化データ生成・再生装置を携帯端末(携帯電話、PDA等)として構成した場合、上述の従来技術では、充電無しに暗号化されたAVデータを再生できる数に限界が生じてしまう。
本発明は、前記の問題に鑑みてなされたものであり、連鎖暗号方式によって暗号化されたデータを、システムメモリを用いることなく、少ない内蔵メモリのみを有する装置に閉じた処理によって、再生可能にすることを目的とする。
本発明は、N(Nは2以上の整数)個のフレームデータと前記N個のフレームデータを管理するための管理データとを含む暗号化対象データを、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化するデータ暗号化方法として、前記管理データから、前記各フレームデータにそれぞれ対応し、当該フレームデータのフレームヘッダを含む、付加情報ヘッダを生成するステップ(a)と、前記各フレームデータを連鎖暗号化方式によって暗号化し、一連の複数の暗号化データを生成するステップ(b)と、前記複数の暗号化データのうち、n(nは1以上N未満の整数)番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する前記付加情報ヘッダを対応付けるとともに、前記付加情報ヘッダを、前記複数の暗号化データにおける所定位置に付加するステップ(c)とを備えたものである。
また、本発明は、N(Nは2以上の整数)個のフレームデータを含む暗号化対象データが、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化されてなる、再生対象データを再生する暗号化データ再生方法として、前記再生対象データは、複数の暗号化データと、前記N個のフレームデータにそれぞれ対応するN個のフレームヘッダをそれぞれ含む、N個の付加情報ヘッダとを備え、(n+1)(nは1以上N未満の整数)番目のフレームヘッダを含む付加情報ヘッダは、前記複数の暗号化データのうち、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して対応付けられて、前記複数の暗号化データにおける所定位置に付加されているものであり、前記再生対象データから、前記付加情報ヘッダを分離するステップ(a)と、前記再生対象データから読み出した前記暗号化データを、暗号連鎖単位のデータ長に関する情報を用いて、復号化するステップ(b)と、復号化されたデータに対して、分離された前記付加情報ヘッダに含まれたフレームヘッダに格納されたフレーム長に関する情報を用いて、分離・連結処理を行うことによって、前記フレームデータを生成するステップ(c)と、前記フレームデータの先頭に、前記フレームヘッダを付加するステップ(d)とを備えたものである。
また、本発明は、N(Nは2以上の整数)個のフレームデータと前記N個のフレームデータを管理するための管理データとを含む暗号化対象データを、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化する暗号化データ生成装置として、前記管理データから、前記各フレームデータにそれぞれ対応し、当該フレームデータのフレームヘッダを含む、付加情報ヘッダを生成するヘッダ生成部と、前記各フレームデータを連鎖暗号化方式によって暗号化し、一連の複数の暗号化データを生成する暗号処理部と、前記複数の暗号化データのうち、n(nは1以上N未満の整数)番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する前記付加情報ヘッダを対応付けるとともに、前記付加情報ヘッダを、前記複数の暗号化データにおける所定位置に付加するヘッダ付加部とを備えたものである。
また、本発明は、N(Nは2以上の整数)個のフレームデータを含む暗号化対象データが、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化されてなる、再生対象データを再生する暗号化データ再生装置として、前記再生対象データは、複数の暗号化データと、前記N個のフレームデータにそれぞれ対応するN個のフレームヘッダをそれぞれ含む、N個の付加情報ヘッダとを備え、(n+1)(nは1以上N未満の整数)番目のフレームヘッダを含む付加情報ヘッダは、前記複数の暗号化データのうち、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して対応付けられて、前記複数の暗号化データにおける所定位置に付加されているものであり、前記再生対象データから、前記付加情報ヘッダを分離するヘッダ分離部と、前記再生対象データから読み出された前記暗号化データを、暗号連鎖単位のデータ長に関する情報を用いて、復号化する復号処理部と、復号化されたデータに対して、前記ヘッダ分離部によって分離された前記付加情報ヘッダに含まれたフレームヘッダに格納されたフレーム長に関する情報を用いて、分離・連結処理を行うことによって、前記フレームデータを生成するフレームデータ生成部と、前記フレームデータの先頭に、前記フレームヘッダを付加するヘッダ付加部とを備えたものである。
また、本発明は、N(Nは2以上の整数)個のフレームデータを含む暗号化対象データが、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化されたデータ構造として、複数の暗号化データと、前記N個のフレームデータにそれぞれ対応するN個のフレームヘッダをそれぞれ含む、N個の付加情報ヘッダとを備え、(n+1)(nは1以上N未満の整数)番目のフレームヘッダを含む前記付加情報ヘッダは、前記複数の暗号化データのうち、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して対応付けられて、前記複数の暗号化データにおける所定位置に付加されているものである。
本発明によると、暗号化データの復号化が行われていくにつれて、先頭にフレームヘッダが付されたフレームデータが、順次生成されていく。このため、生成されたフレームデータを内蔵メモリに一旦格納した後、暗号化データ生成・再生装置内でそのままデコード再生を行うことが可能となる。したがって、従来のようにまとまった量の暗号化コンテンツを復号化しなくとも、順次フレームデータを再生することが可能であるので、システムメモリを一切介在させず処理を行うことが可能となる。これに加えて、ヘッダの割り振りが暗号化データ生成・再生装置内の閉じた処理として行われるため、システムを制御するCPUに負担をかけることもない。したがって、大幅な消費電力の削減が可能となる。
以下、図面を参照して本発明の実施の形態について説明する。なお、以下で説明する実施の形態はあくまで一例である。
(第1の実施形態)
<装置構成>
図1は本発明の第1の実施形態に係る暗号化データ生成・再生装置101、及びこれと関連して動作する装置を含む情報処理システムの全体構成を示す図である。図1において、暗号化データ生成・再生装置101はAVデータの暗号化や復号化・再生を行う。第1のCPU102は情報処理システム全体の制御を行い、システムメモリ103は例えばDRAMによって構成されている。暗号化データ生成・再生装置101は外部バス104によって第1のCPU102とシステムメモリ103に接続されており、これらとの間でデータのやり取りを行いつつ動作する。そして、暗号化データ生成・再生装置101は、外部からダウンロードされたAVデータを暗号化して、外部に接続される記憶手段としてのターゲット105に格納することができる。あるいは、ターゲット105に格納された暗号化されたAVデータを復号化し、再生することができる。
<装置構成>
図1は本発明の第1の実施形態に係る暗号化データ生成・再生装置101、及びこれと関連して動作する装置を含む情報処理システムの全体構成を示す図である。図1において、暗号化データ生成・再生装置101はAVデータの暗号化や復号化・再生を行う。第1のCPU102は情報処理システム全体の制御を行い、システムメモリ103は例えばDRAMによって構成されている。暗号化データ生成・再生装置101は外部バス104によって第1のCPU102とシステムメモリ103に接続されており、これらとの間でデータのやり取りを行いつつ動作する。そして、暗号化データ生成・再生装置101は、外部からダウンロードされたAVデータを暗号化して、外部に接続される記憶手段としてのターゲット105に格納することができる。あるいは、ターゲット105に格納された暗号化されたAVデータを復号化し、再生することができる。
ターゲット105は例えば、SDカード、メモリスティック等の記憶メディアによって構成される。また、本願明細書では、フレーム毎のAVデータについて、フレームデータと称する。
暗号化データ生成・再生装置101は、暗号化データ生成・再生装置101内の制御を行う制御部106(第2のCPU)と、暗号化データ生成・再生装置101内の各部同士のデータのやり取りに用いられる内部バス107と、外部バス104との間のデータのやり取りを制御するホストIF部108と、制御部106によって制御されてAVデータを含む機密情報の暗号化や復号化を行う暗号・復号処理部109と、暗号・復号処理部109を含む機密情報処理部119と内部バス107との間でデータの入出力を行うための入出力部110と、暗号化データ生成・再生装置101内で処理されるデータを一時的に記憶し、例えばSRAMで構成される内蔵メモリ111と、ターゲット105とのデータのやり取りを制御するターゲットIF部112と、復号化されたデータをデコードして再生するデコード・オーディオ処理部113とを備えている。
なお、システムメモリ103は必ずしもDRAMで構成する必要はないが、高速大容量のメモリとしてはDRAMを用いるのが最適である。また、内蔵メモリ111も必ずしもSRAMで構成する必要はない。
また本実施形態では、機密情報処理部119は、暗号・復号処理部109および入出力部110に加えて、フレーム長・暗号連鎖解析部114、ヘッダ変換部115、フレーム長解析・ヘッダ待機部116、データ変換部117、ヘッダ解析・付加部118をさらに有している。
フレーム長・暗号連鎖解析部114は、AVデータを暗号化してターゲット105に格納するに際し、一括でシステムメモリ103に格納されたAVデータ管理情報をフレーム毎のヘッダに振り分け、これを基に各フレームの長さを判断すると共に、システムメモリ103に格納された暗号連鎖単位情報から各暗号連鎖単位の長さを判断する。
ヘッダ変換部115は、復号化において暗号化コンテンツに埋め込まれているヘッダをオーディオヘッダへと変換する。
フレーム長解析・ヘッダ待機部116は、復号化の際にフレーム長を解析して、ヘッダ変換部115によって変換されたオーディオヘッダを一時待機させる。
データ変換部117は、復号化の際に必要なデータが揃うと、オーディオヘッダが対応するフレームデータの先頭に配置されるようにデータの並べ替えを行う。
ヘッダ解析・付加部118は、フレーム長・暗号連鎖解析部114によって抽出し振り分けられたフレーム毎のヘッダを、前のフレームとの境界が存在する暗号化データの先頭に付加する。また、復号化の際には暗号化コンテンツからヘッダを分離する。
図1の暗号化データ生成・再生装置101が本発明の暗号化データ生成装置として動作する場合には、フレーム長・暗号連鎖解析部114がヘッダ生成部に相当し、暗号・復号処理部109が暗号処理部に相当し、ヘッダ解析・付加部118がヘッダ付加部に相当する。また、図1の暗号化データ生成・再生装置101が本発明の暗号化データ再生装置として動作する場合には、ヘッダ解析・付加部118がヘッダ分離部に相当し、暗号・復号処理部109が復号処理部に相当し、データ変換部117およびフレーム長解析ヘッダ待機部116がフレームデータ生成部に相当し、ヘッダ解析・付加部118がヘッダ付加部に相当し、ヘッダ変換部115がヘッダ変換部に相当する。
なお、暗号化データ生成・再生装置101は、通常、LSIとして構成される。この場合、第1のCPUも含めて1チップとすることも、別々のチップとして構成することも可能である。DRAM混載プロセスを用いれば、システムメモリ103も含めて1チップとすることも可能である。ここでDRAMや第1のCPUを1個のLSIとして構成した場合でも、DRAMや第1のCPUを動作させない構成とすることによって、内蔵したDRAM部の電力を削減することができるので、同様に低消費電力化の効果がある。
また、本実施形態において追加される、フレーム長・暗号連鎖解析部114、ヘッダ変換部115、フレーム長解析・ヘッダ待機部116、データ変換部117、ヘッダ解析・付加部118は、ハードウェアとして構成されることが望ましい。これによって消費電力の削減が可能である。
上記の構成を有する暗号化データ生成・再生装置101の動作について、以下に詳細に説明する。
<暗号化データ生成>
図2を用いて、本実施形態においてシステムメモリ103に一旦格納されたAVデータを暗号化してターゲット105に格納する概念を説明する。
図2を用いて、本実施形態においてシステムメモリ103に一旦格納されたAVデータを暗号化してターゲット105に格納する概念を説明する。
図2(a)は本実施形態で取り扱う暗号化対象データとしてのAVデータの一例としての、MP4フォーマットにおけるあるファイル構成を示す図である。ただし、MP4であっても異なるファイル構成をとることはあり得る。図2(a)のMP4のファイル構成では、ftypおよびmoovが管理データとしてのAVデータ管理情報を構成している。ftypは、ファイルの互換性を示す情報であり、例えばAVデータがAAC、AAC+、AAC++等のいずれのフォーマットで符号化されているかといったバージョン情報を含む。moovは、AVデータの各フレームデータのフレーム長などの情報を含む。このmoovに、各フレームデータのフレームヘッダが一括で格納されている。AVデータの本体は、mdatとして構成されている。すなわち、mdat中に、図1のシステムメモリ103に格納されているフレームデータ1、フレームデータ2、…、がまとめて配置されている。
本実施形態では、フレーム長・暗号連鎖解析部114が、moovに一括で配置されたヘッダを、必要に応じて変換した上で、フレームデータ毎の付加情報ヘッダとして振り分ける。付加情報ヘッダは、フレームデータに関する情報を表すフレームヘッダを含む。また、暗号・復号処理部109が、mdatにまとめて配置された各フレームデータを、システムメモリ103に格納された暗号連鎖単位情報に基づいて、連鎖暗号方式によって暗号化する。これによって、任意のデータ長の暗号連鎖単位からなる、一連の複数の暗号化データが生成される。
図2(b)は本実施形態における付加情報ヘッダの付加方法を概念的に示す図である。図2(b)に示すように、ヘッダ解析・付加部118は、一連の複数の暗号化データに対して、各フレームデータに対応する付加情報ヘッダを付加する。具体的には、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する付加情報ヘッダを対応付けるとともに、この付加情報ヘッダを、当該暗号化データの先頭に付加する。
すなわち、フレームデータ1の付加情報ヘッダは、全ての暗号化データの先頭である暗号化データ1の先頭に挿入される。フレームデータ1とフレームデータ2との境界は暗号化データ2に存在するため、フレームデータ2の付加情報ヘッダは暗号化データ2の先頭に挿入される。暗号化データ3にはフレーム境界が存在しないために、暗号化データ3の先頭には何も挿入されない。暗号化データ4にはフレームデータ2とフレームデータ3との境界が存在するため、フレームデータ3の付加情報ヘッダがその先頭に挿入される。
このようにして、暗号化データと付加情報ヘッダとを含む暗号化コンテンツが生成される。なお、付加情報ヘッダの長さは固定長であるものとする。また、付加情報ヘッダに含まれたフレームヘッダは、少なくとも、対応するフレームデータのデータ長に関する情報を含むものとする。
図3は外部からダウンロードされたAVデータを暗号化してターゲット105に格納する処理のフローチャートであり、図2(b)のような暗号化データを生成するためのものである。図3において、点線はデータ処理を表している。
まず、不正なターゲット105にAVデータを格納することを防止するために、ホストとなる暗号化データ生成・再生装置101とターゲット105との間で認証を行う(S301)。認証処理は、暗号化データ生成・再生装置101とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、AVデータを暗号化するための鍵となるコンテンツ鍵が生成される。
次に、システムメモリ103に格納されている暗号連鎖単位情報を参照して、連鎖暗号方式で暗号化する単位となる暗号連鎖単位を暗号・復号処理部109に設定する(S302)。そして、暗号化の対象となるAVデータを入力していく(S303)。まず、最初のフレームデータ1が入力されると、データ入力開始であるため(S304でYes)、フレーム長・暗号連鎖解析部114が、フレームデータ1に対する付加情報ヘッダを生成して内蔵メモリ111に格納しておく(S305)。この付加情報ヘッダには、フレームデータ1に対するフレーム長が含まれている。
入力されたAVデータは、暗号連鎖単位が終了するまで連鎖暗号方式によって順次暗号化されつつ、内蔵メモリ111に展開される(S307)。1番目の暗号連鎖単位の暗号化が終了すると(S308でYes、暗号化データ1の生成完了)、ヘッダ解析・付加部118が暗号化データ1にフレーム境界が含まれているか否かを判断する(S309)。図2(b)の例によると、最初の暗号化データ1にはフレーム境界が含まれていない。ただし、暗号化データ1は先頭のデータである。そこでヘッダ解析・付加部118は、内蔵メモリ111に格納されているフレームデータ1用の付加情報ヘッダを先頭に付加した上で(S310)、暗号化データ1をシステムメモリ103に展開し直す(S311)。
次に暗号連鎖単位を再度設定した上で(S302)、2番目の暗号連鎖単位の暗号化を順次行っていく。ここではフレーム境界が含まれるため、フレーム長・暗号連鎖解析部114が、フレーム境界を検出して(S304でYes)、フレームデータ2に対する付加情報ヘッダを生成し、内蔵メモリ111に格納する。そして、2番目の暗号連鎖単位の暗号化が全て終了すると(S308でYes)、ヘッダ解析・付加部118が暗号化データ2にフレーム境界が含まれているか否かを判断する(S309)。ここではフレーム境界が含まれていたため、ヘッダ解析・付加部118が、フレームデータ2に対する付加情報ヘッダを先頭に付加した上で(S310)、暗号化データ2をシステムメモリ103に展開し直す(S311)。
次に暗号連鎖単位を再度設定した上で、3番目の暗号連鎖単位の暗号化を順次行っていく。ここではフレーム境界が含まれていないため、3番目の暗号連鎖単位の暗号化が終了すると、暗号化データ3はそのままシステムメモリ103に展開される。次に暗号連鎖単位を再度設定した上、4番目の暗号連鎖単位の暗号化を順次行っていく。ここではフレームデータ2とフレームデータ3との境界が存在するため、フレーム長・暗号連鎖解析部114が、フレーム境界を検出して、フレームデータ3に対する付加情報ヘッダを生成し、内蔵メモリ111に格納する。そして、4番目の暗号連鎖単位の暗号化が全て終了すると、ヘッダ解析・付加部118が、フレームデータ3に対する付加情報ヘッダを先頭に付加した上で、暗号化データ4をシステムメモリ103に展開し直す。
以上の処理をAVデータが終了するまで繰り返し(S306)、終了すると、それまでに暗号化された暗号化データをまとめて暗号化コンテンツとして、システムメモリ103からターゲット105へと書き込む(S312)。これによって、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に(n+1)番目のフレームデータに対する付加情報ヘッダが付加された状態で、AVデータ全体が暗号化されて、ターゲット105に格納されたことになる。また、システムメモリ103に格納されている暗号連鎖単位情報も、暗号化コンテンツと関連付けて、ターゲット105に格納するものとする。
図4は図3の処理の終了後におけるターゲット105内のデータ格納状態を示す。ターゲット105の記憶領域は、システム領域401と、保護領域402と、通常領域403とに分かれて構成されている。システム領域401は製造時に設定される領域であって、製品となった後は書き換えることができない。このシステム領域401には暗号化データ生成・再生装置101との間の認証に必要な認証鍵が格納されている。保護領域402は認証に成功したときのみアクセス可能な領域であり、暗号化コンテンツの暗号化・復号化の鍵となるコンテンツ鍵と暗号連鎖単位情報等が格納されている。通常領域403は自由にアクセス可能な領域であり、上述の方法によって暗号化された暗号化コンテンツが格納される。なお、保護領域402は、全体の格納領域の数%以下程度に抑える必要があるため、暗号連鎖単位情報は通常領域403に格納した方が好ましい場合もある。
なお、図3のフローチャートによると、生成された暗号化コンテンツは一旦システムメモリ103に展開された上で、暗号化処理終了後にまとめてターゲット105に書き込まれる。しかしながら、本実施形態によると、1つの暗号連鎖単位の暗号化が終了した段階でデータ順序を入れ替える必要は特にないため、暗号連鎖単位の暗号化が終了する毎に、生成された暗号化データを内蔵メモリ111から直接ターゲット105に書き込むことも可能である。この場合、システムメモリ103に暗号化データを展開し直す必要がないため、暗号化コンテンツ生成に必要な消費電力が大幅に削減される。
図5は上述した動作を回路間のデータの流れとして記述した回路動作概要図である。図5に示すように、フレーム長・暗号連鎖解析部114はシステムメモリ103に格納されたAVデータ管理情報と暗号連鎖単位情報とを読み込む。そして、暗号・復号処理部109に暗号連鎖単位を設定し、またフレームヘッダを含む付加情報ヘッダを生成してヘッダ解析・付加部118に出力する。フレームデータはシステムメモリ103から暗号化データ生成・再生装置101に順次入力され、暗号・復号処理部109によって連鎖暗号方式によって暗号化される。暗号化された結果の暗号化データはヘッダ解析・付加部118に出力される。ヘッダ解析・付加部118はフレーム毎の付加情報ヘッダを、上述のようにフレーム境界が存在する適切な暗号化データの先頭に付加し、付加情報ヘッダ付き暗号化データとしてシステムメモリ103に展開していく。全ての暗号化が終了すると、付加情報ヘッダ付き暗号化データは暗号化コンテンツとして、システムメモリ103からターゲットIF部112を介してターゲット105に格納される。
なお、付加情報ヘッダ付き暗号化データを内蔵メモリ111に展開する場合は、暗号連鎖単位の暗号化が終了する毎に、暗号化データが、内蔵メモリ111からターゲットIF部112を介してターゲット105に格納される。また、図示はしないが、暗号連鎖単位情報もターゲット105に格納される。
以上の処理によって生成された暗号化コンテンツは、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に、(n+1)番目のフレームデータに対する付加情報ヘッダが付加されたデータ構造となっている。このデータ構造によると、後述するように、暗号化コンテンツの復号および再生が、暗号化データ生成・再生装置101内の閉じた処理として、システムメモリ103を用いずに実行可能であり、消費電力が大幅に低減される。
<暗号化データの復号・再生>
図6を用いて、本実施形態における、ターゲット105に格納された暗号化コンテンツを復号化する処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、n番目とn+1番目のフレームデータの境界が存在する暗号化データの先頭に、n+1番目のフレームデータに対する付加情報ヘッダが付加されたデータ構造となっている。
図6を用いて、本実施形態における、ターゲット105に格納された暗号化コンテンツを復号化する処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、n番目とn+1番目のフレームデータの境界が存在する暗号化データの先頭に、n+1番目のフレームデータに対する付加情報ヘッダが付加されたデータ構造となっている。
制御部106は、ターゲット105に格納された暗号連鎖単位情報に基づいて、各暗号化データに係る暗号連鎖単位のデータ長を暗号・復号処理部109に設定する。ヘッダ解析・付加部118は、この暗号連鎖単位のデータ長に関する情報と、各付加情報ヘッダに含まれたフレームデータのデータ長に関する情報とから、付加情報ヘッダの位置を算出し、暗号化コンテンツから付加情報ヘッダを分離する。
ヘッダ変換部115は、付加情報ヘッダを再生用フレームヘッダとしてのオーディオヘッダ(ADTSヘッダ:Audio Data Transport Stream)に変換する。ここで、オーディオヘッダへの変換とは例えば、MP4内のftypがAAC+を示す場合に、AACのADTSフォーマットでしか再生できない機器でもオーディオデータを再生できるように、AAC用のヘッダに変換するような処理を示している。変換後のヘッダは、フレーム長解析・ヘッダ待機部116において一時待機させられる。なお、ヘッダ変換が必要でない場合もあり得る。この場合は、付加情報ヘッダに含まれたフレームヘッダがそのまま用いられる。
一方、暗号・復号処理部109は、暗号連鎖単位のデータ長に関する情報を用いて、暗号化データを順次復号化し、内蔵メモリ111に展開していく。フレーム長解析・ヘッダ待機部116は、付加情報ヘッダに格納されたフレーム長に関する情報からフレーム境界を検知し、フレーム境界が存在する暗号化データの復号化が終了すると、待機させておいたヘッダと、内蔵メモリ111に展開されていた復号化されたデータとを、データ変換部117に出力する。
データ変換部117は、復号化されたデータに対して、フレーム長に関する情報を用いて、分離・連結処理を行うことによって、フレームデータを生成する。そしてそのフレームデータの先頭に変換後のヘッダを付加し、デコード・オーディオ処理部113に出力する。出力されるデータは、フレームデータ毎にオーディオヘッダが配置され、かつオーディオフォーマット(AAC)に準拠したものである。このため、第1のCPU102やシステムメモリ103を必要とすることなく、そのまま再生することができる。
図7のフローチャートを用いて、図6のように暗号化コンテンツを復号・再生する処理について詳細に説明する。図7において、点線はデータ処理を表している。
まず、不正なターゲット105に格納された暗号化コンテンツを再生することを防止するために、ホストとなる暗号化データ生成・再生装置101とターゲット105との間で認証を行う(S701)。認証処理は、暗号化データ生成・再生装置101とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、暗号化コンテンツを復号化するための鍵となるコンテンツ鍵が生成される。
次に、制御部106がターゲット105の保護領域402に格納された暗号連鎖単位情報を参照して、連鎖暗号方式で暗号化する単位となる暗号連鎖単位のデータ長を暗号・復号処理部109に設定する(S702)。次に、ヘッダ解析・付加部118が、暗号化データの先頭に付加情報ヘッダが含まれているか否かを判断し、付加情報ヘッダが含まれている場合にはこれを分離する(S703)。まず、1番目の暗号化データ1の先頭には必ず付加情報ヘッダが含まれていると判断する。また、2番目以降の暗号化データについては、暗号連鎖単位のデータ長と、前に分離された付加情報ヘッダの中に含まれたフレーム長の情報とから、付加情報ヘッダの有無を判断する。分離された付加情報ヘッダは、ヘッダ変換部115によってオーディオヘッダに変換され(S704)、フレーム長解析・ヘッダ待機部116において待機させられる(S705)。
また、付加情報ヘッダが含まれているか否かに関わらず、暗号化データがターゲット105から暗号化データ生成・再生装置101へと読み出され(S706)、暗号・復号処理部109において復号化される(S707)。復号化されたデータは内蔵メモリ111に順次展開されていく。
1つの暗号化データの復号化が終了すると(S708でYes)、フレーム長解析・ヘッダ待機部116が、付加情報ヘッダに含まれるフレーム長の情報に基づいて、フレーム境界が暗号化データに含まれていたか否かを判断する(S709)。フレーム境界が含まれていた場合は、データ変換部117が、フレーム長解析・ヘッダ待機部116において待機していたオーディオヘッダを読み出すとともに、内蔵メモリ111に一時格納していた復号化されたデータを読み出し、新たなフレームデータの先頭にオーディオヘッダが付与されるように、データの並び替えを行う(S710)。一方、フレーム境界が含まれていない場合は、次の暗号連鎖単位のデータ長を暗号・復号処理部109に設定し(S702)、一連の処理を繰り返す。
並び替えによって生成されたフレームデータは、順次デコード・オーディオ処理部113に入力され、デコード再生される(S711)。
図8は上述した動作を回路間のデータの流れとして記述した回路動作概要図である。図8に示すように、ターゲット105に格納された暗号化コンテンツは、ターゲットIF部112を介して、付加情報ヘッダ付き暗号化データとして内蔵メモリ111に入力される。ヘッダ解析・付加部118は、別途ターゲット105から読み出された暗号連鎖単位情報と付加情報ヘッダに格納されたフレーム長に関する情報とに基づいて、内蔵メモリ111から読み出した付加情報ヘッダ付き暗号化データから付加情報ヘッダを抽出・分離する。分離された付加情報ヘッダは、ヘッダ変換部115に出力される。ヘッダ変換部115は入力された付加情報ヘッダをオーディオヘッダに変換して、フレーム長解析・ヘッダ待機部116に出力する。一方、暗号・復号処理部109には、暗号連鎖単位のデータ長が暗号化データ毎に制御部106によって設定される。そして、暗号・復号処理部109は、付加情報ヘッダが分離された暗号化データを復号化し、平文データとして内蔵メモリ111に展開する。
フレーム長解析・ヘッダ待機部116は、フレーム境界が存在する暗号化データを検知して、その復号化が終了すると、内蔵メモリ111に展開された平文データをデータ変換部117に出力させる。また自らに待機させておいたオーディオヘッダをデータ変換部117に出力する。データ変換部117はフレームデータの先頭に、対応するオーディオヘッダが配置されるようにデータの並び替えを行い、デコード・オーディオ処理部113に出力する。デコード・オーディオ処理部113は入力されるフレームデータを順次デコード再生する。
以上の方法で暗号化コンテンツの復号化を行うことにより、一連の暗号化データを復号化しつつ、フレームデータの先頭にオーディオヘッダを付与した形で、内蔵メモリ111からデコード・オーディオ処理部113にデータを転送することができ、デコード・オーディオ処理部113はそのままデコード再生を行うことが可能となる。したがって、従来のようにまとまった量の暗号化コンテンツを復号化しなくとも、順次フレームデータを再生することが可能であるので、システムメモリを一切介在させず処理を行うことが可能となる。これに加えて、ヘッダの割り振りが暗号化データ生成・再生装置101内の閉じた処理として行われるため、第1のCPU102に負担をかけることもない。したがって、大幅な消費電力の削減が可能となり、従来の数倍〜10倍もの数の暗号化コンテンツを充電無しで再生することが可能となる。
なお、図7のフローチャートによると、1つの暗号化データが全て復号化された段階でオーディオヘッダを付与してデータの並び替えを行っているが、この代わりに、復号化されたデータを順次デコード・オーディオ処理部113に出力しつつ、フレーム境界を検知したときにオーディオヘッダを挿入することも可能である。これにより、オーディオヘッダの待機時間が短くなり(暗号連鎖単位分の待機時間よりも短くなり得る)、内蔵メモリ111に展開するデータ量も少なくできるので、回路規模が縮小できる。
(第1の実施形態の改変例)
上述の実施形態では、暗号連鎖単位のデータ長を示す暗号連鎖単位情報は、暗号化コンテンツと関連付けた上で、暗号化コンテンツとは別データとして、ターゲット105の保護領域402に格納するものとした。しかしながら、この暗号連鎖単位情報は、分割して、付加情報ヘッダの中に含めるようにしてもかまわない。
上述の実施形態では、暗号連鎖単位のデータ長を示す暗号連鎖単位情報は、暗号化コンテンツと関連付けた上で、暗号化コンテンツとは別データとして、ターゲット105の保護領域402に格納するものとした。しかしながら、この暗号連鎖単位情報は、分割して、付加情報ヘッダの中に含めるようにしてもかまわない。
すなわち、付加情報ヘッダの中に、暗号化データの暗号連鎖単位のデータ長に関する情報を含めるようにする。ただし、付加情報ヘッダは、全ての暗号化データの先頭に付与されている訳ではなく、付加情報ヘッダが付された暗号化データもあれば、付加情報ヘッダが付されていない暗号化データもある。そこで、本改変例では、各付加情報ヘッダは、当該付加情報ヘッダから次の付加情報ヘッダまでの間にある暗号化データについての、暗号連鎖単位のデータ長に関する情報を有するものとする。
この場合には、暗号化コンテンツの復号化は図9に示すように行われる。すなわち、各暗号化データについての暗号連鎖単位のデータ長は、その前に付加されている付加情報ヘッダを解析することによって、取得することができる。
(第2の実施形態)
上述の第1の実施形態では、データ暗号化において、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する付加情報ヘッダを、その先頭に付加するものとした。これに対して本発明の第2の実施形態では、フレームデータの境界が存在する暗号化データに対応付けた各付加情報ヘッダを、一連の複数の暗号化データの先頭に、まとめて付加するものとする。なお、本実施形態に係る装置構成は図1と同様であり、ここでは説明を省略する。
上述の第1の実施形態では、データ暗号化において、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する付加情報ヘッダを、その先頭に付加するものとした。これに対して本発明の第2の実施形態では、フレームデータの境界が存在する暗号化データに対応付けた各付加情報ヘッダを、一連の複数の暗号化データの先頭に、まとめて付加するものとする。なお、本実施形態に係る装置構成は図1と同様であり、ここでは説明を省略する。
<暗号化データ生成>
図10は本実施形態における暗号化データ生成の概念図であり、付加情報ヘッダの付加方法を概念的に示す図である。図10に示すように、本実施形態では、フレームデータ毎の付加情報ヘッダを一括して、一連の暗号化データの先頭に配置する。また、各付加情報ヘッダと、対応するフレームデータとは関連付けられている。
図10は本実施形態における暗号化データ生成の概念図であり、付加情報ヘッダの付加方法を概念的に示す図である。図10に示すように、本実施形態では、フレームデータ毎の付加情報ヘッダを一括して、一連の暗号化データの先頭に配置する。また、各付加情報ヘッダと、対応するフレームデータとは関連付けられている。
さらに、付加情報ヘッダと暗号化データとの関係も、第1の実施形態と同様であり、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する付加情報ヘッダが対応付けられている。すなわち、1番目の付加情報ヘッダは暗号化データ1に対応する。2番目の付加情報ヘッダは、フレームデータ1とフレームデータ2の境界が暗号化データ2に存在するため、暗号化データ2に対応する。暗号化データ3はフレーム境界が存在しないため、これに対応する付加情報ヘッダは存在しない。暗号化データ4はフレームデータ2とフレームデータ3の境界が存在するため、3番目の付加情報ヘッダがこれに対応する。
ここで、付加情報ヘッダは、第1の実施形態と同様に、対応するフレームデータのデータ長に関する情報を含むフレームヘッダを含んでいる。これに加えて、本実施形態における付加情報ヘッダは、オフセットを有している。ここでオフセットとは、自らがどの暗号化データの付加情報ヘッダであるかを示す情報である。具体的には例えば、対応する暗号化データが先頭から数えて何番目のものであるかを表す情報、あるいは先頭から、対応する暗号化データの位置までのビット長を表す情報である。このオフセットによって、付加情報ヘッダがどの暗号化データと対応付けられているかを知ることができる。
なお、本実施形態において、付加情報ヘッダは、一連の暗号化データの先頭に配置されている必要は必ずしもなく、一括で配置されていれば先頭以外の場所に配置されていてもかまわない。また、暗号化データとは異なる領域に配置されていてもかまわない。
図11は外部からダウンロードされたAVデータを暗号化してターゲット105に格納する処理のフローチャートであり、図10のような暗号化コンテンツを生成するためのものである。図11において、点線はデータ処理を表している。
図11のフローチャートは図3とほぼ同様であり、図3と共通のステップには同一の符号を付しており、ここではその詳細な説明を省略する。図3と異なるのは、ヘッダ生成のステップ(S315)である。ステップS315では、フレーム長・暗号連鎖解析部114が、フレーム長等に加えてオフセットを含むように、付加情報ヘッダを生成する。そしてステップS310において、各付加情報ヘッダは暗号化データの先頭にまとめて配置される(S311)。この場合、暗号化コンテンツを生成するときに予め、付加情報ヘッダを格納するメモリ領域を設けておくのが好ましい。
<暗号化データの復号・再生>
図12を用いて、本実施形態における暗号化データの復号化処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、フレームデータの境界が存在する暗号化データに対応付けられた各付加情報ヘッダが、一連の暗号化データの先頭に一括して配置されたデータ構造となっている。
図12を用いて、本実施形態における暗号化データの復号化処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、フレームデータの境界が存在する暗号化データに対応付けられた各付加情報ヘッダが、一連の暗号化データの先頭に一括して配置されたデータ構造となっている。
図12の処理は第1の実施形態における図6の処理とほぼ同様である。異なっているのは、ヘッダ解析・付加部118が、各付加情報ヘッダがどの暗号化データに対応するものであるかを、当該付加情報ヘッダのオフセットを解析することによって、求める点である。
ここで本実施形態では、付加情報ヘッダとこれに対応する暗号化データとは、連続するアドレス空間に配置されていない。よって、1つの付加情報ヘッダの解析が終了すると、オフセットを用いて、ターゲット105からの読み出しアドレスを、処理すべき暗号化データの先頭に設定する。例えば、1番目の付加情報ヘッダにはオフセット1として暗号化データ1の位置が設定されており、2番目の付加情報ヘッダにはオフセット2として暗号化データ2の位置が設定されており、3番目の付加情報ヘッダにはオフセット3として暗号化データ4の位置が設定されている。そして、1番目の付加情報ヘッダの解析が終了すると、暗号化データ1の先頭へ読み出しアドレスを変化させて復号化を行う。2番目の付加情報ヘッダの解析が終了すると、暗号化データ2の先頭へ読み出しアドレスを変化させて復号化を行い、さらに連続して暗号化データ3の復号化が終了してから3番目の付加情報ヘッダの解析を行う。3番目の付加情報ヘッダの解析が終了すると、暗号化データ4の先頭へ読み出しアドレスを変化させて復号化を行う。具体的なフローチャートについては後述する。
図13のフローチャートを用いて、図12のように暗号化コンテンツを復号・再生する処理について詳細に説明する。図13において、点線はデータ処理を表している。
まず、不正なターゲット105に格納された暗号化コンテンツを再生することを防止するために、ホストとなる暗号化データ生成・再生装置101とターゲット105との間で認証を行う(S701)。認証処理は、暗号化データ生成・再生装置101とターゲット105に予め格納されている認証鍵を用いて行われる。認証に成功した後に、暗号化コンテンツを復号化するための鍵となるコンテンツ鍵が生成される。
次に、制御部106がターゲット105の保護領域402に格納された暗号連鎖単位情報を参照して、1番目の暗号化データ1の暗号連鎖単位のデータ長を暗号・復号処理部109に設定する(S702)。そして、暗号化データ1には1番目の付加情報ヘッダが対応するので、ヘッダ解析・付加部が、ターゲット105からの読み出しアドレスを1番目の付加情報ヘッダへと変更し、これを読み出して解析する(S721)。2番目以降の付加情報ヘッダが含まれているか否かについては、暗号連鎖単位のデータ長と、前に分離された付加情報ヘッダの中に含まれたフレーム長の情報とから判断される。分離された付加情報ヘッダは、ヘッダ変換部115によってオーディオヘッダに変換され(S704)、フレーム長解析・ヘッダ待機部116において待機させられる(S705)。
また、本実施形態では、付加情報ヘッダが、対応する暗号化データの位置情報をオフセットという形で有している。そこで、オフセットを参照して、ターゲット105からの読み出しアドレスを処理対象となる暗号化データの先頭に変更して(S722)、ターゲット105から暗号化データ生成・再生装置101へと暗号化データを読み出していく(S706)。読み出された暗号化データは暗号・復号処理部109において復号化される(S707)。復号化されたデータは内蔵メモリ111に順次展開されていく。
1つの暗号化データの復号化が終了すると(S708でYes)、フレーム長解析・ヘッダ待機部116が、付加情報ヘッダに含まれるフレーム長の情報に基づいて、フレーム境界が暗号化データに含まれていたか否かを判断する(S709)。フレーム境界が含まれていた場合は、データ変換部117が、フレーム長解析・ヘッダ待機部116において待機していたオーディオヘッダを読み出すとともに、内蔵メモリ111に一時格納していた復号化されたデータを読み出し、新たなフレームデータの先頭にオーディオヘッダが付与されるように、データの並び替えを行う(S711)。
一方、フレーム境界が含まれていない場合は、次の暗号連鎖単位のデータ長を暗号・復号処理部109に設定する(S723)。そして、以前に解析した付加情報ヘッダが有するフレーム長の情報と、これまでに復号化した暗号化データのデータ長と、次に復号化する暗号連鎖単位のデータ長の情報から、付加情報ヘッダの解析が必要か否か(次の暗号化データが付加情報ヘッダを有するか否か)を判断する(S724)。付加情報ヘッダの解析が必要ない場合は、ターゲット105から暗号化データを読み出し、復号化していく。一方、付加情報ヘッダの解析が必要な場合は、ターゲット105からの読み出しアドレスを次の付加情報ヘッダの位置へと変更し、ヘッダの読み出し・解析から一連の処理を繰り返す。
並び替えによって生成されたフレームデータは、順次デコード・オーディオ処理部113に入力され、デコード再生される(S711)。
本実施形態における回路動作概要図は、第1の実施形態における図8と同様である。ただし、各々の構成要素が行う処理は、図13のフローチャートのように、第1の実施形態から一部変更されている。
(第3の実施形態)
上述の第1の実施形態では、データ暗号化において、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対する付加情報ヘッダを対応付けるとともに、この付加情報ヘッダを、当該暗号化データの先頭に付加するものとした。すなわち、フレームデータの境界が存在しない暗号化データの先頭には、ヘッダは存在しなかった。
上述の第1の実施形態では、データ暗号化において、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対する付加情報ヘッダを対応付けるとともに、この付加情報ヘッダを、当該暗号化データの先頭に付加するものとした。すなわち、フレームデータの境界が存在しない暗号化データの先頭には、ヘッダは存在しなかった。
これに対して、本発明の第3の実施形態では、フレームデータの境界の有無に関わらず、全ての暗号化データの先頭に、固定長のヘッダが付与されるものとする。すなわち、フレームデータの境界が存在しない暗号化データに対して、その先頭に、フレームヘッダを含まないダミーヘッダを付加するものとする。
そして、付加情報ヘッダおよびダミーヘッダは、自らがフレームデータの真のヘッダであるか否かを示すフラグを有しているものとする。すなわち、このフラグは、ヘッダがフレームヘッダを含むものであるか否かを示す。ここでは、フラグが1のときは、ヘッダはフレームヘッダを含む付加情報ヘッダであることを示し、フラグが0のときは、ヘッダはフレームヘッダを含まないダミーヘッダであることを示すものとする。
さらに、各ヘッダには、対応する暗号化データの暗号連鎖単位のデータ長に関する情報がそれぞれ格納されているものとする。すなわち、フラグが0であるダミーヘッダであっても、暗号連鎖単位のデータ長に関する情報を有している。したがって、第1の実施形態の改変例のように、各付加情報ヘッダが、1つまたは複数の暗号化データについての暗号連鎖単位のデータ長に関する情報を有する場合に比べて、処理が簡単になる。また、制御部106がヘッダを振り分ける必要がないので、処理が簡単化される。なお、本実施形態に係る装置構成は図1と同様であり、ここでは説明を省略する。
<暗号化データ生成>
図14は本実施形態における暗号化データ生成の概念図であり、付加情報ヘッダの付加方法を概念的に示す図である。ここでは、予め、全ての暗号化データに共通のヘッダフォーマットが準備されているものとする。このヘッダフォーマットには、フレームヘッダを格納するフレームヘッダフィールドと、暗号連鎖単位のデータ長に関する情報を格納する暗号連鎖単位フィールドと、フラグとが割り振られている。フラグは最初0になっている。
図14は本実施形態における暗号化データ生成の概念図であり、付加情報ヘッダの付加方法を概念的に示す図である。ここでは、予め、全ての暗号化データに共通のヘッダフォーマットが準備されているものとする。このヘッダフォーマットには、フレームヘッダを格納するフレームヘッダフィールドと、暗号連鎖単位のデータ長に関する情報を格納する暗号連鎖単位フィールドと、フラグとが割り振られている。フラグは最初0になっている。
フレーム長・暗号連鎖解析部114は、moovに一括で配置されたヘッダをフレーム毎のフレームヘッダとして振り分ける。そして、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に付加するヘッダに対して、そのフレームヘッダフィールドに(n+1)番目のフレームデータに対応するフレームヘッダを格納するとともに、フラグを1に設定する。また、システムメモリ103に格納された暗号連鎖単位情報に基づいて、各ヘッダの暗号連鎖単位フィールドを書きかえる。
すなわち、図14に示すように、暗号化データ1の先頭に配置されるヘッダ(付加情報ヘッダ)は、フレームデータ1のフレームヘッダが挿入されるとともに、フラグが1になる。したがって、この付加情報ヘッダでは、暗号連鎖単位のデータ長に関する情報とフレームデータ1のフレーム長に関する情報の両方が有効である。暗号化データ2にはフレームデータ1とフレームデータ2の境界が存在するため、その先頭に配置されるヘッダ(付加情報ヘッダ)は、フレームデータ2のフレームヘッダが挿入されるとともに、フラグが1になる。したがって、この付加情報ヘッダでも、暗号連鎖単位のデータ長に関する情報とフレームデータ2のフレーム長に関する情報の両方が有効である。暗号化データ3にはフレームの境界が存在しないため、その先頭に配置されるヘッダ(ダミーヘッダ)はフラグが0となり、暗号連鎖単位のデータ長に関する情報だけが有効になる。
ここで、各ヘッダの長さは固定長であるものとする。また、フレームヘッダは、フレーム長に関する情報のみではなくオーディオファイルフォーマットに関する情報なども含むものとする。
図15は外部からダウンロードされたAVデータを暗号化してターゲット105に格納する処理のフローチャートであり、図14のような暗号化データを生成するためのものである。図15において、点線はデータ処理を表している。なお、第1の実施形態における図3と同様のステップについては同じ符号を付しており、ここでは説明を省略する。
[S331]
暗号連鎖単位が暗号・復号処理部109に設定される毎に(S302)、フレーム長・暗号連鎖解析部114は、予め準備しておいた共通ヘッダフォーマットにおける暗号連鎖単位フィールドを、設定された暗号連鎖単位のデータ長に書き換える。また、データ入力開始時(S304でYes)には、最初の暗号化データ1用のヘッダについて、フラグを1に書き換えるとともに、フレームヘッダフィールドをフレームデータ1のフレームヘッダに書き換える。また、n番目と(n+1)番目のフレームデータの境界が検知されると(S304でYes)、検知された暗号化データ用のヘッダについて、フラグを1に書き換えるとともに、フレームヘッダフィールドを(n+1)番目のフレームデータのフレームヘッダに書き換える。
暗号連鎖単位が暗号・復号処理部109に設定される毎に(S302)、フレーム長・暗号連鎖解析部114は、予め準備しておいた共通ヘッダフォーマットにおける暗号連鎖単位フィールドを、設定された暗号連鎖単位のデータ長に書き換える。また、データ入力開始時(S304でYes)には、最初の暗号化データ1用のヘッダについて、フラグを1に書き換えるとともに、フレームヘッダフィールドをフレームデータ1のフレームヘッダに書き換える。また、n番目と(n+1)番目のフレームデータの境界が検知されると(S304でYes)、検知された暗号化データ用のヘッダについて、フラグを1に書き換えるとともに、フレームヘッダフィールドを(n+1)番目のフレームデータのフレームヘッダに書き換える。
[S333]
1つの暗号連鎖単位の暗号化が終了すると(S308でYes)、ヘッダ解析・付加部118が、ステップS331において生成されたヘッダをフレーム長・暗号連鎖解析部114から読み出し、暗号化データの先頭に付加する。
1つの暗号連鎖単位の暗号化が終了すると(S308でYes)、ヘッダ解析・付加部118が、ステップS331において生成されたヘッダをフレーム長・暗号連鎖解析部114から読み出し、暗号化データの先頭に付加する。
[S332]
暗号化データを、その先頭にヘッダが付加された状態で、システムメモリ103に展開する。この結果、全ての暗号化データの先頭にヘッダが付加されているが、フレーム境界が存在する暗号化データの先頭に配置されたヘッダすなわち付加情報ヘッダのみがフレームヘッダを含み、その他のヘッダすなわちダミーヘッダは、暗号連鎖単位のデータ長に関する情報は有するが、フレームヘッダは含まない。もちろん、ダミーヘッダは、暗号連鎖単位のデータ長以外の情報を含んでいてもかまわない。
暗号化データを、その先頭にヘッダが付加された状態で、システムメモリ103に展開する。この結果、全ての暗号化データの先頭にヘッダが付加されているが、フレーム境界が存在する暗号化データの先頭に配置されたヘッダすなわち付加情報ヘッダのみがフレームヘッダを含み、その他のヘッダすなわちダミーヘッダは、暗号連鎖単位のデータ長に関する情報は有するが、フレームヘッダは含まない。もちろん、ダミーヘッダは、暗号連鎖単位のデータ長以外の情報を含んでいてもかまわない。
[S334]
全てのAVコンテンツの暗号化が終了し暗号化コンテンツが生成されると、この暗号化コンテンツをシステムメモリ103から読み出してターゲット105に書き込む。ただし、システムメモリ103に格納されていた暗号連鎖単位情報は、各暗号化データの先頭に付与されたヘッダにそれぞれ埋め込まれているので、ターゲット105に書き込まない。
全てのAVコンテンツの暗号化が終了し暗号化コンテンツが生成されると、この暗号化コンテンツをシステムメモリ103から読み出してターゲット105に書き込む。ただし、システムメモリ103に格納されていた暗号連鎖単位情報は、各暗号化データの先頭に付与されたヘッダにそれぞれ埋め込まれているので、ターゲット105に書き込まない。
なお、本実施形態では、暗号連鎖単位の暗号化が終了する毎にヘッダが暗号化データの先頭に配置されていくので、暗号化データをシステムメモリ103に展開する必要は必ずしもなく、暗号化データ毎に内蔵メモリ111からターゲット105に書き込むことも可能である。これにより、暗号化データをシステムメモリ103に展開し直す必要がないため、暗号化コンテンツ生成に必要な消費電力が大幅に削減される。
以上の処理によって生成された暗号化コンテンツは、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に、(n+1)番目のフレームデータに対するフレームヘッダを含む付加情報ヘッダが付加されているとともに、フレームデータの境界が存在しない暗号化データの先頭に、フレームヘッダを含まないダミーヘッダが付加されたデータ構造となっている。このデータ構造によると、後述するように、暗号化コンテンツの復号および再生が、暗号化データ生成・再生装置101内の閉じた処理として、システムメモリ103を用いずに実行可能であり、消費電力が大幅に低減される。
<暗号化データの復号・再生>
図16を用いて、本実施形態における、ターゲット105に格納された暗号化コンテンツを復号化する処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に、(n+1)番目のフレームデータに対するフレームヘッダを含む付加情報ヘッダが付加されているとともに、フレームデータの境界が存在しない暗号化データの先頭に、フレームヘッダを含まないダミーヘッダが付加されたデータ構造となっている。また、付加情報ヘッダおよびダミーヘッダは、それぞれ、対応する暗号化データについての暗号連鎖単位のデータ長に関する情報を有している。
図16を用いて、本実施形態における、ターゲット105に格納された暗号化コンテンツを復号化する処理を概念的に説明する。上述のように、再生対象データとしての暗号化コンテンツは、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データの先頭に、(n+1)番目のフレームデータに対するフレームヘッダを含む付加情報ヘッダが付加されているとともに、フレームデータの境界が存在しない暗号化データの先頭に、フレームヘッダを含まないダミーヘッダが付加されたデータ構造となっている。また、付加情報ヘッダおよびダミーヘッダは、それぞれ、対応する暗号化データについての暗号連鎖単位のデータ長に関する情報を有している。
ヘッダ解析・付加部118は、ターゲット105から暗号化コンテンツを順次読み出すと、ヘッダに格納された暗号連鎖単位のデータ長に関する情報から、ヘッダの位置を特定し暗号化データと分離する。ヘッダから得た暗号連鎖単位のデータ長に関する情報は、暗号・復号処理部109に設定される。また、分離されたヘッダのフラグを参照して、このヘッダがフレームヘッダを含む付加情報ヘッダであるか否かを判断し、付加情報ヘッダである場合は、これをヘッダ変換部115に出力する。ヘッダ変換部115は、入力された付加情報ヘッダをオーディオヘッダ(ADTSヘッダ)に変換する。なお、ヘッダ変換が必要でない場合もあり得る。変換後のヘッダは、暗号・復号処理部109によってフレーム境界が存在する暗号化データが全て復号化されるまで、フレーム長解析・ヘッダ待機部116において待機される。ダミーヘッダは破棄される。
一方、暗号・復号処理部109は、暗号連鎖単位のデータ長に関する情報を用いて、暗号化データを順次復号化し、内蔵メモリ111に展開していく。フレーム長解析・ヘッダ待機部116は、付加情報ヘッダに格納されたフレーム長に関する情報からフレーム境界を検知し、フレームの境界が存在する暗号化データの復号化が終了すると、待機させておいたヘッダと、内蔵メモリ111に展開されていた復号化されたデータとを、データ変換部117に出力する。
データ変換部117は、復号化されたデータに対して、フレーム長に関する情報を用いて、分離・連結処理を行うことによって、フレームデータを生成する。そしてそのフレームデータの先頭に変換後のヘッダを付加し、デコード・オーディオ処理部113に出力する。出力されるデータは、フレームデータ毎にオーディオヘッダが配置され、かつオーディオフォーマット(AAC)に準拠したものである。このため、第1のCPU102やシステムメモリ103を必要とすることなく、そのまま再生することができる。
図17のフローチャートを用いて、図16のように暗号化コンテンツを復号・再生する処理について詳細に説明する。図17において、点線はデータ処理を表している。なお、第1の実施形態における図7と同様のステップについては同じ符号を付しており、ここでは説明を省略する。
[S731]
ヘッダ解析・付加部118が、暗号化データの先頭に配置されたヘッダの暗号連鎖単位フィールドを参照して、暗号・復号処理部109に暗号連鎖単位のデータ長を設定する。
ヘッダ解析・付加部118が、暗号化データの先頭に配置されたヘッダの暗号連鎖単位フィールドを参照して、暗号・復号処理部109に暗号連鎖単位のデータ長を設定する。
[S732]
ヘッダ解析・付加部118が、暗号化データの先頭に配置されたヘッダのフラグが1であるか0であるかを判断する。
ヘッダ解析・付加部118が、暗号化データの先頭に配置されたヘッダのフラグが1であるか0であるかを判断する。
[S733]
フラグが1である場合は、このヘッダはフレームヘッダを含む付加情報ヘッダであるので、ヘッダと暗号化データとを分離して、ヘッダはヘッダ変換部115に出力し、暗号化データは暗号・復号処理部109に出力する。暗号化データはステップS707において復号化される。ヘッダはステップS704において変換される。
フラグが1である場合は、このヘッダはフレームヘッダを含む付加情報ヘッダであるので、ヘッダと暗号化データとを分離して、ヘッダはヘッダ変換部115に出力し、暗号化データは暗号・復号処理部109に出力する。暗号化データはステップS707において復号化される。ヘッダはステップS704において変換される。
[S734]
フラグが0である場合は、このヘッダはフレームヘッダを含まないダミーヘッダであるので、暗号化データから分離して破棄する。暗号化データは暗号・復号処理部109に出力され、ステップS707において復号化される。
フラグが0である場合は、このヘッダはフレームヘッダを含まないダミーヘッダであるので、暗号化データから分離して破棄する。暗号化データは暗号・復号処理部109に出力され、ステップS707において復号化される。
以上の方法で暗号化コンテンツの復号化を行うことにより、一連の暗号化データを復号化しつつ、フレームデータの先頭にオーディオヘッダを付与した形で、内蔵メモリ111からデコード・オーディオ処理部113にデータを転送することができ、デコード・オーディオ処理部113はそのままデコード再生を行うことが可能となる。したがって、従来のようにまとまった量の暗号化コンテンツを復号化しなくとも、順次フレームデータを再生することが可能であるので、システムメモリを一切介在させず処理を行うことが可能となる。これに加えて、ヘッダの割り振りが暗号化データ生成・再生装置101内の閉じた処理として行われるため、第1のCPU102に負担をかけることもない。したがって、大幅な消費電力の削減が可能となり、従来の数倍〜10倍もの数の暗号化コンテンツを充電無しで再生することが可能となる。
また、本実施形態では、全ての暗号化データにヘッダが付与されており、かつそのヘッダの中に暗号連鎖単位のデータ長に関する情報が含まれている。このため、制御部106によるソフトウェア処理を介入させなくとも、ヘッダ解析・付加部118によって、暗号連鎖単位を設定していくことが可能であり、さらに消費電力の削減が可能である。
(第4の実施形態)
本発明の第4の実施形態では、上述の第2および第3の実施形態を組み合わせて行うものとする。すなわち、第3の実施形態と同様に、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対する付加情報ヘッダを対応付けるとともに、フレームデータの境界が存在しない暗号化データに対して、フレームヘッダを含まないダミーヘッダを対応付ける。そして、第2の実施形態と同様に、対応付けた各付加情報ヘッダおよびダミーヘッダを、一連の複数の暗号化データの先頭に、まとめて付加するものとする。
本発明の第4の実施形態では、上述の第2および第3の実施形態を組み合わせて行うものとする。すなわち、第3の実施形態と同様に、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対する付加情報ヘッダを対応付けるとともに、フレームデータの境界が存在しない暗号化データに対して、フレームヘッダを含まないダミーヘッダを対応付ける。そして、第2の実施形態と同様に、対応付けた各付加情報ヘッダおよびダミーヘッダを、一連の複数の暗号化データの先頭に、まとめて付加するものとする。
図18は本実施形態における暗号化データ生成の概念図である。図18に示すように、本実施形態では、付加情報ヘッダとダミーヘッダを一括して、一連の暗号化データの先頭に配置する。
図19は外部からダウンロードされたAVデータを暗号化してターゲット105に格納する処理のフローチャートであり、図18のような暗号化コンテンツを生成するためのものである。図19において、点線はデータ処理を表している。
図19のフローチャートは図15とほぼ同様であり、図15と共通のステップには同一の符号を付しており、ここではその詳細な説明を省略する。図15と異なるのは、ヘッダ生成のステップ(S341)である。ステップS341では、フレーム長・暗号連鎖解析部114が、フレーム長等に加えてオフセットを含むように、付加情報ヘッダおよびダミーヘッダを生成する。そしてステップS333において、各付加情報ヘッダおよびダミーヘッダは暗号化データの先頭にまとめて配置される(S342)。この場合、暗号化コンテンツを生成するときに、予め、付加情報ヘッダおよびダミーヘッダを格納するメモリ領域を設けておくのが好ましい。
図20は本実施形態における暗号化コンテンツの復号化処理を概念的に示す図である。図20の処理は第3の実施形態における図16の処理とほぼ同様であるが、ヘッダ解析・付加部118が、各付加情報ヘッダがどの暗号化データに対応するものであるかを、当該付加情報ヘッダのオフセットを解析することによって、求める点が、異なっている。
図21は本実施形態における暗号化コンテンツを復号・再生する処理を示すフローチャートである。図20のフローチャートは図17とほぼ同様であり、図17と共通のステップには同一の符号を付しており、ここではその詳細な説明を省略する。
[S741]
フラグが1である場合は、このヘッダはフレームヘッダを含む付加情報ヘッダであるので、ヘッダ変換部115に出力する。さらに、オフセットを解析し、処理対象となる暗号化データの開始位置を判断する。
フラグが1である場合は、このヘッダはフレームヘッダを含む付加情報ヘッダであるので、ヘッダ変換部115に出力する。さらに、オフセットを解析し、処理対象となる暗号化データの開始位置を判断する。
[S742]
ターゲット105からの読み出しアドレスを、処理対象となる暗号化データの先頭に変更する。
ターゲット105からの読み出しアドレスを、処理対象となる暗号化データの先頭に変更する。
[S743]
処理対象となる暗号化データについての暗号連鎖単位のデータ長を、暗号・復号処理部109に設定する。
処理対象となる暗号化データについての暗号連鎖単位のデータ長を、暗号・復号処理部109に設定する。
すなわち、本実施形態では、ヘッダが一連の暗号化データの先頭にまとめて付加されているので、ヘッダ解析・分離と暗号連鎖単位設定との順番を、図17の逆にしている。また、ヘッダと暗号化データとが連続していないので、ヘッダ解析・分離と暗号連鎖単位設定との間に、オフセット位置への移動処理を追加している。
以上のように、本発明によると、消費電力を大幅に削減できるので、暗号化データ生成・再生装置101を携帯情報端末として構成した場合などに非常に効果的である。
本発明によると、暗号化データの生成・再生を行う装置について、消費電力を大幅に削減できるので、例えば、携帯電話などの情報処理装置において利用可能である。
101 暗号化データ生成・再生装置
109 暗号・復号処理部
114 フレーム長・暗号連鎖解析部
116 ヘッダ待機部
117 データ変換部
118 ヘッダ解析・付加部
109 暗号・復号処理部
114 フレーム長・暗号連鎖解析部
116 ヘッダ待機部
117 データ変換部
118 ヘッダ解析・付加部
Claims (32)
- N(Nは2以上の整数)個のフレームデータと前記N個のフレームデータを管理するための管理データとを含む暗号化対象データを、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化するデータ暗号化方法であって、
前記管理データから、前記各フレームデータにそれぞれ対応し、当該フレームデータのフレームヘッダを含む、付加情報ヘッダを生成するステップ(a)と、
前記各フレームデータを連鎖暗号化方式によって暗号化し、一連の複数の暗号化データを生成するステップ(b)と、
前記複数の暗号化データのうち、n(nは1以上N未満の整数)番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する前記付加情報ヘッダを対応付けるとともに、前記付加情報ヘッダを、前記複数の暗号化データにおける所定位置に付加するスナップ(c)とを備えた
ことを特徴とするデータ暗号化方法。 - 請求項1において、
ステップ(c)において、前記付加情報ヘッダを、対応付けられた暗号化データの先頭に付加する
ことを特徴とするデータ暗号化方法。 - 請求項2において、
前記付加情報ヘッダは、当該付加情報ヘッダから次の付加情報ヘッダまでの間にある暗号化データについての、暗号連鎖単位のデータ長に関する情報を有する
ことを特徴とするデータ暗号化方法。 - 請求項2において、
ステップ(c)において、フレームデータの境界が存在しない暗号化データに対して、その先頭に、フレームヘッダを含まないダミーヘッダを付加する
ことを特徴とするデータ暗号化方法。 - 請求項4において、
前記付加情報ヘッダおよびダミーヘッダは、フレームヘッダを含むか否かを示すフラグを有している
ことを特徴とするデータ暗号化方法。 - 請求項4において、
前記付加情報ヘッダおよびダミーヘッダは、付加されている暗号化データの暗号連鎖単位のデータ長に関する情報を有する
ことを特徴とするデータ暗号化方法。 - 請求項1において、
ステップ(c)において、前記付加情報ヘッダを、前記複数の暗号化データの先頭に、まとめて付加する
ことを特徴とするデータ暗号化方法。 - 請求項7において、
フレームデータの境界が存在しない暗号化データに対して、フレームヘッダを含まないダミーヘッダを対応付けるとともに、このダミーヘッダを、前記付加情報ヘッダとともに、前記複数の暗号化データの先頭に、まとめて付加する
ことを特徴とするデータ暗号化方法。 - 請求項8において、
前記付加情報ヘッダおよびダミーヘッダは、フレームヘッダを含むか否かを示すフラグを有している
ことを特徴とするデータ暗号化方法。 - 請求項1において、
前記付加情報ヘッダのデータ長は、固定である
ことを特徴とするデータ暗号化方法。 - 請求項1において、
付加情報ヘッダが付加された前記複数の暗号化データと、暗号連鎖単位のデータ長に関する情報とを、外部記憶手段に記憶する
ことを特徴とするデータ暗号化方法。 - N(Nは2以上の整数)個のフレームデータを含む暗号化対象データが、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化されてなる、再生対象データを再生する暗号化データ再生方法であって、
前記再生対象データは、
複数の暗号化データと、
前記N個のフレームデータにそれぞれ対応するN個のフレームヘッダをそれぞれ含む、N個の付加情報ヘッダとを備え、
(n+1)(nは1以上N未満の整数)番目のフレームヘッダを含む付加情報ヘッダは、前記複数の暗号化データのうち、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して対応付けられて、前記複数の暗号化データにおける所定位置に付加されているものであり、
前記再生対象データから、前記付加情報ヘッダを分離するステップ(a)と、
前記再生対象データから読み出した前記暗号化データを、暗号連鎖単位のデータ長に関する情報を用いて、復号化するステップ(b)と、
復号化されたデータに対して、分離された前記付加情報ヘッダに含まれたフレームヘッダに格納されたフレーム長に関する情報を用いて、分離・連結処理を行うことによって、前記フレームデータを生成するステップ(c)と、
前記フレームデータの先頭に、前記フレームヘッダを付加するステップ(d)とを備えた
ことを特徴とする暗号化データ再生方法。 - 請求項12において、
分離した前記付加情報ヘッダに含まれたフレームヘッダを、再生用フレームヘッダに変換するステップを備え、
ステップ(d)において、前記フレームデータの先頭に、フレームヘッダの代わりに、前記再生用フレームヘッダを付加する
ことを特徴とする暗号化データ再生方法。 - 請求項12において、
前記再生対象データにおいて、
前記付加情報ヘッダは、対応付けられた暗号化データの先頭に付加されており、かつ、フレームデータの境界が存在しない暗号化データの先頭に、フレームヘッダを含まないダミーヘッダが付加されており、
前記付加情報ヘッダおよびダミーヘッダは、フレームヘッダを含むか否かを示すフラグを有しており、
ステップ(a)において、各暗号化データの先頭に付加されたヘッダについて、前記フラグを参照して、前記付加情報ヘッダか否かを識別する
ことを特徴とする暗号化データ再生方法。 - 請求項14において、
前記付加情報ヘッダおよびダミーヘッダは、付加された暗号化データの暗号連鎖単位のデータ長に関する情報を含み、
ステップ(b)において、暗号化データの復号化を、当該暗号化データに付加された前記付加情報ヘッダまたはダミーヘッダに含まれた暗号連鎖単位のデータ長に関する情報を用いて、行う
ことを特徴とする暗号化データ再生方法。 - 請求項12において、
前記再生対象データと、暗号連鎖単位のデータ長に関する情報とを、外部記憶手段から読み出し、
ステップ(b)において、暗号化データの復号化を、前記外部記憶手段から読み出された暗号連鎖、単位のデータ長に関する情報を用いて、行う
ことを特徴とする暗号化データ再生方法。 - N(Nは2以上の整数)個のフレームデータと前記N個のフレームデータを管理するための管理データとを含む暗号化対象データを、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化する暗号化データ生成装置であって、
前記管理データから、前記各フレームデータにそれぞれ対応し、当該フレームデータのフレームヘッダを含む、付加情報ヘッダを生成するヘッダ生成部と、
前記各フレームデータを連鎖暗号化方式によって暗号化し、一連の複数の暗号化データを生成する暗号処理部と、
前記複数の暗号化データのうち、n(nは1以上N未満の整数)番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して、(n+1)番目のフレームデータに対応する前記付加情報ヘッダを対応付けるとともに、前記付加情報ヘッダを、前記複数の暗号化データにおける所定位置に付加するヘッダ付加部とを備えた
ことを特徴とする暗号化データ生成装置。 - 請求項17において、
前記ヘッダ付加部は、前記付加情報ヘッダを、対応付けられた暗号化データの先頭に付加する
ことを特徴とする暗号化データ生成装置。 - 請求項18において、
前記ヘッダ付加部は、フレームデータの境界が存在しない暗号化データに対して、その先頭に、フレームヘッダを含まないダミーヘッダを付加する
ことを特徴とする暗号化データ生成装置。 - 請求項17において、
前記ヘッダ付加部は、前記付加情報ヘッダを、前記複数の暗号化データの先頭に、まとめて付加する
ことを特徴とする暗号化データ生成装置。 - 請求項20において、
前記ヘッダ付加部は、フレームデータの境界が存在しない暗号化データに対して、フレームヘッダを含まないダミーヘッダを対応付けるとともに、このダミーヘッダを、前記付加情報ヘッダとともに、前記複数の暗号化データの先頭に、まとめて付加する
ことを特徴とする暗号化データ生成装置。 - N(Nは2以上の整数)個のフレームデータを含む暗号化対象データが、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化されてなる、再生対象データを再生する暗号化データ再生装置であって、
前記再生対象データは、
複数の暗号化データと、
前記N個のフレームデータにそれぞれ対応するN個のフレームヘッダをそれぞれ含む、N個の付加情報ヘッダとを備え、
(n+1)(nは1以上N未満の整数)番目のフレームヘッダを含む付加情報ヘッダは、前記複数の暗号化データのうち、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して対応付けられて、前記複数の暗号化データにおける所定位置に付加されているものであり、
前記再生対象データから、前記付加情報ヘッダを分離するヘッダ分離部と、
前記再生対象データから読み出された前記暗号化データを、暗号連鎖単位のデータ長に関する情報を用いて、復号化する復号処理部と、
復号化されたデータに対して、前記ヘッダ分離部によって分離された前記付加情報ヘッダに含まれたフレームヘッダに格納されたフレーム長に関する情報を用いて、分離・連結処理を行うことによって、前記フレームデータを生成するフレームデータ生成部と、
前記フレームデータの先頭に、前記フレームヘッダを付加するヘッダ付加部とを備えたことを特徴とする暗号化データ再生装置。 - 請求項22において、
分離した前記付加情報ヘッダに含まれたフレームヘッダを、再生用フレームヘッダに変換するヘッダ変換部を備え、
前記ヘッダ付加部は、前記フレームデータの先頭に、フレームヘッダの代わりに、前記ヘッダ変換部によって得られた前記再生用フレームヘッダを付加するものである
ことを特徴とする暗号化データ再生装置。 - 請求項22において、
前記再生対象データにおいて、
前記付加情報ヘッダは、対応付けられた暗号化データの先頭に付加されており、かつ、フレームデータの境界が存在しない暗号化データの先頭に、フレームヘッダを含まないダミーヘッダが付加されており、
前記付加情報ヘッダおよびダミーヘッダは、フレームヘッダを含むか否かを示すフラグを有しており、
前記ヘッダ分離部は、各暗号化データの先頭に付加されたヘッダについて、前記フラグを参照して、前記付加情報ヘッダか否かを識別する
ことを特徴とする暗号化データ再生装置。 - 請求項24において、
前記付加情報ヘッダおよびダミーヘッダは、付加された暗号化データの暗号連鎖単位のデータ長に関する情報を含み、
前記復号処理部は、暗号化データの復号化を、当該暗号化データに付加された前記付加情報ヘッダまたはダミーヘッダに含まれた暗号連鎖単位のデータ長に関する情報を用いて、行う
ことを特徴とする暗号化データ再生装置。 - 請求項22において、
前記再生対象データと、暗号連鎖単位のデータ長に関する情報とを、外部記憶手段から読み出し、
前記復号処理部は、暗号化データの復号化を、前記外部記憶手段から読み出された暗号連鎖単位のデータ長に関する情報を用いて、行う
ことを特徴とする暗号化データ再生装置。 - N(Nは2以上の整数)個のフレームデータを含む暗号化対象データが、任意のデータ長の暗号連鎖単位を用いた連鎖暗号方式によって暗号化されたデータ構造であって、
複数の暗号化データと、
前記N個のフレームデータにそれぞれ対応するN個のフレームヘッダをそれぞれ含む、N個の付加情報ヘッダとを備え、
(n+1)(nは1以上N未満の整数)番目のフレームヘッダを含む前記付加情報ヘッダは、前記複数の暗号化データのうち、n番目と(n+1)番目のフレームデータの境界が存在する暗号化データに対して対応付けられて、前記複数の暗号化データにおける所定位置に付加されている
ことを特徴とするデータ構造。 - 請求項27において、
前記付加情報ヘッダは、対応付けられた暗号化データの先頭に付加されている
ことを特徴とするデータ構造。 - 請求項28において、
フレームデータの境界が存在しない暗号化データの先頭に、フレームヘッダを含まないダミーヘッダが付加されている
ことを特徴とするデータ構造。 - 請求項29において、
前記付加情報ヘッダおよびダミーヘッダは、フレームヘッダを含むか否かを示すフラグを有している
ことを特徴とするデータ構造。 - 請求項27において、
前記付加情報ヘッダは、前記複数の暗号化データの先頭に、まとめて付加されている
ことを特徴とするデータ構造。 - 請求項31において、
フレームデータの境界が存在しない暗号化データに対応付けられた、フレームヘッダを含まないダミーヘッダが、前記付加情報ヘッダとともに、前記複数の暗号化データの先頭に、まとめて付加されている
ことを特徴とするデータ構造。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006105973 | 2006-04-07 | ||
JP2006105973 | 2006-04-07 | ||
PCT/JP2007/057770 WO2007116970A1 (ja) | 2006-04-07 | 2007-04-06 | データ暗号化方法、暗号化データ再生方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2007116970A1 true JPWO2007116970A1 (ja) | 2009-08-20 |
Family
ID=38581249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007544669A Withdrawn JPWO2007116970A1 (ja) | 2006-04-07 | 2007-04-06 | データ暗号化方法、暗号化データ再生方法、暗号化データ生成装置、暗号化データ再生装置、および暗号化データ構造 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090316884A1 (ja) |
JP (1) | JPWO2007116970A1 (ja) |
KR (1) | KR20080112082A (ja) |
WO (1) | WO2007116970A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2798843A4 (en) * | 2011-12-28 | 2015-07-29 | Intel Corp | SYSTEMS AND METHOD FOR INTEGRATED METADATA INSERT IN A VIDEO CODING SYSTEM |
US20170222803A1 (en) * | 2016-02-02 | 2017-08-03 | Kabushiki Kaisha Toshiba | Communication device, cryptographic communication system, cryptographic communication method, and computer program product |
JP6721832B2 (ja) * | 2016-08-24 | 2020-07-15 | 富士通株式会社 | データ変換プログラム、データ変換装置及びデータ変換方法 |
EP4116849A1 (de) * | 2021-07-07 | 2023-01-11 | iCognize GmbH | Computerimplementiertes verfahren zum verwalten eines eine sicherheitsrelevante information umfassenden datensatzes |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6931009B1 (en) * | 1997-07-15 | 2005-08-16 | Viasat, Inc. | Frame format and frame assembling/disassembling method for the frame format |
US7809138B2 (en) * | 1999-03-16 | 2010-10-05 | Intertrust Technologies Corporation | Methods and apparatus for persistent control and protection of content |
US6971022B1 (en) * | 1999-06-15 | 2005-11-29 | Matsushita Electric Industrial Co., Ltd. | Cryptographic apparatus for performing cryptography on a specified area of content data |
JP2001358708A (ja) * | 1999-10-29 | 2001-12-26 | Matsushita Electric Ind Co Ltd | コンテンツ情報変換装置、コンテンツ情報変換方法、及びプログラム記憶媒体 |
US8214655B2 (en) * | 2002-03-29 | 2012-07-03 | Kabushiki Kaisha Toshiba | Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof |
JP3748437B2 (ja) * | 2002-03-29 | 2006-02-22 | 株式会社東芝 | マルチメディア・ファイルのデータ構造、その暗号化方法並びに装置及びその暗号化復号方法及び装置 |
GB2404487A (en) * | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital storage medium content |
GB2404467A (en) * | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital content |
GB2404489A (en) * | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital storage medium content |
GB2404488B (en) * | 2003-07-31 | 2006-05-31 | Sony Uk Ltd | Access control for digital content |
GB2404538A (en) * | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital content |
GB2404486A (en) * | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital storage medium content |
US20050097315A1 (en) * | 2003-10-30 | 2005-05-05 | Tzahi Carmeli | Method and apparatus to configure transmitter and receiver to encrypt and decrypt data |
US7580519B1 (en) * | 2003-12-08 | 2009-08-25 | Advanced Micro Devices, Inc. | Triple DES gigabit/s performance using single DES engine |
FR2863797B1 (fr) * | 2003-12-15 | 2006-02-24 | Cit Alcatel | Compression/decompression de couche deux pour la transmission mixte synchrone/asynchrone de trames de donnees au sein d'un reseau de communications |
US7783037B1 (en) * | 2004-09-20 | 2010-08-24 | Globalfoundries Inc. | Multi-gigabit per second computing of the rijndael inverse cipher |
JP2006229863A (ja) * | 2005-02-21 | 2006-08-31 | Seiko Epson Corp | 暗号化/復号化装置、通信コントローラ及び電子機器 |
CN101129035A (zh) * | 2005-02-28 | 2008-02-20 | 日本电气株式会社 | 通信装置、通信***、通信方法以及程序 |
US20080170691A1 (en) * | 2005-03-10 | 2008-07-17 | Sung-Cheol Chang | Encryption And Decryption Device In Wireless Portable Internet System,And Method Thereof |
US7647508B2 (en) * | 2005-06-16 | 2010-01-12 | Intel Corporation | Methods and apparatus for providing integrity protection for management and control traffic of wireless communication networks |
JP2007041223A (ja) * | 2005-08-02 | 2007-02-15 | Mitsubishi Electric Corp | データ配信装置及びデータ通信システム |
-
2007
- 2007-04-06 US US11/915,788 patent/US20090316884A1/en not_active Abandoned
- 2007-04-06 JP JP2007544669A patent/JPWO2007116970A1/ja not_active Withdrawn
- 2007-04-06 KR KR1020077028899A patent/KR20080112082A/ko not_active Application Discontinuation
- 2007-04-06 WO PCT/JP2007/057770 patent/WO2007116970A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20090316884A1 (en) | 2009-12-24 |
KR20080112082A (ko) | 2008-12-24 |
WO2007116970A1 (ja) | 2007-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3229148B2 (ja) | 暗号化方法およびシステム | |
CN100550724C (zh) | 信息处理装置、控制方法 | |
WO2010055658A1 (ja) | コンテンツ復号処理装置、コンテンツ復号処理方法及び集積回路 | |
US8908859B2 (en) | Cryptographic apparatus and memory system | |
JP2005505069A5 (ja) | ||
US20060242429A1 (en) | In stream data encryption / decryption method | |
JP2004226969A (ja) | 暗号システム及び多様なモードを支援する方法 | |
US20040208314A1 (en) | Method and system for controlling an encryption/decryption engine using descriptors | |
JPH03261987A (ja) | ファイル暗号化方法およびファイル暗号システム | |
JPH11109856A (ja) | 復号装置 | |
JP5118494B2 (ja) | イン−ストリームデータ暗号化/復号の機能を有するメモリシステム | |
WO2024119918A1 (zh) | 密钥管理方法、数据保护方法、***、芯片及计算机设备 | |
KR20050069924A (ko) | 블록 암호/복호방법, 회로 및 장치 | |
JPWO2007116970A1 (ja) | データ暗号化方法、暗号化データ再生方法、暗号化データ生成装置、暗号化データ再生装置、および暗号化データ構造 | |
JP2008524969A5 (ja) | ||
US8677123B1 (en) | Method for accelerating security and management operations on data segments | |
JP2004070049A (ja) | データの暗号化方法及び装置、データの復号化方法及び装置、プログラム | |
CN100524150C (zh) | 分组密码方法及分组加密/解密电路 | |
US9058507B2 (en) | Signal processor with an encrypting or decrypting device in a memory system | |
JP2006330126A (ja) | 暗号化処理方法、および復号化処理方法 | |
JP2001282623A (ja) | インターリーブ装置及びインターリーブ復元装置 | |
JP4864456B2 (ja) | 改竄検出用データ生成方法 | |
JP4867935B2 (ja) | 暗号化データ記憶装置、暗号化データ管理方法、データ暗号化装置、及び暗号化データ管理制御プログラム | |
WO2008026457A1 (fr) | Dispositif de commande | |
JP2003169092A (ja) | 暗号化装置、及び復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091009 |