JAVA对安全性的支持4072.docx
《JAVA对安全性的支持4072.docx》由会员分享,可在线阅读,更多相关《JAVA对安全性的支持4072.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、javaa对安全全性的支支持序言:在完成网网络安全全的算法法库是,我选择择了jaava语语言来开开发。由由于 jjavaa 没有有指针,使使我对数数据流的的控制感感到很是是头痛, 于是是对jaava 编程很很有意见见, 然而而在我使使用大数数类(BBigIInteegerr)时,无意中中发现jjavaa对RSAA封装的的很好,再仔细细看相关关的资料料,觉得得里面有有不少东东西,于于是决定定以此为为本学期期的论文文题目,希希望通过过这次学学习能够够从实用用的角度度更加深深入的了了解网络络安全的的一些概概念。本本着学以以至用的的观点,我自己己设计了了一个系系统,虽虽然比较较幼稚,但我尽尽量用上上们
2、所学学的算法法和应用用流程,相信着着对我今今后对网网络安全全的理解解会很有有帮助的的.javaa 中安安全性方方面的概概述系统结构构以 JDDK 11.2 为例.。首先先无论代代码来自自本地或或是远端端,都要要对应一一个安全全策略(seccuriity pollicyy)- 它定定义了不不同签名名者、不不同来源源的一套套权限控控制策略略(peermiissiionss), 在权限限控制中中说明了了对资源源( 如如文件、目目录、端端口。)的的访问的的权限。运行系统统将代码码组织到到单独的的域 (dommainns) 中- 每个个域封装装了一组组具有相相同控制制权限的的类的实实例。域域相当于于 S
3、aandBBox (沙箱箱),AAppllet 可以在在管理员员的授权权下运行行于一个个受到限限制的环环境中,而而应用程程序就不不用受到到这些限限制,当当然他也也受到安安全策略略的控制制。JDK 1.22 Seecurrityy Moodell:密码使用用的体系系结构 JDKK1.22 不但但保留了了以前的的 签名名算法、消消息摘要要算法、密密钥生成成算法, 还增增加了 密钥管管理、算算法参数数管理、算算法 参参数生成成、支持持不同密密钥转化化的代理理,认证证中心 、随机机数生成成算法。JJDK11.2 中还增增加了一一些加密密算法的的扩展包包(Jaava Cryyptoograaphyy E
4、xxtennsioon 即即 JCCE),提提供了全全面的平平台无关关的APPI 函函数 ,实实现了数数字签名名、mdd5、SSHA-1、基基于X.5099 的认认证代理理。;下图显示示了 JJCE 的模型型 :关于Apppellt 权权限控制制的简介介 :Javaa平台通通过安全全管理器器(seecurrityy maanagger)来防止止系统遭遭到攻击击。现在在的JDDK 系系统是通通过启动动安全管管理器来来进行资资源访问问控制的的。现在在的浏览览器中都都装有安安全管理理器,AAppllet 的一举举一动都都受到管管理器的的控制下下,与JJDK 1.22 平台台兼容的的系统需需要通过过
5、pooliccy 文文件来授授权。在pollicyy 文件件中定义义了来自自某地(URLL)的某某人签名名的代码码的访问问权限控控制 ,在在JDKK 1.2 中中,可以以通过工工具 ppoliicyttooll 来生生成、编编辑 ppoliicy 文件.。关于应用用程序权权限控制制的简介介 :如果没有有安全管管理器控控制的话话,应用用程序是是完全自自由的(此此时安全全管理器器是不会会自动启启动的)。通通过用命命令行 -DDjavva.ssecuuritty.mmanaagerr 来运运行程序序,就和和下载的的Appplett 一样样受到了了安全管管理器的的控制。Windows:的缺省的poli
6、cy 控制文件是 java.homelibsecurityjava.policy 。几个重要要的概念念 为了保证证代码和和文挡的的安全性性,需要要签名、证证书、和和密钥管管理方面面有支持持;数字签名名数字签名名的思路路大致是是这样的的: 用Keyytoool 或或 APPI 生生成的私私钥给文文档或代代码签名名 将文档(代码) 和签签名,带带有公钥钥的证书书发给接接收者 接收者通通过公钥钥来确认认接收到到的文件件的完整整性 接收者通通过证书书或确定定情况来来确认发发送者身身份证书证书包括括了以下下几个部部分:: 公钥 实体标识识 ; 可能包包括实体体名、实实体公司司名、所所在城市市、国家家等等
7、 数字签名名 : 分发这这份证书书的实体体对证书书签名 分发这份份证书实实体的标标识要确认某某份证书书是可信信的,只只需确认认签发证证书的实实体是可可信的 其公公钥是可可信的 。实实际中可可能第一一次的出出的公钥钥存在于于另一个个人的签签名文档档中,这这样就需需要建立立一个信信任链,看看最终的的公钥是是否是可可信任的的。成功功地建立立了信任任链以后后,就可可以计算算出该证证书的指指纹(ffinggerpprinnt(ss) )- 一一般是证证书的一一个 HHashh 码 ;接受受者可以以打电话话给证书书发放者者比较两两处的指指纹是否否相同,以以确认自自己受到到的证书书是他发发的,并并且中途途没
8、有被被修改过过。接下下来需要要确认发发送者的的身份,如如果发送送者是自自己信任任的( 已确认认并保存存了其共共钥) ,确认认完成。否否则就需需要第三三方( CA )来得得到证书书。首先先发一个个自签的的证书给给 CAA ,CCA 通通过检查查证书信信息(比比如身份份证编码码什么的的)来确确证,然然后生成成一个自自签名的的证明发发送者身身份的证证书。任任何信任任这个 CA 的人都都相信这这份证书书上公钥钥和实体体的对应应。系统将将所有信信任的证证书存储储起来( Keeysttoree ), 以后后收到了了带签名名的代码码或文档档,就可可以通过过jarrsiggnerr ,系系统 AAPI 来确认
9、认;如果果在安全全策略文文件中说说明了信信任某实实体签名名的代码码,在下下载后系系统会自自动确认认。如果是是将签名名后的代代码或文文档发送送给其他他人,需需要将自自己的证证书捎带带上去以以便对方方确认。kkeyttooll exxporrt 或 AAPI 函数可可以从 KeyyStoore 中将证证书附加加在被签签名的文文档中。如如果是用用 jaarsiigneer ,他他自动将将证书带带上。密钥管理理通过一个个带密码码的数据据库来存存储自己己的私钥钥及信任任的公钥钥( 称称为 KKeysstorre );它包包括了两两类入口口 : 信任证证书和证证书密钥钥对(自自己的私私钥和证证书) 与与
10、PGGP 类类似 ,他们们都可以以通过别别名来标标识。一一个 KKeySStorre 的的所有者者可以通通过不同同的别名名来标记记不同的的 证书书- 私私钥对而而用于不不同的场场合。 通过 javva 工工具来实实现基本本流程工具介绍绍:密钥和证证书管理理工具( Keeytooolss ) 它主要要是负责责 公 私钥钥对 、向向C AA 发证证书申请请、接受受 CAA 的回回复、记记录信任任的公钥钥实体 对应表表, 维维护密钥钥库 ( keeysttoree ) , 命命令基本本形式是是:keyttooll coommaand opttionns主要有如如下几种种命令: -cerrtreeq
11、产生生一个证证书签名名请求(Genneraate a CCerttifiicatte SSignningg Reequeest ,CSRR)给 CA , 由由它来认认证自己己的证书书。 -deelette 删除除对应的的密钥库库的记录录 -expportt 将公公钥证书书输出到到某个文文件 -gennkeyy. 在密密钥库中中存入私私钥- 公钥对对, 后后者保存存在一个个自签的的证书中中。 -immporrt 将将一个信信任的证证书导入入,或者者是接到到了CAA 的回回复,将将该证书书取代原原来密钥钥库中自自签的证证书。 keyppassswd 为为某私钥钥分配密密码 -lisst - 列列出
12、密钥钥库中所所有入口口 -stooreppassswd 给密钥钥库分配配密码.Javaa文档处处理工具具(jaar)如果要对对代码签签名,需需要先用用 jaar 将将其打包包,然后后用jaarsiigneer 来来签名, 命令的的基本格格式是jjar cf jarr-fiile inpput-fille(ss)Javaa 文档档签名及及验证工工具 (jarrsiggnerr)jarssignner 工具通通过密钥钥库中的的数据来来对 jjar 文件进进行签名名和认证证;策略编辑辑器 (pooliccytoool)编辑系统统的策略略文件使用代码码签名1签名名方大致致流程如如下所示示 :各个步骤骤
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 安全性 支持 4072
限制150内