本发明的示例涉及安全模块随机数在安全电子系统中的使用。此外,本发明的示例还涉及一种安全电子系统以及对应的方法和一种计算机程序,该安全电子系统包括安全模块、计算机系统和证明服务器。
背景技术:
1、安全电子系统通常使用可信平台模块(trusted platform module,tpm)作为关键组件来控制计算机系统的不同安全功能,例如,测量引导过程和信任根过程的安全功能。
2、由于tpm会禁止访问受保护的数据,以防计算机系统被攻击者以恶意的方式(例如,通过恶意软件(malicious software,sw))进行修改,因此安全功能还可以用于保护数据资产。tpm在这种特定情况下的原则是,tpm可以通过以下方式保护安全密钥,即只有与tpm通信的可信计算机系统可以访问和使用安全密钥,以通过解密来评估数据。
3、tpm还可以用于例如在涉及证明服务器(例如云端服务器)的计算机系统的远程证明中的其它安全功能。在这些情况下,计算机系统需要向证明服务器证明自己,以便被信任,并且tpm会参与这样的证明过程。
技术实现思路
1、本发明的示例的目的在于提供一种方案,所述方案可减少或解决传统方案的缺陷和问题。
2、本发明的示例的另一个目的在于提供一种用于提高安全电子系统安全性的方案。
3、上述目的及其它目的通过独立权利要求请求保护的主题来实现。从属权利要求中提供了本发明的其它示例。
4、根据本发明的第一方面,通过用于安全电子系统的安全模块实现上述目的及其它目的,所述安全模块用于:
5、向计算机系统发送用于计算哈希值的安全模块随机数;
6、从所述计算机系统接收第一哈希值,其中,所述第一哈希值基于所述安全模块随机数;
7、根据所述第一哈希值确定所述计算机系统的第一安全策略。
8、本发明中的随机数也可以表示为一次性数,即临时用数。安全模块随机数是一个随机数,用于计算哈希值,以验证安全电子系统中的计算机系统。
9、根据第一方面所述的安全模块的优点在于,计算机系统必须使用安全模块随机数来执行第一哈希值的计算,而不是仅仅提供第一哈希值。因此,将已知的第一哈希值嵌入恶意系统中的现有攻击机制不再可行。因此,提供了一种更安全的系统。
10、在根据第一方面所述的安全模块的一种实现方式中,所述安全模块还用于:
11、根据所述安全模块随机数和所述第一哈希值确定所述计算机系统的所述第一安全策略。
12、这种实现方式的优点在于,对于每个安全模块随机数,第一哈希值是唯一的,这样可防止重放或重用旧的第一哈希值,从而防止恶意攻击。此外,安全模块可以自己评估是否满足第一策略,因此不需要依赖于与外部(例如证明服务器)的通信。
13、在根据第一方面所述的安全模块的一种实现方式中,所述安全模块还用于:
14、从证明服务器接收第二哈希值;
15、根据所述第一哈希值和所述第二哈希值确定所述计算机系统的所述第一安全策略。
16、这种实现方式的优点在于,可以根据从证明服务器接收到的第二哈希值远程确认来自计算机系统的第一哈希值。因此,提高了安全电子系统中的安全性。
17、在根据第一方面所述的安全模块的一种实现方式中,所述安全模块还用于:
18、向证明服务器发送所述安全模块随机数和所述第一哈希值;
19、从所述证明服务器接收所述计算机系统的第二安全策略;
20、根据所述第二安全策略确定所述计算机系统的所述第一安全策略。
21、这种实现方式的优点在于,定义计算机系统的行为和/或能力等的第一安全策略直接依赖于证明服务器对第一哈希值和安全模块随机数的确认。因此,安全模块不必依赖于对引导/代码数据的访问,而是可以依赖于由证明服务器执行的验证。
22、在根据第一方面所述的安全模块的一种实现方式中,所述计算机系统的所述第一安全策略包括以下组中的一个或多个:安全状态、安全密钥、密码、数据访问、硬件访问和证明过程。
23、这种实现方式的优点在于,计算机系统的行为和/或能力可以根据第一安全策略进行配置。
24、在根据第一方面所述的安全模块的一种实现方式中,所述安全模块还用于:
25、获取用于所述计算机系统的每个硬件引导过程的安全模块随机数;
26、向所述计算机系统发送用于所述计算机系统的每个硬件引导过程的所述安全模块随机数。
27、这种实现方式的优点在于,使用安全模块随机数对第一哈希值进行的每次计算都会产生不同的值。因此,单个设备重放攻击是不可能发生的,因为安全随机数在计算机系统每次引导时都是新的。
28、在根据第一方面所述的安全模块的一种实现方式中,所述安全模块还用于:
29、在从所述计算机系统接收到随机数请求后,向所述计算机系统发送所述安全模块随机数。
30、这种实现方式的优点在于,安全模块随机数的传输可以由计算机系统控制,计算机系统确保所述传输与计算机系统的引导过程保持一致。此外,安全模块随机数只有在被请求后才为计算机系统所知,并且可以针对每个单独的随机数请求提供不同的安全模块随机数。
31、在根据第一方面所述的安全模块的一种实现方式中,所述安全模块还用于:
32、向所述计算机系统发送用于计算哈希值的hash函数。
33、这种实现方式的优点在于,要替代哈希值的计算(例如,使用查表)以成功完成计算机系统的验证,难度更大。由于不同的hash函数可以用于不同的安全功能,因此这种实现方式还实现了安全电子系统中的算法敏捷性。
34、根据本发明的第二方面,通过用于安全电子系统的计算机系统实现上述目的及其它目的,所述计算机系统用于:
35、从安全模块接收安全模块随机数;
36、根据所述安全模块随机数计算第一哈希值;
37、向所述安全模块发送所述第一哈希值。
38、根据第二方面所述的计算机系统的优点在于,第一哈希值的计算受到安全模块随机数的影响,从攻击者的角度来看,使得第一哈希值不可预测。因此,提高了安全电子系统的安全性。
39、在根据第二方面所述的计算机系统的一种实现方式中,所述计算机系统还用于:
40、在接收所述安全模块随机数之前,向所述安全模块发送随机数请求。
41、这种实现方式的优点在于,安全模块随机数的传输可以由计算机系统控制,计算机系统确保所述传输与计算机系统的引导过程保持一致。此外,安全模块随机数只有在被请求后才为计算机系统所知,并且可以针对每个单独的随机数请求提供不同的安全模块随机数。
42、在根据第二方面所述的计算机系统的一种实现方式中,所述计算机系统还用于:
43、从所述安全模块接收用于所述计算机系统的每个硬件引导过程的安全模块随机数。
44、这种实现方式的优点在于,单个设备重放攻击是不可能发生的,因为安全模块随机数在计算机系统每次引导时都是新的。
45、在根据第二方面所述的计算机系统的一种实现方式中,所述计算机系统还用于:
46、根据所述安全模块随机数和所述计算机系统的代码镜像计算所述第一哈希值。
47、这种实现方式的优点在于,计算出的第一哈希值基于安全模块随机数而变化,从而避免了敌手可能利用的任何预先计算的值。
48、在根据第二方面所述的计算机系统的一种实现方式中,所述计算机系统还用于:
49、根据所述安全模块随机数和所述计算机系统的硬件引导过程的引导镜像计算所述第一哈希值。
50、这种实现方式的优点在于,使用安全模块随机数对第一哈希值进行的每次计算都是不同的,因此单个设备重放攻击是不可能发生的,因为安全模块随机数在计算机系统每次引导时都是新的。
51、在根据第二方面所述的计算机系统的一种实现方式中,所述计算机系统还用于:
52、从所述安全模块或从证明服务器接收hash函数;
53、根据所述hash函数和所述安全模块随机数计算所述第一哈希值。
54、这种实现方式的优点在于,要替代第一哈希值的计算(例如,使用查表)以成功完成计算机系统的验证,难度更大。由于不同的hash函数可以用于不同的安全功能,因此这种实现方式还实现了安全电子系统中的算法敏捷性。
55、根据本发明的第三方面,通过用于安全电子系统的证明服务器实现上述目的及其它目的,所述证明服务器用于:
56、获取用于计算哈希值的安全模块随机数,其中,所述安全模块随机数与安全模块和计算机系统相关联;
57、根据所述安全模块随机数计算所述计算机系统的第二哈希值。
58、根据第三方面所述的证明服务器的优点在于,所述证明服务器能够计算第二哈希值,以用于进一步验证计算机系统,即证明服务器可以重放并确认计算机系统完成的哈希计算。因此,提高了安全电子系统的安全性。
59、在根据第三方面所述的证明服务器的一种实现方式中,所述证明服务器还用于:
60、根据所述安全模块随机数和所述第二哈希值确定所述计算机系统的所述第二安全策略。
61、这种实现方式的优点在于,证明服务器能够生成第二安全策略形式的安全模块包,以使安全模块能够例如在离线模式下对计算机系统进行进一步验证。因此,安全模块能够根据第二哈希值和第二安全策略对未来的第一哈希值进行估值。
62、在根据第三方面所述的证明服务器的一种实现方式中,所述证明服务器还用于:
63、从所述安全模块接收所述安全模块随机数和所述计算机系统的第一哈希值;
64、根据所述第二哈希值验证所述第一哈希值;
65、在验证所述第一哈希值后,向所述安全模块发送所述第二安全策略。
66、这种实现方式的优点在于,定义计算机系统的行为和/或能力等的第一安全策略直接依赖于证明服务器对第一哈希值和安全模块随机数的确认。因此,安全模块不必依赖于对引导/代码数据的访问,而是可以依赖于由证明服务器执行的验证。
67、在根据第三方面所述的证明服务器的一种实现方式中,所述计算机系统的所述第二安全策略包括以下组中的一个或多个:安全状态、安全密钥、密码、数据访问、硬件访问和证明过程。
68、这种实现方式的优点在于,计算机系统的行为和/或能力可以根据第二安全策略进行配置。
69、在根据第三方面所述的证明服务器的一种实现方式中,所述证明服务器还用于:
70、向所述安全模块发送所述第二哈希值。
71、这种实现方式的优点在于,可以根据从证明服务器接收到的第二哈希值远程确认来自计算机系统的第一哈希值。因此,提高了安全电子系统的安全性。
72、在根据第三方面所述的证明服务器的一种实现方式中,所述证明服务器还用于:
73、根据所述安全模块随机数和所述计算机系统的代码镜像和/或引导镜像计算所述第二哈希值。
74、这种实现方式的优点在于,使用安全模块随机数对第二哈希值进行的每次计算都是不同的。因此,单个设备重放攻击是不可能发生的,因为随机数在计算机系统每次引导时都是新的。
75、在根据第三方面所述的证明服务器的一种实现方式中,所述证明服务器还用于:
76、向所述计算机系统发送用于计算哈希值的hash函数。
77、这种实现方式的优点在于,要替代第一哈希值的计算(例如,使用查表)以成功完成计算机系统的验证,难度更大。由于不同的hash函数可以用于不同的安全功能,因此这种实现方式还实现了安全电子系统中的算法敏捷性。
78、根据本发明的第四方面,通过用于安全模块的方法实现上述目的及其它目的,所述方法包括:
79、向计算机系统发送用于计算哈希值的安全模块随机数;
80、从所述计算机系统接收第一哈希值,其中,所述第一哈希值基于所述安全模块随机数;
81、根据所述第一哈希值确定所述计算机系统的第一安全策略。
82、根据第四方面所述的方法可以扩展为与根据第一方面所述的安全模块的实现方式相对应的实现方式。因此,所述方法的实现方式包括所述安全模块的对应实现方式的一个或多个特征。
83、根据第四方面所述的方法的优点与根据第一方面所述的安全模块的对应实现方式的优点相同。
84、根据本发明的第五方面,通过用于计算机系统的方法实现上述目的及其它目的,所述方法包括:
85、从安全模块接收安全模块随机数;
86、根据所述安全模块随机数计算第一哈希值;
87、向所述安全模块发送所述第一哈希值。
88、根据第五方面所述的方法可以扩展为与根据第二方面所述的计算机系统的实现方式相对应的实现方式。因此,所述方法的实现方式包括所述计算机系统的对应实现方式的一个或多个特征。
89、根据第五方面所述的方法的优点与根据第二方面所述的计算机系统的对应实现方式的优点相同。
90、根据本发明的第六方面,通过用于证明服务器的方法实现上述目的及其它目的,所述方法包括:
91、获取用于计算哈希值的安全模块随机数,其中,所述安全模块随机数与安全模块和计算机系统相关联;
92、根据所述安全模块随机数计算所述计算机系统的第二哈希值。
93、根据第六方面所述的方法可以扩展为与根据第三方面所述的证明服务器的实现方式相对应的实现方式。因此,所述方法的实现方式包括所述证明服务器的对应实现方式的一个或多个特征。
94、根据第六方面所述的方法的优点与根据第三方面所述的证明服务器的对应实现方式的优点相同。
95、本发明的示例还涉及一种计算机程序,其特征在于具有程序代码,当所述程序代码由至少一个处理器运行时,所述程序代码使所述至少一个处理器执行本发明的示例提供的任一种方法。此外,本发明的示例还涉及一种计算机程序产品,包括计算机可读介质和所述计算机程序,其中,所述计算机程序包括在所述计算机可读介质中,并且可以包括以下组中的一个或多个:只读存储器(read-only memory,rom)、可编程rom(programmable rom,prom)、可擦除prom(erasable prom,eprom)、闪存、电可擦除prom(electrically erasableprom,eeprom)、硬盘驱动器等。
96、通过以下具体实施方式,本发明的示例的其它应用和优点将变得显而易见。
1.一种用于安全电子系统(400)的安全模块(100),其特征在于,所述安全模块(100)用于:
2.根据权利要求1所述的安全模块(100),其特征在于,还用于:
3.根据权利要求1所述的安全模块(100),其特征在于,还用于:
4.根据权利要求1所述的安全模块(100),其特征在于,还用于:
5.根据上述权利要求中任一项所述的安全模块(100),其特征在于,所述计算机系统(200)的所述第一安全策略包括以下组中的一个或多个:安全状态、安全密钥、密码、数据访问、硬件访问和证明过程。
6.根据上述权利要求中任一项所述的安全模块(100),其特征在于,还用于:
7.根据上述权利要求中任一项所述的安全模块(100),其特征在于,还用于:
8.根据上述权利要求中任一项所述的安全模块(100),其特征在于,还用于:
9.一种用于安全电子系统(400)的计算机系统(200),其特征在于,所述计算机系统(200)用于:
10.根据权利要求9所述的计算机系统(200),其特征在于,还用于:
11.根据权利要求9或10所述的计算机系统(200),其特征在于,还用于:
12.根据权利要求9至11中任一项所述的计算机系统(200),其特征在于,还用于:
13.根据权利要求9至12中任一项所述的计算机系统(200),其特征在于,还用于:
14.根据权利要求9至13中任一项所述的计算机系统(200),其特征在于,还用于:
15.一种用于安全电子系统(400)的证明服务器(300),其特征在于,所述证明服务器(300)用于:
16.根据权利要求15所述的证明服务器(300),其特征在于,还用于:
17.根据权利要求16所述的证明服务器(300),其特征在于,还用于:
18.根据权利要求16或17所述的证明服务器(300),其特征在于,所述计算机系统(200)的所述第二安全策略包括以下组中的一个或多个:安全状态、安全密钥、密码、数据访问、硬件访问和证明过程。
19.根据权利要求15至18中任一项所述的证明服务器(300),其特征在于,还用于:
20.根据权利要求15至19中任一项所述的证明服务器(300),其特征在于,还用于:
21.根据权利要求15至20中任一项所述的证明服务器(300),其特征在于,还用于:
22.一种用于安全模块(100)的方法(500),其特征在于,所述方法(500)包括:
23.一种用于计算机系统(200)的方法(600),其特征在于,所述方法(600)包括:
24.一种用于证明服务器(300)的方法(700),其特征在于,所述方法(700)包括:
25.一种具有程序代码的计算机程序,其特征在于,所述程序代码用于:当所述计算机程序在计算机上运行时,执行根据权利要求22、23或24所述的方法。
