本发明属于数据安全,具体地说,是一种动态应用授权的模型。
背景技术:
1、随着数字化时代的到来,个人和机构的数据存储和传输变得更加频繁和复杂。身份安全的需求背景之一是保护数据的机密性和完整性,防止未经授权的访问和数据泄露。
2、在复杂的企业环境中,不同用户和角色需要访问各种不同的资源和功能。静态的授权模型无法满足这种动态性的需求,因此需要一种能够根据实际情况动态调整权限的授权机制。
3、(1)访问控制:
4、访问控制是指对系统、资源或信息进行限制和管理,以确保只有授权的用户或实体能够进行访问和操作。访问控制的背景可以追溯到对信息安全和数据保护的需求以及对系统安全性的关注。以下是访问控制背景的一些关键方面:
5、信息安全需求:随着信息技术的发展和广泛应用,对信息安全的需求越来越迫切。保护敏感信息和重要资源免受未经授权的访问和操作是保障信息安全的重要一环。访问控制的出现是为了确保只有授权的用户或实体可以访问和操作系统、资源或信息。
6、数据隐私保护:许多组织和个人拥有大量敏感数据,包括个人身份信息、商业机密等。为了保护这些数据的隐私,限制对其的访问变得至关重要。访问控制通过定义和实施适当的权限和访问策略,确保只有授权的用户能够访问敏感数据。
7、系统安全性:访问控制是保护系统安全性的重要组成部分。通过限制用户或实体的访问权限,可以减少系统遭受恶意攻击和非法访问的风险。访问控制可以防止未经授权的用户获取系统权限、篡改数据或者对系统进行破坏。
8、合规性要求:许多行业和组织需要遵守特定的法规、标准和合规性要求,如gdpr、hipaa、pci dss等。这些要求通常涉及对敏感信息的访问和保护。访问控制可以帮助组织满足合规性要求,并确保对敏感信息的访问符合相关法规和标准。
9、总的来说,访问控制的背景可以归结为对信息安全、数据隐私保护、系统安全性和合规性要求的关注。通过实施适当的访问控制策略和机制,可以确保系统、资源或信息只能被授权的用户或实体访问,提高系统的安全性和保护敏感数据的机密性。
10、(2)传统访问控制技术:
11、强制访问控制(mac):mac是一种基于系统中的对象和用户的标签或标识符的访问控制模型。每个对象和用户都有一个固定的安全级别,只有满足安全级别要求的主体才能访问相应的对象。mac通过强制执行系统管理员设定的安全策略来控制访问权限,属于一种较为严格和集中管理的访问控制模型。
12、自主访问控制(dac):dac是一种基于主体拥有者的授权的访问控制模型。在dac中,每个主体(如用户)可以自主地决定对自己拥有的资源的访问权限,包括读、写、执行等。这种模型下,资源的访问权限是由资源的拥有者或创建者分配的,主体之间的权限管理较为灵活,但也容易导致权限管理的复杂性和主体的滥用。
13、(3)现有rbac即基于角色的访问控制技术:
14、rbac(role-based access control)即基于角色的访问控制,是一种广泛应用于权限管理的授权模型。它的背景可以追溯到对传统的访问控制模型进行改进和扩展的需要。以下是rbac背景的一些关键方面:
15、访问控制复杂性:随着系统规模和复杂性的增加,传统的访问控制模型(如acl)可能变得难以管理和维护。acl模型基于直接授权,需要为每个用户或实体分配具体的权限,这导致权限管理的复杂性增加。rbac的提出就是为了简化访问控制管理,提高系统的可扩展性。
16、角色的引入:rbac引入了角色的概念,通过将用户分配给角色,再将角色与权限关联起来,实现对权限的管理和控制。这样一来,权限的分配和管理更加灵活和可控。角色可以代表用户的职责、职位或者组织结构中的角色,使得权限的分配更加符合实际的业务需求。
17、管理和维护效率:rbac模型将权限的管理从用户级别提升到角色级别,简化了权限的分配和维护。当用户的角色发生变化时,只需要调整角色的权限,而不需要逐个调整用户的权限,大大提高了权限管理的效率。
18、合规要求:在许多行业和组织中,需要遵循一系列的法规和合规要求,如hipaa、pci dss等。rbac提供了一种结构化的权限管理方式,可以更好地满足合规性要求,提高系统的安全性和合规性。
19、总的来说,rbac的背景是基于传统访问控制模型的局限性和复杂性,为了提高访问控制管理的效率和可扩展性而引入的一种授权模型。通过引入角色的概念,rbac简化了权限管理的复杂性,提高了系统的可管理性和安全性。它已经成为许多系统和应用中广泛使用的权限管理模型。
20、尽管rbac是一种常用的访问控制模型,但它也存在一些缺点,包括以下几个方面:
21、复杂性:rbac模型在实施和管理上可能会变得复杂。当组织规模较大,角色数量众多时,角色的创建、分配和权限管理可能变得繁琐。此外,随着业务需求的变化和组织结构的调整,rbac模型可能需要频繁地进行修改和调整,增加了管理的复杂性。
22、简化的权限模型:在rbac中,权限是以角色为基础进行分配的,而不是直接与用户关联。这种简化的权限模型可能无法满足某些复杂的访问控制需求。某些场景下,可能需要更加细粒度的权限管理,需要考虑到用户的个体特征、上下文环境等因素。
23、权限爆炸:rbac模型中,角色是与权限关联的中间层,每个角色都可能有多个权限。当系统中的角色数量增多,并且每个角色都有许多权限时,会导致权限的数量快速增长,从而出现所谓的"权限爆炸"问题。这使得权限管理和审计变得困难,增加了系统的复杂性。
24、难以处理特殊情况:在某些情况下,rbac模型可能无法灵活地处理一些特殊情况,例如需要临时提升某个用户的权限、临时赋予某个用户特定的访问权限等。rbac模型通常较为静态,需要经过角色的分配和权限的修改才能实现权限的变更,这限制了对特殊情况的灵活处理能力。
25、信息泄漏风险:在rbac模型中,角色通常是根据用户的职责和功能划分的,而不考虑用户在组织中的地位和敏感信息的访问需求。这可能导致一些用户获得了他们不应该访问的敏感信息,从而增加了信息泄漏的风险。
技术实现思路
1、为了解决上述技术问题,本发明披露了一种动态应用授权的模型,该模型的核心思想是基于属性进行访问控制,通过定义策略规则和动态决策来实现对访问权限的控制。该模型可以提供细粒度的访问控制,并支持灵活的访问控制策略定义和动态决策,它适用于复杂的访问控制需求和动态环境下的权限管理。
2、本发明采用的具体技术方案如下:
3、一种动态应用授权的模型,包括以下部分:
4、属性定义:该模型中,所有的实体(如用户、资源、环境)都有相应的属性。属性可以是关于实体的任何信息,可以是静态的(如用户角色、资源类型)也可以是动态的(如用户的地理位置、时间戳)。
5、其中,用户属性:用户id、用户角色、用户部门、用户所在地理位置、用户所属组织;资源属性:资源类型(例如,文件、数据库、应用程序)、资源所有者、资源部门、资源敏感性级别、资源标签;环境属性:访问时间、访问地理位置、访问设备类型(例如,移动设备、桌面设备)、访问网络环境(例如,内部网络、外部网络)。
6、策略定义:该模型使用策略来定义访问控制规则。策略规则由属性和属性条件组成,描述了哪些实体可以访问哪些资源,以及在什么条件下可以进行访问。策略规则可以是简单的逻辑表达式,也可以是复杂的规则集合。
7、模型中定义策略的一般步骤:
8、识别资源和操作: 首先,明确定义需要保护的资源以及可以执行的操作。这可以是网络资源、数据库、应用程序等。
9、定义属性: 确定需要用于访问控制的属性。这些属性包括用户属性、资源属性和环境属性。例如,用户的角色、部门、资源的敏感性等。
10、制定策略规则: 为每个资源和操作制定策略规则。策略规则由属性的条件组成,指定了哪些属性的组合可以访问特定的资源和执行操作。例如,一个策略规则可以是:“如果用户是管理员并且资源敏感性为高,则允许访问”。
11、属性匹配和评估: 在访问请求到来时,系统会检查用户的属性、资源的属性和环境属性,与策略规则中定义的属性条件是否匹配。
12、动态决策: 根据属性的匹配情况,系统动态地判断是否授予访问权限。如果访问请求的属性满足策略规则中的条件,系统会允许访问;否则,访问会被拒绝。
13、审计和监控: 记录访问决策以及访问事件,以便进行审计和监控。这有助于了解谁访问了什么资源以及访问决策的依据。
14、策略管理和更新: 随着业务需求和环境变化,策略可能需要进行调整。因此,策略管理和更新是一个重要的环节,确保访问控制保持有效。
15、访问请求:当一个访问请求到达系统时,它包含了请求的实体(如用户)、目标资源以及其他相关的属性信息。访问请求的属性用于决策该请求是否被允许访问。
16、策略评估:系统使用策略评估引擎来评估访问请求是否满足策略规则。策略评估引擎会比对访问请求中的属性和策略规则中定义的属性条件,根据条件的匹配程度来决定是否授权访问。
17、策略评估的过程可以分为以下步骤:
18、属性匹配: 根据访问请求中携带的用户属性、资源属性和环境属性,将这些属性与策略规则中定义的属性条件进行匹配。
19、属性条件判断: 对于每个策略规则,系统会逐个判断属性是否满足条件。属性条件可以是基于相等性、范围、集合成员关系等。
20、组合属性条件: 策略规则可能包含多个属性条件,这些条件可以通过逻辑运算符(如and、or)进行组合。系统需要考虑每个属性条件之间的关系。
21、策略规则评估: 根据属性条件的匹配情况,系统评估每个策略规则是否满足。如果一个策略规则中的所有属性条件都被满足,那么这个规则被认为是满足的。
22、优先级判断: 如果有多个策略规则被满足,系统需要根据策略的优先级来决定最终的访问决策。较高优先级的策略规则可能会覆盖较低优先级的规则。
23、决策输出: 最终,系统根据策略规则的评估结果,输出一个访问决策,即是否授予访问权限。如果至少有一个策略规则满足,那么访问权限可能会被授予;反之,如果所有的策略规则都不满足,访问将被拒绝。
24、动态决策:该模型中的决策是动态的,即在每个访问请求到达时进行决策。系统根据访问请求中的属性和策略规则进行判断,决定是否授权访问。这种动态决策使得该模型具备了灵活性和适应性。
25、动态决策的一般原理:
26、属性收集与传输: 当用户发起访问请求时,系统会收集用户的属性、资源的属性以及环境属性。这些属性信息可以从认证和授权服务、标识提供者等获取,然后传输到访问控制引擎进行评估。
27、策略规则定义:在系统中预先定义策略规则,这些规则基于属性条件来决定访问是否被授予。策略规则可以包含多个属性条件的组合,以及相应的访问决策(允许或拒绝)。
28、属性匹配:系统将收集到的属性与策略规则中的属性条件进行匹配。这包括对每个属性条件的检查,看是否满足了策略规则中的要求。
29、属性评估与决策:如果一个策略规则中的所有属性条件都满足,系统会根据策略规则的访问决策(允许或拒绝)来决定是否授予访问权限。
30、实时性:动态决策是实时的,意味着在访问请求到达时,系统会立即根据最新的属性信息进行评估和决策。这需要系统能够快速响应并进行属性匹配和评估。
31、动态性:由于属性可能在不同的上下文中变化,动态决策可以根据实时属性信息调整访问决策。这使得系统能够适应不同情况下的访问需求。
32、审计和日志记录:该模型支持对访问控制决策进行审计和日志记录。每个访问请求的决策过程和结果都可以被记录下来,以便进行安全审计和合规性检查。
33、审计和监控在模型中的作用:
34、安全性验证:审计和监控可以验证实际的访问决策是否与预期的一致。通过记录每个访问请求的决策结果,可以确保只有经过授权的用户才能访问受保护的资源,从而确保系统的安全性。
35、追踪访问行为:审计和监控记录访问请求的详细信息,包括谁、何时、以及为什么访问了特定资源。这有助于追踪用户的访问行为,以便在出现异常或安全事件时进行调查和溯源。
36、合规性证明:随着各种合规性标准和法规的增加,审计和监控可以提供证据来证明系统是否遵守了相关规定。审计日志和监控数据可以用于验证访问控制的有效性和合规性。
37、异常检测:审计和监控可以帮助系统检测异常活动和安全事件。通过监控访问行为和决策结果,可以及早发现可能的风险和威胁。
38、分析和报告:审计和监控数据可以用于分析访问模式、趋势和统计信息。这些分析结果可以帮助企业了解系统的使用情况,优化访问控制策略,以及改进安全性。
39、及时响应:如果发现任何异常或不寻常的活动,审计和监控可以帮助系统管理员及时采取措施,例如暂停访问权限、进行进一步的调查等。
40、持续改进:审计和监控的数据可以用于评估访问控制策略的有效性。基于实际的访问情况,系统可以进行调整和改进,以提升访问控制的精确性和效率。
41、本发明的有益效果:
42、灵活性和可扩展性:本发明模型基于属性进行访问控制,可以灵活地定义和管理访问规则,属性可以是静态的,如角色、组织结构,也可以是动态的,如时间、地理位置等,这种灵活性使得该模型能够适应各种复杂的访问控制需求,并具备可扩展性。
43、简化管理和维护:本发明模型的属性和策略规则可以集中管理和维护,通过定义和配置属性和规则集,可以简化访问控制的管理过程,管理员可以根据需要更新和调整策略规则,而无需对整个系统进行修改和配置。
44、审计和可追溯性:本发明模型强调对访问控制决策进行审计和日志记录,每个访问请求的决策过程和结果都可以被记录下来,以便进行安全审计、合规性检查和故障排查,这种审计和可追溯性有助于提高系统的安全性和可信度。
45、兼容所有业务场景,不需要改动原有业务,灵活部署。
1.一种动态应用授权的模型,其特征在于,包括以下部分:
2.根据权利要求1所述的动态应用授权的模型,其特征在于,在属性定义中,所述实体为用户、资源或环境,所述属性为静态属性或动态属性。
3.根据权利要求2所述的动态应用授权的模型,其特征在于,所述属性为动态属性,包括用户的地理位置和时间戳。
4.根据权利要求1所述的动态应用授权的模型,其特征在于,在所述策略定义中,策略规则由属性和属性条件组成,具体包括以下步骤:
5.根据权利要求1所述的动态应用授权的模型,其特征在于,在所述策略评估中,策略评估引擎比对访问请求中的属性和策略规则中定义的属性条件,根据条件的匹配程度来决定是否授权访问。
6.根据权利要求5所述的动态应用授权的模型,其特征在于,所述策略评估具体包括以下步骤: