专利名称:信息处理装置、信息处理方法和计算机程序的制作方法
技术领域:
本发明涉及信息处理装置、信息处理方法和计算机程序。更具体地,本发明涉及具有阻止对内容的未授权使用的配置的信息处理装置,与其一同使用的信息处理方法和与其一同使用的计算机程序。
背景技术:
近年来,能够存储大量数据的信息记录媒体,例如DVD或蓝激光盘(Blu-ray盘),变得很受欢迎。例如,记录在比如盘的记录媒体上或从其上进行再生的诸如高精度图像数据或高质量音频数据的数字内容已经开始通用。
按照数字记录装置和记录媒体,图像和音频可以被重复记录和再生而不降低其质量。因此,经由因特网分发非法复制的内容,以及分发使用如CD-R和DVD的记录媒体制造的记录有内容的盗版盘,成为了大问题。
为了执行从信息记录媒体上再生内容和记录内容到信息记录媒体上的处理,存在两种类型的处理一种类型的处理使用集成有用于驱动信息记录媒体(盘)的驱动器和再生/记录处理功能的装置,另一种类型的处理将驱动器和作为执行再生处理程序或记录处理程序的主机的信息处理装置(比如PC),通过总线等互相连接在一起,这种类型的处理包括在驱动器和主机之间的数据传输。
例如,当数据将要在驱动器和主机之间传输时,存在的问题是有可能发生内容、密钥信息和其他秘密信息的泄漏,结果内容的未授权使用和泄漏的可能性升高。通常,比如音乐数据和图像数据等的大部分内容的销售权等由其创造者或其销售者持有。因此,当分发这些条内容时,一般惯例是强加以固定使用限制,也就是,内容的使用被允许给授权用户以使得没有许可等的复制不会被执行。
在大容量记录媒体(比如DVD和蓝光盘)中存储视频信息和音乐信息作为数字数据是有可能的。当这种数字数据记录媒体将要在市场上分发时,用于阻止未授权复制和用于保护版权所有者的配置是不可缺少的。近些年来,为了阻止这种对数字数据的未授权复制,已经实施了各种各样的技术用于阻止对数字记录装置和记录媒体的非法复制。
例如,内容加扰系统(CSS)和用于可记录媒体的内容保护(CPRM)等已被知道。在CPRM的配置中,即使加密密钥被泄露了,用于选择性地废除密钥的处理也是可能的,因此具有很强的版权保护功能。
在CPRM中,用于从信息记录媒体中再生加密的内容或记录加密的内容到信息记录媒体上的装置获取记录在记录媒体上的加密密钥块(例如,媒体密钥块(MKB)和更新密钥块(RKB)),通过使用存储在该装置中的设备密钥解密加密的密钥块来获取媒体密钥,通过执行基于在获取的媒体密钥和可以从记录媒体中读取的特定于记录媒体的媒体ID的加密处理以及包括根据CPRM定义的顺序的加密处理在内的多个数据处理来获取用于解密或加密内容的密钥,以及通过使用获取的密钥执行内容解密和再生处理或内容加密和记录处理。
通常,媒体ID被设置为只有特定许可媒体制造商能够记录的数据并且被作为只能由依照CPRM处理的数据记录/再生程序读取的数据记录在媒体上。更具体地,媒体ID被记录在突发切断区域(burstcutting area)(BCA)中,该区域通过不同于正常数据记录方法的方法被设置在信息记录媒体的内周区域。
作为加密密钥的MKB和RKB是由比如密钥管理中心的特定管理中心管理的加密密钥块数据,被提供给特定许可的媒体制造商,并适当地更新。当更新MKB和RKB时,更新被执行以形成密钥块,在该密钥块中分配给被确定为未授权的设备(再生设备、PC)的各自的设备密钥被选择性地废除,并且使用废除的设备密钥来获取媒体密钥是不可能的。通过这种配置,有可能消除在未授权设备中的内容使用。
当内容要在CPRM的基础上被再生或记录时,信息处理装置根据CPRM以上面描述的方式定义的给定处理顺序执行处理。在CPRM中,内容复制许可类型根据复制控制信息(CCI)来确定,而用于再生和记录内容的信息处理装置被调节以根据CCI来执行处理。以下设置可用于CCI在“不再复制”,其中复制不被允许;“复制一次”,其中至允许一次复制,“自由复制”,其中复制被允许等。根据CPRM再生、复制和记录内容的装置按照CPRM执行再生或记录程序,并作为包含在该程序中的处理执行比如对CCI的读取、更新等的处理。
然而,即使在使用上述CPRM方法时,也存在对内容的未授权使用的可能性不能被消除的情况。例如,在下面描述的情景中还没有接收到有效许可的设备中,存在遵循CPRM的内容记录媒体可以由用户创建的可能性。
a)用于在媒体上记录加密的内容的授权CPRM记录软件(也就是遵循CPRM的程序)被分析,并且CPRM处理顺序被理解。关于内容加密的所有秘密由CPRM记录软件处理,结果是,如果分析了,那么软件的整个组织将会公开。
b)通过使用分析的CPRM记录软件,秘密记录在许多CPRM记录盘的媒体密钥块(MKB)中的媒体密钥可以被提取。此外,记录在BCA上的媒体ID被读取,并且媒体ID和从MKB获取的媒体密钥之间的对应关系被形成数据库。这种分析可以被执行,直到具有CPRM记录软件的设备的设备密钥被废除。
c)通过使用分析的授权的CPRM记录软件,CPRM记录软件可以在没有接收到许可的情况下由用户创建。该用户创建的软件允许读取记录在CPRM记录盘(遵循CPRM的数据可写盘)的BCA中的媒体ID,允许将读取的媒体ID发送给用于将媒体ID和媒体密钥之间的对应关系保存为数据库的管理服务器,并允许从服务器发送对应于媒体ID的媒体密钥。
d)通过使用用户创建的CPRM记录软件,通过使用从服务器获取的媒体密钥,以及通过使用合法获得的用于遵循CPRM媒体的媒体密钥,加密内容根据遵循CPRM的数据加密和记录顺序被创建,并被记录在媒体上。
这样处理的结果是,通过使用从服务器获取的媒体密钥,有可能记录加密内容到比如遵循CPRM的DVD的媒体上而不需要执行根据授权CPRM顺序的处理,也就是,使用设备密钥的MKB处理。结果,对于加密和记录的内容,可以保持与在有效许可下制造的产品的兼容性。
结果,通过分发还没有接收到有效许可的用户创建的CPRM记录软件,有可能没有服从应该被服从的规则,例如,复制控制信息(CCI)被非法重写,只允许被复制一次(复制一次)的内容被非法改变为自由复制内容,这种内容被记录在媒体上和非法内容记录媒体上。问题还有可能发生,因为合法记录的加密内容被读取并转换为无格式(plain)文本,并被用户创建的软件复制。
发明内容
发明要解决的问题本发明在考虑到上述问题的情况下作出。本发明的一个目的是提供一种用于实现消除对版权内容的未授权使用的信息处理装置,与其一同使用的信息处理方法和与其一同使用的计算机程序。更具体地,本发明的一个目的是提供一种用于例如防止记录成与媒体(信息记录媒体)(比如DVD)相应的媒体ID的外部泄漏的配置,提供一种具有用于防止使用未授权CPRM软件程序非法获取媒体ID的配置的信息处理装置,一种与其一同使用的信息处理方法和与其一同使用的计算机程序。
解决问题的手段本发明的第一方面涉及一种信息处理装置,包括记录媒体接口,用于对将被写在信息记录媒体上的数据或将从信息记录媒体上读出的数据执行输入和输出;
数据传输接口,用于执行传输数据从/向外部设备的输入/输出;存储器部分,用于确认信息记录媒体的有效性的验证数据被存储在其中;以及数据处理器,用于读取作为相应于信息记录媒体的媒体识别符的信息的记录在该信息记录媒体上的代码,通过将该代码与验证数据进行验证来确认信息记录媒体的有效性,以及在有效性被确认的情况下,加密并外部输出该媒体识别符。
在本发明的信息处理装置的一个实施例中,该数据处理器对经由数据传输接口输入和输出数据的外部设备执行认证处理,并在认证处理的结果是肯定的情况下输出该媒体识别符到该外部设备。
在本发明的信息处理装置的一个实施例中,数据处理器使用在认证处理中产生的会话密钥来加密该媒体识别符并输出作为在会话密钥的基础上加密的数据的该媒体识别符到该外部设备。
在本发明的信息处理装置的一个实施例中,存储部分存储代码信息,该代码信息以这样一种方式设置,即相应于在许可下合法制造的信息记录媒体的识别符,并且该数据处理器读取作为相应于信息记录媒体的媒体识别符的信息的记录在该信息记录媒体上的代码,通过将该代码与作为验证数据存储的代码进行验证来确认该信息记录媒体的有效性,以及在有效性被确认的情况下加密并外部输出该媒体识别符。
在本发明的信息处理装置的一个实施例中,数据处理器读取作为相应于记录在该信息记录媒体的BCA(突发切断区域)中的媒体识别符的信息的代码,并将该代码与验证数据进行验证。
在本发明的信息处理装置的一个实施例中,数据处理器经由数据传输接口从外部设备输入在使用媒体识别符产生的加密密钥的基础上加密的数据,并将输入数据写到信息记录媒体上。
在本发明的信息处理装置的一个实施例中,数据处理器从信息记录媒体读取在使用媒体识别符产生的加密密钥的基础上加密的数据,并经由数据传输接口输出读取的数据到外部设备。
本发明的第二方面涉及一种信息处理方法,包括
代码读取步骤,其读取作为相应于信息记录媒体的媒体识别符的记录在该信息记录媒体上的代码的信息;有效性确认步骤,其通过将该代码与存储在存储器部分中的验证数据进行验证来确认该信息记录媒体的有效性;以及媒体识别符输出步骤,其在该信息记录媒体的有效性已经在有效性确认步骤中被确认的情况下加密并外部输出该媒体识别符。
在本发明的信息处理方法的一个实施例中,该信息处理方法进一步包括认证执行步骤,其对经由数据传输接口输入和输出数据的外部设备执行认证处理,其中在该认证处理的结果是肯定的情况下执行输出媒体识别符到外部设备的处理。
在本发明的信息处理方法的一个实施例中,媒体识别符输出步骤是通过使用在认证处理中产生的会话密钥对该媒体识别符进行加密并输出作为在该会话密钥的基础上加密的数据的媒体识别符到外部设备的步骤。
在本发明的信息处理方法的一个实施例中,有效性确认步骤是读取作为对应于信息记录媒体的媒体识别符的信息的记录在该信息记录媒体上的代码并通过将该代码与设置成对应于在存储在存储器部分中的许可下合法制造的信息记录媒体的识别符的代码进行验证而确认信息记录媒体的有效性的步骤。
在本发明的信息处理方法的一个实施例中,代码读取步骤是读取作为对应于记录在该信息记录媒体的BCA(突发切断区域)中的媒体识别符的信息的代码的步骤。
在本发明的信息处理方法的一个实施例中,该信息处理方法进一步包括从外部设备经由数据传输接口输入在使用媒体识别符产生的加密密钥的基础上加密的数据的步骤;以及将该输入数据写到该信息记录媒体上的步骤。
在本发明的信息处理方法的一个实施例中,该信息处理方法进一步包括从信息记录媒体读取在使用媒体识别符产生的加密密钥的基础上加密的数据的步骤;以及经由该数据传输接口输出该读取的数据到外部设备的步骤。
本发明的第三方面涉及一种计算机程序,其对信息记录媒体执行访问控制,该计算机程序包括代码读取步骤,读取记录在信息记录媒体上作为对应于该信息记录媒体的媒体识别符的代码的信息;有效性确认步骤,通过将该代码与存储在存储部分中的验证数据进行验证来确认该信息记录媒体的有效性;以及媒体识别符输出步骤,其在该信息记录媒体的有效性已经在有效性确认步骤中得到确认的情况下加密并外部输出该媒体识别符。
根据本发明的计算机程序例如是可以由记录媒体和通信媒体提供的计算机程序,所述记录媒体和通信媒体用于提供计算机可读格式的各种程序代码给能够执行它们的计算机系统,所述记录媒体和通信媒体例如是比如CD、FD、和MO的记录媒体,或者是比如网络的通信媒体。由于这种程序以计算机可读格式提供,所以相应于该程序的处理在计算机系统中被实现。
本发明进一步其它的目的特征和优点将从基于下面将描述的本发明的实施例的详细描述和附图中变得明显。在本说明书中,系统指多个设备的逻辑装配。这些设备不必被安置在同一个壳体中。
(优点)根据本发明的配置,在包括两个不同设备(比如驱动器和主机)间的数据传输的内容再生或记录处理中,有可能防止用于在内容被记录或再生时执行的内容加密或记录处理的媒体ID(盘ID)的外部泄漏。
根据本发明的配置,驱动器从媒体中读取媒体ID(盘ID)。在驱动器侧验证该媒体ID是否被记录成对应于为有效媒体所设置的头部代码。此外,当通过该验证确认了该媒体是有效媒体时,由于该媒体ID在驱动器侧被加密并被输出到主机,因此可以减小该媒体ID的外部泄漏的可能性。此外,由于内容再生或记录处理在该媒体被确认为是有效媒体的情况下被允许,所以可以防止使用无效媒体的内容再生或记录处理。
图1图示了遵循CPRM的内容记录/再生处理的顺序;图2图示了遵循CPRM的内容记录/再生处理的顺序;图3是图示遵循CPRM的内容记录/再生处理中基于MAC验证的处理控制顺序;图4图示了BCA区域的数据结构;图5图示了记录在BCA区域中的媒体ID(盘ID)的数据格式;图6图示了根据本发明的包括主机和驱动器之间的内容传输的内容记录/再生处理;图7图示了在主机和驱动器之间的相互认证和密钥交换顺序;图8图示了公共密钥证书的数据结构;图9是图示用于传输和验证记录在BCA区域中的媒体ID(盘ID)的处理顺序的流程图;图10是图示用于传输和验证除了记录在BCA区域中的媒体ID(盘ID)之外的可输出数据的处理顺序的流程图;图11是图示在包括主机和驱动器之间的内容传输的内容记录/再生处理中在驱动器侧的处理顺序的流程图;图12是图示在包括主机和驱动器之间的内容传输的内容记录/再生处理中在驱动器侧的处理顺序的流程图;图13是图示在包括主机和驱动器之间的内容传输的内容记录/再生处理中在驱动器侧的处理顺序的流程图;图14是图示在包括主机和驱动器之间的内容传输的内容记录/再生处理中在驱动器侧的处理顺序的流程图;图15显示了根据本发明的作为主机的信息处理装置的配置的例子;图16显示了根据本发明的作为驱动器的信息处理装置的配置的例子。
具体实施例方式
通过参照附图,下面将给出根据本发明的信息处理装置、信息处理方法和计算机程序的描述。该描述依照下列项目被给出。
1.依照CPRM定义的处理的概要2.根据本发明的用于包括驱动器和主机之间的内容传输的处理的配置3.信息处理装置的配置[1.依照CPRM定义的处理的概要]为了便于理解本发明,参考图1,被已知为支持例如DVD的媒体(信息记录媒体)的版权保护技术的用于可记录媒体的内容保护(CPRM)的架构将被描述。
用于从/向媒体(信息记录媒体)再生/记录内容的处理有两种类型一种类型的处理使用记录/再生装置,该记录/再生装置中集成了用于驱动信息记录媒体(盘)的驱动器和再生/记录过程功能;在第二种类型的处理中,经由总线互相连接驱动器和作为用于执行再生或记录处理程序的主机的例如PC的信息处理装置,第二种类型的处理包括驱动器和主机之间的数据传输。参考图1,第一种类型的处理中的数据记录/再生处理将被描述。参考图2,第二种类型的处理中的数据记录/再生处理将被描述。
在图1中,在中央显示了可记录媒体(信息记录媒体)10,比如遵循CPRM的DVD/RW或DVD/RAM。在左侧显示了遵循CPRM的记录器20,在右侧显示了遵循CRPM的播放器30。记录器20和播放器30是设备或应用软件。
在未记录的盘状态下,媒体ID11被记录在媒体10的最内周区域中的导入(1ead-in)区域的被叫作突发切断(cutting)区域(BCA)或窄(narrow)突发切断区域(NBCA)的区域中。在该导入区域的浮凸(embossed)或预记录数据区域中,媒体密钥块(此后被适当的缩写为“MKB”)12被预记录。媒体ID11是对于各个媒体单位(例如对于每张盘)不同的数,由媒体制造商代码和序号组成。该媒体ID11是在媒体密钥被转换成对于每个媒体都不同的媒体唯一密钥时需要的。该媒体密钥块MKB是用于实现媒体密钥的提取和设备的废除的加密密钥块数据。该媒体ID是特定于每个媒体(记录媒体)的信息。
在媒体10上,在数据可写或可记录数据区域中,使用内容密钥加密的加密内容13被记录。例如,C2(Cryptomeria Cipher)被用于该加密方法。
在媒体10上,加密标题密钥14和CCI(复制控制信息)15被记录。该加密标题密钥14是加密的标题密钥信息,并且该标题密钥信息是附属于每个标题的密钥信息。CCI是复制控制信息,比如不再复制、复制一次、或自由复制。
记录器20包括设备密钥21、处理MKB 22、C2_G 23、随机数产生器24、C2_E 25、C2_G 26、和C2_ECBC 27。该播放器30包括设备密钥31、处理MKB 32、C2_G 33、C2_D 35、C2_G 36、和C2_DCBC 37。
设备密钥21和31是对于每个装置制造商或每个应用软件卖家都不同的私钥,并由密钥管理中心发布。每个设备密钥具有特定于电子设备或应用软件的信息,该信息由许可管理者仅提供给该电子设备或该应用软件。由于从媒体10再生的MKB 12和设备密钥21在处理MKB 22中被计算,有可能确定是否作出了废除。类似于记录器20,在播放器30中,MKB 12和设备密钥31也是在处理MKB 32中被计算,并且有可能确定是否作出了废除。
此外,在处理MKB 22和32中,媒体密钥在MKB 12和设备密钥21和31的基础上分别被计算。当设备密钥是有效设备密钥时,也就是,当设备密钥没有被废除时,对于MKB 12来说有可能通过使用该有效设备密钥进行解密而获得该媒体密钥。
因此,当记录器20的设备密钥21已经被废除时,在处理MKB 22中,媒体密钥不能从MKB 12和设备密钥21中计算出来。同样,当播放器30的设备密钥31已经被废除时,在处理MKB 32中,媒体密钥不能从MKB 12和设备密钥31中计算得出。只有当记录器20和播放器30具有有效的设备密钥时,才有可能从MKB 12中获得媒体密钥。
C2_G 23和C2_G 33的每一个是用于计算媒体密钥和媒体ID及提取媒体唯一密钥的处理。
随机数产生器(RNG)24被用来产生标题密钥。来自随机数产生器24的标题密钥被输入到C2_E 25,并且该标题密钥被使用该媒体唯一密钥加密。加密的标题密钥14被记录在媒体10上。
在播放器30中,从媒体10再生的加密标题密钥14和媒体唯一密钥被提供给C2_D 35,加密标题密钥在C2_D 35中被使用媒体唯一密钥解密,并获得了标题密钥。
在记录器20中,CCI和标题密钥被提供给C2_G 26,内容密钥在C2_G 26中被提取。该内容密钥被提供给C2_ECBC 27,并且使用该内容密钥作为密钥而加密内容。该加密的内容13被记录在媒体10上。
在播放器30中,CCI和标题密钥被提供给C2_G 36,并且内容密钥被提取。该内容密钥被提供给C2_ECBC 37,从媒体10中再生的加密内容13在C2_ECBC 37通过使用内容密钥作为密钥而解密。
图1的配置中由记录器20记录内容的过程将被描述。记录器20从媒体10读取MKB 12,并使用处理MKB 22计算设备密钥21和MKB 12以计算媒体密钥。当获取媒体密钥失败(计算结果显示预设数值)时,那么确定设备密钥21(记录器20或应用的设备)已经被MKB废除,并且记录器20停止接下来的处理并禁止在媒体10上进行记录。当媒体密钥被获得时(除了预设数值之外),记录器20继续进行处理。
接下来,记录器20从媒体10读取媒体ID 11,将媒体密钥和该媒体ID一同输入到C2_G 23,并且对每个媒体不同的媒体唯一密钥被计算。由随机数产生器24产生的标题密钥被C2_E 25加密并作为加密标题密钥14记录在媒体10上。此外,该标题密钥和内容的CCI信息被C2_G 26计算,且内容密钥被提取。该内容被C2_ECBC 27使用内容密钥加密,并作为加密内容13与CCI 15一同记录在媒体10上。
接下来,将描述播放器30的再生过程。最初,MKB 12被从媒体10中读取,并且设备密钥31和MKB 12被计算以确认废除是否已经被作出。当设备密钥31(也就是,播放器30的设备或应用)没有被废除时,媒体唯一密钥被使用媒体ID计算,并且标题密钥被从读取的加密标题密钥14和媒体唯一密钥中计算。该标题密钥和CCI 15被输入到C2_G 36,并且内容密钥被提取。该内容密钥被输入到C2_DCBC 37,并且C2_DCBC 37的计算对使用内容密钥作为密钥而从媒体10中再生的加密内容13执行。结果加密内容13被解密。
如上所述,为了获得解密内容所需的内容密钥,对于每个媒体都不同的媒体ID变得必要。因此,例如,即使媒体上的加密内容被如实地复制到另一个媒体,但是由于其它媒体的媒体ID不同于该原始媒体的ID,所以复制的内容不能被解密,因此,内容的版权可以被保护。
上面描述的图1的配置显示了在被配置为记录/再生设备的情况下从媒体(信息记录媒体)再生内容和记录内容到其上的处理。接下来,将给出在第二种类型的处理中数据记录/再生处理的描述,在第二种类型的处理中,驱动器和作为用于执行再生或记录程序的主机的诸如PC的信息处理装置被经由总线互相连接,该第二种类型的处理包括该驱动器和该主机之间的数据传输。
在图2中,作为数据处理装置的主机50被显示为例如PC。主机50是能够处理可以被记录在媒体10上和从媒体10再生的内容并被连接到驱动器40以使得可以交换数据的装置或应用软件。通过将应用软件安装到例如PC上的结果,主机50被配置。
驱动器40和主机50经由接口60被互相连接。接口60的例子包括ATAPI(AT连接包接口)、SCSI(小型计算机系统接口)、USB(通用串行总线)和IEEE(电气和电子工程师协会)1394。
在媒体10上,媒体ID 11、媒体密钥块12和ACC(认证控制代码)被提前记录。ACC是提前记录在媒体10上的数据,因此驱动器40和主机50之间的认证对每个媒体10不同。
驱动器40从媒体10读取ACC 16。从媒体10读取的ACC 16被输入到驱动器40的AKE(认证和密钥交换)41并被传输到主机50。主机50输入接收的ACC到AKE 51。AKE 41和51交换随机数数据并产生公共会话密钥(被叫作总线密钥),该公共会话密钥在每次认证操作在交换的随机数和ACC的数值的基础上被执行时都为不同的数值。
该总线密钥被提供给MAC(消息认证代码)计算块42和52。该MAC计算块42和52是分别使用在AKE 41和51中获取的总线密钥作为参数计算媒体ID和媒体密钥块12的MAC的处理。这些处理被用于主机50确认MKB和媒体ID的完整性。
MAC 42和52计算的MAC被主机50的比较器53互相比较,并且确定这两个数值是否互相匹配。当MAC的这些数值互相匹配时,MKB和媒体ID的完整性被确认。开关SW1由比较输出所控制。
现在将参考图3中的流程图给出在MAC验证基础上的切换控制处理的描述。步骤S11是主机50的比较器53的处理并且是将使用总线密钥作为参数在驱动器40的MAC计算块42中确定的MAC计算数值与使用总线密钥作为参数在主机50中的MAC计算块53中确定的MAC计算数值进行比较的步骤。当它们互相匹配时,就确定MKB和媒体ID的完整性被确认。然后,处理进行到步骤S12,开关SW1在该步骤被接通。当它们互相不匹配时,就确定MKB和媒体ID的完整性没有被确认。然后处理进行到S13,开关SW1在该步骤被关断,并且处理被停止。
开关SW1被显示以连接/断开驱动器40的媒体10与主机50的加密/解密模块54之间的记录或再生路径的信号路径。尽管开关SW1被显示来连接/断开该信号路径,更具体地,还显示了在ON的情况下,主机50的处理继续,而在OFF的情况下,主机50的处理被停止。加密/解密模块54是用于在媒体唯一密钥、加密标题密钥和CCI的基础上计算内容密钥,使用该内容密钥作为密钥将该内容加密为加密内容13,以及使用该内容密钥作为密钥将加密内容13解密的计算块。
媒体唯一密钥计算块55是用于在MKB 12、媒体ID和设备密钥56的基础上计算媒体唯一密钥的计算块。也就是,类似于显示在图1中的记录器或播放器,媒体密钥在设备密钥和MKB 12的基础上被计算,而媒体唯一密钥在媒体密钥和媒体ID 11的基础上被计算。当该媒体密钥变为预定数值时,就确定该电子设备或该应用软件没有被授权并被废除。因此,该媒体唯一密钥计算块55还具有作为执行废除的废除处理器的功能。
在记录过程中,当完整性被比较器53确认时,开关SW1被接通。加密内容13、加密标题密钥14和CCI 15被经由该开关SW1从加密/解密模块54提供给驱动器40,并且它们被记录在媒体10上。在再生过程中,当完整性被比较器53确认时,开关SW1被接通。每一个都从媒体10被再生的加密内容13、加密标题密钥14和CCI 15被经由该切换SW1提供给主机50的加密/解密模块54,并且该加密内容被解密。
在上面描述的处理中,记录在媒体10上的作为无格式文本保持的媒体ID 11被经由驱动器40提供给主机50。在这种配置中,如上所述,对于已经获取的媒体ID的主机来说,估计该媒体ID和该媒体密钥之间的对应关系变得有可能。
该媒体ID是对于每个媒体都不同的识别数据并且被记录在该媒体的最内周区域中的导入区域的叫作BCA(突发切断区域)或NBCA(窄突发切断区域)的区域中,不可能通过正常处理向其进行写入。
该媒体密钥是能够从MKB获得的密钥,并且该MKB被设置为用于多个媒体的公共数据。例如,在特定盘制造商制造的盘(媒体)中,相同的MKB被存储用于特定制造批次(lot)单位和用于特定固定时期,并且从其中能够获得相同媒体密钥的MKB被使用。
尽管该主机没有被废除并且是有效设备,也有可能从各种媒体获得多个媒体ID。此外,当授权的CPRM记录软件(也就是当遵循CPRM的加密内容被记录在媒体上时所使用的程序)被分析,和CPRM的处理顺序被分析时,存在一种可能性,即通过使用该分析的CPRM记录软件,秘密记录在许多CPRM记录盘的MKB(媒体密钥块)中的媒体密钥被提取。
结果,媒体ID和媒体密钥之间的对应关系数据例如被描述为以下媒体IDaaaa到bbbb=媒体密钥X媒体IDcccc到dddd=媒体密钥Y媒体IDeeee到ffff=媒体密钥Z在媒体ID和媒体密钥的范围之间的这种对应关系被估计是有可能的。
此外,通过使用分析的授权CPRM记录软件,CPRM记录软件非法地由用户创建而不需要接收许可。非法创建的软件使以下变为可能。记录在CORM记录盘(遵循CPRM的数据可写盘)的BCA中的媒体ID被读取。所读取的媒体ID被发送给管理服务器,媒体ID和媒体密钥之间的对应关系在管理服务器中被保持为数据库。对应于该媒体ID的媒体密钥从服务器被发送。通过使用非法获得的媒体密钥,加密内容被根据遵循CPRM的数据加密和记录顺序被创建并被记录在媒体上。处理的结果是,通过使用从服务器获得的媒体密钥,将加密内容记录到比如遵循CPRM的DVD的媒体上而不需要执行使用设备密钥的MKB过程成为可能。因此,遵循CPRM的媒体由不具有有效许可的设备制造。
下面描述的本发明具有用于解决上述问题的配置。本发明的配置的概要将首先被描述。
在本发明的配置中,记录在媒体的最周区域中的导入区域的突发切断区域(BCA)中的作为无格式文本保持的媒体ID不被从驱动器传输给主机,但是该媒体ID被加密并仅输出给经认证的主机。通过这种配置,有可能阻止媒体ID被非授权主机获得从而媒体ID和媒体密钥之间的对应关系无法被估计。
更具体地,当记录在BCA中的媒体ID将要从驱动器被传输到主机时,该媒体ID被使用在主机和驱动器之间的相互认证和密钥交换(AKE)完成之后产生的会话密钥(Ks)加密,并被安全地从驱动器传输到主机。结果,阻止从I/F总线偷窃媒体ID,该I/F总线比如作为驱动器和主机之间的连接接口的ATAPI。通过这种配置,估计媒体ID和媒体密钥之间的对应关系变得不可能。
除了媒体ID之外的数据可以被记录在BCA中。例如,关于比如BD-ROM(只读)、BD-RE(可写)或BD-R(写一次)的媒体记录类型的信息被记录。除了比如媒体ID的机密信息之外的数据可以独立于主机和驱动器之间相互认证和密钥交换(AKE)的完成而被从驱动器传输到主机。然而,除了媒体ID的头部代码之外的BCA数据区域并不是公开的。这些数据格式仅在例如接收到了复制保护技术许可的盘制造实体中能够被知道。如果BCA数据格式对仅接收到物理标准的许可的所有用户公开,那么不注意地没有接收到复制保护技术许可的用户使用与该媒体ID相同的头部信息,认为应用授权的复制到保护技术的管理上的干预将发生。
因此,当仅仅物理标准的许可被接收到时,有必要强制使用不同于对应于该媒体ID的头部代码的头部代码信息,并且物理标准许可的可允许范围内的自由管理不会接收到使用由复制保护标准许可指定的媒体ID方面的冲突。也就是,认为由物理标准指定的BCA数据处于不同于复制保护标准定义的媒体ID的头部的头部的管理下。
现在将参考图4和5给出记录在媒体(盘)的BCA中的媒体ID的格式的描述。
图4显示了BCA的数据记录结构。如图4(a)中所示,该BCA具有能够记录16字节数据的4个槽(slot)。总共为64字节的的数据可以被记录。如上所述,该BCA基于不同于典型数据记录处理的特定数据记录方法,并且仅仅接收到许可的盘制造实体能够执行记录处理。
如图4(b)所示,每个槽的数据结构被形成为头部部分和BCA数据部分。该头部部分被用作识别存储在该BCA数据部分中的数据的类型的数据。
例如,在头部部分,各种一字节代码被存储。它们中的一些被设置为公开的代码(03h等),其用来指定由版权保护技术使用的BCA数据,并且在该头部部分后面的BCA数据区域中,存储了对应于该头部代码的数据。
图5显示了存储有媒体ID的BCA的数据记录结构。类似于图4(a),图5(a)显示了BCA区域的整体结构。图5(b)显示了媒体ID存储槽的数据结构。该媒体ID有时叫做盘ID。
在图5(b)显示的媒体ID(盘ID)存储槽的头部存储部分中,头部代码=03h被存储,其指示槽存储数据是数据,比如媒体ID(盘ID),其用于版权保护技术。当头部代码指示BCA槽存储数据是用于版权保护技术的数据(比如用于媒体ID)时,除了头部代码以外的BCA数据区域不公开并且被设置为只可由持有特定许可的实体(比如许可的盘制造实体)所知道的BCA数据部分。从字节2到字节15的数据结构被根据种类代码进行分类。当种类代码是预定的数值(例如01h)时,BCA槽数据被分类为媒体ID。在BCA槽数据是媒体ID时的BCA数据部分中,种类代码、制造商代码和序号被存储为构成媒体ID的数据。每一条数据的意思如下种类代码用于版权保护技术的数据的分类代码制造商代码为每个盘制造商分配的识别代码串号由盘制造商制造的盘的序号本发明的处理具有以下配置的特征(1)除了具有头部数据03h的BCA数据的头部数据之外的BCA数据区域是机密的。
(2)当AKE完成而会话密钥Ks没有被产生时,驱动器不传输头部数据=03h的BCA数据到主机。
(3)如果AKE完成并且会话密钥Ks被产生,那么驱动器在BCA数据被使用Ks加密之后传输头部数据=03h的BCA数据到主机。
(4)对于驱动器来说,有可能将头部数据不是03h的BCA数据不经过加密就原封不动传输到主机,而不管AKE是否完成。也就是,BCA数据不是机密的。
接下来,将参考图6和后面的附图给出根据本发明包括在驱动器和主机之间的内容传输的处理细节的描述。图6图示了用于在驱动器和主机之间传输内容的处理,以及用于从媒体再生内容或记录内容到媒体上的处理,其中驱动器和主机经由总线互相连接。
图6显示了媒体(信息记录媒体)100、用于从设置媒体100读取数据或写入数据到设置媒体100的驱动器200、和经由连接总线连接到该驱动器200用于根据应用程序执行内容再生或记录处理的主机300的处理。在驱动器200和主机300之间进行连接的总线的例子包括ATAPI(AT连接包接口)、SCSI(小型计算机系统接口)、USB(通用串行总线)和IEEE(电气和电子工程师协会)。
在媒体100上,以下信息被存储用于识别有效设备或废除设备的废除信息101,作为其中存储有媒体密钥(Km)的加密密钥块的RKB 102,加密盘密钥EKm(Kd)103,使得盘密钥(Kd)使用媒体密钥(Km)被加密,记录在BCA区域的媒体ID(IDdisc)104,用于产生作为用于内容加密或解密处理的加密密钥的记录密钥(Krec)的种子信息(Seedrec)105,以及加密内容106。
当媒体100是其上已经记录了加密内容的媒体时,种子信息(Seedrec)105和加密内容106已经被记录在了媒体100上。当媒体100是其上没有被写入数据的数据可写媒体时,这些条数据没有被写入。当由主机300产生的加密内容将被记录在媒体上时,由主机产生的随机数被作为种子信息(Seedrec)105记录在媒体100上,并且使用记录密钥(Krec)加密的加密内容被记录在媒体100上。
废除信息101是使得每个设备的注册或废除信息能被记录的数据,并且具有这样的结构,使得管理中心的电子签名被附加并且能够对伪造进行验证。
RKB(更新的密钥块)102是类似于上面描述的媒体密钥块(MKB)的加密密钥块数据,并且是在被已知为一种类型的广播加密系统的树结构密钥分发系统的基础上产生的加密密钥块。类似于MKB,该媒体密钥Km能够通过使用分发给信息处理装置的设备密钥的解密处理来获取,该信息处理装置作为具有使用媒体(信息记录媒体)再生/记录内容的有效许可的用户设备。通过改变构成该加密密钥块RKB的数据,有可能选择能够获取媒体密钥Km的用户设备。也就是,当废除设备的设备密钥被使用时,RKB在必要时更新,使得媒体密钥Km不能被获取。
当管理中心确定用于执行内容再生/记录的设备(用户设备或再生应用)为未授权的时,有可能通过改变RKB的结构来使得未授权的设备获得媒体密钥Km不可能。被确认为未授权的设备在管理中心被注册为废除设备。该管理中心持有设备的注册信息和废除信息并在适当时更新它们。
媒体ID 104是记录在BCA区域中的特定于媒体的识别信息。如上面陈述的媒体ID还被叫作盘ID,其是只能由接收到许可的媒体(盘)制造实体记录的数据。
在设备200中,设备密钥201和验证数据202被存储。它们被安全地存储在非易失性存储器中并且被存储为对其的外部访问和外部伪造不被允许的数据。设备密钥201是用于上面描述的RKB解密处理的密钥。当认证被确保时,也就是,只有当驱动器没有被废除时,媒体密钥(Km)才可以从RKB中获取。
验证数据202是被存储在驱动器中用于验证从媒体100的BCA读取的媒体ID(IDdisc)的处理的数据。当上面参考图5(b)描述的BCA数据是媒体ID时,该验证数据202被构造为包括对应于头部代码的代码的数据。也就是,在这个例子中,当BCA数据是媒体ID时的头部代码是03h,并且03h被作为验证数据202存储在驱动器200的存储器中。
如上所述,当BCA数据是媒体ID时,除了头部代码的数值
之外的BCA槽数据不是公共数值,并且,例如,盘制造有义务在基于与管理中心的合同和设备密钥201的盘制造实体的管理下进行。此外,从管理中心接收到许可的驱动器制造实体有义务在每个驱动器的存储器(非易失性存储器)中存储头部代码的数值并对从该盘读取的BCA数据执行合适的传输控制。
主机(再生/记录处理应用)300在其中存储废除信息301。这个信息是使得每个设备的注册或废除信息被记录的数据,其具有使得管理中心的电子签名被附加以及伪造验证成为可能的结构,并且在伪造验证被执行并且认证被确认的情况下被用作参考信息。
尽管在图中没有示出,但是驱动器200和主机300每一个都在其中存储了根据公共密钥加密方法的一对它们自己的公共密钥和私人密钥。此外,它们还在其中存储了管理中心的公共密钥,其用于公共密钥证书的签名验证、用于废除信息的签名验证等,公共密钥和废除信息等从外部获得。
现在将参照附图6给出从媒体100再生内容以及记录内容到媒体100上的处理顺序的描述。
最初,在步骤S121和S131,相互认证密钥交换(AKE)处理在驱动器200和主机300之间被执行。
现在将参照图7给出相互认证密钥交换(AKE)处理的详细顺序的描述。该处理能够通过应用使用例如在ISO/IEC9798-3中指定的公共密钥算法的相互认证系统和通过应用使用在ISO/IEC11770-3中指定的公共密钥算法的密钥产生系统而被执行。例如,作为被实施为使用公共密钥的相互认证方法的方法,有一种已知的方法在DTCP(数字传输内容保护)规范卷1(信息版本)中被描述。
图7中显示的处理顺序将被描述。在步骤S201中,主机将随机数产生处理产生的询问数据[C_host]和公共密钥证书[Cert_host]发送给驱动器。
现在将参考图8给出公共密钥证书(PKC)的数据结构的描述。图8(a)显示了公共密钥证书(PKC)的证书数据的一个例子。图8(b)显示了被应用了椭圆加密(密钥长度160比特)的公共密钥证书(PKC)的数据结构的一个例子。
如图8(a)所示,公共密钥证书(PKC)的证书数据包含证书ID、公共密钥和其他信息。例如,驱动器从管理中心接收存储有对应于该驱动器的公共密钥的公共密钥证书(PKC-D)并将其存储在比如闪存存储器的非易失性存储器中。此外,对应于该公共密钥的私人密钥(KS-D)也被提供。一对公共密钥证书(PKC)和私人密钥也被提供给主机,并且其被存储在比如硬盘的非易失性存储器中或主机中的闪存存储器中。
公共密钥证书(PKC)是能够被公开并且例如响应于另一个设备的请求而被输出的数据。接收到该另一个设备的公共密钥证书的设备在管理中心的签名(该管理中心的签名被附加在接收的公共密钥证书上)的基础上执行公共密钥证书的伪造验证,并在对接收到的公共密钥证书的认证被确认之后在该公共密钥证书的基础上获取公共密钥。在管理中心的签名基础上的公共密钥证书的伪造验证通过使用管理中心的公共密钥而被执行。该管理中心的公共密钥也是被公开的数据。例如,使用预存储在驱动器或主机的非易失性存储器或驱动器等。可替换地,公共密钥可以经由网络或记录媒体被接收。
私人密钥与公共密钥证书一起被提供给驱动器和主机。也就是,一对公共密钥证书(PKC)和私人密钥被提供给驱动器和主机并被存储在它们各自的存储器中。存储有公共密钥的公共密钥证书是可以被公开的数据。私人密钥被安全地存储在每个设备中以使其不会被外泄。
图8(b)显示了被应用了椭圆加密(密钥长度160比特)的公共密钥证书(PKC)的数据结构的一个例子。证书类型(证书类型=1)、证书ID(证书ID)和公共密钥(公共密钥)被存储,并且以对应于所存储的这些条数据的方式通过使用管理中心的私人密钥产生的电子签名被设置。
回来参考图7,将继续对相互认证顺序的描述。在步骤S201,从主机接收询问数据[C_host]和公共密钥证书[Cert_host]的驱动器通过公共密钥证书[Cert_host]的签名验证处理对公共密钥证书[Cert_host]的有效性进行验证。该签名验证处理通过使用驱动器保持的管理中心的公共密钥而被执行。
当公共密钥证书[Cert_host]的有效性被验证之后,驱动器从公共密钥证书[Cert_host]获取公共密钥证书ID并确认主机的公共密钥证书ID是否没有被记录在从媒体100读取的废除信息101中。也就是,主机的公共密钥证书ID是否为没有被废除的有效ID被确认。
当公共密钥证书[Cert_host]的有效性没有被确认或当确认在废除信息101的基础上主机已经被废除时,报告错误消息,并且完成处理。随后的内容再生或记录处理被停止。
在步骤S202,当公共密钥证书[Cert_host]的有效性被确认并且该主机被确认为具有没有被废除的有效公共密钥证书的主机时,该驱动器将随机数产生处理所产生的询问数据[C_drive]和驱动器侧的公共密钥证书[Cert_drive]发送给该主机。
该主机在驱动器侧执行公共密钥证书[Cert_drive]的签名验证。该签名验证处理通过使用保持在主机侧的管理中心的公共密钥[Kp_kic]而被执行。
当公共密钥证书[Cert_drive]的有效性被确认之后,公共密钥证书ID从公共密钥证书[Cert_drive]被获取。将其与废除信息301验证以确认该驱动器的公共密钥证书ID是否为没有被废除的有效ID。
当公共密钥证书[Cert_drive]的有效性没有被确认或者当该驱动器为确定为在废除信息301的基础上被废除的时候,报告错误消息,并且完成该处理。随后的内容再生或记录处理被停止。
当公共密钥证书[Cert_drive]的有效性被确认后,主机在从驱动器接收的询问数据[C_drive]基础上执行计算以计算参数[A_host],并且将其与新产生的随机数[R_host]一同发送给驱动器(步骤S203)。
另一方面,驱动器在从主机接收到的询问数据[C_host]的基础上执行计算以计算参数[A_drive],并且将其与新产生的随机数[R_drive]一同发送给主机(步骤S204)。
作为处理的结果,驱动器和主机共享随机数[R_host]和[R_drive]以及参数[A_host]和[A_drive]。驱动器和主机应用都在共享数据的基础上产生公共会话密钥Ks(步骤S205)。
回来参考图6,现在将给出包括驱动器200和主机300之间的内容传输的内容再生或记录处理顺序的描述。
当与主机300的相互认证和密钥交换(AKE)完成后,驱动器200在步骤122中执行通过使用保持在驱动器中的设备密钥Kdev 201解密RKB 102作为从媒体100读取的加密密钥块,并从RKB 102获取媒体密钥Km的处理。只有内容的使用被准许的设备才能从RKB102获取媒体密钥Km。如上所述,由作为未授权设备而被废除的设备所拥有的设备密钥不能够使得加密并存储在RKB中的媒体密钥被解密,因此媒体密钥Km不能被获取。
当在步骤S122成功获取了媒体密钥Km时,接下来在步骤S123,用于解密从媒体100获取的加密盘密钥EKm(Kd)203的处理通过使用获取的媒体密钥Km被执行,并且盘密钥Kd被获取。例如,三重DES(TDES)算法被使用于解密处理。在图中,TDES指示了三重DES加密算法,AES指示了AES加密算法,作为跟在TEDS和AES后面的字符显示的[E]指示了加密处理(加密),而[D]指示了解密处理。
接下来,在步骤S124,驱动器200通过使用在相互认证和密钥交换(AKE)处理中产生的会话密钥(Ks)对盘密钥Kd进行加密,并将起发送到主机300。该加密处理通过使用例如AES加密算法而被执行。
接下来,在步骤S125,驱动器200执行用于将从媒体104读取的媒体ID(IDdisc)与存储在驱动器200中的存储器中的验证数据202进行比较的处理。
驱动器200执行读取从媒体104的BCA中读取的来自多个BCA数据存储槽的媒体ID存储槽(参见图5)中存储数据,并将其头部代码与存储在驱动器200中的存储器中的验证数据202进行比较的处理。
如上所述,媒体ID存储槽(参见图5)的头部代码是预定的数值
。具有该数值作为头部代码的BCA数据能够被接收到许可的媒体制造实体所知道,但是它是不能被未授权盘制造商所知道的数值。在步骤S215,驱动器200将头部代码与作为验证数据202存储的媒体ID存储BCA槽的头部代码的数值
进行比较。
如果从媒体100读取的头部数据的数值与存储在驱动器中的验证数据
相匹配,那么媒体100被确定为有效媒体,驱动器200闭合开关(SW),使用会话密钥(Ks)加密媒体ID(IDdisc),并将其输出到主机300(步骤S216)。
另一方面,当从媒体100读取的头部数据的数值与存储在驱动器中的验证数据
不匹配时,媒体100被确定为使用版权保护技术的内容记录再生不能在其上应用的媒体,驱动器200打开开关(SW),停止输出媒体ID(IDdisc)到主机300,并停止所有后续处理。也就是,不执行内容再生或记录处理。
在主机300侧上的处理将被描述。当在步骤S131与驱动器200的相互认证和密钥交换(AKE)中建立了相互认证后,主机300与驱动器200共享会话密钥(Ks)。在步骤S132,从驱动器200接收的加密盘密钥,也就是,使用该会话密钥(Ks)加密的盘密钥[Eks(Kd)],被使用该会话密钥解密,并且盘密钥(Kd)被获取。
在步骤S133,从驱动器接收的加密媒体ID,也就是,使用该会话密钥(Ks)加密的媒体ID[EKs(IDdisc)],被使用该会话密钥解密,并且媒体ID(IDdisc)被获得。
在步骤S135,用于解密加密内容或用于加密内容的记录密钥(Krec)被产生。在该处理之后,在内容再生和内容记录之间不同的处理被执行。
首先,在内容再生期间的处理将被描述。在内容再生期间,在步骤S135,记录密钥(Krec)由加密处理(三重DES(TDES))在存储在媒体105上的种子信息(Seedrec)、盘密钥(Kd)以及媒体ID(IDdisc)的基础上产生。当产生记录密钥(Krec)时,存储在媒体105上的种子信息(Seedrec)105通过驱动器200接收。种子信息以预定内容被存储的文件单位读取,记录密钥(Krec)通过对存储有内容的每个文件使用种子信息产生,以内容被存储的文件单位进行的解密处理通过使用产生的记录密钥被执行,并且内容解密和再生被执行。
接下来,在步骤S136,存储在媒体105上的加密内容106通过驱动器200接收,使用产生的记录密钥(Krec)的解密处理被执行来获得内容,并且内容被再生。
接下来,在内容记录期间的处理将被描述。在内容记录期间,在那之后,在步骤S135,记录密钥(Krec)由基于存储在媒体105上的种子信息(Seedrec)、盘密钥(Kd)以及媒体ID(IDdisc)的加密处理(三重DES(TDES))产生。在步骤A134,随机数产生处理被执行,并且基于随机数的种子信息被产生。当被记录的内容将被以存储内容的文件单位加密时的记录密钥(Krec)被产生。在步骤S136,数据(比如外部输入内容)被使用加密密钥以内容被存储的文件单位加密。
产生的加密内容被输出到驱动器200并且由驱动器200中的数据写入处理写入媒体100。在步骤S134产生的随机数以对应于写入加密内容106的方式作为种子信息105被写入。
接下来,将参考图9给出验证存储在驱动器中的媒体100上的媒体ID(IDdisc)104的顺序以及将其输出到主机的顺序的详细描述。
图9(a)显示了验证存储在驱动器中的媒体100上的媒体ID(IDdisc)以及将其输出到主机的总体顺序。图9(b)是图示在图9(a)中的步骤S254中的BCA重新编码验证处理的细节的流程。
当驱动器在图9(a)中的步骤S251中检测到盘的插入时,与主机的相互认证和密钥交换(AKE)处理在步骤S252被执行。当认证被建立并且会话密钥(Ks)被共享时,处理进行到步骤S253。当认证没有被建立时,处理进行到步骤S258,在该步骤错误消息被报告给主机,并且然后处理完成。
当认证被建立时,处理进行到步骤S253(在该步骤驱动器从媒体(盘)的BCA读取SCA槽数据),并且在步骤S254执行用于验证BCA槽数据的处理。验证处理的细节将在以下参考图9(b)的流程来描述。
最初在步骤S261,存储在驱动器的存储器中的验证数据被读取。这是在图6中显示的验证数据202。如上所述,验证数据是对应于在BCA重新编码中的媒体ID的头部的数值(在这个例子中是(03h))。
在步骤S262,变量(i)被初始化为i=0,变量i被设置为顺序读取媒体的多个槽。如上参考图4和5所述,在媒体的BCA中,以预定数据单位的多个槽被设置,并且驱动器顺序读取槽(i=0到4)。
在步骤S263,用于更新变量i的处理被执行。首先,其被设置为i=1。接下来在步骤S264,头部代码从媒体的BCA槽#i中被获得。在步骤S265,确定头部代码是否与驱动器保持的验证数据(图6的验证数据202)匹配,也就是来自媒体的读取槽的头部代码是否等于03h。
当在步骤S265确定来自媒体的读取槽的头部代码等于03h时,处理进行到步骤S268,其中媒体被确定为保持对应于媒体ID的正确头部代码的有效媒体。
当在步骤S265确定来自媒体的读取槽的头部代码不等于03h时,处理进行到步骤S266,在该步骤确定变量i的值是否是BCA槽的数量=4。当i≠4时,处理返回到步骤S263,在该步骤变量i被更新,并且不同BCA槽的头部代码被顺序读取和验证。当直到达到i=4没有检测到头部代码等于03h时,处理进行到步骤S267,在该步骤确定加载媒体没有保持对应于媒体ID的正确头部代码,也就是,媒体是不能被用于记录或再生版权保护技术被应用的内容的媒体。
在这个处理之后,处理进行到图9(a)的步骤S255。当在步骤S255确认图9(b)显示的验证处理已经确定加载媒体是保持对应于媒体ID的正确头部代码的有效媒体,处理进行到步骤S256,在该步骤从媒体的BCA槽获得的媒体ID使用会话密钥(Ks)加密,并且加密媒体ID在步骤S257响应于来自主机的传输请求被传输到主机。
当在步骤S255确认图9(b)显示的验证处理已经确定加载媒体是不保持对应于媒体ID的正确头部代码的媒体(使用版权保护技术的内容记录/再生不能被应用于该媒体),处理进行到步骤S258,在该步骤错误消息响应于来自主机的传输请求被传输到主机,并且处理完成。
通过上述方式,当驱动器要输出媒体ID到主机时,在驱动器和主机之间的相互认证已经被建立并且会话密钥的共享已经成功的条件下,驱动器验证来自媒体的BCA重新编码的头部代码。只有当头部代码与驱动器保持用于验证的数据匹配时,媒体ID,即对应于头部代码的BCA重新编码,被读取,并且读取的媒体ID使用会话密钥加密并且输出到主机。从驱动器输出的媒体ID是使用会话密钥加密的数据,并且媒体ID被外部泄漏的可能性被减小。
如上所述,因为具有对应于媒体ID的头部代码的BCA数据是不公开的数据,即使当未授权盘制造商具有能够将数据写入BCA区域的装置时,其也不可能知道对应于媒体ID的有效头部代码,并且由这些未授权制造商制造的盘不具有对应于有效媒体ID的头部代码(例如03h)。此外,使用这种无效媒体(盘)的内容再生或将内容记录到这种无效媒体(盘)上被消除。
也存在这种情况,即在BCA重新编码中,不仅是盘ID,还有其它数据也被写入,并且一些BCA重新编码包括可以被公开的数据。对输出这种具有低级别安全性的数据到主机没有特别限制,其不涉及版权保护技术。图10显示了示出当这种具有低级别安全性的BCA数据被从驱动器输出到主机时的处理的流程。
图10(a)显示了输出具有低级别安全性的BCA数据,而不是存储在媒体上的媒体ID(IDdisc)到主机的总体顺序。图10(b)显示了用于在图10(a)的步骤S273验证BCA重新编码的处理的细节。这里,头部代码≠03h被假定为对应于具有低级别安全性的BCA数据的头部代码。
当驱动器在图10(a)的步骤S271检测到盘的插入时,该处理进行到步骤S272,驱动器在该步骤从媒体(盘)的BCA读取BCA槽数据,并在步骤S273执行用于验证BCA槽重新编码的处理。验证处理的细节将参考图10(b)的流程被描述。
最初,在步骤S281,变量(i)被初始化为i=0。变量i被设置为顺序读取媒体的多个槽。在步骤S282,首先i=1被设置来执行用于更新变量i的处理。接下来,在步骤S283,头部代码从媒体的BCA槽#i中被获得。在步骤S284确定头部代码是否与对应于具有低水平保密性的BCA数据的头部代码(03h)匹配,也就是来自媒体的读取槽的头部代码是否等于03h。
当在步骤S284确定来自媒体的读取槽的头部代码不等于03h时,处理进行到步骤S287,在该步骤确定媒体保持可被输出的BCA数据。
当在步骤S284确定来自媒体的读取槽的头部代码等于03h时,处理进行到步骤S285,在该步骤确定BCA槽的数量是否=4。当i≠4时,过程返回到步骤S282,在该步骤变量i被更新,并且不同BCA槽的头部代码被顺序读取和验证。当直到达到i=4没有检测到等于03h的头部代码时,处理进行到步骤S286,在该步骤确定加载媒体不保持可输出的BCA数据。
在这个处理之后,处理进行到图10(a)的步骤S274。当在步骤S274确认图10(b)显示的验证处理已经确定加载媒体保持可被输出的BCA数据,处理进行到步骤S275,在该步骤从媒体的BCA槽获得的BCA数据响应于来自主机的传输请求被传输到主机。
当在步骤S274确认图10(b)显示的验证处理已经确定加载媒体不保持可被输出的BCA数据时,处理进行到步骤S276,在该步骤中错误消息响应于来自主机的传输请求被传输到主机,并且处理完成。
接下来,将参考由驱动器和主机执行的使用媒体的内容再生或记录处理的单独流程图给出描述。
首先,在驱动器侧的处理将参考图11和12描述。当驱动器检测到在图11的步骤S301的媒体(盘)加载时,在步骤S302,驱动器从媒体(盘)读取作为加密密钥块存储从而媒体密钥(Km)被设置为加密数据的RKB。
当在步骤S303确定RKB的读取失败时,处理进行到图12显示的[E]。在步骤S331,使用插入媒体的需要版权保护的AV数据(内容)的记录被禁止,并且只有其版权不被保护的不需要加密处理的数据的记录/再生被允许。
当在步骤S303确定RKB的读取成功时,在步骤S304,使用存储在驱动器中的设备密钥(Kdev)的RKB处理被执行。当RKB处理已经失败并且媒体密钥(Km)不能被获得时,驱动器被确定为已经被废除(步骤S305是),并且处理进行到图12中[E]的步骤S331,在该步骤只有不是对其版权应当被保护的数据的内容的仅仅记录/再生处理被允许。
当对RKB的处理成功时,驱动器被确定为没有被废除(步骤S305否),并且在步骤S306,媒体密钥(Km)从RKB获得。接下来在步骤S307,来自媒体的BCA的BCA重新编码被读取。在步骤S308,用于验证BCA槽数据的处理被执行。
当媒体ID的读取失败时(S309否),处理进行到图12中[E]的步骤S331,在该步骤只有记录或再生仅其版权不需要被保护的内容的处理被允许。
当媒体ID的读取成功时(S309是),处理进行到步骤S310,在该步骤等待来自主机的相互认证处理请求完成。当来自主机的相互认证处理请求发生了,在步骤S311,在主机和驱动器(参考图7)之间的相互认证和密钥交换(AKE)处理被执行来在主机和驱动器之间共享会话密钥(Ks)。当相互认证和密钥交换(AKE)处理的完成在步骤S312被确认,并且在步骤S313等待来自主机的密钥信息传输请求完成且来自主机的密钥信息传输请求发生了时,在步骤S314,使用会话密钥(Ks)加密的媒体ID,也就是[Eks(ID disc)],以及使用会话密钥(Ks)加密的盘密钥,也就是[Eks(Kd)],被产生并传输到主机。
当密钥信息的传输的完成在步骤S315确认时,处理进行到图12的步骤321。在步骤S321,等待新的相互认证请求完成。当新的相互认证请求发生时,处理返回[D],也就是步骤S311,并且相互认证和接下来的处理被执行。该处理是当应用切换到主机侧时发生的处理。
在步骤S322,确定盘是否被弹出。当盘已经被弹出,处理返回到初始状态[A],也就是步骤S301。在步骤S323,确定是否发生来自主机的对于读取内容(AV数据)的请求。当发生来自主机的对于读取内容(AV数据)的请求,在步骤S326,内容从媒体读取并且被传输到主机。在该处理期间,用于产生直接用于内容解密处理的模块密钥的种子信息响应于在合适时作出的来自主机的读取请求从媒体上读取,并且被传输到主机。
此外,在步骤S314,确定来自主机的写入内容(AV数据)的请求是否发生。当来自主机的写入内容(AV数据)的请求已经发生,在步骤S325,用于从主机输入内容(AV数据)并且将输入内容写入媒体上的处理被执行。在该处理期间,同样输入用于产生用于在合适时的内容加密处理的模块密钥的随机数以及将其作为种子信息写入到媒体的处理被执行。
接下来,将参考图13和14给出在主机侧的处理的描述。在步骤S401,内容再生或记录应用程序开始。在步骤S402,盘已经被插入到驱动器中的报告被接收。然后在步骤S403,用于与驱动器执行相互认证并且与驱动器共享会话密钥的处理被执行。
当相互认证和密钥交换(AKE)处理的完成在步骤S404被确认时,处理进行到步骤S405,在该步骤主机请求驱动器传输使用会话密钥(Ks)加密的盘密钥(Kd)。
当在步骤S406来自驱动器的加密盘密钥[Eks(Kd)]的接收被确认时,在步骤S407,加密盘密钥[Eks(Kd)]使用会话密钥Ks解密从而获得盘密钥(Kd)。
此外,在步骤S408中,主机请求驱动器传输使用会话密钥(Ks)加密的媒体ID(IDdisc)。当在步骤S409来自驱动器的加密媒体ID[EKs(IDdisc)]的接收被确认时,在步骤410中,加密媒体ID[EKs(IDdisc)]使用会话密钥Ks解密以获得媒体ID(IDdisc)。
在步骤S411,主机准备记录和再生内容并且可通过用户界面(比如屏幕显示)通知用户内容记录/再生已经准备好的事实。
接下来,在确认记录或再生软件没有完成(步骤S421)并且盘没有被弹出(S422)之后,当确定内容应当根据用户指令等读取时(S423是),在步骤S431传输加密内容(AV数据)的请求被输出到驱动器。
当在步骤S432来自驱动器的内容接收的完成被确认(S432是)时,在步骤S433,记录密钥(Krec)在合适时从驱动器上获得的记录在盘上的种子信息(Seedrec)、盘密钥(Kd)和媒体ID(IDdisc)的基础上计算,从而内容可通过使用记录密钥(Krec)解密从驱动器接收的加密内容来再生。如上所述,当记录密钥(Krec)被计算时,对将种子信息用于预定内容单位的预定单位的每条内容不同的种子信息被产生并在内容被记录的同时被记录在媒体上。
另一方面,当在步骤S424确定内容应当根据用户指令等写入时(S424是),处理进行到步骤S425,在该步骤主机通过使用用种子信息(Seedrec)产生的记录密钥(Krec)、从驱动器接收的盘密钥(Kd)以及媒体ID(IDdisc)执行内容加密处理,其中种子信息通过在合适时间产生随机数来获得。如上所述,在内容加密处理中,产生随机数,作为块单位的加密密钥的块密钥通过使用产生的随机数来产生,并且块单元的加密处理使用产生的块密钥来执行。
在步骤S426主机执行用于传输(输出)产生的加密数据到驱动器的处理,并且在步骤S427确认传输的完成。然后处理完成。
接下来,将参考图15和16给出作为主机和驱动器的信息处理装置的配置的例子的描述。
首先参考图15给出作为主机的信息处理装置的配置的例子的描述。信息处理设备800包括用于根据各种程序(比如OS、内容再生或记录应用程序以及相互认证程序)执行数据处理的CPU809;作为用于程序、参数等的存储区域的ROM808;存储器810;用于输入和输出数字信号的输入/输出I/F802;用于输入和输出模拟信号的输入/输出I/F804,该输入/输出I/F804具有A/D和D/A转换器805;用于编码和解码MEPG数据的MPEG编解码器803;用于执行TS(传输流)和PS(程序流)处理的TSPS处理部件806;用于执行各种加密处理(比如相互认证和加密内容解密处理)的加密处理部件807;记录媒体812(比如硬盘);以及用于驱动记录媒体812并且用于输入和输出数据记录/再生信息的驱动器811。每个块连接到总线801。
信息处理装置(主机)800通过例如连接总线(比如ATAPI-总线)连接到驱动器。使用上述会话密钥加密的保密信息(比如媒体IS和盘密钥),将被传输的内容等通过用于数字信息的输入/输出I/F802输入和输出。加密处理和解密处理由加密处理部件807通过使用例如三重DES算法、AES算法等执行。
用于执行内容再生或记录处理的程序被存储在例如ROM808中。当程序被执行时,存储器810被用于存储参数和数据并且在必要时用作工作区域。
在ROM808或记录媒体812中,管理中心的公共密钥、对应于主机的保密密钥、对应于主机的公共密钥证书以及废除列表被存储。
接下来,将参考图16给出作为用于读取存储在信息记录媒体上的内容、在其上记录内容并且传输数据到主机的驱动器的信息处理装置的描述。驱动器850包括用于根据各种程序(比如用于读取、记录和传输内容的程序以及相互认证程序)执行数据处理的CPU852;作为用于程序、参数等的存储区域的ROM855和存储器856;用于输入和输出数字信号的输入/输出I/F853;用于执行加密处理(比如相互认证和输出数据加密处理)的加密处理部件854;以及用于驱动信息记录媒体858(比如DVD或蓝色射线盘)并且输入和输出数据记录/再生信息的记录媒体I/F857。每个块连接到总线851。
驱动器850通过例如连接总线(比如ATAPI-总线)连接到主机。例如,保密信息(比如媒体ID和盘密钥)、存储在信息记录媒体858上的加密内容、记录在信息记录媒体858上的加密内容等通过设置为与外部设备的数据传输接口的输入/输出I/F853来输入和输出。加密处理和解密处理由加密处理部件854通过使用例如三重DES算法和AES算法来执行。
在ROM855和存储器856中,以下被存储管理中心的公共密钥,对应于驱动器的私人密钥,对应于驱动器的公共密钥证书,用于处理加密密钥块RKB的设备密钥Kdev,以及作为对应于媒体ID的头部代码的验证信息(图6显示的验证数据202)。此外,用于读取和获得内容的程序,以及用于执行相互认证处理的程序等被存储。
在以上,本发明已经在参考
具体实施方式
的同时进行了详细描述。然而,不言自明本领域普通技术人员可在本发明的范围和精神内对实施方式作出变形和改变。也就是,本发明已经以例子的形式描述并且不应当被解释为限制。为了确定本发明的要旨,应当考虑权利要求。
在说明书中描述的处理的序列可由硬件、软件或它们的结合的配置来执行。当处理的序列由软件执行时,其中处理顺序被记录的程序被安装在结合到专用硬件中的计算机的存储器中,从而其被执行,或者程序被安装到能够执行各种处理的通用计算机中,从而其被执行。
例如,程序可事先记录在作为记录媒体的硬盘和ROM中。可替换地,程序可临时或永久存储(记录)在可移动的记录媒体(比如软盘、CD-ROM(光盘只读存储器)、MO(磁光)盘、DVD(数字化多用途盘)、磁盘或半导体存储器)中。这种可移动记录媒体可作为打包软件来提供。
除了从可移动记录媒体(比如上述)安装到计算机中之外,程序可从下载站点通过网络无线传输或可通过网络(比如LAN(局域网)或因特网)通过有线传输到计算机,并且计算机有可能接收通过这种方式传输的程序并且将该程序安装到包含在其中的硬盘上。
在说明书中描述的各种处理不仅可以以根据写入顺序的时序方式来执行,而且可同时或单独地根据执行处理的装置的处理性能或根据需要来执行。在本说明书中,系统指多个设备的逻辑装配。不必将设备安置在相同壳体中。
工业应用性如以上所述,根据本发明的配置,在包括在两个不同设备(比如驱动器和主机)之间的数据传输的内容再生或记录处理中,有可能防止用于在内容被记录或再生时执行的内容加密或解密处理的媒体ID(盘ID)的外部泄漏。
根据本发明的配置,驱动器从媒体上读取媒体ID(盘ID),并且验证其是否以对应于设置在正确有效媒体上的头部代码的方式被记录。此外,当由验证确认媒体是有效媒体时,驱动器加密媒体ID并且将其输出到主机。因此,有可能减小媒体ID被外部泄漏的可能性。此外,因为在媒体被确认为有效媒体的条件下内容再生或记录处理被允许,有可能防止使用无效媒体的内容再生或记录处理。
权利要求
1.一种信息处理装置,包括记录媒体接口,用于对将被写在信息记录媒体上的数据或将从信息记录媒体上读出的数据执行输入和输出;数据传输接口,用于执行传输数据从外部设备的输入和向外部设备的输出;存储器部分,用于确认信息记录媒体的有效性的验证数据被存储在其中;以及数据处理器,用于读取作为相应于信息记录媒体的媒体识别符的信息的记录在该信息记录媒体上的代码,通过将该代码与所述验证数据进行验证来确认信息记录媒体的有效性,以及在该验证被确认的情况下,加密并外部输出该媒体识别符。
2.如权利要求1所述的信息处理装置,其中数据处理器对经由数据传输接口输入和输出数据的外部设备执行认证处理,并在认证处理的结果是肯定的情况下输出该媒体识别符到该外部设备。
3.如权利要求2所述的信息处理装置,其中数据处理器使用在认证处理中产生的会话密钥来加密媒体识别符并将作为在会话密钥的基础上加密的数据的该媒体识别符输出到该外部设备。
4.如权利要求1所述的信息处理装置,其中存储部分存储代码信息,该代码信息以这种一种方式设置,即相应于在许可下合法制造的信息记录媒体的识别符,及该数据处理器读取作为相应于信息记录媒体的媒体识别符的信息的记录在该信息记录媒体上的代码,通过将该代码与作为验证数据存储的代码进行验证来确认该信息记录媒体的有效性,以及在有效性被确认的情况下加密并外部输出该媒体识别符。
5.如权利要求1所述的信息处理装置,其中数据处理器读取作为相应于记录在该信息记录媒体的BCA(突发切断区域)中的媒体识别符的信息的代码,并将该代码与验证数据进行验证。
6.如权利要求1所述的信息处理装置,其中数据处理器经由数据传输接口从外部设备输入在使用媒体识别系统产生的加密密钥的基础上加密的数据,及将输入数据写到信息记录媒体上。
7.如权利要求1所述的信息处理装置,其中数据处理器从信息记录媒体读取在使用媒体识别符产生的加密密钥的基础上加密的数据,及经由数据传输接口输出读取的数据到外部设备。
8.一种信息处理方法,包括代码读取步骤,其读取作为相应于信息记录媒体的媒体识别符的信息的记录在该信息记录媒体上的代码;有效性确认步骤,其通过将该代码与存储在存储器部分中的验证数据进行验证来确认该信息记录媒体的有效性;以及媒体识别符输出步骤,其在该信息记录媒体的有效性已经在有效性确认步骤中被确认的情况下加密并外部输出该媒体识别符。
9.如权利要求8所述的信息处理方法,进一步包括认证执行步骤,其对经由数据传输接口输入和输出数据的外部设备执行认证处理,其中在该认证处理的结果是肯定的情况下执行输出媒体识别符到外部设备的处理。
10.如权利要求9所述的信息处理方法,其中媒体识别符输出步骤是通过使用在认证处理中产生的会话密钥对该媒体识别符进行加密并将作为在该会话密钥的基础上加密的数据的媒体识别符输出到外部设备的步骤。
11.如权利要求8所述的信息处理方法,其中有效性确认步骤是读取作为相应于信息记录媒体的媒体识别符的信息的记录在该信息记录媒体上的代码并通过将该代码与以设置成与在存储在存储器部分中的许可下合法制造的信息记录媒体的识别符相应的代码进行验证而确认信息记录媒体的有效性的步骤。
12.如权利要求8所述的信息处理方法,其中代码读取步骤是读取作为对应于记录在信息记录媒体的BCA(突发切断区域)中的媒体识别符的信息的代码的步骤。
13.如权利要求8所述的信息处理方法,进一步包括在经由数据传输接口从外部设备输入在使用媒体识别符产生的加密密钥的基础上加密的数据的步骤;以及将输入数据写到该信息记录媒体上的步骤。
14.如权利要求8所述的信息处理方法,进一步包括从信息记录媒体读取在使用媒体识别符产生的加密密钥的基础上加密的数据的步骤;以及经由该数据传输接口输出该读取的数据到外部设备的步骤。
15.一种计算机程序,其对信息记录媒体执行访问控制,该计算机程序包括代码读取步骤,读取作为对应于信息记录媒体的媒体识别符的信息的记录在该信息记录媒体上的代码;有效性确认步骤,通过将该代码与存储在存储部分中的验证数据进行验证来确认该信息记录媒体的有效性;以及媒体识别符输出步骤,在该信息记录媒体的有效性已经在有效性确认步骤中得到确认的情况下加密并外部输出该媒体识别符。
全文摘要
一种用于在包括不同设备之间的数据传输的内容使用中防止信息泄漏和内容错误处理的结构。在包括不同设备(比如驱动器和主机)之间的数据传输的内容再生或记录过程中,用于加密或解密内容的媒体ID(盘ID)从媒体中读取,驱动器验证媒体ID是否按照为通过认证的媒体预设的头部代码记录。如果确认出该媒体为通过认证的媒体,驱动器加密媒体ID并且将其输出到主机。由此,可防止媒体ID的外部泄漏以及使用错误媒体的内容再生或记录。
文档编号G09C1/00GK1977249SQ200580021318
公开日2007年6月6日 申请日期2005年7月7日 优先权日2004年7月15日
发明者木谷聪, 村松克美 申请人:索尼株式会社