Reticulum、セキュアで匿名のメッシュネットワーキングスタック
91日前原文(github.com)
概要
- Reticulumは、暗号技術を基盤としたネットワーキングスタック
- IP非依存で、超低帯域・高遅延環境でも動作可能
- 誰でも自分専用ネットワーク構築が可能、中央管理不要
- 多様な物理層・トポロジに対応し、柔軟な拡張性
- ドキュメント・実装・ツールが豊富に提供
Reticulumとは
- Reticulumは、暗号技術を基盤としたネットワーキングスタック
- ローカル・広域ネットワーク構築を、汎用ハードウェアで実現
- 高遅延・超低帯域環境でも安定動作
- エンドツーエンド暗号化・発信者匿名性・自動設定型マルチホップ伝送
- 効率的アドレス管理・偽造不能な配信確認・多彩な機能
基本理念とビジョン
- 誰もが独立したネットワーク運用者になれる世界観
- 安価・容易に広範囲ネットワークを自作可能
- 中央管理・検閲・監視・制御のないネットワーク実現
- 自由な相互接続・分離が可能なネットワーク群
- 人間のためのネットワーク、公共性重視
技術的特徴
- IP非依存、任意の物理層で動作
- ユーザーランド実装、カーネルモジュール不要
- Python 3上で動作、幅広いシステム対応
- グローバル唯一アドレス・自己構成マルチホップルーティング
- 発信者匿名性・パケットに送信元アドレス非記載
- X25519暗号化・Ed25519署名による通信
- 前方秘匿性・パケット/リンクごとに一時鍵生成
- AES-256-CBC暗号・HMAC-SHA256認証
- 柔軟なインターフェース拡張・独自インターフェース容易作成
- 仮想ネットワーク分割・全インターフェースで認証対応
- 直感的で強力なAPI・分散/分権アプリ開発容易化
- 任意データ量の信頼性転送・自動圧縮/順序制御/チェックサム
- 効率的なリンク確立・維持(3パケット/297バイト、維持0.44bps)
参考実装とプロトコル
- Pythonリファレンス実装がプロトコル仕様の唯一の基準
- Mark Qvistによるメンテナンス
- Reticulum Licenseライセンス、プロトコル自体は2016年パブリックドメイン
- 互換性=リファレンス実装と完全な相互運用性
Reticulum応用例
- rnsh:Reticulum経由のリモートシェル
- LXMF:遅延耐性メッセージ転送プロトコル
- LXST:リアルタイム音声・信号伝送、ハードウェア電話機開発可能
- Nomad Network:オフグリッド暗号化メッシュ通信基盤
- Sideband:多機能GUIアプリ(ファイル転送、音声通話等)
- MeshChat:WebベースのLXMFクライアント、画像/音声/ファイル転送対応
利用可能な物理媒体
- 半二重/最低5bps/MTU500バイト以上の通信路で動作
- データラジオ、モデム、LoRa、シリアル、AX.25、WiFi、Ethernet、光通信
- RNode:Reticulum用LoRaインターフェース、USB接続可能
- IPネットワーク上でのトンネリングも容易
導入方法
- pipで簡単インストール:
pip install rns - pipxによる隔離環境インストール:
pipx install rns - 初回起動時に自動設定ファイル生成
- pipのアップグレード・インストールも案内
- 詳細な導入例・設定例は公式マニュアル参照
付属ユーティリティ
- rnsd:常駐サービス用デーモン
- rnstatus:インターフェース状態表示
- rnpath:経路管理・表示
- rnprobe:接続診断
- rncp:ファイル転送
- rnid:アイデンティティ管理・ファイル暗号化
- rnx:リモートコマンド実行
- rnsh:低帯域でも安定動作のリモートシェル
対応インターフェース
- Ethernet全般
- LoRa(RNode)
- Packet Radio TNC(AX.25対応/非対応)
- KISS互換モデム
- シリアル接続機器
- IPネットワーク上のTCP/UDP
- 外部プログラム・カスタムハードウェア(stdio/pipe経由)
- 独自インターフェースモジュール追加も容易
パフォーマンス
- 実用帯域幅:150bps~500Mbps(将来的に拡張予定)
- 低帯域環境優先、高帯域もサポート
- 通常ハードウェアで最大1Gbps目標
現状と安定性
- コア機能は実装済・安定
- API・ワイヤーフォーマットは安定版
- 今後も実利用を踏まえ機能追加予定
依存関係
- PyCA/cryptography等、主要依存パッケージはpip経由で自動インストール
- ほとんどのOS/ディストリビューションで容易に導入可能
公式ドキュメント・情報源
- 公式マニュアル:markqvist.github.io/Reticulum/manual/
- PDF/EPUB版マニュアルも提供
- FAQ・詳細情報:reticulum.network
- WikiのFAQセクションも参照推奨