Có một câu nói rằng người thông minh không phải lúc nào cũng về đích đầu tiên. Trong thời gian học đại học, tôi nhớ có một số bạn cùng lớp sao chép bài tập của tôi, chỉ để cuối cùng lại đạt điểm cao hơn tôi. Việc thông minh không nhất thiết đảm bảo cho tôi những điểm số cao nhất ở trường đại học và việc chứng kiến người khác thành công dựa trên ý tưởng của mình trở nên nản lòng.
Thế giới kinh doanh cũng tương tự; không hiếm khi các công ty sao chép các ý tưởng thành công từ đối thủ cạnh tranh và sử dụng chúng để thống trị thị trường. Mặc dù có thể gây ra nhiều câu hỏi về mặt đạo đức, nhưng việc sao chép thiết kế thực sự khá phổ biến. Là một kỹ sư thiết kế, nhiệm vụ của tôi là làm cho việc sao chép thiết kế của mình trở nên khó khăn nhất có thể.
Không chỉ phủ toàn bộ PCB bằng epoxy, tôi đã thử mọi mẹo có thể. Điều này bao gồm việc sử dụng EEPROM ID duy nhất (bộ nhớ chỉ đọc có thể xóa và lập trình điện tử) để làm cho việc sao chép một bản sao chính xác của phần cứng của tôi và làm cho nó hoạt động trở nên không thể. Bằng cách bao gồm EEPROM ID duy nhất trong hệ thống nhúng của bạn, bạn cũng có thể chuẩn bị cho tình huống xấu nhất và ngăn chặn việc sao chép thiết kế.
EEPROM là một loại bộ nhớ không bay hơi, hữu ích cho việc lưu trữ các kích cỡ nhỏ của dữ liệu. Nó thường được kết nối với vi điều khiển qua Mạch Tích hợp Liên kết (I2C) hoặc Giao diện Ngoại vi Tuần tự (SPI). EEPROM đã xuất hiện trong lĩnh vực điện tử hàng thập kỷ và được sử dụng để lưu trữ các tham số như giá trị cấu hình.
Một EEPROM ID Duy nhất là EEPROM mang một ID không thể xóa. Độ dài của ID Duy nhất thay đổi từ 32-bit đến 128-bit, tùy thuộc vào nhà sản xuất. Về lý thuyết, không có khả năng thực tế nào hai EEPROM chia sẻ cùng một ID. Điều này tương tự như khái niệm về một địa chỉ Điều Khiển Truy cập Phương tiện (MAC) duy nhất cho các thiết bị của bạn có khả năng kết nối internet.
Trong một hệ thống nhúng hoàn toàn không được bảo vệ, các mô hình giả mạo có thể dễ dàng được tạo ra bằng cách đảo ngược kỹ thuật của PCB và trích xuất firmware từ vi điều khiển. Tất nhiên, ngay cả khi tính năng bảo vệ mã được bật, việc sao chép firmware vẫn có thể xảy ra, mặc dù khó khăn hơn.
Việc bao gồm một EEPROM ID Duy nhất trong thiết kế của bạn và thực hiện các thủ tục xác minh trong firmware giúp ngăn chặn hàng giả mạo hàng loạt. Đây là cách tôi thực hiện nó trong các hệ thống nhúng của mình:
Tạo một firmware đơn giản có khả năng đọc ID duy nhất từ EEPROM và lưu nó vào một tệp trong thẻ SD. Firmware này chỉ được lập trình để truy xuất ID duy nhất và sẽ được ghi đè bởi firmware ứng dụng thực tế sau này.
Xác minh ID duy nhất để ngăn chặn việc tải các chương trình giả mạo.
Sau đó, tạo một chức năng đặc biệt trong firmware ứng dụng để trích xuất ID duy nhất từ tệp và ghi giá trị vào bộ nhớ Flash nội bộ của vi điều khiển. Vi điều khiển sau đó cần phải xóa tệp đã lưu trong thẻ SD, sau khi lưu trữ nó một cách an toàn.
Trong firmware ứng dụng thực tế, tạo một chức năng kiểm tra ID duy nhất của EEPROM trên PCB với một ID EEPROM được mã hóa cứng trong bộ nhớ Flash của vi điều khiển. Điều này chỉ cho phép firmware được biên dịch với ID duy nhất đúng được mã hóa cứng hoạt động trên một PCB cụ thể.
Giống như bất kỳ thiết kế nào, an ninh và tiện lợi luôn nằm ở hai đầu của một quang phổ. Tính khả thi của phương pháp bảo vệ chống hàng giả của bạn phụ thuộc vào bản chất của các ứng dụng của bạn và tác động dự kiến của việc làm giả đối với doanh nghiệp của bạn.
Lợi ích rõ ràng của việc xác minh ID duy nhất là hệ thống nhúng của bạn không thể bị làm giả hàng loạt. Ngay cả khi firmware được trích xuất, việc tiêm chúng vào nhiều PCB sẽ không dẫn đến bất kỳ thiết bị nào trở nên hoạt động. Ngoại trừ việc khiến vi điều khiển tự hủy, đây là biện pháp bảo vệ an toàn nhất mà tôi từng triển khai.
Nhược điểm của phương pháp này là quá trình sản xuất sẽ chậm hơn nhiều, vì điều này đòi hỏi phải tải xuống firmware trích xuất ID duy nhất và sử dụng một thẻ SD. Sau khi ID duy nhất được lưu, kỹ thuật viên sản xuất sẽ cần phải tiêm firmware ứng dụng. Hơn nữa, EEPROM ID duy nhất thường đắt hơn so với các loại thông thường.
Hãy mong đợi một quá trình tiêm firmware dài nhưng an toàn.
Nếu hậu quả của việc làm giả là một mối lo ngại lớn đối với doanh nghiệp của bạn, việc đặt một EEPROM ID duy nhất là cách tốt nhất để bảo vệ thiết kế của bạn. Điều này dễ dàng thiết lập sử dụng phần mềm thiết kế PCB đa năng như Altium Designer®. Nếu một EEPROM ID duy nhất không sẵn có trong tích hợp, bạn có thể dễ dàng tạo một cái sử dụng một footprint chuẩn.
Bạn cần thêm mẹo về cách bảo vệ thiết kế hệ thống nhúng của mình khỏi việc làm giả không?