Google 了一圈,发现有一家瑞士制造商专门制作各种网站的硬件级密码器(公司叫做 token2 ),还可以自行编程设置写入它未曾预设的 profile ,比如 GitHub 。
在淘宝搜了一圈,搜到的密码器是专门给企业做内部授权用的,附带服务器侧解决方案,不适用于我这种普通网站 2FA 的普通用户。
京东连卖的都没有。
可能是我的搜索关键词不正确?我是直接搜 TOTP 。所以顺便问问,应该用什么关键字去搜?
我还考虑过海淘密码器,但发现有法规限制(商用密码进口许可清单),需要申请许可证,密码器才可以入境。
我手机也已经安装好相应的 TOTP 应用,备用密码串也已经下载好,但还是想弄一个硬件密码器。
多一个方案总没坏处
感谢大家的评论。如果回帖是想提议换其他方式,这个已经很多人提过了,但我还是更喜欢硬件密码器。就是类似银行密码器的,不必每次都插USB、可按一下按钮直接显示数字的那种。
如果是看着主题描述不顺眼想来抬杠,那就没必要回帖,因为这种回帖不但没给出任何帮助,而且也没任何价值。
1
shyangs 2023-08-23 19:07:25 +08:00
為什麼不用手機,手機硬體你可以海淘美版韓版台版. 手機你可自己寫 APP. 這樣軟硬你都可以放心了吧.
|
2
PerFectTime 2023-08-23 19:08:56 +08:00 via iPhone
totp 的算法不是公开的吗?
|
3
cnbatch OP |
4
swulling 2023-08-23 19:18:08 +08:00 via iPhone
Microsoft Authenticator 软件解决不好么
|
5
cnbatch OP @PerFectTime 算法是公开,但我又不是硬件制造商,也没有硬件制造基础知识,让我动手弄一个硬件 token 实在是……不太现实
|
7
swulling 2023-08-23 19:21:25 +08:00 via iPhone 2
如果要硬件,可以 M5Stack StickC ESP32-PICO Mini
自己开发一个,有现成的 esp32 的库。七八十块钱。 |
9
zhng920823 2023-08-23 19:42:33 +08:00
一个 512MB 内存的 android 手机装个 FreeOTP 就可以了, 不要连接网络
和硬件级别的一样 |
10
cnbatch OP |
11
ahu 2023-08-23 19:51:08 +08:00
Yubikey
|
12
790002517zzy 2023-08-23 19:52:28 +08:00 via Android 2
哈哈哈 这说的不就是网易 10 年前的将军令吗?
|
13
shawndev 2023-08-23 19:55:32 +08:00
找网银 U 盾和网易将军令的制造厂商
|
14
790002517zzy 2023-08-23 19:59:35 +08:00 via Android
实体将军令都淘汰了 用网易将军令 App 代替 你这还要开倒车
|
15
ZhiyuanLin 2023-08-23 20:04:04 +08:00 6
担心续航又信不过软件,那当然是 YubiKey 之类的 U2F 啦,为什么要用过时的 TOTP ?
U2F 对 TOTP 最大的优势就是有针对域名的 anti-phishing. TOTP 如果你连同密码在钓鱼域名输入了,就 game over 了。 U2F 会配合浏览器取得当前请求你 U2F Token 的域名,针对域名签名,域名不对钓鱼也没用。 要用对的域名让你上错的网站,得先给你弄个 SSL CA 在本机,门槛太高了。 |
16
ZhiyuanLin 2023-08-23 20:06:18 +08:00 1
U2F 防止损坏主要靠异地容灾,一次性买 4 个,把你常用的网站能用 U2F 的都绑上,然后随身一个,自家一个,银行保险柜一个,父母家一个。如果有 iCloud ,对部分网站还能开个 iCloud Passkey 。
|
17
cnbatch OP @790002517zzy 我不认为是倒车,原因已经在 3L 讲过了
|
18
790002517zzy 2023-08-23 20:15:47 +08:00 via Android
@cnbatch 其实 App 也可以解决你的问题 网易将军令我用了七八年了 换了很多台手机 账号也没丢
|
19
790002517zzy 2023-08-23 20:16:42 +08:00 via Android
@cnbatch 而且梦幻西游是最不容易盗号的游戏 就是因为有网易将军令
|
20
790002517zzy 2023-08-23 20:18:35 +08:00 via Android
网易将军令是用手机号作为唯一凭证
|
21
infinet 2023-08-23 20:18:53 +08:00 1
感觉硬件 TOTP 的主要问题是对时。手机可以联网或者从基站获取精确时间,如何保证硬件 TOTP 时间不漂得太远?
|
22
JustBecause 2023-08-23 20:34:32 +08:00
15L 说的 YubiKey 不可以吗,挺有名的吧
|
23
zbinlin 2023-08-23 20:35:16 +08:00
TOTP 实际上是用一串字符串(secret key) 算时间戳,你可以把那串字符串打印出来保存
|
24
bobryjosin 2023-08-23 20:46:14 +08:00 1
Yubikey 不就行,也带 TOTP ,随便找一个能安装 yubico authenticator 的设备就可以存取 code ,也可以用 U2F ,完全符合你的要求,而且这玩意挺耐造不需要充电,防止彻底丢了,把 recovery codes 打印出来不就完事了。
|
25
rei4 2023-08-23 20:47:58 +08:00 1
国内如果担心不好买 yubikey 的话, 推荐看一下清华大学 TUNA 协会出的开源硬件密钥 Canokey , 功能没 yubikey 多,胜在开源和便宜。
顺带说下,yubikey 硬件不是开源的哦 |
26
lsilencej 2023-08-23 21:21:50 +08:00
canokey 可以的,我有一个,不过用来给 git 签名和服务器 ssh 验证比较多
|
27
cnbatch OP |
28
cnbatch OP @JustBecause yubikey 除了需要插 USB 这一步比较消耗时间(我家用的是台式机,放在桌子底下,要弯腰蹲下伸头探到主机尾部再插 USB ),还确实挺完美的
|
30
cnbatch OP |
31
Deplay 2023-08-23 22:14:57 +08:00
yubukey ,已经用了快一年
至于你说的 usb 要弯腰的问题,建议买个拓展坞,毕竟也要插 u 盘之类的吧。。。 |
32
YGHMXFAL 2023-08-23 22:27:28 +08:00
开启 TOTP 时让你扫描得那张二维码,你随便找一款开源离线扫码器,解析出字符串,备份这个字符串就行了
只要有这个字符串,你随时随地可以在任何验证器 APP 上重新恢复这个 2FA 实例,因为标准和算法是统一地 你非得执着于一个`硬件`干啥 |
33
YGHMXFAL 2023-08-23 22:28:51 +08:00
甚至你都不需要解析,直接顺手截图,备份这个二维码图片就行了
|
34
cnbatch OP @Deplay 原本有两个 USB 扩展 hub 的,都被我的可乐泡坏了(个人坏习惯,在电脑前喝可乐,试过几次不小心碰翻),然后就懒得买…
|
35
wizardyhnr 2023-08-23 22:45:39 +08:00
Canokey?
|
36
mooyo 2023-08-23 22:46:57 +08:00
yubikey
|
37
cnbatch OP |
38
sonnyclarity492 2023-08-23 22:50:57 +08:00
|
39
ahbicj 2023-08-23 22:51:30 +08:00 via Android
把 key 拿到打印出来,标准算法的重新导入就完事了呀😢
|
40
sonnyclarity492 2023-08-23 22:52:11 +08:00
|
41
deorth 2023-08-23 22:53:56 +08:00 via Android
如无必要,勿增实体
|
42
xiaozecn 2023-08-23 23:00:06 +08:00 via Android
1password 也行,扩展装 beta 版本。
|
43
rekulas 2023-08-23 23:21:20 +08:00
说实话完全没必要,而且你也不可能买到这种设备
手机备份一个, 电脑也可以记录一个例如 https://del-xiong.github.io/web-2fa/?code=yourcodehere 如果不放心也可以用密码软件自动记录 如果你手机电脑的都出问题了,那你应该担心的也不是 TOTP 了 |
44
kidding 2023-08-24 03:09:22 +08:00
yubikey 我记得可以存 TOTP 的,手机上装个软件就行。
|
46
t123yh 2023-08-24 06:43:22 +08:00
CanoKey
|
48
BwNVlwSq 2023-08-24 08:48:59 +08:00 via iPhone
Passkey 可以用起来了。
|
49
liuidetmks 2023-08-24 09:09:04 +08:00
yubikey ,可惜了,没有 5 刀的车了
|
50
xausky 2023-08-24 09:18:13 +08:00
bitwarden 买会员或者自建服务器都支持 TOTP ,几乎支持所有设备
|
51
ShadowPower 2023-08-24 09:46:51 +08:00
|
52
0312birdzhang 2023-08-24 09:52:17 +08:00
i 。。。iPhone
|
53
JustSong 2023-08-24 09:57:12 +08:00 via Android
信不过软件可以在多个设备上搞嘛
|
54
mercurylanded 2023-08-24 09:59:33 +08:00
|
55
Yadomin 2023-08-24 10:21:52 +08:00
stm32 板子 + LCD 数字液晶屏幕就完了吧
|
56
msg7086 2023-08-24 10:29:28 +08:00
TOTP ,每个网站的初始秘钥都不一样。那么你要么每个网站都买一个设备,要么这个设备得支持查看不同网站的码。
那么你就有两种选择,一是硬件上做上按钮加显示屏,每次要用的时候按钮找到要登录的网站,然后让他输入。 另一种是用 App ,在 App 里选择或者匹配网站,连接到硬件秘钥取码。 前者成本高,用起来困难(假设你 key 插在显示器或者笔记本上,每次用还要凑上去摁啊摁),后者的话和软件实现的 TOTP 又有多大区别呢,总要装 App 。 |
57
MrDavidJones 2023-08-24 10:34:50 +08:00
google Authenticator
|
58
christin 2023-08-24 10:44:30 +08:00
现在 GitHub 也支持 passkey 了,我选择把 passkey 添加到手机,登录的时候扫一扫就可以了。
|
60
yihy8023 2023-08-24 11:30:08 +08:00
我用的 1password+YubiKey nfc 。YubiKey 直接 passkey 或者硬件令牌,存 totp 倒是不怎么用。然后就是多整几个不怕损坏、丢失。YubiKey 能设置 pin 来避免插上就能用。
|
61
cnbatch OP @mercurylanded 不行,我不但用 Chome ,也用 Firefox 的。有时还会在虚拟机内登录 GitHub ,而虚拟机的浏览器不安装任何插件。
|
62
imnpc 2023-08-24 13:35:35 +08:00
YUBIKEY 现在都是 FIDO 2 协议了,不推荐 TOTP 了,最新的是 PASSKEY 技术,支持手机和硬件密钥,
国内主要是 飞天诚信 在做,他们美国公司给谷歌代工的部分泰坦密钥. |
63
mdn 2023-08-24 13:38:59 +08:00
建议云存储,个人的任何存储都可能遇到意外,如果没有容灾备份,丢了就真丢了
iCloud 钥匙串 / bitwarden / 1password 等密码管理工具都能存 totp |
64
cnbatch OP @msg7086 感谢提醒,目前我就只有 GitHub 启用了 TOTP 的 2FA ,其它网站暂时还没使用到。所以成本也不算高。
如果以后连同其它网站都有用到,那就陆续慢慢买硬件 token 也没关系。 我打算到时候找一块板条,把这些硬件密码器贴上去,一来方便使用,二来还可以当作装饰品 |
66
mdn 2023-08-24 13:56:30 +08:00
@cnbatch #65 👍,二维码其实不用打印,二维码 === 密钥,打印一个就行,最好是密钥,打印的东西久了不知道会不会模糊不清,密钥文字模糊了还能大概猜下
|
68
mxT52CRuqR6o5 2023-08-24 14:05:15 +08:00 via Android 1
现在手机是这样的,我现在做很多事情都绕不开手机,我都不确定我手机坏了之后还有没有能力自己下单买个新手机
|
71
sss15 2023-08-24 14:27:36 +08:00
简单用了一下,有个问题,从服务器上下载了文件在下载列表不能打开文件,也不能跳转到目标文件夹,下载的时候也没让我选择文件夹,下载这块功能可能要重新考虑下
|
73
conky 2023-08-24 14:28:36 +08:00
yubikey
|
74
mdn 2023-08-24 14:40:16 +08:00
@cnbatch #70 真需要这么多备份吗?后面会不会忘记那儿有备份文件?我是嫌麻烦 TOTP 和 recovery-codes 直接扔自建 bitwarden ,12 小时备份一次 bitwarden 数据库
|
75
FrankHB 2023-08-24 14:47:27 +08:00
TOTP 2FA 又不是没 PC 的解决方案。
你只是担心硬件损坏而不是泄漏被还原的问题,为什么要考虑非要硬件载体?而且一个手机不行大不了多买几个备用机呗,又不会比专用硬件贵。 而且说实话如果不是自己手搓的,我反而不大信任一般的硬件。瑞士在这块名气大是因为隐私保护法完善,可不表示技术实现一定靠谱。Crypto AG 也是瑞士的吧,被 CIA 窃听几年了…… |
77
cnbatch OP @FrankHB 为什么不能非要硬件载体?我喜欢。
手机无论有多少备用机,我总会忘记充电。更何况手机体积远比硬件机 token 大得多,再来几台手机那简直使我感到十分反感。 至于信不信任,我自己觉得信任就行了(反正又不是你用)。至于 CIA 什么的,我可不认为我有什么值得被外国机构视奸的价值,更何况硬件密码器是离线使用的。 还有,我在原文提到“瑞士”单纯是因为我就只找到有瑞士企业,没找到有其他境外国家有企业在做这件事,包括但不限于英国、德国、法国、爱尔兰、意大利、奥地利、希腊(等一众欧盟国家)、美国、加拿大、墨西哥、巴西、智利、巴拉圭(等一众美洲国家)、日本、韩国、越南、泰国、印度、新加坡、马来西亚(等一众亚洲国家)、非洲各国家。 不要以为我是专门为了“瑞士”名头而专门选择。 |
78
tool2d 2023-08-24 15:05:01 +08:00 1
就是一个带上密码和时间戳的哈希算法,不超过 20 行代码,被你们搞的那么复杂。
我都是随手写一个工具来查看。 |
79
THESDZ 2023-08-24 15:06:30 +08:00
|
80
THESDZ 2023-08-24 15:06:46 +08:00
|
81
ShuWei 2023-08-24 15:23:25 +08:00
up 那所谓的不用手机的理由,就好比........,好吧,实在想不出什么合适的类比,没电了可以充电,屏幕碎了可以修一下,装个可以同步 token 的 app ,手机坏了的时候临时通过其他设备查看一下,等等之类,硬要把钻窄胡同认为是一种牛逼,实在想不通一般场景下有什么必须、立刻、马上、一分钟都等不了的要 otp 的需求
|
82
cnbatch OP @ShuWei 手机没电要去充电,原本是为了方便自己结果一个没电耽误了几分钟(插充电器充电,然后去找备用方案生成密码),说实话我一点都不喜欢这样。
屏幕碎了要去修,真以为不需要钱不需要时间?我觉得你一定没遇到过手机碎屏的状况,而我真实遇到过,还为此付出了几百元现金,外加两天半的旧手机无法使用的麻烦。我也很不喜欢这样。 然后就像我前面说过的,弄那么多手机太占地方了,硬件密码器的体积远远远远小于手机。我同样很不喜欢为了看个密码就放着一堆大砖头。 你想不通需求没什么奇怪的,因为这单纯就是“我喜欢”,不能立即能够拿到 otp 时我很不爽。就这么简单。 |
83
vueli 2023-08-24 16:11:19 +08:00
|
85
x86 2023-08-24 16:33:37 +08:00
硬件也存在坏的风险呀
|
86
cnbatch OP @zbowen66 屏幕碎掉期间我被迫使用备用机,社交软件没法用,不过我可无所谓,反正电话号码能打。
然而换手机这个过程很耽误时间,我不爽。你咋非要杠飞鸽传书这么不友好。 |
88
touchmii 2023-08-24 16:54:21 +08:00
谷歌有一个 rust 开发的开源固件, 使用 nrf 系列的设备可以支持, 不缺钱就直接买 yubico.
|
89
cnbatch OP |
90
2218675712 2023-08-24 17:03:06 +08:00
@cnbatch 找到购买途径了吗
|
91
Shazoo 2023-08-24 17:05:27 +08:00
我用的 FreeOTP ,然后备份加密后丢网盘。
|
92
HFX3389 2023-08-24 17:07:32 +08:00
话说 YubiKey 这类东西如果坏了或丢了咋整....:D
|
93
laydown 2023-08-24 17:15:25 +08:00 via Android
杞人忧天。字符串保存好做好备份就行。一个设备担心损坏和没电,多个设备就行了,实在不行就买个专门的硬件,可硬件也要电或者插入设备啊,不会坏和没电吗,是不是另一套担心也来了。话说,楼主整天输这种验证码 N 次吗?
|
94
cnbatch OP @laydown 我都已经重复说了很多次了,多个设备的缺点,无异于砖头,砖头,砖头
所以我才想买专门的硬件(标题就说了),所以问题就是,哪里买 不需要插设备,有电就行(比如内置纽扣电池),坏掉也没关系,硬件密码器体积远比手机小可以多弄几个(这一段,我也重复说过好几次了) 我需要输入几次并不是重点,重点在于我喜欢一按即来,哪怕频率低到只有一年一次。单纯的个人喜好。 |
95
ShuWei 2023-08-24 17:28:53 +08:00
@cnbatch #82 你喜欢,一定是你对。不过,作为程序员,随便就允许手机没电,而且没有备用的手机或电脑,这也是挺迷的,所以我还是坚持我之前表达的观点,请勿再回贴讨论,没意义。
|
97
cnbatch OP @ShuWei 我当然不会允许手机没电,但也很不愿意使用次数不可测的行为依附于专用的手机,因为这样会导致手机要么长时间插电,要么搞个定时插座(这更加麻烦,增加一堆砖头)。
至于依赖自己的手机,还是不爽,为了看个验证码我居然还得解锁手机点开 App 才能看得到,太麻烦了。我喜欢桌面上有个按钮一按就出来。 备用手机和电脑当然有,我只是不爽因此而造成时间拖延而已。 |
98
adoal 2023-08-24 17:43:35 +08:00
为啥国内没有?因为连在 V2 这种开发/运维人员密度很高的社区里都会有很多 V 友针对你喜欢 TOTP 硬件而不喜欢手机的执念劈头盖脸教育你矫情……可见对个人用户来说这玩意真的不符合天朝国情。
|
99
cnbatch OP |
100
adoal 2023-08-24 17:45:52 +08:00
所以还是学点单片机自己做吧。我记得不久之前看 V 友用 ESP32-C3 自己做了个硬件的 SSH key agent 设备。
|