Re: [閒聊] 冷錢包有可能被廠商動手腳嗎?

作者: overdoingism (做過頭主義)   2022-11-12 16:07:53
※ 引述《ULTIMA1002 (晚點再說)》之銘言:
: 如題
: 個人不是學資訊相關的,
: 只是覺得不少在賣冷錢包的廠商,
: 本身的信譽有辦法被驗證嗎?
: 冷錢包裡面如果預先暗藏什麼木馬還是病毒的,
: 等到哪天時機對了再一次收割?
: 有沒有這種風險?
: 當然冷錢包只有用到的時候才會連網,
: 但是如果裡面已經有特殊程式會自動在連上網路時去抓取用戶資料,
: 然後在某個時間點最多人連網的時候作收割?
: 還是我想太多?
: 只是單純覺得對硬體資安這種東西不太懂,
: 想問冷錢包本身有沒有被廠商動手腳的可能?
真正的冷錢包是完全離線的,用的時候都不連網,
不過這種冷錢包相對難用。(要把簽名內容抄出來廣播)
那麼冷錢包有沒有來自設計者的風險?
(二手搞鬼的姑且不論)
目前小弟想到的,
大致上大概有這兩種途徑:
一、冷錢包連線的時候。
多數市售冷錢包會附上手機用的app,
然後以藍芽什麼等方式與裝置連線,
那麼裝置 <-> app <-> 網路
這之間確實存在著可能的通道。
如果廠商有心作怪,裝置可以留下 app 可以訪問密鑰的後門。
當然,app要反解譯並不難,若有人檢查是有可能抓包。
二、出廠時預先決定好。
假設app與冷錢包內預先設計好,
助記詞與私鑰產生的方式其實只有一億組
(或一個很大但不太離譜的數字),
你以為是隨機產生,實際上只是在這一億組裡面隨機挑一組出來,
那確實廠商有可能掌握到你的私鑰。
破解方法:自己輸入助記詞,
並檢查一下跟BIP39產生的結果是否相同。
不同的不要用。
目前小弟想到的方法大概是這兩種。
還有其他的方法也歡迎提出來。
*****
當然,還是完全離線的最好。
這時候就不得不推一下小弟自己寫的ETH溫錢包,
#1YpEmf_G
作者: sweetorz (Orz99)   2022-11-12 16:20:00
純前端錢包可以放到 IPFS 上,只要該 CID 的程式碼經得起時間考驗,就會有更多人使用
作者: frrr (franky1)   2022-11-12 16:39:00
我看過離線的,有一個小螢幕 會顯示交易訊息的qrcode, 接著要用手機拍照廣播
感覺這種最穩
作者: brucetu (sec)   2022-11-12 16:49:00
樓上 塞個發報器把密鑰打回去主機也不是不可能畢竟只要割到就是一大筆錢 技術上麻煩點沒關係所以還是看廠商誠信
作者: deangood01 (跨斯歐鵝)   2022-11-12 17:03:00
真正要搞把產私鑰的seed決定有限個就好了 然後可以用PRNG產出 256bit的私鑰 簡化的方法可以是HMAC(seed,round number) 不知道seed的狀況下 PRNG 跟 RNG在數學上是完全分不出差異的,這如果開源還好檢查 硬體的話真的很難驗證是否作假
作者: trylovetom (閒閒的猛男)   2022-11-12 17:03:00
用 Paper wallet 呀
作者: brucetu (sec)   2022-11-12 17:06:00
原PO自己輸入助記詞的方式可以破解有限seed
作者: standalone (one man)   2022-11-12 17:49:00
Safepal S1是用QR code我就是用這個
作者: sazabijiang (筆落驚風雨詩成泣鬼神)   2022-11-12 18:31:00
只要有APP而原始碼不公開,其實都有可能有後門但就算沒有原始碼,APP在幹這種事情的時候也可能會被偵測到,廠商必須冒著被抓包的風險,而且錢包不綁使用者身分,每一隻錢包都把註記詞送回母公司它得到巨量資料也沒有實際用途。但如果是魚叉式釣魚針對特定人士或特定機構訂製特定錢包這樣搞,技術上是可行的。畢竟一般人沒事不會每次開APP交易時,還同時監看防火牆連線....
作者: walkwall (會走路的牆)   2022-11-12 21:35:00
那麼是不是可以寫成一個 Python 腳本, 存在自己電腦, 函式庫也是存在自己的PC上, 應該做得到?
作者: brucetu (sec)   2022-11-12 22:33:00
樓上 原PO寫的開源錢包就是這個意思 只是他不是Python
作者: dalconan (寒江雪)   2022-11-12 22:57:00
最早挖比特幣的,也是存在自己電腦吧?意思應該差不多
作者: deangood01 (跨斯歐鵝)   2022-11-13 07:18:00
有限seed可以經過KDF變成無限seed' 所以還是無法檢查的

Links booklink

Contact Us: admin [ a t ] ucptt.com