验证神锁离线版插件的安全机制

在这里插入图片描述

“在互联网上,没人知道你是一条狗”。知名国际大厂也未必像他们说的一样保护我们的数据安全:

备受舆论压力的大厂都这样,那管理所有密码的密码管理器能放心吗?神锁离线版插件声称采用了端到端加密技术,连内部员工都无法偷取用户密码是不是真的呢?

来,我们告诉你怎么亲手验证我们的安全技术!

神锁离线版可能是唯一一个能告诉用户怎样验证安全技术的密码管理器。

不用太担心不懂技术细节,只需要有一点耐心,就可以和我们一起动手做实验!

在这里插入图片描述

比萨斜塔 来自 Saffron Blaze

首先,本次实验的目的是验证:

  • 密码会不会偷偷发送给服务器?
  • 如果没有直接发送密码,会不会把密钥偷偷发送给服务器?

基本原理

回顾一下神锁离线版插件架构和原理:

在这里插入图片描述

我们在app中选择要填充的账号后,用户名和密码是怎么从手机发送到插件的呢?

  1. app加密用户名和密码等信息;
  2. app启动手机浏览器,通过浏览器打开网页程序,将要传输的加密数据发送到云端;
  3. 插件从云端接收到加密数据后,解密出用户名和密码,填充到网页中。

插件实现端到端加密(End-to-end encryption, E2EE)的关键在于借助ECDH算法,可以在插件和app(下图中Alice和Bob)之间建立共享的加密密钥,确保通信安全。

在这里插入图片描述

来自 David Göthberg

主要步骤:

  • app和插件分别生成一次性的椭圆曲线(ECC)密钥对
  • 交换可以公开的公钥(Public Key)
  • 使用自己的私钥(Private Key)和对方的公钥(Public Key),生成相同的加密密钥(shared secret)

实验准备

实验条件:安装并使用神锁离线版app和插件。

以 Edge 浏览器为例,先设置断点,以便截获传输数据进行分析。步骤如下:

  1. 从浏览器菜单中,找到 扩展,打开插件管理界面
    在这里插入图片描述

  2. 在插件管理中找到神锁离线版,点击 背景页 链接,打开浏览器调试窗口
    在这里插入图片描述

  3. 设置截获数据的断点:
    在这里插入图片描述

    这里稍微麻烦一点,点击4次,分别选择:

    1. 源代码(Sources),
    2. 页面(Page),
    3. 程序脚本(background.js),
    4. 找到onServerMessage 函数的定义,在左边行号上点击,设置红色的断点。

实验操作

  1. 浏览器中打开登录网页 http://www.stealmylogin.com/demo.html ,会看到扫码填充框

在这里插入图片描述

  1. 使用神锁离线版app扫码,app从二维码中可以得到正在填充的网站域名和插件公钥

    实验中不要使用真实账号密码,以防泄密给第三方网站。

  2. 选择账号后,app会打开手机浏览器开始填充。点击浏览器的地址栏,复制地址并记录下来。地址有点长,大概是这个样子:

https://app-link.bluespace.tech:8081/remote-fill/index.html#a=&t=1609300964&host=www.stealmylogin.com&to=15579832-e41c-4b17-8615-b6507a02dd4b&key=MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAELzVA%2B9q

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值