私は、組み込みシステム上の不正なソフトウェアのアップグレードを防止する(または少なくとも防止する)方法について、具体的なアドバイスを受けています。それは防弾である必要はなく、システム自体が十分にロックダウンされているので、誰もそれに無許可でアクセスすることはできません。デジタル署名を使用してソフトウェアのアップグレードを制御するにはどうすればよいですか?
基本的には、どこからでもアップデートパッケージを受け取ることができるシステム上で実行されるインストーラプロセスを実行することですが、インストールを試みる前にそれらのパッケージが信頼できるソース(つまり、私)
単純な形式では、更新パッケージには実際のインストールパッケージと、自分で生成することができる一致するデジタル署名が含まれています。さらに、署名は、外部の関係者が関与することなく純粋に自己生成される。
したがって、これらは、可能なプロセス上の私の考えです:
は、公開鍵/秘密鍵のペアを生成し、組み込みシステム自体と一緒に公開鍵を配布します。
ソフトウェアインストールパッケージを作成するときは、プライベートキーを使用してシグネチャジェネレータでパッケージの内容(またはパッケージのMD5)をパイプします。
このシグネチャとともにソフトウェアインストールパッケージを配布します。
インストーラは、ソフトウェアインストールパッケージ(既に持っている公開鍵を使用)に対して署名をチェックし、一致するものがあればインストールします。
誰でもこのスキームで問題が見つかった場合は、その回避方法に関する詳細をお読みいただきたいと思います。さらに、(これは質問の主な目的ではありませんが)、鍵を生成するためのツールについてのアドバイスは高く評価されます。