DigiCurrency 板


LINE

注1:这个方法是BTC only,其他币如果有类似的方法,就麻烦其他熟悉的人分享了 注2:虽然严格来说iOS可以透过安装Python环境来安装所需的功能,但麻烦度还是太 高了,建议还是以android为主。 早前在 #1aPU6Qz- 这篇约略提过了关於旧手机、VMware等方法。这篇将更进一步讨论 使用手机可以达成安全的储存方式。 这种方法既方便、又可以在不破坏冷储存的安全性之下正常交易。 或许早前有过PSBT相关的讨论,但因为标题搜寻没有,所以我也就用有标题的方式再提 一下。 ============================================================= PSBTs (Partially signed bitcoin transactions) 是一种把交易的签署给分离开来的交易方式。 听起来很绕名词,让我用最实用的方式解释: 以下所称交易都指"自己要传输BTC给其他人"。 有两个装置,一个连接网路的常用手机A,里面的钱包只有公钥,是"观察者钱包"。 这个钱包可以看到自己所有的余额,可以建立交易,但因为没有私钥,所以不能签署也 不能送出交易。 另一个完全断网的手机B,里面的钱包有公钥私钥,是完整的钱包。 这个装置不联网,看不到余额,不能建立交易,但它可以在完全断网的情况下,对手机A 建立的交易签署,签署好之後由A送出,完成交易。 这种方式让连接网路的手机A正常使用钱包,如果发生任何安全性的事件,也只会被盗走 公钥,钱包就不会被盗走。 ================================================================ 但手机B断网,要怎麽把交易签署好之後回传给手机A呢? 很简单,现在的手机都有相机,透过QR code互相传递就好了。 1. 手机A发起一个PSBT交易之後,产生一个QR code 2. 手机B扫描QR code之後,完成签署,产生一个QR code 3. A扫描B新产生的QR code之後,取得签署,完成交易 只要钱包软体支援这个功能,一支旧手机就可以变身成coldcard。 (不过当然各有利弊,操作会比coldcard便利,但硬体防护可能还是不及coldcard) (实体被盗走的话能被破解,但老实说现在硬体钱包可能也都差不多情况就是... ) 以下用Electrum来举例建立这种环境的方式: 1. 旧手机还原成乾净状态,移除所有不必要的app,安装Electrum,然後断网。 2. 在断网的情况下,用Seed还原钱包。或是更加彻底的话,在断网的情况下建立新 钱包 (还是要记得把Seed抄下来!)。 3. 点选钱包明细,可以看到Master Public Key,这就是你的公钥,点选旁边的分享 会产生一个公钥QR code,稍後要用到。 4. 日常手机安装Electrum,建立钱包的时候选择"从Master Key",扫描公钥QR code。 就这样而已,这样就完成了常用手机上的观察者钱包,以及断网手机安全存放私钥。 至於操作,现在Electrum的介面几乎都简化集约成点下send之後扫描QR code。 所以目前的操作流程应该是: 1. 手机A点Send,扫描要传送出去、接收方的Bitcoin地址QR code,建立交易。 2. 输入转帐额度、费率设定等,然後点选建立成PSBT交易,产生QR code。 3. 手机B点Send,扫描手机A的QR code,完成签署,产生QR code。 4. 手机A点Send,扫描手机B的QR code,取得签署,完成并送出交易。 存放私钥的手机B,基本可以不用再连接网路了,就算Electrum版本更新,B很可能也 不需要更新。 如果真的必须要更新的话,B的钱包先删除掉,连接网路,更新Electrum,断网。然後 在断网的情况下再用Seed复旧钱包。 如果这样使用的话,旧手机的要求更低,甚至只要官方需求的最低版本android 5.0以 上即可。如果旧手机坏了,也随时能取得另外的旧手机,恢复离线私钥的状态。 注: Electrum本身不是BIP 39钱包,所以产生的Seed不能用其他BIP 39钱包复原。 但BIP 39 seed可以再Electrum复原,选择用seed复原钱包的时候,记得要在option 里面打开BIP39选项。 但不需要担心Electrum的官方倒掉之类的,只要你有安装Electrum的软体,就算离线 也可以复原钱包,实际运作是完全不依赖官方。 钱包也会自己找Node,并不必须要Electrum的node,甚至你可以连接自己架设的node。 在各个环节都尽量达成trustless,我个人觉得满好的,虽然GUI有时候有点难用。 後续补充: Electrum不是曾经被hack过吗?我先讲一下Electrum被hack的事件。 2019年的时候,桌面版的Electrum的通知功能被劫持,骇客送出了"软体更新"的通知,该 通知点进去安装的却是骇客的版本,导致有更新的人被盗取私钥。 这是一次钓鱼攻击,但Electrum本身的防护是没有被攻破过的,从2011年至今都没有。 从钓鱼攻击之後,Electrum方面是修正了这个漏洞,但Electrum也鼓励下载桌面版、 Python版的人都要用GPG加上开发者ThomasV的公钥去验证下载的版本正确。 严格来说,安卓版也应该要下载apk与签名回来验证,然後用APK安装。这一篇选择用 play store安装的方式来解说,是相对有取舍的方式。等於是信赖Google以及ThomasV的 Google帐号不会被盗取,并不是非常完美。 但虽说Google play不算完美,却也算是方便性与一定程度的安全性的均衡点,对大多数 的人来说,这种方式建立环境的痛苦度要低很多,也比不验证就下载要安全。 当然,如果看到这边的人愿意去尝试验证、建立这个习惯,确保软体安全性的话,我很 鼓励可以去挖一下相关的内容。如果将来这方面需求多了的话,我也能再写GPG验证相关 的简介。 所以Electrum本身的安全性还是满好的。 不过这当然是我个人的喜好,如果有其他软体钱包也能达到PSBT、也很开源安全的话, 也希望能看有使用经验的人推荐,没有一定要Electrum。 剩下的危险就是旧手机被抢走、实体破解取走私钥。 但那也得要别人知道你这只旧手机放了私钥才行。 所以,如果手中有ledger觉得不再愿意使用的话,也不用丢掉,还有用途。 骇客可以钓鱼攻击,我们也可以啊,旧的ledger当作饵,这样瞄准加密货币的实体窃盗 更有可能盗取这些ledger回去试图破解,而不是那只破烂的旧手机。 把ledger微妙地放在看起来像是很谨慎地藏起来、但又容易被找到的位置,旧手机就和 其他旧品与工具储藏堆在一块就好了... 之类的,这种藏匿与诱饵方式很多变化。 以上是一些个人分享,希望能以最简化的方式呈现相当高强度的安全方式。 如果有什麽问题都可以再讨论,如果内容有错也请多指正,谢谢。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 136.23.35.37 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1684909143.A.63F.html ※ 编辑: azuel (136.23.35.37 台湾), 05/24/2023 14:44:33
1F:推 adamcha: 推 只不过这麽复杂的程序对一般人而言还是太难 05/24 14:44
可能就是对於比较熟悉情况的人会比较有帮助了 ※ 编辑: azuel (136.23.35.37 台湾), 05/24/2023 14:53:05
2F:推 mongala: 类似 airgap wallet/airgap vault app 的功能吗 05/24 14:52
看起来相似,这可能会成为之後安全性的新主流 此後的硬体钱包应该会越来越多导入这种完全离线签署交易的方式 ※ 编辑: azuel (136.23.35.37 台湾), 05/24/2023 14:57:17
3F:推 alumy: 推一个 谢谢分享 05/24 15:00
4F:推 DarkerDuck: Bither APP也支援air gap钱包 05/24 15:08
5F:推 SamuelLuo: 我正要推黑鸭大所说的,比太就支援这个功能,以前没买 05/24 16:29
6F:→ SamuelLuo: 冷钱包时我也用过 05/24 16:29
7F:推 usttsu: 看来只好再买一只iPhone 15 05/24 16:51
8F:推 mini5: 是az大耶!好久没现身了^^ 05/24 18:53
hi~
9F:推 ProtectChu56: 最近刚好看到号称有SE+开源的Keystone有一种假想攻 05/24 19:55
10F:→ ProtectChu56: 击向量是,签署者夹带Seed讯息出去 05/24 19:56
11F:→ ProtectChu56: 同样的问题软体钱包也会有 05/24 19:57
虽然我不太确定手段,不过我想把所有的接点都消除就好了? 这就要把用来签署的那个离线私钥装置给尽量隔离保护好了 不给别人拿走,不拿出去公共场合,使用的时候确保环境安全只有自己一个人 私钥不论网路或是物理都完全隔离掉,签署的时候也完全离线 别的protocol我不太清楚,Bitcoin是用BIP 174规范 上述接点完全割断的话,就只剩下签署好的交易出去、以及会曝露的只有公钥了 ※ 编辑: azuel (136.23.35.37 台湾), 05/24/2023 20:47:10
12F:推 tropotato: 推个 05/24 21:16
13F:推 ProtectChu56: 意思是(恶意)签署者透过某种计划好的pattern在讯息 05/24 22:12
14F:→ ProtectChu56: 一点一滴夹带seed的entropy出去避人耳目 05/24 22:13
15F:→ ProtectChu56: 而(恶意)签属方就靠监听去锁定有价值的地址 05/24 22:13
16F:→ ProtectChu56: 等到足以构成seed的资讯都流出来 05/24 22:14
17F:→ ProtectChu56: 这种钱包攻击向量 在离线签章还是"理论上"存在 05/24 22:15
喔理解,那基本就是依靠对open source的监督了 这种处理在钱包软体还是会留下足迹,有没有加料应该还是颇明显 大方向还是新版本不马上装,一阵子没人叫了之後再opt in 如果真有疑虑的话,就自己从source code去compile了 或是compile出来跟下载的版本比对看看 不过entropy attack难度也太高... 是也有说一个地址过度重复使用也会有这个弱点 实际重现应该相当不容易 感谢分享资讯! ※ 编辑: azuel (136.23.35.37 台湾), 05/24/2023 22:28:24
18F:推 ProtectChu56: 是很偏执没错。大家都想找个能放心睡大觉的钱包 05/24 22:35
19F:→ ProtectChu56: Ledger激发了大家对钱包供应商如果作恶的敏感神经 05/24 22:37
能尽量求好那当然是最好了 有很多的attacking vector以前大家都没有觉得很严重,直到事情爆发 ※ 编辑: azuel (136.23.35.37 台湾), 05/24/2023 22:45:18
20F:推 gajo1564: 推 用别人的终究做不到去信任 自己做最安全但有难度 05/25 01:23
21F:→ gajo1564: 不过再搭配多签或mpc方案或许就很接近目标了 05/25 01:25
自己做也未免太辛苦,写出来的东西可能反而有漏洞 去找一个自己觉得不错的open source然後去review code大概要比自己做来得快 不过那个对我这几篇来说,光谱拉太远了 我主要是希望在容易推广达成的方式里面,去达到合理范围的最大安全度 主要是让看的人容易部署,或是因此有获得一些想法、想到别的适合自己的方式 ※ 编辑: azuel (136.23.35.37 台湾), 05/25/2023 02:28:44
22F:→ Wilson310: 刻在不锈钢板最安全 05/25 08:00
如果离线生成Seed、刻在钢板上的话,好处是自己不容易损毁钢板 但如果只是这样的话,交易的时候还是得在一个连接网路的装置还原私钥 如果这个连接网路的装置是已经被放了间谍软体的话,可能这一瞬间就会丢失私钥 那麽整个钱包就去了 当然如同早前一篇的方法一样,使用装置能确保乾净安全的话,这也是ok的方法 这篇内文的方法重要的地方在於,交易的时候私钥也是完全离线 把连接网路发布交易的那一瞬间的弱点也消除
23F:推 Ayukawayen: 选择明文攻击? 05/25 12:02
24F:推 Ayukawayen: 连网手机如果遭骇,攻击者可能将QRcode置换成攻击者想 05/25 12:06
25F:→ Ayukawayen: 要的内容,举例来说像把钱包余额转到攻击者钱包,因为 05/25 12:07
26F:→ Ayukawayen: 是QRcode肉眼应该也看不出来,然後断网手机签署後,遭 05/25 12:08
27F:→ Ayukawayen: 骇的连网手机取回签署後交易并广播。 05/25 12:08
虽然QR code人类看不懂 但断网手机要签署的时候,看得到要签署的交易内容 经过签署之後,会根据私钥和交易内容生成一个数位签章 在这之後对内容进行任何修改,都会使签章无效,交易也会被视为无效 不过当然还是要对软体方面有一定程度的警戒心 安定且受长期检视的软体就尽量不要在新版本出来的时候马上更新 任何新版本都等待社群检验open source一阵子之後再去使用 除非是跟安全性相关的更新 至少长期存放用的金库钱包在确认安全之前,就尽量不要发起交易这样 嗯... 稍後可能写一下关於钱包安全度分级的事情好了 edited : 突然觉得这个要另外写一篇太懒了,只好鸽一下写个简短版 大方针如下: 1. 确保你用的软体不会在你没使用的时候也rug你,确保的方式大致是 : a. 主流币,我个人的观点是只有主要PoW币和ETH可考虑长期存放,不然整个 protocol都rug掉的话,软体怎样都无济於事。 b. 开源、使用人够多 (自己不会review的话,至少选reviewer会比较多的)。 c. 安全历史够长久,或是发生的安全性事件能理解原因、且已经排除。 2. 分流: a. 通常分两层,一个金库很少动用,一个常用钱包。常用钱包不够的时候, 再从金库提取到常用钱包。 b. 金库钱包也可以分成复数,只有其中一个提领用完了才会使用下一个。 3. 没有一定要只用一种方法,因为每一种方法都是在"方便性"跟"安全性"之间取 舍,所以可以用安全性较高的方式存放金库钱包、用方便性较高的方式作为日 常钱包。 总结就是,没有任何一种方法是不存在任何理论风险,只要减少使用频率就可以 降低大部分的风险事件,要长期保护的部位就减少使用频率就行了。 当然如果是交易小币价差、常常用dapp的话,可能根本就不需要使用金库分级。 这主要是给愿意以年为单位存放长期储蓄的人来考虑。 ※ 编辑: azuel (136.23.34.69 台湾), 05/25/2023 13:00:42
28F:推 ECZEMA: 专业推 原来 electrum 就能作到 05/25 22:07
※ 编辑: azuel (136.23.34.72 台湾), 05/28/2023 16:32:28







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP