V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  also24  ›  全部回复第 43 页 / 共 286 页
回复总数  5703
1 ... 39  40  41  42  43  44  45  46  47  48 ... 286  
2021-07-04 10:57:02 +08:00
回复了 JasonLaw 创建的主题 程序员 怎么安全地在 web 前端存储私钥?
@unco020511 #17
看内容要参照上下文,不要直接臆测某句话的意思。

『单向的 https 』 指的是 https 只有『单向加密』么?
当然不是,参照上下文可以得出,此处指的是最常使用的,只有『单向认证』的 https,在后面的楼层中,我专门强调了 https 是支持『双向认证』的。

那『加密』和『认证』有什么区别呢?
加密只是用来保证数据在传输的过程中,其它人无法解码。
认证则是为了证明自己是自己。

在最常见的『单向认证』的 https 使用形式中,只对服务器端进行了『认证』。
客户端内置有可信根证书机构的证书信息,服务端持有根证书签发的中间证书签发的服务器证书(大部分场景下,还包含了相应的证书链信息),客户端通过验证服务端的证书,即可确认返回的信息是否确实来自对应的服务端。

也就是,让你确认『你请求的是银行』。

但是此时,银行能通过这个 https 连接信息确认『你是你』么?当然不能,因为每个人都可以这样发起连接。
想要确认『你是你』,就必须通过登录等其它手段来进行验证。

此时,如果引入『双向认证』,也就是客户端也持有一份证书,在 https 握手的时候发给服务端,服务端验证证书可信后才会放行。
在这个场景下,如果每个人持有的证书是独立的,就可以做到银行通过 https 的握手信息就能确认『你是你』。


最后小结:
1 、不要把『加密』和『认证』混淆了,二者虽然有联系,但不等同
2 、最常见的 https 使用方式都是『单向认证』,但不要忽视了『双向认证』的存在
2021-07-04 00:50:07 +08:00
回复了 JasonLaw 创建的主题 程序员 怎么安全地在 web 前端存储私钥?
感谢认可之前的回答,本身不是专门做安全的,可能还有很多纰漏。


具体到本帖的问题,我觉得不妨先定义一下『安全的存储』指的是什么。


首先,『安全的存储』可能是指:让这个私钥不出现在前端代码里。
那可以在用户的登录鉴权的接口中,增加一个字段返回,给每个用户自己专属的私钥。

按这个思路,为了复用这个私钥,需要将其存储在本地,可选 Cookie 或 localStorage 来存储。
此时『安全的存储』可能是指:让这个私钥不被本站之外的其它恶意站点获取。
- 使用 Cookie 方式存储时,正确设置 domain / path / secure 等字段。
- 使用 localStorage 方式存储时,默认只有同源页面可读写。

考虑到 Cookie 会被自动发送,相对来说更建议使用 localStorage 来存储私钥。


但是有些机智的朋友就说了,我打开 DevTools,不就直接看光光了么?
此时『安全的存储』可能是指:不让用户在 DevTools 中看到,或者手动运行 JS 代码获取到。

那就要请出第三方存储了,例如 U 盾等专门存储密钥的东东就是专门干这个的。
使用 U 盾还有一个好处,就是不需要登录鉴权就可以有私钥了,可以同时保护登录接口的安全。


那有些更机智的朋友肯定又想到了,那我直接破解你的 U 盾,导出你的私钥,不又看光光了么?
此时『安全的存储』就愈发变态了,还要考虑到硬件设备被破解的情况。
那可能就要搬出更极端的存储设备了 - 全靠大脑,直接硬背。


那有些搞催眠的朋友……………………
2021-07-02 21:42:52 +08:00
回复了 jatsz2020 创建的主题 问与答 自行车车行调整变速刹车啥的,大概要多少钱?
熟悉的车店一般就不收费了……

店里挂的价格一般是 10~20 元一次。

大部分型号其实自己拿个螺丝刀 /内六角,就能调个差不多
2021-07-02 15:46:13 +08:00
回复了 testcaoy7 创建的主题 硬件 求推荐适合插在 NVME 硬盘盒里面的 NVME 固态?
SN500 500G
SN550 1T
760p
7600p
SN730
2021-07-01 19:13:38 +08:00
回复了 JinTianYi456 创建的主题 Android pm install: install a single legacy package. 那新的技术是啥?
顺藤摸瓜,找了一下这段代码的提交记录:

看一下 commit 就知道了:
Extend pm to support sessions and split APKs.


可见,确实是在加入 split APKs 支持时,将 apk 称为了 legacy package

https://android.googlesource.com/platform/frameworks/base/+/ec55ef0934b8e0d1bb705434947de817f7be57f1%5E%21/cmds/pm/src/com/android/commands/pm/Pm.java
2021-07-01 19:08:26 +08:00
回复了 JinTianYi456 创建的主题 Android pm install: install a single legacy package. 那新的技术是啥?
2021-07-01 18:58:22 +08:00
回复了 JinTianYi456 创建的主题 Android pm install: install a single legacy package. 那新的技术是啥?
@AoEiuV020 #3
补充,在手机上 pm help 也没找到
2021-07-01 18:56:29 +08:00
回复了 JinTianYi456 创建的主题 Android pm install: install a single legacy package. 那新的技术是啥?
@AoEiuV020 #1
同,我在那个页面也没找到 legacy 这个单词
2021-07-01 13:21:43 +08:00
回复了 Amber2011 创建的主题 问与答 物流保价的损失究竟是谁承担的?
说起这个,我想起来我寄的那个主板,顺丰寄出了问题,周一的时候和买家沟通以后拒收了,顺丰到现在也还没联系我……
2021-07-01 00:27:51 +08:00
回复了 someios 创建的主题 问与答 慢收 M2 固态 1T
海康威视 C2000 1T (群联+东芝颗粒版本)( 14T 写入)
600 包邮非偏远

几天前的 SMART
https://ww1.sinaimg.cn/large/760b39b3gy1gs0rbn00dfj20iq0imaby.jpg
1 ... 39  40  41  42  43  44  45  46  47  48 ... 286  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1073 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 141ms · UTC 20:32 · PVG 04:32 · LAX 12:32 · JFK 15:32
Developed with CodeLauncher
♥ Do have faith in what you're doing.