首页> 中国专利> 从一个主登记向多个外部登记传播明码口令

从一个主登记向多个外部登记传播明码口令

摘要

一种在一个主数据存储器和多个辅助数据存储器之间提供口令同步的网络系统服务器,包括:一个安全服务器,它和主数据存储器连接;多个客户机,其中每个客户机保持一个唯一的、可修改的口令;以及一个口令同步服务器,它和安全服务器以及多个辅助数据存储器连接,并为和多个客户机中的一个客户机相关的一个用户对各个辅助数据存储器的口令传播同步,从而该用户能够在多个辅助数据存储器之间保持单个唯一的口令。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-28

    专利权有效期届满 IPC(主分类):H04L9/00 授权公告日:20030528 申请日:19961101

    专利权的终止

  • 2003-05-28

    授权

    授权

  • 1997-08-06

    公开

    公开

  • 1997-07-09

    实质审查请求的生效

    实质审查请求的生效

说明书

本申请和名称为“通过多个外部登记器从主登记器检索明码口令”的美国专利申请08/557,754以及名称为“用于共享环境中的可配置口令完整性服务器”的美国专利申请08/556724有关,这三篇专利申请在相同的日期由其发明人们提交并转让给它们的受让人,并且互为参考资料。

本发明一般地涉及数据处理系统,尤其涉及在带有口令同步化的诸数据处理系统之间的资源共享。更具体来说,本发明还涉及为客户机/服务器系统的每个用户提供从通用库到多个本地资源之间的口令同步化。

在技术上计算机网络是众所周知的,其规模和复杂性都在继续增加。通过把更多的计算机连接到网络里以及把网络连接到其它网络助长了这种发展。这样做是为了使计算机能够有效地一起工作并且简化对诸如文件、应用程序、打印机甚至专用计算机的资源的共享。

遣憾的是,许多网络包含来自不同厂家的计算机,从而使计算机一起有效工作的任务复杂化。这种“多厂商”网络里的计算机通常难以一起运行,因为它们不采用公共的数据格式或者不采用公共的安全机制。缺乏公共网络命名模式也限制着计算机能共享信息的程度。

为了克服上述的许多问题,组建了开放系统基础集团(“OSF”),该集团已经开发了把一组连网的计算机变换为单一的、相干的计算引擎里的分布计算环境(“DCE”)。DCE屏蔽了各种不同类型的计算机之间的差异,从而使用户利用广泛分布的资源如存储器设备、CPU及内存能够开发和执行可以挖掘网络的潜在能力的分布式应用程序。因为这些应用程序的分布的部分可以被并发执行,比起必须顺序地对数据起作用的单处理器应用程序这些应用程序要强有力的多。

遣憾的是,即使分布式计算环境也具有他们自身的问题,例如一个问题是如何保护必须由多个用户共享的数据。另外,事件必须在独立的计算机和具有不同的数据格式的计算机之间保持同步而且各文件命名模式必须允许彼此合作工作。DCE克服许多这样的问题并且对这些使人烦恼的问题提供解决办法。

工业中对DCE是周知的,这样的一个例子显示在图1中。图1是一个为DCE文件服务3提供的DCE应用编程接口1的方块图。DCE是屏蔽不同种类主机之间差异的一层软件。作为一层软件,它位于主机操作系统5和用于网络传输7的连网服务的上部。DCE分布式服务其包括安全措施9、目录11、计时13、远程过程调用(“RPC”)15和调度服务17。RPC15和调度17是可以在每个安装着DCE的系统上得到的基本DCE服务。图1进而表示DCE文件服务如何类似于一个利用基础DCE服务用于分布的应用。DCE目录服务进而包括单元目录服务19(“CDS”)和全局目录服务(“GDS”)21,其通过调用目录服务(“XDS”)应用编程接口(“API”)程序利用DCE目录。

典型地,每个用户必须首先通过利用一个保密口令验明他或她的标识以登录本地主机。本地主机利用仅由该用户和该本地主机知道的该口令作为该用户自称他或她是谁的证明。一用户登录本地主机之后,通常还通过和每个文件关联的许可或特权手段保护主机资源。这种许可管理一个用户是否可以读、写或执行这个文件。单个本地主机上的用户数典型地足够少,从而只有该主机就可以管理全部的口令和许可功能。

另一方面,一个分布式计算环境可能在该环境下支持几百个或几千个本地主机上的几千个访问文件的用户。因为在该环境中的每个主机上保存每个DCE用户的保密信息是不实际的,DCE从一个集中式数据库中对保密信息进行服务。该数据库和分布式的数据自适应鉴定器和监测器及库集构成DCE安全服务。

当服务器实施安全措施时,每个客户机必须提供它的用户的标识和访问权。这些是在第一次RPC调用中提供的,并且在高保密环境下有时要在每次RPC调用时提供。因为对DCE的各个资源-目录、文件、打印机等等-的访问是由一个服务器控制的,服务器对鉴别及授权的请求要求综合网络安全性。这一点适用于例如CDS的DCE服务器,也适用于用户的应用服务器。在允许访问资源之前该服务器验证客户机的鉴别和授权。

典型地,安全服务功能是建立在各应用中的。这意味着客户机调用本地的安全例行程序以从安全服务器中请求鉴别信息并且把这个鉴别信息传给其它的服务器。服务器也调用安全例行程序以验证鉴别信息并且实施授权。鉴别是向其它方证明自己的标识的能力。授权是根据用户的标识管理访问的能力。口令用于担保鉴别并且进而用于获得授权。

在DCE中,也称为登记(registry)的安全服务作为单一的保密源服务并且管理有关用户、群体等的信息。这赋予一个公司一个单一的定义和管理用户的场所。这种方法上的一个局限是口令的传播。大部分登记又存储用户口令的加密版。然而,经常每个登记的加密机理和任何的其它登记的加密机理晃同的,尤其在一个采用着来自不同的厂家的不同的登记的系统中。因此,由DCE登记加密的口令可能不能由不同于DCE主登记厂家的厂家制造的其它的登记使用。因此,这会是有益的,即能够把明码口令可靠地从DCE登记传播到和DCE登记同步化的各登记器从而这些其它的登记然后可以按照它们自己的格式加密该口令。这将允许一个用户避免具有多重其中之一用于保密登记器的口令,并且避免必须在每个登记人工地更新这些口令以确保这些口令在所有的保密登记器上是相容的。

此外,DCE登记不提供增殖新的希望把以来自DCE登记的用户和口令增殖其数据库的非DCE或外部登记的手段。这是因为DCE本身典型地只存储加密的口令并且新的登记不能在对一个给定的用户口令发生更新之前得到的增殖给它的数据库所需的明码口令。因此,这一点,即提供一种克服现有的不能在给定用户口令出现更新之前向新的登记传播口令的上述问题的系统,是有益的。

本发明的首要目的是提供一种口令同步化功能,这种功能允许外部登记和由一个在主登记中安全服务保持的同步一起保持本地口令的同步。只要系统帐户被定义或者经过口令更换这种功能允许任意数量的外部登记自动地为这些对它们感兴趣的系统帐户接收口令,这种功能还允许一旦提出要求为这些帐目获取口令。为了接收这些口令更新外部登记必须使用系统服务,这允许外部登记保持口令同步。主登记充当中央库,存储为了向特定的多个外部登记进行传播那些口令改变是合适的控制信息。

本发明的一种实施方式用于一种网络系统服务器,该服务器在主或全局登记或者主数据存储器与多个外部或辅助登记或者多个辅助数据存储器之间提供口令同步。该网络服务器进而包括:一个安全服务器,它和主数据存储器连接,多个客户机,为了访问主数据存储器它们和安全服务器连接,其中每个客户机保持一个唯一的、可修改的口令;以及一个口令同步服务器,它和安全服务器以及多个辅助数据存储器连接,它为和多个客户机中的一个客户机相关联的一个用户提供对各个辅助数据存储器的口令传播同步,从而用户在这些多个辅助数据存储器之间保持单个唯一的口令。一般地该主数据存储器是一个分布式计算环境下的带有相关的永久性数据库或者长期存储存储器的主登记,而多个辅助数据存储器中的每一个是一个带有相关的永久性辅助数据库或者长期存储存储器的外部登记器。和辅助数据存储器的当前口令状态无关,口令传播施加在多个辅助数据存储器上。

主数据存储器进而保存一个用于多个客户机的每一个的包括着用户口令的信息帐户,一个用于口令同步服务器把多个辅助数据存储器的每一个和多个客户机的每一个结合的信息帐户,以及一个用于各个辅助数据存储器的信息帐户。

安全服务器向口令同步服务器提供明码口令以便传播给多个辅助数据存储器的每个存储器。此外,安全服务器包括用于加密明码口令用于存储在信息帐户里的装置。

还设置和口令同步服务器连接的临时存储器及重试数据存储重试队列。该临时存储器及重试数据存储器包含支持传播重试的信息,它允许口令同步服务器在一个临时外部登记器或者口令同步服务器停止运行的事件下执行传播重试。

本发明的上述以及其它的目的、特性和优点将在下述详细的书面说明中变为清晰。

在权利要求书里叙述确信为本发明的特征的新颖特性。但是本发明本身以及使用的最佳模式和它的其它目的和优点将通过参考下述连同附图的对一个示意性实施方式的详细说明得到最好的理解,附图是:

图1是现有技术的DCE安全服务器的方块图;

图2用图表示按照本发明的分布式数据处理系统;

图3是用于图2的分布式处理系统中的DCE同步和安全系统的一个例子;

图4说明口令同步检索操作;

图5说明口令同步传播操作;

图6表示把口令同步扩充到支持口令强度服务器的步骤,其可以按照用户的特殊需要为用户定制;

图7是安全服务器的用户口令处理的流程图;

图8说明口令同步服务器的传播队列调度单位;

图9表示按照本发明的口令同步服务器的重试队列调度单位的流程图。

现参考各附图,尤其参考图2,该图中以绘画的形式表示一个分布式数据处理系统8或者一个分布式计算环境(DCE)系统8,该系统可以用来实现本发明的方法和系统。如所看到的那样,分布式数据处理系统8可以包括多个例如区域网(LAN)10和32的本地资源网络,每个本地资源网络最好分别包括多个独立的计算机12和32。当然,熟练的技术人员会理解每个这样的网络可以采用多个和主处理机连接的智能工作站(IWS)。

和这种数据处理系统中常见的那样,每个独立的计算机可以和存储设备14和/或打印机/输出设备16连接。按照本发明的方法可以使用一个或多个这样的存储设备14以存储不同的数据对象和文档,按照本发明的方法和系统这些数据对象和文档可以由分布式数据处理系统8里的用户周期地访问和处理。以一种现有技术中周知的方式,每个这样的数据处理过程或文档可以存储在和资源管理程序或者库服务程序关联的一个存储设备14里,资源管理程序或库服务程序负责保持和更新所有与其相关的资源对象。

仍参考图2,可以看出分布式数据处理系统8还可以包括例如主计算机18的多个主计算机,主计算机可以通过通信链路22最好和局域网(LAN)10连接。计计算机18还可以和可充当为局域网(LAN)10的远程存储器的存储设备20连接。一个第二局域网(LAN)32可以经过通信控制器26及通向网间连接服务器28的通信链路34和区域网(LAN)10连接。网间连接服务器28最好是一个独立的计算机或者一个智能工作站(IWS),它起连接局域网(LAN)32和局域网(LAN)10的作用。

如上面相对于局域网(LAN)32和局域网(LAN)10所讨论的那样,多个数据处理进程或文档可以存储在存储设备2里并且还存储着用于这些数据处理进程和文档的资源管理程序或者库服务程序时它们可由主计算机18控制。

熟练的技术人员当然了解主计算机18在地理位置上可能远离局域网(LAN)10,并且类似地局域网(LAN)10可以离局域网(LAN)32相当远。也就是说,局域网(LAN)32可以位于加利福尼亚州而局域网(LAN)10可以位于得克萨斯州而主计算机18可以位于纽约州。

如参照以上可理解的那样,分布式数据处理网络8的一部分中的用户经常希望访问存储在数据处理网络8的另一部分里的数据对象和资料。为了在数据处理网络8中存储的资料保持有序的外表,通常希望实现一种单路的访问控制程序。一般这是通过列举授权用户访问各个独立数据对象或文档以及各个用户对于资料管理程序或者库服务程序里的一个资料能享有权限级别来实现的。以这种方式,这些数据处理过程和文档可以由在分布式数据处理系统8中登记的用户访问并且被周期地“锁住”以防止由其他的用户访问。一般是由系统管理员控制访问和执行安全性上的修改的。

开放系统基础(OSF)分布式计算环境(DCE)1.1提供一种称为扩充登记属性(ERA)的工具,它允许非DCE的登记存储在DCE登记内这些登记所唯有的属性把这些登记的相同属性存储到DCE登记器里。这允许把DCE登记器服务用作为一个存储和企业里的所有用户有关的安全信息的中央库,并与登记是否是DCE登记无关。尽管下面提出的实施方式说明为是作为DCE系统运行的系统,但熟练的技术人员容易理解本发明并不仅限于DCE实现,而是可以扩展到所有采用主系统服务器或者全局系统服务器以容纳外部的或者远程的登记服务器的分布式LAN。因此,尽管按其可适用的定义采用了DCE,在本公开中该定义被扩展成包括具有附属在一个主系统服务器上的多个非共用的远程服务器的扩充局域网或广域网,从而允许一个或者多个用户从他们特定的本地主服务器上保持这些多个非共用的远程服务器之间的口令同步。

图2的DCE系统包括一种为企业设置口令强度检查服务器的机制。一旦DCE登记接收一个包括着用户帐户生成的对一个口令进行更新的请求,该登记检验看是否有可能进行口令检查。如果可以,它向口令强度服务器发送包括用户名和建议的新口令的记录。然后该数据以一种受到加密的方式典型地是利用一个DCE的RPC在网络上传送,但是其明码口令可以由强度服务器解密。强度服务器一般根据用户确定的规则检查该口令以确保该口令不容易被猜出。这些规则在技术上是周知的并由专业人员去实现。然后口令强度服务器答复登记服务,通知它改变是可接收的或者是不可接收的。在图3中示出一个用于图2的分布式处理系统的DCE同步和安全系统。

为了向其它希望和DCE同步的安全登记传播明码口令,现在提供一种新式的口令同步服务器,它保密地向这些登记传播明码口令。在图3的方块图中表示一个带有适当的DCE登记器的DCE系统的模型以及新式的口令同步服务器。在图3中,DCE登记102和DCE安全服务器104连接,后者又和口令同步服务器106以及各个外部登记服务器X Z108连接。每个外部登记服务器108一般包括一个本地服务器和一个用于保存例如一个人的本地口令的本地信息的辅助数据存储器。

口令同步服务器106还和不同的本地口令强度服务器X Z110以及一个口令库112连接,口令库包括用户名和关联的口令。DCE安全服务器104还和各个客户机W-Y114连接。

在DCE登记102内有一个各客户机W-Y的帐户,在该模型中仅示出客户机Y,但是在该DCE登记中规定所有的客户机。各种ERA和每个客户机Y关联,例如:口令管理联编,它允许安全服务器为该客户机定址口令同步服务器或者口令强度服务器;外部登记,它列举被授权为该客户机接收口令传播的外部登记;明码口令,它允许一个外部登记从口令同步服务器定址和请求明码口令;以及口令强度,它为该客户机标识口令强度服务器。另外,在DCE登记102内也保存各个外部登记108的帐户,尽管图3的例子仅描述外部登记Z的帐户,但在DCE登记102里规定从X到Z的所有外部登记或者一个特定用户所需的任意数量的外部登记。每个外部登记的帐户包括外部登记口令传播联编ERA,它允许口令同步化服务器为口令传播的目的而定址外部登记。

还对每个口令强度服务器110提供了帐户。在图3中再次只示出一个口令强度服务器110,但是可以包括每个口令强度服务器X-Z的帐户。每个这种帐户包括辅助口令管理联编ERA,口令同步化服务器利用它为给定的客户机定位口令强度服务器。

最后,DCE登记还包括一个用于口令同步服务器106的帐户并且由三个ERA组成。这三个ERA包括口令传播可行、口令传播重试时限和外部登记。以下将较详细地说明这三个ERA中的每一个。

DCE登记和外部登记之间的口令同步需要一种满足下述两个要求的解决办法:

1)在DCE登记已经对用户定义增殖之后,

为已经配置到该网络里的一个外部登记提供一种按请求获取各选定用户的口令的方法而不必等待到口令将要改变的时刻。

满足该要求允许外部登记在它的本地登记里生成初始用户/口令定义。以下该功能称为“口令同步抽出”功能。

2)为一个外部登记提供一种当选定用户的口令在DCE登记中改变时自动地接收这些口令变化的方法。以下这种功能称为“口令同步推广”功能。

图4表示口令同步抽出功能,这是一组服务于希望的来自DCE的用户和口令增殖它自身的数据库的外部登记的操作。因为DCE登记本身只存储加密的口令,如果没有这种功能在出现给定用户的口令更新之前以及该更新经过图5中所说明的口令同步推广功能传播到新的登记器之前,该新的登记不能得到为增殖它的数据库所需的明码口令。图4的流程图描述一种修改图3的口令同步服务器来解决该问题的方法。在图3A中根据检索操作中使用的部件表示图3的口令同步服务器,从而保密地存储用户名和明码口令并且响应对它们的检索请求。支持该功能需要为DCE登记中每个影响到的用户,呈现一个新的数据项。该数据项的名称为PLAINTEXT PASSWORD并且是在DCE术语中称为“询问触发器”的一种扩充的DCE登记器属性。外部登记器试图在一个对口令同步服务器的询问中读该ERA结果,该服务器接着回送该用户的口令。应该注意尽管DCE利用ERA和与用户帐户的口令信息相关联,但也可以采用任何把用户口令和用户帐户关联起来的机制或安全服务器。例如,为了关联安全服务器可以具有域或者使用指针。

下面是对图4表示的操作的说明。在块410,向DCE安全服务器104发出口令更新请求。在这情况中,客户机W为客户机W′的帐户请求帐户建立或者口令改变。在块412,根据该请求DCE安全服务器104检索包含在与客户机Y相关的口令管理联编ERA里的所需路由信息并且利用该信息定位口令同步服务器106。接着,在块414,安全服务器104向口令同步服务器106发送明码口令和客户机Y的标识。此后,在块416,口令同步服务器106加密该信息并且把它存储到它的口令库112里。然后,在块418,口令同步服务器106向安全服务器104回送一个“完成”的消息。

在块420,安全服务器104加密该口令并且把它存储到DCE登记102内的客户机W帐目里。之后,该安全服务器向客户机W回送一个“成功”消息(块422)。

在完成上述步骤之后的任意时刻,如块424中所示,外部登记Z108可以通过请求安全服务器检索与客户机W的帐户相关的明码口令ERA的值请求得到客户机W的口令的一个拷贝。在块426,安全服务器从客户机W的帐户中检索明码口令ERA值。接着,在块428,该安全服务器把该值回送给外部登记Z。在块430,外部登记Z请求安全服务器回送外部登记器Z的外部登记器口令传播联编ERA的值。在块432,安全服务器检索该外部登记口令传播联编ERA的值并且然后在块434把该值回送给外部登记Z。

然后外部登记Z利用步骤428中回送的值作为路由信息去定位口令同步服务器106,并且利用步骤434中回送的值规定加密类型,当客户机W的口令在“线路上”时或者在以后的步骤中在口令同步服务器和外部登记器Z之间传送时,该加密类型将保护客户机W的口令。此外,按照块436,外部登记器Z接着从口令同步服务器106请求客户机W的口令。在块438,口令同步服务器106请求安全服务器104回送客户机W的外部登记器ERA的值(或多个值)。在块440,安全服务104从DCE登记102检索该值(这些值)并且在块442把该值(这些值)回送到口令同步服务器。    

在块444,口令同步服务器104检查从块442回送的值的内容以判定请求者即外部登记器Z是否和这些值中的一个相同。这是一种访问控制检查。如果值不同,口令同步服务器在块446回送一个“出错”消息。相反,如果该值等同,在块448口令同步服务器从口令库检索客户机W的口令并且对其解密。接着,在块450,口令同步服务器向外部登记Z回送客户机W的口令。

图5表示口令同步推广功能,即一组自动地为选定的各用户(帐户)向一个或多个需要该数据的外部登记传播口令改变的操作。如果没有这种功能,意向的帐户的口令的改变将造成在DCE登记器中为帐户定义的口令值不同于在外部登记器中定义的口令值。

下面是图5中所示操作的说明,该说明还用图3B的服务器表示,图3B是图3的复制,但3B中仅带有同步推广操作所使用的部件。从块510开始,客户机Y首先为客户机Y的帐户请求帐户建立或者口令改变。在块512,安全服务器检索与客户机Y的帐户相关的口令管理联编ERA中所包含的路由信息并且利用该信息定址口令同步服务器。在块514,然后安全服务器向口令同步服务器发送明码口令和客户机Y的标识。

在块516,然后口令同步服务器请求DCE安全服务器提供包括来自客户机Y帐户的客户机Y的外部登记ERA以及对于口令同步服务器和外部登记Z帐户的所有ERA的信息。

在块518,安全服务器检索在DCE登记器102中所示的被请求的ERA信息。在块520,安全服务器把ERA信息回送给口令同步服务器,然后口令同步服务器在块522验证也包含在口令同步服务器的外部登记ERA里客户机Y的外部登记ERA的内容。这是一种“访问控制”特性,它防止了一个未得到授权的用户去决定那些外部登记可以授权为接收客户机Y的口令更新从而避免引起客户机Y的口令的变化传播到未授权的外部登记器。当通过利用标准的OSF DCE工具仅允许系统管理员或者某些授权进行这种决定的人去定义和口令同步服务器帐户相关的外部登记ERA的内容时,这是一种有效的访问控制检查。

在块524中,口令同步服务器利用客户机Y的外部登记ERA的内容从DCE登记102中适当DCE登记器帐户请求外部登记口令传播联编ERA。例如,这从外部登记Z的帐户中检索。

一旦为每个服务器X-Z完成外部登记器的定址,在块528该系统通过口令同步服务器向安全服务器104回送一个“完成”消息。在块530,安全服务器104加密该口令并且然后把它存储在客户机Y的帐户里。之后,在块532,安全服务器向客户机Y回送一个“完成”消息。

在块534,如果口令传播可行ERA指示它是“可行”,在块536口令同步服务器向外部登记/服务器Z发送该口令。相反,该系统返回。接着,在块538,外部登记器Z回送一个同步完成状态,或者故障状态或者网络停运而不予应答。如果信号是“完成”系统则返回;相反的话系统则进入块540。在块540,如果口令同步服务器接收故障状态或者暂停等待回和超时,在由口令传播重试时限ERA规定的时间间隔期满之后口令同步服务器为以后重试重新排队并然后返回。

本地OSF DCE对多个口令强度服务器提供支持。当DCE登记接收一个对一给定用户进行定义或者改变口令的请求时,它利用和该请求用户相关的password-mgmt-binding  ERA定址它认为是的一个口令强度服务器,向该服务器发送用户标识和明码口令,然后等待来自该服务器的肯定或者否定判定。因为该服务器可以由不同的厂家在任何一种支持DCE的平台上实现,口令同步功能的设计必须不要求DCE安全服务器进行任何改变。本发明不能迫使这些厂家在它们的安全服务器的实现上作出改变,因此必须保持安全服务器和它认为是一个口令强度服务器之间的接口的操作。口令同步服务器的设计利用这个接口把该服务器置换到口令强度服务器的位置上,同时不干扰安全服务器作为一个口令强度服务器的信任。尽管这是一种获得明码口令的有效方法,从而允许口令同步服务器把明码口令传播给外部登记,但是当对同一帐目为了传播口令改变并且执行口令强度检查时这会产生一个问题。这是因为对于一个给定的帐户只有一个由本地OSF安全服务器识别的password-mgmt-binding ERA(并且如刚讨论的那样,本发明不改变安全服务器的行为)。因此,这一个接口必须既支持口令同步功能又支持口令强度检查功能。如果不需要保留支持多个口令强度服务器,每个口令强度服务器各具有自己的定制的组合规则时,该限制不会成为明显的问题。在这种情况下,口令同步服务器106可以在它自己的各处理步骤中进行传播及强度检查。若不是这种情况,必须采取不同的方法。因此,为了支持用户定制的口令强度服务器,口令强度服务器110增添了和口令同步服务器106的接口。

借助口令强度服务器110的这种扩充,口令同步服务器能够把从DCE登记器102接收的口令改变请求发送到强度服务器110。然后它等待口令强度服务器指示有效或无效的应答,并且把这个应答返回给DCE登记102。另外,需要两个新的数据项。对于DCE登记中的每个用户记录,第一个新的数据项是口令强度ERA,这是为了包含对于一给定用户执行口令组合检查的口令强度服务器的名字必须建立的。而且对于DCE登记中的各个口令强度服务器记录还需要一个新的数据项,即辅助口令管理联编ERA。它包含允许口令同步服务器为一个给定的用户定址口令强度服务器的信息。为了实现口令强度服务器的使用同时还提供外部登记之间的口令同步,本系统实现了图6中所示的各步骤。

图6描述按照用户的特定需要扩展口令同步的各步骤以支持可能是用户定制的口令强度服务器。图3C是对于强度检查期间使用的部件的图3的伴随图示。请注意,如在本地OSF的口令强度服务器支持的实现中那样,对于一个给定的用户只能关联一个口令强度服务器,尽管不同的用户可以配置成使用不同的口令强度服务器。在块610,客户机W114为客户机W的帐户请求帐户建立或者口令改变,这类似于图5块510中的第一步。接着,在块612,安全服务器104检索包含在和客户机Y的帐户相关的口令管理联编ERA里的路由信息并且利用该信息定址口令同步服务器106,该步骤也和图5块512中的步骤相似。在块614,安全服务器向口令同步服务器106发送明码口令和客户机Y的标识。在块616,口令同步服务器请求安全服务器回送和用户机Y的帐户相关的口令强度ERA的值并且用该值标识口令强度服务器X110的帐户。然后,口令同步服务器块618中请求安全服务器返回与这一帐户相关联的附加口令管理联编ERA。    

安全服务器104检索被请求的ERA值并且然后在块622向口令同步服务器返回这些值。在块624,口令同步服务器把辅助口令管理联编里的信息用作为路由信息以定址口令强度服务器X110并且请求该服务器执行它的强度检查功能。

在块626,口令强度服务器X110执行强度检查功能并且接着向口令同步服务器返回完成信号或者出错信号。接着,在块628,口令同步服务器向安全服务器104返回块626的完成或出错消息。在块632,如果通知一个“出错”消息,安全服务器向客户机W114返回该出错报文。如果发送完成消息,安全服务器加密该口令,在块630把它存储在客户机W的帐户里,并且向该客户机返回“完成”。口令同步服务器的要求

口令同步功能满足下述要求。首先,同步化引起把由DCE用户改变的口令按明码口令传播到任何配置成接收这些改变的其它外部登记。传播是即刻的,结果被保留以供必要时若在与外部登记的通信断开时重试。重试传播须服从管理员可控制的时限。该操作称为“口令同步推广”。

第二,口令同步服务器能够在不修改DCE登记器代码的情况下进行口令同步化,从而任何厂家的DCE1.1安全服务器可用于支持口令同步功能。

第三,口令同步服务器保持对由OSF DCE1.1提供的口令组合服务器(pwd-strength)功能的支持,并且允许独立于用户口令是否被同步化而发生口令强度检查。

第四,口令同步服务器支持由外部登记在外部登记请求时所进行的明码口令检索。该操作也称为“口令同步抽出”。

第五,口令同步服务器在客户机和服务器施加在应用数据加密功能访问的限制之内提供明码口令参数的安全传输。

第六,口令同步服务器具备容许故障的能力。如果口令同步服务器出现问题,这种能力防止外部登记意向的DCE帐户里的口令被更新而且从而排除非同步状态。为了包含口令同步服务器在尚未清除它的存储器之内的传播队列之前而发生同步服务器出现问题的这种情况,采用队列的磁盘镜象。如果在进行口令改变时外部登记器出现问题,口令同步服务器保持所需的状态信息从而当/如果该外部登记器恢复联机时能够尝试传播。

第七,若具有容许故障的能力(上述第六项特性),口令同步服务器从磁盘存储器中恢复明码口令。当口令驻留在磁盘时口令同步服务器通过把所有明码口令信息加密成磁盘存储器的密文格式保护这些口令。

尽管在DCE环境下如此间所公开的那样必须满足的上述要求,但在非DCE服务器环境下实现时可以明显地修改、改变或者取消这些要求。在非DCE情况下,建议遵照这些要求,但是熟练的技术人员为了根据用户的要求和愿望对系统进行调整时可按需要而和这些状况不一致。例如,虽然口令加密是有用的,但当整个系统可防止计算机窃贼或其它不受欢迎的客人时不需要再实现它。

口令同步服务器可以在AIX或OS/2的一种平台中实现,或者在其它能完成DCE的操作系统平台中实现,例如其它类型的UNIX或者MUS平台。另外,该系统可以配置在单个DCE计算机上。

在某些参与口令同步化的节点之间缺少明码口令的“沿线路的加密”保护是允许的。例如,在下述两种状态中的任一状态下可以在两个节点之间没有保护:

一个参与节点是一个不兼容DCE节点,它不支持DCE数据加密标准(DES)的数据保密;或者

一个参与节点是一个不支持数据保密的外部登记器,并且该节点在一个包括至少另一个不支持数据保密的单元环境下试图进行“抽出”操作(即,如果为使不兼容DCE外部登记器中的任何外部登记器能够在口令“抽出”时利用这种保护,所有的不兼容DCE外部登记器必须都能支持数据保密)。这一点是因为兼容DCE外部登记可访问称为商用数据屏蔽工具(CDMF)的一种备择的数据保密加密算法,这种算法可由口令同步功能使用以在不能访问DES数据保密的情况下提供“沿线路的加密”。

应注意的是,在标准的OSF口令强度支持的实现中,在下述情况下不存在对明码口令的“沿线路的加密”保护:

a)安全服务器或者口令强度服务器中的一个不能支持数据保密(出现于常规的组合检查中)。

b)一个客户机或者口令强度服务器中的一个不能支持数据保密(出现在该客户机试图请求口令强度服务器生成口令时)。

所有可能潜在地和一个含有一个口令同步服务器的单元同宿的用户提供的强度服务器必须增补在OSF DCE样本代码下进行的检验以便若该调用者不是“dce-rgy”主机时强度检查API被拒绝。当该调用者是“dce-rgy”主机或者“pwsync”主机中的一个时接受API,(“dce-rgy”或“pwsync”是安全服务器和口令同步服务器充当为口令同步服务器的一个客户机时所使用的主机。)

只要“生成口令”请求实际上是经过口令同步服务器转发给强度服务器的,不必为强度服务器保留在生成口令请求时知道实际客户机标识的能力。

当为口令同步配置一个主机而不为口令强度检验配置主机时,在口令组合上的登记器策略检查的最小集(所有的空白、至少一个非字母数字、最短长度)是非强制的。

所有配置为由口令同步服务器支持的外部登记必须和该口令同步服务器驻留在相同的DCE单元里。

所有的外部登记应该核实由任何“口令推广”RPC启动的客户机标识是口令同步服务器(首长“pwsync”)的标识,以阻挠任何攻击者试图欺骗口令同步服务器。

口令同步服务器不能重复。OSF DCE1.1口令强度检查概述

下面概述OSF DCE1.1中的口令强度检查机制,以便为理解在实现口令同步中如何利用口令强度检验结构提供基础。

DCE安全服务器本身提供数量有限的口令组合规则。这包括最小长度、口令是否应该至少包含一个非字母数字,以及口令值是否可以实际上由全部空格组成。DCE 1.1通过每当接收口令改变请求时使安全服务器调出一个口令强度检查服务器而扩充口令组合检查能力。该服务器还用作为一个“口令发生器”,并且可由用户修改以实施任何需要的口令组合规则。

如果对一个用户存在一个强度服务器该安全服务器检查是非强制性的;但是,系统设定的(OSF提供)强度服务器的行为强制作这些相同的检查。可以写入强度服务器以忽略这些具体检查的强制实施。

为了支持这种新的功能度,在DCE1.1中为口令管理定义两种新的ERA:

0 PWD_MGMT_BINDING:该ERA附属于一个常规的用户主机并且定义每当试图改变一个用户的口令时由secd(单错校正检验)调用强度服务器。该ERA也由一个“改变口令程序”的客户机使用并且定义被调用的服务器以得到生成的口令。该ERA为“联编”编码类型,包括这些信息:

+强度服务器的服务主机名

+CDS名空间入口,在该入口服务器输出联编或者包含替代的串联编

+和该服务器通信时使用的RPC鉴别级。

采用dcecp约定,该ERA如何显示的一个例子是:

{pwd-mgmt-binding{{dce pwd-strength pktprivacy secretname}/.:subsys/dce/pwd-mgmt/pwd-strength}}

口令检查和口令生成永远在同一个服务器上发生,从而为定义该服务器的位置只需要一个ERA。

0#PWD_VAL_TYPE:该ERA也附属于常规的用户主机。它取四种值中的一个:

+NONE(0):若ERA值为零,或者对于该用户主机不存在ERA,这意味着除了由secd自己实施的最小缺省规则外不进行任何强度检查。

+USER_SELECT(1):这意味着一旦secd接受一个建立或改变一个帐户口令的请求时由PWD MGMT BINDING中命名的服务器执行口令强度检查。

+USER_CAN_SELECT(2):这意味着任何提示新口令的客户机程序应该首先显示从由PWD_MGMT_BINDING命名的强度服务器中得到的一个已生成的口令。用户不必打入该口令或者别的东西作为口令选择。一旦接受一个改变一个帐户口令的请求,decd总是调用强度服务器检查。如果用户打入该生成的口令,强度服务器算法对待该新口令好象是该用户编造它,并且可以潜在地拒绝它。 OSF DCE应该把这种不规则的行为调整为和下面的情况即由用户打入所生成的口令的情况的行为相一致。

+GENRATION_REQUIRED(3):这意味着任何提示新口令的客户机程序应该首先显示从由PWD_MGMT_BINDING命名的强度服务器中得到的一个已生成的口令。需要用户提供该口令作为认可。接着,decd调用强度服务器检查,只有当该强度服务器在它保持的超高速缓存中看出该口令最近被提供为该客户机的一个生成口令时该检查才会成功。该生成的口令不服从向用户编造的值提供的任何其它的组合规则。

根据需要,明码口令按对强度服务器的输入或输出参数中的一种而传送。rsec-pwd-mgmt-str-chk把明码传送为输入。rsed-pwd-mgmt-gen-pwd把明码回送为输出。安全服务器使用PWD_MGMT_BINDINGERA的鉴别部分里多个参数中规定保护级的一个参数实现对口令保护程序的控制。在标准的OSF DCE实现中,该级只能设为包保密或者包完整性。

口令同步实现的部分是对OSF的DCE dcecp程序的修改,其对应的基础api接受另一个仅由称为“cdmf”的IBM DCE平台支持的保护级。因为数据保密的cdmf格式可以自由地输出到外围,其中通常包括那些不能得到DEC出口许可的外围,IBM DCE对口令强度和口令同步功能的支持提供超出其它厂家的实现的潜在优点,即IBM DCE的支持将在其它实施方法不能做到的某些环境中在线路上保护口令。口令同步概述

现在给出按照本发明的口令同步的实现。该系统以一个向外部登记传播口令(一个“推动”)的服务器增加或代替接收用于口令强度检验调出的服务器。在实际进行一次“推广”之前,该服务器为口令组合检查和实际的强度服务器联系。另外,这个新的口令同步服务器等待为一个特定用户从外部登记检索明码口令(一次“抽出”)的请求。

必须对新的和现有的ERA定义进行增添或修改,下面的前二个是现有的ERA定义,并对修改它们在系统行为上产生的影响作出说明。然后是新的ERA。有关这些ERA的图示以及和它们相关的主机请参见图3。

0#PWD_MGMT_BINDING:当附属于一个用户主机时具有和以前相同的行为,不同的是:对于一个和口令同步有关的用户该ERA内的信息将指向pwysnc而不是一个真实的强度服务器。和强度检查有关的但不和同步有关的用户具有直接指向一个强度服务器的ERA集。

该ERA的一个实例还附属于“pwsync”主机本身。它用作为可被帐户管理工具读出的常规“template”。即,在口令同步中这些工具不需要提示为具有一个新的用户参与者而需要的信息;该数据可以从该ERA中存储为“pwstync”主机的值中读出。

0#PWD_VAL_TYPE:和上述相同的意义,请注意如果“pwsync”是由PWD_MGMT_BINDING指向的服务器,“pwsync”不再重读PWD_VAL_TYPE#ERA。相反,它依赖作为强度检查RPC的结果传送给它的值以进而把这种请求传递给真正的强度服务器。

如果要对一个用户主机发生口令同步,PWD_VAL_TYPE必须置为1或更大。对于服务主机,PWD_VAL_TYPE不应该存在或者具有为零的值。这对于“pwsync”服务首长尤其重要,对于它PWD_MGMT_BINDING的“template”值存在。

0#FOREIGN_REGISTRY_PW_PROP_BINDING:该ERA和用于外部登记器的主机对象相关。它含有由口令同步服务器在一次“推广”中向外部登记传播口令时使用的联编及鉴别信息。

0#FOREIGN_REGISTRY:该多值ERA和常规用户的主机对象相关。它含有一个或多个识别一个或多个外部登记的一个或多个DCE服务器主机名的字符串。从而它表示该用户口令的改变应该传播到的一个或多个登记。在“抽出”操作中它还由口令同步服务用作为一个访问控制机制。这是通过保证“抽出”程序的DCE标识是附属于作出请求的用户主机的FOREIGN_REGISTRY_ERA中可找到的登录中的一个来实现的。

可以容易地看出,在口令传播期间FOREIGN_REGISTRY值充当为一个“关键字”,把该DCE软件导向适当的向其询问存储在FOREIGN_REG ISTRY_PW_PROP_BINDING ERA里的联编信息的服务主机。

该多值的ERA还存储在pwsync主机上,但它的意义和附属在常规主机上时的意义不同。它包含所有已安装的外部登记的值。需要知道可作为附属在一个新主机的FOREIGN_REGISTRY ERA上的候选者的所有外部登记的工具,可以通过从该pwsync主机读出FOREIGN_REGISTRY的值得到候选者表。

PWSYNC设备也检查附属于“pwsync”主机的FOREIGN_REGISTRY内容,作为对附属于用户主机的FOREIGN_REGISTRY的合法值的访问控制检验。因此,FOREIGN_REGISTRY的存在是强制性的,而不是可选的。

O#SECONDARY_PWD_MGMT_BINDING,该ERA和用于一个口令强度服务器的主机对象相关。它包含口令同步服务器在转发口令生成及口令检查请求时所使用的联编及鉴别信息。由于PWD_MGMT_BIN_DING的内容pwsync是这些请求的直接接受者,需要一个“辅助”ERA从而该pwsync可以把这些请求发送给一个实际的生成器/检验器。这些对强度服务器的调出出现在任何试图向外部登记传播一个新口令之前。

O#PASSWORD_STRENGTH:该ERA和一个常规用户的主机对象相关。它包含一个字符串值,即一个强度服务器的DCE服务器主机名。因此,它指示任何用户口令改变时所涉及的强度服务器。

可以容易的看出,在口令改变期间向PASSWORD_STRENGTH值充当一个“关键字”,它把口令同步服务器导向适当的向其询问存储在SECONDARY_PWD_MGMT_BINDING#ERA里的联编信息的服务主机。

O#AVAILABLE_STRENGTH_SERVER:该多值ERA只存储在pwsync主机上。它包含所有已安装的强度服务器的名字。需要知道可作为附属在一个新主机的单值PASSWORD_STRENGTH#ERA上的候选者的所有强度服务器的名字的工具,可以通过从该pwsync主机读出AVAILABLE_STRENTH_SERVER的值得到候选服务器表。

PWSYNC设备也检查附属于“pwsync”主机的AVAILABLE_STRENGTH_SERVER内容,作为对附属于用户主机的各个RASSWORD_STRENGTH ERA的合法值的有效性检验。从而,AVAILABLE_STRENGTH_SERVER的存在是强制性的,而不是可选的。

O#PLAINTEXT_PASSWORD:该ERA是和常规用户主机对象相关的询问触发器。当需要时通过询问该ERA的值,外部登记器将“抽出”一个可恢复的明码口令。借助于存储在具有pwsync的联编及鉴别信息的模式定义里的该询问触发器,该请求将从secd再传送到口令同步服务器。不需要改变模式许可以便严格限制可以读出该敏感ERA的范围,因为pwsync本身把可以询问该敏感信息的范围的有效性检验作为附属于用户主机的FOREIGN_REGISTRY ERA的值的一种功能。如果pwsync不知道该明码口令,将回送一个NULL串作为口令。

O#PW_PROPAGATE_ENABLE:该ERA附属于pwsync主机并包含能否进行口令传播的布尔真/假指示。当不能够时,经过“推广”的传播是不可行的,但是外部登记仍可以“抽出”口令。

O PW_PROPAGATE_RETRY_INTERVAL:该ERA附属于pwsync主机并包含一个带正负符号的32位整数值,它表示如果口令的初始传播失败再次传播这些口令的时限(按秒计)。零值是非法的而且实际上禁止重试传播。如果PW_PROPAGATE_ENABLE被标记为完全禁止传播,该ERA的值悬而不决。口令同步的实现

口令同步服务器的基本结构包括:一个执行典型的DCE服务器的设定任务然后“收听”请求的主程序,一个关键字管理调度单位(thread),一个标识符更新调度单位,一个Pull(抽出)数据库修剪调度单位,以及各种用于处理由一个外部登记读和一给定用户相关的plaintext-password ERA的结果而启动的RPC以及处理来自安全服务器的rsec-pwd-mgmt-str-chk RPC的程序。后一个RPC尽管是在pwsync里完成的现在基本上是一个中途站。它现在不执行它本身的实际核心功能而是为目标主机有效地把请求送到口令强度服务器。

新的功能度主要包括支持由希望和DCE登记保持口令同步的外部登记请求的“推广”和“抽出”操作功能。rsec-pwd-mgmt-str-chk充当这种新功能度的网间连接器,因为它提供一种可使pwsync使得到新口令数据的手段。

“推广”指的是每当在DCE中改变口令时把用户的明码DCE口令传播给感兴趣的和特许的外部登记服务器。这些“推广”并不象最初会猜测的那样,不是作为rsec-pwd-mgmt-str-chk处理的一个整体部分出现的。从人们眼光看来对secd回送的延误是不合乎需要的。从而,替代地把该数据存储在一个存储器内的队列里供以后由独立的传播调度单位处理。(第一次传播尝试是立即的,而重试发生在管理人员规定的时限里。)为了防止意外的程序终止事件下的数据损失采用磁盘镜象。否则的话这种损失会在DCE和外部登记之间造成非同步状态。请注意当口令同步服务器的传播调度单位执行一个“推广”操作时,它充当为外部登记的一个输出有关的“推广”服务器接口(rsec-pwd-propa gate)的客户机。

“抽出”指的是相对于PLAINTEXT_PASSWORD扩充登记属性口令同步服务器所具有的触发器服务器的作用。为了检索相关的口令通过本地OSF#DCE功能向pwsync传送外部登记对该属性值的询问。为提供该值,pwsync输出sec-attr-trig-query接口。在“请求”下可得到明码口令意味着pwsync必须对用户名和他们相关的口令保持永久性的记录。尽管给定它执行敏感的功能pwsync应该驻留在高度安全的计算机上,而且还很清楚该数据库里的口令必须得到特殊保护。在DCE安全服务器对敏感的登记数据进行主关键字加密后该保护被仿构。(对“推广”数据库里的口令提供相同的保护,尽管由于该数据期待为短生命对它的保护不是那么严峻的。)

口令同步服务器包括一个带有一个主调度单位和五个辅助调度单位的单一进程。后面有详细说明这些调度单位中的两个调度单位的处理步骤以及为从安全服务器的调用服务的rsec-pwd-mgmt-str-chk RPC接口的处理步骤的流程图。

1)主调度单位:执行所有这种DCE应用服务器所需的初始化操作,例如单元目录名空间里的寄存联编和接口;建立辅助的调度单位;在RPC接口上“收听”以便对来自安全服务器的调用以及对来自外部登记客户机的试图为特定帐户“抽出”口令的调用进行服务。

2)口令同步服务器标识更新调度单位:当该服务器在周期基上通过“登录”重新建立该服务器DCE的标识(用于所有DCE应用服务器的标准惯例和方法)。

3)口令同步服务器关键字更新调度单位:在周期基上为该服务器改变帐户口令,它在用于所有DCE应用服务器的惯例和方法中是周知的。

4)口令同步服务器抽出RPC和抽出数据库修剪调度单位:初始化时,口令同步服务器主调度单位从磁盘抽出数据库初始化存储器抽出数据库并且为每个当前用户删除掉由同一用户的其它登录取代掉的所有登录。当在主调度单元收听的RPC上接收到一个抽出请求时,为被请求用户在存储器数据库里搜索一个登录。如果找到,检查和口令同步服务器及被请求用户的帐户都相关的各个foreign-registry的ERA的内容以判定该请求的外部登记是否定义在这些ERA里。如果是,该被请求用户的口令被回送给该RPC。如果没有找到口令或者检查失败,则回送一个出错。该抽出数据库修剪调度单位根据一个计时器工作,从而周期性地为每个现有用户用同一用户已经替代的另一登录来修剪所有登录的磁盘抽出数据库。

5)来自安全服务器的口令同步服务器的RPC:当主调度单位通过该RPC接收来自安全服务器的一个调用时,执行图7中所示的处理步骤。

6)口令同步服务器传播队列调度单位:为口令同步服务器设置信号“P”(图7中所示)时,该调度单位被唤醒以执行图8中描述的处理步骤。

7)口令同步服务器重试队列调度单位:当传播队列调度单位设置信号“R”(图8中所示)时,该调度单位被唤醒以执行图9中描述的处理步骤。

图7表示来自安全服务器的用户口令处理的流程图。首先,在块710,口令同步服务器接收来自安全服务器的用户ID和口令。接着,在块712,同步服务器判定口令强度ERA对该用户是否存在,如果存在则前进到块714;否则的话,该安全同步服务器进入到后面说明的块720。在块714中,同步服务器利用该口令强度ERA识别和该用户及其帐户相关的适当口令强度服务器并且接着读出它的辅助口令管理联编ERA。完成块714之后,同步服务器进入到块716,在块716利用口令强度服务器帐户和辅助管理联编ERA以定址口令强度服务器并且调用带有该用户ID/口令的强度服务器。

在块718,口令强度服务器回送一个其组合检查是否成功的报文。如果成功,系统进入块720;否则系统进入后面更详细说明的块732。在块720,系统在存储器抽出数据库里增添或替换登录并且向磁盘抽出数据库112添加该登录。存储器抽出数据库在块722中表示,而磁盘抽出数据库在块724中表示。接着,在块726,系统判定是否发生错误,如果发生则进入块732;否则,如果不发生错误,系统进入块728,在该块中把状态报文设置为“成功”。如果出现错误或者如果口令强度服务器组合检查失败,则在块732中系统把状态报文设置为“失败”。如果出现故障,系统进入后面说明的块742中。

在块730中,口令强度服务器判定传播是否已能为PW_propagate-enable#ERA的值的一个函数。如果已经能够传播,系统进入块734,否则,系统则进到后面说明的块742中。在块734,强度服务器分别把该登录存储到块736代表的传播队列里的存储器里以及块738代表的磁盘传播队列里。然后该系统进入块740,在这处强度服务器为前面说明过的传播队列调度单位设置信号“P”。然后以及如果在块730中尚未设定传播允许,系统在块742把该状态回送给安全服务器。

口令同步服务器的传播队列调度单位按照图8中所示的步骤操作。在块810,口令同步服务器从磁盘传播队列初始化存储器传播队列,这两个队列如图7中所述分别为块736和738。接着,在块812里,系统等待来自图7中块740的唤醒信号“P”信号。在块816中,于是系统判定在存储器传播队列736中是否完成一个登录,如果没有返回块812;否则,该系统进入块818,在块818处同步服务器处理队列736中的第一个或一下个登录。接着,在块820,系统从用户的帐户中所发现的用户外部登记ERA中检索外部登记表。一旦完成对该表的检索,在块822,系统为口令同步服务器对照外部登记ERA中找到的外部登记表证实第一个或下一个外部登记的存在。一旦完成证实,接着对传播队列736中的具体外部登记进行检查以查看它是否标记为“NOWCOMMUNICATING(通信中)”,如果不是,系统进入后面说明的块840;否则,系统进入块826。

在块826,系统把用户ID/口令传播给块824的请求外部登记并且接着在块828判定该传播是否成功,如果成功进入块838;否则,如果该传播不成功,系统进入块830。在块830,系统标志传播队列中的该特定外部登记为“NOT NOW COMMUNICATING(现不通信)”。系统接着进入块832,在块832系统把用户的ID、口令、外部登记ID/通信状态存储在存储器重试队列834和磁盘重试队列836中。

在块838,如果外部登记处于现不通信状态或者块828的传播成功,系统判定对于该特定被处理的用户ID是否存在其它的外部登记,如果是则返回块822以及下列等等。否则,如果和该用户ID没有更多相关的外部登记,该系统进入块849,在块849系统判定在存储器传播队列736中是否还存在登录。如果在存储器传播队列中还有登录,系统返回块818并为传播队列中的下一个登录再次开始该进程;否则,系统进入块842,在块842同步服务器删除存储器传播队列736和磁盘传播队列738里的所有登录。之后系统返回到块812,等待信号′P′的设定。

所有传播重试按照图9中描述的方法处理。图9表示按照本发明的口令同步服务器的重试队列调度单位的流程图。首先,在块910中,口令同步服务器分别从块834和836的磁盘重试队列初始化存储器重试队列。接着系统进入块918,在块918系统判定在存储器重试队列834中是否存在任何登录,如果有则进入块920;否则系统进入后面说明的块938。

在块920,系统处理队列834中的第一个或者下一个识别的登录,并且在块922中检查该登录以判定该外部登记是否标记为“NOT NOWCOMMUNICATING ON THE RETRY QUEUE(现未在重试队列上通信)”。如果它不是这样标记的,系统进入块924;否则,如果它是这样标记的,系统进入后面说明的块932。在块924,系统把该用户ID/口令传播给该选定的外部登记。接着,在块926,系统判定是否发生成功的传播,如果成功进入后面说明的块930;否则,该系统进入块928。在块928,系统标记在重试队列上的该外部登记是否为“NOT NOWCOMMUNICATING?(现未通信?)”并且进入块932。

在块930,传播队列(图8,块736)上的该外部登记的登录被检查以查看是否标记为“NOT NOW COMMUNICATING?(现未通信?)”。如果是,对它复位;如果不是,保留它并且处理进入块932。

在块932,同步服务器判定在存储登录队列834中是否还存在登录,如果存在则返回到上述块920并完成之后的序列;否则,如果在存储登录队列834中不存在其它登录,系统进入块934。在块934,系统把重试队列834上的所有外部登记复位为“NOW COMMUNICATING(现通信)”、接着,在块936,系统从各自的存储重试队列836和834重构磁盘重试队列。然后,在块938,系统根据前面说明过的口令传播重试时限ERA设定信号“R”。一旦该信号被设为“R”,系统返回块916进入下一个重试周期。明码口令保护

对口令安全同步(PWSYNC)106的操作涉及几个把明码口令作为参数传送的RPC。重要的是当“沿线路”传送时对这些口令进行保护,以防止把它们暴露给未经批准的用户。

有几种情况要予以考虑,包括是在美国环境下还是在国际环境下进行,或者是在兼容的DCE服务器上还是在其它供应商的服务器上操作。在考虑这些情况之前,理解一下RPC所需保护的性质以及各种控制在使用时对安全级的影响是有好处的。这些“控制”是DCE登记实体,称之为“联编鉴别信息”存储在某些ERA实例中,并且在一种情况中直接存储在一个模式登录中作为询问触发器信息。把明码口令作为参数传送的任何两个程序之间的保护级是由这些控制决定的,它们的格式遵循当使用由OSF DCE 1.1提供的dcecp程度时的约定。这里把周知的“pwd-mgmt-binding”era作为一个示例:

{pwd-mgmt-binding{{dce pwd-strength XXXXXXXX

secret name}:/.:∥subsys/dce/pwd-mgmt/pwd-strength}}其中根据各程序是否在兼容平台上及该平台是否支持数据保密把“控制”XXXXXXXX置为“pktprivacy”、“cdmf”或者“pktinteg”中的一种。

可以看出,该ERA还包含其它所需的信息,例如服务主机名、该服务向它输出其联编的CDS名空间位置,以及通过“名字”在老的Kerberos方式下对鉴别的规范说明。

表1概述为了理解这些控制是怎样使用的、怎样设置这些控制以及它们是否处理口令同步环境里涉及的客户机/服务机通信的所有情况的全部所需信息。

在七个不同的点,程序将在这些点发出一个应该被认为是用于对明码口令进行沿线路保护的RPC。本设计考虑其中的六个点。(一个不太关心的点是经过sec-rgy-acct-passwd的改变口令的起始用户请求,在该情况下DCE已经为在线路上加密该口令作出“调用者关键字”提示。)该表为这些RPC中的每一个标识有关信息。前三个是“推广”部分,第四个是“抽出”部分,最后二个涉及口令生成能力。

    发送者    接收者    RPC名    由联编信息控    制的保护级    存储在:    所建立的ERA,保护    级设定方式  保护级  唯一?     secd     pwsync    resec_pwd_    mgmt_str_    chk    用户主机的    PWD_MGMT_BINDING era    “口令同步”配置选择  NO     pwsync   用户强度服务器    rsec_pwd_    mgmt_str_    chk    强度服务器主机的    SECONDARY PWD    MGMT_BINDING era    “强度”配置选择  YES     pwsync     外部登记器    rsec_PWD    propagate    外部登记主机的    FOREIGN_REGISTRY    PROP_BINDING era    “外部登记器”配置    选择  YES     外部登记器     pwsync    sec_attr_trig_    query    viasec_rgy_attr_    lookup_by*    PLAINTEXT_PASSWORD    模式项目的询问触发器信息    “口令同步”配置选择  NO     客户计算机     pwsync    sec_pwd_mgnt_    gen_pwd    用户主机的    PWD_MGMT_BINDING era    rgy更新工具:    增加/改变帐目  NO     pwsync   用户强度服务器    sec_pwe_mgmt_    gen_pwd    强度服务器信息上的    SECONDARY_PWD    MGMT_BINDING era    “强度”配置选择  YES

仅附属于服务主机的那些ERA的保护级相当容易管理,因为它们只是在安装pwsync、强度服务器或者外部登记服务器期间一次规定的。不论安装软件包来自于相同的或不同的厂家这一点都是正确的。所有这些安装都涉及建立服务主机并且把ERA实例附属给这些主机。

但是其它的ERA值,尤其是附属于普通用户主机的ERA值在管理上略有一些困难,因为这些ERA的内容取决于和外部登记以及口令强度服务器有关的信息。如果没有一种例如象GUI工具的“记住”或者可访问和这些服务器安装相关的有关信息的并且具有定义那些ERA需要和这些主机相关的“存储”信息的管理工具的帮助,管理人员将被迫人工地对新建立的主机建立这些ERA实例,这可能是一项费时和易出错的任务。这些有关的ERA包括周知的PWD_MGMT_BINDING,以及称为FOREIGN_REGISTRY和PASS WORD_STRENGTH的新的“打印串”ERA。

外部登记和用户强度服务器将把这些信息传信给管理工具的方法是把这些信息附属在pwsync主机本身上。这些应用周知的OSF#DCE功能来实现它们的任务的用户的或厂家写入的管理工具可以简单地读出附属于“pwsync”主机的ERA信息,从而一旦定义新的用户主机时允许该工具为管理选择显示这些信息。

该表的“PROT#LVL#UNIQ?(保护级唯一的?)”指示该特定的保护级是否分配给单独的“客户机/服务器”对或者是否可由多个“客户机/服务器”对共享。例如,第二项和第三项具有独特和明确的保护级控制,因为由pwsync通信的各个和每个外部登记或者口令强度服务器存在独立的ERA实例。从而,如果某些外部登记需要不同的保护级,可以提供这些不同的保护级,因为存在着在安装各个外部登记期间规定的反映这些差异的独立的ERA。

该列中“no”值表示对于所有的客户机/服务器组合指定的保护级不是唯一的。例如,第四项具有这个问题,即所有从外部登记的“抽出”必须得到存储在一个单询问触发器项中的鉴别信息。只存在一种模式的定义,从而所有的外部登记应用PLAINTEXT_PASSWORD定义,因此这些登记不能采用不同的保护级。

另一个例子是第一项和第五项的组合,其中附属于一个用户主机的相同ERA用于指示两个显著不同的操作之间的保护级。它排除了在一个强度API上的pwsync和secd之间以及用于口令生成的API请求的pwsync和客户计算机之间选择不同保护级的可能性。

对于上述的“no”情况,来自不同厂家的外部登记和客户机一般需要和“最小公分母”而共存,其结果可能对这些情况造成缺少明码口令保护。对于涉及到外部登记器和客户机是来自于相同的或者兼容的厂家时的这些相同情况,应该修改这两个API以便利用由特定的客户机/服务器对提供的最大程度的保护:

1)作为一种特别情况各sec-rgy-attr-lookup-的API被修改以识别“PLAINTEXT_PASSWORD”ERA名。询问触发器的“鉴别信息”部分被废弃,保留和pwsync通信所需的主机和CDS信息。通过向secd发出一个回叫以询问该特定外部登记的FOREIGN_REGISTRY_PW_PROP_BINDING的值来获得适当的鉴别信息。这个鉴别信息对每个外部登记器是唯一的,和存储在询问触发器里的鉴别数据相反。它包含用于“在线路上”保护数据的保护级。

其它已规定询问触发器的ERA不受该改变的影响。它们继续使用询问触发器里提供的所有信息,包括控制各种鉴别级的参数。

另一方面,来自不同不兼容厂家的DCE外部登记全都被迫使用在询问触发器里规定的相同的保护级。它必须是“最小公分母”,即,如果一个不兼容外部登记仅能支持包完整性,则所有不兼容的外部登记必须在这个限制下运行。

2)存储在任何给定用户的PWD_MGMT_BINDING里的保护级的适当值将被认为是当发出强度API时在secd和pwsync之间允许的最大级。但是,在“生成口令”请求时对于在一个常规客户机和pwsync之间使用它可能过高。从而,sec-pwd-mgmt-gen-pwd的IBM版本设立“应用重试逻辑”。如果因为不能支持“pktprivacy”初始值失败,该客户机逻辑将使用“cdmf”重试。如果这也失败,它将使用“pktinteg”。尽管该模式对于IBM#DCE客户机是有效的,它可能不能在非IBM的DCE客户机上实现,因为目前IBM之外的任何公司都不能把CDMF算法输出到外国。

在不兼容的DCE客户计算机不能支持PWD_MGMT_BINDING里规定的保护级的情况下,该客户机请求“口令生成”的任何试图都将失败。管理人员可得到的排除这种情况的选择包括删除希望从该计算机上改变他的口令的一个给定主机提供一个口令同步服务器生成的口令的要求,或者对该主机在PWD_MGMT_BINDING里规定的保护级降低为“包完整性”等级。后一种选择对于该主机是在“沿线路”暴露该明码口令的代价下维持所需的功能度。

对于这种口令同步实现新的ERA们的模式定义是需要的。为所有这些ERA把“保留”标志置为TRUE,因为一旦安装pwsync之后应该避免”意外地“擦掉模式定义。管理人员可以把该保留标志置为FALS并且如果他希望然后删除该模式定义。

在“推广”规约的支持中只有一个新的RPC:功能原型:

void rsec_pwd__propagate( [in]handle_t h, [in]sec_rgy_name_t principal, [in]char*password, [in]sec_timeval_sec_t pwd_change_time, [out]error_status_t*status);

该RPC把口令传播给外部登记。所有的外部登记必须驻留在和口令同步服务器同样的单元里。还提供了用户名和DCE登记更新的时间。如果该外部登记希望废弃该信息并且不在后面的传播周期中没有被通告完全相同的口令改变的事件,它应该返回送成功状态。如果出于任何原因它不能在现刻处理该通告,但希望口令同步服务器在后面的传播周期中发送该事件,则应该返回任何类型的不成功状态。

除了访问“口令抽出”数据库的情况之外,所以内部资源的争用永远是“相互排斥的”。对于这些情况采用锁定宏指令的附加开销是没有好处的。因此,当资源不能承受任何类型的共享访问时,采用对DCEpthread的“mutex”的直接调用。这样,大体上,借助于mutex持有者阻止其它所有的得到该mutex的尝试,mutex获取等同于得到“写锁定”;例外的是避免在这些mutex调用的顶端的锁定逻辑的附加开销。“mutex”是一个OSF#DCE pthread构件,它等同于“锁定”,而且对于熟练的技术人员它是周知的。

在口令抽出数据库情况下,服务器采用对宏指令及软件锁定的附加开销,其按DCE安全服务器(secd)模仿并且适宜于口令同步服务器的使用。采用这种锁定方式被认为是必要的,从而当抽出数据库周期性整理多余项目和分类时,“抽出”口令的请求不会被阻止;然而在抽出数据库中改变口令的请求被阻止。通过直接调用pthread mutex例行程序是不容易实现这一点的。事实上,这就是设计secd锁定接口所要完成的工作:提供一种略为复杂的调用各调度单位的接口;使该接口保持有关当前持有何种类型的锁定以及借助多少个调度单位的状态信息;并且利用该信息判定是否应该调用pthread mutex库以真正地阻止任何调用调度单位。

如上面所述,本发明的各种概念和能在计算机系统上实现的特殊“方法功能”有关。在备择的实施方式里,本发明可实现为一种供计算机系统使用的计算机程序产品。熟练的技术人员应该容易理解规定本发明的功能的程序可以按多种形式提供给计算机,其中包括但不限于:(a)永久性地存储在不可写存储器介质(如计算机内的只读存储设备,例如ROM或者可由计算机I/O附属设备读取的CD ROM盘)上的信息;(b)可修改地存储在可写存储介质(例如软盘和硬磁盘机)上的信息;或者(c)经过调制解调器由诸如网络,电话网的通信介质传送给计算机的信息。从而应该理解,当这些介质携带者指向本发明的方法功能的计算机可读指令时就代表着本发明的各种备择实施方式。

尽管本发明是具体地通过参照最佳实施方式表示和说明的,熟练的技术人员可以理解在不违背本发明的精神和范围的前提下在形式和细节上可对它进行各种修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号