本发明涉及用于确定借助于可信执行环境对操作数据进行数据处理的完整性的方法以及设备、数据处理设施和设施。
背景技术:
1、机密计算,特别是借助于也称为飞地的可信执行环境(英语:trusted executionenvironment)的机密计算,使得能够以加密形式对敏感数据进行数据处理。借助于机密计算,待处理数据即使在数据处理期间也不以明文形式存在于平台上,特别是在主存储器(ram)中。因此,借助于机密计算,即使在实际的数据处理期间也保持待处理数据的机密性。
2、在这种可信执行环境中,虽然数据在其数据处理过程中受到保护,然而,没有或只有非常有限的可能性来在这种可信执行环境中监视和检查数据处理的准确性,即完整性:
3、在嵌入式系统中、特别是在安全关键系统中,看门狗是已知的,所述看门狗在正在运行期间监视嵌入式系统的硬件并在发生错误的情况下强制重新启动。此外已知侧信道攻击,特别是针对加密算法的实现的侧信道攻击。已知功率指纹识别用于基于设备的电磁辐射或功耗概况来监视该设备(https://www.pfpcyber.com/how-it-works/)。
4、例如在英特尔sgx作为可信执行环境的情况下,已知可信执行环境相对于外部系统或其他飞地告知哪些应用(也称为应用程序或app)在可信执行环境中执行。然而,在此不检查可信执行环境是否按预期执行数据处理,即不检查数据处理的完整性。因此仍然需要更好地确定可信执行环境的完整性。
5、因此,迄今为止已知的可信执行环境虽然可以保护数据处理的机密性,使得可以处理敏感数据(例如必须像患者数据那样特别是满足数据保护要求的机密数据)和/或施工数据和/或制造的运行数据,而不会危及它们的机密性,但是在迄今为止已知的可信执行环境中无法保证数据处理的完整性,从而不知道在数据处理期间是否正确地确定了输出数据。即,无法确保可信执行环境和在所述可信执行环境上正确执行的程序代码的技术实现正确地发挥了作用。
技术实现思路
1、因此,本发明的任务是说明一种相对于现有技术改进的用于确定借助于可信执行环境对操作数据进行数据处理的完整性的方法。此外,本发明的任务是实现一种用于确定借助于可信数据处理对操作数据进行数据处理的改进设备,以及一种更可信的数据处理设施和一种更可信的设施。
2、本发明的这些任务利用具有在权利要求1中说明的特征的方法和利用具有在权利要求8中说明的特征的设备以及利用具有在权利要求9中说明的特征的数据处理设施以及利用具有权利要求10中说明的特征的设施来解决。本发明的优选扩展在相关联的从属权利要求、以下描述和附图中说明。
3、在用于确定借助于可信执行环境对操作数据进行数据处理的完整性的方法中,向所述可信执行环境传递具有所述操作数据和测试数据的输入数据,其中借助于所述数据处理将所述输入数据处理为输出数据,以及其中将所述输出数据中由经过处理的测试数据形成的部分与参考数据进行比较,并且根据所述比较确定所述数据处理的完整性。
4、本发明意义上的可信执行环境特别是隔离的执行环境,其优选地包括至少一个intel sgx处理器和/或至少一个arm处理器和/或至少一个trustzone处理器和/或至少一个amd处理器和/或至少一个risc-v处理器。可信执行环境优选地是在处理器上逻辑上分离的执行环境,即与常规执行环境隔离的执行环境。可信执行环境可以是逻辑上隔离的,但优选是基于硬件隔离的。然而,可信执行环境同样可以被实现为处理器上的独立硬件单元,例如单独的处理器核。优选地,可信执行环境实现存储器加密,优选地amd sme/sev和/或intel tme/mktme和/或同态存储器加密。可信执行环境可以是机密执行环境(英语:confidentialcomputing environment),其中在处理数据期间所述数据以密码加密形式或以混淆形式存在,使得所述数据在工作存储器中不以明文存在。特别优选地,机密执行环境是这样的执行环境,其也称为“可信执行环境(英文:trusted execution environment)”。
5、因此在根据本发明的方法中,作为输入数据不单单使用实际的操作数据,而是用测试数据来丰富操作数据。测试数据与操作数据合并并且优选地“交织”,以形成用于可信执行环境的输入数据。从可信执行环境输出的输出数据随后被分离,以形成经过处理的测试数据的数据流和经过处理的操作数据的另一数据流。基于参考数据对经过处理的测试数据进行检查。如果该检查表明所述测试数据的数据处理是完整的,则认为所述操作数据的数据处理是完整的。
6、优选地,在根据本发明的方法中,当所述参考数据与经过处理的测试数据一致时,确定所述数据处理的完整性,并且优选地借助于用户界面来显示该完整性。适宜地,可以规定完整性的数字确定,即完整或不完整。替代地或附加地并且同样适宜地,可以确定并优选地显示完整性程度,即高于设定的阈值的完整性或者说明完全完整性的特定概率的完整性。
7、在根据本发明的方法中,所述数据处理可以不加密地进行。优选地,在根据本发明的方法中,加密地进行所述数据处理。加密数据处理优选地应理解为以下数据处理,其中在数据处理期间,要借助于数据处理来处理的数据加密地存在于存储器中,例如特别是主存储器或ram中。在本发明的上述两个扩展中,用于确定完整性的方法都可以与这里描述的优点一起使用。
8、在根据本发明的方法中,将所述操作数据和所述测试数据优选地根据预给定的顺序或次序组合成输入数据。适宜地,测试数据可以根据时间顺序或次序或者根据按照数据量测量的顺序或次序来预给定。相应地,可以在输出数据流中根据时间顺序或者根据按照数据量测量的次序来容易地标识经过处理的测试数据。
9、替代地并且同样优选地,在根据本发明的方法中,将所述操作数据和所述测试数据在顺序或次序方面随机地和/或伪随机地组合成输入数据。适宜地,记录随机和/或伪随机的顺序或次序,以便可以基于该顺序或次序从输出数据流中容易地标识经过处理的测试数据。
10、在本发明的前两个扩展中,优选地基于顺序或次序从所述输出数据中提取经过处理的测试数据。根据顺序或次序,可以容易地从输出数据流中标识测试数据。优选地,将该顺序或次序保存或临时存储在工作存储器中,并且将该顺序或次序用于标识输出数据中由经过处理的测试数据形成的部分。
11、在根据本发明的方法的有利扩展中,所述测试数据形成所述输入数据中不需要借助于可信执行环境进行数据处理的部分。通过这种方式,不必将测试数据专门添加到操作数据中以生成用于可信执行环境的输入数据,而是可以如规定的那样使用操作数据。在本发明的该扩展中,取而代之的是将部分原始操作数据声明为测试数据。不形成测试数据的剩余操作数据现在形成本发明意义上的新操作数据。适宜地,不仅仅在可信执行环境内处理测试数据,而是还在可信执行环境之外处理测试数据,以获得用于比较的参考数据。当由于操作数据的性质而使得操作数据的子集作为测试数据在可信执行环境之外处理变得不重要时,本发明的该扩展是特别有利的。
12、根据本发明的设备特别是计算机程序产品,并且其优选地被构造为执行如上所述的根据本发明的方法。根据本发明的设备优选地具有测试数据生成器,所述测试数据生成器被构造和设置为形成测试数据。此外,根据本发明的设备优选地具有测试数据混合单元,所述测试数据混合单元被构造为将测试数据与操作数据合并。该设备优选地具有测试数据分离单元,所述测试数据分离单元被构造和设置为将经过处理的测试数据与经过处理的操作数据分离,使得可以形成经过处理的测试数据的数据流和经过处理的操作数据的另一数据流。所述设备优选地具有测试数据检查单元,所述测试数据检查单元被构造和设置为基于参考数据来检查经过处理的测试数据,即,将测试数据与参考数据进行比较。所述设备特别优选地具有输出数据开关设备,所述输出数据开关设备在经过处理的测试数据与参考数据一致的情况下释放输出数据,使得能够输出经过完整处理的操作数据。所述输出数据开关设备优选地被构造为,使得当经过处理的测试数据与参考数据不一致或者未在足够程度上一致时,所述输出数据开关设备不释放输出数据。适宜地,在这种情况下,输出数据由于未被释放而不由所述设备输出。
13、测试数据生成器和/或测试数据混合单元和/或测试数据分离单元和/或测试数据检查单元和/或输出数据开关设备可以分别优选地实现为软件组件和/或软件模块和/或实现为硬件装置。
14、根据本发明的数据处理设施具有如上所述的根据本发明的设备。
15、根据本发明的设施特别是制造和/或加工设施和/或自主车辆和/或医疗设备,优选地是模态设备,即针对成像方法设置和构造的医疗设备,并且具有如上所述的根据本发明的数据处理设施和/或如上所述的根据本发明的设备。