OpenSSL:引入简介

 

 

美国NIST(美国国家标准与技术研究院)定义的网络安全标准:保密性(数据保密性、隐私性)、完整性(数据完整性、系统完整性)、可用性(对与授权的第三方,要能还原到元数据)

数据在传输中会收到安全攻击,安全攻击分为:被动攻击(窃听)、主动攻击(伪装、重放、消息篡改、拒绝服务)

为了极高数据的安全防护:提到了一些列的安全机制:

  • 加密:数据加密,明文转换为密文
  • 数字签名:数字签名的主要目的就是为了做身份认证的,收到消息后,确认对方的确是自己请求的服务器
  • 访问控制:服务器未经允许拒绝任何人访问,包括数据
  • 数据完整性:保证数据的完整性
  • 认证交换:实现密钥交换,完成数据的解密,加密,和密钥分发
  • 流量填充:数据流中嵌入一些虚假信息,来掩盖正常的通信特征,从而阻止对手企图使用流量分析,保护业务流的机密性
  • 路由控制:数据报文走自己指定的网络线路,不在其他线路
  • 公证:公信机关进行公正

这些安全机制,又是依托与安全服务安全服务包括:认证服务、访问控制服务、数据保密服务(连接保密性、无连接保密性、选择域保密性、流量保密性)、数据完整性服务、不可否认性、

安全服务由依托于算法和协议的保证如:

  • 对称加密:算法协议加密协议
  • 公钥加密:非对称加密
  • 单项加密:提取数据特征码
  • 认证协议:双发完成密钥交换

 

 

Llinx中实现加密解密通信安全安全的工具:OpenSSL,gpg(依托于pgp协议:如程序保中完整性认证、来源认证)

对称加密:加密和解密使用同一个密钥

实现算法:

DES(Data Encryption Standard):入口参数有三个Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密【不安全:后来出现了3DES】

AES(Advanced Encryption Standard):高级加密标准【支持128bits, 192bits, 258, 384, 512bits密钥长度】

Blowfish、Twofish、IDEA、CAST5

加密算法和协议

特征:加密、解密使用同一个密钥;将原始数据分割成固定大小的块,逐个加密

缺陷:密钥过多、密钥分发(密钥分发过程中存在安全隐患,分发后截获,可直接破获数据)

 

公钥加密:密钥是成对儿出现

实现算法:RSA(实现加密+数字签名)、DSA(只能实现数字签名)、ELGamal(商业用的)

公钥(2048,1024,4096,8192位):公开给所有人;pubkey【一般用于密钥加密】

私钥:自己留存,必须保证其私密性;secret key

特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;

用途:

  • 数字签名:主要在于让接收方确认发送方身份
    OpenSSL:引入简介_第1张图片
  • 密钥交换:发送方用对方的公钥加密一个对称密钥,并发送给对方
    OpenSSL:引入简介_第2张图片
  • 数据加密:数据加密(一般用户:密钥加密)【一般不会使用,数据加密中效率极低,比对称加密多了三个数量级】

单向加密:只能加密,不能解密;只是提取数据指纹

特性:定长输出、雪崩效应;

可用算法:【md5: 128bits】、【sha1: 160bits】、【sha224 】、【sha256】、【sha384】、【sha512】

功能:保证数据的完整性

 

三种加密方式实现数据传输

OpenSSL:引入简介_第3张图片

 

使用密钥交换协议(IKE)【只要实现通信双发协商生成密钥】

公钥加密算法:DH (Deffie-Hellman)【密钥不需要在网络上传输,但双方可以实现密钥交换】

简化版本

A用户和B用户都知道各自的P(素数)、G(生成器)

A用户:P(获取一个非常大素数),G(生成器)

B用户:P(获取一个非常大素数),G(生成器)

A和B各自生成私密的数字,A和B都是不知道各自的私密数字的

A用户:生成一个X

  • A用户发给B用户:【P^ X%G】结果
  • A用户得到B用户发的结果:【P^ Y%G】结果
  • A用户在进一步计算得到:【P^ Y%G^X】=【P^XY%G】
  • 【P^XY%G】就是密钥

B用户:生成一个Y

  • B用户发给A用户结果:【P^ Y%G】结果
  • B用户得到A用户结果:【P^ X%G】结果
  • B用户进一步计算得到了:【P^ X%G^Y】=【P^XY%G】
  • 【P^XY%G】就是密钥

 

 

你可能感兴趣的:(OpenSSL,加密解密,openssl,安全)