CN108600264B - 一种应用于授信认证的加密解密方法及授信认证*** - Google Patents

一种应用于授信认证的加密解密方法及授信认证*** Download PDF

Info

Publication number
CN108600264B
CN108600264B CN201810437742.9A CN201810437742A CN108600264B CN 108600264 B CN108600264 B CN 108600264B CN 201810437742 A CN201810437742 A CN 201810437742A CN 108600264 B CN108600264 B CN 108600264B
Authority
CN
China
Prior art keywords
parameter
authentication
key token
parameters
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810437742.9A
Other languages
English (en)
Other versions
CN108600264A (zh
Inventor
柳长庆
曾明
高原
孙强
代红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Julong Co Ltd
Original Assignee
Julong Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Julong Co Ltd filed Critical Julong Co Ltd
Priority to CN201810437742.9A priority Critical patent/CN108600264B/zh
Publication of CN108600264A publication Critical patent/CN108600264A/zh
Application granted granted Critical
Publication of CN108600264B publication Critical patent/CN108600264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种应用于授信认证的加密解密方法及授信认证***,该加密解密方法,包括,S1、通过授信客户端向服务客户端发送接口请求;S2、触发参数***;S3、通过所述参数***获取授信客户端所对应服务编号参数;S4、获取秘钥令牌参数;S5、通过服务客户端接收所述接口请求参数;S6、根据认证注解声明触发前置过滤器;S7、判断认证结果是否能够通过授信服务认证。授信认证***,包括,授信客户端、参数***、服务客户端、前置过滤器和授信服务认证单元。本发明使授信认证的安全性更高。

Description

一种应用于授信认证的加密解密方法及授信认证***
技术领域
本发明涉及一种加密算法,具体地说是一种应用于授信认证的加密解密方法及授信认证***。
背景技术
目前,随着互联网+的深入发展,软件***已经深入到各个行业的不同场景之中,伴随而来的是不同***之间的联系越发紧密。因此,各种云平台、组合***、单点登录服务等应运而生,同平台***间与***间的通讯也越发频繁,从而对通讯的安全性和可靠性的要求就越发的高。其中,所述服务是指将原有的单体软件***拆分为不同的功能组件,通过服务间的契约依赖关系,彼此通讯形成完整的***应用,统一平台下的服务可以彼此间通信,也可以与平台外的非授信服务进行通讯,例如浏览器软件端、安卓***软件端、苹果***软件端、客户机***软件端等。但是不管是哪种通讯模式,在获取执行通讯请求前,确保请求的安全性、可靠性都是必要的前提。
目前,现有技术中对于跨平台统一认证需求来说,通常使用单点登录解决方案,且认证***需要一个认证服务端,且该服务端必须是独立部署的浏览器应用;所述服务端主要负责对用户的认证工作,与数据库交互并认证结束后以重定向的方式跳转至对应请求画面。认证客户端与***客户端应用共同部署,以过滤的方式对受保护的资源进行认证保护。对于访问受保护资源的每个请求,客户端都会分析请求参数中是否包含用户凭证,如果没有,则进行客户端认证或服务端认证;通常在实际应用场景中,单点登录需要和权限控制框架结合使用,以ApacheShiro(JAVA安全框架)为例。安全框架使用用户会话缓存用户认证信息,也就表示客户端需要存储用户状态缓存。客户端安全框架使用缓存信息进行请求认证,同时提供了一组声明接口,可以对接口进行权限验证描述,由***进行权限验证,通过后进行接口访问。
综上可知,对于跨平台统一认证需求来说,需要一个独立部署的认证服务端,那么这对于跨地域的分布式部署方案就存在,认证服务端部署方式固定,网络约束性强,负载均衡或分布式方案复杂等弊端。同时现有的授信认证***的加密算法安全性低,容易被复制,不利于授信客户端与客户服务端。
发明内容
鉴于现有的跨平台统一认证技术存在的弊端,本发明提供了一种应用于授信认证的授信加密解密方法,以有效解决背景技术中所提及的技术问题。
一种应用于授信认证的加密解密方法,包括如下步骤:
S1、通过授信客户端向服务客户端发送接口请求;
S2、从接收到的所述接口请求中解析出接口请求参数并触发参数***,其中所述接口请求参数用于识别授信客户端所要请求的接口所对应的接口调用参数,所述参数***用于自动将加密认证参数封装到所要发送的接口请求参数的数据字典数据结构中,所述加密认证参数至少包括秘钥令牌参数;
S3、通过所述参数***获取授信客户端所对应服务编号参数,并封装所述接口请求参数以构成对应的数据字典数据结构;
S4、获取秘钥令牌参数,并在所述接口请求参数的数据字典数据结构中添加服务编号参数以及所获取的秘钥令牌参数后发送所述接口请求参数,其中,所述秘钥令牌参数是对参数密文与所述服务编号参数进行加密所获取的参数,所述参数密文是自授信客户端预置的动态参数字典中提取出;
S5、通过服务客户端接收所述接口请求参数;
S6、根据认证注解声明触发前置过滤器,其中,所述认证注解声明对接口请求中的请求参数进行过滤认证,所述认证注解声明用于基于请求接口所对应的注解认证标签确认前置过滤器所需执行的过滤认证算法,所述注解认证标签具有多种标签属性,每一种标签属性对应一种被预置在前置过滤器中的过滤认证算法,且每一所述请求接口均各自对应某一属性的注解认证标签;所述前置过滤器用于自所述接口请求参数中提取出秘钥令牌参数并基于所设定的自动认证机制进行认证并给出认证结果;
S7、判断认证结果是否能够通过授信服务认证,是则执行接口并返回结果,否则抛出异常认证失败,所述授信服务认证用于对钥令牌参数进行解密并在解密成功后判断自秘钥令牌参数中所提取出的服务编号参数是否存在于预置的本地注册表中。
在所述步骤S4中所述秘钥令牌参数的获取方法如下步骤:
S41:将授信客户端预置的动态参数字典作为初始化参数,并获得其有序参数字典;
S42:对所述有序参数字典进行字符串转化,得到参数字符串;
S43:对所述参数字符串进行非对称加密,得到参数密文;
S44:使用所述参数密文作为辅助参数对服务编号参数进行对称加密,获得加密后的秘钥令牌字节数组;
S45:对所述秘钥令牌字节数组进行转码,得到秘钥令牌参数。
在所述步骤S7中对秘钥令牌参数进行解密的解密方法如下步骤:
S71、将所述授信客户端预置的动态参数字典作为初始化参数,并获得其所述有序参数字典;
S72、对所述有序参数字典进行字符串转换,得到参数字符串;
S73、对所述参数字符串进行非对称加密,获得参数密文;
S74、对所述参数密文进行字节数组转换,得到参数密文字节数组;
S75、对所述秘钥令牌参数进行解码,得到秘钥令牌字节数组;
S76、使用所述参数密文字节数组对所述秘钥令牌字节数组进行对称算法解密,得到服务编号字节数组;
S77、对服务编号字节数组进行字符串转换,得到服务编号。
一种授信认证***,包括:
授信客户端,其用于在发送接口请求时,从接收到的所述接口请求中解析出接口请求参数,同时触发参数拦截***,所述接口请求参数用于识别授信客户端所要请求的接口所对应的接口调用参数;
所述参数***,用于获取秘钥令牌参数,并在所述接口请求参数的数据字典数据结构中添加服务编号参数以及所获取的秘钥令牌参数后发送所述接口请求参数;所述秘钥令牌参数通过对参数密文与所述服务编号参数进行加密得到;所述参数密文是自授信客户端预置的动态参数字典中提取出;
服务客户端,用于接收所述接口请求参数并执行所述接口请求参数;
前置过滤器,用于根据认证注解声明触发操作即通过认证注解声明对接口请求中的请求参数进行过滤认证,所述认证注解声明用于基于请求接口所对应的注解认证标签确认前置过滤器所需执行的过滤认证算法,所述注解认证标签具有多种标签属性,每一种标签属性对应一种被预置在前置过滤器中的过滤认证算法,且每一所述请求接口均各自对应某一属性的注解认证标签;所述前置过滤器还用于自所述接口请求参数中提取出秘钥令牌参数并基于所设定的自动认证机制进行认证并给出认证结果;
授信服务认证单元,用于对秘钥令牌参数进行解密,并在解密成功后判断自秘钥令牌参数中所提取处的服务编号参数是否存在于预置的本地注册表中,如果是则所述服务客户端执行。
所述参数***包括用于获取秘钥令牌参数的第一参数获取单元,其包括:
第一参数初始化模块,其用于将所述授信客户端预置的动态参数字典作为初始化参数并获得其有序参数字典;
第一字符串转化模块,其用于对所述有序参数字典进行字符串转化以得到参数字符串;
第一加密模块,其用于对所述参数字符串进行非对称加密以得到参数密文;
第二加密模块,其用于使用所述参数密文作为辅助参数对服务编号参数进行对称加密以获得加密后的秘钥令牌字节数组;
转码模块,其用于对所述秘钥令牌字节数组进行转码以得到秘钥令牌参数。
所述参数***还包括第一数据追加单元,其用于将所述服务编号参数以及通过第一参数获取单元获取的秘钥令牌参数添加至所述接口请求参数的数据字典数据结构中。
所述授信服务认证单元包括用于获取所述秘钥令牌参数中服务参数的第一服务编号获取单元,其包括:
第二参数初始化模块,其用于对所述授信客户端预置的动态参数字典作为初始化参数并获得其有序参数字典;
第二字符串转换模块,其用于对所述有序参数字典进行字符串转换以得到参数字符串;
第三加密模块,其用于对所述参数字符串进行非对称加密以得到参数密文;
第一字节数组转换模块,其用于对所述参数密文进行字节数组转换以得到参数密文字节数组;
第一解码模块,其用于对所述秘钥令牌参数进行解码以得到秘钥令牌字节数组;
第一解密模块,其用于使用所述参数密文字节数组对所述秘钥令牌字节数组进行对称算法解密以得到服务编号字节数组;
第三字符串转换模块,其用于对所述服务编号字节数组进行字符串转换以得到服务编号。
所述授信服务认证单元还包括第一判断单元,其用于判断自秘钥令牌参数中所提取处的服务编号参数是否存在于预置的本地注册表中。
面对互联网的开放性网络,技术方案中设计的授信客户端令牌加密算法,使用了对称与非对称加密算法混合加密与密文混淆等方式。同时,因为使用请求参数与随机时间戳作为必须的加密参数,因此密文拥有动态随机的特性,密文不可读,不完全可逆,且不可复制,安全性更高。因此,想要通过截取有效请求的密文,修改请求参数的方式,发起恶意的非法请求,是无法通过安全认证的机制的。一种应用于授信认证的加密解密方法及授信认证***使授信认证的安全性更高。
基于上述理由本发明可在授信领域广泛推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明具体实施方式中授信认证***流程图。
图2是本发明具体实施方式中参数***结构示意图。
图3是本发明具体实施方式中第一参数获取单元结构示意图。
图4是本发明具体实施方式中授信服务认证单元结构示意图。
图5是本发明具体实施方式中第一服务编号结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
一种应用于授信认证的加密解密方法,包括如下步骤:
S1、通过授信客户端向服务客户端发送接口请求;
S2、从接收到的所述接口请求中解析出接口请求参数并触发参数***,其中所述接口请求参数用于识别授信客户端所要请求的接口所对应的接口调用参数,所述参数***用于自动将加密认证参数封装到所要发送的接口请求参数的数据字典数据结构中,所述加密认证参数至少包括秘钥令牌参数;
S3、通过所述参数***获取授信客户端所对应服务编号参数,并封装所述接口请求参数以构成对应的数据字典数据结构;
S4、获取秘钥令牌参数,并在所述接口请求参数的数据字典数据结构中添加服务编号参数以及所获取的秘钥令牌参数后发送所述接口请求参数,其中,所述秘钥令牌参数是对参数密文与所述服务编号参数进行加密所获取的参数,所述参数密文是自授信客户端预置的动态参数字典中提取出;
其中,所述秘钥令牌参数的获取方法如下步骤:
S41:将授信客户端预置的动态参数字典作为初始化参数,并获得其有序参数字典;
S42:对所述有序参数字典进行字符串转化,优选地对所述有序参数字典进行JSON格式字符串转换,得到参数字符串,并删除参数字符串中所有的“[”与“]”字符;
S43:对所述参数字符串进行非对称加密,优选的使用SHA-1加密算法,得到参数密文;
S44:使用所述参数密文作为辅助参数对服务编号参数进行对称加密,优选地使用AES加密算法,获得加密后的秘钥令牌字节数组;
S45:对所述秘钥令牌字节数组进行转码,优选地对秘钥令牌字节数组进行Base64转码,得到秘钥令牌参数。
S5、通过服务客户端接收所述接口请求参数;
S6、根据认证注解声明触发前置过滤器,其中,所述认证注解声明对接口请求中的请求参数进行过滤认证,所述认证注解声明用于基于请求接口所对应的注解认证标签确认前置过滤器所需执行的过滤认证算法,所述注解认证标签具有多种标签属性,每一种标签属性对应一种被预置在前置过滤器中的过滤认证算法,且每一所述请求接口均各自对应某一属性的注解认证标签;所述前置过滤器用于自所述接口请求参数中提取出秘钥令牌参数并基于所设定的自动认证机制进行认证并给出认证结果;所述自动认证机制判断所述秘钥令牌参数是否为空,若为空则抛出异常,认证失败,若不为空则认证成功,给出认证结果;
S7、判断认证结果是否能够通过授信服务认证,是则执行接口并返回结果,否则抛出异常认证失败,所述授信服务认证用于对钥令牌参数进行解密并在解密成功后判断自秘钥令牌参数中所提取出的服务编号参数是否存在于预置的本地注册表中。
其中,对秘钥令牌参数进行解密的解密方法如下步骤:
S71、将所述授信客户端预置的动态参数字典作为初始化参数,并获得其所述有序参数字典;
S72、对所述有序参数字典进行字符串转换,优选地对所述有序参数字典进行JSON格式字符串转换,得到参数字符串;
S73、对所述参数字符串进行非对称加密,优选地使用SHA-1加密算法,获得参数密文;
S74、对所述参数密文进行字节数组转换,得到参数密文字节数组;
S75、对所述秘钥令牌参数进行解码,优选地对所述秘钥令牌参数进行Base64解码,得到秘钥令牌字节数组;
S76、使用所述参数密文字节数组对所述秘钥令牌字节数组进行对称算法解密,得到服务编号字节数组;
S77、对服务编号字节数组进行字符串转换,得到服务编号。
实施例2
如图1-5所示,一种授信认证***,包括:
授信客户端,其用于在发送接口请求时,从接收到的所述接口请求中解析出接口请求参数,同时触发参数拦截***,所述接口请求参数用于识别授信客户端所要请求的接口所对应的接口调用参数;
所述参数***,用于获取秘钥令牌参数,并在所述接口请求参数的数据字典数据结构中添加服务编号参数以及所获取的秘钥令牌参数后发送所述接口请求参数;所述秘钥令牌参数通过对参数密文与所述服务编号参数进行加密得到;所述参数密文是自授信客户端预置的动态参数字典中提取出;
服务客户端,用于接收所述接口请求参数并执行所述接口请求参数;
前置过滤器,用于根据认证注解声明触发操作即通过认证注解声明对接口请求中的请求参数进行过滤认证,所述认证注解声明用于基于请求接口所对应的注解认证标签确认前置过滤器所需执行的过滤认证算法,所述注解认证标签具有多种标签属性,每一种标签属性对应一种被预置在前置过滤器中的过滤认证算法,且每一所述请求接口均各自对应某一属性的注解认证标签;所述前置过滤器还用于自所述接口请求参数中提取出秘钥令牌参数并基于所设定的自动认证机制进行认证并给出认证结果;
授信服务认证单元,用于对秘钥令牌参数进行解密,并在解密成功后判断自秘钥令牌参数中所提取处的服务编号参数是否存在于预置的本地注册表中,如果是则所述服务客户端执行。
所述参数***包括用于获取秘钥令牌参数的第一参数获取单元,其包括:
第一参数初始化模块,其用于将所述授信客户端预置的动态参数字典作为初始化参数并获得其有序参数字典;
第一字符串转化模块,其用于对所述有序参数字典进行字符串转化以得到参数字符串,优选地对所述有序参数字典进行JSON格式字符串转换,并删除参数字符串中所有的“[”与“]”字符;
第一加密模块,其用于对所述参数字符串进行非对称加密以得到参数密文,优选的所述非对称加密算法使用SHA-1加密算法;
第二加密模块,其用于使用所述参数密文作为辅助参数对服务编号参数进行对称加密以获得加密后的秘钥令牌字节数组,优选地所述对称加密使用AES加密算法;
转码模块,其用于对所述秘钥令牌字节数组进行转码以得到秘钥令牌参数,优选地对秘钥令牌字节数组进行Base64转码。
所述参数***还包括第一数据追加单元,其用于将所述服务编号参数以及通过第一参数获取单元获取的秘钥令牌参数添加至所述接口请求参数的数据字典数据结构中。
所述授信服务认证单元包括用于获取所述秘钥令牌参数中服务参数的第一服务编号获取单元,其包括:
第二参数初始化模块,其用于对所述授信客户端预置的动态参数字典作为初始化参数并获得其有序参数字典;
第二字符串转换模块,其用于对所述有序参数字典进行字符串转换以得到参数字符串,优选地对所述有序参数字典进行JSON格式字符串转换;
第三加密模块,其用于对所述参数字符串进行非对称加密以得到参数密文,优选地所述非对称加密使用SHA-1加密算法;
第一字节数组转换模块,其用于对所述参数密文进行字节数组转换以得到参数密文字节数组;
第一解码模块,其用于对所述秘钥令牌参数进行解码以得到秘钥令牌字节数组,优选地对所述秘钥令牌参数进行Base64解码;
第一解密模块,其用于使用所述参数密文字节数组对所述秘钥令牌字节数组进行对称算法解密以得到服务编号字节数组;
第三字符串转换模块,其用于对所述服务编号字节数组进行字符串转换以得到服务编号。
所述授信服务认证单元还包括第一判断单元,其用于判断自秘钥令牌参数中所提取处的服务编号参数是否存在于预置的本地注册表中。
面对互联网的开放性网络,技术方案中设计的授信客户端令牌加密算法,使用了对称与非对称加密算法混合加密与密文混淆等方式。同时,因为使用请求参数与随机时间戳作为必须的加密参数,因此密文拥有动态随机的特性,密文不可读,不完全可逆,且不可复制,安全性更高。因此,想要通过截取有效请求的密文,修改请求参数的方式,发起恶意的非法请求,是无法通过安全认证的机制的。一种应用于授信认证的加密解密方法及授信认证***使授信认证的安全性更高。
实施例3
实施例3是对实施例1和实施例2中的过滤认证算法的进一步解释:
实施例1中的步骤S6以及实施例2中前置过滤器所涉及的所述注解认证标签依据接口认证需求被定义为下述几种属性:其包括但不限于授信服务认证标签、游客认证标签、已登入认证标签、角色认证标签以及权限认证标签。
在授信客户端向服务器接受端发送接口请求之前还要构建与所述服务器接受端相匹配的用户状态数据结构,其中,所述用户状态数据结构用于为过滤认证过程提供所需的用户状态信息,并与接口请求中的请求参数一起被整合成数据包向服务器接受端发送,所述请求参数被写入有供服务端认证使用的认证秘钥以及服务秘钥;所述用户状态信息至少包括用户权限凭证、用户基本信息以及权限数据,所述用户权限凭证用于在无状态会话条件下获取用户登陆状态唯一标识即用户状态信息的关键词;所述权限数据包括角色编码数据与资源权限编码数据。
所述授信服务认证标签所对应的过滤认证算法包括如下步骤:
(101)、获取请求参数中的认证秘钥并判断所述请求参数是否为空,是则抛出异常认证失败,否则进行下一步,;
(102)、自所设定的接口参数字典中获取对应的服务编码实例并删除所述认证秘钥的属性信息;
(103)、基于授信服务端令牌解密算法,对所述认证秘钥进行解密以获得解密后的客户端的服务编码;
(104)、判断所述服务编码是否为空,是则抛出异常认证失败,否则进行下一步;
(105)、判断所述服务编码是否存在于所设定的本地授信服务注册表中,否则抛出异常认证失败;
(106)、确定请求接口所对应的注解认证标签的属性,即允许通过的服务编码数组;
(107)、若服务编码数组的数组长度为0,则确定为任何授信服务都可以认证通过;
(108)、循环步骤(106)中的服务编码数组,并判断是否存在与步骤(103)的客户端的服务编码相同的值,是则确认认证通过,否则抛出异常认证失败。
所述注解标签属性还包括自定义认证标签。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种应用于授信认证的加密解密方法,其特征在于,包括如下步骤:
S1、通过授信客户端向服务客户端发送接口请求;
S2、从接收到的所述接口请求中解析出接口请求参数并触发参数***,其中所述接口请求参数用于识别授信客户端所要请求的接口所对应的接口调用参数,所述参数***用于自动将加密认证参数封装到所要发送的接口请求参数的数据字典数据结构中,所述加密认证参数至少包括秘钥令牌参数;
S3、通过所述参数***获取授信客户端所对应服务编号参数,并封装所述接口请求参数以构成对应的数据字典数据结构;
S4、获取秘钥令牌参数,并在所述接口请求参数的数据字典数据结构中添加服务编号参数以及所获取的秘钥令牌参数后发送所述接口请求参数,其中,所述秘钥令牌参数是对参数密文与所述服务编号参数进行加密所获取的参数,所述参数密文是自授信客户端预置的动态参数字典中提取出;
S5、通过服务客户端接收所述接口请求参数;
S6、根据认证注解声明触发前置过滤器,其中,所述认证注解声明对接口请求中的请求参数进行过滤认证,所述认证注解声明用于基于请求接口所对应的注解认证标签确认前置过滤器所需执行的过滤认证算法,所述注解认证标签具有多种标签属性,每一种标签属性对应一种被预置在前置过滤器中的过滤认证算法,且每一所述请求接口均各自对应某一属性的注解认证标签;所述前置过滤器用于自所述接口请求参数中提取出秘钥令牌参数并基于所设定的自动认证机制进行认证并给出认证结果;
S7、判断认证结果是否能够通过授信服务认证,是则执行接口并返回结果,否则抛出异常认证失败,所述授信服务认证用于对秘钥令牌参数进行解密并在解密成功后判断自秘钥令牌参数中所提取出的服务编号参数是否存在于预置的本地注册表中。
2.根据权利要求1所述的一种应用于授信认证的加密解密方法,其特征在于:在所述步骤S4中所述秘钥令牌参数的获取方法如下步骤:
S41:将授信客户端预置的动态参数字典作为初始化参数,并获得其有序参数字典;
S42:对所述有序参数字典进行字符串转化,得到参数字符串;
S43:对所述参数字符串进行非对称加密,得到参数密文;
S44:使用所述参数密文作为辅助参数对服务编号参数进行对称加密,获得加密后的秘钥令牌字节数组;
S45:对所述秘钥令牌字节数组进行转码,得到秘钥令牌参数。
3.根据权利要求1或2所述的一种应用于授信认证的加密解密方法,其特征在于:在所述步骤S7中对秘钥令牌参数进行解密的解密方法如下步骤:
S71、将所述授信客户端预置的动态参数字典作为初始化参数,并获得其有序参数字典;
S72、对所述有序参数字典进行字符串转换,得到参数字符串;
S73、对所述参数字符串进行非对称加密,获得参数密文;
S74、对所述参数密文进行字节数组转换,得到参数密文字节数组;
S75、对所述秘钥令牌参数进行解码,得到秘钥令牌字节数组;
S76、使用所述参数密文字节数组对所述秘钥令牌字节数组进行对称算法解密,得到服务编号字节数组;
S77、对服务编号字节数组进行字符串转换,得到服务编号。
4.一种授信认证***,其特征在于,包括:
授信客户端,其用于在发送接口请求时,从接收到的所述接口请求中解析出接口请求参数,同时触发参数拦截***,所述接口请求参数用于识别授信客户端所要请求的接口所对应的接口调用参数;
所述参数***,用于获取秘钥令牌参数,并在所述接口请求参数的数据字典数据结构中添加服务编号参数以及所获取的秘钥令牌参数后发送所述接口请求参数;所述秘钥令牌参数通过对参数密文与所述服务编号参数进行加密得到;所述参数密文是自授信客户端预置的动态参数字典中提取出;
服务客户端,用于接收所述接口请求参数并执行所述接口请求参数;
前置过滤器,用于根据认证注解声明触发操作即通过认证注解声明对接口请求中的请求参数进行过滤认证,所述认证注解声明用于基于请求接口所对应的注解认证标签确认前置过滤器所需执行的过滤认证算法,所述注解认证标签具有多种标签属性,每一种标签属性对应一种被预置在前置过滤器中的过滤认证算法,且每一所述请求接口均各自对应某一属性的注解认证标签;所述前置过滤器还用于自所述接口请求参数中提取出秘钥令牌参数并基于所设定的自动认证机制进行认证并给出认证结果;
授信服务认证单元,用于对秘钥令牌参数进行解密,并在解密成功后判断自秘钥令牌参数中所提取处的服务编号参数是否存在于预置的本地注册表中,如果是则所述服务客户端执行。
5.根据权利要求4所述的授信认证***,其特征在于:所述参数***包括用于获取秘钥令牌参数的第一参数获取单元,其包括:
第一参数初始化模块,其用于将所述授信客户端预置的动态参数字典作为初始化参数并获得其有序参数字典;
第一字符串转化模块,其用于对所述有序参数字典进行字符串转化以得到参数字符串;
第一加密模块,其用于对所述参数字符串进行非对称加密以得到参数密文;
第二加密模块,其用于使用所述参数密文作为辅助参数对服务编号参数进行对称加密以获得加密后的秘钥令牌字节数组;
转码模块,其用于对所述秘钥令牌字节数组进行转码以得到秘钥令牌参数。
6.根据权利要求5所述的授信认证***,其特征在于:所述参数***还包括第一数据追加单元,其用于将所述服务编号参数以及通过第一参数获取单元获取的秘钥令牌参数添加至所述接口请求参数的数据字典数据结构中。
7.根据权利要求4或5所述的授信认证***,其特征在于:所述授信服务认证单元包括用于获取所述秘钥令牌参数中服务参数的第一服务编号获取单元,其包括:
第二参数初始化模块,其用于对所述授信客户端预置的动态参数字典作为初始化参数并获得其有序参数字典;
第二字符串转换模块,其用于对所述有序参数字典进行字符串转换以得到参数字符串;
第三加密模块,其用于对所述参数字符串进行非对称加密以得到参数密文;
第一字节数组转换模块,其用于对所述参数密文进行字节数组转换以得到参数密文字节数组;
第一解码模块,其用于对所述秘钥令牌参数进行解码以得到秘钥令牌字节数组;
第一解密模块,其用于使用所述参数密文字节数组对所述秘钥令牌字节数组进行对称算法解密以得到服务编号字节数组;
第三字符串转换模块,其用于对所述服务编号字节数组进行字符串转换以得到服务编号。
8.根据权利要求7所述的授信认证***,其特征在于:所述授信服务认证单元还包括第一判断单元,其用于判断自秘钥令牌参数中所提取处的服务编号参数是否存在于预置的本地注册表中。
CN201810437742.9A 2018-05-09 2018-05-09 一种应用于授信认证的加密解密方法及授信认证*** Active CN108600264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810437742.9A CN108600264B (zh) 2018-05-09 2018-05-09 一种应用于授信认证的加密解密方法及授信认证***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810437742.9A CN108600264B (zh) 2018-05-09 2018-05-09 一种应用于授信认证的加密解密方法及授信认证***

Publications (2)

Publication Number Publication Date
CN108600264A CN108600264A (zh) 2018-09-28
CN108600264B true CN108600264B (zh) 2020-10-02

Family

ID=63636554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810437742.9A Active CN108600264B (zh) 2018-05-09 2018-05-09 一种应用于授信认证的加密解密方法及授信认证***

Country Status (1)

Country Link
CN (1) CN108600264B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020070623A (ko) * 2001-03-02 2002-09-10 송우아이엔티 주식회사 신용정보중개 시스템 및 방법과 그 프로그램 소스를저장한 기록매체
CN101132281A (zh) * 2007-09-18 2008-02-27 刘亚梅 一种防止密钥被窃取的网络安全认证***
CN101499904A (zh) * 2008-02-01 2009-08-05 华为技术有限公司 一种安全接口调用方法、装置及***
CN103701761A (zh) * 2012-09-28 2014-04-02 中国电信股份有限公司 开放接口调用的认证方法与***
CN104104738A (zh) * 2014-08-06 2014-10-15 江苏瑞中数据股份有限公司 一种基于ftp的数据交换***
CN104424678A (zh) * 2013-08-30 2015-03-18 聚龙股份有限公司 一种电子密码锁***及其控制方法
CN104901928A (zh) * 2014-03-07 2015-09-09 ***通信集团浙江有限公司 一种数据交互方法、装置及***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020070623A (ko) * 2001-03-02 2002-09-10 송우아이엔티 주식회사 신용정보중개 시스템 및 방법과 그 프로그램 소스를저장한 기록매체
CN101132281A (zh) * 2007-09-18 2008-02-27 刘亚梅 一种防止密钥被窃取的网络安全认证***
CN101499904A (zh) * 2008-02-01 2009-08-05 华为技术有限公司 一种安全接口调用方法、装置及***
CN103701761A (zh) * 2012-09-28 2014-04-02 中国电信股份有限公司 开放接口调用的认证方法与***
CN104424678A (zh) * 2013-08-30 2015-03-18 聚龙股份有限公司 一种电子密码锁***及其控制方法
CN104901928A (zh) * 2014-03-07 2015-09-09 ***通信集团浙江有限公司 一种数据交互方法、装置及***
CN104104738A (zh) * 2014-08-06 2014-10-15 江苏瑞中数据股份有限公司 一种基于ftp的数据交换***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"软件开发开放API接口的安全处理";刘俊;《信息与电脑(理论版)》;20170423;全文 *

Also Published As

Publication number Publication date
CN108600264A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
US8978125B2 (en) Identity controlled data center
CN108684041B (zh) 登录认证的***和方法
CN108600268B (zh) 一种应用于非授信认证的加密解密方法及非授信认证***
US20170063827A1 (en) Data obfuscation method and service using unique seeds
JP2020502616A (ja) フェデレーテッド・シングル・サインオン(sso)のための非侵入型セキュリティの実施
CN106453361B (zh) 一种网络信息的安全保护方法及***
CN108616540B (zh) 一种基于跨平台加密算法与声明式过滤认证的平台认证方法及***
JP7309880B2 (ja) リダイレクションを含むタイムスタンプベースの認証
KR101817152B1 (ko) 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법
CN111818088A (zh) 授权模式管理方法、装置、计算机设备及可读存储介质
CN106330829A (zh) 一种采用中间件实现单点登录的方法和***
US11811739B2 (en) Web encryption for web messages and application programming interfaces
CN111800378A (zh) 一种登录认证方法、装置、***和存储介质
CN112804269B (zh) 一种实现网站接口反爬虫的方法
CN103516524A (zh) 安全验证方法和***
CN114844644A (zh) 资源请求方法、装置、电子设备及存储介质
CN110166471A (zh) 一种Portal认证方法及装置
CN108600266B (zh) 一种声明过滤认证方法及认证***
CN108292997B (zh) 认证控制***及方法、服务器装置、客户装置、认证方法及记录介质
CN110912857B (zh) 移动应用间共享登录的方法、存储介质
CN113794563B (zh) 一种通信网络安全控制方法及***
CN108600264B (zh) 一种应用于授信认证的加密解密方法及授信认证***
Tutubala et al. A hybrid framework to improve data security in cloud computing
CN115459929A (zh) 安全验证方法、装置、电子设备、***、介质和产品
CN112312392B (zh) 适用于移动设备的数据获取方法、***和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant