SORU
6 NİSAN 2009, PAZARTESİ


Şifreleme anahtarlarını saklamak için en iyi yöntemler?

Simetrik şifreleme algoritması kullanan bir web uygulaması var.

Nasıl bir gizli anahtar ve başlatma vektörü saklamak istiyorsunuz? Kodda bir harf olarak saklamak kötü bir fikir gibi görünüyor. Nasıl ayarlar uygulaması hakkında? En iyi uygulama nedir?

CEVAP
7 NİSAN 2009, Salı


Web dünyasında bir standart yaklaşım anahtarı bölünmüş ve farklı yerlere koymak. E. g., anahtar split ve dosya sistemindeki bir kısmını koyabilirsiniz (dışında 'web uygulamalarını' dizin), JNDI yapılandırmasında bir parçası (ya da .net eşdeğer), ve veritabanında bir parçası. Tek bir parça almak Eğer, örneğin, yedekleme ortamı veya SQL enjeksiyon incelenmesi çökmüşsün, özellikle zor değil, ama tüm parçaları almak çok daha fazla iş gerektirir.

Aynı boyutta rasgele sayı ile XOR-ıng tarafından bir anahtar bölebilirsiniz. (Şifreleme açısından güçlü bir rasgele sayı üreteci kullanın!) Eğer birden fazla anahtar parçalara bölmek istiyorsanız bu işlemi birkaç kez tekrarlayabilirsiniz. Bu sürecin sonunda p1 ^ p2 ^ = p3 anahtarı, örneğin, üç kısmi kayıtlar istediğiniz. Doğru, örneğin, JNDI bir özelliği, depolanabilir bu yüzden base64 kodlamak kısmi bazı anahtarlar gerekebilir.

(Orada daha sofistike yollar ayrıldı bir anahtar, örneğin, bir n-m algoritması yerde değilsin ihtiyacınız olan tüm parçaları yeniden oluşturmak için anahtar, ama bu-çok - ötesinde ne ihtiyacın var burada.)

Eğer kullanıcı aktif parola girmeniz gerekir, bir simetrik anahtar için bir parola dönüştürmek (parola tabanlı şifreleme) PBE algoritmaları vardır. De harici bir dosya gerektirir birini bulmak istiyorum. Yine teyp yedekleme bir dava ya da yetmez şifre değil, ikisine de ihtiyacımız var. Ayrıca bu JNDI ile iki parçaya bölmek için parola kullanabilirsiniz - JNDI ve başlatma dosyası düz metin parola bir yere sistemlerinde kullanabilirsiniz.

Son olarak, emin ol sen 'yeniden' uygulamanız oldukça kolay. her neyse Bir yaklaşım, geçerli şifreleme anahtarı içeren şifre üzerine başka bir dosyanın şifresini çözmek için elde edilen kullanmaktır. Bu kolay eğer tüm verileri büyük bir yeniden şifreleme gerektirmeden tehlikede olduğunu düşünüyorsan şifre değiştirmek - sadece gerçek anahtar reencrypt için yapar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Droid Life

    Droid Life

    17 Kasım 2009
  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006