• ベストアンサー

電子署名を付した送信データの作成

改ざん、なりすまし、盗聴を防止した電子文書(HTML 、メールなど)をやり取りする場合、 http://www.jipdec.jp/esac/shikumi.htm#top にある「電子署名を付した送信データの作成」 のやり方だけだとなりすましや、改ざんは防止できても盗聴が可能となってなってしまうと思います。 盗聴も防止したい場合、平文も秘密鍵などで暗号化して送信することにより、改ざん、なりすまし、盗聴を防止することが可能となりますでしょうか? よろしくお願いします。

noname#46712
noname#46712

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

基本的に、公開鍵暗号方式の場合、盗聴防止で使用するときは、相手の公開鍵で暗号化して、送ることになります。 受け取った相手は、自分の秘密鍵で復号化します。 公開鍵は、誰にでも配布しますが、秘密鍵はその本人だけ持って運用するという形が大前提です。 つまり、秘密鍵で暗号化したものは、その人本人が署名したものということになります。 また、公開鍵で暗号化したものは、秘密鍵でしか復号化できないため盗聴防止できるということになります。 SSLも公開鍵暗号方式を使用して、サーバー証明書等のやりとりと暗号化を実施してます。実際にはSSLなどは、共通鍵暗号方式と組み合わせて使用してます。(説明になってなかったかな?) 成りすまし対策となると認証局からの署名付証明書の使用は有効かと思います。

その他の回答 (3)

  • nbd00115
  • ベストアンサー率18% (116/632)
回答No.3

盗聴を防止する方法は、電子メールを使わない事です。 どんな手段を取ろうと、媒体から読み取ることは可能ですので。

  • ency
  • ベストアンサー率39% (93/238)
回答No.2

あと、HTTP であれば、SSL を使用することが多いですね。 ちなみに、SSL や S/MIME 等が保障するセキュリティは以下の3つのカテゴリに分けることができるといわれています。 1. 機密性  データの秘密が守られていることを保障する。  鍵暗号による暗号化により実現。 2. メッセージの完全性  メッセージそのものが改ざんされていないことを保障する。  電子署名により実現。 3. 通信相手の真正性  通信相手が意図した相手であることを保障する。  電子証明書により実現。 ですので、電子署名だけでは、メッセージの完全性は保障できても、機密性と通信相手の真正性は保障できないことになります。 以上、ご参考まで。。。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

Yesです。 S/MIMEとかPGP(RFC2440)とかを調べてみては。

参考URL:
www.atmarkit.co.jp/fsecurity/ special/04smime/smime01.html

関連するQ&A

  • デジタル署名とデジタル認証について

    資格試験でデジタル署名とデジタル認証について調べています。 ある程度は、理解できているとは思うのですが、 次の一点がどうも気になっています。 送信者は「電子署名(これには公開鍵が含まれていますよね)」を本文とともに送りますよね。 ということは、もしもメールの送り先を間違えてしまった場合、 受け取った相手は、その気になれば、なりすまして復号できることになるのでしょうか? なお、参考にしているURLはこちらです。 http://www.jipdec.jp/esac/shikumi.htm お詳しい方、ぜひご教授ください。

  • メールのデジタル署名は、なぜ本文を暗号化しないの?

    デジタル署名の仕組みについて教えてください。 デジタル署名の仕組みは、メールの内容(原文)からメッセージダイジェストを作成し、それを送信者の秘密鍵で暗号化したものを署名として原文(または暗号文)に付けるということですが、どうして単に原文そのものを暗号化したものを署名として送らないのでしょうか? 改ざん防止の為であれば、原文そのものを暗号化して送れば、受信側で改めてメッセージダイジェストを作成し、それと復号化したメッセージダイジェストを突き合わせて検証するようなことをしなくても済むと思うのですが。 いづれにしても公開鍵で復号化できるということは、秘密鍵を持っている送信者が署名した段階から改ざんされていないはずですし、その公開鍵が証明書等により検証できていれば、確かに本人であるということになりますよね。 現実世界の「署名」のように、署名とは原文とは別につけるもの(=わざわざ復号化しなくても原文が読める)、いうことに似せているだけのことでしょうか? (参考URL) http://www.ipa.go.jp/security/awareness/administrator/remote/capter6/7.html

  • 電子署名 RSAとDSA

    電子署名の一般的な説明のポンチ絵では以下のように説明されますが、これはRSAを用いた場合であり、DSAではないという理解で正しいでしょうか? ---- 送信者が文書のハッシュ値を秘密かぎで暗号化して電子署名を作成し、文書と電子署名と公開かぎ証明書を相手に送付する。 受信者は公開かぎ証明書を検証後、電子署名を復号化したものと、文書のハッシュ値を比較する。 ---- DSAは署名データをもとにもどせませんからね。

  • ディジタル署名

    シスアドの勉強中です。 共通鍵方式、公開かぎ方式はわかりました。 ん??となってしまったのはディジタル署名です。 公開かぎ方式の逆だ!、といわれたのですが・・・ とすると、送信者の秘密鍵で暗号化して、受信者は、送信者の公開鍵で複合する・・・・ということになりますよね・・・? 署名鍵って????どこに出てくるんですか??? 送信者の秘密鍵で暗号化されたものが、送信者の公開鍵で複合できたんだから、送信者の特定が出来ました・・・ ということで認証できた・・・ってことですか??? じゃあ・・・・署名鍵ってなに???? すっきり説明できる方お願いします_(._.)_

  • ディジタル署名について

    情報処理技術者の勉強してます。 公開鍵暗号化方式の問題では、受信者の公開鍵で暗号化して受信者は自分の秘密鍵で複合するとあります。 ディジタル署名では、送信者の秘密鍵で暗号化して送信者の公開鍵で複合化とありますが それならばなぜ公開鍵暗号化方式は送信者の秘密鍵で暗号化して送信者の公開鍵で複合化と回答すると間違いなのでしょうか?

  • デジタル署名

    デジタル署名とは公開鍵暗号方式を応用したものということですよね。 公開鍵暗号方式では暗号化に公開鍵、複合化に秘密鍵を用いるのに、 デジタル署名では暗号化に秘密鍵、複合化に公開鍵となるのは どうしてなのでしょうか。

  • 電子署名について教えてください

    会社で取引先から電子署名されているメールが届きます。 普通にクリックすると開くのですが、これでも暗号化する意味があるのでしょうか。 どのようなメリットがあるのでしょうか。 また、自分が電子署名を使う場合にはどの様にすれば良いのでしょうか。

  • サーバ証明書等の正当性の確認について。

    サーバ証明書、証明書には、 認証局の署名をSHA-1等のハッシュ関数で、 ハッシュ化されたハッシュ値を、 認証局の秘密鍵で暗号化された認証局の電子署名が付加されていると思いますが、 その部分の信頼性についてですが、 認証局から、 公開鍵を取り寄せて、 ハッシュ値を取り出すと思うのですが、 もともとの平文(署名)を認証局から取り寄せることは可能でしょうか。 認証局の公開鍵で復号できたから、 認証局の秘密鍵で暗号化されているといえるのですが、 もともとの署名が何かがわかりません。 (ちょっと信頼性にかけるような気がします。) 署名を取り寄せることができれば、 署名をSHA-1等を使って、 ハッシュ値を取り出して、 公開鍵で復号したハッシュ値と比較することができます。 公開鍵と平文(署名)を取り寄せることはできないのでしょうか。

  • 電子署名、電子証明書のイメージの掴み方

    電子署名を使ったことがないので、いまひとつイメージが掴めません。 各認証局にて認証を受けた後、電子証明書が発行されます。 その後(ソフトの操作にて?)PCにダウンロードして取得します。 なのでそれは、データファイルとして存在します。 ここまでの前提があっているとしまして、 1.この、「データとして存在している電子証明書」は、何回使っても(相手に送っても)構わないのでしょうか? 2.電子署名をする時に必要な「秘密鍵」は、物理的なデータとして存在するのでしょうか?   それとも暗証番号のような感じでしょうか? 3.上記で「データとして存在する」だった場合に、電子署名を生成する際に、 当該PCにデータとして存在する必要があるのでしょうか?  「暗証番号のようなもの」だった場合は、ソフト側で入力を促す画面になるのでしょうか? 4.どんな場合に電子署名が必要なのかもよくわかっていないのですが、 とりあえず上記はメールの送信時をイメージしての質問です。 他に電子署名が使われるのはどのような場合でしょうか? 質問が多岐にわたって申し訳ありません。 おわかりになる項目だけの回答でも構いません。 よろしくお願いいたします。

  • 自己署名証明書によるSSL通信について教えてください!

    SSL通信により、データを暗号化してWeb上でやりとりするシステムの構築を考えています。 そこで自己署名というのを考えているのですが、署名の流れがいまいち分かりません。 認証局利用の場合、私の理解では、 【サーバ側】 1.サーバ側でRSA秘密鍵を生成 2.RSA秘密鍵を元にCSRを作成 3.CSRファイルを認証局に送信 【認証局】 4.CA秘密鍵により暗号化し、サーバ証明書を作成 5.サーバ側にサーバ証明書を送信 【サーバ側】 6.クライアント側にサーバ証明書を送信 【クライアント側】 7.サーバ側よりサーバ証明書を受信する 8.認証局より公開鍵を取得する 9.認証局の公開鍵でサーバ証明書の暗号化された鍵(認証局の秘密鍵で暗号化されたもの)を復号する 10.復号した鍵により、サーバ証明書の暗号文を復号する となります。(間違いがある場合はご指摘下さい) では、自己署名を行う場合はどうなるのでしょうか? 単純にサーバ証明書を自分で作成すると考えてよろしいのでしょうか? CSRファイルの作成などもやはり行うのでしょうか? クライアント側の流れは変わらないのでしょうか? また、この操作は接続毎に毎回行うことになるのでしょうか? (秘密鍵、サーバ証明書は毎回変わるのでしょうか?) 初歩的な質問とは思いますが、よろしくお願いいたします。