概要
- 2024年4月23日、純OCaml製CCSDSプロトコルスタック「Borealis」が地球低軌道で稼働開始
- BorealisはDPhi SpaceのClusterGate-2ペイロードモジュール内で運用、全通信はエンドツーエンド暗号化・ポスト量子鍵ローテーション対応
- OCaml採用理由は「安全性」と「高性能マルチスレッド対応(OCaml 5)」による宇宙空間での信頼性確保
- ホスト衛星は複数テナント環境、Linuxカーネル脆弱性の影響を最小化するため暗号層で防御
- 今後はJane StreetのOxCaml導入でリアルタイム処理性能・安全性をさらに強化予定
Borealis:純OCaml製CCSDSプロトコルスタックの宇宙実証
- Borealis は、 OCaml のみで実装された CCSDSプロトコルスタック の宇宙実証プロジェクト
- DPhi Space の ClusterGate-2 ペイロードモジュール上で運用
- 地上との通信は ファイルシステム経由の遅延耐性ネットワーク として実装
- uplinkディレクトリへのファイル書き込みで地上→衛星通信
- downlinkも同様にファイル転送
- BPv7バンドル 形式で全データをシリアライズし、 BPSec で暗号化・認証
- リプレイ攻撃防止のシーケンス番号、 OTARによるポスト量子鍵ローテーション 対応
- マルチテナント衛星環境 での「他テナント・運用者からの完全な秘匿性・完全性確保」
- ルーティング経路上のいかなる第三者もデータ内容を解読・改竄・偽造不可
セキュリティ設計とOCaml採用理由
- 衛星上では カーネル脆弱性(Dirty Pipe, Fragnesia, Copy Fail等) によりコンテナ分離が破られるリスク
- 再起動やパッチ適用が困難な宇宙空間 では、アプリケーション層での暗号化が唯一の防御策
- SDLS/BPSec/OTAR などのセキュリティ機能を メモリ安全なOCaml で実装
- C/C++由来の深刻なCVEの約70%が メモリ破壊 によるもの(MSRC/Chromium調査)
- NASA CryptoLibなど従来C実装にもバッファオーバーフロー等の脆弱性事例
- 型システム や GADT による状態遷移の静的検証、 EverParse/F *による形式手法パーサ生成
- 地上/衛星/テストオラクル で同一コードを利用し、相互検証・参照実装としても機能
Borealisの運用構成
- Daemonプロセス として地上・衛星双方で動作
- テレメトリ取得、コマンド受信・実行、OTAR鍵更新処理
- コマンド種別 (Ping, Check, Capture, Halt)はADTとして定義、型安全な分岐実装
- 新コマンド追加時はコンパイラが未対応箇所を検出
- OTAR鍵更新 はバイナリペイロードで暗号化、衛星内で復号・ステージング・アクティベート
- マスター鍵は事前書き込みのみ、ローテーション不可(紛失時は回復不能)
OxCaml導入による性能・安全性強化
- OxCaml (Jane Street開発)はOCaml上位互換のコンパイラブランチ
- ローカリティ でヒープ未使用のスタック割当明示
- ユニークネス・ケイパビリティ で並列処理時のデータ競合を型システムで検出
- CCSDSディスパッチのリアルタイム処理 で、GC圧力ゼロ・ジッター大幅低減
- exclave_ stack_注釈付与でp99.9レイテンシー29ns→9ns、GC回数394→0(2500万パケット処理時)
- EU ORCHIDEプロジェクト 等でのリアルタイム宇宙ソフト基盤開発経緯
OCamlの今後とBorealisの意義
- OxCaml Labs(ケンブリッジ)・FP Launchpad(IIT Madras)・Tarides がOCaml進化を牽引
- 宇宙向けソフトウェア開発で 正しさを最優先、多層防御(型検査・形式手法・相互運用テスト)
- Borealis は「安全かつ高信頼な宇宙ソフトウェア」の新たな実用モデル
- 今後の ポスト量子OTARの軌道上デモ、 OxCaml適用によるさらなる性能向上 計画