deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Cloudflare blog

Cloudflare Workers, Web Crypto'ya uyumluluk bayrağı arkasında post-quantum ML-KEM ve ML-DSA ekledi

Cloudflare Workers, artık ML-KEM ve ML-DSA post-quantum algoritmalarını bir uyumluluk bayrağının arkasında Web Crypto API üzerinden sunuyor; bu sayede JavaScript geliştiricileri kuantum dirençli anahtar değişimi ve imzalar için yerel primitive'lere kavuşuyor.

Cloudflare Workers, Web Crypto'ya uyumluluk bayrağı arkasında post-quantum ML-KEM ve ML-DSA ekledi

Cloudflare, Workers'a post-quantum primitive'leri ekledi

Cloudflare, Workers runtime'ındaki Web Crypto API'sine post-quantum kriptografik algoritmalarını ekledi. Cloudflare bloguna göre sürüm, anahtar kapsülleme için ML-KEM-768 ve ML-KEM-1024 ile, imzalar için Modern Algorithms in the Web Cryptography API topluluk grubu taslak raporunda tanımlandığı şekliyle ML-DSA-44, ML-DSA-65 ve ML-DSA-87'yı içeriyor.

Destek, geliştiricilerin wrangler yapılandırmalarında etkinleştirdiği webcrypto_modern_algorithms uyumluluk bayrağının arkasında sunuluyor. Cloudflare, bu opt-in API'lerin entegrasyonları test etmek ve doğrulamak için yapı taşları olduğu, tamamlanmış bir geçiş hikâyesi olmadığı konusunda açık.

Sürümde neler var

Algoritmaların yanı sıra Workers, yeni Web Crypto işlemlerini de hayata geçiriyor: encapsulateBits() ve decapsulateBits(), ayrıca KEM kullanımı için encapsulateKey() ve decapsulateKey(), özel anahtardan ortak anahtar türeten getPublicKey() yardımcı fonksiyonu ve özellik algılama için bir SubtleCrypto.supports() metodu. JWK içe ve dışa aktarma da yeni algoritmaları kapsıyor.

Cloudflare, ilk uygulamanın merkezinde KEM olarak ML-KEM-768'nin ve imza algoritması olarak ML-DSA-44'ün bulunduğunu, daha büyük parametre setlerinin de desteklendiğini söylüyor. ML-KEM-512, Workers'ın üzerinde inşa edildiği BoringSSL sürümü nedeniyle sunulmuyor.

İki primitive arasındaki fark

ML-KEM kendi başına hiçbir şey şifrelemez. Bir taraf, ortak bir anahtar karşısında paylaşılan bir sır kapsüller ve eşleşen özel anahtarın sahibi şifreli metni çözerek aynı sırrı geri kazanır. Bu malzemeyi gerçek ileti korumasına dönüştürmek için hâlâ HPKE gibi, paylaşılan sırrı bir anahtar çizelgesi ve AES-GCM benzeri bir AEAD şifresi üzerinden çalıştıran bir protokol gerekir.

ML-DSA, Ed25519 veya ECDSA kullanmış herkese tanıdık gelecektir: bir anahtar çifti üretin, baytları imzalayın, baytları doğrulayın. Cloudflare, yayınladığı kod örneklerini, eksiksiz protokoller değil bilinçli olarak küçük primitive kancaları olarak nitelendiriyor.

Kütüphaneler runtime'a devredebilir

Bu değişiklikten önce, post-quantum algoritmalarıyla deney yapan bir Workers geliştiricisi, Web Crypto gerekli primitive'lerden yoksun olduğu için ayrı bir uygulamayı JavaScript veya WebAssembly ile paketlemek zorundaydı. Cloudflare'a göre bu yaklaşım uygulamaları şişiriyor ve kriptografik kodu seçme ve sürdürme işini her bir aşağı akış kütüphanesinin üzerine yıkıyor.

Blog neyin değiştiğini gösteriyor. panva/jose paketi, algoritmayı Web Crypto üzerine eşleyerek JWT'leri ML-DSA-44 ile imzalayabiliyor ve panva/hpke kütüphanesi, bir şifre paketi içinde KEM olarak ML-KEM-768 kullanabiliyor. OHTTP HPKE üzerine inşa edildiğinden, yerel primitive'ler, eşleşen taraflar bunları müzakere etmeye hazır olduğunda orada da post-quantum şifre paketlerine işaret ediyor.

Yeni getPublicKey() çağrısı, ortak anahtar protokolleri için tekrarlayan bir sıkıntıyı ortadan kaldırıyor; daha önce bu protokoller bir anahtar çiftinin her iki yarısını da elde tutmak ya da bir ortak anahtar yayınlamak için formata özgü işler yapmak zorundaydı. Kullanım listesi algoritmaya göre farklılık gösteriyor: ML-DSA ortak anahtarları "verify" alırken, ML-KEM ortak anahtarları "encapsulateBits" alıyor.

SubtleCrypto.supports() mevcut, çünkü modern algoritmalar önerisi henüz her yerde uygulanmış değil. Cloudflare, Workers, Node.js, Deno ve tarayıcılar genelinde çalışan kütüphanelerin, yeteneklerin var olduğunu varsaymak yerine onları kontrol etmesini öneriyor; bu, önerinin yalnızca bir kısmı belirli bir runtime'a geldiğinde de işe yarıyor.

Daha geniş ekosistem bağlamı

Cloudflare bu çalışmayı daha geniş post-quantum çabaları içinde konumlandırıyor: OpenSSH 2024'te mlkem768x25519 anahtar değişimini ekledi, IETF'de HPKE içinde post-quantum ve hibrit KEM'ler için devam eden bir taslak var, RFC 9964 JOSE için ML-DSA'yı tanımlıyor ve kabul edilmiş bir taslak JWE'yi post-quantum ve hibrit HPKE ile genişletiyor. HTTP Message Signatures, imzalayan ve doğrulayan taraf anlaştığı sürece zaten farklı algoritmaları barındırabiliyor.

Neden önemli

Cloudflare'a göre post-quantum kriptografiye geçiş tek bir anahtar değil; birçok protokolün, kütüphanenin, servisin ve dağıtım ortamının her birinin farklı primitive'lerle çalışmayı öğrenmesi gereken geniş kapsamlı bir çaba. ML-KEM ve ML-DSA'yı yaygın kullanılan bir edge runtime'a koymak, JavaScript geliştiricilerinin kendi kriptografik kodlarını göndermeden entegrasyonları doğrulamaya başlayabileceği ve kütüphane yazarlarının, desteğin bulunduğu her yerde runtime'ı referans uygulama olarak görebileceği anlamına geliyor. Uyumluluk bayrağı, spesifikasyon olgunlaşırken API biçiminin hâlâ değişebileceğinin bir sinyali; ancak standartlar sürecinin tamamlanmasını beklemeden uygulamaları kuantum güvenli çağa şimdiden hazırlamanın maliyetini düşürüyor.

  • #cloudflare-workers
  • #post-quantum-cryptography
  • #web-crypto
  • #security
  • #javascript

İlgili yazılar