检查加密的秘密是否相同的方法技术

技术编号:39039992 阅读:17 留言:0更新日期:2023-10-10 11:52
本发明专利技术涉及一种用于检查加密的秘密是否相同的方法,其中这些秘密中的至少一个秘密以读取保护的方式存储在安全系统中。根据本发明专利技术的方法的特征在于,该至少一个安全系统具有加密散列值接口(2、4),其中在检查的情况下,通过该接口(2、4)输出加了盐或盐的散列值的秘密的散列值,用于与加了盐或盐的散列值的另外的秘密的相应散列值相比较。密的相应散列值相比较。密的相应散列值相比较。

【技术实现步骤摘要】
【国外来华专利技术】检查加密的秘密是否相同的方法


[0001]本专利技术涉及一种用于检查加密的秘密是否相同的方法,其中至少一个秘密以读取保护的方式存储在安全系统中。

技术介绍

[0002]当今,现代汽车是大型信息技术车辆生态系统的一部分。该车辆生态系统的核心部分是所谓的车辆后端(Vehicle Backend),或简称后端(Backend)。该车辆后端是一种通常由车辆制造商运营的服务器,车辆连接到该服务器并且可以通过该服务器例如连接到互联网或相互联网。后端与车辆之间的通信连接借助于已知的信息安全标准程序受到保护。其主要是TLS,有时也是IPSec。所有这些标准程序都基于所谓的非对称加密算法,例如ECC或RSA。车辆生态系统可以包括其他部件,例如安装在车辆中的单独的控制单元、智能手机及上面运行的应用程序,这些应用程序例如由车辆制造商提供,并且它们既与车辆或车辆的控制单元通信,又与后端通信。车内通信可以例如通过WLAN或蓝牙进行,而车外通信通常通过标准移动通信网络进行。车辆生态系统的其他组成部分也可以是特定于制造商的外部设备,例如所谓的OBD加密狗,它们通常通过硬件接口仅与车辆通信。这些通信关系通常也借助于非对称加密程序得到保护,例如还是通过TLS或IPSec。
[0003]然而,也存在这样的情况,即,以安全的方式向车辆生态系统的两个或多个参与者提供共享秘密是更有效的或由于安全要求而有必要,然后可以借助于基于共享秘密的加密方法(通常是所谓的对称加密算法)将这些秘密用于保护这些参与者之间的通信。共享秘密和基于它们的加密方法的示例可以是例如利用AES的128位共享密钥用于加密、利用HMAC的256位密钥用于身份验证或完整性验证、或者单独的加密用于加密身份验证。
[0004]这样的共享秘密则在使用这些秘密的系统中被尽可能地保护以防止未经授权的访问,并且这里特别是防止未经授权的读取访问。这可以如下实现,即只为使用这些秘密的加密操作的本地调用设置接口,而不为读取秘密本身设置接口。此外,这些秘密被尽可能地保护以防止逆向工程,例如通过基于软件的混淆技术或使用硬件安全模块(HSM)作为存储秘密的安全系统。这些秘密后续不再离开该安全系统。
[0005]此方法的优点在于,在使用硬件安全模块的情况下,没有人、特别是没有攻击者(有系统完全访问权限)可以访问秘密的值并且以可接受的努力以明文形式获得该秘密。所有使用密钥的加密操作也在安全系统(例如HSM)中执行。然而,这种方法的缺点是,当加密操作失败时更难进行故障排除。例如,当接收方解密或检查消息认证码(MAC)或密码时,可能会发生此类错误。例如,如果接收方的解密、完整性检查或身份验证失败,则自然会怀疑发送方所使用的秘密(例如用于加密和/或验证消息的密钥)与接收方用来解密消息和/或检查其完整性的密钥彼此不同。当秘密定期更新(出于安全原因这是完全有意义的),例如重新交换或重新协商时,这种怀疑就特别明显。如果到目前为止还无法使用这种最近更新的秘密进行成功的操作,那么很快就会怀疑错误在于秘密。然而,如果相关秘密由至少一个参与的通信伙伴保存在安全系统(例如上述HSM)中,则检查是否所有相关伙伴都使用相同
的秘密并不容易。该安全地存储在系统中的秘密的值不能被轻易地读出,而这也是其目的。因此,即使在调试情况下,尽管可以完全访问系统或设备,通常也无法读取。
[0006]这种相同性检查的一种可能方法可以是本身使用加密散列函数。这样就可以读出该秘密的散列而不是秘密本身。以这种方式,可以从不同的安全系统或从其中至少有一个安全的不同系统中读取同一秘密的不同实例的散列值/哈希值,然后通过比较该散列值来检查是否相同。其优点在于,密钥或秘密本身不会被读取并且通常也不能通过加密散列值被推断出来。
[0007]US2017/0366527A1使用散列值的形成及其比较在服务提供期间(Provisioning)保护秘密,从而能够创建安全指示器,该安全指示器在外部默认值与从密钥生成的散列值相同的情况下激活“安全标志”。
[0008]然而,当相关的秘密(例如密码)因为例如太短或具有特定已知模式而没有足够的熵时,该方法尤其成问题。在这种情况下,可以例如使用IT领域中已知的常见攻击方法(例如暴力破解、字典式攻击或彩虹表攻击)从散列值中推断出秘密。

技术实现思路

[0009]本专利技术的目的在于提出一种用于检查加密的秘密/秘密信息是否相同的合适方法,其中秘密本身保秘,同时仍可在针对外部攻击具有高安全性的情况下对秘密进行比较。
[0010]根据本专利技术,该目的通过具有权利要求1中(这里特别是权利要求1的特征部分中)的特征的方法来实现。有利的设计方案和改进方案在从属权利要求中给出。
[0011]根据本专利技术的用于检查加密的秘密是否相同的方法在此使用至少一个秘密,该秘密以读取保护的方式存储在安全系统中,按照根据本专利技术的方法的极其有利的改进方案,该安全系统可以被设计为硬件安全模块(HSM)。现在,该至少一个安全系统(例如HSM)具有散列值接口。通过该接口可以读取存储在安全系统中的秘密的加密散列值。此外,安全系统能够在生成散列值之前向秘密加入所谓的盐或这种盐的散列值。然后从秘密和添加的盐或其散列值生成加密散列值,以使对该秘密的攻击(例如通过彩虹表)变得困难,因为该彩虹表的创建将非常复杂和昂贵,因此不值得做出这种努力。
[0012]特别有效的是,根据一般定义并不是保密值的盐不由外部预给定并且优选地也不对所有查询固定。如果可能,盐应该在安全系统中生成并自由选择。以这种方式,可以确保安全地存储秘密以防止读取的安全系统始终只使用安全的盐。在此,重要的是,盐始终具有足够的长度和足够的差异。但现在的问题是,通过盐会向待存储的秘密添加一些内容,该内容在不同的系统中不一定相同,并且如果盐分别由系统本身预给定,则该内容通常将不会相同。由此,安全性的提高对相同性检查提出了挑战。因此,按照根据本专利技术的方法的特别有利的改进方案,盐被构造为多部分盐,其中盐分量由至少一个安全系统确定,并且其中其他盐分量被传输到该安全系统。
[0013]一方面利用这种可能性,即通过安全系统生成对于已知攻击而言非常安全的盐,其中按照根据本专利技术的方法的极其有利的改进方案,该盐作为自定的盐分量可以总是重新生成,并特别是总是通过安全的随机数生成器生成。然后将其他盐分量传输到该安全系统。
[0014]根据本专利技术的方法的另一个非常有利的设计方案还可以规定,在生成秘密的散列值之前公开由安全系统自定的盐分量。由此,安全系统优选分别针对相应情况而生成的盐
分量例如对于比较实例是已知的,该比较实例又可以将外定的分量传输到该安全系统。
[0015]另一个非常有利的设计方案规定,盐的分量与秘密的拼接顺序在安全系统中确定或由外部预先给定。秘密和盐的分量的顺序对盐与秘密的组合的散列值有决定性的影响。在此,该顺序例如可以由外部预先给定,其中理论上总是可以使用相同的顺序,例如在一个系统中为自定盐、外定盐和秘密,并且相应地在另一个系统中为盐分量顺序相反的结构,以便由两个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于检查加密的秘密是否相同的方法,所述秘密中的至少一个秘密以读取保护的方式存储在安全系统中,其特征在于,所述至少一个安全系统具有加密散列值接口(2、4),对于检查的情况,通过所述接口(2、4)输出加了盐或盐的散列值的秘密的散列值,用于与加了所述盐或所述盐的散列值的另外的秘密的相应散列值相比较。2.根据权利要求1所述的方法,其特征在于,所述盐被构造为多部分盐,其中一个盐分量由所述至少一个安全系统自定,而其他盐分量被传输到所述安全系统。3.根据权利要求2所述的方法,其特征在于,在生成加了这些盐分量的秘密的散列值之前公开由所述安全系统自定的盐分量。4.根据权利要求2或3所述的方法,其特征在于,所述盐分量与所述秘密在所述安全系统中的拼接顺序在所述安全系统中自行指定或由外部预先给定。5.根据权利要求2、3或4所述的方法,其特征在于,所述盐构造成两部分的盐,其具有自定的盐分量和外定的盐分量。6.根据权利要求2至5中任一项所述的方法,其特征在于,在检查存储在不同安全系统中的多个秘密时,在第一系统中请求其自定的盐分量,然后将所述盐分量传输到另一个安全系统,所述另一个安全系统将其自定的盐分量连同其秘密与所述两个盐分量的散列值一起传输,其中将所述另一个安全系统的自定盐分量作为外定盐分量传送回所述第一安全系统,所述第一安全系统又从其秘密与所述两个盐分量确定散列值,然后为了比较由所述两个系统为检查而传输的所述秘密与所述两个盐分量的相应的散列值。7.根据权利要求6所述的方法,其特征在于,相对于所述另一个系统所使用的拼接顺序(R),在所述第一安全系统的拼接顺序中所述两个盐分量被互换,因此至少所述第一系统接收到所述拼接顺序(R)作为被传...

【专利技术属性】
技术研发人员:V
申请(专利权)人:梅赛德斯奔驰集团股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1