专利名称:信息输入/输出系统的制作方法
技术领域:
本发明涉及使用公开密钥加密(public key encryption)的认证技术,特别是涉及使用标识有效和/或已撤销设备的列表的认证技术。
背景技术:
近年来,互联网的快速发展也导致了基于互联网进行通信的系统数量的增加。用于通过互联网购买和销售商品的电子交易系统就是一个这种例子。在其通信是基于互联网的系统中,确认与你通信的一方是系统中的授权参与者是必要的。这被称为“认证”(authentication)。试图通信的一方例如可以是操作设备的人员或通过预定程序执行处理的设备,虽然为了说明的目的,以下在所有例子中,共同地,“设备”是指通信方,同时认证设备的过程被称为“设备认证”。还应当注意,证明其真实性(authenticity)(即,其是系统中的授权参与者)的设备过程被称为“证明”,确认设备的真实性的过程被称为“验证”。认证过程包含设备的证明和验证。
加密技术包括公用密钥加密(common key encryption)和公开密钥(PK)加密。利用公用密钥加密,用于加密和解密的密钥是相同的。相对照的,利用PK加密,用于加密和解密的密钥是不同的。最好使用PK加密来执行认证。这是因为在使用公用密钥加密的认证中,认证结束时,验证方具有与证明方相同的密钥,这导致在完成认证之后验证方冒充证明方的危险。“密码”系统就是这种例子。在使用PK加密进行认证时,证明方使用私有密钥证明其真实性,验证方使用与私有密钥对应的公开密钥验证证明方。由于不能通过公开密钥来产生私有密钥,因此在认证之后,验证方不能冒充证明方。
应当注意,在PK加密中,使用私有密钥执行的处理被称为“执行签名”,并且使用对应的公开密钥确认签名的真实性被称为“验证签名”。
考虑以下使用PK加密执行的认证的例子第一设备将随机数据作为挑战数据发送至第二设备,第二设备使用其私有密钥对该随机数据执行签名并返回响应数据给第一设备,第一设备使用第二设备的公开密钥验证所接收的签名。通常,使用PK加密执行认证的前提是公开密钥在系统内是有效的。
为此,在这种系统中,通常由称为认证中心的机构(以下为“CA”)发布证明对应于设备的公开密钥的真实性的“公开密钥证书”(即公开密钥真实性的保证书)。公开密钥证书(以下称为“证书”)包括附加到结合有效期、设备的公开密钥和标识符名的数据上的CA的电子签名。一旦接收到证书的设备使用设备的ID名、当前时间等已确认CA的电子签名和证书的内容,则该证书被确认为是真实的。此外,为了向其它设备通知未授权的以及从系统中删除的设备的证书(即已撤销的证书),发布证书撤销列表(以下称为“CRL”),其包括附加到指定这些被撤销的证书的信息列表上的CA的电子签名。
通过执行上述处理以使用设备的公开密钥对设备进行认证,因此可以避免与未授权设备进行交易,首先已经获得了设备的证书并且确认所获得的证书不在CRL中输入的已撤销的证书当中。应当注意,因为就格式、实现(actualization)等来讲,可以使用任何公知的技术来实现CRL,所以这里不包含详细的说明。在以下的参考文件1中公开了典型的CRL实现,并且以下在参考文件3中公开了由ISO/IEC/ITU开发的X.509标准定义的典型的CRL格式(数据结构)。
在这里考虑一种结构(例如个人计算机),其包括从磁盘中读取数据的读取设备(驱动器)和控制读取设备并使用读取数据的设备(主机)。驱动器的处理性能通常比主机的处理性能低。在判断主机证书的真实性时,对于驱动器来说有必要检查该证书是否列在CRL中。
然而,问题在于CRL的尺寸随着输入其中的证书的数量的增加而增大,这增加了检查列表所需的处理时间,并且最终处理负荷通常会降低驱动器的处理性能。
参考文件1日本公开专利申请No.2003-115838
参考文件2日本公开专利申请No.2002-281013参考文件3Warwick FORD,Michael S.BAUM,Secure ElectronicCommerceBuilding the Infrastructure for Digital Signatures andEncryption,Prentice Hall.
参考文件4Shinichi IKENO,Kenji KOYAMA,ModemCryptosystems[gendai angoriron],IEICE.
发明内容
为了解决上述问题,本发明旨在提供一种减少在判断设备是有效的还是已撤销时的处理负荷的信息输入/输出(IO)系统,包含在该系统中的输入/输出(IO)设备,信息使用设备和列表产生设备,标识符(ID)列表,以及判断和信息指定方法,计算机程序和记录介质。
为了实现上述目的,本发明是一种包括IO设备和信息使用设备的信息IO系统,该信息使用设备通过所述IO设备执行信息的输入/输出,该IO设备使信息使用设备执行一部分判断该信息使用设备是有效还是已撤销的处理。
根据这种结构,通过使信息使用设备执行一部分处理,信息IO系统中的IO设备减少了在判断信息使用设备是有效的还是已撤销时的IO设备上的处理负荷。
这里,IO设备可以向信息使用设备输出ID列表,该ID列表包括根据预定规则排列的一个或多个标识符(ID),每个标识符对应于不同的有效的或已撤销的设备,作为判断处理的一部分,信息使用设备在指定包含由该信息使用设备存储的目标标识符(ID)的目标范围时可以使用所接收的标识符列表,并将表示该指定的目标范围的范围信息输出给IO设备,并且该IO设备可以从信息使用设备接收范围信息,并在判断信息使用设备是有效的还是已撤销的时候使用接收的范围信息。
根据这种结构,作为判断处理的一部分,信息使用设备可以使用从IO设备接收的ID列表指定目标范围,并且可以将表示指定的范围的范围信息输出给IO设备,该IO设备可以使用从信息使用设备接收的范围信息判断该信息使用设备是有效还是已撤销。因此,该IO设备与现有技术不同,不再需要检查ID列表的全部内容,因此减轻了在判断其它设备(本例中为信息使用设备)是有效还是已撤销时IO设备上的处理负荷。
这里,IO设备可以包括获取单元,用于从外部源获取ID列表;输出单元,用于向信息使用设备输出所获取的ID列表;ID接收单元,用于从信息使用设备接收目标ID,以及作为范围信息的来自ID列表的包含在所述目标范围内的一个或多个ID;以及判断单元,用于根据所接收的目标ID是否与作为范围信息接收的任何ID相匹配来判断信息使用设备是有效还是已撤销,并且如果该信息使用设备被判断为已撤销,则禁止信息的输入/输出。此外,该信息使用设备可以包括存储单元,用于存储目标ID,该目标ID对应于该信息使用设备;接收单元,用于从IO设备接收ID列表;提取单元,用于在指定目标范围时使用所接收的ID列表,并从ID列表中提取包含在指定的目标范围内的所有ID;以及数据输出单元,用于向IO设备输出目标ID以及作为范围信息提取的一个或多个ID。
根据这种结构,IO设备从信息使用设备接收目标ID和从ID列表中提取的一个或多个Id,并且通过判断目标ID是否与一个或多个提取的Id中的任何一个相匹配来访问该信息使用设备的有效性。因此,与现有技术不同,该IO设备不再需要检查ID列表的全部内容,因此减轻了在判断其它设备是有效还是已撤销时IO设备上的处理负荷。
这里,所述提取单元可以从一个或多个范围中指定目标范围,该一个或多个范围中的每个范围都由ID列表中连续排列的两个ID定义,并提取定义指定的目标范围的两个ID,数据输出单元可以向IO设备输出目标ID和作为范围信息提取的两个ID,所述ID接收单元可以从信息使用设备接收目标ID和作为范围信息提取的两个ID,并且判断单元根据目标ID是否与两个提取的ID中的任何一个相匹配来判断该信息使用设备是有效还是已撤销。
根据这种结构,IO设备可以通过判断目标ID是否与定义目标范围的两个Id中的任何一个相匹配来确定信息使用设备的有效性(应当注意,这里“定义范围的两个ID”是指在范围的头和尾的ID)。
这里,目标ID可以标识证明信息使用设备的公开密钥的真实性的公开密钥证书(以下简称为“证书”),ID列表中的每个ID可以标识不同的已撤销设备的证书,提取单元可以按排列的顺序提取包含在指定的目标范围内的一个或多个ID,并且如果目标ID与一个或多个提取的ID中的任何一个匹配,则判断单元判断该信息使用设备已撤销,如果目标ID不与所述一个或多个提取的ID中的任何一个匹配,则判断为有效。
根据这种结构,IO设备可以使用表示信息使用设备的公开密钥的ID和表示已撤销设备的证书的ID确定信息使用设备的有效性。
这里,ID列表可以根据预定规则排列证明数据,该证明数据对于一个或多个范围中的每个范围证明包含在该范围内的一个或多个ID的真实性,提取单元可以从ID列表中提取证明一个或多个提取的ID的真实性的证明数据,数据输出单元可以向IO设备输出所提取的证明数据,ID接收单元从信息使用设备接收提取的证明数据,并且判断单元可以验证所接收的证明数据的真实性,如果真实性被验证,则判断信息使用设备是有效还是已撤销。
根据这种结构,IO设备从信息使用设备中额外地接收与所提取的ID有关的证明数据,验证该证明数据的真实性,并且如果已验证真实性则可以判断该信息使用设备是有效还是已撤销。
这里,目标ID可以标识证明信息使用设备的公开密钥的真实性的证书,ID列表中的每个ID可以标识不同的有效设备的证书,提取单元可以判断ID列表中的任何一个ID是否与目标ID匹配,如果判断为肯定则提取该匹配的ID,并且如果目标ID和提取的ID匹配,则判断单元判断信息使用设备有效。
根据这种结构,如果目标ID与从信息使用设备接收的提取的ID匹配,则IO设备判断该信息使用设备为有效。
这里,ID列表可以在其中排列一条或多条证明数据,每个证明数据对应一个不同的ID,并证明该不同ID的真实性,提取单元可以提取对应于所提取的ID的证明数据,数据输出单元向IO设备输出提取的证明数据,ID接收单元可以从信息使用设备接收所提取的证明数据,并且判断单元可以验证所接收的证明数据的真实性,并且如果真实性已被验证,则判断该信息使用设备是有效还是已撤销。
根据这种结构,IO设备从信息使用设备中额外地接收与所提取的ID有关的证明数据,验证该证明数据的真实性,并且如果已验证真实性则可以判断该信息使用设备是有效还是已撤销。
这里,IO设备还可以包括信息输出单元,用于如果信息使用设备被判断为有效,则向该信息使用设备安全地输出使用信息,并且该信息使用设备还包括使用单元,用于从IO设备安全地接收使用信息,并使用所接收的使用信息。
根据这种结构,如果IO设备判断信息使用设备为有效设备,则IO设备可以向信息使用设备输出使用信息,并且该信息使用设备可以接收该使用信息。
这里,IO设备还可以包括ID存储单元,用于存储证书标识符(ID),该证书标识符标识证明IO设备的公开密钥的真实性的证书;以及ID输出单元,用于向信息使用设备输出证书ID,并且信息使用设备还可以包括ID接收单元,用于从IO设备接收证书ID;列表接收单元,用于通过IO设备接收撤销列表,该撤销列表包括一个或多个已撤销ID,每个已撤销ID标识一个不同的已撤销设备的证书;以及ID判断单元,用于根据所接收的证书ID是否与包含在撤销列表中的已撤销ID中的任何一个相匹配来判断IO设备是有效还是已撤销。
根据这种结构,信息使用设备可以判断IO设备是有效还是已撤销。
这里,IO设备还可以包括第一处理单元,用于如果信息使用设备被判断为有效,则在IO设备与信息使用设备之间建立安全通信信道;以及信息输出单元,用于如果已建立安全通信信道,则向信息使用设备安全地输出使用信息;并且信息使用设备还可以包括第二处理单元,用于如果IO设备被判断为有效,则在信息使用设备与IO设备之间建立安全通信信道;以及使用单元,用于如果已建立安全通信信道,则从IO设备安全地接收使用信息,并使用所接收的使用信息。
根据这种结构,如果已在IO设备和信息使用设备之间建立了安全通信信道,则IO设备可以向信息使用设备输出使用信息,并且信息使用设备可以接收该使用信息。
这里,该信息IO系统还可以包括存储ID列表的记录介质,并且获取单元可以从记录介质获取ID列表。
根据这种结构,IO设备可以从记录介质获取ID列表。
这里,该信息IO系统还可以包括用于接收ID列表的通信介质,并且所述获取单元可以从该通信介质获取ID列表。
根据这种结构,IO设备可以从通信介质中获取ID列表。
这里,该信息IO系统还可以包括列表产生设备,其具有列表存储单元和产生单元,用于产生ID列表,并将所产生的ID列表写入列表存储单元中。
根据这种结构,信息IO系统中的列表产生设备可以产生ID列表。
上述目的也可以通过一种IO设备实现,信息使用设备通过该IO设备执行信息的输入/输出,并且该IO设备使信息使用设备执行部分用于判断信息使用设备是有效还是已撤销的处理。
根据这种结构,通过使信息使用设备执行部分处理,IO设备减少了在判断该信息使用设备是有效还是已撤销时的处理负荷。
这里,该IO设备可以向信息使用设备输出ID列表,该ID列表包括根据预定规则排列的一个或多个ID,每个ID对应于不同的有效或已撤销设备,从信息使用设备接收表示目标范围的范围信息,使用ID列表指定的目标范围包括对应于信息使用设备的目标ID,并在判断信息使用设备是有效还是已撤销时使用该接收的范围信息。
根据这种结构,该IO设备可以使用从信息使用设备接收的范围信息判断该信息使用设备是有效还是已撤销。因此,与现有技术不同,该IO设备不再需要检查ID列表的全部内容,因此减轻了在判断其它设备是有效还是已撤销时IO设备上的处理负荷。
这里,所述输入/输出设备可以包括获取单元,用于从外部源获取ID列表;输出单元,用于向信息使用设备输出所获取的ID列表;ID接收单元,用于从信息使用设备接收目标ID,以及作为范围信息的,由信息使用设备从ID列表中提取的包含在所述目标范围内的一个或多个ID;以及判断单元,用于根据所接收的目标ID是否与作为范围信息接收的ID中的任何ID相匹配来判断信息使用设备是有效还是已撤销,并且如果该信息使用设备被判断为已撤销,则禁止信息的输入/输出。
根据这种结构,IO设备从信息使用设备接收目标ID和从ID列表中提取的一个或多个ID,并且通过判断目标ID是否与一个或多个提取的ID中的任何一个相匹配来访问该信息使用设备的有效性。因此,与现有技术不同,该IO设备不再需要检查ID列表的全部内容,因此减轻了在判断其它设备是有效还是已撤销时IO设备上的处理负荷。
这里,目标ID可以标识证明信息使用设备的公开密钥的真实性的证书,ID列表中的每个ID标识不同的已撤销设备的证书,如果目标ID与一个或多个提取的ID中的任何一个相匹配,则判断单元判断该信息使用设备已已撤销,如果目标ID不与所述一个或多个提取的ID中的任何一个相匹配,则判断为有效。
根据这种结构,如果目标ID不与从信息使用设备接收的一个或多个提取的ID中的任何一个匹配,则IO设备判断该信息使用设备有效。
这里,ID列表已经根据预定规则在其中排列了证明数据,该证明数据对于一个或多个范围中的每个范围证明包含在该范围内的一个或多个ID的真实性,ID接收单元可以从信息使用设备接收由该信息使用设备从ID列表中提取的证明所述一个或多个提取的ID的真实性的证明数据,并且判断单元可以验证所接收的证明数据的真实性,并且如果真实性已被验证,则判断信息使用设备是有效还是已撤销。
根据这种结构,IO设备从信息使用设备中额外地接收与所提取的ID有关的证明数据,验证该证明数据的真实性,并且如果已验证真实性则可以判断该信息使用设备是有效还是已撤销。
这里,所述提取的证明数据可以是通过对一个或多个提取的ID执行数字签名而产生的签名数据,并且判断单元可以存储对应于在产生签名数据时使用的私有密钥的公开密钥,并在验证所述签名数据的真实性时使用该公开密钥。
根据这种结构,通过对提取的ID执行数字签名而产生的签名数据可以被用作证明数据。
这里,所述提取的证明数据可以是通过对一个或多个提取的ID使用第一密钥而产生的鉴别码,并且判断单元可以存储与第一私有密钥等同的第二密钥,并在验证所述鉴别码的真实性时使用第二私有密钥。
根据这种结构,通过对提取的ID使用第一密钥而产生的鉴别码可以被用作证明数据。
这里,目标ID可以标识证明信息使用设备的公开密钥的真实性的证书,ID列表中的每个ID可以标识不同的有效设备的证书,ID接收单元可以接收目标ID和单个提取的ID,并且如果目标ID与提取的ID匹配,则判断单元判断该信息使用设备有效,如果目标ID与提取的ID不匹配,则判断为已撤销。
根据这种结构,如果目标ID与从信息使用设备接收的提取ID匹配,则IO设备判断该信息使用设备有效。
这里,ID列表已在其中排列了一条或多条证明数据,每条证明数据对应于一个不同的ID,并且证明相对应的ID的真实性,ID接收单元可以从信息使用设备接收由该信息使用设备从ID列表中提取的证明所提取的ID的真实性的证明数据,并且判断单元可以验证所接收的证明数据的真实性,并且如果真实性已被验证,则判断信息使用设备是有效还是已撤销。
根据这种结构,IO设备从信息使用设备额外地接收与所提取的ID有关的证明数据,验证该证明数据的真实性,并且如果已验证真实性则可以判断该信息使用设备是有效还是已撤销。
这里,目标ID可以包含在证明信息使用设备的公开密钥的真实性的证书中,ID列表中的每个ID可以包含在不同的有效或已撤销设备的证书中,并且ID接收单元可以从信息使用设备接收目标ID和定义目标范围的两个提取的ID,该目标范围是表示有效或已撤销设备之一的证书的范围,并且判断单元可以根据目标ID是否包含在由所述两个提取的ID定义的范围内来判断信息使用设备是有效还是已撤销。
根据这种结构,IO设备可以通过判断目标ID是否包含在由从信息使用设备接收的两个提取的ID定义的范围内来确定该信息使用设备的有效性。
这里,该IO设备还可以包括信息输出单元,用于如果该信息使用设备被判断为有效,则向该信息使用设备安全地输出使用信息。
根据这种结构,如果信息使用设备被判断为有效设备,则该IO设备可以向信息使用设备输出使用信息。
这里,ID接收单元可以接收信息使用设备的公开密钥,并且信息输出单元可以在加密使用信息时使用该接收的公开密钥以产生加密的使用信息,并将所加密的使用信息输出给信息使用设备。
根据这种结构,IO设备可以加密使用信息,并且向信息使用设备输出加密的使用信息。
这里,IO设备还可以包括ID存储单元,用于存储证书ID,该证书ID标识证明该IO设备的公开密钥的真实性的证书;以及ID输出单元,用于将所述证书ID输出给信息使用设备。
根据这种结构,IO设备可以向信息使用设备输出IO设备的证书。
这里,该IO设备还可以包括处理单元,用于如果该信息使用设备被判断为有效,则在所述IO设备与信息使用设备之间建立安全通信信道;以及信息输出单元,用于如果已建立安全通信信道,则向所述信息使用设备安全地输出使用信息。
根据这种结构,如果已在IO设备和信息使用设备之间建立了安全通信信道,则IO设备可以向信息使用设备输出使用信息,并且该信息使用设备可以接收该使用信息。
这里,如果在信息使用设备和IO设备之间产生了共享密钥,则处理单元判断已建立安全通信信道,并且信息输出单元可以使用该共享密钥对使用信息进行加密以产生加密的使用信息,并将所加密的使用信息输出给信息使用设备。
根据这种结构,IO设备可以使用在IO设备与信息使用设备之间产生的共享密钥加密使用信息,并向信息使用设备输出加密的使用信息。
上述目的也可以通过一种信息使用设备实现,该信息使用设备通过IO设备执行信息的输入/输出,并且当被所述IO设备指示时,执行一部分用于判断该信息使用设备是否是有效和已撤销之一的处理。
根据这种结构,通过信息使用设备执行部分处理减少了在判断信息使用设备是有效还是已撤销时的IO设备上的处理负荷。
这里,信息使用设备可以从IO设备接收ID列表,该ID列表包括根据预定规则排列的一个或多个ID,每个ID对应于不同的有效或已撤销设备,并且作为部分判断处理,信息使用设备在指定包含由该信息使用设备存储的目标ID的目标范围时使用所接收的ID列表,并将表示该指定的目标范围的范围信息输出给IO设备。
根据这种结构,作为判断处理的一部分,信息使用设备可以使用从IO设备接收的ID列表来指定目标范围,并将表示该指定范围的范围信息输出给IO设备。
这里,所述信息使用设备可以包括存储单元,用于存储目标ID,该目标ID对应于该信息使用设备;接收单元,用于从IO设备接收ID列表;提取单元,用于在指定目标范围时使用所接收的ID列表,并从ID列表提取包含在指定的目标范围内的所有ID;以及数据输出单元,用于向IO设备输出目标ID以及作为范围信息提取的一个或多个ID。
根据这种结构,信息使用设备可以指定包括目标ID的目标范围,从该ID列表提取包含在目标范围内的一个或多个ID,并将目标ID和作为范围信息提取的ID输出给IO设备。
这里,所述提取单元可以从一个或多个范围中指定目标范围,该一个或多个范围中的每个范围都由ID列表中连续排列的两个ID定义,并提取定义指定的目标范围的两个ID,数据输出单元可以向IO设备输出目标ID和作为范围信息提取的两个ID。
根据这种结构,信息使用设备可以从ID列表中提取两个ID并将所提取的ID作为范围信息输出给IO设备。
这里,目标ID可以标识证明信息使用设备的公开密钥的真实性的证书,ID列表中的每个ID可以标识不同的已撤销设备的证书,提取单元可以按排列顺序提取包含在指定的目标范围内的一个或多个ID。
根据这种结构,目标ID标识信息使用设备的证书,并且ID列表中的每个ID标识已撤销设备的证书。
这里,ID列表可以根据预定规则在其中排列证明数据,该证明数据对于一个或多个范围中的每个范围证明包含在该范围内的一个或多个ID的真实性,提取单元可以从ID列表中提取证明所述一个或多个提取的ID的真实性的证明数据,数据输出单元向IO设备输出所提取的证明数据。
根据这种结构,信息使用设备可以提取证明所提取的ID的真实性的证明数据,并向IO设备输出所提取的证明数据。
这里,所述提取的证明数据可以是通过对一个或多个提取的ID执行数字签名而产生的签名数据。
根据这种结构,通过对提取的ID执行数字签名而产生的签名数据可以被用作证明数据。
这里,所述提取的证明数据可以是通过对一个或多个提取的ID使用等同于IO设备的私有密钥的公用密钥产生的鉴别码。
根据这种结构,通过对提取的ID使用公用密钥而产生的鉴别码可以被用作证明数据。
这里,目标ID可以标识证明信息使用设备的公开密钥的真实性的证书,ID列表中的每个ID标识不同的有效设备的证书,提取单元可以判断ID列表中的任何一个ID是否与目标ID匹配,如果做出肯定判断则提取该匹配的ID。
根据这种结构,目标ID标识信息使用设备的证书,ID列表中的每个ID标识有效设备的证书。
这里,ID列表可以在其中排列一条或多条证明数据,每个证明数据对应一个不同的ID,并证明相对应的ID的真实性,提取单元可以提取对应于所提取的ID的证明数据,数据输出单元可以向IO设备输出提取的证明数据。
根据这种结构,信息使用设备可以提取证明所提取的ID的真实性的证明数据,并将所提取的证明数据输出给IO设备。
这里,目标ID可以包含在证明信息使用设备的公开密钥的真实性的证书中,ID列表中的每个ID可以包含在不同的有效或已撤销设备中的证书中,并且提取单元可以指定目标范围,该目标范围是表示有效或已撤销设备之一的证书的范围,并提取定义所述指定的目标范围的两个ID。
根据这种结构,信息使用设备可以指定目标范围,该目标范围是表示有效或已撤销设备中的任何一个的证书的范围,并从ID列表中提取定义指定的目标范围的两个ID。
这里,所述信息使用设备还可以包括使用单元,用于如果IO设备判断该信息使用设备是有效的,则从IO设备安全地接收使用信息,并使用该接收的使用信息。
根据这种结构,如果由IO设备判断为有效设备,则信息使用设备可以从该IO设备接收使用信息,并使用所接收的使用信息。
这里,可以已经在IO设备中使用信息使用设备的公开密钥加密了使用信息,并且使用单元可以存储对应于公开密钥的私有密钥,在从IO设备接收到加密的使用信息之后,使用私有密钥对该加密的使用信息进行解密以产生使用信息并使用该产生的使用信息。
根据这种结构,信息使用设备可以从IO设备接收加密的使用信息,并对该加密的使用信息进行解密以产生使用信息,并使用该产生的使用信息。
这里,所述信息使用设备还包括ID接收单元,用于从IO设备接收证书ID,该证书ID标识证明IO设备的公开密钥的真实性的证书;列表接收单元,用于通过IO设备接收撤销列表,该撤销列表包括一个或多个已撤销ID,每个ID标识一个不同的已撤销设备的证书;以及ID判断单元,用于根据所接收的证书ID是否与包含在撤销列表中的撤销ID中的任何一个相匹配来判断IO设备是有效还是已撤销。
根据这种结构,信息使用设备可以判断该IO设备是有效还是已撤销。
这里,所述信息使用设备还可以包括处理单元,用于如果IO设备被判断为有效,则在信息使用设备与IO设备之间建立安全通信信道;以及使用单元,用于如果已建立安全通信信道,则从IO设备安全地接收使用信息,并使用该接收的使用信息。
根据这种结构,如果在信息使用设备和IO设备之间建立了安全通信信道,则信息使用设备可以从IO设备接收使用信息。
这里,如果在信息使用设备和IO设备之间已产生共享密钥,则处理单元可以判断已建立安全通信信道,并且在IO设备中已使用该共享密钥对使用信息进行了加密,并且在从IO设备接收到加密的使用信息之后,使用单元可以使用共享密钥对加密的使用信息进行解密,并使用所产生的使用信息。
根据这种结构,信息使用设备可以从IO设备接收加密的使用信息,并对该加密的使用信息进行解密以产生使用信息,并使用该产生的使用信息。
上述目的也可以通过一种列表产生设备来实现,该列表产生设备用于产生包括对应于一个或多个有效或已撤销设备的一个或多个ID的ID列表,该列表产生设备包括列表存储单元;获取单元,用于获取一个或多个ID;以及产生单元,用于根据预定规则排列所获取的ID以产生包含所排列的ID的ID列表,并且将所产生的ID列表写入到列表存储单元中。
根据这种结构,列表产生设备可以产生包括一个或多个ID的ID列表。
这里,ID列表中的每个ID都可以标识一个不同的已撤销设备的证书,并且所述产生单元可以包括密钥存储子单元,用于存储私有密钥;排列子单元,用于根据预定规则排列所获取的ID;数据产生子单元,用于按照ID的排列顺序,提取构成一个范围的一个或多个ID,并在产生证明所述一个或多个提取的ID的真实性的证明数据时使用所述私有密钥;控制子单元,用于控制数据产生子单元重复ID提取和数据产生,直到完成所有ID的数据产生;以及列表产生子单元,用于在完成所有ID的数据产生之后产生ID列表,该ID列表包括所排列的ID和所产生的根据预定规则排列的证明数据,并将所产生的ID列表写入列表存储单元。
根据这种结构,ID列表中的每个ID标识已撤销设备的证书,并且列表产生设备可以产生包括ID和根据预定规则排列的证明数据的ID列表。
这里,ID列表中的每个ID都可以标识一个不同有效设备的证书,并且所述产生单元可以包括密钥存储子单元,用于存储私有密钥;数据产生子单元,用于在对每个所获取的ID执行数字签名时使用私有密钥,以产生证明ID的真实性的证明数据;以及列表产生单元,用于产生ID列表,其中所排列的ID与相应的产生的证明数据相对应,并将所产生的ID列表写入列表存储单元中。
根据这种结构,ID列表中的每个ID标识有效设备的证书,并且列表产生设备可以产生包括ID和根据预定规则排列的证明数据的ID列表。
上述目的也可以通过一种信息IO系统来实现,该信息IO系统包括IO设备和应用软件,该应用软件用于通过该IO设备执行信息输入/输出,该IO设备使应用软件执行部分用于判断该应用软件是有效还是已撤销的处理。
根据这种结构,通过使应用软件执行部分处理,信息IO系统中的IO设备可以减少在判断应用软件是有效还是已撤销时的IO设备上的处理负荷。
附图简述附
图1是显示认证系统1的概观的框图;附图2是显示CA终端10的结构的框图;附图3显示存储在CRL存储单元12中的重放设备CRL16的数据结构;附图4是显示记录介质100、重放设备200和记录设备300各自的结构的框图;附图5是显示记录介质100上的不同区域的结构的框图;附图6是显示验证单元302的结构框图;附图7是显示产生CRL所执行的操作的流程图;附图8是显示将CRL写入记录介质100所执行的操作的流程图;附图9是显示在重放设备200和记录设备300中执行的操作的流程图(在附图10中继续);附图10是显示在设备200和300中执行的操作的流程图(在附图11中继续);附图11是显示在设备200和300中执行的操作的流程图(在附图12中继续);附图12是显示在设备200和300中执行的操作的流程图(接附图11);附图13是显示记录介质500、重放设备600和读取设备700各自的结构的框图;附图14是显示记录介质500上的不同区域的结构的框图;附图15是显示验证单元606的结构的框图;附图16是显示验证单元703的结构的框图;附图17是显示在重放设备600和读取设备700中执行的操作的流程图(在附图18中继续);附图18是显示在设备600和700中执行的操作的流程图(在附图19中继续);附图19是显示在设备600和700中执行的操作的流程图(在附图20中继续);附图20是显示在设备600和700中执行的操作的流程图(接附图19);附图21是显示在重放设备600和读取设备700之间执行的SAC处理操作的流程图(在附图22中继续);
附图22是显示在设备600和700之间执行的SAC处理操作的流程图(在附图23中继续);附图23是显示在设备600和700之间执行的SAC处理操作的流程图(接附图22);附图24是显示在记录介质500A上的不同区域的结构的框图;附图25是显示在记录介质500B上的不同区域的结构的框图;附图26显示重放设备CRL1000的数据结构;附图27显示重放设备CRL1001的数据结构;以及附图28显示混合列表1002的数据结构。
具体实施例方式
下面参照附图对本发明的认证系统的实施例进行描述。
1.实施例1附图1中所示的是作为属于本发明的实施例1的认证系统1的框图。
认证系统1由CA终端10、记录介质100、以及多个重放设备(200a,200b,…,200c)和读取设备(300a,300b,…,300c)构成。
由认证中心(CA)管理的CA终端10发布证明重放设备的公开密钥的真实性的公开密钥证书,并且发布显示已撤销的发布的公开密钥证书的列表的证书撤销列表(CRL)。每个公开密钥证书(以下简称为“证书”)包括公开密钥、标识证书的标识符(ID),以及公开密钥和ID的证书签名(CA签名)。这里,证书签名是通过使用仅由CA保存的私有密钥(SK_CA)执行数字签名而产生的签名数据。使用利用哈希函数的RSA(Rivest-Shamir-Adleman)密码系统的数字签名是一个例子。
记录介质100存储加密的内容和由CA终端10发布的CRL。
重放设备和读取设备构成多个对(即200a/300a,200b/300b,…),并且记录介质100被这各个对使用。
例如,考虑记录介质100正被播放设备200a和读取设备300a组成的对使用。在此情况下,设备300a从介质100读取CRL和加密的内容,设备200a解密并播放由设备300a读取的加密内容。
读取设备300a,其通过一般的通信信道连接至重放设备200a,对认证设备200a执行单向认证,并且仅当认证成功时,才向设备200a输出加密的内容。设备200a解密并播放从设备300a接收的内容。这里,一般的通信信道,其具体规格是公知的,是一种暴露于危险(例如writetapping和数据的伪造/替换)的不安全的通信信道。
应当注意,由于设备200a/300a的关系同样适用于设备200b/300b,200c/300c,…,这里将省略相关的说明。
1.1CA终端10的结构CA终端10发布重放设备的证书,只要发布的证书被撤销就更新重放设备CRL,并存储更新的CRL。
CA终端10还将存储的CRL记录到记录介质100中。
应当注意,由于CA终端10使用发布证书的常规方法,因此这里省略相关的说明。
以下说明涉及产生CRL和将CRL写入记录介质100。
如附图2所示,CA终端10由私有密钥(SK)存储单元11,CRL存储单元12,接收单元13,CRL产生单元14和写入单元15构成。
特别地,CA终端10是由微处理器,ROM,RAM,硬盘单元等构成的计算机系统。ROM或硬盘单元存储计算机程序,并且CA终端10执行作为根据计算机程序的微处理器运行的结果的功能。
(1)SK存储单元11在不可能存在外部访问的情况下,SK存储单元11安全地存储仅由CA拥有的私有密钥(SK_CA)。
(2)CRL存储单元12CRL存储单元12存储与重放设备有关的、在CA终端10中产生的CRL16(参见附图3)。
重放设备CRL16(以下称作“重放设备CRL16”或简称为“CRL16”)由三个主要区域构成,这三个主要区域分别存储CRL的版本号(VN)、多个已撤销的证书ID(RID),以及一个或多个证明版本号和RID的真实性的签名。记录在CRL16中的签名以下称作“CRL签名”。CRL签名是通过使用仅由CA拥有的私有密钥(SK_CA)执行数字签名而产生的签名数据。使用利用哈希函数的RSA密码系统的数字签名是一个例子。
图3中的CRL16给出了一个例子,其中具有ID“3”和“10”的证书已被撤销。如图3所示,没有分配给实际的证书的ID“0000”和“9999”也记录在CRL16中。版本号是只要更新CRL16就增加“1”的值。为通过连接版本号和连续排列的RID获得的值提供CRL签名。这里,符号“‖”被用于表示数据的连接,函数Sig(X,Y)被用于使用密钥数据X签名数据Y。
RID被按升序记录在CRL16中,并且CRL签名被记录在CRL 16中,从而与版本号一起签名的ID对被以升序进行排列。在附图3中,例如,当按升序列举时,用于签名的ID对为“RID1和RID2”,“RID2和RID3”以及“RID3和RID4”。这些对被使用CA的私有密钥(SK_CA)按这种顺序与版本号一起签名以产生CRL签名,然后被记录在CRL16中。
CRL16的初始状态,例如由版本号“0000”,两个RID“0000”和“9999”以及单个CRL签名“Sig(SK_CA,0000‖0000‖9999)”构成。
(3)接收单元13接收单元13,在从CA终端10的授权用户接收到CRL产生指令和所有已撤销证书的ID之后,向CRL产生单元14输出CRL产生指令和接收的ID。
当由CA终端10的授权用户指示将存储在CRL存储单元12中的CRL写入到记录介质100时,接收单元13指示写入单元15将CRL写入记录介质100。
(4)CRL产生单元14CRL产生单元具有用于临时存储由单元14产生的CRL的临时存储区域。应当注意,该临时存储区域,类似CRL16,存储版本号,多个RID,和一个或多个CRL签名。
CRL产生单元14,在从接收单元13接收到CRL产生指令和所有已撤销证书的ID之后,读取记录在CRL16中的所有RID,使用所接收的ID和读取的RID以按照升序排列ID,并将排列的ID存储在临时存储区中。该结果将更新所述RID。
CRL产生单元14还从CRL16获取版本号,对所获取的版本号加“1”以更新该版本号,并将更新的版本号存储在临时存储区中。
CRL产生单元14使用私有密钥(SK_CA)、版本号、以及多个存储在临时存储区中的RID以为版本号和RID对产生CRL签名,将所产生的CRL签名存储在临时存储区中,并产生记录到记录介质100的重放设备CRL。
已经产生并将CRL签名存储在临时存储区中的CRL产生设备14将存储在CRL存储单元12中的CRL16的内容更新为存储在临时存储区中的内容。CRL签名的产生这里,存储在临时存储区中的已撤销ID的数量(即RID的数量)被给定为“m”(m≥2)。存储在临时存储区中的RID,按ID值的升序,被称为第一RID,第二RID,…第mRID。CRL产生单元14从SK存储单元11中读取私有密钥(SK_CA)。
CRL产生单元14从临时存储区中读取版本号和第一/第二RID,连接所读取的版本号和RID,对连接的值使用读取的私有密钥(SK_CA)以产生签名数据,并且将所产生的签名数据作为CRL签名存储在临时存储区中。然后单元14读取第二/第三RID,连接先前读取的版本号与第二/第三RID,对连接值使用私有密钥(SK_CA)以产生签名数据,并将产生的签名数据直接跟在前面存储的CRL签名之后存储在临时存储区中。
CRL产生单元14重复上述操作直到已产生版本号和第m-1/第mRID的签名数据并且直接跟在前面存储的CRL签名之后存储在临时存储区中。
因此,CRL产生单元14可以产生重放设备CRL。
具体的例子这里举例说明的是CRL签名产生的一个具体例子。在该给定的例子中,版本号“VN0002”和五个RID存储在临时存储区中。这五个RID被给定为“RID10000”,“RID20003”,“RID30010”,“RID40015”和“RID59999”。
CRL产生单元14首先从临时存储区中读取版本号“VN0002”和两个RID“RID10000”和“RID20003”,使用私有密钥(SK_CA)产生签名数据Sig(SK_CA,VN‖RID1‖RID2),并将产生的签名数据存储在临时存储区中作为CRL签名。然后单元14读取两个RID“RID20003”和“RID30010”,产生签名数据Sig(SK_CA,VN‖RID2‖RID3),并将产生的签名数据直接跟在Sig(SK_CA,VN‖RID1‖RID2)之后存储在临时存储区中。
作为重复此操作的结果,CRL产生单元14在临时存储区中按下述顺序存储Sig(SK_CA,VN‖RID1‖RID2),Sig(SK_CA,VN‖RID2‖RID3),Sig(SK_CA,VN‖RID3‖RID4),Sig(SK_CA,VN‖RID4‖RID5),作为CRL签名。
然后CRL产生单元14将存储在CRL存储单元12中的CRL16的内容更新为存储在临时存储区中的内容。
(5)写入单元15写入单元15,当被接收单元13指示写CRL时,读取存储在CRL存储单元12中的CRL,并将读取的CRL写入记录介质100。
例如,如果图3中所示的CRL16被存储在CRL存储单元12中,则写入单元15将该CRL写入记录介质100。
1.2记录介质100的结构在此描述记录介质100的结构。
如图4所示,记录介质100由内容存储区101,内容密钥(CK)存储区102,介质密钥(MK)存储区103和CRL存储区104构成。
以下使用图5对这些记录区域进行描述。
(1)内容存储区101内容存储区101存储通过使用内容密钥(KC)利用公用密钥(CK)加密算法(例如,数据加密标准(DES)算法)对内容加密产生的加密的内容。
应当注意,函数E(X,Y)被用于使用数据X加密数据Y。
(2)内容密钥存储区102
内容密钥存储区102存储通过使用介质密钥(Km)利用CK加密算法(例如DES算法)对内容密钥(Kc)加密产生的加密的内容密钥。
(3)介质密钥存储区103介质密钥存储区103存储通过使用为每个设备保存的设备密钥(DK)利用CK加密算法(例如,DES算法)对为重放设备提供的数据加密而产生的一个或多个加密的介质密钥。
这里,为重放设备保存的每个设备密钥都与唯一标识该设备密钥的DK标识符对应,MK存储区103中的一个或多个加密的介质密钥按照DK标识符的升序存储。也就是说,图5中所示的设备密钥“DK1,DK2,DK3,…,DKn”按照对应于设备密钥的DK标识符的升序排列。应当注意,对应于设备密钥“DK1,DK2,DK3,…,DKn”的DK标识符以下按“1,2,3,…,n”的顺序设置。
加密的介质密钥是用于仅将介质密钥提供给特定的重放设备的数据。利用由被提供介质密钥的重放设备保存的设备密钥对介质密钥(Km)进行加密,并且利用由不被提供介质密钥的重放设备保存的设备密钥对空数据“0”进行加密。图5表示未提供介质密钥(即提供空数据)给分别保存设备密钥“DK3”和“DK10”的重放设备。
应当注意,虽然这里使用空数据“0”,但是也可以使用与介质密钥无关的其它任何数据。例如,可用的数据包括其它固定值“0xFFFF”,表示介质密钥加密的日期/时间的信息,以及已撤销设备的设备密钥。
用于仅提供介质密钥给特定的重放设备的方法由于使用任何现有的技术都可以实现,所以这里不再详细说明。在上述参考2中公开的一种典型的方法涉及使用树结构管理密钥。
(4)CRL存储区104CRL存储区104存储与重放设备有关的CRL105(以下为“重放设备CRL105”或简称为“CRL105”)。
CRL105,与CA终端10中的CRL16类似,具有分别存储CRL的版本号(VN)、多个已撤销证书ID(RID)、以及一个或多个证明版本号和RID的真实性的CRL签名的三个主要区域。
应当注意,这些元素的数据结构与CRL16类似,在此省略对其的描述。
1.3重放设备的结构重放设备200a,200b,…,200c,所有这些设备都具有相似的结构,这里使用单个重放设备200进行描述。设备200与读取设备300配对。
如图4所示,重放设备200由证书存储单元201、设备密钥(DK)存储单元202、私有密钥(SK)存储单元203、提取单元204、传输单元205、第一解密单元206、第二解密单元207、第三解密单元208、第四解密单元209、第五解密单元210、输出单元211、以及输入/输出(IO)单元212构成。
特别地,重放设备200是由微处理器、ROM、RAM、硬盘单元等构成的计算机系统。ROM或硬盘单元存储计算机程序,并且设备200执行作为根据计算机程序的微处理器操作的结果的功能。
(1)证书存储单元201证书存储单元201存储重放设备200的证书。
(2)DK存储单元202DK存储单元202存储由重放设备200保存的设备密钥和标识该设备密钥的DK标识符。
(3)SK存储单元203SK存储单元203安全地存储对应于包含在存储于证书存储单元201中的证书中的公开密钥的私有密钥,从外部不能对其进行访问。
(4)提取单元204提取单元204,在通过IO单元212从读取设备300接收到表示记录介质100安装在设备300中的检测信息之后,通过IO单元212指示设备300读取CRL,并通过IO单元212从设备300接收CRL105。
提取单元204,在接收到CRL105之后,从证书存储单元101接读取证书,并且使用读取的证书,搜索CRL105并从中提取版本号,对应于包含在所读取的证书中的ID的区间,以及版本号和区间的CRL签名。这里,“区间”表示由两个RID(范围的头和结尾)定义的CRL中的范围,在这两个RID之间没有其它任何RID。应当注意,对应于证书中的ID的区间是来自包含证书ID的CRL中的所有区间的区间。该区间以下称作“ID区间”。
提取单元204产生由提取的版本号,ID区间和CRL签名构成的提取信息,并输出所产生的信息给传输单元205。
提取方法以下描述的是典型的搜索/提取方法。
提取单元204获取包含在CRL105中的版本号。
提取单元204根据多个包含在CRL105中的RID获取所有的区间,按照升序排列所获取的区间,并临时存储该排列的区间。例如,如果CRL105包含图5所示的数据,则按升序列举的区间将由提取单元204按“RID1~RID2”,“RID2~RID3”,和“RID3~RID4”的顺序存储。自然地,每个区间的头和结尾的RID(即定义该区间的RID)是相同的使用CA的私有密钥(SK_CA)与版本号一起签名的两个RID。
提取单元204从所获取的区间中搜索并提取ID区间。然后单元204获取表示所提取的ID区间在那些按升序存储的区间中的位置的区间号。例如,提取的ID区间“RID3~RID4”,作为存储的区间中的第三个,具有区间号“3”。
提取单元204在提取CRL签名时使用所获取的区间号。
这里,提取CRL签名更加容易,这是因为,CRL签名记录在CRL105中,从而与版本号一起签名的多对ID按升序排列,因此使用获取的区间号可以定位CRL签名的位置,以便从存储的CRL签名中间进行提取。也就是说,ID区间和与ID区间有关的CRL签名相互唯一对应。例如,如果区间号为“3”,则用于提取的CRL签名,在图5所示的数据的例子中,是存储的CRL签名中的第三个。
具体例子考虑一个例子,其中,记录介质100的状态如图5所示并且由重放设备200保存的证书的ID为“5”。在本例中,提取单元204提取版本号“VN=0001”,ID区间“RID2=0003~RID3=0010”,以及CRL签名Sig(SK_CA,VN‖RID2‖RID3)。同样,如果证书ID为“3”,则单元204提取版本号“VN=0001”,ID区间“RID1=0000~RID2=0003”或“RID2=0003~RID2=0005”,以及CRL签名Sig(SK_CA,VN‖RID1‖RID2)或Sig(SK_CA,VN‖RID2‖RID3)。
(5)传输单元205传输单元205,在从提取单元204接收到提取信息之后,从证书存储单元201读取证书,并将该证书和提取信息通过IO单元212输出至读取设备300。
(6)第一解密单元206第一解密单元206具有公开密钥(PK)加密算法(例如RSA算法)。
第一解密单元206通过IO单元212从读取设备300接收加密的会话密钥。这里,加密的会话密钥是通过使用包含在证书中的公开密钥利用PK加密算法对会话密钥(在设备300中产生)进行加密而在设备300中产生的。
第一解密单元206从SK存储单元203读取私有密钥,使用读取的私有密钥利用PK加密算法对加密的会话密钥进行解密以产生会话密钥,并将产生的密钥输出给第二解密单元207。
(7)第二解密单元207第二解密单元207具有公用密钥(CK)加密算法(例如DES算法)。
第二解密单元207,在从第一解密单元206接收到会话密钥之后,通过IO单元212向读取设备300请求内容密钥。
第二解密单元207通过IO单元212从读取设备300接收在设备300中通过使用会话密钥利用与单元207的CK加密算法相同的CK加密算法对加密的内容密钥进行加密而产生的双重加密的内容密钥。
第二解密单元207使用从第一解密单元206接收的会话密钥利用CK加密算法对双重加密的内容密钥进行解密以产生加密的内容密钥,并将产生的密钥输出给第三解密单元208。
(8)第三解密单元208第三解密单元208具有与用于产生加密的内容密钥的算法相同的CK加密算法。
第三解密单元208,在从第二解密单元207接收到加密的内容密钥之后,指示第四解密单元209获取介质密钥。
第三解密单元208,在从第四解密单元209接收到介质密钥之后,使用该介质密钥利用CK加密算法对加密的内容密钥进行解密以产生内容密钥,并将所产生的密钥输出至第五解密单元210。
(9)第四解密单元209第四解密单元209具有与用于产生加密的介质密钥的算法相同的CK加密算法。
第四解密单元209,当被第三解密单元208指示获取介质密钥时,通过IO单元212指示读取设备300读取加密的介质密钥,并且通过IO单元212从读取设备300接收记录在记录介质100上的所有加密的介质密钥。
第四解密单元209从DK存储单元202读取设备密钥和DK标识符,使用读取的DK标识符以从加密的介质密钥中获取与读取的设备密钥对应的密钥。例如,如果读取的DK标识符为“2”,则单元209获取显示为加密的介质密钥中的第二个的加密的介质密钥“E(DK2,Km)”。同样,如果读取的DK标识符为“10”,则单元209获取显示为加密的介质密钥中的第十个的加密的介质密钥“E(DK10,Km)”。
第四解密单元209使用读取的设备密钥利用CK加密算法对获取的密钥进行解密从而产生介质密钥,并将产生的密钥输出至第三解密单元208。
(10)第五解密单元210第五解密单元210具有与用于产生加密的内容的算法相同的CK加密算法。
第五解密单元210,在从第三解密单元208接收到内容密钥之后,通过IO单元212指示记录单元300读取加密的内容,并通过IO单元212从读取单元300接收加密的内容。
第五解密单元210使用该内容密钥利用CK加密算法对加密的内容进行解密以产生内容,并将产生的内容输出给输出单元211。
(11)输出单元211输出单元211,包括显示器和扬声器,例如,将从第五解密单元210接收的内容向外部输出。
(12)IO单元212IO单元212在重放设备200和读取设备300之间执行数据的输入/输出。
1.4读取设备300的结构读取设备300a,300b,…,300c,所有这些设备都具有类似的结构,这里使用单个读取设备300进行描述。设备300与重放设备200配对。
如图4所示,读取设备300由CA公开密钥(PK)存储单元301、验证单元302、第一加密单元303、密钥产生单元304、第二加密单元305、第一读取单元306、第二读取单元307、第三读取单元308、第一输入/输出(IO)单元309、以及第二输入/输出(IO)单元310构成。
特别地,读取设备300是一种由微处理器、ROM、RAM、硬盘单元等构成的计算机系统。ROM或硬盘单元存储计算机程序,并且设备300执行作为根据计算机程序的微处理器操作的结果的功能。
(1)PK存储单元301PK存储单元301存储与仅由CA保存的私有密钥(SK_CA)对应的公开密钥(以下为“CA公开密钥”)。
(2)验证单元302验证单元302验证证书和CRL签名,检查CRL105的版本,并访问证书的有效性。
验证单元302,如附图6所示,包括签名验证单元350,比较单元351,和判断单元352。
以下对单元350,351和352进行说明。
签名验证单元350在通过第二IO单元310从重放设备200接收到提取信息和证书之后,单元350从PK存储单元301读取CA公开密钥。
单元350在验证包含在提取信息中的证书和CRL签名时使用读取的公开密钥,并且,如果已验证所述证书和CRL签名的真实性,则将该证书和提取信息输出至比较单元351。
比较单元351单元351可以通过第一IO单元309访问记录介质100。
单元351,在从签名验证单元350接收到提取信息和证书之后,通过第一IO单元309从记录介质100读取CRL,比较包含在CRL105中的版本号与包含在提取信息中的版本号,并判断版本号是否匹配。
如果判断版本号匹配,则单元351将所述证书和提取信息输出至判断单元352。
判断单元352在从比较单元351接收到提取信息和证书之后,单元352在判断证书是否有效时使用该提取信息和证书ID。
如果判断为有效,单元352将所述证书输出给第一加密单元303。
以下所描述的是用于判断证书的真实性的方法。如果接收的证书的ID属于包含在提取信息中的ID区间,但是不与定义该区间的两个RID中的任何一个匹配,则单元352判断该证书为有效。另一方面,如果不是这种情况(即证书ID不属于该ID区间或与定义该区间的RID之一匹配),则单元352判断该证书已撤销。
如果判断该接收的证书有效,则单元352可以确定重放设备200被授权(即为有效设备),并且如果判断接收的证书已撤销,则单元352可以确定设备200没有被授权(即为已撤销设备)。
这里给出另一个典型的判断方法。如果证书ID包含在有效区间中,则判断单元352判断接收的证书为有效,如果ID不包含在有效区间中则判断为已撤销。这里,“有效区间”被用于指排除定义所述区间的两个ID(即头/结尾ID)之外的ID区间内的范围。如果不存在有效区间(即,如果ID区间由两个连续编号的RID定义),则单元352判断该接收的证书已撤销。
显然,判断证书ID包含在有效区间内与判断属于ID区间的证书ID不与定义区间的两个RID中的任何一个匹配是相同的。
具体例子这里描述的是使用有效区间的判断方法的具体例子。
考虑一个例子,其中,证书ID为“5”并且包括在提取信息中的ID区间为“RID2=0003~RID3=0010”。这里,由于值“5”属于有效区间,其为“4,5,6,7,8,9”,所以单元352判断该证书有效。考虑另一个例子,其中,证书ID为“3”并且包含在提取信息中的ID区间为“RID2=0003~RID3=0010”。这里,由于值“3”不包含在有效区间内,该有效区间也为“4,5,6,7,8,9”,单元352判断该证书无效(即已撤销)。最后,考虑一个例子,其中,证书ID为“15”并且包含在提取信息中的ID区间为“0015~0016”。这里,由于不存在有效区间,所以单元352判断该证书已撤销。
(3)第一加密单元303第一加密单元303与重放设备200中的第一解密单元206具有相同的PK加密算法。
第一加密单元303,在从判断单元352接收到证书之后,指示密钥产生单元304产生会话密钥。
第一加密单元303,在从密钥产生单元304接收到会话密钥之后,获取包含在该证书中的公开密钥。
第一加密单元303使用公开密钥利用PK加密算法对会话密钥进行加密以产生加密的会话密钥,并通过第二IO单元310将所产生的密钥输出至第一解密单元206。
(4)密钥产生单元304密钥产生单元304具有用于临时存储用于在连接读取设备300和重放设备200的普通通信信道中安全地传输信息(即加密传输)所需的会话密钥的存储区。
当被第一加密单元303指示这样做时,密钥产生单元304产生会话密钥,并且除了临时存储密钥在存储区中之外,还将所产生的密钥输出至单元303,。
(5)第二加密单元305第二加密单元305与重放设备200中的第二加密单元207具有相同的CK加密算法,并且可以通过第一IO单元309访问记录介质100。
第二加密单元305,当被第二解密单元207通过第二IO单元310请求内容密钥时,通过第一IO单元309从记录介质100读取加密的内容密钥,并从密钥产生单元304读取会话密钥。
第二加密单元305使用会话密钥利用CK加密算法对加密的内容密钥进行加密从而产生双重加密的内容密钥,并将双重加密的内容密钥通过第二IO单元310输出至第二解密单元207。
(6)第一读取单元306第一读取单元306可以通过第一IO单元309访问记录介质100。
第一读取单元306,在通过第一IO单元309检测到记录介质100安装在记录设备300中之后,产生检测信息,并将产生的信息通过第二IO单元310输出至提取单元204。
第一读取单元306,当被提取单元204通过第二IO单元310指示读取CRL时,通过第一IO单元309从记录介质100读取CRL105,并将读取的CRL通过第二IO单元310输出至提取单元204。
(7)第二读取单元307第二读取单元307可以通过第一IO单元309访问记录介质100。
第二读取单元307,当被第四解密单元209通过第二IO单元310指示读取加密的介质密钥时,通过第一IO单元309从记录介质100读取所有加密的介质密钥,并将读取的密钥通过第二IO单元310输出至单元209。
(8)第三读取单元308第三读取单元308可以通过第一IO单元309访问记录介质100。
第三读取单元308,当被第五解密单元210通过第二IO单元310指示读取加密的内容时,从记录介质100通过第一IO单元309读取加密的内容,并将加密的内容通过第二IO单元310输出至单元210。
(9)第一IO单元309第一IO单元309将记录在记录介质100上的数据输出至验证单元302、第二加密单元305、第一读取单元306、第二读取单元307和第三读取单元308。
(10)第二IO单元310第二IO单元310在读取设备300和重放设备200之间执行数据的输入/输出。
1.5CA终端10的操作以下描述涉及由CA终端10执行的产生和写入CRL的处理。
(1)CRL产生使用图7所示的流程图对CRL的产生进行描述。
CA终端10中的接收单元13,在从CA终端10的授权用户接收到CRL产生指令和所有已撤销证书的ID之后,将CRL产生指令和接收的ID输出至CRL产生单元14(步骤S5)。
CRL产生单元14,在从接收单元13接收到CRL产生指令和所有已撤销证书的ID之后,读取记录在CRL16中的所有RID(步骤S10),在按升序排列ID时使用所接收的ID和所读取的RID,将所排列的ID存储在临时存储区中(步骤S15)。
CRL产生单元14从CRL16获取版本号,对获取的版本号加“1”,从而更新该版本号,并将所更新的版本号存储在临时存储区中(步骤S20)。
CRL产生单元14从SK存储单元11中读取私有密钥,使用读取的密钥、存储在临时存储区中的版本号和RID(RID的数量=“m”,m≥2),以产生版本号和第一/第二RID的CRL签名,并将产生的CRL签名存储在临时存储区中(步骤S25)。
CRL产生单元14判断是否已产生版本号和第m-1/第m RID的CRL签名(步骤S30)。
如果判断为否定(步骤S30=否),则CRL产生单元14从临时存储区中读取第二和第三RID,并执行步骤S25从而产生并存储版本号和第二/第三RID的CRL签名。单元14重复步骤S25直到版本号和第m-1/第m RID的CRL签名已产生并被存储在临时存储区中。
如果在步骤S30判断为肯定(步骤S30=是),则在步骤S35CRL产生单元14将存储在CRL存储单元12中的CRL16的内容更新为存储在临时存储区中的内容(即更新之后的CRL)。
(2)写处理这里使用图8所示的流程图对将CRL写入记录介质100的处理进行描述。
接收单元13,当被CA终端10的授权用户指示将存储在CRL存储单元12中的CRL写入记录介质100时,指示写入单元15将CRL写入介质100(步骤S50)。
写入单元15,在从接收单元13接收到指令之后,从CRL存储单元12读取CRL16(步骤S55),并将读取的CRL写入记录介质100。
1.6重放设备200和记录介质300的操作这里使用附图9、10、11和12中所示的流程图对与重放设备200和读取设备300中的认证和内容重放有关的操作进行描述。
重放设备200中的提取单元204,在从读取设备300的第一读取单元306接收到检测信息之后,通过IO单元212指示单元306读取CRL(步骤S100)。
第一读取单元306,在通过第二IO单元310从提取单元204接收到指令之后(步骤S105),通过第一IO单元309从记录介质100读取CRL105,并将读取的CRL通过第二IO单元310输出至单元204(步骤S110)。
提取单元204,在通过IO单元212接收到CRL105之后(步骤S115),从证书存储单元201读取证书,并使用读取的证书搜索并从CRL105中提取版本号、对应于包含在读取的证书中的ID的区间、以及版本号和区间的CRL签名(步骤S210)。
提取单元204产生由提取的版本号、ID区间和CRL签名构成的提取信息,并将产生的信息输出至传输单元205,然后,传输单元205从证书存储单元201读取证书,并将所述证书和提取信息通过IO单元212输出至验证单元302(步骤S125)。
验证单元302中的签名验证单元350,在通过第二IO单元310接收到证书和提取信息之后,从PK存储单元301读取CA公开密钥,并在验证证书和包含在该提取信息中的CRL签名时使用该读取的密钥(步骤S130)。单元350根据验证结果确定所述证书和CRL签名是否是真实的(步骤S135)。
如果该证书和CRL签名被判断为是真实的(步骤S135=是),则签名验证单元350将所述证书和提取信息输出至比较单元351,然后比较单元351通过第一IO单元309从记录介质100读取CRL105,并将包含在CRL105中的版本号与包含在提取信息中的版本号进行比较,并判断所述版本号是否匹配(步骤S140)。
如果判断为肯定(步骤S140=是),则比较单元351将所述证书和提取信息输出至判断单元352,判断单元352在判断该证书是否有效时使用该接收的提取信息(步骤S145)。
如果判断为有效(步骤S145=是),则判断单元352将证书输出至第一加密单元303,然后第一加密单元303指示密钥产生单元304产生密钥。作为响应,单元304产生会话密钥,并且除了在内部存储密钥之外还将所产生的密钥输出至单元303(步骤S150)。
如果判断该证书不是真实的(步骤S135=否),版本号不匹配(步骤S140=否),或证书已撤销(步骤S145=否),则处理结束。
第一加密单元303,在从密钥产生单元304接收到会话密钥之后,获取包含在从判断单元352接收的证书中的公开密钥,并使用该公开密钥利用PK加密算法对会话密钥进行加密以产生加密的会话密钥,并通过第二IO单元310将产生的密钥输出至第一解密单元206(步骤S155)。
第一解密单元206,在通过IO单元212接收到加密的会话密钥之后,从SK存储单元203读取私有密钥,并使用读取的密钥利用PK加密算法对加密的密钥进行解密从而产生会话密钥,并将所产生的密钥输出至第二解密单元207(步骤S160),然后第二解密单元207通过IO单元212向第二加密单元305请求内容密钥(步骤S165)。
第二加密单元305在通过第二IO单元310接收到来自第二解密单元207的请求之后(步骤S170),通过第一IO单元309从记录介质100读取加密的内容密钥,从密钥产生单元304读取会话密钥,并使用会话密钥利用CK加密算法对加密的内容密钥进行加密从而产生双重加密内容密钥,并将双重加密的内容密钥通过第二IO单元310输出至单元207(步骤S175)。
第二解密单元207,在通过IO单元212接收到双重加密的内容密钥之后,使用从第一解密单元206接收的会话密钥利用CK加密算法对双重加密的内容密钥进行解密以产生加密的内容密钥,并将产生的密钥输出至第三解密单元208(步骤S180)。
第三解密单元208,在接收到加密的内容密钥之后,指示第四解密单元209获取介质密钥。作为响应,单元209通过IO单元212指示第二读取单元307读取加密的介质密钥(步骤S185)。
第二读取单元307,在通过第二IO单元310从第四解密单元209接收到指令之后(步骤S190),通过第一IO单元309从记录介质100读取所有的加密介质密钥,并将读取的密钥通过第二IO单元310输出至单元209(步骤S195)。
第四解密单元209,在通过IO单元212接收到加密的介质密钥之后,从DK存储单元202读取设备密钥和DK标识符,并在从加密介质密钥中获取与设备密钥对应的密钥时使用DK标识符,使用该设备密钥利用CK加密算法对获取的密钥进行解密从而产生介质密钥,并将产生的密钥输出至第三解密单元208(步骤S200)。
第三解密单元208,在接收到介质密钥之后,使用接收的密钥利用CK加密算法对加密的内容密钥进行解密从而产生内容密钥,并将产生的密钥输出至第五解密单元210(步骤S205),然后第五解密单元210通过IO单元212指示第三读取单元308读取加密的内容(步骤S210)。
第三读取单元308,在通过第二IO单元310从第五解密单元接收到指令时(步骤S215),通过第一IO单元309从记录介质100读取加密内容,并通过第二IO单元310将加密的内容输出至单元210(步骤S220)。
第五解密单元210,在通过IO单元212接收到加密内容之后,使用内容密钥利用CK加密算法对加密的内容进行解密从而产生内容,并将产生的内容输出至输出单元211,输出单元211向外部输出接收的内容(步骤S225)。
2.实施例2认证系统2,作为关于本发明的实施例2,在认证方法方面不同于实施例1的认证系统。以下描述的是根据实施例2的记录介质500,重放设备600a,600b,…,600c和读取设备700a,700b,…,700c。
实施例2中的CA终端50与实施例1中的CA终端10类似,为重放设备发布公开密钥证书并更新重放设备CRL。CA终端50也为读取设备发布公开密钥证书并更新读取设备CRL。
应当注意,由于由CA终端50为重放设备发布公开密钥证书以及更新重放设备CRL都与实施例1中的相同,并且由CA终端50为读取设备发布公开密钥证书以及更新读取设备CRL与现有技术相同,因此这里省略相关的描述。
重放设备和读取设备成对的方式也与实施例1相同。即,重放设备600a与读取设备700a成对,重放设备600b与读取设备700b成对等等。
2.1记录介质500的结构在此描述记录介质500的结构。
记录介质500,如附图13所示,由内容存储区501,内容密钥(CK)存储区502,介质密钥(MK)存储区503,第一CRL存储区504和第二CRL存储区505构成。
以下使用图14对这些记录区域进行描述。
(1)内容存储区501内容存储区501存储通过使用内容密钥(Kc)利用CK加密算法(例如,DES算法)对内容加密产生的加密内容。
(2)内容密钥存储区502内容密钥存储区502存储通过使用介质密钥(Km)利用CK加密算法(例如DES算法)对内容密钥(Kc)加密产生的加密的内容密钥。
(3)介质密钥存储区503介质密钥存储区503存储通过使用为每个重放设备600保存的设备密钥(DK)利用CK加密算法(例如,DES算法)对为重放设备提供的数据进行加密而产生的一个或多个加密的介质密钥。
这里,每个为重放设备保存的设备密钥都与唯一标识该设备密钥的DK标识符对应,MK存储区503中的一个或多个加密的介质密钥按照DK标识符的升序存储。应当注意,分别对应于设备密钥“DK1,DK2,DK3,…,DKn”的DK标识符以下按“1,2,3,…,n”的顺序设置。
(4)第一CRL存储区504第一CRL存储区504存储与重放设备有关的CRL506(以下称为“重放设备CRL506”或简称为“CRL506”)。
CRL506,具有分别存储CRL的版本号(VN)、多个已撤销证书ID(RID)、以及一个或多个证明版本号和RID的真实性的CRL签名的三个主要区域,所述签名是CA的签名。
图14显示一个例子,其中,具有ID“3”和“10”的证书已撤销。没有分配实际证书的ID“0000”和“9999”也记录在CRL506中。同样,只要更新CRL506,版本号的值都加“1”。为通过连接版本号和连续排列的RID获得的值提供CRL签名。
这里,记录在CRL506中的每个CRL签名是通过使用仅由CA保存的私有密钥(SK_CA)执行数字签名而产生的签名数据。使用利用哈希函数的RSA密码系统的数字签名是一个例子。
(5)第二CRL存储区505第二CRL存储区505存储与读取设备有关的CRL507(以下称为“读取设备CRL507”或简称为“CRL507”)。
CRL507具有分别存储CRL的版本号(VN’)、多个已撤销证书ID(RID’)、以及一个或多个CRL签名的三个主要区域,该CRL签名是证明所述版本号和RID的真实性的、CA的签名。
图14显示一个例子,其中,具有ID“1”,“6”和“15”的证书已撤销。
这里,记录在CRL507中的每个CRL签名是通过使用仅由CA保存的私有密钥(SK_CA)执行数字签名产生的签名数据。使用利用哈希函数的RSA密码系统的数字签名是一个例子。
2.2重放设备的结构重放设备600a,600b,…,600c,所有这些设备都具有相似的结构,这里使用单个重放设备600进行描述。设备600与读取设备700配对。
重放设备600,如图13所示,由证书存储单元601,设备密钥(DK)存储单元602,CA公开密钥(PK)存储单元603,提取单元604,传输单元605,验证单元606,处理单元607,第一解密单元608,第二解密单元609,第三解密单元610,第四解密单元611,输出单元612,以及输入/输出(IO)单元613构成。
特别地,重放设备600是由微处理器、ROM、RAM、硬盘单元等构成的计算机系统。ROM或硬盘单元存储计算机程序,并且设备600执行作为根据计算机程序的微处理器操作的结果的功能。
(1)证书存储单元601证书存储单元601存储重放设备600的证书。
(2)DK存储单元602DK存储单元602存储由重放设备600保存的设备密钥和标识该设备密钥的DK标识符。
(3)PK存储单元603PK存储单元603存储对应于仅由CA保存的私有密钥(SK_CA)的公开密钥。
(4)提取单元604提取单元604,在通过IO单元613从读取设备700接收到显示记录介质500安装在设备700中的检测信息之后,通过IO单元613指示设备700读取CRL506(以下称为“第一CRL读取指令”),并通过IO单元613接收CRL506。
提取单元604,在接收到CRL506之后,从证书存储单元601读取证书,并且使用读取的证书搜索并从CRL506中提取版本号、对应于包含在所读取的证书中的ID的区间、以及版本号和区间的CRL签名。
提取单元604产生由提取的版本号,ID区间和CRL签名构成的提取信息,并输出所产生的信息给传输单元605。
应当注意,提取方法与实施例1类似,这里省略对其的描述。
具体例子考虑一个例子,其中,记录介质500的状态如图14所示并且由重放设备600保存的证书的ID为“5”。在此情况下,提取单元604提取版本号“VN=0001”,ID区间“RID2=0003~RID3=0010”,以及CRL签名Sig(SK_CA,VN‖RID2‖RID3)。同样,如果证书ID为“3”,则单元604提取版本号“VN=0001”,ID区间“RID1=0000~RID2=0003”或“RID2=0003~RID2=0005”,以及CRL签名Sig(SK_CA,VN‖RID1‖RID2)或Sig(SK_CA,VN‖RID2‖RID3)。
(5)传输单元605传输单元605,在从提取单元604接收到提取信息之后,从证书存储单元601中读取证书,并将该证书和提取信息通过IO单元613输出至读取设备700。
(6)验证单元606验证单元验证读取设备的证书和包含在CRL507中的CRL签名,并访问证书的有效性。
验证单元606,如图15所示,包括签名验证单元650和判断单元651。
单元650和651如下所述。
签名验证单元650在通过IO单元613从读取设备700接收到证书之后,单元650通过IO单元613指示设备700读取CRL507(即第二CRL读取指令)。在通过IO单元613接收到CRL507之后,单元650从PK存储单元603读取CA公开密钥。
单元650在验证证书和包含在CRL507中的CRL签名时使用读取的公开密钥,并且如果已判断证书和CRL签名的真实性时,将所述证书和CRL507输出至判断单元651。
判断单元651单元651在判断证书是否有效时使用从签名验证单元650接收的证书和CRL507。
如果证书被判断为有效,单元651输出CRL507和开始相互认证的指令给处理单元607。
这里,判断方法涉及判断是否有与证书的ID相匹配的RID存在于CRL507中。如果存在匹配RID,则判断证书已撤销,如果不存在匹配ID,则判断为有效。
如果判断所接收的证书有效,则单元651可以确定读取设备700被授权(即有效设备),如果判断接收的证书已撤销,则单元651可以确定读取设备700没有被授权(即已撤销设备)。
考虑一个例子,其中,CRL507从保存着ID为“5”的证书的读取设备输出。由于值“5”在接收的CRL中不存在,单元651判断该证书有效。然而,如果CRL507从保存着ID为“6”的证书的读取设备输出,则单元651判断该证书已撤销,因为值“6”存在于接收的CRL中。
(7)处理单元607处理单元607通过IO单元613在读取设备700与重放设备600之间执行相互认证,以便建立安全的认证信道(SAC),用于通过连接设备600和700的普通通信信道安全地传输信息。
处理单元607预存仅由重放设备600保存的私有密钥,属于认证系统2的系统参数“Y”,签名产生函数“Sign()”,签名验证函数“Veri()”,以及密钥产生函数“Gen()”。这里,Sign(x,y)用于使用密钥x签名数据y。Veri(x,y)用于使用密钥数据x验证签名数据y。Gen(x,y)用于对数据y使用数据x以产生密钥。此外,这里,Gen()满足关系Gen(x,Gen(y,z))=Gen(y,Gen(x,z))。应当注意,该密钥产生函数可以利用公知技术实现,这里不再对其进行详细说明。这种技术的一个例子是在上述参考文件4中公开的(DH)公开密钥分配方案。
处理单元607,在从验证单元607的判断单元651接收到CRL507和开始认证的指令时,等待来自读取设备700的CA发布的证书(以下为“Cert_A”)。这里,设备700的公开密钥,证书ID以及公开密钥和ID(这些是构成Cert_A的元素)的证书签名分别为“PK_A”,“ID_A”,“Sig_CA(SK_CA,PK_A‖ID_A)”。应当注意,Sig_CA(A,B)表示通过使用密钥A对数据B执行数字签名Sig_CA获得的签名数据。还应当注意,“Sig_CA(SK_CA,PK_A‖ID_A)”以下被写为“Sig_CA_A”。
处理单元607,在通过IO单元613从读取设备700接收到Cert_A之后,从PK存储单元603读取CA公开密钥,并在验证包含在Cert_A中的签名“Sig_CA_A”时使用读取的密钥。
如果验证的结果判断该签名“Sig_CA_A”不是真实的,则结束建立SAC的处理。
如果判断“Sig_CA_A”是真实的,则处理单元607检查在从判断单元651接收的CRL507中是否已输入包含在Cert_A中的ID“ID_A”。如果在CRL507中已输入ID_A,则处理结束。
如果在CRL507中没有输入ID_A,则处理单元607从证书存储单元601读取证书(以下称为“Cert_B”),并将Cert_B输出至读取设备700。这里,设备600的公开密钥,证书ID以及公开密钥和ID(这些是构成Cert_B的元素)的证书签名分别为“PK_B”,“ID_B”,“Sig_CA(SK_CA,PK_B‖ID_B)”。注意,“Sig_CA(SK_CA,PK_B‖ID_B)”以下被写为“Sig_CA_B”。
处理单元607,在通过IO单元613从读取设备700接收到随机数“Cha_A”之后,使用预存的私有密钥(以下为“SK_B”)签名Cha_A以产生签名“Sig_B=Sign(SK_B,Cha_A)”,并将产生的签名通过IO单元613输出至设备700。
处理单元607还产生随机数“Cha_B”,并通过IO单元613将产生的随机数输出至读取设备700。单元607通过IO单元613从读取设备700接收通过利用仅由设备700保存的私有密钥“SK_A”签名Cha_B产生的签名“Sig_A=Sign(SK_A,Cha_B)”,并在判断Sig_A是否是真实的时使用包含在接收的Cert_A中的公开密钥“PK_A”。也就是说,单元607判断Veri(PK_A,Sig_A)是否与Cha_B匹配。
如果判断Sig_A不是真实的,则处理单元607结束建立SAC的处理。
如果判断为真实的,则处理单元607产生随机数“b”,计算密钥“Key_B=Gen(b,Y)”,并通过IO单元613将产生的密钥输出至读取设备700。
处理单元607通过IO单元613从读取设备700接收在设备700中计算的密钥“Key_A”。这里,Key_A=Gen(a,Y),其中“a”为在设备700中产生的随机数。
处理单元607导出与读取设备700共享的共享密钥“Key_AB=Gen(b,Key_A)”。
处理单元607将共享的密钥“Key_AB”输出至第一解密单元608。
(8)第一解密单元608第一解密单元608具有公用密钥(CK)加密算法(例如DES算法)。
第一解密单元608,在从处理单元607接收到共享密钥“Key_AB”之后,通过IO单元613向读取设备700请求内容密钥。
第一解密单元608通过IO单元613从读取设备700接收通过使用共享密钥“Key_AB”利用与单元608相同的PK加密算法对加密的内容密钥进行加密而产生的双重加密内容密钥。
第一解密单元608使用共享的密钥“Key_AB”利用PK加密算法对双重加密的内容密钥进行解密从而产生加密的内容密钥,并将所产生的密钥输出至第二解密单元609。
(9)第二解密单元609第二解密单元609具有与用于产生加密的内容密钥的算法相同的CK加密算法。
第二解密单元609,在从第一解密单元608接收到加密的内容密钥之后,指示第三解密单元610获取介质密钥。
第二解密单元609,在从第三解密单元610接收到介质密钥之后,使用该介质密钥利用CK加密算法对加密的内容密钥进行解密从而产生内容密钥,并将所产生的内容密钥输出至第四解密单元611。
(10)第三解密单元610第三解密单元610具有与用于产生加密的介质密钥的算法相同的CK加密算法。
第三解密单元610,当被第二解密单元609指示获取介质密钥时,通过IO单元613指示读取设备700读取加密的介质密钥,并且通过IO单元613从设备700接收记录在记录介质500上的所有加密的介质密钥。
第三解密单元610,从DK存储单元602读取设备密钥和DK标识符,并在从加密介质密钥中获取与读取的设备密钥对应的密钥时使用DK标识符。例如,如果读取的DK标识符为“2”,单元610获取显示为加密介质密钥中的第二个的加密的介质密钥“E(DK2,Km)”。同样,如果读取的DK标识符为“10”,则单元610获取表示为加密介质密钥中的第十个的加密的介质密钥“E(DK10,Km)”。
第三解密单元610使用所述设备密钥利用CK加密算法对获取的密钥进行解密从而产生介质密钥,并将产生的密钥输出至第二解密单元609。
(11)第四解密单元611第四解密单元611具有与用于产生加密的内容的算法相同的CK加密算法。
第四解密单元611,在从第二解密单元609接收到内容密钥之后,通过IO单元613指示读取设备700读取加密的内容,并通过IO单元613接收加密的内容。
第四解密单元611使用该内容密钥利用CK加密算法对加密的内容进行解密以产生内容,并将产生的内容输出给输出单元612。
(12)输出单元612输出单元612,包括显示器和扬声器,例如,将从第四解密单元611接收的内容进行外部输出。
(13)IO单元613IO单元613在重放设备600和读取设备700之间执行数据输入/输出。
2.3读取设备700的结构读取设备700a,700b,…,700c,所有这些设备都具有类似的结构,这里使用单个读取设备700进行描述。设备700与重放设备600配对。
读取设备700,如图13所示,由CA公开密钥(PK)存储单元701、证书存储单元702、验证单元703、传输单元704、处理单元705、加密单元706、第一读取单元707、第二读取单元708、第三读取单元709、第四读取单元710、第一输入/输出(IO)单元711、以及第二输入/输出(IO)单元712组成。
特别地,读取设备700是一种由微处理器、ROM、RAM、硬盘单元等构成的计算机系统。ROM或硬盘单元存储计算机程序,并且设备700执行作为根据计算机程序的微处理器操作的结果的功能。
(1)PK存储单元701PK存储单元701存储与仅由CA保存的私有密钥(SK_CA)对应的CA公开密钥。
(2)证书存储单元702证书存储单元702存储读取设备700的证书。
(3)验证单元703验证单元703验证重放设备的证书和包含在提取信息中的CRL签名,检查CRL506的版本,并访问证书的有效性。
验证单元703,如附图16所示,包括签名验证单元750,比较单元751,和判断单元752。
以下对单元750,751和752进行说明。
签名验证单元750在通过第二IO单元310从重放设备600接收到提取信息和证书之后,单元750从PK存储单元701读取CA公开密钥。
单元750在验证证书和包含在提取信息中的CRL签名时使用读取的公开密钥,并且,如果已验证所述证书和CRL签名的真实性,则将该证书和提取信息输出至比较单元751。
比较单元751单元751可以通过第一IO单元711访问记录介质500。
单元751,在从签名验证单元750接收到提取信息和证书之后,通过第一IO单元711从记录介质500读取CRL506,比较包含在CRL506中的版本号与包含在提取信息中的版本号,并判断该版本号是否匹配。
如果判断版本号匹配,则单元751将所述证书、提取信息和CRL506输出至判断单元752。
判断单元752单元752具有用于存储重放设备的CRL和证书的分离的区域。
在从比较单元751接收到CRL506、提取信息和证书之后,单元752在判断证书是否有效时使用该提取信息。
如果判断所接收的证书是有效的,则单元752指示传输单元704将所述存储在证书存储单元702中的证书输出至设备600,并将所接收的证书和CRL506分别存储在证书存储区和CRL存储区中。
应当注意,判断方法类似于实施例1,在此省略其描述。
如果判断该接收的证书有效,则单元752可以确定重放设备600被授权(即为有效设备),并且如果判断接收的证书已撤销,则单元752可以确定重放设备600没有被授权(即为已撤销设备)。
考虑一个例子,其中,证书ID为“5”并且包含在提取信息中的ID区间为“RID2=0003~RID3=0010”。在此情况下,由于值“5”属于有效区间,其为“4,5,6,7,8,9”,单元752判断所述证书将是有效的。考虑另一个例子,其中,证书ID为“3”并且包含在提取信息中的ID区间为“RID2=0003~RID3=0010”。这里,由于值“3”没有包含在有效区间内,该区间也为“4,5,6,7,8,9”,单元752判断所述证书已撤销。
(4)传输单元704传输单元704,当由验证单元703中的判断单元752指示输出证书时,从证书存储单元702中读取证书,并将该读取的证书通过第二IO单元712输出至重放设备600。
传输单元704还指示处理单元705开始认证。
(5)处理单元705处理单元705通过第二IO单元712在读取设备700与重放设备600之间执行相互认证,以便建立SAC,用于通过连接设备700和600的普通通信信道安全地传输信息。
处理单元705预存仅由重放设备700保存的私有密钥“SK_A”。单元705还预存系统参数“Y”,签名产生函数“Sign()”,签名验证函数“Veri()”,以及密钥产生函数“Gen()”,所有这些都与由重放设备600中的处理单元607预存的那些相同。
处理单元705,当由传输单元704指示开始认证时,从证书存储单元702读取证书“Cert_A”,并通过第二IO单元712将Cert_A输出至重放单元600。
处理单元705,在通过第二IO单元712从重放设备600接收到Cert_B之后,从PK存储单元701读取CA公开密钥,并在验证包含在Cert_B中的签名“Sig_CA_B”时使用读取的密钥。
如果作为验证的结果判断该签名“Sig_CA_B”不是真实的,则结束建立SAC的处理。
如果判断“Sig_CA_B”是真实的,则处理单元705从验证单元703的判断单元752的CRL存储区中读取CRL506,并检查是否在CRL506中输入了包含在Cert_B中的ID“ID_B”。如果在CRL506中已输入ID_B,则处理结束。
如果在CRL506中没有输入ID_B,则处理单元705产生随机数“Cha_A”,并通过IO单元712将产生的随机数输出至重放设备600。
处理单元705,在通过IO单元712从重放设备600接收到签名“Sig_B”之后,在判断Sig_B是否真实时使用包含在Cert_B中的公开密钥“PK_B”。也就是说,单元705判断Veri(PK_B,Sig_B)是否与Cha_A匹配。
如果判断Sig_B不真实,则处理单元705结束建立SAC的处理。
如果判断真实,则处理单元705等待来自重放设备600的随机数“Cha_B”。
处理单元705,在通过第二IO单元712接收到Cha_B之后,使用预存的私有密钥“SK_A”签名Cha_B以产生签名“Sig_A”,并通过第二IO单元712将产生的签名输出至重放设备600。
处理单元705通过第二IO单元712从重放设备600接收密钥“Key_B”。
处理单元705产生随机数“a”,计算密钥“Key_A=Gen(a,Y)”,并通过第二IO单元712将产生的密钥输出至重放设备600。
处理单元705导出与重放设备600共享的共享密钥“Key_AB=Gen(a,Key_B)”。
处理单元705将共享的密钥“Key_AB”输出至加密单元706。
(6)加密单元706加密单元706与重放设备600中的第一解密单元608具有相同的CK加密算法,并且能够通过第一IO单元711访问记录介质500。
加密单元706从处理单元705接收公用密钥。
加密单元706,当由第一解密单元608通过第二IO单元712请求内容密钥时,通过第一IO单元711从记录介质500读取加密的内容密钥。单元706使用公用密钥利用CK加密算法对加密的内容密钥进行加密以产生双重加密的内容密钥,并通过第二IO单元712将该双重加密的内容密钥输出至单元608。
(7)第一读取单元707第一读取单元707可以通过第一IO单元711访问记录介质500。
第一读取单元707,在通过第一IO单元711检测到记录介质500安装在读取设备700中时,产生检测信息,并通过第二IO单元712将产生的信息输出至提取单元604。
第一读取单元707,在通过第二IO单元712从提取单元604接收到到第一CRL读取指令时,通过第一IO单元711从记录介质500读取CRL506,并将读取的CRL通过第二IO单元712输出至提取单元604。
(8)第二读取单元708第二读取单元708可以通过第一IO单元711访问记录介质500。
第二读取单元708,当被第三解密单元610通过第二IO单元712指示读取加密的介质密钥时,通过第一IO单元711从记录介质500读取所有加密的介质密钥,并将读取的密钥通过第二IO单元712输出至单元610。
(9)第三读取单元709第三读取单元709可以通过第一IO单元711访问记录介质500。
第三读取单元709,当被第四解密单元611通过第二IO单元712指示读取加密的内容时,通过第一IO单元711从记录介质500读取加密的内容,并将加密的内容通过第二IO单元712输出至单元611。
(10)第四读取单元710第四读取单元710可以通过第一IO单元711访问记录介质500。
第四读取单元710,在通过第二IO单元712从验证单元606的签名验证单元650接收到第二CRL读取指令之后,通过第一IO单元711从记录介质500读取CRL507,并将读取的URL通过第二IO单元712输出至单元650。
(11)第一IO单元711
第一IO单元711将记录在记录介质500上的数据输出至验证单元703,加密单元706,第一读取单元707,第二读取单元708,第三读取单元709,以及第四读取单元710。
(12)第二IO单元712第二IO单元712在读取设备700与重放设备600之间执行数据的输入/输出。
2.4CA终端50的操作由CA终端50执行的产生和写入重放设备CRL的处理的描述,与由实施例1中的CA终端10执行的处理相同,在此省略。
由CA终端50执行的产生和写入读取设备CRL的处理的描述,与现有技术相同,在此也省略。
2.5重放设备600和读取设备700的操作这里使用附图17,18,19和20所示的流程图来描述与重放设备600和读取设备700中的认证和内容重放有关的操作。
重放设备600中的提取单元604,在从读取设备700中的第一读取单元707接收到检测信息之后,将第一CRL读取指令通过IO单元613输出至单元707(步骤S300)。
第一读取单元707,在从提取单元604通过第二IO单元712接收到指令之后(步骤S305),通过第一IO单元711从记录介质500读取CRL506,并将读取的CRL通过第二IO单元712输出至单元604(步骤S310)。
提取单元604,在通过IO单元613接收到CRL506之后(步骤S315),从证书存储单元601读取证书,并使用读取的证书,从CRL506中搜索并提取版本号,对应于包含在读取的证书中的ID的区间,以及版本号和区间的CRL签名(步骤S320)。
提取单元604产生由提取的版本号,ID区间和CRL签名构成的提取信息,并输出所产生的信息给传输单元605,然后传输单元605从证书存储单元601读取证书,并将该证书和提取信息通过IO单元613输出至验证单元703(步骤S325)。
验证单元703中的签名验证单元750,在通过第二IO单元712接收到证书和提取信息之后,从PK存储单元701读取CA公开密钥,并且在证书和验证包含在所述提取信息中的CRL签名时使用读取的密钥(步骤S330)。单元750根据验证结果确定该证书和CRL签名是否是真实的(步骤S335)。
如果证书和CRL签名被判断为是真实的(步骤S335=是),则签名验证单元750将该证书和提取信息输出至比较单元751,然后比较单元751通过第一IO单元711从记录介质500读取CRL506,并对包含在CRL506中的版本号与包含在提取信息中的版本号进行比较,并判断所述版本号是否匹配(步骤S340)如果判断为肯定(步骤S340=是),则比较单元751输出CRL506、证书、和提取信息给判断单元752,判断单元752在判断所述证书是否是有效的时使用所接收的提取信息(步骤S345)。
如果判断为有效(步骤S345=是),则判断单元752指示传输单元704输出证书,并将所接收的证书和CRL506分别存储在证书和CRL存储区中。单元704响应来自单元752的指令,读取存储在证书存储单元702中的证书,并将读取的证书通过第二IO单元712输出至重放设备600,并指示处理单元705开始认证(步骤S350)。
如果判断该证书不是真实的(步骤S335=否),版本号不匹配(步骤S340=否),或证书已撤销(步骤S345=否),则结束所述处理。
验证单元606中的签名验证单元650,在通过IO单元613从读取设备700接收到证书之后,通过IO单元613将第二CRL读取指令输出给第四读取单元710(步骤S360)。
第四读取单元710,在通过第二IO单元712从签名验证单元650接收到指令以后(步骤S365),通过第一IO单元711从记录介质500读取CRL507,并将读取的CRL通过第二IO单元712输出至单元650(步骤S370)。
签名验证单元650,在通过IO单元613接收到CRL507之后,从PK存储单元603读取CA公开密钥,并在验证证书和包含在CRL507中的CRL签名时使用该读取的密钥(步骤S375)。单元650根据验证结果确定所述证书和CRL签名是否是真实的(步骤S380)。
如果所述证书和CRL签名被判断为真实(步骤S380=是),则签名验证单元650将该证书和CRL507输出至判断单元651,判断单元651在判断所述证书是否有效时使用接收的证书和CRL507(步骤S385)。
如果判断为有效(步骤S385=是),则判断单元651指示处理单元607开始相互认证。作为响应,单元607利用读取设备700中的处理单元705执行SAC处理(步骤S390/S395)。
如果判断所述证书不真实(步骤S380=否),或者所述证书是无效的(步骤S385=否),则结束所述处理。
如果在步骤S390/S395已建立SAC,则第一解密单元608通过IO单元613向加密单元706请求内容密钥(步骤S400)。
加密单元706,在通过第二IO单元712从第一解密单元608接收到所述请求之后(步骤S405),通过第一IO单元711从记录介质500读取加密的内容密钥,使用从处理单元705接收的共享密钥以利用CK加密算法对加密的内容密钥进行加密以产生双重加密的内容密钥,并通过第二IO单元712将该双重加密的内容密钥输出至单元608(步骤S410)。
第一解密单元608,在通过IO单元613接收到双重加密的内容密钥之后,使用从处理单元607接收的共享密钥以利用CK加密算法对该双重加密的内容密钥进行解密以产生加密的内容密钥,并将产生的密钥输出至第二解密单元609(步骤S415)。
第二解密单元609,在接收到加密的内容密钥之后,指示第三解密单元610获取介质密钥。作为响应,单元610通过IO单元613指示第二读取单元708读取加密的介质密钥(步骤S420)。
第二读取单元708,在通过第二IO单元712从第三解密单元610接收到指令之后(步骤S425),通过第一IO单元711从记录介质500读取所有加密的介质密钥,并将读取的密钥通过第二IO单元712输出至单元610(步骤S430)。
第三解密单元610,在通过IO单元613接收到加密的介质密钥之后,从DK存储单元602读取设备密钥和DK标识符,并在从加密介质密钥中获取与设备密钥对应的密钥时使用该DK标识符,使用该设备密钥以利用CK加密算法对所获取的密钥进行解密以产生介质密钥,并将所产生的密钥输出至第二解密单元609(步骤S435)。
第二解密单元609,在接收到介质密钥之后,使用该接收的密钥利用CK加密算法对加密的内容密钥进行解密以产生内容密钥,并将产生的密钥输出至第四解密单元611(步骤S440),然后第四解密单元611通过IO单元613指示第三读取单元709读取加密的内容(步骤S445)。
第三读取单元709,在通过第二IO单元712从第四解密单元611接收到指令之后(步骤S450),通过第一IO单元711从记录介质500读取所有加密的内容,并将加密的内容通过第二IO单元712输出至单元611(步骤S455)。
第四解密单元611,在通过IO单元613接收到加密的内容之后,使用该内容密钥以利用CK加密算法对加密的内容进行解密从而产生内容,并将所产生的内容输出至输出单元612,输出单元612将所接收的内容向外部输出(步骤S460)。
2.6 SAC处理这里使用图21,22和23中所示的流程图对图19所示的SAC处理进行说明。
读取设备700中的处理单元705,当被传输单元704指示开始认证时,从证书存储单元702读取证书“Cert_A”,并将读取的证书通过第二IO单元712输出至读取设备600中的处理单元607(步骤S500)。
处理单元607,在从判断单元651接收到CRL507和认证开始指令之后,等待Cert_A。在通过IO单元613接收到Cert_A之后,单元607从PK存储单元603读取CA公用密钥,并在验证包含在Cert_A中的签名“Sig_CA_A”时使用该读取的密钥(步骤S505)。
处理单元607根据验证结果判断Sig_CA_A是否真实(步骤S510)。
如果判断Sig_CA_A不真实,则处理单元607结束SAC处理(步骤S510=否)。
如果判断真实(步骤S510=是),则处理单元607在步骤S515检查在CRL507中是否输入包含在Cert_A中的ID“ID_A”(即ID_A是有效还是已撤销),并且如果判断为已输入,则结束SAC处理(步骤S515=否)。
如果没有输入(步骤S515=是),处理单元607从证书存储单元601读取证书“Cert_B”,并通过IO单元613将读取的证书输出至处理单元705(步骤S520)。
处理单元705,在通过第二IO单元712接收到Cert_B之后,从PK存储单元701读取CA公开密钥,并在验证包含在Cert_B中的签名“Sig_CA_B”时使用读取的密钥(步骤S525)。
处理单元705根据验证结果判断Sig_CA_B是否真实(步骤S530)。
如果判断Sig_CA_B不真实,则处理单元705结束SAC的处理(步骤S530=否)。
如果判断真实(步骤S530=是),则处理单元705从判断单元752的CRL存储区中读取CRL506,在步骤S535检查在CRL506中是否输入了包含在Cert_B中的ID“ID_B”(即判断ID_B是有效还是已撤销),并且如果判断为已输入(步骤S535=否),则结束SAC处理。
如果没有输入(步骤S535=是),处理单元705产生随机数“Cha_A”,并通过第二IO单元712将产生的随机数输出至处理单元607(步骤S540)。
处理单元607,在通过IO单元613接收到Cha_A之后,通过使用私有密钥“SK_B”来签名Cha_A产生签名“Sig_B=Sign(SK_B,Cha_A)”,并将产生的签名通过IO单元613输出至处理单元705(步骤S545)。单元607还产生随机数“Cha_B”,并将产生的随机数通过IO单元613输出至单元705(步骤S560)。
处理单元705,在通过第二IO单元712接收到Sig_B之后,在验证Sig_B时使用包含在Cert_B中的公开密钥“PK_B”(步骤S550)。单元705根据验证结果判断Sig_B是否真实(步骤S555)。
如果判断Sig_B不真实,则处理单元705结束SAC处理(步骤S555=否)。
如果判断是真实的(步骤S555=是),则处理单元705通过第二IO单元712从处理单元607接收随机数“Cha_B”,并通过使用私有密钥“SK_A”签名Cha_B产生签名“Sig_A=Sign(SKA,Cha_B)”,并将产生的签名通过第二IO单元712输出至处理单元607(步骤S565)。
处理单元607,在通过IO单元613接收到Sig_A之后,在验证Sig_A时使用包含在Cert_A中的公开密钥“PK_A”(步骤S570)。单元607根据验证结果判断Sig_A是否是真实的(步骤S575)。
如果判断Sig_A不是真实的,则处理单元607结束SAC的处理(步骤S575=否)。
如果判断是真实的(步骤S575=是),则处理单元607产生随机数“b”(步骤S580),计算密钥“Key_B=Gen(b,Y)”,并将产生的密钥通过IO单元613输出至处理单元705(步骤S585)。
处理单元705通过第二IO单元712接收Key_B(步骤S590)。
处理单元705产生随机数“a”(步骤S595),计算密钥“Key_A=Gen(a,Y)”,并将产生的密钥通过第二IO单元712输出至处理单元607(步骤S600)。
处理单元705导出共享密钥“Key_AB=Gen(a,Key_B)”,并将导出的密钥输出至加密单元706(步骤S605)。
处理单元607通过IO单元613接收Key_A(步骤S610)。
处理单元607导出共享密钥“Key_AB=Gen(b,Key_A)”,并将导出的密钥输出至第一解密单元608(步骤S615)。
3.变形以上基于优选实施例1和2描述的本发明当然并不局限于这些实施例。以下变形也可以包含在其中。
(1)重放设备CRL的数据格式并不局限于实施例1和2中所示的。数据格式并不需要包含虚拟ID(即在上述实施例中的“0000”,“9999”)。
根据该变形的一种典型的数据格式在图24中示出作为实施例2的变形。记录介质500A由内容存储区501A,内容密钥(CK)存储区502A,介质密钥(MK)存储区503A,第一CRL存储区504A,和第二CRL存储区505A构成。区域501A,502A和503A的描述,与记录介质500中的区域501、502和503类似,在此省略。区域505A存储读取设备CRL507A,CRL507A类似于CRL507,在此也省略对其的描述。
第一CRL存储区504A存储与重放设备有关的CRL506A。虽然CRL506A与CRL506由相同的元素构成,但是当记录RID时不提供虚拟ID意味着CRL506A中的第一和最后的CRL签名的内容不同于CRL506的。为将版本号与头RID按所述顺序连接所获得的值提供头CRL签名,同时为将版本号与最后的RID按所述顺序连接所获得的值提供最后的CRL签名。与实施例1和2中描述的相同的方式提供位于第一和最后的RID之间的RID的CRL签名。
图24说明了一个例子,其中,具有ID“3”和“10”的证书已被撤销的例子。在此情况下CRL签名的数为三,第一个是使版本号和头RID连接获得的值提供的“Sig(SK_CA,VN‖RID1)”,第二个是使版本号和ID区间连接获得的值提供的“Sig(SK_CA,VN‖RID1‖RID2)”,并且第三个是使版本号与最后的RID连接获得的值提供的“Sig(SK_CA,RID2‖VN)”。
首先,对用于产生CRL506A的CA终端50A进行说明。
应当注意在产生CRL506A之前存储在CA终端50A中的重放设备CRL这里被称作更新前CRL。
CA终端50A由公开密钥(CK)存储单元51A,CRL存储单元52A,接收单元53A,CRL产生单元54A,以及写入单元55A构成。
特别地,CA终端50A是由微处理器,ROM,RAM,硬盘单元等构成的计算机系统。ROM或硬盘单元存储计算机程序,并且CA终端50A执行作为根据计算机程序的微处理器操作的结果的功能。
SK存储单元51A51A安全地存储仅由CA保存的私有密钥(SK_CA),从外部不能对其进行访问。
CRL存储单元52A单元52A存储在CA终端51A中产生的重放设备CRL。
接收单元53A在从CA终端50A的授权用户接收到CRL产生指令以及所有已撤销证书的ID之后,单元53A将CRL产生指令和接收的ID输出至CRL产生单元54A。
当被CA终端50A的授权用户指示将存储在CRL存储单元52A中的CRL写入到记录介质500A时,单元53A指示写入单元55A将CRL写入到记录介质500A中。
CRL产生单元54A单元54A具有用于临时存储由单元54A产生的CRL的临时存储区。
在从接收单元53A接收到CRL产生指令和所有已撤销证书的ID之后,单元54A读取记录在更新前CRL中的所有RID,使用所接收的ID以及读取的RID以按照升序排列该ID,并将排列的ID存储在临时存储区中。结果是按照升序排列更新后的RID。
单元54A还从更新前CRL获取版本号,对所获取的版本号加“1”以更新该版本号,并将更新的版本号存储在临时存储区中。
单元54A从SK存储单元51A读取私有密钥,并首先读取存储在临时存储区中的多个RID(=“m”,其中m≥1),并使版本号与读取的RID按所述顺序连接。单元54A使用读取的私有密钥为连接值产生CRL签名,并将产生的CRL签名存储在临时存储区中。
然后单元54A读取存储在临时存储区中的第2/第3RID,使版本号与读取的RID按所述顺序连接,使用读取的私有密钥为连接值产生CRL签名,并将产生的CRL签名存储在临时存储区中。单元54A重复此操作直到为将版本号与第m-1/第m RID连接获得的值产生CRL签名并存储在临时存储区为止。
接着,单元54A读取第m RID,使读取的RID和版本号按所述顺序连接,使用读取的私有密钥为连接值产生CRL签名,并将产生的CRL签名存促在临时存储区中。
然后单元54A将存储在CRL存储单元52中的更新前CRL更新为存储在临时存储区中的内容。
因此,CA终端50A存储用于写入到记录介质500A中的CRL506A。
写入单元55A当被接收单元53A指示写入CRL时,单元55A读取存储在CRL存储单元52A中的CRL,并将读取的CRL写入到记录介质500A中。
以下描述涉及重放设备600A。
重放设备600A由证书存储单元601A,设备密钥(DK)存储单元602A,CA公开密钥(PK)存储单元603A,提取单元604A,传输单元605A,验证单元606A,处理单元607A,第一解密单元608A,第二解密单元609A,第三解密单元610A,第四解密单元611A,输出单元612A,以及输入/输出(IO)单元613A构成。
特别地,重放设备600A是由微处理器、ROM、RAM、硬盘单元等构成的计算机系统。ROM或硬盘单元存储计算机程序,并且设备600A执行作为根据计算机程序的微处理器操作的结果的功能。
应当注意,证书存储单元601A,DK存储单元602A,PK存储单元603A,验证单元606A,处理单元607A,第一解密单元608A,第二解密单元609A,第三解密单元610A,第四解密单元611A,输出单元612A,以及IO单元613A的描述分别类似于实施例2中的单元601,602,603,606,607,608,609,610,611,612,613,在此省略对其的描述。
提取单元604A单元604A,通过IO单元613A指示读取设备700A读取CRL,并通过IO单元613A接收CRL506A。
在接收到CRL506A之后,单元604A从证书存储单元601A读取证书,并且使用读取的证书,搜索并从CRL506A中提取版本号,对应于包含在所读取的证书中的ID的区间,以及版本号和区间的CRL签名。这里,如果包含在读取证书中的ID小于或等于包含在CRL506A中的头RID的值时,单元604A仅提取头RID作为ID区间,如果大于或等于最后的RID的值时,单元604A仅提取最后的RID。在所有其它情况下,单元604A依据实施例1和2提取ID区间。
单元604A产生由提取的版本号,ID区间和CRL签名构成的提取信息,并输出所产生的信息给传输单元605A。
这里,如果包含在提取信息中的ID区间仅由头RID组成时,提取单元604A将指示包含在证书中的ID是在头RID之前的ID的第一信息输出至传输单元605A,并且如果该ID区间仅由最后的RID组成,则单元604A将指示包含在证书中的ID是在最后的RID之后的ID的第二信息输出至单元605A。
传输单元605A在从提取单元604A接收到提取信息之后,从证书存储单元601A中读取证书,并将该证书和提取信息通过IO单元613A输出至读取设备700A。
在从提取单元604A接收到第一信息之后,单元605A通过IO单元613A将接收的信息输出至读取设备700A。
在从提取单元604A接收到第二信息之后,单元605A通过IO单元613A将接收的信息输出至读取设备700A。
以下描述涉及读取设备700A。
读取设备700A由CA公开密钥(PK)存储单元701A,证书存储单元702A,验证单元703A,传输单元704A,处理单元705A,加密单元706A,第一读取单元707A,第二读取单元708A,第三读取单元709A,第四读取单元710A,第一输入/输出(IO)单元711A,以及第二输入/输出(IO)单元712A构成。
特别地,读取设备700A是一种由微处理器、ROM、RAM、硬盘单元等构成的计算机系统。ROM或硬盘单元存储计算机程序,并且设备700A执行作为根据计算机程序的微处理器操作的结果的功能。
应当注意,PK存储单元701A证书存储单元702A,传输单元704A,处理单元705A,加密单元706A,第一读取单元707A,第二读取单元708A,第三读取单元709A,第四读取单元710A,第一IO单元711A,以及第二IO单元712A的描述分别与实施例2中的701,702,704,705,706,707,708,709,710,711以及712构成,在此省略对其的描述。
验证单元703A单元703A包括签名验证单元750A,比较单元751A,和判断单元752A。
签名验证单元750A通过第二IO单元712A从重放设备600A接收到提取信息和证书。如果包含在提取信息中的ID区间仅由头RID组成,则单元750A通过第二IO单元712A从设备600A接收第一信息,如果ID区间仅由最后的RID组成,则接收第二信息。
在接收到提取信息和证书之后,单元750A从PK存储单元701A读取CA公开密钥。
单元750A在验证证书和包含在提取信息中的CRL签名时使用读取的密钥。
如果已验证所述证书和CRL签名的真实性,则单元750A将证书和提取信息输出至比较单元751A。如果接收到的话,单元750A还将第一和第二信息输出至单元751A。
在此示出签名验证的典型方法。在接收到第一信息之后,签名验证单元750A使用CA公开密钥对CRL签名进行解密,并产生由按所述顺序连接的版本号和头RID构成的值。单元750A按所述顺序连接包含在提取信息中的版本号和头RID,并通过判断所得到的值是否与解密CRL签名产生的值匹配来验证该CRL签名。
在接收到第二信息之后,签名验证单元750A使用CA公开密钥解密CRL签名并产生由按所述顺序连接的最后的RID和版本号构成的值。单元750A按所述顺序连接包含在提取信息中的最后的RID和版本号,并通过判断所得到的值是否与通过解密CRL签名产生的值匹配来验证该CRL签名。
如果既没有接收到第一信息又没有接收到第二信息,则签名验证单元750A使用CA公开密钥解密CRL签名并产生由按所述顺序连接的ID区间中的第一和最后的RID构成的值。单元750A按所述顺序连接包含在提取信息中的第一和最后的RID,并通过判断所得到的值是否与解密CRL签名产生的值匹配来验证该CRL签名。
比较单元751A可以通过第一IO单元711A访问记录介质500A。
单元751A在从签名验证单元750A接收到提取信息和证书之后,通过第一IO单元711A从记录介质500A读取CRL506A,比较包含在CRL506A中的版本号与包含在提取信息中的版本号,并判断该版本号是否匹配。
如果判断版本号匹配,则单元751A将所述证书、提取信息和CRL506A输出至判断单元752A。如果接收到第一和第二信息的话,单元751A还将其输出至判断单元752A。
判断单元752A具有用于存储重放设备的CRL和证书的独立区域。
在从比较单元751A接收到CRL506A、提取信息和证书之后,单元752A在判断证书是否有效时使用该提取信息。
如果判断所接收的证书是有效的,判断单元752A指示传输单元704A将所述存储在证书存储单元702A中的证书输出至设备600A,并分别将所接收的证书和CRL506A存储在证书存储区和CRL存储区中。
判断方法如下所述。
如果从比较单元751A接收到第一信息,则判断单元752A判断包含在证书中的ID是否小于包含在提取信息中的ID区间(即头RID)的值。如果判断为小于,则单元752A确定该证书有效。如果不小于(即包含在证书中的ID等于头RID的值),则单元752A确定该证书已撤销。
如果从比较单元751A接收到第二信息,判断单元752A判断包含在证书中的ID是否大于包含在提取信息中的ID区间(即最后的RID)的值。如果判断为大于,则单元752A确定该证书有效。如果不大于(即包含在证书中的ID等于头RID的值),则单元752A确定该证书已撤销。
由于当没有接收到第一和第二信息时的判断过程与实施例1和2相同,因此在此省略相关的说明。
(2)本发明并不局限于当读取设备认证重放设备时使用的重放设备CRL,如实施例1和2。有效证书的ID列表(以下为“证书有效列表”或简称为“CVL”),而不是已撤销证书的ID列表可以在认证时使用。
图25中示出了一种典型的CVL,作为实施例2的变形。记录介质500B由内容存储区501B,内容密钥(CK)存储区502B,介质密钥(MK)存储区503B,第一CRL存储区504B,和第二CRL存储区505B构成。区域501B,502B和503B的描述,与实施例2的记录介质500中的区域501、502和503类似,在此省略。区域505B的描述在此也省略,该区域505B存储读取设备CRL507B,CRL507B类似于CRL507。
第一CRL存储区504B存储与重放设备有关的CRL508B。CRL508B由分别用于存储CVL的版本号(VN),一个或多个有效证书ID(VID),以及一个或多个CVL签名构成,其为证明版本号和VID的真实性的CA签名。
图25说明了一个例子,其中,除了具有ID“3”和“10”以外的证书有效;也就是说,具有ID“3”和“10”的证书被表示为已撤销。只要CVL508B被更新,则版本号增加“1”。为通过使版本号与有效证书ID连接获得的值提供CVL签名。
重放设备600B,在通过读取设备700B接收到CVL508B之后,读取设备600B的证书,并在判断与包含在读取证书的ID匹配的VID是否存在于CVL508B中时使用读取的证书。如果匹配,设备600B搜索并从CVL508B提取版本号,与包含在证书中的ID匹配的VID,以及用于版本号和匹配的VID的CVL签名,并将证书以及由版本号、VID和CVL签名组成的提取信息输出至设备700B。如果与读取的证书中的ID匹配的VID没有存在于CVL508B中,则设备600B终止所述处理。
读取设备700B在签名验证时使用从重放设备600B接收的提取信息和证书,如果证书和包含在提取信息中的CVL签名的真实性已验证,则如上所述检查版本号,并且如果版本号匹配,则判断包含在提取信息中的VID是否与包含在证书中的ID匹配。如果VID和ID匹配,则设备700B判断该证书有效。如果不匹配,则判断该证书无效。
在初始状态下,CA终端50B中的CVL包括为重放设备发布的所有证书。每次接收到已撤销的重放设备的证书的ID时,就从列表中删除与接收的ID对应的CVL中的VID。
(3)其上预先记录有加密内容的记录介质并不局限于预记录介质(例如DVD视频),如实施例1和2。
记录介质可以是可记录介质(例如DVD-RAM)。
在此情况下,重放设备在认证过程之后通过读取设备记录加密的内容,如实施例1和2。
这里,用于记录的数据并不局限于加密的内容。其它数据也可以被记录。
(4)本发明并不局限于认证中使用的数据,加密的内容,以及用于对记录在记录介质上的加密内容进行解密的密钥,如实施例1和2。
代替记录介质,上述数据、加密内容以及密钥可以使用通信介质发送和接收。
可替换的是,也可以使用记录和通信介质的组合。
(5)本发明并不局限于使用CA签名来保护认证过程中使用的数据。
例如,可以为该数据提供鉴别码(例如消息认证码或“MAC”)。
这里给出一个作为实施例2的变形的结构。
CA终端50C和重放设备600C每个都保存公用密钥(以下称为“重放设备密钥”或简称为“PD密钥”)。同样,CA终端51C和读取设备700C每个都保存公用密钥(以下为“读取设备密钥”或简称为“RD密钥”)。
当产生重放设备CRL时,CA终端50C使用RD密钥(即不是由CA保存的私有密钥(SK_CA))、多个RID,以及版本号以产生版本号和RID的CRL签名。
当产生读取设备CRL时,CA终端50C使用PD密钥(即不是由CA保存的私有密钥(SK_CA))、多个RID,以及版本号产生版本号和RID的CRL签名。
当验证读取设备CRL中的CRL签名时,重放设备600C使用PD密钥。这是因为已使用PD密钥产生CRL签名。
当验证从重放设备CRL提取并包含在提取信息中的CRL签名时,读取设备700C使用RD密钥。这是因为已使用RD密钥产生CRL签名。
(6)本发明并不局限于将重放设备CRL写入到记录介质100的CA终端10,如实施例1。
CA终端10可以更新CRL,分发更新的CRL给记录介质100的制造商,该制造商可以在制造过程中将CRL写入到介质100中。
(7)本发明并不局限于将重放设备CRL和读取设备CRL写入到记录介质500的CA终端50,如实施例2。
CA终端50可以更新CRL,分发更新后的CRL给记录介质500的制造商,该制造商可以在制造过程中将CRL写入到介质500中。
(8)本发明并不局限于没有任何其它的RID存在于由重放设备CRL中的两个RID定义的区间中的结构,如实施例1和2。
其它RID也可以存在于由两个RID定义的区间中。
图26显示根据此变形的示意CRL1000。
CRL1000由分别用于存储CRL的版本号(VN),RID签名数量,多个已撤销证书ID(RID),以及一个或多个证明版本号和RID的真实性的签名。每个CRL签名是通过使用仅由CA保存的私有密钥(SK_CA)执行数字签名产生的签名数据。使用利用哈希函数的RSA密码系统的数字签名是一个例子。
如图26所示,没有分配给实际证书的ID“0000”和“9999”也被记录在CRL1000中。只要CRL1000被更新,版本号增“1”。RID签名数量(这里为“3”)表示与版本号一起签名的RID的数量。为将版本号与由RID签名数量所示数量的RID连接获得的值提供CRL签名。
RID被按照升序记录在CRL1000中,并且CRL签名被记录在CRL1000中,从而与版本号一起签名的三个ID组按升序排列。在图26中,例如,当按升序列举时,用于签名的ID组为“RID1,RID2和RID3”,“RID3,RID4和RID5”,“RID5,RID6和RID7”以及“RID7,RID8和RID9”。这些分组使用CA的私有密钥(SK_CA)与版本号一起按此顺序签名以产生CRL签名,然后其被记录在CRL1000中。
CRL1000的初始状态,例如是由版本号“0000”,RID签名数量“3”,两个RID“0000”和“9999”以及单个CRL签名“Sig(SK_CA,0000‖0000‖9999)”构成。
CA终端这里所描述的是根据本发明在CA终端中执行的产生和写入CRL1000到记录介质中。
CA终端预存有私有密钥(SK_CA)和RID签名数量,并且具有用于临时存储在CA终端中产生的CRL1000的临时存储区。CA终端还存储更新前的CRL(即在产生CRL1000之前的CRL)。
CA终端,在从CA终端的授权用户接收到CRL产生指令和所有已撤销证书的ID之后,读取记录在更新前CRL中的所有RID,使用接收的ID和读取的RID按照升序排列所述ID,并将排列的ID存储在临时存储区中。该结果是按照升序排列更新后的RID。
CA终端从更新前的CRL获取版本号,对所获取的版本号加“1”以更新该版本号,并将更新的版本号存储在临时存储区中。
CA终端将预记录的RID签名数量存储在临时存储区中。
CA终端使用私有密钥(SK_CA),版本号,以及多个存储在临时存储区中的RID,为版本号和基于RID签名数量分组的RID产生CRL签名,将产生的CRL签名存储在临时存储区中,并产生用于记录到记录介质的重放设备CRL。
CA终端,已产生并在临时存储区中存储CRL签名,将更新前CRL的内容更新为存储在临时存储区中的内容。
CA终端,当被CA终端的授权用户指示将CRL1000写入到记录介质中时,读取存储的CRL1000并将读取的CRL写入到记录介质。
以下描述涉及CRL签名的产生。
这里,存储在临时存储区中的已撤销ID的数量(即RID的数量)被给定为“m”(m≥2)。存储在临时存储区中的RID,按照ID值的升序,被称作第一RID,第二RID,…,第m RID。
CA终端读取预存的私有密钥(SK_CA)。
CA终端从临时存储区中读取版本号和第一/第二/第三RID,连接读取的版本号与RID,对连接值使用读取的私有密钥(SK_CA)以产生签名数据,并将所产生签名数据存储在临时存储区中作为CRL签名。然后CA终端读取第三/第四/第五RID,使之前读取的版本号与读取的RID连接,对连接值使用私有密钥(SK_CA)以产生签名数据,并将产生的签名数据存储在临时存储区中,直接跟在之前存储的CRL签名之后。
CA终端重复上述操作直到版本号和第m-2/m-1/m RID的签名数据已产生并直接跟在之前存储的CRL签名之后存储在临时存储区中。
因此CA终端可以产生重放设备CRL。
这里,如果对于最后的CRL签名,用于签名的RID数量不满足RID签名数量,则CA终端使用版本号和剩余的RID产生CRL签名,并将产生的CRL签名存储在临时存储区中。
重放设备这里描述的是在根据本发明重放设备中执行的典型的搜索和提取方法。应当注意,CRL1000被记录在记录介质上。
重放设备通过读取设备接收CRL1000,并获取包含在所接收的CRL中的版本号。
重放设备基于RID签名数量从包含在CRL1000中的多个RID获取所有区间,按升序排列获取的区间,并临时存储排列的区间。这里,每个获取的区间由三个RID构成。例如,如果CRL1000中的数据如附图26所示,当按升序为临时存储器列举时,区间为“RID1~RID2~RID3”,“RID3~RID4~RID5”,“RID5~RID6~RID7”以及“RID7~RID8~RID9”。
重放设备从获取的区间中搜索并检索ID区间。重放设备在按升序存储的区间中检索表示ID区间数的区间号。例如,如果提取的ID区间为“RID5~RID6~RID7”,检索的区间号将为“3”,给定ID区间为存储区间中的3。
重放设备使用检索的区间号提取CRL签名。
应当注意通过重放设备输出至读取设备的提取信息由版本号、通过三个RID表示的ID区间、以及用于版本号和RID的CRL签名构成。
同样,当判断证书的有效性时使用的“有效区间”是ID区间中排除包含在提取信息中的RID的范围。例如,如果ID区间为“RID1=0000~RID2=0003~RID3=0010”,将存在两个有效区间,即“1,2”和“4,5,6,7,8,9”。
(9)变形(8)中的RID签名数量并不局限于固定的数量。RID签名数量可以是可变的数量。
图27表示根据此变形的典型的CRL1001。
CRL1001由分别用于存储CRL的版本号(VN)、一个或多个RID签名数量、多个已撤销证书ID(RID)、以及一个或多个证明版本号和RID的真实性的签名的区域构成。每个CRL签名是通过使用仅由CA保存的私有密钥(SK_CA)执行数字签名产生的签名数据。使用利用哈希函数的RSA密码系统的数字签名是一个例子。
如图27所示,没有分配给实际证书的ID“0000”和“9999”也被记录在CRL1001中。只要CRL1001被更新,版本号都增“1”。每个RID签名数量,其为大于等于“2”的值,表示与版本号一起签名的RID的数量。为使版本号与由RID签名数量所示数量的RID号连接获得的值提供CRL签名。
CRL1001中的数据,从上到下(参见附图27),为版本号,RID签名数量1和对应数量的RID,RID签名数量2和对应数量的RID,等等,CRL签名位于底部。
应当注意,CRL1001的初始状态例如,由版本号“0000”,RID签名数量“2”,两个RID“0000”和“9999”以及单个CRL签名“Sig(SK_CA,0000‖0000‖9999)”构成。
CA终端以下描述的是根据本变形在CA终端中执行的CRL1001的产生。将CRL1001写入到记录介质的描述与变形(8)类似,在此省略。
CA终端预存私有密钥(SK_CA),以及更新前的CRL(即在产生CRL1001之前的CRL)。CA终端具有用于临时存储在CA终端中产生的CRL1001的临时存储区,以及用于临时存储从更新前的CRL读取的所有RID的RID存储区。
CA终端,在从CA终端的授权用户接收到CRL产生指令和所有已撤销证书的ID之后,读取记录在更新前CRL中的所有RID,并使用接收的ID和读取的RID以按升序排列所述ID,并将排列的ID存储在RID存储区中。
CA终端从更新前CRL中获取版本号,对所获取的版本号加“1”以更新该版本号,并将更新的版本号存储在临时存储区中。
CA终端从用户接收RID签名数量,将接收的数量存储在临时存储区中,并根据RID签名数量读取存储在RID存储区中的RID。
CA终端使用私有密钥(SK_CA),版本号,以及多个存储在临时存储区中的RID,为版本号和基于RID签名数量分组的RID产生CRL签名,将产生的CRL签名存储在临时存储区中,并产生用于记录到记录介质的重放设备CRL。
CA终端,已在临时存储区中产生并存储CRL签名,将更新前CRL的内容更新为存储在临时存储区中的内容。
以下描述涉及CRL签名的产生。
这里,存储在临时存储区中的已撤销ID的数(即RID的数)被给定为“m”(m≥2)。存储在临时存储区中的RID,按照ID值的升序,被称作第一RID,第二RID,…,第m RID。
CA终端读取预存的私有密钥(SK_CA)。
CA终端从用户接收RID签名数量“p”,并将接收的数量存储在临时存储区中。
CA终端基于参考RID(初始值=第1RID)从RID存储区比RID签名数量多读取一个RID(即“p+1”RID)。
CA终端基于参考RID使存储在临时存储区中的版本号与读取的“p+1”RID连接,对连接值使用读取的私有密钥(SK_CA)产生签名数据,并将产生的签名数据存储在临时存储区中作为CRL签名。然后CA终端基于参考RID将版本号与第p个和p+1个RID连接,对连接值使用私有密钥(SK_CA)产生签名数据,并将产生的签名数据存储在临时存储区中作为CRL签名。CA终端设置第p+1个RID为参考RID,从用户接收表示在产生下一个CRL签名时签名的RID数量的RID签名数量,将所接收的数量存储在临时存储区中,并重复上述操作。
如果CA终端在基于参考RID从RID存储区读取第m RID时检测到读取的第m RID包含在从用户接收的RID标记号“p”(即检测到不存在第p+1RID),CA终端使存储在临时存储区中的版本号与从参考RID到第m RID的RID连接,对连接值使用私有密钥(SK_CA)产生签名数据,并将产生的签名数据存储在临时存储区中作为CRL签名。
作为上述操作的结果,CA终端可以产生CRL1001。
重放设备这里描述的是在根据本发明的重放设备中执行的典型的搜索和提取方法。应当注意,CRL1001被记录在记录介质中。
重放设备通过读取设备接收CRL1001,并获取包含在所接收的CRL中的版本号。
重放设备基于RID签名数量,从多个包含在CRL1001中的RID获取所有区间,按升序排列所获取的区间,并临时存储所排列的区间。每个获取的区间既可以由RID签名数量表示的数量的RID构成又可以由RID签名数量两侧的两个RID构成(例如附图27中的RID3&RID4)。例如如果CRL1001中的数据如图27所示,当按升序为临时存储器列举区间时为“RID1~RID2”,“RID3~RID4~RID5”,“RID5~RID6~RID7”以及“RID7~RID8~RID9”。
重放设备从获取的区间中搜索并检索ID区间。重放设备在按升序存储的区间中检索表示ID区间数的区间号。例如,如果提取的ID区间为“RID5~RID6~RID7”,检索的区间号将为“3”,则给定的ID区间为存储区间中的第3个。
重放设备使用检索的区间号提取CRL签名。
应当注意通过重放设备输出至读取设备的提取信息由版本号、通过三个RID表示的ID区间,以及用于版本号和RID的CRL签名构成。
(10)当读取设备认证重放设备时本发明并不局限于使用重放设备CRL,如实施例1和2。在认证过程中可以使用包括已撤销和有效证书的ID的列表(以下为“混合列表”)。
附图28表示根据此变形的典型混合列表1002。
混合列表1002由分别用于存储CRL的版本号(VN),一个或多个由标记和两个ID(头和尾ID)构成的组,以及一条或多条签名数据段构成。每个签名数据段通过使用仅由CA保存的私有密钥(SK_CA)执行数字签名而产生的。使用利用哈希函数的RSA密码系统的数字签名是一个例子。
只要更新混合列表1002,版本号都增“1”。标记表示属于由对应的头和尾ID定义的范围的证书ID是有效还是已撤销。这里,“0”标记表示有效,“1”表示已撤销。头ID是定义对应于标记的范围的开头的ID,尾ID是定义对应于标记的范围的结尾的ID。由标记和两个ID(头和尾ID)构成的组按升序记录在列表中。
为将版本号与头和尾ID连接获得的值提供签名数据,并按升序记录在列表中。
应当注意,如果范围仅由单个ID构成,则为头和尾ID记录相同的ID。
同时,如果所述范围由从头ID开始的所有ID构成,则空值记录在列表中,其表示没有为尾ID记录ID。在此情况下,为版本号和头ID提供签名数据。
混合列表1002的初始状态例如由版本号“0000”,“0”标记构成的组,头ID“0001”,尾ID“空”,以及签名数据“Sig(SK_CA,0000‖0001)”构成。表示列表中最后的ID的ID并不局限于空值。最后的ID例如可以是虚拟ID“9999”,或者发布的证书中最大的ID值。
CA终端以下描述的是根据本变形的CA终端中执行的混合列表2002的产生。将列表1002写入到记录介质中的描述与变形(8)类似,在此省略。
CA终端预存私有密钥(SK_CA),并存储更新前的混合列表(即在产生混合列表1002之前的列表)。CA终端具有用于临时存储在CA终端产生的混合列表1002的临时存储区中。
CA终端从CA终端的授权用户接收混合列表产生指令和所有已撤销证书的ID范围(即头/尾ID对)。
CA终端读取记录在更新前混合列表中的所有标记/ID组。
CA终端,使用具有“0”标记和接收的头/尾ID对的读取组,形成由“0”标记和对应的ID范围构成的组,以及由“1”标记和对应的ID范围构成的组。考虑一个例子,其中,具有“0”标记的读取组的ID范围为“0004~0030”的例子,并且所接收的头和尾ID分别为“0005”和“0010”。在此情况下,获得以下组“0”标记/“0004”头ID/“0004”尾ID“1”标记/“0005”头ID/“0010”尾ID“0”标记/“0011”头ID/“0030”尾IDCA终端使用具有“1”标记的读取组以及形成的组按照升序对所述组进行排序,并将排列的组存储在临时存储数据中。
CA终端获取更新前列表的版本号,对所获取的号加“1”以更新版本号,并将更新的版本号存储在临时存储区中。
CA终端使用私有密钥(SK_CA),版本号,以及各个存储在临时存储区中的头/尾ID对,为版本号和每个ID对产生签名数据,将产生的签名数据存储在临时存储区中,并产生混合列表,用于记录到记录介质。
CA终端已产生签名数据,并已将签名数据存储到临时存储区中,将更新前列表的内容更新为存储在临时存储区中的内容。
重放设备这里描述的是在根据本发明的重放设备中执行的典型的搜索和提取方法。应当注意,混合列表1002被记录在记录介质中。
重放设备通过读取设备接收混合列表1002,并获取包含在所接收的列表中的版本号。
重放设备从混合列表获取表示包含该重放设备的证书的ID的范围的标记/ID组,并获取对应于所获取的组的签名数据。
重放设备产生由所获取的标记、头/尾ID和签名数据构成的提取信息,并将产生的信息输出至读取设备。
读取设备这里所描述的是在读取设备中执行的签名验证、版本检查以及证书有效性判断。应当注意混合列表1002记录在记录介质上。
读取设备存储与用于产生签名数据的私有密钥(SK_CA)对应的公开密钥。
读取设备,在从重放设备接收到由标记、头/尾ID以及签名数据构成的提取信息之后,使用存储的CA公开密钥验证包含在提取信息中的证书和数据签名。
读取设备,如果在签名验证时判断证书和签名是真实的,则从记录介质读取混合列表1002,并判断包含在读取列表中的版本号是否与包含在提取信息中的版本号匹配。
如果判断为匹配,则读取设备根据包含在提取信息中的由头/尾ID所示的范围和标记的值判断包含在证书中的ID是有效还是已撤销。
例如,在“0”标记,“0011~0030”的头/尾ID范围以及“0015”证书ID的情况下,读取设备判断该ID有效。或者,在“1”标记,头/尾ID范围“0005~0010”和“0008”证书ID的情况下,读取设备判断该ID已撤销。
(11)在变形(10)中描述的混合列表的数据结构可以应用到重放设备CRL中。在此情况下,CRL由分别用于存储CRL的版本号(VN),一个或多个由定义已撤销证书的范围的两个RID(即头和尾ID)构成的组,以及用于一个或多个组的一个或多个签名数据的区域组成。
在变形(10)中描述的混合列表的数据结构也可以应用到CVL(证书验证列表)。在此情况下,CVL由分别用于存储CRL的版本号(VN),一个或多个由定义已撤销证书的范围的两个RID(即头和尾ID)构成的组,以及用于一个或多个组的一个或多个签名数据的区域组成。
(12)本发明并不局限于将重放CRL写入到记录介质100中的CA终端10,如实施例1。CA终端10可以产生CRL并分发产生的CRL给记录介质100的制造商。
本发明并不局限于将重放设备CRL和读取设备CRL写入到记录介质500中的CA终端50,如实施例2。CA终端50可以产生CRL,并分发产生的CRL给记录介质500的制造商。
(13)本发明并不局限于在从读取设备接收到检测信息之后,重放设备通过读取设备接收重放设备CRL,如实施例1和2。
例如,重放设备可以在被读取设备请求提取信息和证书时,可以通过读取设备接收重放设备CRL。
同时,读取设备可以在开始认证重放设备时从记录介质读取重放设备CRL,并将读取的CRL和对提取信息和证书的请求输出至重放设备,作为响应,重放设备可以产生提取信息并将产生的信息和重放设备的证书输出至读取设备。
(14)本发明并不局限于按升序包含在重放设备CRL中的RID,如实施例1和2。
CRL中的RID可以按降序记录。在此情况下,CRL签名也记录在CRL中,从而与版本号一起签名的ID对也是按降序。
(15)本发明并不局限于在判断重放设备时有效还是已撤销时使用证书标识符,如实施例1和2。或者也可以使用标识重放设备的标识符。
(16)由虚拟ID和空值组成的ID包含在用于本发明目的的证书ID的概念内。
(17)本发明并不局限于由重放设备和读取设备构成,如实施例1和2。本发明也可以是由应用软件和用于执行与记录介质的数据输入/输出的驱动单元构成的单个设备。在此情况下,重放设备和读取设备的操作可以分别通过应用软件和驱动单元执行。这里,应用软件包括由优选实施例中的重放设备的各个存储单元保存的信息(证书、设备密钥、私有密钥、CA公开密钥等),并且驱动单元判断应用程序软件是有效还是已撤销。例如,本发明可以是由PC驱动单元和用于在PC中操作的应用程序软件构成的个人计算机(PC)环境。或者,驱动单元/应用软件结构可以应用于DVD重放设备或类似设备中。
(18)本发明并不局限于提供独立的重放设备和读取设备CRL,如实施例2。重放设备和读取设备CRL可以被提供作为单个列表。
(19)本发明并不局限于使用头和尾ID来表示有效和已撤销ID的范围,如变形10。该范围使用由头ID和表示来自头ID的有效或已撤销Id的数量的值“N”构成的组表示。在此情况下,签名为“Sig(SK_CA,VN‖head ID‖N)”。
例如,根据变形10由头ID“0003”和尾ID“0010”表示的范围根据变形19将由头ID“0003”和N值“8”表示。
(20)本发明可以是用于执行以上过程的方法。所述方法可以是由计算机实现的计算机程序,或由计算机程序构成的数字信号。
可替换的是,本发明可以是存储计算机程序或数字信号的机器可读记录介质,该记录介质的例子包括软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(blu-ray盘)、半导体存储器或类似设备。同时,本发明可以是存储在任何这些记录介质上的计算机程序或数字信号。
本发明可以是用于通过网络等传输计算机程序或数字信号的装置,其代表性的例子包括长途通信电路,无线或有线通信电路,以及互联网。
本发明可以是包括微处理器和存储器的计算机系统,存储器存储有计算机程序,微处理器根据该计算机程序操作。
同时,计算机程序或数字信号既可以通过网络传送至其它独立的计算机系统,又可以记录在记录介质上,并通过其它计算机系统实现。
(21)本发明可以是所述优选实施例和变形的组合。
4.概要根据如上所述的本发明,具有比普通读取设备更高的处理性能的重放设备搜索CRL并输出搜索结果(提取信息)和由重放设备保存的证书给读取设备,从而能够使读取设备仅使用接收的搜索结果和证书执行签名验证,而不需要搜索CRL本身。这允许在认证系统中有效的执行认证。同样,通过重放设备对用于搜索的CRL中的ID区间或独立的ID执行数字签名,可以防止重放设备以未授权方式工作。
当根据本发明执行双向认证时,重放设备,在认证读取设备时,搜索读取设备CRL(传统的CRL结构),并在认证读取设备时使用搜索结果,而当读取设备认证重放设备时,重放设备搜索重放设备CRL并将搜索结果(提取信息)和重放设备的证书输出至读取设备,从而允许读取设备仅使用所接收的搜索结果和证书执行签名验证。这允许在认证系统中执行有效的相互认证。
对于本发明的认证系统使得能够实现有效的认证,即使是在低处理能力的读取设备包含在该系统中时也可以实现有效的认证,例如,在使用公开密钥加密的认证系统中,并且特别是在使用标识撤销列表的公开密钥证书的公开密钥证书已撤销的认证系统中。
工业实用性构成本发明的设备和记录介质可以在创建和分配内容的内容分配行业中的很长时间周期内反复应用。这些设备及记录介质也可以在电子应用制造行业中的很长时间内反复制造和零售。
权利要求
1.一种信息输入/输出系统,包括输入/输出设备;以及信息使用设备,其通过所述输入/输出设备执行信息输入/输出,其中所述输入/输出设备使所述信息使用设备执行一部分用于判断该信息使用设备是有效还是已撤销的处理。
2.根据权利要求1所述的信息输入/输出系统,其中所述输入/输出设备向所述信息使用设备输出标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备,作为所述判断处理的一部分,所述信息使用设备使用所述接收的标识符列表指定包含由该信息使用设备存储的目标标识符的目标范围时,并将表示所述指定的目标范围的范围信息输出给所述输入/输出设备,以及所述输入/输出设备从所述信息使用设备接收所述范围信息,并使用所述接收的范围信息判断所述信息使用设备是有效还是已撤销。
3.根据权利要求2所述的信息输入/输出系统,其中所述输入/输出设备包括获取单元,用于从外部源获取所述标识符列表;输出单元,用于向所述信息使用设备输出所述获取的标识符列表;ID接收单元,用于从所述信息使用设备接收所述目标标识符以及作为所述范围信息的、来自所述标识符列表的包含在所述目标范围内的一个或多个标识符;以及判断单元,用于根据所述接收的目标标识符是否与作为范围信息接收的所述标识符中的任何一个相匹配来判断所述信息使用设备是有效还是已撤销,并且如果该信息使用设备被判断为已撤销,则禁止所述信息输入/输出,以及所述信息使用设备包括存储单元,用于存储所述目标标识符,所述目标标识符对应于该信息使用设备;接收单元,用于从所述输入/输出设备接收所述标识符列表;提取单元,用于使用所述接收的标识符列表指定所述目标范围,并从所述标识符列表提取包含在所述指定的目标范围内的所有标识符;以及数据输出单元,用于向所述输入/输出设备输出所述目标标识符以及作为所述范围信息被提取的所述一个或多个标识符。
4.根据权利要求3所述的信息输入/输出系统,其中所述提取单元从一个或多个范围中指定所述目标范围,该一个或多个范围中的每个范围都由所述标识符列表中连续排列的两个标识符定义,并提取定义所述指定的目标范围的两个标识符,所述数据输出单元向所述输入/输出设备输出所述目标标识符和作为所述范围信息提取的两个标识符,ID接收单元从所述信息使用设备接收所述目标标识符和作为范围信息提取的两个标识符,以及所述判断单元根据所述目标标识符是否与所述两个提取的标识符中的任何一个相匹配来判断该信息使用设备是有效还是已撤销。
5.根据权利要求3所述的信息输入/输出系统,其中所述目标标识符标识证明所述信息使用设备的公开密钥的真实性的公开密钥证书,所述标识符列表中的每个标识符标识不同的已撤销设备的公开密钥证书,所述提取单元按照所述排列顺序提取包含在所述指定的目标范围内的所述一个或多个标识符,以及如果所述目标标识符与所述一个或多个提取的标识符中的任何一个相匹配,则所述判断单元判断该信息使用设备已撤销,以及如果所述目标标识符不与所述一个或多个提取的标识符中的任何一个相匹配,则判断所述信息使用设备有效。
6.根据权利要求5所述的信息输入/输出系统,其中所述标识符列表已经根据所述预定规则在其中排列了证明数据,该证明数据对于一个或多个范围中的每个范围证明包含在该范围内的一个或多个标识符的真实性,所述提取单元从所述标识符列表提取证明所述一个或多个提取的标识符的真实性的证明数据,所述数据输出单元向所述输入/输出设备输出所述提取的证明数据,所述ID接收单元从所述信息使用设备接收所述提取的证明数据,以及所述判断单元验证所述接收的证明数据的真实性,并且如果所述真实性已被验证,则判断所述信息使用设备是有效还是已撤销。
7.根据权利要求3所述的信息输入/输出系统,其中所述目标标识符标识证明所述信息使用设备的公开密钥的真实性的公开密钥证书,所述标识符列表中的每个标识符标识不同的有效设备的公开密钥证书,所述提取单元判断所述标识符列表中的任何一个标识符是否与所述目标标识符匹配,如果做出肯定判断则提取该匹配标识符,以及如果所述目标标识符和提取的标识符匹配,则所述判断单元判断所述信息使用设备有效。
8.根据权利要求7所述的信息输入/输出系统,其中所述标识符列表已在其中排列了一条或多条证明数据,每条证明数据对应于所述标识符中的不同的标识符并证明所对应的标识符的真实性,所述提取单元提取对应于所述提取的标识符的证明数据,所述数据输出单元向所述输入/输出设备输出所述提取的证明数据,所述ID接收单元从所述信息使用设备接收所述提取的证明数据,以及所述判断单元验证所述接收的证明数据的真实性,以及如果所述真实性已被验证,则判断该信息使用设备是有效还是已撤销。
9.根据权利要求3所述的信息输入/输出系统,其中所述输入/输出设备还包括信息输出单元,用于如果所述信息使用设备被判断为有效,则向该信息使用设备安全地输出使用信息,以及所述信息使用设备还包括使用单元,用于从所述输入/输出设备安全地接收所述使用信息,并使用所述接收的使用信息。
10.根据权利要求3所述的信息输入/输出系统,其中所述输入/输出设备还包括ID存储单元,用于存储证书标识符,该证书标识符标识证明所述输入/输出设备的公开密钥的真实性的公开密钥证书;以及ID输出单元,用于向所述信息使用设备输出所述证书标识符,以及所述信息使用设备还包括ID接收单元,用于从所述输入/输出设备接收所述证书标识符;列表接收单元,用于通过所述输入/输出设备接收撤销列表,该撤销列表包括一个或多个已撤销标识符,每个已撤销标识符标识不同的已撤销设备的公开密钥证书;以及ID判断单元,用于根据所述接收的证书标识符是否与包含在所述撤销列表中的已撤销标识符中的任何一个相匹配来判断该输入/输出设备是有效还是已撤销。
11.根据权利要求10所述的信息输入/输出系统,其中所述输入/输出设备还包括第一处理单元,用于如果所述信息使用设备被判断为有效,则在所述输入/输出设备与所述信息使用设备之间建立安全通信信道;以及信息输出单元,用于如果已建立所述安全通信信道,则向所述信息使用设备安全地输出使用信息,以及所述信息使用设备还包括第二处理单元,用于如果所述输入/输出设备被判断为有效,则在所述信息使用设备与所述输入/输出设备之间建立安全通信信道;以及使用单元,用于如果已建立所述安全通信信道,则从所述输入/输出设备安全地接收所述使用信息,并使用该接收的使用信息。
12.根据权利要求3所述的信息输入/输出系统,还包括存储所述标识符列表的记录介质,其中所述获取单元从所述记录介质获取所述标识符列表。
13.根据权利要求3所述的信息输入/输出系统,还包括用于接收所述标识符列表的通信介质,其中所述获取单元从所述通信介质获取所述标识符列表。
14.根据权利要求3所述的信息输入/输出系统,还包括列表产生设备,该列表产生设备包括列表存储单元;以及产生单元,用于产生所述标识符列表,并将所述产生的标识符列表写入所述列表存储单元。
15.一种输入/输出设备,信息使用设备通过该输入/输出设备执行信息输入/输出,以及该输入/输出设备使所述信息使用设备执行一部分用于判断所述信息使用设备是有效还是已撤销的处理。
16.根据权利要求15所述的输入/输出设备向所述信息使用设备输出标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备,该输入/输出设备从所述信息使用设备接收表示目标范围的范围信息,使用所述标识符列表指定的该目标范围包括对应于所述信息使用设备的目标标识符,并使用该接收的范围信息判断所述信息使用设备是有效还是已撤销。
17.根据权利要求16所述的输入/输出设备,包括获取单元,用于从外部源获取所述标识符列表;输出单元,用于向所述信息使用设备输出所述获取的标识符列表;ID接收单元,用于从所述信息使用设备接收所述目标标识符以及作为所述范围信息的、通过所述信息使用设备从所述标识符列表提取的包含在所述目标范围内的一个或多个标识符;以及判断单元,用于根据所接收的目标标识符是否与作为范围信息接收的任何标识符匹配来判断该信息使用设备是有效还是已撤销,以及如果该信息使用设备被判断为已撤销,则禁止信息输入/输出。
18.根据权利要求17所述的输入/输出设备,其中所述目标标识符标识证明所述信息使用设备的公开密钥的真实性的公开密钥证书,所述标识符列表中的每个标识符标识不同的已撤销设备的公开密钥证书,以及如果所述目标标识符与所述一个或多个提取的标识符中的任何一个相匹配,则所述判断单元判断该信息使用设备已撤销,如果所述目标标识符不与所述一个或多个提取的标识符中的任何一个相匹配,则判断所述信息使用设备有效。
19.根据权利要求18所述的输入/输出设备,其中所述标识符列表已在其中根据所述预定规则排列证明数据,该证明数据对于一个或多个范围中的每个范围证明包含在该范围内的一个或多个标识符的真实性,所述ID接收单元从所述信息使用设备接收由该信息使用设备从所述标识符列表中提取的证明所述一个或多个提取的标识符的真实性的证明数据,以及所述判断单元验证所述接收的证明数据的真实性,以及如果所述真实性已被验证,则判断该信息使用设备是有效还是已撤销。
20.根据权利要求19所述的输入/输出设备,其中所述提取的证明数据是通过对所述一个或多个提取的标识符执行数字签名而产生的签名数据,以及所述判断单元存储对应于在产生所述签名数据时使用的私有密钥的公开密钥,并使用该公开密钥验证所述签名数据的真实性。
21.根据权利要求19所述的输入/输出设备,其中所述提取的证明数据是通过对所述一个或多个提取的标识符使用第一密钥而产生的鉴别码,以及所述判断单元存储与所述第一密钥等同的第二密钥,并使用所述第二密钥验证所述鉴别码的真实性。
22.根据权利要求17所述的输入/输出设备,其中所述目标标识符标识证明所述信息使用设备的公开密钥的真实性的公开密钥证书,所述标识符列表中的每个标识符标识不同的有效设备的公开密钥证书,所述ID接收单元接收所述目标标识符和单个提取的标识符,以及如果该目标标识符与提取的标识符相匹配,则所述判断单元判断该信息使用设备有效,如果该目标标识符与提取的标识符不匹配,则判断所述信息使用设备已撤销。
23.根据权利要求22所述的输入/输出设备,其中所述标识符列表已在其中排列一条或多条证明数据,每条证明数据对应于所述标识符中的不同标识符并且证明对应标识符的真实性,所述ID接收单元从所述信息使用设备接收由该信息使用设备从所述标识符列表提取的证明所述提取的标识符的真实性的证明数据,以及所述判断单元验证所述接收的证明数据的真实性,以及如果所述真实性已被验证,则判断所述信息使用设备是有效还是已撤销。
24.根据权利要求17所述的输入/输出设备,其中所述目标标识符包含在证明所述信息使用设备的公开密钥的真实性的公开密钥证书中,所述标识符列表中的每个标识符包含在不同的有效或已撤销设备的公开密钥证书中;以及所述ID接收单元从所述信息使用设备接收所述目标标识符以及定义所述目标范围的两个提取的标识符,该目标范围是示出有效或已撤销设备之一的公开密钥证书的范围,以及所述判断单元根据所述目标标识符是否包含在由该两个提取的标识符定义的范围内来判断所述信息使用设备是有效还是已撤销。
25.根据权利要求17所述的输入/输出设备,还包括信息输出单元,用于如果该信息使用设备被判断为有效,则向该信息使用设备安全地输出使用信息。
26.根据权利要求25所述的输入/输出设备,其中所述ID接收单元接收所述信息使用设备的公开密钥,以及所述信息输出单元使用该接收的公开密钥加密所述使用信息以产生加密的使用信息,并将所述加密的使用信息输出给所述信息使用设备。
27.根据权利要求17所述的输入/输出设备,还包括ID存储单元,用于存储证书标识符,该证书标识符标识证明该输入/输出设备的公开密钥的真实性的公开密钥证书;以及ID输出单元,用于将所述证书标识符输出给所述信息使用设备。
28.根据权利要求27所述的输入/输出设备,还包括处理单元,用于如果所述信息使用设备被判断为有效,则在所述输入/输出设备与所述信息使用设备之间建立安全通信信道;以及信息输出单元,用于如果已建立所述安全通信信道,则向所述信息使用设备安全地输出使用信息。
29.根据权利要求28所述的输入/输出设备,其中如果在所述信息使用设备和输入/输出设备之间已产生共享密钥,则所述处理单元判断已建立安全通信信道,以及所述信息输出单元使用所述共享密钥加密所述使用信息以产生加密的使用信息,并将所述加密的使用信息输出给所述信息使用设备。
30.一种信息使用设备,其通过输入/输出设备执行信息输入/输出,以及当被该输入/输出设备指示时,执行一部分用于判断该信息使用设备是有效还是已撤销的处理。
31.根据权利要求30所述的信息使用设备从所述输入/输出设备接收标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备,以及,作为所述判断处理的一部分,所述信息使用设备使用所述接收的标识符列表指定包含由该信息使用设备存储的目标标识符的目标范围,以及向所述输入/输出设备输出表示所述指定的目标范围的范围信息。
32.根据权利要求31所述的信息使用设备,包括存储单元,用于存储所述目标标识符,该目标标识符对应于该信息使用设备;接收单元,用于从所述输入/输出设备接收所述标识符列表;提取单元,用于使用所述接收的标识符列表指定所述目标范围,并从所述标识符列表中提取包含在所述指定的目标范围内的所有标识符;以及数据输出单元,用于向所述输入/输出设备输出所述目标标识符以及作为所述范围信息提取的一个或多个标识符。
33.根据权利要求32所述的信息使用设备,其中所述提取单元从一个或多个范围中指定所述目标范围,该一个或多个范围中的每个范围都由所述标识符列表中连续排列的两个标识符定义,并且所述提取单元提取定义所述指定的目标范围的两个标识符,所述数据输出单元向所述输入/输出设备输出所述目标标识符和作为所述范围信息提取的两个标识符。
34.根据权利要求32所述的信息使用设备,其中所述目标标识符标识证明所述信息使用设备的公开密钥的真实性的公开密钥证书,所述标识符列表中的每个标识符都标识不同的已撤销设备的公开密钥证书,以及所述提取单元按照所述排列顺序提取包含在所述指定的目标范围内的一个或多个标识符。
35.根据权利要求34所述的信息使用设备,其中所述标识符列表已在其中根据预定的规则排列证明数据,该证明数据对于一个或多个范围中的每个范围证明包含在该范围内的一个或多个标识符的真实性,所述提取单元从所述标识符列表中提取证明所述一个或多个提取的标识符的真实性的证明数据,所述数据输出单元向所述输入/输出设备输出所述提取的证明数据。
36.根据权利要求35所述的信息使用设备,其中所述提取的证明数据是通过对所述一个或多个提取的标识符执行数字签名而产生的签名数据。
37.根据权利要求35所述的信息使用设备,其中所述提取的证明数据是通过对所述一个或多个提取的标识符使用等同于所述输入/输出设备的密钥的公用密钥而产生的鉴别码。
38.根据权利要求32所述的信息使用设备,其中所述目标标识符标识证明所述信息使用设备的公开密钥的真实性的公开密钥证书,所述标识符列表中的每个标识符标识不同的有效设备的公开密钥证书,以及所述提取单元判断所述标识符列表中的任何一个标识符是否与所述目标标识符匹配,如果做出肯定判断则提取该匹配标识符。
39.根据权利要求38所述的信息使用设备,其中所述标识符列表已在其中排列一条或多条证明数据,每条证明数据对应于所述标识符中的不同标识符并证明对应标识符的真实性,所述提取单元提取对应于所述提取的标识符的证明数据,所述数据输出单元向所述输入/输出设备输出所述提取的证明数据。
40.根据权利要求32所述的信息使用设备,其中所述目标标识符包含在证明所述信息使用设备的公开密钥的真实性的公开密钥证书中,所述标识符列表中的每个标识符包含在不同的有效或已撤销设备的公开密钥证书中,以及所述提取单元指定所述目标范围,该目标范围是显示有效或已撤销设备之一的公开密钥证书的范围,并且所述提取单元提取定义所述指定的目标范围的两个标识符。
41.根据权利要求32所述的信息使用设备,还包括使用单元,用于如果所述输入/输出设备判断该信息使用设备是有效的,则从所述输入/输出设备安全地接收使用信息,并使用该接收的使用信息。
42.根据权利要求41所述的信息使用设备,其中在所述输入/输出设备中使用所述信息使用设备的公开密钥加密所述使用信息,以及所述使用单元存储对应于所述公开密钥的私有密钥,以及在从所述输入/输出设备接收到所述加密的使用信息之后,使用所述私有密钥对该加密的使用信息进行解密以产生使用信息并使用所述产生的使用信息。
43.根据权利要求32所述的信息使用设备,还包括ID接收单元,用于从所述输入/输出设备接收证书标识符,该证书标识符标识证明所述输入/输出设备的公开密钥的真实性的公开密钥证书;列表接收单元,用于通过所述输入/输出设备接收撤销列表,该撤销列表包括一个或多个已撤销标识符,每个已撤销标识符标识不同的已撤销设备的公开密钥证书;以及ID判断单元,用于根据所述接收的证书标识符是否与包含在所述撤销列表中的任何一个已撤销标识符相匹配来判断所述输入/输出设备是有效还是已撤销。
44.根据权利要求43所述的信息使用设备,还包括处理单元,用于如果所述输入/输出设备被判断为有效,则在所述信息使用设备与所述输入/输出设备之间建立安全通信信道;以及使用单元,用于如果已建立所述安全通信信道,则从所述输入/输出设备安全地接收使用信息,并使用该接收的使用信息。
45.根据权利要求44所述的信息使用设备,其中如果在所述信息使用设备和输入/输出设备之间已产生共享密钥,则所述处理单元判断已建立安全通信信道,在所述输入/输出设备中使用该共享密钥加密所述使用信息,以及在从所述输入/输出设备接收到所述加密的使用信息之后,所述使用单元使用所述共享密钥对所述加密的使用信息进行解密,并使用所述产生的使用信息。
46.一种列表产生设备,用于产生包括一个或多个标识符的标识符列表,所述一个或多个标识符对应于一个或多个有效或已撤销设备,该列表产生设备包括列表存储单元;获取单元,用于获取一个或多个标识符;以及产生单元,用于根据预定规则排列所述获取的标识符以产生包含所述排列的标识符的标识符列表,以及将所述产生的标识符列表写入所述列表存储单元。
47.根据权利要求46所述的列表产生设备,其中所述标识符列表中的每个标识符都标识不同的已撤销设备的公开密钥证书,以及所述产生单元包括密钥存储子单元,用于存储私有密钥;排列子单元,用于根据所述预定规则排列所述获取的标识符;数据产生子单元,用于按照所述标识符的排列顺序,提取构成范围的一个或多个标识符,并使用所述私有密钥产生证明所述一个或多个提取的标识符的真实性的证明数据;控制子单元,用于控制所述数据产生子单元以重复所述标识符提取和所述数据产生,直到为所有所述标识符完成所述数据产生;以及列表产生子单元,用于在完成所有所述标识符的数据产生之后,产生标识符列表,该标识符列表包括所述排列的标识符和根据所述预定规则排列的所述产生的证明数据,以及将所述产生的标识符列表写入列表存储单元。
48.根据权利要求46所述的列表产生设备,其中所述标识符列表中的每个标识符都标识不同的有效设备的公开密钥证书,以及所述产生单元包括密钥存储子单元,用于存储私有密钥;数据产生子单元,用于使用所述私有密钥对所述获取的标识符中的每一个执行数字签名以产生证明所述标识符的真实性的证明数据;以及列表产生单元,用于产生标识符列表,其中,所述排列的标识符与相应的所述产生的证明数据相对应,以及将所述产生的标识符列表写入所述列表存储单元。
49.一种机器可读记录介质,包括列表存储单元,用于存储标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备。
50.根据权利要求49所述的记录介质,其中所述标识符列表中的每个标识符标识不同的已撤销设备的公开密钥证书,以及所述标识符列表已在其中根据所述预定规则排列证明数据,该证明数据对于一个或多个范围中的每个范围证明包含在该范围内的一个或多个标识符的真实性。
51.根据权利要求49所述的记录介质,其中所述标识符列表中的每个标识符标识不同的有效设备的公开密钥证书,以及所述标识符列表已在其中根据所述预定规则排列一条或多条证明数据,每条证明数据对应于所述标识符中的不同标识符并证明相应标识符的真实性。
52.一种标识符列表,包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备。
53.根据权利要求52所述的标识符列表,其中每个标识符对应于已撤销设备,以及所述标识符列表已在其中根据所述预定规则排列证明数据,该证明数据对于一个或多个范围中的每个范围证明包含在该范围内的一个或多个标识符的真实性。
54.根据权利要求52所述的标识符列表,其中每个标识符对应于有效设备,以及所述标识符列表已在其中根据所述预定规则排列一条或多条证明数据,每条证明数据对应于所述标识符中的不同标识符并证明相应标识符的真实性。
55.一种信息输入/输出系统,包括输入/输出设备;以及应用软件,用于通过所述输入/输出设备执行信息输入/输出,其中该输入/输出设备使所述应用软件执行一部分用于判断所述应用软件是有效还是已撤销的处理。
56.一种在输入/输出设备中使用的判断方法,信息使用设备通过该输入/输出设备执行信息输入/输出,该判断方法包括以下步骤向所述信息使用设备输出标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备;从所述信息使用设备接收范围信息,该范围信息显示使用所述标识符列表指定的目标范围,该目标范围包含对应于所述信息使用设备的目标标识符;以及使用所述接收的范围信息判断该信息使用设备是有效还是已撤销。
57.一种在输入/输出设备中使用的判断计算机程序,信息使用设备通过所述输入/输出设备执行信息输入/输出,该判断计算机程序包括以下步骤向所述信息使用设备输出标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备;从所述信息使用设备接收范围信息,该范围信息显示使用所述标识符列表指定的目标范围,该目标范围包含对应于所述信息使用设备的目标标识符;以及使用所述接收的范围信息判断该信息使用设备是有效还是已撤销。
58.一种机器可读记录介质,存储有在输入/输出设备中使用的判断计算机程序,信息使用设备通过该输入/输出设备执行信息输入/输出,该计算机程序包括以下步骤向所述信息使用设备输出标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备;从所述信息使用设备接收范围信息,该范围信息显示使用所述标识符列表指定的目标范围,该目标范围包含对应于所述信息使用设备的目标标识符;以及使用所述接收的范围信息判断该信息使用设备是有效还是已撤销。
59.一种在信息使用设备中使用的信息指定方法,该信息使用设备通过输入/输出设备执行信息输入/输出,该信息指定方法包括以下步骤从所述输入/输出设备接收标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备;使用该接收的标识符列表指定包括由该信息使用设备存储的目标标识符的目标范围;以及向所述输入/输出设备输出表示所述指定的目标范围的范围信息。
60.一种在信息使用设备中使用的信息指定计算机程序,该该信息使用设备通过输入/输出设备执行信息输入/输出,该信息指定计算机程序包括以下步骤从所述输入/输出设备接收标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备;使用该接收的标识符列表指定包括由该信息使用设备存储的目标标识符的目标范围;以及向所述输入/输出设备输出表示所述指定的目标范围的范围信息。
61.一种机器可读记录介质,其存储有在信息使用设备中使用的信息指定计算机程序,该信息使用设备通过输入/输出设备执行信息输入/输出,该计算机程序包括以下步骤从所述输入/输出设备接收标识符列表,该标识符列表包括根据预定规则排列的一个或多个标识符,每个标识符对应于不同的有效或已撤销设备;使用该接收的标识符列表指定包括由该信息使用设备存储的目标标识符的目标范围;以及向所述输入/输出设备输出表示所述指定的目标范围的范围信息。
全文摘要
一种减少在判断设备是有效还是已撤销时的处理负荷的输入/输出(IO)系统。该系统由输入输出(IO)设备和信息使用设备构成。该IO设备向信息使用设备输出标识符(ID)列表,该ID列表包括根据预定规则配置的一个或多个标识符(ID),每个标识符对应于一个不同的有效或已撤销设备。信息使用设备使用所接收的ID列表来指定一个包含由该信息使用设备存储的目标ID的目标范围,并将表示指定的目标范围的范围信息输出至所述IO设备,所述IO设备在判断信息使用设备是有效还是已撤销时使用该接收的范围信息。
文档编号H04L9/32GK1820237SQ20048001962
公开日2006年8月16日 申请日期2004年7月8日 优先权日2003年7月8日
发明者中野稔久, 馆林诚, 山本直纪, 石原秀志 申请人:松下电器产业株式会社