管理客户机和服务器间信任度的系统及方法

文档序号:7651114阅读:143来源:国知局
专利名称:管理客户机和服务器间信任度的系统及方法
背景技术
近年来,人们已经认识到,保护数字内容(包括有价值的内容,因为它包括知识产权,或者因为它包括或包含敏感的个人信息或金融信息)必将涉及使用按消费者定位的硬件。人们也认识到,这种硬件可以在保护最终用户方面发挥重要的作用,其中,这种硬件正在以智能卡和其他个人标识的形式被配置,以实现更安全的存取鉴定。关于提供商,dongles可能就是简单的按消费者定位的硬件的例子,该硬件在其软件拷贝保护方面的限定目的范围内获得了某种成功。
但是,按消费者定位的硬件几乎对互联网经济没有什么影响。互联网经济中,联网数字媒体领域的缺乏尤其明显。一些人已认识到将互联网用于打破地面的分配渠道中的机会。但是,挑战一直存在于设计成本上、这种专用设备的制造与大规模的市场上,以及它对消费者和各种行业(例如,消费者电子仪器、内容分配、银行业和互联网服务)的吸引力上。
以前已经披露,降低成本和提高这种按消费者定位的安全设备的吸引力的一种可能性可通过对不只一个提供商开放准入。实际上,如果这种硬件通过将开放的可编程性并入其核心来灵活地实现这一点(而不是用一种被预先编程的、定义狭窄的方式来为多个提供商服务),则可以大大减少阻止消费者分布普遍的障碍。开放的硬件能缓解在不同的企业单位中失去结合的困难,否则就必须实现一种固定目的的产品。竞争者成功融资的经济利益激发了对专攻安全设备广泛易用的提供商无关的制造商的需求。
但是,多数或所有原先技术的多用途、提供商无关的安全硬件被认为有一个共同的缺点它引入了其他的系统设计挑战,尤其在消费者秘密和协处理器弹性方面。前述安全硬件的匿名服务使用存取标识系统,但是,有关多应用的、具有可信度执行环境的匿名仍然是留有不少公开的研究课题。一个没有提及的、重要的关键事项是可以由各个提供商共享某个特殊系统的基础结构的信息,以便为每个消费者建立全面的简档。消费者的安全模块的鉴定公开密钥被分配给消费者希望与之交易的所有提供商。然后,可以在无所不为的提供商子集中分享鉴定用的公开密钥,以创建揭示消费者的购物习惯的简档。注意,系统设计的秘密保护特点虽然是必需的,但如果基础通信传输不支持匿名特点,则它们不足以达到严格的保密要求。
需要更多关注的另一个事项是拥有充足资源的对手可能会危及最终用户协处理器的安全。支持以上所有目标的信任的基础结构应该在这种情况下表现出顺应力的特点。一个简单的例子是防止被损害的协处理器的任意数量的克隆渗入系统。但是,如上所述的用于共享、高保密系统的环境加剧了有关结构封闭与限制破坏能力的问题。
相应地,仍然需要一种多用途的、提供商无关的安全硬件,该硬件提供增加的秘密保护和协处理器弹性。原先技术被认为不能满足这些需要。
本发明的另一个目的是提供对多个客户机所使用的计算机目标数据加以控制。
本发明的另一个目的是提高协处理器的弹性。
为了达到这些和其他的目的(通过进一步参考以下说明揭示,将变得显而易见),本发明提供了各种方法,包括用于增强使用客户机计算机微处理器平台的用户与远程服务器之间交易的信任度的方法;以及用于提供对得自与远程服务器有关的源数据的计算机目标数据进行控制的方法,其中,使用客户机计算机微处理器平台的多个客户机可以使用目标数据。
通过使用被配置成接受至少一个公开密钥数据的具有可信度服务器,本发明提高了使用客户机计算机微处理器平台的客户机与至少一个远程服务器之间交易的信任度,其中,每个公开密钥数据尤其与客户机平台(作为平台的公开密钥/私人密钥对的一部分)有关。可以使用客户机平台和具有可信度服务器中的至少一个来生成公开密钥/私人密钥对。
额外的核准用数据也与公开密钥数据有关,以便将公共数据识别为已经得到接受它的具有可信度服务器的核准。然后,远程服务器可以获得公开密钥数据和有关的额外核准用数据,其中,远程服务器被配置成识别可信的额外核准用数据。远程服务器专用数据也与被核准的公开密钥数据有关,有关的远程服务器专用数据与客户机平台私人密钥(与公开密钥数据有关)结合使用。通过与具有可信度服务器的客户机平台通信,使具有可信度服务器清楚具有来自远程服务器的服务器专用数据的客户机平台私人密钥的至少一次利用,为具有可信度服务器提供机会来接受或拒绝公开密钥数据与远程服务器的联系并提供或拒绝保证。
通过至少使用一个具有可信度服务器并将数据从远程服务器转移到具有可信度服务器,本发明增强了使用客户机计算机微处理器平台的客户机与远程服务器之间的交易的信任度。结合数据转移安全规定来实现该转移。将被转移数据的一个部分的函数从具有可信度服务器提供给客户机平台,其中,该部分至少包括一部分秘密数据。具有可信度服务器将该函数的一个值提供给由至少一个密钥加密的客户机平台,具有可信度服务器可将该密钥识别为与被认为可信赖的一个客户机平台有关。该客户机平台能切实可行地为被加密的函数值解密,以便可以在远程服务器与客户机平台之间安全地分享该函数值。
本发明也虑及可信地将计算机目标数据传送到客户机计算机微处理器平台,其中,远程服务器提供源数据,被传递的目标数据是其一个函数(例如,数学函数(例如,代数函数)、散列、变换式、恒等式函数或将目标数据作为其自变数的另一项函数)。通过识别远程服务器已知的一个秘密数据,来实现该传递。具有可信度服务器可以获得秘密数据,可用独特的标记符来识别该秘密数据。计算机目标数据从被提交的源数据中得到,其中,目标数据与具有可信度服务器所计算的签名有关,并且该签名是目标数据的一个函数。然后,提供计算机目标数据,用于客户机平台。
本发明提供对来自与远程服务器有关的源数据的计算机的目标数据的控制,通过识别与独特的标记符有关的第一个数据,让使用客户机计算机微处理器平台的多个客户机可以使用目标数据。远程服务器已知第一个数据和有关的标记符。然后,第二个数据与第一个数据和标记符有关,其中,第二个数据由一个具有可信度服务器提供,该服务器被配置成存储反映第一个数据与标记符以及第二个数据的信息。然后,将计算机目标数据与作为一个被导出数据的函数而加以计算的一个值结合起来,其中,被导出的数据包括指出第一个数据的数据和指出第二个数据的数据中的至少一种数据。该结合由具有可信度服务器执行。额外数据包的形成也是通过为远程服务器将远程服务器的额外数据与以下内容相关联i)指出第一个数据的数据和指出第二个数据的数据中的至少一种数据;ii)有关的标记符。额外数据包被提交给具有可信度服务器,用于确认。如果该包被确认为与所存储的信息一致,该信息与由具有可信度服务器存储的第一个数据与标记符以及第二个数据有关,那么,所导出的数据与传递给客户机平台的数据包的函数有关。
在本发明的一个实施例中,第一个数据可以包括一个秘密数据,或者就是一个秘密数据。此外,所导出的数据可以包括一个加密密钥,或者就是一个加密密钥。


图1是表示本发明及其信任框架总体格局的说明图。
图2是表示“应用服务器(AS)”执行“安全应用部件(SAC)”加密过程的框图。
图3是表示客户机平台上的协处理器(Cp)执行SAC个性化过程的配给券收集和配给券兑现的框图。
图4是表示“应用服务器”和“可信度服务器(TS)”执行SAC个性化过程中SAC系列初始化的框图。
图5是表示“应用服务器”和“可信度服务器”执行SAC个性化过程中SAC公布处理的框图。
图6是表示“应用服务器”和“可信度服务器”执行SAC系列批量个性化的框图。
图7是表示SAC允许进入一协处理器的框图。
较佳实施例的详细说明通用的计算机,例如客户机方的计算机(例如,可以上互联网等分配数据网络的商业机构或个别用户的个人计算机,通过该网络,它们可以链接到各个服务器)通常包含协处理器。这里使用的术语“协处理器”只是指在消费者/客户机的层次被使用的协处理器。其服务器类的相应部分由术语“硬件安全模块(HSM)”表示。如在S.W.Smith、E.R.Palmer和S.H.Weingart所著的《使用高性能、可编程的安全协处理器》(会议录,第二届金融密码术国际会议,Springer-VerlagLNCS,1998年)中所揭示的,安全协处理器可以被分类成几种类型。被预想会支持安全公开系统的协处理器使这些类别中的几种类别重叠。显而易见,人们偏好一种公开的编程环境,这似乎将诸如HSM协处理器(即高目标安全协处理器)的一种协处理器放在相同的领域中。另一方面,协处理器可能还必须用于资源有限的消费器具内。具有这种嵌入式覆盖区的协处理器似乎更适合在密码加速器的类别内。
参考图1,现在将描述本发明的一个示范应用和“信任框架”。
这个模型中的提供商所传递的一种典型的服务或应用涉及三个实体也被表示为远程服务器的应用服务器(AS)120;传统的、非固定的、按消费者定位的主机设备130;以及一个协处理器的具有可信度执行环境110。运行于这种客户机方的具有可信度执行环境内的软件应用部件被称作“安全应用部件(SAC)140”。客户机方的计算安装的整体被表示为客户机计算机微处理器平台或客户机平台。计算机目标数据可以包括可执行的SAC,源数据可以包括SAC的来源(代码)或可执行的SAC。
通过研究对应于放宽保密或遏制目标中的一个目标的两种退步的案例,来激发可信度服务器部件150(也被称作具有可信度服务器)。
这里遏制并不必要,只要确保协处理器通常是与许多匿名存取方案中的任何方案相耦合的不能区别的协处理器,就足以确保保密。注意,这个结果独立于具有可信度执行环境的特点设置;代码可以被秘密地传输并具有对任何特殊的协处理器的起源鉴定和完整性检查。如果密码密钥材料确实必须被预先载入协处理器,则只要求协处理器都获得相同的数据。
相反,如果只需要遏制,那么,每个协处理器的独特的鉴定公开密钥可被用来允许提供商在受到可发现的损害的硬件中跟踪通告和取消信任。
当既要求遏制又要求保密时,必须有一个具有可信度中介物负责授予和取消消费者与提供商之间的信任关系。因此,“可信度服务器”150被用作这种中介物。有关协处理器170与SAC 140的一个实例之间的联系的知识必须被局限于“可信度服务器”150,以便最大程度地保护使用协处理器170的消费者或客户机的秘密。
从前面的讨论中可明显地看到协处理器个性化的必要性。关于SAC 140的个性化的要求取决于提供商了解其通过协处理器170的分开的各个实例的必要性。关于使SAC 140个性化,可以使用两种方法由提供商的“应用服务器”120执行SAC个性化和由“可信度服务器”150执行SAC个性化。
有一个问题是否应该在SAC 140的一个周期的卸载和重新安装之后为SAC140提供新近的个性化数据。一方面,通过发出相同的数据,提供商可单方取消行为可疑的SAC 140的一个实例,可能会指出其上运行该实例的协处理器170已受到损害。另一方面,如果诚实的消费者因保密的缘故而需要这样做,则应该允许他们打破个性化联接。所以,无论是新的还是重复的,每次安装的新近的个性化都是需要的。这改变了负责那个SAC 140的提供商取消某个特殊的协处理器170上的SAC 140的过程。“可信度服务器”150(提供商将请求提交给它)必须调停该取消过程。保护消费者秘密和为提供商服务的双重、互补的责任需要依靠“可信度服务器”150。
以下的表格概述了该说明书中所用的技术符号。表格I
假设“可信度服务器”150内的“硬件安全模块(HSM)”160完全受其主机的控制,但运行其自己的固定代码并能够安全地保留静态值(例如,其私人密钥和从“可信度服务器”数据库中检索到的数据的局部鉴定的一个秘密)。不假设HSM 160可处理动态状态存储器,虽然具备这种存储器,但它可用来帮助保护“可信度服务器”150抵挡涉及被成功损害的设备的大规模克隆的遏制攻击。若探索可以保护处理和通信的哪些方面而无须依靠这种存储器,则有几个优点。动态地发生变化的HSM 160的有效备份、对适当地响应于硬件故障和破坏的确定会是需要解决的棘手事项。虽然这里的“可信度服务器”150是一个单片主机/HSM组合,但是,它可以根据功能性被分成分开的几个部件。例如,可以有一种单一服务器,它与“应用服务器”120相互作用,以便处理SAC公布和大批个性化。这种服务器可以用作“应用服务器”120与多个设备服务器之间的一个界面,每个设备服务器涉及客户机方的协处理器用户的明显的人口数。将举例来表现,对协议设计的看来很小的修改会对整个系统的安全简档产生很大的影响。如果所运行的一个子系统离已经获得更多重要资源的其他子系统很远,则在减少硬件的支出和维修的要求下保护那个子系统会特别重要。
协处理器170与“可信度服务器”150之间的任何数据经过都必须得到鉴定和加密的保护。也必须注意要隐藏所涉及的协处理器170的身份的证据。例如,密文的已知结构(在密文上有一个附加的签名)将会违反这个要求,因为它具备协处理器公开密钥的详尽的清单;某人会尝试签名确认。在安全通信的红字标题下,本发明尤其要求由HSM 160的协处理器170加密的任何数据不能被“可信度服务器”150处的内部人员解密;由HSM 160为协处理器170加密的任何数据不能被“可信度服务器”的内部人员解密;不能成功地向协处理器170发送欺骗的消息,说它来自HSM 160,而不存取“可信度服务器”150中当前所具有的数据;不能成功地向HSM 160发送欺骗的消息,说它来自协处理器170,而不存取“可信度服务器”150中当前所具有的数据。不假设“可信度服务器”150的内部人员无法成功地向HSM 160发送欺骗的数据,好象它来自协处理器170。同样,不假设“可信度服务器”150的内部人员不能成功地向协处理器170发送欺骗的数据,好象它来自HSM 160。
通过使用被配置成接受至少一个公开密钥数据的具有可信度服务器150(其中,每个公开密钥数据尤其与作为平台的一个公开密钥/私人密钥对的一部分的客户机平台有关联),本发明提高了使用客户机计算机微处理器平台的客户机与至少一个远程服务器之间交易的信任度。可以使用客户机平台和具有可信度服务器150中的至少一个来生成公开密钥/私人密钥对。额外的核准用数据也与公开密钥数据有关,以便将公开密钥数据识别为已经由接受它的具有可信度服务器150核准。然后,远程服务器可以获得公开密钥数据和有关的额外核准用数据,其中,远程服务器被配置成识别可信的额外核准用数据。
远程服务器专用数据也与被核准的公开密钥数据有关联,有关的远程服务器专用数据跟与公开密钥数据有关的客户机平台私人密钥结合使用。通过与具有可信度服务器的客户机平台进行通信,具有可信度服务器明白了具有来自远程服务器的服务器转用数据的客户机平台私人密钥的至少一次利用,为具有可信度服务器提供机会来接受或拒绝公开密钥数据与远程服务器的联系并提供或拒绝保证。
如前所述,关于SAC 140的个性化的要求取决于提供商了解其通过协处理器170的分开的各个实例的必要性。也陈述了,关于使SAC 140个性化,有两种方法由“应用服务器”120执行和由“可信度服务器”150执行。参考图2和图3,展示了由“应用服务器”120执行SAC个性化的一种方法。
参考图2,提供了一幅框图,表现了由“应用服务器(AS)”120执行的“安全应用部件(SAC)”的加密过程。在公开分配之前,“应用服务器”120将一个新的标识符SAC.ID分配给每个SAC 140。然后,生成一个.对称的密钥SAC.key,该密钥被用来为SAC 140加密。随后公开分配对称地被加密的SAC。
参考图3,示出一幅框图,表示协处理器170收集配给券和“应用服务器”120兑现配给券的过程。对应于一个匿名证书或“配给券”的私人密钥(privKey)意在成为一个协处理器层次的秘密,该秘密不从还没有被成功篡改的协处理器170泄露出去。结果,“应用服务器”120必须将与协处理器170的规定的相互作用并入其通信代码,而不能灵活地确定一种方法论,通过该方法论,所谓的协处理器170将其合法性证明为成功获取服务或内容的一个条件。
否则,不择手段的“应用提供商”可能会配置其“应用服务器”,以试图利用预言(例如,基于等同于系数的因子分解的Rabin解密(即,计算系数平方根)或基于小群攻击有关Diffie-Hellman的协议的预言)。如果这种协议的缺点未被检测出来,则可以在广泛的规模上潜在地使用这种对私人密钥的远程获取。
注意,SAC 140将不能被安装在应允的协处理器170上,除非(在图3中,步骤11)AS签名被适当地确认,并且,被解密的消息产生原来由“应用服务器”120使用的密钥(SAC.key),以便在公开分配(在图2中,步骤3)之前为SAC 140加密。协处理器170从“应用服务器”的公开密钥证书获取AS.ID。即使AS 120选择忽略有关收据的有效性测试(协处理器170获得该测试,作为与“可信度服务器”150兑现配给券的交换),TS(可信度服务器)150也已经记下AS.ID,以便可以存入该信息,用于跟踪(和潜在地用于通告)。如果“应用服务器”120没有获得这种收据的证据,那么,会“加倍使用”对应于被成功篡改的协处理器170的配给券。如果应允的协处理器170在某个规定的时间期限已经超过后还没有被调回,则可以通过将它们编程为失去关键功能性来使其局限于“可信度服务器”150。但是,被成功篡改的协处理器170可以避免这种报告返回。如果它们需要报告返回以获得新的使用密钥的材料,也就是说,它们也许能够成功地在过去的活动记录方面撒谎。注意,由于要依靠“可信度服务器”150所发出的收据中的“blob”,所以,即使被篡改的设备也不能贮存可用的收据。
有关协处理器170与“可信度服务器”150之间的“安全通信”以及HSM 160所执行的操作的可分性的假设使不利用被篡改的设备的“可信度服务器”150的内部人员无法获取配给券(知道它们的对应的私人密钥)。该较佳实施例的这两个方面有助于阐明在具有可信度服务器150从“安全通信”下的客户机平台接收一个公开密钥数据的情况下,具有可信度服务器150被配置成接受该公开密钥数据意味着什么。
该方法故意规定应该如何在协处理器170与“应用服务器”120之间的SAC等级通信中使用应允的协处理器170与“应用服务器”120之间所分享的(SAC等级)“blobs”(或SAC个性化数据)。
对该数据的潜在的“误用”不会影响任何独立管理的SAC 140的安全。
从消费者的保密角度出发,被篡改的协处理器170单独无法破坏用户的信心他们正在就所掌握的对应于鉴定AS公开密钥的AS私人密钥的知识与“应用服务器”120进行通信。例如,如果“应用服务器”120执行的有符号的加密步骤被一个分开的签名和关于数据<blob,blobTag,SAC.key>的加密取代,则会发生以下攻击。
被篡改的协处理器170可以收集配给券并在“应用服务器”120处使用它们,而不完成交易(以便防止这些配给券被标记为在TS 150处被兑现)。被篡改的协处理器170可能将根据对应的Enc(<blob,blobTag,SAC.key>)及其有关的私人密钥的知识来提取每个<blob,blobTag,SAC.key>的知识。由于sign(<blob,blobTag,SAC.key>,AS.privKey)不依靠有关协处理器的输入,因此,被篡改的协处理器170将能够再用在目标的公开密钥值下被加密的(<blob,blobTag,SAC.key>)。敌方将获得可执行的明码文本,但是,SAC 140内的代码(要求由SAC140的目标协处理器的实例随意生成的数据上的签名)会阻止他。如果敌方还没有中断它对有关“应用服务器”120的配给券的使用,则目标协处理器170将不会无意中尝试将任何有潜在机密的信息传达给敌方,因为在“可信度服务器”150处将检测对配给券的再用。在任何情况下,这种类型的攻击在实际的协议设计中遭到反对,因为签名在加密上,这通过使用公开密钥并根据协处理器170而变化。
从保密的角度看,客户机平台的用户应该涉及确定特殊的交易是否核准将信息的说明揭示提供给有关证书状况的远程服务器,其中,通过使服务器或其他具有可信度服务器150或代表自己而行动的服务器匿名,来确保该信息的真实性。由于这种确保程序可以被设计成(在计算方面)不具有延性,因此,客户机平台用户会要求这种确保有具有可信度服务器150,并且来自具有可信度服务器150的各种响应也可以由客户机平台用户传递给远程服务器。如果远程服务器没有收到某个自我规定的时刻所提供的保证的满意指示(可能是时间函数、对服务的累积访问或其他度量),则远程服务器可以选择切断它与特殊的客户机平台用户的关系。通过将合适的信息包括在与公开密钥数据有关的远程服务器专用的数据中,远程服务器可以确定它收到的任何保证的新近程度,这是期望在由具有可信度服务器产生的保证中所体现出来的。如果这样构制,则该程序具有的额外优点是展示掌握对应于公开密钥数据的私人密钥的证据和保证证书可信赖。这样,具有可信度服务器150明白了(在“安全通信”下)私人密钥的至少一次利用。在较佳实施例中,客户机平台通过使用私人密钥解密来恢复服务器专用的数据(即blob,blobTag和SAC.key)(在图3中的步骤11中),其中,被恢复的数据的某个函数(即H(blob))被传送到具有远程服务器的ID(AS.ID和SAC.ID)的具有可信度服务器150。通过让客户机平台用户(而不是远程服务器)处理关于保证的要求,这提高了通告模型中的通用性。如果将指示远程服务器使用证书,则会不要求保证,以便向具有可信度服务器隐藏其对证书的使用。通过及时地将客户机平台的关系只限制于在任何点的一个单一的具有可信度服务器,这虑及更有意义地跟踪证书的使用。已知将期满日期包括在证书内,但没有指出依靠证书的程度有多大和是否应该信赖它。证书取消清单(CRLs)的使用没有令人满意地解决远程服务器潜在的重要事项。除了与CRLs有关的通常的问题(例如,保证传递最近的版本和可量测性)以外,客户机平台用户秘密的并入可能会破坏CRLs的有效性。
本发明虑及取消的一种不同的方法根据规定证书ID清单的远程服务器的进展要求,如果特殊的客户机平台在具有可信度服务器处被标记为已经与一些不可信的证书ID中的一个ID有关联,则可能会拒绝将来客户机平台关于保证的用户要求,该要求与远程服务器专用数据(与正在讨论的远程服务器有关)有关联。如果这些远程服务器发起的要求被适当地鉴别,则远程服务器将不会影响与其他远程服务器有关的保证过程。注意,预测该技术的根据是一些电子商业实例,其中,远程服务器可处于一个更好的位置,以捕获客户机平台用户方面看来具有欺骗性的活动,而不会是具有可信度服务器150,因为具有可信度服务器150可能无法证明诸如存入和通告的实际的电子商业交易,来获得内容或服务。此外,可以向具有可信度服务器隐蔽这些交易,因为它们可能根据在客户机平台与远程服务器(由本发明启用)之间被分享的秘密数据来受到保护。远程服务器自身无法识别如果用户秘密被加强,两个证书ID是否对应于相同的客户机平台。与具有可信度服务器150不同,即使远程服务器能够影响运行于在远程服务器的控制之下的客户机平台上的应用程序的行为,它可能也无法直接影响客户机平台的行为。
使SAC 140个性化的另一种方法是由“可信度服务器”150执行。参考图4-7,展示了由“应用服务器”120执行SAC个性化的一种方法。
关于这种方法,要实现一个重要的遏制目标,也就是说,即使在“可信度服务器”的内部人员和被成功篡改的协处理器组合的情况下,“额外的”被预先存储的SAC个性化数据也是安全的。更精确地说,遭受损害的唯一的SAC个性化数据是被用于受到(或将受到)损害的协处理器170的数据或其克隆的数据。在该方法中,SAC个性化数据被大量分配给“可信度服务器”150,并被存储,用于在SAC安装和个性化期间分配给协处理器170。这个程序有些类似于PEZ糖块自动售货机的供应,接下来,每次分配一个糖块,每个糖块被提供一次,然后被吃掉。被分配给协处理器170的每个个性化数据包可以包括一块(a blob of)数据和一个blobTag。该blobTag可用于由“可信度服务器”150跟踪的目的并向“应用服务器”120识别任何特殊的协处理器170据称具有哪个blob值(与协处理器170进行通信)。将内容或服务成功地传递到客户机平台可以取决于由协处理器的安全环境内的SAC 140获得的有关合适的blob值的知识。由于对应于所提供的SAC.number的SAC 140的所有版本或升级都被设计成清理相同的(可补充的)组的大批个性化数据,因此,在从“应用服务器”120进行大批传递期间、在由“可信度服务器”150进行处理和存储期间和在被允许进入协处理器170的一个SAC实例的个性化期间,不足以(虽然是必要的)保护该数据不受到攻击。SAC公布过程也必须被保护,以便实现所需等级的安全。对应于这个直接目标的事项不是确保要求公布SAC 140的“应用服务器”120(或提供商)的真实性,而是确保一旦一个SAC系列被初始化就适当地采用拒绝入侵者的策略,无论“应用服务器”120合法与否,都能公布欺骗的SAC。欺骗的SAC会通过误用或暴露目标“应用服务器”的个性化数据来对其进行盗用。
回忆较早讨论的第一种方法,该方法处理“可信度服务器”150以外的SAC的公布和签名。假设用当前的方法来处理SAC系列大批个性化和SAC许可,但是,“应用服务器”120(AS)执行其自己的SAC 140的签名和其自己的公布,其中,AS 120将生成其自己的SAC.key值,并将SAC.number即Enc(<AS.track,SAC.key,SAC.number>,TS.pubKey)发送给“可信度服务器”150,用于SAC系列初始化。然后,单一协处理器170妥协,通过将SAC.number的相同值用作SAC.key的目标AS和SAC.key的相同(未加防范)值,使敌方能够公布欺骗的SAC。由于敌方不需要提交一个SAC系列个性化矢量,因此,攻击将不会要求TS内部人员同谋。他的目的不是提交其自己的大批个性化数据,而是抢劫目标的大批个性化数据。
接下来考虑一下,所有用文件证明的协议都被使用了,但允许AS选择其自己的SAC.key值,而不是让它由TS HSM 160随意生成。然后,对产生目标的SAC.key值的协处理器170的攻击可以结合TS内部人员的攻击(其中,敌方选择与目标所选的相同的SAC.key值,SAC.number的相同值被强迫重放)。敌方执行具有SAC.number这个值的标准SAC系列初始化步骤,使他能够公布欺骗的SAC。由于该欺骗的SAC分享SAC.number和SAC.key的相同值,因此,它能够成功地安装和存取目标的个性化数据。因此,允许AS 120选择其自己的SAC.key值可以避开保护。通过将TS.局部包括在SAC.assign中(如图4中所规定的)来提供这种保护,以便防止内部人员用所选值的加密来代替。
为了使实际的当前方法抵抗住协处理器妥协和TS内部人员的双管齐下的攻击,协议设计的一个重要的方面是协处理器170通常无法获得AS.key,因此,用这种方法,AS.key不会受到损害。若没有有关目标AS.key的知识,敌方就不能提供“最后”公布所必需的缺少的自变数,即,提供一个能证明的签名。在签名与将SAC个性化数据呈现给协处理器170之间有光明正大的结合也是很重要的。在原先的技术领域中已知,数字签名提供了将签名的各个自变数结合在一起的一种方法,其中,在其上应用签名的消息可以被解释为包括几个这样的自变数。这样,用归纳法进行推论,使一个数据与一个现存的签名结合的一种方法是将该数据的一个函数作为签名的一个额外的自变数输入。
通过至少使用一个具有可信度服务器和将数据从远程服务器转移到具有可信度服务器,本发明提高了使用客户机计算机微处理器平台的客户机与远程服务器之间的交易的信任度。被转移的数据至少包括一个秘密数据。该转移结合数据转移安全规定来实现。将被转移数据的一个部分的一个函数从具有可信度服务器提供给客户机平台,其中,该部分至少包括一部分秘密数据。具有可信度服务器将该函数的一个值提供给由至少一个密钥加密的客户机平台,该密钥可由具有可信度服务器(与被认为可信赖的一个客户机平台有关)识别。该客户机平台切实可行地为被加密的函数值解密,以便可以安全地在远程服务器与客户机平台之间分享该函数值。
如图6中的步骤4的消息中所示,AS.track与大批个性化数据转移的联系用于明确地指定当在图7中的步骤5的消息中每个SAC个性化值被传递到协处理器170时,应该将哪个SAC.key的加密密钥值附加到SAC个性化值(blobTag,blob)。根据TS HSM 160对SAC.assign的存取,SAC.key值与SAC个性化值的联系作为图6中步骤5、6和7中批量个性化的一部分,如同在所提供的SAC系列的初始化期间在图4的步骤9中原来所计算的。注意,在SAC系列初始化期间,保守AS.track的秘密可防止敌方使用有关这个值的知识,以便在被再用的SAC.number下将其与他知道的AS.key的一个值一起重新提交。如果成功的话,这种策略将允许敌方将SAC个性化数据改道发送到SAC的欺骗版本。为了防止这种数据的改道发送被欺骗的SAC利用,在大批个性化期间使用明确指出(但不引起泄露)AS.track的秘密值(例如,H(AS.track))的一个非秘密值实际上足够了,因为要在SAC系列初始化期间提交AS.track和AS.key的一个已知值,必须掌握有关AS.track值的知识。
这样设计了一种方法,它可安全地使个性化数据与正确的SAC.key联系起来,用于安全地分配给协处理器170;还设计了一种方法,可阻止在目标的AS.key的秘密值下成功而有效地公布欺骗的SAC。仍然提供了一种方法,可安全地将SAC.key与SAC公布期间由“可信度服务器”150生成的签名结合起来。要实现这一点,使用SAC.number或SAC.ID是不够的,因为没有充分的状态存储器的TS HSM 160可能无法跟踪对这些值的欺骗性的再用,这些值并非特意每次都随意生成。当前设计中所采用的方法是将H(SAC.key)作为签名的一个自变数来输入。在协处理器170的安全执行环境内,SAC.key值被用来为SAC 140的密文形式解密并被用作到签名确认过程的一个输入。该设计使用签名内的SAC 140的明码文本(即不依靠SAC.key)版本,以便“应用服务器”120不依靠协处理器而确认签名,“应用服务器”120确定是否公开签名(根据有关AS.key的知识,在签名确认期间进行计算)的缺少的自变数。对H(SAC.key)的明确(虽然是非秘密的)使用为实现结合提供了必要的联接。
特别是,在SAC公布期间生成的签名的原子处理可防止内部人员替换以前公布的(合法的)一个SAC 140,已知有关它的SymEnc(H(<SAC.ID,SAC.exe>),AS.key),与一个不同的(欺骗的)SAC并列,用于计算签名的未被加密的自变数即H(<SAC.ID,SAC.exe>)。
安全处理SAC个性化数据的一种选择性方法(与基于SAC.key的技术不同)因机密性的缘故而独立于SAC加密,该方法的执行如下所示当H(SAC.key)似乎是图5中的步骤12期间被传送的消息中的签名的一个自变数(SAC公布)时,它被H(AS.track)取代。H(AS.track)不需要与签名一起被发送到“应用服务器”120,因为与SAC.key(在图4的步骤8中由“可信度服务器”生成)不同,设想“应用服务器”120知道AS.track的合适值,“应用服务器”120在图4的步骤5中生成它(SAC系列初始化)。以未加工的形式表现的SAC.key在图7的步骤5中被传送到客户机平台(SAC许可),供协处理器使用,但在类似于这个步骤的步骤中向协处理器170传达指出AS.track(例如,H(AS.track),而不是AS.track)的一个非秘密的值是很重要的,因为不应该通过协处理器妥协可以获得AS.track值。注意,SAC.key可以与H(AS.track)一起被发送到协处理器170,该协处理器需要SAC.key值,以便为SymEnc(SAC.exe,SAC.key)解密,因为这是它接收可执行SAC的形式。
注意,在SAC许可期间,协处理器170的升级安装和SAC 140的新近安装(其特征是缺少对应于那个SAC.number的任何当前被安装的SAC 140)拒绝吸收新的个性化数据。这个属性使系统DRM(数字权利管理)友好化与个性化数据相联系或被个性化数据保护的数字权利数据可以维持越过升级。
这个方法提出传统提供商基础结构事项,允许“应用服务器”120与多应用协处理器用户和现存客户机方设备的用户进行通信。不需要预备步骤来转换成在“应用服务器”120与协处理器170之间被分享的一个秘密,而这在第一种方法中是必要的。此外,即使“应用服务器”120从不与协处理器170进行通信,一个被提供的SAC 140或相互信任的SAC的实例也可以利用SAC等级的加密和/或鉴定来进行“对等的”通信。通过让blobTag包括一个证书(包括对应于blob内的一个私人密钥的一个公开密钥),可以实现这一点。
虽然没有在这里进一步探索,但是,有一种潜在的混合方法,该方法(与在第一种方法中一样)不要求“可信度服务器”150与“应用服务器”120之间的各个SAC个性化数据值同等,但它通过“可信度服务器”150来处理SAC公布和SAC的安装(与在第二种方法中一样)。
保护消费者的秘密不被攻击,其中,“可信度服务器”150外的冒名顶替者在成为目标的“应用服务器”身份下公布一个SAC 140,直到“可信度服务器”150强迫鉴定可执行内容/源代码的起源。在遵循一个随意的SAC公布授权程序的情况下,可能会额外地回顾支持SAC源代码的起源的区外文件,以及检查源代码本身的一致性。如果不需要SAC公布授权过程,则起源的鉴定可直接进入HSM 160。当然,即使HSM 160根据一个鉴定签名密钥来核实用计数法签名的代码,证书签发当局(CA)用于在发出证书之前鉴定身份的登记过程也会潜在地受到攻击。
悄悄地用已知的值来取代“可信度服务器”150内的SAC个性化数据是对消费者秘密的一个潜在的攻击,而不是对提供商的遏制目标的攻击。妥协的协处理器与“可信度服务器”内部人员的攻击之间的勾结会导致通过在SAC许可期间不正当地向目标协处理器170重复分配<blobTag,blob>的值来进行替换,其中,这些值对应于从妥协的协处理器提取的值。由于关于协处理器170与“可信度服务器”150之间的“安全通信”的假设,并且由于被加密的大批个性化数据的输入要求曾初始化SAC系列的实体进行授权(经由AS.track的一致输入),单单TS内部人员的攻击或协处理器的妥协不能引起这种攻击。
图6和图7中描绘了该过程的较佳实施例。转移可能跟远程服务器与具有可信度服务器150之间的协调有关,关于这一点,将认为数据的各个部分意味着收集了哪些客户机平台属性,以便可以相应地将各个函数值提供给客户机平台。
较佳实施例虑及可信地将计算机目标数据传递到客户机计算机微处理器平台,其中,远程服务器提供源数据,被传递的目标数据是该源数据的一个函数。通过识别远程服务器已知的一个秘密数据,可实现该传递。该秘密数据可由具有可信度服务器获得并用一个独特的标记符来加以识别。计算机目标数据从被提交的源数据中得到,其中,目标数据与由具有可信度服务器计算的一个签名有关,该签名是目标数据的一个函数。然后,提供计算机目标数据,但在客户机平台处使用。
较佳实施例中,秘密数据指AS.key。在如图4所示的SAC系列初始化期间,AS.key可由具有可信度服务器获得并用一个独特的标记符即SAC.number来加以识别。源数据(包括SAC或可执行SAC的源代码)被提交给与SAC.ID有关的一个具有可信度服务器150,SAC.ID规定SAC.number和SAC.version。图5即SAC公布示出了这种数据转移。所提供的用于客户机平台处的信息包括以可执行的SAC即SAC.exe的形式表现的计算机目标数据,该计算机目标数据以被加密的形式SymEnc(SAC.exe,SAC.key)公开。有关签名即sign(<AS.ID,H(SAC.key),SymEnc(H(<SAC.ID,SAC.exe>),AS.key),H(<SAC.ID,SAC.exe>)>,TS.privKey)是通过签名自变数H(<SAC.ID,SAC.exe>)的目标数据的一个函数f1。一实施例中,目标数据的函数f2指SymEnc(H(<SAC.ID,SAC.exe),AS.key)。或者,可采用f2(data)=SymEnc(data)和f3(data)=data。另一实施例中,可采用f2(data)=data和f3(data)=SymEnc(data)。
本发明提供对得自与远程服务器有关的源数据的计算机目标数据加以控制,其中通过识别与一个独特的标记符有关的第一个数据,使用客户机计算机微处理器平台的多个客户机可以使用该目标数据。远程服务器知道第一个数据和有关的标记符。于是,第二个数据与第一个数据和标记符有关,其中,第二个数据由一个具有可信度服务器提供,该服务器被配置成存储反映第一个数据和标记符以及第二个数据的信息。然后,将计算机目标数据与作为一个被导出数据的函数而加以计算的一个值结合起来,其中,被导出的数据包括指出第一个数据的数据和指出第二个数据的数据中的至少一种数据。该结合由具有可信度服务器执行。也通过将远程服务器的远程服务器额外数据与i)指出第一个数据的数据和指出第二个数据的数据中的至少一种数据以及ii)有关的标记符联系起来,来形成一个额外的数据包。该额外的数据包被提交给一个具有可信度服务器,用于确认。如果该包被确认为与所存储的信息一致,该信息与具有可信度服务器所存储的第一个数据和标记符以及第二个数据有关,那么,被导出的数据与传递到客户机平台的数据包的函数有关联。
在较佳实施例中,第一个数据包括AS.track,独特的标记符包括SAC.number。第二个数据包括SAC.key。包括SAC.number、AS.track和SAC.key的信息作为SAC.assign被存储在一个具有可信度服务器处(图4)。被导出的数据包括SAC.key,函数是H(·),通过数位签名来实现结合,这导致了图5的步骤11中的签名。图6的步骤4中描绘了额外的数据包。在图6的步骤5中,根据由SAC.number编索引的SAC.assign来确认被提交的数据包的一致性。图6的步骤6和步骤7中示出SAC.key与以后传递到客户机平台的数据包的函数的联系。
本发明一个实施例中,第一个数据包括一个秘密数据。此外,被导出的数据包括一个加密密钥。
本发明另一实施例中,第一个数据包括AS.track,独特的标记符包括SAC.number。包括SAC.number和AS.track的信息被存储在一个具有可信度服务器处,这类似于图4中SAC.assign的存储。被导出的数据包括H(AS.track),该函数可以被认为是恒等式函数,并且通过数位签名来实现结合。数据包的函数与H(AS.track)有关。
已经引进有相同目标的两个独特的结构体系,该目标是实现遏制对内容与服务提供商的交易的破坏,同时保护参加该系统的消费者的隐私利益。通过引进在消费者端的可编程的安全协处理器和可以直接存取这些设备并(从而)允许提供商的应用程序进入这些设备但仍保守用户秘密的一个可信度服务器,可以最好地调停这些相互冲突的要求。
用户有合法的权利来改变与在互联网上所进行的各种活动有关的他们的角色,以便限制其他人可以搜集的有价值的信息的数量,经常没有为消费者提供相称的益处。可信度服务器可以拒绝为用户进一步提供服务,这些用户被怀疑按类似于个别的提供商处理与他们已知的消费者的关系的方法来不适当地使用这类服务。通过仔细设计协议和慎重使用消费者与服务器端的硬件安全资源,可以实现很好地抵抗内部人员的攻击和消费者的欺骗。两种方法中的第一种方法的特征是一个强PKI(公开密钥基础结构)风格,该PKI风格倾向于最小程度地使用该过程中所涉及的可信度服务器。虽然第二种方法适应于各种混合方法,但是,它能够处理传统的基础结构。这些混合方法能够使具有使用密钥的材料的协处理器个性化,该使用密钥的材料能够支持对等的PKI和协处理器到应用程序的服务器共享的基于秘密的密码术。
前文通过参考其示范实施例只说明了本发明的原理。精通该技术领域的人根据这里的教导将明白对所描述的实施例的各种修改和变更。这样,将认识到,精通该技术领域的人将能够发明许多技术。虽然这里没有明确示出或描述,但这些技术使用本发明的原理并在本发明的精神和范围内。
权利要求
1.一种用于对(1)使用客户机计算机微处理器平台的客户机和(2)至少一个远程服务器(2)之间基于安全关系的事务提供得到提高的可信度的方法,其特征在于,包括以下各个步骤(a)使用一配置为接受至少一个公开密钥数据的具可信度服务器,其中,每个所述公开密钥数据作为该平台公开密钥/私人密钥对其中一部分与客户机平台特别关联,其中,每个所述公开密钥/私人密钥对均可利用(i)客户机平台或(ii)具有可信度服务器其中至少一个生成;(b)使额外核准用数据与所述公开密钥数据相关联,以便将所述公开密钥数据识别为已经由接受所述公开密钥数据的具有可信度服务器核准;(c)使远程服务器可获得所述公开密钥数据和所述相关联的额外核准用数据,该远程服务器配置为对用于将所述公开密钥数据核准为可信赖的所述具有可信度服务器的可信赖的额外核准用数据进行识别;(d)使远程服务器专用数据与所述经过核准的公开密钥数据相关联,其中,所述相关联的远程服务器专用数据与同所述公开密钥数据相关联的客户机平台私人密钥结合起来使用,其中,通过客户机平台与所述具有可信度服务器的通信,所述具有可信度服务器得知客户机平台私人密钥与所述远程服务器的服务器专用数据结合在一起的至少一次使用,给所述具有可信度服务器提供机会来接受或拒绝所述公开密钥数据与所述远程服务器的关联,来提供或拒绝一保证。
2.一种用于对(1)使用客户机计算机微处理器平台的客户机和(2)一远程服务器(2)之间事务增强可信度的方法,该方法采用至少一个具有可信度服务器,其特征在于,该方法包括以下各个步骤(a)将远程服务器的数据传送至一具有可信度服务器,所述所传送数据至少包括一个秘密数据,其中,结合数据传送安全规定来实现所述传送;(b)将所述所传送数据其中一部分的一函数从所述具有可信度服务器提供给客户机平台,其中,所述一部分至少包括所述至少一个秘密数据其中的一部分,其中,进行传送的具有可信度服务器将所述函数的一数值提供给由至少一个密钥加密的客户机平台,所述具有可信度服务器可将该密钥识别为与被认为是可信赖的客户机平台相关联,该客户机平台可操作地对所述经过加密的函数数值进行解密;以及(c)允许远程服务器和客户机平台之间安全地共享所述函数的所述数值。
3.如权利要求2所述的方法,其特征在于,从所述具有可信度服务器提供给客户机平台的所述函数的所述数值取决于所述具有可信度服务器所知道的该客户机平台的属性。
4.一种用于将计算机目标数据可信地传递到客户机计算机微处理器平台的方法,其特征在于,远程服务器提供源数据,所传递的目标数据是该源数据的一函数,该方法包括以下各个步骤(a)对一不同于目标数据的、远程服务器所知道的秘密数据进行识别,所述秘密数据可为一具有可信度服务器所获得,并用一独特标记符识别;(b)使得源数据与所述独特标记符相关联提交给所述具有可信度服务器;(c)提供从所述所提交的源数据导出的计算机目标数据以用于一客户机平台,其中,该目标数据与所述具有可信度服务器经过计算得到的一签名相关联,其中,所述签名是所述目标数据的一函数f1。
5.如权利要求4所述的方法,其特征在于,所述签名还包括(ii)该目标数据的一函数f2,其中,对给定该目标数据知识的目标数据其所述函数f2的运算需要所述秘密数据的准确知识。
6.如权利要求4所述的方法,其特征在于,所述签名还包括(ii)数据的一函数f2,其中,所述具有可信度服务器可获得一函数值,其中,数据的一函数f3被提供给远程服务器,其中,给定所述数据的函数f3知识以及目标数据知识的数据其所述函数f2的运算需要所述秘密数据的准确知识。
7.如权利要求6所述的方法,其特征在于,所述数据至少部分由所述具有可信度服务器随机生成。
8.如权利要求6所述的方法,其特征在于,给定所述数据知识和目标数据知识的所述数据其所述函数f2的运算需要所述秘密数据的准确知识。
9.如权利要求6所述的方法,其特征在于,给定所述数据知识和目标数据知识的所述数据其所述函数f3的运算需要所述秘密数据的准确知识。
10.一种用于对从与远程服务器相关联的源数据所导出的计算机目标数据提供控制的方法,该目标数据可由利用客户机计算机微处理器平台的多个客户机所使用,其特征在于,包括以下各个步骤(a)识别与一独特标记符相关联的第一数据,所述第一数据和相关联的标记符均为该远程服务器已知;(b)使第二数据与所述第一数据和标记符相关联,所述第二数据由一配置为存储反映所述第一数据和标记符以及所述第二数据的信息的具有可信度服务器所提供;(c)使计算机目标数据与作为一被导出数据的函数所计算出的一数值结合,其中,所述被导出的数据包括(A)表示所述第一数据的数据和(B)表示所述第二数据的数据其中至少一种数据,其中,所述结合由所述具有可信度服务器执行;(d)就远程服务器来说使(i)远程服务器的额外数据与(ii)(C)表示所述第一数据的数据和(D)表示所述第二数据的数据其中至少一种数据以及(iii)所述相关联的标记符相关联,以形成一额外数据包;(e)将所述额外数据包提交给所述具有可信度服务器,若所述数据包被验证为如具有可信度服务器所存储的那样与关于所述第一数据和标记符以及所述第二数据的所述所存储信息一致,则使所述所导出的数据包与所述数据包各函数相关联,用于传递给一客户机平台。
11.如权利要求10所述的方法,其特征在于,所述第一数据包括一秘密数据。
12.如权利要求10所述的方法,其特征在于,所述所导出数据包括一加密密钥。
13.如权利要求10所述的方法,其特征在于,所述第一数据包括一秘密数据,而所述所导出数据则包括一加密密钥。
14.一种用于对从与远程服务器相关联的源数据所导出的计算机目标数据提供控制的方法,该目标数据可由利用客户机计算机微处理器平台的多个客户机所使用,其特征在于,包括以下各个步骤(a)识别与一独特标记符相关联的第一数据,所述第一数据和相关联的标记符均为该远程服务器已知;(b)使计算机目标数据与作为一被导出数据的函数所计算出的一数值结合,其中,所述被导出的数据包括表示所述第一数据的数据,所述结合由一具有可信度服务器执行,所述具有可信度服务器配置为存储反映所述第一数据和标记符的信息;(c)就远程服务器来说使(i)包括表示所述第一数据的数据在内的远程服务器的额外数据与(ii)所述相关联的标记符相关联,以形成一额外数据包;(d)将所述额外数据包提交给所述具有可信度服务器,若所述数据包被验证为如具有可信度服务器所存储的那样与关于所述第一数据和标记符的所述所存储信息一致,则使所述所导出的数据包与所述数据包各函数相关联,用于传递给一客户机平台。
15.如权利要求14所述的方法,其特征在于,所述第一数据包括一秘密数据。
16.如权利要求14所述的方法,其特征在于,所述所导出数据包括一加密密钥。
17.如权利要求14所述的方法,其特征在于,所述第一数据包括一秘密数据,而所述所导出数据则包括一加密密钥。
18.一种用于对基于安全关系的事务提供得到提高的信任度的系统,其特征在于,包括a至少一个远程服务器;b一可操作地与所述至少一个远程服务器耦合的数据通信链路;c一配置为接受可操作地与所述数据通信链路耦合的至少一个公开密钥数据的可信度服务器;d一可操作地与所述可信度服务器耦合的客户机计算机微处理器平台,其中,对所述客户机计算机微处理器平台提供可进行下列操作的编程i采用配置为接受至少一个公开密钥数据的所述具有可信度服务器,其中,每个所述公开密钥数据与作为该平台的公开密钥/私人密钥对其中一部分的客户机平台相关联,其中,每个所述公开密钥/私人密钥对均可利用(i)客户机平台或(ii)具有可信度服务器其中至少一个生成;ii使额外核准用数据与所述公开密钥数据相关联,以便将所述公开密钥数据识别为已经由接受所述公开密钥数据的具有可信度服务器核准;iii使远程服务器可获得所述公开密钥数据和所述相关联的额外核准用数据,该远程服务器配置为对用于将所述公开密钥数据核准为可信赖的所述具有可信度服务器的可信赖的额外核准用数据进行识别;iv使远程服务器专用数据与所述经过核准的公开密钥数据相关联,其中,所述相关联的远程服务器专用数据与同所述公开密钥数据相关联的客户机平台私人密钥结合起来使用,其中,通过客户机平台与所述具有可信度服务器的通信,所述具有可信度服务器得知客户机平台私人密钥与所述远程服务器的服务器专用数据结合在一起的至少一次使用,给所述具有可信度服务器提供机会来接受或拒绝所述公开密钥数据与所述远程服务器的关联,来提供或拒绝一保证。
19.一种用于对基于安全关系的事务提供得到提高的信任度的系统,其特征在于,包括a至少一个远程服务器;b一可操作地与所述至少一个远程服务器耦合的数据通信链路;c一可操作地与所述数据通信链路耦合的客户机计算机微处理器平台;d一可操作地与所述数据通信链路耦合的具有可信度服务器,其中,对所述可信度服务器提供可进行下列操作的编程i将远程服务器的数据传送至该具有可信度服务器,所述所传送数据至少包括一个秘密数据,其中,结合数据传送安全规定来实现所述传送;ii将所述所传送数据其中一部分的一函数从所述具有可信度服务器提供给客户机平台,其中,所述一部分至少包括所述至少一个秘密数据其中的一部分,其中,进行传送的具有可信度服务器将所述函数的一数值提供给由至少一个密钥加密的客户机平台,所述具有可信度服务器可将该密钥识别为与被认为是可信赖的客户机平台相关联,该客户机平台可操作地对所述经过加密的函数数值进行解密;以及iii允许远程服务器和客户机平台之间安全地共享所述函数的所述数值。
20.如权利要求19所述的系统,其特征在于,从所述具有可信度服务器提供给客户机计算机微处理器平台的所述函数的所述数值取决于所述具有可信度服务器所知道的该客户机计算机微处理器的属性。
21.一种用于可信地传递计算机目标数据的系统,其特征在于,包括a至少一个远程服务器;b一可操作地与所述至少一个远程服务器耦合的数据通信链路;c一可操作地与所述数据通信链路耦合的客户机计算机微处理器平台;d一可操作地与所述数据通信链路耦合的具有可信度服务器,其中,对所述可信度服务器和所述客户机计算机微处理器平台提供可进行下列操作的编程i对一不同于目标数据的、远程服务器所知道的秘密数据进行识别,所述秘密数据可为一具有可信度服务器所获得,并用一独特标记符识别;ii使得源数据与所述独特标记符相关联提交给所述具有可信度服务器;iii提供从所述所提交的源数据导出的计算机目标数据以用于一客户机计算机微处理器平台,其中,该目标数据与所述具有可信度服务器经过计算得到的一签名相关联,其中,所述签名是所述目标数据的一函数f1。
22.如权利要求21所述的系统,其特征在于,所述签名还包括该目标数据的一函数f2,其中,对给定该目标数据知识的目标数据其所述函数f2的运算需要所述秘密数据的准确知识。
23.如权利要求21所述的系统,其特征在于,所述签名还包括数据的一函数f2,其中,所述具有可信度服务器可获得一函数值,其中,数据的一函数f3被提供给远程服务器,其中,给定所述数据的函数f3知识以及目标数据知识的数据其所述函数f2的运算需要所述秘密数据的准确知识。
24.如权利要求23所述的系统,其特征在于,所述数据至少部分由所述具有可信度服务器随机生成。
25.如权利要求23所述的系统,其特征在于,给定所述数据知识和目标数据知识的所述数据其所述函数f2的运算需要所述秘密数据的准确知识。
26.如权利要求23所述的系统,其特征在于,给定所述数据知识和目标数据知识的所述数据其所述函数f3的运算需要所述秘密数据的准确知识。
27.一种用于对从与远程服务器相关联的源数据导出的计算机目标数据提供控制的系统,其特征在于,包括a多个客户机计算机微处理器平台;b一可操作地与所述客户机计算机微处理器平台耦合的数据通信链路;c一可操作地与所述数据通信链路耦合的具有可信度服务器,其中,对所述具有可信度服务器和所述客户机计算机微处理器平台提供可进行下列操作的编程i识别与一独特标记符相关联的第一数据,所述第一数据和相关联的标记符均为该远程服务器已知;ii使第二数据与所述第一数据和标记符相关联,所述第二数据由配置为存储反映所述第一数据和标记符以及所述第二数据的信息的所述具有可信度服务器所提供;iii使计算机目标数据与作为一被导出数据的函数所计算出的一数值结合,其中,所述被导出的数据包括(A)表示所述第一数据的数据和(B)表示所述第二数据的数据其中至少一种数据,其中,所述结合由所述具有可信度服务器执行;iv就远程服务器来说使(i)远程服务器的额外数据与(ii)(C)表示所述第一数据的数据和(D)表示所述第二数据的数据其中至少一种数据以及(iii)所述相关联的标记符相关联,以形成一额外数据包;v将所述额外数据包提交给所述具有可信度服务器,若所述数据包被验证为如具有可信度服务器所存储的那样与关于所述第一数据和标记符以及所述第二数据的所述所存储信息一致,则使所述所导出的数据包与所述数据包各函数相关联,用于传递给所述客户机计算机微处理器平台。
28.如权利要求27所述的系统,其特征在于,所述第一数据包括一秘密数据。
29.如权利要求27所述的系统,其特征在于,所述所导出数据包括一加密密钥。
30.如权利要求27所述的系统,其特征在于,所述第一数据包括一秘密数据,而所述所导出数据则包括一加密密钥。
31.一种用于对从与远程服务器相关联的源数据所导出的计算机目标数据提供控制的系统,其特征在于,包括a多个客户机计算机微处理器平台;b一可操作地与所述客户机计算机微处理器平台耦合的数据通信链路;c一可操作地与所述数据通信链路耦合的具有可信度服务器,其中,对所述具有可信度服务器和所述客户机计算机微处理器平台提供可进行下列操作的编程i识别与一独特标记符相关联的第一数据,所述第一数据和相关联的标记符均为该远程服务器已知;ii使计算机目标数据与作为一被导出数据的函数所计算出的一数值结合,其中,所述被导出的数据包括表示所述第一数据的数据,所述结合由所述具有可信度服务器执行,所述具有可信度服务器配置为存储反映所述第一数据和标记符的信息;iii就远程服务器来说使(i)包括表示所述第一数据的数据在内的远程服务器的额外数据与(ii)所述相关联的标记符相关联,以形成一额外数据包;iv将所述额外数据包提交给所述具有可信度服务器,若所述数据包被验证为如具有可信度服务器所存储的那样与关于所述第一数据和标记符的所述所存储信息一致,则使所述所导出的数据包与所述数据包各函数相关联,用于传递给所述客户机计算机微处理器平台。
32.如权利要求31所述的系统,其特征在于,所述第一数据包括一秘密数据。
33.如权利要求31所述的系统,其特征在于,所述所导出数据包括一加密密钥。
34.如权利要求31所述的系统,其特征在于,所述第一数据包括一秘密数据,而所述所导出数据则包括一加密密钥。
全文摘要
披露了一种能够使消费者对多个提供商的数据进行计算,但对消费者隐私权或提供商知识产权没有危害的方法和结构体系。该结构体系包括一对双方间可信度关系的确立和解除起到中介作用的可信度服务器。该方法还在需要保护的易受攻击位置即可信度服务器和各消费者处采用可编程的安全协处理器。该结构体系进一步反映消费者一侧设施和其服务器一侧对应部分内协处理器的各种特殊要求。客户机平台内的单个协处理器通过对多个提供商中的每个提供商分配一虚拟化、具有可信度的计算环境用于软件执行和数据处理为这些提供商提供服务。与服务器一侧硬件安全模块(HSMs)所提供的抗篡改性相比,客户机一侧协处理器所提供的抗篡改性要承受更为苛刻的经济压力,因此,该结构体系包括防止未加防范的协处理器造成与其数目不相称的损害的各种遏制能力。
文档编号H04L9/00GK1439136SQ01805298
公开日2003年8月27日 申请日期2001年10月19日 优先权日2000年10月20日
发明者D·W·克拉维兹 申请人:波系统股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1