CN104734854B - 密钥的安全提供 - Google Patents

密钥的安全提供 Download PDF

Info

Publication number
CN104734854B
CN104734854B CN201410807115.1A CN201410807115A CN104734854B CN 104734854 B CN104734854 B CN 104734854B CN 201410807115 A CN201410807115 A CN 201410807115A CN 104734854 B CN104734854 B CN 104734854B
Authority
CN
China
Prior art keywords
parameter
key
unit
request unit
derivation
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.)
Active
Application number
CN201410807115.1A
Other languages
English (en)
Other versions
CN104734854A (zh
Inventor
R.法尔克
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of CN104734854A publication Critical patent/CN104734854A/zh
Application granted granted Critical
Publication of CN104734854B publication Critical patent/CN104734854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及密钥的安全提供。公开了用于利用请求单元和提供单元安全地提供密钥的方法以及数字电路区域。在此密钥从参数推导,所述参数中的至少一个以不可由请求单元预先给定的方式被用于密钥推导。密钥推导在此在数字电路区域上进行,在该数字电路区域上实现请求单元以及提供单元。

Description

密钥的安全提供
技术领域
本发明涉及用于利用请求单元和提供单元安全地提供密钥的方法以及数字电路区域。
背景技术
针对工业应用,在控制设施中使用控制设备。这些控制设备作为嵌入式控制设备而已知。在此,复杂的总系统可以通过多个嵌入式单系统或所谓的嵌入式系统的联网来构建。经常针对嵌入式系统,所谓的芯片上系统或简称SoC被用于实现。在此,芯片上系统通常包含主处理器单元或中央处理单元、简称CPU和集成数字电路,逻辑电路、所谓的现场可编程门阵列FPGA可以被配置或编程到该集成数字电路中。在芯片上系统中,因此不同的功能被集成在半导体电路上。存储器、诸如随机存取存储器、简称RAM或闪存或电可擦除可编程只读存储器、简称EEPROM在此经常被实现为单独的组件。同样也可以集成这些存储器。主处理器单元在此可以作为所谓的硬核被设置为芯片上系统的固定功能单元。同样可以将主处理器单元实现为作为可配置的逻辑电路的部分的可配置的逻辑、即实现为所谓的软核。
软件、例如嵌入式Linux在此为了实施程序而通过处理器、即主处理器单元来实施。
针对很多应用情况使用密码密钥材料,在所述应用情况下程序通过芯片上系统或一般而言数字电路区域的处理器来实施。这特别是可以通过安全性或安全请求而被要求。
在此由现有技术已知,将密码密钥作为软件的部分或作为软件的配置数据的部分存储。然而,密钥材料在这些情况下几乎不被保护。密钥可以通过所谓的白盒密码学方法被隐藏在软件环境中。在此软件本身是可容易地攻击、读取或操纵的。因此密钥材料未被很好地保护以免受攻击。
此外已知的是,为芯片提供所谓的辅助芯片,该辅助芯片执行认证。在此利用密码计算检查芯片的授权,例如以便识别芯片的克隆或未授权的副本或防止未授权的访问。该辅助芯片在此是位于外部的、即物理上分离的认证芯片。在此,芯片和辅助芯片之间的数据接口对于攻击者而言是可容易地接入的并且通信因此可以简单地被窃听或被操纵。
外部的认证芯片在此可以执行密钥推导,所述外部的认证芯片根据询问由所期望的输入参数提供密钥。
发明内容
在该背景下,本发明的任务是安全地提供推导的密钥。
该任务通过所说明的独立权利要求来解决。有利的设计方案和改进方案在从属权利要求中被说明。
本发明涉及用于利用请求单元和提供单元安全地提供推导的密钥的方法,该请求单元和该提供单元在共同的数字电路区域中被实现,具有以下步骤:
a)由该请求单元向该提供单元请求推导的密钥;
b)将可由该请求单元预先给定的第一参数从该请求单元传送到该提供单元;
c)由该提供单元确定秘密密钥,其中该请求单元不能实现对该秘密密钥的访问;
d)由该提供单元借助密钥推导模块中的密钥推导函数从该秘密密钥、该第一参数和预先给定的第二参数生成推导的密钥,其中由该请求单元以不可预先给定的方式将该第二参数用于密钥推导函数;
e)将推导的密钥提供给该请求单元。
密钥在本申请中被理解为密码密钥材料。在此特别是可以涉及对称的密钥。
数字电路区域在本申请中特别是被理解为可编程或可配置的逻辑门装置或现场可编程门阵列、简称FPGA或专用集成半导体组件或专用集成电路、简称ASIC。
密钥推导函数当前特别是被理解为单向函数、特别是哈希函数(SHA1、SHA2、SHA3)或带密钥哈希函数(HMAC)或校验和计算函数(AES-CBC-MAC),所述函数从存在的密码密钥推导被推导的密钥。在此例如可以涉及指定的密钥的推导或密钥复制。
所描述的输入参数、如特别是第一参数、第二参数和秘密密钥被理解为用于密钥推导函数的输入值。
借助所介绍的方法能够在数字电路区域之内实现密钥推导。被提供推导的密钥的请求单元在此自身预先给定第一参数。通过该第一参数,特别是可以为了确定的目的而请求推导的密钥。该目的特别是可以在第一参数中被编码。此外,请求单元可以通过第一参数的预先给定例如在以后的时间点控制另外的推导的密钥的提供。第一参数例如可以通过增加而被改变并且因此可以表明另外的或重新的询问。
除了第一参数之外,第二参数此外进入用于生成推导的密钥的密钥推导函数中。该第二参数由提供单元来确定并且被用于密钥推导函数并且不能由请求单元来规定,即第二参数不能由请求单元预先给定。不可预先给定在此特别是意味着,第二参数不能由请求单元预先给定或改变或第二参数不能由请求单元的代替参数来代替。特别是第二参数完全由提供单元预先给定。特别是第二参数对于请求单元是未知的或请求单元不能询问第二参数。在另一种变型方案中,第二参数可由请求单元询问,然而不可由请求单元预先给定。此外有利地不能以所提供的推导的密钥为出发点对所使用的参数并且因此特别是第二参数进行推断。
在另一种变型方案中,第二参数虽然不可由请求单元预先给定,但是可由请求单元更新。因此第二参数的值本身不可预先给定或完全不可预先给定,但是该值根据请求单元的预先给定而生成。请求单元在此可以推动第二参数的更新并且可选地提供更新参数。特别是在该方法的该实施方案中,第二参数在值上最终也由提供单元规定或确定。例如由提供单元根据更新参数生成第二参数。在此情况下可以将更新的第二参数提供给或也可以不提供给请求单元。在另一种变型方案中,从第二参数推导的参数参考值被提供给请求单元。
因此不需要外部的密钥存储器。此外,不需要外部的密钥推导模块的昂贵的集成。在密钥推导在外部芯片上实现的情况下特别是必须保护输入参数和所推导的密钥材料的传送,而如这里所描述的密钥提供方法的安全性在较少的资源需求以及没有外部资源的集成花费的情况下同时是更高的。
例如是主处理器的请求单元不能访问包含在提供单元的功能块中的秘密密钥。请求单元不能为可自身任意选择的推导参数请求从秘密密钥所推导的密钥,因为提供单元除了第一参数之外强制性地使用第二参数作为推导参数。通过第二参数在提供单元之内的内部绑定,减小提供单元通过被操纵的或不可靠的程序的滥用可能性,所述程序例如在数字电路区域的处理器上被实施并且借助请求单元询问推导的密钥。
这在秘密密钥在多个具有各自的数字电路区域的设备上相同时是特别有利的。特别是,当在制造中使用相同的FPGA编程数据、所谓的比特流以便简化密钥管理时,情况如此。通过强制性地预先给定第二参数,在这些情况下也可以保证,不滥用地推导密钥。特别是推导的密钥对于确定的设备或确定的数字电路区域是特定的。该密钥因此可以特别是不滥用地被用于其它的数字电路区域或设备。
所描述的方法提供安全性的所谓的硬件固定。硬件固定意味着,特别是密码密钥或密码密钥的推导具有到硬件的固定,所述密码密钥或密码密钥的推导在所述硬件上被使用。硬件固定可以是对数字电路区域的安全性或安全请求。因此与通过纯软件解决方案相比实现更高的抗攻击稳健性。提供单元作为数字电路区域之内的安全性功能块的使用一方面由于硬件固定而提供高的安全,另一方面由于在数字电路区域、例如芯片上系统之内在没有单独的安全性控制器的集成解决方案的情况下的实现而提供高的安全。因此在少的集成花费的情况下,尽管如此相对于已知的方法提高安全性。有利地不需要可接入的线路,所述线路在集成外部安全性控制器的情况下必须存在。
通过强制性地使用预先给定的、不可由请求单元确定或规定的参数,例如也包括请求单元的主处理器单元不能为可任意选择的推导参数请求推导的密钥。如果例如被操纵的软件在该主处理器单元上被实施,那么由于攻击者的控制尽管如此不能通过主处理器单元的软件侦查出秘密密钥材料或攻击者不能控制密钥推导。特别是在以下情况下,即攻击者可以访问密钥材料或设备系列的一个样本的密钥推导函数,尽管如此不危害该设备系列的其它样本的密钥材料的安全性,即使例如秘密密钥作为FPGA比特流的部分被包含作为FPGA的配置文件并且该比特流在设备系列的多个样本上相同地被录入。
根据一种设计方案,第二参数以可不受请求单元影响的方式被用于密钥推导函数。可不受影响在此意味着,不存在第二参数对请求单元的参量或值或特性的依赖性或第二参数可以不依赖于请求单元的参量或值或特性。因此请求单元绝对没有影响第二参数的可能性。可不受影响在此特别是意味着,第二参数不能由请求单元预先给定或改变或第二参数不能由请求单元的代替参数来代替。第二参数特别是完全由提供单元在不受请求单元影响的情况下预先给定。
根据一种设计方案,请求单元被设计为数字电路区域的主处理器单元并且数字电路区域被设计为芯片上系统。
因此针对具有可编程数字电路区域和可编程软件实施环境、即主处理器单元的芯片上系统,提供单元作为一种安全性功能块被实现。该安全性功能块同样在数字电路区域上被实现并且特别是为芯片上系统的主处理器的请求单元提供推导的密钥。提供单元或安全性功能块因此在使用包含在功能块自身中的密码秘密密钥的情况下在共同的数字电路区域上在内部执行密钥推导。
特别是FPGA的通常实现不包含非易失性存储器,因此对于数据的非易失性存储将需要单独的存储器组件。因此秘密密钥必须被存放在外部的密钥存储器中,这降低密钥推导方法并且因此密码密钥材料的提供的安全性。然而,也可设想一种实现变型方案,在该实现变型方案中被用于密钥推导的密钥例如从外部的存储器组件以加密的形式被读入并且借助安全性功能块的内部密钥来解密。这样被解密的密钥于是可以如上面所描述的那样作为秘密密钥被用于密钥推导。
根据一种设计方案,请求单元被设计为主处理器单元并且主处理器单元被设计为可编程逻辑门装置中的软主处理器单元。
系统的主处理器单元特别是遭受攻击,所述攻击旨在操纵在该主处理器单元上实施的软件。因此在芯片上系统上不能安全地以被提供密钥的单元是可靠的为出发点。根据所描述的方法,即使在如下假设的情况下也安全地提供推导的密钥,即请求单元不是可靠的,因为第二参数也仅仅受限地受或完全不受不可靠的或被操纵的请求单元影响。密钥推导因此可以不完全由主处理器单元来控制。
因此在FPGA上来实现的芯片上系统被保护以免对密码密钥材料的未授权的访问。这特别是适用于主处理器单元作为软主处理器单元或软CPU的实现,该软主处理器单元或软CPU在FPGA上实现。
根据一种设计方案,第二参数从识别符、存储器内容、通过接口确定的数据记录或从随机数推导。
因此具有不能由请求单元预先给定或以完全不受请求单元影响的方式被使用的特性的第二参数此外可以根据特定的数据由提供单元生成。如果识别符进入第二参数的确定中,那么推导的密钥特别是对于如下样本或设备是个性化的,在该样本或设备上设立有数字电路区域。识别符可以是芯片识别标志、序列号或通过物理上不可克隆功能(Physically Unclonable Function)的挑战-响应询问来产生的标志。此外,配置存储器或程序存储器的存储器内容或所连接的外围设备、如特别是传感器、执行机构或存储器卡的存储器内容可以输入到第二参数的生成中。此外,对随机数的依赖性特别是对于密钥多样化是有利的。第二参数可以依赖于所描述的变型方案中的一个或多个或直接从所描述的变型方案中的一个或多个推导。
根据一种设计方案,此外第二参数被提供给请求单元。因此特别是可以双重检查提供单元的密钥推导。
根据一种设计方案,密钥推导函数被设计为哈希函数、诸如SHA-256、SHA-3,或密钥哈希函数、所谓的带密钥哈希函数、诸如HMAC-SHA256,或密码校验和计算、诸如AES-CBCMAC,或特别的密钥推导函数、如HKDF或PBKDF。因此通过密钥推导函数的为单向函数的特性以有利的方式防止,可以从推导的密钥推断出秘密密钥或进入的参数。
根据一种改进方案,密钥推导函数被应用于秘密密钥和第一参数与第二参数的级联,或耦合地以第一应用被应用于秘密密钥和第二参数并且以第二应用被应用于第一应用的结果和第一参数。
因此可以执行不同的步骤,以便执行具有多个密钥推导参数的密钥推导。特别是参数的预先给定和顺序有利地是可控的。
根据一种改进方案,推导的密钥此外从可更新的第三参数推导,该第三参数由提供单元根据由请求单元所提供的推导参数确定。因此可以附加地由请求单元要求对时间戳或时间等级的依赖性。在此特别是可以由请求单元将关于时间点或时间等级的原始信息传送到提供单元。提供单元从该时间信息确定第三参数,该时间信息对推导的密钥的影响由请求单元要求。因此第三参数由提供单元或安全性功能块管理,即作为输入参数被附加地递交给密钥推导函数的第三参数仅仅在提供单元的控制下是可更新的。该更新可以是第三参数的直接的或初次的设置,例如当还没有设置第三参数时。特别是更新参数可以直接被用作第三参数。
在另一种变型方案中,通过以下方式进行更新,即第三参数根据由请求单元所提供的更新参数来修改。在此又可以使用已知的密钥推导函数。存在的初始化参数在此仅仅通过更新参数、例如通过级联来修改。第三参数可以强制性地或选择性地在请求单元的控制下被用在密钥推导中。
根据一种设计方案,更新参数特别是受更新参数的使用的时间段或频率限制地被使用。该限制可以特别是在于,能够实现仅仅一次性地设置或写入。此外可能的是,能够一直实现多次的设置,直至写入锁定或写入闭锁被设置。此外,在一种有利的变型方案中,只能根据初始的更新值生成更新参数。新的、当前的更新参数因此总是根据以前有效的更新值来创建。为此也可以有利地应用相似的计算方法、例如带密钥哈希消息认证码方法。因此特别是防止,伪装更早的时间等级,在该时间等级上应该实现密钥推导。
本发明此外涉及一种数字电路区域,该数字电路区域包括用于向提供单元请求推导的密钥以便将可由请求单元预先给定的第一参数传送到提供单元的请求单元,以及包括用于确定秘密密钥、用于借助密钥推导模块中的密钥推导函数从秘密密钥、第一参数和预先给定的第二参数生成推导的密钥并且用于将推导的密钥提供给请求单元的提供单元,其中请求单元对秘密密钥的访问是可防止的,其中第二参数能够以不可由请求单元预先给定的方式被用于密钥推导函数。
附图说明
随后利用实施例借助图进一步解释本发明。
图1示出用于实施根据本发明的第一实施例的方法的数字电路区域的示意图;
图2示出用于执行根据本发明的第二实施例的方法的提供单元的示意图。
具体实施方式
在本发明的第一实施例中,介绍用于将密钥安全地提供到数字电路区域100上的方法的一种有利的实现。数字电路区域100是芯片上系统SOC或芯片组件上系统。特别是主处理器单元CPU作为推导的密码密钥11的请求单元102起作用。主处理器单元CPU为此向共同的数字电路区域100之内的提供单元101发送询问。提供单元101因此也被集成到芯片上系统SOC中。主处理器单元CPU在此递交可预先给定的第一参数1。该第一参数1由主处理器单元CPU选择并且特别是可以包含关于被请求的密钥的使用目的的说明。此外,同样可以涉及通过主处理器单元CPU的密钥询问的连续的编号。
提供单元101接收询问以及第一参数1。提供单元101因此是芯片上系统SOC之内的功能块,在该功能块中根据询问执行密钥推导。提供单元101特别是包含秘密密钥4。在该提供单元101之内设置有密钥推导模块110。密钥推导函数10在该密钥推导模块110上实现。密钥推导模块110作为芯片上系统之内的可编程区域被设计为FPGA之内的子区域,在该子区域上实现整个提供单元。
密钥推导函数10是如SHA1、SHA2或SHA3之类的哈希函数。除了秘密密钥4之外,为密钥推导函数10预先给定第一参数1以及第二参数2。该第二参数2既不为请求单元102已知,该请求单元102也不能获得关于第二参数2的知识。因此第二参数可以不受请求单元102影响并且不依赖于请求单元102、如在此主处理器单元CPU而被使用。附加地,第二参数2不依赖于第一参数1和通过主处理器单元CPU的询问。
提供单元101基于秘密密钥4、第一参数1以及第二参数2产生推导的密钥11并且将该推导的密钥提供给请求单元102。推导的密钥11例如为了加密数据、如测量数据或诊断数据而被输出到请求单元并且被使用,所述数据通过芯片上系统的数据接口被提供。
此外,可以借助推导的密钥11通过计算密码校验和来检验被存储在芯片上系统SOC上的配置数据的完整性。为此通过提供单元101的密钥推导可再现地被设计。例如在预先给定相同的第一参数1的情况下,第二参数2相同地被使用,以及由秘密密钥4构成的输入参数相同地被使用。如果推导的密钥11进入到所存储的配置数据的校验和计算中,假如配置数据是未受损的并且没有被操纵的,那么在以后的时间点借助再次推导的并且因此再现的推导的密钥11只能生成相同的校验和。
访问功能块的主处理器单元CPU可以例如通过NIOS2、Picoblaze、Microblaze、Lattice Mico8等等作为软CPU、即作为比特流的部分来实现,或作为FPGA上的硬CPU、即作为固定地在硬件中、例如在Xilinx Zynq或Altera Cyclone V Soc上所设置的功能来实现。
在一种变型方案中,外部存储的数据记录、诸如被存放在配置EEPROM上的配置数据也可以安全地被解密或安全地被读入。为此在提供单元上产生配置加密密钥或配置密钥,秘密密钥以及由提供单元负责地预先给定的第二参数作为参数进入到该配置加密密钥或配置密钥中。对于该变型方案,由请求单元预先给定第一参数,该请求单元于是是到外部单元的接口。例如用于请求密钥的询问于是通过外部接口被转发到提供单元。
第一参数因此可被数字电路之内或者之外的如下单元选择或预先给定,该单元请求密钥。请求单元因此也可以是接口的功能,该功能为外部单元请求推导的密钥。
通过不可被该询问单元选择的第二参数,实现推导的密钥向实际的硬件平台的分配。即实现推导的密钥到硬件平台的绑定。询问单元因此可以仅仅获得用于如下硬件的密钥,在该硬件上实际上实现密钥推导的功能。不可能请求另外的硬件样本的密钥。即使黑客例如通过恶意软件或通过根访问因此已成功地危害(kompromittieren)设备,黑客也只能确定被黑的设备的密钥。黑客不能读出作为秘密密钥的系统密钥并且通过本发明黑客特别是也不能确定用于其它设备的密钥。
在另一种变型方案中,提供单元拥有多个接口,所述接口可以分别被请求单元利用。在此可能的是,第二参数依赖于接口被选择。这有以下优点,即单独的提供单元可以由多个请求单元利用,其中仅仅不同地推导的密钥被提供给第一请求单元和第二请求单元。在此不同地推导意味着,第一接口推导参数在由第一请求单元通过第一接口询问时被用作第二参数,并且第二接口推导参数在由第二请求单元通过第二接口询问时被用作第二参数。
借助图2描述第二实施例,在该实施例中用于生成推导的密钥11的提供单元101附加地考虑可更新的第三参数3。为此由数字电路区域之内的请求单元为该提供单元101预先给定第一参数1以及提供更新参数13。在提供单元101的密钥推导模块110中,借助密钥推导函数10生成推导的密钥11。第一参数1、第二参数2、第三参数3以及秘密密钥4作为用于密钥推导函数10的输入参数进入。第二参数2如上面所描述的那样是推导参数,该推导参数由提供单元101预先给定并且不能受请求单元影响。该第二参数2直接进入密钥推导中。由提供单元101从所提供的更新参数13生成第三参数3。例如按照标准存在的原始参数通过以下方式被更新并且被修改,即,使该原始参数与更新参数13结合并且紧接着应用密钥哈希函数或带密钥哈希函数、简称HMAC。因此第三参数3的值依赖于更新参数13和提供单元101的校验和构成,该更新参数由请求单元供应。
第三参数3的产生因此在提供单元101的控制下发生。例如第三参数3的产生通过以下方式只可能进行唯一的一次,即更新参数13只能被提供一次。因此例如可以以有利的方式在启动过程期间产生密钥,该密钥为了执行启动过程而是必需的。然而该密钥在以后的时间点不再能够被产生,因为更新参数13只能被输出一次。因此可以建立如下时间阶段,在该时间阶段之内可以推导特定的密钥。于是密钥被固定地绑定到更新参数13。特别是该特定的密钥的产生可以在重新的启动过程中才又被执行。
此外可以规定,可被主处理器单元选择的更新值可以作为更新参数13在预先给定的时间段之内被输出。在此特别是可以说明典型的时间段,在该时间段之内密钥推导的实施是毫无疑问的并且可以在启动过程之后被认为结束。
在操作系统内核之内,推导的密钥11此外可以被用于加载和解密或检验来自配置存储器或文件系统的密码保护的配置数据。
此外,推导的密钥11可以针对应用程序被请求,例如以便打开密钥存储器,即以便借助所提供的密钥解密被加密的密钥数据。
利用推导的密钥11此外可以解密加密地存在的启动映像。因此推导的密钥11被提供用于启动加载器的功能。
例如为了实现用于实施根据第二实施例的方法的FPGA配置在具有提供单元101的系统的系统起动时将配置作为比特流从系统的外部存储器传输到内部配置存储器中。优选地,比特流配置被密码保护,特别是比特流加密地存在或被扩展了密码校验和。FPGA组件解密所加载的加密的比特流并且根据所加载的比特流配置内部硬件配置块。该配置此外也可以以不受保护的比特流的形式或以配置数据的形式被加载到FPGA组件上。该配置此外在一种变型方案中同样可以是ASIC的固定功能。
所描述的提供单元101针对配置作为比特流存在的情况优选地被实现为作为比特流的部分的安全性功能块。该安全性功能块例如可以以VHDL、Verilog或System C来创建。各个功能可以直接作为寄存器传输级、简称RTL中的数字逻辑来实现。
比特流的解密特别是FPGA的固定的、预先给定的功能。为此所使用的密钥是可配置的。以预配置的密钥为出发点,在一种变型方案中推导的密钥11如上面所描述的那样由提供单元101来确定。此外,固定的、即可由FPGA制造商确定的密钥也可以附加地或代替于此地进入密钥推导中。然后利用推导的密钥11解密比特流。因为比特流特定地针对FPGA组件的每个样本被加密,以便在该样本上被正确地解密,所以例如由FPGA制造商为设备制造商提供FPGA组件的样本特定的密钥。这例如可以在纸上、通过门户网站或借助未被闭锁的可读出的FPGA组件发生。后者意指,FPGA组件如其被供应的那样提供密钥,然而这在保险丝燃烧后不再可能。由此实现极为有效的复制保护。
利用所介绍的方法和数字电路区域,从参数推导密钥,所述参数中的至少一个参数由请求单元以不可预先给定的方式用于密钥推导。

Claims (20)

1.用于利用请求单元(102)和提供单元(102)安全地提供推导的密钥的方法,所述请求单元和所述提供单元在共同的数字电路区域(100)中被实现,具有以下步骤:
a)由所述请求单元(102)向所述提供单元(101)请求推导的密钥(11);
b)将可由所述请求单元(102)预先给定的第一参数(1)从所述请求单元(102)传送到所述提供单元(101);
c)由所述提供单元(101)确定秘密密钥(4),其中所述请求单元(102)不能实现对所述秘密密钥(4)的访问;
d)由所述提供单元(101)借助密钥推导模块(110)中的密钥推导函数(10)从所述秘密密钥(4)、所述第一参数(1)和预先给定的第二参数(2)生成推导的密钥(11),其中所述第二参数(2)以不可由所述请求单元(102)预先给定的方式被用于所述密钥推导函数(10);
e)将推导的密钥(11)提供给所述请求单元(102)。
2.根据权利要求1所述的方法,其中所述第二参数(2)以可不受所述请求单元(102)影响的方式被用于所述密钥推导函数(10)。
3.根据权利要求1或2所述的方法,其中所述请求单元(102)被设计为所述数字电路区域(100)的主处理器单元(CPU)并且其中所述数字电路区域(100)被设计为芯片上系统(SOC)。
4.根据权利要求1或2所述的方法,其中所述请求单元(102)被设计为主处理器单元(CPU)并且其中所述主处理器单元(CPU)被设计为可编程逻辑门装置中的软主处理器单元。
5.根据权利要求1或2所述的方法,其中所述第二参数(2)从识别符、存储器内容、通过接口确定的数据记录或从随机数推导。
6.根据权利要求1或2所述的方法,其中此外将所述第二参数(2)提供给所述请求单元(102)。
7.根据权利要求1或2所述的方法,其中所述密钥推导函数(10)被设计为哈希函数或密钥哈希函数或密码校验和计算。
8.根据权利要求1或2所述的方法,其中所述密钥推导函数(10)被应用于所述秘密密钥(4)和所述第一参数(1)与所述第二参数(2)的级联,或其中所述密钥推导函数(10)耦合地以第一应用被应用于所述秘密密钥(4)和所述第二参数(2)并且以第二应用被应用于所述第一应用的结果和所述第一参数(1)。
9.根据权利要求1或2所述的方法,其中所述推导的密钥(11)此外从可更新的第三参数(3)推导,所述第三参数由所述提供单元(101)根据由所述请求单元(102)所提供的更新参数(13)来确定。
10.根据权利要求9所述的方法,其中所述更新参数(13)受限地、特别是受所述更新参数(13)的使用的时间段或频率限制地被使用。
11.数字电路区域(100),包括:
- 请求单元(102),
用于向提供单元(101)请求推导的密钥(11),并且
用于将可由所述请求单元(102)预先给定的第一参数(1)传送到所述提供单元(101);
- 所述提供单元(101),
用于确定秘密密钥(4),其中所述请求单元(102)对所述秘密密钥(4)的访问是可防止的,
用于借助密钥推导模块(110)中的密钥推导函数(10)从所述秘密密钥(4)、所述第一参数(1)和预先给定的第二参数(2)生成所述推导的密钥(11),其中所述第二参数(2)能够以不可由所述请求单元(102)预先给定的方式被用于所述密钥推导函数(10),并且
用于将所述推导的密钥(11)提供给所述请求单元(102)。
12.根据权利要求11所述的数字电路区域(100),其中所述第二参数(2)能够以可不受所述请求单元(102)影响的方式被用于所述密钥推导函数(10)。
13.根据权利要求11或12所述的数字电路区域(100),其中所述请求单元(102)能够被设计为所述数字电路区域(100)的主处理器单元(CPU)并且其中所述数字电路区域(100)能够被设计为芯片中系统(SOC)。
14.根据权利要求11或12所述的数字电路区域(100),其中所述请求单元(102)能够被设计为主处理器单元(CPU)并且其中所述主处理器单元(CPU)能够被设计为可编程逻辑门装置中的软主处理器单元。
15.根据权利要求11或12所述的数字电路区域(100),其中所述第二参数(2)能够从识别符、存储器内容、通过接口确定的数据记录或从随机数推导。
16.根据权利要求11或12所述的数字电路区域(100),其中此外能够将所述第二参数(2)提供给所述请求单元(102)。
17.根据权利要求11或12所述的数字电路区域(100),其中所述密钥推导函数(10)能够被设计为哈希函数或密钥哈希函数或密码校验和计算。
18.根据权利要求11或12所述的数字电路区域(100),其中所述密钥推导函数(10)能够被应用于所述秘密密钥(4)和所述第一参数(1)与所述第二参数(2)的级联,或其中所述密钥推导函数(10)能够耦合地以第一应用被应用于所述秘密密钥(4)和所述第二参数(2)并且以第二应用被应用于所述第一应用的结果和所述第一参数(1)。
19.根据权利要求11或12所述的数字电路区域(100),其中所述推导的密钥(11)此外能够从可更新的第三参数(3)推导,所述第三参数能够由所述提供单元(101)根据由所述请求单元(102)所提供的更新参数(13)来确定。
20.根据权利要求19所述的数字电路区域(100),其中所述更新参数(13)能够受限地、特别是受所述更新参数(13)的使用的时间段或频率限制地被使用。
CN201410807115.1A 2013-12-23 2014-12-23 密钥的安全提供 Active CN104734854B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013227087.9 2013-12-23
DE102013227087.9A DE102013227087A1 (de) 2013-12-23 2013-12-23 Gesichertes Bereitstellen eines Schlüssels

Publications (2)

Publication Number Publication Date
CN104734854A CN104734854A (zh) 2015-06-24
CN104734854B true CN104734854B (zh) 2018-06-19

Family

ID=51730345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410807115.1A Active CN104734854B (zh) 2013-12-23 2014-12-23 密钥的安全提供

Country Status (4)

Country Link
US (1) US9806883B2 (zh)
EP (1) EP2899714B1 (zh)
CN (1) CN104734854B (zh)
DE (1) DE102013227087A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US9215076B1 (en) * 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
DE102015212657A1 (de) * 2015-07-07 2017-01-12 Siemens Aktiengesellschaft Bereitstellen eines gerätespezifischen kryptographischen Schlüssels aus einem systemübergreifenden Schlüssel für ein Gerät
CN105426702A (zh) * 2015-10-26 2016-03-23 李晖 基于安卓操作系统的应用程序加密解密方法和装置
US20170126414A1 (en) * 2015-10-28 2017-05-04 Texas Instruments Incorporated Database-less authentication with physically unclonable functions
DE102015121861A1 (de) 2015-12-15 2017-06-22 Endress + Hauser Flowtec Ag Zugangsschlüssel für ein Feldgerät
CA3011279A1 (en) * 2016-01-11 2017-07-20 Stc.Unm A privacy-preserving, mutual puf-based authentication protocol
DE102016209452A1 (de) * 2016-05-31 2017-12-14 Siemens Aktiengesellschaft Erzeugung von kryptographischem Schlüsselmaterial oder einer digitalen Signatur für ein eingebettetes System
CN107483387A (zh) * 2016-06-08 2017-12-15 北京数码视讯软件技术发展有限公司 一种安全控制方法及装置
EP3439229A1 (de) * 2017-08-02 2019-02-06 Siemens Aktiengesellschaft Verfahren und vorrichtungen zum erreichen einer sicherheitsfunktion, insbesondere im umfeld einer geräte- und/oder anlagensteuerung
CN107948152B (zh) * 2017-11-23 2021-05-14 腾讯科技(深圳)有限公司 信息存储方法、获取方法、装置及设备
JP6752247B2 (ja) * 2018-03-09 2020-09-09 三菱重工業株式会社 情報配信装置、配信対象装置、情報配信システム、情報配信方法及びプログラム
EP3599740A1 (de) 2018-07-25 2020-01-29 Siemens Aktiengesellschaft Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank
EP3609148A1 (de) 2018-08-06 2020-02-12 Siemens Aktiengesellschaft Verfahren und netzwerkknoten zur verarbeitung von messdaten
EP3609240A1 (de) 2018-08-09 2020-02-12 Siemens Aktiengesellschaft Computerimplementiertes verfahren und netzwerkzugangsserver zum verbinden einer netzwerkkomponente mit einem netzwerk, insbesondere einem mobilfunknetz, mit einem erweiterten netzwerkzugangskennzeichen
EP3614319A1 (en) 2018-08-20 2020-02-26 Siemens Aktiengesellschaft Tracking execution of an industrial workflow of a petri net
EP3629332A1 (de) 2018-09-28 2020-04-01 Siemens Aktiengesellschaft Sicheres ausgeben einer substanz
EP3633914A1 (de) 2018-10-05 2020-04-08 Siemens Aktiengesellschaft Verfahren und system zur nachweisbaren datenverarbeitung unter anwendung von obfuskation
EP3637345A1 (de) 2018-10-10 2020-04-15 Siemens Aktiengesellschaft Verknüpfung von identitäten in einer verteilten datenbank
EP3686763B1 (de) * 2019-01-22 2021-03-24 Siemens Aktiengesellschaft Computer-implementierte vorrichtung und verfahren zum verarbeiten von daten
EP3687209A1 (en) 2019-01-25 2020-07-29 Siemens Aktiengesellschaft Secure multi-hop communication paths
US11323275B2 (en) 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
US11361660B2 (en) 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
EP3736715A1 (en) 2019-05-10 2020-11-11 Siemens Aktiengesellschaft Managing admission to a distributed database based on a consensus process
EP3751782A1 (en) * 2019-06-14 2020-12-16 Siemens Aktiengesellschaft Method for establishing a secure data communication for a processing device and a trust module for generating a cryptographic key
DE102019212958B3 (de) * 2019-08-28 2021-03-04 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Erzeugung von kryptographischen Schlüsseln nach einem Schlüsselableitungsmodell sowie Fahrzeug
US11743039B2 (en) * 2021-04-20 2023-08-29 Coinbase Il Rd Ltd. System and method for data encryption using key derivation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176295A (zh) * 2005-03-09 2008-05-07 三星电子株式会社 无线便携式因特网系统中的验证方法和密钥生成方法
CN101931951A (zh) * 2009-06-26 2010-12-29 华为技术有限公司 密钥推演方法、设备及系统
US8423789B1 (en) * 2007-05-22 2013-04-16 Marvell International Ltd. Key generation techniques

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1359550A1 (fr) * 2001-11-30 2003-11-05 STMicroelectronics S.A. Régéneration d'une quantité secrète à partir d'un identifiant d'un circuit intégré
US20070101122A1 (en) * 2005-09-23 2007-05-03 Yile Guo Method and apparatus for securely generating application session keys
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices
CN107484163A (zh) * 2011-04-01 2017-12-15 瑞典爱立信有限公司 用于避免网络攻击的危害的方法和装置
US9171170B2 (en) * 2012-08-17 2015-10-27 Broadcom Corporation Data and key separation using a secure central processing unit
EP2912815B1 (en) * 2012-10-29 2016-06-29 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for securing a connection in a communications network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176295A (zh) * 2005-03-09 2008-05-07 三星电子株式会社 无线便携式因特网系统中的验证方法和密钥生成方法
US8423789B1 (en) * 2007-05-22 2013-04-16 Marvell International Ltd. Key generation techniques
CN101931951A (zh) * 2009-06-26 2010-12-29 华为技术有限公司 密钥推演方法、设备及系统

Also Published As

Publication number Publication date
EP2899714B1 (de) 2019-01-16
DE102013227087A1 (de) 2015-06-25
CN104734854A (zh) 2015-06-24
US9806883B2 (en) 2017-10-31
EP2899714A1 (de) 2015-07-29
US20150180654A1 (en) 2015-06-25

Similar Documents

Publication Publication Date Title
CN104734854B (zh) 密钥的安全提供
US11789625B2 (en) Managing privileges of different entities for an integrated circuit
US9195806B1 (en) Security server for configuring and programming secure microprocessors
JP6510546B2 (ja) 公開鍵およびセッション鍵による認証
CN105144626B (zh) 提供安全性的方法和设备
JP2022527757A (ja) 物理複製困難関数を使用したコンピューティングデバイスのidの生成
US20170126414A1 (en) Database-less authentication with physically unclonable functions
JP2022528070A (ja) 運転中の緊急車両のidの検証
JP6103169B1 (ja) セキュリティ装置、及びセキュリティ方法
CN102456111B (zh) 一种Linux操作系统许可控制的方法及系统
KR101484110B1 (ko) 메모리 컨트롤러 및 그에 따른 메모리 장치
US9003197B2 (en) Methods, apparatus and system for authenticating a programmable hardware device and for authenticating commands received in the programmable hardware device from a secure processor
EP3610399B1 (en) Enabling program code on target data processing devices
Zhang et al. A pragmatic per-device licensing scheme for hardware IP cores on SRAM-based FPGAs
US10291402B2 (en) Method for cryptographically processing data
US8983073B1 (en) Method and apparatus for restricting the use of integrated circuits
WO2019142307A1 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
EP3486832B1 (en) Semiconductor device, authentication system, and authentication method
Duncan et al. SeRFI: secure remote FPGA initialization in an untrusted environment
KR101656092B1 (ko) 비동기적인 인증을 갖는 보안 컴퓨팅 시스템
KR102199464B1 (ko) 컨소시엄 블록체인 참가 노드 간의 인증 방안
Peterson Leveraging asymmetric authentication to enhance security-critical applications using Zynq-7000 all programmable SoCs
CN112470157A (zh) 用于可编程逻辑器件的资产管理系统和方法
US9530022B1 (en) Protection of designs for electronic systems
EP4254855A1 (en) A device and a method for controlling use of a cryptographic key

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant