不幸的是,這不會工作。正如您在閱讀移動配置文件時所看到的,在這些配置文件之一中有大量以純文本編碼的信息 - 應用程序ID,開發人員證書的公鑰,預置設備ID等。雖然沒有任何禁止你在這個純文本部分添加或改變信息(它畢竟是你計算機上的一個文件)會導致這個失敗的是在這個文件的二進制部分編碼的信息。如您所知,Apple要求所有App Store應用程序都由開發人員簽名,這是爲了1)在商店中提供「開發人員身份」的基礎,並2)確保您上傳到Apple的二進制文件不是篡改時被客戶下載或使用。這個過程利用公鑰基礎設施來驗證由開發人員生成的加密簽名實際上是由該平臺「信任」的......實質上是一種確保文件/應用/消息的內容自簽名以來未被修改的數學方法由開發人員。
爲什麼這是一個重要的區別?
「信任」這個概念是平臺安全的基礎 - 每件事都必須簽名。從引導加載程序一直到您的應用程序,鏈中的每個鏈接都必須由設備信任的授權機構簽署......在這種情況下,蘋果公司。如果在任何時候數學運算不成立,那麼存在安全漏洞,並且不允許執行一些代碼(注意:這不一定適用於越獄設備,但它是一個完全不同的問題的主題)。
既然你已經表明你已經看過了你的配置文件,你可能還會看到一些二進制數據與你詢問的純文本數據混合在一起。這個二進制數據是部分代碼簽名和部分PKI數據 - 它確保明文部分中包含的信息不是......我們應該說'調整'...自從蘋果發佈文件給你之後並通過Xcode和iOS驗證。這回復了你可能聽到的一句話:「你的安全性和最弱的一環一樣強大」。在沒有簽署供應配置文件的假設世界中,一些流氓個體可以通過一系列簡單的文本編輯來繞過iOS安全體系結構,並且我們可以採用多種方式來規避App Store分發機制並規避100%證書,身份和配置文件工具所強加的設備限制 - 從平臺安全角度來看,這種假設情況並不理想,因此我們首先對代碼簽名有所要求。
我也不能承認,這通常是討論「開放」與「封閉」生態系統優劣的切入點。因爲它遠遠超出了這個問題的範圍,並且冒險進入了慷慨激昂的意見雷區,我們不會深究它......遺憾地失望。
蘋果推出whitepaper on iOS security,討論內置於核心iOS中的安全啓動加載器,代碼簽名和安全架構 - 對於那些對iOS安全性的公開展示內容感到好奇的人來說,這是一個很棒的閱讀。
在此期間,由於缺少一堆Jailbroken設備,獲得額外測試設備插槽的唯一合法方式是購買第二個iOS開發人員程序並設置第二個appID,第二組配置配置文件以及擴展第二組構建配置能夠使用不同的一組配置設備來重新分配應用程序。
它很可能不起作用,因爲允許的設備將在證書中以某種方式被識別。 – 2013-03-05 03:17:55