一种适用于多框架多平台的接口认证方法技术

技术编号:24130176 阅读:23 留言:0更新日期:2020-05-13 06:01
本发明专利技术涉及一种适用于多框架多平台的接口认证方法,根据系统语言环境引入工具包、配置限流策略和IP地址的黑、白名单,应用平台为每个用户生成唯一密钥、设置调用参数并预处理,应用平台收到认证请求,符合限流策略则基于认证请求携带的参数进行身份鉴别,否则拒绝,鉴别通过则接口认证可信,可以调用,否则不予认证。本发明专利技术在原有token的基础上,加入用户信息、数字签名等联合认证方式,交互更可靠;加密算法为国密商用密码算法,密级为商密级,加入真随机数,不易破解;支持多环境工具包,支持多种环境及语言;通过配置控制在时间段内的访问次数及IP地址的黑、白名单,防止不法分子暴力破解、导致平台性能下降,甚至宕机。

An interface authentication method for multi framework and multi platform

【技术实现步骤摘要】
一种适用于多框架多平台的接口认证方法
本专利技术涉及数字信息的传输,例如电报通信的
,特别涉及一种适用于多框架多平台的接口认证方法。
技术介绍
目前,网络系统高速发展,系统架构也随之越来越复杂。这类系统架构往往采用分布式微服务的架构,服务之间的互相交互、平台间的互相调用非常频繁。在这种频繁的交互下,系统架构的接口间存在显而易见的认证安全问题,困扰着开发者。一旦不法分子利用了这些接口间的认证漏洞,进而恶意调用暴露的接口,轻则导致系统瘫痪,重则用户的信息泄漏,严重威胁到用户的利益。现有技术中,针对这类问题主要采用OAuth2授权的方式进行接口认证,然而这需要授权认证服务器,因此增加了硬件成本,且部署复杂、可用性差,一旦认证服务器宕机,则所有的交互都不能正常工作。现有技术中,接口认证主要存在的问题包括:(1)认证简单;目前大多数系统接口只进行token认证,如申请号为201910055067.8的中国专利公开了“基于令牌的HTTP无状态协议下信息系统数据接口认证方法”,其只采用token进行认证,token一旦被窃取,则接口很容易被攻破,将会导致接口被恶意调用;(2)加密算法简单;(3)支持开发语言及系统有局限性;(4)面对突发情况,如连续恶意攻击时无法处理。
技术实现思路
本专利技术解决了现有技术中,接口认证的认证简单、加密算法简单、开发语言和系统存在局限性及对突发情况无法处理的问题,提供了一种优化的适用于多框架多平台的接口认证方法。本专利技术所采用的技术方案是,一种适用于多框架多平台的接口认证方法,所述方法包括以下步骤:步骤1:根据系统语言环境引入工具包;根据需求配置限流策略和IP地址的黑名单、白名单;步骤2:任一应用平台为对应的每个用户生成唯一密钥、设置调用接口的调用参数并进行预处理;步骤3:当应用平台收到认证请求,判断是否符合限流策略,若是,则进行下一步,否则,拒绝,返回步骤3;步骤4:基于认证请求携带的参数进行身份鉴别;若鉴别通过,则接口认证可信,可以调用,否则不予认证,返回步骤3。优选地,所述步骤2中,所有的密钥存储在应用平台的本地数据库。优选地,所述步骤2中,调用参数包括用户名、手机号、邮箱、工具包特征值和签名信息。优选地,所述签名信息为以二进制数据存储的用户信息数字签名数据。优选地,所述步骤2中,预处理包括:将用户名、手机号、邮箱进行SM4加密;将签名信息以每个用户的唯一密钥进行RSA加密;将工具包特征值、加密后的用户名、手机号、邮箱和签名信息作为目标接口。优选地,所述SM4加密和RSA加密过程中,加入若干位随机值。优选地,所述步骤3中,当认证请求在规定时间内且次数不超过最大限制且IP地址符合黑名单及白名单的规则时,为符合限流策略。优选地,所述步骤4中,身份鉴别包括以下步骤:步骤4.1:计算工具包特征值、手机号、邮箱的SM3散列值,得出3个32位长度的特征值;步骤4.2:以工具包特征值作为解密密钥,通过SM4算法对用户名进行解密,得出明文的用户名,计算对应的SM3散列值,得到第4个32位长度的特征值;步骤4.3:将4个32位长度的特征值组合成128位数据块,作为待验证的用户信息特征值;步骤4.4:以步骤2设置的密钥对调用时获得的用户信息文件进行解密,得出解密的数字签名特征值;步骤4.5:若待验证的用户信息特征值与解密的数字签名特征值,则鉴别通过,接口认证可信,可以调用,否则不予认证,返回步骤3。本专利技术提供了一种优化的适用于多框架多平台的接口认证方法,通过根据系统语言环境引入工具包、根据需求配置限流策略和IP地址的黑名单、白名单,应用平台为对应的每个用户生成唯一密钥、设置调用接口的调用参数并进行预处理,当应用平台收到认证请求,若符合限流策略,则基于认证请求携带的参数进行身份鉴别,否则拒绝,而若鉴别通过,则接口认证可信,可以调用,否则不予认证。本专利技术以不侵入系统业务本身的方式,在系统暴露接口被调用前先进行严格的身份验证,并通过配置进行限流、IP过滤,阻断不法分子进行恶意行为;具体来说,为各个平台或框架提供一种采用加密算法为国密商用密码算法、密级为商密级的工具包作为接口的身份认证,工具包内包括非对称加密算法密钥对生成、对称数据加密算法密钥生成、真随机数生成、签名验证等服务,并根据数据传输的大小自动输配加密算法,在认证安全的前提下又保障了效率,以最小化的成本保障了接口认证的安全性;同时额外提供配置的方式,控制在时间段内的访问次数,还有IP地址的黑名单、白名单等功能,用来应对突发情况的限流、访问控制,阻断了连续的恶意访问。本专利技术的有益效果在于:(1)在原有token的基础上,加入了用户信息、数字签名等联合认证方式,使交互更可靠;(2)采用的加密算法为国密商用密码算法,密级为商密级,不易破解,并在加密密文中加入真随机数,使得更加不可能破解;(3)支持多环境的工具包,可以提供.dll、.jar、.so、.ocx等格式的工具类,可以支持多种环境(Windows、Linux、Unix、安卓等)及多种语言(C、C++、安卓、java等);(4)通过配置控制在时间段内的访问次数,还有IP地址的黑名单、白名单,防止不法分子暴力破解、导致平台性能下降,甚至宕机。附图说明图1为本专利技术的方法流程图。具体实施方式下面结合实施例对本专利技术做进一步的详细描述,但本专利技术的保护范围并不限于此。本专利技术涉及一种适用于多框架多平台的接口认证方法,为各个平台或框架提供一种采用加密算法为国密商用密码算法、密级为商密级的工具包作为接口的身份认证。本专利技术中,加解密算法包括非对称加密算法密钥对生成、对称数据加密算法密钥生成、真随机数生成、签名验证等服务,支持一次一密的会话,并根据数据传输的大小自动输配加密算法,在认证安全的前提下又保障了效率。本专利技术中,采用RSA非对称加密算法,用于公开密钥密码体系中公私钥对的生成及密钥交换。本专利技术中,采用散列算法,即SM3密码杂凑算法,用于数字签名及验证。本专利技术中,采用数据加密解密算法,即SM4分组密码算法,用于对通信数据的加密与解密,与非对称加密算法相比,加解密速度较快。所述方法包括以下步骤。步骤1:根据系统语言环境引入工具包;根据需求配置限流策略和IP地址的黑名单、白名单。本专利技术中,工具包支持多环境,提供.dll、.jar、.so、.ocx等格式的工具包,支持多种环境、多种语言。本专利技术中,需求配置包括时间段内的访问次数等。步骤2:任一应用平台为对应的每个用户生成唯一密钥、设置调用接口的调用参数并进行预处理。所述步骤2中,所有的密钥存储在应用平台的本地数据库。所述步骤2中,调用参数包括用户名、手机号、邮箱、工具包特本文档来自技高网...

【技术保护点】
1.一种适用于多框架多平台的接口认证方法,其特征在于:所述方法包括以下步骤:/n步骤1:根据系统语言环境引入工具包;根据需求配置限流策略和IP地址的黑名单、白名单;/n步骤2:任一应用平台为对应的每个用户生成唯一密钥、设置调用接口的调用参数并进行预处理;/n步骤3:当应用平台收到认证请求,判断是否符合限流策略,若是,则进行下一步,否则,拒绝,返回步骤3;/n步骤4:基于认证请求携带的参数进行身份鉴别;若鉴别通过,则接口认证可信,可以调用,否则不予认证,返回步骤3。/n

【技术特征摘要】
1.一种适用于多框架多平台的接口认证方法,其特征在于:所述方法包括以下步骤:
步骤1:根据系统语言环境引入工具包;根据需求配置限流策略和IP地址的黑名单、白名单;
步骤2:任一应用平台为对应的每个用户生成唯一密钥、设置调用接口的调用参数并进行预处理;
步骤3:当应用平台收到认证请求,判断是否符合限流策略,若是,则进行下一步,否则,拒绝,返回步骤3;
步骤4:基于认证请求携带的参数进行身份鉴别;若鉴别通过,则接口认证可信,可以调用,否则不予认证,返回步骤3。


2.根据权利要求1所述的一种适用于多框架多平台的接口认证方法,其特征在于:所述步骤2中,所有的密钥存储在应用平台的本地数据库。


3.根据权利要求1所述的一种适用于多框架多平台的接口认证方法,其特征在于:所述步骤2中,调用参数包括用户名、手机号、邮箱、工具包特征值和签名信息。


4.根据权利要求3所述的一种适用于多框架多平台的接口认证方法,其特征在于:所述签名信息为以二进制数据存储的用户信息数字签名数据。


5.根据权利要求3所述的一种适用于多框架多平台的接口认证方法,其特征在于:所述步骤2中,预处理包括:
将用户名、手机号、邮箱进行SM4加密;
将签名信息以每个用户的唯...

【专利技术属性】
技术研发人员:宋峥范渊
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1