7.課題

以下の作業を実施して, 自分の公開鍵の鍵ファイル myKey.pub と署名と暗号を施したレポートファイル report.txt.asc.asc を ITC-LMS で提出しなさい.

1. ファイルの取得

まず,ITC-LMSから課題の入った圧縮ファイル GPGData.zip と秘密鍵の鍵ファイル keyX.privX の部分は人によって異なります)を取得します.

2. ファイルの解凍

ファイルを解凍しなさい(Macでは unzip,Windowsでは Expand-Archiveコマンドで解凍できます).GPGData というディレクトリができ,その中に keys.pub という公開鍵の鍵ファイル,report.txt というレポート作成用の文書ファイル,text0.txt.asc.asc から text9.txt.asc.asc までの10個の暗号ファイルがあります.提出するレポートは report.txt を用いて作成してください.

3. GPGでの作業

GPGの秘密鍵ファイル keyX.priv と公開鍵ファイル keys.pub を鍵束に読み込んでください.秘密鍵のパスフレーズは,演習と同じ「joho」になっています.

配布された秘密鍵を用いることによって,text0.txt.asc.asc から text9.txt.asc.asc までのいずれかのファイルが復号できるはずです.復号を試みてファイルの内容を調べましょう.暗号化されたファイルは署名付文書で,以下のように復号されるはずです.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

(ここにファイル本体の内容)  
-----BEGIN PGP SIGNATURE-----
  :
-----END PGP SIGNATURE-----

署名者の情報を調べましょう.この際,復号された情報を持つファイルを作成する必要があります.1つにはテキストエディットやメモ帳などのエディタにコピー&ペーストする方法が考えられます.より手軽な方法としては,次のように「 コマンド > ファイル名 」として出力情報をファイルに入れてしまうことも可能です.

  $ gpg  -d  text0.txt.asc.asc  >  text0.txt.asc¶
  $ cat  text0.txt.asc¶
ただしPowerShellでは,「 > 」で出力されるファイルのエンコーディングが UTF-16 になるという問題があります.上記のコマンドを実行した場合は,出力されたファイルtext0.txt.ascのエンコーディングを,メモ帳などで UTF-8 に変更する必要があります.メモ帳での変更が面倒という人は,上記のコマンドの代わりに以下のコマンドを実行すれば良いでしょう.
  $ gpg  -d  text0.txt.asc.asc | Out-File  -Encoding  Ascii  text0.txt.asc¶
  $ cat  text0.txt.asc¶

ここまで作業したら,配布された秘密鍵は鍵束から外してしまった方が良いでしょう.後の作業で邪魔になる可能性があります.

4. レポートの作成

結果をレポートとしてまとめましょう.前に書いたようにレポート作成にあたっては,report.txt を利用してください.report.txt は概ね次のようになるはずです.

科類・クラス:
理科 1類10組

学生証番号:
J4-211234

氏名:
山口 泰

利用した環境(以下の3行で該当する行のみを残して???を埋める):
自分のMac(MacOS Big Sur,バージョン 11.3.1)

gpgコマンドのバージョン(以下の2行とも残して???を埋める):
gpg (GnuPG/MacGPG2) 2.2.27
libgrypt 1.8.7

配布された秘密鍵のuser-idの本名:
Yamaguchi

配布された秘密鍵のuser-idのメールアドレス:
yama@g.ecc.u-tokyo.ac.jp

復号できたファイルの名前:
???.txt.asc.asc

復号したファイル本体の内容(署名情報は除く,10行程度):
???
???
 :
???

復号したファイルへの署名者(user-id)の本名:
???

復号したファイルへの署名者(user-id)のメールアドレス:
???

MacOSのバージョンは画面左上隅の「appleマーク」をクリックし,「このMacについて」を選択すると, ウィンドウ中央上部に「macOS ....」「バージョン ....」と表示されます.

Windowsのバージョンは 画面左下隅の「スタートアイコン(Windowsマーク)」をクリックし,「設定アイコン(歯車マーク)」を選択します. システムをクリックし,ウィンドウ左のメニュ最下段にある「詳細情報 or バージョン情報」を選択します. 少しスクロールすると「Windowsの仕様」の欄に「エディション」と「バージョン」が表示されます.あるいは,検索ボックスで「winver」と入力して,winverを選択(実行)する方法もあります.

gpgコマンドのバージョンは「gpg --version」コマンドを実行することで調べられます.

5. 署名と暗号化

作成したレポートファイル report.txtに署名と暗号化を施します.最初に署名を施しますが,その際は演習で作成した自分自身の鍵を使ってください.次の暗号化では受信者を指定する必要がありますが,受信者には kadaiN@joho.org(ただし Nはクラス番号の1の桁)を指定します.たとえば,理科1類10組であれば,kadai0@joho.orgを受信者としてください.最終的に提出すべきファイルとして report.txt.asc.ascが得られるはずです.なお,gpgには署名と暗号化を同時に施す機能もありますが,課題提出にあたっては演習で実施したように署名と暗号化を別々に適用してください.

6. ファイルの提出

自分自身の公開鍵の鍵ファイル myKey.pub と,署名・暗号化を施したレポートファイル report.txt.asc.ascを ITC-LMS で提出しなさい.署名を確認するためには,公開鍵が必要ですので,レポートだけでなく鍵ファイルも提出しなくてはなりません.