数据安全防护方案之签名校验 【一】

数据安全防护方案之签名校验 【一】

2022-10-25 18:53:00

数据安全防护方案之签名校验--签名检查

开放式API接口存在令人厌恶的攻击、篡改攻击、重置攻击和数据泄漏的风险。API接口签名可以促进安全问题和风险预防。要设计API接口签名,请考虑以下内容:

1、确保请求数据正确。当请求字段的值更改时,原始签名结果将更改。因此,如果参数更改,则必须更改签名。否则,请求无效。

2、确保请求有效。通常,生成签名的所有算法都出现在appkey和appsecret中,appkey可以识别呼叫者ID。App secret允许您识别签名是否有效。

3、识别接口的可老化性:通常签名和参数包含时间戳,服务端验证客户端的请求是否在有效时间内,并且不会长时间重复接口。

引入参数签名机制以防止中间攻击(防止被阻止的请求被阻止或更改为第三方)。一般步骤是:

签名生成算法如下。由于请求的参数是签名的一部分,因此签名结果在请求参数更改后不可避免地发生更改。否则你不能通过考试。App key允许您快速识别更通用的API调用方的身份,而不必混淆实际的业务逻辑。如果有人滥用请求并更正请求的参数,则无法签名。

1、申请人申请app key和app secret。

2、生成请求时,通过按字母顺序注册string+app secret连接对MD5进行加密。

3、收到请求后,服务根据应用密钥识别呼叫者,在字典中搜索相应的应用密钥,请求参数,连接并加密,与请求中的签名相比,签名结果是合法的请求。您可以使用时间戳确定是否存在超时请求。

数据安全防护方案之签名校验

数据安全防护方案之签名校验--时间戳保护

时间戳:时间戳是客户端调用接口时对应的当前时间戳。时间戳用于防止DoS攻击。当黑客对请求的URL进行DoS攻击时,接口确定服务器当前的系统时间与调用接口时在接口上发送的时间戳之间的差异。当差值超过特定设置时间(例如5分钟)时,请求被阻止。在设置的超时范围内无法防止DOS攻击。时间戳机制可以减少DoS攻击的时间并减少攻击时间。当修改时间戳值时,可以使用签名签名机制处理黑客。

签名机制可以防止参数更改,但不能防止DoS攻击。(第三方无法继续使用正确的参数请求服务器,无法正常提供服务。)因此,您需要引入时间戳机制。具体来说,客户机使用所有参数和令牌来形成符号值,以及启动请求时的时间戳

符号值源=所有非官方参数升序排序+令牌+时间戳

数据安全防护方案之签名校验

后端必须基于当前时间的时间戳和符号值进行比较,并且在差异超过一定时间量时不执行。

如果请求不高,客户端和服务端可以使用正确的时间戳(秒或分钟)来形成和验证符号值。这允许您在1秒或1分钟内激活请求。

如果请求较高,则必须保证解码算法,以便后端服务可以从符号值解析请求的时间戳。