簡體   English   中英

iOS Keychain安全性

[英]iOS Keychain Security

我們希望在iPhone上使用證書來驗證MS Exchange Sync。 我們不確定如何實施安全性概念來保護此證書。

例如,如果沒有啟用ScreenLock,是否可以在iPhone上獲得“完整”Keychain訪問權限? (或使用越獄iPhone)。

有沒有人有這方面的鏈接?

Fraunhofer對iOS鑰匙串安全性的研究:

據我所知,iOS鑰匙串使用兩種加密級別。 第一級使用鎖屏密碼作為加密密鑰。 第二級使用由設備生成並存儲在設備上的密鑰。

弗勞恩霍夫的研究人員已經想出如何繞過二級。 由於加密密鑰存儲在設備上,因此這是“更容易”的級別。 所以在iOS4上,他們的方法只適用於不使用kSecAttrAccessibleWhenUnlocked或kSecAttrAccessibleWhenUnlockedThisDeviceOnly的keychain條目,因為這些條目駐留在內存中,第一級解密 - 即使手機被鎖定。

  • 從iOS 4開始,具有kSecAttrAccessibleWhenUnlocked和kSecAttrAccessibleWhenUnlockedThisDeviceOnly的密鑰受到額外加密級別的保護
  • 在iOS 3.x及更早版本中,無論使用何種可訪問性屬性,都可以使用Fraunhofer的方法解密所有密鑰
  • 完全沒有密碼的設備仍然容易受到攻擊
  • 具有弱密碼(少於六位數)的設備仍然有點脆弱

每個密碼嘗試≈50ms; →每秒≈20次嘗試; →≈1.7歲,對於帶有基數36的6位字母數字代碼猜測正確密碼的50%變化.4位數字的標准簡單代碼將在不到9分鍾內強制執行。 基於這樣的假設,即可以繞過iOS中錯誤嘗試的計數器,因為它不是基於硬件的

Apple Inc. WWDC 2010,核心操作系統,會議209“保護應用程序數據”,幻燈片24

底線:如果您必須存儲敏感數據,請更好地使用自己的加密。 並且不要將密鑰存儲在設備上。

編輯:有很多新聞文章引用了弗勞恩霍夫的研究,並向讀者保證,除非他們的設備被盜,否則不要擔心,因為這種攻擊只能通過物理訪問設備來完成。

我有點懷疑。 事實上,研究人員通過物理訪問手機進行測試似乎只是一種簡化問題的方法,而不是限制。 這是他們對解密鑰匙串條目所做的描述:

使用越獄工具后,為了訪問命令shell,我們運行一個小腳本來訪問和解密密鑰鏈中的密碼。 解密是在操作系統自身提供的功能的幫助下完成的。

任何使用過jailbreak.me的人都知道,越獄不需要物理訪問設備。 從理論上講,修改jailbreak.me代碼並使其自動執行以下操作應該是微不足道的:

  1. 正常執行越獄(所有這些都需要用戶打開惡意制作的PDF)
  2. 越獄完成后運行Fraunhofer的腳本
  3. 通過網絡將密碼發送到攻擊者可以從中讀取的位置

所以再一次,要小心你放入鑰匙鏈。

通常,鑰匙串將是存儲此類證書的推薦方式。 但是,已經發現越獄可以用來繞過鑰匙鏈的安全性( 文章 )。

Franhofer研究了iPhone鑰匙扣的安全性:

http://www.sit.fraunhofer.de/Images/sc_iPhone%20Passwords_tcm501-80443.pdf

我可以回答你的部分問題,但由於另一部分仍然未知,我正在投票,因為我也渴望知道答案。

我可以回答的部分是:'如果沒有啟用屏幕鎖定,應用程序可以獲得完整的鑰匙串訪問權限'。 不,每個應用程序在iphone上都有自己的鑰匙串區域,這意味着應用程序只能訪問自己的秘密。 應用程序本身並未鎖定這些機密,因此無法從應用程序本身隱藏鑰匙串條目。 總而言之:應用程序可以讀取自己的條目,而不能讀取其他條目。

我有興趣知道的是在越獄設備上發生的事情。 一旦設備越獄,所有應用程序的鑰匙鏈是否都會暴露出來?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM