外出中にインターネットからおうちに通信する方法は以下のようなパターンがある。
- 自宅ルータに直接アクセス
- インターネットのサーバを介してアクセス
1の場合、自宅のISPがグローバルIPアドレスを配ってくれる事が条件になる。またDDNSなどでIPアドレスを知る方法も必要になる。アクセスする方はセキュリティを確保するためにsshやVPNなど高度な設定が必要になるので、一般向けではない。サービスとして提供するのはほぼ不可能である。
2の場合はなんらか自宅内にインターネットのサーバとのトンネルを行うデバイスを置いて、サーバーを経由して、そのトンネルを通り自宅内にアクセスする。持続的ななトンネルや、ポーリングによる情報通信などが考えられる。通信は外から内向きだが、IPセッションは外から内はアクセスできないケースがほとんどなので、内から中継サーバに張る必要がある。1と違ってグローバルIPやDDNSなどは必要ない。この類いのサービス提供はおそらくこちらのタイプが多いと思われる。このタイプの場合、サーバがサービスを中止したり、提供会社が無くなったりするとサービスが使えなくなるので注意が必要です。realvncなどがこのパターンになります。
どちらにしてもセキュリティには十分に注しなければならない。たとえ勝手にアクセスされても困るものは無いとしても、不正アクセスの足場にされる可能性もある。
さて、自宅内にアクセスしたい理由はどのような事があるだろうか?
- 照明やエアコンを付けたり消したりしたい
- 自宅のPCのデータが欲しい
- 自宅の状況を知りたい
帰宅前にエアコンを付けておきたいとかあるかもしれませんが、もし部屋のドアが開いていたりしたら意味なくないですか。ドアも自動化するとかやってくと、きりがない気がしてきます。またタイマー機能があればそれで十分なケースも多いと思います。
昔は自宅のハードディスクをアクセスしたいとかありましたが、いつ必要になるか分からないのに常時起動が必要になりあまり現実的ではない上に、今はDropboxなどにデータ置いてあれば、自宅へアクセスする必要はありません。クラウドの利用が進んでニーズは減っていると思われます。
自宅の状態を知りたいというケースは、例えば火事になた状況を知ることができてもあまり嬉しくないと思いますし、近所にもわかるように普通の火災報知器をつけるべきです。
実はあまり万人に必要な話は無いのかもしれない。10年くらい前からこの手のサービスは出てきていたが、いろいろクローズしてしまっているような気がする。(Ex. Docomo ケータイホームシステム, JCOM 安心見守りサービス)
最近のIoTとかでこの手の話がむしかえされているのがとても滑稽に思える。
とは言えニーズが小さいながら存在するので、ビジネス規模を小さくしてコストもかけずに続けている企業もあるようだ。
実現できる事に対しての、サーバーなどのコストやセキュリティの検討などコストが大きく、あまりうまいもうけ話は無いような気がする。
ちょっと昔話を書くと2000年くらいにISDNルーターを受けの設定してradiusサーバ立てて、PHSを使ってPIAFSで自宅のネットに入れるようにしていました。今考えるとよっぽど暇だったんだなとか思ったりします。
インターネットからもsshで入れるようにしてあって、二つ入り口があり理想的な状況でした。
追記:Twitterで見かけたのだが「ネットワークカメラから中国語が聞こえてきた」という話があった。これは悪意がある不正アクセスか、何らかの不具合で中継サーバで混線が発生したなどが考えられる。この手のサービスは自宅の鍵を預けているような物なので、中継サーバの信頼性が分かるような案内が必要なのかもしれない。(2017/8)
2の方式でも家庭内の機器とスマホで公開鍵交換をして、中継サーバはあくまで低レイヤーでの中継だけを行うようにするのが良い気がする。利便性が下がるかもしれないが、安全性の向上にはなるのではないだろうか。
2の方式で、内からサーバまでの接続がパーマネントではなくポーリングの場合、処理にタイムラグが発生する。通信なのでタイムラグは必ず発生するが、ポーリングが間隔が用途によって問題になる事も考えられる。
サービスの案内でシステム構成を説明している所は少ない気がする。いらぬ不安を持たれないためとか、攻撃されないようにとか、いろいろ考えはあるのだろうが、お金をもらうサービスを行うのであればしっかり説明すべきだと思う。
象印がみまもりほっとラインというサービスを2001年からおこなっているそうだ。利益はあまり出ていないが、社会的貢献の一環としておこなっているというような話をどこかで読んだ。
あるペット用の見守りカメラの取説を読んだところIPv4のグローバルアドレスでルーターがUPnPに対応している必要とのころ。これは最初の図の1番のパターンでUPnPでポートフォワードを設定してスマホから直接自宅に入れるようにしているのかもしれない。しかし何らかのサーバーを介して情報のやりとりもしているものと思われる。
外部から自宅内の機器の設定を行うtr069という規格があるようだ。
何らかの障害があったときに対応するすべがなくなる可能性があるので、クリティカルな用途には向かない。
PHSが使えた頃はインターネットからのアクセスのほかにPIAFS経由での入り口がつかえたので、入り口がシングルポイントフェールチャにならなかったのだが、PHSが無くなってインターネットからのアクセスだけになり、万が一への対策が難しくなっている。
ソフトウエアの障害ももちろんありますが、落雷などで停電することもあります。このとき、PCなどをサーバーとして使っている場合はBIOSの設定で電源復旧時にONにする設定をしておく必要があります。ただ、停電の場合正規の手順でのshutdownにならないので、電源復旧時に再起動してもfsckなどで引っかかって、正しく起動できないケースもありますので、注意してください。
フリーのDDNSサービスを使っていたのだが、サービスが停止してしまったことがあった。ISPがずっと同じIPをふってくれていたのでことなきをえたが、IPアドレスがわからなくなるとアクセス不能になので、注意が必要です。
要求リソースが長期的な視点では変わっていくので、それに対応していくのは非常に困難な気がした。
家族がいて自宅に誰かいる状態であれば、不測の事態が起きても対応できるかもしれないが、完全に無人になるようなケースでは、できなくなっても問題が無いような使い方が良いような気がします。
TP-Linkのスマートスイッチ(HS105)を買ってみたのだが、公式アプリでは上記の2のタイプのアクセスになり、セキュリティ上の懸念があるために、自前の制御プログラムを用意して1でつかえるようにしてみた。
バックアップ回線を用意しても、自宅内の機器が故障したらどうしようもない。クラウドが発達したので、必要なくなりつつあるのかもしれない。