根据标准协议opcua通信且具有用于认证的单点登录机制的客户端/服务器系统及在这...的制作方法

文档序号:7732899阅读:398来源:国知局
专利名称:根据标准协议opc ua通信且具有用于认证的单点登录机制的客户端/服务器系统及在这 ...的制作方法
技术领域
本发明涉及一种方法和一种装置,用于将用于进行用户认证和授权的机制集成在 根据标准协议OPC UA的应用中。该方法和该装置适合于不同的应用,特别是适合于在自动 化技术系统中的通信。
背景技术
OPC UA是一种由OPC基金会规定的、用于独立于制造厂商和平台的通信的新标准 协议,特别是在过程自动化中。OPC的原始名称虽然是用于过程控制的OLE,但是在此期间 在没有对于简称的提示的情况下使用OPC。UA表示统一架构。下文有时使用英语术语,这 是因为它们说明了在标准中定义的确定功能或规范。在图1中,首先在a)项下描述了一种在使用通信系统12、典型地在使用网络的情 况下用于根据OPC UA规范在OPC UA客户端11和OPC UA服务器13之间交互作用的已知布 置。此外为了交互作用,OPC UA客户端11使用了来自OPC-UA-协议中规定的一组OPC UA 服务调用的OPC UA服务调用。但是,OPC UA服务器也可以作为聚集服务器来工作,如同在 图1中在b)项下所描述的那样。这种聚集OPC UA服务器14可以作为客户端作用于另外 的、下级的OPC UA服务器13以及收集且在其自身的地址空间中提供那些由另外的OPC UA 服务器13所提供的数据。OPC UA客户端和服务器的应用领域包括大的范围,并且其功能可以在不同的设备 和系统中实现,例如控制器、基于PC的控制系统、生产管理系统或者在生产计划中。但是,在标准协议OPC UA中,在带有聚集服务器的方案中没有定义用于用户的认 证和授权的机制。规范仅仅表明,聚集服务器可以具有作为其代理(agents)起作用的多个 用户,并且它们可以用于在与另外的服务器的连接中设立彼此独立的会话。特别地,未规定 的是,客户端用户的标识符与聚集服务器中的标识符具有哪一种关系。这表明,可选的是 是否这样来设立,使得客户端-标识符与另外的服务器的标识符相匹配,或者是否作为其 替代,形成用于访问聚集服务器的独立的高级用户。为了在OPC UA系统中实现一种合适的安全等级,重要的是支持对于用户的、细 粒度的访问控制,并且对于每个访问数据的用户,符合确定的“最小特权”"保护(英语是 least privileges)。具有用于客户端-标识符的聚集服务器中高级用户的方案可能破坏 计划目标。在OPC UA服务器中值得期待的可能是用于所谓的单点登录的机制。单点登录 (SSO)机制允许用户在初始-认证(Eingangs-Authentifizierung)之后访问所有的应用和 数据,相应于之前定义的单独许可。对于用户来说,有利地省却了在计算机系统中的再一次 的登陆。虽然在信息技术中已知了不同类型的、用于单点登录的标准解决方案。但是这些SSO-解决方案不能应用在OPC-UA-产品中,这是因为它们基于中央认证-服务器,其中用户 的登录(Anmelden)需要通过web-界面进行,并且服务器为一组预先定义的应用分配了访 问权限。这种认证_服务器使用http或另外的web协议以便对用户进行识别并且分配对 于另外的应用的访问权限。在此一个问题在于,http或另外的web协议在自动化-网络中 不是一直允许或可使用的,并且此外不是每个OPC UA应用都是一种web应用。然而,最严 重的问题可能在于,认证_服务器必须理解OPC-UA-协议,以便对OPC UA服务器的用户进 行认证。但这对于当前市场上可购买到的产品来说不是这种情况。

发明内容
由此出发,本发明的目的在于,提出一种方法和一种装置,以实现将单点登录机制 集成到OPC-UA-应用中的可能性。该目的通过一种具有在权利要求1中说明的特征的、在应用OPC-UA-协议的情况 下用于在客户端和服务器之间进行通信的方法来实现。有利的设计方案和相应的装置在另 外的权利要求中给出。 在根据本发明的方法中,OPC UA客户端将系统用户的所有的作为权利证明所需要 的合法性数据(证书)传输至OPC UA聚集服务器。该OPC UA聚集服务器自动地相关于与 聚集OPC UA服务器相连接的所有OPC UA服务器认证特定的用户。在具有OPC UA聚集服 务器和与之相连接的下级的OPC UA服务器的系统中,既允许使用不同类型的用户-数据库 和装置,也允许透明的自动认证和细粒度的访问控 制。对此所必需的根据本发明集成单点 登录机制借助于用于对机制进行处理的、安装在聚集OPC UA服务器中的SSO-组件来实现。 该SSO-组件用于相关于与OPC UA聚集服务器相连接的、也被称为被聚集的服务器的所有 OPC UA服务器对在OPC UA客户端上工作的用户进行认证。SSO-组件设立用于,将由OPC UA客户端所使用的和在OPC UA聚集服务器中所使用的用户-标识符映射或转换(mapping) 到这种存储在与OPC UA聚集服务器相连接的OPC UA服务器中的标识符。SSO-组件随后分 别在与OPC UA聚集服务器相连接的所有OPC UA服务器中借助于所映射的合法性数据(证 书)调用活动会话服务。


由下面对于实施例的描述参照附图得出了本发明的进一步说明及其优点。图中示出图1分别根据现有技术在a)项下示出了一种具有OPC UA客户端和OPC UA服务 器的布置,以及在b)项下示出了一种具有OPC UA聚集服务器的布置;图2示出了一种在OPC UA应用中具有集成的单点登录(SSO)机制的根据本发明 的布置;图3示出了与根据图2的布置相对应的流程图;和图4示出了同样也与根据图2的布置相对应的、备选流程图。
具体实施例方式图2示例性地示出了一种在OPC UA应用中具有集成的单点登录(SSO)机制的根据本发明的布置。在该系统中,OPC UA聚集服务器24包含SSO-组件25,用于认证相应的在 OPC UA客户端21上工作的用户、例如相关于下级的OPC UA服务器1,2和3的用户1。不 仅OPC UA客户端21,而且同样也与OPC UA聚集服务器24共同作用的OPC UA服务器1,2 和3都借助于通信-网络22与OPC UA聚集服务器24相连接。OPC UA服务器1,2和3例 如分别对于不同类型的和具有不同的信息和证书的数据_供应者具有访问权。OPC UA服务 器1例如供应来自PLC的数据,其通过具有中央用户数据库的过程控制系统(Distributed Control System,分布式控制系统)、例如活动目录系统来提供。在OPC UA服务器2中,利 用PLC的控制器的存储器中简单的用户表格,在PLC上运行嵌入式应用。例如可能安装在 Linux-机器上的OPC UA服务器3最后具有对于利用公共密钥基础设施(PKI)进行工作的 PLC的访问权,其中借助于数字证书对用户进行认证和授权。SSO-组件25与数据存储器相连接,该存储器包含关于在OPC UA服务器1,2和3 中可使用的所有标识符的信息,并且将这些标识符映射到由用户在OPC UA客户端21上使 用的特定的标识符。用户1在根据图2的示例中示出并且用于OPC UA客户端21中的登 录_程序。用户1在此在SSO-组件25的数据存储器中映射为具有根据OPC UA服务器1 的用户域UserlOcoiroany. com,以及如同在OPC UA服务器2的用户表格中定义的一样作为 用户1,并且借助特殊的X. 509-证书,其包含在OPC UA服务器3的PLC 4中的PKI的证书 信任列表(Certificate T rust List)中。SSO-组件25的数据存储器支持所有类型的、在 OPC UA标准中规定的标识符,并且允许使用所连接的OPC UA服务器1至3中不同类型的用 户-数据库。根据在图3中示例性示出的、与根据图2的布置相对应的流程图,在下面进一步说 明了根据本发明的方法。如果OPC UA客户端尝试建立与OPC UA聚集服务器的连接,那么OPC UA客户 端首先借助于在安全信道服务集中以及在会话服务集中标准化的服务来设立安全信道 (sicheren Kanal)和会话(Sitzung)。原则上为了实施该准备步骤提供了四个不同的操作 方式,取决于相应的具体OPC UA产品的需求而在它们之中选择一个。根据第一操作方式,为了建立连接,聚集服务器向下级的OPC UA服务器传递每个 服务调用(service call),例外是活动会话服务调用,其被传递至SSO-组件。在第二操作方式中,首先设立安全信道并且在没有将会话服务传递至聚集服务器 上的情况下调用会话服务,例外是活动会话服务调用。活动会话服务调用是用于调用下 级的OPC UA服务器的会话服务和安全信道的触发器,其中活动会话服务调用随后传递至 SSO-组件。第三操作方式在于,首先在OPC UA客户端与聚集服务器之间设立安全信道和会 话。每一次当客户端尝试访问数据时,聚集服务器设立到那个包含了所期望的数据的OPC UA服务器的连接。活动会话服务调用传递至SSO-组件。在第四操作方式中同样也首先在OPC UA客户端与聚集服务器之间设立安全信道 和会话。当客户端第一次尝试访问数据时,聚集服务器设立到OPC UA服务器的连接。当OPC UA客户端终止其到聚集服务器的连接时,或者当OPC UA客户端的连接由于超时而终止时, 这些设立的连接终止。各个操作方式具有各种不同的优点和缺点。第三操作方式仅仅在短时间内占用OPC UA服务器的资源,但在经常由OPC UA服务器调用用于数据访问的服务的情况下,在设 立安全信道和会话时导致大的开销。第二操作方式例如需要与第三操作方式相比持续时间更长的、对OPC UA服务器的 资源的占用,这是因为安全信道和会话仅仅一次地设立用于客户端会话,但仅引起了较小 的开销,这是因为安全信道和会话仅仅一次地设立用于客户端会话。然而,安全信道和会话 服务调用必须保持在聚集服务器的存储器中,直到设立了到下级的OPC UA服务器的安全信 道和会话为止。第一操作方式实施起来最简单,但当活动会话服务调用因为传递的合法性数据 (证书)失效而被聚集服务器拒绝时,可能在资源消耗方面是存在问题的。在这种情况下, 安全信道和会话已经被设立(但未激活)用于所有的OPC UA服务器。第四操作方式是在OPC UA服务器中的资源占用与用于设立安全信道和会话的开 销之间的一种良好的折衷,这是因为它仅仅当客户端要访问数据时才设立,并且被保留直 到OPC UA客户端终止到聚集服务器的连接为止。如上所述,用户-合法性数据(证书)借助于在会话服务集中定义的活动会话 服务调用而被提供给聚集服务器。随后,聚集服务器将该服务调用转送至SSO-组件。该 SSO-组件搜索被转送的、在其数据存储器中的用户-标识符并且搜索所映射的标识符以及 涉及的OPC UA服务器。对于每个匹配,SSO-组件在相应的OPC UA服务器中借助于所映射 的用户_标识符调用活动会话服务。
在根据图2和图3的示例中,SSO-组件借助于Userlicompany. com和所属的密码, 在OPC UA服务器1中调用活动会话服务,相应地借助于Userl和所属的密码,在OPC UA服 务器2中进行调用,以及最后在OPC UA服务器3中借助于X. 509证书的DER-编码的字节 及其利用证书发行人的私有密钥形成的签名进行调用。当借助于结果报告回聚集服务器所有的活动会话服务调用都是成功的时,那么 用户不仅在聚集服务器而且在下级的OPC UA服务器中被认证,并且聚集服务器向OPC UA 客户端证实了这一点。也可能出现这种情况,即用户的认证在一个下级的OPC UA服务器中失败,例如是 当用户的合法性数据对此不再有效时。只要用户能至少在一个下级的OPC UA服务器中被 认证时,则用户同样可以访问在一个或多个所涉及服务器中的数据。图4示出了对于可能的方法变体的流程图,同样也与根据图2的布置相对应。在 此示出了,从OPC UA客户端将用于用户1的活动会话服务调用传输至OPC UA聚集服务器。 聚集服务器仅仅通过SSO-组件的专有的接口功能来测定涉及的用户的所映射的(mapped) 合法性数据,在这里该涉及的用户是用户1。聚集服务器随后直接在下级的OPC UA服务器 中调用活动会话服务。这种方法变体简化了内部通信的处理,因此也可能省却SSO-组件。 活动会话服务调用的所需要的复用可能在各个支持SSO的OPC UA服务器中实施。如果从 SSO-组件中去掉那种功能(但在各个OPC UA服务器中可能被再次应用),则该功能必须在 各个OPC UA服务器中重新被实施。另一个、然而并未在附图中示出的对于前述装置和方法的变体可能在于,引入一 种具有作为用于聚集服务器的代理的超级用户的方案。在该变体中,对于到聚集服务器的 客户端-连接的各个构造,采用带有所有下级的OPC UA服务器中数据的所有访问权限的超级用户。这表明,聚集服务器独立于用户-标识符选择用于到下级的OPC UA服务器的连接 的构造的一种特殊的标识符。 这种解决办法促成了聚集服务器中的更简单的用户_管理,但违反了用于最小特 权的一般性的设计规则。此外,如果黑客成功窃取了聚集服务器的会话时则导致了较高的 安全风险。它可能始终具有对所有下 级的OPC UA服务器的访问权。
权利要求
一种方法,用于利用根据标准协议OPC UA的通信来将单点登录机制集成到客户端/服务器系统中,以及用于在这样的系统中实施单点登录以便进行用户认证,其中在所述系统中借助于通信 网络(22)使OPC UA客户端(21)与OPC UA聚集服务器(24)相连接以及使所述OPC UA聚集服务器又与下级的OPC UA服务器(1,2,3)相连接,以及其中 为了集成单点登录机制,所述OPC UA聚集服务器(24)补充有SSO 组件(25)用于将在服务调用的情况下使用的用户 合法性数据(证书)映射到标识符,所述标识符所采取的形式是它们存储在所述下级的OPC UA服务器(1,2,3)中所采取的形式,以及 为了借助于所述SSO 组件(25)实施单点登录,属于服务调用的用户 合法性数据被应用于自动搜索相应映射的标识符以及搜索所涉及的OPC UA服务器(1,2,3),以及对于每个匹配,在相应的OPC UA服务器(1,2,3)中借助于所映射的所述标识符调用活动会话服务,由此建立利用所述用户的所述服务调用对数据的期望访问。
2.如权利要求1所述的方法,其特征在于,为了实施单点登录,基于由OPCUA客户端 (21)出发的服务调用_首先在OPC UA客户端(21)与OPC UA聚集服务器(24)之间借助于符合标准的、在安 全信道服务集和会话服务集中定义的服务来设立安全信道和会话,随后-借助于符合标准的、在会话服务集中定义的活动会话服务调用来为所述OPC UA聚集 服务器(24)提供用户-合法性数据(证书),-将所述服务调用和所述用户-合法性数据传递至所述SSO-组件(25),以及-所述SSO-组件(25)将所述用户-合法性数据用于搜索匹配的存储的所映射 (mapped)用户-标识符以及搜索所涉及的OPC UA服务器(1,2,3),以及对于每个匹配,在 相应的OPC UA服务器(1,2,3)中借助于所映射的所述标识符调用所述活动会话服务。
3.一种客户端/服务器系统,设立所述系统用于根据标准协议OPC UA的通信和用于单 点登录,以及其中-借助于通信-网络(22)使OPC UA客户端(21)与OPC UA聚集服务器(24)相连接以 及使所述OPC UA聚集服务器又与下级的OPC UA服务器(1,2,3)相连接,以及-借助于具有单点登录(SSO)机制的SSO-组件(25)设立所述OPC UA聚集服务器(24) 用于用户认证。
4.根据权利要求3所述的客户端/服务器系统,其特征在于,设立所述SSO-组件(25) 用于访问被存储的、关于在所述OPC UA服务器(1,2,3)中可供使用的所有用户-标识符的 信息以及将所述标识符映射到由用户在所述OPC UA客户端(21)上所使用的标识符。
5.根据权利要求3或4所述的客户端/服务器系统,其特征在于,-设立所述OPC UA客户端(21)和所述OPC UA聚集服务器(24)用于借助于符合标 准的、在会话服务集中定义的活动会话服务调用来为所述OPC UA聚集服务器(24)和所述 SSO-组件(25)提供用户-合法性数据(证书),-设立所述SSO-组件(25)用于使用所述用户_合法性数据以便搜索匹配的所映射 的标识符以及搜索所涉及的OPC UA服务器(1,2,3),以及对于每个匹配,在相应的OPC UA 服务器(1,2,3)中借助于所映射的所述标识符调用所述活动会话服务。
全文摘要
本发明涉及一种方法和一种相应的装置,用于利用根据标准协议OPC UA的通信来将单点登录机制集成到客户端/服务器系统中,以及用于在这样的系统中实施单点登录以便用户认证和授权。在系统中借助于通信-网络(22)使OPC UA客户端(21)与OPC UA聚集服务器(24)相连接并且该OPC UA聚集服务器又与下级的OPC UA服务器(1,2,3)相连接。为了集成单点登录机制,OPC UA聚集服务器(24)补充有SSO-组件(25)用于映射在服务调用的情况下使用的用户-合法性数据(证书)到标识符,所述标识符所采取的形式是它们存储在所述下级的OPCUA服务器(1,2,3)中所采取的形式。为了借助于SSO-组件(25)实施单点登录,属于服务调用的用户-合法性数据用于自动搜索相应映射的标识符以及搜索所涉及的OPC UA服务器(1,2,3),以及对于每个匹配,在相应的OPC UA服务器(1,2,3)中借助于所映射的标识符调用活动会话服务,由此建立了利用用户的服务调用对数据的期望访问。
文档编号H04L29/06GK101971184SQ200980107162
公开日2011年2月9日 申请日期2009年2月5日 优先权日2008年2月26日
发明者S·H·莱特纳 申请人:Abb研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1