Update TLS labels and salts for IETF draft 19

gfe-relnote: specific to QUIC versions that use TLS which are disabled by flag quic_supports_tls_handshake
PiperOrigin-RevId: 241641168
Change-Id: Ic88c3ac42baa550c4fac64d0c534f2e2415c8657
diff --git a/quic/core/crypto/crypto_utils.cc b/quic/core/crypto/crypto_utils.cc
index 7580bbb..724f245 100644
--- a/quic/core/crypto/crypto_utils.cc
+++ b/quic/core/crypto/crypto_utils.cc
@@ -41,11 +41,10 @@
     size_t out_len) {
   bssl::ScopedCBB quic_hkdf_label;
   CBB inner_label;
-  const char label_prefix[] = "quic ";
-  // The minimum possible length for the QuicHkdfLabel is 9 bytes - 2 bytes for
-  // Length, plus 1 byte for the length of the inner label, plus the length of
-  // that label (which is at least 5), plus 1 byte at the end.
-  if (!CBB_init(quic_hkdf_label.get(), 9) ||
+  const char label_prefix[] = "tls13 ";
+  // 19 = size(u16) + size(u8) + len("tls13 ") + len ("client in") + size(u8)
+  static const size_t max_quic_hkdf_label_length = 19;
+  if (!CBB_init(quic_hkdf_label.get(), max_quic_hkdf_label_length) ||
       !CBB_add_u16(quic_hkdf_label.get(), out_len) ||
       !CBB_add_u8_length_prefixed(quic_hkdf_label.get(), &inner_label) ||
       !CBB_add_bytes(&inner_label,
@@ -74,9 +73,9 @@
                               const std::vector<uint8_t>& pp_secret,
                               QuicCrypter* crypter) {
   std::vector<uint8_t> key = CryptoUtils::HkdfExpandLabel(
-      prf, pp_secret, "key", crypter->GetKeySize());
-  std::vector<uint8_t> iv =
-      CryptoUtils::HkdfExpandLabel(prf, pp_secret, "iv", crypter->GetIVSize());
+      prf, pp_secret, "quic key", crypter->GetKeySize());
+  std::vector<uint8_t> iv = CryptoUtils::HkdfExpandLabel(
+      prf, pp_secret, "quic iv", crypter->GetIVSize());
   crypter->SetKey(
       QuicStringPiece(reinterpret_cast<char*>(key.data()), key.size()));
   crypter->SetIV(
@@ -85,9 +84,9 @@
 
 namespace {
 
-const uint8_t kInitialSalt[] = {0x9c, 0x10, 0x8f, 0x98, 0x52, 0x0a, 0x5c,
-                                0x5c, 0x32, 0x96, 0x8e, 0x95, 0x0e, 0x8a,
-                                0x2c, 0x5f, 0xe0, 0x6d, 0x6c, 0x38};
+const uint8_t kInitialSalt[] = {0xef, 0x4f, 0xb0, 0xab, 0xb4, 0x74, 0x70,
+                                0xc4, 0x1b, 0xef, 0xcf, 0x80, 0x31, 0x33,
+                                0x4f, 0xae, 0x48, 0x5e, 0x09, 0xa0};
 
 const char kPreSharedKeyLabel[] = "QUIC PSK";