轉載:移動應用加密工具解析

       移動互聯網的普及,愈來愈多的移動應用陷入安全門,各類信息泄露、盜號風波層出不窮。愈來愈多的黑客盯上了移動應用,而SD 卡中以明文存放的我的信息,數據庫中未加密存儲的用戶名和密碼,收集的分析並以明文方式發到遠程服務器,這些狀況都使得黑客攻擊更容易。android

        正確使用Cryptography 工具,能保護咱們的敏感數據,確保隱私和數據完整。另外一方面,加密難用且容易誤用。這裏給你們推薦下目前移動應用適用的加密工具。算法

        Bouncy Castle數據庫

        Legion of the Bouncy Castle是一個來自澳大利亞的公益團體,他們編寫了Bouncy Castle這個普遍使用的類庫。該庫既提供了一個輕量級的密碼學API,也是一個Java密碼擴展的提供者。安卓平臺已經內置了一個精簡過的老版本 Bouncy Castle(同時爲了適配安卓平臺也作了一些細小的改動)。結果就是任何在應用程序中構建和使用最新版本BouncyCastle類庫的嘗試都將致使類加載衝突。安全

        Spongy Castle服務器

        SpongyCastle背後的動機是容許安卓開發者在應用程序中使用任意版本的BouncyCastle類庫。SpongyCastle就是對最新版本的BouncyCastle進行了簡單地從新打包;全部的org.bouncycastle.*包重命名爲了org.spongycastle.*,全部Java安全API提供者的名字由BC改成了SC。工具

        OpenSSL加密

        OpenSSL是一個實現了SSL和TLS協議以及通用密碼庫的開源工具包。OpenSSL已經被移植到了不少平臺,包括安卓。作爲一個替代方案,你也能夠從源碼構建,而後綁定到應用程序中。這些工具包並無實現任何奇特的加密功能,也沒有嘗試替代任一上述的密碼學庫;相反它們基於這些類庫構建,惟一的目的是使得使用加密功能更簡單更安全。spa

        與通用密碼學庫相反,這些工具包一般只支持一部分算法、模式、結構、參數。對於通用加密工具須要設定的部分,這些工具包爲你提供了合理的默認值,以防你知道想要什麼,可是不知道如何使用,或者只在意最終有個安全的解決方案。讓咱們檢查幾個這類工具包以便來更好的理解它們的運行規則。orm

         Keyczar移動應用開發

         Keyczar是一組開源工具包,最初由兩位谷歌安全團隊成員開發,用Java,Python和C++語言實現,並支持對稱加密和費堆成加密兩種鑑權方式。Keyczar提供安全的默認設定,包括算法,祕鑰長度和模式,祕鑰循環和版本化,初始向量和受權碼自動生成,支持國際化。該工具包基於JCE構建,使用了Spongy Castle的安全提供程序。

        AeroGear Crypto

        AeroGear Crypto是AeroGear提供的一個小的Java庫。它支持可認證的對稱加密,橢圓曲線加密,基於密碼的祕鑰推導。它也提供了算法的顯式設定。AeroGear Crypto在android平臺依賴Spongy Castle,在其餘平臺上依賴Bouncy Castle。該庫在iOS、Windows Phone和Cordova 上一樣可用。

        Conceal

        爲了可以快速並使用不多內存對SD卡上的大型文件實現加密和認證,臉譜開發出了Conceal。Conceal既能夠進行認證,也能夠進行加密,同時默認也提供了密鑰管理功能。它使用的是 OpenSSL,不過僅包含本身須要的那部分,所以其大小僅爲85KB。Conceal站點上公佈的結果顯示它優於Bouncy Castle。

        下表對上面所介紹的加密庫作了總結。上文介紹的全部的庫可讓加密方面的新手安全地進行加密,不太高級開發人員能夠不使用這些默認作法,能夠按照本身的意願指定全部的加密細節(就像他們在使用其餘加密庫那樣)。這裏須要提出的是,新手在加密這一安全環節,可使用移動應用的加密服務,好比愛加密、雲安全等,能夠有效且全面的保護移動應用安全。

 

加密庫

開發公司

許可證

AeroGear Crypto

AeroGear

Apache 2.0

Conceal

Facebook

BSD

Keyczar

——

Apache 2.0

        若是你是一個移動應用開發者,你得花時間和精力使你的應用程序便於使用,功能豐富,抓人眼球,可是,你不要忘了改善你應用的安全性。 若是你不懂怎麼着手,或者擔憂作不對,那就從文中提到的工具包中選擇一個,以便可以開始。無論你決定選用哪一個加密工具都好,都應避免本身實現加密算法和加密協議; 應該只使用那些普遍應用的,廣泛承認的,經受考驗的算法和協議。

 

原文連接:http://t.cn/RLqlAYB

相關文章
相關標籤/搜索