Help us understand the problem. What is going on with this article?

ThunderbirdのS/MIME証明書をUSBメモリに入れる

More than 1 year has passed since last update.

はじめに

ThunderbirdにS/MIME証明書を直接インポートした場合、S/MIME証明書の秘密鍵が漏洩しやすく、せっかくのS/MIME証明書の効果が薄れます。そこでUSBメモリをICカードにするエミュレータ myuTokenを使ってS/MIME証明書をUSBメモリに入れる方法を説明します。

USBメモリは安全か?

通常、USBメモリを挿入するとマスストレージクラスのドライバが起動されてドライブとして利用できるようになるのですが、myuTokenではICカードリーダのI/Fを持ったUSBメモリのドライバに交換しているので低レベルなディスク操作でもコピーされることはありません。万が一、コピーされてもパスワードで暗号化されているので、それなりに安全です。ただし本物のICカードのような安全性はありません。

S/MIME証明書の取得方法

Qiitaのこの記事に無料で証明書を取得方法とPKCS#12にする方法があります。

PKCS#12をUSBメモリにインポート

省略します。myuTokenの説明書に詳しく書いてあります。myuTokenのバージョンは本日(2018年3月17日)リリースしたVer2.0.2.0以降を使ってください。Ver2以降でUSBメモリをICカードにしていた場合、アンインストールしても、USBメモリはICカードのままなので、Ver2.0.2.0にバージョンアップして、そのまま利用可能です。

ThunderbirdにPKCS#11のモジュールを登録

Thunderbirdを起動してオプションから証明書タブのセキュリティデバイスを選択
THUN1.png

追加ボタンをクリック

THUN2.png

C:\Windows\system32\icardmodpk.dll を選択します。Thunderbirdは32bitなので64bitOSでも、32bitOSでも同じになります。

THUN3.png

次に

アカウントの設定を開いてS/MIME証明書を取得したメールアドレスの「セキュリティ」をクリックして、デジタル署名のところの選択ボタンをクリックします。必ずS/MIME証明書の入ったUSBメモリをパソコンに刺してからThunderbirdを起動してください。

THUN4.png

ICカードのピンを入力します。デフォルトは iCanal ですが、必ずmyuToken側で変更しておいてください。

THUN5.png

証明書を選択する画面になるのでOKします。

THUN6.png

続いて暗号化に使う証明書について確認されるので、これもOKします。

S/MIME証明書の中間CAをThunderbirdにインポート

myuTokenを起動して、中間CAファイルを出力させます。
THUN7.png

ee.cer , ca1.cer , ca2.cer などのファイル名の証明書が出力されます。ee.cer , ca1.cer , ca2.cerの場合はca1.cerが中間CAファイルです。ee.cer , ca1.cer , ca2.cer , ca3.cerの場合はca1.cerとca2.cerの2つが中間CAファイルになります。中間CAが存在しない場合もあり得ます。

オプション-詳細から、「証明書を管理」ボタンをクリック

THUN8.png

認証局証明書タブを選択して、「インポート」ボタンをクリック。中間CAのファイルをインポートします。複数あれば、全部。

THUN9.png

設定完了

上記までで設定は完了です。
S/MIME証明書を使うときはThuderbirdを起動する前に、証明書の入ったUSBメモリを刺して置くことが必須です。 メモリカードリーダとSDカードなどのメモリカードの組み合わせの場合、メモリカードはThunderbirdの起動後に挿抜しても大丈夫です。そのほうが便利かもしれません。
ただし、最近のThunderbirdでは署名がうまくいかなくなっているようです。次のような手順で署名をしてください。

署名手順

SIGN1.png

SIGN2.png

上記メッセージが出るようなら、次の手順を追加してください。

SIGN3.png

SIGN4.png

SIGN5.png

これで署名メールが送信できるようになると思います。

毎回、署名手順をするのが面倒な方

現在の最新バージョンの52だけしか、うまくいかないかもしれませんが、プロファイルを修正すると、うまくいく方法を、たまたま見つけました。便利です。
隠しファイルを表示できるようにして、次のフォルダを開きます。
C:\Users###\AppData\Roaming\Thunderbird\Profiles
次のようなフォルダがあるので、そのフォルダにあるprefs.jsをテキストエディタで開きます。
3tpfrct7.default

user_pref("mail.identity.id8.reply_on_top", 0);
user_pref("mail.identity.id8.sig_bottom", true);
user_pref("mail.identity.id8.sign_mail", false);
user_pref("mail.identity.id8.signing_cert_dbkey", "AAAAAAAAAAAAAAARAAAAmgCTJGZyK5vStDRYsRsf8kv+MIGXMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQ==");
user_pref("mail.identity.id8.signing_cert_name", "Canal Card:MYUTOKEN");
user_pref("mail.identity.id8.smtpServer", "smtp2");

S/MIME証明書のメールアドレスがある近くに、signing_cert_dbkey があるので、これを削除します。これがなくなると署名メールを送信するときにICカードのPINを入力するダイアログが表示されるようになって、PINを入力するとメールが送信されるようになります。

おわりに

USBメモリなので、それほど安全性は向上しないかもしれないですが、より高い安全性を期待される方は、やはり専用のICカードやUSBデバイスを利用されたほうがいいと思われます。

izuna
1999年RSA暗号で世界一の性能だった暗号プロセッサICF3をベースに8bit CPUにしたICF3-ZをApache License 2.0のライセンスで公開しました。8bit CPUでは暗号演算器ははずされています。
https://icf3z.idletime.tokyo/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした