約1世紀半の回線交換電話の後、今日の通信システム及びネットワークは、全てこの10年以内に、イーサネット(登録商標)、WiFi、4G/LTE、及びDOCSIS3データをケーブルと光ファイバ経由で伝送するインターネットプロトコルを使用したパケット交換通信に移行した。音声、テキスト、画像、ビデオ、及びデータを一括する利点は、信頼性の高いIPパケット配信を保証するための冗長パスの使用(つまりインターネットが最初に作られた理由)とともに、比類のないレベルのシステム相互運用性及びグローバルなコネクティビティなど数多くある。しかし、どんなイノベーションでも、新技術が生み出す課題の大きさは、得られるメリットに同程度となることが多い。
既存の通信プロバイダの短所
本開示の背景技術の欄全体にわたって詳述されたように、今日の通信は多くの欠点を有する。AT&T(登録商標)、Verizon(登録商標)、NTT(登録商標)、Vodaphone(登録商標)など世界の主要な長距離通信事業者が所有するカスタムデジタルハードウェアで構成されている今日の最高性能の通信システムは、一般的に優れた音声品質を提供するがコストが高く、そのようなコストには、高価な月額取扱料、接続料金、長距離料金、複雑なデータレートプラン、長距離ローミング料金、及び多数のサービス料が含まれる。これらのネットワークはプライベートであるため、実際のデータセキュリティは一般に知られておらず、セキュリティ侵害、ハッキング、侵入は通常は一般には報告されない。今日のプレスで報道された盗聴とプライバシー侵害の数を考えると、プライベートキャリア通信セキュリティは、プライベートクラウドではないにせよ、少なくともラストマイル接続では疑わしいままである。
「インターネットサービスプロバイダ」すなわちISPは、グローバル・コミュニケーション・チェーンにおいて別のリンクを形成している。本発明の背景に記載されているように、VoIPまたは「ボイスオーバーインターネットプロトコル」を使用してインターネットを介して運ばれる音声は、サービス品質またはQoSの問題を抱えている。そのような問題としては、以下のものが挙げられる。
・パケット交換ネットワークであるインターネットは、適時にIPパケットを配信するように設計されておらず、低遅延で高QoSのリアルタイムアプリケーションをサポートするようには設計されていない。
・IPパケットのルーティングに予期しない経路が発生すると、遅延が絶えず変化し、データエラー率が高いバーストが発生し、予期しないコール切断が起こる。
・IPパケットルーティングは、インターネットサービスプロバイダ(IPS)の裁量で行われ、IPSは、パケットがルーティングされるネットワークを制御し、ネットワークを通過する一般的なトラヒック接続品質の低下を犠牲にして、自己のネットワークの負荷を分散するためのルーティングの調整や、VIPクライアントに対する適切なサービスを行うことがある。
・LINE(登録商標)、KakaoTalk(登録商標)、Viber(登録商標)などのオーバー・ザ・トップすなわちOTTプロバイダは、インターネットにフリーライドし、インターネットのヒッチハイカーとして機能し、ネットワークやQoSに影響を与える要因を制御できない。
・適度なデータレートでも妥協のない音声品質の音声を提供できないヘビーウェイトオーディオCODECが使用される。
・TCPトランスポートプロトコルに基づくVoIPでは、ハンドシェーキングやIPパケットの再ブロードキャスト中に引き起こされる遅延のために遅延時間が大きくなり、音声が劣化する問題を生じる。補助無しのUDPトランスポートは、ペイロードの完全性を保証しない。
QoSの問題とは別に、現在のデバイスやネットワークのセキュリティは、グローバル通信の将来のニーズをサポートするにはまったく受け入れられないレベルである。セキュア動的通信ネットワーク及びプロトコルと名称されるアメリカ特許出願の背景技術の欄で詳述されているように、ネットワークセキュリティは、通信するデバイスに対するサイバー攻撃(スパイウェア、トロイの木馬、感染、フィッシングなど)、ラストリンクに対するサイバー攻撃(スパイウェア、IPパケットスニッフィング、盗聴、サイバーパイレーツによる「偽」携帯電話タワーのコールインターセプトを含む)、及びラストマイル接続のローカルネットワークまた電話通信会社部分でのサイバー攻撃(スパイウェア、IPパケットスニッフィング、ウイルスなどの感染、及びサイバーパイレーツの「中間攻撃」が関与)などの大規模な攻撃を受けやすい。クラウド自体は、ウイルスなどの感染による攻撃、中間攻撃を開始するサイバーパイレーツからの攻撃、サービス拒否攻撃、及び権限のない政府監視からの攻撃によって任意のクラウドゲートウェイでセキュリティを破ることによって不正なアクセスを受ける可能性がある。要約すると、今日の通信セキュリティは、サイバー犯罪者によって容易に悪用され、サイバー犯罪やサイバープライバシー侵害に有用な多数の脆弱性によって損なわれるが、そのような脆弱性として以下のものが挙げられる。
・宛先IPアドレス、宛先ポート番号、及び宛先MACアドレスを含むIPパケットの宛先の開示。
・送信元IPアドレス、送信元ポート番号、及び送信元MACアドレスを含む、IPパケットの送信元の開示。
・採用されたレイヤ4トランスポートのタイプ、ポート番号によって要求されたサービスのタイプ、IPパケットのペイロードにカプセル化されたアプリケーションデータの開示。
・暗号化されていないファイルにおける、個人及び機密情報、ログイン情報、アプリケーションパスワード、財務記録、ビデオ、写真などを含む、IPパケットのペイロード。
・サイバーハッカーが暗号化されたファイルを壊す機会を繰り返すことを可能にする通信のダイアログ。
・FTP、電子メール、及びウェブページベースの感染を使用して、スパイウェアやフィッシングプログラム、トロイの木馬を含むマルウェアを通信デバイスやルータにインストールする数多くの機会。
インターネットプロトコルを使用するパケット交換通信ネットワークの根本的で本質的な弱点の要点を繰り返し述べると、任意の敵対者すなわちサイバーパイレーツがインターセプトしたIPパケットからは、IPパケットに含まれるデータの作成にどのデバイスが関与していたか、IPパケットがどこから来たのか、IPパケットがどこに送られているか、どのようにデータが転送されているか(すなわちUDPまたはTCPのいずれか)、どのような種類のサービスが要求されているか(すなわちペイロード内にどのような種類のアプリケーションデータが含まれているか)を確認することができる。これに関して、サイバーパイレーツは、会話の「内容の前後関係」を判定し、暗号化を破る機会を高め、パスワードセキュリティを破り、ファイル、データ、及びペイロードコンテンツへの不正アクセスを得ることができる。
暗号化
前述のように様々なサイバー攻撃に対して防御するために、現在のネットワーク管理者、ITプロフェッショナル、及びアプリケーションプログラムは、主にただ一つの防衛手段である暗号化に依存している。暗号化とは、それにより「平文」とも呼ばれる認識可能なコンテンツ(可読テキスト、実行可能プログラム、可視ビデオ及び画像、または明瞭な音声)を、無意味な文字の文字列として表示される「暗号文」として知られる代替的ファイルタイプに変換する手段である。
保護されていないファイルを暗号化されたファイルに変換する暗号化プロセスでは、暗号化の変換プロセスの見かけのパターンを明らかにせず、データを同等のテキスト要素に変更するための暗号アルゴリズムと呼ばれる論理アルゴリズムが使用される。暗号化されたファイルは、宛先デバイスによって受信されるまで通信ネットワークまたは媒体を介して送信される。ファイルを受信すると、その後、受信デバイスは、「復号化」として知られるプロセスを使用して元のコンテンツを明らかにするために符号化されたメッセージを復号化する。暗号化と解読の研究は、広く「暗号学」と呼ばれ、数理理論、集合理論、アルゴリズム設計などの数学の要素をコンピュータサイエンスや電気工学と融合させる。
単純な「シングルキー」または「シンメトリックキー」暗号化技術では、ファイルの暗号化と復号化のプロセスでのロック解除のために、両者が前もって知っている単一のキーワードまたはフレーズを使用できる。例えば、第二次世界大戦では、公開された無線チャンネルで通信される潜水艦や海洋船は暗号化されたメッセージを使用していた。当初は、暗号化はシングルキーベースであった。連合国側の暗号学者は、コードパターンを分析することによって、暗号化キーワードまたはパターンを明らかにした後、知られることなく暗号化ファイルを読み取ることができた。暗号化の方法が複雑になるにつれて、手動でコードを破ることは困難になった。
コードは、機械的な機械ベースの暗号に進化した。当時、コードを壊す唯一の方法は、暗号化機械を盗み、ファイルを暗号化するものと同じツールを使ってメッセージを解読することであった。その問題は、盗んだことを検知されることなく暗号化機械を盗む方法であった。コード機が盗まれたことが判明した場合、敵は単にコードを変更し、すでに動作中の暗号化機械を更新するだけで済む。この原則は今日でも有効であり、最も効果的なサイバー攻撃は、検知されないサイバー攻撃である。
コンピュータ化と冷戦の到来により、暗号化はより複雑になったが、暗号化コードを解読するために使用されるコンピュータの速度も向上した。セキュリティを確保した通信の開発における各ステップでは、情報を暗号化するための技術とノウハウと、暗号化コードを解読する能力がほぼ足並みを揃えて開発されてきた。暗号化における次の進化の大きなステップは、1970年代の、今日も使用されているデュアルキー暗号化技術の革新である。最もよく知られているデュアルキー暗号化方式の1つは、開発者のRivest、Shamir、Adlemanにちなんで命名されたRSA公開鍵暗号方式である。RSAの公開による認定にもかかわらず、同時代の開発者には同じ原則を独自に考案した者もいた。RSAは、公開されていない2つの大きな素数に基づいて2つの暗号鍵を使用する。この2つの素数を暗号鍵(ここではE鍵と呼ぶ)に変換するために1つのアルゴリズムが使用され、異なる2つの秘密素数を秘密復号鍵(ここではD鍵と呼ぶ)に変換するために異なる数学アルゴリズムが使用される。秘密素数を選択したRSAユーザ(本明細書では「鍵発行者」と呼ぶ)は、ファイルを暗号化しようとする者に典型的には1024bから4096bのアルゴリズムで生成されたE鍵を配布すなわち「公開」する。この鍵は暗号化されていない形式で多くの当事者に配布される可能性があるため、E鍵は「公開鍵」として知られている。
鍵発行者と通信したいと望む当事者は、一般に商用ソフトウェアの形で提供される公的に利用可能なアルゴリズムと共にこの公開E鍵を使用して、特定の鍵発行者に送信されるファイルを暗号化する。暗号化されたファイルを受信すると、鍵発行者は秘密のD鍵を使用してファイルを復号化し、平文に戻す。一般的なデュアルキー方式とRSAアルゴリズムの特有の特徴は、ファイルを暗号化するために使用された公開E鍵を復号化に使用できないことである。鍵発行者が所有する秘密のD鍵だけがファイルの復号化の能力を有する。
ファイル暗号化及び復号化におけるデュアルキー、スプリットキー、またはマルチキー交換の概念は、RSAまたはいずれかのアルゴリズム方法に特に限定されず、通信方法を一連のステップとして方法論的に特定する。スイッチパケット通信ネットワークを介した通信を実現する際のデュアルキー交換を用いてみよう。例えば、携帯電話から安全なファイルを受信することを望むノートブックは、まず、暗号化のためのE鍵と、何らかのアルゴリズムを用いた復号化のためのD鍵の2つの鍵を生成する。次に、ノートブックは、IPパケットを運ぶ公衆ネットワーク通信を使用して、E鍵を携帯電話に送る。IPパケットは、暗号化されていない形式で、ノートブックのMACアドレス、IPソースアドレス及びポートアドレスとともに、携帯電話の宛先IPアドレス、ポート#、及びトランスポートプロトコルTCP、並びにそのペイロードとしてのE鍵の暗号化されたコピーを含む。
次に、携帯電話は、合意された暗号化アルゴリズムまたはソフトウェアパッケージを使用して、暗号アルゴリズム及び暗号化E鍵を使用して平文ファイルを処理して、セキュリティが確保された通信におけるIPパケットのペイロードとして運ばれる暗号化ファイルすなわち暗号文を、携帯電話からノートブックに送信する。アルゴリズムは、IPパケットを受信すると、秘密復号鍵、すなわちD鍵を用いてファイルを復号する。D鍵はE鍵に対応するので、本質的にアルゴリズムは両方の鍵を認識し両鍵を用いて暗号文を復号化し、暗号化されていない平文697Bに戻す。IPパケット696のペイロードは、暗号化されたファイル、すなわち暗号文の形で保護されているが、残りのIPパケットは暗号化されず、スニッフィング可能で、サイバーパイレーツにより読み出し可能であり、その部分には、ソースIPアドレス「CP」及びポート#、宛先IPアドレス「NB」及び関連ポート#が含まれる。従って、ペイロード自体を開けない場合でも、通信を監視され得る。
バーチャルプライベートネットワーク(VPN)
暗号化に依存するもう1つのセキュリティ方法は、「仮想プライベートネットワーク」すなわちVPNのセキュリティ方法である。VPNでは、暗号化されたIPパケットを使用してネットワーク内にトンネルまたはセキュリティを確保したパイプ(セキュアパイプ)が形成される。ペイロードだけを暗号化するのではなく、IPパケット全体が暗号化され、カプセル化されたパケットをあるVPNゲートウェイから別のVPNゲートウェイに送信するミュールすなわちキャリアとして機能する別の暗号化されていないIPパケットにカプセル化される。もともとは、VPNは、遠隔地に分散されたローカルエリアネットワークを接続するために使用され、例えば、ニューヨーク、ロサンゼルス、及び東京のプライベートネットワークを運営する企業が、LANを相互接続して、1つのグローバルプライベートネットワークを共有しているかのように同じ機能を有するものとすることを望んでいる場合に使用されていた。
基本的なVPN概念は、ふたつのデバイス間での暗号化された通信と考えられる。例えば、第1のサーバが、無線のRF接続及び有線接続を介して多数のデバイスをサポートする1つのLANの一部として、コンテンツを含む「仮想プライベートネットワーク」、すなわち、VPNトンネルを介して第2のサーバに接続され、第2のサーバは、デスクトップ、ノートブック、及びWiFi基地局への有線接続を有する。これらの比較的低い帯域幅のリンクに加えて、第1のサーバはまた、高帯域幅接続を介してスーパーコンピュータに接続する。その結果発生する通信は、外部IPパケットの中にVPNパッケトを含めた複数のデータパケットのシーケンスである。動作中、送信元IPアドレス及びポート#を指定するサーバAからの外部IPパケットは、宛先IPアドレス及びポート#でサーバBに送信される。この外部IPパケットは、第1のサーバと第2のサーバ間に通信を設定させ、データが通過するために暗号化されたトンネルを形成する。外部パケットのVPNペイロードはラストマイルIPパケットを含み、送信元IPアドレス「DT」及び対応するアドホックポート#を有するデスクトップと、送信元IPアドレス「NB」及び対応するアドホックポート#を有するノートブックとの間の直接通信と、ファイル転送の要求とを提供する。
仮想プライベートネットワークを使用してこの転送を安全に確立するためには、VPNトンネルが作成され、実際の通信が送信される前にセッションが開始される。企業の用途では、VPNトンネルはインターネット上でアドホックに運ばれるのではなく、一般に専用のISPまたはキャリアが自社のファイバ及びハードウェアネットワークを所有して運営されている。このキャリアは、多くの場合一定のコストに対して特定の帯域幅を保証するべくVPNサービスを必要とする企業との年間または長期の契約を締結している。理想的には、サーバ間での通信は、高速専用リンクを用いて、VPNの性能、QoS、またはセキュリティを妨げる中間すなわち「ラストマイル」接続なしで実施すべきである。
動作中、従来のVPNでは、VPNを作成するすなわち「ログイン」する第1ステップと、セキュリティを確保したパイプまたはトンネル内でデータを転送する第2のステップの2段階プロセスが必要である。トンネリングの概念は階層的に示されており、通信スタックによって搬送される外部IPパケットは、レイヤ1からレイヤ4にVPN接続を形成し、レイヤ5を利用して仮想VPセッション723を作成し、レイヤ6のプレゼンテーション層を利用して暗号化を容易化し、サーバ間のゲートウェイ・パイプへのVPNゲートウェイを実現する。VPN接続はインターネットプロトコルを使用してIPパケットを送信するが、VPNの物理レイヤ1及びVPNデータリンクレイヤ2は一般に専用キャリアによってサポートされ、インターネット上での予測不可能なルーティングを使用しない。例えば、デスクトップ間のデバイス間通信として転送されるアプリケーションレイヤ7データは、あたかもVPNが存在しないかのように通信を確立するために必要な7つのOSIレイヤを全て含むトンネリングデータとして供給される。つまり、VPNは、その内部パケットを運ぶレイヤ7内で機能する通信プロトコルと考慮できる。
動作中、1つの通信スタックからもうひとつの通信スタックに外部IPパケットが移行すると、パケットの真のメッセージであるカプセル化データが開示するために開かれる。このようにして、VPNトンネルが通信の試みに先立って形成され、会話が終了した後に閉じなければならないことを除き、VPNトンネルの作成に使用される詳細とは無関係にエンドツーエンド通信が行われる。VPNトンネルを最初に開かないと、IPパケットの盗聴、ハイジャック、感染などの影響を受けやすい暗号化されていないIPパケットの送信が発生する。会話が完了した後でVPNを閉じないと、サイバー犯罪者に対し他人のVPNトンネル内で違法行為を隠す機会を与え、インターセプトされた場合、罪のない人に対して刑事罰が科されることになる可能性がある。
VPNは、複数のプライベートローカルエリアネットワークが専用の容量と帯域幅でプライベート接続を使用して相互に接続する一般的な方法であるが、公衆ネットワークとインターネットを介したVPNの使用は両者間の通信に問題がある。VPNの1つの問題は、VPN接続をパケットごとにではなく、使用する前に事前に確立する必要があることである。例えば、パケット交換ネットワークを介して接続されたVoIPコールでは、ある携帯電話が第2の携帯電話の意図された通話受信者に連絡する前に、VPNセッションを確立しなければならない。その為には、まずVPN接続アプリケーションを、発呼者の携帯電話の携帯に設置しなければならない。次に、発呼者は、典型的にサービスプロバイダであるVPNホストにIPパケットを送信する。これらのパケットは、ルーティングを介して通過可能なラストマイルで運ばれる。例えば、携帯電話の無線通信から近くのWiFi基地局に運ばれ、次に有線通信によりローカルルータへ送られ、最終的にVPNホストにたどり着く。発呼者の携帯電話とVPNホスト間でのセッションが確立されると、発呼者の携帯電話はVPNホストに対し、VPNトンネルを確立するよう指示を出す。このVPNトンネルの部分はレイヤ5で促進され、レイヤ6により暗号化される。
VPN接続が設定されると、発呼者の携帯電話は、任意のVoIP電話アプリを介して電話をかける。宛先電話が同じVPNに接続されていない場合、アプリケーションは、最も近いVPNホストから宛先携帯電話へラストマイルで「コールアウト」リンクを確立する必要がある。VoIPアプリケーションがそれを行えない、または行うことが許可されていない場合、コールは失敗し、速やかに終了する。そうでない場合、内部側IPパケットは、発呼側携帯電話と宛先携帯電話との間にアプリケーションレイヤ5セッションを確立し、IPテストパケットが適切に解読され、理解可能であることを確認する。
コールを行う(電話をかける)には、電話機内の電話キャリアのSIMカードがVPNトンネルと互換性がないため、コールは、電話機の通常のダイヤルアップ機能からではなく、電話機で実行されているレイヤ7アプリケーションからである必要がある。コールが開始されると、携帯電話は、その通信アプリケーションに従って音声の小片すなわち「スニペット」を表す一連のIPパケットを送信する。これらのパケットは、発呼者の携帯電話内のアプリケーションからWiFiリンクを介してWiFi基地局に、次いで有線接続を介してルータに、そして最後に有線接続を介してVPNホストに送られる。次に、データは、VPNトンネルを介してVPNホストへの接続によりセキュリティを確保した状態で、VPNネットワークの宛先のデバイス、つまり、VPNゲートウェイに送信される。この例では、VPNトンネルは宛先携帯電話まで接続されず、発呼されているデバイスの手前で止まる。VPNゲートウェイ以降は、VPNキャリアが仲介していないので、データは暗号化されていない。一旦VPNトンネルを離れると、VPNホストは、宛先デバイスのラストマイル接続にデータを転送する。つまり、データを有線接続でルータに送り、有線接続によってローカルの携帯電話システムとタワーに送り、タワーは通常の2G、3G又は4Gを使った電話呼出しとしてコールを行う。携帯電話アプリから同じアプリを実行していない電話に電話をかける(コールする)プロセスをコールアウト機能と呼ぶ。
後述の例は、公衆ネットワークを介してVPNに接続する際の別の問題を浮き彫りにしている。VPNホストから発呼者へのラストマイルリンクは、VPNでカバーされていないので、セキュリティ、パフォーマンス、コールQoSを保証するものではない。具体的には、発呼者のラストマイルの接続は、全て盗聴及びサイバー攻撃の対象となる。コールが完了し、発呼者が携帯電話を切ると、VPNリンクは終了しなければならず、VPNレイヤ5はVPNセッションを終了し、発呼者の携帯電話はVPNホストとの接続を断つ。
コンピュータ間でのデータ転送の為に作られたVPNネットワークを応用するのは、多数の問題点を発生させる。
・宛先VPNネットワークから宛先携帯電話へのラストマイル通信は、安全ではなくスニッフィングや監視されるリスクがある。
・発呼者の携帯電話とVPNゲートウェイ間の通信は、発呼者がデータ通信のアプリケーションを用いている場合のみ安全性が確保できる。発呼者が電話線を用いてVPNゲートウェイに接続する場合、つまりダイアルイン機能を使った場合は、発呼者の携帯電話と最も近いVPNゲートウェイ間のラストマイル接続は安全ではなく、スニッフィングと監視されるリスクがある。
・最終的な端末間のコールは、両端末がデータ通信を用いている場合のみ安全性を確保する事ができ、電話線を用いる場合は、確保できない。また、コールを開始する前に、両端末が事前に同じVPNに接続する事が要求される。
この最後の点は、VPNコミュニケーションのパラドックスと言える。電話を受け取る側は、その前に、電話される事を知り、事前にネットワークに接続しなければならない。電話を受け取る事を事前に連絡し、コールがする前にVPNに接続するように指示を出さなければならない。つまり、安全性を確保したコールをする前に、まず安全性が確保されていない電話を受け取らなければならない。安全性のないコールは、容易にハッキング、スニッフィング、又監視される。また、メタデータにより、誰が誰に電話しているか、また、何時に電話されたかが開示されてしまう。コールのメタデータは、ハッカーにとって、ハッキング対象とされている人の活動やプロフィールを知るのに非常に有効である。
ただし、セキュリティに関する懸念を除外したとしても、VPNを介して電話をかけたり文書を送信したりすることは、以下の理由を含む何らかの理由で失敗しないという保証はない。
・VPNは、リアルタイムアプリケーション、VoIP、またはビデオをサポートために十分な低レイテンシーで動作しない可能性がある。
・発信者からVPNゲートウェイまたはVPNゲートウェイから通話受信者へのVPNラストマイル接続は、リアルタイムアプリケーション、VoIPまたはビデオをサポートするために十分な低レイテンシーで動作しない可能性がある。
・発呼者または意図された受信者への最も近いVPNゲートウェイまでの距離、すなわち「ラストマイル」が非常に遠い可能性、場合によってはVPNなしで通話受信者までの距離よりも遠く離れている可能性があり、これによりネットワークの不安定さ、未知のネットワークによる制御不能なルーティング、可変QoS、及び接続の保護されていない部分での中間者攻撃の機会を多数提供することがある。
・VPNゲートウェイからコール受信者へのVPNラストマイル接続では、「コールアウト」接続とパケット転送またはローカル電話会社へのサポートリンクをサポートしていない場合がある。
・地元の通信事業者または政府検閲官が、国家安全保障または法令遵守の理由で、既知のVPNゲートウェイに出入りする通話または接続をブロックする可能性がある。
・企業のVPNを使用すると、VoIP通話は会社の従業員と指定された許可されたユーザのみに限定され、金融取引やビデオストリーミングがブロックされたり、Yahoo、Googleなどのパブリックメールサーバへのプライベートメールがブロックされたり、YouTube(登録商標)、チャットプログラム、またはTwitterなどは企業のポリシーに従ってブロックされることがある。
・不安定なネットワークの場合、VPNオペレータによって手動でリセットされるまで、VPNが開かれ、発信者のデバイスに接続された常設セッションを保持することがある。これにより、後続の接続のための帯域幅が失われる、または接続料金が高額になる可能性がある。
ネットワークの比較
「オーバートップ」またはOTTプロバイダによって提供される通信を、公衆ネットワークを使用してアドホックVPNに接続する通信システムと比較すると、VPNリンクそれ自体以外では、両方の通信システムの大半はほぼ同じコンポーネントと接続を有している。具体的には、携帯電話、WiFi無線接続、WiFi基地局、有線接続、及びルータを含む発呼者の最後のマイルは、両方の実装において同じラストマイル接続を表す。同様に、相手方のラストマイルでは、発呼者の携帯電話、携帯電話接続、携帯電話基地局及びタワー、有線接続、及びルータは、インターネットバージョン及びVPNバージョンの両方において同一である。主な相違点は、公衆ネットワークにおいて、VPNホスト間のセキュリティを確保された通信を構成するVPNトンネルが、セキュリティが確保されていない通信接続を構成するサーバ及びルータに置き換えられていることである。別の相違点は、OTT通信において、コールが即座に利用可能であり、VPNをセットアップし、コールの前及び後にVPNセッションを終了するために、VPN追加ステップを使用する必要があることである。
どちらの例でも、ラストマイル接続は、予期せぬコールのQoS、パケットスニッフィングを受けること、サイバー攻撃のリスクをもたらす。サーバ及びルータは、異なる場所の異なるISPによって管理される可能性が高いため、それらのサーバを既存の異なるクラウドとして解釈することができる。例えばGoogle、Yahoo、Amazon、及びMicrosoftが所有し運営している公開ネットワークは、インターネットによって相互にリンクされているにもかかわらず、例えば「Amazonクラウド」は、互いに異なるクラウドと見なすことができる。
比較的に普及していない競合ネットワークトポロジーであるピアツーピアネットワーク(PPN)は、ルータまたはISPではなくPPNによって管理されるパケットルーティングを備えた多数のピアから構成されるネットワークを含む。ピアツーピアネットワークは数十年にわたってハードウェアに存在していたが、インターネットサービスプロバイダの管理、コスト、規制を回避する手段としてこの概念を普及させたのはNapsterであった。音楽著作権侵害のために米国政府の規制当局から訴えられたとき、Napsterの創設者はそれをやめて、初期のOTTキャリアSkypeに入った。その時、Skypeのネットワークは従来のOTTからナップスターのようなPPNに変換された。
PPN操作では、PPNへのログイン接続を行う全てのデバイスが、PPNに加わる1つのノードになる。例えば、ある地域において、PPNソフトウェアがインストールされた携帯電話がピアツーピアネットワークにログインすると、その地域の他の接続された全てのデバイスと同様にネットワークの一部となる。いずれかのデバイスによって呼び出されたコールは、1つのデバイスから別のデバイスに向かってホップして、目的地である別のPPN接続デバイスに到達する。例えば、ある携帯電話がそのPPN接続を使用して別のPPN接続デバイス(例えば、宛先携帯電話)を呼び出す場合、コールは、2者間のPPNに物理的に配置された任意の装置を通る迂回経路に沿ってつながる。例えば、ある携帯電話から発するコールは、WiFiによってWiFi基地局を介して近くのデスクトップに、次に他の人のノートブックに、次にあるデスクトップから他のデスクトップに、最後に携帯電話基地局及びタワーを介して宛先携帯電話に接続する。このようにして、全てのルーティングはPPNによって制御され、インターネットはルーティングの管理に関与しないものであった。両方の当事者が利用するので、ネットワークに接続するために使用されるPPNソフトウェアは、VoIPベースの音声通信のアプリケーションとしても機能する。
ある携帯電話が世界の反対側の非PPN装置の携帯電話を呼び出そうとする場合、ルーティングは、特に海または山脈を越えてパケットを送信するために、いくつかのリンクでインターネットを必ず含むことがある。ある地域におけるルーティングの第1の部分は、以前の例と同様に、発呼者の携帯電話から開始し、WiFi基地局、デスクトップ、ノートブック、更に複数のデスクトップを介してルーティングされる。この時点で、最も近くのノートブックがネットワークに接続されている場合、コールはそれを介してルーティングされ、そうでない場合、コールは携帯電話基地局及びタワーを介して宛先携帯電話にルーティングされ、次に携帯電話基地局及びタワーに戻されてから、その先に送られる。
通話が太平洋横断の場合には、コンピュータ及び携帯電話は海上でトラヒックを移送することができないので、通話はクラウド内のサードパーティのサーバ/ルータまでルーティングされ、更に別途のクラウド内のサードパーティのサーバ/ルータへの接続を通ってインターネットまで必然的にルーティングされることになる。例えば、宛先に近づくにあたって、コールはインターネットから出て、最初にデスクトップを介して宛先地域のPPNに入り、WiFi、ノートブック、及び基地局に接続する。WiFiはPPNアプリを実行しないので、WiFiに入る実際のパケットは、WiFiサブネットにあるタブレットまたは携帯電話のいずれかに移動し、WiFiに戻ってから有線接続を介して携帯電話基地局及びタワーに送信されなければならない。最後に、発呼者の携帯電話コールは、PPN対応デバイスではない宛先携帯電話に接続する。これにより、PPNネットワークを出るため、接続はPPNの「コールアウト」を構成する。このようなPPN方式を使用する場合、VPNのように、最初にPPNログインを完了することによって、発呼側デバイスのPPNネットワークへの登録を行う。その後、PPNアプリを使用してコールを発信することができる。PPN方式の利点は、長距離通話を行うためにハードウェアがほとんどまたは全く必要ないことと、並びに、PPNに接続された全てのデバイスは、PPNオペレータをその状態、負荷及びレイテンシーに関して定期的に更新するので、PPNオペレータはパケットのルーティングを決定して遅延を最小限に抑えることができることである。
この方式の欠点は、潜在的なセキュリティに対する脅威となり、コールレイテンシー及びコールQoSに予測できない影響を及ぼす多くの未知ノードを含むネットワークをパケットが横断することである。そのため、パケット交換通信ネットワークでは、Skypeを除き、レイヤ3以上で動作するピアツーピアネットワークは一般的に採用されていない。
アドホックVPNプロバイダ、インターネットOTTプロバイダ、及びPPNピアネットワークの比較の概要を、対比させて以下の表に示す。
前述された様に、VPN及びインターネットは固定インフラストラクチャを構成するが、ピアツーピアネットワークのノードは、ログインしているユーザ及びPPNに接続されているデバイスによって異なる。この表の内容から、ネットワークの高速長距離接続(例えば、海洋及び山脈を横切るネットワーク)は、VPNの場合にのみ契約上保証され、それ以外の場合には予測不可能である。ラストマイルの帯域幅は、インターネットプロバイダーとVPNプロバイダ両方ともローカルプロバイダに依存しているが、PPNの場合は誰がログインしているかによって全く異なる。
レイテンシー、すなわち連続して送信されるIPパケットの伝播遅延は、OTT及びVPNでは管理できないが、その理由は、プロバイダがラストマイルでのルーティングを制御するのではなく、ローカル通信会社またはネットワークプロバイダに依存しており、一方PPNは、特定の地域のその時間帯にオンラインになっているノード間でトラヒックを転送するためのベストエフォートを使用して、能力が限定されているからである。同様に、ネットワークの安定性については、PPNはネットワークを維持するためにトラヒックを再ルーティングする能力を有しているが、誰がログインしているかに左右される。一方、インターネットは本質的に冗長であり、配信を保証することはほぼ確実であるが、必ずしも適時に配信されない。アドホックVPNのネットワーク安定性は、VPNホストへの接続が許可されているノードの数によって異なる。これらのノードがオフラインになると、VPNは無効になる。
コールセットアップの観点からは、インターネットは常に利用可能であり、PPNはコールを行う前にPPNにログインする余分なステップを必要とし、VPNは複雑なログイン手順を伴うことがある。また、ほとんどのユーザは、VPNやPPNで使用される別のログインIDではなく、OTTの電話番号の使用する機能を使いやすさの観点から有益と見いだしている。リストアップされた3つのネットワークは全て、一般に商用電話事業者を利用するよりはるかに遅れる可変VoIP QoSに悩まされている。
セキュリティの観点からは、3つの選択肢全てが悪く、ラストマイルは読み取り可能なアドレスとペイロードを有するパケットスニッフィングに完全にさらされている。VPNはクラウド接続の暗号化を提供するが、依然としてVPNホストのIPアドレスを公開している。そのため、示されているネットワークの選択肢はいずれもセキュリティが確保されているとはみなされない。従って、暗号化は、レイヤ6プロトコルとして、またはレイヤ7アプリケーション自体の埋め込み部分としてハッキングやサイバー攻撃を防止するためにさまざまなアプリケーションで使用されている。
暗号化に対する過剰な信頼
IPパケットを暗号化するかVPNを確立するかにかかわらず、現在のネットワークセキュリティは、暗号化のみに依存しており、これは現代のパケット交換型の通信ネットワークの弱点の1つである。例えば、RSA暗号化を攻撃する方法に関する多くの研究が行われている。素数を大きなサイズに制限することは、総当たり法を使用して解読D鍵コードを破る危険性を大幅に減少させるが、多項式因数分解法により、より小さな素数ベースの鍵に基づいて鍵を解くことに成功し得ることが実証された。「量子コンピューティング」の進化により、手ごろな時間でサイバー攻撃を行い、RSAベースの暗号鍵や他の暗号鍵を破壊する実用的な方法につながる懸念がある。
これまでに存在していたコードの破損の危険に対抗するため、新しいアルゴリズムと、2001年に米国NISTが採択した「高度暗号化標準」(AES暗号)などの「より大きな鍵」による暗号化方式が登場した。ラインダール暗号に基づいて、換字置換ネットワークとして知られる設計原理は、異なる鍵及びブロックサイズを使用する換字及び置換の両方を組み合わせる。現在の形では、アルゴリズムは128ビットの固定ブロック長を採用し、鍵長は128ビット、192ビット、及び56ビットの可変長とし、それぞれに対応する、入力ファイル変換で使用されるラウンド回数は10、12、及び14回とされている。実際問題として、AES暗号化は、ソフトウェアまたはハードウェアにおいて、任意の長さの鍵に対して、効率的かつ迅速に実行することができる。暗号方式では、256ビット鍵を使用するAESベースの暗号化をAES256暗号化と呼ぶ。512ビット鍵を使用するAES512暗号化も利用可能である。
各新世代が、より良い暗号化方法を作り、より迅速にそれらを壊すべく暗号の水準を上げる一方、利益を得ようとするサイバー犯罪者は、暗号化されたファイルを破るために単にコンピューティングを使用するのではなく、目標に集中することが多い。前述のように、サイバーパイレーツは、パケットスニッフィングとポートスキャンを使用して、会話、企業サーバ、またはVPNゲートウェイに関する貴重な情報を得ることができる。サイバープロファイリングにより、ネットワーク自体を攻撃するのではなく、企業のCFOやCEOのパーソナルコンピュータ、ノートブック、及び携帯電話のサイバー攻撃を開始する方が容易とも考えられる。埋め込みリンクを開くとマルウェアやスパイウェアを自動的にインストールする電子メールを従業員に送信すると、その従業員が必ず接続して作業する必要のある「内部」からネットワークに入るので、ファイアウォールのセキュリティが完全に迂回されてしまう。
データが変化せず、すなわち静的にネットワークを通過する場合にも、暗号化を破る可能性が高まる。例えば、図1のネットワークでは、パケット790、792、794、及び799内の基礎となるデータは、パケットがネットワークを通って移動するときに変更されないままである。図示された各データパケットは、作成時の元の順序から変更されていない、時間的に連続的に並べられたデータまたは音声のシーケンスを含む。データパケットの内容がテキスト形式の場合、シーケンス1A-1B-1C-1D-1E-1Fの暗号化されていない平文ファイルを読むと、コミュニケ番号「1」の「読みやすい」テキストが得られる。データパケットの内容が音声である場合、シーケンス1A-1B-1C-1D-1E-1F内の暗号化されていない平文ファイルを、対応する音声コーデック(本質的にソフトウェアベースのD/A変換器)によって変換すなわち「再生」すると、オーディオファイル番号「1」の音声になる。
いずれの場合においても、本開示を通じて、固定サイズのボックスによって表される各データスロットは、所定の数のビット、例えば2バイト(2B)長を有する。スロット当たりの正確なビット数は、ネットワーク内の各通信ノードが各データスロットのサイズを知っている限り柔軟に変えることができる。各データスロットに含まれているのは、音声、ビデオ、またはテキストのデータであり、これらは図面においては、数字とそれに続く文字によって特定される。例えば、図示のように、データパケット790の第1のスロットは、コンテンツ1Aを含み、ここで数字「1」は特定の通信#1を示し、文字「A」は通信#1のデータの第1部分を表す。同様に、データパケット790の第2のスロットは、コンテンツ1Bを含み、ここで数字「1」は特定の通信#1を示し、文字「B」は通信#1のデータの第2部分を表し、順序では1Aの後にある。
例えば、同じデータパケットが仮にコンテンツ「2A」を含んでいた場合、データは、通信#1とは無関係の異なる通信、具体的には通信#2における第1のパケット「A」を表す。同種の通信を含むデータパケット群である場合、例えば全てのデータが通信#1用である場合は、異なる通信を混合するデータパケットよりも分析及び読み取りが容易である。データを適切な順序で順番に並べることで、サイバー攻撃者は、音声、テキスト、グラフィックス、写真、ビデオ、実行可能なコードなどのデータの性質を容易に解釈できる。
さらに、図示された例では、パケットの送信元及び宛先IPアドレスは一定であるため、すなわち、ゲートウェイサーバ21A及び21Fに出入りするデータと同じ形式でネットワークを介して転送中にパケットが変更されないままであるため、また、基礎となるデータは変更しない為、ハッカーが、データパケットをインターセプトし、ファイルを分析して開くか、会話を聞く機会が増える。ただ単なる伝送及び単純なセキュリティ、つまり、保護する為に暗号化しか用いていないセキュリティは、サイバー攻撃の機会を増やす。何故なら、パケット交換型ネットワークとしての極端に簡素化されたインターネットの使用では、サイバー攻撃が成功する可能性が高くなるからである。
リアルタイムのネットワークと接続されたデバイスのセキュリティ確保
今日のパケット交換ネットワークを悩ましている過度のセキュリティ脆弱性に対処しながら、電話、ビデオ、及びデータ通信のサービス品質(QoS)を向上させるために、IPパケットルーティングを制御するための新しく革新的で体系的なアプローチ、すなわち個別の技術を含むグローバルネットワークを管理し、同時にエンドツーエンドのセキュリティを促進するアプローチが必要である。このような本発明のパケット交換ネットワークの目標は、以下の基準を含む。
1.リアルタイムの音声、ビデオ、及びデータトラヒックルーティングをネットワーク全体で動的に管理することを含む、グローバルなネットワークまたは長距離通信事業者のセキュリティとQoSを保証すること。
2.通信ネットワークのラストマイルにおける「ローカルネットワークまたは電話会社」のセキュリティ及びQoSを保証すること。
3.セキュリティが確保されていない回線に対するセキュリティを確保した通信の提供を含む、通信ネットワークの「ラストリンク」のセキュリティとQoSを保証すること。
4.通信デバイスのセキュリティを保証し、不適格または不正なアクセスや使用を防ぐためにユーザを認証する。
5.不許可のアクセスを防止するために、デバイスまたはオンラインのネットワークまたはクラウドストレージにデータを格納する安全な手段の実現を容易化すること。
6.財務、個人、医療、バイオメトリックの全てのデータと記録を含む非公開の個人情報のセキュリティとプライバシーの保護を提供すること。
7.オンラインバンキング、ショッピング、クレジットカード、電子決済を含む全ての金融取引のセキュリティとプライバシーの保護を提供すること。
8.M2M(マシン・ツー・マシン)、V2V(ビークル・ツー・ビークル)、V2X(ビークル・ツー・インフラストラクチャ)通信を含む取引及び情報交換に、セキュリティ、プライバシー、及び必要に応じて匿名性を提供すること。
上記の目標のうち、本開示に含まれる発明主題は、項目#2に記載された第2のトピック、すなわち、「通信ネットワークのラストマイルにおけるローカルネットワークまたは電話会社のセキュリティ及びQoSを保証すること。」に関する。このトピックは、リアルタイム通信パフォーマンスを犠牲にすることなく、ラストマイル接続のセキュリティを実現することと考えることができる。
用語の説明
文脈上別の解釈を必要としない限り、セキュリティを確保した動的ネットワークとプロトコルの記述で使用される用語は、以下の意味を有する。
匿名データパケット:初めの送信元または最終宛先に関する情報が欠けているデータパケット。
クライアントまたはクライアントデバイス:ラストマイルを介してSDNPクラウドに接続する端末。通常は携帯電話、タブレット、ノートブック、デスクトップ、またはIoTデバイス。
コンシールメント:スクランブル化、分割、ジャンクデータ挿入、暗号などのセキュリティ操作の組み合わせを用いて、SDNPパケットのコンテンツ又はその一部を認識不可能にするエンコードのプロセス。
復号(復号化):データパケットを暗号文から平文に変換するために使用される数学的演算。
非集約型データストレージ:複数の断片化されたファイルを異なるデータストレージノードに保管する前に、データファイルを断片化しそのコンテンツを隠蔽するプロセス。
MZサーバ:セレクタ、シードジェネレータ、キージェネレータ(鍵発生器)及びその他の共有の秘密の格納に使用されるSDNPネットワークまたはインターネットから直接アクセスできないコンピュータサーバ。DMZは、「エアギャップ」サーバとも呼ばれ、有線ネットワークの接続またはアクセスのないコンピュータを指す。
動的暗号化/復号化:データパケットがSDNPネットワークを通過する際に動的に変化する鍵に依存する暗号化及び復号化。
動的混合(動的ミキシング):ミキシングアルゴリズム(スプリットアルゴリズムの逆)が、混合データパケットが作成されるときの時間、状態、及びゾーンなどの状態に基づいてシードの関数として動的に変化するミキシングのプロセス。
動的スクランブル化/アンスクランブル化:データパケットが作成された時間や作成されたゾーンなど、状態に応じて動的に変化するアルゴリズムに依存するスクランブル化とアンスクランブル化。
動的分割:データパケットが複数のサブパケットに分割されるときの時間、状態、ゾーンなどの状態に基づいて、分割アルゴリズムがシードの関数として動的に変化する分割プロセス。
暗号化:データパケットを平文から暗号文に変換するために使用される数学的演算。
断片化データ転送:分割データと混合データのSDNPネットワークを介したルーティング。
ジャンクデータ削除(または「デジャンキング」):元のデータの復元のため、またはデータパケットの元の長さを回復するために、データパケットからジャンクデータを削除すること。
ジャンクデータ挿入(または「ジャンキング」):実際のデータ内容を難読化するため、またはデータパケットの長さを管理するために、意味のないデータをデータパケットに意図的に導入すること。
鍵:秘密アルゴリズムを使用して鍵を生成する鍵生成器に時間などの状態を入力することによって生成される、偽装されたデジタル値。鍵は、セレクタからパケット内のデータを暗号化または復号化するアルゴリズムを選択するために使用される。鍵は、公的またはセキュリティを確保されていないラインを介して状態に関する情報を安全に渡すために使用できる。
鍵交換サーバ:ネットワークオペレータのスパイ行為の可能性を防止するために、公開暗号鍵をクライアントに(特にクライアントが管理する鍵管理のため、すなわちクライアントベースのエンドツーエンド暗号化のため)、選択に応じて対称鍵暗号化を使用するサーバに配布するために使用される、SDNPネットワークオペレータから独立したサードパーティにホストされるコンピュータサーバ。
ラストリンク:クライアントのデバイスと、それが通信するネットワーク内の最初のデバイス(通常は無線タワー、WiFiルータ、ケーブルモデム、セットトップボックス、またはイーサネット(登録商標)接続)との間のネットワーク接続。イーサネット(登録商標)通信の場合、ラストリンクは、物理的にケーブルモデム又は光ファイバモデムにケーブルで接続しているものを示す。WiFi接続の場合(例えば、喫茶店での接続)、ラストリンクは、WiFiルータがDSL、ケーブル又は光ファイバネットワークと接続されている事を示す。無線セルラーネットワークの場合、ラストリンクは、セルラータワーと携帯電話の間の無線リンク(例えば、3Gや4G/LTE接続)を示す。
ラストマイル:ラストリンクを含むSDNPゲートウェイ(又は他の種類のネットワーク又はクラウド)とクライアント間のネットワーク接続。通常、ラストマイルは、ローカル電話会社及びケーブルテレビ会社(例えば、コムキャストケーブル、ベライゾンモバイル、コリアテレコム、ブリティッシュテレコム等)が所有し管理するネットワークを介する通信を示す。
混合(ミキシング):異なるソース及びデータタイプからのデータの結合により、認識できないコンテンツを有する1つの長いデータパケット(または一連のより短いサブパケット)を生成すること。以前に分割されたデータパケットをミキシングさせて元のデータコンテンツを復元する場合もある。ミキシング操作には、ジャンクデータの挿入、削除、及び解析も含まれ得る。
複数PHY又はマルチPHY:複数の物理媒体(光ファイバと4G、異なるWiFiチャネルと波数、4GとWiFi、イーサネット(登録商標)とWiFiなど)を介して関連したシーケンシャルデータパケットを交互転送する通信を指す。
パース(構文解析):データパケットを格納または送信のために短いサブパケットに分割する数値演算。
ルータ:IPヘッダに特定されている宛先アドレスへデータグラムをルーティングするデバイス。SDNPネットワーク外でのデータルーティングに関しては、使用されているIPアドレスは有効なインターネットIPアドレス(つまり、DNSサーバにより認識されるアドレス)又はローカルネットワークプロバイダ(例えば、コムキャストが、所有しているケーブル/光ファイバネットワーク内の通信に、コムキャスト内部のIPアドレスを割り当てる。)により割り当てされたNATアドレスである場合がある。
スクランブル化:データパケット内のデータセグメントの順序またはシーケンスがその自然順序から認識不可能な形式に変更される操作。
分割:データパケット(または一連のシリアルデータパケット)が複数のサブパケットに分割され、多数の宛先にルーティングされる操作。分割操作には、ジャンクデータの挿入や削除も含まれ得る。
ソフトスイッチ:通信スイッチ及びルータの機能を実行する実行可能コードを含むソフトウェア。
SDNP:本発明に従って作られた高セキュリティの通信ネットワークを意味する「Secure Dynamic Network and Protocol(セキュリティを確保した動的ネットワーク及びプロトコル)」の頭字語。
SDNPアドレス:SDNPクラウド又はラストマイルを介してSDNPパケットをルーティングする為に用いられるアドレス。このアドレスは、次の宛先デバイスのアドホックIPアドレスであり、つまり、シングルホップを実行する為だけに必要な情報を含む。
SDNP管理サーバ:実行可能コードと共有秘密をグローバルに、または特定のゾーンに分散するために使用されるコンピュータサーバ。
SDNPブリッジノード:1つのSDNPクラウド(又はゾーン)を異なるセキュリティクレデンシャル情報を持つ別のSDNPクラウド(又はゾーン)に接続するSDNPノード。
SDNPクライアントまたはクライアントデバイス:一般的にネットワークのラストマイルを介して接続するSDNPクラウドに接続するために、SDNPアプリケーションを実行するネットワーク接続デバイス(通常は携帯電話、タブレット、ノートブック、デスクトップ、またはIoTデバイス)。
SDNPクラウド:SDNP通信ノード操作を実行するためのソフトスイッチ実行可能コードを実行している相互接続されたSDNPサーバのネットワーク。
SDNPゲートウェイノード:SDNPクラウドをラストマイルを介するクライアントデバイスに接続するSDNPノード。SDNPゲートウェイノードは、SDNPクラウドとラストマイルの少なくとも2つのゾーンにアクセスする必要がある。
SDNPメディアノード:シグナリングサーバまたはシグナリング機能(暗号化/復号、スクランブル化/アンスクランブル化、ミキシング/分割、タグ付け、およびSDNPヘッダ及びサブヘッダの生成を含む)を実行する別のコンピュータからの命令に従って、特定の識別タグを有する着信データパケットを処理するソフトスイッチ実行可能コード。SDNPメディアノードは、特定のタグを有する着信データパケットを識別し、新たに生成されたデータパケットを次の宛先に転送する役割を果たす。
SDNPメディアサーバ:SDNPメディアノードの機能をデュアルチャネル及びトライチャネル通信で実行し、シングルチャネル通信でSDNPシグナリングノード及びSDNPネームサーバノードのタスクを実行するソフトスイッチをホストするコンピュータサーバ。
SDNPネームサーバ:トライチャネル通信でSDNPネームサーバノードの機能を実行するソフトスイッチをホストするコンピュータサーバ。
SDNPネームサーバノード:SDNPクラウドに接続された全てのSDNPデバイスの動的リストを管理するソフトスイッチ実行可能コード。
SDNPネットワーク:SDNPクラウドだけでなく、ラストリンクとラストマイル通信を含む、クライアント-クライアント間の高セキュリティの通信ネットワーク全体。
SDNPノード:コンピュータサーバ上で動作するソフトウェアベースの「ソフトスイッチ」を含むSDNP通信ノード、あるいはSDNPネットワークに接続され、メディアノード、シグナリングノード、またはネームサーバノードのいずれかのSDNPノードとして機能するハードウェアデバイス。
SDNPサーバ:SDNPメディアサーバ、SDNPシグナリングサーバ、またはSDNPネームサーバのいずれかを備え、適切なソフトスイッチ機能をホストしてSDNPノードとして動作するコンピュータサーバ。
SDNPシグナリングノード:当事者間のコールまたは通信を開始し、コール元(発呼元)基準及びノード間伝播遅延の動的テーブルに基づいて、断片化されたデータ転送の複数のルートの全てまたは一部を決定し、SDNPメディアの着信および発信データパケットの管理方法。
SDNPシグナリングまたはシグナリングサーバ:デュアルチャネルおよびトライチャネルSDNP通信でSDNPシグナリングノードの機能を実行し、デュアルチャネル通信でSDNPネームサーバノードの任務を実行するソフトスイッチをホストするコンピュータサーバ。
SDNPタグ:ソースアドレス、SDNP zipコード、又は着信データパケット又はそのサブパケットを識別する為に用いられたコード。
セキュリティ操作:パケットが作成されたゾーン又は状態(ステート)に関連する状態に依存するセキュリティクレデンシャル情報を用いて隠蔽する(または隠蔽されたパケットのコンテンツを復旧する)為にデータパケットを変更する処理。
セキュリティ設定またはセキュリティクレデンシャル情報:シードジェネレータやキージェネレータが、秘密アルゴリズムを、常に変化するネットワーク時間などの入力状態と共に使用して生成し、従ってパブリックまたはセキュリティが確保されていないラインを介して安全に送信することが可能な、シードや鍵などのデジタル値。
シード(Seed):秘密アルゴリズムを使用してシードを生成するシードジェネレータに、時間などの状態を入力することによって生成される偽装デジタル値。シードは、セレクタからパケット内のデータをスクランブル化または分割するためのアルゴリズムを選択するために使用される。シードは、パブリックまたはセキュリティが確保されていないラインを介して状態に関する情報を安全に渡すために使用できる。
セレクタ:共有秘密情報の一部であるとともに、1つまたは複数のパケットのスクランブル化、アンスクランブル化、暗号化、復号、分割、またはミキシングのための特定のアルゴリズムを選択するためにシードまたは鍵と共に使用される可能性のある、スクランブル化、暗号化または分割アルゴリズムのリストまたはテーブル。
共有秘密(情報):SDNPネットワークまたはインターネット経由でアクセスできないDMZサーバにローカルに保存されるシードジェネレータ、キージェネレータ、ゾーン情報、およびアルゴリズムシャッフルプロセスで使用されるアルゴリズムのみならず、スクランブル化/アンスクランブル化、暗号化/復号化、および混合/分割アルゴリズムのテーブルまたはセレクタを含む、SDNPノード操作に関する機密情報。
シングルPHY:光ファイバ、イーサネット(登録商標)、WiFiまたはセルラーネットワークなどの唯一の物理的メディアを介して関連したデータパケットを転送する通信。
ステート(状態):シードや鍵などのセキュリティ設定を動的に生成するために、また混合、分割、スクランブル化、暗号化などの特定のSDNP操作のアルゴリズムを選択するために使用される、ロケーション、ゾーン、またはネットワーク時間などの入力。
時間(Time):SDNPネットワークを介して通信を同期させるために使用されるユニバーサルネットワーク時間。
アンスクランブル化:スクランブル化されたデータパケット内のデータセグメントを元の順序またはシーケンスに復元するために使用されるプロセス。アンスクランブル化はスクランブル化の逆関数である。
ゾーン:共通のセキュリティクレデンシャル情報と共有秘密を共有する特定の相互接続されたサーバのネットワーク。ラストマイル接続は、SDNPクラウドとは別のゾーンを含む。
セキュア動的ネットワーク及びプロトコル(Secure Dynamic Network And Protocol:SDNP)の設計
リアルタイムでのパケット遅延を最小限に抑え、安定した呼接続を確実にし、かつ高信頼性の音声通信及び映像ストリーミングを伝送すると共に、パケット交換通信に対するサイバー攻撃及びハッキングを防止するために、本開示に係るセキュリティが確保された(以降、「セキュア」とも称する)動的ネットワーク及びプロトコル、すなわちSDNPは、下記の複数の処理原則に基づいて設計した。
・リアルタイム通信は、常に、遅延時間が最も短い経路を使用して行うべきである。
・データパケットの不正な検査またはスニッフィングによって、パケットの送信元、宛先、及びその内容が分からないようにすべきである。
・データパケットのペイロードは、適当な期間にハッキングされる危険を冒さずに、別個の暗号化アルゴリズムを使用して動的に再暗号化(すなわち、復号及びその後の再度の暗号化)するべきである。
・復号された後であっても、全てのデータパケットのペイロードは、複数の会話と、無関係なデータと、ジャンクパケットフィラーとの組み合わせを動的にスクランブル化することにより、依然として判読不能なペイロードである。
上記のガイドラインの実施は、下記の様々な実施形態のいくつかまたは全てに含まれる様々なユニークな方法、機能、特徴、及び実行を含む。
SDNPは、インターネットを介してアクセスできないプロプライエタリコマンド及び制御ソフトウェアを使用して実現される通信会社(すなわち通信システム)のソフトスイッチ機能を含む、1または複数の専用クラウドを使用する。
・全てのクラウド内通信は、DNSにより認識されるIPアドレスではなく、SDNPアドレス及び動的ポート(すなわちプロプライエタリNATアドレス)に基づいて、プロプライエタリクラウド内の専用のSDNPパケットルーティングを使用して行われる。SDNPアドレスは、インターネットを通じてまたはSDNPクラウドの外部では、使用またはルーティングすることはできない。
・SDNPネットワークは、全てのリアルタイム通信を、頻繁に識別し、遅延時間が最も短い経路を使用して動的にルーティングする。
・クラウドツークラウド及びラストマイル通信を除いては、セキュアまたはリアルタイム通信はSDNPクラウドの外部またはインターネットを介してルーティングされず、一般的に不可視アドレスによるシングルホップルーティングを使用する。
・データパケット内に含まれるルーティングデータは、互いに隣接する2つのデバイス間のシングルホップのためのルーティングを識別し、前の及び次のサーバのSDNPまたはIPアドレスのみを識別する。
・発呼者または着呼者の電話番号またはIPアドレス、すなわちクライアントの各ソースアドレス及び宛先アドレスは、IPパケットのヘッダ内にも、暗号化されたペイロード内にも存在しない。
・命令及び制御に関連する共有秘密は、インターネットを介してアクセスできないセキュアDMZサーバ内にインストールされたシステムソフトウェア内に存在する。
・SDNPパケット通信は、互いに異なる3つのチャンネル、すなわち、SDNPクラウド内のエレメントの識別に使用される「ネームサーバ」、コンテンツ及びデータのルーティングに使用される「メディアサーバ」、及びにパケット及び発呼の命令及び制御に使用される「シグナリングサーバ」を通じて行うことができる。
・ルーティング情報が、鍵及び数値シード(必要に応じて)と共に、発呼または通信の前に、かつコンテンツとは別個に、独立的なシグナリングチャンネルを通じて全ての参加メディアサーバに供給される。シグナリングサーバは、メディアサーバに対して、ネットワークを横断するパケットの前の及び次の宛先のみを提供する。
・メディアパケットは、他のソースからの断片化されたデータ種類が異なるデータを含む他のパケットと動的に混合及び再混合された、会話、ドキュメント、テキスト、またはファイルの一部しか表さない断片化されたデータを含む。
・ファースト及びラストマイル通信を保護するために、シグナリングサーバ関連通信をメディア及びコンテンツ関連パケットから分離することを含む特別なセキュリティ方法が用いられる。
・パケット伝送は、コンテンツ種類依存性であり、音声及びリアルタイム映像またはストリーミングは改良型UDPに基づくが、パケット損失または遅延の影響を受けやすいシグナリングパケット、命令及び制御パケット、データファイル、アプリケーションファイル、システムファイル、及び他のファイルは、TCP伝送を用いる。
・デバイスが本当のクライアントでありクローンではないことを確認すると共に、通信を行っている者がそのデバイスの真のオーナーであり偽者ではないことを認証するために、特定のセキュリティ及び認証方法が用いられる。
VoIP及びリアルタイムアプリケーションにおいて低遅延及び高QoSを有するセキュア通信を確実にするために、本開示に係る「セキュア動的ネットワーク及びプロトコル(Secure Dynamic Network And Protocol)」すなわちSDNPは、下記の構成要素を含む本発明に係る「動的メッシュ」ネットワークを使用する。
・動的に適合可能なマルチパス、及び遅延を最小化したメッシュルーティング
動的なパケットスクランブル化
・パケット分割、混合、パース、及びジャンクビットパケットフィラー(junk bit packet fillers)を使用した動的な断片化
・ネットワークまたはクラウドの全体に渡っての動的なノード内ペイロード暗号化
アドレス偽装及びニーズツーノウ(need-to-know)ルーティング情報による動的ネットワークプロトコル
・メディア及びコンテンツを、シグナリング、命令及び制御、及びネットワークアドレスから分離した複数チャンネル通信
・データ種類に特有のフィーチャ及びコンテキスチュアルルーティングによる動的に適合可能なリアルタイム通信プロトコル
・ユーザ鍵管理によるクライアント暗号化ペイロードのサポート
・混雑したネットワークでの高QoSのための軽量音声CODEC
上述したように、SDNP通信は、マルチルートまたはメッシュ伝送に依存して、データパケットを動的にルーティングする。本発明に係るSDNP通信では、インターネットOTT及びVoIPに使用される単一経路のパケット通信とは対照的に、データパケットのコンテンツは、情報を含んでいるコヒーレントパケットによって共通のソースまたは発呼者から直列的に搬送されるのではなく、断片化された形態で搬送される。複数のソース及び発呼者から送信されたコンテンツを動的に混合及び再混合することにより、データ種類が互いに異なるデータ、コンテンツ、音声、映像、及びファイルとジャンクデータフィラーとを組み合わせた不完全な断片が生成される。本開示に係るデータ断片化及び通信の利点は、暗号化及びスクランブル化されていないデータパケットであっても、それらはデータ種類が互いに異なる互いに無関係なデータの組み合わせであるため、解読するのはほぼ不可能だということである。
断片化されたパケットの混合及び分割を、パケットスクランブル化及び動的暗号化と組み合わせることにより、動的に暗号化、スクランブル化、断片化されたデータのハイブイリッド化されたパケットは、そのデータの生成、パケット化、及び動的再パケット化に使用された共有秘密、鍵、数値シード、時間、及びステート変数を持っていない任意の者または観察者には全く判読及び解読不能な意味を持たないパケットとなる。
さらに、各パケットの断片化コンテンツと、それの生成に使用された秘密情報は、新しい断片及び新しいセキュリティ要素(例えば、変更されたシード、鍵、アルゴリズム、及び秘密情報)によりパケットが再構成されるまでの一秒足らずの間でのみ有効である。このように、サイバーパイレーツがステート依存性SDNPデータパケットを解読するのに要する時間が制限されることにより、SDNPのセキュリティはさらに高められる。サイバーパイレーツは、十分の1秒で何万年分(解読に要する時間の12乗)もの計算を実行しなくてはならないためである。
上述した方法の組み合わせは、静的な暗号化により実現されるセキュリティよりもはるかに高いレベルの多次元的なセキュリティを可能にする。したがって、本開示に係るセキュア動的ネットワーク及びプロトコルは、本明細書中では、「ハイパーセキュア(hyper-secure)」ネットワークとも称す。
デバイスパケットのスクランブル化
本発明によれば、パケット交換網ネットワークを介したセキュア(セキュリティが確保された)通信は、ハッキング防止及びセキュリティ確保のいくつかの要素に依存し、そのうちの1つはSDNPパケットのスクランブル化を含む。SDNPパケットのスクランブル化は、データセグメントの配列を並べ替えて、情報を判読不能で無益なものにすることを含む。図2Aに示すように、スクランブル化されていないデータパケット923を、スクランブル化操作924(Scrambling Process)により処理し、スクランブル化データパケット925を生成する。このスクランブル化操作924は、任意のアルゴリズム、数値的手法、またはシーケンシング手法を使用することができる。アルゴリズムは、静的な方程式であり得、例えばスクランブル化が実施された時間(time)920などの「ステート(State)」に基づく動的変数または数値シード、または、シード生成器(Seed Generator)921により例えばスクランブル化が実施された時間920などのステートに基づくアルゴリズムを使用して生成された数値シード(seed)929を含み得る。例えば、各データが、単調増加するユニークな数に変換される場合は、全てのシード929はユニークなものとなる。時間920及びシード929は、特定のアルゴリズムを選択及び識別するのに使用され、また、利用可能なスクランブル化方法、すなわちスクランブル化方法リスト922(Scrambling Algorithms)から特定のスクランブル化操作924を選択するのにも使用される。データフロー図では、図示の便宜上、このパケットスクランブル化操作及びシーケンスは、パケットスクランブル化操作926(Packet Scrambling)として概略的または記号的に表示する。
図2Bは、スクランブル化操作924と逆の操作であるアンスクランブル化操作927(Unscrambling Process)を示す。このアンスクランブル化操作927は、スクランブル化データパケット925の生成に使用されたステート(時間)920及びそれに対応するシード929を再使用してスクランブル化を解除し、スクランブル化が解除されたデータである、スクランブル化されていないデータパケット923を生成する。パケットスクランブル化に使用されたものと同一のステート(時間)920を使用して、アンスクランブル化操作927では、スクランブル化方法リスト922から選択される、スクランブル化に使用されたものと同一のスクランブル化方法を再び使用しなければならない。スクランブル化アルゴリズムリスト922では「スクランブル化」という用語が用いられているが、このアルゴリズムテーブルは、「アンスクランブル化」の実施に必要とされる、スクランブル化と逆の操作を識別して選択するのに使用される。すなわち、スクランブル化アルゴリズムリスト922は、データパケットのスクランブル化及びアンスクランブル化の両方に必要な情報を含んでいる。この2つの操作は、互いに逆の順番で実施される同一のステップを含むので、スクランブル化アルゴリズムリスト922は、「スクランブル化/アンスクランブル化」アルゴリズムリスト922と称することもできる。しかしながら、明確にするために、このテーブル(リスト)は、スクランブル化の機能についてのみ称し、それと逆の機能(アンスクランブル化)については称さないものとする。
アンスクランブル化操作927の実施のために選択されたスクランブル化アルゴリズムが、パケットスクランブル化に使用されたアルゴリズムと一致しない場合、あるいは、シード929またはステート(時間)920が、スクランブル化が実施された時間と一致しない場合、アンスクランブル化操作は、元のスクランブル化されていないデータパケットの923の復号に失敗し、パケットデータが失われることとなる。データフローズ図では、図示の便宜上、このパケットアンスクランブル化操作及びシーケンスは、パケットアンスクランブル化操作928(Packet Unscrambling)として概略的または記号的に表示した。
本発明によれば、スクランブル化操作が可逆的である限り、すなわち、各ステップを元の処理のときと逆の順番で繰り返すことにより、データパケット内の各データセグメントをその元の適切な位置に戻すことができる限り、スクランブル化操作の実施に数値アルゴリズムが使用される。数学的には、許容可能なスクランブル化アルゴリズムは、可逆的なものである。すなわち、例えば下記のように、関数F(A)がその逆関数F-1(A)を有するか、またはその逆関数に変換できる。
F-1[F(A)]=A
これは、関数Fにより処理されたデータファイル、配列、文字列、ファイル、またはベクターAは、その後、逆関数F-1を使用して処理することにより、数値及び配列が壊れていない元の入力Aに復号できることを意味する。
このような可逆操作の例は、図2Cに示す静的スクランブル化アルゴリズムであり、ミラーリングアルゴリズム及び位相シフトアルゴリズムを含む。ミラーリングアルゴリズムでは、あるデータセグメントは、ミラーリング処理の係数すなわち「Mod」により定義された対称線を中心とした鏡像となるように、他のデータセグメントとスワップ(位置交換)される。図示したMod-2ミラーリング(Mod-2 Mirroring)では、元の入力データパケット930の互いに連続する2つのデータセグメント毎にスワップされる。つまり、1番目及び2番目のデータセグメント間、3番目及び4番目のデータセグメント間、5番目及び6番目のデータセグメント間(以下同様)の位置、すなわち数学的には、1.5番目、3.5番目、5.5番目、・・・、(1.5+2n)の位置に位置する対称線を中心として、データセグメント1A及び1Bの位置が交換され、データセグメント1C及び1Dの位置が交換され、データセグメント1E及び1Fの位置が交換され(以下同様)、これにより、スクランブル化された出力データパケット935が生成される。
Mod-3ミラーリング(Mod-3 Mirroring)では、互いに連続する3つのデータセグメント毎に、その1番目及び3番目のデータセグメントの位置が交換され、それらの中間の2番目のパケットは元の位置から変更されない。したがって、データセグメント1A及び1Cの位置が交換されるが、データセグメント1Bは元の位置(互いに連続する3つのデータセグメントにおける真ん中の位置)から変更されない。同様に、データセグメント1D及び1Fの位置が交換されるが、データセグメント1Eは元の位置(互いに連続する3つのデータセグメントにおける真ん中の位置)から変更されない。このようにして、スクランブル化されたデータパケット出力936が生成される。Mod-3ミラーリングでは、ミラーリングの対称線は、2番目、5番目、8番目、・・・、(2+3n)番目の位置に位置する。
Mod-4ミラーリング(Mod-4 Mirroring)では、互いに連続する4つのデータセグメント毎に、1番目及び4番目のデータセグメントの位置が交換され、かつ2番目及び3番目のデータセグメントの位置が交換され、これにより、入力データパケット931からスクランブル化された出力データパケット937が生成される。したがって、データセグメント1Aはデータセグメント1Dと位置が交換され、データセグメント1Bはデータセグメント1Cと位置が交換される。Mod-4ミラーリングでは、ミラーリングの対称線は、互いに連続する4つのデータセグメントにおける2番目のデータセグメントと3番目のデータセグメントとの間(例えば、2番目のデータセグメントと3番目のデータセグメントとの間、6番目のデータセグメントと7番目のデータセグメントとの間)の位置、すなわち数学的には、2.5番目、6.5番目、・・・、(2.5+4n)番目の位置に位置する。Mod-mミラーリング(Mod-m Mirroring)では、入力データパケット932のm番目のデータセグメントが、最初の、すなわち0番目のデータセグメントと位置が交換され、n番目のデータセグメントが(m-n)番目のデータセグメントと位置が交換され、これにより、スクランブル化された出力データパケット938が生成される。
図2Cには、フレームシフトと呼ばれる別のスクランブル化方法がさらに示されている。このフレームシフトでは、各データセグメントは、左側または右側に、1フレーム、2フレーム、またはそれ以上のフレームだけ位置がシフトされる。例えば、単一フレーム位相シフト(1-Frame Phase Shift)では、各データセグメントは、1フレームだけ位置がシフトされる。具体的には、1番目のデータセグメントは、2番目のデータセグメントの位置に位置がシフトされ、2番目のデータセグメントは、3番目のデータセグメントの位置に位置がシフトされ(以下同様)、これにより、スクランブル化された出力データパケット940が生成される。なお、入力データパケット930の最後のフレーム(図示した例では、フレーム1F)は、1番目のデータセグメント1Aの位置に位置がシフトされる。
2フレーム位相シフト(2-Frame Phase Shift)では、入力データパケット930の1番目のデータセグメント1Aは、3番目のデータセグメント1Cの位置に2フレーム分位置がシフトされ、4番目のデータセグメント1Dは、スクランブル化された出力データパケット941の最後(6番目)のデータセグメントの位置に位置がシフトされる。そして、最後から2番目(5番目)のデータセグメント1Eは、1番目のデータセグメントの位置に位置がシフトされ、最後(6番目)のデータセグメント1Fは、2番目のデータセグメントの位置に位置がシフトされる。同様に、4フレーム位相シフト(4-Frame Phase Shift)では、入力データパケット930の各データセグメントは4フレーム分位置がシフトされ、1番目のフレーム1Aはフレーム1Eと位置が交換され、フレーム1Bはフレーム1Fと位置が交換され、フレーム1Cはフレーム1Aと位置が交換され(以下同様)、これにより、スクランブル化された出力データパケット942が生成される。最大フレーム位相シフト(Maximum Phase Shift)の場合、1番目のフレームAは最後のフレームと位置が交換され、2番目のフレーム1Bは1番目のフレームの位置に位置がシフトされ(すなわち、出力データパケット943の最初のフレームとなり)、3番目のフレームは2番目のフレームの位置に位置がシフトされる(以下同様)。1つのフレームが最大位相を超えて位相シフトされると、出力データは入力データから変化しない。図示した例は、位相シフトのシフト方向は右側である。このアルゴリズムでは、位相シフトのシフト方向は左側であってもよいが、その場合は、結果は異なるものとなる。
本開示に係る上述したアルゴリズム及び同様の方法は、本明細書では、静的スクランブル化アルゴリズムと称する。スクランブル化操作が1回だけ行われ、それにより、入力データセットをユニークな出力に変換するからである。さらに、上述したアルゴリズムでは、スクランブル化の実施方法の決定は、データパケットの値に依存しない。図2Dに示すように、本発明によれば、パラメータ的なスクランブル化は、スクランブル化方法が、データパケット自体に含まれているデータに由来する値に基づいて、可能性があるスクランブル化アルゴリズム(例えば、Sort#A、Sort#Bなど)のテーブルから選択されることを意味する。例えば、各データセグメントを、そのデータセグメントに含まれるデータの計算に基づいて、数値に変換することができると仮定する。データセグメントの数値を決定するための1つの可能性があるアプローチは、データセグメント内のビットデータの10進数または16進数相当値を用いることである。データセグメントが多重項を含む場合、数値相当値は、データセグメント中の数字を合計することにより求められる。データセグメントのデータはその後単一の数字または「パラメータ」に組み合わされ、その後、使用するスクランブル化方法の選択に用いられる。
図示した例では、スクランブル化されていないデータパケット930は、ステップ950において、各データセグメントについての数値を含んでいるデータテーブル951にパラメータ的に変換される。図示のように、0番目のフレームであるデータセグメント1Aは、数値「23」を有し、1番目のフレームであるデータセグメント1Bは、数値「125」を有する(以下同様)。その後、ステップ952において、データパケット930全体についての単一のデータパケット値が抽出される。図示した例では、合計値953(Sum)の「1002」は、テーブル951からの全データセグメント値の線形合計、すなわちパラメータ値を合算したものを示す。ステップ954では、このパラメータ値(すなわち合計値953)を条件テーブル(すなわち、ソフトウェアでは予め規定された条件付実行構文(if-then-else statements))のセットと比較して、つまり、合計値953をテーブル955における多数の非重複数値範囲と比較して、使用するべきソートルーチンを決定する。この例では、パラメータ値「1200」は、1000から1499の範囲に入るので、ソート#C(Sort#C)を使用するべきであると決定される。ソートルーチンが選択されると、パラメータ値はもはや不要となる。スクランブル化されていない入力データ930はその後、ステップ956において、選択された方法でスクランブル化され、スクランブル化されたデータパケット出力959が生成される。図示した例では、テーブル957に要約されたソート#Cは、各データセグメントの相対移動のセットを含む。このセットでは、スクランブル化されたデータパケット959の第1のデータセグメント、すなわち0番目のフレームは、左側に3フレーム分移動(3つシフト)するように定義されている。1番目のフレームは、元の位置から変更されない(すなわち移動しない)データセグメント1Bを含む。2番目のフレームは、元の位置から左側に2つシフトしたデータセグメント1Eを含む。3番目のフレームも同様であり、3番目のフレームは、元の位置から左側に2つシフトしたデータセグメント1Fを含む。スクランブル化されたデータパケット出力959の4番目のフレームは、元の位置から右側に2つシフトした(すなわち+2移動した)データセグメント1Cを含む。5番目のフレームは、元の位置から右側に5つ位置がシフトした(すなわち+5移動した)データセグメント1Aを含む。
このようにして、テーブル957に要約されたソート#Cにより、各データセグメントは新しい位置に一意的に移動し、これにより、パラメータ的に決定されたスクランブル化データパケット959が生成される。スクランブル化データパケットをアンスクランブル化するときは、同一のソート方法(ソート#C)を使用して、上記の処理を逆の順番で行う。アンスクランブル化操作を実施するために同一のアルゴリズムが選択されることを確実にするために、データパケットのパラメータ値953は、スクランブル化操作により変更されない。例えば、各データセグメントのパラメータ値の線形合計を用いて、数の順番に関係なく、同一の数値が生成される。
動的スクランブル化方法は、システムのステート(例えば、時間)を使用して、データパケットがスクランブル化されたときの条件を識別し、これにより、アンスクランブル化操作を実行するときに、スクランブル化のときと同一の方法を選択することが可能となる。図2Eに示したシステムでは、ステートを使用して、偽装数値シードが生成される。偽装数値シードは、パッケージの送信側または受信側デバイスに送信され、スクランブル化アルゴリズムをテーブルから選択するのに使用される。あるいは、ステート自体が送信側または受信側デバイスに送信され、送信側または受信側デバイスに配置された隠し数字生成器で、スクランブル化/アンスクランブル化アルゴリズムの選択に使用される隠し数字を生成するのに使用される。図2Eに示すこのような構成では、ステート(例えば時間)920は、隠し数字生成器960(Hidden Number Generator)により隠し数字961(Hidden Number:HN)を生成し、隠し数字861を用いてスクランブル化アルゴリズムリスト962からスクランブル化方法を選択するのに使用される。隠し数字961を使用してスクランブル化アルゴリズムテーブル962から選択されたアルゴリズムが使用して、スクランブル化操作963(Scrambling)により、スクランブル化されていないデータパケット930をスクランブル化データパケット964に変換する。図2Fに示すように、ステート920は、隠し数字生成器960に、直接的に送信してもよいし、シード生成器921を経由して送信してもよい。
スクランブル化アルゴリズムを選択するのに、数値シードのみを使用するのではなく、隠し数字を使用することの利点は、データストリームの分析により、すなわちスクランブル化データの繰り返しセットをそれに対応する数値シードと統計的に相関させることにより、スクランブル化テーブルがサイバー犯罪的に再構成される可能性を排除できることである。シードは、データストリーム中で可視的であり、それ故にスパイされることあるが、隠し数字生成器は、共有秘密に基づいて隠し数字「HN」を生成することができる。そのため、隠し数字HNは、データストリーム中に存在せず、スパイまたはスニッフィングをされない。すなわち、隠し数字は、ネットワークを通じて送信されず、数値シードに基づきローカルで生成される。数値シードの目的は偽装であるため、隠し数字生成器でのこの数学的操作により、ハッカーを阻止するための追加的なセキュリティ層が得られる。
アルゴリズムが選択されると、数値シードは、スクランブル化操作963のアルゴリズムにおける入力変数としても使用される。このように数値シードを2回使用することにより、ハッカーによる分析をさらに混乱させることができる。シードは、アルゴリズムを直接的に選択しないが、アルゴリズムと協働して、スクランブル化されたデータセグメントの最終的な配列を決定するからである。同様に、動的スクランブル化データパケットをアンスクランブル化するときは、シード929(またはステート(時間)920)を、スクランブル化を実施した通信ノード、デバイス、またはソフトウェアから、アンスクランブル化を実施するノードまたはデバイスに送信しなければならない。
本発明によれば、シード生成器921のアルゴリズム、隠し数字生成器960、及びスクランブル化アルゴリズムリスト962は、DMZサーバ(後述する)に格納された「共有秘密」情報を意味し、データパケットの送信者または受信者のいずれにも知られていない。共有秘密は、事前に設定されており、送信される通信データパケットには関連せず、例えば、共有秘密の漏出防止を確実にするために様々な認証手続きが行われるコードのインストール時に設定される。後述するように、1セットの盗まれた共有秘密によって、ハッカーが全通信ネットワークにアクセスしたり、リアルタイム通信を妨害したりすることができないように、共有秘密は「ゾーン」に限定される。
任意の共有秘密に加えて、スクランブル化アルゴリズムがデータパケットの通過間で変化する動的スクランブル化では、「ステート」に基づくシードが、データのスクランブル化またはアンスクランブル化に必要とされる。シードの生成に使用されるステートに関する曖昧さが存在せず、かつデータパケットの前回のスクランブル化のときに使用されたステートを次のノードに知らせる何らかの手段が存在すれば、シードに基づくこのステートは、時間、通信ノード番号、ネットワーク識別子、さらにはGPS位置などの任意の物理的パラメータを含むことができる。シード生成器でシードを生成するのに使用されるアルゴリズムは共有秘密の一部であるので、ハッカーは、シードの情報から、そのシードがどのステートに基づいているかを知ることはできない。シードは、それ自体をデータパケットに埋め込むことにより、別のチャンネルまたは経路を通じて送信することにより、またはそれらの組み合わせなどにより、ある通信ノードから次の通信ノードに送信される。例えば、シードの生成に使用されたステートは、最初は乱数であり、その後は、データパケットが通信ノードを通過するたびに固定された数だけ増加するカウンタを含む。各カウントは、特定のスクランブル化アルゴリズムを表す。
動的スクランブル化の一実施形態では、スクランブル化の第1のステップでは、乱数が、使用されるスクランブル化方法を選択するために生成される。この乱数は、データパケットのヘッダ、またはデータパケットにおける命令及び制御のために確保された、スクランブル化の影響を受けない部分に埋め込まれる。データパケットが次のノードに到着すると、データパケットに埋め込まれた数字は、通信ノードにより読み取られ、入力データパケットをアンスクランブル化するための適切なアルゴリズムを選択するためにソフトウェアで使用される。数字、すなわち「カウント」は、その後、1または予め定められた整数ずつ増やされ、パケットは、この新しい数字に関連するアルゴリズムに従ってスクランブル化される。そして、新しいカウントが、出力データパケットに格納され、前のカウントを上書きする。次の通信ノードでは、この処理が繰り返される。
スクランブル化アルゴリズムを選択するための本開示に係るカウンタベース方法の別の実施形態では、最初のスクランブル化アルゴリズムを選択するために、乱数が生成され、この乱数は、「共有秘密」として、特定のデータパケットを送信するのに使用される全ての通信ノードに送信される。カウント(例えば0から始まる)が、データパケットのヘッダ、またはデータパケットにおける命令及び制御のために確保された、スクランブル化の影響を受けない部分に埋め込まれる。データパケットはその後、次の通信ノードに送信される。パケットが次の通信ノードに到着すると、そのサーバはカウントの数値を読み取り、そのカウントに初期の乱数を追加し、データパケットの前回のスクランブル化に使用されたスクランブル化アルゴリズムを識別し、それに従ってパケットをアンスクランブル化する。カウントはその後、その後、1または予め定められた整数ずつ増やされ、そのカウントは再び、データパケットのヘッダ、またはデータパケットにおける命令及び制御のために確保された、スクランブル化の影響を受けない部分に埋め込まれ、前のカウントを上書きする。共有秘密としての役割を果たす乱数は、通信データパケットに埋め込まれて送信されない。データパケットが次の通信ノードに到着すると、サーバは、乱数(共有秘密)を、データパケットから抽出した更新されたカウントの数値に追加する。この新しい数字は、前の通信ノードで入力パケットをスクランブル化するのに使用されたスクランブル化アルゴリズムを一意的に識別する。この方法では、意味を持たないカウント数のみが、サイバーパイレーツによりデータパケットのスクランブル化されていない部分から傍受され得るが、サイバーパイレーツにはそのデータが何を意味するか分からない。
別の方法では、パケットのステート及びパケットのスクランブル化に使用されたアルゴリズムを知らせるのに、隠し数字が使用される。隠し数字は、経時的に変化するステートまたはシードを、一般的に数値アルゴリズムを含む共有秘密と組み合わせ、通信ノード間では送信されず、それ故に中間者攻撃またはサイバーパイレーツからスニッフィングまたは見つかることがない秘密の数字、すなわち「隠し数字」を生成するのに使用される。この隠し数字はその後、スクランブル化に用いられるスクランブル化アルゴリズムを選択するのに使用される。ステートまたはシードは、隠し数字の計算に使用されるアルゴリズムを知らなければ意味を持たず、また、共有秘密アルゴリズムは、ネットワークまたはインターネットを介してアクセス不能なファイアウォールの背後に格納されるので、ネットワークトラヒックのモニタリングによってパターンが明らかになることはない。さらに複雑なことには、シードの位置により、共有秘密を表すことができる。一実施形態では、データパケットのスクランブル化されていない部分により伝送される、データスニッフィング可能な数字、例えば27482567822552213は、その一部のみがシードを示す長い数字を含む。例えば、3番目から8番目までの数字がシードを示す場合、実際のシードは、27482567822552213の全体の数字ではなく、一部の数字、すなわち48256である。このシードは、その後、隠し数字を生成するために、共有秘密アルゴリズムと組み合わされる。そして、隠し数字は、ネットワークを通じて動的に変化するスクランブル化アルゴリズムを選択するのに使用される。
SDNPネットワークにおけるデータパケットのスクランブル化に関しては、出願日2015年7月20日、「セキュア動的ネットワーク及びプロトコル(Secure Dynamic Network And Protocol)」、アメリカ出願番号14/803,869で記述されている。ラストマイル通信におけるデータパケットのスクランブル化に関しては、本開示で更なる詳細が記述されている。
前述されたように、ネットワークを横断するデータは、スクランブル化されたにも関わらず、「プレーンテキスト」(Plaintext)と呼ぶことができる。実データがデータパケット中に存在している、すなわち、データパケットがサイファテキストに暗号化されていないからである。対照的に、サイファテキストでは、元のデータを含む文字列は、スクランブル化の有無に関わらず、暗号化鍵を使用して意味を持たない文字列に変換され、復号鍵を使用しない限りは、その元のプレーンテキストの形態には復元されない。本開示に係るSDNPベース通信における暗号化の役割は、下記の「パケット暗号化」のセクションにおいてさらに説明する。
図3に示すように、ネットワークを通じた伝送中にデータパケットのデータセグメント配列を変更するためには、パケットの「再スクランブル化」が必要となる。このパケット再スクランブル化のプロセスは、スクランブル化データを新しいスクランブル化アルゴリズムにより再びスクランブル化する前に、スクランブル化データをそのアンスクランブル化状態に戻す。したがって、本明細書で使用される「再スクランブル化」という用語は、データパケットをアンスクランブル化した後に、一般的には別のスクランブル化アルゴリズムまたは方法により再びスクランブル化することを意味する。このアプローチにより、既にスクランブル化されているパッケージを再びスクランブル化することにより元のデータの復元に必要なデータセグメント配列が分からなくなることによって生じ得るデータ破損のリスクが避けられる。図示のように、パケットスクランブル化操作926により最初にスクランブル化された後に、スクランブル化データパケット1008が「再スクランブル化」される。つまり、スクランブル化データパケット1008は、まず、そのデータのスクランブル化に使用されたスクランブル化アルゴリズムと逆の処理を用いてアンスクランブル化操作928によりアンスクランブル化され、その後、スクランブル化操作926により、前回のスクランブル化操作926で使用されたものとは別のスクランブル化アルゴリズムを使用して、再びスクランブル化される。この結果生成された再スクランブル化データパケット1009は、その前のスクランブル化データパケット1008とは異なる。再スクランブル化操作1017は、アンスクランブル化とそれに続くスクランブル化との連続的な実施を含み、これを本明細書中では「US再スクランブル化(US Rescrambling)」と称する(USは、アンスクランブル化・スクランブル化(unscrambling-scrambling)の略語である)。元のデータパケット930を復元するためには、最終的なパケットアンスクランブル化操作928は、データパケットの最後の再スクランブル化に使用されたアルゴリズムと逆の処理の実施を必要とする。
本発明によれば、データの静的及び動的スクランブル化により、スクランブル化されていないデータを判読不能な無意味な(意味を持たない)ものに変更し、音声を認識不能なノイズに並べ換え、テキストを無意味なものに並べ替え、画像を真っ白な画像(video snow)に変換し、コードを復元不能にスクランブル化することができる。スクランブル化だけによって、高いセキュリティを提供することができる。そして、本開示に係るSDNP法では、スクランブル化は、ハッキング、サイバー攻撃、サイバーパイラシー、及び中間者攻撃から逃れるセキュア通信(セキュリティが確保された通信)を提供及び確保することができる1つの要素に過ぎない。
パケット暗号化
本発明によれば、パケット交換ネットワークを介したセキュア通信は、ハッキング防止及びセグメント確保のためのいくつかの要素に依存し、そのうちの1つはSDNP暗号化を含む。上述したように、「隠す」、「秘密にする」、「見えなくする」を意味するギリシャ語に由来する暗号化は、一般的に「プレーンテキスト」と呼ばれる通常の情報またはデータを、秘密情報を使用しない限りは判読することはできない判読不能なフォーマットの「サイファテキスト」に変換する手段を表す。最近の通信では、この秘密情報は、一般的に、データの暗号化及び復号に使用される1またはそれ以上の「鍵」を共有することを含む。この鍵は、一般的に、アルゴリズム的に生成された擬似乱数を含む。「Cryptonomicon」などの様々な暗号化技術のメリット及びデメリットについて論じた様々な文献または文章としては、現在、例えば、「Neal Stephenson (C) 1999」、「The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography、by Simon Singh (C) 1999」、「Practical Cryptography、by Niels Ferguson (C) 2013」、及び「Cryptanalysis: A Study of Ciphers and Their Solution、first published in 1939」などが入手可能である。
暗号化または暗号のコンセプトは古くからあり当業者には公知であるが、本開示に係るセキュア動的ネットワーク及びプロトコルにおける暗号化法の応用はユニークなものであり、クライアント自体の暗号化から独立しており、ネットワークアーキテクチャ自体に対するエンドツーエンド暗号化(end-to-end encryption)及びシングルホップノードツーノード動的暗号化(single-hop node-to-node dynamic encryption)の両方を容易にする。SDNP通信は、暗号をどれだけ複雑にしても、十分な時間さえあれば、あらゆる静的暗号化ファイルまたはメッセージは最終的には破られてその情報が盗まれる、という基本的教訓に基づいて設計されている。この仮定は実際には不正確であるが、この仮定を証明または反証する必要はない。なぜならば、特定の暗号化法が失敗するまで待つと、許容不能な及び取り戻せない結果的被害が生じるからである。
この代わりに、SDNP通信は、全ての暗号化ファイルは限られた「保存可能期間」を有するという前提に基づいている。これは、暗号化されたデータは有限の期間においてのみセキュリティが確保されており、秘密データは、所定の間隔で、理想的には最新式コンピュータで暗号を破るのに必要とされる時間の最も正確な見積もりよりもはるかに高い頻度で、動的に再暗号化しなければならないことを暗喩的に意味する。例えば、暗号処理装置の大きなサーバファームが所定の暗号を1年で破ることができると暗号学者により推測される場合は、SDNP通信では、データパケットを1秒毎または100ミリ秒毎、すなわち暗号を破るための最高の技術よりも何桁も短い間隔で再暗号化する。したがって、SDNP暗号化は必然的に、動的すなわち経時変化的であり、また空間的にも、すなわちパケット交換ネットワークまたは地図上における通信ノードの位置に依存して変化し得る。このため、「再暗号化」または「再暗号化法」という用語は、データパケットを復元し、その後に、別の暗号化アルゴリズムまたは方法を用いて再び暗号化することを指す。
このため、SDNP暗号化は、データを、暗号化されていないプレーンテキストからサイファテキストに繰り返し及び頻繁に変換し、情報を判読不能で無意味なものに改変することを含む。もし、所定のパケットのデータ暗号化が奇跡的に破られたとしても、SDNP動的暗号化方法を用いることにより、次のデータパケットでは全く異なる暗号化鍵または暗号が使用されるので、その暗号を破るためには、全く新しい労力が必要となる。個別に暗号化された各データパケットに含まれるコンテンツを制限することにより、不正アクセスのダメージの可能性を減らすことができる。破られたデータパケットに含まれるデータファイルの大きさを、サイバーパイレーツにとって意味をなすまたは有用となるには小さすぎるようにすることができるからである。さらに、動的暗号化を上述したSDNPスクランブル化方法と組み合わせることにより、通信のセキュリティを大幅に高めることができる。暗号化されていない形態でも、傍受されたデータファイルには、データセグメントの順番が無意味で判読不能となるようにスクランブル化されたデータ、音声、または映像の小さい断片しか含まれていない。
保存可能期間に関連するセキュリティの懸念を避けるために、SDNP暗号化は、動的であり、かつステート依存性である。図4Aに示すように、プレーンテキスト930(Plaintext)を含む暗号化されていないデータパケットは、暗号化操作1020(Encryption Process)により処理され、これにより、サイファテキスト1024及び1025(Ciphertext)を含む暗号化データパケットが生成される。サイファテキスト1024については、プレーンテキスト930のデータパケットは全体として暗号化され、データセグメント1A-1Fは、単一のデータファイルとして扱われる。一方、サイファテキスト1025については、プレーンテキスト930のデータセグメント1A-1Fは個別に暗号化され、他のデータセグメントと混合されない。プレーンテキストの第1のデータセグメント1Aは、それに対応する第1のサイファテキストセグメント(説明目的のために図示した「7$」で始まる長い文字列であり、図示しない長い文字列または数字を含む)に暗号化される。同様に、プレーンテキストの第2のデータセグメント1Bは、第2のサイファテキストセグメント(説明目的のために図示した「*^」で始まる長い文字列)に暗号化される。文字「7$」及び「*^」は、記号、数字、アルファベットなどの無意味な文字列の先頭を意味しており、プレーンテキストソースの特定のデータまたは暗号化された文字列の長さについて限定または暗示するものではない。
暗号化操作1020(Encryption Process)は、利用可能な任意のアルゴリズム、暗号化方式、または暗号化方法を用いることができる。暗号化アルゴリズムは静的な方程式を示すが、一実施形態では、暗号化操作は、暗号化を行うときに、例えば時間920などの動的変数または「ステート」を使用する。また、暗号鍵生成器1021を使用して、暗号化を実施したときの時間920などのステートに依存する暗号化鍵(E鍵)1022を生成する。例えば、暗号化の日付及び時間が、ハッカー等が暗号化アルゴリズムを見つけた場合でも再生成することはできないE鍵を生成するための数値シードとして使用される。時間920または他の「ステート」はまた、利用可能な暗号化アルゴリズムのリストである暗号化アルゴリズムリスト1023(Encryption Algorithms)から特定のアルゴリズムを選択するのに使用される。データフロー図では、図示の便宜上、このパケット暗号化操作及びシーケンスは、暗号化操作1026(Encryption)として概略的または記号的に表示する。本開示を通じて、セキュア及び暗号化データは、パドロック(南京錠)によっても記号的に表される。特に、時計の文字盤が上側に配置されたパドロックは、セキュア送信メカニズム、例えば、特定の時間間隔以内または特定の時間までに受信しなかった場合には暗号化ファイルは自己破壊され永久に失われることを示す。
図4Bは、暗号化操作1020と逆の操作である復号操作1031を示す。この復号操作1031では、サイファテキスト1024(Ciphertext)の生成に使用されたステート(時間または他のステート)920を再使用し、復号鍵生成器1021により生成された復号鍵(D鍵)1030と協働して暗号化を解除し、すなわちファイルを復号し、元のプレーンテキストデータパケット990(Plaintext)を含む暗号化されていないデータを生成する。復号操作1031(Decryption Process)では、パケットの暗号化のときに使用されたものと同一のステート(時間)920を使用して、暗号化のときに暗号化アルゴリズムリスト1023から選択されたものと同一の暗号化アルゴリズムを再び選択して使用する。暗号化アルゴリズムリスト1023では「暗号化」という用語が用いられているが、このアルゴリズムテーブルは、「復号」の実施に必要とされる、暗号化と逆の操作を識別して選択するのに使用される。すなわち、暗号化アルゴリズムリスト1023は、データパケットの暗号化及び復号の両方に必要な情報を含んでいる。この2つの操作は、互いに逆の順番で実施される同一のステップを含むので、このテーブル1023は、「暗号化/復号」アルゴリズムテーブル1023とも称することもできる。しかしながら、明確にするために、このテーブルは、暗号化の機能についてのみ称し、その反対の機能(復号)については称さないものとする。
復号操作1031の実施のために選択された暗号化アルゴリズムが、パケット暗号化操作1020に使用されたアルゴリズムと逆のものと一致しない場合、ステート(時間)920が、暗号化のときの時間と一致しない場合、または、D鍵1030が、暗号化のときに使用されたE鍵1022に対して予め定められた数値関係を有さない場合、復号操作1031は、暗号化されていない元のデータ990の復元に失敗し、パケットデータは失われることとなる。データフロー図では、図示の便宜上、このパケット復号操作及びシーケンスは、復号化操作1032として概略的または記号的に表示する。
前述したように、暗号化及び一般的な暗号化アルゴリズムにおける暗号化鍵及び復号鍵の使用に関する知識、とりわけ対称公開鍵暗号化、RSA暗号化、AES256暗号化などは、当業者には一般的であり公知である。しかしながら、このような公知の暗号化方法を本開示に係るSDNP通信システムへの適用にすると、本開示に係るSDNP通信に特有の隠された情報、共有秘密、及び時間依存性の動的変数及びステートによって、ハッキングまたは暗号解読は困難になる。
したがって、サイバーパイレーツがロバストな暗号化方法を最終的に破ることができるコンピュータ処理能力を有しているという、あり得そうにない場合でも、サイバーパイレーツは、復号操作の実施に必要な非公開または共有秘密としてSDNPネットワークに埋め込まれたいくつかの情報を欠いており、また、暗号が変更される前に、暗号を1秒足らずの間に破らなければならない。さらに、本開示に係るSDNPネットワークを横断する全てのデータパケットは、固有の鍵及び動的ステートに基づき決定される互いに異なる暗号化方法を使用する。欠けた情報、動的ステート、及び任意のパケットに含まれた限定された情報コンテンツの組み合わせにより、任意のデータパケットから盗まれた意味も持つデータを、サイバーパイレーツにとって困難で報われないものにする。
SDNPネットワークにおけるデータパケットの暗号化及び復号化は、前述された出願日2015年7月20日、「セキュア動的ネットワーク及びプロトコル(Secure Dynamic Network And Protocol)」、アメリカ出願番号14/803,869で記述されている。ラストマイル通信におけるデータパケットの暗号法に関しては、本開示で更なる詳細が記述されている。
文章、動画ストリーム、または音声会話の全体を傍受して、コヒーレントデータシーケンスを再構成するためには、サイバー攻撃者は、1つだけではなく数千もの一連のSDNPパケットを連続的に破って復号しなければならない。動的な暗号化を、上述したデータパケットスクランブル化に関する方法と組み合わせることにより、一連のSDNPパケットを連続的にハッキングするという困難な作業がさらに困難になる。図5に示すように、暗号化及びスクランブル化されたデータパケット1024(Ciphertext of Scrambled Data Packet)は、スクランブル化操作926と暗号化操作1026との連続的な組み合わせにより生成される。まず、スクランブル化操作926によりスクランブル化されていないプレーンテキストデータパケット990(Un-scrambled Plaintext)をスクランブル化プレーンテキストデータパケット1008(Scrambled Plaintext)に変換し、その後に、暗号化操作1026によりスクランブル化データパケットのサイファテキスト1024に変換する。スクランブル化パッケージの暗号化を繰り返すためには、上記と逆の操作を上記と逆の順番で行う。まず、復号操作1032によりスクランブル化プレーンテキストデータパケット1035(Scrambled Plaintext)に復号し、その後に、アンスクランブル化操作928によりスクランブル化されていないプレーンテキストデータパケット990(Unscrambled Plaintext)を復元する。
図示のように、スクランブル化及び暗号化は、セキュア通信を実現するための相補的な技術を表す。ネットワークを横断する暗号化されていないスクランブル化データは、データパケット内に実データが存在するので、すなわちパケットはサイファテキストに暗号化されていないので、「プレーンテキスト」と呼ばれる。暗号化データパケット、すなわちサイファテキストは、暗号化鍵を使用して無意味な文字列に変換され、対応する復号鍵を使用しない限りは元のプレーンテキストに復元することはできない、スクランブル化されたまたはスクランブル化されていない文字列を含む。使用されるアルゴリズムに依存して、暗号化鍵及び復号鍵は、同一の鍵、または予め定められた数学的関係で数学的に関連する別個の鍵であり得る。したがって、スクランブル化及び暗号化は、SDNP通信のための本発明に係るセキュア通信を実現するための相補的な技術を表す。
スクランブル化及び暗号化の2つの方法は、暗号化されたスクランブル化データパケットから元のデータパケットを復元するときの順番が暗号化のときと逆の順番で行われることを除いて、互いに組み合わせて使用する場合でも別個のものとして見なすことができる。例えば、データパケット990をスクランブル化操作926によりスクランブル化した後に暗号化操作1026により暗号化した場合は、元のデータパケットに復元するためには、暗号化及びスクランブル化されたデータパケット1024を復号操作1032により復号した後にアンスクランブル化操作928によりアンスクランブル化する。数学的には、スクランブル化操作Fにより、ビットまたは文字の列を、それに対応するスクランブル化バーションにスクランブル化し、アンスクランブル化操作F-1により、スクランブル化を解除することは、下記のように表される。
F-1[F(A)]=A
同様に、暗号化操作Gにより、一連のプレーンテキストをそれに対応するサイファテキストに暗号化し、復号操作G-1により、暗号化を解除することは、下記のように表される。
G-1[G(A)]=A
したがって、
F-1{G-1[G(F(A))]}=A
と表すことができる。各操作の順番が逆の順番で行われ、具体的には、暗号化及びスクランブル化されたパケット[G(F(A))]を復号[G-1]することにより、スクランブル化されたプレーンテキストデータパケットF(A)が復元され、その後、スクランブル化されたプレーンテキストパケットF(A)のアンスクランブル化操作F-1により、元のデータパケットAが復元されるからである。
線形的方法を用いると仮定すると、各操作の順番は可逆的である。例えば、データパケットを暗号化した後にスクランブル化した場合は、元のデータパケットに復元するためには、スクランブル化サイファテキストをアンスクランブル化した後に複合される。すなわち、下記のように表される。
G-1{F-1[F(G(A))]}=A
各操作の順番を変更すると、元のデータパケットを復元することはできない。つまり、暗号化した後にスクランブル化したデータパケットを、アンスクランブル化する前に復号すると、元のデータパケットを復元することはできない。すなわち、下記のように表される。
F-1{G-1[F(G(A))]}≠A
同様に、スクランブル化した後に暗号化したパケットを、復号する前にアンスクランブル化すると、元のデータパケットを復元することはできない。すなわち、下記のように表される。
G-1{F-1[G(F(A))]}≠A
要約すると、プレーンテキストパケットを暗号化の前にスクランブル化した場合は、アンスクランブル化の前に復号しなければならない。また、プレーンテキストパケットをスクランブル化の前に暗号化した場合は、復号の前にアンスクランブル化しなければならない。
スクランブル化及び暗号化はどの順番で行ってもよいが、本発明に係るSDNP方法の一実施形態では、暗号化及び復号は、ネットワーク転送中にスクランブル化よりも頻繁に行われる。このため、図5に示すように、暗号化は、スクランブル化の後に行うべきであり、復号はアンスクランブル化の後に行うべきである。便宜上、パケットスクランブル化操作926と、それに続く暗号化操作1026との組み合わせを、スクランブル化・暗号化操作1041(Scramble & Encypt)と定義する。また、それと逆の、復号操作1032と、それに続くパケットアンスクランブル化操作928との組み合わせを、復号・アンスクランブル化操作1042(Decrypt & Unscramble)と定義する。これらの組み合わされた操作は、本発明に係る静的及び動的SDNP通信に用いられる。
静的スクランブル化暗号化を用いて、任意の実装においてセキュリティを高める方法の1つは、各データパケットを、別個のスクランブル化及び/または暗号化方法(例えば、各データパケットが通信ネットワークに入るときの時間t1でのステート、シード、及び/または鍵の変更を含む)を用いてスクランブル化及び/または暗号化を実施することである。
しかしながら、よりロバストな別な方法は、データパケットがネットワークを横断するときに、データパケットの暗号化またはスクランブル化、あるいはその両方を動的に変更することを含む。SDNPの完全な動的バージョンの実現に必要なデータ処理を容易にするためには、パケット交換通信ネットワークの各通信ノードを通過する各パケットを「再スクランブル化(すなわち、アンスクランブル化及びそれに続くスクランブル化)」及び「再暗号化(すなわち、復号及びそれに続く暗号化)」するために、上記に定義した処理を組み合わせる必要がある。本明細書において使用される「再パケット」または「再パケット化」という用語は、パケットがアンスクランブル化の前に復号されるか、または復号された後にアンスクランブル化されるかに関わらず、「再スクランブル化」及び「再暗号化」の組み合わせを指すのに用いられる。いずれの場合でも、あるノードでのアンスクランブル化操作及び復号操作は、その前のノードでパケットをスクランブル化及び暗号化したときの順番と逆の順番で行わなければならない。すなわち、前のノードでパケットをスクランブル化した後に暗号化した場合は、現在のノードでは、パケットを復号した後にアンスクランブル化しなければならない。一般的に、パケットは、現在のノードから出力されるときに、スクランブル化した後に暗号化される。
通信ノードでの「再パケット化」操作を図6に示す。通信ノードに入力されたサイファテキストデータパケット1040は、まず、復号操作1032により復号され、その後に、アンスクランブル化操作928によりアンスクランブル化される。これにより、元のパケットのコンテンツを含む、スクランブル化されていないプレーンテキストデータパケット990(Unscrambled Plaintext (content))が復元される。パケット内の任意の情報を検査、解析、分割、またはリダイレクトする必要がある場合、スクランブル化されていないプレーンテキストファイルは、そのような操作を行うのに最適なフォーマットである。そして、プレーンテキストデータパケット990は、スクランブル化操作926により再びスクランブル化された後、暗号化操作1026により再び暗号化され、これにより、新しいスクランブル化サイファテキストデータパケット1043が生成される。通信ノードに入力されたサイファテキストデータパケット1040の再パケット化操作では、復号、アンスクランブル化、スクランブル化、暗号化が連続的に行われるので、その頭文字を並べて、本発明に係る技術をDUSE再パケット化操作1045(DUSE Re-Packet)と称する。動的なセキュアネットワークでは、復号操作1032及びアンスクランブル化操作928を実施するために使用されるステート(時間)、復号鍵、及びシードは、スクランブル化操作926及び暗号化操作1026を実施するために使用されるステート(時間)、暗号鍵、及びシードとは異なることが好ましい。
SDNPネットワークにおけるデータパケットの再パケット化は、前述された出願日2015年7月20日、「セキュア動的ネットワーク及びプロトコル(Secure Dynamic Network And Protocol)」、アメリカ出願番号14/803,869で記述されている。ラストマイル通信におけるデータパケットの再パケット化に関しては、本開示で更なる詳細が記述されている。
パケットの混合及び分割
本開示に係る動的なセキュア通信ネットワーク及びプロトコルの別のキー要素は、データパケットをサブパケットに分割して複数のルートに送信し、サブパケットを組み合わせて再構成し、完全なデータパケットを再構成する機能である。データパケット1054を分割操作1051(Splitting(Un-mixing)Process)により分割するプロセスを図7Aに示す。分割操作1051は、アルゴリズム的なパース操作1052(Parse)をジャンク操作1053(Junk)と組み合わせた操作であり、非データの「ジャンク」データセグメントを挿入または除去する機能を有する。ヒトゲノム内に存在するジャンクDNAと同様に、ジャンクデータセグメントは、ジャンク操作1053により、データパケットの長さを延長または調節するために挿入され、また必要に応じて除去される。ジャンク操作1053は、パケットを満たすデータの量が不十分である場合に、とりわけ重要である。また、データパケットに挿入されたジャンクデータセグメントの存在は、サイバーパイレーツが実データをノイズと区別することを困難にする。本明細書で使用される「ジャンク」パケットまたはデータセグメントは、意味を持たないデータ(ビット)だけで構成されるパケットまたはデータセグメントである。このようなジャンクビットをデータパケットのストリーム中に導入することにより、実データを多数の無意味なビットの中に埋没させることができる。
パース操作1052の目的は、各構成要素を処理するために、データパケット1054をより小さなデータパケット(例えば、サブパケット1055及び1056)に分割することである。データパケット1054をより小さな部分に分割することにより、例えば、マルチパス伝送をサポートすること、すなわちデータパケットを複数の別個の経路を通じて伝送すること、及び別個の暗号化方法を用いたサブパケットの個別の暗号化を容易にすることなどの、固有の利点を提供することができる。
分割操作は、任意のアルゴリズム、数値的方法、またはパース(parsing)方法を用いることができる。アルゴリズムは、静的方程式で表すか、または、動的変数または数値シードまたは「ステート」、例えば入力データパケット1054が多数のサブパケットにより最初に形成されたときの時間920、及びシード生成器921で生成された数値シード929(このシードもデータパケットの生成時の時間920などのステートに依存する)を含むことができる。例えば、各データが、単調増加する固有の数に変換される場合、各シード929は固有のものとなる。時間920及びシード929は、利用可能な方法のリスト、すなわち混合アルゴリズム1050(Mixing Algorithms)から選択される特定のアルゴリズムを識別するのに使用される。パケット分割操作は、混合操作と逆の処理を含み、混合操作で特定のパケットの生成に使用されたアルゴリズムと正反対の順番で実行されるアルゴリズムを使用する。つまり、実施された操作は全て元に戻すことができるが、全てを1つのステップで行う必要はない。例えば、スクランブル化及び暗号化されたデータパケットは、復号しても、スクランブル化が保たれるようにしてもよい。分割操作1051で処理することにより、非分割データパケット1054は、複数のデータパケット、例えば固定長パケット1055及び1056に変換される。この操作をアルゴリズム的に実施するのに、パース操作1052が用いられる。データフロー図では、図示の便宜上、パース操作1052及びジャンク操作1053を含むこのパケット分割操作1051は、分割操作1057として概略的または記号的に表示する。
したがって、本明細書で使用される「分割」という用語は、1つのパケットを2以上のパケットすなわちサブパケットに分割するパースを含む。また、「分割」という用語は、「パースされた」パケットまたはサブパケットにジャンクパケットまたはサブパケットを挿入すること、または、「パースされた」パケットまたはサブパケットからジャンクパケットまたはサブパケットを除去することを含む。
分割操作と逆の操作であり、複数のパケット1055及び1056を混合して混合パケット1054を生成するパケット混合操作1060(Mixing Process)を図7Bに示す。パケット分割操作と同様に、このパケット混合操作は、任意のアルゴリズム、数値的方法、または混合方法を用いることができる。アルゴリズムは、静的方程式で表すか、または、動的変数または数値シードまたは「ステート」、例えば入力データパケット1055及び1056が生成されたときの条件を特定するのに使用される時間920を含むことができる。データパケットの生成に使用される混合操作は、シード生成器921で生成された数値シード929(このシードも時間920などのステートに依存する)を使用することができる。時間920及びシード929は、利用可能な混合方法のリスト、すなわち混合アルゴリズム1050から選択される特定の混合アルゴリズムを識別するのに使用される。データフロー図では、図示の便宜上、このパケット混合操作1060を、混合操作1061として概略的または記号的に表示する。
本発明によれば、パケット混合及びパケット分割は、可能性がある様々なアルゴリズムのうちの任意のものを用いて行うことができる。図8は、可能性がある3つの混合技術、連結方法(Concatenation)、交互配置方法(Interleaved)、アルゴリズム的方法(Algorithmic)を示す。連結方法では、データパケット1056のデータセグメント配列を、データパケット1055の末端に追加して、混合パケット1054を生成する。交互配置方法では、データパケット1055及び1056のデータセグメントが交互に、すなわち、1A、2A、1B、2Bの順番で互い違いとなるように混合して、混合パケット1056を生成する。パケット混合に用いられる他の方法は、アルゴリズム的方法である。図示した例では、アルゴリズムは、交互的な鏡映対称(インターリーブ鏡映対称)を含み、データセグメントを、混合パケット1066の前半部分では、1A、2A、1B、2B、1C、2Cの順番で配置し、混合パケット1066の後半部分では、前半部分とは逆の順番で、すなわち2D、1D、2E、1E、2F、1Fの順番で配置する。
SDNPネットワークでのデータパケットの混合と分割の適用は、上記に参照される「セキュア動的通信ネットワーク及びプロトコル」という名称の米国出願第14/803,869号に記載されている。図9Aは、機能とそれに対応する逆の処理、すなわち逆機能、及び対応する機能の動的コンポーネント、すなわちデータパケットで実行されたときの各機能の状態または時間を含むSDNP機能要素を要約するものである。SDNP機能には、パケットスクランブル化操作926及びその逆機能のパケットアンスクランブル化操作928を含むスクランブル化操作、分割操作1057及びその逆機能の混合操作1061を含む断片化操作、ジャンク挿入1053Aとジャンク除去1053Bを含む偽装操作、及び暗号化操作1026及び復号化操作1032を含む暗号化操作が含まれる。これらの機能は全て、時間または状態変数920に従って一意に発生する。
データパケットの混合と分割の適用は、ラストマイル通信におけるスクランブル化、アンスクランブル化、暗号化、復号化、及び偽装と共に、集合的にSDNPラストマイルセキュリティ操作を構成する。このSDNPラストマイルセキュリティ操作は「方向性」である。つまり、全ての発信データパケットに対して実行される操作は、着信データパケットに対して実行される操作とは異なる。
SDNPラストマイルセキュリティ操作もラストマイルに対して対称的かつ可逆的である。つまり、特定のラストマイルに固有の鍵、シード、共有秘密などのローカルセキュリティクレデンシャル情報が使用され、クライアントデバイスの送信データパケットで実行される操作はSDNPゲートウェイで元に戻すことができる。これは、一般的に逆機能、すなわち数学的逆またはクライアントデバイスによって元々実行された全ての機能操作を逆の順序で行うことで実行される。そのため、SDNPゲートウェイは、SDNPクラウド経由のルーティングの準備として元のコンテンツを回復するように有効化される。同様に、ラストマイルのゾーン固有のセキュリティクレデンシャル情報を通してクライアントデバイスに着信するデータパケットの場合、クライアントデバイスで実行されるSDNPラストマイルセキュリティ操作により、逆機能を逆の順序で実行することで、SDNPゲートウェイで実行される各セキュリティ操作を取り消すことができる。このように、クライアントデバイスでは全ての着信データパケットの元のデータを回復することが可能である。
SDNPラストマイルセキュリティ操作は動的である。そして、これは、データパケットが準備された時点で使用されるパラメータ及び特定のラストマイルに固有の地域、地理、またはロケールを決定するため、場所や時間などのステートに依存する条件を使用してローカライズされる、すなわちゾーンに固有となる。ローカライズされることで、異なる地域の異なるラストマイル接続で実行されるデータパケットの準備で、同じコーディングまたは同じセキュリティクレデンシャル情報が使用されることがなくなる。また、これらのラストマイルセキュリティクレデンシャル情報が、SDNPクラウドで使用される認証情報とは常に異なるものとなる。さらに、動的であるため、データパケットの作成に使用されるステートが絶えず変化し、各データパケットで実行される実際のセキュリティプロセスがさらに難読化され、2つのデータパケットが同様にレンダリングされることがなくなる。
各ラストマイル通信に固有の方向性の対称可逆かつ動的でローカライズされたセキュリティ操作の独自の組み合わせを適用することで、本発明に従って行われる動的スクランブル化、動的断片化、動的偽装、及び動的暗号化のアルゴリズムの適用により、単純な静的暗号化方式の使用では達成できないハイパーセキュア通信が保証される。わずか数十ミリ秒の持続時間で有効となる動的方法の適用を普及させることで、解釈がほぼ不可能となるだけでなく、ハッカーは別のパケットが到着する前にデータパケットを解読または解釈する暇がなくなる。実際には、SDNPラストマイルセキュリティ操作は、ソフトウェア、ファームウェア、ハードウェア、専用セキュリティIC、またはこれらの任意の組み合わせを使用して実行できる。
無数のシーケンスの組み合わせが可能となるが、特にシングルルートラストマイル通信で使用されるシリアルSDNPペイロードのためのSDNPラストマイルセキュリティ操作の一例が図9Bに示されている。すなわち、この図では、クライアントデバイスから単一のSDNPゲートウェイへ通信が行われる。このプロセスには、発信データパケットと着信データパケットのための2方向の操作シーケンスが含まれる。図の上半分に示されるように、発信データパケットの場合、「送信されるデータ」が最初にパケットスクランブル操作926によりスクランブル化され、次にジャンクデータ1053Aの挿入により偽装が実行される。場合によっては、パケット全体を完全にジャンクデータで構成することで、ハッカーによるデータマイニングの試みをさらに混乱させることができる。
次に、これらのパケットはパース操作1052が使用される分割操作1057により複数の断片に分割され、暗号化操作1026に向けて個別に 送信される。次に、各断片が共通または個別の暗号鍵を使用して暗号化され、結果として生成される暗号文がデータパケット1199Aとして示されるシリアルSDNPペイロードに配置される。そして、パケットは、ラストリンク及びラストマイルへの通信の準備として、IPデータパケット、すなわち「IPパケット準備」にフォーマットされる。実行される全ての操作は動的であり、特定の時間またはセキュリティプロセスの実行中に特定のステート920Aで発生する。
図の下半分に示されるように、着信データパケットの場合、シリアルSDNPペイロード1199Bを含むラストリンクからの着信データ、つまり「IPパケット認識」からの着信データは、最初に断片的にまたは全体として解読操作1032により解読され、その後混合操作1061により実際のデータストリームに回復される。そして、データパケットからジャンクが除去され、すなわちジャンク除去操作1053Bによりデータパケットからジャンクデータが除去され、その後、パケットアンスクランブル操作928により「受信されたデータ」が回復される。着信データパケットで実行される全ての操作では、SDNPゲートウェイでデータパケットが作成されたときに使用されたステート920Bを使用する必要がある。すなわち、これには特定の時間またはパケット生成時の特定のステート920Bに関する情報が含まれる。このステート情報は、シグナリングサーバによる別の通信を介して送信されるか、着信データパケットでプレーンテキストまたは静的暗号文として、すなわちSDNPラストマイルセキュリティ操作で既に知られている復号鍵と共に送信される。しかし、ステート920Bに含まれるステート情報を必要とする鍵を使用して、ステート920Bの詳細を暗号化することはできない。そうすると、コードを開いて、独自のセキュリティクレデンシャル情報を使用できなくなるためである。
図9Cには、具体的にマルチルートラストマイル通信で使用されるパラレルSDNPペイロードのためのSDNPラストマイルセキュリティ操作の一例が 示されている。すなわち、この図では、クライアントデバイスから複数のSDNPゲートウェイへ通信が行われる。前述のシングルルートと同様に、このプロセスには、発信データパケットと着信データパケットのための2方向の操作シーケンスが含まれる。図の上段に示されるように、発信データパケットの場合、「送信されるデータ」が最初にパケットスクランブル操作926によりスクランブル化され、次にジャンクデータ1053Cの挿入により偽装が実行される。場合によっては、パケット全体を完全にジャンクデータで構成することで、ハッカーによるデータマイニングの試みをさらに混乱させることができる。
次に、これらのパケットはパース操作1052が使用される分割操作1057により複数のサブパケットに分割され、暗号化操作1026に向けて個別に送信される。次に、各断片が共通または個別の暗号鍵を使用して暗号化され、結果として生成される暗号文がデータパケット1199C、1199D、1199Eとして示される複数のSDNPペイロードに配置される。そして、パケットは、ラストリンク及びラストマイルへの通信の準備として、個別の区別できるIPデータパケット、すなわち「IPパケット準備」にフォーマットされる。実行される全ての操作は動的であり、特定の時間またはセキュリティプロセスの実行中に特定のステート920Cで発生する。
図の下段に示されるように、着信データパケットの場合、パラレルSDNPペイロード1199F、1199G、1199Hを含むラストリンクからの着信データ、つまり「IPパケット認識」からの着信データは、最初に解読操作1032により区分的に解読され、その後混合操作1061により実際のデータストリームに回復される。そして、データパケットからジャンクが除去され、すなわちジャンク除去操作1053Dを使用してデータパケットからジャンクデータが除去され、その後、パケットアンスクランブル操作928により「受信されたデータ」が回復される。着信データパケットで実行される全ての操作では、SDNPゲートウェイでデータパケットが作成されたときに使用されたステート920Dを使用する必要がある。すなわち、これには特定の時間またはパケット生成時の特定のステート920Dに関する情報が含まれる。このステート情報は、シグナリングサーバによる別の通信を介して送信されるか、着信データパケットでプレーンテキストまたは静的暗号文として、すなわちSDNPラストマイルセキュリティ操作で既に知られている復号鍵と共に送信される。
SDNPラストマイルセキュリティ操作では、着信データパケットと発信データパケットの両方に同じアルゴリズムまたは方法を使用する必要はない。図9Dに示されるように、発信データパケットではSDNPラストマイルセキュリティ操作1190Aが使用され、着信データパケットではSDNPラストマイルセキュリティ操作1190Bが使用される。図の上半分に示されるように、発信データパケットには、トランスデューサまたはセンサーからのリアルタイムデータソースの任意の組み合わせを表すデータが含まれるか、通信前に作成されたファイルが含まれる。例えば、マイクロホン1180で電気信号に変換された音1198A及びカメラ1181からのビデオ信号は、オーディオビデオCODEC 1182Aで同等のデジタルフォーマットに変換される。作成されるフォーマットには、一般的に、プレゼンテーションレイヤであるOSIレイヤ6に従って、標準デバイスで解釈可能及び相互運用可能なpng、pic、mpeg、movなどの標準フォーマットが関与する。標準のオーディオビデオフォーマットを使用することで、ファイルを開くために、送信元アドレスと宛先アドレスの間で独自のコードを送信する必要がなくなる。
次に、オーディオビデオCODEC 1182Aのデジタル出力は、コンテンツミキサー1184を使用して、仮想キーボード1183(タッチスクリーンで実現されるキーパッド)からのテキストデータ及びデータファイル1179Aと混合される。そして、静的ファイルからのリアルタイムデータパケットを識別及びラベル付けするために、このミキサーからデータファイルがSDNPラストマイルセキュリティ操作1190Aに送信され、SDNPヘッダ情報がIPパケット準備操作1191Aに提供される。そして、SDNPラストマイルセキュリティ操作1190Aにより、セキュアデータパケットがIPパケット準備操作1191Aに渡され、これにより、次に、SDNPシグナリングサーバ1603で受信されたルーティング指示に従って、SDNPペイロードがIPデータパケットに埋め込まれる。データパケットは、マルチルートラストマイル通信用に複数のIPパケットに配信されるか、シリアルデータ文字列に連結されて、シングルルートラストマイル通信用の1つ以上のシリアルデータパケットに埋め込まれて収められる。次に、これらのパケットはクライアントPHY操作1192Aに渡され、レイヤ1とレイヤ2データが追加されたIPデータパケットが完成する。
図の下半分に示されている逆の操作では、クライアントPHY 1192Bで受信されたラストリンクからの着信データがIPパケット認識操作1191Bに渡され、これにより着信データが有効なメッセージまたは未知の悪意あるデータパケットとして識別される。有効なメッセージは、SDNPタグ、シード、鍵、及びシグナリングサーバ1603によってクライアントデバイス及びIPパケット認識操作1191Bに事前に通信された他の識別子を使用して識別される。擬人的には、IPパケット認識操作1191Bが有効な着信データパケットを期待し、さらには予測する。適切な識別がなく、予期されていないデータパケットは破棄され、それ以上開かれること、または処理されることはない。この方法では、ハッカーは自身のIDをSDNPクラウドに登録することなく、自身を偽装して有効なデータをいかなるSDNPノードにも送信することができなくなる。
IPパケット認識操作1191Bにより、有効なデータパケットがSDNPラストマイルセキュリティ操作1190Bに渡される。これにより、データパケットの実際のコンテンツ、すなわちビデオ、オーディオ、テキスト、及びデータファイルの連続して調整された組み合わせが含まれるデータを再構築するために必要な全ての操作が実行される。データパケットの作成で使用される混合操作を元に戻すデマルチプレクサであるコンテンツde-mux 1193(例えば他の発呼者の電話で実行される混合操作1184により作成されるシリアルデータファイルを分割する)は、様々なファイルタイプを分離するために使用される。コンテンツde-mux 1193の出力には、メッセンジャーウィンドウ1196に表示されるテキスト、データファイル1179A、及びオーディオビデオCODEC 1182Bに送信されるリアルタイムデータが含まれる。オーディオビデオCODEC 1182Bにより、デジタルプレゼンテーションレイヤデータがライブビデオ画像1195に変換されるか、スピーカー1194を介して音1198Bに変換される。
ラストマイルデータ転送の場合、データは図9Eに示されるように、バブシュカ(babushka)というロシアの入れ子人形に類似した方法で、多層構造で埋め込むか、ラップする必要がある。したがって、SDNPペイロード438は、トランスポートペイロード437を表す。これは、トランスポートヘッダ436と共にIPペイロード435を構成する。IPペイロード435とIPヘッダ434の組み合わせは、MACペイロード432に相当するIPデータグラムを表す。MACヘッダ431及びMACフッター433内にMACペイロード432をラップすることで、物理レイヤ490に相当し、PHYレイヤ1コンテンツとも呼ばれるMAC「フレーム」が生成される。これは、電気信号、光、電波、マイクロ波などの物理媒で構成される。
SDNPルーティングでは、レイヤ2のMACヘッダ431により、ラストリンクのMAC接続、すなわちクライアントデバイスとラストマイルリンクの最初のデバイス間の接続が記述される。クライアントデバイスとSDNPゲートウェイの送信元アドレスと宛先アドレスを使用することで、レイヤ3のヘッダ434により、ラストマイル経由のルーティングのエンドポイントが指定される。しかし、ラストマイルがSDNPクラウドの一部ではないため、ラストマイルを引き継ぐ正確なルートデータパケットは明示的に指定または制御できない。SDNPラストマイル通信では、レイヤ4のトランスポートヘッダ436により、UDPがSDNPリアルタイムペイロードに使用されること、及び各パケットで使用されるアドホック割り当てSDNPポートアドレスが指定される。このアドレスは、ポートスキャン(ポート問い合わせ)サイバー攻撃戦略を阻止するために動的に変化する。
ラストマイルIPパケットのペイロードであるSDNPペイロード438には、ゾーン情報、鍵、シードを含むSDNPプリアンブル1198、及び独立して暗号化された暗号文の複数のセグメントのシリアル文字列であるSDNPデータフィールド1199Aが含まれる。暗号文の復号化されたフォーマットには、プレーンテキストファイル1197A、1997B、及び1197Cが含まれ、それぞれに独自の一意のSDNPヘッダ及び対応するデータファイルデータ91、データ92、及びデータ93が含まれる。個々のサブヘッダには、必要に応じてタグ、zip、アドレス、緊急性、及びQoSデータを含む情報が含まれる。
SDNPプリアンブルとヘッダの役割は、使用されるコマンドと制御方法により異なる。三者ラストマイル通信では、シグナリングサーバから、コール、ファイル送信、またはセッションを開くための相互通信方法がクライアントデバイスとSDNPゲートウェイに対して指示される。そのため、メディアデータパケットが送信される前に、TCP転送でコマンド及び制御データパケットを使用して両方のデバイスに指示が通信される。したがって、クライアントとSDNPゲートウェイ間のラストマイル通信に必要な最小限のデータは、着信パケットを識別するために使用されるタグまたはアドレスとなる。場合によっては、例えば、シグナリングサーバに到達できない場合、別の実施形態として、SDNPデータパケットにより、そのプリアンブル及びパケットヘッダで追加のデータが伝送される。
図9Fに示されるデータパケット及び付随する表1177は、SDNPペイロード438内でSDNP情報を運ぶために使用される1つの例示的なフォーマットを示すものである。データパケットには、SDNPプリアンブル1198及び対応するデータフィールド「データXフィールド」を有する1~8個のデータフィールドヘッダ1178Xが含まれる。「データ1フィールド」、「データ2フィールド」などの各データフィールドでは、対応するヘッダHdr 1、Hdr 2などが先行し、音声、テキスト、ビデオ、写真、映画、ファイルなどのコミュニケコンテンツが伝送される。データフィールドの数値は、4bのロングフィールド#によって決定される1~8、すなわちバイナリ0001~バイナリ1111と様々に異なる。SDNPプリアンブル1198とSDNPペイロード438の長さは、フィールド#仕様の影響を受ける。1つのフィールドのみが選択された場合、すなわちフィールド#=0001バイナリの場合、SDNPプリアンブル1198にはL Fld 1のみが含まれ(L Fld 2~L Fld 8は除外される)、SDNPペイロード438にはHdr 1とデータ1フィールドのみが含まれる。最大8つのフィールドが選択された場合、すなわちフィールド#=1111バイナリの場合、SDNPプリアンブル1198には8つの長さ指定Lフィールド1からLフィールド8が含まれ、SDNPペイロード438には8つのデータフィールドとヘッダが、Hdr 1、データ1フィールド、Hdr 2、データ2フィールド・・・Hdr 8、データ8フィールドとして順番に含まれる。示されるように、SDNPプリアンブル1198には、フィールド長の仕様L Fld 1、L Fld 2、L Fld 8が含まれる。L Fld 2とL Fld 8の間にある小さなギャップは、シーケンスの継続を表すものであり、データのギャップを表すものではない。
L Fld Xで指定される各データフィールド長は、ゼロまたは0B(ヌルデータフィールド)からFFFFまたは65,535Bの最大16進数まで様々に異なる。イーサネット(登録商標)互換性における実用的な理由により、任意の1つのフィールドの最大データパケット長は1500Bまたは16進数05DCに制限することが好ましく、全てのデータフィールドの合計長は9000Bまたは16進数2328のジャンボパケットサイズを超えてはならない。各データフィールドに指定される長さは、個別に異なる場合がある。例えば、L Fld 8=0000の16進数など、ゼロのフィールド長の場合は、対応するデータ8フィールドは削除されるが、対応するヘッダHdr 8は削除されない。ヘッダは、フィールド#の指定によってのみ削除される。
このSDNPプロトコルに従うと、様々なデータフィールドにわたるコンテンツの配分は非常に柔軟となる。単一の宛先に向けられたデータは、単一のデータフィールドに含まれる場合、または偽装目的で複数のデータフィールドに分割され、ジャンクデータとマージされる場合がある。データフィールドのサイズは個々に異なってもよい。純粋なジャンクデータを含むデータフィールドを含めること、またはジャンクデータのみを含むデータパケット全体を生成することもできる。しかし、効率的なパケットルーティングを行うには、異なる宛先をターゲットとするデータはそれぞれ独自のヘッダを有する個別のデータフィールドに分割する必要がある。
SDNPパケットフォーマットは、SDNPクラウドなどの複数のクラウド及びゾーン間、またはラストマイル通信を含むSDNPネットワーク全体のエンドツーエンド転送に適用できる。SDNPデータパケットの内容はネットワークを通過するときに変化するが、SDNPパケットのフォーマットは変化しない。このフォーマットには最小限のデータオーバーヘッドしか含まれていないため、SDNPデータパケットフォーマットは、大きなペイロードまたはタイムクリティカルなリアルタイム通信に等しく適用できる。パケットフォーマットは、双方向のデータフロー、すなわちラストマイルからSDNPゲートウェイへのデータフロー、及びSDNPクラウドへのデータフロー、または宛先クライアントデバイスへのラストマイル全体の転送のために、逆にクラウドから発せられてSDNPゲートウェイを出るデータパケットの配信に適用できる。
動作中、SDNPデータルーティングの方向は、図9EのIPヘッダ434内に記述されるネットワークレイヤ3の送信元アドレス及び宛先アドレスによって決定される。ルート上の次のメディアノードへの送信のためにメディアノードによりパケットが準備されるときに、各パケットに送信元アドレスと宛先アドレスがロードされる。トライチャネル通信では、パケットの宛先のSDNPまたはIPアドレスは、発信パケットの準備の前に、コマンド及び制御(C&C)パケットとしてシグナリングサーバからメディアノードに配信される。一般的に、シグナリングサーバから、送信(送信者)デバイスと宛先(受信者)デバイスの両方を含む通信パスの全てのノードにC&C指示を送信することができる。例えば伝搬遅延が長いリンクなど、シングルチャネル通信のみが利用可能な場合は、シグナリングサーバからメディアノードに対して、着信パケットまたはその処理について事前に警告を発信することができない。この場合、ルーティングアドレスはSDNPペイロード438の着信データパケット内で伝送される。このような場合、ルーティング、ステート情報、及びセキュリティクレデンシャル情報など、着信SDNPパケットに含まれるデータフィールドを使用して着信パケットを処理する方法に関して、メディアサーバはデフォルトの指示に従って動作する。
ペイロード438は、プリアンブル1198を含む読み取り可能な部分、及び「隠蔽されたフォーマット」のデータを含む読み取り不可能な部分1199aの2つの部分で構成される。このパケットのコンテンツについては、暗号化、スクランブル化、及び場合によってはジャンクデータの挿入など、任意の数のコンシールメント技術が使用され、そのコンテンツが隠される。使用可能なコンテンツ1197a、1997b、及び1197cを抽出するには、コンシールメント方法を元に戻す必要がある。これらのパケットには、今後の発信パケットの宛先アドレスが含まれる。アドレスは、次のパケットが準備され暗号化されるまでの短時間のみ、隠蔽されていないフォーマットまたは復号化されたフォーマットで存在できる。
説明されるように、SDNPプリアンブル1198には、パケット全体に関連する情報が含まれる。データフィールドの仕様とは別に、図9Fには、SDNPパケットが作成されるSDNPゾーン(例えばゾーンU1、2つの数値シード、及び2つの鍵など)を同じく含むSDNPプリアンブル1198が示されている。これらの鍵とシードは、スクランブル化/アンスクランブル化、ジャンク挿入/除去、混合/分割、暗号化/復号化プロセスで、ゾーン固有のセキュリティクレデンシャル情報として使用できる。シードと鍵は、データフィールドを開いて読み取る際に必要なセキュリティクレデンシャル情報を配信するための排他的な手段として、またはシグナリングサーバからクライアントデバイス及びSDNPゲートウェイに送信されるコマンド及び制御パケット、つまりコミュニケコンテンツをメディアパケットで伝送することに関与しないコンピュータのネットワークと組み合わせて使用できる。
シードと鍵はセキュリティクレデンシャル情報の一部のみで構成されており、データにはそれらを使用するために必要な情報が欠如しているため、シードと鍵はパブリックに、すなわち暗号化されていないフォーマットで安全に配信できる。欠落しているセキュリティクレデンシャル情報の他の部分は、別のデータパケットで事前に送信される場合、またはアルゴリズムの共有秘密、ルックアップテーブル、ネットワーク経由では配信されず、かつメッセージの一部ではないコードが含まれる場合がある。暗号鍵は、送信者と受信者の両方が鍵を保持している場合の対称鍵の場合、または送信者を含むパブリックが暗号鍵にアクセスできるけれども受信者、すなわち暗号鍵を生成した当事者のみが復号化キーを保持する公開鍵の場合がある。さらに、全てのセキュリティクレデンシャル情報はU1などの特定のセキュリティゾーンに制限され、動的で、特定の期間または指定された時間内に使用されないと期限切れになるステートに制限される。例えば、セキュリティ操作に関してシグナリングサーバからSDNPデバイスに個別に指示が出される場合など、シード及び鍵データフィールドがセキュリティクレデンシャル情報として使用されない場合は、これらのフィールドには暗号鍵として表示される偽の数値が入力される。これにより、サイバー攻撃者はおとりのセキュリティ鍵の分析に時間を浪費することになる。
ラストマイル通信では、クライアントデバイスとSDNPゲートウェイ間の中間ルータでは、転送されたデータパケットが処理、解釈、または開かれることはない。これは、これらがSDNPネットワークの一部ではなく、中に含まれるSDNPパケットデータを照会または解釈する機能がないためである。代わりに、全てのセキュリティ操作はSDNPクライアントとSDNPゲートウェイの2つのエンドポイントで排他的に実行される。これは、これらのデバイスのみがSDNP通信ノードとして動作するためである。各エンドポイントでSDNPプロトコルが動的に実行されるため、ラストマイル通信はラストマイル全体でハイパーセキュアとなる。相手の発信者もSDNPソフトウェアを実行している場合は、その発信者のラストマイルも前述のSDNP方法によって保護され、ハイパーセキュア通信が発信者間の「エンドツーエンド」で保証される。
しかし、エンドデバイスがSDNPクライアントではない場合は、発信者に最も近いルータ、すなわちラストリンクルータをSDNPファームウェアで有効化する。この場合、SDNPは有効化されないが、SDNPが有効化されたルータで実行される特別な機能によりラストリンクを合理的に保護できる。この代替のラストリンクセキュリティ方法は、本開示の後続のセクションでより詳細に説明されており、本セクションでは詳述されない。説明されている方法は、ラストリンク通信の保護に適用できるが、ラストマイルの他の部分を保護するには不十分である。
図9Fに示されるように、各SDNPデータフィールドには、SDNPデータフィールドヘッダ1178Xが付随している。これには、これが関連付けられるデータフィールドに一意に適用できるけれども、他のデータフィールドには役に立たない情報が含まれる。具体的には、開示される実施形態では、各ヘッダには、関連付けられたデータフィールド内に含まれるデータの種類を記述するデータタイプフィールド、特定のデータフィールドとその宛先を識別するために使用される宛先アドレスフィールド、ゾーン情報をあるゾーンから別のゾーンに転送するために使用されるフィールドゾーン、緊急性、及び配信情報が含まれる。示されるように、各SDNPデータペイロード438には、1つのSDNPプリアンブル1198、及び1つ以上のSDNPデータフィールドヘッダ1178x及び対応するデータxフィールドが含まれる。xは個別のペイロードの数を示している。これは、ペイロードのサイズと緊急性に応じて5~50の範囲となる。
記述される情報のほとんどがシグナリングサーバからSDNPクライアントとSDNPゲートウェイに提供されるが、ラストマイルデータパケットで必ず伝送される基本コンポーネントが1つある。これは、データパケットを識別するために必要な「アドレスフィールド」またはタグである。SDNPペイロードの宛先アドレス(図では「Dest Addr」と略記される)と呼ばれるフィールドには、あるデータフィールドと別のデータフィールドのIDを十分に区別できる一意の識別子を含めることができる。その目的は、空港における荷物や宅配便で配送される箱のタグ付けと追跡に使用されるバーコードの機能に似ている。データパケットを識別する際の競合を防ぐために識別子が一意となるように、例えばアドレスタイプには、数値タグ、SDNP zip、IPv4またはIPv6アドレス、NATアドレス、さらにはPOTSの通常の電話番号を含めてもよい。宛先アドレスフィールドのサイズは、選択されたアドレスタイプの種類によって異なる。
ルーティング中にパケットの匿名性を維持するために、実際の電話番号またはIPアドレスを使用するのではなく、SDNP宛先アドレスとしてSDNP Zipコードなどの機密コードを使用することが推奨される。動作中、SDNPクライアントからデータパケットがSDNPゲートウェイに到着するたびに、SDNPペイロードが復号化され、次に宛先アドレスの識別について各データフィールドヘッダの検査が実施される。データパケットを復号化または処理して、パケット作成時に使用されるコンシールメント方法を元に戻すまで、データヘッダを検査することはできない。デュアルチャネルまたはトライチャネル通信の場合、図9Gに示されるように、シグナリングサーバ1603から、データパケットの到着予定及びそれに対応する識別マーキングとセキュリティクレデンシャル情報がSDNPゲートウェイに事前に通知される。そのため、SDNPクライアントから送信されたラストマイル通信を含むデータパケット438AがSDNPゲートウェイで受信されると、SDNPペイロードを暗号文からプレーンテキストデータパケット438Bに変換するため、ゲートウェイでSDNPラストマイルセキュリティ操作1190Dが実行される。セキュリティ操作とは、発信データパケットを変更してそのコンテンツのコンシールメントプロセス、及び着信データパケットを変更してそのコンテンツを明らかにするプロセスである。具体的には、着信データパケットで実行されるセキュリティ操作は、暗号化を解除する復号化、スクランブル化を元に戻すアンスクランブル化、挿入されたジャンクを取り去るジャンク除去、分解を元に戻す混合など、転送前に実行されるコンシールメント操作を元に戻すことによりコンテンツを回復するために使用される。これらのプロセスは、データパケット作成時のステートとゾーンに従って実行される。発信データパケットの場合、セキュリティ操作には、転送前にデータパケット作成時のステートとゾーンに従って暗号化、スクランブル化、ジャンク挿入、及びパケット分割を実行することでデータパケットのコンテンツをコンシールメントする操作が含まれる。データパケット438Aの暗号化されていないシード及び鍵データフィールドは、無視する、または暗号文を復号化するためにシグナリングサーバ情報と一緒にオプションで使用できる。結果の操作により、データフィールド1及びデータフィールドの宛先アドレス、データタイプ、緊急性、配信情報を含むHdr 1とラベル付けされた関連データフィールドヘッダ117Dが表示される。このような場合、宛先アドレスはルーティングアドレスではなく、単にSDNP Zip、すなわちパケットを識別するために使用されるタグで、特定の会話の一部である。
シグナリングサーバ1603からの指示に一致するSDNP Zipコードなど、識別された宛先フィールドを含む特定のデータフィールドが見つかると、データフィールドが抽出され、オプションでミキサー1184Zによって他の関連コンテンツと混合され、SDNPパケット準備操作1191Zによって新しいIPまたはSDNPデータグラムに再度ラップされて次の宛先に配信される。クラウドに向かう新しいデータパケットには、新しいパケットの宛先とデータコンテンツであるSDNPペイロード435Zを含むSDNPヘッダ434Zが含まれる。IPアドレスまたはSDNPアドレスとしてシグナリングサーバ1603からゲートウェイメディアノードに供給される宛先には、SDNPクラウドノードとして動作する別のSDNPサーバを含めること、または別のSDNPクライアントへのラストマイル通信を含めることができる。このようなトライチャネル通信の場合、宛先アドレスは実際にはアドレスではなく、パケットを識別する手段であり、次の宛先はSDNPゲートウェイで既に認識されている。パケットの宛先がSDNPクラウドルーティングである場合は、次に、ラストマイルで使用されるU1認証情報ではなく、クラウドのZ1セキュリティクレデンシャル情報に従って、SDNPクラウドセキュリティ操作1190Zによりデータパケットが処理される。
シングルチャネル通信の場合は、図9Hに示されるように、(i)ローカルネットワークで動作するシグナリングサーバがない、(ii)シグナリングサーバが一時的にオフラインである、または(iii)シグナリングサーバがビジー状態で、時間内にパケットを先制的にルーティングできないといういずれかの理由により、目前に迫っているデータパケットとそのデータフィールドの到着の前に、シグナリングサーバからSDNPゲートウェイへの通知が行われない。このような場合、SDNPクライアントからのデータパケット438Aにより必要なセキュリティクレデンシャル情報ゾーンU1、シード1、シード2、鍵1、鍵2が伝送され、SDNPラストマイルセキュリティ操作1190Dによって暗号文データパケット438Aがプレーンテキストデータパケット438Bに変換されなければならない。特定のメディアノードでフィールドのコンテンツが必要でない場合も、標準のSDNPデータパケットフォーマットにより、これらのデータフィールドが予約される。例えば、データパケットの作成に使用される特定のコンシールメントプロセスで鍵2フィールドが使用されない場合は、そのフィールドのデータは無意味となり、宛先ノードで使用されることはない。それにも関わらず、データパケットにより、使用されるフィールドまたは使用されないフィールドに同じバイト数が予約されるため、全てのSDNPデータパケットのフォーマットは同種である。データパケット438Aの暗号文が復号化されると、SDNPゲートウェイにより、プレーンテキストデータパケット438Bから、データパケットデータ1フィールドのコンテンツ及び関連付けられたHdr 1フィールドヘッダ1178Dが抽出される。第一にトライチャネル通信で着信パケットが予期されていることを確認するため、第二に新しいSDNPアドレスを生成するためという2つの理由により、このデータパケットで、IPパケット認識プロセス1191Dにより、Hdr 1フィールドヘッダ1178DからのAタイプと宛先アドレスのデータフィールドが組み合わされる。この新しいSDNPアドレスはDタイプ、緊急性、配信フィールドと組み合わせられ、SDNPパケット準備操作1191Zにより処理されて、発信データパケットにSDNPヘッダ434Zが作成される。データ1フィールドのコンテンツも着信プレーンテキストデータパケット438Bから抽出され、そのコンテンツはオプションで1184Zと他の発信コンテンツと混合され、発信SDNPペイロード435Zが作成される。その後、パケットは、転送の準備のためにSDNPクラウドセキュリティ1190Zによって処理される。このようにして、着信データパケットを識別し、必要に応じて転送アドレスを提供するために、アドレスフィールドでは複数の機能が実行される。
シグナリングサーバからの指示を最初に受信せずに、メディアノードでデータパケットが受信された場合は、メディアノードは着信データパケットの処理方法及び発信データパケットの準備方法に関するデフォルトの指示に戻って動作する。メディアノードに未通知の着信パケットの処理方法に関する指示がない場合は、データパケットは破棄される。未識別のパケットの処理方法に関する指示がメディアノードで有効化されていない場合は、メディアノードでは最初にセキュリティクレデンシャル情報に従ってパケットが有効なSDNPパケットであることが確認され、これに応じて処理が実施される。しかし、例えば暗号化コード、シード、または送信元アドレスが無効であるために送信者を特定できない場合は、パケットは詐欺として破棄される。
図9Fでは、「フィールドゾーン」とラベル付けされたパケットフィールドは、特定のフィールドが作成されたゾーンを示すものである。すなわち、例えばU1またはU2ゾーン設定で、過去の暗号化またはスクランブル化が実行されたかどうかである。ネスト化されたセキュリティプロトコルまたは他のネスト化されたコンシールメント方法の場合、データパケットのアンスクランブル化、復号化、またはコンシールメントの復元には、鍵、シード、時間、またはステートなどの追加情報が必要となる。この場合、「フィールドその他」とラベル付けされたパケットフィールドを使用して、フィールド固有の情報を伝送できる。一般的に、暗号化されたデータフィールドが次にスクランブル化される、または再度暗号化されるようなネスト化されたセキュリティプロトコルを除き、これらのフィールドは使用されない。ネスト化されたセキュリティ方法を使用して、データパケット準備と全く逆の順序でデータ回復を実行する場合は注意が必要である。そうしないと、コンテンツが永久に失われる。
「データタイプ」とラベル付けされたパケットフィールドを使用する場合、コンテキスト固有のルーティングが容易化され、ビデオやライブビデオのような時間に敏感な情報を含むデータパケットから、リアルタイムの通信を要求することなく、データ、録画、テキスト、及びコンピュータファイルを区別する、すなわちリアルタイムルーティングと非リアルタイムルーティングとを区別することができる。データタイプには、音声、テキスト、リアルタイムビデオ、データ、ソフトウェアなどが含まれる。
「緊急性」及び「デリバリ」とラベル付けされたパケットフィールドは共に、特定のデータフィールドのデータをルーティングする最良な方法を決定するために用いられる。緊急性には、遅い(snail)、普通、優先、及び緊急のカテゴリが含まれる。デリバリには、通常、冗長、特別、及びVIPのカテゴリを示すQoSマーカが含まれる。本発明の1つの実施形態では、表1177に示されるように、様々なデータフィールドのバイナリサイズは、通信に必要となる帯域幅が最小となるように選択される。例えば、示されるように、データパケットが0~200Bの範囲であり、データフィールドには200Bの8パケットを含めることができるため、SDNPパケットでは1,600Bのデータを運ぶことができる。
図9Gと図9Hの両方には、クライアントデバイスからゾーンU1のデータパケットがラストマイル経由でゲートウェイノードに送信される場合が示されている。次に、ゲートウェイノードにより着信データパケットが処理され、ゾーンU1セキュリティクレデンシャル情報を使用して、行われたラストマイルセキュリティ及びコンシールメント方法が元に戻される。その後、ゲートウェイノードにより、混合プロセス1184Zでパケットのコンテンツが他のパケットのコンテンツと混合され、ゾーンZ1のセキュリティクレデンシャル情報が使用され、SDNPクラウドを介した転送にバインドされる新しいパケットが作成される。
例えば、SDNPクラウドからクライアントの電話(受信者)へ送信される場合など、SDNPゲートウェイでクラウド(別のゲートウェイを含む)からのデータパケットが受信され、データパケットがクライアントデバイスに送信されるとき、同様のプロセスが使用される。図9Iに示されるように、デュアルチャネルまたはトライチャネル通信の場合、シグナリングサーバ2603から、クラウドからのデータパケットの到着予定及びそれに対応する識別マーキングとセキュリティクレデンシャル情報がSDNPゲートウェイに事前に通知される。そのため、SDNPクラウドからのデータパケット2438AがSDNPゲートウェイで受信されると、SDNPペイロードを暗号文からプレーンテキストデータパケット2438Bに変換するため、ゲートウェイでSDNPクラウドセキュリティ操作2190Dが実行される。データパケット2438Aの非暗号のシード及び鍵データフィールドは、無視する、または暗号文を復号化するためにシグナリングサーバ情報と一緒にオプションで使用できる。データフィールドの使用は、パケットのペイロードをコンシールメントする際に使用されるアルゴリズムに依存する。例えば、暗号化が使用されていない場合は、暗号鍵を含むフィールドは無視される。
結果の操作により、多数のデータフィールドが抽出される。後続の操作で、コンテンツ分割操作2184Zによりこれらのデータフィールドが分割され、認識操作2191Dによりデータフィールド1及びHdr 1とラベル付けされた関連データフィールドヘッダ2117Dを含む特定のコンテンツが抽出される。ヘッダHdr 1には、データフィールドの宛先アドレス、データタイプ、緊急性、配信情報が含まれる。次に、抽出されたデータフィールドは、次の宛先への配信のために、SDNPパケット準備操作1191Zによって新しいIPまたはSDNPデータグラムに再度ラップされる。クラウドに向かう新しいデータパケットには、新しいパケットの宛先(個人の電話番号に対応するIPアドレス)とデータコンテンツ、SDNPペイロード2435Zを含むSDNPヘッダ2434Zが含まれる。発信パケットは、クラウドで使用されるZ1認証情報ではなく、ラストマイルのU1セキュリティクレデンシャル情報に従ってSDNPラストマイルセキュリティ操作2190Zにより処理される。
シグナリングサーバが利用できない場合、すなわちシングルチャネル通信の場合は、デフォルトの指示として以前に配信された指示に従い、メディアノードで着信データパケットが処理される必要がある。このような場合、着信データパケットは、送信者が有効なSDNPクライアントであることを確認するために必要な基準(SDNP Zipコードまたは事前に決められた共有秘密として以前に配信された認証コードなど)が用いられる。パケットが有効であると判断された場合は、パケットはデフォルトの指示に従って処理される。そうでない場合は、パケットは破棄される。
前述の方法は例示的なものであり、データパケットの処理とルーティングを特定のデータパケットフォーマットに制限することを意図するものではない。
通信におけるセキュリティ及びプライバシー
ラストマイル通信における重要な考慮事項は、セキュア通信とプライベートな通信の両方をサポートするネットワークの能力である。多くの場合、プライバシーとセキュリティは関連付けられるが、これらは同じものではない。通信において使用されるセキュリティという用語は、「認識可能なフォーマットの通信データへの不正アクセスを防ぐための規律」と見なされる。しかし、セキュリティは、個人または機関が通信にアクセスする、または通信を監視する権利を有する場合には適用されない。プライバシーは、「他者に観察または邪魔されることのない、及び世間の注目を浴びない状態または条件」と定義される。法律用語では、プライバシーは、自身の個人情報へのアクセスを制御する個人の権利と定義される。
通信では、音声通話、ビデオ、テキスト、電子メール、パーソナルメッセージングなどにおける個人のプライバシー権は国によって大きく異なる。通信に法的に有効な方法でアクセスを提供する上で適用される政府規制に準拠する役割については、後続のセクションで説明する。これはさておき、理想的なネットワークと通信システムでは、通信のハッキングを防止する、すなわち完全にセキュアであり、かつ全ての通信が知る権利のある人物に限定される、すなわちプライベートであることを保証する必要がある。
ネットワークのプライバシーとセキュリティ機能を評価する際は、ネットワークのラストマイルと接続されたデバイスを慎重に検討する必要がある。多くの場合、情報アクセス権の確立に使用されるセキュリティクレデンシャル情報により、ラストマイルと接続されたデバイスにおけるネットワークのセキュリティとプライバシーが左右される。すなわち、ラストマイルが最も脆弱な部分となる。通信ネットワークにおける以下4つの可能な組み合わせを考慮する必要がある。
・セキュアかつプライベートなネットワーク。個人の観点からは、これは理想的なネットワーク性能を示すもので、情報のセキュリティ及び個人のプライバシーの両方を保証するものである。極端に言えば、真にセキュアなプライベートネットワークとは、個人、政府、機関、または企業が有意義な通信を傍受すること、及び個人の行動、行為、連絡先や仲間、個人の嗜好、活動などに関するプライベートデータを取得できないことを意味する。プライバシー権を擁護する者は、理想的なセキュアプライベートネットワークを機密通信の至適基準と見なしているが、政府、セキュリティ組織、及び企業は通信の絶対的な自律性に問題があり、これにより個人が完全に秘密裏かつ無難に犯罪行為やテロに関与できるようになると見なしている。
・プライバシーを欠く非セキュアネットワーク。セキュアでなく、プライバシーの規定がないネットワーク(今日のインターネットOTT事業者など)は、通信チャネルを使用する個人、グループ、クラブ、企業、または政府に重大なリスクをもたらす。サイバーハッカーはコールやデータに簡単にアクセスできるため、悪意のある人物はこの情報を任意の目的に使用できる。悪戯仕掛け人やスパマーは非セキュア通信チャネルを乗っ取ることで、大混乱を招く、ネットワークをスパムで溢れさせる、サービス拒否攻撃を開始する、または有害な悪戯を展開することができる。イデオローグ、政治活動家、宗教カルトは非セキュア通信チャネルを利用することで、政変の促進、政府職員の失脚、暴動の唆し、政府打倒を目的として、機密情報を漏洩させることができる(数十万件に及ぶ政府の機密文書をウィキリークスが公開していることで、国際的な反響の嵐が発生するというシナリオを描く有名なフィクション映画「フィフス・エステート/世界から狙われた男」(DreamWorks(c)2013)を参照されたい)。経済的動機のある組織犯罪やマフィアのサイバー犯罪者は、金銭犯罪、例えば窃盗、資金流用、詐欺、個人情報窃盗、マネーロンダリング、強奪、恐喝、他の重罪に焦点を合わせて攻撃を行う。麻薬カルテル、ギャング、テロリストのように恐喝や脅迫に関与する人物は、非セキュア通信を監視することで、暴行、誘拐、殺人、爆撃、またはテロ行為のような暴力犯罪を計画及び実施することを目的として、競合他社、敵、標的の被害者の位置、動き、行動を追跡することができる。最後に、個人的なサイバー攻撃の場合は、非セキュア通信を利用することで、社会保障番号、パスポート、銀行情報、クレジットカード情報、医療記録、他の個人機密情報といった個人情報を含むデータベースを不正にハッキングできる。
・プライバシーを欠くセキュアなネットワーク。プライバシーを欠くセキュアなネットワークの例として、IT(情報技術)マネージャーまたはセキュリティ部門が、企業ネットワーク上で不適切または違法な通信が発生しないことを保証することを目的として、全ての企業通信を監視する権利と権限を有する企業アカウントが挙げられる。ネットワークはハッカーやサイバー犯罪者から保護されてはいるが、こうしたネットワークにおける通信はプライベートではなく、企業通信インフラストラクチャの不正な個人使用、企業スパイ、機密保持契約の違反、知的財産の不正開示(IP漏洩)、セクシュアルハラスメント、レギュレーションFD(reg. FD)違反、インサイダー取引、FCPA(連邦海外腐敗行為防止法)違反、汚職、贈収賄、詐欺、財務報告違反、証券違反などの不正行為を検出するために、許可された主体により監視される場合がある。企業通信の場合、企業は入社した個人に、自社の通信はプライベートではなく、企業の電話、電子メール、テキスト、パーソナルメッセージング、SMS、及び他のコミュニケなどは監視される可能性があることを通知する。民事事件か刑事事件かに関わらず、訴訟手続が発生した場合は、個人情報が企業情報に混じっていたとしても、こうしたコミュニケが法廷に証拠として提出される可能性がある。本質的に、企業の従業員が企業の通信、デバイス、及びネットワークを個人的な使用に利用すると、(弁護士と依頼人の特権の場合を除いて)全ての情報は攻撃のかっこうの的となり、プライベートとは見なされなくなる。この理由及び他の理由から、Line及びKakaoTalkなどの個人用メッセンジャーをビジネスと個人用に混合して使用すると、従業員がテキストチャット、写真、及びファイルの検査を防ぐためにプライバシー権を行使できないため、特に問題となる。
・半プライベートの非セキュアネットワーク。半プライベートの非セキュアネットワークとは、データを伝送するネットワークが盗聴などによりハッキングされる可能性があるにも関わらず、特定の条件が満たされていれば、セキュリティの欠如を問わず、プライベート取引を機密に実行できるネットワークを指す。この場合、ハッカーがコールを傍受しても発見できない共有秘密を使用する様々な手段により発信者のIDを確認することでプライバシーが確立される。プライベートの非セキュア通信の一般的な例として、音声による銀行取引が挙げられる。例えば「お客様が昨晩に食事をしたレストランの料金はクレジットカードで支払われています。どの都市で食事しましたか?」または「ワイナリーから定期的に請求書が届いています。どのワイナリーですか?」など、詐欺師が回答を知っている確率が低い質問を絶えず変更して発呼者に質問することで、発呼者のIDを確認する。別の質問例として、「小学校で気に入っていた先生の姓は何といいますか?」が挙げられる。こうしたID検証方法を良好に機能させるためには、銀行が非公開情報(クレジットカードの明細書など)にアクセスできるようにするか、またはクライアントが口座を開いた時点で、銀行とそのクライアントが電子的にではなく対面で共有秘密を確立する必要がある。発信者のIDが確認されると、クライアントは特定の操作を実行するように機関に指示でき、これによりサイバー犯罪者に利益がもたらされることはない。例えば、発信者が「1万ドルを普通預金から当座預金口座に移動する」といった指示を出すことができる。しかし、送金が別の銀行に送られる場合は、クライアントのプライバシーを保証するために、さらに厳密な検証を行う必要がある。いずれにせよ、電子的か聴覚的かに関わらず、プライバシーの確保は、通信で共有秘密が暴露されないという条件が満たされているかどうかに依存する。この条件が満たされなければ、全てのプライバシーが喪失し、口座が危険に曝される可能性がある。そのため、非セキュア回線における認証通信は、意味する条件付きプライバシーを意味する半プライベートを指す。別の例または非セキュアネットワーク経由の半プライベート通信として、セキュリティトークン、すなわち銀行が発行したものでクライアントのみが所有するデバイスを利用して実行されるものが挙げられる。デバイスにより生成された擬似乱数が銀行の担当者に通知され、当該担当者がその番号が銀行の承認済み番号と一致することを確認する。数字は8桁以上であるため、最初の試みで正しいコードが推測される可能性は非常に低い。間違ったトークン番号が伝えられた場合は、コールが終了し、口座が凍結され、そして不正行為対応部門に調査を促す警告が発せられる。この場合、非セキュアネットワークでプライバシーを確保することの重要性は、口座番号、PIN、クレジットカード情報のような機密情報を口頭で明かすことなく通信できるかどうかに依存する。すなわち、通信は半プライベートとなる。
ID検証及びAAA
セキュリティとプライバシーの概念は、正確かつ信頼性の高いID検証、すなわち発信者が本人であるということに依拠する。データと通信を有効に使用し、違法または未承認のアクセスを防止する上で、「認証」とも呼ばれるID検証が重要となる。国家安全保障、法執行機関、知的財産所有、企業、及び個人に関する権利において、信頼性の高いID検証は重要である。ID検証の重要性として、以下のような例が挙げられる。
・国家安全保障においては、犯罪者、スパイ、テロリスト、麻薬密売人、及び国家秘密の漏洩を企む人物や国家安保を脅かす人物のIDを追跡するために、発信者のID検証を行うことが重要となる。機密、秘密、または最高機密のコミュニケ、データ、ファイルへのアクセス、読み取り、または送信を許可されている個人を特定する上でも、これは同様に重要となる。
・法執行機関にとっては、強盗、放火、麻薬密売、密輸、売春や人身売買、強奪、脅迫、他の重罪などの犯罪行為に関与する個人または組織を識別するために、発信者のID検証を行うことが重要となる。警官、消防隊員、救急隊員、パークレンジャー、航空警察官、TSAや空港警備員、港湾局員、税関担当者、沿岸警備隊員など、法執行機関による認定を受けている個人を特定する上でも、これは同様に重要となる。
・映画スタジオなどの知的財産所有者にとっては、音楽、映画、書籍、ビデオなどの著作権で保護された材料の著作権侵害や不正配布に関与する個人、組織、及び事業体を識別するために、発信者のID検証を行うことが重要となる。知的財産及び著作物の有効かつ合法的な配布を確認する上でも、これは同様に重要となる。
・企業にとっては、重要な非公開情報の意図的または偶発的な開示を追跡し、商業スパイまたは知的財産の違法開示に従事する個人、及び詐欺または企業通信の個人使用のような他の犯罪を犯す個人を識別するために、従業員のID検証を行うことが重要となる。企業の機密情報を利用できる人物のID、及びアクセスできる特定データの種類を確認する上でも、これは同様に重要となる。例えば、マーケティング部門のスタッフの給与額を見るために、企業のエンジニアリング部門がマーケティング部門の人事記録にアクセスできるようなシステムがあってはならない。
・個人にとっては、通信相手が詐欺師ではないことを確認することで発信者の「プライバシー」を保証するために、ID検証を行うことが重要となる。
したがって、ID検証の役割は、個人のIDを確認すること、すなわち主張通りの本人であることを認証し、IDを偽る人物を特定及びブロックして、最終的に取り押さえることにある。「Authentication、Authorization、Administration」を表す「トリプルAセキュリティモデル」または「AAA」の最初の「A」は、認証(Authentication)を指している。PINコード、パスワード、指紋、トークン、クエリ応答方式などの多数の方法を使用して、個人の身元を確認し、システムにアカウントが存在することを検証することができる。
認証されると、有効なユーザのIDを使用して、コミュニケ、データ、ファイル、システムなどへのアクセス権と特権が判断される。こうした特権とアクセス権は総称して、システムにより付与されるユーザの「認可(Authorization)」と呼ばれる。すなわち、認証ユーザのみが、認可された通信、データ、ファイル、及びシステム機能にアクセスできる。したがって、認可は「特権」または「アクセス権」と同義となる。
AAAの3番目の「A」は「管理(Administration)」を表している。管理とは、従量課金制の管理などを目的として、ネットワークとファイルへの認可アクセスを記録し、ネットワーク、ファイル、及びシステムへの不正アクセスの試行を監視及び報告することである。認証操作に必要なセキュリティクレデンシャル情報、PIN、パスワードなどの変更を追跡する上でも、管理が重要となる。
プライバシーを保証し、認可されていないユーザやネットワークオペレータによるネットワークの不正利用を防ぐ上で、AAA検証を実行するネットワークの能力が最も重要となる。ユーザのIDを確認できないネットワークは全て、違法な操作に不正利用される可能性がある。OTT通信には発信者IDを検証する手段が存在しないため、許可されていないユーザによるネットワークの不正利用は避けられない問題となる。未確認ユーザによる不正アクセスとネットワーク通信、すなわち匿名性は、現代の通信における重大なリスクである。
匿名性
通信における匿名性の原則は、トレーサビリティなしに通信を図ることを目的として、発信者のIDを意図的に隠すことである。匿名通信のほぼ象徴的な例として公衆電話が挙げられる。公衆電話の支払は追跡不可能な現金であり、公衆電話番号は公開されており、そして誰でも電話を使用できる。すなわち、公衆電話では発呼者のIDは不明で、発呼者が主張通りの本人であることを確認する手段は存在しない。電話番号は電話帳に載っておらず、個人が番号を所有しているわけではないため、(高度な音声認識ソフトウェアを使用する場合を除き)発呼者のIDを識別する方法はない。携帯電話などの登録済みデバイスの場合は、電話番号からデバイス所有者のIDを追跡できるが、依然として発呼者のIDを隠すことはできる。例えば、盗んだ電話や従量制のSIMカードを使用すれば、発呼者の実際のIDを隠すことが可能となる。または、ノートブック、タブレット、または携帯電話を公共のカフェでWiFiに接続することで、公衆電話や電話ボックスと同様の匿名性が得られる。
一部のOTT事業者は、加入者のID検証なしで、VoIP電話サービスを有料電話として運用している。例えば、CNN Moneyの最近のオンラインレポート(http://money.cnn.com/2015/11/17/technology/isis-telegram/)には、「『Telegram』というアプリがジハード主義者の間で新たに人気を博している」と記されている。調査によると、パリテロ事件を密かに計画していたイスラム国(ISIS)テロリスト等はTelegramアプリを連絡手段として活用していた。「Telegram founder knew Isis was using the app to communicate before Paris attacks(ISISがパリテロ事件の前にアプリを使用して通信していることをTelegramの創設者は知っていた)」(http://www.independent.co.uk/life-style/gadgets-and-tech/news/telegram-knew-isis-communicate-paris-pavel-durov-a6742126.html)と題する記事には、Telegramの創設者、パーヴェル・ドゥーロフ(Pavel Durov)が「テロのような不良な事態が発生することへの恐怖よりも、プライバシーの権利のほうが重要である」と述べたと記されている。
プライバシーと匿名性が犯罪行為に利用された別の報道事例として、BitTorrentが挙げられる。これは、著作権で保護された材料を違法にダウンロードまたは共有するためによく使用されるアプリケーション及びデータネットワークである。CNN Moneyに掲載された記事「50,000 BitTorrent users sued for alleged illegal downloads(違法ダウンロード容疑でBitTorrentユーザ5万人を訴追)」(http://money.cnn.com/2011/06/10/technology/bittorrent_lawsuits/)によると、新しい海賊対処法の下、「ハート・ロッカー(The Hurt Locker)」などの著作物を違法にダウンロードした容疑で同アプリのユーザ等が訴追されている。ネットワークオペレータのBitTorrentは、ネットワークユーザが個人的な活動のために行う行為に対する責任は負わないという公衆電話的な立場を取っている。言論の自由の擁護者はこの姿勢を支持しているが、法執行機関、政府、国家安全保障機関、及び知的財産権の擁護者は、この姿勢を無謀かつ無責任であるとして激しく嫌悪している。問題の政治的側面に関係なく、通信システムで発信者検証を実行できない限り、匿名コールを停止することに関する議論は純粋に学術的なものに過ぎない。
企業や事業体にとって、知的財産、開発技術、製品評価、製造ノウハウ、機密財務報告と財務予測、事業状況、販売予測、在庫と仕掛品、品質監査、取引と知的財産契約、顧客リスト、従業員記録、他の企業秘密といった企業機密データへのアクセスを管理する上で、発信者の検証と認証は特に重要となる。企業通信へのアクセスにおいては、従業員、請負業者、または役員に付与されるアクセス権はIDの確認に依存する。投資家との通話を含む電話会議では、通話への参加者のIDを確認し、知る必要のない人物が聞いていないことを確認するために、ID検証が重要となる。
皮肉なことに、発信者検証は犯罪者や企業スパイの行為を阻止するために使用できるが、同じID検証が発信者のプライバシーを保証するのにも有益に働く。コールまたはテキストチャットの双方当事者が何らかの規定された認証手順を介してお互いのIDを確認すれば、詐欺師はコールまたはそのデータにアクセスできなくなることから、攻撃からコールを保護することができる。
最後に、匿名コールで匿名の発信者を区別するためには、区別を行う必要があるということを挙げておく。匿名の発信者とは、通信しているネットワークで自身の本当のIDを偽装する個人である。しかし、匿名コールでは、発信者のIDがネットワーク上で匿名というわけではなく、通信中の発信者のIDがコールデータパケットで難読化されているに過ぎない。SDNPネットワークの登録アカウント所有者は、この開示に従って、ネットワークでIDと電話番号が知られていても、匿名データ転送を使用して電話をかけること、またはデータを送信することができる。このようにして、法を遵守する市民は、SDNPネットワークオペレータからIDを隠すことなく、匿名で通信することが可能となる。発信者が通常のプライベートなコール、エンターテイメント、またはビジネスに従事している場合、ネットワークでSDNPネームサーバデータベースに格納されているIDが分かっていても、SDNPコールは非公開でセキュアである。
合法的な匿名コールの必要性の例として、ゲーマーのID、特に児童のIDを保護することが重要となるグローバルゲーミングが挙げられる。匿名性によりメリットがもたらされ得る別の例として、車車間(V2V)通信が挙げられる。交通状況を悪化させたドライバーの個人データを特定できれば、激怒した他のドライバーの報復の対象となる可能性があるが、匿名性を維持することで、こうしたリスクが排除される。対照的に、発信者が犯罪または他の悪意ある通信に関与している場合は、法執行者が(適用法に従って)コール及びデータ送信にアクセスできる。このように、ネットワークオペレータは、法を遵守する市民のIDやコール内容を公開することなく、裁判所命令と召喚状の要件を満たすことができる。
要約すると、開示されるSDNP通信方法を使用することで、識別可能なSDNP加入者のみが匿名コールを発信できる。未確認発信者はSDNPネットワークにアクセスすることも、匿名コールを行うこともできない。
国家安全保障及びプライバシー
セキュアでプライベートな通信の性質は、政府の役割と法律を考慮するとさらに混乱する。どの国も、国内の通信を制御する主権を主張している。しかし、インターネット及び動的にルーティングされるパケット交換データネットワークの出現により、ネットワークの監視については技術的及び法的問題が山積みとなっている。懸念事項の1つとして、サーバ間のネットワークを「流れる」トラフィック監視に関する問題が挙げられる。つまり、データパケットが止まることなく国間を通過するということである。インターネットトラフィックは動的にルーティングされるため、サーバのネットワークによりどのようなデータパケットが伝送されているのかをネットワークオペレータは把握できない。もちろん、どのような国でもこの大量のバルクデータを傍受してデコードすることを試みることはできるが、暗号化されていることから、特にリアルタイムの監視の場合、暗号化鍵が分からなければアクセスすることは困難である。また、発信者は国内に居住していない可能性があるため、特定の国には召喚状の請求またはコールの発信に使用された暗号化鍵の要求を行う管轄権がない場合がある。このようにネットワークを流れるデータは、地球の大気を通過する電波トラフィックに似ている。電波が頭上を通過しても、これを止める実用的な方法は存在しない。同様に、国のインフラストラクチャをインターネットから完全に隔離すること以外に、ネットワークを流れるデータトラフィックを停止させる現実的な方法はない。
通信を管理するより実用的なソリューションとして、ラストマイル通信に監視を集中することが挙げられる。すなわち、コールの送信元と宛先が国内にあるコールとコールデータを傍受及び監視するのである。このアプローチには、大量のデータトラフィックの傍受と比較して、(i)データの規模が小さい、すなわち分析しやすい、(ii)ラストマイル通信事業者またはネットワークオペレータが所在している国の法律の対象となる、(iii)暗号化鍵の提出を求めて、ラストマイル通信事業者またはネットワークオペレータを召喚できる、(iv)ラストマイルネットワークに接続する条件として、発信者のデバイスに電子的な「登録」を強制し、その際に発信者に関する情報を放棄させることができる、(v)ネットワークアドレス、GPSデータ、または無線信号の三角測量を使用して、ネットワークに接続されたデバイスの場所を把握できるといういくつかの利点がある。
ネットワークを流れるデータ規制を執行する法的・技術的課題とは異なり、ラストマイル通信とコール終了に法律を適用することは、完全にラストマイルネットワークオペレータが所在する国の権利となる。国のプライバシー法に応じて、国の政府は、ラストマイル通信における必要なアクセスレベルを主張することができる。これには、以下の組み合わせが含まれる。
・相当の根拠に基づき裁判所から召喚状が発せられない限り、どのようなデータやコールでも監視する権利がない。裁判所命令により、コールまたはデータ通信を密かに監視する権利。
・裁判所命令なしで、任意の通話のメタデータを監視する権利。
・裁判所命令なしで、全てのコールとデータ通信を監視する権利。
・通信を傍受及び監視し、必要に応じて通信のいずれか、または全てをブロックする権利。
例えば、米国などの様々な政府は、裁判所命令なしにコールの「メタデータ」を監視する権利を留保するという立場を取っている。メタデータには、発信者と発信先、コールの継続時間、呼び出し時に発信者が所在していた場所などに関するデータパケット情報が含まれており、実際のコールデータ自体にアクセスすることなく、こうした情報を得ることができる。本質的に、メタデータはIPパケットのデータヘッダで構成されるが、ペイロードではない。対照的に、コールとデータ通信を監視するには、ヘッダデータだけでなくペイロード自体にアクセスする必要がある。ペイロードが暗号化される可能性がある場合、マスター暗号化鍵が存在するのであれば、政府はネットワークオペレータに対してその鍵を提供するように要求することができる。プライバシー擁護者から提起される1つの問題として、政府の権力濫用が挙げられる。特に、ネットワークが単一セットのマスター暗号化鍵に依存している場合、裁判所命令に応じてその鍵が政府に提供されることで政府が特定個人を実際に監視できるようになるということは、たとえ裁判所命令がある個人または集団に制限されていたとしても、実際には政府が全員のコールを監視できるようになるということである。この問題では、時に「では誰が警察を取り締まるのか」という板挟みの状況が指摘される。
別の考慮事項は、国際コールを行う個人のプライバシー権に関するものである。このような場合、発信者は、政府のアクセスに関連する法律が両方の発信者の場所、すなわち2つのラストマイルネットワークが発生する場所に依存することに注意する必要がある。米国から中国へのコールは、米国の発信者には米国の法律、他方の中国の発信者には中国の法律が適用される。こうした状況では、一方の政府によるコールアクセスが他方政府よりも大きい場合がある。そのため、プライバシー権が完全に保障されている国の発信者は、相手国の政府によってプライバシーが侵害されたと考える可能性があるが、その国にコールを発信しているため苦情を申し立てる法的根拠は存在しない。
前回開示された動的通信ネットワーク及びプロトコルが使用される通信の場合は、SDNPネットワークを通して匿名で転送される断片化及びスクランブル化されて動的に暗号化されたデータパケットのハイパーセキュアクラウド通信で流れるデータの傍受は事実上不可能である。そのため、ハイパーセキュアコールのプライバシーとセキュリティは、デバイスとラストマイル通信によって決定される。前述のSDNP方法をラストマイル通信に適応させることで、本明細書に開示されるように、ハイパーセキュア通信及び高整合性のプライバシーが可能なラストマイルを実現できる可能性がある。
さらに、SDNPネットワークのセキュリティとプライバシーの設定を調整して、各国のラストマイル通信に適用される現地の法律に対応するメカニズムを開示している。これらの方法には、認可セキュリティ当局がコールデータをハッカーやサイバー犯罪者に曝すことなく、法律及び裁判所の措置に従って通信を監視できるようにする保護手段が含まれる。そのため、本明細書に開示されるハイパーセキュアラストマイル通信では、サイバー攻撃に対して脆弱な「バックドア」の使用は採用されていない。
ハイパーセキュアラストマイル通信の方法及び装置
エンドツーエンドのハイパーセキュリティを確保するには、断片化及びスクランブル化されて暗号化された匿名データパケットのSDNPクラウド内のルーティングに関する前述の方法の適用を、ラストマイル内の通信に同様に適応させる必要がある。データはSDNPオペレータによってホストされていないネットワークで運ばれる可能性があることから、パケットルーティングに従来型のIPパケットルーティングが含まれる場合があり、ラストマイルネットワークの本質的なセキュリティが、ラストマイルネットワークオペレータと共謀している可能性のあるサイバー犯罪者により知らないうちに侵害されている可能性があるため、ラストマイル通信の安全を確保することは特に問題である。
本発明では、ラストマイル通信は必然的に、SDNPクラウド内のデータパケットとは異なるパケットフォーマットを使用するデータクラウドネットワーク外のIPデータグラムの転送を伴う。図10に示されるように、サーバ1201で構成されるSDNPクラウド(ソフトスイッチ対応SDNPノードM0,0からM0,fとして概略的に示す)により、例示的なデータパケット1222B、1222C、及び1222Fとして示されるSDNPデータグラムが使用され、VoIP、ビデオ、テキスト、及びデータが転送される。SDNPデータグラムには、インターネットIPアドレスではなく、SDNPレイヤ3送信元アドレス及び宛先アドレスが含まれる。SDNPアドレスは、インターネットのDNSネームサーバではなく、SDNPネームサーバまたはSDNPネームサーバの機能を実行する他のサーバによってのみ認識されるという点でIPアドレスと異なる。
上記の米国出願第14/803,869号に記載されるように、SDNPパケットはネットワークを移動する際に動的に変化し、更新されたルーティングアドレス及び共有秘密と動的な「ステート」(時間など)に従って常に変化するペイロードが実行される。例えば、ノードM0,0により送信されたデータパケット1222Bは、一意のSDNPアドレスと一意に暗号化されたペイロードを含むレイヤ3 SDNPデータグラムBで構成される。ダウンストリームのノードM0,1からのデータパケット1222C出力は、異なるSDNPアドレスと再暗号化されたペイロードを含むレイヤ3 SDNPデータグラムCで構成される。数十ミリ秒の後、同じペイロードがノードM0,fに到達する。これにより、データが処理され、IPデータグラムGを含むデータパケット1223Gがラストマイルに転送される。
変更は定義されたステートに従って実行されるため、元のパケットデータは、実行された順序とは逆の順序で実行される一連の逆機能操作を実行することで復元できる。例えば、スクランブル化、ジャンク挿入(偽装)、及び暗号化の手順で構成されるSDNP機能シーケンスは、対応する逆機能を実行するために機能の実行に使用されたのと同じステートを呼び出す場合は、逆の順番で復号化、ジャンク除去、及びアンスクランブル化により元に戻すことができる。パケットのステートデータは、パケットのペイロードに埋め込まれるか、またはパケットの前に送信されるかたちで時間、シード、または鍵として伝送される。SDNPクラウド内のデータ転送と処理は、SDNPクラウド固有の共有秘密とセキュリティクレデンシャル情報を使用して行われる。共有秘密とセキュリティクレデンシャル情報の共通セットを共有するメディアノードは、セキュリティ「ゾーン」と呼ばれる場合がある。SDNPクラウド内で動作するセキュリティクレデンシャル情報に使用されるゾーンは、SDNPクラウド外のユーザの通信で公開することはできない。そのため、全てのラストマイル通信には、SDNPクラウドとは異なるSDNPセキュリティゾーンを含める必要がある。
示される例では、対応するノード0,0及びM0,fをホストするサーバ1201A及びサーバ1201Fは、SDNPゲートウェイとして動作する。すなわち、SDNPクラウド外部のデバイス及び他のクラウド内SDNPノードと通信する。これらのゲートウェイからクラウド外部の通信デバイスへの通信は、「ラストマイル」通信を表す。したがって、ゲートウェイノードで、SDNPクラウドと接続先のラストマイルネットワークの両方のゾーンセキュリティクレデンシャル情報が理解されており、パケットルーティング中のトランスレータとして機能させる必要がある。意味的には、ラストマイルという用語は、SDNPクラウド外部の通信を意味する抽象概念であり、特に1マイルの距離を指すものではない。代わりに、ラストマイルという用語には、クライアントデバイスがSDNPクライアントとして動作しているかどうか、すなわちSDNPアプリケーションソフトウェアまたはファームウェアが実行されているかどうかに関わりなく、及びその距離に関係なく、クライアントデバイスとSDNPクラウド間の通信が含まれる。
また、ラストマイルという用語は、コールが開始されるクライアントデバイス及びコール先のクライアントデバイスの両方に適用される。文字通り、発信者のデータはコールの「ラストマイル(last mile)」ではなく「ファーストマイル(first mile)」を表すため、「ファーストマイル」と「ラストマイル」の区別は恣意的なものである。具体的には、二重変換またはIP通信「セッション」では、コールを受信するデバイスは、必然的に発信者に応答を送信することにより、コールまたはセッション要求に応答する。したがって、双方向通信では、ファーストマイル接続は常に応答データパスのラストマイルとして機能する。本質的に、発信者のファーストマイルは、同時に応答のラストマイルとなる。そのため、本出願全体で定義される用語「ラストマイル」は、コールまたはコールセッションがいずれのデバイスから開始されたものかに関わりなく、ファーストマイルとラストマイルの両方を意味するものとする。
SDNPクラウド外部からSDNPクライアント以外の任意のデバイスへの通信は、必然的にSDNPデータグラムではなく、IPデータグラムを使用して実行される。例として、図10に示されるように、データパケット1223Aは、SDNPアドレスではなく、IPアドレスを有するSDNPペイロードを使用して構築された「IPデータグラムA」で構成される。同様に、IPデータグラムGは、IPアドレスを使用してルーティングされたSDNPペイロードを含むデータパケット1223Gで構成される。送信元IPアドレス及び宛先IPアドレスとは、ルーティング先のネットワークで認識可能なIPv4またはIPv6アドレスを表すものである。IPアドレスには、インターネットのDNSサーバで認識されるインターネットアドレスが含まれる場合、またはローカルネットワークサービスプロバイダにより定義されたローカルネットワーク全体のルーティングに使用されるNATアドレスが含まれる場合がある。
ラストマイル通信で使用されるハードウェアとファームウェアは大きく異なる場合があり、これには電話回線、ファイバ通信、ケーブルテレビネットワーク、3Gと4G無線ネットワーク、マイクロ波通信塔、及び衛星が含まれる場合があるため、ラストマイル通信の分析は、様々なレイヤ1物理ネットワーク及び採用されている対応レイヤ2データリンクフォーマットを考慮する必要がある。例えば、フォーマットにはアナログ(POTS)、イーサネット(登録商標)、WiFi、3G、4G/LTE、及びDOCSIS3が含まれる。各ラストマイルの実装に対応するセキュリティ及びプライバシー機能は、SDNP「コールアウト」通信に関する以下のセクションで、ケースバイケースで検討される。
非セキュア回線を介したSDNPコールアウト
専門用語として、定義されたネットワークを出て別の(及び一般に異なる)ネットワークを介して転送されるコールは全て、一般的に「コールアウト」と呼ばれる。この用語は、データまたは音声があるネットワークを出て別のネットワークで転送されることを意味する。例えば、Skypeアプリケーションを実行しているクライアント間の通信は一般的にSkypeコールと呼ばれるが、Skypeクライアントから普通の電話番号または携帯電話番号にかけられる電話は、Skypeコールアウト機能または「Skypeアウト」コールと呼ばれる。一般的に、普通の電話へのコールアウトには、加入料または従量課金のいずれかとして、追加のコストがかかる。
本文書の文脈において、非セキュアラストマイル接続を介したSDNPクライアントからSDNPクライアント以外の任意のデバイスへの通信は、本明細書では「SDNPコールアウト」という定義された用語で表される。図11は、非セキュアラストマイルへのSDNPコールアウトルーティングの2つの例を概略的に表したものである。上部の例では、電話や公衆電話6Aなどのアナログデバイスへのアナログ信号を使用して通信が行われる。このような場合、SDNPゲートウェイにはデジタルからアナログへの変換器が含まれている必要がある。そうでない場合は、モデムまたは変換デバイスがゲートウェイに追加される場合がある。情報は、データパケットではなく、アナログ信号1221によって伝送される。アナログ電話信号は音声の伝送には効率的であるが、高速データ通信には十分に対応していない。
下部の例の場合、SDNPコールアウトは、デジタルネットワークを介して、SDNPクライアントとして有効化されていない、すなわちSDNPソフトウェアまたはファームウェアで有効化されていないデジタルデバイス(携帯電話32など)に対して行われる。このような場合、一般的にインターネットプロトコルに従い、すなわち7レイヤOSIモデルと一致するIPパケットフォーマットが使用され、データパケット1223により通話またはデータが伝送される。IPデータグラムには、その送信元アドレスフィールド及び宛先アドレスフィールドにIPアドレスまたはNATアドレスが含まれ、ペイロードとしてIPデータまたはVoIPデータが含まれる。デジタルパスには、ラストマイル接続に応じて異なるイーサネット(登録商標)、WiFi、4G/LTEなどの様々なフォーマットのデジタルデータが含まれる場合がある。
いずれの例示的概略図でも、ラストマイル通信データはSDNPネットワーク外部で非セキュア通信チャネルまたはネットワークを介して運ばれるため、通話は安全でなく、ハッキング、スパイ、盗聴、他のサイバー攻撃の対象となる。本適用の背景に説明されるように、ツイストペア銅線、同軸ケーブル、ファイバ、イーサネット(登録商標)、WiFi、セルラー、衛星など、その種類に関わらず、暗号化のような特別なセキュリティ方式がエンドツーエンドのデータパスに挿入されていない限り、ラストマイルの非セキュア回線と接続は本質的に安全ではない。したがって、最もセキュアなデータクラウドまたはVPNのセキュリティが、最も脆弱な部分(この例ではラストマイル)のせいで侵害される。特に単一の明確に定義された電気、マイクロ波、または電波接続では、暗号化によってもセキュリティは保証されない。セキュリティの欠如に加えて、例示的概略図では、ID検証のメカニズムが何も含まれていない。認証が可能でないため、ラストマイルにはプライバシーの保証がない。したがって、例示的概略図は、発信者のプライバシーが保証されない非セキュアラストマイルネットワークを表している。
図12では、デジタルネットワークサービスプロバイダNSPがホストする有線またはファイバリンク24を介して、公衆交換電話網またはPSTNゲートウェイ1Aに接続し、SDNPゲートウェイ1201Aから非セキュアラストマイルへ、プライバシーの保証のないSDNPコールアウトが実行される。次に、PSTNゲートウェイ1Aは、アナログ通信接続4を介して従来型の電話システムPOTSスイッチ3にルーティングされる。その後、POTSスイッチ3から、ツイストペア線7を介して、家庭用電話6、コードレス電話システム5、または公衆電話6Aに従来型の電話通話が行われる。ラストマイル全体が非プライベート及び非セキュアである。SDNPデータグラムAを含むデータパケット1222Aの通信では、SDNPネットワーク内でSDNPアドレス指定とSDNPペイロードが使用されるが、データがラストマイルに入ると、ハイパーセキュリティの利点が失われる。例えば、NSPネットワークでホストされる有線またはファイバリンク24により伝送されるIPデータグラムBを含むデータパケット1223Bでは、インターネットDNSサーバで認識される従来型のIPアドレス指定が使用され、これにはサイバーパイレーツがスニッフィングできる従来型のIPペイロードが含まれる。アナログ回線4及び7では、アナログコールデータ1221として単純なアナログ音声信号が伝送されるため、同様に脆弱である。SDNPゲートウェイでは非セキュアな非プライベートコールアウトをサポートできるが、SDNPで保護されたコールをプライバシー規定のない非セキュアラストマイルネットワークに接続することは勧められない。
ID検証を使用することで、前述の非セキュアラストマイル実装をわずかに改善することができる。図13には、非セキュアラストマイルへのSDNPコールルーティングではあるが、2つの異なる種類の認証を使用する例が概略的に示されている。上部の例は、アナログまたはPOTS回線を介したSDNPゲートウェイ1220Aからのオフィスのデスクトップ電話機9へのSDNPコールアウトを示すものである。これに示されるように、オペレータ1225は認証を手動で実行して、アカウント所有者のID及びアカウントIDを確認する。認証されてはいるが、アナログ音声1221で行われるコールはセキュアではなく、会話で秘密またはアカウント情報が聴覚的に明らかにされない場合にのみプライベートとなる。すなわち、秘密が明らかにされなければ情報は非公開となるが、情報が明らかにされると、通信はもはやプライベートではなくなる。そのため、本明細書では、半プライベートという用語は、非セキュア回線を介した認証済みの通信、すなわち条件付きプライベート通信を指す。
下部の例は、SDNPゲートウェイ1220Aから非セキュアデジタルラストマイルへのSDNPコールアウトを示すものである。IPデータグラム1223によりデスクトップPC 36などの電子デバイスに伝送されるデータは非セキュアであるが、サイバー攻撃者がアクセスできないトークン1226などの電子的なID検証方法を使用して認証できる。回線が非セキュアで、スニッフィングできるため、デジタル対話でアカウント番号や機密データが漏れないように注意する必要がある。
半プライベートの非セキュアコールの具体例を以下いくつかの例に示す。図14には、SDNPネットワークとオフィスのデスクトップ電話機9(プライベートバンカーの電話など)との間のID検証済みの非セキュアラストマイル通信が示されている。例えば、国際的に実行される場合、アカウント所有者/口座名義人のコールは、SDNPネットワークでハイパーセキュア通信を使用して世界中にルーティングされ、最終的にSDNPゲートウェイ1201Aを介してSDNPコールとしてラストマイルに接続される。コールの長距離部分は、SDNPペイロードを有するSDNPデータグラムAを含むデータパケット1222Aなどの動的に変化するSDNPデータグラムを使用して実行される。次に、SDNPゲートウェイ1201Aで、データパケット1222Aが、SDNPデータグラムAからデータパケット1223Bによって示されるIPデータグラムBに変換される。SDNPデータグラムAとは異なり、IPデータグラムBにはスニッフィング可能なIPペイロードが含まれる。データパケット1223Bは、ネットワークサービスプロバイダ(NSP)が運用する有線またはファイバリンク 24によって、公衆交換電話網またはPSTNゲートウェイ1Aに転送される。そして、このゲートウェイが、アナログコール1221を伝送するPOTS回線4を介して企業の交換機8Aに接続される。企業の交換機8Aが、アナログ構内電話交換機またはPBX回線7Aを介してデスクトップ電話機9に接続され、個人認証オペレータ1225にも接続される。コール中、口座名義人がデスクトップ電話機9でプライベートバンカーに連絡することになる。その際、どのような取引でもそれに従事する前に、個人認証オペレータ1225がコールに参加して発信者のIDを確認してから通話を終了するため、その後は発呼者のプライバシーが維持される。しかし、通話が非セキュアであるため、プライベートバンカーと口座名義人は両方共に、口座番号、パスワード、PINなどの機密情報を口頭で明かさないように注意する必要がある。そのため、コールは半プライベート、すなわち条件付きプライベートとなる。
図15には、SDNPネットワークとデスクトップコンピュータ36との間のID検証済みの非セキュアラストマイル通信が示されている。デジタル通信セッションでは、いくつかのデジタルメディアで伝送されるIPデータグラムBが使用され、デスクトップコンピュータ36からSDNPゲートウェイ1201Aへ通信が行われる。最初の区間では、イーサネット(登録商標)106Aにより、IPデータグラムBを含むデータパケット1223Dが、デスクトップコンピュータ36からイーサネット(登録商標)ベースのローカルルータ27Bに伝送される。その後、IPデータグラムBを含むデータパケット1223Cが使用され、インターネットサービスプロバイダ(ISP)の有線またはファイバリンク24A経由で、イーサネット(登録商標)ローカルルータからネットワークルータ27へ通信が行われる。ネットワークルータ27とSDNPゲートウェイ1201A間のラストマイルの最終区間において、NSPが運用する有線またはファイバリンク24のネットワークサービスプロバイダ回線により、IPデータグラムBを含むデータパケット1223Bが伝送される。IPデータグラムが使用されるため、ラストマイルは非セキュアとなる。ログインウィンドウ1227及びセキュリティトークン1228のようなデジタル方式のID検証を認証に使用して、通信を半プライベートに維持することができる。詐欺師により利用されるのを防ぐために、これらのデジタル認証は1回限りの使用に制限する必要がある。例えば、トークンから番号が生成され、それが一旦アクセスに使用されると、その組み合わせはその後使用できなくなるため、ハッカーがトークンを傍受したとしても、当該トークンは有効期限が切れて無効になるため役には立たない。
図16には、ID検証済みの非セキュアラストマイル通信の他の例が示されている。この例では、SDNPコールアウトとして、SDNPゲートウェイ1201AからPOS端末38及びガスポンプPOS端末38Aへ通信が行われる。示されているラストマイル通信は、IPデータグラムBを含むデータパケット1223Bをネットワークルータ27に伝送するNSP有線またはファイバリンク24、その後にデータパケット1223C内のIPデータグラムBをPSTNブリッジ3Aに伝送する有線またはファイバリンク24A、及びPOS端子38及びガスポンプPOS端子38Aに接続されたアナログコール1221AとしてデジタルPCM(パルスコード変調)データを伝送するPOTSまたはアナログ回線30Bが続くデジタル及びアナログ接続が混合したものである。金融取引における認証は、電子検証に基づくスマートカード集積回路及び動的PIN 1228を含む銀行カードデータ1229に基づいている。認証には、SDNPゲートウェイ1201Aまたは別のラストマイルを介してSDNPネットワークに接続される金融機関1230による確認が含まれる。
ハイパーセキュアラストマイル通信
セキュア動的通信ネットワーク及びプロトコルの技術を採用することで、ハイパーセキュア通信をラストマイルで実現できる。ハイパーセキュリティを容易化するために、接続されたデバイスでSDNPコードを「SDNPクライアント」として実行する必要がある。SDNPクライアントは、接続された通信デバイスでホストされる操作指示、共有秘密、及びSDNP接続情報で構成される。SDNPクライアントには、オペレーティングシステムで実行されるソフトウェア、マイクロコントローラーまたはプログラマブルICで実行されるファームウェア、または専用のハードウェアまたは集積回路が含まれる場合がある。図17は、「SDNP接続」が使用されるラストマイルでのハイパーセキュア通信の例を概略的に表したものである。示されるように、SDNPゲートウェイ1201Aは、SDNPクライアントを実行するデバイス、この例ではデスクトップコンピュータ36で実行されるSDNPアプリ1335に接続される。SDNPクライアントは、ハードウェア及びオペレーティングシステムに固有である。モバイルデバイスの場合、Android(登録商標)、iOS、及びWindows(登録商標) Mobileを使用するモバイルデバイスプラットフォームごとに個別のアプリが必要となる。同様に、Windows(登録商標) 10、MacOS、Unix(登録商標)、Linux(登録商標)などを含め、ノートブック、デスクトップPC、及びサーバには、個別のOS固有のアプリケーションが必要である。POS端末、ホットスポット、IoTなど、高レベルのオペレーティングシステムを備えていないデバイスにおけるSDNPクライアントのハードウェアホスティングでは、コードを実行するプログラマブルデバイスに適応させる必要がある。プログラマブル集積回路では、多くの場合、Qualcomm、Broadcom、Intel、AMD、NVidia、Microchipなど、ICベンダーに固有のチップ固有の開発環境でのプログラミングが必要になる場合がある。
SDNPゲートウェイ1201AとSDNPアプリ1335では、SDNPペイロード1222を使用して通信が行われるため、パケットスニッフィングでは発信者のIDとコールペイロードが理解できなくなる。具体的には、SDNPペイロード1222にはDNSサーバによって認識されない送信元と宛先のSDNP擬似アドレスが含まれ、ペイロードはスクランブル化、断片化、ジャンクデータ挿入との混合、及び動的に暗号化が可能なSDNPデータで構成される。SDNPペイロード1222はIPデータグラム1223に埋め込まれる。これにより、SDNPアドレスではなく、ラストマイル接続に使用されるセルラー、ケーブル、またはISP事業者のネットワークのIPアドレスまたはNATアドレスを使用してラストマイルを介したルーティングが指示される。
SDNPベースのハイパーセキュアラスト通信のもう1つの側面として、全てのSDNPクライアントで本質的に認証とID検証を行えることが挙げられる。したがって、プライバシー機能は、AAAをサポートするためにプライバシーを実現するネットワークの能力に基づくのではなく、クライアントソフトウェアまたはファームウェアが検証プロセスを容易化するように設計されているかどうかに基づく。全てのハイパーセキュアラストマイルはID検証に対応しているため、以下のハイパーセキュアラストマイルの例はプライベート及び非プライベートのセキュア通信の両方に適用されることを理解する必要がある。したがって、半プライバシー機能を備えたセキュアでないラストマイルネットワークとは異なり、ハイパーセキュアラストマイルを介したプライベート通信は、ネットワークではなく、SDNPクライアントによって決定され、ここではクライアントが望むあらゆるレベルの単一要素認証または多要素認証の手順をサポートできる。
ハイパーセキュアコールの具体例を以下いくつかの例に示す。図18には、SDNPネットワーク及びWiFiラストリンクを備えた様々なセルラーモバイルデバイスの間のハイパーセキュアラストマイル通信が示されている。示されるように、SDNPデータグラムAとSDNPペイロードを含むデータパケット1222Aは、ラストマイル通信のSDNPゲートウェイ1201Aによって、同じくSDNPペイロードを含むIPデータグラムBで構成されるデータパケット1223Bに変換される。ハイパーセキュアラストマイルでは、SDNPクラウドで使用されるものとは異なる共有秘密、数値シード、暗号化鍵、及び他のゾーン固有のセキュリティクレデンシャル情報が利用されるため、IPデータグラムBのSDNPペイロードは、SDNPデータグラムAのSDNPペイロードとは異なる。言い換えると、あるセキュリティゾーンから別のセキュリティゾーンにペイロードが変更されることで、及びSDNPルーティング情報がDNSサーバで認識されない送信元SDNPアドレス及び宛先SDNPアドレスとして埋め込まれることで、SDNPゲートウェイ1201AでSDNPデータグラムがIPデータグラムに変換される。
次に、SDNPゲートウェイ1201Aと通信デバイス、すなわちSDNPクライアントとして機能するタブレット33と携帯電話32の間のパケットルーティングを容易化するために、このゾーン固有のSDNPペイロードが、ラストマイルネットワーク固有のIPアドレス(NATまたはインターネットアドレス)を含むIPヘッダを有するIPデータグラムパケットにラップされる。ラストマイルルーティングの中間デバイスはSDNPクライアントではないため、IPデータグラムB内のSDNPペイロードの構造は、ラストマイルを移動する際に固定されたままとなる。言い換えると、データパケット1223B、1223C、及び1223Dは同一に構成されたデータグラムであり、全て同じSDNPペイロード(パケットがラストマイルに沿ってデバイスからデバイスにホップする際に変化しないペイロード)を有するSDNPデータグラムBで構成される。簡単に要約すると、IPデータグラムかSDNPデータグラムかに関係なく、SDNPネットワークノードまたはSDNPクライアントでのみ、レベル3データグラムに埋め込まれたSDNPペイロードを再構築することが可能となる。
示されるように、IPデータグラムBを含むデータパケット1223Bが、NSPが操作する有線またはファイバリンク24によってネットワークルータ27に伝送され、続いて同じくIPデータグラムBを含むデータパケット1223Cが、ISPが操作する有線またはファイバリンク24AによってWiFiルータ26に伝送される。その後、両方ともSDNPアプリ1335Aを実行する携帯電話32及びタブレット33といったモバイルデバイスのWiFiリンク 29経由で、IPデータグラムBを含むデータパケット1223Dが使用され、WiFiルータ26によりラストリンク通信が容易化される。そのため、これらのデバイスは、IPデータグラムBを含むデータパケット1223Dに含まれるデータを解釈できるSDNPクライアントとして機能する。これには、復号化、ジャンク除去、アンスクランブル化、及びペイロードのコンテンツを他のデータパケットからのデータ断片と混合することで、元のメッセージまたは音を再作成することが含まれる。
図19には、SDNPネットワーク及びセルラー無線ラストリンクを備えた様々なセルラーモバイルデバイスの間のハイパーセキュアラストマイル通信が示されている。示されるように、IPデータグラムBを含むデータパケット1223Bが、NSPが操作する有線またはファイバリンク24によってネットワークルータ27に伝送され、続いて同じくIPデータグラムBを含むデータパケット1223Cが、モバイルネットワーク事業者の有線またはファイバリンク24Bによって携帯電話基地局17に伝送され、セルラーネットワーク25が作成される。その後、両方ともSDNPアプリ1335Aを実行する携帯電話32及びタブレット33といったモバイルデバイスの3Gまたは4G/LTEセルラーリンク28経由で、IPデータグラムBを含むデータパケット1223Dが使用され、携帯電話基地局17によりラストリンク通信が容易化される。
前述の例のように、ラストマイルルーティングの中間デバイスはSDNPクライアントではないため、IPデータグラムB内のSDNPペイロードの構造は、ラストマイルを移動する際に固定されたままとなる。言い換えると、データパケット1223B、1223C、及び1223Dは同一に構成されたデータグラムであり、全て同じSDNPペイロード(パケットがラストマイルに沿ってデバイスからデバイスにホップする際に変化しないペイロード)を有するSDNPデータグラムBで構成される。
図20には、SDNPネットワーク及びイーサネット(登録商標)ラストリンクを備えた様々なテザー(非モバイル)デバイスの間のイーサネット(登録商標)ラストマイル通信が示されている。示されるように、IPデータグラムBを含むデータパケット1223Bが、NSPが操作する有線またはファイバリンク24によってネットワークルータ27に伝送され、続いて同じくIPデータグラムBを含むデータパケット1223Cが、インターネットサービスプロバイダ(ISP)の有線またはファイバリンク24Aによってイーサネット(登録商標)ルータ103Aに伝送される。その後、SDNPアプリ1335Cを実行するデスクトップコンピュータ36及びSDNPファームウェア1335Bを実行するデスクトップ電話37といったテザーデバイスのイーサネット(登録商標)106A経由で、IPデータグラムBを含むデータパケット1223Dが使用され、イーサネット(登録商標)ルータ103Aによりラストリンク通信が容易化される。ラストマイルにSDNPネットワークノードまたはSDNPクライアントがない場合、データパケット1223B、1223C、及び1223Dは同一に構成されたデータグラムであり、全て同じSDNPペイロード(パケットがラストマイルに沿ってデバイスからデバイスにホップする際に変化しないペイロード)を有するSDNPデータグラムBで構成される。
図21には、SDNPネットワーク及びケーブルサービスクライアントの間のハイパーセキュアラストマイル通信が示されている。示されるように、IPデータグラムBを含むデータパケット1223Aが、NSP有線またはファイバリンク24によってケーブルCMTS 101、ケーブルオペレータのコマンド、通信、及びコンテンツ配信センターに伝送される。このようなケーブルオペレータは、ケーブルテレビ、ペイパービュー、電話サービス、インターネット接続、ビジネスサービスといった幅広いサービスを提供している。次に、帯域幅及びリアルタイムサービスが最適化されるように、DOCSIS3及びトレリスフォーマット(本開示の背景で説明)に従って変調されたファイバまたは同軸が使用され、CMTS 101ヘッドユニットがケーブル106経由でクライアントに接続される。ケーブルオペレータは、クライアントに対して透過的に、データグラムフォーマットを維持するか、またはIPデータグラムを独自のデータグラムフォーマットにパッケージ化できる。本明細書でCMTSデータグラムCと呼ばれるこれらのデータパケットでは、ケーブル固有のNATアドレス指定が使用され、ケーブル106での配信のために、SDNPペイロードがネスト化されたペイロードとしてデータパケット1224C内でカプセル化される。
示されるように、ケーブルCMTS 101によりCMTSデータグラムCがケーブルモデム103にルーティングされる。その後、これにより、ラストリンク配信のための未変更のSDNPペイロードを有するIPデータグラムBで構成されるペイロードデータパケット1223Bが抽出される。SDNPクライアント対応デバイスへのラストリンクは、イーサネット(登録商標)106A経由でSDNPクライアントアプリ1335Cを実行するデスクトップコンピュータ36へ、またはツイストペア銅線7経由でSDNPクライアントファームウェア1335Bを実行するコードレス電話5Aへなど、いくつかのフォーマットで発生する可能性がある。また、ケーブルCMTS 101により、CMTSデータグラムCがケーブルモデム103にルーティングされ、その後、これにより、例えばIPデータグラムBなどの元のIPデータグラムが抽出され、それと他のビデオコンテンツがケーブル106を介してケーブルテレビセットトップボックスに送信される。そして、ケーブルセットトップボックスから、IPデータグラムBとコンテンツがHDMI(登録商標)-2 107経由で、SDNPアプリ1335Dを実行するUHDインタラクティブテレビ39に転送される。または、ケーブルテレビセットトップボックス102でSDNPファームウェアをホストできる。
図22には、SDNPネットワークとケーブルサービスプロバイダを介して接続されたWiFiホームネットワーク間のハイパーセキュアラストマイル通信が示されている。示されるように、IPデータグラムBを含むデータパケット1223Bが、NSP有線またはファイバリンク24AによってケーブルCMTS 101、ケーブルオペレータのコマンド、通信、及びコンテンツ配信センターに伝送される。次に、有線またはファイバリンク24Aが使用され、同軸またはファイバ経由で、CMTS 101ヘッドユニットが特定のクライアントのケーブル(WiFi)モデムルータ100Bに接続され、WiFiアクセスポイント26が作成される。データパケット1224Cのルーティングには、インターネットアドレスを有するIPデータグラム、またはNATアドレス指定を有する独自のCMTSデータグラムCが含まれる場合がある。SDNPゲートウェイ1201Aとケーブル(WiFi)モデムルータ26との間のルーティングは、ハイパーセキュアラストマイルの有線区間を表す。
ホームネットワークの最後の区間には、IPデータグラムBを含むデータパケット1223Dによってケーブル(WiFi)モデムルータ26を様々なホームデバイスにワイヤレスで接続するWiFiリンク29が含まれる。エンドツーエンドのハイパーセキュリティを促進するには、こうしたデバイスは、デバイスにロードされたソフトウェアまたはファームウェアを使用するSDNPクライアントとして動作するものでなければならない。例えば、ノートブック35及びデスクトップコンピュータ36は、コンピュータアプリ1335Cを使用してSDNPクライアントとして動作し、携帯電話32及びタブレット33は、モバイルアプリ1335Aを使用してSDNPクライアントとして動作する。IoTデバイス(この例では冷蔵庫34K)は、制御システムにSDNPファームウェア1335Eがロードされている場合、SDNPクライアントとして動作できる。しかし、こうしたデバイスにSDNPクライアントのソフトウェアを組み込まない場合、または組み込むことができない場合は、他の方法でエンドツーエンドのセキュリティを実現する必要がある。
IDペアのラストリンクセキュリティ
接続されたデバイスがSDNPクライアントとして動作できない場合は、エンドツーエンドのハイパーセキュリティを保証することができない。この場合は、SDNPリモートゲートウェイを使用してハイパーセキュリティ通信を拡張し、ラストリンクを除く通信のラストマイルをカバーできる。通信デバイスに直接接続されるラストマイルの部分であるラストリンクがSDNPホストとして有効化されていない場合は、ラストリンクの通信を容易にするために使用されるローカルエリアネットワーク(LAN)を介してラストリンクセキュリティを保証する必要がある。図23は、ラストマイル通信におけるSDNPリモートゲートウェイ1350の使用を概略的に表したものである。SDNPリモートゲートウェイ1350には、リモートゲートウェイとして機能するためにSDNPファームウェア1335Hにより有効化される任意の通信デバイスが含まれる。したがって、SDNPゲートウェイ1201AとSDNPリモートゲートウェイ1350との間のSDNP接続は、IPまたはNATソース及び宛先アドレスとSDNPペイロード1222を含むIPデータグラム1223Aで構成される。SDNPペイロード1222には、DNSサーバで認識されないSDNPアドレス及びラストマイルゾーン固有のセキュリティクレデンシャル情報を使用してネスト化されるSDNPペイロードが含まれる。このSDNP接続は、ID検証と発信者のプライバシーをサポートできるハイパーセキュアである。
SDNPリモートゲートウェイ1350とSDNPクライアント以外の接続された任意のデバイス(デスクトップコンピュータ36など)の間では、ローカルエリアネットワークまたはイーサネット(登録商標)、WiFi、他のプロトコルなどのLAN接続によって通信が実行される。LANセキュリティプロトコル、及び通信デバイスとSDNPリモートゲートウェイ間のデバイスペアリングにより、セキュリティが容易化される。デバイスペアリングは、不正アクセスを防止するために、2つの通信デバイス間の認証シーケンスにより2つのデバイスのIDが確立されるプロセスである。
図24は、SDNP対応ルータ1351、すなわちSDNPファームウェア1335Hを実行するルータの使用により、リモートSDNPゲートウェイの機能が実行される例を示すものである。このゲートウェイにより、IPデータグラムAを含むデータパケット1223Aが、IPデータグラムBを含むデータパケット1223Bに変換される。SDNPファームウェア1335HではIPデータグラムAに含まれるSDNPペイロードが解釈されるが、接続されたデバイスはSDNPクライアントではない。代わりに、SDNPルータ1351により、SDNPペイロードが従来型のIPペイロードに変換される。追加のセキュリティ方法をデバイスに導入しない限り、このラストリンクはセキュアとはならない。家庭で使用する場合は、ラストリンクが家庭内で発生するため、多くの場合、このセキュアでないデバイス接続は問題とはならない。ハッカーが物理的に家に侵入して盗聴しない限り、こうした有線接続をスニッフィングすることはできない。家庭内における非SDNPデバイスへの有線のラストリンクの例には、例に示されるようにデスクトップコンピュータ36に接続された、及びテレビ39に接続されたモデム103CまたはHDMI(登録商標)-2に接続されたイーサネット(登録商標)106Aが含まれる。
SDNP接続とハイパーセキュア通信はSDNPルータ1351までしか拡張されないため、有線接続のセキュリティを実現するには、ラストリンクが認証と暗号化に依存することになる。イーサネット(登録商標)の場合、このようなセキュリティでは、レイヤ1からレイヤ3で動作するiSCSIなど、認証デバイス間の暗号化を利用する仮想ローカルエリアネットワーク操作またはVLANのように、任意の数のセキュリティ方法(http://www.computerweekly.com/feature/iSCSI-security-Networking-and-security-options-available)を利用できる。または、「IPセキュリティ」またはIPSecフレームワークを使用して、レイヤ4からレイヤ6の方法を使用してセキュリティを実現できる。元々はデータストレージ向けとして開発され、業界規格としてシスコによって推進されたIPSecには、2つのセキュリティモードがある。「認証ヘッダ」モードでは、受信デバイスでデータの送信者を認証できる。このモードでは、データフィールドは暗号化されるが、ヘッダでは認識可能なIPアドレスが使用される。トンネルモードとも呼ばれるカプセル化セキュリティペイロード(ESP)では、IPヘッダを含むIPパケット全体が暗号化され、新しい非暗号化IPパケットにネスト化されるため、ルーティングが適切に機能し、パケットが正しいネットワーク宛先に伝送される。
いずれの場合も、セキュリティは、デバイスのネットワークへの接続を許可する認証デバイスに依存する。例えば、コンピュータ、共有ストレージドライブ、IoT、及び他のデバイスに接続されるパーソナルネットワークなどのホームネットワークでは、ネットワークに接続されるハードウェアが頻繁に変更されることはない。このような場合、基本的に、認証にはネットワークまたはルータにアクセスするデバイスの登録プロセスが含まれる。特定のユーザのIDを識別するのではなく、このタイプの認証はデバイス間、すなわちデバイスからデバイスへの間で行われ、一般的にはデバイスタグ、名前、またはID番号の使用により、接続が承認されたデバイスが識別及び認識される。ネットワーク接続の確立には、デバイスが最初に相互に導入され、ユーザが接続を承認された後のセットアップ段階が含まれる。そして、有線デバイスが物理的に他のデバイスに接続されるたびに、またはWiFiの場合は2つのデバイスが互いの範囲内に入るたびに、自動認証シーケンスが実行される。本明細書ではIDペアリングと呼ばれるこのセットアップ段階は、デバイス登録、デバイスボンディング、デバイスペアリング、ペアリング、またはペアボンディングとも呼ばれる場合がある。Bluetooth(登録商標)ヘッドフォンを携帯電話に接続するデバイス、またはBluetooth(登録商標)携帯電話を車のハンズフリーオーディオシステムにペアリングするデバイスでも、同様のプロセスが使用される。プロトコルには、チャレンジハンドシェイク認証プロトコルまたはCHAP、Kerberos V5、シンプルな公開鍵の汎用的なセキュリティサービスアプリケーションプログラミングインターフェイス(GSSAPI)、セキュアリモートパスワード(SRP)、及びリモート認証ダイヤルインユーザサービス(RADIUS)が含まれる。RADIUSなどの方法は、破られた暗号化方法に依存するが、それでも他の技術と組み合わせて使用されている。
イーサネット(登録商標)通信ではイーサネット(登録商標)モデム103CなどのIDペアデバイスが保護されるが、ツイストペア銅線コンダクタ7を介してコードレス電話5A及びデスクトップ電話37に伝送されるアナログ電話信号で構成されるモデムの出力の場合、ラストリンクはセキュアではない。さらに、コードレス電話5Aの通信フォーマットはセキュアではなく、傍受及び監視の対象となる。このため、セキュア通信で家庭の電話を使用することは勧められない。
ビデオコンテンツの配信も、セキュリティにおいては関心の対象となる。例えば、SDNPルータ1351のHDTV 39への通信では、高解像度マルチメディアインターフェイス(HDMI(登録商標))、DisplayPort(DP)、デジタルビジュアルインターフェイス(DVI)、及びあまり人気はないがギガビットビデオインターフェイス(GVIF)などのビデオ通信フォーマット、または統合デジタルインターフェイス(UDI)は、通常、HDTVまたはディスプレイモニターへの物理的な接続で構成される。元々この接続とそのデータのセキュリティは、著作権で保護された材料の違法な複製と配布の防止を焦点として、映画スタジオとコンテンツプロバイダの関心事となっていた。ビデオリンクのセキュリティを維持するためにIntel Corp.が開発したセキュリティプロトコルの1つに、高帯域幅デジタルコンテンツ保護(HDCP)(https://en.wikipedia.org/wiki/High-bandwidth_Digital_Content_Protection)というものがある。元々このシステムは、HDCPで暗号化されたコンテンツが未許可のデバイスで再生されるのを防ぐことを目的するものであった。このシステムでは、コンテンツが送信される前に、テレビ受信機またはディスプレイの認証が確認される。したがって、DHCPでは、認証によってライセンスのないデバイスによるデータ受信が防止され、データの暗号化によって情報の盗聴が防止され、そして侵害されたデバイスの鍵は取り消される。
HDCPでは、認証により、すなわちIDペアリングを使用して、モデムからテレビへのコンテンツの流れを保護できる。しかし、スマートテレビの出現により、データフローが双方向となった。リビジョン1.4以降、テレビからモデムまたはセットトップボックスへのアップストリームデータフローを容易化する手段として、HECまたはHDMI(登録商標)イーサネット(登録商標)チャネルとして知られる高速双方向データチャネルがHDMI(登録商標)に組み込まれるようになった。このデータチャネルでは、100MC/secイーサネット(登録商標)経由でHDMI(登録商標)に接続されたデバイスからデータを送受信できるため、IPテレビなどのIPベースアプリケーションに対応できる。HDMI(登録商標)イーサネット(登録商標)チャネルにより、インターネット対応のHDMI(登録商標)デバイスで、個別のイーサネット(登録商標)ケーブルを必要とせずに、HDMI(登録商標)リンクを介してインターネット接続を共有できる。そのため、同じセキュリティプロトコルとイーサネット(登録商標)で利用可能なIDペアリングを使用して、HDMI(登録商標)経由でセキュア通信を容易化できる。
図25には、SDNP対応WiFiルータ1352、すなわちSDNPファームウェア1335Jを実行するWiFiルータの使用により、リモートSDNPゲートウェイの機能が実行される例が示されている。このゲートウェイにより、IPデータグラムAを含むデータパケット1223Aが、IPデータグラムBを含むデータパケット1223Bに変換される。SDNPファームウェア1335JではIPデータグラムAに含まれるSDNPペイロードが解釈されるが、接続されたデバイスはSDNPクライアントではない。代わりに、SDNP WiFiルータ1352によりSDNPペイロードが従来型のIPペイロードに変換され、WiFiアクセスポイント26が使用されて、接続されたデバイスとのワイヤレス通信が行われ、WiFiリンク29を介した通信が容易化される。追加のセキュリティ方法をデバイスに導入しない限り、このラストリンクはセキュアとはならない。家庭やオフィスにおけるWiFi通信の場合、遠方からでもデータパケットがスニッフィングされる可能性があるため、セキュリティが懸念事項となる。WiFi接続された家庭デバイス及びオフィスデバイスの例には、デスクトップコンピュータ36、ノートブック35、タブレット33、携帯電話32、スピーカー34B、プリンタ/スキャナ34A、及び共有データドライブ34Cが含まれる。
接続されたデバイスとSDNPゲートウェイ(すなわちSDNP WiFiルータ1352)との間のセキュリティは、旧WPAとそのセキュアでない前身のWPEの代替であるWiFi Protected Access WPA-IIまたはWPA2(IEEE 802.11i-2004)など、任意の数の業界標準プロトコルを使用して達成される。WPA2通信はCCMPを使用して保護される。CCMPは、128ビット鍵と128ビットブロックサイズでのAES処理に基づく「Counter Mode Cipher Block Chaining Message Authentication Code Protocol」の頭文字である。CCMPでは、データの機密性が提供され、認証が必要となり、アクセス制御が設定される。認証には、セットアップ時のIDペアリングが含まれる。再ペアリングは手動で実行する必要がある。CCMPセキュリティは優れてはいるが、ハイパーセキュアではなく、SDNPクライアントにより得られる匿名データパケットとSDNP通信の動的な性質に欠ける。
図26は、ホームネットワークでIoTに接続されたデバイスの例である。この例では、SDNP対応WiFiルータ1352、すなわちSDNPファームウェア1335Jを実行するWiFiルータの使用により、リモートSDNPゲートウェイの機能が実行される。このゲートウェイにより、IPデータグラムAを含むデータパケット1223Aが、IPデータグラムBを含むデータパケット1223Bに変換される。SDNPファームウェア1335JではIPデータグラムAに含まれるSDNPペイロードが解釈されるが、IoTに接続されたデバイスはSDNPクライアントではない。代わりに、SDNP WiFiルータ1352によりSDNPペイロードが従来型のIPペイロードに変換され、そしてWiFiアクセスポイント26からのWiFiリンク29が使用され、ワイヤレスで、接続されたデバイスとの通信が行われる。追加のセキュリティ方法が実装されていない限り、特にWiFiデータパケットが遠方からスニッフィングされる可能性があるため、このラストリンクはセキュアではない。家庭でWiFiに接続されたIoTデバイスの例には、セントラルヒーティングとエアコン34D、照明34G、ブラインド34F、大型家電34K、ポータブル及び室内HVAC 34E、ガレージドア34L、ホームモニタリング34J、及びホームセントラルセキュリティシステム34Hが含まれる。
接続されたデバイスとSDNPゲートウェイ(すなわちSDNP WiFiルータ1352)との間のセキュリティは、CCMPを用いる前述のWiFi Protected AccessプロトコルWPA2など、任意の数の業界標準プロトコルを使用して、データの機密性を確保し、認証を要求し、アクセス制御を設定することで達成される。WPA2では、IDペアリング、レイヤ2プロトコルとして実装されたデバイス検証を使用してセキュリティが達成される。この方法には手動認証方法が含まれるため、扱いにくい。
IoT通信のために、ローカルエリアネットワークで使用される代替プロトコル「AllJoynフレームワーク」と呼ばれる近接ネットワークが最近導入された。このフレームワークでは、デバイスが検知され、セッションが作成され、そしてセキュア通信が容易化される。このフレームワークは、WiFi、イーサネット(登録商標)、シリアルバス通信、電力線PLCなど、多数のレイヤ2トランスポートレイヤを使用してIoTデバイスの接続性をサポートするように設計されている。アプリケーションは、Linux(登録商標)、Windows(登録商標)、MacOS、Android(登録商標)、iOS、RTOSリアルタイムオペレーティングシステム、オープンソース開発環境Arduinoを含む多数のプラットフォームで動作するC、C++、Obj.C、及びJava(登録商標)に基づいている。
AllJoynに準拠したアプリケーションでは、相互の認証が行われ、暗号化されたデータが交換されて、エンドツーエンドのアプリケーションレベルのセキュリティが実現する。認証とデータ暗号化は、アプリケーションレイヤ7で実行される。ルータレイヤとも呼ばれるトランスポートレイヤ2では、アプリケーションエンドポイント間でセキュリティ関連のメッセージが送信されるが、セキュリティロジック自体は実装されない。アプリケーションレイヤ7にも「認証リスナー」と呼ばれるコールバック機能が実装され、これによりPIN、パスワード、または認証証明書を使用する認証が容易化される。セキュリティは、AES128ピアツーピア暗号化を使用して達成される。WPAと同様に、AllJoynでは、コマンド及び制御シーケンスの実行前に、認証プロセスでIDペアリングが使用される。サポートされる認証方法には、事前共有鍵(PSK)、セキュアリモートパスワード(SRP)鍵の交換、またはユーザ名とパスワードを使用するログオンが含まれる。このプロトコルでは、(i)認証なし、(ii)事前に交換された鍵による認証、及び(iii)X.509 ECDSA証明書による認証のECDHE(Elliptic Curve Diffie-Hellman Ephemeral)鍵交換もサポートされている。
同じ技術を企業に適用できる。図27は、ホームネットワークでIoTに接続されたデバイスの例である。この例では、SDNP対応WiFi及びイーサネット(登録商標)ルータ1352Z、すなわちSDNPファームウェア1335Jを実行するイーサネット(登録商標)及びWiFiルータの使用により、リモートSDNPゲートウェイの機能が実行される。このゲートウェイにより、IPデータグラムAを含むデータパケット1223Aが、IPデータグラムBを含むデータパケット1223Bに変換される。SDNPファームウェア1335JではIPデータグラムAに含まれるSDNPペイロードが解釈されるが、IoTに接続されたデバイスはSDNPクライアントではない。代わりに、SDNP及びイーサネット(登録商標)WiFiルータ1352ZによりSDNPペイロードが従来型のIPペイロードに変換され、WiFiリンク29及びイーサネット(登録商標)106Aの両方が使用されて、接続されたデバイスとの通信が行われる。
追加のセキュリティ方法が実装されていない限り、特にWiFiデータパケットが遠方からスニッフィングされる可能性があるため、このラストリンクはセキュアではない。WiFiに接続されたIoTビジネスデバイスの例には、セントラルヒーティングとエアコン34D、照明34G、監視システム34J、セキュリティシステム34H、POS端末38、タブレット33などのWiFiホットスポットに接続されたデバイスが含まれる。企業の有線接続デバイスは事業の性質に依存する。銀行業では、デバイスにはイーサネット(登録商標)接続のATMマシン38Dが含まれる。ガソリンスタンドでは、デバイスには、例としてイーサネット(登録商標)接続のガスポンプ38Aが含まれる。
要約すると、ラストリンクは、SDNPリモートゲートウェイと通信する非SDNPクライアントで保護できる。このように、ラストマイルの大半はハイパーセキュアであり、ラストリンクではIDペア暗号化セキュリティが使用されている。
SDNPブリッジ通信
前述のように、SDNPクラウド外のラストマイルデータ転送では、必ずIPデータグラム、すなわちインターネットの送信元アドレスと宛先アドレスを使用するか、ネットワークオペレータのNATアドレスを使用するデータパケットが使用される。例えば、オフィスビル内で運用している場合、またはサーバでSDNPソフトスイッチをホストするローカルネットワークサービスプロバイダと協力して運用している場合など、プライベートネットワークの場合は、SDNPデータグラムを利用してラストマイルの一部でハイパーセキュア通信を実現することもできる。
前述のように、ハイパーセキュア通信ではサーバに依存してSDNPソフトスイッチソフトウェアまたはファームウェアがホストされ、SDNPクラウド内のIPデータグラムではなく、SDNPデータグラムと匿名アドレスを使用して通信が行われるため、これらのSDNPソフトスイッチ対応サーバは、SDNPノード表記M0,0、M0,1、M1,0、M1,1などで指定されるSDNPノードと呼ばれる。上記の米国出願第14/803,869号でも、IPデータグラムが他のSDNPクラウドにルーティングされるSDNPゲートウェイであるSDNPブリッジで接続された複数の独立SDNPクラウド間の通信が開示されている。
SDNPブリッジの概念は、ラストマイル通信の一部に同様に適応させることができる。ラストマイル内にSDNPサブネットワークまたはミニクラウドを作成するには、SDNPブリッジソフトウェアまたはファームウェアで2つ以上のサーバを有効化する必要がある。エンドデバイス、すなわち発信側のデバイスで動作するSDNPクライアントソフトウェアまたはファームウェアとは異なり、SDNPブリッジ操作は最終接続として動作するのではなく、データのルーティングに使用される。そのため、2つ以上の隣接するSDNPブリッジは、スタンドアロンのSDNPブリッジネットワーク、SDNPミニクラウド、またはSDNPアドホックネットワークとして動作させることができる。開示されるように、SDNPブリッジ機能は、WiFiルータのブリッジモード操作のレイヤ2ディスクリプションの構造に類似したレイヤ3ディスクリプションを表す。SDNPブリッジまたはSDNPブリッジネットワーク内では、SDNPデータグラムを使用して通信が行われる。SDNPブリッジまたはSDNPブリッジネットワーク外からSDNPブリッジへの通信では、SDNPペイロードを有するIPデータグラムが使用される。
図28の例示的概略図には、ラストマイル通信内のSDNPブリッジの操作が示されている。これは、SDNPゲートウェイ1201Aを有するSDNPネットワーク、SDNPファームウェア1335Hと1335Jをそれぞれ実行するSDNPブリッジルータ1350と1352Zで構成されるSDNPブリッジ、及びSDNPクライアントではない接続クライアントデバイス(この例ではノートブック35として示される)で構成される。示されるように、SDNPゲートウェイ1201AとSDNPブリッジ1350との間の通信は、IPアドレスとSDNPペイロードを含むIPデータグラム1223Aが使用されるセキュアな接続から構成される。SDNPペイロード1222Aには、ゾーン固有のセキュリティクレデンシャル情報を使用してエンコードされたSDNPルーティング情報とセキュアなSDNPペイロードが含まれる。そのため、IPアドレスルーティングが使用されていても、SDNPペイロードを使用してハイパーセキュアが実現する。
SDNPブリッジ接続内、すなわちSDNPブリッジルータ1350とWiFi対応SDNPブリッジルータ1352Zの間では、ハイパーセキュア通信はSDNPデータグラム1222Bを使用して行われる。SDNPルーティング情報は、SDNPペイロード1222Aに含まれるSDNPアドレス指定から抽出される。SDNPブリッジとSDNP接続にはラストマイル通信のハイパーセキュア有線区間が含まれ、ここではID検証とアカウント検証をサポートでき、プライバシーがサポートされる。
SDNPブリッジルータ1352Zから非SDNPクライアントデバイス、すなわちノートブック35への接続では、WiFiまたはイーサネット(登録商標)のいずれかのローカルエリアネットワークで、IPアドレスとIPペイロードを有するIPデータグラム1223Bが利用される。ハイパーセキュアではなくても、このラストリンクのセキュリティは、iSCSI、IPSec、WPA、AllJoynなど、前述のイーサネット(登録商標)及びWiFiセキュリティプロトコルのいずれかによって保護できる。
任意の数の物理媒体(physical medium)により伝送される任意の2つのSDNP対応デバイス間でSDNPブリッジを実装できる。つまり、SDNPブリッジングは、レイヤ1 PHYとレイヤ2トランスポートレイヤの具現から不可知的に操作されるレイヤ3プロトコルである。例えば、図29Aに示される最上部の概略図は、イーサネット(登録商標)(有線)ブリッジ経由で、SDNPデータグラム1222が使用されて、それぞれSDNPファームウェア1335Hを実行する2つのSDNPブリッジイーサネット(登録商標)ルータ1351Aから行われる通信を示したものである。中央の概略図には、それぞれにイーサネット(登録商標)及びWiFi通信が可能で、SDNPファームウェア1335Jを実行する2つのSDNPブリッジルータ1352Zが示されている。WiFi(ワイヤレス)ブリッジ経由で、SDNPデータグラム1222が使用されて、このSDNPブリッジルータから通信が行われる。最下部の概略図には、イーサネット(登録商標)(有線)ブリッジ経由で、SDNPデータグラム1222が使用されて、SDNPファームウェア1335Hを実行するSDNPブリッジイーサネット(登録商標)ルータ1351Aから、イーサネット(登録商標)及びWiFi通信が可能で、かつSDNPファームウェア1335Jを実行するSDNPブリッジルータ1352Zに対して行われる通信が示されている。このように、ラストマイルのSDNPクラウド外で動作している場合でも、2つ以上のSDNP対応ルータで構成されるSDNPブリッジから、建物全体またはプライベートネットワーク全体にSDNPデータグラムをルーティングまたは配信できる。
SDNPブリッジは、ケーブルテレビシステムなどの独自のハードウェアを使用してシステムに拡張できる。例えば、図29Bに示される最上部の概略図では、SDNPファームウェアまたはソフトウェア1335Lを実行してケーブルCMTS SDNPブリッジ101として動作するように2つのケーブルCMTS「ヘッド」サーバが変更されている。ケーブルまたはファイバ(有線)ブリッジ経由で、SDNPデータグラム1222が使用され、このサーバから通信が行われる。SDNPブリッジは、CMTSヘッドから加入者の自宅まで拡張できる。中央の概略図に示されるように、ケーブル(同軸)ブリッジ経由で、SDNPデータグラム1222が使用され、SDNPファームウェアまたはソフトウェア1335Lを実行するケーブルCMTS SDNPブリッジ101から、SDNPファームウェア1335Mを実行するケーブルテレビセットトップボックスまたはケーブルモデム102へ通信が行われる。この方法で、SDNPブリッジにより、ハイパーセキュア通信を自宅またはオフィスに拡張する。
開示されるSDNPブリッジ方法は、無線ネットワークを介したデータ転送にも使用できる。図29Bの最下部の概略図には、SDNPファームウェアまたはソフトウェア1335Nを実行し、携帯電話基地局SDNPブリッジ17Xと17Yとして機能する2つの携帯電話基地局と無線タワーが示されている。セルラーブリッジ25Xと25Yを含むセルラーネットワーク経由で、SDNPデータグラム1222が使用され、これらの携帯電話基地局と無線タワーからワイヤレスで通信が行われる。図29Cに示される上部の概略図には、SDNPファームウェアまたはソフトウェア1335Oを実行し、地上衛星間リンクSDNPブリッジ92Cとして機能する地上マイクロ波基地局が示されている。SDNPデータグラム1222が使用され、SDNPファームウェアまたはソフトウェア1335Pを実行する軌道衛星、すなわち衛星SDNPブリッジ93に対して、マイクロ波衛星ブリッジとしてこの地上マイクロ波基地局から通信が行われる。次に、衛星から加入者または他の衛星へ通信が行われる。
SDNPブリッジ通信は、自動車をピアツーピアアドホック通信ネットワークとして使用する自動車アプリケーションに適合できる。図29Cの下部の概略図には、自動車の無線ブリッジ経由で、SDNPデータグラム1222が使用され、SDNPファームウェア1335Fを実行する自動車1390Aのテレマティックスモジュールから、SDNPファームウェア1335Fを実行する近くの自動車1390Bへ行われる通信が示されている。SDNPファームウェアが有効化されたそれぞれの自動車では、動的テレマティックスSDNPブリッジネットワークの別の通信ノードが形成される。この通信では、特定の自動車またはドライバーに送信される情報ではなく、セルラータワーがローカルに存在しない場合でも、高速道路に沿って情報を渡すことができる通信ネットワークが形成される。
SDNPブリッジネットワークの概念は、広い地域における通信、及び自動車、トラック、緊急車両、列車、飛行機、ボート、海洋船が関与する輸送及び運送で特に有益である。特に、広域にわたる通信範囲を実現するには、衛星ネットワークが必要となる。通常、システムには衛星ブリッジまたはバックホールと呼ばれる衛星オペレータとのネットワーク接続が含まれ、衛星配信とも呼ばれるそのクライアントと加入者に衛星がリンクする。図30は、SDNPハイパーセキュア通信に適応される様々な衛星接続を概略的に表したものである。示されるように、SDNPデータグラムA及びSDNPペイロードを含むデータパケット1222Aを伝送する有線接続94Aが使用され、SDNPゲートウェイ1201Aから、SDNPファームウェアまたはソフトウェア1335Oを実行する地上衛星アンテナ皿92Cへ通信が行われる。ここから、同じSDNPデータグラムAがデータパケット1222Bとして、衛星ブリッジ95A経由で、SDNPファームウェアまたはソフトウェア1335Pを実行するサテライト93に中継される。
SDNPからの様々なクライアントへのハイパーセキュア通信データパケットの配信により、SDNPペイロードを含むデータパケット1222CとSDNPデータパケットAが衛星93に含まれる。衛星通信は双方向であり、衛星93から地上クライアントへのダウンリンクでは、アップリンク接続よりも高い信号強度と高速のデータレートが可能となる。言い換えると、クライアントの応答よりも高いデータレートかつより強力な信号強度で、衛星から地上クライアントへの送信が可能となる。衛星93から加入者へのリンクの例には、SDNPファームウェア1335Tを実行するディッシュインターネット加入者92Gへの衛星リンク95B、SDNPファームウェア1335Sを実行する衛星電話92F、SDNPファームウェア1335Gを実行する高速列車1360Cに配置された衛星アンテナアレイ92H、SDNPファームウェア1335Rを実行する海洋船1360Bに配置された衛星アンテナアレイ92E、及びSDNPファームウェア1335Qを実行する航空機1360Aに配置された衛星アンテナアレイ92Dが含まれる。
船舶、航空機、列車などの大型車両の場合、各システムにより、このハイパーセキュア衛星通信リンクが独自の内部通信システムまたはローカルエリアネットワークに接続される。例えば、図31Aには、航空機1360Aの胴体に配置され、SDNPファームウェア1335Xを実行する衛星アンテナモジュール92Dから、SDNPソフトウェア1335Zを実行する通信中央サーバ1361に接続される民間航空機の例が示されている。通信中央サーバ1361は、機器1367、データレコーダとブラックボックス1368、メディアストレージモジュール1363、及びオプションでSDNPファームウェア1335Lを実行するWiFiルータモジュール1362を含む様々なシステムにリンクする。WiFiホットスポット通信をサポートするため、WiFiルータモジュール1362から、航空機全体に配置されたWiFiアンテナ1361のアレイに接続される。図31Bの例に示されるように、無線ベースの飛行制御を除く全ての通信は、アンテナモジュール92Dを使用して、共通の衛星通信リンクを介して行われる。アンテナモジュールには、衛星送信アンテナ1360A、衛星受信アンテナ1368A、アンテナ制御ユニット1369、及び40W電圧調整器1370が含まれる。衛星放送の電力と信号強度はアンテナ放送の強度とアップリンク機能よりも大きいため、衛星受信アンテナ1368Aは衛星送信アンテナ1360Aよりも小さくなる。
海洋船の衛星通信では、高高度衛星及び低高度軌道衛星を含む衛星通信の複数の帯域が利用される。例えば、図32には、Kuバンド衛星アンテナ1383A、低高度軌道衛星アンテナ1383Bと1383Cを含む複数帯域の通信の使用例が示されている。高高度衛星はアップリンク機能を提供しないか、またはその機能があっても限りがあるが、静止軌道を含め、これにより非常に高い高度から広範囲をカバーできる。マップ1384に示されるように、高度が高いため、各衛星がカバーできるエリアはかなり大きくなる。マップ1385に示されるように、低高度軌道衛星はカバーできるエリアが小さいためにより多くの衛星が必要となる。そのため、放送エリアをカバーするためのコストが高くなる。船舶の進路によっては、衛星の軌道上の位置に応じて、低高度軌道衛星へのアクセスが断続的になる場合がある。
Kuバンド衛星アンテナ1383Aは主にテレビと映画コンテンツの配信に使用されるため、通常、SDNPセキュリティは必要ない。追跡と位置決めは、アンテナ制御1383により実行される。衛星アンテナ1383Aからのマルチチャネルデータは、Lバンドマルチスイッチ1381に供給され、信号がテレビ受信機とチューナー1382にルーティングされる固定ビデオ放送データとデジタルビデオ放送DVBデータに分離される。ビデオコンテンツは中央通信サーバ1380に供給される。しかし、セキュア通信が必要な場合は、Kuバンド衛星アンテナ1383AをSDNPソフトウェアの実行に適合できる。
対応するSDNPファームウェア1335U及び1335Vを実行する低高度軌道衛星アンテナ1383B及び1383Cからのデータの場合、衛星アンテナからの情報がSDNPソフトウェア1335Zを実行する中央通信サーバ1380に中継される。通信システムでは、土地の範囲内で、SDNPファームウェア1335Nを実行する携帯電話基地局17によりホストされる4G/LTEセルラーネットワーク25を使用する通信も可能となる。サーバ1380を介した通信は、SDNPファームウェア1335Lを実行するSDNP WiFiルータ1362により船舶全体に配信される。WiFiアクセスポイント26のWiFiホットスポット通信は、WiFiアンテナ1361により船舶全体に配信される。SDNPアプリ1335を実行する携帯電話32などのSDNPクライアントとの通信により、エンドツーエンドのハイパーセキュア通信が容易化される。SDNPクライアントとして有効化されていないデバイスは、WAP、AllJoyn、または他のセキュリティプロトコルを使用するIDペアリングに依存する必要がある。
図33には、高速列車に適用されるマルチバンド通信のアプリケーションが示されている。示されるように、SDNPゲートウェイ1201Aに接続されたSDNPソフトウェア1335Zを実行する列車データセンターサーバ1380から、衛星マイクロ波95B、400MHz無線1372、及び60Ghzマイクロ波1373を含む複数PHY接続を介して、高速列車1360Cへ通信が行われる。SDNP通信中、SDNPデータセンター1380から、SDNPファームウェア1335Dを実行する衛星アンテナ92Cを介して、SDNPファームウェア1335Pを実行する衛星93にデータが中継される。衛星から、SDNPソフトウェア1335Yを実行するサーバ1361に接続された列車アンテナアレイ1383Vへ通信が行われる。SDNPデータセンター1380から、列車の線路に沿って一定間隔で配置された400MHzアンテナ1381または60GHzアンテナ1382を介して、代替の通信が行われる。また、これらの衛星から、SDNPソフトウェア1335Yを実行する列車通信SDNPサーバ1361に接続されたアンテナアレイ1383Bへ通信が行われる。次に、SDNPサーバ1361で受信された通信は、WiFiブリッジ1335Zによって列車全体に配信され、WiFiホットスポットとしてクライアントに配信される。
自動車及び業務トラック輸送における通信機能は多面的で、以下が含まれる。
・音声通信
・ナビゲーション、マップ、道路情報、アラート
・エンターテイメント、ホットスポットサービス、インフォテインメント
・ワイヤレス支払、通行料
・救急サービス、けん引車サービス
・衝突回避
・発車係のスケジューリング(プロフェッショナル、ライドシェアリング)
自動運転車、すなわち無人運転には追加機能が必要である。主に「テレマティックス」モジュールと呼ばれるCDMA(2.5G)制御中央ユニットなどの旧式のセルラーネットワークに基づくと、既存の自動車システムは、ハッキング、サイバー攻撃、及びプライバシー攻撃を受けやすいことが分かっている。この脆弱性を排除するには、多額の費用をかけずにネットワーク全体を保護する必要がある。すなわち、財政的に、新しいネットワークをインストールするという選択肢はない。代わりに、セキュリティ方法はレイヤ3からレイヤ7に展開されるため、セキュリティインフラストラクチャをハードウェアネットワークに重ねる必要がある。この戦略は、本明細書に開示されるSDNPラストマイルの実装に適合する。
図34には、車両とSDNPクラウド間の典型的なハイパーセキュアラストマイル接続が示されている。以前のラストマイル接続と同様に、ラストマイル全体でパケットの転送に関係する特定のデータキャリアは、場所によって著しく異なる場合がある。そのため、図には、関係するデータキャリアに関係なく、ハイパーセキュア通信を表す例が示されている。示されるように、ネットワークサービスプロバイダ(NSP)が管理する有線またはファイバリンク24を介して、ネットワークルータ67Aに接続されるSDNPゲートウェイ1201Aで、SDNPデータグラムAを含むデータパケット1222Aが、SDNPペイロードを含むIPデータグラムBで構成されるデータパケット1223Aに変換される。次に、ネットワークルータ67Aから、モバイルネットワークオペレータ(MNO)が所有または運営する有線またはファイバリンク24Aを介して、IPネットワークグラムBがデータパケット1223Bとして、携帯電話基地局17にルーティングされる。そして、セルラーネットワーク25経由で、地域のモバイルネットワークオペレータに応じて2.5G、3G、3.5G、4G/LTEのいずれかでセルラーリンク28が使用され、SDNPペイロードを含むSDNPデータグラムBで構成されるデータパケット1223Cとして、IPデータパケットBから自動車1390Aのテレマティックスモジュールへ通信が行われる。その後、テレマティックスモジュール内で動作するSDNPファームウェア1335Fにより、着信データパケット1223Cに埋め込まれたSDNPペイロードが解釈され、ハイパーセキュア通信リンクが完成する。そのため、自動車のセルラーラストリンクは、ハイパーセキュアラストマイル通信の一部として機能する。
図35に示されるように、自動車1390Aのテレマティックスモジュールで、インフォテインメントインターフェイス1377によって制御される様々な機能のためにセキュアな情報が利用される。また、内蔵WiFiホットスポット1362Dからも、それぞれIPデータグラムBとIPデータグラムCを含むデータパケット1223Bと1223Cが配信される。IPデータグラムBには、SDNPアプリ1335を実行する携帯電話32Bなどの任意のSDNPクライアントへのエンドツーエンドのハイパーセキュア通信を容易化するSDNPペイロードが含まれる。従来型のIPペイロードのみが使用されるIPデータグラムCは安全性が低くなるが、携帯電話32A及びタブレット33Aなど、SDNPクライアントとして動作しないデバイスで動作する。IDペアリングを使用して、WPA、AllJoyn、または他のプロトコルにより、非SDNPデバイスのラストリンクセキュリティを改善できる。
自動車通信におけるもう1つの重要な機能として、V2V通信とも呼ばれる車車間通信の機能が挙げられる。V2V通信の目的は、主に衝突回避である。しかし、本明細書に開示されるSDNP方法に従うと、V2V通信はハイパーセキュアアドホックピアツーピアネットワークとして機能させることもできる。図36には、車車間SDNP通信が示されている。この図では、SDNPファームウェア1335Fを実行する自動車1390A、1390B、及び1390Cで、相互及びSDNPゲートウェイ1201Aに接続された携帯電話基地局17とのピアツーピアネットワークが形成される。車車間通信は、IPデータグラムまたはSDNPデータグラムのいずれかを使用して実行できる。
SNPクライアントまたはゲートウェイから非SDNPデバイスへ通信が行われる場合、通信はIPデータグラムを使用して行われる。例えば、SDNPゲートウェイ1201Aで、SDNPペイロードを含むSDNPデータグラムAが、埋め込まれたSDNPペイロードを含むIPデータグラムBで構成されるデータパケット1223Aに変換される。示されるように、2.5Gまたは3Gのセルラーリンク28A経由で、埋め込まれたSDNPペイロードを含むIPデータグラムBで構成されるデータパケット1223Bが使用され、携帯電話基地局17から自動車1390Aへ通信が行われるが、同じく埋め込まれたSDNPペイロードを含むIPデータグラムBで構成されるデータパケット1223Cが使用されて、3.5Gまたは4G/LTEのセルラーリンク28B経由で、自動車1390Cへ通信が行われる場合もある。このように、SDNPペイロードは、データパケットの伝送に使用されるネットワークとは無関係に配信される。
SDNPファームウェア1335Fが有効化されている自動車では、アドホックピアツーピアSDNPブリッジまたはブリッジネットワークが形成される場合がある。例えば、IPデータグラムではなく、SDNPデータグラムCを含むデータパケット1222Bが使用されて、V2V無線リンク1391A経由で、自動車1390Aから自動車1390Bへ通信が行われる。同様に、V2V無線リンク1391B経由で、SDNPデータグラムDを含むデータパケット1222Cが使用されて、自動車1390Bから自動車1390Cへ通信が行われる。これはIPデータグラムに依存しない。使用されるデータグラムの種類に関係なく、埋め込まれたコンテンツは、SDNPペイロードを使用するハイパーセキュアのままとなる。
SDNPアドホックV2Vネットワークのもう1つの機能として、トンネリング機能を実行する能力が挙げられる。すなわち、車車間を通過するデータが監視または解釈されないようにデータを渡すことができる。自動車1390Cが範囲外であるためにセルラーリンク28Bに障害が発生した場合は、代替パスとして、携帯電話基地局17でSDNPブリッジネットワークが利用され、セルラーリンク28A、V2V無線リンク1391A、最後にV2V無線リンク1391Bを介して同じ発信者に接続される。データ転送中、データパケット1223B、1222B、及び1222Cは、IPデータグラムBからSDNPデータグラムCに、そして最終的にSDNPデータグラムDに変更される。自動車1390Cを意図したSDNPペイロードは宛先自動車用に一意に作成されているため、自動車1390Bとそのドライバーは、アドホックネットワークを介してデータパケット1222Bが中継されていても、SDNPデータグラムCのコンテンツをハッキングまたは監視することができない。
従来型のラストマイル通信とは別に、同じSDNPブリッジ技術を使用して、ハイパーセキュリティを用いて長距離、すなわちデジタルトランク通信で大量のデータを送信できる。図37には、こうした例が3つ示されている。すなわち、マイクロ波トランク98、ファイバトランク90、及び衛星トランク95Aと95Bである。この機能はSDNPクラウドの一部と見なすことができるが、単一のデータルートがラストマイル通信のルートに似ているため、ハイパーセキュリティを保証するために同様の方法を採用している。例えば、SDNPファームウェア1335Wを実行するマイクロ波タワー96Aと96Bを介したマイクロ波トランク98経由で、SDNPデータグラムを含むデータパケット1222を使用して、SDNPソフトウェア1335Zを実行するサーバ21Aと21Bから通信を行うことができる。また、ファイバトランク98経由で、SDNPデータグラムを含むデータパケット1222を使用して、サーバ21Aと21Bから直接通信を行うこともできる。グローバル通信(例えば、太平洋を横断するデータリンク)では、両方ともSDNPファームウェア1335Uを実行する地球基地の衛星アンテナ92Aと92Bを使用して、マイクロ波衛星トランク95Aと95Bにより、サーバ21Aと21Bから、SDNPファームウェア1335Vを実行する衛星93に通信を行うことができる。ファイバとマイクロ波タワーの例のように、衛星トランク通信では、SDNPデータグラムを含むデータパケット1222が利用される。
結論として、ラストマイル通信で提供されるセキュリティ及びプライバシー機能は、2つの通信デバイスに依存しているということが挙げられる。図38は、4つの異なる組み合わせを対比したものである。下から上へとセキュリティとプライバシーが向上する。それぞれで、(i)セキュリティ:コミュニケへの不正アクセスを防止する能力、(ii)ID検証:ユーザを認証し、IDに基づいてアクセスと特権を調整する能力、及び(iii)匿名性:監視から発信者のIDを隠す能力という3つの要素が考慮されている。
最下部の例では、スニッフィング可能なIPアドレスとIPペイロードを有するIPデータグラムを含むデータパケット1223Cが使用され、SDNPゲートウェイ1395から、セキュリティ対策を全く欠く非SDNPクライアントへオープンに通信が行われる。そのため、ラストマイル接続はセキュアでもプライベートでもない。下から2番目の例では、SDNPゲートウェイ1395から、デバイス認証及びIDペアリング機能を提供する非SDNPクライアントへ通信が行われる。この通信では、スニッフィング可能なIPアドレスを有するIPデータグラムを含むデータパケット1223Bが用いられるが、IDペアのデバイスのみで復号化が可能となる暗号文を含む暗号化されたペイロードが使用される。通信はプライベートではなく、匿名性もないが、少なくとも限られた期間はセキュリティが強化される。
上から2番目の例では、データパケット1223AにIPデータグラム内のSDNPペイロードが含まれる場合は、任意のブリッジまたはルータ1397を介して、SDNPゲートウェイ1395から通信がルーティングされることで、ハイパーセキュリティが実現できる。達成されるセキュリティのレベルは、ルータではなくエンドデバイスのみに依存する。最上部の例の場合、SDNPアドレス指定を有するSDNPデータグラムを含むデータパケット1222、すなわちインターネットDNSネームサーバで認識されない送信元アドレスと宛先アドレス、及びSDNPセキュアペイロードを使用して行われるSDNPゲートウェイ1395とSDNPクライアント1396間の通信は、優れたセキュリティ、完全なプライバシー条件、及び匿名パケットルーティングを備えたハイパーセキュア通信となる。
ハイパーセキュアラストマイルのパケットルーティング
使用されるレイヤ1物理ハードウェア及びレイヤ2データリンクのアルゴリズムと方式に関係なく、SDNPクライアントまたはSDNPブリッジとSDNPゲートウェイ間のパケットルーティングは、IPデータグラムに依存して、ラストマイル全体にデータパケットが伝送及びルーティングされる。SDNPシグナリングサーバからの指示によるSDNPクラウド内のデータルーティングとは異なり、SDNPクラウドまたはそのシグナリングサーバで、ラストマイルを通過するIPデータグラムが制御されることはない。そのため、ラストマイルでの伝播遅延には多少のばらつきが予想される。幸いラストマイル通信の距離と可能なルート数が制限されているため、グローバル通信のエンドツーエンドの総伝播遅延に比べると、この不確実性はそれほど高くない。ラストマイルの変化性による総伝播遅延のはらつきは、総遅延の10%未満であると推定される。
図39には、固定IPアドレスが使用されるSDNPクライアント1400とSDNPゲートウェイ1401間のシングルルートラストマイル通信が示されている。IPデータグラム1405には、M0,0(SDNPゲートウェイ)の宛先IPアドレス、及びデータパケットのC1,1の送信元IPアドレス、すなわちSDNPクライアントが含まれる。ラストリンク通信は、ルータ1402Aへのシングルルート1404として行われる。データは、任意の数のルータRを介してルーティングされる(例えば、ルータ1402BからSDNPゲートウェイM0,0へ)。
ラストマイルネットワーク接続の代替の表し方として、PHY、データリンク、及びネットワーク接続をOSIレイヤ1、2、3として表すIPスタックとして各通信デバイスを示すことができる。例えば、図40Aは、静的IPアドレスが使用されるシングルルートラストマイルハイパーセキュア通信のIPスタック図である。このように、WiFiルータを含むルータ1402A及びイーサネット(登録商標)ルータである1402Bを介して、SDNPクライアントC1,1を含むクライアントデバイスから、SDNPゲートウェイM0,0を含むSDNPゲートウェイ1401へのシングルルートラストマイル接続1409が確立される。クライアントデバイス1400が、ラストリンク1404を介してルータ1402Aに接続される。ここでは、クライアントIPスタック1411のPHYレイヤ1物理接続及び対応するデータリンクレイヤ2が、ルータIPスタック1412Aの対応するレイヤ1とレイヤ2に接続される。
次に、ルータ1402Aが、イーサネット(登録商標)経由でルータ1402Bに接続される。ここでは、WiFiルータのIPスタック1412AのPHYレイヤ1物理接続と対応するデータリンクレイヤ2が、イーサネット(登録商標)ルータIPスタック1412Bの対応するレイヤ1とレイヤ2に接続される。最後に、ルータ1402Bが、イーサネット(登録商標)経由でSDNPゲートウェイサーバ1401に接続される。ここでは、イーサネット(登録商標)ルータのIPスタック1412BのPHYレイヤ1物理接続と対応するデータリンクレイヤ2が、ゲートウェイのIPスタック1422の対応するレイヤ1とレイヤ2に接続される。動作中、妨害されずにルータからデータが伝送されるように、ネットワークレイヤ3 IPデータグラムは、透過的に1つのIPスタックから別のIPスタックへ、具体的にはIPスタック1411のレイヤ3から1412Aへ、次に1412Bへ、最後に1422へと流れる。このように、データが物理的に複数のデバイスを通過する場合でも、ネットワークではIPデータグラムがシングルルートデータとして仮想ラストマイル接続1409により伝送される。
言い換えると、レイヤ3ネットワークデータは、IPデータグラムの伝送に使用される物理接続とは無関係にラストマイルを流れる。すなわち、レイヤ3ラストマイル通信は、データ転送に使用される基礎のレイヤ1とレイヤ2の実装には不可知的に動作する。この原則は、図40Bの概略図のように、中間ノードを削除して簡略化された形式で表すことができる。これには、IPスタック1411と対応するコンピューティング&データストレージ機能1410の間、IPスタック1422と対応するコンピューティング&データストレージ機能1421の間で行われるデータ転送の通信をそれぞれに含むクライアントデバイス1400とSDNPゲートウェイサーバ1401が含まれる。データパケット配信プロセスで使用される媒体またはルータの数に関係なく、IPデータグラム1405はラストマイル接続1409を流れる。したがって、ラストマイルは「データ構造」、すなわちIPデータグラムがデバイス間で転送されるあらゆる物理的手段を意味する抽象概念と見なすことができる。しかし、発信者の接続デバイスには、確立できない通信リンクのアップストリームルータに接続できる能力が必要であるため、ラストリンクには物理的な意味がある。例えば、WiFi接続機能のみを備えたタブレットコンピュータを使用する発信者がWiFiを使えるカフェにいて、発信者がWiFiネットワークへのWPAパスワードを持っていない場合はラストリンクを確立できず、発信者はラストマイルであるSDNPクラウドに接続することができない。または、コールを発信することができない。
ラストマイル通信におけるもう1つの考慮事項として、IPデータグラム1405のペイロードに、トランスポートレイヤ4データ、セッションレイヤ5データ、プレゼンテーションレイヤ6データ、アプリケーションレイヤ7データなど、上位のOSIレイヤ全ての情報が含まれることが挙げられる。UDPまたはTCP転送プロトコルの選択に必要なレイヤ4データを除き、IPデータグラムのペイロードに含まれる残りのデータは、開示されるSDNP通信に固有であり、自体がSDNPソフトウェアまたはファームウェアを実行しない限り、ラストマイルに沿って動作するルータでは解釈されない。したがって、ラストマイルネットワーク自体が様々なデバイス、キャリア、及びネットワークオペレータの組み合わせで構成される場合でも、エンドデバイス、すなわち発信者またはSDNPクライアント及びSDNPゲートウェイでのみラストマイル通信が解釈される。
SDNPペイロードはスクランブル化、断片化、ジャンクデータの挿入と除去、ステート依存のフォーマット、及び動的暗号化を含む多数の秘密により保護されているが、ラストマイルネットワークを通過するIPデータグラムのIPアドレスでは、必然的にクライアントデバイス1400及びSDNPゲートウェイサーバ1401の送信元アドレスと宛先アドレスが明かされる。ラストマイルにある程度の匿名性を提供するには、アドレス偽装が有益である。すなわち、IPデータグラムの送信元アドレスと宛先アドレスを動的に変更することで、サイバー攻撃者を誤った方向に誘導できる。IP偽装は、発信者の接続デバイスのIPアドレスを動的に変更すること(本明細書では「動的クライアントアドレス指定」と呼ぶ)、または複数のSDNPゲートウェイと通信すること、すなわちマルチルートラストマイル通信により実現できる。
説明されるIPアドレス偽装の最初の方法には、順次データパケットの送信元アドレスを動的に変更することが含まれる。図41に示されるように、連続して送信されるIPデータグラムA、B、及びCは、3つの異なる送信元アドレスで構成される。具体的には、IPデータグラムA 1405Aには送信元IPアドレスC1,1、IPデータグラムB 1405Bには送信元IPアドレスC1,2、IPデータグラムC 1405Cには送信元IPアドレスC1,3が含まれる。したがって、ルータ1402Aに入るパケットは全てSDNPクライアント1400から発せられるが、クライアントの送信元アドレスC1,nは動的に変化するため、実際のIPアドレスが難読化され、複数の通信デバイスのように見える。この「見せかけ」を完成させるには、動的送信元アドレスに対応するように、通信デバイスのMACアドレスも変更する必要がある。
この方法は、IPスタックを使用して、図42Aに示されている。この図では、WiFiとイーサネット(登録商標)が使用され、デバイス1400、1402A、1402B、1401から、対応するIPスタック1411N、1412A、1412B、1422を介して通信が行われるが、SDNPクライアントのネットワークレイヤ3 IDにC1,1、C1,2、C1,3という複数のIPアドレスが含まれる。その結果、図42Bのラストリンクの概略図に示されるように、ルータ1402Aに入る順次データパケットは、1つのデバイスではなく、3つの異なるクライアントデバイスから送信されたように見える。共有PHYレイヤはWiFiの標準周波数で構成され、デバイスを接続するデータリンクレイヤは802.11acまたは802.11nなどの確立された規格に従う。
ネットワーク接続1408に沿ってルータデバイス1402Aに送信されるIPデータグラム1405Nは、固定宛先IPアドレスIP M0,0及び順次送信元アドレスIP C1,1、IP C1,2、IP C1,3などで構成される。これは、n=1,2,3とするIP C1,nの数学表記で表したもので、これにより各順次パケットが一意に識別される。各順次IPパケットには、対応するペイロードSDNP 1、SDNP 2、SDNP 3なども含まれる。この説明では、数学的な略記法「IP C1,n」を使用して各IPアドレスを参照しているが、IPアドレスはIPv4またはIPv6の国際規格に従って作成された実際のIPアドレスで構成され、予約済みのIPアドレスは除外されていることに注意されたい。
セキュリティを強化するもう1つのオプションとして、ラストマイルでマルチルートパケット転送を使用する方法が挙げられる。SDNPクラウド内のデータ転送と同様の方法で、マルチルートラストマイル通信では、オーディオと順次データがパース及び断片化されてから個別のパケットに分割され、異なるSDNPゲートウェイにアドレス指定される。図43には、静的IPアドレスが使用されるマルチルートデータ転送の例が示されている。この図では、SDNPクライアント1400から、複数のゲートウェイ1401A、1401B、及び1401Cへ通信が行われる。示されるように、最初のデータパケット1405Aは、送信元IPアドレスC1,1及び宛先アドレスM0,0を含むペイロードSDNP1で構成される。データパケット1405Aは、ルータ1402A及び1402Bを介して、ラストリンク1404A経由でSDNPゲートウェイ1401Aにルーティングされる。同様に、2つ目のデータパケット1405Bは、送信元IPアドレスC1,1及び宛先アドレスM0,1を含むペイロードSDNP 2で構成される。データパケット1405Bは、ルータ1402Cを介して、ラストリンク1404B経由でSDNPゲートウェイ1401Bにルーティングされる。3つ目のデータパケット1405Cは、送信元IPアドレスC1,1及び宛先アドレスM0,3を含むペイロードSDNP3で構成される。データパケット1405Cは、ルータ1402D及び1402Eを介して、ラストリンク1404C経由でSDNPゲートウェイ1401Cにルーティングされる。
クライアントデバイス1400と示される3つのゲートウェイ1401A、1401B、1401Cのいずれかとの間のパスで、IPデータグラムは複数のラストリンク1404A、1404B、1404Cを介して、複数のルータ1402A、1402B、1402Cにルーティングされる。これらのルータには、(i)WiFiまたはイーサネット(登録商標)など、同一の物理媒体が使用される完全に独立したルータ、(ii)DOCSIS3ケーブルモデムの複数のトレリスチャネルなど、共通のハードウェアデバイスの複数のルータチャネル、または(iii)例えば1つはWiFi経由、もう1つは3G経由など、通信に使用される異なる物理媒体が含まれ得る。
例えば、図44Aは、共通のPHYラストリンク1404経由で、静的IPアドレスが使用されるマルチルートラストマイルハイパーセキュア通信のIPスタック図である。動作中、共通のPHY、データリンク、及びネットワークレイヤが使用され、単一のデバイス接続として、SDNPクライアントC1,1からルータ1401A、1402B、及び1402Cへ通信が行われる。アドレス偽装は、静的クライアントアドレスIP C1,1を含む連続したIPデータグラムを使用して実行されるが、SDNPゲートウェイアドレスIP M0,0、IP M0,1、及びIP M0,3が変更される。パケットのミスダイレクションは、アルゴリズム的またはランダムに行うことができる。例えば、クライアントデバイス1400から送信されるデータグラム10個目ごとにそれをSDNPサーバ1401Cに送信し、クライアントデバイス1400からの10個目の送信データグラムに宛先アドレスIP M0,3及び送信元IPアドレスIP C1,1を含めることができる。SDNPゲートウェイサーバ1401Cからの返信は、リバースパスで、すなわち送信元IPアドレスIP M0,3及び宛先アドレスIP C1,1で、クライアントデバイス1400に返される。
示されるように、クライアントデバイス1400とルータ1402A、1402D、1402Cとの間のPHY及びデータリンクは、例えばWiFiなどの単一の媒体で構成される。ラストリンク接続は3つに分かれる単一の線として表されるが、物理接続は全て、並列配線を作成するために使用される電気的なYコネクタではなく、ポイントツーポイントで行われることを理解する必要がある。代わりに、図の接続は接続の効果を示すことを意味するものである。すなわち、クライアントIPスタック1411のPHYレイヤから、1つのPHY接続が3つに拡張される。つまり、IPスタック1412A、1412C、及び1412DのPHYレイヤに接続される。機能的には、このラストリンクは3つの入力拡張機構への単一の出力として動作する。ここでは、ルータ機能が1つの共通の電子機器に含まれているか、個別のルータに分割されているかに関係なく、1つのクライアントが3つのルータ機能に接続される。示されるように、ラストリンク1404は、ケーブル、ファイバ、WiFi、イーサネット(登録商標)、セルラーのいずれかの単一タイプの通信媒体で構成されることに注意されたい。
しかし、ラストマイルの残りの部分は、ラストリンクと同じであるとは限らず、任意の媒体で構成される。代替のラストリンクには、独立したルータに接続される複数の異なるPHYレイヤが含まれる。こうした実装が図44Bに示されている。図には、複数PHYのラストリンク経由で、静的IPアドレスを使用してマルチルートラストマイルハイパーセキュア通信を実行するIPスタックが示されている。具体的には、クライアントデバイス1400は静的クライアントアドレスIP C1,1の共通ネットワークレイヤ3インターフェイスを使用して動作するが、IPスタック1411A、1411B、及び1411Cとして表される個別のレイヤ1及びレイヤ2インターフェイスが使用される。動作中、IPスタック1411Aはラストリンク1404Aを介してルータ1402Aに接続され、送信元アドレスIP C1,1及び宛先アドレスIP M0,0を含むIPデータグラムがルータ1402Bまで伝送される。同様に、IPスタック1411Bはラストリンク1404Bを介してルータ1402Cに接続され、送信元アドレスIP C1,1及び宛先アドレスIP M0,1を含むIPデータグラムが伝送される。IPスタック1411Cはラストリンク1404Cを介してルータ1402Dに接続され、送信元アドレスIP C1,1及び宛先アドレスIP M0,3を含むIPデータグラムがルータ1402Eまで伝送される。
動的送信元アドレス指定とマルチルートデータ転送の組み合わせが図45に示されている。この図では、動的送信元アドレスが使用され、SDNPクライアント1400から複数のゲートウェイ1401A、1401B、及び1401Cへ通信が行われる。このように、最初のデータパケット1405Aは、動的な送信元IPアドレスC1,1及び宛先アドレスM0,0を含むペイロードSDNP1で構成される。データパケット1405Aは、ルータ1402A及び1402Bを介して、ラストリンク1404A経由でSDNPゲートウェイ1401Aにルーティングされる。同様に、2つ目のデータパケット1405Bは、動的な送信元IPアドレスC1,2及び宛先アドレスM0,1を含むペイロードSDNP 2で構成される。データパケット1405Bは、ルータ1402Cを介して、ラストリンク1404B経由でSDNPゲートウェイ1401Bにルーティングされる。3つ目のデータパケット1405Cは、動的な送信元IPアドレスC1,3及び宛先アドレスM0,3を含むペイロードSDNP3で構成される。データパケット1405Cは、ルータ1402D及び1402Eを介して、ラストリンク1404C経由でSDNPゲートウェイ1401Cにルーティングされる。
そのため、連続する各データパケットには変化するSDNPペイロードが含まれ、動的に変化する送信先アドレスが使用されて、各データパケットが異なるラストリンクを介して一意のSDNPゲートウェイにルーティングされる。複数のラストリンク、すなわちラストリンク1404A、1404B、及び1404C経由でデータを転送するには、トレリスエンコーディングを備えたDOCSIS3ケーブルモデムなど、複数のIP入力を有する単一のルータか、複数の帯域のWiFi、または無線とWiFiの組み合わせ、あるいは有線とワイヤレス通信の他の組み合わせなど、複数の形式の媒体を使用する。一例として、図46Aに、シングルPHYラストリンク1404経由で、動的クライアントIPアドレスが使用されるマルチルートラストマイルハイパーセキュア通信のIPスタックが示されている。クライアントデバイス1400は、IPスタック1411Aに示されるようなレイヤ1とレイヤ2通信を含む共有物理インターフェイスを示している。ネットワークレイヤ3については、IPスタック1411AでSDMPゲートウェイM0,0に宛てられたクライアントアドレスC1,1、IPスタック1411BでSDMPゲートウェイM0,1に宛てられたクライアントアドレスC1,2、IPスタック1411CでSDMPゲートウェイM0,3に宛てられたクライアントアドレスC1,3が生成される。
図46BのIPスタック図に示されるように、同じマルチルートアプローチを、動的クライアントアドレス指定及び複数PHYの最終レイヤと組み合わせることができる。示されるように、クライアントデバイス1400には、IPアドレスIP M0,0、IP M0,1、IP M0,3を有するSDNPゲートウェイに対して、対応するラストリンク1404A、1404B、1404C経由で、対応するIPアドレスIP C1,1、IP C1,2、IP C1,3を有するIPデータグラムを伝送する3つのIPスタック1411A、1411B、1411Cが含まれる。
多くの場合、ラストリンクは、最初のルータ以降はマルチルートデータ転送が使用される単一のルートで構成される。図47では、ラストリンク1404を介して、SDNPクライアント1400から単一のルータ1402Aへ通信が行われる。ルータ1402A以降は、動的送信元アドレスが使用され、データパケットが複数のゲートウェイ1401A、1401B、及び1401Cに伝送される。この実装では、最初のデータパケット1405Aは、動的な送信元IPアドレスC1,1及び宛先アドレスM0,0を含むペイロードSDNP1で構成される。データパケット1405Aは、ルータ1402A及び1402Bを介して、ラストリンク1404経由でSDNPゲートウェイ1401Aにルーティングされる。
同様に、2つ目のデータパケット1405Bは、動的な送信元IPアドレスC1,2及び宛先アドレスM0,1を含むペイロードSDNP 2で構成される。データパケット1405Bは、ルータ1402A及び1402Cを介して、ラストリンク1404経由でSDNPゲートウェイ1401Bにルーティングされる。3つ目のデータパケット1405Cは、動的な送信元IPアドレスC1,3及び宛先アドレスM0,3を含むペイロードSDNP3で構成される。データパケット1405Cは、ルータ1402A、1402D、及び1402Eを介して、ラストリンク1401経由でSDNPゲートウェイ1401Cに連続的にルーティングされる。そのため、連続する各データパケットには変化するSDNPペイロードが含まれ、動的に変化する送信先アドレスが使用されて、各データパケットが共通のラストリンクを介して一意のSDNPゲートウェイにルーティングされる。
このラストマイル接続は、IPスタックを使用して、図48に示されている。この図では、ルータ1402Aのみにつながるラストリンク1404を有するSDNPクライアントデバイス1400のIPスタック1411から、ネットワークレイヤ3のデータパケットが、3つの異なるネットワークアドレス、具体的にはIP C1,1、IP C1,2、IP C1,3を含むスタック1412Aに送信される。そのため、クライアントデバイス1400は実際には単一のクライアントで構成されるが、ルータ1402Aでは3つの個別のクライアントとして認識される。IPデータグラムがルータ1402Aに到達すると、IPデータグラムが分割され、異なるルート経由で異なる宛先ゲートウェイに伝送される。例えば、送信元アドレスIP C1,1を有するパケットは、ルータ1402Bを介して宛先IP M0,0へ、送信元アドレスIP C1,2を有するパケットはルータ1402Cを介して宛先IP M0,1へ、送信元アドレスIP C1,3を有するパケットはルータ1402D及び1402Eを介して宛先IP M0,3へルーティングされる。特定の動的クライアントアドレスC1,nを有するデータパケットを特定のSDNPゲートウェイに伝送するルーティングテーブルは、事前に固定することなく、動的に変更できる。IPアドレスをパケットごとに割り当てることができれば、明らかに無関係なデータパケットが実は全て2つの発信者間の単一の断片化された通信の一部であるという事実がさらに難読化される。
ラストマイルルーティングの物理的実現
ラストマイルの物理的実現には、イーサネット(登録商標)、WiFi、セルラー、またはDOCSIS3対応のケーブルとファイバリンクなど、様々な媒体を介した通信が含まれる。使用する媒体に関係なく、ラストマイルにおけるデータパケットのルーティングは、主に以下3つの変数によって制御される。
・通信デバイスの媒体アクセス制御(MAC)アドレス
・IPデータグラムの送信先IPアドレス
・IPデータグラムの宛先IPアドレス
したがって、ラストマイル通信で各ホップを実行するために使用される物理媒体、すなわちレイヤ1及びレイヤ2情報はMACアドレスにより制御され、クライアントデバイスとSDNPゲートウェイ、すなわちラストマイルはIPアドレスにより識別される。ハイパーセキュア通信で使用されるペイロードは、セキュア動的通信ネットワーク及びプロトコルに従い定義されたプロトコルに従うが、ラストマイルの中間デバイス、すなわちクライアントデバイスとゲートウェイ間のパケットのルート上のルータ及び他のデバイスにはSDNP実行可能コードが備わっていないため、こうしたデバイスではSDNP機能を実行することができない。したがって、SDNPペイロードは、ラストマイルのハイパーセキュアデータパケットのルーティングには影響しない。
一例として、ラストマイル通信におけるイーサネット(登録商標)の使用が挙げられる。図49は、SDNPラストマイル通信について前述した図9Eのイーサネット(登録商標)データパケットを適応させ、SDNPペイロードを伝送するイーサネット(登録商標)通信のIPv4とIPv6データグラムを図で示したものである。示されるように、レイヤ1イーサネット(登録商標)パケット188には、データフレームヘッダ、すなわちプリアンブル180、開始フレームデリミタSFD181、及びレイヤ2イーサネット(登録商標)パケット189が含まれる。イーサネット(登録商標)パケット189には、宛先MACアドレス182と送信先MACアドレス183、VLAN実装のためのオプションの802.1Qタグ184、使用されるデータリンクのタイプの指定に使用されるイーサタイプフィールド185(イーサネット(登録商標)IIまたはIEEE802.3に基づく長さ指定)、及びデータリンクパケット全体の32ビットCRCチェックサムを含むフレームチェック186が含まれる。イーサネット(登録商標)パケット189には、IPデータグラムのSDNPコンテンツ1430のカプセル化に使用される可変長MACペイロード187も含まれる。具体的には、MACペイロード187には、IPヘッダ434及びトランスポートヘッダ436とSDNPペイロード1430で構成されるIPペイロード435が含まれる。
IPヘッダ434は、バイナリ4を含むプロトコルフィールド447またはバイナリ6を含むプロトコルフィールド448よる決定に基づいてIPデータグラムがIPv4かIPv6プロトコルのいずれに従うかによって異なる。プリアンブル440と444には両方とも、TCP、UDP、またはメンテナンス機能ICMPとIGMPなど、使用されるレイヤ4転送方法の決定に使用されるトランスポートヘッダフラグ470が含まれる。具体的には、セキュア動的通信ネットワーク及びプロトコルに従って、ソフトウェア及びデータファイルにはTCP転送が使用され、VoIP及びビデオなどのリアルタイムデータにはUDPが使用される。トランスポートヘッダ436の長さとフォーマットは、トランスポートヘッダ470に応じて異なる。IPヘッダ434には、IPv4の送信元アドレス441と宛先アドレス442、またはIPv6の送信元アドレス445と宛先アドレス446が含まれる。
イーサネット(登録商標)パケットのラストマイルルーティングは、IPアドレスとMACアドレスの両方に依存する。図では、MAC C1,1またはIP M0,0のように、IPまたはMACアドレスが指し示すデバイスの例示的な名称で表されている。ここでは、明確化を目的として、数値アドレスの代わりに、イーサネット(登録商標)フォーマットのインターネットプロトコルに従って作成された数値アドレスを表す記号名が使用されている。IPアドレスIP C1,1は異なる形式に従い、IPv4名及びIPv6名に異なるバイト数が使用されていることに注意されたい。さらに、MACアドレスのフォーマットは、使用されるレイヤ2データリンクプロトコルによって異なる。そのため、セルラー無線のMACアドレスMAC C1,1は、WiFiまたはイーサネット(登録商標)により通信する同じデバイスのMACアドレスとは異なる。MACアドレスはIPアドレスには関係がない。すなわち、同じクライアントのIPアドレスとMACアドレスには関係がない。
図50A~図50Dに、イーサネット(登録商標)パケットの順次ラストマイルルーティングが示されている。各図には、2つのイーサネット(登録商標)パケットが含まれる。上部のパケットはIPv4データグラムで構成され、下部のパケットはIPv6データグラムで構成される。IPv4とIPv6では異なるフィールド長の異なるフォーマットが使用されるため、同じペイロードが伝送される場合でも、通常、表示される2つのイーサネット(登録商標)パケットは同じ長さにはならない。通信シーケンスの最初のステップで、SDNPペイロードAはラストリンク1404を介してSDNPクライアント1400からルータ1402Aに移動し、そしてゲートウェイリンク1414を介してSDNPゲートウェイ1401に移動する。SDNPゲートウェイからクライアントへの応答では、SDNPペイロードGがゲートウェイリンク1414を介してSDNPゲートウェイ1401からルータ1402Aに移動し、そしてラストリンク1404を介してクライアント1400に移動する。SDNPクライアント1400は数値MACアドレスMAC C1,1及び数値IPアドレスIP C1,1を有し、ルータ1402Aは数値MACアドレスMAC Rを有し、SDNPゲートウェイは数値MACアドレスMAC M0,0及び数値IPアドレスIP M0,0を有する。ルータ1402AのIPアドレスは、データパケットでは使用されない。
SDNPデータグラムのパケットルーティングがSDNPネットワークによって完全に制御されるSDNPクラウドとは異なり、IPデータグラムが使用されるラストマイル通信では、SDNPペイロードが解釈されること、またはルーティングに影響を与えることがない。つまり、ラストマイルで転送される各通信には、固定送信元IPアドレス及び固定宛先IPアドレスが含まれる。イーサネット(登録商標)パケットの送信に使用される物理媒体またはチャネルは、ラストマイルの各通信ノードを接続するMACアドレスにより管理される。例えば、図50Aには、送信元MACアドレスMAC C1,1、宛先MACアドレスMAC R、送信元IPアドレスIP C1,1、宛先アドレスIP M0,0、及びSDNPペイロードを含むルータ1402AへのシングルPHYルーティングに使用されるIPv4及びIPv6ラストリンクイーサネット(登録商標)パケットが示されている。図50Bには、対応するイーサネット(登録商標)により、パケットゲートウェイリンク1414を介してSDNPペイロードAが転送される図が示されている。示されるように、送信元IPアドレスと宛先IPアドレスはIP C1,1及びIP M0,0から変更されないが、送信元MACアドレスと宛先MACアドレスは元の値からMAC R及びMAC M0,0に変更される。
SDNPゲートウェイ1401からクライアント1400への応答通信では、SDNPペイロードGが同じネットワークを逆の順序で、すなわち送信元アドレスと宛先アドレスが入れ替わる場所を通過する。図50Cに示されるように、送信元IPアドレスと宛先IPアドレスはそれぞれIP M0,0とIP C1,1で構成され、MACアドレスには送信元アドレスMAC M0,0及び宛先アドレスMAC Rが含まれる。図50Dに示されるラストリンク通信では、MACアドレスは送信元アドレスMAC R及び宛先アドレスMAC C1,1に変更されるが、送信元IPアドレスと宛先IPアドレスはIP M0,0及びIP C1,1から変更されない。
SDNPクライアントからのラストマイル通信を表す便利な手段の1つとして、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、SDNPペイロードを含むデータフィールドで構成される「簡略化された」データパケットを利用する方法が挙げられる。簡略化された形式は、任意の通信「セッション」、すなわちラストマイルを介してSDNPゲートウェイに送信される連続データパケットの構築及びその応答におけるデータフローを示す上で便利である。例えば、図51Aの上部には、SDNPクライアントからSDNPゲートウェイに送信される連続のイーサネット(登録商標)パケットが示されている(短縮化された形式で表示)。各行は、SDNPペイロード、A、B、Cを含む連続したデータパケットを表している。左端の列はラストリンクのデータパケット、右の列はゲートウェイリンクを介して同じペイロードを伝送するデータパケットを示している。示されるように、全てのパケットには、送信元IPアドレスとしてIP C1,1、宛先IPアドレスとしてIP M0,0が指定されている。IPアドレスのペアが1つしか使用されないため、本明細書ではこのラストマイルはSDNPシングルルートラストマイル通信と呼ばれる。さらに、連続したデータパケットを伝送するためにSDNPクライアント1400により使用される送信元IPアドレスは変化しないため、ラストリンクでは「静的クライアントアドレス指定」が使用される。
各通信ノードとその近隣ノードとのレイヤ2相互接続が容易化されるように、ラストマイルの異なるセグメントのMACアドレスは必然的に変更される。示されるように、クライアントからルータに向かってラストリンクを通過する全ての連続パケットでは、送信元MACアドレスMAC C1,1及び宛先MACアドレスMAC Rが使用される。連続したデータパケットではクライアントに単一のMACアドレスが使用されるため、ラストリンクは単一の物理媒体、すなわちシングルPHYラストリンクで構成される。ゲートウェイリンクを介した転送では、送信元MACアドレスMAC Rと宛先MACアドレスMAC M0,0が使用される。
そのため、示されるデータパケットにはSDNPペイロードが含まれるが、ラストマイルでのルーティングでは必然的にスニッフィング可能なMACアドレスとIPアドレス、すなわち不正聴取者の監視により解釈できるアドレスが使用される。同一の送信元IPアドレスと宛先IPアドレスを有するパケットを追跡することで、不正聴取者はデータパケットが同じ会話またはセッションの一部である可能性が高いと推測でき、SDNPペイロードを開けなくても、コール時間、ファイルサイズ、データレートなどのメタデータを収集して、発信者のプロファイルを作成できる。さらに、比喩的にはパンくずリストのように、ハッカーはMACアドレスとIPアドレスを追跡することで、コールの発信元をエンドデバイス、つまりクライアントデバイスまで追跡できる可能性があるため、発信者を個人的に特定できる。
本明細書で開示されるように、クライアントデバイスへの追跡を防止し、関連するコールパケットを難読化し、そしてメタデータの収集を抑制する上で優れた方法は、ラストマイル及びラストリンク通信でMACアドレスとIPアドレスを動的に変更することである。こうした独創的な偽装の方法には以下が含まれる。
・ラストリンクMACアドレスを動的に変更することで、変化する通信媒体を介してデータパケットを送信する。これは、本明細書では「マルチPHYラストリンク」通信と呼ばれる。
・クライアントデバイスのIPアドレスのIDを動的に変更することで、発信者を偽装する。これは、「動的クライアントアドレス指定」と呼ばれる。
・異なるSDNPゲートウェイIPアドレスとの間における通信のIPアドレスを動的に変更することで、ラストマイルにおける連続データパケットの通信パスを変更する。これは、「マルチルートラストマイル」通信と呼ばれる。
マルチPHY、動的クライアントアドレス指定、及びマルチルートラストマイル通信を組み合わせることで、どのパケットが同じコールまたはセッションの一部であるかを理解できるのはSDNP発信者とSDNPゲートウェイのみとなるため、ラストマイルとラストリンク通信の追跡とトレースが非常に困難になる。これらの方法は、個別にでも、組み合わせても使用できる。
例えば、図51Aの下半分には、静的クライアントアドレス指定によるシングルルートラストマイル通信でのマルチPHYラストリンク通信の使用が示されている。示されるように、各行は、SDNPクライアントからSDNPゲートウェイへの通信で使用されるデータパケットのペアで構成される。左側はラストリンクデータパケット、右側はゲートウェイリンクデータパッケージを表している。3つの行は3つの連続したメッセージを表している。一番上の行には最初のデータセット「SDNPペイロードA」、中央の行にはSDNPペイロードBが含まれ、一番下の行はSDNPペイロードCを含む連続データパケットの3番目を表している。静的クライアントアドレス指定によるシングルルートラストマイル通信では、連続する全てのデータパケットで、静的クライアントアドレスIP C1,1及び固定宛先IPアドレスIP M0,0が使用される。
マルチPHYラストリンク通信を実行するには、すなわちラストリンクのデータを複数の物理媒体にルーティングするには、順次データパケットにおけるSDNPクライアントのMACアドレスを動的に変更する必要がある。各MACアドレスは、イーサネット(登録商標)100BASE-T及び1000BASE-T接続など、特定のPHYレイヤに対応する。物理媒体が3つの場合、パケットでクライアントのMACアドレスがMAC C1,1からMAC C1,2へ、そしてMAC C1,3へと動的に変更される。媒体が2つしかない場合は、パターン認識を回避するため、MAC C1,1、MAC C1,2、MAC C1,2、MAC C1,1、MAC C1,2、MAC C1,1、MAC C1,2、MAC C1,1など、MACアドレスをランダムパターンで変更することができる。送信元MACアドレスは変化するが、ラストリンクの宛先MACアドレスはMAC Rとして一定に維持することができる。ラストリンクの全てのマルチPHYパスは同じルータで終端するため、ラストマイルの残りの部分を通るデータパスは、シングルルート通信として固定されたままとなる。言い換えると、ラストリンクではマルチPHY接続が使用されるが、ラストマイルは単一のゲートウェイを介してSDNPクラウドに入り、ラストマイルはシングルルート通信で構成される。
マルチPHYアプローチではある程度の偽装が実現するが、共通のクライアントIPアドレスが共有されるため、特定のコールからのデータパケットのパケットスニッフィングが依然として可能となる。この検知方法は、動的なクライアントアドレス指定(クライアントが送信する各パケットでIPアドレスを変更する操作)を使用して妨害できる。一例として、図51Bに、シングルルートラストマイル通信におけるクライアント動的IPアドレス指定の使用が示されている。上部のデータパケットのセットはシングルPHYラストリンク接続、下部のデータパケットのセットはマルチPHY実装を示している。SDNPシングルルートラストマイル通信では、シングルPHY方法かマルチPHY方法のいずれが使用されるかに関わらず、SDNPゲートウェイの宛先IPアドレス442は、全てのデータパケットで数値IP M0,0に固定されたままとなる。
示されるように、動的クライアントアドレス指定の場合、SDNPペイロードAを伝送するデータパケットでは動的に選択された送信元IPアドレス441(IP C1,1を含む)、SDNPペイロードBを伝送するデータパケットでは動的に選択された送信元IPアドレス(IP C1,2を含む)、SDNPペイロードCを伝送するデータパケットでは動的に選択された送信元IPアドレス(IP C1,3を含む)などのように使用される。動的に選択されるアドレスの数は、特にIPv6でほぼ無制限である。さらに、IPアドレスは一定時間(例えば1秒)再利用されるため、アドレスがリサイクルされる前に発生する場合がある。シングルPHYラストリンクでの動的クライアントアドレスの場合、送信元IPアドレスが変更されても、送信元MACアドレス183の値、この例ではMAC C1,1は一定に保たれる。マルチPHYラストリンクでの動的クライアントアドレスの場合、送信元MACアドレス183の値はMAC C1,1からMAC C1,2、そしてMAC C1,3へと連続的に変化する。クライアントの変化するMACアドレスとその動的IPアドレスの間には、特に数学的な対応はない。
動的クライアントアドレス指定は、異なるユーザから送信されたメッセージで構成されているように見えるが、データパケットは依然としてシングルルートでラストマイルのほとんどを通過する(マルチPHY実装のラストリンクを除く)。ラストマイル通信のパケットスニッフィングを混乱させるより高度な方法として、「マルチルート」通信の採用が挙げられる。マルチルート通信では、クライアントとSDNPクラウドの接続に複数のSDNPゲートウェイIPアドレスが使用される。SDNPネットワークルーティングはシグナリングサーバにより規定され、各パケットのSDNPタグの識別が使用されるため、データが単一のゲートウェイを介してSDNPクラウドに入るか、複数のゲートウェイを介してSDNPクラウドに入るかに関係なく、SDNPクラウドからパケットを宛先にルーティングできるようになる。図51Cには、静的クライアントアドレス指定によるマルチルートラストマイル通信の使用が示されている。ラストリンクに示される全てのデータパケットでは、クライアントの送信元IPアドレス441は数値IP C1,1で静的のままとなるが、SDNPペイロードA、B、Cを含む連続データパケットではIP M0,0からIP M0,1、そしてIP M0,3へと宛先IPアドレス442が動的に変化する。SDNPゲートウェイのIPアドレスはランダムに選択されるのではなく、SDNPシグナリングサーバにより「選択」され、一時的に発信者に近いゲートウェイ、すなわちSDNPクライアントと特定のSDNPゲートウェイ間の統計的伝播遅延が最小のゲートウェイを表す。この例では、動的宛先アドレスは、PHY接続に関係なく変化する。例えば、上部のデータパケットのセットはラストリンクの数値MAC C1,1を有するクライアント送信元MACアドレス183とのシングルPHYラストリンク接続、下部のデータパケットのセットは異なる媒体間で、MAC C1,1、MAC C1,2、MAC C1,3など、送信元MACアドレスが変更されるマルチPHY実装を示している。クライアントの変化するMACアドレスとSDNPゲートウェイの宛先IPアドレスの間には、対応するパターンまたは数学的な関係はない。
最も効果的なレベルの偽装を実現するには、動的クライアントアドレス指定とマルチルートラストマイル通信を組み合わせる。図51Dには、シングルPHYラストリンクの実装(図の上部)及びマルチPHYラストリンクバージョン(図の下部)の両方におけるこのセキュリティ機能の新しい組み合わせが示されている。下部に示される完全に動的なバージョンでは、送信元IPアドレス441はIP C1,1からIP C1,2、そしてIP C1,3へと動的かつランダムに変化し、SDNPゲートウェイの宛先IPアドレス442はIP M0,0からIP M0,1、そしてIP M0,3へと独立して変化する。伝播遅延が最小限に抑えられるように、SDNPゲートウェイアドレスはSDNPシグナリングサーバにより選択され、動的クライアントアドレスは無関係な方法で変更される。前例のように、上部のデータパケットのセットはラストリンクの数値MAC C1,1を有するクライアント送信元MACアドレス183とのシングルPHYラストリンク接続、下部のデータパケットのセットは異なる媒体間で、MAC C1,1、MAC C1,2、MAC C1,3など、送信元MACアドレスが変更されるマルチPHY実装を示している。クライアントの変化するMACアドレスとクライアントまたはSDNPゲートウェイの変化するIPアドレスの間には、対応するパターンまたは数学的な関係はない。しかし、マルチルートラストマイル通信では、全てのデータが単一のルータRに集められるのではなく、マルチPHYラストリンクから3つの異なるルータR1、R2、R3に有利に接続できる。
図52Aの表には、静的クライアントアドレスとシングルPHYラストリンクを有するシングルルートラストマイルで構成される最も安全性の低い実装(表の最後の10行目に表示)から、動的送信先アドレス指定とマルチルートラストマイル通信を有するマルチPHYラストリンクにより実現する優れた偽装(表の最上部の1行目に表示)に至るまで、前述の10種類のラストマイル偽装がまとめられている。表はセキュリティの強度の順に並べられている。表記C1,n、M0,n、Rnは、SDNPクライアント、SDNPゲートウェイ、及びラストリンクルータの動的に変化するアドレスを指している。動的アドレスに相関性はない。7行目~10行目にはシングルルートラストマイル通信、すなわち単一のゲートウェイM0,0が使用される通信、1行目~6行目には複数のゲートウェイとのマルチルートラストマイル通信が示されている。網掛けされた1行目と4行目を除き、ラストリンク通信はMACアドレスRを有する単一のルータに接続される。対照的に、マルチルート通信として、網掛けされた1行目と4行目は動的MACアドレスRnを有する複数のルータに接続されるマルチPHYラストリンク通信を表している。
図52Bには、シングルPHYラストリンクの静的クライアントアドレス指定、マルチPHYラストリンクの静的クライアントアドレス指定、シングルPHYラストリンクの動的クライアントアドレス指定、及びマルチPHYラストリンクの動的クライアントアドレス指定という4つの組み合わせで、シングルルートラストマイル通信の動作が位相幾何学的に示されている。各ボックスには、使用されるデータパスを示す3つの連続したデータパケット通信が示されている。実線はデータパケットフロー、点線は使用されていないが可能性のあるパスを表している。網掛けされた円はラストマイル通信で使用される通信ノード、空の円は未使用の通信ノードを表している。示されるように、全ての例で、ラストマイルデータはルータRとSDNPゲートウェイM0,0間の単一接続を介してルーティングされて終端に達する。
左上に示されるシングルPHYラストリンク経由の静的クライアントアドレス指定の場合、連続する各パケットは、不変のIPアドレスによりラストマイル全体で同じパスを通る。左下に示されるマルチPHYラストリンク経由の静的クライアントアドレス指定の場合、連続する各パケットは、動的に変化するMACアドレスの指定に従ってラストリンクで異なるパスを通る。ラストマイルの残りの部分は、不変のIPアドレスで指定されたシングルルートで構成される。単一ルート転送ではあるが、ラストリンクの物理媒体を変更すると、発信者の追跡がより困難になる。右上に示されるシングルPHYラストリンク経由の動的クライアントアドレス指定の場合、連続する各パケットは、不変の宛先IPアドレスとラストリンクの一定のクライアントMACアドレスに従って、ラストマイル全体で同じパスを通る。代わりに、動的送信元IPアドレスの変更により、クライアントIDを変更することで、偽装が実現する。右下の動的クライアントアドレス指定とマルチPHYラストリンクの両方が使用されるシングルルート通信の場合、全てのパケットが単一のSDNPゲートウェイにルーティングされても、クライアントのMACアドレスと送信先IPアドレスが動的かつランダムに変化する。
動的クライアントアドレス指定は、クライアントデバイスで1つ以上の一時的なアドホックIPアドレスが使用されるプロセスである。このプロセスには2つの段階がある。1つ目の段階では、デバイスが最初にネットワークにログオンする際、最も近いルータに接続されて、ローカルサブネットにその存在が登録される。次に、ルータから同じサブネット上にある最も近いDHCPサーバに接続がリダイレクトされる。Dynamic Host Configuration Protocolの頭字語であるDHCPは、IPアドレスを動的に割り当てるために使用されるネットワーク管理プロトコルである。登録プロセスでは、クライアントデバイスに1つ以上のIPアドレスがダウンロードされ、そのアドレスが通信データレジスタに保存される。新しいセッションを開始するか新しいアドレスを要求することで、割り当てられたIPアドレスがローカルDHCPサーバによって更新されるまで、これらのIPアドレスを使用してクライアントデバイスから通信が行われる。アドレスは特定のサブネット内で動的に発行されるため、クライアントデバイスのIPアドレスはインターネットアドレスではない。
クライアントデバイスからコールが発信される、またはSDNPネットワークにログオンする第2段階では、SDNPサーバの静的IPアドレスに基づいて、デバイスがSDNPシグナリングサーバに自動的に接続される。SDNPサーバで着信メッセージが受信されると、アドホックIPアドレスまたはアドレスがSDNPネームサーバにアップロードされる。次に、SDNPネームサーバから、それぞれの一時IPアドレスの擬似コードとして、SDNPアドレスが割り当てられる。動作中、ルーティングの直前に、パケットのSDNP送信元アドレスがローカルのアドホックIPアドレスに置き換えられる。SDNP動的アドレス指定の場合、送信元アドレスが変化してパケットが繰り返し送信されることで、クライアントデバイスのIDが偽装される。このように、動的偽装により、クライアントデバイスの実際のIDを隠すことができる。
SDNPゲートウェイに到達すると、発信パケットの送信元アドレスからクライアントIPアドレスが破棄され、代わりにゲートウェイサーバのSDNPアドレスに置き換えられる。次に、各発信SDNPパケットで、転送の直前に、デバイスのローカルIPアドレスがローカルのアドホックIPアドレスと交換される。送信元IPアドレスと宛先IPアドレスが一定で、応答が必要となるインターネットパケット転送とは異なり、SDNP転送では各ホップで新しいIPアドレスが使用される。そのため、SDNPメッセージが最終的に宛先に到達する時点で、クライアントデバイスの送信元アドレスがデータパケットに含まれない。代わりに、シグナリングサーバから、応答のリターンパスに関する情報が宛先デバイスに通知される。
図52Cには、静的クライアントアドレス指定と動的クライアントアドレス指定、及びシングルPHYラストリンクとマルチPHYラストリンクの4つの組み合わせで、「マルチルート」ラストマイル通信の動作が位相幾何学的に示されている。各マルチルート通信では、宛先IPアドレス、すなわちSDNPゲートウェイは常に変化する。つまり、ラストマイルルートは異なる入力でSDNPクラウドに接続される。左側の列では、クライアントアドレスは静的のままとなる。つまり、発信者のIDは変更されない。左上の例では、ラストリンクでシングルPHY接続が使用される。つまり、この場合もクライアントのMACアドレスが静的のままとなる。異なる宛先ゲートウェイと通信が行われても、ラストリンク物理媒体とクライアントIPアドレスが変化しないため、ラストマイルはコールトレースの影響を受けやすくなる。データパケットの転送に使用されるラストリンク媒体を変更するか、または発信者のIPアドレスの実際のIDを隠すことで、この弱点を補うことができる。
左下の例では、ラストリンクにマルチPHY接続が使用される。つまり、クライアントのMACアドレスが動的に変化する。このようなアプローチにより、クライアントのIDが静的IPアドレスに維持されるという事実を補うことができる。エンドツーエンドのマルチルートラストマイル通信の一部として、連続的なパケットが個別のSDNPゲートウェイに到達できるように、一意の各ラストリンクが個別のルータに接続される。そのため、最初のパケットは、一意のPHY媒体を介して、静的アドレスIP C1,1のクライアントからMACアドレスMAC R1のルータにルーティングされ、その後最終的にIPアドレスIP M0,0のSDNPゲートウェイにルーティングされる。同一のクライアントアドレスIP C1,1の2番目のパケットは、一意のPHY媒体を介して、メディアアドレスMAC R2の別のルータにルーティングされ、その後最終的にIPアドレスIP M0,1のSDNPゲートウェイにルーティングされる。同様に、静的クライアントIPアドレスC1,1の3番目のパケットは、一意のPHY媒体を介して、メディアアドレスMAC R3のルータにルーティングされ、その後SDNPゲートウェイM0,3にルーティングされる。複数のルータを使用すると、単一の送信先IPアドレスを有するクライアントが使用されるにも関わらず、複数のPHYラストリンクの便宜的な使用により、完全に別個の軌道でラストマイルパケットが伝送される。
右上に示される別の実装形態では、単一のMACアドレスとPHY接続が使用されるが、クライアントのIDは動的に変化する。示されるように、クライアントのIPアドレスはIP C1,1からIP C1,2、そしてIP C1,3へと動的に変化するが、物理媒体は送信元メディアアドレスMAC C1,1及び宛先アドレスMAC Rで一定に維持される。次に、SDNPシグナリングサーバにより決定されるランダムな順序で、データがゲートウェイM0,0、M0,1、M0,3に転送される。
3つのラストマイル偽装方式全て、すなわちマルチPHYラストリンクと動的クライアントアドレス指定が使用される複数ルート通信を組み合わせることで、優れたセキュリティが実現する。これは、図52Cの右下に示されている。ここでは、マルチPHYラストリンクと複数のルータが使用され、送信されたデータパケットが、複数のルートを介して、動的IPアドレスを有するクライアントから複数のSDNPゲートウェイに伝送される。示されるように、動的送信元ネットワークアドレスIP C1,1を有するクライアントからの最初のパケットは、送信元メディアアドレスMAC C1,1及び宛先メディアアドレスMAC R1により定義されるマルチPHYラストリンクにより、複数のルート経由で宛先IP M0,0に送信される。動的に選択された送信元ネットワークアドレスIP C1,2を有するクライアントからの2番目のデータパケットは、送信元メディアアドレスMAC C1,2及び宛先メディアアドレスMAC R2により定義されるマルチPHYラストリンクにより、複数のルート経由で宛先IP M0,1に送信される。動的に選択された送信元ネットワークアドレスIP C1,3を有するクライアントからの3番目のデータパケットは、送信元メディアアドレスMAC C1,3及び宛先メディアアドレスMAC R3により定義されるマルチPHYラストリンクにより、複数のルート経由で宛先IP M0,3に送信される。このように、クライアントIPアドレス、SDNPゲートウェイIPアドレス、クライアントのMACアドレス、及びルータのMACアドレスの組み合わせが全てランダムかつ動的に変化するため、コールトレースとメタデータの収集がほぼ不可能となる。
複数のゲートウェイへの動的IPアドレス指定、マルチPHY転送、及びマルチルート転送によるクライアントデバイスのIPアドレス偽装及びラストマイルルーティングの難読化は、クライアントデバイスまたはシグナリングサーバによって決定できる。ミスダイレクションプロセスは、乱数生成または他の擬似ランダムアルゴリズムを使用して実現できる。重要な原則は、ルーティングと転送の変化を予測不能にすることである。
図52Dには、複数ルート経由のイーサネット(登録商標)パケットのラストマイルデータ転送について、2つのやや強度の低いバージョンが示されている。左側の図では、静的クライアントアドレス指定とマルチPHYラストリンク接続が使用される。右側の図では、動的クライアントアドレス指定とマルチPHYラストリンク接続が使用される。この実装と図52Cに示されるマルチPHYバージョンは、図52Cのバージョンではデータ転送を複数のルータに分散させるのではなく、単一のルータRが使用されるという点で異なる。要するに、ラストリンク接続で単一のルータが使用されるマルチルート転送では、クライアントからの順次データが複数の物理媒体、すなわちマルチPHYラストリンクに分散されてから、単一のルータRで再収集される。そして、この共通ルータから異なる宛先IPアドレスにより定義される複数のSDNPゲートウェイへのラストマイルにおける複数のゲートウェイリンク及び他の並列セクション(図示なし)を含むラストマイルの残りの部分にデータが送信される。
SDNPクライアントとSDNPゲートウェイ間のラストマイル通信には、イーサネット(登録商標)の付属として、WiFiワイヤレス通信を使用することもできる。WiFi通信では、特にイーサネット(登録商標)データパケットを使用する場合、3つまたは4つのMACアドレス(無線リンクに2つ、有線ネットワーク接続に1つまたは2つ)を有するデータパケットが必要である。図53には、SDNPラストマイル及びラストリンク通信に適合させた同じWiFiパケットフォーマットが示されている。ラストリンク通信に適用できるアクセスポイントとして必要となるのは、3つの6Bの長さのMACアドレスのみである。具体的には、受信無線基地局または「受信機」のMACアドレス1フィールド235、送信無線基地局または「送信機」のMACアドレス2フィールド236、及びWiFiルータへの有線ネットワーク接続のMACアドレスを含むMACアドレス3フィールド237、すなわちイーサネット(登録商標)または「ネット」である。動作中、受信機と送信機データフィールドにロードされるMACアドレスの数値は、(i)無線で受信されてイーサネット(登録商標)に転送されるデータパケットか、または(ii)無線通信に変換されるイーサネット(登録商標)上の着信データかが決定される「To DS」/「From DS」の方向設定に依存する。MACアドレス4データフィールド239はオプションであり、WiFiデバイスが「無線配信モード」で無線ブリッジとして使用される場合にのみ使用される。こうしたモードは、セルラーまたはマイクロ波ネットワークの代替手段として、砂漠などの長距離のラストマイル通信で使用できるが、一般的なSDNPラストマイルにおけるWiFi通信の使用は、通常、SDNPクライアントへのラストリンク接続に焦点が当てられる。そのため、本明細書におけるSDNP技術はワイヤレス配信モードルーティングにも同様に適用できることを理解した上で、以下の説明では、WiFiルータのアクセスポイントモードに焦点が当てられている。
イーサネット(登録商標)データパケットと同様に、プリアンブル230と開始フレームデリミタSFD 232には、データとデバイスを同期するためのレイヤ1データが含まれる。物理レイヤ収束手続きPLCP 232には、レイヤ1とレイヤ2の情報(関連するパケット長、データレート、ヘッダのエラーチェックなど)が混在する。IEEE 802.11規格に従って、残りのデータフィールドには、フレーム制御233(これにより、SDNPペイロードの伝送に使用されるタイプである管理、制御、予約、または「データ」としてWiFiバージョンパケットタイプが指定される)を含むレイヤ2データリンク情報が含まれる。
持続時間&ID 234にはNAV持続時間が含まれる。ただし、WiFiデバイスが電力節約モードになっている場合は、このフィールドにはステーションIDが含まれる。NAVまたはネットワーク割り当てベクトルは、ワイヤレス通信システムの電力節約モードに使用される仮想キャリア検知メカニズムである。NAV持続時間は、一定レートでゼロまでカウントダウンするカウンタと見なすことができる。これにより、媒体が検知され、無線がアイドル状態か、まだ通信中であるかが判断される。アイドルモードでは、カウンタによりNAV持続時間が繰り返し数えられ、注意を要する無線通信アクティビティが検知されたかどうかが確認される。シーケンス制御または「シーケンス」フィールド238には、レイヤ2パケットフレームを定義するパケットシーケンスとフラグメントナンバーが含まれる。フレームチェック240には、データパケット全体の32ビットCRCチェックサム、すなわちエラーチェックデータリンクトレーラが含まれる。
WiFiペイロード241は、WiFiペイロードの伝送に使用される0Bから2,312Bの長いデータフィールドである。SDNPラストマイル通信では、このフィールドには、IPヘッダ434、トランスポートヘッダ436、SDNPペイロード435など、ラストマイル通信で使用されるIPデータグラムが含まれる。
IPヘッダ434は、バイナリ4を含むプロトコルフィールド447またはバイナリ6を含むプロトコルフィールド448よる決定に基づいてIPデータグラムがIPv4かIPv6プロトコルのいずれに従うかによって異なる。プリアンブル440と444には両方とも、TCP、UDP、またはメンテナンス機能ICMPとIGMPなど、使用されるレイヤ4転送方法の決定に使用されるトランスポートヘッダフラグ470が含まれる。具体的には、セキュア動的通信ネットワーク及びプロトコルに従って、ソフトウェア及びデータファイルにはTCP転送が使用され、VoIP及びビデオなどのリアルタイムデータにはUDPが使用される。トランスポートヘッダ436の長さとフォーマットは、トランスポートヘッダフラグ470に応じて異なる。IPヘッダ434には、IPv4の送信元アドレス441と宛先アドレス442、またはIPv6の送信元アドレス445と宛先アドレスと446が含まれる。
イーサネット(登録商標)データパケットと同様に、WiFiパケットのラストマイルルーティングはIPアドレスとMACアドレスの両方に依存し、IPアドレスまたはMACアドレスが指し示すデバイスの象徴的な名称で表されている。図54A~図54Dには、WiFiパケットの順次ラストマイルルーティングが示されている。各図には、2つのWiFiパケットが含まれる。上部のパケットはIPv4データグラムで構成され、下部のパケットはIPv4データグラムで構成される。IPv4とIPv6では異なるフィールド長の異なるフォーマットが使用されるため、同じペイロードが伝送される場合でも、通常、表示される2つのWiFiパケットは同じ長さにはならない。
通信シーケンスの最初のステップで、SDNPペイロードAはWiFi無線媒体として、ラストリンク1404を介してSDNPクライアント1400からWiFi基地局/ルータ1402Wに移動し、そしてBSリンク1415を介して有線でルータ1402Xに移動する。次に、ゲートウェイリンク1414を介して、データパケットがルータ1402XからSDNPゲートウェイ1401に伝送される。SDNPゲートウェイからクライアントへの応答では、SDNPペイロードGがゲートウェイリンク1414を介して有線でSDNPゲートウェイ1401からルータ1402Xへ、次にBLリンク1415を介してWiFiルータ1402Wへ、そしてWiFi無線が通信媒体として使用され、ラストリンク1404を介してクライアント1400へと移動する。SDNPクライアントは数値MACアドレスMAC C1,1及び数値IPアドレスIP C1,1を有し、WiFiルータ1402Wは数値MACアドレスMAC Wを有し、ルータ1402Aは数値MACアドレスMAC Rを有し、SDNPゲートウェイは数値MACアドレスMAC M0,0及び数値IPアドレスIP M0,0を有する。WiFiルータ1402W及び有線ルータ1402XのIPアドレスは、示されるように、ラストマイル通信では必要ない。
SDNPデータグラムのパケットルーティングがSDNPネットワークによって完全に制御されるSDNPクラウドとは異なり、IPデータグラムが使用されるラストマイル通信では、SDNPペイロードが解釈されること、またはルーティングに影響を与えることがない。つまり、ラストマイルで転送される各通信には、固定送信元IPアドレス及び固定宛先IPアドレスが含まれる。無線通信でWiFiパケットの送信に使用される物理媒体またはチャネル、及び有線通信でイーサネット(登録商標)パケットの送信に使用される物理媒体またはチャネルは、ラストマイルの各通信ノードを接続するMACアドレスにより管理される。
例えば、図54Aには、ラストリンク1404を介したWiFiルータ1402WへのシングルPHY無線ルーティングに使用されるIPv4及びIPv6ラストリンクWiFiパケットが示されている。これには、送信機MACアドレスMAC C1,1及び受信機MACアドレスMAC Wが含まれる。次に、BSリンク有線1415経由で、WiFiルータ1402Wから、「ネット」MAC宛先アドレスMAC Rを有するイーサネット(登録商標)ルータ1402Xにルーティングされる。レイヤ3ネットワークルーティングには、エンドデバイス、すなわち送信元IPアドレスIP C1,1を有するSDNPクライアント1400及び宛先アドレスIP M0,0を有するSDNPゲートウェイ1401のみが含まれる。イーサネット(登録商標)データパケットとは異なり、WiFiパケットには送信機または送信元無線MACアドレスMAC C1,1、受信機または無線宛先MACアドレスMAC W、及びイーサネット(登録商標)「ネット」アドレスMAC Rの3つのアドレスが含まれる。このデータ送信の方向では、有線ルータ1402XはWiFiルータデバイスのネットワーク宛先として機能する。そのため、WiFiデータパケットにより、WiFi無線ラストリンク1404及びイーサネット(登録商標)有線BSリンク1415の2つの媒体が指定される。図54Bには、対応するイーサネット(登録商標)により、パケットゲートウェイリンク1414を介してSDNPペイロードAが転送される図が示されている。示されるように、送信元IPアドレスと宛先IPアドレスはIP C1,1及びIP M0,0から変更されないが、送信元MACアドレスと宛先MACアドレスは元の値からMAC R及びMAC M0,0に変更される。
応答通信には、宛先IPアドレスと送信元IPアドレスの交換、及びそれに応じたMACアドレスの調整が含まれる。図54Cは、ゲートウェイリンク1414を介したSDNPゲートウェイ1401から有線ベースのルータ1402Xへのデータ転送に使用されるIPv4及びIPv6イーサネット(登録商標)パケットが示されている。レイヤ3データグラム情報について、IP送信元アドレス441にはSDNPゲートウェイ1401のネットワークアドレス、すなわちIP M0,0が含まれ、IP宛先アドレスにはクライアントのアドレスである値IP C1,1が含まれる。ゲートウェイリンクイーサネット(登録商標)パケットのMACアドレスは、送信元アドレス183ではMAC M0,0、宛先MACアドレス182ではMAC Rとなる。
図54Dには、有線BSリンク1415及びWiFi無線ベースのラストリンク1404のIPv4及びIPv6 WiFiパケットが示されている。ネットワークレイヤ3ルーティングには、送信元アドレス445及び宛先アドレス446として、SDNPゲートウェイ1401アドレスIP M0,0及びSDNPクライアントアドレスIP C1,1が含まれる。「ネット」とラベル付けされたMACアドレスフィールド237の機能は、無線モードに従って変化する。ここに示される送信モードでは、このフィールドには、無線の着信データの有線送信元のイーサネット(登録商標)MACアドレス、すなわちWiFiアクセスポイントにデータパケットを送信するルータ1402Xの数値MAC Rが含まれる。前述の図54Aに示される受信機モードでは、このフィールドにより、無線パケットとして受信されてイーサネット(登録商標)パケットに変換されるデータのイーサネット(登録商標)宛先が定義される。示される例では、「ネット」フィールド237には、送信モードと受信モードの両方において、ルータ1402Xと同じMACアドレス、すなわちMAC Rが含まれる。つまり、WiFiアクセスポイントではラストマイル接続に単一のイーサネット(登録商標)ルータが使用される。
オプションとして、ラストマイル経由のマルチルート通信では、WiFiアクセスポイントで受信されるデータパケットのルーティング、すなわち受信モードで使用される有線ルータは、WiFiアクセスポイントから送信されるデータパケットのルーティング、すなわち送信モードで使用される有線ルータとは異なる場合がある。例えば、受信モードの無線パケットのネットワークMACアドレス237には数値MACアドレスMAC R1が含まれ、送信モードではデータが別のルータ接続MAC R2に変更される場合がある。つまり、オプションとして、BSリンクは方向依存性のマルチPHY実装で構成できる。送信モードでは、WiFiルータ1402WからSDNPクライアント1400へのシングルPHY無線1404ラストリンクルーティングに使用されるラストリンクWiFiパケットには、数値MAC Wの送信機MACアドレス236及び数値MAC C1,1の受信機MACアドレス235が含まれる。このデータ送信の方向では、有線ルータ1402Aは、WiFiルータデバイスから送信されるデータの送信元として機能する。そのため、WiFiデータパケットにより、WiFi無線ラストリンク1404及びイーサネット(登録商標)有線BSリンク1415の2つの媒体が指定される。
セルラーネットワークは、SDNPラストマイル通信に適応できる別の形式のワイヤレス通信である。セルラーネットワークでは、受信イーサネット(登録商標)パケットを無線固有の媒体アクセス制御(MAC)パケットにパーティションが再設定される。多重に(TDMA)、符号分割で(CDMA)、またはコンテンツが複数のサブチャネル周波数に拡散されて(OFDM)、データが送受信される場合がある。直交周波数分割多重方式(OFDM)に基づく4G/LTE通信の場合、レイヤ2データパケットは、全てレイヤ2内の埋め込みサービスデータユニット(SDU)の3つの異なるレベルにスタックされる。具体的には、最下位レベルは、PHYレイヤ1データを含む20個のタイムスロット300にまたがるMACヘッダ303とパディング305と共にシングルフレームMAC SDU 304を含むPHY PDU 299で構成される。MAC SDU 304には、無線リンク制御またはRLC SDU 308が含まれる。
無線リンク制御(RLC)は、3G(UMTS)及び4G/LTE(OFDM)ベースの電話で使用されるレイヤ2プロトコルである。無線リンク制御の機能は、3つのモード、すなわち確認済みモード、未確認モード、透過モードのいずれかで上位層の要求に応答し、エラー検出、エラー修正、重複検出、及び指定された形式に応じたデータのパケット化を提供する。データのパケット化には、RLCデータPDUの並べ替えと再セグメント化に加えて、RLC SDUの連結、セグメント化、及び再組み立てが含まれる。例えば、無線オーバーヘッド機能を実行する時間が割り当てられた後は、単一フレームRLC SDU 308では、ペイロードを伝送する持続時間とデータファイルサイズが不可避的に制限される。したがって、単一フレームRLC SDU 308は、セグメントに分割され、異なるRLCレイヤ2フォーマット(マルチフレームRLC SDU 319)にマッピングされる必要がある。
図55に示されるように、マルチフレームRLC SDU 319の様々なK、K+1、K+2セグメント313、314、315などへの単一フレームRLC SDU 308のマッピングは1対1では行われない。例に示されるように、単一フレームRLC SDU 308のマッピングは、K+2セグメント315の中央で終了する。代わりに、残りのK+1セグメントの未送信部分が新しい単一フレームRLC SDU 312で送信されるが、これは無線クロック同期に必要なパディング時間310が許可された後、及びRLCヘッダ311が処理した後でのみ発生する。この方法では、K+2スロットにカプセル化されたデータの送信は、データフローが中断されなかったかのように、中断されたところから正確に再開される。操作的には、4Gは、DVDチャプターの途中でDVDエンコードされた映画の再生を一時停止し、他の機能を実行するためにしばらく待機してから、一時停止した場所から正確に再生を再開する操作に似ている。そのため、データコンテンツは失われず、セルラーシステムのRFデータ配信レートはパケットオーバーヘッド(PDUヘッダなど)以外の無駄な無線帯域幅がなくなるように最大化され、クロック同期パディング時間310によるデータレートの低下が最小限に抑えられる。
マルチフレームRLC SDU319により、各Kセグメントと1対1の対応でPDCP PDU320がカプセル化される。例えば、Kのセグメント313ではPDCPヘッダ321A及びデータ323を含むIPペイロードが伝送され、(K+1)のセグメント314ではPDCPヘッダ321B及びデータ324を含むIPペイロードが伝送され、(K+2)のセグメント315ではPDCPヘッダ321C及びデータ325を含むIPペイロードが(以下同様に)伝送される。PDCPという用語は、3G及び4G/LTE通信プロトコルで指定されるPacket Data Convergence Protocolの頭字語であり、これにより、圧縮、暗号化、整合性保証、ユーザと制御データ転送などの機能が実行される。PDCPヘッダは、ユーザデータ、制御データなど、転送されるデータのタイプによって異なる。
4Gデータパケットのデータ転送では連続的に連結されたデータストリームが運ばれるため、ペイロードサイズはイーサネット(登録商標)及びWiFiデータパケットのように定義された長さのブロックに量子化されることはない。代わりに、対応するレイヤ2データセグメント313、314、315・・・により伝送されるデータフィールド323、324、325・・・は、IPヘッダ434及びトランスポートヘッダ436とSDNPペイロード1430を含むIPペイロード435のように、任意のサイズのペイロードに増分的に対応できる。さらに、OFDMベースの通信では、各タイムスロットでは複数の周波数サブキャリアで同時にデータが伝送される。つまり、TDMAのように、単一チャネルにおける持続時間によって総データスループットが単純に決定されるわけではない。しかし、便宜上、多くの場合、IPデータグラムのサイズを、イーサネット(登録商標)またはWiFi標準のサイズと一致するように維持すると便利である。
示されるように、IPヘッダ434は、バイナリ4を含むプロトコルフィールド447またはバイナリ6を含むプロトコルフィールド448よる決定に基づいてIPデータグラムがIPv4かIPv6プロトコルのいずれに従うかによって異なる。プリアンブル440と444には両方とも、TCP、UDP、またはメンテナンス機能ICMPとIGMPなど、使用されるレイヤ4転送方法の決定に使用されるトランスポートヘッダフラグ470が含まれる。具体的には、セキュア動的通信ネットワーク及びプロトコルに従って、ソフトウェア及びデータファイルにはTCP転送が使用され、VoIP及びビデオなどのリアルタイムデータにはUDPが使用される。トランスポートヘッダ436の長さとフォーマットは、トランスポートヘッダ470に応じて異なる。IPヘッダ434には、IPv4の送信元アドレス441と宛先アドレス442、またはIPv6の送信元アドレス445と宛先アドレスと446が含まれる。
IPv6データグラムが使用される4G通信の例として、図56Aには、セルラータワー及び基地局1402Qへのセルラー無線1404ラストリンクルーティングが示されている。具体的には、送信元MACフィールド300Aでは、RLC PDUにより、セルラー送信元メディアアドレスがクライアントデバイスであるMAC C1,1として定義される。同様に、宛先MACフィールド300Bでは、セルラータワー及び基地局を表すMAC BSとしてセルラー受信機メディアアドレスが指定される。レイヤ3ネットワークルーティングは、ラストマイルエンドデバイス、すなわち送信元データフィールドに示される送信元IPアドレスIP C1,1を有するSDNPクライアント1400、及び宛先アドレスM0,0を有するSDNPゲートウェイ1401のみで構成される。前述のように、データフィールド323、324、325は、必ずしもIPv6データグラムデータペイロードの特定のセクションに対応するわけではない。ここでは、データフィールド323は、送信元IPアドレス445、宛先IPアドレス446、及びトランスポートヘッダ436を含むSDNPペイロードA 435の一部で構成される。データフィールド324及び325では、SDNPペイロード435の未送信の残りの部分が伝送される。
図56Bには、セルラータワー及び基地局1402Qからモバイルクライアントデバイス1400へのセルラーラストリンク1404経由の応答メッセージSDNPペイロードGのデータパケットが示されている。ここでは、以前のデータパケットからの送信元アドレスと宛先アドレスが交換される。すなわち、セルラー送信元メディアアドレス300AにメディアアドレスMAC BSがロードされ、セルラー宛先メディアアドレス300BがクライアントのMACアドレス、MAC C1,1に、IPV6データグラムの送信元IPフィールド445がIP M0,0に、そして宛先IPフィールド445がIP C1,1に設定される。BSリンク1415を介したネットワークルータ1402Xとセルラータワー及び基地局1402Qとの間のルーティングでは、前例と一致するイーサネット(登録商標)データパケットが使用される。
ラストリンクを介したマルチPHY通信には、様々な組み合わせで使用される前述の媒体のいずれかを含めることができる。マルチPHY実装には、同一または異なるデータレートでデータを伝送し、かつUSB、イーサネット(登録商標)10BASE-T、100BASE-T、1000BASE-T、DOCSIS3などの共通または異なるレイヤ2プロトコルを使用する複数の有線接続を含めることができる。有線物理媒体はイーサネット(登録商標)またはUSB準拠のネットワークケーブル、同軸ケーブル、光ファイバ、またはDSL用のツイストペア銅線接続で構成できるが、性能は低下する。
ワイヤレスマルチPHY通信には、無線周波数帯及びマイクロ波帯で実行されるWiFi、セルラー、衛星、または独自の無線フォーマットの組み合わせを含めることができる。ワイヤレスラストリンク通信には、Bluetooth(登録商標)などの短距離技術または日本のPHSなどのマイクロセルラーネットワークを含めることもできる。ワイヤレスプロトコルには、アナログのTDMA、GSM、CDMA、UMTS、OFDM、または802.11a、802.11b、802.11g、802.11n、802.11acなどのWiFiプロトコルを含む2G、2.5G、3G、4G/LTEのセルラーフォーマット、及び衛星通信またはカスタム無線リンクの独自のフォーマットが含まれる。レイヤ2プロトコルはレイヤ1の物理媒体によって異なるため、本開示の文脈で使用される用語「マルチPHY通信」は、OSI物理レイヤとデータリンクレイヤの両方の組み合わせ、すなわちレイヤ1とレイヤ2の組み合わせを意味し、レイヤ1物理媒体のみを意味する主張に限定するものと解釈されるべきではない。
図57Aには、イーサネット(登録商標)、WiFi、携帯電話の実装を含め、共通レイヤ2プロトコルが使用されるマルチPHY通信の例が示されている。最上部のマルチPHYイーサネット(登録商標)の例では、それぞれ100BASE-Tと1000BASE-Tを実行する有線またはファイバリンク24Aと24Bで構成される2つのイーサネット(登録商標)ケーブルが使用され、ルータ27からデスクトップコンピュータ36へ通信が行われる。ラストマイルにおけるハイパーセキュア通信が容易化されるように、SDNPソフトウェア1335Cを実行するデスクトップ36が示されている。
中央のマルチPHY WiFiの例では、2.4GHzで801.11nプロトコルを実行するWiFiリンク29A、及び5GHzの802.11acで通信するWiFiリンク29Bとして示される2つのWiFiチャネルを通して、WiFiルータ100からノートブック35へ通信が行われる。マルチPHYモードで動作させるためには、ノートブックの内蔵マルチバンドアンテナ26Bにより、ノートブック35で複数の周波数で同時に信号を送受信できるようになっている必要がある。同様に、マルチバンドアンテナ26により、WiFiルータで複数の周波数で同時に信号を送受信できるようになっている必要がある。ラストマイルにおけるハイパーセキュア通信が容易化されるように、SDNPソフトウェア1335Cを実行するノートブック35が示されている。
最下部のマルチPHYセルラー通信の例では、対応する周波数1.8GHz及び900MHzのセルラーリンク28Aと28Bを含む2つの異なる無線チャネルが使用され、マルチバンドセルラータワー18Aを介して、携帯電話基地局17からタブレット39へ同時に通信が行われる。示される例では、セルラーリンクは4G/LTEネットワークで構成される。示されるように、内蔵マルチバンドアンテナ18Bにより、タブレット39で複数の周波数で信号を同時に送受信できるようになっている必要がある。ラストマイルにおけるハイパーセキュア通信が容易化されるように、SDNPアプリ1335Aを実行する タブレット39が示されている。
共通レイヤ2プロトコルが使用されるこうしたマルチPHY通信では、ハッカーはそれぞれに独自のセキュリティが含まれる2つの異なるレイヤ2データリンクに物理的にアクセスする必要があるため、これによりサイバー攻撃を混乱させることができる。さらに、クライアントがSDNPソフトウェア1335C、SDNPアプリ1335A、またはSDNPファームウェア1335B(図示なし)を実行している場合、マルチPHY接続でのSDNPペイロードのルーティングでは一意の動的セキュリティ認証情報が使用されるため、リアルタイムのハッキングによるSDNPパケットの傍受及び解釈は非常に困難となる。
図57Bには、混合のレイヤ1媒体とレイヤ2プロトコルが使用されるマルチPHY通信の例が示されている。この例では、ラストリンクデータの伝送に携帯電話、WiFi、衛星システムの組み合わせが使用される。最上部の混合媒体マルチPHY通信の例では、100BASE-Tイーサネット(登録商標)有線またはファイバリンク24B及び5GHzで動作する802.11ac WiFiリンク29Bの組み合わせが使用され、WiFiルータ100からデスクトップコンピュータ36へ通信が行われる。ラストマイルにおけるハイパーセキュア通信が保証されるように、SDNPソフトウェア1335Cを実行するデスクトップ36が示されている。この例は、有線とワイヤレス通信の組み合わせである。この場合、ワイヤレスパケットスニッフィングでは有線データを傍受または監視できない。イーサネット(登録商標)とWiFiを混合したこのマルチPHYラストリンクの分散方式は、アクセスが制限されたサーバルームに安全に収納されているプライベートサーバと通信する建物またはキャンパス内のセキュアなデスクトップコンピュータで構成される企業オフィスネットワークの展開に特に適している。
図57Bの中央の混合媒体によるマルチPHY通信の例では、2つの異なる無線技術が使用され、マルチバンドアンテナ18Cを内蔵した携帯電話32から通信が行われる。例として5GHzの802.11nプロトコルが使用され、1つのPHY接続でWiFiリンク29CからWiFiルータ100及びアンテナ26へ通信が行われる。2番目のPHY接続であるセルラーリンク28Cでは、4G/LTEプロトコルで動作する1.8GHzキャリアが使用され、セルラータワー25及び基地局17へのラストリンク接続が容易化される。セルラータワー25とWiFiアンテナ26は無関係なシステムで動作するため、このマルチPHYアプローチでは、ラストリンクの複数の物理媒体により伝送されるデータパケット間の関係が完全に隠される。ラストマイルにおけるハイパーセキュア通信が保証されるように、SDNPアプリ1335Aを実行する携帯電話32が示されている。
図57Bの最下部の例には、セルラーと衛星を組み合わせたマルチPHYラストリンク通信を実現する同様の方法が示されている。2つの長距離無線ネットワーク経由で、SDNPアプリ1335Aを実行する衛星/携帯電話32Zから、1.8 GHzでセルラーリンク28Dを介してセルラータワー25及び基地局17へ、そして例として1.9 GHzで衛星リンク95Wを介して通信衛星92へ通信が行われる。次に、広帯域リンク95Xを介して、衛星92から地上衛星アンテナ及び基地局92Bへ通信が行われる。これは、クライアント通信と同じ周波数であるとは限らない。
図57Cには、別の様々なマルチPHY通信が示されている。この例では、共通プロトコルは共有されるが、周波数分割により複数の同時通信チャネルが可能な複数の物理媒体が挙げられている。こうしたシステムでは、動作の負荷が大きくなるほど、すなわちメディアの帯域幅とスループット能力を使用するユーザが多くなるほど性能が低下するため、高帯域幅の媒体が必要となる。このように帯域幅が非常に広い媒体で、現在利用できるものは3つのみである。すなわち、(i)同軸ケーブルを使用するDOCSIS3ケーブルシステム、(ii)光ファイバを使用するDOCSIS 3ケーブルシステム、及び(iii)マルチGHzの低高度軌道衛星通信システムである。具体的には、上部のマルチPHYケーブルシステムの図では、複数の帯域が使用され、DOCSIS3プロトコルを実行する同軸またはファイバ105を介して、SDNPファームウェア1335Mを実行するセットトップボックスまたはケーブルモデム102BからケーブルCMTS 101へ通信が行われる。
下部の図には、独自の通信プロトコルでフォーマットされた複数のキャリアバンド95Zが使用され、SDNPアプリ1335Aを実行する衛星対応携帯電話32Zから通信衛星92へ通信が行われるマルチPHY衛星ネットワークが示されている。衛星92と地上衛星アンテナ及び基地局92B間の通信では、数千の通話が混合されるトランクラインプロトコル95Xが使用されることで、ハッカーが特定の通話を識別及び傍受することが困難となり、クライアントリンク95Zにおける複数帯域でのマルチPHY通信の使用によりクライアントのハイパーセキュア通信が保証される。
図58には、マルチPHYラストリンクルーティングで使用されるデータパケットの別の例が示されている。この図では、例としてそれぞれプロトコル100BASE-T及び1000BASE-Tを実行するイーサネット(登録商標)有線またはファイバリンク24Aと24Bを含む2つの個別のPHY接続を介して、SDNPクライアント1400からルータ1402Aへ通信が行われる。次に、ゲートウェイリンク1414を介して、ルータ1402AがSDNPゲートウェイ1401に接続される。両方のイーサネット(登録商標)パケットにより、送信元IPアドレス445、すなわちクライアントデバイスがIP C1,1として、SDNPゲートウェイの宛先IPアドレス446がIP M0,0として定義される。有線またはファイバリンク24Aにより実現するPHY経由でルーティングされるイーサネット(登録商標)パケットAには、MAC Rを含む宛先MACアドレス182及びMAC C1,1を含む送信元MACアドレス183が含まれる。有線またはファイバリンク24Bにより実現するPHY経由でルーティングされるイーサネット(登録商標)パケットBには、MAC Rを含む宛先MACアドレス182及びMAC C1,2を含む異なる送信元MACアドレス183が含まれる(これにより、代替PHY接続が定義される)。
送信元メディアアドレスがMAC C1,1からMAC C1,2に変化することで、イーサネット(登録商標)通信が2.6GHzの100BASE-T接続から1000BASE-T接続にリダイレクトされる。動作中、SDNPクライアントデバイス1400からのデータパケットは断片化され、次にSDNPアルゴリズム及び共有秘密に従ってSDNPペイロードAとSDNPペイロードBに配分される。有線またはファイバリンク24A経由のイーサネット(登録商標)パケットAで伝送されるSDNPペイロードA、及び有線またはファイバリンク24B経由のイーサネット(登録商標)パケットBで伝送されるSDNPペイロードBにより、断片化されたデータがマルチPHYラストリンクを介して転送される。
図59には、マルチPHYラストリンクルーティングで使用されるデータパケットの別の例が示されている。この図では、例としてそれぞれ2.4GHzの802.11nプロトコル及び5GHzの802.11acプロトコルが使用され、WiFiリンク29A及び29Bを含む2つの別個のPHY接続を介して、SDNPクライアント1400からWiFiルータ1402Wへ通信が行われる。次に、BSリンク1415を介して、ルータ1402Wがルータ1402Xに接続され、ゲートウェイリンク1414を介して、ルータ1402XがSDNPゲートウェイ1401に接続される。両方のWiFiパケットにより、送信元IPアドレス445、すなわちクライアントデバイスがIP C1,1として、SDNPゲートウェイの宛先IPアドレス446がIP M0,0として定義される。WiFiリンク29Aにより実現するPHY経由でルーティングされるWiFiパケットAには、MAC C1,1を含む無線送信機送信元MACアドレス236、MAC Wを含む無線受信機宛先MACアドレス235、及びMAC Rを含むネットワーク宛先MAC 237が含まれる。WiFiリンク29Bにより実現するPHY経由でルーティングされるWiFiパケットBには、MAC C1,2を含む無線送信機送信元MACアドレス236、MAC Wを含む無線受信機宛先MACアドレス235、及びMAC Rを含むネットワーク宛先MAC 237が含まれる。
送信元メディアアドレスがMAC C1,1からMAC C1,2に変化することで、送信が2.6GHzのWiFi無線から5GHzトランシーバにリダイレクトされる。動作中、SDNPクライアントデバイス1400からのデータパケットは断片化され、次にSDNPアルゴリズム及び共有秘密に従ってSDNPペイロードAとSDNPペイロードBに配分される。WiFiリンク29A経由のWiFiパケットAで伝送されるSDNPペイロードA、及びWiFiリンク29B経由のWiFiパケットBで伝送されるSDNPペイロードBにより、断片化されたデータがマルチPHYラストリンクを介して転送される。
図60には、マルチPHYラストリンクルーティングで使用されるデータパケットのさらに別の例が示されている。この図では、例としてそれぞれ1.8GHzの4G/LTEプロトコル及び900MHzの4G/LTEプロトコルが使用され、セルラーリンク28A及び28Bを含む2つの個別のPHY接続を介して、SDNPクライアント1400からセルラータワー1402Qへ通信が行われる。次に、BSリンク1415を介して、ルータ1402Qがルータ1402Xに接続され、ゲートウェイリンク1414を介して、ルータ1402XがSDNPゲートウェイ1401に接続される。両方のセルラー無線パケットにより、送信元IPアドレス445、すなわちクライアントデバイスがIP C1,1として、SDNPゲートウェイの宛先IPアドレス446がIP M0,0として定義される。セルラーリンク28Aにより実現するPHY経由でルーティングされるセルラーパケットAには、MAC C1,1を含む無線送信機送信元MACアドレス300A及びMAC BSを含むセルラータワー宛先MACアドレス300Bが含まれる。セルラーリンク28Bにより実現されるPHY経由でルーティングされるセルラーパケットBには、MAC C1,2を含む無線送信機送信元MACアドレス300A及びMAC BSを含むセルラータワー宛先MACアドレス300Bが含まれる。
送信元メディアアドレスがMAC C1,1からMAC C1,2に変化することで、送信が1.8GHzの4G/LTEセルラー無線から900MHzにリダイレクトされる。動作中、SDNPクライアントデバイス1400からのデータパケットは断片化され、次にSDNPアルゴリズム及び共有秘密に従ってSDNPペイロードAとSDNPペイロードBに配分される。WiFiリンク28A経由のセルラーパケットAで伝送されるSDNPペイロードA、及びWiFiリンク28B経由のセルラーパケットBで伝送されるSDNPペイロードBにより、断片化されたデータがマルチPHYラストリンクを介して転送される。
前述のように、マルチPHY通信には異種の媒体を含めることもできる。その場合、各接続のデータパケットを、対応する物理媒体のレイヤ2プロトコルに従ってフォーマットする必要がある。例えば、図61には、イーサネット(登録商標)とWiFiを含むハイブリッドラストリンク通信が示されている。この図では、例としてそれぞれ5GHzの100BASE-T及び802.11acが使用され、イーサネット(登録商標)有線またはファイバリンク24AとWiFiリンク29Bを含む2つの個別のPHY接続を介して、SDNPクライアント1400からWiFiルータ1402Wへ通信が行われる。次に、BSリンク1415を介して、ルータ1402Wがルータ1402Xに接続され、ゲートウェイリンク1414を介して、ルータ1402XがSDNPゲートウェイ1401に接続される。両方のWiFiパケットにより、送信元IPアドレス445、すなわちクライアントデバイスがIP C1,1として、SDNPゲートウェイの宛先IPアドレス446がIP M0,0として定義される。有線またはファイバリンク24Aにより実現するPHY経由でルーティングされるイーサネット(登録商標)Aには、MAC C1,1を含む送信元MACアドレス183及びMAC Wを含む宛先MACアドレス182が含まれる。WiFiリンク29Bにより実現するPHY経由でルーティングされるWiFiパケットBには、MAC C1,2を含む無線送信機送信元MACアドレス236、MAC Wを含む無線受信機宛先MACアドレス235、及びMAC Rを含むネットワーク宛先MAC 237が含まれる。
送信元メディアアドレスがMAC C1,1からMAC C1,2に変化することで、送信がイーサネット(登録商標)からWiFiにリダイレクトされる。動作中、SDNPクライアントデバイス1400からのデータパケットは断片化され、次にSDNPアルゴリズム及び共有秘密に従ってSDNPペイロードAとSDNPペイロードBに配分される。有線またはファイバリンク24A経由のイーサネット(登録商標)パケットAで伝送されるSDNPペイロードA、及びWiFiリンク29B経由のWiFiパケットBで伝送されるSDNPペイロードBにより、断片化されたデータがマルチPHYラストリンクを介して転送される。
図62は、WiFi通信とセルラー通信で構成されるハイブリッド型ラストリンク通信の仕組みを示している。ここで、SDNPクライアント1400は2つの異なる物理接続を通じて2つの異なる無線基地局に接続している。具体的には、Wifiリンク29Aは2.4GHz、802.11nのWiFiルータ1402Wに、セルラーリンク28Bはキャリア周波数帯900MHz、4G/LTEでステーション1402Qに接続している。ルータ1402Wと1402Qは、それぞれBSリンク1415A及び1415Bを介してルータ1402Xに接続し、ルータ1402Xはゲートウェイリンク1414を介してSDNPゲートウェイ1401に接続している。WiFiと4Gセルラーのパケットはいずれも、接続元IPアドレス445、つまりクライアントデバイスをIP C1,1 と定義し、SDNPゲートウェイの接続先IPアドレス446をIP M0,0と定義している。WiFiリンク29Aを構成する接続を介して物理層でルーティングされるWiFiパケットAは、MAC C1,1を構成するトランスミッタMAC無線接続元アドレス236、MAC Wを構成するMAC無線受信機接続先アドレス235、及びMAC Rを構成するMACネットワーク接続先237が含まれる。WiFiリンク29Bによって実現される物理層接続としてルーティングされるセルラーBには、MAC C1,2を構成するMAC接続元アドレス300B、及びMAC BSを構成するMAC接続先300Bが含まれる。
MAC C1,1からMAC C1,2に接続先メディアアドレスを変更すると、送信はWiFi LANからセルラーネットワークにリダイレクトされる。動作中、SDNPクライアントデバイス1400からのデータパケットは断片化されてから、SDNPアルゴリズム及び共有秘密に従ってSDNPペイロードA及びSDNPペイロードBに割り当てられる。マルチPHYラストリンクを介した断片化されたデータの転送は、WiFiリンク29Aを介してWiFiパケットAにより搬送されるSDNPペイロードAと、セルラーリンク28BでセルラーパケットBにより搬送されるSDNPペイロードBによって実行される。
マルチPHY通信には物理メディアを用いる形式もあり、この場合は様々な周波数で多数のチャネルをサポートし、各々のデータパケットに異なるプロトコルを使用することができる。このような実装は、SDNPソフトウェアを実行するDOCSIS3ベースのケーブル配信システムを使用することで簡素化できる。SDNP対応のDOCSIS3ケーブル配信システムのOSID通信スタックを図63に示す。この図には、レイヤ1のPHY接続及びレイヤ2のデータリンクに加え、ケーブルモデム終端装置CMTS 101、及びケーブルモデムCM 103やセットトップボックスSTB 102といったケーブル接続装置をカバーするレイヤ3のネットワークが示されている。具体的には、ケーブルモデム終端システム装置CMTS 101及びその関連スタック378には、クラウドサーバ22及びインターネット20、あるいはビデオヘッドエンド、IPTVシステム、またはVoIPシステム(図示せず)に接続されるレイヤ1 PHYネットワークインターフェイス361が含まれている。ネットワークインターフェイス361とデータリンク層366の組み合わせは、CMTS 101のデバイスインターフェイス通信スタック378に含まれている。データリンクレイヤ2では、データはネットワークインターフェイス通信スタックからケーブルネットワークインターフェイス通信スタックへと、転送機能370を介して、具体的にはリンクレベル制御LLC 369に引き渡される。リンクレベル制御802.2 LLC 369は、IEEE仕様802.2に従って定義された非ハードウェア依存プロトコルで構成されている。このパケットデータは次に、リンクセキュリティ368によって変更されて基本的なパケットセキュリティが施される。これは主にペイパービューユニキャストブロードキャストなどのコンテンツの不正視聴の防止を目的として行われる。
その後、レイヤ1 PHYケーブルインターフェイス362は、同軸ケーブル104または光ファイバ91のいずれかで構成される配信ネットワーク102を介して、ケーブルモデムCM103またはセットトップボックスSTB102内の対応するレイヤ1 PHYケーブルインターフェイス363にデータフレームを送信する。ケーブルインターフェイス363は、ケーブルモデムCM103またはセットトップボックスSTB102のOSIO通信スタック379として示されるケーブルネットワークインターフェイスのPHY層を表す。データパケットを受信すると、ケーブルMACインターフェイス371はケーブルのMACアドレスを解釈し、そのペイロードを復号のためにリンクセキュリティ372に渡し、最終的にハードウェア非依存のリンク層制御802.2 LLC 373に渡して解釈可能にする。CMまたはSTBケーブルネットワーク通信スタックへの入力データは次に、トランスペアレントブリッジング374を介してCMまたはSTBデバイスインターフェイス通信スタック(具体的にはIEEE 802.2の仕様に従ってデバイス独立リンク層制御802.2 LLC 375)へと渡される。このパケットは次にHSD&IPTV MACブロック376またはWiFi 802.11 MACブロック377に渡され、パケットのMACアドレスが更新される。WiFi通信の場合、データパケットは次にWiFiアンテナ26で送信するため、802.11 MACブロック377からWiFi PHYレイヤ1無線インターフェイス365に渡される。有線接続の場合、データパケットは、TV 39またはデスクトップ36に接続するため、HSD及びIPTV MACブロック376からイーサネット(登録商標)またはHDMI(登録商標)インターフェイスブロック364に渡される。
PHY層とデータリンク層は、すでに説明したように、CMTSから任意の数のケーブルモデム(CM)への接続を確立する。CMTS通信スタック378内及びCM通信スタック379内では、データパケットは、ケーブルネットワークまたはインターネットのDNSネームサーバによって認識されるIPアドレスを使用して、IPデータグラムIPv4、IPv6またはICMPv6として、OSIレイヤ3のレイヤ360Aと360B内でそれぞれ準備される。ラストマイル通信では、SDNPの接続元または接続先のIPアドレスを持つIPv4またはIPv6データパケットを使用するSDNPデータグラムは通常、使用できない。これは、SDNPソフトウェアまたはファームウェアによって有効にされていない接続デバイスは、SDNPデータグラムのルーティングアドレスを解釈することができないからである。
ケーブルモデムネットワーク内のトランスポートレイヤ4の動作は、デバイスによって異なる。CMTS 101の場合、OSI通信スタック378のレイヤ4トランスポートレイヤ1420は、その動作にリアルタイム通信を必要とするため(例えば ビデオデータのストリーミング)、UDPを排他的に使用する。このことから、ケーブル通信102は、インターネットよりもSDNPリアルタイムネットワーク的と言える。ケーブルモデムは、クライアント(つまり、エンド通信デバイス)としてインターネットともケーブルネットワークとも相互運用性があるため、CM 103またはSTB 102のOSI通信スタック379のレイヤ4トランスポート層1420Bは、リアルタイム運用にはUDPを使用し、インターネットデータにはTCPを使用している。このような使用法は、VoIP over Internetを使用するOTTキャリアにとっては好ましくない。ケーブルネットワークでは、IPデータグラムをデータとして解釈し、TCPとトランスポートプロトコルを自動的に使用するため、リアルタイム通信のQoS、レイテンシー、及び伝播遅延に問題を発生させるからである。 この問題は、SDNP対応のケーブルモデムでは発生しない。CMまたはSTBがSDNPファームウェアやソフトウェアを実行しているとき、SDNPソフトウェアは、TCPの使用をいつ保証し(ソフトウェアやファイルに対して)、いつ保証しないのか(つまり、リアルタイムデータに対して)を状況に応じて決定している。
アプリケーション層、つまりOSI層5~7は、CMTS 101ではトランスポート層のオペレーション1420Aの上、CM 103またはSTB 102ではトランスポート層1430Bの上に位置している。CMTS 101では、これらのアプリケーションは通常、IPネットワーク上の情報接続デバイスを収集及び整理するためのインターネット標準プロトコルであるSNMP 1431Aなどの通信タスクを処理する。その他の機能として、DHCPv4 1432A及びDHCPv6 1433Aがある。DHCP(動的ホスト構成プロトコルの頭字語)は、動的に生成された(非静的)IPアドレス、デフォルトゲートウェイ、及びサブネットマスクなどの必要なルーティング情報をIPホストに自動的に提供するクライアントとサーバの両方のプロトコルである。インターネットの生成に特有のものであるが(つまり、IPv4またはIPv6)、NATゲートウェイやSNMPなどの動的IPアドレス生成機能は汎用的であり、CMTS 101とCM 103の両方、またはSTB 102のDOCSIS3ケーブルシステムに等しく適用される。
本明細書で開示されるセキュア動的通信ネットワーク及びプロトコルのアプリケーション層の実装は、CMTS 101オペレーティングシステム上で動作するSDNPファームウェア1430Aとして実現される場合、以下を含む任意の数のユニークなタスクを実行できる。
・SDNPペイロード1430を解釈せずにパススルーとして動作。この場合、CM 103を有効にしてSDNPペイロードをオープンし読み取る必要がある。つまり、CM 103はSDNPクライアントでなければならない。
・ラストマイルリモートSDNPゲートウェイとして動作。つまり、SDNPペイロードのコンテンツを解釈し、CM 103に転送するためにコンテンツをDOCSIS3固有のメッセージ(リンクセキュリティを含む)に変換する。このような場合、CM 103はSDNPクライアントソフトウェアまたはファームウェアを実行する必要はない。
・ラストマイルSDNPブリッジとして動作。IPデータグラムをSDNPデータグラムに変換し、SDNPデータグラムをCM 103に送出する。この場合、CM 103はSDNPクライアントソフトウェアまたはファームウェアを実行してSDNPブリッジに接続する必要がある。つまり、アドホックSDNP「フローティング」ネットワークを形成する必要がある。
図に示されるように、CM103及びSTB102のOSI通信スタック379には、前出の通信関連アプリケーションSNMP1431B、DHCPv4 1432B、及びDHCPv6 1433Bをはじめとする、OSIレイヤ5~7として分類される多くのアプリケーションが含まれている。もうひとつの機能であるユーティリティTFTP 1434B(簡易ファイル転送プロトコル)は、主にDOCSIS3でソフトウェア及びソフトウェアの更新版をCMTSからケーブルネットワーク全体にわたるケーブルモデム及びセットトップボックスにダウンロードする手段として使用される。ケーブルネットワークでは、HTTP 1435B、すなわちハイパーテキスト転送プロトコルが、主にスマートテレビで有用な動的メニューの表示に使用される。その他のアプリケーション(「Otr」1436Bと略記されている)としては、ゲームアプリ、診断、IPTVアプリ、ビデオ録画機能などが存在する。CM 103またはSTB 102で実行されているSDNPファームウェア1430Bが拡張され、CMTS 101がSDNPソフトウェアを実行しているかどうかに関係なく、ハイパーセキュアラストマイル通信とすべてのユーザ及びラストリンクとの接続が確立される。
図64は、SDNPペイロード1430を配信するように適合化されたDOCSIS3データパケットの構造を示している。図に示されるように、PHYレイヤ1は、可変長及び可変持続時間の物理メディアデバイスフレーム390を含み、プリアンブル391、可変長ペイロードまたはコードワード392、及びガードタイム393を含むデータリンクレイヤ2 MACデータを含んでいる。プリアンブル391は、通信の方向に応じて、アップストリームプリアンブルまたはダウンストリームプリアンブルのいずれかを含む。アップストリームプリアンブルの場合、プリアンブル391は、物理メディアデバイスPMDヘッダ398、MACヘッダ399A、及びデータPDU400Aを含む。ダウンストリームプリアンブルの場合、プリアンブル391は、MPEGヘッダ401、MACヘッダ399B、及びデータPDU400Bを含む。アップストリームプリアンブルのデータPDU 400AとダウンストリームプリアンブルのデータPDU 400Bは、MAC宛先アドレス(DA)403BとMAC送信元アドレス(SA)403Aを含む。可変長ペイロード392のコンテンツは、ショートコードワード394またはロングコードワード397を含むことができる。
ショートコードワード394は、データAを有するペイロード395A及びFEC Aを有するエラー訂正396Aを含む。ロングコードワード397の場合、ペイロードは、データA、データB、及びデータCを搬送する複数のペイロードブロック395A、395B、及び395Cに分割される。各ペイロードは、対応するデータFEC A、FEC B、及びFEC Cを有する独自のエラーチェックブロック396A、396B、及び396Cを含む。エラーチェック後、DOCSIS3から配信されたデータは、ロングコードワードの場合にはデータブロック395A、395B、及び395Cを含み、ショートコードワードの場合はデータブロック395Aのみを含む。データA、データB、及びデータCの組み合わせは、ひとつの連続するIPデータグラム、この例ではひとつのIPv6データグラムにまとめられる。これには、IP送信元アドレス445、IP宛先アドレス446、及びSDNPペイロード1430を含むデータフィールド435、及びレイヤ4データを含むトランスポートヘッダ436が含まれる。このように、DOCSIS3は、パケット交換データプロトコルを使用して、ケーブルネットワーク上でデータを柔軟に配信する。
図65Aに示されるように、データパケットはハイブリッドケーブルファイバネットワーク上の複数のチャネル、つまり、異なる周波数で伝送される。DOCSIS3.0では、データチャネルの周波数範囲は5MHz~1,002MHzであり、これにはアナログTV信号1440(トライアングル)、QAMデータ1441、及び「ダイプレクサー」制御チャネル1443が含まれる。DOCSIS 3.1のフェーズ1では、周波数範囲が1,218MHzに拡張されるとともに、DOCSIS3.1データチャネル1442が追加されて、主にQAMに割り当てられている現行チャネルより上の周波数帯域におけるOFDM変調を容易化している。
OFDMは、チャネルの間隔をより狭くできる点で、QAM変調方式よりも好まれている。変調方式を比較すると、QAM周波数分布1445Aは、OFDM周波数分布1445Bよりもスペクトル成分の裾が広くなっている。具体的には、f0からf-50までのスペクトル側波帯幅、すなわちキャリアエッジから信号が-50dB低下する周波数までの帯域幅は、QAM周波数分布1445Aで4.3正規化周波数単位だが、OFDM周波数分布1445Bではわずか0.4正規化周波数単位である。スペクトルの幅が狭いため、より多くの通信チャネルを同じスペクトルに収めることができ、ネットワーク全体の帯域幅と最大総データレートが増加する。DOCSIS 3.1のフェーズ2の展開では、周波数範囲が1,794MHzに拡張されている。QAMデータ1441に元々割り当てられていた帯域の多くは、OFDMデータ1442に明示的に割り当てられた新しいチャネルに置き換えられる。
DOCSIS対応のケーブルネットワークでは、1つのCMTSユニットで多くのCMをサポートし利用可能なチャネルを管理できる。CMTSは必要に応じてダウンストリーム通信とチャネル選択を動的に割り当てることができるが、アップストリーム通信では、複数のCMが同時にデータを送信しようとする状況に容易に対応できるようにするため、コンテンション管理が必要となる。そのため、各モデムは、データを送信する前にCMTSからアップリンクチャネルを要求しなければならない。このプロセスを図65Bに示す。このプロセスは、SDNPアプリ1335Lを実行するCMTS101とSDNPファームウェア1335Mを実行するCM103との間で行われる一連の通信操作で構成されている。マルチPHY通信でのIPデータグラムのルーティングでは、IPアドレス「IP CMTS」と「IP CM1」、及び複数のMACアドレスを使用する。例えば、CM 103には「MAC CM1」、CMTS 101には「MAC CMTS1」、「MAC CMTS2」、「MAC CMTS3」、及び「MAC CMTS4」を使用する。周波数対時間のグラフを示す最上部の図で、CM 103は、専用チャネル上でRQST 1445Aの送信要求を出す。
応答が得られないと、2番目のRQST 1445Bが送信され、MAPデータパケット1446の形式で、別のチャネル上のCMTS 101から応答を得る。MAPデータパケット1446のコンテンツは、CM103に送信するタイミングと、アップストリーム通信に使用できるチャネルを指示するものである。MAPデータパケット1446を受信した後、CM103は、アップリンクデータパケット1447A及び1447Bの2つのチャネル上を並行して流れるそれ自身のアップストリームデータを送信する。中央の図に示されている2つのチャネルで同時に送信されるデータの分割のことを、チャネルボンディングと呼んでいる。チャネルボンディングは、CMTSとCM間の通信帯域幅とデータレートを増加させる手段である。また、使用可能な帯域幅が未使用にならないようにするための動的な手段でもある。下の図で、CMTS 101は4つのチャネル(1448A、1448B、1448C、1448D)をチャネルボンディングし、並行して、かつ異なる期間のデータを送信することによって応答する。
ハイブリッドファイバケーブルネットワークを介したアップストリームとダウンストリームの両通信では、帯域幅は複数のチャネル間で動的に割り当てられ、「ミニスロット」と呼ばれる小さな時間セグメントに分割される。図65Cは、CM103からCMTS101へのアップストリーム通信を示している。このようなアップストリーム通信には、一般的にひとつのメッセージまたは送信要求が含まれている。図の例では、合計5つのタイムミニスロットで構成される周波数f1及びf2でデータが送信される。図の通り、ミニスロット1、2、及び3はK、(K+1)、及び(K+2)の時間間隔で周波数f1で送信され、ミニスロット4及び5はK及び(K+1)の時間間隔で周波数f2で送信され、(K+2)では送信されない。要約形式で示されているアップストリームデータパケット1450Aは、IP送信元アドレス「IP CM1」及びラストマイル通信のIP宛先アドレス、すなわちサーバ1201AによってホストされるSDNPネットワークのゲートウェイノードである「IP M0,0」を指定している。
ラストリンク通信の場合、アップストリームデータパケット1450Aは、ケーブルモデムの送信元MACアドレスとして「MAC CM1」を指定し、またPHY媒体、この場合はMAC宛先「MAC CMTS1」として周波数f1のチャネルを指定する。SDNPペイロードAを含むデータパケット1450Aは、まとめて1つのデータパケットとペイロードを伝送しているにもかかわらず、合計3つのミニスロット、すなわちミニスロット1、2、及び3を占有する。ただし、これら3つのミニスロット全体で1つのデータパケット及びペイロードを伝送する。これと対照的に、ミニスロット4とミニスロット5にはそれぞれ1つのデータパケットのみが含まれる。つまり、1450B及び1450Cにそれぞれ対応するデータSDNPペイロードBとSDNPペイロードCが含まれている。データパケット1450Aと同様、パケット1450Bと1450Cはいずれも、SDNPクラウドの宛先IPアドレス、具体的にはSDNPゲートウェイノードM0,0を指定している。
ただし、MAC宛先アドレスに関しては、最初のパケットと同じMACアドレスと物理メディアを指定するのではなく、パケット1450Bと1450Cの両方がMAC宛先アドレス「MAC CMTS2」を指定する。このアドレスを使用して、データパケット1450B及び1450Cをデータパケット1450Aとは異なる周波数(この場合は周波数f1ではなく周波数f2)で伝送するように指定できる。これらの周波数の実際の値は、CMTS 101によって動的にマッピングされ、具体的には指定されない。したがって、DOCSIS3対応システムはマルチPHYソリューションであり、単一のCMTSユニットで複数の周波数で、256 QAMやOFDMなどの複数のプロトコルを使用してケーブルモデムまたはセットトップボックスと同時通信が可能である。
DOCSIS3システムの一般的なケースと同様にCM及びCMTSがどのデータパケットが共通のキャリアチャネルまたは周波数を使用するかを決定できるようにするのではなく、ラストマイル通信の開示されたセキュアな動的通信ネットワーク及びプロトコルに従い、SDNPクライアントCM 103は異なるMAC宛先アドレスを指定して、複数の周波数とチャネルでの通信(つまりマルチPHYの運用)を強制する。CM 103のデータパケット1450A及び1450B/Cは、別々の宛先MACアドレス、すなわちそれぞれMAC CMTS1及びMAC CMTS2を指定しているため、これらのデータパケットはラストリンクを介してマルチPHY動作を自動的に起動する。代替手段として、CMTSが一意のチャネル割り当てを要求する別の容易な方法をとる場合(例えば、コマンドや制御要求を用いるなど)、MACアドレスを使用してマルチPHY通信を呼び出す方法の代わりに、この代替手段を用いることができる。
図65Dは、CMYS101からCM103へのダウンストリームデータフロー図、マルチPHYダウンストリーム通信において高データレートを達成するためのボンディングの使い方を示している。図に示されるように、すべてのデータパケットは、「IP CMTS」の送信元IPアドレス、「IP CM1」の宛先IPアドレス、及び「MAC CM1」のMAC宛先アドレスを指定している。マルチPHY通信は、CMTS 101のMAC送信元アドレスの指定によって制御される。図のように、SDNPペイロードGを含むデータパケット1450Gは、ミニスロット15及び16でデータを伝送する周波数f6での通信に対応するMAC送信元アドレス「MAC CMTS6」を指定している。データパケット1450HはSDNPペイロードHを含み、ミニスロット17及び20でデータを伝送する周波数f7の通信に対応するMAC送信元アドレス「MAC CMTS7」を指定している。SDNPペイロードIを含むデータパケット1450Iは、ミニスロット21、22、及び23でデータを伝送する周波数f8での通信に対応するMAC送信元アドレス「MAC CMTS8」を指定している。最後に、SDNPペイロードJを含むデータパケット1450Jは、ミニスロット番号24及び25でデータを伝送する周波数f9での通信に対応するMAC送信元アドレス「MAC CMTS9」を指定している。このようにして、関連するデータパケットと関連性のないデータパケットを、マルチPHYメソッドを使用して、チャネルの競合や同時アップストリームデータとのデータ衝突なしに、CMTS 101からCM 103に並行して送信することができる。
ハイパーセキュアコールルーティング
本明細書で開示したセキュア動的通信ネットワーク及びプロトコルに従ってなされるハイパーセキュアコールルーティングは、コマンド及び制御のための3つの方法のいずれかを使用して実行できる。
・トライチャネル通信。通話または通信のルーティングは3セットのサーバ、すなわち音声、ビデオ、またはデータファイルの伝送用のSDNPメディアサーバ、通話のルーティングを選択するためのSDNPシグナリングサーバ、及び電話番号と対応するSDNPアドレスとの動的マッピングを格納するためのSDNPネームサーバによって制御される。
・デュアルチャネル通信。通話または通信のルーティングは2組のサーバ、すなわち音声、ビデオ、またはデータファイルの伝送用のSDNPメディアサーバ、及び通話のルーティングをするとともに、電話番号と対応するSDNPアドレスとのマッピングを行うSDNPネームサーバによって制御される。
・シングルチャネル通信。データトランスポート、ルート計画、及びSDNPアドレスマップがすべて単一のサーバセットによって実行される。
一般に、トライチャネル通信では、ひとつのサーバセットに通話に関するすべての情報が含まれてはいないため、サイバー攻撃に対する耐性が向上する。ただし、どの場合でも、SDNPネットワークは分散処理を利用して、特定のサーバに格納する情報を制限している。さらに、シングル、デュアル、またはトライチャンネル通信によるデータ転送中、SDNPメディアサーバは4つ目のタイプのサーバであるDMZサーバに接続する。DMZサーバは、スクランブル、分割、ミキシング、ジャンクデータの挿入・削除、暗号化など、SDNPデータペイロードの処理に必要なSDNP共有秘密の格納に使用される。動作中、メディアサーバが受信した着信データパケットはDMZサーバに送られ、そこでデータパケットが変更されてからメディアサーバに戻される。メディアサーバは、データパケットの変更方法や、データの処理に使用されたロジックやアルゴリズムについては認識しない。DMZサーバに保存されている実行可能コードとテーブルは、コードを分析できないよう暗号化されている。また、DMZサーバはネットワークまたはインターネットに接続せずにオフラインで動作する。
次図は、トライチャネルSDNP通信の実装の一例と、ネットワークを介した通話の開始またはファイルの送信に使用されるシーケンスを示している。デュアルチャネル通信の動作は、トライチャネル通信からの若干の変更版と見ることができ、SDNPネームサーバの機能がシグナリングサーバに組み込まれている。シングルチャネル通信は、3つの操作すべてをSDNP通信ノードとして動作する多機能サーバのネットワークに統合することで構成される。
SDNPクラウド内の断片化されたデータ転送は通常、動的メッシュルーティングを使用して実行されるが、ラストマイル通信で利用できるルーティングオプションは少ない。具体的には、連続データパケットは(i)単一のSDNPゲートウェイにルーティングされるか(つまり、単一ルートのラストマイル通信)または、(ii)複数のSDNPゲートウェイにルーティングされるか(マルチルートのラストマイル通信)、のいずれかである。その他のラストマイルルーティングの選択肢には、動的送信元アドレッシングとマルチPHYラストリンク接続がある。これらの配信オプションは、シグナリングサーバで生成されるIPデータパケット内で指定される。これらのSDNPデータパケットは、送信元及び宛先のIPアドレスとMACアドレスを指定している事実があるにもかかわらず、ある特定のデータパケットがラストマイル通信で通過する正確なパスを知ることはできない。その代わり、中間のパスは、SDNPシグナリングサーバではなく、ローカルネットワークオペレータ、モバイルネットワークオペレータ、及びラストマイルのサービスを提供するネットワークサービスプロバイダが所有するデバイス、ルータの動作によって判別される。したがって、ラストマイル通信は、両端は固定されているが、それらの間には無数の独特な形状のパスが存在する縄跳びの縄に似ている。
より詳しく解説すれば、単一ルート、複数ルート、及びメッシュルート通信という用語は、メディアパケットのパスを意味する。つまり、パスの「コンテンツ」が発信者間を往来する経路を意味している。一方、トライチャネル、デュアルチャネル、及びシングルチャネル通信とは、SDNPノードのネットワーク上での伝送を管理するために使用されるコマンド及び制御システムを指している。前記を前提として、以下の一連の図は、本開示のセキュア動的通信ネットワーク及びプロトコルに従って、電話をかける、または通信を開始する際に使用される一連のステップ、すなわち「プロセス」を示している。
図66は、SDNPクライアント1600、IPルータ1602A、1602B、及び1602C、シグナリングサーバ1603A、SDNPネームサーバ1604A、及びSDNPゲートウェイ1601からなるトライチャネル通信のための単一ルートのラストマイルネットワークの抽象的表現である。これらのコンピュータサーバは、図に示されるように、SDNPクライアントC1,1、ルータR、SDNPシグナリングサーバノードS、SDNPネームサーバノードNS、及びSDNPゲートウェイノードM0,0で構成されるネットワークノード名とIPアドレスによるネットワーク通信を容易にするために使用されるSDNP通信ノードをホストする。ネットワーク接続1610はクライアントC1,1とそれに最も近いルータ1602Aとの間のラストリンクを円滑化し、ネットワーク接続1611はSDNPゲートウェイM0,0とそれに最も近いルータ1602Bとの間のゲートウェイリンクを円滑化し、ネットワーク接続1612はSDNPシグナリングサーバ1603Aとそれに最も近いルータ1602Cとの間のゲートウェイリンクを円滑化し、そしてネットワーク接続1616は、トポロジ的に隣接するルータ1602A及び1602Cに相互接続する。ルータのIPアドレスは、IPデータグラムでは送信元アドレスまたは宛先アドレスとして使用されないため、レイヤ3のすべてのルータにはルータであることを示す表記として「R」が使用される。レイヤ1及びレイヤ2の説明では、各ルータに一意のIDが付与されているが、このことはIPネットワークのレイヤ3のコールルーティングの説明と密接な関係があるわけではない。SDNPシグナリングサーバ1603A(ノードS)は、ネットワーク接続1613を介してSDNPネームサーバ1604A(ノードNS)に接続し、また複数のネットワーク接続1614を介してSDNPクラウドノードM0、nに接続する。シグナリングサーバ1603Aは、ネットワーク接続1615を介して他のシグナリングサーバ(図示せず)にも接続する。
SDNPネットワークを使用してコールを行う(つまり、「セッション」を確立する)とは、SDNPクライアントによる発呼から始まる以下の一連の手順を実行することである。
1.SDNPコール(またはコールアウト)要求
2.SDNPアドレス要求
3.SDNPアドレス配信
4.SDNPルーティング指示
5.SDNPコール(またはコールアウト)の開始
最初のステップ「コール要求」は図67に示す通りである。ここで、発信者、すなわちアドレス「IP C1,1」のクライアント1600が、IPデータグラム1620を用いてパス1610、1616、及び1612を介してアドレス「IP S」のシグナリングサーバ1603Aにアクセスする。データグラムのコマンド及び制御ペイロード621には、TCPを使用してデータの正確性を保証するレイヤ4データトランスポートが含まれ、配信、緊急度、セキュリティクレデンシャル情報、及びコールする相手すなわち「受信者」の連絡先情報など、いくつものコールパラメータが指定されている。別のSDNPクライアントを呼び出す場合(つまり「SDNPコール」の場合)、この連絡先情報には、コール対象のクライアントの機密ID(CID)、クライアントのSDNP電話帳に存在するデータが含まれる。「コールアウト」(SDNPクライアントではない相手へのコール)の場合は、連絡先情報には電話番号が含まれる。SDNPクライアントのCIDは本質的に匿名であり、SDNPネームサーバのみが認識しているが、電話番号は偽装されない。被コール側のプライバシーを保護するため、C&Cペイロード内の電話番号は暗号化される。代替手段として、C&Cペイロード1621全体を暗号化することもできる。C&Cペイロード1621は暗号文の形式でも構わないが、IPデータグラム1620のIPアドレスは暗号化できない。暗号化されると、ルータ1602A及び1602Cはデータグラムをルーティングできないからである。
2番目のステップである「SDNPアドレス要求」を図68に示す。ここで、アドレス「IP S」のSDNPシグナリングサーバは、IPデータグラム1622のパス1613を介してアドレス「IP NS」のSDNPネームサーバに接続する。データグラムのコマンド及び制御ペイロードは、レイヤ4データトランスポートをTCPとして定義し、コール先(受信者)のCIDまたは暗号化された電話番号を含む。SDNPコールの場合、ネームサーバ1604Aは、CIDをコール先のクライアントのSDNPアドレスに変換する。コールアウトの場合、ネームサーバ1604Aは受信者の電話番号を復号してから、受信者の位置に最も近いSDNPゲートウェイのSDNPアドレスに変換する。図69に示す通り、ネームサーバ1604Aはこの後、IPデータグラム1623内のクライアントまたはゲートウェイのSDNPアドレスを送信元アドレス「IP NS」からアドレス「IP S」のシグナリングサーバ1603Aに渡す。
シグナリングサーバ1603Aは、発信者と受信者のSDNPアドレスを利用して、受信者がSDNPクライアントの場合はハイパーセキュア接続として、受信者がSDNPクライアントでない場合は最も近いSDNPゲートウェイへ、コールをルーティングする。図70に、ルーティング指示を準備し、発信者の接続を成立させるために必要とされるすべてのメディアノードにこれらの指示を配信するプロセスを示す。図に示す通り、C&Cペイロード1621Aの配信及び緊急度フィールドに含まれる発信者の配信要求は、アカウント情報の検証が完了した後、操作1650に示されるように、データグラムの配信方法を選択するために使用される。配信方法には、普通、VIP、保証、または特別のカテゴリがあり、パケットまたはサブパケットのルーティングに影響する(パケットが分割または断片化される場合)。例えば、VIP配信では、データ転送に最速ルートが使用されるが、他のクライアントによる同じルートの読み込みは最小限に抑制される。保証伝送では、重複したデータパケットフラグメントがネットワークを介して送信され(つまり、冗長性を使用)、最速パケットのタイムリーな配信を保証し、遅延パケットを無視する。C&Cペイロード1623Aから得られるSDNPアドレスデータと組み合わせて、操作1651は、発信者から受信者のSDNPアドレスへの、または受信者がSDNPクライアントでない場合は受信者に最も近いゲートウェイに、最適なルートをマッピングする。C&Cペイロード1621Aに含まれる緊急性要求データは、遅い(snail)配信(急ぐ必要がない)、普通配信、優先配信、緊急配信など、伝播遅延が減少する順などの基準でパッケージの緊急性操作1652の選択に使用される。
緊急性要求情報はその後、操作1653によるルーティングの選択、及びサブパケットルーティングのゾーンの選択に使用される。これらのパラメータは、任意の該当するセキュリティクレデンシャル情報1621Bとともに、操作1660を通じてルーティングコマンドと制御パケットを合成する。これらのC&Cデータパケットは、TCP指定レイヤ4トランスポートを使用してラストマイルの参加通信ノードに配信されるが、リアルタイムデータの配信に使用される場合には、レイヤ4トランスポートプロトコルとしてUDPを使用するルーティング情報が含まれる。例えば、ゾーンU1セキュリティクレデンシャル情報に従って作成されるラストマイルルーティングは、クライアントノードC1,1からSDNPゲートウェイノードM0,0へのデータのルーティングに使用されるC&Cペイロード1626を含むIPデータグラム1625として生成される。IPデータグラム1625は、TCPデータトランスポートを使用してSDNPクライアントに配信されるが、「ラストマイルルーティングU1」というタイトルのC&Cペイロード1626には、パケットをリアルタイムでルーティングするために使用されるデータが含まれているため、レイヤ4トランスポートメカニズムとしてUDPを使用する必要がある。SDNP C&Cパケット合成操作1660では、SDNPクラウド内のノードにTCPデータパケットとして配信される多数の他のC&Cメッセージも生成される。クラウド命令データパケットの一例として、SDNP M0,0からSDNP M0,1へのデータのルーティングに使用されるC&Cペイロード1628Aを含むIPデータグラム1627Aがある。図71に示されるように、これらのSDNPルーティング指示パケットは、シリアル接続1612、1616、1610を介してクライアントノードC1、1を含むメディアノードに、またSDNPゲートウェイノードM0、0に、さらにまた接続1614を介してSDNPクラウド内の他のノードに配信される。
コールの開始を図72に示す。この図で、SDNPデータ(サウンド、ビデオ、テキスト等)を含むメディアSDNPデータグラム1630は、C&Cデータパケット1626を含むIPヘッダに追加され、IP C1,1からIP M0,0へ、そしてSDNPクライアント1600からラストリンクネットワーク接続1601を介してルータ1602A及び1602Bにルーティングされ、最後にゲートウェイリンク1611を介してSDNPゲートウェイ1601に到達する。識別タグ、セキュリティゾーン、プリアンブル、及びSDNPデータフィールドを合わせて、メディアSDNPデータグラム1630に含まれるSDNPメディアパケットのペイロードが構成される。
前述のSDNPコール、すなわちSDNPゲートウェイM0,0から、SDNPアプリ1335Aを実行する携帯電話32を含むSDNPクライアントC7,1へのハイパーセキュアコールのルーティングを、図73Aの簡略化したネットワーク図に示す。メディアSDNPペイロードA及びヘッダ1628Aを含むSDNPデータグラム1631Aは、SDNPアドレスM0,0及びM0,1のメディアノード間でルーティングされる。ただし、SDNPゲートウェイ1601には、2つのアドレス、すなわちラストマイル通信用のIPアドレス「IP M0,0」と、SDNPクラウド内の通信用のSDNPアドレス「SDNP M0,0」がある。各SDNPデータグラムのコンテンツは、パケットがSDNPクラウドを通過するときに変化するため、SDNPメディアペイロードA、B、及びCに含まれるサウンド、ビデオ、及びテキストなどのコンテンツは同じでないことは明らかで、20種類の会話またはコミュニケからのコンテンツが含まれることがある。SDNPクラウド内のデータルーティング及びパケットセキュリティのメカニズムは、前掲の米国特許出願第14/803,869号「Secure Dynamic Communication Network and Protocol(安全で動的な通信ネットワークとプロトコル)」に開示されており、それにはSDNPクラウドを匿名で移動するデータパケットのコンテンツと暗号化が動的かつ継続的に変化し、やがてクライアントのデバイスに収束する仕組みが記述されている。
それによって、メディアSDNPペイロードB及びヘッダ1628Bを含むSDNPデータグラム1631Bは、IPアドレスIP 0,4及びM0,f のメディアノード間でルーティングされる。SDNPゲートウェイ1601Bを介してSDNPクラウドを出るデータは、SDNPデータグラムからIPデータグラム1632に変換される。ヘッダ1628C及びSDNPメディアペイロードCを含むIPデータグラム1632は、ラストマイルを構成するゾーンU2のセキュリティクレデンシャル情報を使用する。次いで、IPデータグラム1632は、有線またはファイバリンク24を通しラストマイルを介してネットワークルータ27にルーティングされ、その後、セルラーネットワーク25及びセルラーリンク28を介して携帯電話32にルーティングされる。携帯電話32はSDNPクライアントであるため、ラストマイルを介した通信はハイパーセキュアの状態が維持される。この簡素化された例では、クラウドからラストマイルに到達するすべてのデータパケットは、単一のSDNPゲートウェイ1601Bからルーティングされる。実際には、複数のSDNPゲートウェイをラストマイルデータルーティングに使用できる。
「コールアウト」でのラストマイル通信を図73Bに示す。SDNPクラウドを介したルーティングは、SDNPクライアントへのコールに使用される場合と同じSDNPデータグラム1631A及び1631Bを使用するが、SDNPゲートウェイ1601BはSDNPソフトウェアを実行する最後のサーバである。したがって、コールアウトにおけるラストマイル通信では、非SDNPペイロードが含まれるIPデータグラムが使用される。つまり、IPデータグラム1635は、ゲートウェイIP M0,0からIPアドレスIP C7,9のPSTNにルーティングされ、VoIPの形式で音声が伝送される。PSTNは、電話番号とサウンドパケット1636のアナログサウンドを使用して、VoIPのコールフォーマットを従来の電話のコールフォーマットに変換する。このような場合、ラストマイルはハイパーセキュア通信を構成しない。
図74に示すマルチルートのラストマイル通信において、SDNPシグナリングサーバ1603Aによって配信されるコマンド及び制御データパケットには、データリンク1612及び1610を介してクライアント1600に送信されるC&Cデータパケット1625X、データリンク1614Xを介してSDNPゲートウェイ1601Xに送信されるC&Cデータパケット1627X、及びデータリンク1614Y上のSDNPゲートウェイ1601Yに送信されるC&Cデータパケット1627Yが含まれる。他のC&Cデータパケット(図示せず)は、データリンク1614Xを介して、メディアノードをホストする他のサーバに送信される。C&Cデータパケット1625Xは、アドレス「IP S」からアドレス「IP C1,1」に送信され、これにはラストマイルルーティングU1を構成するC&Cペイロードが含まれている。ラストマイルルーティングU1には、2つの異なるルーティング指示が含まれている。1つはタグ1とプリアンブル1を含む「IP C1,1」から「IP M0,0」までの指示、もう1つはタグ2及びプリアンブル2「IP C1,1」から「IP M0,1」までの指示が含まれる。例に示されるように、SDNPクラウド内の通信ノードに送信されるC&Cデータパケットには、指示SDNPクラウドルーティング1の指示を含む「IP S」から「IP M0,0」に送信されるデータパケットと、SDNPクラウドルーティング2の指示を含む「IP M0,1」に送信されるデータパケットが含まれている。
SDNPグループコール
図75Aに示される、SDNPクライアント1600から複数のSDNPゲートウェイへのラストマイルメディアパケットルーティングには、それぞれのヘッダ1626X及び1626Y、ならびにSDNPメディアペイロードSDNPデータX及びSDNPデータYを含む2つのデータパケット1630X及び1630Yが含まれる。タグ1及びプリアンブル1を含むデータヘッダ1626Xはアドレス「IP C1,1」からアドレス「IP M0,0」にルーティングされ、タグ2及びプリアンブル2を含むデータヘッダ1626Yはアドレス「IP C1,1」からアドレス「IP M0,1」にルーティングされる。
マルチルート通信によりSDNPクラウドからクライアントへ逆方向に流れるデータには、図75Bに示されるように、ヘッダ1626U、タグ8、プリアンブル8、SDNPデータU、送信元アドレスSDNPゲートウェイアドレスM0、0、及び宛先アドレス「IP C0、0」を含むデータパケット1630Uが含まれる。同時に、このデータには、ヘッダ1626V、タグ9、プリアンブル9、SDNPデータV、宛先アドレスSDNPゲートウェイアドレスM0、1、及び宛先アドレス「IP C0,0」を含むデータパケット1630Vも含まれる。SDNPクライアント1600で実行されているSDNPアプリケーションプログラムは次に、着信データパケットSDNPデータU、SDNPデータ∨、及びその他を結合して、メッセージテキストや音声(サウンド)を再作成する。
ルーティング指示のC&Cデータパケット配信は、3方向またはグループコール、グループメッセージング、及びその他のマルチクライアント通信を開始するように拡張できる。このようなグループコミュニケまたは「会議通話」では、クライアントメッセージが複数の受信者に同時に送信される。このグループ機能は、グループコールを要求する発信者によって呼び出され、最初に接続先とするクライアントのグループを定義し、続いてシグナリングサーバによって呼び出され、個々のグループコールに関連付けられたデータパケットのルーティングを処理する方法を必要なメディアノードに指示する。グループコールルーティング指示の一例を図76に示す。ここで、シグナリングサーバ1603Pは、データリンク1614Aを介してSDNPクライアント1600Aに、またデータリンク1614Zを介してSDNPクラウド内の多数のメディアサーバ1600Zにルーティング指示を送信する。
そのため、ラストマイルルーティングU1を含むTCPデータパケット1627Aは、アドレス「IP S1」のシグナリングサーバ1603Pからアドレス「IP C1,1」のSDNPクライアントに配信され、発信者とのグループコールを「セットアップ」する。例示するTCPデータパケット1627Zによって表されるC&Cデータパケットは、シグナリングサーバアドレス「IP S1」から様々な宛先アドレス「IP M0、y」までのデータリンク1614Zを介してゾーンZ1のSDNPクラウド全体に同時に配布される(ここで、yは整数変数を表す)。全体として、SDNPクラウドのルーティング指示により、SDNPクラウド全体の発信者のゲートウェイから、呼び出されるSDNPクライアントに最も近い2つ以上の他のSDNPゲートウェイへのパケットルーティングを確立する。
例に示す通り、他のSDNPクライアントは異なる地理的地域に配置されている場合があり、ゾーンU7とU9などの個別のセキュリティゾーン内にある場合がある。場合によっては、これらのクライアントはシグナリングサーバ1603Pから十分に離れている可能性があるため、別の信号サーバ1603Qを使用してこれらのSDNPクライアントのパケットルーティングを計画できる。シグナリングサーバ1603Qは、ゾーンU9のルーティング指示をデータリンク1614Mを介してSDNPクライアント1600Mに、データリンク1614Lを介してSDNPクライアント1600Lにそれぞれ通信する。例えば、C&Cデータパケット1625Mは、「IP S4」のシグナリングサーバからそのアドレス「IP C9,1」のSDNPクライアント1600Mにラストマイルルーティング指示U9を伝達する。別のC&Cデータパケット(図示せず)も同様に、アドレス「IP C9,4」のSDNPクライアントに送信される。ラストマイルルーティングU7の指示を含むデータパケット1627Hは、データリンク1614Hを介して、「IP S4」のシグナリングサーバ1603Qからアドレス「IP C7,1」のクライアント1600Hに送信される。
ノードS1及びS4のシグナリングサーバ1603P及び1603Qも、データリンク1613Zを介してC&Cデータパケットとして情報を交換する。この情報は、ルーティングのどの部分がシグナリングサーバ1603Pによって実行され、どの部分がシグナリングサーバ1603Qによって実行されるかを確立するために使用され、ルーティングタスクを複数のシグナリングサーバに分割する。例において、シグナリングサーバノードS1はゾーンU1及びSDNPクラウドのラストマイルルーティングを管理し、シグナリングサーバノードS4はゾーンU7及びU9でのラストマイル通信を管理する。
通話中またはコミュニケ中のデータルーティングを図77Aに示す。ここで、データパケット1630AのSDNPデータ1によって送られる音声は、ヘッダ1626Aにより、IPアドレス「IP C1,1」の発信者から最も近いSDNPゲートウェイメディアノードM0,0にルーティングされる。このデータパケットはSDNPクラウドトランスポート用に再パケット化され、ゲートウェイメディアノードM0,4及びM0,8に送信される。SDNPクラウド内でパケットルーティングがとるパスは、電話会議の参加者には不明であり、中央での制御はできず、ネットワークの状態に応じて動的に変化する。この例では、SDNPクラウド内のすべてのSDNPデータパケットは、匿名のアドレス指定及び動的暗号化に加え、ジャンクデータの挿入及び削除による動的スクランブリング、ミキシング、分割などの技術を活用した断片化メッシュデータ伝送を利用している。例に示す通り、クラウドトランスポートは、SDNPゲートウェイノードM0,0の着信通信を他のゲートウェイに(この例では、SDNPゲートウェイノードM0,4及びM0,8)に向ける。
発信者の音声を運ぶデータパケット1630H、すなわちSDNPデータ1は、ゲートウェイノードM0,4を出て、ヘッダ1626Hを用い、ゾーンU7セキュリティクレデンシャル情報を使用して、「IP M0,4」のメディアノードから「IP C7,1」のクライアント1600Hにルーティングされる。ヘッダ1626Hは、図76で説明するように、メディアデータパケットを準備する前に、C&Cデータパケット1627A内のクライアント1600Aに付与されている。このようにして、リアルタイムデータを伝送するすべてのメディアパケットは、コンテンツのデータ伝送の準備が整った時点で遅延なく準備することができる。リアルタイムネットワークで優れたQoSを実現するには、動的データのタイムリーなルーティングが欠かせない。これができなければ、許容できないほど長い伝播遅延が生じる可能性がある。
SDNPクラウドを介してルーティングされると、SDNPデータ1ペイロードはゾーンU9の電話会議参加者(すなわちSDNPクライアント1600M及び1600L)に、つまりゲートウェイメディアノードM0,8からクライアントIPアドレス「IP C9,1」及び「IP C9、4」に送られる。これらのラストマイルデータパケット1630M及び1630Lには、同じ会話に関連付けられたコンテンツの認識に使用される識別パケットタグ、tag8及びtag9を指定するヘッダ1626M及び1626L、SDNP埋め込み指示、鍵、シードなどの伝達に使用されるプリアンブル9情報、及びレイヤ4トランスポートにUDPを要求するために使用される「L4」データフィールドが含まれる。シグナリングサーバから送られるデータルーティング指示はその精度を保証するためにTCPトランスポートプロトコルを使用しているが、メディアパケットコンテンツはリアルタイムデータであるため、TCPの代わりにより相応しいUDPレイヤ4プロトコルを使用する。
図77Bは同じ会話を示している。ここでは、ゾーンU7のクライアント1600Hからコンテンツが発生する。つまり、クライアントC7,1が会話を開始する。このデータをクライアントC1,1からの音声コンテンツと比較するため、ペイロードはすべてのデータパケット内で「SDNPデータ5」として識別される。ペイロードが一意であることを別にすると、前図からの唯一の変更点は、データパケット1630Hと1630Aのラストマイルの送信元及び宛先のIPアドレスが逆になっていることである。具体的には、ゾーンU7のSDNPユーザの場合、データパケット1630Hの送信元IPアドレスはIP C7,1に変更され、その宛先はSDNPゲートウェイアドレスIP M0,4になっている。ゾーンU1の場合、データパケット1630Aの送信元IPアドレスはIP C1,1に変更され、その宛先はSDNPゲートウェイアドレスIP M0,0に変わる。複数の電話会議参加者が同時に発話し、クライアントノードC7,1を含む他の通話参加者に送信されるSDNPクライアントノードC1,1からのデータパケットが、クライアントノードC7,1に対して同時に発生し、クライアントノードC1、1に応答することがあることを想定しておかなければならない。
ラストマイル通信のネットワークレベル3では、反対方向のトラフィックのデータ衝突は発生しない。ただし、物理リンク層とデータリンク層の1及び2では、ラストマイル通信に時間多重化を使用することで、同じ通信リンクの競合を回避できる。ただし、この調停は、通信が音声パケットの遅延のない全二重通信のように見えるほど高速に行われる。図77A及び図77Bでは共に、ゾーンU9のクライアントのデータフローの方向(クラウドからクライアントへのデータフロー)は変更されていない。ただし、図77Cでは、ゾーンU9クライアントノードC9,1が会話を開始する。この場合、クライアントノードC9,4、C1,1、及びC7,1はすべて、音声、つまりSDNP音声データ6の受信者になる。
図78に示す代替実施形態では、グループ通話は、SDNPクライアントへのSDNP通話と、通常の電話番号への「コールアウト」通話の混在が可能である。図77Aに示した通話またはコミュニケと同様、データパケット1630AのSDNPデータ1によって送られる音声は、ヘッダ1626Aにより、IPアドレス「IP C1,1」の発信者からメディアノードM0,0を含む最も近いSDNPゲートウェイにルーティングされる。このデータパケットはSDNPクラウドトランスポート用に再パケット化され、ゲートウェイメディアノードM0,4及びM0,8に送信される。
例に示す通り、クラウドトランスポートは、SDNPゲートウェイノードM0,0の着信通信を他のゲートウェイに(この例では、SDNPゲートウェイノードM0,4及びM0,8)に向ける。発信者の音声を運ぶデータパケット1630H、すなわちSDNPデータ1は、ゲートウェイノードM0,4を出て、ヘッダ1626Hを用い、ゾーンU7セキュリティクレデンシャル情報を使用して、「IP M0,4」のメディアノードから「IP C7,1」のクライアント1600Hにルーティングされる。SDNPデータ1ペイロードは、ゲートウェイメディアノードM0,8を介して電話会議の参加者にも配信される。このSDNPゲートウェイからのラストマイル通信は、2種類の接続で構成される。具体的には、SDNPクライアント1600Mへのハイパーセキュア接続、及びVoIPまたはパケットプロトコルを使用しない従来の電話システムを含むPSTN 1への非セキュアな「コールアウト」接続である。アドレス「IP C9,1」のゾーンU9 SDNPクライアントに送られるラストマイルデータパケット1630M及びU9には、同じ会話に関連付けられたコンテンツの認識に使用されるパケット識別子タグtag9を指定するヘッダ1626M、SDNP埋め込み指示、鍵、シードなどの伝達に使用されるプリアンブル9情報、及びレイヤ4トランスポートにUDPを要求するために使用される「L4」データフィールドが含まれる。
ゲートウェイノードM0,8はまた、IPパケット1635をアドレスIP C7,9のPSTN 1にも送信する。この場合、SDNPデータ1を含むペイロードを送信するのではなく、IPペイロードはVoIPサウンドパッケージに変換されており、パケットスニッフィングによって傍受される可能性がある。そこで、電話交換システムPSTN 1は、この保護されていないIPパケットを、POTSデータ1636(被コール電話番号とそれに続く電話37とPSTN 1との間の連続アナログ回線接続を含む)で示される電話37へのアナログPOTS電話接続に変換する。この接続及びその他のコールアウト接続はハイパーセキュアではないため、コールアウトラストリンクによって送信されるコンテンツは、ハッキング、盗聴、及びその他の監視技術の危険に晒される。クライアントのアクセス特権を定義する階層構造が実装されていない限り、コール全体のセキュリティは最も弱いリンクによって危険にさらされ、例えばグループコールの参加者全員がすべてを聞くことができてしまいかねない。
この点を、図79Aの表に例示する。ここで、グループコールは、SDNPネットワーククライアントノードC1、1、C7、1、C9、1、及びC9,4上のハイパーセキュアな参加者と、電話番号「Ph#1」及び「Ph#2」の参加者で構成される。図の示すように、SDNPクライアントC1,1はグループのホストであり、SDNPクライアントC7,1、C9,1は参加者であり(つまり、これらの参加者は他の参加者の発話を聞き、自身も話すことができる)、SDNPクライアントC9,4は「リスナー」である(聞くことはできるが、話せない、つまり参加者にその声が聞かれることはない)。コールアウト電話番号「Ph#1」の参加者は聞き取りと発言が可能な参加者でもあり、一方、「Ph#2」の発信者はコールアウト「リスナー」としてのみ許可され、グループコールでの発言はできない。グループホストは、コールのセットアップ時に、これらの聴取・発話特権、つまりユーザ認証を規定する。
「通常コール」というタイトル欄の表を再度確認し、グループコールの全員、つまりホストによって承認された発信者がコールを聞くことができることに注意する。通話へのハッキングを試みる発信者や、ホストにより承認されていない発信者には、通話に接続したり、強制的に通話に参加したりすることはできず、また通話が発生していることを判別することもできない。同じ方法はグループチャットにも適用される。グループチャットの参加者は、メッセージを読み書きすることはできる一方、表示専用メンバーはコメントを読むことだけができ、チャット上に自分のテキストを挿入することはできない。
本開示に従ってなされたネットワークアクセスを制御するための認証並びID確認により、SDNPシステムは、従来のグループチャット及びグループ通話では利用できなかったプライバシー機能を実現している。この機能は、プライベートモードを選択することで呼び出される。例えば、テキストメッセージシングや発言の前にカギマークやその他のプライバシーアイコンをクリックするなど。このような場合、通信は認証済みのSDNPクライアントにのみ送られ、認証によってまだ身元が確認されていないSDNPクライアントには送られない。さらに、安全でないデバイスのコールアウトリスナーまたは参加者にも送信されない。この点は、前述の表で明確に示されている。「非認証SDNPクライアント」欄にあるプライベートコールでは、すべてのグループコールクライアントがマイクとスピーカーの両方をミュート(消音化)されている。一方、「認証SDNPクライアント」欄では、すべてのSDNPクライアントは聴くことができ、参加者C1,1、C7,1、及びC9,1は聴くことに加えて話すこともできる。しかし、すべてのコールアウトデバイスはマイクとスピーカーの両方がミュートされているため、認証されたSDNPクライアントのみがプライベートモードで聞き取りやコメントができる。このようにして、身元が保証された複数のSDNPクライアントとのグループコールや、未知の相手とのコールアウト接続でのグループコールで、コールアウトデバイスに機密情報を晒すことなく、通話の公開部分に相互に参加できる。「コールアウト」発信者をプライベートディスカッションから除外するには、発言やテキスト送信の前にSDNP参加者にプライベートアイコンをクリックさせるだけでよい。プライベートディスカッションが終わったら、プライベートボタンを元に戻すことで、コールアウト発信者は再接続される。コールアウト発信者が切断されている間(つまり基本的に「保留」になっている間)、SDNPシステムは待機中の音楽を再生したり、無音にしたり、ホワイトノイズ(海や雨の音など)を再生したりできる。
グループチャットのテキストメッセージも同じ方法で管理できる。通常のグループチャットでは、すべてのテキストメッセージがSDNPクライアントデバイスのSDNPアプリに送信され、SMSテキストメッセージによってすべてのコールチャットメンバーに送信される。テキストメッセージは、参加者のみが送信できる。「リスナー」または「読み取り専用」チャットメンバーから送信されたテキストメッセージは無視され、チャットグループには転送されない。参加者がメッセージを送信する前に鍵アイコンまたはプライバシーアイコンをクリックすると、メッセージはSDNPクライアントにのみ送信され、コールアウトクライアントには送信されない。プライベートメッセージを受信するSDNPクライアントの場合、自分の身元が認証されると、メッセージが読み取り用で表示される。クライアントの身元が認証されてなけれぱ、メッセージはボカされたり、覆われたり、隠されたり、鍵などのアイコンで表示されたりする。クライアントが認証手順を踏んで身元が確認されれば、正常に表示される。
身元の認証とSDNPネットワークシステム認証によって規制されるプライバシー特権と組み合わせることで、単にデバイスをハッキングするだけでは、グループチャットやグループコールでもプライベートテキストを開いたり、プライベートコールを盗聴したりすることはできなくなる。この機能は、ローカルでハッキングされる可能性のある情報であるデバイスのセキュリティパラメータのみに依存することでは保証できない。偽のセキュリティや身元資格情報はシステムログと一致せず、無効なSDNPクライアントとして拒否されるため、システムパラメータをハックする壁は非常に高い。
グループコールやグループチャットの実行時のプライバシーもさらに強化できる。図79Bの表にあるハイパーセキュアラストマイルのこの独特の実施形態は、本明細書ではハイパープライベートコールまたはハイパープライベートチャットと称している。ハイパープライバシーを使用するには、発信者またはメッセージが4つの基準に準拠している必要がある。
・グループコールのコミュニケのすべての受信者は、コールアウトデバイスではなく、SDNPクライアントでなければならない。
・通話またはテキストは、それが通話なのかテキストなのか画像なのかに拘わらず、ハイパープライベートコミュニケとして事前に選択しておかなければならない。
・グループコールまたはグループチャットのコミュニケの受信者は、接続を認証して身元を確認しておく必要がある。
・ハイパープライベートコミュニケの受信者は、「プライベート」参加者またはプライベートリスナーとして事前に選択しておく必要がある。
最初の3つの基準は、前記のグループコールにおけるプライベートパーティの例と基本的に同じだが、4番目の基準である、ハイパープライベートコールまたはテキストを受信する資格のある発信者を「プライベート」SDNPクライアントとして読み込むことを求める要件はすばらしく、機密情報へのアクセスをさらに強化している。例えば、表に示されるように、SDNP参加者クライアントC1,1及びC7,1、及びSDNPリスナークライアントC9,4はすべて、グループコールの「プライベート」パーティとして指定されている。一方、SDNPクライアントC9,1は参加者としてのみ指定され、プライベート参加者としては指定されていない。定義により、コール参加者またはリスナーはプライベートパーティとしては登録できない。
前例にあるように、通常のコール中、すべての参加者、つまりSDNPクライアントC1、1、C7、1、及びC9、1、及びコールアウト参加者Ph#1は、すべての会話を聴き、すべてのテキストメッセージを読み、またいつでも発言し、テキストメッセージを送ることができる。一方、クライアントC9、3、Ph#2を含む「リスナー」は、すべての会話を聴き、テキストを読むことができるが、グループコールまたはチャットで発言したり、メッセージを送信したりすることはできない。ただし、ハイパープライベートコールでは、スイッチまたはアイコンを選択してハイパープライベートコミュニケを指定すると、グループコールまたはチャットの認証されていないパーティはすべて自動的にブロックされると共に、「プライベート」パーティ以外のすべてのパーティが無効になる。さらにまた、すべてのコールアウト接続及び非認証ユーザも無効化される。そのため、操作中、プライベート参加者がプライバシーアイコンを選択すると、プライベート参加者(プライベートグループのホストを含む)のみがグループを表示し、閲覧し、会話し、テキストを送ることができる。他のすべての参加者のマイクとスピーカーはミュートされ、同様にテキストまたは添付ファイルをグループに対して送受信することはできない。具体的には、ハイパープライベートモードでは、認証されれば、クライアントC1、1及びC7、1のみが聞き取りと会話の両方、及びテキストの読み書きを行うことができ、一方、プライベートクライアントC9、4は会話の聞き取りまたはグループテキストの読み取りのみができる。
上記のラストマイルルーティング制御機能を使用すると、グループコールとグループチャットを様々な方法で管理できる。例えば、グループコールのホストは、誰を通話またはグループに参加できるようにするか、誰が会話をしテキストを送信できるようにするか、また誰が聞き取りと読み取りのみができるようにするかを決定できる。標準のプライベートコールでは、プライベートモードを選択することにより、すべてのSDNPクライアントは(一旦認証されると)、標準の非プライベートグループ通信中と同じ権限でコミュニケに参加できる。ハイパープライベートモードでは、プライベート参加者及びプライベートリスナーとして定義されたSNDPクライアントのみハイパープライベートモード操作中にコミュニケートできる。
ハイパープライベートコミュニケの一部として、すなわちプライベート参加者またはリスナーとして誰に資格を与えるか、および誰に与えないかの選択方法は、いくつかの方法で設定できる。アドホックハイパープライベートグループ通信では、グループホストがプライベートコールの発信者と非発信者を決定する。SDNPの「システム定義」のハイパープライベートグループ通信では、SDNPネットワークオペレータが、プライベートコールの発信者と非発信者を事前に決定する。ルールベースのハイパープライベートグループ通信では、SDNPネットワークは、誰がプライベート発信者になる資格があるか、誰がないかを決定するルールを定義している。これらのルールは企業の雇用リストに基づいている場合がある。例えば、副社長以上がハイパープライベートコールに参加できる、など。政府やセキュリティ組織では、基準は米国のセキュリティクリアランス、パスポート番号、警察バッジ番号などによって設定される場合がある。本開示で定義されたSDNP対応のラストマイル通信方法は、これらの例示したシナリオのいずれかをサポートしてもよいし、他の基準を使用して集団を2つのグループに分け、それによってハイパープライベートコミュニケへのアクセス権を持つグループとそうでないグループを設定できる。
この概念は複数のグループに拡張できるが、一般的に階層型アクセス基準のほうが、テレフォニーよりもディスパッチャベースのプロフェッショナル通信システムにより適している。プロフェッショナル通信に対するSDNP手法の適用については従って、この適用では言及しない。
グループ通話の課題のひとつに、全員が同時に話そうとする問題がある。会話がオーバーラップすると、話が混乱し、聞き取りにくくなり、不要な停滞も生じる。この問題は、プッシュツートーク機能(トランシーバやCB無線をエミュレートする機能)を使用することで解決できる。プッシュツートークまたはPTT操作では、一度に1人の参加者のみが発言できる。参加者が会話を希望する場合、スイッチを押すと、ネットワークマイク上の他のすべてがミュートされ、グループコールの他のすべての参加者が聞き取りのみのモードになる。図80A内の表に示されるように、通常のPTT会話では、ホストがPTTボタンを押すと(「ホストPTT」列を参照)、グループコールよりも優先度が上がり、トークボタンを押した発信者を含め、他のすべての発信者に優先されることになる。コールアウト電話接続を含む他のすべての発信者は、マイクが自動的にミュートされ、リスナー専用モードになる。ホストがPPTボタンを押さなかった場合、「その他のPTT」というラベルの列に示されるように、PTT機能は先着順に他のSDNP参加者に引き渡される。リスナーやコールアウトデバイスとして指定されたSDNPノード(C9,4、Ph#1など)は、PTTの会話を聴くことができるが、グループコール全体ではそのマイクがミュートされる。
ネットワークに対して身元の認証を受けた発信者を識別するSDNPラストマイル機能を使用することで、PTT機能をプライベートプッシュツートーク機能に拡張することができる。プライバシー機能またはプライバシーアイコンが選択されると、認証されていない参加者はすべてグループコールから除外され、彼らのスピーカーとマイクがミュートされる。コールアウト接続は本質的に認証できないため、同様にミュートされる。ミュートは双方向であるため、除外された参加者は会話を聞くことができず、マイクも切断される。認証された参加者の場合、操作は通常のPTTと同じ優先度である。すなわち、ホストは優先的に話すことができ、それ以外の場合は認証された参加者が先着順にPTT通話機能を呼び出すことができる。
図80Bの表は、PTT機能に拡張できるハイパープライベートグループコールの概念を示している。通常の操作では、PTT機能は前述のケースと同じである。しかし、ハイパープライベートモードでは、以前にプライベート参加者またはプライベートリスナーとして指定された認証済みの当事者のみ、ハイパープライベート会話に参加できる。例えば、ハイパープライベートモードでは、SDNPクライアントC9,1及びC9,5は、プライベート参加者またはリスナーとして以前に登録されていなかったため、話すことも、聴くこともできない。同様に、すべてのコールアウト接続デバイスは、ハイパープライベートモードの操作中はミュートされる。このようにして、PTTグループコールの様々な関係者へのアクセスを明示的に制御できる。ミュートとは、一部の参加者(コールアウトリスナーなど)を、会話の音声を運ぶデータパケットの受信から除外しつつ、ミュートされていない参加者にデータパケットを供給し続けるプロセスのことである。本開示の方法では、データパケットは、通常の会話のすべての参加者に個別に送信され、クライアントのユーザによってミュートが有効化されたときには、リストのサブセットにのみ送信される。
本発明の別の実施形態では、データパケットは、グループコールのすべての参加者にブロードキャストモードで送信されるが、異なる暗号化方法を使用している。通常の電話会議の場合、データパケットは、すべての参加者が復号鍵のコピーを保持する暗号化方式を使用してすべてのユーザに送信される。プライベートモードまたはミュートモードでは、ユーザにブロードキャストされるデータパケットは異なる暗号化を利用し、選択されたユーザのみが復号鍵を共有している。この復号鍵を持つ参加者は電話会議に参加でき、この鍵を持たない参加者は参加できない。ブロードキャストパケットを使用することの利点は、個別のパケット要求を送信する場合に比べてラストマイル通信に必要とされる帯域幅が少なくて済むことである。さらに別の実施形態では、ひとつのパケットがゲートウェイに送信され、このパケットをシグナリングサーバが複製して通常のコールモードですべての参加者に配信し、プライベートまたはミュートモードで発信者を選択する。
ハイパーセキュアファイルストレージ
「セキュア動的通信ネットワーク及びプロトコル」は、テレフォニー及びリアルタイムデータ転送用のハイパーセキュア通信システムとして発明され開発されたものであり、SDNPネットワーク及びプロトコルに本来的に備わっているセキュリティ機構により、ハイパーセキュアファイル及びデータストレージに最適なものとなっている。ごく簡単に説明すると、ハイパーセキュアコールで、ある発信者から別の発信者に対してスクランブル化され暗号化されたデータが匿名の断片化データとして送信される場合、言い換えると、あるSDNPクライアントから別のSDNPクライアントへのエンドツーエンド通信が行われる場合、ハイパーセキュアファイル及びデータストレージとは、データ送信が途中で停止し、再コールがかかるまで無期限にバッファに保存される、そのような形態の通信と考えることができる。ハイパーセキュア分散ファイルストレージは、非集約型データストレージとも称される。
このストレージはパケット配信の途中で停止する通信であるというこの簡素化された説明は、それが最初に現れたときよりも技術的にはより正確な表現である。上記で参照されている米国特許出願第14/803,869号では、他のパケットが到着するまでの一時的なデータパケットのバッファリングが明示的に開示され、その動作が記述されていた。SDNPクラウドのノード内でのバッファリングは月単位ではなくミリ秒単位で行われ、SDNPシステムは情報を失うことなくデータを待機または保持し、元のコンテンツを回復する機能を備えている。当然ながら、このような単純化された実装では、ディレクトリ、メニュー、ファイルのリサイクル、セキュリティクレデンシャル情報の更新、その他の機能など、長期的なファイル管理に必要とされる一部の機能が欠落している。
クライアントから断片化データストレージネットワークへのデータ伝送の一例を図81に示す。図に示されるように、IPアドレスIP C1,1のSDNPクライアント1700Aは、SDNPクラウドを介して、対応するIPアドレスIP F7,1、IP F9,1、及びIP F9,4のSDNPファイルストレージサーバ1700H、1700M、及び1700Lに一連のデータパケットを転送する。操作中、クライアントノードC1,1は、アドレスIP C1,1からSDNPゲートウェイM0,0に、ヘッダ1726Xと一連のデータパケット1730Xを送信する。データパケット1730Xは、データパケット1730H、1730L、及び1730Mと、それぞれに対応するヘッダ1726H、1726L、及び1726Mと共に例示されている。精度を確保するため、レイヤ4トランスポートはUDPではなくTCPを使用している。これらのパケットには、ルーティング用にパケットを識別するために使用されるSDNP ZipまたはタグXの形式で表されるその他のIDが含まれている。データパケット1730H、1730L、及び1730Mの場合、それぞれタグ1、タグ2、及びタグ3である。各パケットのペイロード部分には、例えば3つに断片化されたファイルSDNPファイル1、SDNPファイル2、及びSDNPファイル3に、それぞれ一意のデータが含まれている。このラストマイルのセキュリティクレデンシャル情報は、ゾーンU1情報とそれに対応するプリアンブル1を使用している。
データパケットは、SDNPクラウドに入ると、その身元情報とシグナリングサーバ(図示せず)の命令に従って別の宛先にルーティングされる。SDNPファイル1を運ぶ、ヘッダ1626H及びタグ1を含むデータパケット1730Hは、SDNPゲートウェイノードM0,4にルーティングされる。SDNPゲートウェイノードM0,4は次に、ゾーンU7のセキュリティクレデンシャル情報を使用して、パケット1730HをファイルストレージノードF7,1にルーティングする。一方、SDNPファイル2を運ぶタグ2をIDとするパケット1730Lは、SDNPゲートウェイノードM0,8に単独でルーティングされる。次に、SDNPゲートウェイノードM0,8は、ゾーンU9のセキュリティクレデンシャル情報を使用して、パケット1730LをファイルストレージノードF9,4にルーティングする。
ほぼ同時に、SDNPファイル3を運ぶ、タグ3をIDとして付与されたパケット1730Mは、SDNPゲートウェイノードM0,8にも単独でルーティングされるが、必ずしもタグ2をIDとして付与されたデータパケット1730Lと同じメッシュルーティングパスを使用しない。SDNPゲートウェイノードM0,8はさらに、同じくゾーンU9のセキュリティクレデンシャル情報を使用して、タグ3を付与されたパケット1730MをファイルストレージノードF9,1にルーティングする。
このようにして、SDNPファイル1はゾーンU7のセキュリティクレデンシャル情報を使用してファイルストレージノードF7,1に配信され、SDNPファイル2及びSDNPファイル3は、ゾーン9のセキュリティクレデンシャル情報を使用してファイルストレージノードF9,4及びF9,1にそれぞれ配信される。これらのファイルはクライアントノードC1,1が所有しているが、クライアントはこれらのファイルの内容をエンコードし保護するために使用されるセキュリティクレデンシャル情報に対するアクセス権を有していない。どのファイルストレージノードにもすべてのデータが含まれてはいないこと、またデータを所有しているクライアントはデータの保存時に使用されるセキュリティ認証情報へのアクセス権がないことから、ハッカーがファイルの内容を盗むことは、次の理由から困難である:(i)ファイルの内容に一貫性がなく、使用不可能な断片に分割されている、(ii)すべてのファイルが異なるセキュリティクレデンシャル情報を使用してデータをスクランブル化し暗号化している、(iii)すべてのファイルが異なる場所及び異なるラストマイルネットワークに保存されている、(iv)これらの様々な保存データが同じSDNPソースファイルからのものであることを知る方法が存在しない。ファイルストレージサーバを含むゾーンは、「ストレージ側」ゾーンとも称され、ファイルの所有者が存在しているゾーン(つまりSDNPクラウドの反対側のゾーン)と区別されることがある。この定義により、ゾーンU1はSDNPクライアントゾーンであり、「ファイル所有者」ゾーンとも呼ばれ、一方、ゾーンU7及びU9は「ストレージ側」ゾーンとなる。
ファイルストレージ上でのSDNPネットワーク通信プロトコルの適用方法について「書き込み操作」を例として図82Aのフローチャートで説明する。ここでは、SDNPクライアントとファイル所有者は自分のデータをハイパーセキュアファイルストレージサーバに保存、つまり書き込む一般的な手順を示している。図に示されるように、SDNPクライアント1700Aは、SDNP分割操作1057及びパース(構文解析)機能1052を使用して未パースファイル1705を分割し、マルチパートファイルまたはドキュメントを生成する。この例では、パースされたファイル1706A、1706B、1706Cで構成される3パートのファイルである。必要があれば、ファイルのコンテンツを分割する前にスクランブル化しておいてもよい。これら3つのファイルは、無関係のデータまたはコミュニケとしてSDNPネットワークを介して転送される。SDNPネットワークを介して最終宛先にルーティングするための手順は、ハイパーセキュアラストマイル通信に関して本明細書で開示し、SDNPクラウド内のメッシュルーティングについてすでに説明した方法と同じ方法を使用している。具体的には、ラストマイルハイパーセキュアトランスポート1707は、ゾーンU1に従ってセキュリティクレデンシャル情報を使用している。SDNPクラウドのハイパーセキュアメッシュトランスポート1708は、ゾーンZ1セキュリティクレデンシャル情報を採用している。これらのハイパーセキュアデータ伝送操作は大きなブロックとして表されるが、パケット転送は、本開示において説明されるルータ、サーバ、及びソフトスイッチのネットワーク全体にわたり、マスターキー、中央制御、及びパケットの内容へのアクセス権のない分散システムを使用して行われる。
ゾーンU1のラストマイルルーティングでは、限られた数のルーティング選択肢を含むインフラストラクチャを介してデータパケットの送信を行うことができるが、マルチPHYラストリンクルーティング、複数のSDNPゲートウェイへの順次パケットルーティング、及び動的送信元アドレッシングの使用(つまりクライアントのIPアドレスの名前の変更)などを含むハイパーセキュアラストマイル通信に関して説明した方法は、ハイパーセキュアファイルストレージ操作にも同様に適用できる。データパケットがSDNPクラウドに到達すると、そのトランスポートは、スクランブル化され動的に暗号化されたデータを使用した匿名メッシュルーティングを使用して、ファイルコンテンツはもとより、この通信に関連するメタデータの監視をも防止する。最終的には、3つのデータパケットはすべて、異なるSDNPファイルストレージサーバ1700H、1700M、及び1700Lに到達し、それぞれ異なるセキュリティゾーンのSDNPノードF7、1、F9、1、及びF9、4に配置される。ネットワークトランスポート後、パースされたファイル1は、ゾーンU7ファイルセキュリティ操作1709Aに従って処理され、SDNPファイルストレージノードF7,1に格納される。パースされたファイル2及び3は、ゾーンU9ファイルセキュリティ操作1709B及び1709Cに従って処理され、SDNPファイルストレージノードF9,1及びF9,4に格納される。このように、1つのファイルにすべてのデータが含まれることはなく、1つのセキュリティクレデンシャル情報ですべてのコンポーネントファイルのロックを解除して元のファイルを再作成することはできない。
図82Bに示すハイパーセキュア保存ファイルの「読み取り操作」では、ファイルストレージサーバとSDNPクライアント(つまりファイルの所有者)との間のデータ転送の順序が逆になっている。ハイパーセキュアファイルの読み取りは、ファイルが最初に逆の順序で保存されたプロセスを元に戻す処理であり、次のように行われる:(i)各ストレージサーバ内のパースされたファイルを識別、(ii)パースされた各ファイルからローカルストレージセキュリティ対策部を削除、(iii)回復された各パースされたファイルを、SDNPクラウド及びハイパーセキュアラストマイルを介してSDNPクライアントに戻す、(iv)様々な関連コミュニケからパースされたファイルを収集、(v)クライアントのローカルセキュリティクレデンシャル情報を使用してパースされたファイルをマージし、適切にスクランブルを解除して、元のファイルを回復する。
ハイパーセキュアファイルの「読み取り操作」をさらに詳しく説明するため、ファイルストレージノードF7,1に保存されているファイルストレージサーバ1700Hの関連コンテンツが、ゾーンU7ファイルセキュリティ操作1709Aを使用して処理され、パースされたファイル1が回復されている。パースされたファイル2または3とは無関係に、パースされたファイル1は、ゾーンZ1セキュリティクレデンシャル情報を使用してハイパーセキュアトランスポート操作1708により、またそれに続いてゾーンU1のラストマイルハイパーセキュアトランスポート操作1707により、簡略形式で示されるSDNPクラウドを用いてSDNPクライアントノードC1,1に戻される。同時に、ファイルストレージノードF9,1に保存されているファイルストレージサーバ1700Mの関連コンテンツが、ゾーンU9ファイルセキュリティ操作1709Bを使用して処理され、パースされたファイル2が回復される。パースされたファイル1または3とは無関係に、パースされたファイル2は、ゾーンZ1セキュリティクレデンシャル情報を使用してハイパーセキュアトランスポート操作1708により、またそれに続いてゾーンU1のラストマイルハイパーセキュアトランスポート操作1707により、簡略形式で示されるSDNPクラウドを用いてSDNPクライアントノードC1,1に戻される。一方、ファイルストレージノードF9,4に保存されているファイルストレージサーバ1700Lの関連コンテンツは、ゾーンU9ファイルセキュリティ操作1709Cを使用して処理され、パースされたファイル3が回復される。パースされたファイル1または2とは無関係に、パースされたファイル3は、ゾーンZ1セキュリティクレデンシャル情報を使用してハイパーセキュアトランスポート操作1708により、またそれに続いてゾーンU1のラストマイルハイパーセキュアトランスポート操作1707により、簡略形式で示されるSDNPクラウドを用いてSDNPクライアントノードC1,1に戻される。
読み取り操作中の3つのパースされたファイルの独立したパケットルーティングを図83に例示する。ここで、サーバノード1700Hは、SDNPファイル1とID「タグ7」を含むデータパケット1731Hを、TCPトランスポートを使用して、ファイルストレージアドレスIP F7,1からアドレスIP M0,4のSDNPゲートウェイサーバに送信する。パケット1731Hには、以前にトライチャネル通信でシグナリングサーバによって配信されたコマンド及び制御パケットで提供されたプリアンブル7とその他の情報を含むヘッダ1727Hが含まれている。
一方、サーバノード1700Lは、SDNPファイル2とID「タグ9」を含むデータパケット1731Lを、TCPトランスポートを使用して、ファイルストレージアドレスIP F9,4からアドレスIP M0,8のSDNPゲートウェイサーバに送信する。パケット1731Lには、以前にトライチャネル通信でシグナリングサーバによって配信されたコマンド及び制御パケットで提供されたプリアンブル9とその他の情報を含むヘッダ1727Lが含まれている。サーバノード1700Mは、SDNPファイル1とID「タグ8」を含むデータパケット1731Mを、TCPトランスポートを使用して、ファイルストレージアドレスIP F9,1からアドレスIP M0,8のSDNPゲートウェイサーバへ送信する。
パケット1731Mには、以前にトライチャネル通信でシグナリングサーバによって配信されたコマンド及び制御パケットで提供されたプリアンブル9とその他の情報を含むヘッダ1727Mが含まれている。3つのデータパケット1731H、1731L、1731Mは、ゾーンZ1セキュリティクレデンシャル情報を使用してSDNPクラウドを通過し、SDNPクラウドサーバ1701UがホストするSDNPゲートウェイM0,0から最終的に出現する。ここで、これらのデータパケットは対応するゾーンヘッダ1727X及びゾーンU1セキュリティクレデンシャル情報を使用して連続データパケット1731Xで順次、アドレスIP C1,1のクライアントデバイス1700Aに送られる。
図82Bをもう一度見てみよう。3つのパース済みファイル1、2、3、すなわち1706A、1706B、1706Cが独立したルーティングを使用してSDNPクライアントデバイス1700Aに送られた後、これらのファイルはミキシング操作1061により単一のパースされていないファイル1705にマージされ、その後、該当する場合には、ゾーンU1セキュリティクレデンシャル情報に従ってスクランブル解除操作が実行される(図示せず)。
追加のファイルサーバ操作を追加して保存データを保護する方法をとるのではなく、セキュリティ操作1709A、1709B、及び1709Cが実際にSDNPクラウドと対応するストレージサーバ1700H、1700M、及び1700Lの間のラストマイルハイパーセキュア通信を構成している。SDNP通信プロトコルを使用したレイヤ3のネットワーク接続ツールとして、SDNPファイルストレージは、ジャンクデータ挿入やジャンクファイルなどのデータ偽装手法の使用を含め、複数の分散型不揮発性データドライブにスクランブル化、断片化、及び暗号化されたデータを保存しており、本質的にハイパーセキュアである。前述のデータセキュリティ方法とは別に、本明細書で開示するハイパーセキュアストレージでは、意味のあるメタデータ、ファイル所有者への追跡可能性、ファイルが配信された経路、あるいはまた元のソースファイルから不明な構成要素を保持している任意の他のファイルストレージサーバの身元情報などが一切含まれない匿名ファイル名が使用されている。
SDNPネットワークの相互運用性、ストレージサーバの物理的実現など、レイヤ1のPHY実装とレイヤ2のトランスポートは別として、プロトコルはストレージ機能、アクセス時間、またはグローバルアクセシビリティに影響することなく大きく変わる可能性がある。図84Aは、SDNPファイルストレージサーバの物理的な実装例を示している。一番上の構成例はSDNPゲートウェイ1701Bがルータ27を介してSDNPファイルサーバに接続されている。ネットワークのパフォーマンスを高め、攻撃に対するレジリエンシー(回復力)を高めるため、中央の構成例は、光ファイバ91を使用してSDNPゲートウェイ1701BとSDNPファイルストレージサーバ1740Aとを直結し、ルータを介在させていない。一番下の例では、ファイルストレージサーバは、サーバコントローラ1740Bとストレージドライブ1740C及び1740Dを装備し、より大きなメモリアレイを追加できるようになっている。これらのドライブには、ハードディスクドライブや、フラッシュドライブベースの不揮発性メモリなど任意のメディアを導入することができる。アクセス制限を強化するため、SDNPゲートウェイとSDNPファイルストレージサーバを物理的に同じ場所に配置し、それらの接続にはファイバリンクのみを使用している。これらの設備は同じ部屋を共有することも可能であり、例えば、保管室に物理的に固定し、施設に入る人物に対しては厳格に管理されたアクセス制御と監視が行われる。
図84Bはさらに、断片化されたデータファイルの一部がファイル所有者のサイトでローカルに保存できることを示している。図に示されるように、ファイル所有者のデスクトップ36は、(i)サーバ1701A上のSDNPゲートウェイノードM0,0に接続されたWiFiルータ1352を介してアクセスされるローカルファイルストレージサーバ1740A、(ii)SDNPゲートウェイノードM0,4に接続されたファイルストレージサーバ1740B、及び(iii)SDNPゲートウェイノードM0,8に接続されているファイルストレージサーバ1740C、などのように、分散化されたファイルをいくつかのデバイスにまたがり保存できる。データは分散されたドライブ1740A、1740B、1740Cに保存され断片化されているため、ローカルファイルサーバ1740Aとファイル所有者デスクトップ36が同じWiFi 1352を共有しているとしても、ノートブック35、タブレット33、携帯電話29などの他のデバイスは保存されているファイルにアクセスすることはできない。
非冗長ハイパーセキュアファイルマッピングと呼ばれる、ひとつのファイルの各パース部分を別々のファイルストレージサーバに一意に格納するプロセスを図85Aに示す。この図に示されるように、SDNPクライアントノードC1,1を含むクライアントデバイス1700Aは、パースされたファイル1706Aをファイルストレージサーバ1700Hに、パースされたファイル1706Bをファイルストレージサーバ1700Mに、そしてパースされたファイル1706Cをファイルストレージサーバ1700Lにそれぞれ排他的に格納しており、これらはストレージノードF7,1、F9,1、及びF9,4とパースされたファイル1、2、及び3との間の1対1のファイルマッピングに対応している。これらのファイルの配信にはハイパーセキュアラストマイル通信を使用して、データの転送とその保存の安全を確保する。非冗長ファイルマッピングには、ファイルストレージサーバのいずれかが一時的または永続的に失われると、ファイルのアクセスと回復が困難になる、という欠点がある。本明細書の観点から、「復元力」及び「復元性がある」という用語を、保存されたデータへの保証された、かつタイムリーなアクセス、すなわち保存されたデータが失われない、またはアクセスが相当な期間にわたって損なわれない信頼性があることを表すために使用している。このことから、ここに示されている非冗長型のハイパーセキュアファイルマッピングは、あるひとつのポイントで障害が発生すると、ファイルアクセスに問題が生じるため、復元力が低下することを表している。復元力の弱さは、同じデータが複数のファイルストレージサーバに保存されているような冗長システムによって克服することができる。
データストレージシステムの復元力を説明または評価するもうひとつの指標として、本明細書で定義している読み取り冗長係数RRFがある。この指標は、一次データストレージが利用できない場合にデータアクセスを提供するバックアップシステムの数を定義するために使用する。この例では、一意のデータ毎にひとつの場所が設けられている。これにより、読み取りの冗長性係数はゼロ、すなわち数学的にはRRF=0となる。つまり、シングルポイント接続、すなわちファイルサーバの障害が発生すると、ファイル所有者がファイルを読み取れなくなるため、一時的または永続的なデータ損失が発生する可能性がある。
図85Bは、読み取り冗長性係数がRRF=1であるファイルマッピングを示している。この例では、パースされたファイル1はファイルストレージサーバノードF9,4及びF7,1に格納され、パースされたファイル2はファイルストレージサーバノードF9,1及びF7,1に、そしてパースされたファイル3はファイルストレージサーバノードF9,4及びF9,1に格納されている。このような実装であれば、ファイルストレージサーバノードF9,1が機能しなくなったり使用できなくなったりした場合でも、パースされたファイル3にはファイルストレージサーバノードF9,4から、パースされたファイル2にはファイルストレージサーバノードF7,1からそれぞれアクセスできる。そのため、いずれかひとつのストレージノードに障害が発生しても、ハイパーセキュアファイルへの読み取りアクセスができなくなることはない。図85Cは、RRF=2のハイパーセキュアファイルマッピングである。このファイルマッピングにはファイルストレージサーバ1700L、1700M、及び1700Hが含まれているが、ファイルストレージサーバ1700J、1700E、及び1700Fからなる2つ目のグループを追加して、それぞれに対応するファイルストレージサーバノードF8、2、F4、4、及びF6、8が用意されている。こうして、ファイルストレージサーバ1700Jはファイルストレージサーバ1700Lのバックアップ、ファイルストレージサーバ1700Eはファイルストレージサーバ1700Mのバックアップ、そしてファイルストレージサーバ1700Fはファイルストレージサーバ1700Hのバックアップとしてそれぞれの役割を果たすことになる。図に示されている例は3つのセクションにパースされたファイルで構成されているが、必要に応じてドキュメントはより多くのセクションに分割できる。ハイパーセキュアストレージを保証するため、元ファイルの分割数は2つ未満にすべきではなく、理想的には3つ以上にすることが推奨される。
ハイパーセキュアファイルストレージを使用して冗長ファイルを保存及び読み取るプロセスを説明するため、ストレージプロセスを円滑化するために使用されるSDNPネットワーク上にオーバーレイされたコミュニケ及びファイルの転送機能のトランザクションシーケンスを説明することにする。図86のネットワークには、例として、クライアントノードC1,1を実装するクライアントデバイス1700A、ルータ1702G、SDNPノードSを実装するシグナリングサーバ1715、SDNPノードNSを実装するネームサーバ1714、SDNPクラウドノードM0、0、M0、4、及びM0、8を実装するクラウドサーバ1701U、及びSDNPファイルストレージノードF7,1、F9,4及びF9,1をそれぞれ実現するSDNPファイルストレージサーバ1700H、1700L、及び1700Mが含まれている。
図87Aでは、アドレス「IP C1,1」のクライアントデバイス1700Aは、C&Cペイロード1711Aを含み、ファイルサイズとセキュリティ及び冗長性の要求レベルの記述を含むデータパケット1710Aにより、アドレス「IP S」のシグナリングサーバ1715にファイル書き込み要求を出す。図87Bでは、シグナリングサーバ1715は、データパケット1710Bをネームサーバ1714に送信して、ファイルストレージサーバノードF7、1、F9、4、及びF9、1のIPアドレスまたはSDNPアドレスを要求する。使用するファイルアドレスサーバノードの選択は、ストレージノードのリストからランダムに選択する方法と、クライアントの近くで利用可能なノードまたは災害のない地域で利用可能なノードなどの地理的条件に基づいて選択する方法がある。選択は、ノードの未使用メモリ容量、ファイルストレージノードへの伝播時間、ノードの稼働時間の信頼性評価、その他の考慮事項などのパフォーマンスパラメータに基づいて行うこともできる。図87Cでは、ネームサーバ1714は、ファイルストレージサーバノードF7、1、F9、4、及びF9、1のIPまたはSDNPアドレスを含むシグナリングサーバ1715のデータパケット1710Cを送信する。シグナリングサーバ1715は次に、ファイルストレージサーバ1700H、1700L、及び1700Mへのパースされたファイルのラストマイル及びメッシュクラウドによる配信を計算する。
図87Dでは、シグナリングサーバ1715は、データパケット1710Dをクライアントデバイス1700Aに送信し、このパケットは、アドレス「IP S」からルータ1702Gを介して「IP C1,1」にルーティングされる。データパケット1711DにはC&Cペイロード1711Dが含まれている。このペイロードにはクライアントゾーンのゾーンU1で間もなく行われるファイル転送のラストマイルルーティングが指示されている。具体的には、タグ1、タグ2、及びタグ3で各パケットが指定され(簡略化してタグXと表記)、アドレス「IP C1,1」から、「IP M0,0」のSDNPゲートウェイへの複数パケットのルーティング情報が含まれている。同時に、シグナリングサーバ1715は、データパケット1710EをSDNPゲートウェイ1701Uに送信する。このパケットはアドレス「IP S」から「IP M0,0」にルーティングされる。このパケットには、IDタグXを持つパケットのゾーンZ1セキュリティクレデンシャル情報を使用するSDNPクラウドルーティングを示すC&Cペイロード1711Eが含まれている。このケースでは、SDNPゲートウェイアドレス「SDNP M0,0」からクラウド内の次のノードまで、すなわちアドレス「SDNP M0,5」(図示せず)までのルートである。「セキュア動的通信ネットワーク及びプロトコル」に従い、メッシュ式匿名断片化トランスポートを使用したSDNPクラウド全体のデータパケットのルーティングは、リアルタイムネットワークの現在の状態に基づいて動的に選択される。具体的には、SDNPゲートウェイに送られてくるリアルタイムデータパケットのSDNPクラウド内でのルーティングは、SDNPクラウド内のノード間の伝播遅延と、シグナリングサーバが割り当てた各リアルタイムデータパケットの緊急度に依存している。
図87Eのシグナリングサーバ1715は、ストレージ側にあるラストマイルノード、すなわちゾーンU7及びU9にC&Cデータパケットを送信する。図に示されるように、データパケット1710Fは、SDNPゲートウェイM0,4に送信される。パケットはアドレス「IP S」から「IP M0,4」にルーティングされ、C&Cペイロード1711Fには、タグ1のデータパケットがゲートウェイノードM0,4に送られ、受信後にラストマイルアドレス「IP F7,1」に転送されることが示されている。2番目のデータパケット1710Gは、シグナリングサーバ1715からアドレス「IP F7,1」のファイルストレージサーバ1700Hに転送される。ゾーンU7のストレージのC&Cペイロードは、送信元アドレス「IP M0,4」からのIDタグ1を含む着信パケットを定義するが、ノードの機能はストレージであり、通信ではないため、宛先フィールドは空のまま、つまりヌル値が埋め込まれている。コマンド及び制御データパケットがネットワークに配信されると、ファイル転送が実行される。
図88は、ファイルのハイパーセキュアストレージ中にフラグメント化データトランスポートについて説明している。ここで、クライアント1700Aは、アドレス「IP C1,1」からアドレス「IP M0,0」のSDNPゲートウェイまでTCPデータトランスポートで、SDNPデータファイル1、2、及び3を含む一連のデータパケット1712Xを送る。各データパケットには一意の識別子ID、つまりタグ1、タグ2、及びタグ3が含まれている。これらのファイルは、その後、SDNPクラウドを介して他のゲートウェイ、つまりSDNPゲートウェイノードM0,4及びM0,8に転送される。ゲートウェイノードM0,4に到着するSDNPデータ1を含むパケットは、データパケット1712Aで、ゾーンU7セキュリティクレデンシャル情報とTCPを使用してアドレス「IP M0,4」から「IP F7,1」に転送される。一方、ゲートウェイノードM0,8に到着するデータ2及びデータ3パケットは、データパケット1712B及び1712Cで、ゾーンU9セキュリティクレデンシャル情報を使用して、アドレス「IP M0,8」からアドレス「IP F9,4」及び「IP F9,1」にそれぞれ転送される。ストレージには、ドライブのデータスキャンを防ぐために、ファイルサーバ内にローカル暗号化機能が含まれる場合もある。この暗号化プロセスはローカルで実行され、SDNPのセキュリティ対策とは関係がない。データパケットのコンテンツであるSDNPデータ1、SDNPデータ2、SDNP 3には、保存対象の実際の断片化されたファイルが含まれている。
各データパケット内のプリアンブル、例えばデータパケット1712Aのプリアンブル1には、対称鍵暗号化操作の一部としてクライアントにより提供される暗号鍵が含まれる場合もある。対称鍵暗号化を使用して、SDNPクライアントノードC1,1は、暗号化用と復号化用のスプリットキーを生成する。対称暗号鍵は、この例では、データパケット1712Aによって配信されるファイルストレージサーバノードF7,1に提供される。将来、クライアントが保存されているファイルの内容の読み取りまたはアクセスを要求するたびに、ファイルストレージサーバノードF7,1は、この暗号鍵を使用して要求されたファイルを暗号化してからクライアントに送り返す。当該クライアントのみが関連する復号鍵を保持しているため、他のクライアントが読み取ったこのファイルを開くことはできない。この方法では追加の保護層が提供されるが、欠点もある。ひとつのクライアントしか読み取り操作としてファイルにアクセスできないため、元のクライアントデバイスが盗難、損傷、または紛失した場合には、冗長アクセスをしやすくするために必要とされるクライアントファイルの複数の「所有者」を使用できない。
データ転送やファイル保存のプロセスを実行する際に、シグナリングサーバ1715は、「リンク応答」メッセージルーティングに関する指示をファイル保存サーバ1700H、1700L、及び1700Mに送信する。リンク応答とは、書き込み操作が成功し、パースされた各ファイルの保存が完了したことをクライアントに確認するデータパケットとC&Cペイロードである。これらのメッセージは、転送及びパースされたファイルの保存に関係する各ファイルストレージサーバから独立して、クライアントファイル所有者に送信される。ファイルサーバは、互いについての知識がなく独立して書き込み確認応答をクライアントに送信し、この書き込み通信応答は、書き込み操作時の運用状態とは異なる一意の状態を含む独立したセキュリティクレデンシャル情報を使用して送信される。これらのリンク応答メッセージのルーティングは、ファイルの転送に使用されるものと同じルーティングパスの逆方向が必ずしも使用されるわけではない。これらの応答は、ファイル所有者を見つけるためのトレースバックとしてサイバー攻撃者によって使用されかねない。その代わりに、リンク応答はパケットIDを使用して、保存されているファイルが同じファイルの一部であり、同じ断片化された書き込み操作の一部として保存されていることをクライアントに対して明らかにする。
動作中、シグナリングサーバは、リンク応答メッセージのルーティングを、ファイルストレージサーバ、クライアントファイル所有者、及びリンク応答メッセージルーティングに関与するすべての中間SDNPノードに送信する。シグナリングサーバ1715は、図89Aの例に示されるように、コマンド及び制御ペイロードを含むデータパケットを使用して、リンク応答メッセージルーティングを調整する。この例で、ファイルストレージサーバ1700Hは、アドレスIP F7,1からアドレスIP M0,4への「リンク1応答」ルーティングのためのヘッダデータを含むC&Cペイロード1722Gを含むデータパケット1721Gを受信する。SDNPゲートウェイノードM0,4は、アドレス「SDNP M0,4」からSDNPクラウド内の別のノード(この場合はアドレス「SDNP M0、14」)へのタグ1データパケットのルーティングを記述しているC&Cペイロード1722Fを含むデータパケット1712Fを受信する。同様に、シグナリングサーバ1715は、アドレス「IP F9,1」から「IP M0,8」への「リンク3応答」のタグ3のパケットラストマイルルーティング指示を含むファイルストレージサーバ1700Mのデータパケット1721Mを送信する。ファイルデータパケットとそれらに対応するリンク応答メッセージのストレージ側のラストマイルルーティングは同じまたは類似している場合があるが、SDNPクラウドを介した応答メッセージのルーティングは、SDNPクラウドの動的性質のため、ほぼ同じではない。
参加ファイルストレージサーバノードからのリンク応答メッセージの実際のルーティングを図89Bに示す。この図のように、ファイルストレージサーバ1700Hは、タグ1によって識別され、ペイロード「FSリンク1」を含むデータパケット1720Aで応答する。このパケットは、ゾーンU7のセキュリティクレデンシャル情報を使用して、アドレス「IP F7,1」からアドレス「IP M0,4」のSDNPゲートウェイにルーティングされる。SDNPゲートウェイから、タグ1のデータパケットは、SDNPクラウドを介してアドレス「SDNP M0,0」のクライアント側ゲートウェイにルーティングされる。ここで、アドレスはラストマイルデータパケット1720Xに変換されてから、TCPトランスポート、ゾーンU1セキュリティ認証情報、及びタグ1のデータ、つまりプリアンブル1とFSリンク1を使用して、アドレス「IP M0,0」から「IP C1,1」にルーティングされる。
同様にして、ファイルストレージサーバ1700Lは、タグ2によって識別され、ペイロード「FSリンク2」を含むデータパケット1720Bを応答として返す。このパケットは、ゾーンU9のセキュリティクレデンシャル情報を使用して、アドレス「IP F9,4」からアドレス「IP M0,8」のSDNPゲートウェイにルーティングされる。SDNPゲートウェイから、タグ2で識別されたデータパケットは、SDNPクラウドを介してアドレス「SDNP M0,0」のクライアント側ゲートウェイにルーティングされる(ルーティングは図示せず)。ここで、アドレスがラストマイルデータパケット1720Xに変換されてから、データパケットはTCPトランスポート、ゾーンU1セキュリティ認証情報、及びタグ2のデータ、つまりプリアンブル2とFSリンク2を使用して、アドレス「IP M0,0」から「IP C1,1」にルーティングされる。
タグ3によって識別され、ペイロード「FSリンク3」を運ぶパースされた3番目のファイルが、データパケット1720Cを介してファイルストレージサーバ1700Mから送信される。このタグ3パケットは、ゾーンU9のセキュリティクレデンシャル情報を使用して、アドレス「IP F9,1」からアドレス「IP M0,8」のSDNPゲートウェイにルーティングされる。SDNPゲートウェイから、タグ3データパケットは、SDNPクラウドを介してアドレス「SDNP M0,0」のクライアント側ゲートウェイにルーティングされる。ここで、アドレスがラストマイルデータパケット1720Xに変換されてから、ゾーンU1のセキュリティ認証情報を使用し、タグ3のデータ、すなわちプリアンブル3とFSリンク3を運ぶTCPトランスポートを使用して、アドレス「IP M0,0」から「IP C1,1」にルーティングされる。
図89Cは、ファイルストレージサーバ1700Hからクライアント及びファイル所有者に戻されるFSリンクデータパケット1720Aのコンテンツの例を示している。図に示されるように、データパケットには、セキュリティゾーンU7で作成されたIDタグ1を含むパケットでTCPを使用するアドレス「IP F7,1」からアドレス「IP M0,4」のSDNPゲートウェイへのラストマイルルーティングが記述されている。応答プリアンブル1719Aには、データペイロード1741Aの説明に加えて、クライアントに配信されるFSリンクデータパケット1720Aのセキュリティを実行または強化するために使用されるオプションのセキュリティクレデンシャル情報も含まれている。ただし、トライチャンネル通信では、応答プリアンブル1719Aに含まれる応答セキュリティクレデンシャル情報は通常不要であり、以降にハイパーセキュアの保存ファイルにアクセスして開くためにクライアントが使用するクレデンシャル情報とは無関係である。クライアントからファイルストレージノードF7,1に格納されているファイルへのリンクを作成するために必要なアクセスクレデンシャル情報は、代わりにデータフィールド1741A内に格納されており、以下の内容が含まれる。
・断片化されたファイルの該当部分が保存されているファイルストレージサーバを識別するために必要な一意のネットワークタグ、SDNPアドレス、または擬似アドレス。
・「ストレージ側」のセキュリティゾーン(クライアントのゾーンではない)でファイルをエンコードするために使用されるセキュリティクレデンシャル情報を定義するゾーンの説明。
・保存前のファイルのエンコード中に使用された数値シードまたは時間またはステート920を含むことができるシード1。
・保存操作の一部としてファイルエンコーディングを実行するために使用される数値シード929を含むことができるシード2。
・ゾーンU7の「ストレージ側」の暗号化を解読するための復号鍵1030を含む鍵1。この鍵は、ファイルストレージサーバの一部として動作するDMZサーバに保持されている共有秘密と組み合わせて使用したり、数値シードなどの別のセキュリティクレデンシャル情報と組み合わせたりしてのみ操作できる部分的な復号鍵を表すことができる。
・クライアントに送信され、対称鍵暗号化を使用してクライアントからファイルストレージサーバに安全な命令を送信するために使用される暗号鍵1022を含む鍵2。
・クライアントが保存方法を明らかにすることなく、保存ファイルを識別できるようにするために使用されるファイル名またはその他の情報。
前述のデータパケットは説明目的で用いられたものであり、データパケットの内容を、例示されているものとまったく同じ要素または形式に限定するものとみなしてはならない。SDNPクライアントノードC1,1にて受け取られるFSリンク1720Xは、断片化されたファイルの保存に参加しているファイルストレージサーバから受領した後、クライアントのデバイスのファイルリンクを作成するために処理される。図89Dに示されるように、この操作により、複合操作1753を使用してFSリンク1741A、1741B、及び1741Cが組み合わされて、FSリンク集約体「ファイルストレージ読み取りリンク」1754が生成される。ファイルストレージリンク1754は、クライアントのハイパーセキュアテキストメッセンジャまたはファイル管理システムにポストされ、ハイパーセキュアファイルをシングルボタンで簡単に呼び出すことができるようにする。ハイパーセキュア操作はユーザから見えない。ファイルの所有者は、ファイルが実際に分散ファイルストレージシステム全体にわたって断片化、エンコード、及び保存されている事実を考慮する必要はない。ファイルの再コールは、ファイルがローカルに存在しているかのように行われる。したがって、FSリンクは、分散ファイルストレージシステム全体に保存されているすべてのファイルにアクセスするための重要な要素である。
FSリンク通信の簡略化した表現を図90Aに示す。ここでは、3台のファイルストレージサーバすべてがそれぞれのFSリンクをクライアントノードC1,1及び対応するクライアントデバイス1700Aに送信する。具体的には、ファイルストレージサーバ1700HはFSリンク1を、ファイルストレージサーバ1700MはFSリンク2を、ファイルストレージサーバ1700LはFSリンク3を送信する。クライアントデバイス1700A内では、クライアントノードC1,1のSDNPアプリソフトウェアが、3つの入FSリンク1、2、及び3をまとめて、保存ファイルへのひとつのリンクを形成している。この結合されたリンクは、ファイルストレージの確認としてSDNPメッセンジャーに表示される。非冗長ファイル管理では、FSリンク情報はクライアントデバイスにのみ送信される。ユーザファイル管理の場合、ファイルの格納が要求された時点、または確認メッセージの受信時にファイルリンクに名前を付けることができる。
ファイルストレージリンクは、シグナリングサーバを介してではなく、ファイルストレージサーバからクライアントに直接送られるため、リンクを持つクライアントのみが当該ファイルにアクセスできる。このFSリンクは、断片化されたファイルを呼び出して読み取るために必要となる。FSリンクがなければ、保存ファイルとその内容は永久に失われ、不可逆的に回復不能となる。FSリンクが失われてしまうリスクを低減するための代替手段として、FSリンクを2つのクライアントデバイス、すなわちクライアントデバイスとその補助デバイス、に送信する方法がある。補助デバイスは、クライアントが所有する2番目のデバイス、あるいはビジネスケースでは会社が所有する2番目のデバイスとすることも考えられる。さらに別の考え方として、独自のログインセキュリティとユーザID検証機能を備えたもう一台のサーバを第2のデバイスとしてもよい。
本明細書に従って作成された断片化された分散格納ファイルへの冗長リンクアクセスは、読み出し冗長性のあるファイルストレージシステム(すなわちRRF≧1)、及び非冗長性ファイルストレージシステムの両方に適用できる。図90Bに、読み出し冗長性のない(RRF=0)ハイパーセキュア分散メモリシステムにおける冗長リンクの使用例を示す。このようなシステムでは、パースされたファイル1706A、1706B、及び1706Cと、それらに対応するファイルストレージサーバ1700H、1700M、及び1700Lとの間のファイルマッピングは冗長構成ではない。図に示されるように、FSリンク1、2、及び3は、2つのクライアントデバイス、すなわちSDNPクライアントノードC1,1をホストする1700Aと、バックアップクライアントノードC2,1をホストする補助クライアントデバイス1700Bに送信される。これらのFSリンクのうちの1つが失われた場合、または何らかの理由で使用できなくなった場合、バックアップクライアントのFSリンクをファイルの回復に使用できる。この点で、このSDNP分散ストレージシステムは、単一リンクの冗長性を備えた非冗長読み出し実装、すなわちRRF=0及びLRF=1である。
読み出し冗長性とリンク冗長性の両方を備えたハイパーセキュアメモリの例を図90Cに示す。この図で、パースされたファイル1、2、及び3はそれぞれ2つのファイルストレージサーバにマップされている。つまり、読み出し冗長性係数RRF=1を実現している。また、各FSリンクが2つのクライアントに送られ、リンク冗長性係数LRF=1を実現している。読み出し及びリンクの両方に関連する障害に対するストレージシステムの耐性は、システムが全体的なストレージ冗長性係数SRF=1を持つ真の冗長ハイパーセキュアファイル管理システムと見なされることを意味する。本開示では、ストレージの冗長性係数SRFを、RRFとLRFの最低値に等しい冗長性係数として定義している。例えば、RRF=0及びLRF=1の場合、SRF=0となる。もしRRF=3及びLRF=2であれば、全体的なストレージの冗長性係数はSRF=2となる。全体的なシステムSRF=3を実現するには、各パースされたファイルを4つの別個のファイルストレージサーバ(前記図85C参照)に保存し、FSリンクを4つの別個のクライアントに送信する必要がある。
したがって、全体的なストレージ冗長性係数SRFは、障害からの分散ストレージシステムの復元力の直接的な尺度となる。この原理は、図91のグラフに要約されている。グラフの横軸はファイルストレージシステムで使用されるファイルストレージサーバの数を示し、縦軸は個別のクライアントに送信されるFSリンクの数を示している。図に示されるように、単一のファイルストレージサーバには冗長性はない。つまり、RRF=0である。ファイルストレージデバイスの数を増やせば読み取りの冗長性は向上するが、リンクの冗長性には影響しない。逆に、単一のクライアントにリンクを送信してもリンクの冗長性は得られない。つまり、利用可能なファイルストレージサーバの数に関係なくLRF=0となる。いずれの場合も、つまり、1つのストレージサーバまたは1つのクライアントリンクでは、全体としてストレージ冗長係数はSRF=0である。つまり、L形の領域に図示されているように、ファイルストレージシステムには復元力がないことを意味している。
図に示す通り、前述のように3つに分割されたパースされたファイルを3つのファイルストレージサーバに保存すると、読み出し冗長性係数はRRF=1となる。少なくとも2つのクライアントがFSリンクを受信すると、LRF≧1のリンク冗長性が実現される。LRF=1またはRRF=1のいずれかの組み合わせにより、SRF=1であるL字型領域1724Bが得られる。つまり、ある程度のシステム復元力が得られる。6台のサーバが使用されている場合であっても、FSリンクが2つのクライアントにしか送信されない場合には、システムは限られた程度の復元力、つまりSRF=1しか得られない。
FSリンクを3つのクライアントに送信し、6つのストレージサーバにデータを冗長的に保存することにより、領域1724Cは、かなり堅牢なストレージ復元力であるSRF=2を達成する条件を定義している。領域1724Dは、復元力がさらに強化されたRF=3を示しており、6つのファイルストレージサーバと、鍵を受信する4つのクライアントを使用している。左下隅(一番下の行と一番左の列)ストレージの復元力が最も低く、右上隅のストレージの復元力が最も高くなっている。
本開示に従って作成されたハイパーセキュア分散ファイルストレージは、SDNP通信から多くの独創的な要素を状況に合わせて順応、すなわち再利用することによって、長期的な持続可能なセキュリティを実現する。こうした独創的な要素には次のようなものが挙げられる。
・ファイルをパースし、断片化されたコンテンツを、ネットワークに接続されていない多数のファイルストレージサーバに配布する、
・DNPがマスターキーを用いずに暗号化した匿名の断片化データ転送を動的にスクランブルするエンドツーエンドのハイパーセキュア通信を使用してクライアントとファイルストレージサーバ間でファイルを転送する、
・トレージサーバが保存データを最初に断片化及びエンコードするときに使用されるクライアントのセキュリティクレデンシャル情報にアクセスできない方法、つまりファイルストレージサーバがファイルをデコード、アクセス、または読み取るために必要とされる「クライアント側」のラストマイルセキュリティクレデンシャル情報を保持しない方法で、ファイルストレージサーバに断片化されたファイルを保存する、
・オプションとして、クライアント(ファイル所有者)が、セキュリティリンクを用いる方法を別として、格納データをデコードするために必要とされるセキュリティクレデンシャル情報を持たない方法、すなわち「クライアントサイド」のラストマイルには、ファイルをローカルでエンコードするために使用される「ストレージ側」のラストマイルセキュリティクレデンシャル情報を保持しない方法を用いて、ストレージサーバで断片化ファイルをエンコードする、
・ファイルを見つけて開くために必要なファイルストレージリンクの数を制限し、ファイル所有者のクライアントデバイス及びすべての冗長またはバックアップデバイスへのリンクに対するユーザクセスを制限する、
・ファイルリンクを実行し、読み取りまたは消去操作を呼び出すには、クライアントの多要素認証と身元検証を求める、
・匿名データパケットルーティングと匿名ファイル名の使用。データの再呼び出しにファイルリンクを使用することで、ハイパーセキュリティファイルストレージの場所または符号化に関する情報が明らかにされず、ファイルリンクを除き、ルーティング情報がSDNPネットワークやハイパーセキュアファイルストレージシステムにも保存されない、
・非公開のファイルサーバの場所を使用し、クライアント、SDNPネットワーク、またはその他のストレージサーバには情報が存在しない匿名IDを使用して、断片化されたファイルを複数のストレージサーバに分散する、
・分散型ストレージのファイルルーティングの計画作成に使用されるSDNPシグナリングサーバが、ファイルのエンコードに使用される断片化ファイルの内容やセキュリティクレデンシャル情報にアクセスせず、またファイルコンテンツの転送に使用されるSDNPメディアノードがクライアントまたはファイルストレージサーバのIDまたはアドレスを含まないシングルホップSDNPデータパケットを使用する、トライチャネル通信を採用する、
・ファイルへの定期的なアクセスや反復アクセスがなされた後には、動的なファイル名の変更とデータの再配置を実施し、ファイルの書き換え操作の際にはセキュリティクレデンシャル情報を作成しなおす、
・ファイルストレージサーバのディレクトリをローカルで暗号化し、ファイルの解析を阻止する。
上記により、識別可能なファイルIDの除去、ネットワーク全体に分散した断片化ファイルの使用(おそらく世界規模で)、そしてゾーン固有のセキュリティクレデンシャル情報の使用により、ファイルストレージリンクへのアクセスなしでは実現できないハイパーセキュアな保存ファイルへのアクセスとその再構築が可能になる。これらのFSリンクは、その数が制限され、SDNP通信システムのみを介して配信されるため、身元検証によってその安全性がさらに強化される。
ハイパーセキュアファイルストレージの前記機能の実行の概略は、既出の図9Aに示した機能シンボルを用いたハイパーセキュア通信と同様の方法で表すことができる。説明を簡素化するため、図92の上のイラストに示されるように、ステートまたは時間926Cを使用するスクランブル化926、ジャンクデータ挿入1053、パース1052及び分割1057、及び暗号化1026の任意の組み合わせを、SDNPエンコード機能1750で表すことができる。同様に、デコード機能1751は、ステートまたは時間926Bを使用した暗号化1032、ミキシング1061、ジャンクデータ除去1053B、及びアンスクランブル化928をまとめたものである。
前述のセキュリティ機能を用いて、図93Aの上部のイラストに、クライアント側のエンコーディングによる分散ファイルストレージのプロセスを示す。図に示されるように、ファイル1705は、SDNPクライアントC1,1を実現するために使用されるクライアントデバイス1700A内でパースされたファイル1706を作成するためのパースされた1052と分割された1057である。結果として得られた断片化ファイルは次に、本明細書で開示される方法に従って実行されるラストマイル通信のSDNPエンコード操作1750BによってゾーンU1のセキュリティクレデンシャル情報を使用してエンコードされる。順次またはマルチルートのラストマイル通信で送信される断片化ファイルはこの後、SDNPゲートウェイM0,0に届き、ゾーンU1のセキュリティクレデンシャル情報に従ってSDNPデコード操作1751Cを使用してデコードされ、パースされたファイル1706を回復する。パースされたファイル1706は、SDNPクラウドのゾーンZ1セキュリティ認証情報に従い、SDNPエンコード操作1750Cによって再エンコードされる。メッシュトランスポート中、SDNPクラウドで一連のゾーンZ1でのデコード及びエンコード操作(図示せず)の実行後、最終データパケットは、例えばゲートウェイM0,8などそれぞれのSDNPゲートウェイに到着し、そこでSDNPデコード操作1751Dによりパースされたファイル1706が回復され、続いてゾーンU9セキュリティクレデンシャル情報に従ってSDNPエンコード操作1750Dにより再エンコードされる。この例では、次にパースされたファイル1706が2つのファイルに断片化(分割)され、これらのファイル2と3はSDNPデコード機能1751Eにより回復され、ファイルストレージサーバ1740Bと1740Cにそれぞれ保存される。この方法では、ファイルストレージサーバに保存されているデータファイルは断片化されるが、そうでなければ(ローカルドライブの暗号化を除く)、これらのドライブデータのサイバー攻撃によってアクセス可能になってしまう。そのため、ファイルの断片化と分散ストレージによってセキュリティを実現している。
図93Aの下部のイラストに示されているプロセスを使用することで、より高いレベルのファイルセキュリティが達成される。ここには、完全なクライアント側エンコーディングによる分散ファイルストレージのプロセスが示されている。図に示されるように、ファイル1705は、SDNPエンコード操作1750Aによって処理され、SDNPクライアントC1,1を実現するために使用されるクライアントデバイス1700A内のスクランブル化され、暗号化され、パースされたファイル1706を作成する。操作1750Aには、ファイル1706を3つの断片化ファイル1、2、及び3に分割する操作も含まれる。断片化されたファイル1、2、及び3は次に、本出願で開示される方法に従って実行されるラストマイル通信のためのSDNPエンコード操作1750Bにより、ゾーンU1セキュリティクレデンシャル情報を使用してエンコードされる。順次またはマルチルートのラストマイル通信で送信されたこれらの断片化ファイルはこの後、SDNPゲートウェイM0,0に届き、スクランブル化され、暗号化され、パースされたファイル1706を回復するゾーンU1のセキュリティクレデンシャル情報に従ってSDNPデコード操作1751Cを使用してデコードされる。パースされたファイル1706は次に、SDNPクラウドのゾーンZ1セキュリティクレデンシャル情報に従い、SDNPエンコード操作1750Cによって再エンコードされる。
メッシュ伝送中、SDNPクラウドで一連のゾーンZ1でのデコード及びエンコード操作(図示せず)の実行後、最終データパケットが、例えばゲートウェイM0,8などそれぞれのSDNPゲートウェイに到着し、そこでSDNPデコード操作1751Dによりパースされたファイル1706を回復し、続いてゾーンU9セキュリティクレデンシャル情報に従ってSDNPエンコード操作1750Dを使用してこのファイルを再エンコードする。スクランブル化、暗号化、パースされたファイル1706の断片化ファイル2及び3は、この後、SDNPデコード機能1751Eを使用して回復され、ファイルストレージサーバ1740B及び1740Cにそれぞれ保存される。したがって、このファイルは断片化された分散ストレージだけでなく、スクランブル化、ジャンクデータ、及びクライアントのセキュリティゾーンのみが知っている暗号化の組み合わせによっても保護される。同様に、ファイル1はSDNPクラウドを介してゲートウェイM0,4に転送され、図88のパケット1712Aに示す通りに、ゾーンU7のファイルストレージ1700Hに格納される。
説明したこれら2つの例において、図93Bのイラストに示されているように、最後のSDNPデコード操作1751Eを除去することにより、より高度なセキュリティを実現できる。このようにして、ファイルストレージサーバに保存されるファイルは、ゾーンU9セキュリティクレデンシャル情報を使用してSDNPエンコード操作1750Dによりエンコードされた状態を維持する。図の上側のイラストでは、ファイルはクライアントによって断片化されているが、エンコードはゾーンU9のストレージ側のセキュリティクレデンシャル情報に従って行われる。図の下側のイラストでは、ファイルはクライアント側のセキュリティクレデンシャル情報U1に従ってエンコードされ、ゾーンU9のストレージ側のセキュリティクレデンシャル情報に従って2回目のエンコードが行われる。断片化された分散ファイルストレージによって保護に加えて、このような二重にエンコードされたファイルは、ゾーンU9セキュリティクレデンシャル情報によってエンコードされたファイルの中にU1セキュリティクレデンシャル情報によってエンコードされたファイルが含まれるため、ネストされたハイパーセキュリティストレージと表現される。本明細書で開示しているネストされたセキュリティの利点は、保存されたファイルを開くために必要な情報がクライアントにもストレージサーバにも存在しないことである。
ハイパーセキュリティ非集約型ファイルストレージを実装する例示的な方法の概要を図94に示す。この図に示す例では、ハイパーセキュア通信とSDNPクラウドルーティング用に使用されているエンコードとデコードを除去し、ファイルエンコードの正味の効果のみを示している。左上隅は、クライアントゾーンの断片化のケースを示している。ここで、ドキュメントはゾーンU1のセキュリティクレデンシャル情報に従って断片化されているが、ネットワークのストレージ側によって課される追加のセキュリティ対策は存在しない。左下隅は、クライアントゾーンでのエンコーディングのケースを示している。ここで、ドキュメントは操作1750Bによってエンコードされる。すなわち、ネットワークU1のセキュリティクレデンシャル情報に従ってスクランブル化、ジャンク化、フラグメント化、及び暗号化される。ただし、ネットワークのストレージ側ではセキュリティ対策は行われていない。
右上隅は、クライアントゾーンU1でのフラグメント化のケースを示しているが、SDNPエンコードの追加のステップ、つまりスクランブル化、ジャンク挿入、フラグメント化、及び暗号化が、ゾーンU9に従ってストレージ側に導入されている。右下隅は、完全にネストされたハイパーセキュアファイルストレージの例である。ファイルは、ゾーンU1のクライアント側セキュリティクレデンシャル情報を使用したSDNPエンコード操作1750Bに従ってエンコード及びフラグメント化され、その後、ストレージ側のラストマイルのゾーン9のセキュリティクレデンシャル情報に従ってファイルが2回エンコードされる。
ファイルを呼び出して読み取るには、データの再呼び出しに、図95に示されるように、正確に逆順にエンコードを実行する逆機能を含むセキュリティ操作を使用する必要がある。左上のケースでは、クライアントゾーンの断片化されたデータを呼び出すために、異なるファイルストレージサーバから呼び出されたパースされたファイル1706が、マージ操作1061を使用して再結合され、元のファイル1705を回復する。左下はクライアントゾーンのエンコードされたデータを再呼び出しするケースで、ここでは異なるファイルストレージサーバから再呼び出しされたパースされたファイル1706が、ミキシング、復号化、アンスクランブル化を含む分割操作1750Bの完全な逆機能であるSDNPデコード操作1751Hを使用して回復され、元のファイル1705にアクセスする。ストレージゾーンでエンコードされ、クライアントゾーンで断片化されたファイルの右上のケースでは、逆方向の操作が次のように実行される。まず最初に、SDNPデコード操作1751Fを実行してゾーンU9セキュリティ操作の結果を取り消してパースされたファイル1706を回復し、続いてファイルマージ操作1061によりゾーンZ1セキュリティクレデンシャル情報に従って行われたファイル分割操作1057の結果を取り消す。
完全にネストされたハイパーセキュアファイルを読み取る右下の例では、異なるファイルストレージサーバに格納されているデータが、ゾーンU9のセキュリティクレデンシャル情報を使用してSDNPデコード操作1751Dによって、デコード、スクランブル化、ジャンク化、パース、及び暗号化された状態のマルチパートファイル1706を再構成する。次に、ゾーンZ1固有のSDNPデコード操作1751Hは、エンコーダー1750Bの順次逆機能、すなわちミキシング(混合)、復号化、アンスクランブル化の操作を実行し、元のファイル1705を呼び出す。ファイルを回復するために順次逆機能を実行する操作は、当該ファイルの作成時に使用された一連の操作を逆の順序で実行する必要がある。例えば、エンコードが、分割、スクランブル化、及び暗号化の順に行われた場合、逆の機能であるデコードは、復号、アンスクランブル化、及びミキシング(混合)の順に操作を実行する必要がある。ただし、データパケットの順次エンコードが、スクランブル化、暗号化、そしてパケット分割の順に行われた場合、逆の機能であるデコードは、ミキシング、復号化、そして最後にアンスクランブル化の順に操作を行う必要がある。
ファイルの呼び出し、すなわち「ファイル読み取り操作」を実行するには、クライアントが「ファイルストレージ読み取りリンク」をクリックして集約型ファイルリンクを呼び出し、システムのハイパーセキュアファイルストレージシステムに格納されているファイルを呼び出して読み取るために必要な手順を開始する。読み取りプロセスでは、図96Aに示す以下の手順が実行される。
・ファイル所有者とクライアント1700Aまたは許可ユーザは、SDNP対応ハイパーセキュアメッセンジャ1196、ファイルマネージャ、またはその他のSDNP対応インターフェイスなどのSDNPアプリケーションで「ファイルストレージ読み取りリンク」をクリックする。
・ダイアログインターフェイス1765、またはオプションでコマンドライン命令を使用して、クライアント1700Aはファイル要求1761を指定する。これには、ファイルの読み取り、ファイルの編集(書き込み権限でファイルのコピーを作成)、ファイルの消去(削除)、リンクの更新(セキュリティクレデンシャル情報の再発行)、またはファイルの再配布(ファイル断片を異なるファイルストレージサーバに移動し、ファイル所有者クライアントに新しいファイルストレージ読み取りリンクを発行)といった操作が含まれる。
・「クライアントの検証」操作1762では、SDNPシグナリングサーバ1715が、ファイル(認証)を要求する1つまたは複数のクライアントの身元を確認する。ダイアログボックス1767を使用して、クライアントは、PIN、及びオプションでデバイスまたはセキュリティトークンの検出などの2番目の要素を使用して身元を確認する必要がある。別の方法として、同じクライアントが所有する別のデバイスにSMSテキストを送信することもできる。複数のクライアントによるアクセス承認を必要とするファイルの場合、すべてのユーザの身元を検証しなければならない(マルチ認証)。
・「特権の検証」操作1763では、シグナリングサーバ1715は、要求側クライアント1700Aが読み取りまたは読み取り/消去特権(許可)で要求ファイルへのアクセスを許可されていることを確認する。結果がダイアログボックス1768に表示されてから、ユーザがファイルのダウンロードまたは読み取りを希望しているかどうかを確認する。身元の確認がとれなかった場合、要求側は再試行するように指示される場合がある。指定した試行回数に達すると、ファイル管理者1700Z(存在する場合)に失敗した試行が通知され、アカウントがロックされる。ダイアログボックスは、この問題をファイル管理者に伝えるよう当該ユーザに通知することがある。または、ハッキングの疑いがある場合は、ダイアログボックスが空白になったり、SDNPアプリケーションからユーザが完全に追い出されたりすることさえある。
・文書要求管理操作1764では、SDNPシグナリングサーバ1715は、ファイルアクセス管理者にファイルアクセス要求とその要求(管理)の性質についてファイルストレージ管理者1700Zに通知する。この管理手順は次のいずれかとなる。(i)完全にスキップされる、(ii)ファイルアクセス管理者のアカウントにファイルアクセス要求を記録する、(iii)ファイルストレージ管理者にメッセージを送り、試行されたファイルアクセスについて直ちに通知する、または(iv)ファイルを要求しているクライアントにアクセス許可を与える前に、ダイアログボックス1769を介してファイルストレージ管理者の承認を求める。
これらの認証、承認、及び管理(AAA)ステップの後、承認が得られると、クライアントは図96Bのフローチャートに示すステップを使用してファイルへのアクセス要求を行う(この図では説明用に読み取り要求として使用)。これらの手順には以下が含まれる。
・読み取り要求操作1770では、要求側クライアント1700Aはファイル読み取り要求をSDNPシグナリングサーバ1715に送信する。
・ストレージサーバ名要求操作1771において、SDNPシグナリングサーバ1715は、ファイルストレージサーバ名要求をSDNPネームサーバ1714に送り、関連するファイルストレージサーバ(例えば、ファイルストレージサーバ1700M)の現在のSDNPアドレスを要求する。SDNPのメソッドに従って、SDNPクライアント(ファイルサーバを含む)のSDNPアドレスは、少なくとも1日に1回は変更され、長期的なクライアントの長期的なトレーサビリティから保護される。
・ストレージ名配信操作1772において、SDNPネームサーバ1714は、要求されたファイル名「FSアドレス」をSDNPシグナリングサーバ1715に配信し、それに従ってSDNPシグナリングサーバはファイル呼び出しルーティングを設定する。
・ルーティング指示操作1773で、SDNPシグナリングサーバは、ファイルルーティング指示をクライアント1700A、サーバ1700UなどのSDNPクラウド内のノード、及びファイルストレージサーバに対して送信する。このとき、ステートまたは時間920、数値シード923、復号鍵1030、及びオプションの暗号鍵1022(対称鍵暗号化通信で使用)を含むゾーンU9セキュリティクレデンシャル情報を用いる。
・ローカルファイルリカバリ操作1774では、ファイルの作成に固有の状態ないし時間情報を含む適用可能なセキュリティ認証情報を利用して、すべてのストレージ側ラストマイルのDMZサーバが、パースされたファイルをデコードし、回復し、伝送するための準備としてこのデータを1つ以上のデータパケットにまとめる。
・ファイル配信操作1775では、パースされた各ファイルが、SDNPシグナリングサーバのルーティング指示に従い、SDNPネットワークを介した独立した配信を使用して、要求元クライアントに配信される。例えば、ファイルストレージサーバ1700Mがそのファイルをクライアント1700Aに送信する。
・受信したパースされたデータファイルは、クライアントゾーンのセキュリティ認証情報に従ってさらにデコードされ、このパースされたファイルはマージされ、表示または転送が可能な元のパースされたファイルが再作成される。
これらの手順は、以下の一連の図に示されている。図97Aにおいて、アドレス「IP C1,1」のクライアントデバイスは、データパケット1810Aを使用してアドレス「IP S」のシグナリングサーバ1715に対してファイル読み取り要求を出す。この要求には、TCP伝送、ファイルに関連するヘッダ情報、及び2つ以上のFSリンクを指定するC&Cペイロード1811Aが含まれる。FSリンクには、ルーティングのためにSDNPアドレスまたはIPアドレスに変換する必要があるタグないし疑似アドレスを用いて、保存されたファイル断片の場所が匿名で記述されている。ただし、シグナリングサーバ1715は、これらの名前付きユーザIDの現在のSDNPアドレスを知らないため、SDNPネームサーバ1714に現在の情報を要求する必要がある。図97Bで、シグナリングサーバ1715は、データパケット1810Bをネームサーバ1714に送信して、ファイルストレージサーバノードF7、1、F9、4、及びF9、1のIPアドレスまたはSDNPアドレスを要求する。図97Cでは、シグナリングサーバ1714は、データパケット1810Cをネームサーバ1714に送信して、ファイルストレージサーバノードF7、1、F9、4、及びF9、1のIPアドレスまたはSDNPアドレスを要求する。シグナリングサーバ1715は次に、ファイルストレージサーバへのパースされたファイルのラストマイル及びメッシュクラウドによる配信を計算する。
図97Dのシグナリングサーバ1715は、ストレージ側にあるラストマイルノード、すなわちゾーンU7及びU9にC&Cデータパケットを送信する。図に示されるように、データパケット1810Gは、アドレスSのシグナリングサーバ1715から、アドレス「IP F7,1」のファイルストレージサーバ1700Hに転送され、「ファイル1読み取り命令」1811Gを含むC&Cペイロードを運ぶ。このパケットは、U7セキュリティクレデンシャル情報を使用して、アドレス「IP F7,1」からアドレス「IP M0,4」のSDNPゲートウェイにIDタグ1のファイルを送信するようファイルストレージサーバに指示する。同時に、データパケット1810Fは、SDNPゲートウェイM0,4に送信される。このパケットはアドレス「IP S」から「IP M0,4」にルーティングされ、C&Cペイロード1811Fを含んでおり、タグ1を含むデータパケットがゲートウェイノードM0,4によって期待されていること、データパケットの受信後にZ1セキュリティクレデンシャル情報を用いてSDNPクラウドで、例えばアドレスSDNPM0,31に転送されることが伝達される。
2番目のデータパケット1810Iは、「ファイル3読み取り命令」を含むC&Cペイロード1811Iを含んでおり、アドレス「IP S」のSDNPシグナリングサーバ1715からアドレス「IP F9,1」のファイルストレージサーバ1700Mに送信される。この命令は、ファイルストレージサーバ1700Mに、IDタグ3を持つファイルを、ゾーンU9セキュリティクレデンシャル情報を使用してアドレスIP M0,8のSDNPゲートウェイに送信するように指示している。他のC&Cパケット(図示せず)は、他のファイルストレージサーバ及びゲートウェイ(ノードF9、4、M0、8など)、及びSDNPクラウド内のノードに同様に送信される。
図97Eでは、シグナリングサーバ1715は、データパケット1810Dをクライアントデバイス1700Aに送信する。このパケットはアドレス「IP S」からルータ1702Gを介して「IP C1,1」にルーティングされる。データパケット1810Dは、ゾーンU1セキュリティクレデンシャル情報を使用して、アドレス「IP M0,0」のSDNPゲートウェイ1701Uからタグ1、タグ2などのIDを持つ複数の着信データパケットが予期されることをクライアントに通知するC&Cペイロード1811Dを含む。同時に、シグナリングサーバ1715は、データパケット1810EをSDNPゲートウェイ1701Uに送信する。このパケットはアドレス「IP S」から「IP M0,0」にルーティングされる。このパケットには、SDNPクラウド内から転送されるタグ1、タグ2、及びタグ3パケットとして識別される着信データパケットに適用可能なゾーンU1のラストマイルルーティング用のC&Cペイロード1811Eが含まれる。
コマンド及び制御データパケットがネットワークに配信されると、ファイル転送が実行される。この転送の最初のステップを図98に示す。ここで、FSリンク3を含むデータパケット1741Rは、例示されている状態920、数値シード929、復号鍵1030、及び暗号鍵1022などの情報をSDNPデコード動作1751Rに提供する。SDNPデコード操作1751Rのため、この情報はDMZサーバ1752によって処理され、パケット復号化1032R、ミキシング1061R、ジャンク除去1053R、及びアンスクランブル化928Rなどの共有秘密を含む機能を実行する。これらの実行はすべて状態920、すなわちパースされたファイルが最後にエンコードされたときの状態で行われる。暗号鍵1022は、ファイルをデコードするために特に必要ではないが、パースされたファイルをクライアント及びファイル所有者に返送するための対称鍵暗号化に使用することができる。
図99に、ファイルのルーティング及びデータ伝送について示す。ここでは、TCPデータパケット1720AでU7セキュリティクレデンシャル情報を用いてアドレス「IP F7,1」から「IP M0,4」にファイル1が送信され、TCPデータパケット1720BでU9セキュリティクレデンシャル情報を使用してアドレス「IP F9,4」から「IP M0,8」にファイル2が送信され、TCPデータパケット1720CでU9セキュリティクレデンシャル情報を使用してアドレス「IP F9,1」から「IP M0,8」にファイル3が送信される。SDNPクラウドを介した伝送の後(図示せず)、一連のデータパケット1720Xが、アドレス「IP M0,0」のSDNPゲートウェイからクライアントアドレス「IP C1,1」に配信される。
読み取り操作では、データは「読み取り専用」形式でSDNPアプリにロードされる。ファイルがSDNPアプリケーション内でサンドボックス化されている限り、ファイルはSDNPアプリケーションとネットワークの機能によって保護され、デバイスのオペレーティングシステムのログイン手順や脆弱なセキュリティ対策には依存しない。私的文書への読み取り専用アクセスの必要性が企業の間で広まっている。企業の財務、法務、製造、エンジニアリング、品質管理などの部門によって作成されるファイルの多くが、読み取り専用の内容であることを表す資料の例となっている。多くの場合、これらの企業の社内ファイルは、公開前に審査のために企業の幹部に転送、つまり電子的に配布する必要がある。
配布された情報の偶発的または時期尚早の公開は計り知れない影響があり、企業にとって深刻な経済的または法的な影響、さらには役員に対する個人的責任を伴う。例えば、上場企業の未公表の財務報告は、公開されるまでは厳密に機密が維持されている。米国では、規制FD、すなわち「公正な開示」とは、優先権なしに万人に対して同時に情報が公開されなければならないことを意味している。外部の当事者が公開前にこのような情報にアクセスした場合、それは規制FDへの違反となる。会社が文書の機密性を維持及び保証する義務を怠ったために規制FD違反が発生したと裁判所が判断した場合、会社はその違反により罰せられる可能性があり、役員は、選択的開示に起因するインサイダー取引でない場合であっても、個人的に責任を問われる可能性がある。
SDNPアプリ内では、取得したファイルは区分化(サンドボックス化)されて、あるアカウントIDから別のアカウントIDへのデータの転送ができないように保護される。例えば、ファイルは、ビジネスアカウントと個人アカウントとの間で交換できない。読み取り者の承認特権に応じて、ユーザは取得したファイルをSDNPアプリケーションからダウンロードして、デバイスメモリのエンコードされていないストレージにダウンロードすることが許可される場合とされない場合がある。SDNP対応アプリケーションの外部でファイルをダウンロードすると、ファイルとそれに含まれるデータのセキュリティが侵害される。SDNPアプリケーション内にあるデータの場合、アクセスが制御され、ユーザのアクションが制限され、デバイスとSDNPネットワークがいずれもユーザの身元を確認しなければならない。このような多層型の多要素認証を打ち破るのは、携帯電話を開くために必要な単純な4桁のピンを無効化するのに比べ、はるかに困難である。それとは対照的に、ファイルがコンピュータ、タブレット、または携帯電話にダウンロードされてしまうと、不正アクセスを防止したり、アクセスした人物を特定したり、ファイルのコピーを作成した人物を特定することはほぼ不可能となってしまう。
そのため、SDNP通信を使用して、ファイル所有者は機密の文書やファイルをロック、つまりコンパートメント化することができる。これで、文書やファイルを他人が読むことはできるが、携帯電話にはダウンロードできないようになる。追加の手順を使用して、LCDディスプレイのスクリーンショットまたは写真撮影を防止することも可能である。セキュリティやプライバシーが求められないその他のケースでは、取得したファイルをSDNPアプリから携帯電話のメモリへ転送することが可能になり、制限なく使用できる。
編集操作では、編集可能な形式のファイルがデバイスにダウンロードされ、ファイルの編集に必要なアプリケーションプログラムに渡される。ファイル要求とデータ交換の実行に関しては、SDNPネットワーク操作でのファイル読み取り要求とファイル編集要求との基本的な相違は、クライアントのSDNPアプリケーションの操作である点を除けば、存在しない。つまり、SDNPネットワークでのデータ転送という観点からは、これらの操作は機能的に同じである。したがって、読み取り操作と編集操作の違いは、主にアプリケーション固有のファイルで構成されるレイヤ5からレイヤ7の実行にあると考えることができる。
取得したファイルを編集するアプリケーションには、(i)デバイスのオペレーティングシステムにネイティブであるが、SDNPアプリケーションの外部で動作するデバイス埋め込みアプリケーション(Simpletextなど)、(ii)デバイスのオペレーティングシステム上にあるが、SDNPアプリケーションの外部で実行されるサードパーティアプリケーション(例えば、Microsoft Word、Adobe Acrobatなど)、または(iii)SDNPアプリケーション内で実行され、デバイスまたはそのオペレーティングシステムから直接にはアクセスできない安全なアプリケーションが挙げられる。例えば、企業のプレスリリースはSDNPアプリケーションサンドボックス内で編集できるが、携帯電話のメモリにはダウンロードできない。ビジネスのセキュリティを維持するための追加の対策として、会社が所有するすべてのファイル、すなわちSDNPビジネスアカウントコンパートメントにサンドボックス化されているファイルは、同じSDNPアプリケーション内で実行されている場合であっても、ユーザの個人SDNPアカウントには転送できない。
編集後、編集されたファイルをSDNPのファイルストレージサーバに保存しても、当該ファイルの所有者が具体的にそうするように要求しない限り、既存のファイルは上書きされない。代わりに、当該ファイルの最初のバージョンに加えて2番目のバージョンが保存され、以前のバージョンを削除するには、当該ユーザがそのファイルに対して消去操作を実行する必要がある。ハイパーセキュアファイルストレージはID検証を必須としているため、編集されたファイルを保存するプロセスには、専用のハイパーセキュアネットワーク通信機能を備えていないファイルストレージでは利用できない独自のシステム機能が含まれる場合がある。このようなユニークな機能のひとつに、ファイルに署名して日付を入れる(またはアジアなら印鑑を押す)ために使用される署名検証機能がある。署名機能には、文書所有者及び元の文書作成者に送信される登録済み受領書が含まれる場合がある。
本明細書に従って作成されたハイパーセキュアデータストレージの場合、消去操作は、既存のパースされたファイルをすべて乱数で上書きし、さらにオプションで1時間後にもう一度乱数の上書きを実行して、保存されているビットの電荷または磁場の小さいが潜在的に検出可能なアナログ変動をさらに念を入れて曖昧化する。ファイルレコードも上書きされて、データドライブのファイルレコードが複雑に乱される。データとファイルレコードを消去した後、クライアントのデータリンクは、SDNPシステムの自己破壊メッセージ機能を使用してクライアントデバイス内で破壊され、FSリンクのすべての残余データはSDNPシステムから破棄される。ただし、ファイルシステム管理者がサードパーティのソフトウェアを使用してユーザ単位の活動を追跡していた場合、管理者は、削除されたファイル自体にはアクセスできなくても、ファイルの所有者及び作成日、ファイルを誰がいつアクセスしたか、いつ消去されたかなど、ファイルの履歴に関するメタデータを保持することができる。
SDNPネットワークとハイパーセキュアラストマイル機能は、個人アカウントのプロファイルとは異なる企業アカウントの機能や操作手順をサポートすることもできる。前述のように、個人アカウントの消去操作では、ジャンクデータのファイルへの書き換え、ファイルの存在を表すドライブ上のインデックスレコードの消去、自己破壊メッセージを使用したファイルの以前の断片化された格納場所を指し示すすべてのFSリンクの破壊などが行われる。ただし、企業アカウントの場合、ファイルストレージ管理者は、ファイルを完全に破棄するために事前の承認が必要とされる場合がある。例えば、図96Aのダイアログボックス1769と同様の承認プロセスを使用する(ただし、ファイルの所有者ではなく管理者に送られる)。
会社のファイル管理者がファイルの削除を許可しないことを選択した場合、次のようなシナリオが発生することが考えられる。(i)ファイル所有者にファイルが削除されないことが通知され、ファイル読み取りリンクがSDNPアプリケーションまたはSDNPコミュニケータのメッセージ履歴に保持される、(ii)ファイルが削除されないことがファイル所有者に通知され、例えば「アーカイブ目的」のために保存されるが、SDNPシステムの自己メッセージ破壊プロビジョン機能を使用して、SDNPアプリケーションから個人のファイル読み取りリンクが削除される、つまり、ファイル所有者がファイルを削除しようとすると、ファイルストレージ管理者しかこのファイルを呼び出せなくなる、または(iii)ファイル所有者の個人ファイル読み取りリンクは、SDNPシステムの自己メッセージ破壊プロビジョン機能を使用してSDNPアプリケーションから削除されるが、ファイル所有者には当該ファイルが会社によって保持されていることは通知されない。
本明細書で開示された匿名の断片化分散ファイルストレージシステムの動作に固有のラストマイルハイパーセキュリティにより、「ファイルストレージ読み取りリンク」がなければ、ファイルストレージ管理者であっても格納されたファイルを取り出すことはできない。管理者がファイルにアクセスするためには、そのファイルが保存または編集されるたびに、対応するファイルストレージ読み取りリンクが必ず必要なのである。企業アカウントではこのレベルの監視が可能だが、すべてのファイルに対するすべての変更を追跡することで生じる膨大な量のデータに対処するのは、どのようなファイル管理システムでも容易なことではない。本明細書で開示されているように、本SDNPシステムで可能なインテリジェントフィルタリングは、試行されたファイル消去のみを追跡する。このアプローチでは、管理者はファイルの作成を監視せず、ファイルの削除の試行のみを追跡する。ファイル所有者がファイルを削除しようとすると、そのときのみ、対応するファイルストレージの読み取りリンクが、承認またはアーカイブ目的で管理者のデータベースまたはコンソールに転送される。
データベースのサイズは、監視が必要とされる特定の従業員及び請負業者を指定することでさらに最小化できる。例えば、企業が財務監査または特許訴訟に関与することになった場合、通常はすべての関係当事者は関連するデータやファイルを消去しないよう通告される。本明細書で開示しているSDNPファイルストレージシステムによって有効化されたファイル管理機能を使用して、調査に関連するスタッフによるファイル消去の試行はすべて、そのログを取り、「その時点で」ファイルストレージリンクのコピーをファイルストレージ管理者に、または場合によっては独立した調査者に送信することにより追跡できる。このような方法は、監視対象のデータの量を制限するとともに、不正行為の隠蔽の試みを示唆する疑わしい活動を自然な形で管理者に警告するため、有益である。クライアントとファイル所有者のデバイス自体の破壊によるファイルストレージ名リンクの偶発的または悪意のある消失を防止するため、前述の冗長ファイルストレージリンクの使用は欠かせない。企業の場合、バックアップコピーは、セキュリティで保護されたオフィス内のコンピュータ、または会社の中央サーバに保持されているかもしれない。
例えば国家安全保障に関わるなど、極めて強固なセキュリティが求められる場合、ファイルの消去には次のような複数の手順を用いる方法が使用されるであろう。(i)ファイルをランダムデータで上書きする、(ii)ストレージドライブから他のすべてのファイルを他のストレージデバイスにコピーする、(iii)ドライブを一括消去する、(iv)ドライブを再フォーマットする、(v)ドライブのストレージフィールドを乱数で上書きする、及びオプションとして(vi)必要に応じて保存されているファイルをコピーする。従来のようなファイルデータの上書きと異なり、一括消去プロセスでは、読み書き記憶媒体自体に影響を与え、その電気的、磁気的、または光学的特性を分子レベルで自然にランダム化する。磁気ドライブの一括消去には大きな電磁石を使用できるが、フラッシュの一括消去にはICを高温にしたり、場合によっては高い動作電圧で電離放射線を照射したりする必要がある。磁気光学ドライブは、高磁場を使用して一括消去することができる。再書き込み可能型光学ドライブは、ディスクフォーマットトラックに対して横方向にスキャンされる明るいスキャンレーザーを使用することで一括消去できる。いずれにしても、一括消去は、消去後のストレージメディアにデータがまったく存在しなくなり、ストレージメディアが破損して二度と使用できなくなるリスクがある極端な例である。
ハイパーセキュア分散ファイルストレージシステムのもう1つの重要な要素は、ファイルデータとリンクアクセスの整合性の維持である。リンクが偶発的に失われないようにするには、その時々にファイルストレージの読み取りリンクを再確立、すなわち再確認し、セキュリティ認証情報を再発行することが有益となる。本明細書で「リンク更新」コマンドと呼んでいるこのプロセスは、クライアントから手動または自動で開始することができ、また事前定義された時間間隔でファイルストレージサーバから開始することもできる。クライアントから開始された要求の場合、SDNPシグナルサーバはコマンド及び制御パケットを対応するサーバに送信する。図100に示されるようにリンクの更新が開始されると、ファイルは、それらが以前にゾーンU9セキュリティクレデンシャル情報を用いて作成された時間t1の「古い」ステートであるステート320XでSDNPデコード操作1751Fにより読み取られデコードされる。ファイルは次に、時間t2で新しいステート920Yを使用してSDNPエンコード操作1750Dにより再エンコードされ、ストレージドライブに保存される。更新されたストレージリンク(例:FSリンク3)はこの後、SDNPネットワークを介してファイル所有者であるクライアントデバイス1700Aに返送される。結果として得られたファイルには、時間t2でゾーンU9のセキュリティクレデンシャル情報を用いて更新されたエンコードデータが格納される。ただし、元のファイルの作成とパースに使用されたゾーンU1のクライアントのセキュリティクレデンシャル情報は更新されない。このファイルを読み取るには、読み取り操作で最初に時間t2に対応する状態でゾーンU9セキュリティクレデンシャル情報を使用してファイルをデコードしてから、クライアントノードC1,1に転送した後、ファイルが最初に作成された時間に関連付けられたゾーンZ1のセキュリティクレデンシャル情報を使用してファイルをデコードする必要がある。
セキュリティを強化するためのもうひとつの対策として、ファイルの再配布操作により、選択したファイルストレージリンクのすべてのパースされたファイルを新しい、または異なるファイルストレージサーバに移動する方法がある。この操作では、パースされたファイルをまったく新しいサーバに送信するか、またはファイルを既存のストレージノード間で再配布することができる。いずれの場合も、セキュリティクレデンシャル情報が更新され、新しいファイルFSリンクが発行され、ファイルへのアクセス権のあるクライアントに送られる。この操作を図101に例を使って示す。ここで、ゾーンU7のファイルストレージSDNPノードF7,1のコンテンツは、そのファイルが作成された時間t1、ステート920Xを使用してSDNPデコード操作1751Hによりデコードされる。ファイルは次に、SDNPネットワーク(図示せず)を介してファイルストレージSDNPノードF9,4に転送され、そこで時刻t2に対応するステート920YとしてゾーンU9セキュリティクレデンシャル情報を使用してSDNPエンコード操作1750Lによってエンコードされる。この後、ファイルは保存され、更新されたFSリンク2がファイル所有者とファイルアクセス権を持つ他のクライアントに送信される。
上記のファイル転送と並行して、ゾーンU9のファイルストレージSDNPノードF9,4の内容は、このファイルが作成されたときの時間t1、ステート920Xを用いてSDNPデコード操作1751Lによってデコードされる。ファイルは次に、SDNPネットワーク(図示せず)を介してファイルストレージSDNPノードF9,1に転送され、そこで時刻t2に対応するステート920YとしてゾーンU9セキュリティクレデンシャル情報を使用してSDNPエンコード操作1750Mによってエンコードされる。この後、ファイルは保存され、更新されたFSリンク3がファイル所有者とファイルアクセス権を持つ他のクライアントに送信される。同様にして、ゾーンU9のファイルストレージSDNPノードF9,1の内容は、このファイルが作成されたときの時間t1、ステート920Xを用いてSDNPデコード操作1751Mによってデコードされる。ファイルは次に、SDNPネットワーク(図示せず)を介してファイルストレージSDNPノードF7,1に転送され、そこで時刻t2に対応するステート920YとしてゾーンU7のセキュリティクレデンシャル情報を使用してSDNPエンコード操作1750Hによってエンコードされる。この後、ファイルは保存され、更新されたFSリンク1がファイル所有者とファイルアクセス権を持つ他のクライアントに送信される。このようにして、3つのファイルすべてが再配置され、新しいセキュリティクレデンシャル情報が発行され、アクセスが承認されたクライアントに対して、更新されたFSリンク1、2、3に基づいて新しいファイルストレージ読み取りリンクが発行される。
ハイパーセキュアファイルストレージシステムによって実行されるもうひとつの必要とされるメンテナンス機能は、ライブリンクのないファイル、つまり「ゾンビファイル」の有無を確認するために使用される操作である。この操作は、クライアントやファイル所有者ではなく、ファイルストレージサーバが開始することを除いて、リンクの更新操作と似ている。この操作中、各ファイルストレージサーバは、ファイルが最後にアクセスされてからの時間を追跡する。ファイルに対する最後の操作が、指定された時間間隔を超えた場合(例えば、1ヶ月間活動がない等)、ファイルストレージサーバはクライアントに接続して、リンクがまだアクティブかどうかを確認する。ファイルストレージサーバは、FSリンクをクライアントに送信するために使用された方法と同じ方法で、クライアントに接続できる。ファイルが保存されるとき、ファイルストレージサーバはクライアントのSDNP zipまたは擬似アドレスを保持する。
指定された時間内にアクティビティが発生しなかった場合、ファイルストレージサーバはSDNPシグナリングサーバに接続して、リンクが依然としてアクティブであることを再確認する要求を送信する。次に、SDNPシグナリングサーバは、参加している各ファイルストレージサーバに対するFSリンク検証要求の配信ルートを計画する。各ファイルストレージサーバは、SDNPネットワーク経由でクライアントにこの要求を送信する。参加しているすべてのSDNPクライアントノードは、デバイスにファイルリンクがまだ存在することを確認して応答する。ファイルリンクが確認された場合、その時点でクライアントにはリンクの更新を実行するオプションがある。ただし、デバイスが応答しない場合、つまりアクティブなファイル読み取りリンクが存在していない場合には、ファイルストレージサーバは管理者にファイルリンクが古くなっているか失われていることを通知し、1~3ヶ月といった期間の経過後に所有者不明のゾンビファイルは永久かつ取消不能な方法で消去される。
登録通信
本明細書に従って行われるSDNP通信のもうひとつの特徴に、「登録通信」を配信または保存するネットワーク機能がある。登録通信では、コミュニケのハイパーセキュア配信や、署名付きタイムスタンプ付きメッセージとしてのファイルのハイパーセキュア保存が行われ、法的有効性を確立する目的で通信に電子署名(e-sign)及び電子スタンプ(e-chop)を行う機能がある。登録通信には、「証明付きメッセージ」を送信する機能も含まれる。これはハンドシェイク方式で実行され、署名またはスタンプの捺されたタイムスタンプ付きの返信を使用して文書またはファイルの受領を確認する。すべての登録通信は、クライアントデバイスのSDNPアプリケーションによって開始されるが、ラストマイル通信、つまりSDNPネットワークのラストマイルを介して行われる通信を通じて認証される。クライアントがスタンプ確認を不正に変更しようとすると、スタンプ確認のメッセージとネットワーク記録との間に矛盾が生じる。
SDNP通信では「ステート」が使用されているため、つまり、時間とその他のユニークな変数を使用してコミュニケとファイルストレージとでメッセージ固有のセキュリティ認証情報を確立しているので、タイムスタンプはSDNP通信にとって本質的に備わる機能となっている。このことが図102のSDNPコミュニケータアプリケーションウィンドウ1800で例示されている。ここでは、送受信される各テキストメッセージには、メッセージが送信されるタイミング、受信されるタイミング、読み取られるタイミングを示す、それぞれに対応するタイムスタンプ1801Aと1801Bがある。SDNPシグナリングサーバによって確立されたグローバルな時間参照を含む時間情報は、ラストマイルネットワークを介してクライアントに配信される。次に、SDNPクライアントアプリはこのタイムスタンプを情報表示に統合する。
登録通信では、コミュニケはプロセスの一部として正式のタイムスタンプを生成する。登録通信プロセスの一例を図103に示す。この図では、ハイパーセキュアメッセージが実行され、オプションの添付ファイルステップ1802が開始される。この操作には、ダイアログボックス1803が使用され、メッセージまたはファイルを送信するクライアント、すなわち送信者が、メッセージにファイルを添付するかどうかを選択し、もし添付することにした場合は、ディレクトリブラウザを使用してファイルを見つける。次に、コマンドダイアログ1804を使用して登録メッセージを送信するが、このときダイアログボックス1805に従って通常の配信を使用するか登録配信を使用するかを選択する。次に、メッセージは本発明に従って実装されたハイパーセキュア通信を使用して送信される。
「メッセージ受理」ステップ1806で、受信側は、メッセージにアクセスするために身元を確認し、受け取るメッセージとファイルの受理を確認する認証済み受領書を送信するために必要とされる一連の手順を実施する。このプロセスは、受信側クライアントに身元の確認を求める受領認証操作1807から始まる。受信側の身元が認証されなければ、受信側はメッセージにはアクセスできず、メッセージは破棄され、送信者に認証ステップの失敗が通知される。このようにして、送信側は、受信側のデバイスが盗難にあった可能性があることを示す警告を受けることができる。受信側の身元が確認されると、受信側は、受領承認操作1808により、受信するメッセージと添付ファイルを受け入れるか拒否するかの判断を求められる。メッセージの受信が拒否された場合、その旨が送信者に通知される。
受信側が肯定応答を選択してメッセージを受け入れる場合、受領管理ステップ1809を実行し、電子署名(e-sig)を選択するか、電子スタンプ/印(e-chop)を選択することによって、メッセージ受領の署名を行わなければならない。送信側は必要なオプションを指定することができる。国によっては、電子スタンプと電子署名の両方がなければ法的拘束力が発生しない場合がある。続いて表示されるダイアログボックス(図示せず)で、ユーザはデバイスのファイルディレクトリで自分の電子署名または電子スタンプを指定するように指示される。また代替手段として、音声の録音ないしビデオの録画を確認用に使用することもできる。受信側は、録音ないし録画時に読み上げる内容を指示される。メッセージへの署名を終えると、そのメッセージを受信者は読むことができ、添付ファイルは送信者の要件に応じて、その場で表示したり、ダウンロードしたりすることができるようになる。
文書の受領時には、メッセージ受信者を特定する署名+タイムスタンプ入りメッセージ受領書1811、受信した埋め込みテキストと添付ファイル名、メッセージの受信日時、e-sig、e-chop、音声記録、音声+ビデオ記録、またはそれらのいずれかの組み合わせが、確認応答送信操作1810で送信される。アーカイブ受領オプション1812で、送信者は署名付きタイムスタンプ付きのメッセージ受領書1811のコピーをシステムのハイパーセキュアファイルストレージシステムに保存することができる。これにより、送信者はメッセージの呼び出しに必要なファイル読み取りリンク1813を受け取ることができる。代替手段として、送信者のデバイスにメッセージ受領書1811をダウンロードできる場合もある。
暗号化ベースのセキュリティの問題
政府のセキュリティ機関は、今日の企業詐欺、IP窃盗、サイバー犯罪、ハッキング、犯罪組織、麻薬カルテル、マフィア、ヤクザ、ジハード主義者、及びテロリスト等が溢れるこの世界において、発信者に追跡不可能な匿名通信を提供する通信システム、すなわち、暗号化を使用してデータを保護し、発信者(比喩的には公衆電話)の身元を隠すあらゆる通信システムは、ネットワークオペレータ、アプリケーション開発者、及びデバイスメーカーにとって無謀で無責任な商慣行である、と主張している。
残念なことに、セキュリティの実現を暗号化に依存している通信は、犯罪者と法を遵守する市民の双方を同様に保護するという事実が存在する。前述のように、このテーマは、ISISテロリストの犯罪活動、Telegramと呼ばれる電話アプリケーションプログラムを使用した彼らによるパリやベルギーでのテロ行為に関する無数のニュース記事でも注目されるようになっている。本明細書では、エンドユーザベースの暗号化とも呼ばれるエンドツーエンドの暗号化を使用して安全な通信を促進している。復号鍵は通信を行う送受信者間でのみ保持され、介在するネットワークまたはそのオペレータはこれを保持しないため、エンドツーエンドの暗号化はセキュリティ機関にとって特に面倒な存在である。Telegramに反発するセキュリティ機関は、大きな鍵によるエンドツーエンドの暗号化は、テロリストがオープン通信を使用して密かに活動することを可能にする国家的、さらには世界的なセキュリティリスクであると主張している。Telegramを支持する議論は、何があっても個人のプライバシーを支持する。
2015年12月2日にカリフォルニア州サンバーナーディーノでの銃撃で14人が死亡、22人が負傷した事件に関して、連邦裁判事がFBIに有利な判決を下し、犯人が所有していたと思われる携帯電話の「ロックを解除」するようApple社に命じたことから、プライバシーに関する議論が再燃した。2016年2月17日のワシントンポスト誌の「Apple社は、サンバーナーディーノの襲撃に関連しているiPhone(登録商標)の暗号解除に関するFBIの要求に断固抵抗すると断言」と題する記事。Apple社と同社CEOは、裁判所の命令に従うことを拒否するいくつかの理由を挙げた。この記事は(https://www.washingtonpost.com/world/national-security/us-wants-apple-to-help-unlock-iphone-used-by-san-bernardino-shooter/2016/02/16/69b903ee-d4d9-11e5-9823-02b905009f99_story.html)から入手できる。
最も注目すべきは、警察が令状を取得したとしても、Apple社自身が復号鍵を保持しないようにセキュリティが設計されているため(このことは本質的にエンドツーエンドの暗号化というもうひとつの悪夢を呼び起こす)、法執行機関のためにより新しいiPhone(登録商標)のロック解除はできないのだと強く主張したことである。Apple社は、当該携帯電話のユーザ、またはその携帯電話のパスワードを知っている者だけが携帯電話のロックを解除できると主張した。一方、政府は、暗号化機能のロックを解除する必要はなく、ログイン試行が10回失敗した後に携帯電話のメモリを消去する機能を無効にすることだけを求めている、と反論した。オンラインでの声明の中で、Apple社のCEOであるティム・クックは、そのような行為はiPhone(登録商標)のセキュリティを危険にさらすものであると反論した。氏は、声明の中で「一度作成してしまえば、その技術は何度でも使用でき、あらゆるデバイスで使用できてしまう」と述べている。物理的な世界であれば、レストランや銀行から店舗や家にいたるまで、何億もの錠前を開くことができるマスターキーができてしまうことに相当する。分別のある人間ならば、そんなことは受け入れられないであろう。氏はさらに次のように続けた。「この命令に反対することは、私たちにとって気軽にできることではない。私たちは、米国政府による行き過ぎと思われるものに直面し、発言しなければならないと感じているのだ」。
Apple社が主張した最後のポイントは、米国司法省がその権限を超えていた点であり、技術的な立場ではなく法的な主張であった点であり、それは国家が何らの理由もなく、通信の内容を監視したり、個人のプライバシーを侵害したりする権利などないという憲法主義者やプライバシー擁護者の心情を的確に代弁している。このサンバーナーディーノのケースは明白な理由という条件を満たしているが、議論されている通信デバイスを開くことができる汎用的なバックドアを作成するという考えは、当局による乱用を招く。The Atlantic誌は、2016年2月23日の記事で、「Apple社は正しい:FBIは多くのiPhone(登録商標)に侵入したいと考えている」と、Apple社の主張を擁護した。同日、英ガーディアン誌も、「FBIが多くのiPhone(登録商標)へのアクセスを求めている、とApple社が主張」、とレポートした。
このとき、同じプライバシー保護の立場が米国議会によってとられたのは、奇妙なことであった。3月1日、ガーディアン誌の「米議会がApple社にiPhone(登録商標)のロック解除を強制することは『愚か者の使い』であるとFBIに伝えた」と題するフォローアップ記事を出し、米国の議員等が米国司法省によるプライバシーへの過剰な関与や侵害を非難していることを伝えた。サンフランシスコで開催されたRSAカンファレンスでは、Microsoft社の法務顧問であるブラッド・スミス氏が、「地獄への道は裏口から始まる」と語った。スミス氏は、「この重要なケースでApple社と一緒に立ち向かう」ために、この会合に出席していたコンピュータセキュリティ業界の人々を挑発した。
この騒ぎの間、NSAの内部告発者であるエドワード・スノーデン氏を含む多くのセキュリティ専門家は、携帯電話のロックを解除することはFBIが主張したほど難しくないという立場を表明していた。スノーデン氏は、モスクワからのビデオリンクを通じて、Great Democracy会議(3月8~9日)のCommon Cause Blueprintに対して、次のように語っている。「FBIは、Apple社が携帯電話のロックを解除するための『排他的な技術的手段』を持っていると言っている。敬意を表して言いましょう、それはでたらめだ」。事件が法廷に持ち込まれる前に、FBIは、ロックされたiPhone(登録商標)に侵入する方法をすでに発見したと報告した。2016年3月29日、米フォーチュン誌はこう伝えている。「FBIはApple社に対して、iPhone(登録商標)をどのようにクラックしたのかを伝えないかもしれない」と。
Apple社対FBI事件の法的及び地政学的な影響は広範囲に及んでいる。FBIが先例となって、今後は他の国々でも、海外に旅行する米国市民が所持する携帯電話を含め、ネットワークに接続されているすべての通信デバイスのバックドアを要求することが予想される。さらに、iPhone(登録商標)のハッキングが成功した今、犯罪者は常にこれらの方法を発見または再発明して、新たな形態のサイバー犯罪や個人情報の盗難に手を染めていくことになるだろう。犯罪者に出し抜かれないために、政府は犯罪者と同じ手法を使って監視とスパイ活動を拡大しようとしかねず、また同じ政府内の様々な部門が、同様の方法を用いて互いの活動をスパイすることさえ起こり得る。関連する話として、様々な政府がエンドツーエンド通信で使用される暗号化のレベルを制限することを検討している。
全体としては、こうした出来事は、公有財産の中で現在利用できる既存のセキュリティ手法のどの組み合わせも、セキュリティとプライバシーの両方を保証することなく、少なくとも犯罪者とテロリストを支援することもない、という認識を明らかに強化している。この問題は、ネットワークセキュリティとエンドツーエンドセキュリティ、それに関連する発信者のプライバシーの双方の実現を暗号化だけに頼っていることに起因している。暗号鍵のビットサイズを大きくすることでテキスト、音声、またはファイルのセキュリティを強化すると、コミュニケのセキュリティが強化され、これを破ることがそれまでよりも困難になる。強化されたセキュリティは、セキュリティとプライバシーを維持し、個人情報の盗難に対処して、企業や法を遵守する市民を保護してくれる。しかし残念ながら、強化されたセキュリティは犯罪者やテロリストであっても監視の目から彼らを保護し、何も咎められず不可視の状態で彼らが活動することを可能にしてしまうのである。
このことを、図104Aに示す。ここで、発信者1825Aは、様々な経路からのサイバー攻撃に苦しむインターネット1821などの安全でないネットワークを介して、受信者1825Qと通信している。つまり、このネットワークには脆弱性という巨大な「攻撃面」が存在している。攻撃対象領域を減らすために、暗号化1026と復号化1032を使用して、ネットワーク1821よりも小さな攻撃対象領域を持つ暗号化されたパイプまたはトンネル1820を形成する。問題は、使用する暗号鍵の大きさを決定することである。表1824に示されるように、暗号鍵が大きいほど、より多くの組み合わせが得られるため、暗号の解読が困難になる。暗号化は次の2つの目的に使用される:(i)中間者攻撃を防ぐためのネットワークセキュリティを提供するため、及び(ii)エンドツーエンドのセキュリティを通じて発信者のプライバシーを保証するためである。線分1823に示されるように、ネットワークセキュリティを改善すると、エンドツーエンドのセキュリティがそれと同等に向上する。高度なネットワークセキュリティは悪意のある部外者の攻撃を防ぐのに有益だが、過剰なエンドツーエンドの暗号化は両刃の剣となる。鍵のサイズが大きい場合、例えば、AES256またはAES512が採用されていると、システムは「極秘」のネットワークパフォーマンスを提供し、それに伴って自然に発信者にも同じグレードのセキュリティを提供する。しかし、発信者が犯罪者やテロリストである疑いがあっても、ネットワークオペレータも政府も発信者の活動を検出・監視することはできない。
鍵サイズの得失評価は複雑だ。暗号鍵が小さすぎれば、犯罪者はネットワークとそのユーザをターゲットとして攻撃できてしまうし、暗号鍵が大きすぎれば、犯罪者はネットワークを使用して違法行為を隠したり、詐欺や不正行為の捜査官による検出活動を妨害したりできるからだ。企業環境においては、エンドツーエンドの暗号化により、従業員の業務活動の監視や、企業調査や知的財産訴訟への準拠が妨げられるため、企業のセキュリティポリシーがこのような暗号化を完全に拒否するケースが見られる。
どのサイズの鍵が解読可能で、どのサイズの鍵が安全かを判断することさえ困難であり、その状況は技術の進化とともに変化していく。もう一度、表1824を参照すると、総当り攻撃で解析する必要のある可能な組み合わせの数は、暗号の鍵サイズの関数として計算される。16ビット鍵には65kの組み合わせしかないが、56ビット鍵には1016の組み合わせがあり、128ビット鍵には1038を超える組み合わせがある。さらに、256ビット鍵には128ビット鍵よりも39桁大きい数の組み合わせがある。パターン認識の使用を無視すると、総当り攻撃はあらゆる組み合わせを試みてコードを解読する。「総当り攻撃に対するAESの安全性」というタイトルのEETimesの記事で(http://www.eetimes.com/document.asp/doc_id=1279619)、著者は10.5ペタフロップスが可能な2012年頃のスーパーコンピュータが総当り攻撃を実行するのに必要な時間を見積もっている。ペタフロップスは、1秒間に1,000兆回または1015回の浮動小数点演算、すなわち1,000テラフロップスである。そのため、56ビット鍵の計算所要時間はわずか399秒、128ビット鍵の計算所要時間は1.02×1018年、192ビット鍵の計算所要時間は1.872×1037年、256ビット鍵では3.31×1056年となる。
総当たり攻撃を仕掛けるのに必要な時間も変化している。この文書が書かれて以来、世界最速のコンピュータの速度はすでに3倍に達している。2015年7月30日付けのBBCニュースの記事『スーパーコンピュータ:オバマ大統領、世界最速コンピュータの実現を命じる』によると、調査官は、次世代のスーパーコンピュータの目標速度は、その時点での記録保持マシンの20倍の速度、すなわち1エクサフロップ(1秒あたり1京回の浮動小数点演算)の演算能力のあるマシン、と報告している。このことは、暗号を解読するのに必要な時間が、年を追うごとに減少し続けていくことを意味している。暗号を解読するさらなる新しいアプローチとして、ビットコインのマイニングに使われている方法である超並列処理を採用する方法がある。1台のスーパーコンピュータを使用する代わりに、数千~数百万台のコンピュータを同時に使用することで、攻撃を同時進行させ、解読時間を劇的に短縮できる。今日の最速のマイクロプロセッサの能力はすでに1.1テラフロップスを突破しているので、3万台のクラス最高レベルのマイクロプロセッサが連動すれば、現時点で世界最高速のコンピュータに匹敵する速度が得られるのだ。エクサフロップの演算能力を持つコンピュータを実現するために必要なマイクロプロセッサは100万個にすぎない。専用のASICはセキュリティをさらに侵食する可能性があるが、量子コンピューティングはさらにそれをはるかに超えて何桁も高速に変えることが確実である。
結論として、サイズの大きな鍵によるエンドツーエンド暗号化は、通信のプライバシーとセキュリティを実現するための優れたソリューションとは言えない。SDNPネットワーク及びハイパーセキュアラストマイル通信によって可能になる代替アプローチは、本明細書で開示している通り、ネットワークセキュリティからエンドツーエンドの暗号化を分離する。図104Bに示されるように、それぞれの発信者と受信者を表すSDNPクライアント1700Aと1700Qとの間の通信は、SDNPネットワーク1831によって行われる。ネットワークの小さな攻撃対象領域は、動的スクランブル化、断片化、ジャンク挿入、及び制御のための3チャネル通信を使用してルーティングされるホップバイホップの暗号化を使用する匿名マルチルート及びメッシュデータ転送によって実現される。ラストマイル通信及びSDNPクラウド内のすべてのホップでは、セキュリティクレデンシャル情報が動的に変化するが、このプロセスは、SDNPエンコード操作1832及びSDNPデコード操作1833を用い簡略化形式で表現されている。
表1834で説明し、線分1830で示すように、これらの方法は様々な組み合わせで、暗号化のみに依存することなく、秘密または極秘の暗号化標準と同等のセキュリティを実現している。線分1830はフラットであるため、y軸に表示されるエンドツーエンドの暗号化とx軸に表示されるネットワークセキュリティの間に相互依存性がないことを示している。その代わりに、様々なSDNPセキュリティ方式を適用することにより、ネットワークセキュリティレベルをケースAからケースDに調整できる。これらのセキュリティ操作はSDNPソフトウェアによって実行されるが、発信者と受信者はいずれもSDNPネットワーク1831及びその様々なセキュリティゾーンを経由してデータパケットが転送される際にセキュリティクレデンシャル情報が使用されていることに気付かない。特に、会話中のクライアントは、ラストマイルネットワークの暗号鍵の交換に参加していることを意識することはない。分散ネットワークとしては、SDNPクラウド内での暗号化の使用はラストマイルセキュリティとは関係がなく、システムのマスターキーは存在しない。そのため、SDNPネットワーク1831のセキュリティは、暗号化1026及び復号化1032によって実行されるエンドツーエンドの暗号化には依存せずに暗号化されたパイプ、すなわちトンネル1820を生成する。
SDNPネットワーク1831で使用される暗号化では、エンドツーエンド暗号化トンネル1820と同じサイズの鍵を使用する必要はない。グラフに示されるように、エンドツーエンド暗号化の商用及び企業のセキュリティアプリケーションは、SDNPクラウド内のシングルホップ動的暗号化にAES256が使用されている場合でも、点線1835で示す128bキー暗号化(AES128など)を使用できる。実際のところ、エンドツーエンドの暗号化では、ネットワークセキュリティを損なうことなくRSAまたはその他の暗号を利用できる。SDNPネットワーク1831は、エンドツーエンドの暗号化トンネル1820が存在しない場合であっても、FIPS140-2軍事グレードセキュリティに準拠したAES暗号化によって保護される。前述のように、SDNPネットワーク1831は、すべての外部のサイバー攻撃及び中間者攻撃を防止する。エンドツーエンドの暗号化されたトンネル1820は、ネットワークオペレータや他の「内部」からのハッキングによる介入から発信者を保護する。これに関して、本開示のエンドツーエンド暗号化は、データパケットの転送セキュリティを達成するためではなく、主に発信者のプライバシーを保証するために使用される。
ネットワークのセキュリティを危険にさらすことなく、エンドツーエンド暗号化の強度を増減できるほか、排除することもできるため、この手法は幅広いアプリケーションに適応できる。例えば、点線1835で示されている128bキー暗号化が中小企業や個人の使用には厳しすぎる場合であれば、個人のプライバシーを犠牲にすることなくビット数を減らすことができる。軍事用途または政府用途では、暗号鍵の長さを必要に応じて192b、256b、または512bに増やすことができる。これに関して、本開示のSDNPシステムは、現在の暗号化ベースの通信の欠陥を克服し、代替アプリケーション、デバイス、またはネットワークでは利用できない機能を提供する。
セキュリティ管理
SDNP通信のもう1つの重要な特徴に、セキュリティ管理に対する独自のアプローチがある。セキュリティ管理は、次のような多くの状況で必要とされる。
・HRポリシーまたは従業員の調査に従って実施された従業員のコミュニケーションの監視、
・財務監査、法定会計、財務報告などをサポートする従業員のコミュニケーションの監視と記録、
・合併買収の一環としての会社間コミュニケーションの文書化、
・IPまたは企業訴訟の一部としての会社間コミュニケーションの文書化、
・召喚状及び犯罪捜査に基づくコミュニケ及び文書の要求に対する対応、
・アカウント情報、通話とメッセージの監視、及び国家安全保障に関するファイルアクセスの法的命令への順守。
適切な承認を得ることでSDNPネットワーク管理者は、通信の監視とデータ監視を目的として、指定された「SDNPセキュリティエージェント」へのSDNPネットワークトラフィックのアクセスを促進できる。SDNPセキュリティエージェントが確立並びに有効化されるプロセスには、監視アクティビティの前に必ず実行される多層的な承認及び認証プロセスが含まれる。乱用を防ぐため、監視を開始できる個人は存在せず、SDNPネットワーク管理者でさえもその権限はない。中央制御がなく、マスターネットワーク鍵がなく、DMZサーバで、オフラインで動作するゾーン固有のセキュリティクレデンシャル情報を使用して実行される動的SDNPエンコード及びデコードを使用する分散ネットワークとしてのSDNP通信の動的な性質により、データを回復したり、会話を遡及的に再呼び出したりするメカニズムは存在しない。データは、通常100ミリ秒未満の短い期間のみSDNPネットワーク内に存在する。分散システムとして、SDNPネットワークは設計上、中央制御機能が本質的に存在しないため、事前呼び出しのメタデータも存在しない。そのため、SDNPネットワークは推測的なセキュリティ監視のみをサポートしている。つまり、コミュニケをインターセプトする前に、指定されたSDNPセキュリティエージェントによる監視を確立する必要がある。
さらに、SDNPクラウド内での断片化メッシュ通信は動的に行われるため、クラウド内、つまりSDNPゲートウェイを超えたSDNPノードは、ひとつの完全な会話を収めたデータパケットを伝送しない。ほとんどのノードは、ルーティングの変更前に、5%未満のデータしか伝送せず、通常は一度に10ミリ秒しか伝送しない。SDNP通信に従って、動的ルーティングは常に異なるメディアサーバを介して通信をリダイレクトする。そのため、クラウドアクセスはコミュニケの復旧や監視には不向きである。SDNPクラウドのデータパケットは、捕捉することはできるが、無関係な音、データ、会話、及びジャンクデータなどの無用な寄せ集めデータで構成されている。その代わりに、指定されたSDNPセキュリティエージェントによる監視は、クライアントデバイス内、あるいは、できればSDNPゲートウェイ内のいずれかで関連データパケットの完全なセットが必ず通過するラストマイル通信でのみ生産的に行うことができる。
セキュリティ監視中のデータパケットルーティングの例を図105Aに示す。ここでは、SDNPセキュリティエージェント1840は、SDNPクライアントデバイス1600AとSDNPクライアントデバイス1600Hの間の会話を監視している。この会話は、SDNPクライアントデバイス1600Aからラストマイルルータ1602Gを通じてSDNPゲートウェイ1701UにSDNPクラウド経由で送られるデータパケットを用いて発生するが、クライアントデバイス1600Aから送信されたデータパケットはSDNPゲートウェイ1700Uによって閉じられ、指定されたSDNPセキュリティエージェント1840に安全にルーティングされる。具体的には、UDPでの伝送中、ラストマイルデータパケット1630Aは、アドレス「IP C1,1」のSDNPクライアントからアドレス「IP M0,4」のSDNPゲートウェイから出てくるアドレス「IP M0,0」のSDNPゲートウェイにSDNPデータ1を伝送し、ゾーンU7ラストマイル経由でSDNPクライアントアドレス「IP C7,1」に配信される。許可された監視期間中、クローン化されたSDNPデータ1が安全にSDNPアドレス「IP SA」でセキュリティエージェント1840 SDNPに配信される。複製された監視データパケット1841は、複製されたデータクローンが発信者には見えないことを除き、SDNPグループコールと同じ方法で動作する。発信者は、したがって自分が監視されていることに気づかない。
セキュリティの監視は、着信呼に対しても有効である。図105Bで、SDNPデータ7は、アドレス「IP C7,1」のクライアントデバイス1600Hからアドレス「IP M0,4」のSDNPゲートウェイに送信される。SDNPクラウドからの伝送の後、データはアドレス「IP M0,0」のSDNPゲートウェイから2つの宛先に配信される。最初の宛先であるアドレス「IP C1,1」のクライアント1600Aは、SDNPデータ7を含む応答データパケット1640Aを受信する。2番目の宛先であるSDNPセキュリティエージェント1840は、データパケット1842を介してクローンデータ「SDNPデータ7」を含む同じペイロードを受信する。データパケット1842の配信は発信者からは見えないため、発信者は監視されていることに気付かない。
同じ方法は、断片化された分散ファイルストレージの監視にも適用できる。ただし、セキュリティエージェントは断片化されたデータファイルを捕捉するのではなく、関連するFSリンクのコピーを受信するだけで済む。このような例が図106に示されている。ここで、SDNPファイルストレージデバイス1700Hは、アドレス「IP F1,1」からゲートウェイアドレス「IP M0,4」へのFSリンク1を含むデータパケット1740Hを送信する。クローン化ペイロード「FSリンク1」は、ゲートウェイアドレス「IP M0,0」から送信されたデータパケット1843によって、アドレス「IP SA」のSDNPセキュリティエージェント1840にも配信される。リアルタイム通信の場合と同様に、ファイル所有者であるクライアント1600Aは、SDNPセキュリティエージェントによって監視されていることに気付かない。
同じ監視メカニズムは、データパケットが複数のSDNPゲートウェイを介してSDNPクラウドに出入りするマルチルートラストマイル通信でも有効である。このケースを図107に示す。ここで、クライアントデバイス1600Aからのラストマイル通信は、ペイロードSDNPデータ1を含む分割データパケット1630Aと、それぞれSDNPゲートウェイ1701U及び1701Vを介してクラウドに入るペイロードSDNPデータ2を運ぶデータパケット1630Bを含む。SDNPクラウドでのルーティング後、データパケットは再結合され、結合されたデータSDNPデータ3を含むペイロードを持つ単一のデータパケット1630Lとしてクラウドから出現する。動作中、アドレス「IP M0,0」及び「IP M0,11」のSDNPゲートウェイはシグナリングサーバからの指示により、クライアントノードC1,1からの着信SDNPデータ1及びSDNPデータ2のクローンを作成し、それらをアドレス「IP SA」のSDNPセキュリティエージェント1840に転送する。クローン化されたデータは、セキュリティエージェントがそれ自身の独自のセキュリティゾーン、すなわち他のいかなるデバイスにも利用できないクレデンシャル情報を使用するゾーンSAで動作することを除き、すべてのSDNPデータ転送に使用される方法と同じハイパーセキュアな方法を使用して、データパケット1841A及び1841Bで送信される。そのため、指定されたセキュリティエージェントが特定の会話を監視したという記録や証拠は一切残らない。
SDNPの監視活動は秘密裏に行われており、本質的に検出不可能な不可視の電話会議と同等であるため、SDNPシステムが独立した確認方法を採用して、ネットワーク監視の使用を承認及び確認し、監視の実行を許可されたSDNPセキュリティエージェントを指定及び確認することが重要である。SDNPセキュリティエージェントには、ネットワーク管理者を除く任意のSDNPクライアントを使用できる。システム破損に対する保護策として、SDNPネットワークオペレータやSDNP管理者は、SDNPセキュリティエージェントとして機能することは許可されていない。つまり、ネットワークを管理しているユーザは、脅しや恐喝にあったとしても、自分自身の使用のためにその機能を破壊することはできないのである。
SDNPセキュリティエージェントには、個人、政府代理人、政府指定代理人、または法務官が任命されることがある。指定されたセキュリティエージェントに特に必要とされる資格は、適用される現地法に従い、会社または国によって異なる。SDNPセキュリティエージェントの監視ハードウェアには、通信デバイス、または記録、データストレージ、高度な復号化機能を備えたコンピュータサーバが使用される。SDNPネットワークから指定されたSDNPセキュリティエージェントに送信されるすべての通信は、クライアント自身のコミュニケと同じハイパーセキュア通信で転送されるため、セキュリティ監視は、承認されたセキュリティエージェントによる監視を除き、通話の機密性または発信者のプライバシーを侵害しない。
さらに、権限の与えられたSDNPエージェントの監視と許可された機能の実装は、いかなる方法であってもネットワークの整合性とセキュリティを損なわない。運用の詳細やDMZ共有秘密が、ネットワークオペレータやセキュリティエージェントに公開されることはない。SDNPシステムの操作は、人間のオペレータの介入や関与なしに自動的かつ自律的に行われており、DMZサーバはオンラインアクセスを通じて入手することのできないゾーン固有の資格情報を用いてセキュリティが確保されている。したがって、セキュリティの監視により、システムのセキュリティが低下したり、SDNPネットワークがサイバー攻撃に対して脆弱になったりすることはない。
データペイロードは、発信者が作成したものと同じ形式でSDNPセキュリティエージェントに配信される。SDNPセキュリティエージェントへの配信の一部として、すべてのネットワークSDNPエンコードがデコードされるため、配信されたデータパケットにはネットワークセキュリティの対策情報が一切含まれていない。ただし、クライアントがエンドツーエンド暗号化を採用している場合、SDNPセキュリティエージェントは、クライアントがネットワークとエンドツーエンド復号鍵を共有すること、またはSDNPネットワークからアクセス可能な独立したキーサーバユーティリティを使用することに事前に同意しない限り、クライアントのエンドツーエンド暗号化を解除する必要がある。繰り返すが、このようなエンドツーエンドの暗号鍵と復号鍵は、主にプライバシー保護のためにSDNPの手法に含まれており、SDNPの動的エンコード機能で使用される暗号化とは無関係である。
不正使用を監視するリスクを最小限に抑えるために、指定されたSDNPセキュリティエージェントを確立し承認してクライアントまたはクライアントグループを監視するために使用されるSDNP管理は、多段階プロセスとなっている。SDNPシステムには監視を実行するための対策が含まれているが、この機能の合法的な適用は、ネットワークオペレータ、ネットワーク管理者、及び認可機関ないし認可代理機関の責任で行われる。これらの当事者は、監視が合法的に、かつ当該国の法律に準拠して行われることを保証する責任を個人的に負っている。
監視の必要性は、様々な状況から発生し得る。企業では、内部告発者からの苦情やセクシャルハラスメントの申し立てにより、人事部門の調査が開始されたり、法廷会計が急遽行われたりする可能性がある。訴訟に関連する裁判所の召喚状(口外禁止命令を含むこともある)もまた監視を必要とする場合がある。企業の問題では、会社のSDNPネットワークを使用した通信は一般に会社のコミュニケに限定され、プライベート及び個人の通信は対象外である。ほとんどの国では、犯罪の意図が疑われる場合を除き、プライベートな通信は保護されている。国家安全保障や法執行活動の場合、発信者の公的及び私的双方のSDNPアカウントが監視の対象になる場合がある。このような場合、会社向けの企業SDNPネットワークオペレータは会社の通信の監視プロセスを実装する一方、独立した電気通信SDNPネットワークオペレータが発信者側の私的通信の監視を実行できる唯一のプロバイダとなる。政府が民間人の通信の監視を開始するためには、裁判官承認の召喚状を提出しなければならない国もあれば、政府には事実上すべての私的通信を監視する権限があると主張する国もある。国際通信の場合、どの法律が適用されるのか、通話の監視を有効にする上でのネットワークの立場をどうすべきなのかを判断することはさらに難しい。
監視を可能にするために使用されるAAAプロセスの一例を図108に示す。クライアントの監視を承認するプロセスには、監視操作の設定に使用されるネットワーク管理者1850、クライアントの監視を担当するセキュリティエージェント1840、及び監視プロセスの承認に使用される3つの承認エージェント1851A、1851B、1851Cが含まれ、できればネットワークオペレータまたはネットワーク管理者から自律的かつ独立して動作することが望ましい。このプロセスは、調査または裁判所命令に応えて、ネットワーク管理者1850が監視要求1862を求めることから始まる。管理者は、コマンドダイアログボックス1862を使用して、監視が要請されている個人の電話番号を指定する。要求が複数の個人で構成されるグループを監視することである場合、すべての関係者を各々の電話番号と共に一人ずつファイルに入力しシステムにアップロードできる。
承認ステップ1863では、ネットワーク管理者1850は、例示的なダイアログボックス1864を使用して監視機能を実行するために推奨される候補セキュリティエージェント1840を識別する。企業の場合、個人は人事部長、法律顧問、監査委員会のメンバー、独立会計事務所の代表者、または独立調査員である場合がある。訴訟の場合、セキュリティエージェントは、法務官、地区弁護士、FBIエージェント、またはその他の正式に任命された調査委員会メンバー(例えば、政府の違法行為の場合の特別検察委員会調査パネルなど)が考えられる。次に、システムはSDNPネームサーバ1714をチェックして、セキュリティエージェントがSDNPアカウントを有し、会社またはネットワークオペレータによって指定されたルールに準拠していることを確認する。国家安全保障に関係する場合には、承認される前に、提案されたセキュリティエージェントの資格情報と犯罪歴の追加調査が行われる場合がある。
セキュリティエージェントが承認されると、承認ステップ1865で監視要求が承認エージェント1851A、1851B、及び1851Cに転送され、承認エージェントは、監視対象者の名前または説明、または監視を実行するよう任命されたセキュリティエージェントの名前と地位、監視調査の予想期間、及び調査の理由が含まれるダイアログボックス1866に列挙される情報を確認する。各承認エージェントは、要求を受諾することも、拒否することもできる。ネットワークオペレータまたは会社のルールにより、承認エージェントの全員一致の承認に基づいて、または単純な過半数の決議により、監視操作が承認されるかどうかが決定される。承認機関の身元は、企業の場合は明らかにされ得るが、刑事事件の場合などでは、SDNPネットワークの匿名通信機能によって匿名のまま明らかにされない場合がある。
監視が承認されると、管理ステップ1867にて、クライアントのデータベース1868がネームサーバ1714で更新され、監視対象のSDNPクライアントにタグが付けられ、セキュリティエージェントとして承認されたSDNPクライアント、この例ではデータの網掛け行が識別される。このデータベースのSDNPアドレスは、監視対象のクライアントと指定されたセキュリティエージェントとの同じ関係を維持するために、SDNPアドレスがシャッフルされるタイミングで毎日一緒に更新される。調査日程が満了すると、監視リンクは自動的に切断される。管理ステップ1869では、SDNPセキュリティエージェント1840にリンクが送信され、識別された監視対象のクライアントの進行中のすべての通信を受信できるようにする。エージェントがこの情報をどのように使用するかは、SDNPネットワーク操作の問題ではない。セキュリティエージェントによる個人情報の不正な公開は、セキュリティエージェントが全責任を負う犯罪となる場合がある。
本発明の監視方法により、SDNPネットワークは、法を遵守する市民のための安全な通信媒体を維持しながら、不正行為と潜在的なテロ活動の犯罪捜査をサポートできる。SDNPネットワークは、無実の民間人のプライバシーを危険にさらしたり、SDNPグローバル通信ネットワークのセキュリティを危険にさらしたりすることなく、裁判所命令に準拠して当局に私的なクライアント通信を安全に配信できる。裁判所の命令を尊重するためにバックドアまたはマスターキーが使用されていないため、SDNPネットワークを介した今後の通信は匿名かつハイパーセキュアのまま維持される。このようにして、安全な動的通信ネットワークとプロトコル及びそのハイパーセキュアラストマイル通信は、他の手段では不可能なセキュリティ機能を提供でき、OTT及びほぼすべてのメッセンジャー及びコミュニケータアプリで採用されているエンドツーエンド暗号化に過度に依存することで生じる犯罪やテロを支援するリスクを完全に回避できる。
SS7脆弱性の克服
Apple社とFBIの論争が通信やセキュリティ業界にとってさほど問題ではなかったとしても、米テレビ番組「60 Minutes」のエピソード(http://www.cbsnews.com/news/60-minutes-hacking-your-phone/)は、従来のワイヤレス電話の信号制御チャネルであるSS7(Signaling System 7)の深刻なセキュリティ脆弱性を明らかにした。この番組で明らかに示されているように、SS7の脆弱性により、すべてのスマートフォンと接続デバイスがパケットスニッフィングとサイバー攻撃にさらされる可能性があり、個人の電話番号を知るだけで、携帯電話での会話を盗聴したり、SMSテキスト、添付ファイル、画像を閲覧したりできる。
Signaling System 7(SS7)は、1975年に開発されたテレフォニーシグナリングプロトコルで、世界中のあらゆる形態のデジタルテレフォニーで使用されている。SS7は、PHYレイヤ1、データリンクレイヤ2、及びネットワークレイヤ3で動作するメッセージ伝送部分、すなわち「MTP」で構成され、コールのルーティングを処理する。エンドツーエンドのルーティングは、トランスポートレイヤ4で動作するシグナリング接続制御部、すなわち「SCCP」により管理されている。このプロトコルには、課金、ローミング、及び通話認証に関連する多数のアプリケーションレイヤ7機能も含まれている。SS7プロトコルは、どうしても必要なものとは言え、攻撃に対して非常に脆弱であり、従来型のテレフォニーの安全を確保する上で深刻なリスクとなる。
2016年4月(https://en.wikipedia.org/wiki/Signalling_System_No._7)、米国議会監視委員会は次のような報告を行った。「この脆弱性の応用は、個人のターゲットを監視する犯罪者から、米国企業への産業スパイ行為を行う外国企業、さらには米国政府関係者を監視する国家まで無限に広がる恐れがある。(中略)この脆弱性は、個人のプライバシーだけでなく、米国のイノベーション、競争力、国家安全保障にも深刻な影響を及ぼす。テキストメッセージを使用した多要素認証を始めとするデジタルセキュリティの多くの革新的技術が役に立たなくなる可能性がある。」
SS7のサイバー攻撃は基本的にパケットスニッフィングのカテゴリに分類され、SS7情報の固有のフォーマットを手引として使用してコンテンツとメタデータの両方を傍受する。SS7プロトコルは基本的に、パケット情報の解釈に使用される情報テンプレートを提供している。図109に示されるように、問題はSIMカード、すなわち「加入者識別モジュール」から始まる。SIMカードには、加入者とそのアカウントに関する様々な種類の個人情報が含まれている。図に示されるように、一般にネットワークプロバイダから発行されるキャリアSIMカード1880は、アンテナ25A、25B、及び25Cと、それらに対応する無線リンク28A、28B、及び28Cによって示されるセルラーネットワークに対して携帯電話32を識別するために使用される。各SIMカードには、それを国際的に識別するために使用される18桁または19桁の番号である一意の識別子、すなわちICCIDまたは「集積回路カードID」、が含まれている。国際携帯電話加入者IDまたはIMSIは、個々のオペレータネットワーク、すなわちSIMカードが機能するホームネットワークを識別する。ローカルネットワークプロバイダは、IMSI番号を使用してSIMカードと通信し、通話を確立する。
SIMカードには、SIMカードの発行国を識別するための「運用地域識別コード」またはMCCの3桁の数字も含まれている。携帯電話から国際電話をかける場合には、ダイヤルシーケンスの一部としてMCCが必要とされる。MCCの一例としては、米国の310~316、英国の234~235、中国の460、フランスの208、ロシアの250、ドイツの262、カナダの302、ブラジルの724などが挙げられる。MCCは、「モバイルネットワークコード」、すなわちMNCと組み合わせて使用して、SIMカードを発行したネットワークプロバイダを識別する。これらのコードの完全なリストは、「https://en.wikipedia.org/wiki/Mobile_country_code」に一覧が掲載されている。SIMカードには、加入者とSIMが動作するネットワークのタイプを一意に定義するための15桁の「移動局国際加入者電話番号」、すなわちMSISDNも含まれている。SIMカードには、ユーザの電話番号に加え、電話やテキストの発着信とその時刻と日付の記録を収めたSMSテキストディレクトリも保持されている。近年、キャリアはモバイル決済を容易にするために、いわゆるセキュア要素を備えた専用のSIMカードを使用してクレジットカードの資格情報を保存するようになっている。
MCC、MNC、及びMSISDNコードは接続プロセスの一部として送信されるため、SS7への侵入とパケットスニッフィングにより、SIMカードの母国とキャリア、及び加入者の関連電話番号を簡単に特定することができる。送信データ1881は、電話帳、オンライン情報、またはソーシャルメディアを介して、つまりプロファイリングを通じて、発信者の身元を追跡するために簡単に使用できる。ひとたび身元を特定し、関連付けが完了すれば、電話番号とSIMを使用して、加入者が世界中のどこに移動しても、加入者の活動を監視することができる。暗号化は、基礎となるコール情報またはメタデータを覆い隠すことはしない。エンドツーエンドの暗号化を使用しても、データパケットは同じ会話からのものであると簡単に識別され、その後の解読試行のために捕捉・保存されてしまう。
メタデータとコンテンツは別として、発信者の場所もSS7の脆弱性によって侵害される。セルラーネットワークでは、電話はローカル基地局にメッセージを送信し、特定の基地局で利用可能であることを識別する。これらの登録パケットは定期的に送信される。これらのパケットを監視することにより、電話がかかっていない場合やGPSがオフになっている場合でも、特定のSIMカードを使用している電話の位置を、電話中でなくても、またGPSの設定がオンになっていなくても特定することができる。このような方法で、加入者の位置と移動は、加入者に知られずに追跡できる。
SS7が本来的に持っているこの脆弱性にもかかわらず、安全な動的通信ネットワークとプロトコルに従って実行されるハイパーセキュアラストマイル通信は、ラストリンクで意味のあるコールデータを不明瞭化することによってSS7攻撃を撃退する。特に、ハイパーセキュアラストマイル通信は、次のような従来の電話通信またはOTTインターネット通信に比べて、セキュリティ上の大きな利点がある。
・ハイパーセキュアラストマイル通信では、コールやメッセージを受け取る側の電話番号またはIPアドレスが、相手がSDNPクライアントでなくても、明らかにされないのである。
・ハイパーセキュアラストマイル通信では、順次データパケットが同じコールの一部であるのか、あるいはまた異なる宛先と関連性のないデータパケットを表しているのかを識別しない。
・データパケットのコールの特異性を隠すことにより、ハイパーセキュアラストマイル通信はコール時間に関するメタデータを不明瞭化する。
・ハイパーセキュアラストマイル通信は、ペイロードを動的にエンコードし、パケットコンテンツへの不正アクセスを防ぎ、音声、ビデオ、テキスト通信、写真、ファイル、その他のコンテンツのプライバシーを保護する。
したがって、すでに説明したとおり、開示された安全な動的通信ネットワークとプロトコル及びハイパーセキュアラストマイル通信を使用した通信では、SS7の脆弱性の影響を受けることがない。SDNP通信は独自のプロトコルを使用して実行され、エンコードされたペイロードによって伝送されるため、2G、3G、4G/LTEテレフォニーなどのオープンで暗号化されていないチャネルで伝送されるパケットであっても、SDNPデータパケットから通話データやコンテンツを抽出することはできない。したがって、パケットスニッフィングを使って、SDNPのコーディングや断片化されたデータ転送に対してサイバー攻撃の開始しようとしても効果は得られない。
SDNPの偽装機能
上記を考慮すると、SS7の脆弱性がSDNP通信に与える唯一の影響は、発信者の位置を明らかにする点である。携帯通信会社のSIMの電話番号は各ユーザのIDにリンクされているため、携帯電話の電源を入れると、電話がかかっていない場合でも、必ず最寄りの携帯電話基地局との通信が発生する。この基地局の情報は、GPSをオフにしても、ユーザの位置を三角測量し、加入者の移動を追跡するために使用できる。こうした未承認の追跡はSS7に依存しているため、従来の携帯電話会社のSIMカードを使用しているデバイスは、SDNPクライアントとして動作しているデバイスであっても、位置追跡に対して脆弱である。
図110の簡素化したネットワーク概略図に示す通り、本開示で示すところの「SDNP偽装機能」と称するハイパーセキュアラストマイル通信の強化により、加入者の追跡は完全に阻止される。この機能を実装するには、通常の携帯電話会社のSIMカード1880をSDNP SIMカード1882に置き換える。SDNP SIMカードは、加入者ではなくSDNPネットワークオペレータに登録されるため、SDNP SIMカード1882には個人の加入者情報は記録されない。SDNP SIMカード1882は、ネットワークにアクセスできる点はプリペイドSIMカードに似ているが、個人情報は一切含まれていない。代わりに、アカウント所有者の個人情報はすべてSDNPネットワークのネームサーバ内に安全に保存されており、ハッカーがアクセスしたり、サイバー攻撃を受けたりすることはない。
動作中、SDNPの偽装機能は、SDNPネットワークオペレータのみが認識しているSIMカード1882を使用することにより、所有者の本当の身元を隠す。このように、SIMカード内に含まれる電話番号は、携帯電話32と基地局25Bとの間にPHYレイヤ1とデータリンクレイヤ2の接続28Bを確立するために使用されるが、ルーティングは行わない。代わりに、ラストマイルルーティングのデータパケットの送信元アドレスと宛先アドレスが、SDNPシグナリングサーバ1603Aからの指示に従って、SDNPアプリ1335A及びSDNPゲートウェイ1601Aによって管理される。
SDNPゲートウェイ1601Aを介してルーティングされるSDNPアプリからのコールは、SIMカード番号とは異なる番号で表示される。物理SIMカード番号からSDNP電話番号へのこの変換は、SDNPネームサーバ1604Aによって実行される。コールのルーティング中に変換テーブル1885に従ってSDNPの電話番号をSIMの電話番号に変換することですべてのユーザに対して物理SIMカード番号を偽装する。SDNPの偽装機能を使用すると、電話の所有者の本当の身元が完全に隠される。SDNPクライアントに電話をかけるには、外部の発信者は、自分がSDNPクライアントでなくても、SDNPの番号に電話をかける。SDNPネットワークは、このコールを、SIMカードの電話番号を公開することなく、SDNPクライアントに自動的にルーティングする。同様に、SDNPクライアントは、SDNP以外の相手先にコールを発信し、このコールの受信者にはSIMカード番号ではなく、SDNP番号からの着信コールが表示される。このようにして、SDNPはインターネット通信のNATゲートウェイと同様の電話機能を実行する。唯一の違いは、SDNPシステムはリアルタイムネットワークであり、インターネットはそうではないことだけが異なる。
携帯電話32の真のユーザIDはコール28Bによっては明らかにならないため、携帯電話の位置を三角測量しても、そのユーザとすべての通信が匿名のままであるため役に立たない。そのため、身元不明の携帯電話の位置を追跡しても、ハッカーにとって有益なことは何もなく、SS7の脆弱性は回避される。SDNPクライアントが海外を旅行している場合、この旅行者は現地のプリペイドSIMカードを購入し、SDNP番号にリンクできる。SDNP加入者は引き続きSDNP電話番号にかけられたコールを受信するが、ラストリンクの通信はローカルSIMカードを使用して発生するため、ローミング料金が回避される。このようにして、ひとつのSDNP電話番号を、長距離通話料なしでグローバル番号として使用することができる。
SDNPサブネット
SDNP通信クラウドは、ソフトウェアベースの通信ノードである独自のソフトスイッチを使用して、プライベートまたは公にホストされているあらゆる相互接続コンピュータのネットワーク全体にリモート展開できる。サーバネットワークの例には、Microsoft、Google、及びAmazonの各社がホストするような、私企業が所有し公に貸与されるネットワークが含まれる。図111は、2つの別個のサーバネットワークに展開された2つのSDNPクラウドを示している。この図に示されるように、サーバ1901A、1901B、1901C、及び1901Dで構成されるSDNPクラウドは、それぞれSDNP通信ノードM0、0、M0、4、M0、7、及びM0、8をホストしている。第2のSDNPクラウドはサーバ1902A、1902B、及び1902Cで構成され、それぞれSDNPノードM10、0、M10、1、及びM10、2をホストしている。これらのクラウドはそれぞれゾーンZ0とゾーンZ10の別々のセキュリティクレデンシャル情報を利用するため、2つのSDNPクラウドは完全に区別され、情報を直接には共有できない。ただし、SDNPアプリ1335を実行している携帯電話32として示されている単一のSDNPクライアントは、それが異なるコンピューターサーバリースプロバイダによってホストされている場合であっても、両方のクラウドに適切に認証されてアクセスできる。例に示されるように、SDNPクライアントC1,1は、ルータ1910を介したハイパーセキュアラストマイル通信を使用してゾーンZ0クラウドのSDNPゲートウェイノードM0,7にアクセスし、また同じルータ1910を介してハイパーセキュアラストマイル通信を使用してゾーンZ10クラウドのSDNPゲートウェイノードM10,0にアクセスでき、両者の会話やデータパケットが混じり合うリスクがない。
2つの独立したクラウドへのアクセスは、共通のコミュニケータアプリケーションUI/UX 1920を介して行われる。各クラウドへのアクセスは、個別のダイアログサンドボックス1921A及び1921Bにコンパートメント化されている。情報は個人アカウントのサンドボックス1921Aから携帯電話にダウンロードできるが、ビジネスアカウントのサンドボックス1921Bからデータをエクスポートする方法は、企業と企業のセキュリティ管理に依存する。
デバイスをSDNPクラウドに接続するには、SDNPアプリを、ソフトウェアまたはファームウェアとしてそのデバイスにインストールする必要がある。インストールは次のように行われる:(i)アプリケーションのダウンロード、(ii)SDNPネットワークで生成された認証コードによるデバイスIDの確認、(iii)個人識別クレデンシャル情報の確立、及び(iv)特定のSDNPクラウドへの参加への承認の取得。一旦有効化されると、SDNPアプリケーションは、独立したSDNPクラウドへのハイパーセキュアラストマイル接続を構築する。多くの場合、ビジネスアカウントのID確認とユーザ認証は、個人アカウントのアクセスに必要なものよりも複雑であり、多要素認証方法が必要になる場合もある。
SDNP通信はソフトウェアベースであり、通信クラウド毎にそれぞれのセキュリティクレデンシャル情報が使用されるため、同じサーバでホストされている場合でも、インストールされているSDNP通信ネットワーク同士間での相互作用が存在しない。ゾーン固有のセキュリティクレデンシャル情報によってカスタマイズされた各SDNPクラウドが一意に定義されるため、2つのSDNPクラウドは異なるので、データを直接共有することはできない。都合がよいことに、複数のSDNPクラウドを同じサーバまたはサーバネットワーク内に共存させることができ、データ漏洩のリスクもない。ビジネスネットワークへのアクセスは、クラウド所有者の要件に従って定義されている通り制御されている。そのため、共通のホストサーバを共有する場合、2つのアカウントと通信クラウドの混在は禁止されており、2つの異なるネットワークに接続するために2つの異なる電話が必要な場合と同じセキュリティで運用される。ゾーン固有のSDNPクラウド、つまり「サブネット」の自律性を図112でさらに詳しく示す。この図で、サーバ1121A、1901B、1901C、1901Dが同時に2つのクラウドをホストしている。一方のクラウドはゾーンZ0のSDNP通信ノードM0,0、M0,4、M0,7、及びM0,8、及び他方のクラウドはゾーンZ7 SDNP通信ノードM7,0、M7,4、M7,7、及びM7,8で構成されている。同じサーバ内で動作しているにもかかわらず、SDNPで確立されたプロトコルを使用するハイパーセキュア通信では、直接的なデータ交換を防止できる。したがって、アクセスは、直接的なクラウド間データ交換ではなく、ラストマイル通信によって管理される。
SDNP通信は、個人的にリースされた一般に利用可能なサーバに限定されず、様々な種類の企業ないし政府機関向けにカスタマイズすることも可能である。実際に、民間企業は多くの場合、とりわけ業務に不可欠なアプリケーションでは、独自のネットワークをホストすることを好む。プライベートネットワークの例としては、FedEx、Walmart、IBMなどが挙げられる。機密保持のため、研究機関、大学、及び医療センターで利用されるネットワークも、組織が独自にホストすることが多い。プライベートサーバネットワークはこの他にも次のような目的のホスティングに採用されることも多い。すなわち、SalesForce.com、Box.com、Dropbox、eTrade、SAPなどのグローバルビジネスクラウドアプリケーション、eBay、Amazon.com、Priceline.com、e-Insuranceなどの電子コマースプラットフォーム及び比較ショッピングネットワーク、YouTube(登録商標)、Amazon Prime、Netflix、Hulu、Comcast Xfinityなどのメディアストリーミングサービス、そしてFacebook、Twitter、Snapchatなどのソーシャルメディアなどである。
より規模の大きい企業では、IT部門が親組織や子会社に対して個別のネットワークを運用することを選択する場合があるだろう。ただし、多くの民間企業では、インフラストラクチャのコストがネットワーク設計の重要な要素と見られている。SDNPシステムは、2つの完全に異なるハードウェアベースのシステムをサポートするのではなく、別個の共有サーバリソースの組み合わせを使用してネットワークを展開する機能を会社組織に提供する。図113に示されるように、2つの法人、例えば親会社とその子会社は、別々のサーバと共有サーバの両方で構成されるひとつのサーバネットワークを共同でホストする。具体的には、サーバ1903、1904B、1904C、及び1904Dは、親企業エンティティのためにゾーンZ7の通信ノードM7,0、M7,4、M7,7、及びM7,8をそれぞれホストし、一方、サーバ1901A、1901B、1901C、及び1903は会社の現地法人のためにゾーンZ0の通信ノードM0,0、M0,4、M0,7、M0,8をそれぞれホストする。図に示されるように、サーバ1903は、例えば、親エンティティのための2つのSDNP通信ノード、すなわちノードM7,0と、子会社のためのノードM0,8をホストする。サーバ1903とその他のサーバ(図示せず)が両方のエンティティで共有されている場合でも、セキュリティクレデンシャル情報が異なるため、親会社と子会社のSDNPクラウド間で直接データが共有されることはない。従業員は通常、雇用主のクラウドのみにアクセスするように制限されているが、役員の場合は両方のクラウドへのアクセスが必要になる場合がある。SDNPコミュニケータアプリUI/UX 1920で示されるような適切に承認されたユーザには、様々な法人向けの個別のダイアログサンドボックス1921C及び1921Dが含まれている。このようにして、一台の携帯電話またはタブレットで、ユーザが複数の携帯電話を持っているかのように、データが混在してしまうリスクを伴わずに、異なる法人の複数のSDNPクラウドにアクセスできる。
ラストマイルハイパーセキュアセキュリティクレデンシャル情報を使用して複数のSDNPクラウドへのアクセスを有効化または禁止するSDNPアプリのマルチプロファイル機能は、ひとつのSDNPアプリからその数に限りなくアカウントプロファイルをサポートする。例えば、図114では、SDNPクライアントC1,1は、SDNPノードM99,1からM99,5をそれぞれホストするサーバ1909Aから1909Eを含むゾーンZ99のグローバルSDNP telcoを介して、長距離料金なしで国際電話を発信できるだけでなく、例えば、SDNPノードM9,0、M9,4、及びM9,8をホストするサーバ1905A、1905B、及び1905Cで構成されるゾーンZ9のコーポレートクラウドなどの他のクラウドへのアクセスも可能であり、さらにまたSDNPノードM9,0、M0,4、及びM0,8をそれぞれホストするサーバ1901A、1901B、1901Cを介してゾーンZ0クラウドの加入者を呼び出すこともできる。特定のクラウドへのアクセス権限は、SDNPゲートウェイへのラストマイル通信を通じて適用され、システムのSDNPシグナリングサーバと、許可ユーザの管理に使用されるSDNPネームサーバによって管理される。
SDNP通信は、政府やセキュリティの分野に必要とされる高度なセキュリティとアクセスが制限されているネットワークでも同様に適用できる。例えば、米国では、地方及び州の法執行機関、FBI、米国防軍、米国国家安全保障局、米国の各軍隊(個別及び共同)、米国国務省などの様々な組織が、セキュリティによる制限付き通信を、議会及び立法のサーバネットワークと供に必要としている。他の国々も同様に、様々な政府機関向けに個別のネットワークをホストしている。
「知る必要がある人にのみ知らせる」方針で特定のクラウドへのアクセスをサポートするため、SDNP通信の方法と技術を活用して、ネストされたサブネットアーキテクチャを実装することができる。図115はネストされたSDNPクラウド構造の例で、これはSDNP通信ノードM0,0、M0、4、M0、5、M0、9をそれぞれホストするリースされたコンピュータサーバ1907Aから1907Dで構成されるひとつのセキュアクラウドとして示されている。この外側のネットワーク「シェル」での通信は、ゾーンZ0のセキュリティクレデンシャル情報を含み、SDNPコミュニケータ1920に表示される「秘密」レベルのダイアログサンドボックス1912Eに表示される。ネストされたクラウドには、政府がホストするサーバ1906A、1906B、1906C、及び対応するSDNPサーバノードM8、0、M8、2、M8、4を含むゾーンZ8のセキュリティクレデンシャル情報による強化されたセキュリティ内部コアも含まれている。クライアントC1,1がゾーンZ8コアにアクセスするには、「トップシークレット」の安全許可が必要とされ、強化された通信サンドボックス1921Fを介して通信する必要がある。この技術の政府による応用例のひとつは米国国務省にあり、ゾーンZ8でのトップシークレット通信は大使及び国務長官によるアクセスに制限されており、世界中の他の米国大使館スタッフはゾーンZ0のセキュリティクレデンシャル情報を用いたハイパーセキュアの「トップシークレット」通信しか利用できない。