1.網絡上常見的中間人攻擊方式有三種:1)竊聽2)數據篡改3)會話劫持。
2.數據加密常用的方法有三種:對稱加密、非對稱加密和單向加密。
3.ssl:安全套接字層,壹個安全套接字層。
4.TLS:傳輸層安全性,類似於ssl。
5.隨機數生成器:/dev/random和/dev/urandom。-鹽:取決於隨機數生成器。
6.隨機數的來源:熵池和偽隨機數發生器。熵池中的隨機數來自block設備的中斷和鍵盤鼠標的敲擊時間間隔;偽隨機數生成器中的隨機數來自熵池和軟件生成。
7.openssl rand [base64] num也可以用來生成隨機數。
8.echo–n " QQ " | OpenSSL base64,意思是base64編碼QQ。
第二,對稱加密:
1.加密方和解密方使用相同的密鑰。
2.加解密速度比較快,適合長數據。
3.密鑰傳輸過程不安全,容易被破解,密鑰管理也比較麻煩。
4.加密算法:DES(數據加密標準)、3DES、AES(高級加密標準,支持加密128、192、256、512位密鑰)、Blowfish。
5.加密工具:openssl、gpg(pgp工具)
第三,非對稱加密(公鑰加密):
1.每個用戶都用壹對密鑰加密:公鑰和私鑰。
2.公鑰加密和私鑰解密;私鑰加密,公鑰解密。
3.公鑰傳輸過程不安全,容易被竊取和替換。
4.因為公鑰使用的密鑰長度很長,公鑰的加密速度很慢,壹般不用於加密。
5.壹個用戶用他的私鑰加密,其他用戶用他的公鑰解密,這樣就實現了數字簽名的功能。
6.公鑰加密的另壹個功能是實現密鑰交換。
7.加密和簽名算法:RSA,ELGamal。
8.公鑰簽名算法:DSA。
9.加密工具:gpg、openssl
四、單向加密:
1,特點:雪崩效應,定長輸出,不可逆。
2.功能是保證數據的完整性。
3.加密算法:md5(標準密鑰長度128位)、sha1(標準密鑰長度160位)、md4、CRC-32。
4.加密工具:md5sum,sha1sum,openssl dgst。
5.計算文件的哈希值,例如:md5sum/shalsumfilename,OpenSSL dgst–MD5/-sha 1 filename。
五、兩種密鑰交換機制:
1.公鑰加密的實現:發送方用接收方的公鑰加密自己的密鑰,接收方用自己的私鑰解密得到發送方的密鑰,反之亦然,實現密鑰交換。
2.使用DH算法:前提是發送方和接收方協商使用同壹個大素數P和生成數G,以及分別生成的隨機數X和Y。發送方將G的X次方mod P生成的值發送給接收方,接收方將G的Y次方mod P生成的值發送給發送方,發送方對接收到的結果進行X次方運算,接收方對接收到的結果進行Y次方運算,最終形成密碼,完成密鑰交換。
六、為同時實現數據完整性,采用的數據加密和認證機制如下:
假設鮑勃和羅斯交流:
1加密過程:
Bob使用單向加密算法得到發送數據的簽名(用於數據完整性檢測),Bob用自己的私鑰加密這個簽名(實現認證),並將這個簽名放在數據後面。Bob生成壹個密碼D,用這個密碼對加密的特征碼和數據進行加密(實現數據加密)。此時生成的數據稱為q,最後用Rose的公鑰加密密碼D,D放在q後面。
2解密過程:
Rose用她的私鑰解密得到D,然後用D解密得到數據和加密的特征碼,再用Bob的公鑰解密這個特征碼。如果可以解密,說明數據是Bob發送的,否則就不是。最後利用單向加密算法計算數據的特征碼,通過發送的特征碼與Rose計算的特征碼進行比較來確定數據是否被篡改。如果特性代碼壹致,則數據沒有改變。如果簽名不壹致,則數據已經更改。
七、openssl:
1)組件:libcrypto:加密庫。
Libssl:壹個實現ssl函數的庫。
Openssl:壹個多用途的加密工具,可以提供對稱加密、公鑰加密和單向加密,可以作為簡單的本地CA使用。
2)在對稱加密中,文件由openssl加密:
OpenSSL enc-des 3-salt-a-in plaintext-out密文
通過openssl解密:
openssl enc -d -des3 -salt -a -in密文. des3 -out明文
3)openssl版本:查看openssl的版本信息。
4)openssl:進入openssl的命令行模式。
5)openssl速度:測試壹種加密算法對不同長度的密鑰進行加密的速度。
6)在公鑰加密中,openssl可以用來生成私鑰。
Openssl genrsa指定生成的私鑰長度>;保存到的文件名。
Openssl genrsa [des3] -out保存的文件名指定生成的私鑰的長度。
生成密鑰文件時修改密鑰文件的權限:(umask 077Openssl genrsa指定生成的私鑰長度>;文件名保存到)
Openssl genrsa指定生成的私鑰長度[-des3](加密的私鑰文件)>;要保存到的文件名。
Openssl genrsa [-des3] -out保存的文件名指定生成的私鑰的長度。
當生成私鑰並且文件未加密時,未加密的私鑰文件可以加密並以以下格式保存:文件存儲在openssl rsa in的未加密私鑰中–文件名保存到DES 3-out。
解密私鑰:openssl rsa in需要解密的私鑰文件——保存-out的文件名。
7)從私鑰中提取公鑰:OpenSSL RSA–in my . key-pub out指定保存公鑰的文件名。