CN102843232B - 生成安全装置密钥 - Google Patents

生成安全装置密钥 Download PDF

Info

Publication number
CN102843232B
CN102843232B CN201210211430.9A CN201210211430A CN102843232B CN 102843232 B CN102843232 B CN 102843232B CN 201210211430 A CN201210211430 A CN 201210211430A CN 102843232 B CN102843232 B CN 102843232B
Authority
CN
China
Prior art keywords
secret
requestor
secret information
embedded
pki
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
CN201210211430.9A
Other languages
English (en)
Other versions
CN102843232A (zh
Inventor
安德鲁·德洛
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Zyray Wireless Inc
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 Zyray Wireless Inc filed Critical Zyray Wireless Inc
Publication of CN102843232A publication Critical patent/CN102843232A/zh
Application granted granted Critical
Publication of CN102843232B publication Critical patent/CN102843232B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • 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

Abstract

本发明提供了生成安全装置密钥、用于对被嵌入装置中的秘密信息进行加密安全检索的方法、装置、系统和计算机程序产品。嵌入的秘密信息可包括随机数,该随机数不是针对秘密信息的任何特定请求者而定制设计的。在接收到对嵌入的秘密信息的请求后,将提供给请求者一个加密秘密,使得只能由该请求者恢复嵌入的秘密信息。此外,无需对嵌入的秘密信息和相关请求者的数据库进行维护。

Description

生成安全装置密钥
技术领域
本专利文件涉及信息安全和装置安全,包括用于在不同实体间交换秘密信息并生成安全装置密钥(secretkey)的技术。
背景技术
在涉及安全信息和某些装置的各种应用中,不同装置间的安全交换和传递信息都很重要。为此,各种安全协议和算法可用于在各种实体间对包括声音、图像、视频和其他类型数据的信息进行安全交换。数据安全协议往往依靠加密技术,如加密、数字签名和散列函数,从而在所需的安全水平进行认证和信息交换。这些技术往往依赖于秘密值(例如,密钥、随机值等),该值由一个或多个参与方使用以建立安全通信信道,以实行认证协议等。
发明内容
(1)一种方法,包括:从被嵌入装置的秘密信息的第一请求者接收第一消息,其中,所述消息包括与所述第一请求者相关的公钥,并且其中,嵌入的秘密信息包括不与任何特定请求者相关的随机信息;以及基于接收到的公钥和嵌入的秘密信息来生成第一加密秘密。
(2)根据(1)所述的方法,其中,所述第一请求者使用与所述装置相关的密钥对所述公钥进行签名。
(3)根据(1)所述的方法,其中,在不维护嵌入的秘密信息的数据库的情况下执行所述第一加密秘密的生成。
(4)根据(1)所述的方法,进一步包括:验证接收到的公钥,其中,所述第一加密秘密只在接收到的公钥验证成功时生成。
(5)根据(1)所述的方法,进一步包括:对所述装置进行标记以表明所述第一加密秘密的生成。
(6)根据(5)所述的方法,其中,对所述装置进行标记包括:锁定一次性可编程(OTP)装置。
(7)根据(1)所述的方法,其中,仅在所述装置未被标记有“所述第一加密秘密之前已被生成”的指示的情况下才生成所述第一加密秘密。
(8)根据(1)所述的方法,其中,通过使用接收到的公钥对嵌入的秘密信息进行加密来生成所述第一加密秘密。
(9)根据(1)所述的方法,其中,所述装置进一步包括嵌入在装置中的标识;以及所述装置的嵌入标识与所述第一加密秘密一起被提供给所述第一请求者。
(10)根据(1)所述的方法,其中,第一消息包括表示所述第一请求者的身份的辅助信息;以及,通过使用嵌入的秘密信息对表示所述第一请求者的身份的辅助信息进行加密,然后使用所述第一请求者接收到的公钥对该结果进行加密,来生成所述第一加密秘密。
(11)根据(10)所述的方法,进一步包括:从嵌入的秘密信息的第二请求者接收第二消息,其中,所述第二消息包括表示所述第二请求者的身份的辅助信息;以及,通过使用嵌入的秘密信息对表示所述第二请求者的身份的辅助信息进行加密,然后使用所述第二请求者接收到的公钥对该结果进行加密,来生成第二加密秘密。
(12)根据(1)所述的方法,进一步包括:对所述第一加密秘密进行数字签名。
(13)根据(1)所述的方法,其中,所述第一消息包括经签名的公钥以及经签名的与所述第一请求者相关的请求者标识这两者;以及,通过使用嵌入的秘密信息对接收到的与第一使用者相关的标识进行加密,然后使用所述第一请求者接收到的公钥对该结果进行加密,来生成所述第一加密秘密。
(14)根据(13)所述的方法,进一步包括:从嵌入的秘密信息的第二请求者接收第二消息,其中,所述第二消息包括经签名的公钥以及经签名的与所述第二请求者相关的请求者标识这两者;以及,通过使用嵌入的秘密信息对接收到的与所述第二使用者相关的标识进行加密,然后使用所述第二请求者接收到的公钥对该结果进行加密,来生成第二加密秘密。
(15)根据(1)所述的方法,其中,嵌入的秘密信息包括作为所述装置的制造过程的一部分而被嵌入所述装置的随机数。
(16)根据(15)所述的方法,其中,所述随机数是在所述装置外部生成的加密安全随机数。
(17)根据(1)所述的方法,其中,所述第一消息包括表示所述装置的一个或多个特定操作的一个或多个使用标签。
(18)根据(17)所述的方法,进一步包括:利用包含在所述第一消息中的一个或多个使用标签来对所述装置进行标记,其中,在所述装置内标记的一个或多个使用标签随后被用于控制对所述装置的访问。
(19)一种方法,包括:接收对与装置相关的秘密信息的检索的请求,其中,所述秘密信息不与所述秘密信息的任何特定请求者相关;以及,生成加密安全应答,使得所述应答的接收者能够恢复嵌入的秘密信息,其中,嵌入的秘密信息仅能由所述请求的发送方恢复。
(20)一种方法,包括:向装置发送消息以请求被嵌入在所述装置中的秘密信息,其中,所发送的消息包括公钥,并且其中,嵌入的秘密信息包括不与嵌入的秘密信息的任何特定请求者相关的随机信息;响应于发送的消息接收加密秘密;以及,从加密秘密恢复嵌入的秘密。
附图说明
图1为示例性系统的框图,该系统中可实施各种示例性实施方式。
图2示出一组操作,可执行这些操作以用于根据示例性实施方式在装置中嵌入随机数。
图3示出一组操作,可执行这些操作以用于根据示例性实施方式安全地提供与装置相关的秘密信息。
图4示出一组操作,可执行这些操作以用于根据另一示例性实施方式安全地提供与装置相关的秘密信息。
图5示出一组操作,可执行这些操作以用于根据另一示例性实施方式安全地提供与装置相关的秘密信息。
图6示出一组操作,可执行这些操作以用于根据另一示例性实施方式安全地提供与装置相关的秘密信息。
图7为示例性装置的框图,该装置可包纳所公开的示例性实施方式。
具体实施方式
本发明提供了一些方法、装置、系统和计算机程序产品,以便对嵌入在装置中的秘密信息进行加密安全检索。嵌入的秘密信息可包括随机数,该随机数不针对秘密信息的任何特定请求者而定制设计。接收到对嵌入的秘密信息的请求后,将提供给请求者经加密的秘密,使得只能由该请求者恢复嵌入的秘密信息。所述技术可用于消除维护嵌入的秘密信息和相关请求者的数据库的需要。
诸如数字版权管理(DRM)系统的一些信息安全系统要求唯一密钥例如被嵌入在芯片组中,这作为该芯片组的制造过程的一部分。通常该密钥(key)用于去往/来自片上系统(SoC)的信息的安全传递。因此,期望建立这样的信道的一方必须知道该密钥。同时,该密钥必须在装置外部任意方式下不可见,且不能由未被认证方访问。为了恰当地使用和分配这些密钥,一些系统使用密钥管理和交换协议,而这需要密钥数据库的存在和维护。这种数据库的维护会增加这样的系统的成本和复杂度,且还会增加数据库维护方的责任。
所述技术无需上文提到的数据库维护即可实施。本公开实施方式提供了有利于存在于装置中的秘密信息交换的实施方法、装置、系统和计算机程序产品的示例,例如,该装置可为芯片、芯片组、片上系统等。这种秘密信息通常在制造时便嵌入系统。这种秘密信息(或密钥)可能需要只被特定的被认证方访问。在一些系统中,这可以通过在SoC制造时向SoC中嵌入特定秘密值和与请求方相关的标识来实现。为了避免随后操纵秘密值和/或标识,SoC可配备锁定能力,从而防止密钥和标识一旦被写入装置而将来遭遇破坏。因此,这样的系统需要为请求方特别制造各装置,从而增加了库存管理、订购和制造工艺的复杂度。例如,装置制造商必须知道负责提供秘密值的安全提供商,且一旦装置被制造,要实施具体库存维护并跟踪进程。此外,在这种系统中,密钥和/或标识被存储在数据库中,该数据库必须由装置制造商、请求方和/或可信第三方来维护和管理。所以,装置制造商会因与这样的数据库进行安全通信,以及可能会对与数据库相关的至少一部分操作进行管理,而具有额外负担。
在其他系统中,可通过向SoC中嵌入随机(但可见)标识和使用键控单向函数创建相关密钥来避免数据库管理。具备单向函数和相关密钥知识的一方知道随机标识,可以容易地产生密钥。这样的系统可用于例如挑战应答协议,其中,安全系统可在挑战请求方、且作为回应接收到正确密钥之后,允许对装置的访问(或解锁装置的某些测试端口)。此系统的安全完全依赖于单向函数的保密性,该函数可由多个外部方共享。如果每个请求方请求唯一的单向函数(例如,以确保另一第三方未泄露或恶意使用单向函数),那么需要专门制造各装置以用于各个请求方,以具备其自己的专用单向函数。但是,用于各请求方的唯一单向函数的实现方式会增加装置制造阶段中操作的成本和复杂度。
本公开实施方式使得嵌入在装置(如SoC)中的秘密信息个性化,可用于单个请求方而无需为每个请求方嵌入专用秘密信息。本公开实施方式进一步消除了在装置制造设施处管理和维护嵌入的秘密信息以及相应的请求者标识的数据库的必要。在一些实施方式中,随机密钥被写入装置。装置随后向多个外部方安全地传递随机密钥的衍生品,这样每个外部方可以肯定唯一秘密的完整性,而无需要求每个装置为单个第三方特别制造或要求在装置制造商一方进行数据库管理。在一些实施方式中,通过嵌入的秘密信息的请求者传入装置(如SoC)和/或从装置读取的值不一定是秘密值,而是在与由外部各方独占掌握的其他秘密相结合使用时提供有效访问信息。
图1提供了系统框图,该系统可包纳本公开实施方式。图1中描绘的装置制造设施102通常通过104c生产装置104a,104c为例如可在外部实体购买的芯片、芯片组、片上系统(SoC)等,外部实体为例如OEM制造商和系统开发商。每个通过104c制造的装置104a被嵌入唯一秘密信息,比如随机数。从而多个请求者106a可通过106i请求嵌入的秘密信息。如前所述,嵌入的秘密信息可由请求者例如用于建立与装置、与其他系统或装置的安全通信信道,和/或影响其他加密安全操作。
图2示出一组操作,可执行这些操作以用于根据示例性实施方式在装置中嵌入随机数。图2所示的一些或所有的操作200例如可在装置制造设施处执行。在202,生成随机数(RND),在204,生成的随机数被发往装置。该装置例如可包括SoC。在一些实施方式中,随机数可在装置处生成。然而,用于加密应用的真随机数(如,加密安全随机数,cryptographicallysecurerandomnumber)的生成可能需要费时的操作,和/或可在装置外或可能在制造设施外被更容易地产生。例如,从热噪声生成随机数可能需要热源在能够生成合适值之前的特定时间段内的操作。因此,在一些实施方式中,随机数的生成先于将数嵌入装置,且可能在制造设施之外,使用合适随机数生成方案来生成。随后,生成的随机数发送至和/或存储在制造设施内,从而在稍后的装置制造过程中使用。应该进一步指出,除了嵌入的随机数,与装置相关的任意标识也可生成并写入每个装置。在一些实施方式中,这样的标识可由正在访问装置的请求者作为明文读取,而嵌入的随机数(将在下面的部分中描述)只与特定请求者安全通信。
接下来在206,随机数被嵌入装置。例如,随机数可写入装置内的特定寄存器或存储位置。在208,读取回被嵌入装置的随机值,在210,锁定装置内包含随机值的位置。装置的锁定可防止未来对嵌入的随机数的操控。在一示例实施方式中,装置包括一次性可编程(OTP)组件,比如非易失性片上存储位置,用于永久存储装置内的随机数。在212,执行处理以确定随机数是否正确嵌入装置。如果在212处不能检索到正确的随机数,则在216处装置可被丢弃。但是,如果随机数被正确嵌入,则在214处装置保留。
通过例如图2中的示例性操作组而被嵌入随机数的装置也可包括一组与公钥(publickey)加密算法相关的非对称密钥。在一些实现方式中,所存储的密钥可同时包括公钥和私钥(privatekey)。公钥可存储在装置中以防止公钥改变并允许访问该密钥。装置中包含的私钥保持秘密。例如,一个或多个RSA公钥对可存储在装置中。存储的公钥可由装置制造商或多个第三方拥有。
图3示出一组操作300,可执行这些操作以用于根据示例性实施方式安全地提供与装置相关的秘密信息。图3中的示例性操作300例如可在装置制造设施外由包括安全系统的装置的一个或多个组件来执行。在302,接收了包含来自嵌入的秘密信息的请求者的签名公钥的消息。在一实例中,使用对应于装置(如,对应于装置制造商)的一个RSA公钥对在302接收到的公钥进行签名。因此,OTP可被用于选择使用所存储的哪一个公钥来验证接收到的请求者公钥。在304,执行处理以判断秘密信息是否在以前导出。如果信息在以前导出(“是”),在306实施重置操作且处理停止。在一实例中,被配置为控制图3的部分或所有操作300的处理器或电路可以声明一硬件重置信号,以使SoC重置或重启。另一方面,如果304处的判断为“否”,则在308处通过验证请求者公钥来继续操作。在一些实施方式中,308处的验证包括对在302处接收到的消息和相关签名的RSA验证操作。例如,308处的验证操作可使用RSA概率签名方案(RSA-PSS)来执行。在另一实例中,308处的验证可使用椭圆曲线数字签名算法(ECDSA)来执行。在一些实施方式中,308处的验证操作包括纠错码(ECC)验证操作。如果公钥无法被验证,则在312处实施重置操作,且处理停止。例如,被配置为控制图3的部分或所有操作300的处理器或电路可以声明一硬件重置信号,以使SoC重置或重启。另一方面,如果请求者公钥被正确地验证,则在314处,使用请求者公钥对嵌入的秘密信息进行加密。在316处,输出被加密的嵌入的秘密信息以及装置的潜在任意标识。此外,可对装置进行标记以表示嵌入的秘密信息已被导出至特定请求者。这是在318处的操作,且可通过例如烧保险丝和/或写入OTP来实施。
嵌入的秘密信息的请求者在接收到加密消息之后,可使用其私钥来容易地对接收到的消息进行解密并恢复RND值。可选地,请求者可在安全位置(如,密钥数据库)存储RND和相关标识。然而,装置制造商不需要维护这样的数据库或与这样的数据库交互。因此,借助于图3示出的示例性实施方式提供了用于向任意特定请求方提供嵌入的秘密信息的流程,而无需为该特定方制造定制装置。此外,图3所示的示例性实施方式消除了装置制造商管理和维护密钥数据库和相关信息的需要。
在一些实现方式中,从特定请求者接收到的消息(例如,图3中的操作302)不仅包括请求者的签名公钥,还包括一条或多条辅助信息,如一个或多个使用标签。例如,这样的使用标签可表示特定操作(如对嵌入的秘密信息的检索)被请求。例如,可作为图3中的操作310的一部分来验证使用标签,并随后在执行后续操作(如秘密的加密)之前由安全系统读取和解析。
图4示出一组操作400,可执行这些操作以用于根据示例性实施方式安全地提供与装置相关的秘密信息。图4中的示例性操作400例如可以在装置制造设施外由包括安全系统的装置的一个或多个组件来执行。在402,从请求者接收包含经签名的公钥以及请求者身份(identification)的消息。在一示例性实施方式中,使用对应于装置(如,对应于装置制造商)的一个RSA公钥对在302处接收到的公钥进行签名。请求者身份是可从请求者传递到装置的辅助信息的实例。在图4所示的示例性实施方式中,请求者身份标示所有者、请求者、或对获取嵌入的秘密信息有兴趣的另一方。在一实例中,请求者身份是二进制字段。
接下来,在404处,公钥被验证。在406处,做出公钥是否有效的判断。如果公钥无法被验证(在406为“否”),则在408处执行重置操作,且处理停止。如果公钥有效,则在410处执行处理以确定嵌入的秘密信息之前是否被导出至特定请求者。如果信息之前被导出(在410处为“是”),则在412处执行重置操作,且处理停止。另一方面,如果410处的判断结果为“否”,则在414处操作400继续,这里使用请求者身份和嵌入的秘密信息来生成派生秘密。在一示例性实施方式中,派生秘密通过使用嵌入的秘密信息(如,RND)对请求者身份进行加密来生成。在一些实现方式中,高级加密标准(AES)或其他对称密钥加密算法可被用于对请求者身份进行加密。在一些实施方式中,秘密信息(如,RND)作为加密算法的密钥来使用,请求者ID为明文,且请求者ID被加密以产生作为请求者专有的秘密的密文。在416处,使用请求者的公钥对派生秘密进行加密,且在418处,输出经加密的派生秘密。在420处,对装置进行标记以表示嵌入的秘密信息已被导出至特定请求者。以这种方式,当装置接收到另一请求时,利于410处的用以评估RND之前是否已被导出的判断。在420处进行的操作例如可通过烧保险丝或写入OTP来实施。
基于以上图4中的操作400,从而请求者可对接收到的派生秘密进行解密,并确定嵌入的秘密信息。因此,图4中的操作400使得每个请求者的唯一派生秘密可使用辅助信息(如,请求者ID)从嵌入的秘密信息来生成。这样,被配置为以这种方式操作的装置可使用加密安全消息向多个请求者提供嵌入的秘密信息。被发送至每个请求者的安全消息是唯一的,且不能被任何其他请求者在没有合适的解密密钥的情况下解密。这种设计将潜在地允许数量不限的请求者来查询装置,并以这种与发送到其他请求者的消息加密地隔离的方式来接收嵌入的秘密信息。
要注意的是,图4所示的示例性操作组限制去往同一方的秘密信息的多次导出。但在一些实施方式中,这样的限制可以不存在。例如,嵌入的秘密可被多次传达至同一方(如,至相同请求者ID)。在这样的实施方式中,嵌入的秘密信息的每次导出都可被分别记录在装置中,或者被存档。
图5示出另一组操作500,可执行这些操作以用于根据示例性实施方式安全地提供与装置相关的秘密信息。图5中的示例性操作500例如可以在装置制造设施外由包括安全系统的装置的一个或多个组件来执行。操作502至516分别与图4中的操作402至416的那些相关描述相似。具体地,在502处,从请求者接收包含签名公钥和请求者ID的消息。接下来,在504处验证公钥,且如果506处的判断表明公钥无效,则在508处发起重置操作。如果506处的判断表明公钥有效,则操作500在510处继续,以确定秘密信息是否在之前被导出至请求实体。如果510处的判断表明秘密之前已被导出,则在512处执行重置操作。另一方面,如果秘密信息之前并未被导出(在510为“否”),则在514处,使用请求者ID和秘密嵌入信息创建派生秘密。
在516处,对派生秘密进行加密。在518处,进一步对经加密的派生秘密进行签名。在一些实例中,使用全局(如,单一)私钥来对经加密的派生秘密进行签名,而在其他实例中,装置专有私钥用于在518处对经加密的派生秘密进行签名。在利用装置专有密钥的示例性实施方式中,生成相关有效公钥的列表。这样的列表的生成例如可以作为装置制造操作的一部分,且被作为公开可用。秘密信息的请求者可用的公钥的列表使得请求者能够确定导出的秘密由合法装置提供。在520处,输出被签名和加密的派生秘密。在522处,对装置进行标记以表示嵌入的秘密信息已被导出至特定请求者。
图5所示的操作500包括额外操作518,以对经加密的派生秘密进行签名。这样的被签名的消息,一旦由秘密信息的请求者接收和验证,将提供关于由装置产生的消息的真实性的保证。尤其是,这样的签名保证了该消息真正是由合法安全系统(或安全公司)生成,而不是来自从请求者拦截通信并只是模仿合法安全系统的应答的攻击者。
图6示出另一组操作600,可执行这些操作以用于根据示例性实施方式安全地提供与装置相关的秘密信息。图6中的示例性操作600例如可以在装置制造设施外由包括安全系统的装置的一个或多个组件来执行。在602处,从请求者接收包含签名的公钥以及请求者生成的签名的身份(“请求者ID”)的消息。在一示例性实施方式中,使用对应于装置(如,对应于装置制造商)的一个RSA公钥来对公钥和请求者ID进行签名。在一些实施方式中,接收到的公钥和请求者ID可作为单独消息来进行签名,而在其他实施方式中,公钥和请求者ID可构成单个消息,该单个消息由请求者签名并被发送至装置。
接下来在604处,执行处理以确定装置是否已被标记为已产生ID密钥(如,是否装置OTP已包含一ID)。如果装置已被标记为已产生ID密钥(在604为“是”),则在606处执行重置操作,且处理停止。如果装置之前并未产生ID密钥(如,OTP为空)(在604为“否”),则在608处公钥和请求者ID被验证。如果公钥或请求者ID的验证失败(在610为“否”),则在612处执行重置操作,且处理停止。否则,在614处生成一ID密钥。在一实例中,ID密钥通过利用秘密嵌入信息来加密请求者ID而生成。在616处,使用请求者的公钥对ID密钥进行加密,且在618处,输出经加密的ID密钥。在620处,将秘密信息的导出指示和请求者ID记录在装置中。
一旦请求者接收到由装置生成的加密消息,请求者可使用其私钥对接收到的消息进行解密并恢复ID密钥。ID密钥,与请求者ID(为请求者所知)一起,可由请求者存储。因此,图6中所示的示例性操作组600产生派生秘密(如,ID密钥),该派生秘密对于每个请求者唯一,且基于被请求者安全传递至装置的特定令牌(如,请求者ID)而产生。图6中的示例性操作600的其中一个优势为可制止恶意尝试获取信息。特别是,在一个攻击情景下,恶意方可能发起装置的ID密钥的请求,接收ID密钥,并以某种方式阻止装置标记ID密钥的导出(如,恶意方锁定OTP写)。随后,这样的装置可用于合法使用者的真正授权。在接收到合法使用者的请求后,装置基于图6中描述的示例性操作组600提供ID密钥。由于合法使用者使用的ID几乎肯定与恶意方使用的ID不同,恶意请求者将不会从装置收到任何信息。由于请求者ID和工厂编程标识能够保持秘密,即使恶意第三方可以设法获得来自装置的随后输出消息,这样的消息包括与合法使用者提供的标识不同的请求者标识。由于恶意第三方不知道用于此装置的唯一ID,他们将无法接收到对应于合法请求的ID密钥。图6中的示例性操作600的另一优势是无需在制造过程中嵌入任意芯片标识,这是因为请求者提供的标识可完全作为芯片标识。
要注意的是,与图3示例性实施方式中相关描述类似,在602处接收到的消息也可包括只允许特定后续操作的一个或多个辅助信息或使用标签。这种使用标签可被嵌入装置(如,被写入OTP)并被用作秘密生成流程的一部分。例如,为了让装置在稍后时间点生成同样的秘密,在运行时间内给装置提供同样的使用标签。这样,原始消息将使得芯片生成只能随后以请求者预期的方式来使用的秘密。如果使用标签在运行时间内改变,即,装置被请求用一组不同标签来生成密钥,则所生成的密钥将与之前生成的密钥和标签值不匹配。
此外,在一些实施方式中,在602处接收到的消息进一步包括所有者ID(并非秘密),与图4的操作400类似,所有者ID被用来生成所有者专用的派生秘密。在这样的实施方式中,请求者同时提供请求者生成的ID和所有者ID。但在其他一些实施方式中,除了对密钥ID进行加密(在616处),类似于图5的操作518,装置使用装置公钥对经加密的ID密钥进行签名,从而提供了输出消息由合法装置(或安全系统)生成的保证。
在一些实施方式中,可产生多个派生秘密。特别是,N个OTP可被配置为允许N个请求者进行请求。例如,如果八个请求者需要派生秘密,SoC可被配置为预留八个OTP比特。在这样的实施方式中,如果SoC接收到的公共所有者ID标签包括值i,则设定(并锁定)OTP的比特i{1≤i≤N}。如有关图4的前述内容,所有者ID,i,随后也可用于生成派生秘密,从而允许仅生成一次与请求者i相关的派生秘密。在一些实施方式中,即使装置被配置为具备为N个请求者提供派生秘密的能力,安全系统可能决定为少于N个使用者提供派生秘密。在这种情形下,一些OTP比特可在甚至没有输出派生秘密的情况下被锁定。这种机制可使装置在被制造后可由装置包纳的请求者数目减少。
要注意的是,图2至图6中所示的各种示例性操作以特定顺序描述,从而利于所公开的实施方式的理解。但是,要理解的是,图2至图6中所示的一个或多个操作可省略和/或与其他操作结合。此外,图2至图6中的每个所示的一个或多个操作能以与所示顺序不同的顺序进行。
要进一步理解的是,前面的描述并不意于将本发明的实施方式穷尽或限制为所公开的精确形式,且可根据以上教导做出修改和变化或从各种实施方式的实践中获得修改和变化。之所以选择和描述这里讨论的实施方式,是为了解释各种实施方式的原理和特性及其实际应用,使得本领域技术人员能够在各种实施方式中利用本发明,并设想适用于特定使用的各种修改。例如,在一些实施方式中,配置值可替代标识用于生成派生秘密。在其他实施方式中,可存储多个配置值,以允许生成多于一个的派生或有效秘密。在另一些实施方式中,利用输入的公钥进行签名的使用配置可被链接至有效秘密生成处理。
文中描述的各种实施方式在方法或处理的总背景下描述,在一实施方式中,这些方法或处理可由嵌入在计算机可读介质的计算机程序产品实现,其包括诸如程序代码的计算机可执行指令,由电脑在网络环境中执行。计算机可读介质可包括可拆卸和不可拆卸的存储装置,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、光盘(CD)、数字通用光盘(DVD)、蓝光光碟等。因此,在本申请中描述的计算机可读介质包括非临时性的存储介质。总的来说,程序模块可包括例程、程序、对象、组件、数据结构等,以执行特定任务或实现特定抽象数据类型。计算机可执行指令、相关数据结构、以及程序模块代表了用于执行文中公开的方法步骤的程序代码的实例。这种可执行指令或相关数据结构的特定顺序代表了实现这种步骤或处理中描述的功能的相应动作的实例。
要理解的是,本申请的各种实施方式可单独地或选择性地在包括各种硬件和/或软件模块和组件的装置中来实施。这些装置例如可包括处理器、存储器单元和彼此通信连接的接口。例如,图7示出了装置700的框图,该装置内可实施本申请的所有或部分各种实施方式。装置700至少包括一个处理器704和/或控制器、与处理器704进行通信的至少一个存储器单元702、以及至少一个通信单元706,它使得数据和信息可通过通信链路708与其他实体、装置和网络直接或间接地进行交换。通信单元706可提供符合一个或多个通信协议的有线和/或无线通信能力,因此它可包括适当的发送机/接收者天线、电路和端口,以及编码/解码能力,这些对于适当的发送和/或接收数据和其他信息可能是必要的。存储器702可存储数据、指令和其他类型的信息,并可包括只读存储器(ROM)和随机存取存储器(RAM)这两者。存储器702的一部分可包括非易失性随机存取存储器(NVRAM)。此外,一次性可编程(OTP)装置可作为存储器702的一部分来实施。OTP装置也可作为装置700中的单独组件来实施。
图7的示例性装置700可被用于实现本申请的示例性实施方式。这样的示例性实施方式涉及一种方法,包括:从嵌入在装置中的秘密信息的第一请求者接收第一消息。这样的消息包括与第一请求者相关的公钥。此外,嵌入的秘密信息包括不与任何特定请求者相关的随机信息。该示例性方法进一步包括:基于接收到的公钥和嵌入的秘密信息来生成第一加密秘密。
在一实施方式中,第一请求者使用与装置相关的密钥对公钥进行签名。在另一实施方式中,执行第一加密秘密的生成,而不维护嵌入的秘密信息数据库。根据另一实施方式,以上提到的方法进一步包括:验证接收到的公钥,其中,第一加密秘密只在接收到的公钥的验证成功时生成。在另一实施方式中,以上提到的方法还包括:对装置进行标记以表明第一加密秘密的生成。该标记例如可包括锁定一次性可编程(OTP)装置。
根据另一实施方式,只有在该装置未被标记有“第一加密秘密之前已经生成”的指示的情况下,才生成第一加密秘密。在一些实施方式中,通过使用接收到的公钥对嵌入的秘密信息进行加密来生成第一加密秘密。在其他示例性实施方式中,该装置进一步包括嵌入在装置中的标识。这样的嵌入标识可与第一加密秘密一起提供给第一请求者。
在另一示例性实施方式中,第一消息包括表示第一请求者身份的辅助信息。在这个示例性实施方式中,通过使用嵌入的秘密信息对表示第一请求者身份的辅助信息进行加密,然后使用第一请求者接收到的公钥对该结果进行加密,来生成第一加密秘密。
所公开的实施方式也可包纳嵌入的秘密信息的多个请求者。特别是,在一示例性实施方式中,以上提到的方法进一步包括:从嵌入的秘密信息的第二请求者接收第二消息,其中,第二消息包括表示第二请求者标识的辅助信息。在这种情形下,该方法还包括:通过使用嵌入的秘密信息对表示第二请求者身份的辅助信息进行加密,然后使用第二请求者接收到的公钥对该结果进行加密,来生成第二加密秘密。
根据另一实施方式,以上提到的方法进一步包括:对第一加密秘密进行数字签名。在另一实施方式中,第一消息同时包括经签名的公钥以及与第一请求者相关的经签名的请求者标识。在这个实施方式中,通过使用嵌入的秘密信息对接收到的与第一使用者相关的标识进行加密,然后使用第一请求者接收到的公钥对该结果进行加密,来生成第一加密秘密。在相关情形中,示例性实施方式的方法进一步包括:从嵌入的秘密信息的第二请求者接收第二消息,其中,第二消息同时包括经签名的公钥以及与第二请求者相关的经签名的请求者标识。在这种情形下,该方法还包括:通过使用嵌入的秘密信息对接收到的与第二使用者相关的标识进行加密,然后使用第二请求者接收到的公钥对该结果进行加密,来生成第二加密秘密。
在另一实施方式中,嵌入的秘密信息包括作为装置制造过程的一部分而被嵌入装置的随机数。例如,随机数可为在装置外部生成的加密安全随机数。在另一实例中,装置包括片上系统(SoC)装置。在另一实施方式中,通过使用第一请求者的与接收到的公钥相关的私钥来对加密秘密进行解密,可恢复嵌入的秘密信息。
在另一实施方式中,从第一请求者接收到的第一消息包括表示装置的一个或多个操作的一个或多个使用标签。在一实施方式中,以上提到的方法进一步包括:利用包含在第一消息中的一个或多个使用标签来对装置进行标记。在一实例中,在装置内标记的一个或多个使用标签随后用于控制对装置的访问。
所公开的实施方式的另一方面涉及一种装置,包括处理器和存储器。该存储器包括处理器可执行代码,从而该处理器可执行代码在由处理器执行时将装置配置为:从被嵌入装置中的秘密信息的第一请求者接收第一消息。该消息包括与第一请求者相关的公钥,并且嵌入的秘密信息包括不与任何特定请求者相关的随机信息。处理器可执行代码在由处理器执行时进一步将装置配置为:基于接收到的公钥和嵌入的秘密信息来生成第一加密秘密。
所公开的实施方式的另一方面涉及包含在非易失性计算机可读介质上的计算机程序产品。该计算机程序产品包括用于从被嵌入装置中的秘密信息的第一请求者接收第一消息的计算机代码。该消息包括与第一请求者相关的公钥,并且嵌入的秘密信息包括不与任何特定请求者相关的随机信息。计算机程序产品还包括用于基于接收到的公钥和嵌入的秘密信息来生成第一加密秘密的计算机代码。
另一示例性实施方式涉及一种方法,包括:接收用于与装置相关的秘密信息的检索的请求,其中,该秘密信息不与秘密信息的任何特定请求者相关。该方法进一步包括,生成加密安全应答,使得应答的接收者能够恢复嵌入的秘密信息。然而,嵌入的秘密信息只能由请求的发送方恢复。
在另一示例性实施方式中,提供了一种方法,包括:向装置发送消息以请求嵌入在装置中的秘密信息。所发送的消息包括公钥,并且嵌入的秘密信息包括不与嵌入的秘密信息的任何特定请求者相关的随机信息。该方法还包括:响应于所发送的消息接收加密秘密,并从加密秘密恢复嵌入的秘密。
虽然本说明书包含了很多细节,但这些不应被解释为对任何发明范围或权利要求内容的限制,而是作为具体到特定发明的特定实施方式的功能描述。本说明书中在不同实施方式的背景下描述的一些功能也可在单个实施方式中组合实施。相反,在单个实施方式的背景下描述的各种特征也可分别在多个实施方式中或以任意合适的子组合来实现。此外,尽管上文可能将特征描述为以某些组合的方式操作,甚至最初声称如此,但来自所声称的组合的一个或多个特征可在某些情况下从组合中省略,且所声称的组合可被指定为子组合或子组合的变形。

Claims (10)

1.一种对与装置相关的秘密信息进行加密的方法,包括:
从被嵌入装置的秘密信息的第一请求者接收第一消息,其中,所述消息包括与所述第一请求者相关的公钥,并且其中,嵌入的秘密信息包括不与任何特定请求者相关的随机信息;以及
执行处理以判断所述秘密信息是否在以前导出;
在判断结果为否的情况下,基于接收到的公钥和嵌入的秘密信息来生成第一加密秘密。
2.根据权利要求1所述的方法,其中,所述第一请求者使用与所述装置相关的密钥对所述公钥进行签名。
3.根据权利要求1所述的方法,进一步包括:验证接收到的公钥,其中,所述第一加密秘密只在接收到的公钥验证成功时生成。
4.根据权利要求1所述的方法,进一步包括:
对所述装置进行标记以表明所述第一加密秘密的生成。
5.根据权利要求1所述的方法,其中,仅在所述装置未被标记有“所述第一加密秘密之前已被生成”的指示的情况下才生成所述第一加密秘密。
6.根据权利要求1所述的方法,其中,
所述装置进一步包括嵌入在装置中的标识;以及
所述装置的嵌入标识与所述第一加密秘密一起被提供给所述第一请求者。
7.根据权利要求1所述的方法,其中,
第一消息包括表示所述第一请求者的身份的辅助信息;以及
通过使用嵌入的秘密信息对表示所述第一请求者的身份的辅助信息进行加密,然后使用所述第一请求者接收到的公钥对该结果进行加密,来生成所述第一加密秘密。
8.根据权利要求1所述的方法,其中,
所述第一消息包括经签名的公钥以及经签名的与所述第一请求者相关的请求者标识这两者;以及
通过使用嵌入的秘密信息对接收到的与第一使用者相关的标识进行加密,然后使用所述第一请求者接收到的公钥对该结果进行加密,来生成所述第一加密秘密。
9.一种用于对被嵌入装置中的秘密信息进行加密安全检索的方法,包括:
接收对与装置相关的秘密信息的检索的请求,其中,所述秘密信息不与所述秘密信息的任何特定请求者相关;以及
执行处理以判断所述秘密信息是否在以前导出;
在判断结果为否的情况下,生成加密安全应答,使得所述应答的接收者能够恢复嵌入的秘密信息,其中,嵌入的秘密信息仅能由所述请求的发送方恢复。
10.一种恢复嵌入在装置中的秘密信息的方法,包括:
向装置发送消息以请求被嵌入在所述装置中的秘密信息,其中,所发送的消息包括公钥,并且其中,嵌入的秘密信息包括不与嵌入的秘密信息的任何特定请求者相关的随机信息,嵌入的秘密信息以前没有被导出过;
响应于发送的消息接收加密秘密;以及
从加密秘密恢复嵌入的秘密。
CN201210211430.9A 2011-06-24 2012-06-21 生成安全装置密钥 Active CN102843232B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/168,911 2011-06-24
US13/168,911 US8600061B2 (en) 2011-06-24 2011-06-24 Generating secure device secret key

Publications (2)

Publication Number Publication Date
CN102843232A CN102843232A (zh) 2012-12-26
CN102843232B true CN102843232B (zh) 2016-06-22

Family

ID=46785195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210211430.9A Active CN102843232B (zh) 2011-06-24 2012-06-21 生成安全装置密钥

Country Status (5)

Country Link
US (2) US8600061B2 (zh)
EP (1) EP2538366B1 (zh)
CN (1) CN102843232B (zh)
HK (1) HK1178341A1 (zh)
TW (1) TWI477134B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8600061B2 (en) 2011-06-24 2013-12-03 Broadcom Corporation Generating secure device secret key
CN103413097B (zh) * 2013-07-15 2017-02-15 北京华大信安科技有限公司 加密方法、装置及安全芯片
TWI479359B (zh) * 2013-08-01 2015-04-01 Phison Electronics Corp 指令執行方法、記憶體控制器與記憶體儲存裝置
US9397828B1 (en) 2014-05-13 2016-07-19 Google Inc. Embedding keys in hardware
WO2016112338A1 (en) * 2015-01-08 2016-07-14 Intertrust Technologies Corporation Cryptographic systems and methods
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
CN108400867B (zh) * 2017-02-07 2021-03-05 中国科学院沈阳计算技术研究所有限公司 一种基于公钥加密体制的认证方法
US10554641B2 (en) * 2017-02-27 2020-02-04 International Business Machines Corporation Second factor authorization via a hardware token device
DE102019112583A1 (de) * 2019-05-14 2020-11-19 Infineon Technologies Ag Integrierte elektronische schaltung
CN111181841B (zh) * 2019-12-29 2022-07-08 航天信息股份有限公司 电子邮件收发方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1252198A (zh) * 1997-12-24 2000-05-03 皇家菲利浦电子有限公司 联网环境中秘密的新随机数的管理与利用
CN101019369A (zh) * 2004-07-14 2007-08-15 英特尔公司 利用在线服务向装置传递直接证明私有密钥的方法
CN1961523B (zh) * 2004-02-23 2010-04-14 弗里塞恩公司 令牌提供

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868495B1 (en) * 1996-09-12 2005-03-15 Open Security Solutions, Llc One-time pad Encryption key Distribution
US6886095B1 (en) * 1999-05-21 2005-04-26 International Business Machines Corporation Method and apparatus for efficiently initializing secure communications among wireless devices
US6980660B1 (en) * 1999-05-21 2005-12-27 International Business Machines Corporation Method and apparatus for efficiently initializing mobile wireless devices
US20020021804A1 (en) * 2000-02-18 2002-02-21 Ledzius Robert C. System and method for data encryption
EP1316168A4 (en) * 2000-08-04 2006-05-10 First Data Corp METHOD AND DEVICE FOR USE OF ELECTRONIC COMMUNICATION IN AN ELECTRONIC CONTRACT
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US20050152543A1 (en) * 2003-11-04 2005-07-14 Toshihiro Shima Printer and print system
KR100635280B1 (ko) * 2005-04-27 2006-10-19 삼성전자주식회사 전자 서명을 이용한 보안 방법
US7690026B2 (en) * 2005-08-22 2010-03-30 Microsoft Corporation Distributed single sign-on service
US9166782B2 (en) * 2006-04-25 2015-10-20 Stephen Laurence Boren Dynamic distributed key system and method for identity management, authentication servers, data security and preventing man-in-the-middle attacks
US20080072066A1 (en) * 2006-08-21 2008-03-20 Motorola, Inc. Method and apparatus for authenticating applications to secure services
JP4256415B2 (ja) * 2006-09-04 2009-04-22 株式会社日立製作所 暗号化装置、復号装置、情報システム、暗号化方法、復号方法及びプログラム
US8595816B2 (en) * 2007-10-19 2013-11-26 Nippon Telegraph And Telephone Corporation User authentication system and method for the same
US20100027790A1 (en) * 2007-12-20 2010-02-04 Balaji Vembu Methods for authenticating a hardware device and providing a secure channel to deliver data
EP2163067B1 (en) * 2008-02-22 2013-12-25 Security First Corp. Systems and methods for secure workgroup management and communication
US9998288B2 (en) * 2010-02-26 2018-06-12 International Business Machines Corporation Management of secret data items used for server authentication
US8464061B2 (en) * 2010-08-30 2013-06-11 Apple Inc. Secure wireless link between two devices using probes
US8600061B2 (en) 2011-06-24 2013-12-03 Broadcom Corporation Generating secure device secret key

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1252198A (zh) * 1997-12-24 2000-05-03 皇家菲利浦电子有限公司 联网环境中秘密的新随机数的管理与利用
CN1961523B (zh) * 2004-02-23 2010-04-14 弗里塞恩公司 令牌提供
CN101019369A (zh) * 2004-07-14 2007-08-15 英特尔公司 利用在线服务向装置传递直接证明私有密钥的方法

Also Published As

Publication number Publication date
EP2538366B1 (en) 2020-05-27
US20140090078A1 (en) 2014-03-27
TW201301835A (zh) 2013-01-01
US9165148B2 (en) 2015-10-20
CN102843232A (zh) 2012-12-26
US20120328106A1 (en) 2012-12-27
EP2538366A2 (en) 2012-12-26
US8600061B2 (en) 2013-12-03
EP2538366A3 (en) 2014-04-02
HK1178341A1 (zh) 2013-09-06
TWI477134B (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
CN102843232B (zh) 生成安全装置密钥
US11038694B1 (en) Devices, methods, and systems for cryptographic authentication and provenance of physical assets
CN110519260B (zh) 一种信息处理方法及信息处理装置
JP6509197B2 (ja) セキュリティパラメータに基づくワーキングセキュリティキーの生成
AU2005223902B2 (en) Authentication between device and portable storage
RU2399087C2 (ru) Безопасное хранение данных с защитой целостности
US9054880B2 (en) Information processing device, controller, key issuing authority, method for judging revocation list validity, and key issuing method
TWI398152B (zh) 用於鑑別與一驗證系統電氣通信之物品之身份的方法
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
US20070039046A1 (en) Proof of execution using random function
TWI517653B (zh) 電子裝置及密碼材料供應之方法
KR101494992B1 (ko) 인증자, 피인증자 및 인증 방법
CN104350503A (zh) 存储器设备和存储器系统
TWI476629B (zh) Data security and security systems and methods
EP3455763B1 (en) Digital rights management for anonymous digital content sharing
KR20070096023A (ko) 보안 호스트 인터페이스
CN116527282A (zh) 用于算法过渡的多公钥数字证书的密钥使用方法
TWI575925B (zh) 資料加解密的方法及系統
CN116599771B (zh) 数据分级保护传输方法及装置、存储介质和终端
US11928247B2 (en) Methods and devices for AI model integrity and secrecy protection
KR101006803B1 (ko) 인증 기능을 갖는 rfid 인증 장치 및 방법
EP2317455A1 (en) System and method for secure serialization
EP2958265B1 (en) Revocation of a root certificate stored in a device
WO2023219543A1 (en) Methods and control arrangements for replacing a compromised certificate authority asymmetric key pair used by vehicles
WO2018043498A1 (ja) ワンタイム認証用icカード

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1178341

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1178341

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20170315

Address after: Singapore Singapore

Patentee after: Avago Technologies Fiber IP Singapore Pte. Ltd.

Address before: American California

Patentee before: Zyray Wireless Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181018

Address after: Singapore Singapore

Patentee after: Annwa high tech Limited by Share Ltd

Address before: Singapore Singapore

Patentee before: Avago Technologies Fiber IP Singapore Pte. Ltd.

TR01 Transfer of patent right