it-swarm-tr.com

AES ve CBC kullanırken, IV'ü gizli tutmak gerekli midir?

Bazı verileri rastgele oluşturulmuş bir Anahtar ve Başlatma Vektörü ile şifrelersem, o zaman üç bilgi parçasını da aynı tablo satırında depolar; IV'ün yanı sıra Anahtarı şifrelemek gerekli midir?

Basitleştirilmiş tablo yapısı:

  • Şifrelenmiş veriler
  • Anahtar (ikinci bir yöntem kullanılarak şifrelenmiş)
  • IV (şifreli?)

Lütfen mimarinin ve yöntemin gerekli olduğunu varsayın: Arkasındaki açıklama uzun ve donuk.

44
Stu Pegg

Wikipedia adresinden:

Bir başlatma vektörünün bir anahtardan farklı güvenlik gereksinimleri vardır, bu nedenle IV'ün genellikle gizli olması gerekmez . Bununla birlikte, çoğu durumda, bir başlatma vektörünün asla aynı anahtar altında yeniden kullanılmaması önemlidir . CBC ve CFB için, IV'ün tekrar kullanılması ilk düz metin bloğu ve iki mesaj tarafından paylaşılan herhangi bir yaygın önek hakkında bazı bilgileri sızdırır.

IV'ü gizli tutmanıza gerek yoktur, ancak rastgele ve benzersiz olmalıdır.

51
Polynomial

Sizin durumunuzda IV, DB'de düz metin olarak iyi olmalıdır, ancak kullanıcının kontrol IV .

şifre çözme içindeki IV, son düz metindeki ilk bloğu XOR yapmak için kullanılır (ve yalnızca kullanılır) - böylece bir saldırgan kontrol edebilirse IV, ilk veri bloğunu keyfi olarak kontrol edebilirler ve düz metnin geri kalanı değiştirilmeden hayatta kalacaktır.

enter image description here

Saldırgan ilk bloğun orijinal düz metnini biliyorsa, saldırgan deneme olmadan ilk blok için rasgele veri seçebildiğinden ve hata.

Bu özellikle şifreli verilerin güvenilmeyen kanallardan IV ile , belki de bir tarayıcıya veya bir uygulamaya vb. Aktarılması durumunda önemlidir.

8
George Powell