Mac(OSX)とiPad/iPhone(iOS)でS/MIMEによる暗号化メールを送受信する

今回は、MacおよびiPhone/iPadなどのiOSデバイスで、S/MIMEによるデジタル署名・暗号化メールの作成方法と、その準備のためSymantec本国からデジタル証明書を取得する方法を試してみましたので、紹介します。
準備
- デジタル証明書を取得する
- キーチェーンアクセスにデジタル証明書を取り込む
- メールの設定を行う(Mac)
- iOSデバイスにデジタル証明書を転送する
- iOSデバイスでプロファイルをインストールする
- iOSデバイスのメール設定
作成
受信する
- デジタル署名つきのメールを受信したら(iOS)
- 相手のデジタル証明書をインストールする(iOS)
- 相手へ送信するメールを暗号化する(公開鍵暗号)(iOS)
- デジタル署名つきのメールを受信したら(Mac)
デジタル証明書を取得する
S/MIMEによるメールの送信にはデジタル証明書と、デジタル証明書から作られる秘密鍵が必要です。デジタル証明書にはメールの送信元や、組織、所在地などの情報が記載されています。
種類によってデジタル証明書の記載内容が異なります。
Class | 組織 | 価格 | 含まれる情報 |
---|---|---|---|
Class1 | 個人や小規模の組織向け。 | 安価。 | メールの送信元の保障。 |
Class2以上 | 大きな組織向け。 | 高額。 | 送信元の他、組織や所在地などの情報も含まれる。 |
ここではClass1のデジタル証明書の取得方法を紹介します。
デジタル証明書の発行ができる業者として、シマンテック(旧ベリサイン)が有名です。
国内では提携先パートナーが取り次ぎを行っています。しかし、会員になっていないと発行しないとか、発行までに時間がかかるなどのデメリットもあります。
ここでは、Symantec本国のサイトから、クレジットカードで即時発行する方法を紹介します。
Symantec本国のページでは、1年間で25ドルの低コストで、Class1証明書を発行してくれます。いきなり購入するのが怖い人でも、25日間無料のおためしができます。
この画面で「Buy Individually」(個人向けの購入)をクリックします。
メールアドレスの入力と試用/購入の選択を行います。
購入の場合は、支払い情報を記載します。ただしここで入力する情報は、クレジットカードの有効性確認のためであり、デジタル証明書には反映されないようです。
決済と注文内容の確認、利用規約に同意を行えば、登録完了です。
続いて、デジタル証明書の発行手続きです。
登録したメールアドレス宛に、do-nut-reply@symantec.comから2通のメールが届きます。
- デジタル証明書発行手続きのURLとID
- パスワード
内容はもちろん英語です。1通しか届かない、または全く送られてこない場合は、メールの振り分けで「迷惑メール」に紛れ込んでいるかどうかを確認してください。
指示されたURLへアクセスするのですが、この手順は「Safari」を使って行うことをおすすめします。Safariで指定されたURLへアクセスし、さきほどの2通のメールに記載されているアクセスコードとパスワードを入力します。
認証が終わったら、次の画面で「Generate Key & Install」をクリックして、デジタル証明書の発行とダウンロードを行います。
キーチェーンアクセスにデジタル証明書を取り込む
ダウンロードフォルダーに「SelfService!keyGenAndInstall.action.p7s」というファイルができます。これをダブルクリックして「キーチェーン」に登録します。
登録されると、「自分の証明書」に、「Persona Not Validated – *******」という項目ができているのが分かります。メールのデジタル署名にはこの証明書を使います。
証明書の詳細を見ると、発行元や自分の電子メールの情報が確認できます。組織名や住所などの情報は含まれません。
メールの設定を行う(Mac)
Macの「メール」アプリから、「環境設定」を開き、「アカウント」タブと自分のメールアドレスのタブを選択します。
右下の「TLS証明書」から、先ほど登録した「Persona Not Validated – ********」を選択します。
実際に送信するメールにデジタル署名が付与されるかどうかは、デジタル署名つきのメールを作成する(Mac)で説明します。
iOSデバイスにデジタル証明書を転送する
デジタル証明書をMacからiOSデバイスへコピーします。しかし、「SelfService!keyGenAndInstall.action.p7s」をコピーしても、iOSデバイスでは使えません。
ではどうするのかと言いますと、「キーチェーンアクセス」より、「自分の証明書」から「Persona Not Validated – *******」のタブを開き、「digitalid.pki.symantec.com」の鍵を表示させて、ここでコンテクストメニューを出し、「キーを書き出す」を実行します。
書き出すキーのファイル名とキーファイルのパスワードを設定し、キーチェーンのパスワードを入力すると、「証明書.p12」というファイルが保存されます。
これをAirDropなどでiOSデバイスに転送します。メールの添付ファイルとしても転送できますが、メールの通信経路の途中で横取りされるリスクを考えると、AirDropが安全です。
iOSデバイスでプロファイルをインストールする
ここからはiOSデバイスでの操作になります。
キーを受け取ると、「プロファイルをインストール」の確認画面がでます。「インストール」を選択し、続いてiOSデバイスのPINコードを入力し、先ほど設定したキーのパスワードを入力すると、デジタル証明書がインストールされます。
iOSデバイスのメール設定
メールの設定を行います。iCloudメールとその他のメールとでは設定画面の呼び出し方が若干異なります。
- iCloudの場合
- その他のメールの場合
iCloud>メール>詳細
メール/連絡先/カレンダー>(設定するアカウント)>詳細
詳細設定で、「S/MIME」にチェックを入れ、「署名」から自分の証明書を選択します。
「デフォルトで暗号化」を「はい」に設定すると、公開鍵暗号メールを出す際のデフォルトが「暗号化」になります。
実際に送信するメールにデジタル署名が付与されるかどうかは、デジタル署名つきのメールを作成する(iOS)で説明します。
デジタル署名つきのメールを作成する(Mac)
いよいよデジタル署名つきのメールを作成します。デジタル署名を付与することにより、メールの伝達の過程で改ざんがないことを証明することができます。
メール作成のボタンをクリックすると、件名の欄にマークが2つ並びます。右側の署名アイコンをクリックして青にすると、送信するメールにデジタル署名が付与されます。
南京錠のアイコンは、メールの内容を暗号化する時に使用します。全ての送信相手(To:/Cc:/Bcc:)が公開鍵を持っていることが明らかである場合や、送信相手から受け取った公開鍵を使用することができる場合に選択できます。
デジタル署名つきのメールを作成する(iOS)
iOSの場合は、S/MIMEの設定が有効であれば、常にデジタル署名つきのメールを作成することになり、宛先に青い南京錠マークが表示されます。
送信相手すべてが公開鍵を持っている場合、または送信相手から署名つきのメールを受け取って公開鍵をインストールした場合は、暗号化メールを送信することができます。その場合は南京錠を閉じることができます。
デジタル署名つきのメールを受信したら(iOS)
最近では金融機関のメールマガジンなどに、なりすましや改ざんを防止するため、デジタル署名が付与されています。金融機関を騙ったフィッシング詐欺メールに対抗するためです。
デジタル署名が付与されたメールを受信すると、差出人の横に署名アイコンが表示されます。差出人をタップすると、そのメールが署名入りであることが分かります。
「証明書を表示」をタップし、「詳細」をタップすると、相手のメールアドレスや鍵の情報などが記載されています。そこで差出人の情報を確認することができます。Class2以上の証明書では、組織や所在地の情報なども記載されています。
相手のデジタル証明書をインストールする(iOS)
デジタル署名を受け取った相手と、暗号化メールをやりとりする場合は、相手の公開鍵をインストールする必要があります。
もっとも、デジタル証明書が付与されたメールを受信する機会は殆どありませんし、銀行のメールマガジンの送信元とメールをやりとりするわけでもありませんので、この手順を実施する必要性はどこ? と思うかもしれません。しかし、相手から「メールを暗号化してください」と言われた場合、困ることのないようにしておきたいものです。
差出人をタップし、「証明書を表示」をタップすると、一番下に「インストール」とあります。これをタップして証明書をインストールすれば、差出人の公開鍵が使えるようになります。
相手へ送信するメールを暗号化する(公開鍵暗号)(iOS)
その前に、「iOSデバイスのメール設定」で、S/MIMEのスイッチをONに設定していることが条件です。
相手の公開鍵をインストールしたら、そのメールアドレスに返信すると、ウィンドウ上部のタイトル下に「暗号化済み」と表示されます。この状態で作成し、送信するメールは暗号化されますので、秘密鍵を持った相手(本人)しかメールを読むことができません。
デジタル署名つきのメールを受信したら(Mac)
メールタイトルの下に、「セキュリティ:署名入り」と表示され、そのメールに署名が付与されていることが分かります。
「キーチェーンアクセス」を開くと、証明書一覧に受信した証明書が記載されていることが分かります。
なぜメールにデジタル署名をつけたくなったの?
「ITパスポート」の勉強をしていて、本で「暗号化通信」についての記事を読んでいました。「共通鍵」「秘密鍵」「公開鍵」や、「デジタル署名」などといった言葉が出てきました。
概念は何となく理解でき、OS自体にも暗号化通信の仕組みはあるのですが、メールで使ってみたくなり、生きた学問とすべく、実践してみようとなったわけです。
2015年7月から勤めていた現場でも、デジタル証明書を何となく受け取って、社内のデータベースへアクセスすることをやっていました。また、メールでデジタル署名を使っている人がいたので、「そんなに難しくないのかな?」と思いました。だったら試してみようという気持ちが強まりました。
デジタル証明書取得までの長い道のり
メールにデジタル署名や暗号化を行うのに、デジタル証明書の取得を行う必要があり、いろいろ検索したり試したりしてみましたが、うまくいかないことや行き詰まったところがあって、ここまで来るのに2日費やしてしまいました。
Symantecからパスワードだけ送られてきて、URLが記載されたメールが別に届けられると思ってずっと待っていましたが、待てど暮らせど送られてこない。良く確認したら、すでに「迷惑メール」として扱われた…なんてこともありました。
また、電子証明書ファイル「.p7s」をiOSで開けず、「iOSには対応できないのか?」と思ったこともありました。まさか「キーチェーンアクセス」からキーを別名で保存しないといけなかったなんて気がつきませんでした。
しかし、この記事の情報は会社組織などでデジタル署名が必要になる場合や、自分のメールの改ざん・なりすましを防止するために役立つと思います。
でもTwitterなどのSNSでの発言こそ、デジタル署名をつけるべきだと思います。そうすれば、なりすましや改ざんのリスクは減るのではないかと思います。
いつものメールを誠実に演出したいあなた。ぜひデジタル署名でリテラシーの高さをアピールしてみてはいかがでしょうか。ただし、文面が残念だと相手への印象は変えられませんのでご注意ください。
コメント