インターネットにアクセスせずにアクセスポイントを実行しているWebベースのデバイス設定でHTTPSを使用するにはどうすればよいですか?


7

Wi-Fi構成を含む初期構成用のWebページとアクセスポイントを持つ裏庭の庭師のためのRaspberry Piベースのデバイスを構築しています。接続はWPA2を使用し、その内部ネットワーク上の2つのデバイスのみがデバイス自体とユーザーの電話/タブレット/ラップトップになります。アクセスポイントは設定中にのみ表示され、外部の攻撃者が工場出荷時のランダムなパスワードを推測できる可能性が低くなります。だから私はトラフィックを暗号化しました、ほとんど確かに2つのノードだけ、短時間、そしてランダムなパスワードです。したがって、私が見ることができるHTTPSの必要はなく、HTTPを実行することを計画していました。

しかし、今日私は7月からChromeがすべてのHTTPサイトを安全でないとマークし始めることを知りました[1]。ただし、Wi-Fi構成はアクセスポイントによって行われるため、TLS証明書を確認するためのインターネットアクセスはまだ利用できません。これは、適切な操作に必要であると理解しています。[2] 証明書に自己署名することもできますが、これには別の問題があります。[3]

だから私のオプションは次のようです:

  • 大きくて怖い「このWebサイトは安全ではありません」というメッセージを設定ペ​​ージに表示します
  • 大きくて恐ろしい「この証明書は信頼されていません」というメッセージ(たとえば、自己署名)を構成ページに表示します。

デバイス構成ページのデフォルトで、その素敵な緑の錠をどのように提供しますか?

[1] https://www.theverge.com/2018/2/8/16991254/chrome-not-secure-marked-http-encryption-ssl

[2] /security/56389/ssl-certificate-framework-101-how-does-the-browser-actually-verify-the-validity?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

[3] https://www.globalsign.com/en/ssl-information-center/dangers-self-signed-certificates/


質問の一部は誤解に基づいています。実際には、証明書を検証するためにインターネット全体にアクセスする必要はありません。デバイスの証明書チェーンファイルは、ブラウザーが認識している信頼のルートまで遡る必要があります。そうでない場合、単にインターネットにアクセスするだけでは十分ではないため、ブラウザに追加のCAを追加するプロセスを実際に実行する必要があります。
Chris Stratton、2018年

私のメインWebサイトには、ほとんどのブラウザーで信頼されている証明書が既にあります。それで、私が既存の証明書を使用するだけですか?それがワイルドカードである場合、それはすでにiPhoneとAndroidによって信頼されていますか?
スローブロ

いいえ、絶対にありません!!! あなたがそれをしたなら、あなたはあなたの製品の1つを買ったすべての人にあなたのウェブサイトを偽装することを許すであろう秘密を与えるでしょう。この目的で使用する証明書は、この目的でのみ使用する必要があり、最初から改ざんされていると見なされます。ユーザーを互いに保護する必要がある場合は、作成されたボックスごとに一意の証明書が必要になります。これは、カスタムモバイルアプリのように制御するクライアントのカスタムCAで行うのは比較的簡単ですが、信頼の根源がストックされているブラウザーの場合ははるかに困難です。
Chris Stratton

1
デバイスごとに一意の証明書を取得するには、多数の証明書に経済的に署名する意思のあるCAが必要です。作成したモバイルアプリのようなカスタムクライアントを作成できる場合は、独自のカスタムCAを信頼するように設定できます。しかし、ボックスがストックトラストリストのあるストックブラウザーによって信頼される必要がある場合は、認定されたCAを使用する必要があります。
Chris Stratton、2018年

1
ありがとう、これは今より明確になっています。これを回答として投稿して、賛成投票しませんか?
スローブロ

回答:


4

1つの可能なオプションは、HTTPSを使用して、デバイスに実際の証明書を配布することです。

アクセスポイントを制御するので、おそらくアクセスポイント上のDHCPサーバーを制御するため、同時にDNSサーバーアドレスを提供することができます。

このDNSサーバーはAPに配置でき、完全修飾ホスト名を解決して自分自身を指すことができます。

次に、その完全修飾ドメイン名の証明書を購入し、これを製品にバンドルして、完全に検証されたHTTPS接続を作成できます。

このアイデアの大きな問題の1つは、そのドメイン名の秘密鍵と証明書を出荷することです。そのため、ある時点でそれが危険にさらされ、実際のマシンを置かないようにする必要があります(これでマシンを実行する必要がある場合があります)攻撃者が簡単になりすますことができるため、そのホスト名を使用するインターネット上で、実際に証明書を取得するための非常に短い時間の名前。

また、APのファームウェアは、証明書の有効期限が切れる(おそらくデフォルトでiircが1年後に)ため、寿命が限られているため、厄介な証明書の期限切れの警告が表示されます。

次のアイデア:

WiFiアクセスポイントモードを破棄してBluetoothを使用する

https://www.hardill.me.uk/wordpress/2016/09/13/provisioning-wifi-iot-devices/

欠点は、Appleは現在WebBluetoothをサポートしていないが、Windows / Linux / Mac上のChromeはサポートしており、Appleの電話/タブレットユーザー向けにネイティブiOSアプリを出荷できることです。


だから私はあなたの答えに基づいてこれを想像しています:デバイスにDNSとDHCPを設定します。DNSレコードの1つはdevice1234.myrealdomain.comです。myrealdomain.comはum、私の実際のドメインです。 、そのデバイスを信頼することを知っています。確認するためにインターネットにアクセスする必要はありません。証明書の有効期限が近づくと、新しく署名した証明書をプッシュします。それはうまくいくでしょうか?
スローブロ

いいえ、この目的のために意味のあるもの(Webサイトなど)に依存する証明書は絶対に使用しないでください。多数のボックスに配布されるためです。あなたがそれをするとき、あなたはすべての人が見るために秘密にされるはずの部分を効果的に公開しています。また、今日の多くのCAが提供するよりもはるかに長い有効期限のものが必要です。それ以外の場合、1〜2年間電源がオフになっていたボックスは、設定するのに十分な長さでさえ、強制ブラウザからアクセスできません。更新された証明書をプルダウンしてブラウザを満たすために、インターネットにアクセスします。
Chris Stratton、2018年

クリスはあなたの真上の私の応答を見て、私は各デバイスにメインのWebサイト証明書ではなく、デバイス固有の証明書を出荷する状況について説明します。デバイスが1年以上オフラインになっている場合は、壊れていると考えます。これらは製造されず、棚に置かれません。工場を出る直前に構成されます。
スローブロ

独自のCAがある場合、DNSサーバーは必要ありません。デバイスのIPアドレスの証明書を発行すると、すべてが簡単になります。また、必要に応じて
証明書を

1
90日間の証明書は、完全に、完全に、完全に、そしてハードウェア製品のパッケージングにはまったく実行不可能です。それは顧客サポートの悪夢であり、おそらくあなたのビジネスを沈めるでしょう。しないでください。それをすることさえ考えないでください。
Chris Stratton、2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.