确保远程加载数据的保密性和不被修改性的信息验证装置与方法

文档序号:6442009阅读:189来源:国知局
专利名称:确保远程加载数据的保密性和不被修改性的信息验证装置与方法
技术领域
本发明涉及一种确保远程加载数据的保密性和不被修改性的信息验证装置与方法,特别是通过抽取、压缩和重组的方法,使得所述程序序列缺失部分信息,达到以较小性能代价换取较大安全性的目的。
背景技术
远程加载是通过使用服务器硬盘上的资源来代替工作站硬盘引导一台网络上的工作站的模式。目前,这种远程激活技术的应用日益广泛,尤其是在教育场合,究其原因是因为它管理简单、维护容易,且计算机软硬件资源得以更有效率的应用,从而大大降低了系统整体的拥有成本。
这种技术的主要原理是客户端个人计算机的部分程序如激活程序、应用程序等,储存于服务器上,当客户端(client)需要该部分程序时,在其激活过程(Boot PROM)中向服务器发送连接请求以取得IP。当服务器收到客户端送出的要求就会回传连结应答及IP地址,客户端接收到服务器送出的连结应答后,客户端激活过程(Boot PROM)随即通过网络,从服务器下载一切所需的设备激活程序。
传统远程加载方式多用于局域网络,这是一个被认为相对安全的网络环境,通讯各方之间保持着彼此间的信任,故通讯安全问题并未被予以充分考虑,通讯双方均在完全开放的环境下传递、交换信息。
但在网络安全问题日益突出的今天,诸多安全手段亦应用于远程加载过程当中。通常对于远程加载过程的安全措施包括加密和校验两种。加密方法一般采用通用的块加密和流加密,而校验的手段主要是Hash函数校验。所谓Hash函数校验,是将整个程序序列进行压缩得到一简短的摘要,作为日后验证的依据。然而传统加密算法和Hash函数校验方法的运算复杂程度很高,数据量大,实现困难,对于设备的性能要求较高;同时,寄存的程序是以完整信息的形式在网上通讯、并在服务器上保存的,因此通讯和保存过程中,均有被截获、破解和篡改的可能,而将经过篡改过的程序应用于本地工作站中,将危害本地工作站的安全,甚至对本地工作站的资源造成严重的破坏。

发明内容
本发明的主要目的在于克服现有技术的不足与缺陷,提供一种确保远程加载数据的保密性和不被修改性的信息验证装置与方法,主要是通过扣留部分原文内容,并对抽取过部分信息的原程序序列进行压缩和重组,混淆原始程序内容大幅增加攻击者破解难度,达到以较小性能代价换取较大安全性的目的。
为达上述目的,本发明所提供的信息验证装置包括有一校验器,对程序序列进行校验,主要于程序上传、打洞处理前,及程序下载、缝补程序后进行校验。
一打洞器,将工作站欲对服务器储存的整个程序序列分割为若干个子程序序列,并于各个子程序序列以一定规律抽取信息;该抽取出的洞值信息及其在子程序序列中的位置将保存在本地工作站的储存单元。
一压缩器,对打洞器的处理结果进行程序段压缩,用以产生信息混淆的新程序序列。
一加密器,对前述压缩形成的程序序列进行加密。
一解密器,对自服务器下载的程序序列进行解密。
一解压缩器,依据本地工作站的储存单元所储存的打洞位置信息,将已解密的压缩程序序列重新展开为具有若干空位的程序序列。
一缝补器,将储存单元所储存的洞值信息逐一缝补回各个子程序序列中的原位置,而组合成完整的程序序列。
依据前述,本发明的加解密及增加破解的困难度视前述所分割的子程序序列数量及对每个子程序序列的取样数的规则,而此部份则可由设计者视实际需求而定。
本发明的另一目的即是适用于高速通讯的需要,允许信息以数据流的方式操作,同时提交给服务器的保存信息中扣留了部分内容,使得被提交的程序是缺失了部分内容的不完整程序,此缺失部分的传输内容将大幅提高攻击者的破解难度,相对地将可选择简易的加密算法实施加密处理,进而降低加密强度,降低系统的架构成本。


图1为本发明实施例的系统硬件架构示意图;图2为本发明实施例中,本地工作站向服务器储存程序的步骤流程图;图3为本发明实施例中,本地工作站自远程加载程序的步骤流程图;图4为本发明实施例中,激活过程中上传及下载程序序列的数据处理示意图。
图中符号说明10中央处理单元11储存单元12网络卡20硬件芯片21校验器22打洞器23压缩器24加密器
25解密器26解压缩器27缝补器30网络A本地工作站B服务器具体实施方式
下面结合附图和实施例详细说明本发明的具体实施方式

如图1所示,为本发明实施例的系统硬件架构示意图,于本发明实施例采用的方式是将程序序列打洞、信息验证等功能集成于硬件芯片当中,由硬件独立完成,而这种功能也可以由特定的软件完成。
本发明是于本地工作站A进出中央处理单元10的通路上设置硬件芯片20,其主要包括有一校验器21,对程序序列进行校验,该校验动作发生在两种情况下,其一为于程序序列上传,打洞处理之前,另一为程序序列下载,缝补程序序列之后;一打洞器22,将本地工作站A欲对服务器B储存的整个程序序列分割为若干个子程序序列,并于各个子程序序列以一定规律抽取信息。前述程序段与抽取信息的规则可由设计者视实际需求而决定分割程序序列数量及每个程序序列的取样数,同时这也决定往后加解密及增加破解的困难度;一压缩器23,对打洞器22的处理结果进行程序序列压缩处理,用以产生信息混淆的新程序序列;一加密器24,对前述新程序序列进行加密;一解密器25,对自服务器B下载的储存序列进行解密;一解压缩器26,依据本地工作站A的储存单元11所储存的打洞位置信息,将已解密的压缩程序序列重新展开为具有若干空位的程序序列;一缝补器27,将储存单元11所储存的洞值信息逐一缝补回各个子程序序列中的原位置,而组合成完整的程序序列。
前述的储存单元11储存洞值信息及其相对应位置,其可为工作站A本身的内存(flash)等,亦可制作于芯片内。
如图2所示,为本发明实施例中,本地工作站向服务器储存程序的步骤流程图;本地工作A站欲发送的程序序列被传送至硬件芯片20,其中的校验器21首先选用一定的校验方法对流经的程序序列进行校验(步骤S1)(举例来说,该校验方法,如校验和的方法,其将程序序列逐位相加,得到的一校验值,如序列01011011,其校验和为1)。校验完成后即将此校验值储存于储存单元11中(步骤S2)(如图4的(A),容后详述)。
该打洞器22接收到经过验证的欲寄存程序,该程序以序列的形式流经硬件芯片20,该打洞器22根据设定,将寄存程序序列以一定长度的字节切割为复数个子程序序列(步骤S3),并以每个子程序序列为单位,从中以一定的规则随机抽取一定长度的信息作为洞值信息(步骤S4),将洞值信息的内容及其在子程序段中的位置保存在本地工作站的储存单元12中(步骤S5),即完成打洞过程。被抽取了部分内容的程序序列相应出现了若干空位,使程序序列中的部分内容缺失。该压缩机23将整个程序序列压缩去除所有的空位,使原程序序列的信息重组且混淆(步骤S6)。此混淆的程序序列再经加密器24加密而转化为密文(步骤S6),经由一网络卡12将密文信息经网络30传送至服务器B储存(步骤S7)。另外,在网络通讯过程中,同样需要依据工作站A与服务器B之间的通讯协议,此与现有网络相同于此不另赘述。
如图3所示,为本发明实施例中,本地工作站自远程加载程序的步骤流程图;本地工作站1与服务器3之间通过正常的握手协议(handshaking),达成彼此之间的正常联络之后,本地工作站A开始从服务器B远程下载所需程序(步骤D1),该下载程序经解密器25解密转换为明文(步骤D2),解压缩器26即依压缩器23所制定的规律,将整个程序序列划分为若干个子程序序列,且根据本地工作站A的储存单元11所纪录的各子程序序列打洞的位置信息将程序序列重新展开,恢复程序序列为若干空位的状态(步骤D3、D4),该缝补器27从储存单元11中获得各个洞值信息的具体内容,并依次将其缝补回各个子程序序列的相对应空位上,回复成完整的程序序列(步骤D5、D4)。该校验器21对已拼装完成的程序序列进行相同的校验得到一个校验结果(步骤D6),同时自储存单元11取得内存的上传程序序列校验结果(步骤D7),将此二校验结果进行对比(步骤D8),若结果吻合即表示该程序是完整、未经过篡改的,可以正常使用(步骤D9);否则,本地工作站A将视其为错误程序拒绝使用(步骤D10)。之后,本地工作站A即能利用通过校验的程序,完成本地工作站A的工作需求,如激活工作站等。
有关前述打洞器的切割与打洞流程,以下配合于图4的(A)~(C)部分所示,举例说明如下图4的(A)显示了整个程序序列,每一个地址信息对应着一个字节的程序信息,在本实施例中以每256个字节划分为一个子程序序列(如图所示子程序序列1、2),从而整个程序序列被分割为若干个子程序序列。
图4的(B)显示打洞过程,在本实施例中,打洞器22在各个子程序序列的随机位置,抽取出一定位组长度的内容,再用1字节保存抽取出的字符串在子程序序列中的相对位置,例如抽取地址为0056H至0059H的4字节内容信息,因此储存单元11保存的地址信息为0056H,保存的内容信息为01001001101000000001110010111000。又或是打洞器22在子程序序列的任意四个随机位置各抽取1字节的信息,并用另外4个字节分别保存4个字节在子程序序列中的位置。于是,本发明的打洞方式可以灵活设定,不同的设定可以实现不同的安全性能。
图4的(C)显示被抽取了部分信息的程序序列的压缩过程。被抽取了部分信息的程序序列出现了若干空位,将空位后面的内容向前推,压缩去所有的空位。在本实施例中,地址为0056H至0059H的信息被抽取出来,原地址为005A的内容向前提至地址0056H,子程序序列1的长度被缩减为252字节。由于计算机中的一切信息,包括指令和数据均为二进制代码,经过抽取和重组后的二进制代码由于内容的缺失,在含义上也出现极大出入,以本实施例为例,打洞器22于每256个字节的子程序序列中随机抽取了4字节的信息,即从中抽取出32位的信息,破解者在分析截获的信息时,每256个字节即有232种不同的可能,这就给最终破解带来很大的难度。
根据以上叙述,本发明所提供的确保远程加载数据的保密性和不被修改性的信息验证装置与方法,采用扣留部分原文内容,并对抽取过部分信息的原程序序列进行压缩和重组,从而原程序的内容被混淆,即使在通讯过程中,非法者截获了通讯中传输的所有数据,分析破解原文也将面对极大难度。更由于攻击者破解的难度大幅提高,通讯双方可以采取相对简单的加密方法,因此,可以以较小投入实现较高的安全性能,且该方法可以采用灵活的方式予以实现,可以编制相应的软件,也可以将该过程直接集成于硬件芯片中,由硬件直接完成。此系统为远程加载的过程提供了更具安全性的一道屏障。
综上所述,本发明所提供的确保远程加载数据的保密性和不被修改性的信息验证装置与方法,对键盘装置进行了特殊的处理,从而使用户敲击键盘的行为习惯可以被捕获,并以此为认证的依据;在身份认证的过程中,不是认证信息的简单对照,而是对行为的特征进行概率统计,通过认证的特征信息分布必须符合一定的分布区间要求;另外,该身份认证方法的所有的数据处理工作由安全键盘独立完成,不经由主机处理,使得此种身份认证方式可以更有效地保证系统安全。
以上所叙述的技术、图说、程序或控制等方法,仅仅为本发明较佳实施例之一;举凡依本发明保护范围的技术所作的均等变化或修饰或撷取部分功能的雷同制作,皆应仍属本发明权利要求书所涵盖的范围;当不能依此限定本发明实施的范围。
权利要求
1.一种信息验证装置,用以确保远程加载数据的保密性和不被修改性,其特征在于,包括有一校验器,对程序序列校验,并产生一校验值储存于一储存单元内;;一打洞器,将一工作站欲对一服务器储存的整个程序序列分割为若干个子程序序列,并于各个子程序序列以一定规律抽取信息;一压缩器,对该打洞器的处理结果进行程序序列压缩,用以产生信息混淆的新程序序列;一加密器,对该新程序序列进行加密;一解密器,对自该服务器下载的程序序列进行解密;一解压缩器,依据该储存单元所储存的打洞位置,将已解密的压缩程序序列重新展开为具有若干空位的程序序列;一缝补器,将该储存单元所储存的洞值信息逐一缝补回各个子程序序列中的原位置,而组合成完整的程序序列。
2.如权利要求1所述的信息验证装置,其特征在于,该校验器是对上传至该服务器的程序序列,及该缝补器缝补后组合的完整程序序列进行校验,此二校验值将进行对比,以判断程序的完整性。
3.如权利要求1所述的信息验证装置,其特征在于,该储存单元为一闪存或该工作站自有的内存。
4.一种确保远程加载数据的保密性和不被修改性的信息验证方法,主要是通过对程序序列信息的抽取、压缩和重组,使所述程序序列缺失部分信息,其包括一上传程序,以供一工作站将程序上传至一服务器,及一下载程序,以供该工作站自该服务器下载程序,其特征在于,该上传程序包括下列步骤a.对程序序列进行校验;b.进行程序分割,并对每一个分割的子程序序列随机抽取一定位组长度的信息;c.压缩步骤b所产生的子程序序列,并通过网络上传至该服务器;该下载程序包括下列步骤d.对程序重新展开与缝补,以组合成完整的程序序列;e.对步骤d的激活程序进行校验,以确定程序是否完整、有否被篡改;f.若校验成功,则该工作站得以应用此程序。
5.如权利要求4所述的确保远程加载数据的保密性和不被修改性的信息验证方法,其特征在于,该步骤a是产生一校验值,且该校验值储存于一储存单元。
6.如权利要求4所述的确保远程加载数据的保密性和不被修改性的信息验证方法,其特征在于,该步骤b中是将抽取的洞值信息与其在子程序段中的相对位置储存于一储存单元。
7.如权利要求4所述的确保远程加载数据的保密性和不被修改性的信息验证方法,其特征在于,该步骤b中信息抽取的方式,可为连续抽取一定位组长度的信息,用1字节纪录打洞地址。
8.如权利要求4所述的确保远程加载数据的保密性和不被修改性的信息验证方法,其特征在于,该步骤b中信息抽取的方式,可分别抽取几个单字节信息,并用相同的字节数记录每个打洞位置。
9.如权利要求4所述的确保远程加载数据的保密性和不被修改性的信息验证方法,其特征在于,该步骤c更包括有加密步骤,以增加破解的困难度。
10.如权利要求4所述的确保远程加载数据的保密性和不被修改性的信息验证方法,其特征在于,该步骤d更包括有解密步骤,用以将该服务器所储存的密文程序解密为明文程序。
11.如权利要求4所述的确保远程加载数据的保密性和不被修改性的信息验证方法,其特征在于,该步骤d所述是依据一储存单元的记录逐一缝补回各个子程序段中的原位置。
12.如权利要求4所述的确保远程加载数据的保密性和不被修改性的信息验证方法,其特征在于,该步骤e是产生一校验值,并与保存于一储存单元的校验值比较,以确定程序是否完整、有否被篡改。
全文摘要
本发明涉及一种确保远程加载数据的保密性和不被修改性的信息验证装置与方法,特别是一种扣留部分原文内容,并对抽取过部分信息的原程序序列进行压缩和重组,混淆原始程序内容大幅增加攻击者破解难度的方法与装置,该装置包括有校验器、打洞器、压缩器、加密器、缝补器、解压缩器及解密器,该方法主要是通过对程序序列信息的抽取、压缩和重组,使所述程序序列缺失部分信息,其包括一上传程序,以供一工作站将程序上传至一服务器,及一下载程序,以供该工作站自该服务器下载程序。
文档编号G06F11/36GK1523504SQ0310610
公开日2004年8月25日 申请日期2003年2月18日 优先权日2003年2月18日
发明者后健慈 申请人:盖内蒂克瓦尔有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1