PinkHello
做一个快乐的程序猿
12 老司机聊聊BatChat

今天,在浏览小众软件的时候,突然看见一个早期小编的推广~~~蝙蝠APP,联想到之前新闻中看到的有个贩卖个人信息的人说在蝙蝠APP上,勾起了我的好奇心,作为一个程序🐶,默默的想探究一下这个蝙蝠APP玩的什么套路。

什么是蝙蝠(BatChat)

一款免费的端到端加密的蝙蝠APP,随时畅聊! 应用 IOS、Android https://batchat.com

它的特性

  • 安全 | 畅聊时、端到端加密(所有消息经过端到端加密,任何聊天记录不进行云存储,让你的信息想象中更安全)
  • 隐私 | 畅聊时、双向撤回(聊天记录一键双向撤回,同时删除你和对方设备上所有的聊天记录,撤回数据多次覆盖删除、不可恢复、保证双方的隐私安全)
  • 匿名群聊 | 开启匿名群聊,群里面的每一个成员都可以"变身",隐藏真实身份,群内不受身份约束

什么是端到端加密?

端到端加密是在源结点和目的结点中对传送的数据进行加密和解密, 因此数据的安全性不会因中间结点的不可靠而受到影响。 蝙蝠APP的所有数据都通过用户端生成的私钥进行加密后再发送,任何第三方包括开发者都不能解开此数据.

蝙蝠APP采用的安全层级?

  • 通道加密 通道加密中采用了哪些加密算法? 通道加密中使用到的 RSA, ECDHE, AES256_CBC, SHA256, SHA1等等(如下图)。

    通道加密 步骤:

    • (1. 客户端和服务器先产生随机数
    • (2. 服务器下发随机数。
    • (3. 客户端用 RSA 对客户端随机数进行加密,并发送给服务器。
    • (4. 服务器用 RSA 解密客户端随机数(使用 RSA 的目的是防止中间人攻击)。
    • (5. 客户端,服务器用自己的随机数加上对方的随机数生成临时密钥 TempKey 和临时偏移量 TempIV (此时双方均持有相同的 TempKey和TempIV)。
    • (6. 客户端服务器均使用 ECDHE 生成各自的公私钥对。
    • (7. 客户端用 TempKey, TempIV 对自己的 ECDHE 公钥进行加密,并将密文发送给服务器。
    • (8. 服务器收到客户端的 ECDHE 公钥密文,并解密。
    • (9. 服务器使用 TempKey, TempIV 对自己的 ECDHE 公钥进行加密,并使用 RSA 对 ECDHE。
    • (10. 服务器使用 ECDHE 算法,使用客户端 ECDHE 公钥明文+服务器 ECDHE 私钥明文生成ShareKey。
    • (11. 客户端收到服务器的 ECDHE 公钥密文和签名,然后进行解密和验证签名,如果没有问题,就使用客户端 ECDHE 私钥明文+服务器ECDHE 公钥明文生成 ShareKey。
    • (12. 服务器初始化各个参数,下发给客户端,参数包含:
      • AuthKeyID: 服务器随机生成的客户端临时标识符

      • MsgKey: 由 ShareKey, AuthkeyID, MsgID, SessionID, Salt, SeqNo 以及真实的消息内容相加后进行 Sha256 后的值

        本参数用于:

        (a. 进行防止数据篡改的验证

        (b. 与 ShareKey 一起使用,生成 Aes256 key, IV,用来对各条消息进行加密。

      • MsgID:时间相关的消息 ID,用于防止重放和去重。

      • SessionID:每次登录唯一的会话 ID。

      • Salt:每次登录唯一的盐值。

      • SeqNo:用于防止重放。

    • (13. 后续每条消息均会有不同的 MsgID, SessionID, Salt, SeqNo 和真实的消息内容;这些变化的值会导致 MsgKey 每次都不同。 这个每次都 不同的 MsgKey 加上 ShareKey 可以为每一条消息生成对应的 32 字节密钥和偏移量。
    • (14. ShareKey 会过期,过期后需要重新进行密钥协商。
  • 内容加密

    • (1. 用户生成 ECDHE 公私钥,保存在本地。
    • (2. 将公钥发送到服务器,私钥保存在本地。
    • (3. 用户登录,获取所有好友信息的更新,包含每个好友的公钥。
    • (4. 发送消息,和接收消息时均采用自己的私钥+对方的公钥生成 ShareKey。
    • (5. 使用 ShareKey 生成 AES256 的密钥,进行加密和解密。

    内容加密

    蝙蝠 双棘轮算法 如下: Alice(A)发送的消息传送了她的新公钥。 最终,Bob(B)将收到以下消息之一,并执行第二个DH棘轮步骤; 在每个DH棘轮步骤中生成的DH 输出用于导出新的发送和接收链密钥。当各方轮流执行DH棘轮步骤时,他们轮流引入新的发送链,依此类推。

    双棘轮算法

  • 服务器数据库安全

    • (1. 数据库有签名字段。
    • (2. 服务器上生成 ECDSA 公私钥。
    • (3. 服务器代码中对数据库敏感字段,比如:password, userID, friend 等做增删改操作时均通过 ECDSA 生成签名,并更新到签名字段。
    • (4. 服务器代码对 password, userID, friend 等数据进行读取,判断等操作时进行 ECDSA验证签名,只有通过验证才能进行后续流程,否则 给客户端报错。
    • (5. 服务端程序进行加密和签名保护。

好了,上面的都是摘自 BatChat 官网介绍!现在进入正题!

先来一个重磅

《网络安全法》 第二十一条规定,网络运营者应当按照网络安全等级保护制度的要求,履行安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被窃取、篡改。网络运营者的安全义务包括采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月。

嘿嘿 ,按照小弟的理解,BatChat 号称端到端加密,那么信息加密和国内备案明显冲突了,所以要么这其中有一个是假的,要么就是在违的边缘疯狂试探。

正因为看到这些,所以小弟默默的 Download 了下来, 然后默默的 Install, 然后默默的注册登录进入了 😯 💐 ~~~~

进入是基础Tab功能菜单

app

app

app

进入瞬间的内容,我呵呵咯~~

app

有没有看出来什么,人脸识别自动识别造假(黑灰产业链)

下面是我的一些截图,你们自己看咯

  • 标签搜索 点击换一组,这是官方的推荐的。

    标签

    标签

    标签

  • 搜索敏感词群

    群搜索

    群搜索

    群搜索

  • 我默默的加了一个看似正常的群,进群后我风化了!!!!

    进群信息

    进群信息

    进群信息

    下面是防骗官方群里的

    进群信息

好了,总结一下BatChat!

蝙蝠APP聚合了哪些人?

  • 绝大部分黑灰产业链上下游人员!
  • 极小部分尝鲜的小白
  • 当然因为陌生人聊天,我能进入的只有群搜索,应该还有更深的。

当然个人认为,此平台竟然能运行到现在,后面想象的空间很大啊

补个刀,知乎专栏 https://zhuanlan.zhihu.com/p/158261618

这尼玛就是为黑灰产业搭建聚合平台啊!虽说你不想,但是就宣传的端到端加密以及消息撤回,这个不正是他们在意的么? 当然某腾也宣称不存储**啥的?你信?

现在我要郑重声明:我默默的删除了此款APP!!!


最后修改于 2021-05-03