《生成安全装置密钥.pdf》由会员分享,可在线阅读,更多相关《生成安全装置密钥.pdf(19页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102843232 A (43)申请公布日 2012.12.26 C N 1 0 2 8 4 3 2 3 2 A *CN102843232A* (21)申请号 201210211430.9 (22)申请日 2012.06.21 13/168,911 2011.06.24 US H04L 9/30(2006.01) H04L 9/08(2006.01) (71)申请人美国博通公司 地址美国加利福尼亚州 (72)发明人安德鲁德洛 (74)专利代理机构北京康信知识产权代理有限 责任公司 11240 代理人田喜庆 (54) 发明名称 生成安全装置密钥 (57) 摘要 本发明提。
2、供了生成安全装置密钥、用于对被 嵌入装置中的秘密信息进行加密安全检索的方 法、装置、系统和计算机程序产品。嵌入的秘密信 息可包括随机数,该随机数不是针对秘密信息的 任何特定请求者而定制设计的。在接收到对嵌入 的秘密信息的请求后,将提供给请求者一个加密 秘密,使得只能由该请求者恢复嵌入的秘密信息。 此外,无需对嵌入的秘密信息和相关请求者的数 据库进行维护。 (30)优先权数据 (51)Int.Cl. 权利要求书1页 说明书10页 附图7页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 10 页 附图 7 页 1/1页 2 1.一种方法,包括: 从被嵌入装。
3、置的秘密信息的第一请求者接收第一消息,其中,所述消息包括与所述第 一请求者相关的公钥,并且其中,嵌入的秘密信息包括不与任何特定请求者相关的随机信 息;以及 基于接收到的公钥和嵌入的秘密信息来生成第一加密秘密。 2.根据权利要求1所述的方法,其中,所述第一请求者使用与所述装置相关的密钥对 所述公钥进行签名。 3.根据权利要求1所述的方法,进一步包括:验证接收到的公钥,其中,所述第一加密 秘密只在接收到的公钥验证成功时生成。 4.根据权利要求1所述的方法,进一步包括: 对所述装置进行标记以表明所述第一加密秘密的生成。 5.根据权利要求1所述的方法,其中,仅在所述装置未被标记有“所述第一加密秘密之 。
4、前已被生成”的指示的情况下才生成所述第一加密秘密。 6.根据权利要求1所述的方法,其中, 所述装置进一步包括嵌入在装置中的标识;以及 所述装置的嵌入标识与所述第一加密秘密一起被提供给所述第一请求者。 7.根据权利要求1所述的方法,其中, 第一消息包括表示所述第一请求者的身份的辅助信息;以及 通过使用嵌入的秘密信息对表示所述第一请求者的身份的辅助信息进行加密,然后使 用所述第一请求者接收到的公钥对该结果进行加密,来生成所述第一加密秘密。 8.根据权利要求1所述的方法,其中, 所述第一消息包括经签名的公钥以及经签名的与所述第一请求者相关的请求者标识 这两者;以及 通过使用嵌入的秘密信息对接收到的与。
5、第一使用者相关的标识进行加密,然后使用所 述第一请求者接收到的公钥对该结果进行加密,来生成所述第一加密秘密。 9.一种方法,包括: 接收对与装置相关的秘密信息的检索的请求,其中,所述秘密信息不与所述秘密信息 的任何特定请求者相关;以及 生成加密安全应答,使得所述应答的接收者能够恢复嵌入的秘密信息,其中,嵌入的秘 密信息仅能由所述请求的发送方恢复。 10.一种方法,包括: 向装置发送消息以请求被嵌入在所述装置中的秘密信息,其中,所发送的消息包括公 钥,并且其中,嵌入的秘密信息包括不与嵌入的秘密信息的任何特定请求者相关的随机信 息; 响应于发送的消息接收加密秘密;以及 从加密秘密恢复嵌入的秘密。 。
6、权 利 要 求 书CN 102843232 A 1/10页 3 生成安全装置密钥 技术领域 0001 本专利文件涉及信息安全和装置安全,包括用于在不同实体间交换秘密信息并生 成安全装置密钥(secret key)的技术。 背景技术 0002 在涉及安全信息和某些装置的各种应用中,不同装置间的安全交换和传递信息都 很重要。为此,各种安全协议和算法可用于在各种实体间对包括声音、图像、视频和其他类 型数据的信息进行安全交换。数据安全协议往往依靠加密技术,如加密、数字签名和散列函 数,从而在所需的安全水平进行认证和信息交换。这些技术往往依赖于秘密值(例如,密钥、 随机值等),该值由一个或多个参与方使用。
7、以建立安全通信信道,以实行认证协议等。 发明内容 0003 (1)一种方法,包括:从被嵌入装置的秘密信息的第一请求者接收第一消息,其中, 所述消息包括与所述第一请求者相关的公钥,并且其中,嵌入的秘密信息包括不与任何特 定请求者相关的随机信息;以及基于接收到的公钥和嵌入的秘密信息来生成第一加密秘 密。 0004 (2)根据(1)所述的方法,其中,所述第一请求者使用与所述装置相关的密钥对所 述公钥进行签名。 0005 (3)根据(1)所述的方法,其中,在不维护嵌入的秘密信息的数据库的情况下执行 所述第一加密秘密的生成。 0006 (4)根据(1)所述的方法,进一步包括:验证接收到的公钥,其中,所述。
8、第一加密秘 密只在接收到的公钥验证成功时生成。 0007 (5)根据(1)所述的方法,进一步包括:对所述装置进行标记以表明所述第一加密 秘密的生成。 0008 (6)根据(5)所述的方法,其中,对所述装置进行标记包括:锁定一次性可编程 (OTP)装置。 0009 (7)根据(1)所述的方法,其中,仅在所述装置未被标记有“所述第一加密秘密之 前已被生成”的指示的情况下才生成所述第一加密秘密。 0010 (8)根据(1)所述的方法,其中,通过使用接收到的公钥对嵌入的秘密信息进行加 密来生成所述第一加密秘密。 0011 (9)根据(1)所述的方法,其中,所述装置进一步包括嵌入在装置中的标识;以及 所。
9、述装置的嵌入标识与所述第一加密秘密一起被提供给所述第一请求者。 0012 (10)根据(1)所述的方法,其中,第一消息包括表示所述第一请求者的身份的辅助 信息;以及,通过使用嵌入的秘密信息对表示所述第一请求者的身份的辅助信息进行加密, 然后使用所述第一请求者接收到的公钥对该结果进行加密,来生成所述第一加密秘密。 0013 (11)根据(10)所述的方法,进一步包括:从嵌入的秘密信息的第二请求者接收第 说 明 书CN 102843232 A 2/10页 4 二消息,其中,所述第二消息包括表示所述第二请求者的身份的辅助信息;以及,通过使用 嵌入的秘密信息对表示所述第二请求者的身份的辅助信息进行加密。
10、,然后使用所述第二请 求者接收到的公钥对该结果进行加密,来生成第二加密秘密。 0014 (12)根据(1)所述的方法,进一步包括:对所述第一加密秘密进行数字签名。 0015 (13)根据(1)所述的方法,其中,所述第一消息包括经签名的公钥以及经签名的与 所述第一请求者相关的请求者标识这两者;以及,通过使用嵌入的秘密信息对接收到的与 第一使用者相关的标识进行加密,然后使用所述第一请求者接收到的公钥对该结果进行加 密,来生成所述第一加密秘密。 0016 (14)根据(13)所述的方法,进一步包括:从嵌入的秘密信息的第二请求者接收第 二消息,其中,所述第二消息包括经签名的公钥以及经签名的与所述第二请。
11、求者相关的请 求者标识这两者;以及,通过使用嵌入的秘密信息对接收到的与所述第二使用者相关的标 识进行加密,然后使用所述第二请求者接收到的公钥对该结果进行加密,来生成第二加密 秘密。 0017 (15)根据(1)所述的方法,其中,嵌入的秘密信息包括作为所述装置的制造过程的 一部分而被嵌入所述装置的随机数。 0018 (16)根据(15)所述的方法,其中,所述随机数是在所述装置外部生成的加密安全 随机数。 0019 (17)根据(1)所述的方法,其中,所述第一消息包括表示所述装置的一个或多个特 定操作的一个或多个使用标签。 0020 (18)根据(17)所述的方法,进一步包括:利用包含在所述第一消。
12、息中的一个或多 个使用标签来对所述装置进行标记,其中,在所述装置内标记的一个或多个使用标签随后 被用于控制对所述装置的访问。 0021 (19)一种方法,包括:接收对与装置相关的秘密信息的检索的请求,其中,所述秘 密信息不与所述秘密信息的任何特定请求者相关;以及,生成加密安全应答,使得所述应答 的接收者能够恢复嵌入的秘密信息,其中,嵌入的秘密信息仅能由所述请求的发送方恢复。 0022 (20)一种方法,包括:向装置发送消息以请求被嵌入在所述装置中的秘密信息,其 中,所发送的消息包括公钥,并且其中,嵌入的秘密信息包括不与嵌入的秘密信息的任何特 定请求者相关的随机信息;响应于发送的消息接收加密秘密。
13、;以及,从加密秘密恢复嵌入 的秘密。 附图说明 0023 图1为示例性系统的框图,该系统中可实施各种示例性实施方式。 0024 图2示出一组操作,可执行这些操作以用于根据示例性实施方式在装置中嵌入随 机数。 0025 图3示出一组操作,可执行这些操作以用于根据示例性实施方式安全地提供与装 置相关的秘密信息。 0026 图4示出一组操作,可执行这些操作以用于根据另一示例性实施方式安全地提供 与装置相关的秘密信息。 0027 图5示出一组操作,可执行这些操作以用于根据另一示例性实施方式安全地提供 说 明 书CN 102843232 A 3/10页 5 与装置相关的秘密信息。 0028 图6示出一组。
14、操作,可执行这些操作以用于根据另一示例性实施方式安全地提供 与装置相关的秘密信息。 0029 图7为示例性装置的框图,该装置可包纳所公开的示例性实施方式。 具体实施方式 0030 本发明提供了一些方法、装置、系统和计算机程序产品,以便对嵌入在装置中的秘 密信息进行加密安全检索。嵌入的秘密信息可包括随机数,该随机数不针对秘密信息的任 何特定请求者而定制设计。接收到对嵌入的秘密信息的请求后,将提供给请求者经加密的 秘密,使得只能由该请求者恢复嵌入的秘密信息。所述技术可用于消除维护嵌入的秘密信 息和相关请求者的数据库的需要。 0031 诸如数字版权管理(DRM)系统的一些信息安全系统要求唯一密钥例如。
15、被嵌入在芯 片组中,这作为该芯片组的制造过程的一部分。通常该密钥(key)用于去往/来自片上系 统(SoC)的信息的安全传递。因此,期望建立这样的信道的一方必须知道该密钥。同时,该 密钥必须在装置外部任意方式下不可见,且不能由未被认证方访问。为了恰当地使用和分 配这些密钥,一些系统使用密钥管理和交换协议,而这需要密钥数据库的存在和维护。这种 数据库的维护会增加这样的系统的成本和复杂度,且还会增加数据库维护方的责任。 0032 所述技术无需上文提到的数据库维护即可实施。本公开实施方式提供了有利于存 在于装置中的秘密信息交换的实施方法、装置、系统和计算机程序产品的示例,例如,该装 置可为芯片、芯片。
16、组、片上系统等。这种秘密信息通常在制造时便嵌入系统。这种秘密信息 (或密钥)可能需要只被特定的被认证方访问。在一些系统中,这可以通过在SoC制造时向 SoC中嵌入特定秘密值和与请求方相关的标识来实现。为了避免随后操纵秘密值和/或标 识,SoC可配备锁定能力,从而防止密钥和标识一旦被写入装置而将来遭遇破坏。因此,这 样的系统需要为请求方特别制造各装置,从而增加了库存管理、订购和制造工艺的复杂度。 例如,装置制造商必须知道负责提供秘密值的安全提供商,且一旦装置被制造,要实施具体 库存维护并跟踪进程。此外,在这种系统中,密钥和/或标识被存储在数据库中,该数据库 必须由装置制造商、请求方和/或可信第三。
17、方来维护和管理。所以,装置制造商会因与这样 的数据库进行安全通信,以及可能会对与数据库相关的至少一部分操作进行管理,而具有 额外负担。 0033 在其他系统中,可通过向SoC中嵌入随机(但可见)标识和使用键控单向函数创建 相关密钥来避免数据库管理。具备单向函数和相关密钥知识的一方知道随机标识,可以容 易地产生密钥。这样的系统可用于例如挑战应答协议,其中,安全系统可在挑战请求方、且 作为回应接收到正确密钥之后,允许对装置的访问(或解锁装置的某些测试端口)。此系统 的安全完全依赖于单向函数的保密性,该函数可由多个外部方共享。如果每个请求方请求 唯一的单向函数(例如,以确保另一第三方未泄露或恶意使用。
18、单向函数),那么需要专门制 造各装置以用于各个请求方,以具备其自己的专用单向函数。但是,用于各请求方的唯一单 向函数的实现方式会增加装置制造阶段中操作的成本和复杂度。 0034 本公开实施方式使得嵌入在装置(如SoC)中的秘密信息个性化,可用于单个请求 方而无需为每个请求方嵌入专用秘密信息。本公开实施方式进一步消除了在装置制造设施 说 明 书CN 102843232 A 4/10页 6 处管理和维护嵌入的秘密信息以及相应的请求者标识的数据库的必要。在一些实施方式 中,随机密钥被写入装置。装置随后向多个外部方安全地传递随机密钥的衍生品,这样每个 外部方可以肯定唯一秘密的完整性,而无需要求每个装置。
19、为单个第三方特别制造或要求在 装置制造商一方进行数据库管理。在一些实施方式中,通过嵌入的秘密信息的请求者传入 装置(如SoC)和/或从装置读取的值不一定是秘密值,而是在与由外部各方独占掌握的其 他秘密相结合使用时提供有效访问信息。 0035 图1提供了系统框图,该系统可包纳本公开实施方式。图1中描绘的装置制造设 施102通常通过104c生产装置104a,104c为例如可在外部实体购买的芯片、芯片组、片上 系统(SoC)等,外部实体为例如OEM制造商和系统开发商。每个通过104c制造的装置104a 被嵌入唯一秘密信息,比如随机数。从而多个请求者106a可通过106i请求嵌入的秘密信 息。如前所述。
20、,嵌入的秘密信息可由请求者例如用于建立与装置、与其他系统或装置的安全 通信信道,和/或影响其他加密安全操作。 0036 图2示出一组操作,可执行这些操作以用于根据示例性实施方式在装置中嵌入 随机数。图2所示的一些或所有的操作200例如可在装置制造设施处执行。在202,生 成随机数(RND),在204,生成的随机数被发往装置。该装置例如可包括SoC。在一些实施 方式中,随机数可在装置处生成。然而,用于加密应用的真随机数(如,加密安全随机数, cryptographically secure random number)的生成可能需要费时的操作,和/或可在装置 外或可能在制造设施外被更容易地产生。。
21、例如,从热噪声生成随机数可能需要热源在能够 生成合适值之前的特定时间段内的操作。因此,在一些实施方式中,随机数的生成先于将数 嵌入装置,且可能在制造设施之外,使用合适随机数生成方案来生成。随后,生成的随机数 发送至和/或存储在制造设施内,从而在稍后的装置制造过程中使用。应该进一步指出,除 了嵌入的随机数,与装置相关的任意标识也可生成并写入每个装置。在一些实施方式中,这 样的标识可由正在访问装置的请求者作为明文读取,而嵌入的随机数(将在下面的部分中 描述)只与特定请求者安全通信。 0037 接下来在206,随机数被嵌入装置。例如,随机数可写入装置内的特定寄存器或存 储位置。在208,读取回被嵌入。
22、装置的随机值,在210,锁定装置内包含随机值的位置。装置 的锁定可防止未来对嵌入的随机数的操控。在一示例实施方式中,装置包括一次性可编程 (OTP)组件,比如非易失性片上存储位置,用于永久存储装置内的随机数。在212,执行处理 以确定随机数是否正确嵌入装置。如果在212处不能检索到正确的随机数,则在216处装 置可被丢弃。但是,如果随机数被正确嵌入,则在214处装置保留。 0038 通过例如图2中的示例性操作组而被嵌入随机数的装置也可包括一组与公钥 (public key)加密算法相关的非对称密钥。在一些实现方式中,所存储的密钥可同时包括 公钥和私钥(private key)。公钥可存储在装置。
23、中以防止公钥改变并允许访问该密钥。装 置中包含的私钥保持秘密。例如,一个或多个RSA公钥对可存储在装置中。存储的公钥可 由装置制造商或多个第三方拥有。 0039 图3示出一组操作300,可执行这些操作以用于根据示例性实施方式安全地提供 与装置相关的秘密信息。图3中的示例性操作300例如可在装置制造设施外由包括安全系 统的装置的一个或多个组件来执行。在302,接收了包含来自嵌入的秘密信息的请求者的 签名公钥的消息。在一实例中,使用对应于装置(如,对应于装置制造商)的一个RSA公钥对 说 明 书CN 102843232 A 5/10页 7 在302接收到的公钥进行签名。因此,OTP可被用于选择使用。
24、所存储的哪一个公钥来验证 接收到的请求者公钥。在304,执行处理以判断秘密信息是否在以前导出。如果信息在以 前导出(“是”),在306实施重置操作且处理停止。在一实例中,被配置为控制图3的部分或 所有操作300的处理器或电路可以声明一硬件重置信号,以使SoC重置或重启。另一方面, 如果304处的判断为“否”,则在308处通过验证请求者公钥来继续操作。在一些实施方式 中,308处的验证包括对在302处接收到的消息和相关签名的RSA验证操作。例如,308处 的验证操作可使用RSA概率签名方案(RSA-PSS)来执行。在另一实例中,308处的验证可使 用椭圆曲线数字签名算法(ECDSA)来执行。在一。
25、些实施方式中,308处的验证操作包括纠错 码(ECC)验证操作。如果公钥无法被验证,则在312处实施重置操作,且处理停止。例如, 被配置为控制图3的部分或所有操作300的处理器或电路可以声明一硬件重置信号,以使 SoC重置或重启。另一方面,如果请求者公钥被正确地验证,则在314处,使用请求者公钥 对嵌入的秘密信息进行加密。在316处,输出被加密的嵌入的秘密信息以及装置的潜在任 意标识。此外,可对装置进行标记以表示嵌入的秘密信息已被导出至特定请求者。这是在 318处的操作,且可通过例如烧保险丝和/或写入OTP来实施。 0040 嵌入的秘密信息的请求者在接收到加密消息之后,可使用其私钥来容易地对接。
26、收 到的消息进行解密并恢复RND值。可选地,请求者可在安全位置(如,密钥数据库)存储RND 和相关标识。然而,装置制造商不需要维护这样的数据库或与这样的数据库交互。因此,借 助于图3示出的示例性实施方式提供了用于向任意特定请求方提供嵌入的秘密信息的流 程,而无需为该特定方制造定制装置。此外,图3所示的示例性实施方式消除了装置制造商 管理和维护密钥数据库和相关信息的需要。 0041 在一些实现方式中,从特定请求者接收到的消息(例如,图3中的操作302)不仅包 括请求者的签名公钥,还包括一条或多条辅助信息,如一个或多个使用标签。例如,这样的 使用标签可表示特定操作(如对嵌入的秘密信息的检索)被请求。
27、。例如,可作为图3中的操 作310的一部分来验证使用标签,并随后在执行后续操作(如秘密的加密)之前由安全系统 读取和解析。 0042 图4示出一组操作400,可执行这些操作以用于根据示例性实施方式安全地提供 与装置相关的秘密信息。图4中的示例性操作400例如可以在装置制造设施外由包括安全 系统的装置的一个或多个组件来执行。在402,从请求者接收包含经签名的公钥以及请求者 身份(identification)的消息。在一示例性实施方式中,使用对应于装置(如,对应于装置 制造商)的一个RSA公钥对在302处接收到的公钥进行签名。请求者身份是可从请求者传 递到装置的辅助信息的实例。在图4所示的示例性。
28、实施方式中,请求者身份标示所有者、请 求者、或对获取嵌入的秘密信息有兴趣的另一方。在一实例中,请求者身份是二进制字段。 0043 接下来,在404处,公钥被验证。在406处,做出公钥是否有效的判断。如果公钥 无法被验证(在406为“否”),则在408处执行重置操作,且处理停止。如果公钥有效,则在 410处执行处理以确定嵌入的秘密信息之前是否被导出至特定请求者。如果信息之前被导 出(在410处为“是”),则在412处执行重置操作,且处理停止。另一方面,如果410处的判 断结果为“否”,则在414处操作400继续,这里使用请求者身份和嵌入的秘密信息来生成派 生秘密。在一示例性实施方式中,派生秘密通。
29、过使用嵌入的秘密信息(如,RND)对请求者身 份进行加密来生成。在一些实现方式中,高级加密标准(AES)或其他对称密钥加密算法可 说 明 书CN 102843232 A 6/10页 8 被用于对请求者身份进行加密。在一些实施方式中,秘密信息(如,RND)作为加密算法的密 钥来使用,请求者ID为明文,且请求者ID被加密以产生作为请求者专有的秘密的密文。在 416处,使用请求者的公钥对派生秘密进行加密,且在418处,输出经加密的派生秘密。在 420处,对装置进行标记以表示嵌入的秘密信息已被导出至特定请求者。以这种方式,当装 置接收到另一请求时,利于410处的用以评估RND之前是否已被导出的判断。在。
30、420处进 行的操作例如可通过烧保险丝或写入OTP来实施。 0044 基于以上图4中的操作400,从而请求者可对接收到的派生秘密进行解密,并确定 嵌入的秘密信息。因此,图4中的操作400使得每个请求者的唯一派生秘密可使用辅助信 息(如,请求者ID)从嵌入的秘密信息来生成。这样,被配置为以这种方式操作的装置可使 用加密安全消息向多个请求者提供嵌入的秘密信息。被发送至每个请求者的安全消息是唯 一的,且不能被任何其他请求者在没有合适的解密密钥的情况下解密。这种设计将潜在地 允许数量不限的请求者来查询装置,并以这种与发送到其他请求者的消息加密地隔离的方 式来接收嵌入的秘密信息。 0045 要注意的是,。
31、图4所示的示例性操作组限制去往同一方的秘密信息的多次导出。 但在一些实施方式中,这样的限制可以不存在。例如,嵌入的秘密可被多次传达至同一方 (如,至相同请求者ID)。在这样的实施方式中,嵌入的秘密信息的每次导出都可被分别记录 在装置中,或者被存档。 0046 图5示出另一组操作500,可执行这些操作以用于根据示例性实施方式安全地提 供与装置相关的秘密信息。图5中的示例性操作500例如可以在装置制造设施外由包括安 全系统的装置的一个或多个组件来执行。操作502至516分别与图4中的操作402至416 的那些相关描述相似。具体地,在502处,从请求者接收包含签名公钥和请求者ID的消息。 接下来,在。
32、504处验证公钥,且如果506处的判断表明公钥无效,则在508处发起重置操作。 如果506处的判断表明公钥有效,则操作500在510处继续,以确定秘密信息是否在之前被 导出至请求实体。如果510处的判断表明秘密之前已被导出,则在512处执行重置操作。另 一方面,如果秘密信息之前并未被导出(在510为“否”),则在514处,使用请求者ID和秘密 嵌入信息创建派生秘密。 0047 在516处,对派生秘密进行加密。在518处,进一步对经加密的派生秘密进行签 名。在一些实例中,使用全局(如,单一)私钥来对经加密的派生秘密进行签名,而在其他实 例中,装置专有私钥用于在518处对经加密的派生秘密进行签名。。
33、在利用装置专有密钥的 示例性实施方式中,生成相关有效公钥的列表。这样的列表的生成例如可以作为装置制造 操作的一部分,且被作为公开可用。秘密信息的请求者可用的公钥的列表使得请求者能够 确定导出的秘密由合法装置提供。在520处,输出被签名和加密的派生秘密。在522处,对 装置进行标记以表示嵌入的秘密信息已被导出至特定请求者。 0048 图5所示的操作500包括额外操作518,以对经加密的派生秘密进行签名。这样 的被签名的消息,一旦由秘密信息的请求者接收和验证,将提供关于由装置产生的消息的 真实性的保证。尤其是,这样的签名保证了该消息真正是由合法安全系统(或安全公司)生 成,而不是来自从请求者拦截通。
34、信并只是模仿合法安全系统的应答的攻击者。 0049 图6示出另一组操作600,可执行这些操作以用于根据示例性实施方式安全地提 供与装置相关的秘密信息。图6中的示例性操作600例如可以在装置制造设施外由包括安 说 明 书CN 102843232 A 7/10页 9 全系统的装置的一个或多个组件来执行。在602处,从请求者接收包含签名的公钥以及请 求者生成的签名的身份(“请求者ID”)的消息。在一示例性实施方式中,使用对应于装置 (如,对应于装置制造商)的一个RSA公钥来对公钥和请求者ID进行签名。在一些实施方式 中,接收到的公钥和请求者ID可作为单独消息来进行签名,而在其他实施方式中,公钥和 请。
35、求者ID可构成单个消息,该单个消息由请求者签名并被发送至装置。 0050 接下来在604处,执行处理以确定装置是否已被标记为已产生ID密钥(如,是否装 置OTP已包含一ID)。如果装置已被标记为已产生ID密钥(在604为“是”),则在606处执 行重置操作,且处理停止。如果装置之前并未产生ID密钥(如,OTP为空)(在604为“否”), 则在608处公钥和请求者ID被验证。如果公钥或请求者ID的验证失败(在610为“否”), 则在612处执行重置操作,且处理停止。否则,在614处生成一ID密钥。在一实例中,ID密 钥通过利用秘密嵌入信息来加密请求者ID而生成。在616处,使用请求者的公钥对ID。
36、密 钥进行加密,且在618处,输出经加密的ID密钥。在620处,将秘密信息的导出指示和请求 者ID记录在装置中。 0051 一旦请求者接收到由装置生成的加密消息,请求者可使用其私钥对接收到的消息 进行解密并恢复ID密钥。ID密钥,与请求者ID(为请求者所知)一起,可由请求者存储。 因此,图6中所示的示例性操作组600产生派生秘密(如,ID密钥),该派生秘密对于每个请 求者唯一,且基于被请求者安全传递至装置的特定令牌(如,请求者ID)而产生。图6中的 示例性操作600的其中一个优势为可制止恶意尝试获取信息。特别是,在一个攻击情景下, 恶意方可能发起装置的ID密钥的请求,接收ID密钥,并以某种方式。
37、阻止装置标记ID密钥 的导出(如,恶意方锁定OTP写)。随后,这样的装置可用于合法使用者的真正授权。在接收 到合法使用者的请求后,装置基于图6中描述的示例性操作组600提供ID密钥。由于合法 使用者使用的ID几乎肯定与恶意方使用的ID不同,恶意请求者将不会从装置收到任何信 息。由于请求者ID和工厂编程标识能够保持秘密,即使恶意第三方可以设法获得来自装置 的随后输出消息,这样的消息包括与合法使用者提供的标识不同的请求者标识。由于恶意 第三方不知道用于此装置的唯一ID,他们将无法接收到对应于合法请求的ID密钥。图6中 的示例性操作600的另一优势是无需在制造过程中嵌入任意芯片标识,这是因为请求者提。
38、 供的标识可完全作为芯片标识。 0052 要注意的是,与图3示例性实施方式中相关描述类似,在602处接收到的消息也可 包括只允许特定后续操作的一个或多个辅助信息或使用标签。这种使用标签可被嵌入装置 (如,被写入OTP)并被用作秘密生成流程的一部分。例如,为了让装置在稍后时间点生成同 样的秘密,在运行时间内给装置提供同样的使用标签。这样,原始消息将使得芯片生成只能 随后以请求者预期的方式来使用的秘密。如果使用标签在运行时间内改变,即,装置被请求 用一组不同标签来生成密钥,则所生成的密钥将与之前生成的密钥和标签值不匹配。 0053 此外,在一些实施方式中,在602处接收到的消息进一步包括所有者ID。
39、(并非秘 密),与图4的操作400类似,所有者ID被用来生成所有者专用的派生秘密。在这样的实施 方式中,请求者同时提供请求者生成的ID和所有者ID。但在其他一些实施方式中,除了对 密钥ID进行加密(在616处),类似于图5的操作518,装置使用装置公钥对经加密的ID密 钥进行签名,从而提供了输出消息由合法装置(或安全系统)生成的保证。 0054 在一些实施方式中,可产生多个派生秘密。特别是,N个OTP可被配置为允许N个 说 明 书CN 102843232 A 8/10页 10 请求者进行请求。例如,如果八个请求者需要派生秘密,SoC可被配置为预留八个OTP比特。 在这样的实施方式中,如果SoC。
40、接收到的公共所有者ID标签包括值i,则设定(并锁定)OTP 的比特i1iN。如有关图4的前述内容,所有者ID,i,随后也可用于生成派生秘密, 从而允许仅生成一次与请求者i相关的派生秘密。在一些实施方式中,即使装置被配置为 具备为N个请求者提供派生秘密的能力,安全系统可能决定为少于N个使用者提供派生秘 密。在这种情形下,一些OTP比特可在甚至没有输出派生秘密的情况下被锁定。这种机制 可使装置在被制造后可由装置包纳的请求者数目减少。 0055 要注意的是,图2至图6中所示的各种示例性操作以特定顺序描述,从而利于所公 开的实施方式的理解。但是,要理解的是,图2至图6中所示的一个或多个操作可省略和/ 。
41、或与其他操作结合。此外,图2至图6中的每个所示的一个或多个操作能以与所示顺序不 同的顺序进行。 0056 要进一步理解的是,前面的描述并不意于将本发明的实施方式穷尽或限制为所公 开的精确形式,且可根据以上教导做出修改和变化或从各种实施方式的实践中获得修改和 变化。之所以选择和描述这里讨论的实施方式,是为了解释各种实施方式的原理和特性及 其实际应用,使得本领域技术人员能够在各种实施方式中利用本发明,并设想适用于特定 使用的各种修改。例如,在一些实施方式中,配置值可替代标识用于生成派生秘密。在其他 实施方式中,可存储多个配置值,以允许生成多于一个的派生或有效秘密。在另一些实施方 式中,利用输入的公。
42、钥进行签名的使用配置可被链接至有效秘密生成处理。 0057 文中描述的各种实施方式在方法或处理的总背景下描述,在一实施方式中,这些 方法或处理可由嵌入在计算机可读介质的计算机程序产品实现,其包括诸如程序代码的计 算机可执行指令,由电脑在网络环境中执行。计算机可读介质可包括可拆卸和不可拆卸的 存储装置,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、光盘(CD)、数字通用光 盘(DVD)、蓝光光碟等。因此,在本申请中描述的计算机可读介质包括非临时性的存储介质。 总的来说,程序模块可包括例程、程序、对象、组件、数据结构等,以执行特定任务或实现特 定抽象数据类型。计算机可执行指令、相关数。
43、据结构、以及程序模块代表了用于执行文中公 开的方法步骤的程序代码的实例。这种可执行指令或相关数据结构的特定顺序代表了实现 这种步骤或处理中描述的功能的相应动作的实例。 0058 要理解的是,本申请的各种实施方式可单独地或选择性地在包括各种硬件和/或 软件模块和组件的装置中来实施。这些装置例如可包括处理器、存储器单元和彼此通信连 接的接口。例如,图7示出了装置700的框图,该装置内可实施本申请的所有或部分各种实 施方式。装置700至少包括一个处理器704和/或控制器、与处理器704进行通信的至少一 个存储器单元702、以及至少一个通信单元706,它使得数据和信息可通过通信链路708与 其他实体、。
44、装置和网络直接或间接地进行交换。通信单元706可提供符合一个或多个通信 协议的有线和/或无线通信能力,因此它可包括适当的发送机/接收者天线、电路和端口, 以及编码/解码能力,这些对于适当的发送和/或接收数据和其他信息可能是必要的。存 储器702可存储数据、指令和其他类型的信息,并可包括只读存储器(ROM)和随机存取存储 器(RAM)这两者。存储器702的一部分可包括非易失性随机存取存储器(NVRAM)。此外,一 次性可编程(OTP)装置可作为存储器702的一部分来实施。OTP装置也可作为装置700中 的单独组件来实施。 说 明 书CN 102843232 A 10 9/10页 11 0059 。
45、图7的示例性装置700可被用于实现本申请的示例性实施方式。这样的示例性实 施方式涉及一种方法,包括:从嵌入在装置中的秘密信息的第一请求者接收第一消息。这样 的消息包括与第一请求者相关的公钥。此外,嵌入的秘密信息包括不与任何特定请求者相 关的随机信息。该示例性方法进一步包括:基于接收到的公钥和嵌入的秘密信息来生成第 一加密秘密。 0060 在一实施方式中,第一请求者使用与装置相关的密钥对公钥进行签名。在另一实 施方式中,执行第一加密秘密的生成,而不维护嵌入的秘密信息数据库。根据另一实施方 式,以上提到的方法进一步包括:验证接收到的公钥,其中,第一加密秘密只在接收到的公 钥的验证成功时生成。在另一。
46、实施方式中,以上提到的方法还包括:对装置进行标记以表明 第一加密秘密的生成。该标记例如可包括锁定一次性可编程(OTP)装置。 0061 根据另一实施方式,只有在该装置未被标记有“第一加密秘密之前已经生成”的指 示的情况下,才生成第一加密秘密。在一些实施方式中,通过使用接收到的公钥对嵌入的秘 密信息进行加密来生成第一加密秘密。在其他示例性实施方式中,该装置进一步包括嵌入 在装置中的标识。这样的嵌入标识可与第一加密秘密一起提供给第一请求者。 0062 在另一示例性实施方式中,第一消息包括表示第一请求者身份的辅助信息。在这 个示例性实施方式中,通过使用嵌入的秘密信息对表示第一请求者身份的辅助信息进行。
47、加 密,然后使用第一请求者接收到的公钥对该结果进行加密,来生成第一加密秘密。 0063 所公开的实施方式也可包纳嵌入的秘密信息的多个请求者。特别是,在一示例性 实施方式中,以上提到的方法进一步包括:从嵌入的秘密信息的第二请求者接收第二消息, 其中,第二消息包括表示第二请求者标识的辅助信息。在这种情形下,该方法还包括:通过 使用嵌入的秘密信息对表示第二请求者身份的辅助信息进行加密,然后使用第二请求者接 收到的公钥对该结果进行加密,来生成第二加密秘密。 0064 根据另一实施方式,以上提到的方法进一步包括:对第一加密秘密进行数字签名。 在另一实施方式中,第一消息同时包括经签名的公钥以及与第一请求者。
48、相关的经签名的请 求者标识。在这个实施方式中,通过使用嵌入的秘密信息对接收到的与第一使用者相关的 标识进行加密,然后使用第一请求者接收到的公钥对该结果进行加密,来生成第一加密秘 密。在相关情形中,示例性实施方式的方法进一步包括:从嵌入的秘密信息的第二请求者接 收第二消息,其中,第二消息同时包括经签名的公钥以及与第二请求者相关的经签名的请 求者标识。在这种情形下,该方法还包括:通过使用嵌入的秘密信息对接收到的与第二使用 者相关的标识进行加密,然后使用第二请求者接收到的公钥对该结果进行加密,来生成第 二加密秘密。 0065 在另一实施方式中,嵌入的秘密信息包括作为装置制造过程的一部分而被嵌入装 置。
49、的随机数。例如,随机数可为在装置外部生成的加密安全随机数。在另一实例中,装置包 括片上系统(SoC)装置。在另一实施方式中,通过使用第一请求者的与接收到的公钥相关 的私钥来对加密秘密进行解密,可恢复嵌入的秘密信息。 0066 在另一实施方式中,从第一请求者接收到的第一消息包括表示装置的一个或多个 操作的一个或多个使用标签。在一实施方式中,以上提到的方法进一步包括:利用包含在第 一消息中的一个或多个使用标签来对装置进行标记。在一实例中,在装置内标记的一个或 多个使用标签随后用于控制对装置的访问。 说 明 书CN 102843232 A 11 10/10页 12 0067 所公开的实施方式的另一方面涉及一种装置,包括处理器和存储器。该存储器包 括处理器可执行代码,从而该处理器可执行代码在由处理器执行时将装置配置为:从被嵌 入装置中的秘密信息的第一请求者接收第一消息。该消息包括与第一请求者相关的公钥, 并且嵌入的秘密信息包括不与任何特定请求者相关的随机信息。处理器可执行代码在由处 理器执行时进一步将装置配置为:基于。