CoderTools

Tạo Khóa PBKDF2

Tạo khóa mật mã an toàn từ mật khẩu

🔒 100% Xử lý cục bộDữ liệu bạn nhập được xử lý hoàn toàn trong trình duyệt. Không có dữ liệu nào được tải lên máy chủ.
OWASP 2023 khuyến nghị tối thiểu 310.000 vòng lặp cho SHA-256. Nhiều vòng lặp hơn = bảo mật mạnh hơn nhưng hiệu suất chậm hơn.
Tùy chọn Đầu ra

Tài liệu PBKDF2

PBKDF2 (Password-Based Key Derivation Function 2) là tiêu chuẩn mật mã được định nghĩa trong RFC 8018. Nó chuyển đổi mật khẩu thành khóa mật mã an toàn thông qua băm lặp, làm cho các cuộc tấn công brute-force trở nên tốn kém về mặt tính toán.

PBKDF2 được áp dụng rộng rãi trong các giao thức bảo mật bao gồm mã hóa WiFi WPA2, bảo vệ dữ liệu iOS, macOS FileVault và nhiều hệ thống lưu trữ mật khẩu doanh nghiệp. Trạng thái được NIST phê duyệt làm cho nó trở thành lựa chọn hàng đầu cho các ứng dụng nhạy cảm về tuân thủ.

Cách PBKDF2 Hoạt động

PBKDF2 áp dụng lặp đi lặp lại một hàm giả ngẫu nhiên (mặc định là HMAC-SHA256) để tạo khóa dẫn xuất:

  • Nhận mật khẩu, salt, số vòng lặp và độ dài khóa mong muốn làm đầu vào
  • Áp dụng HMAC với mật khẩu làm khóa và salt + bộ đếm làm thông điệp
  • Lặp lại thao tác HMAC theo số vòng lặp được chỉ định
  • Nối các kết quả trung gian để tạo ra khóa dẫn xuất cuối cùng

Số vòng lặp Khuyến nghị của OWASP (2023)

Open Web Application Security Project (OWASP) cung cấp hướng dẫn số vòng lặp tối thiểu dựa trên độ mạnh của thuật toán băm. Các giá trị này được hiệu chỉnh để đảm bảo bảo vệ đầy đủ chống lại các cuộc tấn công phần cứng hiện đại:

Thuật toán Băm Số vòng lặp Tối thiểu Khuyến nghị
PBKDF2-SHA256 310,000 600,000+
PBKDF2-SHA384 210,000 500,000+
PBKDF2-SHA512 120,000 210,000+
PBKDF2-SHA1 1,300,000 Không khuyến nghị

Các Trường hợp Sử dụng Phổ biến

  • Tạo khóa mã hóa cho AES/ChaCha20 từ mật khẩu người dùng
  • Lưu trữ và xác minh mật khẩu trong hệ thống xác thực
  • Tạo khóa xác định từ mật khẩu chính (trình quản lý mật khẩu)
  • Tạo khóa cho mã hóa đĩa và container bảo mật

So sánh KDF: PBKDF2 vs Bcrypt vs Argon2

Tính năng PBKDF2 Bcrypt Argon2
Tiêu chuẩn RFC 8018 OpenBSD RFC 9106
Memory-Hard Không Hạn chế (4KB)
Kháng GPU Thấp Trung bình Cao
Trường hợp Sử dụng Tốt nhất Tuân thủ FIPS/NIST Hệ thống cũ Ứng dụng mới

Các Phương pháp Bảo mật Tốt nhất

  • Luôn sử dụng salt ngẫu nhiên về mặt mật mã ít nhất 16 byte (128 bit)
  • Lưu trữ salt cùng với khóa dẫn xuất - nó không phải là bí mật
  • Tăng số vòng lặp hàng năm để theo kịp những cải tiến phần cứng
  • Cân nhắc Argon2id cho các hệ thống mới yêu cầu bảo vệ memory-hard chống lại tấn công GPU

Tài liệu Tham khảo Kỹ thuật

Công Cụ Liên Quan

Menu Nhanh

Chưa có công cụ gần đây