web-dev-qa-db-ja.com

組み込みデバイスにHTTPSを実装するためのベストプラクティス

ルーター、IPカメラなどの組み込みデバイスは通常、管理インターフェイスへのHTTPSアクセスを提供します。これらのHTTPS実装には、一般に多くの問題(一意でない証明書、自己署名証明書など)があり、接続が安全でなくなります。そこで、私はベストプラクティスを探しています。組み込みデバイスがHTTPSを安全な方法で実装し、次の要件を満たす方法を探しています。

  • HTTPSを介して(リモートとLANの両方から)デバイスにアクセスするブラウザーは、ユーザーに警告を表示しません。したがって、ブラウザはデバイスから送信された証明書を正しく検証できます。
  • デバイスの秘密キーが侵害された場合、攻撃者はこのキーを使用して別のデバイスまたは別のWebページに対してMitM攻撃を実行することはできません。
  • 可能であれば、ユーザーはブラウザに証明書をインストールしたり、例外を受け入れたりする必要はありません。
10
ebux

デバイスは、製造日から2年間は売られていない、または使用されていない可能性があり、ほとんどの(すべてではないにしても)CAは、有効期限が長いデバイス証明書を発行することを望まない可能性があるため、簡単な解決策はおそらく非現実的です。

ただし、次の代替案を提案します。

  1. 別の方法を使用して、デバイスとクライアント間の初期信頼を確立します。たとえば、これはデバイスごとのPSKを備えたIPSec/L2TP VPNにすることができます。 PSKの帯域外転送により、MitMが阻止されます(PSKが攻撃者に知られている場合を除く)。

  2. (VPN経由の)HTTPを使用して、デバイスから [〜#〜] csr [〜#〜] をダウンロードします。ドメインは、製造元によって制御された/ユーザーによって提供されたドメインのランダムなサブドメインにすることができます。

  3. ユーザー/クライアントは、デバイスの代わりにCSRをCAに送信し、署名された証明書をHTTP経由でデバイスに中継します。 CAは、サブドメインの証明書を再発行しないルールを適用する必要があります。

  4. デバイスは、証明書と通信スイッチをHTTPSに適用します。

  5. 証明書の有効期限が近づくと、デバイスは署名された更新要求をCAに送信します(必要に応じてクライアント/ユーザーを介して)。

明らかに、上記の「ダンス」はプログラムによって最適化されています。

セキュリティ分析

  • デバイスのIDは、PSKの知識によって確立されます。
  • MitMと盗聴はVPNプロトコル(PSKあり)によって防止されます
  • CSRの仕組みにより、デバイスの秘密キーが明らかにされることはありません(工場でプログラムされるのではなく、オンデマンドで生成されます)。
  • すべての要件を満たすデバイスごとの有効な証明書を使用できます
  • ランダムな非デバイス固有のサブドメインにより、詐称者が事前に証明書を登録するのを防ぎます
1
billc.cn

ポイント1と2は、信頼できるCAから証明書を購入することで対処されます。

2番目のポイントは-

デバイスの秘密キーが侵害された場合、攻撃者はこのキーを使用して別のデバイスに対してMitM攻撃を実行することはできません。

これを行う方法を見つけることができれば、あなたは非常に豊かになります。

または別のウェブページ。

え?分からない。

私が過去に使用したこのタイプのデバイスは証明書なしで出荷されましたが、証明書(および秘密鍵)をデバイスに展開する手段を提供します。確かに、ハードウェアに付属の証明書を信頼できないのは、証明書の歌唱要求をサプライヤに送信した(そして秘密鍵を保持した)場合です。

0
symcbean