软件开发开放API 接口的安全处理

2020-01-01 09:25崔喜萌明通讯作者
网络安全技术与应用 2020年4期
关键词:令牌加密算法非对称

◆崔喜萌 陈 明通讯作者

(辽宁科技大学自动化系 辽宁 114000)

1 开放API 接口的安全问题

开放API 接口如果没有经过安全处理,则很容易出现三类安全问题,包括信息截获、篡改与泄露。首先是用户密码容易被截获,比如某家公司在开发开放式API 时,没有对其进行安全控制,那么该公司的客户信息很容易被黑客截获,黑客在掌握客户的用户名、密码等相关信息与资料后,便能够利用客户的身份来登录,使得客户的隐私信息泄露,黑客便可以轻易地盗刷客户信用卡,使得客户承受损伤;其次是表单数据很容易被篡改,比如某家公司所开发的开放API 并没有进行过防篡改控制,有客户在购买1000 元产品后,其提交表单被黑客利用技术手段篡改为10 块钱,从而使得公司产生了经济损失;最后是业务数据会被轻易泄露,黑客有种程序叫爬虫程序,如果公司在开发开放式API 时,其接口没有采取安全控制措施,那么该程序便能够对开放式API 进行调用,进而能够查询到客户信息的接口。同时,如果公司没有安全处理开放式API 接口,那么黑客在调用客户信息接口时也不需要安全验证,从而黑客能够利用客户信息查询API 来大量搜集客户数据,而该公司的竞争对手有了该客户数据后,会对该公司的利用产生影响[1]。上述三例问题都是因为开放API 没有对数据以及用户信息进行安全处理所造成的,因此软件开发开放API 接口的安全处理就显得尤为重要。

2 开放API 接口的安全问题解决策略

2.1 非对称加密

(1)非对称加密概述:非对称加密是加密算法中的一种,和对称加密算法只有一个密钥文件不同的是,非对称加密有两个密钥文件,也就是公钥与私钥。顾名思义,公钥是对外公开状态,而私钥则是属于保密状态,如果黑客只有公钥而没有私钥,及时截取到报文也没有任何影响[2]。在1978 年,Ron Rivest、Adi Shamir、Leonard Adleman 三人共同提出了RSA 非对称加密技术,该技术的名字便是取自于这三人的首字母。以现在的情况来看,RSA 非对称加密技术属于最有影响力的加密算法,因为该技术能够抵御已知大多数的密码攻击,所以被推荐为加密数据的标准[3]。开放API 平台在应用非对称加密后,公钥公开给那些需要对接API 的人,这些对接API 的人然后通过公钥将用户的相关数据进行加密和传输。如果想要对其解密,那么就必须要用API 平台的私钥,这个过程中,即便有黑客利用抓包工具将报文截取、即便是报文相关数据被泄露出去,对方没有私钥来解密,那么就算有报文数据也没有任何意义。因此,为了防止用户的一些敏感信息被泄露,便可以将非对称加密应用其中,能够很好地解决问题。

(2)非对称加密流程:如果在有条件的情况下,开放API接口则是可以使用HTTPS 协议来将数据进行传输,因为相比于RSA 加密技术,HTTPS 的传输更为安全。HTTPS 解决传输数据安全问题的方式是对双方身份进行确定,从而在两者之间建立其安全通道,而且HTTPS 协议相比于RSA 非对称加密技术要更为完善,后者所具备的技术,前者都能够实现,并且前者还应用到了对称加密。不过该项技术也有着一定的不足,主要包括需要购买证书、服务器开销大、维护成本高、性能较低等,所以在考虑成本的情况下,HTTPS 不是最优选,而RSA 加密算法是最适宜的选择[4]。

2.2 信息摘要算法5

(1)信息摘要算法5 概述:信息摘要算法5(Message-Digest Algorithm 5)最大的特点就是其算法不可逆,主要方法是对任意一段字符串生成摘要,所以,信息摘要算法5 大多时候是被用来存储用户的登录密码,并且还能够用来比对信息是否一致。信息摘要算法5 在目前是不会被真正破解的,所谓的破解方法也只不过是利用非常庞大的一个数据量来对其进行碰撞,简单一点说,就是一个拥有着巨大数据的彩虹表中存了许多与信息摘要算法5字符串相对应的字符串,因此在破解信息摘要算法5 时,需要在这个基础数据非常庞大的表里检索加密好的信息摘要算法5 字符串,检索的时间是与该表中的数据成正比的,因此检索所需要的时间会非常漫长,就算是通过反推法来破解信息摘要算法5 的密码,那也要耗费大量的精力与时间,所以信息摘要算法5 算是比较安全的加密算法。

(2)信息摘要算法5 方法:一般情况下,API 设计者首先需要在对外接口文档中约定好信息摘要算法5 的加密字段和顺序,在对API 接口进行调用时,则需要通过文档中API 设计者所约定好的顺序来对信息摘要算法5 进行加密,而且为了能够保证对比有意义,API 后台也需要根据约定的顺序进行加密。在对比时,如果发现接收到的信息摘要算法5 摘要和获取参数所生成的信息摘要算法5 摘要不一致,如果不是在调用API 接口时出现操作错误,那么便能够确定与之相关的数据已经处于篡改状态,因此便需要拒绝处理这批数据[5]。相反的,如果所接收到的信息摘要算法5 摘要和获取参数生成的信息摘要算法5 摘要一致,那么便能够确认数据并未被篡改。举例来说,某家公司对外提供了客户下订单的接口,接口中含有产品的编码参数与购买数目的参数。产品的编码参数是能够确定所购买的产品信息,同时公司需要将一个信息摘要算法5 参数加入数据当中来预防数据被篡改的可能性,而且需要规定在调用API 接口时需要按照产品编码与购买数据来进行信息摘要算法5 摘要,摘要文件也就是信息摘要算法5 乘以产品编码加购买数量之和。所以,在调用API 接口时,需要按照公司的要求传入产品编码、购买数量以及信息摘要算法5 摘要3 个参数。公司在接到传来的相关参数之和,需要通过同样的方法来进行信息摘要算法5,之后对两者之间的摘要文件进行比对,不对等则表示有篡改风险,需要放弃该接口请求[6]。

2.3 令牌鉴权

(1)令牌鉴权概述:公网暴露开放API 接口之后,便相当于豪宅的大门被敞开了一般,任何人都能够自由出入,这也就使得豪宅内的财产变得非常不安全,因此就需要有安保人员来查看进出人员的通行证,令牌便可以理解为该通行证,只有获得了令牌的人才能够进出,而没有令牌的人则严禁入内,一律拦截在大门外。

(2)令牌鉴权机制:放API 接口服务器会用户在登录之后生成一组不重复的字符,从而形成登录人的令牌,令牌作为KET在REDIS 缓存放置在服务器。而VALUE 则存放登录用户的基本信息,同时对token 失效时间进行设置。

(3)令牌鉴权校验:在调用开放API 时需要携带令牌,而服务器来对令牌进行校验,包括存在与否、过期与否等,如果令牌过期或者不存在,则直接返回异常信息,强制客户重新登录获取新令牌。

3 结束语

简而言之,数据安全是一场攻防持久战,需要不断对其进行改进与完善,才能够有效保障客户权益与数据安全。

猜你喜欢
令牌加密算法非对称
后发技术非对称赶超策略及其情境依赖机制研究
非对称腹板束设计方法在地铁大跨变宽变高连续梁中的应用
称金块
加密文档排序中保序加密算法的最优化选取
基于路由和QoS令牌桶的集中式限速网关
DES加密算法的实现
非对称干涉仪技术及工程实现
基于整数矩阵乘法的图像加密算法
非对称换向阀在液压缸传动系统中的应用
令牌在智能小区访客系统的应用