• 身份与访问控制


    一.基本概念
    1.主体和客体
    主体:一个主动的实体,它请求对客体或客体内的数据进行访问。
    客体:包含被访问信息或者所需功能的被动实体。
    主体在一个系统或区域内应当可问责。确保可问责性的唯一方法是主体能够被唯一标识,且记录在案。
    主体访问客体的要素:身份标识(你是谁)、身份验证(我是谁、我知道什么、我拥有什么)、授权(可以干什么,访问控制)
    二.身份标识
    用途:提供身份标识信息的主体
    创建或发布安全身份包括3个关键方面:
    • 唯一性:必须有唯一问责的ID
    • 非描述性:应当不表明账号的目的,例如不能为administrator、operator
    • 签发:由一个权威机构提供
    三.身份认证
    1.身份管理(IdM)
    1)目录服务
    • 目录服务为每个客体提供一个DN项
    • 一种为读取和搜索操作而进行过优化的专门数据库软件,它是身份管理解决方案的主要组件
    • 所有资源信息、用户属性、授权资料、角色、潜在的访问控制策略以及其他内容都存储在这里
    元目录和虚拟目录的区别
    • 元目录从不同位置收集信息后存储到中央库
    • 虚拟目录中没有实际数据只是一个实际路径的指向
    常见产品:
    • 轻量级目录访问协议(LDAP)
    • NetIQ的eDirectory
    • Microsoft AD
    2)密码管理
    3)账户管理
    2.身份验证
    用途:验证身份标识信息
    身份其实由属性、权利和特征构成
    1.密码管理
    密码同步:允许用户为多个系统维护一个密码。该产品将同步其他系统和应用程序的密码,同步过程对用户来说是透明的。
    自助式密码重设:用户自主填写基本用户信息和密码信息。
    辅助式密码重设:提供密码提示和密码找回功能
    用户指派:为响应业务过程而创建、维护和删除,存在于一个或多个系统、目录或应用程序中的用户对象与属性。 包括变更传播、自助式工作流程、统一化用户管理、委托式用户管理以及联合变更控制。
    2.鉴别和识别的区别
    鉴别/认证(authentication):一对一的搜索来验证身份被成为,看是不是这个人。
    识别(Identification):一对多,检查是否谁。
    鉴别最能确保在一个系统或域中采取的行动的用户问责,标识的真实性最重要,鉴别是保障用户身份的真实性的。
    3.密码形式
    3.1.知道什么
    体现形式:密码、密码短语、认知密码
    3.1.1.密码
    1)常见的密码攻击的手段:
    • 电子监控:侦听网络流量,也称重放攻击
    • 访问密码文件:访问身份验证服务器上的存储密码的文件
    • 蛮力攻击:尝试各种组合
    • 字典攻击:用字典里面的逐个试。与用户密码进行比对。密码没有散列,只是逐个测试是否是这个密码
    • 社会工程学:通过诱惑、骗取信任。
    • 彩虹表:攻击者有一个表,其中包含已采用散列格式的所有可能密码,时间最短,获取密码的散列值后直接对比
    2)解决密码脆弱性的方法
    • 限幅级别/登录错误次数/上线阀值
    • 登录提示:上一次登录的地点、时间等,可以向用户反映任何可疑活动
    • 缩短密码使用周期
    • 增加密码复杂度
    • 密码检查器:通过执行字典或蛮力攻击等方式检测密码的脆弱性
    • 密码散列与加密:windows 存储注册表和SAM数据库, Linux shadow
    3.1.2.密码短语 (Passphrase)
    虚密码,通常比密码更长。一个比密码长的字符串,例如一段语言,然后由应用程序转换成虚密码,更容易记忆。
    3.1.3.认知密码 (cognitive password)
    基于个人事实或判断的信息
    示例:
    • 信用卡还款日期等信息
    • 毕业学校或母亲姓氏
    • 可以有多个认知信息组合
    3.2.拥有什么
    体现形式:令牌设备、智能卡
    3.2.1.一次性密码(OTP)/动态令牌
    两种方式
    1)同步
    基于时间或计数器(事件型生成器)
    要求:
    • 令牌和身份验证服务器必须共享加密和解密密钥
    • 令牌设备必须与身份验证服务器内部时钟必须具有相同的时间
    • 令牌设备的时间值和密钥用于创建一次性密码
    RSA Security SecurID
    2)异步
    采取挑战/响应的方式
    a)身份验证向用户发送一个值
    b)用户将这个值输入令牌 
    c)令牌加密向用户返回一个作为一次性密码的值 
    d)用户将这个值返回给服务器 
    e)服务器解密这个值,这个值与先期发送的值相同通过验证
    采用对称密钥
    3)优缺点
    缺点:一旦用户ID和令牌设备被共享或窃取,则会被冒用。
    优点:不用记密码。不容易遭受到电子偷听、嗅探和密码猜测
    提高安全:可以采用用户在获取令牌动态密码之前,必须先输入PIN,解开令牌。
    3.2.2.存储卡
    存储卡只存储信息,无法处理信息,比较有代表的是门禁卡
    3.2.3.智能卡
    智能卡是包含微处理器和集成电路,具备信息处理能力例如USB-KEY。
    1)主要分为接触式和非接触式两类。
    接触式
    • 表面具有金色封印
    • 需要提供电源和数据I/O
    非接触式
    • 四周饶有天线
    • 通过进入读卡器的电磁场提供电源
    2)智能卡攻击
    旁路攻击:观察行为,总结分析。非入侵式攻击,在不利用任何形式的缺陷或弱点的情况下找出与组建运作方式相关的敏感信息。
    • 差分功率分析(differential power analysis)
    • 电磁分析(electromagnetic analysis)
    • 计时
    故障生成攻击(falt generation):操纵一些环境组件(改变输入电压、时钟频率、温度波动)来引入“错误”。引入错误后攻击者检查某个加密函数的结果,并查看没有出错时的结果,分析这些结果的不同,使攻击者能够对加密过程进行反向工程,并有望获得加密密钥。
    软件攻击
    微区探查:使用针头和超声振动去除智能卡电路上的外部保护材料,通过直接连接智能卡的ROM芯片来访问和操纵其中的数据
    3.3.做了什么
    生物测定学:通过分析独特的属性或行为来确定某个人的身份,它最有效且准确
    1)两种类型
    a)生物性生物测定
    • 指纹:此技术只提取和存储指纹中的某些特征
    • 手掌扫描:手掌的沟槽、脊状突起和折缝,还包括指纹
    • 手部外形:检查人手指的大小和宽度
    • 视网膜扫描:摄像头投射一束光进入眼镜,捕获这个图案。具有入侵性的,涉及隐私问题扫描眼球后放视网膜上血管的图案。受身体和年龄的变化会有所变化
    • 虹膜扫描:最精确的一种方式。虹膜具有独特的图案、分叉、颜色、环装、光环以及皱纹。成年后保持不变。
    • 声纹
    • 面部扫描
    • 手形拓扑:检查沿着整个手形及其弯曲部分的不同起伏形状。与手部外形组合使用
    b)行为性生物测定
    动态签名:在文件签名过程中引起的物理移动会产生电信号,包括签名的速度、签名过程产生的压力等
    动态击键:获取当输入具有短语时产生的电信号。击键有特点的速度和组合方式
    2)在生物测定学里面有两个概念
    • 1类错误:误拒绝率(FRR),错误拒绝率,拒绝已获授权的个人。
    • 2类错误:误接受率(FAR),接受本应被拒绝的冒名顶替者。
    交叉错误率(CER)或相等错误率(EER),数值越小越好CER值1比2好,还有0值。
    3)数据存储方式
    关于生物测定学将特征读取后转换成二进制创建散列值或加密
    3.4.三种方式总结
    知道什么:比较经济,但是容易被冒用
    拥有什么:用于访问设施或敏感区域,物品容易丢失
    是什么,做了什么:基于物理特征和生物鉴定学,不易被冒用

    四.授权
    用途:我知道你是谁,那么现在允许你做什么呢?使用一个准则来确定主体能够对客体执行的操作。
    访问准则:基于用户、组、位置、时间和事务处理实施不同的访问规则
    默认规则:默认为拒绝访问。
    五.访问控制
    访问控制是几乎所有系统(包括计算机系统和非计算机系统)都需要用到的一种技术。访问控制是按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术。
    1.访问控制模型
    访问控制的核心是授权策略。以授权策略来划分, 访问控制模型(Access Control Model)可分为: 传统的访问控制模型(DACMACACL)、基于角色的访问控制(RBAC) 模型、基于任务和工作流的访问控制(TBAC) 模型、基于任务和角色的访问控制(T-RBAC) 模型等。
    访问控制模型包括三个要素,即:
    • 主体(Subject) 指主动对其它实体施加动作的实体
    • 客体(Object) 是被动接受其他实体访问的实体
    • 控制策略(Policy)为主体对客体的操作行为和约束条件

    安全策略:主体、客体,控制策略三者需要满足的基本安全策略:
    最小特权原则:给主体分配权限时要遵循权限最小化原则,最小特权原则的优点是最大限度地限制了主体实施授权行为,可以避免来自突发事件、错误和未授权用主体的危险。
    最小泄漏原则:它是指主体执行任务时,按照主体所需要知道的信息最小化的原则分配给主体权利。也就是要保护敏感信息不要被无关人员知道,别人知道得越少越好。
    多级安全策略:多级安全策略是指主体和客体间的数据流向和权限控制按照安全级别的绝密(TS)、秘密(S)、机密(C)、限制(RS)和无级别(U)五级来划分。多级安全策略的优点是避免敏感信息的扩散,只有安全级别比他高的主体才能够访问。
    1.1.自主访问控制DAC(Discretionary access control)
    自主访问控制是指由用户有权对自身所创建的访问对象(文件、数据表等)进行访问,并可将对这些对象的访问权授予其他用户和从授予权限的用户收回其访问权限。例如windows下用户对自己的文件授权控制。
    ACL通过授权列表(或访问控制列表)来限定哪些主体针对哪些客体可以执行什么操作。如此将可以非常灵活地对策略进行调整。由于其易用性与可扩展性,自主访问控制机制经常被用于商业系统。
    自主访问控制中,用户可以针对被保护对象制定自己的保护策略:
    • 每个主体拥有一个用户名并属于一个组或具有一个角色
    • 每个客体都拥有一个限定主体对其访问权限的访问控制列表(ACL)
    • 每次访问发生时都会基于访问控制列表检查用户标志以实现对其访问权限的控制
    特点:
    授权的实施主体自主负责赋予和回收其他主体对客体资源的访问权限。
    DAC模型一般采用访问控制矩阵和访问控制列表来存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的。
    DAC访问控制的实现
    • 权限控制列表(ACL):访问控制列表(ACL, Access Control List),每一个客体都配有一个列表,这个列表记录了主体对客体进行何种操作。当系统试图访问客体时,先检查这个列表中是否有关于当前用户的访问权限。ACL是一种面向资源的访问控制模型,它的机制是围绕资源展开的。权限设置是在客体上,围绕客体展开。
    • 权限控制矩阵(ACM):访问控制矩阵(ACM,Access Control Matrix)是通过矩阵形式描述主体和客体之间的权限分配关系。每个主体而言,都拥有对哪些客体的哪些访问权限;而对客体而言,又有哪些主体对他可以实施访问。权限是针对主体、客体之间形成一个权限列表
    linux下对于文件、文件夹的rwx权限控制,windows下的文件、文件夹的权限控制均属于自主访问控制。
    特点是权限是由主体来控制。
    (1)在windows的权限控制
    右击文件、文件夹选择[属性]功能,进入[属性]界面选择[安全]功能

    (2)linux 的权限
    在bash下执行 ls -l查看文件的所属者、所属组、其他组的权限
    -rw-rw-rw- 1 root root 0 Sep 22 13:14 access
    1.2.强制访问控制MAC(Mandatory Access Control)
    用来保护系统确定的对象,对此对象用户不能进行更改。系统独立于用户行为强制执行访问控制,用户不能改变他们的安全级别或对象的安全属性。这样的访问控制规则通常对数据和用户按照安全等级划分标签,访问控制机制通过比较安全标签来确定的授予还是拒绝用户对资源的访问。
    在强制访问控制系统中,所有主体(用户,进程)和客体(文件,数据)都被分配了安全标签,安全标签标识一个安全等级。
    特点
    • 通过梯度安全标签实现信息的单向流通
    • 可以有效地阻止特洛伊木马的泄露
    缺点:实现工作量较大,管理不便,不够灵活,而且它过重强调保密性,对系统连续工作能力、授权的可管理性方面考虑不足。
    MAC通过分级的安全标签实现了信息的单向流通,其中最著名的是Bell-LaPadula模型和Biba模型:Bell-LaPadula模型具有只允许向下读、向上写的特点,可以有效地防止机密信息向下级泄露;Biba模型则具有不允许向下读、向上写的特点,可以有效地保护数据的完整性。
    关于上述模型的描述可详见 https://www.cnblogs.com/worter991/p/12780535.html
    1.3.基于角色的访问控制模型RBAC
    在20世纪90年代期间,大量的专家学者和专门研究单位对RBAC的概念进行了深入研究,先后提出了许多类型的RBAC模型,其中以美国George Mason大学信息安全技术实验室(LIST)提出的RBAC96模型最具有系统性,得到普遍的公认。
    RBAC认为权限的过程可以抽象概括为:判断【Who是否可以对What进行How的访问操作(Operator)】这个逻辑表达式的值是否为True的求解过程。
    即将权限问题转换为Who、What、How的问题。who、what、how构成了访问权限三元组。
    基本思想是将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权

    五个基本数据元素 :
    用户 users(USERS)、角色 roles(ROLES)、目标 objects(OBS)、操作 operations(OPS) 、许可权 permissions(PRMS)
    RBAC支持公认的安全原则:最小特权原则、责任分离原则和数据抽象原则。
    最小特权原则:是因为在RBAC模型中可以通过限制分配给角色权限的多少和大小来实现,分配给与某用户对应的角色的权限只要不超过该用户完成其任务的需要就可以了。
    责任分离原则:是因为在RBAC模型中可以通过在完成敏感任务过程中分配两个责任上互相约束的两个角色来实现,例如在清查账目时,只需要设置财务管理员和会计两个角色参加就可以了。
    数据抽象:借助于抽象许可权这样的概念实现的,如在账目管理活动中,可以使用信用、借方等抽象许可权,而不是使用操作系统提供的读、写、执行等具体的许可权。但RBAC并不强迫实现这些原则,安全管理员可以允许配置RBAC模型使它不支持这些原则。因此,RBAC支持数据抽象的程度与RBAC模型的实现细节有关。
    模型的优点
    • 通过角色配置用户及权限,增加了灵活性
    • 支持多管理员的分布式管理,管理比较方便
    • 支持由简到繁的层次模型,适合各种应用需要
    • 完全独立于其它安全手段,是策略中立的( policy-neutral )
    通过对resource的粒度控制,可以做到大到整个系统,小到数据库表字段的控制。
    RBAC96模型族
    其中包括RBAC0~RBAC3四个概念性模型。
    基本模型RBAC0定义了完全支持RBAC概念的任何系统的最低需求。
    RBAC1和RBAC2两者都包含RBAC0,但各自都增加了独立的特点,它们被称为高级模型。 RBAC1中增加了角色分级的概念,一个角色可以从另一个角色继承许可权。
    RBAC2中增加了一些限制,强调在RBAC的不同组件中在配置方面的一些限制。
    RBAC3称为统一模型,它包含了RBAC1和RBAC2,利用传递性,也把RBAC0包括在内。这些模型构成了RBAC96模型族。
    管理方式
    • 非RBAC方式:用户直接与应用程序对接,不使用角色
    • 有限RBAC方式:用户与多个角色相互对接,并且直接与并不具有角色访问型访问功能的其他类型应用程序对接
    • 混合RBAC方式:用户与多应用程序角色相互对应,并且只为这些角色分配选定的权限
    • 完全RBAC方式:用户与企业角色相互对应
    1.4.基于属性的访问控制(ABAC)
    ABAC是一种为解决行业分布式应用可信关系访问控制模型,它利用相关实体(如主体、客体、环境)的属性作为授权的基础来研究如何进行访问控制。基于这样的目的,可将实体的属性分为主体属性、实体属性和环境属性。在基于属性的访问控制中,访问判定是基于请求者和资源具有的属性,请求者和资源在ABAC 中通过特性来标识,这使得ABAC具有足够的灵活性和可扩展性,同时使得安全的匿名访问成为可能,这在大型分布式环境下是十分重要的。
     ABAC通常使用配置文件(XML 、YAML)或DSL配合规则解析来使用。其中XACML(eXtensilde Access contorl markup Language)是其中的一种实现方式。
    ABAC 有时候也被成为PBAC(Policy-Based Access Control)或CBAC(Claims-Based Access Control)
    属性通常来说分为四类:
    • 用户属性(如用户年龄)
    • 环境属性(如当前时间)
    • 操作属性(如读取)
    • 对象属性(如一篇文章,又称资源属性)
    跟RBAC相比,ABAC对权限的控制粒度更细,如控制用户的访问速率。实际开发中可以结合RBAC角色管理的优点和ABAC的灵活性一起使用。
    1.5.基于任务和工作流的访问控制模型TBAC
    所谓任务(或活动) ,就是要进行的一个个操作的统称。TBAC 模型是一种基于任务、采用动态授权的主动安全模型
    基本思想
    1)将访问权限与任务相结合,每个任务的执行都被看作是主体使用相关访问权限访问客体的过程。在任务执行过程中, 权限被消耗,当权限用完时,主体就不能再访问客体了。
    2)系统授予给用户的访问权限,不仅仅与主体、客体有关,还与主体当前执行的任务、任务的状态有关。客体的访问控制权限并不是静止不变的, 而是随着执行任务的上下文环境的变化而变化。
    缺点:TBAC 中并没有将角色与任务清楚地分离开来, 也不支持角色的层次等级;另外,TBAC并不支持被动访问控制, 需要与RBAC结合使用 。
    1.6.基于任务和角色的访问控制模型T-RBAC
    T-RBAC 模型把任务和角色置于同等重要的地位, 它们是两个独立而又相互关联的重要概念。任务是RBAC 和TBAC能结合的基础
    T-RBAC 模型中是先将访问权限分配给任务,再将任务分配给角色,角色通过任务与权限关联,任务是角色和权限交换信息的桥梁。
    在T-RBAC模型中, 任务具有权限,角色只有在执行任务时才具有权限, 当角色不执行任务时不具有权限;权限的分配和回收是动态进行的,任务根据流程动态到达角色, 权限随之赋予角色,当任务完成时,角色的权限也随之收回;角色在工作流中不需要赋予权限。这样, 不仅使角色的操作、维护和任务的管理变得简单方便, 也使得系统变得更为安全。
    1.7.基于对象的访问控制模型
    OBAC从信息系统的数据差异变化和用户需求出发,有效地解决了信息数据量大、数据种类繁多、数据更新变化频繁的大型管理信息系统的安全管理。OBAC从受控对象的角度出发,将访问主体的访问权限直接与受控对象相关联,一方面定义对象的访问控制列表,增、删、修改访问控制项易于操作,另一方面,当受控对象的属性发生改变,或者受控对象发生继承和派生行为时,无须更新访问主体的权限,只需要修改受控对象的相应访问控制项即可,从而减少了访问主体的权限管理,降低了授权数据管理的复杂性。
    1.8.下一代访问控制模型UCON
    使用控制( UsageControl:UCON) 模型 , 也称ABC模型。UCON模型包含三个基本元素: 主体、客体、权限和另外三个与授权有关的元素: 授权规则、条件、义务。
    UCON模型中的主要元素如下:
    主体( Subjects)。它是具有某些属性和对客体(Objects)操作权限的实体。主体的属性包括身份、角色、安全级别、成员资格等。这些属性用于授权过程。客体( Objects) 。它是主体的操作对象,它也有属性,包括安全级别、所有者、等级等。这些属性也用于授权过程。
    权限( Rights)。它是主体拥有的对客体操作的一些特权。权限由一个主体对客体进行访问或使用的功能集组成。UCON中的权限可分成许多功能类, 如审计类、修改类等。
    授权规则( AuthorizationRules) 。它是允许主体对客体进行访问或使用前必须满足的一个需求集。授权规则是用来检查主体是否有资格访问客体的决策因素。
    条件( Conditions)。它是在使用授权规则进行授权过程中, 允许主体对客体进行访问权限前必须检验的一个决策因素集。条件是环境的或面向系统的决策因素。条件可用来检查存在的限制, 使用权限是否有效,哪些限制必须更新等。
    义务( Obligations)。它是一个主体在获得对客体的访问权限后必须履行的强制需求。分配了权限, 就应有执行这些权限的义务责任。
    在UCON模型中, 授权规则、条件、义务与授权过程相关,它们是决定一个主体是否有某种权限能对客体进行访问的决策因素。基于这些元素, UCON有四种可能的授权过程, 并由此可以证明:UCON模型不仅包含了DAC,MAC, RBAC, 而且还包含了数字版权管理(DRM)、信任管理等。UCON 模型涵盖了现代商务和信息系统需求中的安全和隐私这两个重要的问题。因此, UCON模型为研究下一代访问控制提供了一种有希望的方法, 被称作下一代访问控制模型。
    2.访问控制方法
    2.1.限制用户接口
    1)隐藏某些按钮
    2)数据库视图 (create view)
    用来限制用户可以访问的数据中数据,生产一个虚拟表是数据库视图view
    关系数据数据库中的行叫元组,列叫属性
    3)物理限制接口
    通过只在键盘上提供某些键或者只在屏幕上提供某些触摸按钮: ATM机
    4)限制用户选择功能的用户界面成为约束的用户界面(Constrained user interfaces)
    2.2.内容相关访问控制
    对客体的访问取决于客体的内容:例如关键字过滤,包过滤防火墙
    上下文相关访问控制,基于上下文关系作出决策,示例:状态检测防火墙
    规则型访问控制,通过预先定义的规则限制主体的访问尝试
    3.访问控制管理
    3.1.身份验证协议
    密码身份认证协议,PAP (Password Authentication Protocol)
    挑战握手身份验证协议,CHAP (Challenge Handshake Authentication Protocol)
    可扩展身份验证协议,EAP (Extensible Authentication Protocol)
    3.2.集中式访问控制
    AAA协议:身份验证(Authentication)、授权(Authorization)、审计(Audit),也就是常说的3A。
    实际目前市场上会有说4A的产品,多了一个账号(Account),就是常说的IAM产品。
    常见的实现协议
    1)RADIUS
    RADIUS是一种C/S结构的协议,它的客户端最初就是NAS(Net Access Server)服务器,任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议认证机制灵活,可以采用PAP、CHAP或者Unix登录认证等多种方式。RADIUS是一种可扩展的协议,它进行的全部工作都是基于Attribute-Length-Value的向量进行的。RADIUS也支持厂商扩充厂家专有属性。
    RADIUS是一种流行的AAA协议,采用UDP协议传输,在协议栈中位置如下:


    只由当用户名、密码传输到服务器时才加密
    组合了身份验证和授权
    使用UDP传输协议认证端口:1812 计费端口:1813
    即支持动态也支持静态口令
    2)TACACS
    TACACS,全称终端访问控制器访问控制系统(Terminal Access Controller Access-Control System),是一种用于认证的计算机协议,在UNIX网络中与认证服务器进行通信,TACACS允许远程访问服务器与认证服务器通信,以决定用户是否有权限访问网络。
    • TCP或UDP协议的 49 端口
    • 将身份验证和授权过程组合一起
    • 使用静态口令。
    Cisco在1990引进的最近的TACACS版本称作XTACACS(扩展 TACACS)。在较新的或更新过的网络中,这两个版本大多被TACACS+和RADIUS取代了。 
    3)TACACS+
    TACACS+基于TACACS,但是,尽管名字如此,它是一个全新的协议,与之前的TACACS并不兼容,在最近构建或更新的网络中,TACACS+和RADIUS已经广泛地取代了早先的协议,而在一些旧的系统中,仍然还运行着一些TACACS和XTACACS的系统。
    • 使用TCP端口49
    • 认证、授权、审计三个协议独立,可单独部署
    • 操作中使用APPLETALK和 NETBIOS.
    • 采用扩展双因素用户身份验证,可以使用动态密码验证
    • 加密客户端和服务器之间的所有数据

    4)Diameter
    Diameter(为直径,意为着Diameter协议是RADIUS协议的升级版本)协议包括基本协议,NAS(网络接入服务)协议,EAP(可扩展鉴别)协议,MIP(移动IP)协议,CMS(密码消息语法)协议等。
    Diameter协议不是一个单一的协议,而是一个协议簇,它包括基本协议(Diameter Base Protocol)和各种由基本协议扩展而来的应用协议,如NASREQ、Mobile、CMS Security等。Diameter基本协议为各种认证、授权和计费业务提供了安全、可靠、易于扩展的框架。
    Diameter协议支持移动IP、NAS请求和移动代理的认证、授权和计费工作,协议的实现和RADIUS类似,也是采用AVP,属性值对(采用Attribute-Length-Value三元组形式)来实现,但是其中详细规定了错误处理, failover机制,采用TCP协议,支持分布式计费,克服了RADIUS的许多缺点,是最适合未来移动通信系统的AAA协议。
    在AAA提供的功能
    • 验证:PAP、CHAP、EAP,验证信息端到端保护,重放攻击保护
    • 授权:重定向、安全代理、中继和转接,状态调节,主动中断连接,按需重新授权
    • 审计/问责:报告、ROAMOPS问责、事件监控
    安全性
    • 支持failover
    • 强制要求支持IPSEC、TLS。
    • 运行在TCP、SCTP

    4.访问控制技术
    1)行政管理性控制
    • 人员控制
    • 监管结构
    • 安全意识培训
    • 测试
    • 策略和措施
    2)物理性控制
    • 网络分段/区域隔离控制
    • 周边安全
    • 工作区分离
    • 综合布线
    • 控制区域
    • 数据备份
    • 计算机控制
    3)技术性控制
    • 系统控制
    • 网络架构
    • 网络访问
    • 加密和协议
    • 审计

    六.访问控制标记语言
    1.WEB访问管理(WAM)
    用于控制用户在使用WEB浏览器与基于WEB的企业资产进行交互时能访问哪些内容,对应门户系统。
    cookie:以文本形式驻留在浏览器中,会话结束从内存中清除
    2.XML
    gml(1969)->sgml(1985)->html(1993)->xml(1998)
    1969 gml(通用标记语言),主要目的是要在不同的机器之间进行通信的数据规范
    1985 sgml(标准通用标记语言)
    1993 html(超文本标记语言,www网)
    html语言本身是有一些缺陷的 
    (1)不能自定义标签 
    (2)html本身缺少含义 
    (3)html没有真正的国际化
    有一个中间过渡语言,xhtml: html->xhtml->xml
    XML的出现解决了程序间数据传输的问题,具有良好的可读性,可维护性
    2)SAML
    安全断言标记语言(英语:Security Assertion Markup Language,简称SAML,发音sam-el)是一个基于XML的开源标准数据格式,它在当事方之间交换身份验证和授权数据,尤其是在身份提供者和服务提供者之间交换。SAML是OASIS安全服务技术委员会的一个产品,始于2001年。其最近的主要更新发布于2005年,但协议的增强仍在通过附加的可选标准稳步增加。
    SAML解决的最重要的需求是网页浏览器单点登录(SSO)。单点登录在内部网层面比较常见,(例如使用Cookie),但将其扩展到内部网之外则一直存在问题,并使得不可互操作的专有技术激增。(另一种近日解决浏览器单点登录问题的方法是OpenID Connect协议)
    使用SOAP(简单对象访问协议), 这个主要用于跨不是同一组织的平台进行身份验证访问
    3)SPML
    服务供应标记语言(SPML,Services Provisioning Markup Language)是一种可扩展标记语言(XML),它方便了应用程序和组织、企业或者代理之间的供应信息交换。根据为其提供支持的技术团队,供应为“管理用户或系统访问权利或者与电子公开服务相关的数据所需的所有步骤的自动化”。
    SPML最初由结构信息标准化促进组织(OASIS)的一个技术工作组于2003年公开展示。SPML可望加入一个标准家族,这些标准设计用于简化网络服务的实施以及在供应系统之间建立交互操作,这些供应系统允许组织为来自组织中单个端点的网络服务和应用安全创建终端用户帐户。
    简单SPML请求消息可用于在多个供应系统中同时创建单个用户帐户。取消提存,例如当职员离开公司时,通过关闭访问帐户来实现。这消除了孤立帐户并避免了前职员从客户系统获取访问。 
    允许驻留在一个组织或多个组织上的应用程序交换供应数据,允许在不同系统和应用程序上同时建立和管理账号
    组成
    • 请求机构(RA):请求建立信息账户或对已有账号进行修改
    • 供应服务器提供者(PSP):响应账号请求
    • 供应服务目标(PST):在请求系统上执行配置活动的实体
    流程
    a)新来员工发起建立账号请求到RA
    b)RA创建SPML消息,上面载明新账户要求,然后把这些消息发送给执行PSP功能的软件
    c)PSP软件核准对比组织已经核准创建的用户标准。若批准,发送新的SPML消息给用户真正需要访问的PST
    d)PST软件建立被请求账号并配置访问权限
    4)XACML
    XACML是一种用于决定请求/响应的通用访问控制策略语言和执行授权策略的框架,它在传统的分布式环境中被广泛用于访问控制策略的执行。在典型的访问控制框架中,有策略执行点PEP(Policy Enforcement Point)和策略决定点PDP(Policy Decision Point)。PEP用于表达请求和执行访问控制决定。PDP从PEP处接受请求,评估适用于该请求的策略,并将授权决定返回给PEP。
    5)OpenID
    由第三方进行用户身份验证的开发标准,类似SAML。信息由第三方维护
    6)OAuth
    对第三方的一个开放授权标准。
    例如你的linkedin账号,系统提示是否允许访问你的google通信录。如果你同意,google会弹出一个窗口,询问你是否授权linkedin来管理你的通信录。如果授权,linkedin就获得了访问联系人的权限
    类似于手机应用程序询问是否访问手机上的内存、通信录等
    七.访问控制监控
    1.IDS
    入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于,IDS是一种积极主动的安全防护技术。 IDS最早出现在1980年4月。 1980年代中期,IDS逐渐发展成为入侵检测专家系统(IDES)。 1990年,IDS分化为基于网络的IDS和基于主机的IDS。后又出现分布式IDS。目前,IDS发展迅速,已有人宣称IDS可以完全取代防火墙。
    1)按照应用环境分
    网络型IDS(NIDS)
    主机型IDS(HIDS):主机IDS对主机具有侵害性
    2)按照特征分
    a)模式/特征型匹配
    • 特定规则,例如源IP和目的IP是一致
    • 效率取决于特征的数量和更新的频率
    • 类似于防病毒软件
    • 无法识别新的攻击
    b)状态/规则型匹配
    • 对比初始状态和入侵后的状态
    • 判断数据包有没有遵循正常规则
    基于黑名单的IDS为基于签名/特征的IDS,基于白名单的IDS为异常/特征IDS.将攻击特征存储下来用作比对为签名IDS
    c)异常型
    基于统计异常:先进入一种学习模式。行为型IDS。由于网络不断变化,存在误报。
    基于协议异常:可作为统计型IDS的过滤器,充分理解协议每个字段
    基于流量异常
    规则型或启发型:由知识库、推理引擎和规则型编程组成
    IDS的限制:当网络流量超过IDS可处理的上线,攻击就会被忽略
    2.IPS
    入侵防御系统(IPS: Intrusion Prevention System)是电脑网络安全设施,是对防病毒软件(Antivirus Programs)和防火墙(Packet Filter, Application Gateway)的补充。 入侵防御系统(Intrusion-prevention system)是一部能够监视网络或网络设备的网络资料传输行为的计算机网络安全设备,能够及时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为。
    3.蜜罐
    蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
    帮助管理员知道攻击正在发生,提醒管理员进行安全加固
    事件处理流程: 
    1)分流(Triage),发现安全事件,判断属于哪个类型,由哪个部门;
    2)调查,专业部门要对事件进行初步的判断;
    3)遏制,减少事件的损失;
    4)分析和跟踪,进行详细调查,确定事件的根源;
    5)恢复 
    6)总结经验教训

    八.访问控制常见攻击
    1)客体重用:例如硬盘未进行格式化就给其他人使用
    2)发射安全:电磁泄露
    3)登录欺骗:攻击者使用一个假的登录界面,获取用户密码
    鱼叉式网络钓鱼:用来欺骗特定目标
    网址嫁接“:将受害者重定向到一个合法的伪造网址
    4)针对口令攻击手段
    电子监控:通过监听流量,捕获密码信息,进行重放攻击
    访问密码文件:访问服务器上的密码文件
    蛮力攻击 (暴力破解):使用所有可能的字符、数字和符合来循环猜解密码
    字典攻击:构造字典文件与用户的密码进行比较
    社会工程:通过打电话重置密码或通过骗取密码
    彩虹表:包括所有的散列格式的密码
    键盘记录
    5)智能卡面临攻击
    旁路攻击
    差分功率分析 (differential power analysis):查看处理过程排放的功率量
    电磁分析 (electromagnetic analysis):查看发射频率
    时序分析 (Timing analysis):计算某以特定功能所需的时间
    软件攻击:在智能卡中输入提取用户指令的信息
    故障生成 (fault generation):通过一些环境组件来引起错误。包括:温度波动、改变输入电压、时钟频率
    微区探查 (microprobing)。使用针头和超生震动去除智能卡点路上的外部保护材料, 直接连接智能卡ROM芯片来访问和操作其中的数据
    6) 授权蔓延 (creep): 因工作或部门调动而获取越来越多的权限
    7)竞争条件
    是进程错误的顺序针对某个共享资源执行其任务
    是一种攻击方式,例如当身份鉴别和授权使用同一个参数时,攻击者迫使授权在身份鉴别之前获取权限。
    九.审计/可问责性
    审计功能确保用户的动作可问责,验证安全策略已实施,并能用做调查工具。可以及时报警和判断攻击的范围和破坏程度
    审计内容:时间、地点、任务、发生什么 
    1)记录的内容
    a)系统级事件
    • 系统性能
    • 登录尝试
    • 登录ID
    • 每次登录尝试的日期和时间
    • 用户和终端的封锁
    • 管理工具的使用
    • 使用的设备
    • 执行的功能
    • 更改配置文件的请求
    b)应用程序级事件
    • 错误消息
    • 打开和关闭文件
    • 文件的修改
    • 应用程序的内安全违规
    c)用户级事件
    • 身份标识和身份验证尝试
    • 使用的文件、服务和资源
    • 运行的命令
    • 安全违规
    3)可问责性:跟踪主体对客体所执行活动的审计日志和监控
    4)保护审计数据和日志信息
    • 数字签名
    • 摘要信息
    • 强访问控制
    击键监控:一种能够检查和记录用户在操作过程中的键盘输入的监控行为,主要是审计某个人和他的活动

    特别声明:
    1.以上所有描述内容部分参考链接/文献未逐一列出,若有侵权,请及时告知,有则改之无则加勉。
    2.以上仅是学习过程的总结,相信有很多理解偏差的地方,特别希望指出,给予帮助,更新知识体系,共同进步。
    参考链接:
    https://www.jianshu.com/p/206f7e0ada0c 访问控制模型综述
    https://casbin.org/docs/en/overview
    http://www2.imm.dtu.dk/courses/02230/AdvancedAccessControl.pdf
    https://blog.csdn.net/LngZd/article/details/100781310 访问控制模型(DAC,MAC,RBAC,ABAC)
    https://blog.csdn.net/aidem_brown/article/details/82217481 XML——XML介绍和基本语法
    https://www.ibm.com/developerworks/cn/xml/x-secspml1/ 使用 SPML 有效地进行身份管理
    https://www.cnblogs.com/maxigang/p/9051257.html SAML
    https://baike.so.com/doc/338205-358159.html XACML 
    https://baike.baidu.com/item/TACACS/5703563?fr=aladdin TACACS
    https://bbs.51cto.com/thread-25667-1.html RADIUS培训教材
    https://baike.baidu.com/item/RADIUS/3073981?fr=aladdin RADIUS
    https://baike.baidu.com/item/Diameter Diameter
    https://baike.baidu.com/item/SAML/1033119?fr=aladdin SAML
    https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E4%BE%9B%E5%BA%94%E6%A0%87%E8%AE%B0%E8%AF%AD%E8%A8%80 服务供应标记语言
    https://baike.baidu.com/item/%E5%85%A5%E4%BE%B5%E6%A3%80%E6%B5%8B%E7%B3%BB%E7%BB%9F/404710?fromtitle=IDS&fromid=22042 入侵检测系统
    https://baike.baidu.com/item/%E5%85%A5%E4%BE%B5%E9%98%B2%E5%BE%A1%E7%B3%BB%E7%BB%9F/2083032?fromtitle=IPS&fromid=2131631 入侵防御系统
    https://baike.baidu.com/item/%E8%9C%9C%E7%BD%90%E6%8A%80%E6%9C%AF?fromtitle=%E8%9C%9C%E7%BD%90&fromid=5390254 蜜罐技术








  • 相关阅读:
    How To Install MySQL on Ubuntu 16.04
    Rabbitmq vs. kafka
    Expanded encryption and decryption signature algorithm SM2 & SM3
    Open Source CRM
    在WIN10打造成能运行Oracle的JDK的Linux
    Spring Cloud Zipkin
    Debian中APT的前世今生
    nginx for Windows Known issues:path
    Ajax cross domain
    JQuery Cross Domain Ajax(jsonp)
  • 原文地址:https://www.cnblogs.com/worter991/p/13329841.html
Copyright © 2020-2023  润新知