升级https总结

本文介绍了实时流水系统从HTTP升级到HTTPS的过程,包括HTTPS的必要性、升级方案、证书生成与部署、代码配置和curl命令的使用。通过自签名证书和openssl结合curl库,实现了安全的数据传输,并讨论了HTTPS的优缺点。
摘要由CSDN通过智能技术生成

实时流水升级https总结文章:

背景:
实时流水系统作为计费系统的相关联辅助系统,主要负责对实时交易流水的存储查询和推送业务或相关系统进行逻辑处理等。相关推送模块之前只支持http,作为外部通知模块,关键路径推送用户交易信息,需要更加安全可靠的机制保证信息传输的安全可靠,需要支持https。

升级方案:
curl+openssl+签名。一般curl库只支持http,需要openssl库配合curl库重新编译,支持https(当然也可以直接在安装curl库时选择支持https);
https也并非完全可靠,TLS/SSL层加密在传输层上,一般的如何保证收发端的正确,需要加签名机制。本次升级使用签名机制参考:https://wiki.midas.qq.com/post/index/3/54/127/0
(md5,RSA1等部分签名方式已被证明存在漏洞,选取更高级的签名算法版本,确保安全性)

https实现机制,自签名证书生成,相关编码调试,证书验证及部署经验:
1)关于https机制分析
http使用明文传输,且没有相应域名ip信息验证机制,可能造成信息泄露,或者被劫持植入广告等。https在http传输协议基础上,加上TLS/SSL层的加密,来实现信息加密,身份验证,信息校验等相关工作。TSL/SSL处于tcp和http协议之间
https协议的握手传输过程示意图:

这是一个简化版的https连接过程示意图,十分直观,但对于称密钥的生成过程,证书的验证过程不甚详细。详细可参见如下连接步骤:

1. 客户端发起加密通信的请求,这被叫做client hello请求。在这步中,客户端主要提供的信息有:协议版本(例TLS 1.0)、一个客户端生成的随机数(稍后用于生成"对话密钥")、支持的加密方法(例RSA)。

2. 服务器发出响应(server hello),回应主要包含的内容:TSL/SSL协议版本(例如TLS 1.0版本。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信)、一个服务器生成的随机数(稍后用于生成"对话密钥")、确认使用的加密方法(比如RSA)、服务器证书
注:除了上面这些信息,如果服务器需要确认客户端的身份,就会再包含一项请求,要求客户端提供"客户端证书"。但一般场景没有这种要求,服务端也会视情况验证,如果客户端有传送证书便进行验证。
3.客户端收到服务器响应后,首先要验证服务器证书(域名地址的正确性)。证书没有问题,客户端就可以从证书中取出公开密钥,然后发送下面的信息: 一个随机数,用服务器公钥加密,防止被窃听。编码改变通知,表示随后的信息都将用双方商定的加密
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值