服务访问控制的制作方法

xiaoxiao2020-9-10  6

服务访问控制的制作方法
【专利摘要】本发明的实施例提供了一种服务访问控制系统,该系统包括:用于提供服务的服务对象(110,510);消息服务设施(120,14,520);以及一个或多个分支实体(140,530,540),用于访问由所述服务对象(110,510)提供的服务,其中所述消息服务设施(120,14,520)包括各自具有输入地址(220)和输出地址(230)的一个或多个单元(210),其中所述输入地址和所述输出地址中的至少一个经由加密密钥与所述输入地址和所述输出地址中的另一个关联,所述单元(210)提供所述分支实体和与所述单元(210)关联的所述服务对象(110,510)上的功能集合之间的消息传送链路。
【专利说明】服务访问控制

【背景技术】
[0001]在分布式计算系统中,通过计算设备向其它(可能为远程的)客户端计算设备提供服务。已经在许多应用,例如,社交网络、在线数字地图、视频共享网站、协同软件、远程打印等中发现了分布式计算。已将分布式计算环境中的服务提供称为软件即服务(SaaS)。经常期望控制客户端计算设备可访问的服务以及可访问服务的那些客户端计算设备。
[0002]已使用访问控制列表来提供组安全管理。访问控制列表(ACL)提供已授权实体的列表以及系统中的每个对象。访问控制监视器可查看该列表并确定什么实体能够或不能够访问、共享或破坏任意对象。但是,ACL的使用需要合理水平的专门知识,因此不提供控制访问服务的简单方法。此外,ACL的大小与已授权访问系统中对象的设备的数量有关,且会变得更大。

【专利附图】

【附图说明】
[0003]现在将参照附图仅以示例的方式描述本发明的实施例,附图中:
[0004]图1示出根据本发明实施例的系统;
[0005]图2示出根据本发明实施例的单元;
[0006]图3示出根据本发明实施例的消息服务;以及
[0007]图4示出根据本发明实施例的通信信道的图示。

【具体实施方式】
[0008]图1图示根据本发明实施例的用于安全访问服务的系统。为了阐释本发明的原理,示例系统将参照由设备支持或提供的访问功能来描述。该设备可为硬件设备,例如打印机、移动电话、平板电脑、个人电脑、联网的打印机、TV机顶盒或可提供一种或多种服务的其它设备。应意识到,在本发明的一些实施例中,该一种或多种服务可通过诸如例如聊天或社交媒体、视频共享或协同软件对象之类的软件对象来提供。因此,本文所用的术语“对象”可指硬件设备或软件对象。为了描述本发明的实施例,该系统将参照向一个或多个用户提供打印服务的联网打印机来解释。用户可利用远程连接的设备,例如可操作地驻留在智能电话上的打印应用,来访问打印机所提供的服务。但是,应意识到,这仅仅是说明性的。
[0009]该系统包括中心(hub)设备110,中心设备110是提供一种或多种服务的对象。在说明性的示例中,中心设备110是上面提到的打印机。该系统还包括组消息系统(GMS)服务器120、主机130以及分支(spoke)设备140,分支设备140是访问中心设备110所提供的至少一些服务的设备,例如上面所提到的移动电话。尽管参照中心设备110和分支设备140描述了本发明的实施例,但是应意识到,本发明的实施例可设想为包括仅一个中心设备110和一个分支设备140。
[0010]GMS 120为有助于安全消息传送的中心消息设施。如所解释的,GMS 120提供单个设备和设备组之间的安全消息传送设施。具体地,GMS 120提供具有输入地址和输出地址的一条或多条通信链路,其中输入地址和输出地址中的至少一个经由加密密钥与输入地址和输出地址中的另一个关联。输入地址和输出地址为随机数,使得分支设备140仅知道输入地址,且不能计算链路的输出地址。中心设备110接收来自链路的输出地址的通信,该通信由分支设备140发送到输入地址。
[0011]主机130包括中心和分支消息传送拓扑(HSMCT)管理器135和策略组操控器(PGM) 136。主机130可被实现在中心设备110中,或者可由中心设备110通过诸如因特网之类的网络访问且被实现在至少一个远程服务器上。为了解释的目的,主机130将被描述为作为云服务来实现,云服务可由中心设备110的用户通过中心设备110的接口访问,中心设备110与HSMCT管理器135通信,并因而经由合适的API与PGM 136通信。例如,中心设备110可支持允许用户访问HSMCT管理器135的网页浏览器。还应意识到,用户还可不通过使用中心设备110(即经由另一个设备所支持的网页浏览器)访问HSMCT管理器135。在其它实施例中,HSMCT管理器135和PGM 136可集成到单个实体中。
[0012]如图3中所示的,HSMCT管理器135经由中心设备110由用户控制,以使PGM 136创建一个或多个策略组150。策略组150被提供用于控制对中心设备110的服务的访问。具体地,策略组控制哪些分支设备140可访问中心设备110所提供的服务,以及控制可由那些分支设备140访问的中心设备110的服务。
[0013]每个策略组150通过策略组名来识别,并且也可与策略组描述相关联。策略组名和策略组描述允许用户识别策略组150和策略组的目的。例如,可为打印机110建立具有策略组名“家人”和“朋友”的策略组。相关联的描述可识别用户,例如,“家人”策略组的成员被允许访问由打印机110提供的彩色打印服务,而“朋友”策略组的成员仅能够访问由打印机110提供的黑白打印服务。策略组名和描述可由用户在任意时间变更,只要不影响策略组的操作,或无需将改变传送给分支设备140。
[0014]每个策略组包括f_集合115以及中心和分支消息传送拓扑HSMCT 125。f-集合115通过中心设备110逻辑地连接至HSMCT 125。如将解释的,HSMCT 125安全地控制分支设备140、中心设备110以及驻留在中心设备110上的f-集合115之间的消息传送。f-集合115限定可在中心设备110上访问哪些功能,且因此表示中心设备110上可由策略组150的成员访问的功能集合。中心设备110的功能可通过中心设备110的用户访问HSMCT管理器125被增加到f-集合115或从f-集合115移除。
[0015]HSMCT 125限定可访问在关联的f_集合115内包括的功能的零个或多个分支设备140。中心设备110的用户可经由HSMCT管理器135向HSMCT 125增加分支设备140,或从HSMCT 125移除分支设备140。每个分支设备140可通过唯一的识别信息,例如与分支设备140关联的公共密钥、系统账户名、移动电话号码等,被唯一地识别给HSMCT 125。因此,如果分支设备140包括在HSMCT 125中且功能包括在对应的f_集合115内,则分支设备140能够访问中心设备110的功能,例如彩色打印功能。
[0016]HSMCT 125为允许在分支设备140和与HSMCT 125关联的f-集合115之间进行消息传送的结构。HSMCT 125限定由GMS 120实现的允许分支设备140与中心设备110通信的消息传送交换台。具体地,HSMCT 125允许分支设备140访问中心设备110上的功能的f_集合115。HSMCT 125使用称作单元的低等级数据结构。如将解释的,单元具有随机的输入地址和随机的输出地址,其中输出地址可利用加密密钥根据输入地址加密计算出,或反之亦然。以此方式,未授权的设备不知晓有效的输入地址,且不能在没有加密密钥的情况下计算输出地址。知晓输入地址被假定为有权访问f_集合115所限定的功能。
[0017]名称为“Access Control (访问控制)”的申请PCT/IN2011/000257 (其通过引用整体合并于此)公开了一种访问控制系统,该系统包括用于许多客户端之间的分布式消息传递系统的可信微内核。该系统包括单元210,图2中示出单元210中的一个,其可接收来自输入地址(IA) 220的数据,并从输出地址(OA) 230发送数据,输入地址(IA) 220和输出地址(OA) 230均通过加密数字被随机化。单元210表示由数组(IA,0A)描述的通信能力,使得在不拥有内核所拥有的秘密的加密密钥的情况下,知道输入地址220不能计算出输出地址230,且知道输出地址230不能计算出输入地址220。
[0018]拥有输入地址(IA) 220的用户或实体可向单元210发送消息或写消息到单元210,且拥有输出地址(0A)230的实体可从单元210接收或读取消息。但是,在没有输出地址(OA) 230的情况下,拥有输入地址(IA) 220的实体不能从该单元接收或读取消息,且在没有输入地址(IA) 220的情况下,拥有输出地址(OA) 230的实体不能向该单元发送消息或写消息到该单元。
[0019]名称为“A Communicat1n Access Control System(通信访问控制系统)”的申请PCT/IN2011/000731(其通过引用整体合并于此)公开了一种系统,该系统包括可信的中心消息服务设施14,图3中示出了设施14的实施例。消息服务设施140提供分散的消息服务和控制服务,使得客户端能够在不受可信中心设施干扰的情况下创建并管理多个组,并对通信分组。
[0020]消息服务(MS)设施14可通过包括处理器40和数据存储器42的硬件设备来实现。
[0021]中心设施包括如上面讨论的多个单元34、34’、34",各单元在需要时基于多种加密规则被动态创建。设施14包括一个或多个主密钥38、38’、38",该主密钥被用于根据IA220计算例如OA 230。拥有输入地址IA 220的用户或实体可向单元34发送消息或写消息到单元34,且拥有输出地址OA 230的实体可从单元34接收或读取消息。但是,在没有输出地址OA的情况下,拥有输入地址IA的实体不能从该单元接收或读取消息,且在没有输入地址IA的情况下,拥有输出地址OA的实体不能向该单元发送消息或写消息到该单元。以此方式,中心设施14为用户提供发送到随机单元的消息会被丢弃而永远不会被读取的保证。每个单元34为虚拟的交换台,中心设施的用户可使用该交换台虚拟地连接或断开其计算设备。
[0022]MS设施14还包括消息服务44和控制服务46。消息服务44允许客户端向一个或多个其它客户端发送消息。控制服务46允许客户端12执行通信控制(例如,读控制和/或写控制)。消息服务22至少包括转发器48和队列36,以及写入转发器48和从队列36读取的一组查询。转发器48包括计算机可读指令,该计算机可读指令复制在转发器48处接收的消息,并向链接至转发器48的多个单元34、34’、34"发送所复制的消息。转发器48使用户12能够生成单条消息并使其向多个不同的单元34、34’、34"发送。转发器48与可附接至相同或不同类型的一个或多个单元34、34’、34"的输入地址的转发器地址关联。队列36包括计算机可读指令(编码在非暂时性、有形的计算机可读介质上),该计算机可读指令从相同或不同类型的一个或多个单元34、34’、34"获取被发送至与队列36关联的单元34、34’、34"的消息。队列36使用户12能够从多个不同的单元34、34’、34"获取已发送的它的所有消息。控制服务46限定单元34、34’、34"、队列36和转发器48之间的链路以及用于增加、移除及发现这些链路的该组查询。可在各单元之间直接或间接形成各种链路,因此,使形成包含不同用户以及在一些实例中包含不同设备的组成为可能。还可通过消息设施14提供设备到设备的通信,即单播通信。消息设施14在本发明实施例中由GMS 120实现。
[0023]HSMCT 125限定中心设备110和每个分支设备140之间的单播通信路径。对于每个分支设备140,单播通信路径包括一对各自由对应的单元210实现的单向通信信道。单播通信路径允许分支设备140和f-集合115之间的通信,以访问中心设备110上的功能。HSMCT 125还可限定中心设备110和分支设备140之间的多播通信路径。为了实现多播通信,HSMCT 125限定策略组150的包括中心设备110和分支设备140的组。多播通信允许中心设备110以多播的方式向与HSMCT 125关联的分支设备140传送信息。多播通信路径还可允许各分支设备140向与HSMCT 125和中心设备110关联的其它分支设备广播信息。
[0024]中心设备110通过生成一个或多个对应的单元210在HSMCT 125中创建单播读和写地址而向HSMCT 125增加分支设备140。如将解释的,中心设备110还可在HSMCT 125上创建分支设备140的读和/或写多播地址中的一个或两个。中心设备110还可在HSMCT125上创建分支设备140的写多播地址。该地址可通过中心设备110与HSMCT管理器135通信来创建。HSMCT管理器135因此通过向GMS 120发送获取单元查询消息以引起各自具有IA 220和OA 230的一个或多个单元210的创建,来控制PGM 136与GMS 120通信。然后,例如通过经由带外信道向分支设备140传送诸如IA 220之类的必要地址以与f_集合115通信。还可向中心设备110传送该必要地址,例如,输入地址的对应的OA 230。带外信道可为例如电子邮件或经由GMS 120本身。
[0025]GMS 120可响应于接收到的获取单元查询消息在HSMCT 125中创建单元。GMS 120可以伪随机的方式,例如通过使用加密的安全伪随机比特发生器(PRBG)来创建单元的IA220或OA 230中的一个。说明性地,GMS 120可使用PRBG创建OA 230。随后,IA 220基于OA 230被创建。IA 220为随机化的输入地址,该地址在一些实施例中可利用对称密钥加密方法(例如,具有256位密钥大小的美国国家标准与技术研究所的高级加密标准(AES256))生成。IA可根据下式生成:
[0026]IA = E (K, 0A)
[0027]其中,E为对称加密方法,并且K为GMS 120所拥有的系统主密钥。
[0028]可替代地,IA 220或OA 230中的一个可基于与分支设备140关联的公共密钥计算出。与分支设备140关联的公共密钥可由GMS 120获得。利用该公共密钥,GMS 120可基于该公共密钥使用哈希函数计算IA 220或OA 230中的一个。然后,IA 220或OA 230中的另一个可使用对称密钥加密方法和系统主密钥K如上所述被计算。
[0029]中心设备110还可通过从HSMCT 125删除所创建的该分支的地址来撤销分支设备140的访问。因此,中心设备110能够控制分支设备140经由HSCMT 125与策略组150的f-集合115通信的能力。
[0030]图4图示根据本发明实施例的示例性系统。该示例性系统包括具有公共密钥511和集合515的中心设备510、支持策略组的HSMCT 425的GMS 520、以及各自具有对应的公共密钥531、541的两个分支设备530、540。应意识到,该系统可包括其它数目的分支设备。
[0031]HSMCT 425包括允许在分支设备530、540和中心设备510之间通信的两对单元410、420、430、440。第一对单元410、420允许第一个分支设备530与中心设备510之间的通信,使得第一分支设备530可访问具有包括在策略组的f-集合515内的功能的服务。第一对单元410、420包括被设置在相对方向的两个单向单元。类似地,第二分支设备540与两个单向单元430、440关联,使得第二分支设备540可访问包括在f_集合515内的服务。
[0032]HSMCT 425还包括组单元结构450。组单元结构450通过GMS 520上的适当连接的单元形成。在图4示出的示例中,组单元结构450允许分支设备530、540向该组单元结构写入,使得消息被广播到其它分支设备530、540以及中心设备510,且还使得中心设备510可向所有分支设备530、540广播消息。但是,在其它实施例中,分支设备530、540可仅具有对广播单元结构450的读访问,以接收从中心设备510广播的消息。
[0033]如引用文献中所解释的,HSMCT 425的组单元结构450被形成为以HSMCT(图4中未示出)作为组管理器的受管理组。为了建立该组,HSMCT管理器135接收中心设备510以及分支设备530、540的公共密钥511、531、541。HSMCT管理器135向GMS 520发送组创建请求,该请求包含待增加到该组的读以及待增加到该组的写的公共密钥511、531、541,以及HSMCT管理器的公共密钥。组创建请求还可包含如引用文献中所解释的挑战应答,以确保该请求是新的。响应于组创建请求,GMS 520针对该组创建具有随机化的输入IAe。和输出OAec地址的组单元(GC)。然后,针对该组的每个写创建单元(称为组写单元(GWC)),并且针对该组的每个读创建单元(称为组读单元(GRC))。GWC和GRC具有随机化的输入和输出地址。还针对HSMCT管理器、中心设备510创建管理器单元(MC)。然后,GWC被连接至GC520,使得发送至GWC的任何消息被发送至GC的输入地址IAe。。类似地,组单元的输出地址OAgc被连接至GRC的输入地址,使得从GC输出的消息被发送至GRC。管理器单元由HSMCT管理器135使用来编辑该组的成员。更多细节在引用文献中提供。
[0034]HSMCT 425建立之后,信息的集合被发送至分支设备530、540、中心设备510以及HSMCT管理器135中的每个。该信息包含读和写地址,以用于分支设备530、540与中心设备510之间以及与HSMCT管理器135之间的单播和多播通信。
[0035]在图4示出的示例性系统中,每个分支设备530、540存储分支地址信息,以用于经由HSMCT 425与中心设备510通信。分支HSMCT地址信息包括分支发送地址、分支接收地址、分支多播发送地址、分支多播接收地址。每个分支设备530、540的分支地址信息被安全地存储为该分支地址的秘密。因此,对于第一分支设备530,分支发送地址为单元410的IA,分支接收地址为单元420的0A,分支多播发送地址为组单元结构450的IA,且分支多播接收地址为组单元结构450的0A。分支地址信息可被存储为如下数组:分支_HSMCT_地址:=(分支发送地址,分支接收地址,分支多播接收地址,分支多播发送地址)。
[0036]类似地,中心设备510存储包括HSMCT 425的地址、发送和接收多播地址以及每个分支设备530、540的发送和接收地址的中心地址信息。中心HSMCT地址信息可被存储为以下形式的地址数组:中心_HSMCT_地址:=(HSMCT地址,多播发送地址,多播接收地址,{(分支名,发送地址,接收地址)}。HSMCT地址是仅为中心设备管理HSMCT 425所知的秘密。多播发送和接收地址对于分支设备具有相同的功能。中心设备510使用相应的分支发送和接收地址与分支设备530、540通信。中心地址信息为中心设备的秘密。
[0037]如图4中所示的,中心510以及分支设备530、540中的每个具有公共密钥511、531、541。公共密钥可为未审核的。公共密钥用于允许HSMCT地址到该设备的安全传送,例如,从中心设备510到分支设备530、540的安全传送。
[0038]图4的系统可在分支设备530、540与中心设备510之间运行各种应用协议,以支持f_集合515中限定的多种功能。示例性应用协议为中心设备510所支持的打印、聊天、文件存储及访问。
[0039]本发明的实施例使得能够控制访问服务对象(例如,硬件设备或软件对象)上的功能。访问通过将客户端实体(例如,分支设备)增加到与服务对象的功能集合关联的策略组或移除该客户端实体而被控制。一个以上的策略组可被创建,以使得不同组的客户端实体能够访问服务对象上的不同组的功能。
[0040]应理解,本发明的实施例可以硬件、软件、或硬件和软件的结合的形式来实现。任何这样的软件可以易失性或非易失性存储器的形式被存储,例如,像ROM这样的存储设备(可擦除或可重写或不可擦除或不可重写),或以存储器的形式被存储,例如RAM,存储器芯片、设备或集成电路,或被存储在光或磁可读介质上,例如,CD、DVD、磁盘或磁带。应理解,存储设备和存储介质为适合于存储一个或多个程序的机器可读存储器的实施例,该一个或多个程序被执行时实现本发明各的实施例。因此,实施例提供包括用于实现前述任一权利要求中所要求的系统或方法的代码的程序、和存储这种程序的机器可读存储器。更进一步,本发明的实施例可经由任何介质(例如,有线或无线连接上承载的通信信号)电传送,且实施例适当地包括该介质。
[0041]此申请文件(包括任意所附的权利要求、摘要和附图)中公开的所有特征、和/或所公开的任意方法或过程中的所有步骤,可以任意结合来结合,除了这些特征和/或步骤中的至少一些互相排斥的结合。
[0042]除非另有明确规定,否则此申请文件(包括任意所附的权利要求、摘要和附图)中公开的每个特征可由用于相同、等同或类似目的的可替代特征所替换。因此,除非另有明确规定,否则所公开的每个特征仅为上位的一系列等同物或类似特征中的一个示例。
[0043]本发明不受限于任意前述实施例的细节。本发明扩展至此申请文件(包括任意所附的权利要求、摘要和附图)中公开的特征中的任意新的一个或任意新的结合,或扩展至所公开的任意方法或过程的步骤中的任意新的一个或任意新的结合。权利要求应被解释为不仅涵盖前述实施例,而且涵盖落入权利要求的范围内的任意实施例。
【权利要求】
1.一种服务访问控制系统,包括: 服务对象(110,510),用于向一个或多个分支实体提供服务; 消息服务设施(120,14,520); 其中所述消息服务设施(120,14,520)包括各自具有输入地址(220)和输出地址(230)的一个或多个单元(210),其中所述输入地址和所述输出地址中的至少一个经由加密密钥与所述输入地址和所述输出地址中的另一个关联,所述单元(210)提供所述分支实体和与所述单元(210)关联的所述服务对象(110,510)上的功能集合之间的消息传送链路。
2.根据权利要求1所述的服务访问控制系统,其中所述消息服务设施被设置为接收有效单元(210)输入地址处的请求服务的消息,利用所述加密密钥计算所述输出地址,并经由所述输出地址向所述服务对象(110,510)转发所述消息,使得所述服务对象(110,510)将所请求的服务提供给所述分支实体。
3.根据权利要求1或2所述的服务访问控制系统,其中所述消息服务设施包括与每个分支设备(140,530,540)关联的第一单元和第二单元,其中所述第一单元的输入地址和所述第二单元的输出地址被存储在与所述分支实体(140,530,540)关联的存储器中。
4.根据权利要求3所述的服务访问控制系统,其中所述第二单元的输入地址和所述第一单元的输出地址被存储在与所述服务对象(110,510)关联的存储器中。
5.根据任意前述权利要求所述的服务访问控制系统,其中所述消息服务设施包括被设置为向所述一个或多个分支实体(140,530,540)广播所接收到的消息的组结构(450)。
6.根据所述的服务访问控制系统,其中所述组结构的输入地址被存储在与所述服务对象(110,510)关联的存储器中,使得所述服务对象(110,510)可向所述一个或多个分支实体(140,530,540)广播消息。
7.根据任意前述权利要求所述的服务访问控制系统,包括一个或多个策略组(150),所述一个或多个策略组(150)各自与所述消息服务设施的一个或多个单元以及所述服务对象(110,510)的功能集合关联,其中所述策略组单元被设置为允许在具有所述单元的有效输入地址的分支设备与所述服务对象(110,510)的功能之间的消息传送。
8.根据权利要求7所述的服务控制系统,包括第一策略组和第二策略组,其中所述第一策略组与所述服务对象(110,510)的第一子集功能关联,且所述第二策略组与所述服务对象(110,510)的第二子集功能关联。
9.根据权利要求8所述的服务控制系统,其中所述第一策略组包括允许第一分支实体与所述第一子集功能通信的单元,且所述第二策略组包括允许第二分支实体与所述第二子集功能通信的单元。
10.一种访问服务的方法,包括: 在消息服务设施(120,14,520)的单元(210)的输入地址处接收来自分支实体(140,530,540)的请求服务的消息; 基于所述输入地址和加密密钥确定所述单元(210)的输出地址,并经由所述输出地址向服务对象(110,510)转发所述消息; 确定所述消息所请求的所述服务是否被限定在所述服务对象(110,510)的功能集合内,且如果是,则响应于所述消息提供所述服务。
11.根据权利要求11所述的方法,其中所述消息是从具有所述单元(210)的所述输入地址的分支实体接收的。
12.根据权利要求10或11所述的方法,包括: 在所述消息服务设施(120,14,520)中生成通信拓扑,所述通信拓扑包括具有输入地址和输出地址的至少一个单元(210),其中所述输入地址和所述输出地址中的至少一个经由所述加密密钥与所述输入地址和所述输出地址中的另一个关联,所述单元(210)与分支实体关联; 限定服务对象上的功能集合,所述功能集合与所述通信拓扑关联; 其中所述通信拓扑被设置为将请求所述服务的所述消息路由至所述服务对象(110.510)上的所述功能集合。
13.根据权利要求12所述的方法,包括: 增加第二分支实体到所述通信拓扑,其中所述增加包括:生成与所述第二分支实体关联的至少一个单元(210),以将来自所述第二分支实体的请求服务的消息路由至所述服务对象(110,510)上的与所述通信拓扑关联的所述功能集合。
14.根据权利要求12或13所述的方法,包括:如果所述服务未被提供在与所述通信拓扑关联的所述功能集合内,则拒绝请求服务的消息。
15.根据权利要求10至13中任一项所述的方法,包括: 在所述消息服务设施的单元(210)的所述输入地址处接收来自所述服务对象(110.510)的消息; 基于所述输入地址和所述加密密钥确定所述单元(210)的所述输出地址;以及经由所述输出地址向分支实体转发所述消息。
【文档编号】H04W12/00GK104255048SQ201280072719
【公开日】2014年12月31日 申请日期:2012年4月27日 优先权日:2012年4月27日
【发明者】阿南塔兰加查·拉古, 维斯瓦纳坦·卡帕利斯瓦兰 申请人:惠普发展公司,有限责任合伙企业

最新回复(0)