(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】エアギャッピングハードウェアプロトコルを使用したセキュアなデータ転送のためのシステムおよび方法
(51)【国際特許分類】
G06F 21/60 20130101AFI20241008BHJP
H04L 9/10 20060101ALI20241008BHJP
【FI】
G06F21/60 360
H04L9/10 A
(21)【出願番号】P 2022542921
(86)(22)【出願日】2021-01-20
(86)【国際出願番号】 EP2021051188
(87)【国際公開番号】W WO2021148461
(87)【国際公開日】2021-07-29
【審査請求日】2023-07-25
(32)【優先日】2020-01-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】522279483
【氏名又は名称】ビットフォールド アーゲー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ガンカルツ、カミル ラファル
【審査官】塩澤 如正
(56)【参考文献】
【文献】米国特許出願公開第2019/0372779(US,A1)
【文献】特表平11-502976(JP,A)
【文献】特表2014-501955(JP,A)
【文献】特開2005-309758(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
H04L 9/10
(57)【特許請求の範囲】
【請求項1】
エアギャッピングを使用したセキュアなデータ転送のためのシステムであって、
第1のモジュールであって、
パブリックネットワークと通信するように構成された第1のモジュール通信インタフェース、ならびに、
前記パブリックネットワークからデータを送るように、かつ/または、受信するように構成された第1のモジュールコントローラおよび第1のモジュールデータインタフェース
を有する第1のモジュールと、
第2のモジュールであって、
オペレーティングシステムを記憶している第1のリードオンリメモリ、
セキュリティ保護されたマシンまたはセキュリティ保護されたネットワークと通信して、前記第2のモジュールからデータを送信するように、また、前記第2のモジュールにデータを送信するように構成された第2のモジュール通信インタフェース、ならびに、
ブリッジモジュールと通信するためのマイクロコントローラおよび第2のモジュールデータインタフェースを有する
第2のモジュールと、
を備え、
前記ブリッジモジュールが、
ブリッジモジュールコントローラ、
前記ブリッジモジュールコントローラと通信するためのブリッジモジュールデータインタフェース、
データを記憶するためのメモリ、ならびに、
前記第1のモジュールデータインタフェースが前記第2のモジュールデータインタフェースに決して接続されないように、前記第1のモジュールデータインタフェースまたは前記第2のモジュールデータインタフェースに、選択的に前記ブリッジモジュールデータインタフェースを接続するように構成されたスイッチ、
を有し、
前記ブリッジモジュールコントローラが、前記第2のモジュールからデータを受信し、前記メモリに前記データを記憶し、前記データを前記第1のモジュールに送るように、かつ/または、前記第1のモジュールからデータを受信し、前記メモリに前記データを記憶し、前記データを前記第2のモジュールに送るように構成されており、
前記第2のモジュールが、
前記第2のモジュールの秘密鍵と、他の遠隔のエンティティの少なくとも1つの公開鍵とのセットを記憶している第2のリードオンリメモリ、ならびに、
前記第2のリードオンリメモリに記憶されている前記公開鍵および/または前記秘密鍵を使用して、データを暗号化および/または解読するように構成された暗号ユニット
を更に有する、
システム。
【請求項2】
前記スイッチが、単極双投(SPDT)スイッチである、
請求項1に記載のシステム。
【請求項3】
前記第1のモジュールおよび前記第2のモジュールが、共通の筐体内で、前記ブリッジモジュールと統合されている、
請求項1または2に記載のシステム。
【請求項4】
前記第2のモジュールデータインタフェースが、入力データバッファおよび出力データバッファを含む、
請求項1から3のいずれか一項に記載のシステム。
【請求項5】
請求項1から4のいずれか一項に記載のシステムを使用するエアギャッピングを使用したセキュアなデータ転送のための方法であって、
前記第2のモジュールにて、セキュアなデータを受信する段階と、
前記第2のモジュールにて、前記セキュアなデータを暗号化し、前記セキュアなデータに署名する段階と、
前記ブリッジモジュールの前記スイッチを前記第2のモジュールに切り替え、前記第2のモジュールから前記ブリッジモジュールに前記セキュアなデータを送る段階と、
前記ブリッジモジュールの前記スイッチを前記第1のモジュールに切り替え、前記ブリッジモジュールから前記第1のモジュールにデータを送る段階と、
前記第1のモジュールから前記パブリックネットワークを介して、指定された受信人にデータを送る段階と
を備える方法。
【請求項6】
請求項1から4のいずれか一項に記載のシステムを使用するエアギャッピングを使用したセキュアなデータ転送のための方法であって、
前記第1のモジュールにて、セキュアなデータを受信する段階と、
前記ブリッジモジュールの前記スイッチを前記第1のモジュールに切り替え、前記第1のモジュールから前記ブリッジモジュールに前記セキュアなデータを送る段階と、
前記ブリッジモジュールの前記スイッチを前記第2のモジュールに切り替え、データパケットが権限を付与された当事者により署名されているかどうかを検証し、前記ブリッジモジュールから前記第2のモジュールにデータを送る段階と、
前記第2のモジュールにて、データをチェックし、解読する段階と、
前記セキュリティ保護されたマシンまたは前記セキュリティ保護されたネットワークに、前記第2のモジュールからデータを送る段階と
を備える方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、セキュリティ保護されたマシンまたはネットワーク(イントラネットなど)と、インターネットなどのパブリックネットワークとの間での、エアギャッピングハードウェアプロトコルを使用したセキュアなデータ転送のためのシステムおよび方法に関する。
【背景技術】
【0002】
「エアギャッピング」は、あらゆるネットワーク接続からコンピューティングマシンを切り離した状態で維持すること、または、少なくともインターネットなどのパブリックネットワークからコンピューティングマシンを切り離した状態で維持することに関する周知の手順である。言い換えると、エアギャップ、エアウォールまたはエアギャッピングは、セキュリティ保護されていないネットワーク(パブリックインターネットまたはセキュリティ保護されていないローカルエリアネットワークなど)から、セキュアなコンピュータネットワークが物理的に分離されることを確実にするために1つまたは複数のコンピュータ上で用いられるネットワークセキュリティ対策である。
【0003】
結果として、エアギャッピングを施されたコンピューティングマシンは、遠隔のエンティティがアクセス不可能であり、かつ、ユーザ(オペレータ)によって手動でのみ動作させることが可能な閉じたシステム(情報、信号などに関して閉じたシステム)である。
【0004】
「Virtual air gap - VAG system」と題された米国特許第US8984275B2号は、仮想エアギャップと、内部セキュリティコンポーネントと、外部セキュリティコンポーネントと、内部および外部セキュリティコンポーネントと共有メモリとの間に配置された、システムコンポーネントのメッセージ転送メカニズムとを備えるシステムを開示している。内部システムは、内部セキュリティコンポーネントと、システムに含まれ、システムを内部ネットワークに接続する他のコンポーネントとからなる。外部システムは、外部セキュリティコンポーネントと、システムに含まれ、システムを外部ネットワークに接続する他のコンポーネントとからなる。
【0005】
米国特許出願第US2019372779号は、ブロックチェーンへのアクセスを制御するために使用可能な秘密鍵などの情報のセキュアな記憶および取出しのための方法およびシステムであって、暗号資産保護システム内の複数の異なるヴォルトのうちのいずれかのヴォルトについてアクションを起こす要求を受け取ることであって、これらの複数の異なるヴォルトのそれぞれが、ヴォルト制御規則を規定する関連するポリシーマップを有する、受け取ることと、ハードウェアセキュリティモジュールにより制御される暗号鍵に基づいて、アクションが要求されているヴォルトについてのポリシーマップを、ハードウェアセキュリティモジュールにより認証することと、ヴォルトについてのポリシーマップがハードウェアセキュリティモジュールにより制御される暗号鍵に基づいて認証された場合に、ヴォルトについてのポリシーマップに突き合わせてアクションをチェックすることと、アクションがヴォルトについてのポリシーマップに従っていると確認された場合に、アクションを生じさせることとを含む方法およびシステムを開示している。
【発明の概要】
【0006】
エアギャッピングの欠点は、エアギャッピングを施されたコンピューティングマシンと遠隔のエンティティとの間の情報の転送が、労力集約型であり、これにより、エアギャッピングを施されたマシンに入力されることが見込まれるソフトウェアアプリケーションまたはデータについての人間によるセキュリティ解析、また、場合によっては、セキュリティ解析後のデータの人間による手動での再入力さえ伴うことが多いということである。
【0007】
さらに、エアギャッピングを施されたマシンは、一般に完全に分離されたハードウェアシステムであり、これは、2つのシステムを動作させ、維持することが必要であり、よって不便である。
【0008】
上記に鑑みて、エアギャッピングを使用した、より便利でセキュアなデータ転送のためのシステムを設計することが必要である。
【0009】
本発明は、エアギャッピングを使用したセキュアなデータ転送のためのシステムに関する。前記システムは、パブリックネットワークと通信するように構成された第1のモジュール通信インタフェース、ならびに、前記パブリックネットワークからデータを送るように、かつ/または、受信するように構成された第1のモジュールコントローラおよび第1のモジュールデータインタフェースを有する第1のモジュールを備える。前記システムは、第2のモジュールであって、オペレーティングシステムを記憶している第1のリードオンリメモリ、セキュリティ保護されたマシンまたはセキュリティ保護されたネットワークと通信して、前記第2のモジュールからデータを送信するように、また、前記第2のモジュールにデータを送信するように構成された第2のモジュール通信インタフェース、ならびに、ブリッジモジュールと通信するためのマイクロコントローラおよび第2のモジュールデータインタフェースを有する第2のモジュールを更に備える。また、前記システムは、ブリッジモジュールコントローラ、前記ブリッジモジュールコントローラと通信するためのブリッジモジュールデータインタフェース、データを記憶するためのメモリ、前記第1のモジュールデータインタフェースが前記第2のモジュールデータインタフェースに決して接続されないように、前記第1のモジュールデータインタフェースまたは前記第2のモジュールデータインタフェースに、選択的に前記ブリッジモジュールデータインタフェースを接続するように構成されたスイッチを有するブリッジモジュールを備え、前記ブリッジモジュールコントローラは、前記第2のモジュールからデータを受信し、前記メモリに前記データを記憶し、前記データを前記第1のモジュールに送るように、かつ/または、前記第1のモジュールからデータを受信し、前記メモリに前記データを記憶し、前記データを前記第2のモジュールに送るように構成されている。前記第2のモジュールは、前記第2のモジュールの秘密鍵と、他の遠隔のエンティティの少なくとも1つの公開鍵とのセットを記憶している第2のリードオンリメモリ、ならびに、前記第2のリードオンリメモリに記憶されている前記鍵を使用して、データを暗号化および/または解読するように構成された暗号ユニットを更に有する。
【0010】
前記スイッチは、単極双投(SPDT)スイッチであり得る。
【0011】
前記第1のモジュールおよび前記第2のモジュールは、共通の筐体内で、前記ブリッジモジュールと統合され得る。
【0012】
前記第2のモジュールデータインタフェースは、入力データバッファおよび出力データバッファを含み得る。
【0013】
また、本発明は、上記のようなシステムを使用するエアギャッピングを使用したセキュアなデータ転送のための方法に関し、前記方法は、前記第2のモジュールにて、セキュアなデータを受信する段階と、前記第2のモジュールにて、前記セキュアなデータを暗号化し、前記セキュアなデータに署名する段階と、前記ブリッジモジュールの前記スイッチを前記第2のモジュールに切り替え、前記第2のモジュールから前記ブリッジモジュールに前記セキュアなデータを送る段階と、前記ブリッジモジュールの前記スイッチを前記第1のモジュールに切り替え、前記ブリッジモジュールから前記第1のモジュールにデータを送る段階と、前記第1のモジュールから前記パブリックネットワークを介して、指定された受信人にデータを送る段階とを備える。
【0014】
前記方法は、前記第1のモジュールにて、セキュアなデータを受信する段階と、前記ブリッジモジュールの前記スイッチを前記第1のモジュールに切り替え、前記第1のモジュールから前記ブリッジモジュールに前記セキュアなデータを送る段階と、前記ブリッジモジュールの前記スイッチを前記第2のモジュールに切り替え、データパケットが権限を付与された当事者により署名されているかどうかを検証し、前記ブリッジモジュールから前記第2のモジュールにデータを送る段階と、前記第2のモジュールにて、データをチェックし、解読する段階と、前記セキュリティ保護されたマシンまたは前記セキュリティ保護されたネットワークに、前記第2のモジュールからデータを送る段階とを更に備え得る。
【0015】
本発明のこれらの特徴、態様および利点、ならびに、他の特徴、態様および利点が、以下での図面、説明および特許請求の範囲を参照することでより良好に理解されるようになるであろう。
【図面の簡単な説明】
【0016】
本明細書で提示されるこれらの目的および他の目的は、エアギャッピングハードウェアプロトコルを使用したセキュアなデータ転送のためのシステムおよび方法を提供することで実現される。本開示の更なる詳細および特徴、それらの特性、ならびに、様々な利点が、図に示される好ましい実施形態の以下での詳細な説明からより明らかになるであろう。
【0017】
【
図1】セキュリティ保護されていないネットワークに接続された、本明細書で提示されるシステムの第1のモジュールの図である。
【
図2】セキュリティ保護されたマシンまたはセキュリティ保護されたネットワークに接続された、本明細書で提示されるシステムの第2のモジュールの図である。
【
図3】第1のモジュールと第2のモジュールとの間で動作しているブリッジモジュールを示す図である。
【
図4】第1のモジュール、第2のモジュール、およびブリッジを備えるシステムの概要を示す図である。
【
図5】セキュリティ保護された環境からデータを送るためのセキュアなデータ転送の方法を示す図である。
【0018】
【
図6】セキュリティ保護された環境へのデータを受信するためのセキュアなデータ転送の方法を示す図である。 [表記および用語]
【0019】
以下の詳細な説明のいくつかの部分は、コンピュータメモリ上で実行され得る、データビットに対する動作からなるデータ処理手順、段階または他の記号表現に関して提示されている。したがって、コンピュータは、そのような論理段階を実行するので、物理量の物理操作を必要とする。
【0020】
これらの量は通常、コンピュータシステム内で記憶すること、転送すること、組み合わせること、比較すること、そうでなければ操作することが可能な電気信号または磁気信号の形態を取る。慣用上の理由で、これらの信号は、ビット、パケット、メッセージ、値、エレメント、シンボル、キャラクタ、ターム、またはナンバなどと称される。
【0021】
さらに、これらの用語および同様の用語の全ては、適当な物理量に関連するべきものであり、これらの量に適用される便利なラベルに過ぎない。例えば、「処理」または「作成」または「転送」または「実行」または「決定」または「検出」または「取得」または「選択」または「計算」または「生成」などの用語は、コンピュータシステムであって、そのコンピュータのレジスタおよびメモリ内で物理(電子)量として表されているデータを操作し、そのデータを、メモリもしくはレジスタまたは他のそのような情報ストレージ内で物理量として同様に表される他のデータに変換するコンピュータシステムのアクションおよび処理を指す。
【0022】
一般に、本明細書で参照されるもののようなコンピュータ可読(記憶)媒体は、非一時的なものであってもよく、かつ/または、非一時的デバイスを備えてもよい。この文脈において、非一時的記憶媒体は、有形であり得るデバイスを含んでよい。これは、当該デバイスが具体的な物理形態を有するが、当該デバイスがその物理状態を変え得ることを意味する。したがって、例えば、非一時的とは、状態が変化しても有形のままであるデバイスを指す。
【0023】
本明細書では、「例」という用語は、非限定的な例、事例または例示としての役割を果たすことを意味する。本明細書では、「例えば(for example)」という用語および「例えば(e.g.)」という用語は、1つまたは複数の非限定的な例、事例または例示の一覧を紹介する。
【発明を実施するための形態】
【0024】
以下の詳細な説明は、本発明を実施するモードであって、現在のところ企図されている最善のモードの説明である。この説明は、限定を行う意味で解釈されるべきではなく、本発明の一般原則を説明する目的のみのものである。
【0025】
図4に示すような全体構造を有する本明細書で提示されるシステムは、特に、セキュリティ保護されたマシンまたはセキュリティ保護されたネットワーク(第2のモジュール200が接続されている)と、インターネット(第1のモジュール100が接続されている)などのパブリックネットワーク、LANカード、または、それと同様の通信モジュールを介して接続された指定された受信人との間での、効率的かつ便利で急速なセキュアなデータ転送を提供するように構成することが可能である。
【0026】
本システムは、極秘データを処理する設備を接続するパブリックネットワークを介した極秘データの転送に特に有用である。例えば、ある製造会社は、特定の商品を製造する複数の工場と、各工場での製造プロセスに関する極秘データを集める中央ハブとを有することがある。そのケースでは、製造データをシステム400を介して送信することができ、極秘データを生成するマシンが、第2のモジュール200に接続されており、第2のモジュール200は、パブリックネットワークに対してエアギャッピングを施されており、中央ハブにデータを送ること、および/または、中央ハブからデータを受信することが必要なケースでのみ、パブリックネットワークにセキュアに接続される。さらに、ほとんどのケースでは、製造会社は、自体の設備のセキュアなIT環境がハッキングされるリスクのせいで、インターネットまたは公に利用可能な他のネットワークに設備を接続するリスクを冒すことができない。本明細書で説明されるデバイスは、権限を付与されていないエンティティ(例えば、ハッカー)がセキュリティ保護されたネットワークまたはセキュリティ保護されたマシン内に接続することをエアギャッピングにより阻止する。本明細書で説明されるシステムは、権限を付与されたエンティティのデジタル暗号鍵で署名されたセキュリティ保護された通信の転送のみを可能にする。さらに、本明細書で説明されるシステムは、別々の場所にあり、インターネットを介して接続してペアにされる上記の2つのマシンを介したセキュアな通信に使用することが可能である。
【0027】
本デバイスの他の用途は、宇宙衛星などの専門化されたエンティティとのセキュアな通信のためのものであり、権限を付与されていないエンティティによるアクセスを阻止することが最も重要である。
【0028】
本システムは、専用コンポーネントまたは特注のFPGA(フィールドプログラマブルゲートアレイ)回路もしくはASIC(特定用途向け集積回路)回路を使用して実現することができる。
【0029】
図1は、本システムの第1のモジュール100の図を示す。第1のモジュール100は、TCP/IPなどの一般的なプロトコルにより、一般的なネットワーク(LAN)カードなどを介してインターネット(または、一般には任意の非セキュアなパブリックネットワーク)に接続される。第1のモジュール100は、セキュリティ保護されたシステムからデータを受信すること、または、セキュリティ保護されたシステムにデータを送ることに関係する権限を付与された任意の外部の当事者との通信を担う。換言すると、それは通信モジュールである。
【0030】
第1のモジュール100は、システムの他のコンポーネントに通信可能に結合されるデータバス101を備え、これにより、それらのコンポーネントを、第1のモジュールコントローラ105により効果的に管理することができる。
【0031】
フラッシュメモリ104は、下記で説明される方法の段階を実行するために第1のモジュールコントローラ105により実行される1つまたは複数のコンピュータプログラムを記憶することができる。さらに、フラッシュメモリ104は、第1のモジュール100の構成パラメータを記憶することができる。
【0032】
第1のモジュール通信インタフェース102は、TCP/IPプロトコルを使用するLANカード、または、他の通信インタフェース(例えば、Wi-Fi(登録商標)、GSM(登録商標)、3G、LTE、もしくは5Gなど)であり得、外部のパブリックネットワークとの通信を管理するように構成される。第1のモジュール通信インタフェース102は、その動作をユーザが自分自身で制御することができるように専用のオン/オフ・スイッチを有し得る。
【0033】
第1のモジュールコントローラ105は、ランダムアクセスメモリ(RAM)105Aと、フラッシュメモリ105Cに記憶された命令により指定される基本的な算術演算、論理演算、制御動作、および、入出力(I/O)動作を実行することによりコンピュータプログラムの命令を実行するコンピュータ内の電子回路である中央処理ユニット(CPU)105Bと、第1のモジュール100の他のコンポーネントからのデータの受信、および/または、それらへのデータの送信を担うデータインタフェース105Dとを備えるシステムオンチップであり得る。
【0034】
一般に、第1のモジュール100は、第1のモジュール通信インタフェース102を介して、遠隔のサーバまたはクライアント(例えば、工場から極秘データを集めるか、または、製造設備に命令を送る製造会社の中央ハブ)との通信を確立するように構成される。
【0035】
例えば、イーサネット(登録商標)を介したTCP/IP技術を使用してデータバス101へのアクセスを可能にする第1のモジュールデータインタフェース106を介して、モジュール100とモジュール300との間でデータを暗号化された形態で送信することが可能である。
【0036】
図2は、本明細書で提示されるシステムの第2のモジュール200の図を示す。第2のモジュール200は、TCP/IPまたはこれに類似したプロトコルを使用して、LANカードまたは他のネットワーク接続を介することで、セキュリティ保護されたマシンとの通信、または、極秘データの生成または受信を行い、パブリックネットワーク(インターネットなど)に決して接続されない(または、第1のモジュール100が接続されているいずれのネットワークにも接続されない)セキュリティ保護されたネットワーク(イントラネットなど)(ただし、当該ネットワークは、第2のモジュール200に結合されているセキュリティ保護されたネットワークまたはセキュリティ保護されたマシンに接続されている)との通信を担う。
【0037】
第2のモジュールは、そのモジュールの要素を通信可能に結合するデータバス201を備える。
【0038】
第1のリードオンリメモリ202(ROM)は、第2のモジュール200のオペレーティングシステムを記憶する(このオペレーティングシステムは、ROMに記憶されているので改変されない)。
【0039】
システムのコンポーネントは、データバス201に通信可能に結合され、これにより、それらを、マイクロコントローラ205により管理することができる。
【0040】
ファイル、ウイルスなどを送ること、または、第2のモジュールに探りを入れることに基づくハッキングの試みをエアギャップにより阻止することなどのために、第2のリードオンリメモリ203(ROM)は、例えばインターネットなどのセキュリティ保護されていないネットワークから受信されるメッセージおよび命令を有効化するための認証鍵を記憶する。具体的には、第2のリードオンリメモリ203は、受信されたデータに署名する、およびそれを解読するための、第2のモジュール200に関連する秘密鍵と、データの受信人または送信元の公開鍵(それぞれ異なる受信人または送信元にデータを送ることが可能な場合は複数の鍵)であって、データが受信人によってのみ読み取ることが可能なようにデータを暗号化するための、または、データの受信されたパケットの信頼性を確認するための(ハッカーからの保護)公開鍵とを記憶する。
【0041】
セキュリティを高めるために、ROM202とROM203との両方は、鍵および/またはオペレーティングシステムの定期的な物理的アップデートを容易にするように、容易に置換えができるように構成することができる。
【0042】
フラッシュメモリ204は、極秘データを暗号化(データを送り出す場合)または解読(データが受信された場合)するために記憶するように構成される。
【0043】
マイクロコントローラ205は、デバイスの機能を制御するように、具体的には、
図5および
図6で説明されるセキュアなデータ転送の方法を指揮するように使用される。さらに、マイクロコントローラ205は、第2のモジュール200のコンポーネントに追加の機能を提供するように使用することもできる。マイクロコントローラ205は、プロセッサ205Aと、オペレーティングRAMメモリ205Bと、内部フラッシュメモリ205Cとを備えることができる。
【0044】
セキュアなデータを生成または受信するセキュリティ保護されたシステムと通信するために、第2のモジュール通信インタフェース208が使用される。例えば、第2のモジュール通信インタフェース208は、セキュリティ保護されたシステムまたはイントラネットなどのセキュリティ保護されたネットワークのPLCコントローラと通信するように構成されるイーサネットインタフェースであり得る(第2のモジュール通信インタフェース208は、TCP/IPプロトコルを使用することができる)。
【0045】
第2のROM203に記憶された鍵を使用して極秘データを暗号化および/または解読するように、暗号ユニット209が使用される。暗号ユニット209は、暗号化/解読アルゴリズムを急速に実行可能なFPGA回路の形態を有することが好ましい。
【0046】
モジュール200とモジュール300との間で、第2のモジュールデータインタフェースを介してデータを送信することが可能であり、第2のモジュールデータインタフェースは、SPDTスイッチ310を介してブリッジモジュールインタフェース309と通信するように構成されるデータバッファ206、207の形態であることが好ましい。入力バッファ206は、そこからデータを読み取るために第2のモジュールがアクセス可能であり、それにデータを記憶するためにブリッジモジュールがアクセス可能である。出力バッファ207は、それにデータを記憶するために第2のモジュールがアクセス可能であり、そこからデータを読み取るためにブリッジモジュールがアクセス可能である。データバッファ206、207のそれぞれは、自体の内部処理ユニットと、フラッシュメモリと、データバス201との通信、ならびに、SPDTスイッチ310を介したブリッジモジュールデータインタフェース309との通信に対処するためのデータインタフェースとを備えることができる。さらに、入力バッファ206は、ROM203内に記憶された公開鍵とペアにされた適切な秘密鍵でデータが署名されていない場合には、データパケットを第2のモジュール200の内部に渡すことができないので、入力バッファ206は、権限を付与されていないエンティティ(例えば、ハッカー)による侵害から、第2のモジュール200のセキュアな環境を保護し、この結果、そのモジュールに接続されたセキュリティ保護されたネットワークまたはマシンも保護することになる。
【0047】
第2のモジュール200は、専用のコンポーネントまたは特注のFPGA回路もしくはASIC回路を使用して実現することができる。
【0048】
ブリッジモジュール300とともに第2のモジュール200を共通の筐体内で統合して、イーサネットインタフェースなどの外部インタフェースを介して、第1のモジュールに接続可能(ブリッジモジュールを介してのみ)な専用のデバイスを形成することが可能である。モジュール100、200、300の全てを共通の筐体内で統合して、完全に機能的なデバイスを形成することができることが好ましい。
【0049】
図3は、第1のモジュール100と第2のモジュール200との間で動作するブリッジモジュール300を示す。ブリッジモジュール300の目的は、第2のモジュール200から第1のモジュール100に、かつ/または、第1のモジュール100から第2のモジュール200にセキュアなデータをセキュアに渡すことである。
【0050】
ブリッジモジュール300は、専用のコンポーネントまたは特注のFPGA回路もしくはASIC回路を使用して実現することができる。
【0051】
ブリッジモジュール300は、スイッチを介して送信されるデータを記憶するためのフラッシュメモリなどのメモリ303に通信可能に結合されるデータバス301を備える。さらに、システムの他のコンポーネントが、データバス301に通信可能に結合され、これにより、それらを、ブリッジモジュールコントローラ305により管理することができる。
【0052】
第1のモジュール100とブリッジ300との間で、または、第2のモジュール200とブリッジ300との間で所与の時間にデータを送信することが可能である。最大限のセキュリティのために、システムは、データの送信を制御するSPDTスイッチ310を使用することで、いつであっても、3つのモジュール100、200、300の全てが同時にアクティブになることができないように構成される。
【0053】
ブリッジモジュールコントローラ305は、マイクロコントローラであっても、または、マイクロコントローラもしくはそれに類似するサブコンポーネントを、第1のモジュールコントローラ105として備えるシステムオンチップモジュールであってもよく、ディスプレイ306上での情報の表示を制御するためのグラフィック処理ユニットを有してもよいが、このことは必須ではない。
【0054】
オン/オフ・スイッチ304が、ユーザにより動作させられた際にデバイスをオンまたはオフに切り替えるように構成される。他の典型的なコンポーネントは、ディスプレイ306、入力インタフェース311(簡易型キーボードまたは小数のみのキーなど)を含み、ユーザとの通信のためのコンポーネントを形成するスピーカ302を有してもよい。
【0055】
ブリッジモジュール300は、モジュール307により電力を供給され、モジュール307は、電源に接続される電力供給部であってもよく、または、パワーオーバイーサネット技術を使用した電力供給部であってもよい。
【0056】
ブリッジモジュール300は、ブリッジまたは第1のモジュールのプログラミング(または構成)を可能にするためのプログラミングポート312(USB、イーサネット、または、RS232など)を更に備えることができる。
【0057】
ブリッジモジュール300は、第1のモジュールインタフェース106と、または、第2のモジュール200のデータバッファ206、207と、両者ともにSPDTスイッチ310を介して通信するように構成されるブリッジモジュールデータインタフェース309を備える。ブリッジモジュールデータインタフェース309は、データバス301を介して、または、専用の接続線を介して直接的にSPDTスイッチに接続することができる。
【0058】
SPDT(単極双投)スイッチモジュール310は、1度にモジュールのうちの1つのみに(第1のモジュール100または第2のモジュール200に)データを送信することが可能なように構成される。
【0059】
第1のモジュールデータインタフェース106が第2のモジュール200のデータバッファ206、207に決して接続されないという機能が提供される限り、SPDTスイッチの代わりに他の種類のスイッチングモジュールを使用してもよい。
【0060】
図4は、第1のモジュール100と、第2のモジュール200と、ブリッジモジュール300とを備えるシステムであって、ブリッジモジュール300が、所与の時間にSPDTスイッチ310を介して第1のモジュール100または第2のモジュール200に選択的に接続される、システムの概要を示す。SPDTスイッチ310は、データの送信を制御する。
【0061】
したがって、システム400は、少なくとも3つのモジュール、すなわち、第1のモジュール100と、第2のモジュール200と、モジュール100とモジュール200との間でデータを渡すことを可能にし、モジュール100およびモジュール200が互いから独立して動作することを可能にするブリッジモジュール300とに分割されることでセキュリティ問題を解決することが可能である。第2のモジュール200は、セキュリティ保護されたマシンまたはネットワークをウイルスおよびハッカーによる侵害から保護するために、パブリックネットワーク(インターネットなど)に決して接続されることなく、自体の秘密鍵または受信人の公開鍵を使用してセキュアなデータを暗号化するように、また、セキュリティ保護されていないネットワークから、セキュリティ保護された(かつ暗号化された)メッセージおよび命令を、それらを有効化(および解読)する方法を用いて受信するように構成される。
【0062】
具体的には、所与の事例のいずれにおけるブリッジモジュール300も、第1のモジュール100と第2のモジュール200とのいずれかに接続することが可能であるで、第2のモジュール200は、パブリックネットワークまたはセキュリティ保護されていない他のネットワークに決して接続されない。したがって、遠隔のエンティティ(ハッカーまたはスパイソフトウェアを動作させるマシン)が、第2のモジュール200に直接的にアクセスを試みることは不可能である。第1のモジュール100もまた、第2のモジュール200または第2のモジュール200に接続されたネットワークのデータまたは内容にアクセスするための形態を何ら有さない。
【0063】
図5および
図6のセキュアなデータ転送の方法を参照してデバイスの機能を説明する。これらの方法は、マイクロコントローラ205が指揮することが可能である。
【0064】
図5は、第2のモジュールからパブリックネットワークを介して、指定された受信人にデータを送るためのセキュアなデータ転送の方法を示す。まず、段階501で、第2のモジュールがオンに切り替えられ、ブリッジのSPDTスイッチが、第2のモジュールの207直接出力バッファに設定される。
【0065】
一般には、デバイスの動作中に、第1のモジュール100および第2のモジュール200の両方をオンにすること、または、モジュール100、200のうちの1つのみをオンにする(潜在的にセキュリティをより高くするために)ことができる。
【0066】
あるいは、第2のモジュール200が、第2のモジュール200に接続されているセキュリティ保護されたネットワークまたはセキュリティ保護されたマシンからデータを受信し、次いでそれを暗号化している際には、SPDTスイッチを第1のモジュール100に接続することも可能であるが、既に暗号化されているデータをブリッジモジュール300に転送して、更にデータ転送を進めるためには、SPDTスイッチを第2のモジュール200に接続することが必要である。
【0067】
次に、段階502で、セキュアなデータが第2のモジュールにより受信される。次いで、段階503で、セキュアなデータが暗号化され署名される(データが送信されるべき受信人の公開鍵を使用して暗号化され、第2のモジュールの秘密鍵により署名される)。次に、段階504で、暗号化されたデータが、第2のモジュールからブリッジモジュールに送られる。データが受信され、ブリッジモジュールのメモリに記憶された後、段階505で、SPDTスイッチが第1のモジュールに設定され、段階506で、ブリッジモジュールから第1のモジュールにデータが送られる。続いて、段階507で、第1のモジュールからパブリックネットワークを介して、指定された受信人にデータが送られる。
【0068】
図6は、パブリックネットワークから第2のモジュールによりデータを受信するためのセキュアなデータ転送の方法を示す。まず、段階601で、第1のモジュールがオンに切り替えられ、ブリッジのSPDTスイッチが、第1のモジュールに設定される。
【0069】
あるいは、パブリックネットワークからのデータの受信中には、SPDTスイッチを第2のモジュール200に接続することも可能であるが、データをブリッジモジュール300に転送して、データ転送に伴い更に処理するためには、SPDTスイッチを第1のモジュール100に接続することが必要である。
【0070】
一般には、デバイスの動作中に、第1のモジュール100および第2のモジュール200の両方をオンにすること、または、モジュール100、200のうちの1つのみをオンにする(潜在的にセキュリティをより高くするために)ことができる。
【0071】
次に、段階602で、データが第1のモジュールにより受信される。次いで、段階603で、第1のモジュールからブリッジモジュールにデータが送られる。データが受信され、ブリッジモジュールのメモリに記憶された後、段階604で、SPDTスイッチは、第2のモジュールの206直接入力バッファに設定され、ROM203および206直接入力バッファのコンピューティングユニットに記憶された暗号鍵のセットを使用して、権限を付与された当事者によりデータが署名されているか、データが第2のモジュールに入ることが可能かについてデータが検証され、そうであると検証されれば、段階605で、データはブリッジモジュールから第2のモジュールに転送される。続いて、段階606で、第2のモジュールにてデータがチェックおよび解読される。こうして初めて、段階607で、展開および解読されたデータが第2のモジュールからセキュリティ保護されたマシンまたはセキュリティ保護されたネットワークに送られる。
【0072】
提示された方法およびシステムは、使用性を損なうことなく電子的データ送信のセキュリティを改善することを可能にする。したがって、それらは、有用、具体的かつ有形の結果を提供する。機械・変換テストは満たされており、思想は抽象的ではない。
【0073】
本明細書で開示される方法の少なくとも一部分を、コンピュータ実装することもできる。したがって、本システムは、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または、本明細書では概して「回路」、「モジュール」、もしくは、「システム」と全て称することができる、ソフトウェアの側面とハードウェアの側面とを組み合わせた実施形態の形を取ることができる。
【0074】
さらに、本システムは、任意の有形の表現媒体であって、コンピュータ使用可能プログラムコード(量子コンピューティングソフトウェアが含まれる)がその媒体内で具現化される、有形の表現媒体内で具現化されるコンピュータプログラム製品の形態を取ることができる。
【0075】
エアギャップを介したセキュアなデータ転送のための前述の方法は、1つまたは複数のコンピュータプログラムにより実行および/または制御することができることを当業者であれば容易に理解することが可能である。そのようなコンピュータプログラムは、典型的には、コンピューティングデバイス内のコンピューティングリソースを利用することにより実行される。アプリケーションが非一時的媒体に記憶される。非一時的媒体の例は、例えばフラッシュメモリなどの不揮発性メモリであるが、揮発性メモリの例はRAMである。コンピュータ命令は、プロセッサにより実行される。これらのメモリは、本明細書において提示される技術的概念によるコンピュータ実装方法の全ての段階を実行するコンピュータ実行可能命令を含むコンピュータプログラムを記憶するための例示的な記録媒体である。
【0076】
特定の好ましい実施形態を参照して、本明細書において提示されるシステムおよび方法の図示、説明、および、定義を行ったが、前述の明細書における実装形態のそのような参照および例は、当該方法または当該システムに対するいかなる限定も示唆しない。しかしながら、技術的概念のより広い範囲から逸脱することなく、それらに対して様々な修正および変更が行われ得ることは明らかであろう。提示された好ましい実施形態は、例示的なものに過ぎず、本明細書において提示された技術的概念の範囲を網羅したものではない。
【0077】
したがって、保護範囲は、本明細書において説明した好ましい実施形態に限定されず、以下の特許請求の範囲によってのみ限定される。