加密體系:
爲了保證通訊數據的真實性,保密性,完整性,不可否認性。
- 對稱加密: 通訊雙方A與B之間的通訊數據都用同一套密鑰來進行加密。
優點:
簡單快捷,密鑰較短,且頗破譯困難。
缺點:
如果用戶一旦多的話,管理密鑰也是一種困難。不方便直接溝通的兩個用戶之間怎麼確定密鑰也需要考慮,這其中就會有密鑰泄露的風險,以及存在更換密鑰的需求。
包括:
對稱加密通常有DES,IDEA,3DES加密算法
- 非對稱加密: 用公鑰和私鑰來加解密的算法。公鑰公開,私鑰私有。
優點:
比對稱加密安全
缺點:
加解密比對稱加密耗時
擴展:
非對稱加密也存在漏洞,因爲公鑰是公開的,如果C冒充B的身份利用A的公鑰給A發消息,這樣就亂套了,所以接下來就採用非對稱加密+摘要算法+數字簽名的機制來確保傳輸安全。
包括:
RSA,ECC(移動設備用),Deffie-Hellman,EI Gamal,DSA(數字簽名用)
- 單向加密(摘要算法)
Hash算法的特點是單向不可還原,用戶可以通過Hash算法對目標信息(CON)生成一段特定長度的唯一Hash值,卻不能通過這個Hash值中心獲取目標信息。因此Hash算法常用在不可還原的密碼存儲,信息完整性校驗等。只要源數據(CON)不同,算法得到的摘要必定不同。
包括:
MD2,MD4,MD5,HAVAL,SHA
- 數字簽名
用途:
保證信息傳輸的完整性,發送者的身份認證,防止交易中的抵賴發生。數字簽名是將原始明文通過Hash算法得到摘要a,這個摘要是不可逆的;將明文b使用密鑰c對稱加密得到d,連通摘要a(使用對方B的公鑰加密後)一起發送給B;B接收後(使用自己B的私鑰)解密,得到這個摘要a和加密明文d和密鑰c,再使用密鑰c解密加密明文d得到明文b。
完整的非對稱加密過程:
- 你先向第三方CA請求驗證對方身份。
- 你將準備要發送的數字信息a(明文)計算要轉的多少錢,對方支付寶賬號等。
- 你對數字信息a進行哈希運算,得到信息摘要b。
- 你用自己的私鑰c對信息摘要b進行加密得到數字簽名d,並附在數字信息a上得到e。
- 你隨機產生一個加密密鑰f,並用此密鑰f對e(對稱)加密得到密文g。
- 你使用支付寶的公鑰h對f加密,得到加密後的密鑰i,將DES密鑰i連通密文g一起傳送給支付寶。
- 支付寶收到你傳送來的密文和加密過的DES密鑰i,先用自己的私鑰j(與h相對)對加密的DES密鑰i進行解密,得到你隨機產生的密鑰f。
- 支付寶用隨機密鑰對收到的密文g進行解密,得到明文的數字信息e,然後將隨機密鑰f丟棄。
- 支付寶使用你的公鑰k(與c相對)對數字簽名d進行解密,得到數字摘要b
- 支付寶使用相同的哈希算法對收到的明文e中的a再進行一次哈希運算,得到一個新的信息摘要m。
- 支付寶將自己運算的數字摘要m與你發送來的數字摘要b進行比較,如果一致,說明收到的信息沒有沒修改過
確定收到信息,然後進行向對方付款交易,一次費對稱加密解密過程結束。在這後面的流程就不屬於本次非對稱加密的範疇,算支付寶個人的自我流程也就是循環以上過程。