LoginSignup
0
1

More than 3 years have passed since last update.

Jetson Nanoで持ち運び可能な暗号化ディレクトリの使用

Last updated at Posted at 2019-06-22

はじめに

Jetson Nanoを外に持ち出す場合にデータを暗号化したい場合がある。JetPack 4.2はSDカードにイメージを焼くタイプなので、このSDカードをそのまま暗号化するのは面倒だ。そこで1つのファイル上に暗号化ファイルシステムを構築してマウントすることを考える。

概要

次の手順で使用することができる。

  1. パッケージcryptsetupのインストール
  2. カーネルモジュールdm-cryptのインストール
  3. (持ち運び用の)ファイルを用意
  4. ファイルをマウント

上記を行うためのスクリプトはgithubに置いたので以下に使い方を説明する。

パッケージ cryptsetup のインストール

cryptsetupはaptを使ってインストールする。

ターミナル
sudo apt install cryptsetup

カーネルモジュール dm-crypt のインストール

カーネルモジュールdm-cryptはカーネルの再コンパイルを要するので、コンパイル済みのものをgithubに置いた。またモジュールと共にインストール用のスクリプトinstall.shを作成した。これを実行すればインストールされる。行っていることはモジュールの複製とdepmod -aである。

ターミナル
git clone https://github.com/yamamo-to/jetson_nano.git
cd jetson_nano/crypt_example
sudo ./install.sh

(持ち運び用の)ファイルを用意

持ち運び用のファイルを用意するのは少々面倒なのでこれもスクリプトmake_enc_file.shを作成した。
下記の例は、持ち運び用のファイルcryptfileを10MiBのサイズで作成する。

ターミナル
sudo ./bin/make_enc_file.sh cryptfile 10

作成する際にアルファベットの大文字で「YES」と入力する必要がある。
また暗号化用のパスワード(パスフレーズ)は3回入力することになる。1回目は最初の入力、2回目は確認用、3回目はフォーマット用である。

ターミナル
yamamo-to@jetson-nano:~/Documents/jetson_nano/crypt_example$ sudo ./bin/make_enc_file.sh  cryptfile 10
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.187049 s, 56.1 MB/s

WARNING!
========
This will overwrite data on /dev/loop1 irrevocably.
yamamo-to@jetson-nano:~/Documents/jetson_nano/crypt_example$ sudo ./bin/make_enc_file.sh cryptfile 10
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.186083 s, 56.4 MB/s

WARNING!
========
This will overwrite data on /dev/loop1 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase for /dev/loop1: 
Verify passphrase: 
---
Start ext4 format
Enter passphrase for /dev/loop1: 
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 8192 1k blocks and 2048 inodes

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

マウント

作成したcryptfile/mnt/testにマウントする。

ターミナル
sudo mkdir /mnt/test
sudo ./bin/mount_enc_file.sh cryptfile /mnt/test

アンマウント

ターミナル
sudo ./bin/umount_enc_file.sh /mnt/test

まとめ

  • Jetson Nanoで暗号化ファイルシステムを作成しマウントした。
  • 暗号化ファイルシステムを効率よく利用するために次の3つのスクリプトを作成した。
    • 暗号化ファイル作成スクリプト make_enc_file.sh
    • 暗号化ファイルマウント用スクリプト mount_enc_file.sh
    • 暗号化ファイルアンマウント用スクリプト umount_enc_file.sh
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1