- 締切済み
公開キーを使って暗号化メールを返信する方法がわかりません
Outlook(2003)で署名つきのメールを受け取ったのですが、その署名(公開キー)を使って暗号化メールを返信する方法がわかりません。(暗号化ボタンを押して送信すると、「証明書が無効なためこのメッセージに署名をするか、メッセージを暗号化することが出来ませんでした。」というエラーがでます。) どなたか助けてください。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
No.7 です。 見落としていることがありましたので追加させていただきます。 まず、結論から。 相手の公開鍵における中間認証局が欠落しているときに、暗号化ができない(正しくは、相手の公開鍵の正当性をチェックできないので暗号化を拒否する)という動作になります。 また、「送信者も含んで暗号化する」という感じのオプションが有効になっていることがあります。これがないと、送信者自身が二度とそのメールを読めなくなるためですが、これが有効だと、(送信者の鍵はないので)今回の場合には、暗号化に失敗します。 確実に行うためには、相手のデジタルIDを送付してもらってください。(あなたご自身はデジタルIDをお持ちになる必要はありません) まず、相手側の手順です。 1)インターネットエクスプローラの、ツールメニュー → インターネットオプション を選択。 2)コンテンツタブから、「証明書」をクリック 3)「個人」のところに、先方のデジタルIDがあるはずですので、それを選択して、「エクスポート」 4)このとき、「秘密鍵はエクスポート*しない*」を選択 5)ファイル形式は、PKCS #7 を選択して、必ず、「証明のパスにある証明書をすべて含む」をチェック (これで、必要な中間認証局の署名がすべて含まれます) 以上の操作で、エクスポートしたファイルを送付してもらいます。 こちら側では、これを、インポートします。 1)インターネットエクスプローラの、ツールメニュー → インターネットオプションを選択 2)コンテンツタブ → 証明書 をクリック 3)インポートをクリック。 4)上記で送付してもらったデジタルIDのファイルを選択 5)証明書ストアで、「証明書の種類に基づいて自動的に証明書ストアを選択」をチェック これでインポートします。 以上の操作で、暗号化できるはずです。 また、No.1 で言及されているサーバー用の CA は、文字通りサーバー用のものなので、今回は関係はありません。 また、送信側のデジタルIDは、暗号化には不要です。
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
OUTLOOK 等が使用している S/MIME という枠組みにおいては、署名の検証のために、先方の公開鍵が含まれています。 この公開鍵を使って暗号化することは可能です。 暗号化ができないとしたら、おそらく、「デジタル署名を証明書ストアに保存する」という操作ができていないためだと思われます。 具体的な方法はわかりませんが、この、証明書ストアは、 Windows の中では、「インターネットオプション」の、「コンテンツ」の、「証明書」を開くと、「他の人」のところにあるはずです。 ここに、先方の公開鍵(実際にはデジタルID)がないと、暗号化はできません。 おそらく、Outlook でデジタル署名されたメールを開いているときに、「デジタル署名を証明書ストアに保存」する手段があるはずです。 実は、公開鍵方式の枠組みでは 公開鍵で暗号化 → 秘密鍵で復号 これがいわゆる暗号化 秘密鍵で暗号化 → 公開鍵で復号 これがいわゆるデジタル署名 となっています。 また、署名の場合は、全文を暗号化するのではなく、本文は平文のままにして、その本文から算出された、「ダイジェスト」というものを暗号化する形がよく使われます(特に、クリア署名と呼ばれることがあります) ついでに言えば、S/MIME では、署名の中の公開鍵といっしょに、多くの場合、先方の公開鍵に対する認証局の署名がついています。これを含めて、デジタルIDという呼び方をします。 これは、「先方の公開鍵」が確かに、「先方の公開鍵」であることを保証するための仕掛けです。 この仕掛けがあるために、S/MIME では、相手の公開鍵(実際には、認証局の署名付き)で、その他の認証などはなくても暗号化も署名の検証も実行できます。 暗号化だけであれば、自分のデジタルIDも不要です。 (ただし、当然のことながら、自分のデジタルIDがなければ、署名はできませんし、自分あてに暗号化したメールを送ってもらうことはできません) また、公開鍵は、文字通り公開されるもので、これがわかれば、暗号化は可能です。暗号化の枠組み自体に、「誰が暗号化を行ったか」を保証する機能はありません。これは、必要に応じて、暗号化(相手の公開鍵で)+署名(自分の秘密鍵で)という別々の操作になります。
- sshiba
- ベストアンサー率69% (73/105)
回答としては既にntaさんが書かれている通りで「先方さんに返信するメールには、先方さんの署名で 暗号化することはできません」が正解です。 ちょっと「公開鍵暗号化方式(PKI)」の仕組みについて勘違いをされているようですのでそこを補足します。 この方式による暗号化の特徴は、「必ず『秘密鍵』と『公開鍵』の2つの『鍵』をセットで作成し、 『秘密鍵で暗号化した情報(メール)はセットで作成された公開鍵を使わないと復元できない』」 という部分にあります。 従って、鍵を作成しているAさんが少なくとも「秘密鍵」を外部に漏らさない限り、「暗号化した情報を 解読するのは極めて困難」とも言えるのですが、もうひとつの特性として、「Aさんが作成した公開鍵を 持っている人にとっては、(暗号化された)情報の出元がAさんであることが極めて高い確率で保証される」 ということにもなっているわけです。 「Aさんになりすました別人」が別の(秘密)鍵を使って暗号化した情報は、どうやっても「Aさんが 作成して公開している公開鍵」では復元できませんから。 で、その特定を活かして、「暗号化まではしていなくても、メールの発信元を保証する」ために 使われるのが「署名」と呼ばれる一種の「公開鍵」なわけです。 (実は、この「公開鍵」ですが、用途によっては「証明書」と呼ばれることもありますし、「デジタルID」 と呼ばれることもあります) 一方、こうした公開鍵・署名の情報の中には、通常Aさんが鍵のペアを作成する時点で、既にAさんの 身元に関する情報(メールアドレス等)が暗号化された形で含まれています。 ですので、「Aさんが公開している公開鍵」では、「Aさんが(ペアで作成した)秘密鍵で暗号化された 情報を解読する」ことはできますが、「Aさんに送付する情報の暗号化」に使用することはできない のです。 (たとえ暗号化ができたとしても、そのメールには「誰が暗号化を行ったのか」を証明する情報が 含まれていません。Aさんが公開した鍵ですから、「暗号化を行ったのがAさんではない」と いうことにはなるのでしょうけど) したがって、いくらAki5963さんが「先方さんの署名の情報をもらっている」としても、その情報は あくまで「先方さんが発信したメールであることを(Aki5963さんが)確認するために使う」ための 情報に過ぎません。 「その署名を使ってAki5963さんがメールを暗号化する」という使い方をするものではないのです。 ですので、「Outlook2003で~先方さんの署名を使って"暗号化"メールを返信する方法」というのは 「存在しない」というのが正解です。 「証明書が無効なため~」というメッセージが出るのは、その「先方さんの署名(公開鍵)」を 「Aki5963さんの秘密鍵」としてOutlookが取り扱おうとしたために、「その証明書の中に Aki5963さんの名前やメールアドレス等を確認することができない」というメッセージなのですね。 Aki5963さんがきちんと"暗号化した"メールを先方さんに返信したい…ということであれば、 ntaさんが書かれているように、きちんとAki5963さんが何らかの形で「公開鍵」「秘密鍵」を入手し、 この公開鍵を「Aki5963さんの証明書(デジタルID)」として先方さんに渡しておく必要があります。 その上で、Aki5963さんが先方さんに「暗号化したメール」を送りたい場合には、あくまで 「Aki5963さんの秘密鍵」を使って暗号化してからメールを送信するわけです。 (きちんとご自身の証明書を入手してセットアップできれば、Outlook等のメールソフトが 暗号化処理などは自動的に行ってくれます) なお、 > 自分自身のデジタルIDは持っていなくても相手の公開キーがあれば送信はできると聞いている と書かれていますが、これも間違いではありません。 「暗号化していないメール」なら、デジタルIDがなくてもいくらでも返信は可能です。
- nta
- ベストアンサー率78% (1525/1942)
ご質問者さまはデジタルIDをお持ちでないので、返信メールは暗号化しなくともよい、ということであればNO3で確認されたように送信できます。 Outlook2003については自信ありませんが、OEと同じように暗号化をあきらめれば送信できるのではないでしょうか。
- violet430
- ベストアンサー率36% (27472/75001)
- nta
- ベストアンサー率78% (1525/1942)
個人用の電子証明書を購入しなければなりません。会社などではサーバ用にCAを導入します。
お礼
ありがとうございます。 下記注釈に関係しているのかと思って試したのですが、まだエラーが出ます。自分自身のデジタルIDは持っていなくても相手の公開キーがあれば送信はできると聞いているのですが、そもそもそれが間違いですか? お手数ですが、ご教授ください。 注 : 暗号化されたメッセージを送信するときに、次の "Non-Secure Recipients" メッセージが表示されることがあります。 None of the recipients can process an encrypted message. You can either proceed with an unencrypted message or cancel the operation. このエラーは、グローバル アドレス帳または連絡先以外のアドレス情報を使用してメッセージの宛先を指定したことが原因で発生します。宛先を指定するには、メッセージ受信者のデジタル ID 情報が保存されている連絡先レコードを使用します。
お礼
ありがとうございます。 下記注釈に関係しているのかと思って試したのですが、まだエラーが出ます。自分自身のデジタルIDは持っていなくても相手の公開キーがあれば送信はできると聞いているのですが、そもそもそれが間違いですか? お手数ですが、ご教授ください。 注 : 暗号化されたメッセージを送信するときに、次の "Non-Secure Recipients" メッセージが表示されることがあります。 None of the recipients can process an encrypted message. You can either proceed with an unencrypted message or cancel the operation. このエラーは、グローバル アドレス帳または連絡先以外のアドレス情報を使用してメッセージの宛先を指定したことが原因で発生します。宛先を指定するには、メッセージ受信者のデジタル ID 情報が保存されている連絡先レコードを使用します。