嵌入式系统安全实验 插入密码算法内核用于加密
2022-06-08 13:56 作者:Seoul十大杰出校友 | 我要投稿
1.创建一个新密码算法的内核模块,生成该模块的.ko文件
2.将新.ko文件插入内核
3.通过算法接口使用新密码算法如加密、解密文件,验证其有效性
4.将新算法用在加密存储和加密通信中
一.创建内核模块
.ko文件介绍
kernel object文件(内核模块),意义在于把内核的一些功能移动到内核外,需要时插入内核,不需要时卸载内核
加载驱动模块:insmod命令
查看已加载的驱动模块列表:lsmod命令
二 编写密码算法
embcipher.c


embcipher.c对应的Makefile文件

make命令编译embcipher.c


将加密模块插入内核

三 验证有效性
用户空间应用程序

gcc编译运行,验证有效性

四 加密存储
打开dmsetup工具,查看命令说明

生成空文件,并加载为loop块设备

Create创建
embcrypt 自定义设备名称
--table:后跟具体参数
0:从0扇区开始
16384:扇区数
crypt:表示加密设备
aes-xts-plain64 由三部分组成,可根据自己需要选择不同参数
因为选择了xts所以需要256位key
0 是称为Initialization Vector初始向量的偏移值。一般填0即可
最后面根据需要还可以加入"1 allow_discards"打开discard功能(相当于trim)用于SSD优化。不过这个功能不利于保密





