it-swarm-vi.com

Tại sao tải xuống ứng dụng không được thực hiện thường xuyên qua HTTPS?

Chúng ta đều biết rằng chúng ta nên sử dụng SSL bất cứ khi nào chúng ta thu thập mật khẩu hoặc thông tin nhạy cảm khác. SSL cung cấp hai lợi ích chính:

  • Mã hóa : Người trung gian không thể đọc được dữ liệu khi đang di chuyển.
  • Bảo vệ chống lại các cuộc tấn công MITM : Một người đàn ông ở giữa không thể giả vờ là một máy chủ, vì họ không thể tạo chứng chỉ có chữ ký CA cho máy chủ.

Nếu tôi đang tải xuống một ứng dụng, có thể tôi sẽ chạy nó vào một lúc nào đó, thậm chí có thể là root. Một số chương trình sẽ được ký, nhưng nhiều chương trình thì không. Không nên tải xuống qua SSL để tôi biết rằng nó không bị giả mạo trong quá trình vận chuyển?

Nếu ai đó đánh cắp mật khẩu của tôi, điều đó thật tệ. Nhưng nếu ai đó cài một keylogger trên máy tính của tôi, thì đó là cách tồi tệ hơn.

58
Tom Marthenal

Bởi vì HTTPS không phù hợp lắm để đảm bảo tải xuống các tệp công khai lớn. Đối với trường hợp sử dụng này, nó chậm và không hữu ích. Có nhiều lý do cho việc không sử dụng HTTPS vượt quá sự bất tài hoặc không nhận thức được.

HTTPS không giải quyết được hoàn toàn vấn đề . Điều này Nếu bạn nhận được ứng dụng của mình trực tiếp từ trang web của nhà cung cấp, HTTPS sẽ đảm bảo tính xác thực của ứng dụng. Nhưng nếu bạn nhận được ứng dụng của mình từ bên thứ ba (ví dụ: gương của phần mềm miễn phí), HTTPS chỉ bảo vệ kết nối với bên thứ ba. Một lược đồ chữ ký gói hoạt động tốt hơn: nó có thể bảo vệ toàn bộ chuỗi từ nhà cung cấp. Phân phối ứng dụng yêu cầu bảo vệ đầu cuối và HTTPS không cung cấp điều đó .

HTTPS sử dụng nhiều băng thông hơn . Chi phí cho mỗi lần tải xuống là tối thiểu nếu bạn không tính đến bộ nhớ đệm. Đây là con bò hình cầu của HTTPS không tốn nhiều tiền hơn: nếu bạn sử dụng SSL, bạn không thể lưu trữ dữ liệu ngoại trừ tại các điểm cuối SSL. Tải xuống ứng dụng có thể lưu trong bộ nhớ cache: chúng là các tệp lớn được nhiều người tải xuống.

HTTPS là quá mức cần thiết . Tính bảo mật của tải xuống ứng dụng hiếm khi là một vấn đề, tất cả những gì chúng ta cần là tính xác thực. Đáng buồn thay, HTTPS không cung cấp tính xác thực mà không cung cấp bảo mật. Tính xác thực tương thích với bộ nhớ đệm, nhưng tính bảo mật thì không.

HTTPS yêu cầu nhiều tài nguyên hơn trên máy chủ. Google mail đã giảm xuống còn 1% phí và 2% băng thông, nhưng đây là trường hợp sử dụng rất khác. Các máy chủ lối vào Gmail làm nhiều hơn các tệp phục vụ một cách vô thức; ngay từ đầu, một máy chủ tệp không cần CPU mạnh (nó bị ràng buộc IO rất mạnh), do đó, chi phí có thể lớn hơn đáng kể. Điều tương tự cũng xảy ra đối với chi phí bộ nhớ: một máy chủ tệp cần rất ít bộ nhớ cho mỗi phiên ở vị trí đầu tiên, gần như tất cả bộ nhớ của nó là bộ đệm đĩa. Giảm mức sử dụng tài nguyên đòi hỏi một lượng công việc nghiêm túc .

HTTPS sẽ không giúp được nhiều người . Ý thức bảo mật sẽ kiểm tra hàm băm được cung cấp bởi nhà cung cấp ( đó nên qua HTTPS). Người không có ý thức bảo mật sẽ nhấp hoàn toàn vào thông báo kết nối này là tin nhắn không an toàn (có rất nhiều máy chủ được cấu hình kém ở ngoài đó đến nỗi nhiều người dùng được đào tạo để bỏ qua lỗi HTTPS). Và đó là chưa kể đến những CA tinh ranh, những người cấp chứng chỉ mà họ không nên.


Nếu bạn muốn đảm bảo rằng bạn đang nhận được ứng dụng chính hãng, hãy kiểm tra chữ ký của nó hoặc kiểm tra hàm băm của nó so với giá trị tham chiếu mà bạn có được bằng chữ ký (ví dụ: qua HTTPS).

Các nhà cung cấp tốt làm điều này tự động. Ví dụ: Ubuntu cung cấp chữ ký GPG của phương tiện cài đặt của nó . Nó cũng cung cấp băm qua HTTPS (đáng buồn là không được liên kết từ bất kỳ nơi nào gần trang tải xuống như tôi có thể thấy). Sau đó, công cụ cài đặt phần mềm sẽ tự động kiểm tra các gói đi kèm với chữ ký hợp lệ. Xem Cách sử dụng https với apt-get?

Lưu ý: nếu bạn nhận được ứng dụng trực tiếp từ nhà cung cấp (trái ngược với thông qua kho lưu trữ gói hoặc thị trường ứng dụng), thì HTTPS sẽ cung cấp bảo vệ. Vì vậy, nếu bạn là nhà cung cấp cung cấp ứng dụng của bạn trực tiếp để tải xuống trên trang web của bạn, hãy bảo vệ ứng dụng đó bằng HTTPS!

Đó là lý do tương tự như tại sao không phải tất cả các lời nhắc đăng nhập đều đang sử dụng https: mọi người quá lười biếng, nghĩ rằng một chứng chỉ quá đắt hoặc có lưu trữ tính phí cao hơn khi sử dụng https.

Câu hỏi thực sự là tại sao tải xuống được phục vụ qua một kết nối đơn giản thường xuyên hơn các hình thức đăng nhập. Và tôi nghĩ điều này chủ yếu là do không nhận thức được. Tổng kiểm tra thường được cung cấp, nhưng chúng không an toàn nếu được gửi qua http. Một triển khai tốt của tổng kiểm tra mà tôi đã thấy là nơi chúng được đăng lên Twitter (sử dụng https và có thể được coi là hợp lý để không bị thỏa hiệp). Tuy nhiên tôi không biết ai đã từng kiểm tra tổng kiểm tra, có lẽ chỉ khi phần mềm không chạy. Thông thường TCP được giả sử để kiểm tra lỗi hợp lý.

Tất nhiên, https trên máy chủ nặng hơn http. Đối với các trang web lưu lượng truy cập cao, điều này có thể là một lý do. Nhưng một lần nữa, các trang web có lưu lượng truy cập cao cũng có thể tạo ra 'tiền cao' để tài trợ cho nó.

19
Luc

Có thể cho rằng, khi người dùng tải xuống một ứng dụng qua web, tải xuống ứng dụng sẽ vượt qua HTTPS, vì đó là trải nghiệm người dùng sạch nhất cho người dùng cung cấp bảo mật họ có thể hiểu. Có thể thực tế khi hy vọng nhiều người dùng kiểm tra ánh sáng xanh lục trên thanh địa chỉ trước khi họ tải xuống, nhưng không hợp lý khi (ví dụ) mong họ tính toán băm và kiểm tra chúng một cách an toàn.

Tuy nhiên, những tải xuống ứng dụng này thường không được cung cấp qua HTTPS, vì nhiều lý do có thể:

  • Lý do chính đáng: HTTPS ngăn chặn bộ nhớ đệm trong mạng. Điều này có thể tăng lưu lượng mạng, tải trên máy chủ và tải trên mạng phía máy khách.

  • Lý do xấu: Mọi người có quan niệm sai lầm rằng "HTTPS chậm" (đó là một huyền thoại ), vì phải mất thêm công việc để thiết lập máy chủ với SSL, vì họ dựa vào gương và các trang web nhân bản không sử dụng HTTPS hoặc vì mọi người chưa nghĩ đến nó hoặc không nghĩ rằng họ có nguy cơ. Đối với phần mềm được sử dụng rộng rãi, những niềm tin này có lẽ là thiển cận. Rõ ràng, một số trang web cũng có thể sử dụng bộ cân bằng tải hoặc máy gia tốc đã chết não và không hiểu HTTPS đúng cách và họ không muốn hoặc không đủ khả năng để thiết kế một triển khai phù hợp có thể nói HTTPS đúng cách.

Một số trang phân phối ứng dụng làm sử dụng HTTPS. Nhưng nhiều người thì không.

Firefox là một ví dụ cấu hình cao của một ứng dụng không không sử dụng HTTPS theo mặc định khi bạn tải xuống ứng dụng (xem Bản sao an toàn đến mức nào của Firefox trên các trang nhân bản Mozilla khác nhau? ).

Windows Update được thực hiện trên một kênh bảo mật (gần giống với HTTPS). Các nhà quản lý gói Linux sử dụng mật mã để bảo vệ phần mềm họ tải xuống, mặc dù không phải là HTTPS.

9
D.W.

Hầu hết thời gian sẽ có MD5sums và tổng SHA1 cho ứng dụng. Sau khi bạn tải xuống, bạn cần kiểm tra cái này với cái được hiển thị trên trang web. Nếu cái bạn tính là như nhau, thì không có vấn đề gì.

4
Lucas Kauffman