计算机从设备安全代码加载的方法与系统的制作方法

文档序号:6632313阅读:168来源:国知局
计算机从设备安全代码加载的方法与系统的制作方法
【专利摘要】本发明提出了一种计算机从设备安全代码加载的方法与系统,属于计算机安全【技术领域】,计算机从设备中的安全处理器负责管理以加密形式存储的可执行代码及数据的安全加载;安全处理器对加密的可执行代码及数据进行解密,对解密后的内容进行验证,并将其存放在只能由计算机从设备访问的保密存储区域;安全处理器在安全加载可执行代码及数据时阻塞计算机从设备主处理器的操作,并在安全验证完成后解除阻塞;同时,安全处理器负责存放用于对加密的可执行代码及数据进行解密的密钥。本发明涉及计算机从设备代码加载前的数据管理、专用存储器控制管理以及代码加载完成后的安全区域划分,贯穿计算机从设备代码加载的全过程,全面提升代码加载的安全性。
【专利说明】计算机从设备安全代码加载的方法与系统

【技术领域】
[0001]本发明属于计算机安全【技术领域】,具体涉及一种计算机从设备安全代码加载的方法与系统。

【背景技术】
[0002]随着安全意识的不断增长,提供从受损对象对信息或系统的访问保护成为一个研究热点。互联系统的发展非常迅速,越来越少的设备以独立的方式进行工作,当今的大部分系统都表现为复杂网络的一部分,而网络的发展则需要不断提高系统性能及系统灵活性。同时,提高系统安全性抵抗非法访问也成为主要关注点。
[0003]PC将成为未来家庭的中心设备,越来越多的应用将系统作为中心点来发布视频或音频等数据。但是,这也给计算机插卡生产商带来知识产权保护问题。这些企业必须将二进制代码、现场可编程门阵列(FPGA)代码或其它知识产权产品装入其生产的设备中,而最常用的存储上述代码的设备则是计算机硬件。这种存储方式使代码面临如非法访问等安全威胁。这些代码可以通过任何标准的二进制查看工具被很多人访问,同时,销售方可能想存储一些一般情况下大众无法获得的敏感硬件参数或文件。对于本领域的普通技术人员而言,传统方法的其它缺点是显而易见的。


【发明内容】

[0004]本发明要解决的技术问题在于克服现有技术的不足,提出一种计算机从设备安全代码加载的方法与系统,通过加密可执行代码提高安全性。
[0005]本发明解决其技术问题所采用的技术方案是:
计算机从设备安全代码加载的方法,应用于包含从设备的计算机处理设备中,所述方法包括:在从设备中设置一个安全处理器,用于管理从设备中可执行代码与数据的加载,并负责从设备中可执行代码与数据的解密,以及将解密后的可执行代码与数据存储在从设备的专用存储器的保密区域;所述保密区域指存储器中仅能被从设备访问的区域。
[0006]进一步的,本发明的计算机从设备安全代码加载的方法,所述方法包括安全处理器对解密后的可执行代码及数据的验证。
[0007]进一步的,本发明的计算机从设备安全代码加载的方法,所述方法包括安全处理器在可执行代码及数据的安全加载期间阻塞主处理器的操作,以及在安全处理器完成可执行代码及数据的验证后解除对主处理器的阻塞。
[0008]进一步的,本发明的计算机从设备安全代码加载的方法,所述方法包括在安全处理器中存储用于对可执行代码及数据进行解密的密钥。
[0009]进一步的,本发明的计算机从设备安全代码加载的方法,所述方法包括在可执行代码加载期间通过从设备安全直接存储访问管理单元对专用存储器的控制及管理。
[0010]进一步的,本发明的计算机从设备安全代码加载的方法,所述方法中的从设备包括外围控制器PCI设备。
[0011]从另一方面,本发明还提出一种计算机从设备安全代码加载的系统,在从设备中包括一个或多个电路,该电路包含可用来管理可执行代码及数据安全加载的安全处理器;安全处理器负责可执行代码与数据的解密以及解密后的可执行代码与数据的存储;在从设备的专用存储器包括一用于存储解密后的代码及数据的专用区域,该专用区域为仅能被从设备访问的区域。
[0012]作为上述方法的变形,本发明还提出一种计算机从设备安全代码加载的方法,应用于包含从设备的计算机处理设备中,所述方法包括:在从设备设置一个安全处理器,用于管理从设备中可执行代码与数据的加载,并负责从设备中可执行代码与数据的解密;将专用存储器的动态划分为通用访问区域及保密区域,保密区域指存储器中仅能被从设备访问的区域,解密后的代码及数据应存储在从设备的专用存储器的保密区域。
[0013]作为上述系统的变形,本发明还提出一种计算机从设备安全代码加载的系统,在从设备中包括一个或多个电路,该电路包含可用来管理可执行代码及数据安全加载的安全处理器;安全处理器还负责从设备中可执行代码与数据的安全加载与解密;从设备的专用存储器包括通用访问区域及保密区域;保密区域指存储器中仅能被从设备访问的区域,用于存储解密后的代码及数据。
[0014]本发明采用的技术方案与现有技术相比,具有以下技术效果:
1.本发明提出了一种计算机从设备安全代码加载的方法与系统,通过加密可执行代码提高安全性。
[0015]2.本发明提出了一种通过从设备直接存储访问管理单元时,对可执行代码及数据的安全处理方法,在存储访问前对可执行代码及数据进行加密,大大提高了代码及数据的安全性。
[0016]3.本发明提出了一种通过从设备直接访问存储管理单元时,对专用存储器的控制及管理方法,通过对专用存储器控制及管理方法的安全优化,极大的提高了代码及数据加载的安全性。
[0017]4.本发明提出了一种专用存储器保密区域划分的方法,通过保密区域的划分为代码及数据提供了封闭式的安全区域,提高了代码及数据的安全性。
[0018]5.本发明涉及计算机从设备代码加载前的数据管理、专用存储器控制管理以及代码加载完成后的安全区域划分,贯穿计算机从设备代码加载的全过程,全面提升代码加载的安全性。

【专利附图】

【附图说明】
[0019]图1是一个支持计算机从设备的PC系统框图。
[0020]图2是一个支持PCI从设备的PC系统框图。
[0021]图3是本发明实现例中计算机从设备中安全代码加密的示例流程图。

【具体实施方式】
[0022]为使本发明的一种计算机从设备安全代码加载的方法与系统要解决的技术问题、技术方案和技术效果更加清楚,下面将结合附图和【具体实施方式】对本发明作进一步详细说明。
[0023]所提发明的实现例是计算机从设备的安全代码加密方法与系统。通过加密可执行代码提高安全性,计算机系统中的从设备加载并解密存放在计算机硬件中的可执行代码。计算机从设备利用专用存储器进行安全代码加载。专用存储器可分为通用可访问区域与仅供计算机从设备访问的保密区域。加密的可执行代码从计算机硬件中加载到专用存储器的通用访问区域。计算机从设备利用存储的密钥解密可执行代码并将之放入保密区域。解密的可执行代码通常需先经过验证,通过后则在专用存储器的保密区域运行。在安全代码加载时,计算机从设备的主处理器可能阻塞,并在代码验证结束后解除阻塞。专用存储器划分成通用访问区域及保密区域可在安全代码加载过程中动态完成。计算机从设备可能包含一个专用的安全处理器用于管理并执行安全代码的加载,专用安全处理器也可负责管理存储器的划分与访问、密钥的存储与加载、可执行代码的解密及主处理器在安全代码加载期间的复位等。
[0024]图1是一个支持计算机从设备的PC系统框图。根据本发明的实现例,该系统可以将可执行代码存储在计算机硬件中。图中主要包含了 PC(个人计算机)系统100、PC硬件驱动器102、PC软件驱动器104、PC从设备106及存储器108。
[0025]PC系统100可包括PC硬件驱动器102,PC软件驱动器104以及通过外围控制器接口(PCI)总线、PC1-e总线、USB总线及其它总线连接的各种设备。这些设备可包括PC从设备106,存储器108等。PC系统100也可包括适合的逻辑、电路以及代码等用来完成诸如数据输入输出、存储与计算、执行应用程序等操作。PC系统100还包括如台式机、工作站、笔记本电脑等通用计算机以及多种完成特定功能的专用计算机。
[0026]PC硬件驱动器102可包括适合的逻辑、电路以及代码等完成数据或程序在PC系统100中的存储。PC软件驱动器104包括适合的逻辑、电路以及代码等用于管理PC硬件驱动器102,使能PC系统100与PC硬件驱动器102的子系统及设备间的交互,使能PC硬件驱动器102的数据及代码的存储与检索。
[0027]PC从设备106可包括适合的逻辑、电路以及代码等来完成PC系统100中的操作。例如,PC从设备106可包括插卡,该卡插入主机(PC系统100)主板的PCI插槽,完成主机的某些功能。PC从设备106也可包括声卡、网卡等。PC从设备106使PC系统100的组件或子系统间可通过通信总线(如PCI总线、USB总线或其它类型总线)进行通信。
[0028]存储器108可包括适合的逻辑、电路以及代码等来供PC从设备106完成数据或代码的存取,存储器可使用多种存储技术,如动态随机内容访问(DRAM)等。
[0029]PC从设备106的安全处理进程用于保证存放在PC系统的从设备代码及数据的安全性。安全处理的第一步是在装载前加密从设备的代码及数据,然后通过PC软件驱动器104解密代码及数据。但是,由于软件易受攻击,这种方法的安全性有待提高,用软件提供安全保护主要用于安全要求不是很高的系统。
[0030]PC从设备106可利用存储在PC硬件驱动器102中的可执行代码。例如,PC从设备106可包含插入PC系统100的无线网卡来提供无线连接。可执行代码从PC硬件驱动器102装入PC从设备106,使能必要的操作及功能。PC从设备106可同PCI借口与PC硬件驱动器102直接或间接通信。另外,在PC从设备106执行操作期间,PC从设备可利用存储器108完成数据的存取。
[0031]为提高PC系统100的安全性,存放在PC硬件驱动器102上的可执行代码需要加密,代码加密可降低代码暴露的安全威胁。利用存储的密钥对可对加密内容完成解密操作。解密操作由PC软件驱动器104完成,并将解密后的代码及数据存放在存储器中。这有助于降低直接将解密后的代码及数据存放在PC硬件驱动器102中带来的安全威胁。即使通过PC软件驱动器利用存放在PC硬件驱动器中的密钥对可执行代码进行加密,依然可通过安全漏洞进行非法访问,因此需要一个更健壮的解决方法。作为一种选择,PC从设备106可执行对加密代码的解密操作,并为存放密钥与解密的代码提供硬件防护。这样可有效降低暴露代码的安全威胁。
[0032]图2是一个支持PCI从设备的PC系统框图。根据本发明的实现例,该系统通过专用动态存储器实现计算机硬件中存放的加密代码的安全加载。图2主要包括了 PC(个人计算机)系统200,PC硬件驱动器202,PC软件驱动器204,PCI (外部控制器接口 )从设备206,DRAM (动态随机访问存储器)208,PCI安全处理器210,PCI主处理器212,安全的直接存储访问(DMA)单元214,存储控制器216,解密控制器218,可访问存储区域220,保密存储区域222,PCI总线224以及处理器可执行代码集226,…228。
[0033]PC系统200与图1中的PC系统100类似,可包括PC硬件驱动器202,PC软件驱动器204,PCI从设备206,存储器208以及PCI总线224。PC系统200还包括适合的逻辑、电路以及代码等用来完成诸如数据输入输出、存储与计算、执行应用程序等操作。PC系统200还包括如台式机、工作站、笔记本电脑等通用计算机以及多种完成特定功能的专用计算机。
[0034]PC硬件驱动器202与图1中的PC硬件驱动器102相似,PC软件驱动器204与图1中的PC软件驱动器104相似。PC软件驱动器204可使能PC系统200的子系统或设备间的交互,PC硬件驱动器202使能硬件驱动器中数据与代码的存取,同时也包含多个处理器执行代码集226,…,228。为提高安全性,每个执行代码集可加密后存入PC硬件驱动器202。
[0035]存储器208可包括适合的逻辑、电路以及代码供PCI从设备206完成数据及代码的存取;同时,存储器208存储器可使用多种存储技术,如动态随机内容访问(DRAM)等;存储器208划分为通用访问区域及保密区域,限制除了 PCI从设备206以外的其它子系统对保密区域的访问。
[0036]PCI从设备206可包括PCI安全处理器210,PCI主处理器212,安全的直接存储访问(DMA)单元214,存储控制器216以及解密控制器218。PCI从设备206也可包括适合的逻辑、电路以及代码等完成PC系统200的具体操作。例如,PCI从设备206可包括插在主机主板上的插卡,执行主机要求的操作。PCI从设备206也可包括声卡,网卡等。
[0037]PCI主处理器212可包括适合的逻辑、电路以及代码等使PCI从设备206完成要求的处理操作。所提发明中的处理器不受限于某一具体类型,可为通用处理器、专用处理器或能提供PCI从设备206安全代码装载的其它硬件、软件的适当结合。PCI安全处理器210可包括适合的逻辑、电路以及代码等,供PCI从设备在在安全代码装载时完成需要的管理及控制等操作。例如,PCI安全处理器210可利用安全DMA单元214在可执行代码解密期间使用存储器208的保密区域222 ;同时,PCI安全处理器210可在安全代码加载期间阻塞PCI主处理器212的操作。
[0038]安全直接存储访问(DMA)单元214可包括存储控制器216,解密控制器218,适合的逻辑、电路以及代码等使能存储器208管理并执行PCI从设备206中可执行代码的解密操作。存储控制器216包括适合的逻辑、电路以及代码等使能存储器208管理。例如,存储控制器216可将存储器划分为通用访问区域及保密区域。另外,存储控制器216可使能对保密区域222的受限访问。例如,存储控制器216可限制PC软件驱动器204通过PCI总线224对存储器208中的通用访问区域220进行访问。解密控制器218可包括适合的逻辑、电路以及代码等完成对PCI从设备206中可执行代码的解密操作。
[0039]PCI总线224可包括适合的逻辑、电路以及代码等使PCI设备间可通过PCI接口进行交互。例如,PCI总线224可使能PC软件驱动器204、PC硬件驱动器206以及存储器208间的交互。
[0040]在实施中,PCI从设备206可使能PC系统200的专用及优化功能。例如,PCI从设备206可包括无线网卡完成与无线接口的连接。PCI从设备206可使用存放在PCI硬件驱动器202中的处理器可执行代码集226,…,208。为便利将处理器可执行代码集226加载到PCI从设备206中,PCI从设备206可利用PCI接口通过PCI软件驱动器与PC硬件驱动器交互。为进一步提高PC系统200及PCI从设备206的安全性,处理器可执行代码集226加密存放在PC硬件驱动器202中,在安全代码加载期间完成相应的解密操作。对处理器可执行代码集226的加密可提高PC系统200遭受非法访问时处理器可执行代码集226的安全性。
[0041]在所提发明的一个实现例中,加密的处理器可执行代码集226存放在不允许外部访问的PCI从设备206中,由PCI从设备206完成相应的解密操作。例如,PCI从设备206利用PCI安全处理器210,安全DMA单元214以及存储器208来完成解密,加密的处理器可执行代码集226的解密及加载不会暴露给PC系统200的其它子系统或设备。例如,在初始化安全代码加载时,PCI安全处理器210可首先复位PCI主处理器212并阻塞其在安全代码加载期间进行操作。PCI安全处理器210使能安全DMA单元214对存储器进行划分,通过存储控制器216访问存储器。其中PC软件驱动器204可访问通用访问存储区域220,保密区域222只能由PC从设备206进行访问。PCI安全处理器210也包括用来对加密的处理器可执行代码集226进行解密的密钥,并负责将该密钥装入解密控制器218中。
[0042]当存储器208进行划分且密钥被装入解密控制器218后,PCI安全处理器向PC软件驱动器204发送中断信号。PC软件驱动器204从PC硬件驱动器202读出加密的处理器可执行代码集226。PC软件驱动器204与存储控制器216通过PCI总线224将加密的处理器可执行代码集226加载到存储器208。解密控制器218从通用访问区域220拷贝出加密的处理器可执行代码集226,利用PCI安全处理器210的密钥进行解密,并将解密后的代码及数据载入保密区域222。因为PC软件驱动器204不能访问保密区域222,所以降低了暴露处理器可执行代码集226的安全威胁。PCI安全处理器210可对处理器可执行代码集226进行验证以判断其合法性,若合法则取消对PCI主处理器212的阻塞。然后PCI主处理器212从保密区域加载解密后的处理器可执行代码集226,完成PC系统200要求的功能操作。
[0043]图2所描述的实现例是基于PCI总线224及PCI从设备206的,但所提发明的实现例也适用于其它的PC系统及内部总线。实现例中提及的从设备可执行代码,也可为以加密形式存放在PC系统硬件驱动器中的非代码文件。
[0044]图3是本发明实现例中计算机从设备中安全代码加密的示例流程图,包含了若干实现安全代码加载的步骤。
[0045]步骤302中,PC从设备代码加载初始化,同时PC从设备主处理器复位,进行存储分配并加载密钥。例如,PCI安全处理器210在安全代码加载期间可阻塞PCI主处理器212的操作,通过存储控制器216将存储器208划分由PCI总线224访问的通用访问区域及只能由PCI从设备访问的保密区域。用来解密的密钥从PCI安全处理器加载到解密控制器中。之后,转步骤304。
[0046]步骤304中,PC系统生成使能装载解密的PC从设备可执行代码的中断。例如,当存储器208进行划分且密钥被装入到解密控制器218后,生成一个中断并发送到PC软件驱动器204。之后,转步骤306。
[0047]步骤306中,从PC硬件驱动器204中读取加密的PC从设备206可执行代码。例如,PC软件驱动器204可从PC硬件驱动器202中读取加密的处理器可执行代码集226。PC软件驱动器204及存取控制器216通过PCI总线224将加密的处理器可执行代码集226加载到存储器208的通用访问区域220。之后,转步骤308。
[0048]步骤308中,将PC从设备的加密可执行代码读到PC从设备中,并在PC从设备中完成相应解密。例如,解密控制器218从通用访问区域220加载加密的处理器可执行代码集226,并利用存在PCI安全处理器210的密钥完成解密操作。之后,转步骤310。
[0049]步骤310中,解密后的处理器可执行代码存入保密区域。例如,当解密控制器218完成了对加密的处理器可执行代码集226的解密后,将之存入存储器208的保密区域222。之后,转步骤312。
[0050]步骤312中,对解密的PC从设备可执行代码进行验证。例如,PCI安全处理器210从保密区域222加载PC从设备可执行代码,并对处理器可执行代码集226进行验证。若验证非法,则中止;验证合法,则转步骤314。
[0051]步骤314中,使能PC从设备主处理器。例如,当解密的处理器可执行代码集226验证合法后,PCI安全处理器210解除PCI主处理器212的阻塞。之后,转步骤316。
[0052]步骤316中,从保密区域加载并运行解密的处理器可执行代码集。例如,当PCI主处理器212被解除阻塞后,从保密区域加载解密的处理器可执行代码集226,并通过PCI从设备206完成PC系统200要求的一些操作。
[0053]本发明的不同实现例可包括PC从设备安全代码加密的方法与系统。PC系统200中的PCI从设备206可从PC硬件驱动器202中加载并解密处理器可执行代码集226。处理器可执行代码集226可加密存放在PC硬件驱动器202中以提高安全性。存储器208可为包含外部直接随机存储访问的专用存储器,划分为通用访问区域220及只能被PCI从设备206访问的保密区域222。通过PC软件驱动器204,存储控制器216以及PCI总线224,加密的处理器可执行代码集226从PC硬件驱动器202加载到专用存储器的通用访问区域220。PCI从设备206利用解密密钥对加密的处理器可执行代码集进行解密并将解密后的代码及数据存入存储器208的保密区域222。解密的处理器可执行代码集226首先进行合法性验证。PCI从设备206可在安全代码加载初始化期间阻塞,并在对解密的处理器可执行代码集226合法性验证完成之后解除阻塞。存储器208的划分工作可在安全代码加载期间动态进行。PCI安全处理器210可使能存储器划分管理、访问、密钥存取、处理器可执行代码集226的解密管理以及在安全代码加载期间的PCI从设备阻塞。
[0054]本发明的另一个实现例可提供一个机器可读的存储器,存有包含至少一个代码段的计算机程序。通过运行该程序完成上述PC从设备安全代码加载的步骤。
[0055]相应地,本发明可通过硬件、软件或两者结合来实现。本发明可在包含至少一个计算机系统的集中系统上实现,也可以若干计算机系统互联的分布式方式实现。所有可运行本发明方法的计算机系统或设备均可用于本发明。典型的软硬件结合的方式是装有计算机程序的通用计算机系统,计算机程序控制计算机完成本发明所描述的方法。
[0056]所提发明也可嵌入到计算机程序产品中,该产品应具备实现本发明中方法的所有要求,可加载到计算机系统并运行。这里的计算机程序指的是可使系统进行信息处理,完成特定功能的指令集的任何表示、语言、代码或概念。
[0057]通过前述对所提发明的描述,本领域的普通技术人员可在本发明的范围内实现多个不同的实现例。另外,为适合特定环境或材料对本发明所做的修改依然不能脱离本发明的范围。因此,本发明不应局限于某个具体的实现例,所有在附加声明中的实现例均属于本发明的范围。
【权利要求】
1.计算机从设备安全代码加载的方法,应用于包含从设备的计算机处理设备中,其特征在于:所述方法包括:在从设备中设置一个安全处理器,用于管理从设备中可执行代码与数据的加载,并负责从设备中可执行代码与数据的解密,以及将解密后的可执行代码与数据存储在从设备的专用存储器的保密区域;所述保密区域指存储器中仅能被从设备访问的区域。
2.根据权利要求1所述的计算机从设备安全代码加载的方法,其特征在于:所述方法包括安全处理器对解密后的可执行代码及数据的验证。
3.根据权利要求2所述的计算机从设备安全代码加载的方法,其特征在于:所述方法包括安全处理器在可执行代码及数据的安全加载期间阻塞主处理器的操作,以及在安全处理器完成可执行代码及数据的验证后解除对主处理器的阻塞。
4.根据权利要求1所述的计算机从设备安全代码加载的方法,其特征在于:所述方法包括在安全处理器中存储用于对可执行代码及数据进行解密的密钥。
5.根据权利要求1所述的计算机从设备安全代码加载的方法,其特征在于:所述方法包括在可执行代码加载期间通过从设备安全直接存储访问管理单元对专用存储器的控制及管理。
6.根据权利要求1所述的计算机从设备安全代码加载的方法,其特征在于:所述方法中的从设备包括外围控制器PCI设备。
7.计算机从设备安全代码加载的系统,其特征在于:在从设备中包括一个或多个电路,该电路包含可用来管理可执行代码及数据安全加载的安全处理器;安全处理器负责可执行代码与数据的解密以及解密后的可执行代码与数据的存储;在从设备的专用存储器包括一用于存储解密后的代码及数据的专用区域,该专用区域为仅能被从设备访问的区域。
8.计算机从设备安全代码加载的方法,应用于包含从设备的计算机处理设备中,其特征在于:所述方法包括:在从设备设置一个安全处理器,用于管理从设备中可执行代码与数据的加载,并负责从设备中可执行代码与数据的解密;将专用存储器动态划分为通用访问区域及保密区域,保密区域指存储器中仅能被从设备访问的区域,解密后的代码及数据应存储在从设备的专用存储器的保密区域。
9.计算机从设备安全代码加载的系统,其特征在于:在从设备中包括一个或多个电路,该电路包含可用来管理可执行代码及数据安全加载的安全处理器;安全处理器还负责从设备中可执行代码与数据的安全加载与解密;从设备的专用存储器包括通用访问区域及保密区域;保密区域指存储器中仅能被从设备访问的区域,用于存储解密后的代码及数据。
【文档编号】G06F21/51GK104331671SQ201410595855
【公开日】2015年2月4日 申请日期:2014年10月30日 优先权日:2014年10月30日
【发明者】张漪 , 王琪, 崔志成 申请人:无锡市合鑫川自动化设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1