tamper proof tertanam mikroprosesor

8

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.

EmbeddedGuy
sumber
1
user1831847: itu tidak benar-benar berfungsi, lihat pertanyaan dan $ 1.000 (saya telah menyaksikannya sendiri dengan kode aman saya sendiri)
EmbeddedGuy
2
Maka seperti yang Anda tahu itu tidak mudah - bahkan pada mikroprosesor yang 'aman'. Jika Anda melemparkan sumber daya yang cukup padanya, apa saja bisa dipecahkan. Setidaknya jika Anda menyewa pihak ketiga, Anda selalu dapat menuntut mereka jika terjadi kesalahan;)
JIm Dearden
2
@ Jim Dearden aturan ke-2, keamanan dengan ketidakjelasan bukanlah keamanan. Mempekerjakan seorang spesialis adalah ide yang bagus. Orang. Keamanan tidak pernah absolut karena selalu merupakan faktor waktu dan uang yang dapat Anda berikan kepada kami petunjuk tentang tingkat perlindungan apa yang Anda cari dalam ketentuan ini.
RoyC
2
Jika Anda tidak memiliki sesuatu seperti otentikasi online, saya pikir Anda cukup banyak SOL. Seperti yang Anda katakan, cukup murah untuk memecah proteksi sederhana (mereka dapat menghapus enkapsulasi dan menggunakan berbagai teknik untuk menonaktifkan, mem-bypass atau me-rewire seputar perlindungan jika tidak ada yang lebih mudah bekerja). Anda dapat mencoba keamanan SE. Jika produk Anda adalah setiap yang baik itu akan disalin, dan bahkan jika Anda bisa mengamankan firmware, seberapa keras benar-benar akan menulis ulang itu? Banyak biaya dalam menentukan spesifikasi dan seterusnya sehingga mesin fotokopi tidak perlu melakukannya.
Spehro Pefhany
1
Bagaimana dengan berbagai sistem kartu pintar?
pjc50

Jawaban:

1

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.

Gregory Kornblum
sumber
Aku dengar maksudmu. $ 1M tidak apa-apa jika produk dijual seharga $ 10 juta / tahun, yang bukan kasus saya. Tetapi perangkat keras Secure tanpa kubah dan penjaga mungkin sudah cukup. Saya hanya perlu CPU tipe kecil untuk keamanan perhitungan ekstra ini.
EmbeddedGuy
Lalu tembak para penjaga :)
Gregory Kornblum
Berdasarkan pembaruan-panggilan Anda di dalam aman.
Gregory Kornblum
Gregory: Maaf, saya tidak mengerti apa yang Anda maksud dengan "inside secure"
EmbeddedGuy
1
insidesecure.com
Christian
1

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

Lonjakan tegangan
sumber
Meskipun belum merupakan solusi praktis, terima kasih atas bacaan pendidikan yang menarik.
EmbeddedGuy