0 引入
A发送信息给B,站在不同角度直观来看,对本次信息传递有三点要求:
- A确定信息只有B接收:采用数据加密实现机密性
- B确定接收的信息是A发送的:端点鉴别
- A、B确定信息传送过程中没有被篡改:报文完整性
技术源于现实需求,从现实需求出发思考技术的意义和组成,是深刻理解技术的起点。个人认为,认识这一点甚至比简单掌握技术内容本身更加重要。
1 数据加密
数据加密一般采用对称加密方式,计算量较小,但是对称密钥需要通过公开加密密钥进行传输。
2 报文完整性 & 端点鉴别
端点鉴别采用公开加密密钥。
3 加密 & 报文完整性 & 端点鉴别
4 公式表示法
A将信息m传递给B:
K
s
(
K
A
−
(
H
(
m
)
)
+
m
)
+
K
B
+
(
K
s
)
K_s(K_A^-(H(m))+m)+K_B^+(K_s)
Ks(KA−(H(m))+m)+KB+(Ks)
B收到信息后进行解密操作:
K
B
−
:
K
s
K
s
:
K
A
−
(
H
(
m
)
)
+
m
K
A
+
:
H
(
m
)
H
:
H
(
m
)
K_B^-:K_s\\ K_s: K_A^-(H(m))+m\\ K_A^+:H(m)\\ H:H(m)\\
KB−:KsKs:KA−(H(m))+mKA+:H(m)H:H(m)
比较:计算H(m)与接收的H(m)对比,两者不一致则传输过程有误,但无法判断哪个环节出现问题。
说明:图中部分图片来自《COMPUTER NETWORKING A Top-Down Approach》。