神锁离线版密码管理器—创新数据保护技术

2021-06-11 14:26:33 浏览数 (2)

前言

神锁离线版自第一版发布以来就坚持做安全技术创新,不做差不多的密码管理器。我们团队针对当今的攻击手段做深入分析,将神锁离线版的抗攻击能力提升到最高水平,应对新的安全挑战。

两大安全设计原则始终贯穿神锁离线版的整个开发:

  • 最小化攻击面

最小化攻击面是软件安全最重要的原则之一。软件暴露的攻击面越大,防范黑客攻击就越困难。我们在设计功能时都尽可能减少暴露攻击面,或者对必然暴露的攻击面做技术防护,降低数据泄露的风险。

  • 安全技术可验证

大家都知道App未必完全如同开发者声称的那样工作。我们研发可以验证的安全技术,公开验证的方法,让用户可以亲自检验,不需要相信任何人的鬼话,只需相信客观技术。

神锁离线版使用新技术新设计,解决了其他密码管理器存在的安全问题,本文将针对以下几点做展开讲解:

  • 安全芯片加密:主密码不再是最重要的因素,泄露主密码不会导致数据被盗。
  • 找回主密码:可以在好友协助下解锁,忘记主密码不会导致数据丢失。
  • 存储联网分离:App与插件配合使用,分离攻击面,浏览器漏洞不影响存储安全。
  • 自动填充防欺诈:填充信息可视化,识别覆盖攻击,防止恶意软件骗取用户密码。

安全芯片加密

说到密码管理器的安全性,大家最关心也最容易想到的就是加密方式。随着技术的发展进步,密码管理器的加密方式也在不断改进,安全性持续提升。

回顾整个密码管理器的发展进化史,根据加密方式的不同、破解难度的高低,可以将密码管理器大概划分为4代。

第一代密码管理器,也就是最早出现的密码管理器,是由浏览器集成的,用于帮助用户填充密码。第一代密码管理器,通常都是明文保存密码,没有加密保护或者使用很容易破解的加密,黑客获取数据库就可查看密码。

后来到了大概2000年左右,海外开始出现独立的专业密码管理器,比较有代表性的就是KeePass、Password Safe。第二代密码管理器带来了真正的加密保护,基于用户设置的主密码生成加密密钥,用来加密存储的数据。

现在市面上很多密码管理器都声称使用了军事级别加密,其实就是使用了AES-256加密算法。用户需要设置并记住一个主密码,密码管理器基于该主密码,利用PBKDF2算法生成加密密钥,再使用AES-256算法加密数据。

大多数密码管理器的加密核心原理如上图所示,在具体细节处理上都可能做一些独特的设计和扩展。

AES-256算法几乎无法被破解,黑客只会尝试获取加密密钥key。使用第二代密码管理器,用户数据的安全性取决于设置的主密码,主密码泄露可能导致所有密码被盗。

所以,要想真正保护存储的数据安全,主密码需要满足两个条件:足够长足够强,不能被别人知道。

但可惜,在现实生活中,用户在使用主密码时会有各种各样的问题:

  • 密码本身强度不够,很容易被黑客破解
  • 输入密码时,被别人看到或者被手机上的恶意App偷取
  • 重用密码,其中一个平台泄露会威胁到密码管理器的安全 密码泄露这事儿可常见了,have i been pwned 收集到的密码泄露证据记录高达113亿,已经远超地球人口总数了......

为了削弱主密码问题带来的安全威胁,第三代密码管理器的典型代表1Password,设计了一个叫two-secret key derivation (2SKD)的方法来生成加密密钥。使用1Password,除了要设置主密码外,还需要把主密钥Secret Key保存起来。Secret Key不同步到云端。

在新设备登录第二代密码管理器时,只需输入账号密码就可以解密云端同步下来的数据。在新设备登录第三代密码管理器时,除了账号密码外,还需要输入Secret Key才能解密云端下载的数据。即使用户泄露主密码、云端服务器被入侵,黑客依然无法获取用户存储在第三代密码管理器中的数据。

当用户首次在设备上登入自己的账号后,第三代密码管理器就会把Secret Key保存在本地,不会让用户每次都输入。数据库和Secret Key都保存在设备上,如果设备端被恶意软件入侵,那黑客获取这两者都不难,就差破解主密码了。

所以,第三代密码管理器提升了云端的安全性,但在设备端的安全性与第二代一样,都是主要依赖用户设置的主密码,主密码泄露可能导致所有密码被盗。

现在,大多数智能手机都集成了生物识别技术,而为了安全地处理用户的生物信息,也都引入了安全芯片。

☝️ 安卓手机的指纹识别硬件架构图

TEE 是独立于CPU和操作系统的安全芯片系统(iOS 中叫 Secure Enclave)。指纹传感器硬件线路直连安全芯片,直接将扫描的生物数据发送到安全芯片内部进行验证,安全芯片只将验证结果告知操作系统,保证生物数据的安全。

神锁离线版使用安全芯片技术加密保护存储的数据,进一步增加解锁条件,不再担心主密码泄露。

☝️ 安全芯片加密数据示意图

神锁离线版App请求安全芯片创建加密密钥,并请求安全芯片使用该加密密钥执行加密算法。数据加解密都由安全芯片处理,神锁离线版App只能得到加密/解密的结果,得不到加密密钥。

只有创建密钥的App才能请求安全芯片使用该密钥执行加密算法。

安全芯片中存储的数据都是加密的,运行时的内存也是加密的,神锁离线版App的加密密钥存储在芯片内部。即使是外部的操作系统,也无法访问安全芯片中的数据、无法获取神锁离线版App的加密密钥。

因此,有安全芯片保护,即使用户不设置主密码/主密码泄露/主密码被暴力破解,数据仍是非常安全的。经安全芯片加密的数据只能在本机经安全芯片解密,离开本机将无法解密。所以,黑客即使通过应用克隆攻击等方式偷取了神锁离线版App的数据库,也无法解密得到原文。

应用克隆攻击就是,利用系统漏洞或者特殊权限将App数据克隆迁移到新手机,以窃取隐私信息、盗取账号及资金等。

防应用克隆攻击效果演示:神锁离线版 VS LastPass

0 人点赞