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