CN112291201A - 业务请求的传输方法及装置、电子设备 - Google Patents

业务请求的传输方法及装置、电子设备 Download PDF

Info

Publication number
CN112291201A
CN112291201A CN202011066506.4A CN202011066506A CN112291201A CN 112291201 A CN112291201 A CN 112291201A CN 202011066506 A CN202011066506 A CN 202011066506A CN 112291201 A CN112291201 A CN 112291201A
Authority
CN
China
Prior art keywords
identifier
request
service request
target
client
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.)
Granted
Application number
CN202011066506.4A
Other languages
English (en)
Other versions
CN112291201B (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.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN202011066506.4A priority Critical patent/CN112291201B/zh
Publication of CN112291201A publication Critical patent/CN112291201A/zh
Application granted granted Critical
Publication of CN112291201B publication Critical patent/CN112291201B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/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

Abstract

本发明实施例提供了一种业务请求的传输方法及装置、电子设备。该方法应用于客户端,包括:在发起业务请求的情况下,生成对应业务请求的请求标识;采用第一预设算法对第一目标数据进行加密,得到加密标识;采用第二预设算法对第二目标数据进行签名,得到签名标识;将请求标识、加密标识以及签名标识写入业务请求,得到目标业务请求;将目标业务请求发送至服务器。本发明实施例中,在传输业务请求过程中,无需对请求参数进行加密。同时将请求标识、加密标识以及签名标识添加到业务请求中,供服务器对业务请求进行验证。避免了请求参数在加密解密过程可能出现的问题。

Description

业务请求的传输方法及装置、电子设备
技术领域
本发明涉及数据传输技术领域,尤其涉及一种业务请求的传输方法及装置、电子设备。
背景技术
在客户端发起业务请求,从服务器获取业务数据的过程中。为提升数据安全性,防止数据被盗用,通常需要对业务请求中的请求参数进行加密;采用密文的方式传输请求参数。同时,对请求参数进行签名,将签名写入业务请求,并发送至服务器。服务器在收到业务请求之后,首先根据签名进行验签,检测业务请求在传输过程中是否被篡改。在验签通过之后,对密文进行解密得到原始的请求参数。然后根据原始的请求参数获取对应的业务数据,并将业务数据返回客户端。
这种通过密文以及签名传输业务请求的方式,不仅提升了数据传输过程的安全性,同时可以避免业务请求被截取之后,造成请求参数的泄露。
然而,数据的加密和解密是较为复杂的过程,在此过程中可能由于秘钥、算法等出现问题,导致无法解密得到请求参数。即使验签通过也无法得到相应的业务数据。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的业务请求的传输方法及装置、电子设备。
第一方面,本发明实施例提供了一种业务请求的传输方法,应用于客户端,所述方法包括:
在发起业务请求的情况下,生成对应所述业务请求的请求标识;
采用第一预设算法对第一目标数据进行加密,得到加密标识;其中,所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;
采用第二预设算法对第二目标数据进行签名,得到签名标识;其中,所述第二目标数据至少包括:所述加密标识;
将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求,得到目标业务请求;
将所述目标业务请求发送至服务器,以使所述服务器根据所述请求标识、所述加密标识以及所述签名标识验证所述业务请求,在验证通过之后返回业务数据。
可选的,所述生成对应所述业务请求的请求标识,包括:
获取所述客户端的客户端标识、当前时刻的时间戳以及预设序号;
采用第三预设算法对所述客户端标识、当前时刻的时间戳以及预设序号进行计算,得到一唯一标识;
将所述唯一标识作为对应所述业务请求的请求标识。
可选的,所述第一目标数据还包括:所述客户端当前登录用户的用户信息和预设加密密钥中的至少一个。
可选的,所述将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求,包括:
将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求的请求头中。
第二方面,本发明实施例还提供一种业务请求的传输方法,应用于服务器,所述方法包括:
接收客户端发送的目标业务请求;其中,所述目标业务请求为所述客户端将请求标识、加密标识以及签名标识写入业务请求得到的;所述请求标识为所述客户端在发起所述业务请求的情况下,对应所述业务请求生成的;所述加密标识为所述客户端采用第一预设算法对第一目标数据进行加密得到的;所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;所述签名标识为所述客户端采用第二预设算法对第二目标数据进行签名得到的;所述第二目标数据至少包括:所述加密标识;
根据所述请求标识、所述加密标识以及所述签名标识对所述目标业务请求进行验证;
在验证通过之后根据所述目标业务请求中的请求参数获取对应的业务数据,并将所述业务数据返回至所述客户端。
可选的,所述根据所述请求标识、所述加密标识以及所述签名标识对所述目标业务请求进行验证,包括:
根据所述加密标识以及预先存储的第一目标算法,对所述签名标识进行验签;其中,所述第一目标算法与所述第二预设算法相同;
在所述签名标识验签通过之后,根据所述请求标识、所述请求参数以及预先存储的第二目标算法,对所述加密标识进行验证;其中,所述第二目标算法与所述第一预设算法相同;
在所述加密标识验证通过之后,验证在接收到所述目标业务请求前,是否接收到具有所述请求标识的业务请求;若在接收到所述目标业务请求前,未接收到具有所述请求标识的业务请求,则所述目标业务请求通过验证。
第三方面,本发明实施例还提供一种业务请求的传输装置,应用于客户端,所述装置包括:
生成模块,用于在发起业务请求的情况下,生成对应所述业务请求的请求标识;
加密模块,用于采用第一预设算法对第一目标数据进行加密,得到加密标识;其中,所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;
签名模块,用于采用第二预设算法对第二目标数据进行签名,得到签名标识;其中,所述第二目标数据至少包括:所述加密标识;
处理模块,用于将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求,得到目标业务请求;
发送模块,用于将所述目标业务请求发送至服务器,以使所述服务器根据所述请求标识、所述加密标识以及所述签名标识验证所述业务请求,在验证通过之后返回业务数据。
第四方面,本发明实施例还提供一种业务请求的传输装置,应用于服务器,所述装置包括:
接收模块,用于接收客户端发送的目标业务请求;其中,所述目标业务请求为所述客户端将请求标识、加密标识以及签名标识写入业务请求得到的;所述请求标识为所述客户端在发起所述业务请求的情况下,对应所述业务请求生成的;所述加密标识为所述客户端采用第一预设算法对第一目标数据进行加密得到的;所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;所述签名标识为所述客户端采用第二预设算法对第二目标数据进行签名得到的;所述第二目标数据至少包括:所述加密标识;
验证模块,用于根据所述请求标识、所述加密标识以及所述签名标识对所述目标业务请求进行验证;
响应模块,用于在验证通过之后根据所述目标业务请求中的请求参数获取对应的业务数据,并将所述业务数据返回至所述客户端。
第五方面,本发明实施例还提供一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的业务请求的传输方法中的步骤。
第六方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的业务请求的传输方法中的步骤。
在本发明实施例中,业务请求的传输方法,应用于客户端,该方法包括:在发起业务请求的情况下,生成对应所述业务请求的请求标识;采用第一预设算法对第一目标数据进行加密,得到加密标识;其中,所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数。在对加密标识进行验证时需要使用请求标识。采用第二预设算法对第二目标数据进行签名,得到签名标识;其中,所述第二目标数据至少包括:所述加密标识。将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求,得到目标业务请求;将所述目标业务请求发送至服务器,以使所述服务器根据所述请求标识、所述加密标识以及所述签名标识验证所述业务请求,在验证通过之后返回业务数据。本发明实施例中,在传输业务请求过程中,无需对请求参数进行加密。同时将请求标识、加密标识以及签名标识添加到业务请求中,供服务器对业务请求进行验证。即避免了请求参数在加密解密过程可能出现的问题;同时通过对请求标识、加密标识以及签名标识的多次验证,保证了传输安全性,提升了业务请求的破解难度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用于客户端的业务请求的传输方法的步骤流程图;
图2为本发明实施例的业务请求的请求头展示示意图;
图3为本发明实施例的应用于客户端的业务请求的传输方法的实际应用流程图;
图4为本发明实施例提供的应用于服务器的业务请求的传输方法的步骤流程图;
图5为本发明实施例提供的应用于客户端的业务请求的传输装置的结构框图;
图6为本发明实施例提供的应用于服务器的业务请求的传输装置的结构框图;
图7为本发明实施例提供的客户端加载加密模块的实际应用流程图;
图8为本发明实施例提供的加密插件的架构示意图;
图9为本发明实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图1,本发明实施例提供了一种业务请求的传输方法,应用于客户端,该业务请求的传输方法包括:
步骤101,在发起业务请求的情况下,生成对应业务请求的请求标识。
应当说明的是,发起业务请求的情况可以理解为客户端准备从服务器获取业务数据的情况;即客户端生成业务请求的情况。每个业务请求对应一个请求标识,较佳的,该请求标识为唯一标识,也就是说生成的每个请求标识具有唯一性,即使相同的业务请求,在不同时刻对应的请求标识也不相同。例如在每次生成一个业务请求之后,由一标识模块生成一个唯一的随机序列,将该随机序列作为本次生成的业务请求对应的请求标识。这里的标识模块每次生成的随机序列与之前生成的所有随机序列均不相同。业务标识可以为多个数字和/或字母组成的字符串,但不限于此。
步骤102,采用第一预设算法对第一目标数据进行加密,得到加密标识。
应当说明的是,第一目标数据至少包括:请求标识以及业务请求的请求参数。这里的请求参数可以被服务器识别,并获取对应请求参数的业务数据。较佳的,客户端与服务器预先协商好第一预设算法以及第一目标数据所包含的内容。也就是说,客户端和服务器均存储有第一预设算法以及第一目标数据所包含的部分内容。
较佳的,第一目标数据还包括:客户端当前登录用户的用户信息和预设加密密钥中的至少一个。
步骤103,采用第二预设算法对第二目标数据进行签名,得到签名标识。
应当说明的是,第二目标数据至少包括:加密标识。较佳的,客户端与服务器预先协商好第二预设算法以及第二目标数据所包含的内容。也就是说,客户端和服务器均存储有第二预设算法以及第二目标数据所包含的部分内容。这里,第二预设算法可以为任一签名算法。
步骤104,将请求标识、加密标识以及签名标识写入业务请求,得到目标业务请求。
应当说明的是,可以将请求标识、加密标识以及签名标识写入业务请求的请求体或者请求头中。较佳的,将请求标识、加密标识以及签名标识写入业务请求,包括:将请求标识、加密标识以及签名标识写入业务请求的请求头中。参见图2,业务请求的请求头展示示意图中,securitysign对应的字符串为签名标识;securitywua对应的字符串为加密标识;securitysid对应的字符串为请求标识。
步骤105,将目标业务请求发送至服务器,以使服务器根据请求标识、加密标识以及签名标识验证业务请求,在验证通过之后返回业务数据。
应当说明的是,该目标业务请求除包含发起业务请求时,该业务请求的全部内容,还包括请求标识、加密标识以及签名标识。客户端与服务器预先协商生成以及验证请求标识、加密标识以及签名标识的过程。
本发明实施例中,在传输业务请求过程中,无需对请求参数进行加密。同时将请求标识、加密标识以及签名标识添加到业务请求中,供服务器对业务请求进行验证。即避免了请求参数在加密解密过程可能出现的问题;同时通过对请求标识、加密标识以及签名标识的多次验证,保证了传输安全性,提升了业务请求的破解难度。
可选的,生成对应业务请求的请求标识,包括:
获取客户端的客户端标识、当前时刻的时间戳以及预设序号;
本步骤中,客户端标识可以为客户端的唯一标识,即不同客户端具有不同的客户端标识。预设序号为预先存储的由多个数字和/或字母组成的序号。
采用第三预设算法对客户端标识、当前时刻的时间戳以及预设序号进行计算,得到一唯一标识;
本步骤中,客户端与服务器预先协商好第三预设算法、客户端标识以及预设序号。也就是说,客户端和服务器均存储有第三预设算法、客户端标识以及预设序号。这里,在根据客户端标识、当前时刻的时间戳以及预设序号生成唯一标识时,客户端标识、当前时刻的时间戳以及预设序号三者中,任意一个或者多个发生变化之后生成的标识,与发生变化前生成的标识完全不同。
将唯一标识作为对应业务请求的请求标识。
本发明实施例中,利用客户端标识、时间戳以及预设序号生成唯一标识,将该唯一标识作为业务请求的请求标识,从而服务器在针对具有相同请求标识的业务请求时,返回错误;进而避免大量重复的业务请求带来的安全隐患。
如图3所示,为本发明实施例提供的业务请求的传输方法的实际应用流程图;其应用于包括业务层以及加密层的客户端。
该方法包括:
步骤301,业务层获取业务请求数据;该业务请求数据即为生成业务请求所需的数据,其至少包括请求参数。
步骤302,业务层发起请求;也就是根据业务请求数据生成业务请求。
步骤303,加密层根据cid(客户端标识)以及时间戳生成sid(请求标识)。
步骤304,业务层参数加密,即获取加密层生成的sid。
步骤305,加密层根据sid获取加密key以及对应的第一预设算法。其中,加密key为预设加密密钥。
步骤306,加密层根据获取的第一预设算法对sid以及加密key进行加密,得到加密串。
步骤307,业务层接收加密层返回的加密串。
步骤308,加密层根据加密串获取加密appkey以及对应的第二预设算法。其中,加密appkey为预设密钥。
步骤309,加密层根据获取的第二预设算法对加密串以及加密appkey进行签名,得到sign(签名)。
步骤310,业务层接收加密层返回的sign。
步骤311,业务层将sid、加密串以及sign写入业务请求,并发送至服务器。
步骤312,业务层接收到服务器的反馈信息之后,判断反馈信息是否为请求失败信息。若否则结束;若是则执行步骤313。
步骤313,判断是否为签名失败信息,若是则结束,若否则执行步骤314。
步骤314,判断是否为请求失效信息,若否则结束,若是则执行步骤315。
步骤315,校准客户端或者客户端所在电子设备的时间。
本发明实施例中,业务层与加密层分离,方便更换加密层。加密层被破解之后,通过更换加密层,破解者无法直接使用上次的破解手段进行破解,需要重新进行破解,增加了破解成本。通过定期更换加密层可以提升客户端进行业务请求的安全性。
参见图4,本发明实施例提供了一种业务请求的传输方法,应用于服务器,该业务请求的传输方法包括:
步骤401,接收客户端发送的目标业务请求;
应当说明的是,目标业务请求为客户端将请求标识、加密标识以及签名标识写入业务请求得到的;请求标识为客户端在发起业务请求的情况下,对应业务请求生成的;加密标识为客户端采用第一预设算法对第一目标数据进行加密得到的;第一目标数据至少包括:请求标识以及业务请求的请求参数;签名标识为客户端采用第二预设算法对第二目标数据进行签名得到的;第二目标数据至少包括:加密标识。
步骤402,根据请求标识、加密标识以及签名标识对目标业务请求进行验证。
应当说明的是,客户端与服务器预先协商生成以及验证请求标识、加密标识以及签名标识的过程。服务器在接收到客户端发送的业务请求之后,采用协商好的验证方法对业务请求进行验证。
步骤403,在验证通过之后根据目标业务请求中的请求参数获取对应的业务数据,并将业务数据返回至客户端。
本发明实施例中,在传输业务请求过程中,无需对请求参数进行加密。同时将请求标识、加密标识以及签名标识添加到业务请求中,由服务器根据业务请求中的多个标识对业务请求进行验证。即避免了请求参数在加密解密过程可能出现的问题;同时通过对请求标识、加密标识以及签名标识的多次验证,保证了传输安全性,提升了业务请求的破解难度。
可选的,根据请求标识、加密标识以及签名标识对目标业务请求进行验证,包括:
根据加密标识以及预先存储的第一目标算法,对签名标识进行验签。
本步骤中,第一目标算法与第二预设算法相同。也就是说,客户端与服务器预先协商好固定的算法,然后在客户端侧使用该算法进行签名,在服务器侧使用该算法进行验签。具体的,服务器使用第一目标算法对包含加密标识的第二目标数据进行签名,然后将得到的签名结果与业务请求中的签名标识进行比对,若两者一致,则验签通过。
在签名标识验签通过之后,根据请求标识、请求参数以及预先存储的第二目标算法,对加密标识进行验证。
本步骤中,第二目标算法与第一预设算法相同。也就是说,客户端与服务器预先协商好固定的算法,然后在客户端侧使用该算法得到加密标识,在服务器侧使用该算法对业务请求中的加密标识进行验证。具体的,付服务器使用第二目标算法对包含请求标识以及请求参数的第一目标数据进行加密,然后将得到的加密结果与业务请求中的加密标识进行比对,若两者一致,则加密标识通过验证。
在加密标识验证通过之后,验证在接收到目标业务请求前,是否接收到具有请求标识的业务请求;若在接收到目标业务请求前,未接收到具有请求标识的业务请求,则目标业务请求通过验证。
本步骤中,服务器在每次接收到业务请求之后,将记录通过所有验证的业务请求的请求标识。对请求标识进行验证,具体为使用接收到的业务请求的请求标识匹配记录的所有请求标识,若匹配成功,说明业务请求携带的请求标识发生重复,则向客户端返回错误信息。可以避免具有同一请求标识的业务请求多次向服务器请求业务数据造成的安全性问题。
本发明实施例中,依次对签名标识、加密标识以及请求标识进行验证,通过多次验证可以提升数据传输的安全性,同时增加业务请求的破解难度。
以上介绍了本发明实施例提供的业务请求的传输方法,下面将结合附图介绍本发明实施例提供的业务请求的传输装置。
参见图5,本发明实施例还提供了一种业务请求的传输装置,应用于客户端,该装置包括:
生成模块51,用于在发起业务请求的情况下,生成对应业务请求的请求标识;
加密模块52,用于采用第一预设算法对第一目标数据进行加密,得到加密标识;其中,第一目标数据至少包括:请求标识以及业务请求的请求参数;
签名模块53,用于采用第二预设算法对第二目标数据进行签名,得到签名标识;其中,第二目标数据至少包括:加密标识;
处理模块54,用于将请求标识、加密标识以及签名标识写入业务请求,得到目标业务请求;
发送模块55,用于将目标业务请求发送至服务器,以使服务器根据请求标识、加密标识以及签名标识验证业务请求,在验证通过之后返回业务数据。
本发明实施例提供的应用于客户端的业务请求的传输装置能够实现图1和图3的方法实施例中应用于客户端的业务请求传输方法实现的各个过程,为避免重复,这里不再赘述。
本发明的实施例中,在传输业务请求过程中,无需对请求参数进行加密。同时将请求标识、加密标识以及签名标识添加到业务请求中,供服务器对业务请求进行验证。即避免了请求参数在加密解密过程可能出现的问题;同时通过对请求标识、加密标识以及签名标识的多次验证,保证了传输安全性,提升了业务请求的破解难度。
可选的,生成模块51,具体用于获取客户端的客户端标识、当前时刻的时间戳以及预设序号;采用第三预设算法对客户端标识、当前时刻的时间戳以及预设序号进行计算,得到一唯一标识;将唯一标识作为对应业务请求的请求标识。
可选的,第一目标数据还包括:客户端当前登录用户的用户信息和预设加密密钥中的至少一个。
可选的,处理模块54,具体用于将请求标识、加密标识以及签名标识写入业务请求的请求头中。
参见图6,本发明实施例还提供了一种业务请求的传输装置,应用于服务器,该装置包括:
接收模块61,用于接收客户端发送的目标业务请求;其中,目标业务请求为客户端将请求标识、加密标识以及签名标识写入业务请求得到的;请求标识为客户端在发起业务请求的情况下,对应业务请求生成的;加密标识为客户端采用第一预设算法对第一目标数据进行加密得到的;第一目标数据至少包括:请求标识以及业务请求的请求参数;签名标识为客户端采用第二预设算法对第二目标数据进行签名得到的;第二目标数据至少包括:加密标识;
验证模块62,用于根据请求标识、加密标识以及签名标识对目标业务请求进行验证;
响应模块63,用于在验证通过之后根据目标业务请求中的请求参数获取对应的业务数据,并将业务数据返回至客户端。
本发明实施例提供的应用于服务器的业务请求的传输装置能够实现图4的方法实施例中应用于服务器的业务请求传输方法实现的各个过程,为避免重复,这里不再赘述。
本发明的实施例中,在传输业务请求过程中,无需对请求参数进行加密。同时将请求标识、加密标识以及签名标识添加到业务请求中,供服务器对业务请求进行验证。即避免了请求参数在加密解密过程可能出现的问题;同时通过对请求标识、加密标识以及签名标识的多次验证,保证了传输安全性,提升了业务请求的破解难度。
可选的,验证模块62,具体用于根据加密标识以及预先存储的第一目标算法,对签名标识进行验签;其中,第一目标算法与第二预设算法相同;在签名标识验签通过之后,根据请求标识、请求参数以及预先存储的第二目标算法,对加密标识进行验证;其中,第二目标算法与第一预设算法相同;在加密标识验证通过之后,验证在接收到目标业务请求前,是否接收到具有请求标识的业务请求;若在接收到目标业务请求前,未接收到具有请求标识的业务请求,则目标业务请求通过验证。
另一方面,本发明实施例还提供了一种客户端,客户端包括:业务模块以及加密模块;
其中,业务模块,用于生成业务请求;
加密模块,用于在业务模块生成业务请求之后,生成对应业务请求的请求标识;采用第一预设算法对第一目标数据进行加密,得到加密标识;其中,第一目标数据至少包括:请求标识以及业务请求的请求参数;采用第二预设算法对第二目标数据进行签名,得到签名标识;其中,第二目标数据至少包括:加密标识;
业务模块,还用于将请求标识、加密标识以及签名标识写入业务请求,得到目标业务请求;将目标业务请求发送至服务器,以使服务器根据请求标识、加密标识以及签名标识验证业务请求,在验证通过之后返回业务数据。
应当说明的是,加密模块可以以插件的形式载入客户端,从而加密模块与业务模块相互之间独立设置,不仅方便加密模块的载入,同时也方便单独更换加密模块。
本发明实施例中,在传输业务请求过程中,无需对请求参数进行加密。同时将请求标识、加密标识以及签名标识添加到业务请求中,供服务器对业务请求进行验证。即避免了请求参数在加密解密过程可能出现的问题;同时通过对请求标识、加密标识以及签名标识的多次验证,保证了传输安全性,提升了业务请求的破解难度。进一步的,加密模块与业务模块分离,方便更换加密模块。通过定期更换加密模块可以提升客户端进行业务请求的安全性。
如图7所示,为客户端载入加密模块的步骤流程图;其中,加密模块以插件的形式进行载入,加密模块即为加密插件,该步骤流程图包括:
步骤701,调用SDK(软件开发工具包,Software Development Kit)的setup方法进行初始化。
步骤702,由SDK调用server(服务器)接口进行更新,并向服务器发送网络请求。
步骤703,判断发送的网络请求是否成功,若否则执行步骤707,若是则执行步骤704。
步骤704,判断加密插件是否需要更新,若否则执行步骤707,若是则执行步骤705。
步骤705,下载需要更新的插件zip(压缩包)。
步骤706,判断是否需要强制更新加密插件,若否则执行步骤707,若是则执行步骤708。
步骤707,加载本地最新加密插件,然后结束。
步骤708,等待加密插件下载完成。
步骤709,判断加密插件是否下载成功,若否则执行步骤710,若是则执行步骤711。
步骤710,返回错误,然后结束。
步骤711,加载下载完成的加密插件,然后结束。
如图8所示,为本发明实施例提供的客户端中加密模块的架构示意图,包括:对外接口、加密模块管理者、插件管理者以及动态库;
其中,动态库主要用于实现核心的加密函数,即各算法。其中sid即为上述发明实施例请求标识。这里,动态库还可以实现sid获取、虚拟机检测、参数加密、package(包)合法化验证以及appkey获取。插件管理者主要用于接收加密请求,调度不同插件进行加密。这里,可以分为主体插件和可更新插件。加密模块管理者主要用于根据客户端所属设备的不同机型和版本进行插件的动态载入。这里,加载方式包括dex加载以及so(动态库)加载。对外接口主要用于向客户端的业务层开发接口,实现方法隔离。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述业务请求的传输方法中的步骤。
举个例子如下,图9示出了一种电子设备的实体结构示意图。
如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行如下方法:
在发起业务请求的情况下,生成对应所述业务请求的请求标识;
采用第一预设算法对第一目标数据进行加密,得到加密标识;其中,所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;
采用第二预设算法对第二目标数据进行签名,得到签名标识;其中,所述第二目标数据至少包括:所述加密标识;
将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求,得到目标业务请求;
将所述目标业务请求发送至服务器,以使所述服务器根据所述请求标识、所述加密标识以及所述签名标识验证所述业务请求,在验证通过之后返回业务数据。
或接收客户端发送的目标业务请求;其中,所述目标业务请求为所述客户端将请求标识、加密标识以及签名标识写入业务请求得到的;所述请求标识为所述客户端在发起所述业务请求的情况下,对应所述业务请求生成的;所述加密标识为所述客户端采用第一预设算法对第一目标数据进行加密得到的;所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;所述签名标识为所述客户端采用第二预设算法对第二目标数据进行签名得到的;所述第二目标数据至少包括:所述加密标识;
根据所述请求标识、所述加密标识以及所述签名标识对所述目标业务请求进行验证;
在验证通过之后根据所述目标业务请求中的请求参数获取对应的业务数据,并将所述业务数据返回至所述客户端。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的业务请求的传输方法,例如包括:
在发起业务请求的情况下,生成对应所述业务请求的请求标识;
采用第一预设算法对第一目标数据进行加密,得到加密标识;其中,所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;
采用第二预设算法对第二目标数据进行签名,得到签名标识;其中,所述第二目标数据至少包括:所述加密标识;
将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求,得到目标业务请求;
将所述目标业务请求发送至服务器,以使所述服务器根据所述请求标识、所述加密标识以及所述签名标识验证所述业务请求,在验证通过之后返回业务数据。
或接收客户端发送的目标业务请求;其中,所述目标业务请求为所述客户端将请求标识、加密标识以及签名标识写入业务请求得到的;所述请求标识为所述客户端在发起所述业务请求的情况下,对应所述业务请求生成的;所述加密标识为所述客户端采用第一预设算法对第一目标数据进行加密得到的;所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;所述签名标识为所述客户端采用第二预设算法对第二目标数据进行签名得到的;所述第二目标数据至少包括:所述加密标识;
根据所述请求标识、所述加密标识以及所述签名标识对所述目标业务请求进行验证;
在验证通过之后根据所述目标业务请求中的请求参数获取对应的业务数据,并将所述业务数据返回至所述客户端。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种业务请求的传输方法,应用于客户端,其特征在于,所述方法包括:
在发起业务请求的情况下,生成对应所述业务请求的请求标识;
采用第一预设算法对第一目标数据进行加密,得到加密标识;其中,所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;
采用第二预设算法对第二目标数据进行签名,得到签名标识;其中,所述第二目标数据至少包括:所述加密标识;
将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求,得到目标业务请求;
将所述目标业务请求发送至服务器,以使所述服务器根据所述请求标识、所述加密标识以及所述签名标识验证所述业务请求,在验证通过之后返回业务数据。
2.根据权利要求1所述的方法,其特征在于,所述生成对应所述业务请求的请求标识,包括:
获取所述客户端的客户端标识、当前时刻的时间戳以及预设序号;
采用第三预设算法对所述客户端标识、当前时刻的时间戳以及预设序号进行计算,得到一唯一标识;
将所述唯一标识作为对应所述业务请求的请求标识。
3.根据权利要求1所述的方法,其特征在于,所述第一目标数据还包括:所述客户端当前登录用户的用户信息和预设加密密钥中的至少一个。
4.根据权利要求1所述的方法,其特征在于,所述将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求,包括:
将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求的请求头中。
5.一种业务请求的传输方法,应用于服务器,其特征在于,所述方法包括:
接收客户端发送的目标业务请求;其中,所述目标业务请求为所述客户端将请求标识、加密标识以及签名标识写入业务请求得到的;所述请求标识为所述客户端在发起所述业务请求的情况下,对应所述业务请求生成的;所述加密标识为所述客户端采用第一预设算法对第一目标数据进行加密得到的;所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;所述签名标识为所述客户端采用第二预设算法对第二目标数据进行签名得到的;所述第二目标数据至少包括:所述加密标识;
根据所述请求标识、所述加密标识以及所述签名标识对所述目标业务请求进行验证;
在验证通过之后根据所述目标业务请求中的请求参数获取对应的业务数据,并将所述业务数据返回至所述客户端。
6.根据权利要求5所述的方法,其特征在于,所述根据所述请求标识、所述加密标识以及所述签名标识对所述目标业务请求进行验证,包括:
根据所述加密标识以及预先存储的第一目标算法,对所述签名标识进行验签;其中,所述第一目标算法与所述第二预设算法相同;
在所述签名标识验签通过之后,根据所述请求标识、所述请求参数以及预先存储的第二目标算法,对所述加密标识进行验证;其中,所述第二目标算法与所述第一预设算法相同;
在所述加密标识验证通过之后,验证在接收到所述目标业务请求前,是否接收到具有所述请求标识的业务请求;若在接收到所述目标业务请求前,未接收到具有所述请求标识的业务请求,则所述目标业务请求通过验证。
7.一种业务请求的传输装置,应用于客户端,其特征在于,所述装置包括:
生成模块,用于在发起业务请求的情况下,生成对应所述业务请求的请求标识;
加密模块,用于采用第一预设算法对第一目标数据进行加密,得到加密标识;其中,所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;
签名模块,用于采用第二预设算法对第二目标数据进行签名,得到签名标识;其中,所述第二目标数据至少包括:所述加密标识;
处理模块,用于将所述请求标识、所述加密标识以及所述签名标识写入所述业务请求,得到目标业务请求;
发送模块,用于将所述目标业务请求发送至服务器,以使所述服务器根据所述请求标识、所述加密标识以及所述签名标识验证所述业务请求,在验证通过之后返回业务数据。
8.一种业务请求的传输装置,应用于服务器,其特征在于,所述装置包括:
接收模块,用于接收客户端发送的目标业务请求;其中,所述目标业务请求为所述客户端将请求标识、加密标识以及签名标识写入业务请求得到的;所述请求标识为所述客户端在发起所述业务请求的情况下,对应所述业务请求生成的;所述加密标识为所述客户端采用第一预设算法对第一目标数据进行加密得到的;所述第一目标数据至少包括:所述请求标识以及所述业务请求的请求参数;所述签名标识为所述客户端采用第二预设算法对第二目标数据进行签名得到的;所述第二目标数据至少包括:所述加密标识;
验证模块,用于根据所述请求标识、所述加密标识以及所述签名标识对所述目标业务请求进行验证;
响应模块,用于在验证通过之后根据所述目标业务请求中的请求参数获取对应的业务数据,并将所述业务数据返回至所述客户端。
9.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的应用于客户端的业务请求的传输方法或实现如权利要求5或6所述的应用于服务器的业务请求的传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的应用于客户端的业务请求的传输方法或实现如权利要求5或6所述的应用于服务器的业务请求的传输方法的步骤。
CN202011066506.4A 2020-09-30 2020-09-30 业务请求的传输方法及装置、电子设备 Active CN112291201B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011066506.4A CN112291201B (zh) 2020-09-30 2020-09-30 业务请求的传输方法及装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011066506.4A CN112291201B (zh) 2020-09-30 2020-09-30 业务请求的传输方法及装置、电子设备

Publications (2)

Publication Number Publication Date
CN112291201A true CN112291201A (zh) 2021-01-29
CN112291201B CN112291201B (zh) 2023-06-20

Family

ID=74422741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011066506.4A Active CN112291201B (zh) 2020-09-30 2020-09-30 业务请求的传输方法及装置、电子设备

Country Status (1)

Country Link
CN (1) CN112291201B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113011945A (zh) * 2021-03-16 2021-06-22 深圳市微创云启科技有限公司 订单编号的生成方法、装置、终端设备和存储介质
CN113204772A (zh) * 2021-04-26 2021-08-03 五八有限公司 数据处理方法、装置、系统、终端、服务器和存储介质
CN114338682A (zh) * 2021-12-24 2022-04-12 北京字节跳动网络技术有限公司 流量身份标识传递方法、装置、电子设备及存储介质
WO2023036091A1 (zh) * 2021-09-10 2023-03-16 北京车和家信息技术有限公司 数据传输方法、装置、设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915627A (zh) * 2016-05-30 2016-08-31 北京小米移动软件有限公司 业务请求处理方法及装置
CN106331153A (zh) * 2016-09-20 2017-01-11 北京华为数字技术有限公司 一种业务请求的过滤方法、装置及系统
CN106572105A (zh) * 2016-10-31 2017-04-19 中国银联股份有限公司 一种url校验的方法及装置
CN106650454A (zh) * 2017-01-03 2017-05-10 郑州云海信息技术有限公司 一种sql注入攻击检测方法和装置
US20200092108A1 (en) * 2017-05-26 2020-03-19 Alibaba Group Holding Limited Data communication method, device and apparatus, and storage medium
CN111130798A (zh) * 2019-12-24 2020-05-08 中国平安人寿保险股份有限公司 一种请求鉴权方法及相关设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915627A (zh) * 2016-05-30 2016-08-31 北京小米移动软件有限公司 业务请求处理方法及装置
CN106331153A (zh) * 2016-09-20 2017-01-11 北京华为数字技术有限公司 一种业务请求的过滤方法、装置及系统
CN106572105A (zh) * 2016-10-31 2017-04-19 中国银联股份有限公司 一种url校验的方法及装置
CN106650454A (zh) * 2017-01-03 2017-05-10 郑州云海信息技术有限公司 一种sql注入攻击检测方法和装置
US20200092108A1 (en) * 2017-05-26 2020-03-19 Alibaba Group Holding Limited Data communication method, device and apparatus, and storage medium
CN111130798A (zh) * 2019-12-24 2020-05-08 中国平安人寿保险股份有限公司 一种请求鉴权方法及相关设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113011945A (zh) * 2021-03-16 2021-06-22 深圳市微创云启科技有限公司 订单编号的生成方法、装置、终端设备和存储介质
CN113204772A (zh) * 2021-04-26 2021-08-03 五八有限公司 数据处理方法、装置、系统、终端、服务器和存储介质
WO2023036091A1 (zh) * 2021-09-10 2023-03-16 北京车和家信息技术有限公司 数据传输方法、装置、设备和存储介质
CN114338682A (zh) * 2021-12-24 2022-04-12 北京字节跳动网络技术有限公司 流量身份标识传递方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112291201B (zh) 2023-06-20

Similar Documents

Publication Publication Date Title
CN112291201B (zh) 业务请求的传输方法及装置、电子设备
CN105095696B (zh) 对应用程序进行安全认证的方法、系统及设备
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN102484638B (zh) 经由多个中间客户端在线递送的身份数据的分层保护和验证
CN109981255B (zh) 密钥池的更新方法和系统
US20190372759A1 (en) Shared secret establishment
US11831753B2 (en) Secure distributed key management system
US20120272334A1 (en) Method and apparatus for processing rights object
CN110690956B (zh) 双向认证方法及系统、服务器和终端
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN111130798B (zh) 一种请求鉴权方法及相关设备
CN107040520B (zh) 一种云计算数据共享系统及方法
CN111222160B (zh) 一种智能合约执行方法及系统
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
CN115150821A (zh) 离线包的传输、存储方法及装置
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN111885091B (zh) 安全通信方法、装置、设备及存储介质
CN113051585B (zh) 一种数据校验方法、装置、电子设备和存储介质
CN111523128A (zh) 信息保护方法、系统、电子设备及介质
CN115859389B (zh) 一种基于私有化部署的软件序列号授权方法及系统
CN108809651B (zh) 密钥对管理方法和终端
CN113194090B (zh) 鉴权方法、鉴权装置、终端设备及计算机可读存储介质
CN116132075A (zh) 基于虚拟键盘的数据传输方法、装置、介质及设备
CN114143777A (zh) 基于sim卡的物联网终端的证书密钥下载方法及系统
CN115481428A (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