1、本文档简述

1.1、定义:

Full-disk encryption (FDE) 全盘加密android4.0引入

File-based encryption (FBE) 文件级加密 android7.0引入

1.2、学习目标:

1、熟悉 linux 加密/解密,挂载流程,工具使用

2、熟悉android加密/解密,挂载流程。

2、预备知识

2.1、加密技术

https://www.cnblogs.com/redcoatjk/p/3822585.html 按作用不同,文件加密和数字签名技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术4种。

1、数据传输加密技术是对传输中的数据流加密,常用的方法有线路加密和端对端加密两种。

2、数据存储加密技术目的是防止在存储环节上的数据失密,可分为密文存储和存取控制两种。

3、数据完整性鉴别技术是对介入信息的传送、存取、处理的人的身份和相关数据内容进行验证,达到保密的要求。

4、密钥管理技术是数据的加密技术通常是运用密钥对数据进行加密,这就涉及到了密钥的管理问题。

2.2、典型加密算法

2.2.1、基于“消息摘要”的主要算法

MD5、sha.1,主要特点密文固定长度、稍有改变密文完全不同、无法数据还原。所以用于验证数据的完整性。android中的使用例子OTA包传输使用的MD5,OTA差分升级使用的SHA256,DM-verity使用的HASH算法。

MD5算法原理https://blog.csdn.net/sinat_27933301/article/details/79538169

2.2.2、“对称/非对称密钥”加密算法

对称算法:DES算法,RC算法,AES算法,主要特点加密可逆,加密解密使用相同密钥。全盘加密,文件级加密使用的一般是AES算法。

非对称算法:RSA算法,主要特点是加密解密使用不同密钥。

公钥加密,私钥解密(加密传输);私钥签名,公钥验签(确认发送方,也可验证完整性,可以用于OTA包签名,secure boot,Verify boot,应用签名)。

https://www.jianshu.com/p/3331467d139f

签名、加密、证书的基本原理和理解 https://www.cnblogs.com/Caersi/p/6720789.html

AES算法原理https://blog.csdn.net/gulang03/article/details/81175854

RSA算法原理https://blog.csdn.net/u014044812/article/details/80866759

2.3、Linux加密工具

2.3.1对称算法

全盘加密

全盘加密工具使用https://blog.csdn.net/zhongbeida_xue/article/details/78550712#t18

示例

fallocate -l 1G  ./luks.vol  //创建大文件cryptsetup --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 10000 luksFormat ./luks.vol //加密cryptsetup luksOpen ./luks.vol yectest //创建解密映射连接ls /dev/mapper/mkfs.ext4 /dev/mapper/yectest //给该块/文件创建文件系统mkdir /mnt/yectest mount /dev/mapper/yectest /mnt/yectest//挂载文件系统df -hT修改文件umount /mnt/yectest //卸载cryptsetup close yectest //关闭映射连接

文件系统加密

原理 https://www.kernel.org/doc/html/latest/filesystems/fscrypt.html

文件级加密工具使用https://blog.csdn.net/zm_jack/article/details/78894980

示例

sudo apt-get install ecryptfs-utils //安装控件

sudo mount -t ecryptfs real_path ecryptfs_mounted_path //以文件加密方式挂载文件

修改文件

sudo umount -t ecryptfs ecryptfs_test //卸载

以不同方式再挂载并修改文件

sudo mount -t ecryptfs real_path ecryptfs_mounted_path //以文件加密方式挂载文件

1、输入不同参数或密码

2、叠加加密

查看keys

cat /proc/keys | grep 

个人总结全盘加密和文件系统加密区别:

1、全盘加密只有一个密码,该密码正确解密后才可使用。文件级加密密码或参数不正确时也能挂载,如果之前加密的keyring存在,则可以读取文件,不存在则不能读取;写入时以新参数加密方式写入;

2、全盘加密磁盘上是已加密数据,看不到文件系统的,流程上是就需要先创建解密映射,然后挂载出文件系统(如果该磁盘不存在文件系统,只是bin文件就不需要再挂载了)。文件级加密已经存在文件系统,直接映射解密。

FBE 与FDE学习总结相关推荐

  1. android fbe分析,(原创)Android FBE加密源码分析(二)

    上一篇最后讲到,dispatchCommand是通过调用runCommand来执行具体的CMD操作,这一篇会接着说明.在进行说明前,需要先了解FBE的一些内容,为什么需要这些内容呢?因为在接下来的分析 ...

  2. 苹果首任AI总监Ruslan Salakhutdinov:如何应对深度学习的两大挑战?(附视频)

    虽然用AI算法可以解决很多问题,但当前还是面临很多局限性和挑战.卡内基梅隆大学教授.苹果首任AI总监Ruslan Salakhutdino认为,当前面对的挑战主要分为以下四大类: 1) 自然语言理解与 ...

  3. CIKM 2021 | AMTL:设计孪生掩码层高效学习维度自适应的Embedding

    ▐ 摘要 在深度推荐模型中,ID类特征的表示学习是至关重要的.其中,每一个特征值将会被映射成一个特征向量.对于同一个特征域的不同特征值,传统的特征表示学习方法会固定对应特征向量的维度大小.这样设置统一 ...

  4. Linux内核 crypto文件夹 密码学知识学习

    密码算法分类 对称算法 非对称算法 消息摘要(单向哈希)算法 这些算法作为加密函数框架的最底层,提供加密和解密的实际操作.这些函数可以在内核crypto文件夹下,相应的文件中找到.不过内核模块不能直接 ...

  5. 深度学习的推荐模型(DLRMs):设计孪生掩码层高效学习维度自适应的Embedding...

    猜你喜欢 0.2021年10月份热门报告免费下载1.如何搭建一套个性化推荐系统?2.从零开始搭建创业公司后台技术栈3.全民K歌推荐系统架构.算法及后台设计4.微博推荐算法实践与机器学习平台演进5.腾讯 ...

  6. 基于FDE(有限元差分)算法模拟环形谐振器

    大家好,欢迎来到今日本期案例学习,今天我要向大家介绍的是基于FDTD软件中的FDE(有限元差分计算方式)进行环形谐振器结构的模拟,希望能你帮大家提供一些参考: 利用该软件进行模拟主要需要进行以下四个部 ...

  7. 顶会论文笔记:联邦学习——ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework

    ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework 文章目录 ATPFL: A ...

  8. Android 加密之文件加密(FBE)

    一:加密简介: 加密是使用对称加密密钥对 Android 设备上的所有用户数据进行编码的过程.设备经过加密后,所有由用户创建的数据在存入磁盘之前都会自动加密,并且所有读取操作都会在将数据返回给调用进程 ...

  9. 翻译:利用GANs学习行人轨迹的多模态分布 Learning Multi-Modal Distributions of Pedestrian Trajectories with GANs

    目录 摘要 一.引言 二.相关工作 三.问题陈述和系统概述 3.1 符号与问题表述 3.2 基于GAN的个体轨迹采样器 3.2.1 生成器 3.2.2 社会方式:注意力池 3.2.3 判别器 3.2. ...

最新文章

  1. 8、Kubernetes核心技术Service
  2. 无招胜有招之Java进阶JVM(八)类加载机制
  3. libnss mysql_Ubuntu通过LDAP集成AD域账号登录(libnss-ldap方式)
  4. C++Objective-c
  5. webgis 行政图报错_WebGIS 地图 示例源码下载
  6. tdbgrid 数据类型输入错误 vb_VB语言基础(上)
  7. php 修改最大上传,php 修改上传文件大小限制实例详解
  8. 斐波那契查找算法(黄金分割查找算法)
  9. Python爬虫学习记录(0)——Python 爬虫抓站 记录(虾米,百度,豆瓣,新浪微博)
  10. windsns社交门户系统源码v1.0-掌上移动社交类SNS网站系统源码
  11. 【网络通信 -- SIP 电话】项目实战记录 -- FreeSwitch 服务器搭建与典型 SIP 电话应用
  12. mysql 获取农历年份_ASP获取农历日期程序代码
  13. vs2017 开关“/NOENTRY”只与 DLL 兼容;链接时不使用“/NOENTRY”
  14. salt returner mysql_saltstack实战2--远程执行之返回(returner)
  15. 智能证件录入系统——电子护照阅读器
  16. 国家开放大学计算机应用基础本科性考,精选国家开放大学电大本科《1200计算机应用基础》形考任务1试题及答案...
  17. 【网站密码管理不用愁】基础篇 • 利用selenium构建网站密码管理和自动登录神器
  18. 解决 hadoop 2.x 配置 yarn 运行任务 Running job 卡住
  19. 呼叫中心业务许可证和互联网信息服务ICP许可证可以同时申请吗?
  20. C语言数组元素下标为何从0开始

热门文章

  1. java报错Error attempting to get column ‘XXX’ from result set. Cause: java.sql.怎么解决
  2. Java Swing实现画板,可以打开,保存,基本图形,画笔设定
  3. WIN10 禁用 credentital guard Device Guard或Credential Guard与Workstation不兼容
  4. 在Docker容器中使用iptables时的最小权限的开启方法
  5. uniapp抖音小程序发布激励广告
  6. 如何挖掘站外营销推广策略
  7. Qt使用QMediaplayer实现视频播放和简易音乐播放
  8. Weakly Supervised Semantic Segmentation list
  9. 手机的耳机插电脑上可以录音吗 怎么录音
  10. (翻译)文本字段的最优显示方式