官术网_书友最值得收藏!

4.5 數據加密

隨著電子商務的快速發展,企業許多重要的數據也隨之存放在計算機或網絡硬盤里,但企業一旦連上網絡,一份未經加密處理的商業數據或文字資料在網絡上進行傳輸時,任何“有心人士”都能夠隨手取得,并且一覽無遺。因此,在網絡上,對于有價值的數據,在傳送前必須先將原始的數據內容以事先定義好的算法、表達式或編碼方法轉換成不具任何意義或者不能直接辨讀的代碼,這個處理過程就是“加密”(Encrypt)。數據在加密前稱為“明文”(Plaintext),經過加密后則稱為“密文”(Ciphertext)。

經過加密的數據在送抵目的端后,必須經過“解密”(Decrypt)的過程才能還原成原來的內容,而這個過程中用于加/解密的“密碼”則稱為“密鑰”(Key)。數據加密和解密的流程如圖4-16所示。

圖4-16 數據加密和解密的流程

4.5.1 對稱密鑰加密系統

“對稱密鑰加密”(Symmetrical Key Encryption)又稱為“單一密鑰加密”(Single Key Encryption)。這種加密方法的工作方式是發送端與接收端都擁有共同的加密/解密鑰匙,這個共同的鑰匙就被稱為密鑰(Secret Key),它的工作方式是:發送端使用密鑰將明文加密成密文,而接收端則使用同一密鑰將密文還原成明文。因此使用對稱加密法不但可以為文件加密,也能達到驗證發送者身份的作用。如果用戶B能用這一組密碼解開文件,就能確定這份文件是由用戶A加密后傳送過來的,如圖4-17所示。

圖4-17 對稱密鑰加密系統進行加密和解密的過程

這種加密系統的工作方式較為直截了當,因此在加密和解密上的處理速度都相當快。常見的對稱密鑰加密系統算法有DES(Data Encryption Standard,數據加密標準)、Triple DES、IDEA(International Data Encryption Algorithm,國際數據加密算法)等。對稱密鑰加密的優點是加解密速度快,所以適用于長度較長的文件或大量數據的加解密應用,缺點則是不容易管理和控制密鑰的使用。

4.5.2 非對稱密鑰加密系統

“非對稱密鑰加密”是目前較為普遍,也是金融界應用上最安全的加密方法,也被稱為“雙密鑰加密”(Double Key Encryption),又稱為公鑰(Public Key)加密法,由Diffine與Hellman于1976年提出,可降低因為傳送密鑰給收件者而導致數據外泄的風險。這種加密系統主要的工作方式是使用兩把不同的密鑰——“公鑰”(Public Key)與“私鑰”(Private Key)來進行加解密。“公鑰”可在網絡上自由公開用于加密的過程,但只有使用“私鑰”才能解密,“私鑰”必須由私人妥善保管。例如用戶A要傳送一份新的文件給用戶B,用戶A會使用用戶B的公鑰來加密,并將密文發送給用戶B。當用戶B收到密文后,會使用自己的私鑰來解密,例如電子錢包機制就是用“公鑰加密系統”來實現的,過程如圖4-18所示。

圖4-18 非對稱密鑰加密系統進行加密和解密的過程

目前普遍使用的“非對稱密鑰加密”為RSA加密法,它是由Rivest、Shamir和Adleman所發明的。RSA加解密速度比“對稱密鑰加解密”速度要慢,它是使用兩個質數作為加密與解密的一對密鑰,密鑰的長度一般在40比特到1024比特之間,當然為了提高加密的強度,現在有的系統使用的RSA密鑰的長度高達4096比特,甚至更高。這對密鑰里的公鑰用來加密,私鑰用來解密,而且只有私鑰可以用來解密。要破解以RSA加密的數據,在一定時間內幾乎是不可能的,因此這是一種十分安全的加解密算法。

4.5.3 認證

在數據傳輸過程中,為了避免用戶A發送數據后卻否認,或者有人冒用用戶A的名義傳送數據而用戶A本人不自知,面對這類情況,我們需要對數據進行認證的工作。后來又衍生出了第三種加密方式,它結合了上述兩種加密方式。

首先以用戶B的公開鑰匙加密,接著使用用戶A的私有鑰匙進行第二次加密。用戶B在收到密文后,先以A的公開鑰匙進行解密,此舉可確認信息是由A所發送的。接著以B的私有鑰匙解密,若能解密成功,則可確保信息傳送的私密性,這就是所謂的“認證”。認證的機制看似完美,但是使用公開密鑰進行加解密操作時,計算過程卻十分復雜,對于大數據量的傳輸工作而言是個沉重的負擔。

4.5.4 數字簽名

數字簽名是借助密碼編碼算法協助驗證數字信息建立者的身份,是認證中心所簽發的身份識別檢查器,類似于在非電子環境中使用標準身份識別文件的方式。數字簽名的工作方式是:非對稱密鑰加密法和哈希函數互相配合使用,用戶A先將明文M以哈希函數計算出哈希值H,接著用自己的私有鑰匙對哈希值H加密,加密后的內容即為“數字簽名”。想要使用數字簽名,當然第一步必須先向認證中心(CA)申請數字證書(Digital Certificate),它可用來認證公鑰為某人所有及信息發送者的不可否認性,而認證中心所簽發的數字簽名則包含在數字證書上。通常每一家認證中心的申請過程都不完全相同,只要用戶按照網頁上的指引步驟去做,即可順利完成申請。

提示

數字信封(Digital Envelop)則是結合了對稱密鑰加密法和非對稱密鑰加密法的優點所設計的實現信息完整性的安全技術,就是用非對稱密鑰加密來解決對稱密鑰分發的問題。具體做法就是把用對稱密鑰加密的信件發送給收信方,但是用于加密信件的對稱密鑰則需要先使用收信方的公鑰進行加密,再發送給收信方——其實就是用公私密鑰來發送對稱密鑰,解決了對稱密鑰傳遞的安全性問題。收信方在收到密文之后再使用自己的私鑰來解密得到這個對稱密鑰,再用這個對稱密鑰解出加密信件的內容。

主站蜘蛛池模板: 公主岭市| 永修县| 拜城县| 平远县| 亚东县| 兴义市| 安阳县| 吕梁市| 桐乡市| 顺平县| 西丰县| 广东省| 渭源县| 松阳县| 海兴县| 二连浩特市| 寻甸| 观塘区| 冕宁县| 闵行区| 焉耆| 新巴尔虎左旗| 名山县| 海口市| 昌吉市| 龙山县| 汶上县| 徐州市| 揭西县| 青神县| 河东区| 岱山县| 旬邑县| 四会市| 汉源县| 台中县| 大港区| 大厂| 黔东| 多伦县| 淮安市|