ShowAPI,自营为主的数据交易市场
立即注册

为什么接口要数字签名

虽然数字签名增加了入门的难度,但我们认为它是必须的。使用数字签名的理由如下:


1.在一定范围内减少【重放攻击】。我们的规定传过来的时间戳可以和国标时间相差10分钟,也就是一个数字签名被拦截后最多可以用20分钟。也就是说,别人拷贝你的数字签名用于别的地方, 非法盗用你的名义进行接口调用,最多只能调用20分钟。虽然不是完全防止,但总比密钥泄漏后,别人可以无限时盗用你的账号要好很多。


2.传入参数进行签名后,中间拦截者无法篡改您传来的参数。比如说,某个路由器被黑客攻破,黑客可以修改您传过来的请求包,假设充话费的号码是13711111111,但黑客可以将此号码改为13722222222,然后再转发到我们服务器。 如果我们服务器不进行签名验证,那服务器会给13722222222充话费了。但有了签名机制,黑客如果增删改了参数中的任何一样东西,其签名值将和您原先算出来的不一致,服务器就可以拒绝此请求。


3.【签名】还有一个含义就是【确认】。当您对传过来的参数进行签名时,其实也就是保证了您对所有参数的认可性。