首页> 中国专利> 防篡改为设备的多个公钥提供多个数字证书的方法和系统

防篡改为设备的多个公钥提供多个数字证书的方法和系统

摘要

本发明涉及一种用于通过认证机构(CA)防篡改地为设备(D)的多个公钥(Kpub_1,…,Kpub_M)提供多个数字证书(CERT_1,…,CERT_M)的方法和系统,该方法具有下述方法步骤。首先为多个公钥中的每个分别建立用于请求数字证书的签名请求(CSR_1,…,CSR_M)。在此,按照签名规则(SR)用第j个私钥(Kpriv_j)对第i个公钥(Kpub_i)的签名请求进行签名,其中,第j个私钥(Kpriv_j)不同于配属于所述第i个公钥(Kpub_i)的第i个私钥(Kpriv_i)。在下一个方法步骤中,将全部签名请求(CSR_1,…,CSR_M)发送到同一个认证机构(CA),并且在认证机构(CA)中校验每个签名请求(CSR_1,…,CSR_M),其中,检查具有第j个私钥(Kpriv_j)的第i个签名请求(CSR_i)是否是根据签名规则(SR)签名的。

著录项

  • 公开/公告号CN104579676A

    专利类型发明专利

  • 公开/公告日2015-04-29

    原文格式PDF

  • 申请/专利权人 西门子公司;

    申请/专利号CN201410552867.8

  • 发明设计人 延斯-乌韦·布瑟;

    申请日2014-10-17

  • 分类号H04L9/32;H04L9/30;

  • 代理机构北京康信知识产权代理有限责任公司;

  • 代理人余刚

  • 地址 德国慕尼黑

  • 入库时间 2023-12-18 08:35:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-05

    授权

    授权

  • 2016-09-14

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20141017

    实质审查的生效

  • 2015-04-29

    公开

    公开

说明书

技术领域

本发明涉及一种用于通过认证机构防篡改地为设备的多个公钥提供多个数字证书的方法以及设备、认证机构、系统以及用于执行该方法的电脑程序和数据载体。

背景技术

在现代的数据网中,传输安全性一般以使用关于密码的方法为基础,例如以用于保证机密性的编码为基础,或者以用哈希函数计算得出的消息认证码(HMAC)或者用于保证完整性保护和可靠性的数字签名为基础。对于每个这种方法来说关于密码的参数是必不可少的。在这些方法中经常应用不对称的方法,其中对发送器和接收器分别采用不同的密钥。在此,必须保密的私钥用于对发出的消息进行签名和对接收到的消息进行解码,对此适配的公钥用于对接收到的消息进行校验以及对发出的消息进行编码。

对此,公钥通常以数字证书的形式公布,该数字证书将密钥与用户的数据连在一起。这种数字证书由可靠的机构、例如认证机构建立。借助于认证机构的公钥检查可靠性,该认证机构同样已经以证书的形式公布了,并且例如已经集成在操作系统、网络浏览器或者应用中。

终端用户的密钥对和证书能够例如直接由认证机构生成,并且随后分配给用户或者其设备。但是在这种分配中,必须针对未经授权的散播可靠地保护私钥。为了使得私钥在运送过程中不受到-可能的甚至是不被察觉的-泄露的危险,可以在用户的设备中本地地生成密钥对。然后必须仅将公钥运送到认证机构,与此相对地,私钥一直只保留在设备中。与之相反地,可以任意地运送和分配证书,因为其不包含机密的数据,并且通过认证机构的签名可靠地保护其应对每一个改变。

对于将公钥及其附属的用户数据从本地的生成机构运送到认证机构来说,签名请求、也称为Certificate Signing Request(CSR)作为专门的数据格式展开,并且被定义为针对公钥PKCS#10的密码标准,并且在InternetEngineering Task Force(IETF)的标准文献RFC2986进行了描述。签名请求由建立者用其私钥进行“自签名”。因此,认证机构能够在维护时仅仅检查建立者是否具有与所包含的公钥相适配的私钥。因此,不能够检查包含在签名请求中的用户信息是否正确。因此非常重要的是,只有当已经正确地建立并且确实地输送了签名请求时,认证机构才接受该签名请求。如果具有带有外地的用户数据的、特有的自建立的签名请求的攻击者实现了从认证机构得到证书,那么其就能够相对于其他的通信伙伴伪造假的身份标识,并且用其他用户的名字对数据签名以及获得机密的数据,该机密的数据实际上是委派给其他用户的。

在WO 2012/016859A1中例如描述了一种用于防篡改地提供证书的方法和装置,其中,只有在根据一次性密码成功地校验了从设备处接收到的信号消息的情况下,认证机构才为设备提供证书。在此,一次性密码事先由认证机构传输给设备,例如借助于在用户处的数据载体。然而其具有的缺点为,这种方法要求在认证机构和设备之间高成本地分配一次性密码。

通常有利的是,对于具有多个应用的设备来说,对每个应用采用不同的密钥对。例如能够对于对数据进行编码和解码采用第一密钥对,以及针对签名采用第二密钥对。然后,用于解码的私钥能够归档在备份数据库(恢复数据库)中,以便在丢失的时候能够将其重新建立并且用户能够重新访问其编码了的数据。私有签名密钥不需要并且不允许其归档在恢复数据库中。换而言之,在丢失的时候生成一对新的签名密钥,之后利用其生成并且检查签名。之前已经生成的签名能够继续用于检查旧的公钥。

通过标准有时也要求应用每个设备多个密钥对。因此,例如德国联邦信息技术安全局(BSI)的技术准则TR-03109要求未来的smart meteringgateway必须对在应用TLS协议下的安全通信采用一个密钥对,对测量数据的签名采用另一个密钥对,对所传输的数据的端-对-端-编码(Ende-zu-Ende-Verschluesselung)采用第三个密钥对。

发明内容

因此本发明的目的在于,提出一种用于特别为设备的多个公钥请求证书的简单的方法,该方法不用分配附加的参数、例如一次性密码,并且附加地,容易识别对签名请求手段的篡改。

该目的通过独立权利要求所描述的措施实现。从属权利要求示出了本发明的有利的改进方案。

根据本发明的、用于通过认证机构防篡改地为设备的多个公钥提供多个数字证书的方法,其具有下述方法步骤。首先为多个公钥中的每个分别建立用于请求数字证书的签名请求。在此,按照签名规则用第j个私钥对第i个公钥的签名请求进行签名,其中,第j个私钥不同于配属于所述第i个公钥的第i个私钥。在下一个方法步骤中,将全部签名请求发送到同一个认证机构,并且在认证机构中校验每个签名请求,其中,检查具有第j个私钥的第i个签名请求是否是根据签名规则签名的。

通过用不配属于第i个公钥的第j个私钥对第i个公钥的签名请求进行签名,认证机构能够轻易地识别出一个或多个签名请求已经被拦截并且已经由攻击者通过篡改它或者它们的签名请求来代替这一个或多个签名请求。为了保证这种防篡改性,不需要在设备和认证机构之间交换或者分配附加的密码。

特别有利地是,当且仅当所有的签名请求都已经通过校验时,才在附加的方法步骤中为全部多个公钥分别签发数字证书。未通过校验的签名请求已经表明在这个设备的一个或者多个签名申请中发生了篡改。在该情况下,这个设备的至少几个或者所有的签名申请被认证机构拒绝,并且按照需要采取进一步的措施。

在一个有利的实施方式中,作为签名规则,用第j个私钥例如循环地或者反循环地或者以其它的方式交换地对第i个签名请求分别进行签名。通过这种签名规则,设备的所有的签名请求CSR_i相互耦合并且不会形成不相交的子群。这种签名规则能够集成在很少的程序行中。因此,由于程序的扩大,在设备和认证机构中对于附加容量的需求小的能够忽略不计。当认证机构等待直到设备的所有的签名请求都出现,并且随后其一起检查的时候,由于对请求消息更长的存储,可能会需要在认证机构中有更大的存储器。由于签名请求的典型的很小的大小只有大约300到1000字节,并且由于当今应用的、所持续的数据存储器的典型大小都至少有几百十亿字节(Gigabyte),这种更多的需求同样小的能够忽略不计。此外,如果认证机构中的签名请求仅在人类用户(menschlichen Anwender)的检查后就开始继续处理,那么其也必须按照常规的方法相应地长时间地存储。因为对于每个请求到的证书来说,只有一个签名请求本地地建立在设备上并且那个位置也只能签名一次,并且此外,因为对于每个签名请求来说,认证机构也只检查一个签名,所以密码运算的计算开销相对于具有自签名的签名请求的常规的方法并不高,并且不需要增加参与设备的处理器负载。

在一个有利的实施方式中,将签名请求分别以随机的等待时间相互间隔开地发送到认证机构。这妨碍了攻击者抑制、并且通过具有其特有的密钥的伪造的签名请求来代替所有的、相互配属的、通过交换签名耦合在一起的签名请求消息。

本发明的另一个有利的设计方案为,将签名请求分别通过不同的通信路径发送到所述认证机构。这进一步防止了对签名请求消息的拦截和篡改。然后一个特殊的情况为,例如由于冗余的原因提供多个传输网、例如UMTS那样的无线移动通讯网或者具有例如数字用户接口(DSL)的固定电话网。

在一个有利的实施方式中,认证机构将所请求的证书以公共消息(gemainsamen Nachrichten)的形式发回到设备处。这在避免了安全危险的同时节省了传输带宽,因为通过认证机构的签名已经保护了证书不受到不希望的更改。

在一个可替代的实施方式中,认证机构将所请求的证书以分为多个消息的形式发回到所述设备处。如果证书中的几个例如由于有错误的传输遭到损坏或者无效识别,那么能够实现只重新传输这几个证书。

在另一个实施方式中,从唯一的设备发出的签名请求的数量对于认证机构来说是已知的和/或被通知给所述认证机构。特别是当在整个系统中每个设备的签名请求的数量相同时,对主管这些设备的认证机构来说能够固定地预设签名请求的数量,以使得签名请求随后能够不需要其他参数地发送到认证机构。可替换地,在至少一个签名请求中的签名请求的数量从设备传输到认证机构。通过告知在至少一个签名请求中的签名请求的数量,认证机构能够为设备的请求建立不同的多个证书,并且因此能灵活地适用于不同的设备类型。

在另一个实施方式中,所应用的签名规则对于认证机构来说是已知的和/或被通知给所述认证机构。

在另一个有利的实施方式中,签名请求的数量和/或在至少一个签名请求消息中的签名规则从设备传输到认证机构。

在另一个有利的实施方式中,当已经有至少一个签名请求没有通过校验时,认证机构触发警报。通过警报,认证机构和/或另外的机构、例如设备又或者上一级的控制单元注意到对签名请求的可能的篡改。然后能够自动地采取相应的措施,例如在日志文件中生成记录,暂时或者长时间地封锁网络连接和如证书建立这样的功能,和/或通过Email、SMS、IMS或者类似的服务直接向人类管理员报警。

在另一个变体中,当签名请求未通过校验时,通过认证机构拒绝签发至少所属的那个数字证书。尽管如此,这允许为进行发送的设备签发未通过校验的证书,并且能够实现部分地安全运行这个设备。

在本发明的另一个变体中,当已经有至少一个签名请求未通过校验时,认证机构拒绝签发所有的数字证书。因为对签名请求的篡改已经表明了活跃的攻击者的活跃性,并且有可能不能判定接收到的签名请求中的哪个已经被篡改,因此能够绝对避免为有可能被篡改的签名请求无根据地签发证书。

本发明同样涉及一种用于防篡改地为多个公钥提供多个数字证书的设备,该设备包括:存储单元,其设计为,存储多个具有各个公钥和相应的私钥的密钥对;询问单元,其设计为,为多个公钥中的每个分别建立用于请求数字证书的签名请求,并且按照签名规则用第j个私钥对第i个公钥的签名请求进行签名,其中,该第j个私钥不同于配属于第i个公钥的第i个私钥。另外,该设备还包括发送单元,其设计为将全部签名请求发送到同一个认证机构。

另外,本发明还包括一种用于防篡改地为设备的多个公钥提供多个数字证书的认证机构,其具有接收单元、存储单元和认证单元。接收单元设计为,从设备处分别接收用于为多个公钥中的每个请求数字证书的签名请求。存储单元设计为能够存储至少一条签名规则,其中签名规则给出,用第j个私钥对第i个公钥的签名请求进行签名,其中,该第j个私钥不同于配属于第i个公钥的第i个私钥。认证单元设计为,检查签名请求是否是根据所述签名规则签名的。

此外在一个优选地实施方式中,认证机构包括签发单元,其设计为,当所有的签名请求都已经通过校验时,为全部多个公钥分别签发数字证书。

另外,本发明包括一种用于为设备的多个公钥提供多个数字证书的系统,其具有至少一个根据本发明的设备以及根据本发明的认证机构。

另外,本发明涉及一种具有用于执行根据本发明的方法的程序指令的电脑程序以及根据要求存储了电脑程序的数据载体。

附图说明

根据本发明的方法的或者根据本发明的设备的实施例、根据本发明的认证机构的或者根据本发明的系统的实施例由附图示例性地说明,并根据下述说明进行详细的阐述。在此:

图1示意性地示出具有根据本发明所述的方法的两个签名请求的第一实施例,

图2示意性地示出具有根据本发明所述的方法的三个签名请求的第二实施例,并且

图3示意性地示出根据本发明的系统的实施例以及消息流的实施例。

具体实施方式

所有描述的和/或示出的特征都能够在本发明的范畴内有利地相互组合。本发明并不局限于所描述的实施例。

设备的密钥对能够在安全的环境中、例如在设备本身中生成。为了接收由认证机构为特别多的公钥签名的证书,在设备中为每一个公钥建立签名请求,并且将其发送到同一个认证机构。

在现今通常的方法中签名请求进行自签名,即用属于公钥Kpub_1的私钥Kpriv_1进行签名。

尤其是在通过不安全的网络、如互联网传输这种签名请求CSR_1时,签名请求可能会被抑制或者被包含有攻击者的公钥的伪造的签名请求代替。然后,该攻击者能够从认证机构获得具有设备的应用数据的签名,并且然后在网络中冒充该设备。

为了识别并且避免这种篡改,现在当在同一个认证机构中为设备的多个公钥Kpub_1,…,Kpub_M请求多个数字证书CERT_1,…,CERT_M时,通过私钥Kpriv_j根据发明分别对公钥Kpub_i的第i个签名请求CSR_i进行签名,该私钥配属于不同于Kpub_i的公钥Kpub_j。

两个相应的签名请求CSR_1,CSR_2由图1示出。两个签名请求都在设备中被建立,并且发送到对于两个证书来说的同一个认证机构。两个签名请求CSR_1,CSR_2分别包含应用数据UD,该应用数据例如包括设备的识别标志和其他例如组织或者设备的生产商这样的数据或者还包括其他表征设备的数据。签名请求CSR_1包括公钥Kpub_1,为该公钥请求证书CERT_1,并且用属于公钥Kpub_2的私钥Kpriv_2为其签名。签名请求CSR_2包括公钥Kpub_2,为该公钥请求证书CERT_2,并且用属于公钥Kpub_1的私钥Kpriv_1为其签名。

如果签名请求CSR_1,…,CSR_M中的多个、但不是所有被拦截并且由攻击者通过其篡改的签名请求进行替代,那么这能够由认证机构轻易的识别并且触发警报。

图2示出了循环交换地对三个签名请求CSR_1,CSR_2,CSR_3进行签名。在此,例如用属于公钥Kpub_1的私钥Kpriv_1对公钥Kpub_2的第二签名请求CSR_2进行签名。用属于公钥Kpub_2的私钥Kpriv_2对公钥Kpub_3的第三签名请求CSR_3进行签名。最后用属于公钥Kpub_3的私钥Kpriv_3对公钥Kpub_1的第一签名请求CSR_1进行签名。

如上所述,应该用属于其他公钥Kpub_i的私钥Kpriv_i对公钥Kpub_j的签名请求CSR_j进行签名,即i不同于j,这是为了签名请求相互进行耦合。当有两个签名请求时,只有一种可能的交换,即Kpriv_1对CSR_2签名并且Kpriv_2对CSR_1签名,并且因此也只有一种签名规则。当有三个签名请求时,有两种可能的交换规则:其中每个私钥Kpriv_i对正好是其他的公钥Kpub_j的签名请求CSR_j进行签名,也就是循环的交换,即Kpriv_1对CSR_2签名,Kpriv_2对CSR_3签名并且Kpriv_3对CSR_1签名;以及反循环的交换,Kpriv_1对CSR_3签名,Kpriv_3对CSR_2签名并且Kpriv_2对CSR_1签名。此外也可能的是,用私钥Kpriv_i对其他的公钥Kpub_j的多个签名请求CSR_j进行签名,例如Kpriv_1对签名请求CSR_2和签名请求CSR_3进行签名,Kpriv_2对签名请求CSR_1进行签名,并且Kpriv_3不对签名请求进行签名,因为已经用其他的密钥作为Kpriv_3对所有的签名请求进行了签名。在该情况下,所有的签名请求也都是相互耦合的。

当有四个和更多签名请求时,也可以用不相交的子群进行交换,例如Kpriv_1对签名请求CSR_2进行签名,Kpriv_2对签名请求CSR_1进行签名,Kpriv_3对签名请求CSR_4进行签名并且Kpriv_4对签名请求CSR_3进行签名。此外,这种具有不相交的子群的交换的应用具有的缺点为,不同子群的签名请求不再相互耦合并且当攻击者实现了用特有的签名请求代替不相交的子群的所有的签名请求时,随后认证机构不能再确定篡改。因此有利地是,应用具有一种交换的签名规则,该交换不形成不相交的子群。

不依赖于上述实施例,在签名请求CSR_i中除了用户数据UD之外还包含关于签名请求的数量M的数据,该数据从设备处通过签名的交换发送到认证机构。附加地,签名规则SR能够包含在签名请求消息中,并且因此其成为已知的。在此,这样耦合的签名请求和签名规则SR的数量M包含在至少一个签名请求消息中。然而,其也可以包含在每个签名请求消息中。

图3现在示出了在设备D和认证机构CA之间的示例性的消息流。在这个实施例中,签名请求CSR_1,…,CSR_M的数量M由设备D为用于为相应的公钥Kpub_1到Kpub_M请求证书的M个密钥对建立。在此,根据签名规则SR用第j个私钥Kpriv_j对第i个公钥Kpub_i的每个签名请求CSR_i进行签名,其中,该第j个私钥Kpriv_j不同于配属于第i个公钥Kpub_i的第i个私钥Kpriv_i,见图1和图2的实施例。随后在建立了任意的次序之后,将签名请求CSR_1,…,CSR_M在单独的消息中发送到认证机构CA,其中,例如在消息之间保持随机的等待时间。有利地是,将签名请求CSR_1,…,CSR_M分别通过不同的通信路径发送到认证机构CA,特别是例如通过无线移动通讯网或者固定数据网来实现。

如果所有的签名请求CSR_1,…,CSR_M都到达了认证机构CA,那么该认证机构不检查签名请求CSR_1,…,CSR_M是否进行了自签名,而是检查其是否根据签名规则SR以所期望的方式根据本发明交换地进行签名。

要么通过预设定,要么通过例如签名管理机构的告知,使得设备D的所期望的签名请求CSR_1,…,CSR_M的数量M对于认证机构CA是已知的。同样地也适用于在设备中应用的签名规则SR。这对于认证机构CA同样是已知的。可替代地,如图2示出的那样,能够在至少一个签名请求中包含耦合的签名请求CSR_1,…,CSR_M的数量M和签名规则SR,并且能够由认证机构读取和应用。在此重要的是,关于数量M以及具有设备D的识别标志的信息是连在一起的,该识别标志例如是包含在应用数据UD中的。

如果认证机构CA中的所有的检查都成功了,即所有的签名请求CSR_1,…,CSR_M都通过了校验,那么认证机构CA为全部多个公钥Kpub_1,…,Kpub_M分别分配数字证书CERT_1,…,CERT_M。数字证书CERT_1,…,CERT_M能够要么一起要么分开地传输到签名请求CSR_1,…,CSR_M的建立者处。作为发回到设备的替换或者对此的附加,也能够在开放的、可进入的存储区域中提供证书,并且由设备或者第三方实现对证书的询问。为了清楚起见,图3仅示出了证书在消息中的整体传输。

如果在签名规则SR下至少一个签名和签名请求CSR_j不匹配并且因此未通过校验,那么认证机构就拒绝至少对所属的数字证书的签发。然而有利地是,当已经有至少一个签名请求CSR_j未通过校验时,认证机构CA拒绝对所有的数字证书CERT_1,…,CERT_M的签发。

在未通过校验时,认证机构CA能够触发警报,并且因此进行发送的设备D、又或者想要在认证机构处申请证书的或者例如通过相同的数据网与认证机构相连的其他的设备,或者人类管理者进入警戒状态。在警报持续期间,能够阻止证书的请求和/或建立,或者能够将证书的请求和/或建立推迟直到主动关闭警报。

图3的上面部分示例性地示出了根据本发明的系统S。该系统包括认证机构CA和设备D,该认证机构和该设备通过一个或者多个未示出的数据传输网互相连接。

设备D包括存储单元31、询问单元32以及发送单元33,它们分别互相连接。附加地,发送单元33还包括未示出的接口,用以将签名请求CSR_1,…,CSR_M发送到认证机构CA。在此存储单元31设计为存储多个具有各个公钥Kpub_1,…,Kpub_N和相应的私钥Kpriv_1,…,Kpriv_N的密钥对K_1,…,K_N。设备D既能够为所有的公钥Kpub_1,…,Kpub_N又能够为其子集M,然而其中M必须大于1,在同一个认证机构CA处请求证书CERT_1,…,CERT_M。

在询问单元32中分别建立用于为多个公钥Kpub_1,…,Kpub_M中的每个请求数字证书的签名请求CSR_1,…,CSR_M,其中,根据签名规则SR对签名请求CSR_i进行签名。将这些签名请求CSR_1,…,CSR_M转送到发送单元33。在此将其设计为,将所有的签名请求CSR_1,…,CSR_M以例如随机的等待时间间隔开地发送到同一个认证机构。然而在此,能够为各种签名请求CSR_1,…,CSR_M应用通到不同的传输网的不同的接口。

认证机构CA包括接收单元35,该接收单元与存储单元36以及认证单元37连接。认证单元37与存储单元36以及签发单元38连接。在此接收单元35设计为能够从设备D接收签名请求CSR_1,…,CSR_M。

在存储单元36中存储:至少一条签名规则SR,其针对来自预定的设备D的签名请求CSR_1,…,CSR_M;以及耦合了的签名请求CSR_1,…,CSR_M的数量M,从用于为公钥Kpub_1,…,Kpub_M请求证书CERT_1,…,CERT_M的设备D处已经接收到了这些签名请求。附加地,能够在那里存储要进行耦合的签名请求的数量M。

认证单元37包括例如处理器元件,以便检查签名请求CSR_1,…,CSR_M是否是根据所述签名规则SR签名的。此外,认证单元37包括用于激活警报的方法,例如生成和传送一份告知,将其发送到进行发送的设备D处或者其他的设备处或者中央通知机构。

签发单元38设计为,当所有的签名请求CSR_1,…,CSR_M都已经通过校验并且已经由认证单元37将其告知给签发单元时,为全部公钥Kpub_1,…,Kpub_M分别签发数字证书CERT_1,…,CERT_M。签发单元38同样包括一个或者多个通到传输网的接口,通过接口,签发单元将签发了的证书CERT_1,…,CERT_M要么一起要么分开地发回到设备处,或者将这些证书存入开放的、可进入的存储装置中,例如服务器。

所有描述的和/或示出的特征都能够在本发明的范畴内有利地相互组合。本发明并不局限于所描述的实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号