移动设备数据安全的新途径:eCryptfs技术

在当今数字化时代,移动设备数据安全问题日益受到重视。Android开发者和应用程序开发者都在努力确保用户数据的安全。本文将介绍一种基于eCryptfs的新方法来实现敏感数据的安全保护。

现有解决方案

目前,有多种方法可以保护用户数据的安全。图1展示了这些解决方案的不同层次。

图1:现有解决方案的三个层次

Android3.0版本以来,Android操作系统就支持全盘加密(FDE)。这是一种内核级别的解决方案。FDE通过使用加密密钥对Android设备上的所有用户数据进行编码。一旦设备被加密,所有用户创建的数据在写入磁盘之前都会自动加密,所有读取操作在返回给调用进程之前都会自动解密。普通开发者无需了解这些细节;如果用户在手机上启用了FDE,他们就可以在解锁设备之前对所有数据进行复制保护。

在这个级别上,需要root权限。Hook是一种重要的方法,可以确保需要保护的应用程序能够轻松地传输/保存数据。

大多数当前的安全解决方案都在应用级别。有许多现有的库供开发者使用,如OpenSSL、secureSqlite等。开发者可以使用这些现有的库来确保适当的加密和安全。

eCryptfs简介

eCryptfs是一个符合POSIX标准的企业级加密堆叠文件系统,用于Linux。它在每个文件的头部存储加密元数据,使得加密文件可以在主机之间复制。文件将使用Linux内核密钥环中的适当密钥进行加密。除了加密文件本身之外,无需跟踪任何额外的信息。

eCryptfs被广泛使用,作为Ubuntu加密主目录的基础,在Google的ChromeOS中原生使用,并透明地嵌入到多个网络附加存储(NAS)设备中。

基于eCryptfs的解决方案架构

使用eCryptfs时,加密和解密是自动进行的。图2展示了提议解决方案的架构。

图2:提议解决方案(基于eCryptfs)的架构

如所见,有了Linux内核中的eCryptfs,可以添加一个服务来响应所有操作。该服务接收使用它的应用程序的命令,并将请求发送给VOLD(Android中的卷守护进程),以实现实际的操作。

对VOLD的请求包括:

  • 创建安全目录
  • 锁定安全目录 - VOLD将卸载挂载点
  • 解锁安全目录 - VOLD将目录挂载到挂载点,然后应用程序可以轻松地将数据放入挂载点。内核将自动加密/解密数据。
  • 删除安全目录
  • 恢复安全目录
  • 更改密码

如图3所示,可以将这个解决方案分类并插入到一个新的层次中。

图3:提议解决方案的相应层次

创建自己的系统

图4展示了实现eCryptfs解决方案的变更。

图4:提议解决方案(基于eCryptfs)的变更

图4中显示的红色块展示了实现eCryptfs解决方案的变更。

  • 确保Linux内核支持eCryptfs。
  • 添加支持eCryptfs的实用程序和VOLD中的eCryptfs接口。
  • 添加主服务,包括应用程序可以使用的库。
  • 添加所需的SELinux策略,以确保它在新系统中可以工作。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485