PBKDF2

PBKDF2 (Password-Dựa chính thức chiết khấu Chức năng 2) là một phần của tiêu chuẩn Cryptography (PKCS) loạt Public Key-RSA Laboratories, cụ thể PKCS # 5 v2.0, cũng được công bố như là RFC 2898. Nó thay thế một nguồn gốc quan trọng trước Internet Engineering Task Force chức năng, PBKDF1, mà chỉ có thể sản xuất ra nguồn gốc phím dài đến 160 bit. [1]

Mục đích và hoạt động [sửa]
PBKDF2 áp dụng một hàm giả ngẫu nhiên, chẳng hạn như một băm mật mã, mật mã, hoặc băm dựa trên mã xác thực thông điệp (HMAC), với mật khẩu đã nhập hoặc mật khẩu cùng với một giá trị muối và lặp đi lặp lại quá trình này nhiều lần để tạo ra một chìa khóa có nguồn gốc, có thể sau đó được sử dụng như một chìa khóa mã hóa trong các hoạt động tiếp theo. Công việc tính toán thêm làm bẻ mật khẩu nhiều khó khăn hơn, và được biết đến như là chìa khóa kéo dài.

Khi tiêu chuẩn đã được viết vào năm 2000, số lượng tối thiểu được đề nghị của lặp đi lặp lại là 1000, nhưng các tham số được dự định sẽ tăng theo thời gian khi tốc độ CPU tăng. Vào năm 2005, một tiêu chuẩn Kerberos khuyến 4096 lặp lại, [2] Apple iOS 3 được sử dụng năm 2000, iOS 4 được sử dụng 10000, [3], trong khi vào năm 2011 LastPass sử dụng 5000 lần lặp lại cho khách hàng JavaScript và 100000 lặp lại cho phía máy chủ băm. [4]
Có một muối thêm vào mật khẩu làm giảm khả năng sử dụng băm precomputed (bảng cầu vồng) cho các cuộc tấn công, và có nghĩa là nhiều mật khẩu phải được kiểm tra riêng rẽ, không phải tất cả cùng một lúc. Các tiêu chuẩn đề nghị một chiều dài muối của ít nhất 64 bit.

quá trình nguồn gốc chính [sửa]
Các PBKDF2 chức năng nguồn gốc chính có năm thông số đầu vào:
DK = PBKDF2 (PRF, mật khẩu, muối, c, dkLen)
Ở đâu:
PRF là một hàm giả ngẫu nhiên của hai tham số đầu ra với chiều dài hLen (ví dụ như một HMAC có khóa)
Mật khẩu là mật khẩu chính mà từ đó một phím được thừa kế được tạo ra
Muối là một chuỗi các bit, được biết đến như một muối mật mã
c là số lần lặp lại mong muốn
dkLen là chiều dài mong muốn của phím nguồn gốc
DK là phím nguồn gốc tạo ra
Mỗi khối hLen-bit Ti bắt nguồn chính DK, được tính như sau:
DK = T1 || T2 || ... || Tdklen / hlen
Ti = F (Password, muối, c, i)
Các chức năng F là xor (^) lặp c PRFs xích. Phiên đầu tiên của PRF sử dụng Mật khẩu là chìa khóa PRF và Salt nối với i mã hóa như một số nguyên 32-bit lớn về cuối nhỏ. (Lưu ý rằng tôi là một chỉ số 1 dựa trên.) Lặp đi lặp lại tiếp theo của PRF sử dụng Mật khẩu là chìa khóa PRF và đầu ra của việc tính toán PRF trước như muối:
F (Password, muối, c, i) = U1 U2 ^ ^ ... ^ Uc
Ở đâu:
U1 = PRF (Password, Salt || INT_32_BE (i))
U2 = PRF (Password, U1)
...
Uc = PRF (Password, Uc-1)
Ví dụ, WPA2 sử dụng:
 DK = PBKDF2 (HMAC-SHA1, cụm từ mật khẩu, SSID, 4096, 256)

Thay thế cho PBKDF2 [sửa]
Một điểm yếu của PBKDF2 là trong khi số lượng các lần lặp có thể được điều chỉnh để làm cho nó lấy một lượng tùy tiện lớn thời gian tính toán, nó có thể được thực hiện với một mạch nhỏ và rất ít RAM, mà làm cho các cuộc tấn công brute-force sử dụng ứng dụng tích hợp mạch hoặc các đơn vị xử lý đồ họa tương đối rẻ. [5] Các chức năng nguồn gốc chính bcrypt đòi hỏi một lượng lớn bộ nhớ RAM (nhưng vẫn không thể điều chỉnh riêng biệt, tôi e.. Cố định cho một số tiền nhất định của thời gian CPU) và tăng nhẹ so với các cuộc tấn công như vậy, [6] trong khi scrypt chức năng nguồn gốc chính hiện đại hơn có thể sử dụng một lượng tùy tiện lớn bộ nhớ và do đó là khả năng chống ASIC và GPU tấn công. [5]
Trong năm 2013, một mật khẩu băm cuộc thi đã được tổ chức để phát triển một phương pháp tiếp cận đề kháng hơn. Ngày 20 Tháng 7 năm 2015 Argon2 đã được chọn là người chiến thắng PHC cuối cùng, với sự công nhận đặc biệt được trao cho bốn chương trình mật khẩu băm khác:. Catena, Lyra2, yescrypt và Makwa [7]

https://en.wikipedia.org/wiki/PBKDF2

Comments

Popular posts from this blog

Thiết lập card không dây trên Kali Linux

Monitor mode

Giới thiệu - Scapy