0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Linux基礎】ファイル暗号化とは?

Posted at

はじめに

本記事では、ファイル暗号化についてサクッと理解して、特にLPIC試験で頻出の
LUKS(Linux Unified Key Setup) についての理解を座学と実践で深めます。

ファイル暗号化の種類

Linux環境では主に次のような暗号化方法があります。

1. ファイル単体の暗号化

ファイル単位で暗号化する方法です。
例として GPG(GNU Privacy Guard) を使う方法:

gpg -c secret.txt

復号は:

gpg secret.txt.gpg

これはファイル単位の暗号化として手軽で、外部に送信するファイルの保護などに向いています。

2. ファイルシステム単位の暗号化

ファイルやフォルダの集合体全体を保護したい場合は、ファイルシステム(ディスク領域)ごとの暗号化が適しています。代表例として LUKS(Linux Unified Key Setup) があります。

LUKSの特徴

  • Linux 標準の ブロックデバイス暗号化仕様
  • デバイス全体を暗号化
  • パスフレーズやキーで保護
  • device-mapperを利用した仮想デバイスを生成

LUKS は、暗号化されたデバイスを作成し、そこにファイルシステムを作成してマウントする仕組みです。暗号化そのものはディスクブロックレベルで行われ、ファイルがその上に作成されます。

構成イメージ:

/dev/sdb1
 ↓ cryptsetup
/dev/mapper/secure_disk
 ↓ mkfs
/mnt/secure

LUKSを試してみる

実際に暗号化されたファイルシステムを作成・利用する手順を紹介します。

※ 以下の操作は 指定したデバイスのデータをすべて消去 します。
検証用デバイスで実行してください。

① 暗号化領域の初期化(luksFormat)

まず、暗号化対象となるブロックデバイスを LUKS形式で初期化します。

sudo cryptsetup luksFormat /dev/sdb1
  • 指定したデバイスに LUKS ヘッダを作成
  • パスフレーズを設定(復号時に必要)
  • 既存データは完全に削除される

② 暗号化デバイスを開く(luksOpen)

次に、暗号化されたデバイスを開きます。

sudo cryptsetup luksOpen /dev/sdb1 luks1
  • パスフレーズを入力すると解除される
  • /dev/mapper/luks1 という 仮想ブロックデバイス が作成される

👉 以降の操作は /dev/mapper 配下 を対象に行います。


③ ファイルシステムを作成する

暗号化デバイスの上に、通常のファイルシステムを作成します。

sudo mkfs.ext4 /dev/mapper/luks1

※ ext4 の代わりに xfs なども使用可能です。


④ マウントする

作成したファイルシステムをマウントします。

sudo mount /dev/mapper/luks1 /mnt

これで /mnt 配下は 暗号化された領域 として利用できます。
通常のディレクトリと同じようにファイル操作が可能です。


⑤ アンマウントと暗号化デバイスのクローズ

利用が終わったら、マウント解除とデバイスクローズを行います。

sudo umount /mnt
sudo cryptsetup luksClose luks1
  • /dev/mapper/luks1 が削除される
  • 再度利用する際は、再び luksOpen が必要

補足:状態確認

暗号化デバイスの状態は以下で確認できます。

sudo cryptsetup status luks1

以上です!

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?