Điểm:0

Hàm dẫn xuất khóa/hàm băm với phép so sánh nhanh

lá cờ in

Có chức năng dẫn xuất/băm khóa nào (có bất kỳ giá trị thực nào) đáp ứng cả hai tiêu chí sau:

  • Chậm tính toán hàm băm
  • Nhanh chóng xác minh hàm băm dựa trên chuỗi đầu vào (không được cung cấp bản sao thứ hai, hiện có của hàm băm đã nói)

Tôi biết nói chung, dẫn xuất khóa được sử dụng để ngăn chặn việc sử dụng vũ phu mật khẩu, nhưng đó thường là để bảo vệ mật khẩu đối với người dùng nội bộ.

Tôi đang tìm cách thiết lập một hệ thống xác thực mà người dùng phải cung cấp tên người dùng, mật khẩu hàm băm Proof of Work của mật khẩu, ngoại trừ.. Tôi không muốn phải tự mình thực hiện công việc để kiểm tra nhanh.

Băm không được so sánh với hàm băm thực tế trong cơ sở dữ liệu (ví dụ: nó phải là một thuật toán băm khác với thuật toán băm trong cơ sở dữ liệu.. PBKDF2), điều này chỉ đơn giản là để ngăn cản việc ép buộc vũ phu trong khi cũng không tạo ra một số điểm cuối trên máy chủ của tôi trong đó một tác nhân độc hại có thể khiến máy chủ của tôi thực hiện một số công việc nặng nhọc... mà chẳng được gì.

Điều này thậm chí có thể? Tôi biết điều đó là không cần thiết, nhưng nếu có thể thì đó có vẻ là một biện pháp đơn giản mà tôi có thể thực hiện để bảo mật các máy chủ web của mình.

kelalaka avatar
lá cờ in
Yêu cầu mâu thuẫn? Nếu bạn có thể xác minh nhanh tại sao kẻ tấn công không thể?
lá cờ in
Có cảm giác như tôi có thể sử dụng chức năng dẫn xuất khóa để trộn khóa riêng vào khóa mà người dùng sẽ sử dụng để băm/lấy một khóa khác, điều này sẽ giúp kiểm tra rất dễ dàng (được cung cấp khóa riêng mà người dùng sẽ không có).
lá cờ in
@kelalaka xem bình luận cuối cùng của tôi; Tôi không biết nếu điều này nhất thiết phải là một điều hay không.Nhưng ý tôi là, đây là thuộc tính của PKI (ví dụ: được cung cấp khóa riêng, bạn chỉ có thể giải mã tin nhắn, nếu không, bạn phải bẻ khóa nó). Tôi cảm thấy giống như vậy sẽ có thể được chuyển đổi bằng cách nào đó thành PoW...
lá cờ in
Ý tôi là, thậm chí chỉ cần một thiết lập PKI trong đó việc mã hóa bằng khóa chung khó hơn nhiều so với việc giải mã bằng khóa riêng sẽ hoạt động.
Điểm:0
lá cờ in

Một tìm kiếm Brave đơn giản cho "Băm Proof of Work" đã trả lời điều này... https://www.npmjs.com/package/hashcash

kelalaka avatar
lá cờ in
VẬY bạn lưu trữ giá trị hashcash để có thể xác minh nhanh chóng? Đây không phải là cách Key Derivation hoạt động. Nếu bạn muốn chạy chậm, hãy sử dụng Argon2.
lá cờ in
@kelalaka *ví dụ: thuật toán băm phải khác với thuật toán băm trong cơ sở dữ liệu.. PBKDF2* Không. Tôi đang lưu trữ PBKDF2 trong cơ sở dữ liệu. Hashcash/bằng chứng công việc không được lưu trữ... Tôi không ngụ ý rằng tôi sẽ lưu trữ hashcash ở đâu.
lá cờ in
Nó sẽ hoạt động như thế này.... 1.) Người dùng tính toán hashcash, gửi tên người dùng, pass, hashcash và giá trị bộ đếm 2.) Tôi xác minh hashcash bằng bộ đếm và đầu vào (giả sử tên người dùng + mật khẩu). 3. Chỉ _after_ xác minh thì tôi mới kiểm tra cơ sở dữ liệu (sau đó tôi băm mật khẩu do người dùng cung cấp với PBKDF2 và so sánh nó với bản ghi cơ sở dữ liệu). Vấn đề là để người dùng ác ý không thể buộc máy chủ của tôi liên tục kiểm tra hàm băm PBKDF2 mà không thực hiện trước rất nhiều công việc (nhiều công việc hơn so với máy chủ của tôi).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.