CN108400979A - 应用于客户端和服务器的通信方法及电子设备 - Google Patents

应用于客户端和服务器的通信方法及电子设备 Download PDF

Info

Publication number
CN108400979A
CN108400979A CN201810125763.7A CN201810125763A CN108400979A CN 108400979 A CN108400979 A CN 108400979A CN 201810125763 A CN201810125763 A CN 201810125763A CN 108400979 A CN108400979 A CN 108400979A
Authority
CN
China
Prior art keywords
client
check value
private key
server
parameter
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
CN201810125763.7A
Other languages
English (en)
Other versions
CN108400979B (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.)
Shenzhen Xinmo Cube Technology Co.,Ltd.
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810125763.7A priority Critical patent/CN108400979B/zh
Publication of CN108400979A publication Critical patent/CN108400979A/zh
Application granted granted Critical
Publication of CN108400979B publication Critical patent/CN108400979B/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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

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)
  • Telephonic Communication Services (AREA)

Abstract

本公开提供了一种应用于客户端的通信方法,方法包括:获取客户端的设备标识,并根据设备标识生成第一私钥;获取客户端与服务器进行网络通信时的请求参数;根据第一私钥和请求参数生成第一校验值;将第一校验值加入至请求参数后发送至服务器,以使得服务器:在收到客户端发送的请求数据后,根据请求参数和请求数据中的设备标识生成第二校验值,比对第一校验值和第二校验值是否一致,若一致,则根据请求数据向客户端提供服务。本公开还提供了一种应用于服务器的通信方法、一种第一电子设备以及一种第二电子设备。

Description

应用于客户端和服务器的通信方法及电子设备
技术领域
本公开涉及一种应用于客户端和服务器的通信方法及电子设备。
背景技术
随着安卓(Android)***的发展,越来越多的Android应用被开发出来。现有的Android应用与服务器进行的http网络通信时,可以通过设置电子设备(如手机、平板)代理进行抓包分析,对抓到的数据包进行部分参数修改,从而可以测试应用的业务逻辑安全性和服务器的数据安全性。然而,攻击者也可以使用上述方法,任意构造HTTP 网络数据包,对服务器进行安全攻击,这对于Android应用的安全性是极大的挑战。
发明内容
本公开的一个方面提供了一种应用于客户端的通信方法,方法包括:获取所述客户端的设备标识,并根据所述设备标识生成第一私钥;获取所述客户端与服务器进行网络通信时的请求参数;根据所述第一私钥和请求参数生成第一校验值;将所述第一校验值加入至所述请求参数后发送至所述服务器,以使得所述服务器:在收到所述客户端发送的请求数据后,根据所述请求参数和请求数据中的设备标识生成第二校验值,比对所述第一校验值和所述第二校验值是否一致,若一致,则根据所述请求数据向所述客户端提供服务。
可选的,根据所述设备标识生成第一私钥,包括:根据ROT13对所述设备标识进行编码,得到中间变量;将所述中间变量按字节位与 2进行异或运算,得到所述第一私钥。
可选的,获取所述客户端与服务器进行网络通信时的请求参数,包括:针对网络通信中的POST请求或GET请求,提取请求中URL 和BODY中的参数名及其参数值,并将所述参数名及其参数值保存到 map字典中;在所述map字典中按参数名的字母顺序进行排序。
可选的,根据所述第一私钥和请求参数生成第一校验值,包括:从排序过的map字典中依次获取参数值,拼接成字符串;根据安全哈希算法对所述第一私钥和所述字符串进行运算,得到所述第一校验值。
本公开的另一个方面提供了一种应用于服务器的通信方法,方法包括:获取客户端发送的包括有第一校验值的请求参数;获取所述客户端发送的请求数据;根据所述请求数据中的设备标识生成第二私钥;根据所述请求参数和所述第二私钥生成第二校验值;比对所述第一校验值和所述第二校验值是否一致,若一致,则根据所述请求数据向所述客户端提供服务。
可选的,根据所述设备标识生成第二私钥,包括:根据ROT13对所述设备标识进行编码,得到中间变量;将所述中间变量按字节位与 2进行异或运算,得到所述第二私钥。
可选的,获取客户端发送的包括有第一校验值的请求参数,包括:针对网络通信中的POST请求或GET请求,提取请求中URL和BODY 中的参数名及其参数值,并将所述参数名及其参数值保存到map字典中;在所述map字典中按参数名的字母顺序进行排序。
可选的,根据所述请求参数和所述第二私钥生成第二校验值,包括:从排序过的map字典中依次获取参数值,拼接成字符串;根据安全哈希算法对所述第二私钥和所述字符串进行运算,得到所述第二校验值。
本公开的另一个方面提供了一种第一电子设备,其运行有客户端,所述第一电子设备包括:第一处理器;第一存储器,其存储有计算机可执行程序,该程序在被所述第一处理器执行时,使得所述所述第一处理器执行:获取所述客户端的设备标识,并根据所述设备标识生成第一私钥;获取所述客户端与服务器进行网络通信时的请求参数;根据所述第一私钥和请求参数生成第一校验值;将所述第一校验值加入至所述请求参数后发送至所述服务器,以使得所述服务器:在收到所述客户端发送的请求数据后,根据所述请求参数和请求数据中的设备标识生成第二校验值,比对所述第一校验值和所述第二校验值是否一致,若一致,则根据所述请求数据向所述客户端提供服务。
可选的,根据所述设备标识生成第一私钥,包括:根据ROT13对所述设备标识进行编码,得到中间变量;将所述中间变量按字节位与 2进行异或运算,得到所述第一私钥。
可选地,获取所述客户端与服务器进行网络通信时的请求参数,包括:针对网络通信中的POST请求或GET请求,提取请求中URL 和BODY中的参数名及其参数值,并将所述参数名及其参数值保存到 map字典中;在所述map字典中按参数名的字母顺序进行排序。
可选的,根据所述第一私钥和请求参数生成第一校验值,包括:从排序过的map字典中依次获取参数值,拼接成字符串;根据安全哈希算法对所述第一私钥和所述字符串进行运算,得到所述第一校验值。
本公开的另一个方面提供一种第二电子设备,其运行有服务器,所述第二电子设备包括:第二处理器;第二存储器,其存储有计算机可执行程序,该程序在被所述第二处理器执行时,使得所述所述第二处理器执行:获取客户端发送的包括有第一校验值的请求参数;获取所述客户端发送的请求数据;根据所述请求数据中的设备标识生成第二私钥;根据所述请求参数和所述第二私钥生成第二校验值;比对所述第一校验值和所述第二校验值是否一致,若一致,则根据所述请求数据向所述客户端提供服务。
可选的,根据所述设备标识生成第二私钥,包括:根据ROT13对所述设备标识进行编码,得到中间变量;将所述中间变量按字节位与 2进行异或运算,得到所述第二私钥。
可选的,获取客户端发送的包括有第一校验值的请求参数,包括:
针对网络通信中的POST请求或GET请求,提取请求中URL和 BODY中的参数名及其参数值,并将所述参数名及其参数值保存到 map字典中;在所述map字典中按参数名的字母顺序进行排序。
可选的,根据所述请求参数和所述第二私钥生成第二校验值,包括:从排序过的map字典中依次获取参数值,拼接成字符串;根据安全哈希算法对所述第二私钥和所述字符串进行运算,得到所述第二校验值。
本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了应用于客户端的通信方法的流程图。
图2示意性示出了根据本公开的实施例的应用于服务器的通信方法的流程图。
图3示意性示出了根据本公开的应用于客户端的通信***的框图。
图4示意性示出了根据本公开的应用于服务器的通信***的框图。
图5示意性示出了根据本公开的第一电子设备的框图。
图6示意性示出了根据本公开的第二电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行***使用或者结合指令执行***使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种应用于客户端的通信方法,方法包括:获取所述客户端的设备标识,并根据设备标识生成第一私钥;获取客户端与服务器进行网络通信时的请求参数;根据第一私钥和请求参数生成第一校验值;将第一校验值加入至请求参数后发送至服务器,以使得服务器:在收到客户端发送的请求数据后,根据请求参数和请求数据中的设备标识生成第二校验值,比对第一校验值和第二校验值是否一致,若一致,则根据请求数据向客户端提供服务。通过上述方法,通过对客户端的网络通信数据进行完整性校验,给攻击者构造网络数据包增加难度,在数据传输的过程增加一层安全防护,提升的整体的安全性。
图1示意性示出了应用于客户端的通信方法的流程图。
如图1所示,该方法包括在操作S101,获取客户端的设备标识,并根据设备标识生成第一私钥。
例如在基于Android***的客户端中,基于Android***的设备标识DEVICE_ID,根据算法Q生成完整性校验的私钥A,其中, DEVICE_ID获取方法如下:
TelephonyManagertelephonyManager=(TelephonyManager) getActivity()
.getSystemService(Context.TELEPHONY_SERVIC);
DEVICE_ID=telephonyManager.getDeviceId();
算法Q可以自行设计,比如,首先中间变量T=rot13(DEVICE_ID),然后得到将中间变量按字节位与2进行异或运算,得到最终的私钥A。
其中,算法Q需要使用适当的保护措施,比如使用C语言编写,并使用OLLVM混淆编译技术编译成so库,供Android应用调用。
然后,在操作S102,获取客户端与服务器进行网络通信时的请求参数。
在本公开的实施例中,对于网络通信的HTTP POST或GET请求,将其URL中的参数名及其值和BODY中的参数名及其值保存到一个 map字典中,其中参数值是URL编码解码过的(URL_decode),然后将 map字典根据参数名按字母表进行排序,并保存结果。
如下所示,请求中有5个参数,pb,pa pc,pd,bpd:
则根据参数名按字母顺序排序后的map={‘bdp’:’bvd’,‘pa’:’ va’,‘pb’:’vb’,‘pc’:’vc’,‘pd’:’vd’}。
在操作S103,根据第一私钥和请求参数生成第一校验值。
具体地,在操作S103中,从排序过的map字典中依次获取参数值,拼接成字符串;根据安全哈希算法对所述第一私钥和所述字符串进行运算,得到所述第一校验值。
例如,从排序过的map字典中依次获取参数值,拼接成字符串B=‘bvdvavbvcvd’,则第一校验值sign=SHA1(A+B)。
在操作S104,将第一校验值加入至请求参数后发送至服务器,以使得服务器在收到客户端发送的请求数据后,根据请求参数和请求数据中的设备标识生成第二校验值,比对第一校验值和第二校验值是否一致,若一致,则根据请求数据向客户端提供服务。
具体地,在操作S104中,若原始请求为GET请求,则增加GET 参数sign,若原始请求为POST请求,则增加POST参数sign,其值均为SHA1(A+B)。如下所示,在请求参数增加了一个第一校验值sign:
需要说明的是,服务器收到的请求数据包括设备标识DEVICE_ID,采用上述客户端相同的方法生成第二校验值,比对第一校验值和第二校验值是否一致,若一致,则认定请求参数未被篡改,并根据请求数据向客户端提供服务。反之,则认定请求被篡改,服务器拒绝进行下一步处理。
综上所述,本公开的实施例分为两个阶段:第一阶段是在客户端与服务器进行网络通信时,获取网络通信的请求参数,根据请求参数和设备标识生成第一校验值,然后将第一校验值发送至服务器;第二阶段是客户端向服务器发送请求数据时,服务器根据请求数据中的设备标识和请求参数生成第二校验值,服务器比对第一校验值和第二校验值是否一致,以确定是否向客户端提过服务。通过上述方案,提高了客户端(特别是Android应用客户端)的安全性。
图2示意性示出了根据本公开的实施例的应用于服务器的通信方法的流程图。
如图2所示,该方法包括在操作S201,获取客户端发送的包括有第一校验值的请求参数。
在上述操作中,包括有第一校验值的生成方法已在图1所公开的实施例中详细论述,在此就不再赘述。服务器在获取了请求参数,针对网络通信中的POST请求或GET请求,提取请求中URL和BODY 中的参数名及其参数值,并将参数名及其参数值保存到map字典中;在map字典中按参数名的字母顺序进行排序。
在操作S202,获取客户端发送的请求数据。
在上述操作中,请求数据是客户端向服务器请求服务的数据包,该请求数据中包括有客户端的设备标识DEVICE_ID。
在操作S203,根据请求数据中的设备标识生成第二私钥。
在上述操作中,与图1所示的原理相同,根据ROT13对所述设备标识进行编码,得到中间变量,然后将中间变量按字节位与2进行异或运算,得到所述第二私钥。
在操作S204,根据请求参数和所述第二私钥生成第二校验值。
在上述操作中,与图1所示的原理相同,从排序过的map字典中依次获取参数值,拼接成字符串;根据安全哈希算法对第二私钥和所述字符串进行运算,得到所述第二校验值。
在操作S205,比对第一校验值和第二校验值是否一致,若一致,则认定请求参数未被篡改,并根据请求数据向客户端提供服务。反之,则认定请求被篡改,服务器拒绝进行下一步处理。
图3示意性示出了根据本公开的应用于客户端的通信***的框图。
如图3所示,通信***300包括第一获取模块310、第二获取模块 320、校验值生成模块330、发送模块340。该通信***300可以执行上面参考图1描述的方法,以实现多个客户端和服务器之间的安全通信。
具体地,第一获取模块310用于获取客户端的设备标识,并根据设备标识生成第一私钥;第二获取模块320用于获取客户端与服务器进行网络通信时的请求参数;校验值生成模块330用于根据第一私钥和请求参数生成第一校验值;发送模块340将第一校验值加入至所述请求参数后发送至所述服务器,以使得服务器:在收到客户端发送的请求数据后,根据请求参数和请求数据中的设备标识生成第二校验值,比对第一校验值和第二校验值是否一致,若一致,则根据请求数据向客户端提供服务。
可以理解的是,第一获取模块310、第二获取模块320、校验值生成模块330、发送模块340可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,第一获取模块310、第二获取模块320、校验值生成模块330、发送模块340中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,第一获取模块310、第二获取模块320、校验值生成模块330、发送模块 340中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图4示意性示出了根据本公开的应用于服务器的通信***的框图。
如图4所示,通信***400包括第一获取模块410、第二获取模块 420、私钥生成模块430、校验值生成模块440、比对模块450。
具体地,第一获取模块410用于获取客户端发送的包括有第一校验值的请求参数;第二获取模块420用于获取客户端发送的请求数据;私钥生成模块430用于根据所述请求数据中的设备标识生成第二私钥;校验值生成模块440用于根据请求参数和所述第二私钥生成第二校验值;比对模块450用于比对第一校验值和所述第二校验值是否一致,若一致,则根据请求数据向客户端提供服务。
可以理解的是,第一获取模块410、第二获取模块420、私钥生成模块430、校验值生成模块440、比对模块450可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,第一获取模块 410、第二获取模块420、私钥生成模块430、校验值生成模块440、比对模块450中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者第一获取模块410、第二获取模块420、私钥生成模块430、校验值生成模块440、比对模块 450中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图5示意性示出了根据本公开的第一电子设备的框图。
如图5所示,第一电子设备500包括处理器510、计算机可读存储介质520。该第一电子设备500可以执行上面参考图1描述的方法,以实现客户端与服务器的安全通信。
具体地,处理器510例如可以包括通用微处理器、指令集处理器和 /或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器510还可以包括用于缓存用途的板载存储器。处理器510可以是用于执行参考图1描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质520,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质520可以包括计算机程序521,该计算机程序 521可以包括代码/计算机可执行指令,其在由处理器510执行时使得处理器510执行例如上面结合图1所描述的方法流程及其任何变形。
计算机程序521可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序521中的代码可以包括一个或多个程序模块,例如包括521A、模块521B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器 510执行时,使得处理器510可以执行例如上面结合图1所描述的方法流程及其任何变形。
图6示意性示出了根据本公开的第二电子设备的框图。
如图6所示,第二电子设备600包括处理器610、计算机可读存储介质620。该第一电子设备600可以执行上面参考图2描述的方法,以实现服务器与的客户端安全通信。
具体地,处理器610例如可以包括通用微处理器、指令集处理器和 /或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行参考图2描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质620,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质620可以包括计算机程序621,该计算机程序 621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行例如上面结合图2所描述的方法流程及其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621A、模块621B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行例如上面结合图2所描述的方法流程及其任何变形。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种应用于客户端的通信方法,方法包括:
获取所述客户端的设备标识,并根据所述设备标识生成第一私钥;
获取所述客户端与服务器进行网络通信时的请求参数;
根据所述第一私钥和请求参数生成第一校验值;
将所述第一校验值加入至所述请求参数后发送至所述服务器,以使得所述服务器:
在收到所述客户端发送的请求数据后,根据所述请求参数和请求数据中的设备标识生成第二校验值,比对所述第一校验值和所述第二校验值是否一致,若一致,则根据所述请求数据向所述客户端提供服务。
2.根据权利要求1所述的应用于客户端的通信方法,其中,根据所述设备标识生成第一私钥,包括:
根据ROT13对所述设备标识进行编码,得到中间变量;
将所述中间变量按字节位与2进行异或运算,得到所述第一私钥。
3.根据权利要求2所述的应用于客户端的通信方法,其中,获取所述客户端与服务器进行网络通信时的请求参数,包括:
针对网络通信中的POST请求或GET请求,提取请求中URL和BODY中的参数名及其参数值,并将所述参数名及其参数值保存到map字典中;
在所述map字典中按参数名的字母顺序进行排序。
4.根据权利要求3所述的应用于客户端的通信方法,其中,根据所述第一私钥和请求参数生成第一校验值,包括:
从排序过的map字典中依次获取参数值,拼接成字符串;
根据安全哈希算法对所述第一私钥和所述字符串进行运算,得到所述第一校验值。
5.一种应用于服务器的通信方法,方法包括:
获取客户端发送的包括有第一校验值的请求参数;
获取所述客户端发送的请求数据;
根据所述请求数据中的设备标识生成第二私钥;
根据所述请求参数和所述第二私钥生成第二校验值;
比对所述第一校验值和所述第二校验值是否一致,若一致,则根据所述请求数据向所述客户端提供服务。
6.根据权利要求5所述的应用于服务器的通信方法,其中,根据所述设备标识生成第二私钥,包括:
根据ROT13对所述设备标识进行编码,得到中间变量;
将所述中间变量按字节位与2进行异或运算,得到所述第二私钥。
7.根据权利要求6所述的应用于服务器的通信方法,其中,获取客户端发送的包括有第一校验值的请求参数,包括:
针对网络通信中的POST请求或GET请求,提取请求中URL和BODY中的参数名及其参数值,并将所述参数名及其参数值保存到map字典中;
在所述map字典中按参数名的字母顺序进行排序。
8.根据权利要求7所述的应用于服务器的通信方法,其中,根据所述请求参数和所述第二私钥生成第二校验值,包括:
从排序过的map字典中依次获取参数值,拼接成字符串;
根据安全哈希算法对所述第二私钥和所述字符串进行运算,得到所述第二校验值。
9.一种第一电子设备,其运行有客户端,所述第一电子设备包括:
第一处理器;
第一存储器,其存储有计算机可执行程序,该程序在被所述第一处理器执行时,使得所述所述第一处理器执行:
获取所述客户端的设备标识,并根据所述设备标识生成第一私钥;
获取所述客户端与服务器进行网络通信时的请求参数;
根据所述第一私钥和请求参数生成第一校验值;
将所述第一校验值加入至所述请求参数后发送至所述服务器,以使得所述服务器:
在收到所述客户端发送的请求数据后,根据所述请求参数和请求数据中的设备标识生成第二校验值,比对所述第一校验值和所述第二校验值是否一致,若一致,则根据所述请求数据向所述客户端提供服务。
10.一种第二电子设备,其运行有服务器,所述第二电子设备包括:
第二处理器;
第二存储器,其存储有计算机可执行程序,该程序在被所述第二处理器执行时,使得所述所述第二处理器执行:
获取客户端发送的包括有第一校验值的请求参数;
获取所述客户端发送的请求数据;
根据所述请求数据中的设备标识生成第二私钥;
根据所述请求参数和所述第二私钥生成第二校验值;
比对所述第一校验值和所述第二校验值是否一致,若一致,则根据所述请求数据向所述客户端提供服务。
CN201810125763.7A 2018-02-06 2018-02-06 应用于客户端和服务器的通信方法及电子设备 Active CN108400979B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810125763.7A CN108400979B (zh) 2018-02-06 2018-02-06 应用于客户端和服务器的通信方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810125763.7A CN108400979B (zh) 2018-02-06 2018-02-06 应用于客户端和服务器的通信方法及电子设备

Publications (2)

Publication Number Publication Date
CN108400979A true CN108400979A (zh) 2018-08-14
CN108400979B CN108400979B (zh) 2021-07-30

Family

ID=63096127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810125763.7A Active CN108400979B (zh) 2018-02-06 2018-02-06 应用于客户端和服务器的通信方法及电子设备

Country Status (1)

Country Link
CN (1) CN108400979B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714370A (zh) * 2019-03-07 2019-05-03 四川长虹电器股份有限公司 一种基于http协议端云安全通信的实现方法
CN111181940A (zh) * 2019-12-20 2020-05-19 国久大数据有限公司 数据校验方法及数据校验***
CN111291393A (zh) * 2020-01-21 2020-06-16 上海悦易网络信息技术有限公司 请求校验方法及设备
CN111835869A (zh) * 2020-07-30 2020-10-27 上海茂声智能科技有限公司 一种集中管控终端内容的方法、***、设备以及存储介质
CN113448747A (zh) * 2021-05-14 2021-09-28 中科可控信息产业有限公司 数据传输方法、装置、计算机设备和存储介质
CN114614996A (zh) * 2022-05-12 2022-06-10 深圳市华曦达科技股份有限公司 一种终端请求处理方法、装置及***
CN115118504A (zh) * 2022-06-28 2022-09-27 北京天融信网络安全技术有限公司 知识库更新方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742508A (zh) * 2009-12-21 2010-06-16 中兴通讯股份有限公司 一种wapi终端与应用服务器传输文件的***及方法
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
CN103973695A (zh) * 2014-05-16 2014-08-06 浪潮电子信息产业股份有限公司 一种与服务器验证的签名算法
CN105765941A (zh) * 2015-10-23 2016-07-13 深圳还是威健康科技有限公司 一种非法访问服务器防止方法以及装置
US20160344561A1 (en) * 2015-05-22 2016-11-24 Garret Grajek Securing multimedia content via certificate-issuing cloud service
CN106571923A (zh) * 2016-10-21 2017-04-19 天津海量信息技术股份有限公司 带时效的用户数据签名校验方法
CN106850566A (zh) * 2016-12-29 2017-06-13 北京奇艺世纪科技有限公司 一种数据一致性校验的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742508A (zh) * 2009-12-21 2010-06-16 中兴通讯股份有限公司 一种wapi终端与应用服务器传输文件的***及方法
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
CN103973695A (zh) * 2014-05-16 2014-08-06 浪潮电子信息产业股份有限公司 一种与服务器验证的签名算法
US20160344561A1 (en) * 2015-05-22 2016-11-24 Garret Grajek Securing multimedia content via certificate-issuing cloud service
CN105765941A (zh) * 2015-10-23 2016-07-13 深圳还是威健康科技有限公司 一种非法访问服务器防止方法以及装置
CN106571923A (zh) * 2016-10-21 2017-04-19 天津海量信息技术股份有限公司 带时效的用户数据签名校验方法
CN106850566A (zh) * 2016-12-29 2017-06-13 北京奇艺世纪科技有限公司 一种数据一致性校验的方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714370A (zh) * 2019-03-07 2019-05-03 四川长虹电器股份有限公司 一种基于http协议端云安全通信的实现方法
CN109714370B (zh) * 2019-03-07 2021-04-02 四川长虹电器股份有限公司 一种基于http协议端云安全通信的实现方法
CN111181940A (zh) * 2019-12-20 2020-05-19 国久大数据有限公司 数据校验方法及数据校验***
CN111291393A (zh) * 2020-01-21 2020-06-16 上海悦易网络信息技术有限公司 请求校验方法及设备
CN111835869A (zh) * 2020-07-30 2020-10-27 上海茂声智能科技有限公司 一种集中管控终端内容的方法、***、设备以及存储介质
CN111835869B (zh) * 2020-07-30 2023-06-16 上海茂声智能科技有限公司 一种集中管控终端内容的方法、***、设备以及存储介质
CN113448747A (zh) * 2021-05-14 2021-09-28 中科可控信息产业有限公司 数据传输方法、装置、计算机设备和存储介质
CN113448747B (zh) * 2021-05-14 2024-04-26 中科可控信息产业有限公司 数据传输方法、装置、计算机设备和存储介质
CN114614996A (zh) * 2022-05-12 2022-06-10 深圳市华曦达科技股份有限公司 一种终端请求处理方法、装置及***
CN115118504A (zh) * 2022-06-28 2022-09-27 北京天融信网络安全技术有限公司 知识库更新方法、装置、电子设备及存储介质
CN115118504B (zh) * 2022-06-28 2023-11-14 北京天融信网络安全技术有限公司 知识库更新方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108400979B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN108400979A (zh) 应用于客户端和服务器的通信方法及电子设备
US10560451B2 (en) Table-connected tokenization
ES2829916T3 (es) Procedimiento, aparato y sistema que proporciona una comprobación de seguridad
CN112019493B (zh) 身份认证方法、身份认证装置、计算机设备和介质
CN110602052B (zh) 微服务处理方法及服务器
US8763101B2 (en) Multi-factor authentication using a unique identification header (UIDH)
CN114144781A (zh) 身份验证和管理***
US9047293B2 (en) Computer file format conversion for neutralization of attacks
US10164777B2 (en) Privacy control using unique identifiers associated with sensitive data elements of a group
US20150149777A1 (en) Mobile terminal, terminal and authentication method using security cookie
CN109815051A (zh) 区块链的数据处理方法和***
US9773125B2 (en) Tokenization column replacement
EP4011031B1 (en) Secure identity card using unclonable functions
WO2018043951A1 (ko) 생체정보를 이용하여 결제 인증을 수행하는 포스 장치, 시스템 및 그 제어방법
Khalid et al. Cryptanalysis of ultralightweight mutual authentication protocol for radio frequency identification enabled Internet of Things networks
US8904508B2 (en) System and method for real time secure image based key generation using partial polygons assembled into a master composite image
Sombatruang et al. Internet Service Providers' and Individuals' Attitudes, Barriers, and Incentives to Secure {IoT}
CN113379019B (zh) 核销码生成方法、装置、存储介质及电子设备
CN110363000B (zh) 识别恶意文件的方法、装置、电子设备及存储介质
US11968526B2 (en) Identity management on a mobile device
CN115001768A (zh) 基于区块链的数据交互方法、装置、设备及存储介质
CN114095220A (zh) 电话通信验证方法、装置、设备及存储介质
CN113888165A (zh) 区块链的地址改造和身份认证方法、设备及储存介质
US10986494B1 (en) Multi cell phone tower information transfer security
US11658981B1 (en) Internet access management service server capable of providing internet access management service based on terminal grouping and operating method thereof

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
TR01 Transfer of patent right

Effective date of registration: 20240227

Address after: Room 101-1, Building 2, No. 95 Daguan Middle Road, Tianhe District, Guangzhou City, Guangdong Province, 510000

Patentee after: Guangzhou Zhongtian Technology Consulting Co.,Ltd.

Country or region after: China

Address before: 430000 Wuhan Donghu Development Zone, Wuhan, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240426

Address after: 461500, Group 9, Heping Village, Laocheng Town, Changge City, Xuchang City, Henan Province

Patentee after: Zhang Chaoran

Country or region after: China

Address before: Room 101-1, Building 2, No. 95 Daguan Middle Road, Tianhe District, Guangzhou City, Guangdong Province, 510000

Patentee before: Guangzhou Zhongtian Technology Consulting Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240611

Address after: 518000 3rd floor, building a, Xinyongfeng Industrial Park, 2 Tianbao Road, yingrenshi community, Shiyan street, Bao'an District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Xinmo Cube Technology Co.,Ltd.

Country or region after: China

Address before: 461500, Group 9, Heping Village, Laocheng Town, Changge City, Xuchang City, Henan Province

Patentee before: Zhang Chaoran

Country or region before: China