CN112153015A - 多重加密的接口认证方法、装置、设备和可读存储介质 - Google Patents

多重加密的接口认证方法、装置、设备和可读存储介质 Download PDF

Info

Publication number
CN112153015A
CN112153015A CN202010939773.1A CN202010939773A CN112153015A CN 112153015 A CN112153015 A CN 112153015A CN 202010939773 A CN202010939773 A CN 202010939773A CN 112153015 A CN112153015 A CN 112153015A
Authority
CN
China
Prior art keywords
interface
encryption
key
information
encrypted
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.)
Pending
Application number
CN202010939773.1A
Other languages
English (en)
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.)
DBAPPSecurity Co Ltd
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology 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 Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN202010939773.1A priority Critical patent/CN112153015A/zh
Publication of CN112153015A publication Critical patent/CN112153015A/zh
Pending legal-status Critical Current

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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

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)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种多重加密的接口认证方法、装置、设备和计算机可读存储介质。其中,该多重加密的接口认证方法包括:获取接口调用请求消息,其中,接口调用请求消息中携带有第一加密信息和第二加密信息;使用本地私钥解密第一加密信息,得到第一对称密钥;采用第一对称密钥和Base64混合解密第二加密信息,得到接口请求参数;执行与接口请求参数对应的业务逻辑。通过本申请,解决了相关技术中接口认证的安全性低的问题,提高了接口认证的安全性。

Description

多重加密的接口认证方法、装置、设备和可读存储介质
技术领域
本申请涉及网络安全领域,特别是涉及多重加密的接口认证方法、装置、设备和计算机可读存储介质。
背景技术
随着互联网的高速发展,企业之间的对接越来越频繁。而企业之间越来越频繁对接就造成了安全认证的及重复对接的问题,让开发者尤为困扰。一旦不法分子利用了这些接口间的认证漏洞,并恶意调用暴漏的接口,可能会导致系统瘫痪,以及用户的信息泄漏,甚至还可能会威胁用户的利益。
因此,在相关技术中,为了提高接口认证的安全性,采用token(令牌)认证的方式。但是在研究过程中发现,一旦token被窃取,仍然会存在接口被恶意调用,而导致用户的信息被泄漏的问题。
目前针对相关技术中接口认证的安全性低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种多重加密的接口认证方法、装置、多重加密的接口认证设备以及计算机可读存储介质,以至少解决相关技术中接口认证的安全性低的问题。
第一方面,本申请实施例提供了一种多重加密的接口认证方法,包括:
获取接口调用请求消息,其中,所述接口调用请求消息中携带有第一加密信息和第二加密信息;
使用本地私钥解密所述第一加密信息,得到第一对称密钥;
采用所述第一对称密钥和Base64混合解密所述第二加密信息,得到接口请求参数;
执行与所述接口请求参数对应的业务逻辑。
在其中一些实施例中,所述接口调用请求消息中还携带有第三加密信息;使用本地私钥解密所述第一加密信息,得到第一对称密钥包括:
使用所述本地私钥解密所述第三加密信息,得到用户ID;
判断所述用户ID是否有效;
在判断到所述用户ID有效的情况下,使用所述本地私钥解密所述第一加密信息,得到所述第一对称密钥。
在其中一些实施例中,所述方法还包括:
在判断到所述用户ID无效的情况下,生成接口认证失败消息,并将所述接口认证失败消息发送给所述接口调用请求消息的发送方。
在其中一些实施例中,在执行与所述接口请求参数对应的业务逻辑之后,所述方法还包括:
获取执行与所述接口请求参数对应的业务逻辑得到的执行结果数据;
生成第二对称密钥;
采用所述第二对称密钥和Base64混合加密所述执行结果数据,得到第四加密信息;
采用本地公钥加密所述第二对称密钥,得到第五加密信息;
根据所述第四加密信息和所述第五加密信息,生成响应于所述接口调用请求消息的接口调用响应消息;
将所述接口调用响应消息发送给所述接口调用请求消息的发送方。
在其中一些实施例中,所述第一对称密钥为AES密钥,和/或,第二对称密钥为AES密钥。
在其中一些实施例中,所述本地私钥为RSA私钥,和/或,本地公钥为RSA公钥。
第二方面,本申请实施例还提供了一种多重加密的接口认证装置,包括:
第一获取模块,用于获取接口调用请求消息,其中,所述接口调用请求消息中携带有第一加密信息和第二加密信息;
第一解密模块,用于使用本地私钥解密所述第一加密信息,得到第一对称密钥;
第二解密模块,用于采用所述第一对称密钥和Base64混合解密所述第二加密信息,得到接口请求参数;
执行模块,用于执行与所述接口请求参数对应的业务逻辑。
在其中一些实施例中,所述接口调用请求消息中携带有第三加密信息;所述第一解密模块包括:第一解密单元,用于使用所述本地私钥解密所述第三加密信息,得到用户ID;判断单元,用于判断所述用户ID是否有效;第二解密单元,用于在判断到所述用户ID有效的情况下,采用所述第一对称密钥和Base64混合解密所述第二加密信息,得到接口请求参数。
第三方面,本申请实施例提供了一种多重加密的接口认证设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的多重加密的接口认证方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的多重加密的接口认证方法。
相比于相关技术,本申请实施例提供的多重加密的接口认证方法、装置、设备和计算机可读存储介质,通过获取接口调用请求消息,其中,接口调用请求消息中携带有第一加密信息和第二加密信息;使用本地私钥解密第一加密信息,得到第一对称密钥;采用第一对称密钥和Base64混合解密第二加密信息,得到接口请求参数;执行与接口请求参数对应的业务逻辑的方式,解决了相关技术中接口认证的安全性低的问题,提高了接口认证的安全性。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的多重加密的接口认证方法的终端的硬件结构框图;
图2是根据本申请实施例的多重加密的接口认证方法的流程图;
图3是根据本申请实施例中加密过程的示意图;
图4是根据本申请实施例中解密过程的流程示意图;
图5是根据本申请实施例的多重加密的接口认证装置的结构框图;
图6为根据本申请实施例的多重加密的接口认证设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所做出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。以运行在终端上为例,图1是本申请实施例的多重加密的接口认证方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的多重加密的接口认证方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本实施例还提供了一种多重加密的接口认证方法,可以应用于与服务器。图2是根据本申请实施例的多重加密的接口认证方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取接口调用请求消息,其中,接口调用请求消息中携带有第一加密信息和第二加密信息。
在本步骤中,为了提高接口的安全认证,在接口调用请求消息中携带了第一加密信息和第二加密信息,避免了相关技术中采用token(令牌)认证的方式,解决了相关技术中接口认证的安全性低的问题,提高了接口认证的安全性。
步骤S202,使用本地私钥解密第一加密信息,得到第一对称密钥。
在本步骤中,本地私钥可以是保存在本地中的。且对称密钥可以是通过对称加密算法生成的。该对称加密算法可以包括以下至少之一:AES、TDEA算法、Blowfish算法、RC5算法、IDEA算法。
在其中一些实施例中,第一对称密钥可以是AES密钥。
需要说明的是,AES(Advanced Encryption Standard,密码学中的高级加密标准),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
在步骤S202之前,可以先通过非对称加密的公钥对对称密钥进行加密,然后将私钥进行保存,且该私钥可以是上述实施例中的本地私钥。通过该方式,提高了对称密钥的安全性。
需要说明的是,非对称加密可以包括以下:RSA、Elgamal、背包算法、Rabin、D-H、ECC等。在本实施例中,以RSA为例来进行描述说明。
RSA是目前使用最广泛的公钥密码体制之一,是1977年由罗纳德李维斯特(RonRivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。
为了进一步的提高接口认证的安全性,在一些实施例中,还可以在该接口调用请求消息中携带有用户ID,且可以该用户ID可以是加密过的用户ID。下面以接口调用请求消息中还携带有第三加密信息为例进行描述和说明。
在其中一些实施例中,接口调用请求消息中还携带有第三加密信息;使用本地私钥解密第三加密信息,得到用户ID;判断用户ID是否有效;在判断到用户ID有效的情况下,使用本地私钥解密第一加密信息,得到第一对称密钥。
在本实施例中,通过接口调用请求消息中携带有第三加密信息,然后对第三加密信息进行解密得到用户ID,最后在对用户ID进行判断的方式,进一步提高了接口认证的安全性。
在本实施例中,用户ID是唯一的,都可以由用户配置。且在配置用户ID时,可以根据用户的需求配置对应的用户ID。
在本实施例中,判断用户ID是否有效可以通过以下方式:
方式一,判断用户ID是否合法,若合法,则判断到用户ID有效。
方式二,判断用户ID在数据库中是否存在与该用户ID相匹配的用户ID,若存在,判断到用户ID有效。
在其他一些实施例中,还可以根据计算机系统的语言环境引入工具包,该工具包可以是给用户提供通用的接口,方便开发人员的使用和开发。
基于上述实施例,在判断到用户ID无效的情况下,生成接口认证失败消息,并将接口认证失败消息发送给接口调用请求消息的发送方。通过该方式,可以防止无效用户ID对第一加密信息和第二加密信息的解密,提高接口认证的安全性。
且上述实施例中的第三加密信息可以是客户端通过以下方式来进行加密:客户端可以使用非对称加密(如RSA)的公钥对用户ID进行加密,得到第三加密信息,并将与该公钥对应的私钥发送给服务器,服务器可以将该私钥作为本地私钥。通过该方式,实现对用户ID加密,以及提高了用户ID的安全性。
步骤S203,采用第一对称密钥和Base64混合解密第二加密信息,得到接口请求参数。
在步骤S203之前,还可以通过客户端根据Base64和第一对称密钥混合加密接口请求参数,得到第二加密信息,并生成第一对称密钥和Base64混合解密方式,以及将该方式发送给服务器。在本实施例中,通过客户端对接口请求参数采用Base64和对称密钥混合加密的方式,提高了接口调用请求的安全性。
需要说明的是,Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。
Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。
Base64由于以上优点被广泛应用于计算机的各个领域,然而由于输出内容中包括两个以上“符号类”字符(+,/,=),不同的应用场景又分别研制了Base64的各种“变种”。为统一和规范化Base64的输出,Base62x被视为无符号化的改进版本。
步骤S204,执行与接口请求参数对应的业务逻辑。
在本实施例中,还可对接口请求参数进行验证,以进一步提高接口认证的安全性。
基于上述步骤S201至步骤S204,通过获取接口调用请求消息,其中,接口调用请求消息中携带有第一加密信息和第二加密信息的方式,避免了相关技术中采用token(令牌)认证的方式,且经过加密的第一加密信息和第二加密信息在被窃取时,可以避免被破解,防止了接口被恶意调用的问题,解决了相关技术中接口认证的安全性低的问题,提高了接口认证的安全性。
在其中一些实施例中,在步骤S204之后,获取执行与接口请求参数对应的业务逻辑得到的执行结果数据;生成第二对称密钥;采用第二对称密钥和Base64混合加密执行结果数据,得到第四加密信息;采用本地公钥加密第二对称密钥,得到第五加密信息;根据第四加密信息和第五加密信息,生成响应于接口调用请求消息的接口调用响应消息;将接口调用响应消息发送给接口调用请求消息的发送方。在本实施例中,通过上述方式,实现对执行结果数据的加密,保证执行结果数据的安全性。
在其中一些实施例中,第一对称密钥为AES密钥,和/或,第二对称密钥为AES密钥。
在其中一些实施例中,本地私钥为RSA私钥,和/或,本地公钥为RSA公钥。需要说明的是,本地私钥对应的公钥可以是在客户端或者接口调用请求消息的发送方。本地公钥对应的私钥可以是在客户端或接口调用请求消息的发送方。
需要说明的是,上述实施例中的AES密钥的生成可以是随机生成的,例如,通过真随机数生成的方式生成AES密钥,该生成的AES密钥可以随AES解密请求一同发送给客户端或者服务器。
下面通过优选实施例对本申请实施例进行描述和说明。在下述优选实施例中,以对称加密以AES为例,非对称加密为RSA为例进行描述。
在其中一些实施例中,本申请实施例中的请求参数加密方式可以包括以下步骤:
步骤A,引入认证工具包。该步骤A可以通过以下步骤来实现:
步骤1,根据需求配置对应用户信息。
通过该方式,来保证每个用户信息的唯一性。
步骤2,根据计算机系统的语言环境引入工具包。
需要说明的是,可以提供统一工具包,可以由开发人员导入项目中。
步骤B,可以为每个用户ID通过RSA生成唯一的公钥,并进行本地请求加密,以及采用私钥进行接收接口请求参数解密,并将私钥存储在本地数据库中。
步骤C、接口请求参数加密。图3是根据本申请实施例中加密过程的示意图,如图3所示,该加密过程可以包括以下方式:
(1)商户编号:可以配置的对应用户ID,并采用RSA进行加密。
(2)采用RSA对用于加密请求参数的加密密钥(相当于上述实施例中的对称密钥)进行加密。
(3)请求参数加密:通过AES与Base64混合加密。
在本实施例中,加密密钥可以为通过本地公钥进行RSA加密,请求参数可以使用AES密钥进行AES加密,再使用base64编码加密,即上述实施例中的对称密钥和Base64混合加密,通过该方式,可以防止接口调用信息被破解,以及接口被恶意调用,解决了相关技术中接口认证的安全性低的问题,提高了接口认证的安全性。
基于上述加密过程,在其中一些实施例中,图4是根据本申请实施例中解密过程的流程示意图,如图4所示,本申请实施例中的接口解密可以包括以下步骤:
步骤401,通过本地私钥对第三加密信息进行RSA解密,获取用户ID。
在本步骤中,可以将请求解密的用户ID与加密时的用户ID进行比对,看是否一至,若是,则进行解密。也可以判断用户信息是否合法,若是,则进行解密。
步骤402,采用本地私钥对第一加密信息进行RSA解密获取第一对称密钥。
步骤403,基于Base与对称密钥通过AES与Base64的混合解密第二加密信息。
需要说明的是,本步骤中的AES密钥的生成可以是随机生成的,例如,通过真随机数生成的方式生成AES密钥,该生成的AES密钥可以随AES解密请求一同发送给客户端或者服务器。
步骤404,在验证接口请求参数为有效的情况下,执行业务逻辑处理。
基于上述优选实施例,本申请实施例主要的原理是为各个系统或平台提供一种采用敏感数据加密,例如AES与Base64的混合加密与解密、数据传输加密以及RSA和AES的多重加密方式的接口认证。
且还可以在工具包内设置签名验证、真随机数生成、迭代加密、非对称加密算法密钥对生成、对称数据加密算法密钥生成等规则。并根据接口的数据传输的大小自动输配加密算法,在认证安全的前提下又保障了效率。以最小化的成本,保障了接口认证的安全性。且通过上述方式,大大节省了系统对接所需要的时间,节省了大量资源。
需要说明的是,本实施例中的工具包可以包括.dll、.jar、.so、.ocx等格式的工具包。通过该方式,以用来支持多种计算机运行环境(例如Linux、Unix、Windows、Android等运行环境)和多种计算机语言(例如C、C++、Android、java、Python、Go等计算机语言)。
本实施例还提供了一种多重加密的接口认证装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的多重加密的接口认证装置的结构框图,如图5所示,该装置包括:
第一获取模块51,用于获取接口调用请求消息,其中,接口调用请求消息中携带有第一加密信息和第二加密信息;
第一解密模块52,耦合至第一获取模块51,用于使用本地私钥解密第一加密信息,得到第一对称密钥;
第二解密模块53,耦合至第一解密模块52,用于采用第一对称密钥和Base64混合解密第二加密信息,得到接口请求参数;
执行模块54,耦合至第二解密模块53,用于执行与接口请求参数对应的业务逻辑。
在其中一些实施例中,接口调用请求消息中携带有第三加密信息;第一解密模块52包括:第一解密单元,用于使用本地私钥解密第三加密信息,得到用户ID;判断单元,用于判断用户ID是否有效;第二解密单元,用于在判断到用户ID有效的情况下,使用本地私钥解密第一加密信息,得到第一对称密钥。
在其中一些实施例中,该装置还包括:第一生成模块,用于在判断到用户ID无效的情况下,生成接口认证失败消息,并将接口认证失败消息发送给接口调用请求消息的发送方。
在其中一些实施例中,该装置还包括:第二获取模块,用于获取执行与接口请求参数对应的业务逻辑得到的执行结果数据;第二生成模块,用于生成第二对称密钥;第一加密模块,用于采用第二对称密钥和Base64混合加密执行结果数据,得到第四加密信息;第二加密模块,用于采用本地公钥加密第二对称密钥,得到第五加密信息;第三生成模块,用于根据第四加密信息和第五加密信息,生成响应于接口调用请求消息的接口调用响应消息;发送模块,用于将接口调用响应消息发送给接口调用请求消息的发送方。
在其中一些实施例中,第一对称密钥为AES密钥,和/或,第二对称密钥为AES密钥。
在其中一些实施例中,本地私钥为RSA私钥,和/或,本地公钥为RSA公钥。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图2描述的本申请实施例多重加密的接口认证方法可以由多重加密的接口认证设备来实现。图6为根据本申请实施例的多重加密的接口认证设备的硬件结构示意图。
多重加密的接口认证设备可以包括处理器61以及存储有计算机程序指令的存储器62。
具体地,上述处理器61可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器62可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器62可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器62可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器62可在数据处理装置的内部或外部。在特定实施例中,存储器62是非易失性(Non-Volatile)存储器。在特定实施例中,存储器62包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器62可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器61所执行的可能的计算机程序指令。
处理器61通过读取并执行存储器62中存储的计算机程序指令,以实现上述实施例中的任意一种多重加密的接口认证方法。
在其中一些实施例中,多重加密的接口认证设备还可包括通信接口63和总线60。其中,如图6所示,处理器61、存储器62、通信接口63通过总线60连接并完成相互间的通信。
通信接口63用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口63还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线60包括硬件、软件或两者,将多重加密的接口认证设备的部件彼此耦接在一起。总线60包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线60可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,简称为MCA)总线、外围组件互连(Peripheral ComponentInterconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SerialAdvanced Technology Attachment,简称为SATA)总线、视频电子标准协会局部(VideoElectronics Standards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线60可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该多重加密的接口认证设备可以基于获取到的接口调用请求消息,执行本申请实施例中的多重加密的接口认证方法,从而实现结合图2描述的多重加密的接口认证方法。
另外,结合上述实施例中的多重加密的接口认证方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种多重加密的接口认证方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种多重加密的接口认证方法,其特征在于,包括:
获取接口调用请求消息,其中,所述接口调用请求消息中携带有第一加密信息和第二加密信息;
使用本地私钥解密所述第一加密信息,得到第一对称密钥;
采用所述第一对称密钥和Base64混合解密所述第二加密信息,得到接口请求参数;
执行与所述接口请求参数对应的业务逻辑。
2.根据权利要求1所述的多重加密的接口认证方法,其特征在于,所述接口调用请求消息中还携带有第三加密信息;使用本地私钥解密所述第一加密信息,得到第一对称密钥包括:
使用所述本地私钥解密所述第三加密信息,得到用户ID;
判断所述用户ID是否有效;
在判断到所述用户ID有效的情况下,使用所述本地私钥解密所述第一加密信息,得到所述第一对称密钥。
3.根据权利要求2所述的多重加密的接口认证方法,其特征在于,所述方法还包括:
在判断到所述用户ID无效的情况下,生成接口认证失败消息,并将所述接口认证失败消息发送给所述接口调用请求消息的发送方。
4.根据权利要求1所述的多重加密的接口认证方法,其特征在于,在执行与所述接口请求参数对应的业务逻辑之后,所述方法还包括:
获取执行与所述接口请求参数对应的业务逻辑得到的执行结果数据;
生成第二对称密钥;
采用所述第二对称密钥和Base64混合加密所述执行结果数据,得到第四加密信息;
采用本地公钥加密所述第二对称密钥,得到第五加密信息;
根据所述第四加密信息和所述第五加密信息,生成响应于所述接口调用请求消息的接口调用响应消息;
将所述接口调用响应消息发送给所述接口调用请求消息的发送方。
5.根据权利要求1至4中任一项所述的多重加密的接口认证方法,其特征在于,所述第一对称密钥为AES密钥,和/或,第二对称密钥为AES密钥。
6.根据权利要求1至4中任一项所述的多重加密的接口认证方法,其特征在于,所述本地私钥为RSA私钥,和/或,本地公钥为RSA公钥。
7.一种多重加密的接口认证装置,其特征在于,包括:
第一获取模块,用于获取接口调用请求消息,其中,所述接口调用请求消息中携带有第一加密信息和第二加密信息;
第一解密模块,用于使用本地私钥解密所述第一加密信息,得到第一对称密钥;
第二解密模块,用于采用所述第一对称密钥和Base64混合解密所述第二加密信息,得到接口请求参数;
执行模块,用于执行与所述接口请求参数对应的业务逻辑。
8.根据权利要求7所述的一种多重加密的接口认证装置,其特征在于,所述接口调用请求消息中携带有第三加密信息;所述第一解密模块包括:第一解密单元,用于使用所述本地私钥解密所述第三加密信息,得到用户ID;判断单元,用于判断所述用户ID是否有效;第二解密单元,用于在判断到所述用户ID有效的情况下,采用所述第一对称密钥和Base64混合解密所述第二加密信息,得到接口请求参数。
9.一种多重加密的接口认证设备,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的多重加密的接口认证方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的多重加密的接口认证方法。
CN202010939773.1A 2020-09-09 2020-09-09 多重加密的接口认证方法、装置、设备和可读存储介质 Pending CN112153015A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010939773.1A CN112153015A (zh) 2020-09-09 2020-09-09 多重加密的接口认证方法、装置、设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010939773.1A CN112153015A (zh) 2020-09-09 2020-09-09 多重加密的接口认证方法、装置、设备和可读存储介质

Publications (1)

Publication Number Publication Date
CN112153015A true CN112153015A (zh) 2020-12-29

Family

ID=73890085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010939773.1A Pending CN112153015A (zh) 2020-09-09 2020-09-09 多重加密的接口认证方法、装置、设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN112153015A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099025A (zh) * 2021-03-01 2021-07-09 上海掌门科技有限公司 一种在社交应用中添加好友的方法与设备
CN113742752A (zh) * 2021-09-13 2021-12-03 杭州安恒信息技术股份有限公司 接口对接的统一认证方法、装置、计算机设备和存储介质
CN115001782A (zh) * 2022-05-26 2022-09-02 爱驰汽车有限公司 接口请求参数的处理方法、装置、设备及存储介质
CN115242558A (zh) * 2022-09-22 2022-10-25 城云科技(中国)有限公司 Api接口安全加密方法和认证方法及其应用
CN116560571A (zh) * 2023-05-10 2023-08-08 上海威固信息技术股份有限公司 一种固态硬盘的安全数据读取方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964793A (zh) * 2010-10-08 2011-02-02 上海银联电子支付服务有限公司 终端和服务器间的数据传输方法及系统、签到和支付方法
US20120072714A1 (en) * 2003-12-16 2012-03-22 Citibank Development Center, Inc. Methods and Systems for Secure Authentication of a User by a Host System
CN108347419A (zh) * 2017-01-24 2018-07-31 腾讯科技(深圳)有限公司 数据传输方法和装置
CN108900301A (zh) * 2018-05-31 2018-11-27 苏州浪潮智能软件有限公司 基于.NET MVC的restful接口安全认证及报文混合加密方法
CN110460439A (zh) * 2019-08-08 2019-11-15 平安科技(深圳)有限公司 信息传输方法、装置、客户端、服务端及存储介质
CN111147447A (zh) * 2019-12-03 2020-05-12 苏宁云计算有限公司 一种数据的保护方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120072714A1 (en) * 2003-12-16 2012-03-22 Citibank Development Center, Inc. Methods and Systems for Secure Authentication of a User by a Host System
CN101964793A (zh) * 2010-10-08 2011-02-02 上海银联电子支付服务有限公司 终端和服务器间的数据传输方法及系统、签到和支付方法
CN108347419A (zh) * 2017-01-24 2018-07-31 腾讯科技(深圳)有限公司 数据传输方法和装置
CN108900301A (zh) * 2018-05-31 2018-11-27 苏州浪潮智能软件有限公司 基于.NET MVC的restful接口安全认证及报文混合加密方法
CN110460439A (zh) * 2019-08-08 2019-11-15 平安科技(深圳)有限公司 信息传输方法、装置、客户端、服务端及存储介质
CN111147447A (zh) * 2019-12-03 2020-05-12 苏宁云计算有限公司 一种数据的保护方法及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099025A (zh) * 2021-03-01 2021-07-09 上海掌门科技有限公司 一种在社交应用中添加好友的方法与设备
CN113742752A (zh) * 2021-09-13 2021-12-03 杭州安恒信息技术股份有限公司 接口对接的统一认证方法、装置、计算机设备和存储介质
CN113742752B (zh) * 2021-09-13 2024-03-26 杭州安恒信息技术股份有限公司 接口对接的统一认证方法、装置、计算机设备和存储介质
CN115001782A (zh) * 2022-05-26 2022-09-02 爱驰汽车有限公司 接口请求参数的处理方法、装置、设备及存储介质
CN115242558A (zh) * 2022-09-22 2022-10-25 城云科技(中国)有限公司 Api接口安全加密方法和认证方法及其应用
CN115242558B (zh) * 2022-09-22 2022-12-09 城云科技(中国)有限公司 Api接口安全加密方法和认证方法及装置、可读存储介质
CN116560571A (zh) * 2023-05-10 2023-08-08 上海威固信息技术股份有限公司 一种固态硬盘的安全数据读取方法及系统
CN116560571B (zh) * 2023-05-10 2024-05-07 上海威固信息技术股份有限公司 一种固态硬盘的安全数据读取方法及系统

Similar Documents

Publication Publication Date Title
CN112153015A (zh) 多重加密的接口认证方法、装置、设备和可读存储介质
CN111556025A (zh) 基于加密、解密操作的数据传输方法、系统和计算机设备
WO2016011778A1 (zh) 数据处理的方法和装置
CN109067739B (zh) 通信数据加密方法和装置
CN112019541B (zh) 一种数据传输方法、装置、计算机设备及存储介质
CN111131300B (zh) 通信方法、终端及服务器
CN107920060B (zh) 基于账号的数据访问方法和装置
CN114826733B (zh) 文件传输方法、装置、系统、设备、介质以及程序产品
CN106161224B (zh) 数据交换方法、装置及设备
CN110581838A (zh) 可持续请求数据流的方法、电子装置及计算机设备
CN112261015B (zh) 基于区块链的信息共享方法、平台、系统以及电子设备
CN112328415A (zh) 接口调用方法、装置、计算机设备和可读存储介质
CN114301613B (zh) 安全通信的方法和装置
CN113162915A (zh) 基于区块链的交易方法、节点、电子设备、介质和系统
CN113141333B (zh) 入网设备的通信方法、设备、服务器、系统及存储介质
CN113282951A (zh) 一种应用程序的安全校验方法、装置及设备
CN115987690A (zh) 基于api的隐私计算方法、api调用端和api提供端
CN113411347B (zh) 交易报文的处理方法及处理装置
CN113098685B (zh) 一种基于云计算的安全验证方法、装置及电子设备
CN114172923A (zh) 数据传输方法、通信系统及通信装置
CN116830525A (zh) 数据传输方法、装置、系统、电子设备及可读介质
CN114124440A (zh) 安全传输方法、装置、计算机设备和存储介质
CN112862488A (zh) 数据的签名方法、装置、电子设备及计算机可读存储介质
CN110061949B (zh) 用于获取信息的方法及装置
CN111314320B (zh) 基于http的通信方法、终端、服务器和系统

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201229

RJ01 Rejection of invention patent application after publication