
基本情報等で習う暗号化についてなのですが
鍵を使って暗号化するというのは理解できるのですが
では実際に使ってみましょう、となるとどうすればいいのかさっぱりです。
他にもいろいろと疑問があるのですが
例えば・・・
1、メモ帳やWordを使って文章を書いた、これを友達に送りたいが公開鍵で暗号化して送りたい!どうすればいいのか?
2、仕事で顧客にメールを送りたいが、暗号化したい。どうすれば?
3、そもそも鍵の作り方ってどうすればいいのか?
個人利用であれば何かソフトをインストールして作るのか。
4、企業などでは自社独自に鍵を生成するサーバみたいなのがあるのでしょうか?
技術的な話や論理的な話は、どの本やサイトにも解説があるのですが
実際に使う方法などの説明が全然見つからなく、全然イメージがわかないのです。
暗号化ソフトみたいなものに、暗号化したいテキストファイルを読み込ませて
鍵作成ソフトで作った鍵を指定する・・・みたいな使い方なんでしょうか?
複合の仕方も具体的に知りたいです。
No.3ベストアンサー
- 回答日時:
まず、疑問にすべて答えて、それからもう少し説明します。
1、メモ帳やWordを使って文章を書いた、これを友達に送りたいが公開鍵で暗号化して送りたい!どうすればいいのか?
メール暗号化ソフトを使って暗号化します。
有料のものだと、シマンテックが販売しているPGPを使います。
無料のものだと、gpg4win (内部でGnuPGを使っている) が有名でしょう。
気を付けないといけないことは、暗号化に使用したソフトと同じソフトがないと復号できないということです。
2、仕事で顧客にメールを送りたいが、暗号化したい。どうすれば?
メールの本文を暗号化したい場合は、S/MIMEやOpenPGPというプロトコルを使います。
S/MIMEはWindowsに標準装備されているOutlook Expressやその光景のWindows Live Mailで扱えます。OpenPGPはThunderbirdで使えます。 (ちなみに、Thunderbirdは両方共対応しています。)
S/MIMEは認証局から自分の公開鍵が正しいということを証明する証明書を貰わないと使えないのに対し、OpenPGPは何らかの方法で自分の公開鍵を受け取り手に渡しておけば使えます。
自分の個人的な印象では、暗号化メールはOpenPGPを使うことが多く、企業の公式メールなどは平文で送ってS/MIMEで電子署名をつけることが多いように思います。
さて、S/MIMEを使う場合も、OpenPGPを使う場合も鍵の生成や登録という面倒な作業があるので、暗号化したデータを送るだけならもっと簡単な方法があります。例えば、zipファイルを作成するとき、パスワード付きのzipファイルを作れますが、これはzipファイルの中身が暗号化されるのでパスワードを知らないと復号できません。
ファイルを暗号化するだけならそれこそVectorなどで探すとゴマンとソフトが見つかると思います。
3、そもそも鍵の作り方ってどうすればいいのか?
個人利用であれば何かソフトをインストールして作るのか。
PGPやgpg4winで使う鍵を作るには、PGPやgpg4winのメニューにある鍵ペアの作成というものを使います。
(検索するといい感じの説明があるので詳細は割愛します。)
先に述べた電子メールに署名したり、暗号化したりする規格であるS/MIMEで使う鍵は次のサイトで紹介されている方法で作れます。
http://www.atmarkit.co.jp/fwin2k/win2ktips/647fr …
このステップを進んでいった時に出てくるRSA交換キーというのが暗号化のための鍵で、Thawte がそれに正しい鍵であるという電子署名をしたものが証明書となります。
4、企業などでは自社独自に鍵を生成するサーバみたいなのがあるのでしょうか?
鍵の生成サーバーは不要ですね。
普通、自分のマシンで暗号強度のある擬似乱数を発生させ、そこから鍵を作ります。
必要なのは、鍵を生成するサーバーではなく、公開鍵に署名をするサーバーか、あるいは、本人のものだと確認されている公開鍵を登録しておくサーバーだと思います。
5,複合の仕方も具体的に知りたいです。
復号は暗号化されたファイルを複合するソフトに渡すことで行います。
なぜこれだけで十分かというと、暗号化されたファイルの中にどの暗号鍵を使ったかやどの暗号化方法を使ったかが記録されているからです。どの暗号鍵を使ったかは、公開鍵のハッシュ値 (これをシグニチャといいます) で教えます。
ちなみに、公開鍵暗号は非常に効率が悪いので、普通、公開鍵暗号だけで暗号化することはありません。本文を共通鍵暗号で暗号化して、その暗号化に使った鍵を公開鍵暗号で暗号化するということを行うと思います。このときの共通鍵暗号の暗号鍵は暗号的な強度がある乱数から作られます。
この、乱数の作成方法は数学的なアルゴリズムで作ると周期性があり、すぐに次の鍵が見破られてしまいます。よって、暗号強度のある乱数にするために大抵、キーボード入力のタイミングなど、動きにブレがあるものの情報を集めて、それをハッシュなどしたものを使うか、それを乱数のseedとして、yarrowアルゴリズムやarc4randomなどを使って作っていると思います。
あと、質問者の例には一切登場していませんが、公開鍵暗号が使われている一番多いケースはSSLですね。電子ショッピングサイトを利用するとき、クレジットカード番号等を入力するところでhttps://...で始まるサイトにつないでいたりすると思います。ここでも、先ほどと同じようなことをして安全な通信ができるようにしています。
https://...のページにつなぐと、サーバーが公開鍵とそのCAによる電子署名を送ってきます。CAによる電子署名が正しいことを確認した後、ブラウザ側で乱数を作って、公開鍵で暗号化した上でサーバーに送ります。そして、その乱数を鍵とした共通鍵暗号を使って通信を行います。(かなり端折ったので詳しくはhttp://tools.ietf.org/html/rfc2660でも見てください。)
ついでに、各プログラミング言語に暗号化のためのライブラリーは普通にあるので、そういうのも使ってみるとよいでしょう。Javaでは標準で暗号化ライブラリーが入っていますし、CならOpenSSL、libgcrypt、nssなど多数の実装がありますからね。もちろん、Ruby、PHP、pythonなどの言語にもそういうライブラリーはあります。
No.4
- 回答日時:
1.の回答
公開鍵で暗号化を行うソフトはほとんどありません。
公開鍵暗号は時間がかかるので、実用的では無いからです。
一般的には共通鍵暗号で暗号化し、その時の共通鍵を公開鍵暗号で暗号化します。
暗号化して送りたいだけならば、文書を暗号化するのではなく、メールに添付して メールごと暗号化するのが簡単です。
2.の回答
まず、顧客から電子署名されたメールを送ってもらいます。
このとき、あなた自身も顧客も OutlookExpress、Shuriken などの電子署名に対応したメールソフトで送受信する必要があります。
顧客から受け取った電子署名メールには顧客の公開鍵が含まれているので、その公開鍵は自動的にWindows上に取り込まれます。現状では、電子署名メール以外に本物の公開鍵を受け取る方法がありません。
キチンと受け取れていれば、InternetExplorerで ツール→インターネットオプション→コンテンツ→証明書→ほかの人 に顧客の証明書が入っており、その証明書の中に公開鍵が含まれています。
以後は、その顧客宛てのメールを作成したときに〔暗号化〕ボタンをクリックすればメールソフトが自動的に暗号化して送ってくれます。
3.の回答
簡単なのは k9pca です。
http://www.vector.co.jp/soft/winnt/util/se479199 …
4.の回答
PKIを構築する場合、セキュリティの観点から認証局は必ずオフラインにします。
サーバ+クライアント形式ではなく、スタンドアロン形式で単独のマシンをネットワークに一切接続しない状態にします。
補足ですが、公開鍵を単独で使用することはありません。
電子証明書の中に含まれていなければ、現実的には意味が無いからです。
公開鍵と電子証明書はセットで覚えてください。
回答ありがとうございます
>InternetExplorerで ツール→インターネットオプション→コンテンツ→証明書→ほかの人 に顧客の証明書が入っており、その証明書の中に公開鍵が含まれています。
これは知らなかったです、ためになりました。
No.2
- 回答日時:
1~3
私も詳しくは知りませんが、PGPなどの暗号化ソフトがよく用いられるようです。
具体的な使い方は、例えばここ↓を見ればよく分かるでしょう。
http://allabout.co.jp/gm/gc/296748/
4
公開鍵方式では公開鍵を1個生成すれば事足りるので、鍵を生成するためだけのサーバがあるとは思えません。
ちょっと違いますが(これも勉強したとは思いますが)、ネットショッピングなどでよく使われるSSL(https://で始まる相手との通信)も、公開鍵方式を用いています。
http://thinkit.co.jp/free/article/0706/3/6/
No.1
- 回答日時:
1のみに回答します。
AからBに文章を送るとします。まずBはペアになっている公開鍵と秘密鍵を作り公開鍵を何らかの方法で公開します。(公開鍵は誰かに見られても問題ありません。)そしてAは公開されている公開鍵を使って暗号化してメールをおくります。そして、受け取ったBは秘密鍵を使ってファいルを復号します。そうすればもし、第三者にメールを傍受されても内容を見ることができずに安全に通信ができます。
回答ありがとうございます。
公開鍵暗号方式の説明ですね。
そこまではテキストなどで理解できたのですが
それを具体的にどうやって使えばいいのかが分かりませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- セキュリティホール・脆弱性 電子署名について教えてください 電子署名は公開鍵暗号方式ですが公開鍵で最初に暗号化してから秘密鍵で相 3 2023/05/03 14:50
- その他(教育・科学・学問) 公開鍵暗号方式は秘密鍵を利用者本人しかもたないため、相手を特定する方法として利用することができますが 3 2022/05/16 23:27
- その他(セキュリティ) ワンタイムパッドについて 2 2022/11/24 12:11
- 戸籍・住民票・身分証明書 マイナンバーカードの更新について教えてくださいな マイナンバーカード更新の時期が来たので携帯で済ませ 2 2023/07/31 01:47
- その他(暮らし・生活・行事) 鍵の締め忘れの防止 公共施設の更衣室のロッカーの鍵を、立て続けに 締め忘れてしまいます。 鍵は、ナン 1 2023/08/10 21:05
- クレジットカード クレジットカードご利用時の本人確認について 4 2023/01/25 15:34
- その他(セキュリティ) IDと暗証番号・パスワードの管理の画期的かつ簡単便利な方法を考案した。他人に検証してもらう方法は? 5 2023/02/08 08:49
- ポイントサービス・マイル E-TAXについて 2 2023/02/12 16:18
- その他(コンピューター・テクノロジー) ストレージにパスワードをかけるのとストレージを暗号化するのでは、どっちが良いのでしょうか? パスワー 1 2023/08/14 11:46
- その他(スマートフォン・携帯電話・VR) 某信用金庫の通帳アプリ 4 2023/04/09 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
不正利用?Uber TRIP とは? ク...
-
Dカードを騙るサイトをクリック...
-
Microsoft edge でダウンロード...
-
社用メールから個人メールへ資...
-
ネット検索で出る自分の名前を...
-
インターネットの違法行為など...
-
yahooに腹が立って仕方がない
-
ネット詐欺「ご購入ありがとう...
-
ESTA 偽サイトにパスポート写メ...
-
MicrosoftDefender の警告
-
至急お願いしますゲームウィズ...
-
同じドメイン内の詐欺メールの...
-
自分のIPアドレスをGoogle検索...
-
国際的暗号資産詐欺に、大金を...
-
Microsoftを名乗る詐欺にあいま...
-
私の行っているバイト先は指紋...
-
【日本の銀行にDDoS攻撃を仕掛...
-
詐欺メールについてです。今日...
-
ネット無料アパートでパソコン...
-
アップルアカウントの復旧時間
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【PCのセキュリティ】HSMとTPM...
-
SSH DSA RSA 鍵の違いについて
-
メールのデジタル署名は、なぜ...
-
RSA暗号の統計的手法による解読
-
鍵マーク???
-
WinSCPで秘密鍵を使用する場合
-
共通鍵、暗号鍵などの具体的な...
-
AES暗号方式について
-
Vista以降のパスワード付きZIP...
-
規則性のない言語はありますか?
-
相手にバレず着信拒否されてい...
-
BitLockerで暗号化したHDDはキ...
-
通話を第三者に聞かれてしまっ...
-
USBメモリの暗号 Buffalo Secur...
-
iPhone用動画保存アプリiCapの...
-
大容量を暗号化できるソフトに...
-
ゲームをプレイしていなくてもG...
-
【メール】受信メールが暗号化...
-
判断推理の問題ですが。
-
YouTubeを見てると、コメント欄...
おすすめ情報