CN104541474A - 集成电路中的安全特征和密钥管理 - Google Patents

集成电路中的安全特征和密钥管理 Download PDF

Info

Publication number
CN104541474A
CN104541474A CN201380042381.3A CN201380042381A CN104541474A CN 104541474 A CN104541474 A CN 104541474A CN 201380042381 A CN201380042381 A CN 201380042381A CN 104541474 A CN104541474 A CN 104541474A
Authority
CN
China
Prior art keywords
key
kernel
order
activated
scope
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.)
Granted
Application number
CN201380042381.3A
Other languages
English (en)
Other versions
CN104541474B (zh
Inventor
P·C·科克
B·C-M·琼
A·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.)
Cryptography Research Inc
Original Assignee
Cryptography Research 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 Cryptography Research Inc filed Critical Cryptography Research Inc
Publication of CN104541474A publication Critical patent/CN104541474A/zh
Application granted granted Critical
Publication of CN104541474B publication Critical patent/CN104541474B/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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Abstract

描述了用于提供集成电路中的安全特征和密钥管理的机制。示例集成电路包括用于存储秘密密钥的安全存储器,以及被耦合至安全存储器以用于接收数字签名命令、利用秘密密钥来验证与命令相关联的签名并且利用命令来配置集成电路的操作的安全管理器内核。

Description

集成电路中的安全特征和密钥管理
背景技术
目前,片上系统的供应商可能销售很多不同品种的相同芯片,其中各品种被配置用于特定应用。芯片配置经常通过使一个或多个熔断器烧断或以其他方式对芯片上的一次性可编程存储器进行编程而发生。该类型的芯片配置通常是单向过程并且不能撤销。规避配置过程的永久性的一个方法是在一次性可编程存储器内添加能够被组合以修改先前的设定(例如,通过将多个位一起异或以产生最终的配置设定)的冗余或备用的位。然而,该类型的冗余具有受限的灵活性,并且要求在芯片上占据附加基板面(real estate)的附加熔断器。另外,在设定之后具有多个熔断器不能消除进行多个编程步骤以配置芯片的需要并且增加了成本。同样,如今配置继续由芯片供应商(或他们的承包商)进行,他们接着维持具有多个熔断器配置的芯片的库存。
不同品种的相同芯片的储备经常是效率低的。例如,如果配置用于特定应用的所储备的芯片被过度生产,或者如果客户的芯片配置需要改变,则潜在地浪费了所储备的芯片。另外,在一些情况下,如果配置的芯片的库存不足以满足需求,则可能延误订单履行。此外,由芯片供应商配置的本模式可能限制商业关系的范围和芯片供应商与下游客户之间实际的收益流。例如,本模式可能限制在初始销售之后从芯片的重新配置生成未来收益的能力。如果下游客户希望获取超出所配置的特征集的特征,则当前的芯片典型地缺乏用于解锁该功能性的手段,并且因此没有机会使用下游特征实现作为收益流。
此外,对于安全系统和应用的需要正在增长。目前,据称安全芯片经常在工厂车间用安全密钥编程。安全密钥可以以多种途径使用,诸如例如为了保护所存储的数据、控制对数字内容的访问或者加密/认证交易中使用的数据等。如今,这些密钥可以存储在一次性可编程存储器中,该存储器可以直接保持密钥,或者保持与密码功能一起使用的基本密钥,该密码功能为各种功能导出密钥。典型地,安全性通过在确保安全的设施中进行密钥加载过程来提供。
附图说明
现在将参照示出了本申请的示例实施例的附图,并且其中:
图1A是描绘了示例性生态系统的框图。
图1B是示出生态系统内的安全管理器被启用的装置的示例性生命周期的流程图。
图2A以框图形式描绘了用于配置和管理具有安全管理器被启用的芯片的一个或多个装置的示例性操作系统。
图2B是与安全管理器被启用的IC相关联的特征空间的示例性实施例的框图。
图3是用于进行在本文中描述的方法的包括了安全管理器被启用的IC的系统的示例性实施例的框图。
图4是安全管理器内核的示例性实施例的框图。
图5是用于针对由根权限系统签名的命令生成根签名块的示例性方法的流程图。
图6是用于通过安全管理器内核来处理图5中生成的根签名块示例性方法的流程图。
图7是用于生成能够与委托签名块相关联的根签名块的示例性方法的流程图。
图8是用于生成委托签名块的示例性方法的流程图。
图9A是用于通过安全管理器内核来处理图8中生成的委托签名块以及相关联的根签名块的示例性方法的流程图。
图9B是用于通过安全管理器内核来处理从根签名块检索的命令的示例性方法的流程图。
图10是用于安全管理器被启用的IC内的特征管理的示例性方法的流程图。
图11是用于生成用于传送净荷密钥的委托签名块的示例性方法的流程图。
图12是用于通过安全管理器内核来处理包括净荷的一个或多个签名块的示例性方法的流程图。
图13A是用于在安全管理器被启用的IC的设计过程期间利用配置器系统的示例性方法的流程图。
图13B是用于在芯片开发之后利用配置器系统的示例性方法的流程图。
图14是用于初始化安全管理器被启用的IC的示例性方法的流程图。
图15以框图形式图示了示例性个性化处理。
图16是通过委托权限系统进行的用于对针对安全管理器被启用的IC进行特征更新的请求进行授权的示例性方法的流程图。
图17是通过根权限系统进行的用于对针对安全管理器被启用的IC进行特征更新的请求进行授权的示例性方法的流程图。
具体实施方式
现在将详细地参照附图中图示的本示例性实施例。
1.概念
1.1生态系统概要
现在将参照以框图形式示出了示例性生态系统100的图1A。如图1A所示,系统100可以包括集成电路(“IC”)提供商105、第三方IP提供商107、IC制造商110、IP和/或安全密钥提供商115、安全服务120、计费和报告服务122、产品供应商125、装置管理员127以及最终用户130。为简单起见,在该示例性生态系统中,每个实体仅示出了一个。在实践中,与在本文中描述的原理一致的生态系统可以具有一个或多个的各实体(即,供应同样的IC的多个IC制造商、提供利用相同IC设计的产品的多个产品供应商、以及多个客户)。图1A中示出的一些步骤还可以牵涉到数个公司(例如,IC制作可以牵涉到不同公司和/或阶段来制造晶片、进行初始测试、切割晶片、封装芯片等等)。另外,在一些场合中,一些实体以及他们的功能可以被包含在单个实体内。例如,一些公司不仅设计而且制造IC,在该情况下,IC制造商110和IC提供商105可以是相同的实体。
IC提供商105是将芯片设计提供给用于芯片生产的IC制造商110的实体。具体地,IC提供商105提供用于可配置的IC的芯片设计,使得芯片的一些方面可以在制造之后被配置(例如,用于特定应用或者启用/禁用特定特征)。例如,IC提供商105可以在设计中包括安全管理器(“SM”)内核,或者能够指定制造出的IC包括SM内核。包括了SM内核的IC称作SM被启用的IC。除其他事项外,SM内核允许IC的一个或多个可配置的特征(“特征”)取决于期望的配置和安全需要而被锁定或解除锁定(或者以其他方式配置,例如,诸如调谐PLL以调节CPU的特性或者传递供特征使用的秘密密钥等)。SM被启用的IC例如包括一个(或者也许多个)SM内核以及一个(或多个)安全的永久性存储器。并且如下面所详细讨论的,SM被启用的IC可选地可以包括一些其他元素(例如,一个或多个提取器、一个或多个特征,等等),或者它们的一些组合。IC提供商105可以包括根公钥作为提供给IC制造商110的掩码的一部分。IC提供商105可以从可用作根权限(root authority)的安全服务120获取根公钥。
根权限是与管理SM编程能力的根权限系统相关联的实体,并且能够将能力的子集分配至与一个或多个委托权限(delegate-authority)相关联的一个或多个委托权限系统。如下面所更加详细讨论的,根权限系统可以控制SM被启用的IC的配置。SM被启用的IC的配置可以包括例如进行SM被启用的IC的特征管理、进行SM被启用的IC的密钥管理或者它们的组合。根权限系统可以控制由系统100中的其他实体拥有的SM被启用的IC的特征管理。例如,根权限系统可以直接创建能够以密码的方式验证的(例如,数字签名的)命令来锁定、解除锁定或者配置与SM被启用的IC相关联的特征。另外,根权限系统可以创建受限的授权,该受限的授权允许由IC制造商110、产品供应商125、装置管理员127、最终用户130、其他实体或者它们的一些组合创建对于SM被启用的IC的配置改变。
根权限系统还可以控制针对SM被启用的IC的密钥管理。例如,根权限系统可以授权SM内核将净荷(例如,秘密密钥,或者其他值)安全地传递至SM被启用的IC的其他部分(包括在SM被启用的IC上执行的软件)。根权限系统可以授权一个或多个委托权限系统来安全地传递净荷。
如上面所提到的,根权限是与根权限系统相关联的实体。于是,虽然在本文中描述的实施例可能是指作为根权限的安全服务120,但可以设想其他实体可以用作根权限。例如,IC提供商105、产品供应商125或者一些其他实体。
先前的段落描述了授予另一实体许可的根权限。这些许可的接收方被称作委托权限。在一些场合中,委托权限与已经被赋予根权限系统的SM编程能力的子集的委托权限系统相关联。SM编程能力的子集可以在委托权限系统之间不同。委托权限可以是产品供应商125、IC制造商110、装置管理员127、一些其他实体或者它们的一些组合。
如下面所详细讨论的,根权限系统、一个或多个委托权限系统或者它们的一些组合可以具有对于控制系统100中的SM被启用的IC的修改(例如,特征和密钥管理操作)的一些(或完全)控制。
IC制造商110是制造IC的实体。如上面所讨论的,一些IC是可配置的,使得芯片可以在制造之后被配置用于特定应用。片上系统(“SOC”)、专用集成电路(ASIC)、FPGA、移动无线电芯片以及处理器(例如CPU)是适用于与在本文中描述的实施例一起使用的IC的示例。通常,特征管理最特别地适合于集成了能够独立使用的多个功能的芯片、或者具有可配置的功能或具有应该在芯片生命周期中的不同阶段(例如,诸如调试/测试模式等)被启用/禁用的能力的芯片。并且对于密钥管理应用,利用了密码密钥或类似秘密的任何芯片都可以是良好的候选。IC制造商110可以制造包括了SM内核的IC。IC制造商110可以将一个或多个安全密钥、装置ID、初始特征配置设定或者它们的一些组合嵌入到SM内核中,作为其制造过程、测试过程或两者的一部分。为了做到这一点,IC制造商110配备成提供在下面详细讨论的定制的第一阶段。具体地,IC制造商110可以是使得能够对SM被启用的IC做出特定配置改变的委托权限。例如,在包含多个处理器的IC中,IC制造商110可以被允许设定能够用在SM被启用的IC中的处理器的数量,而不是用于各处理器的时钟速率。在未示出的一些实施例中,IC制造商110和IC提供商105是相同的实体。
另外,IC制造商110可以在制造出的IC上进行测试以确保他们在设计规范内操作。在一些情况下,诸如晶片分类等的测试过程可以在与IC制作不同的设施处和/或通过不同公司来进行,在该情况下,标签“IC制造商110”代表这些角色/步骤的组合。IC制造商110将SM被启用的IC提供给产品供应商125。
产品供应商125将SM被启用的IC并入到被接着做成对于最终用户130可用的一个或多个产品(例如,SM被启用的装置)内。在一些实施例中,产品供应商125是装置或服务零售商并且使SM被启用的装置对于最终用户130直接可用。在其他实施例中,产品供应商125将SM被启用的装置分发至用于分发给最终用户130的一个或多个第三方装置或服务零售商(未示出)。
产品供应商125可以添加SM被启用的IC的附加定制。为了做到这一点,产品供应商125可以是使得能够对SM被启用的IC做出某些特定配置改变的委托权限。例如,作为委托权限,产品供应商125的委托权限系统可以通过根权限系统被允许某些能力。
甚至在产品被销售给最终用户130之后,也能够进一步配置或启用SM被启用的IC中的特征。例如,最终用户130和/或产品可以与产品供应商125、装置管理员127、安全服务120、委托权限、根权限或者它们的一些组合协作以启用SM被启用的IC中的特征。例如,该处理可以牵涉到在网络之上传输请求(例如,通过利用产品中的无线电来经由蜂窝数据网络传输请求报文)和接收(例如,通过利用产品中的无线电来接收来自蜂窝数据网络的报文)授权被请求的配置改变的芯片特定的报文。
在一些场合中,产品供应商125也可以用作用于安装在SM被启用的装置上的一个或多个应用的应用作者。另外,产品供应商125可以用作管理与应用相关联的功能性的应用操作者。类似地,产品供应商125也可以用作分发与SM被启用的装置兼容的操作系统的操作系统供应商。产品供应商125也可以用作服务操作者(诸如移动网络操作者),例如管理可以对于SM被启用的装置可用的一个或多个服务或能力。
在其他实施例中,其他实体、一个或多个第三方(未示出)或者它们的一些组合可以是应用作者、操作系统供应商、应用操作者或者它们的一些组合。
IP和/或安全密钥提供商115管理用于与SM被启用的IC一起使用的安全密钥。包括了公钥和秘密密钥的安全密钥值可以被提供至IC制造商110、安全服务120、产品供应商125、装置管理员127或者它们的一些组合。在未示出的一些实施例中,IP和/或安全密钥提供商115也可以将安全密钥提供至第三方IP提供商107、IC提供至105或者它们的一些组合。
安全服务120可以用作用于可被生态系统中的实体使用的安全密钥的中央分发器。例如,安全服务120可以从IP和/或安全密钥提供商115(或者从多个安全密钥提供商)获取安全密钥并且将他们分发至系统100中的其他实体。例如,SM被启用的移动电话应用处理器可以用来自多个IP和/或安全密钥提供商115的密钥编程,包括独立地操作和/或未束缚于特定IC提供商105的很多。这样的IP和/或安全密钥提供商115的示例包括但不限于电子支付系统、DRM/反盗版系统、身份系统,等等。在一些实施例中,安全服务120可以包括根权限系统并且用作用于SM被启用的IC的根权限。在其他实施例中,聚集和根权限角色可以是分开的。作为根权限,安全服务120可以授权待作为委托权限的系统100中的一个或多个其他实体以例如锁定或解除锁定与SM被启用的IC相关联的某些特征、将密钥安全地传递至SM被启用的IC(或者至在SM被启用的IC上执行的软件)的一部分,等等。如下面所详细讨论的,依照由根权限以密码图形方式授予的特权,委托权限被授权对SM被启用的IC做出某些配置改变。
计费和报告服务122可以耦合至系统100内的其他实体中的一些实体或所有实体。在一些情况下,系统100中的一个或多个实体可能希望对于SM被启用的IC的某些配置设定(例如,以启用增值特征)的收取费用。计费和报告服务122通过生态系统中的各种实体来追踪与各种交易类型相关联的费用。例如,实体可以被要求支付以启用或禁用与SM被启用的IC相关联的特征或将密钥传递至SM被启用的IC。计费和报告系统122例如通过从委托权限系统接收电子交易或审核记录来收集关于由委托进行的交易的数量的信息。基于收集到的记录,计费和报告服务122可以将横跨多个芯片类型和交易类型(例如,所启用的特征的种类)的计费金额聚集起来,并且最终计算出由启用特征或进行其他交易的实体所欠的金额。同样,如下所述,计费和报告服务122能够帮助计算出欠诸如第三方IP提供商107等的第三方的金额。去往由计费和报告服务122进行的计费计算的输入可以包括但不限于进行的交易的数量、启用了什么特征、启用了该特征的时间的长度等等。在一些实施例中,根权限或委托权限可以在SM被启用的IC上强加在启用或配置特征之前接收支付的政策,但是在其他情况下,可以在启用之后进行计费和支付。在两种情况下,安全服务120都能够经由其与根权限系统以及一个或多个委托权限系统的通信而动态地调节所进行的交易的数量上的限制。在一些实施例中,计费和报告服务122是安全服务120的一部分。在其他实施例中,计费和报告服务122可以仅进行交易追踪,并且计费和财务处理可以分开地(或甚至手动地)进行。
系统100可以包括第三方IP提供商107(或,如先前所提到的,数个第三方IP提供商107)。第三方IP提供商107可以将一个或多个特征或者特征的一部分提供至IC提供商105,用于集成到SM被启用的IC内。或者在一些场合中,第三方IP提供商107可以简单地给IC提供商105发放许可证以使用一个或多个现有的特征或特征的一部分。集成的特征可以通过根权限或在其被委托能力内操作的委托权限被启用。在一些实施例中,特征未被启用(例如,被解除锁定)直到第三方IP提供商107被补偿用于IP区块的使用为止。例如,如在计费和报告服务122的上下文中所讨论的,委托权限系统可以未提供有授权特征激活的能力或授权,直到由计费和报告服务122和/或由第三方IP提供商107接收到支付为止。
最终用户130是使用产品(例如,包含了SM被启用的IC的装置)的实体。最终用户130可以例如从IC制造商110、产品供应商125、装置管理员127或者一些第三方装置或服务零售商购买SM被启用的装置。
在一些实施例中,系统100包括装置管理员127。装置管理员127可以是使其能够对SM被启用的IC做出特定配置改变的委托权限。最终用户130可以接着与装置管理员127(或安全服务120,等等)协作以启用SM被启用的IC中的特征。该处理可以包括用户和/或装置在网络之上传输请求、接收授权响应并且将响应报文的至少一部分(该部分可以例如包括来自授权委托权限的安全服务120中的根权限系统的数字签名以及来自用作委托权限的装置管理员127的数字签名两者)提供至SM被启用的IC以实际上启用所请求的特征。请求可以包括支付、已经做出支付的确认或者对未来支付的承诺。另外,在一些实施例中,装置管理员127可以是具有控制系统100中的SM被启用的IC的修改(例如,特征和密钥管理操作)的一些直接或间接控制的装置或服务零售商。
另外,在未示出的一些实施例中,系统100可以包括装置特征管理员或装置密钥管理员。装置特征管理员可以是具有授权牵涉到SM被启用的IC的配置改变(例如,经由密钥管理操作、特征管理操作或者它们的一些组合)的某些有限能力的委托权限。
另外,在一些实施例中,根权限可以安全地允许系统100中的其他实体启用或部分地启用用于测试的SM被启用的IC或SM被启用的装置的一个或多个特征。例如,根权限经由根权限系统可以在设定时间段或若干电力不间断电源内启用(或部分地启用)SM被启用的IC内的特征(例如,使得特征仅被启用直到下一次SM被启用的IC被上电或复位为止)。类似地,在一些实施例中,经由委托权限系统的当被根权限许可时的委托也可以被允许启用或部分地启用用于测试的SM被启用的IC或装置的特征。
上面实体中的一个或多个可以经由通过一个或多个通信网络操作者操作的一个或多个网络彼此耦合。这些网络中的一些可以由一个或多个网络管理员维持。
现在参照示出了用于生态系统(例如,系统100)内的SM被启用的装置的示例性生命周期140的图1B。虽然生命周期以特定顺序公开了下面的步骤,但应该理解的是步骤中的至少一些可以被移动、修改或者在适当情况下被删除。
在步骤142中,设计SM被启用的IC。如下面所详细讨论的,设计过程可以利用例如配置器、从SM供应商接收到的网表以及用于生成硬件配置密钥和常量的部件。例如,该生成过程可以牵涉到根权限系统,例如在一些实施例中,根权限系统可以生成用于公钥密码系统的密钥对,其中公钥被输出作为硬件配置密钥,并且私钥被保留在根权限系统中(例如,用于授权委托)。SM被启用的IC设计可以包括可被硬接线至制造出的SM被启用的IC中的一个或多个安全密钥。SM被启用的IC设计可以被配置成允许用于可被编程到制造出的SM被启用的IC内的一个或多个安全密钥的存储(例如,在步骤150中、步骤155中或者在两者中)。
在步骤145中,基于SM被启用的IC设计来制造和测试SM被启用的IC。各SM被启用的IC可以具有一个或多个SM内核,其中各SM内核可以控制一个或多个特征。如下面所详细讨论的,特征可以根据被一个或多个安全密钥授权、经由一个或多个SM命令或者它们的一些组合而被更改、启用、禁用或者它们的一些组合。另外,在一些实施例中,来自第三方提供商(例如,第三方提供商107)的特征或特征的一部分可以被并入到SM被启用的IC内。例如,第三方提供商可以提供用于以高速度呈现大图像文件的特征,但是初始时未被启用。测试可以被进行用以确认SM被启用的IC的特征是否被正确地操作。例如,当被根权限许可时的委托权限(或者根权限自身)可以临时地(例如,在固定时间内和/或直到芯片被复位为止)启用一个或多个特征以便于测试。取决于实施例,步骤145可以由IC制造商110、IC提供商105、一些其他实体(例如,专门的测试设施)或者它们的一些组合来进行。
在步骤150中,定制的第一阶段发生。在该步骤中,SM被启用的IC可以被分配装置标识符(“ID”)并且被配置有来自根权限系统、委托权限系统、一个或多个密钥拆分(keysplit)或基本密钥的一个或多个密钥。
密钥拆分是密钥的当与不同密钥拆分组合时形成完整密钥(例如,基本密钥)的部分。密钥拆分可以用于例如通过使SM被启用的IC中的SM内核通过不同方被编程有不同密钥拆分而增加基本密钥的安全,所述不同方中没有一个具有所有不同密钥拆分的知识。在SM内核内发生密钥拆分的经由组合功能的组合以提供基本密钥。因为编程方中没有一个知道所有密钥拆分,所以单个设施的损害并不一定损害基本密钥。
下面更加详细地讨论示例性配置过程。其他参数也可以在定制的第一阶段期间设定。例如,如果SM被启用的IC包含多个处理器,则定制的第一阶段可以设定可以在初始时由产品供应商125使用的处理器的数量。或者,例如,定制的第一阶段可以设定用于各处理器的最大时钟速率以抑制欠载的过热或者以匹配在测试145期间确定的最大速率。例如,安全地存储这样的限制能够防止不诚实的分发商欺骗性地将较低速度的部件备注为较高速度等级。在未示出的可选实施例中,没有步骤150,并且而是将定制的第一阶段作为步骤155的一部分来进行。
在步骤155中,定制的第二阶段发生。例如,相同系列的SM被启用的IC可以被进一步配置成满足用于不同产品供应商的要求。在很多场合中,一些产品供应商可能想要专门配置的SM被启用的IC。在定制的该阶段期间,SM内核的特征状态可以被更新以定制SM被启用的IC来满足各产品供应商的需要。更新特征状态可以包括禁用、启用或更改与SM被启用的IC相关联的一个或多个特征、以及加载附加的密钥或者它们的一些组合。定制的该第二阶段可以例如由IC制造商110、IC提供商105、产品供应商125、一些其他实体或者它们的一些组合来进行。尽管成本因素典型地希望维持定制步骤的数量尽可能地小,但是一些应用也可以采用多于或少于两阶段的定制。注意,定制的两个阶段(150和160)可以例如分别在IC的晶片级别测试和封装级别测试处进行。
在步骤160中,SM被启用的IC被并入到装置内以在产品制造过程期间创建SM被启用的装置。SM被启用的IC的特征状态在该点上也可以更新。例如,产品供应商可以启用特征的组合以创建SM被启用的装置的不同产品线。该编程过程能够利用从安全服务120发布的硬件安全模块而被保证安全(例如,以确保精确的记录被最终提供至计费和报告服务122)。以该方式,产品供应商125可以仅需要在其库存中取得并保持来自IC提供商105的单个类型的芯片,接着该芯片可以被用在具有在产品组装期间设定的不同配置的多个产品中。计费和报告服务122用于确保正在启用的能力被支付(例如,使得IC提供商105能够收集取决于芯片配置的用于各芯片的适当金额)。密钥也可以作为步骤160的一部分被编程到SM内核内。例如,产品供应商可以在各SM被启用的IC中编程唯一的密钥(诸如产品供应商125知道但IC提供商105不知道的密钥)。
在步骤165中,分发SM被启用的装置。SM被启用的装置可以例如被分发至另一产品供应商、中间商、最终用户130、装置管理员127或者生态系统中的其他实体。
在步骤170中,能够完成SM被启用的装置的内场管理。(已经离开产品供应商的SM被启用的装置被说成在内场。注意,这不一定与在最终用户的手中同义,例如,移动电话运营商操作者可以在将其传递至最终用户130之前进行电话的定制或规定)。内场管理可以包括被接收以更新SM被启用的装置的特征状态的请求。例如,请求可以被接收以启用SM被启用的IC的特殊的音频组件。这样的请求可以例如由最终用户130或装置自身向根权限或适当地被授权的委托权限发送请求来引发。内场管理接着牵涉到一个或多个授权和/或安全密钥的至SM被启用的装置的传输。如下面所详细讨论的,安全密钥传递和特征管理可以经由与SM被启用的装置通信的根权限系统由根权限进行,或者经由在其委托的SM编程能力内起作用并且与SM被启用的装置通信的委托权限系统由委托权限进行。一旦收到响应,SM被启用的装置中的软件就将响应的一部分(包括来自根权限和/或委托权限的密码授权)提供至SM内核,该SM内核验证授权是否在进行被请求的操作(例如,特征配置,键入密钥,等等)之前对于特定装置有效。
或者单独地或者与其他实体结合地起作用的先前所述实体中的所有都可以请求、生产、缓存、传输或者修改前述更新、管理以及审核报文以控制SM被启用的装置的密钥和特征。在装置生命周期的各种点处具有角色的这些实体中的每一个都可以独立地操作,并且可以具有SM被启用的装置或者与装置交互操作的基础结构的不同程度的所有权。某些密钥或特征的部署可以牵涉到支付、审核或者其中SM内核活动的便利、进行某些动作的请求、制定或演绎SM内核报文、通信或存储所述报文、授权动作的过程可以通过前述实体中的一个或多个来进行所在的其他商业布置。
2.安全管理器系统架构
现在参照以框图形式示出了用于配置和管理一个或多个SM被启用的装置的示例性操作系统200的图2A。系统200可以包括由网络205可操作性地连接的公共陆地移动网络(PLMN)210、根权限215、根权限系统217、委托权限220、委托权限系统222、IC提供商105、SM被启用的装置240、245、250、255和260、SM被启用的IC 265、无线访问点275、配置器系统280以及附加的实体287中的一些或所有。
网络205可以例如是互联网、内联网、局域网、广域网、校园区域网、城域网、外联网、私有外联网、两个或多个耦合的电子装置中的任何集合或者这些或其他适当的网络中的任何的组合。网络205还可以与也称作无线广域网(WWAN)或者在一些情况下称作蜂窝网络的PLMN 210通信。为简单起见,网络205示出为单个实体,但能够可以存在多个网络。例如,私有外联网可以将IC提供商105与根权限215连接,即使图2A中的其他实体由互联网连接。
根权限215是管理SM编程能力并且能够将能力的子集分配至一个或多个委托权限220的实体(例如,安全服务120)。根权限215与包含(或以其他方式有权访问)管理SM被启用的IC 265和SM被启用的装置240、245、250、255和260的密码密钥的根权限系统217相关联。根权限系统217被配置成生成一个或多个根签名块(“RSB”)。如下面所详细讨论的,RSB可以包括一个或多个SM命令、命令模板、一个或多个委托许可、一个或多个密钥(例如,委托公钥)或者它们的一些组合。RSB包含由根权限系统217利用对应于SM内核中的公钥的根私钥(例如,RSA私钥)签名的至少一个数字证书。根权限系统217可以被配置成将一个或多个RSB或其他数据提供至配置器系统280、SM被启用的IC 265、委托权限系统222、SM被启用的装置(例如,240、245、250、255或260)、一个或多个其他实体287、电子存储介质(未示出)或者它们的一些组合。另外,根权限系统217可以被配置成当由根权限系统217的用户指示时提供RSB。根权限系统217可以在单个计算机上实现,或者在一些场合中可以横跨可在地理上分散多个计算机(例如,其包含用于门限签名系统的密钥共享,其中,需要来自多个密钥共享的协作来计算数字签名)分布。
如下面所详细讨论的,根权限系统217可以被配置成把特权委托给一个或多个委托权限系统222。根权限系统217还可以配置成生成用于一个或多个配置器系统280的系统和网表密钥常量。另外,根权限系统217可以被配置成管理在定制处理(下面讨论)期间使用的万能密钥。根权限系统217也可以被配置成创建测试矢量以及辅助SM内核集成和ASIC制造的其他值。
在一些实施例中,根权限系统217可以被配置成委托用于创建附加委托的能力。在该实施例中,第一委托权限系统可以被配置成创建各具有第一委托权限系统的SM编程能力的子集的一个或多个第二委托权限系统。委托级别的最大数量(如果有限制的话)可以是可配置的选项。简化的实施例可以对于委托权限省略SM内核中的支持,并且而是针对所有任务使用根秘密密钥(例如,其中用作委托权限的实体具有包含根签名密钥的签名装置并且/或者利用这样的装置在网络之上交互)。
根权限系统217可以包括防篡改签名模块(未示出)以提供增加的安全和/或特性。委托权限系统222典型地通过根权限系统217被授予授权以仅行使根权限系统217的权限的子集。根和委托权限系统217和222的特权阶段可以例如通过密码密钥、由签名软件强加的约束、操作者策略以及在防篡改签名模块内的策略来调整。
系统200可以包括多个委托权限220。委托权限220是与委托权限系统222相关联的实体。委托权限系统222已经被根权限系统217赋予了SM编程能力的子集。委托权限220的示例可以例如包括产品供应商125、IC制造商110、装置管理员127、服务操作者、零售商、一些其他实体(例如,如参照图1A讨论的)或者它们的一些组合。
委托权限系统222可以具有从根权限系统217委托给它的某些能力(例如,密钥管理操作、特征管理操作或两者的一部分)。这些能力可以被输送作为正向授权的集合或作为约束的集合。例如,特权可以通过控制由权限系统提供什么签名报文(例如,签名块)、由权限系统使用的签名密钥的调整、可以由权限系统中的一个签名的净荷的特定类型的调整、通信信道/目的地的调整以及可被输送至SM内核的报文的类型或者它们的一些组合而由根权限系统217、委托权限系统222输送和限制。可以被委托的示例性特权包括:能够启用或禁用某些硬件能力、调节特性设定或其他值、允许某些外部接口的使用、允许操作的某些模式的使用、启用或禁用测试模式(例如,控制诊断和调试模式)、控制什么时候特定模式或特征被激活(例如,仅在制造过程期间被激活)、能够调节SM被启用的IC的特征的某些配置设定的值、导出和/或使用一个或多个密钥加密密钥、将以供某些SM被启用的IC使用的密钥加密、将密钥供应至IC子组件、调节SM被启用的IC的通常配置、审核可由SM内核访问的状态信息、为密钥/密钥拆分编程、在内场SM被启用的IC上进行诊断活动、校准或调谐模拟电路以补偿处理变化、配置用于特定产品中的输入时钟和期望的操作频率的PLL、调节无线电的功率和频率、配置由内部热失效安全强加的限制(热限制可以基于不同产品中使用的封装和冷却溶液而变化)、配置电池充电电路,等等。
根权限系统217的对委托权限系统222的授权也可以包括在委托权限系统222的授权上的约束,包括但不限于委托权限系统222是能够永久地(例如,通过引导SM内核将特征配置数据保存在非易失性/一次性可编程存储器中)还是短暂地配置特征、授权是必须被绑定至单个IC还是至特定类或组的IC、授权是否必须被绑定成随机数量发生器状态(以防止授权被复用)。
如先前所提到的,特征设定不限于简单二进制开/关设定。例如,可以有使得期望使用委托权限系统222或根权限系统217以要求用于配置上的改变的授权的关注(例如,安全性、可靠性、责任,等等)。例如,错误配置PLL或者使用不正确的模拟校准可以引起SM被启用的IC误动作,所以PLL设定可以通过SM内核来保证安全。
如下面所详细讨论的,委托权限系统222被配置成生成一个或多个委托-签名块(“DSB”)。委托权限系统222可以被配置成将DSB提供至:配置器系统280、SM被启用的IC 265、根权限系统217、IC提供商105、SM被启用的装置(例如,240、245、250、255或260)、电子存储介质(未示出)、一个或多个实体287或者它们的一些组合。另外,委托权限系统222可以被配置成在由委托权限系统222的用户指示时提供DSB。一个或多个实体287是其既不是委托权限也不是根权限的实体,但是仍然可以接收RSB、委托-签名块(“DSB”)或它们的一些组合。例如,在一些实施例中,装置管理员127、IP和/或安全密钥提供商115、托管服务提供商等等可以不是委托权限,但是仍然可以接收RSB、DSB或它们的一些组合。
委托权限系统222可以包括被配置成存储一个或多个安全密钥(例如,委托私钥、AES密钥或两者)的防篡改签名模块(未示出)。例如,防篡改签名模块可以是智能卡或硬件安全模块(“HSM”)。
在一些实施例中,委托权限系统222具有创建附加委托的能力。在这样的实施例中,提供SM编程能力的系统能够被禁止委托比当前拥有的更多的SM编程能力。例如,如果根权限系统217伴随着将SM编程能力分配至附加的委托权限系统(未示出)的能力将仅SM编程能力A、B和C提供至委托权限系统222,则委托权限系统222将不能进一步提供SM编程能力D,但能够在没有许可C的情况下委托A和B。委托权限系统222可以在单个计算机上实现,或者在一些场合中被横跨多个计算机分布。分布的委托可以如先前所述使用门限签名。委托权限系统222还可以包括用于可靠性和特性的多个冗余的和/或群聚的组件。
另外,在一些实施例中,根权限系统215、委托权限系统222或两者可以被配置成在一个或多个电子存储介质(未示出)中存储签名块(例如,RSB、DSB)。电子存储介质可以例如是易失性的(例如,SRAM、DRAM或者其他半导体存储器)或非易失性的(例如,硬盘、R/W光盘、闪存驱动器)或者它们的一些组合。RSB和/或DSB也可以被存储在SM装置内(例如,如果RSB/DSB对仅配置特征直到装置被复位为止,则配置可能需要在每次产品复位时被加载)。
系统200可以包括若干SM被启用的装置,例如,SM被启用的装置240、245、250、255和260。SM被启用的装置240、245、250、255和260可以是例如智能电话、平板电脑、上网本、台式计算机、机顶盒、移动装置、膝上型计算机、数字视频记录仪、付费TV机顶盒、汽车、制造设备、数字和视频照相机、电池、认证外围的装置、视频游戏用户接口以及其他用户接口,等等。尽管用多个SM装置示出了图2A的示例性系统,但是系统可以用一个或任何数量的SM被启用的装置实现。SM被启用的装置240、245、250、255和260对来自进而能够授权的根权限系统217、委托权限系统222的签名或其他授权进行验证。另外,SM被启用的装置(例如,SM被启用的装置240、245、250、255和260)与根权限系统217、与委托权限系统222或者与两者之间的耦合可以是临时的。例如,耦合可以存在于用以修改SM被启用的IC的操作所需要的时间。用于SM被启用的装置260和SM被启用的IC 265的授权可以由根权限系统217或委托权限系统222创建,并且经由一个或多个装置测试仪(未示出)、编程器具(未示出)或其他中间体(未示出)传递。
装置测试仪通常被配置成测试IC的功能性。特别地对于SM被启用的IC,装置测试仪可以附加地被配置成将信息(例如,密钥、装置IC等等)编程到SM被启用的IC内(例如,通过将编程命令供应至SM内核)。装置测试仪或编程器具也可以在数据库中记录关于装置及其SM内核的信息,包括装置身份信息和配置信息。各装置测试仪可以被配置成将一个或多个SM被启用的装置耦合至根权限系统、委托权限系统或两者。可能具有一套特征或能力的系统或装置理想地适合SM被启用的IC的使用。
SM被启用的装置可以包括一个或多个SM被启用的IC(例如,265)。同样,SM被启用的IC 265可以包括例如一个或多个SM内核,以及一个或多个安全存储器。并且如下面所详细讨论的,SM被启用的IC可以可选地包括一些其他元素(例如,一个或多个提取器、控制一个或多个特征的输出,等等)、或者它们的一些组合。如下面所讨论的,可以经由密钥管理或特征管理操作对SM被启用的IC 265进行某些修改。
SM被启用的装置240、245、250、255和260可以被配备用于通过PLMN 210的蜂窝通信、被配备用于利用无线访问点275的Wi-Fi通信、或能够进行利用网络210的蜂窝以及Wi-Fi通信两者或者他们中的任何组合。无线访问点275可以被配置成根据IEEE 802.11规范中的一个进行操作的WLAN。例如,SM被启用的装置250利用无线访问点275无线地耦合至网络205,并且SM被启用的装置240经由PLMN 210耦合至网络205。SM被启用的装置240、245、250、255和260能够支持的其他通信接口的示例包括以太网、JTAG、串口/USB、I2C,等等。
即使包括了在编程之前同样的IC,SM被启用的装置240、245、250、255和260也可以不同地配置。在消费电子产品中,可以在宽范围的产品(例如,高端和低端产品两者)中使用类似的硅或IC(例如,由相同掩模集制作),其中特性上的差异至少部分由配置控制。特征丰富的产品可能具有例如先进的音频能力(例如,环绕立体声)、多个HD视频流、大量且多样的输入和输出、包括了有线的或卫星的或无线的特定调制解调器和转码器、各种调谐器等等的用于多个有线电视提供商的支持、诸如画中画等的观看特征、Wi-Fi支持,等等。同样,预期用于在智能电话中使用的SM被启用的IC可以包括用于诸如GPS等的能力的特征管理支持、各种无线网络无线电协议、Wi-Fi、基于近场通信的财务交易、蓝牙或其他外围接口、空中视频服务、HD视频支持、无线视频接口、附加的外部视频接口、许多且各种分辨率的照相机和传感器、用于各种屏幕大小和分辨率的支持、用于触觉的、图形的和视频的增强与加速的处理。SM被启用的IC中的SM内核可以用于管理诸如例如可用的或可使用的存储器等的系统资源的大小和特性,或者可用的处理器的速度和数量。在未示出的一些实施例中,SM被启用的装置(例如,240、245、250、255和260)也可以被可操作性地耦合至配置器系统280。特定特征为什么应该在特定芯片上被禁用的原因有很多,包括降低用于未用的特征的IP许可证发放成本、禁用非工作的或未经测试的硅面积、避免较高端部件的拆用销售、禁用可能造成安全风险的模式/设定,等等。
委托权限220(例如,IC提供商105或IC制造商110)可以接收来自配置器系统280的配置数据。由配置系统280生成的数据可以通知委托权限220如何寻址特定特征或密钥。
在示例性实施例中,SM内核特征空间是存储在存储器中的包括了控制SM被启用的IC的特定功能性或配置方面的值的地址空间。图2B是与SM被启用的IC相关联的特征空间285的示例性实施例的框图。特征空间285包括一个或多个值295,其中每一个都具有相关联的地址290。例如,值“GPS无线电启用的”可能被分配至特征空间中的地址0。诸如多位PLL配置值等的特征空间中的其他值可以跨距多个位(和相应的地址)。
在一些实施例中,除了SM被启用的IC的其他特征以外,特征空间285内的值中的一个或多个可以涉及SM内核自身。这样的特征空间值称为内部特征。例如,内部特征可能控制某些基本密钥是否可用以供使用、携带关于装置的信息(诸如,产品制造商的身份、产品售出所在的地理区域),等等。这些内部特征可以用于控制授权(例如,使得预期用于一个地理区域内的装置的授权将不能在另一区域中的装置上工作)。
内部特征是可寻址的并且被以与用于控制装置元素的特征类似的方式控制。内部特征可以用于代表接着被映射到引导设备的元素的更加具体的SM内核输出的较高级别的特权或特征条件。例如,内部特征可以代表从1到7的数值的速度等级,而SM内核输出包括用于设定映射到速度等级的较大数量PLL时钟控制设定的信号。以该方式,如将在后面描述的,数值的速度等级设定可以用作用于形成其操作被限于特定速度等级的SM内核命令的条件。在另一示例中,内部特征可以在SM内核内使用以追踪已发布组标识符、装置标识符或者装置已经通过一定身份被封装、制造或者售出的事实。在该示例中,制造实体可能是具有将其制造商ID编程到内部特征内的许可的委托权限220。SM内核命令可以演绎内部特征并使用结果来控制SM内核如何管理其他特征或密钥。例如,SM内核可以对于由特定网络操作者操作的装置或仅对于处于预零售状态的装置仅输出某些密钥或者某些调试设定许可。
返回参见图2A,配置器系统280也可以配置成将装置特定密钥映射到SM内核密钥接口。配置器系统280可以在芯片开发期间也可以在之后被利用来管理这些设定和配置。
配置器系统280可以被配置成接收一个或多个配置器输入文件、硬件(“HW”)常量或者他们的组合,并且将他们进行处理以生成一个或多个提取器硬件限定、一个或多个子提取器硬件限定以及IC配置映射。生成的限定例如是描述SM被启用的IC的组件的Verilog模块。一个或多个配置器输入文件可以限定用于SM被启用的IC的特定配置、列出一个或多个安全密钥及其相关联的在SM被启用的IC上的目的地、由SM内核管理的特征的名字和地址、等等。例如,一个或多个配置器输入文件可以被配置成指定这样的事物作为已命名的特征信号、配置位、配置位的分组、安全密钥总线输出、安全密钥总线属性、安全存储器映射属性或者他们的组合。可以由配置器系统280配置并且被嵌在硬件内(例如,被固定在硅内并且对于用相同掩模做出的所有芯片共用)的硬件常量的示例包括例如芯片产品ID、来自根权限(例如,根权限系统公钥)的一个或多个密钥、来自委托权限的一个或多个密钥、一个或多个基本密钥、一个或多个附加的安全密钥、错误校正数据、用于特征控制的默认值,等等。
生成的提取器硬件限定被用在IC设计中以将总线输出从SM内核布线到各种子提取器。如在一个或多个配置器输入文件中指定的,子提取器硬件限定被用在IC设计中以将特征空间位从提取器映射到已命名的特征和密钥。提取器硬件限定和任何子提取器硬件限定被用于产生包含提取器和子提取器的SM被启用的IC设计。
配置器系统280也可以被配置成利用追踪配置上的改变的状态缓存,并且该状态缓存可以用于使现有的电路设计布局的修改最小化。状态缓存例如可以是映射文件、IC配置映射,等等。在一些实施例中,代替利用映射文件来更新状态缓存,配置器280被配置成重新读取之前的输出以实现状态缓存。
在一些实施例中,配置器系统280可以被配置成附加地生成一个或多个命令映射文件、一个或多个固件映射文件和一个或多个文档文件。命令映射文件例如是用于将命令映射成为可由SM被启用的IC理解的形式的文件。固件映射文件是包含用于软件开发所需要的限定和结构的文件(例如,标头和源文件,等等)。文档文件提供了SM被启用的IC设计的概要。另外,文档文件可以包括软件组件的设计中使用的环境和构造原理。文档文件可以是以下格式中的一个或多个:XML、HTML、text、PDF、MICROSOFT WORD,等等。
配置器系统280可以用在一个或多个SM被启用的IC 265的生产中。在未示出的一些实施例中,配置器系统280可以用在SM被启用的装置240、245、250、255和260中的一个或多个的生产中。配置器系统280可以包括一个或多个处理器(未示出)、存储器(未示出)以及数据接口(未示出)。配置器系统280可以在单个计算机上实现,或者在一些场合中横跨多个计算机分布。
图3是用于进行在本文中描述的方法的包括了SM内核的系统300的示例性实施例的框图。系统300可以包括SM内核305、安全存储器310、提取器320、总线360、处理器355、提取器接口375、密钥接口376、配置值接口377、主存储器370、特征325、330和335、子提取器340、345和350、寄存器接口358、测试仪接口365或者它们的一些组合。SM被启用的IC包括SM内核305和安全存储器310,并且可选地可以包括SM系统300的示出来的其他元素中的一些(或所有)(例如,提取器320、总线360、处理器355、提取器接口375、子提取器340、345和350、密钥接口376、配置值接口377、主存储器370、特征325、330和335,等等)。尽管图3中每个组件仅示出了一个,但是应该理解的是,系统300可以包括超过一个的任意已命名组件。例如,系统300可以具有多个处理器355。类似地,尽管用单个SM内核305示出了图3的示例性系统,但是SM被启用的IC可以包含多个SM内核305。此外,在一些实施例中,系统300可以包括可以被可操作性地耦合(诸如利用光、电或无线传输被可通信地耦合)至测试仪的测试仪接口(“I/F”)365。在未示出的一些实施例中,一个或多个子提取器340、345和350可以与提取器320组合。
另外,在一些实施例(未示出)中,SM内核305可以与一个或多个特征(未示出)直接连接,并且如果所有这样的连接都被直接地处理,则可以不需要提取器320和子提取器。并且在一些实施例中,特征325、330和335可以继续利用提取器320、一个或多个子提取器(例如,340、345和350)和接口(375、376、377)连接。
另外,SM内核305可以直接读取和写入信号至系统300的其他组件。在一些实施例中,SM内核305可以经由例如专用接口(未示出)或者经由总线360采样系统状态、读取数据参数,等等。例如,SM内核305可以在总线360之上发布读取操作以获取期望的信息。
系统300包括安全存储器310。安全存储器310可以是单个安全存储器和/或多个同类或异类的安全存储器。安全存储器310可以是其中每个位的设定可以以非易失性形式固定的数字存储器的形式。安全存储器310可以包括例如熔丝存储器、反熔丝存储器、一次性可编程(“OTP”)存储器、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、RAM(包括电池供电的RAM)或者它们的一些组合。在一些实施例中,其中安全存储器310是熔丝或反熔丝存储器,安全存储器310可以包括提供修订先前存储在安全存储器310内的信息(例如,通过重写或重新映射先前写入的数据)的能力的冗余通路。取决于目前的技术和安全特征,安全存储器310的内容可以被加密和/或认证、可以被保护不被除了SM内核305以外的区块读取、可以被配置成一次性可编程的。还有,安全存储器310可以是孤立的,使得仅SM内核305被连接至安全存储器310,或者使得SM被启用的IC的其他组件可以从安全存储器310读取但是仅SM内核305可以写入安全存储器310。安全存储器310也可以被划分成可以由SM被启用的IC中的除SM内核305以外的组件读取的一个或多个部分以及可以仅由SM内核305读取的一个或多个部分。SM内核305可以直接负责进行所有制造测试和用于安全存储器310的编程操作。另外,在一些实施例中,安全存储器310被设计成抵抗例如通过从IC上去除某些层、捕捉IC的显微照片或者在操作期间电探测IC来获悉其内容的努力。另外,在一些实施例中,SM内核305包括封装器315。封装器315将来自SM内核305的请求翻译成由安全存储器310理解的请求,并且反之亦然。在一些实施例,安全存储器310可以被集成至SM内核305。
系统300包括一个或多个特征325、330和335。经由子提取器340、345、350传递至特征325、330和335的输入通常是可配置的,由此提供了与特征325、330和335相关联的功能性的可配置性(例如,经由密钥管理和特征管理操作)。这样的配置改变可以通过经由寄存器接口358传递至SM内核305的SM命令(下面描述)来进行。
特征325、330和335可以包括硬件、软件和他们的组合。例如,特征325、330和335可以是全球定位服务、一个或多个处理器(例如,CPU、图形处理器、密码内核,等等)、附加的存储器、USB端口、视频输入或输出端口、音频输入或输出端口、提供先进的图形能力(例如,画中画,多个HD视频流、图形加速,等等)的电路、用于访问一个或多个网络(例如,Wi-Fi、近场、蓝牙,等等)的网络收发器、照相机,等等。上面的特征列表不应该被考虑为限制的,因为特征可以包括经由密钥管理或特征管理操作而可配置的任何组件或能力。上面参照例如图2A讨论了特征能力,并且在下面讨论例如特征管理部。在一些实施例中,特征或特征的一部分由第三方IP提供商提供。特征325、330和335分别与子提取器340、345和350相关联。在未示出的一些实施例中,多个特征可以共享单个子提取器。子提取器340、345和350便于SM内核输出(诸如配置值和密钥)的横跨SM被启用的IC设计的传递。另外,如上面所讨论的,子提取器340、345和350是选择性的,并且通常用于包括多个特征的大型或复杂的SM被启用的IC(包括其中顶级ASIC布图规划和/或布线是具有挑战性的)。提取器320被配置成将来自SM内核305的输出传递至子提取器340、345和350,子提取器340、345和350进而将信号分别传递至特征325、330和335。
示例性系统300包括提取器320。提取器320是配置成以适于预期的目的地特征的形式对从SM内核305到与该特征相关联的适当的子提取器的信息(例如,密钥和特征状态)进行接收和布线的硬件组件。特征状态是指已经被SM内核305以及可能的提取器320处理过使得其呈可以由目的地特征理解的形式的信息。特征状态可以在特征空间中具有一个或多个相关联的地址。通过示例的方式,特征状态可以包括使能信号、元数据、配置或校准信息或者对于特征有用的其他数据。
提取器320被可操作性地耦合至SM内核305,并且被可操作性地耦合至一个或多个特征(例如,特征325、特征330和特征335)。在一些实施例中,提取器320经由提取器接口375耦合至SM内核305。提取器接口375提供从SM内核305到提取器320的信息(诸如,特征数据、安全密钥等类似物)的通信。特征数据可以是秘密的或非秘密的,并且是用于配置特征的总体数据。提取器接口375可以包括将SM内核305耦合至提取器320的导线。提取器320接着经由密钥接口376、配置值接口377或者它们的组合将信息转送至与各目的地特征相关联的子提取器。密钥接口376是配置成使秘密信息(例如密码密钥,如针对诸如RSA和EC-DSA等公钥系统的私钥、诸如AES或三重DES等的针对密码系统的对称密钥以及用于诸如HDCP或EMV等的协议的密钥)通过的通信路径。例如,提取器320可以经由密钥接口376将128位密钥和目标密钥地址通信至一个或多个特征(例如,325、330和/或350)。提取器320可以被配置成将目标地址解码以便标识与目的地特征相关联的特定子提取器。例如,子提取器340、子提取器345和子提取器350分别与特征325、330和335相关联。配置值接口377是配置成使与特征管理操作相关联的特征数据通过的通信路径。例如,如果一个或多个特征(例如,325、330、335或它们的一些组合)正被配置或启用,则提取器320经由配置值接口377使特征数据传到适当的子提取器。同样,如果特定特征不需要(并且/或者为了安全原因可能不被许可接收)与给定的地址相关联的值,则提取器和/或子提取器能够保留这些来自目的地的值。保留不必要的值能够通过避免值的到不需要了的子提取器或特征的不必要布线和传递来提高ASIC上的效率。在一些实施例中,提取器接口375提供报文的从SM内核375到提取器320的双向通信。在其他实施例中,提取器接口375提供报文的从SM内核305到提取器320的单向通信。密钥接口376和配置值接口377可以包括将SM提取器320耦合至一个或多个子提取器240、234和350的导线。
提取器接口375、密钥接口376和配置值接口377或者它们的一些组合将SM内核305耦合至提取器320和子提取器340、345、350。接口的组合可以例如通过连续地发送数据值、发送当发生值改变事件(例如,使能特征)或接收到请求(例如,因为特征上电)时的数据或者它们的一些组合而将来自SM内核305的数据传输至特定特征。
特征空间的各元素的与SM内核相关联的当前值可以被存储在例如安全存储器310或SM私有存储器(下面讨论)中。在一些实施例中,给定的操作(例如,下面讨论的RSB或DSB的处理)可以只更新特征空间的元素的子集。在其中值改变事件被从SM内核305通信至提取器320的实施例中,期望(尽管不是要求的):只有特征空间的元素的受特定净荷影响的值在该净荷的处理时被从SM内核305通信至提取器320。在其中特征空间内的所有值被连续地从SM内核305驱动至提取器320的实施例中,受特定净荷影响的值可以与从例如用于通信的SM私有存储器到提取器320的不受影响的特征空间的之前的值组合。
系统300可以包括处理器355。处理器355例如可以是单个或多个微处理器、现场可编程门阵列(FPGA)元件或者数字信号处理器(DSP)。处理器355的具体示例例如是x86处理器、ARM处理器、MIPS微处理器、8051微控制器,等等。处理器355可以经由总线360耦合至SM内核305、主存储器370、测试仪I/F 365或者它们的一些组合。在一些实施例中,处理器355可以被配置成与SM内核305直接通信、经由SM内核305对安全存储器310进行读取并编程、检索SM内核305的状况和系统状态、将命令发送至SM内核305、从SM内核305接收用于由处理器355执行而被授权的软件的密码散列(诸如,启动程序、操作系统组件、应用,等等)或者它们的一些组合。另外,可以多个进行这些访问的处理器。另外,在一些实施例中,处理器355具有例如在Ring 0中、利用ARM的或者在安全的虚拟机器监测器(SVMM)中运行较高特权代码的能力。较低特权的处理器355或者处理可以利用SM内核305的一些或所有能力被阻挡。寄存器接口358可以用于通信请求的身份和特权级别,并且SM内核305能够在接受和处理横跨寄存器接口358接收的SM命令时把请求者的特权级别考虑进去。
系统300可以包括主存储器370。主存储器370可以是易失性的(例如,SRAM、DRAM或其他半导体存储器)或非易失性的(例如,硬盘、R/W光盘、闪存驱动器)或者它们的一些组合。主存储器370被可操作性地耦合至处理器355、SM内核305、测试仪I/F 365或者它们的一些组合。在该实施例中,主存储器370经由总线360耦合至系统300的一个或多个组件。
系统300可以包括测试仪I/F 365。测试仪I/F 365是用于测试仪系统(未示出)的接口。测试仪I/F 365例如可以被配置成当SM内核305处于制造状态时、当SM被启用的IC在内场时、当处理器355尚未操作(或误动作)时或者它们的一些组合时提供到达SM内核305的通信路径。测试仪I/F 365可以是扫描接口、测试接口、联合测试行动小组(“JTAG”)接口、通用串行总线接口、先进的外围总线(“APB”)接口,等等。测试仪系统可以耦合至系统300使得能够对系统300测试以用于校正操作。例如,测试仪系统能够被配置成确保系统300正确地启用特征、禁用特征、对安全存储器310进行编程,等等。测试仪系统可以包括一个或多个处理器和存储器,并且可以与用于授权SM内核305中的操作的委托权限系统通信(或者包括)。
系统300包括SM内核305。SM内核305可以可操作性地耦合至安全存储器310、提取器320并且经由寄存器接口(“I/F”)358和总线360可操作性地耦合至处理器355、主存储器370以及测试仪I/F 365。另外,在一些实施例(未示出)中,SM内核305可以被直接连接至处理器355、主存储器370和测试仪I/F 365中的一些或所有。SM内核305包括一个或多个SM私有存储器(未示出)。这些一个或多个私有存储器可以用于存储由SM内核使用的数据,包括一个或多个安全密钥(例如,基本密钥、个人化密钥、传送密钥、网表密钥、根或委托权限公钥,等等)、针对在安全存储器310内的位置的一个或多个指针、用于封装器315的指令、与特征地址相关联的当前配置状态、命令处理中间体,等等。在一些实施例中,一个或多个安全密钥和产品芯片ID可以硬接线至SM内核305内(例如,根权限公钥、必须在安全存储器310误动作或未配置时可用的基本密钥,等等)。一个或多个安全密钥可以包括对称密钥、公共非对称密钥、私有非对称密钥或者它们的一些组合。在一些实施例中,一个或多个安全密钥对于SM内核是特定的,并且其他的可以在一系列的SM内核之中共享。SM内核系列是指可以以一些方式相关的SM内核的集合。例如,从给定的掩模设计制造出的SM被启用的IC中的所有IC中的SM内核可以被视为一系列。备选地,一族类似的SM被启用的IC中的任何一个中的所有SM内核可被视作一系列。
在示例性实施例中,SM内核305被配置成接收一个或多个签名块,该签名块可以包括根签名块(“RSB”)以及零个或多个委托签名块(“DSB”),这将参照图4进一步进行讨论。SM内核305被配置成验证与签名块相关联的签名,并且提取相关联的净荷,从而指定约束/绑定(见下面)以及预期用于一个或多个特征(例如,325、330、335)的值(例如,配置设定或密钥)。约束的示例包括SM内核应该接受净荷所在的限制(诸如,指明了具体装置ID的限制,或者存储在特征地址空间内的值的要求状态,或者特征能够被操纵所在的限制,等等)。SM内核305可以被配置成利用根权限的公钥来认证净荷,并且利用例如建立到SM被启用的IC内或从存储在安全存储器210中的值导出的私钥从签名块中提取(例如,解密)净荷。SM内核305被配置成经由提取器320将一些净荷或处理净荷的结果分布至预期的一个或多个特征(例如,325、330、335)。
在一些实施例中,SM内核305可以被配置成执行更新SM被启用的IC的特征状态的指令、便于密钥传递至特征、启用安全存储器310的配置(诸如,以配置用于写入安全存储器310所需的参数,如果有安全存储器的话),等等。例如,SM内核305可以被指示以启用特征325或启用特征330。取决于实施例和所提供的指令,SM内核305可以做出永久性改变(例如,通过更新安全存储器310)、非永久性改变(例如,通过更新SM私有存储器)或两者。永久性改变是在SM被启用的IC被断电之后永久的那些改变,使得改变在IC启用芯片重新启动之后永久存在。非永久性改变是持续预定时间段或事件的那些改变。例如,非永久性改变可以只对于某些数量的执行是良好的,直到电力在装置上丢失为止,等等。SM内核305可以被配置用于管理和传递用于安全数字(“SD”)卡加密、闪存/硬盘加密、高带宽数字内容保护(“HDCP”)、数字权益管理(“DRM”)系统、虚拟专用网络(“VPN”)、支付工具(例如,EMV)、口令管理器、无线电链路加密、外围认证、其他安全操作,等等。
另外,SM内核305可以被配置成接收可以用在IC配置处理中的硬件(“HW”)常量。HW常量可以包括例如产品芯片ID、用于根权限系统的一个或多个密钥(诸如,RSA或EC-DSA公钥)、来自委托权限系统的一个或多个密钥、一个或多个基板密钥、一个或多个附加的安全密钥、用于SM内核305操作的参数(例如,存储器使用率、所支持的命令,等等)、错误校正数据,等等。产品芯片ID能够用身份值唯一地标识特定SM被启用的IC或者特定的SM被启用的IC系列。安全密钥可以是对称的或非对称的(并且,如果非对称的话,是公共的还是私有的)。在一些实施例中,一个或多个基本密钥可以从万能密钥、SM被启用的IC系列的身份码、芯片特定的标识符或者它们的一些组合导出。错误校正数据可以包括例如与安全密钥的一个或多个相关的校验和。
SM内核305可以被配置成生成到处理器355的中断。例如,SM内核305可以被配置成当SM被启用的IC的特征状态已经被更近时、准备接收附加的I/O时、密钥已经被输出时等生成中断。
SM内核305可以被配置成执行一个或多个内置的自我校验。例如,SM内核305可以被配置成当首次上电时、在测试接口的控制下时等进行自我校验。
在一些实施例中,系统300是将图3中示出的组件中的所有或者组件中的大多数(诸如除了处理器355和主存储器370以外的一切)组合的单个IC(诸如片上系统)。
在一些实施例中,系统300中的所有或一些可以被构造成抵抗由外界源产生的篡改。例如,SM内核305可以包括安全网孔(未示出)或者在安全网孔下制作。安全网孔是例如利用在集成电路上的顶部金属层中的一个或多个而在主逻辑电路的顶部制作出的导线网络。安全网孔可以与预期检测包括了网孔的导线的损坏的有源传感器网络配对。在该实施例中,SM内核305被配置成当有源传感器表明安全网孔配线中的一些已经被损坏时拒绝进行敏感性操作。另外,SM内核305可以被配置成进行诸如擦除安全存储器310等的其他对策。
图4描绘了示例性SM内核305的框图。示例性SM内核305可以包括密码机模块410、执行引擎模块420、通信模块430和数据存储模块440或者它们的一些组合。应该理解的是,这些模块中的一个或多个可以被删除、修改或者与其他模块组合到一起。
密码机模块410可以是配置成提供认证、加密功能性、解密功能性或者它们的组合的硬件组件、软件组件或者它们的一些组合。例如,密码机模块410可以被配置成提供对称加密功能性、对称解密功能性、非对称签字/签名验证、密钥协商或者它们的一些组合。在一些实施例中,密码机模块410可以被配置成验证与根签名块(“RSB”)相关联的一个或多个数字签名。RSB可以包括例如一个或多个SM命令、命令模版、一个或多个委托许可、一个或多个密钥(例如,委托公钥)或者它们的一些组合。RSB包含由根权限的私钥(即,根权限系统217的私钥)签名的至少一个数字签名。密码机模块410可以被配置成利用相应的根权限公钥来认证RSB的数字签名。在一些实施例中,认证可以利用RSA、DSA或ECDSA来进行。在其他实施例(诸如从SM被启用的IC中提取认证秘密不是问题的那些等)中,认证可以利用诸如HMAC等的对称认证方案来进行。认证方案可以使用这些或其他算法的组合。认证方案可以实现诸如PKCS#1或ANSI X9等的标准,或者可以是专有的。
另外,密码机模块410可以被配置成验证与委托签名块(“DSB”)相关联的一个或多个数字签名。DSB可以包括例如一个或多个SM命令、净荷(加密的或未加密的)、一个或多个密钥或者它们的一些组合。在一个实施例中,各DSB总是以对委托权限的公钥进行指定和授权的RSB为先导。DSB可以包含由委托权限系统(例如,委托权限系统222)签名的至少一个数字签名。在收到并验证有效的DSB之后,密码机模块410可以(如适用于DSB)利用SM被启用的IC中的一个或多个基本密钥导出一个或多个混合密钥,一个或多个传送密钥、一个或多个验证子(例如,用于密钥验证的值)或者它们的一些组合。另外,密码机模块410可以被配置成将多个密钥拆分组合以形成一个或多个基本密钥。
另外,在一些实施例中,RSB和/或DSB可以包含加密的净荷部分。在该实施例中,密码机模块410可以被配置成例如利用基本密钥或从基本密钥导出的密钥对加密的净荷部分进行解密和查验。密码机模块410被配置成一旦RSB或DSB或两者都被认证,就将经过验证的命令提供至执行模块420。密码机模块410可以耦合至执行引擎模块420、通信模块430和数据存储模块440。
另外,依照可允许的许可的集合,DSB可以表明其与另一下面的DSB相关联,并且可以进一步将下面的DSB限制为与第一个DSB不同的(例如,较窄的)可允许许可的集合。
在一些实施例中,密码机模块410可以被配置成利用寄存器I/F(例如,寄存器I/F 358)与诸如测试仪或CPU应用等的SM内核外部的装置或组件来协商随机的会话密钥。经过协商的会话密钥可以例如用于打开在随后的RSB、DSB或两者中通信的安全通道或保护秘密。
另外,下面参照图5至图9B详细地讨论了示例性RSB和DSB的方面。
执行引擎模块420可以是配置成接收和执行SM命令的硬件组件、软件组件或它们的组合。SM命令可以从根权限系统(例如,根权限系统217)、委托权限系统(例如,委托权限系统222)、与SM内核305相关联(例如,在启动处理期间)的安全存储器(例如,安全存储器310)或者它们的一些组合接收。SM命令可以包括例如装载命令、密钥导出命令、解密命令、安全存储器写入命令、条件操作、策略配置操作,等等。加载命令例如可以使得能够对传递至特征的配置输出和/或对在内部用于SM内核的状态进行非永久性的改变。密钥导出命令可以用于利用例如密钥树从基本密钥导出一个或多个安全密钥,如下面所详细讨论的。解密命令可以用在对接收到的净荷进行解密和对输出至特征的秘密密钥进行解密/输出中。安全存储器写入命令可以用于将特定命令或其他改变写入安全存储器。(例如,写入命令可以用于对SM被启用的IC做出永久性改变。)条件操作可以用于确定是否(或哪个)其他命令适合于在特定SM内核上运行。测量配置操作可以用于指定什么其他命令可以做上的限制(见下文)。
除了上面讨论的SM命令以外,一些SM命令(例如,测量配置命令)例如可以将RSB或DSB的使用约束为:特定产品芯片ID;产品芯片ID的范围;特定产品制造商;基于由SM内核管理的任何特征配置的值的给定芯片系列;要求委托在使用区块时测试某些特征;或它们的一些组合。在一些实施例中,SM命令也可以通过要求并入到由SM内核导出(例如,基于随机数量的发生器)的随机一次性挑战的RSB/DSB数字签名内而将RSB或DSB或两者约束为通过“单个使用”。策略配置命令还可以基于从其他硬件连接至SM内核的信号、例如来自篡改检测电路的输出、安全存储器310的错误状况等信号的状态而强加限制。执行引擎模块420可以耦合至密码机模块410、通信模块430和数据存储模块440。
通信模块430可以是配置成用作SM内核305与外界之间的接口的硬件组件、软件组件或它们的组合。例如,通信模块430可以被配置成与CPU(例如,处理器355)、主存储器(例如,主存储器370)、安全存储器(例如,安全存储器310)、提取器(例如,提取器320)、测试仪接口(例如,测试仪I/F 365)、IC上的任何其他组件或者它们的一些组合接口。通信模块430可以被配置成接收来自一个或多个总线(例如,经由总线360)、安全存储器等等的命令。另外,通信模块430可以帮助发送信息至各种特征(例如,直接地,或经由提取器320,或以两种方式)。在一些实施例中,通信模块430包括安全存储器封装器(例如,封装器315)。安全存储器封装器被配置成将来自SM内核305的命令翻译成可由与SM内核305相关联的安全存储器认可的格式。通信模块430可以耦合至密码机模块410、执行引擎模块420和数据存储模块440。
数据存储模块440可以包括一个或多个SM私有存储器。数据存储模块440可以被配置成存储一个或多个安全密钥(例如,装置密钥或装置密钥组)、产品芯片ID、一个或多个SM命令、启动指令、特征数据、配置数据、永久性特征信息,等等。在一些实施例中,数据存储模块可以另外地存储用于在SM内核305操作中做出永久性改变的信息,诸如关于存储器的布局和使用率的信息等。数据存储模块440可以包括一个或多个SM内核305外部的存储器结构(诸如静态RAM等)或与之接口接合,或者可以并入有内部存储器(例如,寄存器、寄存器文件、静态RAM、等等,如果这样的存储器是易失性的话,或者如果可用的话,可以使用易失性存储器)。数据存储模块440还可以存储诸如委托权限系统公钥等的密码值。数据存储模块440可以耦合至密码机模块410、执行引擎模块420和通信模块430。
3.安全管理器功能性
对于根权限请求SM被启用的IC中的SM内核进行操作(例如,更新密钥或特征状态),根权限系统限定了就一个或多个SM命令而言的操作。SM命令在被执行时可以(除其他事项外)更新由SM被启用的IC中的SM内核管理的特征状态。根权限系统以由SM内核认可的二进制格式将SM命令编码,并且包括对于命令的数字签名。命令和签名的组合被称为签名块。来自根权限系统的签名块被称作根签名块(“RSB”),并且来自委托权限系统的签名块被称作委托签名块(“DSB”)。
在不牵涉到委托签名块的简单情况下,SM被启用的IC中的SM内核接收来自根权限系统的命令。根权限系统公钥可以被内置到SM被启用的IC内。图5是用于生成包括了由根权限系统签名的命令的根签名块的示例性方法的流程图。在步骤500中,根权限系统例如从签名请求或输入文件接收一个或多个SM命令。SM命令的区块接着由根权限系统利用根权限系统私钥进行数字签名(510)以创建RSB。在步骤520中,由根权限系统提供完成的RSB。RSB的接收方可以是根权限能够与之通信(例如,经由测试仪I/F 365)的SM内核,或者RSB可以在被SM内核最终接收之前通过任何数量的实体(例如,中间体、服务器、组件、应用、网络、存储位置/文件,等等)。
图6是用于由SM被启用的IC中的SM内核来处理图5中生成的RSB的示例性方法的流程图。在步骤600中,在SM内核接收RSB。SM内核接着获得(610)根权限系统公钥,该公钥例如可以存储在SM被启用的IC内并且被作为软件常量供应至SM内核,或者可以存储在安全存储器(例如,安全存储器310)内。
SM内核接着利用根权限系统公钥来验证(620)RSB的数字签名。如果数字签名验证结果(630)表明签名无效,则处理结束(690)。如果数字签名有效,则SM内核对包含在RSB中的一个或多个SM命令进行处理(640)。如果在处理SM命令时发生错误(650),则利用例如寄存器I/F 358或中断器报告错误(660),并且处理结束(690)。例如,如果SM命令对产品芯片ID是否落入特定范围内进行校验,并且对于SM内核已知的产品芯片ID落入该范围外,则可能发生错误。如果在处理期间发生错误,则SM内核确定(670)是否有任何附加的SM命令剩下待处理。如果有需要处理的附加的SM命令,则流程返回至步骤640,并且处理继续直到所有SM命令都被处理为止。一旦所有SM命令都被处理,SM内核就利用例如寄存器I/F 358或中断器来报告成功(680),并且处理结束(690)。
图7是用于生成能够与DSB相关联的RSB的示例性方法的流程图。在步骤700中,根权限系统接收一个或多个输入参数。输入参数可以包括一个或多个SM命令、用于委托预期签名什么的命令模版、委托许可、委托权限系统公钥、其他数据或者它们的一些组合。委托权限系统公钥具有由委托权限系统控制的相应的委托权限系统私钥。
如上面所讨论的,SM命令可以包含引导SM内核以影响SM被启用的IC的状态的信息。另外,当RSB与DSB相关联时(例如,包含委托权限系统公钥),SM命令可以(如与上面的只有RSB的情况一样)包括基于某些条件而使处理停止的命令。例如,RSB可以包括确认在与RSB处理连续或许可相关联的DSB运行之前芯片是处于制造的某阶段、或者是在特定产品芯片ID范围内、或者是在特定序列号范围内、或者具有与特定组或子集相关联的设定、或者是/不是处于特定错误状态等等的命令。注意,把条件建立在由SM内核维持的状态(诸如,装置生命周期、产品OEM标识符、用户类型、地理区域、组标识符、零售SKU、日期等等)之上的能力允许在控制哪个装置能够接受给定的RSB以及RSB将在这些装置上做什么时很大的灵活性。因此,DSB可以被防止在不满足根权限系统所阐述的准则的装置上执行。
在一些实施例中,根权限系统还可以接收和签名指明了DSB的形式或内容或两者的命令模版。委托权限系统可以作为确保仅签名预期形式的DSB的方式来验证根权限系统的签名。在命令模版内可以是被包括的SM命令的描述,以及可以做出什么调节。委托权限系统中的硬件安全模块可以验证模版上的根签名、做出许可的修改(或者仅验证已经做出的许可的修改)、接着(如果成功的话)签名委托签名块(DSB)。注意,该途径许可根权限在委托上强加限制(借助于委托权限系统)。注意,委托签名上的这样的限制是由SM内核强加的限制的补充(例如,如果RSB包括确认产品芯片ID处于给定范围内的测试,则将在DSB的在该范围外侧的装置上运行时的任何接受之前发生错误)。
委托许可典型地描述了根权限允许委托相对于SM内核具有的能力。例如,委托许可可以包括授权用于更新的特定特征、授权写入安全存储器310内的物理地址的范围、授权哪个SM命令可以在处理DSB的同时由SM内核执行、授权用于安全密钥的传输的目的地、授权访问一个或多个密钥总线、授权访问一个或多个外设、或者它们的一些组合。
RSB(或者,如果授权的话,DSB)可以设定在SM内核内的许可数据字段。这些字段可以例如被映射至特征空间内的地址。这样的设定可以持续进行除非(或者直到)他们被另一RSB改变或者直到芯片被复位。例如,由SM内核处理时的示例性RSB可以设定能力掩码的系列中的位,以指定某些能力是否可以行使。在另一示例中,由SM内核处理时的RSB可以对控制SM内核做出安全存储器310的布局和配置的假定的SM内核中的指针进行调节。
由SM内核处理时的RSB还可以准备可供随后的DSB使用的数据。例如,RSB可以引起数据被存储在数据存储模块(例如,数据存储模块440)中,并且DSB可以引起该数据被从数据存储模块中检索。另外,在RSB的执行之前,处理器(例如,处理器355)可以利用寄存器I/F 358引起数据被存储在数据存储模块内。RSB可以引起SM内核检验用于与某些准则一致,并且如果满足准则的话的数据是否在数据存储模块440中留下该数据以供随后的DSB使用。在该情况下,尽管数据是由处理器而不是根权限系统提供,但是数据也依照根权限系统的批准。例如,这使得能够为装置上的固件提供未由根或委托权限签名的参数。
RSB可以要求DSB签名包括一定量的RSB指定形式的“绑定数据”。这迫使DSB签名处理分别对于绑定数据改变的每个情况而进行。例如,RSB可以引导SM内核以采样由随机数量的发生器生成的值,并且要求DSB签名包括被采样的值,这迫使DSB签名权限处于与SM内核的“现场”连接中并且防止DSB的重新播放。在另一示例中,RSB能够将绑定数据设定为包括装置ID和生命周期状态,防止了已签名的DSB在其他装置上重新播放。因为绑定数据被委托权限系统并入签名内(并且因此对于委托权限系统是已知的,并且可以在被报告给安全服务120的委托权限系统日志中),所以RSB也可以为根权限希望确保的绑定数据和参数被精确地记入日志。
在一些实施例中,由SM内核处理时的RSB能够写入与SM内核相关联的一次性可编程(OTP)存储器(例如,安全存储器310)。例如,包含在OTP存储器内的指令可作为启动处理的一部分启用SM被启用的IC的特征X。RSB可以引导SM内核修改安全存储器310使得在启动处理期间特征X被启用或者不再被启用。另外,在一些实施例中,DSB也可以被授予对可编程的OTP存储器的内容做出(典型地受限的)改变的许可。
在步骤710中,输入参数被形成为根签名块,该签名块被利用根权限系统私钥由根权限系统数字签名以创建RSB。在步骤720中,RSB被传递至例如委托权限系统或监督委托权限系统的安全服务(例如,安全服务120)。
图8是用于生成DSB的示例性方法的流程图。在步骤800中,委托权限系统接收一个或多个委托输入参数。委托输入参数可以包括例如图7中生成的RSB、用于包括在DSM中的一个或多个SM命令、其他净荷数据(加密的或未加密的)、一个或多个密钥或者它们的一些组合。SM命令可以包括当执行时更新SM被启用的IC的特征状态的SM命令。SM命令可以被接收作为由根权限系统签名的命令模版的一部分,如早先描述的。在步骤800中,委托输入参数可以由委托权限系统数字签名(利用与包含在RSB内的委托权限公钥对应的私钥)以创建DSB。在步骤820中,DSB被提供至例如SM被启用的IC(或者直接地或者经由各种中间体)并且由SM内核处理。
在未示出的一些实施例中,委托权限系统在数字签名委托输入参数之前验证RSB内的委托许可。这可以例如帮助防止RSB被损坏或者委托权限系统已经被请求签名从根权限所授权的那些超出的一些事情的问题。
图9A是用于用SM内核来处理图8中生成的DSB(以及相关联的DSB)的示例性方法的流程图。在步骤900中,与DSB相关联的RSB在SM内核处被接收。SM内核接着利用根权限公钥来验证(905)RSB的数字签名。如果数字签名无效,则RSB被拒绝并且处理结束(915)。如果数字签名有效,则SM内核开始处理(912)包含在RSB内的SM命令。
如果一个或多个SM命令中的任何一个都不能处理或者以其他方式产生了错误(920),则RSB被拒绝并且处理结束(915)。例如,如果委托权限系统配置成具有受限的SM编程能力所在的产品芯片ID的范围被RSB中的SM命令指明了,并且SM被启用的IC拥有在范围外的产品芯片ID,则SM内核将失败并且拒绝RSB(915)。在该实施例中,如果处理在步骤915结束,并且如果相关联的DSB到达了,则可以在不处理的情况下将其忽略并丢弃。在未示出的其他实施例中,SM内核可以同时接收RSB和DSB。在这样的实施例中,如果处理在处理RSB的同时归因于错误而结束,则DSB可以在未被处理的情况下忽略和丢弃。在未示出的其图示示例中,SM内核可以与RSB的处理同时地或者在接收RSB之前接收DSB。不管SM内核的特定实施例接收RSB和DSB的方式如何,如果RSB被拒绝,则SM内核可以拒绝处理(或以其他方式拒绝)任何相关联的DSB。
如果RSB内的SM命令被成功地处理了,则SM内核从RSB中提取(925)委托许可和委托权限公钥。在步骤926中,SM内核接收与RSB相关联的DSB。如上面所提及的,在未示出的一些实施例中,DSB和RSB可以同时或不同时地接收。
SM内核利用包括在RSB中的委托权限公钥来验证(930)DSB的数字签名。如果数字签名无效,则拒绝DSB并且处理结束(935)。如果数字签名有效,则SM内核从委托DSB中提取(940)SM命令。SM内核接着确定(945)提取的SM命令是否被许可。SM内核通过将提取的SM命令与委托许可进行比较并且对用于与包含在RSB中的委托许可一致的SM命令进行检验来做出该确定。如果提取的SM命令未被委托许可允许,则不执行提取的SM命令、报告错误(950),并且流程进行到步骤960。错误可以被报告给在可以进而通知委托权限、根权限或视情况而定的其他实体的SM被启用的IC、测试仪等等上运行的软件。
如果提取的SM命令被许可,则SM内核执行(955)提取的SM命令。在未示出的一些实施例中,可能在SM命令的执行期间发生错误,在该情况下流程可以进行到步骤950。
SM内核接着确定(960)是否有任何提取的SM命令留下待处理。如果所有提取的SM命令都已经被处理了,则SM内核报告(965)DSB的成功执行。报告可以被报告给SM被启用的IC的用户、委托权限、根权限或者它们的一些组合。但是,如果附加的SM命令剩下待处理,则流程进行到步骤945。
在未示出的一些实施例中,当提取的SM命令未被许可并且报告了错误(960)时,处理接着结束并且拒绝DSB区块。
图9B是用于通过SM内核来处理从RSB检索的SM命令的示例性方法的流程图。步骤900、905和915如图9A中所示。图9B中其余部分详述了处理SM命令(912)和校验来自图9A的结果(920)的步骤的示例性实施例。一旦数字签名被确认有效,图9B中的细节就开始。SM内核从RSB提取(970)一个或多个SM命令。SM内核确定(975)约束是否实际上许可提取的SM命令的执行。如果命令未授权,则步骤975触发错误。步骤975接着尝试运行命令,这也可以触发错误。一旦发生错误,SM内核就报告错误(980)并且拒绝RSB的其余部分(并且结果是拒绝任何相关联的DSB(915))。如果提取的SM命令成功运行,则SM内核接着确定(985)提取的SM命令是否剩下待处理。如果有任何进一步的命令等候,则处理继续下一命令。一旦所有提取的SM命令都已经处理了,方法就行进至图9A中的步骤925。
比较测试(例如,在RSB中和/或RSB中)可以例如测试两个值是否大于或小于彼此、等于彼此,等等。另外,在一些实施例中,比较测试可以并入有位掩码或者其他任何其他种类的测试。比较的结果可以是立即错误,或者是随后的操作的流程控制改变(例如,诸如跳转等)或修改/跳过。
在一些实施例中,委托权限系统可以被要求测试某些特征空间值。这可以在特定特征空间值对于根权限系统不可用时有用。例如,根权限系统可以希望授权委托权限系统产生对单个SM被启用的装置的针对例如网络中所有SM被启用的装置的某些特征的配置进行修改的DSB。在该实施例中,根权限系统仅产生单个RSB,而不是对于其特征待修改的一个或多个SM被启用的装置中的每一个产生不同的RSB。注意,迫使DSB绑定至单个装置迫使委托权限系统对于各装置签名做出新的DSB—由此确保了由委托权限系统强加在签名操作的数量上的限制有效地限制了委托权限能够配置的装置的数量。
作为示例,SM被启用的IC可以在处理从RSB提取的SM命令的同时将值(例如,产品芯片ID,或随机的一次性挑战)写入中间存储位置。当SM内核验证DSB的签名时,SM内核在签名验证处理中牵涉到的密码散列操作中并入有中间存储的内容。例如,中间存储中的值可以在计算密码散列时与DSB命令联系起来。如果,当SM被启用的IC验证DSB签名时中间存储中的值与当产生DSB时由委托权限系统使用的值不同,则计算出的散列将与签名的散列不匹配,并且SM内核可能接着拒绝DSB。
另外,在一些实施例中,RSB引起SM内核对可以利用中间存储由DSB进行以保持一个或多个SM命令的活动进行约束或修改。在该实施例中,RSB中的SM命令可以引起数据被写入中间存储。SM内核接着验证DSB签名,并且如果有效,则SM内核接着作为命令对被写入中间存储的数据进行处理,并且执行该数据。例如,中间存储中的数据可能是命令“将值64写入特征地址X”(例如,其中X可以配置无线电频率)的表示。通过制定整体命令,该示例中的RSB授权委托权限系统仅将频率设定为仅64,而不是任何其他值。在该实施例的扩展中,RSB可以包含允许DSB修改中间存储的有限部分的委托许可,由此授权DSB做出命令的有限变型。例如,如果委托仅被允许改变参数的与频率相对应的最不显著的4位,则这将允许委托权限系统将频率设定为从64到79的任何值。
在实施例中,SM内核对用于过滤特征和密钥管理用的控制报文的安全时间参考进行管理。时间参考可以被维持在SM内核内或者可以在将时间提供至SM内核的单独的区块内。在该示例中,签名块(例如,RSB、DSB)可以引导密钥输出或特征调节,但仅当时间在一定时间窗内才能够使用。签名块包括引起SM内核进行与当前时间值的被引导的比较的命令。例如,这能够用于防止试用密钥或试用特征在试用期外被加载。对于增加的安全性,可以通过SM特征信号来管理和设定时间参考(例如,使得时间可追踪至安全服务器上的时钟)。在该情况下,前述RSB指定的绑定数据可以用于要求在与用作签名权限的根或委托权限系统的现场交互中进行时间设定。备选地,可信时间源可以通过允许参考由不可信软件调节来创建,但是其中追踪值(或者SM内核内部的或者外部的)监测装置时间参考是否自从时间参考经由与可信时间服务器的现场RSB和/或DSB交互被标志为有效的而已经被调节、断电或者复位。
3.1特征管理
特征管理可以用于控制SM被启用的IC的配置和其他特征状态是否并且以什么方式更新。SM被启用的IC的特征状态可以控制SM被启用的装置的能力,例如,能够启用、禁用或以其他方式安全地配置特征的操作、能够基于产品芯片ID来配置硬件能力、基于SM被启用的IC的地理位置来配置硬件能力、配置特性设定、允许或配置某些外部接口的使用、分路操作的某些模式的使用(例如,启用/禁用分路操作的某些功能性模式、修补ROM、调节微码等等的程序错误修正模式)、启用或禁用测试模式(例如,控制诊断和调试模式)、控制特定模式或特征被激活的时间(例如,仅在制造过程期间被激活)、能够调节由特征使用的参数、调节SM被启用的IC的配置、进行审核操作以证明配置或其他信息对于SM内核是可访问的、在内场装置上安全地进行诊断活动、校准或调谐模拟电路以补偿处理变化、设定装置配置数据(例如,配置用于特定产品中的输入时钟和期望的操作频率的PLL)、基于适用于特定产品或区域的规章要求来调节无线电的功率和频率、配置由内部热失效安全强加的限制(热限制可以基于不同产品中使用的封装和冷却溶液而变化)、配置电池充电电路、启用SM被启用的IC的潜在能力或更新、禁用SM被启用的装置上的广告报文的显示(例如,通过向软件提供配置状况)、启用内场更新至SM被启用的IC上的CUP等的较高操作特性,等等(或者它们的组合)。例如,控制诊断和调试模式可以临时地(例如,直到下一复位)启用调试特征。另外,在一些实施例中,特征状态是否更新取决于费用是否已经支付(例如,如由计费和报告服务122管理)。
SM内核(以及SM被启用的IC)的示例性架构假定特征配置设定不是秘密的,但是特征设定的更改要求特权(例如,源自根权限)。对于秘密密钥,可以另外要求保护值的秘密性,所以秘密值可以通过使用密钥管理功能性来操纵,将在下一部分中更加详细地讨论。数字签名可以用于确保特征改变(以及密钥相关的操作)仅由被授权方进行。
特征管理可以包括在非易失性存储器(例如,安全存储器310)中记录特征改变、启用仅直到下一复位为止被激活的特征改变、启用仅对于固定时间段(如由时钟周期计数器或实时时钟测量)有效的特征改变、启用操作的选定模式(例如,控制诊断和调试模式、PLL配置等等)或者它们的一些组合。
图10是用于SM被启用的IC的特征管理的示例性方法的流程图。在步骤1005中,SM被启用的IC接收一个或多个签名块(例如,一个或多个RSB、DSB或它们的组合)。签名块包含当由SM被启用的IC中的SM内核处理时启用SM内核以更新所管理的特征状态的更新信息。信息可以例如包括一个或多个SM命令、一个或多个密钥或者它们的组合。SM内核利用相应的公钥来查验(1015)数字签名的有效性。例如,如果签名块是RSB,则SM内核使用根权限公钥(例如,存储在SM被启用的IC中)来查验数字签名的有效性。类似地,如果签名块是DSB,则SM内核可以使用委托权限公钥(来自RSB)来查验DSB的数字签名的有效性。在可选的实施例中,SM被启用的IC(或者包含IC的装置)可以联系根权限系统、委托权限系统、第三方服务器或者它们的一些组合,以检索适当的公钥或其他需要的信息。
如果数字签名无效,则处理结束(1020)。如果数字签名有效,则SM内核确定(1025)当前许可是否允许所请求的特征更新。在该实施例中,许可可以从SM命令或者安全存储器310、RSB、DSB或它们的一些组合中的设定来设定。如果许可不允许特征更新,则处理接着结束(1020)。如果许可允许特征更新,则SM接着确定(1030)SM命令是否被执行为永久性特征更新。(永久性特征更新是在SM被启用的IC复位之后、例如因为改变被记录在非易失性存储器中而继续的更新)。如果是,则SM内核视情况而定地保存(1035)SM命令、密钥值、特征配置值或者它们的组合以对非易失性安全存储器(例如,安全存储器310)进行永久性特征更新,并且还可选地更新(1040)SM内核中的相应的特征状态。如果SM命令未被执行为永久性特征更新,则处理移至步骤1040,更新由SM内核管理的特征状态并且处理完成(1045)。
3.2密钥管理
密钥管理功能性可以用于安全地传递净荷,例如秘密密钥或其他值。目的地可以包括在SM被启用的IC、硬件区块或甚至包含SM被启用的IC的装置的其他部件上执行的软件。SM被启用的IC包含数个永久性存储的装置特定的对称密钥(基本密钥)。基本密钥可以用于引导附加的密钥的安全传递。在接收包含净荷的签名块之后,SM被启用的IC在提取净荷之前查验区块以及任何相关联的许可的签名的有效性。一旦遇到密钥管理命令,SM被启用的IC就进行如下的密钥解开处理:首先从基本密钥导出传送密钥,接着使用传送密钥将包含在命令中或由命令引用的密钥解密,并且最后将经过解密的密钥传给另一硬件单元。如上面所讨论的,参见图3,经过解密的密钥可以例如被直接地或经由提取器、密钥接口以及子提取器传给硬件单元密钥管理命令不需要在安全设施中运行;净荷可以在不可信通信信道之上被内场传递至包含SM被启用的IC的产品。
在一个实施例中,密钥解开处理使用提供了抵抗侧信道和故障感应攻击的保护的密钥树构造。密钥树构造使能够从单个开始的密钥创建多个不同的密钥,并且所创建的密钥中的每一个都可以接着陆续地用于创建多个附加的不同密钥。密钥解开处理的可选实施例可以使用区块密码(诸如AES等)、非对称算法(例如RSA),等等。
图11是用于生成净荷的安全传送用的DSB的示例性方法的流程图。如上面所讨论的,净荷可以包括秘密密钥。在步骤1100中,委托权限系统接收用于其计算的基本密钥。基本密钥可以例如是全局基本密钥或者芯片特定的基本密钥。委托权限系统可以从例如IC制造商110、产品供应商125或安全服务120接收基本密钥。委托权限系统还可以通过解密或以其他方式处理存储在产品中(例如,在用于SM内核的安全存储器310中)的值来确定基本密钥。
在各种实施例中,全局基本密钥可以由多个SM被启用的IC使用。例如,全局基本密钥可以是作为HW常量被提供至SM被启用的IC的根权限系统密钥。在其他实施例中,基本密钥是装置特定的密钥,例如被编程到SM内核内的基本密钥。在一些场合中,装置特定的密钥部分由产品芯片ID导出。在另一实施例中,委托权限系统获取混合密钥或者混合密钥的前体(而不是基本密钥)。例如,如果各芯片具有唯一的装置特定的装置密钥KCHIP,则根权限可以分布(例如,经由安全服务120)给委托权限系统用于各芯片的F(KCHIP,委托ID)的表格/数据库,其中F是诸如散列等的密码操作,允许了委托用具使用用于芯片的表格项目作为其固定密钥(或者以形成固定密钥),而RSB可以引导SM内核计算用于特定委托的委托ID的F(KCHIP,委托ID)以到达相同值。更通常地,委托基本密钥可以被传递作为委托密钥数据库的一部分,并且利用对于SM内核已知的主基本密钥、或者对于SM内核已知或者可以被传递至SM内核(例如,在RSB和/或DSB中)的参数值(诸如委托ID等)以及一个或多个密钥生成功能导出。例如,混合密钥可以利用密钥梯、HMAC、散列功能或其他密钥导出方法来导出。数据库可以例如每个芯片或每多个芯片包含一个委托基本密钥。委托基本密钥可以由根权限系统生成。例如,根权限可以利用例如AES和一系列单向函数从万能密钥导出特定的基本密钥。以该方式的导出和密钥控制可以帮助防止较高值的密钥万一第三方不正确地管理了密钥而被损害。
在步骤1105(除非混合密钥已经在早先被导出,例如每上述可选实施例中的)中,委托权限系统导出混合密钥。委托权限系统可以通过使用关于之前步骤中导出的密钥的一系列的一个或多个单向函数来导出混合密钥。例如,混合密钥可以用密钥树操作、HMAC计算、散列函数或其他密钥导出方法导出。来自基本密钥的附加的抽取可以帮助保护基本密钥不受直接攻击。
在步骤1110中,委托权限系统利用一些列单向函数从混合密钥导出一个或多个传送密钥。步骤1110可以牵涉到对称密码术、非对称密码术、单向密码功能或者它们的一些组合。委托权限系统可以接着获取净荷密钥,例如通过从万能密码导出净荷密钥、或者从预计算的数据表格中检索净荷密钥或者在网络之上取出净荷密钥。在一些实施例中,预计算的表格可以由发布密钥的第三方(诸如对发布用于特定系统或诸如HDCP、EMV等协议的密钥有责任的实体)生成,或者先前由委托权限系统生成。净荷密钥可以由作为获取(1120)净荷密钥的处理的一部分的委托权限系统加密接着解密而被存储。
在步骤1130中,委托权限系统利用一个或多个传送密钥将净荷密钥加密。
在步骤1135中,委托权限系统利用经过加密的净荷密钥和混合密钥(或另一密钥)导出验证子。具体地,验证子可以通过将经过加密的净荷密钥和混合密钥作为输入提供至其最终输出是验证子的一系列的一个或多个单向函数。验证子使得SM内核(或经过加密的净荷密钥的潜在的其他接收方)能够验证经过加密的净荷密钥是有效的并且未经修改。
在步骤1140中,委托权限系统接收一个或多个委托输入参数(除了在签名中牵涉到的其他值以外,其还可以包括SM内核以及提取器/子提取器最终应该将净荷传递至的位置的地址)。并且,在步骤150中,委托输入参数、经过加密的净荷密钥以及验证子接着利用委托权限系统私钥被委托权限系统数字签名,以创建DSB。在步骤1160中,提供了DSB。
备选地,在未示出的一些实施例中,步骤1135被省略,并且于是在步骤1150中,验证子未被数字签名并且不是被提供的DSB的一部分(1160)。
图12是用于通过SM内核来处理包括了净荷的一个或多个签名块的示例性方法的流程图。例如,一个或多个签名块可以是RSB和相关联的DSB(例如,经由图11的处理生成)。在另一实施例中,净荷在没有DSB的情况下可以被包括在RSB内。
在步骤1200中,在SM内核处接收一个或多个签名块(例如,一个或多个RSB、DSB或者它们的组合)。还可以接收附加的未签名的数据(诸如具有验证子的经过加密的净荷等)。这些元素可以被同时或不同时地接收。
在步骤1210中,SM内核验证一个或多个签名块的数字签名,并且验证任何DSB的委托许可是否有效。验证处理与参照图9A和图9B进行上述验证处理相同。如果用于一个或多个签名块的数字签名无效,或者委托许可无效,则SM内核拒绝(1215)一个或多个签名块并且处理结束(1250)。然而,如果数字签名和许可有效,则SM内核利用对SM内核已知的基本密钥(例如,全局密钥或委托基本密钥)、例如利用用于生成混合密钥的相同算法(例如,与图11有关的描述)来导出(1220)混合密钥。SM内核接着可以利用基本密钥和图11中的用于生成传送密钥的相同算法来导出(1225)传送密钥。
SM内核从DSB(或者从RSB或从未签名的数据,如果该RSB或未签名的数据是经过加密的净荷存在所在位置的话)中提取(1230)经过加密的净荷密钥,并且采用图11中用于生成传送密钥的相同算法利用经过加密的净荷密钥和混合密钥导出(1235)验证子。SM内核可以接着确定(1240)验证子是否正确。SM内核通过将在步骤1235中导出的验证子与用净荷密钥(例如,在DSB中)接收到的验证子进行比较来做出该确定。如果验证子不匹配,则这是个错误(1215)并且处理结束(1250)。如果验证子匹配,则SM内核利用传送密钥将经过加密的净荷密钥解密(1245)并且处理结束(1250)。
备选地,在未示出的一些实施例中,步骤1235和1240被省略,并且于是经过加密的净荷密钥可以在不使用验证子的情况下被解密。步骤1235和1240还可以用验证验证子的其他方法取代,例如通过验证没有单独进行计算的验证子(诸如通过验证RSA、EC-DSA或验证子中包含的其他数字签名)。
另外,在一些实施例(未示出)中,经过加密的净荷密钥不是从DSB(1230)中提取,但是可以(例如)从RSB(或其他签名块)、从安全存储器(例如,安全存储器310)检索、与检测器I/F(例如,寄存器I/F 358)之上的签名块单独地被提供或者从SM内核内的私有存储器检索。
3.3审核
在各个时间都可能期望验证SM被启用的IC的状态。审核能力可以例如用于确保先前的特征管理命令已经被正确地施加至装置,或者用于验证装置的效力。例如,如果客户请求启用了特征的交易的退款,则可能期望验证特征在退款购买价格之前已经被禁用。
通常审核处理可以包括从审核实体接收挑战。该挑战可以是随机参数,并且被包括以允许响应于特定请求而生成的响应的确认。在接收到挑战之后,SM被启用的IC可以生成如下证明演示:(1)它知道秘密密钥(例如,审核命令中指定的基本密钥),并且(2)它知道或者适当的状态的值或者状态的性质(例如,它满足挑战中指定的准则)。例如,响应于审核命令,示例性SM内核可以计算出作为秘密密钥的以及正被审核的特征状态中的位的函数的审核证明。在审核计算中包括秘密密钥防止不知道秘密密钥的对手伪造审核响应。审核实体最终验证响应。状态审核可以使用对称密码术(诸如报文认证码等)并且/或者公钥密码术(诸如数字签名等)以保证证明安全。
在示例性实施例中,审核请求可以可选地包含命令签名者也知道选定的秘密密钥的验证子演示。如果该验证子与内部计算出的参考匹配,则SM内核例如可以仅产生审核证明。关于请求的验证子可以帮助防止未授权方调用审核命令。
包括了SM内核内部特征的任何特征状态的值都可以潜在地被审核。例如,为了使用验证先前的特征管理命令已经被正确地应用至SM被启用的IC的审核功能性,先前的命令可以设定表明了其成功的内部位,接着该位可以随后被审核。如果审核实体的目的仅是验证包含了SM内核(但不是其状态)的装置的效力,则任何特征状态都不必要被并入到响应中。
审核可以利用SM内核可用的任何密钥来进行,包括全局秘钥、装置特定的密钥、由一些列SM被启用的IC共享的密钥或者它们的一些组合。在利用装置特定的密钥的实施例中,密钥的数据库可以做成对于审核员(例如,通过根权限、IC制造商、产品供应商、安全服务,等等)是可用的,以便于审核响应的验证(以及可能的审核请求的创建)。
4.配置器和编译器功能性
配置器系统(例如,配置器系统280)可以在SM被启用的IC的设计过程期间使用。配置器系统在ASIC设计过程期间被操作,以对SM内核管理的特征空间和密钥的到IC中的特征以及其他目的地或使用的映射进行追踪并使其自动化。图13A是用于在SM被启用的IC的设计过程期间利用配置器系统的示例性方法的流程图。在步骤1310中,配置器系统接收配置器输入数据。配置器输入数据可以包括一个或多个配置器输入文件、硬件(“HW”)常量或它们的一些组合。
一个或多个配置器输入文件限定了关于用于SM被启用的IC的期望的配置的信息。例如,这些文件可以指定如下这样的事物:用于应该被传递至各特征的配置值的名称和大小(例如,位的数量)、配置值的在特征地址空间内的分组或位置、用于配置值的默认(例如,上电)值、用于安全密钥总线目的地的名称和属性、安全密钥总线属性(诸如用于目的地的密钥大小等)、安全存储器映射属性(诸如关于安全存储器310的布局的信息)或它们的一些组合。
HW常量可以被包含在配置器输入文件或者被单独地接收。输入配置器的HW常量的示例可以包括例如产品芯片ID、来自根权限(潜在地包括根权限公钥)的一个或多个密钥、来自委托权限的一个或多个密钥、一个或多个基本密钥、一个或多个附加安全密钥、错误校正数据等等。
在步骤1320中,配置器系统生成IC设计文件。这些IC设计文件可以包括提取器硬件限定、子提取器硬件限定以及状态缓存数据(例如,IC配置映射信息)。在一些实施例中,在先的IC配置映射信息可以在步骤1310中被包括有配置器输入数据,以使并入了对SM被启用的IC设计做出的改变时的现有电路设计的修改最小化。在该情况下,配置器力图标识出最小冲击的方式来进行请求的改变。例如,如果新的值待被插入到特征地址空间内,则这可以包括利用先前的映射来标识出用于插入(例如,与重新创建用于现有值的位置相反)的先前未使用的位置。同样,如果值被从特征地址空间中去除,则配置器可以使用先前的映射信息以留下与重新定位剩余特征相反的间隙。
芯片设计被锁定(步骤1330),例如因为芯片设计被准备用于大规模的制造。在这一点上,影响制造中使用的掩码设定的配置器输出不能再被改变。图13B是在芯片设计被提交用于制造之后可以如何利用配置器的示例性处理的流程图。
在步骤1340中,配置器系统接收配置器可操作性输入数据。配置器可操作性输入数据可以包括图13A中生成的IC配置映射以及附加的数据(例如,在可操作性SM配置文件中)。可操作性SM配置文件可以描述例如关于与特定SM被启用的IC相关联的特征和密钥可以如何使用的策略、对命名约定做出的改变、用于安全存储器310的SM内核的使用的布局和配置约定以及内部特征的到特征地址的映射。
在步骤1350中,配置器系统在内部生成可操作性配置映射。因为图13B中的步骤可以比图13A中的那些步骤晚地进行,所以在步骤1350处生成的映射可以是能够比图13A期间准备的映射更加全面且最新的特征地址范围的映射,而图13B中的处理通常必须假定实际影响芯片硬件的来自13A的输出不能被改变。
在步骤1360中,配置器系统从其可操作性配置映射生成映射文件。这些映射文件包括一个或多个命令映射文件以及一个或多个固件映射文件。命令映射文件是例如用于将命令映射成为能够由SM内核理解的形式的文件。例如,如果根权限系统希望将特定配置值输送至给定特征,则该文件可以帮助根权限系统标识与该配置值和特征对应的特征空间地址。固件映射文件是包含软件开发(例如,C或C++标头和源文件,等等)所需的限定和结构的文件。在一些实施例中,可操作性配置映射可以在步骤1340中包括有配置器可操作性输入数据,以使当并入对可操作性输入数据做出的附加改变时的现有可操作设计的修改最小化。
另外,在一些实施例中,配置器系统生成文档文件。文档文件提供SM被启用的IC设计的概要,诸如特征空间中的分配的命名以及相关联的地址的列表、该配置值被发送至各特征的列表、关于所支持的密钥的信息、用于特征地址空间中的值的默认值。另外,文档文件可以包括软件组件的设计中使用的环境和构造原理。文档文件可以以诸如XML、HTML、text、PDF、WORD等的格式输出。
5.可操作性生态系统
5.1安全存储器命令分段和上电处理
在示例性实施例中,命令分段区域存在于作为SM被启用的IC的一部分的安全存储器310内。该区域对由SM被启用的IC在各复位上执行的SM命令进行保持。储存的SM命令在分段中被组织,并且可以用于影响特征空间中的值的永久性设定以及期望SM被启用的IC在各复位上执行命令(例如,传递诸如固件解密密钥等的密钥)和/或在SM被启用的IC内永久性地携带配置操作的其他情况。
安全存储器典型地是永久性的并且在一些实施例(诸如使用一次性可编程存储器的那些等)中不可以被容易地重写,这可能使提高坚固性的措施成为必要。一个可能的故障是“撕裂(tearing)”,这是例如归因于电源故障而在写入处理期间的中断。期望被中断的命令分段写入不会致使SM被启用的IC不能在将来的复位上使用。另一可能的故障是存储在安全存储器中的数据例如归因于硅劣化或外部条件的损坏。再次期望冲击最小并且单个损坏事件应该不可能致使SM被启用的IC不可用。还期望安全存储器的损坏(例如作为攻击的一部分)不会启用在SM被启用的IC的操作上的由SM内核强加的任何约束的环境。
SM命令可以包含控制SM内核写入安全存储器的方式的信息。例如,有可能是防撕裂的标志(防撕裂模式)、或在错误上恢复的标志(错误上恢复模式)或者组合。
当防撕裂模式被激活时,示例性SM内核在写入命令分段的处理(或其他写入操作)开始时将“跳过字符”写入安全存储器。如果写入未完成,则跳过字符引起SM内核在随后的复位中认出它(例如,使得能够跳过包含部分被写入的数据的区域)。在写入跳过字符之后,SM内核可以写入净荷(例如,主命令分段内容),并且接着最后擦掉(例如,通过将字中的所有位设定为1的值)跳过字符。当未使用防撕裂模式时,SM被启用的IC不写入跳过字符,这节约了安全存储器的一个字符,但是意味着如果写入未完成则SM内核可能记住在随后的复位上的严重故障。(严重故障可能引起SM内核进入SM被启用的IC所进入的功能缩减的状态,例如因为继续进行操作通常可能会危及安全。)一旦擦掉了跳过字符,分段变成强制性的并且将用在各随后的复位上(即,如果在跳过字符被擦掉之后当读取分段时遇到不可改正的问题,则SM被启用的IC将引发严重故障)。是否使用防撕裂模式的选择可以取决于编程环境,例如禁用防撕裂模式的提高了的效率可以在受控的工厂环境中是优选的,而防撕裂可以对于内场写入是强制性的。
对于错误上恢复模式,SM被启用的IC在命令分段标头中设定标志,如果在从安全存储器中读取分段时有问题,则该标志可接受忽略命令分段。例如,错误上恢复标志可以设定在启用SM被启用的IC的能力的分段上。如果SM被启用的IC跳过分段,则因为不能从安全存储器中读取,同时SM被启用的IC的能力可能比分段被正确读取和处理时的低,所以没有创建安全风险。
SM被启用的IC可以既不允许防撕裂标志和错误上恢复标志中的一个也不允许两者被指定用于写入安全存储器的任何给定的分段(或其他数据值)。SM被启用的IC也可以要求对于安全存储器的所有写入使用模式的特定组合。
在复位之后,SM内核由于被存储在其安全存储器(例如,安全存储器310)中的命令分段引导而自动地将特征和密钥状态初始化。图14是用于SM被启用的IC的初始化的示例性方法的流程图。
在步骤1405中,SM被启用的IC被上电或复位。SM内核可以作为该步骤的一部分被复位。SM内核接着检索(1410)与SM被启用的IC相关联的产品芯片ID以及完整性校验值。(完整性校验值可以是与例如奇偶校验、汉明码等相关联的值)。SM被启用的IC进行完整性校验(1415)以确定是否发生完整性错误(例如,产品芯片ID或完整性校验值已经被损坏)。如果发生了完整性错误,则报告错误(1420),处理被中止(1445)并且SM内核可以进入“严重故障”状态。如果未发生完整性错误,则SM内核从安全存储器检索(1425)命令分段。
SM内核以可预知的顺序对包含在安全存储器中的命令分段进行处理。例如,分段可以连续地位于安全存储器中,或者各分段可以包含待处理的下一分段的存储器地址。在一些情况下,错误(1430)可能引起SM被启用的IC不能可靠地确定待处理的下一命令分段的定位,在该情况下,内核可以尝试利用撤退机制(例如,搜索已知的标头值)来定位下一分段,或者将其处理为严重故障。如果未发生错误,则SM内核执行(1435)命令分段中的命令。SM内核接着确定(1440)是否有任何附加的命令分段被留下来待执行。如果是,则流程移至步骤1425。
如果没有命令分段留下,则SM内核通知(1455)系统外部(例如,处理器355、SM被启用的IC的特征或其他部分、或者并入有SM被启用的IC的装置)初始特征状态准备就绪。该通知可以由SM被启用的IC用来将芯片的其他部分的启动排序,例如,通过保持SM被启用的IC的除SM内核以外的所有部分处于复位来确保来自SM内核的必要值在其他组件需要他们之前准备就绪。处理接着结束(步骤1460)。
返回参见步骤1430,如果发生错误,则SM被启用的IC确定是否许可跳到下一命令分段(1445)。例如,命令分段的标头可能包含指示SM内核跳过有问题的命令分段的跳过字符或错误上恢复标志。如果许可跳过有问题的命令分段,则SM被启用的IC可以报告没有致命错误(1450)(例如,通过保存错误信息用于以后分析)并且移至步骤1440。如果SM被启用的IC确定不许可跳过有问题的命令分段,则报告更严重的错误(1420),并且处理被中止1445。
SM内核可以例如在图14中描述的初始化处理之前、期间或之后将基本密钥初始化。为了最大的特性和灵活性,SM内核可以仅将启动期间进行的命令分段所要求的那些基本密钥初始化,接着在SM被启用的IC的其余部分被释放以启动之后将余下的基本密钥初始化。
在一些实施例中,安全存储器中的错误(例如,存储器完整性错误)可以由根权限系统修复。错误可能是由在先RSB或DSB写入的。根权限系统可以发送包含允许SM被启用的IC跳过引起错误的命令分段的重写命令的RSB。另外,RSB可以包含替换或校正故障命令分段的附加的SM命令。另外,在一些实施例中,如果安全存储器中的错误数据是由来自委托权限系统的DSB写入的,则不同的委托权限系统可以发送包含允许SM被启用的IC跳过引起错误的命令分段的重写命令的DSB。另外,DSB可以包含进行由故障命令分段事先处理的任务的附加SM命令。
5.2个性化
个性化是指在制造期间将密钥(例如,装置特定的)和数据(例如,命令分段)编程到SM被启用的IC内。个性化的秘密密钥可以用于密钥管理和审核功能性。首先编程到SM被启用的IC内的值中的一个可以是产品芯片ID。
密钥信息可以被存储为密钥拆分。在初始化期间,SM内核从例如密钥拆分、包含在网表中的信息或从两者重构装置密钥。例如,P1密钥拆分可以作为在装置中编程的第一密钥拆分在晶片测试时被编程。P2密钥拆分可以在封装模具测试时被编程。P1和P2密钥拆分通过SM内核被组合以形成基本密钥。组合函数可以选择为使得或者P1密钥拆分或者P2密钥拆分(但不是两者一起)的知识对于确定基本密钥都是不充分的。另外,一个或多个附加的密钥拆分可以在装置组装期间被存储并且可以由SM内核使用以确定附加的基本密钥。例如,产品制造商可能希望作为其制造过程的一部分存储对于IC提供商或IC制造商未知的密钥。除了个性化数据以外,SM被启用的IC可以被编程有唯一的产品芯片ID、制造追踪/日期信息、批次ID、晶片ID、产品类型、装置历史数据以及其他信息的所以方式。
图15以框图形式图示了示例性个性化处理。在步骤1510中,委托权限系统得到待编程到SM被启用的IC内的信息。信息可以包括例如一个或多个基本密钥、一个或多个密钥拆分(例如,P1、P2,等等)、产品芯片ID或者它们的一些组合。待编程的信息可以从耦合至委托权限系统的安全存储器或安全装置(例如,智能卡或HSM)得到。
在步骤1520中,委托权限系统将包含适当的存储器写入命令的DSB转送至装置测试仪。被转送的信息可以被加密。装置测试仪将DSB(与其随附的RSB一起)转送至SM被启用的IC,在那里被接收、验证并且(如果有效)由SM内核执行对存储器进行编程。
在步骤1530中,委托权限系统可以用表明了一个或多个SM被启用的IC被成功个性化了的信息来更新审核日志,并且处理结束(1540)。如先前所描述的,这些审核日志可以接着被转送至安全服务120。
另外,输入到SM被启用的IC的任何密钥都可以处于未加密或已加密的形式。SM被启用的IC和/或SM内核可以支持用于个性化的加密密钥转送的一个或多个机制。例如,SM内核可以使用先前编程的密钥(例如,来自根权限的一个或多个密钥、来自委托权限的一个或多个密钥、嵌在硅内的一个或多个基板密钥、一个或多个附加的安全密钥,等等)将待编程的数据解密。另外,SM内核可以允许利用非对称加密进行会话密钥的更换或生成,例如,以便产生与能够使用共享密钥的委托权限系统共享的密钥以在转送至SM被启用的IC之前将个性化密钥加密。会话密钥由SM内核使用以解密待编程的密钥。在一些实施例中,该协议可以通过将会话密钥与对于SM内核可用的附加对称密钥值组合而被扩展,例如,以在SM内核与个性化中牵涉到的外部装置(例如,委托权限系统)之间提供相互认证。
密钥转送机制中的任何一个都可以独立于各个性化步骤来选择。另外,SM被启用的IC不一定需要在密钥被个性化的顺序上强加任何约束,允许了从相同原始掩模集产生的芯片能够对于不同应用或客户以不同的序列进行个性化。
即使在进行任何个性化之前,委托权限系统也可以能够产生更新了特征状况的DSB例如以供测试。在一个实施例中,SM内核生成了被发送至委托权限系统的随机挑战值。委托权限系统生成并发送被绑定至挑战值并根据期望在非永久性基础上进行特征管理、密钥管理或两者的DSB。例如,委托权限系统可以被启用SM被启用的IC的一个或多个特征,直到下一复位为止。因此,允许了SM被启用的装置的操作能够被测试。因此,即使芯片的安全存储器被完全损坏或者未被编程,也仍然能够进行安全操作。
5.3对SM被启用的装置的特征状况的内场更新
SM被启用的装置的用户可以能够请求特征状况的更新。授权这些改变的报文(例如,RSB/DSB)可以是芯片特定的或者以其他方式受限,使得他们可以在不可信信道(诸如因特网等)之上被安全地发送。商人、系统操作员、装置供应商以及装置制造商也可以请求更新SM被启用的IC中的特征的命令。在一些情形中,请求独立于特征更新通信所使用的方法被转送至SM被启用的装置。例如,能够预先计算提供某些特征能力的解锁的一些列报文,其中各报文被制定用于不同的特定产品芯片ID。该制定的列表可以由不与根权限系统或委托权限系统直接相连的服务器存储。视情况而定(诸如在接收到支付之后等),预计算列表中的实体可以被释放至SM被启用的装置。
图16是用于对针对SM被启用的IC进行特征更新的请求进行授权的示例性方法的流程图,其中更新由委托权限系统(例如,委托权限系统222)授权。
在步骤1600中,委托权限系统接收更新与SM被启用的IC相关联的特征状态的请求。请求可以是在网络之上的报文、电子邮件、经由门户网站接收的命令、电话请求、SMS报文,等等。另外,在一些实施例中,请求可以来自从属于处理请求的委托权限系统的子系统。(例如,从属者可以通过确认用户数据库或支付中的凭证来认证请求,接着将经批准的请求发给主委托权限系统。)
在步骤1610中,委托权限系统做出是否授权该请求的确定。例如,委托权限系统可以为了信息或协助而联系第三方(例如,计费和报告服务122,或安全服务120)。如果请求未被批准,则委托权限系统接着将授权失败报告(1620)给用户并且处理结束(1660)。例如,委托权限系统可以发送电子邮件给用户,表明授权失败以及失败的原因。
如果,授权请求被批准,则委托权限系统得到(1630)RSB。RSB可以从根权限系统或安全服务检索,或者如果先前接收的,则RSB可以从委托权限系统内部的(或以其他方式相关联的)存储器检索。
委托权限系统接着创建(1640)DSB。DSB可以例如利用参照图8、图9A、图9B和图11进行的上述多个处理中的一个处理或一部分处理来创建。
委托权限系统提供(1650)DSB并且处理结束(1660)。例如,委托权限系统可以经由网络(例如,蜂窝式或因特网)将DSB传输至用户的SM被启用的装置。或者,在一些实施例中,委托权限系统做出用户可用的DSB以供下载(例如,通过张贴在安全网站上)。
图17是用于对针对SM被启用的IC进行特征更新的请求进行授权的示例性方法的流程图,其中更新由根权限系统(例如,根权限系统217)授权。
在步骤1710中,根权限系统接收更新与SM被启用的IC相关联的特征状况的请求。请求可以是在网络之上的报文、电子邮件、经由门户网站接收的命令、电话请求、SMS报文,等等。例如,在一些实施例中,请求可以来自从属于处理请求的委托权限系统的子系统。(例如,从属者可以通过确认用户数据库或支付中的凭证来认证请求,接着将经批准的请求发给主委托权限系统。)。请求可以来自委托权限系统。
在步骤1720中,根权限系统确定是否该授权请求(这可以包括与用于信息或协助的第三方联系)。如果请求未被批准,则根权限系统接着报告(1730)授权失败并且处理结束(1760)。
如果授权请求被批准,则根权限系统接着创建(1740)RSB。在该实施例中,RSB包含引导SM内核更新其特征状态的信息。RSB可以例如利用参照图5或图7进行的上述处理来创建。
根权限系统接着提供(1750)RSB并且处理结束(1760)。
现在将讨论本公开的各种实施例的示例。
根据示例#1,方法可以包括:由集成电路的安全管理器接收根签名块;由安全管理器利用秘密密钥来验证与根签名块相关联的签名;由安全管理器从根签名块提取命令;由安全管理器执行提取的命令,其中所执行的命令适用于集成电路的操作。
根据示例#2,方法可以包括:由集成电路的安全管理器接收委托签名块;由安全管理器标识与委托权限系统相关联的委托许可和密钥;由安全管理器利用与委托权限系统相关联的密钥来验证与委托签名块相关联的签名;由安全管理器从委托签名块中提取命令;由安全管理器利用委托许可来验证提取的命令被许可;并且由安全管理器执行提取处的命令,其中所执行的命令适合于集成电路的操作。
根据示例#3,方法可以包括:由集成电路的安全管理器接收用于更新集成电路的多个特征中的特征的状态的命令;由安全管理器确定特征的状态的更新是否是永久性的;并且如果更新是永久性的,则将命令保存至存储器,并且执行用于更新特征的状态的命令。在一个实施例中,特征的状态根据包括了时间相关的因素、或者集成电路的特点或者装置的特点在内的一个或多个因素来更新。
根据示例#4,方法可以包括:由集成电路的安全管理器接收适合于集成电路的特征的状态的挑战,挑战接收自审核系统;响应于挑战,由安全管理器计算出作为秘密密钥和特征的状态的函数的审核证明值;并且将审核证明值提供至审核系统。
根据示例#5,方法可以包括:接收包括了配置器输入文件和硬件常量的配置器输入数据;并且利用输入数据生成集成电路设计文件,其中集成电路设计文件包括提取器硬件限定、一个或多个子提取器硬件限定以及状态缓存。
根据示例#6,方法可以包括:接收限定了用于集成电路的特征和密钥的策略的配置器可操作性输入数据;利用配置器可操作性输入数据生成用于集成电路的可操作配置映射;并且从可操作性配置映射创建映射文件。
根据示例#7,方法可以包括:一旦集成电路的上电或复位,就由集成电路的安全管理器接收完整性校验值;由安全管理器通过处理安全存储器中的命令分段来进行完整性校验;并且基于完整性校验值来确定命令段中的任何一个是否具有完整性错误。
根据示例#8,方法可以包括:由集成电路的安全管理器追踪从实体接收到的命令;将命令与相应的实体相关联;并且基于从各个实体接收到的命令对实体中的每一个进行计费。
在本公开中,“计算机”可以包括一个或多个处理器、存储器、数据接口、硬件安全模块、显示器或它们的一些组合。处理器可以是单个或多个微处理器、现场可编程门阵列(FPGA)或者能够执行特定指令集的数字信号处理器(DSP)。由计算机进行的方法中的一些可以利用能够存储在如下介质上的计算机可读指令植入:所述介质是诸如软盘、硬盘、CD-ROM(压缩盘-只读存储器)以及MO(磁光)、DVD-ROM(数字通用盘-只读存储器)、DVD-RAM(数字通用盘-随机存取存储器)等的有形非易失性计算机可读介质,或者半导体(例如,ROM或闪存)存储器。备选地,方法中的一些可以在硬件组件或者诸如例如ASIC、专门目的的计算机或者通用目的的计算机等的硬件与软件的组合中实现。一些实施例可以不仅在集成电路内而且在计算机可读介质内实现。例如,这些设计可以存储在与用于设计集成电路的软件设计工具相关联的计算机可读介质上或者嵌入其内。示例包括VHSIC硬件描述语言(VHDL)网表、Verilog寄存器传输级(RTL)网表以及晶体管级(例如,SPICE或SPICE相关的文件)网表。注意,这样的网表可以被合成以及是能够合成的。计算机可读介质还包括具有诸如GDS-II文件等的布局信息的介质。此外,用于集成电路设计的网表文件或其他计算机可读介质可以用在模拟环境中以进行如上所述的设计的方法。
可以做出上述实施例的某些改写和修改。因此,上面讨论的实施例被视为说明性的并且不是限制性的。本申请的实施例不限于任何特定的操作系统、移动装置架构、服务器架构或者计算机编程语言。

Claims (29)

1.一种方法,包括:
由集成电路的安全管理器接收经数字签名的命令;
由所述安全管理器从所述集成电路的安全存储器获取秘密密钥;
由所述安全管理器利用所述秘密密钥来验证与所述命令相关联的签名,以及
由所述安全管理器执行所述命令以配置所述集成电路的操作。
2.根据权利要求1所述的方法,其中执行所述命令包括:
更新所述集成电路的多个特征中的特征的状态,其中更新所述特征的所述状态引起以下项中的至少一项:锁定所述特征、解锁所述特征或配置所述特征。
3.根据权利要求2所述的方法,其中所述特征的所述状态的更新是永久性的或非永久性的。
4.根据权利要求1所述的方法,其中执行所述命令包括:
将一个或多个密钥传递至所述集成电路的一个或多个组件,其中所述密钥适合于以下项中的至少一项:所述组件的加密操作、所述组件的数字权益管理操作、所述组件的口令管理操作或者所述组件的认证操作。
5.根据权利要求1所述的方法,其中执行所述命令包括:
标识一个或多个硬件常量并且将所述硬件常量存储在指定存储装置中,所述硬件常量包括以下项中的至少一项:产品芯片标识符、一个或多个安全密钥、一个或多个基本密钥或者错误校正数据。
6.根据权利要求1所述的方法,其中所述命令由根权限签名,并且所述秘密密钥是所述根权限的公钥。
7.根据权利要求1所述的方法,其中所述命令由委托权限签名。
8.根据权利要求7所述的方法,其中验证与所述命令相关联的所述签名包括:
从由根权限签名的根签名块获取所述委托权限的委托许可和公钥;
利用所述委托权限的所述公钥来确定与所述命令相关联的所述签名有效;以及
利用所述委托许可来确定所述命令被许可。
9.根据权利要求1所述的方法,其中所述命令与经加密的净荷相关联,所述方法进一步包括:
利用所述安全管理器可访问的基本密钥导出混合密钥;
利用所述混合密钥导出传送密钥;
利用所述传送密钥将所述经加密的净荷解密;以及
将经解密的净荷传递至特征。
10.一种集成电路,包括:
安全存储器,用于存储秘密密钥;
安全管理器(SM)内核,被耦合至所述安全存储器,以用于:
接收经数字签名的命令;
利用所述秘密密钥来验证与所述命令相关联的签名;以及
利用所述命令配置所述集成电路的操作。
11.根据权利要求10所述的集成电路,进一步包括:
可由所述SM内核配置的多个特征。
12.根据权利要求11所述的集成电路,进一步包括:
被耦合至所述SM内核的提取器;以及
被耦合至所述提取器的多个子提取器,其中所述多个子提取器中的每一个子提取器还被耦合至所述多个特征中的一个特征。
13.根据权利要求11所述的集成电路,其中所述SM内核包括:
密码机模块,用于验证所述命令的所述签名;
执行引擎模块,用于执行所述命令;
通信模块,用于促进所述SM内核与所述集成电路的组件之间的通信;以及
数据存储模块,用于管理所述SM内核的内部存储并且与所述安全存储器通过接口接合。
14.一种方法,包括:
由根权限系统接收标识影响集成电路的操作的命令的数据;
由所述根权限系统利用根权限密钥来对所述命令进行签名以创建根签名块(RSB);以及
将所述RSB提供至所述集成电路的安全管理器。
15.根据权利要求14所述的方法,其中所述RSB经由所述集成电路的测试仪接口被提供至所述安全管理器。
16.根据权利要求14所述的方法,其中所述命令指示所述安全管理器更新所述集成电路的特征,其中所述特征的更新是永久性的或非永久性的。
17.根据权利要求14所述的方法,其中所述命令是将一个或多个密钥传递至所述集成电路的组件,其中所述密钥适合于以下项中的至少一项:所述组件的加密操作、所述组件的数字权益管理操作、所述组件的口令管理操作或者所述组件的认证操作。
18.根据权利要求14所述的方法,其中所述命令是将一个或多个硬件常量存储在所述集成电路内,所述硬件常量包括以下项中的至少一项:产品芯片标识符、一个或多个安全密钥、一个或多个基本密钥或者错误校正数据。
19.一种方法,包括:
由根权限系统接收表明影响集成电路的操作的命令的输入参数;
由所述根权限系统创建包括所述命令和与委托权限系统相关联的委托许可的根签名块(RSB),所述RSB由所述根权限系统签名;以及
将所述RSB提供至所述集成电路的安全管理器。
20.根据权利要求19所述的方法,其中所述委托许可限定所述委托权限系统对于所述安全管理器的管理能力。
21.根据权利要求19所述的方法,其中所述RSB进一步包括与所述委托权限系统相关联的公钥。
22.根据权利要求19所述的方法,其中所述RSB进一步包括与所述命令相关联的命令模版。
23.根据权利要求19所述的方法,其中所述RSB进一步包括用于委托权限签名的一个或多个要求。
24.根据权利要求19所述的方法,进一步包括将所述RSB传递至所述委托权限系统。
25.一种方法,包括:
由委托权限系统接收包括影响集成电路的操作的命令的输入参数;
由所述委托权限系统对所述委托输入参数进行签名以创建委托签名块(DSB);以及
将所述DSB提供至所述集成电路的安全管理器。
26.根据权利要求25所述的方法,其中所述输入参数被接收作为由根权限系统提供的根签名块(RSB)的一部分。
27.根据权利要求26所述的方法,其中所述DSB与所述RSB相关联,所述RSB被提供至所述安全管理器。
28.根据权利要求26所述的方法,其中所述RSB包括以下项中的一项或多项:与所述委托权限系统相关联的委托许可、与所述委托权限系统相关联的公钥、与所述命令相关联的命令模版或者用于委托权限签名的要求。
29.根据权利要求28所述的方法,其中所述委托许可限定所述委托权限系统对于所述安全管理器的管理能力。
CN201380042381.3A 2012-08-10 2013-08-09 集成电路、用于集成电路的方法以及用于委托权限系统的方法 Active CN104541474B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261682001P 2012-08-10 2012-08-10
US61/682,001 2012-08-10
US13/831,545 US10771448B2 (en) 2012-08-10 2013-03-14 Secure feature and key management in integrated circuits
US13/831,545 2013-03-14
PCT/US2013/054306 WO2014026095A2 (en) 2012-08-10 2013-08-09 Secure feature and key management in integrated circuits

Publications (2)

Publication Number Publication Date
CN104541474A true CN104541474A (zh) 2015-04-22
CN104541474B CN104541474B (zh) 2018-03-30

Family

ID=50066202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380042381.3A Active CN104541474B (zh) 2012-08-10 2013-08-09 集成电路、用于集成电路的方法以及用于委托权限系统的方法

Country Status (7)

Country Link
US (5) US10771448B2 (zh)
EP (1) EP2907262B1 (zh)
JP (1) JP6427099B2 (zh)
KR (4) KR102230834B1 (zh)
CN (1) CN104541474B (zh)
TW (1) TWI621031B (zh)
WO (1) WO2014026095A2 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229880A (zh) * 2017-05-12 2017-10-03 深圳市博巨兴实业发展有限公司 一种带用户安全调试功能的微处理器芯片
TWI621347B (zh) * 2016-08-04 2018-04-11 捷而思股份有限公司 偽造指令自動過濾系統、協同運作系統、與相關的指令核實電路
CN108140092A (zh) * 2015-12-02 2018-06-08 密码研究公司 具有多个可信根的设备
CN108141226A (zh) * 2015-09-16 2018-06-08 西门子股份公司 用于创建不对称校验和的设备和方法
CN108475482A (zh) * 2016-01-20 2018-08-31 瑞萨电子欧洲有限公司 具有防伪造能力的集成电路
CN109756332A (zh) * 2019-03-04 2019-05-14 重庆捷思芯创电子科技有限公司 一种sram型fpga与外置密钥管理芯片的通讯系统
WO2019144403A1 (zh) * 2018-01-29 2019-08-01 深圳市汇顶科技股份有限公司 芯片的访问方法、安全控制模块、芯片和调试设备
US20210035083A1 (en) * 2019-08-02 2021-02-04 Mastercard International Incorporated System and method to support payment acceptance capability for merchants
CN113055340A (zh) * 2019-12-26 2021-06-29 华为技术有限公司 鉴权方法及设备
TWI763379B (zh) * 2020-06-29 2022-05-01 新唐科技股份有限公司 安全積體電路晶片裝置及其保護其方法

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9231758B2 (en) 2009-11-16 2016-01-05 Arm Technologies Israel Ltd. System, device, and method of provisioning cryptographic data to electronic devices
US9015469B2 (en) 2011-07-28 2015-04-21 Cloudflare, Inc. Supporting secure sessions in a cloud-based proxy service
US9607142B2 (en) * 2011-09-09 2017-03-28 International Business Machines Corporation Context aware recertification
US8782774B1 (en) 2013-03-07 2014-07-15 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US10120350B2 (en) * 2013-03-11 2018-11-06 Fisher-Rosemount Systems, Inc. Background collection of diagnostic data from field instrumentation devices
US9305298B2 (en) 2013-03-22 2016-04-05 Nok Nok Labs, Inc. System and method for location-based authentication
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9887983B2 (en) * 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
US9961077B2 (en) 2013-05-30 2018-05-01 Nok Nok Labs, Inc. System and method for biometric authentication with device attestation
US9401802B2 (en) * 2013-07-31 2016-07-26 Fairchild Semiconductor Corporation Side channel power attack defense with pseudo random clock operation
US9542558B2 (en) * 2014-03-12 2017-01-10 Apple Inc. Secure factory data generation and restoration
US9942049B2 (en) * 2014-04-04 2018-04-10 Qualcomm Incorporated Remote station and method for re-enabling a disabled debug capability in a system-on-a-chip device
US8966267B1 (en) 2014-04-08 2015-02-24 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US8996873B1 (en) 2014-04-08 2015-03-31 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US9768957B2 (en) * 2014-04-23 2017-09-19 Cryptography Research, Inc. Generation and management of multiple base keys based on a device generated key
US9654469B1 (en) 2014-05-02 2017-05-16 Nok Nok Labs, Inc. Web-based user authentication techniques and applications
US9413533B1 (en) 2014-05-02 2016-08-09 Nok Nok Labs, Inc. System and method for authorizing a new authenticator
US9577999B1 (en) 2014-05-02 2017-02-21 Nok Nok Labs, Inc. Enhanced security for registration of authentication devices
US9397828B1 (en) 2014-05-13 2016-07-19 Google Inc. Embedding keys in hardware
US20150331043A1 (en) * 2014-05-15 2015-11-19 Manoj R. Sastry System-on-chip secure debug
US9721121B2 (en) 2014-06-16 2017-08-01 Green Hills Software, Inc. Out-of-band spy detection and prevention for portable wireless systems
US20150381368A1 (en) * 2014-06-27 2015-12-31 William A. Stevens, Jr. Technologies for secure offline activation of hardware features
US9455979B2 (en) 2014-07-31 2016-09-27 Nok Nok Labs, Inc. System and method for establishing trust using secure transmission protocols
US9749131B2 (en) 2014-07-31 2017-08-29 Nok Nok Labs, Inc. System and method for implementing a one-time-password using asymmetric cryptography
US9875347B2 (en) 2014-07-31 2018-01-23 Nok Nok Labs, Inc. System and method for performing authentication using data analytics
US10148630B2 (en) 2014-07-31 2018-12-04 Nok Nok Labs, Inc. System and method for implementing a hosted authentication service
US10185669B2 (en) 2014-08-04 2019-01-22 Oracle International Corporation Secure key derivation functions
US9736154B2 (en) 2014-09-16 2017-08-15 Nok Nok Labs, Inc. System and method for integrating an authentication service within a network architecture
KR102604892B1 (ko) * 2014-09-17 2023-11-21 크라이프토그라피 리서치, 인코포레이티드 집적 회로를 위한 상이한 엔티티들의 특권들의 관리
US9705501B2 (en) * 2014-10-01 2017-07-11 Maxim Integrated Products, Inc. Systems and methods for enhancing confidentiality via logic gate encryption
US9866548B2 (en) * 2014-12-17 2018-01-09 Quanta Computer Inc. Authentication-free configuration for service controllers
US9618566B2 (en) 2015-02-12 2017-04-11 Globalfoundries Inc. Systems and methods to prevent incorporation of a used integrated circuit chip into a product
US9930050B2 (en) * 2015-04-01 2018-03-27 Hand Held Products, Inc. Device management proxy for secure devices
KR101655890B1 (ko) * 2015-04-08 2016-09-08 (주)세이퍼존 배드 유에스비 방지를 위한 보안 유에스비 장치의 펌웨어 설치 방법
CN106664559B (zh) * 2015-05-27 2019-11-29 华为技术有限公司 无线通信网络中设备配置的方法、装置及系统
FR3038757B1 (fr) * 2015-07-07 2017-08-11 Univ Montpellier Systeme et procede d'authentification et de licence ip
US10642962B2 (en) 2015-07-28 2020-05-05 Western Digital Technologies, Inc. Licensable function for securing stored data
ITUB20152708A1 (it) * 2015-07-31 2017-01-31 St Microelectronics Srl Procedimento per operare una crittografia con mascheratura di dati sensibili, apparato di crittografia e prodotto informatico corrispondente
EP3147830B1 (en) * 2015-09-23 2020-11-18 Nxp B.V. Protecting an integrated circuit
US9996711B2 (en) 2015-10-30 2018-06-12 Intel Corporation Asset protection of integrated circuits during transport
EP3391584B1 (en) 2015-12-16 2020-11-04 Cryptography Research, Inc. Cryptographic management of lifecycle states
US20170257369A1 (en) * 2016-03-04 2017-09-07 Altera Corporation Flexible feature enabling integrated circuit and methods to operate the integrated circuit
US10534882B2 (en) * 2016-03-29 2020-01-14 Qualcomm Incorporated Method and apparatus for configuring an integrated circuit with a requested feature set
EP3252990A1 (de) * 2016-06-03 2017-12-06 Siemens Aktiengesellschaft Verfahren und vorrichtung zum bereitstellen eines geheimnisses zum authentisieren eines systems und/oder komponenten des systems
US10754968B2 (en) * 2016-06-10 2020-08-25 Digital 14 Llc Peer-to-peer security protocol apparatus, computer program, and method
US10255462B2 (en) 2016-06-17 2019-04-09 Arm Limited Apparatus and method for obfuscating power consumption of a processor
EP3264816A1 (en) * 2016-06-30 2018-01-03 Sequans Communications S.A. Secure boot and software upgrade of a device
US11050605B2 (en) 2016-08-01 2021-06-29 Data I/O Corporation Device programming with system generation
US9923755B2 (en) 2016-08-01 2018-03-20 Data I/O Corporation Device programming with system generation
US10637853B2 (en) 2016-08-05 2020-04-28 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US11539535B2 (en) * 2016-10-06 2022-12-27 Cryptography Research, Inc. Generating an authentication result by using a secure base key
US11283625B2 (en) 2016-10-14 2022-03-22 Cable Television Laboratories, Inc. Systems and methods for bootstrapping ecosystem certificate issuance
US11222319B2 (en) * 2016-10-14 2022-01-11 Cable Television Laboratories, Inc. Systems and methods for post-hoc device registration
US9946899B1 (en) 2016-10-14 2018-04-17 Google Llc Active ASIC intrusion shield
US10498712B2 (en) 2016-11-10 2019-12-03 Ernest Brickell Balancing public and personal security needs
US11398906B2 (en) 2016-11-10 2022-07-26 Brickell Cryptology Llc Confirming receipt of audit records for audited use of a cryptographic key
US11405201B2 (en) 2016-11-10 2022-08-02 Brickell Cryptology Llc Secure transfer of protected application storage keys with change of trusted computing base
US10855465B2 (en) 2016-11-10 2020-12-01 Ernest Brickell Audited use of a cryptographic key
WO2018090201A1 (zh) 2016-11-15 2018-05-24 华为技术有限公司 一种安全的处理器芯片及终端设备
US10091195B2 (en) 2016-12-31 2018-10-02 Nok Nok Labs, Inc. System and method for bootstrapping a user binding
US10237070B2 (en) 2016-12-31 2019-03-19 Nok Nok Labs, Inc. System and method for sharing keys across authenticators
US10585608B2 (en) * 2017-03-22 2020-03-10 Oracle International Corporation System and method for securely isolating a system feature
CN106973056B (zh) * 2017-03-30 2020-11-17 中国电力科学研究院 一种面向对象的安全芯片及其加密方法
GB2561374B (en) * 2017-04-11 2022-04-06 Secure Thingz Ltd Storing data on target data processing devices
US10652245B2 (en) 2017-05-04 2020-05-12 Ernest Brickell External accessibility for network devices
US10348706B2 (en) * 2017-05-04 2019-07-09 Ernest Brickell Assuring external accessibility for devices on a network
US10505931B2 (en) * 2017-06-02 2019-12-10 Nxp B.V. Method for authenticating an integrated circuit device
US11418364B2 (en) 2017-06-07 2022-08-16 Combined Conditional Access Development And Support, Llc Determining a session key using session data
US20190007212A1 (en) 2017-06-30 2019-01-03 Intel Corporation Secure unlock systems for locked devices
US11218322B2 (en) 2017-09-28 2022-01-04 Intel Corporation System and method for reconfiguring and deploying soft stock-keeping units
FR3072195B1 (fr) * 2017-10-11 2019-10-18 Stmicroelectronics (Rousset) Sas Procede de gestion d'un retour de produit pour analyse et produit correspondant
CN107797933B (zh) * 2017-11-22 2020-06-12 中国银行股份有限公司 生成模拟报文的方法及装置
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US20190215160A1 (en) * 2018-01-09 2019-07-11 Qualcomm Incorporated Managing a set of cryptographic keys in an encrypted system
US11789874B2 (en) 2018-01-09 2023-10-17 Qualcomm Incorporated Method, apparatus, and system for storing memory encryption realm key IDs
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US11250133B2 (en) 2018-01-12 2022-02-15 Arris Enterprises Llc Configurable code signing system and method
US11184164B2 (en) * 2018-02-02 2021-11-23 Microsoft Technology Licensing, Llc Secure crypto system attributes
US11063701B2 (en) * 2018-07-13 2021-07-13 Encore Semi, Inc. Safety integrity level of service (SILoS) system
US10853273B2 (en) * 2018-08-01 2020-12-01 Micron Technology, Inc. Secure memory system programming
US10707973B2 (en) * 2018-08-30 2020-07-07 Rohde & Schwarz Gmbh & Co. Kg Method of testing bluetooth low energy devices over-the-air and testing system
GB2578158B (en) * 2018-10-19 2021-02-17 Advanced Risc Mach Ltd Parameter signature for realm security configuration parameters
GB201902470D0 (en) * 2019-02-22 2019-04-10 Secure Thingz Ltd Security data processing device
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
EP3977670A4 (en) * 2019-05-24 2023-06-28 ARRIS Enterprises LLC Key-ladder protected personalization data conversion from global to unique encryption
CN110380854A (zh) * 2019-08-12 2019-10-25 南京芯驰半导体科技有限公司 针对多个系统的根密钥生成、隔离方法及根密钥模块
US11573830B2 (en) * 2019-09-27 2023-02-07 Intel Corporation Software defined silicon implementation and management
US11042473B2 (en) * 2019-11-01 2021-06-22 EMC IP Holding Company LLC Intelligent test case management for system integration testing
US10903990B1 (en) 2020-03-11 2021-01-26 Cloudflare, Inc. Establishing a cryptographic tunnel between a first tunnel endpoint and a second tunnel endpoint where a private key used during the tunnel establishment is remotely located from the second tunnel endpoint
TWI743715B (zh) * 2020-03-24 2021-10-21 瑞昱半導體股份有限公司 用來針對非揮發性記憶體進行資訊保護的方法及設備
US11502832B2 (en) 2020-06-04 2022-11-15 PUFsecurity Corporation Electronic device capable of protecting confidential data
US20220021544A1 (en) * 2020-07-15 2022-01-20 Micron Technology, Inc. Secure Serial Peripheral Interface (SPI) Flash
CN111935119B (zh) * 2020-07-31 2021-06-18 上海安路信息科技股份有限公司 数据加密认证方法及数据加密认证系统
US11681784B2 (en) * 2020-09-03 2023-06-20 Arista Networks, Inc. Hardware license verification
US20210012893A1 (en) * 2020-09-28 2021-01-14 Uih America, Inc. Systems and methods for device control
US20220114284A1 (en) * 2020-10-14 2022-04-14 Qualcomm Incorporated Signed command stream and command execution
US11595189B2 (en) 2020-10-27 2023-02-28 Microsoft Technology Licensing, Llc Secure key exchange using key-associated attributes
US11928349B2 (en) 2021-04-23 2024-03-12 Qualcomm Incorporated Access control configurations for shared memory
US11630711B2 (en) * 2021-04-23 2023-04-18 Qualcomm Incorporated Access control configurations for inter-processor communications
CN115312110A (zh) * 2021-05-08 2022-11-08 瑞昱半导体股份有限公司 芯片验证系统及其验证方法
US20230394901A1 (en) * 2022-06-02 2023-12-07 Micron Technology, Inc. Securing electronic ballot systems via secure memory devices with embedded hardware security modules
US11546323B1 (en) * 2022-08-17 2023-01-03 strongDM, Inc. Credential management for distributed services
US11736531B1 (en) 2022-08-31 2023-08-22 strongDM, Inc. Managing and monitoring endpoint activity in secured networks
US11765159B1 (en) 2022-09-28 2023-09-19 strongDM, Inc. Connection revocation in overlay networks
US11916885B1 (en) 2023-01-09 2024-02-27 strongDM, Inc. Tunnelling with support for dynamic naming resolution
US11765207B1 (en) 2023-03-17 2023-09-19 strongDM, Inc. Declaring network policies using natural language

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192834A (zh) * 1995-06-05 1998-09-09 塞特科有限公司 多步数字签名方法和系统
US20060187857A1 (en) * 2005-02-18 2006-08-24 Fujitsu Limited System and method to provide device control service, and computer product
CN101127625A (zh) * 2006-08-18 2008-02-20 华为技术有限公司 一种对访问请求授权的系统及方法
CN102257505A (zh) * 2008-12-28 2011-11-23 高通股份有限公司 用于提供经授权装置接入的设备和方法
CN102301375A (zh) * 2009-01-30 2011-12-28 飞思卡尔半导体公司 用于市场返修的认证调试访问

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530753A (en) 1994-08-15 1996-06-25 International Business Machines Corporation Methods and apparatus for secure hardware configuration
JPH10274927A (ja) 1997-03-31 1998-10-13 Nippon Telegr & Teleph Corp <Ntt> 認証を伴う命令発行方法およびこれに用いるモジュール
JP4670158B2 (ja) 2001-02-16 2011-04-13 ソニー株式会社 データ処理方法および半導体回路
US7987510B2 (en) * 2001-03-28 2011-07-26 Rovi Solutions Corporation Self-protecting digital content
US20020141582A1 (en) * 2001-03-28 2002-10-03 Kocher Paul C. Content security layer providing long-term renewable security
JP4899248B2 (ja) 2001-04-02 2012-03-21 富士通セミコンダクター株式会社 半導体集積回路
US7484105B2 (en) 2001-08-16 2009-01-27 Lenovo (Singapore) Ptd. Ltd. Flash update using a trusted platform module
JP2003209545A (ja) 2002-01-11 2003-07-25 Tokyo Denki Univ コア内蔵型集積回路及びそのコア盗用防止方法
US7552343B2 (en) * 2002-03-19 2009-06-23 Nxp B.V. Conditional access control
JP2004173206A (ja) * 2002-11-22 2004-06-17 Toshiba Corp 半導体集積回路及び機能実現システム
US20040103325A1 (en) * 2002-11-27 2004-05-27 Priebatsch Mark Herbert Authenticated remote PIN unblock
KR100581440B1 (ko) * 2003-07-04 2006-05-23 학교법인 한국정보통신학원 겹선형쌍을 이용한 개인식별정보 기반의 대리서명 장치 및방법
US20050114700A1 (en) 2003-08-13 2005-05-26 Sensory Networks, Inc. Integrated circuit apparatus and method for high throughput signature based network applications
US20060059372A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware
US7251805B2 (en) 2004-10-12 2007-07-31 Nanotech Corporation ASICs having more features than generally usable at one time and methods of use
US7774619B2 (en) * 2004-11-17 2010-08-10 Broadcom Corporation Secure code execution using external memory
EP1722503A1 (en) 2005-05-13 2006-11-15 DrayTek Corp. Method used by an access point of a wireless LAN and related apparatus
FR2897222A1 (fr) * 2006-02-03 2007-08-10 Gemplus Sa Acces a distance a une memoire de masse et une memoire de securite dans un objet communicant portable
US7624283B2 (en) * 2006-02-13 2009-11-24 International Business Machines Corporation Protocol for trusted platform module recovery through context checkpointing
US8560829B2 (en) 2006-05-09 2013-10-15 Broadcom Corporation Method and system for command interface protection to achieve a secure interface
US9064135B1 (en) * 2006-12-12 2015-06-23 Marvell International Ltd. Hardware implemented key management system and method
EP2122530A2 (en) 2006-12-15 2009-11-25 Hans Martin Boesgaard Sørensen Digital data authentication
US20080162866A1 (en) * 2006-12-28 2008-07-03 Siddiqi Faraz A Apparatus and method for fast and secure memory context switching
US7778074B2 (en) 2007-03-23 2010-08-17 Sigmatel, Inc. System and method to control one time programmable memory
US8995288B2 (en) * 2007-06-11 2015-03-31 Broadcom Corporation Method and system for a configurable communication integrated circuit and/or chipset
US8417848B2 (en) * 2007-11-20 2013-04-09 Hangzhou H3C Technologies Co., Ltd. Method and apparatus for implementing multiple service processing functions
US20090187771A1 (en) * 2008-01-17 2009-07-23 Mclellan Jr Hubert Rae Secure data storage with key update to prevent replay attacks
US9003197B2 (en) * 2008-03-27 2015-04-07 General Instrument Corporation Methods, apparatus and system for authenticating a programmable hardware device and for authenticating commands received in the programmable hardware device from a secure processor
ES2818348T3 (es) 2008-08-07 2021-04-12 Mitsubishi Electric Corp Dispositivo de circuito integrado de semiconductores, dispositivo de control de aparato de instalación y dispositivo de visualización de estado del aparato
US9317708B2 (en) 2008-08-14 2016-04-19 Teleputers, Llc Hardware trust anchors in SP-enabled processors
US8627471B2 (en) 2008-10-28 2014-01-07 Freescale Semiconductor, Inc. Permissions checking for data processing instructions
WO2010057312A1 (en) 2008-11-24 2010-05-27 Certicom Corp. System and method for hardware based security
KR101261674B1 (ko) * 2008-12-22 2013-05-06 한국전자통신연구원 다운로드 제한 수신 시스템에서의 상호 인증 방법 및 장치
US20100174920A1 (en) 2009-01-06 2010-07-08 Jonathan Peter Buckingham Data processing apparatus
US8250630B2 (en) 2009-03-05 2012-08-21 Cisco Technology, Inc. Detecting unauthorized computer access
US20100284539A1 (en) * 2009-03-09 2010-11-11 The Regents Of The University Of Michigan Methods for Protecting Against Piracy of Integrated Circuits
US8583930B2 (en) * 2009-03-17 2013-11-12 Electronics And Telecommunications Research Institute Downloadable conditional access system, secure micro, and transport processor, and security authentication method using the same
JP5423088B2 (ja) * 2009-03-25 2014-02-19 ソニー株式会社 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
US7795899B1 (en) 2009-04-08 2010-09-14 Oracle America, Inc. Enabling on-chip features via efuses
CN102625939B (zh) 2009-07-10 2017-02-22 塞尔蒂卡姆公司 用于管理电子资产的系统和方法
US20110016308A1 (en) 2009-07-17 2011-01-20 Ricoh Company, Ltd., Encrypted document transmission
US10482254B2 (en) 2010-07-14 2019-11-19 Intel Corporation Domain-authenticated control of platform resources
US9071421B2 (en) 2010-12-15 2015-06-30 Microsoft Technology Licensing, Llc Encrypted content streaming
US9569631B2 (en) 2011-01-21 2017-02-14 Lexmark International, Inc. Method and apparatus for configuring an electronics device
EP2689375B1 (en) 2011-03-21 2021-09-15 Irdeto B.V. System and method for securely binding and node-locking program execution to a trusted signature authority
US8843764B2 (en) 2011-07-15 2014-09-23 Cavium, Inc. Secure software and hardware association technique
US9231926B2 (en) 2011-09-08 2016-01-05 Lexmark International, Inc. System and method for secured host-slave communication
US9015837B1 (en) 2011-09-29 2015-04-21 Google Inc. Systems and methods for verifying an update to data of an electronic device
US8812837B2 (en) 2012-06-01 2014-08-19 At&T Intellectual Property I, Lp Apparatus and methods for activation of communication devices
US8954732B1 (en) 2012-06-27 2015-02-10 Juniper Networks, Inc. Authenticating third-party programs for platforms
US9436848B2 (en) * 2013-05-30 2016-09-06 Cryptography Research, Inc. Configurator for secure feature and key manager
US9692599B1 (en) 2014-09-16 2017-06-27 Google Inc. Security module endorsement
TWI610561B (zh) * 2016-08-26 2018-01-01 Smart Mobile Broadcasting Technology Inc 視聽條件更新方法、更新碼生成系統、更新碼生成裝置、視聽條件管理裝置、內容接收系統、及內容發送系統
NL2022902B1 (en) * 2019-04-09 2020-10-20 Univ Delft Tech Integrated circuit device for loT applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192834A (zh) * 1995-06-05 1998-09-09 塞特科有限公司 多步数字签名方法和系统
US20060187857A1 (en) * 2005-02-18 2006-08-24 Fujitsu Limited System and method to provide device control service, and computer product
CN101127625A (zh) * 2006-08-18 2008-02-20 华为技术有限公司 一种对访问请求授权的系统及方法
CN102257505A (zh) * 2008-12-28 2011-11-23 高通股份有限公司 用于提供经授权装置接入的设备和方法
CN102301375A (zh) * 2009-01-30 2011-12-28 飞思卡尔半导体公司 用于市场返修的认证调试访问

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108141226A (zh) * 2015-09-16 2018-06-08 西门子股份公司 用于创建不对称校验和的设备和方法
CN108140092A (zh) * 2015-12-02 2018-06-08 密码研究公司 具有多个可信根的设备
CN108475482A (zh) * 2016-01-20 2018-08-31 瑞萨电子欧洲有限公司 具有防伪造能力的集成电路
TWI621347B (zh) * 2016-08-04 2018-04-11 捷而思股份有限公司 偽造指令自動過濾系統、協同運作系統、與相關的指令核實電路
CN107229880A (zh) * 2017-05-12 2017-10-03 深圳市博巨兴实业发展有限公司 一种带用户安全调试功能的微处理器芯片
WO2019144403A1 (zh) * 2018-01-29 2019-08-01 深圳市汇顶科技股份有限公司 芯片的访问方法、安全控制模块、芯片和调试设备
US11093600B2 (en) 2018-01-29 2021-08-17 Shenzhen Goodix Technology Co. Ltd. Chip accessing method, security controlling module, chip and debugging device
CN109756332A (zh) * 2019-03-04 2019-05-14 重庆捷思芯创电子科技有限公司 一种sram型fpga与外置密钥管理芯片的通讯系统
CN109756332B (zh) * 2019-03-04 2023-03-03 重庆捷思芯创电子科技有限公司 一种sram型fpga与外置密钥管理芯片的通讯系统
US20210035083A1 (en) * 2019-08-02 2021-02-04 Mastercard International Incorporated System and method to support payment acceptance capability for merchants
CN113055340A (zh) * 2019-12-26 2021-06-29 华为技术有限公司 鉴权方法及设备
WO2021128989A1 (zh) * 2019-12-26 2021-07-01 华为技术有限公司 鉴权方法及设备
CN113055340B (zh) * 2019-12-26 2023-09-26 华为技术有限公司 鉴权方法及设备
TWI763379B (zh) * 2020-06-29 2022-05-01 新唐科技股份有限公司 安全積體電路晶片裝置及其保護其方法

Also Published As

Publication number Publication date
CN104541474B (zh) 2018-03-30
EP2907262B1 (en) 2019-11-27
KR102378157B1 (ko) 2022-03-24
US20140044265A1 (en) 2014-02-13
WO2014026095A2 (en) 2014-02-13
EP2907262A4 (en) 2016-05-18
US20210058387A1 (en) 2021-02-25
US10084771B2 (en) 2018-09-25
KR102230834B1 (ko) 2021-03-23
US20190097999A1 (en) 2019-03-28
US11695749B2 (en) 2023-07-04
KR20210032557A (ko) 2021-03-24
EP2907262A2 (en) 2015-08-19
US10666641B2 (en) 2020-05-26
KR102470524B1 (ko) 2022-11-24
TW201415286A (zh) 2014-04-16
KR102312131B1 (ko) 2021-10-13
US20160028722A1 (en) 2016-01-28
WO2014026095A3 (en) 2014-05-01
JP6427099B2 (ja) 2018-11-21
US20230388290A1 (en) 2023-11-30
KR20150040920A (ko) 2015-04-15
US10771448B2 (en) 2020-09-08
JP2015531924A (ja) 2015-11-05
KR20220042236A (ko) 2022-04-04
KR20210119585A (ko) 2021-10-05
TWI621031B (zh) 2018-04-11

Similar Documents

Publication Publication Date Title
CN104541474A (zh) 集成电路中的安全特征和密钥管理
US9436848B2 (en) Configurator for secure feature and key manager
CN106415571B (zh) 将资产安全地提供给目标设备的模块
CN101484901B (zh) 用于控制生产过程的系统和方法
EP2562956B1 (en) System and method for controlling features on a device
CN101571900B (zh) 一种软件版权保护方法、设备和系统
US20080270805A1 (en) Method for Protecting Intellectual Property Cores on Field Programmable Gate Array
CN109376504A (zh) 一种基于区块链技术的图片隐私保护方法
CN101223728A (zh) 用于远程器件注册的系统和方法
CN110050273A (zh) 利用系统产生的装置程序化
CN102222049A (zh) 自加密存储设备的可扩展管理
CN101595500B (zh) 分解的安全执行环境
CN101826219A (zh) 一种轨道交通票卡处理智能系统及数据加密审计方法
JPH10312277A (ja) ソフトウェア配給方法
KR20080033267A (ko) 원격 기기 등록 시스템 및 방법
CN116206376A (zh) 一种信息保护方法、系统、装置、终端、存储介质
KR20120075582A (ko) 임베디드 방식을 기반으로 한 임대형 서버 관리시스템과 관리방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant