iPhoneで「置くだけ転送」するアプリのセキュリティ(はどうあるべきか)

前の前のエントリでこう書いたんだけど

今のままだとこれBonjourのサービス名を可視光通信で送ってるだけなので、可視光通信しなくても無差別に接続しちゃうクライアントがあったら画像送っちゃう。公開するんだったらここをもうちょっとなんとかすべき

今TestFlightでテスト中のものはこれを修正済みです。
仕組みとしては、

  1. 可視光通信Bonjourのサービス名に加えてパスコードを送信
  2. 可視光通信を受信した側はそのパスコードで、相手側に接続を試みる
  3. 合ってれば接続許可、外れてたら接続拒否してパスコード変更

こうなってます。パスコードは僅かに英数字二文字なので、4096通り。PINコードみたいな4桁の数字よりちょっと弱い。可視光通信の速度速く出来たら長くしたい。
しかしながら間違ったパスコードを送ってくる奴がいたら(その間違ったパスコード以外に)変えちゃうので、総当たり攻撃は難しいかもしれない。


もっとも、画面の点滅信号を見られる人ならパスコードは分かっちゃうわけですが*1

ニコニコ動画にもうpしといたけど反応薄いNE(´・ω・`)
D

*1:アプリ内部のSaltと混ぜ混ぜしてハッシュにしたものを送ってはいますが、アプリ本気で解析すればバレるんじゃないかな