- 締切済み
デジタル署名とデジタル認証について
資格試験でデジタル署名とデジタル認証について調べています。 ある程度は、理解できているとは思うのですが、 次の一点がどうも気になっています。 送信者は「電子署名(これには公開鍵が含まれていますよね)」を本文とともに送りますよね。 ということは、もしもメールの送り先を間違えてしまった場合、 受け取った相手は、その気になれば、なりすまして復号できることになるのでしょうか? なお、参考にしているURLはこちらです。 http://www.jipdec.jp/esac/shikumi.htm お詳しい方、ぜひご教授ください。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- rinkun
- ベストアンサー率44% (706/1571)
デジタル署名は送信者の公開鍵を使って誰でも検証できます。暗号ではないのでこれを復号というのは変ですし、誰でも知っている公開鍵を使うだけなので「なりすまし」というのもおかしいです。 なお、デジタル署名を送信する場合、必ずしも公開鍵を同時に送信するとは限りません。公開鍵はあらかじめ別の方法で公開しておくことができます。 同時に送信する場合は少なくともあらかじめ信頼された者による証明書のついた公開鍵でないと、受信側で公開鍵の持ち主が本当に送信者か確認できなくなります。
>送信者の持っている秘密鍵は、むしろ暗号化に使うのでは? 送信者の公開鍵で暗号化して、送信者の秘密鍵で復号化します。 また、送信者であることを証明するために 送信者の秘密鍵で暗号化して、送信者の公開鍵で復号化します。
- neko_noko
- ベストアンサー率45% (146/319)
もしかすると思い違いをしているかもしれないので、コメントを入れさせてもらいます。 電子署名は、「暗号化」ではありません ちょっと誤解を招く言い方なので、言い換えると、AさんからBさんへデータを送った際に、 「第三者にデータが見られないようにする技術」ではないということです。 電子「署名」と言うだけあって、この技術は署名、つまりサインを付ける技術です。 これを付けることにより、「データを送ったのはAさんだよ」ということが証明され、 「データは第三者によって改ざんされていないよ」ということも保証できます。 前者については、Aさんの秘密鍵を使用していることからなんとなく分かりそうですね。 後者については、「ハッシュ関数」というものがキモになってます。 ハッシュ関数というのは、あるデータを決まった方法で変換して別の値にするものです。 この変換の特徴は、「同じデータをハッシュ関数で変換すると、同じ値が返ってくる」ことと、 「元のデータにほんのちょっとでも手を加えると全然違う値になる」、ということです。 元のデータと同じなら、受信者がそのデータをハッシュ関数で変換しても 送信者と同じメッセージダイジェストになります。 一方、元のデータを改ざんすると、秘密鍵を使って送ったメッセージダイジェストと 送信者が秘密鍵を使ったものとが違う値になり、改ざんがばれる、という仕組みです。 ちなみに、元データを改ざん後メッセージダイジェストも作り直す(ハッシュ関数で変換し直す) ということも、秘密鍵を使っているのでできなさそうですね。 ここまでの仕組みを考えた人はすごいですね。 それにしても、この手の技術の説明は分かりづらいですね。 (セキュリティ技術なので仕方ないですが) しかも、公開鍵やら秘密鍵やらの暗号化をさんざん説明された後におまけのように出てきますから、 よけい混乱しますね。昔は私もよく分かってなかった人でした。
認証は送信者を証明しているだけで、受信者しか読めない暗号化はしてないですから。 もし、第三者が読めない状態にしたければ、送信者の秘密鍵で暗号化した電文を、更に受信者の公開鍵で暗号化すればよいのです。 こうすれば、電文を読むためには、送信者の公開鍵と受信者の秘密鍵が必要になります。 昔勉強したときは、こんな風に習った気がします。
- mtfoggy
- ベストアンサー率14% (37/255)
復号できる秘密鍵を持っているのは、送信者です。
補足
お返事ありがとうございます。 ご回答について、把握しかねるのですが、 復号させるのは、受信者宛てに送られた送信者の公開鍵ではないでしょうか? 送信者の持っている秘密鍵は、むしろ暗号化に使うのでは? もしかしたら、自分が大きな勘違いをしているかもしれません。 どうでしょうか。
お礼
お返事ありがとうございます。 ということは、やはり、「送信者の公開鍵と秘密鍵のみ」を使ったデジタル署名では 受け取った人なら復号できてしまうのですね。 すると考え方としては、送信者の利益よりも、 受信者の利益を主体に考えた制度、ということでしょうか。 …というか、デジタル署名は、 配布された公開鍵の真正性を、受信者のために保証する制度でしたよね。 それを回避する策も納得しました。 実は、自分もそれを考えていたのですが、 その方法が、手元にあるいくつかの書籍でも、またはネットでも 見かけなかったように思います。 あつかましいですが、もしも、ご回答の方法が書いてあるサイトを ご存知でしたら、教えていただけたらと思います。 ありがとうございました。