Thực hành tốt nhất để cập nhật an toàn qua không khí [đã đóng]


8

Các thực tiễn bảo mật tốt nhất cần tuân thủ khi phát hành bản cập nhật OTA cho một nhóm thiết bị IoT là gì? Các nguyên nhân quan trọng cho mối quan tâm là gì?

Ví dụ,

  • ngăn chặn một bản cập nhật bị chặn
  • theo tiêu chuẩn được thiết lập
  • nền tảng phân phối phần mềm
  • cập nhật tự động so với cập nhật tùy chọn

5
Câu hỏi này quá rộng để phù hợp với hỏi đáp.
Sean Houlihane

1
@SeanHoulihane, tôi đã thu hẹp trọng tâm vào bảo mật của OTA. Bây giờ trông nó thế nào?
Noam Hacker

2
Nó vẫn còn khá rộng vì mỗi điểm đạn có thể là một câu hỏi độc lập hoàn toàn. Thậm chí chỉ để thử nghiệm thành công cuối cùng, bạn có thể viết cả một cuốn sách về nó.
Dom

1
Tôi đồng ý với Dom. Tốt hơn là lấy một khía cạnh của OTA (chẳng hạn như đảm bảo một kết quả đáng tin cậy). Thậm chí sau đó, có rất nhiều câu trả lời. Lý tưởng nhất, một câu hỏi chỉ cần một hoặc hai câu trả lời chất lượng cao để bạn có thể chấp nhận câu trả lời của nó.
Sean Houlihane

1
chỉnh sửa tiêu đề quá?
Sean Houlihane

Câu trả lời:


10

Câu hỏi đó quá rộng, nhưng cho rằng bạn đã bỏ qua điều quan trọng nhất, tôi cảm thấy mình cần phải giải quyết.

Xác thực cập nhật .

Nếu bạn muốn đảm bảo rằng các thiết bị của bạn đang chạy mã của bạn, thì bạn cần xác thực, không phải mã hóa. Mã hóa đảm bảo rằng những người khác không thể biết những gì trong mã của bạn và điều đó khó đạt được và hiếm khi hữu ích. (Bạn có thể mã hóa, nhưng nếu khóa giải mã có trên thiết bị, bạn sẽ không nhận được bất cứ thứ gì trừ khi bạn có cách bảo vệ khóa giải mã không cho phép bạn bảo vệ mã trực tiếp.) Xác thực là tài sản mà người khác không thể tạo ra một bản cập nhật giả và tài sản đó thường được mong muốn.

Lưu ý rằng mã hóa không giúp xác thực. Đây là một niềm tin sai lầm mà những người không thực sự hiểu về bảo mật đôi khi có, nhưng thực tế không phải vậy.

Đối với một số thiết bị, bạn có thể chạy bất kỳ chương trình cơ sở nào nếu chủ sở hữu chọn. Trong trường hợp đó, bạn vẫn cần một số cơ chế để đảm bảo rằng chỉ chủ sở hữu thiết bị mới có thể cài đặt chương trình cơ sở chứ không phải một số người qua đường ngẫu nhiên. Nói chung, điều đó có nghĩa là thiết bị phải xác thực bản cập nhật đến từ chủ sở hữu đã đăng ký.


Điều này không thực sự chính xác. Mã hóa không quá khó để đạt được và cũng không chỉ "hiếm khi hữu ích". Hơn nữa, mã hóa "không giúp xác thực" chỉ là đúng sự thật. Hầu hết các chế độ mã hóa hiện đại, như GCM, thực sự được gọi là các chương trình "mã hóa xác thực", kết hợp tính xác thực và bảo mật.
chiếu

@mat Tôi đã thay đổi câu đó để chính thức. Mã hóa không khó, nhưng tôi đã đề cập đến tính bảo mật, rất khó. Mã hóa không cung cấp cho bạn tính bảo mật nếu bạn không thể giữ bí mật khóa. Mã hóa không giúp gì cho tính xác thực cả. Nếu bạn sử dụng mã hóa được xác thực, nó mang lại cho bạn cả hai, nhưng thực tế là nó bao gồm mã hóa không giúp ích gì trong việc xác thực.
Gilles 'SO- ngừng trở nên xấu xa'

Nếu khóa của bạn bị rò rỉ, mọi loại tiền điện tử đều mất đi tính hữu dụng của nó, có thể là để bảo mật hoặc để xác thực. Nếu việc sử dụng mã hóa với khóa không được bảo vệ trên thiết bị trở nên hợp lý, tùy thuộc vào mô hình mối đe dọa của bạn (độ tin cậy của thiết bị, khả năng của đối thủ)
mat

@mat số. Tôi thực sự đã phản ứng với nhận xét GCM đó trong nhận xét trước đây của tôi, trên thực tế. GCM không phải là một cách hay để phát các bản cập nhật, bởi vì điều đó có nghĩa là tính xác thực được kiểm tra bằng khóa lớp. Trừ khi bạn đang tạo một nền tảng được tăng cường độ cứng cao (ví dụ: thẻ thông minh), khóa lớp cũng tốt như công khai. Cập nhật nên sử dụng mật mã bất đối xứng. Theo cách đó, để triển khai bản cập nhật giả cho thiết bị, thiết bị cụ thể đó cần phải bị vi phạm: để tạo bản cập nhật giả hoạt động ở mọi nơi, kẻ tấn công sẽ cần phá vỡ máy chủ hoặc giao thức và những thứ này thường được bảo vệ tốt hơn các thiết bị trong cánh đồng.
Gilles 'SO- ngừng trở nên xấu xa'
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.