开发Linux系统下的磁盘加密方法详解

2016-01-29 17:33 1 1 收藏

开发Linux系统下的磁盘加密方法详解,开发 Linux系统下的磁盘加密方法详解

【 tulaoshi.com - Linux 】

随着智能手机的计算能力和存储能力的提高,手机中将会存放越来越多的私有数据,这些数据的泄密可能造成严重后果。手机信息安全一直是我们的重点之一,对于一些重要的功能我们要求鉴权后才能使用,但这只能挡住初级的黑客,只能防君子不能防小人,所以我们希望把重要的数据进行加密后再保存。为此,今天花了一点时间去了解Linux 磁盘加密的方法。

  方法一:cryptoloop

  下载并编译util-linux

  http://www.paranoiacs.org/~sluskyb/hacks/util-linux/losetup-combined.patch

  http://ftp.cwi.nl/aeb/util-linux/util-linux-2.12.tar.gz

  http://hydra.azilian.net/util-linux-2.12-kernel-2.6.patch

  tar zxvf util-linux-2.12.tar.gz

  cd util-linux-2.12

  patch -p1 < ../losetup-combined.patch

  patch -p1 < ../util-linux-2.12-kernel-2.6.patch

  (如果有_syscall5之类编译错误,将它换成新的调用方式syscall)

  make;make install

  编译内核(已经支持cryptoloop则跳过此步)

  make menuconfig

  Device Drivers Block DevicesLoopback device support

  BLK_DEV_CRYPTOLOOP

  加载模块

  modprobe cryptoloop

  (以及加密模块)

  创建loop设备

  dd if=/dev/zero of=~/cryptoloop.image bs=1M count=10

  losetup -e aes-256 /dev/loop0 ~/cryptoloop.image

  (提示输入密码)

  创建文件系统并加载

  mkfs.ext3 /dev/loop0

  mkdir /mnt/crypto

  mount -t ext3 ~/cryptoloop.image /mnt/crypto/ -oencryption=aes-256

  (提示输入密码)

  卸载

  umount /mnt/crypto

  losetup -d /dev/loop0

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/linux/)

  重新加载

  losetup -e aes-256 /dev/loop0 ~/cryptoloop.image

  mount -t ext3 ~/cryptoloop.image /mnt/crypto/ -oencryption=aes-256

  cryptoloop的实现比较简单,可以看看drivers/block/cryptoloop.c中的代码。loop设备在读写之前会调用lo_do_transfer函数,该函数再调用所安装的transfer插件。cryptoloop就是一种transfer的实现。至于使用哪种transfer及transfer的参数(如密码),这可以通过LOOP_SET_STATUS64的ioctrl系统调用来完成(mount命令就是这样实现的)。

  cryptoloop的缺点是只能针对loop设备,而且对日志型文件系统无效。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/linux/)

[1] [2] [3]   

来源:https://www.tulaoshi.com/n/20160129/1501913.html

延伸阅读
标签: 电脑入门
Linux Container容器是一种内核虚拟化技术,简称LXC,是一种轻量级的虚拟化手段,那么LXC要如何安装部署呢?下面图老师小编就给大家介绍下Linux下LXC的安装部署方法。 LXC 中文名称就是 Linux 容器工具,容器可以提供轻量级的虚拟化,以便隔离进程和资源,使用 LXC 的优点就是不需要安装太多的软件包,使用过程也不会占用太多的资源,本文...
标签: 服务器
linux下磁盘查看命令分享 一.fdisk命令 fdisk是磁盘分区命令,详细命令的使用可查看相关文档 使用命令fdisk -l查看当前磁盘的分区状态 二.df命令 df 是来自于coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置; 举例: 从图中我们可看到...
  ①简介 DNS就是Domain Name System,它能够把形如www.21php.com这样的域名转换为211.152.50.35这样的IP地址;没有DNS,浏览21php.com这个网站时,就必须用211.152.50.35这么难记的数字来访问。提供DNS服务的就是DNS服务器。DNS服务器可以分为三种,高速缓存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器...
  在我刚开篇写这一系列随笔的时候,就有人问:在Linux下进行Java开发究竟有什么优势,如果都是一样安装JDK、安装Eclipse,那和Windows下开发有什么区别?这个问题问得很尖锐,的确,我们似乎根本没有必要把我们的工作从Windows中转移到Linux中来。 在Linux系统中进行开发,和在Windows中进行开发相比较起来,即有优点,也有缺点。下面是...
标签: 电脑入门
对于刚入门的Linux初学者来说,还不知道如何配置ip地址,今天图老师小编就给大家介绍下Linux系统要如何配置ip地址,希望能帮助到你。 (1)Ifconfig命令 第一种使用ifconfig命令配置网卡的ip地址。此命令通常用来零时的测试用,计算机启动后 ip地址的配置将自动失效。具体用法如下。Ipconfig ethx ipadd netmask x.x.x.x。 其中ethx中的x...

经验教程

401

收藏

98
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部