假设用户下订单,第三方拦截请求,把订单中商品id做了修改(保证最终价格不变),然后用户核算订单时,第三方也做请求拦截,让用户看到的是符合预期的详情,这样用户下单交钱后,等到收货时发现不是自己买的东西。
就这种数据的篡改,应该如何应对?
比如一些无关紧要的数据,是否可以不去管,只对一些和钱有关的做严格验证?
然后怎么去验证?把请求的url和参数列表做签名,后端验证?
做签名的话一般需要密钥,如果是web端或app端,密钥如何下发?写死到应用里吗?
有没有啥好的方案或做法?
假设用户下订单,第三方拦截请求,把订单中商品id做了修改(保证最终价格不变),然后用户核算订单时,第三方也做请求拦截,让用户看到的是符合预期的详情,这样用户下单交钱后,等到收货时发现不是自己买的东西。
就这种数据的篡改,应该如何应对?
比如一些无关紧要的数据,是否可以不去管,只对一些和钱有关的做严格验证?
然后怎么去验证?把请求的url和参数列表做签名,后端验证?
做签名的话一般需要密钥,如果是web端或app端,密钥如何下发?写死到应用里吗?
有没有啥好的方案或做法?
比较简单的办法是增加mac(message authtication code),和数据一起传递。数据到达后以同样的方式处理一下,如果和mac 一样,说明未被修改。当然ssl 协议也可以,这种数字签名的方式还能防止抵赖,mac 属于一种简单方便的防篡改的方式。
13 回答6.1k 阅读
2 回答3.2k 阅读✓ 已解决
3 回答7k 阅读✓ 已解决
3 回答3k 阅读✓ 已解决
5 回答4.6k 阅读
4 回答2.3k 阅读
3 回答4.7k 阅读
HTTPS 学习一下:HTTPS是如何保证安全的