
「やっと来たか!」というオフィスから、最近リリースされたLibreOffice 6が登場しました。PGPを使った文書署名が可能になりました。もうWebブラウザから証明書をインストールするという面倒な作業は不要です(LibreOfficeでは証明書の信頼性が疑わしいと判明するだけです)。代わりに、GnuPGとローカルで生成されたGnuPG個人鍵を利用できるようになりました。このプロセスは実に簡単で、必要な準備をすべて整えるだけです。
設定方法と、作成したGnuPG鍵を使ってドキュメントにデジタル署名する方法をご紹介します。Elementary OSで、Seahorseのパスワードと鍵ツールを使ってデモを行います。プラットフォームに関係なく、手順はほぼ同じです。最終的には、PGP鍵を作成するツールを見つけるだけです。Windowsの場合はGpg4win、macOSの場合はGPG Suiteが使えます。
キーの作成
Seahorseを起動し、「+」ボタンをクリックして新しいキーを作成します。ポップアップから「PGPキー」を選択し、「続行」をクリックします(図A)。
図A

次のウィンドウで、名前とメールアドレスを入力し、「作成」をクリックします。次に、鍵のパスフレーズを入力するよう求められます。これで、新しく作成した鍵で文書に署名する準備が整いました。
鍵を作成する際に、「詳細設定」オプションを展開し、鍵に固有のコメントを追加することをお勧めします。こうすることで、コメントを通じて送信者に対して鍵の正当性を確認できます。送信者があなたが署名したLibreOffice文書を受け取った際に、署名にどんなコメントを使ったのか尋ねられる可能性があります。確かに「スパイ対スパイ」のような雰囲気はありますが、簡単に確認できる手段です。
文書に署名する
LibreOfficeで文書を開きます。文書に署名するには、まず保存する必要があります。新しい文書を作成する場合は、まず保存する必要があります。「ファイル」>「デジタル署名」>「デジタル署名」をクリックします。表示されるウィンドウ(図B)で、「文書に署名」をクリックします。
図B

「ドキュメントに署名」ボタンをクリックします。表示されるウィンドウで、新しく作成したGnuPGキーまたは以前に生成したキーを選択し、「署名」をクリックします(図C)。
図C

「署名」ボタンをクリックすると、GnuPG鍵のパスフレーズを入力するよう求められます。これで、文書への署名が完了しました。この文書を誰かと共有した場合、共有相手は「デジタル署名」ウィンドウを開いて、GnuPG鍵で署名されたことを確認できます。文書への署名が完了すると、LibreOfficeに署名完了を示すポップアップメッセージが表示されます(図D)。
図D

注意点
LibreOfficeのデジタル署名に関して私が見つけた唯一の問題は、署名済みの文書を保存した瞬間に署名が削除されてしまうことです。そのため、文書の編集作業が完了したら、必ず再署名する必要があります。これは、誰かが署名済みの文書を傍受して改ざんし、デジタル署名をそのまま残したまま送り返すことを防ぐためだと推測します。ですから、署名済みの文書を改ざんして保存する際は、必ず再署名してから返送してください。
しかし、文書に変更を加えた場合はどうなるでしょうか?簡単です。
- 編集用にドキュメントを開く
- 編集する
- ドキュメントを保存する
- 文書に署名する
しかし、受信者の署名はどのように保存すればいいのでしょうか?署名後、保存せずに閉じると署名は失われます。署名後に保存すると、署名も失われます。
この問題を回避するには、以下の手順に従ってください。ドキュメントの作成または編集を終了します。完了したら、ドキュメントにデジタル署名を追加します。署名が完了したら、ドキュメントを保存しないでください。代わりに、「ファイル」>「送信」>「ドキュメントを電子メールで送信」をクリックします。これにより、デフォルトのメールクライアントを使用して、署名済みのドキュメントが自動的にメールに添付されます。受信者はドキュメントを開き、署名されていることと署名を確認できます。こうすることで、受信者がドキュメントを保存するまで署名は削除されません。
完璧ではないが、始まりだ
もちろんこれは完璧な解決策ではありませんが、何もしないよりはましです。一つ提案したいのは、鍵を作成する際にコメントを追加することです(先ほども述べたように)。ただし、他の人と共有する必要がある文書にはデジタル署名を検討することをお勧めします。