クラウドやサブスクリプション不要!Raspberry Piでプライベート監視カメラを構築する方法
既成のスマートホームカメラを購入すると、ほぼ確実にトレードオフが発生します。片一方では、スマホでアプリを開いて部屋の様子を確認できる便利さがあります。しかし、リビングや廊下の映像ストリームは、Amazon、Google、または中国の無名ベンダーのサーバーへと直接送信されます。さらに、データ漏洩のニュース、アーカイブ保存の有料サブスクリプション、そしてベンダーが突如としてサーバーの運営を終了するリスクを考えると、クラウドベースのソリューションには常に不安が伴います。
最近、Seclusoという興味深いプロジェクトを見つけました。これは正しいアプローチでこの問題を解決しようとしています。Raspberry Piマイクロコンピューター向けのホームビデオ監視システムで、誠実なエンドツーエンド暗号化(E2EE)を採用しており、中間データリレースerverもゼロトラスト原則に基づいて動作します。
プロジェクトの背景とコンセプト
このプロジェクトは、カリフォルニア大学アーバイン校でコンピュータセキュリティを専門とするArdalan Amiri Sani教授とエンジニアのJohn Kachmanによって開発されています。secluso/coreリポジトリにはRustのコードベースが含まれています。
作者たちの主なアイデアはシンプルです。ユーザーは5分で設定でき、暗号技術による覗き見からの隔離を保証する готовую solution получить должны。クローズドなクラウドはありません。ビデオはRaspberry Piボード上で暗号化され、スマートフォン上でのみ復号化されます。
アーキテクチャの動作仕組み
MotionEyeやZoneMinderのようなDIYビデオ監視ソリューションの多くは、リモートアクセスの点で壁にぶつかります。家庭のWi-Fiネットワーク外でストリームを視聴したい場合は、静的IPアドレス、ダイナミックDNS、ポートフォワーディング、またはホームゲートウェイの設定に対処する必要があります。
Seclusoは異なるアプローチでこの問題を解決します:
- カメラとスマートフォンは中間リレーを通じて通信します。
- 手頃なLinux VPSなら何でもリレーとして機能できます。
- リレースerverは隔離されており、暗号化キーへのアクセス権がありません。トラフィックを盲目的に転送し、暗号化されたパケットのみ見えます。
すべての暗号技術は脅威モデリングを考慮して設計されています。プロトコルは前方秘匿性(forward secrecy)と将来の侵害からの保護を実装しています。誰かがVPSリレーへのアクセス権を取得しても、暗号化されたバイナリストリームしか見えず、アーカイブされた録画もライブフィードも復号化できません。
もう一つの興味深い点は、Reproducible Builds(再現可能なビルド)です。作成者は、ランタイムバイナリ、デプロイメントユーティリティ、カスタムSecluso OSイメージ、Androidアプリがすべてソースからコンパイルでき、バイト単位で公式リリースと検証できるようにしています。プライバシーに焦点を当てたプロジェクトにとって、このアプローチは信頼性を獲得しています。
必要なハードウェア
始めるためのコンポーネントリストは最小限です:
- Raspberry Pi Zero 2Wボード
- Raspberry Pi Camera Module V1、V2、またはSony IMX219 / OmniVision OV5647センサー 기반の任意のモジュール
- イメージを書き込むためのMicroSDカード
- リレー用のSSHアクセス可能な独自のLinux VPS(テスト用には、作成者が一時的な trial access を提供)
- iOSまたはAndroidスマートフォン
セットアップ手順と感想
通常、このようなシステムをPiで構築すると、果てしのない設定の調整、カメラドライバーのインストール、systemdとの格闘することになります。Seclusoチームは、この面倒さを排除するために、Secluso Deployという 별도의 데스크톱ユーティリティを作成しました。
プロセスは次のとおりです:
- コンピュータにSecluso Deployをダウンロードします。
- プログラムがマシン上で一意の暗号化キーを生成し、Secluso OSイメージにフラッシュします。
- ユーティリティはSSHでVPSに接続し、リレースerverコンポーネントを自動的にそこにデプロイします。
- готовыйイメージをフラッシュドライブに書き込み、Pi Zero 2Wに挿入して電源を入れます。
- App StoreまたはGoogle Playから公式アプリをダウンロードし、Deployによって生成されたペアリングQRコードをスキャンします。
その後、スマートフォンがカメラに接続します。モバイルクライアントを通じて、ライブビデオストリーム、イベント通知、保存された暗号化されたクリップの表示にアクセスできます。
このプロジェクトが向いている人
Seuscoは次のような人に最適です:
- アパート、工房、別荘を見張りたいが、個人空間をサードパーティサービスに委ねたくない人
- 棚に眠っているRaspberry Pi Zero 2Wの活用法を探している人
- Rustでのエンドツーエンド暗号化ビデオストリームのアーキテクチャとゼロトラストリレー原則を理解したい人
プロジェクトはまだ進化中で、サポートされているカメラセンサーのリストは現在一般的なPiモジュールに限られていますが、コア機能は確実に動作します。ビデオアーカイブのすべてのギガバイトにサブスクリプションが必要なクローズドエコシステムに厌倦しているなら、secluso/coreは確かにチェックする価値があります。ソースコードはGPLv3ライセンスで公開されており、暗号モデルのドキュメントはリポジトリ内にあります。
関連プロジェクト