数据对接中的安全性保证及接口设计
主要分为三个方面:
1. 数据传输加密
目前普遍采用SSL协议中相关算法进行传输层的加密,通常是对称的摘要算法(配合证书通过https进行数据对接),或者使用VPN(IPSEC VPN、SSL VPN、MPLS VPN)进行传输甚至专用电路MSTP。
2. 身份认证
目前普遍采用数字证书技术进行身份认证,数字证书具体又可以分为第三方证书和自签名的证书。认证方法又可以分为单向认证和双向认证。
单向认证比较好理解,数据的请求方根据服务方发过来的证书信息验证其是否为合法身份,通过公钥拆解证书来验证,通常服务方的证书为购买的第三方证书。
如果是严格意义上的双向认证,此时服务方需要验证请求方的身份,使用服务方的私钥即跟证来验证,此时通常是由服务方发给请求方的自签名的客户端证书。
国内通常使用的是伪双向认证,即使用异步调用的方式,由服务方将结果再次调用请求方的接口传递过去,同时根据请求方回调接口提供的第三方证书验证请求方的身份合法性。
3. 数据的完整性
主要是指数据的真实性和防篡改。目前通常采用签名算法来保证,如MD5,RSA等。
签名时将字符转化成字节流时指定的字符集保持一致, 根据HTTP协议要求,传递参数的值中如果存在特殊字符(如:&、@等),那么该值需要做URLEncoding,这样请求接收方才能接收到正确的参数值。这种情况下,待签名数据应该是原生值而不是encoding之后的值。例如:调用某接口需要对请求参数email进行数字签名,那么待签名数据应该是:email=test@test.com,而不是email=test%40test.com。
RSA签名方法需要公钥和私钥,数据提供方使用私钥对数据进行加密,并由数据提供方向数据接收方提供公钥进行解密。当数据提供方将数据发送到数据接收方,该数据将被数据提供方私钥进行加签,同时数字签名也将被包括在发送到数据接收方的数据中。
当接收到来自数据提供方数据,数据接收方首先构造待签名字符串,然后把待签名字符串、数据提供方提供的公钥、数据提供方提供的参数sign的值三者一同放入RSA的签名函数中进行非对称的签名运算,来判断签名是否验证通过。
数据对接中的安全性保证及接口设计相关推荐
- php后台对接ios,安卓,API接口设计和实践完全攻略,涨薪必备技能
2016年12月29日13:45:27 关于接口设计要说的东西很多,可能写一个系列都可以,vsd图都得画很多张,但是由于个人时间和精力有限,所有有些东西后面再补充 说道接口设计第一反应就是restf ...
- 二十八、Node.js中的RESTful API和接口设计
@Author:Runsen @Date:2020/6/9 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- 对系统组件化接口设计的一点看法
今天海浪分享一篇对系统组件化接口设计的一点看法.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:of ...
- 学术大数据在企业专家对接中的应用
学术大数据在企业专家对接中的应用 张永锋1, 霍东云2, 李振华1, 智强2,3, 李燕茜2 1 清华大学软件学院,北京 100084 2 北京赛时科技有限公司,北京 100084 3 东莞理工学院科 ...
- 如何实现高质量的系统数据对接/API接口整合集成方案?
我们建立一个数字化系统可能会有跟别的系统进行数据对接的需要,而别人的数字化系统也有可能需要跟我们的系统进行数据对接,也可能我们开发了不同的网站,网站小应用之间需要进行数据对接.那么数据对接应该如何操作 ...
- 如何保证API接口的安全性
如何保证API接口的安全性 怎样防伪装攻击 防伪装攻击:即防止接口被其他人调用,此阶段可以理解为比如已经登录了,然后在请求其他接口的时候,通过Token授权机制来判断当前请求是否有效 Token是客户 ...
- 基于EEG的脑机接口中的安全性问题
目录 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 电子设备被攻击会带来非常严重的安全问题,尤其是医疗领域.当前的很多BCI设备应用于医疗领域.所以基于E ...
- 数字孪生是现实世界展现,“谁”能保证数据的真实性与安全性呢?
前言 元宇宙本质上是对现实世界的虚拟化.数字化过程,需要对内容生产.经济系统.用户体验以及实体世界内容等进行大量改造. 数字孪生,则是利用虚实融合的技术,用迭代.进化的方式对从工厂.园区到城市的物理空 ...
- HQChart(C++)指标计算引擎-py接口类IHQData K线数据对接
HQChart指标计算引擎-py接口类IHQData K线数据对接 IHQData 使用 K线接口 参数: 返回 交流 IHQData IHQData是一个行情数据调用接口类,所有指标计算用到的数据都 ...
最新文章
- windows中路径\和 linux中用/
- 联想小新air13pro重装系统_联想 小新Air 13 ProU盘装系统win7教程
- 基于AgileEAS.NET SOA 平台SAAS架构技术的开源分销ERP系统-SmartERP.NET下载配置说明
- 干货 | 你真的了解 Convolutional Neural Networks 么
- springboot加入com.fasterxml.jackson.core-jackson-databind依赖后报错Error creating bean with name ‘requestM
- 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法...
- php快废了,PHP为什么要逐渐废弃一些函数?出于什么原因呢?
- 未来客:人人都可以构建软件或系统
- 驱动中EXPORT_SYMBOL()的作用
- 机器学习 —— 基础整理(二)朴素贝叶斯分类器;文本分类的方法杂谈
- 大白书中无向图的点双联通分量(BCC)模板的分析与理解
- linux生成ssh密钥
- 中海达数据怎么转rinex_GPS_OEM原始数据向Rinex格式转换的方法[1]
- word另存为pdf后,pdf文件中有空白页
- Intel Atom移动处理器惨败,还被用户和经销商起诉
- 《Metasploit 魔鬼训练营》03 情报搜集技术
- MySQL数据排序asc、desc
- 手机测试相关基础知识
- 打开pycharm时一直更新目录 updating indecix
- java freemarker导出word 带图片,文件导出后图片无法使用office正常打开