CN103069384A - 用从储存设备加载的操作系统代码安全地引导主机设备的主机设备和方法 - Google Patents

用从储存设备加载的操作系统代码安全地引导主机设备的主机设备和方法 Download PDF

Info

Publication number
CN103069384A
CN103069384A CN2011800389207A CN201180038920A CN103069384A CN 103069384 A CN103069384 A CN 103069384A CN 2011800389207 A CN2011800389207 A CN 2011800389207A CN 201180038920 A CN201180038920 A CN 201180038920A CN 103069384 A CN103069384 A CN 103069384A
Authority
CN
China
Prior art keywords
main process
process equipment
storage facilities
code
safety inspection
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
Application number
CN2011800389207A
Other languages
English (en)
Inventor
B.多尔格诺弗
R.厄尔哈米亚斯
E.科恩
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.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL Ltd
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 SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of CN103069384A publication Critical patent/CN103069384A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting 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 in cryptographic circuits
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Abstract

提供了用从储存设备加载的操作系统代码安全地引导主机设备的一种主机设备和方法。在一个实施例中,主机设备与储存设备通信,该储存设备具有储存引导加载程序代码的专用存储区域和储存操作系统代码的公用存储区域。主机设备指示储存设备发起引导模式并从储存设备接收引导加载程序代码。主机设备执行引导加载程序代码,该引导加载程序代码进行安全检查并仅在安全检查成功的情况下执行从储存设备加载的操作系统代码。

Description

用从储存设备加载的操作系统代码安全地引导主机设备的主机设备和方法
背景技术
在一些环境中,主机设备(诸如移动电话或其它设备)与存储用于该主机设备的操作系统代码以及引导加载程序代码的嵌入式或可移除的储存设备(诸如安全数码(SD)卡或多媒体卡(MMC))一起使用。为了引导主机设备,该主机设备指示储存设备发起引导模式,响应于此,储存设备向该主机设备提供引导加载程序代码。执行该引导加载程序代码使得主机设备能够从储存设备加载操作系统代码。在一些移动设备环境中,发起引导模式的指令不是主机设备会在其与储存设备的典型读取/写入通信中发送的标准命令。例如,在联合电子设备工程委员会(JEDEC)的JEDEC84-A44标准和在Micron的TN-29-18规范下,主机设备可通过将到储存设备的命令线保持为低达74个时钟周期或通过发送具有参数0xFFFFFFFA的CMD0命令来指示储存设备发起引导模式。
由于操作系统代码存储在储存设备上,因此有可能黑客可以在主机设备不知道的情况下更改操作系统代码而引入恶意软件。因此,在一些环境中,期望在由主机设备执行操作系统代码之前验证操作系统代码的完整性。为了进行这样的“安全引导”,主机设备的控制器可包括安全的只读存储器(ROM)代码或其它用以在执行操作系统代码之前验证操作系统代码的特征。然而,向控制器配备(provision)这样的验证增加了控制器的成本,并且最初未被制造有验证码的控制器通常不能在制造之后被改进为包括验证码。
发明内容
本发明的实施例由权利要求来限定,且本部分中的任何内容都不应被作为对那些权利要求的限制。
通过介绍,以下的实施例涉及一种主机设备和方法,其用于用从储存设备加载的操作系统代码安全地引导主机设备。在一个实施例中,主机设备与储存设备通信,该储存设备具有存储引导加载程序代码的专用存储区域和存储操作系统代码的公用存储区域。主机设备指示储存设备发起引导模式并从储存设备接收引导加载程序代码。主机设备执行引导加载程序代码,该引导加载程序代码进行安全检查并仅在安全检查成功的情况下执行从储存设备加载的操作系统代码。
其它的实施例是可能的,且每个实施例可被单独使用和组合在一起使用。因此,现在参照附图描述各个实施例。
附图说明
图1是实施例的示例性主机设备和储存设备的框图。
图2是主机设备和储存设备的框图,其图解地说明实施例的引导过程。
图3是说明实施例的主机设备和储存设备之间接口的框图。
图4是说明用于发起引导模式的实施例的指令的图。
图5是说明用于发起引导模式的另一实施例的指令的图。
图6是主机设备和储存设备的框图,其图解地说明涉及安全检查的实施例的引导过程。
图7是涉及安全检查的实施例的引导过程的流程图。
具体实施方式
大体而言,以下的实施例涉及用从储存设备加载的操作系统代码安全地引导主机设备的一种主机设备和方法。由以下所描述的实施例,储存设备中存储的引导加载程序代码被配置为不但使得主机设备能够加载操作系统代码,而且能够进行安全检查。以这种方式,引导加载程序使得主机设备能够仅在安全检查成功时才执行从储存设备加载的操作系统代码。该安全检查可以采取任何适合的形式。例如,该安全检查可以尝试验证操作系统代码的完整性来确保该操作系统代码没有被黑客更改以引入恶意软件。这提供了“安全引导”而没有与向主机设备控制器提供这样的功能相关联的支出和不灵活性。可进行的安全检查的其它例子包括但不限于,尝试认证主机设备的使用者(user),尝试认证主机设备以及尝试认证和主机设备一起使用的用户身份识别模块(SIM)卡。在注意力转到这些安全检查之前,以下的部分描述示例性主机和储存设备。
示例性主机和储存设备
下面注意力转到附图,图1是实施例的与储存设备100通信的主机设备50的框图。如这里所使用的,短语“与……通信”可以意味着与……直接通信或经过一个或多个组件与……间接通信,本文中该一个或多个组件可以或者可以不被示出或描述。主机设备50可以采取任何适合的形式,诸如但不限于移动电话、数字媒体播放器、游戏设备、个人数字助理(PDS)、个人计算机(PC)、电话亭、机顶盒、电视系统、图书阅读器或其任何组合。在该实施例中,储存设备100是大容量储存设备,其可采取任何适合的形式,诸如但不限于嵌入式存储器(例如,嵌入在主机设备50中的安全模块)以及手持、可移除的存储卡,以及通用串行总线(USB)设备和可移除或不可移除的硬盘驱动(例如,磁盘或固态驱动)。在一个实施例中,储存设备100采取Sandisk公司的iNANDTMeSD/eMMC嵌入式闪速驱动的形式。
如图1所示,储存设备100包括控制器110和存储器120。控制器110包括:用于与存储器120相接口的存储器接口111和用于与主机50相接口的主机接口112。控制器110还包括:中央处理单元(CPU)113、可操作以提供加密和/或解密操作的硬件密码引擎(crypto-engine)114、读取存取存储器(RAM)115、可存储用于储存设备100基本操作的固件的只读存储器(ROM)116、以及可存储用于加密/解密操作的设备特定的密钥的非易失性存储器(NVM)117。可以任何适合的方式实现控制器110。例如,控制器110可以采取微处理器或处理器或存储计算机可读的程序代码(例如软件或固件)的计算机可读介质的形式,该计算机可读程序代码可由例如(微)处理器、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器以及嵌入式微处理器执行。控制器的例子包括但不限于以下的微处理器:ARC625D、AtmelAT91SAM、Microchip PIC18F26K20和Silicon Labs C8051F320。
存储器120可以采取任何适合的形式。在一个实施例中,存储器120采取固态(例如闪速)存储器的形式,并且可以是一次性可编程的、少次数可编程的或多次可编程的。然而,可使用其它形式的存储器,诸如光学存储器和磁性存储器。在本实施例中,存储器120包括由主机50上的文件系统管理的公用存储区域125和由控制器110内部管理的专用存储区域135。专用存储区域135可以存储引导加载程序代码(如以下将描述的)以及其它数据,包括但不限于内容加密密钥(CEK)和固件(FW)代码。公用存储区域125可以存储用于主机设备50的操作系统代码(如以下将描述的)以及使用者数据和其它数据。公用存储区域125和专用存储区域135可以是相同的存储器单元的不同分区或可以是不同的存储器单元。专用存储区域135由于其由控制器110(且不由主机的控制器160)内部管理而是“专用的”(或“隐藏的”)。在一个实施例中,专用存储区域136在引导过程之后是只读或不可存取的,从而避免有人重写或修改引导加载程序代码。除了存储操作系统代码,公用存储区域125可用于存储使用者数据。此外,在一个实施例,操作系统代码存储在可重写的存储器中从而允许将更新写入到操作系统代码。
现在将注意力转向主机50,主机50包括控制器160,该控制器具有用于与储存设备100相接口的储存设备接口161。控制器160还包括中央处理单元(CPU)163、可操作以提供加密和/或解密操作的密码引擎164、读取存取存储器(RAM)165、只读存储器(ROM)166、安全模块171和储存器172。储存设备100和主机150经由储存设备接口161和主机接口112彼此通信。对于涉及数据安全传输的操作,优选地,储存设备100和主机150中的密码引擎114、164被用来彼此互相认证并提供密钥交换。在完成互相认证之后,优选地,使用会话密钥来建立用于储存设备150和主机100之间通信的安全通道。主机50可包括其它组件(例如、显示设备、扬声器、耳机插口、视频输出连接等),为了简化附图没有在图1中示出所述组件。
主机设备的引导过程的概述
将注意力转向附图,图2图解地说明实施例的引导过程。大体而言,主机设备的CPU163仅能执行存在于主机设备的ROM166或RAM165(图1)中的程序代码。当主机设备50首先加电时,其在ROM166或RAM165中不具有操作系统。然而,主机设备50的确具有存储在ROM166中的小程序,CPU163可执行该程序以向储存设备100发送指令来发起引导模式。响应于该指令,储存设备100向主机设备100发送引导加载程序代码以存储在主机设备的RAM165中并由主机设备的CPU163执行。将引导加载程序代码复制到主机设备的RAM165中用于执行的该过程有时被称作为“阴影化映像(shadowing the image)”。“引导加载程序代码”(有时被称作为引导加载程序映像、引导程序加载程序(bootstrap loader)或引导程序加载程序映像)是计算机可读程序代码,当执行时使得主机设备50能够从储存设备100的公用存储区域125读取操作系统代码并在此后执行该操作系统代码而由此引导主机设备50。
如上面所提到的,在该实施例中,引导加载程序代码存储在储存设备100的专用存储区域136中(优选地,以只读的方式从而确保引导加载程序代码的完整性而防止被篡改)。如上面还提到的,专用存储区域136不由主机设备50而由储存设备100内部管理。因此,至储存设备100的发起引导模式的指令不是从储存设备100中的地址读取的标准命令。这与发送逻辑地址零的标准读取命令以读取PC硬盘中存储的引导加载程序代码的一些个人计算机(PC)和其它环境形成对比。此外,向主机设备50发送引导加载程序代码是响应于从主机设备50接收到特殊指令以及处于引导模式中——不是如在一些PC环境中响应于从主机设备50读取逻辑地址的标准读取命令。
至储存设备100的发起引导模式的指令可以采取任何适合的形式。例如,联合电子设备工程委员会(JEDEC)的JESD84-A44标准和Micron的TN-29-18规范定义了多媒体卡(MMC)嵌入式存储器接口/协议,以用于主机设备直接从储存设备加载引导加载程序代码而无需发出读取/写入存储器命令(例如标准的多媒体卡命令)。JEDEC标准和Micron规范描述了在储存设备中发起引导模式的两种适合的指令。将结合图3-5讨论这些示例性指令。
图3是说明主机设备50和储存设备100之间接口的框图。如图3所示,本实施例中的接口具有时钟(CLK)线、一个或多个命令(CMD)线以及一个或多个数据(DAT)线,其可采取总线上的引脚形式。CLK线上的信号同步化主机设备50和储存设备100之间的数据。CMD线将命令从主机设备50传输到储存设备100,并将响应从储存设备100传输回主机设备50。DAT线被用来在储存设备100和主机设备50之间传输数据。
在一个实施例中(图4中所示),至储存设备100的发起引导模式的指令采取将CMD线保持为低达74个时钟周期的形式。储存设备100会将此识别为发起引导模式并开始在DAT线上向主机设备50发送第一引导数据的指令。主机设备50会保持该CMD线为低以读取所有的引导数据。如果启用了引导应答,则储存设备100在CMD变低之后的50毫秒内向主机设备50发送应答模式(pattern)“010”。与之不同,如果禁用了引导应答,则存储设备100将不会发出应答模式“010”。
在另一个实施例中(图5中示出),至储存设备100的发起引导模式的指令采取在加电/复位后的74个时钟周期之后且在发出CMD1或CMD线变低之前在CMD线上发送具有参数0xFFFFFFFA的CMD0命令的形式。储存设备100会将此识别为发起引导模式并开始内部准备引导数据的指令。在具有参数oxFFFFFFFA的CMD0被发出后1秒内,储存设备100开始在DAT线上向主机设备50发送第一引导数据。如果启用了引导应答,则储存设备100在收到具有参数0xFFFFFFFA的CMD0之后的50毫秒内向主机设备50发送应答模式(pattern)“010”。与之不同,如果禁用了引导应答,则存储设备100将不会发出应答模式“010”。主机设备50可以通过发出CMD0(重置)而终止引导模式。
如上所述,这些指令不是读取存储在地址的数据的指令。而是,其为致使储存设备100发起引导模式来向主机设备50发送引导加载程序代码的特殊指令。在引导加载程序被发到主机设备50之后,主机设备50执行该引导加载程序代码从而从储存设备100的公用存储区域125加载操作系统代码。在该实施例中,可以使用标准的读取命令进行从储存设备100的公用存储区域125加载操作系统代码的过程。
引导加载程序代码的示例性安全特征
如以上在背景技术部分所提到的,由于操作系统代码存储在储存设备100中,因此有可能黑客可以在主机设备50不知道的情况下更改操作系统代码从而引入恶意软件。因此,在一些环境中,期望在由主机设备50执行操作系统代码之前验证其完整性。尽管可以给主机的ROM配备(provision)代码以验证操作系统代码的完整性,但是这增加了控制器的成本。另外,由于这样的配备必须在制造阶段完成,因此最初未制造有验证代码(verification code)的主机设备控制器在制造后不能被改进以包括验证代码。为了克服这些问题,在一个实施例中,储存设备100中存储的引导加载程序代码被配置为尝试验证操作系统代码的完整性,并且仅在验证操作系统代码完整性的尝试成功的情况下才使得主机设备50能够加载并执行该操作系统代码。将结合图6说明该实施例。
如在图6中图解地示出,主机设备50向储存设备100发送发起引导模式的指令,并且响应于该指令,接收并执行引导加载程序代码。在该实施例中,该引导加载程序代码包括参考图像验证代码,诸如操作系统代码的哈希值(即操作系统代码摘要)。(由于引导加载程序代码存储在储存设备100的只读存储器中,因此所存储的参考图像验证代码不能被更改。)本实施例中的引导加载程序还被配置为初始化指示储存设备100来计算所有读取数据的摘要的特殊读取模式。以这种方式,当引导加载程序正在从储存设备100读取操作系统代码时,储存设备的控制器会即时(on the fly)计算所有读取数据的摘要(例如使用基于哈希的消息认证码(HMAC))。使用储存设备100而非计算主机设备50来计算摘要避免了在引导过程期间主机设备50100的性能降级。在主机设备50结束从储存设备100读取操作系统代码之后,引导加载程序从储存设备100接收所计算的摘要并将所计算的摘要与引导加载程序中存储的参考摘要相比较。如果摘要比较是肯定的(positive)(即如果安全检查是成功的),则主机设备50可以执行操作系统代码。(代替使用摘要比较,所计算的摘要可被用于签名验证。)由于是由引导加载程序和储存设备100进行操作系统完整性的验证而不是由在制造主机设备50期间提供在主机设备的控制器中的代码进行,因此该实施例提供了期望的“安全引导”特征,而没有与向主机设备的控制器提供这样功能相关联的支出和不灵活性。
尽管以上示例中的安全检查尝试验证操作系统的完整性,但应注意引导加载程序可被配置为提供额外的或可替代的安全检查。例如,由于操作系统代码存储在公用存储区域125中,因此可期望对公用存储区域125实施某种形式的存取控制,从而除非由引导加载程序进行了成功的安全检查,否则不能执行操作系统代码。因此,储存设备100可被设计为仅当主机设备50100向储存设备100呈现恰当的证书时才允许存取操作系统,并且那些恰当的证书可在完成成功安全检查时由引导加载程序产生。在这样的实施例中,引导加载程序可包含应用程序接口(API)从而使能与储存设备100中负责认证和存取控制功能的特殊安全软件堆栈的通信。在图7的流程图中说明本实施例并在以下讨论。
如图7所示,主机设备100可以在成功尝试认证主机设备的使用者时、在成功尝试认证主机设备时和/或在成功尝试认证与主机设备一起使用的用户身份识别模块(SIM)卡时产生向储存设备100认证的恰当的证书。现在将描述这些安全检查的每一个。当然,可使用不同的安全检查或这些安全检查的变型。
在一个实施例中,引导加载程序被配置为尝试认证主机设备50的使用者。在本实施例中,可要求使用者输入密码,该密码会被提供给储存设备100从而使得能够存储储存设备100上存储的数据。该密码认证可使用由特定应用定义的有专利权的技术实施,或使用其它技术(诸如由Sandisk公司的TrustedFlashTM存储器产品和运行在可信的计算群(TCG)环境中的PC所使用那些技术)实施。如果使用者得到主机设备50上运行的引导加载程序的认证,则向储存设备100发送适当的证书以解锁公用存储区域25并提供对其中存储的操作系统代码的存取,从而可以加载并执行操作系统。
在另一个实施例中,引导加载程序代码被配置为尝试认证主机设备50,这样实际上将操作系统代码绑定到特定的主机设备上。在本实施例中,引导加载程序代码收集可计算摘要的主机设备50的各种硬件参数。硬件参数的例子包括但不限于,唯一的硬件标识符、存储器尺寸、介质访问控制(MAC)地址以及控制器版本。然后将所计算的摘要和引导加载程序中存储的摘要值进行比较。如果所计算的摘要匹配存储的摘要,则安全检查是成功的,且向储存设备100发送恰当的指示以解锁公用存储区域25并提供对其中存储的操作系统代码的存取,从而使得可以加载和执行操作系统代码。然而在另一个实施例中,引导加载程序代码可以被配置为尝试认证和主机设备50一起使用的用户身份识别模块(SIM)卡。该实施例类似于以上讨论的实施例,但是硬件参数是SIM卡的硬件参数(例如,国际移动用户身份识别(IMSI)识别码和国际移动设备身份识别(IMEI)识别码)。以这种方式,操作系统代码会绑定到SIM卡,且不会绑定到主机设备50上。当然,如果从主机设备50和SIM卡两者的硬件参数计算出摘要,则操作系统代码会绑定到主机设备50和SIM卡两者上。主机设备50还可进行SIM卡-主机设备认证从而产生用于解锁储存设备100的认证码(例如,使用质询响应PKI机制或使用对称或密码认证)。
有几个可以和这些实施例一起使用的替代例。例如,取代单个的操作系统代码,储存设备100可存储多个操作系统代码,且可询问使用者在引导过程期间上传这些代码的哪个。作为另一个替代例,引导加载程序可以运行购买应用,其使得使用者能购买特定的操作系统代码或其它内容。而作为另一个替代例,引导加载程序可允许经由引导加载程序升级在较低的层级上的操作系统升级。
旨在将前述详细的描述理解为对本发明可采取的所选形式的说明,而不是对本发明的限定。旨在仅由以下的权利要求(包括所有等同物)来限定本发明所要求保护的范围。最后,应注意这里描述的任何优选实施例的任何方面可单独使用或彼此组合地使用。

Claims (22)

1.一种用从储存设备加载的操作系统代码安全地引导主机设备的方法,该方法包括:
在与储存设备通信的主机设备中进行以下操作,该储存设备具有存储引导加载程序代码的专用存储区域和存储操作系统代码的公用存储区域:
指示储存设备发起引导模式;
从储存设备接收引导加载程序代码;以及
执行引导加载程序代码,其中当引导加载程序代码被执行时,其:
进行安全检查,以及
仅当安全检查成功的情况下,执行从储存设备加载的操作系统代码。
2.根据权利要求1所述的方法,其中主机设备并非通过发送用于从储存设备中的地址读取的命令来指示储存设备发起引导模式。
3.根据权利要求1所述的方法,其中主机设备与储存设备经由包括命令(CMD)线的接口通信,并且其中主机设备通过将CMD线保持为低达74个时钟周期而指示储存设备发起引导模式。
4.根据权利要求1所述的方法,其中主机设备与储存设备经由包括命令(CMD)线的接口通信,并且其中主机设备通过在该CMD线上发送具有参数0xFFFFFFFA的CMD0命令而指示储存设备发起引导模式。
5.根据权利要求1所述的方法,其中通过尝试验证操作系统代码的完整性来进行安全检查。
6.根据权利要求1所述的方法,其中通过尝试认证主机设备的使用者来进行安全检查。
7.根据权利要求6所述的方法,其中尝试认证主机设备的使用者包括请求使用者密码。
8.根据权利要求1所述的方法,其中通过尝试认证主机设备来进行安全检查。
9.根据权利要求7所述的方法,其中尝试认证主机设备包括认证主机设备的硬件参数。
10.根据权利要求1所述的方法,其中主机设备还与用户身份识别模块(SIM)卡通信,并且其中通过尝试认证该SIM卡进行安全检查。
11.根据权利要求1所述的方法,其中储存设备包括嵌入在主机设备中的储存设备。
12.根据权利要求1所述的方法,其中储存设备包括可移除地可连接到主机设备的储存设备。
13.一种主机设备,包括:
配置为与储存设备通信的接口,该储存设备具有存储引导加载程序代码的专用存储区域和存储操作系统代码的公用存储区域;和
与该接口通信的控制器,其中该控制器被配置为:
指示储存设备发起引导模式;
从储存设备接收引导加载程序代码;以及
执行引导加载程序代码,其中当引导加载程序代码被执行时,其:
进行安全检查,以及
仅当安全检查成功的情况下,执行从储存设备加载的操作系统代码。
14.根据权利要求13所述的主机设备,其中控制器被配置为并非通过发送从储存设备中的地址读取的命令来指示储存设备发起引导模式。
15.根据权利要求13所述的主机设备,其中接口包括命令(CMD)线,并且其中控制器被配置为通过将该CMD线保持为低达74个时钟周期而指示储存设备发起引导模式。
16.根据权利要求13所述的主机设备,其中接口包括命令(CMD)线,并且其中控制器被配置为通过在该CMD线上发送具有参数0xFFFFFFFA的CMD0命令而指示储存设备发起引导模式。
17.根据权利要求13所述的主机设备,其中通过尝试验证操作系统代码的完整性来进行安全检查。
18.根据权利要求13所述的主机设备,其中通过尝试认证主机设备的使用者来进行安全检查。
19.根据权利要求13所述的主机设备,其中通过尝试认证主机设备来进行安全检查。
20.根据权利要求13所述的主机设备,还包括与控制器通信的用户身份识别模块(SIM)卡,并且其中通过尝试认证该SIM卡进行安全检查。
21.根据权利要求13所述的主机设备,其中储存设备包括嵌入在主机设备中的储存设备。
22.根据权利要求13所述的主机设备,其中储存设备包括可移除地可连接到主机设备的储存设备。
CN2011800389207A 2010-08-10 2011-07-28 用从储存设备加载的操作系统代码安全地引导主机设备的主机设备和方法 Pending CN103069384A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/853,924 2010-08-10
US12/853,924 US8996851B2 (en) 2010-08-10 2010-08-10 Host device and method for securely booting the host device with operating system code loaded from a storage device
PCT/IB2011/001748 WO2012020292A1 (en) 2010-08-10 2011-07-28 Host device and method for securely booting the host device with operating system code loaded from a storage device

Publications (1)

Publication Number Publication Date
CN103069384A true CN103069384A (zh) 2013-04-24

Family

ID=44658783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800389207A Pending CN103069384A (zh) 2010-08-10 2011-07-28 用从储存设备加载的操作系统代码安全地引导主机设备的主机设备和方法

Country Status (6)

Country Link
US (1) US8996851B2 (zh)
EP (1) EP2603874A1 (zh)
KR (1) KR20130096239A (zh)
CN (1) CN103069384A (zh)
TW (1) TW201212617A (zh)
WO (1) WO2012020292A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182242A (zh) * 2013-05-28 2014-12-03 华为技术有限公司 一种系统启动方法及装置
CN104679813A (zh) * 2013-11-28 2015-06-03 三星电子株式会社 数据储存设备、数据储存方法和数据储存系统
CN106126200A (zh) * 2016-06-13 2016-11-16 房玮 一种能够远程引导客户端计算机的云计算系统
CN106295318A (zh) * 2015-06-05 2017-01-04 北京壹人壹本信息科技有限公司 一种系统启动引导方法和装置
CN106339328A (zh) * 2015-07-06 2017-01-18 李尔公司 共享存储器体系结构自动更新器
CN106897623A (zh) * 2015-12-21 2017-06-27 深圳市中兴微电子技术有限公司 一种支持多安全引导的芯片及其启动方法
CN108664280A (zh) * 2017-03-31 2018-10-16 深圳市中兴微电子技术有限公司 一种嵌入式系统启动方法及装置
WO2019196315A1 (zh) * 2018-04-10 2019-10-17 南京扬贺扬微电子科技有限公司 一种具有boot功能的SD卡及其制卡方法
CN110647359A (zh) * 2018-06-27 2020-01-03 爱思开海力士有限公司 半导体装置、其操作方法和具有其的层叠存储装置
CN111630513A (zh) * 2018-01-25 2020-09-04 美光科技公司 认证所存储代码和代码更新的真实性
CN114793452A (zh) * 2020-11-24 2022-07-26 松下知识产权经营株式会社 主机装置、从机装置以及数据转发系统

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751782B2 (en) * 2010-12-16 2014-06-10 Intel Corporation Secure local boot using third party data store (3PDS) based ISO image
KR20120123885A (ko) * 2011-05-02 2012-11-12 삼성전자주식회사 저장 장치의 인증 장치 및 인증 장치 연결 수단을 구비한 저장 장치
WO2012159366A1 (zh) * 2011-08-03 2012-11-29 华为技术有限公司 数据管理方法和装置
US9319884B2 (en) 2011-10-27 2016-04-19 T-Mobile Usa, Inc. Remote unlocking of telecommunication device functionality
WO2013101083A1 (en) 2011-12-29 2013-07-04 Intel Corporation An apparatus for hardware accelerated runtime integrity measurement
FR2989197B1 (fr) * 2012-04-05 2014-05-02 Toucan System Procede de securisation d'acces a un dispositif informatique
US9172538B2 (en) 2012-04-20 2015-10-27 T-Mobile Usa, Inc. Secure lock for mobile device
US10075848B2 (en) 2012-08-25 2018-09-11 T-Mobile Usa, Inc. SIM level mobile security
KR101987144B1 (ko) 2012-10-10 2019-06-11 삼성전자주식회사 운영 체제 프로그램을 저장하는 메인 메모리 시스템 및 이를 포함하는 컴퓨터 시스템
US9613214B2 (en) * 2013-07-09 2017-04-04 Micron Technology, Inc. Self-measuring nonvolatile memory devices with remediation capabilities and associated systems and methods
WO2015065431A1 (en) * 2013-10-31 2015-05-07 Hewlett-Packard Development Company, L.P. Memory integrity checking
US10359937B2 (en) 2013-12-20 2019-07-23 Sandisk Technologies Llc System and method of implementing a table storage support scheme
CN104811304B (zh) * 2014-01-27 2020-02-14 腾讯科技(深圳)有限公司 身份验证方法及装置
US9195831B1 (en) 2014-05-02 2015-11-24 Google Inc. Verified boot
US9720855B2 (en) 2014-08-19 2017-08-01 Samsung Electronics Co., Ltd. Virtual device based systems with access to parts other than data storage elements through the virtual device
WO2016033539A1 (en) * 2014-08-29 2016-03-03 Memory Technologies Llc Control for authenticated accesses to a memory device
US9807607B2 (en) 2014-10-03 2017-10-31 T-Mobile Usa, Inc. Secure remote user device unlock
US10769315B2 (en) 2014-12-01 2020-09-08 T-Mobile Usa, Inc. Anti-theft recovery tool
US9813399B2 (en) 2015-09-17 2017-11-07 T-Mobile Usa, Inc. Secure remote user device unlock for carrier locked user devices
SG10201602449PA (en) 2016-03-29 2017-10-30 Huawei Int Pte Ltd System and method for verifying integrity of an electronic device
US10691447B2 (en) * 2016-10-07 2020-06-23 Blackberry Limited Writing system software on an electronic device
US10476875B2 (en) 2017-04-21 2019-11-12 T-Mobile Usa, Inc. Secure updating of telecommunication terminal configuration
US10171649B2 (en) 2017-04-21 2019-01-01 T-Mobile Usa, Inc. Network-based device locking management
TWI640872B (zh) * 2017-07-07 2018-11-11 群聯電子股份有限公司 記憶體控制電路單元、記憶體儲存裝置及其控制方法
CN109273032A (zh) * 2017-07-17 2019-01-25 群联电子股份有限公司 存储器控制电路单元、存储器存储装置及其控制方法
TWI645296B (zh) * 2017-10-17 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
US10836400B2 (en) * 2017-12-19 2020-11-17 Micron Technology, Inc. Implementing safety measures in applications
FR3078469B1 (fr) * 2018-02-26 2020-03-06 Idemia France Configuration d'un module d'identite de souscripteur embarque
KR102286794B1 (ko) * 2018-08-16 2021-08-06 경희대학교 산학협력단 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 부트 방법
US11055105B2 (en) * 2018-08-31 2021-07-06 Micron Technology, Inc. Concurrent image measurement and execution
KR102558901B1 (ko) * 2018-09-19 2023-07-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102567097B1 (ko) 2018-12-05 2023-08-14 삼성전자주식회사 임베디드 시스템의 부트 롬 업데이트 방법 및 부팅 방법
US10972901B2 (en) 2019-01-30 2021-04-06 T-Mobile Usa, Inc. Remote SIM unlock (RSU) implementation using blockchain
TWI756156B (zh) * 2019-04-07 2022-02-21 新唐科技股份有限公司 監控系統開機之安全裝置及其方法
WO2021200926A1 (ja) * 2020-04-01 2021-10-07 パナソニックIpマネジメント株式会社 ストレージシステム

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0449242A3 (en) * 1990-03-28 1992-10-28 National Semiconductor Corporation Method and structure for providing computer security and virus prevention
US5870520A (en) * 1992-12-23 1999-02-09 Packard Bell Nec Flash disaster recovery ROM and utility to reprogram multiple ROMS
US5379431A (en) * 1993-12-21 1995-01-03 Taligent, Inc. Boot framework architecture for dynamic staged initial program load
US5701477A (en) 1995-03-30 1997-12-23 Cirrus Logic, Inc. Method and apparatus for master boot record shadowing
US6185678B1 (en) 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6463535B1 (en) 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
EP1001331B1 (en) * 1998-11-11 2004-08-11 O2 Micro International Limited Pre-boot security controller
US6425079B1 (en) * 1999-03-31 2002-07-23 Adaptec, Inc. Universal option ROM BIOS including multiple option BIOS images for multichip support and boot sequence for use therewith
US6748544B1 (en) * 1999-08-19 2004-06-08 International Business Machines Corporation Discrete, background determination of the adequacy of security features of a computer system
US7266849B1 (en) * 1999-12-08 2007-09-04 Intel Corporation Deterring unauthorized use of electronic devices
US6601166B1 (en) * 1999-12-23 2003-07-29 Intel Corporation Mechanism for booting a computer through a network
US6625729B1 (en) 2000-03-31 2003-09-23 Hewlett-Packard Company, L.P. Computer system having security features for authenticating different components
US7065654B1 (en) * 2001-05-10 2006-06-20 Advanced Micro Devices, Inc. Secure execution box
US20030009657A1 (en) * 2001-06-29 2003-01-09 Ibm Corporation Method and system for booting of a target device in a network management system
US20030018892A1 (en) * 2001-07-19 2003-01-23 Jose Tello Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer
US7111050B2 (en) * 2001-08-02 2006-09-19 International Business Machines Corporation Private memory access in multi-node system
EP1283464A1 (en) * 2001-08-06 2003-02-12 Hewlett-Packard Company A boot process for a computer, a boot ROM and a computer having a boot ROM
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
US7216369B2 (en) 2002-06-28 2007-05-08 Intel Corporation Trusted platform apparatus, system, and method
US7313684B2 (en) * 2002-08-14 2007-12-25 T1 Technologies Limited Method and apparatus for booting a computer system
US7017038B1 (en) * 2002-08-26 2006-03-21 Network Equipment Technologies, Inc. Method and system to provide first boot to a CPU system
US7424610B2 (en) * 2003-12-23 2008-09-09 Intel Corporation Remote provisioning of secure systems for mandatory control
US7565522B2 (en) * 2004-05-10 2009-07-21 Intel Corporation Methods and apparatus for integrity measurement of virtual machine monitor and operating system via secure launch
US7716494B2 (en) * 2004-07-15 2010-05-11 Sony Corporation Establishing a trusted platform in a digital processing system
US7711942B2 (en) 2004-09-23 2010-05-04 Hewlett-Packard Development Company, L.P. Computer security system and method
JP2006195703A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd ディスクレス計算機の運用管理システム
US8533845B2 (en) * 2005-02-15 2013-09-10 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling operating system access to configuration settings
JP2007025821A (ja) * 2005-07-12 2007-02-01 Seiko Epson Corp 情報処理装置及び情報処理装置の制御方法
JP4793628B2 (ja) 2005-09-01 2011-10-12 横河電機株式会社 Os起動方法及びこれを用いた装置
US8201240B2 (en) 2005-09-16 2012-06-12 Nokia Corporation Simple scalable and configurable secure boot for trusted mobile phones
US7865740B2 (en) * 2005-09-27 2011-01-04 Intel Corporation Logging changes to blocks in a non-volatile memory
US7467295B2 (en) * 2005-10-07 2008-12-16 International Business Machines Corporation Determining a boot image based on a requesting client address
CN100428157C (zh) * 2005-10-19 2008-10-22 联想(北京)有限公司 一种可进行完整性检测的计算机系统和方法
US8291226B2 (en) 2006-02-10 2012-10-16 Qualcomm Incorporated Method and apparatus for securely booting from an external storage device
EP1832977A3 (en) * 2006-03-09 2007-10-10 Telefonaktiebolaget LM Ericsson (publ) Platform boot with bridge support
US20070239996A1 (en) * 2006-03-20 2007-10-11 Cromer Daryl C Method and apparatus for binding computer memory to motherboard
US20070235517A1 (en) * 2006-03-30 2007-10-11 O'connor Clint H Secure digital delivery seal for information handling system
US7984283B2 (en) * 2006-05-22 2011-07-19 Hewlett-Packard Development Company, L.P. System and method for secure operating system boot
US9424430B2 (en) * 2006-05-24 2016-08-23 Safend Ltd. Method and system for defending security application in a user's computer
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
US8452988B2 (en) * 2006-07-24 2013-05-28 Michael Sujue Wang Secure data storage for protecting digital content
US7958343B2 (en) * 2006-09-08 2011-06-07 Hewlett-Packard Development Company, L.P. BIOS bootable RAID support
US20080077592A1 (en) * 2006-09-27 2008-03-27 Shane Brodie method and apparatus for device authentication
US8683212B2 (en) * 2006-10-06 2014-03-25 Broadcom Corporation Method and system for securely loading code in a security processor
US7711941B2 (en) * 2006-12-19 2010-05-04 Lsi Corporation Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
US7925875B2 (en) 2006-12-31 2011-04-12 Sandisk Corporation Systems and methods for identifying and booting a computer architecture
US8032181B2 (en) * 2007-09-01 2011-10-04 Apple Inc. Service provider activation with subscriber identity module policy
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
IL187042A0 (en) 2007-10-30 2008-02-09 Sandisk Il Ltd Write failure protection for hierarchical integrity schemes
US20090193507A1 (en) * 2008-01-28 2009-07-30 Wael Ibrahim Authentication messaging service
US8082435B2 (en) * 2008-05-07 2011-12-20 Micron Technology, Inc. Memory device initiate and terminate boot commands
JP5290287B2 (ja) * 2008-05-29 2013-09-18 株式会社シー・オー・コンヴ ネットワークブートシステム
US20100011350A1 (en) 2008-07-14 2010-01-14 Zayas Fernando A Method And System For Managing An Initial Boot Image In An Information Storage Device
TWI389031B (zh) * 2008-09-15 2013-03-11 Mstar Semiconductor Inc 嵌入式電子裝置與其開機方法
US20100122076A1 (en) * 2008-09-30 2010-05-13 Aristocrat Technologies Australia Pty Limited Security method
US20100106953A1 (en) * 2008-10-23 2010-04-29 Horizon Semiconductors Ltd. Method for patching rom boot code
US8504693B2 (en) * 2009-05-26 2013-08-06 Intel Corporation Method and apparatus for operating system streaming
EP2278514B1 (en) * 2009-07-16 2018-05-30 Alcatel Lucent System and method for providing secure virtual machines
US8589302B2 (en) * 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182242A (zh) * 2013-05-28 2014-12-03 华为技术有限公司 一种系统启动方法及装置
US10210196B2 (en) 2013-11-28 2019-02-19 Samsung Electronics Co., Ltd. Data storage device having internal hardware filter, data storage method and data storage system
CN104679813A (zh) * 2013-11-28 2015-06-03 三星电子株式会社 数据储存设备、数据储存方法和数据储存系统
CN104679813B (zh) * 2013-11-28 2019-05-31 三星电子株式会社 数据储存设备、数据储存方法和数据储存系统
CN106295318A (zh) * 2015-06-05 2017-01-04 北京壹人壹本信息科技有限公司 一种系统启动引导方法和装置
CN106339328A (zh) * 2015-07-06 2017-01-18 李尔公司 共享存储器体系结构自动更新器
CN106897623A (zh) * 2015-12-21 2017-06-27 深圳市中兴微电子技术有限公司 一种支持多安全引导的芯片及其启动方法
CN106126200A (zh) * 2016-06-13 2016-11-16 房玮 一种能够远程引导客户端计算机的云计算系统
CN106126200B (zh) * 2016-06-13 2019-07-19 房玮 一种能够远程引导客户端计算机的云计算系统
CN108664280A (zh) * 2017-03-31 2018-10-16 深圳市中兴微电子技术有限公司 一种嵌入式系统启动方法及装置
CN111630513A (zh) * 2018-01-25 2020-09-04 美光科技公司 认证所存储代码和代码更新的真实性
CN111630513B (zh) * 2018-01-25 2023-10-17 美光科技公司 认证所存储代码和代码更新的真实性
WO2019196315A1 (zh) * 2018-04-10 2019-10-17 南京扬贺扬微电子科技有限公司 一种具有boot功能的SD卡及其制卡方法
CN110647359A (zh) * 2018-06-27 2020-01-03 爱思开海力士有限公司 半导体装置、其操作方法和具有其的层叠存储装置
CN110647359B (zh) * 2018-06-27 2023-06-27 爱思开海力士有限公司 半导体装置、其操作方法和具有其的层叠存储装置
CN114793452A (zh) * 2020-11-24 2022-07-26 松下知识产权经营株式会社 主机装置、从机装置以及数据转发系统

Also Published As

Publication number Publication date
US8996851B2 (en) 2015-03-31
KR20130096239A (ko) 2013-08-29
EP2603874A1 (en) 2013-06-19
WO2012020292A1 (en) 2012-02-16
US20120042376A1 (en) 2012-02-16
TW201212617A (en) 2012-03-16

Similar Documents

Publication Publication Date Title
CN103069384A (zh) 用从储存设备加载的操作系统代码安全地引导主机设备的主机设备和方法
US9229706B2 (en) Method and apparatus for field firmware updates in data storage systems
TWI426389B (zh) 在智慧卡記憶模組中用於更新唯讀記憶體之系統及方法
TWI384366B (zh) 用於智慧卡記憶體模組之智慧控制器系統及方法
TWI391864B (zh) 臨界保全參數之產生及用於智慧卡記憶體模組的交換系統與方法
TWI457829B (zh) 在安全環境控制處理器執行之裝置
TWI524275B (zh) 儲存裝置及操作一儲存裝置之方法
CN102063591B (zh) 基于可信平台的平台配置寄存器参考值的更新方法
US20140244993A1 (en) Method of updating the operating system of a secure microcircuit
US9430650B2 (en) Method for managing memory space in a secure non-volatile memory of a secure element
US10511965B2 (en) Method and system for downloading software based on mobile terminal
US8799653B2 (en) Storage device and method for storage device state recovery
US10162565B2 (en) Data erasure of a target device
CN205540702U (zh) 电子设备
CN107038568A (zh) 用于选择性地使能支付功能的操作支付装置的方法
JP2002024046A (ja) マイクロコンピュータ及びそのメモリ内容変更システム並びにメモリ内容変更方法
KR20110085894A (ko) 소프트웨어 애플리케이션의 실행 방법 및 소프트웨어 애플리케이션을 위한 저장 디바이스
US10263781B2 (en) IC chip and authentication method for user authentication
JP4634924B2 (ja) 認証方法、認証プログラム、認証システムおよびメモリカード
TWM504286U (zh) 內嵌智能晶片之安全數位記憶卡及行動讀卡終端機
EP2985724B1 (en) Remote load and update card emulation support
EP2996368B1 (en) Mobile electronic device
US20230114775A1 (en) Portable Chip Device and Method for Executing a Software Module Update in a Portable Chip Device
CN114666665B (zh) 一种证书的认证方法、存储介质及电视
ES2949313T3 (es) Método de carga de un recurso informático en un dispositivo electrónico, módulo electrónico y programa informático correspondiente

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130424