HTTP Content-MD5 Üstbilgisi ile İlgili Konular


12

Content-MD5 üstbilgisini kullanıp kullanmayacağımızı tartışıyoruz.

Artıları:

  • CMS bunu minimal yük ile kolayca eklememize izin verir (vakaların% 80'inden fazlasında önbelleğe alınmış yanıtlar).
  • Sorunlara karşı başka bir koruma katmanı daha ekleyecektir.

Eksileri:

  • İçerik Uzunluğu üstbilgisi her zaman mevcuttur (dinamik olarak oluşturulan sayfalarda bile), bu nedenle istemcinin başka bir doğrulama biçimine ihtiyacı olmaması gerekir.
  • Şimdiye kadar yolsuzluğun yol açtığı sorunların farkında değiliz.
  • MD5 kontrolleri web sayfası yükleme sürelerine gecikme ekler.

Puanlar:

  • Bazı ortam türleri bunu gereksiz kılan kendi özüm biçimlerini içeriyor mu?
  • TCP zaten bunu sunuyorsa neden HTTP standardına dahil edildi?
  • Mevcut gerçek hayatın kullanım alanları nelerdir?
  • MD5 kontrolü ihmal edilebilir mi?

Bunun birim testlere eklenmesi ve yaklaşık bir saatlik bir çalışma yapılması gerçek bir sorun değildir; ancak zararlı ise, o zaman web sitesi "sağlık kontrolü" lerde kullanılan üst düzey koklama testlerine eklenmesini istiyoruz.

Yanıtlar:


10

TCP'de zaten hata düzeltmesi var, ancak bu yalnızca TCP katmanında size yardımcı oluyor. Aracı bir HTTP proxy veya yük dengeleyici, HTTP katmanındaki verileri bozabilir ve ardından yeniden iletebilir. Bir HTTP MD5, bu bozulmayı algılamayı mümkün kılar. Kimsenin bu ihtiyaçtan gerçekten bahsetmemesinin nedeni, sorunun gerçekten çok nadir olmasıdır; çoğu HTTP proxy vb "sadece çalışır".

RFC'ler güvenliği ifade eder. IMHO bu çok zayıf, göz ardı edilmesi gerekiyor - herhangi bir gerçek güvenlik ve gizliliğe ihtiyacınız varsa, HTTPS'ye ihtiyacınız var.

Bazı ortam türleri bunu gereksiz kılan kendi özüm biçimlerini içeriyor mu?

Gerçekten iyi bir şey değil. Ancak fotoğraflarda, video akışında vb. Birkaç bit hata genellikle insanlar tarafından algılanamaz.

Ben kullanım durumuna bağlıdır söyleyebilirim:

  • REST tabanlı web hizmetleri için özet, yararlı bir ek hata düzeltme katmanı ekler. Örnek olarak bu AWS hatasını inceleyin .
  • Kritik HTTP üzerinden görev açısından kritik verilerle uğraşan uygulamalar için uygulamaya değer. Content-MD5, istemcilere uçtan uca iletim bütünlüğünü doğrulama seçeneği sunar.
  • 'Normal' değere sahip metin ve medya sunan 'normal' web siteleri için Content-MD5 başlığı hiçbir amaca hizmet etmez. Ve dürüst olmak gerekirse, aslında ne kadar ana tarayıcı (PC, özellikle mobil) desteklediğini bile bilmiyorum.

1
Bu AWS başarısızlık davası gerçekten sinsidir. Birkaç yaşında, ama hiç düşünmeyeceğim bir başarısızlık modunun büyüleyici bir örneği. Verilerin depolanmasını uzaktan kullanırken dikkat edilmesi gereken çok ilginç bir nokta. Bazı NoSQL çözümlerini ve bu sorunları nasıl ele aldıklarını merak ediyorum.
artlung

Bu, kararın müşteriye aktarılmasını oldukça kolaylaştırır. Bunun gibi bir seçenek artık "olması güzel" olarak sunulabilir, ancak önemli bir kriter değildir. Amazon bir yük dengeleyici dağıtabilir ve bu hatalara neden olabilirse, sonunda bir yerde kırpılması muhtemeldir ve hiçbir şey tutarsız bir şekilde zahmetli bir web sitesinden daha kötü görünmez.
Metalshark

Bu gerçekten çevrilmiş bitin nerede olduğuna bağlı. En az önemli olan bit ise, o zaman algılanamaz olacaktır. Ancak renkler rgb(255, 0, 0)ve arasında büyük bir fark var rgb(127, 0, 0). Ham video ile tek bir piksel bozulması daha az algılanır, çünkü kısa bir süre ekranda kalır, ancak çoğu çevrimiçi video yüksek verimli sıkıştırma algoritmaları kullandığından, çevrilen tek bir bit resmin yarısının bozulmasına veya kaydırılmasına neden olabilir ekran.
Lèse majesté

Ayrıca, dediğin gibi, bankalar sadece HTTPS kullanmalıdır, bu yüzden Content-MD5SSL / TLS zaten uygulama katmanında bir mesaj özeti sağladığından, onların da kullanmaları için bir anlamı yok mu?
Lèse majesté

1
@ Lèse majesté: Bit hatalarıyla ilgili olarak, soyut davaya katılıyorum. Ancak, çoğu akışlı video fx'in, hata düzeltme ve hız arasında 'doğru' dengesini sağlamak için UDP veya TCP üzerinden uygulamaya özgü bir aktarım kullandığını ve video akışının Content-MD5 için bir kullanım durumu olmayacağını unutmayın. Bankaların HTTPS kullanması gerektiğine katılıyorum ve bunu daha açık hale getirmek için yeniden ifade ediyorum.
Jesper M

1

MD5 kontrolleri web sayfası yükleme sürelerine gecikme ekler.

Eğer doğruysa (ve gecikme tamamen önemsiz değilse) buna değmez demiştim.

Genel olarak, en son değiştirilen üstbilginin bir sayfanın değişip değişmediğini belirlemek için en yaygın şekilde kullanıldığını düşünüyorum. Burada anlamlı bir değer sağladığınızı varsayarsak , content-md5 başlığına gerek duymuyorum .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.