数据处理装置和用于此的运行方法
阅读说明:本技术 数据处理装置和用于此的运行方法 (Data processing equipment and operation method for this ) 是由 J.施拉姆 A.森肯斯 B.卡斯佩尔 于 2019-05-22 设计创作,主要内容包括:本发明涉及一种尤其用于控制设备的数据处理装置,其中所述数据处理装置具有至少一个计算装置、存储装置、硬件安全模块和至少一个密码模块。(The data processing equipment that the present invention relates to a kind of particularly for controlling equipment, wherein the data processing equipment has at least one computing device, storage device, hardware security module and at least one crypto module.)
技术领域
本公开内容涉及一种尤其用于控制设备的数据处理装置,其中,所述数据处理装置具有至少一个计算装置和存储装置。
本公开内容此外涉及一种用于这样的数据处理装置的运行方法。
背景技术
开头提到的类型的数据处理装置是已知的并且具有相对低的灵活性和安全性。
发明内容
与此相应地,本发明的任务是,如下改善开头提到的类型的数据处理装置和相应的运行方法:即提供提高的灵活性和安全性。
在开头提到的类型的数据处理装置情况下,所述任务根据优选的实施方式通过以下方式来解决:数据处理装置具有硬件安全模块和至少一个密码模块(Kryptografiemodul)。由此,尤其在数据处理装置的运行期间提供提高的灵活性。优选地,密码模块可以至少暂时独立于硬件安全模块地工作,使得尤其也在时间上重叠地能够通过一方面硬件安全模块以及另一方面密码模块完成不同的数据处理任务。在另外的优选的实施方式情况下,例如可设想的是,硬件安全模块尤其对于或者为了准备密码计算而接管配置任务,而密码计算本身优选地例如通过密码模块并且在此情况下尤其独立于硬件安全模块或在不通过硬件安全模块参与的情况下被实施。
在另外的优选的实施方式情况下规定,设置有用于在所述数据处理装置的部件之间进行数据交换的第一数据总线。在此情况下,例如可以是数据处理装置或目标系统的系统总线,数据处理装置可以集成到所述目标系统中。目标系统可以例如是控制设备。
在另外的优选的实施方式情况下规定,所述至少一个密码模块优选完全地被构造为硬件电路,其中,尤其所述至少一个密码模块布置在所述硬件安全模块外部。由此,一方面能够实现通过密码模块的特别有效率的数据处理,以及另一方面提供提高的安全性和可缩放性(例如通过设置多个密码模块)。
在另外的优选的实施方式情况下规定,所述至少一个密码模块具有用于通过所述第一数据总线、例如系统总线进行数据交换的第一数据接口。由此,能够实现与连接到第一数据总线上的其他部件的高效的数据交换。
在另外的优选的实施方式情况下规定,所述至少一个密码模块具有用于与所述硬件安全模块进行直接的数据交换的第二数据接口。由此提供用于与硬件安全模块进行数据交换的特别安全的可能性。尤其是,必要时连接到第一数据总线或系统总线上的其他部件(除硬件安全模块之外)不能够通过第二数据接口访问密码模块。尤其由此有利地实现安全域与保密域的隔离(Separation),这是因为按照硬件的分离是通过第一数据接口和与第一数据接口不同的第二数据接口实现的。
在另外的优选的实施方式情况下规定,所述至少一个密码模块具有以下部件中的至少一个:用于实施至少一个第一密码功能的主密码单元、用于实施至少一个第二密码功能和/或其他功能(例如比较)的处理单元、尤其是比较单元、用于至少暂时存储密码密钥的密钥存储装置、中断请求控制单元、规则监控单元、操纵寄存器、状态寄存器、数据缓冲器。
在另外的优选的实施方式情况下规定,所述第一密码功能具有以下元素中的至少一个:a)AES算法、尤其根据联邦信息处理标准出版物197,2001年11月26日,https://doi.org/10.6028%2FNIST.FIPS.197的AES算法;b)CMAC,基于密文的消息认证码;c)ECB,电子码本模式;d)CBC,密文分组链接模式;e)CTR,计数器模式;f)OFB,输出反馈模式;g)CFB,密文反馈模式;h)GCM,伽罗瓦计数器模式。
在另外的优选的实施方式情况下规定,所述硬件安全模块被构造用于通过第二数据总线与至少一个密码模块交换数据。第二数据总线的设置能够实现在硬件安全模块与密码模块之间的尤其完全独立于第一数据总线或系统总线的安全的数据传输。
另外的优选的实施方式涉及根据专利权利要求8所述的用于运行数据处理装置的方法。
另外的优选的实施方式涉及根据专利权利要求11所述的控制设备。另外的优选的实施方式是从属权利要求的主题。
本发明的另外的特征、应用可能性和优点由本发明的在附图的图中示出的实施例的以下描述得出。在此,所描述的或所示出的所有特征本身或以任意组合的方式构成本发明的主题,而与其在权利要求中的概要或其引用关系无关以及与其在说明书或附图中的表述或表示无关。
附图说明
在附图中:
图1示意性地示出根据一种实施方式的数据处理装置的简化框图;
图2示意性地示出根据一种实施方式的密码模块的简化框图;
图3示意性地示出根据一种实施方式的控制设备的简化框图;
图4示意性地示出根据另一实施方式的密码模块的简化框图;
图5示意性地示出根据一种实施方式的方法的简化流程图,以及
图6示意性地示出根据一种实施方式的数据结构。
具体实施方式
图1示意性地示出根据一种实施方式的数据处理装置100的简化框图。数据处理装置100具有至少一个计算装置110和存储装置120。计算装置110可以以自身已知的方式具有一个或多个计算核心或处理器,其被构造用于实施软件、例如计算机程序。存储装置120优选地具有易失性存储器、尤其工作存储器120a和非易失性存储器、例如闪速EEPROM存储器120b。
数据处理装置100此外具有硬件安全模块130,所述硬件安全模块130被构造用于实施密码方法和/或用于通过其他部件支持密码方法的实施,例如用于保护或检验在数据处理装置100或包含数据处理装置100的目标系统与另一单元(未示出)之间交换的消息。这在优选的实施方式情况下尤其当数据处理装置100被使用在用于机动车的控制设备中时可能是这种情况。由于在机动车之内和之外的越来越广泛的通信关系,在车辆内在控制设备联合(Steuergeräteverbund)中借助于密码机制、诸如认证和/或加密对各个车辆消息进行保护是有利的。这种行动(Vorgehen)被归入保密通信(Secure Communication)中。这涉及可靠的或可认证的消息的接收(验证)和发送(生成)。在优选的实施方式情况下,因而可以使用硬件安全模块130用于支持在控制设备之内或者在不同的控制设备之间的保密通信。
在另外的特别优选的实施方式情况下,可以使用硬件安全模块130例如用于计算用于保密通信的唯一的指纹值(例如基于AES-128CMAC方法的对称密码)。由此,可以实现对目标系统或控制设备的保密域(Security Domäne)利用其密码密钥和外部“不安全的”(尤其在保密意义上)安全域(Safety Domäne)的安全功能进行封装(Sapselung)。在另外的完全特别优选的实施方式情况下,硬件安全模块130对于密码计算的上述示例性提到的类型可以具有可选的硬件加速器(“AES加速器”)。
在另外的特别优选的实施方式情况下,有利地通过以下方式进一步提高数据处理装置100的灵活性:即除了硬件安全模块130之外,设置有至少一个单独的、也即例如不集成到硬件安全模块130中的密码模块140。
由此提供尤其在数据处理装置100运行期间的还进一步提高的灵活性。优选地,密码模块140可以至少暂时地独立于硬件安全模块130地工作,使得尤其也可以在时间上重叠地通过一方面硬件安全模块130以及另一方面密码模块140完成不同的数据处理任务。在另外的优选的实施方式情况下,例如可设想的是,硬件安全模块130承担尤其用于密码计算的配置任务,而密码计算本身例如通过密码模块140并且在此情况下尤其独立于硬件安全模块130地或在不通过硬件安全模块130参与的情况下被实施。
在另外的优选的实施方式情况下规定,设置有用于在所述数据处理装置100的部件110、120、130、140之间进行数据交换的第一数据总线150。在此情况下例如可以是数据处理装置100或目标系统(控制设备)的系统总线,其中数据处理装置100可以集成到所述目标系统中。
可选地,也可以设置有用于调试的装置160,所述装置例如具有调试接口或专用调试硬件。在另外的实施方式情况下,装置160可以例如通过系统总线150与数据处理装置100的其他部件连接。
在另外的优选的实施方式情况下规定,所述至少一个密码模块140尤其完全地被构造为硬件电路,其中,尤其所述至少一个密码模块140布置在所述硬件安全模块130外部。由此,一方面能够实现通过密码模块140的特别有效率的数据处理,以及另一方面提供提高的安全性和可缩放性(Skalierbarkeit)(例如通过可选地设置多个密码模块140)。
在另外的优选的实施方式情况下规定,所述至少一个密码模块140具有用于通过所述第一数据总线150、例如系统总线进行数据交换的第一数据接口142a。由此,能够实现与连接到第一数据总线150上的其他部件110、120、130的高效数据交换。
在另外的优选的实施方式情况下规定,所述至少一个密码模块140具有用于与所述硬件安全模块130进行直接的数据交换(参见线142b')的第二数据接口142b。由此提供用于与硬件安全模块130进行数据交换的特别安全的可能性。尤其是,必要时连接到第一数据总线150或系统总线上的其他部件(除硬件安全模块130之外)不能够通过第二数据接口142b访问密码模块140。
在下面示例性地参考根据图2的配置1400描述的另外的优选的实施方式情况下规定,所述至少一个密码模块140(图1)具有以下部件中的至少一个:用于实施至少一个第一密码功能的主密码单元1410、用于实施至少一个第二密码功能和/或其他功能(例如比较)的处理单元1420、尤其比较单元、用于至少暂时存储密码密钥的密钥存储装置1430、中断请求控制单元1440、规则监控单元1450、操纵寄存器1460a、状态寄存器1460b、数据缓冲器1470a、1470b。
在另外的优选的实施方式情况下,图1中的至少一个密码模块140可以例如具有在图2中描绘的配置1400。在另外的实施方式情况下可想像的是,密码模块140具有在图2中描绘的部件中的仅仅一个或多个,而不是具有配置1400的在图2中示例性描绘的部件中的所有部件。
在另外的优选的实施方式情况下规定,所述第一密码功能(尤其通过主密码单元1410(图2)可实施)具有以下元素中的至少一个:a)AES算法、尤其根据联邦信息处理标准出版物(Federal Information Processing Standards Publication)197,2001年11月26日,https://doi.org/10.6028%2FNIST.FIPS.197的AES算法;b)CMAC,基于密文的消息认证码(Cipher-Based Message Authentication Code);c)ECB,电子码本模式(Electronic codebook mode);d)CBC,密文分组链接模式(Cipher block chaining mode);e)CTR,计数器模式(Counter mode);f)OFB,输出反馈模式(Output feedback mode);g)CFB,密文反馈模式(Cipher feedback mode);h)GCM,伽罗瓦计数器模式(Galois counter mode)。
在另外的优选的实施方式情况下规定,所述硬件安全模块130被构造用于通过第二数据总线150a(图1)与至少一个密码模块140交换数据。第二数据总线150a的设置能够实现在硬件安全模块130与密码模块140之间的尤其完全独立于第一数据总线150或系统总线的特别安全的数据传输。
图3示意性地示出作为用于根据所述实施方式的数据处理装置100的目标系统的控制设备1000的简化框图。控制设备1000例如可用于机动车,例如用于控制机动车的内燃机10的运行。控制设备1000可以拥有另外的部件200。有利地,通过数据处理装置100提供的功能性尤其在密码功能实施方面可以由控制设备1000或其另外的部件200使用。由此尤其是能够实现例如在另外的部件200之内和/或与外部的部件(未示出)、诸如例如机动车的另外的控制设备的受保护的通信。
图4示意性地示出根据另一实施方式的密码模块1400a。在一些实施方式情况下,例如根据图1的密码模块140或根据图2的密码模块1400可以具有下面参考图4描述的配置或所述配置的至少部分。特别优选地,密码模块1400a完全以硬件实现。
密码模块1400a具有主密码单元1410,所述主密码单元例如与根据图2的主密码单元1410可比地构造。换言之,根据图4的主密码单元1410被构造用于实施至少一个第一密码功能,其中,第一密码功能具有以下元素中的至少一个:a)AES算法、尤其根据联邦信息处理标准出版物(Federal Information Processing Standards Publication)197,2001年11月26日,https://doi.org/10.6028%2FNIST.FIPS.197的AES算法;b)CMAC,基于密文的消息认证码(Cipher-Based Message Authentication Code);c)ECB,电子码本模式(Electronic code book mode);d)CBC,密文分组链接模式(Cipher block chainingmode);e)CTR,计数器模式(Counter mode);f)OFB,输出反馈模式(Output feedbackmode);g)CFB,密文反馈模式(Cipher feedback mode);h)GCM,伽罗瓦计数器模式(Galoiscounter mode)。换言之,在另外的优选的实施方式情况下,主密码单元1410被构造用于实施上面提到的密码功能、尤其AES模式中的一个或多个。
在另外的优选的实施方式情况下,所提到的密码功能、尤其AES模式可借助于至少一个操纵寄存器1461a配置。优选地,这例如可以通过以下方式来实现:计算装置110通过第一数据总线150以写和/或读的方式访问至少一个操纵寄存器1461a,参见箭头1461a'。
在另外的优选的实施方式情况下,数据缓冲器1471a优选又以至少一个寄存器的形式设置,其方式是,例如至少暂时地可存储用于通过主密码单元1410实施第一密码功能的输入数据。优选地,设置有本地(lokaler)并行数据总线或并行数据连接dv1,以便将数据从数据缓冲器1471a传输至主密码单元1410中。优选地,输入数据可以通过计算装置110经由第一数据总线150被写到数据缓冲器1471a中,参见箭头1471a'。只要第一密码功能的实施要求例如输入数据的填补(填充),则这优选可以通过计算装置10来实施,例如在CMAC计算的情况下针对最后的分组(Block)的所谓10^n填补。
进一步优选地,计算装置110可以通过将相应的控制数据写到操纵寄存器1461a中来控制:多个可能的密码功能(例如CMAC、AES加密、AES解密,等等)中的哪些应通过主密码单元1410实施。特别优选地,一旦相应的控制数据已经被写到操纵寄存器1461a中,也可以自动地开始通过主密码单元1410对密码功能的实施。
进一步优选地,为了通过主密码单元1410实施密码功能,可以选择密码密钥以及可选地选择与密码密钥关联的相应的上下文。这可以优选地根据所选择的密码功能(例如通过预给定到操纵寄存器1461a中的控制数据)来进行。
可选地,设置有密钥存储装置1430,所述密钥存储装置具有访问和优先级控制装置1431。在密钥存储装置1430中可存储多个密码密钥并且可选地可存储与所述多个密码密钥关联的上下文。示例性地在图4中列举总共三组密钥数据1432,其中,每组密钥数据例如具有至少一个密码密钥、所属的上下文(“密钥上下文”)或规则(“策略”)并且可选地具有所谓的链接变量。链接变量(英语:chaining variable,CV)可以优选地被用于,至少暂时地存储密码功能的中间结果或初始化向量(IV),例如用于在所谓的“链接模式(chained mode)”中的分组密文(Blockchiffre)。可以优选地例如在优先级控制装置1431的控制下进行选择:将哪组密钥数据1432用于通过主密码单元1410实施确定的密码功能。例如,优先级控制装置1431为此可以根据操纵寄存器1461a的内容来控制上下文选择器1433(例如通过多路复用分路器实现),参见数据连接dv2、dv21。由此,在另外的优选的实施方式情况下确保:使用密码密钥和必要时使用与所选择的密钥上下文相配的链接变量。
换言之,在优选的实施方式情况下,密钥存储装置1430实现在多个密钥上下文之间的、硬件支持的上下文变换。在此优选地可能的是,在多个密钥上下文的每一个中,实施专用密码操作、尤其加密操作、例如AES操作。这优选独立于其他密钥上下文并且优选与其他密钥上下文并行地进行。由此有利地能够实现:密码数据处理通过数据处理装置100在不同的安全域之间的快速动态的(也即在数据处理装置100的运行时间进行的)变换是可能的。
在另外的实施方式情况下,根据与AES不同的标准的密码功能同样是可想像的。
例如,密钥存储装置1430被构造用于,对于主密码单元1410的每个可能的密码功能提供相应的密码密钥,并且可选地根据所期望的密码功能必要时提供对此的附加值(Zusatzwerte)、诸如上面已经描述的链接变量和/或其他中间结果等等。
特别优选地,密钥存储装置1430以所谓的密钥上下文形式的组织能够实现对多个密码密钥和所属的可选的数据、诸如链接变量的高效管理。进一步可选地,每组密钥数据可以具有规则数据或至少一个变量,其表征对于数据处理、尤其密码功能的实施可预给定的规则(“key policy:密钥策略”)。在特别优选的实施方式情况下,一组密钥数据因此具有至少一个密码密钥、可选的附加数据,其例如以链接变量和规则数据为形式。
在另外的优选的实施方式情况下,密钥上下文不仅可以通过计算装置10而且可以通过硬件安全模块130来选择,其中优选地,硬件安全模块130具有关于密钥上下文选择的更高优先级。在优选的实施方式情况下,对确定的密钥上下文的访问或者确定的密钥上下文的选择可通过已经提到的访问和优先级控制装置1431控制。例如,访问和优先级控制装置1431可以根据(Abhängigkeit)操纵寄存器(Kontrollregister)或控制寄存器1461a(可通过计算装置110和或硬件安全模块130预给定)、1461b(尤其仅仅可通过硬件安全模块130预给定)实施确定的密钥上下文的选择。
在另外的优选的实施方式情况下,密码密钥和/或所属的规则数据可以优选地仅仅通过硬件安全模块13被写到密钥存储装置1430中,参见数据连接dv4、dv41。如由图4可以看出的那样,可以为此可选地设置至少一个寄存器作为中间存储器或缓冲器1462。
图6示意性地示出如例如通过密钥存储装置1430可用于存储尤其密码密钥的数据结构。数据结构具有用于接纳可选的链接变量的第一分段CV、用于接纳密码密钥的第二分段KEY和用于接纳可选的规则数据的第三分段POL。
在另外的优选的实施方式情况下,密钥上下文的链接变量CV尤其可用于下面进一步描述的两种应用情况a)、b)。
a)密码功能、尤其AES操作的实施的初始化,其中,该初始化优选可以通过计算装置110来进行,
b)对于链接的(chained)AES操作的支持。
根据另外的优选的实施方式,可以对于密码功能的实施的上面提到的初始化a)可应用以下方面。对于一些AES运行类型或操作,使用至少一个初始化值,例如AES计数器模式中的计数器值和/或CBC模式或CMAC模式中的初始化向量。在优选的实施方式情况下,所提到的初始化值可以有利地借助于优选地以至少一个寄存器1463形式实现的缓冲器来提供,也参见数据连接dv5。为此,计算装置110可以例如通过第一数据总线150将相应的数据写到缓冲器1463中。缓冲器1463优选地通过并行数据连接dv51与复用器1434连接,所述复用器也可以被称作CV选择器,这是因为所述复用器实现缓冲器1462(通过数据连接dv41)、1463(通过数据连接dv51)的不同输入数据的选择用于存储在密钥存储装置1430中。
进一步优选地,计算装置110可以通过将控制数据写到相应的操纵寄存器1461a中来触发相应的初始化值的传输。可选地,该过程可以通过访问和优先级控制装置1431来监控或控制。
根据另外的优选的实施方式,可以对于上面提到的对于所链接的AES操作(例如用于其长度超过例如约16字节的可预给定最大长度的数据或消息的CBC、CMAC)的支持可应用以下方面。链接变量CV(图6)可以有利地被用于存储中间结果用于后续的AES操作。特别优选地,基于在多个密钥上下文之间的上下文变换的通过上面描述的实施方式能够实现的原理,有利地即使在以下这样的AES操作情况下也需要到另一密钥上下文的动态变换,即所述这样的AES操作并未已经结束,而是在所述AES操作中(von denen)例如才存在一个中间值。在这种情况下,可以将相应的中间结果存储在链接变量CV中。然后,可以进行密钥上下文的变换,以便能够实现密码功能在另一密钥上下文上的实施。必要时,稍后可以变换回先前处理的密钥上下文,其中,拾取(aufgegriffen)并且进一步处理在链接变量CV中存储的中间结果。上面提到的实施方式因此有利地实现在不同的密钥上下文之间的、完全硬件支持的变换,尤其不会需要硬件安全模块130侧的交互。
在另外的优选的实施方式情况下,也可设想的是,密钥上下文变换的原理附加地通过硬件安全模块130或相应的软件来扩展。为此有利地可以规定,链接变量CV可通过硬件安全模块130读入,例如在使用另外的数据缓冲器1464的情况下来读入,所述另外的数据缓冲器优选地又具有至少一个寄存器。链接变量CV从密钥存储装置1430至硬件安全模块130的传输因此例如可以在使用数据连接dv6、dv61和第二数据总线150a的情况下进行。由此能够实现,对于至少一个密钥上下文通过硬件安全模块130以软件形式(例如通过在计算单元110上实施的计算机程序控制硬件安全模块130)至少暂时地存储链接变量CV或在其中包含的中间结果并且在相应的密钥上下文上在另一时刻继续相应的AES操作,其方式是,将以软件形式至少暂时地中间存储的中间结果重新加载到密钥存储装置1430的所涉及的密钥上下文的链接变量CV中。
在另外的优选的实施方式情况下,密码模块1400a有利地被构造用于,支持至少约30个不同的密钥上下文,其中,每个密钥上下文优选地可通过示例性地在图6中描绘的数据结构(示例性地具有可选的链接变量CV、密码密钥KEY和可选的规则数据POL)表征。在另外的实施方式情况下,所提到的密钥上下文可以特别有利地同时或伪同时地(psedosimultan)通过密码模块1400a使用,也即尤其不需要通过其他部件110、130重新配置相应的密钥上下文。
在另外的优选的实施方式情况下,密码密钥或整个数据结构CV、KEY、POL存储在易失性存储器、尤其工作存储器(RAM)中,使得在数据处理装置100或密码模块1400a复位或这些部件中的至少一个的电能量供给中断的情况下,发生关于所提到的密钥或数据结构的优选完全的数据丢失。
特别优选地,涉及(zum Gegenstand haben)密码密钥KEY和/或链接变量CV到密钥存储装置1430中的传输的写访问仅仅能够通过硬件安全模块130实施,例如在使用第二数据总线150a的情况下实施,由此进一步提高密码模块1400a的安全性。尤其由此防止:攻击者在充分利用第一数据总线150的情况下、例如在对于计算装置110使用折衷的(kompromittierter)软件的情况下将伪造的密码密钥传输到密钥存储装置1430中。
在另外的优选的实施方式情况下可以规定,(尤其通过与硬件安全模块130不同的部件)对密钥存储装置1430的读访问提供可预给定的固定值,而不是密钥上下文的或所存储的数据结构的至少一个元素CV、KEY、POL的实际内容。
在另外的优选的实施方式情况下规定,(尤其单独)硬件安全模块130对链接值CV读访问,参见数据连接dv6、dv61、150a,由此尤其能够实现上面已经描述的、软件支持的上下文变换。
在另外的优选的实施方式情况下规定,不仅从计算装置110侧(参见数据连接dv2)而且从硬件安全模块130侧(参见数据连接dv7)选择密钥上下文是可能的,其中,优选通过访问和优先级控制装置1431进行优先化。
特别优选地,在另外的实施方式情况下,所选择的密钥上下文可用于每个密码功能,所述密码功能可通过主密码单元1410和/或处理单元1420、尤其是比较单元实施。
在另外的优选的实施方式情况下规定,将密码功能通过主密码单元1410实施的结果至少暂时地存储在输出数据缓冲器1471b中。优选地,输出数据缓冲器1471b被构造为寄存器或寄存器存储器。
可选地,第一密码功能通过主密码单元1410实施的结果也可以被传输给处理单元1420、尤其是比较单元,参见数据连接dv3。优选地,数据连接dv3是并行数据连接,如同在数据连接dv2、dv21情况下那样。
在优选的实施方式情况下,根据图4的处理单元1420、尤其是比较单元例如可以与根据图2的单元1420可比地构造,即用于实施例如比较。
在优选的实施方式情况下,处理单元1420、尤其是比较单元具有CMAC(基于密文的消息认证码,德语:verschlüsselungsbasierter Nachrichtenauthentifizierungscode(基于加密的消息认证码))存储单元1422并且具有比较单元1424。在这些实施方式情况下,处理单元1420、尤其是比较单元的功能性因此也可以作为“CMAC比较”来描述。
示例性地,CMAC存储单元1422被构造用于,至少暂时地中间存储借助于主密码模块1410获得的CMAC值,参见数据连接dv3。
进一步优选地,比较单元1424被构造用于,将所截取(trunkierten)的第一CMAC值与如通过主密码模块1410获得并且中间存储在CMAC存储单元1422中的所计算的第二CMAC值进行比较。优选地,在这样的比较之前首先配置比较单元1424。该配置可以例如包括信息,所述信息相应于所计算的第二CMAC值的比特、所截取的第一CMAC值。
在另外的优选的实施方式情况下,例如当主密码模块1410已经结束第二CMAC值的计算时(这例如可以通过计算装置110被信令化(signalisiert),例如借助于“最后的分组(Block)”的信令化)并且当所计算的CMAC值已经被写到CMAC存储单元1422中时,可以推动通过比较单元1424比较的开始。
在另外的优选的实施方式情况下,通过比较单元1424比较的结果可存储在数据缓冲器1465中,所述数据缓冲器优选被构造为寄存器。
根据一种优选的实施方式,对于借助于比较单元1424实施比较提出以下方案。以起始比特位置和所截取的第一CMAC值的长度初始化处理单元1420、尤其比较单元或比较单元1424。优选地,计算装置110被构造用于,在借助于比较单元1424实施比较之前,将所截取的第一CMAC值拷贝到为此设置的数据缓冲器1466(其优选又被实施为寄存器)中,参见数据连接dv8。特别优选地,将所截取的第一CMAC值在字节边界处对准地(“逐字节对齐地(bytewise aligned)”)存储在数据缓冲器1466中。只要需要(只要例如并未已经存在这样的在相应的字节边界处的对准),这可以必要时通过计算装置110实现。根据上面描述的实施方式的配置可特别简单和高效地通过计算装置110实施,例如借助于简单的存储器访问(存储器拷贝),所述存储器访问优选甚至可以硬件支持地被实施。
对于借助于比较单元1424实施比较,根据另外的优选的实施方式提出以下方案。比较单元1424借助于在可选的另外的数据缓冲器1477中存储的比特掩码被初始化。在优选的实施方式情况下,在比特掩码中,将与所截取的第一CMAC值的比特相对应的这样的比特置位(值“1”),并且将剩余的比特复位或不置位(值“0”)。在这些实施方式情况下,计算装置110与此相应地根据比特掩码在其全长度上根据所计算的CMAC值以如例如通过主密码模块1410提供的比特宽度来扩展所截取的第一CMAC值,并且将通过此方式获得的值存储在数据缓冲器1466中。在这些实施方式情况下,能够实现特别大的灵活性和相对不太复杂的按硬件的实现。
在另外的优选的实施方式情况下,设置有中断请求控制单元(英语:interruptController或interrupt control unit(中断控制器或中断控制单元))1440,所述中断请求控制单元能够实现:在数据处理装置100、尤其密码模块1400a运行期间,对通过中断请求(英语:interrupts(中断))可信令化的或可表征的事件进行反应。在优选的实施方式情况下,可以通过中断请求控制单元1440考虑以下事件中的至少一个,并且可选地向其他单元、例如硬件安全模块130信令化所述以下事件中的至少一个,参见数据连接1442:完成密码功能、例如AES操作(例如通过主密码单元1410)的实施、完成密码功能或比较通过处理单元1420、尤其比较单元(例如所截取的和所计算的CMAC值的比较)的实施。主密码单元1410可以例如借助于信号1410a来信令化这样的中断请求,并且处理单元1420、尤其比较单元可以例如借助于信号1420a来信令化这样的中断请求。特别优选地,存在用于向硬件安全模块130和/或计算装置110(图1)信令化中断请求的专用数据连接1442。进一步优选地,信令化也可以可配置地来设计,例如借助于软件可控制地来设计。在另外的优选的实施方式情况下,中断请求控制单元1440与此相应地具有自身的配置和/或状态寄存器,其在图4中为概览起见而未描绘。
在另外的优选的实施方式情况下,设置有规则监控单元1450。所述规则监控单元被构造用于检验:密码功能的例如通过计算装置110促使的、通过主密码单元1410的实施是否符合所述一个或多个规则,所述一个或多个规则通过当前有效的密钥上下文的规则数据POL(图6)预给定或允许。如果这是这种情况,则通过规则监控单元1450释放密码功能通过主密码单元1410的实施,参见在图4中未更详细标出的从单元1450至单元1410的箭头。否则,密码功能通过主密码单元1410的实施可以通过规则监控单元1450阻断或阻止。在另外的优选的实施方式情况下,规则监控单元1450或主密码单元1410的相应状态可以存储在寄存器、例如操纵寄存器1461a中。在另外的优选的实施方式情况下,也可以如此想像规则,使得禁止通过主密码单元1410向数据缓冲器1471b输出密码功能的分析的结果,参见数据连接dv9和象征性的开关dv9a。
在另外的优选的实施方式情况下,通过上面已经至少部分地描述的寄存器或缓冲器来实现在密码模块1400a或其部件1410、1420、1430、1440、1450与数据处理装置100(图1)的其他部件110、130之间的接口。
下面描述另外的有利的实施方式,所述实施方式涉及在硬件安全模块130和密码模块1400a之间的接口。
优选地,可以设置有至少一个操纵寄存器或控制寄存器,其优选地仅仅可通过硬件安全模块130访问,参见例如附图标记1461b。该控制寄存器例如可被用于,对于后续密码功能通过密码模块1400a的实施,能够借助于硬件安全模块130实现密钥上下文的选择。
进一步优选地,可以设置有寄存器1462,以便将密码密钥和/或链接值CV从硬件安全模块130传输至密钥存储装置1430中和/或将链接值CV从密钥存储装置1430传输至硬件安全模块130中。
进一步优选地,可以设置有另外的寄存器1464,所述另外的寄存器仅仅可以通过硬件安全模块130读取,例如出于从密钥存储装置1430中读取链接值CV的目的。由此,可以有利地在软件支持的情况下通过硬件安全模块130来支持上下文变换。
下面描述另外的有利的实施方式,所述实施方式涉及在计算装置110和密码模块1400a之间的接口。
优选地设置有操纵寄存器或者控制寄存器1461a,计算装置110可以访问所述操纵寄存器或者控制寄存器,参见数据连接150、1461a’。可选地,通过该数据连接也有可能硬件安全模块130对控制寄存器1461a进行访问。
此外,可以使用控制寄存器1461a来选择密钥上下文,所述密钥上下文可以被用于通过密码模块1400a实施密码功能。为了选择相应的密钥上下文,例如计算装置110可以将相应的控制数据写到控制寄存器1461a中。
此外,可以使用控制寄存器1461a来选择一个或多个密码功能,所述密码功能应通过密码模块1400a或其主密码单元1410和/或处理单元1420、尤其比较单元来实施,例如上面已经多次描述的不同的AES运行模式。
此外,可以使用控制寄存器1461a用于至少暂时地存储密码模块1400a或其至少一个部件1410、1420的内部状态或运行状态。
此外,优选地可以设置有可用于输入链接变量CV的值的另外的寄存器1463,例如作为用于将链接变量的值从计算装置110传输给密钥存储装置1430的中间存储器。
此外,优选地可以设置有另外的寄存器1471a,所述另外的寄存器可用于输入用于借助于主密码单元1410实施(多个)密码功能的输入数据。优选地,与此相应地,计算装置110可以将相应的输入数据写到寄存器1471a中,参见数据连接1471a'。
此外,优选地可以设置有另外的寄存器1471b,所述另外的寄存器可用于输出主密码单元1410的输出数据。计算装置110可以例如以读的方式访问另外的寄存器1471b,以便加载输出数据。如上面已经描述的那样,在一些实施方式情况下可以规定,仅在存在相应的规则的情况下才将输出数据写到寄存器1471b中。
下面,示例性地描述另外的方面和实施方式,其涉及在使用数据处理装置100或其密码模块140、1400、1400a的情况下受保护的通信。
在一些实施方式情况下,可以为受保护的通信设置初始化阶段。在初始化阶段中,硬件安全模块130可以将用于一个或多个安全通信域的密钥上下文传输到密码模块1400a中,其中,例如提供相应的密码密钥和/或可选的附加数据、诸如链接值CV或可选的规则POL。
一旦例如通过计算装置110或分配给该计算装置的通信接口(未示出)借助于通信信道接收消息,则计算装置110可以对于所述所接收的消息选择相应的密钥上下文,例如借助于将相应的控制数据写到寄存器1461b中。以可比的方式可以进行比较单元1424的相应的配置以及将所接收的消息输入到缓冲器1471a中以及将所接收的消息的所截取的CMAC值输入到缓冲器1466中。为此,在另外的实施方式情况下,可以适宜的是,通过计算装置110将所接收的消息划分成有用数据部分(有效载荷)和CMAC部分。然后,在另外的优选的实施方式情况下,例如通过将相应的控制数据写到控制寄存器1461a中,计算装置10可以推动所涉及的密码功能(例如对于所接收的消息形成CMAC值)通过密码模块1400a或主密码单元1410的实施。在实施之后,比较单元1424可以将在实施期间形成的CMAC值与所接收的消息的所截取的CMAC值进行比较。
在另外的优选的实施方式情况下,可以将比较结果、必要时连同密钥上下文或标识密钥上下文的值、可选地还有状态码(其例如表征成功的比较或失败的比较)写到寄存器1465中并且然后通过计算装置110来读入。在另外的优选的实施方式情况下,比较结果的提供可以通过中断请求1420a来信令化,所述中断请求通过单元1440尤其可转发给计算装置110,参见数据连接1442。
在其中例如消息通过数据处理装置100或其计算装置110可发送给其他单元(未示出)的另外的实施方式情况下,可以实施以下步骤。优选地,计算装置110可以根据对于要发送的消息待选择的安全域来选择密钥上下文,以便能够实现通过密码模块1400a对相配的CMAC值的求取。然后,在另外的实施方式情况下,计算装置110可以将要发送的消息传输到输入缓冲器1471a中,并且触发相应的AES操作(当前示例性地为在输入缓冲器1471a中存在的消息或相应的数据求取CMAC值),例如通过将相应的控制数据写到控制寄存器1461a中来进行。
在另外的实施方式情况下,在实施AES操作(当前示例性地求取要发送的消息的CMAC值)之后,可以将所求取的CMAC值存储在输出缓冲器1471b中,这有利地又可以通过中断请求1410a来信令化。
因而,在另外的实施方式情况下,计算装置110可以格式化要发送的消息(尤其是在添加如上面描述的所求取的CMAC值的情况下)并且将所述要发送的消息转交给通信接口以便发送。
在另外的优选的实施方式情况下,此外可想像的是,相对长的密码功能通过密码模块的实施是可通过一个或多个其他的、例如相对较短的密码功能中断的。这有利地通过上面描述的密钥上下文支持,或者是硬件支持的,例如通过密码模块1400a,和/或硬件支持的以及必要时软件支持的,例如在使用硬件安全模块130情况下利用通过计算装置110的部分的基于软件的控制。
在另外的有利的实施方式情况下也可想像的是,计算装置110具有多个计算核心,所述计算核心可以分别以上面示例性地描述的方式与密码模块1400a共同起作用。例如可想像的是,多个计算核心中的每一个维持在例如两个不同的安全域中的不同的通信过程并且为此使用通过密码模块1400a支持的不同的密钥上下文。
在另外的有利的实施方式情况下,有利地可以缩放通过密码模块1400a提供的功能性,其方式是,设置另外的类似的或相似的密码模块(未示出)并且例如借助于第二数据总线150a和/或至少一个分开的另外的数据总线(未示出)将所述另外的类似的或相似的密码模块连接到硬件安全模块130上。
图5示意性地示出根据一种实施方式的方法的简化流程图。在可选的第一步骤300中,例如通过将相应的控制数据传输或写到密码模块的一个或多个寄存器中,控制装置110(图1)配置密码模块140、1400、1400a。在接下来的第二步骤310中,密码模块实施至少一个第一密码功能,例如根据(auf)所提供的输入数据形成CMAC值。
尤其在密码功能的实施方面,根据所述实施方式的原理有利地能够实现数据处理装置100的灵活的和高效的运行。根据所述实施方式的数据处理装置可以有利地被用于对数据、例如所接收的或要发送的消息进行高效的密码保护和/或检验,例如通过形成或检验相应的CMAC值等等来进行。特别有利地,即使在对于数据处理装置100或其计算装置110高的通信负荷的情况下也仅仅对于硬件安全模块130形成相对低的负荷,这是因为密码功能的实施的主要部分可以高效地通过至少一个密码模块140、1400、1400a接管。特别有利地,在另外的优选的实施方式情况下,密码功能的实际计算可以在硬件安全模块130不有效参与的情况下进行,而在此情况下不损害域(保密和安全(Security und Safety))的完整性。在此可以有利地规定,硬件安全模块130基本上实施配置任务,然而不实施密码功能本身的有效实施。
相比于传统的数据处理装置,通过所述实施方式得出在灵活性和效率方面的显著提高,其中,附加地有利地也能够与保密域分离地满足对安全域(ISO26266)的要求。
本实施方式的另一个优点在于,可用于实施密码功能(例如计算指纹或CMAC值等等)(例如消息的长度、指纹的长度、新鲜度计数器、验证/生成,等等)和优选地通过计算装置110可以管理的信息可以直接由计算装置110传输给密码模块,尤其在不将所涉及的数据或信息首先传输给硬件安全模块130的情况下进行。
根据所述实施方式的原理有利地可想像用于数据处理装置的所有目标系统、诸如控制设备,在所述目标系统中使用密码功能。根据所述实施方式的原理特别有利地可用于控制设备,其实施具有许多通信关系的安全的通信。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:一种基于CNFET的三值SRAM-PUF电路