3分で読めます
| macOS
_____________________
はじめに。暗号化は広範かつ複雑なテーマです。多くのニュアンスや落とし穴があります。この記事では、初心者向けに簡潔にまとめ、特定の簡単なタスクで理解しやすいようにしています。さらに深く学び、知識を広げたい方のために、このハウツー記事の最後に参考資料をいくつか紹介します。
方法1:暗号化されたDMG。「DMG」ファイルは「ディスクイメージ」の略で、必要に応じて1つまたは複数のファイルを保存するためのコンテナとして使用できます。DMGファイルは、かなり強力な暗号化とされるAES-256暗号化を使用しています。
DMGファイルはソフトウェアを配布する便利な手段なので、おそらく見たことがあるでしょう。今回は、DMGファイルの内容を暗号化し、復号化するためのパスコードを設定します。
使用するOS Xユーティリティは/Applications/Utilities/Disk Utility.appです。ここでは、OS X 10.11 El Capitanのバージョンを使用しています。
1.ディスクユーティリティアプリを起動します。
2.アプリの「ファイル」メニューに移動し、「新規画像」>「空白画像」を選択します。
ディスクユーティリティのファイルメニュー。
3.入力欄がポップアップ表示されます。最初の「名前を付けて保存」はDMGファイルの名前になります。3番目の「名前」はマウントするボリュームの名前です。同じ名前でも構いませんが、視覚的に区別しやすいように異なる名前にしてください。

4 . 暗号化方式としてAES-256を選択すると、パスコードの入力を求められます。パスコードは12文字以上で、忘れないようにしてください。ボリュームサイズを選択したら、残りの項目はデフォルトのままで構いません。

5.「保存」をクリックします。デスクトップに暗号化されたDMGファイルと、上記で名前を付けたマウントされたボリュームが表示されます。暗号化したいファイルをこのボリュームにドラッグし、マウントを解除してください。(元のファイルは忘れずに削除してください。)これでデータは(ほぼ)安全になりました。
暗号化された DMG ファイルは次のようになります。
6.暗号化されたデータにアクセスするには、DMGファイルをダブルクリックします。上記の手順4で入力したパスコードの入力を求められます。復号化されたボリュームがマウントされ、元のファイルにアクセスできるようになります。
キーチェーンにパスワードを保存するボックスにチェックを入れないでください。そうしないと、Mac にアクセスできる人が誰でもダブルクリックで DMG を簡単に復号化できるようになります。
これで、好きなものを何でもドラッグできる安全なコンテナができました。ただし、機密ファイルをボリューム間でコンテナにドラッグする際は、元のファイルを削除して「ゴミ箱を安全に空にする」を選択することを忘れないでください。ただし、SSDやEl Capitanをお使いの場合は、まずこちらの記事をお読みください。「El Capitanでゴミ箱を安全に空にする機能がなくなった場合の対処法」
次のページ: 予想通りの展開。コマンドラインテクニック。
ページ2 – 方法2、UNIXコマンドライン
方法2:コマンドラインでのSSL暗号化。OS XのUNIXコアには、個々のファイルを暗号化する機能があります。「openssl」コマンドを使えば、コマンドラインから実行できます。メール送信時の暗号化の代替方法の詳細やニュアンスなどについては、SSLに関するこちらのチュートリアルをご覧ください。ここではテキストファイルを暗号化します。ここで紹介する方法でも、AES-256暗号化を使用します。
1.暗号化します。ターミナルコマンドを開き、暗号化するファイルに移動します。UNIXの「cd」コマンドを使ってファイルに移動する方法をご存知だと仮定します。ここでは、secret.txt とします。コマンドラインに入力してください。
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc
パスコードを入力して確認するよう求められます。元のファイルは自動的に削除され、暗号化されたファイルは「secret.enc」という名前で出力されます。私の暗号化されたテキストファイルは以下のようになります。

2.復号化します。コマンドラインで暗号化されたファイルに移動し、次のように入力します。
openssl enc -d -aes-256-cbc -in secret.enc > secret.txt
パスコードの入力を求められます。復号化されたテキストファイルは「>」記号の後のファイルに書き込まれ、元の暗号化ファイルは保持されます。
この2つ目の方法は少しマニアックですが、ダミーのテストデータで少し試してみると、すぐにコツをつかめるはずです。もちろん、もっとマニアックなことをしたい場合は、上記のコマンドをユーザー入力を含むシェルスクリプトでラップすることもできますが、それはこの記事の範囲を超えています。
最後に:コマンドラインでzipコマンドを使用する同様の手法があります。CocoatechのPath Finderのようなユーティリティは、GUIでこれをラップしています。ただし、後方互換性のため、私の知る限り、OS Xのzip暗号化の実装は依然として非常に脆弱であるため、使用すべきではありません。OpenSSLは、より安全で最適な方法です。
さらに読む
1. 上記の -salt オプションを使用する理由。
2. OpenSSLコマンドの詳細
3. AES暗号化規格