https能防止重放攻击吗
一般来说这个是可以防止的,
但是并不排除使用了特殊的技术,
还是能够突破这一关的。
HTTPS如何防止重放攻击?
客户端拼接字符串规则如下:
接口+参数+时间戳+secretID(如果不是做对外开放性的API,是内部产品调用的话那么secretID可以是写死的一个ID值)
将以上字符串用对称加密,作为一个sign参数,请求服务端。
比如接口,login,参数有 name、password、加密后的sign
服务端接收到请求后,用对称解密sign,得到secretID,核对值是否正确,那么说明请求方是可信任的。返回接口结果,并把sign记录到redis。
下次接收到同样请求时发现redis已经有对应的sign值说明是接口重放,不予以正常相应。因为正常用户调用接口时间戳应该是改变的不可能产生同样的sign值。
如果发现sign解释出来的secretID是系统不存在的,那么说明请求方在伪造请求。不予以正常相应。
感谢应邀回到本行业的问题。
在回答这个问题之前我感觉我们因该先了解一个HTTPS。
HTTPS :是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS 协议的主要作用可以分为两种: 一种 是建立一个信息安全通道,来保证数据传输的安全; 另一种 就是确认网站的真实性。
工作流程 为:
第一步:客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
第二步:Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
第三步:客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
第四步:客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
第五步:Web服务器利用自己的私钥解密出会话密钥。
第六步:Web服务器利用会话密钥加密与客户端之间的通信。
从其工作流程中,我们看出每个连接都会验证证书,交换密钥。别人就算截获你的数据包,重新发送一遍,因为socket不一样,密钥也不一样,后台解密后应该是一对乱码才对。所以https本身就是防止重放攻击的。
欢迎您的关注和留言评论,您的关注和鼓励才是给我们最大的动力。
HTTPS可以防御CC和DDOS攻击吗
HTTPS无法防御:CC、DDOS攻击。虚拟主机服务器真正的维护与服务不是您,所以也不用考虑这些问题,当然虚拟主机稳定性很差,如果有1个网站出现问题,同样您会会受到影响。在这里特别注意景安默认:一键开通的HTTPS请不要使用,因为该HTTPS信任率极低,会降低网站访问率!如果是个人网站学习测试使用,玩玩就好,虚拟主机产品稳定性也只是用于学习。
0条大神的评论