數據加密

數據加密

傳統的協議如HTTPtelnetftppop3等協議都是明文傳送的,非常的不安全。隨着時間的推移加密不僅實現了技術的發展,也使人們在意識上提高了對加密數據的認識。

 

 數據加密的術語有:明文,即原始的或未加密的數據。通過加密算法對其進行加密,加密算法的輸入信息爲明文和密鑰;密文,明文加密後的格式,是加密算法的輸出信息。加密算法是公開的,而密鑰則是不公開的。密文,不應爲無密鑰的用戶理解,用於數據的存儲以及傳輸。
加密算法的方式有:
單向加密算法、對稱加密、非對稱加密
單向加密:
所謂單向加密顧名思義就是隻能加密,沒有辦法對加密以後的數據進行解密。單向加密具有幾個特點:1支持任意長度的輸入,固定長度的輸出。2、加密數據是不可逆的。3 具有“雪崩效應”,即雖然加密算法相同,但輸入數據的微小差別,會造成加密後的巨大變化。類似於“蝴蝶效應”,當然,如果加密算法相同輸入數據也相同,加密後的密文也相同。
目前最常用的單向加密算法有md5算法-定長輸出128bit的密文。sha1哈希算法,支持定長輸出160bit的密文。但速度稍慢於MD5算法。

 

 對稱加密採用了對稱密碼編碼技術,它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學中叫做對稱加密算法,對稱加密算法使用起來簡單快捷,密鑰較短,且破譯困難。但前流行的對稱加密算法主要有:DES3DESAESBlowfish

 

與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密 privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因爲加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。但前的非對稱加密算法主要有:RSADSA等。

我們經常會通過互聯網來和其他人交流,或者瀏覽網頁等。在通信的過程中我們是怎樣知道對方就是你要找的那個人或者網頁而不是有別人冒名頂替的呢?對方又怎樣知道你就是你,而不是另外的人呢?因此,爲了保證互聯網通訊的相對安全,需要對通信的雙方進行身份認證。這種認證我們稱爲Digital Certificates 數字證書。而公認的頒發數字證書的權威機構就是----CA機構,又稱爲證書授權(Certificate Authority)中心,人們可以在網上用它來識別對方的身份。數字證書是一個經證書授權中心數字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。證書包含一個公開密鑰、有效期、擁有人信息用途、CA的信息、以及證書授權中心的數字簽名。

 

linux中主要的加密工具有兩個:OpenSSLgpg

這裏主要介紹一下怎樣CA證書的申請過程:
1》  首先要生成一對密鑰,公鑰和密鑰。(其實只是一個密鑰,公鑰是從密鑰中抽取出來的。)
#openssl genrsa 1024  >  mykey.key       生成密鑰,並存放與mykey.key文件中
#openssl rsa –in mykey.key –putout             提取公鑰
2》基於mykey.key中的密鑰產生一個請求文件my.csr必須爲.csr結尾的。並指定有效期爲1000天。days選項可以省略
#openssl req –new –key mykey.key –out my.csr  [-days 1000]
這時會產生一堆的需要填寫的信息,依次爲:國籍、省份、公司、部門、主機名、郵件及密碼。根據信息依次填寫即可,不過國籍可以簡寫,其他要寫全稱。
3》  在第二步會產生一個請求文件my.csr 可以把它發送給CA申請你的證書。假設CA的服務器地址爲192.168.0.252
#scp my.csr 192.168.0.252:/root

 

 

你還可以自己作證書,內部使用。
#openssl req –new –x509 –key mykey.key –out  my.crt  -days 365
輸入填寫的信息,依次爲:國籍、省份、公司、部門、主機名、郵件及密碼即可。
查看證書
#openssl req –noout –in my.csr –text

 

 

那如果想要自己做爲一個CA服務器可以使用如下方法:
{1}:編輯CA配置文件
#vim /etc/pki/tls/openssl.cnf
       修改dir  = /etc/pki/CA

{2}創建幾個必需文件

#cd /etc/pki/CA

#mkdir certs crl newcerts

#touch index.txt
#touch serial
#echo “00”  >>  serial

{3}給自己發個證
#cd  /etc/pki/CA/private

#openssl genrsa 1024 > cakey.pem
#cd  /etc/pki/CA
#openssl req –new –x509 –key private/cakey.pem –out cacert.pem
{4}之後你就可以給別人發證了,這時假如你收到了來自station52 CA證書申請並把station52.csr文件放在了你的root目錄下
#cd /root
#ls                 查看是否有station52.csr文件
簽署證書
#openssl ca in station52.csr –out station52.crt
這時會產生一個新文件station52.crt 即是你給station52的數字證書,把證書發給請求者即可。

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章