1
ryd994 2017-05-02 15:11:26 +08:00 via Android
手机 app 其实安全性和 U 盘存文件也没差了……
还是 USB 智能卡靠谱…… |
2
cppgohan 2017-05-02 15:24:02 +08:00
有趣的应用. 不知道备份容易吗, 不然手机丢掉就又要折腾一波了. (他这个方案是 public 的, 感觉应该已经有现成的了)
另外 1password 感觉也有可能做到这样的功能, 如果他们想的话. (但是缺点就是他的存储不能被完全 trust) @ryd994 usb 智能卡有现成做到的产品吗? 分享个链接? 另外把 ssh private key 放在 keybase 的 filesystem 不知道是否够安全? https://keybase.io/docs/kbfs/understanding_kbfs |
3
fds 2017-05-02 15:27:49 +08:00
不错。之前放在同步盘里也不安全。试试看。
|
5
fds 2017-05-02 15:34:44 +08:00
o 好吧 原来不是管理旧秘钥而是生成个新的然后加到各个地方……
新私钥也不能导出呢,形式上还是比较安全的。 |
6
sampeng 2017-05-02 15:35:46 +08:00
1password 已经够了。。。反正也能保存文件和文字。。。这不是自己折腾自己么。。
|
7
cppgohan 2017-05-02 15:56:27 +08:00
|
9
ryd994 2017-05-02 18:09:41 +08:00 via Android
@cppgohan 很明显不一样,举个例子
如果恶意用户伪造界面中间人,你怎么看得出来? 这里的好处是,相比电脑,手机环境更加可控,所以更安全一点。对很多情况也算得上是 trusted platform 了 智能卡纯硬件,除非有硬件 bug,否则应该很靠谱。 |
10
sampeng 2017-05-02 18:16:32 +08:00
@cppgohan 多一步而已。可以接受。。感觉还是没有解决特别的痛点。。。
况且跨设备登陆。。。无论怎么搞都不安全。还不如 ssh 到一台跳板机集中跳转。 |
11
ryd994 2017-05-02 18:25:48 +08:00 via Android 1
看了他们技术说明,我觉得他们这样做是有问题的。他们试图构建一个安全的文件系统,每次读取要求用户授权,然而文件系统里存的还是普通的 key 文件。那要是 ssh 客户端恶意,完全可以私下保存一份,根本无从控制。
智能卡的优点在于,除了一开始那次 key to card,后面密钥从不被任何卡以外的地方知晓。这是智能卡协议所保证的。要签名的随机数据进,签名过的数据出。只需要保证最初 key to card 的平台可信就好。 而且对安全性要求高的,可以让卡直接内部生成,缺点就是万一丢了,不可能恢复密钥。 |
12
lslqtz 2017-05-02 18:28:29 +08:00
还是 usb key 加密文件靠谱。。
|
13
Lentin 2017-05-02 19:30:27 +08:00
不论安全性这玩意真方便啊,弄个试试~
|
15
honeycomb 2017-05-02 20:50:13 +08:00
@ryd994
智能卡在硬件上能保证私钥写进去以后就读不出来。 Android 在稍微新一些的版本里提供了一个基于硬件的 keystore 接口,但是看上去 Kryptonite 没有使用它 https://source.android.com/security/keystore/features https://developer.android.com/training/articles/keystore.html https://source.android.com/compatibility/android-cdd#9.11. Keys and Credentials |
16
atempcode 2017-05-02 21:14:34 +08:00
@honeycomb 就是用的 keystore:
How is the SSH private key stored on my phone? On iOS, Kryptonite generates a 4096-bit RSA key pair using the Apple iOS Security framework or optionally an Ed25519 key pair using libsodium. Kryptonite stores the private key in the iOS Keychain with accessibility level “ kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly ”. To learn more about the security of Apple cryptography libaries and the Apple iOS Keychain see: https://www.apple.com/business/docs/iOS_Security_Guide.pdf. On Android, Kryptonite generates a 3072-bit RSA key pair (because of the long secure hardware key generation time). The private key is stored in secure hardware called the Android Keystore and cannot be extracted, even by Kryptonite. The Android Keystore performs private key operations as a black box. |
17
Tink 2017-05-02 21:26:09 +08:00
这个和 authy-ssh 差不多?
|
20
AlexaZhou 2017-05-02 21:56:08 +08:00
太棒了。
很久之前我构思过这样的 app,但当时不确定能实现出来,就没有继续下去,现在居然有人把这个做出来了,666。 |
21
AlexaZhou 2017-05-02 22:07:01 +08:00
但好像有一点不足,认证的过程中通讯应该使用了 app 的官方服务器做中转,如果是电脑直接跟手机通讯就完美了(比如使用 蓝牙 BLE )
|
22
sobigfish 2017-05-02 22:24:51 +08:00
私钥之所以 Private 就是不要传输
|
23
LukeXuan 2017-05-02 22:43:28 +08:00
话说既然可以这么认真 ssh 那么 gpg 是不是理论上也可以?
|
24
ryd994 2017-05-02 23:36:34 +08:00 via Android
@Had 鉴权密钥有备用登录途径的话可以这么搞,加密密钥这样搞哪天丢了就全完了。有可信环境的话,生成再导入问题不大,特别是个人,又不是高危人群
|
25
RqPS6rhmP3Nyn3Tm 2017-05-03 05:21:21 +08:00 via iPhone
@cppgohan Yubikey 很好用
|
26
renothing 2017-11-16 00:54:04 +08:00
多此一举。OTP 不就好了吗。只要确保 OTP 设备不掉就 OK。
|