iphone降級是通過什麼機制來驗證的?

小雞愛科技


首先要說的是,蘋果是不允許iPhone官方降級的,這個幾年前蘋果都給出過解釋。首先蘋果認為開放iPhone降級機制會暴露舊系統的安全弱點,使得設備面臨安全威脅;其次蘋果認為開放iPhone降級機制會影響iOS系統的佔有率,使得iOS遭遇像Android系統那樣的碎片化問題;最後,蘋果還覺得iPhone降級至可越獄的系統版本將降低蘋果軟件方面的盈利(越獄後的iPhone可安裝破解應用和遊戲)。

其次,從官方渠道而言,其實不存在升級或者降級的說法,只要官方沒有關閉某個固件的驗證通道,那麼這個固件就可以刷進你的iPhone裡,而只要關閉了這個驗證通道,那麼這個版本的固件就無法刷入手機了。早期蘋果允許離線升級,你想刷啥版本的固件都可以(當然那個時候固件也比較少),現在蘋果只允許在線升級,必須有驗證過程,所以只要蘋果關閉了老固件的驗證通道,用戶當然也刷不進去老固件,也就無法降級了。

不說降級,只說刷機的話,過程大概是:從網上下載一個ipsw格式的固件,打開iTunes,連接手機,固件就可以刷進去了。整個過程是固件文件—iTunes —設備CPU — 設備的Flash/eMMC閃存中去。其中很重要一步其實是設備CPU,只有CPU才能把固件寫到Flash/eMMC中,CPU不同意,我們就無法刷機。由於iPhone從硬件和軟件都是全封閉狀態,加密密鑰是在CPU中的,每臺CPU中的密鑰又不一樣,所以這又避免拆卸閃存來刷機的可能性。


那麼CPU怎麼決定能否刷機呢?需要驗證來自蘋果服務器的固件簽名。假如固件簽名正確,就可以刷入固件。所以iTunes必須向蘋果服務器詢問這個固件的簽名,提供給CPU。蘋果服務器根據這個固件的真偽、版本號,來決定是否提供簽名。所以,蘋果服務器對手機能否刷入固件是有決定權的。

所以不存在所謂的升級降級,只要服務器這套驗證程序許可,什麼版本的固件都能刷進iPhone,如果關閉了固件的驗證通道,你想通過正常方法來降級刷機是沒可能的!所以蘋果推出新固件後,很快就會關閉之前版本固件的驗證通道,我們也就不存在降級的可能了!

想要降級,只要在刷入新固件後,在老固件還沒關閉驗證通道的時候,趕快從新刷回去。新固件推出後,一般蘋果關閉老固件驗證的時間不會晚於三天。


阿卡酋長

驗證的機制是由bootloader控制的,iPhone系統升級時需要向蘋果的更新服務器自動發送請求,通過版本驗證並獲得服務器的驗證許可之後,會將iOS升級到最新版本。

不過目前由於iOS系統在升級驗證時採用了多重驗證機制,除了將系統版本、硬件設備的信息參數發送給更新服務器之外,還會額外隨機生成一個一次性隨機數參與服務器的驗證,因此之所以目前無法降級,或者說很難降級(畢竟無法完全否定會有高高手破解驗證)的原因,主要就是因為這個一次性隨機數無法被破解。


分享到:


相關文章: