質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Q&A

解決済

2回答

1597閲覧

SSL/TLSにおける共通鍵の更新

m1st

総合スコア21

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

0グッド

0クリップ

投稿2019/11/27 03:21

現在、SSL/TLS(以下ではTLSとします)について勉強や実装を行っています。
そこで疑問に思ったことが2点あるので質問させていただきます。

  • TLSの通信では、3-way handshake後にTLSハンドシェイクによりネゴシエーションが行われ、

共通鍵を共有してセッションを確立します。セッション確立後、共通鍵によるデータの暗号化が
行われますが、共通鍵の更新はいつ、どの情報を元に行うのでしょうか?

  • TLSハンドシェイクの時にプリマスターシークレットの情報を元に共通鍵の生成を行っているはずなので、

共通鍵の更新時には再ネゴシエーションを行い、新たにセッションを確立して通信を行うのでしょうか?

共通鍵の更新がなければ、鍵の漏洩や影響範囲の拡大などリスクが懸念されるため非常に気になりました。

調べてみても欲しい情報が得られなかったため、質問させていただきました。
お分かりになる方がいらっしゃれば、何卒よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

TLS 1.2までは再ハンドシェイクしかセッションキーを更新する手段がなく、TLS 1.3でKeyUpdateとして実装されたとのことです(参考RFCの該当箇所)。

投稿2019/11/27 04:10

編集2019/11/27 04:11
maisumakun

総合スコア145201

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m1st

2019/11/27 04:57

回答ありがとうございます。 TLS1.2までとTLS1.3でセッションキーの更新手段が違うことは知りませんでした。 TLS1.3からハンドシェイクに対して非同期で鍵更新ができるので、以前より処理が少なくてすみますね。 引用元もわかりやすく記載していただき本当にありがとうございました。
maisumakun

2019/11/27 05:16 編集

HTTP/1.1の頃はセッションがえんえん続くこともなかったのですが、HTTP/2やWebSocketなど、TLSセッションを張りっぱなしにするような実用例が増えてきたので、TLS側での対応が必要になった、という印象です。
guest

0

調べてみた範囲がどの程度なのかわかりませんが厳密・正確な話を求めているのでしたらRFC8446を読むのが一番確実ではないでしょうか。

投稿2019/11/27 03:42

編集2019/11/27 03:44
TaniguchiTakaki

総合スコア171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m1st

2019/11/27 04:42

RFC844に関しては軽く読んでみたのですが、自分の理解不足により該当箇所がわからず質問させていただきました。回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問