Saya mengembangkan perangkat keras yang tertanam secara komersial, menggunakan Microchip dsPIC atau prosesor serupa.
Firmware yang saya miliki kadang-kadang sangat kompleks dan mahal, dan perlu menjadi peretas dan merusak perangkat keras. Semua perlindungan perangkat lunak dasar ada di sana, tetapi sebesar $ 500 - $ 1.000 kode hex dapat diambil melalui beberapa layanan situs web asing, bahkan jika ada sekering keamanan (mencegah hanya gangguan yang tidak ditentukan). Setelah itu, hanya beberapa bulan dan kode dapat direkayasa ulang menggunakan disassembler, seperti IDA Pro.
Bagaimana saya bisa melindungi desain perangkat keras sedikit lebih baik (tidak perlu perlindungan militer)?
Dapatkah Anda merekomendasikan prosesor lain yang tidak dapat dibaca, atau mungkin tambahan untuk desain saya yang sudah ada?
Yang saya butuhkan adalah menyembunyikan beberapa fungsi, saya tidak perlu seluruh produk. Juga, tidak cukup hanya dengan menyembunyikan data dalam memori eksternal yang aman, saya perlu menyembunyikan sepotong program.
Pembaruan (berdasarkan banyak komentar): Saya memiliki dsPIC dan 4 tahun pengembangan penuh pada firmware (akan membutuhkan upaya yang cukup untuk melakukannya dari awal dengan cara lain):
1) Produk ini sudah laku dan peretas memiliki akses jika mereka mau
2) PERANGKAT LUNAK BARU belum dirilis. Berisi kode 5kB yang belum dimiliki siapa pun dari semua kompetisi. Saya perlu mencegah siapa pun dengan mudah mendapatkannya selama sekitar 12 bulan setelah rilis
3) Tidak ada anggaran untuk menjadi sangat eksotis atau rumit, mungkin tambahan $ 10 per produk, plus atau minus
4) Solusi seperti menambahkan kartu SIM mungkin berhasil?
5) Fungsi untuk menyembunyikan melakukan perhitungan yang sangat rumit, non-standar, untuk mendekripsi / mengenkripsi 16 byte. Proses yang diketahui tidak dapat meretasnya dalam 1 tahun, fungsinya diperlukan, itulah sebabnya saya ingin menyembunyikannya.
6) Saya tidak keberatan jika itu terlihat secara publik, ketika permintaan dikirim ke perangkat keras 'tersembunyi', atau jika responsnya terlihat oleh publik. Hanya perlu menyembunyikan proses penghitungannya, dan tidak bisa berada di dalam prosesor dsPIC.
sumber
Jawaban:
Ada perusahaan yang berspesialisasi dalam hal itu. Atmel adalah salah satunya, juga di dalam aman. Mereka memiliki perangkat keras khusus yang sesuai dengan kebutuhan Anda. Tetapi jika Anda ingin itu benar-benar berfungsi, bersiaplah untuk mengamankan seluruh rantai dari gudang asik mereka ke fasilitas produksi Anda dengan brankas dan penjaga untuk kode keamanan. Kalau tidak, Anda hanya akan menghasilkan $ 1rb untuk upaya $ 10rb, sedangkan Anda benar-benar membutuhkan setidaknya $ 1M.
sumber
Para peneliti di MIT mengembangkan cara untuk mengacak kode secara matematis, tetapi menjaga hasilnya tetap sama. Satu-satunya cara fungsi dijalankan adalah jika Anda memberikan kunci yang benar, yang dapat diunduh dari waktu ke waktu.
Ini mungkin berguna bagi Anda: http://spectrum.ieee.org/computing/software/scrambled-code-keeps-software-safe
sumber