giả mạo vi xử lý nhúng


8

Tôi phát triển phần cứng nhúng thương mại, sử dụng Microchip dsPIC hoặc các bộ xử lý tương tự.

Phần sụn tôi có đôi khi rất phức tạp và tốn kém, và cần phải có bằng chứng về hacker và giả mạo trong phần cứng. Tất cả các biện pháp bảo vệ phần mềm cơ bản đều có, nhưng với $ 500 - $ 1.000, mã hex có thể được truy xuất thông qua một số dịch vụ trang web nước ngoài, ngay cả khi có cầu chì bảo mật (chỉ ngăn chặn giả mạo không xác định). Sau đó, chỉ một vài tháng và mã có thể được thiết kế ngược bằng cách sử dụng trình dịch ngược, như IDA Pro.

Làm thế nào tôi có thể bảo vệ thiết kế phần cứng tốt hơn một chút (không cần bảo vệ quân sự)?

Bạn có thể giới thiệu một bộ xử lý không thể đọc khác, hoặc có lẽ là một bổ sung cho thiết kế hiện tại của tôi?

Tất cả những gì tôi cần là ẩn vài chức năng, tôi không cần toàn bộ sản phẩm. Ngoài ra, việc ẩn dữ liệu trong bộ nhớ ngoài an toàn là chưa đủ, tôi cần ẩn một phần chương trình.

Cập nhật (dựa trên nhiều ý kiến): Tôi có DSPIC và 4 năm phát triển toàn thời gian trên phần sụn (sẽ mất khá nhiều nỗ lực để làm điều đó từ đầu theo cách khác):

1) Sản phẩm này đã được bán và tin tặc có quyền truy cập nếu họ muốn

2) PHẦN MỀM MỚI chưa được phát hành. Chứa mã 5kB mà chưa có ai trong tất cả các đối thủ cạnh tranh. Tôi cần ngăn chặn bất cứ ai dễ dàng nhận được nó trong khoảng 12 tháng sau khi phát hành

3) Không có ngân sách để đi rất kỳ lạ hoặc phức tạp, có thể thêm $ 10 cho mỗi sản phẩm, cộng hoặc trừ

4) Một giải pháp như thêm thẻ SIM có thể thực hiện thủ thuật?

5) Hàm ẩn thực hiện phép tính rất phức tạp, không chuẩn, để giải mã / mã hóa 16 byte. Các quy trình đã biết không thể hack nó trong 1 năm, chức năng là cần thiết, đó là lý do tại sao tôi muốn ẩn nó.

6) Tôi không phiền nếu nó hiển thị công khai, khi yêu cầu được gửi đến phần cứng 'ẩn' hoặc nếu phản hồi được hiển thị công khai. Chỉ cần ẩn quá trình tính toán nó, và không thể ở bên trong bộ xử lý DSPIC.


1
user1831847: điều đó không thực sự hiệu quả, hãy xem câu hỏi và $ 1.000 (tôi đã tự mình chứng kiến ​​nó với mã bảo mật của riêng mình)
EmbeddedGuy

2
Sau đó, như bạn biết nó không dễ dàng - ngay cả trên các bộ vi xử lý 'an toàn'. Nếu bạn ném đủ tài nguyên vào nó, bất cứ thứ gì cũng có thể bị bẻ khóa. Ít nhất nếu bạn thuê một bên thứ ba, bạn luôn có thể kiện họ nếu nó sai;)
JIm Dearden

2
@Jim Dearden Quy tắc thứ 2, bảo mật bằng cách tối nghĩa là không bảo mật. Thuê một chuyên gia sẽ là một ý tưởng tốt mặc dù. Chàng. Bảo mật không bao giờ là tuyệt đối, nó luôn là yếu tố thời gian và tiền bạc mà bạn có thể cung cấp cho chúng tôi manh mối về mức độ bảo vệ mà bạn đang tìm kiếm trong các điều khoản này.
RoyC

2
Nếu bạn không có thứ gì đó như xác thực trực tuyến, tôi nghĩ bạn khá nhiều SOL. Như bạn nói, nó đủ rẻ để phá vỡ các biện pháp bảo vệ đơn giản (họ có thể loại bỏ việc đóng gói và sử dụng các kỹ thuật khác nhau để vô hiệu hóa, bỏ qua hoặc tua lại xung quanh các biện pháp bảo vệ nếu không có gì dễ dàng hơn). Bạn có thể thử SE bảo mật. Nếu sản phẩm của bạn tốt, nó sẽ được sao chép và thậm chí nếu bạn có thể bảo mật phần sụn, việc viết lại nó thực sự khó đến mức nào? Rất nhiều chi phí là trong việc xác định thông số kỹ thuật và do đó máy photocopy không cần phải làm.
Spehro Pefhany

1
Còn các hệ thống thẻ thông minh khác nhau thì sao?
pjc50

Câu trả lời:


1

Có công ty chuyên về điều đó. Atmelwas một trong số họ, cũng an toàn. Họ habe phần cứng đặc biệt có thể phù hợp với nhu cầu của bạn. Nhưng nếu bạn muốn nó thực sự hoạt động, hãy chuẩn bị để bảo vệ toàn bộ chuỗi từ kho asic của họ đến cơ sở sản xuất của bạn với kho tiền và bảo vệ cho các mã bảo mật. Nếu không, bạn sẽ chỉ kiếm được $ 1k cho lần thử $ 10k, trong khi bạn thực sự cần ít nhất $ 1M.


Tôi nghe những gì bạn có ý nghĩa. $ 1M là ổn nếu sản phẩm được bán với giá $ 10 triệu / năm, đó không phải là trường hợp của tôi. Nhưng phần cứng Secure không có kho tiền và bảo vệ có thể đủ. Tôi chỉ cần loại CPU nhỏ để bảo mật tính toán thêm này.
EmbeddedGuy

Sau đó sa thải lính canh :)
Gregory Kornblum

Dựa trên cập nhật của bạn - gọi bên trong an toàn.
Gregory Kornblum

Gregory: Xin lỗi, tôi không hiểu ý của bạn là "bên trong an toàn"
EmbeddedGuy


1

Các nhà nghiên cứu tại MIT đã phát triển một cách để xáo trộn mã theo toán học, nhưng vẫn giữ đầu ra như cũ. Cách duy nhất mà hàm thực thi là nếu bạn cung cấp cho nó khóa chính xác, có thể được tải xuống theo thời gian.

Điều này có thể hữu ích cho bạn: http://spectrum.ieee.org/computing/software/scrambled-code-keeps-software-safe


Trong khi chưa có giải pháp thực tế, cảm ơn bạn đã đọc một giáo dục thú vị.
EmbeddedGuy
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.