本文介绍一种对浏览器端到服务器端请求,无入侵的数据加密传输方案。
面临挑战:
网站和web应用的接口暴露在互联网,面临着资源被盗用或爬虫抓取的威胁 —— 运营人员幸苦编辑的内容被批量爬取;脚本小子疯狂调用接口,截取利益,扰乱活动秩序,造成经济损失。
应对方案通常是对接口数据进行加密传输。
比如招行的活动页通过加密实现防刷
雷速体育实时比分数据具备独有价值故而加密防爬取和盗用
但是引入加解密过程,将带来以下问题
额外的开发工作量和学习成本,可能引起开发人员抵触。
更重要的是拖慢产品迭代速度,从而降低市场竞争力。
同时,前后端加解密步调不一致,造成系统的不稳定风险。
无法根据安全级别,对接口加密程度进行细粒度的管控,从而进一步放大上述问题的影响。
应对方案:
针对这些问题,在开发实践中总结了一套完整方案。实现对上述痛点的一一击破:
业务代码无入侵,网关部署后,页面挂载jssdk即可,支持平缓降级。
端到端安全传输,保障数据安全,前后端同步更新。
对请求体和参数,加密混淆,加入时间信息,防爬、防重放。
可自定义加密算法,支持动态协商,提升破解难度系数。
接口级的细粒度安全级别控制,可强制加密。