摘要认证的方式能够一定程度上防止通信的内容被篡改,但是,算法的安全性取决于secret的安全性,由于通信的客户端与服务端采用的是相同的secret,一旦secret泄露,恶意攻击者便可以根据相应的摘要算法,伪造处合法的请求或相应的摘要,达成攻击目的。
与摘要认证的方式相似,由于传递端和接收端都认为HTTP协议的请求参数是无序的,因此对于签名来说,客户端与服务端双方需要预定好参数的排列方式,请求的参数经过排序后,再将参数名称和值经过一定的策略组织起来,这时不再加上secret,而是直接通过约定的债啊哟算法来生成数字摘要,并且使用客户端私钥的数字摘要进行加密,将加密的密文传递给服务端。
在服务端接收到客户端传递的参数后,服务端会采用与客户端相同的政策对参数进行排序,采用相同的摘要方式生成摘要串,然后服务端使用客户端的公钥将接受到的密文进行解密,得到客户端生成的摘要串,将服务端生成的摘要串与客户端生成的摘要串进行比较。这样可以得知,参数是否有客户端生成,并参数的内容是否被篡改。
签名认证
最新推荐文章于 2024-06-23 12:46:50 发布