专利名称:一种数据安全传输的方法
技术领域:
本发明涉及网络的安全传输技术,具体地说,涉及一种数据安全传输的方法。
背景技术:
随着数据存储和数据管理的发展,数据库已从最初数据文件的简单集合发展到今天的大型数据库管理系统,并且,已经成为人们日常生活中不可缺少的组成部分。如果不借助数据库的帮助,许多简单的工作将变得冗长乏味,甚至难以实现。尤其是象银行、院校和图书馆这样的大型组织,更需要依靠数据库系统来实现其正常的运作。还有目前应用广泛的互联网,从搜索引擎到在线商场,从网上聊天到邮件列表,都离不开数据库系统。因此,保证数据库信息的安全变得越来越重要。
现在,数据库的信息安全在很大程度上依赖于数据库的更新,比如入侵检测系统,该系统对数据进行的入侵检测依赖于用户规则数据库的更新,因为系统需要将当前检测的数据与规则数据库中的规则进行匹配,以检测当前数据是否为非法入侵数据。这样就带来一个问题,该规则数据库应该放置在何处才能保证其安全性和有效性。如果将装载有规则数据库的服务器放置在客户端,用户很可能由于专业知识的缺乏,没能及时升级数据库,而造成黑客对所需保护网络的攻击成功。而且,将数据库服务器放置在客户端那里,对于数据库产品的保护存在很大的风险,客户很可能就是竞争对手,经过简单的加密,无法保护这些宝贵的资源不被竞争对手所窃取,因此,考虑将装载有数据库的服务器放置在产品提供者那里。但是,将数据库放置在提供商那里,一方面给用户使用带来诸多不便,另一方面用户对提供商的可信度存在疑问,用户如何能够相信服务提供端不会利用数据库记录的信息,搜索并利用用户忽略的安全规则,服务提供端一旦利用系统的安全漏洞,就会对用户的敏感数据造成极大的威胁,甚至损失。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据安全传输的方法,能保证通信双方在使用和升级时所传输数据的安全可靠性,并提高通信双方对所使用数据的信任度。
为达到上述目的,本发明的技术方案是这样实现的一种数据安全传输的方法,在当前通信双方所属网络中设置弱可信服务器,该方法还包括a.当通信双方需要传输数据时,通信双方分别向所述弱可信服务器发送请求;所述弱可信服务器收到请求后随机生成一对随机向量和一对随机数;b.所述弱可信服务器将所生成的随机向量和随机数分为两组,分别发送给通信双方;c.通信双方利用所获得的随机向量和随机数进行交互,数据需求方从数据提供方安全获取所需数据。
其中,所述弱可信服务器生成的随机向量之积等于其所生成的随机数之和。所述弱可信服务器利用IPSec协议建立的安全信道向通信双方发送自身生成的随机向量和随机数。
步骤c所述通信双方进行交互为数据需求方利用所收到的随机向量和随机数进行加密运算,并通过加密后的向量将自身所需的数据位置信息通知数据提供方;数据提供方利用所收到的随机向量和随机数进行加密运算,并通过加密后的向量将数据需求方所需的数据发送给数据需求方。
上述方案中,所述通信双方为客户端之间。所述通信双方为客户端和数据提供方之间。所述弱可信服务器为商品服务器。
本发明所提供的数据在线升级方法,引入了弱可信服务器的概念,客户端之间、客户端和数据提供方之间的数据安全均依赖于弱可信服务器,而弱可信服务器并不参与协议的执行,只为协议的参与者提供随机数。并且,利用特殊的数据库检索协议--私有信息检索协议,客户端无法完全了解数据库的全部内容,只能获取与自身查询相关的数据库信息;服务提供商也无法了解用户具体选择了哪些数据库信息,如此,既能保护数据库信息,又能保证用户的本地信息不被泄漏。
另外,弱可信服务器提供的数据并不依赖于参与者的私有数据,即使因为某种情况某个参与者的私有数据被公开,也和其提供的数据无关。
还有,在执行更新协议前,客户端之间以及弱可信服务器与客户端之间可以利用IPSec协议保证数据传输过程中的安全性。
图1为本发明应用的网络环境示意图;图2为本发明实现数据安全传输的流程示意图;图3为以入侵检测系统中规则数据库在线升级为实施例的实现流程图。
具体实施例方式
本发明的基本思想是在当前通信网络中设置弱可信服务器,当前参与通信的双方使用该弱可信服务器生成的随机向量和随机数进行数据传输。本发明将客户端和数据提供方相互之间的信任转化为双方对弱可信服务器的相信,该弱可信服务器并不参与具体的通信,只为通信双方提供随机向量与随机数。而且,弱可信服务器提供的数据并不依赖于通信双方的私有数据,因此它不需要了解这些私有数据,即使因为某种情况某方的私有数据被公开,也和其提供的数据无关。
图1是本发明应用的网络环境示意图。如图1所示,在当前使用的通信网络中设置弱可信服务器,数据库提供端、用户1到用户n、以及弱可信服务器通过Internet相连。由于通信双方并不需要完全信任弱可信服务器,因此可选用网络中的任意一台符合要求的服务器,如商品服务器作为该弱可信服务器,该弱可信服务器能够独立离线产生用户所需数据,并将产生的数据传送给需要这些数据执行某个协议的通信参与方。这里,弱可信服务器,如商品服务器是指可以向用户提供随机数服务的服务器,它不会参与通信双方协议的交互,只提供相应协议需要的随机数。本发明之所以采用弱可信服务器是因为只要该服务器不与通信中的任何一方串通,则用户通信内容的安全性并不依赖于该服务器;但如果采用强可信服务器即通常所说的可信第三方,由于通信双方都需要将实际的通信内容发送给服务器,由服务器确定发送给客户的内容,那么,在通信安全性上就要求通信双方完全信任服务器不会将其交换的信息泄漏,对服务器的要求太高。
基于图1所示的网络环境,本发明实现数据安全传输的具体流程如图2所示,包括以下步骤步骤201弱可信服务器随机生成一对随机向量和一对随机数;步骤202当两个通信实体需要传输数据时,比如客户端之间或客户端与数据库提供端之间需要传输数据时,弱可信服务器将所生成的随机向量和随机数分别发送给通信双方。
这里,弱可信服务器可以利用IPSec协议建立的安全信道,将随机向量和随机数发送给通信双方。
步骤203~204通信双方利用所获得的随机向量和随机数进行交互,数据需求方从数据提供方安全获取所需数据。其中,数据需求方一般指客户端,数据提供方通常为数据库提供端。
以入侵检测系统(IDS)中的规则数据库在线升级为例,进一步描述本发明的实现流程,本实施例中,数据提供方为数据库服务器,数据库服务器中存储的内容为DB(x1,x2,...,xn),xi表示数据库中升级的每条记录。当装载有规则数据库的服务器内容有变动时,该数据库服务器向客户端发送升级消息,通知客户端数据库内容有变化,如果客户端需要升级本地的相关内容,则数据库服务器、客户端分别与弱可信服务器之间建立安全的可信通道,客户端从数据库中得到所需的数据信息。如图3所示,该在线升级流程包括以下步骤步骤301数据库服务器和需要升级的客户端向弱可信服务器发送请求。
步骤302~303弱可信服务器接收到请求后,从请求中得到数据库记录的条数n和记录中最大字符数m;同时,随机生成一对随机向量Ra、Rb和一对随机数ra、rb,随机向量中数的长度要和数据库中字符串的长度相匹配。然后,弱可信服务器利用IPSec协议建立的安全信道将(Ra,ra)和(Rb,rb)分别发送给数据库服务器和客户端。
其中,Ra为数据库的随机加密向量,Rb为数据库的随机选择矩阵,ra为数据库的随机加密因子,rb为客户端的随机加密因子,Ra、ra和rb中的每个项包含的字符长度都是m,而随机矩阵Rb则是n2个0与1组成的n×n阶矩阵。并且,所生成的两个随机向量之积等于所生成的两个随机数之和,也就是说ra+rb=Ra·Rb。
步骤304数据库服务器、客户端分别接收到弱可信服务器发送的随机向量和随机数后,数据库服务器发送X’=X+Ra给客户端,客户端发送Y’=Y+Rb给数据库服务器。其中,X’为数据库的随机映射;Y’为客户端选择矩阵的随机映射;X为IDS的规则数据库;Y是客户端的私有向量,Y对应的是客户根据本地网络特性申请的选择矩阵,具体地说,Y是一个矩阵,如果客户想要得到索引值为i的规则记录,则可设置矩阵Y中的第i行第i列为1,而其它各项均为0。对于一般的数据交互,X应为通用数据库信息。
步骤305客户端接收到数据库服务器发送的信息X’后,计算X’·Y+v’,并将计算结果发送给数据库服务器。其中,v’=v+rb,v为查询结果的随机加密向量,用于保护客户实际选择的X·Y;而v’为查询结果的随机映射。实际上,X’·Y+v’中的X’·Y就是对数据库查询的结果,但为了隐藏实际的查询结果,又将X’·Y与v’进行异或运算,使服务提供者最终计算出来的是X·Y+v’,而不直接是X·Y。
步骤306数据库服务器接收到客户端发送来的计算结果后,再按公式(1)计算,并将计算结果X·Y+v发送给客户端。
(X’·Y+v’)-(Ra·Y’)+ra=X·Y+(v’-Ra·Rb+ra)=X·Y+(v’-rb)=X·Y+v(1)步骤307客户端收到数据库服务器发来的计算结果X·Y+v后,计算出X·Y,该X·Y即为数据库中指定要查找的某些条记录,也就是所要获得的数据库服务器的升级内容。
实际上,X·Y是一个向量,但由于任何字符在计算机中都是用二进制数表示的,所以计算出的X·Y就是客户想要获取的规则数据库中的规则记录。以下述矩阵为例a11a12···a1na21a22···a2n············am1am2···amn·b11b12···b1lb21b22···b2l···bn1bn2···bnl=Σi=1na1ibi1···Σi=1na1ibilΣi=1na2ibi1···Σi=1na2ibil···Σi=1namibi1···Σi=1namibil]]>上述矩阵中,向量[amn]可以看作是数据库X,而向量b可以看作是选择向量Y,计算的结果是一个m行1列的向量,与IDS数据库检索的结果类似。因为,数据库由若干条记录组成,每条记录又由多个字段组成,将字段作为列、记录作为行,在一次数据库查询过程中,每次提交的查询其实就是对某行某列记录的查询,那么,如果将IDS数据库看作是一个矩阵,则矩阵中的每行就认为是数据库中的每条记录,而矩阵中的每列认为是数据库条目数,则上述矩阵运算即可认为是对IDS数据库的检索结果。
本实施例中,客户端无法完全了解数据库的全部内容,从而保护了IDS厂家的利益;同时,IDS厂家也无法了解每个客户具体选择的规则信息,从而也保护了每个客户端的本地安全信息不被泄漏。
以上所述,仅为本发明的较佳实施例而已,并非用来限定本发明的保护范围。
权利要求
1.一种数据安全传输的方法,其特征在于,在当前通信双方所属网络中设置弱可信服务器,该方法还包括a.当通信双方需要传输数据时,通信双方分别向所述弱可信服务器发送请求;所述弱可信服务器收到请求后随机生成一对随机向量和一对随机数;b.所述弱可信服务器将所生成的随机向量和随机数分为两组,分别发送给通信双方;c.通信双方利用所获得的随机向量和随机数进行交互,数据需求方从数据提供方安全获取所需数据。
2.根据权利要求1所述的方法,其特征在于,所述弱可信服务器生成的随机向量之积等于其所生成的随机数之和。
3.根据权利要求1所述的方法,其特征在于,所述弱可信服务器利用IPSec协议建立的安全信道向通信双方发送自身生成的随机向量和随机数。
4.根据权利要求1所述的方法,其特征在于,步骤c中所述通信双方进行交互为数据需求方利用所收到的随机向量和随机数进行加密运算,并通过加密后的向量将自身所需的数据位置信息通知数据提供方;数据提供方利用所收到的随机向量和随机数进行加密运算,并通过加密后的向量将数据需求方所需的数据发送给数据需求方。
5.根据权利要求1或3所述的方法,其特征在于,所述通信双方为客户端之间。
6.根据权利要求1或3所述的方法,其特征在于,所述通信双方为客户端和数据提供方之间。
7.根据权利要求1、2或3所述的方法,其特征在于,所述弱可信服务器为商品服务器。
全文摘要
本发明公开了一种数据安全传输的方法,在当前通信双方所属网络中设置弱可信服务器,该方法还包括a)当通信双方需要传输数据时,通信双方分别向所述弱可信服务器发送请求;所述弱可信服务器收到请求后随机生成一对随机向量和一对随机数;b)所述弱可信服务器将所生成的随机向量和随机数分为两组,分别发送给通信双方;c)通信双方利用所获得的随机向量和随机数进行交互,数据需求方从数据提供方安全获取所需数据。该方法能保证通信双方在使用和升级时所传输数据的安全可靠性,并提高通信双方对所使用数据的信任度。
文档编号H04L9/00GK1595866SQ03156770
公开日2005年3月16日 申请日期2003年9月10日 优先权日2003年9月10日
发明者曲亚东, 徐鹏, 杨燚 申请人:联想(北京)有限公司