SORU
26 Temmuz 2011, Salı


Nasıl bcrypt-dahili tuzları olabilir?

Coda Hale'in makale "How To Safely Store a Password" iddia:

bcrypt tuzları dahili gökkuşağı tablo saldırıları önlemek için vardır.

bcrypt OpenBSD uygulaması olduğunu söylüyor this paper, o değinir:

OpenBSD bir arcfour 128-bit bcrypt tuz oluşturur (arc4random(3)) anahtar akımı, rasgele veri ile seribaşı çekirdek cihaz zamanlamaları toplar.

Bu nasıl çalıştığını anlamıyorum. Tuz: benim anlayışı

  • Gökkuşağı ayrı bir tablo her biri için oluşturulan olurdu, böylece her saklı şifre için farklı olmak gerekiyor
  • İhtiyacı için saklı bir yerde o da tekrarlanabilir: ne zaman bir kullanıcı oturum açmaya çalıştığında, biz onların parola girişimi, tekrar aynı tuz-ve-karma yordam yaptığımız zaman aslında biz kendi saklanan parola ve karşılaştırın

Vasiyet (Raylar giriş yöneticisi) bcrypt ile kullanıyorum, kafam çok karışık veritabanında tuz sütunu var. Eğer tuzu rastgele ve herhangi bir yerde saklı değil, ne kadar güvenilir bir karma işlemi tekrar edebilir miyiz?

Kısacasınasıl bcrypt-dahili tuzları olabilir?

CEVAP
26 Temmuz 2011, Salı


Bu bcrypt

Rastgele bir tuz oluşturur. Bir "maliyet" faktörü ön yapılandırıldı. Bir şifre toplamak.

Parola şifreleme anahtarı tuz ve maliyet faktörü kullanılarak elde. Bu iyi bilinen bir dize şifrelemek için kullanın.Mağazagenel olaraktuz,ve şifreli bir metin. Bu üç unsurun bilinen bir uzunluğa sahip olduğundan, kolayca bunları bir arada ve tek bir alanda saklamak için, ama onların dışında daha sonra split edebilmek.

Birisi kimlik doğrulaması çalıştığında, saklı mal ve tuzu alın. Türetmek giriş parola anahtarı. Tanınmış aynı dize şifrelemek. Eğer oluşturulan şifre metni saklı şifre metin ile eşleşirse, parola ile eşleşti.

Bcrypt PBKDF2 gibi algoritmalara göre daha geleneksel düzenleri çok benzer bir şekilde çalışır. Bilinen düz metin şifrelemek için türetilmiş bir anahtar; diğer düzenleri (makul) kullanımı konusunda temel fark, anahtar elde edilmesini işlevi geri döndürülemez olduğunu kabul edip, doğrudan türetilmiş anahtar deposu.


Veritabanı, bcrypt bir saklı "" böyle bir şey olabilir: . karma

$2a$10$vİ8aWBnW3fİD.ZQ4/zo1G.q1lRps.9cGLcZEiGDMVr5yUP1KUOYTa

  • 2a kullanılan bcrypt algoritma sürümünü tanımlar.
  • 10 maliyet faktörü; 210anahtar elde edilmesini işlevi yineleme kullanılır yeterli değil. ( 12 veya daha fazla bir maliyet öneririm.)
  • vI8aWBnW3fID.ZQ4/zo1G.q1lRps.9cGLcZEiGDMVr5yUP1KUOYTa tuz ve şifre metni ve modifiye ederiz kodlanmış Base-64. İlk 22 karakterleri tuz için 16-bayt bir değer için kod çözme. Kalan karakterleri metin kimlik doğrulaması için karşılaştırılacak şifre.
  • $ karma üstbilgi bölümü için sınırlayıcı olarak kullanılır.

Bu örnek documentation for Coda Hale's ruby implementation. dan alınmıştır

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alexis gillis

    alexis gilli

    23 HAZİRAN 2011
  • michaeljacksonVEVO

    michaeljacks

    2 EYLÜL 2009
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009