精华内容
下载资源
问答
  • 数据安全保护之访问控制技术
    千次阅读
    2021-01-12 10:46:37

    数据作为信息的重要载体,其安全问题在信息安全中占有非常重要的地位。为了能够安全可控地使用数据,需要多种技术手段作为保障,这些技术手段一般包括访问控制技术、加密技术、数据备份和恢复技术、系统还原技术等多种技术手段。本文侧重论述访问控制技术,有关其它技术的探讨将发表在后续文章中。

    本文由亿赛通科技发展有限公司投稿。

    数据作为信息的重要载体,其安全问题在信息安全中占有非常重要的地位。数据的保密性、可用性、可控性和完整性是数据安全技术的主要研究内容。数据保密性的理论基础是密码学,而可用性、可控性和完整性是数据安全的重要保障,没有后者提供技术保障,再强的加密算法也难以保证数据的安全。与数据安全密切相关的技术主要有以下几种,每种相关但又有所不同。

    1、 访问控制: 该技术主要用于控制用户可否进入系统以及进入系统的用户能够读写的数据集;
    2、 数据流控制:该技术和用户可访问数据集的分发有关,用于防止数据从授权范围扩散到非授权范围;
    3、 推理控制:该技术用于保护可统计的数据库,以防止查询者通过精心设计的查询序列推理出机密信息;
    4、 数据加密:该技术用于保护机密信息在传输或存储时被非授权暴露;
    5、 数据保护:该技术主要用于防止数据遭到意外或恶意的破坏,保证数据的可用性和完整性。

    在上述技术中,访问控制技术占有重要的地位,其中1)、2)、3)均属于访问控制范畴。访问控制技术主要涉及安全模型、控制策略、控制策略的实现、授权与审计等。其中安全模型是访问控制的理论基础,其它技术则是实现安全模型的技术保障。

    1. 安全模型

    信息系统的安全目标是通过一组规则来控制和管理主体对客体的访问,这些访问控制规则称为安全策略,安全策略反应信息系统对安全的需求。安全模型是制定安全策略的依据,安全模型是指用形式化的方法来准确地描述安全的重要方面(机密性、完整性和可用性)及其与系统行为的关系。建立安全模型的主要目的是提高对成功实现关键安全需求的理解层次,以及为机密性和完整性寻找安全策略,安全模型是构建系统保护的重要依据,同时也是建立和评估安全操作系统的重要依据。

    自20世纪70年代起,Denning、Bell、Lapadula等人对信息安全进行了大量的理论研究,特别是1985年美国国防部颁布可信计算机评估标准《TCSEC》以来,系统安全模型得到了广泛的研究,并在各种系统中实现了多种安全模型。这些模型可以分为两大类:一种是信息流模型;另一种是访问控制模型。

    信息流模型主要着眼于对客体之间信息传输过程的控制,它是访问控制模型的一种变形。它不校验主体对客体的访问模式,而是试图控制从一个客体到另一个客体的信息流,强迫其根据两个客体的安全属性决定访问操作是否进行。信息流模型和访问控制模型之间差别很小,但访问控制模型不能帮助系统发现隐蔽通道,而信息流模型通过对信息流向的分析可以发现系统中存在的隐蔽通道并找到相应的防范对策。信息流模型是一种基于事件或踪迹的模型,其焦点是系统用户可见的行为。虽然信息流模型在信息安全的理论分析方面有着优势,但是迄今为止,信息流模型对具体的实现只能提供较少的帮助和指导。

    访问控制模型是从访问控制的角度描述安全系统,主要针对系统中主体对客体的访问及其安全控制。访问控制安全模型中一般包括主体、客体,以及为识别和验证这些实体的子系统和控制实体间访问的参考监视器。通常访问控制可以分自主访问控制(DAC)和强制访问控制(MAC)。自主访问控制机制允许对象的属主来制定针对该对象的保护策略。通常DAC通过授权列表(或访问控制列表ACL)来限定哪些主体针对哪些客体可以执行什么操作。如此可以非常灵活地对策略进行调整。由于其易用性与可扩展性,自主访问控制机制经常被用于商业系统。目前的主流操作系统,如UNIX、Linux和Windows等操作系统都提供自主访问控制功能。自主访问控制的一个最大问题是主体的权限太大,无意间就可能泄露信息,而且不能防备特洛伊木马的攻击。强制访问控制系统给主体和客体分配不同的安全属性,而且这些安全属性不像ACL那样轻易被修改,系统通过比较主体和客体的安全属性决定主体是否能够访问客体。强制访问控制可以防范特洛伊木马和用户滥用权限,具有更高的安全性,但其实现的代价也更大,一般用在安全级别要求比较高的军事上。 随着安全需求的不断发展和变化,自主访问控制和强制访问控制已经不能完全满足需求,研究者提出许多自主访问控制和强制访问控制的替代模型,如基于栅格的访问控制、基于规则的访问控制、基于角色的访问控制模型和基于任务的访问控制等。其中最引人瞩目的是基于角色的访问控制 (RBAC)。其基本思想是:有一组用户集和角色集,在特定的环境里,某一用户被指定为一个合适的角色来访问系统资源;在另外一种环境里,这个用户又可以被指定为另一个的角色来访问另外的网络资源,每一个角色都具有其对应的权限,角色是安全控制策略的核心,可以分层,存在偏序、自反、传递、反对称等关系。与自主访问控制和强制访问控制相比,基于角色的访问控制具有显著优点:首先,它实际上是一种策略无关的访问控制技术。其次,基于角色的访问控制具有自管理的能力。此外,基于角色的访问控制还便于实施整个组织或单位的网络信息系统的安全策略。目前,基于角色的访问控制已在许多安全系统中实现。例如,在亿赛通文档安全管理系统SmartSec(见“文档安全加密系统的实现方式”一文)中,服务器端的用户管理就采用了基于角色的访问控制方式,从而为用户管理、安全策略管理等提供了很大的方便。

    随着网络的深入发展,基于Host-Terminal环境的静态安全模型和标准已无法完全反应分布式、动态变化、发展迅速的Internet的安全问题。针对日益严重的网络安全问题和越来突出的安全需求,“可适应网络安全模型”和“动态安全模型”应运而生。基于闭环控制的动态网络安全理论模型在90年代开始逐渐形成并得到了迅速发展,1995年12月美国国防部提出了信息安全的动态模型,即保护(Protection)—检测(Detection)—响应(Response)多环节保障体系,后来被通称为PDR模型。随着人们对PDR模型应用和研究的深入,PDR模型中又融入了策略(Policy)和恢复(Restore)两个组件,逐渐形成了以安全策略为中心,集防护、检测、响应和恢复于一体的动态安全模型,如图1所示。

    PDR扩展模型示意图

    PDR扩展模型示意图

    PDR模型是一种基于闭环控制、主动防御的动态安全模型,在整体的安全策略控制和指导下,在综合运用防护工具(如防火墙、系统身份认证和加密等手段)的同时,利用检测工具(如漏洞评估、入侵检测等系统)了解和评估系统的安全状态,将系统调整到“最安全”和“风险最低”的状态。保护、检测、响应和恢复组成了一个完整的、动态的安全循环,在安全策略的指导下保证信息的安全。

    2. 访问控制策略

    访问控制策略也称安全策略,是用来控制和管理主体对客体访问的一系列规则,它反映信息系统对安全的需求。安全策略的制定和实施是围绕主体、客体和安全控制规则集三者之间的关系展开的,在安全策略的制定和实施中,要遵循下列原则:

    • 最小特权原则:最小特权原则是指主体执行操作时,按照主体所需权利的最小化原则分配给主体权力。最小特权原则的优点是最大程度地限制了主体实施授权行为,可以避免来自突发事件、错误和未授权使用主体的危险。
    • 最小泄漏原则:最小泄漏原则是指主体执行任务时,按照主体所需要知道的信息最小化的原则分配给主体权力。
    • 多级安全策略:多级安全策略是指主体和客体间的数据流向和权限控制按照安全级别的绝密、秘密、机密、限制和无级别五级来划分。多级安全策略的优点是避免敏感信息的扩散。具有安全级别的信息资源,只有安全级别比他高的主体才能够访问。

    访问控制的安全策略有以下两种实现方式:基于身份的安全策略和基于规则的安全策略。目前使用的两种安全策略,他们建立的基础都是授权行为。就其形式而言,基于身份的安全策略等同于DAC安全策略,基于规则的安全策略等同于MAC安全策略。

    2.1. 基于身份的安全策略

    基于身份的安全策略(IDBACP:Identification-based Access Control Policies)的目的是过滤主体对数据或资源的访问,只有能通过认证的那些主体才有可能正常使用客体资源。基于身份的策略包括基于个人的策略和基于组的策略。基于身份的安全策略一般采用能力表或访问控制列表进行实现。

    2.1.1 基于个人的策略

    基于个人的策略(INBACP:Individual-based Access Control Policies)是指以用户为中心建立的一种策略,这种策略由一组列表组成,这些列表限定了针对特定的客体,哪些用户可以实现何种操作行为。

    2.1.2 基于组的策略:

    基于组的策略(GBACP:Group-based Access Control Policies)是基于个人的策略的扩充,指一些用户(构成安全组)被允许使用同样的访问控制规则访问同样的客体。

    2.2. 基于规则的安全策略

    基于规则的安全策略中的授权通常依赖于敏感性。在一个安全系统中,数据或资源被标注安全标记(Token)。代表用户进行活动的进程可以得到与其原发者相应的安全标记。基于规则的安全策略在实现上,由系统通过比较用户的安全级别和客体资源的安全级别来判断是否允许用户可以进行访问。

    3. 访问控制的实现

    由于安全策略是由一系列规则组成的,因此如何表达和使用这些规则是实现访问控制的关键。由于规则的表达和使用有多种方式可供选择,因此访问控制的实现也有多种方式,每种方式均有其优点和缺点,在具体实施中,可根据实际情况进行选择和处理。常用的访问控制有以下几种形式。

    3.1. 访问控制表

    访问控制表(ACL:Access Control List)是以文件为中心建立的访问权限表,一般称作ACL。其主要优点在于实现简单,对系统性能影响小。它是目前大多数操作系统(如Windows、Linux等)采用的访问控制方式。同时,它也是信息安全管理系统中经常采用的访问控制方式。例如,在亿赛通文档安全管理系统SmartSec中,客户端提供的“文件访问控制”模块就是通过ACL方式进行实现的。

    3.2. 访问控制矩阵

    访问控制矩阵(ACM:Access Control Matrix)是通过矩阵形式表示访问控制规则和授权用户权限的方法;也就是说,对每个主体而言,都拥有对哪些客体的哪些访问权限;而对客体而言,有哪些主体可对它实施访问;将这种关联关系加以描述,就形成了控制矩阵。访问控制矩阵的实现很易于理解,但是查找和实现起来有一定的难度,特别是当用户和文件系统要管理的文件很多时,控制矩阵将会呈几何级数增长,会占用大量的系统资源,引起系统性能的下降。

    3.3. 访问控制能力列表

    能力是访问控制中的一个重要概念,它是指请求访问的发起者所拥有的一个有效标签(Ticket),它授权标签表明的持有者可以按照何种访问方式访问特定的客体。与ACL以文件为中心不同,访问控制能力表(ACCL:Access Control Capabilities List)是以用户为中心建立访问权限表。

    3.4. 访问控制安全标签列表

    安全标签是限制和附属在主体或客体上的一组安全属性信息。安全标签的含义比能力更为广泛和严格,因为它实际上还建立了一个严格的安全等级集合。访问控制标签列表(ACSLL:Access Control Security Labels List)是限定用户对客体目标访问的安全属性集合。

    4. 访问控制与授权

    授权是资源的所有者或控制者准许他人访问这些资源,是实现访问控制的前提。对于简单的个体和不太复杂的群体,我们可以考虑基于个人和组的授权,即便是这种实现,管理起来也有可能是困难的。当我们面临的对象是一个大型跨地区、甚至跨国集团时,如何通过正确的授权以便保证合法的用户使用公司公布的资源,而不合法的用户不能得到访问控制的权限,这是一个复杂的问题。

    授权是指客体授予主体一定的权力,通过这种权力,主体可以对客体执行某种行为,例如登陆,查看文件、修改数据、管理帐户等。授权行为是指主体履行被客体授予权力的那些活动。因此,访问控制与授权密不可分。授权表示的是一种信任关系,一般需要建立一种模型对这种关系进行描述,才能保证授权的正确性,特别是在大型系统的授权中,没有信任关系模型做指导,要保证合理的授权行为几乎是不可想象的。例如,在亿赛通文档安全管理系统SmartSec中,服务器端的用户管理、文档流转等模块的研发,就是建立在信任模型的基础上研发成功的,从而能够保证在复杂的系统中,文档能够被正确地流转和使用。

    5. 访问控制与审计

    审计是对访问控制的必要补充,是访问控制的一个重要内容。审计会对用户使用何种信息资源、使用的时间、以及如何使用(执行何种操作)进行记录与监控。审计和监控是实现系统安全的最后一道防线,处于系统的最高层。审计与监控能够再现原有的进程和问题,这对于责任追查和数据恢复非常有必要。 审计跟踪是系统活动的流水记录。该记录按事件从始至终的途径,顺序检查、审查和检验每个事件的环境及活动。审计跟踪记录系统活动和用户活动。系统活动包括操作系统和应用程序进程的活动;用户活动包括用户在操作系统中和应用程序中的活动。通过借助适当的工具和规程,审计跟踪可以发现违反安全策略的活动、影响运行效率的问题以及程序中的错误。审计跟踪不但有助于帮助系统管理员确保系统及其资源免遭非法授权用户的侵害,同时还能提供对数据恢复的帮助。例如,在亿赛通文档安全管理系统SmartSec中,客户端的“文件访问审核日志”模块能够跟踪用户的多种日常活动,特别是能够跟踪记录用户与工作相关的各种活动情况,如什么时间编辑什么文档等。

    更多相关内容
  • Windows的用户帐户是对计算机用户身份的识别,且本地用户帐户和密码信息是存储在本地计算机上的(即由:安全账户管理器【Security Accounts Manager】负责SAM数据库的控制和维护;SAM数据库则是位于注册表的...

    一、用户与组介绍

    1.1、用户账户

        Windows的用户帐户是对计算机用户身份的识别,且本地用户帐户和密码信息是存储在本地计算机上的(即由:安全账户管理器【Security Accounts Manager】负责SAM数据库的控制和维护;SAM数据库则是位于注册表的【计算机\HKEY_LOCAL_MACHINE\SAM\SAM】下,受到ACL保护),SAM文件在【C:\Windows\System32\config】路径下。SAM对应的进程:lsass.exe 。通过本地用户和组,可以为用户和组分配权利和权限,从而限制用户和组执行某些操作的能力。 不同的用户身份拥有不同的权限 每个用户包含一个名称和一个密码,用户帐户拥有唯一的安全标识符(Security Identifier,SID)。

    如果我们去进程管理里面杀死 lsass.exe 进程时,windows会提示遇到错误,然后关机。

    1.2、组账户

        组账户是一些用户的集合;且组内的用户自动拥有组所设置的权限。

    ①组账户是用户账户的集合,用于组织用户账户;

    ②为一个组授予权限后,则该组内的所有成员用户自动获得改组的权限;

    ③一个用户账户可以隶属于多个组,而这个用户的权限就是所有组的权限的合并集。

    二、用户账户与组账户

    2.1、用户账户

    用户账户分为两种类型:【本地用户账号】【全局用户账号(也叫:域用户账号)】

        ①本地用户账号是创建于本地计算机它的作用范围:仅仅限于创建它的计算机,控制用户对本地计算机上的资源访问)。

        ②全局用户账号创建于域服务器,可以在网络中的任意计算机上加入域后使用,使用范围是整个域网络。

    2.1.1、Windows 默认用户账户

        Windows的默认用户账户用于特殊用途,一般不用更修改其权限。

    Windows的默认用户账户
    默认用户账户含义说明
    Administrator管理员用户管理计算机(域)的内置帐户(默认禁用)
    DefaultAccount默认账户系统管理的用户帐户(默认禁用)
    defaultuser0默认用户(默认禁用)
    Guest来宾用户提供给访客人员使用(默认禁用)
    WDAGUtilityAccountWindows Defender用户系统为 Windows Defender 应用程序防护方案管理和使用的用户帐户(默认禁用)
    与windows组件关联的用户账户
    Windows组件关联的用户含义说明
    System本地系统用户为windows的核心组件访问文件等资源提供权限
    Local Service本地服务用户预设的拥有最小权限的本地账户
    Network Service网络服务用户具有运行网络服务权限的计算机账户

    拥有的权限大小:System > Administrator > User > Guest

    2.1.2、用户账户的查看、创建和提升权限 

    CMD中查看、创建用户和提升用户权限
    序号命令命令说明
    1net user查看系统账户
    2net user Cm0001 123456 /add创建用户是:Cm0001 密码是:123456的账户
    3net user Cm0001 987654修改用户Cm0001的密码为987654
    4net user Cm0001查看用户Cm0001的属性
    5net  localgroup   administrators Cm0001 /add提升用户Cm0001的权限为管理员
    6net user Cm0001 123456 /del删除用户Cm0001

    2.2、组账户

    2.2.1、Windows内置的组账户

    Windows内置的组账户
    内置的组账户名称含义说明
    Administrators管理员组

    默认情况下Administrator中的用户对计算机 / 域有不受限制的完全访问权,功能有:

    ①管理文件:Windows系统中,系统磁盘中的文件只能由Administrators组的账户进行更改

    ②更改系统安全设置:安装新的功能、更改计算机网络设置、对服务器选项进行设置,这些操作都需要Administraotors组中的用户进行操作。如果用户的权限不够,选择管理员用户进行操作。

    默认情况下,Adminiistrator账户处于禁用状态 当它处于请用状态时,Administrator账户具有对计算机的完全控制权限,并根据需要向用户分配权力和访问控制权限,该账户必须仅用于需要管理凭据任务 强烈建议Administrator设置为强密码 永远不可以从管理员组删除Adminsitrator账户,但是可以重命名或禁用该账户

    Guests来宾用户组

    提供给没有用户帐户但是需要访问本地计算机内资源的用户使用,该组的成员无法永久地改变其桌面的工作环境。该组最常见的默认成员为用户帐号Guest。

    ①通常这个账户没有修改系统设置和进行安装程序的权限;

    ②也没有创建修改任何文档的权限,只能读取计算机系统信息和文件 在windows系统中,Guest账户被任务是不安全的权限账户。

    ③默认情况下禁用Guest用户。而且此账户默认为Guests组成员,改组允许用户登陆计算机,其他权力及任何权限都必须由管理员组中的用户成员给与Guests组

    Power Users功能用户组

    组内的用户具备比Users组更多的权利,但是比Administrators组拥有的权利更少一些,例如,可以:创建、删除、更改本地用户帐户;创建、删除、管理本地计算机内的共享文件夹与共享打印机;自定义系统设置,例如更改计算机时间、关闭计算机等。

    ①不可以更改Administrators;

    ②无法夺取文件的所有权;

    ③无法备份与还原文件;

    ④无法安装删除与删除设备驱动程序;

    ⑤无法管理安全与审核日志。

    Users标准用户组

    Users组账户权限低于Adiministraotrs组的账户,但高于Guests组账户。

    ①Users组用户可以进入“网络和共享中心”,并查看网络连接状态,但无法修改连接属性;

    ②Users组用户也无法关闭防火墙;

    ③Users组用户无法安装软件;

    ④Users组用户也无法对该用户文件夹以为的C盘进行修改。

    Remote Desktop Users远程桌面用户组

    组内的成员拥有远程桌面登录的权限;默认Administrators组内的成员都拥有远程桌面的权限 。

    Remote Desktop Users组的作用就是保障远程桌面服务的安全运行,一旦赋予Administrator组远程桌面的权限,就像是为入侵者省略了提权的步骤。相对于改变用户组权限,将需要连接远程桌面的用户分到Remote Desktop Users组中是一中更加安全的方式

        动态包含成员内置组的成员由Windows程序“自动添加” ,Windows会根据用户的状态来决定用户所属的组 ,组内的成员也随之动态变化,无法修改 。

    动态包含成员内置组
    序号动态包含成员内置组说明
    1Interactive动态包含在本地登录的用户
    2Authenticated Users任何一个利用有效的用户帐户连接的用户都属于这个组;建议在设置权限时,尽量针对Authenticated Users组进行设置,而不要针对Everone进行设置。
    3Everyone任何一个用户都属于这个组注意,如果Guest帐号被启用时,则给Everone这个组指派权限时必须小心,因为当一个没有帐户的用户连接计算机时,他被允许自动利用Guest帐户连接,但是因为Guest也是属于Everone组,所以他将具备Everyone所拥有的权限

    2.2.2、组的查看、创建和删除

    组的查看、创建和删除
    序号组命令说明
    1net localgroup查看系统的组
    2net localgroup testgroup /add新建一个testgroup的组
    3net localgroup testgroup Cm0001 /add将用户Cm0001加入testgroup组中
    4net localgroup testgroup查看testgroup组内的成员
    5net localgroup testgroup Cm0001 /del将用户Cm0001从testgroup组中移除
    6net localgroup testgroup /del删除testgroup组
    7net localgroup "remote desktop users" hack /add将用户hack加入remote desktop users组中
    8net localgroup "remote desktop users"查看remote desktop users组内的成员
    9net localgroup "remote desktop users" hack /del将用户hack从remote desktop users组中移除

     三、访问控制

        Windows的访问控制列表(Access Control List):访问权限决定着某个用户可以访问的文件和目录 对于每一个文件和文件夹,由安全描述符(SD)规定了安全数据、安全描述符决定安全设置是否对当前目录有效,或者它可以被传递给其他文件和目录。

        当一个用户试图访问一个文件或者文件夹的时候,NTFS 文件系统会检查用户使用的帐户或者账户所属的组是否在此文件或文件夹的访问控制列表(ACL)中。如果存在,则进一步检查访问控制项 ACE,然后根据控制项中的权限来判断用户最终的权限

    3.1、Windows的访问控制 

    Windows的访问控制
    访问控制名称含义说明
    Access Control List访问控制列表(ACL)访问权限决定着某个用户可以访问的文件和目录 对于每一个文件和文件夹,由安全描述符(SD)规定了安全数据 安全描述符决定安全设置是否对当前目录有效,或者它可以被传递给其他文件和目录
    Access Control environment
     
    访问控制环境(ACE)

    访问控制项ACE,是指访问控制实体,用于指定特定用户/组的访问权限,是权限控制的最小单位。

    ①完全控制:对文件或者文件夹可执行所有操作;

    ②修改:可以修改、删除文件或文件夹;

    ③读取和执行:可以读取内容,并且可以执行应用程序;

    ④列出文件夹目录:可以列出文件夹内容,此权限只针对文件夹存在,文件无此权限;

    ⑤读取:可以读取文件或者文件夹的内容;

    ⑥写入:可以创建文件或者文件夹;

    ⑦特别的权限:其他不常用的权限,比如删除权限的权限;

    New Technology File System文件系统(NTFS)

    文件夹的NTFS权限 (文件夹内的文件或文件夹会默认继承上一级目录的权限)。

    ①完全控制:对文件或者文件夹可执行所有操作

    ②修改:可以修改、删除文件或文件夹

    ③读取和执行:可以读取内容,并且可以执行应用程序

    ④读取:可以读取文件的内容

    ⑤写入:可以修改文件的内容

    ⑥特殊权限:其他不常用的权限,比如删除权限的权限

    Security Identifiers安全标识符(SID)

    SID的说明:

        安全标识符是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。

    SID的作用:

        用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给 Windows NT,然后 Windows NT 检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,Windows NT将会分配给用户适当的访问权限。 访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。

      3.2、可以使用命令查看账号的SID

    //查看系统当前用户的SID
    whoami  /user
    //查看所有用户的SID     
    wmic useraccount get name,sid      

    3.3、用户账户控制(UAC)

        用户帐户控制(User Account Control,简称:UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。原理是:通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果UAC要求用户在执行可能影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供一个确认的对话框窗口,使用户可以在执行之前对其进行验证,UAC可以帮助防止恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改

      

    3.4、Windows访问控制的其他详细资料 

    Windows访问控制 - Windows Access Control 【其他的详细资料】https://rootclay.gitbook.io/windows-access-control/

    展开全文
  • 在一个典型的软件开发场景中,你作为一名开发人员加入到某个项目后,假设是“超人组”,你往往需要访问这个项目的代码库然后才能开始工作。当你的 Team Lead 将你加入 Git Organization 后,你自然可以访问到“超人...

    引言

    引言

    在一个典型的软件开发场景中,你作为一名开发人员加入到某个项目后,假设是“超人组”,你往往需要访问这个项目的代码库然后才能开始工作。当你的 Team Lead 将你加入 Git Organization 后,你自然可以访问到“超人组”的代码仓库,然后就可以愉快的进行开发工作了。但是,当你的任务完成后,可能你需要参与另一个项目,你自然就没有权利去访问“超人组”的代码库,所以你的 TL 会将你移出。这是一个典型的访问控制场景,我们所控制的对象是工程师,资源则是代码仓库

    对于软件工程师来说,类似的场景十分常见,可以说任何一个系统都存在访问控制机制,从操作系统到复杂的云上应用,我们也发明了很多名词、技术来实现类似的功能,但是核心都是为了控制人或者其他对象,能否访问资源。

    Access Control Mechanism (ACM): The logical component that serves to receive the access request from the subject, to decide, and to enforce the access decision.

    RBAC 的缺憾

    对于访问控制模型,大家最熟悉、或者实现最多的就是 RBAC Role Based Access Control,我们通过赋予不同 role 的不同权限来进行访问控制。对于一个主体(往往是组织内的人员或者某个客户端),他可以拥有多个 role 以应对多种不同的操作权限。RBAC 的流行很重要很大程度上是贴近现实生活,方便大家理解与使用,例如老王是销售经理,同时也是技术委员会的成员,我们很自然就给他两个 role:Sales Manager 与 Technology Group Member,而这两个 role 对应的权限也很清晰明确,Sales Manager 可以查看所有的销售数据,并进行修改等,而 Technology Group Member 只能查看技术上的文献,不论是在系统设计还是在运营时,这些名词都与我们的 title 相对应,对于管理人员来说,只是修改不同的 role 对应的权限而已。 当老王专心去做技术研究之后,我们就移除他的 Sales Manager Role,这样他就无法访问销售上的数据了。

    老王失去了 Sales Manager 的 role 后,就无法继续访问销售数据了

    RBAC 在很多时候是管用的,比如我们的系统是面向销售公司或者学校这种组织架构很严整的地方,但是在复杂场景下,RBAC 渐渐就不够用了,它会产生很多虚无的 role 而且在管理和控制上更难:在某个医疗机构中,我们想要控制一个科室内,护士只能访问自己所负责的病人资料时,我们就无法直接使用 nurse 这个 role,我们需要更细粒度的 role 去划分病人老张还是老王,这就会产生和现实不对应的 role,例如:老张的护士,老王的护士。在医院这种病人流动性很大的场景下,频繁的创建和销毁 role 是很容易出问题,我们的确要求很频繁,但是与现实不 match 的虚无的 role 很难管理。

    另一种情况是,如果管理者考虑医疗数据的安全性与隐私性,不希望护士在离开医院后能够访问到病人资料,我们会更加难办,常见的策略要么是在底层网络层进行处理,直接禁止在院外的一切访问,但是很多企业的需求往往是,使用 VPN 我依旧可以访问内部的资源,但是我还是希望基于所在地进行精确的控制,比如看邮件是可以的,但是看财务数据是不行的。在 RBAC 下,我们也可以通过虚拟的 role 来控制,比如下班后给与其 Out of Office 的 role,然后给与这个 role 最小的权限,这自然又需要虚拟的 role 与大量的动态控制。

    给在办公室外的同事创建了与职位不对称的 role

    一般来说,在 RBAC 中滥用 role 所带来的问题被称为 “role explosion”,跟“曹操”与“曹操小时候”这个笑话很类似,但的确我们的访问控制系统中存在很多这样的 role。

    ABAC

    介绍

    所以,直觉上来说我们需要更多的“东西”来进行更精细的访问控制,用来匹配我们复杂的业务场景,同时,我们也希望这个新的模型易于理解和实现,也利于控制与运维,这就是 ABAC —— 基于属性的访问控制 (Attribute Based Access Control) —— 想要解决的问题。简单来说,对于 ABAC 我们判断一个用户是否能访问某项资源,是对其很多不同属性的计算而得到的。

    传统的 RBAC 与 ACL 等访问控制机制中,可以认为是 ABAC 的子集,对于 RBAC,只是我们的访问机制的实现只是基于属性 role 而已,ACL 则是基于属性是 identity 的 AC。

    术语

    要理解 ABAC 首先需要从一些领域内的术语说起,按照我个人的习惯,对于专业性的术语一向是不翻译的,因为的确是受够了每次讨论授权、认证、验权、验证等区别,虽然技术讨论时彼此都理解要说的是什么,但是在场景中这是需要独一无二的、易于理解的名字的(此处插入 DDD 的通用语言),此外还有一个好处就是好写代码,正确的名字可以帮助你的代码易于理解和维护。

    Attribute:属性,用于表示 subject、object 或者 environment conditions 的特点,attribute 使用 key-value 的形式来存储这些信息,比如我在公司的 role 是 developer,role 是 key,developer 是 value,而我的小组昵称袋熊,key 是 team,value 是 wombat。

    Subject:常常指代使用系统的人或者其他使用者(non-person entity,NPE),比如说客户端程序,访问 API 的 client 或者移动设备等等。当然一个 subject 可以有多个的 attributes,就像用户属性这些我们曾经用过的名词一样。

    Object:指代我们这个 ACM 需要管理的资源,比如文件,比如某项记录,比如某台机器或者某个网站,任何你需要进行访问控制的资源都可以称为 object,同样 object 也可以有多项属性,比如袋熊组的桌子,或者洛克组的线上实例,我们也常常使用 resource 来描述这些资源,但是在 ABAC 的环境下,我们称为 object。

    Operation:有了 object 有了 subject,自然就有了 subject 需要做的事情,比如查看某条记录,登录某台服务器,使用某个 SaaS 服务进行报销或者查看候选人的作业。往往包括我们常说的读、写、修改、拷贝等等,一般 operation 是会表达在 request 中的,比如 HTTP method。

    Policy:通过 subject、object 的 attribute 与 environment conditions 一起来判断 subject 的请求是否能够允许的关系表示,比如说:policy 可以用人类语言这样表达,只有袋熊组的人才能访问这几台服务器,或者只有在办公室才能访问这些资源,但对于机器来说,无非就是一个判断语句罢了。当然了,policy 可以是一堆这样 boolean 逻辑判断的组合,比如只有公司的正式员工、并且在公司的六楼区域的网络中,才能访问某个服务。你可以使用 Specification Pattern 来实现 policy,其实没那么复杂。

    Environment Conditions:表示目前进行的访问请求发生时,的操作或情境的上下文。Environment conditions 常常用来描述环境特征,是独立于 subject 与 object 的,常用来描述系统的情况:比如时间,当前的安全等级,生产环境还是测试环境等等。

    基本场景与概念

    一个典型的 ABAC 场景描述如下图,当 subject 需要去读取某一条记录时,我们的访问控制机制在请求发起后遍开始运作,该机制需要计算,来自 policy 中记录的规则,subject 的 attribute,object 的 attribute 以及 environment conditions,而最后会产生一个是否允许读取的结果。

    From NIST 800-162: Basic ABAC Scenario

    1. 尝试访问
    2. ACM 进行计算:subject attributes + object attributes + environment conditions = allow or deny?
    3. 进行访问

    在 NIST 的描述中,我们对 ACM 内部进行进一步的抽象,可以得出这两个核心模块:Policy Decision Point (PDP) 与 Policy Enforcement Point (PEP),如下图:

    PDP + PEP

    所以,实现 ABAC 的核心机制是在请求发起后,subject attributes、object attributes 与 environment conditions 作为输入,PEP 获取规则,PDP 进行计算,最后确定是否有权进行请求。ABAC 的逻辑并不复杂,根据之前我们所画的基本场景与机制的图中,你可以很轻松的开始进行架构设计,往往最开始你需要定义出 subject、object 以及其相关的 attribute,同时你也需要思考,当去进行 object 访问时,你该如何表达 request 以及 operation。

    From NIST 800-162: An Example of ACM Functional Points

    RESTful 是我们常用的设计风格,RESTful 的流行是与 HTTP 协议密不可分的,其中我们很看重 HTTP 协议中的 methods,并且赋予了这些 methods 易于理解的语义,我们会很自然的认为 GET 是获取资源,而 POST 是创建新的资源,PUT 则是修改,使用这些 methods 是与控制资源联系在一起。但是,在 HTTP 协议中,并没有规定 GET 是否可以进行资源上的修改和更新,因为这只是个传输协议罢了,是我们在这个协议之上发明了新的东西,所以也没有“官方的、标准的” RESTful。之所以在这里提到 RESTful 与 HTTP 的关系,是想让大家理解在进行 ABAC 系统设计时,operation 是可以有很多种表达的,而重要的是定义这些 operation 与 request 的关系,你可以使用 SOAP 或者其他协议,或者在 RESTful 之上自己发明一些字段,或者加入进 HTTP header,但是一定需要有清楚的 operation 描述。

    为什么 ABAC 能解决复杂场景下的问题

    在学习 ABAC 的过程中我发现,ABAC 和很多创新一样,并不是因为科技的突破性进展,而只是在 RBAC 的思维上前进了一点,理解 ABAC 的术语时,你能很快的联想到已有的技术实践,比如 AWS IAM。而且,这些术语也如同我们做面向对象编程时,是很好的描述现实的。

    Attribute 易于管理

    我们可以很容易的为不同的用户设计 attribute,往往在很多企业的实现中存在一个 consumer profile 或者 user details 的服务,这些服务中很多字段比如职位、职级、办公室、项目等就是天然的 attribute,对于需要管理的 object,如果是一台虚拟机,那么 IP 地址、归属组织、cost code 等都可以是 attribute,而且因为 attribute 是 K-V 式的,往往一张一对多的表就可以控制好 subject、object 与 attribute 的对应。

    细粒度授权支持

    ABAC 能做到细粒度的授权管理,我们知道,在 policy 中,我们的准许访问的判断是可以写的很灵活的,我们甚至可以判断请求中的某个属性是否满足于一个正则表达式,或者字符串相等(这个很常见,特别是在使用 AWS IAM 做最小权限原则时),我们也可以使用逻辑与、逻辑或的关系自由组合很多不同的访问规则。你可以使用之前提到的 Specification Pattern 很轻松的实现灵活的 policy,解析 JSON 或者 XML 去动态的创建规则,而这些含有规则的 JSON 或 XML,则是可以被编程实现的(可编程的 policy 是动态的授权验权的前提)。你的 policy 甚至可以做到,只有姓张的工程师在某个项目时才能访问某个资源,在 RBAC 的时代,这是很难的。

    访问控制管理成本很低

    ABAC 对系统管理员是友好的,在 RBAC 的时代,如果我需要实现细粒度的资源管理或者经常 subject 与 object 的对应关系经常变动,那么管理员难以操作的,也很容易出现问题,其中常常被采用的解决方案就是创建那些本不应该存在的 role。但是在 ABAC 时代,管理员的管理对象会缩减到 policy,也就是只处理访问控制。我们再回到医疗机构的那个例子中,如果某个护士负责照顾老张,系统管理员只需要新建一个 policy 并写上允许访问即可,当老张出院后,只需要删除或者失效这个 policy 就可以了。在 RBAC 的环境中,你可能需要为某个虚拟的 role 动态的添加 permission,而 permission 如果到了针对单个病人的情况下,是绝对多如牛毛的,特别是有两个叫做老张的病人时。

    往往,我们会使用 JSON 或者 XML 定义这个 policy,那么,这一切都可以完全自动化,而不需要使用管理员点击。再现实一些的话,我们可以完全实现一个审批的流程,如果你使用过 Google Drive,你会对这个请求访问的过程绝不陌生。

    Require Access

    动态的总体控制

    Environment conditions 也能够提供统一的系统级别的控制,比如威胁等级或者按照区域划分安全级别,不同的区域使用 ABAC 时,可能环境上会有变化。例如我们常用红区来表示最高安全级别,那么我们默认就需要 deny 所有请求,并且会触发警报等等,但是在绿区这种办公区域,可能默认所有的请求都是被允许的等等。Environment conditions 可以提供“拉闸”这样的功能,而且它也是可以动态调整的。

    ABAC 在落地上的一些经验和故事

    AWS IAM

    如果谁能作为 ABAC 比较好的实现榜样的话,我第一个想起的就是 AWS IAM 的实现。如果当你的企业正在使用公有云时,对公有云的资源进行控制是非常难以管理的,你当然可以为每个小组安排好虚拟机或者 RDS 之类的,但是这太静态了,而且也不足以细粒度。比如,当我们想实现最小权限原则时就很难办到(例如你的数据库只想被你确定的几台实例所访问到),往往这种需求会实现为,在某个网段内,大家都可以访问到某个数据库或者中间件,那自然是不够理想的。

    公有云的资源是租用的,你可以按照自己的需求动态的扩容或者降低你的资源,那么这种场景下,资源是动态的,而且变化很大(可能会根据流量动态的启动实例或者关闭),那在这种情况下如何做到访问控制与最小权限原则,那你就不能再基于 users 与 roles 进行操作,这时候你就需要 ABAC。好消息是,AWS 作为云计算的领导者,很早就实现了类似的功能,而使用 IAM 则是 operations 的必修课。

    请参考这个视频,来自 AWS Senior Manager,个人认为是讲的最好的 IAM 与 ABAC 介绍

    一些实践经验

    最开始实践 ABAC 是因为我们在进行一个内部云的资源控制项目,在设计时我们参考了 AWS 的玩法,并进行了类似的设计。实际上 ABAC 是与你要管理的资源无关的,更像是一种模式,在云资源控制中大多数 subject 不是用户或者真正的人,而是客户端、实例机器等。实现一个类似 policy 的策略管理并不是很难,主要的工作在管理端的开发以及为客户端提供 SDK 上了,此外还有集成策略。我们也考虑过 XACML & NGAC (Next Generation Access Control) 去描述 policy 或者直接使用,但 XACML 过于复杂以及并不成熟,最后还是采取了自研的策略。故事这里是很多的,但是篇幅有限不予展开。

    总结

    ABAC 在概念上的设计的确是有先进性的,对于有 RBAC 知识的人,ABAC 不难理解,也就是“基于用户属性进行访问权限判断”,但是当我去阅读 NIST 的文章或者参考 XACML 实现时,却担心 ABAC 的复杂实现,毕竟 NIST 给与的企业级实现考虑的长度占文章的一半。对于 ABAC 的概念,这并不是复杂度的来源,而是授权这件事本身的复杂性,对于系统的设计者与管理者来说,一旦需要关注细粒度的授权管理,那么复杂是无法避免的。

    微服务的流行与 ABAC 的配合值得写另一篇文章,特别是分布式身份验证之后,怎么做到分布式的授权与验权,怎么实现 PEP、PDP 等 ABAC 提倡的模块设计,这些东西可否做成应用程序透明的方式,可否与 security sidecar 集成等等,这些都是可以进一步完善的。

    业务人员希望有一种业务语言能够描述授权策略,但是 gap 在于技术人员无法理解与实现,对于 ABAC 这种授权模式中,我们需要的是一位能够同时说业务与技术两种语言的人,将真正的业务需要转为技术语言,从而指导落地。

    参考文献

    展开全文
  • 身份认证与访问控制

    千次阅读 2019-10-23 14:09:05
    身份认证与访问控制 身份认证技术概述 身份认证的概念和种类 多数银行的网银服务,除了向客户提供U盾证书保护模式外,还推出了动态口令方式,可免除携带U盾的不便,这是一种动态密码技术,在使用网银过程中,输入...

    身份认证与访问控制

    身份认证技术概述

    身份认证的概念和种类
    多数银行的网银服务,除了向客户提供U盾证书保护模式外,还推出了动态口令方式,可免除携带U盾的不便,这是一种动态密码技术,在使用网银过程中,输入用户名后,即可通过绑定的手机一次性收到本次操作的密码,非常安全快捷方便。

    1. 身份认证的概念
    通常,身份认证基本方法有三种:用户物件认证;有关信息确认或体貌特征识别。

    认证(Authentication)是指对主客体身份进行确认的过程。

    身份认证(Identity Authentication)是指网络用户在进入系统或访问受限系统资源时,系统对用户身份的识别和验证过程。

    2. 身份认证的作用
    身份认证与鉴别是信息安全中的第一道防线,对信息系统的安全有着重要意义。可以确保用户身份的真实、合法和唯一性,可以防止非法人员进入系统,通过各种违法操作获取不正当利益、非法访问受控信息、恶意破坏系统数据的完整性等情况的发生,严防“病从口入”关口。访问控制和审计系统都依赖于身份认证系统提供的“认证信息”鉴别和审计,如图所示。
    在这里插入图片描述
    3.认证技术的种类
    认证技术是用户身份认证与信息鉴别的重要手段,也是网络系统安全中一项重要内容。
    从鉴别对象上,分为消息认证和用户身份认证:
    (1)消息认证:用于保证信息的完整性和不可否认性。
    (2)身份认证:鉴别用户身份。包括识别和验证两部分。识别是鉴别访问者的身份,验证是对访问者身份的合法性进行确认。
    从认证关系上,身份认证也可分为用户与主机间的认证和主机之间的认证,本章只讨论前者身份认证。

    常用网络身份认证方式
    1. 静态密码方式
    静态密码方式是指以用户名及密码认证的方式,用户名/密码方式是最简单、最常用的身份认证方法,是基于“你知道什么”的验证手段。

    2.动态口令认证
    动态口令是应用最广的一种身份识别方式,基于动态口令认证的方式主要有动态短信密码和动态口令牌(卡)两种方式,口令一次一密。前者是将系统发给用户注册手机的动态短信密码进行身份认证。后者则以发给(机构)用户动态口令牌进行认证。

    3. USB Key认证
    采用软硬件相结合、一次一密的强双因素(两种认证方法)认证模式.其身份认证系统有两种认证模式:基于PKI体系的认证模式、基于冲击/响应模式。
    4. 生物识别技术
    是指通过可测量的身体或行为等生物特征信息进行身份认证的技术。

    1. 指纹识别技术。
    2. 视网膜识别技术。
    3. 声音识别技术。

    5. CA认证系统
    CA(Certification Authority)认证是对网络用户身份证的发放、管理和确认验证的过程。
    CA的主要职能体现在3个方面:
    (1)管理和维护客户的证书和证书作废表(CRL)。
    (2)维护整个认证过程的安全。
    (3)提供安全审计的依据。

    证书的类型与作用
    在这里插入图片描述
    身份认证系统构成及方法
    1. 身份认证系统的构成
    身份认证系统的组成一般包括三个部分:认证服务器、认证系统客户端和认证设备。系统主要通过身份认证协议和认证系统进行实现。身份认证协议又分为:单向认证协议和双向认证协议。若通信双方只需一方鉴别另一方的身份,则称单项认证协议;如果双方都需要验证身份,则称双向认证协议。认证系统网络结构图,如图6-4。
    在这里插入图片描述
    AAA(Authentication,Authorization,Accounting)认证系统应用最广泛。其中认证(Authentication)是验证用户身份与可使用网络服务的过程,授权(Authorization)是依据认证结果开放网络服务给用户的过程,计费审计(Accounting)是记录用户对各种网络操作及服务的用量,并进行计费审计的过程。
    AAA系统及接口是身份认证系统的关键部分。系统中专门设计的AAA平台,可实现灵活的认证、授权、审计功能,且系统预留了扩展接口,可根据具体业务系统的需要,灵活进行相应的扩展和调整。

    常用认证系统及认证方法
    ( 1) 固定口令认证及隐患
    固定口令认证方式简单,易受攻击:
    1)网络数据流窃听(Sniffer)。
    2)认证信息截取/重放。
    3)字典攻击。
    4)穷举尝试(Brute Force)。
    5)窥探密码。
    6)社会工程攻击(冒充)。
    7)垃圾搜索。

    ( 2)一次性(动态)口令方式
    一次性口令认证系统组成:
    1)生成不确定因子。
    2)生成一次性口令。

    (3)双因素安全令牌及认证系统
    E-Securer安全身份认证系统是面向安全领域的AAA系统,提供了双因素身份认证、统一授权、集中审计等功能,可以为网络设备、VPN、主机系统、数据库系统、WEB服务器、应用服务系统等提供集中的身份认证和权限控制。
    *双因素身份认证系统组成

    1. 身份认证服务器提供数据存储、AAA服务、管理等功能,是整个系统的核心部分。
    2. 双因素安全令牌(Secure Key)用于生成用户当前登录的动态口令,采用加密算法及可靠设计,可防止读取密码信息。
    3. 认证代理(Authentication Agent)安装在被保护系统上,被保护系统通过认证代理向认证服务器发送认证请求,从而保证被保护系统身份认证的安全。

    (4)单点登入系统
    在大型网络系统中,面对各种服务器系统认证方法与手段。在查看邮件、访问工资查询系统或登入公司分支机构时,总要记住不同的用户名和口令。不仅不易管理,也为网络安全留下隐患,为此产生了单点登入系统。

    单点登入(Single Sign On,SSO)也称单次登入,是在多个应用系统中,用户只需要登入一次就可访问所有相互信任的应用系统。

    单点登入的优点体现在5个方面:
    1)管理简单。
    2)管理控制便捷。
    3)用户使用简捷。
    4)安全性更高。
    5)合并异构网络。

    银行认证授权管理应用
    1.认证与授权管理体系
    某银行机构的认证与授权管理的体系,对于银行机构的网络安全至关重要,如图所示。
    在这里插入图片描述
    *2. 认证授权管理的原则
    为实现上述的目标,应遵循的指导原则:
    (1)统一规划管理,分步部署实施

    1. 进行认证和授权管理的统一规划,并制订工作计划;
    2. 制订及维护认证和授权相关业务流程;
    3. 统一用户编码规则,制订及维护认证凭证政策;
    4. 确定用户身份信息的数据源和数据流,并进行数据质量管理;
    5. 认证和授权分权管理委派;
    6. 对银行认证和授权的现状进行周期性的审计和跟踪。

    (2) 建立统一信息安全服务平台,提供统一身份认证和访问管理服务

    (3) 保护现有IT投资,并便于未来扩展

    数字签名技术

    1.数字签名的概念
    数字签名(Digital Signature)又称公钥数字签名或电子签章,是以电子形式存储于信息中或以附件或逻辑上关联数据, 用于辨识数据签署人身份,表明签署人对数据中所包含信息的认可。

    基于公钥或私钥密码体制都可获得数字签名,目前主要是基于公钥密码体制数字签名。包括普通数字签名和特殊数字签名两种。

    2.数字签名的方法和功能
    主要方法①基于PKI的公钥密码技术的数字签名;②用一个以生物特征统计学为基础的识别标识,如手书签名和图章的电子图像的模式识别;③手印、声音印记或视网膜扫描的识别;④一个让收件人能识别发件人身份的密码代号、密码或个人识别码PIN;⑤基于量子计算机文件等。比较成熟的、使用方便具有可操作性的、在世界先进国家和普遍使用电子签名技术基于PKI的数字签名技术。

    数字签名算法组成主要有2部分:签名算法和验证算法。
    保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖行为发生。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。
    最终目的是实现6种安全保障功能:
    (1)必须可信。(2)无法抵赖。(3)不可伪造。
    (4)不能重用。(5)不许变更。(6)处理快、应用广。

    数字签名的种类
    1.手写签名或图章识别
    将手写签名或印章作为图像,扫描后在数据库中加以存储,当验证此人的手写签名或盖印时,也用光扫描输入,并将原数据库中的对应图像调出,用模式识别方法对将两者进行比对,以确认该签名或印章的真伪。

    2.生物识别技术
    生物识别技术是利用人体生物特征进行身份认证的一种技术。生物特征是一个人的唯一表征,可以测量、自动识别和验证。生物识别系统对生物特征进行取样,提取其唯一的特征进行数字化处理,转换成数字代码,并进一步将这些代码组成特征模板存于数据库中。

    3. 密码、密码代号或个人识别码
    主要指用一种传统的对称密钥加/解密的身份识别和签名方法。甲方需要乙方签名一份电子文件,甲方可产生一个随机码传送给乙方,乙方用事先双方约定好的对称密钥加密该随机码和电子文件回送给甲方,甲方用同样的对称密钥解密后得到电文并核对随机码,如随机码核对正确,甲方即可认为该电文来自乙方。

    4.基于量子力学的计算机(文件)
    基于量子力学的计算机被称作量子计算机,是以量子力学原理直接进行计算的计算机。比传统的图灵计算机具有更强大的功能,计算速度要比现代的计算机快几亿倍。

    5.基于PKI 的电子签名
    基于PKI 的电子签名被称作数字签名。有人称“电子签名”就是“数字签名”,其实这是一般性说法,数字签名只是电子签名的一种特定形式。

    数字签名过程及实现
    1. 身份认证的实现
    PKI 提供的服务首先是认证,即身份识别与鉴别,就是确认实体即为自己所声明的实体。认证的前提是双方都具有第三方CA所签发的证书,认证分为单向认证和双向认证。

    1. 单向认证。
    2. 双向认证。
      在这里插入图片描述
      2. 数字签名过程
      网上通信的双方,在互相认证身份之后,即可发送签名的数据电文。数字签名的全过程分两大部分,即签名与验证。数字签名与验证的过程和技术实现的原理,如图6-6。
      在这里插入图片描述
      3.数字签名的操作过程
      数字签名的操作过程如图6-7所示,需要有发方的签名证书的私钥及其验证公钥。

    4.数字签名的验证过程
    收方收到发方的签名后进行签名验证,其具体操作过程如图6-8所示。
    在这里插入图片描述
    5.原文保密的数据签名的实现方法
    上述数字签名原理中定义的对原文做数字摘要及签名并传输原文,实际上在很多场合传输的原文要求保密,不许别人接触。要求对原文加密的数字签名方法的实现涉及到“数字信封”问题,此处理过程稍复杂一些,但数字签名的基本原理仍相同,其签名过程如图所示。
    在这里插入图片描述

    访问控制技术

    1.访问控制的概念及任务
    访问控制(Access Control)指针对越权使用资源的防御措施,即判断使用者是否有权限使用或更改某一项资源,并防止非授权使用者滥用资源。目的是限制访问主体对访问客体的访问权限。

    访问控制包含三方面含义:一是机密性控制,保证数据资源不被非法读出;二是完整性控制,保证数据资源不被非法增加、改写、删除和生成;三是有效性控制,保证资源不被非法访问主体使用和破坏。主要任务是保证网络资源不被非法使用,也是保护网络系统和资源安全的重要手段。访问控制三个要素:
    (1)主体S(Subject).指提出访问资源具体请求方.
    (2)客体O(Object). 指被访问资源的实体。
    (3)控制策略A(Attribution)。主体对客体的访问控制规则。

    2. 访问控制的功能和内容
    访问控制的主要功能包括:保证合法用户访问受权保护的网络资源,防止非法的主体进入受保护的网络资源,或防止合法用户对受保护的网络资源进行非授权的访问。

    访问控制的内容包括三个方面:
    (1)认证:包括主体对客体的识别认证和客体对主体检验认证
    (2)控制策略的具体实现:如何设定规则集合从而确保正常用户对信息资源的合法使用,既要防止非法用户,也要考虑敏感资源的泄漏,对于合法用户而言,更不能越权行使控制策略所赋予其权利以外的功能。
    (3)安全审计:使系统自动记录网络中的“正常”操作、“非正常”操作以及使用时间、敏感信息等。
    在这里插入图片描述
    访问控制规则和管理
    1. 访问控制的层次
    可将访问控制分为2个层次:
    1)物理访问控制包括标准的钥匙、门锁和设备标签等.
    2)逻辑访问控制在数据、应用、系统和网络等层面实现。
    对于银行、证券等重要金融机构的网站,网络信息安全重点关注的是逻辑访问控制,物理访问控制则主要由其他类型的安全部门完成。

    2. 访问控制的模式
    主要的访问控制模式有三种:
    (1)自主访问控制(DAC).在自主访问控制下,用户可以按自己的意愿,有选择地与其他用户共享他的文件。
    (2)强制访问控制(MAC)
    (3)基于角色的访问控制(RBAC)

    3. 访问控制规则
    (1)访问者
    主体对客体访问可以基于身份,也可基于角色。即“访问者”可以是身份标识或角色。从业务角度对系统进行统一的角色定义是实现统一访问管理的最佳实践。
    (2) 资源保护
    对资源保护包括两个层面:物理层和逻辑层。
    (3) 访问控制规则
    四要素:访问者(主体),资源(客体),访问请求和访问响应。
    在这里插入图片描述
    4. 单点登入的访问管理
    根据登入的应用类型不同,可分为3种类型.
    1)对桌面资源的统一访问管理
    对桌面资源的访问管理,包括两个方面:
    ①登入Windows后统一访问应用资源。
    ②登入Windows后访问其他应用资源。
    2)Web单点登入
    由于Web技术体系架构便捷,对Web资源的统一访问管理易于实现,如图6-8所示。
    3)对传统C/S 结构应用的统一访问管理
    在传统C/S 结构应用上,实现管理前台的统一或统一入口是关键.采用Web客户端作为前台是企业最为常见的一种解决方案。
    在这里插入图片描述
    访问控制的安全策略
    1. 安全策略实施原则
    访问控制安全策略是指在某个自治区域内(属于某个组织/机构的一系列处理和通信资源范畴), 用于所有与安全相关活动的一套访问控制规则. 其安全策略有三种类型:基于身份的安全策略、基于规则的安全策略和综合访问控制方式。
    访问控制安全策略原则集中在主体、客体和安全控制规则集三者之间的关系。
    (1)最小特权原则。
    (2)最小泄露原则。
    (3)多级安全策略。

    2. 访问控制安全策略的实现
    访问控制安全策略三种实现方式:
    (1)基于身份的安全策略
    基于身份的安全策略是过滤对数据或资源的访问,只有通过认证的主体才能正常使用客体的资源。基于身份的安全策略包括基于个人的策略和基于组的策略,主要有两种基本的实现方法:能力表和访问控制表。
    (2)基于规则的安全策略
    策略中的授权通常依赖于敏感性。在安全策略系统中,所有数据和资源都标注了安全标记,用户的活动进程与其原发者具有相同的安全标记。

    (3)综合访问控制策略
    综合访问控制策略(HAC)继承并吸取多种主流访问控制技术优点,有效地解决了访问控制问题,保护数据的保密性和完整性,保证授权主体能访问客体和拒绝非授权访问.特点:具有良好灵活性、可维护性,可管理性、更精准的访问控制性和更高安全性。
    HAC主要包括:
    (1)入网访问控制。
    (2)网络(资源-服务)权限控制。
    (3)目录级安全控制。
    (4)属性安全控制。
    (5)网络服务器安全控制。
    (6)网络监控和锁定控制。
    (7)网络端口和结点的安全控制。
    (8)防火墙控制

    3.网上银行访问控制的安全策略
    为了让用户安全、放心地使用网上银行,通常在网上银行系统采取了八大安全策略,以全面保护的信息资料与资金的安全。
    (1)加强证书存储安全。
    (2)动态口令。
    (3)先进技术的保障。
    (4)双密码控制,并设定密码安全强度。
    (5)交易限额控制。
    (6)信息提示,增加透明度。
    (7)客户端密码安全检测。
    (8)短信服务

    网络安全审计

    1. 安全审计的概念及目的
    网络安全审计(Audit)是指按照一定安全策略,利用记录、系统活动和用户活动等信息,检查、审查和检验操作事件的环境及活动,发现系统漏洞、入侵行为或改善系统性能的过程。也是审查评估系统安全风险并采取相应措施的一个过程。
    主要作用和目的包括5个方面:
    (1)对潜在攻击者起到威慑和警示作用。
    (2)测试系统的控制情况,及时调整。
    (3)对已出现的破坏事件,做出评估并提供依据。
    (4)对系统控制、安全策略与规程中的变更进行评价和反馈,以便修订决策和部署。
    (5)协助发现入侵或潜在的系统漏洞及隐患。

    2. 安全审计的类型
    从审计级别上可分为3种类型:
    (1)系统级审计。主要针对系统的登入情况、用户识别号、登入尝试的日期和具体时间(次数)、退出的日期和时间、所使用的设备、登入后运行程序等事件信息进行审查。
    (2)应用级审计。主要针对的是应用程序的活动信息。
    (3)用户级审计。主要是审计用户的操作活动信息。

    3. 安全审计系统的基本结构
    安全审计是通过对所关心的事件进行记录和分析来实现的,因此审计过程包括审计发生器、日志记录器、日志分析器和报告机制几部分,如图6-12所示。
    在这里插入图片描述
    系统日记安全审计
    1. 系统日志的内容
    系统日志主要根据网络安全级别及强度要求,选择记录部分或全部的系统操作。
    对于单个事件行为,通常系统日志主要包括:事件发生的日期及时间、引发事件的用户IP地址、事件源及目的地位置、事件类型等。

    2. 安全审计的记录机制
    对各种网络系统应采用不同记录日志机制。记录方式有3种:由操作系统完成,也可由应用系统或其他专用记录系统完成。

    Syslog是一种日志记录方法,程序中凡用其记录信息都发送到该服务器,根据配置决定此信息记录及位置,使系统内应用程序都能以统一方式记录日志,为系统日志的统一审计提供方便。

    Syslog安全审计的记录机制
    在这里插入图片描述
    3. 日志分析
    日志分析的主要目的是在大量的记录日志信息中找到与系统安全相关的数据,并分析系统运行情况.主要任务包括:
    (1)潜在威胁分析。 (2)异常行为检测。
    (3)简单攻击探测。 (4)复杂攻击探测。

    4. 审计事件查阅与存储
    审计系统可成为追踪入侵、恢复系统的直接证据,其自身的安全性更为重要。审计系统的安全主要包括审计事件查阅安全和存储安全。保护查阅安全措施:
    (1)审计查阅。
    (2)有限审计查阅。
    (3)可选审计查阅。

    审计事件的存储安全要求:
    (1)保护审计记录的存储。
    (2)保证审计数据的可用性。
    (3)防止审计数据丢失。

    审计跟踪及应用
    1. 审计跟踪的概念及意义
    审计跟踪(Audit Trail)指按事件顺序检查、审查、检验其运行环境及相关事件活动的过程。主要用于实现重现事件、评估损失、检测系统产生的问题区域、提供有效的应急灾难恢复、防止系统故障或使用不当等方面。
    审计跟踪作为一种安全机制其目标:
    (1)审计系统记录有利于迅速发现系统问题,及时处理事故,保障系统运行。
    (2)可发现试图绕过保护机制的入侵行为或其他操作。
    (3)能够发现用户的访问权限转移行为。
    (4)制止用户企图绕过系统保护机制的操作事件。

    审计跟踪是提高系统安全性的重要工具其意义:
    (1)利用系统的保护机制和策略,及时发现并解决系统问题,审计客户行为。
    (2)审计信息可以确定事件和攻击源,用于检查网络犯罪。
    (3)通过对安全事件的收集、积累和分析,可对其中的某些站点或用户审计跟踪,以提供发现可能产生破坏性行为的证据。
    (4)既能识别访问系统来源,又能指出系统状态转移过程。

    2. 审计跟踪的主要问题
    安全审计跟踪重点考虑:
    (1)选择记录信息内容。
    (2)确定审计跟踪信息所采用的语法和语义定义。
    审计是系统安全策略的一个重要组成部分,贯穿整个系统运行过程中,覆盖不同的安全机制,为其他安全策略的改进和完善提供必要的信息。

    为了确保审计实施的可用性和正确性,需要在保护和审查审计数据的同时,做好计划分步实施. 具体实施主要包括:保护审查审计数据及审计工具与步骤。

    1. 保护审计数据
      应当严格限制在线访问审计日志。
      审计数据保护常用方法: 用数据签名和只读设备存储数据。
      审计跟踪信息的保密性也应进行严格保护。

    2. 审查审计数据
      审计跟踪的审查与分析可分为事后检查、定期检查和实时检查3种。

    3. 审计工具与步骤
      1)审计精选工具。 2)趋势/差别探测工具。 3)攻击特征探测工具。

    金融机构审计跟踪的实施
    1.审计跟踪系统概述
    审计跟踪系统会执行系统方面的策略,如对文件及系统的访问。对实施这些策略的相关系统配置文件改动的监控十分重要,系统须在相关访问发生时生成审计记录。审计跟踪可提供更详细记录。对于重要应用还需对用户和使用细节记录。系统管理员不仅会对所有系统和活动监控,同时也应选择记录某个应用在系统层面上的具体功能。包括审计跟踪任何试图登陆的情况,登陆ID、每次登陆尝试时间和日期、终止登陆时间和日期、使用的设备、登陆成功后使用的功能。

    2.系统安全审计跟踪的实施
    1)不同系统在不同情况下审计跟踪信息所记录的内容有一定差异
    2)对在线审计日志的访问须严格控制。
    3)审计跟踪信息在保留期限到期后应立即予以删除和销毁。
    4)审计跟踪审核分析方式,3种:
    审计跟踪事后审核。
    审计跟踪阶段性审核。
    实时审计分析。
    5)审计跟踪分析的工具。

    展开全文
  • ACL-访问控制列表

    万次阅读 2021-08-27 15:50:47
    访问控制列表的调用的方向 三.策略做好后,在入接口调用和出接口调用的区别 四.访问控制列表的处理原则 五.访问控制表类型 总结 一.概述 作用:读取三层、四层头部信息,根据预先定义好的规则对流量进行...
  • 访问控制是保护企业和个人存储在云中的敏感数据的关键安全技术之一。由于云采用集中式访问控制机制,云中的敏感数据很容易被黑客或云内部管理人员篡改或泄露。为了解决这个问题,我们提出了一个基于区块链的带有隐私...
  • 失效的访问控制

    千次阅读 2018-08-16 11:25:05
    失效的访问控制 出现的问题 文件包含/目录遍历 权限绕过(越权) 权限提升(提权) 不安全直接对象的引用 访问控制的(防御)思路 基于角色的访问控制(RBAC) 自由访问控制(DAC) 强访问控制(MAC) 基于权限的...
  • 访问控制相关知识简介及其实现思路分析。
  • 网络安全第三讲 身份认证与访问控制

    千次阅读 多人点赞 2020-10-20 08:25:57
    网络信息安全第三讲 身份认证与访问控制 一 身份标识与鉴别 1.身份标识与鉴别概念 身份标识就是能够证明用户身份的用户独有的生物特征或行为特征,此特征要求具有唯一性,如用户的指纹、视网膜等生物特征及声音、...
  • 1.关于Java中的访问控制 Java语言中,通过访问(权限)控制符来隐藏类中的具体实现。类不但将数据结构和对数据结构进行的访问和操作进行类封装;而且对封装后的成员通过访问控制符,该隐藏的隐藏,该暴露的暴露。...
  • 华为网络设备-访问控制列表配置实验 作者: 赖裕鑫    排版: 赖裕鑫    审核: 蔡宗唐 文章目录实验介绍实验目的实验拓扑实验思路操作步骤实验验证任务总结 实验介绍 访问控制列表...
  • 学习目标:掌握扩展访问控制列表配置并将扩展IP访问列表应用到特定端口上 1.定义 ①访问列表中定义的规则主要有以下:源地址、目标地址、上层协议、时间区域。 ②扩展IP访问列表(编号100-199、2000、2699)使用...
  • 数据安全-访问控制

    千次阅读 2018-10-17 16:14:44
    数据安全-访问控制访问控制的应用场景访问控制的概念访问控制的三要素访问控制与身份认证的关系访问控制的类型自主访问控制强制访问控制常用安全模型-BLP安全模型(Bell-Lapadula security model)安全模型-BLP安全...
  • 写在前面 ...如果攻击者以管理用户为目标并破坏了他们的帐户,那么他们可以获得管理访问权限,从而执行垂直权限升级。 User ID controlled by request parameter with password disclosure ...
  • 访问控制模型(DAC,MAC,RBAC,ABAC)

    万次阅读 2019-09-12 19:21:09
    项目中需要加入访问控制,对访问控制模型做了一些调研, 本文主要是介绍一些常用的访问控制模型。 基本要素 访问控制模型包括三个要素,即: 主体(Subject) 指主动对其它实体施加动作的实体 客体(Object) 是被动...
  • 访问控制模型详细介绍

    千次阅读 2020-07-09 19:49:55
    1.访问控制模型 为用户对系统资源提供最大限度共享的基础上,对用户的访问权进行管理,防止对信息的非授权篡改和滥用。保证用户在系统安全策略下正常工作,拒绝非法用户的非授权访问请求,拒绝合法用户越权的服务...
  • windows访问控制列表ACL

    千次阅读 2019-07-15 12:56:32
    文章目录术语定义分类DACLSACL安全对象(so) &...windows访问控制列表 --ACL(Access Control List) 关于授权(authorization) 与 访问控制(Acess Control) 微软官网详细介绍: https://docs.microsoft.com/zh-cn...
  • ACL访问控制理论+实操详解

    千次阅读 多人点赞 2020-07-29 15:25:06
    文章目录ACL访问控制理论加实操详解前言1.1:访问控制列表1.2:访问控制列表的类型1.3:访问控制列表在接口应用的方向1.4:访问控制列表的处理过程1.5:ACL原理:二:实验拓扑2.1:配置SW12.2:配置路由器R12.3:...
  • 访问控制的几种模式

    千次阅读 2021-06-20 22:51:32
    由客体的属主对自己的客体进行管理,由属主自己决定是否将自己的客体访问权或部分访问权授予其他主体,这种控制方式是自主的,也就是说,在自主访问控制下,用户可以按自己的意愿,有选择地与其他用户共享他的文件。...
  • ACL应用及其配置 (访问控制列表

    千次阅读 2021-12-08 20:02:17
    访问控制列表ACL(access control list)使用包过滤技术,在路由器上读取第三层(网络层)和第四层(传输层)包头中的信息,如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则,对包进行过滤,从而...
  • 访问控制列表(Access Control List,简称ACL)是根据报文字段对报文进行过滤的一种安全技术。访问控制列表通过过滤报文达到流量控制、攻击防范以及用户接入控制等功能,在现实中应用广泛。ACL根据功能的不同分为标准...
  • 信息安全之访问控制策略

    千次阅读 2021-01-18 20:44:06
    信息安全之访问控制策略1.自主访问控制2.强制访问控制3.基于角色的访问控制4.基于任务的访问控制5.基于对象的访问控制 1.自主访问控制 根据主体的身份及允许访问的权限进行决策。 自主是指具有某种访问能力的主体...
  • 防火墙访问控制Access Control

    千次阅读 2019-02-26 18:31:05
     访问控制技术,指防止对任何资源进行未授权的访问,从而使计算机系统在合法的范围内使用。意指用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术。  访问控制...
  • 访问控制列表(标准ACL)Cisco

    千次阅读 2021-11-28 14:12:33
    访问控制列表(标准ACL)Cisco 访问控制列表(ACL)是一种路由器配置脚本,他根据从数据包报头中发现的条件(源地址、目的地址、源端口、目的端口和协议等)来控制路由器应该允许还是拒绝数据包通过,从而达到访问控制的...
  • 写在前面 一些概念会直接引用,主要是对于靶场和关键知识点会进行讲解。 靶场链接 资料引用 访问控制概念 简单的来说就是应用程序首先会判断用户...水平访问控制:控制用户只能访问自己的资源,而不能访问其他用户相同
  • 访问控制列表--标准ACL

    万次阅读 多人点赞 2018-07-05 12:23:04
    访问控制列表(Access Control List,简称ACL)是根据报文字段对报文进行过滤的一种安全技术。访问控制列表通过过滤报文达到流量控制、攻击防范以及用户接入控制等功能,在现实中应用广泛。ACL根据功能的不同分为标准...
  • Squid 代理服务器之 ACL 访问控制

    万次阅读 2021-11-04 19:02:02
    ACL 访问控制方式2. ACL 规则优先级3. ACL 的定义步骤4. 定义访问控制列表4.1 方法一4.2 方法二 1. ACL 访问控制方式 根据源地址、目标 URL、文件类型等定义列表 格式为:acl 列表名称 列表类型 列表内容 ... ...
  • 数据库访问控制

    千次阅读 2018-10-25 10:26:36
    首先查看数据库现有用户 root用户登录 mysql -uroot -p 查询用户列表 use mysql;select user,host from user;...create user 'yuu6'@'localhost' identified by 'yuu6123456789';...其中用户名是yuu6,访问的...
  • ACL访问控制(华为)

    万次阅读 多人点赞 2019-07-31 15:46:09
    访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。 ACL本质上是一种报文过滤器,规则是过滤...
  • 访问控制(相关概述)

    千次阅读 2020-05-14 23:10:56
    访问控制 访问控制是指在鉴别用户的合法身份后,通过某种途径准许或限制用户对数据信息的访问能力及范围,阻止未经授权的资源访问,包括阻止以未经授权的方式使用资源。 三个要素 访问控制包含三个要素,即主体、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,217,313
精华内容 886,925
关键字:

访问控制

友情链接: vbcptest.rar