21
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Amazon Dash Button から低遅延で鍵を開ける

Posted at

#はじめに
プロミスキャスモードを用いたESP8266でのAmazon Dash Buttonのイベント取得 を拝見したことから始まった応用記事です。

「プロミスキャスモード」とは、ざっくりいうと拾えるものは全部拾うモードです。他機器宛のパケットも拾いますし、WPAで認証されてなくても、SSIDが異なっていても受信します。当然、暗号化された中身は解読できませんが、誰が送ったか(送信元MACアドレスがなんなのか)は分かります。

Amazon Dash Button は AmazonのサーバとHTTPSでしゃべるので、それに先立ち以下のような通信をしていると思われます。

①無線ネゴ→②WPA認証→③DHCP(ARP含む)→④DNS→⑤HTTPS

よくある Amazon Dash Button の検出にはARPを使うものが多いです。これは③番目なので数秒の遅延があります。

一方、プロミスキャスモードを使うと、①の段階で検出できます。感覚としては3倍速い感じです。

この速さは注目に値します!
ぜひ、プロミスキャスモードを用いたESP8266でのAmazon Dash Buttonのイベント取得 にいいね!をたくさんして、もっと注目されてほしいと思っています。

#応用例

応用例として、自作電気錠に組み込んで開けてみました。

MOV_0804.gif

この自作電気錠は第1回みんなのラズパイコンテスト技術賞をいただいたもの(の後継品)です。

Akerunの中の人(CTO)が作ったモノ http://akerun.hateblo.jp/entry/2016/12/10/094549 と比べると低遅延なことが分かると思います。

尚、このボタンを選んだのは、ローリングストック法、あるいは日常備蓄をちゃんとやるため、正しくAmazon Dash Button を使っていくためにフルグラを選んでいます。

#セキュリティ

低遅延な分、セキュリティがガバガバです。コード上にSSIDやWAPキーがないのです。第三者にMACアドレスを知られると鍵を開けられてしまいます!

日常的にコレを使っていたらMACアドレスを知られてしまうのは時間の問題でしょう。

というわけで、応用例としてはダメな例でした。

しかし、セキュリティが緩くても低遅延であることのほうが重要なケースもあると思います。遅延が気になってた方は再検討してみてください。

21
15
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?