
変更履歴
- Rev. 0.7 : 2024年01月01日
-
新規作成
下に示す文書の欠けていた説明の追加や、2025年04月の現状に合わせて
再構成した。
変更部分については挙げない、
より分かりやすくなるよう文書タイトルも変更したので、新規作成とした。
【OpenPGP】メール暗号化のためのPGP導入が、とっても簡単になっていた!
(有料サービスにも負けない、無料の 脱PPAP最強解)
本記事は、下に示す文書の欠けていた説明の追加や、2025年04月の現状に合わせて再構成
したものです。
より分かりやすくなるよう文書タイトルも変更したので、新規作成としました。
【OpenPGP】メール暗号化のためのPGP導入が、とっても簡単になっていた!
(有料サービスにも負けない、無料の 脱PPAP最強解)
1 メール本文や添付ファイルの暗号化がGpg4winで簡単になっていた
昨今流行りの「脱PPAP」に、
メールやファイルを暗号化する
”S/MIME”や
”PGP”を利用するのは、
最適解の一つです。
わかってはいるものの、”S/MIME”では費用がかかり、無料のPGPは初期設定が難しい!
それが、OpenPGP系のGnuPG
がGnuPG2系になって、
対応アプリも出てきて、今(2020年)ではとても簡単になりました。
”S/MIME”や”PGP”には、次のような特長があります。
・ 送信者、受信者双方で電子証明書を用いた暗号化メールを利用することで、
攻撃者による盗聴がされた場合であっても、それを解読することができない。
・ 証明書による署名されたメールを送信するので、
受信者は送信者の真正性
(正当な権限において作成された記録に対し、
虚偽、書き換え等が防止され、第三者から見て責任の所在が明確であること)
を確認することができる。
・ 電子署名されたメールは、送信時の内容を証明しているので、
改ざんを検知するとメールソフトで警告が表示される。
S/MIMEとPGPとの違いは、使用する公開鍵の真正性を保証する仕組みです。
現状では、どちらも普及していません。
S/MIMEの場合、認証局にお金を支払わなければ利用できません。
PGPの場合は、無料で使うことはできますが、
つい最近(2020年)まで多くのメールソフトは標準対応おらず、
また自分で導入しようにもそう簡単ではありませんでした。
鍵の管理も簡単ではありませんでした。
今現在(2020年より)では、次のような状況になっています。
OpenPGP系の
GnuPG
がGnuPG2系となっています。
GnuPG2対応の”Gpg4win”
という統合型アプリケーションが、Windows向けに配布されました。
また、フリーのメールソフトで良く知られたThunderbirdも、
2020年頃のバージョン78.2.1からデフォルトでOpenPGPが有効となりました。
Gpg4winやThunderbirdのようなソフトがでてきたおかげで、
暗号の知識に詳しくなくてもPGPの利用が難しいことではなく、
とっても簡単に利用できるようになってきています。
本記事は、Gpg4winの導入や設定、暗号化メール送受信の方法について説明していきます。
なお、Gpg4winは、デスクトップ版Outlook専用のOpenPGPツールと言って良いかと思います。
Thunderbirdでは、プラグイン等インストールしなくても、
単独でOpenPGPやS/MIMEを利用できるようになっています。
2 WindowsにOpenPGP系のGnuPGを導入する
本章では、
OpenPGP系のGpg4winの導入と、公開鍵・秘密鍵の鍵ペア作成について示します。
暗号化処理のエンジンであるGnuPGコンポーネントは、
Gpg4winをインストールすると自動的にインストールされます。
利用者は、GnuPGコンポーネントについて、特に意識する必要はありません。
Gpg4winは、また、ファイルやフォルダの暗号化にも利用できます。
ファイルエクスプローラーに統合されるので、暗号化・復号化操作は直感的に行えます。
2.1 Gpg4winの入手とインストール
2.1.1 Gpg4winの入手
Gpg4winは、 次のサイトからダウンロードできます。
このサイトからダウンロードできるのは、2025/04/01現在最新の“Gpg4win 4.4.0”です。
このバージョンは、私の環境のOutlook(バージョン 2503: ビルド18623.20156)メール送信時、
デジタル署名付加でフリーズする現象が発生しています。
【Gpg4win 4.4.0】Gpg4win 4.4.0、デジタル署名付きメール送信でOutlookがフリーズ
“Gpg4win 4.4.0”でなんらかの不具合が発生するようでしたら、
旧バージョンを使われた方が良いのかもしれません。
Gpg4winの過去バージョンは、下に示すサイトから入手できます。
・ Gpg4win 4.3.1
Gpg4win 4.3.1 | File Eagle
・ Gpg4win 4.2.0
Gpg4win 4.2.0 | File Eagle
ダウンロード開始前に図2.1-2のような表示がでますので、
寄付可能な金額を選んでください。
$0であってもOKです。
2.1.2 インストール
本項では、インストールにおける注意点だけを述べます。
基本的に難しい設定はありませんので、
表示されるガイダンスにしたがって操作するようにしてください。
インストール開始時におけるGpg4winコンポーネントの選択では、
デフォルトのままで良いでしょう。
“GpgEX”をは外してしまうと、Gpg4winでのファイルの暗号化はできなくなってしまいます。
2.2 鍵ペアの作成
利用するにあたって、まず初めに自分の公開鍵と秘密鍵の鍵ペアを作成します。
公開鍵は、
暗号化に使用する鍵で、自分宛のメールを暗号化してもらうよう他者に渡す鍵となります。
秘密鍵は、自分のデジタル署名や、
他者から送ってもらった暗号メールを復号化するのに使用する鍵となります。
鍵ペアは、Gpg4winのコンポーネントであるKleopatraによって作成します。
Gpg4winで作成できる鍵ペアのタイプには、次の2種類があります。
① 個人用OpenPGP鍵ペア
② X.509鍵ペア
(ここでは、いわゆる
S/MIME証明書:
認証局
(CA)で署名してもらう必要あリ
)
)
本記事では、上に示した鍵ペアタイプのうち、①の個人用OpenPGP鍵ペアの作成について示します。
2.2.1 個人用OpenPGP鍵ペアを作成
本項では、個人用OpenPGP鍵ペアの作成について示します。
インストール後初めてKleopatraを起動した時、図2.2-1に
示すように表示されます。
「New Key Pair」をクリックします。
鍵タイプは、「個人用のOpenPGP鍵ペアを作成」を選択します。
図2.2-3に示すウィンドウが開きます。
「名前」には、鍵ぺアの名前を設定します。 日本語は、避けた方が良いでしょう。
「メールアドレス」には、暗号化に使用するメールアドレスを入力します。
「Protect the generated key with a passphrase」は、チェックします。
署名時やファイルの復号化時において秘密鍵を利用する時、
また秘密鍵を他の端末へエクスポートする時など、
第三者によって不正利用されないようパスフレーズでガードするようにします。
「Create」をクリックする前に、
「詳細設定…」で、暗号化アルゴリズムを確認しておきます。
「鍵の要素」を、最も多くのメールソフトが対応している
RSA
に変更します。
また、鍵長が大きいほど安全になりますので、鍵長を4096に変更します
(何かのサービスでRSA2048ビット含むそれ以下は非推奨になったとか)。
「Create」をクリックすると、新しい鍵生成前に設定するパスフレーズを聞かれます。
鍵ペアの生成には、非力なPCでは相当時間がかかるそうです。
フリーズしてしまったと思い、Kleopatraを強制終了してしまわないようにしてください。
鍵ペアの生成が完了すると、図2.2-6 のように表示されます。
鍵ペアのバックアップや、自分宛メールを暗号化してもらうメール受け取り先への公開鍵の送付
などは、このタイミングでなくて後の任意のタイミングでできますから、
ここは素直に「完了」してしまいます。
2.2.2 X.509鍵ペアの作成
X.509鍵ペアは、
いわゆるS/MIMEを
利用するための鍵ペアと証明書です。
ここで作成した
X.509の証明書は、
認証局(CA: Certificate Authority)の署名が必要となります。
認証局利用は基本的に有料で、「電子証明書発行サービス」などを利用することになります。
安くても年3千円ほどかかるようです。
ですので、本記事での説明は割愛します。
ちなみに、下に示すサイトに
『無料でS/MIMEを利用するため「オレオレ認証局」を作ってみる』
という記事を作成しました。
参考になるかと思いますので、よければ見てください。
【OpenSSL / Windows】無料でS/MIMEを利用するため「オレオレ認証局」を作ってみる
|すたっくおーばーふろー
3 Gpg4winの初期設定と公開鍵の交換
本章では、暗号化メールの送受信を始める前のGpg4winの初期設定と、
公開鍵の交換について示します。
3.1 Gpg4winの初期設定
Gpg4winをインストールして自分用の鍵ペアを作っただけで、
直ぐに暗号化メールの送受信ができるようになるわけではありません。
Gpg4winに、デジタル署名を行うのか、メール本文暗号化を有効化するのかしないのか、
送信時に公開鍵を添付するとかしないなどの設定を行います。
Gpg4winをインストールすると、
Outlookホームのツールバー右端に「Insecure」というリボンが追加されます。
まず、リボン下部の右下向きの矢印をクリックします。
Gpg4win(4.0.3)では、図3.1-2に示すようなウィンドウが開きます。
インターネット上に公開されているGpg4winの説明書は古いもので、
最新のバージョン(4.0.3)のものに更新されていませんが、
設定の参考にはなりますので紹介しておきます。
A Information on the GpgOL Outlook extension
- (1)Enable the S/MIME support
-
「Enable the S/MIME support」は、チェックします。
チェックされていないと、メール本文は暗号化されません。
「Prefer S/MIME」は、S/MIMEメソッドを優先するかどうかの設定です。
チェック有りの場合はS/MIMEメソッド、チェック無しの場合はOpenPGPが優先となります。
どちらのメソッドであっても暗号化はできます。 - (2)General
-
Sign new messages by default
新規メール作成の時、デフォルトで署名を行うか否かの設定です。
Encrypt new messages by default
新規メールの時、デフォルトで暗号化を行うのか否かの設定です。
Select crypto setting automatically for reply and forward
返信や転送の時、暗号化設定を自動的に選ぶかどうかの設定です。
Send OpenPGP mails without attachments as PGP/Inline
「OpenPGPのメールを添付なしでPGP/Inlineとして送信する。」ですが、はて?
具体的にどのようなことを示しているのか、この短い文章だけではよくわかりません。
Encrypt drafts of secure mails to this key:
下書きを保存するとき、暗号化するのかしないのかの設定です。
暗号化するとしたら、どの鍵を使うのかの選択も行います。 - (3)Automation
-
Import any keys included in mails
受信メールに公開鍵が添付されていた時、自動的にインポートするのかの設定です。
Resolve recipient keys automatically
受信メールの鍵を、自動的に解明するのかどうかの設定です。
GnuPG System(Technical)の設定で着目すべきは、
OpenPGPタブで表示される「鍵のインポートとエクスポートを制御するオプション」
くらいでしょう。
・「署名から手元にない鍵をインポートする」
・「署名に公開鍵を含める」
他の項目は、説明資料が見つかっておらずよくわからないので、
デフォルトのままにしておいた方が良さそうです。
3.2 公開鍵の受け渡し
公開鍵を自分宛メール送信者に渡す方法には、次の3つがあります。
① OpenPGPが運営する
PGP公開鍵サーバー
から取得してもらう
② メールの署名に公開鍵を含めて送信する
③ 物理的なファイルで渡す
いずれの方法であっても、第三者に盗み取られても大丈夫です。
公開鍵は暗号化にだけ使用するものですので、
秘密鍵が無ければメールを復号化することはできませんし、
なりすましに利用することもできません。
上記の内、①の方法を利用されるのが、もっとも良いでしょう。
鍵交換において、偽物の鍵にすり替えられてしまうことが全く無いとは言い切れません。
交換した鍵の正当性は、
鍵のフィンガープリント(指紋)を受け渡し側と受け取り側で比較してみることで確認します。
フィンガープリントを含む鍵の情報表示のウィンドウは、
Kleopatraの鍵一覧表示において目的の鍵をダブルクリックすれば開きます。
3.2.1 OpenPGPが運営するPGPの公開鍵サーバーから取得してもらう
OpenPGPが運営する
PGP公開鍵サーバー
から取得してもらうことで、
自分宛メールの公開鍵を渡す方法です。
自分宛メール送信者には、下に示すPGP公開鍵サーバーのURLを伝えておきます。
PGP公開鍵サーバーから公開鍵を取り出すキーワードは、メールアドレス、
またはフィンガープリントだけです。
自分の公開鍵は、事前にPGP公開鍵サーバーに登録おく必要があります。
登録するのは、”asc”形式の公開鍵ファイルそのものだけです。
なお、一旦登録してしまうと、
削除は容易ではありませんので、十分気をつけて登録するようにしてください。
3.2.2 メールの署名に公開鍵を含めて送信する
PGPの公開鍵を、送信するメールの署名に添付する方法です。
(1)送信メールの署名に公開鍵を添付する設定を行う
1. 左ペイン(pane)から目的のメールアカウントの受信トレイを選んで、
「ホーム」メニューを選びます。
表示されたツールバーから「Insecure」の右下向き↓をクリックします。
「Insecure」アイコンではなく、右下向き↓をクリックしなければ、
「Configure GpgOL」ウィンドウは開かないので注意してください。
2. 左ペインのメニューから「GnuPG System」を選びます。
「鍵のインポートとエクスポートを制御するオプション」セクションの、
「署名に公開鍵を含める」をチェックします。
(2)受信メールから送信者の公開鍵を受け取る
受信者は、送信者の公開鍵を図3.2-6に示すように、”asc”形式の添付ファイルとして
受け取ります。
公開鍵をメールから取り出し、Gpg4winのKleopatraにインポートします。
公開鍵の受け取り作業は、以上となります。
なお、Gpg4winの設定で、
”Automation” / ”Import any keys included in mails”が有効になっていれば、
受信メールからの公開鍵のインポートは自動的におこなわれます。
4 暗号化メールの送受信
4.1 暗号メールの送信
暗号化メールの送信は、通常の暗号化無しの場合と全く同じ操作となります。
送信先によって自動的に適切な公開鍵が選ばれて暗号化されます。
送信先の公開鍵が無ければ、暗号化はされません。
ただし、があります。
デジタル署名を行う際には、送信元の秘密鍵が利用されます。
PC立ち上げ直後とか、前回の暗号メールを送って一定時間経過した場合は、
鍵ペア生成時にパスフレーズを設定していたなら、図4.1-1に示すように、
そのパスフレーズの入力を求められます。
「送信」ボタンをクリックしてから、実際の送信が完了するまで、
暗号化無しの場合に比べて時間が掛かっているのが人間の感覚でも分かるほどです。
4.2 暗号メールの受信
暗号化メール受信についても、特別な操作無しで復号化されます。
署名の認証結果とOpenPGPによる暗号化メールであったことを示すアイコンが
受信メールウィンドウ・ヘッダー付近に表示されます。
参考として、Thunderbirdで、OpenPGPで暗号化されたメールを受信した時の様子を、
図4.2-2に示します。
受信メールの復号化では、受信者の秘密鍵が使用されます。
PC立ち上げ直後とか、前回秘密鍵を使ってからの一定時間経過した場合、
秘密鍵のパスフレーズを問われるのは、デジタル署名付きメール送信の時と同じです。
5 ファイルやフォルダを暗号化する
Gpg4winによるファイルやフォルダの暗号化・復号化については、
ファイルエクスプローラーに統合されていますので、直感的に行うことができます。
詳しい説明は特に必要無いと思います。
ただ単に
Gpg4winがファイルやフォルダの暗号化ができることを知っていれば、直ぐに操作できます。
以下に、暗号化に伴う特有の操作についてだけに簡単に示します。
5.1 ファイルやフォルダの暗号化
ファイルやフォルダにデジタル署名をしたり暗号化する場合は、
ファイルエクスプローラーで対象のファイルやフォルダを選んで右クリック。
表示されるメニューの中から、「Sign」や「Encrypt」を選びます。
暗号化されたファイルは、「元のファイル名.gpg」と、
”.gpg”が付け足された名前となります。
暗号化ファイルを複数人で共有することもできます。
「Encrypt for others」で公開鍵を知らされている複数人を選びます。
大きなお世話なのですが。。。
共有グループに自分を含めておかないと、
後ほど確認が必要になって復号化しようとしても、自分では復号することはできません。
平のオリジナルをもっているから必要無いヤと思って、
共有のグループに自分を含めておかないとこんなことが起こります。
5.2 暗号化されたファイルの復号化
暗号化されたファイルの復号化は、暗号化する場合と同様、
ファイルエクスプローラーで対象のファイル名拡張子”.gpg”のファイルを選んで右クリック。
表示されるコンテキストメニューの中から、「Decrypt」か「Decrypt and verify」を選ます。
復号化が完了すれば、図5.2-2に示すように暗号化時の情報が表示されます。
6 【おまけ】Thunderbirdでの暗号化設定
Thunderbirdは、Gpg4winがインストールされていなくても、
単独でOpenPGPやS/MIMEの利用が可能です。
暗号化メールの送信を行うには、暗号化用の鍵が作成されていなければなりません。
本章では、Thunderbirdでの暗号化鍵の取扱について示します。
6.1 鍵ペアの作成
ThunderbirdもGpg4winと同じく、次の2種類鍵タイプを利用することができます。
① 個人用OpenPGP鍵ペア
② X.509鍵ペア
(ここでは、いわゆる
S/MIME証明書:
認証局
(CA)で署名してもらう必要あリ
)
)
6.1.1 個人用OpenPGP鍵ペアの作成
個人用のOpenPGP鍵ペアは、以下に示す手順で作成することができます。
1. アカウントの設定画面を開く
図6.1-1に示すように、
メール暗号化設定を行うアカウントを選んで、
右クリック「設定」ウィンドウを開きます。
6.1.2 X.509鍵ペアの作成
Gpg4winの場合と同じよう、下に示すページが参考になるかと思います。
よければご覧ください。
【OpenSSL / Windows】無料でS/MIMEを利用するため「オレオレ認証局」を作ってみる
|すたっくおーばーふろー
6.2 暗号化メールを送受信するための初期設定
Thunderbirdの場合、鍵ペアが作成されれば直ぐに暗号化メールを作成できるようですが、
思わぬ動作をしたら困りますので、やはり暗号化に関する既定動作を確認しておきます。
まず、図6.2-1に示すように、メール暗号化を行うアカウントの「設定」ウィンドウを開きます。
左ペインのメニューから「エンドツーエンド暗号化」を選択します。
- (1)メッセージ送信の規定の設定
-
「既定で暗号化を有効にしない」を選択しておくと良いでしょう。
「既定で暗号化を必須にする」を選択すると、
送信先全員の公開鍵を受け取っておかなければならず、
公開鍵を受け取っていない先にメールを送ることができなくなってしまいます。 - (2)詳細設定
-
OpenPGPデジタル署名の追加時に自分の公開鍵を添付する
無効にします。
公開鍵は、 OpenPGPが運営する PGP公開鍵サーバーから取得してもらうようにします。
OpenPGPメッセージの件名を暗号化する
有効にしない方が良いのかもしれません。
送信先のメールサーバーが迷惑メールフィルターなどを利用している場合、
件名を読めずに迷惑メールとして振り分けられるどころか捨てられてしまう可能性があります。
6.3 公開鍵の受け渡し
公開鍵の受け渡し方法は、3.2節で示した方法と同じです。
OpenPGPが運営する
PGP公開鍵サーバー
から取得してもらう方法が、一番良いでしょう。
ただし、署名に公開鍵を添付方法は、ソフトが異なっていますから当然設定も異なります。
1. まず、メールアイコン/目的のメールアカウントの右クリックで表示される
コンテキストメニューから「設定(E)」を選択します。
2. 「アカウント設定」のウィンドウが開いたら、
左ペインのメニューから「エンドツーエンド暗号化」を選択します。
3. 右ペイン「詳細設定」セクションの
「OpenPGPデジタル署名の追加時に自分の公開鍵を添付する(P)」をチェックします。
以上
本記事の元となっているWordで作成したPDFを
ページ最後に貼り付けました。
少しでも役に立てていただければ、うれしく思います。
このPDFファイルは、自由に配布されてもかまいません。
ただし、再配布の際には、
入手元と著者名は明らかにしてください。
なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。