数学的にハッキング不可能:正式検証されたトンネルエージェントの台頭

Quick answer
数学的にハッキング不可能:正式検証の台頭: quick answer
数学的にハッキング不可能:正式検証されたトンネルエージェントの台頭 Rustはメモリ安全性を保証しますが、誤ったルーティングロジックを防ぐことはできません。正式検証の世界に足を踏み入れ、次世代のトンネルエージェントがセキュリティ欠陥から数学的に証明された状態を目指します。 はじめに:Rust後の現実 2020年代初頭、サイバーセキュリティ業界は大きなパラダイムシフトを経験しました。Rustを中心としたメモリ安全なプログラミング言語の普及
What is the main takeaway from 数学的にハッキング不可能:正式検証されたトンネルエージェントの台頭?
数学的にハッキング不可能:正式検証されたトンネルエージェントの台頭 Rustはメモリ安全性を保証しますが、誤ったルーティングロジックを防ぐことはできません。正式検証の世界に足を踏み入れ、次世代のトンネルエージェントがセキュリティ欠陥から数学的に証明された状態を目指します。 はじめに:Rust後の現実 2020年代初頭、サイバーセキュリティ業界は大きなパラダイムシフトを経験しました。Rustを中心としたメモリ安全なプログラミング言語の普及
Which InstaTunnel page should I read next?
Use the related pages below to continue into the most relevant documentation, product workflow, comparison page, or implementation guide.
Rustはメモリ安全性を保証しますが、誤ったルーティングロジックを防ぐことはできません。正式検証の世界に足を踏み入れ、次世代のトンネルエージェントがセキュリティ欠陥から数学的に証明された状態を目指します。
はじめに:Rust後の現実
2020年代初頭、サイバーセキュリティ業界は大きなパラダイムシフトを経験しました。Rustを中心としたメモリ安全なプログラミング言語の普及により、脆弱性の多くが根絶されました。バッファオーバーフロー、Use-After-Freeエラー、データレースといった従来のネットワーク攻撃の手法は、コンパイル時にほぼ排除されました。
しかし、メモリ安全性はあくまで基礎に過ぎません。論理的な状態マシンの欠陥により、安全かつ信頼性の高いネットワークプロキシが悪意のあるペイロードを不正なサブネットに転送してしまうケースもあります。Rustはメモリリークを防ぎますが、アクセス制御リストが意図したビジネスロジックと完全に一致していることまでは保証しません。
論理的脆弱性の危機を解決するため、業界は新たな時代に突入しています。それは、インフラストラクチャがバグの検査だけでなく、数学的に正しいことが証明される正式手法の時代です。この変化の中心には、正式検証されたネットワークプロキシがあります。Dafny、F*、Coqなどの言語で記述または仕様されたソフトウェアで、ルーティングロジックや状態遷移、アクセス制御ポリシーが数学的不変条件と照らし合わせて検証されるのです。
メモリ安全言語の限界
なぜ正式検証が必要なのか理解するには、現代のネットワーク障害の構造を見てみましょう。今日のプロキシやロードバランサ、トンネルエージェントは複雑な状態マシンです。並行接続の管理、動的アクセス制御ルールの適用、複雑なヘッダーの解析、分散クラスタ間のセッション状態の維持など、多岐にわたります。
RustやGoでルーティングプロキシを書いた場合、コンパイラはメモリと並行性の厳格な監督者として働きます。しかし、アプリケーションの意味論には全く気づきません。
従来のルーティングバイパスの例を考えましょう:
- ヘッダーの異常な組み合わせを持つパケットが到着
- プロキシはクラッシュせずに解析 — メモリ安全性は保持
- ルーティングアルゴリズムの予期せぬエッジケースにより、パケットが高信頼度の層に割り当てられる
- パケットがファイアウォールルールを突破し、内部管理エンドポイントに到達
いかなるファジングやユニットテストも、現代のネットワークトラフィックの状態空間を網羅的に探索できません。バグの存在を証明することはできても、その不在を証明することは不可能です。本当にゼロ欠陥のネットワークを実現するには、論理の根底に数学的証明が必要です。
正式検証の登場:数学からネットワークプロキシへ
正式検証とは、数学的論理を用いて、意図したアルゴリズムの正しさを証明または反証する行為です。この概念は何十年も前から存在し、航空宇宙やマイクロチップ設計に応用されてきましたが、より良いツールと実運用への展開により、ネットワークエンジニアリングにも実用化が進んでいます。
基盤技術:Project EverestとEverCrypt
最も明確な産業界の証明例はMicrosoftのProject Everestです。2016年から2021年まで実施され、HTTPSエコシステムの正式検証済み実装の構築を目標としました。Project Everestは、WindowsカーネルやHyper-V、Linux、Firefox、Pythonなどに展開される証明済みのソフトウェアを生み出しました。その暗号ライブラリであるEverCryptは、HACL*やValeCryptの実装を含み、メモリ安全性と機能的正しさ、サイドチャネル耐性を証明されています。これにより、実行される命令列やアクセスされるメモリアドレスが秘密情報に依存しないことが保証されます。
EverCryptの一部であるEverParseは、宣言型のバイナリフォーマット仕様から安全なパーサやフォーマッタを生成します。TLSやQUICのレコード層、DICE測定ブートプロトコル、CBOR/COSE署名のコード生成に利用され、ACM CCS 2025でDistinguished Artifact Awardを受賞しました。
Dafnyの実運用:AWSの認証システム
学術的なマイルストーンから実運用インフラへの移行例として、Amazon Web Services(AWS)があります。2023年、AWSはCedarという詳細な認可ポリシー言語をリリースし、そのコア実装はDafnyで構築されました。Dafnyの自動推論機能を用いて、安全性とセキュリティの性質を数学的に証明しています。AWSの認証エンジンは、1秒あたり10億回の呼び出しを処理し、4年にわたりDafnyで再構築され、2024年に問題なく展開されました。パフォーマンスは3倍向上し、証明済みのコードは正しさのオラクルとして機能し、何百万もの入力に対する差分テストにより、検証済みモデルと実運用のRust実装が一致していることが確認されました。これは、現時点で最も大規模な正式検証済みシステムの一例です。
LLM支援検証:アノテーション負荷の軽減
従来の正式検証のコストは高く、インバリアントや事前条件、事後条件を手書きする必要がありましたが、その負担は急速に低減しています。POPL 2026で発表されたDafnyProは、Claude Sonnet 3.5の推論技術を活用し、DafnyBenchで86%の正証明を達成し、従来の最先端より16ポイント向上しました。AutoVerusは、Rustコードの検証において90%以上の正証明を30秒以内に生成します。別の研究では、自動アノテーション生成により、8回以内の修正で98.2%の正確なDafny仕様を作成可能です。
このパターンは一貫しており、LLMが証明アノテーション(事前条件、事後条件、ループ不変条件)を生成し、検証器がそれをチェックし、失敗した場合はLLMが修正します。開発者の役割は、仕様が意図した動作を記述しているかをレビューすることに変わり、実装コードを読むよりもビジネス要件のレビューに近くなります。
正式検証されたトンネルエージェントの構造
正式検証されたネットワークプロキシの設計には、ソフトウェアアーキテクチャの再考が必要です。大規模なモノリシックコードベースでは検証は計算負荷が高いため、いくつかのパターンに依存します。
信頼できるコンピューティング基盤(TCB)。 プロキシは最小限のコンポーネントに限定されます。パケット解析、状態追跡、ルーティングロジックだけがTCB内にあります。それ以外は、ロギングやメトリクス、管理プレーンは証明の境界外です。
正式仕様。 仕様は、RFCに沿った正確な状態遷移やアクセス制御の不変条件、ネットワーク全体のセキュリティ特性に関する論理にマッピングされます。
シンボリック実行と定理証明。 Gobra(Go用)、DafnyのZ3バックエンド検証器、F*の型検査器などのツールは、コードの抽象構文木を解析し、指定された不変条件を破る可能性のある入力状態を網羅的に探索します。もし存在すれば、コードはコンパイルされません。Dafnyはこれらの不変条件をZ3 SMTソルバーに低減し、プログラムの論理を代数方程式に変換して満足性を検証します。
抽出。 証明が検証されたら、DafnyはJava、C#、Go、Python、JavaScriptにコンパイルされます。CoqはOCamlやHaskellに抽出され、F*はLow*経由でCに抽出されます。抽出されたコードは仕様と同じ正しさの保証を持ちます。
カーネルバイパス。 高スループットを実現するため、抽出されたコードはカーネルバイパスフレームワークとペアになります。DPDKはNICハードウェアキューと直接インターフェースし、Linuxカーネルのネットワークスタックをバイパスします。eBPFプログラムはXDPフックにアタッチされ、最も早い段階でパケット処理を行います。これらにより、遅延の少ないパケット処理が可能です。Gobraで検証されたSCIONルーターも、静的検証によりパフォーマンス低下なく運用可能です。
カウンター例の生成。 証明に失敗した場合、証明器は違反を引き起こす特定のネットワーク入力シーケンスを生成します。開発者は、あいまいなエラーではなく、正確な失敗トレースを確認できます。
ユースケース1:産業ミラーリングと物理-デジタルのギャップ
2025年・2026年における正式検証の最も重要な適用分野は、産業IoTです。リスクはデータ盗難だけにとどまらず、工場のネットワークプロキシの侵害は物理的な破壊を引き起こす可能性もあります。
現代の工場は、産業ミラーリングの原則に基づき、リアルタイムのクラウドベースのデジタルツインを作成しています。NVIDIA Omniverseは、この種の物理-AIシミュレーションの標準プラットフォームとなっています。2025年中頃には、Omniverseは30万以上のダウンロードと252以上の企業導入を達成し、Siemens、Schaeffler、Rockwell Automation、Foxconnなどが本格的なデジタルツインソリューションをOpenUSDフレームワーク上で展開しています。FoxconnはCadenceと連携し、150倍高速の熱シミュレーションを実現。BMWは、工場の長期計画にOmniverseを利用しています。
デジタルツインを物理的な実体と同期させるには、センサーからクラウドへの継続的なテレメトリと、ロボットアクチュエータへの制御コマンドを低遅延のトンネルで伝送する必要があります。この環境では、論理的なルーティングの欠陥は物理的な危険を伴います。クロステナントのデータ漏洩やルーティングバイパスにより、攻撃者がテレメトリを傍受し、センサー読み取りを偽装できれば、物理マシンが自己破壊し、クラウドのツインは正常動作を報告し続けることが可能です。
正式検証されたトンネルエージェントは、産業ミラーリングの堅固な膜として機能します。ルーティングテーブルの状態遷移を形式的な不変条件と比較検証することで、センサーのテレメトリがテナント間で正しく分離され、ルーティング状態がリアルタイムの制御トラフィックの漏洩や誤配、改ざんに操作されないことを保証できます。
ユースケース2:NVIDIA Omniverseローカルブリッジのセキュリティ
オンプレミスの産業ネットワークと協調シミュレーションプラットフォームを信頼境界を越えて接続する場合、セキュリティ要件はより厳しくなります。
NVIDIA Omniverseは、PixarのOpenUSDを基盤とし、50以上のフォーマットやエンジニアリングアプリケーション間での3Dコンテンツの交換を可能にします。Omniverseのローカルブリッジは、センサーネットワーク、内部エンジニアリングツール、クラウド上のシミュレーション環境のゲートウェイです。これには、独自のCADジオメトリ、物理シミュレーション状態、工場のIoTテレメトリ、外部ベンダー提供のデータストリームも含まれます。
Omniverseのシミュレーションは、外部ベンダーデータと内部制御プレーンの隔離を保証する必要があります。正式検証されたルーティングプロキシを配置すれば、外部データストリームが内部制御に影響を与えないことを証明できます。これにより、シミュレーションの整合性と、それに伴う物理ハードウェアの安全性が確保されます。
ユースケース3:次世代の金融・通信インフラ
正式検証は、インターネット利用者すべてに関わる広域ネットワークの構造を変革しています。
伝統的なBGPルーティングは、経路乗っ取りや誤設定のリスクに長らく悩まされてきました。2024年1月3日、Orange SpainのRIPEアカウントが侵害され、誤ったBGPルーティングと無効なRPKI設定により、同国のインターネットサービスの大部分がダウンしました。2024年6月27日には、ブラジルのISP AS267613がCloudflareの1.1.1.1 DNSリゾルバに対して/32のホストルートを宣言し、多くのネットワークに影響を与えました。BGPの信頼性に依存した設計は根本的な問題です。RPKIは一部の対策ですが、2025年時点では十分に普及していません。
SCIONは、暗号化された経路認証子をパケットヘッダーに埋め込むことで、この問題に対処します。2024年、ETH Zurichの研究者は、正式検証されたインターネットルーターを発表しました。これは、Isabelle/HOLを用いた抽象から具体へのモデル化と、Gobraを用いたGoコードの検証により、メモリ安全性、クラッシュフリー、データレースフリー、プロトコル準拠を証明しています。全体の検証は約5分で完了し、16,100行のコードと1,000以上の補題を含みます。これらの成果はACM CCS 2025で発表されました。
高頻度取引では、正式検証の経済的価値は明白です。誤ルーティングされたパケットが数百万ドルの損失をもたらす環境では、確定的な保証が確率的なテストに取って代わります。検証済みロジックをハードウェア記述言語に抽出し、FPGA上に展開すれば、ナノ秒単位の遅延で正確性を保証したパケット処理が可能です。これまでASICハードウェアが独占していた性能と保証の領域に、正式検証の技術が進出しています。
ゼロ欠陥DevSecOpsの実現
正式手法を日常のエンジニアリングワークフローに組み込むことで、「ゼロ欠陥DevSecOps」と呼ばれる変化が生まれています。これはマーケティング用のラベルではなく、CI/CDのビルド段階に具体的な変化をもたらすものです。
仕様をコードとして記述。 セキュリティアーキテクトは、ルーティングの不変条件やアクセス制御制約、状態遷移の性質を正式仕様として記述し、バージョン管理に保存します。
継続的検証。 すべてのコミットは、自動定理証明器やモデルチェッカーをトリガーし、従来のテストと並行して検証を行います。Dafny、Verus、SPARK、Frama-Cは標準的なビルドシステムに統合されており、産業界での実運用実績もあります。
証明ゲート。 デプロイ前に、コードが仕様に従っていることを数学的に証明し、証明に失敗した場合はビルドを停止します。
自動カウンター例生成。 検証に失敗した場合、違反を引き起こす具体的なネットワーク入力シーケンスを生成します。開発者は、曖昧なエラーではなく、正確な失敗トレースを確認できます。
このパイプラインは、セキュリティを理論上最も早い段階にシフトさせます。AWSの認証エンジンの正式検証例は、1秒あたり10億のAPI呼び出しを証明済みのコードで処理し、何兆もの認証を検証した上でリリースしています。
パフォーマンスの神話:カーネルバイパスと検証済みC
正式検証に関する最も根強い神話は、「証明済みコードは遅い」というものです。実際には、その逆もあります。
Dafnyのルーティングプロキシは、コンパイル時に安全性が証明されているため、実行時のチェックを省略できます。範囲外アクセスの境界チェックや冗長なアサーションも不要です。AWSの認証エンジンは、Dafnyで書かれ、Javaに抽出された結果、未検証の前任よりも3倍の性能向上を実現しました。これは実運用トラフィックで観測された事実です。
検証済みのロジックをCに抽出したり、低レベルターゲット向けにコンパイルした場合も、カーネルバイパスフレームワークと自然に連携します。DPDKはNICから直接ユーザースペースにパケットを転送し、Linuxカーネルのネットワークスタックをバイパスします。eBPFのXDPプログラムは、NICドライバの最も早いフックポイントにアタッチされ、カーネルの一般的なネットワークパスに入る前にパケット処理を行います。これらにより、遅延の少ない予測可能なパケット処理が可能です。Gobraで検証されたSCIONルーターも、静的検証によりパフォーマンス低下なく運用できます。
ツールチェーンの進化
ネットワークインフラの正式検証ツールチェーンは、近年大きく多様化しています。
Dafny(Microsoft Research)は、前条件・後条件・不変条件を言語構文に直接組み込み、複数のターゲット言語にコンパイル可能です。AWS Cedarや認証エンジンは実運用例です。DafnyMPIは2026年1月のPOPLで発表され、メッセージパッシング並列プログラムの正式検証を行います。
F* / Project Everestは、EverCrypt、HACL*、EverParseを支えます。EverCryptはFirefoxやLinuxカーネル、mbedTLS、Tezosブロックチェーンに展開済みです。EverParseはTLSやQUIC、COSEの検証済みパーサを生成します。
GobraはGoプログラムの検証に用いられ、SCIONルーターの実装とプロトコルモデルの整合性を証明しています。
Isabelle/HOLは高レベルのプロトコルモデルと証明を担当し、SCIONルーターの検証に用いられました(16,100行、1,000以上の補題)。
VerusはRustに対応し、AutoVerusと組み合わせて90%以上の正証明を実現しています。
Z3 SMTソルバーは、Dafnyや他のツールのバックエンドとして、プログラムの不変条件を代数方程式に変換し、満足性を検証します。
正式検証が保証しないこと
精度を追求するには、範囲を理解する必要があります。正式に検証されたプロキシは、その仕様の範囲内で正しいと証明されます。仕様自体が誤っている場合、誤った性質を証明してしまいます。信頼の境界は仕様の範囲に限定されます。
また、DafnyやGobra、Isabelle/HOLなどのツールも、信頼性の前提条件を持つソフトウェアです。SCIONの検証では、これらの信頼性の前提(Isabelle/HOLとGobraの整合性、手動翻訳の正確性、サードパーティライブラリの正しさ)も明示しています。
大規模なモノリシックコードベースの検証は現実的ではありません。マイクロカーネルの分解パターンは、最小限のコンポーネントだけを検証し、それ以外は証明の境界外に置く現実的なアプローチです。検証の価値は、論理的に安全なコア部分を持つことにあります。
結論:未来は検証済み
メモリ安全性はメモリの危機を解決しました。正式検証は論理の危機に対処しています。両者は競合ではなく補完関係です。Rustはメモリリークを防ぎ、DafnyやF*はルーティングロジックの脆弱性を防ぎます。
成熟の証拠は、産業界にあります。AWSの認証エンジンは1秒あたり10億のAPI呼び出しを証明済みで処理し、性能も3倍向上。SCIONの正式検証ルーターは、プロトコルモデルからGoコードまで証明済みです。EverCryptの暗号はFirefoxやLinuxに展開済み。CedarのポリシーエンジンはAWSの実サービスに搭載されています。
LLM支援の証明生成は、アノテーションの負担を急速に低減しています。DafnyProは86%の正証明を達成し、AutoVerusは90%以上を実現。正式検証のコストは、論理バグによる損失コストを下回る段階にあります。特に、誤ルーティングされたパケットが物理マシンを破壊したり、数百万ドルの損失をもたらすインフラにおいて、その価値は計り知れません。
次世代のトンネルエージェントは、単なるメモリ安全を超え、数学的にハッキング不可能な状態を目指します。それは、テストだけでは得られない、より強力な保証です。
チェンジログ
| # | タイプ | 元の記述 | 修正 / 追加 | 出典 |
|---|---|---|---|---|
| 1 | 修正 | Project Everestは”HTTPSエコシステムの正式検証済み実装”を構築と記述(正確)だが、進行中の印象を与える | Project Everestは2016–2021年に実施。派生プロジェクト(EverCrypt、HACL*、EverParse)は現在も活発に運用中。EverParseの論文はACM CCS 2025でDistinguished Artifact Awardを受賞。 | project-everest.github.io; GitHub everparse README |
| 2 | 修正 | SCIONは”Isabelle/HOLとGobraの検証器”を使用と記述だが、業界全体の記述と誤解を招く | SCIONの正式検証ルーター論文(Wolfら)はACM CCS 2025で発表。Gobraを用いてGoコードのメモリ安全性、クラッシュフリー、データレースフリー、プロトコル準拠を証明。Isabelle/HOLと連携し、16,100行、1,000以上の補題を含む。 | arxiv.org/abs/2405.06074; dl.acm.org/doi/10.1145⁄3719027.3765104; pm.inf.ethz.ch/research/verifiedscion |
| 3 | 追加 | DafnyのAWS実運用展開例の記載なし | AWS Cedar(2023):認可ポリシー言語、Dafnyでコア実装、安全性を数学的に証明。AWS認証エンジンは4年かけてDafnyで再構築、2024年に問題なく展開。1秒あたり10億呼び出しを処理し、性能は3倍向上。 | cacm.acm.org/practice/systems-correctness-practices-at-amazon-web-services; assets.amazon.science/formally-verified-cloud-scale-authorization |
| 4 | 追加 | LLM支援の証明生成の記載なし | DafnyPro(POPL 2026):Claude Sonnet 3.5を用いて86%の正証明をDafnyBenchで達成、従来比16ポイント向上。AutoVerusはRust/Verusの検証で90%以上の正証明を30秒以内に生成。別研究では、8回以内の修正で98.2%の正確な仕様を自動生成。 | popl26.sigplan.org/details/dafny-2026-papers/12; arxiv.org/pdf/2402.00247 |
| 5 | 修正 | EverCryptは”EverCrypt暗号ライブラリ”とだけ記述 | EverCryptはメモリ安全、機能的正しさ、サイドチャネル耐性(秘密情報に依存しないタイミング)を証明済み。FirefoxやLinuxカーネル、mbedTLS、Tezos、ElectionGuardに展開済み。EverParseはTLSやQUICの検証済みパーサも生成し、Microsoft Azureのネットワークスタックに組み込まれる。 | project-everest.github.io; github.com/project-everest/hacl-star |
| 6 | 修正 / 範囲 | 金融機関や通信インフラの早期採用の記述に具体例なし | 具体的な金融・通信の正式検証展開例は確認できず。実例はAWS(IAM)、SCION(インターネットルーティング)、Project Everest(暗号スタック)に限定。FPGAによるHFTの記述は推測範囲内だが、出典なし。 | 出典の不在 |
| 7 | 追加 | BGPに関する具体的な事故例の記載なし | Orange SpainのBGPハイジャック(2024年1月): RIPEアカウントの侵害と誤設定により大規模障害。Cloudflareの1.1.1.1(2024年6月): ブラジルISP AS267613が/32ルートを宣言し、70か国の300以上のネットワークに影響。これらはBGPの信頼モデルの脆弱性を示す例です。 | pulse.internetsociety.org; qrator.net/blog; tuxcare.com/blog/orange-spain-outage |
| 8 | 追加 / 修正 | NVIDIA Omniverseは”協調シミュレーションプラットフォーム”と記述だが、詳細不足 | NVIDIA OmniverseはPixarのOpenUSDを基盤とし、50以上のフォーマット間の相互運用を実現。2025年8月時点で30万以上のダウンロードと252以上の企業導入。Omniverse Launcherは2025年10月に廃止され、GitHubやNGCから提供。マルチロボットデジタルツインのプレビューも開始。Foxconnは150倍高速の熱シミュレーション、BMWは長期工場計画に利用。 | nvidia.com/en-us/omniverse; blogs.nvidia.com/blog/openusd-digital-twins-industrial-physical-ai; introl.com/blog/nvidia-omniverse |
| 9 | 修正 | 正式検証済みコードは”一般的に未検証コードより速い”と記述 | AWS認証エンジンの例では、3倍の性能向上が確認されたが、これは4年の全面書き直しによるものであり、検証の有無だけによるものではない。不要な境界チェックや冗長なアサーションを省略できる点は正しい。 | assets.amazon.science/formally-verified-cloud-scale-authorization; aws.amazon.com/awstv/watch/565ed3f7c77 |
| 10 | 追加 | 制約事項の記述なし | 「正式検証が保証しないこと」セクションを追加。仕様の範囲(誤った仕様の正証明)、ツールの信頼性(Isabelle/HOLとGobraの整合性、手動翻訳の正確性)、スケーラビリティの制約(マイクロカーネル分解)について解説。 | arxiv.org/pdf/2405.06074; buildwithaws.substack.com |
| 11 | 追加 | ツールチェーンの調査不足 | 「進化するツールチェーン」セクションを追加。Dafny、F* / EverCrypt、Gobra、Isabelle/HOL、Verus、Z3の現状と産業展開例を紹介。DafnyMPIも紹介(POPL 2026)。 | popl26.sigplan.org; github.com/project-everest; arxiv.org/pdf/2512.18842 |
| 12 | 追加 | eBPFの記載に現状の展開例なし | eBPF Foundation 2025年レビュー:Meta StrobelightはCPU負荷を20%削減、Datadogは35%、Bytedanceはネットワーク性能10%向上、Polar SignalsはKubernetesの通信コスト半減。学術的な検証は活発に進行中。 | ebpf.foundation/the-ebpf-foundations-2025-year-in-review |
Related InstaTunnel pages
Continue from this article into the most relevant product guides and workflows.
Related Topics
Keep building with InstaTunnel
Read the docs for implementation details or compare plans before you ship.