linux网络数据传输的加密,解密以及基于openssl的私有CA的建立

    网络数据传输的安全性是计算机通信领域的重要课题,数据加密就是保证数据安全性的主要方法。所谓数据加密,即是通过某种算法和秘钥对数据明文进行处理,从而得到密文的过程。计算机网络通信过程中的加密形式主要有以下几种:

    1,对称加密,用同一个密钥对信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高,但秘钥有时会很多,难以管理。而且秘钥交换又是一个难以解决的问题。

      常见算法:

DES:Data Encryption Standard, 56bits

3DES: 

AES: Advanced Encrpytion Standard, (128bits, 192, 256, 384, 512bits)

Blowfish

Twofish

IDEA

RC6

CAST5

         2,非对称加密,对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)

               非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。

        非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

    其主要算法有:RSA,DSA,ELGamal等

   3, 单向加密:即数据的特征码如md5等;其主要特性有:

定长输出:无论原来的数据是多大级别,其加密结果长度一样;

雪崩效应:原始数据微小改变,将会导致结果巨大变化;

不可逆:

    对于非对称加密方式来说,公钥的分发就成了一个重要的问题。基于CA签证机构的数字证书认证技术就是解决公钥发布的方式。下面就以私有CA证书的制作分发过程来说明一下数字证书认证的具体流程:

   

     在服务端:

    # (umask 077;openssl genrsa -out /etc/pki/CA/private/cacert.key 2048)

    # openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 1000

    # touch index.txt

    # echo "01" > serial

在客户端:

    #(umask 077;openssl genrsa -out /etc/httpd/httpd.key 2048)

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

    将 httpd.csr 传到服务端签名:

在服务端:

    # openssl ca -in /root/httpd.csr -out /root/httpd.crt -days 1000

将签好的证书,httpd.crt 传回到客户端



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。