网络中安全的负载平衡的制作方法

文档序号:7610514阅读:129来源:国知局
专利名称:网络中安全的负载平衡的制作方法
技术领域
本发明涉及一种系统,该系统包括至少两个资源和哈希函数,该系统被安排用于将外部用户分配到资源,其中用户数量大于资源的数量。
本发明还涉及依照以上系统的方法。
背景技术
在当今许多应用中,大量用户访问一个系统中显著较少的资源。一方面,用户可能是由人操作的设备,例如该设备可以是计算机和移动设备。另一方面,资源可以是处理程序、处理器、打印机和许多其他器件。在上下文中,资源的更广泛的定义是“为其它事物执行任务的某些事物”。从功能性的角度考虑各个资源是等价的,因此从功能的观点来看,将某个用户引导到哪个资源是不重要的。
但是为了将某个用户指引到正确的资源,以一种均衡的方式执行这种指引是非常重要的,即,大量的用户被均匀分配到相对少的资源,避免一些资源被很少用户使用,而一些资源被许多用户使用。
现今上述任务通常是通过向包含资源的系统馈送一个用户标识码来执行的,例如对于用户X,标识码是IdX。然后通过所谓的哈希函数来馈送IdX。
在上下文中,哈希函数是一种变换,它从一个定义集中取数据,并将这些数据变换成数值集中的输出数据,所述输出数据被称做哈希数值。定义集通常大于数值集。这意味着哈希函数是“多对一”的,即,几种输入数据的组合会得到同样的输出数据或者哈希数值。哈希函数不保持结构。理想地,对于每个输入数据来说,获得任何可能的输出数据的概率应该是均等的。在输入数据的频率分布中的任何不均衡被变换成输出数据的均匀分配。
一个简单的例子是,有100 000个用户,每人有一个标识每个用户的用户号IdX,其中IdX在1-100 000之间,并且共享16个编号为1-16的资源。哈希函数依照一种简单算法将用户均匀地分配在资源中。例如,每16个用户被指引到相同的资源上。那么用户1、17、33、49被指引到资源编号1,用户2、18、34、50被指引到资源2,等等。
哈希函数的主要特性是它将当前用户指引到所述资源1-16之一。通常,对于多个不同的输入,哈希函数会导致相同的结果,即多个不同的输入得到相对少的不同输出。这被称为是“多对一”。
如果用户被指引到的每个资源适合于处理相等数量的用户,那么重要的是哈希函数能够产生均匀分布的输出。用户在资源中均匀分布,促成负载平衡。
然而,由于故障以及故意的情况可能存在问题。随机的,用户可能由不同的组所组成,请求不同程度地访问资源。如果这些组不幸地被平衡了,通过哈希函数被指引到某一资源的用户可能相比于其他用户来说会请求对资源更大程度的访问。使得某个资源将承受比其他资源更大的负载,导致资源中的有偏的负载平衡。
发生故意的,即所谓的“哈希攻击”将引起资源之间有偏的负载平衡。哈希攻击通常由对系统有充分认识的攻击者和/或利用从包含资源的系统输出的信息的攻击者所造成。攻击者注意对资源的每个请求在通过哈希函数时被指引到同一资源。这个资源承受着非常高的负载,然后近乎无效地运行,这可能导致通常所说的“拒绝服务”,该资源不再接受任何用户。这将影响整个系统的服务效率。
发动哈希攻击的动机是实现“拒绝服务”,即造成一个或者多个资源对于其他用户不可用。其他被指引到被攻击的一个或多个资源的用户不知道哈希攻击在进行,只是发现他们请求的服务是不可用的。这会让所述其他用户认为服务可用性很差,从而会损害商誉,以及由此损害服务提供商的品牌。
现今,存在着被安排为因为当前的负载平衡而调整哈希函数、防止有偏的负载平衡发生的服务器系统。这种适应性安排需要大量的系统资源和维护,而且难于适应在哈希攻击期间发生的正在进行的负载不平衡。即使该适应性系统能够在哈希攻击期间实现适当的负载平衡,该适应性处理程序会要求一定数量的资源的系统中或多或少地产生“拒绝服务”情况,因为该系统正忙于防护自身。这样无论哪种情况,攻击者都能实现他的目标。

发明内容
本发明的一个目标是提供一种系统和方法,用于在只需少量的系统资源的情况下,通过确保维持适当的负载平衡来防止哈希攻击。
这个目标依靠如权利要求1前序部分的系统来解决,该系统还包括(至少部分地)用于产生均匀分配的装置。
此外,这个目标依靠如权利要求10前序部分的方法来解决,该方法还包括步骤输入唯一的用户标识码或数字,产生用户到资源的均匀分配,其中通过使用哈希函数来完成分配。
优选地,通过加密算法来实现依照上述系统和方法的分配的均匀。
在从属权利要求中公开了优选的实施例。
通过本发明可以获得几个优势。例如-获得一种需要极少维护、用于防止哈希攻击的便宜的装置。
-可以使用极少系统资源来防止哈希攻击。


现在参考附图更详细地描述本发明,其中图1显示依照本发明第一实施例的系统的概图;图2显示依照本发明第二实施例的系统的概图;以及图3显示依照本发明第三实施例的系统的概图;具体实施方式
如图1所示,用户1的个数是M,每个具有标识码或数字Id1到IdM,这些用户能够连接到具有N个资源的系统2,每个资源具有标识码或数字R1到RN,其中用户1的个数M大于资源3的个数N,即M>>N。举例来说,用户1可以是移动设备,例如是由移动设备所有者操作的移动电话或便携式计算机,系统2可以是移动设备节点,其中资源3是在移动设备系统节点提供的服务。
如果具有某个识别码或者数字IdX的用户1′想访问系统中的资源,从功能的观点来看,将用户指引到资源3中的哪一个是不重要的。为了实现用户1对于资源3的均匀负载平衡,IdX标识码或者数字被传送通过哈希函数4,该哈希函数4将用户1均匀分布,将他们分配在可用资源3之间。
依照本发明,为了随机地将用户指引到资源3,首先随机化到哈希函数4的输入。这可以通过使用加密算法5加密到哈希函数4的输入数据来获得,其中加密通过使用至少一个密码密钥Kc7来产生密码6。密码6被用作到哈希函数4的输入,最后产生一个哈希数值8,该哈希数值指引用户到可用资源3中具有某个标识码或数字RY的资源3’。
加密算法5在某一时间对某一输入9产生一个唯一的输出密码6,这被称为“一对一”。一种好的加密算法5提供均匀输出,该输出理想地是完全随机的。由于使用加密作为随机函数发生器,“白化”到哈希函数4的输入6,根本不发生解密。重要的是,加密需要非重复随机化。然后某个输入9产生在加密输出范围内的任何输出6,每次在加密输出范围内获得任何数字的概率都相同。因此可获得用户1在资源3中的均匀分配。
仍然参考图1,一个简单的例子是,有100 000个用户1,每人有一个在1到100 000之间的用户数字IdX来标识每个用户,他们共享16个资源3,每个资源有在1-16之间的用户数字RY。换句话说,M=100 000,N=16。哈希函数4均匀地在资源3之间分配用户。哈希函数4的输出将用指引到资源3的其中一个资源。在将用户数字IdX馈送到哈希函数4之前,先用加密算法5加密IdX,并随机化用户数字IdX。加密输出6(即密码)的范围可能比用户1的个数M大很多,虽然这不是必需的。
如果用户数字50 000想使用资源3,那么数字50 000被加密,然后该加密产生一个在加密输出范围内的数字。每次加密数字50 000便产生在输出范围内的任何输出,每次加密数字50 000时以相同的概率获得在输出范围内的任何数字。这就是任何用户数字被馈送给加密算法5的情况。
依照该实例,哈希函数4在范围1-16内均匀地产生一个数字作为输出8。依照这个实例哈希函数4对于给定的输入总是产生同样的输出。因为每当一个输入被馈送给加密算法5时,加密算法5会产生在加密输出范围内的任何数字,所以每当一个输入9被馈送给加密算法5时,哈希函数4被馈送在加密输出范围内的任何数字。因为到哈希函数4的输入6被随机化,所以来自哈希函数4的输出8同样是随机化的,使得哈希攻击不能实行,因此该分布是均匀的。
如图2所示,依照第二实施例,首先进入系统2的用户输入9被馈送给哈希函数4,然后通过加密算法5随机化哈希函数4的输出8。优选地,然后加密算法5具有一个输出,其可以容易地变换为资源3的某一标识码或者数字RY。
此外,如图3所示,依照第三实施例,进入系统的用户输入9被馈送给所谓的加密(keyed)哈希函数10,该函数提供随机化的输出11。为了实现它,哈希关键字Kh 12被用于加密哈希函数10。如前所述,加密必须是这种性质,每当系统2的某个输入9被馈送给加密哈希函数10时,产生在输出范围内的任何输出11,每次获得在输出范围内的任何数值具有相同的概率。在这种情况下,不使用独立的加密算法,但是加密和负载分配全部由加密哈希函数10来负责。优选地,加密哈希函数10具有一个输出11,该输出易于被变换为某个资源3的标识码或数字RY。
任何随机化处理的效率都单纯地取决于加密算法的效率。产生越多的随机化加密,就产生越多的来自所述哈希函数的随机化输出,于是获得对于资源的更均匀的负载平衡。存在多种加密算法,他们具有各种密码密钥,这里不进行更详细地讨论。本发明的主要特性是使用一个具有随机化性质的函数,对于本领域的技术人员来说,找到适当的加密函数并不困难。在本发明的范围内可以使用任何其他的随机化装置。
本发明不局限于上述的实施例,在附加权利要求的范围内可以自由地变化。举例来说,用户可以是计算机,其中系统是包含诸如服务器和打印机的计算机系统资源的计算机网络,用户被指引到这些计算机系统资源。
例如,作为依照本发明的加密算法的基础的加密算法可以是AES(高级加密标准)。
加密算法可以不仅使用密码密钥Kc来产生密码,还可以使用其他种类的初始化数据。
权利要求
1.一种包含至少两个资源(3)和一个哈希函数(4)的系统,该系统被安排用于将外部用户(1)分配到资源(3),其中用户(1)的个数大于资源(3)的个数,特征在于,该系统还包括至少部分地用于产生均匀分配的装置(5)。
2.依照权利要求1的系统,特征在于通过加密算法(5)来实现分配的均匀性。
3.依照权利要求2的系统,特征在于加密算法(5)加密唯一的用户标识码或数字(IdX)并将密码输出(6)发送到哈希函数(4)。
4.依照权利要求3的系统,特征在于哈希函数输出(8)被安排链接到某个资源(3′)。
5.依照权利要求2的系统,特征在于哈希函数(4)被安排为在其输入端被馈送以唯一的用户标识码或数字(IdX),并将哈希函数(4)的输出(8)发送到加密算法(5)。
6.依照权利要求5的系统,特征在于密码输出(6)被安排链接到某个资源(3′)。
7.依照权利要求2的系统,特征在于加密算法是哈希函数的一部分,因此所述哈希函数组成了所谓的加密哈希函数(10)。
8.依照任何一个上述权利要求的系统,特征在于用户(1)是多件由移动设备所有者操作的移动设备,系统(2)是移动设备系统节点,并且其中资源(3)是在移动设备系统节点上提供的服务。
9.依照权利要求1-7任何一个的系统,特征在于用户(1)是计算机,其中系统(2)是计算机网络,并且其中资源(3)是将计算机指引到其中的计算机系统资源。
10.一种用于将外部用户(1)分配到系统中的至少两个资源(3)的方法,其中用户(1)的个数大于资源(3)的个数,该方法包括步骤向系统输入唯一的用户标识码或数字(IdX);产生用户(1)到资源(3)的均匀分配,其中通过使用哈希函数(4)来完成分配。
11.依照权利要求10的方法,特征在于通过加密算法(5)来实现分配的均匀性。
12.依照权利要求11的方法,特征在于加密算法(5)加密唯一的用户标识码或数字(IdX),并将密码输出(6)发送到哈希函数(4)。
13.依照权利要求12的方法,特征在于哈希函数输出(8)被链接到某个资源(3′)。
14.依照权利要求11的方法,特征在于哈希函数(4)被安排为在其输入端被馈送以唯一的用户标识码或数字(IdX),并将哈希函数输出(8)发送到加密算法(5)。
15.依照权利要求14的方法,特征在于密码输出(6)被链接到某个资源(3′)。
16.依照权利要求11的方法,特征在于加密算法是哈希函数的一部分,因此哈希函数组成了所谓的加密哈希函数(10)。
17.依照权利要求10-16任何一个的方法,特征在于用户(1)是多件由移动设备所有者操作的移动式设备,系统(2)是移动设备系统节点,其中资源(3)是在移动设备系统节点上提供的服务。
18.依照权利要求10-16中的任何一个的方法,特征在于用户(1)是计算机,系统(2)是计算机网络,其中资源(3)是将计算机指引到其中的计算机系统资源。
全文摘要
本发明涉及一种系统,该系统包括至少两个资源(3)和一个哈希函数(4),该系统被安排用于将外部用户(1)分配到资源(3),其中用户(1)的个数大于资源(3)的个数。此外,该系统包括至少部分用于产生均匀分配的装置。优选地,通过加密算法(5)实现分配的均匀性。本发明还涉及一种依照上述内容的方法。
文档编号H04L29/00GK1993959SQ200480043716
公开日2007年7月4日 申请日期2004年7月30日 优先权日2004年7月30日
发明者K·博曼, S·阿克斯尔森, J·赫尔伯格 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1