一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于保护计算系统存储器的方法和系统以及存储介质与流程

2022-12-20 21:35:54 来源:中国专利 TAG:

用于保护计算系统存储器的方法和系统以及存储介质
1.本技术为发明名称为“用于保护计算系统存储器的方法和系统以及存储介质”、申请号为201880028961.x、申请日为2018年3月23日的中国发明专利申请的分案申请。
2.优先权申请案
3.此申请案主张2017年8月31日提出申请的第15/692,802号美国申请案的优先权权益,所述美国申请案主张2017年3月24日提出申请的第62/476,598号美国临时案的优先权权益,所有所述美国申请案及美国临时案以其全文引用方式并入本文中。
技术领域
4.本文中所描述的实例一般涉及用于保护计算系统存储器免受未授权存取的系统及方法。


背景技术:

5.对处理系统的常见形式的攻击涉及将恶意代码安装到所述系统的存储器装置。所述恶意代码接着由所述处理系统执行。在执行时,所述恶意代码可达成数据盗窃、对处理系统的未授权控制及其它负面后果。


技术实现要素:

6.一方面,本公开提供了一种用于保护计算系统存储器的系统,其包括:第一系统控制器;及网关装置,其与所述第一系统控制器通信,所述网关装置包括网关装置存储器装置,所述网关装置存储器装置包括:网关装置存储器件;网关装置不对称引擎;及网关装置对称引擎,其中所述网关装置经配置以执行包括以下各项的操作:从外部系统接收包括第一消息有效负载数据及第一不对称存取数据的第一消息;借助所述网关装置不对称引擎至少部分地基于外部系统公钥而确定所述第一不对称存取数据匹配所述第一消息有效负载数据;从所述网关装置存储器件检索与和所述网关装置通信的所述第一系统控制器相关联的第一系统控制器对称密钥;借助所述网关装置对称引擎至少部分地基于所述第一系统控制器对称密钥及所述第一消息有效负载数据而产生第一对称存取数据;及将所述第一消息有效负载数据及所述第一对称存取数据发送到所述第一系统控制器。
附图说明
7.在图式(其未必按比例绘制)中,相似编号可在不同视图中描述类似组件。具有不同字母后缀的相似编号可表示类似组件的不同例子。一些实例在附图中的各图中以实例而非限制方式来图解说明,其中:
8.图1是展示用于实施安全计算系统的环境的一个实例的图式。
9.图2是展示安全计算系统的一部分的图式,其包含网关装置及系统控制器的额外细节。
10.图3是展示可由图1的外部系统、网关装置及系统控制器执行以处理传入消息的程
序流程的一个实例的流程图。
11.图4是展示可由图1的外部系统、网关装置及系统控制器执行以处理传出消息的程序流程的一个实例的流程图。
12.图5展示作为一或多个设备的一部分具有存储器布置的实例性处理系统。
13.图6是展示计算装置的软件架构的一个实例的框图。
14.图7是图解说明计算装置硬件架构的框图,可在所述计算装置硬件架构内执行指令集或序列以致使机器执行本文中所论述的方法中的任一者的实例。
具体实施方式
15.在以下说明中,出于阐释目的而陈述众多特定细节,以便提供对一些实例的透彻理解。然而,所属领域的技术人员将明了,本发明可不借助这些特定细节来实践。
16.本文中所描述的各种实例针对于用于保护可存在于各种形式的数据处理系统(在本文中还称为处理系统)中的存储器布置的系统及方法。在一些实例中,本文中所描述的安全存储器布置在与各种设备(例如,举例来说,电器、交通工具、工业装备、物联网(iot)装置等)一起并入的处理系统中使用。举例来说,此些处理系统可包含嵌入式系统或者用于控制或通信的其它系统。可利用本文中所描述的存储器布置的处理系统的其它实例包含膝上型计算机、桌上型计算机、移动计算装置、服务器等。
17.在一些实例中,本文中所描述的系统及方法利用存取控制来保护处理系统处的存储器布置。举例来说,利用本文中所描述的安全存储器布置的处理系统可阻止对其相关联存储器存储位置的全部或一部分的写入,除非所述写入伴随着证明发送方拥有密码密钥的存取数据。在一些实例中,可替代密码密钥而使用任何其它类型的共享机密。在一些实例中,可以此方式控制对存储器布置的所有存储位置的存取。在其它实例中,仅对存储位置的一部分(例如包含启动代码或其它重要软件的存储位置)进行存取控制。
18.对一或若干受存取控制的存储位置的写入请求可包含有效负载数据及存取数据。在接收到所述写入请求后,所述存储器布置即刻可使用密码密钥及所述有效负载数据以(举例来说)通过基于所述存取数据及所述有效负载数据而执行密码操作来检验所述存取数据。如果所述密码操作(例如,其一或若干结果)与所述存取数据一致,那么所述存取数据通过检验且所述处理系统通过将所述有效负载数据写入到存储装置而执行所述写入请求。如果所述密码操作与所述存取数据不一致,那么所述存取数据未通过检验且所述处理系统拒绝所述写入请求。
19.尽管本文中所描述的存取控制可在由不同于存储器装置的处理器单元执行的软件中实施,但本文中所描述的一些实例以存储器装置水平实施存取控制。举例来说,安全存储器装置可包含用于存储共享机密(例如密码密钥)的密钥寄存器及用于产生及/或检验存取数据的密码引擎。当接收到写入请求时,所述存储器装置通过提供写入请求有效负载数据及来自所述密钥寄存器、所述密码引擎的所述密码密钥而检验所述存取数据。所述密码引擎可执行一或多个密码操作(例如散列、解密等),以检验所述存取数据。如果所述存取数据通过检验,那么所述存储器装置完成所请求写入。如果所述存取数据未通过检验,那么所述存储器装置拒绝所述写入请求。
20.可借助对称密钥或借助不对称密钥来实施本文中所描述的存取控制。当使用对称
密钥时,所述发送方及所述接收方两者均具有同一对称密钥的副本。所述发送方使用所述对称密钥产生所述存取数据。举例来说,所述发送方可使用所述对称密钥通过将散列函数应用于有效负载数据而产生存取数据。所得散列构成所述存取数据的全部或一部分。在一些实例中,所得散列被称为消息验证代码(mac)且在一些实例中被称为散列消息验证代码(hmac)。
21.所述发送方将包含有效负载数据及存取数据的写入请求发送到所述接收方。还具有所述对称密钥的副本的所述接收方产生存取数据副本。举例来说,所述接收方可借助所述接收方拥有的所述对称密钥的副本通过独立地对所述有效负载数据进行散列运算而产生所述存取数据副本。如果所述存取数据副本等效于所述所接收存取数据,那么所述消息通过验证。
22.当使用不对称密钥时,所述发送方具有私密的私钥及非私密的公钥。所述发送方有时利用证书颁发机构或其它可信第三方来向所述接收方检验其公钥的真实性。所述发送方的私钥及公钥是数学相关的,使得借助所述私钥执行的特定密码操作可使用所述公钥来反转。
23.所述发送方利用所述有效负载数据及所述发送方拥有的私钥产生存取数据。举例来说,所述发送方可将散列函数应用于所述有效负载数据且接着借助所述发送方的私钥将所得散列签名。结果是可构成所述存取数据的全部或一部分的密码签名。所述接收方可借助所述发送方的公钥将所述签名解密,且接着通过将同一散列函数应用于所述所接收有效负载数据而产生存取数据副本。如果所述存取数据副本等效于所述经解密签名,那么所述消息通过检验。
24.对称及不对称存取控制两者均具有优点及缺点。举例来说,对称配置需要各方将所述对称密钥安全地传递给彼此。在一些实例中,在通信各方之间传递对称密钥的过程称为预配。在使所述对称密钥保持私密的同时将单个对称密钥预配给两方可具挑战性。另一方面,不对称配置可更容易预配。举例来说,所述发送方的公钥是非私密的,且可在不具有与对称密钥相关联的安全问题的情况下以明文来发送。而且,用于检验借助不对称密钥产生的存取数据的密码操作通常更复杂。举例来说,一些不对称配置使用比与类似地安全对称配置一起使用的密钥大一个数量级的密码密钥。不对称配置中的密码操作的额外复杂性可需要实施更多硬件及/或软件资源。
25.在一些处理系统中,例如在较大计算装置中,额外材料清单(bom)及/或与不对称存取控制相关联的其它成本是微不足道的。在其它处理系统中,不对称存取控制的额外成本较重要。举例来说,嵌入式系统、iot装置及其它类似处理系统或组件可具有足够低总体成本,因此添加不对称存取控制会显著增加每一组件的价格。在大系统(例如汽车、安全系统等)中,将不对称存取控制添加到每一嵌入式系统存储器装置可增加显著成本。
26.本文中所描述的各种实例针对于包含网关装置及一或多个系统控制器的处理系统及存储器布置。所述网关装置包含支持不对称及对称存取控制两者的一或多个存储器装置。所述系统控制器包含支持对称存取控制的存储器装置。然而,在一些实例中,所述系统控制器处的所述一或若干存储器装置不需要支持不对称存取控制。以此方式,不对称存取控制的额外开销可并非对于每一系统控制器为必要的。
27.支持对称及不对称存取控制两者的网关装置存储器装置可用作各种控制器系统
处的存储器装置的用于对称密钥的密钥存储区。举例来说,外部系统可产生被引导到系统控制器中的一者(接收方系统控制器)的外部消息。所述外部消息可包含效负载数据及借助所述外部系统的所述私钥产生的有不对称存取数据。所述网关装置接收所述消息且使用所述外部系统的所述公钥来检验其。所述网关装置接着检索系统控制器(所述消息被引导到其)的适当对称密钥且产生可为所述接收方系统控制器所特有的对称存取数据。所述网关装置将包含所述有效负载数据及对称存取数据的内部消息发送到所述接收方系统控制器。所述接收方系统控制器或所述系统控制器处的系统存储器装置检验所述对称存取数据且将所述有效负载数据写入到其存储器。
28.图1是展示用于实施经由网络116与实例性外部系统118a、118b通信的安全处理系统101的环境100的一个实例的图式。安全处理系统101包括网关装置102及若干个系统控制器104a、104b、104c、104n。网关装置102及系统控制器104a、104b、104c、104n经由总线120通信,总线120可为任何适合形式的有线或无线总线。尽管在实例性环境100中展示四个系统控制器104a、104b、104c、104n,但可使用任何适合数目个系统控制器,包含(举例来说)比图1中所展示的系统控制器多或少的系统控制器。
29.在一些实例中,系统控制器104a、104b、104c、104n可为用于以任何适合设定控制机械或电系统或子系统的嵌入式系统。在一些实例中,安全处理系统101可在汽车或其它交通工具中实施。每一系统控制器104a、104b、104c、104n可管理汽车的组件。举例来说,系统控制器104a可管理防抱死制动系统,系统控制器104b可管理电传操纵油门系统,系统控制器104c可管理倒车摄像机,系统控制器104n可管理娱乐系统等。在其中安全处理系统101在汽车或其它交通工具中实施的实例中,总线120可根据控制器区域网络(can)交通工具总线标准来配置。在另一实例中,安全处理系统101可在安全系统中实施。相应系统控制器104a、104b、104c、104n可管理安全系统的各种摄像机、传感器等。在又一实例中,安全处理系统101可实施为电器(例如冰箱)的一部分。相应系统控制器104a、104b、104c、104n可管理电器的各种显示器、恒温器等。
30.系统控制器104a、104b、104c、104n可包含相应处理器单元112a、112b、112c、112n及相应对称存储器装置114a、114b、114c、114n。对称存储器装置114a、114b、114c、114n可经配置以支持对称存取控制,举例来说,如图2中更详细地展示。在一些实例中,对称存储器装置114a、114b、114c、114n存储待由处理器单元112a、112b、112c、112n执行的代码。在一些实例中,对称存储器装置114a、114b、114c、114n为永久存储器装置,例如(举例来说)固态存储器装置,例如快闪装置。
31.网关装置102包括对称/不对称存储器装置108。对称/不对称存储器装置108为支持对称及不对称存取控制两者(举例来说)的存储器装置,如本文中所描述。在一些实例中,网关装置102还包括处理器单元106。
32.对称/不对称存储器装置108包含密钥存储区110,密钥存储区110包含用于存储相应对称存储器装置114a、114b、114c、114n的对称密钥的一或多个存储位置。对称/不对称存储器装置108可借助不对称存取控制管理对密钥存储区110的存取。因此,尽管密钥存储区110包含用于相应对称存储器装置114a、114b、114c、114n的对称密钥,但借助对称/不对称存储器装置108的不对称密钥对来对密钥存储区110自身进行存取控制,如本文中所描述。
33.对称/不对称存储器装置108可经配置以接收且处理不对称存取数据,举例来说,
与外部系统118a、118b通信。对称/不对称存储器装置108还可经配置以(举例来说)利用存储于密钥存储区110处的对称密钥来接收且处理对称存取数据。
34.网关装置102可经由网络116与外部系统118a、118b通信。网络116可为或包括根据任何适合网络协议操作的任何适合网络元件。举例来说,网络116的一或多个部分可为临时网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网的一部分、公用电话交换网(pstn)的一部分、蜂窝电话网络、无线网络、wi-fi网络、wimax网络、另一类型的网络或两个或两个以上此类网络的组合。
35.图2是展示安全处理系统101的一部分的图式,其包含网关装置102及系统控制器104a的额外细节。现在参考网关装置102,图2展示对称/不对称存储器装置108的额外细节。举例来说,对称/不对称存储器装置108包含控制器132及存储器件130。在一些实例中,对称/不对称存储器装置108可为或包含快闪或其它类似固态存储器。在一些实例中,包含存储器件130及控制器132的对称/不对称存储器装置108可在共同半导体(例如,硅)裸片上的嵌入式多媒体控制器(emmc)装置上实施。
36.存储器件130包含密钥存储区110,密钥存储区110可存储用于一或多个系统控制器104a、104b、104c、104n的对称密钥。在一些实例中,密钥存储区110不对称地受存取控制,举例来说,如本文中所描述。控制器132可包含用于管理存储器件130的各种硬件,包含(举例来说)用于执行寻址、数据读取及写入的硬件等。
37.在一些实例中,控制器132包含不对称引擎134及对称引擎136。不对称引擎134可用于实施密钥存储区110的不对称存取控制。不对称引擎134可包含一或多个密钥寄存器140及数学引擎138。尽管密钥寄存器140经展示为不对称引擎134的组件,但在一些实例中,密钥寄存器140可定位于别处,举例来说,存储器件130中的安全位置处。在一些实例中,密钥寄存器140可存储用于对称/不对称存储器装置108的私钥。数学引擎138可经配置以执行用于实施不对称存取控制的密码操作,如本文中所描述。举例来说,数学引擎138可经配置以接收有效负载数据(或有效负载数据的散列)及私钥以产生(举例来说)包含如本文中所描述的数字签名的存取数据。数学引擎138还可经配置以接收经加密数据及公钥以产生经解密或明文数据。在一些实例中,不对称引擎134可为或包含rsa引擎。
38.对称引擎136可包含密钥寄存器146及数学引擎142。举例来说,密钥寄存器146可存储对称/不对称存储器装置108的对称密钥。尽管密钥寄存器146经展示为对称引擎136的一部分,但在一些实例中,其定位于别处,举例来说,存储器件130中的安全位置处。数学引擎142经配置以执行用于实施对称存取控制的密码操作,如本文中所描述。举例来说,数学引擎142可经配置以接收有效负载数据及对称密钥且基于所述有效负载数据及所述对称密钥而传回散列。
39.系统控制器104a可包含上文所介绍的对称存储器装置114a。对称存储器装置114a可包含存储器件152a及控制器150a。在一些实例中,对称存储器装置114a可为具有在同一半导体裸片上实施的控制器150a及存储器件152a的nor装置。在一些实例中,存储器件152a可存储可由处理器单元112a执行以控制系统的指令。举例来说,当安全处理系统101在汽车或其它交通工具中实施时,存储器件152a可包含在由处理器单元112a执行时致使处理器单元112a控制交通工具子系统(例如,防抱死制动系统、电传操纵油门系统等)的操作的指令。
存储器件152a的全部或部分可受存取控制,如本文中所描述。在一些实例中,包含用于处理器单元112a、关键任务软件等的启动指令的存储器件152a的一部分受存取控制,而存储器件152a的其它部分不受存取控制。
40.与控制器132一样,控制器150a可包含用于管理存储器件152a的各种硬件,包含(举例来说)用于执行寻址、数据读取及写入的硬件等。控制器150a还可包含对称引擎154a,对称引擎154a可包含与本文中所描述的对称/不对称存储器装置108的数学引擎138及密钥寄存器140类似的数学引擎160a及密钥寄存器156a。
41.图2还展示用于将消息发送到系统控制器104a及其对称存储器装置114a且从系统控制器104a及其对称存储器装置114a发送消息的工作流程。在图2的实例中,从外部系统(例如外部系统118a、118b中的一者)接收不对称消息162。不对称消息162包含有效负载数据及不对称存取数据。处理器单元106请求将不对称消息162写入到对称/不对称存储器装置108。对称/不对称存储器装置108、控制器132利用不对称引擎134来检验不对称存取数据。如果不对称存取数据通过检验,那么控制器132从密钥存储区110存取用于系统控制器104a的对称密钥且使用所述对称密钥来产生对称存取数据。所述对称存取数据及有效负载数据可为发送到系统控制器104a的对称消息164的一部分。
42.对称控制器104a接收对称消息164且请求将对称消息164写入到对称存储器装置114a。对称存储器装置114a、控制器150a利用对称引擎154a来检验对称存取数据。倘若对称存取数据通过检验,控制器150a将有效负载数据写入到存储器件152a。
43.类似地,系统控制器104a产生被引导到外部系统(例如外部系统118a、118b中的一者)的消息。处理器单元112a(举例来说)以所请求有效负载数据将发送到外部系统的指示向对称存储器装置114a发出读取请求。控制器150a从存储器件152a检索所请求数据且基于对称存储器装置114a的对称密钥而产生对称存取数据。系统控制器将对称消息166引导到网关装置102。
44.网关装置102利用对称引擎136来检验对称存取数据且利用不对称引擎134来借助对称/不对称存储器装置108的私钥产生新的不对称存取数据。所述不对称存取数据及有效负载数据可形成发送到外部系统的不对称消息168。
45.图3是展示可由外部系统、网关装置102及系统控制器104a执行以处理传入消息的程序流程300的一个实例的流程图。程序流程300包含三个列301、303、305。列301包含可由外部系统118a执行的操作。列303包含可由网关装置102执行的操作。列305包含可由系统控制器104a执行的操作。尽管参考特定外部系统118a、网关装置102及特定系统控制器104a来描述程序流程300,但将了解,在一些实例中可替换成其它外部系统118a、其它系统控制器104b、104c、104n及其它网关装置。
46.在操作304处,系统控制器104a将对称密钥消息307发送到网关装置102,在操作302处,网关装置102接收对称密钥消息。操作302及304有时被称为预配且可以各种不同方式来发生。在一些实例中,预配发生在处理系统101的初始配置期间,举例来说,在制造处理系统101或由处理系统101管理的设备(例如,交通工具、安全系统等)期间或之后。举例来说,每一系统控制器104a、104b、104c、104n可经配置以在初始配置期间将相应对称密钥发送到网关装置102。举例来说,系统控制器104a可从网关装置102或另一装置接收预配信号。响应于所述预配信号,系统控制器104a可将对称密钥消息307发送到网关装置102。在一些
实例中,当预配消息由除网关装置102以外的组件发送时,网关装置102可与发送到系统控制器104a的预配信号同时地或时间接近地接收网关装置预配信号。所述网关装置预配信号可提示网关装置102期望对称密钥消息307。在另一实例中,预配可发生在处理系统101的启动序列期间(启动序列可出现在各个时间处,包含(举例来说)处理系统101接通电源时、处理系统101被复位时等)。举例来说,网关装置102可经配置以在启动序列期间将预配信号发送到系统控制器104a、104b、104c、104n。在一些实例中,处理系统101可在预配期间与网络116断开连接以便阻止第三方截获经由通信总线120发送的对称密钥。
47.在又一实例中,用于系统控制器104a、104b、104c、104n的对称密钥可存储于(举例来说)在安全处理系统101外部的安全数据库或其它安全存储器件处。替代(或除了)从系统控制器104a、104b、104n接收对称密钥,网关装置102还可从安全数据库或其它安全存储器件接收对称密钥。举例来说,网关装置102可经配置以将对称密钥请求消息发送到安全数据库。在一些实例中,所述对称密钥请求消息可包含如本文中所描述而产生的对称或不对称存取数据。安全数据库(及/或其相关联系统)可检验对称密钥请求,且如果通过检验,那么将系统控制器104a、104b、104c、104n的一或若干所请求对称密钥发送到网关装置102。
48.返回参考图3,在操作306处,外部系统118a可将不对称消息309发送到网关装置102。不对称消息309包含有效负载数据及由外部系统118a借助外部系统118a的私钥产生的不对称存取数据。不对称消息309可寻址到系统控制器104a。在一个实例中,系统控制器104a管理交通工具的防抱死制动系统,不对称消息309包含有效负载数据,所述有效负载数据包含向所述防抱死制动系统请求当前固件版本、状态或其它信息的状态请求消息。在另一实例中,不对称消息309可包含有效负载数据,所述有效负载数据包含系统控制器104a的固件或其它软件更新。不对称消息309可具体寻址到系统控制器104a或在一些实例中可寻址到系统控制器104a、104b、104c、104n中的一者以上。举例来说,不对称消息309可向安全计算系统的系统控制器104a、104b、104c、104n的全部或子集请求信息或者提供信息或数据。
49.在操作308处,网关装置102可将不对称消息309或其部分写入到对称/不对称存储器装置108。在一些实例中,网关装置102以将消息309转发到系统控制器104a的指令将不对称消息309写入到对称/不对称存储器装置108。在其中不对称消息309寻址到系统控制器104a、104b、104c、104n中的一者以上的实例中,网关装置102可以将消息309发送到多个系统控制器104a、104b、104c、104n的指令将不对称消息309写入到对称/不对称存储器装置108。在一些实例中,完全有效负载数据提供到每一接收方系统控制器104a、104b、104c、104n。在其它实例中,网关装置102划分有效负载数据且将部分有效负载数据发送到每一接收方系统控制器104a、104b、104c、104n。举例来说,包含系统控制器104a的固件更新的有效负载数据可发送到系统控制器104a,而包含另一系统控制器104b、104c、104n等的固件更新的有效负载数据可不发送到系统控制器104a。
50.在操作310处,网关装置102(例如,对称/不对称存储器装置108)可检验不对称消息309。举例来说,对称/不对称存储器装置108可利用不对称引擎134来检验与不对称消息309一起被包含的不对称存取数据匹配有效负载数据。在一些实例中,对称/不对称存储器装置108(举例来说)从证书颁发机构或其它可信第三方获得外部系统118a的公钥。在一些实例中,对称/不对称存储器装置108经配置以检验来自受限制组的外部系统118a、118b的
消息。举例来说,如果不对称存取数据无法绑定到受限制组的外部系统118a、118b的外部系统118a、118b的私钥,那么其可能未通过检验。(尽管在图1中展示两个外部系统118a、118b,但网关装置102可利用包含不同数目个外部系统118a、118b的受限制组的外部系统。)
51.对称/不对称存储器装置108可将不对称存取数据及公钥提供到不对称引擎134(例如,其数学引擎138)。不对称引擎134可传回经解密存取数据。所述经解密存取数据可引用或以其它方式描述不对称消息的有效负载数据。举例来说,经解密消息可为有效负载数据的散列。对称/不对称存储器装置108可独立地产生与不对称消息309一起被接收的有效负载数据的散列(其可被称为存取数据副本)。如果存取数据副本等效于经解密存取数据,那么不对称消息309通过检验。可使用任何适合不对称加密技术,例如(举例来说)rsa加密技术。而且,本文中所描述的其中不对称存取数据为借助外部系统的私钥来加密的有效负载数据的散列的实例仅仅为用于产生不对称存取数据的一个实例。可使用其它适合技术。
52.如果不对称消息309未通过检验(例如,如果存取数据副本不等效于经解密存取数据),那么在操作312处对称/不对称存储器装置108可拒绝消息。如果在操作310处不对称消息309通过检验,那么在操作314处对称/不对称存储器装置108可产生用于系统控制器104a的对称存取数据。举例来说,对称/不对称存储器装置108可从对称/不对称存储器装置108的存储器件130处的密钥存储区110检索用于系统控制器104a的对称密钥。在一些实例中,对称/不对称存储器装置可利用对称引擎136产生对称存取数据。举例来说,对称/不对称存储器装置108可将系统控制器104a的经检索对称密钥及有效负载数据提供到对称引擎136,对称引擎136可传回借助系统控制器104a的对称密钥产生的有效负载数据的散列。当消息309的并非全部有效负载数据将发送到系统控制器104a时,可考虑待发送到系统控制器104a的有效负载数据的部分而产生对称存取数据。可使用任何适合散列算法,例如,举例来说,安全散列算法(sha)算法,其包含(举例来说)sha-2系列、sha-3系列、sha-5系列等。
53.在操作316处,网关装置102(例如,对称/不对称存储器装置108)可将对称消息311发送到系统控制器104a。举例来说,对称消息311可包含有效负载数据(或待提供到系统控制器104a的有效负载数据的一部分)及在操作314处产生的对称存取数据。
54.系统控制器104a可接收对称消息311且在操作318处将其写入到对称存储器装置114a。在操作320处,系统控制器104a(例如,对称存储器装置114a)可检验对称消息311。举例来说,对称存储器装置114a可确定对称存取数据是否匹配有效负载数据。对称存储器装置114a可通过将对称存取数据提供到对称引擎154a而处理来自操作318的写入。对称引擎154a可(举例来说)利用由对称/不对称存储器装置108使用的相同散列算法基于包含于对称消息311中的有效负载数据及对称存储器装置114a的对称密钥而产生散列。
55.如果所产生散列等效于对称存取数据,那么对称消息311通过检验。如果所产生散列不等效于对称存取数据,那么对称消息311可未通过检验。如果对称消息311未通过检验,那么在操作322处,对称存储器装置114a可拒绝消息311(例如,有效负载数据可未加载到存储器件152a)。如果对称消息311通过检验,那么在操作324处,对称存储器装置114a可(举例来说)通过将有效负载数据写入到存储器件152a而处理消息311。
56.图4是展示可由外部系统118a、网关装置102及系统控制器104a执行以处理传出消息的程序流程400的一个实例的流程图。程序流程400包含三个列401、403、405。列401包含可由外部系统118a执行的操作。列403包含可由网关装置102执行的操作。列405包含可由系
统控制器104a执行的操作。尽管参考特定外部系统118a、网关装置102及特定系统控制器104a描述程序流程400,但将了解,在一些实例中可替换成其它外部系统118a、其它系统控制器104b、104c、104n及其它网关装置。在执行程序流程400之前,系统控制器104a的对称密钥可已预配给网关装置102,举例来说,如本文中所描述。
57.在操作402处,系统控制器104a可产生经引导到外部系统118a的对称消息407。对称消息407可包含有效负载数据及对称存取数据。所述有效负载数据可为任何适合数据,例如(举例来说)系统控制器104a的状态报告、来自与系统控制器104a通信的一或多个传感器的数据等。在一些实例中,系统控制器104a利用对称存储器装置114a的对称引擎154a产生对称存取数据。举例来说,系统控制器104a可向对称存储器装置114a请求有效负载数据。对称存储器装置114a可从存储器件152a检索有效负载数据且将有效负载数据提供到对称引擎154a。对称引擎154a可(举例来说)基于系统控制器104a的对称密钥(其可存储于密钥寄存器156a处)而产生有效负载数据的散列。所述散列可为对称存取数据的全部或一部分。
58.在操作404处,系统控制器104a可将对称消息407发送到网关装置102。在操作406处,网关装置102可将对称消息407写入到对称/不对称存储器装置108。在操作408处,网关装置102(例如,对称/不对称存储器装置108)可检验对称消息,举例来说,如本文中所描述。举例来说,网关装置102可从密钥存储区110检索用于系统控制器104a的对称密钥且利用对称引擎136来产生有效负载数据的散列。如果由对称引擎136产生的有效负载数据的散列等效于对称消息407的存取数据,那么消息可通过检验。如果不存在匹配,那么在操作410处,网关装置102可拒绝对称消息407。
59.倘若对称消息407通过检验,网关装置102可将消息转发到外部系统118a。在一些实例中,可使用不对称存取数据。举例来说,在操作412处,网关装置102(例如,对称/不对称存储器装置108)可产生包含对称消息407的有效负载数据的不对称消息409。举例来说,对称/不对称存储器装置108可将有效负载数据提供到不对称引擎134。不对称引擎134可基于(举例来说)有效负载数据及网关装置102的私钥而产生不对称存取数据。举例来说,对称/不对称存储器装置108可产生有效负载数据的散列且接着借助私钥将所述散列加密。所述经加密散列可为不对称存取数据的全部或一部分。在操作414处,网关装置102可将不对称消息409发送到外部系统118a。
60.外部系统118a可(举例来说)通过确定不对称存取数据是否匹配有效负载数据而在操作416处接收不对称消息409且在操作418处检验消息409。如果消息通过检验,那么在操作422处外部系统可处理消息。如果消息未通过检验,那么在操作420处外部系统118a可拒绝消息。
61.本文中所描述的实例性安全处理系统101利用存取控制来保护网关装置102的存储器装置及系统控制器104a、104b、104c、104n。举例来说,网关装置102代表系统控制器104a、104b、104c、104n有利地实施不对称存取控制,如所描述。以此方式,可与对称而非不对称系统控制器一起实施系统控制器104a、104b、104c、104n。
62.在各种实例中,包含网关装置102及各种系统控制器104a、104b、104c、104n的安全处理系统101可实施其它安全特征,例如(举例来说)密码测量、密码保护及/或自动恢复。
63.根据密码测量,存储器装置108、114a、114b、114c、114n中的一些或全部利用其相应对称引擎(或额外对称引擎)来实施可信度测量核心根(crtm)。举例来说,当存储器装置
接收到经检验有效负载数据(例如,如本文中所描述而经检验)时,存储器装置可利用适当密码密钥(例如,装置对称密钥)来产生有效负载数据的散列。所述散列可写入到存储器装置处的安全位置。在一些实例中,密码密钥为crtm的全部或一部分,其中散列从其导出。当从存储器装置的存储器件读取数据时,存储器装置控制器可(举例来说)通过以下方式将所读取数据与crtm进行比较:对所读取数据进行散列运算且将所述散列与在写入数据时产生的所存储散列进行比较。如果存在匹配,那么过程可继续(例如,当所读取数据为代码时,处理器单元可执行所读取代码)。如果不存在匹配,那么其可指示存储器装置存储器件的毁坏。存储器装置可传回误差或以其它方式阻止请求数据被使用。
64.根据自动恢复,存储器装置包含安全(例如,只读)存储位置,所述安全(例如,只读)存储位置包含用于系统的数据及/或代码的全部或一部分的安全可恢复副本。如果(举例来说)参考crtm而检测到数据毁坏,那么可加载(例如,且执行)安全副本。根据密码保护,对称及/或不对称密码引擎用于对通信(例如,网关装置102与外部系统118a、118b之间的通信、系统控制器104a、104b、104c、104n与网关装置102之间的通信等)进行加密。
65.图5展示作为一或多个设备5030到5050的一部分具有存储器布置5020(例如,本文中所描述的存储器布置中的任一者)的实例性处理系统5010(例如,处理系统101)。设备包含可包含处理系统(例如处理系统5010)的任何装置。如先前所述,处理系统5010可为能够执行指令(顺序的或相反)的任何装置。实例性设备包含交通工具5030(例如,作为信息娱乐系统、控制系统或类似者的一部分)、无人机5050(例如,作为控制系统的一部分)、家具或电器5040(例如,作为传感器系统、娱乐或信息娱乐系统的一部分)或类似者。在其它实例中,尽管未展示,但设备可包含航空、航海、物联网(iot)及其它装置。
66.图6是展示处理装置的软件架构602的一个实例的框图600。架构602可连同各种硬件架构来使用。举例来说,软件架构602可描述本文中所描述的网关装置102及/或各种系统控制器104a、104b、104c、104n中的一或多者。图6仅仅是软件架构602的非限制性实例且可实施许多其它架构以促进本文中所描述的功能性。代表性硬件层604经图解说明且可表示(举例来说)上文所引用的计算装置中的任一者。在一些实例中,硬件层604可根据图6的架构602、图7的架构700及/或本文中所描述的安全处理系统101的架构来实施。
67.代表性硬件层604包括具有相关联可执行指令608的一或多个处理单元606。可执行指令608表示软件架构602的可执行指令,包含图1到4的方法、模块、组件等等的实施方案。硬件层604还包含存储器及/或存储模块610,存储器及/或存储模块610还具有可执行指令608。硬件层604还可包括如由表示硬件层604的任何其它硬件的其它硬件612指示的其它硬件,例如经图解说明为硬件架构700的一部分的其它硬件。
68.在图6的实例性架构中,软件602可概念化为层堆叠,其中每一层提供特定功能性。举例来说,软件602可包含例如操作系统614、库616、框架/中间件618、应用程序620及呈现层644的层。操作上,应用程序620及/或层内的其它组件可通过软件堆叠唤起应用程序编程接口(api)调用624且响应于api调用624而接收经图解说明为消息626的响应、经传回值等等。所图解说明的层本质上为代表性的且并非所有软件架构具有所有层。举例来说,一些移动或专用操作系统可不提供框架/中间件层618,而其它操作系统可提供此层。其它软件架构可包含额外或不同层。
69.操作系统614可管理硬件资源且提供普遍服务。举例来说,操作系统614可包含内
核628、服务630及驱动程序632。内核628可用作硬件与其它软件层之间的抽象层。举例来说,内核628可负责存储器管理、处理器管理(例如,调度)、组件管理、网络化、安全设定等等。服务630可为其它软件层提供其它普通服务。在一些实例中,服务630包含中断服务。所述中断服务可检测硬件或软件中断的接收,且作为响应而致使架构602在接收到中断时暂停其当前处理且执行中断服务例程(isr)。
70.驱动程序632可负责控制基础硬件或与基础硬件介接。举例来说,驱动程序632可取决于硬件配置而包含显示器驱动程序、相机驱动程序、驱动程序、快闪存储器驱动程序、串行通信驱动程序(例如,通用串行总线(usb)驱动程序)、驱动程序、nfc驱动程序、音频驱动程序、功率管理驱动程序等等。
71.库616可提供可由应用程序620及/或其它组件及/或层利用的共用基础结构。库616通常提供允许其它软件模块以比直接与基础操作系统614功能性(例如,内核628、服务630及/或驱动程式632)介接容易的方式执行任务的功能性。库616可包含可提供例如存储器分配功能、串操纵功能、数学函数及类似者的功能的系统634库(例如,c标准库)。另外,库616可包含api库636,例如媒体库(例如,用以支持例如mpeg4、h.264、mp3、aac、amr、jpg、png的各种媒体格式的呈现及操纵的库)、图形库(例如,可用于在显示器上以图形内容再现2d及9d的opengl框架)、数据库的库(例如,可提供各种关系数据库函数的sqlite)、网页库(例如,可提供网页浏览功能性的webkit)及类似者。库616还可包含各种各样的其它库638以将许多其它api提供到应用程序620及其它软件组件/模块。
72.框架618(有时还称为中间件)可提供可由应用程序620及/或其它软件组件/模块利用的较高阶共用基础结构。举例来说,框架618可提供各种图形用户接口(gui)功能、高阶资源管理、高阶定位服务等等。框架618可提供可由应用程序620及/或其它软件组件/模块(其中的一些可为特定操作系统或平台所特有)利用的其它api的宽频谱。
73.应用程序620包含内置应用程序640及/或第三方应用程序642。代表性内置应用程序640的实例可包含但不限于联系人应用程序、浏览器应用程序、图书阅读器应用程序、定位应用程序、媒体应用程序、消息收发应用程序及/或游戏应用程序。第三方应用程序642可包含内置应用程序以及各种各样其它应用程序中的任一者。在特定实例中,第三方应用程序642(例如,由除特定平台的供应商以外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用程序)可为在例如ios
tm
、android
tm
、phone或其它移动计算装置操作系统的移动操作系统上运行的移动软件。在此实例中,第三方应用程序642可唤起由例如操作系统614的移动操作系统提供的api调用624以促进本文中所描述的功能性。
74.应用程序620可利用内置操作系统功能(例如,内核628、服务630及/或驱动程序632)、库(例如,系统634、api 636及其它库638)、用以形成用户接口以与系统的用户互动的框架/中间件618。替代地或另外,在一些系统中,与用户的互动可通过呈现层(例如呈现层644)来发生。在这些系统中,应用程序/模块“逻辑”可与和用户互动的应用程序/模块的方面分开。
75.一些软件架构利用虚拟机器。举例来说,可利用在一或多个服务器计算机器处执行的一或多个虚拟机器来执行本文中所描述的系统。在图6的实例中,此由虚拟机器648图解说明。虚拟机器形成软件环境,其中应用程序/模块可好似其在硬件计算装置上执行而执
行。虚拟机器由主机操作系统(操作系统614)主管且通常(尽管并非始终)具有虚拟机器监视器646,虚拟机器监视器646管理虚拟机器以及与主机操作系统(即,操作系统614)的接口的操作。例如操作系统650、库652、框架/中间件654、应用程序656及/或呈现层658的软件架构在虚拟机器内执行。在虚拟机器648内执行的这些软件架构层可与先前所描述的对应层相同或可不同。
76.图7是图解说明处理系统硬件架构700的框图,可在处理系统硬件架构700内执行指令集或序列以致使机器执行本文中所论述的方法中的任一者的实例。举例来说,架构700可执行关于图6所描述的软件架构602。架构700可操作为独立装置或可连接(例如,网络连接)到其它机器。在经网络连接部署中,架构700可作为服务器-客户端网络环境中的服务器或客户端机器来操作,或其可用作对等(或分布式)网络环境中的对等机器。架构700可实施于个人计算机(pc)、平板pc、混合平板、机顶盒(stb)、个人数字助理(pda)、行动电话、web器具、网络路由器、开关或桥接器或者能够执行规定将由所述机器采取的操作的指令(顺序的或相反)的任一机器。
77.实例性架构700包含包括至少一个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)或两者、处理器核心、计算节点等)的处理器单元702。架构700可进一步包括主要存储器704及静态存储器706,主要存储器704及静态存储器706经由链路708(例如,总线)彼此通信。架构700可进一步包含视频显示单元710、字母数字输入装置712(例如,键盘)及用户接口(ui)导航装置714(例如,鼠标)。在一些实例中,视频显示单元710、输入装置712及ui导航装置714并入到触摸屏显示器中。架构700可另外包含存储装置716(例如,驱动单元)、信号产生装置718(例如,扬声器)、网络接口装置720及一或多个传感器(未展示),例如全球定位系统(gps)传感器、罗盘、加速度计或其它传感器。
78.在一些实例中,处理器单元702或其它适合硬件组件可支持硬件中断。响应于硬件中断,处理器单元702可暂停其处理且执行中断服务例程(isr),举例来说,如本文中所描述。
79.存储装置716包含计算机可读媒体722,体现本文中所描述的方法或功能中的任何一或多者或由本文中所描述的方法或功能中的任何一或多者利用的一或多个数据结构及指令724集(例如,软件)存储于计算机可读媒体722上。指令724还可在其由架构700执行期间完全或至少部分地驻存于主要存储器704、静态存储器706及/或处理器702内,其中主要存储器704、静态存储器706及处理器702还构成计算机可读媒体。举例来说,存储于计算机可读媒体722处的指令可包含用于实施软件架构602的指令、用于执行本文中所描述的特征中的任一者的指令等。
80.虽然计算机可读媒体722在实例中经图解说明为单个媒体,但术语“计算机可读媒体”可包含存储一或多个指令724的单个媒体或多个媒体(例如,集中式或分布式数据库及/或相关联高速缓冲存储器及服务器)。术语“计算机可读媒体”还应被视为包含能够存储、编码或载送供由机器执行且致使所述机器执行本发明的方法中的任何一或多者的指令或能够存储、编码或载送由此些指令利用或与此些指令相关联的数据结构的任何有形媒体。因此,术语“机器可读存储媒体”应被视为包含但不限于固态存储器以及光学及磁性媒体。计算机可读媒体的特定实例包含非易失性存储器,通过实例方式包含但不限于半导体存储器装置(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))及快闪存
储器装置;磁盘,例如内部硬盘及可移除磁盘;磁光盘;以及cd-rom及dvd-rom磁盘。
81.可进一步利用若干个众所周知的传送协议(例如,http)中的任一者经由通信网络726使用发射媒体在网络接口装置720上发射或接收指令724。通信网络的实例包含局域网(lan)、广域网(wan)、因特网、移动电话网络、简易老式电话(pots)网络及无线数据网络(例如,wi-fi、3g及5g lte/lte-a或wimax网络)。术语“发射媒体”应被视为包含能够存储、编码或载运供由机器执行的指令的任何无形媒体,且包含数字或模拟通信信号或其它无形媒体以促进此软件的通信。
82.如本文中所描述的实例可包含逻辑或若干个组件、引擎或模块、电路或可对所述组件、引擎或模块、电路进行操作,为了一致而将所述组件、引擎或模块、电路称为电路,尽管将理解,可互换地使用这些术语。电路可为以通信方式耦合到一或多个处理器以便实行本文中所描述的操作的硬件、软件或固件。电路可为硬件电路,且此些电路可被视为能够执行规定操作的有形实体且可以特定方式来配置或布置。在实例中,电路可以规定方式布置(例如,在内部或关于例如其它电路的外部实体)为电路。在实例中,一或多个计算平台(例如,独立客户端或服务器计算平台)或一或多个硬件处理器的全部或一部分可由固件或软件(例如,指令、应用程序部分或应用程序)配置为操作以执行规定操作的电路。在实例中,软件可驻存于计算机可读媒体上。在实例中,软件在由电路的基础硬件执行时致使硬件执行规定操作。因此,术语硬件电路被理解为囊括有形实体,即,经物理地构造、特殊配置(例如,硬接线)或暂时(例如,短暂地)配置(例如,编程)从而以规定方式操作或执行本文中所描述的任何操作的一部分或全部的实体。
83.考虑其中电路经暂时配置的实例,不需要在任何一个时刻例示电路中的每一者。举例来说,其中电路包括使用软件来配置的一般用途硬件处理器;一般用途硬件处理器可在不同时间处配置为相应不同电路。因此,软件可配置硬件处理器,举例来说,以在一个时间点处构成特定电路且在不同时间点处构成不同电路。
84.以上详细描述包含对形成所述详细描述的一部分的附图的参考。图式以图解说明的方式展示可实践的特定实例。这些实例在本文中还称为“实例”。除了所展示或所描述的那些元素之外,此些实例还可包含若干元素。然而,还预期包含所展示或所描述的元素的实例。此外,还预期使用关于特定实例(或者其一或多个方面)或关于本文中所展示或所描述的其它实例(或者其一或多个方面)所展示或所描述的那些元素的任何组合或排列的实例(或者其一或多个方面)。
85.在此文件中,如在专利文件中常见,使用术语“一(a或an)”来包含一者或一者以上,此独立于“至少一者”或“一或多者”的任何其它例子或使用。在此文件中,除非另有指示,否则使用术语“或”来指示非排他性,或使得“a或b”包含“a但非b”、“b但非a”及“a及b”。在所附权利要求书中,将术语“包含(including)”及“其中(in which)”用作相应术语“包括(comprising)”及“其中(wherein)”的普通英语等效形式。同样,在所附权利要求书中,术语“包含(including)”及“包括(comprising)”为开放式的,也就是说,包含除列于权利要求中的此术语之后的那些元件以外的元件的系统、装置、物件或过程仍被视为归属于所述权利要求的范围内。此外,在所附权利要求书中,术语“第一(first)”、“第二(second)”及“第三(third)”等仅用作标签,且不打算暗示其对象的数字次序。
86.上文描述打算为说明性而非限制性。举例来说,上文所描述的实例(或者其一或多
个方面)可以彼此组合方式使用。例如,所属领域的技术人员可在审查以上说明后使用其它实例。摘要将允许读者迅速地确定技术揭示内容的本质。基于以下理解提交摘要:其并非将用于解释或限制权利要求书的范围或含义。此外,在以上具体实施方式中,各种特征可分组在一起以简化本发明。然而,权利要求书可不陈述本文中所揭示的每个特征,因为实例可以所述特征的子集为特征。此外,实例可包含比特定实例中所揭示的那些特征少的特征。因此,特此将所附权利要求书并入到具体实施方案中,其中每一权利要求独立地作为单独实例。本文中所揭示的实例的范围将参考所附权利要求书连同此权利要求书被授权的等效内容的全部范围来确定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献