Re: [問題] 蘋果為何最近一直把舊版本鎖起來

看板iOS作者 (誠誠小屁孩)時間7年前 (2018/06/08 15:01), 7年前編輯推噓127(128112)
留言141則, 128人參與, 7年前最新討論串2/3 (看更多)
※ 引述《st93042 (寂寞難耐)》之銘言: : 如題 : 記得i5左右時 : 蘋果並不會想現在這樣 : 11.4出來就把11.3鎖掉 : 從ios11出來開始,只要一出新版本,過沒多久就把舊版本關掉,是不是蘋果本身對新 : 本的優化沒信心,加上想加快就產品的汰換 前幾天才在 Reddit 上看到一篇有趣的文章, 順便趁這個機會分享給大家 :) 以下為了方便大家閱讀(X)賺稿費(O)所以簡單整理一下那篇文章的意思: 第一部分:在伺服器部分掌控升降級的鑰匙 -------------------------------------- 早在很早很早以前~~~蘋果是允許離線軟體更新,但是隨後就基於無法控制系統版本為由 , 放棄了這個方式,也就是接下來大家都知道的線上認證更新機制: Apple 認證伺服器 --數位簽章--> iTunes --數位簽章--> iDevice 只要關掉認證伺服器,就能達到控制整個生態圈版本的目的。 Apple 認證伺服器 --X--> iTunes --X--> iDevice (失敗) 也因此,當時候的人們也很聰明:「把伺服器的數位簽章備份下來」, 這也就成為了過去越獄社群曾經輝煌的過去:SHSH Blobs 作法是當我們需要降級時,便偽裝成為 Apple 的認證伺服器, 然後提供 iTunes 我們之前存好的 SHSH Blobs,就可以進行升降級, 即使伺服器已經關掉的狀態。 Apple 認證伺服器 ---X---> 我們的 SHSH --數位簽章--> iTunes --數位簽章--> iDevice (成功) 隨後蘋果的作法就是加入了一段亂碼,我們稱之為 Nonce, 這樣一來就讓我們無法順利的欺騙 iDevice 上面的 Bootloader, 達到降級的目的。 我們的 SHSH --數位簽章A--> iTunes --數位簽章A-->X<--數位簽章B-- iDevice (失敗) 也因此我們得到第一部分的結論: 1.iDevice 上的認證機制是依靠 Bootloader,並且是由 Secure Boot 好好地保護著, 也因此目前沒有方法可以透過中介的方法改寫這部分。 2.每個裝置的真正明碼被藏在一組組的「一次性密碼」,我們可以知道密碼是多少, 但是不能去修改它(唯讀),所以這個也無法被竄改。 3.由於在這過程中是使用非對稱式加密技術,也因此數位簽章是無法被竄改或偽造。 在如此重重的安全關卡中基本上是無法被突破的。 :( 第二部分:在裝置部分掌控升降級的鑰匙 ------------------------------------ 接著我們來看看為什麼不能任意刷入 iOS 版本: 一個刷機的過程如下: 下載 ipsw --> 丟入 iTunes --> 插上 iDevice --> 刷機 但是如果從背後原理上來看,後半部的流程是這樣: iTunes --> iDevice CPU --> iDevice Flash 所以可以決定要刷甚麼版本 iOS 的人就是 iDevice 上面的 CPU, 如果 CPU 謊報資訊的話,你刷機的成功率是 0.00069%(原文作者亂掰 :( ) 那你可能會問為什麼不繞過 CPU 直接開刷就好,但是問題是整個傳輸的過程都是加密的 , 任何檔案要寫進 Flash 全部都是加密的,而且你猜是誰有了鑰匙? CPU,這也代表全宇宙只有 CPU 知道怎麼加密這玩意兒,同時每顆 CPU 的密碼都不一樣 。 也因此,如果沒有了 CPU 的密碼,無論怎麼強力取出 Flash 上面的資訊, 都是不可讀寫的,即使是解焊 Flash 晶片也是如此。 那 CPU 怎麼決定可以刷入那些版本呢?沒錯就是數位簽章, 而唯一可以發行簽章的人就是 Apple 認證伺服器。 你可以想像一下整個過程如下: iTunes:我要刷機 CPU:你需要提供這個 iOS 版本的數位簽章 (iTunes 向 Apple 詢問數位簽章) iTunes:這是你要得數位簽章 CPU:這個數位簽章是真的,開始刷機~~ 如果 Apple 關掉認證伺服器: iTunes:我要刷機 CPU:你需要提供這個 iOS 版本的數位簽章 (iTunes 向 Apple 詢問數位簽章) Apple:認證關掉了,不能給你嘻嘻~~ 所以後來就有了 SHSH Blobs: iTunes:我要刷機 CPU:你需要提供這個 iOS 版本的數位簽章 (iTunes 從你的 D槽 拿出洨秘密) iTunes:這是你要的數位簽章 CPU:這個數位簽章是真的,開始刷機~~ 但是現在已經有了 nonce 所以已經沒用了: iTunes:我要刷機 CPU:你需要提供這個 iOS 版本的數位簽章 同時,必須要包含 rfjomedlfmndvlofdvjmiudshdweqiubnhyvbnkjmngbfuibmoddfnifdb 的字串喔~ iTunes:這是你要的數位簽章 CPU:額,你給的裡面是 mkfdvmdfvdvfmdvfpvfdmreijorejreoeirjgeriorenjroeierjnreo ,跟我的這個 rfjomedlfmndvlofdvjmiudshdweqiubnhyvbnkjmngbfuibmoddfnifdb 不一樣喔,所以不能給你刷機~~ 即使我們可以偽裝 Apple 認證伺服器,但是我們仍然無法偽裝其傳出來的結果 :( 只有透過攔截真正伺服器的資訊後,在需要時重新傳輸給 CPU 才能成功, 這也使得數位簽章的不可偽造性極為強大。 參考原文 -------- [Discussion]This is how Apple completely prevented you from downgrading iOS. 作者:u/SGpro-_- https://www.reddit.com/r/jailbreak/comments/8oy01m/discussionthis_is_how_apple _c https://i.imgur.com/rkOBfXw.png
結論廢話一下 :) 以一個密碼學的角度來說,光是這整個不能降級的機制, 其精巧之程度簡直可以堪稱為一個偉大的藝術品阿 :) 有問題歡迎討論~~ --

12/04 23:42,
[新聞]有狼師一直戳女學森(.)(.)而被家長吉上法院...
12/04 23:42

12/04 23:44,
) (
12/04 23:44

12/04 23:46,
( Y )
12/04 23:46

12/04 23:48,
\|/
12/04 23:48

12/05 00:47,
(╮⊙▽⊙)ノ|||
12/05 00:47

12/05 01:17,
/|\╰╮o( ̄▽ ̄///)<
12/05 01:17
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.104.176.198 ※ 文章網址: https://www.ptt.cc/bbs/iOS/M.1528441283.A.77F.html ※ 編輯: Lyeuiechang (112.104.176.198), 06/08/2018 15:10:35

06/08 15:03, 7年前 , 1F
好生動xDD
06/08 15:03, 1F

06/08 15:04, 7年前 , 2F
解釋的真好 推
06/08 15:04, 2F

06/08 15:05, 7年前 , 3F
1
06/08 15:05, 3F

06/08 15:08, 7年前 , 4F
06/08 15:08, 4F

06/08 15:21, 7年前 , 5F
精彩的說明,推一個
06/08 15:21, 5F

06/08 15:25, 7年前 , 6F
解釋淺白 簽名檔生動
06/08 15:25, 6F

06/08 15:29, 7年前 , 7F
06/08 15:29, 7F

06/08 15:31, 7年前 , 8F
好文 推~
06/08 15:31, 8F

06/08 15:37, 7年前 , 9F
推好文!
06/08 15:37, 9F

06/08 15:38, 7年前 , 10F
長知識了,推
06/08 15:38, 10F
※ 編輯: Lyeuiechang (112.104.176.198), 06/08/2018 15:43:02

06/08 15:43, 7年前 , 11F
06/08 15:43, 11F

06/08 15:44, 7年前 , 12F
長知識!
06/08 15:44, 12F

06/08 15:47, 7年前 , 13F
06/08 15:47, 13F

06/08 15:49, 7年前 , 14F
好文推一下
06/08 15:49, 14F

06/08 15:56, 7年前 , 15F
推解釋...淺顯易懂
06/08 15:56, 15F

06/08 15:57, 7年前 , 16F
推解釋的很清楚
06/08 15:57, 16F

06/08 15:58, 7年前 , 17F
06/08 15:58, 17F

06/08 15:59, 7年前 , 18F
蘋果如果不用安全為口號硬鎖降版,ios絕對也會碎片化
06/08 15:59, 18F

06/08 16:04, 7年前 , 19F
06/08 16:04, 19F

06/08 16:08, 7年前 , 20F
好文淺顯易懂!
06/08 16:08, 20F

06/08 16:09, 7年前 , 21F
簡單易懂!厲害 解開我多年的疑問!哈哈哈
06/08 16:09, 21F

06/08 16:11, 7年前 , 22F
推,長知識
06/08 16:11, 22F

06/08 16:11, 7年前 , 23F
簡單易懂
06/08 16:11, 23F

06/08 16:11, 7年前 , 24F
高手!
06/08 16:11, 24F

06/08 16:16, 7年前 , 25F
簡單易懂
06/08 16:16, 25F

06/08 16:18, 7年前 , 26F
終於看慬刷機的過程了.
06/08 16:18, 26F

06/08 16:22, 7年前 , 27F
推詳細解說
06/08 16:22, 27F

06/08 16:23, 7年前 , 28F
好看!
06/08 16:23, 28F

06/08 16:26, 7年前 , 29F
推 真的淺顯易懂
06/08 16:26, 29F

06/08 16:28, 7年前 , 30F
簡單易懂
06/08 16:28, 30F

06/08 16:29, 7年前 , 31F
06/08 16:29, 31F
還有 70 則推文
還有 2 段內文
06/09 03:20, 7年前 , 102F
06/09 03:20, 102F

06/09 03:31, 7年前 , 103F
謝分享
06/09 03:31, 103F

06/09 04:02, 7年前 , 104F
06/09 04:02, 104F

06/09 04:04, 7年前 , 105F
推專業講解
06/09 04:04, 105F

06/09 04:52, 7年前 , 106F
深入淺出的介紹方式
06/09 04:52, 106F

06/09 04:52, 7年前 , 107F
專業好文 推
06/09 04:52, 107F

06/09 07:13, 7年前 , 108F
推好文
06/09 07:13, 108F

06/09 07:35, 7年前 , 109F
結論:嘻嘻
06/09 07:35, 109F

06/09 07:40, 7年前 , 110F
高手
06/09 07:40, 110F

06/09 08:09, 7年前 , 111F
推簡單易懂
06/09 08:09, 111F

06/09 08:12, 7年前 , 112F
好文推
06/09 08:12, 112F

06/09 08:17, 7年前 , 113F
專業 推
06/09 08:17, 113F

06/09 08:18, 7年前 , 114F
厲害
06/09 08:18, 114F

06/09 08:46, 7年前 , 115F
大推優文!
06/09 08:46, 115F

06/09 09:21, 7年前 , 116F
專業 推
06/09 09:21, 116F

06/09 10:51, 7年前 , 117F
06/09 10:51, 117F

06/09 10:55, 7年前 , 118F
Push
06/09 10:55, 118F

06/09 11:00, 7年前 , 119F
阻止系統版本破碎化,對開發者而言,優化變得比較單純
06/09 11:00, 119F

06/09 11:00, 7年前 , 120F
06/09 11:00, 120F

06/09 12:13, 7年前 , 121F
Djekidbdhaudbfjchfnkzudnnxkcjrnxjsc
06/09 12:13, 121F

06/09 13:42, 7年前 , 122F
好生動XD
06/09 13:42, 122F

06/09 14:46, 7年前 , 123F
神串留名
06/09 14:46, 123F

06/09 15:14, 7年前 , 124F
那些常酸人的怎麼不見了?是不是看不懂就不敢亂酸了啊?
06/09 15:14, 124F

06/09 15:42, 7年前 , 125F
推 專業
06/09 15:42, 125F

06/09 15:48, 7年前 , 126F
Ios12準備打破舊設備變慢的思維 蘋果知道轉為經營平台
06/09 15:48, 126F

06/09 15:48, 7年前 , 127F
服務 提升APP開發的效率 當所有人都願意升上Ios12 將
06/09 15:48, 127F

06/09 15:48, 7年前 , 128F
大幅減少系統破碎化的問題 間接保證app的品質
06/09 15:48, 128F

06/09 18:31, 7年前 , 129F
精彩給推
06/09 18:31, 129F

06/09 18:32, 7年前 , 130F
深入淺出,簡單易懂!
06/09 18:32, 130F

06/09 20:04, 7年前 , 131F
推 未看先猜會被友站轉載 媽我在這~
06/09 20:04, 131F

06/09 21:57, 7年前 , 132F
06/09 21:57, 132F

06/10 07:51, 7年前 , 133F
推一個
06/10 07:51, 133F

06/10 18:27, 7年前 , 134F
好猛喔!淺顯易懂
06/10 18:27, 134F

06/10 20:55, 7年前 , 135F
06/10 20:55, 135F

06/11 14:13, 7年前 , 136F
推!
06/11 14:13, 136F

06/11 22:45, 7年前 , 137F
問下,所以iOS 更新需要跟apple伺服器認證,也就是只
06/11 22:45, 137F

06/11 22:45, 7年前 , 138F
能在連網環境下更新?
06/11 22:45, 138F

06/13 22:08, 7年前 , 139F
數位簽章本來就是用來確保資料的完整性跟不可否認性
06/13 22:08, 139F

06/14 15:39, 7年前 , 140F
沒細節
06/14 15:39, 140F

07/23 08:23, 7年前 , 141F
推~
07/23 08:23, 141F
文章代碼(AID): #1R6Yd3T_ (iOS)
文章代碼(AID): #1R6Yd3T_ (iOS)