Entropy trên máy ảo


12

Như bạn có thể biết rằng việc tạo entropy trên máy ảo không dễ như trên máy tính "bình thường". Việc tạo khóa gpg trên máy ảo có thể mất một lúc, ngay cả với các công cụ chính xác.

Có rất nhiều chức năng về tiền điện tử ngoài kia không có ý thức về entropy như gpg.

Vì vậy, người ta có thể nói rằng mật mã kém an toàn hơn trên một máy ảo?


1
Các số ngẫu nhiên từ một máy "thực" không thực sự ngẫu nhiên để bắt đầu (trừ khi bạn có trình tạo số ngẫu nhiên phần cứng, phần lớn không có). Tất cả đều là giả ngẫu nhiên để bắt đầu và entropy được tạo ra theo cùng một cách. Nếu nó chậm trên VM, thì nền tảng ảo hóa sẽ làm chậm nó (Tôi muốn đoán rằng bạn không sử dụng Hypervisor Loại 1).
Chris S

Câu trả lời:


6

Trước hết, hãy để tôi nói rằng tôi hoàn toàn không phải là một chuyên gia bảo mật.

Vì việc tạo khóa gpg đang sử dụng /dev/randomnhư trình tạo số ngẫu nhiên, nó an toàn trên máy ảo, như trên máy thật.
/dev/randomlà một thiết bị chặn và sẽ ngừng cung cấp bất kỳ sự ngẫu nhiên nào vượt quá số tiền hiện có. Bạn có thể kiểm tra tính ngẫu nhiên có sẵn của mình bằng
cat /proc/sys/kernel/random/entropy_avail(nên khoảng năm 2000 )

Trên máy ảo, tính ngẫu nhiên khả dụng thực sự thấp hơn so với trên máy thật, do thiếu quyền truy cập vào phần cứng.
Bạn có thể tăng entropy bằng cách áp dụng các khóa entropy và / hoặc chuyển sang máy không ảo.

Có một bài viết hay về entropy trên máy ảo. Đáng tiếc là cả hai phần của bài viết chỉ có sẵn trong bộ đệm của google ngay bây giờ.

Entropy có tác dụng hơn nữa đối với bất kỳ mã hóa ssl / tls nào. Vì vậy, việc sử dụng /dev/urandomhoặc bất kỳ nguồn không thực sự ngẫu nhiên nào thực sự có ảnh hưởng đến bảo mật cho các ứng dụng của bạn.

Xét về mức độ đáng tin cậy /dev/urandomso với sự ngẫu nhiên thực sự là;
Tôi không thể cho bạn một câu trả lời đàng hoàng ở đó, xin lỗi.

Để biết thêm thông tin về chủ đề này, bạn có thể truy cập http://security.stackexchange.com và / hoặc đọc ví dụ.bài này


1
/dev/urandomđang sử dụng một PRNG bảo mật bằng mật mã (được gieo bởi cùng một nhóm như /dev/random), vì vậy sẽ không có vấn đề gì miễn là có đủ entropy ban đầu trong nhóm này. Có thể có một điểm trong việc gieo nó từ nhóm entropy của máy mẹ.
Paŭlo Ebermann

3

Có, trong hầu hết các trường hợp, mật mã học kém an toàn hơn trên máy ảo so với máy chủ "thực".

Cái sau ít nhất có thể thu thập entropy từ một số phần cứng thực tế. Trên thực tế, hoạt động của một mảnh CTNH - trong hầu hết các trường hợp - bị ràng buộc với một số hiện tượng vật lý, vốn luôn chịu sự thay đổi nhỏ, ngẫu nhiên bởi tất cả các tài khoản. Vì các máy chủ thường chạy trong một thời gian rất dài mà không cần thiết lập lại, nhóm entropy kết quả cuối cùng sẽ có đủ chất lượng.

Máy ảo bị ba vấn đề.

  1. Phần cứng họ thấy không có thật, và do đó nó hầu như không bị ảnh hưởng bởi bất kỳ hiện tượng vật lý nào. Họ sẽ có thể thu thập entropy một cách chậm hơn nhiều.
  2. Máy ảo được thiết lập lại thường xuyên hơn nhiều so với máy chủ thực và thậm chí chúng có thể không có thời gian để thu thập đủ entropy (đó là lý do tại sao nên lưu trạng thái entropy hiện tại khi tắt và sử dụng nó để cung cấp nhóm entropy khi khởi động lại).
  3. Mặc dù một máy chủ thực sự có thể có một số cơ hội để xác định khi nào nó đang xử lý một nhóm entropy xấu, máy ảo sẽ dễ dàng hoạt động hơn theo ấn tượng, nhóm entropy là tốt (vì nó được thu thập từ CTNH, nhưng không biết rằng CTNH là không thật), trong khi nó thực sự xấu

Giải pháp tốt nhất là để VM đơn giản từ bỏ và nhận ra rằng CTNH mà nó nhìn thấy là một nguồn entropy xấu. Sau đó, sắp xếp một dịch vụ mạng cục bộ để phân phối entropy chất lượng cao (xem Entropy Broker ). "Máy chủ entropy" có thể trích xuất tính ngẫu nhiên từ CTNH chung (trong trường hợp đó phải hoạt động đủ thời gian và phải có HĐH tốt) hoặc từ mã hóa cụ thể CT (chip TPM, chip VIA Padlock, v.v.).

Một VM sử dụng một dịch vụ như vậy thậm chí có thể an toàn hơn (thông minh về mật mã) so với một máy chủ "thực" vừa khởi động.

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.