GNU Privacy Guard (GPG または gpg) ツールは、ファイルを暗号化するためのOS標準のセキュリティツールです。gpgのmanページには次のように記載されています。

gpgは、GNU Privacy Guard (GnuPG) の OpenPGP (Pretty Good Privacy) 部分です。OpenPGP標準を使用したデジタル暗号化および署名サービスを提供するツールです。gpgは完全な鍵管理機能を備えており、完全なOpenPGP実装に期待されるすべての機能を搭載しています。

gpgユーティリティには多くのオプションがありますが、幸いなことに、暗号化と復号は簡単に行うことができ、すぐに使い始めるために知っておくべきオプションは3つだけです:作成または暗号化(-c)、復号(-d)、そして抽出と復号(オプションなし)です。

[ こちらもおすすめ: Linuxの単一ファイルシステムを暗号化する方法 ]

ファイルの暗号化

ファイルを暗号化する手っ取り早い方法は、gpgコマンドに-c(作成)オプションを付けて実行することです。

$ echo This is an encryption test > file1.txt

$ gpg -c file1.txt

 lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
 x Enter passphrase                                     x
 x                                                      x
 x                                                      x
 x Passphrase: ***********_____________________________ x
 x                                                      x
 x       <OK>                              <Cancel>     x
 mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

 lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
 x Please re-enter this passphrase                      x
 x                                                      x
 x Passphrase: ***********_____________________________ x
 x                                                      x
 x       <OK>                              <Cancel>     x
 mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

$ ls

file1.txt file1.txt.gpg

gpgでファイルを暗号化すると、元のファイルfile1.txtはそのまま残り、新しく暗号化されたファイルには一目でわかる.gpgという拡張子が追加されます。おそらく元のファイルfile1.txtは削除して、暗号化されたファイルだけが情報の唯一のソースとなるようにすべきでしょう。あるいは、暗号化されたバージョンを共有する場合は、共有する前に名前を変更することもできます。

.gpgという拡張子は必須ではありませんが、ユーザーがどの復号ツールを使ってファイルを読めばいいか判断する手助けになります。ファイル名は好きなものに変更可能です。

$ file file2.txt.gpg
file2.txt.gpg: GPG symmetrically encrypted data (AES cipher)

$ mv file2.txt.gpg testfile01.doc

$ file testfile01.doc
testfile01.doc: GPG symmetrically encrypted data (AES cipher)

ファイルの復号

ファイルの復号とは、暗号化を解除してファイルの内容を読めるようにすることを意味します。復号しただけでは、コンテンツの抽出や元のファイルの作成は行われません。

$ cat cfile.txt

This is an encryption and decryption test

$ gpg -c cfile.txt

< Set passphrase and repeat passphrase >

$ ls

$ cfile.txt cfile.txt.gpg

$ rm cfile.txt

$ gpg -d cfile.txt.gpg 
gpg: AES encrypted data
gpg: encrypted with 1 passphrase
This is an encryption and decryption test

$ ls
cfile.txt.gpg

$ cat cfile.txt.gpg 
o@yAw?D??^a??!s?????;??!?v9-3, ???XA??!?9v?}???
Ž??m??1./fKˡ??R???:j?F?|?AS?O

ファイルを復号する際、パスフレーズの入力を求められなかったことに注目してください。ファイルを再度復号するためにパスワードの入力を求めるようにしたい場合は、デフォルトのタイムアウト値である10分間待つ必要があります。

ファイルの復号と抽出

復号と同時に元のファイルを抽出したい場合は、奇妙に思えるかもしれませんが、オプションなしでgpgコマンドを実行します。

$ ls
cfile.txt.gpg
$ gpg cfile.txt.gpg 
< Passphrase prompt >
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
gpg: AES encrypted data
gpg: encrypted with 1 passphrase
$ ls
cfile.txt  cfile.txt.gpg

これで元のファイルが復元され、暗号化されたバージョンと復号されたバージョンの両方が存在することになります。

[ セキュリティについてお考えですか? ハイブリッドクラウドのセキュリティ強化とビジネス保護に関する無料ガイドをチェックしてみてください

まとめ

もちろん、gpgにはここで紹介した以外にもたくさんのオプションがあります。しかし、これら3つは使いやすい暗号化・復号オプションであり、すぐにファイルの保護を始めることができます。他のオプションについては、皆さんの誰かがEnable Sysadminに投稿したいと申し出ない限り、将来の記事で紹介しようと思います。編集チームまで、あなたがどのようにgpgコマンドを使っているかぜひ教えてください。


執筆者紹介

Ken has used Red Hat Linux since 1996 and has written ebooks, whitepapers, actual books, thousands of exam review questions, and hundreds of articles on open source and other topics. Ken also has 20+ years of experience as an enterprise sysadmin with Unix, Linux, Windows, and Virtualization.

Follow him on Twitter: @kenhess for a continuous feed of Sysadmin topics, film, and random rants.

In the evening after Ken replaces his red hat with his foil hat, he writes and makes films with varying degrees of success and acceptance. He is an award-winning filmmaker who constantly tries to convince everyone of his Renaissance Man status, also with varying degrees of success and acceptance.

UI_Icon-Red_Hat-Close-A-Black-RGB

チャンネル別に見る

automation icon

自動化

テクノロジー、チームおよび環境に関する IT 自動化の最新情報

AI icon

AI (人工知能)

お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート

open hybrid cloud icon

オープン・ハイブリッドクラウド

ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。

security icon

セキュリティ

環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報

edge icon

エッジコンピューティング

エッジでの運用を単純化するプラットフォームのアップデート

Infrastructure icon

インフラストラクチャ

世界有数のエンタープライズ向け Linux プラットフォームの最新情報

application development icon

アプリケーション

アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細

Virtualization icon

仮想化

オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください