热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

密码管理器进化史(4/4)

➊TL;DR(太长了,不想读)第四代密码管理器,安全技术基于安全芯片的数据保护技术,不再担心主密码泄露➋进化过去的十几年,各种密码管理器软件层出不穷,各类营销口号花样百出,而所使用











➊ TL;DR(太长了,不想读)

第四代密码管理器,


  • 安全技术 基于安全芯片的数据保护技术,不再担心主密码泄露

➋ 进化

过去的十几年,各种密码管理器软件层出不穷,各类营销口号花样百出,而所使用的数据保护技术在本质上却没有太大的改进。

很多对数据安全有更高要求的用户只能选择专用硬件密码管理器产品,默默忍受着诸多不便。

让人兴奋的是,智能手机的发展为我们带来了很多新的安全技术,沙盒隔离便是其中之一。

在iOS和Android系统上,所有App都可以选择使用沙盒隔离,每个App的私有数据都不能被其他App访问。即使用户不小心安装了恶意App,该恶意App也无法偷取其他App的私有数据(除非它能够突破沙盒保护或者获取到root权限)。


当然,也并不是所有App都会使用沙盒隔离,相反,有些App可能会选择使用外部存储,比如 Keepass2AndroidKeepass2Android数据库保存在外部存储中,所有能够访问外部存储的App都能够读取该数据库。


密码管理器进化史 (4/4)


使用Keepass2Android的朋友们要注意了,如果你手机上不小心安装了恶意App(例如恶意的输入法),该App就可以一边截获你输入的主密码,一边读取数据库文件,那你存储的所有密码都会泄露!


沙盒技术虽然对数据保护起到一定的作用,却也难以防止数据因系统备份、网络同步、应用克隆等操作而泄露。

真正激动人心的是,智能手机带来了安全芯片的普及,这也为第四代密码管理器的诞生奠定了坚实的技术基础。

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

密码管理器进化史 (4/4)

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

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

App使用指纹验证的过程大概如下:


  • 应用程序先调用操作系统API,请求系统验证指纹
  • 操作系统指纹管理和服务组件,请求TEE验证用户指纹
  • TEE读取并且验证指纹数据
  • TEE把验证结果告知操作系统,操作系统再告知应用程序

因此,担心App偷取指纹数据的用户大可放心,App根本就无法读取你的指纹数据!

不过,使用人脸识别的App倒是可以采集人脸数据,因为摄像头扫描的数据是App直接处理的(iPhone 面容ID验证除外)。



➌ 第四代密码管理器

第四代密码管理器使用手机安全芯片保护用户数据。

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

密码管理器进化史 (4/4)

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

App可以请求安全芯片创建密钥,并且只有创建密钥的App才能请求安全芯片使用这个密钥执行加密算法。不论是加密还是解密,都由安全芯片处理,App只能够得到加密/解密的结果,而得不到密钥。

回顾第二代密码管理器,既不能写死密钥,也不能把密钥和数据库一起保存,所以只能通过主密码生成密钥来加密数据。

而现在,第四代密码管理器可以使用安全芯片来安全地存储密钥了。就算用户不设置主密码,数据也是非常安全的,因为尽管任何其他App偷取了数据库,也无法解密得到原文。

使用第四代密码管理器,只要手机解锁密码足够安全,又不担心女朋友查看你保存的密码,那就完全可以不设置主密码了。


安卓手机用户不要使用图案解锁,这篇论文 说只需要五次就能破解。


密码管理器进化史 (4/4)

如果担心在手机解锁状态下被他人偷窥密码,也可以使用主密码进一步保护数据的。


➍ 安全分析

第四代密码管理器的密钥存储在安全芯片内部,加密的数据只能够在本机解密,离开本机将无法解密。


  1. 不设置主密码仍然足够安全

    第二代和第三代密码管理器,必须依赖主密码生成密钥来保护数据,否则就和第一代密码管理器一样,可以被其他程序读取用户数据。

    第四代密码管理器,保护数据的密钥存储在安全芯片内部,即使是操作系统也不可提取,因此不设置主密码也能保护用户数据。


  2. 数据库被盗+泄露主密码,仍然安全

    第二代和第三代密码管理器,如果同时泄露了数据库文件和主密码(以及第三代的SecretKey),黑客就可以使用同样的算法解密出数据。

    第四代密码管理器,使用了存储在安全芯片内部的密钥来保护数据,黑客无法从安全芯片中提取出密钥,无法解密数据。


  3. 数据库被盗+暴力破解,仍然安全

    第二代和第三代密码管理器,如果数据库文件(以及第三代的SecretKey)泄露了,并且主密码不够强,黑客就可能通过租用大量云服务计算资源进行暴力破解。

    第四代密码管理器,使用了存储在安全芯片内部的密钥来保护数据,即使黑客暴力破解了主密码,也无法解密数据。


当然,有利就有弊,使用安全芯片大幅提升安全性的同时,第四代密码管理器也难以同步数据到其他设备。

由于密钥存储在安全芯片内部,无法从一个手机迁移到另一个手机,所以如果仅仅把加密后的数据同步到新手机,同样也是无法解密的。


黑客攻击

任何技术都是可以被攻击的,第四代密码管理器也不例外,毕竟App不可能100%弄清楚使用者是合法用户还是黑客。

回顾一下,黑客要偷取前几代密码管理器中保存的密码应具备的条件:


  • 第一代密码管理器,能够读取 数据库文件 即可;
  • 第二代密码管理器,需要读取 数据库文件 + 偷取/破解 主密码
  • 第三代密码管理器,需要读取 数据库文件 + 偷取/破解 主密码 + 读取 主密钥

第四代密码管理器,尽管读取 数据库文件 + 偷取/破解 主密码 也无法解密。黑客还需要:


  • 控制手机(因为数据离开手机就无法解密);
  • 突破安全芯片的防护;

➎ 总结


在各手机应用商店,搜“神锁离线版”,即可下载




密码
密码安全
密码管理
数据加密


推荐阅读
  • 在iOS开发过程中,当开发团队使用多台Mac设备时,可能会遇到无法继续申请新证书的问题。本文介绍了如何通过导出.p12文件来解决这一问题,并确保团队成员能够在不同设备上共享同一个证书。 ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 2017年软件开发领域的七大变革
    随着技术的不断进步,2017年对软件开发人员而言将充满挑战与机遇。本文探讨了开发人员需要适应的七个关键变化,包括人工智能、聊天机器人、容器技术、应用程序版本控制、云测试环境、大众开发者崛起以及系统管理的云迁移。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
author-avatar
章胜一首简单的歌_192
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有