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

写了一个在线消息加密储存的工具,支持 Markdown

  •  1
     
  •   KasuganoSoras ·
    kasuganosoras · 2018-12-27 23:27:28 +08:00 · 2407 次点击
    这是一个创建于 2156 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这是我开发的一个小工具,用于做在线消息加密储存服务,你可以把一段内容加密存到服务器上,只有拥有 Key 的人可以解密你的消息。

    虽然感觉很鸡肋,也有很多类似的工具,但是创造总是好的嘛,这个就算是没事干做的一个作品了。

    它可以用来干什么呢?

    • 用它来给你喜欢的人发悄悄话?(雾
    • 用来做备忘录,或者可以用来存一段代码等等。
    • 日常备忘功能,记录一些文本。
    • 支持 Markdown 语法。
    • 支持生成链接(需要登录 Sakura Frp 账号)

    这个工具需要收费吗?

    不需要,这是个免费的工具。

    储存消息功能需要登录,而加密解密是无需登录的。

    我储存的数据安全吗?

    安全,你的消息会以 AES-256-CFB 的方式进行加密,服务器上不会储存你用于加密的 Key,因此请妥善保管自己的 Key,丢失或遗忘后将无法解密。

    什么内容都可以存吗?

    理论上是的,但是如果用于储存违反法律法规的内容是不允许的。

    虽然我不能解密内容,但是如果接到投诉或举报的话,经过证实后,内容是会被删除的。

    可以保存多长的时间?

    理论上永久储存,我维护多长时间就能保存多长时间。

    工具的地址在哪里呢?

    https://www.zerobbs.net/aes.php

    还没有弄正式域名,临时凑合着用吧,到时候换了新域名会做 301 跳转的。

    新的域名预定为:msg.ssr.vin / msg.ssr.wine (截止发帖暂未解析)

    感谢支持。

    第 1 条附言  ·  2018-12-28 13:34:06 +08:00

    现在新的域名已经可用:https://msg.ssr.wine/

    加密已经改为前端加密,抛弃了之前的后端加密,目前使用 Crypto-Js

    Markdown 解析也改为了 showdown js 前端解析 Markdown

    明文将完全不会进入到后端或者其他地方,保障安全性。

    新的短链接改为 https://msg.ssr.wine/m/id

    19 条回复    2018-12-29 15:09:16 +08:00
    takato
        1
    takato  
       2018-12-28 01:53:14 +08:00
    原文中提到:
    “虽然我不能解密内容,但是如果接到投诉或举报的话,经过证实后,内容是会被删除的。”

    如何证实呢= =?难道有存储密钥的后门吗?
    vHypnos
        2
    vHypnos  
       2018-12-28 02:31:02 +08:00
    更大的问题是,如果没有密钥,谁会去举报。有密钥的人也不会去举报吧。
    KasuganoSoras
        3
    KasuganoSoras  
    OP
       2018-12-28 02:53:02 +08:00
    @takato 证实需要举报者提供密钥,不允许放违反法律的内容是因为服务器在国内,如果在国外的话我都懒得去管……
    takato
        4
    takato  
       2018-12-28 03:34:51 +08:00
    呃。。为什么我点加密要 POST aes.php?s=encrypt 这个 URI

    并且 FormData 里还有我输入的 key 和 data
    KasuganoSoras
        5
    KasuganoSoras  
    OP
       2018-12-28 03:38:37 +08:00
    @takato 因为我不会写 js 加密 aes ( 摊手
    takato
        6
    takato  
       2018-12-28 03:45:16 +08:00
    @KasuganoSoras 好吧,这会让人担心服务器端的黑盒留存了信息= =...
    geelaw
        7
    geelaw  
       2018-12-28 04:04:22 +08:00 via iPhone
    @KasuganoSoras 你确定国内的服务器不用明文存内容一段时间以备审查吗?
    zk123
        8
    zk123  
       2018-12-28 07:57:17 +08:00 via iPhone
    我选择非对称加密,放在哪里都不会被破解,只有自己能看。
    ZE3kr
        9
    ZE3kr  
       2018-12-28 08:10:09 +08:00 via iPhone
    js 有 Web Cryptography API。如果不是在前端加密的话,还是不放心
    KasuganoSoras
        10
    KasuganoSoras  
    OP
       2018-12-28 11:46:56 +08:00 via Android
    @ZE3kr 有空我去研究一下前端加密,谢了
    rekulas
        11
    rekulas  
       2018-12-28 11:48:07 +08:00
    这个感觉很多了,另外要做非对称加密居然用后端就有点不可理解了,js 加密库直接调,aes des sha Hmac 几行语句就搞定了
    noli
        12
    noli  
       2018-12-28 13:25:01 +08:00 via iPhone
    作者应该是没有认真考虑过安全问题的,不建议安全要求高的使用场景。

    作者可以考虑把这个作品向更精准的人群推广,虽然我也不知道有什么人会用,但这起码说明还有改善设计的空间,之后才能瞄准真正的需求。
    KasuganoSoras
        13
    KasuganoSoras  
    OP
       2018-12-28 13:38:46 +08:00
    附上一个测试用的永久链接: https://msg.ssr.wine/m/13
    KasuganoSoras
        14
    KasuganoSoras  
    OP
       2018-12-28 13:38:56 +08:00
    密钥是 test
    KasuganoSoras
        15
    KasuganoSoras  
    OP
       2018-12-28 14:08:12 +08:00 via Android
    @noli 嗯,一开始只是做着玩的,没想太多,现在已经改为前端加密了,安全性应该是足够的
    noli
        16
    noli  
       2018-12-28 15:43:41 +08:00
    @KasuganoSoras #15

    我来提几个可能的安全弱点,既然你认为自己的安全性是够的话:

    1. 用了什么加密算法来存储用户的密钥?如何判断用户的密钥正确如否?
    2. 密文是直接发送到客户端之后解密的,是否考虑过如何抵御字典攻击?
    KasuganoSoras
        17
    KasuganoSoras  
    OP
       2018-12-28 22:36:45 +08:00 via Android
    @noli 密钥不储存,只储存密文,判断是否解密成功只需要 js 一个 try catch,因为 Crypto-Js 解密失败会抛出一个 Exception
    字典攻击的话暂时没想到更好的解决办法,只能通过设置更复杂的密钥或者加盐来增加破解难度。
    Rcnaec
        18
    Rcnaec  
       2018-12-29 01:33:10 +08:00
    mark
    76
        19
    76  
       2018-12-29 15:09:16 +08:00
    跟国外这个类似 https://encipher.it/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5639 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 06:30 · PVG 14:30 · LAX 22:30 · JFK 01:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.