防拆袋沒拆對,Oxide 連夜重做整套根密鑰簽發儀式
Oxide 工程師開車回家路上越想越不安,調頭回公司親手測試防拆袋,發現自己能神不知鬼不覺地重新封口,於是帶著儀式團隊連夜把整套根密鑰簽發流程重做了一遍。
原視頻在 YouTube 上放不出來,用音頻聽:
核心論點 · 點時間戳可跳到原聲
發貨前才發現根密鑰信任鏈壓根不存在
Philip 在 2022 年秋天把硬件 ROT 做到能工作的程度後才意識到,他是公司裡唯一一個依賴某個「尚不存在的 PKI」在構建東西的人——沒人在等他,因為沒有別的功能依賴這套簽名基礎設施。這個認識帶來的衝擊不是「要不要做」的問題,而是突然發現公司外部需要另建一整套和產品軟件本身一樣重的系統,才能讓硬件裡固化的根密鑰真正可信。
— Philip Tricca密鑰信任鏈不能用精益創業那套打補丁
精益創業的邏輯是先出一個最小可用版本,靠客戶反饋迭代改進。但 Bryan 和 Philip 都指出,簽名密鑰這件事行不通——寫進硬件根信任裡的密鑰一旦出貨就幾乎無法撤回,「minimum」在這裡意味著你要和這個決定共存很久很久。團隊的目標不是追求完美(Philip 認為完美本身也不該是目標,設計上要求至少兩方合謀才能破壞系統,本來就排斥「單點完美」),而是找到一個經得起客戶和審計方事後檢驗的最低合格線。
— Philip Tricca密鑰放桌抽屜U盤裡,是行業公開的秘密
Philip 說起製造業裡流傳的恐怖故事:很多初創公司為了趕工期,會把要燒錄的簽名密鑰直接生成在平臺外部再注入,甚至就是一把未加密的密鑰躺在某人書桌抽屜的 U 盤裡,他估計這種做法「遠多於零」。Oxide 把最低合格線定得更高——密鑰在 HSM 內部生成、從不離開設備邊界,只有認證口令才會以紙質形式分發給受信任的個人,並做成 M-of-N 分片,任何單人都無法獨自使用或破壞。
— Philip Tricca選針式打印機,是因為它蠢得能被拆開檢查
團隊選用一臺針式打印機打印密鑰分片的認證口令,不是圖它先進,恰恰相反——它足夠原始,沒有無線網卡、沒有藍牙,拆開後每個芯片是什麼一目瞭然,不像密封環氧樹脂裡藏著誰都看不懂的黑盒。權衡也很現實:一次性寫入的 CD-ROM 更難被物理檢查內部結構,打印機則勝在「透明」但笨重、墨粉髒、不好塞進銀行保險箱。用完後,這臺打印機被 Dremel 電鑽當眾「手術式處決」。
— Philip Tricca放棄傳統安全啟動,是因為它只能證明過去
Oxide 的根信任芯片裡只有數量有限、一次性寫入的密鑰槽,用完就用完了,這讓團隊有意避開傳統的 Secure Boot 架構。Philip 解釋,UEFI 時代的安全啟動誕生於「代碼來源必須可信」的假設,但 Oxide 更看重驗證啟動(verified boot)能提供的另一種性質:哪怕啟動代碼不是自己簽發的,只要系統能證明「最先加載執行的代碼是可被看見的」,就足以建立信任——重點不是來源是否受信,而是狀態是否可被審查。固件裡一切不透明、一切保密,掩蓋的問題比它解決的還多。
— Philip Tricca一個沒封好的防拆袋,逼他半夜開車回公司
儀式順利完成當晚,Philip 注意到有人撕開防拆證據袋時臉上閃過一絲疑惑的表情,這個細節一直卡在他腦子裡揮不去。開車回家路上越想越不安,他乾脆調轉車頭回了公司,自己對著一個袋子又拆又封——結果發現自己真的可以不留痕跡地重新密封。這意味著那天夜裡被帶回家的認證口令,實際上有二十四小時處於「看似防拆、實則沒有保護」的狀態。於是整套密鑰簽發儀式連夜用第二臺打印機重新做了一遍。
— Philip TriccaLLM 把國家級漏洞挖掘變成十分鐘的事
Philip 把這種轉變比作核武器擴散:過去要靠一整個行業裡極聰明又有經驗的人花大量時間專門挖掘某類漏洞,而現在一個 LLM 可以在十分鐘內把一份老代碼庫翻個底朝天、把所有問題抖出來。UEFI 這類誕生於完全不同時代、架構上沒怎麼升級過安全機制的固件尤其首當其衝,因為改造它的激勵本來就極低。更麻煩的是,會用這些工具的人往往沒有和廠商打交道、走負責任披露流程的經驗。
— Philip Tricca原話 · 已逐字校驗
It is, I guess maybe the most disappointing thing about computer security and cryptography is that everything seems to boil down to PKIs. Boils down to some assertion made by some entity that holds a private key and all of the security properties of that thing depend on the secrecy of that key.
計算機安全和密碼學裡最讓人失望的一點大概就是,一切最終都歸結為 PKI——歸結為某個持有私鑰的實體所做的一個斷言,而整件事的安全屬性都取決於那把私鑰是否保密。
Philip Tricca17:00
Yeah, but it doesn't have to be perfect. And in fact, I would argue that it can't be perfect.
是的,但它不需要完美。事實上,我認為它根本不可能完美。
Philip Tricca26:30
All that makes sense. But like, this stuff you're gonna live with for a really, really, really long time. So you don't wanna assume because you're gonna have to go back and re... You really wanna assume you're shipping a product here.
這些道理都對。但這種東西你是要和它共存非常非常非常長的時間的。所以你不能假設以後還能回頭去改……你得假定自己是在發布一個真正的產品。
Bryan Cantrill30:00
I'm sure like the number of startups out there where their PKI was like, you know, an unencrypted key sitting on a thumb drive in someone's desk drawer.
我敢肯定,外面有不少創業公司的 PKI 就是一把沒加密的密鑰,躺在某個人書桌抽屜裡的 U 盤上。
Philip Tricca32:30
And you're like, nope, there's a process like get out the Dremel. It's like a very surgical murder of this dot matrix printer.
結果你說不行,這有一套流程,要拿出電鑽來——簡直是對這臺針式打印機的一場精密的外科式謀殺。
Bryan Cantrill54:00
If I don't, if I didn't look at this. I literally just turned my car around and went to the office.
如果我不去……如果我不親自看一眼這個。我真的就直接掉頭把車開回了公司。
Philip Tricca1:08:00
These are like in a way kind of like nuclear weapons where there are entire industries of incredibly intelligent and experienced people that would spend tons of time hunting for these things. And in a matter of ten minutes, an LLM can take an old code base, flip it over and shake all the change out of it.
這在某種意義上有點像核武器——過去有一整個行業裡極其聰明又有經驗的人,要花大量時間去挖這類東西。而現在,一個 LLM 可以在十分鐘之內把一份老代碼庫整個翻過來,把所有的問題都抖出來。
Philip Tricca1:16:45
術語
- PKI公鑰基礎設施
- 基於持有私鑰一方的簽名斷言來建立信任的證書體系
- Root of Trust (ROT)信任根
- 芯片內固化的最底層安全起點,整條信任鏈的源頭
- HSM硬件安全模塊
- 專門生成、存儲簽名密鑰且密鑰永不對外暴露的專用硬件
- M-of-N key splittingM-of-N 密鑰分片
- 把恢復密鑰拆成 N 份,需湊夠 M 份才能合併使用,防單人作惡
- tamper-evident packaging防拆證據包裝
- 一旦被打開會留下不可逆痕跡、用來證明物品是否被動過的包裝
- Secure Boot / Verified Boot安全啟動/驗證啟動
- 前者校驗代碼來源是否受信,後者只需證明啟動代碼狀態未被篡改且可見
收聽指南
做企業級硬件安全、PKI 或簽名密鑰基礎設施的工程師,以及關心「信任根」如何真正落地而非停留在白皮書層面的技術決策者。
開頭近九分鐘聊 Theranos 紀錄片和當地影院見聞的部分,與正題無關,可跳過。