標籤:
移動互連網的普及,越來越多的行動裝置 App陷入安全門,各種資訊泄露、盜號風波層出不窮。越來越多的駭客盯上了行動裝置 App,而SD 卡中以明文存放的個人資訊,資料庫中未加密儲存的使用者名稱和密碼,收集的分析並以明文方式發到遠程伺服器,這些情況都使得駭客攻擊更容易。
正確使用Cryptography 工具,能保護我們的敏感性資料,確保隱私和資料完整。另一方面,加密難用且容易誤用。這裡給大家推薦下目前行動裝置 App適用的加密工具。
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已經被移植到了很多平台,包括安卓。做為一個替代方案,你也可以從源碼構建,然後綁定到應用程式中。這些工具包並沒有實現任何奇特的加密功能,也沒有嘗試替代任一上述的密碼學庫;相反它們基於這些類庫構建,唯一的目的是使得使用加密功能更簡單更安全。
與通用密碼學庫相反,這些工具包通常只支援一部分演算法、模式、結構、參數。對於通用加密工具需要設定的部分,這些工具包為你提供了合理的預設值,以防你知道想要什麼,但是不知道如何使用,或者只在乎最終有個安全的解決方案。讓我們檢查幾個這類工具包以便來更好的理解它們的運行規則。
Keyczar
Keyczar是一組開源工具包,最初由兩位Google安全團隊成員開發,用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。
下表對上面所介紹的加密庫做了總結。上文介紹的所有的庫可以讓加密方面的新手安全地進行加密,不過進階開發人員可以不使用這些預設做法,可以按照自己的意願指定所有的加密細節(就像他們在使用其他加密庫那樣)。這裡需要提出的是,新手在加密這一安全環節,可以使用行動裝置 App的Data Encryption Service,比如愛加密、雲安全等,可以有效且全面的保護行動裝置 App安全。
| 加密庫 |
開發公司 |
許可證 |
| AeroGear Crypto |
AeroGear |
Apache 2.0 |
| Conceal |
Facebook |
BSD |
| Keyczar |
—— |
Apache 2.0 |
如果你是一個行動裝置 App開發人員,你得花時間和精力使你的應用程式便於使用,功能豐富,抓人眼球,但是,你不要忘了改善你應用的安全性。 如果你不懂怎麼著手,或者擔心做不對,那就從文中提到的工具包中選擇一個,以便能夠開始。不管你決定選用哪個加密工具都好,都應避免自己實現密碼編譯演算法和加密協議; 應該只使用那些廣泛應用的,普遍認可的,經受考驗的演算法和協議。
詳情來源:http://www.ijiami.cn/newsInfo?id=644&v=3
行動裝置 App加密工具執行個體解析詳談