数据安全保护终端的制作方法

文档序号:7866738阅读:385来源:国知局
专利名称:数据安全保护终端的制作方法
数据安全保护终端技术领域
本发明属于云计算技术领域,具体涉及公共云计算环境中,数据安全保护系统。
背景技术
早在1983年,sunMicrosystems就提出了“网络即计算机”的概念。受益分布式计算和互联网的发展,人们逐渐开始关注互联网闲置的存储和计算能力,希望通过建立一个具有无限延展能力的资源池,为人们提供一个内容更丰富,速度更快的超级计算机,这就是我们一直在讨论的云。从硬件角度,云是一个多对一的概念,整个互联网的资源被整合起来用于满足个人和企业的需求,云对个人终端要求更低,可以有效地降低个人及企业的IT支出;从服务角度,云是一个一对多的概念,一个应用被分拆至多个服务器并行运算,网络的无线延展性让这种运算能力充满吸引力。
云安全包括首先,用户数据的私密性,保护用户数据不被窃取;其次,保护程序不被篡改,按照用户的意图正确执行;第三,云架构的稳定性,保证服务质量。但是,由于数据的存储和执行不在本地进行,云平台下的安全问题变得更加复杂。如果假设通过网络传输数据的过程是安全的,云计算与个人电脑最大的区别就在服务终端,即需要保护客户数据在服务终端的安全。
本发明提出了一种数据安全保护系统,保护服务终端中的数据安全。发明内容
本发明提供一种数据安全保护终端,包括数据私密性保护和完整性保护;其中数据私密性保护模块采用AES算 法对片外数据和程序提供私密性保护;数据完整性保护模块通过引入加密摘要保护数据的完整性。对分组明文进行特殊处理,并对加密过程进行充分优化。采用MlSR产生摘要,通过AES加密摘要。采用本安全终端,可以大大降低缓存中数据的缺失率。


图1为安全终端私密性保护硬件框图。
图2为安全终端完整性保护硬件框图。
具体实施方式
终端常常需要面对多种安全挑战。第一类攻击假设攻击者不能直接接触到终端, 他们可以在终端上运行恶意代码,通过改变程序的执行顺序,使得攻击程序获得系统权限或者其他进程的访问权限,窃取数据甚至破坏程序的正常进行。其中常常被提及的一类攻击称为buffer overflow.由于各个进程以及操作系统共享数据栈,它们在地址上不实施隔离,buffer overflow通过访问其他进程或操作系统的数据栈,并用恶意程序的地址替代其它进程的返回地址。从而改变受害程序的执行顺序。第二类攻击方式称作格式化字符窜攻击。攻击者将精心设计的字符串作为输入交由标准输出函数(如PrintfO)进行解析处理,就可以泄露甚至修改任何地址空间的数据,达到影响程序执行的目的。
如果控制了服务终端,攻击者可以调用一切资源对来自客户的数据和应用进行破坏,攻击者甚至可以发起攻击控制操作系统,使用系统权限更改数据,改变软件执行进程。 普遍认为恶意终端发起的攻击不可能完全防御,但通过提供更强的安全机制,有可能大大增加攻击的代价,保护数据安全。
本发明提出了一种安全终端。采用AES算法对片外数据和程序提供私密性保护, 并通过弓I入加密摘要保护数据的完整性。
如图1所示,如果发生1-Cache读缺失,1-Cache会通过连续的读操作从片外存储器读取一个由AES加密过的数据块,加密数据通过总线到达1-Cache之前,首先通过AES加解密模块进行解密,AES密钥由密钥寄存器堆提供,可以通过安全指令进行修改。数据的读操作过程完全类似,写操作过程对于不同的写策略操作过程有一些不同。如果采用直写策略,写命中情况下,更新D-Cache数据的同时,对数据进行加密,更新外围存储器;当发生写缺失时,不能立即更新外围存储器,需要先将数据读入缓存,修改后,重新加密后写回外部存储器。采用回写策略,写入D — Cache的数据并不需要马上更新外围存储器,只有修改过的数据被替换出缓存时,才需要更新外部存储器,引起一次数据加密操作。
假设1-Cache 和 D — Cache 得缺失率分别为 imiss-rate% 和 dmiss_rate%, load 和 store 指令出现的概率为1/3,在原有的系统中,所有缺失引起的性能损失为Cpenelty,引入私密性保护,假设每次缺失都会弓I入一次AES操作,且一次AES加密/解密需要CAE个时钟周期, 则引入数据私密性保护。
假设缺失引起的性能损失为100个时钟周期。一方面,系统的性能损失随着Caes的降低线性降低;另一方面,性能损失随缓存缺失率的降低而降低,但幅度越来越小。
数据私密性保护模式可以保护关键数据和重要算法不被攻击者理解,却不能防御攻击者篡改代码和数据。通过软件方法实现的数据完整性保护主要包括文件修改跟踪、 Hash摘要和数字签名等方法。其中,文件修改跟踪通过检查文件的时间信息和修改信息,确认文件是否被非法修改,目前已有一些攻击方法,通过修改文件的时间信息,隐藏文件的修改记录,非法篡改程序,这一类方法存在明显的安全漏洞。后两种方法虽然可以提供良好的安全性,但频繁的调用软件进行完整性验证会严重影响系统性能。以AES为例,通过对分组明文进行特殊处理,并对加密过程进行充分优化,仍需要超过170个时钟周期完成一次AES 加密操作。摘要算法和公钥加密算法的吞吐率甚至更低。
本发明提供一种实现安全算法的系统,如图2所示,为安全终端完整性验证硬件框图,采用MlSR产生摘要,通过AES加密摘要,对指令提供数据完整保护。在发生读缺失时,首先读取摘要,在加密摘要的同时读取指令,可以大大降低系统性能损失。对Basic Block(不包括跳转指令的一系列连续指令)中最后一个数据块提供完整性验证能显著降低完整性验证的次数,提高系统性能。增加了摘要缓存,通过硬件方法实现的安全机制对系统性能的影响可以进一步被降低。根据摘要与数据是否分开存储,可以将完整性验证分为摘要嵌入和摘要独立两种类型。采用摘要嵌入式的完整性保护方法,程序与摘要存储在连续的地址空间,不严格区分程序和摘要的物理地址。程序执行过程中,使用MMU管理地址, 区分数据与摘要。本发明采用数据摘要独立的实现方法,仅通过硬件上的简单映射,方便的实现数据和摘要的对应。同时,采用不同的地址存放数据和摘要,数据管理更清晰,更容易维护数据安全。
当发生数据缺失时,并不马上访问外存取数据。控制单元首先查询被访问数据的摘要是否在摘要缓存(HashCache)中,如果摘要已经在缓存中,则指令/数据缓存访问外部存储器取数据,数据取回后使用摘要运算单元计算摘要;如果摘要缓存缺失,摘要缓存访问外部存储器,读取摘要,使用解密单元解密摘要的同时,数据/指令缓存申请总线读取数据。数据/指令返回后流水线继续工作的同时,采用摘要计算模块计算数据/指令块的摘要。比较摘要计算模块和加解密模块送出的摘要,如果相同,说明数据/指令和摘要没有被篡改,如果结果不同,产生异常,由操作系统内核处理异常。
假设引入摘要Cache,当指令Cache发生读缺失时,指令Cache会通过总线从外部存储器读取数据块,摘要Cache同时从外部存储器读取摘要。如果指令替换出Cache,假设指令Cache和摘要Cache大小相同,且使用相同的替换算法,与指令对应的摘要会同时替换出摘要Cache,下一次访问该指令仍需要验证摘并没有带来性能的提高。因此,采用的摘要 Cache大小仅为128比特,只储最新被使用到的摘要,同时,由于128_bit摘要对应4个数据块,可有效减少摘要访问次数,改善系统性能。
本发明提供一种私密性保护、完整性保护模式,大大增加攻击的代价,保护数据安全。
权利要求
1.一种数据安全保护终端,包括数据私密性保护模块和完整性保护模块,其特征在于, 数据私密性保护模块采用AES算法对片外数据和程序提供私密性保护。
2.如权利要求1所述的数据安全保护终端,数据完整性保护模块通过引入加密摘要保护数据的完整性。
3.如权利要求2所述的数据安全保护终端,对分组明文进行特殊处理,并对加密过程进行充分优化。
4.如权利要求3所述的数据安全保护终端,采用MlSR产生摘要,通过AES加密摘要。
全文摘要
本发明提供一种数据安全保护终端,包括数据私密性保护和完整性保护;其中数据私密性保护模块采用AES算法对片外数据和程序提供私密性保护;数据完整性保护模块通过引入加密摘要保护数据的完整性。采用本发明的安全终端,可以大大降低缓存中数据的缺失率。
文档编号H04L9/32GK103001772SQ201210490020
公开日2013年3月27日 申请日期2012年11月27日 优先权日2012年11月27日
发明者宗竞 申请人:江苏乐买到网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1