安全问题
- 计算机网络上的通信面临以下的四种威胁:
(1) 截获——从网络上窃听他人的通信内容。(被动)
(2) 中断——有意中断他人在网络上的通信。
(3) 篡改——故意篡改网络上传送的报文。
(4) 伪造——伪造信息在网络上传送。
- 保密性
- 安全协议的设计
- 访问控制
两类密码体制:
保密性:
对称DES和非对称
公钥算法的特点(1、每方都有一对钥匙,公钥和密钥;2、加密解密无顺序关系)
- 发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,在接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:
(7-4)
- 解密密钥是接收者专用的秘钥,对其他人都保密。
- 加密密钥是公开的,但不能用它来解密,即
- 加密和解密的运算可以对调,即
- 在计算机上可容易地产生成对的 PK 和 SK。
- 从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。
- 加密和解密算法都是公开的。
数字签名:解决伪装攻击
数字签名必须保证以下三点:
(1) 报文鉴别——接收者能够核实发送者对报文的签名;
(2) 报文的完整性——发送者事后不能抵赖对报文的签名;
(3) 不可否认——接收者不能伪造对报文的签名。
现在已有多种实现各种数字签名的方法。但采用公钥算法更容易实现。
-
- 用谁的公钥解开,那就是从哪儿发送过来的。保证1,保证2
- SkA只有A知道,B不能篡改
鉴别
对付被动攻击(盗取信息)的重要措施是加密
对付主动攻击中的篡改和伪造则要用鉴别(authentication)
报文鉴别:
报文摘要 MD :唯一标识一段文字
- 报文摘要算法就是一种散列函数。这种散列函数也叫做密码编码的检验和。报文摘要算法是防止报文被人恶意篡改。
- 报文摘要算法是精心选择的一种单向函数。
实体鉴别 :
- 报文鉴别是对每一个收到的报文都要鉴别报文的发送者,
- 实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。
存在的问题:
重放攻击(replay attack):
入侵者 C 可以从网络上截获 A 发给 B 的报文。C 并不需要破译这个报文(因为这可能很花很多时间)而可以直接把这个由 A 加密的报文发送给 B,使 B 误认为 C 就是 A。然后 B 就向伪装是 A 的 C 发送应发给 A 的报文。
- 解决方法:为了对付重放攻击,可以使用不重数(nonce)。不重数就是一个不重复使用的大随机数,即“一次一数”。
中间人攻击:
C拥有A的公钥(冒充B和A通信),把A的私钥丢弃,把自己的私钥发给B(让B以为自己是A与B通信)。获得了AB通信的所有数据。
- A 向 B 发送“我是A”的报文,并给出了自己的身份。此报文被“中间人” C 截获,C 把此报文原封不动地转发给 B。B 选择一个不重数 RB 发送给 A,但同样被 C 截获后也照样转发给 A。
- 中间人 C 用自己的私钥 SKC 对 RB 加密后发回给 B,使 B 误以为是 A 发来的。A 收到 RB 后也用自己的私钥 SKA 对 RB 加密后发回给 B,中途被 C 截获并丢弃。B 向 A 索取其公钥,此报文被 C截获后转发给 A。
- C 把自己的公钥 PKC 冒充是 A 的发送给 B,而 C 也截获到 A 发送给 B 的公钥 PKA。
- B 用收到的公钥 PKC(以为是 A 的)对数据加密发送给 A。C 截获后用自己的私钥 SKC 解密,复制一份留下,再用 A 的公钥 PKA 对数据加密后发送给 A。A 收到数据后,用自己的私钥 SKA 解密,以为和B进行了保密通信。其实,B发送给A的加密数据已被中间人 C 截获并解密了一份。但 A 和 B 却都不知道。
密钥管理问题导致上述攻击
解决办法:
密钥分配
常用的密钥分配方式是设立密钥分配中心 KDC (Key Distribution),通过 KDC 来分配密钥。
- 对称密钥的分配
KAB为ab通信的对称密钥
- 公钥的分配
证书颁发机构CA
网络层使用的安全协议:
IPsec 与安全关联 SA
1、鉴别首部协议 AH :
AH可对整个数据包(IP 报头与数据包中的数据负载)提供身份验证、完整性与抗重播保护。但是它不提供保密性,即它不对数据进行加密。数据可以读取,但是禁止修改。
2、封装安全有效载荷 ESP:IPsec 封装安全负载(IPsec Encapsulating Security Payload)ESP不仅为IP 负载提供身份验证、完整性和抗重播保护,还提供机密性。
IPsec数据报工作方式:运输方式/隧道方式
运输层:SSL
- SSL 服务器鉴别
允许用户证实服务器的身份。具有 SS L 功能的浏览器维持一个表,上面有一些可信赖的认证中心 CA (Certificate Authority)和它们的公钥。
(2) 加密的 SSL 会话
客户和服务器交互的所有数据都在发送方加密,在接收方解密。
(3) SSL 客户鉴别
允许服务器证实客户的身份。
应用层:PGP
数据链路层:防火墙
分类:
(1) 网络级防火墙——用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤和授权服务器。前者检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据,而后者则是检查用户的登录是否合法。
(2) 应用级防火墙——从应用程序来进行接入控制。通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许通过访问万维网的应用,而阻止 FTP 应用的通过。