安全开机方法及电脑系统的制作方法

文档序号:6488283阅读:136来源:国知局
安全开机方法及电脑系统的制作方法
【专利摘要】用于电脑系统的安全开机方法,包含有藉由一中央处理器设定一第一状态的控制信号并输出至一存储器控制器,以使得一储存有一加密开机程序码的闪存为只读状态;根据该加密开机程序码,该中央处理器输出一芯片身份以及一验证密钥至一验证单元,以透过该验证单元判断该芯片身份以及该验证密钥是否皆正确;若正确,该中央处理器设定一第零状态的控制信号并输出至该存储器控制器,以使得该闪存为可读写状态;以及透过该验证单元对该加密开机程序码执行解密动作,并将该解密后的开机程序码储存于该闪存中。
【专利说明】安全开机方法及电脑系统
【技术领域】
[0001]本发明是指一种安全开机方法及电脑系统,尤指一种将加密后的开机程序码储存于闪存中,以提升信息安全以及降低成本的安全开机方法及电脑系统。
【背景技术】
[0002]随着电脑系统的功能日益强化,在电脑开机程序中所需要进行的签名验证、硬体初始化等参数的设定也日趋复杂。具体来说,在电脑系统开机后,由基本输入输出系统(Basic Input/Output System)读取开机程序码,执行后续开机步骤,如开机自我测试(Power on Self Test, POST)、随插即用测试(Plug and Play test)、硬体设定(HardwareConfiguration)等动作,以进入作业系统。因此,开机程序码几乎无法容许有错误于其中,因为在开机过程中任何的小错误都可能导致电脑系统无法正常开机,陷入停顿或不正常关机的状态。
[0003]传统上用来储存开机程序码的存储器,常见的有时序/组合逻辑电路(Sequential/combination Logic Cell)、光罩只读存储器(Mask Read-Only Memory,MROM)或超级永久性存储器(eXtra Permanent Memory,XPM)等。逻辑电路是透过半导体工艺,直接将开机程序码编写入逻辑电路中,一旦逻辑电路制造完成,则无法对开机程序码进行修改。因此,在电脑产品生产之前必须完成开机程序码的设计,若在产品生产之后发现错误,则需替换整个逻辑电路,如此即限制了开机程序码的开发周期以及设计弹性。光罩只读存储器为一种可重复编程的存储器,可利用聚集离子束(Focused 1n Beam,FIB)等技术重复编写入数据,因此可具有较高的设计弹性,但相对地其安全性较低,容易遭骇客攻击、窜改其中的内容。超级永久性存储器其价格高昂并存有不稳定的缺陷,因而不常见于市场上。
[0004]因此,如何将日趋复杂的开机程序码储存于适当的存储器中,同时搭配设计一种具有高设计弹性、高安全性以及低成本的开机方法,实为本领域的重要课题之一。

【发明内容】

[0005]因此,本发明的主要目的在于提供一种安全开机方法及电脑系统,将加密后的开机程序码储存于闪存中,以提升信息安全以及降低生产成本。
[0006]本发明揭露一种安全开机方法,用于一电脑系统,该安全开机方法包含有藉由一中央处理器设定一第一状态的控制信号并输出至一存储器控制器,以使得一储存有一加密开机程序码的闪存为只读状态;根据该加密开机程序码,该中央处理器输出一芯片身份以及一验证密钥至一验证单元,以透过该验证单元判断该芯片身份以及该验证密钥是否皆正确;若正确,该中央处理器设定一第零状态的控制信号并输出至该存储器控制器,以使得该闪存为可读写状态;以及透过该验证单元对该加密开机程序码执行解密动作,并将该解密后的开机程序码储存于该闪存中。
[0007]本发明另揭露一种电脑系统,包含有一中央处理器;一闪存,用来储存一加密开机程序码;一存储器控制器,耦接于该闪存以及该中央处理器,用来根据该中央处理器设定的一第一状态的控制信号,控制该闪存为只读状态,以便该中央处理器读取该加密开机程序码;或根据该中央处理器设定的一第零状态的控制信号,使得该闪存为可读写状态;以便该中央处理器读取该加密开机程序码以及写入一解密开机程序码;以及一验证单元,耦接于该中央处理器以及该闪存,用来根据该中央处理器输出的一芯片身份及一验证密钥,判断是否由中央处理器对该加密开机程序码执行一解密动作,以产生并储存该解密开机程序码于该闪存。
【专利附图】

【附图说明】
[0008]图1为本发明实施例一电脑系统的示意图;
[0009]图2为本发明实施例另一电脑系统的示意图;
[0010]图3为本发明实施例一安全开机流程的示意图。
[0011]主要元件符号说明
[0012]10、20电脑系统
[0013]11中央处理器
[0014]12闪存
[0015]13存储器控制器
[0016]14随机存取存储器
[0017]15验证单元
`[0018]26只读存储器
[0019]0ΤΡ_ΒΙΤ控制信号
[0020]ID芯片身份
[0021]KEY验证密钥
[0022]BootROM、BootR0M_ori开机程序码
[0023]0、1、2状态
[0024]30安全开机流程
[0025]301、302、303、304、305、306 步骤
【具体实施方式】
[0026]请参考图1,图1为本发明实施例一电脑系统10的示意图。电脑系统10可以是任何需要执行开机程序的电子装置,例如个人电脑、行动电话、个人数位助理、伺服器或数位机上盒等。电脑系统10包含有一中央处理器11、一闪存(Flash Memory) 12、一存储器控制器13、一随机存取存储器(Random Access Memory, RAM) 14以及一验证单元15。
[0027]如图1所示,闪存12较佳地可为一系统级封装串行闪存(System in PackageSerial Flash MemoRY,SiP SFLASH)或是采用一 Hard Macro工艺的串行闪存等。闪存12可用来储存一开机程序码BootROM,以供中央处理器11读取来执行开机程序。存储器控制器13耦接于闪存12,并且透过写入以及读取总线耦接于中央处理器11,用来根据中央处理器11输出的控制信号0ΤΡ_ΒΙΤ,控制中央处理器11读取或写入闪存12的权限。举例来说,当控制信号0ΤΡ_ΒΙΤ预设为状态O (第零状态)时,中央处理器11可自由读取或将数据写入闪存12中。当控制信号0ΤΡ_ΒΙΤ设定为状态I (第一状态)时,中央处理器11只能读取闪存12的内容,而限制其写入动作。验证单元15耦接于中央处理器11、闪存12以及随机存取存储器14,用来根据中央处理器11输出的芯片身份ID以及验证密钥KEY,对开机程序码BootROM执行解密动作,并将解密后的开机程序码BootROM储存于闪存12。中央处理器11透过随机存取存储器14读取解密后的开机程序码BootROM,以执行开机程序。
[0028]具体来说,当电脑系统10开启电源准备执行开机程序之前,中央处理器11设定控制信号0TP_BIT为1,使得存储器控制器13限制写入闪存12的动作并进入只读状态。中央处理器11读取储存于闪存12中的加密开机程序码BootROM,据以输出芯片身份ID以及验证密钥KEY至验证单元15。若验证单元15判断芯片身份ID以及验证密钥KEY皆正确无误,则对加密的开机程序码BootROM执行解密动作,并将解密后的开机程序码BootROM储存于闪存12中。需要指出的是,在电脑系统中,任何指令操作归根结底是由中央处理器执行,因此上述对开机程序码BootROM进行解密的动作也需要由中央处理器11透过验证单元15完成;具体的,中央处理器11首先设定控制信号0TP_BIT为0,使得闪存12进入可读写状态,然后依照验证单元15的解密指令,藉助随机存取存储器14,从闪存12中提取加密的开机程序码BootROM,执行解密操作,并将完成解密的开机程序码BootROM再写回闪存12中。当验证单元15完成上述开机程序码BootROM的解密动作,中央处理器11则透过随机存取存储器14读取解密后的开机程序码BootROM,以执行开机程序。
[0029]简言之,由于闪存12的单位储存容量的价格低廉以及具有易更新的特点,本发明主要系将开机程序码BootROM储存于闪存12中,以达到节省成本以及高设计弹性的目的。并且,为了提高开机程序码BootROM的安全性,本发明搭配了开机程序码BootROM的验证步骤,以防止开机程序码BootROM遭受骇客攻击,达到信息保护的目的。
[0030]除此之外,图1描述的开机方法可与现有的开机方法近一步地结合,以作为备用的开机方案。请参考图2,图2为本发明实施例一电脑系统20的示意图。图2与图1的差异在于,当中央处理器11输出的控制信号0TP_BIT为状态2 (第二状态)时,可直接读取另一只读存储器26储存的开机程序码BootR0M_ori,进行开机程序。其中只读存储器26可为任意形式的只读存储器,例如一次性可编程(One Time Programmable, OTP)只读存储器、电子抹除式可复写只读存储器(Electrically Erasable Programmable ROM,EEPR0M)等。若在电脑系统20量产的过程中或是量产之后,发现开机程序码BootR0M_ori存有错误,则设计者可将除错完成的开机程序码BootROM储存入闪存12中,并设定中央处理器11在执行开机程序前输出的控制信号0TP_BIT为状态1,以启动备用的开机方案。如此可使电脑系统20在生产之后具有可维修性,不需为了修改开机程序码BootR0M_ori而替换只读存储器26。
[0031]关于上述电脑系统10、20的运作方式可归纳为一安全开机流程30,如图3所示,安全开机流程30包含有以下步骤:
[0032]步骤300:开始。
[0033]步骤301:输出控制信号0TP_BIT为状态I,以读取储存于闪存12中的加密开机程序码 BootROM。
[0034]步骤302:根据加密开机程序码BootROM,输出芯片身份ID以及验证密钥KEY至验证单元15,以透过验证单元15判断芯片身份ID以及验证密钥KEY是否皆正确,若是,则进行步骤303 ;若否,则进行步骤305。[0035]步骤303:输出控制信号0ΤΡ_ΒΙΤ为状态0,对加密开机程序码BootROM执行解密动作,并将解密后的开机程序码BootROM储存于闪存12中。
[0036]步骤304:透过随机存取存储器14读取解密后的开机程序码BootROM,以执行开机程序。
[0037]步骤305:执行关机程序。
[0038]步骤306:结束。
[0039]关于安全开机流程30的详细实施方式可参考前述,于此不赘述。
[0040]综上所述,由于电脑系统可支援的功能日益强大,因此电脑系统开机过程中所需的开机程序码也日趋复杂。本发明主要根据闪存的单位储存容量的价格低廉以及具有易更新的特点,将开机程序码储存于闪存中,以达到节省成本以及高设计弹性的目的。并且,为了提高开机程序码的安全性,本发明搭配了开机程序码的验证步骤,以防止开机程序码遭受骇客攻击,达到信息保护的目的。因此,本发明不仅可提供设计者更多的开发时间、实现客制化功能,甚至可以在电脑系统量产过程中随时更新开机程序码,达到设计灵活性佳、高信息安全性以及低成本的功效。
[0041]以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
【权利要求】
1.一种安全开机方法,用于一电脑系统,该安全开机方法包含有: 藉由一中央处理器设定一第一状态的控制信号并输出至一存储器控制器,以使得一储存有一加密开机程序码的闪存为只读状态; 根据该加密开机程序码,该中央处理器输出一芯片身份以及一验证密钥至一验证单元,以透过该验证单元判断该芯片身份以及该验证密钥是否皆正确; 若正确,该中央处理器设定一第零状态的控制信号并并输出至该存储器控制器,以使得该闪存为可读写状态;以及 透过该验证单元对该加密开机程序码执行解密动作,并将该解密后的开机程序码储存于该闪存中。
2.如权利要求1所述的安全开机方法,其中当该验证单元判断该芯片身份以及该验证密钥皆正确时,则该中央处理器透过一随机存取存储器读取解密后的该开机程序码,以执行一开机程序。
3.如权利要求1所述的安全开机方法,其中当该验证单元判断该芯片身份以及该验证密钥中至少一者不正确时,则该中央处理器执行一关机程序。
4.如权利要求1所述的安全开机方法,其中该闪存是一系统级封装串行闪存(Systemin Package Serial Flash Memory, SiP SFLASH)或是一米用 Hard Macro 工艺的串行闪存。
5.如权利要求1所述的安全开机方法,其中该电脑系统另包含有一只读存储器,用来储存一原始开机程序码。
6.如权利要求 5所述的安全开机方法,其中另包含有: 藉由一中央处理器设定一第二状态的控制信号并传输至该存储器控制器,使得一存储有一原始开机程序码的只读存储器可读,并读取该原始开机程序码,执行一原始开机程序。
7.一种电脑系统,包含有: 一中央处理器; 一闪存,用来储存一加密开机程序码; 一存储器控制器,耦接于该闪存以及该中央处理器,用来根据该中央处理器设定的一第一状态的控制信号,控制该闪存为只读状态,以便该中央处理器读取该加密开机程序码;或根据该中央处理器设定的一第零状态的控制信号,使得该闪存为可读写状态;以便该中央处理器读取该加密开机程序码以及写入一解密开机程序码;以及 一验证单元,耦接于该中央处理器以及该闪存,用来根据该中央处理器输出的一芯片身份及一验证密钥,判断是否由中央处理器对该加密开机程序码执行一解密动作,以产生并储存该解密开机程序码于该闪存。
8.如权利要求7所述的电脑系统,其中当该验证单元判断该芯片身份以及该验证密钥皆正确时,则该中央处理器透过一随机存取存储器读取该闪存储存的该解密开机程序码,以执行一开机程序。
9.如权利要求7所述的电脑系统,其中当该验证单元判断该芯片身份以及该验证密钥中至少一者不正确时,则该中央处理器执行一关机程序。
10.如权利要求7所述的电脑系统,其中该闪存是一系统级封装串行闪存(SysteminPackage Serial Flash Memory, SiP SFLASH)或是一米用 Hard Macro 工艺的串行闪存。
11.如权利要求7所述的电脑系统,其另包含有一只读存储器,用来储存一原始开机程序码。
12.如权利要求11所述的电脑系统,其中当该中央处理器设定一第二状态的控制信号时,该中央处理器读取储存于该 只读存储器的该原始开机程序码,以执行一原始开机程序。
【文档编号】G06F21/72GK103679059SQ201210313814
【公开日】2014年3月26日 申请日期:2012年8月29日 优先权日:2012年8月29日
【发明者】胡德才 申请人:珠海扬智电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1