当西方的“火焰”病毒开始流出时,你是否想到了如果加固自己的网络,保护自己的私有财产....此时网络的安全性显得多么重要,所以安全的基础知识, 我们不得不了解一下啦。
这里我们简单的了解一下在linux上安全基础。
基础概念理解:
数据的加密与解密
数据的加密方式有对称加密和非对称较密
对称加密算法:简单的来说对称加密的收和发的双方都是用相同的密钥加密和解密。所以对称加密的速度较快,效率较高。常见的加密算法有DES,3DES等。
非对称加密算法:发信方和收信方都各有自己的一对密钥(一个是公钥,一个是密钥,且公钥和密钥必须成对出现,公钥必须能解密对应的密钥,密钥也是如此,私钥非公开)发信方用收信方的公钥加密后,只能有收信方的私钥才能解密。另外呢公钥是从私钥中提取出来的,为了安全起见,私钥必须要足够长,为次当加密是速度较对称加密慢。所以非对称加密多用于密钥的交换。
数字签名: 在网络安全中数字签名主要是为了验证数据的合法性,在数据的传输过程中是否被恶意篡改。
单向加密算法:单向加密算法主要是为了提取数据的特征码,进行数字签名,验证数据的完整性
--------------------------------------------------------------------------------
理解数据传输过程中的加密与解密:
在收信方和发送方的数据传输开始时
发送方:
首先用单向加密算法计算要发送数据的特征码,再用自己的私钥加密这段数据特征码附加在数据的后面,然后发信方自己生成一对称密钥,用此对称密钥加密数据和特征码,附加到数据的后面,再次,发信方还需要用收信方的公钥去加密数据和密码,再次附加到密文的后面,开始发送。
接受方:当接受方接受到发送方发来的数据时,首先用自己的私钥去解密这个用对称密钥加密过的数据,用密码解密密文,然后再用发送方的公钥解密发送方用私钥加密过的特征码,最后用同样的单向加密算法提取原始的数据特征码,比较这两个特征码是否一致,验证数据的完整性。
经过上面过程的分析发现,网络数据的传输过程中,由于公钥的利用,容易被有恶意想法的人冒充,所以为了保护公钥,为此出现了一个叫做CA的东东(数字证书颁发机构)来保护公钥的合法性。这个CA呢比作是我们熟悉的派出所,公安局吧,我们在这个大千世界中游荡,住个宾馆,做个或者有时需要出示我们的身份证,身份证的出现让我们每个人的利益多到了保障,唯一的去标识我们一个人。CA就是干的公安局派出所的事,呵呵。
Openssl
在linux中SSL协议的openssll实现了这个CA的简单功能。
在openssl中数据的加密与解密:
加密
openssl enc -des3(加密算法) -salt -in 要加密的文件或者字符等 -out 加密后输出的位置
解密:
openssl enc -desc3 -d -salt -a -in 加密后的文件(路径) -out 解密后的文件(路径)
生成密钥对(私钥):openssl genrsa -out 密钥保存文件 1024(密钥对长度)
为了私钥的安全性,我们一般在使用(umask 077;openssl genrsa -out 密钥保存文件 1024(密钥长度) )的方式生成密钥对
CA相关:
RedHat中CA的默认配置文件路径在/etc/pki/tls/openssl.cnf
下面是openssl.cnf文件中内容的解读