私は、スクラッチパッドとして動作する128 MBのフラッシュストレージを持つ小さな組み込みLinuxデバイスを持っています。このデバイスは、NGINX Webサーバーを実行します。ファームウェアの更新を行うために、システムは暗号化されたバイナリファイルをHTTPS POSTとしてNGINX経由でスクラッチパッドに受け取ります。その後、システムはファイルを解読し、更新を完了するために異なるQSPIフラッシュデバイスを点滅させる。OpenSSLバイナリをNGINXで復号化して復号化する(オンザフライで)
ファームウェアバイナリこのような装置の外部に暗号化されている:
openssl smime -encrypt -binary -aes-256-cbc -in plainfile.zip -out encrypted.zip.enc -outform DER yourSslCertificate.pem
ファームウェアバイナリこのようなデバイスに、nginxのを介して受信された後、復号化される:
openssl smime -decrypt -binary -in encrypted.zip.enc -inform DER -out decrypted.zip -inkey private.key -passin pass:your_password
私は思いバイナリがNGINXを介して(オンザフライで)受信されたときに復号化するのが本当に好きなので、フラッシュスクラッチパッドに復号化された形式で表示されます。
Googleでこれを行う既存のNGINXモジュールを見つけることができませんでした。どうすればこれを達成できますか?ありがとう。
のような軽いfastcgiラッパーをnginxでどのように受け取ることができますか? – cnst
NGINXがどのように動作するのか分かりませんが、この目的のためには、埋め込まれた環境で安全にファームウェアをアップデートすることができます。デバイスまたはOTA)では、異なるユースケースを使用しました。 –
ファームウェアをクロスコンパイルした後、apを使用して生成された16進ファイルのハッシュ値を計算し、AESを使用してハッシュとファームウェアの両方をFTPサーバーに暗号化し、TCP/HTTPS新しいファームウェアを更新するために値をプロセッサリセットしてブートローダに入力すると、ファームウェアのハッシュ値を計算します。 –