真事。
这个小程序是我大四的时候做的,用于记录自己的各种密码,但是数据只支持保存在本地。我媳妇也一直在用这个小程序,媳妇是做新媒体的,各种账号很多(应该保存了有四五十多个了),最近媳妇要换手机,但是数据没法迁移,因此直接推动了我重构了这个小程序。(当然我自己也一直有重构的想法,因为我自己也在用,且原来界面很丑!)
重构了之后支持云端存储数据。数据存储使用的是腾讯的云开发免费额度,有 2G,对于一个家庭来说完全足够了。数据加密方式支持使用 AES 和国密 SM4,加密密钥是主密码。
欢迎广大 V 友来体验哈!
小程序名称:账号助手。
小程序码:
1
wqh0109663 2020-10-04 14:12:15 +08:00 via iPhone 32
现实是我觉得应该没人敢用 除非能看到源码 鬼知道你有没有坑人啊
|
2
Cielsky 2020-10-04 14:13:16 +08:00
keepass 不好用,非得用不能跨平台的微信吗
|
4
v2lhr OP @wqh0109663 主要是自用的,可以支持私有部署哈,就是自己拥有一个自己的账号密码小程序。
|
5
villivateur 2020-10-04 14:26:23 +08:00 via Android
小程序数据对微信都是透明的,除非用户同时信任你和
|
6
villivateur 2020-10-04 14:26:34 +08:00 via Android
腾讯,不然不敢用的
|
8
gyh 2020-10-04 14:29:37 +08:00 via iPhone
bitwarden 可以用自建服务器
|
9
chotow 2020-10-04 14:30:43 +08:00 via iPhone
支持楼主的动手能力,不过还是吐槽一句,小程序并不友好,非要自己动手就自建 Bitwarden 。
|
10
v2lhr OP @villivateur 是的,但是使用 1password,keepass,lastpass,enpass,bitwarden 也是需要先信任这些产品的。我这小程序支持私有部署,不需要信任我,信任腾讯就可以了。还有数据都是加密的。
|
13
v2han 2020-10-04 14:44:10 +08:00
对我感觉有用!
|
14
mokeyjay 2020-10-04 14:45:07 +08:00
想法是好的,不过不开源怕是没其他人敢用
另外,设置主密码时是不是最好再让确认输入一次啊? |
15
zhiyzellda 2020-10-04 14:50:22 +08:00 via Android
可以用来存其他的扣扣号密码,和美团密码,58 密码。企鹅系的只存在企鹅系,非企鹅系的不可能敢存小程序里。
|
16
v2lhr OP @zhiyzellda 听起来是这样好像安全,但是细想这没道理呀😂,你要是使用微信和微信支付的话,是完全需要信任腾讯的
|
18
icegaze 2020-10-04 15:23:46 +08:00 via Android
keepass 不是可以用在本地存储和 smb 存储上面么?基本上就是私有了啊?
|
19
marvinemao 2020-10-04 16:11:20 +08:00 via iPhone
|
20
Maskeney 2020-10-04 16:20:17 +08:00 9
@v2lhr 服务器在外国才更值得信任吧,君不知把数据放在与当地政 /府关系不好的公司手里会让你的数据更安全么?敌人的敌人就是朋友啊
|
21
tanranran 2020-10-04 16:20:40 +08:00 1
|
22
Maskeney 2020-10-04 16:21:12 +08:00 6
另外信任腾讯才是个笑话好吧
|
23
wangdefu 2020-10-04 17:06:42 +08:00 via Android
不明白 keepass 怎么不好
密码在本地 |
24
chitanda 2020-10-04 18:54:29 +08:00 1
就像我把 iCloud 转到美区一样,这种敏感数据不敢放在国产的服务里面,因为他们必须遵守网络安全发
|
25
jerryrib 2020-10-04 19:04:02 +08:00
Bitwarden 自建+定时备份到 U 盘
|
26
Jirajine 2020-10-04 19:08:20 +08:00 via Android 20
楼主也是个奇才,连国外都不信任,却信任腾讯。。
|
27
ochatokori 2020-10-04 19:21:44 +08:00 via Android
@v2lhr 并不是你支持私有部署就能信用你的小程序
主要是小程序是热更新的,第一个版本没问题,用户私有部署之后,你可以之后热更新在小程序插入代码偷走用户的账户密码 |
28
dingwen07 2020-10-04 19:22:48 +08:00 via iPhone
小程序能有持久性本地存储吗?
不管怎么样不会信任微信来存储账号密码的,万一被封号了就惨了 |
29
geniussoft 2020-10-04 19:30:07 +08:00 via iPhone 2
放腾讯里,还能安全了?
管你怎么加密的,你显示和复制的时候都是明文,还能放过你么... 连游戏里都能收集酸酸的配置信息,这种公司... |
30
Vhc001 2020-10-04 19:34:46 +08:00 2
楼主在 3 楼说的话把我逗笑了
|
33
xiao201261 2020-10-04 20:37:14 +08:00
这种隐私类的小程序还是算了
|
35
Jirajine 2020-10-04 20:43:30 +08:00 via Android 3
|
36
v2lhr OP @xiao201261 私人部署哈
|
37
laydown 2020-10-04 22:55:19 +08:00 1
楼主勇气可嘉。
可是 微信被封,密码焉在? |
38
v2lhr OP @laydown 第一点,正确使用微信哈。第二,自己申请的小程序,据我了解保留云开发的 token 即可,通过后台能拿到加密的数据。
|
40
xsesjia 2020-10-04 23:43:09 +08:00 via iPhone 2
笑死了
|
42
chensuifu 2020-10-05 00:17:10 +08:00 via iPad
楼主应该发在推广节点,看了 13 楼跟你的互动,就是推自己的公众号罢了。当个水军都不专业。
|
43
wevsty 2020-10-05 00:32:36 +08:00
我觉得说了这么多应该是没人敢用的。
|
45
tomari 2020-10-05 01:22:15 +08:00
感觉打不过竞品啊
|
46
henvm 2020-10-05 03:28:58 +08:00 via Android
好了,知道你有媳妇了
|
47
reiayanami 2020-10-05 06:58:04 +08:00 2
特意来围观信任腾讯的楼主。
|
48
wowodavid 2020-10-05 06:58:25 +08:00
你这玩意还不如把密码直接贴到微信对话框里保存呢
|
49
nVoxel 2020-10-05 07:36:34 +08:00 via Android
导出导入在小程序里能做么?
|
50
viator42 2020-10-05 07:52:32 +08:00 via Android
安不安全不说,小程序本身用起来就够麻烦的
|
51
Mijjj 2020-10-05 07:52:46 +08:00 via iPhone
@v2lhr #38
怎么使用微信才算正确使用,我感觉使用微信就是最大的不可控因素...那么多封号案例你也不是没见过,有的人钱都取不出来,更何况你的个人数据? |
52
designer 2020-10-05 08:23:04 +08:00 via iPhone 2
楼主 为了推广自己的项目 哗众取宠
|
53
masker 2020-10-05 08:23:50 +08:00 via Android 2
你就和你媳妇俩人自己用不就得了,这种私人的会有几个人会用
|
54
wyatt1e34 2020-10-05 08:44:40 +08:00
密码这种强安全和隐私的怎么会想到放小程序。。。
|
55
foMM 2020-10-05 08:49:30 +08:00 1
想起前不久的新闻“21 岁男子因微信被封号影响做生意,多次申诉无果后从腾讯用户接待中心坠亡”,密码这种东西还是用别的更可信的保存吧……
|
56
kenvix 2020-10-05 08:52:40 +08:00 via Android
您是觉得 Bitwarden 和 KeePass 不好用?还是想要推广自己的小程序?还是想要骗取用户密码?
|
57
lei311 2020-10-05 08:53:45 +08:00 via Android
腾讯云的免费存储是只有小程序能用吗?我有一个自己的账本应用,也想搞个云存储,买个服务器吧又不值当的
|
58
anonymous2022 2020-10-05 10:08:42 +08:00 via iPhone
@Maskeney 我是把 bitwarden 部署在腾讯云上,那是不是部署在 gcp 上更合适一点...
|
59
v2lhr OP @kenvix 我不习惯用这俩,这个小程序我是希望自用的,骗取用户密码更没必要了,我是希望每个人都可以拥有个自己密码管理小程序。
|
62
v2lhr OP @anonymous2022 请问部署到腾讯云每年要花多少钱
|
63
anonymous2022 2020-10-05 10:41:19 +08:00 via iPhone
@v2lhr 腾讯云新用户,1C2G1M,上淘宝,79 一年
|
64
kokutou 2020-10-05 10:42:27 +08:00 4
在这装傻白甜...
当大家都是傻子么... |
66
cmdOptionKana 2020-10-05 10:47:13 +08:00
@v2lhr 选择自己部署通常不会只部署一个服务,各种个人自用的小服务都可以放上去,是要花点钱,但玩法也多,而且可控性强,如果选择外国服务器,还可以顺便用来翻墙。
|
67
cmdOptionKana 2020-10-05 10:49:58 +08:00
@lei311 可以考虑买个境外的 vps,账本、密码管理、翻墙、个人 blog 等等,各种东西都放上去,这样看起来就不算很贵了。
|
68
FradSer 2020-10-05 11:05:27 +08:00 1
我对信息安全的定义:服务商无法看到我的数据。
大佬对信息安全的定义:服务商不会偷偷转走我的钱。 你看这就是境界的不同。 |
71
charten 2020-10-05 12:00:57 +08:00
给个建议,做成那种类似 gitlab 安装包的模式,提供给普通用户自己部署(利用微信提供的免费空间)。
|
72
felixcode 2020-10-05 12:02:55 +08:00 via Android 1
LZ 这样的标题应该发朋友圈,很多人会赞你的
|
75
aeiou520 2020-10-05 12:39:14 +08:00
bitwarden 不香嘛
|
76
Stain5 2020-10-05 12:39:30 +08:00 1
国密 SM4 。。。。
水深火热预定 |
77
coldear 2020-10-05 12:47:46 +08:00
非傻即坏
|
78
roundgis 2020-10-05 13:18:32 +08:00 via Android
代碼經過安全審計了沒?
|
79
blackmirror 2020-10-05 13:18:33 +08:00
账号管理放腾讯,等于白送
|
80
nimab 2020-10-05 13:31:29 +08:00 via Android 1
“信任腾讯”我没忍住,噗一声笑了,是认真的嘛?
|
84
huoshanhui 2020-10-05 15:32:01 +08:00
感谢楼主分享。
|
85
v2lhr OP @huoshanhui 谢谢使用哈🥰
|
86
chenshaoju 2020-10-05 16:22:26 +08:00 17
核心问题在于,你没有办法证明你的小程序不会盗用密码。
退一步讲,假设你不会盗用密码,怎么证明你的数据是加密的,而不是明文存储(或者你的私有密钥(密码)加密的),用户的主密码只是登陆的时候判断一下? 再退一步,假设你是使用用户的主密码加密的,有什么东西能保证客户端向服务器提交主密码的时候,腾讯不会记录、拦截或者遭到 MITM ? 说个案例吧,有个网盘叫 MEGA,主打安全加密。 人家怎么证明安全呢? 1.数据在客户端完成加密。( https://help.mega.nz/webclient/security-and-privacy.html ) 2.开源。( https://github.com/meganz/ ) 3.公司设立在司法体系更加健全的新西兰。 人家拿出了东西证明自己的安全,而不是空口说说而已。 腾讯收集信息是实打实的,去年腾讯旗下一款游戏公开声明会收集包括 SS 配置信息在内的非常多的信息: https://www.solidot.org/story?sid=59369 (这个事情至今很奇怪,发现作弊直接封号就完了为啥要收集这么多信息)。 一个黑箱的系统当然会让注意安全的人怀疑,你相信这个黑箱的系统那是你的事情,但是别人则不一定相信,拿不出干货回应只耍嘴皮子和质疑其他(甚至是开源的)密码管理软件当然会继续被人喷。 Talk is cheap. Show me the code. —— Linus PS:可能因为这么多人喷你,让你觉得受到打击了,但是国内隐私和数据保护做的确不好,先不说各种黑产,个人数据到处卖也不是什么少见的事情,这都 2020 年了,各种垃圾短信你也没少见吧? 安全这个东西,真的很复杂。 |
87
yanqiyu 2020-10-05 16:53:55 +08:00 via Android 1
In reply to #10
Bitwarden 其实也是可以部署私有实例的,并且还开源,全平台,并且支持硬件 key,支持各种自动填充 基于微信小程序除了容易上手(确实是一个大优点)之外没有什么竞争力,让自己的密码在剪切板和微信这样的不安全(指并非为处理密码而加强的设计)的环境走一圈不是什么好事情(读取剪切板不是难事),系统的密码自动填充 API 你又用不了 |
88
SKN133 2020-10-05 17:03:03 +08:00
发现这一神贴也是看楼主发的
细思恐极!用 iPhone 备忘录扫描文件竟被识别内容! https://www.v2ex.com/t/696437 |
90
v2lhr OP @chenshaoju
第一,我的小程序数据加解密密也是在客户端 第二,加密算法实现也是开源 sm4: https://github.com/wechat-miniprogram/sm-crypto/blob/master/src/sm4/index.js aes: https://github.com/brix/crypto-js/blob/develop/src/aes.js 第三,其实我并不希望用户使用我的小程序,而是希望用户独立拥有一个自己的密码管理小程序 第四,小程序有免费云存储额度(理论上可以存到腾讯倒闭) 第五,用户保存的数据受微信和云存储鉴权保护 第六,微信云开发采用的私有协议传输 |
91
foMM 2020-10-05 20:02:18 +08:00
像 lz 脾气这么好的真是少见……
分享自己的劳动成果被喷成这样,一般来说虽不至于恼羞成怒但是也不会好言好语的回复…… |
93
v2lhr OP @ochatokori 小程序不支持热更新,每次更新都需要小程序拥有者提交审核
|
94
chenshaoju 2020-10-05 21:31:01 +08:00
@v2lhr #90 这两个加密库是否开源和证明你是否使用了这两个加密库(以及使用方法)有什么关系吗……?
我通篇没说这两个加密库是否安全,问题是“怎么证明你的数据是加密的”(客户端加密也看不出来,微信小程序没办法在开发工具里方便的查看)。 说白了,就是没开源,一部分人也不知道你的小程序工作情况如何,提出疑问,另一部分人(和)就是不相信腾讯了。 当然,这不是逼你开源,这就是一个交流过程(“不需要信任我”、“信任腾讯就可以了”,这种没有意义),从安全角度来说,开源离线密码管理器的安全性很大程度上是高于在线第三方托管的闭源管理平台。 最近在看一本零信任网络的书,凑巧看到你的这篇帖子被人推(?)了,忍不住说两句。 如有冒犯,还请见谅。 |
95
wevsty 2020-10-05 21:44:29 +08:00 2
看来楼主还是不明白。
对于密码管理器这种东西,安全体现在 2 个维度上。 1 、数据的保密性 1.1 对于数据的保密性,仅有楼主自称采用了什么算法来保证,并没有任何的证明。 只贴个加密库的开源地址是没办法说明任何问题的。 1.2 对这类产品用户同样需要信任开发者 以目前的言行来看谈不上对开发者的信任。 1.3 对操作环境的信任 就跟大家都知道不应该在不信任的环境下输入密码一样。 微信对于公众来说是黑盒无法指定它内部是怎么样实现并且会做什么,而你的程序完全依赖于微信这个黑盒。 大家的回帖已经充分说明了,显然对于注重安全的群体来说是无法信任的。 2 、数据的储存的可靠性 基于数据是加密保存的前提下,数据储存的可靠是另一个问题。 微信云提供的免费空间始终是免费提供给你的,这种免费服务是随时可以取消,不应该把数据的唯一希望寄托于这种免费的服务。 另外有人问微信封号怎么办?你只回答要正确使用微信。绝大多数人都是没办法接受这种答案的,因为封号不封号是不可控的,应该也不会有人愿意以限制自己为条件来使用这个可替代的产品。 一直纠结究竟是国内还是国外的服务可信是没有意义的,因为任何非自己物理上可控制的设备都不可以彻底的信任,这才是数据必须加密储存的原因。 此外还要要预防数据丢失的问题,任何单一的储存介质都是不可信任的,这是基本原则。数据储存在微信云虽然腾讯保证数据的可用性,但是仍然是不应该信任的。数据能否自己导出这个问题楼主你自己并没有说明,就算可以,用户依然无法不依赖于微信来使用,这是个很大的问题。 最后,无论楼主的产品怎么样,被人拿来和其他产品比较是不可避免的。 对比我使用的 KeePass 来看: KeePass 开源。楼主的程序没有开源。 KeePass 针对各种两步验证提供了解决方案(比如:TOTP )。楼主的产品对此毫无说明。 KeePass 针对对密码管理器的各种攻击做了足够多的措施(比如:对抗密码穷举)。楼主的产品对此毫无说明。 KeePass 本身只依赖于操作系统,并且在多种操作系统上都有对其协议的实现。楼主的产品必须依赖于微信。 KeePass 的数据可以多地保存(无论是各种云产品还是存在本地的物理介质上),楼主的程序并没有说明这个问题。 所以说对比各类竞品楼主的产品并没有什么优势。 |
96
v2lhr OP @wevsty 首先很荣幸得到你这么用心的回复。
我对密码安全管理这方面知识比较少,我针对你的回复说明一下吧,但不知道对不对,仅供参考。 第一点,关于开源问题,这个是可以考虑的事情,我的想法是帮用户部署一份代码,当然用户可以看到代码。 第二点,查看到密码需要先登录微信然后输入主密码校验,且云开发还有一套鉴权规则。不知道这可不可以算是两步验证。 第三点,抗穷举问题,小程序的云开发有请求次数限制,应该是每天 3w 请求,超过这个数量会有告警。因此一个小程序只适合家庭用。 第三点,小程序依赖微信,微信依赖操作系统,跟 keepass 直接依赖操作系统,我感觉没啥区别。小程序也可以在 ios, android, win, mac 上运行 第四点,我这个小程序也可以在本地保存, 第五点,加密数据是可以导出的,在小程序开发工具的云管理后台可以看到。 可靠性问题,小程序云开发存储是可以付费的,最低是 30 元每月,家庭用其实也不贵,也有两套云环境。我自个用免费的也足够了。 最后还是会绕回使用者必须信任腾讯服务,就像你信任苹果,windows 和其他密码管理工具和它云服务一样。 |
98
ochatokori 2020-10-05 23:02:29 +08:00 via Android
@v2lhr #92 这就是热更新啊。。
就是说,你可以不需要用户同意就能更新小程序的代码,也就是说,你可以更新的时候往小程序里面插桩,私有部署的用户是不容易发现的,所以密码泄露的风险和能不能私有部署其实是没关系的 |
99
v2lhr OP @ochatokori 自用自用,不建议用户用我的小程序,建议用户自己部署一个,想怎么更新怎么来,还有小程序管理员有权决定用户能否使用云存储
|