【技术实现步骤摘要】
一种公用基础模块的调用方法和装置
本专利技术涉及公用基础模块领域,更具体地,特别是指一种公用基础模块的调用方法和装置。
技术介绍
共用基础模块(CBB)是指那些可以在不同产品、系统之间共用的组件、模块、技术、及相关设计成果。在项目研发过程中,通过重用CBB,可以减少重复开发,节约开发资源和成本、缩短开发周期和上市时间,提高产品质量。CBB的实施对安全性和易用性提出了很高的要求,否则辛苦研发的CBB会给人造成不好用的印象,从而导致无法在企业中推行起来。其中对安全性和易用性影响较大的一个因素就是调用CBB接口时的身份认证和接口鉴权问题,目前常用的CBB接口认证方式是采用传统的基于令牌(Token)的方式,主要分为两步:第一步是发送用户名和密码进行身份认证并获取认证Token;第二步是携带Token访问业务接口。在这种认证鉴权的方式中,用户不能直接访问某个资源接口,必须首先访问登录接口获取Token,然后才能携带着Token访问资源接口,降低了CBB的易用性。另外Token的有效期不好设置,时间太长容易造成重放攻击的风险,时间太短则需要频繁的进行登录认证,严重影响用户体验。针对现有技术中CBB运转依赖Token并且容易受到重放攻击的问题,目前尚无有效的解决方案。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提出一种公用基础模块的调用方法和装置,能够基于一次请求同时完成身份认证、接口鉴权和资源访问,降低对Token的依赖并提高了易用性,也有效避免了遭受重放攻击。基于上 ...
【技术保护点】
1.一种公用基础模块的调用方法,其特征在于,包括执行以下步骤:/n由公用基础模块的接口调用端获取请求时间戳,并使用所述接口调用端的私钥对所述请求时间戳签名以获得加密串;/n由所述接口调用端发送包括请求参数的业务请求,其中所述请求参数包括封装好的所述接口调用端的用户标识、所述请求时间戳、和所述加密串;/n由所述公用基础模块接收所述业务请求,并从所述业务请求中提取所述请求参数以对所述接口调用端执行身份认证;/n由所述公用基础模块响应于通过所述身份认证而以非令牌形式来确定所述接口调用端的接口访问权限,并基于所述接口访问权限而在所述公用基础模块中处理所述业务请求,其中所述身份认证和所述接口访问权限均保留在所述公用基础模块之内。/n
【技术特征摘要】
1.一种公用基础模块的调用方法,其特征在于,包括执行以下步骤:
由公用基础模块的接口调用端获取请求时间戳,并使用所述接口调用端的私钥对所述请求时间戳签名以获得加密串;
由所述接口调用端发送包括请求参数的业务请求,其中所述请求参数包括封装好的所述接口调用端的用户标识、所述请求时间戳、和所述加密串;
由所述公用基础模块接收所述业务请求,并从所述业务请求中提取所述请求参数以对所述接口调用端执行身份认证;
由所述公用基础模块响应于通过所述身份认证而以非令牌形式来确定所述接口调用端的接口访问权限,并基于所述接口访问权限而在所述公用基础模块中处理所述业务请求,其中所述身份认证和所述接口访问权限均保留在所述公用基础模块之内。
2.根据权利要求1所述的方法,其特征在于,所述接口调用端的指令环境为Java、JavaScript、或Python;
获取所述请求时间戳包括以下之一:在Java环境中使用time获取所述请求时间戳、在JavaScript环境中使用Date().getTime()获取所述请求时间戳、和在Python环境中使用time.time()获取所述请求时间戳。
3.根据权利要求1所述的方法,其特征在于,还包括:所述接口调用端在获取所述请求时间戳之前,先访问所述公用基础模块的密钥管理中心以获得由所述密钥管理中心为所述接口调用端生成的所述用户标识和所述私钥,其中每个所述接口调用端、分发给所述接口调用端的所述用户标识、和分发给所述接口调用端的所述私钥均一一对应。
4.根据权利要求3所述的方法,其特征在于,所述密钥管理中心成对地生成和发放所述用户标识和所述私钥,并且所述私钥的加密和解密均使用SM2国密算法。
5.根据权利要求1所述的方法,其特征在于,由公用基础模块从所述业务请求中提取所述请求参数以对所述接口调用端执行身份认证包括:
获取当前时间戳,并确定所述当前时间戳和所述请求参数中的所述请求时间戳之差值;
响应于所述差值大于预设的过期时间间隔而将所述业务请求认定为重放攻击并拒绝所述业务请求;
响应于所述差值未大于预设的过期时间间隔而访问密钥库,并根据所述请求参数中的所述用户标识从所述密钥库中获取与所述用户标识相对应的公钥;
基于所述公钥反签名所述请求参数中的所述加密串以获得解密时间戳,并比较所述请求时间戳和所述解密时间戳;
响应于所述请求时间戳和所述解密时间戳不一致而将所述业务请求认定为重放攻击并拒绝所述业务请求;
响应于所述业务请求未在上述步骤中被认定为是重放攻击而通过所述身份认证。
6.根据权利要求1所述的方法,其特征在于,由所述公用基础模块响应于通...
【专利技术属性】
技术研发人员:刘凯,徐峥,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。