网络通信安全基础OpenSSL

栏目: 服务器 · 发布时间: 7年前

内容简介:网络通信安全基础OpenSSL

OpenSSL:

NIST:

保密性:

数据保密性

隐私性

完整性:

数据完整性

系统完整性

可用性

安全攻击:

被动攻击:窃听

主动攻击:伪装、重放、消息篡改、拒绝服

安全机制:

加密、数字签名、访问控制、数据完整性、认证交换、流量填充、路由控制、公证

安全服务:

认证

访问控制

数据保密性

连接保密性

无连接保密性

选择域保密性

流量保密性

数据完整性

不可否认性

密码算法和协议:

对称加密

公钥加密

单向加密

认证协议

Linux 系统: OpenSSL, gpg(pgp)  

加密算法和协议:

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

DES Data Encryption Standard

3DES

AES Advanced (128bits, 192bits, 258, 384, 512bits)

Blowfish

Twofish

IDEA

RC6

CAST5

特性:

1 、加密、解密使用同一个密钥;

2 、将原始数据分割成固定大小的块,逐个进行加密;

缺陷:

1 、密钥过多;

2 、密钥分发;

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

公钥:公开给所有人; pubkey

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

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

数字签名:主要在于让接收方确认发送方身份;

密钥交换:发送方用对方的公钥加密一个对称密钥,并发送给对方;

数据加密:

算法: RSA, DSA, ELGamal 

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

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

算法:

md5: 128bits

sha1: 160bits

sha224

sha256

sha384

sha512

功能:

完整性;

密钥交换: IKE

公钥加密:

DH (Deffie-Hellman)

A: p, g

B: p, g

A: x

–> p^x%g

p^y%g^x = p^xy%g

B: y

–> p^y%g

p^x%g^y = p^xy%g

PKI: Public Key Infrastructure

签证机构: CA

注册机构: RA

证书吊销列表: CRL

证书存取库

X.509 :定义了证书的结构以及认证协议标准

版本号

序列号

签名算法 ID

发行者名称

有效期限

主体名称

主体公钥

发行者惟一标识

主体的惟一标识

扩展

发行者签名

SSL: Secure Socket Layer

TLS: Transport Layer Security

1995 SSL 2.0, Netscape

1996: SSL 3.0

1999: TLS 1.0

2006: TLS 1.1 RFC 4346

2008 TLS 1.2

2015: TLS 1.3

分层设计:

1 、最低层:基础算法原语的实现, aes, rsa, md5

2 、向上一层:各种算法的实现

3 、再向上一层:组合算法实现的半成品

4 、用各种组件拼装而成的种种成品密码学协议 / 软件:

tls, ssh,

OpenSSL :开源项目

三个组件:

openssl: 多用途的命令行工具;

libcrypto: 公共加密库;

libssl: 库,实现了 ssl tls

openssl 命令:

openssl version :程序版本号

标准命令、消息摘要命令、加密命令

标准命令:

enc, ca, req, …

对称加密:

工具: openssl enc, gpg

算法: 3des, aes, blowfish, twofish 

enc 命令:

加密:openssl enc -e -des3 -a -salt -in anaconda-ks.cfg -out anaconda-ks.ciphertex 
解密: openssl enc -d -des3 -a -salt -in anaconda-ks.ciphertex -out anaa.cfg

-des3

openssl ?

单向加密:

工具: md5sum, sha1sum, sha224sum, sha256sum,…, openssl dgst 

dgst 命令:

openssl dgst -md5 /PATH/TO/SOMEFILE

MAC: Message Authentication Code ,单向加密的一种延伸应用,用于实现在网络通信中保证所传输的数据的完整性;

机制:

CBC-MAC

HMAC :使用 md5 sha1 算法

生成用户密码:

passwd 命令  

openssl passwd -1 -salt SALT

例一:生成密码

[root@localhost ~]# openssl passwd -1 -salt 123456789 

生成随机数:

openssl rand -base64|-hex NUM

NUM: 表示字节数; -hex 时,每个字符 4 位,出现的字符数为 NUM*2;

公钥加密:

加密:

算法: RSA, ELGamal

工具: gpg, openssl rsautl

数字签名:

算法: RSA, DSA, ELGamal 

密钥交换:

算法: dh 

DSA: Digital Signature Algorithm

DSS Digital Signature Standard

RSA

生成密钥对儿:

openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS

例一:生成密钥私钥

[root@localhost ~]# openssl genrsa -out rsakey.private 2048
Generating RSA private key, 2048 bit long modulus
.+++ 

# (umask 077; openssl genrsa -out key.pri 2048)

提取出公钥:

# openssl rsa -in /PATH/FROM/PRIVATEKEY.FILE -pubout

例一:提取出公钥

[root@localhost ~]# openssl rsa -in rsakey.private -pubout 

随机数生成器:

/dev/random :仅从熵池返回随机数;随机数用尽,阻塞;

/dev/urandom :从熵池返回随机数;随机数用尽,会利用软件生成伪随机数;非阻塞;


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

HTML5与CSS3基础教程(第8版)

HTML5与CSS3基础教程(第8版)

[美] Elizabeth Castro、[美] Bruce Hyslop / 望以文 / 人民邮电出版社 / 2014-5 / 69.00元

本书是风靡全球的HTML和CSS入门教程的最新版,至第6版累积销量已超过100万册,被翻译为十多种语言,长期雄踞亚马逊书店计算机图书排行榜榜首。 第8版秉承作者直观透彻、循序渐进、基础知识与案例实践紧密结合的讲授特色,采用独特的双栏图文并排方式,手把手指导读者从零开始轻松入门。相较第7版,全书2/3以上的内容进行了更新,全面反映了HTML5和CSS3的最新特色,细致阐述了响应式Web设计与移......一起来看看 《HTML5与CSS3基础教程(第8版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码