20221230
パソコン素人です。
セキュリティ素人です。
基本情報技術者試験の問題・テキスト等を見て気になった自分納得用メモです。
多分間違っているので信用しないで下さい。すみません。
公開鍵・秘密鍵がよく分からない。
他の人のHPにも出ているが、しっくりこない。
何となくのメモ。
ここに書くのは、RSA公開鍵暗号方式です。
自分が思うポイント:
・公開鍵で暗号化
・秘密鍵で復号化
が(1)一般的な使用の最初の「公開鍵・秘密鍵」で暗号・復号の説明。
反対に、
・秘密鍵で暗号化
・公開鍵で復号化
が(2)デジタル署名の説明。
と考えていいのか。
成り行き順番:
a サーバー側が公開鍵・秘密鍵(秘密鍵は自分用)を作る。
↓
b クライアントに公開鍵を送る。(これだけ)
↓
c クライアントが公開鍵で暗号化。サーバーに送る。
↓
d サーバー側が暗号を秘密鍵で復号。
これが、(1)一般的な使用の最初の説明
上記の成り行きと似た感じでデジタル署名の場合((2)の説明は「’」のついた方)
a サーバー側が公開鍵・秘密鍵(秘密鍵は自分用)を作る。
a’ サーバー側が元の通信内容でハッシュ値(固有の値)を作成。それを秘密鍵で暗号化(デジタル署名)。
↓
b クライアントに公開鍵を送る。
b’ 秘密鍵でハッシュ値を暗号化。クライアントに通信内容と(暗号化した)ハッシュ値を送る。
↓
c' クライアントは、送られてきたの通信内容でハッシュ値(固有の値)を作成。
サーバーから送られてきた(暗号化した)ハッシュ値を公開鍵で復号。
(ハッシュ値が同じならなりすまし・改ざんはない。)
これが、(2)デジタル署名の説明。
実際はもっと複雑だろうが、
(1)は、公開鍵を送る(これだけ)
(2)は、現物(通信内容)を送る(それとハッシュ値の暗号)
<その他>
認証局の役割:
でも、(2)のデジタル署名自体、送り手がそもそも最初からなりすましだったら?
そのために、認証局(CA)がデジタル証明書(公開鍵証明書)があるのかもしれない。
(公証役場みたいなもんかな。)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
参考(以下digicert様サイトを参考・引用しました。感謝します。問題あれば削除いたします。)
CAの役割
HTTPSのウェブサイトにアクセスしている時、カギマークがあればCAによって認証されたサイト。
(「保護されていない通信」や「安全ではありません」と表示されているサイトは、
CAによる認証が行われていないか、その認証の有効期限が切れている)
安全な南京錠を表示し、HTTPS を有効にしたいウェブサイトは、
CAから TLS/SSL証明書を取得する必要があります。
CAは、証明書を発行する前に、サイトの所有権、名前、所在地など、証明書要求者の情報を確認します。
++++++++++++++++++++++++++++++++++++++++(以上、参考・引用)
そういえば、イントラネットに新たにPCを入れる時、証明書データ入れたような気がする。
ブラウザーを(いちいちブロックされず)見やすくするために。
あれは、公的なもんなのかな。「信頼された証明機関」とか?
あれがないとセキュリティの強いイントラでは、いちいちデジタル認証とかして面倒だから???
素人で分かりません。
追記:ハイブリッド暗号方式(Https)について
「公開鍵(・秘密鍵)暗号方式」と「共通鍵暗号方式」を合わせた使い方というが、ややこしい。
ポイントは、共通鍵の共有のために、「最初に」公開鍵方式を使うということか。
(いろんな参考書の公開鍵方式の説明の)「平文」を「共通鍵」に置き換えて考える。
送る内容を平文→共通鍵に置き換える。
そのため、共通鍵は、(平文と同じなので、)クライアント側が作る。(前提)
順序:
先に、サーバーが、サーバーで作った公開鍵をクライアントに送る。
クライアントは、自分が作った共通鍵(平文と同じ)を公開鍵で暗号化し、サーバーに送信。
サーバーは暗号化された共通鍵(平文と同じ)を秘密鍵で復号し、共通鍵を得る。
以下、双方が共通鍵のみでやり取り。(公開鍵・秘密鍵はお役御免。)