科技网

当前位置: 首页 >智能

用Key4J对Java程序进行全面保护

智能
来源: 作者: 2019-03-13 01:19:57

德国的IT公司step2e (“your step to e-Business”)已与WIBU-SYSTEMS合作开发了一套用WIBU-KEY进行Java类文件加密的产品,这样,就可以对Java程序进行加密。从此以后,每一张 WIBU-KEY附带的光盘都将包含一个简装版的Key4J。

基本问题

近几年来,Java语言的使用正变的越来越普遍,除了一般的编程外,Java还能提供先进的eBusiness应用解决方案,尤其是在分布式或基于服务器的系统中。用Java编写的软件可以同时在不同的系统上独立运行,也就是说一个程序可以同时在Windows、Unix/Linux 或Mac OS系统上运行。要实现这一功能必须在软件实际运行的目标系统中安装一个虚拟机软件。但是,这种架构也会出现一些问题,特别是在安全方面。Java原代码经过编译以后在JVM(Java虚拟机)中执行。由于JVM界面是完全透明的,Java类文件能够很容易地被重新转换成原代码(通过反编译器)。由于这个原因,所有的算法、类文件等都可以以原代码的形式被公开,这样,软件就不能受到保护。

解决方案

WIBU-KEY可以提供强大的加密功能。Key4J正是借用WIBU-KEY的强大加密功能来进行对Java类文件的保护。经过加密的Java类文件是不可能被反编译的,这样不仅能保护类中的代码,而且更可以防止其中的重要数据被盗取。你可以在Key4J-Admin中选择需要加密的类,然后点击Encrypt按钮。

用Key4J对Java程序进行全面保护

此时,这些类会被加密后重新写回原目录,你也可以将其打包为Jar文件。

为了诸如Eclipse和Together等开发环境集成,Key4J也可以以Ant-Task的方式调用。

在执行程序时,Key4JClassloader可以确保被保护的信息解密后只存放在PC的内存中。特殊的“Key4J安全体系“可以监测到JVM中所有解密文件的交流以及操作。可以说,Key4J是目前为止针对Java软件最安全的保护措施。

方案实现

Key4J使用了WIBU-KEY的间接加密技术。WIBU-KEY会先从硬件中初始化一个算法密钥,以后的整个解密过程都将通过该密钥在系统内存中完成。这样就可以将软件与WIBU-BOX的交流降低至最低。而且,程序的执行效率与未经修改加密的程序基本没有区别。

相关推荐