HomeBlogHash, Salt và Pepper: Tại sao những nguyên liệu này lại giúp mật khẩu trở nên an toàn hơn

Hash, Salt và Pepper: Tại sao những nguyên liệu này lại giúp mật khẩu trở nên an toàn hơn

Locker blog reading time6 phút để đọc
Locker Avatar

CyStack Editor

06/06/2022
Copy
Reading Time: 6 minutes

Việc xâm phạm dữ liệu gần như xảy ra hàng ngày, với mật khẩu và các dữ liệu cá nhân khác bị tin tặc lấy được từ các công ty nơi bạn mua sắm, ăn uống và thanh toán. Tuy nhiên thông thường thì mật khẩu mà bạn siêng năng ghi nhớ khi đặt hàng đã được lưu trữ theo cách bảo vệ bạn khá tốt, quá trình đó được gọi là hash. Sau đó bước thứ hai được gọi là salting và bước thứ ba được gọi là peppering. Cả ba đều có thể được sử dụng cùng nhau (mặc dù thường thì không). Nhưng chỉ cần một bước cũng có thể giúp bảo vệ cụm từ hoặc chuỗi ký tự đặc biệt của bạn nhiều hơn.

Dưới đây là sự khác biệt giữa ba điều này và đặc biệt là tại sao bạn nên muốn đảm bảo rằng các công ty mà bạn giao phó cho doanh nghiệp của mình cũng thực hiện các bước để bảo vệ thông tin của bạn.

Hashing là gì?

Hashing là một cách biến mật khẩu của bạn thành một mã nhận dạng và dấu vân tay duy nhất mà khó có thể đảo ngược và về cơ bản là nó đã được đảo ngược. Về cơ bản, bạn đang chia nhỏ dữ liệu của mình và tạo ra một đầu ra cố định. Tại sao bạn muốn sử dụng hashing? Nếu một mật khẩu chỉ được lưu trữ dưới dạng văn bản thuần túy thì khiu một tin tặc giành được quyền truy cập vào dữ liệu đó, họ sẽ có các chìa khóa truy cập vào tài khoản của bạn – và thậm chí có thể là cả các tài khoản khác nếu bạn đã sử dụng cùng mật khẩu đó ở nơi khác.

Arve Kjoelen, giám đốc an ninh thông tin tại McAfee chia sẻ với GearBrain rằng: “Nếu bạn sử dụng cách triển khai đơn giản hơn và không có [mật khẩu] nào được hash và cơ sở dữ liệu mật khẩu bị vi phạm, mật khẩu của mọi người đều có thể truy cập được”.

Vì vậy, đó là lý do tại sao nhiều công ty sẽ nói rằng nếu họ đã bị xâm nhập, rằng trong khi cơ sở dữ liệu của họ đã bị chiếm thì nó chứa mật khẩu được hash. Hãy nghĩ điều này như những cụm từ đã được mã hóa thành một ngôn ngữ bí mật. Bạn thực sự không thể đảo ngược thiết kế của một hash. Nhưng những tin tặc gan dạ có thể thử và tìm ra ngôn ngữ bí mật, tạo ra một loạt các từ thông qua việc code và sau đó so sánh những kết quả đó với mật khẩu được hash. Họ có thể không biết hash mà một công ty đã sử dụng, nhưng họ có thể so sánh bộ sưu tập hash của mình với một công ty và cố gắng khớp các hash với nhau. Nếu họ tìm thấy một kết quả trùng khớp – thì họ có thể tìm ra mật khẩu.

Theo Jim Miller tại Trail of Bits chia sẻ với GearBrain thì đó chính xác là những gì một số tin tặc đang làm.

Miller, một kỹ sư bảo mật của nhóm bảo mật Trail of Bits cho biết: “Một cuộc tấn công được gọi là bảng cầu vồng (rainbow table) có thể tạo ra một giá trị khổng lồ trong đó chúng tính toán hash của những mật khẩu đó. Qua đó kẻ tấn công có thể so sánh các giá trị đó với bảng và dễ dàng xác định mật khẩu trong cơ sở dữ liệu”.

Điều này rất không tốt vì vậy, đó là lý do tại sao nhiều công ty sau đó thực hiện thêm một bước thứ hai – gọi là salting.

Salting là gì?

Salting có tác dụng giống với tên gọi của mình. Cũng giống như cách mọi người thêm muối vào thức ăn, salting trong bảo mật thêm một yếu tố khác vào mật khẩu của bạn, được thiết kế để khiến mật khẩu khó bị phá hoặc khó đoán hơn rất nhiều.

Salting hoạt động bằng cách thêm một ký tự ngẫu nhiên vào mật khẩu của bạn – cùng một ký tự ngẫu nhiên mỗi lần, nhưng bạn và thậm chí cả công ty đều không biết nó là gì. Sau đó mật khẩu mới của bạn và những gì bạn coi là mật khẩu của mình cộng với phần “muối” đã thêm vào, sẽ được băm (hash) và qua đó bạn có một cái gì đó khá khó giải mã.

Miller cho biết: “Bạn có thể tìm thấy một bảng cầu vồng trên mạng. Tuy nhiên bạn không thể dự đoán giá trị salt sẽ là bao nhiêu và do đó, điều đó làm cho bảng cầu vồng trở nên vô dụng”.

Bạn không bao giờ thấy quá trình này khi đăng nhập để mua những cuốn sách cho lớp học. Thay vào đó, bạn chỉ cần nhập mật khẩu của mình và hệ thống sẽ tìm kiếm salt và hash cho bạn và điều đó xảy ra trong vòng chưa đầy một giây. Sẽ tốn nhiều chi phí hơn khi thêm bước salting thứ hai này, nhưng chính bước bổ sung đó sẽ giúp bảo vệ thông tin của người tiêu dùng – và cũng bảo vệ danh tiếng của công ty.

Dave Hatter, một nhà tư vấn an ninh mạng ở Cincinnati, Ohio chia sẻ GearBrain rằng: “Bạn không cần phải salting mật khẩu để an toàn hơn, nhưng đó là điều nên làm”.

Vậy còn Peppering là gì?

Peppering đưa toàn bộ khái niệm salting đi xa thêm một bước nữa. Nó chỉ định một giá trị ngẫu nhiên thứ hai cho mật khẩu – nhưng giá trị này không bao giờ được lưu trữ cùng với “muối” cũng như mật khẩu.

Bạn có thể nghĩ rằng peppering chỉ là một salting bổ sung. Nhưng peppering không chỉ là một khóa bí mật chỉ hiển thị khi khách hàng đăng nhập vào một trang web mà nó còn phải được lưu trữ ở một vị trí riêng nên thực sự nó vẫn là một bí mật.

Bạn có thể đoán được hash, và thậm chí có thể tìm được salt. Nhưng nếu pepper nằm ở đâu đó trên thực tế, một hacker sẽ phải có quyền truy cập vào cả hai cơ sở dữ liệu để thực sự đạt được bất kỳ bước tiến nào.

Hatter cho biết: “Peppering cải thiện tính bảo mật của salt và hash bởi vì nếu không có giá trị peppering, kẻ tấn công không thể bẻ khóa một hash”.

Vậy bạn cần phải làm gì để bảo vệ chính mình?

Trước tiên, bạn nên đảm bảo rằng bạn đang thực hiện các bước bảo mật cơ bản để bảo vệ mật khẩu và bảo vệ cuộc sống trên môi trường mạng của mình. Điều đó bao gồm những điều cơ bản từ việc thay đổi mật khẩu mặc định trên thiết bị mới của bạn đến việc không sử dụng tên của con bạn làm tên của bạn trên web. Đây là những hành động bạn có thể tự thực hiện – và chúng miễn phí.

Sau đó, sẽ là cần thiết khi kiểm tra xem công ty bạn đang làm việc cùng, cho dù đó là tổ chức tài chính của bạn hay cửa hàng tạp hóa trực tuyến nơi bạn thường xuyên mua sắm có đang bảo mật dữ liệu cá nhân bao gồm cả mật khẩu của bạn hay không.

Bạn không cần phải là một lập trình viên để có thể hiểu rằng liệu một công ty có đang mã hóa dữ liệu bạn nhập vào trang web của họ hay không. Bạn chỉ cần sẵn sàng đưa ra quyết định xem bạn có muốn làm việc với những công ty đang cố gắng bảo vệ tài khoản của bạn hay không. Đó là một bước mà nhiều người nên xem xét thực hiện.

Kjoelen của McAfee cho biết: “Tôi nghĩ người tiêu dùng nên nhận thức được rằng có nhiều cách khác nhau để lưu trữ mật khẩu của họ. Nếu nó không được lưu trữ an toàn  và khi xảy ra xâm phạm, những mật khẩu đó có thể bị bẻ khóa”.

Theo GearBrain

Tin mới nhất

Locker blog

Mẹo, tin tức, hướng dẫn và các best practice độc quyền của Locker

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của Locker sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.