文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Java用J2SE 1.4进行Internet安全编程(上)(1)
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
·Java开源技术:Eclipse的使用技巧详解
·新手入门:Java中的修饰词使用方法总结
·JAVA开发者应该去的20个英文网站
·使用JDBC创建数据库访问程序
·JDK的命令详解
·Java学习从入门到精通(附FAQ)
·Tomcat性能调整
·JSF:Java中面向Web开发的生旦净末丑
·对Java语言入门初学者的一些建议
·Java技术的新方向
热点TOP10
·Java图形用户界面设计
·在桌面应用中使用JAVA DB
·3D编程指南第一部分:快速进入移动JAVA 3D编程世界
·java swing的拖放例子
·用Java编写的记事本程序(1)
·用Java编写的记事本程序(3)
·JasperReport经验谈
·图解JBuilderX安装与实践
·用java编写的小游戏源代码分析
·struts+spring+ibatis轻量级J2EE开发
·单源点最短路径Dijkstra算法的JAVA实现
·实例讲解:Java中的SOAP技术
·初学者想学Hibernate,初级基础教程
·中国农历二百年算法及年历程序分析一
·用Java实现SMTP服务器
·Java语言出现的背景 影响及前景
·Java Applet 入门第三天
·用Java编写的记事本程序(2)
·Java学习从入门到精通(附FAQ)
·通过JCA实现企业级应用程序的“即插即用”

用J2SE 1.4进行Internet安全编程(上)(1)

日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]


证书由权威认证机构 (CA)——值得信赖的授权者发行和验证。一个证书描述一个人的公钥。一个签名的文档会作出如下保证:我证明文档中的这个公钥属于在该文档中命名的实体。签名(权威认证机构)。目前知名的权威认证机构有 Verisign,Entrust 和 Thawte 等。注意现在使用的 SSL/TLS 证书是 X.509 证书。

数据完整性就是要确保数据在传输过程中没有被改变。

SSL 和 TCP/IP 协议的层次

SSL 是名符其实的安全套接层。它的连接动作和 TCP 的连接类似,因此,你可以想象 SSL 连接就是安全的 TCP 连接,因为在协议层次图中 SSL 的位置正好在 TCP 之上而在应用层之下,如图 1 所示。注意到这点很重要。但是,SSL 不支持某些 TCP 的特性,比如频带外数据。

用J2SE 1.4进行Internet安全编程(上)(1)(图一)

图 1: SSL 和 TCP/IP 协议的的层次

可交流的加密技术

SSL 的特性之一是为电子商务的事务提供可交流的加密技术和验证算法提供标准的方法。SSL 的开发者认识到不是所有人都会使用同一个客户端软件,从而不是所有客户端都会包括任何详细的加密算法。对于服务器也是同样。位于连接两端的的客户端和服务器在初始化“握手”的时候需要交流加密和解密算法(密码组)。如果它们没有足够的公用算法,连接尝试将会失败。

注意当 SSL 允许客户端和服务器端相互验证的时候,典型的作法是只有服务器端在 SSL 层上进行验证。客户端通常在应用层,通过 SSL 保护通道传送的密码来进行验证。这个模式常用于银行、股份交易和其它的安全网络应用中。

SSL 完全“握手”协议如图 2 所示。它展示了在 SSL “握手”过程中的信息交换顺序。

用J2SE 1.4进行Internet安全编程(上)(1)(图二)

图 2:SSL “握手”协议

这些消息的意思如下:

1. ClientHello:发送信息到服务器的客户端,这些信息如 SSL 协议版本、会话 ID 和密码组信息,如加密算法和能支持的密匙的大小。

2. ServerHello:选择最好密码组的服务器并发送这个消息给客户端。密码组包括客户端和服务器支持。

3. Certificate:服务器将包含其公钥的证书发送给客户端。这个消息是可选的,在服务器请求验证的时候会需要它。换句话说,证书用于向客户端确认服务器的身分。

4. Certificate Request: 这个消息仅在服务器请求客户端验证它自身的时候发送。多数电子商务应用不需要客户端对自身进行。

5. Server Key Exchange:如果证书包含了服务器的公钥不足以进行密匙交换,则发送该消息。

6. ServerHelloDone:这个消息通知客户端,服务器已经完成了交流过程的初始化。

7. Certificate:仅当服务器请求客户端对自己进行验证的时候发送。

8. Client Key Exchage:客户端产生一个密匙与服务器共享。如果使用 Rivest-Shamir-Adelman (RSA) 加密算法,客户端将使用服务器的公钥将密匙加密之后再发送给服务器。服务器使用自己的私钥或者密钥对消息进行解密以得到共享的密匙。现在,客户端和服务器共享着一个已经安全分发的密匙。

9. Certificate Verify:如果服务器请求验证客户端,这个消息允许服务器完成验证过程。

10. Change Cipher Spec:客户端要求服务器使用加密模式。

11. Finished:客户端告诉服务器它已经准备好安全通信了。

12. Change Cipher Spec:服务器要求客户端使用加密模式。

13. Finished:服务器告诉客户端它已经准备好安全通信了。这是 SSL “握手”结果的标志。

14. Encrypted Data:客户端和服务器现在可以开发在安全通信通道上进行加密信息的交流了。

JSSE

Java 安全套接扩展 (JSSE) 提供一个框架及一个 100% 纯 Java 实现的 SSL 和 TLS 协议。它提供了数据加密、服务器验证、消息完成性和可选的客户端验证等机制。JSSE 的引人之外就是将复杂的、根本的加密算法抽象化了,这样就降低了受到敏感或者危险的安全性攻击的风险。另外,由于它能将 SSL 无缝地结合在应用当然,使安全应用的开发变得非常简单。JSSE 框架可以支撑许多不同的安全通信协议,如 SSL 2.0 和 3.0 以及 TLS 1.0,但是 J2SE v1.4.1 只实现了 SSL 3.0 和 TLS 1.0。

JSSE 编程

JSSE API 提供了扩充的网络套接字类、信用和密匙管理,以及为简化套接字创建而设计的套接字工厂框架,以此扩充 java.security 和 java.net 两个包。这些类都包含在 javax.net 和 javax.net.ssl 包中。


上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页 




上一篇:用J2SE 1.4进行Internet安全编程(下)(1)

下一篇:论J2EE程序员的武功修为

用J2SE 1.4进行Internet安全编程(上)(1) 相关文章:
·IE浏览器再现严重安全漏洞 微软紧急发补丁程序
·不怕攻击 家庭上网必学八招安全绝招
·如何进行局域网设置
·socket编程原理
·中小企业整体网络安全解决方案解析
·基础知识 初级黑客安全技术命令详解
·Windows黑客编程基础
·TCP/IP编程实现远程文件传输
·如何以安全模式启动计算机
·Windows 2003安全设置大全-IIS、终端服务、FTP、SQL的配置
用J2SE 1.4进行Internet安全编程(上)(1) 相关软件:
·Kaspersky(卡巴斯基) Internet Security 安全套装 V6.0.2.621 中文版
·洪恩轻松教你学电脑_internet学习
·如何加固Windows XP 主机安全
·2007网络安全黄皮书V1.0.0
·美萍安全卫士v12.3
·温瑞安全集
·防骗 安全教育片
·360安全卫士v3.2
·C++编程思想
·shell编程和unix命令

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot