App數據通信接口加密方式分享


目前app服務器端通信基本上采用的是加密的算法來傳輸數據包,防止數據包在傳輸的過程中被篡改,app加密傳輸方式一般采用硬編碼在apk和服務端,可以解決通過逆向被獲取,為了保證服務端的安全性,需要截獲app與服務端間的通信,進行重放操作和改包,由於數據包被加密,即使安全人員取得了加密方式,也需要每個包進行解密操作才能進行安全測試,因此還需要使用多個工具協調測試導致測試效率低,不方便進行接口分析。

“對稱式”和“非對稱式”

對稱式加密就是加密和解密使用同一個密鑰,被稱為“Session Key” 這種加密技術是目前廣泛使用的,

非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常是兩個密鑰。一個是公鑰另一個是私鑰 兩個密鑰需配對使用,否則不能打開文件,“公鑰”是指可以對外公布的,“私鑰”則不能,只能有持有人一個人知道,他的優越性就在這里,因為對稱式的加密方法如果在網絡上傳輸密文就很難把密鑰告訴對方,不管用什么方法都有可能被傾聽 ,而非對稱式的加密方法有兩個密鑰,且其中的公鑰是可以公開的,不怕別人知道 ,收件人解密是只要用自己的私鑰就可以,這樣能避免密鑰的傳輸的安全性問題。一般的數據加密可以在通信的鏈路加密,節點加密,端到端加密三層來實現。

鏈路加密:鏈路加密也叫在線加密是傳輸數據僅在物理層前的數據鏈路層進行加密,接收對方是傳送路徑上的各台節點機,信息在每台節點機內都要被解密和在加密,以此進行,直至到達木的地。

節點加密:
節點加密能給網絡數據提供較高的安全性,但他在操作方式上與鏈路加密是類似的兩者均在通信鏈路上為傳輸的消息提供安全性,都在中間節點先對消息進行解密,然后進行加密,因為要對所有傳輸的數據進行加密,所以加密過程對用戶是透明的,然而,與鏈路加密不同節點加密不允許消息在網絡節點已明文形式存在,是要先把收到的消息進行解密,然后采用另一個不同的密鑰進行機密,這一過程是在節點上的一個安全模塊中進行,節點加密要求報頭和路由信息以明文形式傳輸,以便中間節點能得到如何處理消息的信息,這種方法對於防止攻擊者分析通信業務是脆弱的。

端到端加密:
端到端加密允許數據在從源點到終點的傳輸過程中始終已密文形式存在,采用端到端加密(也叫脫線加密或包加密),消息在被傳輸是到達終點之前不進行解密,因為消息在整個傳輸過程中均受到保護,所以即使有節點被損壞也不會使消息泄露,端到端加密系統的價格相對便宜,並且與鏈路加密和節點加密相比更可靠,更容易設計,實現和維護,端到端加密還避免了其他加密系統所固有的同步問題,因為每個報文爵士獨立被加密的,所以一個報文包所發生的傳輸錯誤不會影響后續的報文包,此外,從用戶對安全需求的直覺上將,端到端加密更加自然,單個用戶可能會選用這種加密方法,以便不影響網絡上的其他用戶,此方法只要源點和終點是保密的就行,端對端加密系統通常不允許對消息的目的地地址進行加密,是因為每一個消息所經過的節點都要用此地址來確定怎樣傳輸消息,由於這種機密方法不能掩蓋被傳輸消息的源點與終點,所以他對於防止攻擊者分析通信業務是脆弱的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM