見出し画像

ATOM Camって本当に安全なの?ネットワーク通信の仕様をわかりやすく解説

アトムテック株式会社から2,500円(税込)で発売しているネットワークカメラ「ATOM Cam(アトムカム)」ですが、インターネット接続を行った上で利用する製品です。
プライベートな映像を撮影する場合もありますので、ATOM Camと専用アプリATOMアプリがどういった仕様でどのような情報をネットワーク経由で通信を行っているかを記事にしました。

※わかりにくい箇所などがあった場合は追記等行う場合があります。

SNSやレビューでも不安の声などいただいてますので、なるべくわかりやすい解説を心がけて書かせていただきます。

画像1

⚪ATOM Camの基本的な通信について

以下はATOM Camを利用するにあたっての通信関連の全体的なイメージ図になります。
家庭で通常お使いいただいた際のルーター、スマートフォン、ATOM Camを構成するローカルネットワークとサービスを提供するサーバーの通信イメージになります。

画像2

ATOM Camを利用する際に利用するサーバーは2つあります。
1.カメラの接続情報を保存するP2Pサーバー
2.ログイン情報や12秒動画を保存するAWSサーバー

⚪ATOM CamのWi-Fiについて

ATOM CamはWPA、WPA2のWi-Fiに接続できます。現在5GHz帯域のWi-Fiがよく利用されていますが、より広い範囲に届き、壁などの障害物に影響しにくい2.4GHz帯域をATOM Camは使用します。

⚪ATOM CamとATOMアプリのP2P接続について

ATOM Camはカメラと専用アプリ間のプライベートな情報を外部から閲覧できないようにP2P接続を採用しています。
これにより、アトムテック側からはみなさんがお使いのカメラ映像は閲覧できません。
※AI人数カウントなどAI分析サーバーを経由するものに関しては例外となります。

P2Pの自動接続を行うに当たり、P2P接続用のサーバーを利用しています。
昔のP2P接続のネットワークカメラなどはアプリからカメラへアクセスする際に自分でカメラの接続IPアドレスを調べ、アプリ側に設定する必要がありました。

ATOM Camで利用しているP2Pサービスは、カメラが自分のローカルIPアドレスやポート情報などをP2Pサーバーに保存し、アプリ側からは、サーバーに保存されているカメラの情報を取得し、アクセスします。

※P2Pサーバーに保存される情報は、カメラのローカルIPアドレスやMACアドレス、ポート情報になり、個人情報やカメラで撮影された映像は含まれません。

画像3

アプリとカメラをより高速で反応させるため、カメラを起動するときや、アプリから接続する際にP2Pサーバーへ接続を行います。通信遅延が少ないサーバに優先的接続します。

アプリとカメラのP2P接続が安定して確立できなかったとき、P2Pサーバを経由で接続し、ライブ動画を閲覧する場合があります。映像データを暗号化し、カメラからP2Pサーバにデータを送り、アプリ側でP2Pサーバからライブ映像データを取得します。データを暗号化してからP2Pサーバに転送するためプライバシー情報のセキュリティは安全を担保しています。

例外もあります。P2P技術を使用しているため、会社や学校などの固定IP、VPN、イントラネットにP2P通信をブロックされる可能性があります。その場合ATOM Camがサーバへ接続できなく、状態ランプが青点滅になります。

▶初期設定接続確立後のキープアライブについて
ATOM Camはアプリとの状態を同期するため、カメラから定期的な微量の通信通信を行います。これによってアプリを毎回開き、カメラ状態を取得する際にカメラの最新状況を取得します。このキープアライブ機能は毎時間数byte程度の通信を行い、一日を通して1~2MB程度の通信となります。
キープアライブはスムーズなP2P確立に必要な機能のため、P2Pサーバーと同じサーバーを利用しています。

※P2P接続サーバーへの通信は、初期設定のデバイス登録、ライブ映像閲覧時のP2P接続確立時または安定して確立できなかったときの経由、キープアライブのときとなります。
※P2Pサーバーは日本のサーバーだけに限定することも可能ですが、海外旅行や海外出張時にもスムーズな接続を行えるよう海外のサーバーを利用する場合があります。日本国内での利用でも状況によりスムーズな確立を行える海外サーバーを選択する場合があります。

⚪アプリでの映像の読み込みについて

アプリからカメラ映像を読み込む際、まずAWSサーバーからアカウントにペアリングしたカメラの情報を取得し、この情報をP2Pサーバに転送し、カメラの接続情報を取得します。スマホとカメラが同じローカルネットワークの場合は、そのままローカルIPアドレスを使用して接続します。もしスマホとカメラは異なるネットワークの場合、インターネット経由で接続します。もちろん全ての通信は暗号化されています。

画像4

■アプリからカメラ閲覧時・通知の処理
アプリが起動していない場合には基本的には裏では何も実行していません。
以下2点の場合にネットワークを介する処理が行われます。
・カメラ側からP2Pサーバへのキープアライブ
・カメラ側で検知が発生し、動画をAWSに保存する及びアプリに通知する

▶検知動画保存と通知
通知処理はAWSクラウドサーバー上で行います。具体的というと、カメラが動体やサウンド検知した後、12秒を録画し、同時にAWSクラウドサーバーに状態を発信し、12秒動画をアップロードします。AWSクラウドサーバーでカメラからの検知を受信し、アプリにプッシュ通知を発送し、動画ファイルを保存します。

画像5

⚪カメラが通電している状態での電源オフ

カメラは通常は常時稼働ですが、アプリ内「電源オフ」というボタンがあります。
このボタンは、実際にカメラの電源を切断するではなく、スリープ状態になります。カメラの電源を完全切断するにはコンセントを抜くなどして通電を切る必要があります。スリープ状態のカメラは撮影や検知は行われていませんが、アプリからカメラをオンにできるようにサーバからオンにする信号を待っています。

⚪セキュリティについて

不正アクセスを防ぐため、ATOM Camは全ての通信が暗号化されています。そして動画データを日本のAWSに保存し、P2Pサービスも日本のサーバに優先的に接続します。
また、4.33.1.142以降のファームウェアにはデジタル署名を追加しています。「カメラを起動する」または「ファームウェアをアップデートする」際にデジタル署名を検査します。そのため4.33.1.142以降のファームウェアにアップデートすると、4.33.1.70以前のバージョンにダウングレードできなくなります。例外としてダウングレード可能の最低バージョンとして4.33.1.70の緊急修正版がありますが、このバージョンは4.33.1.70の機能プラスデジタル署名が追加されています。

⚪取得情報とプライバシー保護について

ATOM Camを利用するに当たり何の情報が取得され保存されているかについて簡単に紹介します。
サーバ:
▶AWSサーバ:
・ログイン用メールアドレス、パスワード
・アカウントとペアリングしたカメラのIDやMACアドレスなどの情報
・ログインしたデバイスの認証情報

▶P2Pサーバ:
・カメラ接続用情報(グローバルIPアドレス、ローカルIPアドレス、MACアドレス)

アプリ:(以下の情報はアプリをアンインストールすると消えます)
・自動ログイン用情報(メールアドレスやパスワード)
・接続や操作認証用情報
・カメラの登録を便利になるための、Wi-Fi名とパスワード

カメラ:
・アプリとのペアリング情報
・機能設定(モーション検知やSDカードに撮影など)
・Wi-Fi接続用情報(WiFi名とパスワードを暗号化して保存)

カスタマーサポートに連絡する際にログの提供が可能です。
このログはアプリ内で作成するものと、カメラからSDカードに保存する2つ方法で取得できます。

アプリのログではアプリの操作や、ペアリングしたカメラのIDや状態などの情報と、指定したカメラが起動してからログ取得するまでのログが含まれます。
もしアプリからカメラに接続できない、またはペアリングできない場合はアプリのログにカメラの情報は含まれていません。この場合はSDカードでログを取る必要があります。

カメラからSDカードに保存したログは、カメラに電源を入れて起動後からログ取得するまでのカメラの運行情報や、検知状態、各種設定とネットワーク状況などの情報を含みます。

どちらのログにも様々な情報を含むため、どちらの方法で取得したログも暗号化され、簡単に中身を見ることはできません。アトムテックの限られた技術者のみログを復号でき、問題の調査を行えます。
このログにはアプリとカメラの運行状態をテキスト情報で記録しています。画像やビデオデータは含まれません。ですので、アトムテック側からはカメラの画像やライブ映像データを見ることはできません。
AWS内に保存されている登録ユーザデータを触ることも禁止しています。そのため、例えばパスワードを忘れたとしても、アトムテックでパスワードをリセットすることはできません。ユーザー自身でメールアドレスを認証し変更する操作が必要です。
ですので、ユーザ情報の漏洩や、カメラへの不正アクセスを防ぐこともでき、安全性が担保されています。ATOM Camは、一般家庭のプライベートなシチュエーションでの利用を想定しているため、個人のプライバシー保護を最も重視しています。

⚪ATOM Cam及びATOMアプリのデータ保存場所

1.スマートフォン内に保存される場合
操作:ATOMアプリでカメラを選択し、「録画」や「写真を撮る」ボタンを押す。
この方法ではカメラから送った映像データをネットワーク経由でアプリに表示、その画面をそのまま撮りスマホに保存します。そのためWi-Fi信号が弱いときは画面ノイズなどを一緒に保存します。

2.カメラに挿入したmicroSDに保存される場合
操作:カメラにmicroSDカードを挿入、カメラ設定の「録画およびストレージ管理」→「microSDへのローカル録画」をオンにし、「録画モード」を「連続録画」または「モーション検知時のみ」を選択。
この方法ではカメラを常時や、モーション検知する際、SDカードに録画データを保存します。ローカルでモーション検出や録画をしますので、アプリに通知を発信しません。また、SDカード内に録画された動画はアプリ内のカメラ「録画を再生」のタイムラインに薄いオレンジ⾊で表示されます。録画モードを「モーション検知時のみ」の場合、検知がある時間帯のみ記録するので、タイムラインに薄いオレンジ⾊の線が表示されます。
また、タイムラプスの撮影はSDカードに保存しますので、カメラにmicroSDカードの挿入が必要です。

3.AWSに保存される場合
操作:カメラ設定の「検出設定」の「モーション検知」や「サウンド検出」および「火災/CO警報機音検知」いずれをオンにする必要があります。
この方法で検知した際にカメラは12秒動画を録画して、AWSクラウドサーバーにアップロードします。クラウド上で動画を保存し、プッシュ通知サービスでアプリにメッセージを送信します。


以上が、ATOM CamとATOMアプリとそれに関わるサーバーとネットワークの主な仕様となります。

安全・安心にご利用いただけるよう不明点は可能な限り開示していきたいと考えていますので、またコミュニティやSNS、レビュー、もちろんお問い合わせでいただいた内容を確認して追記または新規記事をアップしたいと思います。

今後ともアトムテックとATOM Camをよろしくお願いいたします。

☆ATOM Cam裏話
ATOM Camのパッケージデザインやサイトデザイン、キャンペーンのバナーなどはnoteやTwitterの中の人のわたしがやっています。
いろいろ手作り感満載です。
初期パッケージの「CMOS」を「COMS」と表記ミスしたのはわたしのチェック漏れです・・・

この記事が気に入ったらサポートをしてみませんか?