哈工大信息安全概论复习笔记(1)
文章目录
考点一 信息安全架构
1 面向目标的知识体系结构
信息安全CIA三元组(信息安全的三个最基本的目标):
C - 机密性:信息在存储、传输、使用过程中,不会泄露给非授权用户或实体
I - 完整性:信息在存储、传输、使用过程中,不会被非授权用户篡改或防止授权用户对信息进行不恰当的篡改
A - 可用性:凡是为了确保授权用户或实体对信息资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息资源地相关理论技术均属于可用性范畴
如果组织最关心地是对私密信息地保护,就会特别强调机密性原则,如果组织最关心的是随时随地向客户提供正确的信息,那就会突出完整性和可用性的要求。
DAD三元组(信息安全面临的最普遍的三类风险):
D - 泄漏、A - 篡改、D - 破坏
2 面向应用的层次型技术架构
信息系统的基本要素:人员、信息、系统;
人员 - 管理安全
信息 - 内容安全、数据安全
系统 - 运行安全、物理安全
三者的五个层次安全有一定顺序关系,每个层次均为其上层提供基础安全保证
3 面向过程的信息安全保障体系
信息安全保障体系包括四部分内容(PDRR)
P - 保护:指预先采取安全措施,阻止攻击可以发生的条件形成,让攻击者无法顺利地入侵。
保护是被动防御,不可能完全阻止各种对信息系统的攻击行为。
D - 检测: 指依据相关安全策略,利用有关技术措施,针对可能被攻击者利用的信息系统的脆弱性进行具有一定实时性的检查,根据结果形成检测报告。
R - 反应:指对于危及安全的事件、行为、过程及时做出适当的响应处理,杜绝危害事件进一步扩大,将信息系统受到的损失降低到最小。
R - 恢复:指当危害事件发生后把系统恢复到原来状态或比原来状态更安全的状态,将危害的损失降到最小。
保护是最基本的被动防御措施,也是第一道防线;检测的重要目的之一是针对突破“保护防线”后的入侵行为进行探测预警;而反应是在检测报警后针对入侵采取的控制措施;恢复是针对攻击入侵带来的破坏进行弥补,是最后的减灾方法,如果前面的保障过程有效地控制了攻击行为,恢复过程则无须进行。
4 OSI开放系统互联安全体系结构
安全服务:
1.鉴别服务 - 用于确保某个实体身份的+可靠性
2.访问控制 - 防止对任何资源的非授权访问
3.数据机密性 - 确保只有经过授权的实体才能理解受保护的信息
4.数据完整性 - 防止对数据的未授权修改和破坏
5.抗抵赖性 - 也称不可否认性,用于防止对数据源以及数据提交的否认
安全机制:
1.加密 - 用于保护数据的机密性
2.数字签名 - 保证数据完整性及不可否认性的一种重要手段
3.访问控制 - 与实体认证密切相关
4.数据完整性 - 用于保护数据免受未经授权的修改
5.鉴别交换 - 用于实现通信双方的实体身份鉴别(身份认证)
6.业务流填充 - 针对的是对网络流量进行分析的攻击
7.路由控制 - 可以指定数据报文通过网络的路径
8.公证机制 - 由通信各方都信任的第三方提供
考点二 密码体制的五要素
通常一个完整密码体制要包括如下五个要素,分别是M、C、K、E和D,具体定义如下:
M - 是可能明文的有限集,称为明文空间
C - 是可能密文的有限集,称为密文空间
K - 是一切可能密钥构成的有限集,称为密钥空间
E - 为加密算法,对于密钥空间的任一密钥加密算法都能够有效地计算
D - 为解密算法,对于密钥空间地任一密钥解密算法都能够有效地计算
一个密码体系如果是实际可用的,必须满足如下特性:
1.加密算法
(
E
k
:
M
→
C
)
(E_k:M\rightarrow C)
(Ek:M→C)和解密算法
(
D
k
:
C
→
M
)
(D_k:C\rightarrow M)
(Dk:C→M)满足
D
k
(
E
k
(
x
)
)
=
x
D_k(E_k(x)) = x
Dk(Ek(x))=x,这里
x
∈
M
x\in M
x∈M;
2.破译者取得密文后,不能在有效的时间内破解出密钥k或明文x
考点三 仿射密码
仿射密码是替换密码的一个特例,可以看做是移位密码和乘数密码的结合。其加密变换如下:
E
k
(
m
)
=
(
k
1
m
+
k
2
)
m
o
d
q
E_k(m) = (k_1m+k_2)mod\space q
Ek(m)=(k1m+k2)mod q
仿射密码的密钥为
(
k
1
,
k
2
)
(k_1,k_2)
(k1,k2),其中,
k
1
,
k
2
∈
(
0
,
q
)
k_1,k_2 \in (0, q)
k1,k2∈(0,q),且
k
1
k_1
k1和q是互素的。
其密码体系描述如下:
M
=
C
=
Z
/
(
26
)
;
q
=
26
;
K
=
{
k
1
,
k
2
∈
Z
∣
0
<
k
1
,
k
2
<
26
,
g
c
d
(
k
1
,
26
)
=
1
}
;
E
k
(
m
)
=
(
k
1
m
+
k
2
)
m
o
d
q
;
D
k
(
c
)
=
k
1
−
1
(
c
−
k
2
)
m
o
d
q
;
M = C = Z/(26); \\q = 26;\\K = \{k_1,k_2 \in Z |0<k_1,k_2<26,gcd(k_1,26)= 1\};\\E_k(m) = (k_1m+k_2)mod \space q;\\D_k(c)=k_1^{-1}(c - k_2)mod~q;
M=C=Z/(26);q=26;K={k1,k2∈Z∣0<k1,k2<26,gcd(k1,26)=1};Ek(m)=(k1m+k2)mod q;Dk(c)=k1−1(c−k2)mod q;
其中,
k
1
−
1
k_1^{-1}
k1−1为
k
1
k_1
k1在模q下的乘法逆元(不是倒数)
gcd(k,q)=1表示k与q的最大公因子为1,即两者互素。
乘法逆元定义: k − 1 为 k 在 模 q 下 的 乘 法 逆 元 , 其 定 义 为 k − 1 ∗ k m o d q = 1 k^{-1}为k在模q下的乘法逆元,其定义为k^{-1} *k~ mod ~q = 1 k−1为k在模q下的乘法逆元,其定义为k−1∗k mod q=1
考点四 数据加密标准DES的算法结构和特点
1 S-DES(简化DES)算法结构:
S-DES加密算法输入为一个8位的二进制明文组和一个10位的二进制密钥,输出为8位二进制密文组;解密与加密基本一致。
算法共射击8个函数,两个与密钥变换有关的分别是置换函数P8、P10和循环移位函数Shift;4个基本函数用于数据加密变换,包括初始置换IP、复合函数
f
k
f_k
fk、转换函数SW以及末尾置换
I
P
−
1
IP^{-1}
IP−1
加密过程表达式:
密
文
=
I
P
−
1
(
f
k
2
(
S
W
(
f
k
1
(
I
P
(
明
文
)
)
)
)
)
密文 = IP^{-1}(f_{k_2}(SW(f_{k_1}(IP(明文)))))
密文=IP−1(fk2(SW(fk1(IP(明文)))))
式中
k
1
=
P
8
(
S
h
i
f
t
(
P
10
(
k
e
y
)
)
)
k
2
=
P
8
(
S
h
i
f
t
(
S
h
i
f
t
(
P
10
(
k
e
y
)
)
)
)
k_1 = P8(Shift(P10(key)))\\k_2=P8(Shift(Shift(P10(key))))
k1=P8(Shift(P10(key)))k2=P8(Shift(Shift(P10(key))))
解密过程表达式:
明
文
=
I
P
−
1
(
f
k
1
(
S
W
(
f
k
2
(
I
P
(
密
文
)
)
)
)
)
明文 = IP^{-1}(f_{k_1}(SW(f_{k_2}(IP(密文)))))
明文=IP−1(fk1(SW(fk2(IP(密文)))))
2 DES的特点
DES是一种对二进制数据进行分组加密的算法,以64位为分组对数据加密,DES的密钥也是长度为64位的二进制数。
加密算法和解密算法非常相似,唯一的区别在于子密钥的使用顺序正好相反。
DES的整个密码体制是公开的,系统的安全性完全依赖于密钥的保密性。
考点五 公钥密码的思想(数学描述)
公开密钥的核心思想:单向陷门函数
如果函数
f
(
x
)
f(x)
f(x)被称为单向陷门函数,必须满足以下三个条件
1.给定x,计算y=f(x)是容易的
2.给定y,计算x使y=f(x)是困难的(所谓计算
x
=
f
−
1
(
y
)
x=f^{-1}(y)
x=f−1(y)困难是指计算上相当复杂,已无实际意义)
3.存在
δ
\delta
δ,已知
δ
\delta
δ时对给定的任何y,若相应的x存在,则计算x使y=f(x)是容易的
注:
(1)仅满足1、2条的称为单向函数;第3条称为陷门性,
δ
\delta
δ称为陷门信息
(2)当用陷门函数f作为加密函数时,可将f公开,这相当于公开加密密钥
P
k
P_k
Pk。f函数的设计者将
δ
\delta
δ保密,用做解密密钥,此时
δ
\delta
δ称为秘密钥匙
S
k
S_k
Sk。由于加密函数是公开的,任何人都可以将信息x加密成y=f(x),然后发送给函数的设计者。由于设计者拥有
S
k
S_k
Sk,他自然可以利用
S
k
S_k
Sk求解
x
=
f
−
1
(
y
)
x=f^{-1}(y)
x=f−1(y)。
(3)单向陷门函数的第2条性质表明窃听者由截获的密文y=f(x)推测x是不可行的。
考点六 离散对数问题
1 素数的原根
若a是素数p的原根,则
1.
a
m
o
d
p
,
a
2
m
o
d
p
,
…
…
,
a
p
−
1
m
o
d
p
a~mod~p,a^2~mod~p,……,a^{p-1}~mod~p
a mod p,a2 mod p,……,ap−1 mod p是不同的
2.包含从1到p-1间所有正数的某种排列,对
∀
b
∈
Z
\forall b \in Z
∀b∈Z,有唯一的i,满足
b
≡
a
i
m
o
d
p
,
(
1
≤
i
≤
p
−
1
)
b\equiv a^i~mod~p,(1\le i \le p-1)
b≡ai mod p,(1≤i≤p−1)。
注:
b
≡
a
i
m
o
d
p
b \equiv a^i~mod~p
b≡ai mod p等价于
b
m
o
d
p
=
a
i
m
o
d
p
b~mod~p=a^i~mod~p
b mod p=ai mod p,称为b与a模p同余。
2 离散对数
若a是系数p的一个原根,则
∀
b
∈
Z
(
b
m
o
d
p
≠
0
)
\forall b \in Z(b~mod~p \ne 0)
∀b∈Z(b mod p=0),必有在唯一的
i
(
1
≤
i
≤
p
−
1
)
,
s
.
t
.
b
≡
a
i
m
o
d
p
。
i(1 \le i \le p-1),s.t.b \equiv a^i~mod~p。
i(1≤i≤p−1),s.t.b≡ai mod p。
i称为b的以a为基数且模p的幂指数,即离散对数。
3 求解离散对数
对
y
≡
g
x
m
o
d
p
y \equiv g^x~mod~p
y≡gx mod p(g为系数p的原根,x与y均为正整数),则
1.从g,x,p计算y是容易的
2.从g,y,p计算x是困难的
注:离散对数的求解为数学界公认的困难问题
考点七 Diffie-Hellman密钥交换协议
DH密钥交换算法的描述如下:
Alice和Bob协商好一个大素数p和大的整数g,1<g<p,g是p的原根。p和g无须保密,可为网络上的所有用户共享。当Alice和Bob要进行保密通信时,他们可以按如下步骤来做
1.Alice选取大的随机数
x
<
p
x<p
x<p,并计算
Y
=
g
x
(
m
o
d
P
)
Y = g^x(mod~P)
Y=gx(mod P)。
2.Bob选取大的随机数
x
′
<
p
x^{'}<p
x′<p,并计算
Y
′
=
g
x
′
(
m
o
d
P
)
Y^{'} = g^{x^{'}}(mod~P)
Y′=gx′(mod P)。
3.Alice将Y传送给Bob,Bob将
Y
′
Y^{'}
Y′传送给Alice。
4.Alice计算
K
=
(
Y
′
)
X
(
m
o
d
P
)
K=(Y^{'})^X(mod~P)
K=(Y′)X(mod P),Bob计算
K
=
(
Y
)
X
′
(
m
o
d
P
)
K=(Y)^{X^{'}}(mod~P)
K=(Y)X′(mod P)。
显而易见,
K
=
K
′
=
g
x
x
′
(
m
o
d
P
)
K=K^{'}=g^{xx^{'}}(mod~P)
K=K′=gxx′(mod P),即Alice和Bob已获得了相同的秘密值K。双发以K作为加解密钥,以传统对称密钥算法进行保密通信。