Entropy chính xác có sẵn trên các hệ thống UNIX là gì?


12

Tôi có ba câu hỏi liên quan đến entropy trên các hệ thống UNIX:

  1. Tôi kiểm tra entropy trên Linux bằng cách sử dụng : cat /proc/sys/kernel/random/entropy_avail. Đây có phải là nơi tiêu chuẩn với thông tin về entropy có sẵn được xác định trong POSIX không?
  2. Chính xác có sẵn tôi nên mong đợi là gì? Tôi nghe nói rằng entropy nên bằng hoặc hơn 100 và có thể có vấn đề nếu entropy liên tục dưới 100.
  3. Là entropy này được sử dụng bởi /dev/randomhoặc nó cũng có liên quan gì /dev/urandom?

Câu trả lời:


9

/dev/randomkhông được chuẩn hóa. POSIX không cung cấp bất kỳ cách nào để tạo dữ liệu ngẫu nhiên an toàn bằng mật mã và không có bất kỳ khái niệm nào về entropy.

Tính toán entropy của hạt nhân Linux tương ứng với một mô hình lý thuyết thông tin về entropy không liên quan đến sử dụng thực tế. Trường hợp duy nhất có liên quan là trên một thiết bị mới chưa bao giờ có thời gian tích lũy entropy (điều này bao gồm các bản phân phối trực tiếp; các hệ thống được cài đặt lưu entropy của chúng từ lần khởi động này sang lần khởi động tiếp theo). Ngoài tình huống này, luôn có đủ entropy, vì entropy không bị cạn kiệt. Vì /dev/randomcác khối của Linux khi nó nghĩ rằng nó không có đủ entropy, nên sử dụng /dev/urandom, không bao giờ chặn. Sử dụng /dev/urandomlà tốt cho tất cả mọi thứ, bao gồm cả việc tạo khóa mật mã (ngoại trừ, như đã đề cập ở trên, trên một thiết bị mới được đúc).

Tóm tắt:

  1. Không, đây không phải là tiêu chuẩn.
  2. Bạn không quan tâm.
  3. Sử dụng/dev/urandom .

Nhiều, nhưng không phải tất cả các hệ thống unix đều có /dev/urandom/dev/random. Xem trang Wikipedia để thảo luận chi tiết hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.