码迷,mamicode.com
首页 > 编程语言 > 详细

【Java安全技术探索之路系列:Java可扩展安全架构】之十一:JSSE(一):JSSE架构介绍

时间:2015-06-16 17:08:26      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:jsse   套接字   架构   网络   

作者:郭嘉
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell

在网络通信中,保护所交换数据的完整性和机密性是网络安全面临的重要挑战之一。在通信过程中,潜在的威胁是所交换的数据可能会受到恶意攻击者或非预期接收方访问或修改。安全套接字层(SecureSocket Layer, SSL)和传输层安全(Transport Layer Security, TLS)是IETF开发的独立于应用的协议,它们通过保护所交换数据的隐私性和完整性,为端到端应用通信提供重要的安全特性,并在通信方之间建立真实性、可信性和可靠性。SSL/ILS在TCP/IP协议栈之上运行,通过数据加密、服务器认证、消息完整性和可选的客户端认证来保护通信的安全。对于数据加密,SSL支持使用公开密钥加密算法和秘密密钥加密算法,其中密钥加密算法用于对两个应用间交换的大量数据进行加密。

由于JSSE为客户一服务器通信提供标准API框架和机制,从而为基于客户用及务器的网络通信提供了端到端安全。JSSE支持SSL和TLS协议,并提供与数据加密、消息完整性和对等体认证等相关功能。
由JSSE可以开发出使用以下安全传输协议的客户端和服务器应用:

  • 安全HTTP协议(HTTP over SSL)
  • 安全Shell协议(Telnet over SSL)
  • 安全SMTP协议(SMTP~SSL)
  • IPSEC协议(安全IP协议)
  • 安全RMI或RMI/IIOP(RMI over SSL)

基于jSSE的客户端应用和服务端应用安全通信流程如下图所示:

技术分享

JSSE同样也是基于提供者体系的架构,可以使用默认的SunJCE来满足其所有的加密算法需求,也可以使用位于JAVA_HOME/jre/lib/security/java.serurity文件中静态注册其他厂商的JCA/JCE提供者,将其置于SunJCE提供者前面,从而使用它们。

默认的SunJCE提供者提供以下功能:

  • 实现SSL3.0和TLS1.0协议。
  • 实现SSL/I’LS状态机(SSLEngine ),从而允许通过处理缓冲区数据以生成SSL/I’LS编码数据
    (J2SE 5.0及更高版本)。
  • 实现用于支持RSA算法的密钥工厂和密钥生成器。
  • 实现最常用的SSL和TLS加密算法套件,以支持认证、密钥协商、加密和完整性保护。
  • 实现基于X.509的密钥管理器,用来管理为SiuJSSE提供支持的JCA密钥库的密钥。
  • 实现基于X.509的信任管理器,从而支持对证书链的核实和验证。
  • 支持Kerberos加密算法套件,条件是底层操作系统可以提供该套件(J2SE 5.0及更高版本)。
  • 用JCE PKCS # 11提供者支持硬件加速器和智能卡令牌(J2SE 5.0及更高版本)。

【Java安全技术探索之路系列:Java可扩展安全架构】之十一:JSSE(一):JSSE架构介绍

标签:jsse   套接字   架构   网络   

原文地址:http://blog.csdn.net/allenwells/article/details/46517859

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!