视/音频信息读取、记录、重放装置、方法、程序和介质 【技术领域】
本发明涉及一种从诸如光盘之类的存储介质中读取信息的信息读取装置,一种将信息记录到存储介质中的信息记录装置,信息读取和记录方法,一种程序和一种存储介质。
背景技术
在诸如DVD(数字通用光盘)之类的存储介质中,能够把诸如包括大量活动图像和声频的整个正片的大量信息存储为数字信息。由于它能够把活动图像和音频等存为数字信息,因此,防盗版的版权保护已经变得越来越重要。
CSS(内容扰频系统)是一种被DVD-视频所使用的版权保护技术。CSS只能适用于DVD-ROM,而根据CSS合同的规定:禁止CSS应用于诸如DVD-R,DVD-RW,DVD+R和DVD+RW的可读DVD上。因此,从DVD-视频逐位复制到任何上述可读DVD是未经授权许可的行为。
根据利用DVD-音频的另一种版权保护技术的CPPM(预先录制介质的内容保护)的规定,这种类型的复制也是未被授权许可的行为。
互联网上发布了许多用于解密CSS加密的软件程序。利用这些程序能够解密DVD-视频加密密码,然后通过解密将被写入可记录的DVD中的加密密码获得明码文本。因此,人们希望采取一种能够防止未经授权复制的措施。例如,可考虑如下的一种措施:预先将数字水印信息嵌入在视频和声频数据中;当存储或重放该数据时,检测该数字水印信息就能够防止未经授权地复制。
但是,在一种记录/重放装置中设置一种用于检测该数字水印信息的电路就会扩大电路的规模并提高成本。此外,检测数字水印信息是一个耗时的过程,妨碍了记录/重放装置完成主要任务,即,重放和记录。
虽然迄今为止还没有解决上述问题的方法,但是下面公布了一些试图解决这些问题的日本未经审查的专利申请出版物。
(1)日本未经审查的专利申请出版物No.2000-115727
在该专利中公开了一种使DVD驱动器能够正确地检测预先嵌入在视频和声频信息中的数字水印信息。当根据该数字水印信息判断出未经授权的复制时,就把误差状态(未经授权读取和写入的通知)返给计算机。但是,实际上,对于未经授权复制的通知来说没有标准的误差状态定义,这就难于与现有的计算机建立兼容。这表明该计算机会从驱动器接收一个未预料到的误差,从而使一个应用程序发生差错或不正常终止。而且,要求检测该数字水印信息也会提高成本。
(2)日本未经审查的专利申请出版物No.2001-210013
在该专利中公开了一种在DVD驱动器中实现数字水印廉价检测的方法。根据该专利,检测未经授权的复制能够停止视频和声频信号的输出。但是,其没有具体描述如何“停止”复制。
(3)日本未经审查的专利申请出版物No.2000-173177
在该专利中公开了下列方法,即在根据利用DVD重放器检测的数字水印判断出未经授权的复制时,就对该DVD重放器输出施加限制。但是,在MPEG解码器中进行处理之后处于CPU(中央处理单元)控制之下的输出限制处理易于屈从于未经授权的修改,如布线修改和固件修改。这与应用于使DVD重放器区域控制无效的原理相同。
(4)日本未经审查的专利申请出版物No.2000-23088和2000-23089
在这些专利中公开了一些其中在根据DVD记录检测的数字水印来判断出未经授权的复制时,由DVD记录器限制重放和记录的方法。这些方法也与(3)中的方法具有相同的问题。
如上所述,它们存在下列问题:在可记录的DVD中没有建立合适的版权保护系统;即使在根据CSS保护下的DVD-ROM中,由于具有破坏CSS保护码的软件程序,也不能保证给于充分的保护;由于采用了数字水印信息,因此会增加处理负荷并提高成本。
【发明内容】
因此,本发明的目的是提供一种信息读取装置、一种信息记录装置、一种信息读取方法、一种信息写入方法、一种程序和一种存储介质,它们能够实现对被读取或读取/写入的任何种类的介质上的内容进行保护,而且还能够将因为实现这种保护而把成本和处理负荷的增加降低到一个可忽略不计的值。
为了实现此目的,根据本发明的第一种实施例,提供一种信息读取装置,它包括:读取单元,用于从存储信息的存储介质中读取信息;读取信息处理单元,用于用无效数据代替至少部分由读取单元读取的信息;和传输单元,用于将至少部分被无效数据代替的信息传输到请求从存储介质中读取信息的电子装置。
根据本发明的第二种方案,信息记录装置包括记录单元,用于将信息记录到存储介质上;以及记录信息处理单元,用于用无效数据代替至少部分由记录单元记录在存储介质上的信息。
根据本发明的第三种方案,光重放装置包括:光拾取单元,用于从存储信息的光存储介质中读取信息;数据滤波器,用于用无效数据代替至少部分由光拾取单元读取的信息;和接口,用于将至少部分被无效数据代替的信息传输到请求从光存储介质读取信息的电子装置上。
根据本发明的第四种方案,光记录装置包括:接口,用于从请求记录信息的电子装置中接收信息;数据滤波器,用于用无效数据代替至少部分接收到的信息;和光磁头单元,用于将至少部分被无效数据代替的信息记录到光存储介质中。
根据本发明的第五种方案,信息读取方法包括:读取步骤,用于从存储信息的存储介质中读取信息;读取信息处理步骤,用于处理在读取步骤中读取的信息,以便在请求读取信息的电子装置中使信息的重放无效;以及传输步骤,用于将处理过的信息传输到电子装置。
根据本发明的第六种方案,信息记录方法包括:记录步骤,用于将信息记录到存储介质中;以及记录信息处理步骤,用于处理将被记录的信息,以便使将被记录在存储介质上的信息重放无效。
根据本发明的第七种方案,一种程序,使计算机实现以下功能:利用将包括视频和/或声频的信息记录到存储介质中的信息记录装置执行验证过程;在验证成功时,对至少部分传输到信息记录装置的信息进行加密;以及将加密过的信息传输到信息记录装置,以便把该加密过的信息记录在存储介质上。
根据本发明的第八种方案,一种程序,使计算机实现以下功能:利用从存储介质中读取包括视频和/或声频的信息的信息读取装置执行验证过程;以及在验证成功时,对从信息读取装置传输的加密信息进行解密。
根据本发明的第九种方案,计算机可读存储介质,包含程序,该程序使计算机实现以下功能:利用将包括视频和/或声频的信息记录到存储介质中的信息记录装置执行验证过程;在验证成功时,对至少部分地传输到信息记录装置的信息进行加密;以及将加密过的信息传输到信息记录装置,以便把该加密过的信息记录在存储介质上。
根据本发明的第十种方案,计算机可读存储介质,包含程序,该程序使计算机实现以下功能:利用从存储介质中读取包括视频和/或声频的信息的信息读取装置执行验证过程;以及在验证成功时,对从信息读取装置传输的加密信息进行解密。
【附图说明】
图1是表示根据本发明的第一实施例所述的信息记录/重放装置的结构方框图;
图2是表示读取数据滤波器特征的方框图;
图3是对包(pack)进行选择掩模处理的流程图;
图4是表示DVD视频数据的实例结构的视图;
图5是表示对包进行掩模的实例区域的视图;
图6是表示对包进行掩模的另一个实例区域的视图;
图7是表示写入数据滤波器特征的方框图;
图8是表示根据第一个实施例所述的另一个DVD驱动器的结构的方框图;
图9是表示根据第一个实施例所述的又一个DVD驱动器的结构的方框图;
图10是表示根据本发明第二实施例所述的DVD驱动器和PC的结构的方框图;
图11是表示读取数据控制器(加密)特征的方框图;
图12是表示写入数据控制器(解密)特征的方框图;
图13是表示在PC和DVD驱动器之间执行验证和产生验证密钥的过程的方框图;
图14是表示成功执行验证过程时在PC和DVD驱动器之间命令交换的视图;
图15是表示在产生验证密钥后产生内容密钥的方法的视图;
图16是表示在读取处理期间在PC和DVD驱动器之间命令交换的视图;
图17是表示在写入处理期间在PC和DVD驱动器之间命令交换的视图;
图18是表示在产生验证密钥后产生内容密钥的另一种方法的方框图;
图19是表示第一种验证密钥kx有效性的实例方法的视图;
图20是表示第二种验证密钥kx有效性的实例方法的视图;
图21是表示第三种验证密钥kx有效性的实例方法的视图;
图22是表示第四种验证密钥kx有效性的实例方法的视图;
图23是表示扇区的结构视图。
【具体实施方式】
图1是显示根据本发明一个实施例所述的DVD驱动器100,即信息记录/重放装置的结构的显示。
该DVD驱动器100能够从DVD光盘1(此下文称之为“光盘1”)读取数据和将数据写入DVD光盘1中。
光盘1包括根据CSS规定而保护的DVD-Video光盘(DVD-ROM)、根据CSS规定不受保护的DVD-Video光盘(DVD-ROM/-R/-RW/+R/+RW)、用户制作的磁盘和授权为私人使用的复制磁盘。
光拾取单元2(此下文称之为OP)包括物镜、在双轴方向驱动物镜的设备、激光二极管、光检测器和OP馈送机构。
主轴电动机3为光盘1施加旋转驱动。
写处理器4根据DVD编码的EFM+(八至十四调制法功加)信号控制光盘1上的写入激光功率。
读取处理器5根据从OP2输出的RF(射频)信号产生DVD读取EFM+信号、和FE(聚焦)误差信号、TE(跟踪误差)信号以及引入信号。FE信号、TE信号、以及引入信号用于伺服控制。
OP驱动器6包括每一个都可驱动用于聚焦、跟踪、滑动和加载的各自的电动机的驱动器IC。
主轴电动机驱动器7驱动主轴电动机3。
DVD编码器/解码器8是一种DVD核心LSI(大规模集成)电路,该电路的特征是在单个半导体封装件中包括:DVD信号处理单元9、伺服控制器10、磁盘旋转控制器11、存储器控制器12、读取数据滤波器13、ATAPI I/F(具有分组接口的AT附件)14、CPU I/F15和写入数据滤波器16。
DVD信号处理单元9包括:RS-PC(Reed Solomon乘积码)编码器/解码器、地址检测的ID处理单元、EFM+调制/解调电路以及摇摆检测器。
当执行解码时,数据通过存储器控制器12作为DVD编码器/解码器8的输出以32kb为单位存储在缓冲存储器17中。存储在缓冲存储器17中的数据经过存储控制器12和ATAPI I/F14以2kb为单元传输到PC(个人计算机)18。
当执行编码时,数据作为DVD编码器/解码器8的输入经过ATAPI I/F14和存储器控制器12以2kb为单位从PC18传输到缓冲存储器17中。存储在缓冲存储器17中的数据大小达到32kb,即达到写入到光盘1中数据块的容量时,存储器控制器12就将数据传输到DVD信号处理单元9。
伺服控制器10执行包括聚焦、跟踪和滑动、以及加载控制的伺服控制信号处理。
磁盘旋转控制器11根据从DVD信号处理单元9馈送的信号来控制光盘1的旋转。
存储器控制器12裁定存储器访问。
读取数据滤波器13执行诸如用无效数据代替至少部分从光盘1中读取的内容信息的掩模处理,以便在PC 18中使重放的内容信息无效。
写入数据滤波器16执行诸如用无效数据代替至少部分将被写入光盘1中的内容信息的掩模处理,以便在PC 18中使重放的内容信息无效。
ATAPI I/F14用作与主机,即,PC 18的接口。代替ATAPI,接口可以是SCSI(小型计算机系统接口)、USB(通用串行总线)、或IEEE(电气和电子工程师学会)1394。
CPU I/F15用作DVD编码器/解码器8和CPU 19之间的接口。
CPU 19控制DVD驱动器100。
缓冲存储器17用作DVD信号处理和在PC 18和DVD驱动器100之间进行有效高速数据传输而使用的快速读-写空间。
PC 18用作与DVD驱动器100连接的主机。
将描述DVD驱动器100的操作。
首先,将描述在记录/重放期间的每个伺服操作。
当把光盘1装载到DVD驱动器100中时,主轴电动机3转动光盘1。读处理器5根据OP 2的输出产生FE信号和TE信号。FE信号和TE信号馈送给伺服控制器10,在该伺服控制器10中根据FE信号和TE信号产生聚焦驱动信号(FD信号)、跟踪驱动信号(TD信号)、和滑动驱动信号(SD信号)。OP驱动器6放大所产生的FD信号、TD信号、和SD信号,然后把这些信号反馈给OP 2,由此都能形成每个聚焦、跟踪和滑动的伺服环路。
读取处理器5将OP 2输出的RF信号转换为EFM+调制信号,该调制信号馈送给DVD信号处理单元9。DVD信号处理单元9利用来自EFM+调制信号的PLL(锁相环路)来产生时钟信号,并利用该时钟信号解调EFM+调制信号,以恢复数字数据。
DVD信号处理单元9测量时钟信号的频率,将控制信号馈送给磁盘旋转控制单元11。磁盘旋转控制器11根据来自DVD信号处理单元9的控制信号产生主轴控制信号。主轴电动机驱动器7将该主轴控制信号放大为电动机驱动信号,该驱动信号被馈送给主轴电动机3,以操作主轴伺服。
由于不能够从空白磁盘1中获得EFM+信号,因此DVD-信号处理单元9处理从位于空白磁盘1上的摇摆组中检测的摇摆信号,替代EFM+调制信号,从而将该控制信号提供给磁盘旋转控制单元11,因此能够运行主轴伺服。
下面描述在执行磁盘1重放时的操作过程。
PC 18将READ命令与表示将被读取的数据的位置及其大小容量的磁盘1的LBA(逻辑块地址)一起经过ATAPI I/F 14和CPU I/F15发送给CPU 19。
当判断出可执行该读取命令的指令时,CPU 19就确定具有特定数据长度的数据是否存储在缓冲存储器17中;如果判断结果是肯定的,数据就经过ATAPI I/F14以2kb扇区为单位传输到PC 18;否则,CPU 19就计算PSN(物理扇区编号),即,与LBA对应的在光盘1上将被读取的数据的实际地址。这就允许对把OP 2的物镜移动至光盘1的读取起始位置的过程进行位置控制。
DVD信号处理单元9用下列方式处理从PSN读取的数据。
DVD信号处理单元9在ECC块的单元,即16扇区中,执行DVD解码处理。DVD解码过的16个扇区的数据经过读取数据滤波器13和存储器控制器12存储在缓冲存储器17中。
图2显示读取数据滤波器13是如何工作的。
读取数据滤波器13包括包头检测单元13a和掩模处理单元13b。包头检测单元13a读取在DVD解码器20中经过DVD解码处理的数据的包头,以判断包的类型。掩模处理单元13b执行诸如用无效数据代替在包头检测单元13a中确定的包的具体类型的掩模处理。从读取数据滤波器13输出的包经过存储器控制器12存储在缓冲存储器17中,然后传输到PC18。
图3显示对包进行选择掩模处理的流程图。
包头检测单元13a读取包头(步骤S301)。当根据所读取的包头判断出包类型为视频、声频、和子图像中的任何一个时,即在步骤S302至S304中任一个步骤作出肯定的判断时,就对包进行掩模处理。判断出数据包类型不为上述其中一个时,即包类型是控制信息类型,就把没有经过掩模处理的包传输到缓冲存储器17(步骤S306)。
另一种可选择的方案是,可根据CPR_MAI(版权管理信息)通过查找扇区中被掩模的包的存在来检测包头。此外,MPEG(活动图象专家组)数据作为视频数据存储时,可经过MPEG流分析来确定视频包。
将利用DVD视频数据作为实例来详细描述掩模处理。图4表示一个MPEG视频数据的实例的结构。
DVD视频数据至少包括一个VOB(视频目标),每个VOB至少包括一个信元,每个信元至少包括一个VOBU(视频目标单元)。该VOBU包括几个包,每个包由2kb的扇区数据组成。图23表示一个扇区的结构。
控制信息NV_PCK(导航包)设置在VOBU的头部上。在控制信息NV_PCK后,至少设置下面其中的一个:V_PCK(视频包)、A_PCK(声频包)、和SP_PCK(子图像包)。
V_PCK、A_PCK、和SP_PCK就是将被掩模的包。NV_PCK包含在包上用于控制光盘1重放时所需的地址和时间信息。
如图5所示,V_PCK、A_PCK、和SP_PCK每一个都包含包控制信息,即,包头和分组头,它们后面至少有一个流分组,流分组包括个视频流、声频流和图像流中的任何一个。
将掩模流分组的全部或部分;将至少不掩模诸如包头和分组头等控制信息。
通过掩模视频数据、声频数据、子图像数据等上面的内容信息,并通过保留DVD视频数据中未改变的控制信息,在不会对在PC 18中运行的视频重放应用程序的操作和对PC18自身的操作产生任何麻烦的情况下就能够防止该内容信息未经授权而重放,PC 18能够根据控制信息读取信息内容。
只要对在PC 18中运行的视频重放应用程序的操作和对PC 18自身的操作不会产生任何麻烦,DVD视频数据之中将被掩模的数据就不局限于上述实例。也可掩模部分控制信息。此外,如图6所示,对流分组无需进行全部掩模,而只需部分掩模就足够了。
因此,至少部分被掩模的内容信息被存储在缓冲存储器17中。当由PC 18请求的数据存储在缓冲存储器17中时,该数据就经过ATAPI I/F14从缓冲存储器17传输到PC 18。
因此在PC 18中能够防止未经授权的内容信息的重放。由于内容信息重放所需的控制信息没有被掩模,因此就不会对在PC 18中运行的视频重放应用程序的操作和对PC18自身的操作产生麻烦,PC 18能够根据控制信息重放内容信息。
下面,将描述写入光盘1的操作过程。
PC 18将WRITE命令与表示将被写入的数据的位置和其大小的光盘1的LBA一起经过ATAPI I/F14和CPU I/F 15发送给CPU 19。
CPU 19判断出可执行写入命令的指令时,具有特定长度的将被写入的数据就以2kb扇区为单元从PC 18传输到缓冲存储器17中。
在写入前,CPU 19计算PSN(物理扇区编号),即与LBA相对应的光盘1的实际位置。此外,建立DVD信号处理单元9,使得为了能够实现对将OP2的物镜移动至光盘1的写起始位置的位置控制进行地址检测,而从摇摆信号中读取地址信息。
当写入开始时,把被写入的数据以32kb(一个ECC块=16扇区)为单元从缓冲存储器17经过存储器控制器12和写入数据滤波器16馈送给DVD处理单元9(DVD编码器)。
图7显示写入数据滤波器16是如何工作的。
写入数据滤波器16包括包头检测单元16a和掩模处理单元16b。包头检测单元16a从由PC 18传输的包中读取包头来判断包的类型。掩模处理单元16b执行诸如用无效数据代替由包头检测单元16a确定的具体类型的包的掩模处理。
在与读取数据滤波器13相同的方式中,将被掩模的包的类型为诸如视频数据、声频数据和子图像数据之类的内容信息;把诸如NV_PCK之类的控制信息的包在没有经过掩模处理的情况下传输到DVD编码器21。
因此,能够利用被掩模过的部分内容信息获得将被写入的数据。随后,对利用DVD编码器21编码过的DVD编码数据执行RS-PC编码处理和EFM+调制处理。生成的EFM+调制信号来馈送给根据EFM+信号控制写入激光功率的写入处理器4。因此,可执行将数据写入到光盘1中的处理。由于掩模至少部分内容信息,因此从光盘1读取数据进行重放的尝试就会失败,同时防止了有效内容信息的重放。因此不能复制未经授权的内容信息。
而且,根据本实施例所述的复制保护功能具有以下优点。
由于在没有实现数字水印信息的情况下就能够获得有效的版权保护,因此可排除防止快速写入光盘1和从光盘1进行快速读取的因素,同时加速了操作过程。此外,在不增加成本的情况下,还能够实现复制保护功能的执行一致性。
而且,由于检测包头仅掩模视频数据、声频数据、子图像数据等上的内容信息,因此在该驱动器用于其它类型的数据时不会产生麻烦。
下面,将描述DVD驱动器100的其它改变的情况。
图8显示不同于DVD驱动器100的DVD驱动器101的结构,其不同之处在于读取数据滤波器13和写入数据滤波器16在存储器控制器12和ATAPI I/F 14之间进行连接而不是在存储器控制器12和DVD信号处理单元9之间进行连接。图8中与图1所示DVD驱动器100的相应部件相同的DVD驱动器101的部件具有与图1中驱动器100相同的参考标号。
图9表示DVD驱动器102的结构,它表示一个扇区数据分离/合成单元26设置在与PC18相连接的ATAPI总线上的实例。扇区数据分离/合成单元26从ATAPI总线上提取数据,把该数据或者馈送给读取数据滤波器13或者馈送给写入数据滤波器16,将经过读取数据滤波器13或者写入数据滤波器16处理的数据返回给ATAPI总线。图9中与图1所示DVD驱动器100的相应部件相同的DVD驱动器102的部件具有与图1中驱动器100相同的参考标号。
下面,将描述本发明所述的第二个实施例。
在本实施例中,当DVD驱动器200和PC 30交换内容信息时,在DVD驱动器200和PC 30之间进行验证。根据验证结果,对在DVD驱动器200中的内容信息进行掩模处理的模式,和在DVD驱动器200和PC 30两者之中对内容信息进行加密和解密的模式之间发生切换。
图10表示一种包括DVD驱动器200和PC 30的系统300的结构。图10中与图1中相应部件相同的部件具有与图1所示驱动器100相同的参考标号。
光盘1包括根据CSS规定保护的DVD视频光盘(DVD-ROM)、根据CSS规定不保护的DVD视频光盘(DVD-ROM/-R/-RW/+R/+RW)、用户制作的磁盘和授权为私人使用的复制磁盘。
OP 2包括物镜、在双轴方向驱动物镜的设备、激光二极管、光检测器和OP馈送机构。
主轴电动机3将旋转驱动施加给光盘1。
写处理器4根据DVD编码EFM+信号来控制光盘1上的写入激光功率。
读取处理器5根据从OP 2输出的RF信号产生DVD读取EFM+信号、FE信号、TE信号、和引入信号。FE、TE、和引入信号用于伺服控制。
OP驱动器6包括每一个都驱动用于聚焦、跟踪、和加载的各自电动机的驱动器IC。
主轴电动机驱动器7驱动主轴电动机3。
DVD编码器/解码器8是一种DVD核心LSI电路,该电路的特征在于,在单个半导体封装件中包含:部件DVD信号处理单元9、伺服控制器10、磁盘旋转控制器11、存储器控制器12、读取数据控制器(加密)22、ATAPI I/F 14、CPU I/F 15、写入数据控制器(解密)23、验证/密钥发生器24和证明撤回清单/密钥信息存储单元25。
DVD信号处理单元9包括RS-PC编码器/解码器、地址检测的ID处理单元、EFM+调制/解调电路、和摇摆检测器。
当执行解码时,通过把存储器控制器12作为DVD编码器/解码器8的输出,把数据以32kb为单位存储在缓冲存储器17中。存储在缓冲存储器17中的数据经过存储器控制器12和ATAPI I/F14以2kb为单元传输到PC 18中。
当执行编码时,数据作为DVD编码器/解码器8的输入经过ATAPI I/F14和存储器控制器12以2kb为单位从PC 30传输到缓冲存储器12。存储在缓冲存储器17中的数据大小达到32kb,即达到写入到光盘1中的数据块大小时,存储器控制器12就将数据传输到DVD信号处理单元9。
伺服控制器10执行包括聚焦、跟踪和滑动,以及加载控制的伺服控制信号处理。
磁盘旋转控制器11根据从DVD信号处理单元9馈送的信号控制光盘1的旋转。
存储器控制器12裁定存储器访问。
ATAPI I/F14用作与主机,即PC30的接口。代替ATAPI,该接口可以是SCSI、USB或IEEE1394。
CPU I/F15用作DVD编码器/解码器8和CPU19之间的接口。
CPU 19控制DVD驱动器200。
缓冲存储器17用作DVD信号处理和在PC 30和DVD驱动器200之间进行有效快速数据传输而使用的快速读-写空间。
读取数据控制器(加密)22执行诸如用无效数据代替至少部分内容信息的掩模处理和加密处理,以便在PC 30中使从光盘1中读取的内容信息重放无效。
写入数据控制器(解密)23执行诸如用无效数据代替至少部分将被写入的内容信息的掩模处理和解密处理,以便在PC 30中使写入光盘1中的内容信息重放无效。
PC 30用作与DVD驱动器200连接的主机。
验证/密钥发生器24利用PC 30进行验证,以产生一个用于加密和解密内容信息的内容密钥。
证明撤回清单/密钥信息存储单元25存储验证过程中使用的证明撤回清单和验证过程中获取的各种类型的密钥。
在PC 30中运行的内容信息读取应用系统包括:验证/密钥发生器31、设备ID/密钥信息存储单元32、加密单元33和解密单元34。
验证/密钥发生器31利用DVD驱动器200执行验证,以产生用于加密和解密内容信息的内容密钥。
设备ID/密钥信息存储单元32存储设备Id和获取的各种类型的密钥。
加密单元33至少加密将被写入并传输到DVD驱动器200的部分内容信息。
解密单元34解密从DVD驱动器200传输的加密过的内容信息。
下面将描述在DVD驱动器200和PC 30之间交换内容信息的操作过程。
首先,将描述内容信息从DVD驱动器200传输到PC30时的操作过程。
在PC 30中运行的内容信息读取应用系统在读取存储在光盘1上的内容信息之前利用DVD 200进行验证。验证成功时,PC 30和DVD 200产生内容密钥,该内容密钥是加密和解密内容信息的共用密钥。将详细地描述验证和内容密钥的产生过程。
在验证后,PC 30将READ命令与表示将被读取数据的位置和其大小的光盘1的LBA一起经过ATAPI I/F 14和CPU I/F 15发送给CPU 19。
当判断出可执行该读取命令的指令时,CPU19就判断具有特定数据长度的数据是否存储在缓冲存储器17中;该判断结果是肯定的时,数据就经过ATAPI I/F 14以2kb扇区为单位传输到PC 18;否则,CPU 19就计算PSN(物理扇区编号),即,对应于LBA在光盘1上将被读取的数据的实际地址。这就允许进行将OP 2的物镜移动至光盘1的读取起始位置的位置控制。
此后,DVD信号处理单元9用下面的方式处理从光盘1的指定的PSN中读取的数据。
DVD信号处理单元9在ECC块,即16扇区的单元中执行DVD解码处理。DVD解码过的16个扇区的数据经过存储器控制器12存储在缓冲存储器17中。
当由PC 30请求的数据存储在缓冲存储器17中时,该数据就经过读取数据控制器(加密)22、ATAPI I/F 14和外部连接总线40以2kb扇区为单位从缓冲存储器17传输到PC 30。
将详细地描述读取数据控制器(加密)22。如图11所示,读取数据控制器(加密)22包括包头检测单元22a、掩模处理单元22b和加密单元22c。包头检测单元22a通过检测包的包头来判断出读取包的类型。掩模处理单元22b执行诸如用无效数据代替经过包头检测单元22a确定的具体类型的包的掩模处理。加密单元22c加密经过包头检测单元22a确定的具体类型的包。
当验证成功并获取密钥时,读取数据控制器(加密)22利用内容密钥使加密单元22c加密经过包头检测单元22a检测的具体类型的包。具体类型的包可以是视频数据、声频数据或子图像数据上的内容信息的包。另一种可选择的方案是,验证成功时,在没有检测包头的情况下加密所有将被传输的数据。
当验证失败时,读取数据控制器(加密)22就使掩模处理单元22b对经过包头检测单元22a确定的具体类型的包执行掩模处理。上面描述过掩模处理过程。
因此,加密过或掩模处理过的内容信息经过ATAPI I/F 14和外部连接总线40传输到PC 30。
当把加密过的内容信息提供给在PC 30上运行的内容信息读取应用系统时,该内容信息读取应用系统就使解密单元34利用所获取的内容密钥解密加密过的内容信息。
把解密过的内容信息提供到在重放内容信息的PC 30上运行的内容重放应用系统中(未图示)。
如上所述,在DVD驱动器200中加密该内容信息,经过加密的内容信息从DVD驱动器200传输到对加密过的内容信息进行解密的PC 30。
下面,将描述内容信息从PC 30传输到DVD驱动器200的操作过程。
PC 30将写入命令与表示将被写入数据的位置和其大小的光盘1的LBA一起经过ATAPI I/F 14和CPU I/F 15发送给CPU 19。
CPU 19判断出可执行写入命令的指令时,具有特定长度的、将被写入的数据就以2kb扇区为单位从PC 30传输到缓冲存储器17中。
在PC 30上运行的内容信息读取应用系统使加密单元33通过利用DVD驱动器200进行验证而获取的内容密钥来加密将被写入的数据。当将被写入的数据是符合DVD视频标准技术规范或DVD视频记录标准技术规范的包时,加密单元33就根据包的包头对包括诸如视频数据、声频数据和子图像数据之类的内容信息的包进行判断,以便至少加密部分包。把加密过的内容信息经过外部连接总线40传输到DVD驱动器200。
在DVD驱动器200中,经过外部连接总线40从PC 30提供的内容信息通过ATAPII/F14馈送给对加密过的内容信息进行解密的写入数据控制器(解密)23。把已解密的内容信息经过存储器控制器12存储在缓冲存储器17中。
将详细地描述写入数据控制器(解密)23。如图12所示,写入数据控制器(解密)23包括包头检测单元23a、掩模处理单元23b和解密单元23c。包头检测单元23a通过检测包的包头来判断写入包的类型。掩模处理单元23b执行诸如用无效数据代替经过包头检测单元23a确定的具体类型的包的掩模处理。解密单元23c解密由包头检测单元23a确定的具体类型的包。
当验证减功和获取密钥时,写入数据控制器(解密)23利用内容密钥使解密单元23c解密经过包头检测单元23a检测的具体类型的包,即,加密过的内容信息。
当验证失败时,写入数据控制器(解密)23就使掩模处理单元23b对经过包头检测单元23a确定的具体类型的包执行掩模处理。上面已描述过掩模处理过程。
开始写入磁盘1时,写入数据就以32kb(一个ECC块=16扇区)为单位经过存储器控制器12馈送给DVD信号处理单元9(DVD编码器)。
DVD信号处理单元9(DVD编码器)将RS-PC编码处理和EFM+调制处理等施加给DVD编码的写入数据,把生成的EFM+信号提供给写入处理器4。写入处理器4根据EFM+信号控制OP 2的激光功率。因此执行写入磁盘1的处理。
因此,验证成功时,内容信息就存储在盘1中;否则,就存储具有掩模过内容信息的数据。由此,能够防止根据版权规定受保护的内容信息未经授权而复制到介质中。此外,由于通过外部连接总线40传输的内容信息被功加密,因此即使利用总线跟踪等捕获内容信息,该信息也不能作为有效内容进行重放。
参考图13和14描述在PC 30和DVD驱动器200两者之中的验证和密钥产生过程。
PC 30的验证/密钥发生器31(此下文称之为“PC端”)将随机号Bn和包括设备ID和密钥矢量Bv和验证Bcert的数字签名Bsign的Bcert传输到验证/密钥发生器24(此下文称之为“驱动器端”)。可通过在“SCSI多媒体命令-3(MMC3)”技术规范中定义的“发送密钥”命令来触发传输,该技术规范是DVD驱动器的标准命令技术规范。
接收数据的驱动器端利用数字签名Bsign来验证Bcert。当证实Bcert有效时,就从Bcert获得设备ID,以证实设备ID是否在存储于证明撤回清单/密钥信息存储单元25中的证明撤回清单(此下文称之为CRL)中注册。如果设备ID没有注册在CRL中,发送密钥Y命令就在,例如完好状态(OK)时退出。另一方面,当没有验证Bcert,或如果设备ID注册在CRL中时,发送密钥命令就在,例如检查条件状态(NG)时退出。
接着,驱动器端将随机数An和密钥矢量Av传输到PC端。就通过发送在MMC3技术规范等中定义的REPORT_KEY命令,请求把数据传输到驱动器端而实现该操作。
当上述验证成功时(例如,发送密钥命令在完好状态时退出),驱动器端就用GOOD状态终止REPORT_KEY命令;否则,驱动器端就在CHECK_CONDITION状态时终止REPORT_KEY命令。
当成功执行REPORT_KEY时,PC端就根据从驱动器端接收到的[An,Av]和存储在PC端中的[Bn,Bv]来产生验证密钥K’v。通过将预定的离散函数施加给所产生的验证密钥K’v获得值R,并利用例如SEND_KEY命令将其传输到驱动器端。
驱动器端根据存储在驱动器中的[An,Av,Bn,Bv]来产生验证密钥Kv。通过将预定的离散函数施加给所产生的验证密钥Kv获得值R’。将由驱动器端计算的值R’和从PC端接收到的值R进行比较。例如,当这些值匹配时,驱动器端就在GOOD状态终止SEND_KEY命令,让PC端知道验证完成;例如,当这些值不匹配时,驱动器端就在CHECK_CONDITION状态终止SEND_KEY命令。图14表示在上述验证过程成功时PC端和驱动器端是如何交换命令的视图。
例如,SEND_KEY命令在上述过程中用GOOD状态退出,这就意味着验证PC端和驱动器端具有相同的[An,Av,Bn,Bv]。在两端用各自的预定方式计算验证密钥Kauth。
参考图15,描述一种在产生验证密钥Kauth之后是如何产生内容密钥的实例。
产生验证密钥后,产生内容密钥所需的密钥Kx就从驱动器端传输到PC端。该密钥Kx用验证密钥Kauth加密成传输到PC端的密钥Ksx。密钥Kx可以是存储在驱动器端中的固定值、利用随机数在驱动器端产生的值,以便密钥Kx当任何时候所需时采用不同值、或者是使用与存储在驱动器1中的具体位置有关的数据的值。
一种PC端用于请求驱动器端密钥Kx的方法可以是一种使用REPORT_KEY命令的方法。当密钥Kx存储在光盘1中时,该方法可以是使用在MMC3技术规范中规定的READ_DVD_STRUCTURE命令的方法。
在驱动器端和PC端具有相同的密钥Kx后,根据预定的初始值和依据在驱动器端和PC端两端的密钥Kx和Kauth计算出的值来产生内容密钥Kc。利用在驱动器端和PC端两端的内容密钥Kc加密和解密内容信息。
图16表示在读取过程中PC端和驱动器端是如何交换命令的。PC端利用REPORT_KEY命令请求驱动器端的密钥Kx。响应于该请求,驱动器端在GOOD状态时将利用验证密钥Kauth加密密钥Kx获得的Ksx返回给PC端。PC端将READ命令发送给驱动器端,驱动器端将加密过的内容信息作为回报馈送给PC端。
图17表示在写入过程中PC端和驱动器端是如何交换命令的。PC端利用REPORT_KEY命令请求驱动器端的密钥Kx。响应于该请求,驱动器端在GOOD状态时利用验证密钥Kauth加密密钥Kx来获得的Ksx返回给PC端,即将WRITE命令作为回报发送给驱动器端,以向驱动器端传输加密过的内容信息。
根据现有的CSS协议,假设DVD驱动器没有在CSS验证完成前才根据CSS规定的保护将数据从光盘传输到PC。但是,通过操作DVD驱动器和运行DVD重放应用程序至少执行一次CSS验证后,停止DVD重放应用程序能够使根据CSS规定而保护的存储在DVD磁盘上的数据复制到,如硬盘的存储介质中。此外,通过使用解密CSS加密码的程序可使内容信息的版权保护趋于失败。
另一方面,根据在本实施例的DVD驱动器和PC之间的加密内容信息交换的机制,即使试图将内容信息从DVD驱动器200复制到如硬盘的PC30的另一个介质上,由于没有在PC 30和DVD 200之间进行验证而不能获得用于解密加密过的内容信息的内容密钥,因此也能够更安全地保护内容信息的版权。
此外,根据在本实施例的DVD驱动器和PC之间的加密内容信息交换的机制,在产生验证密钥后,把用于产生内容密钥所需的密钥Kx从驱动器端传输到PC端。使用密钥Kx采用在任何验证发生时候的不同值,如根据在驱动器端准备的随机数产生的值或者使用存储在盘1中有关具体位置的数据的值,能够有效地防止由于内容密钥数据的泄漏而破坏内容信息数据。
如图18所示,在使用有关存储在光盘1中具体位置的数据的值用作产生内容密钥所需的密钥Kx时,通过与存储在光盘1中的相应的PSN相联系而获得该密钥Kx的值,以便能验证密钥Kx的有效性。当有效性被证实时,就传输密钥Kx;否则,就传输例如零的适当值。
下面描述验证密钥Kx有效性的方法实例。
图19表示一种把扇区的物理地址PSN的离散值分配给存储在扇区预定位置上的密钥Kx的值的方法。图20表示一种把密钥Kx存储在扇区预定位置上和该扇区所有数据Dk的离散信号值分配给扇区物理地址PSN的方法。图21表示一种把扇区物理地址的PSN离散值分配给存储在扇区CPR_MAI中密钥Kx的值的方法。图22表示一种把密钥Kx存储在扇区CPR_MAI中和该扇区所有数据Dk的离散值和密钥Kx与扇区物理地址PSN相连接的方法。在上述方法中,在存储密钥Kx的光盘1的导入区的预定区域内,无论PC何时执行验证处理,都可随机分发物理地址PSN。