IoTでの認証はOAuth on MQTTか?

課題としては、セッションの更新をどうやって強制させるか、か。 負荷とのトレードオフ thundering hurdを避けるためのTTLのrandomizeいるかも セキュリティの観点からすると、パッチのあたっていない古いデバイスは拒否する、とかにも使えそうだな。
2
hiyosi🎩 @hiyosi

デバイスによるContinuous Authentication を実現するには、MQTTのような軽量なプロトコルを使った What You Are による認証の仕組みが必要。

2014-08-24 23:28:35
hiyosi🎩 @hiyosi

ということで、Continuous Authentication を実現するには、MQTTなどの上で動作する、What You Are によるOAuth2.0やOpenID Connect の実装が必要になる。

2014-08-24 23:35:54
V @voluntas

確かに。MQTT と OAuth 誰かやってたなーと思いながらぐぐる。

2014-08-25 00:07:43
V @voluntas

Using OAuth 2.0 with MQTT | Paul Fremantle's Blog pzf.fremantle.org/2013/11/using-…

2014-08-25 00:07:54
V @voluntas

あぁ、なるほど。ベアラーのトークンを認証に使うってことか。とても良いのではないかな。この仕組みならサーバもパスワード保持する必要ないわけだし。

2014-08-25 00:09:50
V @voluntas

トークンは別のところから(もちろん OAuth で) 拾ってくると、あとは user_name 部分にトークン突っ込む。ブローカーはそのトークンのパーミッションを決められた場所から確認すると。ブローカーはユーザ名も何もわからないでパーミッションを設定できるようになる。

2014-08-25 00:11:07
V @voluntas

ブローカーが悪い事しない前提だが、まぁそれは普通だしな。そうするとユーザ管理すら不要になるわけか。そんな MQTT ブローカー欲しい人います?w (作れます)

2014-08-25 00:11:58
V @voluntas

ただ、アクセストークンを定期的に更新するという仕組みは必要だよなぁ。OAuth サーバに取りに行く仕組みは必要か。return code 5 が返ってきたら、クライアントががんばってトークンを取りに行く必要あり。

2014-08-25 00:12:59
V @voluntas

問題は、つなぎっぱなしであればなんとか逃げられる問題。これはどうするか。パーミションに期限を持たせるという需要も出てきそう。定期的にコネクションを切断する機能。つまり認証を定期的にさせる仕組み。

2014-08-25 00:13:52
V @voluntas

認証は同期であって欲しいからトークン取得は MQTT ベースはないかな。

2014-08-25 10:19:31