笔记(主栏)
1. 身份鉴别基础
1.1 标识
1.1.1基本概念
- 实体身份的一种计算机表达
- 每个实体与计算机内部的一个身份表达绑定
- 信息系统在执行操作时,首先要求用户标识自己的身份,并提供证明自己身份的依据,不同的系统使用不同的方式表示实体的身份,同一个实体可以有多个不同的身份
1.1.2 示例
- 用户ID、编号、用户名
1.2 鉴别
1.2.1基本概念
- 鉴别是将标识和实体联系在一起的过程
- 确认实体是它所声明的,提供了关于某个实体身份的保证,某一实体确信与之打交道的实体正是所需要的实体
1.2.2 示例
- 输入用户名和密码登录系统
- 刷卡进入办公区
1.3 身份鉴别
1.3.1作用
- 授权的前提:访问控制机制的正确执行依赖于对用户身份的正确识别,标识和鉴别作为访问控制的必要支持,以实现对资源机密性、完整性、可用性及合法使用的支持。
- 数据源认证:与完整性保护结合可对数据源进行认证
- 为安全审计服务提供支撑:审计记录中,一般需要提供与某一活动关联的确知身份
1.3.2相关实体
- 被验证者P(Prover):出示身份标识的人,又称声称者(Claimant)
- 验证者V(Verifier):检验声称者提出的身份标识的正确性和合法性,决定是否满足要求
- 可信赖者TP (Trusted Third Party) :参与鉴别的第三方,参与调解纠纷
1.3.3 单向鉴别和双向鉴别
- 单向鉴别: 通信双方中只有一方向另一方进行鉴别
- 双向鉴别:通信双方相互进行鉴别
- 第三方鉴别:由可信第三方来确认身份
1.3.4 身份鉴别的方式
- 身份鉴别的基本方式(按照证据特点)
- 实体所知:验证实体所知什么,如一个秘密的口令或PIN码。
- 实体所有:验证实体拥有什么,如钥匙、磁卡、智能IC卡。
- 实体特征:验证实体不可改变的特性,如指纹、声音等生物学测定得来的标识特征。如:声音、指纹、掌纹等。
- 多因素鉴别
- 使用两种(双因素鉴别)或两种以上鉴别方式的组合例如:网上银行的转账验证时,必须同时使用用户名/密码(实体所知)和USBKey(实体所有)才能完成一次转账验证
2. 基于实体所知的鉴别
2.1 基本概念
- 使用可以记忆的秘密信息作为鉴别依据
- 目前广泛采用的使用用户名和登录密码进行登录验证就是一种基于“实体所知"的鉴别方式
- 实现简单、成本低,广泛应用在各类商业系统中
2.2 面临安全威胁
- 信息泄露:登录密码猜测、线路窃听
- 信息伪造:重放攻击
2.3 登录密码猜测及防御措施
- 登录密码猜测攻击:鉴别依据(登录密码)强度不足,攻击者容易猜出来
- 典型的弱密码
- 系统默认生成
- 为了方便记忆,用户使用简单的数字或与自己相关的信息来设置
- 简单的数字组合,如88888888
- 顺序字符组合,如abc123
- 键盘临近组合,如qwe123
- 特殊含义字符,如password
2.4 安全口令的特点
- 要有密码复杂性要求,含有数字,字符,字母,特殊字符等。
- 以上的字符必须安装无规律的组合,不要使用英语单词,年月份等组合。很容易被暴力破解或者字典破解。
- 密码的位数至少达到8位以上,现在很多论坛,邮箱,网银等
- 已经达到16位密码的支持。
- 定期的更换密码
- 最好不要使用以前被破解过的密码、也不要使用同一密码用做各种不同的账户密码。
2.5 安全威胁
- 穷举攻击是针对口令进行破解的一种方式,它通过穷举所有可能的口令的方法来进行攻击。
- 假设某用户设置的口令是7位数字,那么最多存在10的七次方种口令。尽管一次输入猜对口令的可能性为千万分之一,但在现有网络计算环境中,猜测一个口令的投入很小,攻击者很容易做到利用软件连续测试10万、100万, 甚至1000万个口令,理论上,只要有足够的时间,所有口令都可以被破解。
2.6 暴力破解防护
- 使用安全的密码(自己容易记,别人不好猜,强度、复杂度)
- 系统、应用安全策略(阻止攻击者反复尝试)
- 随机验证码:验证码、变形、干扰、滑块、图像识别、……
2.7 窃听攻击
- 攻击者在用户名、密码传输路径上设置嗅探器,采集到用户发送的验证信息(用户名和密码)
- 窃听攻击背景:由于早期采用的网络协议在网络上以明文(如TeInet, FTP, POP3) 或简单的编码(如HTTP采用的BASE64).形式传输的口令等,攻击者通过在会话路径中的任何节点部署嗅探器,就可以获得用户的口令。
- 线路窃听防御措施
- 防御措施:加密(单向函数)
- 攻击者可能构造一张q与p对应的表,表中的p尽可能包含所期望的值,例如彩虹表:(解决办法:在口令中使用随机数)
2.8 重放攻击
- 重放攻击又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,特别是在认证的过程中,用于认证用户身份所接收的包,来达到欺骗系统的目的。对于传输的会话凭证(登录密码或session等),如果仅采取简单加密措施,攻击者可以记录下来,并且在稍后的验证过程中进行重放,系统无法区分这次发送的登录信息是攻击者或是合法用户
- 针对重放攻击防御措施
- 在会话中引入时间戳,由于时间戳的存在,攻击者的重放攻击会被系统拒绝;
- 使用一次性口令
- 在会话中引入随机数
3. 基于实体所有的鉴别
3.1 概念
- 采用较多的一种鉴别方法.
- 使用用户所持有的东西来验证用户的身份
- 用于鉴别的东西通常不容易被复制的,具有唯一性
- 实体所有的鉴别方式是一种长期被使用的身份鉴别方式。
3.2 分类
3.2.1 集成电路卡(Integrated CircuitCard, IC Card)
-
信息化时代广泛使用的“实体所有”鉴别物品。
-
通过将一个专用的集成电路芯片镶嵌于符合ISO7816标准的PVC(或ABS等)塑料基片中,封装成外形与磁卡类似的卡片形式,也可以封装成纽扣、钥匙、饰物等特殊形状。
-
IC卡根据实现方式可以分为内存卡、安全卡、CPU卡等不同类型。
3.2.2 内存卡( Memory Card)
-
内嵌存储器用于存储各种数据
-
信息存储方便,使用简单,价格便宜,很多场合可替代磁卡
-
由于其本身不对存储的数据进行加密并且易于被复制,因此通常用于保密性要求不高的应用场合。例如单位门禁卡、企业的会员卡等。
3.2.3 逻辑加密卡
-
内嵌芯片对存储区域增加了控制逻辑,在访问存储区之前要核对密码。如果连续多次密码验证错误,卡片可以自锁,成为死卡。
-
由于具有一定的安全功能,因此安全卡适用于有一定保密需求的场合,例如存储着储值信息的餐饮企业会员卡、电话卡、水电燃气等公共事业收费卡等。
3.2.4 CPU卡(CPU Card)
-
也称智能卡(SmartCard) ,相当于一种特殊类型的单片机,在卡片中封装了微处理单元(CPU) ,存储单元(RAM、ROM等)和输入/输出接口,甚至带有双方单元和操作系统。
-
CPU卡具有存储容量大、处理能力强、信息存储安全等特点,因此广泛被用于保密性要求较高的场合,例如银行的信用卡等。
3.3 威胁及防护
-
复制及篡改
-
鉴别物品可能被复制一份或篡改信息
-
选择具备保护其中存储IC卡中存储和处理的各种信息不被非法访问、复制、篡改或破坏的技术
-
损坏
-
用于鉴别的物品可能会损坏导致不可用
-
封装应坚固耐用,承受日常使用中各种可能导致卡片损坏的行为
4. 基于实体特征的鉴别
4.1 概念
- 使用具有不可改变、唯一的生物特征作为鉴别依据:由于鉴别方便性及技术成熟、硬件成本下降,使用越来越广泛
- 实体特征鉴别特点:
- 普遍性:鉴别的特征是每个人都具有的,因此不存在遗忘等问题;
- 唯一性:每个实体拥有的特征都是独一无二的;
- 稳定性:实体的生物特征不随时间、空间和环境的变化而改变;
- 可比性:用于鉴别的特征易于采集、测量和比较。
- 鉴别系统构成
- 实体特征鉴别系统通常由信息采集和信息识别两个部分组成
- 信息采集:通过光学、声学、红外等传感器作为采集设施,采集待鉴别的用户的生物特征(如指纹、虹膜等)和行为特征(声音、笔记、步态等)
- 信息识别:与预先采集并存储在数据库中的用户生物特征进行比对,根据比对的结果验证是否通过验证。
4.2 分类
4.2.1 静脉
-
个人静脉分布图(指静脉、掌静脉)
-
静脉识别是最近几年开始出现的生物特征识别方式,通过静脉识别设备提取实体的静脉分布图,采用特定算法从静脉图中提取特征并与预先存储在数据库中的特征进行比对以判断是否通过验证。
4.2.2 面部识别
-
人都有不同的骨骼结构, 鼻梁,眼眶,额头和下颚形状
-
用人脸进行身份鉴别友好、方便,用户接受程度高,但识别的准确率要低于虹膜和指纹识别。
-
人脸识别系统的主要工作是在输入的图像中准确定位人脸,抽取人脸特征,并进行匹配识别。
-
目前,人面部的表情、姿态、化妆等的变化及采集图像时光线、角度、距离、遮挡等问题是影响人脸识别准确性的难题。
4.2.3 视网膜
-
使用视网膜上面的血管分布作为识别特征
-
视网膜是人眼感受光线并产生信息的重要器官,位于眼球壁的内层,是一层透明的薄膜。视网膜由色素上皮层和视网膜感觉层组成,视网膜识别是通过采集视网膜独特的特征用于鉴别的技术
4.2.4 虹膜
-
使用环绕在瞳孔四周有色彩的部分作为识别特征
-
虹膜是一个位于瞳孔和巩膜间的环状区域,每一个虹膜都包含水晶体、细丝、斑点、结构、凹点、射线、皱纹和条纹等特征。虹膜在出生后6-18个月成型后终生不再发生变化。虹膜识别系统用摄像机捕获用户眼睛的图像,从中定位虹膜,提取特征,并加以匹配判断。
4.2.5 巩膜
-
巩膜识别也称眼纹识别,使用巩膜(眼白)中的血管分布图作为识别的依据。
-
技术实现上与虹膜识别类似,人的眼球会因为过敏、红眼或者熬夜宿醉等情况发生充血的状况,但这些并不会影响虹膜上血管排布,所以“眼纹”识别具有良好的稳定性。
4.2.6 指纹
-
指纹是指尖表面的纹路,指纹识别主要利用纹路的起终点、中断处、分叉点、汇合点等的位置、数目和方向的分析比较来鉴别用户身份。
-
指纹识别在所有生物特征识别中是最成熟、使用最广泛的技术。
4.2.7 掌纹
-
手掌有折痕,起皱,还有凹槽
-
还包括每个手指的指纹
-
人手的形状(手的长度,宽度和手指)表示了手的几何特征
4.2.8 语音识别
-
语音识别是利用发声者的发声频率和幅值来辨识身份的一种特征识别技术,在远程传递中具有明显优势。
-
识别方式
-
依赖特定文字:实现容易,安全性不高
-
不依赖特定文字:防伪性较高,准确率不稳定
4.2.9 其他实体特征鉴别
- 由于生物识别技术的便利性及广泛的应用前景,头骨、耳朵、脑电波等越来越多的生物识别技术被开发出来。
4.3 优势
- 实体特征鉴别体系相对实体所知、实体所有的鉴别方式优势在于用于鉴别的特征难以复制,也不会遗失。
4.4 安全及防御
- 安全风险:用于鉴别的生理特征终生不变,无法更换,一旦遗失特征数据,
- 安全风险极大:随着技术进步,生理特征复制越来越简单
- 防御措施:谨慎使用,严格管理数据
4.5 鉴别系统的有效性判断
- 错误拒绝率(FRR)
- 错误接受率(FAR)
- 交叉错判率(CER) : FRR=FAR的交叉点,CER用来 反映系统的准确度
5. 访问控制基础
5.1 访问控制
5.1.1 基础知识
- 什么是访问控制:为用户对系统资源提供最大限度共享的基础上,对用户的访问权进行管理,防止对信息的非授权篡改和滥用
- 访问控制作用
- 保证用户在系统安全策略下正常工作
- 拒绝非法用户的非授权访问请求
- 拒绝合法用户越权的服务请求
5.1.2 主体与客体
5.1.2.1 概念
-
主体是使信息在客体间流动的一种实体、通常是指人、进程或设备等。
-
客体是一种信息实体,或者是从其它主体或客体接收信息的实体。
-
主体举例
-
对文件进行操作的用户
-
用户调度并运行的某个进程
-
调度一个例程的设备
-
客体举例
-
数据块、存储页、文件、目录、程序
-
在系统中,文件是一个处理单位的最小信息集合,每一个文件就是一个客体,如果每个文件还可以分成若干小块,而每个小块又可以单独处理,那么每个小块也是一个客体。
5.1.2.2 主体与客体关系
-
主体接收客体相关信息和数据,也可能改变客体相关信息。
-
一个主体为了完成任务,可以创建另外的主体,这些子主体可以独立运行,并由父主体控制它们。
-
客体始终是提供、驻留信息或数据的实体。
-
主体和客体的关系是相对的,角色可以互换。
5.1.3 访问权限
-
访问权限是指主体对客体所执行的操作。
-
文件是系统支持的最基本的保护客体。
-
常见文件访问模式有:
-
读:允许主体对客体进行读访问操作;
-
写:允许主体对客体进行修改, 包括扩展、收缩及删除;
-
执行:允许主体将客体作为一种可运行文件而运行;
-
拒绝访问:主体对客体不具有任何访问权。
-
5.1.4 访问控制的实施
-
第一步鉴别主体的合法身份
-
第二步根据当前系统的访问控制规则授予用户相应的访问权。
5.2 访问控制模型
-
一个信息系统在进行安全设计和开发时,必须满足某一给定的安全策略,即有关管理、保护和发布敏感信息的法律、规则和实施细则。
-
访问控制模型是对安全策略所表达的安全需求的简单、抽象和无歧义的描述,可以是非形式化的,也可以是形式化的,它综合了各种因素,包括系统的使用方式、使用环境、授权的定义、共享的资源和受控思想等。
-
访问控制模型的特点
-
精确的、无歧义的;
-
简单的、抽象的,容易理解;
-
只涉及安全性质,不过多牵扯系统的功能或其实现细节。
6.访问控制模型
6.1 自主访问控制
6.1.1 基本概念
- 自主访问控制(Discretionary Access Control, DAC) 资源的所有者,往往也是创建者,可以规定谁有权访问它们的资源。
- DAC可为用户提供灵活调整的安全策略,具有较好的易用性和可扩展性,具有某种访问能力的主体能够自主地将访问权的某个子集授予其它主体。
- DAC常用于多种商业系统中,但安全性相对较低。因为在DAC中主体权限较容易被改变,某些资源不能得到充分保护,不能抵御特洛伊木马的攻击。
6.1.2 访问控制矩阵
- DAC可以用访问控制矩阵来表示。
- 矩阵中的行表示主体对所有客体的访问权限,列表示客体允许主体进行的操作权限,矩阵元素规定了主体对客体被准予的访问权。
6.1.3 访问控制列表ACL
-
权限与客体关联
-
在客体上附加一个主体明细表的方法来表示访问控制矩阵的
-
ACL表是自主访问控制实现中比较好的一种方法
-
为了简化管理,通常对访问者分类组织成组,以避免访问控制表过于庞大。
- 优点
- 根据主体的身份和访问权限进行决策
- 具有某种访问能力的主体能够自主地将访问权的某个子集授予其它主体
- 灵活性高,被大量采用
- 缺点
- 安全性不高
- 信息在传递过程中其访问权限关系会被改变
6.2强制访问控制模型
6.2.1 强制访问控制(MAC)
- 主体和客体都有一个固定的安全属性,系统用该安全属性来决定一个主体是否可以访问某个客体
- 特点
- 安全属性是强制的,任何主体都无法变更
- 安全性较高,应用于军事等安全要求较高的系统
- 但是这种机制也使用户自己受到限制。
- 保护敏感信息一般使用MAC,需对用户提供灵活的保护,更多地考虑共享信息时,使用DAC。
6.2.2 典型强制访问控制模型
6.2.2.1 BLP模型
- BLP模型概念
- 由D. Elliott Bell和Leonard J LaPadula于1973年提出的一种模拟军事安全策略的计算机访问控制模型,简称为BLP模型
- 第一个严格形式化的安全模型
- 多级访问控制模型,用于保证系统信息的机密性
- BLP模型访问控制策略
- 包括自主安全策略与强制安全策略
- 自主安全策略常用一个访问控制表示,矩阵中的元素表示主体对客体所有允许的访问模式,主体按照被授予的访问权限对客体进行访问。
- 强制安全策略为每一个主体和客体都分配了安全级,根据安至级进行访问控制
- 安全级
- 密级:绝密、机密、秘密、公开
- 范畴:军事,外交、商务、……
- 安全级之间支配关系(密级高于或等于、范畴包含)
- 例如L=<机密,{外交,商务}>,L’=<秘密,{商务}>, 则L支配L’
- 安全策略:
- 简单安全规则(向下读)
- 规则 (向上写)
6.2.2.2 Biba模型
- Biba模型概念
- 1977年由Biba提出,与BLP模型数学 上对偶的完整性保护模型
- 多级访问控制模型,保护数据完整性
- Biba模型的访问控制策略
- 强制安全策略为每一个主体和客体都分配了完整级,根据完整级进行访问控制
- 强调完整性的访问控制策略模型
- 多级安全模型,数学上与BLP模型对偶
- 访问控制机制(两个重要规则)
- 向下写
- 向上读
- 优点:完整性高,有效的防止非法篡改、破坏
- 缺点:机密性缺乏,无法保护机密信息泄露
- 完整级:安全级和范畴
- 安全级:极为重要,非常重要,重要,…
- 范畴:军事,外交,商务,……
- 完整级存在支配关系
- 与BLP类似, 安全级高于或等于,范畴包含
- 安全策略
- 向上读:主体可以读客体,当且仅当客体的完整级别支配主体的完整级
- 向下写:主体可以写客体,当且仅当主体的完整级别支配客体的完整级
6.2.2.3 Clark-Wilson模型
- Clark-Wilson模型概念
- 由计算机科学家David D. Clark和会计师David R. Wilson发表于1987年
- 确保商业数据完整性的访问控制模型,侧重于满足商业应用的安全需求
- Clark-Wilson模型的访问控制策略
-
每次操作前和操作后,数据都必须满足这个一致性条件
-
Clark-Wilson模型确保完整性的安全属性
- 完整性
- 访问控制
- 审计
- 责任
6.2.2.4 Chinese Wall模型
-
- 若干有竞争关系数据集构成了利益冲突类
- 银行COI类(银行a、银行b、银行c)
- 石油公司COI类(公司W、公司x、公司u、公司v)
6.3 访问控制的应用
- 入网访问控制
- 网络权限限制
- 网络的权限控制是防止网络非法操作而采取的一种安全保护措施,用户对网络资源的访问权限通常用一个访问控制列表来描述
- 从用户的角度
- 特殊用户(具有系统管理权限的系统管理员等)
- 一般用户(系统管理员根据实际需要而分配到一定操作权限的用户)
- 审计用户(专门负责审计网络的安全控制与资源使用情况的人员)
- 目录级安全控制
- 目录级安全控制主要是为了控制用户对目录、文件和设备的访问,或指定对目录及目录下的子目录和文件的使用权限
- 属性安全控制
- 网络服务器安全控制
- 网络服务器安全控制是指允许通过服务器控制台执行的安全控制操作
- 操作
- 用户利用控制台装载和卸载操作模块
- 安装和删除软
- ……
- 操作
- 网络服务器安全控制是指允许通过服务器控制台执行的安全控制操作
- 网络监测和锁定控制
- 网络端口和节点的安全控制
- 防火墙控制