OS(二十五):系统安全性

发布时间 2023-08-23 20:06:20作者: 无虑的小猪

  数据加密是保障网络通信安全方面所的主要技术。

1、数据加密的基本概念

  数据加密技术是对系统中所有存储和传输的数据进行加密,使之成为密文。数据加密技术包括 数据加密、数据解密、数字签名、签名识别以及数字证明。

1.1、数据加密模型

  一个数据加密模型由四部分构成。

 0

  明文(plain text),准备加密的文本,称为明文P。

  密文(cipher text),加密后的文本,称为密文Y。

  加密(解密)算法E(D),用于实现从明文(密文)到密文(明文)转换的工时、规则或程序。

  秘钥K,加密和解密算法中的关键参数。

  加密的过程:在发送端利用加密算法E和加密秘钥Ke对明文P进行加密,得到密文Y,密文Y被传送到接收端后应进行解密。

  解密过程:接收端利用解密算法D和解密秘钥Kd对密文Y进行解密,将密文恢复为明文P。

1.2、加密算法的类型

1.2.1、按对称性分类

1.1、对称加密算法

  加密算法和解密算法之间存在着一定的关系。

  对称加密算法,加密和解密算法使用相同的秘钥。

  在知道加密秘钥Ke后,可推导处解密秘钥Kd。

1.2、非对称加密算法

  加密密钥Ke 和 解密密钥 Kd 不同,难以从Ke推导出Kd。

  将其中一个密钥公开成为公钥,另一个不公开的密钥用于解密,称为私钥。

1.2.2、按所变换明文的单位分类

  序列加密算法:将明文P看作是连续的比特流或字符流,逐个比特(或字符)的把明文转换成密文。

  分组加密算法:将明文P划分成多个固定长度的比特分组,在加密密钥的控制下,每次变换一个明文分组。

1.2.3、基本加密算法

3.1、易位法

  易位法是按照一定的规则,重新安排明文中的比特或字符的顺序来形成密文,而字符本身保持不变。

  按易位单位可分为 比特易位 和 字符易位。比特易位,主要用于数字通信;字符易位利用密钥对明文进行易位后形成密文。

3.2、置换法

  置换法按照一定的规则,用一个字符区置换另一个字符来形成密文。

2、对称加密算法与非对称加密算法

2.1、对称加密算法

  加密技术的基本方法:易位法 和 置换法,将 易位法和置换法 交替使用多次形成乘积密码。

  具有代表性的对称加密算法是数据加密标准DES(Data Eneryption Standard),加密和解密使用的密钥是相同的。

  在DES中使用的密钥长度为64位,由两部分组成,一部分是实际密钥,占56位;另一部分是8奇偶校验码。

  DES属于分组加密算法,将明文按64位一组分成若干个明文组,每次利用56位密钥对64位的二进制明文数据进行加密,产生64位密文数据。

  

  第一阶段:先将明文分出64位的明文段,然后对64位明文段做初始易位处理,得到X0,将其左移32位,记为L0,右移32位,几位R0。

  第二极端:对初始易位结果X0进行16次迭代处理,每一次使用56位加密秘钥Ki。

  第三阶段:经过16此迭代处理的结构的左32位和右32位互易位置。

  第四阶段:进行初始易位的逆变换。

2.2、非对称加密算法

  对数据进行加密和解密时,使用不同的密钥。每个用户都保存着一对密钥,每个人的公开密钥都对外公开。

公开密钥算法特点:

  加密算法为E,加密密钥为Ke,利用他们对明文P进行加密,得到E密文。

  解密算法为D,解密密钥为Kd,利用他们将密文恢复为明文。

3、数字签名和数字证明书

  数字签名必须具备的条件:接收者能够核实发送者对报文的签名;发送者时候不你那个抵赖其对报文的签名;接收者无法伪造对报文的签名。

  数字证明书:CA认证机构为公开密钥发放一份公钥密钥证明书,把该公开密钥证明书称为数字证明书,用于证明通信请求者的身份。

数字证明书申请、发方及使用过程:

  1、用户A使用数组证明书之前,先向认证机构CA申请数字证明书,此时A提供身份证明和希望使用的公开密钥A;

  2、CA在收到用户A发来的申请报告后,若决定接受其申请,便发给A一份数字证明书,在证明书中包括公开密钥A和CA发证者的签名等信息,并对所有这些信息利用CA的私用密钥进行加密,即对CA进行数字签名;

  3、用户A在向用户B发送报文信息时,由A用使用密钥对报文加密(数字签名),并连同已加密的数字证明书一起发送给B;

  4、为能对所收到的数字证明书进行解密,用户B须向CA机构申请获得CA的公开密钥B,CA收到用户B的申请后,决定将公开密钥B发送给用户B;

  5、用户B利用CA的公开密钥对数字整数加以解密,确认该数字证明书确系原件,并从数字证明书中获得公开密钥A,并且也确认该公开密钥A确系用户A的密钥;

  6、用户B再利用公开密钥A对用户A发来的加密报文进行解密,得到用户A发来的报文的真实明文。

4、网络加密技术

  网络加密技术用于防止网络资源的非法泄露、修改和遭到破坏,是保障网络安全的重要技术手段。

4.1、链路加密(Link Encryption)

  链路加密是对在网络相邻节点之间通信线路上传输的数据进行加密。

  链路加密常采用序列加密算法,有效的防止由搭线窃听造成的威胁。

  链路加密方式中,在相邻节点间的物理信道上传输的报文是密文,而在所有中间节点中的报文是明文,可从中间节点上对传输中的信息进行攻击。

4.2、端 - 端加密(End to Encryption)

  链路加密方式不能保证通信的安全性,传送的数据在中间节点被恢复为明文。

  端 - 端加密方式是在源主机或前端机FEP中的高层对所传输的数据进行加密,在整个网络的传输过程中,不管在物理层还是在中间结点中,报文的正文始终是密文,直至信息到达目标主机后才被译成明文,可以保证中间节点不会出现明文。

  端对端的加密方式,不能对报文头中的控制信息进行加密。

5、认证技术

  认证是指被认证对象是否名副其实或者是否有效的一种过程。

  常用的认证技术:基于口令的认证技术、基于物理标志的认证技术、基于生物标志的认证技术、基于公开密钥的认证技术等。

5.1、基于公开密钥的认证技术

  SSL是公开密钥进行身份认证的标准。

1、申请数字证书

  SSL提供的安全服务是基于公开密钥证明书的身份认证,利用SSL的用户和服务器,必须先向认证机构(CA)申请公开密钥证明书。

1.1、服务器申请数字证书

  服务管理器审查各行一密钥对和申请书,服务器一方面将密钥和申请书的备份保存在安全处;另一方面,向CA提交包括密钥对和签名证明书申请的加密文件,通常以电子邮件方式发送。CA接收检查该申请的合法性后,将会把数字证书以邮件方式寄给服务器。

1.2、客户申请数字证书

  浏览器生成一密钥对,私有密钥被保存在客户的私有密钥数据库中,将公开密钥连通客户提供的其它信息一起发往CA。

2、SSL握手协议

  客户和服务器进行通信之前,先运行SSL握手协议,完成身份认证、协商密码算法和加密密钥。

  身份认证:SSL协议要求通信的双方都利用自己的私用密钥对所要交换的数据进行数字签名,并连同数字证书一起发送给对方,以便双方相互检验。

  协商加密算法,SSL允许采用多种加密算法,在了客户端与服务器在通信之前,协商好使用的某一种加密算法。客户端提供能实现的加密算法清单,服务器从中选择一种最有效的加密算法,通知客户端。

  协商加密密钥:由客户机1随机地产生一组密钥,再利用服务器的公开密钥进行加密后,送往服务器,由服务器从中选择四个密钥1,通知客户机,将之用于对所传输的信息进行加密。

3、数据加密和检查数据的完整性

  数据加密:客户机和服务器间传送的所有信息,都进行加密处理;

  检查数据的完整性:SSL协议利用某种算法对所传送的数据进行计算,产生能保证数据完整性的数识别码(MAC),再把MAC和业务数据一起传送给对方;而收方则利用MAC来检查所收到数据的完整性。