web-dev-qa-db-ja.com

WiFiパスワードをIOT(組み込み)デバイスに安全に保存するにはどうすればよいですか?

一部のデバイスは、自宅のwifi、SmartTVなどを使用する携帯電話のように(ハッシュではなく)パスワードを保存して(再)使用する必要があります。

パスワードをフラッシュストレージに保存するにはどうすればよいですか?チップに物理的にアクセスできる人がそれを取得できないようにするには?

PKI方式を使用する場合は、パスワードを復号化してネットワークに参加するために使用するために、デバイスの秘密鍵も必要です。そして、その民間人も同じ問題に苦しんでいます。

また、ある種のマスターキーを持つことは、1つのデバイスのマスターキーが読み取られると、そのマスターキーを使用してすべてのデバイスデータを暗号化できることを意味します。

これは現在どのように一般的に実装されていますか?理想的にはどのようにすべきですか?

11
MandoMando

Windows 7以降では、MicrosoftはRunAsPPL = 1レジストリの変更により保護されたプロセスを有効にしました。これは、LSAがSYSTEMアカウントによってもダンプされないように保護します。 LSA(lsass.exeプロセス)には、WiFiキーやマシンの資格情報などのシークレットが含まれています。これらのシークレットに再度アクセスするには、現在ログインしているユーザーの画面をロックおよびロック解除するか、ログアウトして再度ログインするか、マシンを再起動してログインに成功する必要があります。 lsassがこのように保護されている場合、 WirelessKeyView などのツールが機能しないことをテストして確認しました。

この種の保護は依然としてソフトウェアで提供されています(そして、カーネルやドライバースペーステクノロジーを介してバイパスすることができます。これは roburos などのマルウェアで一般的に見られます)-しかし、多くの環境には十分です確かに、まったく保護しないよりはるかに優れています。同等のハードウェアについては、多くの人が 安全なエンクレーブを提供するIntel SGX を検討しています。 IoTメーカーがIntel SGXまたは同様のテクノロジーを利用できる場合、それはWiFiパスワード、資格情報、暗号化キーマテリアルなどの共有シークレットを保存するのに最適な場所です。

注:このディスカッションの一部は、GoogleのThomas Dullienによる講演から引用されました http://www.slideshare.net/hashdays/why-johnny-cant-tell-if-he-is-compromised - https://www.youtube.com/watch?v=kG2sISGNZmk

5
atdre

質問へのコメントとして述べたように、あなたができることはそれをより難しくすることです。

現在のWiFiプロトコルでは、クライアントとAPの両方がPSKを知っている必要があります。これは現状では避けられず、これを変更する計画はわかりません。

シークレットの取得を困難にするために、さまざまな手法を使用できます。ただし、脅威モデルを考慮に入れる必要があります-何を保護し、誰を保護し、どれだけの期間保護するかを決めます。

このタスクは、ハードウェアセキュリティモジュールのキーを保護することと似ています。これらは、高度な手法を使用して、物理的なアクセスが拡張されていても、秘密鍵が漏洩するのを防ぎます。

具体的には、ほとんどのIoTデバイスの場合、それらは家の中などの保護された領域にすでに格納されています。リングドアベルと一部のCCTV IPカメラはこの障壁を打ち破り、攻撃者がより簡単にそれらにアクセスできる領域にあります-これを考慮する必要があります。つまり、保護されたエリアの全員が無害であることに依存するべきではありません。たとえば、ティーンエイジャーが時間制限のあるSSIDしか使用できない場合は、別のデバイスから通常のSSIDの別のPSKを回復しようとする可能性があります。

Ring Doorbellで確認したように、ネットワーク上で読み取られるキーを保護する必要があります(完全な開示、私は問題を見つけたPen Test Partnersの従業員です)。いくつかの一般的なWiFi SoC /ボードには、このような穴があるSDKが付属しています。

一部のWiFi SoC /ボードでは、PSKを一度設定すると、キーの復元が困難になります。最低でも、これらはJTAGまたはSPI=を接続してメモリを読み取る必要があります。最悪の場合、オンボードEEPROMの内容を回復するために新しい攻撃を開発する必要があるかもしれません。

ボードを物理的にポッティングすると、バスやチップへのアクセスが難しくなり、攻撃者を阻止します。

これをさらに拡張して、ハードウェアセキュリティメカニズムやチップ&ピン端子にあるような改ざん防止機能を追加できます。

対称鍵を使用して鍵を暗号化することは、物理的に攻撃される可能性があるほとんどの小さな組み込みシステムではほとんど無意味です。

3
Cybergibbons

可能であれば、キーをスマートカード/ HSM/TPMに保存することができます(以下では、これらをセキュアストレージデバイスと呼びます)。これにより、キーが取り出されず、キーによる操作(署名、暗号化など)が処理されます。

特にWPA WLANの場合、キー自体は、セッションキーと呼ぶことができるものを導出するために使用され、その後、WLANホットスポットへのパスワードは不要になるため、安全なストレージによって簡単にできます。端末。

問題の1つは、おそらく@atdreで言及されているrunaspplを使用しても、Windowsネットワークと共有センターが管理アカウントにシルバータブレットのキーをVistaのGUIで直接提供しているため、Windowsを使用する場合、 WLANキーの安全なストレージデバイスを処理できるWLANソフトウェアを作成します。

HSMは純粋に過剰であると私は言うかもしれませんが、TPMはますます一般的になり、Win10ステッカーを備えたコンピューターを入手するために必要とされることさえあります。

より興味深い問題は、安全なストレージと連携してWLANハンドシェイクを作成できるソフトウェアを構築することです。

0
My1