(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-20
(54)【発明の名称】セキュア通信方法およびそのシステム
(51)【国際特許分類】
G06F 21/56 20130101AFI20220113BHJP
H04L 9/10 20060101ALI20220113BHJP
H04L 9/32 20060101ALI20220113BHJP
G06F 21/64 20130101ALI20220113BHJP
【FI】
G06F21/56 320
H04L9/00 621A
H04L9/00 675B
G06F21/64
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021527916
(86)(22)【出願日】2019-11-13
(85)【翻訳文提出日】2021-07-16
(86)【国際出願番号】 IL2019051238
(87)【国際公開番号】W WO2020105032
(87)【国際公開日】2020-05-28
(32)【優先日】2018-11-21
(33)【優先権主張国・地域又は機関】IL
(81)【指定国・地域】
(71)【出願人】
【識別番号】520372331
【氏名又は名称】カズアー アドヴァンスド テクノロジーズ リミテッド
【氏名又は名称原語表記】KAZUAR Advanced Technologies Ltd.
(74)【代理人】
【識別番号】110001302
【氏名又は名称】特許業務法人北青山インターナショナル
(72)【発明者】
【氏名】フィンチェルスタイン,ダニエル モンディ
(72)【発明者】
【氏名】ポラット,ユヴァル モシェ
(72)【発明者】
【氏名】フェンスター,ヤアコフ
(57)【要約】
送信元コンピュータと送信先コンピュータとの間でセキュア通信を行うコンピュータ化された方法が提供され、この方法は、検査コンピュータによって実行されるものであり、送信元コンピュータから送信先コンピュータへと送信されるデータを受信するステップと、1または複数のフィルタリング機構を用いて受信したデータを検査して、1または複数の検査結果を生成するステップと、1または複数の検査結果の各々に個別に署名するステップと、検査管理ポリシーに基づいて、検査結果および/またはその派生物の少なくとも一部を手動検査のために送信するか否かを判定するステップと、判定が肯定的である場合に、少なくとも一部の検査結果および/またはその派生物の手動検査を提供し、少なくとも1の手動検査結果に署名を行うステップと、署名付き検査結果を分析し、分析の結果が検査管理ポリシーで指定された予め設定された基準を満たした場合に、署名付き検査結果の追加の検証を実行するステップとを含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
送信元コンピュータと送信先コンピュータとの間でセキュア通信を行うコンピュータ化された方法であって、
検査コンピュータにより前記送信元コンピュータと前記送信先コンピュータを動作可能に接続する際に、前記検査コンピュータにより、前記送信元コンピュータから前記送信先コンピュータへと送信されるデータを受信するステップと、
前記検査コンピュータにより、1または複数のフィルタリング機構を用いて、受信したデータを検査して、それぞれのフィルタリング機構に対応する1または複数の検査結果を生じさせるステップであって、各検査結果が前記受信したデータの検査済みステータスを示す、ステップと、
前記検査コンピュータにより、前記1または複数の検査結果の各々に個別に署名を行い、1または複数の署名付き検査結果を生じさせるステップと、
前記検査コンピュータにより、検査管理ポリシーに基づいて、前記検査結果および/またはその派生物の少なくとも一部を手動検査のために送信するか否かを判定するステップであって、前記検査管理ポリシーが、前記受信したデータに関連する1または複数の属性に関して指定される、ステップと、
判定が肯定的である場合に、前記検査コンピュータにより送信された少なくとも一部の検査結果および/またはその派生物の手動検査を提供して、承認ステータスを示す少なくとも1の手動検査結果を生じさせるとともに、前記少なくとも1の手動検査結果の署名を提供して、少なくとも1の署名付き手動検査結果を生じさせるステップと、
前記検査コンピュータにより、i)前記1または複数の署名付き検査結果、およびii)前記少なくとも1の署名付き手動検査結果のうちの少なくとも1つを含む署名付き検査結果を分析し、分析の結果が前記検査管理ポリシーにより指定される予め設定された基準を満たす場合に、前記署名付き検査結果の追加の検証を実行し、この追加の検証によって、前記受信したデータに対応する検査済みデータを前記送信先コンピュータに送信するか否かを判定するステップとを備えることを特徴とするコンピュータ化された方法。
【請求項2】
請求項1に記載のコンピュータ化された方法において、
前記検査コンピュータが、前記1または複数のフィルタリング機構で構成され、1または複数のセキュア署名機構に関連付けられた1または複数のインスペクタを備え、前記受信したデータが、各インスペクタによってそれぞれのフィルタリング機構を用いて個別に検査され、前記1または複数の検査結果の各々が、対応するインスペクタによってそれぞれのセキュア署名機構を用いて個別に署名されることを特徴とするコンピュータ化された方法。
【請求項3】
請求項1または2に記載のコンピュータ化された方法において、
前記1または複数のフィルタリング機構が、マルウェア検出、データ漏洩防止、表情認識、フォーマット変換、修正の再編集およびデータフィルタリングを含むフィルタリング機構の群のなかから選択されることを特徴とするコンピュータ化された方法。
【請求項4】
請求項3に記載のコンピュータ化された方法において、
前記選択が、前記検査管理ポリシーおよび前記受信したデータに基づいて行われることを特徴とするコンピュータ化された方法。
【請求項5】
請求項1乃至4の何れか一項に記載のコンピュータ化された方法において、
前記検査結果の少なくとも1つが、前記受信したデータの検査済みステータスと、前記受信したデータに対応する検査済みデータとを含むことを特徴とするコンピュータ化された方法。
【請求項6】
請求項2乃至5の何れか一項に記載のコンピュータ化された方法において、
前記手動検査が、セキュア署名機構にそれぞれ関連付けられた少なくとも1の手動インスペクタによって実行され、前記少なくとも1の手動検査結果の署名が、前記少なくとも1の手動インスペクタの各々により、それに関連付けられたセキュア署名機構を使用して、別々に実行されることを特徴とするコンピュータ化された方法。
【請求項7】
請求項6に記載のコンピュータ化された方法において、
i)前記1または複数のインスペクタに関連付けられたセキュア署名機構、およびii)前記少なくとも1の手動インスペクタの各々に関連付けられたセキュア署名機構のうちの少なくとも一部が、セキュア環境で実行される暗号署名であることを特徴とするコンピュータ化された方法。
【請求項8】
請求項7に記載のコンピュータ化された方法において、
前記暗号署名が、保護されたメモリ領域の指定されたセキュアエンクレイブ内で実行されることを特徴とするコンピュータ化された方法。
【請求項9】
請求項7に記載のコンピュータ化された方法において、
前記1または複数のインスペクタおよび前記少なくとも1の手動インスペクタの各々が、それに指定されたそれぞれのセキュアエンクレイブと、指定されたセキュアエンクレイブで実行される暗号署名であるそれに関連するセキュア署名機構とを有することを特徴とするコンピュータ化された方法。
【請求項10】
請求項1乃至9の何れか一項に記載のコンピュータ化された方法において、
前記受信したデータに関連する1または複数の属性が、前記受信したデータの1または複数の属性と、データを送信する送信元コンピュータの1または複数の属性と、データが送信される環境の1または複数の属性とを含む群のなかから選択されることを特徴とするコンピュータ化された方法。
【請求項11】
請求項1乃至10の何れか一項に記載のコンピュータ化された方法において、
前記検査コンピュータにより、前記1または複数の検査結果を集約検査結果に集約するステップと、前記集約検査結果を前記手動検査のために送るか否かを判定するステップとをさらに含み、前記手動検査が前記集約検査結果に対して実行されることを特徴とするコンピュータ化された方法。
【請求項12】
請求項1乃至11の何れか一項に記載のコンピュータ化された方法において、
前記予め設定された基準が、前記検査管理ポリシーで指定された重み付けされた署名付き検査結果の合計に基づいていることを特徴とするコンピュータ化された方法。
【請求項13】
請求項1乃至12の何れか一項に記載のコンピュータ化された方法において、
前記追加の検証が、前記1または複数の署名付き検査結果および/または前記少なくとも1の署名付き手動検査結果の完全性および正確性を検証することを含むことを特徴とするコンピュータ化された方法。
【請求項14】
請求項2乃至13の何れか一項に記載のコンピュータ化された方法において、
前記検査管理ポリシーが、1または複数のインスペクタの予め設定された順序のリストを含み、前記受信したデータが、前記予め設定された順序のリストの1つにおける1または複数のインスペクタによって、検査および署名され、その際に、最初のインスペクタを除く各インスペクタが、前記受信したデータと、以前に署名を行った1または複数の先行するインスペクタの1または複数の署名とを含むコンテンツに署名して、署名のチェーンを生じさせ、前記追加の検証が、前記署名のチェーンにおける各署名の完全性および正確性の検証と、前記署名のチェーンの順序が前記予め設定された順序のリストに属しているか否かの検証とを含むことを特徴とするコンピュータ化された方法。
【請求項15】
検査コンピュータにより送信元コンピュータおよび送信先コンピュータと動作可能に接続された検査コンピュータであって、
前記送信元コンピュータにより前記送信先コンピュータへと送信されるデータを受信するステップと、
1または複数のフィルタリング機構を用いて受信したデータを検査し、それぞれのフィルタリング機構に対応する1または複数の検査結果を生成し、各検査結果が、前記受信したデータの検査済みステータスを示す、ステップと、
前記1または複数の検査結果の各々に個別に署名して、1または複数の署名付き検査結果を生成するステップと、
検査管理ポリシーに基づいて、前記検査結果および/またはその派生物の少なくとも一部を手動検査のために送信するか否かを判定するステップであって、前記検査管理ポリシーが、前記受信したデータに関連する1または複数の属性に関して指定される、ステップと、
判定が肯定的である場合に、前記検査コンピュータにより送信された少なくとも一部の検査結果および/またはその派生物の手動検査を提供して、承認ステータスを示す少なくとも1の手動検査結果を生じさせるとともに、この少なくとも1の手動検査結果の署名を提供して、少なくとも1の署名付き手動検査結果を生じさせるステップと、
前記検査コンピュータにより、i)前記1または複数の署名付き検査結果、およびii)前記少なくとも1の署名付き手動検査結果のうちの少なくとも1つを含む署名付き検査結果を分析し、分析の結果が前記検査管理ポリシーにより指定される予め設定された基準を満たす場合に、前記署名付き検査結果の追加の検証を実行し、この追加の検証によって、前記受信したデータに対応する検査済みデータを前記送信先コンピュータに送信するか否かを判定するステップとを実行するように構成されていることを特徴とする検査コンピュータ。
【請求項16】
請求項15に記載の検査コンピュータにおいて、
前記検査コンピュータが、前記1または複数のフィルタリング機構で構成され、1または複数のセキュア署名機構に関連付けられた1または複数のインスペクタを備え、前記受信したデータが、各インスペクタによってそれぞれのフィルタリング機構を用いて個別に検査され、前記1または複数の検査結果の各々が、対応するインスペクタによってそれぞれのセキュア署名機構を用いて個別に署名されることを特徴とする検査コンピュータ。
【請求項17】
請求項15または16に記載の検査コンピュータにおいて、
前記1または複数のフィルタリング機構が、マルウェア検出、データ漏洩防止、表情認識、フォーマット変換、修正の再編集およびデータフィルタリングを含むフィルタリング機構の群のなかから選択されることを特徴とする検査コンピュータ。
【請求項18】
請求項17に記載の検査コンピュータにおいて、
前記選択が、前記検査管理ポリシーおよび前記受信したデータに基づいて行われることを特徴とする検査コンピュータ。
【請求項19】
請求項15乃至18の何れか一項に記載の検査コンピュータにおいて、
前記検査結果の少なくとも1つが、前記受信したデータの検査済みステータスと、前記受信したデータに対応する検査済みデータとを含むことを特徴とする検査コンピュータ。
【請求項20】
請求項16乃至19の何れか一項に記載の検査コンピュータにおいて、
前記手動検査が、セキュア署名機構にそれぞれ関連付けられた少なくとも1の手動インスペクタによって実行され、前記少なくとも1の手動検査結果の署名が、前記少なくとも1の手動インスペクタの各々により、それに関連付けられたセキュア署名機構を使用して、別々に実行されることを特徴とする検査コンピュータ。
【請求項21】
請求項20に記載の検査コンピュータにおいて、
i)前記1または複数のインスペクタに関連付けられたセキュア署名機構、およびii)前記少なくとも1の手動インスペクタの各々に関連付けられたセキュア署名機構のうちの少なくとも一部が、セキュア環境で実行される暗号署名であることを特徴とする検査コンピュータ。
【請求項22】
請求項21に記載の検査コンピュータにおいて、
前記暗号署名が、保護されたメモリ領域の指定されたセキュアエンクレイブ内で実行されることを特徴とする検査コンピュータ。
【請求項23】
請求項21に記載の検査コンピュータにおいて、
前記1または複数のインスペクタおよび前記少なくとも1の手動インスペクタの各々が、それに指定されたそれぞれのセキュアエンクレイブと、指定されたセキュアエンクレイブで実行される暗号署名であるそれに関連するセキュア署名機構とを有することを特徴とする検査コンピュータ。
【請求項24】
請求項15乃至23の何れか一項に記載の検査コンピュータにおいて、
前記受信したデータに関連する1または複数の属性が、前記受信したデータの1または複数の属性と、データを送信する送信元コンピュータの1または複数の属性と、データが送信される環境の1または複数の属性とを含む群のなかから選択されることを特徴とする検査コンピュータ。
【請求項25】
請求項15乃至24の何れか一項に記載の検査コンピュータにおいて、
前記1または複数の検査結果を集約検査結果に集約するステップと、前記集約検査結果を前記手動検査のために送るか否かを判定するステップとをさらに実行するように構成され、前記手動検査が前記集約検査結果に対して実行されることを特徴とする検査コンピュータ。
【請求項26】
請求項15乃至25の何れか一項に記載の検査コンピュータにおいて、
前記予め設定された基準が、前記検査管理ポリシーで指定された重み付けされた署名付き検査結果の合計に基づいていることを特徴とする検査コンピュータ。
【請求項27】
請求項15乃至26の何れか一項に記載の検査コンピュータにおいて、
前記追加の検証が、前記1または複数の署名付き検査結果および/または前記少なくとも1の署名付き手動検査結果の完全性および正確性を検証することを含むことを特徴とする検査コンピュータ。
【請求項28】
請求項16乃至27の何れか一項に記載の検査コンピュータにおいて、
前記検査管理ポリシーが、1または複数のインスペクタの予め設定された順序のリストを含み、前記受信したデータが、前記予め設定された順序のリストの1つにおける1または複数のインスペクタによって、検査および署名され、その際に、最初のインスペクタを除く各インスペクタが、前記受信したデータと、以前に署名を行った1または複数の先行するインスペクタの1または複数の署名とを含むコンテンツに署名して、署名のチェーンを生じさせ、前記追加の検証が、前記署名のチェーンにおける各署名の完全性および正確性の検証と、前記署名のチェーンの順序が前記予め設定された順序のリストに属しているか否かの検証とを含むことを特徴とする検査コンピュータ。
【請求項29】
コンピュータによって実行されたときに、請求項1乃至14の何れか一項に記載の方法のステップを前記コンピュータに実行させる命令のプログラムを有形に具体化する非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の主題は、概してデータ通信の分野に関し、より具体的には、送信元コンピュータと送信先コンピュータとの間のセキュア通信に関するものである。
【背景技術】
【0002】
現代の情報化社会では、個人情報や組織情報を含む膨大な量のデータが世界中のネットワークに浸透している。しかしながら、情報セキュリティ違反やコンピュータデバイスおよびコンピュータネットワークに対する攻撃は、巧妙化しながらも驚くべき速度で増加し続けており、望ましくないデータ漏洩や組織の資産に対する潜在的なリスク/損害を引き起こしている。
【0003】
セキュリティ業界では、新規性、効率性、機能セット、セキュリティへの全体的なアプローチの両方の観点から、データセキュリティ製品が急速に進歩している。現在、データのセキュリティと完全性を確保するために、例えば、ウイルス対策ソフトウェアのインストール、ファイアウォールの使用、データ保護ポリシーの確立、データ分類、アイデンティティ・アクセス管理など、特定の技術と手段が使用されている。
【0004】
しかしながら、データのセキュリティと整合性を確保および維持するためのセキュアデータ通信が依然として求められている。
【発明の概要】
【0005】
本開示の主題の特定の態様によれば、送信元コンピュータと送信先コンピュータとの間でセキュア通信を行うコンピュータ化された方法が提供され、この方法が、検査コンピュータにより送信元コンピュータと送信先コンピュータを動作可能に接続する際に、検査コンピュータにより、送信元コンピュータから送信先コンピュータへと送信されるデータを受信するステップと、検査コンピュータにより、1または複数のフィルタリング機構を用いて、受信したデータを検査して、それぞれのフィルタリング機構に対応する1または複数の検査結果を生じさせるステップであって、各検査結果が受信したデータの検査済みステータスを示す、ステップと、検査コンピュータにより、1または複数の検査結果の各々に個別に署名を行い、1または複数の署名付き検査結果を生じさせるステップと、検査コンピュータにより、検査管理ポリシーに基づいて、検査結果および/またはその派生物の少なくとも一部を手動検査のために送信するか否かを判定するステップであって、検査管理ポリシーが、受信したデータに関連する1または複数の属性に関して指定される、ステップと、判定が肯定的である場合に、検査コンピュータにより送信された少なくとも一部の検査結果および/またはその派生物の手動検査を提供して、承認ステータスを示す少なくとも1の手動検査結果を生じさせるとともに、少なくとも1の手動検査結果の署名を提供して、少なくとも1の署名付き手動検査結果を生じさせるステップと、検査コンピュータにより、i)1または複数の署名付き検査結果、およびii)少なくとも1の署名付き手動検査結果のうちの少なくとも1つを含む署名付き検査結果を分析し、分析の結果が検査管理ポリシーにより指定される予め設定された基準を満たす場合に、署名付き検査結果の追加の検証を実行し、この追加の検証によって、受信したデータに対応する検査済みデータを送信先コンピュータに送信するか否かを判定するステップとを備える。
【0006】
上記特徴に加えて、本開示の主題のこの態様に係る方法は、技術的に可能な任意の所望の組合せまたは順序で、以下に記載されている特徴(i)~(xiii)のうちの1または複数を含むことができる。
(i)検査コンピュータは、1または複数のインスペクタを備えることができ、当該インスペクタが、1または複数のフィルタリング機構で構成されるとともに、1または複数のセキュア署名機構に関連付けられている。受信したデータは、各インスペクタによってそれぞれのフィルタリング機構を用いて個別に検査され、1または複数の検査結果の各々は、対応するインスペクタによってそれぞれのセキュア署名機構を用いて個別に署名されるものとすることができる。
(ii)1または複数のフィルタリング機構は、マルウェア検出、データ漏洩防止、表情認識、フォーマット変換、修正の再編集およびデータフィルタリングを含むフィルタリング機構の群のなかから選択されるものとすることができる。
(iii)上記選択は、検査管理ポリシーおよび受信したデータに基づいて行われるものとすることができる。
(iv)検査結果の少なくとも1つは、受信したデータの検査済みステータスと、受信したデータに対応する検査済みデータとを含むことができる。
(v)手動検査は、セキュア署名機構にそれぞれ関連付けられた少なくとも1の手動インスペクタによって実行され、少なくとも1の手動検査結果の署名は、少なくとも1の手動インスペクタの各々により、それに関連付けられたセキュア署名機構を使用して、別々に実行されるものとすることができる。
(vi)ここで、i)1または複数のインスペクタに関連付けられたセキュア署名機構、およびii)少なくとも1の手動インスペクタの各々に関連付けられたセキュア署名機構のうちの少なくとも一部は、セキュア環境で実行される暗号署名であってもよい。
(vii)暗号署名は、保護されたメモリ領域の指定されたセキュアエンクレイブ内で実行することができる。
(viii)1または複数のインスペクタおよび少なくとも1の手動インスペクタの各々は、それに指定されたそれぞれのセキュアエンクレイブと、指定されたセキュアエンクレイブで実行される暗号署名であるそれに関連するセキュア署名機構とを有することができる。
(ix)受信したデータに関連する1または複数の属性は、受信したデータの1または複数の属性と、データを送信する送信元コンピュータの1または複数の属性と、データが送信される環境の1または複数の属性とを含む群のなかから選択することができる。
(x)本方法は、検査コンピュータにより、1または複数の検査結果を集約検査結果に集約するステップと、集約検査結果を手動検査のために送るか否かを判定するステップとをさらに含むことができる。手動検査は、集約検査結果に対して実行することができる。
(xi)予め設定された基準は、検査管理ポリシーで指定された重み付けされた署名付き検査結果の合計に基づくものとすることができる。
(xii)追加の検証は、1または複数の署名付き検査結果および/または少なくとも1の署名付き手動検査結果の完全性および正確性を検証することを含むことができる。
(xiii)検査管理ポリシーは、1または複数のインスペクタの予め設定された順序のリストを含むことができ、受信したデータは、予め設定された順序のリストの1つにおける1または複数のインスペクタによって、検査および署名されるものとすることができ、その際、最初のインスペクタを除く各インスペクタは、受信したデータと、以前に署名を行った1または複数の先行するインスペクタの1または複数の署名とを含むコンテンツに署名して、署名のチェーンを生じさせ、追加の検証は、署名のチェーンにおける各署名の完全性および正確性の検証と、署名のチェーンの順序が予め設定された順序のリストに属しているか否かの検証とを含むことができる。
【0007】
本開示の主題の他の態様によれば、検査コンピュータにより送信元コンピュータおよび送信先コンピュータと動作可能に接続された検査コンピュータが提供され、この検査コンピュータが、送信元コンピュータから送信先コンピュータへと送信されるデータを受信するステップと、1または複数のフィルタリング機構を用いて受信したデータを検査し、それぞれのフィルタリング機構に対応する1または複数の検査結果を生成し、各検査結果が、受信したデータの検査済みステータスを示す、ステップと、1または複数の検査結果の各々に個別に署名して、1または複数の署名付き検査結果を生成するステップと、検査管理ポリシーに基づいて、検査結果および/またはその派生物の少なくとも一部を手動検査のために送信するか否かを判定するステップであって、検査管理ポリシーが、受信したデータに関連する1または複数の属性に関して指定される、ステップと、判定が肯定的である場合に、検査コンピュータにより送信された少なくとも一部の検査結果および/またはその派生物の手動検査を提供して、承認ステータスを示す少なくとも1の手動検査結果を生じさせるとともに、この少なくとも1の手動検査結果の署名を提供して、少なくとも1の署名付き手動検査結果を生じさせるステップと、検査コンピュータにより、i)1または複数の署名付き検査結果、およびii)少なくとも1の署名付き手動検査結果のうちの少なくとも1つを含む署名付き検査結果を分析し、分析の結果が検査管理ポリシーにより指定される予め設定された基準を満たす場合に、署名付き検査結果の追加の検証を実行し、この追加の検証によって、受信したデータに対応する検査済みデータを送信先コンピュータに送信するか否かを判定するステップとを実行するように構成されている。
【0008】
本開示の主題のこの態様は、技術的に可能な任意の所望の組合せまたは順序で、方法に関して上述した特徴(i)~(xiii)のうちの1または複数を、必要な変更を加えて含むことができる。
【0009】
本開示の主題の他の態様によれば、命令のプログラムを有形に具体化する非一時的なコンピュータ可読記憶媒体が提供され、上記命令のプログラムは、コンピュータによって実行されたときに、送信元コンピュータと送信先コンピュータとの間でセキュア通信を行う方法をコンピュータに実行させるものであり、上記方法が、検査コンピュータにより送信元コンピュータと送信先コンピュータを動作可能に接続する際に、検査コンピュータにより、送信元コンピュータから送信先コンピュータへと送信されるデータを受信するステップと、検査コンピュータにより、1または複数のフィルタリング機構を用いて、受信したデータを検査して、それぞれのフィルタリング機構に対応する1または複数の検査結果を生じさせるステップであって、各検査結果が受信したデータの検査済みステータスを示す、ステップと、検査コンピュータにより、1または複数の検査結果の各々に個別に署名を行い、1または複数の署名付き検査結果を生じさせるステップと、検査コンピュータにより、検査管理ポリシーに基づいて、検査結果および/またはその派生物の少なくとも一部を手動検査のために送信するか否かを判定するステップであって、検査管理ポリシーが、受信したデータに関連する1または複数の属性に関して指定される、ステップと、判定が肯定的である場合に、検査コンピュータにより送信された少なくとも一部の検査結果および/またはその派生物の手動検査を提供して、承認ステータスを示す少なくとも1の手動検査結果を生じさせるとともに、少なくとも1の手動検査結果の署名を提供して、少なくとも1の署名付き手動検査結果を生じさせるステップと、検査コンピュータにより、i)1または複数の署名付き検査結果、およびii)少なくとも1の署名付き手動検査結果のうちの少なくとも1つを含む署名付き検査結果を分析し、分析の結果が検査管理ポリシーにより指定される予め設定された基準を満たす場合に、署名付き検査結果の追加の検証を実行し、この追加の検証によって、受信したデータに対応する検査済みデータを送信先コンピュータに送信するか否かを判定するステップとを備える。
【0010】
本開示の主題のこの態様は、技術的に可能な任意の所望の組合せまたは順序で、方法に関して上述した特徴(i)~(xiii)のうちの1または複数を、必要な変更を加えて含むことができる。
【図面の簡単な説明】
【0011】
本発明を理解し、それが実際にどのように実施され得るのかを理解するために、以下、添付の図面を参照しながら、非限定的な例として実施形態を説明する。
【
図1】
図1は、本開示の主題の特定の実施形態に係る検査コンピュータシステムの概略ブロック図を示している。
【
図2】
図2は、本開示の主題の特定の実施形態に係る、送信元コンピュータと送信先コンピュータとの間のセキュア通信の一般化されたフローチャートを示している。
【
図3】
図3は、本開示の主題の特定の実施形態に係る、クライアント-サーバ通信アーキテクチャにおけるクライアント-サーバパスおよびサーバ-クライアントパスのセキュア通信の確保を説明する概略図である。
【発明を実施するための形態】
【0012】
以下の詳細な説明では、本発明の完全な理解を提供するために、多くの具体的な詳細が記載されている。しかしながら、当業者であれば、本開示の主題がそれらの具体的な詳細なしに実施され得ることが理解されるであろう。他の例では、本開示の主題が不明瞭とならないように、周知の方法、手順、コンポーネントおよび回路は、詳細には記載されていない。
【0013】
特に明記されていない限り、以下の説明から明らかなように、本明細書の全体を通して、「受信」、「接続」、「送信」、「検査」、「フィルタリング」、「署名」、「判定」、「提供」、「分析」、「実行」、「検証」、「集約」などの用語を利用した説明は、データを操作および/または他のデータに変換するコンピュータの1または複数の動作および/または1または複数のプロセスを指し、上記データが電子、量などの物理的なものとして示され、かつ/または上記データが物理オブジェクトを示していることが理解されよう。「コンピュータ」という用語は、非限定的な例として、本出願で開示されるように、検査コンピュータおよびその一部、並びにそこに含まれる処理及びメモリユニットおよびプロセッサを含む、データ処理能力を有する任意の種類のハードウェアベースの電子デバイスを網羅するように、拡張的に解釈されるべきである。
【0014】
本明細書で使用される「非一時的なメモリ」および「非一時的な記憶媒体」という用語は、本開示の主題に適した任意の揮発性または不揮発性コンピュータメモリを網羅するように拡張的に解釈されるべきである。
【0015】
本開示の主題の実施形態は、特定のプログラミング言語を参照して記載されていない。本明細書に記載のように、本開示の主題の教示を実施するために様々なプログラミング言語を使用できることが理解されよう。
【0016】
本明細書で使用される、「例えば」、「のような」、「例として」といった語句やそれらの変化形は、本開示の主題の非限定的な実施形態を説明するものである。本明細書における、「ある場合」、「いくつかの場合」、「他の場合」またはそれらの変化形への言及は、1または複数の実施形態に関連して記載された特定の特徴、構造または特性が、本開示の主題の少なくとも1の実施形態に含まれることを意味する。このため、「ある場合」、「いくつかの場合」、「他の場合」またはそれらの変化形の出現は、必ずしも同一の1または複数の実施形態を指すとは限らない。
【0017】
特に明記されていない限り、別個の実施形態の文脈で説明されている本開示の主題の特定の特徴は、単一の実施形態において組み合わせて提供できることも理解されよう。反対に、単一の実施形態の文脈で説明されている、本開示の主題の様々な特徴は、別個に、または任意の適当なサブコンビネーションで提供することもできる。以下の詳細な説明では、方法および装置の完全な理解を提供するために、多数の具体的な詳細が記載されている。
【0018】
このことを念頭に置いて
図1を参照すると、本開示の主題の特定の実施形態に係る検査コンピュータシステムの概略ブロック図が示されている。
【0019】
図1に示すシステム100は、送信元コンピュータ101および送信先コンピュータ120に動作可能に接続された検査コンピュータを指している。検査コンピュータは、送信元コンピュータ101と送信先コンピュータ120との間のセキュアデータ通信を確保するために使用することができる。特定の実施形態によれば、送信元コンピュータは、送信先コンピュータへのデータ送信を初期化する要求側のコンピュータ化されたエンティティを指し、送信先コンピュータは、送信されたデータを受信する受信側のコンピュータ化されたエンティティを指している。
【0020】
送信元コンピュータおよび送信先コンピュータは、任意の適切なデータ通信スキームおよび構造で相互に接続および通信できる任意のコンピュータ化されたエンティティを指すことができ、本開示は、各エンティティの特定のタイプ、構造および/または機能/役割に限定されないことに留意されたい。いくつかの実施形態では、送信元コンピュータおよび送信先コンピュータが、クライアント-サーバ通信アーキテクチャで動作することができる。例えば、送信元コンピュータは、サーバとして機能する送信先コンピュータに情報をインポートする要求を初期化するクライアントを指すことができる。別の例では、送信元コンピュータは、クライアントとして動作する送信先コンピュータに情報を提供またはエクスポートするサーバを指すことができる。このような場合の一例としては、ローカル-リモート接続スキームが挙げられる。例えば、保険会社などの組織では、リモートユーザ/エージェントが社内のシステムに接続して、保険の見積もりを取得できるようにする場合がある。しかしながら、リモートユーザが会社の重要な情報を密かに抽出したり、内部システムにマルウェアを導入したりしないように対策を講じる必要がある。このため、本明細書で提案する検査コンピュータシステムは、クライアント-サーバパスおよび/またはサーバ-クライアントパスのセキュア通信を確保するために利用することができる。これらの態様の詳細は、
図3を参照して以下にさらに説明する。
【0021】
図示のように、システム100は、ハードウェアベースのI/Oインターフェース126およびストレージユニット122に動作可能に接続された処理及びメモリユニット(PMU、処理ユニットとも称する)102を備えることができる。PMU102は、
図2を参照して以下にさらに詳述するように、システム100を動作させるために必要なすべての処理を提供するように構成されている。PMU102は、プロセッサ(個別には示されていない)と、メモリ(個別には示されていない)とを備える。PMU102のプロセッサは、PMUに含まれる非一時的なコンピュータ可読メモリに実装されたコンピュータ可読命令に従って、複数の機能モジュールを実行するように構成することができる。そのような機能モジュールは、以下、PMUに含まれるものと称される。なお、本明細書で言及される「プロセッサ」という用語は、データ処理能力を有する任意の処理回路を包含するように拡張的に解釈されるべきであり、本開示は、そのタイプまたはプラットフォーム、またはそこに含まれる処理コアの数に限定されないことにも留意されたい。
【0022】
PMU102に含まれる機能モジュールは、1または複数のインスペクタ104と、ポリシーエンフォーサ108と、インスペクタおよびポリシーエンフォーサに動作可能に接続されたコントローラ106とを含むことができる。I/Oインターフェース126を介してPMUによって、送信元コンピュータ101から送信先コンピュータ120に送信されたデータが受信されると、1または複数のインスペクタ104は、1または複数のフィルタリング機構を使用して受信したデータを検査し、それぞれのフィルタリング機構に対応する1または複数の検査結果を生成するように構成することができる。検査結果の各々は、受信したデータの検査済みステータスを示すことができる。1または複数のインスペクタ104は、1または複数の検査結果の各々に個別に署名し、1または複数の署名付き検査結果を生成するようにさらに構成することができる。コントローラ106は、検査管理ポリシーに基づいて、検査結果および/またはその派生物の少なくとも一部を手動検査のために送信するか否かを判定するように構成することができる。検査管理ポリシーは、受信したデータに関連する1または複数の属性に関して指定することができる。本明細書で言及される1または複数のインスペクタは、後述する手動インスペクタと比べると、PMUに含まれるコンピュータ化された機能モジュールであることに留意されたい。
【0023】
肯定的な判定の場合(すなわち、コントローラが手動検査が必要であると判定した場合)、手動検査モジュール110は、検査コンピュータ(例えば、コントローラ106)により送信された少なくとも一部の検査結果および/またはその派生物の手動検査を提供して、承認ステータスを示す少なくとも1の手動検査結果を生じさせるとともに、少なくとも1の手動検査結果の署名を提供して、少なくとも1の署名付き手動検査結果を生じさせるように構成することができる。コントローラ106は、i)1または複数の署名付き検査結果、およびii)少なくとも1の署名付き手動検査結果のうちの少なくとも1つを含む署名付き検査結果を分析し、分析の結果が検査管理ポリシーによって指定される予め設定された基準を満たす場合に、署名付き検査結果の追加の検証を実行するようにさらに構成することができる。追加の検証は、受信したデータに対応する検査済みデータを送信先コンピュータに(例えば、I/Oインターフェース126を介して)送信するか否かを判定することができる。
【0024】
特定の実施形態によれば、システム100が、ストレージユニット122を含むことができる。ストレージユニット122は、システム100を動作させるために必要な任意のデータ、例えば、システム100の入力および出力に関連するデータや、システム100によって生成される中間処理結果を記憶するように構成することができる。例えば、ストレージユニット122は、送信元コンピュータ101から受信したデータ、1または複数の検査結果、検査済みデータ、手動検査結果および署名付き検査結果などを記憶するように構成することができる。
【0025】
いくつかの実施形態では、システム100が、システム100に関連するユーザ指定の入力および/または出力を可能にするように構成されたコンピュータベースのグラフィカルユーザインターフェース(GUI)124を任意に含むことができる。例えば、ユーザは、受信したデータおよび/または検査結果の一部をGUI上で表示することができる。任意選択的には、ユーザに、GUIを介して、システム100の特定の動作パラメータを定義するオプションを提供することができる。
【0026】
当業者であれば、本開示の主題の教示が、
図1に示すシステムに拘束されないことを容易に理解するであろう。同等の機能および/または変更された機能は、別の方法で統合または分割することができ、ソフトウェアとファームウェアおよびハードウェアとの適切な組合せで実装することが可能である。
【0027】
図1に示すシステムは、分散コンピューティング環境で実装することができ、この場合、1または複数のインスペクタ104またはその一部、ポリシーエンフォーサ108およびコントローラ106など、
図1に示す前述の機能モジュールの1または複数が、複数のローカルおよび/またはリモートデバイス上に分散され、通信ネットワークを介して接続され得ることに留意されたい。さらに、ストレージユニット122およびGUI124は、
図1のシステム100の一部であるとして図示されているが、他のいくつかの実施形態では、前述のユニットの少なくとも一部が、システム100の外部にあるものとして実装することができ、I/Oインターフェース126を介してシステム100とデータ通信で動作するように構成することができることに留意されたい。
【0028】
また、場合によっては、検査コンピュータは、1または複数のスタンドアロンコンピュータとして実装することができ、(
図1に例示されているように)送信元コンピュータおよび送信先コンピュータに動作可能に接続して、それらと連携して動作することができることに留意されたい。他のいくつかの場合において、検査コンピュータまたはその機能の少なくとも一部は、送信元コンピュータおよび/または送信先コンピュータと統合することができ、それによりその機能性を容易にし、強化することができる。そのような場合、システム100のコンポーネントまたはその少なくとも一部は、送信元コンピュータおよび/または送信先コンピュータの一部を形成することができる。
【0029】
ここで
図2を参照すると、本開示の主題の特定の実施形態に係る、送信元コンピュータと送信先コンピュータとの間のセキュア通信の一般化されたフローチャートが示されている。
【0030】
送信元コンピュータおよび送信先コンピュータを検査コンピュータ(例えば、
図1に示されているような検査コンピュータ100)と動作可能に接続すると、検査コンピュータによって(例えば、I/Oインターフェース126を介してPMU102により)、データが受信される(202)。データは、送信元コンピュータにより検査コンピュータを介して送信先コンピュータに送信される。
【0031】
前述したように、送信元コンピュータおよび送信先コンピュータは、任意の適切なデータ通信スキームおよび構造で互いに接続および通信することができる任意のコンピュータ化されたエンティティを指すことができる。本明細書において、送信元コンピュータによって送信されたデータは、任意の適切なフォーマットおよび/または構造で表すことができる、特定の情報を示す任意のタイプのデータを含むことができる。場合によっては、データは、例えば、画像ファイル、テキストファイル、オーディオおよび/またはビデオファイルなどの様々な可能なファイルタイプを有するファイルフォーマットで表現することができ、そのうちの特定のフォーマットは、それらのファイルに関連する特定のプログラムによって決定することができる。しかしながら、本開示は、その表現の特定のタイプによって制限されるものではない。さらに、一般的なファイル形式に関連しないデータ、例えば、インスタントメッセージなどのデータが送信される場合も、本開示の対象となると解釈されるべきである。
【0032】
いくつかのケースでは、検査コンピュータは、送信元コンピュータおよび送信先コンピュータがそのような検査を認識することなく、受信したデータの検査をデフォルトで実行することができ、他のいくつかのケースでは、検査コンピュータは、送信元コンピュータから受信したデータを検査するための特定の要求を受信したときに検査を実行することができることに留意されたい。特定の実施形態によれば、いくつかのケースでは、送信元コンピュータが、後述する他の動作を続行することを許可される前に、(例えば、検査コンピュータによって)認証および正常性の確認が必要とされる場合がある。
【0033】
受信したデータは、検査コンピュータによって、1または複数のフィルタリング機構を使用して検査(204)することができ、各々がそれぞれのフィルタリング機構に対応する1または複数の検査結果を生じさせる。1または複数の検査結果の各々は、検査コンピュータによって個別に署名され(206)、1または複数の署名付き検査結果がもたらされる。特定の実施形態によれば、検査コンピュータは、1または複数のインスペクタ(例えば、
図1に示すPMUに含まれる1または複数のインスペクタ104)を含むことができる。1または複数のインスペクタは、1または複数のフィルタリング機構でそれぞれ構成され、1または複数の安全な署名機構に関連付けることができる。受信したデータは、各インスペクタがそれぞれのフィルタリング機構を使用して個別に検査することができる。検査結果の各々は、対応するインスペクタによってそれぞれのセキュア署名機構を使用して、個別に署名され得る。
【0034】
本明細書では、「フィルタリング」および「フィルタリング機構」という用語が使用されているが、これらの用語は、単に受信したデータから不要な特徴またはコンポーネントを除去することに限定されると解釈されるべきではなく、むしろ、受信したデータを検証するために使用できる任意の適切な検査機構を包含することを意図していることに留意されたい。特定の実施形態によれば、1または複数のインスペクタの1または複数のフィルタリング機構は、マルウェア検出、データ漏洩防止、表情認識、フォーマット変換、修正の再編集、およびデータクレンジングを含むフィルタリング機構の群のなかから選択することができる。それらのフィルタリング機構の例示的な説明は、本明細書では例示的な目的のためにのみ与えられており、本開示を何らかの形で制限することを意図するものではない。マルウェア検出とは、受信したデータに埋め込まれた悪意のあるコードを検索することを指し、例えば、ウイルス対策ソフトウェアで使用される機構などがある。データ漏洩防止とは、貴重な情報が密かに抽出されるのを検証および防止することを指している。表情認識は、指定した正規表現/パターンに合致するデータを検出することを可能にする正規表現エンジンを指すことができる。フォーマット変換は、Microsoft WordをPDFまたは画像フォーマットに変換するなど、セキュリティ上の目的で、受信したデータのフォーマットを別のフォーマットに変換することを指すことができる。修正の再編集は、例えばデータを編集する目的で、送信元コンピュータから送られてきたデータを自動的に修正すること(例えば、セキュリティ上の目的で特定コンテンツを検閲または非表示するためにデータを編集すること)をいう。データクレンジングは、例えばデータを構成要素に分解して再構築することにより、必要のない、不要なデータの送信に使用される可能性のある構成要素を検出し、修正(または削除)することを指すことができる。
【0035】
特定の実施形態によれば、所与の受信データに対して使用される1または複数のフィルタリング機構または1または複数のインスペクタの選択は、検査管理ポリシーおよび所与の受信データに基づいて(例えば、
図1に示すようにコントローラ106によって)実行することができる。本明細書で使用される検査管理ポリシーは、受信したデータの検査を実行するために検査コンピュータ(特に、コントローラ)が構成される検査ルールおよび構成のセットを指すことができる。検査管理ポリシーは、ブロック208を参照して後述するように、検査される各受信データに関して具体的に決定される。
【0036】
対応するインスペクタからの各検査結果は、受信したデータの検査済みステータスを示すことができる。いくつかの実施形態では、検査結果の少なくとも1つが、受信したデータの検査済みステータスと、受信したデータに対応する検査済みデータとを含むことができる。様々なフィルタリング機構および受信したデータに応じて、様々なタイプの検査済みステータスが存在し得る。例えば、1つのタイプの検査済みステータスは、問題が発見されなかったというものであり、これは、データが良性であることを肯定的に示すものである。別のタイプの検査済みステータスは、1または複数の問題が発見されたというものであり、それとともに、発見された問題に関連する説明的な情報が含まれている。そのような場合、例えば、クリーニングが実行されなかったため、発見された問題がまだ存在するというものや、発見された問題はインスペクタによって処理/クリアされたため、もはや存在しないというものなど、さらにサブカテゴリを設けることができる。検査済みステータスの別のタイプは、受信したデータに対して特定の変更が加えられた結果、受信したデータの変更バージョンである検査済みデータが得られるものである。他の可能性のあるタイプの検査済みステータスには、データを処理できないというものや、データの読み取りエラー、フィルタの内部エラー、フィルタリングを実行するためのリソース不足などが含まれるが、これらに限定されるものではない。
【0037】
前述したように、1または複数のインスペクタは、1または複数のセキュア署名機構とそれぞれ関連付けることができる。本明細書で使用される「署名」または「署名機構」という用語は、メッセージや文書などのデジタルデータの真正性および完全性を提示するためのデジタル署名を提供するために使用されるコンピューティングスキームを意味する。有効なデジタル署名は、受信者に対して、送信されたメッセージが要求された送信者によって作成されたと信じる理由を与え(すなわち、認証)、メッセージが転送中に変更されていないと信じる理由を与え(すなわち、整合性)、よって偽造および/または改ざんを検出するために使用することができる。1または複数のインスペクタに関連するセキュア署名機構は、暗号技術に基づくものである。デジタル署名またはデジタルサインは、一般に、非対称暗号(例えば、公開鍵暗号)を採用している。署名機構または署名スキームは、公開鍵と秘密鍵の鍵ペアを所有する送信者が、秘密鍵を使用してデータに署名することを可能にし、受信者が対応する公開鍵を使用して署名されたデータ(データとともに署名を含む)を検証することを可能にする。可能性のある署名機構の一例としては、RSAアルゴリズムに基づくものが挙げられる。
【0038】
秘密鍵にアクセスできる人は誰でも所有者の署名を偽造することができるため、署名を安全に保つためには、秘密鍵を秘密にしておくための対策を講じる必要がある。鍵を保持するためのセキュア環境を提供する一例として、物理的なキャリアを使用することが挙げられる。物理的なキャリアは、秘密鍵を保存するハードウェア(例えば、USBドングル/アダプタなど)であり、デバイスに接続されたときにのみ、デバイスが秘密鍵を使用して署名を実行することを可能にする。したがって、データに署名するためには、物理的にドングルを用意する必要があり、これがセキュア署名機構のための別の保護策となる。ある実施形態では、物理的なキャリアをコード化し、場合によっては追加の保護機能を提供するために独自のプロセッサを持つことができる。
【0039】
セキュア環境を提供する別の例として、セキュアエンクレイブを使用することが挙げられる。セキュアエンクレイブ(本明細書では、SEまたはエンクレイブとも称する)は、アプリケーションまたはプロセスに組み込まれた信頼できる実行環境であり、アプリケーションがコードを実行し、データを内部に保存するためのセキュアな領域(例えば、分離され、暗号化された領域)を提供する。セキュアエンクレイブは、保護されたメモリ領域から実行することができ、そこでは、セキュアエンクレイブ命令に関連するプロセッサによって提供されるアクセス制御機構を使用してデータが保護される。
【0040】
例えば、セキュアエンクレイブは、インテルのソフトウェア・ガード・エクステンション(SGX)として実装されている。SGXは、対応するメモリ保護セマンティックおよび管理に使用される命令を有するプロセッサ上の新しい実行モードである。SGXは、保護されたメモリページに必要なコードとデータを入力し、コードとデータをエンクレイブ内でロックし、その中で測定を行うことによって、セキュアエンクレイブを作成することができる。プロセッサは、エンクレイブ内でコードを実行することができる。カーネル(リング0)またはハイパーバイザ(リング「-1」)、SMM(リング「-2」)またはAMT(リング「-3」)を含む他のエンティティは、エンクレイブに属するメモリページの読み出しまたは書き込みを行う権利を持たない。
【0041】
別の例として、セキュアエンクレイブまたは同様のデータセキュリティおよびアクセス制御機構(異なる用語で呼ばれることがある)は、例えば、AMDによるSecure Encrypted Virtualization(SEV)およびARMによるTrustZoneなど、他のプラットフォームおよび/またはベンダの技術によっても実装される。
【0042】
説明のみを目的として、以下の説明の特定の実施形態が、SGXおよびセキュアエンクレイブに関して提供される。実施形態は、同様に、上述したような様々なプラットフォームおよび/または技術で実装された他の類似のデータセキュリティおよびアクセス制御機構にも適用可能である。
【0043】
特定の実施形態によれば、上述したセキュアエンクレイブは、秘密鍵を保存するためのセキュア環境として、かつ/または鍵を使用して署名を実行するためのセキュア環境として使用することができ、よって、デバイスが侵害された場合でも、現在の特権レベルおよびCPUモードにかかわらず、他のエンティティがアクセスする権利を持たない鍵および/または署名の実行に対して、追加のセキュリティ保護を提供することができる。これは、エンクレイブに入ると、アクセス制御機構によって、エンクレイブに属するエンクレイブのメモリページがエンクレイブの外から読み書きできないようになっているという事実に起因する。
【0044】
本開示の特定の実施形態によれば、1または複数のインスペクタ(またはそのうちの少なくともいくつか)の各々は、インスペクタがコードを実行してデータをその中に格納するためのセキュア環境を提供する、それに指定されたそれぞれのセキュアエンクレイブを有することができる。このため、各インスペクタは、他のエンティティがアクセスできない指定されたエンクレイブを使用して、自身のコードおよびデータを安全に保護することができる。例えば、各インスペクタは、その秘密鍵、および/または、指定されたエンクレイブにおける署名の実行を保護することを選択することができる。場合によっては、インスペクタに関連する検査機能全体が、その指定されたエンクレイブ内で実行できる(すなわち、インスペクタが実際にエンクレイブ内で実行されている)と判断されることがある。
【0045】
図2の説明を続けると、1または複数の検査結果が1または複数のインスペクタによって個別に署名されて、1または複数の署名付き検査結果が得られると、検査管理ポリシーに基づいて、検査結果および/またはその派生物の少なくとも一部を手動検査のために送信するか否かを(例えば、コントローラ106によって)判定(208)することができる。
【0046】
前述したように、検査管理ポリシーは、検査される各受信データ毎に具体的に決定される。各受信データについて、ポリシーは、それに関連する1または複数の属性に関して指定することができる。いくつかの実施形態では、受信データに関連する1または複数の属性は、受信データの1または複数の属性と、データを送信する送信元コンピュータの1または複数の属性と、データが送信される環境の1または複数の属性とを含む群のなかから選択することができる。
【0047】
例えば、受信データの属性は、データのタイプおよびデータのコンテンツを含むことができる。送信元コンピュータの属性は、ユーザ(すなわち、送信元コンピュータを使用する職員/役職)名称、ユーザのタイプ、送信元コンピュータのタイプ、そのオペレーティングシステムのタイプおよびバージョン、信頼できるエンティティアプリケーション/サポートがインストールされている場合はそのバージョン、現在の正常性(例えば、有効なセキュリティアラート)、検査の最近の履歴、その物理的な位置およびIPアドレスなどを含むことができる。環境の属性は、データを受信した日付および/または時間、並びに、インスペクタから返された検査済みステータスの数およびタイプなどを含むことができる。
【0048】
特定の実施形態によれば、検査管理ポリシーは、上に挙げた属性のうちの1または複数に基づく1または複数の予め設定された基準を含むことができる。予め設定された基準の少なくともいくつかは、検査結果またはその派生物の何れかを手動で検査する必要性があるかどうかを判定するために使用することができる。例えば、営業担当者のユーザから受け取ったExcelファイルにVisual Basic for Applications(VBA)マクロが含まれおり、それを、インスペクタのうち1つのみが良性か否かを判断できるとする。ファイルの種類、ファイルのコンテンツ、および返された検査済みステータスの数(検査を実行することができるインスペクタの数)に基づいて、そのファイルを手動検査に送る必要があるか否かを判定することができる。別の例として、ある管理アシスタントからAutoCADのファイルを受信したとする。このタイプの役職は通常このタイプのファイルを扱うことはないため、ファイルのタイプとユーザのタイプに基づいて、そのファイルを手動検査に送る必要があると判断される。例えば、CFOであるユーザからスプレッドシートのファイルを受信したとする。インスペクタのすべて(および少なくとも2名)は良性と判定し、悪意があると判定するものはない。ファイルのタイプとユーザのタイプに基づいて、そのファイルを手動検査することなく、自動的に(例えば、ポリシーエンフォーサに)送ることができると判定することができる。
【0049】
前述したように、いくつかのケースでは、検査結果が、受信したデータの検査済みステータスと、受信したデータに対応する検査済みデータとを含むことができる。特定のケースに応じて、コントローラは、手動検査のために正確に何を送るべきかを決定することができる。いくつかの実施形態では、検査結果の一部(例えば、いくつかの特定のインスペクタの選択された1または複数の検査結果)についてのみ手動検査が必要であると決定することができる。それらの選択された検査結果の各々について、検査済みデータ、検査済みステータス、元の受信データおよび署名付き検査結果のうちの1または複数の派生物を、手動検査のために送信すると決定することができる。例えば、受信したデータがExcelファイルやAutoCADファイルである上記例の場合、元のファイル、検査済みファイル、検査済みステータスを手動検査に回すことができる。別の例では、受信データがインスペクタの1つによる検査時にフィルタリング/クレンジング/修正されている場合、受信データに対応する検査済みデータは、受信データのフィルタリング/修正されたバージョンとすることができる。コントローラは、修正の承認のために手動検査に検査済みデータを送信することを決定することができる。
【0050】
いくつかの実施形態では、任意選択的には、1または複数の検査結果、またはその少なくとも一部(例えば、選択された検査結果)は、(例えば、コントローラによって)集約検査結果に集約することができ、検査結果の派生物としての集約検査結果は、手動検査のために送信することができる。例えば、あるケースでは、集約検査結果は、元の受信データとともに、1または複数の検査済みステータスに基づいて生成された集約検査済みステータスを含むことができる。それは、他のケースでは、インスペクタの少なくとも1つが検査した検査済みデータとともに、集約検査済みステータスを含むことができる。
【0051】
ブロック208における肯定的な判定の際に、検査コンピュータ(例えば、コントローラ)によって送信された少なくとも一部の検査結果および/またはその派生物の手動検査を(例えば、手動検査モジュール110によって)提供することができ(210)、承認ステータスを示す少なくとも1の手動検査結果をもたらすことができる。さらに、少なくとも1の手動検査結果の署名を(例えば、手動検査モジュール110によってコントローラ106に)提供して(210)、少なくとも1の署名付き手動検査結果をもたらすことができる。特定の実施形態によれば、手動検査は、セキュア署名機構にそれぞれ関連付けられた少なくとも1の手動インスペクタによって実行することができ、少なくとも1の手動検査結果の署名は、少なくとも1の手動インスペクタの各々により、それに関連付けられたセキュア署名機構を使用して、個別に実行することができる。本明細書で使用される手動インスペクタという用語は、(コンピュータデバイスを備えた)承認者として、検査コンピュータから検査結果および/または派生物を受信したときに、受信した情報を承認するか否かを決定するために、追加の検査/検証を実行する人を指している。本明細書で言及されている手動検査モジュール110は、追加の検査/検証を実行するために、少なくとも1人の手動インスペクタによって操作される少なくとも1のコンピュータデバイス(またはコンピュータデバイスの専用検査モジュール)を含むと解釈されるべきである。
【0052】
少なくとも1の手動インスペクタによって使用される署名機構は、(上記ブロック206を参照して述べたように)1または複数のインスペクタに関連する署名機構を参照して上述したのと同様の方法で実行することができる。特に、本開示のいくつかの実施形態では、少なくとも1の手動インスペクタの各々に関連する(または、少なくとも1の手動インスペクタの少なくとも一部に関連する)セキュア署名機構は、セキュア環境で実行される暗号化署名である。例えば、少なくとも1の手動インスペクタ(またはその少なくとも一部)の各々は、手動検査プロセスを実行するための専用の検査モジュールを含むコンピュータデバイスを備えることができる。検査モジュールには、検査モジュールがコードを実行してデータを保存するためのセキュア環境を提供する、それぞれのセキュアエンクレイブが指定されている。例えば、検査モジュールは、その秘密鍵、および/または、指定されたエンクレイブにおける署名の実行を保護することを選択することができる。いくつかのケースでは、検査モジュールに関連する手動検査プロセス全体を、その指定されたエンクレイブで実行することを決定することができる。
【0053】
説明のために、手動検査プロセスを示す非限定的な例を説明する。ある会社のCFOは、自身の指定したコンピュータデバイスを使用して承認者として行動することができる。このコンピュータデバイスは、その検査モジュールに実装された検査機能により特別に構成されている。CFOが、検査コンピュータから受信した検査結果を検証して、自身の手動検査結果を提供すると、検査モジュールに指定されたセキュアエンクレイブで実行される手動検査結果に署名することができ、それにより、他のエンティティが署名に、特に署名に使用される秘密鍵にアクセスすることができないようになっている。署名付き手動検査結果は、更なる決定を行うために、検査コンピュータのコントローラに提供することができる。
【0054】
いくつかの実施形態では、手動検査結果は、承認ステータス(すなわち、検査コンピュータによって送信された、受信した少なくとも一部の検査結果および/またはその派生物が承認されているか否か)を示すことができる。任意選択的には、手動検査結果は、手動インスペクタが検査時にデータの特定の修正を行う場合、手動検査済みデータも含むことができる。
【0055】
図2の説明を続けると、署名付き検査結果は、検査コンピュータ(例えば、コントローラ106)によって分析することができる(212)。署名付き検査結果は、i)1または複数の署名付き検査結果、およびii)少なくとも1の署名付き手動検査結果、のうちの少なくとも1つを含むことができる。いくつかの実施形態では、ブロック208において手動検査が必要ないと判定された場合に、署名付き検査結果は、1または複数のインスペクタによって提供された1または複数の署名付き検査結果のみを含むことができる。他のいくつかの実施形態では、ブロック208において手動検査が必要であると判定され(すなわち、上述したような肯定的な判定がなされ)、少なくとも1の署名付き手動検査結果が手動検査モジュールによってコントローラに提供された場合に、署名付き検査結果は、少なくとも1の署名付き手動検査結果、または1または複数のインスペクタによって提供された1または複数の署名付き検査結果と少なくとも1の署名付き手動検査結果の両方を含むことができる。
【0056】
特定の実施形態によれば、分析は、検査管理ポリシーによって指定された予め設定された基準に基づいて行うことができる。いくつかのケースでは、1または複数のインスペクタおよび/または少なくとも1の手動インスペクタに、それぞれの重み係数を割り当てることができ、署名付き検査結果は、対応する検査結果に重み係数を適用することによりコントローラによって分析/評価されて、重み付けされた合計/総計(すなわち、重み付けされた署名付き検査結果の合計)をもたらすことができる。例えば、予め設定された基準は、(例えば、署名付き検査結果に含まれる署名に基づく)承認を示す署名付き検査結果の数、または承認を示す重み付けされた署名付き検査結果の合計、またはそれらの組合せに基づくことができる。前述した例を続けると、AutoCADファイルが手動検査に送られた場合、予め設定された基準として、承認を示す手動インスペクタの少なくとも2つの署名が得られること、または承認を示す少なくとも2つの署名が得られ、その合計の重みが5であることが挙げられる。例えば、CEOには4の重み、部門長には2の重み、技術エンジニアと営業担当者には1の重みといったように、組織内での立場や責任に応じて異なる重みが割り当てられた複数の手動インスペクタにファイルを送信することができる。その際に、承認を示す2名の署名を受け取り、重みが5である場合、例えばCEOと技術エンジニアの署名を受け取った場合には、予め設定された基準を満たしているとみなすことができる。また、Excelファイルが手動検査に送られる場合、予め設定された基準として、承認を示す少なくとも3の署名が得られ、その合計の重みが7であること、および、それに加えて、3の署名のうちの少なくとも一つが技術部門からのものであることを挙げることができる。別の例では、手動検査が実行されない場合、予め設定された基準として、1または複数のインスペクタのすべてからの検査結果が、データが良性であることの肯定的な指示を与えることを挙げることができる。
【0057】
分析の結果が予め設定された基準を満たす場合(214)、署名付き検査結果の追加の検証を検査コンピュータ(例えば、ポリシーエンフォーサ108)が実行することができる(216)。追加の検証は、受信したデータに対応する検査済みデータを送信先コンピュータに送信するか否かを決定することができる。いくつかの実施形態では、追加の検証は、1または複数の署名付き検査結果および/または少なくとも1の署名付き手動検査結果の完全性および正確性を検証することを含むことができる。ポリシーエンフォーサは、コントローラからすべての署名付き検査結果を受信し、データを送信先コンピュータに送信すべきか否かについて最終的な判断を下すように構成されており、それによりコントローラ以外に追加の保護策を提供することができる(すなわち、冗長性を提供して、システムの信頼性を高めることができる)。ポリシーエンフォーサは、1または複数のインスペクタおよび/または少なくとも1の手動インスペクタのすべてが検査を実行したか否か(すなわち、完全性)と、それらの署名が正しいか否か(すなわち、正確性)とを検証する。
【0058】
一方で、分析の結果が予め設定された基準を満たさない場合(214)、署名付き検査結果の追加の検証を行う必要はない。検査プロセスは停止することができ(218)、データを送信先コンピュータに送信しないと決定することができる。
【0059】
特定の実施形態によれば、1または複数のインスペクタの各々がそれぞれの検査結果に個別に署名する代わりに、コントローラは、以前に実行されたインスペクタの署名を含むコンテンツに各インスペクタが署名する、(検査管理ポリシーで指定される)「署名のチェーン」機構を維持することができる。具体的には、検査管理ポリシーは、1または複数のインスペクタの予め設定された順序のリストを含むことができ、受信したデータは、予め設定された順序のリストの1つにおける1または複数のインスペクタによって、検査および署名され、その結果、最初のインスペクタを除く各インスペクタが、受信データおよび以前に署名を実行した1または複数の先行するインスペクタの1または複数の署名を含むコンテンツに署名し、署名のチェーンを生じさせることができる。そのような場合、追加の検証は、署名のチェーンにおける各署名の完全性および正確性を検証することに加えて、署名のチェーンの順序が予め設定された順序のリストに属するか否かを検証することを含むことができる。これにより、悪意のある者によるコントローラの乗っ取りにより問題のあるデータが通過してしまう事態を効果的に防止することができる。
【0060】
特定の実施形態によれば、コントローラは、検査管理ポリシーに従って検査結果を分析することを容易にするために、ポリシーエンフォーサに関して上述したものと同様の方法でインスペクタの署名を検証するように構成することもできる。場合によっては、コントローラは、インスペクタが侵害されている(例えば、インスペクタの一部が、常に悪い応答を返す攻撃者によって攻撃されている可能性がある)か否かを検出する試みとして、インスペクタが正しく動作しているか否かを検証/検査するように構成することができる。そのような検証の一例として、インスペクタのプロービングがある。「プローブ」または「プロービング」という用語は、データを収集する目的、および/または、あるエンティティの状態や活動を監視する目的で行われる行動または使用されるサービスを意味する。
【0061】
前述したように、1または複数のインスペクタ104またはその一部、ポリシーエンフォーサ108およびコントローラ106など、前述した機能モジュール(またはその少なくとも一部)の各々は、ローカルおよび/またはリモートエンティティ上に分散した別個のデバイスに実装することができ、通信ネットワークを介して互いに動作可能に接続することができることにも留意されたい。さらに、それらモジュールの各々は、秘密鍵を格納するために、かつ/または署名プロセスを実行するために、かつ/または検証などを実行するために、指定されたそれぞれのセキュアエンクレイブを有することができる。場合によっては、モジュールのすべての機能をその指定されたエンクレイブで実行することができる(すなわち、モジュールがエンクレイブで実行されているとみなされる)。
【0062】
ここで
図3を参照すると、本開示の主題の特定の実施形態に係るクライアント-サーバ通信アーキテクチャにおいて、クライアント-サーバパスおよびサーバ-クライアントパスのセキュア通信を確保することを説明する概略図が示されている。
【0063】
図示のように、クライアント304は、通信ネットワークを介してサーバ302と通信している。クライアント304は、サーバ302に情報をインポートする要求を初期化することができ(よって、クライアント-サーバパスは、インポートパスとも称する)、サーバ302は、クライアント304に情報を提供またはエクスポートすることができる(よって、サーバ-クライアントパスは、エクスポートパスとも称する)。
図2を参照して上述したような本明細書で提案の検査機構を使用して、インポートパスおよび/またはエクスポートパス上の通信を保護することができ、それにより、クライアントとサーバとの間にセキュアインポートおよび/またはセキュアエクスポート通信パスを提供することができる。例えば、セキュアインポートは、サーバへの入力情報が良性であることを検証することを目的とし、セキュアエクスポートは、貴重な情報が密かに抽出されるのを検証および防止することを目的とするなど、2つのパスでセキュア通信を実行する目的は異なる場合があるが、本明細書で提案する検査コンピュータシステムおよび検査機構は、両方のパスに同様に適応することができる。具体的には、
図3の左
図306は、セキュアインポート検査システムを示している。インポートリクエスティーは、クライアント304から検査要求を受け取り、その要求をインポートコントロール(すなわち、上述したコントローラの役割に相当する、インポートコントローラ)に送るインターフェースとして機能する。インポートコントローラは、上述したのと同様の方法で、インポートインスペクタ、手動検査モジュールおよびインポートポリシーエンフォーサの間で連携を行う。インポートエンフォーサは、最後の保護策としての役割を果たし、データをサーバに転送するか否かを決定する。同様に、右
図308は、同様の方法で実装されるセキュアエクスポート検査システムを示している。2つのパスの目的が異なるため、何れかのパス上のインスペクタは、異なるフィルタリング機構に関連付けられ、コントローラは、その特定の目的を果たすために、異なる検査管理ポリシーで構成され得ることを理解されたい。
【0064】
図面に示して上述した実施例は、例示のみを目的とするものであり、如何なる方法であっても本開示を限定するものと見なされるべきではないことに留意されたい。当業者であれば、例示した実施例に加えて、またはその代わりに、他の適切な実施形態または例示を使用できることを容易に理解するであろう。
【0065】
また、
図2に示すフローチャートは、システム100の要素を参照して記載されているが、これに拘束されるものではなく、それぞれの操作は、本明細書に記載されたもの以外の要素によって実行できることに留意されたい。
【0066】
本発明は、その用途において、本明細書に含まれるか又は図面に示される記載に述べられた詳細に限定されないことを理解されたい。本発明は、他の実施形態が可能であり、様々な方法で実施および実行することができる。このため、本明細書で用いられている表現および用語は、説明を目的とするものであり、限定的なものと見なされるべきではないことを理解されたい。よって、当業者であれば、本開示の基礎となる概念が、本開示の主題のいくつかの目的を遂行するための他の構造、方法およびシステムを設計するための基礎として容易に利用できることを理解するであろう。
【0067】
また、本発明に係るシステムは、少なくとも部分的には、適切にプログラムされたコンピュータ上に実装されてもよいことが理解されるであろう。同様に、本発明は、本発明の方法を実行するためにコンピュータによって読み取り可能なコンピュータプログラムを企図している。さらに、本発明は、本発明の方法を実行するためにコンピュータによって実行可能な命令のプログラムを有形に具現化する非一時的なコンピュータ可読メモリも企図している。
【0068】
当業者であれば、添付の特許請求の範囲で規定された本発明の範囲から逸脱することなく、上述した本発明の実施形態に様々な修正および変更を適用できることを容易に理解するであろう。
【国際調査報告】