快速业务通道

解析Java体系结构对信息安全的支持 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
检查操作是否可行,比如checkRead方法会检查是否能够读取某个文件,checkWrite方法检查是否能够写入某个文件,管理器根据操作请求类型调用相关的check方法,check方法根据类的保护域判断操作是否可行,如果操作没有权限的话将抛出一个异常,操作收到这个异常后将不能执行,如果操作可行的话,check方法就顺利返回,操作继续执行。

以上签名验证、定义安全策略以及安全管理器检查操作权限一系列过程,有效的保护了被Java应用使用的外部资源的安全性。要注意的是而由启动类加载器加载的核心API类是不受这个安全管理器的权限控制,这也是为什么要用类加载器防止核心API被恶意代码替换的原因。

Java体系结构提供的安全API

Java体系结构提供了三类主要的安全API:Java 认证和授权服务(Java Authentication and Authorization Service,JAAS)、Java 安全套接字扩展(Java Secure Socket Extension,JSSE)和 Java 加密扩展(Java Cryptography Extension,JCE)。前面已经提到了安全管理器中用到的JAAS,这一节我们提到的是API主要指Java提供的对信息进行加密的Java加密扩展包JCE和Java安全套接字扩展包JSSE, 这些API提供了加密算法可以按照我们的需要,实现对任意数据的加密和解密。

Java加密扩展包JCE提供的是基于密钥的加密,它通过javax.crypto.Cipher类来实现数据加密合解密,加密解密的对象可以使程序中的数组对象,也可以是通过Java流接口读出或者写入的数据。使用Cipher类加密可以选择多种加密算法、加密模式和填补机制。加密算法JCE中提供了DES、多重DES、PBEWithMD5AndDES、RSA和Blowfish等等。DES是很多机构组织采用的数据加密标准;而多重DES使用多个DES密码进行多长DES加密,加大了攻击的难度但是也增加了加密解密过程说花的时间;PBEWithMD5AndDES前面提到过,主要是计算散列,然后对散列进行DES加密,来实现签名认证;RSA算法是1978年公布的一种分组加密算法,也是现在应用得最广泛的公钥密钥算法;Blowfish是由Bruce Schneier公布的一种加密算法,没有申请专利,并且公布了实现的代码,它适合不需要经常更换密钥的情况。

选择加密模式是为了对加密数据做进一步调整,从而增加解密难度,模式还可以将分组明文作为流明文进行处理,减少每次处理的数据量,JCE中提供了电子密码本模式ECB、密码封装链接模式CBC、密码反馈模式CFB和输出反馈模式OFB。电子密码本模式ECB是最简单的一种模式,只是对明文每8个字节进行分组,并且一次完成整个明文分组的加密,它适合对二进制数据流进行加密;密码封装链接模式CBC,把一个8字节的分组作为输入数据对另一组加密结果进行修正,这样可以把明文中包含的数据类型进行隐藏,这种模式可以对文本数据进行加密;密码反馈模式CFB,类似于CBC模式只是实现稍有不同,不同的是CBC模式需要明文分组来进行修正,而CFB需要的数据量小一些,并且长度可以进行调整;输出反馈模式OFB,适合那种加密数据在传输过程中有可能产生变化的情况,产生变化出错只会对这一位产生影响而不会影响整个分组。JCE可以选择两种填补机制PCKS5Padding和NoPadding,前者将对明文进行分组时候,如果字节数不够8的倍数就进行填充,保证数据的长度为一个完整的分组,而后者不对数据进行填充,当明文进行分组时候,字节数不够8的倍数会抛出一个异常。

Java安全套接字扩展包JSSE提供的是基于套接字之间传输的数据进行加密,它与JCE最大的不同就是数据的加密过程和传输过程是不分离的,如果说JAAS让我们可以识别应用程序提供者并限制他们只能访问授权使用的那部分系统,那么JSSE保证了我们应用程序传输的数据安全性。JSSE实现了SSL(安全套接字层)的加密,SSL作为HTTPS协议的基础,提供了在TCP套接字上对数据进行加密的方

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号