保證蘋果iOS應用安全的方法

移動網際網路的發展,促使人們的消費觀念、消費行為向移動Android、iOS應用端大大的傾斜,但是隨著iOS應用也爆漏洞,不能任性,所以,要尋求保證蘋果iOS應用安全的方法,不做一個冤大頭的土豪!

方法/步驟

安全地傳輸用戶密碼

大部分的iOS應用都需要連網,通過和伺服器端進行通信,獲得最新的信息並且將內容展現給用戶。由於網絡傳輸過程中有可能經過不安全的中間節點,所以應該對敏感數據加密,用於保證用戶信息的安全。

事先生成一對用於加密的公私鑰,客戶端在登錄時,使用公鑰將用戶的密碼加密後,將密文傳輸到伺服器。伺服器使用私鑰將密碼解密,然後加鹽(Salt,在密碼學中是指,通過在密碼任意固定位置插入特定的字符串,讓散列後的結果和使用原始密碼的散列結果不相符,這個過程稱之為「加鹽」),之後再多次求MD5,然後再和伺服器原來存儲的用同樣方法處理過的密碼匹配,如果一致,則登錄成功。這樣,黑客即使截獲了加密後的密文,由於沒有私鑰,也無法還原出原始的密碼。而伺服器即使被黑客攻陷,黑客除了暴力嘗試,也無法從加鹽和多次MD5後的密碼中還原出原始的密碼。這樣就保證了使用蘋果iOS應用用戶密碼的安全。

iOS應用加密

愛加密作為行業內專業的移動應用安全平台,針對iOS的技術原理和破解原理,強勢推出iOS應用加密技術,分別從本地數據、方法體/方法名、URL編碼、程序結構、網絡傳輸數據等幾個方面對iOS應用進行全方位的保護,並可以根據iOS應用用戶的需求提供定製解決方案,從而實現iOS應用防破解保護。

加密後的iOS應用更加安全,所以在App Store上架的時候審核也會更快,讓iOS開發者毫無後顧之憂。

防止通信協議被輕易破解

蘋果移動端iOS應用經常面臨黑客對於通信協議破解的威脅。

在成功破解了通信協議後,黑客可以模擬蘋果iOS應用客戶端登錄,進而偽造一些用戶行為,對用戶數據造成危害。通信協議被破解除了對於移動端遊戲有嚴重危害外,對於iOS應用也有很大的危害。例如針對微信,黑客可以製作一些殭屍帳號,通過向微信公共帳號後台發送垃圾廣告,達到贏利的目的。而iPhone設備上的iMessage通信協議居然也被破解了,所以很多iPhone用戶會收到來自iMessage的垃圾廣告。

對此,iOS應用開發者可以選擇類似ProtoBuf(Google提供的一個開源數據交換格式,其最大的特點是基於二進位,因此比傳統的JSON格式要短小得多)之類的二進位通信協議或自己實現通信協議,對於傳輸的內容進行一定程度的iOS應用加密,以增加黑客破解協議的難度。

驗證應用內支付的憑證

iOS應用內支付(IAP)是眾多蘋果iOS應用贏利的方式,通過先讓用戶免費試用或試玩,然後提供iOS應用內支付來為願意付費的用戶提供更強大的功能,這種模式特別適合不習慣一開始就掏錢的中國用戶。但由於國內拼過手機越獄用戶的比例比較大,所以我們也需要注意iOS應用內支付環節中的安全問題。簡單來說,越獄後的蘋果手機由於沒有沙盒作為保護,黑客可以對系統進行任意地修改,所以在支付過程中,蘋果返回的已付款成功的憑證可能是偽造的。客戶端拿到付款憑證之後,還需要將憑證上傳到自己的伺服器上,進行二次驗證,以保證憑證的真實性。

對於蘋果iOS應用內支付,iOS應用開發者除了需要仔細地驗證購買憑證外,也需要告知蘋果手機用戶在越獄手機上用iOS應用進行支付的風險。

總結

保證蘋果iOS應用安全的方法,在iOS應用的網絡通信、本地文件和數據、原始碼三方面做好防範

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場