`

SSL/TLS

 
阅读更多

http://rrsongzi-gmail-com.iteye.com/blog/600816

 

SSL/TLS:

加密:用非对称秘钥交换对称秘钥

完整性:摘要 

身份认证:用对方的公钥,解密

数字签名:用自己的私钥加密,对方公钥解密,//不可抵赖

 

假如现在 Alice 向 Bob 传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为:

1.Alice 准备好要传送的数字信息(明文);

2.Alice 对数字信息进行哈希运算,得到一个信息摘要;

3.Alice 用自己的私钥对信息摘要进行加密得到 Alice 的数字签名,并将其附在数字信息上;

4.Alice 随机产生一个加密密钥,并用此密码对要发送的信息进行加密,形成密文;

5.Alice 用 Bob 的公钥对刚才随机产生的加密密钥进行加密,将加密后的 DES 密钥连同密文一起传送给Bob;

6.Bob 收到 Alice 传送来的密文和加密过的 DES 密钥,先用自己的私钥对加密的 DES 密钥进行解密,得到 Alice随机产生的加密密钥;

7.Bob 然后用随机密钥对收到的密文进行解密,得到明文的数字信息,然后将随机密钥抛弃;

8.Bob 用 Alice 的公钥对 Alice 的数字签名进行解密,得到信息摘要;

9.Bob 用相同的哈希算法对收到的明文再进行一次哈希运算,得到一个新的信息摘要;

10.Bob 将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。

 

 

收到 Server Certificates

接下来收到的应该是 server 端的证书消息了,取出所有的消息,最头上的是 server 证书,最末端的 CA 根证书。在SUN JDK JSSE 中实现的 SSL 是这样处理的:

从 SSLContex 中取出 trust manager ,如果用过 java SSL 编程的同学应该知道,可以自己实现 X509TrustManager 和X509KeyManager 两个接口来定制对证书的验证, sun jdk 中就是调用这个 trust manager 的验证方法来验证证书

 

分享到:
评论

相关推荐

    .net中为 SSL/TLS 安全通道建立信任关系

    .net 中为 SSL/TLS 安全通道建立信任关系 在 .NET 中,建立 SSL/TLS 安全通道时,需要建立信任关系,以确保数据的安全传输。在本文中,我们将讨论如何在 .NET 中建立 SSL/TLS 安全通道的信任关系,并解决常见的调试...

    基于SSL/TLS协议的FTP客户端和服务器端

    **基于SSL/TLS协议的FTP客户端和服务器端** 在当今的网络环境中,数据安全尤为重要,尤其是在文件传输过程中。FTP(File Transfer Protocol)虽然方便,但其明文传输的特性使得数据容易被窃取或篡改。为了解决这个...

    JAVA实现的SSL/TLS双向认证源代码

    Java提供的SSL(Secure Sockets Layer)和TLS(Transport Layer Security)协议是确保数据安全的重要工具。本篇将深入探讨如何使用Java实现SSL/TLS双向认证,以及涉及到的相关工具和步骤。 首先,让我们理解什么是...

    Netty和SSL/TLS应用例子

    在Netty中,我们可以使用`SslContext`来创建SSL/TLS上下文,这是所有SSL/TLS操作的基础。对于服务器端,我们通常需要创建一个`ServerSslContext`,它会使用服务器的证书和私钥。对于客户端,我们则需要创建一个`...

    ssl/tls安全协议

    SSL/TLS(Secure Socket Layer/Transport Layer Security)安全协议是互联网上用于保护数据传输的协议标准,它为网络通信提供加密处理,确保数据在传输过程中不被窃取或篡改。该协议广泛应用于Web浏览器和其他需要...

    Implementing SSL / TLS Using Cryptography and PKI 1st Edition (无水印,数字版)

    根据提供的文件信息,可以看出这是一本关于实现SSL/TLS协议的书籍,使用密码学和公钥基础设施(PKI)作为实现手段。下面将详细介绍与这个主题相关的关键知识点。 SSL(安全套接字层)和TLS(传输层安全性)是两种...

    Windows Server CVE-2016-2183 SSL/TLS协议信息泄露漏洞修复脚本

    Windows Server 合规漏洞修复,修复Windows Server CVE-2016-2183 SSL/TLS协议信息泄露漏洞修复脚本,基于Windows PowerShell, 兼容Windows Server 2016/2019,防止Sweet32 生日攻击

    解决 SSL/TLS协议信息泄露漏洞(CVE-2016-2183) ps1 文件

    解决 SSL/TLS协议信息泄露漏洞(CVE-2016-2183) ps1 文件

    ssl_android.zip_TLS_android_android ssl_application_ssl/tls

    SSL/TLS(Secure Sockets Layer/Transport Layer Security)是网络安全领域中的重要协议,主要用于保障互联网通信的安全性。在Android平台上,SSL/TLS被广泛应用于移动应用程序中,以确保用户数据的隐私和完整性。本...

    netty实现SSL/TSL双向加密认证示例

    在本文中,我们将深入探讨如何使用 Netty 实现 SSL/TLS(Secure Sockets Layer/Transport Layer Security)双向加密认证。SSL/TLS 是互联网上广泛采用的安全通信协议,确保数据在网络传输过程中保持私密性和完整性。...

    tls.rar_ tls protocol_TLS_ssl_ssl/tls_tls pdf

    8. **TLS/SSL的安全挑战**:如BEAST、CRIME、POODLE等攻击方法,以及对弱加密套件的利用,都是SSL/TLS协议面临的安全威胁。 9. **证书管理**:了解如何获取、安装和管理SSL/TLS证书,以及处理证书过期、吊销等问题...

    Understanding SSL/TLS

    ### 理解 SSL/TLS:安全加密与网络信任 #### 一、SSL/TLS 是什么? SSL(Secure Sockets Layer)与 TLS(Transport Layer Security)是两种用于保护互联网通信安全的技术标准。这两种协议主要用于在客户端(如...

    scapy-ssl_tls-1.2.3.4.zip

    Scapy-ssl_tls是Python中一个强大的工具,用于解析、构造和操纵网络协议的数据包,特别是在处理SSL/TLS加密通信时。这个库扩展了著名的Scapy框架,使其能够解码和构建SSL/TLS协议的数据包,这对于网络安全分析、渗透...

    c++ smpt发送邮件类 ssl/tls

    标题 "c++ smpt发送邮件类 ssl/tls" 涉及的是在C++编程环境中使用SMTP(Simple Mail Transfer Protocol)协议并通过SSL/TLS(Secure Socket Layer/Transport Layer Security)加密来发送电子邮件的知识。SMTP是...

    IISCrypto 解决SSL/TLS协议信息泄露漏洞的工具

    **IISCrypto:SSL/TLS协议安全配置工具** IISCrypto 是一款专为Windows服务器(如Windows 2008、2012、2016)设计的实用工具,用于解决SSL(Secure Sockets Layer)和TLS(Transport Layer Security)协议的安全...

    关于SSL/TLS的认识

    SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是网络安全协议,用于在互联网上提供安全通信。它们确保了在客户端(如浏览器)和服务器之间传输的数据是加密的,保护了用户的隐私和数据完整性,防止...

    ESP8266 MQTT SSL/TLS 阿里物联网套件 百度天工 Onenet等MQTT服务器(注意:是固件)

    ESP8266 MQTT SSL/TLS 阿里物联网套件 百度天工 Onenet等MQTT服务器固件详解 ESP8266是一款低功耗、高性能的Wi-Fi微控制器,常用于IoT(物联网)应用。在这个场景中,我们关注的是ESP8266如何通过MQTT协议安全地...

    XEP-0035: SSL/TLS Integration.pdf

    《XEP-0035: SSL/TLS Integration》是XMPP(Extensible Messaging and Presence Protocol)标准框架下关于SSL/TLS整合的一份文档。该文档由Robert Norris撰写,并于2003年11月5日发布,但随后在同一天被撤销,因为其...

Global site tag (gtag.js) - Google Analytics