用于验证数字证书的方法和验证设备与流程

文档序号:21734680发布日期:2020-08-05 01:30阅读:520来源:国知局
用于验证数字证书的方法和验证设备与流程

本发明涉及一种用于验证预定数字证书的方法和一种用于验证预定数字证书的验证设备。



背景技术:

可以将数字证书分配给证书持有者,例如机器、现场设备或控制设备。所述证书持有者的数字证书例如用于加密从其他设备(用户设备)发送到所述证书持有者的数据,或用于由其他设备(用户设备)对所述证书持有者的数字签名进行核实。在所述用户设备使用所述数字证书之前,通常需要验证所述证书持有者的数字证书。

为此,所述用户设备可以调用信任库。所述信任库特别是说明:哪些证书颁发机构、特别是根证书颁发机构颁发从所述用户设备的角度来看允许的或可信任的数字证书或间接证明通过中间证书颁发机构的颁发可信。如果要验证的数字证书是由根据所述信任库创建直接或间接可信任的证书的证书颁发机构创建的,则可以对所述数字证书进行验证。

文献wo2017/121602a1公开了一种用于借助于分配的数字证书检查第一设备的安全等级的方法。该方法包括以下步骤:将具有安全等级的标识符的数字证书从所述第一设备发送到第二设备;通过所述第二设备对照预给定的安全规则来检查所述安全等级的标识符;以及根据所述安全规则的检查结果来执行安全措施。

文献wo2008/130191a1公开了一种在考虑安全水平的条件下使用内容的方法,在该方法中产生设备安全水平,获得内容,并且如果所述设备安全水平高于最小允许的设备安全水平则使用所述内容。

文献us5261002a包括一种用于在密码系统中颁发和撤回用户权限证书的方法。

文献us2006/0294384a1公开了一种信息处理设备,用于存储具有到期日的信息。所述信息将在所述到期日之后被新信息替换。



技术实现要素:

在这种背景下,本发明的任务在于实现对预定数字证书的改善的验证。

根据第一方面,提出了一种用于使用验证设备来验证预定数字证书的方法。所述验证设备存储允许信息,所述允许信息说明了大量数字证书中的哪些数字证书是允许的数字证书。此外,所述验证设备存储信任信息,所述信任信息说明了所述允许的数字证书的信任级别。所述方法包括:

在考虑所述允许信息的条件下确定是否允许所述预定数字证书;以及

如果确定所述预定数字证书是允许的,则在考虑所述信任信息的条件下确定所述预定数字证书的信任级别,特别是针对特定用途。

所述验证设备可以被构造为存储设备。所述验证设备可以在计算机上实施,特别是实施为工业网络的一部分。所述验证设备存储例如所述允许信息和所述信任信息。

验证数字证书特别是应理解为对所述数字证书进行核实,并确认所述证书对于特定用途而言足够可信。

所述允许信息特别是以下信息,其针对至少一个数字证书说明通常是否允许该证书,例如在颁发证书的证书颁发机构或所述证书的有效时间段方面的信息。所述允许信息可以例如说明哪些证书颁发机构创建从用户设备的角度看允许的证书。每个数字证书都包含已创建了所述数字证书的证书颁发机构的标识。然后,在考虑关于数字证书的证书颁发机构的信息的条件下,特别是可以推导出是否允许该数字证书。

数字证书的允许性特别是二进制信息:要么允许所述数字证书,要么不允许所述数字证书。

所述信任信息特别是说明了允许的数字证书的信任级别。数字证书的信任级别可以说明所述数字证书有多可信。例如,所述信任信息包括多个信任级别。特别地,可以基于所述信任信息将所述允许的数字证书划分为多个信任级别或信任类别。例如,可以在三个信任级别之间进行区分,每个信任级别说明了特定的允许的数字证书的低、中和高可信度。

所述预定数字证书特别是要验证的数字证书。在下文中,所述数字证书也仅称为“证书”。所述证书可以是根据x.509标准的包括公钥的公钥证书。所述证书也可以是属性证书。

所述证书可以由用户设备从分配了所述证书的设备那里接收。特别地,所述用户设备想要核实和验证接收到的证书,以便安全地使用经验证的证书,例如,以便检查从所述设备接收到的数字签名和/或以便使用存储在所述证书中的公钥来加密用于所述设备的数据。

所述用户设备可以调用所述验证设备来验证所述证书。所述用户设备也可以委托验证设备进行验证。所述验证设备也可以是所述用户设备的一部分。

所述允许信息特别是使得能够确定是否允许待核实的证书。利用所述允许信息可以例如确定证书原则上是否是不允许的。例如,如果所述证书是由不可信的证书颁发机构创建的,或者如果所述证书的有效期已经结束,则所述证书就是不允许的。因此,所述允许信息特别是使得能够预先确定所述证书的允许性。

如果基于所述允许信息确定所述证书是允许的,则可以借助于所述信任信息例如获得关于所述证书的更详细的信息。利用所述信任信息向所述证书特别是分配信任级别,所述信任级别说明了对于一种或多种用途类型而言所述证书有多可信。

在实施方式中,将所述允许信息和所述信任信息一起存储。例如,所述允许信息和所述信任信息可以一起构造出一个或多个信任库,所述信任库说明了哪些证书有多可信。由所述允许信息和所述信任信息形成的信任库特别是不仅说明是否允许证书,而且还基于所述信任级别说明对于特定类型的用途而言所述证书有多可靠或有多可信。

特别地,由于所述验证设备包括用于说明所述证书的信任级别的信任信息,因此可以获得关于数字证书的可信度的更多信息。所述验证设备特别是可以利用所确定的信任级别对所述证书的可信度做出一般性陈述。

例如,可以识别可以信任证书的程度。通过了解所述信任级别,例如可以更好地理解所述证书,并且可以特别是在考虑所述信任级别的条件下正确地确定是否应当验证证书。对所述证书的验证特别是更可靠和更精细,由此可以提高所述用户设备的整体安全性和/或灵活性。

根据一个实施方式,所述方法还包括:

如果确定所述预定数字证书的信任级别处于或高于预定信任级别(针对计划使用类型),则验证了所述预定数字证书。所述验证特别是成功的验证。

所述预定信任级别可以由所述用户设备预先给定。所述预定信任级别特别是最低信任级别,如果处于所述最低信任级别则所述证书的可靠性被认为足以验证用于计划使用类型的证书。所述验证可以例如由所述验证设备或由所述用户设备进行。

在实施方式中,所述方法还包括:如果确定所述预定数字证书的信任级别低于为计划使用类型预定的信任级别,则拒绝所述证书。在这种情况下,所述证书没有得到验证,并且接着所述用户设备也不会使用所述证书。

根据另一个实施方式,所述方法还包括:

使用经验证的数字证书来核实从预定设备接收的数据,加密传输到所述预定设备(证书持有者)的数据和/或验证所述预定设备的数字签名。

在实施方式中,仅在所述数字证书已得到成功验证的情况下才使用所述数字证书。特别地,由所述用户设备使用所述数字证书。可以使用经验证的证书的公钥来核实和/或加密所述数据。所述预定设备可以是被分配了所述证书的设备。

根据另一实施方式,所述验证设备为数字证书的不同用途存储不同的允许信息和/或不同的信任信息。

证书的用途也可以理解为所述证书的应用。不同的用途特别是说明了应当如何使用经验证的证书。例如,不同的用途可以说明不同的使用环境、不同的应用类型、使用证书的不同设备等。

可以在所述验证设备中为不同的用途存储不同的允许信息和/或不同的信任信息。由此特别是可以为所述证书获得更加精确和灵活可用的信任级别,因为所述信任级别可以取决于所述证书的用途。

根据另一个实施方式,所述方法还包括:

向所述验证设备提供用途信息,所述用途信息说明了所述预定数字证书的计划用途;

在考虑适用于所述用途信息的允许信息的条件下,确定是否允许所述预定数字证书;

如果确定所述预定数字证书是允许的,则在考虑所述用途信息的条件下确定所述预定数字证书的信任级别。

所述用途信息特别是可以说明应当如何使用经验证的证书,例如在什么样的环境中。所述环境例如是安全的环境,如工业网络的控制设备。所述环境也可以是不太安全的环境,例如外包的生产设施。

所述用途信息还可以预先给定预定信任级别,即所述计划用途可接受的信任级别。其他与用途有关的信息也可以是所述用途信息的一部分。所述用途信息可以由所述用户设备提供给所述验证设备。

所述用途信息使得所述验证设备特别是能够选择以下允许信息以及必要时还选择以下信任信息,所述允许信息或所述信任信息适用于所述计划用途。根据所述证书的计划用途,可以调用和/或使用不同的允许信息和信任信息。

特别是根据所述计划用途来确定所述证书的信任级别。取决于为所述证书计划的用途,可以允许或不允许所述证书,并且所述证书还可以具有不同的信任级别。不强制总是对同一证书进行验证或不进行验证。取而代之的是,对所述证书的验证取决于所述计划用途。

如果所述用途信息例如说明了应当在不太安全的生产设施中使用所述证书,则可以确定所述证书具有足够的信任级别并且得到了验证。但是,如果要在安全控制设备环境中使用同一证书,则可以确定所述证书对于所述计划用途没有足够的信任级别。可以为单个证书的不同应用/用途确定不同的信任级别。由此可以例如保证应当在其中使用证书的环境的安全性。

特别地,所述验证设备特别是不仅给出所述证书的一般信任级别,而且还给出特定于用途的信任级别。由于可以以特定于用途的方式确定所述信任级别,因此对所述证书的验证特别灵活。

根据另一个实施方式,所述方法还包括:

通过所述验证设备查询所述用途信息。

所述验证信息在接收到对所述证书的允许性和/或所述证书的信任级别的查询时,可能需要关于所述证书的其他信息。在这种情况下,所述验证设备可以例如向所述用户设备询问所述证书的用途信息。

根据另一个实施方式,所述方法还包括:

将所确定的所述预定数字证书的信任级别提供给申请验证所述数字证书的申请设备和/或提供给用户。

所述申请设备特别是所述用户设备。可以将所述信任级别提供给所述申请设备和/或所述用户,由此他们可以决定所述信任级别是否足以成功验证所述证书。如果接收到的信任级别高于所述预定信任级别,则所述用户设备可以例如自动成功地验证所述证书。

根据另一个实施方式,所述方法还包括:

产生具有多个预定证书的证书链;

确定各自预定数字证书的信任级别是否处于或高于所述预定信任级别;以及

如果确定各自预定数字证书的信任级别处于或高于所述预定信任级别,则验证了整个证书链。

所述证书链特别是链接在一起的多个数字证书的列表。所述证书链特别是包括由根证书颁发机构创建的根证书以及由中间证书颁发机构创建的多个中间证书,所述根证书颁发机构根据所述信任库中的信息以某种方式被视为可信。除了所述根证书之外,所述证书链中的每个证书都可以引用所述证书链中的先前证书。

所述证书链的不同证书可以具有不同的可信任度并因此可以具有不同的信任级别。如果应当验证证书链的所有证书,则所述用户设备可以向所述验证设备提供关于所述证书链的结构的信息。所述信息例如是所述用途信息的一部分。

为了验证所述证书链,特别是检查所述证书链的每个单独的证书。例如,首先检查在存储在所述信任库中的根证书颁发机构和允许信息方面是否允许所述根证书。如果确定所述根证书是允许的并且具有足够的信任级别,则可以一个接一个地检查所述证书链中的所有证书。在检查所述证书链的各自证书时,可以检查在考虑所述允许信息的条件下是否允许各自证书以及在考虑所述信任信息的条件下各自证书是否具有足够的信任级别。

如果由链中所有证书(即,例如所述证书链的所有证书)的信任级别得到的整体信任级别被确定为允许并且具有足够的最低信任级别,则特别是将整个证书链确定为允许,并且所述证书链的所有证书均被成功验证。

特别是,只有当所述证书链的所有证书都具有足够的信任级别时,才成功地验证所述证书链。由于为所述证书链的每个证书确定单独的信任级别,因此可以更好地评估所述证书链的可信度,由此也可以保证在其中应当使用所述证书链的系统的安全性。

根据另一个实施方式,所述方法还包括:

更改所述允许信息和/或所述信任信息。

更改所述允许信息和/或所述信任信息也可以视为更新所述允许信息和/或所述信任信息。例如,如果所述允许信息和/或所述信任信息已过时,则可以更改所述允许信息和/或所述信任信息。

也可以动态更改所述允许信息和/或所述信任信息。在实施方式中,所述允许信息和/或所述信任信息不是静态地存储在所述验证设备中。取而代之的是,可以动态地产生所述允许信息和/或所述信任信息。通过更改所述允许信息和/或所述信任信息,可以以更高的精度确定所述信任级别。因此可以特别灵活地对所述证书进行验证。

根据另一实施方式,根据当前应用状况、关于申请设备的信息、关于证书持有者的信息和/或关于使用环境的信息来更改所述允许信息和/或所述信任信息。

可以在考虑当前偏好的条件下更改和/或动态地产生所述允许信息和/或所述信任信息。例如,可以在所述用户设备的用户方面更改所述允许信息和/或所述信任信息。如果所述用户设备和/或所述证书持有者的设备位于特定国家,则也可以更改所述允许信息和/或所述信任信息。例如,仅当所述证书持有者的设备当前与所述用户设备位于同一国家并且允许所述证书用于该国家时,才基于所述允许信息将证书颁发机构分类为允许。

由于可以根据当前偏好来更改所述允许信息和/或所述信任信息,因此可以更加精确地确定所述信任级别,并且可以提高希望使用所述证书的系统的安全性。此外,可以特别灵活地对所述证书进行验证。

根据另一个实施方式,所述方法还包括:

在确定是否允许所述预定数字证书时和/或在确定所述预定数字证书的信任级别时,停用所述允许信息和/或所述信任信息的一部分。

特别地,不将所有允许信息和/或信任信息都用于确定所述证书的允许性和/或确定所述信任级别。例如,如果特定用户使用所述用户设备和/或希望验证所述证书,则可以停用所述允许信息和/或所述信任信息的一部分。由此例如可以根据所述用户来改变所确定的允许性和所确定的信任级别,并且还可以提高验证所述证书的灵活性。

根据第二方面,提出了一种用于验证预定数字证书的验证设备。所述验证设备包括:

存储单元,用于存储允许信息和信任信息,其中所述允许信息说明了大量数字证书中的哪些数字证书是允许的数字证书,并且其中所述信任信息说明了允许的数字证书的信任级别;以及

确定单元,用于在考虑所述允许信息的条件下确定是否允许所述预定数字证书,以及用于在所述确定单元已确定所述预定数字证书是允许的情况下,在考虑所述信任信息的条件下确定所述预定数字证书的信任级别。

所述存储单元和/或所述确定单元可以分别以硬件技术和/或还以软件技术实现。在以硬件技术实现的情况下,可以将各自单元构造为设备或设备的一部分,例如构造为计算机或微处理器或车辆的控制计算机。在以软件技术实现的情况下,可以将各自单元构造为计算机程序产品、函数、例程、程序代码的一部分或可执行对象。

根据一个实施方式,所述验证设备适合于执行根据第一方面或根据第一方面的实施方式的方法。针对所提出的方法描述的实施方式和特征相应地适用于所提出的验证设备。

根据第三方面,提出了一种计算机程序产品,其在程序控制的设备上促使执行根据第一方面或根据第一方面的实施方式的方法。

可以将诸如计算机程序装置的计算机程序产品例如作为存储介质,例如存储卡、usb棒、cd-rom、dvd或以可从网络中的服务器下载的文件的形式提供或运送。例如,这可以在无线通信网络中通过传输具有所述计算机程序产品或所述计算机程序装置的相应文件来进行。

根据第四方面,提出了一种用于验证预定数字证书的系统,具有根据第二方面或根据第二方面的实施方式的验证设备和申请验证所述数字证书的申请设备。

本发明的其他可能的实现还包括上面或下面关于实施例描述的特征或实施方式的未明确提及的组合。在此,本领域技术人员还将添加各个方面作为对本发明的各自基本形式的改进或补充。

附图说明

本发明的其他有利的构型和方面是从属权利要求和下面描述的本发明实施例的主题。接下来参考附图,基于优选实施方式详细解释前面描述的方面。

图1示出了用于验证预定数字证书的系统的示例;

图2示出了根据第一实施方式的用于验证预定数字证书的方法;

图3示出了根据第二实施方式的用于验证预定数字证书的方法;以及

图4示出了证书链的示例。

在附图中,除非另有说明,否则相同或功能相同的元件具有相同的附图标记。

具体实施方式

图1示出了用于验证预定数字证书10的系统1的示例。系统1是工业网络的一部分。该系统包括用户设备2、作为证书持有者的设备3和验证设备4。证书持有者3和验证设备4分别利用缆线9与用户设备2通信地耦合。

证书持有者3是为其颁发证书10的设备。因此,证书10被分配给设备3。设备3是所述工业网络的控制设备,该控制设备使其数据可用于用户设备2。设备3将其证书10提供给用户设备2,由此该用户设备可以将该证书例如用于对数据进行解密。用户设备2必须在可以使用证书10之前验证证书10。

用户设备10可以使用验证设备4来验证证书10。基于图2来描述验证设备4,图2示出了根据第一实施方式的用于验证数字证书10的方法。

在准备步骤s0中,提供在图1中所示的验证设备4。验证设备4包括例如被实施为硬盘上的文件的存储单元5以及例如被实施为处理器的确定单元6。在存储单元5中存储了允许信息7和验证信息8。允许信息7和验证信息8一起形成多个信任库,利用所述多个信任库可以确定证书10的信任级别。

为此,允许信息7包括证书颁发机构的列表,这些证书颁发机构颁发被认为是允许的证书。验证信息8还为每个颁发被认为是允许的证书的允许的证书颁发机构说明信任级别。在此,在“低”、“中”和“高”三个信任级别之间进行区分。

在步骤s0中,用户设备2还委托验证设备4验证证书10。

在步骤s1中,验证设备4基于验证信息7确定是否允许证书10。为了确定证书10的允许性,验证设备4使用确定单元6。为了确定证书10的允许性,确定单元6检查证书10是否由根据验证信息7是允许的证书颁发机构的证书颁发机构颁发。如果证书10实际上是由根据验证信息7是允许的证书颁发机构的证书颁发机构颁发的,则验证设备4在步骤s1中确定证书10是允许的。

如果在步骤s1中确定证书10是允许的,则在步骤s3中在考虑信任信息8的条件下确定证书10的信任级别。验证设备4使用确定单元6来确定证书10的信任级别。确定单元6通过访问信任信息8来确定证书10的信任级别。

然而,如果证书10是由根据验证信息7不是允许的证书颁发机构的证书颁发机构颁发的,则验证设备4在步骤s1中确定证书10是不允许的。在这种情况下,在步骤s2中中断具有否定结果的证书10的验证。

在实施方式中,确定单元6然后产生结果信息,该结果信息说明了在步骤s1中是否认为证书10是允许的以及在步骤s3中确定了哪种信任级别。

图3示出了根据第二实施方式的用于验证预定数字证书的方法。也可以用参照图1描述的系统1来执行图3的方法。

在步骤s01中,用户设备2委托验证设备4确定证书10的允许性以及必要时确定证书10的信任级别。为此,用户设备2经由缆线9将查询发送到验证设备4。该查询获得关于证书10的其他信息,例如用途信息。所述用途信息说明了证书10的计划用途。这里,所述用途信息说明了应当将证书10用于验证从设备3接收的数据。

步骤s1-s3大部分对应于参照图1描述的步骤s1-s3,因此不再赘述。在此,在步骤s2和s3中,附加地在考虑所述用途信息的条件下确定证书10的允许性和信任级别。

在步骤s4中,确定单元6产生结果信息。所述结果信息说明了在步骤s1中是否认为证书10是允许的以及在步骤s3中确定了哪种信任级别。

在步骤s5中,将所述结果信息经由缆线9传输到用户设备2。

在步骤s6中,由用户设备2确定所确定的信任级别是否高于预定信任级别。所述预定信任级别是预先存储在用户设备2中的信任级别,并且说明了何种信任级别是可接受的。这里,所述预定信任级别为“中”。如果在步骤s3中确定的信任级别为“中”或“高”,则在步骤s6中确定该信任级别高于所述预定信任级别。但是如果在步骤s3中确定的信任级别为“低”,则在步骤s6中确定该信任级别不高于所述预定信任级别。

如果在步骤s6中确定该信任级别低于所述预定信任级别,则在步骤s7中中断具有否定结果的证书10的验证。

如果在步骤s6中确定该信任级别高于所述预定信任级别,则在步骤s8中对证书10进行肯定验证。经验证的证书10被存储在用户设备2中以便由用户设备2使用。

在步骤s10中,用户设备2从设备3接收数据。用设备3的私钥对所述数据签名。

在步骤s11中,用户设备2使用经验证的证书10。将证书10用于验证在步骤s10中接收到的数据。为此,用户设备2使用数字证书10的公钥来检查所述签名。

图4示出了证书链20的示例。证书链20包括根证书21和中间证书22-27。参照图1描述的系统1也可以用于验证证书链20的所有证书21-27。为此,可以执行根据图2的第一实施方式或根据图3的第二实施方式的方法,其中使用证书链20来代替证书10。

在步骤s1和s3中,对证书链20的每个证书21-27单独检查在允许信息7、所述信任信息以及必要时还在所述用途信息的方面是否允许该证书21-27以及每个证书21-27具有何种信任级别。仅当确定所有证书21-27都具有足够的信任级别时,才验证了所述证书链的证书21-27。证书链20的长度是可变的。例如,证书链20可以仅包括证书21-23。

尽管已经基于实施例描述了本发明,但是可以以许多方式对本发明进行修改。也可以以不同的顺序执行方法步骤,特别是可以一起执行步骤s1和s3。证书10的用途不限于所描述的用途。还可以动态地适配允许信息7和信任信息8,并且在通过验证设备4中的确定单元6检查所述证书时可以一起考虑接收到的用途信息。所述用途信息也不必用进行验证的申请一起发送到验证设备4。取而代之的是,验证设备4还可以显式地向用户设备2查询所述用途信息,或者用户设备2本身可以将从验证设备4接收的结果与计划用途类型进行比较。此外,所述用途信息还可以包括其他特定于用途的信息。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1