防篡改问题
2016-11-09 17:14
113 查看
作者:梁川
链接:https://www.zhihu.com/question/41641905/answer/92059326
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
大的思路:
尽量在服务器端对数据进行计算、加密、签名、验签,避免将加密/签名算法及加密/签名密钥暴露给外界,降低被攻击的可能性。
针对防篡改的方案,Web端与移动端的方案不完全相同。
一、针对Web应用的一般的方案
1、网络通讯链路层面采用SSL(https)。大部分互联网公司都是采用单向SSL方案(客户端、浏览器认证服务器端证书)。如果对信息要求较高,可以采用双向SSL方案(需要浏览器安装数字证书)。
之所以采用双向SSL要安全些,主要是避免了中间人攻击(MITM)。
2、采用诸如浏览器安全控件等机制,在浏览器端对页面表单提交数据进行加密、防窃听等。此种方案在银行、第三方支付、互联网金融类公司采用较多,但由于需要安装安全控件,成本较高、对诸如电商等公司基本上不可行。
3、商户平台交易订单校验:电商等商户平台的用户将页面表单提交到服务器,服务器必须对订单信息进行计算、校验,包括金额、数量、商品信息、用户身份、session中的信息等。
4、支付请求订单签名:商户平台将支付请求信息提交给支付平台时候,需要同时带上签名信息,一般是用与支付平台约定的商户密钥串及签名算法对订单关键进行进行签名,例如md5(订单id+金额+商户id+商品id+密钥串)。支付平台接收到支付请求后,首先对请求验证签名。
此部分一般有两种方式:a、网页页面重定向方案 b、后台接口调用方案(直连接口)。
5、支付结果验证签名:商户平台在接收到支付平台请求后,一方面要对支付结果的签名进行验签,以避免被伪造支付结果。
此部分一般会采用页面重定向通知+后台通知结合的方式,一般尽量以后台通知结果为准。
二、针对APP等客户端的方案
整体方案思路与Web端类似,但由于APP必须在客户端对请求进行签名、验签,就面临加密算法及加密密钥存储在客户端,被恶意破解攻击的情况。这在android平台尤为突出。
一般采用代码混淆、对核心算法采用动态库、对密钥/证书加密存储等措施。
链接:https://www.zhihu.com/question/41641905/answer/92059326
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
大的思路:
尽量在服务器端对数据进行计算、加密、签名、验签,避免将加密/签名算法及加密/签名密钥暴露给外界,降低被攻击的可能性。
针对防篡改的方案,Web端与移动端的方案不完全相同。
一、针对Web应用的一般的方案
1、网络通讯链路层面采用SSL(https)。大部分互联网公司都是采用单向SSL方案(客户端、浏览器认证服务器端证书)。如果对信息要求较高,可以采用双向SSL方案(需要浏览器安装数字证书)。
之所以采用双向SSL要安全些,主要是避免了中间人攻击(MITM)。
2、采用诸如浏览器安全控件等机制,在浏览器端对页面表单提交数据进行加密、防窃听等。此种方案在银行、第三方支付、互联网金融类公司采用较多,但由于需要安装安全控件,成本较高、对诸如电商等公司基本上不可行。
3、商户平台交易订单校验:电商等商户平台的用户将页面表单提交到服务器,服务器必须对订单信息进行计算、校验,包括金额、数量、商品信息、用户身份、session中的信息等。
4、支付请求订单签名:商户平台将支付请求信息提交给支付平台时候,需要同时带上签名信息,一般是用与支付平台约定的商户密钥串及签名算法对订单关键进行进行签名,例如md5(订单id+金额+商户id+商品id+密钥串)。支付平台接收到支付请求后,首先对请求验证签名。
此部分一般有两种方式:a、网页页面重定向方案 b、后台接口调用方案(直连接口)。
5、支付结果验证签名:商户平台在接收到支付平台请求后,一方面要对支付结果的签名进行验签,以避免被伪造支付结果。
此部分一般会采用页面重定向通知+后台通知结合的方式,一般尽量以后台通知结果为准。
二、针对APP等客户端的方案
整体方案思路与Web端类似,但由于APP必须在客户端对请求进行签名、验签,就面临加密算法及加密密钥存储在客户端,被恶意破解攻击的情况。这在android平台尤为突出。
一般采用代码混淆、对核心算法采用动态库、对密钥/证书加密存储等措施。
相关文章推荐
- 关于IE老是被篡改的问题
- ie篡改问题
- 应用签名不一致,该应用可能被篡改的问题
- win7系统IE浏览器主页被搜狗篡改问题的解决方法
- 利用Immutable解决React-Native那些因为对象被篡改导致的多次render问题
- 解决 6789 导航篡改浏览器主页的问题
- 处理谷歌浏览器被篡改主页的问题
- 使用UpdatePanel后如果在Render中篡改输出的html代码问题解决方案
- 金山篡改浏览器主页问题(改成毒霸网址大全)
- 解决360篡改谷歌或其他浏览器主页的问题(亲身经历绝不copy)
- 利用Immutable解决React-Native那些因为对象被篡改导致的多次render问题
- 主页被篡改的问题
- 来谈谈网络安全,关于Session冒名顶替和cookie防篡改的问题
- iis问题汇总(网页被arp木马篡改的问题)
- word的编写模式和ie主页被篡改问题
- 每次遇到浏览器主页被篡改的问题,就特别气愤加头疼
- 修复IE11首页被恶意篡改的问题
- 关于鲁大师安装后篡改chrome主页的问题
- 彻底解决win10chromd浏览器(主流浏览器)快捷方式被篡改的问题
- 来谈谈网络安全,关于Session冒名顶替和cookie防篡改的问题