質問するログイン新規登録

回答編集履歴

1

詳しく追記

2016/02/23 04:46

投稿

unau
unau

スコア2468

answer CHANGED
@@ -5,4 +5,22 @@
5
5
  2.CAを選び**CSR (公開鍵の入った証明書の申請用データ) を送り、認証してもらいます。認証してもらった証明書を WEB サーバに設定します。**これでA社はサービスを公開できる状況
6
6
  3.clientはA社のサーバと**ネゴります。具体的には証明書をもらい、証明書が正しいかチェックします。ブラウザに埋め込まれているルート CA に認証された CA に認証された CA に認証された ... CA に認証された証明書であれば、正しい証明書と判断し、中の公開鍵を利用します。clientはA社の公開鍵で暗号化した新規の共通鍵を生成してA社に送ります。A社しか知らない秘密鍵で復号して共通鍵を取り出し、これにより以降はclientとA社しか知りえない共通鍵で暗号化して通信します**。コネクショログインページへ
7
7
 
8
- こんな感じでしょうか。
8
+ こんな感じでしょうか。
9
+
10
+ ---
11
+ 追記
12
+
13
+ ・暗号化通信が終わった後の公開鍵は削除されるのでしょうか?また、ログイン情報などを送るために残しておくものなのでしょうか?
14
+ 公開鍵はキャッシュされることもあると思いますが、毎回入手すればいいものなので残す必要はありません。公開鍵暗号は計算コストが高いので、その後のセッションで使う共通鍵を交換するためだけに使います。
15
+
16
+ ・今年1月1日にSHA-1(暗号方式と捉えています。)の廃止というものを聞いております。これは鍵を作成する際のことを言っているのでしょうか?
17
+ SHA-1 は暗号方式ではなくて、ハッシュアルゴリズム(ダイジェストアルゴリズム/一方向関数)の一つです。暗号は復号できる、つまり、元の平文に直せるアルゴリズムですが、ハッシュは別名「一方向関数」にもあるように、もとに戻すのが非常に困難であるアルゴリズムです。
18
+ PKI (公開鍵暗号に基づく通信基盤) において、ハッシュは公開鍵暗号と並ぶ重要な要素です。通信の秘匿ではなく、署名、すなわち、通信の内容を書いた人が、確実に秘密鍵を持っている人であることを確認するために使われます。
19
+ 具体的には、送りたいメッセージのハッシュを計算し、それを秘密鍵で暗号化したもの、それを署名と呼びます。署名付きのメッセージを受け取った人は、メッセージのハッシュ値と署名を復号化した値を比べ、等しければ、確かに秘密鍵を持った人が書いたメッセージであると判断できます。
20
+
21
+ ・なぜわざわざCAを経由しているのでしょうか?A社が公開鍵を送ればいいと思うのですが…
22
+ 通信中に CA を経由しているわけではありません。ブラウザが「これは信用できる CA だ」としてるルート証明書を持っており、A社がclientに渡す証明書には、それを認証した CA を認証した CA を認証した CA ... とたどっていって、ルート証明書にたどり着けばA社の証明書を正しいと判定できます。
23
+ ブラウザによっては組み込みの証明書が違います。モバイル端末を含む多くのブラウザに組み込まれれているルート証明書の CA は、「より信頼されている CA」というわけです。これが、CA によって値段がかなり違う意味でもあります。
24
+
25
+
26
+ よろしくお願いしますm(__)m