数据推送方法、数据推送系统及数据推送服务器的制作方法

文档序号:7555212阅读:138来源:国知局
专利名称:数据推送方法、数据推送系统及数据推送服务器的制作方法
技术领域
本发明涉及数据推送技术领域,尤其涉及一种数据推送方法、数据推送系统以及数据推送服务器。
背景技术
现有的远程数据推送方案有两种:1、使用约定好的固定密钥对传输的数据进行加密。这种方式的缺点是,所使用的固定密钥容易被破解,并且一旦密钥被破解,将使得所有的数据传输都相当于是明文传输,无安全性可言。2、服务器端在发送数据之前,临时协商动态密钥,使用动态密钥对发送的数据进行加密。这种方式的缺点是,需要发送方和接收方多次通信来完成两端握手、密钥数据传输、确认等操作,这通常需要依赖于互联网来完成,如果是其他通信方式(例如,短信、无线数据网络传输),将提高成本。但是,在移动终端上,互联网的可用性和稳定性通常都很差,这将使得在很多用户场景下,动态密钥协商无法成功完成,从而直接导致无法进行数据传输。因此,在移动终端设备上,该方案具有成本高和可用性差两个问题。

发明内容
本发明旨在至少解决上述技术问题之一。为此,本发明的一个目的在于提出一种可以低成本地、在用户终端无法连接互联网的情况下安全地进行远程数据推送的数据推送方法。本发明的另一目的在于提出一种数据推送系统。本发明的又一目的在于提出一种数据推送服务器。为了实现上述目的,根据本发明第一方面的实施例的数据推送方法包括以下步骤:服务器根据目标用户终端的信息生成用于所述目标用户终端的密钥表并将所述密钥表通知所述目标用户终端;所述服务器根据所述密钥表为待推送到所述目标用户终端的数据动态生成密钥并获取所述密钥的标识码;使用所述密钥加密所述数据以获得加密数据;将所述加密数据以及所述密钥的标识码推送到所述目标用户终端;所述目标用户终端根据所述密钥的标识码从所述密钥表中获取所述密钥;以及所述目标用户终端使用所述密钥对所述加密数据进行解密。根据本发明实施例的数据推送方法,动态密钥是在推送数据时临时动态产生的,由此基本上不可能在接收者接收到推送的数据之前完成数据破解,从而增加了单次数据推送的安全性。而且,动态密钥是与身份有关的,不同的用户终端接收到的加密数据所使用的动态密钥是相互独立的,因此极大地增加了破解所有用户的动态密钥所需的代价,进一步地增加了数据推送的安全性。此外,传输数据时不需要协商加密密钥,减少了通信成本,也避免了数据传输对特别网络通信的依赖,使得用户终端在任何网络通信渠道可用的情况下都可以接收到服务器推送的数据。
为了实现上述目的,根据本发明第二方面的实施例的数据推送系统包括服务器和多个用户终端。所述服务器根据所述多个用户终端的信息生成用于所述多个用户终端的多个密钥表并将所述多个密钥表通知所述多个用户终端;所述服务器根据与目标用户终端对应的第一密钥表为待推送的数据动态生成密钥并获取所述密钥的标识码;使用所述密钥加密所述数据以获得加密数据;将所述加密数据以及所述密钥的标识码推送到所述目标用户终端;所述目标用户终端根据所述密钥的标识码从所述第一密钥表中获取所述密钥;以及所述目标用户终端使用所述密钥对所述加密数据进行解密。根据本发明实施例的数据推送系统,动态密钥是在推送数据时临时动态产生的,由此基本上不可能在接收者接收到推送的数据之前完成数据破解,从而增加了单次数据推送的安全性。而且,动态密钥是与身份有关的,不同的用户终端接收到的加密数据所使用的动态密钥是相互独立的,因此极大地增加了破解所有用户的动态密钥所需的代价,进一步增加了数据推送的安全性。此外,传输数据时不需要协商加密密钥,减少了通信成本,也避免了数据传输对特别网络通信的依赖,使得用户终端在任何网络通信渠道可用的情况下都可以接收到服务器推送的数据。为了实现上述目的,根据本发明第三方面的实施例的数据推送服务器包括:密钥表生成单元,所述密钥表生成单元用于根据目标用户终端的信息生成用于所述目标用户终端的密钥表;通知单元,所述通知单元用于将所述密钥表通知所述目标用户终端;密钥生成单元,所述密钥生成单元用于根据所述密钥表为待推送到所述目标用户终端的数据动态生成密钥并获取所述密钥的标识码;加密单元,所述加密单元用于使用所述密钥加密所述数据以获得加密数据;以及推送单元,所述推送单元用于将所述加密数据以及所述密钥的标识码推送到所述目标用户终端。根据本发明实施例的数据推送服务器,动态密钥是在推送数据时临时动态产生的,由此基本上不可能在接收者接收到推送的数据之前完成数据破解,从而增加了单次数据推送的安全性。而且,动态密钥是与身份有关的,不同的用户终端接收到的加密数据所使用的动态密钥是相互独立的,因此极大地增加了破解所有用户的动态密钥所需的代价,进一步增加了数据推送的安全性。此外,推送数据时不需要协商加密密钥,减少了通信成本,也避免了数据传输对特别网络通信的依赖,使得用户终端在任何网络通信渠道可用的情况下都可以接收到服务器推送的数据。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,图1是根据本发明一个实施例的数据推送方法的流程图;图2是根据本发明一个实施例的生成密钥表的方法的流程图;图3是根据本发明另一个实施例的数据推送方法的流程图;图4是根据本发明一个实施例的数据推送系统的结构框图;图5是根据本发明一个实施例的数据推送服务器的结构框图6是根据本发明一个实施例的密钥表生成单元的结构框图;以及图7是根据本发明另一个实施例的数据推送服务器的结构框图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。下面参考附图描述根据本发明实施例的数据推送方法、数据推送系统及数据推送服务器。一种数据推送方法,包括以下步骤:服务器根据目标用户终端的信息生成用于目标用户终端的密钥表并将密钥表通知目标用户终端;服务器根据密钥表为待推送到目标用户终端的数据动态生成密钥并获取密钥的标识码;使用密钥加密待推送的数据以获得加密数据;将加密数据以及密钥的标识码推送到目标用户终端;目标用户终端根据密钥的标识码从密钥表中获取密钥;以及目标用户终端使用密钥对加密数据进行解密。图1是根据本发明一个实施例的数据推送方法的流程图。如图1所示,数据推送方法包括下述步骤。步骤S101,服务器根据目标用户终端的信息生成用于目标用户终端的密钥表并将密钥表通知目标用户终端。在本发明的一个实施例中,生成密钥表的算法原则是:首先生成多个随机数,然后将多个随机数与目标用户终端的信息进行叠加以生成多个密钥,再将多个密钥以及多个密钥对应的多个标识码按照预定规则写入密钥表。其中,目标用户终端的信息可以包括与目标用户终端绑定的用户账号、用户密码、目标用户终端的标识码或目标用户终端的电话号码等。图2为根据本发明一个实施例的生成密钥表的方法的流程图。如图2所示,首先获取指定用户信息,例如,用户的帐号名、密码、用户终端的标识码、电话号码等(步骤S01)。然后通过哈希算法根据用户信息计算哈希值,得到随机数KEYl (步骤S202)。接着,初始化密钥表,设置动态密钥初始数量为O,即动态密钥数量=0(步骤S203)。然后,判断动态密钥数量是否小于预设最大值,例如10000 (步骤S204)。如果是,则结束生成过程。如果是,则可以获取例如8字节长整型的随机数KEY2 (步骤S205)。然后,将随机数KEYl和KEY2拼接,通过SHAl算法计算拼接所得数据的哈希值Vl (步骤S206)。接着,将哈希值Vl与随机数KEY2的前4个字节拼接,得到24字节长度的动态密钥(步骤S207)。之后,设置该动态密钥的标识码为例如动态密钥数量(步骤S208)。最后,将动态密钥和对应的标识码写入密钥表文件中(步骤S209)。如此重复执行步骤S204至步骤S209,直至动态密钥数量不小于最大预设值,结束生成过程。生成密钥表文件后,服务器将该密钥表发送至对应的目标用户终端。在本发明的一个实施例中,目标用户终端与服务器之间通过HTTPS (Hypertext Transfer Protocolover Security Socket Layer,安全超文本传输协议)传输密钥表。应理解,服务器发送数据给不同的用户终端所使用的密钥可以不同。此外,用户终端的密钥表可以按照最高安全级别进行保存,例如存储于可插拔到用户终端的独立硬件设备(例如,用户登录电子银行所使用的U盾),或者使用成熟的加密数据库(例如,sqlcipher、wxsqlite3等)存储密钥表。步骤S102,服务器根据密钥表为待推送到目标用户终端的数据动态生成密钥并获取密钥的标识码。由于这是一个推送数据的协议,因此只需要接收方验证发送方的身份,发送方无需验证接收方的身份。因此,无需协商动态密钥,可以由发送方直接指定动态密钥并获取该动态密钥在用户终端上的密钥表中的标识码。步骤S103,使用密钥加密待推送的数据以获得加密数据。具体的加密过程可参考现有的加密算法,此处不再赘述。步骤S104,将加密数据以及密钥的标识码推送到目标用户终端。步骤S105,目标用户终端根据密钥的标识码从密钥表中获取密钥。步骤S106,目标用户终端使用密钥对加密数据进行解密。目标用户终端作为推送数据的接收方,接收到推送数据后,需要从数据中提取动态密钥标识码,通过该标识码从目标用户终端保存的密钥表中获取实际的动态密钥,然后使用该动态密钥解密接收到的加密数据,获取推送的数据明文。根据本发明实施例的数据推送方法,动态密钥是在推送数据时临时动态产生的,由此基本上不可能在接收者接收到推送的数据之前完成数据破解,从而增加了单次数据推送的安全性。而且,动态密钥是与身份有关的,不同的用户终端接收到的加密数据所使用的动态密钥是相互独立的,因此极大地增加了破解所有用户的动态密钥所需的代价,进一步增加了数据推送的安全性。此外,传输数据时不需要协商加密密钥,减少了通信成本,也避免了数据传输对特别网络通信的依赖,使得用户终端在任何网络通信渠道可用的情况下都可以接收到服务器推送的数据。在本发明的实施例中,用户终端的密钥表可以是固定的,但是一旦用户终端与远程服务器建立连接(例如登录了系统账户、启动系统更新等)之后,就可以适时地更新密钥表。图3为根据本发明另一个实施例的数据推送方法的流程图。如图3所示,数据推送方法包括下述步骤。
步骤S301,服务器根据目标用户终端的信息生成用于目标用户终端的密钥表并将密钥表通知目标用户终端。步骤S302,服务器根据密钥表为待推送到目标用户终端的数据动态生成密钥并获取密钥的标识码。步骤S303,使用密钥加密待推送的数据以获得加密数据。步骤S304,将加密数据以及密钥的标识码推送到目标用户终端。步骤S305,目标用户终端根据密钥的标识码从密钥表中获取密钥。步骤S306,目标用户终端使用密钥对加密数据进行解密。步骤S307,目标用户终端以预定周期请求服务器更新密钥表。例如,可以每次登录时请求更新,或者每个月请求更新一次等。这个更新策略取决于具体的安全传输服务所需的安全控制强度。步骤S308,服务器根据目标用户终端的请求更新密钥表以获得更新的密钥表。步骤S309,服务器将更新的密钥表通知目标用户终端。步骤S310,目标用户终端用更新的密钥表更新密钥表。应理解,图3示出的实施例仅为示意性的,其中步骤S307-步骤S310的执行顺序可以变换,例如,如果用户目标终端需要更新密钥表,那么目标用户终端可以在步骤S301之后立即执行步骤S307-步骤S310。也就是说,密钥表的更新可以在任意时刻执行,而不受图3所示的实施例的限制。根据本发明实施例的数据推送方法采用了密钥表的更新机制,由此,即使目标用户终端所存储的密钥表和其他重要数据在某个时刻被破解,这种更新机制也保证了密钥表不会一直被破解,同时保证重要数据能够及时恢复为安全状态。此外,这也极大地增加了破解本发明的数据推送方法中的数据的代价,进一步地提高了数据的安全性。本发明另一方面还提出一种数据推送系统,包括服务器和多个用户终端。其中,月艮务器根据多个用户终端的信息生成用于多个用户终端的多个密钥表并将多个密钥表通知多个用户终端。服务器还用于根据与目标用户终端对应的第一密钥表为待推送的数据动态生成密钥并获取密钥的标识码,使用密钥加密待推送的数据以获得加密数据,以及将加密数据和密钥的标识码推送至目标用户终端。目标用户终端用于根据密钥的标识码从第一密钥表中获取密钥,并使用密钥对加密数据进行解密。图4是根据本发明一个实施例的数据推送系统的结构框图。如图4所示,数据推送系统包括服务器10和多个用户终端20。服务器10用于根据多个用户终端的信息生成用于多个用户终端的多个密钥表并将多个密钥表通知多个用户终端。具体地,生成密钥表的算法原则是:首先生成多个随机数,然后将多个随机数与用户终端的信息进行叠加以生成多个密钥,再将多个密钥以及多个密钥对应的多个标识码按照预定规则写入密钥表。其中,用户终端的信息可以包括与用户终端绑定的用户账号、用户密码、用户终端的标识码或用户终端的电话号码等。应理解,多个密钥表可以是不同的。在本发明的一个实施例中,用户终端与服务器之间通过HTTPS协议传输密钥表。此外,用户终端的密钥表可以按照最高安全级别进行保存,例如存储于可插拔到用户终端的独立硬件设备(例如,用户登录电子银行所使用的U盾),或者使用成熟的加密数据库(例如,sqlcipher、wxsqlite3 等)存储密钥表。服务器10还用于根据与目标用户终端对应的第一密钥表为待推送的数据动态生成密钥并获取密钥的标识码,使用密钥加密待推送的数据以获得加密数据,以及将加密数据和密钥的标识码推送至目标用户终端。由于这是一个推送数据的协议,因此只需要接收方验证发送方的身份,发送方无需验证接收方的身份。因此,无需协商动态密钥,可以由服务器10直接指定动态密钥并获取该动态密钥在用户终端20上的密钥表中的标识码。目标用户终端20用于根据密钥的标识码从第一密钥表中获取密钥,并使用密钥对加密数据进行解密。具体地,目标用户终端20作为推送数据的接收方,接收到推送数据后,需要从数据中提取动态密钥标识码,通过该标识码从目标用户终端20保存的密钥表中获取实际的动态密钥,然后使用该动态密钥解密接收到的加密数据,获取推送的数据明文。根据本发明实施例的数据推送系统,动态密钥是在推送数据时临时动态产生的,由此基本上不可能在接收者接收到推送的数据之前完成数据破解,从而增加了单次数据推送的安全性。而且,动态密钥是与身份有关的,不同的用户终端接收到的加密数据所使用的动态密钥是相互独立的,因此极大地增加了破解所有用户的动态密钥所需的代价,进一步地增加了数据推送的安全性。此外,传输数据时不需要协商加密密钥,减少了通信成本,也避免了数据传输对特别网络通信的依赖,使得用户终端在任何网络通信渠道可用的情况下都可以接收到服务器推送的数据。在本发明的实施例中,用户终端的密钥表可以是固定的,但是一旦用户终端与远程服务器建立连接(例如登录了系统账户、启动系统更新等)之后,就可以适时地更新密钥表。因此,在本发明的另一个实施例中,目标用户终端20还可以以预定周期请求服务器10更新密钥表。然后,服务器10根据目标用户终端20的请求更新密钥表以获得更新的密钥表,并将更新的密钥表通知目标用户终端20。然后,目标用户终端20用更新的密钥表更新密钥表。其中,目标用户终端20可以每次登录时请求更新,或者每个月请求更新一次等。这个更新策略取决于具体的安全传输服务所需的安全控制强度。由此,即使目标用户终端所存储的密钥表和其他重要数据在某个时刻被破解,这种更新机制也保证了密钥表不会一直被破解,同时保证重要数据能够及时恢复为安全状态。此外,这也极大地增加了破解本发明的数据推送方法中的数据的代价,进一步地提高了数据的安全性。本发明又一方面还提出一种数据推送服务器,包括:密钥表生成单元,用于根据目标用户终端的信息生成用于目标用户终端的密钥表;通知单元,用于将密钥表通知目标用户终端;密钥生成单元,用于根据密钥表为待推送到目标用户终端的数据动态生成密钥并获取密钥的标识码;加密单元,用于使用密钥加密待推送的数据以获得加密数据;以及推送单元,用于将加密数据以及密钥的标识码推送到目标用户终端。图5是根据本发明一个实施例的数据推送服务器的结构框图。如图5所示,服务器10包括:密钥表生成单元110、通知单元120、密钥生成单元130、加密单元140和推送单元 150。密钥表生成单元110用于根据目标用户终端20的信息生成用于目标用户终端的密钥表。具体地,图6是根据本发明一个实施例的密钥表生成单元110的结构框图。如图6所示,密钥表生成单元110可以包括:随机数生成模块1110,用于生成多个随机数;密钥生成模块1120,用于将多个随机数与目标用户终端的信息进行叠加以生成多个密钥;以及写入模块1130,用于将多个密钥以及多个密钥对应的多个标识码按照预定规则写入密钥表。其中,目标用户终端的信息可以包括与目标用户终端绑定的用户账号、用户密码、目标用户终端的标识码或目标用户终端的电话号码等。通知单元120用于将密钥表通知目标用户终端。在本发明的一个实施例中,通知单元120采用HTTPS协议通知密钥表。密钥生成单元130用于根据密钥表为待推送到目标用户终端的数据动态生成密钥并获取密钥的标识码。加密单元140用于使用密钥加密待推送的数据以获取加密数据。推送单元150用于将加密数据以及密钥的标识码推送到目标用户终端。由此,目标用户终端在接收到推送数据后,可以从数据中提取动态密钥标识码,通过该标识码从目标用户终端保存的密钥表中获取实际的动态密钥,然后使用该动态密钥解密接收到的加密数据,获取推送的数据明文。根据本发明实施例的数据推送服务器,动态密钥是在推送数据时临时动态产生的,由此基本上不可能在接收者接收到推送的数据之前完成数据破解,从而增加了单次数据推送的安全性。而且,动态密钥是与身份有关的,不同的用户终端接收到的加密数据所使用的动态密钥是相互独立的,因此极大地增加了破解所有用户的动态密钥所需的代价,进一步地增加了数据推送的安全性。此外,推送数据时不需要协商加密密钥,减少了通信成本,也避免了数据传输对特别网络通信的依赖,使得用户终端在任何网络通信渠道可用的情况下都可以接收到服务器推送的数据。图7是根据本发明另一个实施例的数据推送服务器的结构框图。如图7所示,在图5所示的实施例的基础上,根据本发明实施例的数据推送服务器还包括更新单元160。更新单元160用于根据目标用户终端更新密钥表的请求而更新密钥表以获得更新的密钥表。具体地,一旦目标用户终端通过网络与数据推送服务器建立连接(例如,登陆了系统账户、启动系统更新等)之后,即可以适时地改变密钥表。例如,可以每次登录时更新或者每个月更新一次等。具体的更新策略取决于具体的安全传输服务器所需的安全控制强度。通知单元120在获得更新的密钥表后可以例如使用HTTP将更新的密钥表通知目标用户终端。根据本发明实施例的数据推送服务器根据目标用户终端的更新请求更新密钥表,由此,即使目标用户终端所存储的密钥表和其他重要数据在某个时刻被破解,这种更新机制也保证了密钥表不会一直被破解,同时保证重要数据能够及时恢复为安全状态。此外,这也极大地增加了破解本发明的数据推送方法中的数据的代价,进一步地提高了数据的安全性。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
1.一种数据推送方法,其特征在于,包括以下步骤: 服务器根据目标用户终端的信息生成用于所述目标用户终端的密钥表并将所述密钥表通知所述目标用户终端; 所述服务器根据所述密钥表为待推送到所述目标用户终端的数据动态生成密钥并获取所述密钥的标识码; 使用所述密钥加密所述数据以获得加密数据; 将所述加密数据以及所述密钥的标识码推送到所述目标用户终端; 所述目标用户终端根据所述密钥的标识码从所述密钥表中获取所述密钥;以及 所述目标用户终端使用所述密钥对所述加密数据进行解密。
2.根据权利要求1所述的数据推送方法,其特征在于,进一步包括步骤: 所述目标用户终端以预定周期请求所述服务器更新所述密钥表; 所述服务器根据目标用户终端的请求更新所述密钥表以获得更新的密钥表; 所述服务器将所述更新的密钥表通知所述目标用户终端;以及 所述目标用户终端用所述更新的密钥表更新所述密钥表。
3.根据权利要求1或2所述的数据推送方法,其特征在于,服务器根据目标用户终端的信息生成用于所述目标用户终端的密钥表的步骤包括: 生成多个随机数; 将所述多个随机数与所述目标用户终端的信息进行叠加以生成多个密钥; 将所述多个密钥以及与所述多个密钥对应的多个标识码按照预定规则写入密钥表。
4.根据权利要求1至3中任一项所述的数据推送方法,其特征在于,所述目标用户终端的信息包括与所述目标用户终端绑定的用户账号、用户密码、所述目标用户终端的标识码或所述目标用户终端的电话号码。
5.一种数据推送系统,其特征在于,包括服务器和多个用户终端,其中: 所述服务器根据所述多个用户终端的信息生成用于所述多个用户终端的多个密钥表并将所述多个密钥表通知所述多个用户终端; 所述服务器根据与目标用户终端对应的第一密钥表为待推送的数据动态生成密钥并获取所述密钥的标识码; 使用所述密钥加密所述数据以获得加密数据; 将所述加密数据以及所述密钥的标识码推送到所述目标用户终端; 所述目标用户终端根据所述密钥的标识码从所述第一密钥表中获取所述密钥;以及 所述目标用户终端使用所述密钥对所述加密数据进行解密。
6.根据权利要求5所述的数据推送系统,其特征在于, 所述目标用户终端以预定周期请求所述服务器更新所述第一密钥表; 所述服务器根据目标用户终端的请求更新所述第一密钥表以获得更新的密钥表; 所述服务器将所述更新的密钥表通知所述目标用户终端;以及 所述目标用户终端用所述更新的密钥表更新所述第一密钥表。
7.根据权利要求5或6所述的数据推送系统,其特征在于,所述服务器: 生成多个随机数; 将所述多个随机数与所述目标用户终端的信息进行叠加以生成多个密钥;将所述多个密钥以及与所述多个密钥对应的多个标识码按照预定规则写入第一密钥表。
8.根据权利要求7所述的数据推送系统,其特征在于,所述目标用户终端的信息包括与所述目标用户终端绑定的用户账号、用户密码、所述目标用户终端的标识码或所述目标用户终端的电话号码。
9.一种数据推送服务器,其特征在于,包括: 密钥表生成单元,所述密钥表生成单元用于根据目标用户终端的信息生成用于所述目标用户终端的密钥表; 通知单元,所述通知单元用于将所述密钥表通知所述目标用户终端; 密钥生成单元,所述密钥生成单元用于根据所述密钥表为待推送到所述目标用户终端的数据动态生成密钥并获取所述密钥的标识码; 加密单元,所述加密单元用于使用所述密钥加密所述数据以获得加密数据;以及推送单元,所述推送单元用于将所述加密数据以及所述密钥的标识码推送到所述目标用户终端。
10.根据权利要求9所述的服务器,其特征在于,进一步包括: 更新单元,所述更新单元用于根据所述目标用户终端更新所述密钥表的请求而更新所述密钥表以获得更新的密钥表, 其中所述通知单元用于将所述更新的密钥表通知所述目标用户终端。
11.根据权利要求9或10所述的服务器,其特征在于,所述密钥表生成单元包括: 随机数生成模块,所述随机数生成模块用于生成多个随机数; 密钥生成模块,所述密钥生成模块用于将所述多个随机数与所述目标用户终端的信息进行叠加以生成多个密钥; 写入模块,所述写入模块用于将所述多个密钥以及与所述多个密钥对应的多个标识码按照预定规则写入密钥表。
12.根据权利要求9或10所述的服务器,其特征在于,所述目标用户终端的信息包括与所述目标用户终端绑定的用户账号、用户密码、所述目标用户终端的标识码或所述目标用户终端的电话号码。
全文摘要
本发明提出一种数据推送方法、数据推送系统及数据推送服务器。其中,方法包括以下步骤服务器根据目标用户终端的信息生成用于目标用户终端的密钥表并将密钥表通知目标用户终端;服务器根据密钥表为待推送到目标用户终端的数据动态生成密钥并获取密钥的标识码;使用密钥加密数据以获得加密数据;将加密数据以及密钥的标识码推送到目标用户终端;目标用户终端根据密钥的标识码从密钥表中获取密钥;以及目标用户终端使用密钥对加密数据进行解密。本发明中的动态密钥是在推送数据时临时动态产生的,从而增加了单次数据推送的安全性。此外,传输数据时不需要协商加密密钥,减少了通信成本,也避免了数据传输对特别网络通信的依赖。
文档编号H04L9/28GK103209188SQ20131013225
公开日2013年7月17日 申请日期2013年4月16日 优先权日2013年4月16日
发明者李厚辰 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1