CN104065624B - 请求消息的安全校验方法、系统和装置 - Google Patents

请求消息的安全校验方法、系统和装置 Download PDF

Info

Publication number
CN104065624B
CN104065624B CN201310092783.6A CN201310092783A CN104065624B CN 104065624 B CN104065624 B CN 104065624B CN 201310092783 A CN201310092783 A CN 201310092783A CN 104065624 B CN104065624 B CN 104065624B
Authority
CN
China
Prior art keywords
request message
client
key
server
facility information
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
CN201310092783.6A
Other languages
English (en)
Other versions
CN104065624A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310092783.6A priority Critical patent/CN104065624B/zh
Publication of CN104065624A publication Critical patent/CN104065624A/zh
Application granted granted Critical
Publication of CN104065624B publication Critical patent/CN104065624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出一种请求消息的安全校验方法,包括以下步骤:客户端生成请求消息,并在请求消息中添加客户端的设备信息;客户端根据请求消息中的关键字段和设备信息生成密钥,并将密钥添加至请求消息;客户端将请求消息发送至服务器,以供服务器根据请求消息中的关键字段、设备信息及密钥对客户端进行安全校验。本发明通过服务器和客户端对比密钥来判断请求消息的合法性,可以使用HTTP完成,简洁的同时保证了服务的安全性。本发明还公开了一种请求消息的安全校验系统、一种客户端、一种服务器和一种请求消息的安全校验方法。

Description

请求消息的安全校验方法、系统和装置
技术领域
本发明涉及计算机科学技术领域,特别涉及一种请求消息的安全校验方法、系统和装置。
背景技术
随着互联网的发展,衍生出了各式各样的网络服务和应用,用户在互联网上可以浏览新闻、交友、求职等等。互联网为用户提供了丰富的资源,随着网络互动的日益频繁,网络安全也成为人们日益关注的焦点之一。
客户端与服务器之间的请求消息是网络中常见的一种通信形式,然而普通的客户端请求消息无加密措施,信息暴露在网络中,造成安全隐患,而现有网络协议加密,例如HTTPs(Hypertext Transfer Protocol Over Secure Socket Layer),是一种以安全为目标的HTTP通道,由SSL(Secure Socket Layer,安全套接层)+HTTP协议构建的可进行加密传输、身份认证的网络协议。与普通HTTP请求不同,HTTPs需要申请单独的域名和端口号,并且使用的SSL数据加密校验消耗较大。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明的一个目的在于提出一种请求消息的安全校验方法,通过服务器和客户端对比密钥来判断请求消息的合法性,可以使用HTTP完成,简洁的同时保证了服务的安全性。
本发明的第二个目的在于提出一种请求消息的安全校验系统。
本发明的第三个目的在于提出一种客户端。
本发明的第四个目的在于提出一种服务器。
本发明的第五个目的在于提出一种请求消息的安全校验方法。
为达到上述目的,本发明第一方面的实施例提出了一种请求消息的安全校验方法,包括以下步骤:客户端生成请求消息,并在所述请求消息中添加所述客户端的设备信息;所述客户端根据所述请求消息中的关键字段和所述设备信息生成密钥,并将所述密钥添加至所述请求消息;所述客户端将所述请求消息发送至服务器,以供所述服务器根据所述请求消息中的关键字段、设备信息及所述密钥对所述客户端进行安全校验。
根据本发明实施例的请求消息的安全校验方法在请求消息中追加客户端设备的信息、关键字段以及客户端生成的密钥,同时服务器通过提取请求消息中的相关信息计算得到密钥,与客户端发送的密钥比较来判断请求合法性。使用普通的HTTP协议也可智能的进行判断,尤其对于不同协议请求,该方法可以有效的判断请求来源的合法性,保证了服务的安全性,同时安全验证方面消耗相对较小。
在本发明的一个实施例中,所述客户端根据所述请求消息中的关键字段和所述设备信息生成密钥进一步包括:所述客户端根据排序算法对所述关键字段和所述设备信息进行排序;所述客户端根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述密钥。
在本发明的一个实施例中,所述排序算法和所述加密算法为预设在所述客户端中。预设算法产生的密钥安全性较低,更改算法需要同步客户端和服务器,比较受限制。
在本发明的一个实施例中,所述排序算法和所述加密算法由所述服务器动态地发送至所述客户端。此种方式中的排序和加密算法受服务器控制,可以动态变化。服务器可以修改客户端端的密钥生成规则,安全性高,灵活性好。
在本发明的一个实施例中,所述加密算法为不可逆加密算法。不可以加密算法安全性高,不容易被破解。
在本发明的一个实施例中,所述服务器根据所述请求消息中的关键字段、设备信息及所述密钥对所述客户端进行安全校验进一步包括:所述服务器提取所述请求消息中的关键字段和设备信息;所述服务器根据提取的所述关键字段和设备信息生成待验证密钥;所述服务器判断所述待验证密钥与所述请求消息中的密钥是否一致;如果判断一致,则所述服务器判断所述请求消息通过安全校验。
在本发明的一个实施例中,所述服务器根据提取的所述关键字段和设备信息生成待验证密钥进一步包括:所述服务器根据排序算法对提取的所述关键字段和所述设备信息进行排序;所述服务器根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述密钥。
在本发明的一个实施例中,所述客户端和所述服务器之间所使用的排序算法和加密算法相同。
本发明第二方面的实施例提出了一种请求消息的安全校验系统,包括客户端和服务器。其中,客户端用于生成请求消息,并在所述请求消息中添加所述客户端的设备信息,以及根据所述请求消息中的关键字段和所述设备信息生成密钥,并将具有所述密钥的所述请求消息发送至服务器;所述服务器用于根据所述请求消息中的关键字段、设备信息及所述密钥对所述客户端进行安全校验。
根据本发明实施例的请求消息的安全校验系统在请求消息中追加客户端设备的信息、关键字段以及客户端生成的密钥,同时服务器通过提取请求消息中的相关信息计算得到密钥,与客户端发送的密钥比较来判断请求合法性。使用普通的HTTP协议也可智能的进行判断,尤其对于不同协议请求,该系统可以有效的判断不同请求来源的合法性,保证了服务的安全性,同时安全验证方面消耗相对较小。
在本发明的一个实施例中,所述客户端根据排序算法对所述关键字段和所述设备信息进行排序,并根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述密钥。
在本发明的一个实施例中,所述排序算法和所述加密算法为预设在所述客户端中。预设算法产生的密钥安全性较低,更改算法需要同步客户端和服务器,比较受限制。
在本发明的一个实施例中,所述排序算法和所述加密算法由所述服务器动态地发送至所述客户端。此种方式中的排序和加密算法受服务器控制,可以动态变化。服务器可以修改客户端端的密钥生成规则,安全性高,灵活性好。
在本发明的一个实施例中,所述加密算法为不可逆加密算法。不可以加密算法安全性高,不容易被破解。
在本发明的一个实施例中,所述服务器提取所述请求消息中的关键字段和设备信息,并根据提取的所述关键字段和设备信息生成待验证密钥,以及在所述待验证密钥与所述请求消息中的密钥一致时,判断所述请求消息通过安全校验。
在本发明的一个实施例中,所述服务器根据排序算法对提取的所述关键字段和所述设备信息进行排序,并根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述密钥。
在本发明的一个实施例中,所述客户端和所述服务器之间所使用的排序算法和加密算法相同。
本发明第三方面的实施例提出了一种客户端,包括生成模块、添加模块、加密模块和发送模块。其中,生成模块用于生成请求消息;添加模块用于在所述请求消息中添加所述客户端的设备信息;加密模块用于根据所述请求消息中的关键字段和所述设备信息生成密钥,并将所述密钥添加至所述请求消息;发送模块用于将所述请求消息发送至服务器,以供所述服务器根据所述请求消息中的关键字段、设备信息及所述密钥对所述客户端进行安全校验。
根据本发明实施例的客户端在请求消息中追加客户端设备的信息、关键字段以及客户端生成的密钥。使用普通的HTTP协议也可智能的进行判断,尤其对于不同协议请求,可以有效的判断请求来源的合法性,保证了服务的安全性,同时安全验证方面消耗相对较小。
在本发明的一个实施例中,所述排序算法和所述加密算法为预设在所述客户端中。预设算法产生的密钥安全性较低,更改算法需要同步客户端和服务器,比较受限制。
在本发明的一个实施例中,所述排序算法和所述加密算法由所述服务器动态地发送至所述客户端。此种方式中的排序和加密算法受服务器控制,可以动态变化。服务器可以修改客户端端的密钥生成规则,安全性高,灵活性好。
在本发明的一个实施例中,所述加密算法为不可逆加密算法。不可加密算法安全性好,不容易被破解。
本发明第四方面的实施例提出了一种服务器,包括接收模块、生成模块和安全校验模块。其中,接收模块用于接收客户端发送的请求消息,其中,所述请求消息包括关键字段、设备信息和密钥;生成模块用于根据所述关键字段和设备信息生成待验证密钥;安全校验模块用于根据所述待验证密钥和所述请求消息中的密钥对所述请求消息进行安全校验。
根据本发明实施例的服务器通过提取请求消息中的相关信息计算得到密钥,与客户端发送的密钥比较来判断请求合法性。使用普通的HTTP协议也可智能的进行判断,尤其对于不同协议请求,该服务器可以有效的判断请求来源的合法性,保证了服务的安全性,同时安全验证方面消耗相对较小。
本发明第五方面的实施例提出了一种请求消息的安全校验方法,包括以下步骤:服务器接收客户端发送的请求消息,其中,所述请求消息包括关键字段、设备信息和密钥;所述服务器根据所述关键字段和设备信息生成待验证密钥;所述服务器根据所述待验证密钥和所述请求消息中的密钥对所述请求消息进行安全校验。
根据本发明实施例的请求消息的安全校验方法中,服务器通过提取请求消息中的相关信息计算得到密钥,与客户端发送的密钥比较来判断请求合法性。使用普通的HTTP协议也可智能的进行判断,尤其对于不同协议请求,该方法可以有效的判断不同请求来源的合法性,保证了服务的安全性,同时安全验证方面消耗相对较小。
在本发明的一个实施例中,所述服务器根据所述关键字段和设备信息生成待验证密钥进一步包括:所述服务器提取所述请求消息中的关键字段和设备信息;所述服务器根据提取的所述关键字段和设备信息生成待验证密钥。
在本发明的一个实施例中,还包括:客户端生成请求消息,并在所述请求消息中添加所述客户端的设备信息;所述客户端根据所述请求消息中的关键字段和所述设备信息生成密钥,并将所述密钥添加至所述请求消息;所述客户端将所述请求消息发送至所述服务器。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明实施例的请求消息的安全校验方法的流程图;
图2是根据本发明实施例的请求消息的安全校验系统的结构示意图;
图3是根据本发明实施例的客户端的结构示意图;
图4是根据本发明实施例的服务器的结构示意图;和
图5是根据本发明实施例的请求消息的安全校验方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
下面参考图1描述根据本发明实施例的请求消息的安全校验方法,包括以下步骤:
步骤S110:客户端生成请求消息,并在请求消息中添加客户端的设备信息。
步骤S120:客户端根据请求消息中的关键字段和设备信息生成密钥,并将密钥添加至请求消息。
其中,客户端根据请求消息中的关键字段和设备信息生成密钥进一步包括:
步骤S121:客户端根据排序算法对关键字段和设备信息进行排序。
步骤S122:客户端根据加密算法对排序后的关键字段和设备信息进行加密以生成密钥。
步骤S130:客户端将请求消息发送至服务器,以供服务器根据请求消息中的关键字段、设备信息及密钥对客户端进行安全校验。
其中,服务器根据请求消息中的关键字段、设备信息及密钥对客户端进行安全校验进一步包括:
步骤S131:服务器提取请求消息中的关键字段和设备信息。
步骤S132:服务器根据提取的关键字段和设备信息生成待验证密钥。
进一步地,服务器根据提取的关键字段和设备信息生成待验证密钥进一步包括:
步骤S132_1:服务器根据排序算法对提取的关键字段和设备信息进行排序。
步骤S132_2:服务器根据加密算法对排序后的关键字段和设备信息进行加密以生成密钥。
步骤S133:服务器判断待验证密钥与请求消息中的密钥是否一致。
步骤S134:如果判断一致,则服务器判断请求消息通过安全校验。
客户端和服务器之间所使用的排序算法和加密算法相同。
在本发明的一个实施例中,排序算法和加密算法为预设在客户端中。
在本发明的另一个实施例中,排序算法和加密算法由服务器动态地发送至客户端。
其中,加密算法为不可逆加密算法。
根据本发明实施例的请求消息的安全校验方法可以智能判断网络协议请求合法性,下面以一个具体的实施例对本方法进行解释说明,可以理解的是,下面的说明仅出于示例目的,本发明实施例不限于此。
客户端与服务器通过HTTP协议进行通信。客户端向服务器发起通信,首先生成请求消息,并提取客户端设备信息,追加到请求消息的HTTP协议参数中。客户端根据请求消息中的关键字段和设备信息,按照排序算法对客户端的设备信息和关键字段进行一定的排列组合及排序,并对排列排序好的数据进行不可逆的算法加密,生成密钥。客户端在HTTP协议中追加该密钥,发送请求消息至服务器。
服务器接收客户端的以HTTP协议形式发送的请求消息,并提取请求消息中的客户端设备信息和关键字段。服务器根据与客户端相同的排序算法对客户端的设备信息和关键字段进行一定的排列组合及排序,并对排列排序好的数据进行不可逆的算法加密,生成密钥。服务器提取客户端发送的密钥,并与生成的密钥对比是否一致,如果判断一致,则服务器判断请求消息通过安全校验。
有如下两种方式保证客户端和服务器之间所使用的排序算法和加密算法必须相同:
(一)、固定密钥方式:客户端和服务器预设相同的排序和加密算法,采用此种方式生成的密钥安全性较低,更改算法需要同步两端,比较受限制。
(二)、动态密钥方式:由服务器下发客户端的排序和加密算法。采用此种方式的排序和加密算法受服务器控制,可以动态变化。服务器可以修改客户端端的密钥生成规则,安全性高,灵活性好。
根据本发明实施例的请求消息的安全校验方法在请求消息中追加客户端设备的信息,并与关键字段进行数据加密得到密钥,加入请求参数中。服务器通过提取信息计算得到密钥,与发送的密钥比较来判断请求合法性。尤其对于不同协议请求,该方法可以智能、有效的判断请求来源的合法性,保证了服务的安全性。
下面参考图2描述根据本发明实施例的请求消息的安全校验系统100,包括客户端110和服务器120。其中,客户端用于生成请求消息,并在请求消息中添加客户端的设备信息,以及根据请求消息中的关键字段和设备信息生成密钥,并将具有密钥的请求消息发送至服务器;服务器用于根据请求消息中的关键字段、设备信息及密钥对客户端进行安全校验。
在本发明的一个实施例中,客户端110根据请求消息中的关键字段和设备信息生成密钥进一步包括:客户端110根据排序算法对关键字段和设备信息进行排序,并根据加密算法对排序后的关键字段和设备信息进行加密以生成密钥。
在本发明的一个实施例中,服务器120进行密钥校验进一步包括:服务器120提取请求消息中的关键字段和设备信息,并根据提取的关键字段和设备信息生成待验证密钥,以及在待验证密钥与请求消息中的密钥一致时,判断请求消息通过安全校验。其中服务器120根据排序算法对提取的关键字段和设备信息进行排序,并根据加密算法对排序后的关键字段和设备信息进行加密以生成密钥。
客户端110和服务器120之间所使用的排序算法和加密算法相同。其中,加密算法为不可逆加密算法。可以采用下列两种方式保证算法的相同:
(一)、排序算法和加密算法为预设在客户端110中。
(二)、排序算法和加密算法由服务器120动态地发送至客户端110。
根据本发明实施例的请求消息的安全校验系统可以智能判断网络协议请求合法性,下面以一个具体的实施例对本系统进行解释说明,可以理解的是,下面的说明仅出于示例目的,本发明实施例不限于此。
例如,客户端110与服务器120通过HTTP协议进行通信。客户端110向服务器120发起通信,首先生成请求消息,并提取客户端110设备信息,追加到请求消息的HTTP协议参数中。客户端110根据请求消息中的关键字段和设备信息,按照排序算法对客户端110的设备信息和关键字段进行一定的排列组合及排序,并对排列排序好的数据进行不可逆的算法加密,生成密钥。客户端110在HTTP协议中追加该密钥,发送请求消息至服务器120。
服务器120接收客户端110的以HTTP协议形式发送的请求消息,并提取请求消息中的客户端110设备信息和关键字段。服务器120根据与客户端110相同的排序算法对客户端110的设备信息和关键字段进行一定的排列组合及排序,并对排列排序好的数据进行不可逆的算法加密,生成密钥。服务器120提取客户端110发送的密钥,并与生成的密钥对比是否一致,如果判断一致,则服务器120判断请求消息通过安全校验。
有如下两种方式保证客户端110和服务器120之间所使用的排序算法和加密算法必须相同:
(一)、固定密钥方式:客户端110和服务器120预设相同的排序和加密算法,采用此种方式生成的密钥安全性较低,更改算法需要同步两端,比较受限制。
(二)、动态密钥方式:由服务器120下发客户端110的排序和加密算法。采用此种方式的排序和加密算法受服务器120控制,可以动态变化。服务器120可以修改客户端110端的密钥生成规则,安全性高,灵活性好。
根据本发明实施例的请求消息的安全校验系统在请求消息中追加客户端设备的信息,并与关键字段进行数据加密得到密钥,加入请求参数中。服务器通过提取信息计算得到密钥,与发送的密钥比较来判断请求合法性。尤其对于不同协议请求,该方法可以智能、有效的判断请求来源的合法性,保证了服务的安全性。
下面参考图3描述根据本发明实施例的客户端200,包括生成模块210、添加模块220、加密模块230和发送模块240。
其中,生成模块210用于生成请求消息;添加模块220用于在请求消息中添加客户端的设备信息;加密模块230用于根据请求消息中的关键字段和设备信息生成密钥,并将密钥添加至请求消息;发送模块240用于将请求消息发送至服务器,以供服务器根据请求消息中的关键字段、设备信息及密钥对客户端进行安全校验。
加密模块230进一步包括排序子模块231和加密子模块232。其中,排序子模块231用于根据排序算法对关键字段和设备信息进行排序;加密子模块232用于根据加密算法对排序后的关键字段和设备信息进行加密以生成密钥。
加密算法为不可逆加密算法。可以采用下列两种方式设置排序和加密算法:
(一)、排序算法和加密算法为预设在客户端中。
(二)、排序算法和加密算法由服务器动态地发送至客户端。
下面以一个具体的实施例对根据本发明实施例的客户端进行解释说明,可以理解的是,下面的说明仅出于示例目的,本发明实施例不限于此。
例如,客户端与服务器通过HTTP协议进行通信。生成模块210生成请求消息,添加模块220提取客户端设备信息并追加到请求消息的HTTP协议参数中。排序子模块231根据请求消息中的关键字段和设备信息,按照排序算法对客户端的设备信息和关键字段进行一定的排列组合及排序,加密子模块232对排列排序好的数据进行不可逆的算法加密,生成密钥。加密子模块232在HTTP协议中追加该密钥,发送模块240发送请求消息至服务器。
客户端所使用的排序算法和加密算法有如下两种设置方式:
(一)、固定密钥方式:客户端中预设相同的排序和加密算法,采用此种方式生成的密钥安全性较低,更改算法需要同步两端,比较受限制。
(二)、动态密钥方式:由服务器下发客户端的排序和加密算法。采用此种方式的排序和加密算法受服务器控制,可以动态变化。服务器可以修改客户端端的密钥生成规则,安全性高,灵活性好。
根据本发明实施例的客户端在请求消息中追加客户端设备的信息,并与关键字段进行数据加密得到密钥,加入请求参数中。对于不同协议请求,与该客户端对应的服务器可以智能、有效的判断请求来源的合法性,保证了服务的安全性。
下面参考图4描述根据本发明实施例的一种服务器300,包括接收模块310、生成模块320和安全校验模块330。
其中,接收模块310用于接收客户端发送的请求消息,其中,请求消息包括关键字段、设备信息和密钥;生成模块320用于根据关键字段和设备信息生成待验证密钥;安全校验模块330用于根据待验证密钥和请求消息中的密钥对请求消息进行安全校验。
生成模块320进一步包括排序子模块321和加密子模块322。排序子模块321用于根据排序算法对提取的关键字段和设备信息进行排序;加密子模块322用于根据加密算法对排序后的关键字段和设备信息进行加密以生成密钥。
下面以一个具体的实施例的对根据本发明实施例的服务器进行解释说明,可以理解的是,下面的说明仅出于示例目的,本发明实施例不限于此。
例如,客户端与服务器通过HTTP协议进行通信。服务器接收模块310接收客户端的以HTTP协议形式发送的请求消息,并提取请求消息中的客户端设备信息和关键字段。排序子模块321根据与客户端相同的排序算法对客户端的设备信息和关键字段进行一定的排列组合及排序,加密子模块322对排列排序好的数据进行不可逆的算法加密,生成密钥。安全校验模块330根据客户端发送的密钥,与生成的密钥对比是否一致,如果判断一致,则服务器判断请求消息通过安全校验。
客户端和服务器之间所使用的排序算法和加密算法必须相同,服务器有如下两种方式生成密钥:
(一)、固定密钥方式:服务器预设排序和加密算法,采用此种方式生成的密钥安全性较低,更改算法需要同步两端,比较受限制。
(二)、动态密钥方式:由服务器下发客户端的排序和加密算法。采用此种方式的排序和加密算法受服务器控制,可以动态变化。服务器可以修改客户端端的密钥生成规则,安全性高,灵活性好。
根据本发明实施例的服务器通过提取信息计算得到密钥,与发送的密钥比较来判断请求合法性。尤其对于不同协议请求,该服务器可以智能、有效的判断请求来源的合法性,保证了服务的安全性。
下面参考图5描述根据本发明实施例的请求消息的安全校验方法,包括以下步骤:
步骤S210:服务器接收客户端发送的请求消息,其中,请求消息包括关键字段、设备信息和密钥。
步骤S220:服务器根据关键字段和设备信息生成待验证密钥。
具体地,服务器根据关键字段和设备信息生成待验证密钥进一步包括:
步骤S221:服务器提取请求消息中的关键字段和设备信息。
步骤S222:服务器根据提取的关键字段和设备信息生成待验证密钥。
步骤S230:服务器根据待验证密钥和请求消息中的密钥对请求消息进行安全校验。
在本发明的一个实施例中,还包括:
(一)、客户端生成请求消息,并在请求消息中添加客户端的设备信息。
(二)、客户端根据请求消息中的关键字段和设备信息生成密钥,并将密钥添加至请求消息。
进一步地,客户端根据请求消息中的关键字段和设备信息生成密钥进一步包括:
客户端根据排序算法对关键字段和设备信息进行排序;客户端根据加密算法对排序后的关键字段和设备信息进行加密以生成密钥。
(三)、客户端将请求消息发送至服务器。
其中,加密算法为不可逆加密算法。
根据本发明实施例的请求消息的安全校验方法可以智能判断网络协议请求合法性,下面以一个具体的实施例对本方法进行解释说明,可以理解的是,下面的说明仅出于示例目的,本发明实施例不限于此。
客户端与服务器通过HTTP协议进行通信。客户端向服务器发起通信,首先生成请求消息,并提取客户端设备信息,追加到请求消息的HTTP协议参数中。客户端根据请求消息中的关键字段和设备信息,按照排序算法对客户端的设备信息和关键字段进行一定的排列组合及排序,并对排列排序好的数据进行不可逆的算法加密,生成密钥。客户端在HTTP协议中追加该密钥,发送请求消息至服务器。
服务器接收客户端的以HTTP协议形式发送的请求消息,并提取请求消息中的客户端设备信息和关键字段。服务器根据与客户端相同的排序算法对客户端的设备信息和关键字段进行一定的排列组合及排序,并对排列排序好的数据进行不可逆的算法加密,生成密钥。服务器提取客户端发送的密钥,并与生成的密钥对比是否一致,如果判断一致,则服务器判断请求消息通过安全校验。
有如下两种方式保证客户端和服务器之间所使用的排序算法和加密算法必须相同:
(一)、固定密钥方式:客户端和服务器预设相同的排序和加密算法,采用此种方式生成的密钥安全性较低,更改算法需要同步两端,比较受限制。
(二)、动态密钥方式:由服务器下发客户端的排序和加密算法。采用此种方式的排序和加密算法受服务器控制,可以动态变化。服务器可以修改客户端端的密钥生成规则,安全性高,灵活性好。
根据本发明实施例的请求消息的安全校验方法在请求消息中追加客户端设备的信息,并与关键字段进行数据加密得到密钥,加入请求参数中。服务器通过提取信息计算得到密钥,与发送的密钥比较来判断请求合法性。尤其对于不同协议请求,该方法可以智能、有效的判断请求来源的合法性,保证了服务的安全性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (13)

1.一种请求消息的安全校验方法,其特征在于,包括以下步骤:
客户端生成请求消息,并在所述请求消息中添加所述客户端的设备信息;
所述客户端根据所述请求消息中的关键字段和所述设备信息生成密钥,并将所述密钥添加至所述请求消息,其中,所述客户端根据所述请求消息中的关键字段和所述设备信息生成密钥进一步包括:所述客户端根据排序算法对所述关键字段和所述设备信息进行排序;以及所述客户端根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述密钥;以及
所述客户端将所述请求消息发送至服务器,以供所述服务器根据所述请求消息中的关键字段、设备信息及所述密钥对所述客户端进行安全校验;
其中,所述服务器根据所述请求消息中的关键字段、设备信息及所述密钥对所述客户端进行安全校验进一步包括:
所述服务器提取所述请求消息中的关键字段和设备信息;
所述服务器根据提取的所述关键字段和设备信息生成待验证密钥;
所述服务器判断所述待验证密钥与所述请求消息中的密钥是否一致;以及
如果判断一致,则所述服务器判断所述请求消息通过安全校验;其中,所述服务器根据提取的所述关键字段和设备信息生成待验证密钥进一步包括:
所述服务器根据排序算法对提取的所述关键字段和所述设备信息进行排序;以及
所述服务器根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述待验证密钥;
所述客户端和所述服务器之间所使用的排序算法和加密算法相同。
2.如权利要求1所述的请求消息的安全校验方法,其特征在于,所述排序算法和所述加密算法为预设在所述客户端中。
3.如权利要求1所述的请求消息的安全校验方法,其特征在于,所述排序算法和所述加密算法由所述服务器动态地发送至所述客户端。
4.如权利要求2或3所述的请求消息的安全校验方法,其特征在于,所述加密算法为不可逆加密算法。
5.一种请求消息的安全校验系统,其特征在于,包括客户端和服务器,其中,
客户端,用于生成请求消息,并在所述请求消息中添加所述客户端的设备信息,以及根据所述请求消息中的关键字段和所述设备信息生成密钥,并将具有所述密钥的所述请求消息发送至服务器,其中,所述客户端根据排序算法对所述关键字段和所述设备信息进行排序,并根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述密钥;
所述服务器,用于根据所述请求消息中的关键字段、设备信息及所述密钥对所述客户端进行安全校验;
其中,所述服务器提取所述请求消息中的关键字段和设备信息,并根据提取的所述关键字段和设备信息生成待验证密钥,以及在所述待验证密钥与所述请求消息中的密钥一致时,判断所述请求消息通过安全校验;其中,所述服务器根据排序算法对提取的所述关键字段和所述设备信息进行排序,并根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述待验证密钥;
其中,所述客户端和所述服务器之间所使用的排序算法和加密算法相同。
6.如权利要求5所述的请求消息的安全校验系统,其特征在于,所述排序算法和所述加密算法为预设在所述客户端中。
7.如权利要求5所述的请求消息的安全校验系统,其特征在于,所述排序算法和所述加密算法由所述服务器动态地发送至所述客户端。
8.如权利要求6或7所述的请求消息的安全校验系统,其特征在于,所述加密算法为不可逆加密算法。
9.一种客户端,其特征在于,包括:
生成模块,用于生成请求消息;
添加模块,用于在所述请求消息中添加所述客户端的设备信息;
加密模块,用于根据所述请求消息中的关键字段和所述设备信息生成密钥,并将所述密钥添加至所述请求消息,其中,所述加密模块进一步包括:排序子模块,用于根据排序算法对所述关键字段和所述设备信息进行排序;以及加密子模块,用于根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述密钥;
发送模块,用于将所述请求消息发送至服务器,以供所述服务器根据所述请求消息中的关键字段、设备信息及所述密钥对所述客户端进行安全校验。
10.如权利要求9所述的客户端,其特征在于,所述排序算法和所述加密算法为预设在所述客户端中。
11.如权利要求9所述的客户端,其特征在于,所述排序算法和所述加密算法由所述服务器动态地发送至所述客户端。
12.如权利要求9所述的客户端,其特征在于,所述加密算法为不可逆加密算法。
13.一种服务器,其特征在于,包括:
接收模块,用于接收客户端发送的请求消息,其中,所述请求消息包括关键字段、设备信息和密钥;
生成模块,用于根据所述关键字段和设备信息生成待验证密钥;以及
安全校验模块,用于根据所述待验证密钥和所述请求消息中的密钥对所述请求消息进行安全校验;
其中,所述生成模块进一步包括:
排序子模块,用于根据排序算法对提取的所述关键字段和所述设备信息进行排序;以及
加密子模块,用于根据加密算法对所述排序后的所述关键字段和所述设备信息进行加密以生成所述待验证密钥。
CN201310092783.6A 2013-03-21 2013-03-21 请求消息的安全校验方法、系统和装置 Active CN104065624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310092783.6A CN104065624B (zh) 2013-03-21 2013-03-21 请求消息的安全校验方法、系统和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310092783.6A CN104065624B (zh) 2013-03-21 2013-03-21 请求消息的安全校验方法、系统和装置

Publications (2)

Publication Number Publication Date
CN104065624A CN104065624A (zh) 2014-09-24
CN104065624B true CN104065624B (zh) 2018-03-06

Family

ID=51553157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310092783.6A Active CN104065624B (zh) 2013-03-21 2013-03-21 请求消息的安全校验方法、系统和装置

Country Status (1)

Country Link
CN (1) CN104065624B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104917752B (zh) * 2015-05-04 2019-03-12 北京奇艺世纪科技有限公司 一种基于通信的异常检测方法和系统
CN104980445B (zh) * 2015-07-02 2019-04-30 郑州悉知信息科技股份有限公司 一种通信验证方法、装置及系统
CN106572105A (zh) * 2016-10-31 2017-04-19 中国银联股份有限公司 一种url校验的方法及装置
CN106789883A (zh) * 2016-11-21 2017-05-31 美的智慧家居科技有限公司 连接服务器的方法和装置
CN106603510A (zh) * 2016-11-28 2017-04-26 深圳市金立通信设备有限公司 一种数据处理方法及终端
CN109150865A (zh) * 2018-08-07 2019-01-04 厦门市美亚柏科信息股份有限公司 一种移动终端app通讯协议的保护、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055580A (zh) * 2009-11-06 2011-05-11 上海可鲁系统软件有限公司 一种工业互联网中企业信息安全发送接收方法及通讯设备
CN102624692A (zh) * 2011-11-28 2012-08-01 苏州奇可思信息科技有限公司 基于http传输协议的无用户身份验证方法
CN102629925A (zh) * 2012-03-31 2012-08-08 苏州阔地网络科技有限公司 一种防止非法连接的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055580A (zh) * 2009-11-06 2011-05-11 上海可鲁系统软件有限公司 一种工业互联网中企业信息安全发送接收方法及通讯设备
CN102624692A (zh) * 2011-11-28 2012-08-01 苏州奇可思信息科技有限公司 基于http传输协议的无用户身份验证方法
CN102629925A (zh) * 2012-03-31 2012-08-08 苏州阔地网络科技有限公司 一种防止非法连接的方法及系统

Also Published As

Publication number Publication date
CN104065624A (zh) 2014-09-24

Similar Documents

Publication Publication Date Title
CN104065624B (zh) 请求消息的安全校验方法、系统和装置
CN103701805B (zh) 检测网络中弱口令的方法及装置
CN101465735B (zh) 网络用户身份验证方法、服务器及客户端
CN104219228B (zh) 一种用户注册、用户识别方法及系统
CN104917741B (zh) 一种基于usbkey的明文文档公网安全传输系统
CN101873331B (zh) 一种安全认证方法和系统
CN108537046A (zh) 一种基于区块链技术的在线合同签署系统及方法
CN109040149A (zh) 密钥协商方法、云服务器、设备、存储介质以及系统
CA2620785C (en) Method, system and apparatus for game data transmission
CN102685086A (zh) 一种文件访问方法和系统
CN104378379B (zh) 一种数字内容加密传输方法、设备和系统
CN104683407B (zh) 一种页面数据和应用数据的传输方法和设备
CN106101147A (zh) 一种实现智能设备与远程终端动态加密通讯的方法及系统
CN108040065A (zh) 网页跳转后的免登录方法、装置、计算机设备和存储介质
CN103763308A (zh) 一种智能终端安全访问网页和下载数据的方法和装置
CN108111497A (zh) 摄像机与服务器相互认证方法和装置
CN101860540A (zh) 一种识别网站服务合法性的方法及装置
CN106534086B (zh) 一种设备认证方法、终端设备、服务器及系统
CN102377788A (zh) 单点登录系统及其单点登录方法
CN104869102A (zh) 基于xAuth协议的授权方法、装置和系统
CN105491073B (zh) 一种数据下载方法、装置及系统
US10601809B2 (en) System and method for providing a certificate by way of a browser extension
CN103475477A (zh) 一种安全授权访问的方法
CN109040079A (zh) 直播链接地址的组建和验证方法及相应装置
CN107872450A (zh) 安全通信方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant