安全策略作为服务的制作方法

文档序号:21888884发布日期:2020-08-18 17:37阅读:211来源:国知局
安全策略作为服务的制作方法

一些实施例与安全策略相关联。具体地,一些实施例提供安全策略的自动化实现作为服务。



背景技术:

企业可以让实体(例如,雇员或客户)访问和/或更改信息。例如,企业可以允许员工通过应用访问财务信息、销售数据、人力资源文件等。通常,企业可以实现“安全策略”以允许不同的实体以不同的方式访问和/或更改此信息。例如,一些客户可能被允许通过该应用上传信息,而另一些客户只能查看该信息。这些安全策略通常被直接写入应用。然而,这种方法可能是一个耗时且容易出错的处理,特别是当存在大量安全策略选项时。此外,对安全策略的改变可能需要重写大量应用以支持改变。

因此,期望提供一种有助于以准确且有效的方式将安全策略的自动实现作为服务的系统和方法。



技术实现要素:

根据一些实施例,提供一种有助于以准确且有效的方式将安全策略的自动实现作为服务的系统、方法、装置、计算机程序代码和模块。在一些实施例中,安全模型数据存储库可以包含多个潜在安全策略,每个潜在安全策略可以由多个外部应用访问。安全规范数据存储库可以包含多个潜在安全规范,每个潜在安全规范可以由多个外部应用访问。安全策略引擎计算机平台可以从外部应用接收标识安全策略包的指示。然后,安全策略引擎可以基于接收的指示从安全策略数据存储库中检索潜在安全模型之一。类似地,安全策略引擎可以基于接收的指示从安全规范数据存储库中检索潜在安全规范之一。然后,安全策略引擎可以安排针对外部应用实现的安全策略包,该安全策略包与检索的潜在安全模型和检索的潜在安全规范相关联。

一些实施例包括:用于安全策略引擎计算机平台从外部应用接收标识安全策略包的指示的模块;用于安全策略引擎计算机平台基于接收的指示从安全策略数据存储库中检索潜在安全模型的模块,其中,安全模型数据存储库包含多个潜在安全策略,每个潜在安全策略由多个外部应用可访问;用于安全策略引擎计算机平台基于接收的指示从安全规范数据存储库中检索潜在安全规范的模块,其中,安全规范数据存储库包含多个潜在安全规范,每个潜在安全规范由多个外部应用可访问;以及用于安全策略引擎计算机平台安排针对外部应用实现的安全策略包的模块,所述安全策略包与检索的潜在安全模型和检索的潜在安全规范相关联。

在一些实施例中,与安全策略引擎关联的通信设备交换与一个或多个安全策略包有关的信息。可以例如经由公共和/或专有通信网络来交换信息。

本发明的一些实施例的技术效果是有助于以准确且有效的方式将安全策略的自动实现作为服务的改进和计算机化的方式。根据以下将变得显而易见的这些和其他优点和特征,通过参照以下详细描述和所附附图,可以获得对本发明性质的更完整的理解。

附图说明

图1是安全策略图。

图2是特定大学应用的安全策略图的示例。

图3是根据一些实施例的安全策略实现系统的框图。

图4示出根据一些实施例的安全策略实现方法。

图5是根据一些实施例的安全策略作为服务装置。

图6是根据一些实施例的安全策略作为服务解决方案图。

图7示出根据一些实施例的通用架构的使用。

图8是根据一些实施例的用户界面显示。

图9是根据一些实施例的装置或平台的高层图。

图10是根据一些实施例的安全策略包数据库的一部分。

图11是根据一些实施例的安全策略作为服务实现。

图12示出根据一些实施例的手持式平板计算机。

具体实施方式

提供以下描述以使本领域的任何技术人员能够制造和使用所描述的实施例,并且阐述了预期用于执行一些实施例的最佳模式。然而,各种修改对于本领域技术人员而言仍将是显而易见的。

企业可以让实体(例如,雇员或客户)访问和/或更改信息。例如,企业可以允许员工通过应用访问财务信息、销售数据、人力资源文件等。通常,企业可以实现“安全策略”以允许不同的实体以不同的方式访问和/或更改此信息。例如,一些客户可能被允许通过该应用上传信息,而另一些客户只能查看该信息。

图1是安全策略图100。如图100所示,应用成员可以访问与安全模型120和安全规范130相关联的应用110。注意,任何软件应用110可以实现被设计为“防弹”的组件以处理安全策略。如果没有这样的组件,应用110可能很脆弱,并且无法保护数据和服务免受未经授权的访问(与以机密和集成方式可获得信息相比)。在本文中,短语“安全模型”120可以指任何抽象模型,该模型定义如何考虑到公司的使用、客户和约束来保护数据和服务的安全。

例如,考虑图2,其是特定大学应用210的安全策略图200的示例。在此,安全模型220可能需要描述安全策略的模型以及应用的实体、约束和业务对象的结构。一种这样的安全模型220是“基于角色的安全模型”,其中用户需要具有访问实体的角色。例如:

·角色定义

о学生

о教授

о…

·实体

о讲座

о课程

о…

再次参照图1,安全规范130可以表示基于安全模型定义的规则和许可(授权)的列表。在图2的示例图200中,大学应用210的安全规范230可能包括:

·学生可以参加课程a

·学生无法更新或修改成绩

·教授可以开设一门新课程

请注意,每个应用可以要求其安全策略的不同实现,包括适当的安全模型和安全规范。定义这种安全策略涉及很多方面,这会使任务变得非常复杂。仅作为示例,企业可能希望考虑安全策略基于强制性还是基于自由裁量方法。在强制性模型中,如果用户有权访问特定类,则他或她能够访问该类中的所有对象,并且授权可以被集中保持。相比之下,可以在“需要知道”的基础上创建自由裁量模型,使得实体的所有者决定谁能够访问对象(例如,类似于今天的操作系统)。另一个考虑可以是安全策略是打开还是关闭。在打开策略中,用户可以访问所有对象。在关闭策略中,用户默认无法访问任何对象。关于安全是否基于对象名称、对象内容和/或对象上下文,以及策略是否基于单个用户、组或角色,可以做出其他决定(例如,如果策略基于组,则用户成为组的一部分就足以被授予访问权限,而在基于角色的策略中,用户可能需要在被允许访问数据之前先获得角色。

由于这些类型的考虑和决定,实现安全策略可能是一项复杂的任务(例如,通常没有足够的时间来涵盖所有用例),并且正确设计策略通常需要高级安全技能集(例如,了解所有安全方面的安全专家为特定应用开发防弹模型)。此外,任务是有风险的(因为设计或实现中的错误可能导致漏洞和数据丢失)和耗时的(因为可能需要关于应用的详细知识才能正确实现)。还要注意,安全策略通常不能被其他应用重用。即使安全策略在理论上可以适合多个应用,也不能在不同的技术和/或部署约束之间共享特定实现。此外,改变安全策略需要大量的精力并更新以进行应用升级,并且对于大型公司而言,许多不同的实现在没有任何通用安全框架的情况下利用了不同的安全策略。这可能使得难以管理安全策略以确保它们符合公司安全准则。

因此,期望提供一种有助于以准确且有效的方式将安全策略的自动实现作为服务(“spaas”)的系统和方法。图3是根据一些实施例的安全策略实现系统300的框图。特别地,系统300包括安全模型数据库310(例如,包含与潜在安全模型相关联的电子记录)、安全规范数据库320(例如,包含与潜在安全规范相关联的电子记录)、安全策略引擎350以及远程操作员或管理员计算机360。根据一些实施例,安全策略引擎350可以提供spaas,spaas从外部应用(例如,移动应用)接收链接或标识符。基于接收的信息,安全策略引擎350可以从安全模型数据存储库310和安全规范数据存储库320访问适当的信息,以为外部应用实现适当的安全策略。安全策略引擎350可以例如与个人计算机(“pc”)、膝上型计算机、企业服务器、服务器场和/或数据库或类似的存储设备相关联。

如本文中所使用的,包括与安全策略引擎350相关联的那些设备和本文中所描述的任何其他设备的设备可以经由任何通信网络来交换信息,该通信网络可以是电话网络、局域网(“lan”)、城域网(“man”)、广域网(“wan”)、专有网络、公共交换电话网(“pstn”)、无线应用协议(“wap”)网络、蓝牙网络、无线lan网络和/或互联网协议(“ip”)网络(诸如internet,intranet或extranet)中的一个或多个。注意,本文描述的任何设备可以经由一个或多个这样的通信网络进行通信。根据一些实施例,“自动”安全策略引擎350可以提供spaas。如本文所使用的,术语“自动”可以指例如可以在很少或没有人为干预的情况下执行的动作。

安全策略引擎350可以将信息存储到数据库中和/或从数据库中检索信息(例如,在安全模型数据存储库310和/或安全规范数据存储库310处)。数据库可以是例如本地存储的关系数据库,或者物理上位于安全策略引擎350的远程。术语“关系”可以指例如数据项的集合,这些数据项被组织为一组正式描述的表,从表中可以访问数据。此外,关系数据库管理系统(“rdbms”)可以与本文描述的任何数据库表结合使用。根据一些实施例,图形操作员界面可以提供经由远程设备360访问和/或修改系统300的元素的能力。操作员界面可以例如让操作员或管理员分析安全策略性能,管理安全策略创建和/或转变等。

注意,在系统中可以包括任何数量的安全策略引擎350。此外,根据本发明的实施例,可以组合本文描述的各种设备。例如,在一些实施例中,安全策略引擎350和安全模型数据存储库310可以位于同一位置和/或可以包括单个装置。此外,本文描述的功能可以在基于云的环境中实现和/或由服务提供商来实现(例如,为一个或多个企业、部门或商业执行服务)。

图4示出根据本发明的一些实施例的可以由关于图3描述的系统300或任何其他系统的一些或全部元件执行的安全策略实现方法400。本文描述的流程图并不意味着步骤的固定顺序,并且本发明的实施例可以以任何可行的顺序来实践。注意,本文描述的任何方法可以由硬件、软件或这些方法的任何组合来执行。例如,计算机可读存储介质可以在其上存储指令,当这些指令由机器执行时,其导致根据本文描述的任何实施例的执行。

在s410,安全策略引擎计算机平台可以从外部应用接收标识安全策略包的指示(例如,标识符、链接或任何其他指示)。在s420,安全策略引擎计算机平台可以基于接收的指示从安全策略数据存储库中检索潜在安全模型,其中,安全模型数据存储库包含多个潜在安全策略,每个潜在安全策略可以被多个外部应用访问。安全模型数据存储库可以包含,例如,客户安全模型、安全模型模板、可插拔组件等。根据一些实施例,潜在安全模型包括角色定义和/或实体。潜在安全模型可以与例如授权(take-grant)模型、基于属性的访问控制、bell-lapadulla协议、长城模型或任何其他访问控制协议相关联(如参照图5更详细地描述)。

在s430,安全策略引擎计算机平台可以基于接收的指示从安全规范数据存储库中检索潜在安全规范,其中,安全规范数据存储库包含多个潜在安全规范,每个潜在安全规范可以被多个外部应用访问。安全规范数据存储库可以包含例如客户安全模型、安全模型模板、可插拔组件等。潜在安全规范中的至少一个可以与例如医疗保健应用、财务应用、软件应用、教育应用或任何其他企业应用相关联。根据一些实施例,潜在安全规范中的至少一个与规则和许可的列表相关联。在s440,安全策略引擎计算机平台然后可以安排要为外部应用实现的安全策略包(安全策略包与检索的潜在安全模型和检索的潜在安全规范相关联),从而提供spaas。

图5是根据一些实施例的spaas设备500,提供用于为外部应用实现安全策略的统一框架。一些实施例可以将安全策略模型510和规范530分离为具有预定义和众所周知的实现(通过模板)的可插拔组件,和/或针对特定场景和用例开发自定义组件。

安全策略引擎550可以负责解决方案的核心实现。安全策略引擎550可以连接到系统的数据库560,并与自定义实现一起管理安全模型和规范模板。根据一些实施例,web用户界面570可以为安全设计师充当引擎550的前端,从而允许他们管理安全模型和规范、创建自定义解决方案、设计新的安全模板、将包分配给解决方案(例如,使用相同安全包的应用集合)等。根据一些实施例,可以为众所周知的、预定义的标准安全模型和/或规范创建安全模板。系统500可以例如定义描述安全模板的方案,以使系统500管理任何现有的或新的实现。

根据一些实施例,安全模型580可以与harrison、ruzzo、ullman(“hru”)实现(处理系统中的访问权限的完整性的操作系统级计算机安全模型)相关联。hru模型定义由通用权限r集合和命令c集合组成的保护系统。对该系统的描述被称为配置,并被定义为当前主体s、当前对象o和访问矩阵p的元组(s,o,p)。作为另一个示例,安全模型可能与强制性访问控制(“mac”)实现相关联,在该实现中,用户不具有覆盖策略的授权(相反,策略完全由安全策略管理员集中控制)。还有其他安全模型可以与自由裁量访问控制(“dac”)实现(用户对其拥有的所有资源拥有完全的授权,并也确定用于其他用户的许可)或基于角色的访问控制(“rbac”)实现(角色由系统管理员静态分配,并且访问取决于角色)相关联。安全规范510可以与医疗保健应用、金融移动应用、软件、教育软件包等相关联。

图6是根据一些实施例的安全策略作为服务解决方案图600。在此,spaas610创建安全策略包612、614、616。每个包612、614、616是安全模型和安全规范的逻辑组,它们本质上定义能够被分配给解决方案622、624的安全策略。安全策略引擎可以期望对安全模型和规范(本质上是包)的通用架构定义。这允许使用模板、自定义实现等来混合和匹配不同模型和规范。

图7示出根据一些实施例的通用架构700的使用。该架构包括包710和应用720。根据一些实施例,为应用720提供安全策略软件开发工具包(“sdk”)730,以在应用720和分配的安全策略包710(由特定安全模型和规范组成)之间进行集成。注意,sdk730可以与软件开发工具集合相关联,软件开发工具允许为软件包或框架、硬件平台、计算机系统、操作系统等创建外部软件应用。当引入新的安全模型时,sdk730的扩展名已更新,因此该应用可以无缝运行于任何模式或规范而无需代码改变。

sdk730可以公开api,供开发人员在无论何时应用中需要时参考实际安全实现来执行授权检查。结果,可以在无需改变应用的情况下自由更新安全性实现(也就是说,系统确实需要重新部署、升级等)。sdk730可以与模型扩展732、授权检查处理器734和授权检查740相关联。

因此,实施例可以提供一种管理安全策略(由安全模型和安全规范组成)的系统,安全策略能够被部署在不同平台上的不同应用或产品共享和重复使用。每个潜在安全模型和安全规范可以被保持在由所有者拥有的数据库中(所有者可以管理访问控制)。这样的系统允许安全模型和/或安全规范的共享,并且每个组件的所有者可以控制其共享选项。注意,作为通用解决方案,可以使用任何技术平台和/或任何数据库方案来实现系统。例如,可以以任何传输数据方案(例如,可扩展标记语言(“xml”)、javascript对象表示法(“json”)、文本文件、人类可读数据等)来描述安全模型和规范的定义。此外,可以通过云来部署安全管理系统,或者能够基于需求和环境约束维护本地(on-premise)系统。一些实施例可以不强制执行特定通信协议。这允许使用集中式或分散式(点对点)通信协议(每个通信协议基于公司的要求具有优势)。

根据一些实施例,可以提供安全模型和规范生态系统。例如,作为可插拔组件,可以使用专用商店来使安全模型和规范商业化。此外,可以添加社交功能,诸如社区评级、公共评论和安全级别排名或得分(使用官方标准安全证书级别)。例如,公司可能需要开发人员仅使用特定安全模型和规范来帮助使管理安全性实现成为一个简单的过程。

根据一些实施例,可以选择定义良好且经过验证的模型和规范,使得公司可以确保该策略具有适当的实现。此外,开发人员不需要高级安全技能集(例如,无需雇用了解所有安全方面知识的安全专家)。另外,实施例可以使安全架构师的工作更加简单和透明。该解决方案可以通过仅要求安全设计师定义其解决方案的高级组成来帮助安全设计师(与基于特定配置的系统相比,这可能使他们更容易)。因为可以仅使用众所周知的配置来定义安全策略,所以可以减少创建适当的安全策略所涉及的风险和时间。其他应用可以共享和重用成功的安全策略,并且对策略组件的改变、更新和改进将自动反映在使用这些模型/规范创建的所有应用中。大型公司使用此通用安全框架,可以轻松地跨多个应用实现一致的安全策略(也可以轻松管理应用符合安全准则)。

注意,操作员可以安排监视或调整spaas系统各个方面的操作,包括模型、规范、模板等。例如,图8是根据一些实施例的用户界面显示器800。显示器800可以向操作员提供系统的图形描绘810(例如,包括安全策略引擎、模板、定制化模型和规范等)和/或提供允许操作员适当调整系统组件的交互式界面。选择显示器800上的元素(例如,通过触摸屏或计算机鼠标指针820)可以使操作员(例如,在弹出窗口中)看到关于该特定元素的更多信息和/或调整该元素的操作(例如,通过选择新模板或改变安全模型)。根据一些实施例,操作员对“创建”图标830的选择可以启动安全策略包或解决方案的实现。

可以使用许多不同的计算机硬件实现中的任何一种来实现本文描述的实施例。图9是根据一些实施例的装置900的框图(例如,分别是图3和图5的系统300、500)。装置900可以包括通用计算装置,并且可以执行程序代码以执行本文描述的任何功能。根据一些实施例,装置900可以包括其他未示出的元件。根据一些实施例,装置900包括处理器910,可操作地耦合到通信设备920、数据存储设备930、一个或多个输入设备940和/或一个或多个输出设备950。通信设备920可以促进与外部设备(诸如远程用户或管理员设备)进行通信。输入设备(或多个)940可以包括例如键盘、小键盘、鼠标或其他指示设备、麦克风、旋钮或开关、红外线(“ir”)端口、扩展坞和/或触摸屏。输入设备(或多个)940可以例如用于将信息输入到装置900中(例如,关于安全模型、规范、包装)。输出设备(或多个)950可以包括例如显示器(例如,显示屏)、扬声器和/或打印机(例如,向操作员提供安全策略状态、摘要分析报告、故障排除信息等)。

数据存储设备930可以包括任何适当的永久性存储设备,包括磁存储设备(例如,磁带、硬盘驱动器和闪存)、光存储设备、只读存储器(“rom”)设备等的组合,存储器960可以包括随机存取存储器(“ram”)。

程序代码912可以由处理器910执行以使装置900执行本文所述的任何一个或多个处理。实施例不限于由单个装置执行这些处理。数据存储设备930还可以存储用于提供附加功能和/或对其进行操作所必需的数据和其他程序代码,诸如设备驱动器、操作系统(“os”)文件等。例如,处理器910可以从外部应用接收标识安全策略包的指示。然后,处理器910可以基于接收的指示从安全策略数据存储库中检索潜在安全模型中的一个。类似地,处理器910可以基于接收的指示从安全规范数据存储库中检索潜在安全规范中的一个。然后,处理器910可以安排针对外部应用实现的安全策略包,安全策略包与检索的潜在安全模型和检索的潜在安全规范相关联。

在一些实施例中(诸如图9所示),存储设备930还存储定制数据库960(例如,包含定制化安全模型和规范)、模板数据库970(存储用于常用的安全模型和规范的模板)和安全策略包数据库1000。现在将参照图10详细描述可以与装置900结合使用的数据库的示例。注意,本文描述的数据库仅是一个示例,并且可以在其中存储附加和/或不同的信息。此外,根据本文描述的任何实施例,各种数据库可以被分割或组合。

参照图10,示出了表示根据一些实施例的可以被存储在装置900的安全策略包数据库1000的表。该表可以包括例如标识可用于实现应用spaas的解决方案的条目。该表还可为每个条目定义字段1002、1004、1006、1008、1010。根据一些实施例,字段1002、1004、1006、1008、1010可以规定:安全策略包标识符1002、应用描述1004、安全模型1006、安全规范1008和认证信息1010。例如,可以基于从安全设计师、系统管理员等接收的信息来创建和更新安全策略包数据库1000。

安全策略包标识符1002可以是例如唯一字母数字代码,用于标识可用于为应用实现spaas的特定解决方案。应用描述程序1004可以描述安全策略包,并且可以包括例如可以由应用选择该特定解决方案的链接或标识符。安全模型1006和安全规范1008定义能够被组合以形成该解决方案的组件(例如,通过包括到关于那些元素的细节的链接或标识符)。认证信息1010可以指示该解决方案可以如何认证用户或客户(例如,openid、安全断言标记语言(“saml”)等)。

图11是根据一些实施例的安全策略作为服务实现1100。例如,考虑开发用于管理大学的应用。该应用可以例如经由客户(例如,学生和大学雇员)使用的移动应用1110来实现。设计者可能需要将安全策略集成到移动应用1110中。在这种情况下,设计者可以导航到安全作为服务网站,并搜索最适合当前用例的最佳解决方案。选择之后,可以通过下载安全模型方案来轻松地调整解决方案。设计者可以实现定制改变以改进模板并创建新的私有模板(或者新模板可以与其他人共享)。以后,设计者可以轻松地将安全模型切换到性能可能更好的其他安全模型。根据一些实施例,所有分配可以在模型之间自动迁移。在图11的实现1100中,业务应用1120可以包括api逻辑,该api逻辑最初在(1)处经由身份提供者1130来认证客户的身份。在认证之后,sdk检查可以使用spaas框架1140在(2)处验证许可。标识符(例如“rule1”)可以帮助在spaas框架1140中定位适当的逻辑。

因此,实施例可以将完整的安全策略定义为能够被多个应用共享和重用的可插拔组件。结果,只需要最小的努力就可以使应用获得最佳的安全策略解决方案。此外,实施例不替换任何授权管理器组件(诸如sap和其他)。相反,实施例可以使用任何授权管理器(例如,身份提供者)作为插件(用于认证用户并获得其或分配的许可的api)。另外,实施例可以不拥有认证和授权处理。这是通过应用的选定协议(例如,openid、证书,saml等)完成。sdk公开了用于认证和授权处理的通用接口。对于像openid这样的特定协议,能够将实现api的专用客户端组件集成到sdk。可以根据需要通过通用接口使用附加协议来增强sdk。这种方法可以允许实现许可的逻辑(通常在应用代码中硬编码的逻辑)的动态方法。这是因为一些实施例仅通过参考标识符将逻辑与模型一起存储在应用代码中。稍后,可以更新或改进逻辑而无需改变任何应用代码的。此外,设计者可以可选地与其他应用共享此逻辑和将其重用于其他应用。

因此,实施例可以提供若干优点,诸如通过提供有助于以准确且有效的方式自动实现安全策略作为服务的系统和方法。这可以提高企业的整体效率(通过减少与在逐个应用的基础上手动编码安全策略相关联的时间、费用、错误和安全风险)。这个想法可以提高公司(调整公司内的所有策略)、开发者(通过重用已知解决方案)和操作员(使其更易于管理安全策略)的安全性和效率。

前述图表示根据一些实施例的用于描述处理的逻辑架构,并且实际的实现可以包括以其他方式布置的更多或不同的组件。其他拓扑可以与其他实施例结合使用。此外,本文描述的每个系统可以由经由任意数量的其他公共和/或私有网络进行通信的任意数量的设备来实现。两个或更多个这样的计算设备可以彼此远离放置并且可以经由任何已知的网络(或多个)的方式和/或专用连接彼此通信。每个设备可以包括适合于提供本文描述的功能以及任何其他功能的任何数量的硬件和/或软件元件。例如,在所讨论的体系结构的实现中使用的任何计算设备可以包括处理器以执行程序代码,使得该计算设备如本文所述进行操作。此外,所描述的显示器仅作为示例提供,并且可以实现其他类型的显示器。例如,图12示出根据一些实施例的手持式平板计算机1100。显示器1210可以提供关于实现spaas的信息,并且用户可以选择一个或多个图标1220以调整系统的操作(例如,通过发起安全策略包或解决方案的创建等)。

本文讨论的所有系统和处理可以体现为存储在一个或多个非暂时性有形计算机可读介质上的程序代码。这样的介质可以包括例如软盘、cd-rom、dvd-rom、闪存驱动器、磁带以及固态ram或rom存储单元。因此,实施例不限于硬件和软件的任何特定组合。

本文描述的实施例仅出于说明的目的。本领域技术人员将认识到,可以通过对上述实施例进行修改和替换来实践其他实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1