CN112968899B - 一种加密通信的方法与设备 - Google Patents

一种加密通信的方法与设备 Download PDF

Info

Publication number
CN112968899B
CN112968899B CN202110217012.XA CN202110217012A CN112968899B CN 112968899 B CN112968899 B CN 112968899B CN 202110217012 A CN202110217012 A CN 202110217012A CN 112968899 B CN112968899 B CN 112968899B
Authority
CN
China
Prior art keywords
key
target application
request
aes key
aes
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
CN202110217012.XA
Other languages
English (en)
Other versions
CN112968899A (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.)
Shanghai Zhangmen Science and Technology Co Ltd
Original Assignee
Shanghai Zhangmen Science and 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 Shanghai Zhangmen Science and Technology Co Ltd filed Critical Shanghai Zhangmen Science and Technology Co Ltd
Priority to CN202110217012.XA priority Critical patent/CN112968899B/zh
Publication of CN112968899A publication Critical patent/CN112968899A/zh
Application granted granted Critical
Publication of CN112968899B publication Critical patent/CN112968899B/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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请的目的是提供一种加密通信的方法,该方法包括:获取所述目标应用对应的有效的AES密钥,根据所述有效的AES密钥对网络请求的请求内容进行加密,将所述网络请求发送给网络设备,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果;接收所述网络设备返回的所述网络请求对应的加密后的响应结果;根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。

Description

一种加密通信的方法与设备
技术领域
本申请涉及通信领域,尤其涉及一种用于加密通信的技术。
背景技术
随着时代的发展,https作为安全的互联网通信协议在各个领域被广泛采用,以在通信层面保证数据基本的安全。然而,移动互联网时代的终端设备多样复杂,设备安全无法保证(如手机root,网络中间人攻击等手段门槛很低)。
发明内容
本申请的一个目的是提供一种加密通信的方法与设备。
根据本申请的一个方面,提供了一种加密通信的方法,应用于网络设备端,该方法包括:
响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥;
根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果;
接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述第一服务根据所述有效的AES密钥对所述第二服务返回的响应结果进行加密后获得的;
根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
根据本申请的另一个方面,提供了一种加密通信的方法,应用于第一用户设备端,该方法包括:
接收用户设备发送的网络请求,其中,所述用户设备已根据所述目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息;
通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理;
通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
根据本申请的一个方面,提供了一种加密通信的用户设备,该设备包括:
一一模块,用于响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥;
一二模块,用于根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果;
一三模块,用于接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述第一服务根据所述有效的AES密钥对所述第二服务返回的响应结果进行加密后获得的;
一四模块,用于根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
根据本申请的另一个方面,提供了一种加密通信的网络设备,该设备包括:
二一模块,用于接收用户设备发送的网络请求,其中,所述用户设备已根据所述目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息;
二二模块,用于通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理;
二三模块,用于通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
根据本申请的一个方面,提供了一种加密通信的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如下操作:
响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥;
根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果;
接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述第一服务根据所述有效的AES密钥对所述第二服务返回的响应结果进行加密后获得的;
根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
根据本申请的另一个方面,提供了一种加密通信的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如下操作:
接收用户设备发送的网络请求,其中,所述用户设备已根据所述目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息;
通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理;
通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
根据本申请的一个方面,提供了一种存储指令的计算机可读介质,所述指令在被执行时使得***进行如下操作:
响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥;
根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果;
接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述第一服务根据所述有效的AES密钥对所述第二服务返回的响应结果进行加密后获得的;
根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
根据本申请的另一个方面,提供了一种存储指令的计算机可读介质,所述指令在被执行时使得***进行如下操作:
接收用户设备发送的网络请求,其中,所述用户设备已根据所述目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息;
通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理;
通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
根据本申请的一个方面,提供了一种计算机程序产品,包括计算机程序,当所述计算机程序被处理器执行时,执行如下方法:
响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥;
根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果;
接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述第一服务根据所述有效的AES密钥对所述第二服务返回的响应结果进行加密后获得的;
根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
根据本申请的另一个方面,提供了一种计算机程序产品,包括计算机程序,当所述计算机程序被处理器执行时,执行如下方法:
接收用户设备发送的网络请求,其中,所述用户设备已根据所述目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息;
通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理;
通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
与现有技术相比,本申请中的用户设备根据目标应用对应的有效的AES密钥(对称密钥)对网络请求的请求内容进行加密后发送至目标应用对应的网络设备,使网络设备能够通过其中的第一服务(即网关服务)获取该有效的AES密钥,根据该有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将该解密后的请求内容发送给网络设备中的第二服务(即业务服务)进行业务处理,接收第二服务返回的响应结果,根据该有效的AES密钥对响应结果进行加密并返回给用户设备,用户设备根据该有效的AES密钥对加密后的响应结果进行解密获得解密后的响应结果,由此能够实现了通信数据的安全传输,从而为安全性要求较高的业务场景添加一层安全保障。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种应用于用户设备端的加密通信的方法流程图;
图2示出根据本申请一个实施例的一种应用于网络设备端的加密通信的方法流程图;
图3示出根据本申请一个实施例的一种加密通信的***方法流程图;
图4示出根据本申请一个实施例的一种加密通信的用户设备结构图;
图5示出根据本申请一个实施例的一种加密通信的网络设备结构图;
图6示出可被用于实施本申请中所述的各个实施例的示例性***。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作***,如Android操作***、iOS操作***等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出根据本申请一个实施例的一种应用于用户设备端的加密通信的方法流程图,该方法包括步骤S11、步骤S12、步骤S13和步骤S14。在步骤S11中,用户设备响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥;在步骤S12中,用户设备根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果;在步骤S13中,用户设备接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述第一服务根据所述有效的AES密钥对所述第二服务返回的响应结果进行加密后获得的;在步骤S14中,用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
在步骤S11中,用户设备响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥。在一些实施例中,网络请求可以是任何协议的网络请求,在此不作限制,包括但不限于HTTP(HyperText Transfer Protocol,超文本传输协议)网络请求、HTTPS(HyperText Transfer Protocol over Secure Socket Layer,安全套接层超文本传输协议)网络请求等。在一些实施例中,在发送网络请求之前,需要先从用户设备本地获取目标应用对应的有效的AES(Advanced Encryption Standard,高级加密标准)密钥,可以是从目标应用对应的内存空间中获取该有效的AES密钥,或者,也可以是从目标应用对应的私有存储空间中获取该有效的AES密钥(即只有目标应用有权限访问其对应的私有存储空间)。在一些实施例中,若从用户设备本地获取不到目标应用对应的AES密钥,或者,获取到的目标应用对应的AES密钥已失效,则需要从目标应用对应的网络设备获取目标应用对应的有效的AES密钥,并将获取到的AES密钥保存在用户设备本地。在一些实施例中,不同的目标应用对应不同的AES密钥,每个目标应用对应一个唯一的AES密钥。在一些实施例中,每个AES密钥存在对应的密钥过期时间(例如,7天),网络设备会定期更新目标应用对应的AES密钥,以提高目标应用的安全性,网络设备在目标应用对应的AES密钥失效后会生成一个新的AES密钥,并将其设置为目标应用对应的有效的AES密钥,并将其保存在网络设备本地。在一些实施例中,每个目标应用对应相同或不同的密钥过期时间,优选地,每个目标应用根据其安全需求等级对应不同的密钥过期时间,安全需求等级越高的目标应用对应越短的密钥过期时间,安全需求等级越低的目标应该对应越长的密钥过期时间。在一些实施例中,AES密钥是对称密钥,即通过某个AES密钥加密的文本信息,也必须通过该AES密钥来进行解密,相比于非对称密钥,对称密钥的加密解密效率更高,有助于提高数据通信的速度及效率。在一些实施例中,用户设备不仅从第一用户设备获取目标应用对应的有效的AES密钥,还会同时获取该AES密钥对应的密钥标识信息、该AES密钥对应的密钥过期时间等,并且,同时也需要将这些信息与该AES密钥一起保存在用户设备本地。
在步骤S12中,用户设备根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果。在一些实施例中,在获取到目标应用对应的有效的AES密钥后,通过该AES密钥对网络请求的请求内容进行加密,并在该网络请求的请求头(Header)中添加该AES密钥对应的密钥标识信息,然后将该网络请求发送给网络设备,其中,密钥标识信息在请求头中明文传输。在一些实施例中,网络设备接收到该网络请求后,网络设备中的第一服务从该网络请求的请求头中提取密钥标识信息,然后从网络设备的存储空间中获取该密钥标识信息所标识的目标应用对应的有效的AES密钥,通过该AES密钥对该网络请求的加密后的请求内容进行解密,获得解密后的请求内容,并将解密后的请求内容发送给网络设备中的第二服务,第二服务接收到该解密后的请求内容后根据具体的请求内容进行相应的业务处理,并将处理后的响应结果返回给第一服务,其中,第一服务和第二服务是网络设备中的两个独立的服务模块,第一服务即网关服务,仅处理与密钥、加密、解密等相关的服务,而不处理具体的业务服务,第二服务即业务服务,仅处理具体的业务服务。
在步骤S13中,用户设备接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述有效的AES密钥对所述第二网络设备返回的响应结果进行加密后获得的。在一些实施例中,第一服务根据目标应用对应的有效的AES密钥对第二服务返回的响应结果进行加密,获得加密后的响应结果,然后网络设备将加密后的响应结果返回给用户设备。
在步骤S14中,用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。在一些实施例中,用户设备在接收到网络设备返回的加密后的响应结果后,根据目标应用对应的有效的AES密钥,对该加密后的响应结果进行解密,获得解密后的响应结果,然后根据具体的响应结果进行相应的后续处理。
本申请中的用户设备根据目标应用对应的有效的AES密钥(对称密钥)对网络请求的请求内容进行加密后发送至目标应用对应的网络设备,使网络设备能够通过其中的第一服务(即网关服务)获取该有效的AES密钥,根据该有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将该解密后的请求内容发送给网络设备中的第二服务(即业务服务)进行业务处理,接收第二服务返回的响应结果,根据该有效的AES密钥对响应结果进行加密并返回给用户设备,用户设备根据该有效的AES密钥对加密后的响应结果进行解密获得解密后的响应结果,由此能够实现了通信数据的安全传输,从而为安全性要求较高的业务场景添加一层安全保障。
在一些实施例中,获取所述目标应用对应的有效的AES密钥,包括:检测是否存在所述目标应用对应的有效的AES密钥;若是,获取所述有效的AES密钥。在一些实施例中,可以是从目标应用对应的内存空间中获取该有效的AES密钥,或者,也可以是从目标应用对应的私有存储空间中获取该有效的AES密钥(即只有目标应用有权限访问其对应的私有存储空间),即先检测目标应用对应的内存空间或私有存储空间中是否存在目标应用对应的有效的AES密钥,若存在,则从该内存空间或该私有存储空间中获取该有效的AES密钥。
在一些实施例中,所述检测是否存在所述目标应用对应的有效的AES密钥,包括:检测是否存在所述目标应用对应的AES密钥,若是,检测所述目标应用对应的AES密钥是否有效;若是,确定存在所述目标应用对应的有效的AES密钥;其中,检测所述目标应用对应的AES密钥是否有效包括以下至少一项:检测当前时间是否达到所述目标应用对应的AES密钥对应的过期时间;若是,确定所述目标应用对应的AES密钥失效;否则,确定所述目标应用对应的AES密钥有效;检测当前时间距离所述目标应用对应的AES密钥对应的过期时间的时间间隔是否小于或等于预定的时长阈值;若是,确定所述目标应用对应的AES密钥失效;否则,确定所述目标应用对应的AES密钥有效;检测当前时间的时间戳是否达到所述目标应用对应的AES密钥对应的过期时间的时间戳与预定的比率阈值的乘积;若是,确定所述目标应用对应的AES密钥失效;否则,确定所述目标应用对应的AES密钥有效。在一些实施例中,先检测目标应用对应的内存空间或私有存储空间中是否存在目标应用对应的AES密钥或该AES密钥对应的密钥标识信息,若存在,根据该内存空间或私有存储空间中的该AES密钥对应的密钥过期时间,确定该AES密钥是否过期,若未过期,则确定该内存空间或该私有存储空间中存在目标应用对应的有效的AES密钥。在一些实施例中,确定AES密钥是否过期的方式可以是检测当前时间是否达到该AES密钥对应的密钥过期时间,即检测该AES密钥是否过期,若是则确定该AES密钥失效,若否则确定该AES密钥有效。在一些实施例中,确定AES密钥是否过期的方式还可以是检测当前时间距离该AES密钥对应的密钥过期时间的时间间隔是否小于或等于预定的时长阈值(例如,1小时),即检测该AES密钥是否即将过期,若是则确定该AES密钥失效,若否则确定该AES密钥有效。在一些实施例中,确定AES密钥是否过期的方式还可以是检测当前时间的时间戳(即从格林威治时间1970年01月01日00时00分00秒起至某个时间点的总秒数或总毫秒数)是否达到该AES密钥对应的密钥过期时间的时间戳与预定的比率阈值(例如,0.7)的乘积,即检测该AES密钥是否即将过期,若是则确定该AES密钥失效,若否则确定该AES密钥有效。
在一些实施例中,所述方法还包括步骤S15(未示出)。在步骤S15中,用户设备若不存在所述目标应用对应的有效的AES密钥,从所述网络设备获取第一AES密钥、所述第一AES密钥对应的密钥标识信息及所述第一AES密钥对应的过期时间,并将所述第一AES密钥设置为所述目标应用对应的有效的AES密钥。在一些实施例中,若目标应用对应的内存空间或私有存储空间中不所述目标应用对应的有效的AES密钥,则需要从目标应用对应的网络设备获取第一AES密钥、该第一AES密钥对应的密钥标识信息及该第一AES密钥对应的过期时间,将该第一AES密钥设置为目标应用对应的有效的AES密钥,并将这些信息保存在用户设备本地。
在一些实施例中,所述步骤S15包括步骤S151(未示出)、步骤S152(未示出)和步骤S153(未示出):在步骤S151中,用户设备若不存在所述目标应用对应的有效的AES密钥,拼接所述目标应用对应的多个参数得到所述目标应用对应的密钥请求参数,其中,所述多个参数包括随机字符串、当前时间戳、所述目标应用的应用标识信息、所述目标应用的应用包名信息、所述目标应用的签名信息中的至少两项;在步骤S152中,用户设备根据所述目标应用内置的RSA私钥对所述密钥请求参数进行加密,获得加密后的密钥请求参数,生成密钥获取请求并发送给所述网络设备,其中,所述密钥获取请求中的请求内容包括所述加密后的密钥请求参数,所述密钥获取请求中的请求头包括所述目标应用的应用标识信息,以使所述网络设备接收所述密钥获取请求,通过所述网络设备中的第一服务根据所述请求头中的所述应用标识信息获取所述目标应用对应的RSA公钥,根据所述RSA公钥对所述加密后的密钥请求参数进行解密获得解密后的密钥请求参数,解析所述解密后的密钥请求参数获得所述多个参数,对所述多个参数进行参数效验,若校验通过获得或生成第一AES密钥;在步骤S153中,用户设备接收所述网络设备返回的所述第一AES密钥对应的密钥相关信息,并将所述密钥相关信息中的第一AES密钥设置为所述目标应用对应的有效的AES密钥,其中,所述密钥相关信息包括第一AES密钥、所述第一AES密钥对应的密钥标识信息及所述第一AES密钥对应的过期时间。在一些实施例中,可以使用预定的间隔符(例如,“|”)拼接目标应用对应的多个参数得到目标应用对应的密钥请求参数,该多个参数包括随机字符串、当前时间戳、目标应用的应用标识信息、目标应用的应用包名信息、目标应用的签名信息中的至少两项,然后根据目标应用内置的RSA私钥对该密钥请求参数进行加密,获得加密后的请求密钥请求参数。在一些实施例中,RSA加密算法是一种非对称加密算法,密钥是成对存在的,即RSA公钥和RSA私钥,即通过某个RSA公钥加密的文本信息,也必须通过该RSA公钥对应的RSA私钥来解密,或者,通过某个RSA私钥加密的文本信息,也必须通过该RSA私钥对应的RSA公钥来解密。在一些实施例中,在目标应用的开发阶段,开发者需要在网络设备的服务平台登记目标应用的应用包名信息和/或应用签名信息,然后由该服务平台来分配目标应用的应用标识信息及目标应用对应的RSA公钥、RSA私钥,将应用标识信息及RSA私钥提供给开发者,将应用包名信息、应用签名信息、应用标识信息、RSA公钥保存在网络设备的存储空间中,开发者需要将该应用标识信息及该RSA私钥写在目标应用的代码文件(例如,配置文件)中,以便后续目标应用在运行时可以获取到这些信息。在一些实施例中,不同的目标应用对应不同的密钥对(RSA公钥和RSA私钥),每个目标应用对应一个唯一的密钥对。在一些实施例中,根据该加密后的密钥请求参数生成对应的密钥获取请求,该密钥获取请求的请求内容包括该加密后的密钥请求参数,并在该密钥获取请求的请求头中添加目标应用对应的应用标识信息,将该密钥获取请求发送给网络设备,然后网络设备接收到该密钥获取请求后,网络设备中的第一服务提取请求头中的应用标识信息,从网络设备的存储空间中获取该应用标识信息对应的RSA公钥,根据该RSA公钥对请求内容中的加密后的密钥请求参数进行解密,获得解密后的密钥请求参数,然后根据预定的间隔符(例如,“|”)对该密钥请求参数进行解析,获得目标应用对应的多个参数,对该多个参数进行参数效验,若校验通过,如果网络设备的存储空间中存在目标应用对应的AES密钥,则直接获取即可,若网络设备的存储空间中不存在目标应用对应的AES密钥,则需要为目标应用生成一个新的AES密钥,然后将包括该AES密钥、该AES密钥的密钥标识信息、该AES密钥的密钥过期时间在内的密钥相关信息返回给用户设备,用户设备接收到该密钥相关信息后,将该密钥相关信息中的AES密钥设置为目标应用对应的有效的AES密钥,并将该密钥相关信息保存在用户设备本地。在一些实施例中,网络设备中的第一服务对目标应用对应的多个参数进行参数效验,包括根据随机字符串及当前时间戳检查重放攻击,以及根据应用标识信息、应用包名信息、签名信息检查目标应用的合法性,只有同时满足检查重放攻击通过且检查合法性通过,目标应用才会被视为校验通过。
在一些实施例中,所述步骤S153包括:用户设备接收所述网络设备返回的加密后的密钥相关信息,其中,所述加密后的密钥相关信息是所述网络设备通过所述第一服务根据所述RSA公钥对所述密钥相关信息进行加密后获得的;根据所述RSA私钥对所述加密后的密钥相关信息进行解密,获得解密后的密钥相关信息,并将所述解密后的密钥相关信息中的第一AES密钥设置为所述目标应用对应的有效的AES密钥。在一些实施例中,网络设备中的第一服务还会根据该应用标识信息对应的RSA公钥,对该密钥相关信息进行加密,并将加密后的密钥相关信息发送给用户设备,用户设备接收到该加密后的密钥相关信息后,根据目标应用对应的RSA私钥对其进行解密,获得解密后的密钥相关信息,并将解密后的密钥相关信息中的AES密钥设置为目标应用对应的有效的AES密钥,并将该解密后的密钥相关信息保存在用户设备本地。
在一些实施例中,所述RSA私钥预先存储在所述目标应用的安全代码区域。在一些实施例中,在目标应用的开发阶段,开发者需要将网络设备的服务平台分配给目标应用的RSA私钥预先存储在目标应用的安全代码区域(例如,Android应用的so安全组件),以此来保证RSA私钥的安全性,以避免其他人通过反编译的方式获得目标应用的RSA私钥。
在一些实施例中,所述方法还包括:用户设备将所述目标应用对应的有效的AES密钥保存在所述目标应用对应的内存空间中;其中,所述方法还包括:用户设备每当所述目标应用启动运行时,重新从所述网络设备获取第二AES密钥、所述第二AES密钥对应的密钥标识信息及所述第二AES密钥对应的过期时间,并将所述第二AES密钥设置为所述目标应用对应的有效的AES密钥。在一些实施例中,可以将从网络设备获取到的目标应用对应的有效的AES密钥保存在目标应用对应的内存空间中,由于在目标应用结束运行或进程结束的时候,用户设备会清空目标应用对应的内存空间,所以每当目标应用启动运行或进程启动的时候,需要重新从网络设备获取目标应用对应的有效的AES密钥,并将其重新保存在目标应用对应的内存空间中。
在一些实施例中,所述方法还包括:用户设备将所述目标应用对应的有效的AES密钥保存在所述目标应用对应的私有存储空间中;其中,所述方法还包括:用户设备监控所述目标应用从所述私有存储空间中获取所述目标应用对应的AES密钥的行为,若发现存在异常情况,在所述私有存储空间中删除所述目标应用对应的AES密钥,其中,所述异常情况包括最近预定时间范围内的历史获取所述AES密钥行为的次数大于或等于预定的次数阈值。在一些实施例中,可以将从网络设备获取到的目标应用对应的有效的AES密钥保存在目标应用对应的私有存储空间中,即只有目标应用有权限访问其对应的私有存储空间。在一些实施例中,实时监控目标应用从该私有存储空间中获取目标应用对应的AES密钥的行为,若监控发现存在异常情况,则主动删除该私有存储空间中的目标应用对应的AES密钥。在一些实施例中,异常情况可以是最近预定时间范围(例如,100毫秒)内的历史获取目标应用对应的AES密钥行为的次数大于或等于预定的次数阈值(例如,10次),则主动删除该AES密钥,以保证目标应用的安全性。
在一些实施例中,所述将所述目标应用对应的有效的AES密钥保存在所述目标应用对应的私有存储空间中,包括:根据所述目标应用内置的第一对称密钥对所述目标应用对应的有效的AES密钥进行加密,并将加密后的有效的AES密钥保存在所述私有存储空间中,其中,所述第一对称密钥预先存储在所述目标应用的安全代码区域;其中,所述获取所述目标应用对应的有效的AES密钥,包括:从所述私有存储空间中获取所述加密后的有效的AES密钥,并根据所述第一对称密钥对所述加密后的有效的AES密钥进行解密,获得解密后的有效的AES密钥。在一些实施例中,根据目标应用内置的第一对称密钥对目标应用对应的有效的AES密钥进行加密,获得加密后的AES密钥,并将该加密后的AES密钥保存在目标应用的私有存储空间中,以保证AES密钥的安全性,后续目标应用在需要使用其对应的AES密钥的时候,先检测该私有存储空间中是否存在目标应用对应的有效的AES密钥,若存在,则从该私有存储空间中获取加密后的AES密钥,并根据目标应用内置的第一对称密钥对该加密后的AES密钥进行解密,获得解密后的AES密钥。在一些实施例中,在目标应用的开发阶段,开发者需要将该第一对称密钥预先存储在目标应用的安全代码区域(例如,Android应用的so安全组件)。
图2示出根据本申请一个实施例的一种应用于网络设备端的加密通信的方法流程图,该方法包括步骤S21、步骤S22和步骤S23。在步骤S21中,网络设备接收用户设备发送的网络请求,其中,所述用户设备已根据所述目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息;在步骤S22中,网络设备通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理;在步骤S23中,网络设备通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
在步骤S21中,网络设备接收用户设备发送的网络请求,其中,所述用户设备已根据所述目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息。在一些实施例中,网络请求可以是任何协议的网络请求,在此不作限制,包括但不限于HTTP(HyperText TransferProtocol,超文本传输协议)网络请求、HTTPS(HyperText Transfer Protocol overSecure Socket Layer,安全套接层超文本传输协议)网络请求等。在一些实施例中,用户设备在发送网络请求之前,需要先从用户设备本地获取目标应用对应的有效的AES(AdvancedEncryption Standard,高级加密标准)密钥。在一些实施例中,若用户设备从用户设备本地获取不到目标应用对应的AES密钥,或者,用户设备获取到的目标应用对应的AES密钥已失效,则用户设备需要从目标应用对应的网络设备获取目标应用对应的有效的AES密钥,并将获取到的AES密钥保存在用户设备本地。在一些实施例中,不同的目标应用对应不同的AES密钥,每个目标应用对应一个唯一的AES密钥。在一些实施例中,每个AES密钥存在对应的密钥过期时间(例如,7天),网络设备会定期更新目标应用对应的AES密钥,在目标应用对应的AES密钥失效后会生成一个新的AES密钥,并将其设置为目标应用对应的有效的AES密钥,并将其保存在网络设备本地。在一些实施例中,每个目标应用对应相同或不同的密钥过期时间,优选地,每个目标应用根据其安全需求等级对应不同的密钥过期时间,安全需求等级越高的目标应用对应越短的密钥过期时间,安全需求等级越低的目标应该对应越长的密钥过期时间。在一些实施例中,AES密钥是对称密钥,即通过某个AES密钥加密的文本信息,也必须通过该AES密钥来进行解密。在一些实施例中,用户设备在获取到目标应用对应的有效的AES密钥后,通过该AES密钥对网络请求的请求内容进行加密,并在该网络请求的请求头(Header)中添加该AES密钥对应的密钥标识信息,然后将该网络请求发送给网络设备,其中,密钥标识信息在请求头中明文传输。
在步骤S22中,网络设备通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理。在一些实施例中,接收到该网络请求后,网络设备中的第一服务从该网络请求的请求头中提取密钥标识信息,然后从网络设备的存储空间中获取该密钥标识信息所标识的目标应用对应的有效的AES密钥,通过该AES密钥对该网络请求的加密后的请求内容进行解密,获得解密后的请求内容,并将解密后的请求内容发送给网络设备中的第二服务,第二服务接收到该解密后的请求内容后根据具体的请求内容进行相应的业务处理,并将处理后的响应结果返回给第一服务,其中,第一服务和第二服务是网络设备中的两个独立的服务模块,第一服务仅处理与密钥、加密、解密等相关的服务,而不处理具体的业务服务,第二服务仅处理具体的业务服务。
在步骤S23中,网络设备通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。在一些实施例中,第一服务根据目标应用对应的有效的AES密钥对第二服务返回的响应结果进行加密,获得加密后的响应结果,将加密后的响应结果返回给用户设备。
在一些实施例中,所述方法还包括步骤S24(未示出)、步骤S25(未示出)和步骤S26(未示出)。在步骤S24中,网络设备接收所述用户设备发送的密钥获取请求,其中,所述用户设备已根据所述目标应用内置的RSA私钥对密钥获取请求中的密钥请求参数进行加密,所述密钥获取请求中的请求头包括所述目标应用的应用标识信息,所述密钥请求参数是所述用户设备拼接所述目标应用对应的多个参数得到的,所述多个参数包括随机字符串、当前时间戳、所述目标应用的应用标识信息、所述目标应用的应用包名信息、所述目标应用的签名信息中的至少两项;在步骤S25中,网络设备通过所述第一服务根据所述请求头中的所述应用标识信息获取所述目标应用对应的RSA公钥,根据所述RSA公钥对所述加密后的密钥请求参数进行解密获得解密后的密钥请求参数,解析所述解密后的密钥请求参数获得所述多个参数,对所述多个参数进行参数效验,若校验通过,获得或生成第一AES密钥;在步骤S26中,网络设备将所述第一AES密钥对应的密钥相关信息发送给所述用户设备,以使所述用户设备将所述密钥相关信息中的所述第一AES密钥设置为所述目标应用对应的有效的AES密钥,其中,所述密钥相关信息包括所述第一AES密钥、所述第一AES密钥对应的密钥标识信息及所述第一AES密钥对应的过期时间。在一些实施例中,用户设备可以使用预定的间隔符(例如,“|”)拼接目标应用对应的多个参数得到目标应用对应的密钥请求参数,该多个参数包括随机字符串、当前时间戳、目标应用的应用标识信息、目标应用的应用包名信息、目标应用的签名信息中的至少两项,然后根据目标应用内置的RSA私钥对该密钥请求参数进行加密,获得加密后的请求密钥请求参数。在一些实施例中,RSA加密算法是一种非对称加密算法,密钥是成对存在的,即RSA公钥和RSA私钥,即通过某个RSA公钥加密的文本信息,也必须通过该RSA公钥对应的RSA私钥来解密,或者,通过某个RSA私钥加密的文本信息,也必须通过该RSA私钥对应的RSA公钥来解密。在一些实施例中,在目标应用的开发阶段,开发者需要在网络设备的服务平台登记目标应用的应用包名信息和/或应用签名信息,然后由该服务平台来分配目标应用的应用标识信息及目标应用对应的RSA公钥、RSA私钥,将应用标识信息及RSA私钥提供给开发者,将应用包名信息、应用签名信息、应用标识信息、RSA公钥保存在网络设备的存储空间中,开发者需要将该应用标识信息及该RSA私钥写在目标应用的代码文件(例如,配置文件)中,以便后续目标应用在运行时可以获取到这些信息。在一些实施例中,不同的目标应用对应不同的密钥对(RSA公钥和RSA私钥),每个目标应用对应一个唯一的密钥对。在一些实施例中,用户设备根据该加密后的密钥请求参数生成对应的密钥获取请求,该密钥获取请求的请求内容包括该加密后的密钥请求参数,并在该密钥获取请求的请求头中添加目标应用对应的应用标识信息,将该密钥获取请求发送给网络设备。在一些实施例中,网络设备接收到该密钥获取请求后,网络设备中的第一服务提取请求头中的应用标识信息,从网络设备的存储空间中获取该应用标识信息对应的RSA公钥,根据该RSA公钥对请求内容中的加密后的密钥请求参数进行解密,获得解密后的密钥请求参数,然后根据预定的间隔符(例如,“|”)对该密钥请求参数进行解析,获得目标应用对应的多个参数,对该多个参数进行参数效验,若校验通过,如果网络设备的存储空间中存在目标应用对应的AES密钥,则直接获取即可,若网络设备的存储空间中不存在目标应用对应的AES密钥,则需要为目标应用生成一个新的AES密钥,然后将包括该AES密钥、该AES密钥的密钥标识信息、该AES密钥的密钥过期时间在内的密钥相关信息返回给用户设备,用户设备接收到该密钥相关信息后,将该密钥相关信息中的AES密钥设置为目标应用对应的有效的AES密钥,并将该密钥相关信息保存在用户设备本地。在一些实施例中,网络设备中的第一服务对目标应用对应的多个参数进行参数效验,包括根据随机字符串及当前时间戳检查重放攻击,以及根据应用标识信息、应用包名信息、签名信息检查目标应用的合法性,只有同时满足检查重放攻击通过且检查合法性通过,目标应用才会被视为校验通过。
在一些实施例中,所述步骤S26包括:网络设备通过所述第一服务根据所述RSA公钥对所述第一AES密钥对应的密钥相关信息进行加密,获得加密后的密钥相关信息,将所述加密后的密钥相关信息发送给所述用户设备,以使所述用户设备根据所述RSA私钥对所述加密后的密钥相关信息进行解密,获得解密后的密钥相关信息并将其中的所述第一AES密钥设置为所述目标应用对应的有效的AES密钥。在一些实施例中,网络设备中的第一服务还会根据该应用标识信息对应的RSA公钥,对该密钥相关信息进行加密,并将加密后的密钥相关信息发送给用户设备,用户设备接收到该加密后的密钥相关信息后,根据目标应用对应的RSA私钥对其进行解密,获得解密后的密钥相关信息,并将解密后的密钥相关信息中的AES密钥设置为目标应用对应的有效的AES密钥,并将该解密后的密钥相关信息保存在用户设备本地。
图3示出根据本申请一个实施例的一种加密通信的***方法流程图。
如图3所示,在步骤S31中,用户设备响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥,步骤S31和前述步骤S11相同或者相似,在此不再赘述;在步骤S32中,所述用户设备根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,步骤S32和前述步骤S12相同或者相似,在此不再赘述;在步骤S33中,所述网络设备接收所述用户设备发送的所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,步骤S33和前述步骤S21、S22相同或者相似,在此不再赘述;在步骤S34中,所述网络设备通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,步骤S34和前述步骤S23相同或者相似,在此不再赘述;在步骤S35中,所述用户设备接收所述网络设备返回的所述加密后的响应结果,根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果,步骤S35和前述步骤S13、S14相同或者相似,在此不再赘述。
图4示出根据本申请一个实施例的一种加密通信的用户设备结构图,该设备包括一一模块11、一二模块12、一三模块13和一四模块14。一一模块11,用于响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥;一二模块12,用于根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果;一三模块13,用于接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述第一服务根据所述有效的AES密钥对所述第二服务返回的响应结果进行加密后获得的;一四模块14,用于根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
一一模块11,用于响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥。在一些实施例中,网络请求可以是任何协议的网络请求,在此不作限制,包括但不限于HTTP(HyperText Transfer Protocol,超文本传输协议)网络请求、HTTPS(HyperText Transfer Protocol over Secure Socket Layer,安全套接层超文本传输协议)网络请求等。在一些实施例中,在发送网络请求之前,需要先从用户设备本地获取目标应用对应的有效的AES(Advanced Encryption Standard,高级加密标准)密钥,可以是从目标应用对应的内存空间中获取该有效的AES密钥,或者,也可以是从目标应用对应的私有存储空间中获取该有效的AES密钥(即只有目标应用有权限访问其对应的私有存储空间)。在一些实施例中,若从用户设备本地获取不到目标应用对应的AES密钥,或者,获取到的目标应用对应的AES密钥已失效,则需要从目标应用对应的网络设备获取目标应用对应的有效的AES密钥,并将获取到的AES密钥保存在用户设备本地。在一些实施例中,不同的目标应用对应不同的AES密钥,每个目标应用对应一个唯一的AES密钥。在一些实施例中,每个AES密钥存在对应的密钥过期时间(例如,7天),网络设备会定期更新目标应用对应的AES密钥,以提高目标应用的安全性,网络设备在目标应用对应的AES密钥失效后会生成一个新的AES密钥,并将其设置为目标应用对应的有效的AES密钥,并将其保存在网络设备本地。在一些实施例中,每个目标应用对应相同或不同的密钥过期时间,优选地,每个目标应用根据其安全需求等级对应不同的密钥过期时间,安全需求等级越高的目标应用对应越短的密钥过期时间,安全需求等级越低的目标应该对应越长的密钥过期时间。在一些实施例中,AES密钥是对称密钥,即通过某个AES密钥加密的文本信息,也必须通过该AES密钥来进行解密,相比于非对称密钥,对称密钥的加密解密效率更高,有助于提高数据通信的速度及效率。在一些实施例中,用户设备不仅从第一用户设备获取目标应用对应的有效的AES密钥,还会同时获取该AES密钥对应的密钥标识信息、该AES密钥对应的密钥过期时间等,并且,同时也需要将这些信息与该AES密钥一起保存在用户设备本地。
一二模块12,用于根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果。在一些实施例中,在获取到目标应用对应的有效的AES密钥后,通过该AES密钥对网络请求的请求内容进行加密,并在该网络请求的请求头(Header)中添加该AES密钥对应的密钥标识信息,然后将该网络请求发送给网络设备,其中,密钥标识信息在请求头中明文传输。在一些实施例中,网络设备接收到该网络请求后,网络设备中的第一服务从该网络请求的请求头中提取密钥标识信息,然后从网络设备的存储空间中获取该密钥标识信息所标识的目标应用对应的有效的AES密钥,通过该AES密钥对该网络请求的加密后的请求内容进行解密,获得解密后的请求内容,并将解密后的请求内容发送给网络设备中的第二服务,第二服务接收到该解密后的请求内容后根据具体的请求内容进行相应的业务处理,并将处理后的响应结果返回给第一服务,其中,第一服务和第二服务是网络设备中的两个独立的服务模块,第一服务即网关服务,仅处理与密钥、加密、解密等相关的服务,而不处理具体的业务服务,第二服务即业务服务,仅处理具体的业务服务。
一三模块13,用于接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述有效的AES密钥对所述第二网络设备返回的响应结果进行加密后获得的。在一些实施例中,第一服务根据目标应用对应的有效的AES密钥对第二服务返回的响应结果进行加密,获得加密后的响应结果,然后网络设备将加密后的响应结果返回给用户设备。
一四模块14,用于根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。在一些实施例中,用户设备在接收到网络设备返回的加密后的响应结果后,根据目标应用对应的有效的AES密钥,对该加密后的响应结果进行解密,获得解密后的响应结果,然后根据具体的响应结果进行相应的后续处理。
本申请中的用户设备根据目标应用对应的有效的AES密钥(对称密钥)对网络请求的请求内容进行加密后发送至目标应用对应的网络设备,使网络设备能够通过其中的第一服务(即网关服务)获取该有效的AES密钥,根据该有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将该解密后的请求内容发送给网络设备中的第二服务(即业务服务)进行业务处理,接收第二服务返回的响应结果,根据该有效的AES密钥对响应结果进行加密并返回给用户设备,用户设备根据该有效的AES密钥对加密后的响应结果进行解密获得解密后的响应结果,由此能够实现了通信数据的安全传输,从而为安全性要求较高的业务场景添加一层安全保障。
在一些实施例中,获取所述目标应用对应的有效的AES密钥,包括:检测是否存在所述目标应用对应的有效的AES密钥;若是,获取所述有效的AES密钥。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述检测是否存在所述目标应用对应的有效的AES密钥,包括:检测是否存在所述目标应用对应的AES密钥,若是,检测所述目标应用对应的AES密钥是否有效;若是,确定存在所述目标应用对应的有效的AES密钥;其中,检测所述目标应用对应的AES密钥是否有效包括以下至少一项:检测当前时间是否达到所述目标应用对应的AES密钥对应的过期时间;若是,确定所述目标应用对应的AES密钥失效;否则,确定所述目标应用对应的AES密钥有效;检测当前时间距离所述目标应用对应的AES密钥对应的过期时间的时间间隔是否小于或等于预定的时长阈值;若是,确定所述目标应用对应的AES密钥失效;否则,确定所述目标应用对应的AES密钥有效;检测当前时间的时间戳是否达到所述目标应用对应的AES密钥对应的过期时间的时间戳与预定的比率阈值的乘积;若是,确定所述目标应用对应的AES密钥失效;否则,确定所述目标应用对应的AES密钥有效。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还包括一五模块15(未示出)。一五模块15,用于若不存在所述目标应用对应的有效的AES密钥,从所述网络设备获取第一AES密钥、所述第一AES密钥对应的密钥标识信息及所述第一AES密钥对应的过期时间,并将所述第一AES密钥设置为所述目标应用对应的有效的AES密钥。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一五模块15包括一五一模块151(未示出)、一五二模块152(未示出)和一五三模块153(未示出):一五一模块151,用于若不存在所述目标应用对应的有效的AES密钥,拼接所述目标应用对应的多个参数得到所述目标应用对应的密钥请求参数,其中,所述多个参数包括随机字符串、当前时间戳、所述目标应用的应用标识信息、所述目标应用的应用包名信息、所述目标应用的签名信息中的至少两项;一五二模块152,用于根据所述目标应用内置的RSA私钥对所述密钥请求参数进行加密,获得加密后的密钥请求参数,生成密钥获取请求并发送给所述网络设备,其中,所述密钥获取请求中的请求内容包括所述加密后的密钥请求参数,所述密钥获取请求中的请求头包括所述目标应用的应用标识信息,以使所述网络设备接收所述密钥获取请求,通过所述网络设备中的第一服务根据所述请求头中的所述应用标识信息获取所述目标应用对应的RSA公钥,根据所述RSA公钥对所述加密后的密钥请求参数进行解密获得解密后的密钥请求参数,解析所述解密后的密钥请求参数获得所述多个参数,对所述多个参数进行参数效验,若校验通过获得或生成第一AES密钥;一五三模块153,用于接收所述网络设备返回的所述第一AES密钥对应的密钥相关信息,并将所述密钥相关信息中的第一AES密钥设置为所述目标应用对应的有效的AES密钥,其中,所述密钥相关信息包括第一AES密钥、所述第一AES密钥对应的密钥标识信息及所述第一AES密钥对应的过期时间。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一五三模块153用于:接收所述网络设备返回的加密后的密钥相关信息,其中,所述加密后的密钥相关信息是所述网络设备通过所述第一服务根据所述RSA公钥对所述密钥相关信息进行加密后获得的;根据所述RSA私钥对所述加密后的密钥相关信息进行解密,获得解密后的密钥相关信息,并将所述解密后的密钥相关信息中的第一AES密钥设置为所述目标应用对应的有效的AES密钥。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述RSA私钥预先存储在所述目标应用的安全代码区域。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:将所述目标应用对应的有效的AES密钥保存在所述目标应用对应的内存空间中;其中,所述设备还用于:每当所述目标应用启动运行时,重新从所述网络设备获取第二AES密钥、所述第二AES密钥对应的密钥标识信息及所述第二AES密钥对应的过期时间,并将所述第二AES密钥设置为所述目标应用对应的有效的AES密钥。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:将所述目标应用对应的有效的AES密钥保存在所述目标应用对应的私有存储空间中;其中,所述方法还包括:用户设备监控所述目标应用从所述私有存储空间中获取所述目标应用对应的AES密钥的行为,若发现存在异常情况,在所述私有存储空间中删除所述目标应用对应的AES密钥,其中,所述异常情况包括最近预定时间范围内的历史获取所述AES密钥行为的次数大于或等于预定的次数阈值。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述将所述目标应用对应的有效的AES密钥保存在所述目标应用对应的私有存储空间中,包括:根据所述目标应用内置的第一对称密钥对所述目标应用对应的有效的AES密钥进行加密,并将加密后的有效的AES密钥保存在所述私有存储空间中,其中,所述第一对称密钥预先存储在所述目标应用的安全代码区域;其中,所述获取所述目标应用对应的有效的AES密钥,包括:从所述私有存储空间中获取所述加密后的有效的AES密钥,并根据所述第一对称密钥对所述加密后的有效的AES密钥进行解密,获得解密后的有效的AES密钥。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
图5根据本申请一个实施例的一种加密通信的网络设备结构图,该方法包括二一模块21、二二模块22和二三模块23。二一模块21,用于接收用户设备发送的网络请求,其中,所述用户设备已根据所述目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息;二二模块22,用于通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理;二三模块23,用于通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。
二一模块21,用于接收用户设备发送的网络请求,其中,所述用户设备已根据所述目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息。在一些实施例中,网络请求可以是任何协议的网络请求,在此不作限制,包括但不限于HTTP(HyperText Transfer Protocol,超文本传输协议)网络请求、HTTPS(HyperText Transfer Protocol over Secure SocketLayer,安全套接层超文本传输协议)网络请求等。在一些实施例中,用户设备在发送网络请求之前,需要先从用户设备本地获取目标应用对应的有效的AES(Advanced EncryptionStandard,高级加密标准)密钥。在一些实施例中,若用户设备从用户设备本地获取不到目标应用对应的AES密钥,或者,用户设备获取到的目标应用对应的AES密钥已失效,则用户设备需要从目标应用对应的网络设备获取目标应用对应的有效的AES密钥,并将获取到的AES密钥保存在用户设备本地。在一些实施例中,不同的目标应用对应不同的AES密钥,每个目标应用对应一个唯一的AES密钥。在一些实施例中,每个AES密钥存在对应的密钥过期时间(例如,7天),网络设备会定期更新目标应用对应的AES密钥,在目标应用对应的AES密钥失效后会生成一个新的AES密钥,并将其设置为目标应用对应的有效的AES密钥,并将其保存在网络设备本地。在一些实施例中,每个目标应用对应相同或不同的密钥过期时间,优选地,每个目标应用根据其安全需求等级对应不同的密钥过期时间,安全需求等级越高的目标应用对应越短的密钥过期时间,安全需求等级越低的目标应该对应越长的密钥过期时间。在一些实施例中,AES密钥是对称密钥,即通过某个AES密钥加密的文本信息,也必须通过该AES密钥来进行解密。在一些实施例中,用户设备在获取到目标应用对应的有效的AES密钥后,通过该AES密钥对网络请求的请求内容进行加密,并在该网络请求的请求头(Header)中添加该AES密钥对应的密钥标识信息,然后将该网络请求发送给网络设备,其中,密钥标识信息在请求头中明文传输。
二二模块22,用于通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理。在一些实施例中,接收到该网络请求后,网络设备中的第一服务从该网络请求的请求头中提取密钥标识信息,然后从网络设备的存储空间中获取该密钥标识信息所标识的目标应用对应的有效的AES密钥,通过该AES密钥对该网络请求的加密后的请求内容进行解密,获得解密后的请求内容,并将解密后的请求内容发送给网络设备中的第二服务,第二服务接收到该解密后的请求内容后根据具体的请求内容进行相应的业务处理,并将处理后的响应结果返回给第一服务,其中,第一服务和第二服务是网络设备中的两个独立的服务模块,第一服务仅处理与密钥、加密、解密等相关的服务,而不处理具体的业务服务,第二服务仅处理具体的业务服务。
二三模块23,用于通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果。在一些实施例中,第一服务根据目标应用对应的有效的AES密钥对第二服务返回的响应结果进行加密,获得加密后的响应结果,将加密后的响应结果返回给用户设备。
在一些实施例中,所述设备还包括二四模块24(未示出)、二五模块25(未示出)和二六模块26(未示出)。二四模块24,用于接收所述用户设备发送的密钥获取请求,其中,所述用户设备已根据所述目标应用内置的RSA私钥对密钥获取请求中的密钥请求参数进行加密,所述密钥获取请求中的请求头包括所述目标应用的应用标识信息,所述密钥请求参数是所述用户设备拼接所述目标应用对应的多个参数得到的,所述多个参数包括随机字符串、当前时间戳、所述目标应用的应用标识信息、所述目标应用的应用包名信息、所述目标应用的签名信息中的至少两项;二五模块25,用于通过所述第一服务根据所述请求头中的所述应用标识信息获取所述目标应用对应的RSA公钥,根据所述RSA公钥对所述加密后的密钥请求参数进行解密获得解密后的密钥请求参数,解析所述解密后的密钥请求参数获得所述多个参数,对所述多个参数进行参数效验,若校验通过,获得或生成第一AES密钥;二六模块26,用于将所述第一AES密钥对应的密钥相关信息发送给所述用户设备,以使所述用户设备将所述密钥相关信息中的所述第一AES密钥设置为所述目标应用对应的有效的AES密钥,其中,所述密钥相关信息包括所述第一AES密钥、所述第一AES密钥对应的密钥标识信息及所述第一AES密钥对应的过期时间。在此,相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述二六模块26用于:通过所述第一服务根据所述RSA公钥对所述第一AES密钥对应的密钥相关信息进行加密,获得加密后的密钥相关信息,将所述加密后的密钥相关信息发送给所述用户设备,以使所述用户设备根据所述RSA私钥对所述加密后的密钥相关信息进行解密,获得解密后的密钥相关信息并将其中的所述第一AES密钥设置为所述目标应用对应的有效的AES密钥。在此,相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
图6示出了可被用于实施本申请中所述的各个实施例的示例性***。
如图6所示在一些实施例中,***300能够作为各所述实施例中的任意一个设备。在一些实施例中,***300可包括具有指令的一个或多个计算机可读介质(例如,***存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,***控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与***控制模块310通信的任意适当的设备或组件提供任意适当的接口。
***控制模块310可包括存储器控制器模块330,以向***存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
***存储器315可被用于例如为***300加载和存储数据和/或指令。对于一个实施例,***存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,***存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,***控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为***300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为***300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。***300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器(例你如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑封装在一起以形成***级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上***(SoC)。
在各个实施例中,***300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、持有计算设备、平板电脑、上网本等)。在各个实施例中,***300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,***300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个***传送到另一***的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机***使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (13)

1.一种加密通信的方法,应用于用户设备端,其中,所述方法包括:
响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥;
根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息,以使所述网络设备接收所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理,并接收所述第二服务返回的响应结果;
接收所述网络设备返回的所述网络请求对应的加密后的响应结果,其中,所述加密后的响应结果是所述网络设备通过所述第一服务根据所述有效的AES密钥对所述第二服务返回的响应结果进行加密后获得的;
根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果;
其中,所述方法还包括:
若不存在所述目标应用对应的有效的AES密钥,拼接所述目标应用对应的多个参数得到所述目标应用对应的密钥请求参数,其中,所述多个参数包括随机字符串、当前时间戳、所述目标应用的应用标识信息、所述目标应用的应用包名信息、所述目标应用的签名信息中的至少两项;
根据所述目标应用内置的RSA私钥对所述密钥请求参数进行加密,获得加密后的密钥请求参数,生成密钥获取请求并发送给所述网络设备,其中,所述密钥获取请求中的请求内容包括所述加密后的密钥请求参数,所述密钥获取请求中的请求头包括所述目标应用的应用标识信息,以使所述网络设备接收所述密钥获取请求,通过所述网络设备中的第一服务根据所述请求头中的所述应用标识信息获取所述目标应用对应的RSA公钥,根据所述RSA公钥对所述加密后的密钥请求参数进行解密获得解密后的密钥请求参数,解析所述解密后的密钥请求参数获得所述多个参数,对所述多个参数进行参数效验,若校验通过获得或生成第一AES密钥;
接收所述网络设备返回的所述第一AES密钥对应的密钥相关信息,并将所述密钥相关信息中的第一AES密钥设置为所述目标应用对应的有效的AES密钥,其中,所述密钥相关信息包括第一AES密钥、所述第一AES密钥对应的密钥标识信息及所述第一AES密钥对应的过期时间。
2.根据权利要求1所述的方法,其中,获取所述目标应用对应的有效的AES密钥,包括:
检测是否存在所述目标应用对应的有效的AES密钥;
若是,获取所述有效的AES密钥。
3.根据权利要求2所述的方法,其中,所述检测是否存在所述目标应用对应的有效的AES密钥,包括:
检测是否存在所述目标应用对应的AES密钥,若是,检测所述目标应用对应的AES密钥是否有效;若是,确定存在所述目标应用对应的有效的AES密钥;
其中,检测所述目标应用对应的AES密钥是否有效包括以下至少一项:
检测当前时间是否达到所述目标应用对应的AES密钥对应的过期时间;若是,确定所述目标应用对应的AES密钥失效;否则,确定所述目标应用对应的AES密钥有效;
检测当前时间距离所述目标应用对应的AES密钥对应的过期时间的时间间隔是否小于或等于预定的时长阈值;若是,确定所述目标应用对应的AES密钥失效;否则,确定所述目标应用对应的AES密钥有效;
检测当前时间的时间戳是否达到所述目标应用对应的AES密钥对应的过期时间的时间戳与预定的比率阈值的乘积;若是,确定所述目标应用对应的AES密钥失效;否则,确定所述目标应用对应的AES密钥有效。
4.根据权利要求1所述的方法,其中,所述接收所述网络设备返回的所述第一AES密钥对应的密钥相关信息,并将所述密钥相关信息中的第一AES密钥设置为所述目标应用对应的有效的AES密钥,包括:
接收所述网络设备返回的加密后的密钥相关信息,其中,所述加密后的密钥相关信息是所述网络设备通过所述第一服务根据所述RSA公钥对所述密钥相关信息进行加密后获得的;
根据所述RSA私钥对所述加密后的密钥相关信息进行解密,获得解密后的密钥相关信息,并将所述解密后的密钥相关信息中的第一AES密钥设置为所述目标应用对应的有效的AES密钥。
5.根据权利要求1或4所述的方法,其中,所述RSA私钥预先存储在所述目标应用的安全代码区域。
6.根据权利要求1或4所述的方法,其中,所述方法还包括:
将所述目标应用对应的有效的AES密钥保存在所述目标应用对应的内存空间中;
其中,所述方法还包括:
每当所述目标应用启动运行时,重新从所述网络设备获取第二AES密钥、所述第二AES密钥对应的密钥标识信息及所述第二AES密钥对应的过期时间,并将所述第二AES密钥设置为所述目标应用对应的有效的AES密钥。
7.根据权利要求1或4所述的方法,其中,所述方法还包括:
将所述目标应用对应的有效的AES密钥保存在所述目标应用对应的私有存储空间中;
其中,所述方法还包括:
监控所述目标应用从所述私有存储空间中获取所述目标应用对应的AES密钥的行为,若发现存在异常情况,在所述私有存储空间中删除所述目标应用对应的AES密钥,其中,所述异常情况包括最近预定时间范围内的历史获取所述AES密钥行为的次数大于或等于预定的次数阈值。
8.根据权利要求7所述的方法,其中,所述将所述目标应用对应的有效的AES密钥保存在所述目标应用对应的私有存储空间中,包括:
根据所述目标应用内置的第一对称密钥对所述目标应用对应的有效的AES密钥进行加密,并将加密后的有效的AES密钥保存在所述私有存储空间中,其中,所述第一对称密钥预先存储在所述目标应用的安全代码区域;
其中,所述获取所述目标应用对应的有效的AES密钥,包括:
从所述私有存储空间中获取所述加密后的有效的AES密钥,并根据所述第一对称密钥对所述加密后的有效的AES密钥进行解密,获得解密后的有效的AES密钥。
9.一种加密通信的方法,应用于网络设备端,其中,所述方法包括:
接收用户设备发送的网络请求,其中,所述用户设备已根据目标应用对应的有效的AES密钥对所述网络请求的请求内容进行加密,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息;
通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理;
通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备,以使所述用户设备根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果;
其中,所述方法还包括:
接收所述用户设备发送的密钥获取请求,其中,所述用户设备已根据所述目标应用内置的RSA私钥对密钥获取请求中的密钥请求参数进行加密,所述密钥获取请求中的请求头包括所述目标应用的应用标识信息,所述密钥请求参数是所述用户设备拼接所述目标应用对应的多个参数得到的,所述多个参数包括随机字符串、当前时间戳、所述目标应用的应用标识信息、所述目标应用的应用包名信息、所述目标应用的签名信息中的至少两项;
通过所述第一服务根据所述请求头中的所述应用标识信息获取所述目标应用对应的RSA公钥,根据所述RSA公钥对所述加密后的密钥请求参数进行解密获得解密后的密钥请求参数,解析所述解密后的密钥请求参数获得所述多个参数,对所述多个参数进行参数效验,若校验通过,获得或生成第一AES密钥;
将所述第一AES密钥对应的密钥相关信息发送给所述用户设备,以使所述用户设备将所述密钥相关信息中的所述第一AES密钥设置为所述目标应用对应的有效的AES密钥,其中,所述密钥相关信息包括所述第一AES密钥、所述第一AES密钥对应的密钥标识信息及所述第一AES密钥对应的过期时间。
10.根据权利要求9所述的方法,其中,所述将所述第一AES密钥对应的密钥相关信息发送给所述用户设备,以使所述用户设备将所述密钥相关信息中的所述第一AES密钥设置为所述目标应用对应的有效的AES密钥,包括:
通过所述第一服务根据所述RSA公钥对所述第一AES密钥对应的密钥相关信息进行加密,获得加密后的密钥相关信息,将所述加密后的密钥相关信息发送给所述用户设备,以使所述用户设备根据所述RSA私钥对所述加密后的密钥相关信息进行解密,获得解密后的密钥相关信息并将其中的所述第一AES密钥设置为所述目标应用对应的有效的AES密钥。
11.一种加密通信的方法,其中,所述方法包括:
用户设备响应于目标应用中的网络请求触发事件,获取所述目标应用对应的有效的AES密钥;
所述用户设备根据所述有效的AES密钥对所述网络请求的请求内容进行加密,将所述网络请求发送给网络设备,其中,所述网络请求的请求头包括所述有效的AES密钥对应的密钥标识信息;
所述网络设备接收所述用户设备发送的所述网络请求,通过所述网络设备中的第一服务根据所述请求头中的所述密钥标识信息获取所述有效的AES密钥,根据所述有效的AES密钥对加密后的请求内容进行解密获得解密后的请求内容,将所述解密后的请求内容发送给所述网络设备中的第二服务进行业务处理;
所述网络设备通过所述第一服务接收所述第二服务返回的响应结果,根据所述有效的AES密钥对所述响应结果进行加密,获得加密后的响应结果,并将所述加密后的响应结果返回给所述用户设备;
所述用户设备接收所述网络设备返回的所述加密后的响应结果,根据所述有效的AES密钥对所述加密后的响应结果进行解密,获得解密后的响应结果;
其中,所述方法还包括:
若不存在所述目标应用对应的有效的AES密钥,所述用户设备拼接所述目标应用对应的多个参数得到所述目标应用对应的密钥请求参数,其中,所述多个参数包括随机字符串、当前时间戳、所述目标应用的应用标识信息、所述目标应用的应用包名信息、所述目标应用的签名信息中的至少两项;
所述用户设备根据所述目标应用内置的RSA私钥对所述密钥请求参数进行加密,获得加密后的密钥请求参数,生成密钥获取请求并发送给所述网络设备,其中,所述密钥获取请求中的请求内容包括所述加密后的密钥请求参数,所述密钥获取请求中的请求头包括所述目标应用的应用标识信息;
所述网络设备接收所述用户设备发送的所述密钥获取请求,通过所述第一服务根据所述请求头中的所述应用标识信息获取所述目标应用对应的RSA公钥,根据所述RSA公钥对所述加密后的密钥请求参数进行解密获得解密后的密钥请求参数,解析所述解密后的密钥请求参数获得所述多个参数,对所述多个参数进行参数效验,若校验通过,获得或生成第一AES密钥,将所述第一AES密钥对应的密钥相关信息发送给所述用户设备;
所述用户设备接收所述网络设备返回的所述密钥相关信息,并将所述密钥相关信息中的第一AES密钥设置为所述目标应用对应的有效的AES密钥,其中,所述密钥相关信息包括第一AES密钥、所述第一AES密钥对应的密钥标识信息及所述第一AES密钥对应的过期时间。
12.一种加密通信的设备,其特征在于,所述设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至10中任一项所述的方法。
13.一种存储指令的计算机可读介质,所述指令在被计算机执行时使得所述计算机进行如权利要求1至10中任一项所述方法的操作。
CN202110217012.XA 2021-02-26 2021-02-26 一种加密通信的方法与设备 Active CN112968899B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110217012.XA CN112968899B (zh) 2021-02-26 2021-02-26 一种加密通信的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110217012.XA CN112968899B (zh) 2021-02-26 2021-02-26 一种加密通信的方法与设备

Publications (2)

Publication Number Publication Date
CN112968899A CN112968899A (zh) 2021-06-15
CN112968899B true CN112968899B (zh) 2022-11-08

Family

ID=76275973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110217012.XA Active CN112968899B (zh) 2021-02-26 2021-02-26 一种加密通信的方法与设备

Country Status (1)

Country Link
CN (1) CN112968899B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507459B (zh) * 2021-06-28 2022-12-02 上海浦东发展银行股份有限公司 一种移动端app安全交互***及其方法
CN114244563A (zh) * 2021-11-15 2022-03-25 珠海许继芝电网自动化有限公司 基于aes加密的前后端跨语言通讯方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788995A (zh) * 2016-12-07 2017-05-31 武汉斗鱼网络科技有限公司 文件加密方法及装置
CN111262889A (zh) * 2020-05-06 2020-06-09 腾讯科技(深圳)有限公司 一种云服务的权限认证方法、装置、设备及介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310464C (zh) * 2002-09-24 2007-04-11 黎明网络有限公司 一种基于公开密钥体系的数据安全传输的方法及其装置
CN104821944A (zh) * 2015-04-28 2015-08-05 广东小天才科技有限公司 一种混合加密的网络数据安全方法及***
CN105516083A (zh) * 2015-11-25 2016-04-20 上海华为技术有限公司 一种数据安全管理的方法、装置及***
CN105491067B (zh) * 2016-01-08 2017-10-24 腾讯科技(深圳)有限公司 基于密钥的业务安全性验证方法及装置
CN105915342A (zh) * 2016-07-01 2016-08-31 广州爱九游信息技术有限公司 一种应用程序通信处理***、设备、装置及方法
CN107666383B (zh) * 2016-07-29 2021-06-18 阿里巴巴集团控股有限公司 基于https协议的报文处理方法以及装置
CN108521393A (zh) * 2018-01-31 2018-09-11 世纪龙信息网络有限责任公司 数据交互方法、装置、***、计算机设备和存储介质
CN109657492B (zh) * 2018-12-12 2021-01-15 泰康保险集团股份有限公司 数据库管理方法、介质及电子设备
CN110049032A (zh) * 2019-04-09 2019-07-23 有光创新(北京)信息技术有限公司 一种双向认证的数据内容加密方法及装置
CN111193704B (zh) * 2019-10-28 2021-07-23 腾讯科技(深圳)有限公司 Http通信方法、装置及可读存储介质
CN111182050B (zh) * 2019-12-26 2022-10-11 上海掌门科技有限公司 一种实现应用与服务器间通信的方法与设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788995A (zh) * 2016-12-07 2017-05-31 武汉斗鱼网络科技有限公司 文件加密方法及装置
CN111262889A (zh) * 2020-05-06 2020-06-09 腾讯科技(深圳)有限公司 一种云服务的权限认证方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112968899A (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
US11509485B2 (en) Identity authentication method and system, and computing device
Kalra et al. Secure authentication scheme for IoT and cloud servers
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及***
JP6641363B2 (ja) 安全なネットワーク通信用の方法及び機器
US10277569B1 (en) Cross-region cache of regional sessions
US20180124023A1 (en) Method, system and apparatus for storing website private key plaintext
CN112968899B (zh) 一种加密通信的方法与设备
KR102013983B1 (ko) 애플리케이션 무결성 인증 방법 및 인증 서버
CN104199657A (zh) 开放平台的调用方法及装置
WO2021137769A1 (en) Method and apparatus for sending and verifying request, and device thereof
CN114629639A (zh) 基于可信执行环境的密钥管理方法、装置和电子设备
CN113014670A (zh) 一种用于推送订单信息的方法、设备、介质及程序产品
CN111654503A (zh) 一种远程管控方法、装置、设备及存储介质
CN113010858B (zh) 一种用于在用户设备中登录应用的方法与设备
CN111182050B (zh) 一种实现应用与服务器间通信的方法与设备
CN113378195A (zh) 一种进行加密通信的方法、设备、介质及程序产品
CN110472429A (zh) 数据校验方法、装置、电子设备及存储介质
Zhang et al. TEO: Ephemeral ownership for iot devices to provide granular data control
KR101836211B1 (ko) 전자 기기 인증 매니저 장치
CN113794706A (zh) 数据的处理方法、装置、电子设备及可读存储介质
WO2016195708A1 (en) Remote attestation of a network endpoint device
US10262161B1 (en) Secure execution and transformation techniques for computing executables
CN109922056B (zh) 数据安全处理方法及其终端、服务器
KR20180090060A (ko) 사물 인터넷 보안 모듈
CN113472737B (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