デバイス認証


7

デバイスを認証するにはどうすればよいですか?OpenWRT側で「デーモン」を実行しているarduino yunがあります。デーモンはメッセージブローカーからコマンドを読み取り、それらを実行して、値を返します。

ブローカーと通信する前に、デバイスを認証する必要があります(私はそう思います)。正しい流れは何ですか?

それを認証する必要さえありますか?ブローカーの資格情報がデバイスに埋め込まれている場合、おそらくそれを行う必要はないでしょう。しかし、よくわかりません。

回答:


4

MQTTは、ユーザー名/パスワード認証とクライアント側の証明書をサポートして、ブローカーに対してクライアントを認証します。

証明書を使用すると、ブローカが偽装されていないことを確認することもできます。


これらのスキームは通常、本来は本物であるが、現在は他のユーザーが所有する他のクライアントを対象とするトラフィックをスパイする、侵害されたクライアントボックスを保護しないことに注意してください。
Chris Stratton

1
いいえ。ただし、適切に構築されたトピックツリーとACLにより、侵害されたクライアントはそのクライアントに向けられたトラフィックしか見ることができず、証明書を取り消す機能はそれを遮断します。鍵/証明書は可能な限り安全な要素に保管する必要があります
hardillb

そのような分離を提供するには、プラグインを使用する必要があると思います。残念ながら、これは設計された機能の1つではありません。キーに関しては、それらが安全な要素内にあるかどうかは特に問題ではありません。それらはクライアントのインスタンスごとに一意である必要があり、クライアントの機能のほとんど全体が、誰かが潜在的にクライアントは、製造元が意図しない目的でそのキーを使用するため、それを防ぐことに頼るのではなく、キーが実行できることを制限する必要があります。
Chris Stratton

私が説明したものにはプラグインは必要ありません(ただし、mosquittoプラグインを使用すると、管理が簡単になります)。確かに、証明書/キーIDに正しくバインドされたACLは正しい方法でリンクされていますが、質問が非常にあいまいだったので、高レベルの回答で十分でしょう。必要に応じて、自由に追加してください。
hardillb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.