在线剪贴板

把密码、API Key 交出去,又不留在聊天记录里

密码一旦贴进微信、钉钉、邮件或者工单,它就长在那儿了——能被搜索、会进备份、离职导出时一起带走,以后谁进了那个账号谁就能看。这块剪贴板反过来做:内容在你的浏览器里加密之后才上传,服务器只拿得到密文;没有你点头谁也进不来;最后一次活动之后 24 小时,整块东西自动销毁。

  • 浏览器里 AES-256-GCM
  • 逐个审批
  • 24 小时后销毁

开始使用

·
·
·
·
·
·

输满 6 位自动进入

或者

内容在你的浏览器里加密后才上传,服务器看不到明文。24 小时无活动后自动销毁。

安全地把密码发出去,四步

四步,第三步是最多人跳过、也最要紧的一步。

  1. 创建一块剪贴板

    你的浏览器生成一把 256 位内容密钥并自己留着。服务器只给你一个 6 位数字,从头到尾看不到这把钥匙。

  2. 用另一个渠道把数字告诉对方

    当面说、打电话说,或者换一个 App 发。如果数字和密码走同一个聊天窗口,那前面这些设计就白做了。

  3. 核对确认码,再点同意

    对方输完数字后,两边屏幕会显示同一个 4 位确认码。对得上,说明密钥交换的对象就是你正在通话的这个人,而不是碰巧试出数字的别人。

  4. 粘贴,然后删掉

    内容出浏览器之前就已经加密。对方复制走之后,把这一条删掉——或者干脆等它自己过期。

它到底挡住了什么

  • 数据库被拖库、备份被翻出来

    服务端手里只有 6 位数字、token 哈希、两个公钥和密文。拖走整个库、翻出半年前的备份快照,都读不出一个字。

  • 永远不会忘事的聊天记录

    聊天记录漫游、邮件归档、工单导出,会把一串早就没人需要的凭据一直留着。这里 24 小时无活动就结束,不需要谁记得去清理。

  • 发错人

    知道号码不等于拿到访问权。对方只会排进一个你看得见的队列,还带着确认码,你可以先跟他屏幕上的核对再放行。

  • 链接被随手转发

    这里没有一条「带着密钥的链接」。解密密钥在收件人的浏览器里,不在地址栏里,所以把链接转给别人等于什么都没转。

  • 管理员顺手看一眼

    企业 IM 的管理员能看群,服务器运维能看库。但谁都读不了一份服务器压根没收到过明文的东西。

  • 忘记善后

    过期不是一个可以设成「永不」的选项。每块剪贴板都有 24 小时无活动的硬上限,改不了。

和直接发微信 / 发邮件比

差别不在传输是不是加密的——两边都加密。差别在这段对话结束以后还剩下什么。

微信、邮件、工单这块剪贴板
密码最后留在哪留在消息存储里,可搜索、可漫游、进备份留在服务器打不开的密文里
以后谁能看到群里所有人、管理员,以及将来攻破这个账号的人只有持有密钥的那两个浏览器
能活多久一直活着,直到有人想起来删——通常没人想起来最后一次活动之后 24 小时销毁
谁决定谁能看谁在这个会话里,谁就能看你决定,一次一个人,还能核对确认码
转发出去一键转发,而且你不会知道没有一条链接带着密钥,要转必须重新走一遍
善后永远是你自己的事自动完成,而且关不掉

它挡不住什么

你现在看的这个页面,是服务器下发的 JavaScript。一个想要你明文的服务器,完全可以下发一份改过的页面把明文偷偷发走——任何客户端加密都拦不住这件事,因为加密代码本身就在被下发的东西里。这是所有浏览器端端到端加密产品共同的天花板,这一块也不例外。它真正买到的,是「事后」的那一切:日志、拖库、备份、半年后的入侵,全都是空的。

元数据还是看得见。服务器知道有这么一块剪贴板、每条大概多大、什么时候写的、从哪个 IP 来的。它不知道每条写的是什么。

另外,密码的私密性也就到它落地的那台设备为止。如果对方转手粘进一个会云同步的笔记 App,那这一圈就白绕了——这部分只能靠对方自己。

什么时候该用别的工具

如果一串凭据要给两个人以上,或者需要活过一天,那就该用带共享功能的密码管理器——1Password、Bitwarden、Vaultwarden 都行。这里是交接工具,不是保险柜。

如果是机器要用的凭据,放进密钥管理服务,给机器一个角色而不是一串字符串。还有:只要这串凭据将要进的是你自己管得着的系统,交接完之后顺手轮换一次,花一分钟,前面所有讨论就都不成问题了。

关于传密码

这比直接发微信安全在哪?

安全在真正会出事的那一环——密码以可读形式在存储里躺好几年。微信在传输和落盘上都有加密,但服务端读得到,管理员能导出,聊天记录会一直留着。这里服务端根本没收到过明文,而且 24 小时无活动就自毁。

API Key、令牌、私钥能传吗?

能。只要是文字,单条 10,000 字符以内都行,绝大多数密钥、令牌、连接串,甚至一段不长的 PEM 都放得下。

对方需要注册或者装东西吗?

都不用。对方用任何浏览器打开页面,输入 6 位数字,等你点同意就行。没有安装包,也不用交出邮箱或手机号。

那个 4 位确认码是干嘛的?

它由访客的公钥派生,两边屏幕上都会显示。主要作用是在多人同时申请时分清谁是谁,顺带能让一次拙劣的公钥替换露出马脚——两边对不上,就别点同意。

关掉标签页、清了浏览器数据会怎样?

内容密钥只在那个浏览器的本地存储里。清掉站点数据,这块剪贴板就永久读不出来了,服务端也恢复不了。还需要的内容请先复制出来。

已经同意了还能撤回吗?

可以。单条删除、清空全部,或者把所有人移出这块剪贴板,后续读取会立刻断掉。当然,对方已经复制走的那份,是真的已经复制走了。

能拿它当密码管理器用吗?

不能,也不该。密码管理器负责长期保存和权限管理;这里只负责交接——密码从一个人手里到另一个人手里的那尴尬的三十秒——然后就该消失。

交接完还需要轮换一次密码吗?

如果轮换成本低,那就轮换。加密只是把窗口收窄,轮换才是把窗口关上。凡是在网络上走过一趟的凭据,都值得排进轮换清单。

接着看