Logo Zephyrnet

Tính bảo mật của thiết bị IoT

Ngày:

Tính bảo mật của thiết bị IoT
Minh họa: © IoT cho tất cả

Bảo mật của thiết bị IoT là một lĩnh vực chuyên môn rộng mở rộng ra môi trường mà các thiết bị đang chạy cũng như các nền tảng phần cứng và hệ điều hành tạo thành nền tảng để xây dựng chức năng thực tế của thiết bị. Mỗi lĩnh vực đòi hỏi các công nghệ và bộ kỹ năng khác nhau, nhưng tất cả các lĩnh vực phải cùng nhau tạo thành một khối thống nhất. Sự thật phũ phàng là việc bỏ qua một lĩnh vực nào đó có thể gây ra hậu quả nghiêm trọng ngay cả khi tất cả các lĩnh vực khác đều hoàn hảo.

Tuy nhiên, việc có một thiết bị an toàn thực hiện công việc của nó chỉ là bước khởi đầu. Việc triển khai và vận hành an toàn không chỉ một thiết bị mà toàn bộ nhóm thiết bị mang đến một thách thức khác ở hình thức cung cấp, xác thực và quản lý danh tính.

Trong bài viết này

Chúng ta sẽ khám phá một số lĩnh vực thiết yếu trong lĩnh vực bảo mật IoT. Các thiết bị IoT có nhiều dạng và kích cỡ, nhưng tất cả chúng đều có các khía cạnh liên quan đến bảo mật sau:

  • Phạm vi bảo mật vật lý của thiết bị IoT
  • phần cứng
  • Hệ điều hành
  • Phần mềm
  • Nhận dạng và cung cấp thiết bị IoT
  • Xác thực thiết bị IoT

Chu vi bảo mật vật lý của thiết bị IoT

Các thiết bị IoT thường được đặt trong môi trường không thể đoán trước, không ổn định và không an toàn, rất khác với các hệ thống máy tính chạy trong trung tâm dữ liệu.

Nếu không thể đảm bảo đủ an ninh vật lý thì việc chuẩn bị cho các thiết bị IoT đối mặt với các mối đe dọa từ các tác nhân độc hại tiềm ẩn có quyền truy cập vật lý là điều cần thiết. Có một số biện pháp mà các nhà thiết kế phần cứng và phần mềm có thể thực hiện để giảm thiểu rủi ro đó. Các biện pháp này có thể bao gồm các kỹ thuật chung, chẳng hạn như mã hóa dữ liệu trên thiết bị lưu trữ và một số kỹ thuật cụ thể hơn về IoT mà chúng tôi sẽ khám phá trong phần còn lại của bài viết.

phần cứng

Phần cứng là nền tảng cho tính bảo mật của các thiết bị IoT. Khi phần cứng bị xâm phạm, hầu hết các biện pháp bảo vệ ở cấp độ phần mềm mà thiết bị IoT có thể có đều có thể bị kẻ tấn công phá vỡ.

Trong lịch sử, khi kẻ tấn công có được quyền truy cập vật lý vào hệ thống máy tính, về cơ bản trò chơi sẽ kết thúc xét từ quan điểm bảo mật. May mắn thay, nhiều tiến bộ đã đạt được trong lĩnh vực này nhờ số lượng thiết bị IoT và các loại thiết bị di động khác ngày càng tăng. Ví dụ về các biện pháp bảo vệ ở cấp độ phần cứng như vậy có thể là:

  • Môi trường thực thi đáng tin cậy (TEE) như Intel SGX cho phép mã hóa các phần (vỏ) bộ nhớ cụ thể mà chỉ CPU mới có thể giải mã nhanh chóng, ngăn chặn hiệu quả mã không có nguồn gốc từ vỏ để đọc và sửa đổi phần đó (bao gồm cả hệ điều hành và trình ảo hóa). có bất kỳ).
  • Các chức năng không thể nhân bản được về mặt vật lý (PUF) có thể được sử dụng làm số nhận dạng thiết bị duy nhất, không thể giả mạo và không thể thay đổi.
  • A Trusted Platform Module (TPM) là bộ xử lý mật mã chuyên dụng và lưu trữ an toàn cho dữ liệu quan trọng như khóa mã hóa. Nó có thể tạo ra các số ngẫu nhiên được bảo mật bằng mật mã và thực hiện các hoạt động mã hóa bằng cách sử dụng các khóa được lưu trữ mà không để lộ chúng ra ngoài TPM hoặc xác thực cấu hình phần cứng.

Mặc dù các kỹ thuật này đã được nghiên cứu và triển khai trong nhiều năm nhưng PUF vẫn chưa được phổ biến rộng rãi và TEE chỉ mới bắt đầu được chú ý gần đây. Mặt khác, TPM từ lâu đã được coi là một tiêu chuẩn, có thể tìm thấy ở hầu hết các máy tính và có thể cải thiện đáng kể tính bảo mật của các thiết bị IoT mà không còn nghi ngờ gì nữa.

Chúng ta cũng không nên quên rằng việc kẻ xấu cố tình xâm phạm thiết bị IoT không phải là mối đe dọa duy nhất. Nhiều thiết bị được đặt ngoài trời, điều này khiến cho phần cứng của chúng phải chịu được thời tiết.

Hệ điều hành

Mặc dù các thiết bị IoT bị hạn chế không có hệ điều hành (HĐH) là phổ biến, nhưng nhiều thiết bị phức tạp hơn và cần có HĐH.

Thực tế là HĐH có thể can thiệp vào bất kỳ quy trình/chương trình máy tính nào chạy trên nó (trừ khi sử dụng một số cơ chế nâng cao như TEE đã đề cập ở trên) khiến nó trở thành một phần quan trọng tương tự trong bảo mật thiết bị IoT như phần cứng.

Đầu tiên, cần phải có cách để đảm bảo rằng phiên bản hệ điều hành độc hại chưa được sửa đổi sẽ được tải trong quá trình khởi động. Sự đảm bảo như vậy có thể đạt được bằng cách ký điện tử vào hệ điều hành và kiểm tra chữ ký trong quá trình khởi động. Có những tiêu chuẩn cho việc này, chẳng hạn như HỘP BẢO MẬT.

Cuối cùng nhưng không kém phần quan trọng, tất cả các hệ điều hành đều có lỗ hổng bảo mật. Ngoại trừ không ngày các cuộc tấn công, những lỗ hổng như vậy có thể được giải quyết một cách hiệu quả thông qua việc cung cấp và áp dụng kịp thời các bản vá phần mềm.

Phần mềm/Ứng dụng

Việc xâm phạm một ứng dụng dường như có tác động nhỏ hơn nhiều so với việc xâm phạm toàn bộ hệ điều hành hoặc phần cứng. Tuy nhiên, nó có thể là điều duy nhất kẻ tấn công cần để thành công. Hơn nữa, không giống như hệ điều hành, nhiều ứng dụng xử lý trực tiếp dữ liệu kinh doanh nhạy cảm và tương tác với người dùng.

Các biện pháp tương tự đối với hệ điều hành cũng có thể được áp dụng cho các gói phần mềm và ứng dụng khác nhau chạy trên hệ điều hành. Cần xem xét việc xác minh tính toàn vẹn của các tệp thực thi và cập nhật bảo mật kịp thời của chúng.

Khi viết ứng dụng tùy chỉnh, nhà phát triển nên cân nhắc rằng môi trường mà mã của họ sẽ chạy không đáng tin cậy. Ví dụ:

  • Khi tải dữ liệu nhạy cảm vào RAM, giải phóng và loại bỏ bộ nhớ được phân bổ càng sớm càng tốt để giảm nguy cơ lộ dữ liệu nhạy cảm thông qua kết xuất bộ nhớ cưỡng bức.
  • Hãy suy nghĩ kỹ trước khi ghi dữ liệu nhạy cảm vào đĩa. Ngay cả khi đã mã hóa ổ đĩa, dữ liệu vẫn sẽ bị lọc. Khi cần ghi dữ liệu nhạy cảm vào đĩa, hãy cân nhắc việc mã hóa dữ liệu đó bằng khóa được lưu trữ trong Mô-đun nền tảng đáng tin cậy (TPM) được đề cập trong phần trước.

Nhận dạng và cung cấp thiết bị IoT

Để quản lý một cách có ý nghĩa nhóm thiết bị IoT, mỗi thiết bị phải có danh tính riêng và phải có cách gán danh tính một cách an toàn cho các thiết bị mới và thay đổi danh tính của các thiết bị hiện có nếu cần. Chúng tôi có thể gọi quá trình này là “cung cấp thiết bị”. Đối với các giải pháp IoT, danh tính là điều cần thiết để dữ liệu từ các thiết bị riêng lẻ có thể được phân biệt một cách an toàn hoặc ngắt kết nối các thiết bị bị xâm phạm.

Chính xác thì “danh tính” của thiết bị IoT là gì? Nó phụ thuộc vào ngữ cảnh. Tuy nhiên, thiết bị cần một cách để chứng minh danh tính của nó là hợp pháp (xác thực). Chúng ta có thể phân biệt giữa nhận dạng thiết bị vật lý và logic.

Nhận dạng vật lý

Danh tính vật lý là danh tính cấp phần cứng không thể giả mạo, duy nhất, bất biến và không thể chuyển nhượng trong toàn bộ vòng đời thiết bị và thường không liên quan đến miền kinh doanh. Trong một thế giới lý tưởng, danh tính vật lý sẽ được chỉ định chính xác một lần sau khi quá trình sản xuất thiết bị hoàn tất. Điều này có thể đạt được, ví dụ, bằng cách kết hợp số sê-ri của tất cả các thành phần phần cứng. Tuy nhiên, cách tiếp cận này phức tạp hơn nhiều trong thực tế:

  • Các thành phần phần cứng có thể bị hỏng và được thay thế bằng những thành phần mới. Để làm cho nó phức tạp hơn nữa, bộ phận này có thể được thay thế bằng bộ phận đã sửa chữa từ thiết bị khác.
  • Không phải tất cả các thành phần phần cứng đều có số sê-ri hoặc không thể đọc được số sê-ri một cách dễ dàng.
  • Số sê-ri thường không phải là số nhận dạng được bảo mật bằng mật mã.

Đó là lý do tại sao danh tính vật lý thường được “xấp xỉ” bằng cách tạo số nhận dạng trong quá trình sản xuất hoặc sử dụng số sê-ri của một số thành phần được coi là chính.

Nhận dạng logic

Mặt khác, nhận dạng logic thường được kết hợp chặt chẽ với miền kinh doanh hoặc các khía cạnh phi kỹ thuật khác như vị trí thiết bị. Tương tự như danh tính vật lý, danh tính logic phải không thể giả mạo và duy nhất, nhưng nó có thể thay đổi và chuyển nhượng được.

Để chứng minh sự khác biệt giữa nhận dạng vật lý và nhận dạng logic, hãy xem xét trường hợp sử dụng ví dụ sau: Cánh tay robot trên dây chuyền lắp ráp ô tô thực hiện một chức năng cụ thể. Nó là một thiết bị IoT cố định.

Danh tính vật lý của robot này được chỉ định ngay trong nhà máy bằng cách tạo ra một mật mã bảo mật UUID (e.g., c2c38155-b0d2-48b6-82fd-22fe3b316224).

Thiết bị này gửi dữ liệu đến chương trình phụ trợ giải pháp IoT dựa trên đám mây và nhận phản hồi từ cùng chương trình phụ trợ đó. Có hai loại dữ liệu mà robot này gửi:

  • Dữ liệu chẩn đoán về chức năng đã thực hiện (ví dụ: robot này xử lý bao nhiêu bộ phận ô tô trên dây chuyền lắp ráp mỗi giờ).
  • Dữ liệu đo từ xa bên trong (ví dụ: lượng mô-men xoắn được áp dụng bởi mỗi khớp).

Nếu robot gặp trục trặc và phải được thay thế, nhận dạng vật lý của nó sẽ thay đổi.

Giả sử robot không có danh tính logic. Trong trường hợp đó, việc liên kết dữ liệu hiện có trên đám mây với danh tính của robot mới không hề đơn giản. Nó có thể không phải là vấn đề đối với dữ liệu đo từ xa nội bộ vì chúng chỉ liên quan đến robot ban đầu. Tuy nhiên, dữ liệu chẩn đoán về chức năng được thực hiện có thể phù hợp với robot mới. Ngoài ra, các hệ thống khác đang liên lạc với robot ban đầu trước khi gặp trục trặc giờ đây cần được thông báo rằng robot đã được thay thế.

Hãy so sánh điều này với tình huống trong đó robot ban đầu cũng có nhận dạng logic liên quan đến việc tổ chức dây chuyền lắp ráp ô tô (ví dụ: line-03-left-welding-12). Nếu nhận dạng logic này được sử dụng để lưu trữ dữ liệu chẩn đoán và liên lạc với các hệ thống khác thì việc thay thế robot có thể dễ dàng hơn nhiều.

Xác thực thiết bị IoT

Bất kể thiết bị IoT sử dụng số nhận dạng nào và cách chúng được tạo, các thiết bị phải chứng minh rằng số nhận dạng mà chúng sử dụng là hợp pháp. Quá trình đảm bảo rằng mã định danh là hợp pháp và được sử dụng bởi đúng thiết bị được gọi là xác thực.

Việc xác thực các thiết bị IoT luôn dựa trên đối xứng or khóa bất đối xứng (công khai) thuật toán mật mã và thuật toán băm. Các thuật toán này luôn cần một khóa bí mật được lưu trữ ở đâu đó trong thiết bị.

Cách xác thực hoạt động chính xác phụ thuộc vào thuật toán cụ thể. Tuy nhiên, luôn có hai giả định sau:

  • Danh tính của thiết bị được ràng buộc bằng khóa bí mật.
  • Khóa bí mật thực sự là bí mật.
  • Đối với các thuật toán bất đối xứng thì chỉ có thiết bị mới biết được.
  • Đối với các thuật toán đối xứng, chỉ có thiết bị và bên xác thực mới biết (ví dụ: giải pháp IoT được hỗ trợ).

Xử lý khóa bí mật

Khóa bí mật được lưu trữ ở đâu và chính xác như thế nào tùy thuộc vào khả năng của thiết bị và thuật toán xác thực cụ thể. Cách tiếp cận tiên tiến nhất là giữ khóa trong Mô-đun nền tảng đáng tin cậy (TPM). TPM có thể thực hiện các hoạt động mã hóa trực tiếp mà không để lộ khóa bí mật, cung cấp khả năng bảo vệ khỏi việc đánh cắp khóa.

Một cách thực hành tốt là lấy các khóa có thời gian tồn tại ngắn/dựa trên phiên từ khóa chính để giảm thiểu việc lộ khóa chính và cung cấp chuyển tiếp bí mật.

Các ví dụ

Các thuật toán, tiêu chuẩn và giao thức được sử dụng rộng rãi nhất là:

  • RSA, Elliptic Curves, SHA2: Thuật toán băm và mã hóa khóa bất đối xứng (công khai) cơ bản.
  • Giấy chứng nhận X.509: Tiêu chuẩn xác định cách ghép các khóa bất đối xứng với danh tính thông qua các đối tượng được gọi là chứng chỉ.
  • mTLS: Giao thức bảo mật các kết nối TCP. Không giống như TLS đơn giản, cả hai phía của kết nối đều được xác thực. Nó được xây dựng dựa trên các thuật toán băm và mã hóa cơ bản cũng như chứng chỉ X.509 được đề cập ở trên.
  • HMAC: Thuật toán dựa trên khóa đối xứng có thể tạo mã nhận dạng thiết bị đã ký, thiết bị nào có thể sử dụng để chứng minh danh tính của mình.

Chìa khóa chính

Bản chất của bảo mật IoT là nhiều mặt. Mặc dù có nhiều loại thiết bị IoT tồn tại nhưng có một số khía cạnh bảo mật phổ biến mà bất kỳ nhà thiết kế giải pháp IoT nào cũng nên xem xét:

  • Môi trường mà thiết bị đang chạy (chu vi bảo mật vật lý).
  • Nền tảng mà thiết bị được xây dựng trên đó (phần cứng, hệ điều hành).
  • Mã thực tế làm cho thiết bị trở nên hữu ích (phần mềm).
  • Các quy trình cần thiết để phần mềm chạy theo cách an toàn, có thể kiểm soát và có thể mở rộng (nhận dạng, cung cấp và xác thực).

Mặt khác, không nên mù quáng làm theo và thực hiện tất cả các đề xuất mà bài viết này đưa ra. Một số biện pháp quan trọng hơn các biện pháp khác đối với các giải pháp IoT khác nhau và một số biện pháp thậm chí có thể không phù hợp hoặc khả thi trong một số bối cảnh nhất định. Tuy nhiên, các biện pháp an ninh nới lỏng phải luôn được thực hiện một cách có ý thức và sau khi cân nhắc kỹ lưỡng.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img