期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

面向SAP系统的透明加解密方法(3)

时间:2015-10-28 11:43 文章来源:http://www.lunwenbuluo.com 作者:杜海超,赵明2,王蕊\贾 点击次数:


  在文件透明加解密实现过程中,根据IRP请求包类型的不同而采取不同的操作处理。在IRP请求包中,MJ表示主要的派遣函数[14],主功能码用来标识不同的操作请求,加密过程主要涉及的IRP请求包类型有:
  1)IRP_MJ_CREATE。
  在IRP_MJ_CREATE的预操作回调函数中,不能进行文件名称、文件路径等信息的获取及设置上下文操作。如果需要进行上下文的设置可以在后操作回调函数中进行,本系统正是采用这样的方式。如果强行在预操作回调函数中进行操作或者设置,会造成系统运行后,随即出现蓝屏情况。
  2)IRP_MJ_READ与IRP_MJ_WRITE。
  在IRP_MJ_READ的后操作处理函数中判断文件是否加密文件,利用文件头部有无加密标识进行判断,如果是加密文件,从文件头部移动固定偏移,并调用解密模块进行解密处理,解密的过程中用解密缓存替换原缓存[15]。
  在IRP_MJ_WRITE的预操作处理函数中判断是否特定进程,本模型只针对SAP系统进程进行处理,如果是SAP系统导出文件,调用加密模块进行加密处理,在加密缓存中首先写入固定长度的字符用于标识文件是加密文件,以便后续对文件类型进行判断。
  在读取缓存时以块为单位进行读取,每次以固定长度进行加密处理;当本次块读取完成,但仍不够固定的加密长度,此时不进行处理,等待下次缓存块传入,进行拼接后仍以固定长度进行加密;在文件结束时,如若不够固定长度进行加密,在字符串的结尾处进行补零操作,直至长度符合要求。
  读写文件操作的一般流程如图5所示,图中未标识特殊情况的处理。IRP_MJ_READ请求会使得文件内容以明文的形式存在于内存中,如加密文件的复制操作或者发送文件,此时会生成IRP_MJ_READ类型的请求包将文件内容读至缓冲区。后续的IRP_MJ_WRITE写请求会将缓冲区中的内容写入文件中,从而使得文件内容被以明文形式保存。
  为了解决这一问题,在系统中维护一张加密文件信息链表,其中存放了所有被读取文件内容且没有关闭的文件信息,包括文件路径、原缓存地址、替换缓存地址。写文件前对比链表信息,如果有该信息,则使用原缓存地址进行替换;如果没有该信息,直接进行写操作。从而保证文件复制、发送时仍旧以密文的形式发送。
  3)IRP_MJ_QUERY_INFORMATION。
  在其后操作处理函数中,将文件大小与占用空间的值进行处理,因为查询到的结果中包括加密标识的大小,在实际显示时不应让用户发觉到加密标识的存在。
  4)IRP_MJ_SET_INFORMATION。
  在其预操作处理函数中,将文件大小与占用空间的值进行处理M,因为传入的数据中不包括加密标识的大小,是实际文件大小与占用空间,应在其中加入加密标识的大小才是正确的数据。
  读写文件属性流程如图6所示。在读文件属性中用读取到的数据减去文件头部加密标识的长度,并将差值传递至应用层,使得用户在查看文件属性时,显示的是不包含文件头部加密标识的情况。在写文件属性时,将要写入的值与文件头部加密标识长度相加,将和值传递至下层驱动,使得最终写入的值是包含文件头部加密标识长度的。
  3.3.2缓存处理
  上一节实现文件操作按照操作类型进行信息捕获,在此基础上,为了实现加解密过程,采用缓存处理方法,即在加解密过程中,对缓存进行处理并替换。对缓存的处理过程如图7所示,缓存的读取以块为单位。读取原缓冲区内容时,以块的形式读取,从块中截取固定长度的字符串用于加解密处理,此时需要对字符串的长度进行判断,如果长度为固定长度则直接进行加解密处理;如果长度小于固定长度,判断是否到文件结尾。若未到文件结尾,读取下一块缓存,并将其与之前的字符串拼接再进行处理;若已到文件结尾处,需对字符串进行补0处理,直至长度为固定长度。
  3.3.3加密标识
  当执行文件读操作时,需要对文件类型进行判断,即判断文件是否加密文件,如果文件为加密文件则需要调用解密模块进行解密操作。为了解决文件是否加密文件判断问题,本系统采用的方式是通过修改文件内容,将文件的加密标识存放于文件头部,以固定长度写入。配合上一节,实现依据缓存内容,判断文件类型。
  该加密标识的大小为4KB,具体内容为经过AES加密算法的265位密钥加密的密文,该加密标识的特殊性在于其中并不包含文件加密密钥。采用AES进行密标的加密处理,保证了密标的安全性、不可复制性以及难以破译性。这种判断加密文件与非加密文件的方法具有极局的准确性,但是需要对IRP_MJ_QUERY_INFORMATION类型的IRP请求包以及IRP_MJ_SET_INFORMATION类型的IRP请求包进行处理。由于在文件头部加入加密标识,需相应的修改文件大小、占用空间大小、读文件的初始地址、写文件的初始地址。
  4设计及实验分析
  系统主要包括三个部分,分别是SAP系统导出文件、驱动层文件操作处理与文件透明加解密、Server端。其中SAP系统导出文件部分是在SAP系统中完成,采用SAP系统特有的编程语言ABAP进行处理,在这里不进行展示,其他两部分的具体结构如图8所示。
  文件过滤驱动部分主要包括:操作处理、缓存处理、加解密、应用层通信、文件类型5个部分。操作处理是最先进行的,根据IRP请求包的类型分别定义、注册回调派遣函数。在Server分主要包括密钥计算、加解密、驱动层通信3个部分。
  图9显示了系统中数据的流向,文件过滤驱动程序位于文件系统驱动程序之上,I/O管理器之下,拦截需要处理的IRP,并交给相应的操作处理回调函数进行处理。在测试过程中,文件大小为1.27MB、10.43MB、100MB,分别使用3种类型文件进行测试,测试过程中时间计算是从加解密开始计算计时,不包括SAP系统导出时其响应时间。
  分别对EXCEL、TXT、WORD3种类型导出文件进行测试,测试该系统模型对文件类型的可支持性;并且测试1.27MB、10.43MB、100MB3个文件大小数量级,检测该系统模型耗时是否是用户可接受的。在文件加解密过程中,采用通用的AES与DES两种加密算法。在表1所显示的部分测试数据中,加密时间范围为1.86~124.77s,解密时间范围为1.97~124.83s,均在可接受的范围之内。
  通过对具有不同数量级大小的三种类型文件进行DES与AES加解密处理测试,初步证明了该系统模型的可行性,及对多种文件的支持。为了验证上述结论的正确性,本文进行了大量的实测实验,并绘制加解密时间随文件大小变化的分布图,如图10所示,其中的数据来源是EXCEL类型文件经AES加密算法处理过程中获取的,其他两种文件类型的数据分布与图10类似,区别在于饱和点的位置不同。从分布图中可以看到文件大小增长到1000MB时,加密时间仍在可接受范围内。
  实验数据证明了本文提出的对SAP系统导出文件实施保护方法的有效性与可行性,以及本文实现的系统模型的正确性。该系统安装后,不改变用户的使用习惯,用户可以正常操作SAP系统并实现导出文件。在本地计算机中打开文件可以看到文件内容正常显示,将文件复制到其他计算机上,文件可以打开,显示为乱码,从而实现了对SAP系统导出文件的加密保护,将导出文件限制在本地计算机中,而对其他文件
  5结语
  为完善及弥补SAP系统在导出外部文件安保机制上的缺失,本文基于驱动层文件透明加解密技术,提出了一种实现SAP系统与文件透明加解密无缝对接的方法。该方法首先根据SAP系统导出外部文件的特点,从驱动层捕获文件操作,经过相应的处理,将数据传输至透明加解密模块完成加解密;同时,为实现透明加解密的无缝集成,需要解决SAP系统进程与导出文件因异步关联无法对应的问题,因而有针对性地提出一种文件映射方法,即SAP系统操作与文件信息映射对应的方法;最后,为了验证SAP系统与文件透明加解密无法对接方法的有效性,本文设计、实现了_个可以有效保护SAP系统导出文件的系统模型,并进行实验测试。通过实验及数据分析证明该系统模型的有效性、可靠性以及与SAP系统的高度兼容性。
  参考文献:
  [1]潘昊,易泽湘,孙秀红,等.基于SAPR/3的ERP技术研究与应用[J].计算机技术与发展,2006,16(7)=174-176.
  [2]关宇平.SAPR/3系统客户化接口程序的开发方法及实现[J].计算机系统应用,2007(2):47-50.
  [3]LEBLANCD.Officedocumentcryptographystructurespecification
  [S].Redmond:MicrosoftCorporation,2009.
  [4]李小波,管海兵,李小勇,等.Office文件加密机制的安全性[J].计算机应用,2010,30(1):126-129.
  [5]赵铭伟,毛锐,江荣安.基于过滤驱动的透明加密文件系统模型[J].计算机工程,2009,35(1):149-152.
  [6]王全民,周清,刘宇明,等.文件透明加密技术研究[J].计算机技术与发展,2010,20(3):147-150.
  [7]郑磊,马兆丰,顾明.基于文件系统过滤驱动的安全增强型加密系统技术研究[J].小型微型计算机系统,2007,28(7):1181-1184.
  [8]魏嘉玮.SAP系统安全机制研究[J].计算机安全,2010,30(1):126-129.
  [9]唐亮.SAP接口技术研究与开发[D].上海:同济大学,2006.
  [10]刘洋.SAP接口技术研究与开发[D].武汉:武汉理工大学,2009.
  [11]HELENM.Freefileencryptionoffered[J].ComputersandSecuri-ty,2009,18(3):231-231.
  [12]姚峰,何成万,胡宏银.一种采用多种加密算法的文件加密方法[J].计算机应用与软件,2009,26(11):272-285.
  [13]赵斌,刘长起,戴英侠.Windows操作系统的文件操作监控技术[J].计算机工程与应用,2004,40(31):131-133.
  [14]谭文,杨潇,邵坚磊,等.Windows内核安全编程[M].北京:电子工业出版社,2009.
  [15]ZHOUZ,TIANL,LIZ.Transparentencryptingofficedocumentbasedonplug-insoftware[J].ProcediaEnginering,2011,23:260-264.
  [16]刘伟,胡平.基于文件系统过滤驱动的文件加密系统设计[J].微电子学与计算机,2009,26(4):114-117.

  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15380085870
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

联系方式

  • 论文投稿客服QQ: 论文投稿2863358778
  • 论文投稿客服QQ: 论文投稿2316118108
  • 论文投稿电话:15380085870
  • 论文投稿邮箱:lunwenbuluo@126.com

热门排行

 
QQ在线咨询
咨询热线:
15380085870
微信号咨询:
lunwenbuluoli