一直以来都多少涉及到计算机安全的方面的话题,近期正好有时间,就开始正式系统的去学习计算机安全相关的概念,开始两章都是些基础概念,算作梳理。同时,概念也能够给我们一个框架,让我们在整个学习的过程中有一个整体的架构,把不同的东西放在相应的“房间”里,而不会胡乱摆放,从而迷失方向。
一、计算机安全的概念:
1、计算机安全是指为了自动化信息系统提供的保护,目标是保持信息系统资源的完整性(Confidentiality,包括数据完整性和系统完整性)、可用性(availability)和机密性(integrity,包括数据的机密性和用户个人的隐私性)。
2、除了上述的CIA 外,还有两个概念对安全至关重要:真实性(authenticity,验证信息与用户声称的一致,并确保到达系统的每个输入都来自可信的信号源)和可说明性(accountability,可以通过追踪来找到违反安全的责任人)。
3、计算机安全面临的挑战的原因:
(1)安全机制的设计是复杂的,不能单纯的通过需求你来判断方法是否可用。
(2)对于已经设计出的各种安全机制,决定其适用场合是非常必要的。
(3)安全机制通常包含不止一种算法和协议。
(4)在安全保障失效之前,很少能够看到安全投入带来的好处。
(5)安全要求定期甚至持续地对系统进行监视,但在目前注重时效、超负荷运转的系统中很难实现这一点。
(6)安全性通常是事后考虑的问题。
二、基本安全设计原则:
1、经济机制原则:安全机制的设计要尽可能简单、短小。
2、安全缺省设计原则:访问控制应当基于许可而不是排除。也就是说,缺省的情形是不能进行访问,而保护方案可以识别再什么情况下访问是被允许的。
3、绝对中介原则:每次访问都应依据访问控制机制进行检查,系统不应该依赖于从缓存中检索到的访问命令。
4、开放设计原则:安全机制的设计应当开放而不是保密。
5、特权分离原则:是对于限定资源的访问需要多特权属性的情况而定义的。多因素用户认证就是一个很好的例子,它需要多种技术,比如同时拥有密码和智能卡,才能对用户授权。特权分离可以减轻计算机安全攻击可能造成的破坏。
6、最小特权原则:是指每个进程和系统用户都应当使用完成某项任务所必需的最小特权进行操作。很好的利用这一原则的例子就是基于角色的访问控制。
7、最小公用机制原则:在设计时应当最小化不同用户共享的功能,以提高彼此的安全性。
8、心理可接受性原则:安全机制不应该过度干涉用户的工作,同时也要满足用户授权访问的要求。
9、隔离原则:隔离原则应用于一下三种环境:(1)公共访问系统应当与重要的资源隔离;(2)个人用户的进程和文件应当与他人的相隔离,除非明确要求不进行隔离。(3)安全机制也应该被隔离。
10、封装原则:封装一系列过程及其域中的数据对象,以使得数据对象的内部结构仅能被受保护的子系统中的过程访问,并且这些过程也只能通过特定的域的入口点被调用。
11、模块化原则:各个安全功能开发成分离的、受保护的模块,也指使用模块化框架进行安全机制的设计和实现。
12、分层原则:指的是使用多重的、重叠的保护方法,它强调的是信息系统的人员、技术和操作方面。通常是被用来在敌手和受保护的信息与服务之间提供多重保护。
13、最小惊动原则:程序或用户界面的响应方式应当尽量不出乎用户的意料,不至于惊吓到用户。