CN106878336A - 一种数据交互方法及装置 - Google Patents
一种数据交互方法及装置 Download PDFInfo
- Publication number
- CN106878336A CN106878336A CN201710196926.6A CN201710196926A CN106878336A CN 106878336 A CN106878336 A CN 106878336A CN 201710196926 A CN201710196926 A CN 201710196926A CN 106878336 A CN106878336 A CN 106878336A
- Authority
- CN
- China
- Prior art keywords
- information
- service request
- encryption
- service
- request 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本实施例提供的数据交互方法,根据不同的APP、不同的系统,预先生成APP的验证信息。当APP与服务端进行数据交互时,客户端获取目标验证信息及该目标验证信息对应的版本信息;然后,利用预设加密公式和预设加密算法对目标验证信息、版本信息和获得的业务请求参数进行加密,得到加密信息;再将加密信息、业务请求参数和版本信息发送给服务端;服务端根据加密信息、版本信息验证业务请求参数是否准确,当验证准确后,才利用所述业务请求参数与客户端进行数据交互。从上述过程可知,服务端接收到APP发送的数据后,需要通过与APP端一致的验证信息进行验证,验证正确后,才与APP进行业务数据交互,从而保证APP与服务端之间交互的安全性。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种数据交互方法及装置。
背景技术
随着手持智能终端飞速发展,基于手持智能终端开发的应用程序(Application,APP)越来越多。APP与后台的数据交互过程越来越重要。
目前,很多APP与后台的数据交互没有安全保护措施,要么没有加密,要么是简单的加密,很容易被破解,交互数据很容易被截取,因此,传统的APP与后台的数据交互过程安全性差。
发明内容
有鉴于此,本发明的目的在于提供一种数据交互方法及装置,以解决传统的APP与后台的数据交互过程安全性差的技术问题,本申请提供的技术方案如下:
第一方面,本申请提供一种数据交互方法,应用于客户端中,包括:
获取业务请求参数、目标验证信息和所述目标验证信息的版本信息,所述目标验证信息用于对所述客户端与服务端之间的交互数据进行安全验证;
利用预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和获得的业务请求参数进行加密运算,得到加密信息;
将所述加密信息、所述业务请求参数和所述版本信息发送给服务端,以使所述服务端根据所述加密信息和所述版本信息验证所述业务请求参数正确后与所述客户端进行数据交互。
可选地,所述方法还包括:
获取用于设置验证信息状态的状态设置指令,所述状态设置指令包括要启用的验证信息的目标版本信息,所述验证信息的状态包括正常和关闭;
根据所述状态设置指令,设置所述目标版本信息对应的验证信息的状态为正常状态。
可选地,所述利用预设的加密算法对所述业务请求参数、所述目标验证信息和所述版本信息进行加密运算,得到加密信息,包括:
利用消息摘要算法第五版对所述业务请求参数、所述目标验证信息和所述版本信息进行加密,得到所述加密信息。
可选地,利用超文本传输协议向所述服务端发送所述加密信息、所述业务请求参数和所述版本信息。
第二方面,本申请提供一种数据交互方法,应用于服务端,包括:
接收客户端发送的第一加密信息、业务请求参数和版本信息;
根据所述版本信息从所述服务端获取目标验证信息;
利用所述客户端所使用的预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和所述业务请求参数进行加密,得到第二加密信息;
比较所述第二加密信息与所述第一加密信息是否相同;
当所述第二加密信息与所述第一加密信息相同时,根据所述业务请求参数与所述客户端进行数据交互。
可选地,所述业务请求参数包括业务参数、业务请求对应的时间戳和发送所述业务请求参数的终端对应的设备唯一标识,所述方法在所述比较所述第二加密信息与所述第一加密信息是否相同之前,还包括:
所述服务端判断所述业务参数的完整性;
当所述业务参数完整时,判断所述时间戳是否在有效时间范围内;
当确定所述时间戳在有效时间范围内时,根据所述设备唯一标识判断发送所述业务请求参数的终端与登录设备是否一致;
当确定发送所述业务请求参数的终端与登录设备一致时,执行所述比较所述第二加密信息与所述第一加密信息是否相同的步骤。
第三方面,本申请还提供一种数据交互装置,应用于客户端中,包括:
第一获取单元,用于获取业务请求参数、目标验证信息和所述目标验证信息的版本信息,所述目标验证信息用于对所述客户端与服务端之间的交互数据进行安全验证;
加密单元,用于利用预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和获得的业务请求参数进行加密运算,得到加密信息;
发送单元,用于将所述加密信息、所述业务请求参数和所述版本信息发送给服务端,以使所述服务端根据所述加密信息和所述版本信息验证所述业务请求参数正确后与所述客户端进行数据交互。
可选地,所述装置还包括:
第二获取单元,用于获取用于设置验证信息状态的状态设置指令,所述状态设置指令包括要启用的验证信息的目标版本信息,所述验证信息的状态包括正常和关闭;
状态设置单元,用于根据所述状态设置指令,设置所述目标版本信息对应的验证信息的状态为正常状态。
第四方面,本申请还提供了一种数据交互装置,应用于服务端,包括:
接收单元,用于接收客户端发送的第一加密信息、业务请求参数和版本信息;
第一获取单元,用于根据所述版本信息从所述服务端获取目标验证信息;
加密单元,用于利用预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和所述业务请求参数进行加密,得到第二加密信息;
比较单元,用于比较所述第二加密信息与所述第一加密信息是否相同;
业务处理单元,用于当所述第二加密信息与所述第一加密信息相同时,根据所述业务请求参数与所述客户端进行数据交互。
可选地,所述业务请求参数包括业务参数、业务请求对应的时间戳和发送所述业务请求参数的终端对应的设备唯一标识,所述装置还包括:
第一判断单元,用于判断所述业务参数的完整性;
第二判断单元,用于当所述业务参数完整时,判断所述时间戳是否在有效时间范围内;
第三判断单元,用于当确定所述时间戳在有效时间范围内时,根据所述设备唯一标识判断发送所述业务请求参数的终端与登录设备是否一致;当确定发送所述业务请求参数的终端与登录设备一致时,控制所述业务处理单元执行相应的动作。
本实施例提供的数据交互方法及装置,根据不同的应用程序、不同的系统,预先生成APP的验证信息,同一APP可以对应多个验证信息,但同一时刻只有一个验证信息有效。当APP与服务端进行数据交互时,客户端获取目标验证信息及该目标验证信息对应的版本信息;然后,利用预设加密公式和预设加密算法对目标验证信息、版本信息和获得的业务请求参数进行加密得到加密信息;再将加密信息、业务请求参数和版本信息发送给服务端;服务端根据加密信息、版本信息和业务请求参数验证客户端发送的业务请求参数是否准确,当确定该业务请求参数准确后,利用所述业务请求参数与客户端进行数据交互。从上述过程可知,服务端接收到APP发送的业务请求参数后,需要通过与APP端一致的验证信息进行验证,验证正确后,才与APP进行业务数据交互,从而保证APP与服务端之间交互的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例一种数据交互方法的流程图;
图2示出了本申请实施例另一种数据交互方法的流程图;
图3示出了本申请实施例又一种数据交互方法的流程图;
图4示出了本申请实施例一种数据交互装置的框图;
图5示出了本申请实施例另一种数据交互装置的框图;
图6示出了本申请实施例一种数据交互装置的框图;
图7示出了本申请实施例又一种数据交互装置的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,示出了本申请实施例一种数据交互方法的流程图,该方法应用于客户端中(例如,手持智能终端上安装的APP)。如图1所示,该方法可以包括以下步骤:
S110,获取业务请求参数、目标验证信息和该目标验证信息的版本信息。
客户端的配置文件中包含验证信息和版本信息。当客户端检测到用户的操作后,产生业务请求参数;同时,从客户端的配置文件中获取目标验证信息及该目标验证信息对应的版本信息。所述目标验证信息用于对所述客户端与服务端之间的交互数据进行安全验证。
其中,客户端中用于管理验证信息的系统(或,称为后台)根据不同的项目、不同的系统生成验证信息和该验证信息对应的版本信息;验证信息可以是包含特殊字符、数字、英文字符的固定字符串。一个客户端可以对应多个验证信息,但同一时刻只有一个验证信息有效。每个验证信息对应一个版本信息,不同的验证信息的版本信息可以按顺序排列,例如,某个验证信息的版本信息可以是1.0.0,下一个验证信息的版本信息为1.0.1。
验证信息和该验证信息的版本信息被写入客户端的配置文件中,即客户端在发行时验证信息已被写死在发行的软件中。
客户端中用于管理验证信息的系统可以设置验证信息的状态,所述状态包括正常和关闭,例如,当某个APP被破译或规则被破解时,可以配置新版本的验证信息以升级APP。同时,停用旧版本的验证信息,这样,当利用旧版本的验证信息与服务端进行交互时,APP与服务端之间的交互不会成功。
S120,利用预设加密公式和预设加密算法对目标验证信息、版本信息和获得的业务请求参数进行加密运算,得到加密信息。
预设加密公式规定了需要根据加密算法进行加密处理的各个信息的顺序及预处理过程。例如,预处理过程可以是去掉字符串中的首位或末尾字符等处理过程。
客户端和服务端协商确定预设加密公式,并将预设加密公式写入客户端的代码中,同时,也将预设加密公式存储到服务器中。
例如,预设加密算法可以是消息摘要第五版(Message-Digest algorithm 5,MD5),或者,其它加密算法。客户端利用MD5算法,对目标验证信息、版本信息和业务请求参数进行加密运算,得到加密信息。
在本申请一种可能的实现方式中,业务请求参数包括客户端与服务器之间进行业务交互时所需的所有参数;
在本申请另一种可能的实现方式中,业务请求参数除包括业务交互所需的所有参数外,还包括该业务请求的时间戳;如果用户在客户端进行登录操作后,该用户登录时的设备唯一标识,例如,智能手机的国际移动设备身份码(International Mobile EquipmentIdentity,IMEI)也包含在业务请求参数中。以便服务端对客户端发送的业务请求参数进行验证。
S130,将所述加密信息、所述业务请求参数和所述版本信息发送给服务端,以使所述服务端根据所述版本信息、加密信息验证所述业务请求参数正确后与所述客户端进行数据交互。
客户端将加密信息、业务请求参数和验证信息的版本信息通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)发送给服务端,且参数通过POST方式传输。
然后,由服务端利用加密信息、版本信息和业务请求参数验证客户端发送的业务请求参数是否准确,如果准确,则进行业务逻辑处理,即与客户端之间进行业务数据交互。
本实施例提供的数据交互方法,根据不同的APP、不同的系统,预先生成APP的验证信息。当APP与服务端进行数据交互时,客户端获取目标验证信息及该目标验证信息对应的版本信息;然后,利用预设加密公式和预设加密算法对目标验证信息、版本信息和获得的业务请求参数进行加密,得到加密信息;再将加密信息、业务请求参数和版本信息发送给服务端;服务端根据加密信息、版本信息验证业务请求参数是否准确,当验证准确后,才利用所述业务请求参数与客户端进行数据交互。从上述过程可知,服务端接收到APP发送的数据后,需要通过与APP端一致的验证信息进行验证,验证正确后,才与APP进行业务数据交互,从而保证APP与服务端之间交互的安全性。
请参见图2,示出了本申请实施例另一种数据交互方法的流程图,该方法应用于服务端,如图2所示,该方法可以包括以下步骤:
S210,服务端接收客户端发送的第一加密信息、业务请求参数和版本信息。
服务端通过HTTP连接接收客户端发送的第一加密信息、业务请求参数和版本信息。HTTP连接会对传输的数据进行加密,因此能够保证数据的安全性。
S220,根据所述版本信息从所述服务端获取目标验证信息。
服务端的数据库内存储有各个版本的客户端所对应的验证信息,其中,一个客户端对应多个验证信息;服务端的数据库内会对应存储验证信息及验证信息的版本信息,服务端接收到版本信息后从数据库中查找对应的目标验证信息。
S230,利用预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和所述业务请求参数进行加密,得到第二加密信息。
服务器中对应存储有客户端所使用的预设加密公式,该预设加密公式规定了需要根据加密算法进行加密处理的各个信息的顺序及预处理过程。例如,预处理过程可以是去掉字符串中的首位或末尾字符等处理过程。
预设加密算法是指客户端和服务端约定好的加密算法,例如,MD5。
服务端利用客户端所使用的加密算法对版本信息、业务请求参数和查找到的版本信息进行加密运算,得到第二加密信息。
S240,比较第二加密信息与第一加密信息是否相同;如果相同,则执行S250;如果不相同,则执行S260。
服务端比较加密得到的第二加密信息与接收到的第一加密信息是否相同,如果相同,则表明客户端发送的业务请求参数正确,符合安全要求;如果不相同,则表明业务请求参数不准确、不符合安全要求。
S250,根据所述业务请求参数与所述客户端进行数据交互。
在确定业务请求参数满足安全要求后,才进行后续的业务逻辑处理过程。
S260,向客户端返回错误信息。
在确定业务请求参数不满足安全要求后,向客户端返回错误信息,以提示客户端当前业务不满足安全要求,无法继续处理。
本实施例提供的数据交互方法,客户端除向服务端发送业务请求参数外,还需要发送验证信息的版本信息和第一加密信息;然后,服务端根据版本信息获取目标验证信息,并对所述版本信息、目标验证信息和业务请求参数利用预设加密算法进行加密,得到第二加密信息;当第二加密信息和第一加密信息相同时,才继续进行业务逻辑处理,这样,相当于服务端对客户端发送的业务请求参数进行验证,验证正确后才与APP进行业务数据交互,从而保证APP与服务端之间交互的安全性。
请参见图3,示出了本申请实施例又一种数据交互方法的流程图,该方法应用于包括客户端和服务端的系统中,如图3所示,该方法可以包括以下步骤:
S310,当客户端检测到用户的业务请求操作后,产生业务请求参数。
本实施例中,业务请求参数包括业务所需所有参数、业务请求的时间戳,以及发送该业务请求参数的终端对应的设备唯一标识,例如,终端是手机时,该设备唯一标识可以是手机的IMEI。
S320,客户端获取目标验证信息及目标验证信息的版本信息。
S330,客户端利用预设加密公式和预设加密算法对目标验证信息、版本信息和业务请求参数进行加密,得到第一加密信息。
S340,客户端将第一加密信息、业务请求参数和版本信息通过HTTP连接发送给服务端。
S350,服务端判断业务所需的参数是否完整;如果完整,则执行S360,否则,执行S3120;
服务端有相应的参数说明,包括参数的传输方式(例如,get,post)、参数的属性(例如,整型、字符型)、参数是否必填等,服务端会根据参数说明逐一对业务请求参数进行校验,如果校验结果都不为空,表明校验结果与参数说明一致,从而证明该业务请求参数完整。
S360,服务端判断时间戳是否在有效时间范围内;如果是,则执行S370;否则,执行S3120。
业务请求参数中的时间戳是客户端生成该业务请求时携带的客户端侧的时间。考虑到客户端侧的时间可能与服务端的时间不一致,而且信息传输需要一定的时间,因此,有效时间范围可以是该时间戳的前后预设时间段。
例如,时间戳是1月1日10:15am,预设时间段是15min,则有效时间范围可以是1月1日的10:00~10:30am。
S370,服务端根据所述设备唯一标识判断发送业务请求参数的终端是否与登录设备一致;如果一致,则执行S380;否则,执行S3120。
服务端接收到的业务请求参数中包含发送该业务请求参数的设备唯一标识,与用户登录该客户端时保存的设备唯一标识是否相同,如果两个设备唯一标识相同,则确定发送业务请求参数的终端设备与登录时的设备相同,表明该业务请求参数是由登录设备发送的;否则,确定发送业务请求参数的终端设备与登录时的设备不相同,表明该业务请求参数是另一个终端(进而表明该客户端可能被恶意破解)发送的。
S380,服务端从本地查找与所述版本信息对应的目标验证信息。
服务端数据库中存储有验证信息和验证信息的版本信息。
S390,服务端利用与客户端一致的预设加密公式和预设加密算法,对目标验证信息、版本信息和所述业务请求参数进行加密运算,得到第二加密信息。
S3100,服务端比较第二加密信息与第一加密信息是否相同;如果相同,则执行S3110;否则,执行S3120。
S3110,服务端据业务请求参数处理业务逻辑,与客户端之间进行相应的数据交互。
S3120,服务端向客户端返回错误提示信息。
S3130,客户端向展示所述错误提示信息。
本实施例提供的数据交互方法,当APP与服务端进行数据交互时,客户端获取目标验证信息及该目标验证信息对应的版本信息;然后,利用预设加密公式和预设加密算法对目标验证信息、版本信息和获得的业务请求参数进行加密,得到加密信息;再将加密信息、业务请求参数和版本信息发送给服务端;服务端根据加密信息、版本信息验证业务请求参数是否准确,当验证准确后,才利用所述业务请求参数与客户端进行数据交互。从上述过程可知,服务端接收到APP发送的数据后,需要通过与APP端一致的验证信息进行验证,验证正确后,才与APP进行业务数据交互,从而保证APP与服务端之间交互的安全性。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
相应于上述的数据交互方法实施例,本申请还提供了数据交互装置实施例。
请参见图4,示出了本申请实施例一种数据交互装置的框图,该装置应用于客户端中,如图4所示,该装置包括:第一获取单元110、加密单元120和发送单元130。
第一获取单元110,用于获取业务请求参数、目标验证信息和该目标验证信息的版本信息。
目标验证信息用于对所述客户端与服务端之间的交互数据进行安全验证。后台(客户端中用于管理验证信息的系统)根据不同的项目、不同的系统生成验证信息和该验证信息对应的版本信息;验证信息可以是包含特殊字符、数字、英文字符的固定字符串。
验证信息和对应的版本信息被写入客户端的配置文件中,即客户端在发行时验证信息已被写死在发行的软件中。
加密单元120,用于利用预设加密公式和预设加密算法对目标验证信息、版本信息和获得的业务请求参数进行加密运算,得到加密信息。
预设加密算法是客户端和服务端约定好的加密算法,例如,MD5。加密单元120利用MD5算法,对目标验证信息、版本信息和业务请求参数进行加密运算,得到加密信息。
发送单元130,用于将加密信息、业务请求参数和版本信息发送给服务端,以使服务端根据加密信息和版本信息验证业务请求参数正确后与所述客户端进行数据交互。
客户端将加密信息、业务请求参数和验证信息的版本信息通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)发送给服务端,且参数通过POST方式传输。
然后,由服务端利用加密信息、版本信息和业务请求参数验证客户端发送的业务请求参数是否准确,如果准确,则进行业务逻辑处理,即与客户端之间进行业务数据交互。
本实施例提供的数据交互装置,根据不同的应用程序(Application,APP)、不同的系统,预先生成APP的验证信息。当APP与服务端进行数据交互时,客户端获取目标验证信息及该目标验证信息对应的版本信息;然后,利用预设加密公式和预设加密算法对目标验证信息、版本信息和获得的业务请求参数进行加密,得到加密信息;再将加密信息、业务请求参数和版本信息发送给服务端;服务端根据加密信息、版本信息验证业务请求参数是否准确,当验证准确后,才利用所述业务请求参数与客户端进行数据交互。从上述过程可知,服务端接收到APP发送的数据后,需要通过与APP端一致的验证信息进行验证,验证正确后,才与APP进行业务数据交互,从而保证APP与服务端之间交互的安全性。
请参见图5,示出了本申请实施例另一种数据交互装置的框图,该装置在图4所示实施例的基础上还包括:第二获取单元210和状态设置单元220。
第二获取单元210,用于获取用于设置验证信息状态的状态设置指令;
所述状态设置指令包括要启用的验证信息的目标版本信息,所述验证信息的状态包括正常和关闭。
状态设置单元220,用于根据所述状态设置指令,设置所述目标版本信息对应的验证信息的状态为正常状态。
用于管理验证信息的系统可以设置验证信息的状态,所述状态包括正常和关闭,例如,当某个APP被破译或规则被破解时,可以配置新版本的验证信息以升级APP。同时,停用旧版本的验证信息,这样,当利用旧版本的验证信息与服务端进行交互时,APP与服务端之间的交互不会成功。
本实施例提供的数据交互装置,可以根据实际需求更换当前使用的验证信息,当停用旧版本的验证信息后,如果再利用旧版本的验证信息与服务器进行数据交互,将会导致APP与服务端之间的交互失败,这样,保证客户端与服务端之间的数据交互的安全性。
本申请还提供了应用于服务端的数据交互装置实施例。
请参见图6,示出了本申请实施例一种数据交互装置的框图,该装置应用于服务端,如图6所示,该装置包括接收单元310、第一获取单元320、加密单元330、比较单元340和业务处理单元350。
接收单元310,用于接收客户端发送的第一加密信息、业务请求参数和版本信息。
服务端通过HTTP连接接收客户端发送的第一加密信息、业务请求参数和版本信息。HTTP连接会对传输的数据进行加密,因此能够保证数据的安全性。
第一获取单元320,用于根据所述版本信息从所述服务端获取目标验证信息。
服务端的数据库内存储有各个版本的客户端所对应的验证信息,其中,一个客户端对应多个验证信息;服务端的数据库内会对应存储验证信息及验证信息的版本信息,服务端接收到版本信息后从数据库中查找对应的目标验证信息。
加密单元330,用于利用预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和所述业务请求参数进行加密,得到第二加密信息。
服务端利用客户端所使用的预设加密公式和加密算法对版本信息、业务请求参数和查找到的版本信息进行加密运算,得到第二加密信息。
比较单元340,用于比较所述第二加密信息与所述第一加密信息是否相同。
服务端比较加密得到的第二加密信息与接收到的第一加密信息是否相同,如果相同,则表明客户端发送的业务请求参数正确,符合安全要求;如果不相同,则表明业务请求参数不准确、不符合安全要求。
业务处理单元350,用于当所述第二加密信息与所述第一加密信息相同时,根据所述业务请求参数与所述客户端进行数据交互。
在确定业务请求参数满足安全要求后,才进行后续的业务逻辑处理过程。
本实施例提供的数据交互装置,客户端除向服务端发送业务请求参数外,还需要发送验证信息的版本信息和第一加密信息;然后,服务端根据版本信息获取目标验证信息,并对所述版本信息、目标验证信息和业务请求参数利用预设加密公式和预设加密算法进行加密,得到第二加密信息;当第二加密信息和第一加密信息相同时,才继续进行业务逻辑处理,这样,相当于服务端对客户端发送的业务请求参数进行验证,验证正确后才与APP进行业务数据交互,从而保证APP与服务端之间交互的安全性。
请参见图7,示出了本申请实施例又一种数据交互装置的框图,该装置应用于服务端,该装置在图6所示实施例的基础上还包括:第一判断单元410、第二判断单元420和第三判断单元430;
第一判断单元410,用于判断所述业务参数的完整性。
服务端有相应的参数说明,包括参数的传输方式(例如,get,post)、参数的属性(例如,整型、字符型)、参数是否必填等,服务端会根据参数说明逐一对业务请求参数进行校验,如果校验结果都不为空,表明校验结果与参数说明一致,进而说明该业务请求参数完整。
第二判断单元420,用于当所述业务参数完整时,判断所述时间戳是否在有效时间范围内。
业务请求参数中的时间戳是客户端生成该业务请求时携带的客户端侧的时间。考虑到客户端侧的时间可能与服务端的时间不一致,而且信息传输需要一定的时间,因此,有效时间范围可以是该时间戳的前后预设时间段。
第三判断单元430,用于当确定所述时间戳在有效时间范围内时,根据所述设备唯一标识判断发送所述业务请求参数的终端与登录设备是否一致;当确定发送所述业务请求参数的终端与登录设备一致时,控制业务处理单元执行相应的动作。
服务端接收到的业务请求参数中包含发送该业务请求参数的设备唯一标识,与用户登录该客户端时保存的设备唯一标识是否相同,如果两个设备唯一标识相同,则确定发送业务请求参数的终端设备与登录时的设备相同,表明该业务请求参数是由登录设备发送的;然后,触发业务处理单元进行相应的处理;否则,确定发送业务请求参数的终端设备与登录时的设备不相同,表明该业务请求参数是另一个终端(进而表明该客户端可能被恶意破解)发送的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据交互方法,应用于客户端中,其特征在于,包括:
获取业务请求参数、目标验证信息和所述目标验证信息的版本信息,所述目标验证信息用于对所述客户端与服务端之间的交互数据进行安全验证;
利用预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和获得的业务请求参数进行加密运算,得到加密信息;
将所述加密信息、所述业务请求参数和所述版本信息发送给服务端,以使所述服务端根据所述加密信息和所述版本信息验证所述业务请求参数正确后与所述客户端进行数据交互。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用于设置验证信息状态的状态设置指令,所述状态设置指令包括要启用的验证信息的目标版本信息,所述验证信息的状态包括正常和关闭;
根据所述状态设置指令,设置所述目标版本信息对应的验证信息的状态为正常状态。
3.根据权利要求1所述的方法,其特征在于,所述利用预设的加密算法对所述业务请求参数、所述目标验证信息和所述版本信息进行加密运算,得到加密信息,包括:
利用消息摘要算法第五版对所述业务请求参数、所述目标验证信息和所述版本信息进行加密,得到所述加密信息。
4.根据权利要求1所述的方法,其特征在于,利用超文本传输协议向所述服务端发送所述加密信息、所述业务请求参数和所述版本信息。
5.一种数据交互方法,应用于服务端,其特征在于,包括:
接收客户端发送的第一加密信息、业务请求参数和版本信息;
根据所述版本信息从所述服务端获取目标验证信息;
利用所述客户端所使用的预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和所述业务请求参数进行加密,得到第二加密信息;
比较所述第二加密信息与所述第一加密信息是否相同;
当所述第二加密信息与所述第一加密信息相同时,根据所述业务请求参数与所述客户端进行数据交互。
6.根据权利要求5所述的方法,其特征在于,所述业务请求参数包括业务参数、业务请求对应的时间戳和发送所述业务请求参数的终端对应的设备唯一标识,所述方法在所述比较所述第二加密信息与所述第一加密信息是否相同之前,还包括:
所述服务端判断所述业务参数的完整性;
当所述业务参数完整时,判断所述时间戳是否在有效时间范围内;
当确定所述时间戳在有效时间范围内时,根据所述设备唯一标识判断发送所述业务请求参数的终端与登录设备是否一致;
当确定发送所述业务请求参数的终端与登录设备一致时,执行所述比较所述第二加密信息与所述第一加密信息是否相同的步骤。
7.一种数据交互装置,应用于客户端中,其特征在于,包括:
第一获取单元,用于获取业务请求参数、目标验证信息和所述目标验证信息的版本信息,所述目标验证信息用于对所述客户端与服务端之间的交互数据进行安全验证;
加密单元,用于利用预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和获得的业务请求参数进行加密运算,得到加密信息;
发送单元,用于将所述加密信息、所述业务请求参数和所述版本信息发送给服务端,以使所述服务端根据所述加密信息和所述版本信息验证所述业务请求参数正确后与所述客户端进行数据交互。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于获取用于设置验证信息状态的状态设置指令,所述状态设置指令包括要启用的验证信息的目标版本信息,所述验证信息的状态包括正常和关闭;
状态设置单元,用于根据所述状态设置指令,设置所述目标版本信息对应的验证信息的状态为正常状态。
9.一种数据交互装置,应用于服务端,其特征在于,包括:
接收单元,用于接收客户端发送的第一加密信息、业务请求参数和版本信息;
第一获取单元,用于根据所述版本信息从所述服务端获取目标验证信息;
加密单元,用于利用预设加密公式和预设加密算法对所述目标验证信息、所述版本信息和所述业务请求参数进行加密,得到第二加密信息;
比较单元,用于比较所述第二加密信息与所述第一加密信息是否相同;
业务处理单元,用于当所述第二加密信息与所述第一加密信息相同时,根据所述业务请求参数与所述客户端进行数据交互。
10.根据权利要求9所述的装置,其特征在于,所述业务请求参数包括业务参数、业务请求对应的时间戳和发送所述业务请求参数的终端对应的设备唯一标识,所述装置还包括:
第一判断单元,用于判断所述业务参数的完整性;
第二判断单元,用于当所述业务参数完整时,判断所述时间戳是否在有效时间范围内;
第三判断单元,用于当确定所述时间戳在有效时间范围内时,根据所述设备唯一标识判断发送所述业务请求参数的终端与登录设备是否一致;当确定发送所述业务请求参数的终端与登录设备一致时,控制所述业务处理单元执行相应的动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196926.6A CN106878336A (zh) | 2017-03-29 | 2017-03-29 | 一种数据交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196926.6A CN106878336A (zh) | 2017-03-29 | 2017-03-29 | 一种数据交互方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106878336A true CN106878336A (zh) | 2017-06-20 |
Family
ID=59161090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710196926.6A Pending CN106878336A (zh) | 2017-03-29 | 2017-03-29 | 一种数据交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106878336A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881966A (zh) * | 2018-04-13 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 一种信息处理方法以及相关设备 |
CN110381060A (zh) * | 2019-07-19 | 2019-10-25 | 百度(中国)有限公司 | 数据处理方法、装置、系统及存储介质 |
CN111553447A (zh) * | 2020-04-26 | 2020-08-18 | 黄应明 | 一种通信数据转换方法、装置及数据处理终端 |
CN112822237A (zh) * | 2020-12-28 | 2021-05-18 | 北京奇艺世纪科技有限公司 | 网络请求传输方法及装置 |
CN113032828A (zh) * | 2021-03-23 | 2021-06-25 | 广东电网有限责任公司 | 一种改进的二进制交互信息加密方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404576A (zh) * | 2008-09-27 | 2009-04-08 | 深圳市迅雷网络技术有限公司 | 一种网络资源查询方法和系统 |
CN102546179A (zh) * | 2011-12-31 | 2012-07-04 | 珠海市君天电子科技有限公司 | 一种服务器端和客户端之间的身份验证方法 |
US20130283361A1 (en) * | 2012-04-23 | 2013-10-24 | General Instrument Corporation | Identity verification |
CN106357694A (zh) * | 2016-11-10 | 2017-01-25 | 天脉聚源(北京)传媒科技有限公司 | 一种访问请求处理方法及装置 |
CN106411902A (zh) * | 2016-09-30 | 2017-02-15 | 广东网金控股股份有限公司 | 一种数据安全传输方法及系统 |
-
2017
- 2017-03-29 CN CN201710196926.6A patent/CN106878336A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404576A (zh) * | 2008-09-27 | 2009-04-08 | 深圳市迅雷网络技术有限公司 | 一种网络资源查询方法和系统 |
CN102546179A (zh) * | 2011-12-31 | 2012-07-04 | 珠海市君天电子科技有限公司 | 一种服务器端和客户端之间的身份验证方法 |
US20130283361A1 (en) * | 2012-04-23 | 2013-10-24 | General Instrument Corporation | Identity verification |
CN106411902A (zh) * | 2016-09-30 | 2017-02-15 | 广东网金控股股份有限公司 | 一种数据安全传输方法及系统 |
CN106357694A (zh) * | 2016-11-10 | 2017-01-25 | 天脉聚源(北京)传媒科技有限公司 | 一种访问请求处理方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881966A (zh) * | 2018-04-13 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 一种信息处理方法以及相关设备 |
CN108881966B (zh) * | 2018-04-13 | 2021-04-27 | 武汉斗鱼网络科技有限公司 | 一种信息处理方法以及相关设备 |
CN110381060A (zh) * | 2019-07-19 | 2019-10-25 | 百度(中国)有限公司 | 数据处理方法、装置、系统及存储介质 |
CN110381060B (zh) * | 2019-07-19 | 2022-07-29 | 百度(中国)有限公司 | 数据处理方法、装置、系统及存储介质 |
CN111553447A (zh) * | 2020-04-26 | 2020-08-18 | 黄应明 | 一种通信数据转换方法、装置及数据处理终端 |
CN111553447B (zh) * | 2020-04-26 | 2023-05-02 | 重庆蓝数软件有限公司 | 一种通信数据转换方法、装置及数据处理终端 |
CN112822237A (zh) * | 2020-12-28 | 2021-05-18 | 北京奇艺世纪科技有限公司 | 网络请求传输方法及装置 |
CN113032828A (zh) * | 2021-03-23 | 2021-06-25 | 广东电网有限责任公司 | 一种改进的二进制交互信息加密方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106878336A (zh) | 一种数据交互方法及装置 | |
CN104869175B (zh) | 跨平台的账号资源共享实现方法、装置及系统 | |
CN105119722B (zh) | 一种身份验证方法、设备及系统 | |
CN105554098B (zh) | 一种设备配置方法、服务器及系统 | |
EP3319292A1 (en) | Method for checking security based on biological features, client and server | |
CN108347361B (zh) | 应用程序测试方法、装置、计算机设备和存储介质 | |
CN108322416B (zh) | 一种安全认证实现方法、装置及系统 | |
WO2019140790A1 (zh) | 业务跟踪方法、装置、终端设备及存储介质 | |
CN108024243A (zh) | 一种eSIM卡入网通信方法及其系统 | |
CN106330828A (zh) | 网络安全接入的方法、终端设备及认证服务器 | |
CN105187369A (zh) | 一种数据访问方法及装置 | |
CN105592459B (zh) | 基于无线通信的安全认证装置 | |
CN111510442A (zh) | 一种用户验证方法、装置、电子设备及存储介质 | |
CN107580002A (zh) | 双因子认证安全管理机登录系统及方法 | |
CN104935436B (zh) | 一种用户验证方法及系统 | |
CN113329004B (zh) | 一种认证方法、系统及装置 | |
CN109495458A (zh) | 一种数据传输的方法、系统及相关组件 | |
CN106941405A (zh) | 一种在无线局域网中终端认证的方法和装置 | |
CN110166471A (zh) | 一种Portal认证方法及装置 | |
CN107548542A (zh) | 经强化完整性及安全性的用户认证方法 | |
CN105577657A (zh) | 一种ssl/tls算法套件的扩展方法 | |
CN110417567A (zh) | 一种物联网设备的配置方法和装置 | |
CN106330947A (zh) | 一种识别伪装WiFi的方法、系统及系统工作方法 | |
CN110177096A (zh) | 客户端认证方法、装置、介质和计算设备 | |
CN108234415A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170620 |