QUIC, UDP üzerinde çalışan, taşıma ve güvenliği tek yapıda birleştiren modern bir protokoldür (RFC 9000). HTTP/3'ün temelini oluşturur ve şifreleme için TLS 1.3'ü zorunlu olarak içine gömer (RFC 9001).
TLS 1.3 QUIC'e nasıl entegre olur?
QUIC, TLS'in kayıt katmanını kullanmaz. Bunun yerine TLS 1.3 el sıkışma mesajları QUIC CRYPTO çerçeveleri içinde taşınır; paket koruma (AEAD) ise QUIC'in kendisi tarafından, TLS'ten türetilen anahtarlarla uygulanır. Sonuç olarak taşıma el sıkışması ile kriptografik el sıkışma birleşir ve bağlantı kurulumu tipik olarak tek gidiş-dönüşle tamamlanır.
- Sertifikalar ve doğrulama, klasik TLS 1.3 ile aynı X.509 altyapısını kullanır; ayrı bir "QUIC sertifikası" yoktur.
- Önceki bağlantıdan kalan oturum bileti ile 0-RTT veri gönderilebilir; ancak bu veri yeniden oynatma saldırılarına karşı dikkat gerektirir, yalnızca güvenli (idempotent) istekler için uygundur.
- Bağlantı kimliği (Connection ID) sayesinde istemci ağ değiştirse de (Wi-Fi'dan mobil ağa) bağlantı sürebilir.
- Akışlar bağımsızdır; bir paket kaybı diğer akışları bloke etmez.
Sunucu tarafı gereksinimleri
- TLS 1.3 desteği şarttır (TLS 1.2 ile QUIC kurulamaz).
- UDP 443 portu güvenlik duvarında açık olmalıdır.
- Sunucu, HTTP/3'ü
Alt-Svcbaşlığıyla duyurur; tarayıcı ilk bağlantıyı HTTP/2 ile yapıp sonra QUIC'e geçer.
Test
curl -I --http3 https://example.com/
curl -sI https://example.com/ | grep -i alt-svc
curl'un HTTP/3 desteğiyle derlenmiş olması gerekir; aksi halde bu bayrak kullanılamaz.
Pratik ipuçları
- UDP'yi kısıtlayan ağlarda istemci sorunsuz şekilde TCP/HTTP/2'ye geri döner; bu yüzden geri dönüşü bozmayın.
- Sertifika zinciri ne kadar kısa olursa ilk uçuş o kadar verimli olur.
Sertifikanızın modern protokollere hazır olduğunu SSL denetleme aracıyla kontrol edebilir, uygun ürün için SSL sertifikalarına bakabilirsiniz.