安全引导定序器和安全引导设备制造技术

技术编号:18444791 阅读:23 留言:0更新日期:2018-07-14 10:19
一种执行半导体系统的安全引导操作的安全引导设备包括:外部存储器接口,提供与外部存储器的接口;第一内部存储器,存储外部存储器中所存储的引导映像;第二内部存储器,存储第一公钥的散列;安全加速器,使用第一公钥的散列来验证引导映像;以及安全引导定序器,包括多个状态和多个操作,并且当多个状态中的两个状态之间发生状态转变时,使用多个操作中的至少一个操作来控制外部存储器接口、第一内部存储器、第二内部存储器和安全加速器。

Secure boot sequencer and security boot device

A security guide device that performs a secure boot operation of a semiconductor system, including an external memory interface, an interface with an external memory; an internal memory, storage of a boot image stored in an external memory; second internal memory, a hash of the first public key; a safety accelerator, first used. The hash of the public key is used to verify the boot image; and the security boot sequencer, including multiple states and multiple operations, and at least one operation in multiple operations to control the external memory interface, the first internal memory, the second internal memory, and the more than one state and multiple operations between the two States of the multiple states. Safety accelerator.

【技术实现步骤摘要】
安全引导定序器和安全引导设备相关申请的交叉引用本申请根据35USC§119要求于2017年1月5日在韩国知识产权局(KIPO)递交的韩国专利申请No.10-2017-0002028的优先权和权益,其全部内容通过引用方式合并于此。
示例性实施例涉及一种半导体系统的引导设备。更具体地,本专利技术构思的实施例涉及一种执行半导体系统的安全引导的安全(或安全性)引导定序器以及包括安全引导定序器的安全引导设备。
技术介绍
半导体系统执行引导映像以初始化内部设备,并且执行加载操作系统(OS)的引导操作。为了防止篡改引导映像或执行未经认证的引导映像或由于外部攻击引起的异常引导,半导体系统执行安全引导操作。例如,半导体系统可以使用片上系统(SOC)中所包括的处理器来验证引导映像,并且可以在验证成功时执行引导操作。这里,由于安全引导操作是由处理器计算的任务执行的,因此可能需要过量的计算机时间或过高的处理器的安全性。此外,随着物联网(IoT)技术的发展,用于控制IoT设备的半导体系统的用途也在增加。因此,因为IoT设备的故障可以导致用户受伤或死亡,因此半导体系统需要更高的安全级别。此外,需要缩小半导体系统的大小,以包括或插入到IoT设备中。
技术实现思路
一些示例性实施例提供了可以为半导体系统提供更高安全级别的安全引导设备。一些示例性实施例提供了一种可以使得能够或者促进缩小半导体系统的大小的安全引导定序器。根据示例性实施例,一种安全引导设备包括:外部存储器接口,提供与外部存储器的接口;第一内部存储器,存储外部存储器中所存储的引导映像;第二内部存储器,存储第一公钥的散列;安全加速器,使用第一公钥的散列来验证引导映像;以及安全引导定序器,包括多个状态和多个操作,并且当多个状态中的两个状态之间发生状态转变时,基于多个操作中的至少一个操作来控制外部存储器接口、第一内部存储器、第二内部存储器和安全加速器。根据其它示例性实施例,安全引导定序器经由总线与外部存储器接口和安全加速器连接。安全引导定序器包括:外部存储器接口功能块、安全加速器接口功能块、以及总线接口功能块,其中外部存储器接口功能块使用外部存储器接口与外部存储器接口连接,安全加速器接口功能块顺序地操作安全加速器,总线接口功能块控制外部存储器接口功能块经由总线与安全加速器接口功能块接口连接。外部存储器接口功能块、安全加速器接口功能块和总线接口功能块中的每一个都是由有限状态机实现的。根据其它示例性实施例,一种执行安全引导设备的安全引导的方法包括:当向安全引导设备供应电力时或当重置安全引导设备时,将引导映像从外部存储器复制到安全引导设备的第一内部存储器。引导映像包括命令代码、公钥以及通过使用与引导映像的公钥配对的私钥对命令代码的散列值进行加密而生成的签名信息。该方法还包括:验证该引导映像是基于安全引导设备的第二内部存储器中所存储的公钥的散列,验证命令代码的完整性;以及当引导映像的验证成功并且命令代码的完整性已经被认证时,通过向处理器提供引导映像的命令代码来操作处理器。因此,根据示例性实施例,安全引导设备可以通过包括由有限状态机或硬件而不是处理器实现的安全引导定序器来去除对处理器的安全威胁。此外,根据示例性实施例,安全引导定序器可以通过不包括改变处理器的操作频率的锁相环(PLL)来使得能够缩小半导体系统的大小。附图说明图1是示出了根据示例性实施例的安全引导设备的框图。图2示出了用于图1的安全引导设备的引导映像的示例。图3示出了图1的安全引导设备中所包括的安全引导定序器的操作的示例。图4示出了图1的安全引导设备中所包括的安全引导定序器的示例。图5示出了图4的安全引导定序器的示例。图6是执行图1的安全引导设备的安全引导的方法的流程图。图7A和图7B示出了可以并入图1的安全引导设备的电子设备的示例。具体实施方式在下文中,将参考附图详细说明本专利技术构思的实施例。图1是示出了根据示例性实施例的安全引导设备的框图,并且图2示出了用于图1的安全引导设备的引导映像的示例。参考图1和图2,根据实施例的半导体系统10包括外部存储器11、处理器12、硬件设备13和安全引导设备100。根据实施例,外部存储器11包括引导映像200。外部存储器11可以由NAND闪存、嵌入式多媒体卡(eMMC)或通用闪存(UFS)来实现。根据实施例,引导映像200包括引导半导体系统10所需的命令代码CODE、公钥PBK以及签名信息SIG。命令代码CODE是启动半导体系统10的操作系统(OS)的程序。公钥PBK用于非对称密码系统。公钥PBK与签名的签名者的私钥或密钥配对。公钥PBK由认证机构提供。签名信息SIG是通过对如下值进行加密而生成的值,所述值是通过使用签名者的私钥对命令代码CODE进行散列而生成的。根据实施例,安全引导设备100验证引导映像200,以执行半导体系统10的安全引导。例如,安全引导设备100可以使用引导映像200中所包括的公钥PBK来验证签名信息SIG或者命令代码CODE的完整性。根据实施例,安全引导设备100包括外部存储器接口110、第一内部存储器120、第二内部存储器130、安全加速器140以及安全引导定序器或硬件150。外部存储器接口110、第一内部存储器120、安全加速器140和安全引导定序器150可以经由总线彼此连接。第二内部存储器130通过安全引导定序器150连接到总线。外部存储器接口110提供总线与外部存储器11之间的接口。根据实施例,第一内部存储器120存储使用外部存储器接口110和总线从外部存储器11提供的引导映像200。第一内部存储器120可以由随机存取存储器(比如,静态随机存取存储器(SRAM)、嵌入式动态随机存取存储器(eDRAM)等)来实现。根据实施例,第二内部存储器130存储用于验证公钥PBK的公钥PBK的散列。这里,公钥PBK的散列是通过对公钥PBK进行散列而生成的值。也可以使用加密/散列算法(比如,高级加密标准(AES)、安全散列算法(SHA)、安全散列标准(SHS)等)来生成公钥PBK的散列。当制造安全引导设备100时,将公钥PBK的散列存储在第二内部存储器130中。由于第二内部存储器130存储公钥PBK的散列而不是公钥PBK本身,因此第二内部存储器130的大小可以小于存储公钥PBK的存储器的大小。根据实施例,第二内部存储器130可以由以下项实现:一次性可编程(OTP)存储器、掩模只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器存储器(EPROM)、电可擦除可编程存储器(EEPROM)、闪存等。根据实施例,安全加速器140是由用以执行安全操作的硬件设备实现的。安全加速器140对公钥PBK执行散列操作,对命令代码CODE执行散列操作,使用公钥PBK对签名信息SIG执行解密操作等。安全加速器140可以实现以下至少一项:128位/192位/256位AES、SHA-1/-2(即,安全散列算法)、Rivest、Shamir和Adleman(RSA)加密方法、椭圆曲线密码(ECC)运算、数据加密标准(DES)、3DES、RivestCipher4(RC4)、1024位/2048位/3072位模幂运算以及类似的安全算法。在一些示例性实施例中,安全加速器140由各自本文档来自技高网...

【技术保护点】
1.一种安全引导设备,用于执行半导体系统的安全引导操作,所述安全引导设备包括:外部存储器接口,提供与外部存储器的接口;第一内部存储器,存储所述外部存储器中所存储的引导映像;第二内部存储器,存储第一公钥的散列;安全加速器,使用所述第一公钥的散列来验证所述引导映像;以及安全引导定序器,包括多个状态和多个操作,并且当所述多个状态中的两个状态之间发生状态转变时,使用所述多个操作中的至少一个来控制所述外部存储器接口、所述第一内部存储器、所述第二内部存储器和所述安全加速器。

【技术特征摘要】
2017.01.05 KR 10-2017-00020281.一种安全引导设备,用于执行半导体系统的安全引导操作,所述安全引导设备包括:外部存储器接口,提供与外部存储器的接口;第一内部存储器,存储所述外部存储器中所存储的引导映像;第二内部存储器,存储第一公钥的散列;安全加速器,使用所述第一公钥的散列来验证所述引导映像;以及安全引导定序器,包括多个状态和多个操作,并且当所述多个状态中的两个状态之间发生状态转变时,使用所述多个操作中的至少一个来控制所述外部存储器接口、所述第一内部存储器、所述第二内部存储器和所述安全加速器。2.根据权利要求1所述的安全引导设备,其中,所述安全引导定序器包括:外部存储器接口功能块,提供与所述外部存储器的接口;安全加速器接口功能块,顺序地操作所述安全加速器;以及总线接口功能块,控制所述外部存储器接口功能块和所述安全加速器接口功能块经由总线彼此接口连接。3.根据权利要求2所述的安全引导设备,其中,所述外部存储器接口功能块、所述安全加速器接口功能块以及所述总线接口功能块中的每一个是由有限状态机实现的。4.根据权利要求2所述的安全引导设备,其中,所述外部存储器接口功能块包括第一外部存储器接口功能块和第二外部存储器接口功能块,其中所述第二外部存储器接口功能块是使用与所述第一外部存储器接口功能块的接口不同的接口来实现的;并且其中,所述外部存储器接口功能块基于第一模式设置信号选择所述第一外部存储器接口功能块和所述第二外部存储器接口功能块中的一个来作为选择的外部存储器接口功能块,并且所述外部存储器接口功能块使用所述选择的外部存储器接口功能块与所述外部存储器接口连接。5.根据权利要求2所述的安全引导设备,其中,所述安全加速器接口功能块包括第一安全加速器接口功能块和第二安全加速器接口功能块。6.根据权利要求5所述的安全引导设备,其中,所述安全加速器接口功能块基于第二模式设置信号选择所述第一安全加速器接口功能块和所述第二安全加速器接口功能块中的一个来作为选择的安全加速器接口功能块,并且所述安全加速器接口功能块使用所述选择的安全加速器接口功能块来操作所述安全加速器。7.根据权利要求5所述的安全引导设备,其中,所述安全加速器包括第一安全加速器和第二安全加速器,并且其中,所述安全加速器接口功能块使用所述第一安全加速器接口功能块来操作所述第一安全加速器,并且使用所述第二安全加速器接口功能块来操作所述第二安全加速器。8.根据权利要求2所述的安全引导设备,其中,当向所述半导体系统供应电力时,所述外部存储器接口功能块使用所述总线接口功能块将所述引导映像从所述外部存储器复制到所述第一内部存储器,并且当完全复制了所述引导映像时,所述安全加速器接口功能块使用所述总线接口功能块来操作所述安全加速器。9.根据权利要求8所述的安全引导设备,其中,所述引导映像包括命令代码、第二公钥和签名信息,并且所述安全加速器基于所述第一公钥的散列来验证所述第二公钥。10.根据权利要求9所述的安全引导设备,其中,当所述第二公钥的验证成功时,所述安全加速器基于所述引导映像的所述第二公钥和所述命令代码来验证所述签名信息。11.根据权利要求10所述的安全引导设备,其中,在所述签名信息的验证失败时,所述安全引导设备停止所述安全引导操...

【专利技术属性】
技术研发人员:金珍佑
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1