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