本发明专利技术的一种针对OSS‑API接口安全通信的方法,涉及OSS‑API接口安全通信应用技术领域,包括S1,从kong服务器生成签名,kong服务器可以通过插件扩展已有功能,这些插件在API请求响应循环的生命周期中被执行;S2,生成header JWT,JWT通常有两种应用场景:授权、这是最常见的JWT使用场景,一旦用户登录,每个后续请求将包含一个JWT,作为该用户访问资源的令牌;信息交换,可以利用JWT在各个系统之间安全地传输信息,JWT的特性使得接收方可以验证收到的内容是否被篡改;S3,整合Signature和JWT直接访问API服务器;S4,API服务器对Signature和JWT进行处理,通过四种机制,来保障API接口的通信安全,并且JWT应用于API的header,有效的确保了API安全通信的安全级别高。
A secure communication method for oss-api interface
【技术实现步骤摘要】
一种针对OSS-API接口安全通信的方法
本专利技术涉及OSS-API接口安全通信应用
,具体涉及一种针对OSS-API接口安全通信的方法。
技术介绍
API是一些预先定义的函数,或指软件系统不同组成部分衔接的约定,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节,OSS对外提供的相关API接口,如何保证OSS-API安全通信是重中之重。为了保证接口的数据不被篡改和重复调用主要考虑Token授权机制,时间戳超时机制和签名机制,目前现有的一般技术方案一般只运用了其中一种或者两种机制,安全级别不高。因此我们有必要针对现有技术的不足而提供一种针对OSS-API接口安全通信的方法。
技术实现思路
为了克服现有技术中的不足,本专利技术的一种针对OSS-API接口安全通信的方法,其API安全通信的安全级别高。为了实现上述目的,本专利技术的一种针对OSS-API接口安全通信的方法,包括如下步骤:S1,从kong服务器生成签名;S2,生成headerJWT;S3,整合Signature和JWT直接访问API服务器;S4,API服务器对Signature和JWT进行处理。优选的,S1中,kong服务器的APIparams包括AK、AKS、expire、base64(param1)、base64(param2)、……base64(paramN)。优选的,S2中,JWT由Header、Payload和Signature三部分组成。优选的,S4中,API服务器对Signature和JW设计主要操作包括:S401、header去掉“Bearer”拿到JWT进行Decode判断时间戳和签名是否有效;S402、去kong服务器确认Signature是否有效;S403、判断AK和AKS是否合法,AK和AKS无效时,API服务器会直接响应AK或者AKS无效;S404、对所有param参数进行base64解密;S405、对请求接口进行响应。本专利技术具有以下有益效果:通过四种机制,来保障API接口的通信安全,并且JWT应用于API的header,有效的确保了API安全通信的安全级别高。附图说明下面结合附图对本专利技术作进一步描写和阐述。图1是一种针对OSS-API接口安全通信的方法流程图。具体实施方式下面将结合附图、通过对本专利技术的优选实施方式的描述,更加清楚、完整地阐述本专利技术的技术方案。实施例如图1所示,一种针对OSS-API接口安全通信的方法,包括如下步骤:S1,从kong服务器生成签名,kong服务器可以通过插件扩展已有功能,这些插件在API请求响应循环的生命周期中被执行,插件使用Lua编写,而且Kong还有如下几个基础功能:HTTP基本认证、密钥认证、CORS(Cross-originResourceSharing,跨域资源共享)、TCP、UDP、文件日志、API请求限流、请求转发以及nginx监控;S2,生成headerJWT,JWT通常有两种应用场景:授权、这是最常见的JWT使用场景,一旦用户登录,每个后续请求将包含一个JWT,作为该用户访问资源的令牌;信息交换,可以利用JWT在各个系统之间安全地传输信息,JWT的特性使得接收方可以验证收到的内容是否被篡改;S3,整合Signature和JWT直接访问API服务器;S4,API服务器对Signature和JWT进行处理。作为本专利技术的一种技术优化方案,S1中,kong服务器的APIparams包括AK、AKS、expire、base64(param1)、base64(param2)、……base64(paramN)。通过采用上述技术方案,OSS通过使用AK和AKS对称加密的方法来验证某个请求的发送者身份,AK用于标识用户;AKS是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,必须保密;expire为时间戳,可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它;base64是网络上最常见的用于传输8Bit字节码的编码方式之一,base64就是一种基于64个可打印字符来表示二进制数据的方法,可以用来加密。作为本专利技术的一种技术优化方案,S2中,JWT由Header、Payload和Signature三部分组成。通过采用上述技术方案,其中第一部分为Header,通常由两部分组成:令牌的类型以及所使用的加密算法,参数示例如下:{"alg":"HS256","typ":"JWT"},其中Header使用base加密;第二部分为Payload,Payload是载体,里面可以放置自定义的信息,以及过期时间、发行人等,参数示例如下:{"timeStamp":"1572861099530"},其中载体参数为timeStamp,就是时间戳,精确到ms,有效时间为5m;第三部分为Signature,计算此签名需要四部分信息:Header里的算法信息、Header、Payload和一个自定义的秘钥,接受到JWT后,利用相同的信息再计算一次签名,然年与JWT中的签名对比,如果不相同则说明JWT中的内容被篡改,参数示例如下:HMACSHA256(base64UrlEncode(header)+"."+base64UrlEncode(payload),UnicloudSmaug)。作为本专利技术的一种技术优化方案,S4中,API服务器对Signature和JW设计主要操作包括:S401、header去掉“Bearer”拿到JWT进行Decode判断时间戳和签名是否有效;S402、去kong服务器确认Signature是否有效;S403、判断AK和AKS是否合法,AK和AKS无效时,API服务器会直接响应AK或者AKS无效;S404、对所有param参数进行base64解密;S405、对请求接口进行响应。本专利技术的工作原理为:1、访问秘钥机制(AK和AKS)AccessKey(简称AK)指的是访问身份验证中用到的AccessKeyId和AccessKeySecret。OSS通过使用AccessKeyId和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户;AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,必须保密。2、参数加密机制请求参数(获取签名和访问API服务器)中,除去AK、AKS以及过期时间参数(expire)其他参数全部都需要经过Base64加密。kong服务器不会对参数进行解密。整合本文档来自技高网...
【技术保护点】
1.一种针对OSS-API接口安全通信的方法,其特征在于,包括如下步骤:/nS1,从kong服务器生成签名;/nS2,生成header JWT;/nS3,整合Signature和JWT直接访问API服务器;/nS4,API服务器对Signature和JWT进行处理。/n
【技术特征摘要】
1.一种针对OSS-API接口安全通信的方法,其特征在于,包括如下步骤:
S1,从kong服务器生成签名;
S2,生成headerJWT;
S3,整合Signature和JWT直接访问API服务器;
S4,API服务器对Signature和JWT进行处理。
2.根据权利要求1所述的一种针对OSS-API接口安全通信的方法,其特征在于:所述S1中,kong服务器的APIparams包括AK、AKS、expire、base64(param1)、base64(param2)、……base64(paramN)。
3.根据权利要求1所述的一种针对OSS-API接口安全通信的...
【专利技术属性】
技术研发人员:陶杰,
申请(专利权)人:紫光云南京数字技术有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。