一种分布式安全认证方法

文档序号:7823680阅读:181来源:国知局
一种分布式安全认证方法
【专利摘要】本发明公开一种分布式安全认证方法,包括步骤:(1)客户端以IPv6地址作为源地址,访问认证服务器;(2)认证服务器在验证客户端合法性后,通过加密算法将客户端的IPv6地址、分配的数据服务器IPv6前缀和密钥进行加密计算,得出cookie,将该cookie附加到数据服务器IPv6前缀中返回给客户端;(3)客户端访问带有cookie的IPv6地址的数据服务器,数据服务器在其防火墙中将客户端发来的请求数据包的源地址、目的地址取出;(4)使用步骤(2)的加密算法和密钥,对步骤(3)的数据包的cookie进行校验,如果校验成功则执行步骤(6),否则执行步骤(5);(5)丢弃该数据包,跳转步骤(7);(6)使用DNAT技术将该数据包的目的地址替换为数据服务器真实的IPv6地址;(7)结束。
【专利说明】 _种分布式安全认证方法

【技术领域】
[0001]本发明属于无线网络通信的【技术领域】,具体地涉及一种分布式安全认证方法。

【背景技术】
[0002]IPv6是下一代互联网协议,随着IPv4地址的枯竭,全球互联网会逐渐转向使用IPv6协议,并且很长时间内IPv6将与IPv4并存。这种新协议提供了 128位长的巨大地址空间,可以很容易为终端设备提供64位长前缀的地址空间。
[0003]互联网公司或运营商向其所属用户提供数据服务,会在不同地点部署多台服务器以对其服务实行负载均衡,此处称之为数据服务器。为了保证访问数据服务器的客户端是经过授权的,需要在数据服务器、认证服务器、客户端三者之间实现分布式认证。具体地,通常有如下两种实现方式。
[0004](I)应用层协议内认证方式:
[0005]客户端向调度服务器(调度服务器:在分布式服务系统架构中,负责分发客户端请求的调度中心,其本身不提供数据服务。客户端在请求数据服务之前先查询该服务器,该调度服务器将分配的数据服务器的地址(IP或域名)返回给客户端。客户端再访问数据服务器获取后续服务。)获取数据服务器的IP,此时无需认证;
[0006]得到IP后客户端直接连接数据服务器,并在数据传输协议中(例如HTTP POST请求报文中)携带账号、密码;
[0007]数据服务器再利用该账号、密码,通过集中认证协议(例如RADIUS)验证该账号的合法性及访问权限,以决定是否对该客户端提供服务。
[0008](2) IP白名单方式:
[0009]客户端连接认证服务器,发送其账号、密码;
[0010]认证服务器验证通过后,向客户端返回被分配的数据服务器的IP地址,此时认证服务器亦充当调度服务器;
[0011]同时向数据服务器发送许可信令,允许客户端的IP访问;
[0012]数据服务器收到后将该IP加入其访问控制白名单;
[0013]此时客户端即可访问数据服务器。
[0014]上述方式I存在的主要问题是:对数据服务器、客户端协议不透明,必须在数据协议内支持认证,应用场景受限,一些传输层、网络层的数据服务协议(例如NAT64)无法支持认证。
[0015]方式2虽对数据协议透明(透明:形容词。表示网络通信中无须通信双方的软件无须针对具体应用场景做改动、无须关心底层协议处理的优势。在本文中表示,客户端软件、服务器软件无须针对访问认证做特定修改。),但其每次认证后都需认证服务器向处于不同位置的数据服务器发送IP许可信令,因此其可靠性、生效时间非常依赖认证服务器和数据服务器之间链路的稳定性,一旦中间的路由或线路出现故障,服务就会立即不能进行。同时需要开发复杂的IP许可信令协议,部署、维护成本较高,而可靠性亦较低。
[0016]另外,方式I对每次用户的数据访问都要向认证服务器进行验证,认证服务器的压力极大。方式2认证服务器需要频繁与处于各地的数据服务器通信,数据服务器需要在提供数据服务的同时频繁接收处理认证服务器发来的认证许可信令。因此这两种方式的系统承载能力都存在瓶颈。
[0017]由于上述种种不便,实际实施中经常不对数据服务启用认证,而仅将数据资源进行“隐蔽”,如将视频文件置于复杂的URL路径之下,以达到“相对安全”的效果。实际上这些未启用认证的资源被非法利用的现象时有发生,例如视频文件的非法盗链、收费视频文件被未付费用户非法下载或观看、运营商为其用户提供的NAT64服务被其他未经许可用户滥用等。
[0018]IPv6是未来互联网的发展趋势,互联网公司、运营商会逐渐将自身的服务过渡到IPv6 ο若仍然使用传统的协议内认证或IP白名单方式进行分布式访问认证,则仍会存在上述缺点。


【发明内容】

[0019]本发明要解决的技术解决问题是:克服现有技术的不足,提供一种分布式安全认证方法,其能够在大大简化分布式认证设计、增强稳定性的同时,提供更高的安全性。
[0020]本发明的技术解决方案是:这种分布式安全认证方法,包括以下步骤:
[0021](I)客户端以自身全球唯一的IPv6地址作为源地址,访问认证服务器;
[0022](2)认证服务器在验证客户端合法性后,通过加密算法将客户端的IPv6地址、分配的数据服务器IPv6前缀和密钥进行加密计算,得出cookie,将该cookie附加到数据服务器IPv6前缀中返回给客户端;
[0023](3)客户端访问带有cookie的IPv6地址的数据服务器,数据服务器在其防火墙中将客户端发来的请求数据包的源地址、目的地址取出;
[0024](4)使用步骤(2)的加密算法和密钥,对步骤(3)的数据包的cookie进行校验,如果校验成功则执行步骤出),否则执行步骤(5);
[0025](5)丢弃该数据包,跳转步骤(7);
[0026](6)使用DNAT技术将该数据包的目的地址替换为数据服务器真实的IPv6地址;
[0027](7)结束。
[0028]IPv6地址长度为128位,巨大的地址空间使其很容易为单台服务器分配/64前缀的地址空间,该IPv6前缀下的所有地址都属于这台服务器,并且全球唯一。而一般情况下一台服务器只需要I个地址,因此余下的64位后缀都可以用于存储认证信息,该信息被称作“cookie”,即使对于某些需要32位后缀的特殊应用(例如NAT64),仍有32位可用来存储cookie。该cookie利用源地址、服务器地址前缀通过一定加密算法生成,每个源IPv6地址都对应不同的cookie,即不同的源IPv6地址与不同的目的IPv6地址对应。访问该目的地址的数据包发送至数据服务器时,数据服务器之上的防火墙会校验该cookie的合法性,若校验不合法则拒绝为该客户端提供服务。由于IPv6无须使用NAT转换,每台终端设备都具有不同的全球唯一地址,因而每个用户都需要向认证服务器获取包含其专用cookie的目的地址,由于cookie位数至少为32位,用户难以伪造这个地址,因此未授权的用户不能非法访问数据服务器提供的服务。利用IPv6地址cookie可以在大大简化分布式认证的设计、增强稳定性的同时,提供更高的安全性。

【专利附图】

【附图说明】
[0029]图1示出了根据本发明的分布式安全认证方法的流程图。

【具体实施方式】
[0030]如图1所示,这种分布式安全认证方法,包括以下步骤:
[0031](I)客户端以自身全球唯一的IPv6地址作为源地址,访问认证服务器;
[0032](2)认证服务器在验证客户端合法性后,通过加密算法将客户端的IPv6地址、分配的数据服务器IPv6前缀和密钥进行加密计算,得出cookie,将该cookie附加到数据服务器IPv6前缀中返回给客户端;
[0033](3)客户端访问带有cookie的IPv6地址的数据服务器,数据服务器在其防火墙中将客户端发来的请求数据包的源地址、目的地址取出;
[0034](4)使用步骤(2)的加密算法和密钥,对步骤(3)的数据包的cookie进行校验,如果校验成功则执行步骤出),否则执行步骤(5);
[0035](5)丢弃该数据包,跳转步骤(7);
[0036](6)使用 DNAT 技术(DNAT:目的地址转换(Destinat1n Network AddressTranslat1n)。常用于防火墙中,作用是将经过防火墙的数据包的一组目的网络地址(IPv4或IPv6地址与端口号)映射到另一组或另一个网络地址。)将该数据包的目的地址替换为数据服务器真实的IPv6地址;
[0037](7)结束。
[0038]IPv6地址长度为128位,巨大的地址空间使其很容易为单台服务器分配/64前缀的地址空间,该IPv6前缀(IPv6前缀:对应IPv4协议中的“子网”概念。表示128位IPv6地址中前多少位用于表示网络地址。例如2001:db8:2:3::/64表示地址的前64位是网络号,可向子网中分配从 2001: db8:2:3::到 2001: db8:2:3:: ffff: ffff: ffff: ffff 区间的地址)下的所有地址都属于这台服务器,并且全球唯一。而一般情况下一台服务器只需要I个地址,因此余下的64位后缀都可以用于存储认证信息,该信息被称作“cookiWCookie:通常由服务器发给客户端的一小段数据,后续访问中客户端每次都会带有该数据,已令服务器识别其身份以及会话状态),即使对于某些需要32位后缀的特殊应用(例如NAT64,NAT64:IPv6/IPv4 地址转换(Network Address TransIat1n-1Pv6to IPv4),是一种允许 IPv6 主机与IPv4服务器通讯的机制。NAT64服务器必须同时具备IPv4和IPv6接入,并且IPv6拥有能容纳下32位地址的网段(例如2001:db8:102:4::/96)。IPv6客户端将其欲访问的IPv4地址嵌入到IPv6网段的末32位,将数据包发送到该地址。同时NAT64服务会维持一张IPv6/IPv4地址之间的映射关系,以正确收发数据包。),仍有32位可用来存储cookie。该cookie利用源地址、服务器地址前缀通过一定加密算法生成,每个源IPv6地址都对应不同的cookie,即不同的源IPv6地址与不同的目的IPv6地址对应。访问该目的地址的数据包发送至数据服务器时,数据服务器之上的防火墙会校验该cookie的合法性,若校验不合法则拒绝为该客户端提供服务。由于IPv6无须使用NAT转换,每台终端设备都具有不同的全球唯一地址,因而每个用户都需要向认证服务器获取包含其专用cookie的目的地址,由于cookie位数至少为32位,用户难以伪造这个地址,因此未授权的用户不能非法访问数据服务器提供的服务。利用IPv6地址cookie可以在大大简化分布式认证的设计、增强稳定性的同时,提供更高的安全性。
[0039]优选地,在所述步骤⑵中,加密算法为公式⑴:
[0040]R = F (CA, SP, K)(I)
[0041]其中CA为客户端IPv6地址,SP为认证服务器欲分配给用户的服务器IPv6地址前缀,F为强对称加密算法,K为加密算法所使用的密钥,R为计算得出的cookie。
[0042]优选地,K利用随机数生成。
[0043]优选地,强对称加密算法为Linux内核中SYN Cookie用到的哈希算法。
[0044]使用IPv6地址cookie进行分布式安全认证的优点在于:
[0045](I)具有较高的高安全性。当采用64为cookie位每次试探破解成功的概率只有1/(2~64) ο
[0046](2)简化分布式认证系统及其协议的设计,无须复杂的认证同步及信令传输。数据服务器只需使用与认证服务器相同的加密算法和密钥,即可验证访问的合法性,无须在在每次认证时在认证服务器和数据服务器之间传递信令。
[0047](3)认证机制对网络协议透明,在现有数据传输协议之上增加认证时,无须对协议自身进行修改。由于访问的合法性校验在服务器系统底层的防火墙中进行,故上层协议无须改动。
[0048](4)降低分布式认证系统中认证服务器的压力,提高系统性能和稳定性。认证服务器和数据服务器之间无须频繁的通信,因而降低了产生性能瓶颈的可能性。
[0049]类似地,采用“端口 cookie”同样可实现类似的分布式认证效果。
[0050]TCP/UDP的端口号为16位。端口号10000以下用于绝大多数的网络服务,也即32768(0x8000)到65535 (Oxffff)的端口号不会被用于服务器的监听端口,这样一来TCP/UDP协议目的端口的低15位可用于存储类似于IPv6地址cookie的“端口 cookie”。
[0051]由于cookie有15位,攻击者每次试探性破解攻破的概率为有1/32768,若将cookie校验允许出错的次数限制为η次(例如64),当试探而导致的cookie错误次数达到该值后,将源IP地址加入黑名单,则该cookie整体被攻破的概率仅为n/32768。因此,该方法可用于安全级别较低的系统或应用的认证,例如在线视频服务。
[0052]以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
【权利要求】
1.一种分布式安全认证方法,其特征在于:包括以下步骤: (1)客户端以自身全球唯一的IPv6地址作为源地址,访问认证服务器; (2)认证服务器在验证客户端合法性后,通过加密算法将客户端的IPv6地址、分配的数据服务器IPv6前缀和密钥进行加密计算,得出cookie,将该cookie附加到数据服务器IPv6前缀中返回给客户端; (3)客户端访问带有cookie的IPv6地址的数据服务器,数据服务器在其防火墙中将客户端发来的请求数据包的源地址、目的地址取出; (4)使用步骤(2)的加密算法和密钥,对步骤(3)的数据包的cookie进行校验,如果校验成功则执行步骤(6),否则执行步骤(5); (5)丢弃该数据包,跳转步骤(7); (6)使用DNAT技术将该数据包的目的地址替换为数据服务器真实的IPv6地址; (7)结束。
2.根据权利要求1所述的分布式安全认证方法,其特征在于:在所述步骤(2)中,加密算法为公式⑴: R = F (CA, SP, K)(I) 其中CA为客户端IPv6地址,SP为认证服务器欲分配给用户的服务器IPv6地址前缀,F为强对称加密算法,K为加密算法所使用的密钥,R为计算得出的cookie。
3.根据权利要求2所述的分布式安全认证方法,其特征在于:K利用随机数生成。
4.根据权利要求3所述的分布式安全认证方法,其特征在于:强对称加密算法为Linux内核中SYN Cookie用到的哈希算法。
【文档编号】H04L29/06GK104468605SQ201410806803
【公开日】2015年3月25日 申请日期:2014年12月22日 优先权日:2014年12月22日
【发明者】刘剑英 申请人:北京极科极客科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1