相信大家經常都會在瘋先生的教學或是粉絲團消息中看見要求大家要備份shsh2,而這個shsh2是什麼東西?如果沒有備份又會怎樣呢?也許到現在可能還會有不少用戶不了解 shsh2 的重要性,那本篇帶大家來瞭解。
shsh與APTicket是什麼?
APTicket是從iOS5開始由蘋果推出的最新安全檢查功能,最主要功能是防止iPhone、iPad、iPod用戶設備檢驗的降級限制,目前也僅有Apple Server才能擁有發送與解開 APTicket 密鑰,那 APTicket 怎麼獲得呢?
在我們設備手上的設備都會有一組固定的16碼ECID(Exclusive Chip ID)號碼,當我們要透過iTunes進行升降級時,會先連至蘋果驗證伺服器(gs.apple.com),丟出「訊息」內會夾帶一次性唯一碼、設備ECID與19個BLOB的驗證碼,而伺服器接收到後,就會返回一組隨機APTicket和當前iOS版本的SHSH驗證碼,當驗證符合時,才能夠進行接下來的升降級動作。
所以在iOS驗證關閉後,就算你有備份SHSH其實也無法實現降級,因為還有 APTicket 驗證要解決。
在32位元設備中,有存有硬體設備漏洞,可直接繞過 APTicket 驗證,直接實現靠SHSH就可以降級。也有一款降級工具「odysseusOTA」推出後,就能夠讓不少32位元設備,如iPhone5、5c、4s、iPad3、iPad2 都能降回至舊 iOS 版本上。
目前我們還可以備份 SHSH 嗎?前提要再 SHSH 認證開啟狀態下才能夠用tsschecker工具備份。
shsh2是什麼?有什麼作用?
之前 iOS 要備份 SHSH 可達成降級,相信還會有不少用戶搞不清楚,怎麼又跳出 SHSH2 這東西,這與SHSH又有什麼關係?
事實上 SHSH2 可以將他視為 SHSH的 升級版本,SHSH 只有保存 ApImg4Ticket、BBTicket,而SHSH2更厲害了,另還多出了 Generator。
開發者 tihmstar 從研究中發現到,iTunes 在替 iOS 10 以上版本升降級驗證時,會需要 APTicket 與 SHSH 外,還包含了重要的數據值 Apnonce ,這個 Apnonce 又是什麼呢?
Apnonce 是您的設備隨機產生的數據。而 Nonce 是 Number used once 或 Number once 縮寫,在安全工程中,Nonce 是一個在加密通訊只能使用一次的數字。而在認證協定中,它往往是一個隨機數,Nonce 也用於串流加密法以確保安全。如果需要使用相同的金鑰加密一個以上的訊息,就需要Nonce來確保不同的訊息與該金鑰加密的金鑰流不同。
當我們在替設備升級、降級或重刷 iOS 時,會隨機產剩一串英文字母與數字混合的字串,這就較為隨機數(nonce)。這組 nonce 就會直接傳送到 Apple 伺服器請求blob(或Apticket)要回復 iOS 版本韌體。
加上因 iOS 驗證的API有改變,造成nonce是無法從Apple驗證伺服器上取得,目前還保留在sign內,導致已經無法使用之前用小紅傘工具來獲取舊版SHSH文件,因為這方法其實是沒有包含nonce值,同等於就沒有任何作用。
因此 ihmstar 推出了最新的保存腳本工具 tsschecker ,可來獲取設備的SHSH2檔案,不過這腳本工具裡面所保存的SHSH2檔案不包括有Nonce僅只有Generator,這串數值可搭配 Prometheus 降級工具使用,能夠讓 iOS 使用 Generator 和 SHSH2 檔案產生最關鍵的「APNonce」,如此一來有了SHSH2檔案後,後續就可以自由的進行升降級工作。
但目前由於還沒突破降級限制,在擁有 SHSH2 大部分條件情況下也僅能夠實現升級與重刷,除了A7處理器設備 iPhone 5s / iPad Air 1 / iPad Mini 2 能實現降級外。又加上蘋果會不定時改變 SEP 要來阻止用戶可透過 Prometheus 升、降級,才會導致過去曾經發生過 iOS 11~iOS 11.2.6 與 iOS 11.3 SEP 不同,這算是首次出現的現象,以往過去都是在 iOS 大版本更新才會改變 SEP,但蘋果也不斷持續提升安全性與防禦機制。
該怎麼備份 shsh2?
不管未來有沒有打算要越獄,或許可先跑一次備份 iOS 的 shsh2 ,未來如果漏洞可開發出降級工具用來自由升降iOS版本時,保存好的 shsh2 這就是你手中握有最佳降級的關鍵鑰匙。如果都沒備份,那永遠都是沒有這個機會。
發現到不少用戶會誤解備份shsh2一定要透過電腦或是升級上iOS版本才可以,這些都是錯誤的想法,iOS shsh2 備份是在任何可開啟網頁版本狀態下就可以操作,且不需要透過電腦也可以直接透過 iOS 執行操作,前提是需要查好 ECID和Internal Name/Model就可以,這部分可以直接存在iOS備忘錄內,每次 iOS 新版本推出時,就可以直接複製貼上執行 shsh2 備份。
喜歡這篇文章教學,後續想了解更多Apple資訊、iPhone、Mac、3C隱藏技巧,歡迎追蹤 瘋先生FB粉絲團、瘋先生LINE@、訂閱瘋先生Google新聞、Telegram、Instagram以及 訂閱YouTube頻道,將會有更多非常實用的技巧教學分享給大家。