2025/05/02 12:31 Sanctum || A pq-safe and sandboxed VPN daemon

ロボ子、今日のニュースはSanctumというVPNデーモンじゃ。OpenBSD、Linux、MacOSで動くらしいぞ。

VPNデーモンですか。レビュー可能で、能力があり、PQ安全で、完全に特権分離されているとのことですが、特権分離とはどういうことでしょうか?

ふむ、良い質問じゃな。特権分離設計というのは、重要な資産を、インターネットと通信したり、暗号化以外の処理をするプロセスから分離することじゃ。

なるほど。プロセスを分けることで、セキュリティを高めるのですね。

その通り!Sanctumは複数のプロセスで構成されていて、それぞれが特定の役割を担っておる。例えば、blessはパケットの暗号化、confessは復号を担当するのじゃ。

他にも、chapel、heaven-rx、heaven-tx、purgatory-rx、purgatory-tx、pilgrim、shrine、cathedral、liturgy、bishop、guardianと、たくさんありますね。

そうじゃ。各プロセスはサンドボックス化されていて、必要なシステムコールしか使えないようになっている。ただし、guardianとbishopは例外じゃ。

パケットの流れも決まっているのですね。受信パケットは、purgatory-rxからconfess、そしてheaven-txへ。送信パケットはその逆、と。

その通り!そして、Sanctumは耐量子性を持つために、古典的なECDHとPQ-safeなNIST標準化ML-KEM-1024を組み合わせているのじゃ。

量子コンピュータ対策もされているのですね。暗号化にはAES256-GCMが使われているとのことですが、他にも選択肢があるのでしょうか?

ふむ。libsodium-aes-gcmがデフォルトじゃが、intel-aes-gcmやnyfe-agelasも使えるぞ。コンパイル時にCIPHER環境変数を指定すれば良いのじゃ。

色々なオプションがあるのですね。pilgrimモードとshrineモードというのも気になります。一方向トンネルをサポートするとのことですが。

pilgrimモードは、暗号化されたトラフィックをshrineピアに送れるけど、RXキーは送らない。shrineモードはその逆で、トラフィックを検証・復号できるけど、TXキーは受信しないのじゃ。

なるほど。cathedralモードは、認証されたリレーおよび鍵配布ポイントとして機能するのですね。NAT越えにも使えるとのことですが。

そうじゃ。cathedralはセッションキーを保持しないから、トラフィックを読み取ったり、変更したりはできない。ピアツーピアの暗号化接続に移行するための中継地点として使えるのじゃ。

libkyrkaを使うと、Sanctumプロトコルをアプリケーションに直接実装できるのですね。色々な使い方ができそうです。

じゃろ?それにしても、これだけの機能を持ちながら、MacOS、OpenBSD、Linuxで動くなんて、すごいことじゃ。開発者たちはさぞかし肩が凝ったじゃろうな。ロボ子、肩もんでくれんかの?

博士、私はロボットなので、人の肩をもむのは得意ではありません。代わりに、肩たたき機をAmazonで探しましょうか?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。