- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验传输安全.doc
实验九 传输安全设计
一.本实验目的及要求:
1.了解在计算机中已有信息加/解密算法,数字签名算法;
2.掌握JAVA中什么是对象序列化,能够熟练使用;
3.掌握JAVA中使用SSL协议加密消息。练习在JAVA使用JCE类库包进行信息加/解操作,以及采用工具软件keytool生成密钥操作。
二.相关知识
1.计算机安全的概念
用于保护数据和阻止Hacker的工具统称为计算机安全(Computer Security)。信息安全最基本的方法就是利用加密信息防止未授权的人窃听,加密是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。
图6-1取代加密算法
置换:重新排列明文中每个元素,如下图6-2所示。
图6-2 置换加密算法
更安全的加密算法,对称加密和公钥加密,例如,对称加/解密算法的代表DES和公钥加/解密算法的代表RAS等。
2.Java中相关的内容
Java中体系结构提供了三类主要的安全解决方案分别是:
Java 认证和授权服务(Java Authentication and Authorization Service,JAAS),提供了灵活和可伸缩的机制来保证客户端或服务器端的Java程序。JAAS已经整合进了Java 2 SDK 1.4,作为标准的用户认证与授权模型。JSSE是基于安全算法和握手机制之上的合成体。SSL(Secure Sockets Layer)是JSSE中的重要的部分。SSL是用的最广泛的实现网络的加密协议。SSL用一个密码处理来提供网络安全通信。SSL是基于标准的TCP/IP socket协议的安全增加用于网络通信,所以SSL是位于传输层和应用程序层之间。最普通的使用SSL的是HTTP(Hypertext Transfer Protocol),用于网络页面。,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现。它提供对对称、不对称、块和流密码的加密支持,它还支持安全流和密封的对象。
Java 中为安全框架提供类和接口,包含在类库包java.security和子类中,该 API 设计用于帮助开发人员在程序中同时使用低级和高级安全功能,该类说明如图6-3所示。
图6-3 java.security类说明
该类中有一个重要的方法doFinal()用于执行加密和解密操作:
Byte[ ] doFinal() 结束多部分加密或解密操作,返回字节数组;
Byte[ ] doFinal(byte[]?input) 按单部分操作加密或解密数据,或者结束一个多部分操作,返回字节数组。
3.数字签名
在通信安全中存在两种方法:数据加密,保证数据的机密性,防止窃听;数据签名,保证数据的认证和完整性,防止伪装、修改、反拒认。
数字签名(Digital Signature)就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。主要的功能是:保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。数字签名技术是不对称加密算法的典型应用
数字签名是个加密的过程,数字签名验证是个解密的过程。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
图6-4 Signature类说明
4.SSL协议
SSL是位于运输层的加密协议,被广泛地用于WEB上的加密应用,保护网络传输地信息。SSL实际是增强TCP/IP Socket协议,1994由NetScape开发,现由IETF(The Internet Engineering Task Force)控制。
JSSE(Java Security Socket Extension,Java安全套接字扩展)是Sun为了解决在Internet上的安全通讯而推出的解决方案。它实现了SSL和TSL(传输层安全)协议。在JSSE中包含了数据加密,服务器验证,消息完整性和客户端验证等技术。通过使用JSSE,开发人员可以在客户机和服务器之间通过TCP/IP协议安全地传输数据.
默认的JSSE配置包括以下内容:
X509Cerificate :X509认证实体;
HTTPs Protocol:安全HTTP协议;
Provider:安全服务提供者;
SSLSocketFactory:安全套接字客户端工
您可能关注的文档
最近下载
- 国家开放大学电大专科《植物学基础》期末试题、选择填空简答题题库、单项选择题题库、判断正误题题库及答案10套(试卷号:2704).pdf
- 汉语语法 - 石毓智.pdf
- 河西新区棚改(城中村)安置小区项目可行性研究报告.pdf
- 《中国民间美术剪纸》课程教学大纲.doc
- 30题汽车标定工程师岗位常见面试问题含HR问题考察点及参考回答.docx VIP
- 四年级的乘除法混合脱式计算练习题及答案(四年级数学计算题100道).pdf
- 除法脱式计算简算四年级练习题及答案(四年级数学计算题100道).pdf
- 政治学:谁得到什么?何时和如何得到?.doc
- 100道脱式计算含竖式答案 四年级脱式计算题100道 简算 简算,更要简单.docx
- 佳能R62使用说明书【最新完整电子版】.pdf
文档评论(0)