Java加密类文件保护方案设计与实现

来源 :青年科学·教师版 | 被引量 : 0次 | 上传用户:bdysh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:Java软件在知识产权的保护上面临着很大的安全风险。本文针对Java软件保护的需求,从Java类加载机制入手,提出了加密类文件来实现软件保护的方案。
  关键词:软件保护;Java软件;秘钥
  软件是一切计算机应用的基础,满足不同行业、不同领域需求,面向各类应用的软件不断地孕育而生。计算机软件是高级逻辑思维的产物,是典型的技术密集型产品,其价值集中体现在内部的核心技术中,一旦被窃取或者复制,由此带来的经济、社会损失有时是无法估量的。软件保护就是在开发者被这种问题所困扰的情况下应运而生。
  一、Java软件保护面临的问题解析
  在对Java体制和Java类文件深入分析研究的基础上,人们从不同的角度出发,提出了多种保护技术,这些保护技术在一定程度上起到了保护Java类文件的作用,但是都存在各自的缺点和不足。本地化技术是以丧失Java的跨平台性为代价的,而这恰恰是Java广受欢迎的重要原因,另外,目前的本地编译器还较不成熟,对Java类库的支持还远远不够。远程接口访问技术只适用于分布式结构的应用软件,而无法应用于单机应用软件,同时这种方法也存在着很大的安全隐患,一旦应用服务器被攻破,那么部署在其上的全部类文件都会泄露出去,造成更大的损失。数字水印技术目前被广泛的应用,但是数字水印技术不是一种主动的防御技术,而是一种被动的取证技术,只能在侵权行为己经发生,攻击者己经成功获得代码,为证明产权的归属提供证据时发挥作用,而不能从根本上用技术手段防止侵权行为的发生。
  二、Java加密类文件保护的可行性
  在Java软件保护中,需要保护的内容是体现软件价值的创新之处和核心算法,这些都包含在不同的类文件中,如果能够确保核心类文件的内容不被攻击者获得就可以确保Java软件的安全性。密码学是研究利用数学算法将明文转变为不可能理解的密文和反过来将密文转变为可理解形式的明文的方法、手段和理论的一门科学。利用密码技术,可以将敏感信息加密并通过一种并不安全的途径传递。这样,只有拥有密钥的收件人或终端才能解读原始信息。加密技术是一种数据安全的科学,要完成信息加密需要一种加密算法和一个密钥。使用加密的方法来保护类文件,需要确保密钥的安全。在采用加密技术保护信息时,核心是对密钥的保护,而不是对算法或硬件本身的保护。这就涉及到密钥管理(key management)问题,而密钥管理是密码学中最困难的一部分,经常是保密系统的一个致命弱点。
  在本方案的设计中,将密钥隐藏在密文中,解密时首先使用密钥提取算法提取密钥。作为解密模块的一部分,密钥提取算法不能被加密,否则又需要别的模块先将它解密,如此将形成循环,而密钥提取算法又是必须加以保护、不能被攻击者获得的关键内容,否则对类文件进行的加密将失去意义。在这里,本方案采用将解密算法本地化的方法来实现保护的目的,解密算法功能简单,只涉及基本的运算,所以在本地化过程中并不会出现前文所述的问题,可以对不同的平台实现不同的本地版本,而Java程序本身依然可以保持"一次编译、处处运行"的跨平台性,这样解密模块的安全性就达到了与C/C+十等传统语言开发的软件同样的安全性,要获得解密算法流程只能通过反汇编和程序跟踪等技术手段,这就大大提高了Java软件的安全性,这是本方案在安全性上的可行性。
  三、方案的实现
  加密类文件保护方案结合类文件加密、密钥隐藏、定制ClassLoader技术来实现Java类文件保护。该方案的核心思想如下:
  1、加密Java类文件
  用专门实现的加密工具来加密Java类文件,加密后的Java类文件不再是一种有格式的字节码文件,而是一堆乱码,因此反编译器无法对其进行反编译,将类文件的安全建立在加密体制的安全性基础之上。
  2、提出了一种新的密钥管理算法
  加密算法使用伪随机的密钥加密类文件,在密钥的保护的问题上,本方案将密钥隐藏在加密之后的类文件中,因此,如何隐藏密钥是确保类文件安全的一个关键问题,既要确保密钥的安全性,不被攻击者非法获得,又要保证解密时提取的快速和正确。
  3、使用定制的ClassLoader
  在定制的启动程序中调用Class.forName()来替换虚拟机默认使用的System ClassLoader,转而使用Decrypt ClassLoader来载入MainClass,这样被MainClass直接或I旬接引用的Java类都将由Decrypt ClassLoader载入,定制的Decrypt ClassLoader查找并解密类文件而后完成加载。Decrypt ClassLoader在本方案中是不能够被加密的,否则JVM无法加载它,加密的类文件也就无法完成解密,因此如何保护Decrypt ClassLoader是最终必须解决的问题,用C++语言实现关键的解密算法部分,并将其编译为动态链接库文件,在Decrypt ClassLoader中并不涉及任何算法细节只是通过本地接口调用本地化的解密算法实现解密。
  加密流程:首先将应用软件中待加密的类文件从jar包中抽取出来,由密钥生成算法生成伪随机的密钥,然后加密模块使用此密钥对类文件进行加密,加密完成后,密钥隐藏模块将密钥隐藏于加密后生成的类文件中,最后将加密后的类文件和定制的Classloader重新打包成jar文件,加密过程结束。
  解密流程:首先定制的启动程序调用定制的Decrypt Classloader载入加密类文件,Decrypt Classloader则通过本地接口调用动态链接库文件Decrypt Dll实现文件解密,先从密文中提取出解密密钥,然后使用此密钥完成加密类文件的解密,解密完成后通过JNI技术调用defineclass()方法,将类对象返回给JVM,至此解密流程结束。
  四、结语
  本文针对Java软件保护的需求,从Java类加载机制入手,提出了加密类文件来实现软件保护的方案,具有如下特点:
  1、安全性高
  在此方案中Decrypt ClassLoader调用动态链接库文件实现解密,而负责解密的动态链接库通过使用JNI技术,所以Class对象是由Java虚拟机创建的。加密的密钥是采用伪随机算法生成的,具有良好的随机性;密钥分存算法确保了攻击者获取密钥的困难性,因此采用本方案保护Java类文件具有极高的安全性。
  2、保持跨平台性
  本保护方案中,除具体负责解密的动态链接库文件DecryptDll外,全部采用Java实现,安全性依赖于本地化的密钥提取算法,因此最大程度上保护了Java的跨平台性。
  3、通用性强,应用方便
  应用此方案实现Java软件的保护,单机应用程序不需要对应用软件的代码作任何改变,网络应用程序的改动也比较小,将servlet的接口和实现分离即可,只需要使用定制的工具加密相应的类文件,并在应用环境下使用定制的Classloader即可实现类文件的解密,因此本方案是一种通用性强、高效方便实现Java软件保护的方法。
  参考文献:
  [1]申茜,辛晓辉.JAVA软件面临的风险及其保护[J].电脑知识与技术(学术交流),2007,(23).
  [2]胡燕京,张健,王海义,刘轶群.软件保护研究及其在Java软件保护中的应用[J].现代电子技术,2007,(15).
  [3]张逸,杨洪耕.一种基于网络的软件保护方案[J].微计算机信息,2009,(9).
  [4]周立国,熊小兵,孙洁.基于自封闭代码块的软件保护技术[J].计算机应用,2009,(3).
  [5]董建刚,原民民.基于公开密钥算法的软件保护策略[J].科学技术与工程,2009,(6).
  作者简介:张琦(1990.5-),男,黑龙江省绥化市望奎县人,本科学历,就读于天津工业大学,软件工程2009级本科生,研究方向:软件开发。
其他文献
纪录片依靠视觉手段和听觉手段传达信息、表达情感,声音和画面是缺一不可的两个重要部分。它们共同构成了纪录片表述的情境,只不过在不同的情境中,声画的侧重点有所不同。  获得奥斯卡最佳纪录片奖的《从毛泽东到莫扎特》以小提琴大师斯坦恩访华为主线,记录了这位音乐家在华授课、观光、演奏的全过程。导演艾伦·米勒细化声音元素,充分利用声音的叙事功能,在线性的时间轴上构建起一个叙事的声音空间,声音作为重要的叙事元素
期刊
摘 要:张爱玲的代表作品《倾城之恋》,讲述了白流苏与范柳原的爱情纠葛。本文重新对其进行解读,是对现实无奈的妥协,抑或是对爱情信仰的失落?  关键词:《倾城之恋》;信仰失落;转变  在张爱玲一生数量极其丰富的作品之中,《倾城之恋》无疑占有非常特殊的地位。这里言其特殊,是指有二。论及其一,《倾城之恋》的人物形象朦胧迷离、自我矛盾而充满纠结,而小说中所传达的表征旨意又非清晰透彻,如此这般,对于隐然成为张
期刊
摘 要:证据是司法公正的基石,是诉讼活动运行的基础。证据问题一直是诉讼的关键性问题,也是长期困扰理论和实务界的问题。我国刑事诉讼立法的相对滞后,刑事证据问题的规定过于粗疏和简陋,刑事证据规则体系的缺失必然会造成刑事司法实践活动的诸多问题。本文也试图去厘清几个焦点性问题,以期达到理愈辩愈明的效果。把自己一些不太成熟和完善的观点提出来,以求教于方家。  关键词:非法证据排除 焦点性问题 《关于办理刑事
期刊
摘 要:2011年7月,新疆阿勒泰地区发现了中国第二、世界第四的铁陨石。而这一发现引起人们的注意并不是因为陨石科研价值巨大,而是这块陨石犹如掉入了法律的真空地带,引起了人们关于物权立法的再次思考。  关键词:陨石;国家所有;私人财产;先占  "2011年7月,新疆阿勒泰地区发现了中国第二、世界第四的铁陨石。'为了保护'陨石,当地政府很快将陨石拉走。时隔一年半后,当初向科研单位报告了陨石具体位置的两
期刊
随着城市化进程的加剧,城市驱动力将由传统的土地、资本、产业、政策转向依托人才、科技、旅游、文化的可持续发展模式,同时在全球化竞争当中,面对与世界一流城市硬件实力的差距渐微,我国的城市文化工程、品牌工程建设已是箭在弦上。城市形象视频作为对外交流的一种文化方式,能够涵盖语言、音乐、图像、文化、艺术、舞蹈等多种表征内容,除了宣传职能外,以其特有的艺术性和思想性可产生积极的文化感召和情感认同,不断丰富城市的感知意涵,增强城市的形象魅力。
  本研究基于扎根理论对城市形象视频展开研究设计、分析流程和理论建构。
摘 要:元代杂剧名家王实甫的代表作品《西厢记》为世人所称道,有"新杂剧,旧传奇,《西厢记》天下夺魁"之美誉。本文分析了一个深受封建礼法熏陶却又敢于冲破世俗礼法的人物形象--细腻、聪慧的相国小姐崔莺莺。  关键词:崔莺莺;自然;细腻;聪慧  王实甫的《西厢记》是一部美好的爱情戏剧,是中国十三世纪最著名的元曲之一,同时也是这一时期最具代表性的作品。明初贾仲名在为王实甫写的吊词〔凌波仙〕中便说"新杂剧,
期刊
摘 要:本文从利益分配的视角,使用文义解释、体系解释、目的解释、历史与比较解释等狭义的民法解释方法,对职业打假索赔问题作出评析。经分析,得出职业打假者也属于消费者范畴;在消费领域中,职业打假行为应该适用《消费者权益保护法》的双倍赔偿。法律经过利益机制的分配调控秩序,彰显社会正义。  关键词:消费领域;职业打假;民法解释;利益分配  引言:以"打假"为职业的维权现象  2009年6月,北京《石景山法
期刊
摘 要:中国是一个农业大国,农民与土地有着一种天然的联系,我国的农村土地制度随着时代的发展不断进步,村庄治理也面临着重大的挑战。土地流转对村庄的农民收益、劳动力就业、组织结构、社会观念、公共需求、公共服务、市场机制等方面造带来了巨大的变化,针对这些变化。本文以文献综述视角,通过对现有国内外文献整理,分析我国农地流转对村庄治理的影响因素,以及村庄治理转型作出一定的理论基础。  关键词: 农地流转、村
期刊
摘 要:违章建筑的治理在我国大陆实践中存在着很多的问题,研究并探讨治理对策分析对违章建筑的治理实践具有十分重要的价值。从违章建筑在实践中存在的问题出发作深入的实证分析,对违章建筑本身的定义、物权归属、法律制度方面的现状和缺陷进行深刻的认识,并进一步提出处理问题的具体方案,我们力求完善我国处理违章建筑方面的制度。  关键词:违章建筑;治理对策;行政处罚;城市管理  一、前 言  随着城市规划体系的日
期刊
摘 要:公共服务均等化是中国财政转移支付制度的最主要目标,一个卓有成效的财政转移支付制度是实现公共服务均等化的重要途径。虽然我国转移支付制度在不断完善,但均等化效果仍不理想。改革的重点是加大一般性转移支付力度,完善专项转移支付,进一步减少直至取消税收返还形式。  关键词: 转移支付 公共服务 均等化  一、公共服务均等化的内涵  关于公共服务均等化的内涵,大多数学者认为,公共服务均等化是我国公共财
期刊