一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通过应用程序的安全和记录的密钥访问的制作方法

2022-10-26 20:40:32 来源:中国专利 TAG:


1.本发明涉及一种用于相对于另一个通信参与者辨识应用程序的方法和一种用于验证在通信参与者中的进行请求的应用程序的方法,以及用于执行所述方法的一种计算单元和一种计算机程序。


背景技术:

2.加密通信是现代安全通信的重要组成部分。然而,在以前未知的通信伙伴相遇的情况下,只有当通信伙伴的身份能够得到保证时,加密才能有助于安全性。如果不是这种情况,则攻击者可能将自己安装为通信链的一部分并且因而解密和一起读取通信(中间人攻击)。
3.因此,现代数据通信中使用密码证书来辨识通信伙伴。利用这样的证书来辨识确定的密码公开密钥的所有者并且因此辨识相关联的密钥对的所有者。原则上可能的是,通过证书来验证通信的两个伙伴。然而,在万维网(world wide web)上,通常只验证web上的服务器;不向客户端(即用户的浏览器)要求证书。证书由特殊的、特别可信机构——认证机构(ca)——颁发。每个通信伙伴都信任这些可信机构中的确定的可信机构,并且从它们那里接受满足确定的标准的每个在时间上有效的证书。在此,证书基于向可信机构或者ca提出的请求(证书签名请求,英语:certificate signing request,csr)来创建。该请求包括关于要验证的个人或者单元的数据,例如姓名。ca基于这些数据执行相应的身份检查,并且如果检查成功则创建所请求的证书。在该证书中包含请求单元的公开密钥,其中,该证书通常由可信机构进行数字签名。所颁发的证书因此可以显示可信机构已经检查了要被验证的单元,使得信任可信机构的所有通信伙伴都可以基于该证书将该检查视为成功的。
4.设备也可以通过这种方式和方法来配备证书。在此,可以使用不同的、适合辨识设备的特征,例如序列号。通常,该过程在制造设备期间在本地由制造商执行。为此,该制造商已获得具有认证机构获的特殊授权的制造商证书并且可以借此在一定程度上形成本地可信机构(本地ca)。然后,这样的设备证书和与之相关联的保密密钥可以安装到该设备上,其中,该保密密钥也可以在该设备中生成。
5.然而,因此在设有来自第三方的附加组件(例如,后续安装的程序模块或者应用程序)的设备中产生如下问题:最初所有或没有应用程序能够访问该设备证书。没有关于设备上的哪个应用程序使用该设备证书的附加信息。
6.借助证书的验证通常在开始时进行,通常是在连接的建立后直接进行,即在所谓的握手中。在这个握手中,证书的公开部分被传输和检查。然而,通过设备证书因此仅进行对该设备的“外部”检查。
7.此外,保密密钥的机密性在所有密码系统中都是至关重要的。一个通信伙伴只有在保密密钥也仍然保密的情况下才是可信的。为此目的,例如可以使用专用硬件,该专用硬件应确保密钥的特别安全的保存。对密钥的访问控制尤其是在诸如外部应用程序(apps)的附加组件中是重要的,因为并非每个应用程序都能在相同程度上受到信任。因此,例如对于
能进行银行交易的应用程序来说,特别重要的是:在设备上的任何其他应用程序都不能访问所使用的保密密钥。
8.为此目的,例如可以使用密钥证明方法(key attestation)。在此,生成的密钥或者密钥对的特性通过认证来确认。然后,第三方(例如网络服务)可以相信:密钥保存在安全的硬件模块中,并且只有一个应用程序具有对该密钥的访问权。在此,生成的密钥的证明可以由通常源自设备的制造商的可信组件来执行。这个可信组件认证相关联的保密密钥的准确描述、其访问控制、其在安全硬件中的保存以及必要时在证明证书或者“attestation certificate”中对网络服务的“证明挑战(attestation challenge)”。然而,如此颁发的证书不适合作为外部服务的身份的证据被接受,因为该设备上的证书不相应于本地认证机构。
9.此外,例如,如在de 10 2015 201 599a1中,可以实现一种系统,在该系统中,计算装置监控所安装的程序模块的行为,例如向外部的通信和用户数据的使用。为此目的,计算装置本身被认证为可信的且正确运行的,其方式是,向相应的认证机构请求用于计算装置的证书。然而,为此需要例如通过计算单元进行的综合核查机制。


技术实现要素:

10.根据本发明,提出了具有独立专利权利要求的特征的用于相对于另一个通信参与者辨识应用程序的方法和用于验证在通信参与者中的进行请求的应用程序的方法以及用于执行所述方法的计算单元和计算机程序。有利的构型是从属权利要求以及以下描述的主题。
11.在此,尤其提出一种用于相对于另一个通信参与者辨识应用程序的方法,所述应用程序在设备中实施,所述方法包括以下步骤:获得用于在所述应用程序和所述另一个通信参与者之间进行安全连接的连接请求;形成信息元素,所述信息元素至少包括关于所述应用程序的信息;用特殊的第一保密密钥对所述信息元素进行签名,所述第一保密密钥是密码非对称密钥对的一部分,所述密码非对称密钥对通过由外部可信机构颁发的信息证书认证;将经签名的信息元素并入连接请求消息中;用保密的设备特定的密钥对连接请求消息进行签名,所述保密的设备特定的密钥是密码非对称密钥对的一部分,所述密码非对称密钥对通过所述设备的设备特定的证书(例如设备证书)认证,以及,将所述连接请求消息发送到所述另一个通信参与者。
12.以此可以实现一个简单的系统,以用于在通信参与者的验证中安全使用设备特定的密钥。因此,与常规方法相比,在连接建立的握手中,不仅可以转发关于设备的外部身份的静态信息,而且可以转发关于该设备的所进行的访问控制措施的内部信息。因此,设备上的可信模块以此确认进行访问的应用程序相对于另一个通信参与者(例如网络服务)的身份。
13.以这种方式,可检查访问密钥的应用程序。然而,该设备同时能够借助在制造期间所安装的设备特定的证书进行通信,而不必为该设备颁发新的证书。因此,最终,设备上的保密信息的量也保持尽可能小,使得其适应于硬件支持的系统。
14.优选,设备特定的证书或者设备证书由可以确认该设备的来源的机构、例如制造商签名,而信息证书由可以确认计算机程序的正确功能方式的机构签名。
15.在此,信息元素还可以包括关于在其中实施应用程序的设备的信息,例如关于预给定的、系统文件的组是否未修改且未损坏的信息(验证启动,英语:verified boot)。因此,其上安装有应用程序的设备也可以在网络服务中被辨识并且被配属。
16.优选,信息证书的保密密钥和/或设备证书的保密密钥可以存储在设备的安全硬件组件中,使得可以阻止来自外部的访问或通过未经授权的应用程序进行的访问。
17.在此,可以从应用程序或从另一个通信参与者获得初始连接请求。
18.上述方法步骤尤其可以由设备中的可信模块执行,其中,信息证书和与其相关联的密钥仅由可信模块应用。在此,通过设备的设备特定的证书认证的密码密钥优选仅应在包括可信模块的情况下才能使用。
19.在示例性的实施例中还可能的是,存储与所述连接请求相关的数据,其中,所存储的数据包括以下中的至少一个:关于所述应用程序的信息、关于所述另一个通信参与者的信息、关于所述设备的信息、所述连接请求的时间戳、关于所应用的密码操作的信息。以这种方式,对设备特定的密钥的密钥访问及其使用不仅可以得到保护,而且可以被记录。
20.相应地,在另一个通信参与者(例如网络服务)中,可以实现一种用于验证应与其建立安全连接的应用程序的方法,所述方法包括:接收连接请求消息;检查设备特定的签名,用所述设备特定的签名对所述连接请求消息进行签名;检查信息相关的签名,用所述信息相关的签名对嵌入在所述连接请求消息中的信息元素进行签名;并且如果对签名的检查已成功,则分析处理与包含在所嵌入的信息元素中的应用程序相关的信息,并且基于所述分析处理建立与所述应用程序的通信连接。因此,可使网络服务能够安全地辨识进行请求的应用程序及其可信性,而在此不必考虑用于应用程序本身的其他安全机制。在此,对所嵌入的信息元素的信息的分析处理可以包括与所存储的参考信息进行比较。如果对签名的检查不成功或者该比较已产生无效的结果,则然后可以中止所述连接建立。
21.根据本发明的计算单元(例如设备的处理器或虚拟机)尤其在编程技术方面设置用于执行根据本发明的方法。
22.以具有用于执行所有方法步骤的程序代码的计算机程序或计算机程序产品的形式实现根据本发明的方法也是有利的,因为这导致特别低的成本,尤其是当进行实施的控制设备还用于其他任务并且因此本来就存在时。用于提供计算机程序的合适的数据载体尤其是磁、光和电存储器,例如硬盘、闪存、eeprom、dvd等。也可通过计算机网络(因特网、内联网等)下载程序。
23.本发明的其他优点和构型由说明书和附上的附图得出。
24.根据在附图中的实施例示意性示出并且在下文中参照附图来描述本发明。
附图说明
25.图1示出一个示例性的系统,在该系统中可以使用本发明的实施方式;
26.图2示出根据本发明一个实施方式的设备中的示例性的方法流程;以及
27.图3示出在与图2中的设备建立连接的通信参与者中的示例性的方法流程。
具体实施方式
28.在图1中示意性示出一个示例性的系统的元件,在该系统中可以应用本发明的实
施方式。
29.在此,设备10中除其他外存在用于实施存储在易失性或非易失性存储器元件中的程序模块的计算单元(未示出)。计算单元例如可以包括一个或多个合适的处理器。此外,可以存在各种接口,例如用于显示和输入数据的用户接口、用于本地或远程连接的通信接口等。该设备例如可以是诸如计算机、移动电话、智能手机、平板电脑之类的用户终端设备,或者也可以是具有通信接口并且因此需要用于例如与本地网络或扩展网络中的服务进行安全通信的可能性的任一其他设备,例如智能家居设备或者“物联网”(iot)中的设备、联网车辆等等。工业背景中的应用也是可设想的,在那里,生产机器、制造装置、机器人、部分自主系统和其他单元越来越多地在本地或全球联网,并且稍后能够通过制造商侧的或由终端用户本身提供的附加应用程序来扩展。特别有利的是使用在开放平台的背景中,在该开放平台中附加应用程序既不是由制造商直接提供的,也不是由终端用户提供的,因此无法适应于特殊设备。
30.用于实施确定的功能的各种应用程序或程序模块12可以以常规的方式存在于设备10中,其中,应用程序12可以由设备的制造商安装和/或可以后续安装到设备10上,例如通过用户的后续安装。
31.设备特定的证书40可以位于该设备上,该设备特定的证书优选已由制造商安装或者在设备的制造或初次安装期间已被安装。设备特定的证书40可以在公开密钥证书的意义上与非对称密码密钥对42的公开密钥相关联,其中,密钥对的保密密钥可以存储在特殊的硬件组件中,该硬件组件可以提供特别的安全性。例如,对这个硬件组件的访问可以被限制为预给定的可信软件。
32.该设备还可以包括可信模块20。可信模块20可以例如是设备10的运行系统,或与运行系统并行运行的受限系统,但也可以是引入运行系统内的可信程序模块。在此,可信模块可以完全基于软件或者可以结合该设备的确定的硬件(例如特殊的安全环境)来实施。
33.这个可信模块20可以控制对设备特定的证书40的访问以及所有与之相关联的密码操作。这意味着,尤其控制对数据的签名,所述数据在使用与设备特定的证书40相关联的密钥对的保密密钥的情况下发生。因此,与通信参与者或服务(例如网络服务)的连接或者通信可以被如此限制,使得它仅在包括可信模块20的情况下才是可能的,该连接或者通信应使用设备特定的证书40和/或其相关联的密钥42。同样,相关联的密钥42的任一应用(例如对用于其他单元的数据的签名)可仅在使用可信模块20的情况下是可能的。
34.现在,附加地参考图2中所呈现的流程描述可能的方法步骤。
35.在此,在步骤110或者200中,该设备的应用程序可以创建初始连接请求以连接到通信参与者。如果应用程序想要应用设备特定的证书或者相关联的密钥,则连接请求因此可以指向可信模块并且在此例如共同说明用于通信参与者的连接数据,例如网络地址。此外,在连接请求中可以将数据转发到可信模块,所述数据应在连接请求和/或与通信参与者的后续连接中被发送。
36.可信模块20还能够从该设备的、想要在包括可信模块的情况下建立连接的应用程序收集各种信息。在此,例如可以涉及应用程序的序列号或涉及也可以是唯一标识符的其他标识符,可以涉及许可数据或涉及另外的信息。附加地,可信模块20还可以在该步骤中收集设备特定的特征和关于其上安装有模块和应用程序的设备的状态的信息,例如关于固件
和/或系统文件是否未被修改的信息、所使用的设备的序列号或类型号、关于存在的装置和接口的信息、关于安全硬件组件的信息等。在此,这些信息、尤其是设备的信息可以至少部分地也由可信模块20存储或者存储在其中,并且用于多个连接请求中。替代地,所述信息可以至少部分地在每次连接建立时通过可信模块被重新收集。因此,例如可以确保,该应用程序自最后一次连接建立以来没有被修改。然后,可以在步骤202中将所收集的信息处理成信息元素,该信息元素包含这些信息或其至少一部分。
37.此外,可信模块20可以具有带有相关联的密钥的信息证书50。该信息证书50优选是与设备特定的证书40不同的证书。尤其地,信息证书50可以由第三方颁发,例如合适的可信机构或认证机构,该可信机构或认证机构可以确认可信模块20的完整性。可选地,该信息证书也可以例如由设备的制造商颁发。这个信息证书50除其他外可以设置用于,验证或者确认和保护由可信模块提供的信息。现在,在步骤120中可以用由信息证书50认证的、特殊的保密密钥52对所形成的信息元素进行签名。
38.然后,可信模块20可以在步骤130或者206中将汇集的信息60经由已经用信息证书50的密钥52进行签名的应用程序和/或设备嵌入到连接请求消息70中,并且在步骤140或者208中在使用设备特定的证书的情况下(或者利用相关联的保密密钥42)对所述连接请求消息进行签名。然后,连接请求消息70可以在步骤210中将带有所嵌入和经签名的信息60的连接请求消息70发送给应用程序12想要与之建立连接的通信参与者30,例如作为握手的一部分。原则上,经签名的信息60替代地也可以在另一个、稍后的时间点被发送给通信参与者30。
39.因此,第二通信参与者一方面可以获得关于应用程序的信息并且检查这些信息是否满足确定的前提条件,并且同时可以确保所获得的、关于应用程序的这些信息来自可信模块并且因此可以被归类为可靠的。
40.图3示出了在另一个通信参与者30中(例如在网络服务中)的示例性的方法流程,该另一个通信参与者在握手中建立与设备10的连接以与应用程序12进行通信。
41.在此,另一个通信参与者30可以首先在步骤300中接收从可信模块20获得的连接请求消息。该连接请求例如可以通过合适的数据头被标记为这样的数据头,其中,元素也可以用于指示安全的验证方法。然后,该通信参与者可以在步骤302中检查连接请求消息的签名,以及在步骤304中检查嵌入其中的信息元素的签名。
42.为此目的,对于通信参与者30,相应的证书(例如可信模块的证书、各种制造商证书或来自认证机构的证书)可以为了进行比较而以存储的形式存在。替代地,也可存在用于通信参与者的从另一个机构获得所需证书的可能性,和/或,至少可信模块的证书可以与连接请求消息一起被模块本身接收。因此,既可以通过通信参与者来核查证书的可信性,也可以基于包含在相应的证书中的公开密钥来核查签名。
43.如果签名已被成功检查,则现在包含在信息元素中的、与设备和/或应用程序相关的数据可以被提取并且在步骤306中被分析处理。为此,这些数据可以例如与所存储的信息进行比较。可选地,也可能的是,在这个步骤中不再单独验证这些数据,而是这些数据仅用于连接和/或被本地存储,而该应用程序的验证基于成功检查的签名。
44.如果通信参与者30(即,例如网络服务)在此得出如下结论:要么所使用的证书40、50中的至少一个是不可信的并且因此没有合适的可信组件来控制连接建立,要么来自信息
元素的、关于应用程序和/或设备的信息不相应于自己的、用于建立连接或提供所期望的服务的预先规定,则可以在步骤310中结束连接建立,其中,可选地可以将相应的反馈消息发送到该设备。
45.否则,现在,在另一个通信参与者30和应用程序12之间所请求的连接可以在步骤308中被成功建立并且例如用于提供服务和交换数据,其中,可选地,设备特定的密钥对可以用作另一个连接的双向密码保护的一部分。
46.同样,当外部服务想要建立到该设备上的本地应用程序12的连接时,即当连接请求源自另一个通信参与者30时,所描述的方法步骤既可以使用在设备10的侧上,也可以使用在另一个通信参与者30的侧上。于是,可信模块还可以收集关于应用程序和设备的各种信息,并且由此形成相应地嵌入到经签名的连接请求消息中的信息元素,该信息元素可以由进行请求的通信参与者来分析处理。
47.在此,可信模块和/或另一个通信参与者可以存储与连接请求和参与者相关的任何信息以用于后续处理和使用。例如,可以存储关于应用程序的信息、关于另一个通信参与者的信息、关于设备的信息、连接请求的时间戳和/或关于所应用的密码信息以及关于连接请求的成功或失败的信息。
48.应理解,所有描述的变体仅作为示例呈现,并且这些变体除其他外可以通过另外的方法步骤来补充,或者也可以省略单个的方法步骤。同样,各种示例性实施方式并且尤其是它们的各个组成部分和方法步骤也可以相互组合。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献