第11章 パーティションとファイルの暗号化

目次

11.1. YaST を利用した暗号化ファイルシステムの設定
11.2. 暗号化されたホームディレクトリの使用
11.3. vi を使用した単一 ASCII テキストファイルの暗号化

多くのユーザは自分のマシン内に秘密の情報を保持していて、それらは第三者に 読み取られるべきではないものです。異なる環境やネットワークで作業を行なう モバイルコンピューティングに依存すればするほど、それらのデータに対する 扱いは厳重なものにしなければなりません。お使いのシステムにネットワーク 経由や物理的にアクセス可能な環境の場合、ファイルやパーティション全体の 暗号化が必要となります。ラップトップや外付けのハードディスク、 USB メモリの ようなリムーバブルメディアは、いずれも紛失や盗難の危険性があるものである ため、秘密の情報を保持するファイルシステムを暗号化しておくことをお勧め します。

データの保護を暗号化で行なう場合、下記のような方法があります:

ハードディスクのパーティションを暗号化する方法

インストール時、およびインストール後のシステムから YaST を利用することで、 暗号化パーティションを作成することができます。詳しくは 11.1.1項 「インストール時の暗号化パーティション作成」11.1.2項 「実行中のシステムに対する暗号化パーティションの作成」 をお読みください。 この方法は外付けのハードディスクなど、リムーバブルメディアに対しても 使用することができます。こちらに関する詳細は 11.1.4項 「リムーバブルメディアの内容の暗号化」 をお読みください。

コンテナとして暗号化ファイルを作成する方法

お使いのハードディスクやリムーバブルメディア内に、 YaST を利用して 暗号化ファイルを作成することができます。暗号化ファイルを作成したあとは、 他のファイルやフォルダをその中に 保存 することが できるようになります。詳しくは 11.1.3項 「コンテナとしての暗号ファイルの作成」 をお読みください。

ホームディレクトリを暗号化する方法

openSUSE では、暗号化されたホームディレクトリを作成することが できます。ユーザがシステムにログインする、暗号化されたホームディレクトリ がマウントされ、内容をユーザから走査できるようになります。詳しくは 11.2項 「暗号化されたホームディレクトリの使用」 をお読みください。

単一の ASCII テキストファイルを暗号化する方法

機密情報や秘密のデータを含む ASCII テキストファイルが少数だけ存在する 場合、 Kgpg や vi エディタを利用することで、それらを個別にパスワードで 保護することができます。詳しくは 11.3項 「vi を使用した単一 ASCII テキストファイルの暗号化」 をお読みください。

[Warning]暗号化メディアの保護範囲について

本章で言及している方法は、いずれも限定的な保護しか提供しないことに注意して ください。たとえばお使いのシステムを攻撃から防ぐような機能はありません。 また、暗号化メディアを正しくマウントすると、適切なアクセス権を持つユーザで あれば、中身のデータに自由にアクセスすることができる点にも注意してください。 ただし、暗号化されたメディアはコンピュータを紛失した場合や盗難にあった 場合に、秘密のデータを不当に読み取られる行為から保護することができます。

11.1. YaST を利用した暗号化ファイルシステムの設定

YaST を利用することで、インストール時やインストール後のシステムから、 お使いのシステム内にあるパーティションやファイルシステムの一部を暗号化 することができます。ただし、インストール済みのシステムでパーティションを 暗号化するのは、パーティションのサイズ変更と設定変更を伴うことになるため、 さらに難しい手順を行なう必要があります。このような場合は、既存の パーティション内に暗号化ファイルを作成し、他のファイルやファイルシステムの 一部を 包含させる ほうが便利です。パーティション全体を 暗号化するには、パーティションレイアウト内に専用のパーティションを用意する 必要があります。なお、 YaST 側で提示する標準のパーティション設定の提案では、 既定では暗号化パーティションの設定を行ないません。このような場合は、 パーティション設定ダイアログから手作業で設定してください。

11.1.1. インストール時の暗号化パーティション作成

[Warning]パスワード入力について

暗号化パーティションに設定するパスワードは、忘れることの無いように注意して ください。パスワードを忘れてしまうと、暗号化されたデータにアクセスできなく なるほか、復元も行なうことができなくなります。

YaST での熟練者向けパーティション設定ダイアログでは、暗号化パーティション を設定するのに必要なオプションを提供しています。新しい暗号化パーティションを 作成するには、下記の手順で行ないます:

  1. システム+パーティション設定 を選択し、熟練者向けパーティション設定ダイアログを表示させます。

  2. ハードディスクを選択して 追加 を押し、プライマリパーティション または拡張パーティションを選択します。

  3. 次にパーティションのサイズを設定するか、パーティションに割り当てるディスク範囲を 設定します。

  4. さらにファイルシステムと、対象のパーティションに設定するマウントポイントを設定 します。

  5. デバイスの暗号化 のチェックボックスにチェックを入れます。

    [Note]追加のソフトウエア要件について

    デバイスの暗号化 にチェックを入れると、追加のソフトウエア をインストールする旨のポップアップウインドウが表示される場合があります。 暗号化パーティションを正しく動作させるには、提示されたパッケージを全て インストールしてください。

  6. 次へ を押し、パーティションの暗号化に使用する パスワードを入力します。パスワードは画面に表示されないことに注意して ください。また、入力ミスを防ぐため、パスワードは 2 度入力してください。

  7. 完了 を押して処理を完了させます。暗号化パーティション が作成されます。

/etc/fstab 内で暗号化パーティションを自動マウント するように設定している場合は、起動処理時にオペレーティングシステムから パスワードを尋ねます。いったんマウントが成功すれば、そのパーティションは すべてのユーザから利用できるようになります。

起動時の暗号化パーティションのマウントを行なわないようにするには、 パスワードプロンプトで何も入力せず、 Enter だけを押して いってください。この方法では、暗号化されたファイルシステムはマウント されない状態で、オペレーティングシステムの起動が続けられます。 この場合は暗号化されたパーティション内のデータにはアクセスできません。

起動処理時にマウントしなかった暗号化パーティションを、後からマウント したい場合は、お使いのファイルマネージャを開いてから、対象のパーティション を選択して開いてください。開く際にはパスワードを尋ねられますので、 正しいパスワードを入力するとマウントが行なわれます。

既にパーティションの存在するマシンにシステムをインストールしようとして いる場合は、インストール時に既存のパーティションを暗号化することも できます。この場合は、 11.1.2項 「実行中のシステムに対する暗号化パーティションの作成」 にある手順に従って作業を行なってください。なお、この作業を行なうと、 対象のパーティション内にある全てのデータが破壊されることに注意して ください。

11.1.2. 実行中のシステムに対する暗号化パーティションの作成

[Warning]実行中のシステムに対する暗号化設定について

実行中のシステムでも暗号化パーティションを作成することができますが、 既存のパーティションに対して暗号化を設定すると、そのパーティション内に ある全てのデータは破壊されるほか、既存のパーティションに対するサイズ 変更や再構成が必要となります。

実行中のシステムから YaST コントロールセンターを起動し、 システム+パーティション設定 を選択します。ポップアップメッセージが表示されますので、 はい を押して先に進みます。 熟練者向けパーティション設定 が表示されたら、暗号化する パーティションを選択して 編集 を押します。 残りの手順は 11.1.1項 「インストール時の暗号化パーティション作成」 と 同じです。

11.1.3. コンテナとしての暗号ファイルの作成

パーティションを使用する代わりに、秘密のファイルやフォルダを保持する ことのできる暗号化ファイルを作成する方法もあります。このようなコンテナ 型のファイルも、 YaST の熟練者向けパーティション設定ダイアログから 設定できます。設定を行なうには、 暗号ファイル+暗号ファイルの追加 を選択し、暗号 ファイルのフルパスとサイズを指定します。新しくコンテナ型のファイルを 作成する場合は、 ループファイルの作成 を選択します。 あとはフォーマットの設定とファイルシステムの種類について、提案内容を そのまま受け入れるか変更するかしたあと、マウントポイントを指定します。 なお、 デバイスの暗号化 のチェックボックスにチェック が入っていることを確認してください。

次へ を押し、暗号化に使用するパスワードを入力して 完了 を押します。

暗号化パーティションと比べて暗号化ファイルは、ハードディスクの パーティション設定の変更を行なう手間が無い、という利点があります。 これは暗号化ファイルがループバックデバイスと呼ばれる仕組みを利用して マウントしているためで、これによって通常のパーティションとほぼ同じ 動作をすることができるようになっています。

11.1.4. リムーバブルメディアの内容の暗号化

YaST ではリムーバブルメディア (外付けのハードディスクや USB メモリ など) をハードディスクと同様に取り扱います。もちろんコンテナ型の暗号化 ファイルや暗号化パーティションは、上述のとおりの手順で作成し利用する ことができます。ただし、リムーバブルメディアは通常、システムの動作中に 取り付けられるものであるため、システム起動時のマウントは設定しないで ください。

YaST でリムーバブルメディアに対して暗号化を行なうと、 KDE や GNOME の デスクトップでは暗号化パーティションを自動的に認識し、デバイスが接続された ときにパスワードを尋ねるプロンプトを表示します。また、 KDE や GNOME で FAT 形式のリムーバブルメディアを接続すると、パスワードを入力したユーザ (つまりデスクトップを利用しているユーザ) がデバイスの所有者となり、 ファイルの読み書きを行なうことができるようになります。 FAT 以外のファイル システムの場合は、 root から所有者情報を変更して、デバイス上にある ファイルを読み書きできるように設定してください。

11.2. 暗号化されたホームディレクトリの使用

盗難や不正なアクセスからホームディレクトリ内のデータを保護するため、 YaST のユーザ管理モジュールを利用してホームディレクトリの暗号化を行なう ことができます。暗号化ホームディレクトリは、新しく作成するユーザと既存の ユーザの両方に対して設定することができます。既存のユーザに対してホーム ディレクトリの暗号化や暗号化の解除を設定するには、対象となるユーザの ログインパスワードを知っておく必要があります。詳しくは 項 「暗号化ホームディレクトリの管理」 (第10章 YaST を利用したユーザ管理, ↑スタートアップ) をお読みください。

暗号化ホームディレクトリは、 11.1.3項 「コンテナとしての暗号ファイルの作成」 で説明しているコンテナ型のファイルとして作成されます。それぞれ暗号化 ホームディレクトリ 1 つに対して、 /home 以下に 下記の 2 つのファイルが作成されます:

ユーザ名.img

ディレクトリを保持するイメージファイル。

ユーザ名.key

上記のイメージファイルに対する鍵で、ユーザのログイン用パスワード で保護されるファイル。

ホームディレクトリを暗号化した場合は、ユーザがログインしたときに暗号化が 解除されます。内部的には pam_mount と呼ばれる PAM のモジュールが、これを実施します。暗号化ホームディレクトリ以外にログイン の処理が必要となる場合は、それらを /etc/pam.d/ 内の 設定ファイルで指定する必要があります。詳しくは 第2章 PAM を利用した認証 および pam_mount のマニュアルページをお読みください。

[Warning]セキュリティの制限

ユーザのホームディレクトリの暗号化は、同じシステムを利用する他のユーザ からの機密保護にはならないことに注意してください。他のユーザに対しても 機密を保護したい場合は、システムを物理的に共有すべきではありません。

また、セキュリティ機密保護をさらに強化したい場合は、 swap (スワップ) パーティションや /tmp, /var/tmp についても暗号化を行なうことができます。 これらのパーティションやディレクトリには、秘密のデータを処理する際に 利用する一時ファイルが存在していて、その中には秘密のデータが含まれる 可能性があるためです。 swap, /tmp, /var/tmp の暗号化方法 には YaST パーティション設定モジュールを利用して行ないます。詳しくは 11.1.1項 「インストール時の暗号化パーティション作成」 または 11.1.3項 「コンテナとしての暗号ファイルの作成」 をお読みください。

11.3. vi を使用した単一 ASCII テキストファイルの暗号化

暗号化パーティションを利用するにあたっての欠点は明確です。パーティションが マウントされてしまえば、少なくとも root はそれらのデータにアクセスできてしまうという点です。これを防ぐには、 vi を暗号化モードで使用します。

vi を暗号化モードで使用するには、新しいファイルを編集する際 vi -x ファイル名 のようにして 起動します。起動するとパスワードを設定するように促されますので、そこで パスワードを入力すると、保存時にそのパスワードで暗号化して保存するように なります。なお、対象のファイルにアクセスする際は、正しいパスワードを入力 するよう促されます。

さらに厳しいセキュリティを必要とする場合は、暗号化パーティション内に 暗号化したテキストファイルを配置してください。 vi による暗号化はそれほど 強度の強いものではないため、暗号化パーティションを使用しておくことを お勧めします。


openSUSE セキュリティガイド 13.1