专利名称:安全协议的自动协商系统和方法
技术领域:
本发明涉及联网计算机领域,特别涉及支持安全性的域和一个或多个外部节点之间的安全协议的自动协商。
(2)背景技术网络技术的发展使网络管理员和其它人能对他们的网络和其它配置保持更大,更完善的安全控制。例如微软视窗TMNT,2000和相关产品允许管理员用现用目录TM(AD)结构布署支持安全性的网络域。公知的Kerberos网络标准同样允许网络中的节点用秘钥/认证平台互相进行认证。有了这些操作技术,网络管理员能,例如在安全的基础上,向个人工作站和其它客户机推行规则、应用程序、插入码、驱动器和其它来自网络服务器的资源,用于统一安装。在支持安全性的域中的所有机器也许能明显地识别和认证那些和其它类型的数据的传送。
然而,当节点在支持安全性的域外时,将规则、应用程序或其它资源的传递到工作站和从工作站传送规则、应用程序或其它资源的能力变得更加困难。例如一公司可能有一组在局域网(LAN)上的计算机,但它们也与不在现用目录TM或其它支持安全性的域的一部分的远程位置上的计算机相互作用。跨安全域边界的通信变得更加复杂,部分是因为在域内部的机器和域外部的机器之间建立连接需要在相互支持的安全协议上达成一致。
因此,在对话发生之前,强制系统管理员和其它人尝试通过识别一个可在内部和外部机器之间兼容的协议,来作出将外部代理或节点输入到支持安全性的域的安排。例如外部节点可配置成通过传输层(TLS)安全协议、基于Kerberos的协议、加密套接字协议层(SSL)或其它协议与在支持安全性的域中的管理服务器通信。该机器可依次在它的默认协议中指示一协议故障,请求切换该协议,或对外部节点和代理作出其它反应。因此,可能需要安全、传输和其它协议的手工设置或调整,它一种费时又易出错的过程。还存在其它问题。
(3)发明内容本发明解决在一方面涉及安全协议的自动协商的系统和方法的领域的这些和其它问题,其中,可以在不需要管理员的干预的自动的基础上,建立与外部代理或节点的安全通信并认证身份。根据本发明的一个方面,网络管理器或其它在支持安全性的域中的代理或节点可启动建立与外部代理或节点的安全连接的尝试。该请求可包括指示一组可供管理器使用的安全协议的数据字段。所述外部代理可接收该请求并将可用于外部代理或管理器的协议与由外部代理支持的一组协议相比较。如果发现可用协议之间的匹配,就可以在选定的协议的基础上继续通信。在实施例中,每个外部代理和内部代理都通过一个秘钥、证书或其它认证机构相互认证。
(4)
图1示出可操作本发明的实施例的网络构造。
图2示出根据本发明的实施例,在内部节点和外部节点之间进行的协议过程。
图3示出根据本发明的实施例的协议表间的对比。
图4示出根据本发明的实施例示出全部协议协商过程。
(5)具体实施方式
图1示出其中根据本发明的实施例的协议协商平台和方法可运行的构造。如图所示, 在示出的实施中,一组客户机、服务器、代理或其它节点或机器可以在支持安全性的域102操作。可以在实施例中的支持安全性的域是或包括,例如微软视窗TMNT现用目录TM(AD),Kerberos或其它以证书为基础或以秘钥为基础的域,或其它关闭的或安全分布式的目录或其它环境。在支持安全性的域中说明性地示出的是一内部管理器104,在实施例中可以是或包括一服务器或其它节点和一组内部代理106(由A1,A2…AN示出,N为任何值)。
在实施例中,该组内部代理可由附加服务器,工作站或其它客户机,或其它在支持安全性的域102中操作的内部代理或节点组成,或包括它们,并与内部管理器104通信。在实施例中,内容管理器104可以确定时间或执行网络定理功能,例如将网络规则或其它数据传送或“推行”到所述内部代理组106,例如存储的操作方针(例如冗余阵列磁盘机方针,故障结束标准、存储器限制)、带宽实用程序或其它规则或数据。在传送这些或其它类型的数据时,内部管理器104或内部代理组106可利用支持安全性的域的安全资源来保证网络的安整性或规则及其它数据的分布。
如图所示,在实施例中,支持安全性的域102可提供认证服务,例如使用诸如证书108的证书,它在实施例中可以是或包括根据X.509或其它标准或格式配置的证书。在实施例中,秘钥或其它机构同样可被使用。如图所示,证书108可以与内部管理器的认证数据结合或提供内部管理器的认证数据。为了验证,内部代理组106组中的任何一个都可以通过将证书108传送到证书管理机构110来认证规则、指令或其它从内部管理器104接收的数据。证书管理机构自己也可位于支持安全性的域102中,或按照示出的位于支持安全性的域102的外面。
在实施例中,证书管理机构110可以是或包括一服务器,或配置成读取并解码证书108的其它节点或其它认证机构,并将结果返回给内部代理组106或其它节点。内部代理组106中的每个节点也可与证书,秘钥或其它与支持安全性的域102兼容的认证数据相结合。内部代理组106中的节点也可以利用证书或其它机构相互通信及相互认证。
在图1所示的实施中,外部代理114也可以配置成通过通信网络112与内部管理器104通信。该外部代理114也可以是或包括服务器、工作站或其它节点或资源。为了认证,该外部代理114也可以与识别外部代理114的证书116相结合。通过通信网络112,外部代理114可与内部管理器104或实施例中的其它节点通信。通信网络112可以是,包括或连接到诸如因特网、企业内部网、局域网(LAN)、广域网(WAN)、城域网(MAN)、存储区网络(SAN)、帧中继连接、高级智能网络(AIN)连接、同步光网(SONET)连接,数字T1,T3,E1或E3线路,数字数据服务(DDS)连接、ATM(异步传输模式)连接、FDDI(光纤分布式的数据界面)、CDDI(铜分布式的数据界面)或其它有线的、无线的或光连接。在实施例中外部代理114可以是或包含工作站、服务器、支持无线网络的装置、或其它节点、为联网的通信配置的代理或平台。
不同于跨域通信的已有实施,根据本发明的实施例,外部代理可启动与内部管理器104的联系,在相互兼容协议的基础上,以自动且透明的形式,用手工选择一兼容协议来建立安全连接。如图2所示,在外部代理114上执行的外部应用程序130可通过外部协商引擎126启动与内部管理器104的联系。外部应用程序130可以是或包括系统实用程序、生产力或其它应用程序,例如数据备份调度程序、防火墙、防病毒或其它应用程序。例如外部应用程序130可能需要用户简档、更新或其它数据来执行各种任务,并因此启动与内部管理器104的这种通信。
外部协商引擎126可以处理并管理外部应用程序130请求的通信,以与支持安全性的域102中的内部管理器104建立可相互兼容的通信链路。如示出的,在实施例中,作为公知的简单且防护的GSS-API协商(SPNEGO)协议的实施,外部协商引擎126可以启动并管理协商模块118。也可以用其它协议。在实施例中,可以通过外部代理114的操作系统,例如通过应用编程界面(API)或其它机构来访问、启动或生成协商模块118。
外部协商引擎126也可包括或生成外部传输指定器120,指示以消息为基础的或可能被外部代理114用于执行协议协商过程的其它信道。例如在实施例中,外部传输指定器120可将安全支持供应者界面(SSPI)协议指定为微软NET构造的一部分,允许外部应用程序130或其它软件或模块来存取,例如动态链接库或支持标准密码的或其它编码方案的其它资源。可以在外部传输指定器120中使用或指定其它协议。因此,如图2所示,该外部协商引擎126可传送表示那个或其它数据的数据报,至与内部管理器104相关联的内部协商引擎128。
内部协商引擎128也可包括或连接到协商模块122和内部传输指定器124。接着,内部协商引擎128可与在内部管理器104上执行或由内部管理器存取的内部应用程序132通信。例如内部应用程序132可以是或包括系统管理、生产力或其它应用程序。当接到与内部管理器104建立通信的请求时,内部协商引擎128可以通过内部传输指定器124与外部代理114建立以消息为基础的或其它的信道,例如确认信道用SSPI协议的信道通信。
外部协商引擎126和外部协商引擎128可以用外部代理114和内部管理器104之间建立的初始信道启动协议协商和减少。在实施例中,外部代理114可以将图3所示的外部协议表134传送给内部管理器104。外部协议表134可指定外部代理114可配置使用哪些协议。在外部协议表134被内部管理器104接收到时,可以将它与内部协议表136相比较,指示出一组可供内部管理器104使用的安全协议。外部协议表134和内部协议表134的任何一个可包括指示,例如传输层安全(TLS)、加密套接字协议层(SSL)、Kerberos、安全IP(IPSec)或其它可用的协议或标准的字段。如图3所示,与内部管理器104相关联的协商引擎128可识别出外部代理114和内部管理器104相互支持的一个或多个协议。
协商引擎128在实施例中也可将内部协议表136传送到与外部代理114相关联的协商引擎126,用于类似的协议比较。因此,协商引擎126和协商引擎128可协商相互可用的协议的选择,以建立跨支持安全性的域的安全通信。例如如果只有一单个的普通协议既能供外部代理使用,也可供内部管理器104使用,114和内部管理器104可能会同意使用一个使用那个协议(例如TLS或其它协议)的对话。如果协商引擎126和协商引擎128同意没有发现共同的协议,终止建立跨域通信的尝试。相反地,如协商引擎126和协商引擎128识别出多个共有的协议,可以按照网络标准(例如传送速度、秘钥的位深度或其它安全机构,或其它因素)的选择协议。
有了相互兼容的协议,可以在外部代理114和内容管理器104之间建立安全对话。在实施例中,为了增加安全,外部代理114和内容管理器104中的每一个可同样地执行认证步骤来验证相对节点的身份、特权等级或其它安全细节。如图1所示,这可以用证书或其它安全机构执行。外部代理114可通过将证书108传送到证书管理机构110来认证内部管理器104。反过来,内部管理器104可通过将证书116传送到证书管理机构110来认证外部代理114。还可使用其它安全机构。
在外部代理114和内部管理器104之间交换的数据类型和内容在实施例中取决于两个节点间的相互认证。例如可以为仅指示存取特权的给定等级的内部或外部节点保留对网络管理规则或参数的存取。可以使用其它认证规则或标准。在建立了操作的安全协议且任何认证过程都结束之后,外部代理114和内部管理器104可以交换数据、应用程序、规则或其它信息。当传输完成后,协商引擎126和协商引擎128可释放或终止该通信链路。
图4示出根据本发明的实施例的全部网络协议处理。在步骤402中,处理可开始。在步骤404中,在外部代理114、内部管理器104或其它客户机、代理或节点的任何一个中生成建立跨支持安全性的网络102的安全连接的请求。在步骤406中,可以将该建立安全连接的请求传送到接收节点(不论它是内部管理器104、外部代理114或其它客户机、代理或节点),该请求合并了与传送节点兼容的第一协议组。在步骤408中,可由接收节点接收该请求。在步骤410中,该接收节点(不论它是内部管理器104、外部代理114或其它客户机、代理或节点),都可比较第一协议组和接收节点的第二协议组,以确定是否可以在可用的协议中发现匹配。
如在第一协议组和第二协议组之间发现了匹配,则处理进入步骤412,步骤412确定是否发现了一个以上的匹配的协议。如果发现了一个以上的匹配的协议组,处理进入步骤414,在步骤414中,可以按协议标准(例如传送速度、秘钥的位深度或其它安全机构,或其它因素)选用匹配的协议中的一个。随后处理可进入步骤416,在步骤416中,可以根据选定的协议启动外部代理114和内部管理器104之间的安全连接或对话。同样地,如果在步骤412中仅发现一个匹配的协议,处理进入到步骤416,在步骤416中可以启动一安全连接或对话。例如在实施例中,可以在TCP/IP或其它通信或其它协议下打开指定的端口。
在步骤418中,可用信号交换和其它根据运用的匹配协议进行的步骤在外部代理114和内部管理器104之间启动协议专用交换。在步骤420中,外部代理114和内部管理器104中的任一个或它们两个都可通过适当地将相应的证书116(外部代理114的)或证书108(内部管理器的)传送到证书管理机构108来认证相应的其它结点。在实施例中,证书116或证书108或其它安全数据可以是或包括与X.509标准,或其它标准或格式相符的证书对象。当合适的认证完成时,处理进入到步骤422,在步骤422中,可以在外部代理114和内部管理器104之间进行安全连接或对话。例如为了系统管理或其它目的,可以在两个节点之间传送网络或其它规则。
在完成安全对话时,处理可进入到步骤424,在步骤424,可终止或释放外部代理114和内部管理器104之间的安全连接。在步骤426中,处理可终止,重复,返回到前面的处理点或采取其它动作。同样地,如果在步骤410的确定中没有识别出匹配的协议,处理可进入到步骤426,以终止,重复,返回到前面的处理点或采取其它动作。
以上对本发明的描述是示例的,对本技术领域的技术人员来说,可对配置和实施进行修改。例如尽管本发明是按照单个外部代理114描述的,但在实施例中,可以将多个外部代理或节点配置成与在支持安全性的域102中的内部管理器104或其它客户机或节点自动协商一个匹配的协议。同样地,尽管认证机构通常被描述成由使用X.509或其它标准的单个认证实体110支持,但在实施例中,也可使用多个认证实体或其它认证或认证平台。可以在实施例中分布其它硬件、软件或其它描述成唯一的资源,并同样在实施例中,可结合描述成分布式的资源。
另外,尽管在几次启动安全协议时描述了在支持安全性的域102之外的一个或其它节点或代理,将理解任何根据本发明配置的节点和代理,在域的外部或内部,能启动协议处理。同样地,内部和外部代理中的任一个或它们俩都能启动相对代理或节点的认证。因此,本发明的范围仅由以下权利要求书限定。
权利要求
1.一种自动协商安全协议的方法,其特征在于,包括接收在支持安全性的域内的内部节点和在支持安全性的域外的外部节点之间建立安全连接的安全授权请求;将与内部节点相关联的第一协议组同与外部节点相关联的第二协议组相比较;并在第一协议组和第二协议组之间发现匹配协议时,在外部节点和内部节点之间建立安全连接。
2.如权利要求1所述的方法,其特征在于,所述外部节点包括计算机和支持网络的无线装置中的至少一个。
3.如权利要求1所述的方法,其特征在于,所述内部节点包括客户机计算机和服务器中的至少一个。
4.如权利要求1所述的方法,其特征在于,所述支持安全性的域包括一分布式目录域。
5.如权利要求1所述的方法,其特征在于,所述支持安全性的域包括一基于证书的域。
6.如权利要求5所述的方法,其特征在于,所述基于证书的域包括一支持Kerberos的域。
7.如权利要求6所述的方法,其特征在于,所述匹配的协议包括一X.509证书。
8.如权利要求1所述的方法,其特征在于,所述安全授权请求是由外部节点生成的。
9.如权利要求8所述的方法,其特征在于,所述接收安全授权请求的步骤是由内部节点执行的。
10.如权利要求1所述的方法,其特征在于,所述安全授权请求是由内部节点生成的。
11.如权利要求10所述的方法,其特征在于,所述接收安全授权请求的步骤是由外部节点执行的。
12.如权利要求1所述的方法,其特征在于,还包括当外部节点和内部节点之间的对话完成时终止安全连接的步骤。
13.如权利要求1所述的方法,其特征在于,还包括当在第一协议组和第二协议组之间没有发现匹配时终止连接处理的步骤。
14.如权利要求1所述的方法,其特征在于,还包括当发现多个匹配的协议时选择一个用于建立安全连接的协议的步骤。
15.如权利要求1所述的方法,其特征在于,还包括认证内部节点和外部节点中至少一个的步骤。
16.如权利要求15所述的方法,其特征在于,所述认证的步骤还包括将证书传送到证书管理机构的步骤。
17.一种自动协商安全协议的系统,其特征在于,包括到内部节点的第一界面,该内部节点位于支持安全性的域内部,该内部节点具有一相关联的第一协议组;到外部节点的第二界面,该外部节点位于支持安全性的域外部,该外部节点具有一相关联的第二协议组;以及协商引擎,该协商引擎接收安全授权请求,以在内部节点和外部节点之间建立安全连接,将与内部节点相关联的第一协议组与与外部节点相关联的第二协议组相比较,并在第一协议组和第二协议组之间发现匹配协议时,在外部节点和内部节点之间建立安全连接。
18.如权利要求17所述的系统,其特征在于,所述外部节点包括计算机和支持网络的无线装置中的至少一个。
19.如权利要求17所述的系统,其特征在于,所述内内部节点包括客户机计算机和服务器中的至少一个。
20.如权利要求17所述的系统,其特征在于,所述支持安全性的域包括一分布式目录域。
21.如权利要求17所述的系统,其特征在于,所述支持安全性的域包括一基于证书的域。
22.如权利要求21所述的系统,其特征在于,所述基于证书的域包括一支持Kerberos的域。
23.如权利要求22所述的系统,其特征在于,所述匹配的协议包括一X.509证书。
24.如权利要求17所述的系统,其特征在于,所述安全授权请求是由外部节点生成的。
25.如权利要求24所述的系统,其特征在于,所述安全授权请求是由内部节点接收的。
26.如权利要求17所述的系统,其特征在于,所述安全授权请求是由内部节点生成的。
27.如权利要求26所述的系统,其特征在于,所述接收安全授权请求是由外部节点接收的。
28.如权利要求17所述的系统,其特征在于,当外部节点和内部节点之间的对话完成时,所述协商引擎终止安全连接。
29.如权利要求17所述的系统,其特征在于,当在第一协议组和第二协议组之间没有发现匹配时,所述协商引擎终止连接处理。
30.如权利要求17所述的系统,其特征在于,当发现多个匹配的协议时,所述协商引擎选择一个用于建立安全连接的协议。
31.如权利要求17所述的系统,其特征在于,其中内部节点和外部节点中至少一个认证另一个。
32.如权利要求31所述的系统,其特征在于,所述认证包括将证书传送到证书管理机构。
33.一种自动协商安全协议的系统,其特征在于,包括用于连接到内部节点的第一界面装置,该内部节点位于支持安全性的域内部,该内部节点具有一相关联的第一协议组;用于连接到外部节点的第二界面装置,该外部节点位于支持安全性的域外部,该外部节点具有一相关联的第二协议组;协商装置,该协商装置接收安全授权请求,以在内部节点和外部节点之间建立安全连接,将与内部节点相关联的第一协议组与与外部节点相关联的第二协议组相比较,并在第一协议组和第二协议组之间发现匹配协议时,在外部节点和内部节点之间建立安全连接。
34.如权利要求33所述的系统,其特征在于,所述外部节点包括计算机和支持网络的无线装置中的至少一个。
35.如权利要求33所述的系统,其特征在于,所述内部节点包括客户机计算机和服务器中的至少一个。
36.如权利要求33所述的系统,其特征在于,所述支持安全性的域包括一分布式目录域。
37.如权利要求36所述的系统,其特征在于,所述支持安全性的域包括一基于证书的域。
38.如权利要求37所述的系统,其特征在于,所述基于证书的域包括一支持Kerberos的域。
39.如权利要求38所述的系统,其特征在于,所述匹配的协议包括一X.509证书。
40.如权利要求33所述的系统,其特征在于,所述安全授权请求是由外部节点生成的。
41.如权利要求40所述的系统,其特征在于,所述接收安全授权请求是由内部节点接收的。
42.如权利要求33所述的系统,其特征在于,所述安全授权请求是由内部节点生成的。
43.如权利要求42所述的系统,其特征在于,所述接收安全授权请求是由外部节点接收的。
44.如权利要求33所述的系统,其特征在于,当外部节点和内部节点之间的对话完成时,所述协商引擎终止安全连接。
45.如权利要求33所述的系统,其特征在于,当在第一协议组和第二协议组之间没有发现匹配时,所述协商引擎终止连接处理。
46.如权利要求33所述的系统,其特征在于,当发现多个匹配的协议时,所述协商引擎选择一个用于建立安全连接的协议。
47.如权利要求33所述的系统,其特征在于,其中内部节点和外部节点中至少一个认证另一个。
48.如权利要求47所述的系统,其特征在于,所述认证包括将证书传送到证书管理机构。
49.一种计算机可读媒体,该计算机可读媒体可读出执行自动协商安全协议的方法,该方法包括接收安全授权请求,在支持安全性的域内部的内部节点和在支持安全性的域外部的外部节点之间建立安全连接,将与内部节点相关联的第一协议组与与外部节点相关联的第二协议组相比较;并在第一协议组和第二协议组之间发现匹配协议时,在外部节点和内部节点之间建立安全连接。
50.如权利要求49所述的计算机可读媒体,其特征在于,所述外部节点包括计算机和支持网络的无线装置中的至少一个。
51.如权利要求49所述的计算机可读媒体,其特征在于,所述内部节点包括客户机计算机和服务器中的至少一个。
52.如权利要求49所述的计算机可读媒体,其特征在于,所述支持安全性的域包括一分布式的目录域。
53.如权利要求49所述的计算机可读媒体,其特征在于,所述支持安全性的域包括一基于证书的域。
54.如权利要求53所述的计算机可读媒体,其特征在于,所述基于证书的域包括一支持Kerberos的域。
55.如权利要求54所述的计算机可读媒体,其特征在于,所述匹配的协议包括一X.509证书。
56.如权利要求49所述的计算机可读媒体,其特征在于,所述生成安全授权请求的步骤是由外部节点执行的。
57.如权利要求56所述的计算机可读媒体,其特征在于,所述接收安全授权请求的步骤是由内部节点执行的。
58.如权利要求49所述的计算机可读媒体,其特征在于,所述生成安全授权请求的步骤是由内部节点执行的。
59.如权利要求58所述的计算机可读媒体,其特征在于,所述接收安全授权请求的步骤是由外部节点执行的。
60.如权利要求49所述的计算机可读媒体,其特征在于,所述方法还包括当外部节点和内部节点之间的对话结束时终止安全连接的步骤。
61.如权利要求43所述的计算机可读媒体,其特征在于,所述方法还包括当没有在外部节点和内部节点之间发现匹配时,终止连接的步骤。
62.如权利要求43所述的计算机可读媒体,其特征在于,所述方法还包括当发现多个匹配的协议时,选择用于建立安全连接的协议的步骤。
全文摘要
允许位于支持安全性的域之外的计算机或其它节点与服务器或在该域内的其它节点协商支持的安全协议的协议协商平台。现用目录
文档编号H04L29/08GK1578215SQ200410063279
公开日2005年2月9日 申请日期2004年6月30日 优先权日2003年6月30日
发明者D·B·贝哈拉诺 申请人:微软公司