CN1249873A - 数据处理系统、数据处理装置和数据处理方法 - Google Patents
数据处理系统、数据处理装置和数据处理方法 Download PDFInfo
- Publication number
- CN1249873A CN1249873A CN98803175A CN98803175A CN1249873A CN 1249873 A CN1249873 A CN 1249873A CN 98803175 A CN98803175 A CN 98803175A CN 98803175 A CN98803175 A CN 98803175A CN 1249873 A CN1249873 A CN 1249873A
- Authority
- CN
- China
- Prior art keywords
- key
- information
- value
- information processor
- transmission
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
- H04N2005/91357—Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
- H04N2005/91364—Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
第一数据处理设备(1)保存业务密钥和预置函数,而第二数据处理设备(2)保存独有的识别信息、许可证密钥、表示许可证密钥版本的版本数据和该预置函数。第一数据处理设备请求识别信息,将该函数应用于它们来产生第一中间密钥Km,将该函数应用于第一中间密钥n次来产生判定密钥Kmn,并发送表示该函数的应用次数的计数数据。第二数据处理设备(2)根据该计数数据将该函数应用(n-Gb)次来产生第二中间密钥Klic_n,并发送表示关于第二中间密钥Klic_n的信息的中间密钥信息R。然后,第一数据处理设备根据判定密钥Kmn和中间密钥信息R来校验第二数据处理设备(2)。
Description
发明领域
本发明涉及一种信息处理系统、信息处理装置和信息处理方法。本发明具体涉及一种尤其适用于版权保护所采用的验证协议(authentication protocol)的信息处理系统、信息处理装置和信息处理方法。
背景技术
近年来,出现了诸如通过IEEE 1394串行总线连接的AV设备或个人计算机的互连电子设备,它们之间能够相互发送/接收数据。
在这种系统中,用户通过1394数字总线将来自DVD播放机的再现运动图像信息输出到监视器上来显示的操作,在购买DVD时被该运动图像信息的版权所有者许可。但是,将从DVD播放机再现的运动图像信息记录在记录介质如磁光盘上的操作,则需要版权所有者特别许可。在这种情况下,通常的办法是在磁光盘设备中保存一个密钥,以指示是否许可运动图像信息的记录,并使用该密钥来验证是否磁光盘设备是认证设备,即该磁光盘设备是否是版权所有者许可的设备,以便只允许被验证的磁光盘设备记录该运动图像信息。在这种情况下,需要在发送该运动图像信息的源设备和接收所发送的运动图像信息的宿(sink)设备之间进行验证处理,来校验对方是否是认证设备。
在这种情况下为了保护版权,曾提出了各种各样的验证系统。在这些验证系统采用的验证协议中,常常采用一种加密算法。
在转让给本发明申请人的申请日为1998年4月14日申请号为H-9-207953相应美国专利序列号为09/059,757题目为“信息处理装置、信息处理方法、信息处理系统和记录介质(Information Processing Apparatus,Information Processing Method,Information Processing System and RecordingMedium)”的日本专利申请、和申请日相同申请号为H-9-210899相应美国专利序列号为09/059,812题目为“信息处理装置、信息处理方法、信息处理系统和记录介质(Information Processing Apparatus,Information ProcessingSystem,Information Processing Method and Recording Medium)”的日本专利申请的专利文献中公开了采用该加密算法的验证协议。而且,象日本和美国这样的国家禁止出口功能强大的加密算法。因此,如果在一种验证协议中采用一种解码算法,则会出现不能出口这种协议系统或在进口的系统中不能使用该协议的问题。
本发明的目的是提供一种信息处理系统、信息处理装置和信息处理方法,能够利用预置功能来执行这种验证协议。
发明概述
按照本发明的一个方面,提供了一种信息处理系统,包括第一信息处理装置和第二信息处理装置。所述第一信息处理装置包括:第一存储装置,用于保存业务密钥和预置函数;第一发送/接收装置,用于向第二信息处理装置发送和从第二信息处理装置接收数据;第一中间密钥产生装置,用于通过将所述函数应用于所述业务密钥和所述第一发送/接收装置从所述第二信息处理装置接收到的第二信息处理装置固有的识别信息来产生第一中间密钥;判定密钥产生装置,用于通过将所述函数应用于所述第一中间密钥n次来产生判定密钥;次数数据发送装置,用于使所述第一发送/接收装置向所述第二信息处理装置发送表示所述判定密钥产生装置将所述函数应用于所述第一中间密钥的次数的次数数据;以及,验证装置,用于通过校验是否判定密钥等于所述第一发送/接收装置从所述第二信息处理装置接收到的中间密钥来验证所述第二信息处理装置。所述第二信息处理装置包括:第二存储装置,用于保存分配给其自身的固有识别信息、在将所述函数应用于所述第一中间密钥Gb次后产生的许可证密钥、表示所述许可证密钥版本的版本数据以及所述预置函数,其中Gb是自然数;第二发送/接收装置,用于向所述第一信息处理装置发送和从所述第一信息处理装置接收数据;第二中间密钥产生装置,用于通过利用所述第二发送/接收装置从所述第一信息处理装置接收到的所述次数数据,将所述函数应用于所述许可证密钥(n-Gb)次来产生第二中间密钥;以及,中间密钥信息发送装置,用于使所述第二发送/接收装置向所述第一信息处理装置发送关于第二中间密钥的中间密钥信息。
按照本发明的另一个方面,提供了一种在信息处理系统中采用的信息处理方法,所述信息处理系统由保存业务密钥和预置函数的第一信息处理装置、保存分配给其自身的固有识别信息、通过将所述函数应用于第一中间密钥Gb次而产生的许可证密钥、规定所述许可证密钥版本的版本数据和所述预置函数的第二信息处理装置组成,其中Gb是自然数。所述信息处理方法包括:识别信息请求步骤,用于使第一信息处理装置向第二信息处理装置请求第二信息处理装置固有的识别信息;识别信息发送/接收步骤,用于使第二信息处理装置向第一信息处理装置发送第二信息处理装置固有的识别信息;第一中间密钥产生步骤,用于通过将所述第一信息处理装置中的所述函数应用于所述识别信息发送/接收步骤中接收到的第二信息处理装置固有的识别信息、以及业务密钥,来产生所述第一中间密钥;判定密钥产生步骤,用于通过将所述第一信息处理装置中的所述函数应用于所述第一中间密钥n次来产生判定密钥,其中n是整数;次数数据发送/接收步骤,用于使所述第一信息处理装置向所述第二信息处理装置发送表示所述判定密钥产生步骤将所述函数应用于所述第一中间密钥的次数的次数数据;第二中间密钥产生步骤,用于在所述第二信息处理装置中利用所述次数数据接收步骤接收到的所述次数数据,将所述函数应用于许可证密钥(n-Gb)次,来产生第二中间密钥Klic_n;中间密钥信息发送/接收步骤,用于使所述第二信息处理装置向所述第一信息处理装置发送作为关于第二中间密钥的信息的中间密钥信息;以及,验证步骤,用于通过所述第一信息处理装置校验是否判定密钥等于所述中间密钥信息发送/接收步骤接收到的中间密钥,来验证所述第二信息处理装置。
按照本发明的另一个方面,提供了一种信息处理装置,包括:存储装置,用于保存业务密钥和预置函数;发送/接收装置,用于向另一个信息处理装置发送和从所述另一个信息处理装置接收数据;中间密钥产生装置,用于通过将所述函数应用于所述发送/接收装置从所述另一个信息处理装置接收到的所述另一个信息处理装置固有的识别信息和所述业务密钥,来产生中间密钥;判定密钥产生装置,用于通过将所述函数应用于所述中间密钥n次来产生判定密钥,其中n是整数;次数数据发送装置,用于使所述发送/接收装置向另一个信息处理装置发送表示所述判定密钥产生装置将所述函数应用于所述中间密钥的次数的次数数据;以及,验证装置,用于通过校验是否判定密钥等于所述发送/接收装置从所述另一个信息处理装置接收到的中间密钥信息,来验证所述另一个信息处理装置。
按照本发明的另一个方面,提供了一种信息处理方法,包括:识别信息接收步骤,用于向另一个信息处理装置请求所述另一个信息处理装置固有的识别信息并接收该识别信息;第一中间密钥产生步骤,用于通过将预置函数应用于所述识别信息接收步骤接收到的所述另一个信息处理装置固有的识别信息以及业务密钥,来产生所述第一中间密钥;判定密钥产生步骤,用于通过将所述函数应用于所述第一中间密钥n次来产生判定密钥,其中n是整数;次数数据发送步骤,用于向所述另一个信息处理装置发送表示所述判定密钥产生步骤将所述函数应用于所述第一中间密钥的次数的次数数据;中间密钥信息接收步骤,用于接收所述另一个信息处理装置根据所述次数数据产生的中间密钥信息;以及,验证步骤,用于通过校验是否判定密钥等于所述中间密钥信息接收步骤接收到的所述中间密钥信息,来验证所述另一个信息处理装置。
按照本发明的另一个方面,提供了一种信息处理装置,包括:存储装置,用于保存分配给其自身的固有识别信息、在将预置函数应用于第一中间密钥Gb次后产生的许可证密钥、表示所述许可证密钥版本的版本数据以及所述预置函数,其中Gb是自然数;发送/接收装置,用于向另一个信息处理装置发送和从所述另一个信息处理装置接收数据;第二中间密钥产生装置,用于通过利用所述发送/接收装置从所述另一个信息处理装置接收到的次数数据,将所述函数应用于所述许可证密钥(n-Gb)次来产生第二中间密钥;以及,中间密钥信息发送装置,用于使所述第二发送/接收装置发送作为关于第二中间密钥的信息的中间密钥信息。
按照本发明的另一个方面,提供了一种信息处理方法,包括:识别信息发送步骤,用于将分配给某个信息处理装置本身的固有识别信息发送到另一个信息处理装置;次数数据接收步骤,用于从所述另一个信息处理装置接收在所述另一个信息处理装置中为产生所述第一中间密钥而将预置函数应用于所述识别信息和业务密钥的次数数据n,其中n为整数;第二中间密钥产生步骤,用于利用在所述次数数据接收步骤中接收到的次数数据,将所述函数应用于许可证密钥(n-Gb)次,来产生第二中间密钥Klic_n,其中,所述许可证密钥是将所述函数应用于所述第一中间密钥Gb次后产生的,Gb是自然数;以及,中间密钥信息发送/接收步骤,用于发送作为关于所述第二中间密钥的信息的中间密钥信息。
附图的简要说明
图1是表示实施本发明的信息处理系统的示例结构的方框图;
图2是表示在该信息处理系统中的DVD播放机、个人计算机和磁光盘设备的内部具体示例结构的方框图;
图3示出在该信息处理系统中的源点和宿点之间进行的验证顺序;
图4是表示该验证信息处理系统基本顺序的时序图;
图5是表示具体验证信息处理系统顺序的时序图;
图6是表示在源点和宿点之间执行的另一种验证协议顺序的时序图。
发明的最佳实施方式
下面将参照附图详细说明本发明的最佳实施方式。
本发明应用于例如图1中所示的信息处理系统。
该信息处理系统由DVD播放机1、个人计算机2、磁光盘设备3、数据广播接收设备4、监视器5和电视接收机6组成。
图2表示DVD播放机1、个人计算机2和磁光盘设备3的具体示例内部结构。
DVD播放机1包括CPU 21、ROM 22、RAM 23、启动(acutating)单元24、驱动器25、1394接口26和EEPROM 27。
DVD播放机1通过1394接口26连接到IEEE 1394串行总线11上。CPU 21按照在ROM 22中保存的程序执行各种处理操作。RAM 23存储执行各种处理操作所必需的数据、程序等。启动单元24由按钮、开关、遥控器等组成,它根据用户的启动动作输出相关的信号。驱动器25驱动未示出的DVD来再现其中保存的数据。EEPROM 27用于保存在该设备断电后要保存的信息,如密钥信息等。
磁光盘设备3包括CPU 31、ROM 32、RAM 33、启动单元34、驱动器35、1394接口36和EEPROM 37等,这些部件通过内部总线38相互连接。组成磁光盘设备3的CPU 31、ROM 32、RAM 33、启动单元34、驱动器35、1394接口36、EEPROM 37和内部总线38所执行的功能与CPU21、ROM 22、RAM 23、启动单元24、驱动器25、1394接口26和EEPROM 27和内部总线28所执行的功能相同,为了简化说明在此不对它们进行详细描述。然而,驱动器35却用于驱动未示出的磁光盘来记录/再现其中的数据。
个人计算机2包括通过内部总线51互连的CPU 41、ROM 42、RAM43、输入/输出接口(I/F)44、1394接口49和EEPROM 50、以及连接到输入/输出接口44的键盘45、鼠标46、硬盘驱动器(HDD)47和扩展输入板48。
个人计算机2通过1394接口49连接到IEEE 1394串行总线11上。CPU41按照在ROM 42中保存的程序执行各种处理操作。ROM 43保存有执行所述各种处理操作所需的数据或程序。输入/输出接口44用于将来自键盘45或鼠标46的输入信号输出到CPU 41。输入/输出接口44用于在硬盘驱动器(HDD)47上记录或从中再现数据或程序。如果需要,还可以将扩展输入板48连接到输入/输出接口44,来补充必要的功能。EEPROM 50用于保存在断电后要保存的信息,如密钥信息等。内部总线51由例如PCI(外围设备互连)或本地总线构成。
而且,内部总线51对用户是开放的,这使得用户能够通过将预置的输入板连接到扩展输入板、或通过生成预置软件程序并将生成程序安装到CPU41中,来接收经内部总线51发送的数据。
相反地,对于消费电子设备(CE)如DVD播放机1或磁光盘设备3来说,内部总线28或38不对用户开放,于是由于不能进行具体改造,使得用户不能获得发送数据。
下面说明在源点和宿点之间进行的数据交换。
作为一种开始存储例如在DVD播放机1的ROM 22、个人计算机2的ROM 42中的软件程序,在固件20中保存的用于版权保护的验证处理程序,在与作为一种由CPU 41处理的软件程序的许可证管理器62之间实际交换数据之前执行。
通常能够在个人计算机2上装载可选程序来使用个人计算机。存在使用非法备制的应用程序的场合。因此,本发明的个人计算机2对于装载的应用程序逐个执行在应用单元61和许可证管理器62之间的验证处理。在此情况下,许可证管理器62和应用单元61分别作为源点和宿点。
如果所执行的验证处理证实宿点是经过认证的,则加密的实际数据就从源点传送到宿点,并解码加密的实际数据。
也就是说,为了解码,通过串行总线11传输作为源点的DVD播放机1输出的作为实际数据的图像数据。
在DVD播放机1中,1394接口26利用会话(session)密钥S和时变(timechange)密钥i来执行加密。会话密钥S和时变密钥i,更确切地说是形成时变密钥i的密钥i’,是从固件20发往1394接口26的。
会话密钥S由作为初始密钥的初始密钥Ss、和用来扰乱时变密钥i的扰乱密钥Si组成。会话密钥S和时变密钥i是采用下面要说明的验证处理产生的预定位数的加密密钥sk(=sk’)的高位比特和低位比特来构成的。每次会话,例如每个运动图像信息或每次再现过程,要更新一次的会话密钥S在同一会话中是不变的。相反地,由扰乱密钥Si和密钥i’组成的时变密钥i在一个会话中频繁更新。例如,将时间信息等用作该密钥。
这样加密的实际密钥通过IEEE 1394串行总线11发送并由个人计算机2的1394接口49接收。在个人计算机2中,许可证管理器62将会话密钥S的初始值密钥Ss发送到应用单元61,同时将扰乱密钥Si和时变密钥i(更确切地说是产生时变密钥i的密钥i’)发送到1394接口49。在1394接口49中,根据扰乱密钥Si和密钥i’产生时变密钥i,并用其来执行第一阶段的解码。解码后的实际数据在应用单元61中采用会话密钥S(更确切地说,时初始值密钥Ss)来进行第二阶段的解码。
在个人计算机2中,内部总线51对用户是开放的,但要想从外部访问内部总线51上的数据却不方便。因此,在应用单元61中仅进行第一阶段解码,这样实际数据仍处于加密状态。然后,应用单元61进行第二阶段解码来产生完全解密的平文(plane sentence)。这就禁止了在内部总线51中交换的数据被复制到硬盘47或其它设备上。
图4示出了在源点(DVD播放机1)和宿点(个人计算机2)之间执行的验证处理的基本顺序。
在作为源点的DVD播放机1的EEPROM 27中存有预先保存的业务密钥(Service_key)和散列函数(H1、H2)。版权所有者将这些数据设置给DVD播放机1的用户并秘密存储在EEPROM 27中。
从版权所有者提供给另一方的每一种信息中所给出的业务密钥,在IEEE1394串行总线11构成的系统中是通用的。
散列函数是对于任意长度的输入数据输出固定长度数据如64位数据或128位数据的函数,其中,如果给出Y(=hash(x)),则很难求出x,也很难求出一组x1和x2来满足hash(x1)=hash(x2)。典型的已知无方向散列函数是MD(消息摘要-Message Digest)和SHA(希奥戈尔散列算法-Soecure HashAlgorithm)。在布鲁斯施奈尔所著的《应用密码学》第二版(Bruce Schneier,“Applied Crytography”)中对这种无方向散列函数有详细讨论。
在作为源点的个人计算机2中,将其自身固有的识别号ID、许可证密钥(license_key)、散列函数(H1、H2)和指示许可证密钥(license_key)版本的数据Gb秘密保存在EEPROM 50中。
许可证密钥(license_key)是把在将n位的识别号(ID)与m位的业务密钥(Service_key)连接而获得的连接数据(ID‖Service_key)代入散列函数H1 Gb次后得到的数值。即,许可证密钥(license_key)由下面的方程来表示:
license_key=H1⌒Gb(ID‖Service_key)其中H1⌒Gb表示将散列函数应用Gb次。
可以使用在例如IEEE 1394串行总线11标准中规定的node_unique_ID(结点识别号)作为识别号(ID)。node_unique_ID由8字节(64位)构成,其三个高位字节由IEEE来管理并由IEEE根据不同电子设备生产商设置了适当值,而各个生产商将五个低位字节设置给提供给用户的设备。各个生产商顺序地为每个设备设置五个低位字节的号码,并且如果这五个字节被用光,则为各个生产商设置号码不同的三个高位字节的node_unique_ID,这样其五个低位字节被用来为每个设备分配一个号码。因此,无论生产商是否相同,设备的node_unique_ID相互之间是不同的,而且对于每个设备来说是唯一的。
参照图4,将说明在发送和接收实际数据之前的验证处理。
在步骤S1,个人计算机2的许可证管理器62控制1394接口49将验证请求经IEEE 1394串行总线11发送给DVD播放机1。
在步骤S2,DVD播放机1的固件20接收验证请求。在下一个步骤S3,固件20向个人计算机2请求识别号(ID),以执行验证处理。
在步骤S4,个人计算机2的许可证管理器62接收识别号(ID)的请求,并且在步骤S5,响应该请求读出在EEPROM 50中保存的识别号(ID),将读出的识别号发送给DVD播放机1。
在步骤S6,DVD播放机1的固件20接收识别号(ID)。在步骤S7,固件20读出在EEPROM 27中保存的许可证密钥(license_key),并将接收到的识别号(ID)连接到许可证密钥(license_key)以产生连接数据,此连接数据的高位比特是识别号(ID),低位比特是许可证密钥(license_key)。然后,固件20将产生的连接数据代入散列函数H1,以产生一个密钥Km,此过程如下表示:
Km=H1(ID‖Service_key)
在下一个步骤S8,DVD播放机1的固件20选择一个变量n,它满足0≤n≤C1,然而,由于n被预置成满足0≤n≤C1,所以就不必在步骤S8选择了。C1是系统中预定的常数。在步骤S9,固件20将步骤S7产生的密钥Km代入散列函数H1 n次以产生密钥Km_n,如下列方程所示:
Km_n=H1⌒n(Km)应注意H1⌒n表示将散列函数H1应用n次,这样若n=0,则Km_n=Km。而且,在步骤S31,固件20产生一个随机数Na。在步骤S10,固件20将变量n发送到个人计算机2。
在步骤S11,个人计算机2的许可证管理器62接收变量n,在步骤S34将在EEPROM 50中保存的许可证密钥(license_key)代入散列函数H1(n-Gb)次,以产生密钥Klic_n,如下列方程所示:
Klic_n=H1⌒(n-Gb)(license_key)
此时,在(n-Gb)中的n是在步骤S11接收的变量n,Gb是规定在个人计算机2的EEPROM 50中保存的许可证密钥(license_key)版本的信息。如前所述,许可证密钥(license_key)是把在将n位的识别号(ID)与m位的业务密钥(Service_key)连接而获得的连接数据(ID‖Service_key)代入散列函数H1 Gb次后产生的。因此,在将许可证密钥(license_key)代入散列函数H1(n-Gb)次后产生密钥Klic_n,若(n-Gb)=0则Klic_n等于License_key,若(n-Gb)≥0则Klic_n等于将连接数据(ID‖Service_key)代入散列函数H1 n次后产生的Km_n。
如果(n-Gb)<0,则该操作等于将散列函数应用负的次数,即求该散列函数的反函数,如上所述。然而,很难求得该散列函数的反函数。因此,在(n-Gb)<0的情况下,实际上不可能产生密钥Klic_n。所以,如果利用这一特性,就可以管理许可证密钥(license_key)的版本信息Gb。例如,如果存在作为宿点设备的一个具有高级保密功能的设备和一个具有低级保密功能的设备,则将“1”和“2”分别设置成具有高级保密功能的设备和具有低级保密功能的设备的许可证密钥(license_key)的版本信息Gb。如果设置给具有低级保密功能的设备的Gb=2的许可证密钥(license_key)被未授权用户发现,则源点能够选择变量n为“1”,从而对于此具有低级保密功能的设备来说(n-Gb)<0,这样就不能够产生密钥Klic_n,所以就不能被验证。
因此,如果将具有较大值的版本信息Gb的高次许可证密钥(license_key)设置给具有低级保密功能的设备,在许可证密钥(license_key)变得明显的场合,则能够在源点通过选择变量n来执行用于从验证范围排除具有高次许可证密钥的宿点的处理。
在步骤S13,许可证管理器62将具有作为密钥的密钥Klic_n的Keyedhash函数(带有密钥的散列函数)应用于其中高位比特具有第一值Na和低位比特具有第二值Nb的数据(Na‖Nb),来产生响应值R,如下列方程表示:
R=Keyedhash H2(Klic_n,Na‖Nb)
此时,Keyedhash函数是具有一个密钥的散列函数,这样Keyedhash H2(Klic_n,Na‖Nb)就表示上述数据(Na‖Nb)被代入具有作为密钥的Klic_n的Keyedhash函数H2。
在步骤S14,许可证管理器62将响应值R发送到DVD播放机1。
在步骤S15,DVD播放机1的固件20接收由许可证管理器62发送的响应值R。在步骤S16,固件20校验是否在步骤S9将数据(Na‖Nb)代入Keyedhash函数H2获得的响应值R’等于在步骤S15接收的响应值R,数据(Na‖Nb)的高位比特具有第一值Na和低位比特具有第二值Nb。
如果在步骤S9产生的密钥Km_n等于在步骤S13产生的密钥Klic_n,在步骤S16产生的响应值R’就等于在步骤S15接收的响应值R。
如果产生的响应值R’不等于接收的响应值R,固件20就校验出个人计算机2的许可证管理器62不是认证的,并毁坏接收的响应值R,以终止验证处理。
反之,如果产生的响应值R’等于接收的响应值R,则固件20认证所接收的响应值。
图5示出了在源点(DVD播放机1)和宿点(个人计算机2)之间执行的具体验证处理的顺序。
在作为源点的DVD播放机1的EEPROM 27中最初存有业务密钥(Service_key)和散列函数(H1、H2、H3)。版权所有者将这些数据设置给DVD播放机1的用户并秘密存储在EEPROM 27中。
版权所有者所给出的业务密钥,在IEEE 1394串行总线11构成的系统中是通用的。
在作为宿点的个人计算机2中,将其自身固有的识别号(ID)、许可证密钥(license_key)、散列函数(H1、H2、H3)和指示许可证密钥(license_key)版本的数据Gb秘密保存在EEPROM 50中。
许可证密钥(license_key)由下面的方程来给出:
license_key=H1⌒Gb(ID‖Service_key)其中H1⌒Gb表示将散列函数H1应用Gb次。即许可证密钥(license_key)是把在将n位的识别号(ID)与m位的业务密钥(Service_key)连接而获得的n+m位连接数据(ID‖Service_key)代入散列函数H1 Gb次后得到的数值。
可以使用在标准IEEE 1394串行总线11标准中规定的node_unique_ID作为识别号(ID)。
参照图5,将说明在发送和接收实际数据之前的具体验证处理。
在步骤S21,个人计算机2的许可证管理器62产生一个随机数Nb。在步骤S22,许可证管理器62控制1394接口49将所产生的随机数Nb和版本信息Gb与验证请求一起经IEEE 1394串行总线11发送到DVD播放机1。
在步骤S23,DVD播放机1的固件20接收随机数Nb、版本信息Gb和验证请求。在下一个步骤S24,固件20向个人计算机2请求识别号(ID)。
在步骤S25,个人计算机2的许可证管理器62接收识别号(ID)的请求,并且在步骤S26,响应该请求读出在EEPROM 50中保存的识别号(ID),将读出的识别号发送给DVD播放机1。
在步骤S27,DVD播放机1的固件20接收识别号(ID)。在步骤S28,固件20读出在EEPROM 27中保存的许可证密钥(license_key),并将接收到的识别号(ID)连接到许可证密钥(license_key)以产生连接数据,此连接数据的高位比特是识别号(ID),低位比特是许可证密钥(license_key)。然后,固件20将产生的连接数据(ID‖Service_key)代入散列函数H1,以产生一个密钥Km,此过程如下方程表示:
Km=H1(ID‖Service_key)
在下一个步骤S29,DVD播放机1的固件20选择一个变量n,它应满足0≤n≤C1,然而,由于n被预置成满足0≤n≤C1,所以就不必在步骤S29选择了。C1是系统中预定的常数。在步骤S30,固件20将步骤S28产生的密钥Km代入散列函数H1n次以产生密钥Km_n,如下列方程所示:
Km_n=H1⌒n(Km)应注意H1⌒n表示将散列函数H1应用n次,这样若n=0,则Km_n=Km。而且,在步骤S31,固件20产生一个随机数Na。在步骤S32,固件20将随机数Na和变量n发送到个人计算机2。
在步骤S33,个人计算机2的许可证管理器62接收随机数Na和变量n,然后在步骤S34将在EEPROM 50中保存的许可证密钥(license_key)代入散列函数H1(n-Gb)次,以产生密钥Klic_n,如下列方程所示:
Klic_n=H1⌒(n-Gb)(license_key)
此时,在(n-Gb)中的n是在步骤S33接收的变量n,Gb是规定在个人计算机2的EEPROM 50中保存的许可证密钥(license_key)版本的信息。如前所述,许可证密钥(license_key)是把在将n位的识别号(ID)与m位的业务密钥(Service_key)连接而获得的连接数据(ID‖Service_key)代入散列函数H1 Gb次后产生的。因此,在将许可证密钥(license_key)代入散列函数H1(n-Gb)次后产生密钥Klic_n,若(n-Gb)=0,则Klic_n等于License_key,若(n-Gb)≥0,则Klic_n等于将连接数据(ID‖Service_key)代入散列函数H1 n次后产生的Km_n。
如果(n-Gb)<0,则该操作等于将散列函数应用负的次数,即求该散列函数的反函数,然而,如上所述,很难求得该散列函数的反函数。因此,在(n-Gb)<0的情况下,实际上不可能产生密钥Klic_n。所以,如果利用这一特性,就可以管理许可证密钥(license_key)的版本信息Gb。例如,如果存在作为宿点设备的一个具有高级保密功能的设备和一个具有低级保密功能的设备,则将“1”和“2”分别设置成具有高级保密功能的设备和具有低级保密功能的设备的许可证密钥(license_key)的版本信息Gb。如果设置给具有低级保密功能的设备的Gb=2的许可证密钥(license_key)被未授权用户发现,则源点能够选择变量n为“1”,从而对于此具有低级保密功能的设备来说(n-Gb)<0,这样该设备就不能够产生密钥Klic_n,所以就不能被验证。
因此,如果将具有较大值的版本信息Gb的高次许可证密钥(license_key)设置给具有低级保密功能的设备,在许可证密钥(license_key)变得明显的场合,则能够在源点通过选择变量n来执行用于从验证范围中排除具有高次许可证密钥的宿点的处理。
在步骤S35,许可证管理器62将在步骤S33接收的随机数Na与在步骤S21产生的随机数Nb连接后获得的连接数据(Na‖Nb)代入具有作为密钥的密钥Klic_n的Keyedhash函数H2,来产生响应值R,如下列方程表示:
R=Keyedhash H2(Klic_n,Na‖Nb)
此时,Keyedhash函数是具有一个密钥的散列函数,这样Keyedhash H2(Klic_n,Na‖Nb)就表示上述数据(Na‖Nb)被代入具有作为密钥的Klic_n的Keyedhash函数H2。
在步骤S36,许可证管理器62将响应值R发送到DVD播放机1。
在步骤S37,DVD播放机1的固件20接收由许可证管理器62发送的响应值R。在步骤S38,固件20校验是否将连接数据(Na‖Nb)代入在步骤S30产生的Keyedhash函数H2获得的响应值R’等于在步骤S37接收的响应值R,数据(Na‖Nb)是将步骤31的随机数Na和步骤S3的随机数Nb连接后获得的。
如果在步骤S30产生的密钥Km_n等于在步骤S34产生的密钥Klic_n,则在步骤S38产生的响应值R’等于在步骤S37接收的响应值R。
如果产生的响应值R’不等于接收的响应值R,固件20就校验出个人计算机2的许可证管理器62不是认证的,并毁坏接收的响应值R,以终止验证处理。
反之,如果产生的响应值R’等于接收的响应值R,则固件20认证所接收的响应值。
在步骤S39,固件20将在步骤S30产生的密钥Km_n与在步骤S31产生的随机数Na以及在步骤S3接收的随机数Nb连接起来,以产生连接数据(Km_n‖Na‖Nb),然后将该连接数据代入散列函数H3来产生密钥Kab,如下列方程所示:
Kab=H3(Km_n‖Na‖Nb)
在下一个步骤S40,固件20产生会话密钥sk。在步骤S41,固件20利用在步骤S39产生的密钥kab通过下列方程的计算来加密会话密钥sk:
X=Enc(Kab,sk)以产生加密数据(加密密钥)X。Enc(A,B)表示在通用密钥加密系统中利用密钥A加密数据B。在步骤S42,固件20将产生的加密密钥X发送到个人计算机2。
在步骤S43,个人计算机2的许可证管理器62接收加密密钥X。在步骤S44,许可证管理器62将在步骤S34产生的密钥Klic_n与在步骤S33接收的随机数Na以及在步骤S21产生的随机数Nb连接起来,以产生连接数据(Klic_n‖Na‖Nb),然后将该连接数据代入散列函数H3来产生密钥Kab’,如下列方程所示:
Kab’=H3(Km_n‖Na‖Nb)
在下一个步骤S45,许可证管理器62利用在步骤S44产生的密钥Kab’解码在步骤S43接收的加密密钥X,来按照下列方程计算会话密钥sk’:
sk’=Dec(Kab’,X)其中Dec(A,B)表示在通用密钥加密系统中利用密钥A解码数据B。此处,作为在通用密钥加密系统中的加密算法,存在一种已知的DES(数据加密标准)。而且,在上述维利公司出版的《应用密码学》第二版(“AppliedCrytography”,Second Edition,Wiley)中对通用密钥加密系统有详细的论述。
在步骤S39由DVD播放机1的固件20产生的密钥Kab的值与在步骤S44由个人计算机2的许可证管理器62产生的密钥Kab’的值相同,即满足下列方程:
Kab=Kab’
因此,在步骤S45由个人计算机2的许可证管理器62解码加密密钥X而得到的会话密钥sk’的值,与在步骤S40由DVD播放机1的固件20产生的会话密钥sk的值相同,即满足下列方程:
sk’=sk
于是,DVD播放机1(源点)的固件20和个人计算机2(宿点)的许可证管理器62能够提供相同的会话密钥sk,sk’。因此,可以直接将会话密钥用作加密密钥,或者可以从中产生各伪随机数来用作加密密钥。
由于根据各个设备的固有识别号(ID)和用于提供信息的业务密钥(Service_key)来产生许可证密钥(license_key),所以就不可能提供第三方设备来产生会话密钥sk或sk’。另一方面,由于没有为未被版权所有者授权的设备提供许可证密钥(license_key),所以就不能产生会话密钥sk和sk’。因此,如果DVD播放机1利用会话密钥sk加密实际数据后将经加密的实际数据发送到个人计算机2,并且个人计算机2正确地获得了许可证密钥(license_key),则个人计算机2会拥有在解码加密密钥X后获得的会话密钥sk’,所以它能够解码从DVD播放机1发送的被加密的实际数据。然而,如果个人计算机2没有被授权,则它不能解码发送来的加密密钥X。换句话说,只有被授权的设备能够产生通用密钥sk,sk’,这样就实现了验证。
如果一台个人计算机2的许可证密钥(license_key)被盗窃,由于个人计算机的识别号(ID)相互之间是不同的,所以未被授权的设备不可能解码DVD播放机1发送来的经加密的实际数据,因此提高了安全性。
在上述的实施例中,使用了多个散列函数。然而,也可以使用单个散列函数。现在参照图6的时序图,将以广泛用作散列函数的MD(消息摘要)为例来说明这种验证过程。
MD 5每次处理512×m-64位的输入数据以输出128位的输出数据,其中m=1,2,…,。在上述维利公司出版的《应用密码学》第二版(“AppliedCrytography(Second Edition),Wiley”)中对MD 5有详细的论述。
在图6所示的验证过程中,从步骤S51到步骤S57的处理与图5所示的验证处理过程中从步骤S21列S27的处理相同,故而在此不进行具体地说明。
在步骤S58,DVD播放机1的固件20将常数E1、从个人计算机2接收的识别号(ID)、以及在EEPROM27中保存的业务密钥(Service_key)连接起来,以产生连接数据(E1‖ID‖Service key),然后将该连接数据(E1‖ID‖Service_key)代入散列函数MD 5来产生密钥Km,如下列方程所示:
Km=MD5(E1‖ID‖Service_key)
应注意,常数E1是最初在系统中共同设定的。下面要涉及的常数E2和E4也是如此。在各种系统中秘密保存这些常数。
如果在上述的求密钥Km的方程中E1是256位,识别号(ID)是64位而业务密钥(Service_key)是128位,则将这些数据连接后得到的连接数据的总位数是448位。通过将该连接数据代入散列函数MD 5,将该连接数据(E1‖ID‖Service_key)压缩为128位,以便用作密钥Km。
在下一个步骤S59,DVD播放机1的固件20选择一个变量n,它应满足0≤n≤C1,变量n的选择与步骤S29的处理相同。在步骤S60,固件20将常数E2与步骤S58产生的密钥Km连接,并将得到的连接数据(E2‖Km)代入散列函数MD 5n次以产生密钥Km_n,如下列方程所示:
Km_n=MD 5⌒n(E2‖Km)此处,MD 5⌒n表示将散列函数MD 5应用n次,这样若n=0,则Km_n=(E2‖Km)。
在上述求密钥Km_n的方程中,密钥Km为128位数据,这样通过将常数设置为320位,连接数据(E2‖Km)的总位数为448位。通过将该连接数据代入散列函数MD 5,将该连接数据(E2‖Km)压缩为128位,以便得出密钥Km_n。
在步骤S61,固件20产生一个随机数Na。在步骤S62,固件20将产生的随机数Na和在步骤S59选择的变量n发送到个人计算机2。
在步骤S63,个人计算机2的许可证管理器62接收随机数Na和变量n。在步骤S64,许可证管理器62将在EEPROM 50中保存的许可证密钥(license_key)代入散列函数MD 5(n-Gb)次,以产生密钥Klic_n。
此时,如图5所示的验证过程中在步骤S34的情况那样,若(n-Gb)=0,则Klic_n等于License_key,这样若(n-Gb)<0,则不产生Klic_n。
在步骤S65,许可证管理器62将常数E3、在步骤S63接收的随机数Na、在步骤S51产生的随机数Nb以及在步骤S64产生的密钥Klic_n连接起来后,将获得的连接数据(E3‖Na‖Nb‖Klic_n)代入散列函数MD 5,来产生响应值R,如下列方程表示:
R=MD 5(E3‖Na‖Nb‖Klic_n)如果在产生响应值R的方程中常数E3为64位,随机数Na、Nb和密钥Klic_n均为128位,则连接数据(E3‖Na‖Nb‖Klic_n)的总位数为448。通过将该连接数据(E3‖Na‖Nb‖Klic_n)代入散列函数MD 5,将该连接数据(E3‖Na‖Nb‖Klic_n)压缩为128位,以便作为响应值R输出。
在步骤S66,许可证管理器62将响应值R发送到DVD播放机1。
在步骤S67,DVD播放机1的固件20接收由许可证管理器62发送的响应值R。在步骤S68,固件20校验是否将此连接数据(E3‖Na‖Nb‖Klic_n)代入散列函数MD 5获得的响应值R’等于在步骤S67接收的响应值R,连接数据(E3‖Na‖Nb‖Klic_n)是将常数E3、在步骤S61产生的随机数Na、在步骤S53接收的随机数Nb以及在步骤S53产生的密钥Km_n连接起来后获得的。
如果产生的响应值R’不等于接收的响应值R,固件20就校验出个人计算机2的许可证管理器62不是认证的,并毁坏接收的响应值R,以终止验证处理。
如果产生的响应值R’等于接收的响应值R,则固件20进行步骤S69。
在步骤S69,固件20将常数E4、在步骤S53接收的随机数Nb、在步骤S61产生的随机数Na以及在步骤S60产生的密钥Km_n连接起来,以产生连接数据(E4‖Nb‖Na‖Km_n),然后将该连接数据代入散列函数MD5来产生密钥Kab,如下列方程所示:
Kab=MD 5(E4‖Nb‖Na‖Km_n)如果在产生密钥Kab的方程中常数E4为64位,随机数Na、Nb和密钥Klic_n均为128位,则连接数据(E4‖Nb‖Na‖Km_n)的总位数为448。通过将连接数据(E3‖Nb‖Na‖Km_n)代入散列函数MD 5,将连接数据(E3‖Nb‖Na‖Km_n)压缩为128位,以便作为密钥值Kab输出。
在下一个步骤S70,固件20产生会话密钥sk。在步骤S71,固件20利用在步骤S69产生的密钥kab通过下列方程来加密会话密钥sk:
X=Enc(Kab,sk)以产生加密数据(加密密钥)X。在步骤S72,固件20将产生的加密密钥X发送到个人计算机2。
在步骤S73,个人计算机2的许可证管理器62接收加密密钥X。在步骤S74,许可证管理器62将常数E4、在步骤S71产生的随机数Nb、在步骤63接收的随机数Na以及在步骤S64产生的密钥Klic_n连接起来,以产生连接数据(E4‖Nb‖Na‖Klic_n),然后将该连接数据代入散列函数MD5来产生密钥Kab’,如下列方程所示:
Kab’=H3(Km_n‖Na‖Nb)
在下一个步骤S75,许可证管理器62利用在步骤S74产生的密钥Kab’解码在步骤S73接收的加密密钥X,来按照下列方程计算会话密钥sk’:
sk’=Dec(Kab’,X)
如果在DVD播放机1(源点)的固件20和个人计算机2的许可证管理器62中共同使用相同的散列函数MD 5,则在上述步骤S69由DVD播放机1的固件20产生的密钥Kab的值,与在上述步骤S74由个人计算机2的许可证管理器62产生的密钥Kab’的值相同,即满足下列方程:
Kab=Kab’
另一方面,在上述步骤S75由个人计算机2的许可证管理器62解码加密密钥X而得到的会话密钥sk’的值,与在步骤S70由DVD播放机1的固件20产生的会话密钥sk的值相同,即满足下列方程:
sk’=sk
如上所述,密钥Kab用于加密会话密钥sk。然而,如果考虑到上述出口限制,只可以使用较短的比特序列,则提供一种新的系统通用函数F来减小密钥的长度。此函数F需要秘密保存在系统中。作为一种减小方法,如果采用如输出128位输入比特的高位64比特和低位64比特的XOR(异或)的函数F,则能够将128位比特串减小为64位比特串。
在上述说明中,DVD播放机1(固件20)是源点,而个人计算机2(许可证管理器12)是宿点。然而,哪个设备是源点哪个设备是宿点并不重要。用于互连电子设备的外部总线可以时任何适用的总线,而不受限于1394串行总线,而且,连接到该总线的电子设备可以是任何适用设备,而不受限于上述的实施例。
用于执行上述各种命令的计算机程序可以通过如CD-ROM等记录介质、或如网络等传输介质发送给用户,以便存储在内置的RAM或者如果需要存储在硬盘中。
Claims (39)
1.一种信息处理系统,包括:
第一信息处理装置和第二信息处理装置;所述第一信息处理装置包括:
第一存储装置,用于保存业务密钥和预置函数;
第一发送/接收装置,用于向第二信息处理装置发送和从第二信息处理装置接收数据;
第一中间密钥产生装置,用于通过将所述函数应用于所述业务密钥和所述第一发送/接收装置从所述第二信息处理装置接收到的第二信息处理装置固有的识别信息来产生第一中间密钥;
判定密钥产生装置,用于通过将所述函数应用于所述第一中间密钥n次来产生判定密钥,其中n是整数;
次数数据发送装置,用于使所述第一发送/接收装置向所述第二信息处理装置发送表示所述判定密钥产生装置将所述函数应用于所述第一中间密钥的次数的次数数据;以及
验证装置,用于通过校验是否判定密钥等于所述第一发送/接收装置从所述第二信息处理装置接收到的中间密钥来验证所述第二信息处理装置;
所述第二信息处理装置包括:
第二存储装置,用于保存分配给其自身的固有识别信息、在将所述函数应用于所述第一中间密钥Gb次后产生的许可证密钥、表示所述许可证密钥版本的版本数据以及所述预置函数,其中Gb是自然数;
第二发送/接收装置,用于向所述第一信息处理装置发送和从所述第一信息处理装置接收数据;
第二中间密钥产生装置,用于通过利用所述第二发送/接收装置从所述第一信息处理装置接收到的所述次数数据,将所述函数应用于所述许可证密钥(n-Gb)次来产生第二中间密钥;
中间密钥信息发送装置,用于使所述第二发送/接收装置向所述第一信息处理装置发送关于第二中间密钥的中间密钥信息。
2.如权利要求1所述的信息处理系统,其中,所述第一信息处理装置还包括:
第一值产生装置,用于产生第一值并使所述第一发送/接收装置向所述第二信息处理装置发送所述第一值;以及
第一计算装置,用于对所述判定密钥、所述第一值和所述第一发送/接收装置从所述第二信息处理装置接收到的第二值进行计算,并将计算结果发送给所述验证装置;以及
其中,所述第二信息处理装置还包括:
第二值产生装置,用于产生第二值并使所述第二发送/接收装置向所述第一信息处理装置发送所述第二值;以及
第二计算装置,用于对所述第二中间密钥、所述第二值和所述第二发送/接收装置从所述第一信息处理装置接收到的第一值进行计算,以产生所述第二中间密钥的所述中间密钥信息。
3.如权利要求2所述的信息处理系统,其中,至少第一值产生装置或第二值产生装置之一是用于产生随机数的随机数产生装置。
4.如权利要求1所述的信息处理系统,其中,所述第一信息处理装置还包括:
设置装置,用于设置所述判定密钥产生装置将所述函数应用于所述第一中间密钥的次数n;以及
其中,所述判定密钥产生装置通过将所述函数应用于所述第一中间密钥如所述设置装置设定的次数n来产生判定密钥。
5.如权利要求2所述的信息处理系统,其中,所述第一信息处理装置还包括:
加密密钥产生装置,用于在所述验证装置校验出相等状态的场合,通过将所述函数应用于所述判定密钥、所述第一值和所述第二值来产生加密密钥;
会话密钥产生装置,用于产生会话密钥;以及
加密装置,用于利用所述加密密钥加密所述会话密钥,并将加密后的会话密钥发送给所述第二信息处理装置;
所述第二信息处理装置包括:
解码密钥产生装置,用于通过将所述函数应用于所述第二中间密钥、所述第一值和所述第二值来产生解码密钥;以及
解码装置,用于利用所述解码密钥解码所述第一信息处理装置发送来的所述加密后的会话密钥。
6.如权利要求1所述的信息处理系统,其中,所述第二信息处理装置还包括验证请求装置,用于使所述第一信息处理装置将请求验证的验证请求数据从所述第二发送/接收装置发送。
7.如权利要求6所述的信息处理系统,其中,所述第一信息处理装置还包括识别信息请求数据发送装置,用于在所述第一发送/接收装置从所述第二信息处理装置接收到所述验证请求数据后,使所述第一发送/接收装置将请求发送所述识别信息的识别信息发送到所述第二信息处理装置。
8.如权利要求7所述的信息处理系统,其中,所述第二信息处理装置还包括识别信息发送装置,用于在所述第二发送/接收装置从所述第一信息处理装置接收到所述识别信息请求数据后,使所述第二发送/接收装置发送所述识别信息。
9.一种在信息处理系统中采用的信息处理方法,所述信息处理系统由保存业务密钥和预置函数的第一信息处理装置、保存分配给其自身的固有识别信息、通过将所述函数应用于第一中间密钥Gb次而产生的许可证密钥、规定所述许可证密钥版本的版本数据和所述预置函数的第二信息处理装置组成,其中Gb是自然数,所述方法包括:
识别信息请求步骤,用于使所述第一信息处理装置向所述第二信息处理装置请求第二信息处理装置固有的识别信息;
识别信息发送/接收步骤,用于使第二信息处理装置向第一信息处理装置发送第二信息处理装置固有的识别信息;
第一中间密钥产生步骤,用于通过将所述第一信息处理装置中的所述函数应用于所述识别信息发送/接收步骤中接收到的第二信息处理装置固有的识别信息、以及业务密钥,来产生所述第一中间密钥;
判定密钥产生步骤,用于通过将所述第一信息处理装置中的所述函数应用于所述第一中间密钥n次来产生判定密钥,其中n是整数;
次数数据发送/接收步骤,用于使所述第一信息处理装置向所述第二信息处理装置发送表示在所述判定密钥产生步骤将所述函数应用于所述第一中间密钥的次数的次数数据;
第二中间密钥产生步骤,用于在所述第二信息处理装置中利用所述次数数据接收步骤接收到的所述次数数据,将所述函数应用于许可证密钥(n-Gb)次,来产生第二中间密钥Klic_n;
中间密钥信息发送/接收步骤,用于使所述第二信息处理装置向所述第一信息处理装置发送作为关于第二中间密钥的信息的中间密钥信息;
验证步骤,用于通过所述第一信息处理装置校验是否判定密钥等于所述中间密钥信息发送/接收步骤接收到的中间密钥,来验证所述第二信息处理装置。
10.如权利要求9所述的信息处理方法,还包括:
第一值产生步骤,用于在所述第一信息处理装置中产生第一值;
第一值发送/接收步骤,用于将所述第一值从所述第一信息处理装置发送到所述第二信息处理装置;
第二值产生步骤,用于在所述第二信息处理装置中产生第二值;
第二值发送/接收步骤,用于将所述第二值从所述第二信息处理装置发送到所述第一信息处理装置;
中间密钥信息产生步骤,用于通过在所述第二信息处理装置中对所述第二中间密钥、所述第二值和所述第一值发送/接收步骤接收到的所述第一值进行计算,来产生所述第二中间密钥的中间密钥信息;以及
计算步骤,用于在所述第一信息处理装置中对所述判定密钥、所述第一值和所述第二值发送/接收步骤接收到的所述第二值进行计算;
其中,在所述中间密钥信息发送/接收步骤中,所述第二信息处理装置将所述中间密钥信息产生步骤产生的所述第二中间密钥的中间密钥信息,发送到所述第一信息处理装置;
其中,在所述验证步骤中,所述验证步骤通过校验是否所述计算步骤的计算结果等于所述中间密钥信息发送/接收步骤接收到的所述中间密钥信息,来验证所述第二信息处理装置。
11.如权利要求10所述的信息处理方法,其中,至少第一值或第二值之一是随机数产生装置给出的随机数。
12.如权利要求9所述的信息处理方法,其中,所述判定密钥产生步骤还包含一个设置子步骤,用于设置将所述函数应用于所述第一中间密钥的次数n;
所述判定密钥产生步骤通过将所述函数应用于所述第一中间密钥如所述设置步骤设定的次数n来产生所述判定密钥。
13.如权利要求10所述的信息处理方法,还包括:
加密密钥产生步骤,用于在所述第一信息处理装置中所述验证步骤校验出相等状态的场合,通过将所述函数应用于所述判定密钥、所述第一值和所述第二值来产生加密密钥;
会话密钥产生步骤,用于在所述第一信息处理装置中产生会话密钥;
加密步骤,用于在所述第一信息处理装置中利用所述加密密钥加密所述会话密钥;
会话密钥发送/接收步骤,用于将所述加密步骤加密后的所述会话密钥从所述第一信息处理装置发送到所述第二信息处理装置;
解码密钥产生步骤,用于在所述第二信息处理装置中通过将所述函数应用于所述第二中间密钥、所述第一值和所述第二值来产生解码密钥;以及
解码步骤,用于在所述第二信息处理装置中利用所述解码密钥解码所述会话密钥发送/接收步骤接收到的所述加密后的会话密钥。
14.如权利要求9所述的信息处理方法,还包括:
验证请求步骤,用于将验证请求数据从所述第二信息处理装置发送到所述第一信息处理装置。
15.如权利要求14所述的信息处理方法,其中,在识别信息请求步骤中,在从所述第二信息处理装置接收到所述验证请求数据后,将请求向所述第二信息处理装置发送所述识别信息的识别信息请求数据,从所述第一发送/接收装置发送到所述第二信息处理装置。
16.如权利要求15所述的信息处理方法,其中,在识别信息发送/接收步骤中,在从所述第一信息处理装置接收到所述识别信息请求数据后,将所述识别信息从所述第二信息处理装置发送到所述第一信息处理装置。
17.一种信息处理装置,包括:
存储装置,用于保存业务密钥和预置函数;
发送/接收装置,用于向另一个信息处理装置发送和从所述另一个信息处理装置接收数据;
中间密钥产生装置,用于通过将所述函数应用于所述发送/接收装置从所述另一个信息处理装置接收到的所述另一个信息处理装置固有的识别信息和所述业务密钥,来产生中间密钥;
判定密钥产生装置,用于通过将所述函数应用于所述中间密钥n次来产生判定密钥,其中n是整数;
次数数据发送装置,用于使所述发送/接收装置向所述另一个信息处理装置发送表示所述判定密钥产生装置将所述函数应用于所述中间密钥的次数的次数数据;以及
验证装置,用于通过校验是否判定密钥等于所述发送/接收装置从所述另一个信息处理装置接收到的中间密钥信息,来验证所述另一个信息处理装置。
18.如权利要求17所述的信息处理装置,还包括:
第一值产生装置,用于产生第一值并使所述发送/接收装置向所述另一个信息处理装置发送所述第一值;以及
计算装置,用于对所述判定密钥、所述第一值和所述发送/接收装置接收到的第二值进行计算,并将计算结果发送给所述验证装置。
19.如权利要求18所述的信息处理装置,其中,所述第一值产生装置是用于产生随机数的随机数产生装置。
20.如权利要求17所述的信息处理装置,还包括:
设置装置,用于设置将所述函数应用于所述中间密钥的次数n;
所述判定密钥产生装置通过将所述函数应用于所述中间密钥如所述设置装置设定的次数n来产生判定密钥。
21.如权利要求18所述的信息处理装置,还包括:
加密密钥产生装置,用于在所述验证装置校验出相等状态的场合,通过将所述函数应用于所述判定密钥、所述第一值和所述第二值来产生加密密钥;
会话密钥产生装置,用于产生会话密钥;以及
加密装置,用于利用所述加密密钥加密所述会话密钥,并将加密后的会话密钥发送给所述第二信息处理装置。
22.如权利要求21所述的信息处理装置,还包括:
识别信息请求数据发送装置,用于在所述发送/接收装置从所述另一个信息处理装置接收到验证请求数据后,使所述发送/接收装置将请求发送识别信息的识别信息数据请求发送到所述另一个信息处理装置。
23.一种信息处理方法,包括:
识别信息接收步骤,用于向所述另一个信息处理装置请求所述另一个信息处理装置固有的识别信息并接收该识别信息;
第一中间密钥产生步骤,用于通过将所述预置函数应用于所述识别信息接收步骤接收到的所述另一个信息处理装置固有的识别信息、以及业务密钥,来产生所述第一中间密钥;
判定密钥产生步骤,用于通过将所述函数应用于所述第一中间密钥n次来产生判定密钥,其中n是整数;
次数数据发送步骤,用于向所述另一个信息处理装置发送表示所述判定密钥产生步骤将所述函数应用于所述第一中间密钥的次数的次数数据;
中间密钥信息接收步骤,用于接收所述另一个信息处理装置根据所述次数数据产生的中间密钥信息;以及
验证步骤,用于通过校验是否判定密钥等于所述中间密钥接收步骤接收到的所述中间密钥信息,来验证所述另一个信息处理装置。
24.如权利要求23所述的信息处理方法,还包括:
第一值产生步骤,用于产生第一值;
第一值发送步骤,用于将所述第一值发送到所述另一个信息处理装置;
第二值接收步骤,用于接收所述另一个信息处理装置发送来的第二值;
计算步骤,用于对所述判定密钥、所述第一值和所述第二值接收步骤接收到的所述第二值进行计算;
所述中间密钥信息接收步骤接收在所述另一个信息处理装置中根据所述第二中间密钥、所述第二值和所述第一值产生的中间密钥信息;
所述验证步骤通过校验所述计算步骤的计算结果、所述判定密钥、以及所述中间密钥信息接收步骤接收到的所述中间密钥信息相互之间是否相等,来验证所述另一个信息处理装置。
25.如权利要求24所述的信息处理方法,其中,所述第一值是随机数产生装置给出的随机数。
26.如权利要求23所述的信息处理方法,其中,所述判定密钥产生步骤还包含一个设置子步骤,用于设置将所述函数应用于所述第一中间密钥的次数n;
所述判定密钥产生步骤通过将所述函数应用于所述第一中间密钥如所述设置步骤设定的次数n来产生所述判定密钥。
27.如权利要求24所述的信息处理方法,还包括:
加密密钥产生步骤,用于在所述验证步骤校验出相等状态的场合,通过将所述函数应用于所述判定密钥、所述第一值和所述第二值来产生加密密钥;
会话密钥产生步骤,用于产生会话密钥;
加密步骤,用于利用所述加密密钥加密所述会话密钥;
会话密钥发送/接收步骤,用于发送所述加密步骤加密后的所述会话密钥。
28.如权利要求27所述的信息处理方法,其中,在所述识别信息请求步骤中,在从所述另一个信息处理装置接收到验证请求数据后,将请求向所述另一个信息处理装置发送所述识别信息的识别信息请求数据,发送到所述另一个信息处理装置。
29.一种信息处理装置,包括:
存储装置,用于保存分配给其自身的固有识别信息、在将预置函数应用于第一中间密钥Gb次后产生的许可证密钥、表示所述许可证密钥版本的版本数据以及所述预置函数,其中Gb是自然数;
发送/接收装置,用于向另一个信息处理装置发送和从所述另一个信息处理装置接收数据;
第二中间密钥产生装置,用于通过利用所述发送/接收装置从所述另一个信息处理装置接收到的次数数据,将所述函数应用于所述许可证密钥(n-Gb)次来产生第二中间密钥;以及
中间密钥信息发送装置,用于使所述第二发送/接收装置向所述第一信息处理装置发送作为关于第二中间密钥的信息的中间密钥信息。
30.如权利要求29所述的信息处理装置,包括:
第二值产生装置,用于产生第二值并使所述第二发送/接收装置向所述第一信息处理装置发送所述第二值;以及
计算装置,用于对所述第二中间密钥、所述第二值和所述发送/接收装置从所述另一个信息处理装置接收到的第一值进行计算,以产生所述第二中间密钥的所述中间密钥信息。
31.如权利要求30所述的信息处理装置,其中,第二值产生装置是用于产生随机数的随机数产生装置。
32.如权利要求29所述的信息处理装置,还包括:
验证请求装置,用于将验证请求数据从所述发送/接收装置发送到所述另一个信息处理装置。
33.如权利要求29所述的信息处理装置,还包括:
识别信息发送装置,用于在所述发送/接收装置从所述另一个信息处理装置接收到所述识别信息请求数据后,使所述发送/接收装置发送所述识别信息。
34.一种信息处理方法,包括:
识别信息发送步骤,用于将分配给某个信息处理装置本身的固有识别信息发送到另一个信息处理装置;
次数数据接收步骤,用于从所述另一个信息处理装置接收在所述另一个信息处理装置中为产生所述第一中间密钥而将预置函数应用于所述识别信息和业务密钥的次数数据n,其中n为整数;
第二中间密钥产生步骤,用于利用在所述次数数据接收步骤中接收到的次数数据,将所述函数应用于许可证密钥(n-Gb)次,来产生第二中间密钥Klic_n,其中,所述许可证密钥是将所述函数应用于所述第一中间密钥Gb次后产生的,Gb是自然数;以及
中间密钥信息发送/接收步骤,用于发送作为关于所述第二中间密钥的信息的中间密钥信息。
35.如权利要求34所述的信息处理方法,还包括:
第一值接收步骤,用于从所述另一个信息处理装置接收第一值;
第二值产生步骤,用于产生第二值;
第二值发送/接收步骤,用于将所述第二值发送到所述另一个信息处理装置;以及
中间密钥信息产生步骤,用于通过对所述第二值和所述第一值接收步骤接收到的所述第一值进行计算,来产生所述第二中间密钥的中间密钥信息;
所述中间密钥信息发送/接收步骤将所述中间密钥信息产生步骤产生的所述第二中间密钥的中间密钥信息,发送到所述另一个信息处理装置。
36.如权利要求35所述的信息处理方法,其中,所述第二值是随机数产生装置给出的随机数。
37.如权利要求35所述的信息处理方法,还包括:
会话密钥发送/接收步骤,用于从所述第一信息处理装置接收一个会话密钥,所述会话密钥被利用将所述函数应用于所述判定密钥、所述第一值和所述第二值而产生的加密密钥加密;
解码密钥产生步骤,用于通过将所述函数应用于所述第二中间密钥、所述第一值和所述第二值,来产生解码密钥;以及
解码步骤,用于利用所述解码密钥解码在所述会话密钥发送/接收步骤中接收到的所述加密后的会话密钥。
38.如权利要求34所述的信息处理方法,还包括:
验证请求步骤,用于将请求验证的验证请求数据发送到所述第一信息处理装置。
39.如权利要求38所述的信息处理方法,其中,在从所述另一个信息处理装置接收到所述识别信息请求数据后,所述识别信息发送/接收步骤将所述识别信息发送到所述第一信息处理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1343/1998 | 1998-01-07 | ||
JP134398 | 1998-01-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1249873A true CN1249873A (zh) | 2000-04-05 |
Family
ID=11498863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98803175A Pending CN1249873A (zh) | 1998-01-07 | 1998-12-28 | 数据处理系统、数据处理装置和数据处理方法 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP0966127A1 (zh) |
KR (1) | KR20000076003A (zh) |
CN (1) | CN1249873A (zh) |
ID (1) | ID22760A (zh) |
TW (1) | TW442754B (zh) |
WO (1) | WO1999035786A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100368952C (zh) * | 2000-12-20 | 2008-02-13 | 世嘉股份有限公司 | 安全系统 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4719950B2 (ja) * | 1999-11-11 | 2011-07-06 | ソニー株式会社 | 暗号鍵生成装置、暗号化・復号化装置および暗号鍵生成方法、暗号化・復号化方法、並びにプログラム提供媒体 |
US6898708B2 (en) * | 1999-12-07 | 2005-05-24 | Sanyo Electric Co., Ltd. | Device for reproducing data |
US6742129B1 (en) * | 1999-12-08 | 2004-05-25 | Carrier Corporation | Software security mechanism |
JP4370721B2 (ja) * | 2000-04-06 | 2009-11-25 | ソニー株式会社 | 情報記録装置、情報再生装置、情報記録方法、情報再生方法、キー更新端末装置、世代管理キー更新方法、および情報記録媒体、並びにプログラム提供媒体 |
CN100343775C (zh) * | 2004-05-25 | 2007-10-17 | 华为技术有限公司 | 一种许可证文件生成方法及软件产品保护方法和系统 |
JP2006121215A (ja) * | 2004-10-19 | 2006-05-11 | Fuji Electric Holdings Co Ltd | 鍵交換方法、及び、鍵交換処理装置 |
CN100416449C (zh) * | 2005-04-29 | 2008-09-03 | 国际商业机器公司 | 软件服务提供商自动获得及运行软件服务的方法和装置 |
CN102158757A (zh) * | 2010-02-11 | 2011-08-17 | 中兴通讯股份有限公司 | 终端及其电视业务的播放方法 |
JP6388622B2 (ja) * | 2016-07-21 | 2018-09-12 | Kddi株式会社 | 通信システム、端末装置、通信方法、及びプログラム |
JP6408522B2 (ja) * | 2016-07-21 | 2018-10-17 | Kddi株式会社 | 通信システム、端末装置、通信方法、及びプログラム |
US20230229743A1 (en) * | 2022-01-19 | 2023-07-20 | Sony Group Corporation | Re-encryption-based digital rights management |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH103256A (ja) * | 1995-10-16 | 1998-01-06 | Sony Corp | 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体 |
JPH10171903A (ja) * | 1996-12-11 | 1998-06-26 | Nippon Telegr & Teleph Corp <Ntt> | 電子現金方法及びこれに用いる装置 |
-
1998
- 1998-12-28 ID IDW990973A patent/ID22760A/id unknown
- 1998-12-28 EP EP98961646A patent/EP0966127A1/en not_active Withdrawn
- 1998-12-28 KR KR1019997008089A patent/KR20000076003A/ko not_active Application Discontinuation
- 1998-12-28 WO PCT/JP1998/006007 patent/WO1999035786A1/ja not_active Application Discontinuation
- 1998-12-28 CN CN98803175A patent/CN1249873A/zh active Pending
- 1998-12-31 TW TW087122026A patent/TW442754B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100368952C (zh) * | 2000-12-20 | 2008-02-13 | 世嘉股份有限公司 | 安全系统 |
Also Published As
Publication number | Publication date |
---|---|
ID22760A (id) | 1999-12-09 |
WO1999035786A1 (fr) | 1999-07-15 |
KR20000076003A (ko) | 2000-12-26 |
TW442754B (en) | 2001-06-23 |
EP0966127A1 (en) | 1999-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1190033C (zh) | 加密设备和方法、解密设备和方法及信息处理设备和方法 | |
CN1132103C (zh) | 从多种密码技术利用规程中选择适用规程以保护数字作品著作权的信息机器 | |
CN1314220C (zh) | 信息视听系统以及信息播放机器及信息提供装置 | |
CN1181678C (zh) | 提供设备之间的数字数据安全通信的方法和设备 | |
CN1192544C (zh) | 能够抑制密钥被破译时的受害范围的加密通信系统 | |
CN1258898C (zh) | 在通信网络中管理对称密钥的方法及实现该方法的设备 | |
CN1706148A (zh) | 相互验证方法、程序、记录介质、信号处理系统、再现装置、以及信息处理装置 | |
CN1764970A (zh) | 记录装置和内容保护系统 | |
JP2009044773A (ja) | 暗号化方法、復号化方法、秘密鍵生成方法およびプログラム | |
CN1910535A (zh) | 授权存取内容的方法 | |
CN1471021A (zh) | 保护媒体路径的方法、系统和体系结构 | |
US7620813B2 (en) | Method to authenticate a data processing apparatus having a recording device and apparatuses therefor | |
CN1643840A (zh) | 基于多项式的多用户密钥生成验证方法和系统 | |
CN1126339A (zh) | 视频数据总线通信系统和方法 | |
JP4585460B2 (ja) | 同一コンテンツから派生した形式の異なるコンテンツを複数個所で同時に利用することを防ぐ記憶装置、システム及び方法 | |
CN1812416A (zh) | 在客户域内管理数字内容的消费的方法及设备 | |
CN1716426A (zh) | 用于保护内容的方法、设备和程序 | |
CN1706149A (zh) | 内容再现装置、许可证发放服务器及内容再现系统 | |
CN1833233A (zh) | 记录和再现装置、数据处理装置及记录、再现和处理系统 | |
CN1249873A (zh) | 数据处理系统、数据处理装置和数据处理方法 | |
CN1294754C (zh) | 信息处理装置及信息处理方法 | |
US20090041424A1 (en) | Transmitting-side recording and reproducing apparatus, and receiving-side recording and reproducing apparatus | |
CN1381966A (zh) | 版权保护系统及方法 | |
JPH1065662A (ja) | データ復号方法および装置、認証方法、記録媒体、ディスク製造方法、記録方法、並びに記録装置 | |
JP2003234728A (ja) | 暗号化装置、復号化装置、秘密鍵生成装置、著作権保護システムおよび暗号通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |