精华内容
下载资源
问答
  • 一、为什么使用TLSSSL/TLS出现之前,很多应用层协议(http、ftp、smtp等)都存在着网络安全问题,例如大家所熟知的http协议,在传输过程中使用的...为了解决此类问题,人们在应用层和传输层之间加入了SSL/TLS协议...

    一、为什么使用TLS

    在SSL/TLS出现之前,很多应用层协议(http、ftp、smtp等)都存在着网络安全问题,例如大家所熟知的http协议,在传输过程中使用的是明文信息,传输报文一旦被截获便会泄露传输内容;传输过程中报文如果被篡改,无法轻易发现;无法保证消息交换的对端身份的可靠性。为了解决此类问题,人们在应用层和传输层之间加入了SSL/TLS协议。

    二、什么是TLS

    TLS(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure Socket Layer,安全套接字层),它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。

    TLS的作用

    TLS协议主要解决如下三个网络安全问题。

    1. 保密(message privacy),保密通过加密encryption实现,所有信息都加密传输,第三方无法嗅探;
    2. 完整性(message integrity),通过MAC校验机制,一旦被篡改,通信双方会立刻发现;
    3. 认证(mutual authentication),双方认证,双方都可以配备证书,防止身份被冒充;

    TLS的发展过程

    • 1995: SSL 2.0, 由Netscape提出,这个版本由于设计缺陷,并不安全,很快被发现有严重漏洞,已经废弃。
    • 1996: SSL 3.0. 写成RFC,开始流行。目前(2015年)已经不安全,必须禁用。
    • 1999: TLS 1.0. 互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版
    • 2006: TLS 1.1. 作为 RFC 4346 发布。主要修复了CBC模式相关的如BEAST攻击等漏洞
    • 2008: TLS 1.2. 作为 RFC 5246 发布 。增进安全性,目前应该主要部署的版本
    • 2015之后: TLS 1.3,还在制订中,支持0-rtt,大幅增进安全性,砍掉了aead之外的加密方式

    TLS是怎样实现的

    TLS协议可以分为两部分

    1. 记录协议(Record Protocol)
      通过使用客户端和服务端协商后的秘钥进行数据加密传输。

    2. 握手协议(Handshake Protocol)
      客户端和服务端进行协商,确定一组用于数据传输加密的秘钥串。

    TLS握手过程

    (TSL 握手机制:https://www.bilibili.com/video/BV1Ef4y1R7FW?from=search&seid=11128325845532105296)

    TLS握手

    • 步骤 1. ClientHello – 客户端发送所支持的 SSL/TLS 最高协议版本号和所支持的加密算法集合及压缩方法集合等信息给服务器端。

    • 步骤 2. ServerHello – 服务器端收到客户端信息后,选定双方都能够支持的 SSL/TLS 协议版本和加密方法及压缩方法,返回给客户端。

    • (可选)步骤 3. SendCertificate – 服务器端发送服务端证书给客户端。

    • (可选)步骤 4. RequestCertificate – 如果选择双向验证,服务器端向客户端请求客户端证书。

    • 步骤 5. ServerHelloDone – 服务器端通知客户端初始协商结束。

    • (可选)步骤 6. ResponseCertificate – 如果选择双向验证,客户端向服务器端发送客户端证书。

    • 步骤 7. ClientKeyExchange – 客户端使用服务器端的公钥,对客户端公钥和密钥种子进行加密,再发送给服务器端。

    • (可选)步骤 8. CertificateVerify – 如果选择双向验证,客户端用本地私钥生成数字签名,并发送给服务器端,让其通过收到的客户端公钥进行身份验证。

    • 步骤 9. CreateSecretKey – 通讯双方基于密钥种子等信息生成通讯密钥。

    • 步骤 10. ChangeCipherSpec – 客户端通知服务器端已将通讯方式切换到加密模式。

    • 步骤 11. Finished – 客户端做好加密通讯的准备。

    • 步骤 12. ChangeCipherSpec – 服务器端通知客户端已将通讯方式切换到加密模式。

    • 步骤 13. Finished – 服务器做好加密通讯的准备。

    • 步骤 14. Encrypted/DecryptedData – 双方使用客户端密钥,通过对称加密算法对通讯内容进行加密。

    • 步骤 15. ClosedConnection – 通讯结束后,任何一方发出断开 SSL 连接的消息。

    TLS记录协议


    作者:freagle
    链接:https://www.jianshu.com/p/1fc7130eb2c2

    SSL和TLS的区别

    SSL和TLS的联系

    1. SSL是TLS的前世,TLS是SSL的今生

    2. TLS与SSL连接过程无任何差异

    3. TLS与SSL的两个协议(记录协议和握手协议)协作工作方式是一样的

    SSL和TLS的区别

    1. SSL与TLS两者所使用的算法是不同的

    2. TLS增加了许多新的报警代码,比如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等,但同时也支持SSL协议上所有的报警代码!

    由于这些区别的存在,我们可认为TLS是SSL的不兼容增强版。即TLS和SSL不能共用。

    在认证证书时TLS指定必须与TLS之间交换证书, SSL必须与SSL之间交换证书。


    作者:wangxiaoxi
    链接:https://www.jianshu.com/p/d79162feb608

    展开全文
  • 希望在生成 SSL/TLS 证书之前,您已经安装有 openssl 以及对 SSL/TLS 有了初步的了解。 概述 本文主要讲述CA的私钥和x509自签名证书的生成,服务器/客户端的私钥和CSR的生成,以及CA对服务器/客户端的CSR签名操作。...

    希望在生成 SSL/TLS 证书之前,您已经安装有 openssl 以及对 SSL/TLS 有了初步的了解。

    概述

    本文主要讲述CA的私钥和x509自签名证书的生成,服务器/客户端的私钥和CSR的生成,以及CA对服务器/客户端的CSR签名操作。初始文件包括server-ext.cnf、client-ext.cnf以及gen.sh,相关内容如下:

    server-ext.cnf

    subjectAltName=DNS:*.study.com,DNS:*.study.org,IP:0.0.0.0
    

    client-ext.cnf

    subjectAltName=DNS:*.client.com,DNS:*.client.org,IP:0.0.0.0
    

    gen.sh

    rm *.pem
    
    # 1.生成CA的私钥和自签名证书
    openssl req -x509 -newkey rsa:4096 -days 365 -nodes -keyout ca-key.pem -out ca-cert.pem -subj "/C=CH/ST=SiChuan/L=ChengDu/O=Study/OU=Go/CN=Tony/emailAddress=Tony@email.com"
    
    echo "CA's self-signed certificate"
    openssl x509 -in ca-cert.pem -noout -text
    
    # 2.生成服务器的私钥和证书签名请求(CSR)
    openssl req -newkey rsa:4096 -nodes -keyout server-key.pem -out server-req.pem -subj "/C=CH/ST=GuangDong/L=GuangZhou/O=Computer/OU=Go/CN=Harry/emailAddress=Harry@email.com"
    
    # 3.使用CA的私钥签署服务器的CSR并生成签名证书
    openssl x509 -req -in server-req.pem -days 60 -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile server-ext.cnf
    
    echo "Server's certificate signed by CA"
    openssl x509 -in server-cert.pem -noout -text
    
    echo "Verify ca-cert.pem server-cert.pem"
    openssl verify -CAfile ca-cert.pem server-cert.pem
    
    # 4.生成客户端的私钥和证书签名请求(CSR)
    openssl req -newkey rsa:4096 -nodes -keyout client-key.pem -out client-req.pem -subj "/C=CH/ST=FuJian/L=XiaMen/O=Client/OU=Gopher/CN=Alice/emailAddress=Alice@email.com"
    
    # 5.用CA的私钥签署客户端的CSR并生成签名证书
    openssl x509 -req -in client-req.pem -days 60 -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile client-ext.cnf
    
    echo "client's certificate signed by CA"
    openssl x509 -in client-cert.pem -noout -text
    
    echo "Verify ca-cert.pem client-cert.pem"
    openssl verify -CAfile ca-cert.pem client-cert.pem
    

    运行结果
    gen.sh 运行结果

    • ca-key.pem:CA的私钥
    • ca-cert.pem:CA的证书文件。
    • ca-cert.srl:保存证书的唯一序列号。
    • client-ext.cnf:客户端证书扩展信息。
    • client-req.pem:客户端的证书签名请求(CSR)文件。
    • client-key.pem:客户端的私钥。
    • client-cert.pem:客户端的证书。
    • server-ext.cnf:服务器证书扩展信息。
    • server-req.pem:服务器的证书签名请求(CSR)文件。
    • server-key.pem:服务器的私钥。
    • server-cert.pem:服务器的证书。

    后面将逐个讲解gen.sh中的相关命令。

    一. 生成CA的私钥和自签名证书

    openssl req -x509 -newkey rsa:4096 -days 365 -nodes -keyout ca-key.pem -out ca-cert.pem -subj "/C=CH/ST=SiChuan/L=ChengDu/O=Study/OU=Go/CN=Tony/emailAddress=Tony@email.com"
    
    • req -x509:输出X509格式的自签名证书。
    • -newkey rsa:4096:输出4096位的RSA格式的私钥。
    • -days 365:证书有效期为365天。
    • -nodes:不进行对私钥的加密。
    • -keyout ca-key.pem:将私钥写入ca-key.pem文件中。
    • -out ca-cert.pem:将签名证书写入ca-cert.pem文件中。
    • -subj:身份信息。

    -nodes 与 -subj

    为了便于理解,这里将 -nodes、-subj 选项去除后得到命令:

    openssl req -x509 -newkey rsa:4096 -days 365 -keyout ca-key.pem -out ca-cert.pem
    

    运行结果:
    生成CA的私钥和自签名证书
    (如上图所示)在我们运行命令之后,因为没有 -nodes 选项,所以我们需要在A处填写私钥的密码,防止黑客盗取私钥后,若无密码则无法直接使用私钥,而需再次对私钥解密;因为没有 -subj 选项,所以我们需要在B处填写相关的身份信息,包括国家、公司等信息。

    使用命令 openssl x509 -in ca-cert.pem -noout -text 查看证书信息:
    ca-cert.pem
    因为这是自签名证书,所以 IssuerSubject 的信息是相同的,Issuer为证书颁发者信息,Subject为证书拥有者信息。在后面 server 的证书中我们将会看到,这两个信息不是相同的。

    若在测试环境下不想对私钥进行加密,则加上 -nodes 选项。

    若不想每次都输入身份信息,则可以在首次生成证书后,将 Subject 后的信息copy下来,然后使用 -subj 选项直接带上身份信息,这里需要注意:每条信息之间需要用 “/” 间隔,以及删除 “=” 前后的空格。

    在添加上 -nodes 与 -subj 选项后就得到了示例中完整的命令。

    二. 生成服务器的私钥和CSR

    openssl req -newkey rsa:4096 -nodes -keyout server-key.pem -out server-req.pem -subj "/C=CH/ST=GuangDong/L=GuangZhou/O=Computer/OU=Go/CN=Harry/emailAddress=Harry@email.com"
    

    因为这里服务器只生成CSR,所以去除 -x509-days 选项,最后还需要更改下相关身份信息,运行如下:
    生成服务器的私钥和CSR
    server-key.pem:服务器的私钥。
    server-req.pem:服务器证书签名请求(CSR)。

    三. 使用CA 的私钥签署服务器的CSR

    openssl x509 -req -in server-req.pem -days 60 -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile server-ext.cnf
    
    • x509:x509格式的签名。
    • -req -in server-req.pem:传入CSR文件server-req.pem。
    • -CA ca-cert.pem:传入CA的证书文件ca-cert.pem。
    • -CAkey ca-key.pem:传入CA的私钥文件ca-key.pem。
    • -CAcreateserial:确保CA签署的每个证书都带有唯一的序列号,换句话说,只要是该CA签署的证书都具有唯一序号,该序号保存在 srl 文件中,若 srl 文件不存在,首次将自动生成。
    • -out server-cert.pem:将CA签名后的证书内容写入server-cert.pem文件中。
    • -extfile server-ext.cnf:服务器的扩展文件,其中包括DNS、IP以及Email的信息。若是需要在本地测试,则需要在 server-ext.cnf 中添加 IP:0.0.0.0,同时在客户端扩展文件(例如:client-ext.cnf)中也需要添加 IP:0.0.0.0

    运行结果:
    使用CA 的私钥对服务器的CSR签名
    运行后将会生成ca-cert.srlserver-cert.pemca-cert.crl 中保存的是该CA的唯一序列号,凡是CA所签署的证书,其 Serial Number 值将等同于 ca-cert.crl 中保留的值,如AB的值。C 处是CA的身份信息,D 处为服务器的身份信息,E 处为证书有效期。

    注意:如果我们使用的是CA加密后的私钥,则在执行上述命令时,需要输入CA私钥的密码才能对CSR进行签名。

    我们可以使用 -extfile 选项,添加拓展信息,我们可以从证书文件中看到相关的拓展信息,如下:
    拓展信息
    注意:为了本地开发方便,需要在服务器的扩展文件 server-ext.cnf 中添加 IP:0.0.0.0 ,并且需要在客户端的扩展文件(例如:client-ext.cnf)中添加IP:0.0.0.0

    四. 生成客户端的私钥和CSR

    openssl req -newkey rsa:4096 -nodes -keyout client-key.pem -out client-req.pem -subj "/C=CH/ST=FuJian/L=XiaMen/O=Client/OU=Gopher/CN=Alice/emailAddress=Alice@email.com"
    

    同二。

    五. 使用CA 的私钥签署客户端的CSR

    openssl x509 -req -in client-req.pem -days 60 -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile client-ext.cnf
    

    同三。

    展开全文
  • SSL/TLS 存在Bar Mitzvah Attack漏洞(CVE-2015-2808) 详细描述 该漏洞是由功能较弱而且已经过时的RC4加密算法中一个问题所导致的。它能够在某些情况下泄露SSL/TLS加密流量中的密文,从而将账户...

    SSL/TLS 存在Bar Mitzvah Attack漏洞CVE-2015-2808

    详细描述

    该漏洞是由功能较弱而且已经过时的RC4加密算法中一个问题所导致的。它能够在某些情况下泄露SSL/TLS加密流量中的密文,从而将账户用户名密码、信用卡数据和其他敏感信息泄露给黑客。

    解决办法

    1、服务器端禁止使用RC4加密算法。 2、客户端应在浏览器TLS配置中禁止RC4。

     

    检测方式:

    这里使用PentestBox自带的openssl进行检测(PentestBox官网:https://pentestbox.org/zh/)

    打开pentestBox,输入cmd进行跳转(出于对windows10兼容的原因)

    输入命令:

    openssl s_client -connect IP:PORT -cipher RC4

    如果看到连接握手成功,可以看到证书信息则说明存在该风险漏洞

    如果你看到”alert handshake failure”这句话就说明该网站是安全的

    在线测试地址:

    也可以利用 SSL Server Test — 安全测试工具 去测试下你的 HTTPS 是否存在风险.

    https://www.ssllabs.com/ssltest/index.html

    具体解决方案:

    1.禁止apache服务器使用RC4加密算法

    vi /etc/httpd/conf.d/ssl.conf

    修改为如下配置

     SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4

    需要重启apache服务

    /etc/init.d/httpd restart

    访问查看效果:

    2.关于nginx加密算法

    1.0.5及以后版本,默认SSL密码算法是HIGH:!aNULL:!MD5

    0.7.65、0.8.20及以后版本,默认SSL密码算法是HIGH:!ADH:!MD5

    0.8.19版本,默认SSL密码算法是ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM

    0.7.64、0.8.18及以前版本,

    默认SSL密码算法是ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

    低版本的nginx或没注释的可以直接修改域名下ssl相关配置为
    ssl_ciphers “ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA

    256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA

    256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES

    256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA

    256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:

    ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GC

    M-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4”;

    ssl_prefer_server_ciphers on;

    需要nginx重新加载服务

    /etc/init.d/nginx reload

    访问查看效果:

    或者是在线检测是否修复完成:

    0x06浏览器手工屏蔽方案

    默认当apache开启RC4优先加密算法时,Chrome浏览器访问结果如下:

    Windows 用户:

    1)完全关闭 Chrome 浏览器和Mozilla Firefox浏览器

    2)复制一个平时打开 Chrome 浏览器(Mozilla Firefox浏览器)的快捷方式

    3)在新的快捷方式上右键点击,进入属性

    4)在「目标」后面的空格中字段的末尾输入以下命令

    –cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007

    0x0004 对应 RSA-RC4128-MD5,

    0x0005 对应 RSA-RC4128-SHA,

    0xc011 对应 ECDHE-RSA-RC4128-SHA,

    而最后的 0xc007 对应 ECDHE-ECDSA-RC4128-SHA。

    这样就可以將 RC4 禁用掉。

    Mac OS X 用户:

    1)完全关闭 Chrome 浏览器

    2)找到本机自带的终端(Terminal)

    3)输入以下命令:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome –cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007

    Linux 用户:

    1)完全关闭 Chrome 浏览器

    2)在终端中输入以下命令:google-chrome –cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007

     

     

    参考地址:https://blog.csdn.net/xysoul/article/details/50069579

    展开全文
  • HTTPS协议--SSL/TLS协议

    2021-01-30 10:00:04
    TLS 协议是 SSL(Secure Socket Layer 的缩写,表示“安全套接字协议”) 协议的后继者。 SSL 协议在 OSI 七层网络模型中位于第五层(会话层,Session Layer)。SSL 在 1999 年被 IETF(互联网工程组)更名为 TLS。...

    目录

     

    1.HTTPS 协议

    2.使用 TLS 协议保护你的连接


    1.HTTPS 协议


    一种协议的出现肯定有其用意,既然已经有了 HTTP 协议,为什么还要创建 HTTPS 协议呢?

    那是因为 HTTP 协议不安全也不可靠,主要体现在以下几点:

    1. HTTP 协议传输的数据是明文(plaintext)的。在 HTTP 的传输过程中,任何人都有可能从中截获、修改或者伪造请求发送。
    2. 在 HTTP 的传输过程中不会验证通信方的身份,因此 HTTP 信息交换的双方可能会遭到伪装,也就是没有用户验证
    3. 在 HTTP 的传输过程中,接收方和发送方并不会验证报文的完整性,传输不可靠。

    HTTPS 是 HTTP Secure 的缩写。secure 表示“安全的”,因此按照字面意思可以将 HTTPS 称为“安全的 HTTP 协议”。

    HTTPS 也可以是 HTTP over SSL/TLS 的缩写。SSL 或 TLS 协议是 HTTPS 之所以安全的保障。因此,HTTPS 其实并不是一项新的应用层协议,只是 HTTP 通信接口部分由 SSL 和 TLS 替代而已。

    记住下面这个“公式”:

    HTTP + SSL/TLS = HTTPS

    HTTPS 协议的 RFC 文档很小,只有短短的 7 页,里面规定了新的协议名,默认端口号 443。至于其他的应答模式、报文结构、请求方法、URI、头字段、连接管理,等等都完全沿用 HTTP 协议,没有任何新的东西。

     

    2.使用 TLS 协议保护你的连接


    TLS 协议

    TLS 是 Transport Layer Security 的缩写,表示“传输层安全”。TLS 协议是用于确保网络连接的最常用的加密协议。TLS 协议是 SSL(Secure Socket Layer 的缩写,表示“安全套接字协议”) 协议的后继者。

    SSL 协议在 OSI 七层网络模型中位于第五层(会话层,Session Layer)。SSL 在 1999 年被 IETF(互联网工程组)更名为 TLS。SSL 协议已经不再被认为是安全的了,现在我们使用的是 TLS 协议。不过因为历史原因,有些软件还是以 SSL 命名的,例如著名的 OpenSSL 。

    TLS 协议一共出现过三个版本,1.1、1.2 和 1.3,目前最广泛使用的是 1.2 版本,所以接下来的探讨都是基于 TLS 1.2 或以上的版本。较新的版本 TLS 1.3,也在逐步扩大使用范围中。版本之间的主要区别是所使用的加密算法列表,称为加密套件

    TLS 协议主要有以下的作用:

    • 使用对称加密来确保数据的保密性;
    • 使用 MAC(Message Authentication Code 的缩写,表示“消息认证码”)码来确保数据的完整性;
    • 使用非对称加密来确保会话密钥的交换;
    • 使用证书颁发机构(CA,是 Certificate Authority 的缩写。certificate 表示“证书”,authority 表示“权威,权力机构”)签署的证书来确保服务器的认证。

    TLS 是一个独立的协议,不只有 HTTP 协议可以使用,其他应用层协议也可以使用。比如 SMTPTelnet,等都可以使用。

    HTTPS 协议使用 TLS 协议来认证和加密 HTTP 数据。在 HTTPS 中,TLS 协议位于 TCP 和 HTTP 协议之间,就像这样:IP(TCP(TLS(HTTP))) 。因此,所有 HTTP 数据都经过加密和认证,尤其是 URL,HTTP 报头,HTTP 请求和 HTTP 响应的主体。

     

    剖析 TLS 协议


    TLS 通信由两部分组成:

    1. 连接建立(也被称为 TLS Handshake,表示“TLS 握手”):使用公钥加密技术(非对称加密和证书签名);

    2. 数据交换(也被称为 TLS Record,表示“TLS 记录”):使用对称加密技术(对称加密和 MAC 码)的。

    非对称加密一般使用 RSA 算法,我们之前的课程已经介绍过了。对称加密一般使用 AES 算法。

    AES 是 Advanced Encryption Standard 的缩写,表示“高级加密标准”,是最常用的对称加密算法(微信小程序的加密传输就是用这个加密算法的)。AES 算法非常健壮,并被 NSA 推荐。NSA 是 National Security Agency 的缩写,表示“美国国家安全局”。

    连接建立(TLS 握手)


    TLS 握手协议在通信开始时执行一次。它使用非对称加密技术来交换会话密钥(session key),会话密钥也就是用于对称加密的密钥。

    1. 在进行通信之前,客户端将信任根 CA (Root CA)的证书,并且服务器具有由同一根 CA 签名的证书。这是 HTTPS 的 PKI 体系。PKI 是 Public Key Infrastructure 的缩写,表示“公钥基础设施”。

    2. 客户端以明文形式的“Client Hello”请求开始连接,该请求包含 TLS 的版本以及它可以使用的加密算法。

    3. 服务器以明文形式的“Server Hello”请求作为响应,该请求包含从客户端提供的 TLS 版本中选择的 TLS 版本,以及包含公钥并由根 CA 签名的 X.509 证书。

    4. 客户端使用根 CA 的公钥验证证书的签名。如果证书已过期或不是由受信任的 CA 签名,则浏览器将显示错误。如果证书通过了验证,则客户端会用随机数生成对称加密的密钥(就是会话密钥)。

    5. 客户端使用服务器的公钥加密会话密钥,并将其发送给服务器。

    6. 服务器使用自己的私钥解密,得到会话密钥。

    7. 客户端和服务器现在共享一个对称加密的会话密钥。

    数据交换(TLS 记录)


    1. 客户端使用会话密钥加密 HTTP 请求,并计算 MAC 码。它将加密的请求发送到服务器。

    2. 服务器使用会话密钥解密 HTTP 请求,并校验 MAC 码。

    3. 服务器处理 HTTP 请求,然后用会话密钥加密 HTTP 响应,并计算 MAC 码。

    4. 服务器将加密的 HTTP 响应发送给客户端,客户端解密此响应,并显示网站。如果客户端发送另一个 HTTP 请求,服务器将重复这样的操作。

     

    展开全文
  • SSL/TLS协议信息泄露漏洞(CVE-2016-2183) SSL/TLS RC4 信息泄露漏洞(CVE-2013-2566) SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808) 修复方法 一、漏洞说明: 通过绿盟漏洞检测工具扫描发现Windows系统存在SSL...
  • 描述:请求被中止: 未能创建 SSL/TLS 安全通道。Could not create SSL/TLS secure channel。...https://www.xftsoft.com/news/jiaocheng/Could-not-create-SSL-TLS-secure-channel.html 解决办法一: 在HttpWebR
  • An SSL certificate displays important information for verifying the owner of a website and encrypting web traffic with SSL/TLS, including the public key, the issuer of the certificate, and the ...
  • SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)【原理扫描】 SSL/TLS RC4 信息泄露漏洞(CVE-2013-2566)【原理扫描】 1、通过扫描出的漏洞...
  • 由于SSL/ TLS自身存在漏洞缺陷,当开启远程桌面服务,使用漏洞扫描工具扫描,发现存在SSL/TSL漏洞。远程主机支持的SSL加密算法提供了中等强度的加密算法,目前,使用密钥长度大于等于56bits并且小于112bits的算法都...
  • 我打算做的是编写一个使用SSL(TLS)连接来交换数据的客户端服务器应用程序.由于客户端是可下载的,并且我不能保证可以访问密钥库,因此我正在寻找一种在运行时导入证书的方法.我需要的:>一种将服务器的公钥/证书...
  • SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱【原理扫描】 安全套接层(Secure Sockets Layer,SSL),一种安全协议,是网景公司(Netscape)在推出Web浏览器首版的同时提出的,目的是为网络通信提供安全及数据...
  • ssl_crl | | | ssl_crlpath | | | ssl_key | | +---------------+----------+ 9 rows in set (0.00 sec) # ssl_type 是描述TLS连接的模式(类型) # ANY 是不需要客户端证书,需要验证服务器端证书(和使用浏览器...
  • SSL/TLS协议信息泄露漏洞(CVE-2016-2183)

    千次阅读 2021-04-07 20:09:05
    SSL/TLS协议信息泄露漏洞(CVE-2016-2183) 这是通过扫描工具扫描出来的漏洞,处理此等问题升级即可; 官方地址:https://www.openssl.org/source/ 1、centos上直接升级: openssl version -a //确认当前版本,备份...
  • SSL更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制。可以说TLS就是SSL的新版本3.1。也可以将TLS看作SSL的升级版
  • php-SSL / TLS保护需要openssl扩展composer create-project flarum/flarum . --stability=beta我尝试运行...[RuntimeException]The openssl extension is required for SSL/TLS protection but is not available. If...
  • SSL/TLS(1):基本概念通俗解释 在上一篇文章中,我们简单的介绍了SSL/TLS的一些基本概念,本文尝试通过通俗的例子来解释为什么SSL/TLS安全。 场景举例 谍战片中,甲方情报人员C,监听到了敌方人员A和B通信的无线电波...
  • SHA | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA | Compressors (1) |_ uncompressed 其中包含TLS_RSA_WITH_3DES_EDE_CBC_SHA或者其他DES的字样,通过nmap这个探测可以测试当前tls的加密级别,解决方案直接在nginx的ssl_...
  • Nginx支持单IP多域名SSL证书需要OpenSSL支持,由于CentOS5.X系统自带的OpenSSL版本太低不支持,所以首先需要编译安装一个高版本的openssl,CentOS 6.X的系统自带的openssl版本大于0.98以上,一般编译好的nginx都是...
  • 链接:https://pan.baidu.com/s/1yNuJC6IABd-SrGE0liB53w 提取码:5joa
  • -openssldir=/usr/local/ssl //预编译,到指定安装路径,生成Makefile文件,-t参数可测试编译情况,–prefix:指定安装目录;–openssldir:指定openssl配置文件路径;加shared还可指定创建动态链接库 make //编译,...
  • 找到 Default listener,在该栏下进行如下配置 再找到Certificate based SSL/TLS support字段. 即: port 8883 cafile /etc/mosquitto/CA/ca.crt certfile /etc/mosquitto/CA/server/server.crt keyfile /etc/...
  • HTTPS并不是一个单独的协议,而是对工作在一加密连接(SSL / TLS)上的常规HTTP协议。...SSL协议,是一种安全传输协议,TLSSSL v3.0的升级版。 Https整体架构图: Https传输速度: 通信慢:相比http协议而言通...
  • powershell 请求被中止: 未能创建 SSL/TLS 安全通道 1. powershell 请求被中止: 未能创建 SSL/TLS 安全通道 英文搜索关键词 : the request was aborted could not create ssl/tls (net 4.6) statckoverflow 上面...
  • 昨天晚上在生产环境的某台计算机遇到了访问第三方应用报“未能创建 SSL/TLS 安全通道”的异常。开发的同事重新写了两个命令控制台程序(.net framework 4.5 和 .netcore 3.1),问题可以100%重现。同样的代码在本地...
  • 最近服务器被“绿盟科技”扫出该漏洞,具体是由于 Rancher 组件 etcd 版本过低造成的。 1. 升级服务器 openssl 版本 首先查看服务器 openssl 版本,升级到 1.1.1 即可,具体参考 升级 CentOS 7 openssl 版本...
  • ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM OPENSSLDIR: "/etc/pki/tls" engines: rdrand dynamic 没有报错。只不过openssl版本...
  • --------------------------------------------------------------------------- nginx version: nginx/1.16.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) built with OpenSSL 1.0.1e 22 Sep 2013 TLS ...
  • Nginx升级加固SSL/TLS协议信息泄露漏洞(CVE-2016-2183)漏洞说明// 基于Nginx的https网站被扫描出SSL/TLS协议信息泄露漏洞(CVE-2016-2183),该漏洞是在安装Nginx时build的Openssl版本问题导致的漏洞,// 需要重新编译...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,377
精华内容 42,950
关键字:

ssl-tls