2017-02-03 30 views
1

MQTT Webクライアントを使用して、msquitto mqtt brokerとwebsocketで接続しました。接続するmqttws31.jsクライアントjsを私に教えてください。接続は問題なくOKです。 は、私はこの問題は、このコードは私のjsファイルに挿入されていることであり、ユーザーは自分のブローカーへのパスワードアクセスを見ることができますfloowingコードMQTTソケットWebクライアント接続セキュリティの問題

client = new Paho.MQTT.Client("iot.eclipse.org", Number(80), "/ws", "clientId"); 
 
client.connect({ 
 
    onSuccess: onConnect, 
 
    userName : “Username”, 
 
    password : “password” 
 
});

を使用しています。私はmd5でパスワードを暗号化する場合。ブローカーはそれを受け入れません。
古典的なajax呼び出しの場合、私はmd5のパスワードを比較することができますが、これを行う方法があるかどうかを知っていますか?

お手伝いいただきありがとうございます。

答えて

0

これは、達成したいことを背景にしないと答えるのが難しい質問です。アプリケーションとは何ですか? MQTTサーバーのユーザー名とパスワードで何を保護しようとしていますか?

MD5を使用するとパスワードが暗号化されません。新しい文字列に変換するだけです。誰かがMD5を保持すると、MQTTサーバー上の自分のアカウントにログインすることができます。

私は、MQTTサーバーにログインするためにユーザー自身の資格情報を使用する必要があると答えています。または、ユーザー/セッション固有のトークン(OAuthトークンなど)を使用して、ユーザーであることを証明しますが、必要な場合は取り消しまたは更新できます。

+0

と、各ユーザーの兆候は、私はすべての私のユーザーのためにブローカーをMQTTするにはログインが単一のアカウントを使用することを良く言ったように。クライアントIDだけを区別するように変更します。 Hawはユーザーがmd5で自分のブローカーにアクセスできるようにします。 mqttブローカに接続するためにパスワードを解読する必要があります。 mqtt jsファイルを使用した場合、接続するにはjsにパスワードを入力する必要があります。 –

+0

おそらくあなたはすでにそれを解決していません。私はyoiuがクラウドブローカーへの実際のアクセスであるので、javaからパスワードを隠したいと思っています。そのような場合、ブローカーブリッジを構築して、 /パスワード。彼らがそれを見て、接続が暗号化されている限り、私はユーザーに自分の資格情報でサインすることができても、それは良い – user1741397

0

実際にパスワードを1つだけ使用する必要がある場合は、AJAXリクエストのユーザー名とパスワードを入力して、ページに保存しないようにすることができます。これらの資格情報は、おそらく定期的に変更する必要があります。

誰もが同じAJAXリクエストで資格情報を取得することができるため、実際には保護されていませんが、srcですぐに利用できるわけではありません。

@njhは独自の資格情報

+0

でなければなりません。任意のmqttクライアントで他のユーザーのトピックに接続したり、brodcast +トピックに接続することもできます。このため私は彼らにモスキートへの接続を許可しません。 –

+0

ACLを設定して、特定のユーザが表示されるトピックにのみアクセスできるようにしない場合 – hardillb

+0

応答のために感謝します。mysqlを使用して自動ACLを実行するためのmosquitto authプラグインが見つかりました。同じプロンプトに直面している他の人にとって私は非常にうまくいく必要があります。 –

関連する問題