第109頁
2023-09-25 12:06:35 作者: 指尖的詠嘆調
私鑰這個東西只有簽證機構自己知道,但是公鑰是要發布到全網上的。
當簽證機構給某個軟體簽發數字證書的時候,他會用自己的私鑰、某些局域參數和哈希值一併來產生簽名, 也就變成了那個軟體的「簽證」。
然後,公網上的任何人,都能夠使用公鑰,來比較這個軟體的簽證,也就是自己再通過一次橢圓曲線計算,可以對比得到結果是否相等——
相等就說明「簽證」就是官方機構簽發的,沒問題了;
如果不相等,那麼這就是「無效簽證」,這個軟體就是可疑的,是沒有護照的黑戶,不予信任。
這一整個數字簽證的過程,就是一場不對稱的加密策略。
「不對稱」就在於:簽證機構持有私鑰,而所有人都持有公鑰,整個過程只能驗算,卻無法逆推。
就像國家掌握了印錢的防偽技術,所有人都能簡單地用看一看、摸一摸的手段來驗明錢幣的防偽標記,但是沒有人能偽造出這種標記來。
這種技術也能最大程度地幫助計算機軟體來防偽,也就變相保證了設備本身的安全性。
但是,在時夜的世界裡,沒有不可能一說。
畢竟——「世界上沒有絕對安全的系統,只有尚未被發現的漏洞」。
他來回調試著更新後的ECC簽證算法,接著發現了一個叫做「CertVerifyCertificateChainPolicy」的函數,連續傳遞了四個證書相關的參數,而且未做任何處理,便傳向了下游的函數。
他陷入了沉思。
楚英縱見時夜突然停在了某個確定的位置上,不由也盯著看了半晌,抓耳撓腮的問:「時小夜,我能看懂OID這個參數,剩下三個是什麼意思?」
時夜拿起筆,隨手在紙上寫下了這幾個參數,對他解釋道:「假設根證書的私鑰是p,這個私鑰我們無從得知,但ECC的基點為G,那麼公鑰就是pG。這幾個參數只是在自定義橢圓曲線的參數r、s和公鑰……」
說到此處,他聲音突然停住了。
楚英縱猛地「啊」了一聲,說:「那這麼校驗的話,我自己傳參進去,用一模一樣的自定義參數,不就可以用隨便一個私鑰也可以進行簽證了?」
時夜沉默片刻,說:「你想的不錯。」
時夜在電腦上打開了命令提示符,開始使用openssl命令,自己偽造一系列參數,嘗試生成新的ECC證書。
然後用偽造的ECC證書,他隨手對一個三無小軟體做了簽名。
楚英縱看到一半的時候,已經自發自覺,默默地將自己的手機掏了出來,連接到電腦上。
接著,時夜嘗試將軟體安裝到他的手機上——
數字簽名校驗通過。
軟體安裝成功。
到這一步,楚英縱的嘴巴已經變成了「O」型,叫道:「哇哇哇哇哇哇哇我們發現了一個0day!時小夜,發了啊!」
時夜平靜地:「嗯。」
他繼續做著接下來的工作,檢查了一下這個自己偽造的數字證書,名字只是隨便打了一個「1」而已,簽名者的名字和日期都沒有,但在系統里卻是可被信任的「正常證書」。
楚英縱就沒這麼淡定了,傻笑著原地轉了兩圈,往時夜的嘴裡塞了兩瓣橘子,喜滋滋道:「這可是數字證書的漏洞,提交給微軟起碼是個『危重』級別。到時候獎金髮下來,時小夜你要成百萬富翁了!」
橘子很甜,時夜默默地吃了,舔了下嘴唇。
楚英縱看得怦然心動,又開心地親了他一下。
學長也很甜,時夜默默地被親了,然後才隨口道:「先不提交。」
楚英縱這才想起來:「啊對,這才是第一步呢,你真的打算要破解IOS系統13?」
時夜:「嗯。」
說話間,時夜手頭的動作沒有停,將證書打包進了自己的IOS破解包里。
得到了一個價值連城的微軟0day,好像對他沒有產生任何影響。
也許他更高興的,其實是自己能夠在解題的步驟上更進了一步。
楚英縱不覺間也安靜了下來,看著他專注的側臉,呆呆地想了一會兒事情。
片刻後,楚英縱說:「阿夜,你有沒有考慮過真的破解掉了系統以後,你可能會有很大名氣,你不一定喜歡的那種……」
時夜停頓了一下。
他真的沒有考慮過——現實世界的很多東西,本能地不在他的意識範圍里。
這時楚英縱說:「當年IOS四代的時候,不是好像是歐洲的一個高中生破解出來的嗎?他當晚就成名了,還被蘋果公司告了。雖然最後法庭判斷是『智力好奇』,並沒有定罪……」
「我知道。」時夜說,「這是法律的灰色地帶。」
楚英縱低著頭道:「時小夜,我們可以出於學術的目的去嘗試,但是你可以答應我,不用來做非法的牟利嗎?」
時夜看了他一陣,嘴角好像帶著一抹淡淡地笑意,說:「好。」
楚英縱這才重新活躍起來,樂呵呵道:「好!接下來還有要幫忙的地方不?我也來我也來!洒家這輩子還沒幹過這種大事——刺激!!」
這一整天,楚英縱都忍不住和時夜泡在了圖書館裡。
他們一起看那些佶屈聱牙的函數,一起調試各種亂七八糟的參數,一起被深奧的數學問題虐得懷疑人生。