信息安全与密码学概论
一篇文章让你初步了解信息安全领域。
1、简述安全攻击,安全机制,安全服务
安全攻击:任何危及信息系统安全的行为。
安全机制:用来检测、阻止攻击或者从攻击状态恢复到正常状态的过程。
-
安全服务(安全属性):使用一种或多种安全机制来增强安全、对抗安全攻击的过程。
2、安全服务(安全属性)的几个属性及定义
身份认证(鉴别):确保每个实体都是他们所声称的实体
访问控制:防止对资源的未授权使用
数据机密性:保护数据免受非授权泄露
数据完整性:保护数据免受非授权篡改
不可否认/真实性:保护通信中针对任何一方的否认攻击
-
可用性:确保资源能在需要时被授权方获得
3、了解几个典型的安全机制
单一的机制不能提供完全的安全服务,但是加密(密码学)是主要采取的技术。
-
特定安全机制:
加密、数字签名、访问控制、数据完整性、认证交换、流量填充、路由控制、公证
-
普遍安全机制:
可信功能、安全标签、事件检测、安全审计跟踪、安全回复
4、安全攻击中破坏的是什么安全属性
偷听/泄露——攻击机密性
伪造——攻击真实性/不可否认性
重放——攻击认证和真实性
篡改——攻击完整性
中断——攻击可用性(狭义:破坏硬件、拒绝服务DOS)
5 、主动攻击与被动攻击的区别
-
被动攻击:
包括偷听和流量分析,不对数据进行修改。
主要是攻击保密性。
难以检测。
可以预防——加密,流量填充
-
主动攻击:
包括对数据流、系统状态的修改、创建虚假信息。
主要攻击真实性、不可否认性、完整性、可用性
难以预防
可以检测——数字签名、HASH、入侵检测等
6、密码体制的五要素
明文(Plaintext/Message)
密文(Ciphertext)
**(Key)
加密算法(encrypt)
解密算法(decrypt)
7、密码体制的三种分类
流密码/序列密码:以bit或字符的方式处理输入输出
分组密码:以块的方式处理输入输出
哈希函数——无**
秘密(对称/传统/单钥)**码——一个**
公钥(非对称/双钥)密码——两个**(公钥和私钥)
受限算法:保密算法——古典密码
基于**的算法:保***——现代密码
基于保密的内容
基于**个数
基于明文加密处理方式
8、传统密码与公钥密码的优缺点
传统密码优点:加解密速度快。
传统密码缺点:难以分配和管理**,实现数字签名困难。
公钥密码优点:易于分配和管理**,实现数字签名容易。
公钥密码缺点:难以生产**,加解密速度慢。
9、古典加密与现代加密的特点
古典加密:数据的安全依赖于算法的保密。
现代加密: 数据的安全依赖于**的保密而不是算法的保密。
10、三种密码分析方法及各自特点
-
暴力**攻击(尝试所有**,直到找到正确明文):
理论上可以**任何密码系统,平均尝试一半的**空间可以**成功。
-
统计分析攻击(比较和分析密文的统计特征):
能**绝大多数古典密码。
-
数学分析攻击(根据数学理论进行密码**):
攻击公钥密码的主要方法。
11、无条件安全与计算上安全
-
无条件安全:绝对安全,无论何种计算机资源都无法**的密码,只有香农提出的
次一密满足。
-
一次一密特点:使用明文一样长的随机**,且不重复,明密文统计无关,**产
和分配困难。
-
计算机上的安全:**密码的代价超过加密信息的价值;**密码的时间超过信息(M或K)的有效期。
12、代替和置换的定义
代替:明文被其他字母、数字或者符号代替;明文被看做bit流,将明文bit流替换为密文bit流。
置换: 不改变实际使用的字母,而是通过重新排列字母顺序来隐藏信息。
13、单字母代替(单表代替,多表代替)与多字母代替
-
单表代替
一个明文字母表对应一个密文字母表
-
多表代替
一个明文字母表对应多个密文字母表
-
单字母代替
将每个明文字母独立的映射为密文字母。
-
多字母代替
字母映射以组的方式进行,依赖于其上下文的位置。
14、通用凯撒密码(单字母单表代替)的公式
凯撒密码公式:
C = E(m) = (m + k) mod 26
m = D(C) = (C – k) mod 26
K = 0~25(取0没意义)(**是一个数)
通过25种穷举搜索就能够攻破通用的凯撒密码。
15、置乱密码(单字母单表)的统计分析攻击
不是对字母表进行移位,而是任意的打乱字母表,每个明文字母匹配一个随机的密文字母。
**:明文字母表和密文字母表的对应关系。
由于人类语言中所有字母不是被等概率的使用,可以通过统计(频率)分析攻破。
16、维吉尼亚密码(最著名的多表代替密码)公式,**长度,**空间以及**方式与维纳密码(流密码)的一次一密思想
-
Vigenere密码
循环使用26个凯撒密码**,每个**用完之后再从头开始重复使用。
多个密文表,平滑了频率分布,从而使得密码分析更加困难。
**词重复使用使得**跟明文一样长。
公式:Ci = (Pi + K[i mod m]) mod 26 Ki=a~z
**: **由重复的**词构成,m为**词长度,**空间为26^m。
重复的密文暴露**周期,如果**长度短,可以穷举攻击;如果**长度长,可
假设**词长度为m,则通过m次单字母频率分析得到m个**词字母。
-
Vernam密码
流密码:基于bit而不是字母
Ci=pi⊕ki
pi=Ci⊕ki
安全性依赖于**的随机性。(个人理解:)虽然计算计算原理不一样,但效果可以看成**长度为明文长度的置乱密码。
-
一次一密
**与明文一样长,且永不重复
明文和密文统计无关
无条件安全(永不可破)
**产生和分配困难,只被军用
17、playfair矩阵(多字母单表代替)的形成,及其加密算法
举例:
加密算法规则:
1、从第一个字母开始,每两个字母一组,如果有重复的一组,则在它们之间填充一个字母,然后再把重复字母中的后一个当做第一个字母继续1的步骤,直到明文结束。
例如: “balloon” 被填充为”ba lx lo on”
2、如果双字母位于同一行,用每个字母右边的字母去代替原字母。(行尾回滚至行首)
3、如果双字母位于同一列,用每个字母下面的字母去代替原字母。(列尾回滚至列首)
4、否则,每个字母用与它同一行,与另一字母同一列交叉点的字母代替。
解密:同行同行的话与加密操作相反,否则与加密操作相同。
同样可以对比单字母的26个字母频率统计,这里只是需要统计26X25=650组双字母组合的频率。
18、置换密码(栅栏密码,列置换密码,多步置换,乘积密码,转轮机)其中注意转轮机每输入一个字母快速转子就会转动一格
栅栏密码
将明文字母以对角线的方式写入,再逐行读出密文字母。
例子:
-
列置换密码
明文以矩形方式一行行写入,但一列列的读出,**是矩形的长度和列读出顺序。
例子:
-
多步置换密码
多次进行列置换密码操作,这样难以反向重构。
例子:
-
乘积密码
由于语言的统计特征,单纯使用代替或者置换是不够的。
连续多次使用密码使得算法更安全:两次代替得到更为复杂的代替密码,两次置换
到更为复杂的置换密码,一次代替加一次置换得到安全性高得多的密码。
是从古典密码过渡到现代密码的桥梁。
-
转轮机
每个转子对应一个代替密码;
每个转子产生一个对应着26个密文字母表的多表代替密码(维吉尼亚密码);
每次按键后,转子旋转一个刻度;
每个转子的输出是下一个转子的输入;
在每个转子循环完一个周期后,相邻的下一个转子旋转一个刻度。
(一个3-转子转轮机产生26^3个密文表)
19、对公钥密码的一些误解
公钥密码比对称密码更安全
公钥密码的出现使得对称密码变得过时
与对称密码使用KDC繁琐的握手方式分配**相比,公钥密码的**分配容易。
20、公钥密码的要求
用公钥加密的信息可以用私钥解密恢复(基本条件) D(E(M,PU),PR)=M
给定加***,想得到解***从计算上不可行(安全条件)
当相关的加***已知,做相应加密操作是快速高效的(工程使用条件)
加密的顺序可以互换(可选条件)D(E(M,PU),PR)=D(E(M,PR),PU)=M
21、对称密码与公钥密码的对比 分析
公钥密码
使用两个**(公钥和私钥)
PU的公开不会泄露PR
由于通信不对称,加密信息的人不能解密信息
-
基于数学函数而不是代替和置换
对称**(秘**):
使用一个**,双方共享
**泄露导致通信的安全性被破坏
由于通信对称,双方地位平等,因此不能防止发送者否认发送,也不能防止接收者伪造信息并声明是发送者发送的。
22、公钥密码体制的几张图以及相关的安全属性
加解密——保密性
数字签名——认证、完整性和不可否认性
**交换——提供会话**
23、单向函数与单向陷门函数
单项函数:每个函数值都存在唯一的逆,并且计算函数值是容易的,但求逆却是不可行的。
单向陷门函数:一个函数,若计算函数值很容易,并且在缺少一些附加信息时计算函数的逆是不可行的,但是已知这些附加信息时,可以在多项式时间内计算出函数的逆。
24、公钥密码分析
针对PR的穷举攻击
数学分析攻击:从PU中视图推出PR
-
穷举消息攻击
25、哈希函数的定义及六种基本使用模式
hash函数H将可边长的数据块M作为输入,产生固定长度的Hash值h=H(M)。
26、抗强碰撞性,抗弱碰撞性
单向性:给定h,反向求出x,使得H(x)=h不可行
抗弱碰撞性:给定x,找到y,使得H(x)=H(y)不可行
抗强碰撞性:找到任意的x,y使得H(x)=H(y)不可行
27、哈希函数的通用结构(迭代压缩函数)
如果每个f是抗碰撞的,则哈希结果也是抗碰撞的。
28、数字签名包含的属性及定义
签名的属性:
防止发送方抵赖,包括签名内容、时间(不可否认性)
除了发送方,其他人不能伪造签名和被签名内容(真实性,完整性)
可被第三方验证以解决争端(可仲裁性)
定义:数字签名是一种认证机制,是消息产生者在消息后附加的一个签名码。 可以保证消息来源的真实性/不可否认性、完整性。
数字签名的属性:
必须依赖被签名信息——确保完整性
必须使用发送者独一无二的信息(PR)——防止伪造和否认(真实性/不可否认性)
相对容易产生
相对容易验证(PU)
计算上不能被伪造(对于给定数字签名伪造新消息与之对应、对于给定消息伪造数字签名与之对应)
存储数字签名的拷贝是可行的
29、哈希函数在数字签名中的用处
减少数字签名和通信的长度
维护消息和签名的对应关系以防伪造(真实性、完整性)
30、仲裁数字签名
31、口令存储机制
原理:Hash函数,给定h(口令),难以反向得到口令
过程:用户口令以哈希值存储h(口令),当用户输入口令,系统计算口令的哈希值,然后与口令文件中存储的哈希值相比较,磁盘中不存储口令原文。
32、口令字典的字典攻击
俗称猜密码。
33、引入盐的三个目的
防止口令文件中出现相同的口令
有效增加口令长度
阻止硬件实现DES
34、入侵检测系统
能及时识别出入侵者
有效的入侵检测系统能预防入侵
入侵检测能收集入侵信息,以便用于增强入侵预防功能。
35、注意入侵者和授权用户的行为轮廓那张图
36、了解误判和漏判,哪种情况造成误判,哪种情况造成漏判和入侵检测技术
放宽对入侵的定义会导致误报——将授权用户识别为入侵者
严格对入侵的定义会导致漏报——将入侵者识别为授权用户
入侵检测技术
误用检测:定义现有的入侵模式,难以发现新的入侵
异常检测:定义正常使用轮廓,判断入侵行为和正常行为的偏差
能检测出未知入侵
37、挑战应答认证机制
-
3.0
在协议2.0的基础上,A再加一个秘密口令证明自己是A,C可以进行重放攻击。
-
3.1
在3.0的基础上,将秘密口令加密,然并卵。。。
-
协议1.0
A直接发送明文给B,C可以直接伪装A给B发消息。
-
协议2.0
A将自己的IP地址和明文一起发给B,C可以创建一个数据包,通过IP欺骗冒充A
协议3.0和协议3.1
-
协议4.0
B向A发送一个随机数N,A用AB共享的对称**加密,若B能解密得到N,则A就是A
-
协议5.0
在4.0的基础上,将对称密码换成A的私钥加密,B用A的公钥解密。
38、X.509 服务体制下的**分配,认证服务,验证证书,交叉认证,证书撤销 以及PKI
**分配:通过数字签名确保公钥数据库PKDB中PU的真实性和完整性;证书是由可信第三方对用户标识符和其公钥PU的数字签名载体;CA对PU进行签名的可信第三方实体
认证服务:定义服务的框架(将公钥证书存放在目录中,由CA用其私钥PR来签署证书);使用公钥算法和数字签名技术;公钥证书是公钥PU的可信载体,能安全分配公钥。
验证证书:用户可以在CA的证书中获取CA的公钥,然后用来验证其他用户证书中公钥的安全性;CA的证书可以自签或者由他的父CA签署得到。
-
交叉认证:
-
证书撤销:
证书都有有效期,可以提前撤销证书(私钥泄露、用户与CA不再信任、CA证书被破坏),通过数字签名维护一个证书的撤销列表(CRL),用户定期更新CRL并在使用证书前检查其CA的CRL列表的证书名,出于速度考虑,本机缓存CRL列表
-
PKI(public key infrastructure)公钥基础设施
定义:PKI系统是由硬件、软件、人、策略和相应处理构成的一整套体系,用来创建、管理、存储、分发和撤销其上的数字证书(PU)
目标:分发公钥PU。信任通过证书传递。
元素:端实体、认证机构CA、***构RA(可选)、证书撤销列表CRL发布点(可选)、证书存取库(证书和CRL)
任务:用户注册、用户初始化(**对的产生和分配)、认证(证书产生和存储)、**对的备份和恢复(对于数据加密,备份PU和PR;对于数字签名只能备份PU)、自动**对更新、证书撤销请求、交叉认证(CA间互相签署证书)
39、LSB算法,数字水印,针对隐私的链接攻击
LSB(最低有效位)算法:
修改数字图像中指示颜色的低位bit来隐藏信息,一个像素点包含24bit的RGB颜色信息,修改最低有效位LSB不会显著改变图像的品质
优点:快速 、简单
缺点:隐藏的信息可能会通过信息处理被破坏,如:信号转换、图像压缩
数字水印 :
在数字媒体中添加一个“不可察觉”的版权信息(唯一的标识符或***),数字水印可以在需要被提取以作为非授权拷贝的证据。
特点:版权信息的嵌入或提取不会影响宿主媒体的正常使用
要求:透明性、鲁棒性
分为时空域和频域两种技术
与隐写术技术相同但用途不同
针对隐私的链接攻击:
链接攻击是从发布的数据表中获取隐私数据的常见方法。其基本思想为:攻击者通过对发布的数据和其他渠道获取的外部数据进行链接操作,以推理出隐私数据,从而造成隐私泄露。
40、K-匿名算法熟悉以及泛化过程
K-匿名算法思想:每次计算都只能选择某一个属性值来泛化,被选中的这某一属性的值域集合的基数在其他剩余属性中是最大的,重复之前的步骤直到选取完准标识符属性。
41、什么是访问控制及访问控制的目的
访问控制定义:主体依据某些控制策略,获得不同的权限访问客体
访问控制目的:提供主体和客体一定的安全防护,确保不会有非法者使用合法或敏感信息,也确保合法者能够正确使用这些资源,从而实现安全的分级管理。
42、访问控制的三要素及实现
三要素:
主体:对客体提出访问请求的实体,简称S,也称为用户User或授权访问者。
客体:接受主体访问请求的被动实体,简称为O
控制策略:主体对客体的访问规则集,简称为P
访问控制的实现:
框架:
实现:
身份认证:主体S和客体O之间的双向认证。
策略的制定和实现:制定——创建用户;实现——用户行为
审计:审计是访问控制的重要内容和补充,审计可以对用户使用何种信息资源、使用的时间、以及如何使用进行记录和监控。
43、两种访问控制(DAC,MAC)的定义及区别
DAC(自主访问控制):属于无层次多级安全,又称任意访问控制,允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体;某些用户还可以自主的把自己所拥有的客体的访问权限授予其他用户。
MAC(强制访问控制):属于层次性多级安全,系统事先给主体和客体分配不同的安全级别;在实施访问控制时,系统先对主体和客体的安全级别进行比较,再决定主体能否访问该客体。
DAC和MAC区别:
DAC是无层次型;MAC是层次型。
DAC的访问权限可以自由的授权给其他用户,授权基于用户;MAC的访问权限是严格的按照安全等级来执行的,授权基于安全等级,只能被安全管理员修改。
44、四种访问方式
向下读(rd):主体安全级别高于客体安全级别时允许的读操作
向上读(ru):主体安全级别低于客体安全级别时允许的读操作
向下写(wd):主体安全级别高于客体安全级别时允许执行或是写操作
向上写(wu):主体安全级别低于客体安全级别时允许执行或是写操作
45、MAC下的BLP模型及Biba 模型
Bell-LaPadual(BLP)模型:具有只允许向下读、向上写的特点,可以有效地防止机密信息向下级泄露。缺点:使非法、越权篡改成为可能
Biba模型:具有只允许向上读、向下写的特点,可以有效地保护数据的完整性。缺点:忽略了保密性
46、DAC下的访问控制列表及访问控制矩阵
-
访问控制列表:以文件为中心
访问控制矩阵:包括所有主体客体的完整矩阵
47、MAC下的安全标签列表
主体和客体的安全级别集合
48、授权与审计的差别
授权:是访问控制的前提,是客体授予主体的权限。授权基于信任模型(建立和管理信任关系的框架,信任关系是指主体符合客体所假定的期望值)
审计:是对访问控制的必要补充,是实现系统安全的最后一道防线,处于系统最高层,作用是跟踪记录系统行为和用户行为。审计不但有助于确保系统及其资源免受非法授权用户侵害,还能在一定程度上防止合法用户越权使用,同时还能提供对数据恢复的帮助。
49、审计内容
个人职能
事件重建
入侵检测
故障分析
∑编辑 | Gemini
来源 | ****
算法数学之美微信公众号欢迎赐稿
稿件涉及数学、物理、算法、计算机、编程等相关领域,经采用我们将奉上稿酬。
投稿邮箱:[email protected]