48958


「どの暗号化方式を使用しているか分かる方法ってありますか？」

気になったことがあったので、質問させてください。  
どうか有識者の方にご回答いただけると助かります。

https通信がTLS1.0対応している場合は、  
以下のような対応する暗号化方式があります。

・256bit AES暗号 SHA-1 MAC  
・128bit AES暗号 SHA-1 MAC  
・168bit トリプルDES暗号 SHA-1 MAC  
・128bit RC4暗号 SHA-1 MAC  
etc

気になったのは、実際の一回一回のhttps通信ごとに  
どの暗号化方式を使っているのかわかる方法があるのか  
についてです。

私の稚拙な理解では  
そもそも、何に依存して暗号化方式を変えているのか、  
毎回https通信ごとに違う暗号化方式を使っているのか  
実は通信先のPCとサーバが同じであれば、毎回同じ暗号化方式なのか  
もわかっていません。

どこのサイトを見ればわかるかも。というのでも構いません。  
どうかご教授のほどお願い申し上げます。

以上です。


CC BY-SA 4.0
2018-10-03T11:41:19.837
48930
2018-10-04T22:52:44.097
10862
question
https ssl
TLS1.0対応の暗号化方式のうちどれを使っているのかを確認するには？


Webサーバーの設定でプロトコルと暗号スイートをログに出力することは可能です。  
使用しているサーバーによって設定方法は異りますので、ドキュメントや解説サイトなどを調べてみてください。


CC BY-SA 4.0
2018-10-04T05:02:03.090
48949
2018-10-04T05:02:03.090
5008
48930
answer


質問者さんがどういう立場なのかで知りたい内容は変わると思います。  
\- サーバー管理者  
\- 普通のユーザー  
\- MITM 攻撃を試みている中間者

普通のユーザーとして興味があるから確認したいってことだと仮定して、例えばオイラのユーザーエージェント Chrome x64 69.0.3497.100
であるなら  
\- 確認したい https なページを開いておいて  
\- F12 で開発者ツール画面を開く  
\- 開発者ツール画面のメニューバーから Security を開く（メニューバーの右側にあるので、》アイコンからスクロールする必要があるかもしれません）  
\- Connection のところに接続状態の解説がある

参考ページということならたとえば  
<http://tkengo.github.io/blog/2015/12/01/https-details/>


CC BY-SA 4.0
2018-10-04T05:10:28.993
48950
2018-10-04T05:10:28.993
8589
48930
answer


HTTPSはSSL(TLS)上にHTTPを乗せたものですので、TLSについて説明します。

TLSではまずクライアントからサーバーへClient Helloと呼ばれるパケットを送信します。その中にはCipher
Suitesと呼ばれるクライアントで使用可能なアルゴリズム一覧が含まれています。その応答としてサーバーからクライアントへServer
Helloというパケットが送信されます。その中にはClient Helloで送られてきたアルゴリズム一覧の中から１つ選択決定したCipher
Suiteが含まれています。

Webブラウザーで[Qualys SSL Labs](https://www.ssllabs.com/)のTest your
browserを開くと、そのWebブラウザーが送信したCipher
Suitesを確認することができます。Webブラウザー毎（IE、Edge、Firefox、Chrome）に一覧が異なることも確認できるかと思います。  
同様にTest your serverでは指定したサーバーが選択するCipher
Suiteを確認することができます。ただし、他人の運営するサーバーを指定すると迷惑がかかるためやってはいけません。

* * *

なお、Internet Explorerの場合、ページのプロパティを開くと`Connection`の項目に現在選択されているCipher
Suiteが表示されます。手元のPCで stackoverflow を開いたところ

[![> Connection: TLS 1.2, AES with 256 bit encryption \(High\); RSA with 2048
bit
exchange](https://i.stack.imgur.com/DTE6x.png)](https://i.stack.imgur.com/DTE6x.png)

と表示されました。

また、Wiresharkなどのパケットキャプチャでもクライアントが送信したCipher Suites一覧やサーバーが選択したCipher
Suiteを確認することができます。暗号化アルゴリズムを決定するパケットなので、当然ながら平文です。

WiresharkによるClient Helloの解析

[![画像の説明をここに入力](https://i.stack.imgur.com/nXgv1.png)](https://i.stack.imgur.com/nXgv1.png)

Server Hello

[![画像の説明をここに入力](https://i.stack.imgur.com/RozMQ.png)](https://i.stack.imgur.com/RozMQ.png)


CC BY-SA 4.0
2018-10-04T07:25:20.180
48958
2018-10-04T22:52:44.097
2018-10-04T22:52:44.097
4236
4236
48930
answer