2013-06-25 34 views
5

Khi mã hóa tệp bằng OpenSSL, bạn có thể sử dụng thẻ vượt qua: mySillyPassword, trong đó mySillyPassword là mật khẩu được sử dụng trong mã hóa. Ngoài ra, nó có thể sử dụng một muối, trong đó -salt -s (chuỗi hex) được sử dụng để xác định muối.OpenSSL - Mật khẩu và Mục đích Muối

Tại sao một người nào đó muốn sử dụng mật khẩu thay vì muối hoặc kết hợp với muối? Ngoài ra, tôi hiểu chỉ bằng cách sử dụng lệnh -salt sẽ gây ra OpenSSL để tạo ra một muối. Làm thế nào là tốt hơn một muối do người dùng xác định? Nếu OpenSSL ngẫu nhiên tạo ra một muối, làm thế nào để người dùng biết được muối là gì để giải mã tập tin trong tương lai?

Trả lời

3

Trong OpenSSL, muối sẽ được thêm vào trước mặt dữ liệu được mã hóa, dữ liệu này sẽ cho phép giải mã. Mục đích của muối là để ngăn chặn các cuộc tấn công từ điển, bảng cầu vồng, v.v. Sau đây là từ tài liệu OpenSSL:

Nếu không có tùy chọn -salt, có thể thực hiện hiệu quả các cuộc tấn công từ điển và tấn công mã hóa dòng dữ liệu được mã hóa. Lý do cho điều này là không có muối cùng một mật khẩu luôn tạo ra cùng một khóa mã hóa. Khi muối là đang được sử dụng tám byte đầu tiên của dữ liệu được mã hóa được dành riêng cho các muối: nó được tạo ra một cách ngẫu nhiên khi mã hóa một tập tin và đọc từ các tập tin được mã hóa khi nó được giải mã.

Tài liệu gợi ý rằng muối luôn được sử dụng với mật khẩu, ngoại trừ khả năng tương thích với các phiên bản trước không hỗ trợ muối là cần thiết.

+0

Cảm ơn bạn đã giải thích, nhưng tôi vẫn không hiểu mục đích của mật khẩu. Đây là những gì OpenSSL tài liệu nói: vượt qua: mật khẩu mật khẩu thực tế là mật khẩu. Vì mật khẩu hiển thị với các tiện ích (như 'ps' trong Unix) nên chỉ sử dụng biểu mẫu này khi bảo mật không quan trọng. Mật khẩu được lưu trữ trong dữ liệu được mã hóa như thế nào? Nó có được nối thêm không? Có vẻ như mật khẩu không an toàn lắm, nhưng tôi đoán rằng chỉ có vấn đề nếu người đó có quyền truy cập vào máy tính tại thời điểm dữ liệu đang được mã hóa, đúng không? – user2520041

+0

Có, bạn là chính xác, mật khẩu bị xâm nhập theo cách này chỉ khi truy cập vào máy tính tồn tại tại thời điểm mã hóa hoặc giải mã. Tuy nhiên, khi nó nói "biểu mẫu này chỉ nên được sử dụng khi bảo mật không quan trọng", nó có nghĩa là cú pháp để chỉ định mật khẩu ('pass: password'). Thay vào đó, bạn nên sử dụng các phương thức khác, chẳng hạn như 'file: pathname' hoặc' stdin'. Và không, mật khẩu không được thêm vào. Mật khẩu được sử dụng để tạo khóa bí mật để giải mã tệp và nó chỉ có thể được giải mã bằng mật khẩu đó. Mật khẩu là an toàn, nhưng chỉ khi được sử dụng đúng cách. – IanPudney

+0

Cảm ơn, điều đó làm cho nó rõ ràng hơn. Mật khẩu này được sử dụng để tạo khóa bí mật - là tệp mật khẩu có tệp được tạo riêng không? Nếu không, tôi nghĩ nó sẽ giống như một loại muối. Tôi muốn tài liệu cụ thể hơn. – user2520041