一种app数据接口安全性传输的方法及其系统技术方案

技术编号:26770892 阅读:25 留言:0更新日期:2020-12-18 23:50
本发明专利技术提供了一种app数据接口安全性传输的方法,所述方法为:步骤1、app客户端启动时携带随机生成的密钥key去请求获取凭证接口;步骤2、服务端根据密钥key来生成凭证access_token,并设置凭证过期时间,返回给客户端凭证access_token、凭证过期时间、服务端时间;步骤3、app客户端在本地存储和维护凭证access_token,并且同步计时服务端时间;步骤4、app客户端携带密钥key、凭证access_token、当前时间戳,请求业务数据接口;步骤5、服务端对凭证access_token、当前时间戳进行合法性校验,用密钥key进行Des加密数据返回;步骤6、app客户端接收并用密钥key进行Des解密数据,本发明专利技术能对数据进行有效的保护,提高了app客户端的安全性。

【技术实现步骤摘要】
一种app数据接口安全性传输的方法及其系统
本专利技术涉及计算机通讯
,特别是一种app数据接口安全性传输的方法及其系统。
技术介绍
一个app上线后,因为各种利益关系,可能会有第三方使用程序来抓取app上的数据接口,窃取数据,为他们所用,因此对公司造成损失。如何设计一种通用的数据接口安全性方案,来对数据进行有效的保护,成为一款app上线前的必须要考虑的因素。现有技术公开了一种“基于RestFul的数据接口安全交换方法”,见公开号为:CN109462595A,公开日为:2019.03.12的中国专利,该方法包括:1)首先服务器创建一个认证凭证和身份凭证;2)客户端输入认证资格,通过后,服务器产生身份令牌和令牌的时效性;3)客户端再次输入身份令牌,服务器确认身份令牌、时效性、信息权限,通过后开放数据交换接口,完成数据交换动作。通过将验证和令牌统一管理,利用系统缓存的时效性为时效管理,可以大大减少系统内存开销,减少不同系统之前数据验证和交换的风险,增加系统交换的可靠性和安全性。虽然该专利也提到了令牌和时效性,但是本专利的凭证生成方式和流程都与该专利不同,并且本专利的凭证里包含了解密数据所需信息,客户端与服务器后续的接口数据传输需要通过解密获得,因此,该专利所采用的技术方案与本专利并不相同,且本专利安全性更高。
技术实现思路
为克服上述问题,本专利技术的目的是提供一种app数据接口安全性传输的方法,能对数据进行有效的保护,提高了app客户端的安全性。本专利技术采用以下方案实现:一种app数据接口安全性传输的方法,所述方法包括如下步骤:步骤1、app客户端启动时携带随机生成的密钥key去请求获取凭证接口;步骤2、服务端根据密钥key来生成凭证access_token,并设置凭证过期时间,返回给客户端凭证access_token、凭证过期时间、服务端时间;步骤3、app客户端在本地存储和维护凭证access_token,并且同步计时服务端时间;步骤4、app客户端携带密钥key、凭证access_token、当前时间戳,请求业务数据接口;步骤5、服务端对凭证access_token、当前时间戳进行合法性校验,用密钥key进行Des加密数据返回;步骤6、app客户端接收并用密钥key进行Des解密数据。进一步的,所述步骤2进一步具体为:服务端获取密钥key,根据access_token=md5(key+md5密钥)来生成凭证access_token,其中,md5密钥存于服务端不对外暴露,把生成的凭证access_token存到redis内存数据库中,并设置凭证过期时间,返回给客户端凭证access_token、凭证过期时间、服务端时间。进一步的,所述步骤3中app客户端在本地存储和维护凭证access_token,获得服务端时间后,在app客户端内启动一个线程来同步维护时间戳的增长,以此来保证客户端和服务端时间不会有过大的误差。进一步的,所述步骤4中请求业务数据接口时,先进行检验凭证过期时间是否超过当前时间戳,来判断凭证是否过期,否,则请求业务数据接口,是,则重新根据步骤1获取新的凭证。进一步的,所述步骤5进一步具体包括如下步骤:步骤5.1:校验当前时间戳和当前服务器时间的误差是否超过预设时间,超过则返回非法;步骤5.2:收到参数密钥key和凭证access_token,用服务端上的md5密钥进行本地凭证access_token_check生成,access_token_check=md5(key+md5密钥),校验access_token和生成的access_token_check是否相等,不相等则返回非法;步骤5.3:读取服务端的redis里密钥key和生成的access_token_check,是否存在,不存在则视为过期,返回非法;步骤5.4:验证合法性都通过之后,用密钥key进行Des加密数据返回;步骤5.5:返回客户端首页加密后的数据EnData。本专利技术还提供了一种app数据接口安全性传输的系统,所述系统包括凭证获取模块、凭证生成模块、数据存储模块、请求数据接口模块、合法性校验模块、以及数据解密模块;所述凭证获取模块,用于在app客户端启动时携带随机生成的密钥key去请求获取凭证接口;所述凭证生成模块,通过服务端根据密钥key来生成凭证access_token,并设置凭证过期时间,返回给客户端凭证access_token、凭证过期时间、服务端时间;所述数据存储模块,通过app客户端在本地存储和维护凭证access_token,并且同步计时服务端时间;所述请求数据接口模块,通过app客户端携带密钥key、凭证access_token、当前时间戳,请求业务数据接口;所述合法性校验模块,通过服务端对凭证access_token、当前时间戳进行合法性校验,用密钥key进行Des加密数据返回;所述数据解密模块,通过app客户端接收并用密钥key进行Des解密数据。进一步的,所述凭证生成模块进一步具体为:服务端获取密钥key,根据access_token=md5(key+md5密钥)来生成凭证access_token,其中,md5密钥存于服务端不对外暴露,把生成的凭证access_token存到redis内存数据库中,并设置凭证过期时间,返回给客户端凭证access_token、凭证过期时间、服务端时间。进一步的,所述数据存储模块中app客户端在本地存储和维护凭证access_token,获得服务端时间后,在app客户端内启动一个线程来同步维护时间戳的增长,以此来保证客户端和服务端时间不会有过大的误差。进一步的,所述请求数据接口模块中请求业务数据接口时,先进行检验凭证过期时间是否超过当前时间戳,来判断凭证是否过期,否,则请求业务数据接口,是,则重新根据步骤1获取新的凭证。进一步的,所述合法性校验模块的实现方式进一步具体为:校验当前时间戳和当前服务器时间的误差是否超过预设时间,超过则返回非法;收到参数密钥key和凭证access_token,用服务端上的md5密钥进行本地凭证access_token_check生成,access_token_check=md5(key+md5密钥),校验access_token和生成的access_token_check是否相等,不相等则返回非法;读取服务端的redis里密钥key和生成的access_token_check,是否存在,不存在则视为过期,返回非法;验证合法性都通过之后,用密钥key进行Des加密数据返回;返回客户端首页加密后的数据EnData。本专利技术的有益效果在于:本专利技术的app客户端向服务端获取凭证,且该凭证是进行加密处理后得到的,凭证里包含了解密数据所需信息,客户端与服务器后续的接口数据传输需要通过解密获得,且服务端设置有本文档来自技高网...

【技术保护点】
1.一种app数据接口安全性传输的方法,其特征在于:所述方法包括如下步骤:/n步骤1、app客户端启动时携带随机生成的密钥key去请求获取凭证接口;/n步骤2、服务端根据密钥key来生成凭证access_token,并设置凭证过期时间,返回给客户端凭证access_token、凭证过期时间、服务端时间;/n步骤3、app客户端在本地存储和维护凭证access_token,并且同步计时服务端时间;/n步骤4、app客户端携带密钥key、凭证access_token、当前时间戳,请求业务数据接口;/n步骤5、服务端对凭证access_token、当前时间戳进行合法性校验,用密钥key进行Des加密数据返回;/n步骤6、app客户端接收并用密钥key进行Des解密数据。/n

【技术特征摘要】
1.一种app数据接口安全性传输的方法,其特征在于:所述方法包括如下步骤:
步骤1、app客户端启动时携带随机生成的密钥key去请求获取凭证接口;
步骤2、服务端根据密钥key来生成凭证access_token,并设置凭证过期时间,返回给客户端凭证access_token、凭证过期时间、服务端时间;
步骤3、app客户端在本地存储和维护凭证access_token,并且同步计时服务端时间;
步骤4、app客户端携带密钥key、凭证access_token、当前时间戳,请求业务数据接口;
步骤5、服务端对凭证access_token、当前时间戳进行合法性校验,用密钥key进行Des加密数据返回;
步骤6、app客户端接收并用密钥key进行Des解密数据。


2.根据权利要求1所述的一种app数据接口安全性传输的方法,其特征在于:所述步骤2进一步具体为:服务端获取密钥key,根据access_token=md5(key+md5密钥)来生成凭证access_token,其中,md5密钥存于服务端不对外暴露,把生成的凭证access_token存到redis内存数据库中,并设置凭证过期时间,返回给客户端凭证access_token、凭证过期时间、服务端时间。


3.根据权利要求1所述的一种app数据接口安全性传输的方法,其特征在于:所述步骤3中app客户端在本地存储和维护凭证access_token,获得服务端时间后,在app客户端内启动一个线程来同步维护时间戳的增长,以此来保证客户端和服务端时间不会有过大的误差。


4.根据权利要求1所述的一种app数据接口安全性传输的方法,其特征在于:所述步骤4中请求业务数据接口时,先进行检验凭证过期时间是否超过当前时间戳,来判断凭证是否过期,否,则请求业务数据接口,是,则重新根据步骤1获取新的凭证。


5.根据权利要求1所述的一种app数据接口安全性传输的方法,其特征在于:所述步骤5进一步具体包括如下步骤:
步骤5.1:校验当前时间戳和当前服务器时间的误差是否超过预设时间,超过则返回非法;
步骤5.2:收到参数密钥key和凭证access_token,用服务端上的md5密钥进行本地凭证access_token_check生成,access_token_check=md5(key+md5密钥),校验access_token和生成的access_token_check是否相等,不相等则返回非法;
步骤5.3:读取服务端的redis里密钥key和生成的access_token_check,是否存在,不存在则视为过期,返回非法;
步骤5.4:验证合法性都通过之后,用密钥key进行Des加密数据返回;
步骤5.5:返回客户端首页加密后的数据EnData。


6.一种app数据接口安全性传输的系统,其特征在于:所述系统包...

【专利技术属性】
技术研发人员:刘德建叶伟郑彬岳万恕陈宏展
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:福建;35

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

1