码迷,mamicode.com
首页 > 其他好文 > 详细

openssl

时间:2017-07-11 14:48:31      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:linux   openssl   enc   ssl   dsa   dss   

NIST:

保密性:数据保密、隐私性

完整性:数据完整性、系统完整性

可用性

安全攻击:

被动攻击:窃听

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

安全机制:

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

安全服务:

认证、访问控制、数据保密性、数据完整性、不可否认性

密码算法和协议:

对称加密、公钥加密、单向加密、认证协议

Linux系统:OpenSSL, gpg(pgp)

加密算法和协议:

1、对称加密,加密解密使用同一个秘钥

des\3des\aes\blowfish\twofish\idea\rc6\cast5

特性:加密解密使用同一个秘钥,将原始数据分割成固定大小的块,逐个进行加密

缺陷:秘钥过多、秘钥分发

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

公钥:公开给所有人;pubkey

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

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

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

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

数据加密:

算法:RSA, DSA, ELGamal

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

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

算法:md5、sha1、sha224、sha256、sha384、sha512...

主要功能:保证数据完整性

4密钥交换:IKE

DH (Deffie-Hellman)

A: p, g

B: p, g

A: x          --> p^x%g

B: y          --> p^y%g

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

OpenSSL:

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/2层:ssl、tls

传输层

链路层

物理层

openssl:

三个组件:

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

libcrypto: 公共加密库;

libssl: 库,实现了ssl及tls;

command

openssl version:程序版本号

对称加密:openssl enc, gpg

3des, aes, blowfish, twofish

enc命令:

加密:~]# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext

解密:~]# openssl enc -d -des3 -a -salt -in fstab.ciphertext -out fstab

-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

生成随机数: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

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

提取出公钥:

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

随机数生成器:

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

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

本文出自 “勤能补拙” 博客,请务必保留此出处http://echoroot.blog.51cto.com/11804540/1946267

openssl

标签:linux   openssl   enc   ssl   dsa   dss   

原文地址:http://echoroot.blog.51cto.com/11804540/1946267

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!