国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

給初學者的 Android 加密工具

瀏覽:3日期:2022-09-27 15:15:56

越來越多的黑客盯上了移動應用,每天都會增加,因為移動應用中有黑客感興趣的東西,如用戶數(shù)據(jù)。硬編碼(Hard-coded,注,固定寫死,不能修改的)安全秘鑰,SD 卡中以明文存放的個人信息,數(shù)據(jù)庫中未加密存儲的用戶名和密碼,收集的分析(analytics)并以明文方式發(fā)到遠程服務器,這些情況都使得攻擊更容易(得手)。

給初學者的 Android 加密工具

正確使用Cryptography 工具,能保護我們的敏感數(shù)據(jù),確保隱私和數(shù)據(jù)完整。另一方面,加密難用且容易誤用( cryptography is hard to use and easy to misuse)。 注意容易被破解的加密方式(broken cryptography) (如,使用不安全算法,或硬編碼秘鑰到二進制包),請查閱列表2014年,移動領域10大風險。因此,從中得到什么教訓?不用加密不可取,不能正確加密同樣不可取 (不提耗費的時間)。

為了能在安卓平臺上開發(fā)出安全的應用,接下來我們將介紹如何能既簡單又安全地進行加密。

首先,概括性地介紹一些常見的可集成到安卓應用中的加密庫。加密庫是包含諸如加密算法、填充方式和散列函數(shù)等工具的加密工具集合。

Bouncy Castle

充氣城堡軍團(Legion of the Bouncy Castle)是一個來自澳大利亞的公益團體,他們編寫了Bouncy Castle 這個廣泛使用的類庫。該庫既提供了一個輕量級的密碼學 API,也是一個 Java 密碼擴展(JCE)的提供者。安卓平臺已經(jīng)內(nèi)置了一個精簡過的老版本 Bouncy Castle(同時為了適配安卓平臺也做了一些細小的改動)。結(jié)果就是任何在應用程序中構(gòu)建和使用最新版本 BouncyCastle 類庫的嘗試都將導致類加載沖突。

Spongy Castle

Spongy Castle 背后的動機是允許安卓開發(fā)者在應用程序中使用任意版本的 BouncyCastle 類庫。SpongyCastle 就是對最新版本的 BouncyCastle 進行了簡單地重新打包;所有的 org.bouncycastle.* 包重命名為了 org.spongycastle.*,所有 Java安全 API 提供者的名字由 BC 改為了 SC。

OpenSSL

OpenSSL 是一個實現(xiàn)了 SSL 和 TLS 協(xié)議以及通用密碼庫的開源工具包。OpenSSL 已經(jīng)被移植到了很多平臺,包括安卓。做為一個替代方案,你也可以從源碼構(gòu)建(使用安卓 NDK),然后綁定到應用程序中。

現(xiàn)在我們假設出于應用程序的目的,你想要加密一些數(shù)據(jù)。你會使用哪個加密算法,AES 還是 DES?你的秘鑰多長,128 還是 256 比特?你會使用哪種加密模式,ECB 還是 CBC?如果你對所有這些問題都沒有答案,也沒有好的理由,那么你可能發(fā)現(xiàn)你正處在一個微妙的位置,雖然你擁有所有你想要的工具,但是你一點兒都不確定使用哪個、如何使用。

這正是傻瓜密碼學工具包發(fā)揮作用的場景。這些工具包并沒有實現(xiàn)任何奇特的加密功能,也沒有嘗試替代任一上述的密碼學庫;相反它們基于這些類庫構(gòu)建,唯一的目的是使得使用加密功能更簡單更安全。

與通用密碼學庫相反,這些工具包通常只支持一部分算法、模式、結(jié)構(gòu)、參數(shù)。對于通用加密工具需要設定的部分,這些工具包為你提供了合理的默認值,以防你知道想要什么,但是不知道如何使用,或者只在乎最終有個安全的解決方案。讓我們檢查幾個這類工具包以便來更好的理解它們的運行規(guī)則。

Keyczar

Keyczar 是一組開源工具包,最初由兩位 Google Security Team(谷歌安全團隊)成員開發(fā)。 它用 Java,Python 和 C++ 語言實現(xiàn)。它支持對稱加密和費堆成加密兩種鑒權(quán)方式。Keyczar 提供安全的默認設定,包括算法,秘鑰長度和模式,秘鑰循環(huán)和版本化,初始向量(vector)和授權(quán)碼自動生成,支持國際化。該工具包基于JCE構(gòu)建,( here),使用了Spongy Castle的安全提供程序。

AeroGear Crypto

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

Conceal

為了能夠快速并使用很少內(nèi)存對SD卡上的大型文件實現(xiàn)加密和認證,臉譜開發(fā)出了 Conceal。Conceal既可以進行認證,也可以進行加密,同時默認也提供了密鑰管理功能。它使用的是 OpenSSL,不過僅包含自己需要的那部分,因此其大小僅為 85KB。Conceal 站點上公布的結(jié)果顯示它優(yōu)于 Bouncy Castle。

下表對上面所介紹的加密庫做了總結(jié)。請注意:上面介紹的所有的庫可以讓加密方面的新手安全地進行加密,不過高級開發(fā)人員可以不使用這些默認做法,可以按照自己的意愿指定所有的加密細節(jié)(就像他們在使用其他加密庫那樣)。

AeroGear CryptoAeroGearApache 2.0ConcealFacebookBSDKeyczar–Apache 2.0加密庫開發(fā)公司許可證總結(jié)(To sum up)

如果你是一個移動應用開發(fā)者,你得花時間(精力)使你的應用程序便于使用,功能豐富,抓人眼球,但是,你不要忘了改善你應用的安全性。 如果你不懂怎么著手,或者擔心做不對,那就從文中提到的工具包中選擇一個,以便能夠開始。不管你決定選用哪個加密工具都好,都應避免自己實現(xiàn)加密算法和加密協(xié)議; 應該只使用那些廣泛應用的,普遍認可的,經(jīng)受考驗的算法和協(xié)議。

原文地址:http://www.developereconomics.com/android-cryptography-tools-for-beginners/

標簽: Android
相關文章:
主站蜘蛛池模板: 一区二区三区视频免费 | 一级特黄一欧美俄罗斯毛片 | 天堂视频在线免费观看 | 国产综合久久久久影院 | 国内精品小视频福利网址 | 日本精品一区二区三区在线视频 | 久久91视频 | 欧美高清视频在线 | 国产日韩精品欧美一区视频 | 99在线精品视频免费观里 | 手机看片77v1 | 久久久精品一区二区三区 | 特级aaaaaaaaa毛片免费视频 | 亚洲一级片免费看 | 国产午夜三区视频在线 | 新26uuu在线亚洲欧美 | 国产精品一区亚洲一区天堂 | 呦女精品 | 久久久久久久久影院 | 中文三 级 黄 色 片 | 老师张开腿让我捅 | 久久亚洲国产午夜精品理论片 | 中文字幕在线观看国产 | 亚洲理论欧美理论在线观看 | 国产a级高清版毛片 | 久久久久久国产精品视频 | 午夜性刺激免费视频 | 亚洲精品中文字幕字幕 | 国产精品久久久久无码av | www日本高清 | 精品欧美一区二区在线观看欧美熟 | 成人国产精品免费软件 | 怡红院成人永久免费看 | 国产三级国产精品国产国在线观看 | 在线视频久 | 精品一区二区三区免费站 | 国产一区二区三区在线观看影院 | 亚洲视频观看 | 亚欧视频在线观看 | 嫩草影院ncyy在线观看 | 日韩毛片免费在线观看 |