内容导读:导航目录:1、防止重放攻击的常用***2、八闽生活登入不了显示防重反攻击3、HTTPS如何防止重放攻击?4、***安全-重放攻击及其防御5、C#如何防止重放攻击防止重放攻击的常用***1.加随机...……
导航目录:
防止重放攻击的常用 ***
1. 加随机数
该 *** 优点是认证双方不需要时间同步,双方记住使用过的随机数,如发现报文中有以前使用过的随机数,就认为是重放攻击。缺点是需要额外保存使用过的随机数,若记录的时间段较长,则保存和查询的开销较大。
2. 加时间戳
该 *** 优点是不用额外保存其他信息。缺点是认证双方需要准确的时间同步,同步越好,受攻击的可能性就越小。但当系统很庞大,跨越的区域较广时,要做到精确的时间同步并不是很容易。
3. 加流水号
就是双方在报文中添加一个逐步递增的整数,只要接收到一个不连续的流水号报文(太大或太小),就认定有重放威胁。该 *** 优点是不需要时间同步,保存的信息量比随机数方式小。缺点是一旦攻击者对报文解密成功,就可以获得流水号,从而每次将流水号递增欺骗认证端。
八闽生活登入不了显示防重反攻击
八闽生活登入不了显示防重反攻击是服务器异常
服务器异常指的是服务器故障或所在的机房设备、 *** 出现故障、肿登绿后的操作不当引起服务器异常、服务器遭到恶意攻击或计算机病毒侵害,或者其余因,导致数据无法证常提供,服务器就会显示服务器异常。
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本身就是防止重放攻击的。
欢迎您的关注和留言评论,您的关注和鼓励才是给我们更大的动力。
*** 安全-重放攻击及其防御
重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用 *** 监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。重放攻击在任何 *** 通信过程中都可能发生,是计算机世界黑客常用的攻击方式之一。
根据重放消息的接收方与消息的原定接收方的关系。
该 *** 优点是认证双方不需要时间同步,双方记住使用过的随机数,如发现报文中有以前使用过的随机数,就认为是重放攻击。缺点是需要额外保存使用过的随机数,若记录的时间段较长,则保存和查询的开销较大。
该 *** 优点是不用额外保存其他信息。缺点是认证双方需要准确的时间同步,同步越好,受攻击的可能性就越小。但当系统很庞大,跨越的区域较广时,要做到精确的时间同步并不是很容易。(受限于 *** 情况和客户机)
就是双方在报文中添加一个逐步递增的整数,只要接收到一个不连续的流水号报文(太大或太小),就认定有重放威胁。该 *** 优点是不需要时间同步,保存的信息量比随机数方式小。缺点是一旦攻击者对报文解密成功,就可以获得流水号,从而每次将流水号递增欺骗认证端。
nonce是仅一次有效的随机字符串,要求每次请求时,该参数要保证不同,所以该参数一般与时间戳有关,我们这里为了方便起见,直接使用时间戳作为种子,随机生成16位的字符串,作为nonce参数。
每次HTTP请求,都需要加上timestamp参数,然后把timestamp和其他参数一起进行数字签名。因为一次正常的HTTP请求,从发出到达服务器一般都不会超过60s,所以服务器收到HTTP请求之后,首先判断时间戳参数与当前时间相比较,是否超过了60s,如果超过了则认为是非法的请求。
我们常用的防止重放的机制是使用timestamp和nonce来做的重放机制。
每个请求带的时间戳不能和当前时间超过一定规定的时间(60s)。这样请求即使被截取了,你也只能在60s内进行重放攻击,过期失效。
但是攻击者还有60s的时间攻击。所以我们就需要加上一个nonce随机数,防止60s内出现重复请求。
Chrome现已支持DNS OVER HTTPS加密服务
在谷歌浏览器最新推出的Google Chrome V83稳定版中,正式推出基于HTTPS的DNS(DNS-over-HTTPS)。
HTTPS上的DNS是一种有争议的互联网隐私技术,可对DNS连接进行加密并将其隐藏在常见的HTTPS流量中,从而使第三方(例如 ISP)无法知晓您正在浏览的网站。
C#如何防止重放攻击
重播攻击,指的是原样请求的方式再次进行请求。
其实严格情况下,重播并不能当即被绝对防止,一般情况下使用的是指定时间外的重播攻击。
操作办法是,MD5摘要中对时间戳同时进行了摘要,在验证时同时验证时间戳——在指定的时间内可以处理,否则直接抛出例外就行。当然这里有一个前提条件,如果你本机请求时间与服务器时间差别大于验证时间时,无法正确验证。
也就是说假定了两者相同的时间,这样在规定的时间内无法到达的信息都是被认为是重播。除非别有用心的人在指定的时间内拿到你所有请求进行重播。
绝对意义上是否可以防止重播?可以的,假定我们存在一个redis之类的缓存,存储一些特定时间内的值(超出这个时间则失效),所有的请求都是被记录到该库中(超时的会删除),然后时间戳进行对比,如果在指定时间内的信息则对缓存进行请求若查询到值,则认为是重播。否则正常处理。超时的则直接认为是超时,不再进行处理。
但这种方案成本还是非常高的!即便是特别注意安全的地方,也未必使用该种方式。当然另一种防止重播机制是握手机制——请求方先请求处理序列,服务器存在这个序列,然后在MD5中针对该序列进行摘要。服务器在之一次请求时,序列会保存到缓存中,请求到达时读缓存,并同时将该序列配对处理。重播时因不存在对应的序列,所以可判定为重播。当然这种成本也是比较高的。
因为成本问题,所以在业务执行时,索性使用驼鸟策略,不再进行重播的任何处理——但用户数据处理有回复机制,只要可以恢复或撤回其中一笔交易即可。绝对保证安全有时并不是十分的需要的。