安全执行环境通信的制作方法

文档序号:11288746阅读:188来源:国知局
安全执行环境通信的制造方法与工艺



背景技术:

由于对处理能力的需求增加,因此分布式计算系统变得更流行。存在各种形式的分布式计算系统,例如,分配用于共同任务的多个计算机的处理能力的部分。分布式计算系统可包括不同物理处理器、不同物理处理器的部分、驻留在多个处理器上的多个操作系统、驻留在单个处理器上的多个操作系统、这些中的任一者的两个或多于两个的组合,或仍其它配置。举例来说,包含处理算法的可或可不包含其自由处理器的不同传感器可用于提供多个不同类型的信息,例如,用于识别的眼睛或视网膜扫描、用于识别的语音辨识、心跳检测、呼吸检测、手势检测、指纹辨识等。

在分布式计算系统的多种情况下,可能需要或甚至必需用于安全地彼此通信的不同执行环境。尽管在先前的集中化系统中,安全通信容易进行管理,但是即使那些系统处于单个装置中,在分布式系统中提供安全通信也更具挑战性。提供安全通信的一个方式是在执行环境之间(即,在一或多个处理器,及/或一或多个操作系统,及/或一或多个虚拟机等,或者想装置中的任一者的组合之间)建立安全信道。使用大量设计工作,及有时密钥供应及安全存储在执行环境之间建立安全信道传统上很繁琐。举例来说,每个执行环境可具有公共密钥且使用此密钥对随后使用私有密钥传递到另一执行环境以进行解密的信息进行加密。举例来说,使用安全套接层(ssl)密码协议,执行环境交换用于建立会话密钥的证书(使用许可证及公共密钥基础设施)。此协议涉及多个密钥至多个实体的复杂密钥供应。或者,共享存储器可建立用于将交换信息的每一对执行环境。这需要使昂贵的存储器资源专用于每个对,禁止可扩展性并且还可使用复杂且成本高的存储器管理。此外,存储器管理器可访问信息及/或可清除对所述信息的保护。



技术实现要素:

在执行环境之间安全地传递信息的方法的实例包含:在密码引擎处从第一执行环境接收原始明文;通过所述密码引擎获得第一密码密钥,所述第一密码密钥保存在存储器中,使得所述第一密码密钥与所述第一执行环境及不是所述第一执行环境的第二执行环境相关联;使用所述第一密码密钥通过所述密码引擎对所述原始明文进行加密以生成加密信息,并且将所述加密信息存储在中间存储位置中;在所述密码引擎处从所述中间存储位置获得所述加密信息;使用所述第一密码密钥通过所述密码引擎对所述加密信息进行解密以生成经重组明文;及使所述经重组明文通过所述密码引擎可用于所述第二执行环境。

此种方法的实施方案可包含以下特征中的一或多者。所述方法进一步包含:通过所述密码引擎从所述第一执行环境接收与所述明文相关联的目的地指示,所述目的地指示指示所述第二执行环境;及通过所述密码引擎从所述第二执行环境接收与所述加密信息相关联的源指示,所述源指示指示所述第一执行环境。所述方法进一步包含:在所述密码引擎处从所述第一执行环境接收所述第一密码密钥;在所述密码引擎处从所述第一执行环境接收第一使用指示,所述第一使用指示指示所述第一密码密钥可用于对来自所述第二执行环境的密文进行解密;及通过所述密码引擎将所述第一密码密钥写入到所述存储器。如果所述密文的源是第一执行环境,那么所述第一使用指示指示所述第一密码密钥可用于对来自所述第二执行环境的密文进行解密。所述写入包括将具有所述第一执行环境的第一指示及所述第二执行环境的第二指示的所述第一密码密钥写入到所述存储器中。所述方法进一步包含在所述密码引擎处从所述第一执行环境接收另一使用指示,所述另一使用指示指示所述第一密码密钥可用于对来自第三执行环境的密文进行解密,其中所述第三执行环境不是所述第一执行环境或所述第二执行环境,并且其中所述写入包括写入具有所述第三执行环境的第三指示的所述第一密码密钥。在所述密码引擎处从所述第一执行环境接收所述第一密码密钥包含通过所述密码引擎信任的链路接收所述第一密码密钥,以仅从所述第一执行环境提供信息。所述方法进一步包含:在所述密码引擎处从所述第二执行环境接收第二密码密钥;在所述密码引擎处从所述第二执行环境接收第二使用指示,所述第二使用指示指示所述第二密码密钥可用于对来自所述第一执行环境的密文进行解密;通过所述密码引擎将所述第二密码密钥写入到所述存储器;及将所述第一及第二密码密钥用于以下各项中的至少一者:通过所述第一及第二执行环境中的另一者鉴别所述第一及第二执行环境中的每一者;或生成共同会话密钥。所述使用包括鉴别所述第一及第二执行环境中的每一者,并且通过所述第一执行环境鉴别所述第二执行环境包括:在所述密码引擎处从所述第一执行环境接收第一明文鉴别码;使用所述第一密码密钥通过所述密码引擎对所述第一明文鉴别码进行加密以生成第一密文鉴别码;在所述密码引擎处从所述第二执行环境接收所述第一密文鉴别码;在所述密码引擎处使用所述第一密码密钥对所述第一密文鉴别码进行解密以生成第一经重组明文鉴别码;在所述密码引擎处使用所述第二密码密钥对所述第一经重组明文鉴别码进行加密以生成第二密文鉴别码;在所述密码引擎处从所述第一执行环境接收所述第二密文鉴别码;在所述密码引擎处使用所述第二密码密钥对所述第二密文鉴别码进行解密以生成第二经重组明文鉴别码;及使所述第二经重组明文鉴别码通过所述密码引擎可用于所述第一执行环境。所述方法进一步包含生成随机数及将所述随机数用作所述第一明文鉴别码。所述方法进一步包含:在所述密码引擎处从所述第一执行环境接收所述第一密码密钥;及在所述密码引擎处从所述第二执行环境接收第二密码密钥;其中通过所述密码引擎对所述原始明文进行加密包含使用所述第一密码密钥及所述第二密码密钥来生成所述加密信息。

密码引擎的实例包含:存储器模块;及处理器模块,其以通信方式耦合到所述存储器模块并且经配置以:从第一执行环境接收原始明文;从所述存储器模块获得第一密码密钥,所述第一密码密钥通过所述存储器模块存储,使得所述第一密码密钥与所述第一执行环境及不是所述第一执行环境的第二执行环境相关联;使用所述第一密码密钥对所述原始明文进行加密以生成加密信息并且将所述加密信息存储在中间存储位置中;从所述中间存储位置获得所述加密信息;使用所述第一密码密钥对所述加密信息进行解密以生成经重组明文;及使所述经重组明文可用于所述第二执行环境。

此密码引擎的实施方案可包含以下特征中的一或多者。所述处理器模块进一步经配置以:从所述第一执行环境接收与所述明文相关联的目的地指示,所述目的地指示指示所述第二执行环境;及从所述第二执行环境接收与所述加密信息相关联的源指示,所述源指示指示所述第一执行环境;其中所述处理器模块经配置以基于接收指示所述第二执行环境的所述目的地指示而使用所述第一密码密钥对所述原始明文进行加密;及其中所述处理器模块被配置成基于接收指示所述第一执行环境的所述源指示而使用所述第一密码密钥对所述加密信息进行解密。所述处理器模块进一步经配置以:在第一端口处从所述第一执行环境接收所述第一密码密钥,所述处理器模块使所述第一端口与所述第一执行环境相关联;从所述第一执行环境接收第一使用指示,所述第一使用指示指示所述第一密码密钥可用于对来自所述第二执行环境的密文进行解密;及基于接收所述第一密码密钥和所述第一使用指示而将所述第一密码密钥存储在所述存储器中,使得所述第一密码密钥与所述第一执行环境和所述第二执行环境相关联。所述处理器模块经配置以将具有所述第一执行环境的第一指示及所述第二执行环境的第二指示的所述第一密码密钥存储在所述存储器中。所述处理器模块进一步经配置以在所述密码引擎处从所述第一执行环境接收另一使用指示,所述另一使用指示指示所述第一密码密钥可用于对来自第三执行环境的密文进行解密,其中所述第三执行环境不是所述第一执行环境或所述第二执行环境,并且其中所述处理器模块进一步经配置以存储具有所述第三执行环境的第三指示的所述第一密码密钥。所述处理器模块进一步经配置以:在第二端口处从所述第二执行环境接收第二密码密钥,所述处理器模块使所述第二端口与所述第二执行环境相关联;从所述第二执行环境接收第二使用指示,所述第二使用指示指示所述第二密码密钥可用于对来自所述第一执行环境的密文进行解密;及将与所述第二使用指示相关联的所述第二密码密钥存储在所述存储器中。所述处理器模块进一步经配置以:从所述第一执行环境接收所述第一密码密钥;从所述第一执行环境接收所述第一密码密钥;使用所述第一密码密钥及所述第二密码密钥对所述原始明文进行加密以生成所述加密信息。

密码引擎的另一实例包含:用于从第一执行环境接收原始明文的装置;用于从存储器获得第一密码密钥的第一获得装置,所述第一密码密钥与所述第一执行环境及不是所述第一执行环境的第二执行环境相关联;用于使用所述第一密码密钥对所述原始明文进行加密以生成加密信息并且用于将所述加密信息存储在中间存储位置中的装置;用于从所述中间存储位置获得所述加密信息的第二获得装置;用于使用所述第一密码密钥对所述加密信息进行解密以生成经重组明文的装置;及用于使所述经重组明文可用于所述第二执行环境的装置。

此密码引擎的实施方案可包含以下特征中的一或多者。所述用于接收的装置进一步用于从所述第一执行环境接收与所述明文相关联的目的地指示,所述目的地指示指示所述第二执行环境,所述第二获得装置进一步用于从所述第二执行环境接收与所述加密信息相关联的源指示,所述源指示指示所述第一执行环境,所述用于加密的装置用于基于接收指示所述第二执行环境的所述目的地指示而使用所述第一密码密钥对所述原始明文进行加密;及所述用于解密的装置用于基于接收指示所述第一执行环境的所述源指示而使用所述第一密码密钥对所述加密信息进行解密。所述用于接收的装置进一步用于在与所述第一执行环境相关联的第一端口处从所述第一执行环境接收所述第一密码密钥,及从所述第一执行环境接收第一使用指示,所述第一使用指示指示所述第一密码密钥可用于对来自所述第二执行环境的密文进行解密;所述密码引擎进一步包括用于基于接收所述第一密码密钥及所述第一使用指示而将所述第一密码密钥存储在所述存储器中,使得所述第一密码密钥与所述第一执行环境及所述第二执行环境相关联的装置。所述用于存储的装置经配置以将具有所述第一执行环境的第一指示及所述第二执行环境的第二指示的所述第一密码密钥存储在所述存储器中。所述用于接收的装置进一步用于在所述密码引擎处从所述第一执行环境接收另一使用指示,所述另一使用指示指示所述第一密码密钥可用于对来自第三执行环境的密文进行解密,其中所述第三执行环境不是所述第一执行环境或所述第二执行环境,并且其中所述用于存储的装置经配置以存储具有所述第三执行环境的第三指示的所述第一密码密钥。所述第二获得装置进一步用于:在与所述第二执行环境相关联的第二端口处从所述第二执行环境接收第二密码密钥;及从所述第二执行环境接收第二使用指示,所述第二使用指示指示所述第二密码密钥可用于对来自所述第一执行环境的密文进行解密,其中所述用于存储的装置进一步用于将与所述第二使用指示相关联的所述第二密码密钥存储在所述存储器中。

非暂时性处理器可读存储媒体的实例包含处理器可读指令,其经配置以使处理器:从第一执行环境接收原始明文;从存储器获得第一密码密钥,所述第一密码密钥与所述第一执行环境及不是所述第一执行环境的第二执行环境相关联;使用所述第一密码密钥对所述原始明文进行加密以生成加密信息并且将所述加密信息存储在中间存储位置中;从所述中间存储位置获得所述加密信息;使用所述第一密码密钥对所述加密信息进行解密以生成经重组明文;及使所述经重组明文可用于所述第二执行环境。

此储存媒体的实施方案可包含以下特征中的一或多者。所述存储媒体进一步包含经配置以使所述处理器执行以下操作的指令:从所述第一执行环境接收与所述明文相关联的目的地指示,所述目的地指示指示所述第二执行环境;及从所述第二执行环境接收与所述加密信息相关联的源指示,所述源指示指示所述第一执行环境;其中经配置以使所述处理器加密的所述指令经配置以使所述处理器基于接收指示所述第二执行环境的所述目的地指示而使用所述第一密码密钥对所述原始明文进行加密;及其中经配置以使所述处理器解密的所述指令经配置以使所述处理器基于接收指示所述第一执行环境的所述源指示而使用所述第一密码密钥对所述加密信息进行解密。所述存储媒体进一步包含用于使所述处理器执行以下操作的指令:从所述第一执行环境接收所述第一密码密钥;从所述执行环境接收第一使用指示,所述第一使用指示指示所述第一密码密钥可用于对来自所述第二执行环境的密文进行解密;及基于接收所述第一密码密钥及所述第一使用指示而将所述第一密码密钥存储在所述存储器中,使得所述第一密码密钥与所述第一执行环境及所述第二执行环境相关联。经配置以使所述处理器存储的所述指令经配置以使所述处理器将具有所述第一执行环境的第一指示及所述第二执行环境的第二指示的所述第一密码密钥存储在所述存储器中。所述存储媒体进一步包含经配置以使所述处理器在所述密码引擎处从所述第一执行环境接收另一使用指示的指令,所述另一使用指示指示第一密码密钥可用于对来自第三执行环境的密文进行解密,其中所述第三执行环境不是所述第一执行环境或所述第二执行环境,并且其中经配置以使所述处理器存储的所述指令经配置以使所述处理器存储具有所述第三执行环境的第三指示的所述第一密码密钥。所述存储媒体进一步包含经配置以使所述处理器执行以下操作的指令:从所述第二执行环境接收第二密码密钥;从所述第二执行环境接收第二使用指示,所述第二使用指示指示所述第二密码密钥可用于对来自所述第一执行环境的密文进行解密;及将所述第二密码密钥存储在所述存储器中,所述第二密码密钥具有所述第二密码密钥可用于对来自所述第二执行环境的明文进行加密及所述第二密码密钥可用于对来自所述第一执行环境的密文进行解密的指示。

本文中所描述的项目及/或技术可提供以下能力中的一或多者及/或未提及的其它能力。可以在不在隧道的末端之间交换证书的情况下提供安全隧道。例如,在不使用证书管理器或不交换证书的情况下,使用安全隧道的实体可彼此鉴别。可建立用于安全通信的专用隧道。可使用单个密码密钥在单个信息源与多个目的地之间建立用于安全信息交换的隧道。可提供其它能力,且不是根据本发明的每个实施方案都必须提供所论述的能力中的任一者,更不用说全部。

附图说明

图1是分布式计算系统的框图。

图2是用于实施图1中所展示的系统的片上系统的框图。

图3是图1中所展示的密码引擎的框图。

图4是图3中所展示的密钥存储装置中的密钥表的一部分。

图5是图1中所展示的系统的实例实施方案的框图。

图6是在图5中所展示的执行环境之间安全地传递信息的过程的方块流程图。

具体实施方式

论述用于提供安全通信的技术。举例来说,可在不使用共享存储器(具有可由多个执行环境访问的位置的存储器)的情况下及在不在执行环境之间交换证书的情况下提供分布式计算系统的执行环境之间的安全通信。密码引擎可安全地识别密码引擎的用户,例如,希望信息加密或解密的执行环境,其中例如通过由不可通过执行环境改变的硬件传送的硬件标识或机器标识安全地识别用户。发送执行环境可将密码密钥提供到密码引擎,使得例如通过在受信任的通信链路上发送的密码密钥识别发送执行环境,并且密码引擎可存储与发送执行环境相关联的密码密钥。发送执行环境可指示可使用密码密钥对来自发送执行环境的消息进行解密的接收执行环境。与发送执行环境及接收执行环境相关联,例如,与这些执行环境的标识符相关联的密码密钥可通过密码引擎存储。发送执行环境可向密码引擎提供明文消息,所述明文消息具有接收执行环境是既定接收方的指示(此指示可例如是对于特定密钥,既定接收方是许可用户的指示)。密码引擎可使用密码密钥对明文消息进行加密,所述密码密钥由发送执行环境提供并且指定用于供接收执行环境访问及/或使用。加密的明文消息随后是加密消息,即,密文消息,并且可通过类似于高级操作系统的不受信任代理提供到接收执行环境,所述不受信任代理可移动消息,但无法将消息解译为代理无法使用密码密钥。密文表示明文,并且由此可表示文本及/或例如图片、视频等的非文本信息。接收执行环境可将所接收的密文消息提供到密码引擎,所述密文消息具有密文消息的源的指示(此指示可例如是对于特定密钥,源是所有者的指示)。密码引擎可使用密码密钥对密文消息进行解密以生成经重组明文消息,所述密码密钥由发送执行环境提供并且指定用于供接收执行环境访问或使用。密码引擎可将经重组明文消息提供到接收执行环境。可使用其它技术,包含但不限于,下文所论述的技术。

参考图1,分布式计算系统10包含加密/解密引擎,即,密码引擎12及若干执行环境(ee)30,所述执行环境包含调制解调器14、音频ee16、视频ee18、传感器/检测器ee20、企业ee22、信任区域ee24、高级操作系统(hlos)ee26,及一或多个其它执行环境28。其它ee28可包含类似于所展示的ee的一或多个ee,例如,可包含另一传感器/检测器ee、另一视频ee等。传感器/检测器ee20可为各种传感器中的任一者,例如,相机、卫星定位系统(sps)接收器(例如,全球定位系统(gps)接收器)、麦克风或生物计量传感器等。生物计量传感器可为各种传感器中的任一者,例如,指纹传感器、心电图(ecg)传感器、脑电图(eeg)传感器等。为简单起见,从图式中的方框中省略“ee”。此外,执行环境可被称为模块。执行环境30中的每一者可由硬件、固件、一或多个处理器或这些中的任一者的组合实施。多个处理器可用于实施执行环境,其中每个执行环境由一或多个处理器实施,或其中执行环境30的一或多个组(即,每组两个或多于两个执行环境)各自由单个处理器实施。在单个处理器实施执行环境30中的多个执行环境(可能所有执行环境30)的情况下,执行环境30是由处理器实施的不同操作系统。执行环境30可被称为操作系统或虚拟机。执行环境30是处理相应信息并且可通过保密方式在执行环境之间共享信息的模块。所展示的执行环境30是执行环境的实例,并且可提供其它执行环境,及/或可从系统10中省略执行环境14、16、18、20、22、24、26、28中的一或多个。系统10可用于各种目的地并且本文所描述的技术适用于系统10的各种应用中的任一者,以便安全地在执行环境之间传递信息。

还参考图2,用于实施图1中所展示的系统10的片上系统(soc)50包含处理器52、存储器54、传感器56及密码引擎12。处理器52可包含多于一个处理器并且传感器56可包含多于一个传感器。传感器56是任选的并且例如在不存在待感测(例如,待测量)的音频、视频、生物识别或其它信息的情况下可省略。此外,传感器56(例如,或在传感器56包含多于一个传感器的情况下一或多个传感器)可安置于soc50外(即,外部)。处理器52优选地是智能硬件装置,例如,中央处理单元(cpu)(例如,由公司或制造或设计的那些cpu)、微控制器、专用集成电路(asic)等。处理器52可包括可分布在soc50中的多个单独的物理实体。存储器54包含随机存取存储器(ram)及只读存储器(rom)。存储器54是非暂时性处理器可读存储媒体,其存储软件58,所述软件是包含指令的处理器可读、处理器可执行的软件代码,所述指令经配置以在执行时使处理器52执行本文中描述的各种功能(但所述描述可仅指代执行所述功能的处理器52)。或者,软件58可不可由处理器52直接执行,但是经配置以(例如)在被编译及执行时使处理器52执行所述功能。处理器52以通信方式耦合到存储器54。密码引擎12是经配置以存储密码密钥、将明文加密成密文、存储密文、将密文解密成经重组明文及存储经重组明文的硬件块,全部如下文更全面论述。

结合存储器54的处理器52及传感器56适当地经配置以实施执行环境30。执行环境30中的任一者可具有其自身的处理器。存储器54可为包含用于执行环境30中的每一者的一或多个存储器的存储器集合。此外,尽管在图2中展示为soc50的一部分,但是存储器54可部分地或完全地安置于soc50外部,例如,在叠层封装(pop)配置中安置于soc50的顶部上。

存储器54可包含执行环境30中的多个执行环境使用的联合存储器。此联合存储器可以不是共享存储器,即,不同执行环境30可不能够访问同一存储器位置,使得多个执行环境30将不能够写入到单个存储器位置,并且一个执行环境30将不能够写入到存储器位置,其中执行环境30中的另一者能够读取所述存储器位置。因此,执行环境30接收信息或提供信息的指示可等效于所述信息通过执行环境30从联合存储器读取或通过执行环境30提供到联合存储器,并且可通过所述信息通过执行环境30从联合存储器读取或通过执行环境30提供到联合存储器来实施。联合存储器可包含用于控制对其存储器位置的访问,例如,用于将信息存储到存储器位置及/或从存储器位置读取信息的存储器管理单元。

执行环境30是处理各种信息,例如以提供音频、视频、生物识别及/或其它信息的操作系统或虚拟机。执行环境30中的每一者可以通信方式耦合到密码引擎12,以将信息提供到密码引擎12,其方式使得密码引擎12可安全地识别信息源。举例来说,密码引擎12可基于安全地且不变地识别提供信息的执行环境30的硬件信号或标识符,或通过识别信息从执行环境30中的相应一者来到密码引擎12所通过的专用链路或端口而容易地识别信息的所有者或源。执行环境30可将包含密码密钥的信息提供到密码引擎12或从密码引擎12接收信息,或可提供命令以使密码引擎12对由执行环境30指示的信息进行加密或解密。优选地,执行环境无法从密码引擎12接收密码密钥。

参考图3,通过进一步参考图1至2,密码引擎12包括计算机系统,所述计算机系统包含处理器62、包含软件(sw)66(任选地)及密钥存储装置(ks)68的内部存储器64。内部存储器64不可通过执行环境30访问。处理器62优选地是经配置以将明文加密成密文且将密文解密成明文的智能硬件逻辑装置。处理器62可替代地包括存储于处理器可读存储器中的处理器及软件,以便实施加密及/或解密功能。因此,举例来说,处理器62可包括中央处理单元(cpu)(例如,由公司或制造或设计的那些cpu)、微控制器、专用集成电路(asic)等。处理器62可包括可分布在密码引擎12中的多个单独的物理实体。存储器64可包含随机存取存储器(ram)及只读存储器(rom)。如果包含软件66,那么存储软件66的存储器64是非暂时性处理器可读存储媒体,并且软件66是包含指令的处理器可读、处理器可执行的软件代码,所述指令经配置以在执行时使处理器62执行本文中所描述的不同功能(但所述描述可仅指代执行所述功能的处理器62)。或者,软件66可不可由处理器62直接执行,但是经配置以(例如)在被编译及执行时使处理器62执行所述功能。处理器62以通信方式耦合到存储器64,例如,以访问存储于密钥存储装置68中的密码密钥。单独地或结合存储器64的处理器62提供用于执行如本文所描述的功能的装置,例如,从执行环境30接收明文(未加密信息)或密文(加密信息),验证是否允许请求执行环境30使用所请求密码密钥(例如,以使处理器62代表请求执行环境使用密钥),对明文进行加密,对密文进行解密,及将密文或明文提供到执行环境30。处理器62经配置以使进入信息与如下文所论述的信息源相关联,并且可包含用于执行此操作的收发器处理单元。

处理器62包含用于与存储器54通信以使用直接存储器访问从存储器54中的位置检索信息(例如,密文或明文)及将信息(例如,密文或明文)存储到所述位置的存储器接口。处理器62进一步包含用于与执行环境30通信以从执行环境30接收命令的命令接口,所述命令(例如)包含待加密的明文及待用于对明文进行加密的密钥的指示,或待解密的密文及待用于对密文进行解密以生成经重组明文的密钥的指示。明文或密文的指示可为其中存储明文或密文的存储器54中的位置的指示。命令可进一步包含加密密文或经重组明文的一或多个目的地的一或多个指示。目的地的指示可为执行环境30的指示及/或与对应执行环境30相关联的存储器54中的位置的指示。

存储器64包含用于从执行环境30接收命令的命令接口,所述命令例如,包含密码密钥的指示、请求执行环境30的指示,及/或密码密钥的一或多个授权用户的一或多个指示(其中此指示可能是请求执行环境30的指示)的命令。此命令可用于写入密码密钥或请求使用密码密钥以对明文进行加密或对密文进行解密。处理器62经配置以将密码密钥存储到存储器64及访问来自存储器64的密码密钥,如下文所论述。

密钥存储装置68是密码引擎12的内部存储器64的一部分,所述内部存储器存储由执行环境30提供的密码密钥以用于对来自加密环境30的消息进行加密及解密。密钥存储装置68中的与执行环境30相关联的密码密钥由处理器62存储,所述处理器写入或提供密码密钥及执行环境30中的至少另一者。也就是说,密钥存储装置68中的每个密码密钥与发送执行环境及接收执行环境两者相关联。发送执行环境控制/请求消息的加密及发送,并且接收执行环境接收及控制/请求消息的解密。密钥存储装置68存储密钥,使得处理器62可确定合适密钥以用于基于写入密钥的执行环境及/或期望使用密钥的执行环境而对信息进行加密或解密。密钥存储装置68存储密码密钥,使得在处理器62配备有密钥源或密钥的批准用户之后,处理器62可定位合适的密码密钥。也就是说,如果处理器62知晓请求使用密钥的执行环境30并且密钥的创造者不同于请求执行环境30,那么处理器62可将合适密钥定位在密钥存储装置68中。处理器62知晓,即,配备有关于密钥源(密钥的创造者,即,写入密钥的执行环境30)及密钥的准用户的信息。单个密码密钥可与多于一个授权密钥用户,即,多于一个接收执行环境相关联。因此,处理器62可使用关于不仅密钥的用户及密钥的创造者,而且密钥的任何其它潜在用户的信息,以便将合适密钥定位在密钥存储装置68中。举例来说,还参考图1,处理器62可准许由音频ee16写入的密钥用于将消息从音频ee16传送到视频ee18及信任区域ee24以由信任区域ee24用于对从音频ee16发送到视频ee18及信任区域ee24两者的消息,而不是仅从音频ee16到信任区域ee24的消息进行解密。举例来说,索引可指示特定密钥的授权用户并且仅当用于特定密钥的执行环境30的所允许列表包含请求执行环境30时,处理器62可授权特定密钥用于请求(调用)执行环境30。

密钥存储装置68可采用多种形式。举例来说,密钥可存储在密钥存储装置68中,其中其存储位置至少指示密钥的创造者。举例来说,存储于特定区域,例如,表的特定列(行)中的所有密钥可为已通过单个特定执行环境授权的密钥。作为另一实例,密钥可存储于表中,使得密钥的行及列指示密钥的创造者及授权用户。在这种情况下,举例来说,存储于表的第二行及第四列中的密钥可指示由分配到第二行的执行环境写入且可用于供分配到第四列的执行环境使用的密钥。在此情况下,单个密钥可多次存储在表中,例如,如果密钥可用于供多个执行环境使用。作为又一实例,可存储与指示源的密钥及经授权以使用密钥进行解密的一或多个执行环境相关联的指示。下文相对于图4更全面地论述此实例。此外,密钥存储在特定区域中或表中的陈述不需要密钥物理地分组及存储在一起或以物理组织格式分组及存储。所存储密钥的组织可通过信息,其中密钥及相关联信息潜在地存储在物理上单独的位置处。因此,区域的分组是比喻性的且未必在物理上字面性的。因此,举例来说,存储在表中的信息可具有将不同信息链接在一起以形成单一条目的信息,但形成单一条目的信息可安置于存储器内的物理上单独的位置处。

还参考图4,密钥存储装置68是密钥表70。密钥表70包含多个密码密钥条目72,其中密码密钥条目72中的每一者包含加密/解密密钥74、密钥所有者标识符76及一或多个授权密钥用户标识符78。密钥所有者标识符76对应于密钥74的密钥所有者,并且授权密钥用户标识符78对应于密钥74的授权用户。密钥所有者还可被称为发送执行环境或源执行环境,而授权用户密钥还可被称为接收执行环境或目的地执行环境。条目72中的每一者包含实际密码密钥74以及密钥所有者的指示,即,密钥所有者标识符76,以及经授权以使用对应密钥74(例如)对来自密钥所有者的消息进行解密的一或多个授权密钥用户的一或多个指示,即,授权密钥用户标识符78。

在所展示的实例中,表70用于具有六个执行环境的系统,所述执行环境具有ee1至ee6的简写标记并且具有标记为密钥1、密钥2、密钥3、密钥4、密钥5的五个所存储密码密钥74。在此实例中并且如可在其它情况下使用,与执行环境30相比存在更少密钥74。例如,如果执行环境30不会将信息安全地发送到另一执行环境30,那么可存在未将任何密钥74写入到表70中的一或多个执行环境30。或者,与系统中的执行环境30相比,表70可包含更多密码密钥74,例如,在执行环境30中的一或多者存储多于一个密码密钥74的情况下。这可为一个执行环境30希望具有不同安全通信的情况,所述不同安全通信例如,本身与其它执行环境30中的一者之间的第一安全通信,及本身与执行环境30中的另一者之间及/或本身与可或可不包含第一安全通信的执行环境30的执行环境30中的一或多者之间的第二安全通信。

密钥条目72各自包含密钥74及对应密钥74的密钥所有者及授权密钥用户的指示。密钥所有者可自动地为授权密钥用户(表70是同样的情况)并且由此可或可不在密钥用户标识符78中列出,或可不自动地为授权密钥用户并且由此在密钥所有者是授权用户的情况下在密钥用户标识符78中列出。在图4中所展示的实例中,密码密钥条目80包含密码密钥74,即密钥1,其密钥所有者是具有ee3的指定授权密钥用户的执行环境ee1。类似地,密码密钥条目82包含密码密钥74,即密钥2,其密钥所有者是具有ee2、ee3及ee6的指定授权密钥用户的执行环境ee1。密钥条目84仅具有密钥所有者ee6作为授权密钥用户。本文中的描述可指仅具有隐式的,即,包含在术语“密钥”内的密钥所有者标识符及密钥用户标识符的密钥。此外,对密钥74中的一或多者的参考并不要求密钥存储在表70或类似布置中,或密钥采用特定形式。

参考图5,通过进一步参考图1至4,密码引擎12及执行环境30经配置以与彼此通信并且安全地将信息传递到彼此。密码引擎12的处理器62及存储器64经配置以实施存储器模块110及处理器(或引擎)模块112,包含用于执行本文所论述的功能的不同装置。存储器模块110及引擎模块112适当地经配置以与彼此通信,接收及存储密码密钥,使用密码密钥来对数据进行加密及解密,及将加密或解密数据提供到执行环境30。模块110、112是由处理器62及存储器64(及软件66,如果使用的话)实施的功能模块。因此,对执行或经配置以执行功能的模块110、112中的任一者的参考是执行或经配置以(适当地根据软件66及/或固件)执行功能的处理器62的简写。类似地,对执行功能的处理器62的参考等效于执行功能的模块110及/或模块112。为了减小复杂性,不是图1中所展示的所有执行环境在图5中展示。图5中用虚线展示用于下文相对于图6进一步论述的实例的一些通信。

存储器模块110通过密钥总线118耦合到执行环境30,所述密钥总线可包含私有密钥总线及/或标准数据总线。密钥总线118用于将密码密钥传送到密码引擎12,其中在此情况下的密钥适当地包含密钥所有者标识符及/或授权密钥用户标识符。因此,存储器模块110经配置以通过密钥总线118从执行环境30获得,例如接收密码密钥,由此包含用于获得(例如,接收)的装置。密钥总线118的私有密钥总线经配置,使得存储器模块110知晓哪个执行环境30拥有通过私有密钥总线的特定连接接收的密钥。存在通过私有密钥总线的在执行环境30与存储器模块110之间的多个连接,其中特定受信任连接被分配到执行环境30中的每一者,使得密钥模块使通过私有密钥总线的特定连接接收的密钥与执行环境30中的相关联或对应一者相关联。对于通过标准数据总线接收的密钥,存储器模块110可通过包含密钥的命令中的所有者的指示或通过添加到消息的识别信息,例如,提供机器标识符的一或多个位来确定密钥所有者。存储器模块110进一步经配置以将密码密钥存储在密钥存储装置68,例如,密钥表70中,由此包含用于存储的装置。存储器模块110包含用于管理密钥的装置,包含管理密钥的存储及对密钥的访问或密钥的供应。仅当请求执行环境30被授权使用特定密钥时,存储器模块110可确定用于特定密钥的命令是否源自被授权使用特定密钥的请求执行环境30并且代表请求执行环境30授权使用特定密钥。举例来说,存储器模块110可验证授权密钥用户识别符78是否包含请求执行环境30。存储器模块110包含用于通过处理器模块112提供对密钥的访问的装置。用于提供对密钥的访问的装置可为用于将密钥发送或传输到处理器模块112的装置,及/或可为用于允许处理器模块112访问密钥存储装置68中的密钥条目72的装置。

处理器模块112适当地经配置以从存储器模块110获得密钥,从执行环境30获得解密命令,及使用来自存储器模块110的密钥中的一或多者对数据进行加密及解密。处理器模块112实施加密模块114及解密模块116。加密模块114及解密模块116经配置以将信息从执行环境30中的一者安全地传递到其它执行环境30中的一或多者。处理器模块112及具体而言加密模块114经配置以接收或另外获得包含待加密的信息(例如,存储器位置)的指示的加密命令。处理器模块112及具体而言解密模块116经配置以接收或另外获得包含待解密的信息(例如,存储器位置)的指示的解密命令。加密模块114及/或解密模块116可包含专用处理器。

加密模块114经配置以从执行环境30中的一者(优选地任一者)获得未加密信息,对此信息进行加密,及通过将加密信息存储在中间存储位置中而将加密信息提供到其它执行环境30中的一或多者。加密模块114经配置以通过数据总线120获得,例如,接收或访问用于对明文进行加密的命令、信息的目的地或接收者执行环境,及待加密的明文的位置。明文可表示文本及/或例如,图片、视频等的非文本信息。用于对明文进行加密的命令可为用于在一个执行环境,即源执行环境与一或多个其它执行环境,即目的地或接收者执行环境之间传递信息的命令。加密模块114经配置以通过从存储器模块110获得,例如,接收或访问密码密钥(由此包含用于从存储器模块110获得,例如,接收或访问密码密钥的装置)而对接收用于对明文进行加密的命令作出响应。通过加密模块114获得的密码密钥将对应于存储在密钥存储装置68中的密码密钥,所述密码密钥对应于作为密钥创造者的源(请求)执行环境及作为授权密钥用户的来自加密命令的所指示目的地或接收者执行环境。也就是说,所获得密钥将是对应于发送命令的执行环境及指示为将从发送命令的执行环境传递的信息的目的地或接收者的执行环境的密钥。加密模块114进一步经配置以从执行环境30获得,例如,接收或访问待加密信息(称为明文),由此包含用于获得,例如,接收或访问此信息的装置。举例来说,加密引擎114可从与执行环境30中的一者相关联的存储器位置读取明文。加密模块114进一步经配置以使用密码密钥,例如,使用众所周知的加密技术,例如,应用散列函数对明文进行加密。加密模块114进一步经配置以将称为密文的加密信息提供(例如,发送,提供访问、使可访问、使可用)到执行环境30。因此,加密模块114包含用于将加密信息提供(例如,存储、发送、提供访问、使可访问、使可用)到执行环境30的装置。举例来说,加密引擎114可将密文存储在(写入到)中间存储位置中,所述中间存储位置是与执行环境30中的一者相关联,例如,与可用作源执行环境与目的地执行环境之间的中间物的目的地执行环境或另一执行环境相关联的存储器位置。加密引擎114会将密文写入到的位置将对应于目的地执行环境或中间执行环境。

解密模块116经配置以从执行环境30中的一者(优选地任一者)获得密文,对密文进行解密以生成经重组明文,及将经重组明文提供到请求解密的执行环境30。解密模块116经配置以从执行环境30接收、访问或另外获得解密命令。因此,解密模块116包含用于从执行环境30获得,例如,接收或访问解密命令的装置。举例来说,解密模块116经配置以通过数据总线120接收用于对密文进行解密的命令、所述信息的源执行环境及待解密的密文的位置。用于对密文进行解密的命令可为用于从源执行环境接收信息的命令(并且由此可包含源执行环境的指示)。命令可指示待使用的特定密钥,及/或解密模块116可基于命令的发送方及所指示的源执行环境而确定密钥。命令还可指示信息的其它目的地执行环境,并且解密模块116经配置以基于源执行环境及目的地执行环境的集合而确定将使用的合适密钥。解密命令还可包含待解密的密文的存储器中的位置的指示。此外,解密模块116经配置以从执行环境30接收、访问或另外获得由解密命令指示的密文。因此,解密模块116包含用于获得,例如,接收或访问密文的装置。解密模块116可从与请求解密的执行环境30相关联并且在解密命令中识别的存储器位置读取密文。解密模块116经配置以对密文进行解密以生成经重组明文,及将经重组明文提供(例如,提供访问、使可访问、使可用、发送)到请求解密的执行环境30。因此,加密模块116包含用于将经重组明文提供(例如,提供访问、使可访问、使可用、发送)到执行环境30中的一或多者的装置。举例来说,解密模块116可将经重组明文写入到与请求解密的执行环境30相关联(例如,所拥有、所控制、可访问)的存储器位置。

参考图6,通过进一步参考图1至5,在执行环境之间安全地传递信息的过程150包含所展示阶段。然而,过程150仅为实例并且没有限制性。可例如通过添加、移除、重新布置、组合、同时执行多个阶段及/或将单一阶段分成多个阶段而更改过程150。为了有助于说明过程150,下文论述通过hlos执行环境26将信息从视频执行环境18安全地传递到信任区域执行环境24的具体实例。此实例包含图6中未展示的操作,其中不需要此类操作作为过程150的一部分。在此实例中,视频执行环境18将使用密码密钥对待发送到信任区域执行环境24的明文进行加密,并且信任区域执行环境24将使用同一密码密钥将密文解密回明文。执行环境18、24间接地使用密码密钥,其中密码密钥代表执行环境18、24由加密模块114及解密模块116直接使用。执行环境18、24间接地使用密码密钥,在这个意义上讲,执行环境18、24引导模块114、116使用密码密钥对明文进行加密及对密文进行解密。此外,此处论述的实例仅为实例并且不限制系统10。信息可在执行环境30中的任一者之间发送,例如,从信任区域执行环境24发送到视频执行环境18或从执行环境30中的任一者发送到其它执行环境30中的一或多者。

作为从视频执行环境18到信任区域执行环境24的安全传递的实例的一部分,尽管在过程150中的任选阶段且在图6中未展示,但是视频执行环境18可将密码密钥发送到存储器模块110,以用于将安全通信从视频执行环境18提供到信任区域执行环境24。密码密钥从视频执行环境18到存储器模块110的传递在图5中展示为通信130。通信130可通过密钥总线118传送到存储器模块110。通信130例如通过包含安全标识符或通过在存储器模块110信任的链路(例如,密钥总线118的私有密钥总线)上传送以仅从预定执行环境,在此实例中视频执行环境18提供信息而识别提供密码密钥的执行环境30。通信130可包含目的地执行环境30,此处信任区域执行环境24的使用指示。如果密文源是提供通信130的执行环境30,那么使用指示指示相关联密码密钥可用于对来自所指示目的地执行环境的密文进行解密。可通过接收通信130所通过的链路,或通过包含对应于所传送密码密钥的源执行环境30的指示的使用指示,或通过另一装置确定通信130源。密码密钥源可在通信130的内容或通信130的传送装置中指示或可从通信130的内容或通信130的传送装置导出,并且一或多个授权目的地执行环境可在使用指示中指示。在存在可使用密码密钥的多个目的地执行环境30的情况下,多个目的地执行环境30的指示可被视为不同使用指示,即使不同执行环境30的指示在单个通信130中传送。响应于密码密钥通过视频执行环境18发送,密码引擎12,具体而言存储器模块110通过将密码密钥写入到存储器模块110的存储器来接收及存储密码密钥。存储器模块110存储与密钥的源,此处视频执行环境18及使用密钥的通信的目的地,此处信任区域执行环境24相关联的密码密钥。举例来说,存储器模块110可将密钥存储在密钥表70中,其中密码密钥74形成密码密钥条目72的一部分并且与源加密环境,此处视频执行环境18及目的地加密环境,此处信任区域执行环境24的指示一起存储。通信130可在下文所论述的通信132之前发生,与下文所论述的通信132同时发生,或在下文所论述的通信132之后发生。

图6中未展示的实例的另一部分是具有用于对明文进行加密的命令的从视频执行环境18到处理器模块112及具体而言加密模块114的通信132。通信132可通过密码引擎12及具体而言加密模块114信任的仅从特定执行环境,在此实例中视频执行环境18传送命令的数据总线120,具体而言通过数据总线120的链路传送。通信132可包含目的地执行环境,此处信任区域执行环境24的指示。

在阶段152处,过程150包含在密码引擎处从第一执行环境接收原始明文。密码引擎12接收原始明文以从源执行环境传输到目的地执行环境。对于如图5中所展示的视频执行环境18至信任区域执行环境24之间的安全传递的实例,加密模块114通过通信134从视频执行环境18接收原始明文(o-pt)。加密模块114可通过访问视频执行环境18中,例如,视频执行环境18可将信息写入到的存储器54的一部分中的存储器位置来接收原始明文。具体而言,加密模块114将访问与作为目的地执行环境的信任区域执行环境24相对应的视频执行环境18中的存储器位置,例如,如在使用通信132的情况下在通信132中所指示。加密模块114从此存储器位置读取原始明文。

在阶段154处,过程150包含通过密码引擎获得第一密码密钥,所述第一密码密钥保存在存储器中,使得第一密码密钥与第一执行环境及不是第一执行环境的第二执行环境相关联。存储器模块110将密码密钥提供到处理器模块112,并且处理器模块112从存储器模块110获得,例如,接收或访问密码密钥。密码密钥的获得可包括加密模块114从密钥存储装置68,即,存储器模块110的部分读取密码密钥。继续说明性实例,加密引擎114在通信136中从存储器模块110获得密码密钥ckv-tz。密码密钥ckv-tz是通过视频(v)执行环境18提供以用于加密及解密从视频执行环境18至信任区域(tz)执行环境24的通信的密码密钥(ek)。

在阶段156处,过程150包含使用密码引擎用第一密码密钥对原始明文进行加密以生成加密信息(密文),及将加密信息存储在中间存储位置中。加密模块114根据各种加密技术中的任一者使用密码密钥来将明文转换成密文(即,对明文进行加密),及将密文存储在中间存储位置中。中间存储位置是存储器中存储密文且中间的位置,在这个意义上讲,中间存储位置在进行解密之前存储密文(由此在加密之后及在解密之前存储信息)。中间存储位置未必是指定位置或指定用于存储密文的若干位置中的一者,并且可不仅用于中间存储,即,密文可提供到不对密文进行解密的实体或可由所述实体访问。继续说明性实例,加密模块114将明文加密成密文及在通信138中将密文(ct)提供到hlos执行环境26,但此通信是任选的并且可使用用于提供此信息的其它机构。举例来说,加密模块114将密文(例如)以及密文是来自预期用于信任区域执行环境24的视频执行环境18的消息的指示写入到hlos执行环境26的存储器位置。或者,可将密文写入到与预期目的地执行环境相关联的存储器的一部分。

图6中未展示的说明性实例的又另一部分是中间执行环境30(如果使用的话)可将密文提供到目的地执行环境30。在此实例中,hlos执行环境26在通信140中将密文提供到信任区域执行环境24。举例来说,hlos执行环境26可将密文从通过加密模块114写入的存储器位置传递到信任区域执行环境24的存储器位置中。或者,信任区域执行环境24将存储在hlos执行环境26中的密文读取到信任区域执行环境24的存储器位置中。

或者,中间执行环境30可不将密文提供到目的地执行环境30。举例来说,密文可通过处理器模块112从中间执行环境30读取以进行解密。

图6中未展示的说明性实例的又另一部分是目的地执行环境30请求对密文进行解密。如图5中所展示,在此实例中为目的地执行环境的信任区域执行环境24将通信142发送到处理器模块112,具体而言解密模块116。通信142请求对密文进行解密,并且可包含源执行环境及可找到待解密的密文(在此实例中,信任区域执行环境24或hlos执行环境26)的(例如,请求执行环境30或中间执行环境30的)存储器中的位置的指示。通信142可包含请求执行环境30,此处信任区域执行环境24的指示,然而,如果处理器模块112通过处理器模块112信任的仅包含来自预定执行环境,此处信任区域执行环境24的信息的数据总线120的链路接收通信142,那么可省略此指示。也就是说,解密模块116基于提供通信142的数据总线120的链路(即,接收通信142所通过的链路)而知晓出现通信142的执行环境30。此外,通信142包含指示引起密文请求进行解密的明文的源及由此密文的(间接)源的源指示。

在阶段158处,过程150包含在密码引擎12处获得加密信息。加密信息可在将加密信息传递到第二执行环境30的情况下从第二执行环境30获得,例如,接收或访问(例如,通过实例中的图5中所展示的通信144),或可从中间执行环境30接收(例如,通过实例中的图5中所展示的通信145)。处理器模块112及具体而言解密模块116获得密文以进行解密及提供到目的地执行环境30。继续说明性实例,解密模块116通过通信144从信任区域执行环境24获得从hlos执行环境26读取的密文,或在密文不从hlos执行环境26读取的情况下通过通信145从hlos执行环境26获得密文。如果使用通信142,那么解密模块116可通过读取包含密文的存储器位置(如通过通信142所指示)来获得此信息。

在阶段160处,过程150包含使用第一密码密钥对来自密码引擎的加密信息进行解密以生成经重组明文。处理器模块112,具体而言解密模块116在通信146中获得密码密钥(此处第一密码密钥),用于对通过源执行环境30提供及授权传送到目的地执行环境30的密文进行解密。解密模块116访问存储器模块110以获得合适的密码密钥。继续实例及在已使用通信142的情况下,解密模块116访问存储器模块110及从存储器模块110读取由通信142指示的密码密钥,即,访问及读取(或请求及被提供)与由通信142指示的源执行环境30及目的地执行环境30相关联的所存储密码密钥,所述目的地执行环境与例如由通信142指示的通信142相关联及/或与接收通信142所通过的链路相关联。在已获得合适的密码密钥之后,解密模块116使用密码密钥对加密信息(即,密文)进行解密。

在阶段162处,过程150包含使经重组明文通过密码引擎可用于第二执行环境。密码引擎12的处理器模块112及具体而言解密模块116例如通过将经重组明文存储在目的地执行环境30的存储器中而使经重组明文可用。继续说明性实例,解密模块116使用通信148将经重组明文(r-pt)存储到信任区域执行环境24。

可对过程150作出各种添加、更改及/或删除,并且过程150的各种实施方案是可能的。举例来说,接收或目的地执行环境30还可为源执行环境。因此,在上文论述的说明中,信任区域执行环境24可为源执行环境30,并且视频执行环境18可为用于来自信任区域执行环境24的消息的目的地执行环境。作为另一实例,执行环境30可使用一或多个执行密钥及密码引擎12鉴别彼此。作为又一实例,将消息发送到彼此的执行环境30的集合(例如,对)可使用用于从执行环境32中的一者发送到另一执行环境30的每个消息的两个密码密钥。也就是说,每个执行环境可存储用于将消息从本身发送到另一执行环境30的密码密钥,并且每个消息可使用由发送执行环境写入的密码密钥及由接收执行环境写入的密码密钥两者进行加密及解密。此外,执行环境30可使用密码密钥来生成共同会话以避免双倍操作。更进一步,多个执行环境可使用本文所论述的技术来在多个执行环境之间产生通信。举例来说,在执行环境共享加密信息的情况下可实施布告牌。作为另一实例,在执行环境可成组地将加密信息组播到加密环境的情况下可实施虚拟总线。

过程150的各个实施方案包含将通过各自将密码密钥写入到密码引擎12来交换消息的执行环境。举例来说,第一执行环境及第二执行环境可交换消息。除了密码引擎12从第一执行环境接收第一密码密钥及第一使用指示可能指示第一密码密钥可由第二执行环境使用之外,过程150的实施方案可包含在密码引擎12处通过密码引擎12信任的链路从第二执行环境接收第二密码密钥,以仅从第二执行环境提供信息。实施方案可进一步包含在密码引擎12处从第二执行环境接收第二使用指示,所述第二使用指示指示第二密码密钥可用于对来自第一执行环境的密文进行解密。密码引擎12可将第二密码密钥写入到存储器。过程可进一步包含将第一及第二密码密钥用于以下各项中的至少一者:通过第一及第二执行环境中的另一者鉴别第一及第二执行环境中的每一者,或生成共同会话密钥。通过第一执行环境鉴别第二执行环境可包括:在密码引擎12处从第一执行环境接收第一明文鉴别码;使用第一密码密钥对第一明文鉴别码进行加密以生成第一密文鉴别码;从第二执行环境接收第一密文鉴别码;使用第一密码密钥对第一密文鉴别码进行解密以生成第一经重组明文鉴别码;使用第二密码密钥对第一经重组明文鉴别码进行加密以生成第二密文鉴别码;从第一执行环境接收第二密文鉴别码;使用第二密码密钥对第二密文鉴别码进行解密一生成第二经重组明文鉴别码;及使第二经重组明文鉴别码可用于第一执行环境。如果第二经重组明文鉴别码匹配第一明文鉴别码,那么可鉴别第二执行环境。第一明文鉴别码可为(例如)通过第一执行环境产生的随机数。第一执行环境可通过第二执行环境及类似方式鉴别。

其它考虑

其它实例及实施方案在本发明及所附权利要求书的范围及精神内。举例来说,由于软件的本质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一者的组合来实施。实施功能的特征也可物理上位于各个位置处,包含经分布以使得功能的各部分在不同物理位置处实施。此外,如本文中所使用,包含在权利要求书中,以“……中的至少一者”为开始的条目列表中所使用的“或”指示分离性列表,使得例如“a、b或c中的至少一者”的列表表示单独a或单独b或单独c,或ab或ac或bc或abc(即,a及b及c),或具有多于一个相同特征的组合(例如,aa、aab、abbc等)。

如本文中所使用,包含在权利要求书中,除非另有陈述,否则功能或操作是“基于”条目或条件的声明表示所述功能或操作是基于所陈述的条目或条件且可基于除了所陈述的条目或条件之外的一或多个条目及/或条件。

此外,将信息发送或传输“到”实体的指示或将信息发送或传输“到”实体的陈述不需要完成通信。此指示或陈述包含信息从发送实体传送,但未到达信息的既定接收方。即使实际上未接收信息,既定接收方仍可被称为接收实体,例如,接收执行环境。

可根据具体要求作出实质性变化。举例来说,还可使用定制硬件,及/或可将特定元件实施于硬件、软件(包含便携式软件,例如小程序等)或两者中。此外,可利用到其它计算装置(例如,网络输入/输出装置)的连接。

如本文中所使用,术语“机器可读媒体”及“计算机可读媒体”指代参与提供致使机器以特定方式操作的数据的任何媒体。使用计算机系统,各种计算机可读媒体可涉及将指令/代码提供到处理器以用于执行,及/或可用于存储及/或携载此类指令/代码(例如,作为信号)。在许多实施方案中,计算机可读媒体是物理及/或有形存储媒体。此种媒体可采用许多形式,包含但不限于非易失性媒体及易失性媒体。非易失性媒体包含(例如)光盘及/或磁盘。易失性媒体包括(不限于)动态存储器。

举例来说,常见形式的物理及/或有形计算机可读媒体包含软盘、软磁盘、硬盘、磁带或任何其它磁性媒体、cd-rom、任何其它光学媒体、打孔卡、纸带、具有孔图案的任何其它物理媒体、ram、prom、eprom、快闪eprom、任何其它存储器芯片或盒带、如下文所描述的载波,或计算机可从中读取指令及/或代码的任何其它媒体。

各种形式的计算机可读媒体可涉及将一或多个指令的一或多个序列载送到一或多个处理器以供执行。仅举例来说,指令最初可携载于远程计算机的磁盘及/或光盘上。远程计算机可将指令加载到其动态存储器中,并通过传输媒体将指令作为信号发送以由计算机系统接收及/或执行。

上文所论述的方法、系统及装置是实例。各种配置可适当地省略、取代或添加各种程序或组件。举例来说,在替代配置中,方法可以不同于所描述的次序来执行,且可添加、省略或组合各种步骤。此外,可以各种其它配置组合关于某些配置所描述的特征。可通过类似方式组合配置的不同方面及元件。此外,技术发展,及因此元件中的许多元件为实例且并不限制本发明或权利要求的范围。

在描述中给出特定细节以提供对实例配置(包含实施方案)的透彻理解。然而,可在并无这些特定细节的情况下实践配置。举例来说,已在并无不必要细节的情况下展示熟知电路、过程、算法、结构及技术以免混淆配置。此描述仅提供实例配置,且并不限制权利要求的范围、适用性或配置。实际上,所述配置的先前描述提供用于实施所描述的技术的描述。在不脱离本发明的精神或范围的情况下,可对元件的功能及布置作出各种改变。

此外,可将配置描述为描绘为流程图或框图的过程。尽管每一流程图或框图可将操作描述为循序过程,但许多操作可并行地或同时地执行。另外,操作的次序可重新布置。过程可具有图中未包含的额外阶段或功能。此外,方法的实例可由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合实施。当以软件、固件、中间件或微码实施时,执行任务的程序代码或代码段可存储在例如存储媒体的非暂时性计算机可读媒体中。处理器可执行所描述的任务。

图中展示及/或本文中论述为相互连接或通信的功能性或其它组件以通信方式耦合。也就是说,这种组件可直接或间接地连接以实现其间的通信。

在已描述若干实例配置之后,可在不脱离本发明的精神的情况下使用各种修改、替代性构造及等效物。举例来说,上述元件可为较大系统的组件,其中其它规则可优先于本发明的应用或以其它方式修改本发明的应用。此外,可在考虑以上元件之前、期间或之后进行许多操作。因此,以上描述并不约束权利要求书的范围。

此外,可揭示多于一个本发明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1