web-dev-qa-db-ja.com

ホームネットワークの組み込みデバイスでTLSを行う方法

ホームネットワーク上にWebインターフェイスを備えたルーターまたはWebカメラを使用している場合、ブラウザーとデバイス間の接続を中間の攻撃者から保護できますか?デバイスメーカーは、トランスポートレベルのセキュリティを提供するために何をすべきですか?

デバイスがDHCPが割り当てたRFC1918アドレス(192.168.1.123など)を取得し、物理的なアクセスを持つ攻撃者が自分のデバイス上のすべてのファイルにアクセスできると仮定します。

これが不可能な場合、ホームネットワーク上の組み込みデバイスへの安全なアクセスを提供する他の方法はありますか?

5
Sjoerd

これは、RFC1918アドレスを指すドメイン名の証明書によって実行できます。

各デバイスは独自のサブドメイン(c12345.umbrellacams.com)を取得し、各サブドメインは独自の証明書を持っています。デバイスをネットワークにインストールするとき、サブドメインのDNSエントリを更新するために、サーバーにアドレスを送信する必要があります。ユーザーがブラウザーでカメラにアクセスすると、ドメイン名をカメラのシリアル番号と照合して、正しいカメラに接続されていることを確認できます。

攻撃者はカメラを購入してそこから秘密鍵を抽出できますが、MitMを実行できるのは自分のサブドメインであるc98765.umbrellacams.comのみで、c12345.umbrellacams.comなどの他のサブドメインは許可されません。

別のネットワーク上にある場合、ドメインc12345.umbrellacams.comは別のデバイスを指しますが、そのデバイスには証明書の秘密鍵がないため、有効なTLS接続を確立できません。

詳細は私のブログ投稿 IoTデバイスでTLSを実行する方法 です。

1
Sjoerd

これは完全な答えではなく、すべてのアプリケーションに適用できるわけではありませんが、とにかく追加します。

イケアのTrådfriでは [〜#〜] dtls [〜#〜] を使用しています。彼らは、デバイスのMACと秘密鍵(〜80ビット)が入ったステッカーをQRコードとともに印刷します。 IKEAアプリでは、これをスキャンして、デバイスをアプリに、アプリをDTLSデバイスに効果的に認証できます。

これは、たとえばカメラには実際には適用できませんが、M2Mまたはapp2M通信のいずれかを使用する他の多くのアプリケーションでは、十分に適用できます。それは本質的にあなたがデバイスに物理的にアクセスできることを証明します-そして私が望むなら私もステッカーを取り除くことができます...

そして、私はこの質問に対する他の答えを本当に楽しみにしています!

0
vidarlo

RFC1918アドレス上にあり、ドメインがない可能性が高いため、公的に信頼された証明書を持つことはできませんが、中間者攻撃に対して脆弱である必要はありません。ユーザーは、実際のデバイスに初回に接続できる必要があるだけで、例外をローカルに保存できます(TOFU:初回使用時の信頼)。

初めて、おそらく組み込みデバイスの他の多くのパラメーターも構成する必要があるため、特別な方法(多かれ少なかれ安全かもしれません)がそこにある可能性があります。たとえば、ユーザーが有線接続を介して接続した場合、最初の接続が適切なデバイスへの接続であったことが確実になります。

追加のアイデア:

  • 事前に生成された証明書は付属していません。新しい証明書を作成してください。
  • ただし、エントロピーがまだ十分でない場合は、そうしないでください。
  • 再起動の間もこの証明書を保持します
  • 理想的には、Webインターフェイスからの再生成を許可し、ユーザーが自分で生成した証明書をアップロードできるようにします(CAによって署名されていることもあります)。
  • デフォルトでは、サブネット外へのアクセスを許可しませんが、明示的に構成する必要があります。
  • デフォルトのユーザーとパスワードは使用しないでください。デバイスをインストールするときに、ユーザーにパスワードを設定するように強制します(おそらく、MACまたはシリアルから派生したものではなく、デバイス上でランダムに生成されたものをユーザーに提供します)。
0
Ángel