一种安全数据中转方法及系统的制作方法

文档序号:7743913阅读:223来源:国知局
专利名称:一种安全数据中转方法及系统的制作方法
技术领域
本发明涉及移动即时通信领域,尤其涉及一种通过第三方节点安全中转数据的方法及系统。
背景技术
即时通讯工具现在已经非常普及,除了满足用户普通文字、图片的交流,语音、图像的交流也日益普及。视频电话是即时通讯工具的发展方向。但是复杂的网络环境是任何网络通讯软件都必须面对和克服的。由于网际网协议(Internet Protocol, IP)地址的匮乏,NAT技术应用日益广泛。很多私网用户都位于网络地址转换(Network Address Translation,NAT)的后面,通过路由器连接到互联网上,这类用户之间不能够直连通讯。此时必须借助 NAT 的 UDP 简单穿越(Simple Traversal of User Datagram Protocol through Network AddressTranslators, STUN)或者 TURN (Traversal Using Relay NAT)技术来建立通路。在使用第三方节点在中转数据的时候,通信的双方需要对数据来源做确认,防止收到来自伪造客户端的数据包;同时,中转节点也需要确认正在中转服务的两个节点是否为合法的节点,以免对中转节点资源的浪费。现有技术中转节点确认数据源是否合法的方法有以下两种方法一、使用IP和端口来判断,根据数据包的IP地址和端口号(Port)来判断数据包是否为业务双方的节点发送的数据包。一旦发现数据包的地址或者端口不对,便认为该数据包是非法包,不再中转出去。如果该地址和端口是完全一致的,则可以认为该数据包是合法的数据。该方法的缺点是,如果数据发送方的地址或者端口经常发生变化,中转节点不能够识别节点的有效性,从而导致拒绝来自合法用户的数据。方法二、使用除了 IP地址和Port之外的某一项值作为判断是否合法数据的标准。 例如数据包中携带数据源的ID号,中转节点收到数据包的时候,若判断匹配数据包中的ID 和申请服务的节点不是同一个ID,便认为该数据是一个非法数据,拒绝转发。若一致,则认为是一个合法的数据包,并作转发操作。该方法的缺点是,如果这个固定值被第四方获得, 第四方发送的数据就被中转节点认为是合法的,并进行转发,容易产生安全隐患。

发明内容
有鉴于此,本发明的主要目的在于提供一种安全数据中转方法及系统,用于解决在通过第三方节点中转数据时的数据来源的认证和数据安全的技术问题。为达到上述目的,基于本发明的一方面,提出一种安全数据中转方法,包括业务数据发送节点对业务数据进行数字签名后将业务数据和数字签名字段打包发送给中转节点;中转节点对接收到的业务数据包携带的数字签名字段进行认证,若认证通过,则再次对所述业务数据进行数字签名生成新的数字签名字段,并将业务数据和新的数字签名字段打包发送给业务数据接收节点,否则丢弃所述业务数据包;
4
业务数据接收节点对接收到的业务数据包携带的数字签名字段进行认证,若认证通过则接受所述业务数据包,否则丢弃所述业务数据包。进一步地,由签名服务器为所述业务数据发送节点、中转节点、业务数据接收节点提供用于对所述业务数据包进行数字签名的随机明文或密钥。进一步地,所述随机明文或密钥具有时效性,在所述随机明文或密钥过期时,或在对所述业务数据包携带的数字签名字段进行认证未通过时,所述中转节点或所述业务数据接收节点向签名服务器请求获取新的随机明文或密钥。进一步地,所述业务数据发送节点和所述中转节点使用一组相同的随机明文或密钥生成业务数据的数字签名字段;所述中转节点和业务数据接收节点使用另一组相同的随机明文或密钥生成业务数据数字签名字段。进一步地,所述业务数据发送节点、中转节点和业务数据接收节点使用约定的哈希算法生成业务数据的摘要,并使用所获得的随机明文或密钥对所述摘要进行签名后生成所述业务数据包中携带的数字签名字段及本地数字签名字段;或业务数据的发送方直接使用所获得的随机明文或密钥对自身的唯一标识或IP地址进行数字签名后生成所述数字签名字段,业务数据的接收方从业务数据包中提取业务数据发送方的唯一标识或IP地址后使用本地所获得的随机明文或密钥对其进行数字签名后生成本地数字签名字段;业务数据的接收方将业务数据包中携带的数字签名字段与本地生成的数字签名字段进行比对,进行所述数字签名字段的认证。基于本发明的另一方面,提出一种安全数据中转系统,包括业务数据发送节点,用于对业务数据进行数字签名将业务数据和数字签名字段打包发送给中转节点;中转节点,用于对接收到的业务数据包携带的数字签名字段进行认证,若认证通过,则再次对所述业务数据进行数字签名生成新的数字签名字段,并将业务数据和新的数字签名字段打包发送给业务数据接收节点,否则丢弃所述业务数据包;业务数据接收节点,用于对接收到的业务数据包携带的数字签名字段进行认证, 若认证通过则接受所述业务数据包,否则丢弃所述业务数据包;签名服务器,用于为业务数据发送节点、中转节点和业务数据接收节点产生和提供用于对所述业务数据进行数字签名的随机明文或密钥。进一步地,所述由签名服务器为所述业务数据发送节点、中转节点、业务数据接收节点产生的用于对所述业务数据进行数字签名的随机明文或密钥具有时效性;在所述随机明文或密钥过期时,或在对所述业务数据包携带的数字签名进行认证未通过时,所述中转节点或所述业务数据接收节点向签名服务器请求获取新的随机明文或密钥。进一步地,所述业务数据发送节点和所述中转节点使用一组相同的随机明文或密钥生成业务数据的数字签名字段;所述中转节点和业务数据接收节点使用另一组相同的随机明文或密钥生成业务数据数字签名字段。进一步地,所述业务数据发送节点、中转节点和业务数据接收节点使用约定的哈希算法生成业务数据的摘要,并使用所获得的随机明文或密钥对所述摘要进行签名后生成所述业务数据包中携带的数字签名字段及本地数字签名字段;或业务数据的发送方直接使用所获得的随机明文或密钥对自身的唯一标识或IP地址进行数字签名后生成所述数字签名字段,业务数据的接收方从业务数据包中提取业务数据发送方的唯一标识或IP地址后使用本地所获得的随机明文或密钥对其进行数字签名后生成本地数字签名字段;业务数据的接收方将业务数据包中携带的数字签名字段与本地生成的数字签名字段进行比对,进行所述数字签名字段的认证。进一步地,所述用于对所述业务数据包进行数字签名的密钥采用非对称加密算法产生。本发明通过对数据源做签名认证,在保证第三方节点中转数据逻辑的简单性同时,避免了中转节点被非法用户攻击或者利用;提高了数据的安全性和可靠性。作为数据的接收方,也对中转节点发出的数据做认证,从而保证了整个中转链路上的数据都是可信的。 克服因为业务方IP或者Port变化导致的认证失败,停止中转数据,同时保护了第三方中转节点不会被恶意用户攻击。


图1为本发明提供的安全数据中转系统的组成结构示意图;图2为本发明中转节点转发业务数据的程序执行流程图。
具体实施例方式本发明的基本思想是通过签名服务器向业务数据发送方、业务数据中转节点、业务数据接收方分发带时效性的数字签名,数据的发送方对数据包进行数字签名,接收数据的一方通过数字签名来认证数据包的发送方是否合法。业务数据的中转节点通过数字签名认证业务数据的发送方,若认证未通过则拒绝中转业务数据;业务数据的接收方通过数字签名认证业务数据的中转节点,若认证未通过,则拒绝接收中转节点中转的业务数据。本发明通过数据签名技术增强了中转数据的安全性,保证中转节点只中转合法的数据,数据接收方只接收合法的数据。为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。图1为本发明安全数据中转系统的组成结构示意图,该系统包括业务节点、中转节点和签名服务器,如图1所示,业务节点A和业务节点B之间通过中转节点转发业务数据,签名服务器用于为业务节点和中转节点提供数字签名服务,在本发明另一具体实施例中用于数字签名的随机明文或密钥具有时效性。图2为本发明中转节点转发业务数据的程序执行流程图,以下基于图1的系统结构以业务节点A向业务节点B发送业务数据为例详细描述业务数据的中转过程,具体步骤如下步骤201 签名服务器为业务节点和中转节点下发用于对业务数据进行数字签名的随机明文或密钥;业务数据发送节点使用获得的随机明文或密钥对待发送的业务数据进行数字签名,生成数字签名字段,将业务数据及数字签名字段打包发送给中转节点;本发明中的签名服务器负责产生并维护中转三方对业务数据进行数字签名所使用的随机明文或密钥。业务开始以后,中转节点、业务数据发送节点和业务数据接收节点依据与签名服务器约定的协议或算法从签名服务器获取所述随机明文或密钥,其中业务数据发送节点和中转节点获取一组相同的随机明文或密钥,中转节点和业务数据接收节点之间也从签名服务器获取另外一组相同的随机明文或密钥,假设业务数据发送节点和中转节点获得的一组随机明文或密钥为Si,中转节点和业务数据接收节点获得的一组随机明文或密钥为S2,则在中转节点会同时拥有两组随机明文或密钥,Sl用于对业务数据发送节点的数据包进行认证,S2用于对转发的业务数据进行再次数字签名,本发明不对密钥Si、S2具体的形式和所采用的生成算法进行限制。步骤202 中转节点接收到业务数据包后,取出数据包中的数字签名字段;步骤203 判断数字签名是否过期,若过期则执行步骤204,否则执行步骤205 ;优选地,签名服务器上产生的用于数字签名的随机明文或密钥具有时效性,目的是提高数据安全性、增加破解或攻击的难度,本发明不限制使所述随机明文或密钥具有时效性所采用的算法及协议。步骤204 更新本地用于数字签名的随机明文或密钥,然后执行步骤205 ;当业务节点或中转节点发现用于数字签名的随机明文或密钥过期时,可通过与签名服务器约定的更新协议更新本地的随机明文或密钥,业务数据的接收方也可在认证数字签名发现不一致时,被动向签名服务器请求获取新的随机明文或密钥。一种简单的方法可以是业务节点或中转节点在随机明文或密钥过期时主动向签名服务器请求新的随机明文或密钥,由签名服务器保证业务数据的发送节点与业务数据的接收节点之间的随机明文或密钥的同步。若采用非时效性的随机明文或密钥,则可省略数字签名过期及随机明文或密钥的更新过程。步骤205 中转节点从业务数据包提取出发送端生成的数字签名字段,并使用本地的随机明文或密钥依据与发送端相同的算法生成新的数字签名字段;步骤206 判断本地产生的数字签名字段与接收到的业务数据包中携带的数字签名字段是否一致,若一致则执行步骤207 ;否则执行步骤208 ;步骤207 中转节点中转该经过认证的数据包到业务数据的接收节点;中转节点使用另外一组随机明文或密钥对业务数据进行数字签名,生成新的数字签名字段,将业务数据和该数字签名字段打包发送给业务数据接收节点。业务数据接收节点对中转节点转发过来的数据进行认证的过程类似于中转节点的处理过程,此处不再赘述。步骤208 中转节点丢弃该未通过认证的数据包。以下以非对称加密算法为例来说明对业务数据进行数字签名及业务数据的中转过程签名服务器为业务数据发送节点和中转节点生成一对公钥和私钥(P1、Si),为中转节点和业务数据接收节点生成另一对公钥和私钥(P2、S2),业务数据发送节点首先使用约定的HASH算法对发送的数据产生1 为的数字摘要,然后使用私钥Sl对数字摘要进行数字签名,将业务数据和加密后的摘要打包发送给中转节点,中转节点使用公钥Pl对接收的加密后的摘要进行解密,同时中转节点使用与发送方相同的HASH算法生成业务数据的摘要,然后将解密后的摘要与本地新生成的摘要进行比对,如果一致则可验证数据包是由发送方发出的,并在传输过程中信息没有被破坏或篡改过,否则说明数据包在传输过程中被破坏或被篡改过,或数据包不是由正确的发送方发送的。若中转节点对业务数据包进行验证未通过则丢弃该数据包,若通过则重新使用约定的HASH算法对待转发的业务数据生成1 为的数字摘要,然后使用私钥S2对数字摘要进行数字签名,将数据包和加密后的摘要重新打包后发送给业务数据接收节点,业务数据接收节点使用公钥P2对接收的加密的摘要进行解密,同时业务数据接收节点使用相同的HASH算法生成业务数据的摘要,然后将解密后的摘要与本地新生成的摘要进行比对,如果一致则可验证数据包是由正确的中转节点发送过来的,并在传输过程中信息没有被破坏或篡改过,否则说明数据包在传输过程中被破坏或被篡改过,或数据包不是由正确的中转节点发送的。本发明不限对业务数据进行数字签名的方法,例如在对安全性要求不高的场景中,可以业务数据发送方的唯一标识或IP地址进行数字签名,在业务数据的接收方只需要从包头中提取出发送方的标识或IP地址即可生成新的本地数字签名,提高了处理效率。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种安全数据中转方法,其特征在于,包括业务数据发送节点对业务数据进行数字签名后将业务数据和数字签名字段打包发送给中转节点;中转节点对接收到的业务数据包携带的数字签名字段进行认证,若认证通过,则再次对所述业务数据进行数字签名生成新的数字签名字段,并将业务数据和新的数字签名字段打包发送给业务数据接收节点,否则丢弃所述业务数据包;业务数据接收节点对接收到的业务数据包携带的数字签名字段进行认证,若认证通过则接受所述业务数据包,否则丢弃所述业务数据包。
2.根据权利要求1所述的方法,其特征在于,由签名服务器为所述业务数据发送节点、 中转节点、业务数据接收节点提供用于对所述业务数据包进行数字签名的随机明文或密钥。
3.根据权利要求1所述的方法,其特征在于,所述随机明文或密钥具有时效性,在所述随机明文或密钥过期时,或在对所述业务数据包携带的数字签名字段进行认证未通过时, 所述中转节点或所述业务数据接收节点向签名服务器请求获取新的随机明文或密钥。
4.根据权利要求1、2或3所述的方法,其特征在于,所述业务数据发送节点和所述中转节点使用一组相同的随机明文或密钥生成业务数据的数字签名字段;所述中转节点和业务数据接收节点使用另一组相同的随机明文或密钥生成业务数据数字签名字段。
5.根据权利要求1、2或3所述的方法,其特征在于,所述业务数据发送节点、中转节点和业务数据接收节点使用约定的哈希算法生成业务数据的摘要,并使用所获得的随机明文或密钥对所述摘要进行签名后生成所述业务数据包中携带的数字签名字段及本地数字签名字段;或业务数据的发送方直接使用所获得的随机明文或密钥对自身的唯一标识或IP 地址进行数字签名后生成所述数字签名字段,业务数据的接收方从业务数据包中提取业务数据发送方的唯一标识或IP地址后使用本地所获得的随机明文或密钥对其进行数字签名后生成本地数字签名字段;业务数据的接收方将业务数据包中携带的数字签名字段与本地生成的数字签名字段进行比对,进行所述数字签名字段的认证。
6.一种安全数据中转系统,其特征在于,包括业务数据发送节点,用于对业务数据进行数字签名将业务数据和数字签名字段打包发送给中转节点;中转节点,用于对接收到的业务数据包携带的数字签名字段进行认证,若认证通过,则再次对所述业务数据进行数字签名生成新的数字签名字段,并将业务数据和新的数字签名字段打包发送给业务数据接收节点,否则丢弃所述业务数据包;业务数据接收节点,用于对接收到的业务数据包携带的数字签名字段进行认证,若认证通过则接受所述业务数据包,否则丢弃所述业务数据包;签名服务器,用于为业务数据发送节点、中转节点和业务数据接收节点产生和提供用于对所述业务数据进行数字签名的随机明文或密钥。
7.根据权利要求6所述的系统,其特征在于,所述由签名服务器为所述业务数据发送节点、中转节点、业务数据接收节点产生的用于对所述业务数据进行数字签名的随机明文或密钥具有时效性;在所述随机明文或密钥过期时,或在对所述业务数据包携带的数字签名进行认证未通过时,所述中转节点或所述业务数据接收节点向签名服务器请求获取新的随机明文或密钥。
8.根据权利要求6所述的系统,其特征在于,所述业务数据发送节点和所述中转节点使用一组相同的随机明文或密钥生成业务数据的数字签名字段;所述中转节点和业务数据接收节点使用另一组相同的随机明文或密钥生成业务数据数字签名字段。
9.根据权利要求6、7或8所述的系统,其特征在于,所述业务数据发送节点、中转节点和业务数据接收节点使用约定的哈希算法生成业务数据的摘要,并使用所获得的随机明文或密钥对所述摘要进行签名后生成所述业务数据包中携带的数字签名字段及本地数字签名字段;或业务数据的发送方直接使用所获得的随机明文或密钥对自身的唯一标识或IP 地址进行数字签名后生成所述数字签名字段,业务数据的接收方从业务数据包中提取业务数据发送方的唯一标识或IP地址后使用本地所获得的随机明文或密钥对其进行数字签名后生成本地数字签名字段;业务数据的接收方将业务数据包中携带的数字签名字段与本地生成的数字签名字段进行比对,进行所述数字签名字段的认证。
10.根据权利要求9所述的系统,其特征在于,所述用于对所述业务数据包进行数字签名的密钥采用非对称加密算法产生。
全文摘要
本发明公开了一种安全数据中转方法及系统,用于解决在通过第三方节点中转数据时的数据来源的认证和数据安全的技术问题。本发明通过签名服务器向业务数据发送方、业务数据中转节点、业务数据接收方分发带时效性的数字签名,数据的发送方对业务数据进行数字签名,接收数据的一方通过数字签名来认证业务数据的发送方是否合法及数据是否被篡改。本发明通过数据签名技术增强了中转数据的安全性,保证中转节点只中转合法的数据,数据接收方只接收合法的数据。
文档编号H04W12/02GK102196423SQ20101012679
公开日2011年9月21日 申请日期2010年3月4日 优先权日2010年3月4日
发明者陈谦 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1