Replying to Avatar btcdage

如何在微信群手动发起安全nostr群聊

例子:

1.树洞登录写下今日树洞口令:abcd

让参与群聊的人都关注树洞账户可以看到。

2.微信群里写下今日微信口令:1234

3.各自拼接树洞口令和微信口令:abcd1234

4.对拼接口令做sha256哈希生成:

e9cee71ab932fde863338d08be4de9dfe39ea049bdafb342ce659ec5450b69ae

5.参与群聊的人使用哈希结果作为私钥nostr客户端,打开对自己的私聊界面开始安全群聊。

注:

1.树洞账户可以用nsec1wyumvdel8snyq59nf0jq24kazyemdyyv6gdhadmlz4er2f7ghewqfaw9rr

也可以在群里预先设定一个专属口令发布账户。

2.对口令进行sha256这步可以借助使用 比特币布道者 的 比特币脑钱包生成页:

http://brainwallet.it/

3.可以线下约定第三个字符串进行拼接,再进行sha256生成私钥。

4.每天更换树洞口令和微信口令(以及线下口令),可确保安全性。

此方法唯一缺点是手动操作之后群聊中无法分辨谁是谁,需要自己做约定记号,但群聊的私密性得到了最大的保障。

btw:

如果客户端进行二次开发,随机生成私钥再和《如何实现和别人安全私聊》

@note1nuyk5caznu0n5realdlh4lck0fwpu56m9gwhm2u99gqyyamv7g6s77m7yk

一样处理自动带上发言人昵称,就实现了方便的加密群聊。只需要在群里加入或者退出人员时自动更换临时私钥,保障了安全群聊的私密性。

#[0]

我觉得这是一个智力测试题,看懂了的就是下一个张小龙

Reply to this note

Please Login to reply.

Discussion

#[1]

原PO没有【安全可言】,也不理解密码学基本原理

1. 在不安全环境(微信)暴漏口令

2. 树洞是公开地址,随机口令是无用功

3. 假定以上都安全,口令是不是要复杂才能避免被暴?粘贴私钥即可,拼接和sha是无用功

要实现非安全环境(含传输),参考公私钥交换和签名机制就可以。nostr聊天室发送签名信息也达到了认证目的。

你完全没理解精髓所在,微信只是传输口令的一部分,树洞是另一部分只是为了让腾讯无法获取信息,另外可以线下约定某个口令字符串可以成为第三部分。hash的过程可以自由约定(例如加上当天日期等等),这和安全脑钱包的思想是一致的。

传输安全在正常使用wss的nostr协议上没有必要再次讨论。

如果你不能理解安全脑钱包安全在哪里,就无法理解我说的这些。

#[1]

我理解是在隔离几段口令并加入自定义算法和盐值来提高安全,口令和盐值兼顾使用便利性和安全性。但其实经不起密码学验证,比如

你提到树洞是公开的,公开树洞 并公布口令,等于 该口令没安全性可言

信息环境安全才有真安全,微信有隐私安全么?在摄像头下,在装了木马的计算机输入再长的密码有什么用呢?还可被追溯。

线下口令是安全更是一个深坑?是要面基?肯定不是吧。移动通信还是固定电话线?暴漏隐私?如何确认对方身份不是伪造的?如何确认声音和视频不是伪造的?如何确认口令不是被篡改的?

暂不说线下操作性基本为0,所以这个安全程度(1-10分)最后的保障是

f(树洞0,微信2,线下口令0,少数hash算法+少数盐值)。

所以我说基本没安全可言。可信和加密最好实现还是非对称密码设计,没有其他的了,

不公开的算法和半公开的口令,足够支撑最后生成的私钥的私密性。所以不用考虑微信,树洞等的公开属性。微信群的信息只有微信群员和腾讯的监控可见。腾讯监控却不知道另外的信息(树洞发布或线下约定),也不知道具体的拼接算法。因此,【私密性】可以保证。

这种私密性指的是非请勿入的私密性。不是这个微信群的人是无法生成私钥的。

使用这样一个私钥自己对自己私聊,第一是消除了用户的关联性,这是人身上的安全性。第二是利用了nostr账户私聊的不对称加密的安全性,保障了relay侧数据非明文(而amethyst的群聊是在relay里明文存储的),这是数据层面的安全性。第三网络传输是使用wss协议,由ssl保证了网络通讯层的安全性。

这就是整个算法的目的。

#MeChat