web-dev-qa-db-ja.com

Google Chrome奇妙なランダム暗号スイート

このWebサイト は、ブラウザがHTTPS接続を保護するためにサポートするSSL暗号スイートに関する情報を提供します。

Google Chromeで閲覧すると、ブラウザでサポートされている暗号スイートのリストに、奇妙な暗号スイートが表示されるはずです。 (最初に提案された暗号スイートの場所と拡張機能のセクションにも表示されます):

下の画像のbabaを見てください(そして3a3a拡張子内): enter image description here

この数はランダムなようです。つまり、ページを更新すると、これらの数が変化します。

下の画像のdadaを見てください(そして1a1a拡張子内): enter image description here

これらのランダムな奇妙な数字は何ですか?それらがchrome独自の暗号スイート(一般的な暗号スイートではない)である場合、なぜchromeそれらをランダムに変更する必要があるのですか?)

6
Abraham

これは、サーバーがバギーにならないようにする機能です。 From GREASE for TLS

TLSクライアントは、サーバーが選択する16ビットのコードポイント(暗号スイートなど)のリストを提供します。拡張性を維持するには、サーバーは不明な値を無視する必要があります。ただし、サーバーにはバグがあり、不明な値を拒否する場合があります。これらのサーバーは既存のクライアントと相互運用するため、間違いが気付かれずに広がり、エコシステム全体の拡張性が損なわれる可能性があります。 壊れたサーバーが普及する前にそのような間違いを防ぐために、ランダムに宣伝する値をいくつか予約します

そして、それがどのように呼び出されるかがわかったら、BoringSSL(Chromeで使用されるOpenSSLフォーク)の find 機能 ソースコード内 を使用することもできます。

  // Add a fake cipher suite. See draft-davidben-tls-grease-01.
  if (ssl->ctx->grease_enabled &&
      !CBB_add_u16(&child, ssl_get_grease_value(ssl, ssl_grease_cipher))) {
    return 0;
  }

そして、それが発表する値は次のとおりです インターネットドラフト

  |       Value       | Description | DTLS-OK |    Reference    |
  +-------------------+-------------+---------+-----------------+
  | {TBD} {0x0A,0x0A} |   Reserved  |    Y    | (this document) |
  | {TBD} {0x1A,0x1A} |   Reserved  |    Y    | (this document) |
  | {TBD} {0x2A,0x2A} |   Reserved  |    Y    | (this document) |
  | {TBD} {0x3A,0x3A} |   Reserved  |    Y    | (this document) |
  ...
  | {TBD} {0xEA,0xEA} |   Reserved  |    Y    | (this document) |   
  | {TBD} {0xFA,0xFA} |   Reserved  |    Y    | (this document) |   

ここでのこの回答は stackoverflow.comの類似の質問 に対する私の回答に基づいていることに注意してください。

9
Steffen Ullrich