ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:140.31KB ,
资源ID:15071500      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15071500.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验09 传输安全Word文件下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验09 传输安全Word文件下载.docx

1、图6-2 置换加密算法更安全的加密算法,对称加密和公钥加密,例如,对称加/解密算法的代表DES和公钥加/解密算法的代表RAS等。2Java中相关的内容Java中体系结构提供了三类主要的安全解决方案分别是: Java 认证和授权服务(Java Authentication and Authorization Service,JAAS),提供了灵活和可伸缩的机制来保证客户端或服务器端的Java程序。JAAS已经整合进了Java 2 SDK 1.4,作为标准的用户认证与授权模型。 Java 安全套接字扩展(Java Secure Socket Extension,JSSE),JSSE是基于安全算法和

2、握手机制之上的合成体。SSL(Secure Sockets Layer)是JSSE中的重要的部分。SSL是用的最广泛的实现网络的加密协议。SSL用一个密码处理来提供网络安全通信。SSL是基于标准的TCP/IP socket协议的安全增加用于网络通信,所以SSL是位于传输层和应用程序层之间。最普通的使用SSL的是HTTP(Hypertext Transfer Protocol),用于网络页面。 Java 加密扩展(Java Cryptography Extension,JCE),它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现

3、。它提供对对称、不对称、块和流密码的加密支持,它还支持安全流和密封的对象。Java加密扩展包JCE提供的是基于密钥的加密,它通过javax.crypto.Cipher类来实现数据加密合解密,加密解密的对象可以使程序中的数组对象,也可以是通过Java流接口读出或者写入的数据。使用Cipher类加密可以选择多种加密算法、加密模式和填补机制。加密算法JCE中提供了DES、多重DES、PBEWithMD5AndDES、RSA和Blowfish等多种加/解密算法。Java 中为安全框架提供类和接口,包含在类库包java.security和子类中,该 API 设计用于帮助开发人员在程序中同时使用低级和高级

4、安全功能,该类说明如图6-3所示。图6-3 java.security类说明该类中有一个重要的方法doFinal()用于执行加密和解密操作: Byte doFinal() 结束多部分加密或解密操作,返回字节数组; Byte doFinal(byteinput) 按单部分操作加密或解密数据,或者结束一个多部分操作,返回字节数组。3数字签名在通信安全中存在两种方法:数据加密,保证数据的机密性,防止窃听;数据签名,保证数据的认证和完整性,防止伪装、修改、反拒认。数字签名(Digital Signature)就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收

5、者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。其主要的功能是:保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。数字签名技术是不对称加密算法的典型应用,典型的算法是RSA和DSA。数字签名是个加密的过程,数字签名验证是个解密的过程。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。在JDK1.1

6、中提供了DSA(Digital Signture Algorithm)数字签名算法,使用公钥系统提供的数字签名。位于Java.Security类库包中存在用于产生和使用数字签名的类: KeyPairGenerator类:用于生成公私钥对; Signature类:用于生成签名信息,如图6-4所示。图6-4 Signature类说明4SSL协议SSL是位于运输层的加密协议,被广泛地用于WEB上的加密应用,保护网络传输地信息。SSL实际是增强TCP/IP Socket协议,1994由NetScape开发,现由IETF(The Internet Engineering Task Force)控制。JS

7、SE(Java Security Socket Extension,Java安全套接字扩展)是Sun为了解决在Internet上的安全通讯而推出的解决方案。它实现了SSL和TSL(传输层安全)协议。在JSSE中包含了数据加密,服务器验证,消息完整性和客户端验证等技术。通过使用JSSE,开发人员可以在客户机和服务器之间通过TCP/IP协议安全地传输数据.默认的JSSE配置包括以下内容: X509Cerificate :X509认证实体; HTTPs Protocol:安全HTTP协议; Provider:安全服务提供者; SSLSocketFactory:安全套接字客户端工厂类; SSLServ

8、erSockerFactory:安全套接字服务端工厂类; keyStore:密钥库; keyStore Type:密钥库类型;在JAVA的安装目录下的bin目录中,提供了一个密钥和证书管理工具keytool.exe,它被用来管理私钥仓库(keystore)和与之相关的X.509证书链(用以验证与私钥对应的公钥),也可以用来管理其他信任实体。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。通过执行keytool -genkey 参数命令来生成密钥对(公钥和私钥

9、),缺省的密钥对生成算法是“DSA”。在生成 DSA 密钥对时,密钥大小的范围必须在 512 到 1024 位之间,且必须是 64 的倍数。缺省的密钥大小为 1024 位。keytool 将密钥和证书储存在一个所谓的密钥仓库中。缺省的密钥仓库实现将密钥仓库保存为一个文件,并且采用用口令来保护私钥。 每个 keytool 命令都有一个 -keystore 选项,用于指定 keytool 管理的密钥仓库的永久密钥仓库文件名称及其位置。缺省情况下,密钥仓库储存在用户宿主目录(由系统属性的“user.home”决定)中名为 .keystore 的文件中。在 Solaris 系统中“user.home”

10、缺省为用户的宿主目录。该类库中可能会出现的异常包括: SSLException:SSL实体异常; SSLHandshakeException:SSL握手连接异常; SSLKeyException:SSL密钥实体异常; SSLPeerUnverifiedException:SSL对验证异常; SSLProtocolException:SSL协议异常。三类及方法1security常用方法staticintaddProvider(Providerprovider) 增加服务提供者SetgetAlgorithms(StringserviceName) 获得安全算法StringgetProperty(S

11、tringkey) 获得安全特性ProvidergetProvider(Stringname) 获得服务提供者ProvidergetProviders() 获得所有的提供者insertProviderAt(Providerprovider, intposition) 在指定位置插入服务提供者voidremoveProvider(Stringname) 删除指定的服务提供者setProperty(Stringkey, Stringdatum) 设置安全属性2singature常用方法protected Signature(Stringalgorithm) getAlgorithm() 获得签名算

12、法SignaturegetInstance(Stringalgorithm) 获得签名算法实例algorithm, Stringprovider) 获得指定提供者的签名算法实例AlgorithmParametersgetParameters() 获得签名算法参数getProvider() 获得签名算法提供者initSign(PrivateKeyprivateKey) 初始化签名算法initVerify(PublicKeypublicKey) 初始化验证算法setParameter(AlgorithmParameterSpecparams) 设置算法参数bytesign() 执行签名操作sign

13、(byteoutbuf, intoffset, intlen) 执行签名操作,返回指定返回的字节数组update(bytedata) 使用指定数组修改签名或验证数据Updates the data to be signed or verified, using the specified array of bytes.data, intoff, intlen) 修改指定数组长度的签名或验证数据booleanverify(bytesignature) 执行验证签名signature, intlength) 验证指定长度数组的数据4、知识填空1. JAVA体系结构提供了三类主要的安全API包,分别是(Java扩展加密JCE)、(Java认证和授权服务JAAS)和(Java安全套接字扩展JSSE)。2. JCA的英文全称是(Java Crypto Architecture),中文全称是(Java加密体系结构)。3. JCE的英文全称是(Java Crypto Extends),中文全称是( Java加密扩展包)。JCE中提供了两个类库分别是(java.security)和(javax.crypto)。4. 数

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1