1.9 机密性不等同于安全
网络安全体系结构
机密性和安全性并不是一个概念。下面是当前这两个概念的定义。
机密性是保护信息,确保其没有泄漏给非授权用户。
安全是保护系统、资源和信息,防止无意和非授权的访问或滥用。
这两者区别很明显:安全是机密性的超集,因为它不止包括对信息的保护,还保护系统功能以防止它们被错误利用。有些团体还以“CIA”三元组(CIA triad)中的三个元素为基础来对安全进行定义,不过这样做有些简化过度了。
- 机密性。
- 完整性。
- 可用性。
下面介绍一些容易理解的例子。
在服务器上对私有文件采用密码加密,确保数据只对特定群体有意义,这显然就是一个维护机密性的手段。然而,为了检测文件是否遭到篡改而对文件执行循环冗余校验(Cyclical Redundancy Check,CRC)或者通过监控DoS攻击来保障服务器的可用性,这两种措施就与机密性无关。
检测和防止网络病毒和蠕虫传播的措施主要是为了确保网络的可用性,而不是其机密性。
通过这些简单的例子,你必须意识到“机密性不等于安全”这条公理的含义是非常具体的。我经常碰到这种情况:有些设计师觉得如果他们使用了认证和加密通信,例如安全套接字层(Secure Sockets Layer,SSL)或IPSec,就不用再采取额外的安全措施了。这种看法显然是错误的。为通信加密并不能保证其中传递的信息本身符合组织机构的安全策略,正如以下几点所示。
使用SSL或传输层安全(Transport Layer Security,TLS)技术来保护电子商务Web通信是一种十分常见的做法,但是由于通过SSL来获取权限或进行DoS攻击与通过HTTP一样容易,因此仍然有必要预防Web服务器遭受到这些攻击。
站点间的IPSec VPN连接对阻止病毒或蠕虫通过连接传播没有作用。
通过明文还是加密邮件发送特洛伊木马电子邮件附件对计算机都同样危险。
值得进一步指出的是,在通信中使用加密技术会限制一些安全系统的效率。例如,通过SSL在线路上发送的数据只会受到来自NIDS的IP和TCP头部检测,而网络防病毒软件则对它们不起作用。NIDS只对加密IPSec信息中的一些IP头部检查有效,而对已封装的头检测无效。在内容检测的问题上,防火墙也面临着同样的问题。只要适合对信息进行加密,你就一定要采用加密而非用明文的方式发送流量,但你要意识到保护明文流量的网络安全措施对保护加密流量是不够的。在保护使用机密通信信道的系统时,一定要尽可能第保护终端主机安全。本书会在第4章和第5章中讨论的各种主机保护方法。
在设计安全的网络时,你要考虑的不只是如何防范机密性方面的威胁—即使两个节点间通信的机密性已经得到了保障,你仍然要设法确保网络运转正常。