ここから本文です

公開鍵暗号方式がよくわかりません ネットワークの基礎を勉強しています。 公...

voi********さん

2018/10/2315:10:40

公開鍵暗号方式がよくわかりません

ネットワークの基礎を勉強しています。
公開鍵暗号方式という言葉はしっていましたが、うまく整理できません。

最も簡潔に説明してあると感じた以下のサイトをみてみました。

https://wa3.i-3-i.info/word1828.html
https://www.b-chan.jp/entry/essay/public-key-cryptosystem

古来からある共通鍵暗号化方式についてはおおよそのイメージが掴めました。
メッセージを送る側と受け取る側が同じ「鍵」を保持し暗号化、複合化するということですよね?
問題点としては
●「鍵」の配送を極秘に行わねばならない
●「鍵」が第三者にわたった場合、情報が漏洩してしまう。
等が挙げられます。


公開鍵暗号化方式の場合は、
上の2つのサイトに共通しているのは、片方が自分だけの「鍵」(いわゆる秘密鍵)を持つということですが、この秘密鍵は自分で生成するものなのですか? それとももともと持っているものなのですか? 公開鍵についてはおおよそイメージできるのですが…

イメージがさっぱり掴めません。超初心者です。
片方が持つ秘密鍵のくだりがイメージできません。
より簡単に説明してくださる方がいらっしゃれば教えてください。

こちらが根本的に勘違いしていることもあると思います。

閲覧数:
74
回答数:
3
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

AirBorneさん

2018/10/2318:57:53

共通鍵暗号方式は、秘密鍵暗号方式とも言われますが、名前の通り、暗号に利用する鍵は、暗号と復号で共通です。
鍵は常に秘密として第三者へは公開をしない、当事者のみが知り得る秘密鍵を用います。


古い暗号方式おいては、どうやって暗号しているか、暗号の仕組み、暗号アルゴリズムを秘密にする必要もあります。
こういう、古い暗号方式は、「古典暗号」とも分離されます。
電子計算機が登場する以前の暗号の仕組み、戦争中に使われた暗号機を使う機械式暗号、例えばドイツの暗号機エニグマなども、機械そのモノ(つまり暗号アルゴリズム)を秘密にしました。
アルゴリズムがバレルと、暗号も解かれてしまう....

一方で、「現代暗号」の場合。
共通鍵暗号方式(秘密鍵暗号方式)でも、現在の暗号では、アルゴリズムは公開をして周知をされていますね。秘密とするのは鍵のみです。

質問の中にあるとおり、鍵は第三者には秘密にするのはもちろん、鍵の(安全な)配送をどうするかは大きな課題です。

ハイブリット暗号とか言われる仕組み(例えば、SSL/TLS)だと、ざっくり言うと、まずは公開鍵暗号方式で秘密鍵を暗号して、双方で鍵を共有してから、本番と言える通信は、共通鍵暗号方式を用いるとかもあります。
また、当事者間で、安全に鍵の共有をする為の仕組みとか考えられているので、そうおうのも利用します、DH鍵共有とか知られますね。
どう組み合わせて、どう使うかという工夫をしつつ。

現在、研究が進められている、量子暗号通信は、盗聴が出来ない(というか、盗聴するとバレル)という特徴がありますが、通信速度が遅いという特徴があります。
長距離も苦手でしたけど、衛星と通信とか、潜水艦との通信とか色々と実験されたりして、、徐々に克服されつつあります。
速度が遅い、つまり扱える情報量が少ないということなので、量子暗号通信は、まずは、秘密鍵の配送に使う、「量子鍵配送」なんて事で、まずは実用化される事になるなるかもしれません。

話が長くなりました。閑話休題。



秘密鍵の生成は、利用する公開鍵システムや、これをベースとするインフラであるPKIで定められている方法、運用ルールしだいです。

基本的に、秘密鍵は、自分だけ持っていれば良いから、(利用するシステム等における規定、定められた特定のツールを用いるとか、規定されているルールなりに従い)自分で生成して保持、秘密鍵から公開鍵を生成して、公開鍵を生成となります。

パーソナルユース向けのPGP等は、PGPソフトを通じて生成をして(基本、PGPソフトを通じての操作なので、秘密鍵を単体で意識して操作という事は無いかな)、公開鍵は、Webで広く遍く公開したりという事例もありますし、必要な人にだけメールで送信もありでしょう。

パーソナルユースで、利用者同士が納得している閉じている世界で運用なら、これで何も支障はありませんよね。


では、不特定多数の大勢で利用したい、で、相手が信用出来るか(ドメインが存在するか程度の信用)を担保したい....
そこで、PKIというインフラの出番です。 PKIにデジタル証明書を発行してもらいます。

インフラ丸投げ(インフラサービス)で、秘密鍵を生成してもらう事もあるかもしれませんが、原則として、秘密鍵は自分で(定められたルールに従い、ツール類で)生成、自分で管理です(暗号システムの中に組み込むとか、鍵ストア等に保管です、ある種のデータベースに保管というイメージでうすね)。

ちなみに、デジタル証明書というのは、何を証明しているかと言えば、公開鍵を証明しています。
実の所は、「公開鍵証明書」です。公開鍵も付与されています。
PKIを構成する、第三者であるCAが、「これは。○○の公開鍵である」と証明をしてくれています。

また、ICカードを用いているマイナンバーカード等の場合は、鍵生成装置を通じて、秘密鍵が生成されて、ICカードに秘密鍵が格納されたりします。

秘密鍵の生成は、誰がどうするかはともかく、原理原則として、秘密鍵は、(暗号を復号したり、デジタル署名をする)当事者のみが保持します。

  • AirBorneさん

    2018/10/2319:41:28

    実際のところとしては、例えば、自前で、SSL/TLS環境を構築してみたりして勉強してみる。

    いわゆる、オレオレCAを構築してみたるすると、理解が進むかと思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2018/10/30 14:34:12

みなさま、詳細に説明してくださりどうもありがとうございました。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

原沢信道さん

2018/10/2320:33:08

秘密鍵ですから、本人以外知りえない鍵です。公開鍵で暗号化したものは、秘密鍵しか復号化出来ないので、本人以外の人は復号化して見る事が出来ない訳です。

プロフィール画像

カテゴリマスター

2018/10/2315:21:49

公開キーも秘密キーも、キーペアとして
使う人(クライアント側)が作るものです。
この方式の味噌は、
「公開キーで暗号化が解けるのは秘密キーで暗号化したものだけである」
「公開キーで暗号化したものは、秘密キーでしか解けない」
この2点の性質を利用することです。
ですから、必ずキーのペアとして生成するものです。
作成した公開キーを通信したい相手にあげて、
秘密キーで暗号化したものを、送ってやります。
送られた相手は、公開キーで暗号化した応答を返します。
これで、相手はキーをくれた人が送っていることを確認できます。
そして、相手の応答は自分でしか解けません。
これで信頼関係が構築できるのです。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる