CN102224704A - 内容解密处理装置、内容解密处理方法及集成电路 - Google Patents
内容解密处理装置、内容解密处理方法及集成电路 Download PDFInfo
- Publication number
- CN102224704A CN102224704A CN2009801404601A CN200980140460A CN102224704A CN 102224704 A CN102224704 A CN 102224704A CN 2009801404601 A CN2009801404601 A CN 2009801404601A CN 200980140460 A CN200980140460 A CN 200980140460A CN 102224704 A CN102224704 A CN 102224704A
- Authority
- CN
- China
- Prior art keywords
- chunk
- cryptographic block
- link value
- mentioned
- link
- 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.)
- Pending
Links
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/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
- 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
-
- 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/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
-
- 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/30—Compression, e.g. Merkle-Damgard construction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
内容解密处理装置(2000)将对组块的末尾的密码块进行解密时计算出的链接值与内容类型和帧序号建立关联地存储至组块间链接值保持部(216),在对组块的开头的密码块进行解密的情况下,当组块间链接值保持部(216)中存在与该组块的内容类型和帧序号相对应地存储着的链接值时,采用与该组块的内容类型和帧序号相对应地存储在组块间链接值保持部(216)的链接值,对组块的开头的密码块进行解密,从而即使进行解密的数据流为在属于第1种密码帧的密码组块之间存在有属于第2种密码帧的密码组块的数据结构,也能够正确地对数据流进行解密。
Description
技术领域
本发明涉及内容解密处理装置,对通过密码链接块(暗号連鎖ブロツク,ciphertext block chaining)方式而加密了的密码数据进行解密。
背景技术
为了防止对经由信息通信网络而进行通信的数字数据、蓄积在光盘等介质中的数字数据等的不正当利用,经常对这些数字数据进行加密使其成为密码数据,从而使第三者无法直接使用。
作为对数字数据进行加密的方式之一,有所谓的密码链接块方式,即,将密码对象数据分割为多个明文块(平文ブロツク)来进行加密,使得前一个明文块的加密不对其下一个明文块的加密带来影响,从而链接式地对各明文块进行密码处理。
在密码链接块方式中,各明文块利用对在前一个明文块的加密时使用的链接值进行规定的运算处理从而得到的链接值,进行加密。
通过该密码链接块方式而加密后的密码数据,以通过加密明文块而得的密码块按加密顺序排列而构成。
在密码链接块方式中,各密码块利用对在前一个密码块的解密时使用的链接值进行规定的运算处理而得的链接值,进行解密。
作为对通过密码链接块方式而加密了的密码数据进行解密的技术,例如提出了以下等技术:对密码块解密时,与密码块的解密处理并行地生成下一个密码块的解密所需的链接值,从而使下一个密码块的解密开始时刻提前(参照专利文献1)。
现有技术文献
专利文献
专利文献1:特开2000-295212号公报
发明概要
发明所要解决的问题
另一方面,作为将由视频帧构成的视频数据流与由音频帧构成的音频数据流作为一个数据流来处理的手法,有将视频数据流与音频数据流分割复用而成为一个新数据流的手法。
在这样的手法中,分割复用前的视频数据流与音频数据流是分别按每帧以密码链接块方式而被加密的数据流的情况下,分割复用后的数据流中,在进行着密码链接的密码块列(例如加密后的视频帧的密码块列)之间,有时会存在与其密码帧独立地进行了密码链接的密码块列(例如加密后的音频帧的密码块列)。
对这样的数据流进行解密的内容解密处理装置,需要能够对如下解密对象的数据流进行解密,该数据流具有如下数据结构:在与属于第1种密码帧(例如加密后的视频帧)的链接的密码块列(以下称作“密码组块”)之间存在属于第2种密码帧(例如加密后的音频帧)的密码组块。
但是,当对密码块进行解密时,在具有利用仅对数据流上的前一个密码块的解密时所使用的链接值进行规定的运算处理从而得到的链接值来对密码块进行解密的结构的内容解密处理装置中,无法解密这样的数据流。
发明内容
因此,本发明目的在于提供一种内容解密处理装置,即使解密的数据流是在属于第1种密码帧的密码组块之间存在属于第2种密码帧的密码组块这样的数据结构的数据流,也能够按数据流的密码块顺序来解密该数据流。
解决问题所采用的手段
为了解决上述技术问题,本发明的内容解密处理装置对流线化而成的数据流进行解密,上述数据流是通过如下方式得到的数据流,即:以密码块链接方式并以包含多个由进行链接的密码块列构成的组块的形态,对分类为多个种类的帧各自进行加密,并分别分割多个密码帧,以使得属于第1种密码帧的密码组块和属于第2种密码帧的密码组块混杂存在,该内容解密处理装置的特征在于,具有:解密部,利用链接值,依次对上述数据流中包含的密码块进行解密,每当对密码块进行解密,就计算新的链接值;链接值保持部,用于将密码帧的识别信息和链接值建立关联地进行存储;以及链接值记录部,在通过上述解密部对组块的末尾的密码块进行了解密的情况下,将通过上述解密部而解密的密码块所属的密码帧的识别信息与在该解密的密码块的解密时通过上述解密部算出的链接值建立关联地记录到上述链接值保持部;上述解密部参照上述链接值保持部,在进行解密的密码块是组块的开头的密码块的情况下,当已对上述进行解密的密码块所属的密码帧的一部分进行了解密时,作为对该密码块进行解密时使用的链接值,采用该密码帧的密码块中最后解密的密码块的解密时计算出的链接值。
发明效果
具备上述结构的本发明的内容解密处理装置中,链接值记录部在通过上述解密部对组块的末尾的密码块进行了解密的情况下,将通过上述解密部而解密的密码块所属的密码帧的识别信息与在该解密的密码块的解密时通过上述解密部算出的链接值建立关联地记录到上述链接值保持部,解密部参照上述链接值保持部,在进行解密的密码块是组块的开头的密码块的情况下,当已对上述进行解密的密码块所属的密码帧的一部分进行了解密时,作为对该密码块进行解密时使用的链接值,采用该密码帧的密码块中最后解密的密码块的解密时计算出的链接值,因此,具有如下效果,即:即使进行解密的数据流为在属于第1种密码帧的密码组块之间存在有属于第2种密码帧的密码组块的数据结构,也能够正确地对数据流进行解密。
此外,例如,即使是以下解密处理装置,即:依次从数据流中仅提取所有属于第1种密码帧的密码组块并依次对提取出的密码组块进行解密,并且依次从数据流中仅提取所有第2种密码帧并与第1种密码帧的解密独立地依次对提取出的第2种密码帧进行解密,也能够正确地对数据流进行解密,但是,该解密处理装置需要从数据流整体中按类别地分离并提取所有密码帧的工序,并且,需要用于按类别地暂时存储所提取出的密码块的存储区域。
与此相反,具备上述结构的本发明的内容解密处理装置中,不需要按类别地提取所有密码帧的工序,此外,不需要用于按类别地存储所提取出的密码帧的存储区域。
此外,也可以具有如下特征:上述链接值保持部包含用于存储链接值的组块内链接值保持部,在通过上述解密部对密码块进行了解密的情况下,当对不是组块的末尾的密码块进行了解密时,上述链接值记录部用上述解密部所计算出的链接值对上述组块内链接值保持部中存储着的链接值进行覆盖并记录,上述解密部在进行解密的密码块不是组块的开头的密码块的情况下,利用上述组块内链接值保持部中记录着的链接值,对密码块进行解密。
通过采用这样的结构,组块内链接值保持部仅覆盖并存储链接值,因此具有如下效果,即:提供一种内容解密处理装置,将组块内链接值保持部所需要的存储容量限定为存储1个链接值所需要的存储容量。
此外,也可以具有如下特征:在将密码帧的识别信息和链接值建立关联地向上述链接值保持部中记录的情况下,上述链接值记录部按每种密码帧,将表示密码帧的信息和链接值覆盖并记录到上述链接值保持部。
通过采用这样的结构,链接值保持部按每种密码帧来覆盖并记录表示密码帧的信息和链接值,因此具有如下效果,即:提供一种内容解密处理装置,能够将链接值保持部所需要的存储容量限定为,按每种密码帧来关联地存储表示1个密码帧的信息、及1个链接值所需要的存储容量。
此外,也可以还具备:数据赋予部,在作为上述解密部的解密对象的密码块小于规定的比特数的情况下,将赋予数据赋予到该密码块,以使该密码块成为上述规定的比特数;解密数据保持部,用于存储上述解密部所解密的密码块;以及解密数据记录部,将上述解密部所解密的密码块的一部分记录到上述解密数据保持部;在作为上述解密部的解密对象的密码块小于上述规定的比特数的情况下,上述数据赋予部将赋予数据赋予到作为上述解密对象的密码块,生成上述规定的比特数的合成密码块,上述解密部替代上述解密对象的密码块而解密上述合成密码块,上述解密数据记录部将从上述解密部所解密的合成密码块中、除了通过上述解密部对上述数据赋予部所赋予的赋予数据的部分进行解密从而得到的部分以外的部分,记录到上述解密数据保持部。
这里,所谓规定的比特数,是指解密部能够解密的密码块的比特数。
通过采用这样的结构,即使在作为解密对象的密码块的一部分比特缺失而成为小于规定的比特数的密码块的情况下,将赋予数据赋予到密码块,从而解密部对成为规定的比特数的合成密码块进行解密,将从解密的合成密码块中、除了通过对赋予数据的部分进行解密而得到的部分以外的部分记录到解密数据保持部,因此具有如下效果,即:提供一种内容解密处理装置,即使是小于规定的比特数的密码块,也能够对该密码块进行解密并记录到解密数据保持部。
附图说明
图1是表示再生机1000的模块结构的模块图。
图2是表示内容的数据结构的数据结构图。
图3是表示组块310的数据结构的数据结构图。
图4是表示内容解密处理装置2000的功能结构的模块图。
图5是表示密钥蓄积部214所保持的信息的图。
图6是表示组块间链接值保持部216所保持的信息的图。
图7是表示运算部222的功能结构的模块图。
图8是内容解密处理装置2000的内容解密动作的流程图。
图9是表示组块1050的数据结构的数据结构图。
图10是表示内容头所包含的信息的图。
图11是表示内容解密处理装置3000的功能结构的模块图。
图12是内容解密处理装置3000的内容解密动作的流程图。
图13是表示内容数据的数据结构的数据结构图。
图14是表示内容解密处理装置4000的功能结构的模块图。
图15是表示组块间链接值保持部1316所保持的信息的图。
图16是表示密码块的前半部缺失的情况下,前处理部1301、运算部222与后处理部1302所进行的处理的动作的图。
图17是表示密码块的后半部缺失的情况下,前处理部1301、运算部222与后处理部1302所进行的处理的动作的图。
图18是表示密码块中没有缺失的情况下,前处理部1301、运算部222与后处理部1302所进行的处理的动作的图。
图19是内容解密处理装置4000的内容解密动作的流程图之一。
图20是内容解密处理装置4000的内容解密动作的流程图之二。
图21是表示组块2250的数据结构的数据结构图。
图22是表示内容解密处理装置5000的功能结构的模块图。
图23是表示密钥蓄积部2114所保持的信息的图。
图24是内容解密处理装置5000的内容解密动作的流程图。
图25是表示内容解密处理装置6000的功能结构的模块图。
图26是表示帧序号蓄积部2522所保持的信息的图。
图27是表示密码信息蓄积部2530所保持的信息的图。
图28是内容解密处理装置6000的内容解密动作的流程图之一。
图29是内容解密处理装置6000的内容解密动作的流程图之二。
图30是表示再生机1000的硬件结构的模块图。
具体实施方式
(实施方式1)
以下,作为本发明的内容解密处理装置的一个实施方式,说明对以密码链接块方式被加密了的内容进行解密的内容解密处理装置。
这里,被加密了的内容是指如下内容:分别按每帧,以密码链接块方式,对由视频帧构成的视频数据流和由音频帧构成的音频数据流加密,对加密后的视频数据流和加密后的音频数据流进行分割复用而成为一个新数据流。
即使解密对象的数据流的数据结构为如下数据结构,该内容解密处理装置也能够正确的解密数据流,上述数据结构为:在与属于第1种密码帧(例如加密后的视频帧)的链接的密码块列所构成的密码组块之间,存在属于第2种密码帧(例如加密后的音频帧)的密码块列所构成的密码组块。
下面,参照附图说明本实施方式的内容解密处理装置的结构。
(结构)
(再生机1000)
图1是表示具备本实施方式的内容解密处理装置2000的再生机1000的模块结构的模块图。
再生机1000是个人计算机,由CPU(Central Processing Unit:中央运算处理装置)模块110、存储器模块120、周边设备模块130、总线140、密码引擎150、AV解码器160构成。
CPU模块110由CPUA111与CPUB112这2个CPU构成。
CPUA111与CPUB112与总线140连接,通过执行存储器模块120存储的程序,从而利用存储器模块120、周边设备模块130、密码引擎150、AV解码器160,实现从记录介质读出加密后的数据流的功能、对加密后的数据流进行解密的功能、对编码后的数据流进行解码的功能等。
CPUA111与CPUB112相互协调且并行地动作,从而实现上述功能。
存储器模块120由ROM(Read Only Memory)121与RAM(Random Access Memory)122构成。
ROM121与总线140连接,存储有:规定CPUA111的动作的程序、规定CPUB112的动作的程序、CPUA111与CPUB112所利用的数据。
RAM122与总线140连接,暂时存储随着CPUA111与CPUB112执行程序而产生的数据,还暂时存储从周边设备模块130读取的数据。
周边设备模块130由硬盘装置131、硬盘装置接口141、读取写入装置132、读取写入装置接口142、输出装置133、输出装置接口143、输入装置134、输入装置接口144、通信装置135构成。
密码引擎150是具有对加密后的数据进行解密的功能的DSP(Digital Singal Processor,数字信号处理器),由CPUA111与CPU112B控制,与总线140连接。
AV解码器160是对编码后的视频数据及音频数据进行解码的DSP,由CPUA111与CPU112B控制,具有MPEG(Moving Picture Experts Group,动态图像专家组)2解码功能、MPEG4解码功能、MPEG4-AVC解码功能。
再生机1000中,通过由输出装置133输出AV解码器160解码后的结果,从而对内容进行再生。
硬盘装置131由CPUA111与CPU112B控制,具有向内置的硬盘写入内容的功能、以及读取在内置的硬盘钟写入的内容的功能,经由硬盘装置接口141而与总线140连接。
硬盘装置接口141用于对硬盘装置131与总线140之间的信号的交换(やりとり)进行中介。
读取写入装置132由CPUA111与CPU112B控制,具有向外部记录介质137写入内容的功能、以及读取在外部记录介质137钟写入的内容的功能,经由读取写入装置接口142而与总线140连接。
这里,外部记录介质137是DVD(Digital Versatile Disc)、DVD-R、DVD-RAM、BD(Blu-ray disc,蓝光光盘)、BD-R、BD-RE等,读取写入装置132能够对这些DVD、DVD-R、BD、BD-R、BD-RE等写入、读取数据。
读取写入装置接口142用于对读取写入装置132与总线140之间的信号的交换进行中介。
通信装置135具有通过外部传送媒体136而取得内容的功能,与总线140连接,从外部的内容服务器、互联网上的内容提供站点等取得内容。
这里,外部传送媒体136是光通信线路、电话通信线路、广播波等,通信装置135能够接收来自这些光通信线路、电话通信线路、广播波等的信号。
通信装置135取得的内容被写入外部记录介质137、硬盘装置131中内置的硬盘、或RAM122。
输出装置133是输出影像与声音的装置,具有输出由AV解码器160解码后的视频信号及音频信号的功能,经由输出装置接口143而与总线140连接,由LCD(Liquid Crystal Display,液晶显示器)与扬声器构成。
输出装置接口143用于对输出装置133与总线140之间的信号的交换进行中介。
输入装置134由接受用户的操作的键盘及鼠标构成,具有接受用户对再生机1000的操作命令的功能,经由输入装置接口144而与总线140连接。
输入装置接口144用于对输入装置134与总线140之间的信号的交换进行中介。
总线140与CPUA111、CPUB112、ROM121、RAM122、密码引擎150、AV解码器160、通信装置135、硬盘装置接口141、读取装置接口142、输出装置接口143以及输入装置接口144连接,用于在连接的各构成要素间进行数据通信。
如上构成的再生机1000通过由CPUA111及CPUB112执行存储在ROM121或RAM122中的程序,来执行对写入到外部记录介质137、硬盘装置131的内置硬盘、或RAM122中的内容的再生处理。
(内容的数据结构)
图2是表示本实施方式1的内容解密处理装置2000所解密的内容300的数据结构的数据结构图。
内容300由如下部分构成:分割复用将对影像进行编码而得的视频流被加密而成的视频ES(Elementary Stream)、对日语的声音进行编码而得的音频流被加密而成的音频1ES、以及对英语的声音进行编码而得的音频流被加密而成的音频2ES分割复用从而成为连续的1个流的内容数据302;以及包含与内容300相关的信息的内容头301。
这里,被加密了的视频ES是对于以MPEG4-AVC方式进行了编码的影像数据将1个画面的图像数据即视频帧分别以密码链接块方式加密,从而得到的流数据。
密码链接以各视频帧单位而结束,在相互不同的视频帧中密码链接不继续。
此外,对进行链接的密码块的开头密码块进行解密时使用的链接值即初始值、以及对各密码块进行解密时使用的密钥,在全部视频帧中共通。
这里,被加密了的音频1ES、音频2ES是将以MPEG4-AVC方式对声音数据进行编码而得的各个音频帧、通过密码链接块方式加密而得的流数据。
密码链接以各音频帧单位而结束,在相互不同的音频帧中密码链接不继续。
此外,虽然初始值与密钥在属于被加密了的音频1ES的所有音频帧中共通,并且在属于被加密了的音频2ES的所有音频帧中共通,但属于被加密了的音频1ES的音频帧的初始值与密钥,不同于属于被加密了的音频2ES的音频帧的初始值与密钥。
内容数据302的数据结构成为许多的组块310连续的结构,各组块310进一步由组块头311、组块数据312、填充(padding)313构成。
图3是表示组块310的数据结构的数据结构图。
组块头311是未加密的固定长数据,由包含表示组块的尺寸的信息的组块尺寸401、包含表示组块所属的内容类型的信息的内容类型402、包含表示组块所属的帧序号的信息的帧序号403、包含表示解码所使用的信息的解码用头信息404、包含表示组块数据的尺寸的信息的组块数据尺寸405构成。
这里,内容类型是视频、音频1、音频2中的某一种,若内容类型为视频,则表示属于被加密了的视频ES,若内容类型为音频1,则表示属于被加密了的音频1ES,若内容类型为音频2,则表示属于被加密了的音频2ES。
此外,组块头311的构成要素、即组块尺寸401、内容类型402、帧序号403、解码用头信息404,其各自的位长与出现顺序是固定的。
组块数据312是由按密码链接的顺序排列的密码块411~413构成的密码块列。
例如,采用AES(Advanced Encryption Standard,高级加密标准)密码方式的情况下,密码块是在CTR模式下被链接加密了的密码链接的单位,位长是128位。
这里,密码块是通过对128比特的明文、以及利用128比特的密钥并通过AES密码方式等将128比特的链接值加密从而得到的128比特的密码链接值,按每比特来取异而生成的,各密码块是通过对视频帧、音频1帧、音频2帧中的某个帧进行加密而得的。
填充313是未加密的数据,是用于调整组块310的数据尺寸而附加的数据。
(内容解密处理装置2000)
图4是表示利用再生机1000而功能性地实现的、内容解密处理装置2000的功能结构的模块图。
内容解密处理装置2000对由CPUA111与CPUB112按照存储器模块120所存储的程序利用存储器模块120、周边设备模块130、总线140、密码引擎150等而被加密了的内容进行解密处理,将解密的内容输出到AV解码器160。
内容解密处理装置2000由暂时保持解密对象的组块的输入缓冲器201、暂时保持被解密的组块的输出缓冲器202、存储密钥与初始值的密钥蓄积部214、存储跨越组块之间的链接值的组块间链接值保持部216、从组块头311取得信息的组块信息取得部210、计算组块数据312的开始地址和填充313的开始地址的密码尺寸计算部211、向密码引擎150输出密钥和初始值的密钥设定部212、判断密码链接是否跨越组块之间而继续的链接判断部213、以及密码引擎150构成。
输入缓冲器201是用于暂时存储密码引擎150所解密的内容的一部分的存储区域,作为存储器模块120的一部分而被安装。
输入缓冲器201所存储的单位是内容头301或组块310的单位,通过CPUA111和CPUB112,按照内容300的数据顺序,对上次存储的内容的一部分进行覆盖。
输出缓冲器202是用于将密码引擎150所解密的内容的一部分在向AV解码器160输出之前进行暂时存储的存储区域,作为存储器模块120的一部分而被安装。
组块信息取得部120具有如下功能:取得输入缓冲器201保持的组块的开始地址,并且,从组块头311取得组块尺寸401、组块数据尺寸405、内容类型402与帧序号403,向密码尺寸计算部211输出组块的开始地址、组块尺寸401、与组块数据尺寸405,向密钥设定部212输出内容类型402,向链接判断部213输出内容类型402、帧序号403。
组块信息取得部210具有如下功能:若通过CPUA111或CPUB112写入内容头301,则向密码引擎150输出表示输入缓冲器201保持的数据是内容头307的内容头信号。
密码尺寸计算部211具有如下功能:若从组块信息取得部210输入组块的开始地址、组块尺寸401与组块数据尺寸405,则计算组块数据312的开始地址、填充313的开始地址、组块的结束地址、与组块数据312所含有的密码块的个数,并向密码引擎150输出。
组块数据312的开始地址通过对组块的开始地址和固定长的组块头311的尺寸进行加法运算而被算出,填充313的开始地址通过对组块头311的开始地址加上组块数据尺寸405而被算出,组块的结束地址通过对组块的开始地址与组块尺寸401进行加法运算而被算出,密码块的个数通过用组块数据尺寸405除以密码块的单位比特数即128而被算出。
密钥蓄积部214是用于将内容类型、密钥与初始值建立关联地进行存储的存储区域,作为存储器模块120的一部分而被安装。
图5是表示密钥蓄积部214所存储的信息的图。
如图5所示,密钥蓄积部214将解密时使用的密钥502、初始值503,与各个内容类型402对应起来而预先存储。
密钥502的比特数是128比特,初始值503的比特数是128比特。
这里,初始值是指,在对通过密码链接块方式加密了的密码块进行解密的情况下,对链接开头的密码块解密时使用的链接值。
密钥设定部212具有如下功能:将来自组块信息取得部210的内容类型402作为输入,从密钥蓄积部214读出与输入的内容类型402对应地存储的密钥502和初始值503,并向密码引擎150输出。
组块间链接值保持部216是用于将内容类型、帧序号与链接值对应地存储的存储区域,作为存储器模块120的一部分而被安装。
图6是表示组块间链接值保持部216所存储的信息的图。
如图6所示,组块间链接值保持部216将帧序号602、链接值603,与各个内容类型402对应起来进行存储。
这里所存储的帧序号602是对应的内容类型402中最后被解密的帧的帧序号,链接值603是属于帧序号602的最后被解密的组块的最后的密码块被解密时所算出的链接值。
链接值603的比特数是128比特。
另外,帧序号602与链接值603二者的组,按每个内容类型402通过密码引擎150而被覆盖。
链接判断部213具有如下功能:若从组块信息取得部210输入内容类型402与帧序号403二者的组合,则调查从组块信息取得部210输入的内容类型402与帧序号403二者的组合是否被建立关联地存储在组块间链接值保持部216中,在存储了的情况下,判断为输入缓冲器201所保持的组块为密码链接继续中,在未存储的情况下,判断为输入缓冲器201所保持的组块不为密码链接继续中。
链接判断部213还具有如下功能:向密码引擎输出内容类型402和帧序号403,此外,在判断为是密码链接继续中的情况下,向密码引擎150输出表示是密码链接继续中的密码链接信号,在判断为不是链接继续中的情况下,向密码引擎150输出表示是密码链接结束的密码结束信号。
密码引擎150具有如下功能:根据来自组块信息取得部210的内容头信号,来自密码尺寸计算部211的组块数据312的开始地址、填充313的开始地址、组块的结束地址、组块数据312中所包含的密码块的个数,来自密钥设定部212的密钥502和初始值503,来自链接判断部213的内容类型402、帧序号403、密码链接信号或密码结束信号,来读出输入缓冲器201所保持的组块,对读出的组块进行解密,将解密的组块写入输出缓冲器202。
密码引擎150包括:运算判断部221,将组块数据312从输入缓冲器201所保持的组块读出并输出到运算部;运算部222,以密码块单位对组块数据312进行解密;密钥保持部223,存储密钥;初期值保持部224,存储初期值;初期值选择部225,选择初期值或链接值中的某一个;链接值选择部226,选择运算部使用的链接值;组块内链接值保持部227,用于存储链接值;链接值记录部228,将运算部222输出的链接值记录到组块内链接值保持部227或组块间链接值保持部216;以及输出选择部229,将由运算部222以密码块单位进行了解密的组块数据,写入到输出缓冲器202。
运算判断部221具有如下功能:利用从密码尺寸计算部211输出的组块的开始地址、组块数据312的开始地址、填充313的开始地址与组块的结束地址,从输入缓冲器201所保持的组块读出组块头311和填充313并输出到输出选择部229,读出组块数据312并以密码块单位输出到运算部222,输出到运算部222的密码块是组块数据的开头的密码块时,向链接值选择部226输出初始值选择信号,输出到运算部222的密码块不是组块数据的开头的密码块时,向链接值选择部226输出链接值选择信号。
另外,采用组块数据的开始地址来判断是否是组块数据的开头的密码块。
这里,向运算部222输出组块数据的开头的密码块的定时为,从密码尺寸计算部211输入了组块数据312的开始地址的定时,而向运算部222输出组块数据的开头的密码块以外的密码块的定时为,从链接值记录部228接收到密码块请求信号的定时。
此外,具有如下功能:从组块信息取得部210输入了内容头信号的情况下,将输入缓冲器201所保持的内容头301读出并输出到输出选择部229。
密钥保持部223具有如下功能:每当从密钥设定部212输入密钥,就覆盖至自身存储的密钥,不断向运算部222输出所存储的密钥。
初期值保持部224具有如下功能:每当从密钥设定部212输入初始值,就覆盖自身存储的初始值,不断向初始值选择部输出所存储的初始值。
初始值选择部225具有如下功能:若从链接判断部213接收密码链接继续信号与内容类型402二者的组,则从组块间链接值保持部216读出与接收到的内容类型402建立关联地存储的链接值并输出到链接值选择部226,若从链接判断部213接收表示密码链接结束这一情况的信号,则将初始值保持部224所保持的初始值读出并输出到链接值选择部226。
组块内链接值保持部227是用于存储通过链接值记录部228覆盖的链接值的存储区域。
链接值选择部226具有如下功能:在从运算判断部221接收到初始值选择信号的情况下,向运算部222输出从初始值选择部225输出的初始值或链接值,在从运算判断部221接收到链接值选择信号的情况下,读出组块内链接值保持部227所保持的链接值并将其向运算部222输出。
链接值记录部228具有如下功能:输入密码尺寸计算部211输出的密码块的个数,链接判断部213输出的内容类型、帧序号,以及运算部222输出的链接值,若输入运算部222输出的链接值,则将输入的链接值记录到组块间链接值保持部216或组块内链接值保持部227中的某一个。
链接值记录部228具有如下功能:在从运算部222输入的链接值为运算部222对组块的末尾的密码块进行解密时输出的链接值的情况下,将所输入的链接值与从链接判断部213输入的内容类型和帧序号建立关联并覆盖记录到组块间链接值保持部216,在从运算部222输入的链接值不为运算部222对组块的末尾的密码块进行解密时输出的链接值的情况下,将所输入的链接值覆盖记录到组块内链接值保持部217,向运算判断部221输出密码块请求信号。
链接值记录部228具备链接值数计数器,该链接值数计数器计测所输入的链接值的个数,以用来判断从运算部222所输入的链接值是否是在对组块的末尾的密码块进行解密时所输出的链接值。
每当从密码尺寸计算部211输入密码块的个数,该链接值数计数器就被复位。
链接值记录部228,在从运算部222输入了链接值的情况下,对链接值计数器计测的链接值数加1使其成为新的链接值数,当该新的链接值数未达到从密码尺寸计算部211输入的密码块的个数时,判断为不是在对组块的末尾的密码块进行解密时输出的链接值,当链接值数计数器计测的链接值的个数与从密码尺寸计算部211输入的密码块的个数相等时,判断为是在对组块的末尾的密码块进行解密时输出的链接值。
输出选择部229具有向输出缓冲器202写入从运算判断部221输出的组块头311、填充313、以解密的密码块单位从运算部222输出的解密的密码块、内容头301的功能。
运算部222具有如下功能:利用密钥保持部223所保持的密钥、和从链接值选择部226输出的初始值或链接值,以密码链接块方式解密从运算判断部221输出的密码块,并且在解密时计算并输出下一个链接值。
图7是表示运算部222的功能结构的模块图。
运算部222包括:AES密码电路701,加密所输入的链接值并输出密码链接值;增量器(incrementer)703,根据所输入的链接值,制作在对下一个密码块进行解密时使用的链接值;以及异电路702,输出根据密码块与密码链接值而被解密的密码块、即明文。运算部222具有对以CTR模式而链接加密了的密码块进行解密的功能。
AES密码电路701对于128比特的链接值,采用128比特的密钥、以AES密码方式来制作128比特的密码链接值,将其输出到异电路702。
增量器703具有如下功能:从输入的链接值中,对下位32比特的部分增加1而计算下一个链接值。
这里,当被增量的下位32比特的部分发生上溢时,仅下位32比特的部分成为0×00,而上位96比特不受影响。
异电路702具有如下功能:输出从AES密码电路701输出的128比特的密码链接值与从运算判断部221输出的128比特的密码块的每个比特的异。
如上构成的内容解密处理装置2000,将密码引擎150对组块的末尾的密码块进行解密时计算出的链接值,与内容类型和帧序号建立关联地存储到组块间链接值保持部216。
此外,内容解密处理装置2000在密码引擎150对组块的开头的密码块进行解密的情况下,当组块间链接值保持部216中存在与该组块的内容类型及帧序号对应地存储的链接值时,判断为该组块为链接继续的状态,利用与该组块的内容类型及帧序号对应地存储在组块间链接值保持部216中的链接值,对组块的开头的密码块进行解密,当组块间链接值保持部216中没有与该组块的内容类型及帧序号对应地存储的链接值时,判断为该组块不为链接继续的状态,利用与该组块的内容类型对应的初始值对组块的开头的密码块进行解密。
并且,内容解密处理装置2000,在密码引擎150对组块的开头的密码块以外的密码块进行解密的情况下,利用组块内链接值保持部227保持的链接值对密码块进行解密。
下面利用附图详细说明内容解密处理装置2000的动作。
(动作)
若再生机1000开始内容的再生处理,则CPUA111或CPUB112对于写入到外部记录介质137、硬盘装置131的内置硬盘、或RAM122的解密对象的内容,首先将内容头301写入输入缓冲器201。
之后CPUA111或CPUB112,从内容数据的最初的组块到最后的组块,依次将组块写入输入缓冲器201。
若内容头301被写入输入缓冲器201,则内容解密处理装置2000开始内容解密处理。
图8是内容解密处理装置2000所进行的内容解密处理的流程图。
若内容解密处理装置2000开始内容解密处理,则组块信息取得部210输出内容头信号,运算判断部221接收所输出的内容头信号。
运算判断部221若接收内容头信号,则从输入缓冲器201读出内容头301并输出到输出选择部229,输出选择部229将接收到的内容头301写入输出缓冲器202。
若通过CPUA111或CPUB112向输入缓冲器201写入组块,则组块信息取得部210取得输入缓冲器201保持的组块的开始地址,并且从组块头311取得组块尺寸401、组块数据尺寸405、内容类型402与帧序号403(步骤S800),向密码尺寸计算部211输出组块的开始地址、组块尺寸401与组块数据尺寸405,向密钥设定部212输出内容类型402,向链接判断部213输出内容类型402与帧序号403。
密码尺寸计算部211若从组块信息取得部210输入组块的开始地址、组块尺寸401与组块数据尺寸405,则计算填充313的开始地址、组块的结束地址与组块数据312所包含的密码块的个数(步骤S805),向运算判断部221输出组块的开始地址、填充313的开始地址与组块的结束地址,向链接值记录部228输出密码块的个数。
链接值记录部228若从密码尺寸计算部211输入密码块的个数,则使链接值数计数器计测的链接值的个数复位。
运算判断部221若从密码尺寸计算部211接收组块的开始地址、填充313的开始地址与组块的结束地址,则从输入缓冲器读出组块头311和填充313并输出到输出选择部229,输出选择部229向输出缓冲器202写入所输入的组块头311和填充313(步骤S810),向链接值选择部226输出初始值选择信号。
密钥设定部212若从组块信息取得部210输入内容类型402,则读出在密钥蓄积部214中与输入的内容类型402建立关联地存储的密钥502和初始值503,向密钥保持部223输出所读出的密钥502,向初始值保持部224输出所读出的初始值503,密钥蓄积部214覆盖并存储所输入的密钥,初始值保持部224覆盖并存储所输入的初始值(步骤S815)。
链接判断部213若从组块信息取得部210输入内容类型402与帧序号403,则为了判断输入缓冲器201所保持的组块是否为密码链接继续中,调查输入的内容类型402与帧序号403的组合是否被建立关联地存储在组块间链接值保持部216中(步骤S820),在已存储的情况下,判断为输入缓冲器201所保持的组块为密码链接继续中(步骤S820:是),向链接值记录部228输出内容类型402与帧序号403,向初始值选择部225输出密码链接信号与内容类型402。
初始值选择部225若从链接判断部213接收密码链接继续信号与内容类型402这二者的组,则从组块间链接值保持部216读出与接收到的内容类型402建立关联地存储的链接值并输出到链接值选择部226。
链接值选择部226由于已从运算判断部221接收初期值选择信号,因此从初始值选择部225选择所输入的链接值,并输出到运算部222(步骤S825)。
在步骤S820中,在输入的内容类型402和帧序号403的组合没有被建立关联地存储在组块间链接值保持部216中的情况下,判断为输入缓冲器201所保持的组块不为密码链接继续中(步骤S820:否),向链接值记录部228输出内容类型402和帧序号403,向初始值选择部225输出密码结束信号。
初始值选择部225若从链接判断部213接收密码链接结束信号,则读出初始值保持部224所保持的初始值并输出到链接值选择部226。
链接值选择部226由于已从运算判断部221接收到初始值选择信号,因此,若从初始值选择部225输入初始值,则将输入的初始值作为运算部222所使用的链接值而输出到运算部222(步骤S830)。
若步骤S825或步骤S830的处理结束,则运算部222从运算判断部221接收密码组块的开头的密码块。
运算部222利用密钥保持部223中记录的密钥、以及从链接值选择部输出的链接值,将接收到的密码块解密后输出到输出选择部229,将解密时计算出的下一个链接值输出到链接值记录部228(步骤S835)。
运算部222所进行的密码块的解密及下一个链接值的计算,通过如下3个处理而实现:(1)AES密码电路701利用密钥对链接值加密而制作密码链接值;(2)异电路702按每比特来对制作出的密码链接值及密码块取异,从而对密码块进行解密;(3)增量器703仅对输入的链接值中、下位32比特的部分增加1从而计算下一个链接值。
输出选择部229若从运算部222输入解密的密码块,则向输出缓冲器202写入所输入的解密的密码块。
链接值记录部228若从运算部222输入链接值,则对链接值数计数器所计测的链接值数加1而作为新的链接值数,通过对该新的链接值数和从密码尺寸计算部输入的密码块的个数进行比较,从而判断从运算部222输入的链接值是否是运算部222对组块的末尾的密码块进行解密时输出的链接值(步骤S840)。
在步骤S840中,当新的链接值数未达到从密码尺寸计算部211输入的密码块的个数时,判断为所输入的链接值不是对组块的末尾的密码块进行解密时输出的链接值(步骤S840:是),将从运算部222输入的链接值覆盖并记录到组块内链接值保持部(步骤S845),链接值记录部228向运算判断部221输出密码块请求信号。
运算判断部221若从链接值记录部228接收密码块请求信号,则向运算部222输出下一个密码块,向链接值选择部226输出链接值选择信号,若链接值选择部226接收链接值选择信号,则读出组块内链接值保持部227保持的链接值并输出到运算部222(步骤S850)。
若步骤S850的处理结束,则再次开始步骤S835的处理。
在步骤S840中,当新的链接值数与从密码尺寸计算部211输入的密码块的个数相等时,判断为所输入的链接值是对组块的末尾的密码块进行解密时输出的链接值(步骤S840:否),将从运算部222输入的链接值,与从链接判断部213输入的内容类型和帧序号建立关联,覆盖并记录到组块间链接值保持部216(步骤S855)。
若步骤S855的处理结束,则到CPUA111或CPUB112向输入缓冲器201写入后续的组块为止,内容解密处理装置2000待机(步骤S865)。
CPUA111或CPUB112在规定时间、例如1ms的期间向输入缓冲器201写入了后续的组块的情况下(步骤S870:是),再次开始步骤S800的处理。
CPUA111或CPUB112没有在规定时间、例如1ms的期间向输入缓冲器201写入后续的组块的情况下(步骤S870:否),判断为内容数据302中不存在后续的组块,内容解密处理装置2000结束内容解密处理。
(具体动作)
作为例子,对以下情况进行说明:在内容类型为视频且帧序号为10的第1组块,与同样地内容类型为视频且帧序号为10、并与第1组块连续的组块即第2组块之间,存在内容类型为音频1且帧序号为5的第3组块的情况下,内容解密处理装置2000能够采用正确的链接值对第2帧的开头的密码块进行正确地解密。
若运算部222对第1组块的末尾的密码块进行解密,则链接值记录部228将从运算部222输入的链接值、例如0×00001111,与从链接判断部213输入的表示视频的内容类型和表示10的帧序号建立关联,覆盖并记录到组块间链接值保持部216(步骤S865)。
之后,内容解密处理装置2000对第3组块进行解密,对第3组块进行解密之后,开始第2组块的解密。
若第2组块被写入输入缓冲器201,则组块信息取得部210取得表示视频的内容类型和表示10的帧序号(步骤S800),并输出到链接判断部213。
链接判断部213调查表示视频的内容类型和表示10的帧序号这二者的组合是否被建立关联地存储在组块间链接值保持部216中(步骤S820),由于可知表示视频的内容类型和表示10的帧序号这二者的组合已与链接值0×00001111建立关联地进行了存储,因此判断为第2组块为密码链接继续中(步骤S820:是),输出密码链接信号与表示视频的内容类型。
初始值选择部225若接收密码链接信号与表示视频的内容类型,则从组块间链接值保持部216读出与表示视频的内容类型建立关联地存储的链接值0×00001111,并输出到链接值选择部226,链接值选择部226向运算部222输出该链接值0×00001111。
由此,运算部222利用该链接值0×00001111、即对第1组块的末尾的密码块进行解密时计算出的链接值,对第2组块的开头的密码块进行解密,从而正确地对第2组块的开头的密码块进行解密。
(实施方式2)
下面,作为本发明的内容解密处理装置的一个实施方式,说明对以密码块链接方式进行了加密的内容进行解密的内容解密处理装置。
本实施方式2的内容解密处理装置是对实施方式1所说明的内容解密处理装置2000进行了变形的装置,能够解密作为对实施方式1的内容解密处理装置2000的解密对象、即内容300所包含的组块310的组块头311的一部分和内容头301进行了变形的数据格式的内容。
本实施方式2的内容解密处理装置是如下变形的实施方式,即:对实施方式1所说明的内容解密处理装置2000的一部分、即组块信息取得部210进行变形,并且新具备了内容头解析部和场(field)信息蓄积部,与内容解密处理装置2000同样地,在实施方式1的再生机1000上来实现。
下面,省略与实施方式1中说明的内容没有变更点的部分的说明,而以变更点为中心进行说明。
(结构)
(内容的数据结构)
本实施方式2的内容解密处理装置3000所解密的内容,是对实施方式1的内容300进行如下变形的内容,即:使与实施方式1的组块头311中存在的内容类型402和帧序号403对应的信息存在于内容头中。
图9是表示构成作为本实施方式2的内容解密处理装置3000的解密对象的内容的、组块1050的数据结构的结构图。
组块1050由组块头1015、组块数据1010和填充1020构成。
组块头1015是未加密的数据,由包含表示组块的尺寸的信息的组块尺寸1001、包含表示在解码中使用的信息的解码用头信息1004、以及包含表示组块数据的尺寸的信息的组块数据尺寸1005构成,组块尺寸1001、解码用头信息1004、以及组块数据尺寸1005各自的位长和出现顺序是固定的。组块数据1010与实施方式1的组块数据312同样,填充2230与实施方式1的填充313同样。
图10是表示构成本实施方式2的内容的内容头所包含的信息的结构图。
内容头对于内容所包含的全部组块1050,按组块1050的排列顺序,将每个组块1050的开始地址1101、内容类型1102、以及帧序号1103对应起来进行保持。
内容类型1102与实施方式1的内容类型402同样,帧序号1103与实施方式1的帧序号602同样。
(内容解密处理装置3000)
图11是表示内容解密处理装置3000的功能结构的模块图。
内容解密处理装置3000相对于实施方式1的内容解密处理装置2000,将组块信息取得部210变形为组块信息取得部910,并新追加了场信息蓄积部920和内容头解析部930。
场信息蓄积部920是存储区域,用于将内容头所保持的、每个组块1050的开始地址1101、内容类型1102和帧序号1103对应起来存储,作为存储器模块120的一部分而被安装。
内容头解析部930具有如下功能:从输入缓冲器201保持的内容头,读出按每个组块而建立对应的开始地址1101、内容类型1102、帧序号1103的所有的组,将读出的开始地址1101、内容类型1102、帧序号1103的所有的组对应起来记录至场信息蓄积部920。
组块信息取得部910具有如下功能:取得输入缓冲器201保持的组块的开始地址,并且从组块头1015取得组块尺寸1001与组块数据尺寸1005,并且从场信息蓄积部920取得与输入缓冲器201保持的组块对应的内容类型1102及帧序号1103,向密码尺寸计算部211输出组块的开始地址、组块尺寸1001与组块数据尺寸1005,向密钥设定部212输出内容类型1102,向链接判断部213输出内容类型1102与帧序号1103。
组块信息取得部910具有如下功能:若通过CPUA111或CPUB112写入内容头,则向密码引擎950输出表示输入缓冲器201保持的数据是内容头这一情况的内容头信号。
下面,参照附图详细说明如上结构的内容解密处理装置3000的动作。
(动作)
若再生机1000开始内容的再生处理,则CPUA111或CPUB112,对于写入到外部记录介质137、硬盘装置131的内置硬盘、或RAM122的解密对象的内容,首先将内容头写入输入缓冲器201。
之后CPUA111或CPUB112,从内容数据的最初的组块到最后的组块,依次将组块写入输入缓冲器201。
若内容头被写入输入缓冲器201,则内容解密处理装置3000开始内容解密处理。
图12是内容解密处理装置3000所进行的内容解密处理的流程图。
若内容解密处理装置3000开始内容解密处理,则组块信息取得部910输出内容头信号,运算判断部221接收所输出的内容头信号。
并且,内容头解析部930从输入缓冲器201保持的内容头,读出按每个组块而建立对应的开始地址1101、内容类型1102、帧序号1103的所有的组,将读出的开始地址1101、内容类型1102、帧序号1103的所有的组对应起来记录至场信息蓄积部920(步骤S1200)。
运算判断部221若接收内容头信号,则从输入缓冲器201读出内容头并输出到输出选择部229,输出选择部229将接收到的内容头写入输出缓冲器202。
若通过CPUA111或CPUB112向输入缓冲器201写入组块,则组块信息取得部910取得输入缓冲器201保持的组块的开始地址,并且从组块头1015取得组块尺寸1001与组块数据尺寸1005(步骤S1202),此外,从场信息蓄积部920取得与输入缓冲器201保持的组块对应的内容类型1102及帧序号1103,向密码尺寸计算部211输出组块的开始地址、组块尺寸1001与组块数据尺寸1005,向密钥设定部212输出内容类型1102,向链接判断部213输出内容类型1102与帧序号1103。
之后,步骤S1205到步骤S1265的处理与实施方式1的内容解密处理装置2000的动作中的步骤S805到步骤S865的处理相同,因此省略说明。
另外,步骤S1205与步骤S805对应,步骤S1210与步骤S810对应,步骤S1215与步骤S815对应,步骤S1220与步骤S820对应,步骤S1225与步骤S825对应,步骤S1230与步骤S830对应,步骤S1235与步骤S835对应,步骤S1240与步骤S840对应,步骤S1245与步骤S845对应,步骤S1250与步骤S850对应,步骤S1255与步骤S855对应,步骤S1265与步骤S865对应。
在步骤S1265中,从内容解密处理装置3000开始待机起,在规定期间、例如1ms的期间,通过CPUA111或CPUB112向输入缓冲器201写入了后续的组块的情况下(步骤S1270:是),再次开始步骤S1202的处理。
在规定期间、例如1ms的期间,没有通过CPUA111或CPUB112向输入缓冲器201写入后续的组块的情况下(步骤S1270:否),判断为内容数据302中不存在后续的组块,内容解密处理装置3000结束内容解密处理。
(实施方式3)
下面,作为本发明的内容解密处理装置的一个实施方式,说明对以密码块链接方式进行了加密的内容进行解密的内容解密处理装置。
本实施方式3的内容解密处理装置是对实施方式1所说明的内容解密处理装置2000进行了变形的装置,能够解密成为如下数据格式的内容,该数据格式允许构成解密的内容的密码块构成为分割至连续2个组块。
本实施方式3的内容解密处理装置,对在实施方式1中说明的内容解密处理装置2000的一部分、即组块信息取得部210、组块间链接值保持部216、链接值记录部228进行变形,并且新具备有尾数处理控制部1300、前处理部1301和后处理部1302,本实施方式3的内容解密处理装置在将实施方式1的再生机1000的密码引擎150替换为将密码引擎150的一部分变形而得到的密码引擎950后的再生机上实现。
下面,省略与实施方式1中说明的内容没有变更点的部分的说明,而以变更点为中心进行说明。
(结构)
(内容的数据结构)
本实施方式3的内容解密处理装置4000所解密的内容为如下变形后的数据格式,即:构成为将实施方式1的密码块分割至连续2个组块。
图13(a)是表示作为内容解密处理装置4000的解密对象的内容中的、内容数据的一部分的数据结构的图,图13(b)是对图13(a)的一部分进行了放大的图。
加密后的帧1410的内容类型为视频且帧序号为j,被分割为组块1430、组块1440和组块1460这3个帧。
加密后的帧1420的内容类型为音频1且帧序号为k,被分割为组块1450和组块1470这2个帧。
加密后的视频帧1410由8个密码块1401~1408构成,它们之中,密码块1401和密码块1402包含于组块1430,密码块1404和密码块1405包含于组块1440,密码块1407和密码块1408包含于组块1460。
密码块1403被分割为前半部分和后半部分,前半部分包含于组块1430,后半部分包含于组块1440。
密码块1404被分割为前半部分和后半部分,前半部分包含于组块1440,后半部分包含于组块1460。
如上所述,作为内容解密处理装置4000的解密对象的内容中的内容数据,构成为密码块允许被分割至连续2个组块。
(内容解密处理装置4000)
图14是表示内容解密处理装置4000的功能结构的模块图。
内容解密处理装置4000相对于实施方式1的内容解密处理装置2000,将组块信息取得部210变形为组块信息取得部1310,将组块间链接值保持部216变形为组块间链接值保持部1316,将链接值记录部228变形为链接值记录部1328,并新追加了尾数处理控制部1300、前处理部1301和后处理部1302。
组块信息取得部1310具有如下功能:取得输入缓冲器201保持的组块的开始地址,并且从组块头311取得组块尺寸401、组块数据尺寸405、内容类型402和帧序号403,向密码尺寸计算部211输出组块的开始地址、组块尺寸401与组块数据尺寸405,向密钥设定部212输出内容类型402,向链接判断部213和尾数处理控制部1300输出内容类型402与帧序号403。
组块信息取得部1310具有如下功能:若通过CPUA111或CPUB112写入内容头301,则向密码引擎1350输出表示输入缓冲器201保持的数据是内容头301这一情况的内容头信号。
组块间链接值保持部1316是用于将内容类型、帧序号、链接值、组块的末尾的密码块的尺寸即尾数数据尺寸建立关联地存储的存储区域,作为存储器模块120的一部分而被安装。
图15是表示组块间链接值保持部1316所存储的信息的图。
如图15所示,组块间链接值保持部1316将内容类型1801分别与帧序号1802、链接值1803、尾数数据尺寸1804对应起来进行存储。
这里所存储的帧序号1802是对应的内容类型1801中最后被解密的帧的帧序号,链接值1803是属于帧序号602的最后被解密的组块的末尾的密码块被解密时所算出的链接值,尾数数据尺寸1804是属于帧序号602的最后被解密的组块的末尾的密码块的尺寸。
另外,帧序号1802、链接值1803、尾数数据尺寸1804这三者的组,通过密码引擎150按每个内容类型1801覆盖。
尾数处理控制部1300具有如下功能:若从组块信息取得部1310接收内容类型402和帧序号403,则读出与接收到的内容类型402和帧序号403二者的组对应地存储在组块间链接值保持部1316中的尾数数据尺寸1804,计算存储在输入缓冲器201中的组块的开头的密码块的尺寸和末尾的密码块的尺寸,利用前处理部1301、运算部222和后处理部1302执行尾数处理,向链接值记录部1328输出末尾的密码块的尺寸。
稍后利用附图说明该尾数处理。
通过从密码块的单位比特数即128中减去从组块间链接值保持部1316读出的尾数数据尺寸1804,来计算组块的开头的密码块的尺寸,对于组块的末尾的密码块的尺寸,将其计算为,对从密码尺寸计算部1311输出的组块数据尺寸405和从组块间链接值保持部1316读出的尾数数据尺寸1804进行加法运算,并用加法运算结果除以密码块的单位比特数即128所得到的余数。
前处理部1301具有如下功能:在从尾数处理控制部1300接收到的开头的密码块的尺寸未达到128比特的情况下,若从运算判断部221接收输入缓冲器201保持的组块的开头的密码块,则将开头的密码块的尺寸与128比特之差的比特数的0赋予至接收到的密码块的开头,制作128比特的合成密码块,使制作出的合成密码块代替从运算判断部221接收到的密码块而输出到运算部222。
此外,前处理部1301具有如下功能:在从尾数处理控制部1300接收到的末尾的密码块的尺寸未达到128比特的情况下,若从运算判断部221接收输入缓冲器201保持的组块的末尾的密码块,则将小于128比特的比特数量的0赋予至接收到的密码块的末尾,制作128比特的合成密码块,使制作出的合成密码块代替从运算判断部221接收到的密码块而输出到运算部222。
后处理部1302具有如下功能:在从尾数处理控制部1300接收到的开头的密码块的尺寸未达到128比特的情况下,若从运算部222接收通过对输入缓冲器201保持的组块的开头的密码块进行解密而得到的解密的密码块,则将开头的密码块的尺寸与128比特之差的比特数的00从密码块的开头去除,制作合成明文,使制作出的合成明文代替从运算判断部221接收到的解密的密码块而输出到输出选择部229。
此外,后处理部1302具有如下功能:在从尾数处理控制部1300接收到的末尾的密码块的尺寸未达到128比特的情况下,若从运算部222接收通过对输入缓冲器201保持的组块的末尾的密码块进行解密而得到的解密的密码块,则将小于128比特的比特数从密码块的末尾去除,制作合成明文,使制作出的合成明文代替从运算判断部221接收到的解密的密码块而输出到输出选择部229。
链接值记录部1328具有如下功能:输入密码尺寸计算部1311输出的密码块的个数,链接判断部213输出的内容类型、帧序号,运算部222输出的链接值,以及尾数处理控制部1300输出的末尾的密码块的尺寸,若输入运算部222输出的链接值,则将输入的链接值记录到组块间链接值保持部1316或组块内链接值保持部227中的某一个。
链接值记录部1328具有如下功能:在从运算部222输入的链接值为运算部222对组块的末尾的密码块进行解密时输出的链接值的情况下,将所输入的链接值与从链接判断部213输入的内容类型、帧序号和尾数数据尺寸建立关联并覆盖记录到组块间链接值保持部1316,在从运算部222输入的链接值不为运算部222对组块的末尾的密码块进行解密时输出的链接值的情况下,将所输入的链接值覆盖记录到组块内链接值保持部227,向运算判断部221输出密码块请求信号。
另外,链接值记录部1328具有如下功能:在从运算部222输入的链接值为运算部222对组块的末尾的密码块进行解密时输出的链接值的情况下,且在尾数数据尺寸未达到128比特的情况下,将覆盖记录到组块间链接值保持部1316的链接值作为上一次从运算部222输入的链接值。
这里,所谓写入组块间链接值保持部1316的尾数数据尺寸,是指从尾数处理控制部1300输入的末尾的密码块的尺寸。
链接值记录部1328具备链接值数计数器,该链接值数计数器计测所输入的链接值的个数,以用来判断从运算部222所输入的链接值是否是在对组块的末尾的密码块进行解密时所输出的链接值。
每当从密码尺寸计算部1311输入密码块的个数,该链接值数计数器就被复位。
链接值记录部1328在从运算部222输入了链接值的情况下,对链接值计数器计测的链接值数加1使其成为新的链接值数,当该新的链接值数未达到从密码尺寸计算部211输入的密码块的个数时,判断为不是在对组块的末尾的密码块进行解密时输出的链接值,当链接值数计数器计测的链接值的个数与从密码尺寸计算部211输入的密码块的个数相等时,判断为是在对组块的末尾的密码块进行解密时输出的链接值。
密码引擎1350是如下结构:相对于实施方式1的密码引擎150,将组块间链接值保持部216变形为1316,将链接值记录部228变形为链接值记录部1328,并新追加了尾数处理控制部1300、前处理部1301和后处理部1302。
(尾数处理)
下面,利用附图,说明尾数处理控制部1300利用前处理部1301、运算部222和后处理部1302所进行的尾数处理。
图16是表示密码块的前半部缺失的情况下,前处理部1301、运算部222与后处理部1302所进行的处理的动作的图。
前处理部1301在从尾数处理控制部1300接收到的开头的密码块的尺寸未达到128比特的情况下,若从运算判断部221接收输入缓冲器201保持的组块的开头的密码块,则判断为接收到的密码块1501的开头的比特缺失了开头的密码块的尺寸与128比特之差的比特数,将缺失的比特数由0构成的补足数据1502赋予接收到的密码块1501,制作128比特的合成密码块。
前处理部1301用制作出的密码块代替从运算判断部221接收到的密码块而输出到运算部222。
运算部222通过对输入的128比特的密码块与128比特的密码链接值按每比特求异,从而制作解密的密码块,将制作出的解密的密码块输出到后处理部1302。
后处理部1302在从尾数处理控制部1300接收到的开头的密码块的尺寸未达到128比特的情况下,若从运算部222接收对输入缓冲器201保持的开头的密码块进行解密的密码块,则判断为对于接收到的解密的密码块的开头的比特而言,开头的密码块的尺寸与128比特之差的比特数是不需要的比特,将不需要的比特从密码块的开头去除,从而制作合成明文,用制作出的合成明文代替从运算判断部221接收到的解密的密码块而输出到输出选择部229。
图17是表示密码块的后半部缺失的情况下,前处理部1301、运算部222与后处理部1302所进行的处理的动作的图。
前处理部1301,在从尾数处理控制部1300接收到的末尾的密码块的尺寸未达到128比特的情况下,若从运算判断部221接收输入缓冲器201保持的组块的末尾的密码块,则判断为接收到的密码块1501的末尾的比特缺失了末尾的密码块的尺寸与128比特之差的比特数,将缺失的比特数由0构成的补足数据1502赋予接收到的密码块1501,制作128比特的合成密码块。
前处理部1301用制作出的密码块代替从运算判断部221接收到的密码块而输出到运算部222。
运算部222通过对输入的128比特的密码块与128比特的密码链接值按每比特求异,从而制作解密的密码块,将制作出的解密的密码块输出到后处理部1302。
后处理部1302在从尾数处理控制部1300接收到的末尾的密码块的尺寸未达到128比特的情况下,若从运算部222接收对输入缓冲器201保持的组块的末尾的密码块进行解密的密码块,则判断为对于接收到的解密的密码块的末尾的比特而言,末尾的密码块的尺寸与128比特之差的比特数是不需要的比特,将不需要的比特从密码块的末尾去除,从而制作合成明文,用制作出的合成明文代替从运算判断部221接收到的解密的密码块而输出到输出选择部229。
图18是表示密码块中没有缺失的情况下,前处理部1301、运算部222与后处理部1302所进行的处理的动作的图。
前处理部1301,(1)在从尾数处理控制部1300接收到的开头的密码块的尺寸为128比特的情况下,当从运算判断部221接收输入缓冲器201保持的组块的开头的密码块时;(2)在从尾数处理控制部1300接收到的末尾的密码块的尺寸为128比特的情况下,当从运算判断部221接收输入缓冲器201保持的组块的末尾的密码块时;(3)当从运算判断部221接收输入缓冲器201保持的组块的开头与末尾的密码块之外的密码块时;判断为接收到的密码块没有缺失,将接收到的密码块原样地输出到运算部222。
运算部222通过对输入的128比特的密码块与128比特的密码链接值按每比特求异,从而制作解密的密码块,将制作出的解密的密码块输出到后处理部1302。
后处理部1302,(1)在从尾数处理控制部1300接收到的开头的密码块的尺寸为128比特的情况下,当从运算部222接收对输入缓冲器201保持的组块的开头的密码块进行解密的密码块时;(2)在从尾数处理控制部1300接收到的末尾的密码块的尺寸为128比特的情况下,当从运算部222接收对输入缓冲器201保持的组块的末尾的密码块进行解密的密码块时;(3)当从运算判断部221接收输入缓冲器201保持的组块的开头与末尾的密码块之外的密码块时;判断为接收到的解密的密码块没有缺失,将接收到的解密的密码块原样输出到输出选择部229。
下面,利用附图来详细说明如上结构的内容解密处理装置4000的动作。
(动作)
若再生机开始内容的再生处理,则CPUA111或CPUB112对于写入到外部记录介质137、硬盘装置131的内置硬盘、或RAM122的解密对象的内容,首先将内容头301写入输入缓冲器201。
之后CPUA111或CPUB112,从内容数据的最初的组块到最后的组块,依次将组块写入输入缓冲器201。
若内容头被写入输入缓冲器201,则内容解密处理装置3000开始内容解密处理。
图19、图20是内容解密处理装置4000所进行的内容解密处理的流程图。
若内容解密处理装置4000开始内容解密处理,则组块信息取得部910输出内容头信号,运算判断部221接收所输出的内容头信号。
运算判断部221若接收内容头信号,则从输入缓冲器201读出内容头301并输出到输出选择部229,输出选择部229将接收到的内容头301写入输出缓冲器202。
若通过CPUA111或CPUB112向输入缓冲器201写入组块,则组块信息取得部1310取得输入缓冲器201保持的组块的开始地址,并且从组块头311取得组块尺寸401、组块数据尺寸405、内容类型402与帧序号403(步骤S1900),向密码尺寸计算部211输出组块的开始地址、组块尺寸401与组块数据尺寸405,向密钥设定部212输出内容类型402,向链接判断部213和尾数处理控制部1300输出帧序号403。
密码尺寸计算部1311若从组块信息取得部210输入组块的开始地址、组块尺寸401与组块数据尺寸405,则计算填充313的开始地址、组块的结束地址与组块数据312所包含的密码块的个数(步骤S1910),向运算判断部221输出组块的开始地址、填充313的开始地址与组块的结束地址,向链接值记录部1328输出密码块的个数。
链接值记录部1328若从密码尺寸计算部211输入密码块的个数,则使链接值数计数器计测的链接值的个数复位。
运算判断部221若从密码尺寸计算部1311接收组块的开始地址、填充313的开始地址与组块的结束地址,则从输入缓冲器读出组块头311和填充313并输出到输出选择部229,输出选择部229向输出缓冲器202写入所输入的组块头311和填充313(步骤S1920),向链接值选择部226输出初始值选择信号。
密钥设定部212若从组块信息取得部1310输入内容类型402,则读出在密钥蓄积部214中与输入的内容类型402建立关联地存储的密钥502和初始值503,向密钥保持部223输出所读出的密钥502,向初始值保持部224输出所读出的初始值,密钥蓄积部214覆盖并存储被输入的密钥,初始值保持部224覆盖并存储被输入的初始值(步骤S1930)。
尾数处理控制部1300若从组块信息取得部1310接收内容类型402和帧序号403,则读出与接收到的内容类型402和帧序号403二者的组对应地存储在组块间链接值保持部1316中的尾数数据尺寸1804,计算存储在输入缓冲器201中的组块的开头的密码块的尺寸和末尾的密码块的尺寸(步骤S1935),将计算出的开头的密码块的尺寸输出到前处理部1301与后处理部1302,将计算出的末尾的密码块的尺寸输出到链接值记录部1328。
链接判断部213若从组块信息取得部1310输入内容类型402与帧序号403,则为了判断输入缓冲器201所保持的组块是否为密码链接继续中,调查所输入的内容类型402与帧序号403的组合是否被建立关联地存储在组块间链接值保持部1316中(步骤S1940),在已存储的情况下,判断为输入缓冲器201所保持的组块为密码链接继续中(步骤S1940:是),向链接值记录部1328输出内容类型402与帧序号403,向初始值选择部225输出密码链接信号与内容类型402。
初始值选择部225若从链接判断部213接收密码链接继续信号与内容类型402这二者的组,则从组块间链接值保持部1316读出与接收到的内容类型402建立关联地存储的链接值并输出到链接值选择部226。
链接值选择部226由于已从运算判断部221接收初期值选择信号,因此从初始值选择部225选择所输入的链接值,并输出到运算部222(步骤S1950)。
接着,运算判断部221读出在输入缓冲器201中存储的密码组块的开头的密码块,并输出到前处理部1301。
前处理部1301为了判断密码块是否被分割而判断从尾数处理控制部1300接收到的开头的密码块的尺寸是否未达到128比特(步骤S1970),在未达到128比特的情况下,判断为密码块被分割(步骤S1970:是),将小于128比特的比特数量的0赋予接收到的密码块的开头,从而制作128比特的合成密码块,用制作出的合成密码块代替从运算判断部221接收到的密码块而输出到运算部222。
在步骤S1940中,在输入的内容类型402和帧序号403的组合没有被建立关联地存储在组块间链接值保持部1316中的情况下,判断为输入缓冲器201所保持的组块不为密码链接继续中(步骤S1940:否),向链接值记录部228输出内容类型402和帧序号403,向初始值选择部225输出密码结束信号。
初始值选择部225若从链接判断部213接收密码链接结束信号,则读出初始值保持部224所保持的初始值并输出到链接值选择部226。
链接值选择部226由于已从运算判断部221接收到初始值选择信号,因此,若从初始值选择部225输入初始值,则将输入的初始值作为运算部222所使用的链接值而输出到运算部222(步骤S1960)。
接着,运算判断部221读出在输入缓冲器201中存储的密码组块的开头的密码块并输出到前处理部1301,前处理部1301将接收到的密码块原样地输出到运算部222。
若步骤S1980或步骤S1960的处理结束,则运算部222从前处理部1301接收密码组块的开头的密码块。
运算部222利用密钥保持部223中记录的密钥、以及从链接值选择部输出的链接值,将接收到的密码块解密后输出到后处理部1302,将解密时计算出的下一个链接值输出到链接值记录部228(步骤S2000)。
后处理部1302,(1)在从尾数处理控制部1300接收到的开头的密码块的尺寸未达到128比特的情况下,当从运算部222接收到通过对输入缓冲器201保持的组块的开头的密码块进行解密从而得到的解密的密码块时;(2)在从尾数处理控制部1300接收到的末尾的密码块的尺寸未达到128比特的情况下,当从运算部222接收到通过对输入缓冲器201保持的组块的末尾的密码块进行解密从而得到的解密的密码块时;判断为,接收到的解密的密码块,是对通过前处理部1301赋予了补足数据的密码块进行解密的密码块(步骤S2000:是),制作将接收到的解密的密码块的、与所赋予的补足数据对应的部分去除后的合成明文,用制作出的合成明文代替从运算判断部221接收到的解密的密码块地输出到输出选择部229(步骤S2010)。
后处理部1302(1)在从尾数处理控制部1300接收到的开头的密码块的尺寸为128比特的情况下;(2)在从尾数处理控制部1300接收到的末尾的密码块的尺寸为128比特的情况下;(3)在从尾数处理控制部1300接收到的开头的密码块的尺寸未达到128比特的情况下,且当从运算部222接收到通过对输入缓冲器201保持的组块的开头的密码块与末尾的密码块以外的密码块进行解密从而得到的解密的密码块时,判断为,接收到的解密的密码块,是对未通过前处理部1301赋予补足数据的密码块进行解密的密码块(步骤S2000:否),将接收到的解密的密码块原样地输出到输出选择部229。
步骤S2010或步骤S2005:若“否”的处理结束,则输出选择部229从后处理部1302接收解密的密码块。
输出选择部229若从运算部222输入解密的密码块,则向输出缓冲器202写入所输入的解密的密码块。
链接值记录部228若从运算部222输入链接值,则对链接值数计数器所计测的链接值数加1而作为新的链接值数,通过对该新的链接值数和从密码尺寸计算部输入的密码块的个数进行比较,从而判断从运算部222输入的链接值是否是运算部222对组块的末尾的密码块进行解密时输出的链接值(步骤S2015)。
在步骤S2015中,当新的链接值数未达到从密码尺寸计算部211输入的密码块的个数时,判断为所输入的链接值不是对组块的末尾的密码块进行解密时输出的链接值(步骤S2015:是),将从运算部222输入的链接值覆盖并记录到组块内链接值保持部(步骤2020),链接值记录部228向运算判断部221输出密码块请求信号。
运算判断部221若从链接值记录部228接收密码块请求信号,则向前处理部1301输出下一个密码块,向链接值选择部226输出链接值选择信号。
前处理部1301在从尾数处理控制部1300接收到的末尾的密码块的尺寸未达到128比特的情况下,当从运算判断部221接收到输入缓冲器201保持的组块的末尾的密码块时,判断为后续的密码块被分割(步骤S2025:是),将小于128比特的比特数量的0赋予接收到的密码块的开头,从而制作128比特的合成密码块(步骤S2030),用制作出的合成密码块代替从运算判断部221接收到的密码块而输出到运算部222。
前处理部1301在从尾数处理控制部1300接收到的末尾的密码块的尺寸为128比特的情况下,或是在从运算判断部221接收到输入缓冲器201保持的组块的末尾的密码块以外的密码块的情况下,判断为后续的密码块没有被分割(步骤S2025:否),将从运算判断部221接收到的密码块原样地输出到运算部222。
链接值选择部226若接收链接值选择信号,则读出组块内链接值保持部227保持的链接值并输入到运算部222(步骤S2035)。
若步骤S2035的处理结束,则再次开始步骤S2000的处理。
在步骤S2015中,当新的链接值数与从密码尺寸计算部211输入的密码块的个数相等时,判断为所输入的链接值是对组块的末尾的密码块进行解密时输出的链接值(步骤S2015:否),在尾数数据尺寸为128比特时,将从运算部222输入的链接值,与从链接判断部213输入的内容类型、帧序号和尾数数据尺寸建立关联,覆盖并记录到组块间链接值保持部1316,在尾数数据尺寸未达到128比特时,作为覆盖并记录到组块间链接值保持部1316的链接值,记录上一次从运算部222输入的链接值(步骤S2040)。
若步骤S2040的处理结束,则到CPUA111或CPUB112向输入缓冲器201写入后续的组块为止,内容解密处理装置4000待机(步骤S2050)。
CPUA111或CPUB112在规定时间、例如1ms的期间向输入缓冲器201写入了后续的组块的情况下(步骤S2055:是),再次开始步骤S1900的处理。
CPUA111或CPUB112没有在规定时间、例如1ms的期间向输入缓冲器201写入后续的组块的情况下(步骤S2055:否),判断为内容数据302中不存在后续的组块,内容解密处理装置2000结束内容解密处理。
(实施方式4)
下面,作为本发明的内容解密处理装置的一个实施方式,说明对以密码块链接方式进行了加密的内容进行解密的内容解密处理装置。
本实施方式2的内容解密处理装置,对作为实施方式1的内容解密处理装置2000的解密对象的内容所包含的组块310的组块头311的一部分进行了变形,是对实施方式1所说明的内容解密处理装置2000进行变形后的装置,以能够解密在组块头中含有密钥信息和初始值信息的数据格式的内容。
本实施方式4的内容解密处理装置是进行如下变形的方式,即:对在实施方式1中说明的内容解密处理装置2000的一部分、即组块信息取得部210、密钥蓄积部214和密钥设定部212进行变形,并且新具备有密钥生成部,本实施方式4的内容解密处理装置与内容解密处理装置2000同样地,在实施方式1的再生机1000的基础上实现。
下面,省略与实施方式1中说明的内容没有变更点的部分的说明,而以变更点为中心进行说明。
(结构)
(内容的数据结构)
本实施方式4的内容解密处理装置5000所解密的内容,是对实施方式1的内容300进行了如下变形的内容,即:对实施方式1的组块头311新加入密钥信息2205、初始值信息2206。
图21是表示构成作为本实施方式4的内容解密处理装置3000的解密对象的内容的、组块2250的数据结构的结构图。
组块2250由组块头1015、组块数据1010和填充1020构成。
组块头2200是未加密的数据,包括:包含表示组块的尺寸的信息的组块尺寸2201;包含表示内容类型的信息的内容类型2202;包含表示帧序号的信息的帧序号2203;包含表示在解码中使用的信息的解码用头信息2204;用于生成密钥的密钥信息2205;用于生成初期值的初期值信息2206;以及包含表示组块数据的尺寸的信息的组块数据尺寸2207。
其中,组块尺寸2201、内容类型2202、帧序号2203、解码用头信息2204、以及组块数据尺寸2207分别与实施方式1的组块尺寸401、内容类型402、帧序号403、解码用头信息404、以及组块数据尺寸405同样。
此外,作为组块头2200的结构要素的、组块尺寸2201、内容类型2202、帧序号2203、解码用头信息2204、密钥信息2205、初始值信息2206以及组块数据尺寸2207,它们各自的位长和出现顺序是固定的。
这里,密钥信息2205用于生成密钥,该密钥用于对包含密钥信息2205自身的组块所属于的密码帧进行解密,初始值信息2206用于生成初始值,该初始值用于对包含初始值信息2206自身的组块所属于的密码帧进行解密。
(内容解密处理装置5000)
图22是表示内容解密处理装置5000的功能结构的模块图。
内容解密处理装置5000相对于实施方式1的内容解密处理装置2000,将组块信息取得部210变形为组块信息取得部2110,将密钥蓄积部214变形为密钥蓄积部2114,将密钥设定部212变形为密钥设定部2112,并新追加了密钥生成部2101。
组块信息取得部2110具有如下功能:取得输入缓冲器201保持的组块的开始地址,并且从组块头2200取得组块尺寸2201、组块数据尺寸2207、内容类型2202、帧序号2203、密钥信息2205和初始值信息2206,向密码尺寸计算部211输出组块的开始地址、组块尺寸2201与组块数据尺寸2207,向密钥设定部212和链接判断部213输出内容类型2202和帧序号2203,向密钥生成部2101输出内容类型2202、帧序号2203、密钥信息2205和初始值信息2206。
组块信息取得部2110具有如下功能:若通过CPUA111或CPUB112写入内容头301,则向密码引擎150输出表示输入缓冲器201保持的数据是内容头301这一情况的内容头信号。
密钥生成部2101若从组块信息取得部2110接收内容类型2202、帧序号203、密钥信息2205和初始值信息2206,则根据接收到的密钥信息2205制作密钥,根据接收到的初始值信息2206制作初始值,并将接收到的内容类型2202、接收到的帧序号2203、生成的密钥、生成的初始值建立关联地记录到密钥蓄积部2114。
此外,密钥生成部2101具有如下功能:在密钥信息2205被加密的情况下进行解密,在初始值信息2206被加密的情况下进行解密。
密钥蓄积部2114是用于将内容类型、帧序号、密钥、初始值建立关联地进行存储的存储区域,作为存储器模块120的一部分而被安装。
图23是表示密钥蓄积部2114所存储的信息的图。
如图23所示,密钥蓄积部2114建立关联地存储有内容类型2300、帧序号2301、密钥2302、初始值2303。
密钥设定部2112具有如下功能:若输入来自组块信息取得部2110的内容类型2202和帧序号2203,则从密钥蓄积部2114读出与所输入的内容类型2202和帧序号2203的组建立关联地存储的密钥2302和初始值2303,并输出到密码引擎150。
下面,参照附图详细说明如上结构的内容解密处理装置5000的动作。
(动作)
若再生机1000开始内容的再生处理,则CPUA111或CPUB112对于写入到外部记录介质137、硬盘装置131的内置硬盘、或RAM122的解密对象的内容,首先将内容头写入输入缓冲器201。
之后CPUA111或CPUB112从内容数据的最初的组块到最后的组块,依次将组块写入输入缓冲器201。
若内容头被写入输入缓冲器201,则内容解密处理装置5000开始内容解密处理。
图24是内容解密处理装置2000所进行的内容解密处理的流程图。
若内容解密处理装置5000开始内容解密处理,则组块信息取得部2110输出内容头信号,运算判断部221接收所输出的内容头信号。
运算判断部221若接收内容头信号,则从输入缓冲器201读出内容头并输出到输出选择部229,输出选择部229将接收到的内容头写入输出缓冲器202。
若通过CPUA111或CPUB112向输入缓冲器201写入组块,则组块信息取得部2110取得输入缓冲器201保持的组块的开始地址,并且从组块头2200取得组块尺寸2201、组块数据尺寸2207、内容类型2202、帧序号2203、密钥信息2205和初始值信息2206(步骤S2400),向密码尺寸计算部211输出组块的开始地址、组块尺寸2201与组块数据尺寸2207,向密钥设定部2112和链接判断部213输出内容类型2202和帧序号2203,向密钥生成部2101输出内容类型2202、帧序号2203、密钥信息2205和初始值信息2206。
密钥生成部2101若从组块信息取得部2110接收内容类型2202、帧序号203、密钥信息2205和初始值信息2206,则根据接收到的密钥信息2205制作密钥,根据接收到的初始值信息2206制作初始值,并将接收到的内容类型2202、接收到的帧序号2203、生成的密钥、生成的初始值建立关联地记录到密钥蓄积部2114(步骤S2402)。
密码尺寸计算部211若从组块信息取得部210输入组块的开始地址、组块尺寸2201与组块数据尺寸2207,则计算填充2230的开始地址、组块的结束地址与组块数据2220所包含的密码块的个数(步骤S2405),向运算判断部221输出组块的开始地址、填充2230的开始地址与组块的结束地址,向链接值记录部228输出密码块的个数。
链接值记录部228若从密码尺寸计算部211输入密码块的个数,则使链接值数计数器计测的链接值的个数复位。
运算判断部221若从密码尺寸计算部211接收组块的开始地址、填充2230的开始地址与组块的结束地址,则从输入缓冲器读出组块头2200和填充2230并输出到输出选择部229,输出选择部229向输出缓冲器202写入所输入的组块头2200和填充2230(步骤S2410),向链接值选择部226输出初始值选择信号。
密钥设定部2112若从组块信息取得部210输入内容类型2202和帧序号2203,则读出在密钥蓄积部214中与输入的内容类型2202和帧序号2203的组建立关联地存储的密钥2302和初始值2303,向密钥保持部223输出所读出的密钥2302,向初始值保持部224输出所读出的初始值2303,密钥蓄积部214覆盖并存储被输入的密钥,初始值保持部224覆盖并存储被输入的初始值(步骤S2415)。
之后,步骤S2420到步骤S2465的处理与实施方式1的内容解密处理装置2000的动作中的步骤S820到步骤S865的处理相同,因此省略说明。
另外,步骤S2420与步骤S820对应,步骤S2425与步骤S825对应,步骤S2430与步骤S830对应,步骤S2435与步骤S835对应,步骤S2440与步骤S840对应,步骤S2445与步骤S845对应,步骤S2450与步骤S850对应,步骤S2455与步骤S855对应,步骤S2465与步骤S865对应。
在步骤S2465中,从内容解密处理装置5000开始待机起,在规定期间、例如1ms的期间,通过CPUA111或CPUB112向输入缓冲器201写入了后续的组块的情况下(步骤S2470:是),再次开始步骤S2400的处理。
在规定期间、例如1ms的期间,没有通过CPUA111或CPUB112向输入缓冲器201写入后续的组块的情况下(步骤S2470:否),判断为内容数据302中不存在后续的组块,内容解密处理装置5000结束内容解密处理。
(实施方式5)
下面,作为本发明的内容解密处理装置的一个实施方式,说明对以密码块链接方式进行了加密的内容进行解密的内容解密处理装置。
本实施方式5的内容解密处理装置是对与作为实施方式1的内容解密处理装置2000的解密对象的内容格式相同的内容进行解密的内容解密处理装置,是对实施方式1所说明的内容解密处理装置2000进行了如下变形的装置,即:由第1处理部和第2处理部构成,该第1处理部从解密对象的内容读出并记录所有组块的组块头的信息,该第2处理部利用在第1处理部中存储的组块头的信息对内容进行解密。
本实施方式5的内容解密处理装置是进行了如下变形的方式,即:对在实施方式1中说明的内容解密处理装置2000的一部分、即组块信息取得部210、密码尺寸计算部211、链接判断部213、密钥设定部212、运算判断部221、初始值选择部225和链接值记录部228进行变形,并且具备密码信息蓄积部和帧序号蓄积部,本实施方式5的内容解密处理装置,是在将实施方式1的再生机1000的密码引擎150替换为将密码引擎150的一部分变形而得到的密码引擎2250后的再生机上实现的。
下面,省略与实施方式1中说明的内容没有变更点的部分的说明,而以变更点为中心进行说明。
(结构)
(内容解密处理装置6000)
图25是表示内容解密处理装置6000的功能结构的模块图。
内容解密处理装置6000相对于实施方式1的内容解密处理装置2000,将组块信息取得部210变形为组块信息取得部2510,将密码尺寸计算部211变形为密码尺寸计算部2511,将链接值判断部213变形为链接值判断部2413,将密钥设定部212变形为密钥设定部2512,将运算判断部221变形为运算判断部2521,将初始值选择部225变形为初始值选择部2525,将链接值记录部228变形为链接值记录部2528,并追加了密码信息蓄积部2530和帧序号蓄积部2522。
组块信息取得部2510具有如下功能:取得输入缓冲器201保持的组块的开始地址,并且从组块头311取得组块尺寸401、组块数据尺寸405、内容类型402和帧序号403,向密码尺寸计算部211输出组块的开始地址、组块尺寸401与组块数据尺寸405,向链接判断部213输出内容类型402与帧序号403,并将内容类型402和帧序号403建立关联地记录到密码信息蓄积部2530。
密码尺寸计算部2511具有如下功能:若从组块信息取得部210输入组块的开始地址、组块尺寸401与组块数据尺寸405,则计算组块数据312的开始地址、填充313的开始地址、组块的结束地址、以及组块数据312所含有的密码块的个数,将计算出的组块数据的开始地址、填充的开始地址、组块的结束地址以及密码块的个数,与通过组块信息取得部2510记录在密码信息蓄积部2530中的内容类型与帧序号的组建立关联地进行记录。
组块数据312的开始地址通过将组块的开始地址和固定长的组块头311的尺寸相加而被算出,填充313的开始地址通过将组块头311的开始地址与组块数据尺寸405相加而被算出,组块的结束地址通过将组块的开始地址与组块尺寸401相加而被算出,密码块的个数通过用组块数据尺寸405除以密码块的单位比特数即128而被算出。
帧序号蓄积部2522是用于将内容类型与帧序号建立关联地进行存储的存储区域,作为存储器模块120的一部分而被安装。
图26是表示帧序号蓄积部2522所存储的信息的图。
如图26所示,帧序号蓄积部2522中,与视频、音频1、音频2这3个内容类型2701分别对应地存储有帧序号2702。
这里所存储的帧序号2702是,在内容类型2701的每个内容类型中由组块信息取得部2510取得的帧序号中最新的帧序号。
链接判断部2513具有如下功能:若从组块信息取得部2510输入内容类型402与帧序号403二者的组合,则调查从组块信息取得部2510输入的内容类型402与帧序号403二者的组合是否被建立关联地存储在帧序号蓄积部2522中,在存储了的情况下,判断为输入缓冲器201所保持的组块为密码链接继续中,在未存储的情况下,判断为输入缓冲器201所保持的组块不为密码链接继续中。
链接判断部2513具有如下功能:在判断为是密码链接继续中的情况下,将密码链接中这一情况,与通过组块信息取得部2510所记录的内容类型和帧序号的组建立关联地记录到密码信息蓄积部2530,在判断为不是链接继续中的情况下,对帧序号蓄积部2522中存储的、与从组块信息取得部2510输入的内容类型相同的内容类型2701的帧序号2702进行更新,并将密码链接结束这一情况,与通过组块信息取得部2510所记录的内容类型和帧序号的组建立关联地记录到密码信息蓄积部2530。
密码信息蓄积部2530是用于存储的存储区域,将构成解密对象的内容的所有组块的开始地址、内容类型、帧序号、组块数据开始地址、密码块数、填充开始地址、组块结束地址、有无链接建立对应并按组块的顺序进行存储,作为存储器模块120的一部分而被安装。
图27是表示密码信息蓄积部2530所存储的信息的图。
如图27所示,密码信息蓄积部2530按解密对象的内容的组块的顺序存储有各组块的开始地址2601、内容类型2602、帧序号2603、组块数据开始地址2604、密码块数2605、填充开始地址2606、组块结束地址2607和有无链接2608。
密钥设定部2512具有如下功能:从密码信息蓄积部2530,按组块的顺序依次读出内容类型2602,从密钥蓄积部214读出与读出的内容类型2602关联地存储着的密钥502和初始值503,并向密码引擎150输出。
运算判断部2521具有如下功能:根据密码信息蓄积部2530,按组块的顺序依次利用组块的开始地址2601、组块数据开始地址2604、填充开始地址2606、组块结束地址2607,从输入缓冲器201保持的组块,读出组块头311和填充313并输出到输出选择部229,读出组块数据312并以密码块单位输出到运算部222,在输出到运算部222的密码块是组块数据的开头的密码块的情况下,将初始值选择信号输出到链接值选择部226,在输出到运算部222的密码块不是组块数据的开头的密码块的情况下,将链接值选择信号输出到链接值选择部226。
另外,利用组块数据的开始地址,判断是否是组块数据的开头的密码块。
初始值选择部2525具有如下功能:从密码信息蓄积部2530按组块的顺序依次读出有无链接2608和内容类型2602的组,在读出的有无链接2608表示是链接中的情况下,从组块间链接值保持部216读出与读出的内容类型2602关联地存储着的链接值并输出到链接值选择部226,在读出的有无链接2608不表示是链接中的情况下,读出初始值保持部224保持着的初始值并输出到链接值选择部226。
链接值记录部2528具有如下功能:从密码信息蓄积部2530按组块的顺序依次读出密码块数2605、内容类型2602和帧序号2603,在输入了运算部222输出的链接值的情况下,将所输入的链接值记录到组块间链接值保持部216或组块内链接值保持部227中的某一个。
链接值记录部2528具有如下功能:在从运算部222输入的链接值是运算部222对组块的末尾的密码块进行解密时输出的链接值的情况下,将所输入的链接值与从密码信息蓄积部2530读出的内容类型2602和帧序号2603建立关联地覆盖并记录到组块间链接值保持部216,在从运算部222输入的链接值不是运算部222对组块的末尾的密码块进行解密时输出的链接值的情况下,将所输入的链接值覆盖并记录到组块内链接值保持部227,并向运算判断部2521输出密码块请求信号。
链接值记录部228具备链接值数计数器,该链接值数计数器计测所输入的链接值的个数,以用来判断从运算部222所输入的链接值是否是在对组块的末尾的密码块进行解密时所输出的链接值。
每当从密码信息蓄积部2530读出密码块数2605,该链接值数计数器就被复位。
链接值记录部228,在从运算部222输入了链接值的情况下,对链接值计数器计测的链接值数加1使其成为新的链接值数,当该新的链接值数未达到从密码尺寸计算部211输入的密码块的个数时,判断为不是在对组块的末尾的密码块进行解密时输出的链接值,当链接值数计数器计测的链接值的个数与从密码尺寸计算部211输入的密码块的个数相等时,判断为是在对组块的末尾的密码块进行解密时输出的链接值。
密码引擎2550对实施方式1的密码引擎150进行了如下变形:将运算判断部221变形为运算判断部2521,将初始值选择部225变形为初始值选择部2525,将链接值记录部228变形为链接值记录部2528。
第1处理部2501由组块信息取得部2510、密码尺寸计算部2511、链接判断部2513、密码信息蓄积部2530和帧序号蓄积部2522构成,通过CPUA111进行控制。
第1处理部2501从内容所含有的所有组块的组块头,按组块的顺序取得内容的解密所需要的信息,进行向密码信息蓄积部2530蓄积的组块数据蓄积处理。
第2处理部2502由密钥设定部2512、密钥蓄积部214、组块间链接值保持部216和密码引擎2550构成,通过CPUB112来进行控制。
第2处理部2502从第1处理部的密码信息蓄积部2530读出内容的解密所需要的信息,进行对内容进行解密的内容解密处理。
下面,参照附图详细说明如上结构的内容解密处理装置6000的动作。
(动作)
若再生机1000开始内容的再生处理,则CPUA111或CPUB112对于写入到外部记录介质137、硬盘装置131的内置硬盘、或RAM122的解密对象的内容,首先将内容头301写入输入缓冲器201。
之后CPUA111或CPUB112,从内容数据的最初的组块到最后的组块,依次将组块写入输入缓冲器201。
若内容头301被写入输入缓冲器201,则内容解密处理装置6000的第1处理部2501从内容所含有的组块的组块头,按组块的顺序取得内容的解密所需要的信息,并蓄积到密码信息蓄积部2530。
若第1处理部2501结束组块数据蓄积处理,则CPUA111或CPUB112再次将内容头301写入输入缓冲器201,之后,从内容数据的最初的组块到最后的组块,依次将组块写入输入缓冲器201。
若内容头301第二次被写入输入缓冲器,则内容解密处理装置6000的第2处理部2502开始内容解密处理。
图28和图29是内容解密处理装置6000所进行的内容解密处理的流程图。
若内容解密处理装置6000的第1处理部2501开始组块头的信息读取处理,则组块信息取得部2510输出内容头信号,运算判断部2521接收所输出的内容头信号。
运算判断部2521若接收内容头信号,则从输入缓冲器201读出内容头301并输出到输出选择部229,输出选择部229将接收到的内容头301写入输出缓冲器202。
若通过CPUA111或CPUB112向输入缓冲器201写入组块,则组块信息取得部2510取得输入缓冲器201保持的组块的开始地址,并且从组块头311取得组块尺寸401、组块数据尺寸405、内容类型402与帧序号403(步骤S2800),向密码尺寸计算部211输出组块的开始地址、组块尺寸401与组块数据尺寸405,向链接判断部2513输出内容类型402与帧序号403,将内容类型402与帧序号403建立关联地记录到密码信息蓄积部2530。
密码尺寸计算部2511若输入来自组块信息取得部210的组块的开始地址、组块尺寸401与组块数据尺寸405,则计算组块数据312的开始地址、填充313的开始地址、组块的结束地址与组块数据312所包含的密码块的个数(步骤S2810)。
链接判断部2513调查从组块信息取得部210输入的内容类型402与帧序号403的组合是否被建立关联地存储在帧序号蓄积部2522中(步骤S2820),在未存储的情况下,对帧序号蓄积部2522中存储的、与从组块信息取得部210输入的内容类型相同的内容类型2701的帧序号2702进行更新。
密码尺寸计算部2511将计算出的组块数据的开始地址、填充的开始地址、组块的结束地址以及密码块的个数,与通过组块信息取得部2510记录在密码信息蓄积部2530中的内容类型与帧序号的组建立关联地进行记录,链接判断部2513在步骤S2820中为已记录的情况下,将密码链接中这一情况,与通过组块信息取得部2510所记录的内容类型和帧序号的组建立关联地记录到密码信息蓄积部2530,在未记录的情况下,并将密码链接结束这一情况,与通过组块信息取得部2510所记录的内容类型和帧序号的组建立关联地记录到密码信息蓄积部2530(步骤S2840)。
若步骤S2840的处理结束,则到CPUA111或CPUB112向输入缓冲器201写入后续的组块为止,内容解密处理装置2000待机(步骤S2850)。
CPUA111或CPUB112在规定时间、例如1ms的期间向输入缓冲器201写入了后续的组块的情况下(步骤S2850:是),再次开始步骤S800的处理。
CPUA111或CPUB112没有在规定时间、例如1ms的期间向输入缓冲器201写入后续的组块的情况下(步骤S2850:否),判断为内容数据302中不存在后续的组块,第1处理部2501结束组块数据蓄积处理。
若第1处理部2501结束组块数据蓄积处理,则CPUA111或CPUB112再次将内容头301写入输入缓冲器201,之后,从内容数据的最初的组块到最后的组块,依次将组块写入输入缓冲器201。
若内容头301第二次被写入输入缓冲器,则内容解密处理装置6000的第2处理部2502开始内容解密处理。
若内容解密处理装置2000开始内容解密处理,则运算判断部2521从输入缓冲器201读出内容头301并输出到输出选择部229,输出选择部229将接收到的内容头301写入输出缓冲器202。
若通过CPUA111或CPUB112向输入缓冲器201写入组块,则运算判断部2521从密码信息蓄积部2530读出与所写入的组块对应的开始地址2601、填充开始地址2606和组块结束地址2607,密钥设定部2512从密码信息蓄积部2530读出与所写入的组块对应的内容类型2602,初始值选择部2525从密码信息蓄积部2530读出与所写入的组块对应的有无链接2608和内容类型2602,链接值记录部2528从密码信息蓄积部2530读出与所写入的组块对应的密码块数2605、内容类型2602和帧序号2603,并使链接值数计数器计测的链接值数复位(步骤S2900)。
运算判断部2521若从密码信息蓄积部2530读出开始地址2601、填充开始地址2606、组块结束地址2607,则从输入缓冲器读出组块头311和填充313并输出到输出选择部229,输出选择部229将所输入的组块头311和填充313写入输出缓冲器202(步骤S2910),并向链接值选择部226输出初期值选择信号。
密钥设定部2512若从密码信息蓄积部2530输入内容类型2602,则读出在密钥蓄积部214中与所输入的内容类型2602关联地存储着的密钥502和初始值503,向密钥保持部223输出所读出的密钥502,向初始值保持部224输出所读出的初始值503,密钥蓄积部214覆盖并存储所输入的密钥,初始值保持部224覆盖并存储所输入的初始值(步骤S2915)。
初始值选择部2525若从密码信息蓄积部2530按组块的顺序依次读出有无链接2608和内容类型2602的组(步骤S2920),则在读出的有无链接2608表示是链接中的情况下(步骤S2920:是),从组块间链接值保持部216读出与读出的内容类型2602关联地存储着的链接值并输出到链接值选择部226。
链接值选择部226由于已从运算判断部2521接收初期值选择信号,因此从初始值选择部2525选择所输入的链接值,并输出到运算部222(步骤S2925)。
在步骤S2920中,在读出的有无链接2608不表示是链接中的情况下(步骤S2920:否),读出初始值保持部224保持的初始值并输出到链接值选择部226。
链接值选择部226由于已从运算判断部2521接收初期值选择信号,因此,若从初始值选择部2525输入初始值,则将所输入的初始值作为运算部222使用的链接值,并输出到运算部222(步骤S2930)。
步骤S2925或步骤S2930的处理结束后的步骤S2935~步骤S2965的处理,与实施方式1的内容解密处理装置2000的动作中的、步骤S835~步骤S865的处理相同,故省略说明。
另外,步骤S2935对应于步骤S835,步骤S2940对应于步骤S840,步骤S2945对应于步骤S845,步骤S2950对应于步骤S850,步骤S2955对应于步骤S855,步骤S2965对应于步骤S865。
在步骤S2965中,从第2处理部2502开始待机起,在规定期间、例如1ms的期间,通过CPUA111或CPUB112向输入缓冲器201写入了后续的组块的情况下(步骤S2970:是),再次开始步骤S1202的处理。
在规定期间、例如1ms的期间,没有通过CPUA111或CPUB112向输入缓冲器201写入后续的组块的情况下(步骤S2970:否),判断为内容数据302中不存在后续的组块,第2处理部2502结束内容解密处理,内容解密处理装置6000结束内容解密处理。
(补充)
以上,作为本发明的内容解密处理装置的一个实施方式,说明了以下内容解密处理装置:即使解密对象的数据流的数据结构为,在属于第1种密码帧(例如加密后的视频帧)的由进行链接的密码块列构成的密码组块间、存在属于第2种密码帧(例如加密后的音频帧)由进行链接的密码块列构成的密码组块的数据结构,也能够正确地对数据流进行解密,但也可以进行如下变形,本发明当然不限于上述实施方式所示的内容解密处理装置。
(1)在实施方式1中,CPU模块110由CPUA111和CPUB112这2个CPU构成,但CPU的数量也可以是1个,也可以是3个以上,也可以是具有双CPU核功能的1个处理器,也可以是具有四CPU核功能的1个处理器。
(2)在实施方式1中,ROM121为ROM,但也可以含有可读写的非易失性存储器。
(3)在实施方式1中,密码引擎150为DSP,但不一定必须是DSP,也可以是例如通过CPUA111或CPUB112执行软件而实现的结构,也可以是通过CPUA111、CPUB112以外的CPU执行软件而实现的结构,也可以是通过ASIC、FPGA等来实现的结构。
同样地,在实施方式1中,AV解码器160为DSP,但不一定必须是DSP,也可以是例如通过CPUA111或CPUB112执行软件而实现的结构,也可以是通过CPUA111、CPUB112以外的CPU执行软件而实现的结构,也可以是通过ASIC、FPGA等来实现的结构。
(4)在实施方式1中,周边设备模块130由硬盘装置131、硬盘装置接口141、读取写入装置132、读取写入装置接口142、输出装置133、输出装置接口143、输入装置134、输入装置接口144、通信装置135构成,但至少具备输出装置133、输出装置接口143、输入装置134、输入装置接口144即可,可以不用具备上述所有组成部分。
(5)在实施方式1中,AV解码器160具有MPEG2解码功能、MPEG4解码功能和MPEG4-AVC解码功能,但也可以具有对以这些编码方式编码后的数据以外的数据进行解码的功能。
(6)在实施方式1中,输出装置133由LCD(Liquid Crystal Display)与扬声器构成,但也可以代替LCD而采用PDP(Plasma Display Panel,等离子显示面板)、有机EL(Electro-Luminescence,电致发光)显示器、布朗管(ブラウン管)等。
(7)在实施方式1中,再生机1000为个人计算机,但只要具有对内容进行解密的功能即可,例如可以是通用计算机、电视接收机、DVD再生机、DVD刻录再生机、BD再生机、BD刻录再生机、PDA(Personal Digital Assistance,个人数字助理)或便携通信终端等。
(8)在实施方式1中,输入装置134由接受用户的操作的键盘与鼠标构成,但只要具有接受用户对再生机1000的操作命令的功能即可,例如可以是接收用户操作的输入按键、接收来自用户操作的遥控器的信号的接收装置等。
(9)在实施方式1中,解密对象的内容为将加密后的视频ES、加密后的音频1ES与加密后的音频2ES复用的内容,但只要为至少2个以上互不相同的ES复用的内容,则可以是除此之外的ES复用的内容。
例如,认为可以是将视频1ES、视频2ES、视频3ES与音频ES复用的内容等。
此外,通过将所拍摄的影像以MPEG4-AVC方式编码、对由编码而得的许多视频帧的每个以密码块链接方式加密从而得到加密后的视频ES,但也可以采用例如MPEG2、MPEG4、Motion JPEG(Joint Photographic Experts Group)等的、除MPEG4-AVC方式以外的方式进行编码。
并且,通过将所拍摄的声音以MPEG4-AVC方式编码、对由编码而得的许多音频帧的每个以密码块链接方式加密从而得到加密后的音频1ES与音频2ES,但也可以采用例如MPEG2、MPEG4等的、除MPEG4-AVC方式以外的方式进行编码。
(10)在实施方式1中,组块头的每个构成要素的位长和出现顺序是固定的,但只要具有表示位长的信息,则位长可以不固定,并且只要具有表示顺序的信息,则顺序也可以不固定。
(11)在实施方式1中,由3个密码块构成组块数据,但也可以由3个以外的数量的密码块构成。
(12)在实施方式1中,密码块采用AES密码方式在CTR模式下进行密码链接化,但也可以采用CBC(Cipher Block Chaining,密码块链接)模式等CRT模式以外的模式而加密,例如,也可以采用DES(Data Encryption Standard,数据加密标准)密码方式等AES密码方式以外的密码方式而加密。
此外,密码块的位长为128比特,链接值的位长为128比特,密钥的位长为128比特,但它们的位长可以根据密码块的密码方式而为128比特以外的位长。
例如,密码块的密码方式是DES密码方式的情况下,密码块的位长成为56比特,链接值的位长成为56比特,密钥的位长成为56比特。
(13)在实施方式1中,运算部222采用具有AES密码电路701的结构,但根据密码块的加密方式,也可以采用例如DES密码等AES密码以外的密码方式的密码电路。
(14)在实施方式1中,增量器703从所输入的链接值中对下位32比特的部分增加1来计算下一个链接值,但也可以例如对下位64比特的部分增加1来计算下一个链接值,从而对下位32比特以外的部分增加1,例如也可以增加2或-1等1以外的数。
(15)在实施方式1中,虽然利用附图说明了解密对象的内容的格式,但解密对象的内容的文件形式也可以是不违反所说明的格式的形式,例如ASF(Advanced Streaming Format,高级流格式)、MP4文件形式、QuickTime文件形式。
(16)在实施方式1中,举出了按每个内容类型而准备在密码中使用的密钥的例子,但也可以例如准备1个基本密钥,按每个内容类型实施特定处理,从而生成各内容类型用的密钥。
(17)在实施方式1中,CPU模块110由2个CPU构成,存储器模块由ROM和RAM构成,密码引擎150由DSP构成,AV解码器160由DSP构成,但也可以采用除此以外的结构,例如,将CPU模块110、存储器模块120、周边设备模块130、密码引擎150、AV解码器160、以及总线140的一部分以1个集成电路来实现。
图30是表示再生机1000的模块结构的模块图,表示了再生机1000中,将CPU模块110、存储器模块120、周边设备模块130、密码引擎150、AV解码器160、以及总线140的一部分以1个集成电路10来实现的情况。
(18)在实施方式4中,解密对象的内容为密钥信息2205包含在组块头2200中的数据格式,但密钥信息2205不包含在构成组块头2200的密码块中也可以。
在采用这样的数据格式的内容的情况下,构成为,组块信息取得部2210从组块数据的密码块取得密钥信息,密钥生成部2101从组块信息取得部2210取得密码信息。
密钥生成部2101在密钥信息被加密的情况下,对加密后的密钥信息进行解密后制作密钥。
同样地,在实施方式4中,解密对象的内容为初始值信息2206包含在组块头2200中的数据格式,但初始值信息2206不包含在构成组块头2200的密码块中也可以。
在采用这样的数据格式的内容的情况下,构成为,组块信息取得部2210从组块数据的密码块取得初始值信息,密钥生成部2101从组块信息取得部2210取得初始值信息。
密钥生成部2101在初始值信息被加密的情况下,对加密后的初始值信息进行解密后制作密钥。
(19)在实施方式4中,密钥信息2205是用于生成密钥的信息,初始值信息2206是用于生成初始值的信息,但密钥信息2205可以是密钥本身,初始值信息2206可以是初始值本身。
(20)在实施方式4中,密钥信息2205既可以对属于各加密后的ES的所有帧通用,也可以按组块单位而互不相同,此外,在密钥信息2205包含于构成组块数据2200的密码块的情况下,在1个组块内存在多个密钥信息2205,同一组块内的密码块采用互不相同的密钥信息2205也可以。
同样地,在实施方式4中,初始值信息2206既可以对属于各加密后的ES的所有帧通用,也可以按组块单位而互不相同,此外,在初始值信息2206包含于构成组块数据2200的密码块的情况下,在1个组块内存在多个密钥信息2205,同一组块内的密码块采用互不相同的密钥信息2205也可以。
(21)在实施方式5中,第1处理部2501由CPUA111控制,第2处理部2502由CPUB112控制,但也可以采用除此以外的结构,例如,第1处理部2501可以由CPUA111和CPUB112控制,第2处理部2502可以由CPUA111和CPUB112控制。
进一步地,CPU模块110由3个以上CPU构成的情况下,第1处理部2501可以由3个以上CPU控制,第2处理部2502可以由3个以上CPU控制。
此外,也可以构成为,在CPU模块中存在具有隐藏所处理的信息的功能的安全(secure)CPU,由第2处理部2502控制该安全CPU,从而使第三者不知道密钥蓄积部214存储的密钥和初始值。
(22)在实施方式5中,说明了在第1处理部2501结束了组块数据蓄积处理后、第2处理部2502开始内容解密处理的例子,但即使第1处理部2501的组块数据蓄积处理未到达最后而结束,在密码信息蓄积部2530中已存储有一部分组块的信息的状态下第2处理部2502也可以开始内容解密处理。
(23)在实施方式1中,外部记录介质137采用DVD、DVD-R、DVD-RAM、BD、BD-R、BD-RE等,但只要是可读取的记录介质即可,例如可以是CD(Compact Disc)、CD-R、SD卡等。
此外,读取写入装置132能够向DVD、DVD-R、BD、BD-R、BD-RE等写入并读取数据,但只要是能进行数据的读写的记录介质即可,例如可以构成为,能够向CD、CD-R、SD卡等写入并读取数据。
(24)在实施方式1中,外部记录介质136是光通信线路、电话通信线路、广播波等,但只要它们的形态是能够传输数字信号的形态即可,例如可以是有线的形态、无线的形态、或红外线的形态。
工业上的可利用性
本发明能够广泛应用于对加密后的数字数据进行解密的解密处理装置。
符号说明
150 密码引擎
201 输入缓冲器
202 输出缓冲器
210 组块信息取得部
211 密码尺寸计算部
212 密钥设定部
213 链接判断部
214 密钥蓄积部
216 组块间链接值保持部
221 运算判断部
222 运算部
223 密钥保持部
224 初始值保持部
225 初始值选择部
226 链接值选择部
227 组块内链接值保持部
228 链接值记录部
229 输出选择部
Claims (6)
1.一种内容解密处理装置,对数据流进行解密,上述数据流如下形成,即:分类为多个种类的帧分别以链接密码块方式、且以包含多个由链接的密码块列构成的组块的形态被加密,并分割多个密码帧中的各个密码帧,以属于第1种密码帧的密码组块和属于第2种密码帧的密码组块混杂存在的方式,进行流线化而形成,该内容解密处理装置的特征在于,具有:
解密部,利用链接值,依次对上述数据流中包含的密码块进行解密,每当对密码块进行解密时,计算新的链接值;
链接值保持部,用于将密码帧的识别信息和链接值建立关联地存储;以及
链接值记录部,在通过上述解密部对组块的末尾的密码块进行了解密的情况下,将通过上述解密部进行了解密的密码块所属的密码帧的识别信息与该进行了解密的密码块在被解密时通过上述解密部算出的链接值建立关联地记录至上述链接值保持部;
上述解密部参照上述链接值保持部,在要解密的密码块是组块的开头的密码块的情况下,当已对上述要解密的密码块所属的密码帧的一部分进行了解密时,作为对该密码块进行解密时使用的链接值,使用该密码帧的密码块之中的最后解密的密码块在被解密时计算出的链接值。
2.如权利要求1记载的内容解密处理装置,其特征在于,
上述链接值保持部包括组块内链接值保持部,该组块内链接值保持部用于存储链接值;
在通过上述解密部对密码块进行了解密的情况下,当对不是组块的末尾的密码块进行了解密时,上述链接值记录部用上述解密部所计算出的链接值覆盖至上述组块内链接值保持部中存储着的链接值并记录;
在要解密的密码块不是组块的开头的密码块的情况下,上述解密部利用上述组块内链接值保持部中记录着的链接值,对密码块进行解密。
3.如权利要求1记载的内容解密处理装置,其特征在于,
上述链接值记录部在将密码帧的识别信息与链接值建立关联地记录至上述链接值保持部的情况下,按每种密码帧,将表示密码帧的信息和链接值覆盖并记录至上述链接值保持部。
4.如权利要求1记载的内容解密处理装置,其特征在于,还具备:
数据赋予部,在作为上述解密部的解密对象的密码块小于规定的比特数的情况下,对该密码块赋予赋予数据,以使该密码块成为上述规定的比特数;
解密数据保持部,用于存储通过上述解密部进行了解密的密码块;以及
解密数据记录部,将通过上述解密部进行了解密的密码块的一部分记录至上述解密数据保持部;
在作为上述解密部的解密对象的密码块小于上述规定的比特数的情况下,上述数据赋予部对作为上述解密对象的密码块赋予赋予数据,生成上述规定的比特数的合成密码块,上述解密部替代上述解密对象的密码块而解密上述合成密码块,上述解密数据记录部将通过上述解密部进行了解密的合成密码块之中的、除了通过上述解密部对上述数据赋予部所赋予的赋予数据的部分进行解密从而得到的部分以外的部分,记录至上述解密数据保持部。
5.一种内容解密处理方法,使内容解密处理装置对数据流进行解密,该内容解密处理装置具备用于将密码帧的识别信息与链接值建立关联地存储的链接值保持部,上述数据流如下形成,即:分类为多个种类的帧分别以链接密码块方式、且以包含多个由链接的密码块列构成的组块的形态被加密,并分割多个密码帧中的各个密码帧,以属于第1种密码帧的密码组块和属于第2种密码帧的密码组块混杂存在的方式,进行流线化而形成,该内容解密处理方法的特征在于,具有:
解密步骤,上述内容解密处理装置的解密部利用链接值,依次对上述数据流中包含的密码块进行解密,每当对密码块进行解密时,计算新的链接值;以及
链接值记录步骤,上述内容解密处理装置的链接值记录部在通过上述解密部对组块的末尾的密码块进行了解密的情况下,将通过上述解密步骤进行了解密的密码块所属的密码帧的识别信息与该进行了解密的密码块在被解密时通过上述解密部算出的链接值建立关联地记录至上述链接值保持部;
上述解密步骤参照上述链接值保持部,在要解密的密码块是组块的开头的密码块的情况下,当已对上述要解密的密码块所属的密码帧的一部分进行了解密时,作为对该密码块进行解密时使用的链接值,使用该密码帧的密码块之中的最后解密的密码块在被解密时计算出的链接值。
6.一种集成电路,对数据流进行解密,上述数据流如下形成,即:分类为多个种类的帧分别以链接密码块方式、且以包含多个由链接的密码块列构成的组块的形态被加密,并分割多个密码帧中的各个密码帧,以属于第1种密码帧的密码组块和属于第2种密码帧的密码组块混杂存在的方式,进行流线化而形成,该集成电路的特征在于,具有:
解密部,利用链接值,依次对上述数据流中包含的密码块进行解密,每当对密码块进行解密时,计算新的链接值;
链接值保持部,用于将密码帧的识别信息和链接值建立关联地存储;以及
链接值记录部,在通过上述解密部对组块的末尾的密码块进行了解密的情况下,将通过上述解密部进行了解密的密码块所属的密码帧的识别信息与该进行了解密的密码块在被解密时通过上述解密部算出的链接值建立关联地记录至上述链接值保持部;
上述解密部参照上述链接值保持部,在要解密的密码块是组块的开头的密码块的情况下,当已对上述要解密的密码块所属的密码帧的一部分进行了解密时,作为对该密码块进行解密时使用的链接值,使用该密码帧的密码块之中的最后解密的密码块在被解密时计算出的链接值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-290528 | 2008-11-13 | ||
JP2008290528 | 2008-11-13 | ||
PCT/JP2009/006033 WO2010055658A1 (ja) | 2008-11-13 | 2009-11-12 | コンテンツ復号処理装置、コンテンツ復号処理方法及び集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102224704A true CN102224704A (zh) | 2011-10-19 |
Family
ID=42169803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801404601A Pending CN102224704A (zh) | 2008-11-13 | 2009-11-12 | 内容解密处理装置、内容解密处理方法及集成电路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20110170687A1 (zh) |
EP (1) | EP2352251A1 (zh) |
JP (1) | JPWO2010055658A1 (zh) |
CN (1) | CN102224704A (zh) |
WO (1) | WO2010055658A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112714120A (zh) * | 2020-12-24 | 2021-04-27 | 四川长虹电器股份有限公司 | 一种链式数据加密、解密方法、加密数据的分离式存储方法 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8094814B2 (en) * | 2005-04-05 | 2012-01-10 | Broadcom Corporation | Method and apparatus for using counter-mode encryption to protect image data in frame buffer of a video compression system |
ES2935410T3 (es) | 2007-01-05 | 2023-03-06 | Divx Llc | Sistema de distribución de vídeo que incluye reproducción progresiva |
WO2011068668A1 (en) | 2009-12-04 | 2011-06-09 | Divx, Llc | Elementary bitstream cryptographic material transport systems and methods |
US8914534B2 (en) | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8787570B2 (en) | 2011-08-31 | 2014-07-22 | Sonic Ip, Inc. | Systems and methods for automatically genenrating top level index files |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US9008308B2 (en) * | 2012-02-08 | 2015-04-14 | Vixs Systems, Inc | Container agnostic decryption device and methods for use therewith |
CN102867153B (zh) * | 2012-08-30 | 2014-04-09 | 腾讯科技(深圳)有限公司 | 一种加密、解密视频文件的方法、装置及移动终端 |
US8769306B1 (en) * | 2012-09-05 | 2014-07-01 | Amazon Technologies, Inc. | Protecting content with initialization vector manipulation |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9570112B2 (en) * | 2013-12-20 | 2017-02-14 | Opentv, Inc. | Multiple views recording |
US9397833B2 (en) | 2014-08-27 | 2016-07-19 | International Business Machines Corporation | Receipt, data reduction, and storage of encrypted data |
US9397832B2 (en) | 2014-08-27 | 2016-07-19 | International Business Machines Corporation | Shared data encryption and confidentiality |
CN107111477B (zh) | 2015-01-06 | 2021-05-14 | 帝威视有限公司 | 用于编码内容和在设备之间共享内容的系统和方法 |
TW201919361A (zh) * | 2017-11-09 | 2019-05-16 | 張英輝 | 以雜文加強保護之區塊加密及其解密之方法 |
US11263328B2 (en) * | 2018-09-13 | 2022-03-01 | Vmware, Inc. | Encrypted log aggregation |
JP7440065B2 (ja) * | 2020-04-03 | 2024-02-28 | 国立大学法人京都大学 | ブロックチェーンネットワークシステム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3824121B2 (ja) | 1999-04-01 | 2006-09-20 | 株式会社日立製作所 | 暗号データの復号化処理方法および装置 |
JP2002311827A (ja) * | 2001-04-18 | 2002-10-25 | Matsushita Electric Works Ltd | 情報処理装置 |
JP2004109177A (ja) * | 2002-09-13 | 2004-04-08 | Matsushita Electric Ind Co Ltd | コンテンツデータ記録媒体、コンテンツデータ復号装置、コンテンツデータ暗号化装置、コンテンツデータ復号方法及びコンテンツデータ暗号化方法 |
US7055039B2 (en) * | 2003-04-14 | 2006-05-30 | Sony Corporation | Protection of digital content using block cipher crytography |
JP2005341316A (ja) * | 2004-05-27 | 2005-12-08 | Sony Corp | 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム |
JP4496061B2 (ja) * | 2004-11-11 | 2010-07-07 | パナソニック株式会社 | 機密情報処理装置 |
JP2006229863A (ja) * | 2005-02-21 | 2006-08-31 | Seiko Epson Corp | 暗号化/復号化装置、通信コントローラ及び電子機器 |
JP2006331483A (ja) * | 2005-05-24 | 2006-12-07 | Matsushita Electric Ind Co Ltd | 復号装置、ストリーム録画再生装置、および暗号化ストリームの復号方法 |
JP4167688B2 (ja) * | 2006-01-12 | 2008-10-15 | 松下電器産業株式会社 | 携帯端末、暗号化コンテンツ再生方法及びそれに用いられる平文データ生成方法 |
JP5080908B2 (ja) * | 2007-01-15 | 2012-11-21 | パナソニック株式会社 | 機密情報処理機器、機密情報処理装置、及び機密情報処理方法 |
US8077867B2 (en) * | 2007-01-15 | 2011-12-13 | Panasonic Corporation | Confidential information processing apparatus, confidential information processing device, and confidential information processing method |
-
2009
- 2009-11-12 EP EP09825912A patent/EP2352251A1/en not_active Withdrawn
- 2009-11-12 US US13/063,595 patent/US20110170687A1/en not_active Abandoned
- 2009-11-12 JP JP2010537695A patent/JPWO2010055658A1/ja not_active Withdrawn
- 2009-11-12 WO PCT/JP2009/006033 patent/WO2010055658A1/ja active Application Filing
- 2009-11-12 CN CN2009801404601A patent/CN102224704A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112714120A (zh) * | 2020-12-24 | 2021-04-27 | 四川长虹电器股份有限公司 | 一种链式数据加密、解密方法、加密数据的分离式存储方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2010055658A1 (ja) | 2012-04-12 |
WO2010055658A1 (ja) | 2010-05-20 |
EP2352251A1 (en) | 2011-08-03 |
US20110170687A1 (en) | 2011-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102224704A (zh) | 内容解密处理装置、内容解密处理方法及集成电路 | |
JP3229148B2 (ja) | 暗号化方法およびシステム | |
CN100379194C (zh) | 存储器加密 | |
US6157720A (en) | Method and apparatus for encrypting data | |
CN105324956B (zh) | 加密明文数据的方法及设备 | |
CN103366132B (zh) | 用于加密数据的设备和方法 | |
KR101008135B1 (ko) | 데이터 처리 장치 | |
US20120269340A1 (en) | Hierarchical encryption/decryption device and method thereof | |
JP5198539B2 (ja) | 記憶装置、アクセス装置およびプログラム | |
CN106651734A (zh) | 二值二维码图像加密、解密的方法和装置 | |
JP5843261B2 (ja) | 文字列がオートマトンに受理されるか否かを認証するシステム | |
WO2007001075A1 (ja) | 暗号化処理装置、暗号化方法、復号化処理装置、復号化方法、及びデータ構造 | |
CN116186742A (zh) | 一种箭载数据加密存储的方法、装置及设备 | |
JP6273226B2 (ja) | 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法 | |
CN112242970B (zh) | 一种数据分割加密安全加固方法及装置 | |
US9058507B2 (en) | Signal processor with an encrypting or decrypting device in a memory system | |
KR20050069927A (ko) | 블록암호화 방법 및 블록암호/복호회로 | |
KR20080112082A (ko) | 데이터 암호화방법, 암호화데이터 재생방법 | |
JP2013098722A (ja) | ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム | |
KR20170005850A (ko) | 암호 장치, 기억 시스템, 복호 장치, 암호 방법, 복호 방법, 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
KR100494560B1 (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
JP2005202048A (ja) | 暗号通信システム、そのシステムに使用される暗号装置および復号装置、暗号化方法および復号化方法、暗号化プログラムおよび復号化プログラム、ならびに記録媒体 | |
JP2009271884A (ja) | 情報処理装置及び情報処理プログラム | |
JP2003152987A (ja) | 画像暗号化再生装置 | |
CN118300779A (zh) | 基于aes与密钥派生函数的安全加密方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20111019 |