V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xfgk
V2EX  ›  分享创造

一个绝对安全的账户密码管家小程序

  •  
  •   xfgk · 2020-11-27 15:40:44 +08:00 · 8716 次点击
    这是一个创建于 1461 天前的主题,其中的信息可能已经有所发展或是发生改变。
    微信小程序名字: 帐密管家
    1 、服务器存储的是非对称加密后的密文。
    2 、私钥由用户保管,不会上传到服务器。
    3 、公钥由一定的规则生成,跟用户的微信 ID 有关,每个人的公钥都不相同。
    4 、只要微信号不注销,账户密码资料随时可查。
    大家可以试试,完全免费,便利且绝对安全。
    第 1 条附言  ·  2020-11-27 16:50:52 +08:00
    120 条回复    2021-02-02 17:32:26 +08:00
    1  2  
    Tumblr
        1
    Tumblr  
       2020-11-27 15:42:54 +08:00   ❤️ 18
    只有绝对不安全,没有绝对安全。
    chinvo
        2
    chinvo  
       2020-11-27 15:43:57 +08:00 via iPhone
    只要放服务器上就不绝对安全,更何况你这密钥还是和 openid 有关的
    cmdOptionKana
        3
    cmdOptionKana  
       2020-11-27 15:45:11 +08:00 via Android   ❤️ 4
    你做密码软件,自称绝对安全也太不负责任了吧... 提示风险才是更让人信赖的做法。
    301
        4
    301  
       2020-11-27 15:49:22 +08:00 via Android
    啊这,这谁敢用
    xfgk
        5
    xfgk  
    OP
       2020-11-27 15:50:21 +08:00
    @chinvo #2 只是公钥,私钥没人知道
    EasonC
        6
    EasonC  
       2020-11-27 15:51:49 +08:00 via iPhone
    无 github 开源,怎么谈安全
    xfgk
        7
    xfgk  
    OP
       2020-11-27 15:54:04 +08:00
    看来大家疑虑重重呀!
    Tink
        8
    Tink  
       2020-11-27 15:54:09 +08:00
    不敢用
    imn1
        9
    imn1  
       2020-11-27 16:03:37 +08:00
    提醒一下:微信号可改的
    xfgk
        10
    xfgk  
    OP
       2020-11-27 16:38:08 +08:00
    @imn1 #9 人没改就没问题
    xfgk
        11
    xfgk  
    OP
       2020-11-27 16:40:41 +08:00
    谁能告诉我如何上传小程序码的图片?
    xfgk
        12
    xfgk  
    OP
       2020-11-27 16:51:13 +08:00
    Saszr
        13
    Saszr  
       2020-11-27 17:21:09 +08:00
    啊 这... 没多端同步算不上便利,存你服务器你又不是大厂也不安全

    你不如做个基于 keepass 的小程序,我看好像没人做这个。
    RudyS
        14
    RudyS  
       2020-11-27 17:28:33 +08:00
    只有绝对不安全,没有绝对安全。
    xfgk
        15
    xfgk  
    OP
       2020-11-27 17:48:28 +08:00
    @Saszr #13 存在微信服务器的,且都是密文,除非黑客攻破微信服务器,知道你的微信 ID 且知道从 ID 生成公钥的规则,知道你的私钥,否则别想拿到你的明文数据
    xfgk
        16
    xfgk  
    OP
       2020-11-27 17:49:32 +08:00
    @RudyS #14 你觉得哪里不安全可以提出来嘛。
    seanxx
        17
    seanxx  
       2020-11-27 17:53:13 +08:00
    1.绝对安全不成立
    2. 免费的成本最高
    Leonard
        18
    Leonard  
       2020-11-27 17:56:51 +08:00
    因为世界上没有绝对安全的程序……你宣传绝对安全在 V 站就是找杠的
    dbw9580
        19
    dbw9580  
       2020-11-27 18:02:44 +08:00 via Android   ❤️ 1
    首先,
    >只要微信号不注销
    放到现在看这是个很强的前提假设,建议把“只要”改为“只有”

    其次,你说用的是非对称加密,有公钥私钥,但我看到私钥是用户提供的,公钥又和用户 ID 相关,请问用的是什么非对称密码算法可以做到这一点?
    poxiaobbs
        20
    poxiaobbs  
       2020-11-27 18:02:47 +08:00
    没开源,谁知道你存没存 (狗头
    cmdOptionKana
        21
    cmdOptionKana  
       2020-11-27 18:06:44 +08:00   ❤️ 7
    @xfgk #7 不是大家疑虑重重,而是你这个涉及安全方面,如果你懂安全,还自称绝对安全,这很不妥。

    如果你真心认为绝对安全,那就更不妥了,因为这足以证明你不懂安全。
    arthas2234
        22
    arthas2234  
       2020-11-27 18:10:18 +08:00
    没有背书,没有开源,还放在微信上,不敢用
    kuro1
        23
    kuro1  
       2020-11-27 18:14:37 +08:00   ❤️ 1
    未公开算法,没有同行审议,宣称绝对安全。
    说客气点叫缺乏常识。
    wangyadong
        24
    wangyadong  
       2020-11-27 18:35:57 +08:00
    没有绝对安全,只能做到相对安全。
    superrichman
        25
    superrichman  
       2020-11-27 18:43:15 +08:00 via iPhone   ❤️ 2
    缺乏社会的毒打 🐶
    6jiayoung
        26
    6jiayoung  
       2020-11-27 18:46:34 +08:00
    扫码输入 test 123456 试用了一下,emmm....
    全程体验就毫无安全感😂
    yushiro
        27
    yushiro  
       2020-11-27 18:50:25 +08:00 via iPhone
    微信小程序是拿不到微信 id 的,要么你拿到的是 openid,以为是微信 id 。
    其次,数据都是依托于你这个微信小程序,万一哪天小程序的帐号出了点问题,所有信息都遭殃。
    littiefish
        28
    littiefish  
       2020-11-27 19:16:46 +08:00 via iPhone
    不敢用,腾跃啥背景,不知道?
    QUIOA
        29
    QUIOA  
       2020-11-27 19:20:32 +08:00 via Android
    看到微信就散了
    jaynos
        30
    jaynos  
       2020-11-27 19:25:45 +08:00
    小程序你不维护了,那我们的数据咋办
    geelaw
        31
    geelaw  
       2020-11-27 19:28:53 +08:00   ❤️ 6
    > 2 、私钥由用户保管,不会上传到服务器。
    > 3 、公钥由一定的规则生成,跟用户的微信 ID 有关,每个人的公钥都不相同。

    看到这两句话我觉得要么是我太弱了,要么是楼主太强了,至于是哪种,我不知道。

    问题:如何做到安全地生成一对密钥,使用户的微信 ID 可以算出公钥?

    更基本的问题:在这个场景里,用户比其他人多了什么能力,使用户可以算出私钥而其他人不能(根据微信 ID )算出这个用户的私钥?
    leoleoasd
        32
    leoleoasd  
       2020-11-27 19:33:41 +08:00
    刚想发, 看到楼上已经说了
    des
        33
    des  
       2020-11-27 19:34:06 +08:00 via iPhone
    bitwarden 请
    Jirajine
        34
    Jirajine  
       2020-11-27 19:36:39 +08:00 via Android
    我问个问题,用户的用户名 /密码字段有没有进行敏感词过滤?
    如果有,如何保证隐私安全?
    如果没有,哪天就被封了,如何保证可靠?
    lifetimeporn
        35
    lifetimeporn  
       2020-11-27 19:42:08 +08:00 via iPhone   ❤️ 1
    安全行业入行第一句话就是没有绝对的安全,你倒好。
    snw
        36
    snw  
       2020-11-27 19:45:31 +08:00 via Android
    微信账号指不定哪天就被封了,这概率可不低
    tubowen
        37
    tubowen  
       2020-11-27 19:49:25 +08:00 via Android
    我觉得记在本子上比较靠谱😒
    MeteorCat
        38
    MeteorCat  
       2020-11-27 19:57:01 +08:00 via Android   ❤️ 1
    主要不是大厂,没有信用背书,这要是腾讯出的,我出问题直接告腾讯,可能还能获赔呢
    yeqizhang
        39
    yeqizhang  
       2020-11-27 20:04:53 +08:00 via Android
    @MeteorCat 所以我用支付宝的钢铁闸。大厂不说能告它吧,泄露了起码对支付宝影响不好。
    因为使用协议写了不保证绝对安全好像……
    你看大厂都这么写了
    vindurriel
        40
    vindurriel  
       2020-11-27 20:10:34 +08:00 via iPhone
    非常棒 但为什么私钥不能修改? 万一设置私钥的时候被别人看到怎么办?
    james2013
        41
    james2013  
       2020-11-27 20:22:31 +08:00 via Android
    别吹了,代码没有开源,而且微信小程序代码随时可以改。
    楼主你把钱放我这里,绝对安全,10 年再给你
    xfgk
        42
    xfgk  
    OP
       2020-11-27 20:25:50 +08:00 via Android
    @vindurriel 当你把所有保存的账户资料删除后,就可以改私钥。不能随时改是因为私钥涉及到加密的结果。
    xfgk
        43
    xfgk  
    OP
       2020-11-27 20:30:38 +08:00 via Android
    我想请问一下,谁能在一周之内获取到我的数据并且解密出来?需要我的微信 openid 我可以提供出来,除了私钥不告诉你,其他资料随便要。
    vindurriel
        44
    vindurriel  
       2020-11-27 20:36:30 +08:00 via iPhone
    @xfgk 所有账户都删了 还是不能改私钥 feature or bug ?
    xfgk
        45
    xfgk  
    OP
       2020-11-27 20:40:33 +08:00 via Android
    @vindurriel 我测试的时候删完数据就可以改的。如果不行,你可以点击重新进入小程序或者删除小程序后再进来,可以重新设置私钥。。
    xfgk
        46
    xfgk  
    OP
       2020-11-27 20:42:10 +08:00 via Android
    @vindurriel 而且私钥更改功能是准备后期加上的,技术上没难点。看使用人数情况。
    xfgk
        47
    xfgk  
    OP
       2020-11-27 21:07:21 +08:00 via Android
    @geelaw 私钥跟微信数据没关系。而公钥也不是唾手可得。
    laoyur
        48
    laoyur  
       2020-11-27 21:55:55 +08:00
    所以我如果点背被微信封号了,连密码数据库都要丢?
    deplives
        49
    deplives  
       2020-11-28 00:17:14 +08:00 via iPhone
    怎么证明你的绝对安全
    deplives
        50
    deplives  
       2020-11-28 00:26:27 +08:00 via iPhone   ❤️ 4
    看了楼主的#43 楼 满满的一种 “学生时代学了点同龄人不会的皮毛知识就到处显摆的浮夸” 劝楼主沉下心来。你要记住全世界 70 多亿人 你能想到的所有点子早就有人实践过了 况且这玩意儿也没啥技术含量 你要说你实现了类似非对称加密算法这种级别的的这种成就再吹来的急
    而且你的所谓的绝对安全是建立在非对称加密的基础上的 但是现在应该还不能证明这种算法是绝对的安全吧
    Perry
        51
    Perry  
       2020-11-28 00:34:36 +08:00
    1. “存在微信服务器的,且都是密文” 怎么证明都是密文?
    2. 你更新一下小程序,记录用户的私钥,不就能看到所有用户的明文数据了?
    bellchu
        52
    bellchu  
       2020-11-28 00:43:07 +08:00 via iPhone
    说个笑话:绝对安全的微信小程序
    felixcode
        53
    felixcode  
       2020-11-28 01:18:09 +08:00 via Android
    如果 LZ 这么自信,可以悬赏能破解的人嘛
    muzuiget
        54
    muzuiget  
       2020-11-28 01:32:29 +08:00
    这套说辞在这里不管用啊。
    gcyrn
        55
    gcyrn  
       2020-11-28 02:00:42 +08:00 via Android
    这样的轮子真的有必要吗,要访问还要先登录微信,加没有自动填充,真日常用的话不知道哪便利了
    微信内置的话 或许给老一辈用方便点
    nvkou
        56
    nvkou  
       2020-11-28 02:29:03 +08:00 via Android
    我以为 RSA 可被攻破是常识。
    安全问题不是把风险转嫁出去就安全了。

    大内网的今天,这套方案还不一定比自建密钥管理强
    DoctorCat
        57
    DoctorCat  
       2020-11-28 03:38:43 +08:00
    人肉设计了个加密方式,例如 base64(password) 然后约定第 n 个字符串后加一个随机数 , 纯文本存在到网盘就行了,只要不说,鬼知道我是怎么加密的哦 (手动滑稽
    proxychains
        58
    proxychains  
       2020-11-28 03:59:26 +08:00 via Android
    1password 挺好用的啊,数据存在第三方的微信小程序确实不放心
    iConnect
        59
    iConnect  
       2020-11-28 06:53:04 +08:00 via Android   ❤️ 1
    楼主对“安全”是不是有什么误解?
    xiangyuecn
        60
    xiangyuecn  
       2020-11-28 07:07:50 +08:00
    其他的什么安全都不重要, [严重依赖微信] 最大的不安全

    不考虑被微信封小程序?数据全丢?拿到加密数据,脱离微信就无法解密(公钥和微信强相关)?

    泄露几个密码无所谓(反正又不是你一家在泄露),丢了密码那才是最大的问题。
    xfgk
        61
    xfgk  
    OP
       2020-11-28 07:16:02 +08:00 via Android
    说不安全的同学可以试试看能不能拿到我的明文数据。除了私钥不告诉你以外,其他资料随便你要,我都给。你拿到明文数据了,再谈不安全。可以实名赌 1000 包辣条。
    q9OxQg
        62
    q9OxQg  
       2020-11-28 07:37:24 +08:00 via Android
    楼主是好意,技术上我也相信楼主的东西合理安全(绝对安全肯定不可能),但是东西在微信和在祖国母亲的怀抱里,安全程度就大打折扣,微信封起号来也没有什么好商量的。有这么多可以用的服务,1password,lastpassword,开源的有 bitwarden,Keepassx,不放心的在 v2 这种地方大部分自己搭建也行。这小程序存在意义就很小了。
    loading
        63
    loading  
       2020-11-28 07:48:28 +08:00 via Android
    没开源,你明文存会有人知道吗?
    loading
        64
    loading  
       2020-11-28 07:49:28 +08:00 via Android
    其实会用密码管理的人不会用小程序管,而对于尝试的也并没有几个…
    wanyulaowang
        65
    wanyulaowang  
       2020-11-28 08:29:39 +08:00 via Android
    广告法警告,而且放在别人服务器上,我还不如用 Bitwarden 自建服务器呢
    Rehtt
        66
    Rehtt  
       2020-11-28 08:32:34 +08:00   ❤️ 1
    感觉就是学生产物
    xfgk
        67
    xfgk  
    OP
       2020-11-28 08:52:56 +08:00 via Android
    @Rehtt 感觉只是感觉。到现在还没人能拍胸脯说可以拿到这个小程序的明文数据了。
    947211232
        68
    947211232  
       2020-11-28 09:27:58 +08:00
    @xfgk 年轻人,只要有足够利益驱使,黑客黑进 gov 系统都是分分钟的事情,你一个寄托在第三方服务器的第二方服务器程序,何谈绝对安全???
    cnkuner
        69
    cnkuner  
       2020-11-28 09:39:36 +08:00 via Android
    请先把错别字改了,应该是“账”不是“帐”。
    keshi
        70
    keshi  
       2020-11-28 09:44:15 +08:00
    只有相对安全 没有绝对的安全 有关安全和加密的事情都没有绝对的
    xfgk
        71
    xfgk  
    OP
       2020-11-28 09:57:17 +08:00 via Android
    @947211232 不用黑进微信服务器,我直接把存在微信服务器上的密文数据放出来,没我的私钥看看有人能解密吗?让事实来说话不是更好。
    ccc008
        72
    ccc008  
       2020-11-28 10:02:13 +08:00
    @xfgk 安全不完全不光是被获取密码,还包括数据安全。如果用户微信被封号、或者你的小程序因为不可抗力被关闭,数据有没有导出的机制?
    lio444
        73
    lio444  
       2020-11-28 10:40:46 +08:00
    小程序就开始不安全了
    AoEiuV020
        74
    AoEiuV020  
       2020-11-28 10:52:26 +08:00
    要怎么防止你哪天心情不好改改代码把我私钥上传了,
    vector2axis
        75
    vector2axis  
       2020-11-28 11:02:09 +08:00
    你这个没有经过大规模用户的检验
    suyuyu
        76
    suyuyu  
       2020-11-28 11:05:18 +08:00
    上传到服务器还没有我手写小本本上安全
    hahaandyou001
        77
    hahaandyou001  
       2020-11-28 11:10:20 +08:00
    1Password 都不敢这么肯定,微信就算了,忽悠小白还可以,这可是 v 站
    InternetExplorer
        78
    InternetExplorer  
       2020-11-28 11:32:59 +08:00   ❤️ 1
    你们这样跟楼主说没用的,大家一起把这小程序投诉下架了,楼主就体会到数据安全不光是不被窃取,还包括不丢失了
    JeffGe
        79
    JeffGe  
       2020-11-28 11:34:32 +08:00 via Android
    全 v 站用户一周破解不了你的服务就能证明“绝对”安全了?你去民科圈子交流吧,那边适合你
    rap16
        80
    rap16  
       2020-11-28 11:47:10 +08:00
    比 1password 还牛逼???
    rap16
        81
    rap16  
       2020-11-28 11:49:28 +08:00
    @poxiaobbs 开源了也不知道存没存
    lvybupt
        82
    lvybupt  
       2020-11-28 11:50:16 +08:00   ❤️ 4
    密码学里,敢于把算法公开,允许敌手尝试尝试加密( CPA )和用户持有自己的私钥去攻击别人的私钥( CCA )是两种最基本的要求。 而且并不是达到了 CCA,就能号称安全。 只敢放出数据和公钥,流程和生成规则一概不敢公布的方案,默认不安全。

    ID 生成公钥,再产生私钥的方案一般叫做 IBE (基于身份的加密),该类型有一个非常严重的天生缺陷叫“密钥托管问题”,也就是用户得无条件的相信给他产生私钥的“你”。 解决密钥托管,往往采用双服务器或者其他一些方式,楼主这个不自建服务器的小程序甚至都达不到带有密钥托管问题的安全的 IBE 方案应有的安全性。

    @geelaw 你这个头像和 ID 我在知乎上见到过。
    lvybupt
        83
    lvybupt  
       2020-11-28 12:03:23 +08:00   ❤️ 2
    楼主如果没用 IBE,只是普通的公钥加密( RSA,或 ECC ),用 ID 生成公钥替换了原有算法的随机生成,再去算私钥的话,那么公钥生成阶段,方案就已经弱化的穷举都能硬破了。进一步的,密码协议至少也还有前向安全性或者后向安全性要被保证。
    jwenjian
        84
    jwenjian  
       2020-11-28 13:01:45 +08:00
    绝对安全这个说法确实不太合适,如果你想表达的是:私钥只有用户手里有,用户把自己的密码明文用私钥加密,把密文保存起来,这样只要用户的私钥不泄漏,就算有人能黑进微信的服务器把你的应用的云数据库里面的密文拿到,也解不开用户原始的密码明文,而且要在你使用的非对称加密算法不被攻破的前提下,用户的密码明文数据是安全的,那确实没啥大问题。
    ddefewfewf
        85
    ddefewfewf  
       2020-11-28 14:13:02 +08:00
    微信这个软件就不安全 里面的东西何谈安全
    XiLingHost
        86
    XiLingHost  
       2020-11-28 14:39:09 +08:00
    腾讯系的产品本身就不安全啊,你还不如搞个 bitwarden 呢,至少人家开源可以审计
    Varobjs
        87
    Varobjs  
       2020-11-28 15:00:43 +08:00   ❤️ 1
    密码这个问题在 v2 已经是月经贴了。
    chinvo
        88
    chinvo  
       2020-11-28 15:11:05 +08:00
    @geelay #30 @jwenjian #81 他的方案无外乎公钥加密私钥解密或者私钥加密公钥解密

    如果是公钥加密私钥解密, 那么在用户本身不能控制私钥的情况下就是绝对不安全

    如果是私钥加密公钥解密, 那么在公钥是由 openid "推导" 出来的情况下, 恶意用户完全可以推导出任意用户的公钥进行解密

    如果他用的不是 IBE, 而是用了 @lvybupt #80 假设的傻子方法, 私钥的可靠性又会直线下降, 甚至出现私钥可以通过几次尝试就能计算得出的情况.
    chinvo
        89
    chinvo  
       2020-11-28 15:12:58 +08:00
    更何况不管是上面猜测的哪种方法, 作为对程序有绝对控制权的楼主, 都有能力推导出任意用户的公私钥, 甚至不需要通过客户端代码埋雷的方式偷偷上传用户私钥.
    xfgk
        90
    xfgk  
    OP
       2020-11-28 15:42:13 +08:00 via Android
    我只是想方便且安全的保存用户账户密码,当然不要扣字眼说没有绝对安全,这里这么多真的和假的大神,如果不能获取到明文数据,那不就够安全了嘛。说微信封号的、小程序下架的都是钻牛角尖,真那样了又能怎样?丢了密文也无所谓的吧?还有私钥的问题,这个没上传,也不会上传,且无法推导出来。最后,你的密码不一定要写全,比如 123456 的密码,你可以写成 1****6 不是?软件的初衷是方便安全的记录帐密数据,这么做还不够安全?
    v2lhr
        91
    v2lhr  
       2020-11-28 15:50:13 +08:00
    借楼推荐下这个开源的账号密码小程序: https://github.com/aab0/zhanghaozhushou
    JCZ2MkKb5S8ZX9pq
        92
    JCZ2MkKb5S8ZX9pq  
       2020-11-28 15:50:22 +08:00
    只要微信号不注销…… 这个前置条件有点悬

    而且小程序没办法跟系统交互,嵌入浏览器插件估计都要兜圈子,微信登陆不知道通不通用,使用的便利程度也是问题吧。
    xfgk
        93
    xfgk  
    OP
       2020-11-28 15:52:34 +08:00 via Android
    @jwenjian 明白人。。。想拿明文关卡重重,估计没人能做到。而且明文可以部分替换成用户才知道含义的星号,小程序就是图方便和安全。就算我把一条记录的密文放在这里,也没人能解开,这还不够安全吗?
    xfgk
        94
    xfgk  
    OP
       2020-11-28 15:53:50 +08:00 via Android
    @JCZ2MkKb5S8ZX9pq 你的微信会很大概率被腾讯关掉无法登陆吗?真那样你损失的是密文而已,有啥大不了的
    morizawatt
        95
    morizawatt  
       2020-11-28 15:54:40 +08:00
    没有背书 谁敢随便放。
    cmdOptionKana
        96
    cmdOptionKana  
       2020-11-28 15:59:58 +08:00
    @xfgk 如果全世界只有你做的这个密码管理工具,那么一些不太重要的密码,用你这个,安全性是够了。

    但你想想,用户还可以选择 1pass, keepass, lastpass, bitwarden ... 等等,对比而言,站在一个不认识你的普通用户的角度,你这个是不是安全性最低?
    Cielsky
        97
    Cielsky  
       2020-11-28 16:09:58 +08:00
    @InternetExplorer 釜底抽薪👍
    webshe11
        98
    webshe11  
       2020-11-28 16:37:59 +08:00
    这贴子都在首页两天了,有没有闲得蛋疼的 V 友逆一下 wxapkg,随便搞搞教楼主做人
    看楼主这语气像刚学密码学的,算法估计不会太复杂
    (我暂时没空搞,快毕不了业了,来这纯属摸鱼)
    xfgk
        99
    xfgk  
    OP
       2020-11-28 16:42:13 +08:00 via Android
    @webshe11 又来一个言之凿凿然而没空的。
    webshe11
        100
    webshe11  
       2020-11-28 16:55:32 +08:00
    另外上午打开这个小程序随便玩了两下,仅仅从程序功能猜测:
    可能楼主说的“私钥”“公钥”“非对称加密”和我们理解的不太一样,这个“私钥”是用户需要记住并输入的,搞不好就是个对称加密,用“私钥” AES 加密一波,服务端再用微信 ID 对密文再加密一波
    根本用不着 IBE RSA

    另外楼主别 at 我,我是真毕不了业了,另外年龄大了已经不会被激将、激怒了
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5997 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 06:22 · PVG 14:22 · LAX 22:22 · JFK 01:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.