CN116599772B - 一种数据处理方法及相关设备 - Google Patents

一种数据处理方法及相关设备 Download PDF

Info

Publication number
CN116599772B
CN116599772B CN202310864633.6A CN202310864633A CN116599772B CN 116599772 B CN116599772 B CN 116599772B CN 202310864633 A CN202310864633 A CN 202310864633A CN 116599772 B CN116599772 B CN 116599772B
Authority
CN
China
Prior art keywords
packet
key
temporary key
request
data
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
CN202310864633.6A
Other languages
English (en)
Other versions
CN116599772A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310864633.6A priority Critical patent/CN116599772B/zh
Publication of CN116599772A publication Critical patent/CN116599772A/zh
Application granted granted Critical
Publication of CN116599772B publication Critical patent/CN116599772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/40Network security protocols

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种数据处理方法及相关设备,其中方法包括:当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥;按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;根据加密临时密钥和密文生成网络请求包,并向服务器发送网络请求包,网络请求包用于请求服务器响应业务请求。本申请实施例可以保证数据传输过程中的数据安全性,且能够节省服务器的资源开销。

Description

一种数据处理方法及相关设备
技术领域
本申请涉及互联网技术领域,具体涉及一种数据处理方法及相关设备,尤其涉及一种数据处理方法、一种数据处理装置、一种计算机设备、一种计算机可读存储介质及一种计算机程序产品。
背景技术
目前,为了保证数据在传输过程中不被窃取,在进行数据传输时,可以对所要传输的数据进行加密处理,然后再将加密之后的数据进行传输。现有的数据加密方式主要是:通信双方(如终端设备中运行的应用程序和服务器)先建立加密信道,然后通过该加密信道交换密钥,在应用程序和服务器得到相同密钥后,再使用该密钥对数据进行加密,并将加密的数据发送至服务器。然而这个过程服务器需要维护协商好的密钥与应用程序的对应关系,会造成服务器资源开销较高。因此,如何在数据传输过程中能够保证数据安全性的同时,节省服务器资源开销成为研究热点。
发明内容
本申请实施例提供一种数据处理方法及相关设备,可以保证数据传输过程中的数据安全性,且能够节省服务器的资源开销。
一方面,本申请实施例提供了一种数据处理方法,该方法包括:
当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;
按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥;
按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;
根据加密临时密钥和密文生成网络请求包,并向服务器发送网络请求包,网络请求包用于请求服务器响应业务请求。
一方面,本申请实施例提供了一种数据处理方法,该方法包括:
接收应用程序发送的网络请求包;网络请求包包括加密临时密钥和密文;
按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥;
按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据;
基于请求数据,对业务请求进行响应处理。
一方面,本申请实施例提供了一种数据处理装置,该装置包括:
处理单元,用于当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;
处理单元,还用于按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥;
处理单元,还用于按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;
处理单元,还用于根据加密临时密钥和密文生成网络请求包;
发送单元,用于向服务器发送网络请求包,网络请求包用于请求服务器响应业务请求。
其中,随机分配是指:一次业务请求分配一个临时密钥,不同业务请求所分配的临时密钥不同;
服务端证书公钥设置于应用程序的源代码中;服务端证书公钥对应的服务端证书私钥存储于服务器中;
第一加密算法包括非对称加密算法,非对称加密算法包括以下至少一种:椭圆曲线公钥密码算法、基于大数因子分解问题的非对称加密算法、数字签名算法;
第二加密算法包括对称加密算法,对称加密算法包括以下至少一种:使用密钥加密的块算法、分组密码算法、三重数据加密算法、高级加密标准算法。
其中,临时密钥包括第一子密钥;处理单元,具体用于:
从临时密钥中获取第一子密钥;
按照第二加密算法使用第一子密钥对业务请求的请求数据进行加密处理,得到密文。
其中,临时密钥还包括第二子密钥;处理单元,具体用于:
采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码;
对加密临时密钥、密文和消息认证码进行封装处理,形成网络请求包。
其中,处理单元,具体用于:
将加密临时密钥确定为网络请求包的包头,将密文确定为网络请求包的包体,将消息认证码确定为网络请求包的包尾;
对包头、包体和包尾进行拼接处理,形成网络请求包。
其中,处理单元,还用于:
获取请求数据的优先级;
获取与请求数据的优先级相匹配的密钥长度;
按照相匹配的密钥长度,为业务请求随机分配临时密钥;
其中,请求数据的优先级越高,表示请求数据的重要度越高,则相匹配的密钥长度越长。
其中,处理单元,还用于:
获取请求数据的优先级及临时密钥的密钥长度;
根据请求数据的优先级及临时密钥的密钥长度中的一种或两种,确定第二加密算法;
其中,请求数据的优先级越高,第二加密算法的复杂度越高;临时密钥的密钥长度越长,第二加密算法的复杂度越高。
其中,应用程序是免安装的应用程序;应用程序运行于安全沙箱中,方法运行于安全沙箱中;处理单元,还用于:
在安全沙箱中对网络请求包进行校验;
若对网络请求包校验成功,则执行向服务器发送网络请求包的步骤。
其中,校验包括以下任一项:校验服务端证书公钥的合法性;校验网络请求包的规范性。
一方面,本申清实施例提供一种数据处理装置,该装置包括:
接收单元,用于接收应用程序发送的网络请求包;网络请求包包括加密临时密钥和密文;
处理单元,用于按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥;
处理单元,还用于按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据;
处理单元,还用于基于请求数据,对业务请求进行响应处理。
其中,临时密钥包括第一子密钥和第二子密钥;第一子密钥用于对密文进行解密处理;网络请求包还包括消息认证码;处理单元,还用于:
采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码;
将运算得到的消息认证码与网络请求包中的消息认证码进行一致性比对;
若一致性比对通过,则执行按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据的步骤。
其中,处理单元,具体用于:
基于请求数据,确定业务请求所对应的业务处理设备;
将业务请求转发至业务处理设备执行业务处理。
一方面,本申请实施例提供一种计算机设备,该计算机设备包括:
处理器,适用于执行计算机程序;
计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现如上述数据处理方法。
一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器加载并执行如上述数据处理方法。
一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现上述数据处理方法。
在本申请实施例中,当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;然后按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥,并按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;根据加密临时密钥和密文生成网络请求包,并向服务器发送网络请求包,该网络请求包用于请求服务器响应业务请求。通过上述方案,在进行数据传输之前,可以对临时密钥以及业务请求的请求数据分别采用不同的加密算法进行加密处理,从而提升在数据传输过程中的数据安全性;此外,将临时密钥一并传输至服务器,服务器端无需维护临时密钥的状态,在一定程度上可以减少服务器的数据处理量,节省服务器的资源开销。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请一个示例性实施例提供的一种数据处理***的架构图;
图1b为本申请一个示例性实施例提供的一种加密流程示意图;
图1c为本申请一个示例性实施例提供的一种解密流程示意图;
图2为本申请一个示例性实施例提供的一种数据处理方法的流程示意图;
图3为本申请另一个示例性实施例提供的一种数据处理方法的流程示意图;
图4为本申请再一个示例性实施例提供的一种数据处理方法的流程示意图;
图5为本申请又一个示例性实施例提供的一种数据处理方法的流程示意图;
图6为本申请一个示例性实施例提供的一种数据处理装置的结构示意图;
图7为本申请另一个示例性实施例提供的一种数据处理装置的结构示意图;
图8为本申请一个示例性实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,对本申请实施例涉及到的相关技术术语进行阐述。
一、应用程序
应用程序可以是指与服务器相对应的,为对象提供本地服务的APP(Application,应用程序);在一种实现中,应用程序可以是指安装并运行于终端设备中的APP,应用程序可包括但不限于:社交应用程序、游戏应用程序、支付应用程序等等。在另一种实现中,该应用程序可以是指一种免安装的应用程序(如小程序)。再一种实现方式中,该应用程序可以为对象提供本地服务的网站,例如为对象提供社交会话功能的社交网站、为客户提供游戏服务的游戏网站等等。
二、非对称加密算法
非对称加密算法是指加密和解密过程中使用不同密钥的一种算法,示意性的,假设通信双方(如终端设备和服务器)交换数据时,终端设备和服务器首先交换各自公钥,然后在交换数据时,终端设备可以使用服务器的公钥(即服务端证书公钥)对所要交换的数据进行加密处理,服务器则在接收到加密后的数据可以使用自己的私钥(即服务端证书私钥)进行解密。因此,非对称加密算法也称为公钥加密算法。
其中,非对称加密算法可以包括但不限于:椭圆曲线公钥密码算法(SM2,一种国密算法)、基于大数因子分解问题的非对称加密算法(RSA,Ron Rivest、Adi Shamir和LeonardAdleman的姓氏开头字母)、数字签名算法(DSA,Digital Signature Algorithm)。
应当理解的是,非对称加密算法均可以对数据进行加密,从而保证数据的安全,但不同的非对称加密算法具有不同的特点,例如,RSA加密强度较弱,但加解密速度快;SM2加密强度(即加密复杂度)较强,但加解密速度慢。
三、对称加密算法
对称加密算法是指通过同一密钥进行加密和解密的一种算法。示意性的,假设通信双方交换(传输)数据,通信双方中的一方可以使用密钥A对数据进行加密处理,那么另一方同样使用密钥A对加密后的数据进行解密处理。
其中,对称加密算法可以包括但不限于:使用密钥加密的块算法(DES,DataEncryption Standard)、分组密码算法(SM4,一种国密算法)、三重数据加密算法(DES3)、高级加密标准算法(AES,dvanced Encryption Standard)。
应当理解的是,对称加密算法均可以对数据进行加密,从而保证数据的安全,但不同的对称加密算法具有不同的特点,例如,DES的密钥长度较短,加密速度较快,但加密强度较弱;DES3 的密钥长度较长,加密速度较慢,但加密强度较强。AES的密钥长度较长,加密速度较快,加密强度也较高。
四、消息认证码
消息认证码用于校验数据的完整性,该消息认证码是指通过一个密钥,对数据进行摘要运算得到的。通过比对运算得到的消息认证码与数据中的消息认证码是否一致,可以确定数据是否完整。当运算得到的消息认证码与数据中的消息认证码不一致时,确定数据存在被篡改的风险;当运算得到的消息认证码与数据中的消息认证码一致时,可以确定数据完整,未被篡改。
五、安全沙箱
安全沙箱是一种用于保护对象隐私和***安全的机制;安全沙箱可以将应用程序限制在一个封闭的运行环境中,防止其对***和其他应用程序造成潜在的威胁。此外,安全沙箱可以提供一些虚拟的硬件和软件资源,如文件***、网络、操作***等,使应用程序可以在这个虚拟环境中运行,而不会对计算机***产生任何不良影响。如果应用程序试图访问沙箱之外的资源或执行危险操作,沙箱会拦截这些请求并采取相应的安全措施。
在本申请实施例中,在安全沙箱中可以对数据进行加密处理,以保证数据加密过程中的安全性;此外,在安全沙箱中还可对待发送的网络请求包进行校验,以保证所发送的网络请求包中的数据是被加密过的数据。
六、临时密钥
临时密钥是指在一次业务请求内有效的密钥,也就是说,临时密钥具备有效时间,该有效时间可以是一次业务请求所对应的时间;当该业务请求被响应之后,该临时密钥就会失效。而针对下一个业务请求,会分配新的临时密钥。
在本申请实施例中,临时密钥可以包括第一子密钥和第二子密钥,第一子密钥可以用于对业务请求的请求数据进行加密,该第一子密钥也可以称为对称密钥;第二子密钥可以用于生成校验数据完整性的消息认证码,该第二子密钥也可称为消息认证密钥。
下面对常见的数据加密算法进行简单介绍。
在数据传输过程中,常见的数据加密算法包括但不限于:非对称加密算法、基于集成密钥加密方案的混合加密方案,基于密钥交换协议的加密方案等等。接下来对使用上述数据加密算法进行数据加密的过程进行相关阐述:
(1)非对称加密算法:在数据传输过程中,可以直接使用非对称加密算法对数据进行加密处理。具体的,以非对称加密算法为国密算法所定义的SM2算法为例,使用非对称加密算法对数据进行加密处理可以包括:首先通过椭圆曲线以及公钥生成一个临时的椭圆曲线点,然后通过密钥派生函数、该椭圆曲线点,以及数据的长度生成派生密钥,并将派生密钥与数据直接进行异或处理,得到密文。
(2)混合加密方案包括:集成加密方案(IES,Integerated Encryption Scheme)及其椭圆曲线变体(ECIES,elliptic curve integrate encrypt scheme)方案:在数据传输过程中,首先生成临时的非对称公钥和密钥,然后通过密钥协商函数(KA,Key Agreement)对临时的非对称公钥和密钥进行处理,生成主密钥;接着,通过密钥派生函数对主密钥进行派生处理,生成对称密钥和消息认证密钥,最后通过对称密钥对数据进行加密处理,得到密文,并通过消息认证密钥对密文进行摘要运算得到消息认证码。
(3)基于密钥交换协议的加密方案:密钥交换协议(AKE,Authenticated KeyExchange)通过一系列的密钥交换过程协商临时密钥,且在协商临时密钥的过程中,会通过结合消息摘要算法和密钥协商算法,生成对称密钥。然后在生成对称密钥之后,通信双方(如应用程序和服务器)在建立加密信道时,应用程序和服务器先完成对称密钥交换,即应用程序可以向服务器发送对称密钥,服务器可以接收应用程序发送的对称密钥,最终,应用程序与服务器会得到相同的对称密钥;然后应用程序可以使用对称密钥对数据进行加密处理,得到密文,并向服务器发送密文。
上述数据加密算法尽管能够提升对数据传输过程中的数据安全性,但仍存在如下问题:
①针对非对称加密算法来说,每次进行数据加密时,都需要使用非对称加密算法计算椭圆曲线点,且非对称加密算法的性能较对称加密算法的性能有较大的差距,此处的性能可以包括:数据加密速度等等,示意性的,对称加密算法的加密速度快于非对称加密算法的性能。同时,密钥派生函数(如KDF,Key derivation function)对原有密钥进行拓展时,只能保证原有密钥长度的安全性,密钥长度受限于非对称加密的密钥长度,安全性不如对称加密算法。
②密钥协商函数通常使用椭圆曲线上的标量点乘积运算生成密钥。示意性的,在集成加密方案(IES)及其椭圆曲线变体(ECIES)方案中,通常使用椭圆曲线secp256k1(一种基于Fp(有限域)上的椭圆曲线)的标量点乘运算接口进行标量点乘积运算,得到主密钥。然而在国密算法中,涉及椭圆曲线的底层接口往往不对外暴露封装,从而在实际开发中,无法使用国密算法中允许的椭圆曲线实现密钥协商函数。
③密钥派生函数通常应使用能够抵抗暴力破解的密钥派生算法,如BLAKE3(一种加密哈希算法)等。而在集成加密方案中的密钥派生函数为基于HMAC(哈希运算消息认证码,Hash-based Message Authentication Code)-SHA1的HKDF(基于HMAC的密钥导出函数)算法,目前HKDF对抗GPU(图像处理单元,Graphic Processing Unit)加速的暴力破解算法效果有限,容易被暴力破解出对称密钥从而造成数据泄露。同时,国密算法中并未直接提供密钥派生函数的规范,在实际开发中,无法直接使用封装过的密钥派生函数,需要基于SM3(一种国密算法)摘要算法进行二次开发,从而需要额外的工作量和安全性证明。
④使用密钥交换协议时,需要进行协议握手,握手过程往往需要1个或以上的来回请求才能完成对称密钥交换,从而增大了服务器侧需要处理的数据量和请求延迟。示意性的,在应用程序(如小程序)场景中,网络请求延迟往往较大且不可控制,如果使用密钥交换协议,则会增大首次请求的延迟。此外,服务器需要维护协商好的密钥与应用程序之间的对应关系,也会增大了服务器侧需要处理的数据量和请求延迟。
基于此,本申请实施例提供了一种端到端的数据处理方案,该数据处理方案的大致原理如下:当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;然后按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥;并按照第二加密算法采用所述临时密钥对业务请求的请求数据进行加密处理,得到密文;进而根据加密临时密钥和密文生成网络请求包,并向服务器发送网络请求包,该网络请求包用于请求服务器响应业务请求。
通过上述方案,可以对临时密钥以及业务请求的请求数据分别采用不同的加密算法进行加密处理,从而可以提升在数据传输过程中的数据安全性;此外,将临时密钥一并传输至服务器,服务器端无需维护临时密钥的状态,在一定程度上可以减少服务器的数据处理量,节省服务器的资源开销。
接下来对本申请实施例提供的数据处理***进行相关阐述。
请参见图1a,为本申请一个示例性实施例提供的一种数据处理***的架构图。如图1a所示,该数据处理***可以包括终端设备101、服务器102以及业务处理设备103,本申请并不对终端设备的数量进行限定,当然,服务器的数量以及业务处理设备的数量也可以为多个,本申请对服务器以及业务处理设备的数量仍然不作限定。数据处理***中的终端设备101可以分别与服务器102以及业务处理设备103之间可以通过有线或无线通信方式进行直接或间接地连接,且服务器102和业务处理设备103可以进行信息交互。其中:
终端设备101上运行有应用程序,该应用程序可以是社交应用程序、游戏应用程序、免安装的应用程序等等。终端设备101可以包括但不限于如下职能:①临时密钥加密功能:使用服务端证书公钥对为业务请求所分配的临时密钥进行加密,得到加密临时密钥;②数据加密签名功能:对业务请求的请求数据(即明文数据)进行加密,得到密文,并对待发送的加密临时密钥和密文进行签名处理,从而保证数据的完整性;此处的签名即为生成消息认证码的过程。
此外,若应用程序为免安装的应用程序,此处,免安装的应用程序又称为小程序、子程序;如图1a,终端设备101为该应用程序提供一个安全沙箱,以保证应用程序或者***的安全性。终端设备可以包括但不限于智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能可穿戴设备等等。
服务器102可以是与应用程序相对应的,为应用程序所提供的服务提供技术支持的服务器。其中,服务器102包括但不限于如下职能:①加密临时密钥解密功能:对加密临时密钥进行解密处理,得到临时密钥;②数据验签解密功能:对接收到的添加有签名的加密临时密钥和密文进行验签处理,从而判断接收到数据是否存在篡改,以及基于临时密钥对密文进行解密处理,得到业务请求的请求数据。③业务转发功能:服务器102可以将针对应用程序的业务请求转发至业务处理设备103。其中,服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
业务处理设备103可以用于为应用程序提供业务处理服务,示意性的,业务处理设备103可以响应服务器102发送的针对应用程序的业务请求,为应用程序提供业务处理服务。该业务处理设备103可以为终端设备或者服务器;终端设备可以包括但不限于智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能可穿戴设备等等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一个实施例中,以终端设备101、服务器102以及业务处理设备103之间的为例来描述数据处理流程。该数据处理流程包括两部分:应用程序加密阶段以及服务器解密阶段。
1)应用程序加密阶段
请参见图1b,为本申请一个示例性实施例提供的一种加密流程示意图;在图1b中,应用程序加密阶段主要包括临时密钥生成、临时密钥加密、业务请求的请求数据加密、消息认证码生成以及网络请求包生成等五个步骤。
①临时密钥生成:当检测到针对应用程序的业务请求时,终端设备101中的应用程序可以为业务请求独立生成临时密钥OTP。应当理解的是,针对每次的业务请求,均会独立生成一个临时密钥。其中,临时密钥可以包括第一子密钥KENC和第二子密钥KMAC
②临时密钥加密:应用程序使用服务端证书公钥(Pk)对OTP进行加密处理,得到加密临时密钥Ek。在一种实现方式中,按照第一加密算法(如非对称加密算法)使用服务端证书公钥(Pk)对临时密钥进行加密处理,得到加密临时密钥;在另一种实现方式中,应用程序为免安装的应用程序,该免安装应用程序可以运行于安全沙箱中,此时,可以在安全沙箱中按照第一加密算法使用服务端证书公钥对OTP进行加密处理,得到加密临时密钥。
③业务请求的请求数据加密:应用程序使用临时密钥中的第一子密钥KENC对业务请求的请求数据m进行加密处理,得到密文c。在一种实现方式中,按照第二加密算法(如对称加密算法)使用临时密钥中的第一子密钥KENC对请求数据m进行加密处理,得到密文;在另一种实现方式中,可以在安全沙箱中按照第二加密算法使用临时密钥中的第一子密钥对请求数据m进行加密处理,得到密文c。
④消息认证码生成:终端设备101中的应用程序使用临时密钥中的第二子密钥对密文以及加密临时密钥进行签名处理,得到消息认证码(Tag)。其中,消息认证码可以包括哈希值。所谓签名处理是指采用消息摘要算法(如SM3算法)使用临时密钥中的第二子密钥对密文以及加密临时密钥进行摘要运算处理。在一种实现方式中,可以在安全沙箱中使用临时密钥中的第二子密钥对密文以及加密临时密钥进行签名处理,得到消息认证码。其中,消息认证码的长度可以根据消息摘要算法来确定,示意性的,消息摘要算法为SM3算法,该消息认证码的长度可以为64位。
⑤网络请求包生成:应用程序可以根据加密临时密钥、密文以及消息认证码生成网络请求包,并向服务器102发送网络请求包。
从上述加密流程来看,应用程序可以按照第一加密算法对临时密钥进行加密,并通过临时密钥中的第一子密钥对请求数据进行加密处理,可以保证网络请求包中的数据在传输过程中不被其他设备窃取,有效保证了数据的安全性。同时通过生成临时密钥,可以克服无法使用国密算法中允许的椭圆曲线实现密钥协商函数,以及需要基于SM3算法进行二次开发,从而需要额外的工作量和安全性证明的问题。此外,该网络请求包中包含临时密钥,也无需与服务器预先建立加密通道协商临时密钥,在一定程度上可以减少服务端需要处理的数据量和请求延迟。另外,消息认证码可以校验网络请求包中的数据完整性,因此能确保所发送的数据的完整性以及密钥的完整性。
2)服务器解密阶段
请参见图1c,为本申请一个示例性实施例提供的一种解密流程示意图。在图1c中,服务器解密阶段包括私钥解密、消息认证码校验、密文解密以及业务处理等四个步骤。
①私钥解密:服务器102在接收到应用程序发送的网络请求包之后,可以采用服务端证书私钥Sk对网络请求包中的加密临时密钥Ek进行解密处理,得到临时密钥。其中,服务端证书私钥可以存储在服务器的存储空间中,服务器102可以从存储空间中获取服务端证书私钥,并按照第一加密算法采用服务端证书私钥对网络请求包中的加密临时密钥进行解密处理,得到临时密钥。
②消息认证码校验:服务器102可以对网络请求包进行完整性校验,若对网络请求包的完整性校验通过,则执行步骤③,若对网络请求包的完整性校验未通过,则输出提示信息,该提示信息用于指示网络请求包中的数据存在篡改。
作为一种实现方式,对网络请求包进行完整性校验包括:a、采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码;b、将运算得到的消息认证码与网络请求包中的消息认证码进行一致性比对;若一致性比对通过,则确定对网络请求包的完整性校验通过;若一致性比对未通过,则确定对网络请求包的完整性校验未通过。
③密文解密:服务器102可以采用临时密钥对密文进行解密处理,得到业务请求的请求数据。在一种实现中,可以采用临时密钥中的第一子密钥对密文进行解密处理,得到请求数据。
④业务处理:服务器102基于请求数据,对业务请求进行响应处理。具体的,服务器102可以基于请求数据,确定该业务请求所对应的业务处理设备103,并将该业务请求转发至该业务处理设备103,业务处理设备103可以响应该业务请求,执行相应的业务处理。
从上述解密流程来看,在对密文进行解密之前,对网络请求包中的消息认证码进行校验,可以避免攻击者对网络请求包进行篡改的风险。此外,由于终端设备直接将临时密钥一并发送至服务器,因此服务器无需维护临时密钥的状态,换句话说,临时密钥不会被保存至服务器,可以防止密钥被泄露,提升了数据的安全。同时,采用第一子密钥对密文进行解密,实现了对称加密,能够充分利用对称加密的性能优势,即使随着数据量的增加,也不会带来明显的性能影响,有效保护服务器的资源不被过度利用。
应当理解的是,本申请实施例中的业务请求可以包括但不限于:登录请求、业务查询请求、支付请求等等。当业务请求为登录请求时,该业务请求的请求数据包括对象的信息、账号信息等等,当业务请求为业务查询请求时,该业务请求的请求数据可以包括数据标识,数据内容等等,当业务请求为支付请求时,该业务请求的请求数据可以包括:支付账号、余额信息、订单信息等等。接下来以两个具体场景阐述本申请实施例提供的数据处理方案,其中,第一加密算法包括SM2算法,第二加密算法包括SM4算法,消息摘要算法包括SM3算法:
(1)以业务请求为登录请求,业务请求的请求数据包括对象的信息,业务处理设备为登录处理设备(如登录服务器)为例,在此场景下,数据处理流程包括:①当对象想要登录应用程序时,触发应用程序的登录选项,此时可检测到针对应用程序的登录请求,然后获取为登录请求随机分配的临时密钥OTP1。OTP1包括第一子密钥SM4 key和第二子密钥SM3key。②应用程序按照SM2算法采用服务端证书公钥对OTP1进行加密处理,得到加密临时密钥。③应用程序按照SM4算法采用SM4 key对登录请求所请求的对象的信息进行加密处理,得到密文。④采用SM3 key对密文和加密临时密钥进行摘要运算,得到消息认证码。⑤基于加密临时密钥、密文以及消息认证生成网络请求包,并向服务器102发送网络请求包。⑥服务器在接收到网络请求包之后,可以利用服务端证书私钥对加密临时密钥进行解密处理,得到OTP1。⑦服务器按照SM3算法采用SM3 key对加密临时密钥和密文进行摘要运算,得到消息认证码,并对运算得到的消息认证码与网络请求包中的消息认证码进行一致性比对。⑧当一致性比对通过时,服务器按照SM4算法采用SM4 key对密文进行解密处理,得到所请求的对象的信息。⑨服务器基于对象的信息,确定登录请求所对应的业务处理设备为登录服务器,然后将该登录请求转发至登录服务器。⑩登录服务器响应于该登录请求,获取对象的信息,并向应用程序返回对象的信息,以使得应用程序根据对象的信息登录该应用程序。
(2)以业务请求为支付请求,业务请求的请求数据包括订单信息,业务处理设备为支付处理设备为例,在此场景下,数据处理流程包括:①当对象在应用程序进行支付时,可以检测到针对应用程序的支付请求,然后获取为支付请求随机分配的临时密钥OPT2,OPT2包括第一子密钥SM4 key和第二子密钥SM3 key。②按照SM2算法采用服务端证书公钥对OPT2进行加密处理,得到加密临时密钥。③按照SM4算法采用SM4 key对支付请求所请求的订单信息进行加密处理,得到密文。④按照SM3算法采用SM3 key对密文和加密临时密钥进行摘要运算,得到消息认证码。⑤基于加密临时密钥、密文以及消息认证生成网络请求包,并向服务器发送网络请求包。⑥服务器在接收到网络请求包之后,可以利用服务端证书私钥对加密临时密钥进行解密处理,得到OPT2。⑦服务器按照SM3算法采用SM3 key对加密临时密钥和密文进行摘要运算,得到消息认证码,并对运算得到的消息认证码与网络请求包中的消息认证码进行一致性比对。⑧当一致性比对通过时,服务器按照SM4算法采用SM4key对密文进行解密处理,得到所请求的订单信息。⑨服务器基于该订单信息,确定支付请求所对应的业务处理设备为支付处理设备,然后将该支付请求转发至支付处理设备。⑩支付处理设备响应于该支付请求,获取订单信息,并向该应用程序返回订单信息。
可以理解的是,在本申请实施例中,涉及到与对象相关的请求数据,例如涉及对象的信息、订单信息等等,当本申请以上实施例运用到具体产品或技术中时,需要获得对象的许可或者同意,且相关数据的收集、使用和处理需要遵守相关法律法规和标准。
在本申请实施例中,通过上述数据处理方案,可以使得中间节点(如攻击者)无法对所传输的数据进行破解,从而可以保证应用程序与服务器之间数据传输的安全性以及完整性。此外,当第一加密算法、第二加密算法以及消息摘要算法均采用国密算法时,可以完全通过国密算法来进行数据加密,无需在使用其他密码学原语,从而可以保证整个数据处理流程的自主可控。
接下来对本申请实施例所提供的数据处理方法进行相关阐述。
请参见图2,为本申请一个示例性实施例提供的一种数据处理方法的流程示意图。该数据处理方法可由终端设备执行,更为具体的,可由运行在终端设备上的应用程序执行,该数据处理方法可以包括如下步骤S201-S205:
S201、当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥。
在一种实现中,业务请求可以是使用终端设备的对象发起的,例如,当对象想要登录应用程序时,可触发登录选项,此时会检测到针对应用程序的登录请求。在另一种实现中,业务请求可以是应用程序本身发起的,例如,应用程序为信息搜集应用程序,业务请求可以包括用于请求表单信息的表单请求;当应用程序需要展示收集信息的表单时,会检测到针对应用程序的表单请求。
其中,随机分配是指:一次业务请求分配一个临时密钥,不同业务请求所分配的临时密钥不同。示意性的,业务请求可以分配一个临时密钥,下一次的业务请求会分配其他的临时密钥,这两次的业务请求所分配的临时密钥不同。在一种实现中,为业务请求随机分配的临时密钥可以包括:通过随机数生成器为业务请求随机分配临时密钥,随机数生成器可以是CSPRNGs(伪随机数产生器,Cryptographically Secure Pseudo-Random NumberGenerator)等等。通过随机数生成器可以无需依赖密钥协商函数以及密钥派生函数生成密钥,可以克服实际开发中,无法使用国密算法中允许的椭圆曲线实现密钥协商函数以及密钥派生函数的问题,从而可以减少加密过程中的计算量与安全性证明。
S202、按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥。
其中,第一加密算法包括非对称加密算法,该非对称加密算法包括以下至少一种:SM2算法、RSA算法、DSA算法。服务端证书公钥可以设置于应用程序的源代码中,该服务端证书公钥对应的服务端证书私钥存储于服务器中。
在一种实现中,按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥包括:按照非对称加密算法采用服务端证书公钥对临时密钥进行非对称加密处理,得到加密临时密钥。应当理解的是,为业务请求随机分配的临时密钥的长度可以为固定长度,当临时密钥的密钥长度为固定长度时,采用非对称加密算法的耗时也是可控的。
S203、按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文。
第二加密算法可以包括对称加密算法,该对称加密算法包括以下至少一种:DES算法、DES3算法、SM4算法、AES算法。步骤S203可以包括:按照对称加密算法采用临时密钥对业务请求的请求数据进行对称加密处理,得到密文。其中,密文的格式可以为目标格式,目标格式如为二进制、四进制等等。
示意性的,当对称加密算法包括SM4算法时,按照对称加密算法采用临时密钥对业务请求的请求数据进行对称加密处理,得到密文包括如下步骤:①确定业务请求的请求数据的数据长度;②判断该请求数据的数据长度是否满足长度条件。若请求数据的数据长度满足长度条件,则执行步骤③,若请求数据的数据长度不满足长度条件,则执行步骤⑥。长度条件可以根据需求设置,示意性的,设长度条件为数据长度需满足分组长度的整数倍(如分组长度为64位,那么数据长度需满足64的整数倍),若请求数据的数据长度满足分度长度的整数倍,无需对请求数据进行填充处理,则执行步骤③,若请求数据的数据长度不满足分组长度的整数倍,则对请求数据进行填充处理,即执行步骤⑥。③若请求数据的数据长度满足长度条件,则对请求数据进行分组处理,得到多个分组。④采用SM4算法中的密码分组链模式(CBC,Cipher Block Chaining)对多个分组以及初始化向量进行异或处理,得到多个异或结果。其中,初始化向量可以根据需求设置。⑤对多个异或结果进行加密处理,得到多个加密分组,然后基于多个加密分组组装成密文。⑥若请求数据的数据长度不满足长度条件,则按照预设数据填充规则对该请求数据进行长度填充,得到填充后的请求数据。⑦对填充后的请求数据进行分组处理,得到多个分组,并执行步骤④和⑤。其中,预设数据填充规则可以是PKCS7(一种加密消息的语法标准)。
应当理解的是,当在应用程序中使用非对称加密算法对临时密钥进行加密处理,使用对称加密算法对请求数据进行加密处理时,可以拥有非对称加密的安全性,又能获得对称加密的性能。
S204、根据加密临时密钥和密文生成网络请求包。
在具体实现中,可以将加密临时密钥确定为网络请求包的包头,将密文确定为网络请求包的包体,并将该包头和包体进行拼接处理,形成网络请求包。
S205、向服务器发送网络请求包,网络请求包用于请求服务器响应业务请求。
在本申请实施例中,当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;然后按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥,并按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;根据加密临时密钥和密文生成网络请求包,并向服务器发送网络请求包,该网络请求包用于请求服务器响应业务请求。通过上述方案,可以对临时密钥以及业务请求的请求数据分别采用不同的加密算法进行加密处理,从而可以提升在数据传输过程中的数据安全性;此外,将临时密钥一并传输至服务器,服务器端无需维护临时密钥的状态,在一定程度上可以减少服务器的数据处理量,节省服务器的资源开销。
请参见图3,本申请另一个示例性实施例提供的一种数据处理方法的流程示意图。该数据处理方法可由终端设备执行,更为具体的,可由运行在终端设备上的应用程序执行,该数据处理方法可以包括如下步骤S301-S306:
S301、当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥。
其中,临时密钥包括第一子密钥和第二子密钥,第一子密钥的密钥长度和第二子密钥的密钥长度可以相同也可以不同。示意性的,临时密钥的密钥长度可以为256bit,其中,第一子密钥可以是临时密钥中的前128bit,第二子密钥可以是临时密钥中的后128bit。
S302、按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥。
S303、按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文。
作为一种实现方式,计算机设备可以从临时密钥中获取第一子密钥,然后按照第二加密算法使用第一子密钥对业务请求的请求数据进加密处理,得到密文。
S304、采用临时密钥中的第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码。
消息认证码(MAC)可以包括哈希值。其中,步骤S304可以包括:按照消息摘要算法采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码。消息摘要算法可以包括但不限于:SM3(密码杂凑算法)、MD5(Message-Digest Algorithm,信息摘要算法)等等。
应当理解的是,采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码的过程还可以包括:确定请求数据的数据长度,采用第二子密钥,对加密临时密钥、数据长度、初始化向量以及密文进行摘要运算,得到消息认证码。
S305、对加密临时密钥、密文和消息认证码进行封装处理,形成网络请求包。
在一种实现方式中,步骤S305可以包括:将加密临时密钥确定为网络请求包的包头(Header),将密文确定为网络请求包的包体,将消息认证码确定为网络请求包的包尾;然后对包头、包体和包尾进行拼接处理,形成网络请求包。
S306、向服务器发送网络请求包,该网络请求包用于请求服务器响应业务请求。
在本申请实施例中,当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;然后按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥,并按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;然后采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码,并对加密临时密钥、密文和消息认证码进行封装处理,形成网络请求包,向服务器发送网络请求包。通过上述方案,可以对临时密钥以及业务请求的请求数据分别采用不同的加密算法进行加密处理,从而可以提升在数据传输过程中的数据安全性;此外,将临时密钥一并传输至服务器,服务器端无需维护临时密钥的状态,在一定程度上可以减少服务器的数据处理量,节省服务器的资源开销。同时,通过生成消息认证码,可以保护数据传输过程中的数据完整性。
下面对图2和图3所示的实施例中的一些内容进行补充介绍。
在一个实施例中,临时密钥(OTP)的密钥长度可以根据需求设置,在为业务请求随机分配临时密钥时,可以基于业务请求的请求数据的优先级分配合适密钥长度的临时密钥。作为一种实现方式,获取请求数据的优先级,并获取与请求数据的优先级相匹配的密钥长度,其中,请求数据的优先级越高,表示请求数据的重要度越高,则相匹配的密钥长度越长,密钥长度越长,意味着请求数据的安全性越高;然后按照相匹配的密钥长度,为业务请求随机分配临时密钥。
应当理解的是,在本申请实施例中,还可以获取请求数据的优先级及临时密钥的密钥长度,并根据请求数据的优先级以及临时密钥的密钥长度中一种或多种来选择第二加密算法。其中,该请求数据的优先级越高,该第二加密算法的复杂度越高;该临时密钥的密钥长度越长,该第二加密算法的复杂度越高。第二加密算法的复杂度越高,意味着对请求数据进行加密之后被破解的概率越低,从而可以更好地保证数据的安全。示意性的,请求数据的优先级为3,说明该请求数据的重要度较高,此时可以从DES算法、SM4算法以及DES3算法中确定加密复杂度较高的DES3算法作为第二加密算法。
其中,重要度可以包括隐私度;隐私度越高,意味着请求数据的重要度越高,此时,获取请求数据的优先级的具体方式包括:确定请求数据的隐私度,并基于请求数据的隐私度,确定请求数据的优先级。示意性的,可设置隐私度与优先级之间的对应关系,如隐私度为1-50,优先级为1;隐私度为51-100,优先级为2;当确定请求数据的隐私度为60时,根据隐私度与优先级之间的对应关系确定请求数据的优先级为2。
在一个实施例中,应用程序除可以为安装于终端设备中的客户端外,该应用程序还可以为免安装的应用程序。在此实施例中,该应用程序可以运行在终端设备所提供的安全沙箱中,该数据处理方法可以运行在安全沙箱中。此时,在该安全沙箱中可以对网络请求包进行校验,若对网络请求包校验成功,则向服务器发送网络请求包(即执行步骤S205或步骤S306)。若对网络请求包校验失败,则直接输出校验失败提示信息,该校验失败提示信息用于指示网络请求包校验失败。
其中,在安全沙箱中对网络请求包进行校验可以包括以下任一种:
(1)在安全沙箱中校验服务端证书公钥的合法性,若服务端证书公钥合法性校验通过,则确定对网络请求包进行校验成功,若服务端证书公钥合法性校验未通过,则确定对网络请求包进行校验失败。具体的,在安全沙箱中校验服务端证书公钥的合法性是指:校验服务端证书公钥是否是已验证通过的服务端证书公钥,若服务端证书公钥是已验证通过的服务端证书公钥,则确定服务端证书公钥合法性校验通过,若服务端证书公钥非已验证通过的服务端证书公钥,则确定服务端证书公钥合法性校验未通过。
作为一种实现方式,在上传应用程序的源代码之前,会预先上传服务端证书公钥,因此,在安全沙箱中校验预先上传的服务端证书公钥是否与应用程序的源代码中的服务端证书公钥一致,若确定上传的服务端证书公钥与源代码中的服务端证书公钥一致,则确定服务端证书公钥验证通过。若确定上传的服务端证书公钥与源代码中的服务端证书公钥不一致,则确定服务端证书公钥验证未通过。
(2)在安全沙箱中校验网络请求包的规范性,若对网络请求包的规范性校验通过,则确定对网络请求包的校验成功;若对网络请求包的规范性校验未通过,则确定对网络请求包的校验失败。
其中,校验网络请求包的规范性可以包括以下至少一种:①校验网络请求包中的数据是否已加密,若确定网络请求包中的数据未被加密,则网络请求包的规范性校验未通过,若确定网络请求包中的数据已加密,则确定网络请求包的规范性校验通过。②校验加密临时密钥是否是使用已验证通过的服务端证书公钥进行加密处理,若加密临时密钥是使用已验证通过的服务端证书公钥进行加密处理,则确定网络请求包的规范性校验通过,若加密临时密钥未使用已验证通过的服务端证书公钥进行加密处理,则确定网络请求包的规范性校验未通过。③校验网络请求包的格式是否为预设格式,此处的预设格式例如为网络请求包的包头为临时加密密钥,包体为密文,包尾为消息认证码。若网络请求包的格式为预设格式,则确定网络请求包的规范性校验通过,若网络请求包的格式不为预设格式,则确定网络请求包的规范性校验未通过。
(3)在安全沙箱中校验服务端证书公钥的合法性以及校验网络请求包的规范性。若服务端证书公钥的合法性校验通过且网络请求包的规范性校验通过,则确定对网络请求包的校验成功。若服务端证书公钥的合法性校验未通过或者,网络请求包的规范性校验未通过或者,服务端证书公钥的合法性校验未通过且网络请求包的规范性校验未通过,则确定对网络请求包的校验失败。
综上所述,通过在安全沙箱进行数据加密,在一定程度上可以保证数据加密的安全性。此外,在发送网络请求包之前,在安全沙箱中对网络请求包进行校验,能够保证网络请求包中的数据已被加密且网络请求包符合规范性,可以进一步保证数据的安全性。
接下来对服务器侧的解密流程进行相关阐述。
请参见图4,图4为本申请再一个示例性实施例提供的一种数据处理方法的流程示意图,该数据处理方法可由服务器执行,该服务器可以为上述数据处理***中的服务器。该数据处理方法可以包括如下步骤S401-S404:
S401、接收应用程序发送的网络请求包;该网络请求包包括加密临时密钥和密文。加密临时密钥是由终端设备使用服务端证书公钥对临时密钥进行加密处理得到的,密文是由终端设备使用临时密钥对业务请求的请求数据进行加密处理得到的。
S402、按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥。
具体地,可以获取服务端证书私钥,并按照第一加密算法,采用服务端证书私钥对加密临时密钥进行解密处理,得到临时密钥。
S403、按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据。
其中,临时密钥包括第一子密钥,在一种实现中,服务器从网络请求包中读取包体,得到密文,然后从临时密钥中获取第一子密钥,并按照第二加密算法采用第一子密钥对密文进行解密处理,得到业务请求的请求数据。
作为一种实现方式,第二加密算法包括SM4算法,密文包括多个加密分组,按照第二加密算法采用第一子密钥对密文进行解密处理,得到业务请求的请求数据包括:对多个加密分组进行解密处理,得到多个解密分组,并获取初始化向量,并基于初始化向量对多个解密分组进行异或处理,得到业务请求的请求数据。
S404、基于请求数据,对业务请求进行响应处理。
在一种实现中,基于请求数据,对业务请求进行响应处理可以包括:基于请求数据,确定业务请求所对应的业务处理设备,并将该业务请求转发至业务处理设备执行业务处理。示意性的,业务请求为登录请求,请求数据为对象的信息,服务器基于该请求数据可以确定业务请求所对应的业务处理设备为登录处理设备,服务器可以将该业务请求转发至登录处理设备执行登录处理。
应当理解的是,业务处理设备在响应该业务请求执行业务处理之后,在一种实现中,业务处理设备可以直接将业务处理结果返回至应用程序。在另一种实现种,业务处理设备可以将业务处理结果返回至服务器,并由服务器将业务处理结果返回至应用程序,以使得应用程序基于业务处理结果做出响应。示意性的,登录处理设备可以基于该登录请求获取对象的信息,并直接将对象的信息返回给应用程序。应用程序基于该对象的信息,展示该应用程序的功能界面,从而完成应用程序的登录。
在本申请实施例中,接收应用程序发送的网络请求包;网络请求包包括加密临时密钥和密文;按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥;按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据;基于请求数据,对业务请求进行响应处理。可见,在数据传输过程中,通过对临时密钥以及业务请求的请求数据分别采用不同的加密算法进行加密处理,从而可以提升在数据传输过程中的数据安全性;此外,将临时密钥一并传输至服务器,服务器端无需维护临时密钥的状态,在一定程度上可以减少服务器的数据处理量,节省服务器的资源开销。
请参见图5,为本申请又一个示例性实施例提供的一种数据处理方法的流程示意图,该数据处理方法可由服务器执行,该服务器可以为上述数据处理***中的服务器。该数据处理方法可以包括如下步骤S501-S506:
S501、接收应用程序发送的网络请求包;该网络请求包包括加密临时密钥、密文以及消息认证码。加密临时密钥是由终端设备使用服务端证书公钥对临时密钥进行加密处理得到的,密文是由终端设备使用临时密钥对业务请求的请求数据进行加密处理得到的。
S502、按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥,临时密钥包括第一子密钥和第二子密钥。
其中,该网络请求包可以包括包头、包体以及包尾。服务器可以从网络请求包中读取包头,得到加密临时密钥,并按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到临时密钥。
S503、采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码。
在一种实现中,可以按照消息摘要算法采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码。在另一种实现中,该网络请求包中还包括数据长度和初始化向量,可以按照消息摘要算法采用第二子密钥,对加密临时密钥、数据长度、初始化向量以及密文进行摘要运算,得到消息认证码。
S504、将运算得到的消息认证码与网络请求包中的消息认证码进行一致性比对。
其中,网络请求包的包尾包含消息认证码,若运算得到的消息认证码与包尾中的消息认证码的一致性比对通过,说明网络请求包中的数据完整,未被篡改,则执行步骤S505,若运算得到的消息认证码与包尾中的消息认证码的一致性比对未通过,说明网络请求包中的数据被篡改,则向终端设备返回提示信息,该提示信息用于提示网络请求包中的数据存在被篡改风险。
S505、若一致性比对通过,则按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据。
作为一种实现方式,服务器可以从临时密钥中获取第一子密钥,并按照第二加密算法采用第一子密钥对密文进行解密处理,得到业务请求的请求数据。
S506、基于请求数据,对业务请求进行响应处理。
在本申请实施例中,接收应用程序发送的网络请求包;该网络请求包包括加密临时密钥和密文。然后,按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥,其中,临时密钥包括第一子密钥和第二子密钥,接着,采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码,并将运算得到的消息认证码与网络请求包中的消息认证码进行一致性比对。若一致性比对通过,则按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据,然后基于请求数据,对业务请求进行响应处理。在对密文进行解密之前,对网络请求包中的消息认证码进行校验,可以避免攻击者对网络请求包进行篡改的风险。此外,由于终端设备直接将临时密钥一并发送至服务器,因此服务器无需维护临时密钥的状态,换句话说,临时密钥不会被保存至服务器,可以防止密钥被泄露,提升了数据的安全。同时,采用同一第一子密钥对密文进行解密,实现对称加密,能够充分利用对称加密的性能优势,即使随着数据量的增加,也不会带来明显的性能影响,有效保护服务器的资源不被过度利用。
接下来对本申请实施例所提供的数据处理装置进行相关阐述。
请参见图6,图6是本申请实施例提供的一种数据处理装置的结构示意图,该数据处理装置可以是计算机设备中的一个计算机程序(包括程序代码),例如数据处理装置可以是计算机设备中的一个应用软件;该数据处理装置可以用于执行图2以及图3所示的方法实施例中的部分或全部步骤。请参见图6,该数据处理装置包括如下单元:
处理单元601,用于当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;
处理单元601,还用于按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥;
处理单元601,还用于按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;
处理单元601,还用于根据加密临时密钥和密文生成网络请求包;
发送单元602,用于向服务器发送网络请求包,该网络请求包用于请求服务器响应业务请求。
其中,随机分配是指:一次业务请求分配一个临时密钥,不同业务请求所分配的临时密钥不同;
服务端证书公钥设置于应用程序的源代码中;服务端证书公钥对应的服务端证书私钥存储于服务器中;
第一加密算法包括非对称加密算法,非对称加密算法包括以下至少一种:椭圆曲线公钥密码算法、基于大数因子分解问题的非对称加密算法、数字签名算法;
第二加密算法包括对称加密算法,对称加密算法包括以下至少一种:使用密钥加密的块算法、分组密码算法、三重数据加密算法、高级加密标准算法。
其中,临时密钥包括第一子密钥;处理单元601,具体用于:
从临时密钥中获取第一子密钥;
按照第二加密算法使用第一子密钥对业务请求的请求数据进行加密处理,得到密文。
其中,临时密钥还包括第二子密钥;处理单元601,具体用于:
采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码;
对加密临时密钥、密文和消息认证码进行封装处理,形成网络请求包。
其中,处理单元601,具体用于:
将加密临时密钥确定为网络请求包的包头,将密文确定为网络请求包的包体,将消息认证码确定为网络请求包的包尾;
对包头、包体和包尾进行拼接处理,形成网络请求包。
其中,处理单元601,还用于:
获取请求数据的优先级;
获取与请求数据的优先级相匹配的密钥长度;
按照相匹配的密钥长度,为业务请求随机分配临时密钥;
其中,请求数据的优先级越高,表示请求数据的重要度越高,则相匹配的密钥长度越长。
其中,处理单元601,还用于:
获取请求数据的优先级及临时密钥的密钥长度;
根据请求数据的优先级及临时密钥的密钥长度中的一种或两种,确定第二加密算法;
其中,请求数据的优先级越高,第二加密算法的复杂度越高;临时密钥的密钥长度越长,第二加密算法的复杂度越高。
其中,应用程序是免安装的应用程序;应用程序运行于安全沙箱中,方法运行于安全沙箱中;处理单元601,还用于:
在安全沙箱中对网络请求包进行校验;
若对网络请求包校验成功,则执行向服务器发送网络请求包的步骤。
其中,校验包括以下任一项:校验服务端证书公钥的合法性;校验网络请求包的规范性。
在本申请实施例中,当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;然后按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥,并按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;根据加密临时密钥和密文生成网络请求包,并向服务器发送网络请求包,该网络请求包用于请求服务器响应业务请求。通过上述方案,在进行数据传输之前,可以对临时密钥以及业务请求的请求数据分别采用不同的加密算法进行加密处理,从而提升在数据传输过程中的数据安全性;此外,将临时密钥一并传输至服务器,服务器端无需维护临时密钥的状态,在一定程度上可以减少服务器的数据处理量,节省服务器的资源开销。
请参见图7,图7是本申请实施例提供的一种数据处理装置的结构示意图,该数据处理装置可以是计算机设备中的一个计算机程序(包括程序代码),例如数据处理装置可以是计算机设备中的一个应用软件;该数据处理装置可以用于执行图4以及图5所示的方法实施例中的部分或全部步骤。请参见图7,该数据处理装置包括如下单元:
接收单元701,用于接收应用程序发送的网络请求包;该网络请求包包括加密临时密钥和密文;
处理单元702,用于按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥;
处理单元702,还用于按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据;
处理单元702,还用于基于请求数据,对业务请求进行响应处理。
其中,临时密钥包括第一子密钥和第二子密钥;第一子密钥用于对密文进行解密处理;网络请求包还包括消息认证码;处理单元702,还用于:
采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码;
将运算得到的消息认证码与网络请求包中的消息认证码进行一致性比对;
若一致性比对通过,则执行按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据的步骤。
其中,处理单元702,具体用于:
基于请求数据,确定业务请求所对应的业务处理设备;
将业务请求转发至业务处理设备执行业务处理。
在本申请实施例中,接收应用程序发送的网络请求包;网络请求包包括加密临时密钥和密文;按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥;按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据;基于请求数据,对业务请求进行响应处理。可见,在数据传输过程中,通过对临时密钥以及业务请求的请求数据分别采用不同的加密算法进行加密处理,从而可以提升在数据传输过程中的数据安全性;此外,将临时密钥一并传输至服务器,服务器端无需维护临时密钥的状态,在一定程度上可以减少服务器的数据处理量,节省服务器的资源开销。
接下来对本申请实施例提供的计算机设备进行相关阐述。
进一步地,本申请实施例还提供了一种计算机设备的结构示意图,该计算机设备的结构示意图可参见图8;该计算机设备可以包括:处理器801、输入设备802,输出设备803和存储器804。上述处理器801、输入设备802、输出设备803和存储器804通过总线连接。存储器804用于存储计算机程序,计算机程序包括程序指令,处理器801用于执行存储器804存储的程序指令。
在一个实施例中,计算机设备可以为上述终端设备,在此实施例中,处理器801通过运行存储器804中的程序指令,执行如下操作:
当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;
按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥;
按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;
根据加密临时密钥和密文生成网络请求包,并向服务器发送网络请求包,网络请求包用于请求服务器响应业务请求。
其中,随机分配是指:一次业务请求分配一个临时密钥,不同业务请求所分配的临时密钥不同;
服务端证书公钥设置于应用程序的源代码中;服务端证书公钥对应的服务端证书私钥存储于服务器中;
第一加密算法包括非对称加密算法,非对称加密算法包括以下至少一种:椭圆曲线公钥密码算法、基于大数因子分解问题的非对称加密算法、数字签名算法;
第二加密算法包括对称加密算法,对称加密算法包括以下至少一种:使用密钥加密的块算法、分组密码算法、三重数据加密算法、高级加密标准算法。
其中,临时密钥包括第一子密钥;处理器801在按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文时,可具体执行如下步骤:
从临时密钥中获取第一子密钥;
按照第二加密算法使用第一子密钥对业务请求的请求数据进行加密处理,得到密文。
其中,临时密钥还包括第二子密钥;处理器801在根据加密临时密钥和密文生成网络请求包时,可具体执行如下步骤:
采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码;
对加密临时密钥、密文和消息认证码进行封装处理,形成网络请求包。
其中,处理器801在对加密临时密钥、密文和消息认证码进行封装处理,形成网络请求包时,可具体执行如下步骤:
将加密临时密钥确定为网络请求包的包头,将密文确定为网络请求包的包体,将消息认证码确定为网络请求包的包尾;
对包头、包体和包尾进行拼接处理,形成网络请求包。
其中,处理器801,还可执行如下步骤:
获取请求数据的优先级;
获取与请求数据的优先级相匹配的密钥长度;
按照相匹配的密钥长度,为业务请求随机分配临时密钥;
其中,请求数据的优先级越高,表示请求数据的重要度越高,则相匹配的密钥长度越长。
其中,处理器801,还可执行如下步骤:
获取请求数据的优先级及临时密钥的密钥长度;
根据请求数据的优先级及临时密钥的密钥长度中的一种或两种,确定第二加密算法;
其中,请求数据的优先级越高,第二加密算法的复杂度越高;临时密钥的密钥长度越长,第二加密算法的复杂度越高。
其中,应用程序是免安装的应用程序;应用程序运行于安全沙箱中,方法运行于安全沙箱中;处理器801,还可执行如下步骤:
在安全沙箱中对网络请求包进行校验;
若对网络请求包校验成功,则执行向服务器发送网络请求包的步骤。
其中,校验包括以下任一项:校验服务端证书公钥的合法性;校验网络请求包的规范性。
在本申请实施例中,当检测到针对应用程序的业务请求时,获取为业务请求随机分配的临时密钥;然后按照第一加密算法采用服务端证书公钥对临时密钥进行加密处理,得到加密临时密钥,并按照第二加密算法采用临时密钥对业务请求的请求数据进行加密处理,得到密文;根据加密临时密钥和密文生成网络请求包,并向服务器发送网络请求包,该网络请求包用于请求服务器响应业务请求。通过上述方案,在进行数据传输之前,可以对临时密钥以及业务请求的请求数据分别采用不同的加密算法进行加密处理,从而提升在数据传输过程中的数据安全性;此外,将临时密钥一并传输至服务器,服务器端无需维护临时密钥的状态,在一定程度上可以减少服务器的数据处理量,节省服务器的资源开销。
在另一个实施例中,计算机设备可以为上述服务器,在此实施例中,处理器801通过运行存储器804中的程序指令,执行如下操作:
接收应用程序发送的网络请求包;网络请求包包括加密临时密钥和密文;
按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥;
按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据;
基于请求数据,对业务请求进行响应处理。
其中,临时密钥包括第一子密钥和第二子密钥;第一子密钥用于对密文进行解密处理;网络请求包还包括消息认证码;处理器801,还可执行如下步骤:
采用第二子密钥,对加密临时密钥和密文进行摘要运算,得到消息认证码;
将运算得到的消息认证码与网络请求包中的消息认证码进行一致性比对;
若一致性比对通过,则执行按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据的步骤。
其中,处理器801在基于请求数据,对业务请求进行响应处理时,还可执行如下步骤:
基于请求数据,确定业务请求所对应的业务处理设备;
将业务请求转发至业务处理设备执行业务处理。
在本申请实施例中,接收应用程序发送的网络请求包;网络请求包包括加密临时密钥和密文;按照第一加密算法采用服务端证书私钥对加密临时密钥进行解密处理,得到为应用程序的业务请求随机分配的临时密钥;按照第二加密算法采用临时密钥对密文进行解密处理,得到业务请求的请求数据;基于请求数据,对业务请求进行响应处理。可见,在数据传输过程中,通过对临时密钥以及业务请求的请求数据分别采用不同的加密算法进行加密处理,从而可以提升在数据传输过程中的数据安全性;此外,将临时密钥一并传输至服务器,服务器端无需维护临时密钥的状态,在一定程度上可以减少服务器的数据处理量,节省服务器的资源开销。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有计算机程序,且该计算机程序包括程序指令,当处理器执行上述程序指令时,能够执行前文图2-图5所对应实施例中的方法,因此,这里将不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可以被部署在一个计算机设备上,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备可以执行前文图2-图5所对应实施例中的方法,因此,这里将不再进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (13)

1.一种数据处理方法,其特征在于,包括:
当检测到针对应用程序的业务请求时,确定所述业务请求的隐私度,基于所述业务请求的隐私度以及隐私度区间与优先级之间的对应关系,确定所述业务请求的优先级;所述应用程序是免安装的应用程序;所述应用程序运行于安全沙箱中;
获取与所述业务请求的优先级相匹配的密钥长度;
按照所述相匹配的密钥长度,为所述业务请求随机分配临时密钥;其中,所述业务请求的优先级越高,表示所述业务请求的重要度越高,则相匹配的密钥长度越长;
按照第一加密算法采用服务端证书公钥对所述临时密钥进行加密处理,得到加密临时密钥;
按照第二加密算法采用所述临时密钥对所述业务请求的请求数据进行加密处理,得到密文;
根据所述加密临时密钥和所述密文生成网络请求包,在所述安全沙箱中对所述网络请求包进行校验;所述网络请求包是通过对包头、包体和包尾进行拼接处理得到,所述包头包含加密临时密钥,所述包体包括密文,所述包尾包括消息认证码,所述消息认证码是基于所述临时密钥中的第二子密钥,对所述加密临时密钥和所述密文进行摘要运算所得到的;
若校验出所述网络请求包中的数据已加密,且校验出所述加密临时密钥是使用已验证通过的服务端证书公钥进行加密处理,且校验出上述网络请求包中的包头、包体以及包尾符合预设格式,则向服务器发送所述网络请求包,所述网络请求包用于请求所述服务器响应所述业务请求;所述预设格式是指所述网络请求包的包头为所述临时加密密钥、所述包体为所述密文且所述包尾为所述消息认证码的格式。
2.如权利要求1所述的方法,其特征在于,所述随机分配是指:一次业务请求分配一个临时密钥,不同业务请求所分配的临时密钥不同;
所述服务端证书公钥设置于所述应用程序的源代码中;所述服务端证书公钥对应的服务端证书私钥存储于所述服务器中;
所述第一加密算法包括非对称加密算法,所述非对称加密算法包括以下至少一种:椭圆曲线公钥密码算法、基于大数因子分解问题的非对称加密算法、数字签名算法;
所述第二加密算法包括对称加密算法,所述对称加密算法包括以下至少一种:使用密钥加密的块算法、分组密码算法、三重数据加密算法、高级加密标准算法。
3.如权利要求1所述的方法,其特征在于,所述临时密钥包括第一子密钥;所述按照第二加密算法采用所述临时密钥对所述业务请求的请求数据进行加密处理,得到密文,包括:
从所述临时密钥中获取所述第一子密钥;
按照第二加密算法使用所述第一子密钥对所述业务请求的请求数据进行加密处理,得到密文。
4.如权利要求3所述的方法,其特征在于,所述临时密钥还包括第二子密钥;所述根据所述加密临时密钥和所述密文生成网络请求包,包括:
采用所述第二子密钥,对所述加密临时密钥和所述密文进行摘要运算,得到消息认证码;
对所述加密临时密钥、所述密文和所述消息认证码进行封装处理,形成网络请求包。
5.如权利要求4所述的方法,其特征在于,所述对所述加密临时密钥、所述密文和所述消息认证码进行封装处理,形成网络请求包,包括:
将所述加密临时密钥确定为网络请求包的包头,将所述密文确定为所述网络请求包的包体,将所述消息认证码确定为所述网络请求包的包尾;
对所述包头、所述包体和所述包尾进行拼接处理,形成所述网络请求包。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述请求数据的优先级及所述临时密钥的密钥长度;
根据所述请求数据的优先级及所述临时密钥的密钥长度中的一种或两种,确定第二加密算法;
其中,所述请求数据的优先级越高,所述第二加密算法的复杂度越高;所述临时密钥的密钥长度越长,所述第二加密算法的复杂度越高。
7.一种数据处理方法,其特征在于,包括:
服务器接收应用程序发送的网络请求包;所述网络请求包包括加密临时密钥和密文;所述网络请求包是通过对包头、包体和包尾进行拼接处理得到,所述包头包含加密临时密钥,所述包体包括密文,所述包尾包括消息认证码,所述消息认证码是基于所述临时密钥中的第二子密钥,对所述加密临时密钥和所述密文进行摘要运算所得到的;所述网络请求包是由终端设备在安全沙箱中对所述网络请求包进行校验,且在校验出所述网络请求包中的数据已加密,且校验出所述加密临时密钥是使用已验证通过的服务端证书公钥进行加密处理,且校验出上述网络请求包中的包头、包体以及包尾符合预设格式时,发送给所述服务器的;所述预设格式是指所述网络请求包的包头为所述临时加密密钥、所述包体为所述密文且所述包尾为所述消息认证码的格式;
按照第一加密算法采用服务端证书私钥对所述加密临时密钥进行解密处理,得到为所述应用程序的业务请求随机分配的临时密钥;所述临时密钥是基于与所述业务请求的优先级相匹配的密钥长度所生成的,所述业务请求的优先级是基于所述业务请求的隐私度以及隐私度区间与优先级之间的对应关系所确定的;所述应用程序是免安装的应用程序;所述应用程序运行于安全沙箱中;其中,所述业务请求的优先级越高,表示所述业务请求的重要度越高,则相匹配的密钥长度越长;
按照第二加密算法采用所述临时密钥对所述密文进行解密处理,得到所述业务请求的请求数据;
基于所述请求数据,对所述业务请求进行响应处理。
8.如权利要求7所述的方法,其特征在于,所述临时密钥包括第一子密钥和第二子密钥;所述第一子密钥用于对所述密文进行解密处理;所述网络请求包还包括消息认证码;所述方法还包括:
采用所述第二子密钥,对所述加密临时密钥和所述密文进行摘要运算,得到消息认证码;
将运算得到的消息认证码与所述网络请求包中的消息认证码进行一致性比对;
若一致性比对通过,则执行按照第二加密算法采用所述临时密钥对所述密文进行解密处理,得到所述业务请求的请求数据的步骤。
9.如权利要求7所述的方法,其特征在于,所述基于所述请求数据,对所述业务请求进行响应处理,包括:
基于所述请求数据,确定所述业务请求所对应的业务处理设备;
将所述业务请求转发至所述业务处理设备执行业务处理。
10.一种数据处理装置,其特征在于,包括:
处理单元,用于当检测到针对应用程序的业务请求时,确定所述业务请求的隐私度,基于所述业务请求的隐私度以及隐私度区间与优先级之间的对应关系,确定所述业务请求的优先级;所述应用程序是免安装的应用程序;所述应用程序运行于安全沙箱中;
所述处理单元,还用于获取与所述业务请求的优先级相匹配的密钥长度,按照所述相匹配的密钥长度,为所述业务请求随机分配临时密钥;其中,所述业务请求的优先级越高,表示所述业务请求的重要度越高,则相匹配的密钥长度越长;
所述处理单元,还用于按照第一加密算法采用服务端证书公钥对所述临时密钥进行加密处理,得到加密临时密钥;
所述处理单元,还用于按照第二加密算法采用所述临时密钥对所述业务请求的请求数据进行加密处理,得到密文;
所述处理单元,还用于根据所述加密临时密钥和所述密文生成网络请求包,在所述安全沙箱中对所述网络请求包进行校验;所述网络请求包是通过对包头、包体和包尾进行拼接处理得到,所述包头包含加密临时密钥,所述包体包括密文,所述包尾包括消息认证码,所述消息认证码是基于所述临时密钥中的第二子密钥,对所述加密临时密钥和所述密文进行摘要运算所得到的;
发送单元,用于若校验出所述网络请求包中的数据已加密,且校验出所述加密临时密钥是使用已验证通过的服务端证书公钥进行加密处理,且校验出上述网络请求包中的包头、包体以及包尾符合预设格式,则向服务器发送所述网络请求包,所述网络请求包用于请求所述服务器响应所述业务请求;所述预设格式是指所述网络请求包的包头为所述临时加密密钥、所述包体为所述密文且所述包尾为所述消息认证码的格式。
11.一种数据处理装置,其特征在于,所述数据处理装置应用于服务器,包括:
接收单元,用于接收应用程序发送的网络请求包;所述网络请求包包括加密临时密钥和密文;所述网络请求包是通过对包头、包体和包尾进行拼接处理得到,所述包头包含加密临时密钥,所述包体包括密文,所述包尾包括消息认证码,所述消息认证码是基于所述临时密钥中的第二子密钥,对所述加密临时密钥和所述密文进行摘要运算所得到的;所述网络请求包是由终端设备在安全沙箱中对所述网络请求包进行校验,且在校验出所述网络请求包中的数据已加密,且校验出所述加密临时密钥是使用已验证通过的服务端证书公钥进行加密处理,且校验出上述网络请求包中的包头、包体以及包尾符合预设格式时,发送给所述服务器的;所述预设格式是指所述网络请求包的包头为所述临时加密密钥、所述包体为所述密文且所述包尾为所述消息认证码的格式;
处理单元,用于按照第一加密算法采用服务端证书私钥对所述加密临时密钥进行解密处理,得到为所述应用程序的业务请求随机分配的临时密钥;所述临时密钥是基于与所述业务请求的优先级相匹配的密钥长度所生成的,所述业务请求的优先级是基于所述业务请求的隐私度以及隐私度区间与优先级之间的对应关系所确定的;所述应用程序是免安装的应用程序;所述应用程序运行于安全沙箱中;其中,所述业务请求的优先级越高,表示所述业务请求的重要度越高,则相匹配的密钥长度越长;
所述处理单元,还用于按照第二加密算法采用所述临时密钥对所述密文进行解密处理,得到所述业务请求的请求数据;
所述处理单元,还用于基于所述请求数据,对所述业务请求进行响应处理。
12.一种计算机设备,其特征在于,包括:
处理器,适用于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,执行如权利要求1-6任一项所述的数据处理方法,或执行如权利要求7-9任一项所述的数据处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,执行如权利要求1-6任一项所述的数据处理方法,或执行如权利要求7-9任一项所述的数据处理方法。
CN202310864633.6A 2023-07-14 2023-07-14 一种数据处理方法及相关设备 Active CN116599772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310864633.6A CN116599772B (zh) 2023-07-14 2023-07-14 一种数据处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310864633.6A CN116599772B (zh) 2023-07-14 2023-07-14 一种数据处理方法及相关设备

Publications (2)

Publication Number Publication Date
CN116599772A CN116599772A (zh) 2023-08-15
CN116599772B true CN116599772B (zh) 2024-04-09

Family

ID=87601206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310864633.6A Active CN116599772B (zh) 2023-07-14 2023-07-14 一种数据处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN116599772B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1973479A (zh) * 2004-03-18 2007-05-30 高通股份有限公司 采用安全实时协议的加密信息的有效传输
CN101192919A (zh) * 2006-11-21 2008-06-04 中兴通讯股份有限公司 实现用户自定义安全等级的方法
CN102201137A (zh) * 2011-05-04 2011-09-28 北京趋势恒信科技有限公司 网络安全终端以及基于该终端的交互***和交互方法
CN202206419U (zh) * 2011-05-04 2012-04-25 赵金俊 网络安全终端以及基于该终端的交互***
CN111666565A (zh) * 2020-06-22 2020-09-15 深圳壹账通智能科技有限公司 沙箱仿真测试方法、装置、计算机设备和存储介质
CN113742740A (zh) * 2020-05-29 2021-12-03 华为技术有限公司 设备行为监督方法、装置及存储介质
CN114143117A (zh) * 2022-02-08 2022-03-04 阿里云计算有限公司 数据处理方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382355B2 (en) * 2016-06-02 2019-08-13 Electronics And Telecommunications Research Institute Overlay management server and operating method thereof
US20210400019A1 (en) * 2020-06-21 2021-12-23 Apple Inc. Application specific network data filtering

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1973479A (zh) * 2004-03-18 2007-05-30 高通股份有限公司 采用安全实时协议的加密信息的有效传输
CN101192919A (zh) * 2006-11-21 2008-06-04 中兴通讯股份有限公司 实现用户自定义安全等级的方法
CN102201137A (zh) * 2011-05-04 2011-09-28 北京趋势恒信科技有限公司 网络安全终端以及基于该终端的交互***和交互方法
CN202206419U (zh) * 2011-05-04 2012-04-25 赵金俊 网络安全终端以及基于该终端的交互***
CN113742740A (zh) * 2020-05-29 2021-12-03 华为技术有限公司 设备行为监督方法、装置及存储介质
CN111666565A (zh) * 2020-06-22 2020-09-15 深圳壹账通智能科技有限公司 沙箱仿真测试方法、装置、计算机设备和存储介质
CN114143117A (zh) * 2022-02-08 2022-03-04 阿里云计算有限公司 数据处理方法及设备

Also Published As

Publication number Publication date
CN116599772A (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
EP3610405B1 (en) Program execution and data proof scheme using multiple key pair signatures
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
EP3391620B1 (en) Systems and methods for secure multi-party communications using a proxy
CN111448779B (zh) 用于混合秘密共享的***、设备和方法
CN109800588B (zh) 条码动态加密方法及装置、条码动态解密方法及装置
WO2022140903A1 (zh) 一种ota升级方法及装置
CN112926051A (zh) 多方安全计算方法和装置
CN112351037B (zh) 用于安全通信的信息处理方法及装置
US12010216B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN108809907B (zh) 一种证书请求消息发送方法、接收方法和装置
CN113806772A (zh) 基于区块链的信息加密传输方法及装置
CN114143108B (zh) 一种会话加密方法、装置、设备及存储介质
CN116132043B (zh) 会话密钥协商方法、装置及设备
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN111970114A (zh) 文件加密方法、***、服务器和存储介质
CN115150821A (zh) 离线包的传输、存储方法及装置
CN114142995B (zh) 面向区块链中继通信网络的密钥安全分发方法及装置
CN113645235A (zh) 分布式数据加解密***及加解密方法
CN113141333B (zh) 入网设备的通信方法、设备、服务器、***及存储介质
CN111884988A (zh) 数据的安全传输方法
CN113935018B (zh) 密码运算方法、片上***及计算机设备
CN116599772B (zh) 一种数据处理方法及相关设备
US11818268B2 (en) Hub-based token generation and endpoint selection for secure channel establishment
CN112055071B (zh) 一种基于5g的工业控制安全通信***及方法
CN114285557A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40091055

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant