用于许可各方进入网络的认证的制作方法

文档序号:7875771阅读:269来源:国知局
专利名称:用于许可各方进入网络的认证的制作方法
技术领域
本申请涉及安全网络领域,更具体地,涉及一种设备,用于认证并许可各方进入安全网络配置。
背景技术
由于例如因特网的公共网络的引入,许多商务活动相当大地改变了其运行模式。通过使用交互式对话页,制造商和零售商允许其消费者利用传统信用卡直接购买产品。在这种情况下,信用卡信息的安全性非常重要,以便防止其信用卡信息的被盗和欺诈。传统地,通过利用例如RSA和数字证书的公知加密算法对信息进行加密的安全套接字层(SSL)来传输信用卡信息。如本领域技术人员所理解的,RSA是指由Rivest、Shamir和Adleman开发的一种加密算法,其根据大质数的计算来产生公共密钥和私有密钥信息。在操作中,每一方产生公共/私有密钥组合对并使公共密钥对于所有其它方均可用。然后,第一方可以利用其它方的公共密钥对信息项进行加密,而其它方可以利用对应的私有密钥对信息项进行解密。类似地,一方可以通过利用其私有密钥对信息项进行加密来数字地签名文档,并且只有访问了对应公共密钥的另一方才能对加密信息进行解密。因此,利用公共/私有加密算法,能够通过网络安全地传输信息项,同时提供了授权各方发送或接收信息项的安全等级。
视频会议是其中各方之间的安全通信尤其重要的一个示例。在这种情况下,每一方可以利用所提供的公共密钥或使用其私有密钥对视频会议进行签名。然后,当每一方能够参加会议时,会议开始进行。然而,密码可能会被损害、破解或破译,各方网络的认证会遭到置疑,并且通过网络传输的信息变为可用于没有被授权接收该信息的一方。该信息的泄漏可能会引起重大的社会和/或经济危害。
因此,需要一种保证各方认证的系统和设备,并进一步许可得到认证的各方进入安全网络。

发明内容
一种系统和设备,用于认证并许可位于远程站点的各方进入安全通信网络,其中每一个远程站点包括操作用于执行代码的设备,所述代码用于确定从第二站点接收的第一认证值的代码,利用与所述远程站点相关的数值来隐蔽所述第一认证值,加密并发送所确定的值,解密第二认证值,并且当去隐蔽(unblinded)的第一认证值等同于第二认证值时,验证发送站点。此外,发送站点包括操作用于执行代码的设备,所述代码用于产生并发送由与远程站点相关的数值隐蔽的第一认证值,对数值进行解密,并且当认证值等同于解密接收数值时,验证该远程站点。


图1示出了将本发明的原理用于认证交易各方的系统的方框图;图2示出了根据本发明的原理用于认证各方的第一处理的流程图;图3示出了根据本发明的原理用于认证各方的第二处理的流程图;图4示出了根据本发明的原理用于许可各方进入交易的处理的流程图;图5示出了根据本发明的原理用于许可各方进入交易的第二处理的流程图;图6示出了根据本发明的原理用于认证并建立各方之间的链路的、服务器和站点之间的交互通信;以及图7示出了用于执行图2到图6的处理的设备。
可以理解,这些附图仅用于演示本发明的概念,并不作为对本发明的限制的限定。图1-7所示并且下文详细所述的实施例用作演示的实施例,而不应当被设想为实现本发明的唯一方式。同样,已经使用了相同的参考数字(可能根据需要是参考字符)来标识相似的组件。
具体实施例方式
图1示出了根据本发明原理的系统100的方框图,需要网络上的多个可用远程站点之间的安全通信链路。在所示的图中,服务器110通过网络150与远程站点115、120、125、130和135进行通信。在现有技术中,例如TCP/IP等通过网络150提供双向通信的协议是公知的,这里无需进行详细讨论。
服务器110还包括唯一标识每一个远程站点的信息,例如数值、代码或标记。即,每一个远程站点注册到服务器110。例如,可以利用唯一的数值、代码或标记来标识、关联或注册站点115,在这种情况下,将所述唯一数值、代码或标记称为“标识No.1”。此外,可以利用对于站点120唯一的数值、代码或标记来标识、相关或注册站点120。在这种情况下,可以将站点120描述为被标记“标识No.2”唯一地标识。类似地,可以利用唯一的数值、代码或标记来标识、相关或注册站点135,将其表示为“标识No.5”。对于远程站点125和130进行类似的标识。
在本发明的一个方案中,每一个相关的标识值、代码或标记可以是任意选择的数值或阿拉伯数字的组合。在本发明的另一方案中,可以选择每一个相关的标识值、代码或标记,以使其包括公知的属性,例如公知阶数(order)或大小的质数。
服务器110可以产生并保持与每一个远程站点相关的每一个唯一值,并将该信息提供到相关的远程站点。在另一方案中,可以由对应远程站点向服务器110提供每一个唯一值。在本发明的另一个方案中,仅由服务器110和相关的远程站点保留唯一远程站点代码的知识。此外,服务器110包括公共密钥/私有密钥加密算法,例如RSA。在一个方案中,可以将公用服务器公共密钥分配到每一个远程站点。在本发明的另一个方案中,服务器10可以针对每一个远程站点产生并关联公共密钥/私有密钥。在该方案中,向远程站点提供独立的服务器公共密钥。可以根据周期性时间、随机时间,动态地、或当远程站点注册到服务器110时或当调度站点之间的会议时进行请求时,将公共密钥分配到每一个远程站点。优选地,当接收到连接请求时提供公共密钥。
图2示出了根据本发明的原理保持在服务器110上的典型处理200的流程图,用于认证进行安全交易或通信的各方。为了简化的目的,现在针对会议邀请者和会议被邀请者来说明本发明的新颖方案。在该典型处理200中,响应在邀请者(例如图1的远程站点120)和被邀请者(例如远程站点130)之间建立安全通信的请求,服务器110在框205处产生针对每一方的随机数字。在框210处,利用与站点相关联的唯一标识码对所产生的随机数字进行加密、扭曲或隐蔽,在框210处。在本发明的优选实施例中,利用以下关系来隐蔽所产生的随机数字R_exp1 XOR IDa;其中R_exp2 XOR IDb[1]其中R_exp1和R_exp2是所产生的两个随机数字;IDa是与第一站点相关联的唯一值;IDb是与第一站点相关联的唯一值;以及XOR是传统的布尔逻辑函数。
然后,在框215处,利用与服务器110相关的私有密钥对两个隐蔽值进行加密。即,服务器110对隐蔽值进行加密或加扰。如本领域技术人员所理解的,加密数值的处理按照以下方式对数值进行遮挡或加扰使数值不可理解、不清楚或者不会被没有掌握相当解密处理的人解译。在框220,如图1所示,将加密隐蔽值通过网络150进行传输。在框225处,服务器110等待来自远程站点的响应。在框230处,当检测到响应时,利用服务器110的私有密钥来解密接收到的消息。
在框235处,确定已解密的接收值是否等同于在框220处发送的随机值。如果答案是否定的,则接收到来自非授权站点的响应。然后,处理按照远程站点不能被授权进行。
然而,如果答案是肯定的,只有当特定远程站点能够返回所产生和提供的随机数,即R_exp1或R_exp2时,才确认远程站点的身份。然后,在框240处,利用服务器110的私有密钥对与站点相关的随机数进行加密,并在框245处,将其通过网络进行传输。在框250处,服务器110等待传输加密消息的响应。
当接收到响应时,在框260处,得到每一方可用的加密算法的列表。在框265处,服务器110确认建立各方之间的安全连接并选择加密算法。优选地,在每一方站点处呈现加密算法。在另一个方案中,每一方可以提供可用加密算法的列表,服务器110可以从其中选择参照算法。在另一个方案中,服务器110可以向每一方提供适当的加密算法。
图3示出了在远程站点上可操作的处理300的流程图,用于认证并建立各方之间的安全通信链路。在该典型处理中,在框310处,例如站点130的远程站点接收来自服务器110的初始传输。在框315处,利用服务器110的公共密钥对消息进行解密。然后,在框320处,利用与每一个远程站点相关的唯一标识码来去隐蔽解密消息。在本发明的优选实施例中,如方程[1]所示,可以利用以下原理来去隐蔽信息{[a XOR b]XOR b}=a[2]其中a表示所产生的随机数;以及b表示远程站点标识值。
如本领域的技术人员所理解的,只有具有相关标识值、代码或标记的知识的远程站点才能够正确地确定所产生的随机数。
然后,在框325处,利用服务器110的公共密钥来加密去隐蔽的随机数,并通过网络进行传输。在框335处,远程站点等待来自服务器110的响应。
当接收到响应时,利用服务器110的公共密钥来解密信息。在框345处,确定来自框340的解密值是否与在框320处得到的已解密、去隐蔽的值相同。如果答案是否定的,由于授权处理失败,处理结束。
然而,如果答案是肯定的,则在框350处向服务器110提供远程站点可用的加密算法的列表,并在框355处提供认证处理完成的确认。
图4示出了典型处理400的流程图,用于许可被验证方进入安全网络配置。在该所示的处理中,在方框410处,服务器110接收从能够得到验证的每一个远程站点产生的随机数,即,成功地完成如图2和3所示的处理。任意产生随机数。优选地,在所产生的随机数之间不存在相关。尽管未示出,可以理解,可以按照利用公共密钥加密或加扰的形式来接收随机数,并在随后使用之前,需要利用本地密钥的解密。
在方框415,服务器110利用每一个唯一远程站点标识号来隐蔽接收到的随机数。在本发明的一个方案中,利用如下逻辑函数来隐蔽随机数R_site1 XOR ID2;以及R_site2 XOR ID1[3]其中R_site1是由第一站点产生的随机数;R_site2是由第二站点产生的随机数;IDa是与第一站点相关的唯一值;IDb是与第二站点相关的唯一值;以及XOR 是传统的布尔逻辑函数。
然后,在框420处,将隐蔽值传输到相应远程站点,以便每一个远程站点接收到其它远程站点的隐蔽随机数。
在本发明另一个优选的方案中,利用以下逻辑函数来隐蔽随机数R_site1 XOR R_site2[4]图5示出了在每一个远程站点执行的典型处理500的流程图,用于许可被验证方进入安全网络配置。在该典型处理中,在框510处,产生随机数。在框515处,利用服务器110的公共密钥加密所产生的随机数,并在框520处,通过网络进行传输。在框525处,远程站点等待来自服务器110的响应。
当接收到响应时,去隐蔽接收到的数值。在由方程3表示的本发明的方案中,可以使用与方程2所示类似的处理来去隐蔽数值。在由方程4表示的本发明的方案中,可以根据以下方程来去隐蔽数值{[a XOR b]XOR b}[5]其中a表示一个站点的随机数;以及b表示另一个站点的随机数。
因此,每一个远程站点掌握由另一个远程站点产生的随机数。在框535处,利用符合所选择的加密算法的、由每一个站点产生的随机数,来形成加密密钥。尽管未示出,本领域的技术人员可以理解,还可以利用私有密钥来加密接收到的隐蔽值。因此,利用所提供的对应公共密钥来解密接收到的数值。如进一步理解的,可以交换处理隐蔽和加密信息的次序,而不会影响本发明的范围。
图6示出了请求会议的一方(被称作客户机1)610和服务器615以及会议的被邀请者(被称作客户机2)620之间的信息传输的、按时间排序的序列600。在该演示的序列中,客户机1(610)向服务器615发送请求630,用于与被邀请者620的会议。服务器615向客户机1(610)和客户机2(620)分别发送加密隐蔽随机值R_exp1(即,Ekr(R_exp1 XORID1))和R_exp2(即,Ekr(R_exp2 XOR ID2))。
客户机1(610)和客户机2(620)分别向服务器615发送表示R_exp1(即,Ekr(R_exp1 XOR ID1))和R_exp2(即,Ekr(R_exp2 XOR ID2))的加密值。然后,服务器620分别向客户机1(610)和客户机2(620)发送数字签名的、加密随机值R_exp1和R_exp2,即,Ekr(R_exp1)和Ekr(R_exp2)。
然后,在成功地解密发送的值之后,客户机1(610)和客户机2(620)将加密算法的列表(即,密码组)发送到服务器615并进行确认。然后,服务器615提供各方之间的连接已经建立的指示并选择密码来保证各方之间的通信安全。
然后,在本发明的一个方案中,客户机1(610)和客户机2(620)可以分别产生随机值Rand1和Rand2,并将Rand1和Rand2的加密版本发送到服务器615。然后,服务器615将数字签名的隐蔽值Ekr(Rand1 XORRand2)发送到客户机1(610)和客户机2(620)。然后,客户机1(610)和客户机2(620)使用Rand1和Rand2的公知组合来形成适于所选择密码的会话密钥。
图7示出了用于实现在图1和2所示的典型处理中描述的本发明的原理的系统700。在该典型系统实施例700中,通过网络750接收来自源705的输入数据,并根据由处理系统710执行的一个或多个软件程序来处理所述输入数据。可以将处理器710表示为手持计算器、专用或通用处理系统、台式计算机、掌上计算机或个人数字助理(PDA)设备等,以及能够执行图1-6所示操作的这些和其它设备的部分或组合。然后,通过在网络770传输处理系统710的结果,以便在显示器780、报告设备790和/或第二处理系统795上进行观看。
具体地,处理系统710包括一个或多个输入/输出设备740,用于通过网络750接收来自所示源设备705的数据。然后,将接收到的数据应用于处理器720,处理器720与输入/输出设备740和存储器730进行通信。处理器720可以是中央处理单元(CPU)或专用硬件/软件,例如PAL、ASIC、FPGA,可操作用于执行计算机指令码或代码与逻辑运算的组合。输入/输出设备740、处理器720和存储器730可以通过通信介质725进行通信。通信介质725可以表示通信网络,例如ISA、PCI、PCMCIA总线、电路的一个或多个内部连接、电路卡或其它器件,以及这些和其它通信介质的部分和组合。
在一个实施例中,处理器720可以包括当执行这里所示的操作时执行的代码。该代码可以包含在存储器730中、从被表示为783的存储介质(CD-ROM或软盘)读取或下载、或利用例如键盘或小键盘等手动输入设备786提供、或当需要时从处理器720可访问的磁或光介质(未示出)读取。如图所示,处理器720可以通过输入/输出设备740来访问由输入设备783、785和/或磁介质提供的信息项。此外,由输入/输出设备740接收的数据可以由处理器720立即进行访问或可以存储在存储器730中。处理器720还可以通过I/O设备740将这里所示处理的结果提供到显示器780、记录设备790或第二处理单元795。
如本领域技术人员所理解的,术语处理器、处理系统、计算机或计算机系统可以表示与一个或多个存储单元和其它设备(例如外围设备)进行通信的一个或多个处理单元,所述一个或多个其它设备与至少一个处理单元电连接并进行通信。此外,所示的设备可以通过以下介质与一个或多个处理单元电连接内部总线(例如串行、并行、ISA总线、微通道总线、PCI总线、PCMCIA总线、USB、无线、红外、射频等)、或电路的一个或多个内部连接、电路卡或其它设备以及这些或其它通信介质的部分和组合、或外部网络(例如因特网和内联网)。在其它实施例中,硬件电路可以用于代替软件指令或与之结合,以实现本发明。例如,这里所示的组件还可以实现为分离硬件组件或可以集成为单个单元。
如所理解的,可以利用一个或多个不同的处理器来顺序或并行地执行图2-5所示的操作,以确定具体数值。处理器系统710还可以与每一个源705进行双向通信。处理器系统710还通过一个或多个网络连接接收来自服务器的数据或向服务器发送数据,例如通过全局计算机通信网络,例如因特网、内联网、广域网(WAN)、城域网(MAN)、局域网(LAN)、陆地广播系统、有线电视网络、卫星网络、无线网络或电话网络(POTS)以及这些和其它类型网络的部分或组合。如所理解的,网络750和770还可以是内部网络或电路的一个或多个内部连接、电路卡或其它设备,以及这些和其它网络介质的部分和组合,或是例如因特网和内联网的外部网络。
在本发明的优选实施例中,可以从包括流密码加密或快速块密码加密算法的组中选择所选择的加密算法。如本领域技术人员所理解的,可以根据应用程序的整体性能和网络配置来确定所选择的特定算法。此外,所产生的随机值或在加密算法中使用的密钥的大小可以取决于会话的估计长度。在本发明的另一个方案中,可以根据可以发送的分组的最大数目来选择加密密钥的持续时间。例如,对于1小时会话,可以设置10000分组的加密密钥持续时间,或对于2小时会话可以设置20000分组。因此,在固定量时间或固定分组数目发送之后,可以终止加密密钥并建立新密钥。
尽管已经示出、说明并指出了当应用于本发明优选实施例时本发明的基础新颖特点,可以理解,在不脱离本发明的精神的前提下,本领域的技术人员可以对上述设备、公开的设备形式和细节及其操作进行各种省略、替换以及改变。例如,尽管针对视频会议公开了本发明,本领域的技术人员可以理解,本发明可以用于音频和/或多媒体会议或各方之间的数据交换。尽管已经相对于单组密钥说明了本发明,在本发明的范围内可以设想并考虑确定多组密钥。例如,在多媒体交换中,一组密钥可以用于音频传输,可以针对视频传输来产生第二组密钥。此外,本领域的技术人员应当理解,可以通过与所述XOR运算相似的功能和/或运算来执行隐蔽操作。
显然,按照实质上相同的方式来执行实质上相同功能、以实现相同结果的这些组件的所有组合意欲落在本发明的范围指之内。完全可以希望并设想从一个所述实施例到另一个实施例的组件的替换。
权利要求
1.一种用于认证并许可位于远程站点的各方进入安全通信网络的系统,其中每一个远程站点包括与所述网络进行通信的设备,所述系统包括与存储器进行通信的处理器,用于执行代码,所述代码用于确定通过所述网络从所述远程站点的第二站点接收的第一认证值,其中利用与所述远程站点相关的数值来隐蔽所述第一值;利用与所述远程站点的所述第二站点相关的加密密钥来加密所确定的第一认证值;通过所述网络发送所述加密第一认证值;解密从所述网络接收到的第二认证值,其中利用所述加密密钥来解密所述第二值;以及当所述第一认证值等同于所述第二认证值时,验证所述远程站点的第二站点。
2.根据权利要求1所述的系统,其特征在于所述处理器还用于执行代码,所述代码用于通过所述网络发送与至少一个加密算法相关的至少一个指示。
3.根据权利要求1所述的系统,其特征在于加密所述第一认证值。
4.根据权利要求3所述的系统,其特征在于所述处理器还用于执行代码,所述代码用于利用所述加密密钥来解密所述加密的第一认证值。
5.根据权利要求1所述的系统,其特征在于所述处理器还用于执行代码,所述代码用于通过所述网络发送加密的许可值,其中所述许可值对于所述远程站点而言是本地的;去隐蔽通过所述网络的第二接收值;以及利用所述许可值和所述去隐蔽的第二接收值来形成会话加密密钥。
6.根据权利要求5所述的系统,其特征在于加密所述第二接收值。
7.根据权利要求6所述的系统,其特征在于所述处理器还用于执行代码,所述代码用于解密所述第二接收值。
8.根据权利要求5所述的系统,其特征在于所述许可值是随机值。
9.根据权利要求1所述的系统,其特征在于由所述远程站点的所述第二站点来提供所述加密密钥。
10.根据权利要求9所述的系统,其特征在于所述加密密钥是与公共密钥/私有密钥加密算法相关的公共密钥。
11.根据权利要求1所述的系统,其特征在于所述设备还包括输入/输出单元,用于提供所述处理器和所述网络之间的通信。
12.根据权利要求1所述的系统,其特征在于将代码存储在所述存储器中。
13.根据权利要求1所述的系统,其特征在于所述远程站点的所述第二站点不是所述安全通信的一方。
14.根据权利要求1所述的系统,其特征在于所述处理器还用于执行代码,所述代码用于执行逻辑运算,以便确定所述第一认证值。
15.一种用于认证并许可位于远程站点的各方进入安全通信网络的系统,其中不是所述安全通信网络一方的专用站点包括与所述网络进行通信的设备,所述系统包括与存储器进行通信的处理器,用于执行代码,所述代码用于通过所述网络发送利用与每一个所述远程站点相关的值隐蔽的认证值;利用对于所述专用站点而言是本地的加密密钥来解密通过所述网络接收的数值;当所述认证值等同于所述解密的接收值时,验证所述远程站点。
16.根据权利要求15所述的系统,其特征在于所述处理器还用于执行代码,所述代码用于利用对于所述专用站点而言是本地的加密密钥来加密所述隐蔽值。
17.根据权利要求15所述的系统,其特征在于所述处理器还用于执行代码,所述代码用于发送利用对于所述专用站点而言是本地的加密密钥加扰的所述认证值。
18.根据权利要求15所述的系统,其特征在于所述处理器还用于执行代码,所述代码用于接收来自相关远程站点的许可值;以及发送与所述接收的许可值相关的隐蔽值。
19.根据权利要求18所述的系统,其特征在于利用所述远程站点可用的加密密钥来加密所述许可值。
20.根据权利要求19所述的系统,其特征在于所述处理器还用于执行代码,所述代码用于解密所述加密的许可值。
21.根据权利要求18所述的系统,其特征在于所述隐蔽值基于从对应远程站点接收到的许可值。
22.根据权利要求18所述的系统,其特征在于所述隐蔽值基于所述许可值和远程站点标识值。
23.根据权利要求15所述的系统,其特征在于还包括与所述处理器和所述网络进行通信的输入/输出单元。
24.根据权利要求15所述的系统,其特征在于将所述代码存储在所述存储器中。
全文摘要
一种用于认证并许可位于远程站点(115)的各方进入安全通信网络(100)的系统和设备,其中每一个远程站点包括用于执行代码的设备,所述代码用于确定从第二站点(110)接收的第一认证值,利用与所述远程站点(115)相关的数值来隐蔽所述第一认证值,加密并发送所确定的值,解密第二认证值,并且当去隐蔽的第一认证值等同于第二认证值时,验证发送站点(110)。此外,发送站点(110)包括用于执行代码的设备,所述代码用于产生并发送利用与远程站点(115)相关的数值隐蔽的第一认证值,对数值进行解密,并且当认证值等同于解密的接收数值时,验证该远程站点。
文档编号H04L9/32GK1791866SQ03826717
公开日2006年6月21日 申请日期2003年7月7日 优先权日2003年7月7日
发明者萨钦·萨蒂什·莫迪 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1