Linux系统之加密、解密、openssl的基本应用及CA的实现过程
简介
加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。
加密技术包括两个元素:算法和密钥。算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解密的一种算法。在安全保密中,可通过适当的钥加密技术和管理机制来保证网络的信息通信安全。
分类:
对称加密:加密方解密方使用同一个口令
加密方法:
DES、AES、3DES、Blowfish、Twofish、IDEA、RC6、CASTS、Serpent
其中常见的为:
DES(数据加密标准):56为密钥
AES(高级加密标准):128位密钥
特性:
1、加密解密使用同一个口令
2、将原文分割成固定大小的数据块,对这些块进行加密
优点:加密效率高、计算量小、加密解密的速度很快
缺点:口令传输且口令较多,无法实现密钥交换
公钥加密:也叫非对称加密,公钥加密的加密和解密使用的不是同一个密码,而是一对密码中的一个,,它的秘钥是成对出现的,一个叫公钥,一个叫私钥,使用公钥加密的只能使用与之配对的私钥解密;反之,使用私钥加密的只能使用与之配对的公钥解密;用私钥加密是用来认证用户的,能实现所谓的电子凭证。
单向加密
加密方法:
RSA、EIGamal、DSA
其中DSA不能实现数据加密,只能实现身份认证
特性:可以实现密钥交换以及身份认证
缺点:花费时间长
在非对称加密长度中,最常用的就是2048位,虽然比对称加密安全,却花费了太多的时间,所以,我们通常用对称加密来实现数据的加密盒解密,而用非对称加密实现用户的身份认证。
单向加密:单向加密具有雪崩效应,只要输入的数据相同,输出的数据就相同;反之,如果输入不同,结果就有巨大不同,可以避免逆推。
加密算法:
MD5、MD4、SHA1、SHA512、CRC-32
特性:保证数据的完整性,不可逆
OpenSSL
作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
基本功能:
OpenSSL整个软件包由三个套件组成:
libcrypto:具有通用功能的加密库
libssl:用于实现TLS/SSL的功能
openssl:多功能命令工具,可以生产密钥、创建数字证书、手动加密解密数据
利用openssl加密解密技术常用的功能及算法:
对称加密:
算法:
DES、AES、3DES、Blowfish、Twofish、IDEA、RC6、CASTS、Serpent
工具:gpg、openssl enc
格式:
加密:openssl enc -des3 -a -salt -in /path/to/input_file -out /path/to/cipher_file
解密:openssl enc -d -des3 -a -salt -in /path/to/cipher_file -out /path/to/clear_file
例子:
加密:
解密:
-in:需要加密的文件
-out:需要解密的文件
-des3:算法,也可以使用以上列出的其它算法
单向加密:
算法:md5:128bits
sha1:160bits
sha512:512bits
工具:sha1sum,md5sum,cksum,openssl dgst
格式:
openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-out filename] /path/to/somefile
例子:
CA的实现过程:
数字证书的格式:
x509,pkcs
x509格式:
公钥和有效期限;
持有者的个人合法身份信息;
证书的使用方式;
CA的信息;
CA的数字签名;
签名是用来验证证书的有效性和合法性;
证书签署请求:
生成一对密钥;
把所需的信息按固定格式制作成证书申请;
用openssl实现私有CA(自建CA并完成对服务器发证):
1、自建CA
生成密钥对儿:
查看公钥的命令为:
openssl rsa -in private/cakey.pem -pubout -text -noout
生成自签证书:
-new:新的自签证书
-x509:x509格式的证书
-key:私钥文件
-out:输出的证书文件
-days:有效期限为多少天
按需要填写证书内容:
创建需要的文件:
2、用openssl实现证书申请:
在主机上生成密钥,保存至应用此证书的服务的配置文件目录下
生成证书签署请求:
将请求文件发往CA:
CA端签署证书:
将证书传回请求者:
吊销证书:
注意:吊销证书并不是必要步骤,是只有在证书过期或挂失的时候才会吊销。
本文出自 “在路上” 博客,请务必保留此出处http://junfengwang.blog.51cto.com/8611434/1386131