互联网迅速发展的今天,数据安全凸显其重要性



1、常见Linux加密方式


   

对称加密
公钥加密(非对称加密)
单向加密

 

2、详解加密解密

  2.1 对称加密

       

     

对称加密算法: DES(56bits) AES(128bits) 3DES  Blowfish Twofish IDEA RC6 CAST5Serpent
对称加密特性: 加密/解密使用同一口令
将原文分隔成固定大小的数据块,对这些块进行加密
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
对称加密工具:gpg,openssl

         

               

加密 #openssl enc -des3 -a -salt -in /etc/passwd -out /tmp/passwd.cipher
解密 #openssl enc -d -des3 -a -salt -in /tmp/passwd.cipher/ -out  /tmp/passwd.cleartext
查看 #cat /tmp/passwd.cleartext

             

  2.2 单向加密

特性:One-Way-顾名思义单向;
      雪崩效应-输入有点区别就会产生巨大的差距
算法:MD5(128bits)SHA1(160bits) SHA512(512bits)
工具:sha1sum,md5sum,cksum,openssl dgst
格式:openssl dgst [-md5|=md4|-md2|-sha1|-sha|-mdc2|ripemd160|- dssl] [-out filename] /path/to/somefile
范例:#openssl dgst -sha1sum passwd.cleartext
      以sha1sum算法加密passwd.cleartext明文文件


                     

  2.3 MAC消息认证码

     

     

特性:单向加密的延伸
应用:消息认证码是基于密钥和消息摘要所获得的一个值,
      可用于数据源发认证和完整性校验
                                                                                                                                                                                                                                                                                                                                                                                                           
工作机制:发送方首先使用通信双方协商好的散列函数计
          算其摘要值。在 双方共享的会话密钥作用下,
          由摘要值获得消息验证码。之后,它和数据一起
          被发送。接收方收到报文后,首先利用会话密钥
          还原摘要值,同时利用散列函数在本地计算所收
          到数据的摘要值,同时利用散列函数在本地计算
          所收到数据的摘要值,并将这两个数据进行比对。
          若两者相等,则报文通过认证。
算法:HMAC,使用md5和sha1算法

 

   

   2.4 用户认证

     

工具:passwd,openssl passwd
举例:openssl passwd -1 -salt AAABBB 出入密码后
      $1$AAABBB$r42gNYYXUTdXy00ZV0Pr4

 

 
   2.5  公钥加密

       

     

特性:公钥加密,私钥解密 --非对称加密
算法:RSA,EIGaml
工具:gpg,openssl reautl
密钥对:公钥pkey  私钥skey

  2.6 数字签名

     

特性:私钥加密,公钥解密
算法:RSA,EIGamal,DSA
      其中DSA只提供数字认证,不提供加密

     

       

  2.7 密钥交换

     

特性:IKE(互联网密钥交换)属于公钥加密
算法:DH(Diffie-Hellman)


  2.8 数字证书

   

证书格式:x509、pkcs
x509格式:公钥和有效期限
          持有者的个人合法身份信息(服务器主机名)
          证书的使用方式
          CA的信息
          CA的数字签名


   

3、 openssl 实现私有CA


  3.1 配置文件 vim /etc/pki/tls/openssl.conf(请牢记一下标记的目录和文件意义)


     

wKioL1MaAIWD09i_AANX7MineH8695.jpg

   

  3.2 创建密钥对儿pkey skey

   

#(umask 077;openssl genrsa -out private/cakey.pem 2048)

     

  3.3 生成自签证书

 

#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655

     

 wKioL1MZ8BTCXxPoAAMCf-qYb6g120.jpg

根据提示填写相应的内容:国家;省份;城市;公司名;组织;服务器主机

查看生成非对称密钥

wKioL1MZ8n_hZRPQAAJhGf48QyQ564.jpg

   3.4 创建需要的文件

       

touch index.txt serial crlnumber

   

4、openssl实现证书申请

   

   4.1在主机上生成密钥,保存至此证书的服务的配置文件目录下

 

     

#mkdir /etc/httpd/ssl
#cd /etc/httpd/ssl
#(umask 077;openssl genrsa -out httpd.key 1024)

 

   4.2 生成证书签署请求

 

#openssl req -new -key httpd.key out httpd.csr

wKiom1MZ9mCSjp3fAAN2njSQkyQ248.jpg

 

 

4.3 将请求文件发送CA


5、CA签署证书

 

   5.1 将证书传回给请求者

       

#openssl ca -in httpd.csr httpd.crt -days 3650

 

   5.2 吊销证书

 

openssl ca -revoke httpd.crt               
                                                         


 



   

坐等大神指点~