精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用密碼學技術保護敏感信息

安全 數據安全
從去年Google I/O大會上討論了“Android應用的安全和隱私”以來,很多人對如何在Android上使用密碼學技術有些疑問。大多數問題都是圍繞在為了某一特定目的該使用哪一個API上。因此,我們在這里就是來探討一下如何在本地存儲中保護用戶的敏感信息,比如說密碼和auth token.

從去年Google I/O大會上討論了“Android應用的安全和隱私”以來,很多人對如何在Android上使用密碼學技術有些疑問。大多數問題都是圍繞在為了某一特定目的該使用哪一個API上。因此,我們在這里就是來探討一下如何在本地存儲中保護用戶的敏感信息,比如說密碼和auth token(【譯者】授權標記,這里直接用auth token更自然)。

一種反模式(錯誤的做法——譯者注)

通常我們都能意識到應該使用SecureRandom類來產生密鑰,用來對本地的敏感信息進行加密,這樣的例子很容易找到,但實際上這種做法是欠妥的。

在這種方法中,不將密鑰作為一個字符串直接存儲在APK文件中,而是通過另外一個字符串來生成密鑰–有點類似于通過用戶口令生成加密密鑰。這種必要的混淆手段可以使攻擊者不容易破解加密信息,但是對于一個有經驗的攻擊者而言,這種策略很容易被繞過,因此我們不推薦這種方法。

事實上,Android現有的安全機制中已經為這種數據提供了很好的保護,敏感數據應該標記上MODE_PRIVATE,然后存儲在內部存儲中,請注意,千萬不能存儲在SD卡中,因為訪問控制沒法強制在外部存儲上起作用。

結合設備加密措施,這種方法可以杜絕絕大部分攻擊。

除此之外,像我們上面描述的那樣使用SecureRandom類還存在另外一個問題。從Android4.2開始,SecureRandom的默認實現是OpenSSL,開發者無法覆蓋SecureRandom的內部狀態信息,例如下面這段代碼:

  1. SecureRandom secureRandom = new SecureRandom();    
  2. byte[] b = new byte[]{(byte)1};    
  3. secureRandom.setSeed(b);    
  4. //在Android4.2上,下面這行代碼總是返回同一個數字。  
  5. System.out.println(secureRandom.nextInt());   

(【譯者注】這段代碼可以看到通過程序覆蓋了random對象中的種子,造成每次生成的隨機數序列都是一樣的)

在以前的Android版本中,SecureRandom是基于Bouncy Castle實現的,它允許像上面代碼這樣的操作,每個SecureRandom類的實例產生偽隨機數時使用的種子是從/dev/urandom獲取的。(【譯者注】/dev/urandom是類Unix系統中根據當前計算機混亂狀態,如內存使用,CPU占用率等信息計算出來的隨機數,讀者可以在Linux下試試cat /dev/urandom,它會不停地輸出亂碼,一般用“熵”這個專業術語形容計算機的混亂狀態)。那些試圖使用產生隨機數的開發者通常是通過替換現有的種子來產生隨機數序列的(參考相關實現文檔),如果種子固定,那么產生的隨機數列就是可預測的,這一點是不安全的。現在通過OpenSSL實現,使得這種錯誤的行為不再可能出現。

不幸的是,那些依賴老的SecureRandom類的應用程序會發現每次程序啟動時產生的隨機數都不一樣了(事實上,這就應該是隨機數發生器的期望行為)。想要通過這種方法對加密密鑰混淆已經不可行了。

(【譯者注】原作者的意思是有些應用對敏感信息做加密,加密的話需要密鑰,但是密鑰如果直接存起來覺得很不放心,于是通過產生隨機數的方式來對密鑰混淆一下,那么每次程序啟動時都要用相同的密鑰去解密數據,于是通過一個固定的信息,比如一個密碼,或者記住某個隨機數字,通常很多人用當前時間,然后通過這個固定的信息作為種子產生隨機數,用這個隨機數做密鑰,相當于對這個固定信息做了一次混淆操作。實際上這種方法還是不安全,安全性就變成了如何保證這個種子的安全性,治標不治本。下面的部分作者的意思是應該直接將密鑰打上MODE_PRIVATE的標記存起來,通過系統的訪問控制機制保證密鑰的安全性。)

正確的方法

一種更加合理的解決方案很簡單,就是當應用程序第一次啟動時產生一個隨機的AES算法的密鑰:

  1. public static SecretKey generateKey() throws NoSuchAlgorithmException   
  2. {       
  3. // 生成一個256位密鑰       
  4. final int outputKeyLength = 256;         
  5. SecureRandom secureRandom = new SecureRandom();  
  6. // Do *not* seed secureRandom! Automatically seeded from system entropy.   
  7. //不要給secureRandom一個固定的種子!通過系統熵值產生隨機的種子     
  8. KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");     
  9. keyGenerator.init(outputKeyLength, secureRandom);       
  10. SecretKey key = keyGenerator.generateKey();       
  11. return key;   
  12. }  

注意這種方法的安全性依賴于如何保證密鑰的安全性,這可以依賴于Android系統的內部存儲的安全性。將密鑰直接存放在文件中,標記為MODE_PRIVATE存在內部存儲器。(【譯者注】我們很多人的Android手機都被Root過的,好多應用也會取得Root權限,Root權限用戶是可以做任何事情的。。。這怎么辦呢?)

更加安全的方法

如果你的應用還需要額外的加密操作,那么一個推薦的方法是每次進入你的應用時需要輸入一個口令或者PIN碼。然后將這個口令傳給 PBKDF2(PBKDF2,基于口令的密鑰導出函數版本2,是RSA安全公司提出的密鑰導出算法,通常用來根據口令取得密鑰,通過一種叫做密鑰拉伸的專業技術),Android在SecretKeyFactory類中提供了一個叫做PBKDF2WithHmacSHA1的實現:

  1. public static SecretKey generateKey(char[] passphraseOrPin, byte[] salt) throws NoSuchAlgorithmException, InvalidKeySpecException   
  2. {  
  3. //PBKDF2算法執行輪數,這個數字越大,計算時間越長,你應該讓這個數字       
  4. //足夠大,以至于這個算法執行時間超過100毫秒以保證安全性       
  5. final int iterations = 1000;         
  6. // 產生一個256位的密鑰       
  7. final int outputKeyLength = 256;         
  8. SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");       
  9. KeySpec keySpec = new PBEKeySpec(passphraseOrPin, salt, iterations, outputKeyLength);       
  10. SecretKey secretKey = secretKeyFactory.generateSecret(keySpec);       
  11. return secretKey;   

加密鹽應該是一個通過SecureRandom產生的隨機字符串,和加密密文一起存放在內部存儲器中。使用加密鹽很重要,它可以有效防止字典攻擊。

(【譯者注】看PBKDF2WithHmacSHA1這個名字也可以知道該算法是基于SHA1算法的,經常攻擊這種單向函數方法就是字典攻擊,預先計算好大量的明文對應的密文,就像是明文對應密文的字典,然后再進行逐一對比,如果明文字符串在加密前和一個隨機字符串做個連接操作,那么那些預先計算的字典救沒用了。)

檢查你的應用是不是正確的使用SecureRandom

如本文以及Jelly Bean的新安全特性所述,Android4.2的SecureRandom默認實現發生了變化,用它產生固定密鑰已經行不通了。

如果你也用了這種錯誤方法的話,我們建議現在就更新你的應用,防止當用戶升級到Android4.2或以上版本后發生一些莫名其妙的錯誤。

原文地址:http://www.importnew.com/3456.html

責任編輯:藍雨淚 來源: importnew
相關推薦

2018-03-09 17:36:27

2020-05-20 08:35:55

公鑰密碼學非對稱密碼密碼

2017-06-01 09:03:51

2017-01-03 16:03:56

2017-12-14 16:02:43

2011-07-30 13:16:20

2012-12-03 10:59:30

2020-08-13 18:19:24

OpenSSL密碼學Linux

2020-12-19 10:38:22

量子計算密碼學加密

2021-07-26 10:34:47

物聯網密碼學IoT

2023-05-07 08:00:32

2015-10-08 15:07:32

2022-06-16 14:04:14

密碼學加密后量子密碼學

2020-10-07 16:44:27

量子計算

2011-07-19 13:55:38

2011-07-19 13:59:59

2018-12-07 08:15:03

2019-09-29 19:12:13

區塊鏈密碼學技術零知識證明

2022-06-09 08:00:00

量子密碼學安全量子計算機

2024-01-10 16:31:55

點贊
收藏

51CTO技術棧公眾號

日韩欧美天堂| 97caopor国产在线视频| 亚洲综合丁香| 在线电影欧美日韩一区二区私密| 国产一级不卡毛片| 免费在线观看黄色| av电影一区二区| 国产精品激情自拍| xxxx日本少妇| 亚洲裸色大胆大尺寸艺术写真| 欧美视频一二三区| 久草视频这里只有精品| 成a人片在线观看www视频| 国产在线国偷精品产拍免费yy| 91高清免费在线观看| 久久噜噜色综合一区二区| 免费看久久久| 日韩一区二区三区观看| 成人免费毛片播放| 黑人极品ⅴideos精品欧美棵| 国产欧美一区二区精品性色超碰 | 深夜福利成人| 亚洲乱码国产乱码精品精软件| 久久婷婷一区| 久久久久久久一区二区| 91 在线视频| 精品国产精品国产偷麻豆| 精品国产自在久精品国产| 久久99999| 亚洲欧美小说色综合小说一区| 亚洲精品日韩综合观看成人91| 午夜一区二区三区| 麻豆app在线观看| 不卡一区二区在线| 成人黄色片视频网站| 亚洲一区二区激情| 丝袜国产日韩另类美女| 97超级碰碰碰久久久| 久草视频免费在线播放| 91久久电影| 在线精品国产成人综合| 久久精品视频18| 清纯唯美亚洲经典中文字幕| 精品国产乱码久久久久久夜甘婷婷 | 666精品在线| 一区二区不卡视频在线观看| 日韩精品视频网站| 欧美中文字幕第一页| 日本亚洲色大成网站www久久| 一本一道久久a久久精品蜜桃| 日韩色av导航| 四虎永久免费地址| 国产韩国精品一区二区三区| 少妇激情综合网| 影音先锋制服丝袜| 欧美日韩一二三四| 自拍偷拍免费精品| 永久av免费网站| 一本到12不卡视频在线dvd| 美女少妇精品视频| 免费一级全黄少妇性色生活片| 欧美二区视频| 欧美精品videossex性护士| 国产五月天婷婷| 国产一区成人| 日韩美女视频中文字幕| 伊人久久久久久久久久久久| 日产欧产美韩系列久久99| 国产精品福利网| 中文字幕自拍偷拍| 国内精品在线播放| 99一区二区三区| 天堂网在线资源| 久久在线观看免费| 日韩女优中文字幕| 国产露出视频在线观看| 国产精品天天看| 久久免费视频2| 蜜乳av一区| 色网站国产精品| 91国内在线播放| 亚洲日本va中文字幕| 亚洲国产精品久久久久| 国产精品揄拍100视频| 波多野结衣在线观看一区二区| 久久精品久久久久久国产 免费| 91日韩中文字幕| 一本综合精品| 国产精品自产拍在线观看| 99er热精品视频| 9l国产精品久久久久麻豆| 日本一区二区三区视频免费看| 生活片a∨在线观看| 亚洲一区二区高清| 天天操天天爱天天爽| 亚洲精品一区国产| 亚洲美女av在线| 久久精品亚洲a| 亚洲精品美女91| 成人精品视频99在线观看免费 | 国产激情片在线观看| free性m.freesex欧美| 欧美性大战xxxxx久久久| 中文写幕一区二区三区免费观成熟| 爽爽窝窝午夜精品一区二区| 自拍偷拍亚洲欧美| 麻豆久久久久久久久久| 国产一区二区三区在线观看免费| 久久99蜜桃综合影院免费观看| av在线女优影院| 亚洲午夜一区二区三区| 日本在线一二三区| 青青一区二区| 欧美大片第1页| 亚洲天堂一二三| 91在线观看视频| 成人区一区二区| 国产一区二区色噜噜| 日韩av在线免费观看一区| 日本在线一级片| 人人精品人人爱| 久久久国产精品一区二区三区| 亚洲91av| 在线播放91灌醉迷j高跟美女 | 国产97在线|亚洲| 肥臀熟女一区二区三区| 亚洲丝袜另类动漫二区| 能在线观看的av网站| 国产精品玖玖玖在线资源| 久久夜色精品国产欧美乱| 天天爱天天做天天爽| 99久久99久久免费精品蜜臀| www.18av.com| vam成人资源在线观看| 一区二区成人av| 青青视频在线免费观看| 91在线视频网址| 大伊香蕉精品视频在线| 日韩高清一区| 欧美成人黄色小视频| 91精品国产乱码久久久久| 欧美激情综合五月色丁香| 欧美黄色一级片视频| 日韩精选在线| 4438全国成人免费| 天堂av电影在线观看| 欧美性xxxxxxxxx| 中文字幕 亚洲一区| 亚洲高清在线| 精品国产乱码久久久久久蜜柚| 91福利在线尤物| 亚洲国产一区二区三区在线观看| 亚洲国产综合久久| av男人天堂一区| 逼特逼视频在线| 国产一区二区三区四区| 国产精品999| 91吃瓜网在线观看| 欧美日韩一区二区三区高清 | 国产精品一区二区三区成人| 成年人视频在线免费观看| 欧美性受xxxx| 疯狂撞击丝袜人妻| 国产高清精品在线| 欧美视频在线免费播放| 亚洲区小说区图片区qvod| 日产日韩在线亚洲欧美| 中文字幕在线视频区| 欧美精品在线一区二区| 日本精品人妻无码77777| 岛国精品一区二区| 色欲色香天天天综合网www| 丝袜美腿一区二区三区动态图| 人人爽久久涩噜噜噜网站| 97视频精彩视频在线观看| 欧美另类久久久品| 精品无码av在线| 久久久亚洲精品石原莉奈| 国内国产精品天干天干| 狠狠88综合久久久久综合网| 免费亚洲一区二区| 久久久久久久性潮| 欧美激情手机在线视频 | 免费91在线视频| 欧美视频一二区| 色狠狠综合天天综合综合| 麻豆一区在线观看| 成人免费看的视频| 亚洲成色www.777999| 欧美福利影院| 欧美久久久久久一卡四| www欧美在线观看| 97热精品视频官网| 国产免费av高清在线| 日韩欧美国产系列| 少妇高潮av久久久久久| 一区二区在线观看av| 免费看黄色的视频| 国产乱人伦偷精品视频免下载| 日本xxxxxxxxxx75| 999视频精品| 另类欧美小说| 日本精品一区二区三区在线观看视频| 欧美在线xxx| 香蕉成人app免费看片| 国产午夜精品一区理论片飘花| 精品毛片在线观看| 欧美午夜精品一区二区三区 | av网站导航在线观看免费| 亚洲精品狠狠操| 99在线精品视频免费观看20| 色综合夜色一区| 精品在线免费观看视频| 国产精品高潮呻吟久久| 成人网站免费观看| 国产精品一二三四五| 日韩欧美高清视频| 一区二区三区视频在线观看免费| 欧美日韩精品| 一区二区三区视频| 国产精选一区| 久久大片网站| 999久久久精品一区二区| 国产欧美日韩精品丝袜高跟鞋| 蜜桃av在线播放| 欧美高清在线播放| 中文字幕在线三区| www.久久久久| 户外极限露出调教在线视频| 亚洲国产女人aaa毛片在线| 国产福利小视频| 欧美乱妇15p| 亚洲天天综合网| 91国偷自产一区二区开放时间| 日本一级一片免费视频| 亚洲综合在线第一页| 永久av免费网站| 国产精品国产自产拍在线| 亚洲久久久久久久| 久久久久久久av麻豆果冻| 日韩www视频| 不卡一区二区中文字幕| 欧美丰满熟妇bbb久久久| 国产盗摄精品一区二区三区在线| 在线播放av中文字幕| 男人的天堂久久精品| www.色就是色| 青青草精品视频| 我看黄色一级片| 奇米色777欧美一区二区| 日本va中文字幕| 免费在线观看日韩欧美| 69久久久久久| 精品一区二区三区视频在线观看 | 亚洲精品久久视频| 日本精品久久久久久| 欧美大片一区二区三区| xxxx国产精品| 精品1区2区在线观看| 神马一区二区三区| 精品一区二区电影| 精品久久久久一区二区三区| 国产午夜一区二区| 欧美a在线看| 久久最新资源网| 日本性爱视频在线观看| 久久久亚洲影院| 亚洲涩涩在线| 国产精品老牛影院在线观看| 亚洲国产一区二区久久| av在线不卡一区| 狼人天天伊人久久| 日韩中文不卡| 亚洲影视一区二区三区| 亚洲一区二区三区av无码| 久久国产精品久久久久久电车| 在线观看免费黄网站| 国产精品伊人色| 特级西西人体wwwww| 国产欧美日韩亚州综合| 91麻豆免费视频网站| 精品久久香蕉国产线看观看gif| 中文字幕一区二区人妻视频| 欧美日韩国产高清一区二区| 黄色小视频免费观看| 亚洲视频第一页| 天天干在线视频论坛| 欧美在线免费观看| 国产一区二区三区免费观看在线 | aaa在线观看| 欧美交受高潮1| 国产精品久久乐| 粉嫩精品一区二区三区在线观看| 一二三不卡视频| 成人18视频日本| 殴美一级黄色片| 午夜精品福利在线| 国产精品久久影视| 亚洲精品一区二区三区婷婷月| 久草中文在线观看| 全球成人中文在线| 日韩在线亚洲| 性欧美videosex高清少妇| 国产精品s色| 小泽玛利亚视频在线观看| www.在线欧美| 一区二区在线观看免费视频| 91传媒视频在线播放| 亚洲欧美激情国产综合久久久| 在线中文字幕日韩| 僵尸再翻生在线观看| 91探花福利精品国产自产在线| 免费观看久久av| 大陆av在线播放| 国产精品自产自拍| 国产欧美小视频| 在线精品观看国产| 性感美女福利视频| 美女福利视频一区| 欧美成人家庭影院| 日本一区网站| 亚洲欧美成人综合| 影音先锋资源av| 一区二区三区欧美| 97超视频在线观看| 国产亚洲美女久久| 欧洲亚洲两性| 久久婷婷人人澡人人喊人人爽| 狠狠色丁香久久综合频道| 永久av免费在线观看| 国产精品电影一区二区三区| 在线观看你懂的网站| 亚洲欧洲日产国产网站| 台湾佬中文娱乐网欧美电影| 国产91亚洲精品一区二区三区| 亚洲国产精品91| 色91精品久久久久久久久| 国产精品区一区二区三| 精品国产xxx| 亚洲人成网在线播放| 亚洲最新无码中文字幕久久| 精品综合久久| 国产日韩欧美高清免费| 午夜久久久久久久| 精品动漫一区二区三区| 污视频在线免费观看| 97视频在线免费观看| 久久aimee| 无码播放一区二区三区| 久久美女高清视频 | 欧美日韩一区 二区 三区 久久精品 | 性xxxxfreexxxxx欧美丶| 精品高清视频| 校园激情久久| 国精产品一区二区三区| 欧洲一区二区av| av在线1区2区| 成人福利在线视频| 午夜精品久久久久99热蜜桃导演| 永久免费黄色片| 一区二区国产视频| 天天干天天爽天天操| 日本欧美一级片| 日韩激情免费| 香蕉视频xxx| 婷婷中文字幕一区三区| 可以直接在线观看的av| 国产精品久久二区| 午夜免费一区| 国产日韩视频一区| 狠狠色狠狠色综合日日五| 国产九色在线| 91亚洲va在线va天堂va国| 国产综合激情| 国产精品无码永久免费不卡| 欧美色偷偷大香| 色在线视频网| 欧美精品一区二区三区四区五区| 免费在线观看精品| 免费网站看av| 国产亚洲综合久久| 欧美影院在线| 情侣黄网站免费看| 亚洲丝袜精品丝袜在线| 天天操天天干天天爽| 国产精品吴梦梦| 亚洲成人原创| 蜜桃av免费在线观看| 精品国产成人系列| 777午夜精品电影免费看| av动漫在线播放| 国产日韩av一区| 精品毛片一区二区三区| 国产成人精品在线视频| 国产一区清纯| 超碰97av在线| 亚洲风情亚aⅴ在线发布| 久久精品97| www.av中文字幕| 亚洲视频免费在线|