系统架构设计 - 系统安全性和保密性设计

Posted 小毕超

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统架构设计 - 系统安全性和保密性设计相关的知识,希望对你有一定的参考价值。

一、安全性和保密性设计

计算机及信息技术的应用领域在不断扩展,计算机在政府、企业、民生等各个领域中都得到越来越广泛的应用。与此同时,网络攻击和入侵事件与日俱增,重要机构的信息系统遭黑客袭击的事件时有发生。攻击者可以从容地对那些缺乏足够安全保护的信息系统进行攻击和入侵,如进行拒绝服务攻击、从事非授权的访问、肆意窃取和篡改重要的数据信息、安装后门监听程序以便随时获得内部信息、传播计算机病毒、摧毁主机等。

信息化时代,人们对信息系统的安全需求越来越迫切。信息安全,具体地说就是保证信息的保密性、完整性、真实性、占有性

二、对称密钥加密算法

对称密钥密码体制中,加密和解密过程中所使用的是同一个密钥,或者即使加密密钥和解密密钥不同,但是很容易地由一个计算出另外一个。显然,在这种密码体制中,密钥成为整个秘密通信的核心,整个加密系统的安全性完全以密钥的保密为基础。如果密钥暴露,则整个密码体制就完全失去了保密的效果。所以说,密钥的保密是对称密钥加密体制安全保密的关键,必须妥善保存并经由可靠的渠道传递。

对称加密就比如我们平时使用压缩文件时设置的密码,再解压的时候也要使用原先的密码才能解压文件。对称加密的优点就是效率很高,但由于其加密和解密都是一串密钥,一旦密钥泄露其他人就可得到数据的明文,因此加密强度是不高的

常见的对称加密算法:

三、非对称密钥加密算法

上面提到对称加密算法及其优缺点,而非对称密钥加密算法与对称密钥加密方法不同,非对称密钥加密技术在对信息进行加密和解密时,需要分别采用两个不同的密钥(公钥和私钥),因此也称为双钥加密方法。它在运算中,先产生一对密钥,其中之一是保密密钥,由用户自己保存,不能向外界泄漏,简称私钥;另一个为公开密钥,可对外公开,甚至可在公共目录中列示,简称公钥,因此也称公开密钥加密方法。正因加密和解密密钥不同所以非对称加密效率不如对称加密,加密速度慢。

只有使用私钥才能解密用公钥加密的数据,同时使用私钥加密的数据只能用公钥解密。在通信过程中,如果发送者要向接收者发送保密信息,则需要先用接收者的公开密钥对信息进行加密,然后发送给该接收者,接收方用其私钥能够顺利解密。而其他人即使收到加密的密文也无法正确解读,从而达到保密通信的目的。

非对称密钥加密算法有多种,例如,RSA(是第一个既能用于数据加密也能用于数字签名的算法)、背包密码、McEliece、Diffe Hellman、Rabin、 Ong Fiat Shamir、零知识证明的算法、椭圆曲线、EIGamal等。


其中RSA第一个既能用于数据加密也能用于数字签名的算法。RSA 从提出到现在,经历了各种攻击的考验,逐渐为人们所接受,被普遍认为是目前优秀的公钥加密方法之一。由于它易于理解和操作,因而获得了广泛的应用。但 RSA 的安全性一直未能得到理论上的证明。

四、信息摘要和数字签名 (防真伪)

对于计算机系统中传送、存储的重要文件、数据、信息等,一般需要有某种方式来确认其真实性,即接收者能够确认自己得到的信息确实是由该信息所声称的发送者发出的,而不是由非法入侵者伪造、冒充发出的,并且还要能够保证信息在传送、存储中没有被恶意篡改,这样这份信息才能真实地反映发送方的意图。另外,对于发送方来说,如果发出一份信息,还必须有一定的措施阻止其否认自己发出信息的行为,即不可否认性。只有做到以上几点,一个信息传送、存储系统才能够安全、可靠,其上所传送、存储的信息才是真实的、值得相信的。

信息摘要:

信息摘要是采用单向散列函数,将要发送的报文内容生成信息摘要,接受放收到报文内容使用同样算法生成信息摘要与接受摘要对比以此判断接受信息的可靠性。

数字签名:

上面的信息摘要可以防止报文内容被篡改,但不能确定信息就是发送方发送过来的,一旦被黑客破解了单向散列函数的盐值,就可以伪造请求,而数字签名就可以确认接受到的内容是由发送方过来的。

请求A ==> B,先由A 的私钥加密报文体,然后将加密后的内容发送至B,B收到请求后使用A 的 公钥进行解密如果可以拿到信息明文,则信息就为A发送过来的。

信息摘要 结合 数字签名(防篡改、防抵赖)

前面讲过,公钥加密技术本身就可以用来实现数字签名。但是仅仅使用公钥加密算法进行数字签名的运算量比较大,尤其是要传送的信息量比较大时,速度会更加慢。显然,直接用这种方法进行数字签名并不是很好的选择。 而散列算法(例如,MD5 算法)就有很好的特性,它能对每一个不同长度的信息产生相互不同的、独特的、简短的消息摘要。这个消息摘要可以看作这个信息特有的“指纹”,因而非常适合用作数字签名。

通过散列算法对原始数据进行散列,再对散列码进行公钥加密就可以很好地实现数字签名。它的特点是:它代表了文件的特征,具有唯一性。只要文件发生哪怕一位数据的改变,或者签名者有任何差别,数字签名的值也将随之而发生改变;不同的文件和签名者得到的是不同的数字签名。

比如:A===>B

  1. 信息发送者 A 要向 B 发送一份信息,A 先按双方约定的散列算法对该信息进行散列运算,得到一个该信息特有的消息摘要 H,从前面所述可以知道,只要改动信息中任何一位,重新计算出的消息摘要值就会与原先的值不相符。这样就保证了信息的不可更改性。

  2. 接着把该消息摘要用 A 自己的私钥加密,得到 A 对该信息的数字签名 S。

  3. 然后 A 把信息原文与数字签名 S 一起发送给 B。

  4. 当 B 收到后,先用 A 的公钥对数字签名 S 解密得到 A 的消息摘要 H。

  5. 再用同样的散列算法对收到的信息进行散列运算,得到消息摘要 H’。

  6. 比较 H 与 H’,如相等则说明信息确实来自它所声称的发送者 A。

五、数字信封

数字信封是公钥密码体制在实际中的一个应用,是用加密技术来保证只有规定的特定收信人才能阅读通信的内容。

在数字信封中,信息发送方采用对称密钥来加密信息内容,然后将此对称密钥用接收方的公开密钥来加密(这部分称数字信封),之后,将它和加密后的信息一起发送给接收方,接收方先用相应的私有密钥打开数字信封,得到对称密钥,然后使用对称密钥解开加密信息。这种技术的安全性相当高。

六、数字证书与密钥管理

在公钥加密体制中,私钥的分配相对容易,但是,公钥的发布和获取就需要采取合适的方法来进行,否则很容易留下安全漏洞。一种简单的发布公钥的方法是公开宣布。通信系统中的每一方都独自保管好自己的私钥,而把自己的公钥公开地公布给其他所有各方,以使其他人能够得到他的公钥,从而可以与他进行加密通信。这实现起来非常简单,似乎也没有什么问题。但是,却有一个致命的漏洞,就是任何一个非法入侵者也可以冒充是这个通信系统中的一方,向这个通信系统中公布一个冒充的公钥。此后系统中与该用户的通信实际上就是与该非法冒充者进行通信。

数字签名和公钥加密都是基于非对称加密技术,因此也存在这样的问题:如何保证公开密钥的持有者是真实的;大规模信息系统环境下公开密钥如何产生、分发和管理。

要解决上述问题,就要用到数字证书和 PKI(Public Key Infrastructure,公开密钥基础设施)。

数字证书:

数字证书中采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己保存私钥,用它进行解密和签名;同时设定一个公钥,并由本人公开,为一组用户所共享,用于加密和验证签名。数字证书是用户在系统中作为确认身份的证据。在通信的各个环节中,参与通信的各方通过验证对方数字证书,从而确认对方身份的真实性和有效性,从而解决相互间的信任问题。

数字证书(如X.509)的内容一般包括:唯一标识证书所有者的名称、唯一标识证书签发者的名称、证书所有者的公开密钥、证书签发者的数字签名、证书的有效期及证书的序列号等

PKI 体系:

  1. 客户端登录工行官网,https://xxxx
  2. 下载工行的数字证书,验证数字证书的真实性,然后从中提取公钥A;
  3. 客户端随机产生一个随机密钥R,用公钥A加密,得到KK,将KK发送给工行官网
  4. 工行官网用私钥解密KK,得到随机密钥R;
  5. 此时,两端都拥有密钥R,在之后的通信中用密钥R进行对称加密。

PKI 是指由数字证书证书颁发机构(Certificate Authority,CA),以及对电子交易、通信等所涉及的各方的合法性进行检查和验证的其他注册机构组成的一套系统。

PKI 的结构模型

PKI 中有三类实体:管理实体、端实体和证书库。管理实体是PKI 的核心,是 PKI 服务的提供者;端实体是 PKI 的用户,是 PKI 服务的使用者;证书库是一个分布式数据库,用于证书和 CRL 的存放和检索。

CA:

CA 和注册机构(RegisteAuthority,RA)是两种管理实体。
CA 是 PKI 框架中唯一能够发布和撤销证书的实体,维护证书的生命周期;
RA 负责处理用户请求,在验证了请求的有效性后,代替用户向 CA 提交。RA 可以单独实现,也可以合并在 CA 中实现。

七、网络层次的安全保障

Internet 是 IT 领域中发展的重大成就,它的迅速发展和全面普及给人们的生产、生活带来了很大的帮助。 但是,Internet 在当初是为了让更多的人来使用网络、共享资源,并且容易扩充、容易治理等而设计的,因此它是一个全面开放的系统,而没有在安全方面作充分的考虑。加上日益增加的庞大的用户、各种不同的动机等因素,使得 Internet 上的安全事件层出不穷。

各个网络层次的安全保障

八、网络威胁与攻击


九、安全保护等级


十、扩展:

网络安全体系设计是逻辑设计工作的重要内容之一,数据库容灾属于系统安全和应用安全考虑范畴。

网络安全漏洞通常是指网络节点的系统软件或应用软件在逻辑上的缺陷

ARP攻击是针对以太网地址解析协议(ARP)的一种攻击技术,此种攻击可让攻击者取得局域网上的数据封包甚至可篡改封包,且可让网络上特定计算机或所有计算机无法正常连接。ARP攻击造成网络无法跨网段通信的原因是伪造网关ARP报文使得数据包无法发送到网关。

SNMP v3把对网络协议的安全威胁分为主要的和次要的两类。标准规定安全模块必须提供防护的两种主要威胁是:

(1)修改信息:就是某些未经授权的实体改变了进来的SNMP报文,企图实施未经授权的管理操作,或者提供虚假的管理对象。

(2)假冒:即未经授权的用户冒充授权用户的标识,企图实施管理操作。

必须提供防护的两种次要威胁是:

(1)修改报文流:由于SNMP协议通常是基于无连接的传输服务,重新排序报文流、延迟或重放报文的威胁都可能出现。这种威胁的危害性在于通过报文流的修改可能实施非法的管理操作。

(2)消息泄露:SNMP引擎之间交换的信息可能被偷听,对于这种威胁的防护应采取局部的策略。

不必提供防护的威胁包括:

(1)拒绝服务:因为在很多情况下拒绝服务和网络失效是无法区别,所以可以由网络管理协议来处理,安全子系统不必采取措施。

(2)通信分析:即由第三者分析管理实体之间的通信规律,从而获取需要的信息。由于通常都是由少数管理站来管理整个网络的,所以管理系统的通信模式是可预见的,防护通信分析就没有多大作用了。

S/MIME 提供安全电子邮件服务,PGP是用来实线安全邮件的协议。

以上是关于系统架构设计 - 系统安全性和保密性设计的主要内容,如果未能解决你的问题,请参考以下文章

软考 - 01 考试范围及知识点

软考 - 01 考试范围及知识点

软考 系统架构设计师系统安全分析与设计⑤ 安全防范体系的层次和信息安全体系结构

软考 系统架构设计师系统安全分析与设计③ 网络安全

[10]系统安全与保密性设计

云开发系统架构设计