Tạm biệt Bcrypt – Thuật toán bảo mật mật khẩu phổ biến đang chấm dứt sự tồn tại dài lâu.

#Bcrypt25 #ThuậtToánBămMậtKhẩuPhổBiến #Crypto #AnNinhMạng #Scrypt #Argon2

Bcrypt, một trong những thuật toán băm mật khẩu phổ biến đã đến lúc tạm biệt sau 25 năm. Với tính khả dụng của nguồn mở và các đặc tính kỹ thuật đã thúc đẩy tuổi thọ của nó, Bcrypt đã trở thành một công cụ quan trọng để bảo vệ mật khẩu của người dùng trên internet. Tuy nhiên, hiện tại có nhiều lựa chọn thay thế mạnh mẽ và an toàn hơn cho Bcrypt, bao gồm các thuật toán Scrypt và Argon2.

Bcrypt đã được phát triển cùng với hệ điều hành mã nguồn mở OpenBSD 2.1 vào năm 1997 và đã trở thành công cụ được sử dụng rộng rãi trong thế giới an ninh mạng. Bcrypt hoạt động bằng cách chuyển đổi mật khẩu thành một chuỗi khó hiểu bằng cách sử dụng “các hàm một chiều” để bảo vệ mật khẩu của người dùng.

Tuy nhiên, với sự ra đời của Scrypt và Argon2, Bcrypt đang dần trở nên lỗi thời và không còn là công cụ phổ biến như trước đây. Mặc dù vậy, Bcrypt vẫn là một công cụ quan trọng trong lĩnh vực an ninh mạng và đã giúp bảo vệ mật khẩu của người dùng trên internet trong suốt 25 năm qua.

Nguồn: https://www.wired.com/story/bcrypt-password-hashing-25-years/

Khi dữ liệu bị vi phạm từ một mối đe dọa không thường xuyên trở thành một thực tế dai dẳng của cuộc sống vào đầu những năm 2010, một câu hỏi sẽ xuất hiện lặp đi lặp lại khi các tổ chức nạn nhân, nhà nghiên cứu an ninh mạng, cơ quan thực thi pháp luật và những người bình thường đánh giá hậu quả của mỗi sự cố: Cái nào thuật toán băm mật khẩu mục tiêu có được sử dụng để bảo vệ mật khẩu của người dùng không?

Nếu câu trả lời là do chức năng mã hóa bị lỗi như SHA-1—chưa kể đến cơn ác mộng về mật khẩu được lưu trữ dưới dạng văn bản gốc mà không có sự xáo trộn mã hóa nào cả—thì nạn nhân sẽ phải lo lắng nhiều hơn vì điều đó có nghĩa là kẻ nào đó sẽ dễ dàng đánh cắp dữ liệu hơn để bẻ khóa mật khẩu, truy cập trực tiếp vào tài khoản của người dùng và thử những mật khẩu đó ở nơi khác để xem liệu mọi người có sử dụng lại chúng hay không. Tuy nhiên, nếu câu trả lời là thuật toán được gọi là bcrypt, thì ít nhất có một điều ít phải lo lắng hơn.

Bcrypt năm nay tròn 25 tuổi và Niels Provos, một trong những người phát minh ra nó, nói rằng khi nhìn lại, thuật toán này luôn có năng lượng tốt, nhờ tính khả dụng của nguồn mở và các đặc tính kỹ thuật đã thúc đẩy tuổi thọ của nó. Provos đã nói chuyện với WIRED về một nhìn lại thuật toán mà anh ấy đã xuất bản tuần này trên Usenix ;login:. Tuy nhiên, giống như rất nhiều công cụ kỹ thuật số khác, hiện có nhiều lựa chọn thay thế mạnh mẽ và an toàn hơn cho bcrypt, bao gồm các thuật toán băm được gọi là scrypt và Argon2. Bản thân Provos nói rằng cột mốc một phần tư thế kỷ là rất nhiều đối với bcrypt và anh ấy hy vọng nó sẽ không còn phổ biến trước khi tổ chức một sinh nhật lớn khác.

Một phiên bản của bcrypt lần đầu tiên được xuất xưởng cùng với hệ điều hành mã nguồn mở OpenBSD 2.1 vào tháng 6 năm 1997. Vào thời điểm đó, Hoa Kỳ vẫn áp đặt các biện pháp nghiêm ngặt giới hạn xuất khẩu về mật mã. Nhưng Provos, người lớn lên ở Đức, đã làm việc để phát triển nó khi anh ấy vẫn sống và học tập ở đó.

Anh ấy nói: “Một điều tôi thấy rất ngạc nhiên là nó đã trở nên phổ biến như thế nào. “Tôi nghĩ một phần (nó) có lẽ bởi vì nó đang thực sự giải quyết một vấn đề có thật, nhưng cũng bởi vì nó là mã nguồn mở và không bị cản trở bởi bất kỳ hạn chế xuất khẩu nào. Và sau đó tất cả mọi người đã kết thúc việc triển khai của riêng họ bằng tất cả các ngôn ngữ khác này. Vì vậy, ngày nay, nếu bạn phải đối mặt với việc muốn thực hiện băm mật khẩu, bcrypt sẽ có sẵn ở mọi ngôn ngữ mà bạn có thể sử dụng. Nhưng một điều khác mà tôi thấy thú vị là nó thậm chí vẫn còn phù hợp sau 25 năm. Điều đó thật điên rồ.”

Provos đã phát triển bcrypt với David Mazieres, giáo sư bảo mật hệ thống tại Đại học Stanford, người đang theo học tại Viện Công nghệ Massachusetts khi ông và Provos hợp tác phát triển bcrypt. Cả hai gặp nhau thông qua cộng đồng nguồn mở và đang làm việc trên OpenBSD.

Các mật khẩu đã băm được đưa vào một thuật toán để được chuyển đổi bằng mật mã từ một thứ có thể đọc được thành một cuộc tranh giành khó hiểu. Các thuật toán này là “các hàm một chiều” dễ chạy nhưng rất khó giải mã hoặc “bẻ khóa”, ngay cả bởi người tạo ra hàm băm. Trong trường hợp bảo mật đăng nhập, ý tưởng là bạn chọn một mật khẩu, nền tảng bạn đang sử dụng sẽ băm mật khẩu đó và sau đó khi bạn đăng nhập vào tài khoản của mình trong tương lai, hệ thống sẽ lấy mật khẩu bạn nhập, băm mật khẩu đó , sau đó so sánh kết quả với hàm băm mật khẩu trên tệp cho tài khoản của bạn. Nếu giá trị băm khớp, đăng nhập sẽ thành công. Bằng cách này, dịch vụ chỉ thu thập các giá trị băm để so sánh chứ không phải mật khẩu.


[ad_2]

Leave a Reply

Your email address will not be published. Required fields are marked *