1.數據加解密應用方案目前線(xiàn)路上的數據保護主要使用的算法是3DES、AES、RSA。我公司將以這三種算法為基礎介紹幾種線(xiàn)路上數據加密的方案。1.1 3DES對稱(chēng)密鑰加密方案 1.發(fā)送方和接收方首先約定產(chǎn)生一個(gè)相同的管理密鑰。 2.在發(fā)送方的計算機中通過(guò)隨機算法產(chǎn)生一個(gè)128位的隨機密鑰。 3. 利用先前產(chǎn)生的128位隨機密鑰對明文數據進(jìn)行3DES加密,獲得相應的密文數據。 4.將128位隨機密鑰以及文件擴展名、文件類(lèi)型、有效內容長(cháng)度等信息組成管理信息,用發(fā)送方的管理密鑰對管理信息加密得到包頭密文A。 5.將包頭密文A與先前獲得的數據密文拼接起來(lái)組成密文數據包發(fā)送給接收方。 6.接收方收到發(fā)送方傳送來(lái)的密文數據包后,將其拆分成密文包頭A和數據密文兩項。 7.將密文包頭放入密文包頭緩沖區中,用接收方的管理密鑰對密文包頭進(jìn)行解密,得到 128位隨機密鑰、文件擴展名、文件類(lèi)型、有效內容長(cháng)度等數據。 8.利用得到的128位隨機密鑰對密文數據進(jìn)行解密,得到相應的明文數據。 ![]() 非對稱(chēng)密鑰加密也叫公開(kāi)密鑰加密(Public Key Encryption),在加密和解密時(shí)使用不同的密鑰。加密密鑰和解密密鑰形成一個(gè)密鑰對,用其中的一個(gè)密鑰加密的密文只能用另一個(gè)密鑰解密,而不能由其它密鑰(包括加密用的密鑰)解密。通常一個(gè)密鑰指定為“公鑰”,可以對外公布,另一個(gè)則指定為“私鑰”,只能由密鑰持有人保管。 1.接收方創(chuàng )建RSA密匙對,即一個(gè)公鑰和一個(gè)私鑰,并將公鑰發(fā)送到發(fā)送方,私鑰則被保存在接收方。 2.發(fā)送方在接收到這個(gè)公鑰后,用該公鑰對明文進(jìn)行加密得到密文。 3.把密文通過(guò)網(wǎng)絡(luò )傳輸給接收方。 4.接收方在收到密文后,用RSA私鑰對收到的密文進(jìn)行解密,最后得到明文。 ![]() 由于RSA加解密速度慢,不適合大量數據文件加密,因此在網(wǎng)絡(luò )中完全用公開(kāi)密碼體制傳輸機密信息是沒(méi)有必要,也是不太現實(shí)的。AES加密速度很快,但是在網(wǎng)絡(luò )傳輸過(guò)程中如何安全管理AES密鑰是保證AES加密安全的重要環(huán)節。如果在傳送機密信息的雙方,使用AES對稱(chēng)密碼體制對傳輸數據加密,同時(shí)使用RSA不對稱(chēng)密碼體制來(lái)傳送AES的密鑰,就可以綜合發(fā)揮AES和RSA的優(yōu)點(diǎn)同時(shí)避免它們缺點(diǎn)來(lái)實(shí)現一種新的數據加密方案。 1.接收方創(chuàng )建RSA密鑰對,并且通過(guò)Internet發(fā)送RSA公鑰到發(fā)送方,同時(shí)保存RSA私鑰。 2.發(fā)送方創(chuàng )建AES密鑰,并用該AES密鑰加密待傳送的明文數據,同時(shí)用接收到的RSA公鑰加密AES密鑰。 3.加密后的AES密鑰同密文一起通過(guò)Internet傳輸發(fā)送到接收方。 4.接收方收到這個(gè)被加密的AES密鑰和密文后,調用接收方保存的RSA私鑰解密加密的AES密鑰,得到AES密鑰并用該密鑰解密密文得到明文。 ![]() 網(wǎng)絡(luò )傳輸中客戶(hù)端和服務(wù)器端的數據加密 通訊線(xiàn)路上客戶(hù)端和服務(wù)器的數據加密 系統內部數據傳輸線(xiàn)路上的數據加密 |