0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux内核安全eCryptfs密钥管理

麦辣鸡腿堡 来源:OPPO内核工匠 作者:m0rgan 2023-11-29 11:46 次阅读

密钥管理

从上节中我们了解到eCryptfs中核心机制中主要有两个KEY,即FEKEK和FEK,前者和用户输入passphrase_passwd有关,后者是每个文件唯一的随机数。下面结合ecryptfs-utils源码,分别介绍这两个KEY的生成过程。

1、用户passphrase_passwd 到 FEKEK的转换

从C测试用例中看到,opt参数只有key_sig信息,并不指定FEKEK。且mount操作前提是已添加对应key(FEKEK)到内核keyring。脚本命令实际是mount helper协助(隐式)完成了添加keyring的操作。

核心函数即C用例中调用的ecryptfs_add_passphrase_key_to_key_ring。

首先ecryptfs_generate_passphrase_auth_tok会根据用户输入的passphrases信息、salt信息(参数指定,ecryptfs-utils有一个默认值ECRYPTFS_DEFAULT_SALT如下图),在generate_passphrase_sig函数中进行hash计算,并将结果记录在变量fekek中,然后对fekek再进行一次hash计算,结果记录为passphrase_sig/auth_token_sig,并返回给用户后续使用(key_sig)。

generate_payload则为每一次session创建一个auth_tok结构体,记录更多加解密相关信息。

图片

图片

图片

图片

图片

最后调用ecryptfs_add_auth_tok_to_keyring中,将对应FEKEK、key_sig、salt等信息都添加到keyring。至此就完成了从passphrase_passwd到FEKEK的转换和内核keyring添加。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1359

    浏览量

    40179
  • Linux
    +关注

    关注

    87

    文章

    11196

    浏览量

    208667
  • 磁盘
    +关注

    关注

    1

    文章

    359

    浏览量

    25152
  • 密钥管理
    +关注

    关注

    0

    文章

    23

    浏览量

    7573
收藏 人收藏

    评论

    相关推荐

    Linux内核的作用

    Linux操作系统是当今世界上最为广泛使用的开源操作系统之一,内核则是一个操作系统的核心和灵魂所在。对于一名Linux驱动开发者来说,了解Linux
    发表于 07-06 11:46 1759次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>的作用

    使用CAAM安全密钥的磁盘加密,设备映射器在调用dmsetup时启动报错怎么解决?

    设备映射器:表:253:0:加密:解码和设置密钥设备映射器时出错:ioctl:将目标添加到表时出错开发板为MCIMX7SABRE(设备状态为OPEN)测试的 Linux 内核是来自 linux
    发表于 04-18 08:29

    Arm密钥管理单元规范

    Arm®密钥管理单元(KMU)是一种集中的密钥管理架构,用于存储对称密钥材料(资产)。存储在KMU中的
    发表于 08-09 06:43

    安全组播密钥管理方案研究

    随着组播应用的不断发展,其安全性尤其是组播密钥管理成为热点问题。本文对基于逻辑密钥树的集中控制方案进行了分析和改进。改进方案在不增加组播成员密钥
    发表于 08-18 09:02 8次下载

    基于非对称加密的根密钥管理方案

    系统为代表的移动通信系统中,根密钥管理存在缺乏更新机制或更新机制不安全的问题。本文提出了一种适用于移动通信系统的基于非对称加密的根密钥管理
    发表于 12-13 15:44 0次下载
    基于非对称加密的根<b class='flag-5'>密钥</b><b class='flag-5'>管理</b>方案

    基于三叉树的OFT组密钥管理协议

    针对集中式组播密钥管理协议具有前向安全、后向安全、同谋破解等问题,本文提出了一种基于三叉树(Ternary Tree)的OFT组密钥
    发表于 12-13 16:07 0次下载
    基于三叉树的OFT组<b class='flag-5'>密钥</b><b class='flag-5'>管理</b>协议

    网络安全密钥是什么_网络安全密钥怎么修改

    本文开始阐述了网络安全密钥的定义,其次阐述了如何设置无线网络的安全密钥以及无线网络的加密方法,最后阐述了网络安全
    发表于 03-14 10:29 14.2w次阅读

    密钥管理系统概述_密钥管理系统架构图

    本文开始介绍了密钥管理系统的定义和密钥管理系统架构,其次阐述了密钥管理设计原则和对智能卡
    发表于 03-14 13:43 1.4w次阅读
    <b class='flag-5'>密钥</b><b class='flag-5'>管理</b>系统概述_<b class='flag-5'>密钥</b><b class='flag-5'>管理</b>系统架构图

    LINUX电源管理

    Linux的系统suspend和resumeLinux内核 runtime_PM 框架Linux内核电源管理综述
    发表于 11-07 19:36 8次下载
    <b class='flag-5'>LINUX</b>电源<b class='flag-5'>管理</b>

    Linux内核安全性对Android的影响

    在操作系统级别,Android平台不仅提供Linux内核安全功能,而且还提供安全的进程间通信 (IPC)机制,以便在不同进程中运行的应用之间安全
    的头像 发表于 09-13 09:09 1200次阅读

    一文解读密钥管理密钥分散

    密钥管理是数据加密技术中的重要一环,密钥管理的目的是确保密钥安全性(真实性和有效性)。
    的头像 发表于 01-11 16:41 2445次阅读

    磁盘eCryptfs加密测试用例

    方案架构原理和核心机制,最后对关键业务流程代码进行简单梳理。 测试环境使用Ubuntu20.04虚拟机,因Ubuntu系统默认打开eCryptfs内核配置(CONFIG_ECRYPT_FS=y),只需
    的头像 发表于 11-29 11:27 1068次阅读
    磁盘<b class='flag-5'>eCryptfs</b>加密测试用例

    eCryptfs整体架构和核心加解密机制介绍

    整体架构 eCryptfs整体架构如下图,主要是内核模块eCryptfs以及用户态进程ecryptfsd。ecryptfsd进程只在使用key type为openssl模式时需要
    的头像 发表于 11-29 11:43 775次阅读
    <b class='flag-5'>eCryptfs</b>整体架构和核心加解密机制介绍

    LKT安全芯片密钥管理与分散过程简单描述

    密钥管理是数据加密技术中的重要一环,密钥管理的目的是确保密钥安全性(真实性和有效性)。
    的头像 发表于 02-23 13:43 378次阅读

    鸿蒙开发:Universal Keystore Kit密钥管理服务简介

    Universal Keystore Kit(密钥管理服务,下述简称为HUKS)向业务/应用提供各类密钥的统一安全操作能力,包括密钥
    的头像 发表于 07-04 14:20 320次阅读
    鸿蒙开发:Universal Keystore Kit<b class='flag-5'>密钥</b><b class='flag-5'>管理</b>服务简介