加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

浅析认证加授权如何使API更安全

发布时间:2022-01-17 11:13:14 所属栏目:安全 来源:互联网
导读:近期在公司推广实施安全开发生命周期流程(SDL),基于目前业务的发展,有很多以API形式提供的数据访问接口,为此专门对所有系统的API接口进行了一次梳理,在梳理过程中发现了部分接口存在的安全隐患,包括未授权访问、数据校验不完整、访问敏感数据等问题。因
   近期在公司推广实施安全开发生命周期流程(SDL),基于目前业务的发展,有很多以API形式提供的数据访问接口,为此专门对所有系统的API接口进行了一次梳理,在梳理过程中发现了部分接口存在的安全隐患,包括未授权访问、数据校验不完整、访问敏感数据等问题。因此在这里针对API可能带来的安全问题听过一些安全解决措施,大家一起交流学习。
 
   随着业务开放性的发展趋势,为了应对快速发展的业务及灵活多变的程序需求,API(Application Programming Interface)在程序中的应用显得愈发重要,API为外部业务对接、系统间的调用提供了灵活性和创新性。然而与此同时,随之而来的则是API应用带来的一系列安全问题,任意访问、数据泄露、窃取用户信息等,API的使用不当都可能破坏数据的保密性、完整性和可用性。
 
   一个安全的API仅可对其用户、应用程序、以及消费它的服务可见,以此确保信息的保密性;除此之外,同时要保证客户端和服务端间交互的信息没有被第三方篡改,以此保证信息的完整性。要满足信息的保密性和完整性,对调用方和终端用户进行身份认证是前提条件。身份验证可以说是安全界的核心。API创建者需要有能力识别消费API的用户、应用以及调用API的服务,那么就需要有一个身份存储库来识别并确认用户和应用的身份有效性。身份存储库目前最常用的解决方案就是LDAP 服务,而活动目录(AD)是目前对LDAP***的一种实现。LDAP服务主要存储用户名、密码、数字证书以及其他用户相关的身份信息和用户所属机构组织信息,应用的身份信息同样可以存储在这里。身份提供者(IP)是专用于管理与身份存储库的交互以用于身份验证和授权的软件,APP可以将身份验证及授权的工作交由身份提供者处理,这是一种更加安全和可取的方法。
 
当调用者使用应用ID和用户名调用你的API时,API需要有能力识别调用者提供的信息的有效性,这种有效性验证主要是通过验证共享的秘密信息来完成的。当你的API作为身份提供者时,通常会传递同样的身份认证信息到LDAP服务进行验证。下面介绍几种常用的API身份验证的方法。***种就是用户名密码方式,这也是最简单的一种认证方式。系统间身份认证使用这种方式实现时,身份认证使用的密码可能会在多个API间进行共享。用户名密码身份认证方式并不推荐使用,主要是基于两方面的考虑:首先是由于密码的可猜测性,密码是人为生成,安全性较低;其次是密码的维护工作也存在困难,例如修改某个API进行身份认证的密码,那么所有相关联的应用都会受到影响。
 
第二种是多因素认证方式(MFA),即在用户知道什么的前提下,进一步通过用户有什么进行身份验证,通过用户获取到的一次性token来进一步验证用户身份凭证。这个token可以是MFA服务提供者发送的短信,也可以是数字key,目前已经有成熟的第三方数字key服务提供商,开源的有Google Authenticator、FreeOTP,商用的则有RSASecurID。

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!