CN101433013A - 用于将外部代码映像与芯片上私有密钥配对的方法和装置 - Google Patents
用于将外部代码映像与芯片上私有密钥配对的方法和装置 Download PDFInfo
- Publication number
- CN101433013A CN101433013A CN 200780012102 CN200780012102A CN101433013A CN 101433013 A CN101433013 A CN 101433013A CN 200780012102 CN200780012102 CN 200780012102 CN 200780012102 A CN200780012102 A CN 200780012102A CN 101433013 A CN101433013 A CN 101433013A
- Authority
- CN
- China
- Prior art keywords
- code
- key
- encrypted
- memory device
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
公开用于将外部代码映像与芯片上私有密钥配对的装置、系统和方法,包括接收代码映像和代码密钥并在将代码映像和代码密钥置于不安全存储设备中时加密代码映像和代码密钥的方法。还公开其它实现。
Description
背景技术
典型的计算平台利用引导代码来使系统启动。这种代码是恶意实体用来获得对这些系统的访问的尤其引入注目的途径,并且因此需要保护机制和/或方案来防止对引导代码或其映像的未经授权的访问。目前用来保护引导代码的方法依赖于物理限制,例如埋入进入或来自引导设备(例如,用于存储引导代码或引导代码映像的存储器设备)的信号层、对引导设备施加诸如胶的材料以防止物理访问、将设备之间的迹线长度减至最小等。通常,以根植于引导代码本身中的软件信任链的形式来提供额外保护。但是,如果引导代码本身可以被访问或可以用恶意引导代码替换,则源于引导代码的软件信任链会受损。
附图说明
并入本说明书并构成本说明书的一部分的附图示出与本发明的原理一致的一个或多个实现,这些附图与本发明的描述一起说明这些实现。不应将附图视为是将本发明限于本文所示的特定实现,附图既不一定按比例绘制,也不应将它们视为是穷举的,重点是放在说明本发明的原理上。图中:
图1是示出根据本发明的一些实现的系统的框图;
图2是示出根据本发明的一些实现的与图1中的系统的一些部分类似的系统的框图;以及
图3-6是示出根据本发明的一些实现的过程的流程图。
具体实施方式
以下描述参照附图。在各图中,可以使用相同的附图标记来标识相同或类似的元件。尽管以下描述通过阐述诸如特定结构、体系结构、接口、技术等具体细节提供了对要求权利的发明的各个方面的充分了解,但提供这些细节是出于说明的目的,而不应将其视为是限制性的。此外,根据本公开,本领域的技术人员将明白,在不偏离这些具体细节的其它实例或实现中也可以实现要求权利的发明的各个方面。在某些时刻,在以下公开中,省略了对熟知的设备、电路和方法的描述,以免用不必要的细节来混淆对本发明的描述。
图1示出根据本发明的一些实现的示范系统100。系统100包括耦合到显示器控制器104的媒体处理器102、密码模块106、存储介质107和通信路径108。系统100还包括耦合到路径108的存储器110(如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、诸如闪速存储器的非易失性存储器等)、耦合到控制器104的显示器112和耦合到路径108的输入/输出(I/O)控制器114。此外,系统100还包括耦合到I/O控制器114的无线发射器电路和无线接收器电路116以及耦合到电路116的天线118(如偶极子天线、窄带曲折线天线(MLA)、宽带MLA、反“F”天线、平面反“F”天线、Goubau天线、贴片天线等)。
根据本发明的实现,如下文将更详细地描述,系统100可以是适于密码处理密码密钥、数据或诸如引导代码或引导代码映像的软件指令的任何系统。此外,系统100可以呈现各种物理实现。例如,系统100可以在个人计算机(PC)、联网PC、服务器计算系统、手持式计算平台(如个人数字助理(PDA))、游戏系统(便携式或其它形式)、具有3D能力的蜂窝电话手持机等中实现。此外,尽管系统100的所有组件可以在诸如芯片上系统(SOC)集成电路(IC)的单个设备内实现,但系统100的组件也可以分布在多个IC或设备上。例如,媒体处理器102、模块106、存储设备107、路径108、存储器110、控制器114、电路116和天线118可以部分地作为包含在单个计算平台内的多个IC来实现,其中举例来说,计算平台如个人计算机(PC)或机顶盒(STB),而显示器控制器104可以在诸如耦合到媒体处理器102的显示器112的独立设备中实现。很明显,与本文描述的系统100的功能性一致的许多这样的排列变化也是可以的。
媒体处理器102可以包括一个(或多个)专用或通用处理器核,这个(或这些)处理器核包括能够处理音频和/或图像和/或视频数据并向显示器控制器104提供图像和/或视频数据的任何控制和/或处理器逻辑、硬件、软件和/或固件。处理器102还可以利用密码模块106来加密或解密密码密钥、数据和/或诸如引导代码的软件指令,并且可以向存储器110和/或存储设备107提供经加密或经解密的密钥、数据和/或诸如引导代码的软件指令,这将在下文更详细地说明。本领域的技术人员将意识到,处理器102还可包括用于控制对存储介质107和/或存储器110的访问的控制逻辑。此外,尽管图1中将密码模块106作为不同的设备示出,但本发明不局限于这方面,例如,密码模块106可以在媒体处理器102中实现。
处理器102还能够执行支持将外部代码映像与芯片上私有密钥配对的多个额外任务中的任何任务。例如,这些任务可以包括通过例如经由天线118、发射器和接收器电路116和I/O控制器114下载外部代码映像来从系统100外部的设备获得这些外部代码映像,但本发明不局限于这方面。本领域的技术人员将意识到,处理器102可以承担其它支持任务,例如初始化和/或配置模块106或控制器104内的寄存器、中断服务等。此外,尽管本发明不局限于这方面,但处理器102可以包括两个或两个以上处理器核。尽管可以将图1解释为将媒体处理器102和显示器控制器104作为不同的设备示出,但本发明不局限于这方面,并且本领域的技术人员将意识到,媒体处理器102和显示器控制器104以及系统100的可能的额外组件可以在单个IC内实现。
显示器控制器104可以包括能够将媒体处理器102提供的图形或图像数据变换为适于驱动显示器112的格式(即,显示器特有数据)的任何处理逻辑、硬件、软件和/或固件。例如,尽管本发明不局限于这方面,但处理器104可以向控制器104提供诸如压缩红绿蓝(RGB)像素格式的特定颜色格式的图形和/或图像和/或视频数据,并且控制器104可以通过生成例如对应的液晶显示器(LCD)驱动数据级等来处理该RGB数据。此外,本发明不限于特定类型的显示器112。因此,显示器112可以是任何类型的显示器,举例来说,如LCD显示器或电致发光(EL)显示器。
总线或通信路径108可以包括用于在系统100的任何元件之间或中间传送信息(如经加密的代码映像、密钥等)的任何机制。例如,尽管本发明不局限于这方面,但通信路径108可以包括能够向处理器102传送例如代码映像和代码密钥的多用总线。或者,路经108可以包括无线通信路径。
图2示出根据本发明的一些实现的与系统100的多个部分类似的系统200。系统200包括包含加密逻辑(EL)204和解密逻辑(DL)206的密码模块(CM)202、用于存储至少一个私有密钥209的一次可编程(OTP)存储器208、耦合到OTP存储器208和CM 202的密钥导出逻辑(KDL)210、耦合到CM 202的不安全存储设备212、耦合到CM 202的安全存储设备214、以及耦合到安全存储设备214和CM 202的处理器核216。根据本发明的实现,如下文更详细地描述,系统200可以是适于密码处理密钥、数据或诸如引导代码或引导代码映像的软件指令的任何系统。
如同系统100,系统200可以呈现各种物理实现。尽管系统200的所有组件可以在诸如芯片上系统(SOC)集成电路(IC)的单个设备内实现,但系统200的组件也可以分布在多个IC或设备上。此外,根据本发明的实现,如下文更详细地说明,处理器核216可以包括任何的专用或通用处理器核,这个(或这些)处理器核包括能够支持将外部代码映像与芯片上私有密钥配对的任何控制和/或处理逻辑、硬件、软件和/或固件。
根据本发明的实现,如下文更详细地说明,CM 202可以包括能够将外部代码映像与私有密钥配对的任何处理逻辑、硬件、软件和/或固件。CM 202可以从系统200外部的设备接收一个或多个代码映像(如CodeA、CodeB等)和关联的加密密钥(如KA、KB等)。CM202还可以从OTP存储器208接收私有密钥209。此外,CM 202可以从导出逻辑210接收一个或多个密钥,那些密钥是在导出逻辑210中从私有密钥209导出的。
然后,CM 202可以利用EL 204来用关联的代码密钥加密每个代码映像,并将所得经加密的代码映像存储在不安全存储设备212中。CM 202还可以利用EL 204和诸如私有密钥209或由导出逻辑210提供的导出密钥的加密密钥来加密每个代码密钥,然后可以将经加密的代码密钥与关联的经加密的代码映像一起存储在不安全存储设备212中。CM 202还可以使用DL 206来解密从不安全存储设备212检索的经加密的代码密钥,利用经解密的代码密钥来解密关联的经加密的代码映像,并将所得经解密或清楚的代码密钥和清楚的代码映像存储在安全存储设备214中。CM 202可以响应由处理器核216发出的命令而承担这些加密和解密任务。CM 202的功能性可以与图1中的CM106的功能性类似。
本发明不限于特定类型的代码密钥和/或由EL 204和DL 206实现的特定类型的密码过程。因此,例如,本领域的技术人员将意识到,提供给系统200的与代码映像关联的代码密钥取决于EL204用来用代码密钥加密代码映像的加密过程的类型。因此,例如,代码密钥可以与诸如Rivest、Shamir和Adelman(RSA)数字签名算法(DSA)的熟知的公共密钥基础设施(PKI)技术一致。或者,代码密钥可以是与其它密码方案一致的密钥,举例来说,如对称密钥或随机唯一密钥。
不安全存储设备212可以是例如用户可访问的任何存储部件。换句话说,存储设备212的内容可以由系统200的用户以常规方式进行访问。例如,举例来说,存储设备212可以是固定的非易失性存储器设备(如闪速存储器、硬盘驱动器等)、或可拆卸的非易失性存储器设备(例如,包含闪速存储器的存储卡等)。因此,例如,存储设备212可以是在与包括CM 202和/或处理器核216的半导体衬底不同的半导体衬底中形成的芯片外存储器。
相比之下,安全存储设备214可以是用户不可访问的任何存储部件。换句话说,存储设备214的内容不可由系统200的用户以常规方式进行访问。例如,存储设备214可以是与CM 202和/或处理器核216形成在相同的半导体衬底中的芯片上或高速缓存存储器。或者,又如,存储设备214可以包括在独立的半导体衬底上形成并通过高速系统总线耦合到处理器核216的系统存储器,如双倍数据速率(DDR)随机存取存储器(RAM)。此外,尽管图2示出保存在OTP 208中的私有密钥209,但本发明不局限于这方面,并且本领域的技术人员将意识到,私有密钥209可以用诸如多硅熔丝、只读存储器(ROM)或逻辑门等其它部件来安全地保存。
图3是示出根据本发明的一些实现的、用于将外部代码映像与芯片上私有密钥配对的过程300的流程图。尽管为便于说明,可以关于图1中的系统100和/或图2中的系统200描述过程300,但本发明不局限于这方面,根据要求权利的发明、受合适设备支持的其它过程或方案也是可以的。尽管下文利用代码映像的实例来论述过程300和相关过程,但本发明不局限于这方面,而是预期术语“代码映像”将涵盖任何机密的或其它形式的信息,而不管是可执行代码还是不可执行数据。因此,举例来说,术语代码映像一般涵盖机密的或其它形式的代码映像、引导代码映像、一个或多个密钥、或数据。
过程300可以从提供代码映像[动作302]开始。在本发明的一些实现中,动作302可以由用于经由天线118接收引导代码映像(如CodeA)的无线接收器116和用于将该引导代码映像传送给位于媒体处理器102内的CM 202的EL 204的I/O控制器114来进行。但是,动作302不限于引导代码映像或以无线方式获得代码映像,并且因此,动作302可以包括利用通过例如I/O控制器114耦合到系统100的其它设备(未示出)来提供代码映像。过程300可以继续,提供代码密钥[动作304]。动作304可以直接沿与上文关于动作302论述的线路相同的线路进行。
过程300可以继续,加密代码映像[动作306]。在本发明的一些实现中,EL204可以利用在动作304中提供的代码密钥(如KA)来加密代码映像。例如,EL 204可以采用诸如高级加密标准(AES)算法的熟知密码技术来进行动作306。但是,如上所述,本发明不限于EL204在进行动作306或本文描述的任何加密和/或解密动作时采用的任何特定的加密技术。接着,过程300可以继续,将经加密的代码映像置于不安全存储设备中[动作308]。进行动作308的一个方法是让CM202来将经加密的代码映像(如eCodeA(KA))置于存储设备212中。
过程300可以继续,提供加密密钥[动作310]。在本发明的一些实现中,可以通过让CM 202从OTP 208获得私有密钥209并采用该密钥作为加密密钥来进行动作308。或者,KDL 210和EL 204可以通过从OTP 208获得私有密钥209并利用私有密钥209作为根密钥来导出加密密钥而进行动作310。
图4是示出根据过程300的动作310的一些实现来提供加密密钥的过程400的流程图。尽管为便于说明,可以关于图1中的系统100和/或图2中的系统200来描述过程400,但本发明不局限于这方面,根据要求权利的发明、受合适设备支持的其它过程或方案也是可以的。
过程400可以从提供主密钥[动作402]开始。在本发明的一些实现中,KDL 210可以通过利用熟知的PKI技术导出主密钥并将该主密钥提供给CM 202来进行动作402。本领域的技术人员将意识到,本发明不限于诸如KDL 210的密钥导出的硬件实现,而是还预期可以利用例如用于导出诸如动作402或类似动作的主密钥的密钥的外部软件应用来导出密钥。然后,过程400可以继续,提供私有密钥[动作404]。在本发明的一些实现中,可以通过让CM 202从OTP 208获得私有密钥209来进行动作404。
过程400可以继续,加密主密钥[动作406]并存储所得经加密的主密钥[动作407]。在本发明的一些实现中,可以通过EL 204利用熟知的加密技术和在动作404中提供的私有密钥来进行动作406,而可以通过CM 202将经加密的主密钥提供给不安全存储设备212来进行动作407。然后,过程400可以继续,提供平台密钥[动作408]并利用主密钥来加密平台密钥[动作410]。可以采用分别与上文描述的动作404和406相同的方式进行动作408和410。可以将动作410的结果(即,经加密的平台密钥)存储[动作412]在例如不安全存储设备212中。动作408中提供的平台密钥可以用作在过程300的动310中提供的加密密钥。
尽管过程400描绘了主密钥和平台密钥这两个密钥的使用,但本发明既不限于过程400中所采用的特定密钥类型,本发明也不限于使用过程400中的两个密钥。因此,例如,与过程400类似的过程中可以采用额外密钥。
返回到图3,过程300接着可以继续,利用在动作310中提供的加密密钥来加密代码密钥[动作312]。再次地,在本发明的一些实现中,可以通过EL 204利用熟知的加密技术来用动作310中提供的加密密钥来加密代码密钥而进行动作312。接着,过程300可以通过将经加密的代码密钥(如eKA)置于不安全存储设备中[动作314]而结束。进行动作314的一个方法是让CM 202将经加密的代码密钥与在动作306中用代码密钥加密的对应代码映像关联地置于存储设备212中。
根据本发明的一些实现,过程300可以进行两次或两次以上,以便导致将两个或两个以上经加密的代码映像(如eCodeA(KA)、eCodeB(KB)等)及关联的经加密的代码密钥(如eKA、eKB等)置于不安全存储设备(如存储设备212)中。此外,每个代码密钥的加密可以利用对于每个代码密钥来说唯一的不同平台密钥来进行。
图5是示出根据本发明的一些实现用于将外部代码映像与芯片上私有密钥配对的过程500的流程图。尽管为便于说明,可以关于图1中的系统100和/或图2中的系统200来描述过程500,但本发明不局限于这方面,根据要求权利的发明、受合适设备支持的其它过程或方案也是可以的。
过程500可以从提供经加密的代码密钥[动作502]开始。在本发明的一些实现中,可以通过让CM 202响应来自处理器核216的一个或多个命令而从不安全存储设备212获得经加密的代码密钥(如eKA)来进行动作502,其中例如CM 202已经在动作314中将该经加密的代码密钥置于存储设备212中。接着,过程500可以继续,提供解密密钥[动作504]。在本发明的一些实现中,可以通过让CM 202从OTP208获得私有密钥209并采用私有密钥209作为解密密钥来进行动作504。或者,KDL 210和EL 204可以通过从OTP 208获得私有密钥209并利用私有密钥209作为根密钥来导出解密密钥而进行动作504。
图6是示出根据过程500的动作504的一些实现来提供解密密钥的过程600的流程图。尽管为便于说明,可以关于图1中的系统100和/或图2中的系统200来描述过程600,但本发明不局限于这方面,根据要求权利的发明、受合适设备支持的其它过程或方案也是可以的。
过程600可以从提供经加密的主密钥[动作602]开始。在本发明的一些实现中,CM 202可以通过从不安全存储设备212获得经加密的主密钥来进行动作602。接着,过程600可以继续,提供私有密钥[动作604]。在本发明的一些实现中,可以通过让CM 202从OTP 208获得私有密钥209来进行动作604。
过程600可以继续,解密经加密的主密钥[动作606]。在本发明的一些实现中,可以通过DL 206利用熟知的解密技术和在动作604中提供的私有密钥来进行动作606。接着,过程600可以继续,提供经加密的平台密钥[动作608]并利用从动作606得出的经解密的主密钥来解密经加密的平台密钥[动作610]。动作608和610可以采用分别与上文描述的动作604和606相同的方式进行。接着,可以将动作610的结果(即,经解密的平台密钥)用作在过程500的动作504中提供的解密密钥。
返回到图5,过程500接着可以继续,利用在动作504中提供的解密密钥来解密经加密的代码密钥[动作506]。根据本发明的一些实现,可以通过DL 206利用熟知的解密技术来用动作504中提供的解密密钥来解密经加密的代码密钥而进行动作506。接着,过程500可以继续,将经解密的代码密钥置于安全存储设备中[动作510]。进行动作510的一个方法是让CM 202将经解密或清楚的代码密钥(如KA)置于存储设备214中。
接着,过程500可以继续,提供经加密的代码映像[动作508]。在本发明的一些实现中,可以通过CM 202从不安全存储设备212获得经加密的代码映像(如eCodeA(KA))来进行动作508,其中该经加密的代码映像与在动作502中获得的经加密的代码密钥(如eKA)关联。接着,可以利用从动作506导出的关联的经解密的代码密钥来解密[动作512]经加密的代码映像。在本发明的一些实现中,可以通过DL 206利用熟知的解密技术来利用关联的经解密的代码密钥(如KA)解密经加密的代码映像(如eCodeA(KA))而进行动作512。接着,过程500可以通过将经解密的代码映像置于安全存储设备中[动作514]而结束。进行动作514的一个方法是让CM 202将经解密或清楚的代码映像(如CodeA)置于存储设备214中。
根据本发明的一些实现,过程500可以进行两次或两次以上,以便导致将两个或两个以上经解密或清楚的代码映像(如eCodeA、eCodeB等)及关联的经解密的代码密钥(如KA、KB等)置于安全存储设备(如存储设备214)中。
根据本发明的一些实现,系统100/200和/或过程300-600支持目的地特定的(即,其中目的地是不安全存储设备对安全存储设备)的硬件加密和解密功能,其中那些加密和解密硬件功能允许将外部设备(例如,提供代码映像的外部设备)的内容与包含私有密钥的IC芯片配对。具体来说,那些加密和解密硬件功能允许在安全引导应用中或在芯片外存储其它私有密钥时将多个引导代码映像配对。因此,根据本发明的一些实现,具有对包含私有密钥的芯片的访问权的主机应用可以向硬件功能发出命令以便加密已知代码密钥(其中该代码密钥已用于保护(即,加密或签名)代码映像),并将经加密的代码密钥与经加密的代码映像一起置于不安全存储设备中。然后,主机应用可以向硬件功能发出第二命令以便解密经加密的代码密钥并使用恢复的代码密钥来访问(即,解密)代码映像。以此方式,只有具有用于创建经加密的代码密钥的私有密钥的设备或系统才可恢复代码密钥并访问代码映像。
此外,根据本发明的一些实现,因为代码映像受到外部提供的代码密钥的保护,所以可以利用不同的独立代码密钥来创建任意数量的独立保护的代码映像。以此方式,来自不同外部源的应用代码同样可以配对到保存私有密钥的设备或系统。此外,当私有密钥是共享秘密时,共享秘密的拥有者可以利用等效的加密函数来创建经加密的代码密钥,而无需实际的设备或系统(如系统100或200)。因此,根据本发明的一些实现,可以在现场应用代码映像更新,并且可以在制造时完成初始引导代码编程,而不必向设备或系统客户揭露私有密钥,也不必在编程映像之前在设备或系统上运行特殊应用。
如图3-6所示的动作无需按照所示顺序来实现;也不一定要执行所有这些动作。并且,那些与其它动作无关的动作可以与那些其它动作并行执行。例如,当处理各自具有唯一主密钥和/或平台密钥的多个代码映像时,过程300、400、500和/或600中的动作可以并行进行。此外,一些动作可以在其它动作之前进行。例如,过程300的动作310可以在动作302-308之前进行。此外,该图中的至少一些动作可以作为在机器可读介质中实现的指令、或指令组来实现。
尽管以上对与要求权利的发明一致的一个或多个实例的描述提供了对本发明的说明和描述,但不希望它是穷举的或将本发明的范围限于所公开的特定实现。很明显,根据以上教导,修改和改变是可以的,或者可以从本发明的各种实现的实践中获得修改和改变。例如,过程300和500中处理的代码映像可以是任何任意的“秘密”数据(如一组加密密钥)或其它数据(如算法参数)。很明显,可以采用与要求权利的发明一致的许多其它实现来使得能够将外部代码映像与芯片上私有密钥配对(match)。
除非明确描述,否则不应将本发明的描述中阐述的任何设备、元件、动作、数据类型、指令等视为是对于本发明关键或基本的。并且,本文所用的冠词“一/一个”用于包含一个或多个项。此外,当本文或随附权利要求中使用诸如“耦合”或“响应”或“与...通信”的术语或短语时,这些术语应广义地理解。例如,在使用该短语的上下文合适时,短语“耦合到”可以指以通信方式、电方式和/或在操作上耦合。在基本不偏离本发明的精神和原理的情况下,可以对要求权利的发明的如上所述的实现做出改变和修改。所有这些修改和改变都用来包含在本公开的范围内并受随附权利要求的保护。
Claims (24)
1.一种方法,包括:
接收代码映像和代码密钥;以及
在将所述代码映像和所述代码密钥置于不安全存储设备中之前,加密所述代码映像和所述代码密钥。
2.如权利要求1所述的方法,其中不安全存储设备包括用户可访问的存储设备。
3.如权利要求1所述的方法,其中在将所述代码映像和所述代码密钥置于不安全存储设备中时加密所述代码映像和所述代码密钥包括:
用所述代码密钥加密所述代码映像;以及
用第一密钥加密所述代码密钥。
4.如权利要求3所述的方法,其中用第一密钥加密所述代码密钥包括:
用私有密钥加密第二密钥;
用所述第二密钥加密所述第一密钥;以及
用所述第一密钥加密所述代码密钥。
5.如权利要求1所述的方法,还包括:
在将所述代码映像和所述代码密钥置于安全存储设备中之前,解密所述经加密的代码映像和所述经加密的代码密钥。
6.如权利要求5所述的方法,其中安全存储设备包括用户不可访问的存储设备。
7.如权利要求5所述的方法,其中在将所述代码映像和所述代码密钥置于安全存储设备中时解密所述代码映像和所述代码密钥包括:
用第一密钥解密所述代码密钥;以及
用所述代码密钥解密所述代码映像。
8.如权利要求7所述的方法,其中利用第一密钥解密所述代码密钥包括:
用私有密钥解密第二密钥;
用所述第二密钥解密所述第一密钥;以及
用第一密钥解密所述代码密钥。
9.如权利要求1所述的方法,其中所述代码映像包括代码映像、引导代码映像、密钥或数据之一。
10.如权利要求1所述的方法,还包括:
接收另一个代码映像和另一个代码密钥;以及
在将所述另一个代码映像和所述另一个代码密钥置于不安全存储设备中时加密所述另一个代码映像和所述另一个代码密钥。
11.一种装置,包括:
用户可访问的存储设备;
用户不可访问的存储设备;
加密逻辑,用于在将第一代码映像和第一代码密钥置于所述用户可访问的存储设备中时加密所述第一代码映像和所述第一代码密钥,以便提供经加密的第一代码映像和经加密的第一代码密钥;以及
解密逻辑,用于在将所述第一代码映像和所述第一代码密钥置于所述用户不可访问的存储设备中时解密所述经加密的第一代码映像和所述经加密的第一代码密钥。
12.如权利要求11所述的装置,还包括:
用于保存私有密钥的存储器,
其中所述加密逻辑至少能够用所述私有密钥来加密所述第一代码密钥。
13.如权利要求11所述的装置,还包括:
用于保存私有密钥的存储器;以及
至少能够从所述私有密钥导出加密密钥的密钥导出逻辑,其中所述加密逻辑至少能够用所述加密密钥来加密所述第一代码密钥。
14.如权利要求11所述的装置,其中所述用户不可访问的存储设备包括与所述加密逻辑形成在相同的半导体衬底中的存储器、或通过系统总线耦合到所述加密逻辑的存储器之一。
15.如权利要求11所述的装置,其中所述加密逻辑至少还能够在将第二代码映像和第二代码密钥置于所述用户可访问的存储设备中时加密所述第二代码映像和所述第二代码密钥以便提供经加密的第二代码映像和经加密的第二代码密钥,并且所述解密逻辑至少还能够在将所述第二代码映像和所述第二代码密钥置于所述用户不可访问的存储设备中时解密所述经加密的第二代码映像和所述经加密的第二代码密钥。
16.如权利要求11所述的装置,其中所述用户可访问的存储设备包括固定的非易失性存储器设备或可拆卸的非易失性存储器设备之一。
17.如权利要求11所述的装置,其中所述代码映像包括代码映像、引导代码映像、密钥或数据之一。
18.一种系统,包括:
用户可访问的存储设备;
用户不可访问的存储设备;
加密逻辑,至少能够在将第一代码映像和第一代码密钥置于所述用户可访问的存储设备中时加密所述第一代码映像和所述第一代码密钥,以便提供经加密的第一代码映像和经加密的第一代码密钥;
解密逻辑,至少能够在将所述第一代码映像和所述第一代码密钥置于所述用户不可访问的存储设备中时解密所述经加密的第一代码映像和所述经加密的第一代码密钥;以及
耦合到所述加密逻辑的无线接收器电路,所述接收器电路至少能够接收所述第一代码映像和所述第一代码密钥。
19.如权利要求18所述的系统,还包括:
用于保存私有密钥的存储器,
其中所述加密逻辑至少能够用所述私有密钥来加密所述第一代码密钥。
20.如权利要求18所述的系统,还包括:
用于保存私有密钥的存储器;以及
至少能够从所述私有密钥导出加密密钥的密钥导出逻辑,其中所述加密逻辑至少能够用所述加密密钥来加密所述第一代码密钥。
21.如权利要求18所述的系统,其中所述用户不可访问的存储设备包括与所述加密逻辑形成在相同的半导体衬底中的存储器、或通过系统总线耦合到所述加密逻辑的存储器之一。
22.如权利要求18所述的系统,其中所述加密逻辑至少还能够在将第二代码映像和第二代码密钥置于所述用户可访问的存储设备中时加密所述第二代码映像和所述第二代码密钥以便提供经加密的第二代码映像和经加密的第二代码密钥,并且所述解密逻辑至少还能够在将所述第二代码映像和所述第二代码密钥置于所述用户不可访问的存储设备中时解密所述经加密的第二代码映像和所述经加密的第二代码密钥。
23.如权利要求18所述的系统,其中所述用户可访问的存储设备包括固定的非易失性存储器设备或可拆卸的非易失性存储器设备之一。
24.如权利要求18所述的系统,其中所述代码映像包括代码映像、引导代码映像、密钥或数据之一。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40076606A | 2006-04-07 | 2006-04-07 | |
US11/400,766 | 2006-04-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101433013A true CN101433013A (zh) | 2009-05-13 |
Family
ID=38581433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200780012102 Pending CN101433013A (zh) | 2006-04-07 | 2007-03-19 | 用于将外部代码映像与芯片上私有密钥配对的方法和装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2005642A4 (zh) |
JP (1) | JP2009525556A (zh) |
CN (1) | CN101433013A (zh) |
WO (1) | WO2007117879A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113330438A (zh) * | 2019-01-30 | 2021-08-31 | 惠普发展公司,有限责任合伙企业 | 安全代码映像分发 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090285390A1 (en) * | 2008-05-16 | 2009-11-19 | Ati Technologies Ulc | Integrated circuit with secured software image and method therefor |
WO2016088273A1 (ja) * | 2014-12-05 | 2016-06-09 | 富士通株式会社 | セキュリティ装置および制御方法 |
CN105046138A (zh) * | 2015-07-13 | 2015-11-11 | 山东超越数控电子有限公司 | 一种基于飞腾处理器的可信管理系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003303882A1 (en) * | 2003-02-03 | 2004-08-30 | Nokia Corporation | Architecture for encrypted application installation |
KR20040097717A (ko) * | 2003-05-13 | 2004-11-18 | 펜타시큐리티시스템 주식회사 | 세션키 전송 방법 및 시스템 |
JP4691337B2 (ja) * | 2003-08-26 | 2011-06-01 | パナソニック株式会社 | プログラム実行装置、認証局装置 |
US7734932B2 (en) * | 2003-11-10 | 2010-06-08 | Broadcom Corporation | System and method for securing executable code |
JP2005227995A (ja) * | 2004-02-12 | 2005-08-25 | Sony Corp | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
EP2267624B1 (en) * | 2004-04-19 | 2017-07-12 | Lumension Security S.A. | A generic framework for runtime interception and execution control of interpreted languages |
KR100617456B1 (ko) * | 2004-04-28 | 2006-08-31 | 주식회사 니츠 | 비밀키 관리 기능을 가지는 비밀키 단말장치 및 비밀키관리방법 |
-
2007
- 2007-03-19 JP JP2008553557A patent/JP2009525556A/ja active Pending
- 2007-03-19 WO PCT/US2007/064321 patent/WO2007117879A1/en active Application Filing
- 2007-03-19 EP EP07758833A patent/EP2005642A4/en not_active Withdrawn
- 2007-03-19 CN CN 200780012102 patent/CN101433013A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113330438A (zh) * | 2019-01-30 | 2021-08-31 | 惠普发展公司,有限责任合伙企业 | 安全代码映像分发 |
Also Published As
Publication number | Publication date |
---|---|
EP2005642A1 (en) | 2008-12-24 |
EP2005642A4 (en) | 2011-12-21 |
JP2009525556A (ja) | 2009-07-09 |
WO2007117879A1 (en) | 2007-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101569133B (zh) | 使用共同的第一级加密密钥来保护独立的供应商加密密钥 | |
US8406735B2 (en) | Method for pairing electronic equipment in a wireless network system | |
KR101460811B1 (ko) | 보안 시스템을 위한 바이-프로세서 아키텍처 | |
CN1808966B (zh) | 安全数据处理方法及其系统 | |
US9094191B2 (en) | Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks | |
CN101454783B (zh) | 用于芯片上系统器件中数据通路安全的系统和方法 | |
TWI467944B (zh) | 提供加密通訊的方法、nfc通訊裝置、及用於加密通訊的系統 | |
KR101317496B1 (ko) | 전송 데이터를 보호하기 위한 방법 및 이 방법을 구현하기 위한 보안 시스템 | |
EP2654238B1 (en) | Secure quantum authentication system | |
CN107113162B (zh) | 用于同态加密的多值打包方案的系统和方法 | |
US20130016832A1 (en) | Security device | |
US20080084995A1 (en) | Method and system for variable and changing keys in a code encryption system | |
CN103152164A (zh) | 密码电路及其方法 | |
CN101416438A (zh) | 多数据流的控制字密钥储存装置 | |
US20160308669A1 (en) | Method and System for Real Time Data Protection with Private Key and Algorithm for Transmission and Storage | |
JP2009532983A (ja) | 共通プライベートキーセットを利用した複数のキーラダーのサポート | |
CN101433013A (zh) | 用于将外部代码映像与芯片上私有密钥配对的方法和装置 | |
CN102377563B (zh) | 加密数据流的方法及设备 | |
CN104854598B (zh) | 嵌入在线缆中的有源组件 | |
US9154481B1 (en) | Decryption of a protected resource on a cryptographic device using wireless communication | |
KR20210021282A (ko) | 원격 보안 터미널 | |
US20150043731A1 (en) | Data protection method and apparatus | |
US10057054B2 (en) | Method and system for remotely keyed encrypting/decrypting data with prior checking a token | |
US20210406411A1 (en) | Bus encryption for non-volatile memories | |
CN101437145B (zh) | 一种层次化密钥安全管理方法、装置和加解密装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090513 |