diff --git a/_posts/2024-08-18-go-ech-kyber.md b/_posts/2024-08-18-go-ech-kyber.md new file mode 100644 index 0000000..866363e --- /dev/null +++ b/_posts/2024-08-18-go-ech-kyber.md @@ -0,0 +1,184 @@ +--- +title: "Go 1.23 adds support for ECH and Kyber" +image: "go1.23.jpg" +--- + +Go 1.23 [is out](https://go.dev/blog/go1.23) and it brings many new features. In the beginning of the release notes there's a bunch to read about the range over function iterators functionality or the new `unique`, `structs` and `iter` packages, but given the fact I'm no go expert, I won't go into any of those. + +The thing that stuck out to me were the changes to `crypto/tls`, which this time around were quite fruitful: + +## ECH + +Starting with this release, Go adds support for client-side ECH, which is a great step forward with potential adoption. Before its inclusion in the standard library, one would have to use third-party options, such as a custom library for making network requests or a custom build of Go (such as [cloudflare/go](https://github.com/cloudflare/go)). Having it in the standard library also means we're one step closer to [support with Caddy](https://github.com/caddyserver/caddy/issues/4221). + +A simple example which checks if a website supports ECH could look like this: + +```go +package main + +import ( + "crypto/tls" + "fmt" + "net/http" + "time" +) + +func main() { + domain := "crypto.cloudflare.com" + req, err := http.NewRequest( + "GET", + "https://"+domain, + nil, + ) + if err != nil { + return + } + + http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{ + EncryptedClientHelloConfigList: echConfigList, + } + + resp, err := (&http.Client{Timeout: 5 * time.Second}).Do(req) + if err != nil { + fmt.Println("ECH support: ", resp.TLS.ECHAccepted) + } +} +``` + +Alright, let's just run this and... + +``` +undefined: echConfigListBytes +``` + +Damn it, we need some `EncryptedClientHelloConfigList` to let the client know about the public key with which to encrypt the SNI. But how do we get that? Well, if you by chance stumbled upon [RFC 9460](https://datatracker.ietf.org/doc/rfc9460/) section 14.3.2 you could read that the DNS record 65 (HTTPS) has a field called `ech`, which contains just that: the key to give to `EncryptedClientHelloConfigList` - yay! This means that to make a proper ECH-enabled HTTP request, we need to first query DNS, parse the response, and then use the key to give to `http.Client.Do`. + +Knowing this, we can now write a more complete example: + +```go +package main + +import ( + "crypto/tls" + "encoding/base64" + "fmt" + "log/slog" + "net" + "net/http" + "regexp" + "time" + + "github.com/miekg/dns" +) + +// extractECH extracts the ECH value from the input string using regular expressions. +func extractECH(input string) (string, error) { + re := regexp.MustCompile(`ech="([^"]+)"`) + matches := re.FindStringSubmatch(input) + if len(matches) < 2 { + return "", fmt.Errorf("ech value not found") + } + return matches[1], nil +} + +func main() { + domain := "crypto.cloudflare.com" + req, err := http.NewRequest( + "GET", + "https://"+domain, + nil, + ) + if err != nil { + fmt.Printf("Error: %s\n", err) + } + + config, _ := dns.ClientConfigFromFile("/etc/resolv.conf") + c := new(dns.Client) + + existsMsg := new(dns.Msg) + existsMsg.SetQuestion(dns.Fqdn(domain), dns.TypeA) + existsMsg.RecursionDesired = true + + _, _, err = c.Exchange(existsMsg, net.JoinHostPort(config.Servers[0], config.Port)) + if err != nil { + fmt.Printf("Error: %s\n", err) + } + + m := new(dns.Msg) + m.SetQuestion(dns.Fqdn(domain), dns.TypeHTTPS) + m.RecursionDesired = true + + var echConfigListBytes []byte + + r, _, err := c.Exchange(m, net.JoinHostPort(config.Servers[0], config.Port)) + if r == nil { + slog.Warn("DNS: error: %s\n", err.Error()) + } else if r.Rcode != dns.RcodeSuccess { + slog.Warn("DNS: invalid answer name %s after MX query for %s\n", domain, domain) + } else { + for _, a := range r.Answer { + if a.Header().Rrtype == dns.TypeHTTPS { + echConfigListBase64, err := extractECH(a.String()) + if err != nil { + slog.Debug("Failed to extract ECH value", "err", err) + break + } + + slog.Debug("ECH Value:", echConfigListBase64) + echConfigListBytes, err = base64.StdEncoding.DecodeString(echConfigListBase64) + if err != nil { + slog.Error("Failed to decode ECH config", "err", err) + break + } + + break + } + } + } + + http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{ + EncryptedClientHelloConfigList: echConfigListBytes, + } + + resp, err := (&http.Client{Timeout: 5 * time.Second}).Do(req) + if err != nil { + fmt.Printf("Error: %s\n", err) + } + + if resp.TLS.ECHAccepted { + fmt.Printf("Domain %s supports ECH\n", domain) + } else { + fmt.Printf("Domain %s does not support ECH\n", domain) + } +} +``` + +Wow, this got lengthy. Did it pay off? Let's see: + +```sh +$ go run main.go +Domain crypto.cloudflare.com supports ECH +``` + +Nice. Online privacy achieved. What's next? + +## Kyber + +The other big addition to `crypto/tls` this time around is the support for the first post-quantum key exchange curve: X25519Kyber768Draft00. This key exchange is used by default when no `CurvePreferences` are set and you can specify it explicitly if you want to force its use. + +```go +const ( + x25519Kyber768Draft00 tls.CurveID = 0x6399 // X25519Kyber768Draft00 +) + +http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{ + EncryptedClientHelloConfigList: echConfigListBytes, + CurvePreferences: []tls.CurveID{x25519Kyber768Draft00}, +} +``` + +As you can see from the example above, the kyber curve is not exported from `crypto/tls` like the other curves, so we have to define it ourselves. + +That's good and all, but the only thing this gives us is the binary ability to see whether the server accepts the kyber curve or not — the request will simply fail with `remote error: tls: illegal parameter`. It would be super great if there was an actual way to determine the negotiated key exchange group, but unfortunately that's behind an internal `tls.ConnectionState.testingOnlyCurveID`. For now, the best way to get this information is still to use Cloudflare's Go fork. + +Alright, coool, awesome, bingo, huzzah, this is all very exciting. I guess, if you take anything from this post, let it be that Go 1.23 is worth upgrading to (and not just because the version string is ordered in ascending order). In fact, it's [already enabled](https://github.com/gitpod-io/workspace-images/pull/1403) by default in any new Gitpod workspace based on gitpod-provided workspace images. diff --git a/img/thumbnail/go1.23.jpg b/img/thumbnail/go1.23.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2f69130c199395e75af1c43d2872d26f76a98f76 GIT binary patch literal 64515 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∾wGm^QuwfQN} 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 M2>-w5_5W`I04^Eb2LJ#7 literal 0 HcmV?d00001