网络安全
何为网络安全
这里指出**安全通信(secure commicommunication)**具有的下列特性。
- 机密性。仅有发送方和希望接收方能够理解传送报文的内容,因此就需要对报文在一定程度上进行加密。
- 报文完成性。及无人能够修改在传输过程中的报文。
- 端点鉴别。发送方和接收方都能确保“他”就是“他”。
- 运行安全性。反制病毒等对机构网络的攻击。
明确了网络安全,还需要对入侵者采取的行动有所了解。入侵者能够潜在:
- 窃听
- 修改、插入、删除报文或报文内容
密码学提供机密性不言而喻,但也对端点鉴别、报文完整性也起到了核心作用。
密码学的原则
密码学组成部分
- 明文:报文的最初形式
- 加密算法:用来加密明文,生成密文
- 解密算法:用来解密密文,生成明文
- 密文:经过加密的明文
- 密钥KAK_AKA:它可以是一串数字或者一串字符串,用来作为加密算法的输入
- KAK_A%28m%29KA:明文mmm,经过密钥KAK_A%28m%29KA加密
- 密钥KBK_B%28m%29KB:为解密算法提供的密钥。
- 解密过程:KBKA(m)=mK_BK_A(m)=mKBKA(m)=m。
- 对称密钥系统:加密密钥与解密密钥相同KA=KBK_A=K_BKA=KB。
- 非对称加密系统:加密密钥与解密密钥不同KA≠KBK_A \ne K_BKA̸=KB。
对称密钥密码体制
对称密钥密码体制都需要通信双方共享一个共同秘密。这种方法的一个困难是两方必须就共享密钥达成一致。但是这样做的前提是需要通信(可假定是安全的) !可能是双方首先会面,人为协商确定密钥(例如,凯撒的两个百夫长在罗马浴室碰头) ,此后才能进行加密通信。
公开密钥加密
假设Bob与Alice需要通信,而Bob(Alice报文的接收方)则有两个密钥。一个是世界上的任何人(包括人侵者 Trudy)都可得到的公钥 KA+K_A^+KA+(public key),另一个是只有Bob知道的**私钥公钥 KA−K_A^-KA−(private key) **。为了与Bob通信,Alice需要首先获取到Bob的公钥,加密需要传给给Bob的报文mmm,即Alice计算KA+(m)K_A^+(m)KA+(m)。发送给Bob后,Bob通过私钥解密获得明文报文KA−KA+(m)K_A^-K_A^+(m)KA−KA+(m)。
报文完整性和数字签名
密码散列函数
散列函数以mmm为输入,并计算得到一个称之为散列的固定长度的字符串H(m)H(m)H(m)。密码散列函数拥有以下特征:
- 找不到任意两个不同的报文 z 和 y 使得 H(x) =H(y) , 在计算上是不可能的。
报文鉴别
- Alice生成报文m,并用s级联m以生成m+s,并计算散列H(m+s)H(m+s)H(m+s)。H(m+s)H(m+s)H(m+s)称之为报文鉴别码(Message Authenticalion Code , MAC)
- Alice将MAC附加到报文 m 上,生成扩展报文(m,H(m+s))(m, H(m + s))(m,H(m+s)),并将该扩展报 文发送给Bob。
- Bob接收到一个扩展报文(m,h)(m, h)(m,h)由于知道s,算出报文鉴别码 H(m +s) 。 如 果 H( m + s) = h, Bob 得到结论 : 一切正常。
存在问题:如何分发鉴别密钥s。
数字签名
数字签名的基本流程:
公钥认证
数字签名的一个重要应用是公钥认证 (publicc key certification) 。将公钥与特定实体绑定通常是由认证中心 (Certification Authority, CA) 完成的, CA的职责就是使识别和发行证书合法化。 CA 具有下列作用:
- CA 证实一个实体( 一个人、 一台路由器等)的真实身份。
- 一旦CA验证了某个实体的身份,这个CA会生成一个把其身份和实体的公钥绑定起来的证书。