- Apa cara terbaik untuk melindungi kode yang dipasang ke perangkat berbasis AVR dari rekayasa balik?
- Apa cara mudah untuk memberikan pembaruan kepada pengguna akhir untuk mem-flash sendiri tanpa mengungkapkan kode? (Apakah dengan bootloader yang mendekripsi gambar terenkripsi?)
Jangan memecat saya karena mempromosikan DRM, saya mendukung platform terbuka - Saya hanya ingin tahu bagaimana ini akan bekerja.
Jawaban:
Pertama:
Ada sekering pada chip yang dapat diatur untuk mencegah alat eksternal membaca kode dari chip. Cari sekering perlindungan dalam lembar data dan / atau dokumentasi pemrogram Anda.
Itu tidak sempurna, tetapi melindungi Anda dari serangan sederhana.
Kedua:
Anda tidak dapat mengunduh firmware dengan aman. AVR tidak dapat memprogram mandiri area yang dilindungi:
http://www.atmel.com/dyn/resources/prod_documents/doc1644.pdf
Yang terbaik yang dapat Anda lakukan adalah menggunakan bahasa token terenkripsi (seperti dasar, atau sebagainya) dan memiliki penerjemah yang dilindungi pada chip dengan bootloader yang dapat memprogram token terenkripsi ke area terbuka. Saat berjalan, chip akan mendekripsi dan menjalankan instruksi dengan cepat.
sumber
Jika itu penting dan Anda sangat khawatir tentang pesaing mencuri kode Anda, ambil perlindungan IP pada segmen kode Anda. Anda harus melihat ini jika Anda akan mencoba dan menghasilkan uang dari suatu proyek.
Elemen kode tertentu dapat dipatenkan (untuk metode pemrosesan spesifik dan algoritme baru) atau terdaftar sebagai desain industri (tampilan, tata letak, dan penerapan kode Anda ke perangkat). Anda mungkin ingin berkonsultasi dengan pengacara IP tentang ini.
sumber
Jika Anda menulis bootloader Anda sendiri yang menerima data terenkripsi melalui port serial, mendekripsi dan menyimpannya ke area penyimpanan kode, Anda bisa mendapatkan pembaruan firmware kode yang aman. Setiap perangkat bahkan dapat memiliki kunci dekripsi sendiri yang unik di bootloader khusus Anda.
sumber