跳到主要内容

2. The Goals of Security (安全目标)

2. The Goals of Security (安全目标)

大多数人谈论安全时, 好像它是协议或系统的单一整体属性, 然而, 仔细思考就会发现, 这显然不是真的。相反, 安全是一系列相关但在某种程度上独立的属性。并非所有这些属性都是每个应用程序所必需的。

我们可以大致将安全目标分为与保护通信相关的目标 (COMMUNICATION SECURITY, 也称为 COMSEC) 和与保护系统相关的目标 (ADMINISTRATIVE SECURITY 或 SYSTEM SECURITY)。由于通信由系统执行, 而对系统的访问是通过通信信道进行的, 这些目标显然相互关联, 但它们也可以独立提供。

2.1. Communication Security (通信安全)

不同的作者对通信安全目标的划分方式不同。我们发现最有用的划分方式是将它们分为三个主要类别: CONFIDENTIALITY (机密性), DATA INTEGRITY (数据完整性) 和 PEER ENTITY AUTHENTICATION (对等实体认证)。

2.1.1. Confidentiality (机密性)

当大多数人想到安全时, 他们会想到 CONFIDENTIALITY (机密性)。机密性意味着您的数据对于非预期的监听者保持秘密。通常, 这些监听者只是窃听者。当对手窃听您的电话时, 它对您的机密性构成风险。

显然, 如果您有秘密, 那么您可能会担心其他人发现它们。因此, 至少, 您希望保持机密性。当您看到电影中的间谍进入浴室并打开所有的水以挫败窃听时, 他们寻找的属性就是机密性。

2.1.2. Data Integrity (数据完整性)

第二个主要目标是 DATA INTEGRITY (数据完整性)。这里的基本思想是, 我们希望确保我们接收的数据与发送方发送的数据相同。在基于纸张的系统中, 某些数据完整性是自动提供的。当您收到一封用钢笔写的信时, 您可以相当确定没有文字被攻击者删除, 因为钢笔痕迹很难从纸上去除。然而, 攻击者可以很容易地在纸上添加一些标记并完全改变消息的含义。同样, 缩短页面以截断消息也很容易。

另一方面, 在电子世界中, 由于所有比特看起来都一样, 篡改传输中的消息是微不足道的。您只需从线路中删除消息, 复制出您喜欢的部分, 添加您想要的任何数据, 并生成您选择的新消息, 而接收者并不知情。这在道德上相当于攻击者拿走您写的信, 买一些新纸并重新抄写消息, 在抄写时更改它。在电子方式上这样做要容易得多, 因为所有比特看起来都一样。

2.1.3. Peer Entity authentication (对等实体认证)

我们关注的第三个属性是 PEER ENTITY AUTHENTICATION (对等实体认证)。我们的意思是, 我们知道通信中的一个端点是我们预期的那个。如果没有对等实体认证, 就很难提供机密性或数据完整性。例如, 如果我们从 Alice 那里收到一条消息, 除非我们知道它实际上是由 Alice 而不是攻击者发送的, 否则数据完整性的属性对我们没有多大好处。同样, 如果我们想向 Bob 发送一条机密消息, 如果我们实际上是向攻击者发送一条机密消息, 那对我们来说就没有多大价值。

请注意, 对等实体认证可以非对称地提供。当您给某人打电话时, 您可以相当确定您找到了正确的人 -- 或者至少您找到了一个实际在您拨打的电话号码处的人。另一方面, 如果他们没有来电显示, 那么电话接收者就不知道是谁在打电话给他们。给某人打电话是接收方认证的一个例子, 因为您知道呼叫的接收方是谁, 但他们不知道发送方的任何信息。

在消息传递情况下, 您通常希望使用对等实体认证来确定特定消息发送方的身份。在这种情况下, 此属性称为 DATA ORIGIN AUTHENTICATION (数据源认证)。

2.2. Non-Repudiation (不可否认性)

提供端点认证的系统允许一方确定与其通信的某人的身份。当系统提供数据完整性时, 接收方可以确定发送方的身份以及他正在接收该发送方打算发送的数据。然而, 他不一定能够向第三方证明这一事实。能够进行这种证明的能力称为 NON-REPUDIATION (不可否认性)。

在许多情况下, 不可否认性是可取的。考虑这样一种情况, 两方签署了一份合同, 其中一方希望单方面废除该合同。他可能只是声称他从一开始就没有签署过它。不可否认性阻止他这样做, 从而保护了对方。

不幸的是, 不可否认性在实践中可能很难实现, 天真的方法通常是不够的。第 4.3 节描述了一些困难, 这些困难通常源于这样一个事实, 即双方的利益并不一致 -- 一方希望证明另一方希望否认的事情。

2.3. Systems Security (系统安全)

一般来说, 系统安全关注的是保护一个人的机器和数据。其目的是机器应该只由授权用户使用, 并用于所有者预期的目的。此外, 它们应该可用于这些目的。攻击者不应该能够剥夺合法用户的资源。

2.3.1. Unauthorized Usage (未经授权的使用)

大多数系统并非旨在完全向公众开放。相反, 它们旨在仅由某些授权的个人使用。尽管许多互联网服务对所有互联网用户可用, 但即使是那些服务器通常也会向特定用户提供更大的服务子集。例如, Web 服务器通常会向任何用户提供数据, 但会限制修改页面的能力仅限于特定用户。公众的此类修改将是 UNAUTHORIZED USAGE (未经授权的使用)。

2.3.2. Inappropriate Usage (不当使用)

成为授权用户并不意味着您可以自由使用系统。如上所述, 某些活动仅限于授权用户, 某些活动仅限于特定用户, 而某些活动通常除管理员外禁止所有人。此外, 即使通常允许的活动在某些情况下也可能被禁止。例如, 用户可能被允许发送电子邮件, 但被禁止发送超过一定大小的文件, 或包含病毒的文件。这些是 INAPPROPRIATE USAGE (不当使用) 的示例。

2.3.3. Denial of Service (拒绝服务)

回想一下, 我们的第三个目标是系统应该对合法用户可用。可能有多种攻击威胁这种使用。这些攻击统称为 DENIAL OF SERVICE (拒绝服务) 攻击。拒绝服务攻击通常非常容易实施且难以阻止。许多此类攻击旨在消耗机器资源, 使得为合法用户提供服务变得困难或不可能。其他攻击导致目标机器崩溃, 完全拒绝向用户提供服务。