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

网上留联系方式的隐私保护尝试

  •  
  •   hyyou2010 · 2022-08-21 04:30:31 +08:00 · 8147 次点击
    这是一个创建于 604 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我看到很多人在网上留联系方式时会先采用 base64 进行编码,这有一定隐私保护效果。

    不过有两个问题。其一,联系方式的 base64 编码是固定的,你在 v 站及别处留的也自然是同一个字符串,那么别人根据你 v 站这个字符串总能搜到你在别处留的相同字符串。

    其二,信息的采集者可能是 hr 或行政文员,他们不一定熟悉 base64 怎么解密,多少要动手点好几下。

    我很早就注意到这个不便,最近正在学习 next.js + tailwindcss ,正好就尝试解决这个不便。

    我的思路是,用随机 key 加密我们的联系方式字符串,这样各处留下的字符串都不同,可以防止别人通过搜索引擎把我们在各处的信息串联起来。其次,采用网址 url 的模式,将加密后的信息及 key 作为参数附在后面,当我们点击这个 url 的时候该页面做解密,这样就 ok 了。

    前几天我比着这个思路写了这么一个项目,我已经将其部署在这里: https://hide-text.vercel.app/

    欢迎大家去尝试一下,并提出意见。

    我这个思路纯属于闭门造车,缺调研和探讨,不一定管用或好用,算是个抛砖引玉吧,期待有更好的思路。

    第 1 条附言  ·  2022-08-21 11:40:16 +08:00
    具体示范下,比如我在 v 站留我的邮箱 [email protected]
    https://hide-text.vercel.app/?c=495b0f202119262270531733261465245f59&k=04zROxKG

    在 reddit 也留我的邮箱 [email protected]
    https://hide-text.vercel.app/?c=033b45230d155d1c3a335d300a181e1a1539&k=zT0Qct0y

    但是别人无法根据 v 站我留的信息发现我还曾在 reddit 某个频道活动过,也即不能从一处找到我在别处的痕迹,这就是目前的思路
    第 2 条附言  ·  2022-08-21 14:55:10 +08:00
    我现在想明白了,之前我表达不够准确,比较准确的说法是:如何防范搜索引擎找出我们的活动痕迹。

    如果我们在各处留下同一个字符串的话,搜索引擎可以全部搜出来。

    所以这个思路就是,在不同的地方留不同的链接字符串,然而点击这些链接都返回同一个原始字符串。
    74 条回复    2022-08-30 15:22:00 +08:00
    iwh718
        1
    iwh718  
       2022-08-21 06:17:06 +08:00 via Android   ❤️ 1
    行政逛这个解密 base64 。
    terence4444
        2
    terence4444  
       2022-08-21 06:25:40 +08:00 via iPhone   ❤️ 4
    还有一个方法是在原文中加入冗余字符再 base64
    TigerJie
        3
    TigerJie  
       2022-08-21 06:36:33 +08:00
    c6h6cl6
        4
    c6h6cl6  
       2022-08-21 07:32:07 +08:00   ❤️ 1
    还不如把邮箱 reverse 一下。。。
    DTCPSS
        5
    DTCPSS  
       2022-08-21 07:58:04 +08:00
    加盐
    ZE3kr
        6
    ZE3kr  
       2022-08-21 08:12:16 +08:00 via iPhone   ❤️ 4
    别人解密了你的联系方式后,复制然后明文粘贴了出去,然后全都白搭
    ZE3kr
        7
    ZE3kr  
       2022-08-21 08:14:10 +08:00 via iPhone
    比如 Tim Took 邮箱是 [email protected]
    比如 Jeef Bezos 邮箱是 [email protected]
    无论它们再怎么在源头加密也没用了,因为被我粘贴出去了
    7zlid
        8
    7zlid  
       2022-08-21 08:18:31 +08:00 via Android
    自建图床
    用完删了
    yfugibr
        9
    yfugibr  
       2022-08-21 08:32:34 +08:00 via Android   ❤️ 2
    Bitwarden send ,可以控制可访问时间、次数、设置密码,还是挺好用的
    yyf1234
        10
    yyf1234  
       2022-08-21 08:37:40 +08:00 via iPhone
    hr 为什么要在网上找联系方式啊?
    Windelight
        11
    Windelight  
       2022-08-21 09:06:38 +08:00 via Android
    不去尝试直接使用 prontonmail
    hackpro
        12
    hackpro  
       2022-08-21 09:16:23 +08:00
    加入一个随机项就好了啊
    比如今天的日期
    foufoufm
        13
    foufoufm  
       2022-08-21 09:19:17 +08:00   ❤️ 1
    这个需求可以翻译为, “有效期内的联系方式”,我是产品设计人员,对技术不太懂,如果仅针对于这个需求,类似于微信建群分享的二维码可以参考其技术。

    一是图形化,不能通过文本识别
    二是七日内有效期,当然这个时间你可以有效自定义
    CharlesGray
        14
    CharlesGray  
       2022-08-21 10:18:26 +08:00
    不如 iCloud 隐藏电子邮箱地址。。。。或者 protonmail
    AllenHua
        15
    AllenHua  
       2022-08-21 10:28:22 +08:00 via iPhone
    seafile 或者 nexcloud 等自建云盘新建一个 markdown 文件,文件中相关隐私敏感信息,分享这个文件,设置过期日期,日期一过这个链接就不可达了。原理类似 bitwarden send ,但更加可控,因为还能提前销毁链接或者随时更改分享文件的内容,比如与 hr 联系,联系的目标已达成,也已决定去这家公司,不想再被其他公司 hr 打扰,就提前销毁链接。
    whywaoxaks
        16
    whywaoxaks  
       2022-08-21 10:32:09 +08:00   ❤️ 2
    微信二维码不就满足需求么。怎奈 v 站没人用微信。
    AllenHua
        17
    AllenHua  
       2022-08-21 10:35:52 +08:00
    https://emby.940304.xyz:23399/f/322a1983319d421798cf/

    我设置了以上链接将在 2022-08-26 18:00 自动 404
    allAboutDbmss
        18
    allAboutDbmss  
       2022-08-21 10:37:38 +08:00
    我个人觉得邮件明文也没有很大影响。大部分人都是展示邮箱地址在博客 提供交流方式的。
    不管怎么加密 都存在一个可能: 别人解密之后 去把明文发出去。
    我觉得大家 base64 也只是一个象征性方式,比如不能爬虫到明文。
    AllenHua
        19
    AllenHua  
       2022-08-21 10:40:28 +08:00
    再提一嘴,base64 那叫编码和解码 ( encode and decode ),不能说是加密与解密。
    Osk
        20
    Osk  
       2022-08-21 10:48:50 +08:00
    不如用在线的 pgp 工具, 大家交换公钥
    echo314
        21
    echo314  
       2022-08-21 10:55:09 +08:00
    固定的唯一对外 ID 就是罪魁祸首。
    像 TG 这样可以修改对外 ID 的方式才是可以避免在互联网留下不可更改痕迹的方式。
    wdssmq
        22
    wdssmq  
       2022-08-21 11:06:36 +08:00
    base64 的意义在于,全世界的 base64 都是同一套机制,无论看到的人自己是不是懂这个。。

    当你在编码时额外加了点什么的时候,解码时也必然要额外加东西,额外的这点东西就会成为解码方的负担,要提前准备好解码的工具,或者由发送方指定,可是不同的发送方指定的算法或工具不一样时就很蛋疼了。。
    huntagain2008
        23
    huntagain2008  
       2022-08-21 11:41:27 +08:00
    小白想到给 cs:app 做过中文翻译的武大女教授提供邮件地址形如 tookatappledotcom 并没有用加密或编码,只是将"@"替换为"at"将“.”替换为“dot"
    hyyou2010
        24
    hyyou2010  
    OP
       2022-08-21 11:48:04 +08:00
    @wdssmq 你试一下我的这个方案,解码函数就在网页中,所以解码方并不需要什么信息或什么负担
    hyyou2010
        25
    hyyou2010  
    OP
       2022-08-21 11:58:55 +08:00
    @AllenHua 这样的确很安全,我之前曾从网上笔记有期限地分享内容

    @allAboutDbmss 别人可能搜 base64 后的密文

    @whywaoxaks 二维码毕竟是图像,没有文字方便,还要扫码

    @foufoufm 不是“有效期内的联系方式”,而是防止别人搜到我在别处的活动痕迹

    @terence4444 我最开始设想的就是 base64 之后前后混淆字符,我现在这个其实就是是一回事,就是用随机数 xor 而已
    hyyou2010
        26
    hyyou2010  
    OP
       2022-08-21 12:04:14 +08:00
    @huntagain2008
    比如 took 是邮箱的个人标识吧,那么别人还是可能搜 took 而得到很多信息,如果她在其他地方也是这么留地址。
    但按我这个思路是搜不到其他相关信息的,因为别处没有 took 这个关键字。
    hyyou2010
        27
    hyyou2010  
    OP
       2022-08-21 12:20:55 +08:00
    @AllenHua
    虽然通过分享文档的方式有效保护了你的联系方式,但你这个分享地址需每次都不同。如果不是,则别人搜你这个分享地址可以搜到你的活动范围,比如你在别处也留这个地址。而我这个思路则是针对这种情况,可以方便生成不同的链接地址。
    AllenHua
        28
    AllenHua  
       2022-08-21 13:12:14 +08:00
    @hyyou2010 #27 如果是我要分享我肯定分享不一样的地址(也就是每次创建不同的文件),每次和不同的人对话我会写不一样的文案。如果要求是一样的文案,用户博客的“关于我”页面或者“联系方式”页面可能会留下一些公开信息,比如邮箱。
    AllenHua
        29
    AllenHua  
       2022-08-21 13:16:18 +08:00
    我有管理 seafile share admin 页面的习惯,分享的 library 、folder 、单独的 link ,都会及时撤销访问。功能很强大,分享一整个库,整个文件夹,单独文件,甚至提供一个链接让别人上传他的文件存储到你的服务器。总之我觉得这货挺好用的。
    lycc
        30
    lycc  
       2022-08-21 13:51:28 +08:00
    那为啥不用些电子邮件转发功能
    比如 cloudflare 的 电子邮件路由,每个地方留一个不一样的电邮,都转发到一个邮箱
    lycc
        31
    lycc  
       2022-08-21 13:52:21 +08:00
    @lycc 啊忘记写了,还有 https://relay.firefox.com/ 类似这样的
    hyyou2010
        32
    hyyou2010  
    OP
       2022-08-21 14:51:35 +08:00
    楼上两位说的这些方式功能的确强大,但操作起来略麻烦
    dearmymy
        33
    dearmymy  
       2022-08-21 15:16:27 +08:00   ❤️ 1
    你 base64 (联系方式-网站-今天日期)就够了
    Felldeadbird
        34
    Felldeadbird  
       2022-08-21 15:55:57 +08:00
    不如做个扩展,右键选中这对话,自动加盐 base64 更简单了。
    ellermister
        35
    ellermister  
       2022-08-21 16:04:35 +08:00   ❤️ 1
    https://x007.in/

    再来推广下我的开源小项目,常用于社交社交软件分享隐私信息~
    可玩度很高
    lEONiNv2
        36
    lEONiNv2  
       2022-08-21 16:07:23 +08:00 via iPhone
    使用起来过于复杂,不如直接用图床,或者是单独建了一个自己的 contact 页面了
    AllenHua
        37
    AllenHua  
       2022-08-21 16:07:43 +08:00 via iPhone
    在各处留不同的字符串你怎么管理好呢?试用了你的服务我感觉还是文件管理服务器(比如 nextcloud)更具优势。
    hyyou2010
        38
    hyyou2010  
    OP
       2022-08-21 16:08:22 +08:00
    @Felldeadbird
    你的思路很好,不过这需要浏览器加扩展吧?可能很多人不会愿意。

    @dearmymy
    你说这个也可行,但对非技术人士而言,我觉得目前这个链接点击的思路是最简单的,base64 于他们也不容易。
    ellermister
        39
    ellermister  
       2022-08-21 16:08:41 +08:00
    我自己分享东西时常关注的两点:

    对于有审查的平台,我愿意被对方看到,但不愿意被平台看到。
    对于无审查无所谓的平台,我可以分享明文,但在事件完成时,希望可以删除抹除来保护隐私。

    对于以上的场景,我只能将我的方式作为第三方中间管道提供,用完时可以随时删除,因为所有权在我手里。
    一旦信息交出去,主导权就在别人那边~说什么都没用。
    hyyou2010
        40
    hyyou2010  
    OP
       2022-08-21 16:12:40 +08:00
    @ellermister
    你这个似乎每次也生成不同的 url ,不过短 url 需要后台服务器保存原始信息吧?
    hyyou2010
        41
    hyyou2010  
    OP
       2022-08-21 16:15:26 +08:00
    @AllenHua

    在各处留不同的字符串你怎么管理好呢?---------考虑不了管理,只是防范搜索引擎通过相同字符串找出我在别处的痕迹。我觉得小工具不可能全面,能做好某一个小点就不错了。
    ellermister
        42
    ellermister  
       2022-08-21 16:17:54 +08:00
    @hyyou2010 就是短链接,只是扩展了一些用途。

    信息信息放到附加图文里,一般放服务器 SSH 信息、 操作教程。
    每次不同的用途生成一个就好了,当然是需要服务器保存原始信息的(你可以自建)

    分享后,都不会直截了当的被爬虫抓到隐私信息的,

    后面还准备增加限制某些浏览器禁止访问,因为实际上很多 APP 内置浏览器都会有记录日志、和记录你的网页关键字的功能。
    hyyou2010
        43
    hyyou2010  
    OP
       2022-08-21 16:18:38 +08:00
    @ellermister
    你这个思路是很全面的安全,很重要的东西我也会如此,比如用 evernote 或 notion 做分享,并且是随机的短链接。
    hyyou2010
        44
    hyyou2010  
    OP
       2022-08-21 16:25:25 +08:00
    @ellermister

    如果你能针对短链接生成一个临时页面以显示明文的话,就完全覆盖了我这个小工具的功能。

    不过短链接太短,本身不可能包含明文信息,所以你需要一个服务器,这个维持成本就略高了。我这个思路取巧在于明文信息就隐藏在这个 url 链接本身的字符串中,所以我这个工具是没有任何服务器的,只是一个带计算代码的静态页面而已。当然,也不能指望这个工具能做别的事情了。
    ellermister
        45
    ellermister  
       2022-08-21 17:04:38 +08:00
    @hyyou2010

    中间服务器要不了多少东西,你只是自用。

    若考虑大规模推广用,没法实现,除非搞成协议的东西去推广,让客户端适配,那更难。

    你若不想存储,不关心 URL 长度,也可以把简短信息内容加密存储起来并在展示时用 JS 解密,同时也可以做很多伪装的东西。

    就是把我项目的伪装部分迁移到 J S ,存储部分迁移到 URL 而已。
    southFlowFire
        46
    southFlowFire  
       2022-08-21 17:44:09 +08:00
    可以说是技术琢磨的入魔了,讲真,不如小号。
    masker
        47
    masker  
       2022-08-21 18:19:51 +08:00 via Android
    不做亏心事,不怕鬼敲门。
    Myprajna
        48
    Myprajna  
       2022-08-21 18:56:35 +08:00
    如果有人真想人肉你,你也防不住的。
    如果没人想弄你,属于自找麻烦。
    我觉得不同网站用不同的用户名和头像差不多了。
    aulayli
        49
    aulayli  
       2022-08-21 19:15:46 +08:00
    你的联系方式没那么重要
    FrankAdler
        50
    FrankAdler  
       2022-08-21 20:07:10 +08:00 via iPhone   ❤️ 1
    https://b64.ink/ 我已经做了一个,貌似没啥人用
    YaakovZiv
        51
    YaakovZiv  
       2022-08-21 20:54:20 +08:00
    我一般用 outlook 邮箱的邮箱别名,缺点是,只能 web 端用别名回复邮件,客户端只能用主邮箱回复。
    freeing
        52
    freeing  
       2022-08-21 21:18:04 +08:00
    @dearmymy 这个思路不错,就是 base64 时加个随机数进去,简单有用
    hyyou2010
        53
    hyyou2010  
    OP
       2022-08-21 23:02:23 +08:00
    @FrankAdler

    你这个很强,功能远远覆盖我这个小工具。你可以考虑一下推广,尤其在英文互联网的推广,那边圈子大且注重隐私。

    我这个小工具的思路是无任何部署维护成本,用户操作也最简单,当然功能也很局限。
    uni
        54
    uni  
       2022-08-21 23:10:22 +08:00
    @Windelight 这个邮箱据说最近把信息交给了法国政府了
    我以后可能会更偏向于基于 web3 的隐私邮箱项目了
    Felldeadbird
        55
    Felldeadbird  
       2022-08-21 23:29:24 +08:00
    @hyyou2010 解密的人不需要安装扩展。在意信息敏感的才要安装。反正选中文字,然后右键选择 base 加盐。 自动粘贴到剪切板。

    在需要的地方手动粘贴完成。解密的人一看就知道内容了。

    例如:vx:zhangxiaolong

    选中并 base 加盐,base 解密后得到就是 vx:zhangxiaolong 2022-08-21
    hyyou2010
        56
    hyyou2010  
    OP
       2022-08-21 23:57:50 +08:00
    @Felldeadbird

    明白你的意思了!
    hyyou2010
        57
    hyyou2010  
    OP
       2022-08-22 00:05:05 +08:00
    @Felldeadbird

    题外话:base64 只是按字符次序进行编码,在后面添加字符起不到混淆的作用
    FrankAdler
        58
    FrankAdler  
       2022-08-22 05:32:56 +08:00 via iPhone
    @hyyou2010 😂懒得推广了,而且我也不熟英文互联网的圈子
    yolee599
        59
    yolee599  
       2022-08-22 08:49:34 +08:00 via Android
    base64 加盐起不到混淆的作用
    thetbw
        60
    thetbw  
       2022-08-22 09:12:23 +08:00
    感觉有点脱裤子放屁,不如搞个页面,别人打开时候没有联系方式,只有几个跳转 qq,邮箱,电话的按钮,点击后根据浏览器环境判断是不是机器人,然后从服务器获取加密的数据解密,然后跳转到对应 app,可能微信这种有点无解了,其他应该都可以做到按钮跳转
    947
        61
    947  
       2022-08-22 10:55:01 +08:00
    我用的在线文档分享,不分享了把文档删除就行,每次都是不一样的链接,简单好用
    wdssmq
        62
    wdssmq  
       2022-08-22 11:13:21 +08:00
    @hyyou2010 #24

    所以,如何「让」 v 站但又不仅仅只是 v 站在内的众多网站内置一个这样的加密功能???额外打开你的地址就是我说的负担。。这个工具就是你「指定」的;

    如果所有发送者指定的是同一个工具还好,,但是「凭什么」,XXXX 是最好的编程语言这种梗根源是什么你真的理解了?

    这根本不是一个关于加密的技术问题,在有限群体内交流很容易统一一个可以比你的工具更安全的交流方式,但是现在面对的是不特定,数量也更多的「他人」
    hyyou2010
        63
    hyyou2010  
    OP
       2022-08-22 11:41:35 +08:00
    @wdssmq

    从操作上讲,base64 方案需要发布者和观看者都打开 base64 网址,而观看者很可能并不了解 base64 。

    我这个方案是发布者需要打开网址来产生字符串,但是观看者只需要点击一次即可。观看者一定知道链接可点击,所以操作没有问题。总体上这个方案节约了观看者的操作及负担,不节约发布者。

    如果想要发布者也不打开网址,那么可能需要浏览器加扩展,这个成本很高。
    lchynn
        64
    lchynn  
       2022-08-22 15:26:13 +08:00
    把联系信息放在诸如阅后即焚的网站(如 privnote 等),然后粘贴阅后即焚的网站 link ;
    被阅读或者时间过期后,这条信息自动删除。
    qwq11
        65
    qwq11  
       2022-08-22 18:13:02 +08:00
    iCloud+、riseup 、Firefox Relay 完美解决你的问题
    sillydaddy
        66
    sillydaddy  
       2022-08-26 12:44:58 +08:00
    想法挺好的,实现也简单。
    xyjincan
        67
    xyjincan  
       2022-08-26 23:31:02 +08:00 via Android
    这个网址可以销毁吗
    hyyou2010
        68
    hyyou2010  
    OP
       2022-08-27 00:41:54 +08:00
    @xyjincan

    不能。你的原始信息就藏在网址的字符串里面。
    RRyo
        69
    RRyo  
       2022-08-29 08:58:30 +08:00
    你在找的是不是
    https://paste.itefix.net/
    阅后即焚 定时过期
    aoling
        70
    aoling  
       2022-08-29 10:29:07 +08:00
    太把自己当回事了 谁稀罕你的联系方式呢
    byasm32
        71
    byasm32  
       2022-08-29 11:54:36 +08:00
    这跟直接往数据库里明文插入联系方式和随机字符,用的时候通过随机字符查询取出来有啥区别?还要啥加密解密?
    yaeason
        72
    yaeason  
       2022-08-30 09:53:29 +08:00 via Android
    @FrankAdler 挺好用,我试试
    clorischan
        73
    clorischan  
       2022-08-30 10:47:54 +08:00
    其实都不需要用到第三方服务的
    约定好一个对称加密算法
    加解密的 security key 使用当前站点的域名

    即可保证在不同页面留下的信息生成的密文不一致
    并且 js 就可以直接获取当前页面的域名
    引入插件即可实现自动加解密, 全部在浏览器本地完成, 无需依赖第三方服务

    例如我在 v 站留的信息 security key 就使用 "v2ex.com"
    vAvyummyICE
        74
    vAvyummyICE  
       2022-08-30 15:22:00 +08:00 via Android
    阅后即焚?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4124 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:18 · PVG 13:18 · LAX 22:18 · JFK 01:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.