目前app服務器的(de)通(tōng)信基本上采用(yòng)加密算(suàn)法來(lái)傳輸數據包,防止數據包在傳輸過程中被篡改。APP加密的(de)傳輸方式一般采用(yòng)APK和(hé)服務器端的(de)硬編碼,解決了(le)反向獲取的(de)問題。爲了(le)保證服務器的(de)安全,需要截獲應用(yòng)程序與服務器之間的(de)通(tōng)信,重放操作,并對(duì)包數據包進行加密更改。即使安全人(rén)員(yuán)獲得(de)加密方式,也(yě)需要對(duì)每個(gè)包進行解密,進行安全測試。因此,還(hái)需要使用(yòng)多(duō)種工具來(lái)協調測試,導緻測試效率低,界面分(fēn)析不方便。
“對(duì)稱式”和(hé)“非對(duì)稱式”
對(duì)稱式加密就是加密和(hé)解密使用(yòng)同一個(gè)密鑰,被稱爲“Session Key” 這(zhè)種加密技術是目前廣泛使用(yòng)的(de),
非對(duì)稱加密是用(yòng)于加密和(hé)解密的(de)相同密鑰,通(tōng)常是兩個(gè)密鑰..一個(gè)是公鑰,另一個(gè)是私鑰。兩個(gè)密鑰需要配對(duì),否則無法打開文件。“公鑰”是指它可(kě)以公開,而“私鑰”不能公開。隻有一個(gè)持有者知道。它的(de)優點就在這(zhè)裏,因爲對(duì)稱加密方法,例如在網絡上傳輸密文,很難告訴對(duì)方密鑰,無論使用(yòng)什(shén)麽方法,都有可(kě)能在非對(duì)稱加密方法中有兩個(gè)密鑰被監聽(tīng),而且公開密鑰時(shí)不必擔心被别人(rén)知道。接收者隻能用(yòng)自己的(de)私鑰進行解密,以避免密鑰傳輸的(de)安全問題。一般數據加密可(kě)以三層實現:鏈路加密、節點加密和(hé)端到端加密。
鏈路加密:鏈路加密,又稱在線加密,是隻在物(wù)理(lǐ)層前面的(de)數據鏈路層對(duì)傳輸數據進行加密。接收方是傳輸路徑上的(de)每個(gè)節點機。信息必須在每台節點機中解密和(hé)加密,以便繼續進行,直到到達目的(de)地。
節點加密:節點加密可(kě)以爲網絡數據提供更高(gāo)的(de)安全性,但是在操作模式中,兩者都類似于鏈路加密,兩者都在傳輸消息的(de)通(tōng)信鏈路上提供安全性,這(zhè)兩者都在中間節點上解密消息,然後加密,因爲必須對(duì)所有發送的(de)數據進行加密,加密過程對(duì)于用(yòng)戶是透明(míng)的(de),然後使用(yòng)另一個(gè)不同的(de)密鑰進行秘密,其在節點上的(de)安全模塊中進行,節點加密要求頭部和(hé)路由信息以明(míng)文發送,使得(de)中間節點可(kě)以獲取關于如何處理(lǐ)消息的(de)信息,這(zhè)樣的(de)方法很容易防止攻擊者分(fēn)析通(tōng)信業務。
端到端加密:端到端加密允許數據在從源點到結束點的(de)傳輸過程中始終以密文的(de)形式存在。使用(yòng)端到端加密(也(yě)稱爲離線加密或數據包加密)。消息在傳輸到端點之前不會被解密。由于消息在整個(gè)傳輸過程中都受到保護,即使任何節點受到損壞,也(yě)不會洩露消息。端到端加密系統的(de)價格相對(duì)便宜,比鏈路加密和(hé)節點加密更可(kě)靠,設計、實現和(hé)維護更容易。端到端加密也(yě)避免了(le)其他(tā)加密系統固有的(de)同步問題,因爲每個(gè)消息jazz都是獨立加密的(de),所以一個(gè)消息包的(de)傳輸錯誤不會影(yǐng)響後續的(de)消息包。另外,從用(yòng)戶到安全直觀上講,端到端加密更爲自然。單個(gè)用(yòng)戶可(kě)以選擇此加密方法,以免影(yǐng)響網絡上的(de)其他(tā)用(yòng)戶。隻要源點和(hé)端點是保密的(de),端到端加密系統一般不允許對(duì)消息的(de)目的(de)地址進行加密,由于每個(gè)通(tōng)過每條消息的(de)節點都要使用(yòng)該地址來(lái)确定如何發送該消息,因此很容易防止攻擊者分(fēn)析通(tōng)信流量,因爲這(zhè)種秘密方法不能掩蓋所發送消息的(de)源點和(hé)端點。