Це питання занадто широке, але враховуючи, що ви пропустили найважливіше, я відчуваю, що мені потрібно вирішити питання.
Аутентифікуйте оновлення .
Якщо ви хочете переконатися, що на ваших пристроях працює ваш код, тоді вам потрібна автентифікація, а не шифрування. Шифрування гарантує, що інші люди не можуть знати, що у вашому коді, а це важко досягти і рідко корисно. (Ви можете зашифрувати, але якщо ключ дешифрування є на пристрої, ви нічого не отримали, якщо у вас немає способу захисту ключа розшифрування, який не дозволяє вам захищати код безпосередньо.) Автентичність - це властивість, яку мають інші люди не може створити підроблене оновлення, і це властивість зазвичай бажано.
Зауважте, що шифрування не допомагає автентичності. Це помилкова думка, яку іноді мають люди, які насправді не розуміють безпеку, але це просто неправда.
Для деяких пристроїв добре запускати будь-яку прошивку, якщо власник цього захоче. У такому випадку вам все ще потрібен якийсь механізм для того, щоб тільки власник пристрою міг встановити мікропрограмне забезпечення, а не якийсь випадковий перехожий. Як правило, це означає, що пристрій повинен автентифікувати оновлення як те, що надходить від зареєстрованого власника.