电子设备和安全启动电子设备的方法

文档序号:6542588阅读:199来源:国知局
电子设备和安全启动电子设备的方法
【专利摘要】本发明的实施例提供了一种电子设备和安全启动电子设备的方法。根据本发明实施例的电子设备,包括:存储单元,包含预先存储了密钥的重写保护存储模块,其中重写保护存储模块只能够被写入一次,并且被写入该重写保护存储模块的内容不能被修改;以及处理单元,配置来在加载程序前,读取重写保护存储模块中存储的密钥,并且使用所读取的密钥来执行验证处理。
【专利说明】电子设备和安全启动电子设备的方法
【技术领域】
[0001]本发明涉及一种电子设备和安全启动电子设备的方法,更具体地说,本发明涉及一种防止程序被篡改的电子设备和安全启动电子设备以防止程序被篡改的方法。
【背景技术】
[0002]随着技术的发展和制造成本的降低,例如,便携式计算机、平板计算机、智能手机、和便携式音乐播放器等各种电子设备已被广泛应用。然而,随着这些电子设备的普及,电子设备被刷机情况也越来越严重。电子设备被刷机后,容易导致电子设备的操作系统、预设应用等程序篡改,从而导致很多不安全因素。
[0003]已经提出了例如安全启动(Secure Boot)等方案,以防止电子设备被刷机。安全启动方案需要电子设备中处理器(CPU)芯片的支持。然而,为了支持安全启动方案,需要对处理器芯片的硬件配置进行改进,这导致支持安全启动方案的处理器芯片的成本较高。为了降低生成成本,很多生成厂商不会为电子设备配备这样的芯片。因此,希望提供一种不需要对处理器芯片的硬件配置进行改进就能够确保安全启动的电子设备和相应的方法。

【发明内容】

[0004]本发明实施例的目的在于提供一种电子设备和安全启动电子设备的方法,以解决上述问题。
[0005]本发明的一个实施例提供了一种电子设备,包括:存储单元,包含预先存储了密钥的重写保护存储模块,其中重写保护存储模块只能够被写入一次,并且被写入该重写保护存储模块的内容不能被修改;以及处理单元,配置来在加载程序前,读取重写保护存储模块中存储的密钥,并且使用所读取的密钥来执行验证处理。
[0006]本发明的另一实施例提供了一种安全启动电子设备的方法,其中电子设备包括包含重写保护存储模块的存储单元,重写保护存储模块只能够被写入一次,并且被写入该重写保护存储模块的内容不能被修改。所述方法包括:在加载程序前,读取预先存储在重写保护存储模块中的密钥,并且使用所读取的密钥执行验证操作。
[0007]通过根据本发明实施例的电子设备和安全启动电子设备的方法,不需要为电子设备配备支持安全启动方案的处理器芯片也能够有效地防止电子设备中的程序被篡改,从而在避免了电子设备中的不安全因素的同时,降低了电子设备的生产成本。
【专利附图】

【附图说明】
[0008]为了更清楚地说明本发明实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单地介绍。下面描述中的附图仅仅是本发明的示例性实施例。
[0009]图1是示出了根据本发明一个实施例的电子设备的示范性结构框图。
[0010]图2是示出了根据本发明一个实施例的电子设备中的处理单元的示范性结构框图。[0011]图3是描述了根据本发明实施例的安全启动电子设备的方法的流程图。
[0012]图4是示出了根据本发明一个实施例,使用所读取的密钥执行验证操作的方法的流程图。
【具体实施方式】
[0013]在下文中,将参考附图详细描述本发明的优选实施例。注意,在本说明书和附图中,具有基本上相同步骤和元素用相同的附图标记来表示,且对这些步骤和元素的重复解释将被省略。
[0014]下面,参照图1和图2来说明根据本发明一个实施例的电子设备。在根据本发明的实施例中,电子设备的具体形式可包括但不限于便携式计算机、平板计算机、智能手机、和便携式音乐播放器。
[0015]图1是示出了根据本发明一个实施例的电子设备的示范性结构框图。如图1所示,电子设备100包括:存储单元110和处理单元120。具体地。存储单元110可包括重写保护存储模块111。重写保护存储模块111只能够被写入一次,并且被写入重写保护存储模块111中的内容不能被修改。根据本发明的一个示例,存储单元110可以采用嵌入式多媒体存储芯片(EMMC),并且可在存储单元110中设置例如用户加解密认证分区(PRMB)的重写保护存储模块111。
[0016]可预先在重写保护存储模块111中存储用于验证处理的密钥。例如,在对电子设备100设置了用于验证当前程序是否为授权程序的公共密钥和私人密钥的情况下,可将公共密钥预先存储在存储单元110的重写保护存储模块111中,并且由授权的程序开发商保管私人密钥。
[0017]在电子设备100被启动的情况下,在加载程序前,处理单元120读取重写保护存储模块111中存储的密钥,并且使用所读取的密钥来执行验证处理,以确保电子设备100中的程序未被篡改。例如,处理单元120可采用例如MTK(MediaTek)平台的、不支持安全启动方案的CPU芯片。
[0018]根据本发明的一个示例,可通过使用从重写保护存储模块111读取的密钥执行对于电子设备100中特定程序和/或文件的一次验证操作来完成验证处理。根据本发明的另一示例,可通过使用从重写保护存储模块111读取的密钥执行对于电子设备100中特定程序和/或文件的多次验证操作来完成验证处理。
[0019]此外,根据本发明的又一示例,验证处理可包括需要依次进行的多级验证操作,并且各级验证操作中的验证对象互不相同。例如,多级验证操作中的验证对象包括电子设备100的启动程序集合、预加载器、系统内核、启动器和操作系统中的部分或全部。
[0020]在验证处理包括多级验证操作情况下,处理单元120可对多级验证操作中的特定的一级或若干级验证操作使用从重写保护存储模块111中读取的密钥来进行执行验证。此夕卜,为了增强验证处理的可靠性,优选地,处理单元120可在多级验证操作的每级验证操作中都使用从重写保护存储模块111中读取的密钥来进行执行验证。
[0021]根据本发明的一个示例,在验证处理包括需要依次进行的多级验证操作的情况下,处理单元120可使用所读取的密钥来执行多级验证操作中需要首先进行的第一级验证操作,并且使用所读取的密钥和通过了验证的当前验证操作中的验证对象来执行多级验证操作中除了第一级验证操作以外的验证操作。例如,在验证处理包括需要依次进行的多级验证操作的情况下,在第一级验证操作中,处理单元120可使用所读取的密钥,来确定该级验证对象的镜像文件(image)是否为授权文件。此外,在多级验证操作中除了第一级验证操作以外的验证操作中,处理单元120可使用所读取的密钥和该级验证操作的上一级验证操作中的验证对象,来确定该级验证对象的镜像文件是否为授权文件。当每级验证操作中验证对象的镜像文件均为授权文件时,处理单元120可确定完成验证操作。
[0022]图2是示出了根据本发明一个实施例的电子设备中的处理单元的示范性结构框图。处理单元200为以上结合图1说明的电子设备100中的处理单元120的一个示例。如图2所示,处理单元200可包括启动程序集合(ROM)验证模块210、预加载器(Preloader)验证模块220、系统内核验证模块230、启动器(Boot)验证模块240和操作系统验证模块250。启动程序集合验证模块210、预加载器验证模块220、系统内核验证模块230、启动器验证模块240和操作系统验证模块250可分别用于执行验证操作中的启动程序集合(ROM)验证步骤、预加载器验证步骤、系统内核验证步骤、启动器验证步骤和操作系统验证步骤。
[0023]具体地,如图2所图示的,验证处理中首先启动程序集合验证模块210使用从存储单元的重写保护存储模块中读取的密钥(Key)来确定电子设备的启动程序集合的镜像文件是否为授权文件。优选地,启动程序集合中包括的文件可以是预先存储在处理单元200中的只读文件。
[0024]当启动程序集合验证模块210确定启动程序集合的镜像文件为授权文件时,预加载器验证模块220进行预加载器验证步骤。在预加载器验证步骤中,预加载器验证模块220使用从存储单元的重写保护存储模块中读取的密钥和通过验证的启动程序集合来确定电子设备的预加载器的镜像文件是否为授权文件。
[0025]当预加载器验证模块220确定预加载器的镜像文件为授权文件时,系统内核验证模块230进行系统内核验证步骤。在系统内核验证步骤中,系统内核验证模块230使用从存储单元的重写保护存储模块中读取的密钥和通过验证的预加载器来确定电子设备的系统内核的镜像文件是否为授权文件。
[0026]当系统内核验证t旲块230确定系统内核的镜像文件为授权文件时,启动器验证丰旲块240进行启动器验证步骤。在启动器验证步骤中,启动器验证模块240使用从存储单元的重写保护存储模块中读取的密钥和通过验证的系统内核来确定电子设备启动器的镜像文件是否为授权文件。
[0027]当启动器验证模块240确定系统内核的镜像文件为授权文件时,操作系统验证模块250进行操作系统验证步骤。在操作系统验证步骤中,操作系统验证模块250使用从存储单元的重写保护存储模块中读取的密钥和通过验证的启动器来确定电子设备的操作系统的镜像文件是否为授权文件。
[0028]当操作系统验证模块250确定操作系统的镜像文件为授权文件时,处理单元可输出指示完成验证操作(即,通过验证操作)的验证结果。另一方面,当启动程序集合验证模块210、预加载器验证模块220、系统内核验证模块230、启动器验证模块240和操作系统验证模块250中的任意一个模块确定该模块的验证对象的镜像文件不是授权文件时,处理单元可输出指示未完成验证操作(即,未通过验证操作)的验证结果。
[0029]返回图1,根据本发明的另一示例,在利用所读取的密钥确定完成验证操作(即,通过验证操作)后,电子设备100的处理单元120可加载操作系统、预设应用等程序。
[0030]通过根据本发明实施例的电子设备,不需要为电子设备配备支持安全启动方案的处理器芯片也能够有效地防止电子设备中的程序被篡改,从而在避免了电子设备中的不安全因素的同时,降低了电子设备的生产成本。
[0031]下面,参照图3和图4说明本发明的实施例的安全启动电子设备的方法。图3是描述了根据本发明实施例的安全启动电子设备的方法300的流程图。
[0032]安全启动电子设备的方法300可用于包含重写保护存储模块的存储单元的电子设备。具体地,重写保护存储模块只能够被写入一次,并且被写入该重写保护存储模块的内容不能被修改。
[0033]可预先在重写保护存储模块中存储用于验证处理的密钥。例如,在对电子设备设置了用于验证当前程序是否为授权程序的公共密钥和私人密钥的情况下,可将公共密钥预先存储在存储单元的重写保护存储模块中,并且由授权的程序开发商保管私人密钥。
[0034]安全启动电子设备的方法300中的各个步骤可分别被上述结合图1描述的电子设备的相应模块执行。因此,为了简洁,以下仅对连接方法的主要步骤进行描述,而省略了以上已经结合图1描述过的细节内容。
[0035]如图3所示,在步骤S301中,在加载程序前,读取预先存储在重写保护存储模块中的密钥。根据本发明的一个示例,在步骤S301之前可接收电子设备启动指令,并且根据所接收的接收电子设备启动指令,执行步骤S301。根据本发明的另一示例,还可通过例如程序加载指令之类的其他指令来触发步骤S301。根据电子设备启动指令在步骤S302中,使用所读取的密钥执行验证操作,以确保电子设备100中的程序未被篡改。
[0036]根据本发明的一个示例,在步骤S302中可通过使用从电子设备的重写保护存储模块读取的密钥执行对于电子设备中特定程序和/或文件的一次验证操作来完成验证处理。根据本发明的另一示例,在步骤S302中可通过使用从重写保护存储模块读取的密钥执行对于电子设备中特定程序和/或文件的多次验证操作来完成验证处理。
[0037]此外,根据本发明的又一示例,步骤S302中的验证处理可包括需要依次进行的多级验证操作,并且各级验证操作中的验证对象互不相同。例如,多级验证操作中的验证对象包括电子设备的启动程序集合、预加载器、系统内核、启动器和操作系统中的部分或全部。
[0038]在验证处理包括多级验证操作情况下,在步骤S302中可对多级验证操作中的特定的一级或若干级验证操作使用从重写保护存储模块中读取的密钥来进行执行验证。此夕卜,为了增强验证处理的可靠性,优选地,在步骤S302中可在多级验证操作的每级验证操作中都使用从重写保护存储模块中读取的密钥来进行执行验证。
[0039]根据本发明的一个示例,在验证处理包括需要依次进行的多级验证操作的情况下,在步骤S302中可使用所读取的密钥来执行多级验证操作中需要首先进行的第一级验证操作,并且使用所读取的密钥和通过了验证的当前验证操作中的验证对象来执行多级验证操作中除了第一级验证操作以外的验证操作。
[0040]例如,在验证处理包括需要依次进行的多级验证操作的情况下,在第一级验证操作中,在步骤S302中可使用所读取的密钥,来确定该级验证对象的镜像文件是否为授权文件。此外,在多级验证操作中除了第一级验证操作以外的验证操作中,在步骤S302中可使用所读取的密钥和该级验证操作的上一级验证操作中的验证对象,来确定该级验证对象的镜像文件是否为授权文件,并且当每级验证操作中验证对象的镜像文件均为授权文件时,可确定完成验证操作。
[0041]图4是示出了根据本发明一个实施例,使用所读取的密钥执行验证操作的方法400的流程图。在图4所示的示例中,验证操作可包括依次进行的多级验证,即启动程序集合验证步骤S401、预加载器验证步骤S402、系统内核验证步骤S403、启动器验证步骤S404和操作系统验证步骤S405。使用所读取的密钥执行验证操作的方法400中的各个步骤可分别被上述结合图2描述的处理单元200中的相应模块执行。因此,为了简洁,以下仅对连接方法的主要步骤进行描述,而省略了以上已经结合图2描述过的细节内容。
[0042]如图4所示,在步骤S401中,使用从存储单元的重写保护存储模块中读取的密钥(Key)来确定电子设备的启动程序集合的镜像文件是否为授权文件。优选地,启动程序集合中包括的文件可以是预先存储在电子设备的处理单元中的只读文件。
[0043]当在步骤S401中确定启动程序集合的镜像文件为授权文件时,进行预加载器验证步骤S402。在步骤S402中,使用从存储单元的重写保护存储模块中读取的密钥和通过验证的启动程序集合来确定电子设备的预加载器的镜像文件是否为授权文件。
[0044]当在步骤S402中确定预加载器的镜像文件为授权文件时,进行系统内核验证步骤S403。在步骤S403中,使用从存储单元的重写保护存储模块中读取的密钥和通过验证的预加载器来确定电子设备的系统内核的镜像文件是否为授权文件。
[0045]当在步骤S403中确定系统内核的镜像文件为授权文件时,进行启动器验证步骤S404。在步骤S404中,使用从存储单元的重写保护存储模块中读取的密钥和通过验证的系统内核来确定电子设备启动器的镜像文件是否为授权文件。
[0046]当在步骤S404中确定系统内核的镜像文件为授权文件时,进行操作系统验证步骤S405。在步骤S405中,使用从存储单元的重写保护存储模块中读取的密钥和通过验证的启动器来确定电子设备的操作系统的镜像文件是否为授权文件。
[0047]当步骤S405中确定操作系统的镜像文件为授权文件时,可输出指示完成验证操作(即,通过验证操作)的验证结果。另一方面,当在启动程序集合验证步骤S401、预加载器验证步骤S402、系统内核验证步骤S403、启动器验证步骤S404和操作系统验证步骤S405中的任意一个模块确定该模块的验证对象的镜像文件不是授权文件时,可选择地,方法400还可包括输出指示未完成验证操作(即,未通过验证操作)的验证结果。
[0048]返回图3,根据本发明的另一示例,在步骤S302中利用所读取的密钥确定完成验证操作(即,通过验证操作)后,图3中所示的方法300还可包括加载操作系统、预设应用等程序的步骤。
[0049]通过根据本发明实施例的安全启动电子设备的方法,不需要为电子设备配备支持安全启动方案的处理器芯片也能够有效地防止电子设备中的程序被篡改,从而在避免了电子设备中的不安全因素的同时,降低了电子设备的生产成本。
[0050]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0051]本领域技术人员应该理解,可依赖于设计需求和其它因素对本发明进行各种修改、组合、部分组合和替换,只要它们在所附权利要求书及其等价物的范围内。
【权利要求】
1.一种电子设备,包括: 存储单元,包含预先存储了密钥的重写保护存储模块,其中所述重写保护存储模块只能够被写入一次,并且被写入该重写保护存储模块的内容不能被修改;以及 处理单元,配置来在加载程序前,读取所述重写保护存储模块中存储的密钥,并且使用所读取的密钥来执行验证处理。
2.如权利要求1所述的电子设备,其中 所述验证处理包括需要依次进行的多级验证操作,所述多级验证操作中的验证对象不同; 所述处理单元使用所读取的密钥来执行所述多级验证操作中需要首先进行的第一级验证操作,并且使用所读取的密钥和通过了验证的当前验证操作中的验证对象来执行所述多级验证操作中除了第一级验证操作以外的验证操作。
3.如权利要求2所述的电子设备,其中 所述多级验证操作中的验证对象包括所述电子设备的启动程序集合、预加载器、系统内核、启动器和操作系统中的部分或全部。
4.如权利要求2或3所述的电子设备,其中 在第一级验证操作中,所述处理单元使用所读取的密钥,来确定该级验证对象的镜像文件是否为授权文件; 在所述多级验证操作中除了第一级验证操作以外的验证操作中,所述处理单元使用所读取的密钥和该级验证操作的上一级验证操作中的验证对象,来确定该级验证对象的镜像文件是否为授权文件;以及 当每级验证操作中验证对象的镜像文件均为授权文件时,所述处理单元确定完成所述验证操作。
5.如权利要求1至3中任意一项所述的电子设备,其中 所述处理单元还配置来在使用所读取的密钥完成所述验证操作后,加载程序。
6.一种安全启动电子设备的方法,其中所述电子设备包括包含重写保护存储模块的存储单元,所述重写保护存储模块只能够被写入一次,并且被写入该重写保护存储模块的内容不能被修改,所述方法包括: 在加载程序前,读取预先存储在所述重写保护存储模块中的密钥;以及 使用所读取的密钥执行验证操作。
7.如权利要求6所述的方法,其中 所述验证处理包括需要依次进行的多级验证操作,所述多级验证操作中的验证对象不同; 所述使用所读取的密钥执行验证操作包括: 使用所读取的密钥来执行所述多级验证操作中需要首先进行的第一级验证操作,并且使用所读取的密钥和通过了验证的当前验证操作中的验证对象来执行所述多级验证操作中除了第一级验证操作以外的验证操作。
8.如权利要求7所述的方法,其中 所述多级验证操作中的验证对象包括所述电子设备的启动程序集合、预加载器、系统内核、启动器和操作系统中的部分或全部。
9.如权利要求7或8所述的方法,其中所述使用所读取的密钥来执行所述多级验证操作中需要首先进行的第一级验证操作,并且使用所读取的密钥和通过了验证的当前验证操作中的验证对象来执行所述多级验证操作中除了第一级验证操作以外的验证操作包括: 在第一级验证操作中,所述处理单元使用所读取的密钥,来确定该级验证对象的镜像文件是否为授权文件; 在所述多级验证操作中除了第一级验证操作以外的验证操作中,所述处理单元使用所读取的密钥和该级验证操作的上一级验证操作中的验证对象,来确定该级验证对象的镜像文件是否为授权文件;以及 当每级验证操作中验证对象的镜像文件均为授权文件时,所述处理单元确定完成所述验证操作。
10.如权利要求6至8中任意一项所述的方法,还包括: 在使用所读取的密钥`完成所述验证操作后,加载程序。
【文档编号】G06F21/57GK103870745SQ201410128883
【公开日】2014年6月18日 申请日期:2014年4月1日 优先权日:2014年4月1日
【发明者】宋祎斐 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1