2009-05-18 34 views
7

Đã có couple trong số great các cuộc thảo luận về thực tiễn tốt nhất và có vẻ như đề xuất áp đảo là tạo ra một loại muối khác nhau cho mỗi mật khẩu và lưu trữ nó cùng với mật khẩu trong cơ sở dữ liệu.Lưu trữ muối trong mã thay vì cơ sở dữ liệu

Tuy nhiên, nếu tôi hiểu mục đích của muối một cách chính xác, đó là giảm khả năng bạn sẽ bị xâm nhập bởi các cuộc tấn công của bảng cầu vồng. Vì vậy, tôi hiểu rằng bằng cách lưu trữ nó trong cơ sở dữ liệu nó sẽ là tối ưu để thay đổi nó cho mỗi người dùng, nhưng nếu muối không ở đâu gần cơ sở dữ liệu thì sao? Nếu tôi lưu trữ một giá trị muối duy nhất trong mã (mà sẽ trên máy chủ web được trong một dll biên dịch), sẽ không phục vụ cùng một mục đích nếu một kẻ tấn công bằng cách nào đó được truy cập vào cơ sở dữ liệu? Có vẻ như tôi sẽ an toàn hơn.

Trả lời

15

Mục đích của muối là yêu cầu tái tạo bảng cầu vồng cho mỗi mật khẩu. Nếu bạn sử dụng một muối đơn, hacker/cracker chỉ phải tạo lại bảng cầu vồng một lần và anh ta có tất cả các mật khẩu của bạn. Nhưng nếu bạn tạo ngẫu nhiên một người dùng cho mỗi người dùng, anh ta phải tạo một người dùng trên mỗi người dùng. Đắt hơn nhiều trên phần tin tặc. Đây là lý do tại sao bạn có thể lưu trữ một muối trong văn bản thuần túy, nó không quan trọng nếu các hacker biết nó miễn là có nhiều hơn một.

Bảo mật do tối tăm không tốt, microsoft đã dạy chúng tôi điều đó.

+2

và nếu bạn muốn có nhiều niềm vui, làm cả hai;) hoặc làm cả hai và lưu trữ một cơ sở dữ liệu, hoặc làm cả hai, với một muối thứ ba trong cơ sở dữ liệu và muối thứ tư đó là một dup: D – Malfist

8

... cho đến khi kẻ tấn công có quyền truy cập vào tệp DLL.

16

Giá trị của một muối nằm trong đó là khác nhau cho mỗi người dùng. Bạn cũng cần có khả năng truy xuất giá trị không phải duy nhất này khi bạn đang tạo lại giá trị băm cho mục đích so sánh.

Nếu bạn lưu trữ một giá trị muối duy nhất mà bạn sử dụng cho mỗi mật khẩu, sau đó bạn ồ ạt giảm giá trị của việc có một muối ở nơi đầu tiên.

1

Bài học tôi học được từ muối là: Divide and Conquer (an ninh)

7

Ngoài câu trả lời khác, nó cũng đáng chú ý là một kẻ tấn công có thể tìm ra muối của bạn trong cùng một cách ông sẽ tìm ra mật khẩu : Cho một mật khẩu đã biết (của riêng mình), ông có thể làm một cuộc tấn công bạo lực trên muối có thể.

+0

Tuyệt vời điểm, cảm ơn. – ern

Các vấn đề liên quan