CN108228263A - 系统启动的方法及装置 - Google Patents

系统启动的方法及装置 Download PDF

Info

Publication number
CN108228263A
CN108228263A CN201611141099.2A CN201611141099A CN108228263A CN 108228263 A CN108228263 A CN 108228263A CN 201611141099 A CN201611141099 A CN 201611141099A CN 108228263 A CN108228263 A CN 108228263A
Authority
CN
China
Prior art keywords
digital signature
safety verification
boot loader
rom
starts
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
CN201611141099.2A
Other languages
English (en)
Inventor
乜聚虎
张亮
黄灿灿
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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201611141099.2A priority Critical patent/CN108228263A/zh
Publication of CN108228263A publication Critical patent/CN108228263A/zh
Pending legal-status Critical Current

Links

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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本公开是关于一种系统启动的方法及装置,用于提高操作系统的安全性。所述方法包括:运行ROM程序;通过运行ROM程序,对启动加载程序进行安全验证;在安全验证通过时,运行启动加载程序;通过所述启动加载程序,对操作系统进行安全验证;在安全验证通过时,启动操作系统。

Description

系统启动的方法及装置
技术领域
本公开涉及通信及计算机处理领域,尤其涉及系统启动的方法及装置。
背景技术
随着电子技术的发展,移动终端已经普遍应用。各大移动终端厂商,每年都推出多个型号的移动终端。操作系统是移动终端的核心。操作系统的安全性也成为业内关注的焦点。
发明内容
为克服相关技术中存在的问题,本公开提供一种系统启动的方法及装置。
根据本公开实施例的第一方面,提供一种系统启动的方法,包括:
运行ROM程序;
通过运行ROM程序,对启动加载程序进行安全验证;
在安全验证通过时,运行启动加载程序;
通过所述启动加载程序,对操作系统进行安全验证;
在安全验证通过时,启动操作系统。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例在启动启动加载程序之前对启动加载程序进行安全验证,在验证通过时启动启动加载程序,增加了启动加载程序的安全性,减少启动加载程序被篡改的可能。本实施例在启动操作系统之前对操作系统进行安全验证,在验证通过时启动操作系统,增加了操作系统的安全性,减少操作系统被篡改的可能。
在一个实施例中,所述通过运行ROM程序,对启动加载程序进行安全验证,包括:
通过运行ROM程序,遍历ROM分区;
通过遍历ROM分区,对启动加载程序进行安全验证。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例在遍历ROM分区的过程对启动加载程序进行安全验证,提高了处理效率,对启动时间几乎无影响。
在一个实施例中,所述通过运行ROM程序,对启动加载程序进行安全验证,包括:
通过遍历所述ROM分区,根据启动加载程序生成第一数字签名;
将生成的所述第一数字签名与预先存储的第二数字签名匹配;
在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例在遍历ROM分区的同时生成第一数字签名,提高了处理效率。使得验证过程对操作系统的启动时间几乎无影响。
在一个实施例中,所述根据启动加载程序生成第一数字签名,包括:
根据启动加载程序和已有的第一公钥,生成第一数字签名。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例中的第一数字签名是经过加密的,进一步提高了安全性。减少了第一数字签名被修改的可能,相当于提高了验证的准确性。
在一个实施例中,所述第一公钥和所述第二数字签名存储在ROM分区。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例将第一公钥和第二数字签名存储在系统分区,即方便验证时读取第一公钥和第二数字签名,又方便了在操作系统更新时更新第四数字签名。
在一个实施例中,所述通过所述启动加载程序,对操作系统进行安全验证,包括:
通过所述启动加载程序遍历操作系统所在的系统分区;
通过遍历所述系统分区,对操作系统进行安全验证。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例在遍历系统分区的过程对操作系统进行安全验证,提高了处理效率,对启动时间几乎无影响。
在一个实施例中,所述通过遍历所述系统分区,对操作系统进行安全验证,包括:
通过遍历所述系统分区,根据操作系统生成第三数字签名;
将生成的所述第三数字签名与预先存储的第四数字签名匹配;
在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例在遍历系统分区的同时生成第三数字签名,提高了处理效率。使得验证过程对操作系统的启动时间几乎无影响。
在一个实施例中,所述根据操作系统生成第三数字签名,包括:
根据操作系统和已有的第二公钥,生成第三数字签名。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例中的第三数字签名是经过加密的,进一步提高了安全性。减少了第三数字签名被修改的可能,相当于提高了验证的准确性。
在一个实施例中,所述第二公钥和所述第四数字签名存储在操作系统所在的系统分区。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例将第二公钥和第四数字签名存储在系统分区,即方便验证时读取第二公钥和第四数字签名,又方便了在操作系统更新时更新第四数字签名。
根据本公开实施例的第二方面,提供一种系统启动的装置,包括:
ROM运行模块,用于运行ROM程序;
加载验证模块,用于通过运行ROM程序,对启动加载程序进行安全验证;
加载运行模块,用于在安全验证通过时,运行启动加载程序;
系统验证模块,用于通过所述启动加载程序,对操作系统进行安全验证;
系统启动模块,用于在安全验证通过时,启动操作系统。
在一个实施例中,所述加载验证模块包括:
ROM遍历子模块,用于通过运行ROM程序,遍历ROM分区;
加载验证子模块,用于通过遍历ROM分区,对启动加载程序进行安全验证。
在一个实施例中,所述加载验证模块包括:
第一生成子模块,用于通过遍历所述ROM分区,根据启动加载程序生成第一数字签名;
第一匹配子模块,用于将生成的所述第一数字签名与预先存储的第二数字签名匹配;
第一确定子模块,用于在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。
在一个实施例中,所述第一生成子模块根据启动加载程序和已有的第一公钥,生成第一数字签名。
在一个实施例中,所述第一公钥和所述第二数字签名存储在ROM分区。
在一个实施例中,所述系统验证模块包括:
系统遍历子模块,用于通过所述启动加载程序遍历操作系统所在的系统分区;
系统验证子模块,用于通过遍历所述系统分区,对操作系统进行安全验证。
在一个实施例中,所述系统验证模块包括:
第二生成子模块,用于通过遍历所述系统分区,根据操作系统生成第三数字签名;
第二匹配子模块,用于将生成的所述第三数字签名与预先存储的第四数字签名匹配;
第二确定子模块,用于在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。
在一个实施例中,所述第二生成子模块根据操作系统和已有的第二公钥,生成第三数字签名。
在一个实施例中,所述第二公钥和所述第四数字签名存储在操作系统所在的系统分区。
根据本公开实施例的第三方面,提供一种系统启动的装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
运行ROM程序;
通过运行ROM程序,对启动加载程序进行安全验证;
在安全验证通过时,运行启动加载程序;
通过所述启动加载程序,对操作系统进行安全验证;
在安全验证通过时,启动操作系统。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种系统启动的方法的流程图。
图2是根据一示例性实施例示出的一种系统启动的方法的流程图。
图3是根据一示例性实施例示出的一种系统启动的方法的流程图。
图4是根据一示例性实施例示出的一种系统启动的方法的流程图。
图5是根据一示例性实施例示出的一种系统启动的装置的框图。
图6是根据一示例性实施例示出的一种加载验证模块的框图。
图7是根据一示例性实施例示出的一种加载验证模块的框图。
图8是根据一示例性实施例示出的一种系统验证模块的框图。
图9是根据一示例性实施例示出的一种系统验证模块的框图。
图10是根据一示例性实施例示出的一种装置的框图。
图11是根据一示例性实施例示出的一种装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
相关技术中,移动终端的操作系统是移动终端的核心。移动终端在开机或重启时,先启动ROM(固件代码存储器)程序,通过ROM程序启动启动加载程序(bootloader),通过启动加载程序启动操作系统。
启动加载程序在启动操作系统之前,只对操作系统进行数据或文件的完整性检查,不进行安全性检查。如果操作系统被恶意篡改,还是可以正常启动。导致操作系统的安全性较低。
为解决上述问题,本实施例对ROM程序进行了改进,增加了对启动加载程序的安全验证。以及,对启动加载程序进行了改进,增加了对操作系统的安全验证。
图1是根据一示例性实施例示出的一种系统启动的方法的流程图,如图1所示,该方法可以由移动终端实现,包括以下步骤:
在步骤101中,运行ROM程序。
在步骤102中,通过运行ROM程序,对启动加载程序进行安全验证。
在步骤103中,在安全验证通过时,运行启动加载程序。在安全验证不通过时,结束本次流程,不启动加载程序。可以自动关机或输出告警等。
在步骤104中,通过所述启动加载程序,对操作系统进行安全验证。
在步骤105中,在安全验证通过时,启动操作系统。在安全验证不通过时,结束本次流程,不启动操作系统,可以自动关机或输出告警等。
本实施例对ROM程序做了改进,由ROM程序实现对启动加载程序的安全验证。以及,对启动加载程序做了改进,由启动加载程序实现对操作系统的安全验证。
本实施例在移动终端开机或重启时,运行ROM程序。通过ROM程序对启动加载程序进行安全验证。在安全验证通过时启动启动加载程序。提高了安全性。如果他人盗用启动加载程序,无法通过安全验证。如果被篡改,也无法通过安全验证。并且,在启动启动加载程序后,运行启动加载程序。通过启动加载程序对操作系统进行安全验证,在安全验证通过时启动操作系统。提高了安全性。如果他人盗用操作系统,无法通过安全验证。如果被篡改,也无法通过安全验证。
在一个实施例中,步骤102包括:步骤A1-步骤A2。
在步骤A1中,通过运行ROM程序,遍历ROM分区。
在步骤A2中,通过遍历ROM分区,对启动加载程序进行安全验证。
本实施例在遍历ROM分区时对启动加载程序进行安全验证,两个过程同步进行,对启动加载程序的启动时间几乎不影响。提高了处理效率。
在一个实施例中,步骤102包括:步骤B1-步骤B3。
在步骤B1中,通过遍历所述ROM分区,根据启动加载程序生成第一数字签名。
在步骤B2中,将生成的所述第一数字签名与预先存储的第二数字签名匹配。
在步骤B3中,在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。
本实施例中,在安装启动加载程序时,对启动加载程序打包。在打包的同时,生成第二数字签名。将第二数字签名和打包的启动加载程序均烧入ROM分区。移动终端开机或重启时,遍历ROM分区,检查启动加载程序的数据是否完整。同时,遍历ROM分区也是生成第一数字签名的过程。将生成的第一数字签名与预先存储的第二数字签名进行匹配。如果匹配一致,则安全验证通过。可以启动启动加载程序。如果匹配不一致,则安全验证失败,不启动启动加载程序,可以自动关机等。如果启动加载程序被篡改,则根据篡改后的启动加载程序所生成的第一数字签名将与第二数字签名匹配不一致。因此,本实施例可提高安全性,可及时发现被篡改,并使其不能正常使用。
在一个实施例中,步骤B1包括:步骤B11。
在步骤B11中,根据启动加载程序和已有的第一公钥,生成第一数字签名。
本实施例采用非对称加密算法。在安装操作系统时,根据预设的第一私钥和启动加载程序,生成第二数字签名。在安全验证时,根据操作系统和已有的第一公钥,生成第一数字签名。使得第一数字签名和第二数字签名均经过加密处理,提高了安全性,减少被篡改的可能。即使被篡改,也会安全验证不通过。
在一个实施例中,所述第一公钥和所述第二数字签名存储在ROM分区。
启动加载程序在后期一般不更新,因此第二数字签名也不会更新。将第一公钥和第二数字签名存储在ROM分区,不易被修改。提高了安全性。
在一个实施例中,步骤104包括:步骤C1-步骤C2。
在步骤C1中,通过所述启动加载程序遍历操作系统所在的系统分区。
在步骤C2中,通过遍历所述系统分区,对操作系统进行安全验证。
本实施例在遍历系统分区时对操作系统进行安全验证,两个过程同步进行,对操作系统的启动时间几乎不影响。提高了处理效率。
在一个实施例中,步骤104包括:步骤D1-步骤D3。
在步骤D1中,通过遍历所述系统分区,根据操作系统生成第三数字签名。
在步骤D2中,将生成的所述第三数字签名与预先存储的第四数字签名匹配。
在步骤D3中,在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。
本实施例中,在安装操作系统时,对操作系统打包。在打包的同时,生成第四数字签名。将第四数字签名和打包的操作系统均写入系统分区。移动终端开机或重启时,遍历系统分区,检查操作系统的数据是否完整。同时,遍历系统分区也是生成第三数字签名的过程。将生成的第三数字签名与预先存储的第四数字签名进行匹配。如果匹配一致,则安全验证通过。可以启动操作系统。如果匹配不一致,则安全验证失败,不启动操作系统,可以自动关机等。如果操作系统被篡改,则根据篡改后的操作系统所生成的第三数字签名将与第四数字签名匹配不一致。因此,本实施例可提高安全性,可及时发现被篡改,并使其不能正常使用。
在一个实施例中,步骤D1包括:步骤D11。
在步骤D11中,根据操作系统和已有的第二公钥,生成第三数字签名。
本实施例采用非对称加密算法。在安装操作系统时,根据预设的第二私钥和操作系统,生成第四数字签名。在安全验证时,根据操作系统和已有的第二公钥,生成第三数字签名。使得第三数字签名和第四数字签名均经过加密处理,提高了安全性,减少被篡改的可能。即使被篡改,也会安全验证不通过。
在一个实施例中,所述第二公钥和所述第四数字签名存储在操作系统所在的系统分区。
操作系统在后期会不断更新,因此需要根据更新后的操作系统重新生成第四数字签名,以便操作系统更新后可以正常进行安全验证。将第四数字签名存储在系统分区,便于第四数字签名的更新。
下面通过几个实施例详细介绍实现过程。
图2是根据一示例性实施例示出的一种系统启动的方法的流程图,如图2所示,该方法可以由移动终端实现,包括以下步骤:
在步骤201中,运行ROM程序。
在步骤202中,通过运行ROM程序,遍历ROM分区。
在步骤203中,通过遍历ROM分区,对启动加载程序进行安全验证。在安全验证通过时,继续步骤204;在安全验证不通过时,继续步骤208。
在步骤204中,运行启动加载程序。
在步骤205中,通过所述启动加载程序遍历操作系统所在的系统分区。
在步骤206中,通过遍历所述系统分区,对操作系统进行安全验证。在安全验证通过时,继续步骤207;在安全验证不通过时,继续步骤208。
在步骤207中,启动操作系统。
在步骤208中,不启动,自动关机。
图3是根据一示例性实施例示出的一种系统启动的方法的流程图,如图3所示,该方法可以由移动终端实现,包括以下步骤:
在步骤301中,运行ROM程序。
在步骤302中,通过运行ROM程序,遍历ROM分区。
在步骤303中,通过遍历所述ROM分区,根据启动加载程序生成第一数字签名。
在步骤304中,将生成的所述第一数字签名与预先存储的第二数字签名匹配。在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。在生成的所述第一数字签名与预先存储的第二数字签名匹配不一致时,确定安全验证不通过。在安全验证通过时,继续步骤305;在安全验证不通过时,继续步骤310。
在步骤305中,运行启动加载程序。
在步骤306中,通过所述启动加载程序遍历操作系统所在的系统分区。
在步骤307中,通过遍历所述系统分区,根据操作系统生成第三数字签名。
在步骤308中,将生成的所述第三数字签名与预先存储的第四数字签名匹配。在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证不通过。在安全验证通过时,继续步骤309;在安全验证不通过时,继续步骤310。
在步骤309中,启动操作系统。
在步骤310中,不启动,自动关机。
图4是根据一示例性实施例示出的一种系统启动的方法的流程图,如图4所示,该方法可以由移动终端实现,包括以下步骤:
在步骤401中,运行ROM程序。
在步骤402中,通过运行ROM程序,遍历ROM分区。
在步骤403中,通过遍历所述ROM分区,根据启动加载程序和已有的第一公钥,生成第一数字签名。
在步骤404中,将生成的所述第一数字签名与预先存储的第二数字签名匹配。在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。在生成的所述第一数字签名与预先存储的第二数字签名匹配不一致时,确定安全验证不通过。在安全验证通过时,继续步骤405;在安全验证不通过时,继续步骤410。
在步骤405中,运行启动加载程序。
在步骤406中,通过所述启动加载程序遍历操作系统所在的系统分区。
在步骤407中,通过遍历所述系统分区,根据操作系统和已有的第二公钥,生成第三数字签名。
在步骤408中,将生成的所述第三数字签名与预先存储的第四数字签名匹配。在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证不通过。在安全验证通过时,继续步骤409;在安全验证不通过时,继续步骤410。
在步骤409中,启动操作系统。
在步骤410中,不启动,自动关机。
上述实施例可以根据实际需要进行各种组合。
通过以上介绍了解了系统启动的实现过程,该过程由移动终端或计算机实现,下面针对设备的内部结构和功能进行介绍。
图5是根据一示例性实施例示出的一种系统启动的装置示意图。参照图5,该装置包括:ROM运行模块501、加载验证模块502、加载运行模块503、系统验证模块504和系统启动模块505。
ROM运行模块501,用于运行ROM程序。
加载验证模块502,用于通过运行ROM程序,对启动加载程序进行安全验证。
加载运行模块503,用于在安全验证通过时,运行启动加载程序。
系统验证模块504,用于通过所述启动加载程序,对操作系统进行安全验证。
系统启动模块505,用于在安全验证通过时,启动操作系统。
在一个实施例中,如图6所示,所述加载验证模块502包括:ROM遍历子模块601和加载验证子模块602。
ROM遍历子模块601,用于通过运行ROM程序,遍历ROM分区。
加载验证子模块602,用于通过遍历ROM分区,对启动加载程序进行安全验证。
在一个实施例中,如图7所示,所述加载验证模块502包括:第一生成子模块701、第一匹配子模块702和第一确定子模块703。
第一生成子模块701,用于通过遍历所述ROM分区,根据启动加载程序生成第一数字签名。
第一匹配子模块702,用于将生成的所述第一数字签名与预先存储的第二数字签名匹配。
第一确定子模块703,用于在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。
在一个实施例中,所述第一生成子模块701根据启动加载程序和已有的第一公钥,生成第一数字签名。
在一个实施例中,所述第一公钥和所述第二数字签名存储在ROM分区。
在一个实施例中,如图8所示,所述系统验证模块504包括:系统遍历子模块801和系统验证子模块802。
系统遍历子模块801,用于通过所述启动加载程序遍历操作系统所在的系统分区。
系统验证子模块802,用于通过遍历所述系统分区,对操作系统进行安全验证。
在一个实施例中,如图9所示,所述系统验证模块504包括:第二生成子模块901、第二匹配子模块902和第二确定子模块903。
第二生成子模块901,用于通过遍历所述系统分区,根据操作系统生成第三数字签名。
第二匹配子模块902,用于将生成的所述第三数字签名与预先存储的第四数字签名匹配。
第二确定子模块903,用于在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。
在一个实施例中,所述第二生成子模块901根据操作系统和已有的第二公钥,生成第三数字签名。
在一个实施例中,所述第二公钥和所述第四数字签名存储在操作系统所在的系统分区。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10是根据一示例性实施例示出的一种用于系统启动的装置1000的框图。例如,装置1000可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图10,装置1000可以包括以下一个或多个组件:处理组件1002,存储器1004,电源组件1006,多媒体组件1008,音频组件1010,输入/输出(I/O)的接口1012,传感器组件1014,以及通信组件1016。
处理组件1002通常控制装置1000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1002可以包括一个或多个处理器1020来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1002可以包括一个或多个模块,便于处理组件1002和其他组件之间的交互。例如,处理组件1002可以包括多媒体模块,以方便多媒体组件1008和处理组件1002之间的交互。
存储器1004被配置为存储各种类型的数据以支持在装置1000的操作。这些数据的示例包括用于在装置1000上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1006为装置1000的各种组件提供电源。电源组件1006可以包括电源管理系统,一个或多个电源,及其他与为装置1000生成、管理和分配电源相关联的组件。
多媒体组件1008包括在所述装置1000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1008包括一个前置摄像头和/或后置摄像头。当装置1000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1010被配置为输出和/或输入音频信号。例如,音频组件1010包括一个麦克风(MIC),当装置1000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1004或经由通信组件1016发送。在一些实施例中,音频组件1010还包括一个扬声器,用于输出音频信号。
I/O接口1012为处理组件1002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1014包括一个或多个传感器,用于为装置1000提供各个方面的状态评估。例如,传感器组件1014可以检测到装置1000的打开/关闭状态,组件的相对定位,例如所述组件为装置1000的显示器和小键盘,传感器组件1014还可以检测装置1000或装置1000的一个组件的位置改变,用户与装置1000接触的存在或不存在,装置1000方位或加速/减速和装置1000的温度变化。传感器组件1014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1014还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1014还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1016被配置为便于装置1000和其他设备之间有线或无线方式的通信。装置1000可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1016经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1016还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置1000可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1004,上述指令可由装置1000的处理器1020执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种系统启动的装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
运行ROM程序;
通过运行ROM程序,对启动加载程序进行安全验证;
在安全验证通过时,运行启动加载程序;
通过所述启动加载程序,对操作系统进行安全验证;
在安全验证通过时,启动操作系统。
所述处理器还可以被配置为:
所述通过运行ROM程序,对启动加载程序进行安全验证,包括:
通过运行ROM程序,遍历ROM分区;
通过遍历ROM分区,对启动加载程序进行安全验证。
所述处理器还可以被配置为:
所述通过运行ROM程序,对启动加载程序进行安全验证,包括:
通过遍历所述ROM分区,根据启动加载程序生成第一数字签名;
将生成的所述第一数字签名与预先存储的第二数字签名匹配;
在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。
所述处理器还可以被配置为:
所述根据启动加载程序生成第一数字签名,包括:
根据启动加载程序和已有的第一公钥,生成第一数字签名。
所述处理器还可以被配置为:
所述第一公钥和所述第二数字签名存储在ROM分区。
所述处理器还可以被配置为:
所述通过所述启动加载程序,对操作系统进行安全验证,包括:
通过所述启动加载程序遍历操作系统所在的系统分区;
通过遍历所述系统分区,对操作系统进行安全验证。
所述处理器还可以被配置为:
所述通过遍历所述系统分区,对操作系统进行安全验证,包括:
通过遍历所述系统分区,根据操作系统生成第三数字签名;
将生成的所述第三数字签名与预先存储的第四数字签名匹配;
在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。
所述处理器还可以被配置为:
所述根据操作系统生成第三数字签名,包括:
根据操作系统和已有的第二公钥,生成第三数字签名。
所述处理器还可以被配置为:
所述第二公钥和所述第四数字签名存储在操作系统所在的系统分区。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种系统启动的方法,所述方法包括:
运行ROM程序;
通过运行ROM程序,对启动加载程序进行安全验证;
在安全验证通过时,运行启动加载程序;
通过所述启动加载程序,对操作系统进行安全验证;
在安全验证通过时,启动操作系统。
所述存储介质中的指令还可以包括:
所述通过运行ROM程序,对启动加载程序进行安全验证,包括:
通过运行ROM程序,遍历ROM分区;
通过遍历ROM分区,对启动加载程序进行安全验证。
所述存储介质中的指令还可以包括:
所述通过运行ROM程序,对启动加载程序进行安全验证,包括:
通过遍历所述ROM分区,根据启动加载程序生成第一数字签名;
将生成的所述第一数字签名与预先存储的第二数字签名匹配;
在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。
所述存储介质中的指令还可以包括:
所述根据启动加载程序生成第一数字签名,包括:
根据启动加载程序和已有的第一公钥,生成第一数字签名。
所述存储介质中的指令还可以包括:
所述第一公钥和所述第二数字签名存储在ROM分区。
所述存储介质中的指令还可以包括:
所述通过所述启动加载程序,对操作系统进行安全验证,包括:
通过所述启动加载程序遍历操作系统所在的系统分区;
通过遍历所述系统分区,对操作系统进行安全验证。
所述存储介质中的指令还可以包括:
所述通过遍历所述系统分区,对操作系统进行安全验证,包括:
通过遍历所述系统分区,根据操作系统生成第三数字签名;
将生成的所述第三数字签名与预先存储的第四数字签名匹配;
在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。
所述存储介质中的指令还可以包括:
所述根据操作系统生成第三数字签名,包括:
根据操作系统和已有的第二公钥,生成第三数字签名。
所述存储介质中的指令还可以包括:
所述第二公钥和所述第四数字签名存储在操作系统所在的系统分区。
图11是根据一示例性实施例示出的一种用于系统启动的装置1100的框图。例如,装置1100可以被提供为一计算机。参照图11,装置1100包括处理组件1122,其进一步包括一个或多个处理器,以及由存储器1132所代表的存储器资源,用于存储可由处理组件1122的执行的指令,例如应用程序。存储器1132中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1122被配置为执行指令,以执行上述方法系统启动。
装置1100还可以包括一个电源组件1126被配置为执行装置1100的电源管理,一个有线或无线网络接口1150被配置为将装置1100连接到网络,和一个输入输出(I/O)接口1158。装置1100可以操作基于存储在存储器1132的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (19)

1.一种系统启动的方法,其特征在于,包括:
运行ROM程序;
通过运行ROM程序,对启动加载程序进行安全验证;
在安全验证通过时,运行启动加载程序;
通过所述启动加载程序,对操作系统进行安全验证;
在安全验证通过时,启动操作系统。
2.根据权利要求1所述的系统启动的方法,其特征在于,所述通过运行ROM程序,对启动加载程序进行安全验证,包括:
通过运行ROM程序,遍历ROM分区;
通过遍历ROM分区,对启动加载程序进行安全验证。
3.根据权利要求1所述的系统启动的方法,其特征在于,所述通过运行ROM程序,对启动加载程序进行安全验证,包括:
通过遍历所述ROM分区,根据启动加载程序生成第一数字签名;
将生成的所述第一数字签名与预先存储的第二数字签名匹配;
在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。
4.根据权利要求3所述的系统启动的方法,其特征在于,所述根据启动加载程序生成第一数字签名,包括:
根据启动加载程序和已有的第一公钥,生成第一数字签名。
5.根据权利要求4所述的系统启动的方法,其特征在于,所述第一公钥和所述第二数字签名存储在ROM分区。
6.根据权利要求1所述的系统启动的方法,其特征在于,所述通过所述启动加载程序,对操作系统进行安全验证,包括:
通过所述启动加载程序遍历操作系统所在的系统分区;
通过遍历所述系统分区,对操作系统进行安全验证。
7.根据权利要求1所述的系统启动的方法,其特征在于,所述通过遍历所述系统分区,对操作系统进行安全验证,包括:
通过遍历所述系统分区,根据操作系统生成第三数字签名;
将生成的所述第三数字签名与预先存储的第四数字签名匹配;
在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。
8.根据权利要求7所述的系统启动的方法,其特征在于,所述根据操作系统生成第三数字签名,包括:
根据操作系统和已有的第二公钥,生成第三数字签名。
9.根据权利要求8所述的系统启动的方法,其特征在于,所述第二公钥和所述第四数字签名存储在操作系统所在的系统分区。
10.一种系统启动的装置,其特征在于,包括:
ROM运行模块,用于运行ROM程序;
加载验证模块,用于通过运行ROM程序,对启动加载程序进行安全验证;
加载运行模块,用于在安全验证通过时,运行启动加载程序;
系统验证模块,用于通过所述启动加载程序,对操作系统进行安全验证;
系统启动模块,用于在安全验证通过时,启动操作系统。
11.根据权利要求10所述的系统启动的装置,其特征在于,所述加载验证模块包括:
ROM遍历子模块,用于通过运行ROM程序,遍历ROM分区;
加载验证子模块,用于通过遍历ROM分区,对启动加载程序进行安全验证。
12.根据权利要求10所述的系统启动的装置,其特征在于,所述加载验证模块包括:
第一生成子模块,用于通过遍历所述ROM分区,根据启动加载程序生成第一数字签名;
第一匹配子模块,用于将生成的所述第一数字签名与预先存储的第二数字签名匹配;
第一确定子模块,用于在生成的所述第一数字签名与预先存储的第二数字签名匹配一致时,确定安全验证通过。
13.根据权利要求12所述的系统启动的装置,其特征在于,所述第一生成子模块根据启动加载程序和已有的第一公钥,生成第一数字签名。
14.根据权利要求13所述的系统启动的装置,其特征在于,所述第一公钥和所述第二数字签名存储在ROM分区。
15.根据权利要求10所述的系统启动的装置,其特征在于,所述系统验证模块包括:
系统遍历子模块,用于通过所述启动加载程序遍历操作系统所在的系统分区;
系统验证子模块,用于通过遍历所述系统分区,对操作系统进行安全验证。
16.根据权利要求10所述的系统启动的装置,其特征在于,所述系统验证模块包括:
第二生成子模块,用于通过遍历所述系统分区,根据操作系统生成第三数字签名;
第二匹配子模块,用于将生成的所述第三数字签名与预先存储的第四数字签名匹配;
第二确定子模块,用于在生成的所述第三数字签名与预先存储的第四数字签名匹配一致时,确定安全验证通过。
17.根据权利要求16所述的系统启动的装置,其特征在于,所述第二生成子模块根据操作系统和已有的第二公钥,生成第三数字签名。
18.根据权利要求17所述的系统启动的装置,其特征在于,所述第二公钥和所述第四数字签名存储在操作系统所在的系统分区。
19.一种系统启动的装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
运行ROM程序;
通过运行ROM程序,对启动加载程序进行安全验证;
在安全验证通过时,运行启动加载程序;
通过所述启动加载程序,对操作系统进行安全验证;
在安全验证通过时,启动操作系统。
CN201611141099.2A 2016-12-12 2016-12-12 系统启动的方法及装置 Pending CN108228263A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611141099.2A CN108228263A (zh) 2016-12-12 2016-12-12 系统启动的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611141099.2A CN108228263A (zh) 2016-12-12 2016-12-12 系统启动的方法及装置

Publications (1)

Publication Number Publication Date
CN108228263A true CN108228263A (zh) 2018-06-29

Family

ID=62637354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611141099.2A Pending CN108228263A (zh) 2016-12-12 2016-12-12 系统启动的方法及装置

Country Status (1)

Country Link
CN (1) CN108228263A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542518A (zh) * 2018-10-09 2019-03-29 华为技术有限公司 芯片和启动芯片的方法
CN109814934A (zh) * 2019-01-31 2019-05-28 安谋科技(中国)有限公司 数据处理方法、装置、可读介质和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150200934A1 (en) * 2010-06-30 2015-07-16 Google Inc. Computing device integrity verification
CN105975864A (zh) * 2016-04-29 2016-09-28 北京小米移动软件有限公司 操作系统的启动方法、装置及终端
CN106156635A (zh) * 2016-07-29 2016-11-23 深圳兆日科技股份有限公司 终端启动方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150200934A1 (en) * 2010-06-30 2015-07-16 Google Inc. Computing device integrity verification
CN105975864A (zh) * 2016-04-29 2016-09-28 北京小米移动软件有限公司 操作系统的启动方法、装置及终端
CN106156635A (zh) * 2016-07-29 2016-11-23 深圳兆日科技股份有限公司 终端启动方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542518A (zh) * 2018-10-09 2019-03-29 华为技术有限公司 芯片和启动芯片的方法
CN109542518B (zh) * 2018-10-09 2020-12-22 华为技术有限公司 芯片和启动芯片的方法
CN109814934A (zh) * 2019-01-31 2019-05-28 安谋科技(中国)有限公司 数据处理方法、装置、可读介质和系统
CN109814934B (zh) * 2019-01-31 2022-05-06 安谋科技(中国)有限公司 数据处理方法、装置、可读介质和系统

Similar Documents

Publication Publication Date Title
EP3242195B1 (en) Control implementation method and apparatus for intelligent hardware device
EP3089065B1 (en) Method and device for permission management
CN104991789B (zh) 应用程序开启方法和装置
CN104484200B (zh) 对固件进行升级的方法及装置
EP3331226B1 (en) Method and device for reading messages
CN105807873A (zh) 温度控制方法及装置
CN105975864A (zh) 操作系统的启动方法、装置及终端
EP3239881A1 (en) Unlocking method and apparatus
CN109214187B (zh) 一种控制计算机启动的方法、装置和电子设备
CN107491681B (zh) 指纹信息处理方法及装置
CN108228263A (zh) 系统启动的方法及装置
US10402562B2 (en) Method and device for encrypting application
US9721454B2 (en) Method for protecting terminal devices and the terminal device thereof
CN104239095A (zh) 操作系统启动方法、装置及终端设备
CN107506636A (zh) 预装应用程序的保护方法及装置
CN108446226A (zh) 应用异常的处理方法
CN117193944A (zh) 应用运行环境生成方法、装置、服务器以及存储设备
CN104899059A (zh) 操作系统升级方法及装置
CN108229173A (zh) 系统启动的方法及装置
CN106791145A (zh) 短信息管理方法及装置
CN106485151B (zh) 控制刷机的方法及装置
CN105094891B (zh) 效果显示方法及装置
CN108319828A (zh) 锁屏管理方法及装置
CN106709285B (zh) 应用锁界面的显示方法及装置
CN111813426A (zh) 一种指纹数据处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180629

RJ01 Rejection of invention patent application after publication