查看: 8937|回复: 0
打印 上一主题 下一主题

系统安全性设计

[复制链接]

58

主题

58

帖子

430

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
430
跳转到指定楼层
楼主
发表于 2016-3-6 10:36:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

系统安全的重要性是不言而喻的。对于这样使用者众多、覆盖面广泛的综合信息服务平台系统来说,必将面临各种各样、错综复杂的破坏和入侵。其中有的是无意的,有的是故意的。不管哪一种,系统的设计,必须在安全性方面确保有足够的强度来防范和抵御。


对应用程序及其数据提供安全的能力称为安全性。应用程序的安全性受很多设计选择影响,如通信协议和用户身份验证方法的选择。大多数安全漏洞都不在与安全性有关的代码中。而是在与安全性无关的代码中,在编写这些代码时未注意到安全性。


安全性的概念

安全性是有关控制对各种资源(如应用程序组件、数据和硬件)的访问的问题。以下是大多数安全措施所基于的四个概念:


身份验证

授权

数据保护

审核


身份验证

身份验证是确认身份的过程,它是安全控制的一层。在应用程序授予对某资源的访问权限以前,它必须确认请求者的身份。请求者通过提供某些形式的凭据来确立一个身份,该身份只有请求者和身份验证主机知道。在某些情况下,请求者可能希望验证身份验证主机的身份,这称作互相进行身份验证。


授权

授权是验证经过身份验证的一方是否具有访问特定资源权限的过程,它是身份验证之后的安全控制层。并不是只因为身份验证主机已确认请求者的身份,就一定表示经过身份验证的请求者具有访问特定资源的正确权限。


数据保护

数据保护是提供数据保密性、完整性和非拒绝性的过程。数据不仅在传输时需要保护,在存储时也需要保护。不管数据形式如何,一旦数据进入不安全的通信信道便容易受到攻击。

对数据加密可提供数据保密性。数据加密同时使用加密算法和加密密钥来呈现数据,这些数据对于既没有解密数据的正确算法又没有密钥的人无意义。加密密钥是算法中使用的附加变量。加密密钥包含受密钥包含的位数限制的数值。尽管 40 位的密钥包含 240 或 1,099,511,627,776 个可能的密钥值,但通常情况下 PC 可以在大约一周内彻底搜索完毕所有可能的密钥值。但是,如果加密密钥包含 128 位,强力攻击将需要尝试高达 2128 或 3.4 x 1038 个值。每增加一位都会增加一倍的可能值的个数。加密密钥允许多方使用一个公共算法而不会危及用该算法加密的数据。

由于加密密钥决定了加密的强度,所以所有加密算法都易受到强力攻击。强力攻击是有计划地尝试使用每个可能的密钥解密数据。例如,如果用于加密数据的加密密钥只有四位,那么强力攻击将只需要最多尝试 16 个加密密钥值便能够危及您的数据。

数据完整性通过使用哈希算法、数字签名和消息身份验证代码来实现。

为确保数据的完整性,可以伴随数据发送数据的哈希值。然后,接收方可以将根据收到的数据所计算的哈希值与随数据所收到的哈希值进行比较。如果二者吻合,那么收到的数据一定与创建收到的哈希值所基于的数据相同。哈希值是长度固定的数字和字符的字符串。它使用哈希算法计算得到,哈希算法有消息摘要 5 (MD5) 或安全哈希算法 (SHA-1) 等。哈希计算是单向操作,不能反转以重新创建原始数据。

数字签名通过使用私钥对计算得到的哈希值加密将哈希再发展了一步。该额外步骤可以防止攻击者截获数据及其伴随的哈希值,修改数据,然后只需重新计算已修改数据的新哈希值。由于数字签名是加密的哈希值,所以攻击者需要访问用于创建原始数字签名的原始私钥。在接收端,可以使用关联的公钥验证数字签名。数字签名可用于强制认可,可在以后用于证明数据的起源、内容和时间戳。

消息身份验证代码 (MAC) 由 SSL/TLS 等技术使用,以验证传输中数据未被更改。但是,由于 MAC 使用公钥进行加密和验证,所以它们不能用于强制认可。


审核

审核是记录和监视系统中发生并与安全性有关的事件的过程。审核为安全辩证提供主要来源。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
QQ在线咨询
售前咨询热线
18622353695
售后服务热线
18902129391
快速回复 返回顶部 返回列表