网络安全

何为网络安全

这里指出**安全通信(secure commicommunication)**具有的下列特性。

  • 机密性。仅有发送方和希望接收方能够理解传送报文的内容,因此就需要对报文在一定程度上进行加密
  • 报文完成性。及无人能够修改在传输过程中的报文。
  • 端点鉴别。发送方和接收方都能确保“他”就是“他”。
  • 运行安全性。反制病毒等对机构网络的攻击。

明确了网络安全,还需要对入侵者采取的行动有所了解。入侵者能够潜在:

  • 窃听
  • 修改、插入、删除报文或报文内容

密码学提供机密性不言而喻,但也对端点鉴别、报文完整性也起到了核心作用。

密码学的原则

密码学组成部分

  • 明文:报文的最初形式
  • 加密算法:用来加密明文,生成密文
  • 解密算法:用来解密密文,生成明文
  • 密文:经过加密的明文
  • **KAK_A:它可以是一串数字或者一串字符串,用来作为加密算法的输入
  • KAK_A%28m%29:明文mm,经过**KAK_A%28m%29加密
  • **KBK_B%28m%29:为解密算法提供的**。
  • 解密过程:KBKA(m)=mK_BK_A(m)=m
  • 对称**系统:加***与解***相同KA=KBK_A=K_B
  • 非对称加密系统:加***与解***不同KAKBK_A \ne K_B


计算机网络基础——网络安全

对称**密码体制

对称**密码体制都需要通信双方共享一个共同秘密。这种方法的一个困难是两方必须就共享**达成一致。但是这样做的前提是需要通信(可假定是安全的) !可能是双方首先会面,人为协商确定**(例如,凯撒的两个百夫长在罗马浴室碰头) ,此后才能进行加密通信。

公开**加密

假设Bob与Alice需要通信,而Bob(Alice报文的接收方)则有两个**。一个是世界上的任何人(包括人侵者 Trudy)都可得到的公钥 KA+K_A^+(public key),另一个是只有Bob知道的**私钥公钥 KAK_A^-(private key) **。为了与Bob通信,Alice需要首先获取到Bob的公钥,加密需要传给给Bob的报文mm,即Alice计算KA+(m)K_A^+(m)。发送给Bob后,Bob通过私钥解密获得明文报文KAKA+(m)K_A^-K_A^+(m)

报文完整性和数字签名

密码散列函数

散列函数以mm为输入,并计算得到一个称之为散列的固定长度的字符串H(m)H(m)。密码散列函数拥有以下特征:

  • 找不到任意两个不同的报文 z 和 y 使得 H(x) =H(y) , 在计算上是不可能的。

报文鉴别

  1. Alice生成报文m,并用s级联m以生成m+s,并计算散列H(m+s)H(m+s)H(m+s)H(m+s)称之为报文鉴别码(Message Authenticalion Code , MAC)
  2. Alice将MAC附加到报文 m 上,生成扩展报文(m,H(m+s))(m, H(m + s)),并将该扩展报 文发送给Bob。
  3. Bob接收到一个扩展报文(m,h)(m, h)由于知道s,算出报文鉴别码 H(m +s) 。 如 果 H( m + s) = h, Bob 得到结论 : 一切正常。

存在问题:如何分发鉴别**s。

数字签名

数字签名的基本流程:

计算机网络基础——网络安全

公钥认证

数字签名的一个重要应用是公钥认证 (publicc key certification) 。将公钥与特定实体绑定通常是由认证中心 (Certification Authority, CA) 完成的, CA的职责就是使识别和发行证书合法化。 CA 具有下列作用:

  1. CA 证实一个实体( 一个人、 一台路由器等)的真实身份。
  2. 一旦CA验证了某个实体的身份,这个CA会生成一个把其身份和实体的公钥绑定起来的证书。

相关文章: