`

https之SSL/TLS协议分析

阅读更多

https就是在http上面加了一层SSL/TLS协议,在http站点上部署SSL/TLS数字证书就变成了https。

 

信任主机的问题

采用https的服务器必须从CA申请一个用于证明服务器用途类型的证书。该证书只有用于对应的服务器的时候,客户端才信任此主机。

所以所有的银行系统网站,关键部分应用都是https的。客户通过信任该证书,从而信任了该主机。

 

不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。

1、第三方可以获知通信内容。

2、第三方可以修改通信内容。

3、第三方可以冒充他人身份参与通信。

 

SSL/TLS协议

1、所有信息都是加密传播,第三方无法获知通信内容。

2、具有校验机制,一旦被篡改,通信双方会立即发现。

3、配备身份证书,放置身份被冒充

 

架设SSL安全站点关键要具备以下几个条件

1、需要从可信的证书办法机构CA获取服务器证书。

2、必须在WEB服务器上安装服务器证书。

3、必须在WEB服务器上启用SSL功能。

4、客户端(浏览器端)必须同WEB服务器信任同一个证书认证机构,即需要安装CA证书。

 

一、公钥私钥 

1、公钥和私钥成对出现 

2、公开的密钥叫公钥,只有自己知道的叫私钥 

3、用公钥加密的数据只有对应的私钥可以解密 

4、用私钥加密的数据只有对应的公钥可以解密 

 

对称算法:加密过程和解密过程是对称的,用一个密钥进行加密和解密。

非对称加密:使用公私钥的算法

 

基本的运行过程

SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密

 

这里有两个问题。

如何保证公钥不被篡改?

解决方法:将公钥放在数字证书中。只要证书是可信的,公钥就是可信的。

 

公钥加密计算量太大,如何减少耗用的时间?

解决方法:每一次对话(session),客户端和服务器端都生成一个"对话密钥"(session key),用它来加密信息。

由于"对话密钥"是对称加密,所以运算速度非常快,而服务器公钥只用于加密"对话密钥"本身,这样就减少了加密运算的消耗时间。

 

SSL/TLS协议的基本过程是这样的:

1、客户端向服务器端索要并验证公钥。

2、双方协商生成"对话密钥"。

3、双方采用"对话密钥"进行加密通信。

 

分享到:
评论

相关推荐

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

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

    Netty和SSL/TLS应用例子

    通过阅读和分析这些代码,你可以深入理解Netty如何与SSL/TLS结合,以及如何在实际项目中实现安全的网络通信。代码中可能包括了如`SSLEngine`的创建和配置,证书的加载,以及异常处理等关键部分。通过学习这个示例,...

    ssl dos 用于测试https网站

    SSL DOS(Denial of Service)攻击是针对使用SSL/TLS协议的HTTPS网站的一种攻击方式,主要目的是通过消耗服务器资源,导致服务不可用。本压缩包包含一个名为`ssl_dos.c`的源代码文件,这可能是一个用于模拟或研究SSL...

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

    通过对这些代码的分析和学习,可以更好地理解 Netty 中的 SSL/TLS 双向认证工作原理。 总结,Netty 提供了强大而灵活的工具来实现 SSL/TLS 安全通信,包括双向认证。通过正确配置 `SslContext`、处理通道处理器和...

    scapy-ssl_tls-1.2.3.4.zip

    这个库扩展了著名的Scapy框架,使其能够解码和构建SSL/TLS协议的数据包,这对于网络安全分析、渗透测试以及网络协议开发等工作至关重要。 在Python环境中,通常会使用PyCharm这样的集成开发环境(IDE)来安装和管理...

    基于深度学习的SSL_TLS证书验证程序的自动化测试.pdf

    SSL/TLS协议是保障网络通信安全的关键技术,它通过使用证书来实现身份验证、数据加密和完整性校验等功能。证书的验证作为SSL/TLS协议实现过程中的一个核心环节,其准确性直接关系到整个通信过程的安全性。然而,由于...

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

    在这个场景中,我们关注的是ESP8266如何通过MQTT协议安全地连接到阿里物联网套件、百度天工以及Onenet等MQTT服务器,且重点在于使用SSL/TLS进行加密通信。 **MQTT协议** MQTT(Message Queuing Telemetry Transport...

    《HTTPS权威指南》《Bulletproof SSL and TLS》pdf

    《Bulletproof SSL and TLS》是一本深入介绍SSL和TLS协议以及公钥基础设施(PKI)来确保服务器和Web应用程序安全的权威指南。作者Ivan Ristić是SSL实验室的创始人,以及SSL/TLS和PKI领域的知名专家。这本书自2014年...

    基于流谱理论的SSLTLS协议攻击检测方法.docx

    SSL/TLS协议位于TCP/IP模型的传输层之上,主要用于加密数据传输,确保数据的安全性和完整性。常见的SSL/TLS攻击包括但不限于POODLE攻击、BREACH攻击、RC4NOMORE攻击和THC-SSL-DoS攻击。这些攻击通常利用协议本身的...

    支持GM SSL/TLS解析的wireshark

    GM/T 没有单独规范 SSL协议的文件,而是在SSL 技术规范中定义了国密SSL协议。...TLS协议号为0x0301 0x0302 0x0303,分别表示TLS1.0 1.1 1.2,而国密SSL版本号为0x0101,其参考了TLS1.1 本Wireshark支持解析该报文

    SSL扫描sslscan

    SSLScan是一款强大的工具,用于检测服务器支持的SSL/TLS协议版本以及加密套件,对于系统管理员和安全研究人员来说,它是一个不可或缺的诊断和测试工具。 首先,让我们深入了解一下SSL/TLS协议。SSL最初由Netscape ...

    ssl and tls essentials

    - TLS协议是SSL协议的升级版,由IETF(Internet Engineering Task Force)制定,旨在提高互联网通信的安全性和可靠性。 - 目前最新版本为TLS 1.3,相比于之前的版本进行了多项优化改进。 **2. 与SSL的区别** - ...

    TLS/SSL协议文档,简单易懂

    在本文档中,我们将对 TLS/SSL 协议进行详细的分析和解析,旨在帮助初学者和对 SSL、TLS 感兴趣的人更好地理解这个协议。 TLS/SSL 协议简介 TLS/SSL 协议是一种安全协议,用于确保互联网上传输的数据的安全性。它...

    9-2019053294-赖峥-HTTPS协议分析1

    实验报告主题:“9-2019053294-赖峥-HTTPS协议分析1” 实验目的: 1. 理解SSL协议的基本概念和工作原理,包括其设计目标和安全特性。 2. 掌握应用层协议HTTPS的安全传输过程,特别是如何通过SSL/TLS协议确保数据的...

    9-2019051098-张景曦-HTTPS协议分析1

    总的来说,理解HTTPS协议的安全传输过程,不仅涉及SSL/TLS协议的握手和记录协议,还涵盖了数字证书、公钥加密和对称加密的混合使用,以及如何利用Wireshark这样的工具进行网络流量分析。这个实验旨在让学生深入理解...

    Why Eve and Mallory Love Android:An Analysis of Android SSL(In) Security

    文章标题为:“Why Eve and Mallory Love Android:An Analysis of Android SSL(In)Security”,从标题我们可以看出,本文将重点分析Android操作系统中SSL/TLS协议安全性的潜在问题,以及这些安全漏洞为何受到攻击者...

    实验二 典型的安全协议分析.doc

    实验二 典型的安全协议分析主要关注网络安全领域中的SSL/TLS协议,这是一种广泛用于保障网络通信安全的标准协议。本实验旨在通过Wireshark等嗅探软件来捕获和分析SSL/TLS协议在HTTPS通信中的实际操作流程,以深入...

    带有SSL / TLS的SMTP客户端

    如OpenSSL库提供了SSL/TLS协议的支持,包括密钥管理、证书验证、加密算法等。此外,对于SMTP通信,可以使用库如Poco或libcurl,它们已经封装了SMTP协议和SSL/TLS的接口,使得开发者可以更方便地进行编程。 **...

Global site tag (gtag.js) - Google Analytics