信息系统安全学习
做有一个学生该做的事——准备考试…GO!
客观题
选择
- 第2章信息安全经典模型、第4章身份认证机制
- 第1、3章部分内容
- 涉及第5、7章
- 可信计算:第3章和第9.3节
- B卷增加实验报告部分
- PKI-CA的职责是什么:签发和管理证书
- 可以用于密钥交换的算法或困难假设:RSA、ECC、Diff-Hallman、RC4
- WPA的认证方式
填空
-
安全绪论:攻击方式、计算机病毒的阶段
-
可信计算:安全等级:美国国防4类7级,A1安全等级最高
-
密钥交换协议:DH安全性基于离散对数
-
经典的认证方式:用户名-口令,基于PKI的AKE,基于哈希摘要的认证
-
身份认证机制:防(主动、
被动)攻击
客观题整理 感谢@Steve·Curcy
计算机病毒生命周期一般包括潜伏阶段、传播阶段、触发阶段、发作阶段
网络信息安全攻击的阶段:侦查、扫描、获取访问、维持访问和掩盖行踪
身份认证可以防止主动攻击,可以分为身份标识和身份认证两个部分
秘钥交换协议Diffie-Hallman基于离散对数的困难问题
经典的认证方式有哪些:基于口令的身份认证、使用基于PKI的AKE认证、基于哈希摘要的认证、基于生物特征的身份认证、基于位置的身份认证、质询-响应式身份认证(主要记住前三个)
PKICA的核心职责是什么:签发和管理证书;哪个算法或困难假设可以用到秘钥交换:RSA、ECC、Diff-hallman、RC4
WIFI网络安全接入是一种保护无线网络安全的系统,WPA加密的认证方式包括WPA、WPA2、WPA-PSK、WPA2-PSK
Kerberos秘钥分发服务包括哪些服务(KDC提供的服务):票证授予服务,身份验证服务,账号存储服务。
8.1. 身份验证服务器AS(Authentication Service):AS实现对Client身份的确认,并颁发给该Client一个TGT(Ticket Granting Ticket认购权证)。8.2. 票证授予服务TGS(Ticket Granting Service):通过Client向KDC中的TGS发送Ticket Granting Service Request(KRB_TGS_REQ)开始。
8.3. 账号数据库AD(Account Database):对账号进行管理和存储,设置黑白名单,用于AS认证过程。
安全电子交易协议SET是什么、可以干嘛,有什么基本原理,工作机制
9.1. SSL提供的安全内容:机密性、完整性和认证性
9.2. SET协议(Secure Electronic Transaction),全名为安全电子交易协议,是一种以信用卡为基础的在因特网上交易的付款协议。
9.3. SET协议的基本原理:SET中引入的一个重要的创新—双重签名,它可以巧妙地把发送给不同的接收者的两条消息联系起来,而又很好地保护了消费者的隐私,并利用了RSA和DES等密码学算法保证其安全性。
9.4. SET协议的工作机制:利用公钥体系对通信双方进行认证,用对称加密算法对信息加密传输,并用散列函数算法来鉴别信息的完整性
9.5. SET协议的应用:网上购物,电子信用卡,电子交易用户的身份认证是许多应用系统的第一道防线,认证技术主要是解决网络通信过程中双方的身份认可,主要防主动攻击。
完整性模型 BIBA模型和Clark-Wilson模型
模型 模型特征 BLP 保密性,军事安全,中央集权信息系统、较低的执行开销 BIBA 完整性,强制访问控制,难于应用,中央集权信息系统 Clark-Wilson 完整性,商业安全,能够应用面向对象系统,与应用无关的策略、灵活 Chinese Wall 保密性,金融制度,可能有负作用,安全管理的开销较大 安全模型
12.1. BLP模型基于两种规则来保障数据的机密度与敏感度
BLP wirte up (no write down), read down( no read up);上写(不下写)下读(不上读)
12.1.1. 下读规则:主体不能读安全级别高于它的数据
12.1.2. 上写规则:主体不可写安全级别低于它的数据
12.2. BIBA模型基于两种规则来保障数据的完整性的保密性:
BiBa write down( no write up), read up ( no read down); 下写(不上写)上读(不下读)
12.2.1. 上读规则,主体不能读取安全级别低于它的数据
12.2.2. 下写规则:主体不能写入安全级别高于它的数据12.2.3. BIBA模型并没有用来设计安全操作系统,但大多数完整性保障机制都基于Biba模型的两个基本属性构建
12.3. 什么是多边安全模型、有哪些 ? Chinese Wall和BMA
12.4. 哪些模型可以提供机密性保护?BLP,Chinese Wall
12.5. 哪些些模型可以提供完整性保护?BIBA,Clark-Wilson可信计算概念与需求
13.1. 可信计算的概念:可信计算是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性
13.2. 可信计算的需求:解决计算机和网络结构上的不安全,从根本上提高安全性,确保完成计算任务的逻辑组合不被篡改和破坏,实现正确计算。
13.3. 安全是指采取技术和管理的安全保护手段,保护软硬件与数据不因偶然的或恶意的原因而遭受到破坏、更改、暴露
13.4. TCSEC:可信计算机系统评估标准:分为A/B/C/D四类七个等级-D,C1,C2,B1,B2,B3,A1
13.4.1. D最小保护:只为文件和用户提供安全保护
13.4.2. C1任意安全保护(与C2同属于自主保护)
13.4.3. C2受控访问控制
13.4.4. B1标记的安全保护(B强制访问控制)
13.4.5. B2结构化保护
13.4.6. B3安全域
13.4.7. A1已验证设计(A验证保护)A1的安全等级最高
13.5. CC:公共准则(ISO/IEC 15408)分为EAL1,EAL2,EAL3,EAL4,EAL5,EAL5,EAL6,EAL7
13.5.1. EAL1:功能测试
13.5.2. EAL2:结构测试
13.5.3. EAL3:方法测试和检查
13.5.4. EAL4:方法设计、测试和检查
13.5.5. EAL5:半形式设计和测试
13.5.6. EAL6:半形式验证设计和测试
13.5.7. EAL7:形式验证设计和测试 (EAL7的安全等级最高)
主观题
0x01 课堂汇报(流密码)
是什么:
流加密,是对称加密算法的一种,加密和解密双方使用相同伪随机加密数据流作为密钥。明文数据每次与密钥数据流顺次对应加密(XOR),得到密文数据流。
为什么:
该算法解决了对称加密完善保密性的实际操作困难。由于完善保密性要求密钥长度不短于明文长度,故而实际操作存在困难,改由较短数据流通过特定算法得到密钥流。因此伪随机数生成器成为流密码的关键。
特点:
-
流密码的密钥长度会与明文的长度相同。
-
流密码的密钥派生自一个较短的密钥,派生算法通常为一个伪随机数生成算法。
优缺点:
-
速度快,便于硬件实现,记忆性强,错误传播交轻
-
统计混乱不足,修改不敏感
0x02 名词解释
CIA(机密性,完整性、可用性)原则
不可抵赖原则、认证原则、访问控制原则
机密性(Confidentiality)指防止私密的或机密的信息泄露给非授权的实体的属性。
完整性(Integrity)分为数据完整性和系统完整性;数据完整性指确保数据只能按照授权的指定方式进行修改的属性;系统完整性是指系统没有受到未经授权的操控进而完好无损的执行预定功能的属性。
可用性(Availability)指确保系统及时工作并向授权用户提供所需服务的属性。
保密性原则:就是指不经过授权,不能访问或利用信息,只有发送者与接受者能访问信息内容,信息不能被截获。
完整性原则:就是指信息不经过授权,不能被修改的特性,即信息在传输的过程中不能被偶然或蓄意修改、删除或者插入,即不能被篡改
可用性原则:就是指就是信息可被授权实体访问并按需求使用的特性,不因中断等攻击停止服务或降低服务标准
认证原则:信息需要明确的身份证明,通过认证过程保证正确的消息来源,与信息接收方建立信任关系,缺乏认证机制可能会导致伪造
不可抵赖原则:信息的发送者不可否认已发出得信息
访问控制原则:指定与控制用户能够访问哪些信息,能够有什么样的操作,通常包括角色管理与规则管理
补充:
可以通过信息加密、信息隐形、夹带信息等方式来实现信息的保密性;可以通过特定得安全协议、信息摘要、密码校验与等方法实现信息的完整性;通过口令认证、认证令牌、数字证书、消息认证码、公钥算法等方式实现信息认证;通过数字签名得方法实现信息的完整性与不可抵赖性;通过用户角色认证、防火墙与IDS等方式实现访问控制与可用性原则。
0x03 零知识证明 & FS鉴别协议 & DSA
零知识证明:
定义:是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。
完备性:V无法欺骗P。若P知道一个定理的证明方法,则P使V以绝对优势的概率相信他能证明。
正确性:P无法欺骗V。换言之,若P不知道一个定理的证明方法,则P使V相信他会证明定理的概率很低。
零知识性:V无法获取任何额外的知识。
Fiat-Shamir鉴别协议:
FS协议简述:证明者Alice 通过执行一个3轮协议t 次,向验证者Bob 证明其掌握知识s
- 一次性建立过程:
-
信任中心T选择并公布一个RSA型的模,但将素数p,q保密
-
每一个声称者A选择一个与n互素的秘密s,1<=s<=n-1,计算,并向T登记v作为公开密钥。
- 协议执行:如下步骤循环执行t次(连续且独立)。如果t次都成功完成,B接受A证明,认为A掌握秘密s。
-
A选择一个随机数(承诺)r,,并且发送(证据)(mod n)给B
-
B随机的选择一个(问题)比特e=0或者e=1,并发送e给A
-
A计算并发送B(回答)y,(如果e=0)或者$y=rs(mod n) $(如果e=1)
-
如果y=0,B拒绝证明,否则验证了 就可以接收证明。(根据e,得=x或者由于。注意验证y=0是为了排除r=0的情况)
其过程如下:
评述:
(1)可以对协议1做如下解释和非正式的证明。提问e要求A有能力回答两个问题,其中一个需要秘密s,另一个容易的问题是用来防止欺骗的。一个知道s的证明者可以回答两个问题,但是其他人最多回答一个问题,因此有1/2的可能不被发现,为了减少欺骗的可能,需要执行t次(例如t=20,t=40),降低欺骗的概率。
(2) A的回答y = r是独立于A的秘密s,然而回答也没有提供任何关于s的信息,因为B 并不知道随机数r。
由A 产生的信息对(x,y )恰好可以作为验证者B自己很好的模拟:随机选择y,定义或。虽然这并不是A建立信息对的方法,但对(x,y)的概率分布实际上与A产生的对不可区分,这就是零知识属性。尽管可以模拟证明过程,B并不能冒充A,因为B并不能实时预测提问x。
讲述一个"不可能"的故事
注意:上述的四个过程为一次挑战,每次挑战都不同。
前提:A没有掌握秘密s,但是他又想欺骗B,使后者相信自己已经掌握秘密s。
B是一个不懂FS协议的人,不知道应该进行多次挑战,结果只进行一次挑战(因为,和秘密s无关);A得知这个消息后,协议会如下进行:
随机选择一个数,然后计算,将x,发送给B;
B->A:
A->B:
B验证:,因为,所以验证结果必定为真。
由此实现了A对B的欺骗。
假设B是一个懂FS协议的人,A就不知道B每次的挑战是什么,A如果还是想按照上述过程对B进行欺骗的话,会遇到一下场景:
随机选择一个数,然后计算,将x,发送给B;
B->A:
A->B:??? who can tell me ?
此时A 应该给B发送,但是,而,但是A不知道秘密s,所以验证失败。
综上两种情况可见,A 在不知道秘密s的情况下,有1/2的概率成功,所以此协议需要n次挑战,A成功欺骗的概率就是。
就算A能力提升了,它能够预测B有限次的挑战信息,则第一步发送会有如下情况:
===>
===>
但只要B经过足够多的挑战,依然能够验证A不知道秘密s。
DSA:
DSA方案包括初始过程、签名过程和验证过程。
1.初始化过程:
(1) 系统参数:全局公钥KUG:p,q,g。p,q,g 作为系统参数,供所有用户使用,在系统内公开。
q: 选择素数q,位长为160,即
p: 随机生成L位的素数,这里L在512到1024之间,且为64的倍数
g: 随机选择整数h,计算,其中1<h<(p−1),g>1,
(2) 用户私钥:用户选取一个私钥x,x 随机或伪随机整数, 其中1≤x≤q−1
(3) 用户公钥:用户的公钥y,,公开。
2.签名过程:
对待签消息M
输入:((g,p,q,x),M) , M为要签名的消息
(1) 生成一随机整数 ;
(2) 计算;
(3) 计算 。
则输出(r,s)为签名人对M的签名。
注: H(M)使用SHA-1生成的M的散列码
r不依赖消息,是k和全局公钥的函数。故对一个消息存在许多签名
离散对数的困难:从r恢复k是很困难的,从s恢复x是不可行的
3.验证过程:
(1) 输入:((g,p,q,y),M,(r ′,s ′ ))
(2)计算
(3) 计算
(4)计算
正确性证明:
验证:如 v=r ′则签名有效
其中M ′,r ′,s ′ 为接收端得到的M,r,s版本
0x04 密钥协商协议
万物基于DH协议:
在素数阶群G上选择生成元
1.Alice -> Bob:
2.Bob ->Alice:
3.both compute the secret key
注:不能防止中间人攻击
HMQV协议:
Alice 和Bob的公钥分别是:
1.Alice -> Bob:
2.Bob ->Alice:
3.both compute :
4.both compute:
for Alice:
for Bob:
5.get session key
OPAQUE协议过程:
OPAQUE 可以有两种实例化方法,分别是HMQV和SIGMA-I;
1 | Instantiation with HMQV |
1 | Instantiation with SIGMA-I |
0x05 病毒 & WIFI协议 & Kerberos
-
计算机病毒的生命周期:潜伏阶段,传播阶段、触发阶段、发作阶段
-
WIFI认证方式:WPA、WPA2、WPA-PSK、WPA2-PSK
-
Kerberos
- AS(Authentication Server)= 认证服务器
- KDC(Key Distribution Center)= 密钥分发中心
- TGT(Ticket Granting Ticket)= 票据授权票据,票据的票据
- TGS(Ticket Granting Server)= 票据授权服务器
- SS(Service Server)= 特定服务提供端
协议过程:
根据上图看协议过程:
第一次请求服务
-
Client与AS进行身份认证:AS判断Client是否合法,是否有资格享用服务,如果认证通过,AS给Client享受TGS服务的许可证(a ticket for getting tickets)
-
Client和TGS进行身份认证:TGS给Client享用SS服务的许可证(ticket)
-
Client 使用SS提供的服务:出示ticket,使用SS提供的服务
此后请求服务:
- Client和TGS进行身份认证:TGS给Client享用SS服务的许可证(ticket’)
- Client 使用SS提供的服务:出示ticket’,使用SS提供的服务
注:TGS的作用是避免用户每次请求SS服务时,都需要进行身份认证;通俗理解是,购买火车票,只有在第一次买票的时候需要先上传身份信息后买票;以后买票可直接购票,省去认证过程。
0x06 电子交易协议 & 身份认证
安全电子交易协议SET:
SET协议主要定义了以下内容:
- 加密算法(如RSA和DES)的应用
- 证书消息和对象格式
- 购买消息和对象格式
- 请款消息和对象格式
- 参与者之间的消息协议
SET是一个基于可信的第三方认证中心的方案,主要服务如下:
-
保证客户交易信息的保密性和完整性:双重签名技术。
-
确保商家和客户的合法性:数字证书。
SET协议保证了电子交易的机密性、数据完整性、身份的合法性和不可否认性。
SET协议的主要技术:
首先生成两条消息的摘要,将两个摘要连接起来,生成一个新的摘要,再对新摘要进行签名。双重体现在两条消息摘要。
消息认证:数据源认证
是指从某个声称的源(发送者 Bob)到接收者(验证者Alice)的消息传输过程,该接收者在 接收时会验证消息。其验证的目的有三:
1.确认消息发送者(Bob)身份的真实性
2.确认在原消息离开消息发送者之后的数据完整性
3.确认传输过来的消息的“新鲜性”
新鲜性:基于时间戳、基于随机数
真实性:公钥体制(数字签名)、对称密钥加密(AES,IDEA等)、消息验证码(RIPE-MAC、HMAC)
消息认证&数据完整性
- 消息认证:验证消息是否真实、是否新鲜
- 数据完整性:验证消息在传输、存储过程中未经非法修改
消息认证是身份认证的基础
当实体声称的身份信息单独构成协议消息时,身份认证=消息认证
身份认证:
目的:确认通信主体之间身份的真实性(只是数字身份的真实性)、防止主动攻击。
重要性:是保障信息系统安全的第一道防线
手段:基于用户名-口令的认证、基于摘要算法的认证,基于PKI的认证
0x07 安全模型
模型 | 模型特征 |
---|---|
BLP | 保密性,军事安全,中央集权信息系统、较低的执行开销 |
BIBA | 完整性,强制访问控制,难于应用,中央集权信息系统 |
Clark-Wilson | 完整性,商业安全,能够应用面向对象系统,与应用无关的策略、灵活 |
Chinese Wall | 保密性,金融制度,可能有负作用,安全管理的开销较大 |
-
BLP模型基于两种规则来保障数据的机密度和敏感度?
下读:主体不可读安全级别高于她的数据
上写:主体不可写安全级别低于它的数据
-
BIBA模型基于两种规则来保障数据的完整性与保密性?(下读上写)
上读:主体不可读安全级别低于它的数据
下写:主体不可写安全级别高于它的数据
-
多边安全模型?Chinese wall和BMA
-
哪些模型可以提供机密性保护?BLP,Chinese Wall
-
哪些模型可以提供完整性保护?BIBA、Clark-Wilson
0x08 可信计算
概念与需求:
安全是指采取技术和管理的安全保护手段,保护软硬件与数据不 因偶然的或恶意的原因而遭受到破坏、更改、暴露。
Secure | Trusted |
---|---|
Binary | Graded |
Property of presenter | Property of receiver |
Asserted, based on characteristics | Judged, based on evidence |
Absolute | Relative |
Goal | Characteristic |
可信计算的涵义:
用户的身份认证:这是对使用者的信任。
平台软硬件配置的正确性:这体现了使用者对平台运行环境的信任。
应用程序的完整性和合法性:这体现了应用程序运行的可信。
平台之间的可验证性:指网络环境下平台之间的相互信任。
可信计算的属性:
可鉴别:计算机系统的用户可以确定与他们进行通信的对象身份。
完整性:用户确保信息能被正确传输。
私密性:用户相信系统能保证信息的私密性。
TPM:可信任平台模块(可信计算核心)
TCG技术的核心内容就是为计算平台提供了一整套基于TPM及平台中TBB (平台可信构造块=TPM+CRTM)的信任建立及可信性证实方法和机制
TPM至少具备四个主要功能:
- 对称/非对称加密:对称加密算法可以任选,数据的非对称加密是RSA算法。
- 安全存储
- 完整性度量:SHA-1散列算法
- 签名认证:RSA算法
TCSEC:美国可信计算机系统评价标准
D类安全等级
D类安全等级只包括D1一个级别。D1的安全等级最低。D1系统只为文件和用户提供安全保护。D1系统最普通的形式是本地操作系统,或者是一个完全没有保护的网络。
C类安全等级
该类安全等级能够提供审计的保护,并为用户的行动和责任提供审计能力。C类安全等级可划分为C1和C2两类。C1系统的可信任运算基础体制(Trusted Computing Base,TCB)通过将用户和数据分开来达到安全的目的。在C1系统中,所有的用户以同样的灵敏度来处理数据,即用户认为C1系统中的所有文档都具有相同的机密性。C2系统比C1系统加强了可调的审慎控制。在连接到网络上时,C2系统的用户分别对各自的行为负责。C2系统通过登陆过程、安全事件和资源隔离来增强这种控制。C2系统具有C1系统中所有的安全性特征。
B类安全等级
B类安全等级可分为B1、B2和B3三类。B类系统具有强制性保护功能。强制性保护意味着如果用户没有与安全等级相连,系统就不会让用户存取对象。B1系统满足下列要求:系统对网络控制下的每个对象都进行灵敏度标记;系统使用灵敏度标记作为所有强迫访问控制的基础;系统在把导入的、非标记的对象放入系统前标记它们;灵敏度标记必须准确地表示其所联系的对象的安全级别;当系统管理员创建系统或者增加新的通信通道或I/O设备时,管理员必须指定每个通信通道和I/O设备是单级还是多级,并且管理员只能手工改变指定;单级设备并不保持传输信息的灵敏度级别;所有直接面向用户位置的输出(无论是虚拟的还是物理的)都必须产生标记来指示关于输出对象的灵敏度;系统必须使用用户的口令或证明来决定用户的安全访问级别;系统必须通过审计来记录未授权访问的企图。
B2系统必须满足B1系统的所有要求。另外,B2系统的管理员必须使用一个明确的、文档化的安全策略模式作为系统的可信任运算基础体制。B2系统必须满足下列要求:系统必须立即通知系统中的每一个用户所有与之相关的网络连接的改变;只有用户能够在可信任通信路径中进行初始化通信;可信任运算基础体制能够支持独立的操作者和管理员。
B3系统必须符合B2系统的所有安全需求。B3系统具有很强的监视委托管理访问能力和抗干扰能力。B3系统必须设有安全管理员。B3系统应满足以下要求:除了控制对个别对象的访问外,
B3必须产生一个可读的安全列表;每个被命名的对象提供对该对象没有访问权的用户列表说明;B3系统在进行任何操作前,要求用户进行身份验证;B3系统验证每个用户,同时还会发送一个取消访问的审计跟踪消息;设计者必须正确区分可信任的通信路径和其他路径;可信任的通信基础体制为每一个被命名的对象建立安全审计跟踪;可信任的运算基础体制支持独立的安全管理。
A类安全等级
A系统的安全级别最高。A类安全等级只包含A1一个安全类别。A1类与B3类相似,对系统的结构和策略不作特别要求。A1系统的显著特征是,系统的设计者必须按照一个正式的设计规范来分析系统。对系统分析后,设计者必须运用核对技术来确保系统符合设计规范。A1系统必须满足下列要求:系统管理员必须从开发者那里接收到一个安全策略的正式模型;所有的安装操作都必须由系统管理员进行;系统管理员进行的每一步安装操作都必须有正式文档。
四类七级:A1最安全。
CC:国际通用标准
CC是国际标准化组织统一现有多种准则的结果,是目前最全面的评价准则。
EAL1:功能测试级。适用在对正确运行要求有一定信心的场合,此场合下认为安全威胁并不严重。个人信息保护就是其中一例。
EAL2:结构测试级。在交付设计信息和测试结果时,需要开发人员的合作。但在超出良好的商业运作的一致性方面,不要花费过多的精力。
EAL3:系统测试和检查级。在不大量更改已有合理才开发实现的前提下,允许一位尽责的开发人员在设计阶段从正确的安全工程中获得最大限度的保证。
EAL4:系统设计,测试和复查级。它使开发人员从正确的安全工程中获得最大限度的保证,这种安全工程基于良好的商业开发实践,这种实践很严格,但并不需要大量专业知识,技巧和其他资源。在经济合理的条件下,对一个已经存在的生产线进行翻新时,EAL4是所能达到的最高级别。2002年,Windows 2000 成为第一种获得EAL4认证的操作系统,这表明它已经达到了民用产品应该具有的评价保证级别。
EAL5:半形式化设计和测试级。开发者能从安全工程中获得最大限度的安全保证,该安全工程是基于严格的商业开发实践,靠适度应用专业安全工程技术来支持的。EAL5以上的级别是军用信息设备,用于公开密钥基础设施的信息设备应达到的标准。
EAL6:半形式化验证设计和测试级。开发者通过安全工程技术的应用和严格的开发环境获得高度的认证,保护高价值的资产能够对抗重大风险。
EAL7:形式化验证设计和测试级。适用于风险非常高或有高价值资产值得更高开销的地方。
EAL7表示安全等级最高。