Cloudflare, Cloudflare Workers ortamına Web Crypto arayüzü kapsamında kuantum hesaplamaya dayanıklı ML-KEM ve ML-DSA şifreleme algoritmaları için isteğe bağlı destek ekledi. Bu değişiklik, geliştiricilerin çalışma ortamındaki yerel arayüzleri kullanarak anahtar değişimi ve dijital imzalar için modern alternatifleri test etmesine olanak tanıyor; böylece ayrı JavaScript veya WebAssembly uygulamalarını dahil etme ihtiyacı ortadan kalkıyor.
Destek şu anda webcrypto_modern_algorithms uyumluluk bayrağı üzerinden sunuluyor; çünkü modern algoritmaların arayüzü hâlâ değişebilen bir taslağa dayanıyor. İlk sürüm, anahtar kapsülleme için ML-KEM-768’i ve imzalar için ML-DSA-44’ü destekliyor; ayrıca ML-KEM-1024, ML-DSA-65 ve ML-DSA-87 de sağlanıyor. ML-KEM-512 ise Workers’ta kullanılan BoringSSL sürümü bunu sunmadığı için desteklenmiyor.
Yeni arayüz ne sunuyor?
Eklenen özellikler arasında encapsulateBits(), decapsulateBits(), encapsulateKey() ve decapsulateKey() işlemlerinin yanı sıra getPublicKey(), SubtleCrypto.supports() ve bu algoritmalar için JWK anahtarlarının içe ve dışa aktarılması bulunuyor. Destek doğrulama arayüzü, kütüphanelerin algoritmaların her JavaScript ortamında mevcut olduğunu varsaymasını önlüyor; özellikle kod Workers, Node.js, Deno ve tarayıcılar üzerinden çalıştırıldığında.
ML-KEM kendi başına tam şifreleme gerçekleştirmez; HPKE veya Hybrid Public Key Encryption gibi protokollerin AES-GCM gibi bir simetrik şifreleme algoritmasıyla birlikte anahtar türetme işlemlerinde kullanabileceği ortak anahtar materyali üretir. ML-DSA ise Ed25519 ve ECDSA’ya daha yakın bir model sunar; bir anahtar çifti oluşturur, verileri imzalar ve imzayı doğrular.
Bu haber neden önemli?
Kuantum hesaplamaya dayanıklı şifrelemeye geçiş tek bir değişiklikle gerçekleşmez; protokollerin, kütüphanelerin, hizmetlerin ve dağıtım ortamlarının güncellenmesini gerektirir. Cloudflare, Web Crypto içinde yerel primitives sunmanın her kütüphaneyle birlikte özel bir şifreleme uygulaması gönderme ihtiyacını azalttığını ve geliştiricilere ML-DSA kullanarak JWT imzalama veya HPKE içinde ML-KEM kullanma gibi entegrasyonları test etmek için pratik bir nokta sağladığını belirtiyor. Bu yaklaşım, OHTTP gibi protokollerle ilişkilidir.
Pratikte bu değişiklik, Workers uygulamalarını otomatik olarak kuantum hesaplamaya dayanıklı uygulamalara dönüştürmez ve herhangi bir protokol için eksiksiz bir yükseltme yolu sunmaz. Yalnızca temel yapı taşlarını sağlar; protokolü, şifreleme kümelerini ve uygun uyumluluk mekanizmalarını seçmek hâlâ kütüphane geliştiricilerine düşer.
Sınırlamalar ve sonraki adımlar
Workers bu işlevleri, V8 üzerine kurulu workerd ortamındaki Web Crypto katmanında, BoringSSL primitives’lerine dayanarak uyguluyor. Eklemeye Web Platform Tests testleri, uyumluluk bayrağına özel testler ve yeni TypeScript tanımları da dahil edildi.
Mevcut aşama, modern Web Crypto önerisinde yer alan SHA-3, cSHAKE, TurboSHAKE ve ChaCha20-Poly1305 gibi diğer algoritmaları kapsamadı; HPKE de Workers arayüzünün kendisinin bir parçası hâline gelmedi. Cloudflare, ML-DSA anahtarlarının ve imzalarının RSA veya Ed25519’daki karşılıklarından çok daha büyük olduğuna dikkat çekiyor. Bu nedenle uygulamayı dahil etme maliyetinin azaltılması ve performansın iyileştirilmesi, anahtarların, imzaların ve ağ veya depolama üzerindeki şifreli metinlerin boyutlarının artmasının etkisini ortadan kaldırmıyor.
Desteğin varsayılan hâle getirilmesi konusu, taslak istikrar kazanana ve kütüphane geliştiricilerinden geri bildirim alınana kadar açık kalıyor. Bu nedenle ekleme, tüm uygulamaların hemen geçişe hazır olduğuna dair bir işaret olarak değil, entegrasyonu denemek ve doğrulamak için bir araç olarak ele alınmalı.