CISSP 重点知识点总结3
时间:2022-08-02 15:00:00
CISSP 重点知识点总结-3-安全工程
安全工程
章 密码学和对称密钥算法
术语和基本概念
密码学 Cryptology : 科学地隐藏、伪装或加密信息
密码系统 Cryptosystem: 是指软件、算法、协议、密钥和密钥管理功能的整体密码操作
**算法 Algorithm: ** 加密解密过程中的数学函数 (数学操作)
密钥 Key: 输入(运算参数)
密钥空间 Key Space: 密码算法或其他安全措施(如密码)中密钥可能值的总数
工作因子 Work Factor: 破解保护措施所需的时间和精力(破解难度)
明文 Plaintext/Cleartext: 新闻的自然格式 (明文可读于人类)
**密文 Ciphertext/Cryptogram:**明文加密后获得的信息。(人们无法理解其内容)
编码 Encoding: 通过一个代码将一个消息转换为另一个格式(通常用于确保消息的完整性而不是保密)
解码 Decoding: 编码的反向过程
**加密 Encryption: ** 将消息从明文转变为密文的过程
解密 Decryption: 加密逆向过程
替代 Substitution: 用一个字母或字节代替另一个字母或字节的过程 (非原文)
换位 Transposition: 以隐藏消息的过程重新安排明文顺序 (原文打乱顺序)
混淆(干扰) Confusion: : 通过混合(变化)各轮加密过程中使用的密钥值形成 (使密文与密钥的统计关系更加复杂,随机替代
扩散 Diffusion: 让明文中的每个人都影响到密文中的许多人,或者让密文中的每个人都受到明文中许多人的影响 (隐藏明文的统计特征,随机换位
雪崩效应 Avalanche Effect: 即使密钥或明文发生了一点变化,密文也会发生重大变化. 这也是强散列算法的一个特点
初始向量 Initialization Vector: 一种非保密二进制向量,在按顺序加密密文块时作为初始输入算法,引入附加密码方差可以提高安全性(增加破解难度)
同步 Synchronous: 立即处理每个加密或解密请求
异步Asynchronous: 排队处理加密/解密请求. 可利用硬件设备和多处理器系统加快加密速度
哈希函数 Hash function: 通过散列算法将任何长度的输入转换为固定长度的输出,即散列值 (输出固定,输入不同,输出不同,无法逆推)
**密钥汇聚 Key Clustering: ** 不同的加密密钥从相同的明文信息生成相同的密文
密码分析 Cryptanalysis: 试图破解密码技术(分析算法,破解密钥)
碰撞 Collision: 不同的信息散列值相同
数字签名 Digital Signatures: 原文(明文或加密后的密文)通过哈希算法得到散列值,散列值由发送者私钥加密得到。(完整性和耐久性)
数字证书 Digital Certificate: 电子文件包括机构名称或个人姓名、公司地址、发证机构的数字签名、公钥、证书序列号和到期日
**证书颁发机构(CA) Certificate Authority:**权威机构颁发、撤销和管理数字证书
注册机构(RA) Registration Authority: 代表CA提供证书注册服务的机构应验证用户身份
不可抵赖 Nonreputation: 一项保留证据的安全服务使数据的发送者和接收者不能否认他们参与了所涉及的通信(分为原始不可靠和不可靠接收)
对称的 Symmetric: 同一密钥用于加密和解密
非对称的 Asymmetric: 用不同的密钥加密解密(公钥和私钥)。公钥可以交换,私钥永远自己持有)。
-
密码学的目标
机密性、完整性、身份验证(真实性)、不可否认性(抗拒)
-
密码学概念
- Cryptology Cryptography(密码) Cryptanalysis(密码分析/密码破译)
- 扩散 Diffusion : 明文与密文的关系尽可能复杂,一个明文位会影响几个密文位
- 混淆 Confusion : 密文与密钥的关系尽可能复杂。密钥很难通过改变明文来确定。
现代密码学
对称密钥算法
非对称密钥算法 : 公钥(公钥)
散列算法(哈希算法)保障完整性
对称密码技术
对称密码技术:发件人和收件人使用其共同拥有的单个密钥 ,既用于加密 ,也用于解密 ,称为机密钥(也称为对称密钥或会话密钥 ),可提供信息机密性 (无密钥信息无法解密)、 完整性 (变更信息无法解密)服务. 对称密码学又称 单钥密码学、秘密密码学、会话密码学、私钥密码学、共享密钥密码学
对称加密算法相关概念
- DES (数据加密标准):分组加密算法来自 Lucifer ,作为 NIST 对称加密标准; 64 位(有效位 56 位,验证 8 位)
- 3DES : 128 位,分组算法
- IDEA (国际数据加密算法)DES 快,分组算法
- Blowfish
- **RC4 :**密钥长度可变 (破解不安全)
- RC5 :分组密码,密钥长度可变,最大 2048 位
- Rijndael
- AES (高级加密标准): DES 升级版算法来自 Rinjindael
- Safer :分组算法
- Skipjack :分组算法
-
优点
用户只需记住一个 密钥就可以用于加密和解密与非对称加密法相比,加密解密的计算量小,速度快,效率髙 ,简单易用,**适用于海量数据加密**
-
缺点
如果密钥交换 不安全,密钥的安全性将丧失,特别是在电子商务环境中,当客户是未知和不可信的实体时,如何让客户安全地获得密钥将成为一个大问题(带外传输),如果用户有更多的密钥管理问题(n x (n-1)/2)
-
AES(高级加密标准)
1997年NIST开始征集AES要求分组算法支持128、192和256密钥长度
最终对决的5个算法是- MARS:IBM设计
- RC6:RSA设计 (分组),
- Serpent:Ross Anderson等设计
- Twofish: Bruce Schneier 灯设计
- Rijindael:Joan Daemen和Vincent Rijmen设计
最终 Rijindael 选择,它支持128、192和256的密钥和分组 - 128分租,10轮运算
- 192位分组,12轮运算
- 256位分组,14轮运算
-
RC4
是RSA三人组中的头Ronald Rivest在1987年设计的密钥长度可变( 8-2048位 )的 流加密 算法簇。之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右,且具有很高级别的非线性。典型 应用于SSL/TLS, 802.11 WEP 协议. 已经被破解现在不安全
-
其它
DES/2DES/3DES/CCMP/IDEA/CAST/SAFER/Blowfish/Twofish/RC5 -
对称密钥管理
- 密钥分发
线下分发 固有缺陷(不安全)
公钥加密 需要 PKI (公钥基础设施)
Diffie-Hellman 最实用的机制 - 存储和销毁
- 密钥托管和恢复
公平密码系统 秘密密钥被分解成两个或多个片段
受托加密标准
密钥托管 由 第三方 维护一个 私钥 或者用于加密信息的密钥的拷贝 双方必须彼此信任,密钥提供的条件必须被清晰地定义
- 密钥分发
密码的生命周期
-
三个阶段(密码/密钥的抗破解性随时间下降)
- 强壮的
- 虚弱的
- 缺乏抵抗力的
-
算法/协议治理
如何迁移存在的信息系统和密码学元素到新的平台,安全专家必须采取相应的治理过程确保这个过渡过程,相关的策略、标准、程序至少要关注:
- 被批准的密码算法和密钥大小
- 针对老的密码算法和密钥的过渡计划
- 在组织内对于加密系统的使用程序和标准,要表明哪些信息有加密的需求
- 密钥的生成、托管、销毁
- 加密系统弱点或密钥丢失的事件报告
- 算法可靠性、密钥强度、密钥管理方式
-
其他一些安全问题
- 知识产权 保护与个人隐私
- 国际出口控制
- 法律强制
- 安全专家需要理解密码如何被错误的使用给组织造成影响,进而采取适当的安全控制措施。一个典型的例子是 “ 密码时间炸弹 ” (密码时效性防护)
密码系统
-
加密的基本原理、手段
替代 : 其他字符替代原文字符。单字母表替代密码、多字母表替代密码、Playfair密码
换位 (排列 Permutation) :- 在换位密码中,所有字符都是混乱的,或者采取不同的顺序, 密钥决定了字符移动到的位置
- 栅栏密码 (The Rail Fence) (行列错位)
其他: - 滚动密码隐藏式密码 : 采用模块化数学以及用每个字母在字母表中的位置来表达每个字母,和密钥一起循环滚动计算。(公开书籍中的文字对应)
- 一次性密码本 : 1917年Gilbert Vernam提出的,被认为不可破译, 使用随 机的替换值 加密,在计算机中,使用随机的二进制位串 和明文位串进行异或/同或 操作(exclusive-OR, XOR ; exclusive-NOR, XNOR )
- 密文接收者必须有相同的一次性密码本
- 密码本 只使用一次
- 密码本 与明文消息长度一样
- 密码本必须要安全的分发并在发送端和接收端都 高度保护
- 密码本必须由 真随机值组成
- 隐写术
-
是一种将数据隐藏在另一种介质中以藏匿数据的方法。数据并未被加密而是被隐藏
-
要素: 载体 (如照片)、 隐写介质 (如JPEG)、 有效载荷 (信息)
例子:The saying “The time is right”is not cow language , so is now a dead subject. 每第三个单词组成 The right cow is dead .
-
隐藏:1. 藏头诗, 2. 数字水印
-
-
按照明文的处理方法(对称式加密算法)
- 分组加密
消息被划分为若干分组,这些分组通过数学函数进行处理,每次一个分组
一个强密码具有两个属性:- 扰乱(通过替代实现),使密钥和密文之间的关系尽可能复杂。
- 扩散(通过换位实现),单独一个明文位会影响到若干密文位
- 流加密
将消息作为位流对待,并且使用数学函数 分别作用在明文每一个位上。 流密码使用密码流生成器,它生成的位流与明文位进行异或,从而产生密文。 类似一次性加密 , 密钥流尽可能随机 。 (拉拉链)
典型流加密:RC4 (WEP)
- 分组加密
-
其他密码学转换技术
-
初始向量(initialization vector,IV)
与密钥一同使用,传输时不用加密。算法使用IV和密钥来提高加密过程的随机性
-
雪崩效应
与扩散类似,算法输入值轻微的变化会引起输出值的显著变化
-
明文加密之前对其进行压缩
可以降低原始明文的长度
-
明文加密之前对其进行填充
目的是把明文的最后一个块增加到每一块需要的长度
-
混合使用子密钥(subkey)和主密钥(masterkey)以限制密钥暴露时间, 密钥方案中是由主密钥生成子密钥的( 密钥导出函数 )
-
-
按照加密方法分类(密钥特点)
混合加密
密钥管理过程
-
Kerckhoff原则
1883年,Auguste Kerckhoff 发表论文认为 “密码系统中 唯一需要保密的是密钥 ” “算法应该公开” “太多的秘密成分会引入更多的弱点”
-
密钥管理方面的进展
XML Key Management Specification 2.0 (XKMS),包含两个部分
- XML Key Information Service Specification (X-KISS)
- XML Key Registration Service Specification (X-KRSS)
XKMS提供 - 操控复杂的语法和语义
- 从目录收回信息
- 撤销列表验证
- 信任链创建和处理
金融机构的标准 ANSI X9.17描述了确保密钥安全的方法
- 职责分离 : 不能实现职责分离的要考虑补偿控制
- 双人控制 : 关注两个或以上人参与完成一个工作
- 分割知识 : 关注参与的每个人都是唯一的且是必须的
-
密钥创建
要考虑可扩展性和密钥完整性, 采用自动化系统来创建密钥,不仅对用户透明也便于密钥策略实施, 工作因子与构成密钥的位的随机性水平有关
- 伪随机数
- 随机数生成器
非对称密钥长度 - 1024位RSA密钥加密强度相当于80位的对称密钥
- 2048位RSA密钥加密强度相当于112位的对称密钥
- 3072位RSA密钥加密强度相当于128位的对称密钥
- 224位ECC密钥加密强度相当于112位的对称密钥
密钥包装和密钥加密密钥(KEK) - KEK是保护会话密钥的一个解决方案,用于密钥分发和密钥交换。使用KEK来保护会话密钥的过程被叫做密钥包装。
- 如果使用对称密码来封装会话密钥,那么发送方和接收方需要使用同一个密码;如果使用非对称密码来封装会话密钥,发送方和接收方需要彼此的公钥。
- SSL、S/MIME、PGP都是用KEK来保护会话密钥
-
密钥分发
密钥交换可以采用“带外管理”(out of band),但其可扩展性较差
一个可扩展的密钥交换方法是采用一个密钥分发服务器(KDC) 存放所有人的公钥
KDC 用户与KDC共享的密钥,用于KDC和用户之间传输加密信息用户和应用资源通信的会话密钥,需要使创建,用完则删除 -
密钥存储与销毁
所有密钥都需要被保护防止被修改,所有会话密钥和私钥需要被保护防止被非授权暴露。密钥保护方法包括:
可信的、防篡改的硬件安全模块,带密码保护的智能卡,分割密钥存储在不同地点,使用强口令保护密钥,密钥期限,等
相关标准-
NIST SP800-21-1 联邦政府实施密码学指南
-
NIST SP800-57 密钥管理建议
简单的删除操作不能完全清除密钥,可能需要用不相关信息(如随机数、全为0或1)多次复写
-
-
证书替换成本和撤销
人员、设备规模大造成证书替换成本较高, 人员离职,人员岗位变更、丢失密钥等要注意撤销证书, 证书的生命周期
-
密钥恢复
从可信的目录或密钥注册的安全机构, 一种方法为多方密钥恢复 (密钥信封), 密钥恢复涉及到个人隐私和法律问题
第 7 章 PKI和密码应用
非对称密码技术
优点 : 可以安全地交换公钥,保障了密钥的安全性, 公钥交换,私钥自己保存,便于密钥的管理, 可扩展性好,密钥数量 2n 个
**缺点 : ** 计算量大,速度慢,不适合与海量数据加密
-
Diffie-Hellman
用于交换会话密钥
第一个非对称密钥, 协商算法,重点解决密钥分发问题, 基于“有限域上的离散对数计算困难”的难题, 通信双方在不可信的网络上交换他们彼此的公钥,再在各自的系统上生成相同的对称密钥。不提供加密、数字签名功能。
-
RSA
是1977年由罗纳德·李维斯特(Ron Rivest), 阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA算法的安全性基于数论中 分解大因数为原始质数的困难性,在已提出的公开密钥算法中,RSA是最容易理解和实现的,这个算法也是最流行的。
-
ECC
最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上 椭圆离散对数的计算困难性。效率高
- 160bit密钥相当于RSA 1024bit
- 210bit密钥相当于RSA 2048bit
-
ElGamal
基于Diffie-Hellman工作的离散对数计算, 可加密、可签名,速度最慢
-
背包算法(Merkle)
已被破解,不再有效 -
非对称密码技术应用
对称与非对称密码技术结合保证机密性
散列函数
-
哈希验证完整性
-
MD5
在1992年由Ron Rivest在MIT开发。它是最广泛被采用的Hash算法,并在RFC 1321中被描述。MD5消息分组为512位,产生128位的散列值. MD5被用于验证在犯罪调查中的数字证据的完整性,以及确保原始信息从被创建后未被篡改。
2004年8月17日美国加州圣巴巴拉国际密码学会议(Crypto’2004),来自山东大学的王小云做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,按照她的方法,数小时之内就可以找到MD5碰撞。这使目前电子签名的法律效力和技术体系受到挑战
不安全
-
SHA
-
SHA-1
安全散列算法1(SHA-1)是由NSA设计的,并由NIST将其收录到FIPS 180-1(Federal Information Processing Standard)中,作为散列数据的标准,在1995年被发布,并在RFC 3174中被描述。它可产生一个160位的散列值
-
SHA-2/SHA-3
SHA-256
SHA-224
SHA-384
SHA-512
-
-
针对哈希算法的攻击
-
碰撞问题(生日攻击)
基于同一种散列函数,如果有两个不同的消息,得到相同的消息摘要,则扰乱了散列函数应具备的规则,被称作碰撞(Collision)利用“生日攻击”(birthday attack)可以寻找碰撞
- 一个房间中,最少应有多少人,才使至少有两人具有相同生日的概率不小于1/2?
(答案是23人。概率结果与人的直觉是相违背的。) - 一个房间中,最少应有多少人,才能保证其中有一个人的生日与你的生日是一样的概率不小于1/2?
(答案是253人。)
- 一个房间中,最少应有多少人,才使至少有两人具有相同生日的概率不小于1/2?
-
彩虹表
根据散列值重构原始消息 发现另一个消息具有同样的散列值,或者发现任何消息对具有相同的散列值 (瞎编原文得到相同散列)
-
密码分析
Side-Channel攻击是典型的密码分析的一个例子。攻击者不攻击算法而是算法的执行。彩虹表是另一个密码分析的例子。防止彩虹表攻击的一个方法是“Salted Hash”
-
消息验证码
-
HMAC
私钥混入明文计算散列值 (完整性、身份验证)
-
CBC-MAC
密码分组链接解密 CBC 模式下,把明文分组,最后一组加密后密文最为MAC值和明文一起发送(完整性、身份验证)
-
CMAC
是CBC-MAC的一种变体,提供与 CBC-MAC相同 的数据源认证和完整性,但在数学上更为安全。 把密钥加密后得出散列值 (有身份验证)
-
-
数字签名
数字签名 不提供机密性
代码签名(Code signing)
用于保证代码的完整性的技术确定谁开发的那段代码, 并确定开发者打算将这段代码用于何处, 代码签名证书和数字证书帮助用户免于下载泄密文件或应用程序, 代码被签名可以确定代码的可靠度并检测带是否被开发人员之外的人所修改
代码签名用于
- 确保代码片段不被修改
- 识别代码来源(开发者或签名者)
- 确定代码是否值得为特定目标的信任
代码签名不能做的事情
- 不能保证代码片段免于安全漏洞
- 不能保证在执行过程中APP不会装载不安全或更改的代码(如不可行的插件)
- 不是数字版权管理(DRM)或拷贝保护技术
公钥基础设施 (PKI)
PKI是由 软件、通信协议、数据格式、安全策略 等用于使用、管理、控制 公钥密码 体制的一套系统。它主要有三个目的:发布公钥/证书,证明绑定公钥的实体,提供一个公钥有效性的验证。
-
数字证书
PKI技术采用证书管理公钥,通过 第三方的可信任机构 认证中心CA (Certificate Authority),把用户的公钥和用户的其他标识信息(如名称、email、身份证号等)捆绑在一起,在Internet网上验证用户的身份。
公钥证书是以数字方式签名的声明,它将公钥的值与持有相应私钥的主体(个人、设备和服务)的身份绑定在一起。通过在证书上签名,CA可以核实与证书上公钥相应的私钥为证书所指定的主体所拥有。
数字证书的格式是由 CCITT X.509 国际标准所规定的,它包含了以下几点:
- 证书拥有者的姓名
- 证书拥有者的公钥
- 公钥的有效期
- 颁发数字证书的单位
- 数字证书的序列号(Serial number)
- CA的名称,并用CA的数字签名签署该证书
- CA所遵循的用来确定证书主体身份策略的标识符
- 在证书中标识的密钥对(公钥及相关的私钥)的用法
- 证书废止列表(CRL)的位置
- 用CA的数字签名签署该证书
ITU-T X.509并非证书的惟一格式。例如,==Pretty Good Privacy (PGP)==安全电子邮件 是依赖PGP所独有的一种证书。
-
CA中心
负责发放和管理数字证书的权威机构
具体功能:
- 接收 验证 RA转发来的最终用户数字证书的申请。
- 确定是否接受最终用户数字证书的申请-证书的审批。
- 生成 密钥对和证书
- 向申请者 颁发 证书
- 为签发的证书提供组织与责任的权威 公证
- 接收最终用户数字证书的查询、 撤销
- 产生和发布证书 废止 列表(CRL)
- 密钥管理 (密钥备份、密钥恢复、密钥更新)
- 数字证书的归档
- 密钥归档
- 历史数据归档。
-
RA
证书注册机构,不发放证书,验证证书申请人身份。(基础资料核实)
非对称密钥管理
需要看一下书上的解析
应用密码学
能够提供的服务 : 机密性 真实性 完整性(散列值) 不可抵赖性(非对称加密)
-
链路加密
也称为在线加密,通常由服务商提供,如:卫星链路、T3、电话线路
链路加密发生在 数据链路层 , 加密沿某种特定通信通道传输的所有数据 ,攻击者得不到任何数据,为防止包嗅探和偷听提供了保护
**数据包在 经过两端之间的每一台设备 时都需要 进行解密 **
加密所有信息,包括用户信息、数据包头部、尾部、地址和路由信息
-
端到端加密
数据包的 头部 , 尾部, 地址和路由信息 未加密
仅加密用户信息,不加密数据包头部、尾部、地址和路由信息
端到端加密发生在 应用层 端到端加密对 中间通信设备是透明 的,传输过程中始终保持加密状态
-
SSH
-
Cookie
-
IPSec
-
PGP
由Phil Zimmerman在1991年作为一个免费电子邮件保护程序设计, 支持多种公钥 和 对称算法 ;使用可信Web的方式信任 数字证书 ,即Web互相签名证书,形成一个信任社区;用户保存一个密钥环(key ring)文件,其中存储其他可信用户的公钥。
机密性、完整性、真实性
-
HTTPS
是运行于SSL之上的http,SSL(Secure Sockets Layer)是嵌入在 传输层 上的 安全协议 ,支持服务器和客户端的双向认证 ,保护数据 机密性、完整性
SSL通信过程可分为 三个阶段 :对等协商双方所支持的算法;基于证书的认证和基于公钥加密的密钥交换;基于对称密钥的加密传输, **TLS (Transport Layer Security) 是SSL开源等价协议 **
-
SET
它是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。是基于信用卡在线支付的电子商务安全协议,目的是为了确保在Internet网站和银行之间传输信用卡结算信息时提供安全保证
-
S/MIME
标准的邮件(多媒体邮件)安全协议,利用哈希算法和公钥与私钥的加密体系,对发信人和收信人进行身份识别,保证信件完整性和信件内容包括附件的机密性
密码攻击
-
唯密文攻击
攻击者拥有若干消息的密文,每条消息都是使用相同的加密算法加密的。攻击者目标是找出加密过程中试用的密钥, 仅有密文,进行密码分析攻击
-
已知明文攻击
攻击者拥有一条或多条消息的明文和相对应的密文。例如某些文本有固定的格式、起始和结束语句。
拥有明文和其对应的密文,进行密码分析攻击
-
选定明文攻击
攻击者选择特定明文发给受害者,待受害者加此明文发送出去后,再截获之。不同于已知明文攻击在于输入可以由攻击者来选定 可以选择明文并得到输出的密文,进行密码分析攻击
-
差分密码分析
攻击者查看对具有特定差异的明文进行加密并得到相应的密文,并分析这些差异的影响和结果
-
线性密码分析
攻击者对使用 相同密钥加密的几条不同消息 执行已知明文攻击,再通过执行函数来确定使用分组算法的加密过程中利用某个特定密钥的最大概率 (研究分组规律)
-
旁路攻击
通过 收集外部信息来分析密钥 ,例如收集CPU占用率、电磁辐射、总运算时间后,逆向分析运算过程来猜测密钥和算法
-
错误分析
强行 引入一个错误, 获得一个 错误结果, 然后与一个正确的结果对比进而分析密钥和算法
-
探测攻击
通过连接加密模块的 电路 来访问和操纵其中的数据获取来获取信息 (硬件破解)
-
重放攻击
攻击者捕获了某种类型的数据(通常是身份验证信息)并重新提交已通过的身份验证的信息, 欺骗接收设备误以为这是合法信息
-
代数攻击
分析算法内使用的数学原理中存在的弱点, 并利用其内在的代数结构
-
频率分析
在简单的替换密码中, 每个字母被替换成另一个字母, 那么在密文中==出现频率==最高的字母就最有可能是E. 频率分析法除了需要用到统计学外, 也需要用到语言学, TH这两个字母连起来是最有可能出现的字母对
-
逆向工程
通过进行 逆向分析 及研究,从而演绎并发现加密系统的弱点或算法运算的关键信息
-
社会工程学
攻击者不采用任何技术性攻击, 仅利用各种社会工程学攻击类型诱使人们提供加密密钥 (利用人性弱点)
-
攻击随机数生成器
RNG所产生的随机数如果可预测, 攻击者就能够猜测到用于构成 初始向量 的随机数( 猜测初始向量 )
-
临时文件
大多数的密码系统使用 临时文件 来执行计算, 如果这些文件没有被删除或复写,可能会泄露信息给攻击者
-
其它
因素攻击(针对 RSA) , 生日攻击(针对 Hash ), 字典攻击, 暴力破解, 彩虹表
第 8 章 安全模型,设计和能力的原则
安全设计原则
-
主体和客体
-
封闭系统和开放系统
-
进程控制
- 限制(confinement)
- 界限(Bound)
- 内存重用/对象重用 (Memory reuse/Object reuse )
- 隔离
-
访问控制(OSG第14章)
-
信任与保证
-
SELC 系统工程生命周期 (Systems Engineering Life Cycle)
需求分析,设计,实施,验证,运营 Requirements analysis, Design,Implementation, Verification, Operation
安全架构
-
企业安全架构
-
目标:
表达了一个简单、长期的控制视图, 提供了一个统一的愿景整合已经存在的技术投入对于当前和未来的威胁和核心功能需求提供一个灵活的方法
-
收益
描述用于指导安全相关技术决策和方案的安全战略, 对IT架构师和管理层提供指导,使他们更好的做出安全相关投资和设计决策, 建立未来要达到的技术架构, 支持、驱动、扩展安全政策和标准整合行业标准和模型确保最佳安全实践被应用
-
架构框架和实际架构是有区别的。每个组织的架构都不同原因在于它们有不同的业务驱动、安全和规定需求、文化和组织结构。
-
-
系统安全架构
企业架构和系统架构虽然有重叠之处,但它们还是有区别的。企业架构解决的是组织的结构,系统架构解决的是软件和计算机组件的结构
-
安全模型
要保障系统的安全必须建立安全策略作为安全的抽象目标,安全模型将抽象的安全策略目标映射为信息系统的表达,通过确定的数据结构和必要的技术执行行安全策略
强制型访问控制模型(参考访问控制模型 自主、强制、 基于角色)
-
安全模型
要保障系统的安全必须建立安全策略作为安全的抽象目标,安全模型将抽象的安全策略目标映射为信息系统的表达,通过确定的数据结构和必要的技术执行行安全策略
-
可信计算基(TCB)
-
TCB是硬件、软件和控制的组合,是执行安全策略的可信基础
-
安全边界 : 假想的边界,将TCB与系统的其他部分分隔开
-
可信路径 : 系统的其他部分与TCB进行通信的安全通道
-
参考监视器/引用监视器
- TCB中定义访问控制的
- 验证主体访问客体的权限
-
安全内核(TCB的核心)
实现参考监视器功能的组件集合
-
-
状态机模型
-
状态机模型(State Machine Model) 安全的状态机模型是其他安全模型的基础
-
状态机模型描述了一种无论处于何种状态都是安全的系统
-
一个状态(State)是处于特定时刻系统的一个快照, 如果该状态所有方面都满足安全策略的要求, 就称之为安全的
-
状态机可归纳为 4 个要素,即 现态, 条件, 动作, 次态 这样的归纳, 主要是出于对状态机的内在因果关系的考虑“现态”和“条件”是因, “动作”和“次态”是果
-
状态转换/迁移
-
许多活动可能会改变系统状态,状态迁移总是导致新的状态的出现。
-
如果所有的行为都在系统中允许并且不危及系统使之处于不安全状态,则系统执行一个安全状态机模型:secure state model。
-
一个安全的状态机模型系统, 总是从一个安全状态启动, 并且在所有迁移当中保持安全状态, 只允许 主体以和安全策略相一致的安全方式来访问 资源
-
-
-
信息流模型
-
在信息流模型中,数据被看作保存在独立的分割区间内,关注的是在 独立的主体之间信息 是否被允许或不允许访问
-
信息流模型用于防止未授权的, 不安全的或者受到限制的信息流,信息流可以是同一级别主体之间的,也可以是不同级别间的
-
信息流模型允许所有授权信息流, 无论是否在同一级别
-
信息被限制在策略允许的方向流动
-
-
无(非)干扰模型
-
无干扰模型并 不关心信息流 ,而是关心影响系统状态或者其他主体活动的某个主体的活动
-
确保在 较高安全级别发生的任何活动不会影响或者干扰在较低安全级别发生的活动。如果在较高安全级内的一个实体执行一项操作,那么它不能改变在较低安全级内实体的状态
-
如果一个处于较低安全级的实体感受到了由处于较高安全级内的一个实体所引发的某种活动,那么该实体可能能够推断出较高级别的信息,引发信息泄漏
-
基本原理为,一组用户(A)使用命令©,不被用户组(B)(使用命令D)干扰,可以表达成A, C:| B, D,同样,使用命令C的组A的行为不能被使用命令D的组B看到
-
关注隐蔽通道和推理攻击
-
-
取予模型(Take-Grant模型)
-
基于矩阵的模型
访问控制矩阵是一个包含主体和客体的表,它关注在每个主体和客体之间一对一的关系。
访问控制矩阵由两个维度。
-
以 主体为核心的功能表(主体绑定):指定了某些主体对特定客体进行操作的访问权限
-
以 客体为核心的访问控制列表(客体绑定) :是一些主体被授权访问特定客体的权限列表。
-
矩阵模型没有描述客体之间的关系
-
-
格子模型 (晶格模型/点阵模型)
- Lattice 模型通过划分安全边界对 BLP模型(机密性) 进行了 扩充, 它将 用户和资源 进行 分类 并允许它们之间交换信息,这是多边安全体系的基础。
- 多边安全的焦点是在不同的 安全集束(部门, 组织等)间控制信息的流动, 而不仅是垂直检验其敏感级别。
- 建立多边安全的基础是为分属不同安全集束的主体划分安全等级,同样在不同安全集束中的客体也必须进行安全等级划分,一个主体可同时从属于多个安全集束,而一个客体仅能位于一个安全集束。
- 在执行访问控制功能时,lattice模型本质上同BLP模型是相同的,而lattice模型更注重形成"安全集束"。BLP模型中的"上读下写"原则在此仍然适用,但前提条件必须是各对象位于