Giter Club home page Giter Club logo

echspec's Introduction

Hi there 👋

Top Langs Github Stats

echspec's People

Contributors

thekuwayama avatar

Stargazers

 avatar  avatar

echspec's Issues

7.1-11 protocol_version or illegal_parameter

ECH が有効化され、TLS1.3 のみをサポートするように設定されたサーバーに対して、encrypted_client_hello 拡張と TLS 1.2 を指定してハンドシェイクを試みると、次の二つのアラートが返される可能性があると理解しています。

echspec 7.1-11 のテストケースでは、illegal_parameter アラートを期待しています。したがって、このテストケースは protocol_version アラートを受け取ったなら fail します。protocol_version を受け付けるように echspec 7.1-11 を変更すると、当該のテストケースについて ECH の仕様で illegal_parameter を返さなくても pass するようになってしまいます。よって、サーバーの ECH 実装を検証するためには、TLS 1.2 もサポートするようにサーバー設定した上で、このテストケースを検証する必要があると考えています。

echspec 7.1-11 について、protocol_version アラートを受け取った場合に「TLS 1.2 もサポートするようにサーバーを設定する」ように促すメッセージを表示する、という改善案があります。これにより、ユーザーはテストの結果を理解しやすくなります。

backend server test mode

                +---------------------+
                |                     |
                |   2001:DB8::1111    |
                |                     |
Client <----->  | private.example.org |
                |                     |
                | public.example.com  |
                |                     |
                +---------------------+
                        Server
          (Client-Facing and Backend Combined)

https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-17#name-shared-mode-topology

           +--------------------+     +---------------------+
           |                    |     |                     |
           |   2001:DB8::1111   |     |   2001:DB8::EEEE    |
Client <----------------------------->|                     |
           | public.example.com |     | private.example.com |
           |                    |     |                     |
           +--------------------+     +---------------------+
            Client-Facing Server            Backend Server

https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-17#name-split-mode-topology

echspec assumes to connect with Client-Facing Server. For Backend Server in Split Mode, support "backend server test mode".

Test 5.1-10: valid ech_outer_extensions

Next it makes a copy of the client_hello field and copies the legacy_session_id field from ClientHelloOuter. It then looks for an "ech_outer_extensions" extension. If found, it replaces the extension with the corresponding sequence of extensions in the ClientHelloOuter. The server MUST abort the connection with an "illegal_parameter" alert if any of the following are true:

  • Any referenced extension is missing in ClientHelloOuter.
  • Any extension is referenced in OuterExtensions more than once.
  • "encrypted_client_hello" is referenced in OuterExtensions.
  • The extensions in ClientHelloOuter corresponding to those in OuterExtensions do not occur in the same order.

https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-17#section-5.1-10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.