`

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、双方采用"对话密钥"进行加密通信。

 

分享到:
评论

相关推荐

    支持GM SSL/TLS解析的wireshark

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

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

    本文档对ssl/tls协议进行了分析和梳理,内容清晰明了,简单易懂,适合初学者,和对ssl、tls有兴趣的人。

    ethereal进行协议分析

    介绍如何利用ethereal进行协议分析

    HTTPS权威指南:在服务器和Web应用上部署SSLTLS和PKI【试读】

    介绍密码学和最新的TLS协议版本 讨论各个层面上的弱点,涵盖实施问题、HTTP和浏览器问题以及协议漏洞 分析最新的攻击,如BEAST、CRIME、BREACH、Lucky 13、RC4、三次握手和心脏出血 提供全面的部署建议,包括严格...

    基于模糊综合分析的SSL-TLS协议配置 安全评估模型研究.pdf

    基于模糊综合分析的SSL-TLS协议配置 安全评估模型研究 网络安全

    SSL-Sandbox:我为同事准备的PKI + SSLTLS培训动手实验室。 随附的幻灯片可从SlideShare获得。

    SSL / TLS协议 与SSL / TLS相关的Java API 该项目涉及两对控制台Java应用程序: 虚拟SSL服务器加上虚拟SSL客户端。 客户端与服务器建立安全(即SSL / TLS)连接。 随后,在两个端点之间交换了几个随机消息。 这对...

    微信小程序 深入探究

    微信的请求方式(mmtls) ...聊聊HTTPS和SSL/TLS协议 微信开发者工具 小程序基于的浏览器内核 微信小程序运行在三端:iOS、Android 和 用于调试的开发者工具 在 iOS 上,小程序的 javascript 代码是运行在 JavaScript

    ssldump:ssldump-(事实上的存储库,在网络空间中收集补丁)

    该存储库由原始的SSLDUMP 0.9b3 +众多补丁(来自Debian和其他发行版)+通过PR贡献而组成ssldump是一个SSLv3 / TLS网络协议分析器。 它标识所选网络接口上的TCP连接,并尝试将其解释为SSLv3 / TLS通信。 当它识别...

    HTTPS权威指南(高清完整版) 在服务器和WEB应用上部署SSL TLS和PKL. IVAN RISTIC

    本书是集理论、协议细节、漏洞分析、部署建议于一体的详尽Web应用安全指南。书中具体内容包括:密码学基础,TLS协议,PKI体系及其安全性,HTTP和浏览器问题,协议漏洞;最新的攻击形式,如BEAST、CRIME、BREACH、...

    Android平台双向安全通信技术研究 (2013年)

    SSL/TLS协议是最常用的网络传输层安全保密通信协议,实现该协议是保证数据传输安全的关键。Android SDK中并没有提供调用Web Services的库,一般是借助第三方类库Ksoap2来实现。通过分析和研究Ksoap2?SSL/TLS协议?...

    HTTPS权威指南:在服务器和Web应用上部署SSLTLS和PKI(Ivan Ristic[英] 著,杨洋 等 译)

    本书是集理论、协议细节、漏洞分析、部署建议于一体的详尽Web应用安全指南。书中具体内容包括:密码学基础,TLS协议,PKI体系及其安全性,HTTP和浏览器问题,协议漏洞;最新的攻击形式,如BEAST、CRIME、BREACH、...

    openssl:TLSSSL和加密库

    目录总览OpenSSL工具箱包括: libssl是TLSv1.3( )之前的所有TLS协议版本的实现。 libcrypto一个功能全面的通用密码库。 它构成了TLS实施的基础,但也可以独立使用。 openssl OpenSSL命令行工具,瑞士军刀,用于...

    Clever_Internet_Suite_v_9.2.0.0

    添加了使用唯一强加密算法的选项(禁用已知的弱加密算法,密码套件和SSL / TLS协议版本,包括RC4)。新的UseStrongCryptoAlgorithms属性在客户端和服务器组件中实现。 国际域名(IDN)支持被添加到URL解析器中,过时...

    积分java源码-TestSSLServer:测试SSL服务器

    SSL/TLS 服务器并获取有关其配置的一些信息。 它旨在提供(部分)基于 Internet 的工具(如 )的功能,但不要求服务器可通过 Internet 访问。 您可以在内部网络上使用 TestSSLServer 来测试您的服务器,而它们(尚未...

    HTTPS权威指南英文版_Ivan Ristic_SSL_TLS and PKI to Secure Servers and Web Applications

    本书是集理论、协议细节、漏洞分析、部署建议于一体的详尽Web应用安全指南。书中具体内容包括:密码学基础,TLS协议,PKI体系及其安全性,HTTP和浏览器问题,协议漏洞;最新的攻击形式,如BEAST、CRIME、BREACH、...

    Wireshark电脑抓包软件.rar

    Wireshark中文版是迄今为止最优秀也是世界上最重要和广泛使用的网络协议分析软件,就是大家常说的电脑抓包软件,可以从互联网、IEEE 802.11、PPP/HDLC、ATM、蓝牙、USB、令牌环、帧中继、FDDI等读取实时数据,支持对...

    基于BoringSSL的SwiftNIO的TLS支持。-Swift开发

    SwiftNIO SSL SwiftNIO SSL是一个Swift软件包,其中包含基于与OpenSSL兼容的库(即,附带与OpenSSL兼容的libssl的任何库)的TLS实现。 该软件包允许SwiftNIO SSL用户使用SwiftNIO SSL是一个Swift软件包,其中包含...

    SSL安全扫描器 – SSLyze

    SSLyze是一款利用python编写的工具,它可以分析服务器的SSL配置,能够快速、全面的协助测试人员发现SSL服务器的配置错误。 兼容SSL 2.0/3.0和TLS 1.0/1.1/1.2 支持性能测试 安全测试包含弱密码、不安全的会话、CRIME...

    certigo:一种用于检查和验证各种格式的证书的实用程序

    支持STARTTLS协议:尝试调试数据库或邮件服务器上的SSL / TLS连接吗? Certigo支持通过针对MySQL,PostgreSQL,SMTP,LDAP,IMAP和FTP的StartTLS协议建立连接,从而可以更轻松地调试连接问题或扫描过期的证书。 ...

    openssl:https

    libssl是TLSv1.3( )之前的所有TLS协议版本的实现。 libcrypto一个功能全面的通用密码库。 它构成了TLS实现的基础,但也可以独立使用。 openssl OpenSSL命令行工具,瑞士军刀,用于加密任务,测试和分析。 它...

Global site tag (gtag.js) - Google Analytics