软考笔记(5)--系统安全性与保密性设计

一、加解密

对称加密:加密密钥与解密密钥相同,或者可以简单相互推导的密码体制叫对称密码体制

非对称加密:加密密钥与解密密钥不相同,且无法通过简单的相互推导的密码体制叫非对称密码机制

1.1、对称加密算法

对称算法也是传统密码算法,大多数对称算法中,加密密钥与解密密钥是相同的,所以也称为单密钥算法。

它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性非常重要。

加密算法的优点是算法的效率高、速度快。对称加密的缺点是密钥的管理比较重要。

1.1.1、DES算法

DES算法是由IBM公司研制的一种加密算法,DES是一个分组加密算法,以64位为分组对数据加密;它的密钥长度是56位(因为每个第8位都用作奇偶校验)密钥可以是任意的56位数,而且可以任意时候改变。其保密性依赖于密钥。由于DES的密钥长度仅有56位,所以可以采用三重DES的方案,把一个64位的明文用一个密钥加密,再用另一个密钥解密,然后再使用第一个密钥加密

1.1.2、IDEA算法

IDEA算法是国际数据加密算法,IDEA分组长度为64位,密钥长度为128位。其使用的运算非常简单,只需要异或,模2^16加和模(2^16+1)乘,软件实现方面IDEA算法的效率要高于DES算法。

 

1.2、非对称加密算法

不对称密码体制又称为双密钥或公钥密码体制,与对称密码相比,非对称密码又两个不同的密钥,一个是私钥需要被秘密保存;另一个是公钥,需要对外公开。

公钥密码系统的工作方式为:任何人都可以将自己加密的公钥公开,其他人欲传送信息该接收方,可以使用公钥将信息加密发送,接收方收到加密的信息后,拥有与此公钥相对应的私钥将加密信息解析出来,这样就不需要事先双方通过安全通道交换密钥。

1.2.1、RSA算法

RSA密码体制是常有的非对称密码,是一个既能用于数据加密也能用于数字签名的算法。

RSA的安全性依赖于大素数分解,公钥和私钥都是两个大素数的函数。所以从一个密钥和密文推断出明文的难度相当于分解两个大素数的乘积。

RSA的安全性依赖于大数分解,由于需要进行大数计算,所以效率与DES相比是很慢的,RSA只用于少量数据的加密

 

二、散列函数与数字签名

2.1、散列函数

散列函数是一种公开的数学函数,散列函数运算的输入信息叫做报文,运算后得到的结果叫做散列码或叫做消息摘要。散列函数的特点如下:

1. 不同内容的报文具有不同的散列码,给定M,要找到另一消息M,使得H(M) = H(M`) 很难;

2.散列函数是单向的,给出M容易计算出h,给定h,根据h=H(M) 反推M却很难;

3.对于任何一个报文,无法预知它的散列码

4.散列码具有固定的长度,不管原始报文的长度如何,通过散列函数运算后的散列码具有一样的长度

2.1.1、MD5

MD5时一种非常著名的散列算法,MD5散列算法对输入的任意长度消息产生128位(16字节)长度的散列码。MD5算法有如下4步:

1)附加填充位,首先对输入的报文进行填位补充,使填充后的数据长度模512余448。如果数据长度正好是模512余448,则需要增加512位填充位,也就是填充的个数位1~512,填充位第一个位为1,其他为0

2)补足长度,将数据长度表示为二进制,如果长度超过64位,则截取低64位;如果不足64位则在高位补0。将这个64位的报文长度补在经过填充的报文后面,使得最后的数据为512位的整数倍

3)初始化MD缓存器,MD5运算要用到一个128位的MD5缓存器,用来保存中间变量和最终结果,缓存器可看出4个32位的寄存器A、B、C、D

4)处理数据段,定义4个非线形函数F、G、H、I,对输入报文运算以512位数据段为单位进行处理,对每一个数据段都要进行4轮的逻辑处理,在4轮中分别使用4个不同的函数FGHI,每一轮以ABCD和当前的512位的块为输入,处理后送入ABCD

2.1.2、SHA

SHA和M5D相似,但码长为160位。SHA也是用512位长的数据块经过复杂运算得出,SHA比MD5更加安全,但计算起来比MD5要慢一些。

2.1.3、HMAC

HMAC是一种报文鉴别码,通常会和MD5或SHA一起使用。

2.2、数字签名

数字签名可解决否认、伪造、篡改及冒充等问题。具体要求:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户无法冒充另一个用户作为发送者或接收者。

数字签名方案一般有三个过程:系统的初始化过程 =》 签名产生过程 =》签名验证过程

在签名产生过程中,用户利用给定的算法对消息产生签名;

在签名验证过程中,验证者利用公开验证方法对给定消息的签名进行验证。

1、用户首先可以下载或购买数字签名软件,产生密钥对后,软件自动向外界传送公开密钥;

2、由于公开密钥对存储需要,所以需要建立一个鉴定中心(CA)完成个人信息及其密钥对确定工作

3、用户在获取公钥时,首先向鉴定中心请求数字确认,鉴定中心确认用户身份后,发出数字确认,同时鉴定中国女性向数据库发送确认信息。

4、然后用户使用私钥对所传信息签名,保证信息的完整性、真实性,也使发送方无法否则消息的发送

5、接收方接收到消息后,使用公开密钥确认数字签名

 

2.3、数字签名

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

此时就需要用到数字证书和PKI

2.3.1、数字证书

数字证书提供了一个在公钥和拥有相应私钥的实体之间建立关系的机制,目前最常用的数字证书格式是由国际标准ITU-T X.509 V3版本定义的。

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

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

2.3.2、公钥基础设施

PKI(公钥基础设施)的目标是向广大的信息系统用户和应用程序提供公开密钥的管理服务。

PKI的结构模型中有三类实体:管理实体、端实体和证书库。

管理实体是PKI的核心,是服务的提供者;

端实体是PKI的用户,是服务的使用者;

证书库是一个分布式数据库,用于证书和CRL的存放和检索。

 

CA和RA是两种管理实体,

CA是框架中唯一能够发布和撤销证书的实体,维护证书的生命周期;

RA负责处理用户请求,在验证了请求的有效性后,代替用户向CA提交。

RA可以单独实现,也可以合并在CA中实现。作为管理实体,CA和RA以证书方式向端实体提供公开密钥的分发服务。

不同的实体间通过PKI操作完成证书的请求、确认、发布、撤销、更新和获取等过程。

PKI操作分为存取操作和管理操作两类,其中存取操作包括管理实体或端实体把证书和CRL存放到证书库、从证书库中读取证书和CRL;

管理操作则是管理实体与端实体之间或管理实体与管理实体之间的交互,是为了完成证书的各项管理任务和建立证书链。

 

2.3.3、密钥相关概念

KDC(Key Distribution Center):密钥分配中心

Kerberos:密钥分配协议的一种

AS(Authentication Server):鉴别服务器

TGS(Ticket-Granting Server):票据授予服务器

CA(Certification Authority):认证中心

 

 三、安全通信协议

3.1、IPSec协议

IPSec协议是由因特网工程任务组(IETF)颁布的IP层安全标准IP SECURITY协议,IPSec在IP层对数据包进行高强度的安全处理提供数据源验证、无连接数据完整性、数据机密性、抗重播和有限通信流机密性等安全服务。

 

3.2、SSL协议

SSL协议(Secure Socket Layer)是Natscape推出的一种网络安全协议,是在传输过程通信协议(TCP/IP)上实现的一种安全协议。在SSL中采用了公开密钥和私有密钥两种加密方式,它对计算机之间的整个会话进行加密。

SSL安全服务位于TCP和应用层之间,可为应用层,如HTTP、FPT、SMTP提供安全业务,服务对象主要是Web应用。

它的基本目标是在通信双方之间建立安全的连接,可运行在任何可靠的通信协议之上、应用层协议之下。

 

3.3、PGP协议

PGP协议(Pretty Good Privacy)是针对电子邮件在Internet上通信的安全问题而设计的一种混合加密系统。

PGP包含4个密码单元,即单钥密码(IDEA)、双钥密码(RSA)、单向杂凑算法(MD-5)和一个随机数生成算法。

该协议规定公钥密码和分组密码是在同一个系统中。PGP的用户拥有一张公钥列表,列出了所需要通信的用户及其公钥。

 

3.4、HTTPS协议

超文本传输安全协议,HTTP协议与SSL协议的结合形成了HTTPS协议

 

3.5、SET协议

SET协议是安全电子交易协议,用于即时电子支付场景

 

3.6、SSH协议

SSH协议是安全外壳协议,为建立在应用层基础上的安全协议,SSH是可靠的专为远程登录会话和其他网络服务提供安全性的协议

 

3.7、MIME

MIME是通用互联网邮件扩充,广泛应用的一种电子邮件技术规范和安全协议。

常见网络层协议

 

协议 层级 描述
IPSec 网络层 IPSec是一个协议族,并不是一个单一的协议
SSL 运输层 作用于运输层和应用层的HTTP之间
TLS 运输层 是在SSL基础上进行了升级的版本
SET 运输层 用于安全电子交易的协议
HTTPS 应用层 超文本传输协议,安全版本的HTTP
PGP 应用层 用于电子邮件的安全软件包
SSH 应用层 远程会话的协议

 

posted @ 2023-03-13 22:15  Lucky帅小武  阅读(243)  评论(0编辑  收藏  举报