CN115280719A - 用于认证应用程序特定的密钥和用于请求这类认证的方法和设备 - Google Patents

用于认证应用程序特定的密钥和用于请求这类认证的方法和设备 Download PDF

Info

Publication number
CN115280719A
CN115280719A CN202180019378.4A CN202180019378A CN115280719A CN 115280719 A CN115280719 A CN 115280719A CN 202180019378 A CN202180019378 A CN 202180019378A CN 115280719 A CN115280719 A CN 115280719A
Authority
CN
China
Prior art keywords
certificate
application
specific
key
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180019378.4A
Other languages
English (en)
Inventor
C·布格尔-沙伊德林
K·黑尔比希
J·埃布克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN115280719A publication Critical patent/CN115280719A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/64Self-signed certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种用于在证书交换服务(30)中认证应用程序特定的密码密钥的方法以及一种用于请求这类认证的方法,前者包括:由在设备(10)中的应用程序(20)接收(130)用于应用程序特定的公开密钥的密码证明证书(22);检查(34;136)所述证明证书(22)的有效性;以及,如果已将所述证明证书(22)识别为有效,则将已从所述证明证书(22)中提取的信息的至少一部分与预给定的参考信息进行比较(34;138),并且如果所述比较表明应创建新的证书,则形成(36;140)新的应用程序特定的证书(24),所述新的应用程序特定的证书至少包括从所述证明证书(22)中提取的应用程序特定的公开密钥和来自所述证明证书的信息的至少一部分;将所述新的应用程序特定的证书(24)发送(150)到所述应用程序(20)。

Description

用于认证应用程序特定的密钥和用于请求这类认证的方法和 设备
技术领域
本发明涉及一种用于认证应用程序特定的密钥的方法和一种用于请求这类认证的方法,以及用于执行所述方法的一种计算单元和一种计算机程序。
背景技术
加密通信是现代安全通信的重要组成部分。然而,在以前未知的通信伙伴相遇的情况下,只有当通信伙伴的身份能够得到保证时,加密才能有助于安全性。如果不是这种情况,则攻击者可能将自己安装为通信链的一部分并且因而解密和一起读取通信(中间人攻击)。
因此,现代数据通信中使用密码证书来辨识通信伙伴。利用这样的证书来辨识确定的密码公开密钥的所有者并且因此辨识相关联的密钥对的所有者。原则上可能的是,通过证书来验证通信的两个伙伴。然而,在万维网(World Wide Web)上,通常只验证Web上的服务器;不向客户端(即用户的浏览器)要求证书。证书由特殊的、特别可信的机构——认证机构(CA)——颁发。每个通信伙伴都信任这些可信的的机构中的确定的机构,并且从它们那里接受满足确定的标准的每个在时间上有效的证书。在此,证书基于向可信的机构或者CA提出的请求(证书签名请求,英语:Certificate Signing Request,CSR)来创建。该请求包括关于要验证的个人或者单元的数据,例如姓名。CA基于这些数据执行相应的身份检查,并且如果检查成功则创建所请求的证书。在该证书中包含请求单元的公开密钥,其中,该证书通常由可信的机构进行数字签名。所颁发的证书因此可以显示可信的机构已经检查了要被验证的单元,使得信任可信的机构的所有通信伙伴都可以基于该证书将该检查视为成功的。
设备也可以通过这种方式和方法来配备证书。为此,设备的制造商具有制造商证书,该制造商证书具有形成可信的机构(本地CA)的特殊授权,其中,该制造商证书优选地由现有的认证机构(CA)颁发。首先,生成设备证书和与之相关联的保密密钥。在此,可以使用不同的、适合辨识设备的特征,例如序列号。通常,该过程在制造设备期间在本地由制造商执行,其中,保密密钥优选直接在该设备中生成。然后,设备证书借助制造商证书来签名并且必要时与属于该设备证书的密钥一起安装到设备上。
然而,因此在设有来自第三方的附加组件(例如,后续安装的程序模块或者应用程序)的设备中产生如下问题:最初所有或没有应用程序能够访问该设备证书。没有关于设备上的哪个应用程序使用该设备证书的附加信息。
此外,保密密钥的机密性在所有密码系统中都是至关重要的。一个通信伙伴只有在保密密钥也仍然保密的情况下才是可信的。为此目的,例如可以使用专用硬件,该专用硬件应确保密钥的特别安全的保存。对密钥的访问控制尤其是在诸如外部应用程序(Apps)的附加组件中是重要的,因为并非每个应用程序都能在相同程度上受到信任。因此,例如对于能进行银行交易的应用程序来说,特别重要的是:在设备上的任何其他应用程序都不能访问所使用的保密密钥。
为此目的,例如可以使用密钥证明方法(Key Attestation)。在此,生成的密钥或者密钥对的特性通过认证来确认。然后,第三方(例如网络服务)可以相信:密钥保存在安全的硬件模块中,并且只有一个应用程序具有对该密钥的访问权。在此,生成的密钥的证明可以由通常源自设备的制造商的可信组件来执行。这个可信组件认证相关联的保密密钥的准确描述、其访问控制、其在安全硬件中的保存以及必要时在证明证书或者“AttestationCertificate”中对网络服务的“证明挑战(Attestation Challenge)”。然而,如此颁发的证书不适合作为外部服务的身份的证据被接受,因为该设备上的证书不相应于本地认证机构。
此外,例如,如在DE 10 2015 201 599 A1中,可以实现一种系统,在该系统中,计算装置监控所安装的程序模块的行为,例如向外部的通信和用户数据的使用。为此目的,计算装置本身被认证为可信的且正确运行的,其方式是,向相应的认证机构请求用于计算装置的证书。然而,为此需要例如通过计算单元进行的综合核查机制。
发明内容
根据本发明,提出了具有独立专利权利要求的特征的用于认证应用程序特定的密码密钥的方法和用于请求这类认证的方法以及用于执行所述方法的计算单元和计算机程序。有利的构型是从属权利要求以及以下描述的主题。
本发明创建了一种用于安全使用尤其是后续安装的模块和应用程序的简单系统。在此,尤其提出了一种用于认证应用程序特定的密码密钥的方法,例如在证书交换服务中,该方法包括以下步骤:由在设备中的应用程序接收用于应用程序特定的公开密钥的密码证明证书;检查所述证明证书的有效性;以及,如果已将所述证明证书识别为有效,则将已从所述证明证书中提取的信息的至少一部分与预给定的参考信息进行比较,并且如果所述比较表明应创建新的证书,则形成新的应用程序特定的证书,所述新的应用程序特定的证书至少包括从所述证明证书中提取的应用程序特定的公开密钥和来自所述证明证书的信息的至少一部分;以及,将所述新的应用程序特定的证书发送到所述应用程序。
以这种方式,应用程序可以获得用于生成的密钥对的外部证书,其将应用程序标记为对于其他服务是可信的。由于首先仅使用证明证书,而没有使用由(首先尚未被辨识为安全的)应用程序生成的请求或信息,因此新的证书的颁发仅基于由设备系统验证的数据。因此,对证明证书中的信息的检查是集中的,并且使应用程序也能够使用不支持对设备自身的证书中的信息进行进一步检查的云系统或软件包。
在此,检查证明证书的有效性尤其可以包括验证设备特定的证书链,该证书链与该证明证书相关联并且已与该证明证书一起被接收,其中,该证书链包括一个或多个中间证书,并且最后一个中间证书由所述设备的制造商证书签名,以及,基于一个或多个所存储的制造商证书来检查所述最后一个中间证书的签名。
以这种方式,利用给应用程序所颁发的新证书也可以建立从应用程序经由证书交换服务到制造商的隐式可信链(“Chain of Trust”),该隐式可信链然后可以由信任证书交换服务的所有网络服务使用并且直到证书交换服务的证书为止被验证。在此,所使用的网络服务仅需信任该证书交换服务,而不必自己核查直至制造商为止的链。所颁发的新证书本身不再需要明确地链接到设备证明证书或制造商证书。可选地,优选在证明证书的验证和证书数据的检查开始之前,可以进一步检查是否已经在较早的时间点对所述证明证书进行了接收和/或检查,并且如果是这种情况,可以发送针对所述证明证书在较早的时间点已创建的结果。在此,可涉及较早已颁发的应用程序特定的证书或关于数据的无效检查的消息。同样,也可以代替较早结果地发送错误消息,或者在没有消息的情况下中止该过程。
在此可能的是:如果已将所述证明证书识别为无效,或者如果对提取的信息的比较表明不应创建新的证书,则分别终止用于认证的方法或者在具有或没有到应用程序的相应反馈消息的情况下结束用于认证的方法。
此外,在示例性的实施方式中,可以响应于通过应用程序的连接建立,利用证书交换服务将用于生成密钥对的一个或多个密钥参数发送到该应用程序,其中,要生成的密钥对包括应用程序特定的保密密钥和应用程序特定的公开密钥。
替代地或附加地,可以响应于通过应用程序的连接建立,将挑战发送到所述应用程序。然后,在接收到所述证明证书之后,可以检查所接收的证明证书是否包括所发送的挑战,其方式是,从该证明证书中提取该挑战并且以相关联的答复来验证该挑战。如果所接收的证明证书不包括所发送的挑战,即不存在挑战或验证无法成功执行,则可以再次中止或者结束用于认证的方法。
通过这类挑战(Herausforderung或者Challenge)可以确保在设备中的证明证书的创建和证书交换服务的使用(也就是说,新的应用程序特定的证书的创建)之间的紧密时间关系。于是,在建立该连接之前已经创建的较旧的证明证书可能不包含有效的挑战。应理解,对于每个请求,优选可以分别使用新的唯一挑战。
此外,可以将关于证书的时间有效性的信息和/或关于该证书能够使用于其的一个或多个网络服务的信息进一步引入到新的应用程序特定的证书中。这样的信息可以是预给定的或能由适当的、甚至远程的权威机构调用。例如,可涉及用于许可应用程序的数据,或涉及将证书限于各个或恰好一个服务,该证书应对该服务有效。
进一步,提出了一种用于由设备中的应用程序请求对应用程序特定的密钥对进行认证的方法,其包括以下步骤:生成应用程序特定的密码密钥对,其包括保密的应用程序特定的密钥和公开的应用程序特定的密钥;从所述设备中的证明模块获得用于所述应用程序特定的密钥对的证明证书;将所述证明证书发送到证书交换服务;从所述证书交换服务获得用于密钥对的新的应用程序特定的证书,其中,所述新的应用程序特定的证书至少包括所述公开的应用程序特定的密钥和另外的信息。
由于例如在生成用于证书创建的通常请求时不需要附加的步骤,而只交换证书,因此该方法总体上明显不太容易出错并且使得该应用程序能够相对于已将证书交换服务标记为可信的其他服务进行验证。
在此,发送所述证明证书可以包括将与所述证明证书相关联的证书链发送到证书交换服务,其中,所述证书链包括一个或多个中间证书,并且最后一个中间证书由所述设备的制造商证书签名。在此,不必传输制造商证书本身。因此,对证书交换服务的请求也保持相对较小,使得不需要大的数据量并且该方法例如还可以使用在具有有限资源的基于硬件的系统中。
在另外的实施方式中,例如可以附加地响应于到所述证书交换服务的连接的建立而从所述证书交换服务接收密钥参数,所述密钥参数然后应当用于本地生成所述应用程序特定的密钥对。
替代或附加地,可以在连接建立时(例如在握手期间或在握手之后)从证书交换服务接收挑战,并且将该挑战转发给证明模块以创建用于应用程序特定的密钥对的证明证书。
一旦获得了新的应用程序特定的证书,就可以将其存储起来并且在未来用于与至少一个网络服务的安全通信。因此,该应用程序可以相对于信任已颁发新证书的机构的每个网络服务进行验证。
在所有变体中,所述证明证书例如可以包括以下信息中的一个或多个:设备的唯一标识符,应用程序的签名,关于设备的系统文件的有效性的信息,关于应用程序特定的公开密钥的和/或关于相关联的应用程序特定的保密密钥的信息。同样地,此处未列出的与所述设备和/或所述应用程序和/或所使用的密钥相关的其他数据、用于密钥的生成和存储方法或其他信息也可以包含在所述证书中。
根据本发明的计算单元(例如数据处理设备中的处理器或虚拟机)尤其在编程技术方面设置用于执行根据本发明的方法。
以具有用于执行所有方法步骤的程序代码的计算机程序或计算机程序产品的形式实现根据本发明的方法也是有利的,因为这导致特别低的成本,尤其是当实施单元还用于其他任务并且因此本来就存在时。用于提供计算机程序的合适的数据载体尤其是磁、光和电存储器,例如硬盘、闪存、EEPROM、DVD等。也可通过计算机网络(因特网、内联网等)下载程序。
本发明的其他优点和构型由说明书和附上的附图得出。
根据在附图中的实施例被示意性示出并且在下文中参照附图来描述本发明。
附图说明
图1示出示例性的系统,在该系统中可以创建和检查根据示例性的实施方式的各种证书和密钥;以及
图2示出在可能的实施方式中的方法步骤的示例性流程。
具体实施方式
在图1中示出示例性的系统,在该系统中可以根据本发明的一个示例性的实施方式来创建和检查各种密码证书。
在此,存在设备10、例如用户终端设备,该用户终端设备包括至少一个用于数据处理的计算单元(例如合适的处理器)和存储元件以及其他元件。该终端设备还可以包括通信装置,所述通信装置除其他外可以具有到其他设备的通信接口,以便以此经由合适的协议来发送和接收数据。通信装置可以与计算单元、存储元件和其他元件连接。以这种方式,该终端设备可以并入例如一个或多个网络中并且与这些网络的服务进行通信(未示出)。
在设备10中可存在能由计算单元实施的程序模块或者应用程序,其中,尤其也可存在一个或多个应用程序20,所述应用程序后续已被引入到该终端设备中,即例如作为后续由用户安装的应用程序。现在,这样的应用程序20应被认证成对于内部和外部服务(例如对于与应用程序通信的网络服务)是可信和安全的。因此,对于服务来说应可能的是,确保与特殊的、后续安装的应用程序进行通信,该应用程序未被修改或交换。在此,该认证可以具体结合相应的设备10进行,在该设备上安装有应用程序20。因此,例如附加可能的是,在网络服务中分配设备。
附加地参考图2来阐释根据示例性的实施方式的用于认证的步骤。
在此,与制造商相关的制造商证书12首先可以存在于设备10上,该制造商证书包含制造商特定的信息并且优选已经由制造商安装在设备10上。此外,该设备通过制造商被配备有可用于创建证明证书(Attestation)的、保密的、设备特定的密钥16以及与之相关联的、包含设备特定的信息的设备特定的设备证明证书(Device Attestation Certificate)14。设备证明证书14可以由制造商证书12要么直接要么间接(即利用另外的中间证书)签名,图1中的步骤40,使得形成两个或更多证书的可信链,该链至少包括制造商证书12和作为链的最后一个证书的设备证明证书14。在此,制造商证书不一定必须存在于该设备上,只要它存在于证书交换服务30中并且能通过唯一标识符来辨识。
现在,应用程序20可以在步骤110中生成密码不对称密钥对18,例如通过使用与能够生成这类密钥的设备的相应接口,例如“Android KeyStore API”或其他合适的、实现在该设备上的密钥生成模块。然后,所述应用程序可以在步骤112中从该设备请求生成的密钥对的证明,使得该设备上的相应模块在步骤114中颁发用于应用程序特定的密钥的证明证书22并且利用设备证明证书14对其进行签名,步骤42。因此,在用于应用程序特定的密钥的证明证书22中至少存在应用程序特定的密钥对的公开密钥以及用于辨识密钥和/或设备的各种信息。以这种方式,如此生成的用于应用程序特定的密钥的证明证书22也并入可信链中。相关联的保密的应用程序特定的密钥18由应用程序和/或设备10上的密钥生成模块以合适的方式存储。
现在,在该设备中生成的、用于应用程序特定的密钥的这个证明证书22可以被转发到应用程序(步骤116),并且在步骤120中从该应用程序传输到证书交换服务30,例如在使用相应的无线或有线通信装置并且可选地也使用插入的网络的情况下。该证书交换服务30可以类似于CA地形成可信机构,该可信机构可创建应用程序特定的证书和对其进行签名。在证书交换服务中,应至少存在多个不同制造商和/或设备的可信证书32以及验证34所需的另外的信息。
如果证书交换服务30在步骤130中获得用于应用程序特定的密钥的证明证书22,则它可以在步骤136中核查其签名链。为此目的,优选可以由应用程序将该链的每个证书传输到证书交换服务,以便检查整个链。因此,应用程序到证书交换服务的数据传输120为了验证整个链可以包括证明证书22、位于其下方的设备证明证书14以及可选地在制造商证书上方的、可信链的另外的中间证书。在此,优选除了证书之外不传输另外的信息,其中,制造商证书12本身通常也不被传输。制造商证书作为可信证书32的一部分存在于证书交换服务中,并且因此实现了检查该链的已由制造商证书签名的最后一个证书或者中间证书。
在此,进行发送的应用程序20可以可选地用自己的通信密钥对数据传输120(即所传输的证书)进行签名和/或密码加密。相反,该应用程序尤其应当能够正确地辨识证书交换服务。附加或替代地,在用于应用程序特定的密钥的、已由设备的相应的证明模块针对应用程序特定的密钥创建和签名的证明证书22中,可以包括关于已经生成了经证明的密钥并且请求了证明证书的应用程序20的信息。
如果在检查34、136证书时确定链的至少一个证书无效和/或制造商证书无法被验证,则对证书链的检查可以被视为失败的。在这种情况下,可以例如中止对所传输的证明证书的处理,并且可选地可以将消息附加地发送到进行发送的应用程序20,该消息说明不存在有效的证书链。在此,来自可信证书32的匹配的制造商证书可以唯一地辨识制造商。
反之,如果在该检查步骤136中证明证书和制造商证书之间的证书链被成功地验证,则现在可以通过证书交换服务30从所传输的证明证书中提取各种信息。在此,首先可以提取重要相关的信息,所述重要相关的信息可以用于在步骤138中检查进行发送的应用程序20和/或所使用的设备10是否为可信的。在此,在证书交换服务中可以预先给定:哪些信息应当用于这种检查138。也可以预先给定以下信息:所述信息应仅可选地用于检查,并且所述信息的验证也可以被省略。可以从证明证书中提取并且被检查的信息的示例例如是:序列号或用于唯一辨识设备的另一个标识符;用于唯一辨识例如应用程序的确定版本的(尽可能防篡改的)标识符;关于设备的系统文件的信息,例如关于预给定的、系统文件的组是否未修改且未损坏的信息(验证启动,英语:Verified Boot);以及其他。这些信息可以与存储在证书交换服务30中的信息或由该证书交换服务从另一个机构调用到的信息进行比较,以对这些信息进行验证。此外,可以从证明证书中提取应用程序特定的公开密钥。在此,应理解,信息不必强制地按此顺序从证书中提取出。例如可能的是,仅当来自证明证书的信息的先前的比较成功时才提取密钥,或者替代地在检查之前已经与其他信息一起提取出密钥。
如果验证138或者来自证明证书的信息的比较是成功的,则可以在步骤140中创建36新的证书。在此,除了来自证明证书的信息之外还可以分析处理存在于证书交换服务30中的另外的信息,例如关于请求证书的应用程序20的信息。作为示例,可以给证书交换服务提供许可信息,所述许可信息说明是否已经为该应用程序获得了有效的许可,并且还可选地说明该许可有效的时间长度。在使用该信息的情况下,然后可以将由证书交换服务创建的证书24限制为许可的有效性,或者例如,如果不存在有效的许可,则完全防止证书的颁发。
此外,颁发新的应用程序特定的证书的证书交换服务还可以替代地或附加地在本地存储这样的用于许可的数据,并且在此基础上例如准备好列表或能以其他方式为网络服务调用的数据,在所述数据中说明已经颁发的新的证书是否仍有效。因此,例如可以提供修改的许可数据(未支付许可、因其他原因召回),使得一项服务在使用该证书之前可以检查,该证书交换服务是否说明证书不再有效或不应再使用。
如果对数据的检查138不成功,则该过程可以再次被中止和/或利用到进行请求的应用程序的相应的错误消息而中止。
否则,证书交换服务现在可以在步骤140中创建新的、应用程序特定的证书24并且用其自己的、设置用于认证的保密密钥进行签名。在此,新的应用程序特定的证书24包含公开的应用程序特定的密钥以及另外的重要相关的信息。这可以是例如来自证明证书22的经检查的信息,或者已包含在该证明证书中的所有信息或仅其中的一个子集。此外,另外的信息可以并入应用程序特定的证书中,所述信息存在于证书交换中,例如基于上述许可数据的有效期。同样可以说明,该证书仅对与一个或多个确定的网络服务的通信有效。
随后,证书交换服务可以在步骤150中将新的应用程序特定的证书24发送到应用程序20。现在,应用程序20可以在步骤160中将该证书与相关联的应用程序特定的保密密钥18一起存储,并且将来可以将证书24用于在信任证书交换服务的服务中进行相互验证。如果应用程序特定的证书24限于确定的服务,则应用程序还可以从一组存储的证书中选择分别适合于服务的证书。为此目的,应用程序20和/或设备10可以将证书24存放在合适的存储模块中。
一般而言,在证书交换服务30中可以存储预先规定,该预先规定说明:应从证明证书中调用哪些数据以及哪些数据应被集成到新的应用程序特定的证书24中。该预先规定还可以可选地由另一个机构进行修改和/或可以针对不同的应用程序而有所不同。
可选地,证书交换服务也可以在该方法开始时(即在获得130应用程序特定的密钥的证明证书之后)在附加步骤134中执行检查是否已经寄出过一次相同证书。为此目的,证书交换服务可以以合适的方式在本地存储或者以其他方式能调用地存储例如所有迄今为了交换而获得的证明证书,使得可以进行比较。在此,也可以首先仅比较证明证书的单个或几个数据元素。如果在检查时表明已经较早地获得了相同的证书,则可以确定:例如旧的结果(例如,就此所颁发的应用程序证书或关于无效证书链的消息)被发送回已寄出证明证书的应用程序。替代地,也可以输出错误消息并将其发送到应用程序。
在另一个示例性实施方式中,可以实现附加的步骤。在此,证书交换服务30可以例如附加地使用诸如挑战-应答方法(Challenge-Response-Verfahren)之类的方法,使得在建立设备和证书交换服务之间的连接时在步骤104中将相应的挑战(Challenge)和/或在步骤102中将确定的密钥参数发送到应用程序。随后,如同在先前的实施例中那样(步骤110),该应用程序可以创建应用程序特定的密钥对,其中,必要时,由证书交换服务使用的密钥参数或其中的一部分可以用于生成密钥。接着,同样如同在先前的示例中那样,在步骤114中可以由设备给生成的密钥颁发证明证书,在该证明证书中应附加地包含所获得的挑战。然后,如此创建的证明证书可以在步骤116、120中再次被发送到证书交换服务,在所述证书交换服务中在步骤132中验证挑战。本领域技术人员已知的任何合适的挑战在此都可能作为挑战。在成功地检查了挑战的情况下,证明证书的进一步检查和新证书的颁发可以如上所述地根据以下步骤134至150进行。通过在连接建立100时(例如在握手时)发送包括在证明证书中的挑战104,确保了密钥生成和/或证明证书的创建114与新的应用程序特定的证书的创建140之间的时间关系得到遵守。
所描述的构思和所有实施方式能够与用户的设备或者终端设备一起使用,例如智能手机、平板电脑、计算机,但也能够与具有通信接口且需要安全通信的可能性的其他设备一起使用,例如智能家居设备或“物联网”(IoT)、联网车辆等等。
工业环境中的应用也是可设想的,其中,生产机器、制造装置、机器人、部分自主系统和其他单元越来越多地在本地或全球联网,并且稍后能够通过制造商侧的或由终端用户本身提供的附加应用程序来扩展
应理解,所有描述的变体仅作为示例示出,并且这些变体除其他外可以通过另外的方法步骤来补充或者也可以省略各个方法步骤。各种示例性实施方式以及尤其是它们的各个组成部分和方法步骤同样也可以相互组合。

Claims (16)

1.一种用于在证书交换服务(30)中认证应用程序特定的密码密钥的方法,所述方法包括:
由在设备(10)中的应用程序(20)接收(130)用于应用程序特定的公开密钥的密码证明证书(22);
检查(34;136)所述证明证书(22)的有效性;以及
如果已将所述证明证书(22)识别为有效,则将已从所述证明证书(22)中提取的信息的至少一部分与预给定的参考信息进行比较(34;138),并且
如果所述比较表明应创建新的证书,则形成(36;140)新的应用程序特定的证书(24),所述新的应用程序特定的证书至少包括从所述证明证书(22)中提取的应用程序特定的公开密钥和来自所述证明证书的信息的至少一部分;以及将所述新的应用程序特定的证书(24)发送(150)到所述应用程序(20)。
2.根据权利要求1所述的方法,其中,检查(34;136)所述证明证书的有效性包括:
验证设备特定的证书链(14),所述证书链与所述证明证书(22)相关联并且已与所述证明证书一起被接收,其中,所述证书链包括一个或多个中间证书,并且最后一个中间证书由所述设备的制造商证书(12)签名,以及
基于一个或多个所存储的可信证书(32)来检查所述最后一个中间证书的签名。
3.根据权利要求1或2所述的方法,其还包括:
检查(134),是否已经在较早的时间点对所述证明证书(22)进行了接收和/或检查,并且如果是这种情况,则发送针对所述证明证书在较早的时间点已创建的结果。
4.根据前述权利要求中任一项所述的方法,其还包括:
如果已将所述证明证书(22)识别(136)为无效,或者如果对提取的信息的比较(138)表明不应创建新的证书,则结束用于认证的方法。
5.根据前述权利要求中任一项所述的方法,其还包括:
响应于通过应用程序(20)的连接建立(100),将用于生成密钥对的密钥参数发送(102)到所述应用程序(20),所述密钥对包括应用程序特定的保密密钥和应用程序特定的公开密钥。
6.根据前述权利要求中任一项所述的方法,其还包括:
响应于通过所述应用程序的连接建立(100),将挑战发送(104)到所述应用程序(20);
并且,在接收(130)所述证明证书(22)之后,通过提取所述挑战和以相关联的答复验证所述挑战,检查(132)所接收的证明证书(22)是否包括所发送的挑战,并且,如果所接收的证明证书不包括所发送的挑战,则结束用于认证的方法。
7.一种用于通过设备(10)中的应用程序(20)请求对应用程序特定的密钥对进行认证的方法,所述方法包括:
生成(110)应用程序特定的密码密钥对,所述应用程序特定的密码密钥对包括保密的应用程序特定的密钥(18)和公开的应用程序特定的密钥;
从所述设备(10)中的证明模块获得(116)用于应用程序特定的密钥对的证明证书(22);
将所述证明证书(22)发送(120)到证书交换服务(30);
从所述证书交换服务获得(150)用于所述密钥对的新的应用程序特定的证书(24),其中,所述新的应用程序特定的证书(24)至少包括所述公开的应用程序特定的密钥和另外的信息。
8.根据权利要求7所述的方法,其中,发送(120)所述证明证书还包括:
将与所述证明证书相关联的证书链发送到所述证书交换服务,其中,所述证书链包括一个或多个中间证书(14),并且最后一个中间证书由所述设备(10)的制造商证书(12)签名。
9.根据权利要求7或8中任一项所述的方法,其还包括:
响应于到所述证书交换服务(30)的连接的建立(100),从所述证书交换服务(30)接收(102)密钥参数;以及
将所述密钥参数用于生成所述应用程序特定的密钥对。
10.根据权利要求7至9中任一项所述的方法,其还包括:
响应于到所述证书交换服务的连接的建立,从所述证书交换服务(30)接收(104)挑战,以及
将所述挑战转发(106)到所述证明模块,以创建用于所述应用程序特定的密钥对的证明证书(22)。
11.根据权利要求7至10中任一项所述的方法,其还包括:
使用所述新的应用程序特定的证书(24)进行与至少一个网络服务的安全通信。
12.根据前述权利要求中任一项所述的方法,其中,所述证明证书(22)包括以下信息中的一个或多个:
所述设备(10)的唯一标识符,用于唯一辨识所述应用程序(20)的确定版本的标识符,关于所述应用程序(20)的信息,关于所述设备的系统文件的有效性的信息,关于所述应用程序特定的公开密钥的和/或关于相关联的应用程序特定的保密密钥(18)的信息。
13.根据前述权利要求中任一项所述的方法,其中,所述新的应用程序特定的证书(24)还包括关于基于与所述应用程序有关的另外的信息的所述证书的时间有效性的信息和/或关于一个或多个网络服务的信息,所述证书(24)能够用于所述一个或多个网络服务。
14.一种计算单元,其设置用于,执行根据前述权利要求中任一项所述的方法的所有方法步骤。
15.一种计算机程序,当所述计算机程序在计算单元上实施时,所述计算机程序促使所述计算单元执行根据权利要求1至13中任一项所述的方法的所有方法步骤。
16.一种机器可读的存储介质,其具有存储在其上的根据权利要求15所述的计算机程序。
CN202180019378.4A 2020-03-06 2021-03-02 用于认证应用程序特定的密钥和用于请求这类认证的方法和设备 Pending CN115280719A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102020202879.6 2020-03-06
DE102020202879.6A DE102020202879A1 (de) 2020-03-06 2020-03-06 Verfahren und Vorrichtung zur Zertifizierung eines anwendungsspezifischen Schlüssels und zur Anforderung einer derartigen Zertifizierung
PCT/DE2021/100209 WO2021175372A1 (de) 2020-03-06 2021-03-02 Verfahren und vorrichtung zur zertifizierung eines anwendungsspezifischen schlüssels und zur anforderung einer derartigen zertifizierung

Publications (1)

Publication Number Publication Date
CN115280719A true CN115280719A (zh) 2022-11-01

Family

ID=76076177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180019378.4A Pending CN115280719A (zh) 2020-03-06 2021-03-02 用于认证应用程序特定的密钥和用于请求这类认证的方法和设备

Country Status (8)

Country Link
US (1) US20230155842A1 (zh)
EP (1) EP4115586A1 (zh)
KR (1) KR20220153602A (zh)
CN (1) CN115280719A (zh)
CA (1) CA3169475A1 (zh)
DE (2) DE102020202879A1 (zh)
TW (1) TW202139037A (zh)
WO (1) WO2021175372A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9654463B2 (en) * 2014-05-20 2017-05-16 Airwatch Llc Application specific certificate management
DE102015201599A1 (de) 2015-01-30 2016-08-04 Robert Bosch Gmbh Datenverarbeitungssystem und Verfahren
DE102015208176A1 (de) * 2015-05-04 2016-03-24 Siemens Aktiengesellschaft Gerät und Verfahren zur Autorisierung eines privaten kryptographischen Schlüssels in einem Gerät
US9916452B2 (en) * 2016-05-18 2018-03-13 Microsoft Technology Licensing, Llc Self-contained cryptographic boot policy validation
JP7208707B2 (ja) * 2017-02-17 2023-01-19 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
US10397005B2 (en) * 2017-03-31 2019-08-27 Intel Corporation Using a trusted execution environment as a trusted third party providing privacy for attestation
US9992029B1 (en) * 2017-04-05 2018-06-05 Stripe, Inc. Systems and methods for providing authentication to a plurality of devices

Also Published As

Publication number Publication date
TW202139037A (zh) 2021-10-16
DE102020202879A1 (de) 2021-09-09
WO2021175372A1 (de) 2021-09-10
EP4115586A1 (de) 2023-01-11
KR20220153602A (ko) 2022-11-18
US20230155842A1 (en) 2023-05-18
CA3169475A1 (en) 2021-09-10
DE112021001486A5 (de) 2023-01-12

Similar Documents

Publication Publication Date Title
US11184343B2 (en) Method for carrying out an authentication
CN101027676B (zh) 用于可控认证的个人符记和方法
CN106452782B (zh) 为终端设备生成安全通信信道的方法和系统
US9621355B1 (en) Securely authorizing client applications on devices to hosted services
US20140298412A1 (en) System and Method for Securing a Credential via User and Server Verification
JP2015026391A (ja) Httpベースの認証
CN113383513B (zh) 用于验证数字用户证书的方法
US11777743B2 (en) Method for securely providing a personalized electronic identity on a terminal
CN113661681A (zh) 将软件载入在安全装置上以生成装置身份以向远程服务器进行认证
US9398024B2 (en) System and method for reliably authenticating an appliance
US20050097314A1 (en) Communication apparatus, communication system, communication apparatus control method and implementation program thereof
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
CN115037480A (zh) 设备认证和校验的方法、装置、设备和存储介质
EP1515518B1 (en) Method of setting digital certificate to authenticate communication apparatus
CN111182004A (zh) Ssl握手方法、装置及设备
EP4324159A1 (en) Secure root-of-trust enrolment and identity management of embedded devices
TWI772908B (zh) 以線上快速認證之硬體載具認證並簽章之系統及方法
CN115280719A (zh) 用于认证应用程序特定的密钥和用于请求这类认证的方法和设备
US20230129128A1 (en) Secure and documented key access by an application
US20240223370A1 (en) Method for authentication of a service provider device to a user device
JP7291765B2 (ja) 遠い位置に置かれたコンポーネントに関連付けられている証明書を管理するシステム及び方法
US11520873B2 (en) Enrollment of a device in a secure network
US20240195641A1 (en) Interim root-of-trust enrolment and device-bound public key registration
CN112395569A (zh) 要求端密码可选的挑战回应身份认证的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination