説明

データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネント

データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネント。符号式暗号化モジュールは符号方式でデータを暗号化するよう適合することができ、これにより暗号化されたデータの一部または全てが処理可能なままである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にデータ暗号化の分野に関する。特に、本発明はデータを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネントに関する。より具体的には、本発明は、外部の権限を与えられたアプリケーションが暗号化されたデータに特定の処理−例えば暗号化されたデータ内の内容や検索用のインデックスデータの検索を実行できるフォーマットの暗号化データに関する。
【背景技術】
【0002】
現在、暗号化されたデータの処理(例えばインデックス作成および検索)を可能とする既知のソリューションはなく、暗号化は一般に記憶領域に記憶されているデータ、または2人の当事者間で送信された情報について行われる。双方の場合とも、データがアプリケーションにより処理される前にこれを復号しなければならない。
【0003】
SaaSアプリケーションに送信されるデータをセキュアにする全ての既知ソリューションは、ユーザ(エンドユーザまたは組織ネットワーク)とサービスとの間のパイプをセキュアにするステップと、サービスとしてのソフトウェア(SaaS)ベンダにより提供されるセキュリティに依存するステップとを含む。しかしながら、SaaSユーザは自身の機密データを管理しておらず、SaaSプロバイダから情報漏洩がある場合には、ユーザの機密データが公開されてしまう。
【0004】
これが外部リポジトリに送信される前にデータを標準規格で暗号化するという選択肢がある。しかしながら、標準的な暗号化ソリューションは検索、演算および比較のような標準的な操作の一環としてデータ内容を処理できない。
【0005】
データの暗号化および処理の分野において、データの暗号化および処理の改良された方法とシステムに対するニーズが存在している。
【発明の概要】
【0006】
本発明は、データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネントである。本発明の幾つかの実施形態によれば、データファイル、データレコード、トランザクション(例えばHTTP、HTTPS、SMTP、IMAP、POP3またはWAPリクエスト)またはドキュメント内のデータの一部または全てを完全符号方式で暗号化する符号式暗号化モジュールを提供することができる。暗号化は完全符号方式で不変であり、ファイルまたはドキュメント内のデータの少なくとも一部が検索可能であり、または処理可能なままである。暗号化モジュールは、符号式マッピングテーブルまたは符号式暗号化アルゴリズムの何れかを利用することができる。マッピングテーブルまたはアルゴリズムの暗号鍵は、ユーザまたは組織の何れかに固有のものとすることができる。暗号化アルゴリズムは、ユーザにより提供されるユーザまたは組織の何れかに固有の鍵を利用することができる。
【0007】
本発明の更なる実施形態によれば、1つの符号または符号グループの暗号化が選択可能であり、符号の機密性評価に基づくことができる。データ機密性評価モジュールが提供され、このモジュールがデータファイル、レコード、トランザクションまたはドキュメント内の一部もしくは全ての符号または符号グループの機密レベルを判定することができる。符号の機密性分類は、符号タイトル、符号データのフォーマット、符号内容、およびユーザ選択のセキュリティレベルからなる群から選択された1以上のパラメータに基づいて実行することができる。
【0008】
本発明の幾つかの実施形態によれば、暗号化モジュールがデータファイル、レコード、トランザクションまたはドキュメントを生成、閲覧または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することができる。
【0009】
本発明の更なる実施形態によれば、暗号化モジュールがデータファイル、レコード、トランザクションまたはドキュメントを生成、閲覧または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することができる。
【0010】
暗号化モジュールは、組織のデータファイルシステム、データレコードリポジトリまたはドキュメントリポジトリと一体型であるか、または機能的に連携することができる。
【0011】
暗号化モジュールは、外部組織のファイルシステム、データレコードリポジトリまたはドキュメントリポジトリへのゲートウェイと一体型であるか、または機能的に連携することができる。
【0012】
暗号化モジュールは、SaaSサーバにより提供されるアプリケーションまたはSaaSアプリケーションサーバへのゲートウェイと一体型であるか、または機能的に連携することができる。暗号化処理の特徴は、どのテーブルまたはアルゴリズムの鍵を用いるか、どの符号を暗号化に選択するかを含み、特定のアプリケーションに依存することができる。
【0013】
本発明の幾つかの実施形態によれば、暗号化モジュールにより暗号化に用いられたマッピングテーブルまたはアルゴリズムに関連づけられたマッピングテーブルまたは復号アルゴリズムを利用するよう適合された符号式復号モジュールを提供することができる。関連づけられた語句は、テーブルまたはアルゴリズムと同一または逆の何れかを意味する。復号モジュールは、返信されたレスポンス内の暗号化符号を検出し、これらの符号を復号することができる。
【0014】
復号モジュールは、データファイル、レコードファイル、レコード、トランザクションまたはドキュメントを生成、閲覧または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することができる。
【0015】
復号モジュールは、データファイル、レコード、レコードファイル、トランザクションまたはドキュメントを生成、閲覧または編集するよう適合されたアプリケーションのコンピュータプラットホームに接続された周辺ハードウェアと一体型であるか、または機能的に連携することができる。
【0016】
復号モジュールは、組織のデータファイルシステム、レコードリポジトリまたはドキュメントリポジトリと一体型であるか、または機能的に連携することができる。
【0017】
復号モジュールは、外部組織のデータファイルシステム、レコードリポジトリまたはドキュメントリポジトリへのゲートウェイと一体型であるか、または機能的に連携することができる。
【0018】
復号モジュールは、SaaSサーバにより提供されるアプリケーションまたはSaaSアプリケーションサーバへのゲートウェイと一体型であるか、または機能的に連携することができる。
【0019】
本発明の更なる実施形態によれば、暗号化モジュールがリレーショナルデータベースに記憶されたデータファイル、レコード、トランザクションまたはドキュメントの1以上のフィールド一部を少なくとも暗号化するよう適合することができる。検索またはインデックス作成などの1以上のリレーショナルデータベースの処理は、フィールドの暗号化された部分および暗号化されなかった部分の双方について実行することができる。本発明の更なる実施形態によれば、検索語をこの検索語の暗号化バージョンに変換することにより1以上の暗号化されたファイル、レコード、レコードファイル、トランザクションまたはドキュメントを検索するよう適合された検索エンジン/ユーティリティを提供することができる。本発明の幾つかの実施形態によれば、フィールドデータの暗号化と復号がリレーショナルデータベースにトランスペアレントである。
【0020】
データ処理モジュールは、暗号化モジュールにより暗号化され、リレーショナルデータベースに記憶された1以上のデータファイル、レコード、トランザクションまたはドキュメントの少なくとも一部から暗号化されたデータおよび暗号化されてないデータを読み出し処理するよう適合することができる。データ処理モジュールは、暗号化モジュールにより暗号化され、リレーショナルデータベースに記憶された1以上のデータフィールドの各々の少なくとも一部から暗号化されたデータを読み出し処理するよう適合することもできる。
【0021】
本発明の幾つかの実施形態によれば、暗号化モジュールがHTTP、HTTPS、SMTP、IMAP、POP3またはWAPリクエストを暗号化するよう適合することができ、このリクエストはHTTP、HTTPS、SMTP、IMAP、POP3またはWAP関連トランザクションとすることができる。
【0022】
本発明の幾つかの実施形態によれば、データレコード、データファイルまたはドキュメント内のデータの一部または全てを完全符号方式で暗号化するよう適合された符号式暗号化モジュールを含むデータ処理システムを提供することができ、この暗号化が完全符号方式で不変であり、ファイルまたはドキュメント内のデータの少なくとも一部が処理可能なままであって、小文字のフォーマット情報が暗号化されたデータで符号化される。暗号化すべき符号が最初に小文字に変換され、暗号化され、次いで暗号化されていない符号に関する文字のフォーマット情報は暗号化されたデータへ符号化することができる。復号モジュールは、暗号化された符号から文字のフォーマット情報を読み出し、暗号化された符号を復号して小文字の復号された符号に戻し、文字のフォーマット情報を復号された符号に適用することができる。
【図面の簡単な説明】
【0023】
本発明と関係する内容は、明細書の結論部分で特に指摘され、明確にクレームされている。本発明は、しかしながら、これらの目的、特徴および利点と共に、構成および動作の方法の双方に関して、添付図面と共に読むとき以下の詳細な説明を参照することにより最も良く理解される。
【図1】図1は、本発明の幾つかの実施形態に係る例示的なデータ処理システムのブロック図である。
【図2】図2は、各種データ生成と記憶チェーン内の各種例示的な暗号化/復号モジュール構成を示すブロック図である。
【図3】図3は、各種データ生成と記憶チェーン内の各種例示的な暗号化/復号モジュール構成を示すブロック図である。
【図4】図4は、各種データ生成と記憶チェーン内の各種例示的な暗号化/復号モジュール構成を示すブロック図である。
【図5】図5は、各種データ生成と記憶チェーン内の各種例示的な暗号化/復号モジュール構成を示すブロック図である。
【図6】図6は、各種データ生成と記憶チェーン内の各種例示的な暗号化/復号モジュール構成を示すブロック図である。
【0024】
説明の簡潔性および明瞭性のため、図面で示される要素は必ずしも一律の縮尺に描かれていないことを認識するであろう。例えば、要素の幾つかの寸法は明暸性のため他の要素と比べて誇張される場合がある。さらに、適切であるとみなされる場合、対応する要素または類似する要素を示すために参照符号が図面間で繰り返される場合がある。
【発明を実施するための形態】
【0025】
以下の詳細な説明では、多数の具体的な詳細が本発明の完全な理解を提供するために説明される。しかしながら、本発明はこれらの具体的な詳細なしに実施されてもよいことを当業者により理解されるであろう。他の実施例では、本発明を不明瞭にしないように周知の方法、手順、要素および回路は詳細に記載されていない。
【0026】
特に別記しない限り、以下の説明から明らかなように、明細書全体に渡って「処理」、「演算」、「計算」、「判定」等の用語を利用する議論は、計算機システムのレジスタおよび/またはメモリ内の物理的、電子的な量として表わされるデータを、計算機システムのメモリ、レジスタまたは他の情報記憶装置、送信装置もしくは表示装置内の物理的な量として表される類似の他のデータへ処理および/または変換するコンピュータもしくはコンピュータシステム、または類似する電子計算装置の動作および/または処理のことを指す。
【0027】
本発明の実施形態は、本書の動作を実行するための装置を含むことができる。この装置は、所要の目的のために特別に構成することができ、またはコンピュータに記憶されたコンピュータプログラムにより選択的に起動されたか、または再構成された汎用コンピュータを具えることができる。このコンピュータプログラムは、限定されないが、フロッピーディスクを含む任意の種類のディスク、光ディスク、CD−ROM、光磁気ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、磁気もしくは光カード、または電子命令を記憶するのに適した任意の他の種類の媒体などのコンピュータ読み取り可能記憶媒体に記憶され、コンピュータシステムバスに接続することができる。
【0028】
本書で示される処理と表示は、本質的に特定のコンピュータまたは他の装置に関するものではない。各種汎用システムは、本書の教示に従ったプログラムと共に用いることができ、または所要の方法を実行する更に専用の装置を構成することが都合が良いことが分かるであろう。様々なこれらシステムの所要の構成は、以下の記載から明らかになる。加えて、本発明の実施形態は何れかの特別なプログラミング言語に関して記載されていない。本書で記載される本発明の教示を実装するために様々なプログラミング言語を用いることができることを認識するであろう。
【0029】
さらに、今日既知の若しくは今後考案されるコンピュータネットワーキングの何れかのトポロジ、技術および/または標準規格を本発明に適用することができることを理解されたい。
【0030】
概要
本発明は、データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネントである。本発明の一部は、本発明の幾つかの実施形態に係る例示的なデータ処理システムのブロック図である図1を参照して記載される。本発明の幾つかの実施形態によれば、完全符号方式のドキュメントのデータファイル、データレコード、データトランザクションを暗号化するのに適合した符号式暗号化モジュールを提供することができ、符号という用語は文字、単語、語句、数字または任意の既知の言語の英数字を含む任意の文字セットとして規定することができる。データファイル、データレコード、トランザクションおよびドキュメントという用語は、本出願の全体に渡り置き換えて用いることができる。
【0031】
本発明の幾つかの実施形態によれば、符号式暗号化モジュール、および他の関連するソフトウエアコンポーネントはデータ生成/処理/記憶チェーンに沿って何れかの場所に実装することができる。一実施形態によれば、モジュールは、ドキュメントを生成または処理するために用いられるアプリケーション(例えばプラグインまたはアドオン)が実行するコンピュータプラットホーム(例えばウェブアプリケーションのクライアント側で実行するウェブブラウザ)と一体型であるか、または機能的に連携することができる。クライアント側アプリケーションによって更なる処理用および/または記憶用のサーバ側アプリケーションにドキュメントが送信される場合、これは送信プロセスの一部として自動的に符号式暗号化を行うことができる。本発明の幾つかの実施形態によれば、暗号化モジュールの機能の一部または全ては、取り外し可能な周辺装置(例えばUSB装置)で実行またはこれを用いることができ、周辺装置はデータ記憶装置と暗号化ロジックを具えることができる。
【0032】
幾つかの実施形態によれば、暗号化モジュールは組織のファイルシステムまたはドキュメントリポジトリ(例えば組織のサーバ上で実行するドキュメント管理システム)と一体型であるか、または機能的に連携することができ、リポジトリに記憶された全てのドキュメントはこれらがリポジトリに入るときに暗号化される。本発明の更なる実施形態によれば、符号式暗号化モジュールが外部ファイルシステムまたはドキュメントリポジトリサービスプロバイダ(例えばgoogle、Iron mountainなど)により提供されるドキュメントリポジトリ(例えば第3者サーバで実行するドキュメント管理システム)への組織のゲートウェイと一体型であるか、または機能的に連携することができる。本発明の更なる実施形態によれば、符号式暗号化モジュールがSaaSプロバイダにより提供されるSaaSアプリケーションへの組織のゲートウェイと一体型であるか、または機能的に連携することができる。
【0033】
暗号化モジュールがデータおよび/またはアプリケーションサーバまたは外部のデータおよび/またはアプリケーションサーバへのゲートウェイと連携する本発明の実施形態によれば、このモジュールはネットワークデータトラフィック(例えばネットワークプロキシ)を受信し送信するよう適合された通信モジュールと機能的に連携することができる。通信モジュールは、今日既知の若しくは今後考案される任意のネットワーク標準規格を用いてデータを受信し送信するよう適合されたネットワークハードウェアおよびネットワークプロトコルロジック(例えばTCP/IPスタック)を含むことができる。
【0034】
本発明の更なる実施形態によれば、暗号化モジュールはデータファイル、レコード、トランザクション、データレコードまたはドキュメントを処理するよう適合されたネットワークアプリケーションと連携する。したがって暗号化モジュールは、ネットワークデータトラフィックを受信しネットワーク処理アプリケーションに転送するよう適合された通信モジュールと機能的に連携することができる。また復号モジュールは、ネットワーク処理アプリケーションからネットワークデータトラフィックを受信するよう適合された通信モジュールと機能的に連携することができる。
【0035】
暗号化モジュールの動作の一部として、このモジュールはマップされ、または関連づけられたマッピングテーブルで規定された1以上の対応する暗号符号にドキュメント内の符号(例えば単語、語句、数字など)の一部または全ての各々をマップするマッピングテーブルを利用することができる。本発明の更なる実施形態によれば、当初の符号(すなわち当初の暗号化されていないドキュメントの符号)に対応する暗号符号は当初の符号とは異なる意味を有する。実施形態によれば、マップされる符号は全く意味を有していなくてもよい。符号テーブルの予測される実施例としては、暗号化アルゴリズムによるものとすることができる。マッピングテーブルの別の予測される実施例は、疑似乱数発生器を用いて恒等置換からランダム置換を生成することによる。
【0036】
本発明の更なる実施形態によれば、各ユーザおよび/または組織は異なる実質的に一意のマッピングテーブルに関連づけることができる。マッピングテーブルが暗号化アルゴリズムとして実装された場合、各ユーザおよび/または組織は一意の暗号鍵を有することができる。マッピングテーブルが疑似乱数発生器を用いて生成されたランダム置換である場合、各ユーザおよび/または組織は疑似乱数発生器を初期化する固有鍵と関連づけることができる。マッピングテーブルは、動的に更新可能なテーブルとすることができ、動作中に向上/更新することができる。例えば、ユーザ/組織が本発明の幾つかの実施形態に係る暗号化モジュールを使用し始める場合、所定のユーザ/組織のマッピングテーブルはユーザ/組織により用いられるドキュメント内に見つけられそうな1セットの符号のマッピングを含むことができる。しかしながら、動作中に暗号化モジュールが暗号化されるドキュメントの符号を特定する場合、この特定された符号がマッピングテーブルの対応するマッピングエントリを有しておらず、暗号化モジュールまたは別の関連するソフトウエアコンポーネントが(例えば、乱数符号発生器を用いることにより、または暗号化アルゴリズムを用いることにより)対応する暗号エントリを生成し、マッピングテーブルを更新することができる。これにより、ユーザ/組織により暗号化されたドキュメントの本体が大きくなるので、ユーザまたは組織により用いられるマッピングテーブルが大きくなるであろう。
【0037】
本発明の幾つかの実施形態によれば、マッピングテーブルの機能は符号式マッピング/暗号化アルゴリズムで置換または拡張することができる。今日既知または今後考案されるあらゆる持続的な符号式アルゴリズムは、本発明のアプリケーションとすることができる。
【0038】
本発明の幾つかの実施形態によれば、最初にトランザクション、ファイル、レコードまたはドキュメント内のデータ/符号を暗号化すべきか、そうでないかを判定するために暗号化されるトランザクション、データレコード、データファイルまたはドキュメントを分析することができる。暗号化モジュールと一体型であるか、または機能的に連携するデータ機密性評価モジュールを提供することができ、このデータ機密性評価モジュールはある所定データの機密性レベルを推定または判定することができ、所定のデータ/符号を暗号化するかどうかを暗号化モジュールに示すことができる。所定のデータの機密性レベルが高いほど、これは暗号化される可能性が高い。データ機密性評価モジュールは、アプリケーション内の符号のコンテクストなどのデータフォーマットまたは他の特徴に基づいてデータファイル/レコード/トランザクション/ドキュメント(例えば人の名前、アドレス、アカウント情報など)の一部もしくは全ての符号または符号グループの機密性レベルを検出および分類するよう適合することができる。本発明の更なる実施形態によれば、ファイル/トランザクション/レコード/ドキュメント内の特定のデータ/符号は、データ/符号の機密性レベルを示す指標でタグづけされたメタデータとすることができ、アプリケーション内のそのデータまたは符号の意味と関連づけることができる。また本発明の更なる実施形態によれば、各タイプのデータファイル/ドキュメントまたはウェブアプリケーションおよびSaaSアプリケーションのようなアプリケーションに関連するテンプレートもしくは設定ファイルを提供することができ、設定ファイルのこのテンプレートは、アプリケーション内のその意味に応じて、機密として分類すべきファイル/ドキュメントタイプで見つかったデータ/符号の特徴またはパラメータを評価モジュールに示すことができる。
【0039】
さらに本発明の更なる実施形態によれば、所定のデータ/符号を暗号化すべきかどうかに関する暗号化モジュールの判定は、全てのファイルもしくはドキュメントまたはアプリケーションのセキュリティレベルの表示(例えばユーザに規定されたもの)に影響を受ける場合がある。したがって、暗号化を必要とし、機密とみなされるデータ/符号が、高いセキュリティレベルを有すると分類されたドキュメントまたはアプリケーションで見つかった場合、機密でないとみなすことができ、これにより低いセキュリティレベルを有するドキュメントで見つかった場合と同じく、暗号化しない。
【0040】
本発明の幾つかの実施形態によれば、マッピングテーブルの利用はドキュメントの暗号化されたデータ/符号の一部または全てに不変の暗号化(すなわち機能の維持)をもたらすことができる。したがって、暗号化されたデータファイル/ドキュメントがリモートリポジトリサーバに保存されたり、またはSaaSアプリケーションにより処理される場合であっても、リモートサービス、サーバおよび/またはアプリケーションベースの機能(例えばテキスト検索、算術演算)の一部または全ては暗号化と同時にデータに適用することができる。例えば、本発明に係るドキュメント検索エンジンまたはユーティリティは、本発明の実施形態に応じて暗号化された1セットのドキュメントをスキャンすることができ、以下により1以上の検索語について検索することができる:(1)ドキュメントを暗号化するのに用いるのと同じマッピングテーブルを参照する検索語(すなわち符号)を最初に変換し、(2)次いで変換された符号に基づいてドキュメントの検索を実行する。本発明の実施形態に係る検索エンジン/ユーティリティは、コンピュータプラットホームと一体型であるか、または連携することができ、この上でアプリケーションが実行し、データファイルもしくはレコードファイルまたはドキュメントの一部または全てを生成または処理するのに用いられる。本発明の更なる実施形態によれば、検索エンジン/ユーティリティは組織のトランザクション/レコード/ファイル/ドキュメントリポジトリまたは外部のトランザクション/レコード/ファイル/ドキュメントリポジトリへの組織のゲートウェイと一体型であるか、または機能的に連携することができる。本発明の幾つかの実施形態によれば、検索エンジン/ユーティリティはトランザクション/レコード/ファイル/ドキュメントリポジトリにより保守されるトランザクション/レコード/ファイル/ドキュメントのインデックスデータ構造をスキャンするよう適合することができる。
【0041】
また本発明の更なる実施形態によれば、暗号化エンジンはリレーショナルデータベースのレコードのフィールドの一部を暗号化するのに用いることができる。したがって、暗号化および非暗号化フィールドに関するデータ処理の機能(例えば、キーフィールドのインデックス付与とクロスリファレンス)を保つことができる。
【0042】
本発明の更なる実施形態によれば、本発明の幾つかの実施形態に応じて暗号化されたトランザクション/レコード/ファイル/ドキュメントを復号するときに符号式マッピングテーブルを用いるよう適合された符号式復号モジュールを提供することができる。所定の暗号化モジュールに関連づれられた復号モジュールは、暗号化モジュールで用いられるマッピングテーブルと逆のマッピングテーブルを用いるか、または暗号化モジュールで用いられるものと同じマッピングテーブル上でリバースルックアップを実行することができる。暗号化モジュールが暗号化アルゴリズムを利用していた場合には復号モジュールが関連する復号アルゴリズムを使用するであろう。暗号化されたデータ、および/またはリモートサービス、サーバおよび/またはアプリケーションにより暗号化されたデータの操作の結果としてのデータを復旧する際には、符号式復号モジュールは、暗号化に用いたマッピングテーブルの逆を利用することにより、またはその結果である暗号化アルゴリズムに関連する復号アルゴリズムを利用することにより1以上の暗号符号を、ユーザへの出力/提示に先立ってこれらに対応する「平文」符号に復号するよう適合することができる。
【0043】
本発明の幾つかの実施形態によれば、符号式暗号化/復号モジュールは、ワードプロセッシングアプリケーション、会計財務アプリケーション、HRアプリケーション、電子メールアプリケーション、スプレッドシートアプリケーション、カレンダー管理アプリケーション、CRMアプリケーション等を含むアプリケーションと機能的に連携することができる。本発明の更なる実施形態によれば、符号式暗号化/復号モジュールは、インターネットまたは他の配信データネットワーク上のサードパーティにより提供される「SaaS」アプリケーションと機能的に連携することができる。
【0044】
サービスとしてのソフトウェア(「SaaS」)に関連する実施形態(プライベートSaaS)
SaaSに関する本発明の実施形態は、添付された図2ないし図6を考慮して以下に記載される。以下の記載はSaaSの実装に関しており、記載された任意の新しい特徴は多くの他の実施形態と本発明の実装の1つを適用することができることを理解されたい。以下の記載は本質的に例示であり、ここに書かれたものは本発明の一般的な実施形態を限定するよう解釈すべきでない。任意の新しい特徴または本書で記載された新しい特徴の組み合わせは、それ自体で及びそれ自体のクレーム可能な発明を構成することができる。
【0045】
本発明の幾つかの実施形態によれば、ユーザ/企業の機密データの機密性とプライバシーが保証される一方、「サービスとしてのソフトウェア」(SaaS)アプリケーションとクラウドコンピューティングサービスなどの外部資源の使用が可能になる。本発明の幾つかの実施形態によれば、不変の暗号化技術はSaaSアプリケーションの特徴の部分的または完全な使用を可能にする一方、ユーザ/企業のプライバシーと機密性を実質的に維持する。本発明の更なる実施形態によれば、SaaSアプリケーションを変更する必要性は殆どまたは全くなく、不変の暗号化方式がユーザにSaaS機能の使用を可能にする一方、ユーザのデータは暗号化されたフォーマットで維持される。このSaaSアプリケーションは、全く限定されないが、SaaSプロバイダに記憶されたデータのテキスト検索と数値要素の算術演算を含む。本発明の更なる実施形態によれば、様々なフォーマットのドキュメントも様々なプロトコル(例えばSMTP、HTTP)も暗号化された要素の検出と復号をさらに可能にし、これによりユーザに対してトランスペアレントな機能を可能にすることができる。
【0046】
本発明の幾つかの実施形態によれば、アプリケーションプロトコルを「解釈する(understand)」1以上の装置を使用することにより、実質的に機密データ要素のみに選択的な不変暗号化を行うことができる。機密情報要素は、SaaSプロバイダに送信すべきアプリケーションデータで検出することができる。本発明の更なる実施形態によれば、装置はこれらがSaaSプロバイダに送信される前にこの機密要素を暗号化することができる。その結果、SaaSプロバイダに送信され、SaaSプロバイダサーバに存在するアプリケーションデータは暗号化されていないフォーマットの機密データを全く含まないであろう。したがって、SaaSプロバイダのデータレコードが漏洩した場合には、公開されたユーザ/企業の機密データの悪用とその予測される悪用を防止することができる。本発明の更なる実施形態によれば、ユーザが装置を介してアプリケーションデータを読み出すときに、装置がアプリケーションデータの暗号化された要素を検出し、それらを復号することができる。これにより、クライアント側アプリケーションにより受信され、および/またはユーザに提示されたアプリケーションデータは暗号化されてないフォーマット/平文とすることができる。
【0047】
文字を使用する実施例
本発明の幾つかの実施形態によれば、ユーザ/企業は図1のSaaS電子メール(例えばgmail)を使用することができる。電子メールに含まれる情報は、ユーザ/企業のユーザ以外の誰にも公開すべきでない機密データおよびプライベートデータを含む場合がある。このデータのあらゆる公開を防止するために、装置が電子メール内の機密データを検出し、電子メールがSaaS電子メールシステムへユーザ/企業のネットワークの外部に送信される前に、電子メール内のこれらの機密データ要素を暗号化することができる。したがって、SaaS電子メールサーバに存在する電子メールが暗号化されていない/平文の機密情報を全く含まず、たとえSaaS電子メールサーバから電子メールの漏洩があったとしても、ユーザ/企業の機密情報が公開されることはない。電子メールが装置を介してユーザまたは企業ネットワークのユーザにより読み出される場合、装置が電子メール内の暗号化された要素を復号することができ、ユーザは暗号化された内容を全く含まない標準文字として電子メールを見ることができる。
【0048】
本発明の幾つかの実施形態によれば、機密データ要素の上記暗号化/復号処理は、実質的に全てのそのアプリケーション機能がそのままであるというSaaS電子メールアプリケーションの観点からトランスペアレントな方法で行うことができる。本発明の更なる実施形態によれば、ユーザは、例えば通常データおよび/または機密データ要素についてSaaS電子メールシステムに記憶された電子メール内を検索することができ、暗号化はSaaS電子メールアプリケーションに不変の方法で行うことができるので、検索の結果は普通の暗号化されていないデータ検索で得られるものと同じである。SaaS電子メールアプリケーションの観点からこのトランスペアレンシーを達成するために、装置は検索リクエスト/クエリーで機密データ要素を検出し、これが電子メールの内容を暗号化するのと同じ方法で、それらを暗号化することができる。これにより、SaaS電子メール検索機能を変更しないでおくことができる。
【0049】
本発明の幾つかの実施形態によれば、実質的に類似する原理は、正しい表現ではないと思うが、Web−Storeなどの他のSaaSサービスに適用することができ、図2のウェブアプリケーションとすることができる。ウェブアプリケーションサーバに送信されたデータが機密データ要素を含む場合、ウェブストアアプリケーションのプロトコルを「解釈する」装置が、ウェブストアアプリケーションに送信されたHTTPリクエスト内の機密データ要素を検出し、レスポンスで、これらの要素を暗号化することができる。これにより、HTTPリクエストの構成は実質的に同一のままとすることができ、選択的に機密データ要素の値のみがそれぞれ暗号化要素に置換される。このように、ウェブアプリケーションは通常のリクエストとしてリクエストを処理することができ、機密データ要素の値のみを暗号されたフォーマットでウェブアプリケーションのデータベースに記憶することができる。したがって、ウェブストアのサーバ側アプリケーションとデータベースから情報漏洩があっても、ユーザ/企業の機密情報が公開されることはない。
【0050】
本発明の幾つかの実施形態によれば、ユーザが暗号化要素を含むウェブページを読み出している場合、装置はウェブアプリケーションにより返信されたウェブページ内の暗号化要素を検出することができ、それらを復号することができる。これにより、ユーザ/ユーザブラウザで受信されたウェブページが暗号化されていない/平文のレスポンスページを含み、ユーザに提示された全ての情報を平文にすることができる。
【0051】
本発明の更なる実施形態によれば、ユーザがウェブストアに記憶されたデータを任意のテキストベースのファイル(例えばword文書、excel文書)に出力することを要求する場合、戻されたテキストファイルは装置で処理することができる。
【0052】
不変暗号化方式
本発明の幾つかの実施形態によれば、アプリケーションの機能に影響しない実質的に機密要素のみの暗号化により、SaaSアプリケーションの機能が維持され、さらに、SaaSアプリケーションの変更を実質的に全く必要としないために、SaaSアプリケーションの観点からトランスペアレントな方法で機密データ要素の暗号化を行うことができる。
【0053】
本発明の幾つかの実施形態によれば、装置はデータ要素内の各符号(例えば単語/語句)を暗号化することができ、それ自体により各単語/語句による機能(例えば検索)も可能にする。この暗号化は、例えばECB(Electronic Code Book)モードのAdvanced Encryption Standard(AES)暗号化アルゴリズムを用いて行うことができる。SaaSプロバイダサーバに記憶されたテキスト内を検索するために、装置は検索符号/単語/語句を暗号化することができる。その結果、検索符号/単語/語句がSaaSプロバイダストレージに存在する場合、SaaSプロバイダ検索メカニズムがこれを見つけることができる。本発明の更なる実施形態によれば、情報がSaaSプロバイダストレージに記憶され、部分的に平文で、部分的に暗号化されたとしても、特定の移行フェーズの場合のように、装置は検索語句を変更して平文の値と暗号化された値との双方で検索するので、このメカニズムはなお機能することができる。検索語句はSaaSアプリケーションプロバイダにより保存されないので、このアプローチによるシステムセキュリティへの損害はない。
【0054】
本発明の幾つかの実施形態によれば、一部または全ての文字において、テキスト形式の機密データ要素を分析に全く用いず、その結果、その暗号化はSaaSアプリケーション機能に影響しない場合がある。例えば、カスタマーリレーションシップマネジメント(CRM)アプリケーションでは、呼び出した顧客の名前はコールセンターの分析に重要ではないため、それが暗号化されるという事実はCRMアプリケーションにより実行される分析を全く妨げないであろう。対照的に、コール時間と待ち時間は分析に必要であり、したがってそれらは機密データ要素でないとみなされるので暗号化されないままであろう。
【0055】
本発明の更なる実施形態によれば、オートコンプリート機能を可能にするために、機能として固有データの暗号化(持続性対一過性)を用いることができる。この値は、この実施例では、SaaSプロバイダに記憶されないが、むしろSaaSアプリケーションの辞書で検索を実行するのに用いられるに過ぎず、リクエストがオートコンプリートリクエストであることを装置が解釈し、したがって値を変更せず、これによりSaaSアプリケーションの機能を維持することができる。
【0056】
テキストデータ要素の暗号化
本発明の幾つかの実施形態によれば、テキスト要素の暗号化は以下の例示的な処理を実行することにより達成することができる。まず第一に、データ要素が単語に分割される。各単語は単独で暗号化される(これは機密データ要素の値の内部で1つの単語の検索を可能にするために行われる)。
■単語の2進数表現が121ビットより小さい場合には、121ビットを得るために0で埋められる。
■最初の7ビットは単語表現のビット数を規定する。
■これら128ビットは、鍵としての装置の秘密鍵と、入力としての単語を表わす128ビットとにより、AESアルゴリズム(例えば連邦情報処理規格−(FIPS197))を用いて暗号化される。
■AESアルゴリズムの出力は128ビットであり、これはテキスト出力を得るためにbase64符号化を用いて符号化される。
■base64で符号化された値に対し、1/2つの文字プレフィックスと1/2つの文字サフィックスを追加し、SaaSアプリケーションサーバからのレスポンスとして受信したテキスト文字列内で暗号化された単語の検出を容易にする。
■(注意事項:22の英数字フォーマット(128ビットについてのbase64符号化出力)は単独で一意であるのでプレフィックスとサフィックスの追加は任意である。)
■単語の2進数表現が121ビットより大きい場合には、最も少ない複数の128ビットまで0で埋められる。最初の7ビットは、連続する128ビット表示のそれぞれの単語表示のビット数を規定する。
■複数の128ビットという結果は、鍵としての装置の秘密鍵と、入力としての複数の128ビットにより、暗号ブロック連鎖方式(CBC)モードのAESアルゴリズム(FIPS197)を用いて暗号化される。
■AESアルゴリズムの出力は複数の128ビットであり、これはテキスト出力を得るためbase64符号化を用いて符号化される。
■base64で符号化された値に対し、1/2つの文字プレフィックスと1/2つの文字サフィックスを追加し、SaaSアプリケーションサーバからのレスポンスとして受信したテキスト文字列内で暗号化された単語の検出を容易にする。
(注意事項:22の英数字フォーマット(128ビットについてのbase64符号化出力)は単独で一意であるのでプレフィックスとサフィックスの追加は任意である。)
【0057】
本発明の更なる実施形態によれば、繰り返す単語の暗号化を避けるために、装置は単語のハッシュ値を計算し、既に暗号化された単語のハッシュテーブルを維持するハッシュ関数を用いることができ、各エントリの値は暗号化された単語とすることができる。これにより、単語は暗号化される前に以下の例示的な処理を実行することができる。
■装置は単語のハッシュ値を計算する。
■装置はハッシュテーブルに問い合わせをし、ハッシュテーブルに存在するハッシュ値のチェックする。
■ハッシュ値がハッシュテーブルに存在する場合、ハッシュテーブルエントリの値が暗号化された単語として用いられる。
■ハッシュ値がテーブルに存在しない場合、単語は規定されるように暗号化され、ハッシュ値のエントリはハッシュテーブルで生成され、その値が暗号化された単語となる。
【0058】
本発明の更なる実施形態によれば、復号フェーズの性能を最適化するために、各暗号化された単語についてそのハッシュ値を計算することができ、暗号化された単語の第2のハッシュテーブルに入れることができる。暗号化された単語のテーブルのエントリの値は、暗号化された単語に関連づけられた平文の単語の値とすることができる。
【0059】
これにより、復号フェーズでは以下の例示的な処理を実行することができる。
■復号モジュールは、暗号化された単語を規定する正規表現を用いて(上述したように、暗号化された単語は十分に規定された英数字構造を有する)、暗号化された単語についてレスポンス(これはテキスト形式である)を検索する。
■暗号化された単語が検出される場合、復号モジュールは初めに暗号化された単語のハッシュ値を計算し、これを用いて暗号化された単語のハッシュテーブル内を検索する。
■暗号化された単語のハッシュ値が暗号化された単語のハッシュテーブルで見つけられる場合、これを形成する平文の値を抽出する。
■これがハッシュテーブルで見つけられない場合、モジュールは以下の例示的な処理を用いて暗号化された単語を復号する。
○base64で符号化された値を128ビット(または複数の128ビット)に復号する。
○AESアルゴリズムと装置の秘密鍵を用いて128ビットの値を復号する。
○最初の7ビットに現れるビット数に応じて、復号されたビット列からどれだけのビットを用いなければならないかを知る。
○関連するビットは平文の単語を得るためにASCII文字に変えられる。
【0060】
大文字と小文字の区別の取り扱い
本発明の更なる実施形態によれば、検索操作などの場合には、この操作は大文字と小文字を区別しないよう要求することができる。不変暗号化はテキストと検索語の双方を小文字へ変換することを保証する。これは、検索が大文字と小文字を区別しないことを保証することができる。テキストの復号が原文(例えば単語)の大文字と小文字の区別を維持するために、装置は、どの文字が大文字であり、どの文字が小文字であるかを、暗号化された単語の後に追加の単語として加えられるビットベクトルに記憶することができる。
【0061】
本発明の更なる実施形態によれば、装置が単語を暗号化する場合、それは大文字の1、小文字の0、桁および/または追加の文字を含むビットベクトルを生成することができる。ビットベクトルのビット数は、単語の文字数に相当してもよく、ビット列は64ビット符号化のため0で埋めることができる。64ベース符号化のビットベクトルは、暗号化された単語の後に加えることができる。
【0062】
本発明の更なる実施形態によれば、装置が上述したように単語を復号している場合、64ベースで符号化された単語を復号することもでき、これは暗号化された単語に調整され、復号されたビットベクトルの第1ビットに応じて、適切な文字を大文字にセットすることができる。
【0063】
電子メールアドレスの暗号化
本発明の幾つかの実施形態によれば、電子メールアドレスの場合、電子メールアドレスの構成を維持するために、装置は電子メールアドレスの各部分を単独で暗号化することができ、電子メールアドレスの構成を維持することができる。本発明の更なる実施形態によれば、装置が電子メールアドレスをユーザー名とドメイン名、すなわちユーザー名@ドメイン名(または任意の他のサフィックス、例えば.co.il)に分割することができる。モジュールは、ユーザー名を単独で、ドメイン名を単独で暗号化することができ、ユーザー名とドメイン名の暗号化された値を用いて新しい電子メールアドレスを再構成することができる。
【0064】
本発明の更なる実施形態によれば、暗号化された値@暗号化された値などの正規表現により検出を実行することができる。復号モジュールは暗号化された値のそれぞれを復号することができ、ユーザー名とドメイン名の平文を用いて電子メールを再構成することができる。
【0065】
フォーマット制限されるデータ要素暗号化
本発明の幾つかの実施形態によれば、アプリケーションは機密データ要素のフォーマットを維持することが要求される場合に、例えば郵便番号または電話番号の場合に、装置は正規値の置換を構築し、この置換を用いて機密データ要素を暗号化し、逆置換を用いてデータ要素を復号する。
【0066】
本発明の更なる実施形態によれば、使用される置換はこれらの値の検索の実行を可能にするが、これらの要素の値は通常数値計算に用いられない。
【0067】
疑似ランダム置換の生成
本発明の幾つかの実施形態によれば、クヌースシャッフルとして知られる、再試行なく均一にランダムでn項目の置換を生成する例示的なアルゴリズムを用いることができ、これは恒等置換または任意の他の置換で開始し、次いで位置1ないしn−1を通して、各位置iについて現在そこにある要素を位置iないしnから任意に選択された要素と交換する。1/n!の確率を有するこのアルゴリズムによりn要素の任意の置換が生成されるのを確認するのは容易であり、これにより全てのこの置換により均一分布をもたらす(http://www.techuser.net/randpermgen.htmlを参照)。(注意事項:逆置換は各数とそれが占有する位置の数とを交換することにより計算される。)
【0068】
本発明の更なる実施形態によれば、装置はこのアルゴリズムを用いて秘密置換を生成することができ、ここでは疑似乱数ビット列を用いてランダムな要素を選択することができ、擬似乱数ビット列はAESアルゴリズムの鍵としての装置の秘密鍵と所定の初期ベクトルによりCBCモードのAESアルゴリズムを用いて生成することができる。
【0069】
郵便番号の暗号化
本発明の幾つかの実施形態によれば、郵便番号が5桁であり、これが郵便番号のフォーマットを維持するよう要求される場合には、暗号化モジュールが00000−99999の範囲の値で疑似ランダム置換を用いて郵便番号を暗号化し、逆置換を用いて郵便番号を復号することができる。
【0070】
本発明の更なる実施形態によれば、暗号化は暗号化すべき郵便番号でこの置換を参照することにより行うことができ、置換のこのセルの値が暗号化された郵便番号である。暗号化は暗号化された郵便番号で逆置換を参照することにより行うことができ、逆置換のこのセルの値が元の郵便番号である。
【0071】
社会保障番号(SSN)の暗号化
本発明の幾つかの実施形態によれば、SSNクレジットカード番号の暗号化の場合には、SSNの構成が維持されなければならない。したがって、以下の例示的な処理を実行することができる。
■00101−74099の置換を用いて最初の5桁を暗号化する。
■0001−9999の置換を用いて最後の4桁を暗号化する。
【0072】
置換の各々も対応する逆置換も上述したように計算することができる。
【0073】
クレジットカード番号の暗号化
本発明の幾つかの実施形態によれば、クレジットカード番号の暗号化の場合には、クレジットカード番号の構成が維持されなければならない。したがって、クレジットカード番号は4つの4桁のグループに分割することができ、各グループは番号0−9999の置換を用いて暗号化することができる(各グループについて異なる置換または全グループについて同じ置換を用いることができる)。
【0074】
疑似ランダム置換を生成するプロセスは上述した。
【0075】
本発明の更なる実施形態によれば、4桁のグループの1つが3桁しかない場合、それを4桁のグループにするためにゼロの桁をそれに加えることができる。さらに、チェックディジットを維持する必要がある場合には、このモジュールは最終桁以外の全ての桁に変換を適用することができ、次いで最終桁に対し既知のアルゴリズムに従って最終桁を計算することができる。
【0076】
注意事項:平文のクレジットカード番号と暗号化されたクレジットカード番号との間のフォーマットに差異はないので、サーバ側アプリケーションはチェックディジットを検査していない。
【0077】
日付の暗号化
本発明の幾つかの実施形態によれば、日付の暗号化はDD−MM−YYYYなどの日付のフォーマットを維持することができ、唯一の制限はそれが桁を含む場合に、日付は、例えば0−3112100(0−37200)の間の値に変えることができ、この範囲の値の置換を用いることができる。
【0078】
本発明の更なる実施形態によれば、サーバ側が1年当たりの統計計算を実行する場合、その年は単独で維持することができ、置換はDD−MM単独でその年単独で適用することができる。(注意事項:医療保険の携行性と責任に関する法律(HIPAA)は、日と月は秘密であるが、年は平文のままとすることを要求する。)
【0079】
本発明の更なる実施形態によれば、サーバ側が1月当たりに統計計算を実行する場合、月は単独で維持することができ、置換は日単独で、月単独で、年単独で実行することができる。
【0080】
数値データ要素の暗号化
本発明の幾つかの実施形態によれば、SaaSアプリケーションが機密性の高い数値(給与など)についての数値解析を可能にするために、装置はこれらの値について可逆的数値変換を適用することができる。(この数値変換は装置の秘密鍵に依存する場合がある)。これにより、アプリケーションが変換された数値について分析を実行することができる。変換された値または計算された任意の値はアプリケーションにより返される場合、装置がこれらの値について逆変換を適用することができ、これによりユーザに提示された数値が実際の数値となる。
【0081】
数値変換
本発明の幾つかの実施形態によれば、全く限定されないが、収益、給与などの数値フィールドについて算術演算を可能にするために、これらの値について算術変換を実行することができる。可能な算術変換は、秘密定数による乗算とすることができる。この変換の利点は、その逆数が秘密定数の逆数による単純な乗算であるということである。(注意事項:値が加算される場合、どれだけの要素が加算されたか分からず、逆変換を適用できないので、秘密定数による乗算および秘密定数の加算の変換を用いることができる。)
【0082】
本発明の更なる実施形態によれば、乗算変換は数値間の数値の順序を維持することができ、例えば最高額の給与は最高額の給与のままであるが、装置は従業員の名前を暗号化しているので、それが誰のものかを知ることができず、実際の給与が何であるかを知ることができない。これにより、十分な機密性をさらに達成することができる。
【0083】
本発明の更なる実施形態によれば、さらに数値にセキュリティを提供するために、サーバ側アプリケーションとの統合が必要となる場合がある。この統合が可能な場合には、サーバ側アプリケーションはテキストデータと類似する方法で暗号化された数値データを復号することができる本発明のコンポーネントと通信することができる。サーバ側アプリケーションが復号された数値データに算術計算を実行することができ、次いでソリューションのコンポーネントを用いて最終結果を暗号化することができる。このコンポーネントはサーバ側に存在し、鍵管理の企業の装置と安全に通信することができ、これによりアプリケーションは正常に機能し続ける一方、数値データに実質的に高セキュリティの暗号化を提供することができる。
【0084】
完全なアプリケーションのプライバシーポリシー
本発明の幾つかの実施形態によれば、各アプリケーションの用途が異なり、異なる分野の目的は各アプリケーションで異なるので、装置は各SaaSアプリケーションの異なる暗号化方針を有する。したがって、特定の機能について、装置はSaaSアプリケーションプロトコルに精通していなければならないかもしれない。(注意事項:プロトコルの情報はオフライン処理により集めることができる)。例えば、電子メールに添付されるファイルは1つの実体として暗号化して更なるセキュリティを達成することができ、ファイルの名前のみを不変暗号化方式を用いて暗号化すべきである。しかしながら、Googleドキュメントアプリケーションについては、ドキュメント内の各データ要素はGoogleドキュメント機能を維持しながら暗号化しなければならない。さらに、Google Appは非常に詳細なアプリケーションプログラミングインターフェース(API)を提供し、それは開発者がGoogle Appサービス上で自身のアプリケーションを開発するのを可能にしている。各Googleアプリケーションの各パラメータの意味と記号論を規定するこのAPIは、各Googleアプリケーションと、Google API上で開発される各アプリケーションの詳細な手段の処理を可能にし、装置がAPIの呼び出しを妨げる場合があり、アプリケーション、要求されたAPI、およびポリシーセキュリティレベル(例えばの基本セキュリティ、高セキュリティ、トップシークレット)に応じてパラメータにプライバシーポリシーを適用することができる。
【0085】
本発明の更なる実施形態によれば、別の実施例として、SaaSアプリケーションがサーバ側でフォーマット検査を実行している場合に、データ要素のフォーマットを維持する不変暗号化方式を用いることができる。しかしながら、フォーマット検査がクライアント側で行われる場合、装置はフォーマットを維持しない不変暗号化方式を用いることができ、これはよりセキュアであり、より有効な実装である。
【0086】
ポリシーによるプライバシーの実施
本発明の幾つかの実施形態によれば、各組織は自身のプライバシーポリシーを有する場合があるので、装置は企業がどの種類のセキュリティポリシー(例えば基本セキュリティ、高セキュリティ、トップシークレット)を用いるかを規定し、企業プライバシーと機密保持の要件を取り扱いながら各種類のセキュリティポリシーの良好な調整を可能にする。例えば、HIPPA規則を満たすことを要求する組織については、日と月を削除し、年の値を変更しないという方法で日付が暗号化される一方、他の組織は全ての日付に手をつけないでおくかもしれない。
【0087】
アプリケーションプライバシーポリシーの自動構築
本発明の幾つかの実施形態によれば、実質的に人の介入を要求することなく未知のアプリケーションとアプリケーションの未知の変更を取り扱うために、装置は未知のパラメータについて自動的にポリシーを適用することができる。装置は、その名前および/またはそのデータフォーマットに応じて現在未知のパラメータを分類することができる(例えば非機密、機密、高機密)。例えば、パラメータ名が電子メールアドレスまたは任意の類似するパラメータ名であり、パラメータの値のフォーマットが電子メールである場合、装置はそれを電子メールアドレスとして分類し、所定の構成に応じて電子メールアドレスが機密として規定される。別の実施例として、パラメータ名が電話番号または任意の類似する名前であり、値が一般的な電話番号の正規表現と一致する場合、パラメータは電話番号として分類される。しかしながら、パラメータ名がコール時間であり、フォーマットが時間の正規表現と一致する場合、これはコール時間として規定され、これはCRMについては機密でないと規定される。これらの新しいパラメータのこの分類は装置に記憶することができ、リクエスト内のパラメータの後の出現時に検査することができ、十分な発生の後に装置で自動的にこれを判定することができる。
【0088】
本発明の更なる実施形態によれば、パラメータの取り扱いはその分類とアプリケーションのために規定されたセキュリティレベルに依存する場合がある。例えば、基本セキュリティポリシーでは、高機密性パラメータのみを暗号化することができるが、望まない影響をもたらさないという信頼度が実質的に高い場合にのみ、機密性パラメータを暗号化することができる。しかしながら、トップシークレットポリシーについては、機密性パラメータと高機密性パラメータの双方を暗号化することができる。
【0089】
本発明の更なる実施形態によれば、このメカニズムは装置がアプリケーションについて事前情報なくアプリケーションを取り扱い、アプリケーション用途に応じてその場でプライバシーポリシーを構築するのを可能にする。これは、パラメータをそれが用いられているとおりに分類することより、新しいパラメータなどのアプリケーションの変更の取り扱いを可能にする。
【0090】
SaaSの利用監査&監視
本発明の幾つかの実施形態によれば、装置により行われる暗号化/復号に加えて、装置は企業ユーザによりSaaSアプリケーションの利用を監視および監査することもできる。幾つかの例示的な理由は以下を含む。
1.SaaSプロバイダに送信すべきでない機密情報の漏洩の防止する。例えば、クレジットカード番号はSaaSのCRMアプリケーションに記憶すべきでないという企業ポリシーがあり、ユーザが呼び出し記述の一部としてクレジットカード番号を入力する場合、装置は、呼び出し記述のこの機密要素を検出し、企業ポリシーに応じてそれをマスクする。
2.企業内の全てのユーザに利用可能にすべきでない特定の機能がある場合には、装置はSaaSアプリケーションの利用について認証/アクセス制御ポリシーを実施することができる。
加えて、セキュリティの観点から監視と監査を潤すため、装置はSaaSアプリケーションの利用率と応答時間などの因子を監視することができる。
【0091】
装置動作の原理
本発明の幾つかの実施形態によれば、装置はSaaSアプリケーションクライアント側(通常エンドユーザのブラウザ内で実行する)と、SaaSプロバイダサーバ上で実行するSaaSアプリケーションサーバ側との間のプロキシとして機能することができる。プロキシとして、これはSaaSアプリケーションクライアント側とSaaSアプリケーションサーバ側との間の通信量(例えばリクエストとレスポンス)を監視することができる。装置は、リクエスト内のドメイン名に応じてアプリケーションを検出することができる。URLに応じて装置はリクエストタイプを検出することができ、リクエストタイプに応じてこれは暗号化すべき機密データ要素がどのリクエストに含まれているかを「知る」ことができる。リクエストはHTTPリクエスト、または鍵値のペアを用いる他のリクエストとすることができるので、装置はその名前により関連するパラメータを検出して、リクエスト内のその値を暗号化された値に置換することができる。これがpostリクエスト(例えばXMLボディの)である場合、装置はパーサー(例えばXMLパーサー)を用いて機密データ要素の値を問い合わせて抽出し、その平文を暗号化された値に置換することができる。
【0092】
本発明の更なる実施形態によれば、レスポンス内のテキスト形式の暗号化された値の検出を可能にするために、装置は(後述されるように)各暗号化された要素にプレフィックスとサフィックスを追加することができる。テキスト検索の暗号化が検出された場合、装置はテキスト形式のテキストリクエストを検出し、サーバ側の検索機能を維持するために検索語に同じ暗号化を適用することができる。
【0093】
同じ原理は機密の数値データ要素に適用することができ、これは数値変換を用いて暗号化される。数値検索がこれらの数値データ要素について実行される場合、装置は数値検索リクエストを検出し、この値を変換された値で置換することができる。
【0094】
本発明の更なる実施形態によれば、レスポンスがSaaSアプリケーションから戻される場合、これはウェブページとすることができる。テキスト形式の暗号化された要素の検出を容易にするために、暗号化された要素はそれぞれ一意のプレフィックスとサフィックスを有することができる。装置は、これらのプレフィックスとサフィックスを用いてウェブページ内のテキスト形式の暗号化された要素を検出し、これをその平文の値に置換することができる。同じことを、レスポンスとして戻ったXMLドキュメント、またはSaaSプロバイダサーバからダウンロードされたテキスト形式のファイルとドキュメントに適用することができる。
【0095】
本発明の更なる実施形態によれば、プレフィックスとサフィックスを有していない数値またはフォーマットを制限された値を復号するために、装置はこれらの値がレスポンス内のどこに現われるかを「知る」ことができ、すなわち装置がパターンを有しており、これはパターンマッチングに用いて値を検出する。装置はレスポンスにこれらのパターンを適用し、暗号化された値を含むかどうかをチェックすることができ、暗号化された値が検出される場合、それらの値を変換して(例えば逆変換または逆置換を用いて)、変換された値をレスポンスの内部に配置することができる。これにより、ブラウザにより受信されたレスポンスは平文のみを含むことができる。
【0096】
企業ネットワークにおける装置の位置
本発明の幾つかの実施形態によれば、システムは装置のネットワーク接続されたコンピュータプラットホーム、例えば通常ユーザのブラウザ上で実行するクライアント側アプリケーションと、SaaSプロバイダサーバで実行するアプリケーションサーバ側との間のプロキシとして実施することができる。図3ないし図6は、使用できる様々な例示的なトポロジーを示す。
【0097】
企業ネットワークの場合には、ファイアウォールに近い企業ネットワーク周辺に装置を配置するのが当然である。この位置の利点は、企業ネットワーク内で働くユーザのみがアプリケーションを用いて仕事をすることができるということであり、この装置を通過していないユーザは何れも暗号化されたデータ要素しか見ることができない。これは企業がアプリケーションへのアクセスを監査し、たとえユーザがアプリケーションのユーザ名とパスワードを何とか取得しても、企業ネットワークの外部からアプリケーションへの不正アクセスを防止することができる。
【0098】
本発明の更なる実施形態によれば、このトポロジは、ある理由でSaaSアプリケーションのユーザリストから削除されなかったが、組織を退職した元従業員のシナリオを取り扱うことができる。このトポロジは、何らかの形でアプリケーションのユーザ名とパスワードが企業外部の権限のないユーザに漏洩したシナリオを取り扱うこともできる。
【0099】
本発明の更なる実施形態によれば、このトポロジの別の利点は、企業が装置について完全な制御を有しており、装置の秘密鍵が企業に残るということである。上述したように装置は、企業のITまたはコンプライアンス責任者が装置により実行されるプライバシーポリシーを実質的に完全に制御するのを可能にする。
【0100】
本発明の更なる実施形態によれば、リモートユーザがSaaSアプリケーションを用いて適切に働くのを可能にするために、このトポロジでは、企業ネットワークに接続し(例えばSSL VPNを用いて)、企業ネットワークを介して働く必要がある。このプロキシは、消費者市場で取り扱われるエンドユーザのデスクトップ/ラップトップで実行するソフトウエアとして実装することもできる。
潜在的なプライベートSaaS装置の実装、本発明の幾つかの例示的な実施形態によれば:
■装置はLinux(そのOSとして)を実行する。
■LinuxのApacheはプロキシサーバとしてプロキシモードで実行する。
■暗号化/復号モジュールはApacheモジュールとして実行する。
■装置はウェブベースのGUIを有している。
プライベートSaaSのウェブベースのGUI、本発明の幾つかの例示的な実施形態によれば、
ウェブベースのGUIは、ユーザがプライバシーポリシーを規定し、装置の秘密鍵を管理するのを可能にする。この装置は以下を具えることができる。
■非常に最低限のユーザにのみ利用可能な秘密鍵管理のGUI
■ポリシー管理者に利用可能なポリシー管理のGUI
【0101】
装置にサポートされる各アプリケーションは、特定のアプリケーションに適合する専用のGUIを有する。
【0102】
ポリシー画面では、ポリシー管理者がどのデータ要素が機密データ要素であるかを規定することができる。
プライベートSaaSの予測される利点と利益、本発明の幾つかの例示的な実施形態によれば:
以下が予測される利点であり、そのユーザへの工夫(企業にフォーカスした)により提供される。
●企業ネットワークからSaaSプロバイダに外部送信される情報の完全な制御を提供し(すなわち何がSaaSに送信でき、何が送信できないか)、企業の機密データの公開を最小化する。
●企業データプライバシーポリシーを実行し、コンプライアンス責任者が以下に関する企業ポリシーの定義および実行を可能にする。
■外部に出力することができるデータ−セキュリティ/コンプライアンス責任者は特定のデータ要素(例えばクレジットカード番号)が企業の外部に送信される前にマスクすべきである(PCI−DSSコンプライアンス)。
■セキュアにすべきデータ−装置は異なるSaaSアプリケーションに機密データ要素の所定の構成を提供するが、セキュリティ/コンプライアンス責任者は企業のセキュリティポリシーにこれを合わせるよう変更することができる。
●この工夫は、CXOがSaaSを使用して、機密データを公開せず、その結果プライバシー規則を危険に晒さずにSaaSアプリケーションを用いることによりコストを低減するの可能にする。
■権限の定義を可能にし、監査要件を簡単にし/低減する。
■繰り返すSaaSソリューションのコンプライアンス監査のコストを低減し、SaaSプロバイダで監査する要求を低減する。
■SaaSに関連する機密漏洩の場合には、通知は様々な規則に応じて顧客に要求されない(例えばCA SB1386(2003))。
●SaaSの利用とSLAの監視および監査
■企業によるSaaSアプリケーションの利用の監視を可能にする。
■ユーザによるSaaSの利用について企業の特定のアクセス制御ポリシーの実行を可能にする。
■SaaSアプリケーションの異常な利用を検出することができる。
■SaaSアプリケーションの利用率と応答時間を監視する。
SaaSプロバイダにプライベートSaaSの予測される利点と利益、本発明の幾つかの例示的な実施形態によれば:
●プライバシーとデータの機密性という主な予測される阻害因子の1つを克服することにより、このソリューションの魅力を向上する。
●データ漏洩の場合には債務を低減する。機密情報が暗号化されるので、たとえ情報が漏れたとしても損害がない。企業が取るべき他のセキュリティを全く排除しないが、全ての他の防御層が機能しなくなった場合に、それが最後の防御となる。
【0103】
ユーザ認証&権限付与−プライベートSaaSの更なる特徴
本発明の幾つかの実施形態によれば、企業アプリケーションの更なるセキュリティの特徴はユーザ認証と権限付与である(すなわちアクセス制御)。これらのセキュリティの特徴は、誰が企業アプリケーションにアクセスすることができるか(認証)、どの機能が各ユーザに利用可能か(権限付与)を制御することができるということである。これらのセキュリティの特徴は、企業アプリケーションがSaaSモデルで提供される場合にも要求することができる。しかしながら、各企業はそのポリシーに応じて自身のユーザも、そのアクセス権限も管理しなければならないので(通常SaaSプロバイダにより実行することができる一般的なポリシーがない)、アプリケーションがSaaSモデルで提供される場合、ユーザー管理とユーザアクセス権限の管理の問題が課題となる。プライベートSaaSは通常企業ネットワーク内に存在し、IT企業により管理されるので、プライベートSaaSはユーザの真正認証の企業ポリシーを実行するという大きな意味がある。
【0104】
本発明の更なる実施形態によれば、これらの要件を取り扱うために、プライベートSaaS装置は企業ユーザリポジトリと一体型とすることができ(企業LDAPまたはアクティブディレクトリなど)、ユーザがSaaSアプリケーションに接続しようする場合、プライベートSaaSは最初に企業ユーザデータベースに対してユーザIDを検査することができる。ユーザIDが検査される場合、プライベートSaaSはユーザがSaaSアプリケーションを用いる権利があるかどうかをチェックすることができる。このチェックは、企業ユーザデータベース(例えばLDAP、アクティブディレクトリまたはユーザデータベース)に対して行うことができ、これは各ユーザのアクセス権を含み、通常ユーザ職務に依存する。したがって、セキュリティ責任者が企業内のユーザ職務に応じてSaaSアプリケーションのアクセス権のルールの規定を可能にする。(注意事項:このユーザアクセス権のデータベースが存在しない場合には、プライベートSaaSはプライベートSaaS内のユーザのアクセス権を管理する機能を提供することができる)。各アプリケーションのアクセス権の実行に加えて、プライベートSaaSはより粒度の高いアクセス権(すなわちアプリケーション内の機能へのアクセス権)の管理および実行を可能にする。これらのアクセス権はユーザ職務に依存することもできる。
【0105】
本発明の更なる実施形態によれば、プライベートSaaSがユーザ依存、すなわちユーザ職務またはユーザ部門に依存するプライバシーポリシーを上記機能が実行することができる。これは企業が企業内の別個のグループの生成を可能にし、所定のグループからのメンバのみがその同じグループおよび/またはグループのグループにより生成されたメッセージ/情報を読み出すことができる。例えば、財務情報が財務グループ内のメンバにのみ読み取り可能とするために、企業は財務部門と他の部門とを分離したいかもしれない。これを達成するため、プライベートSaaSは異なる鍵を財務グループに用いて、異なる鍵を企業の残りのグループに用いることができる。これにより、プライベートSaaSが暗号化/復号に特別な鍵を用いることができる財務グループのみが、そのグループにより生成されたメッセージ/情報を読み出すことができるであろう。
【0106】
本発明の更なる実施形態によれば、プライベートSaaSは多階層を可能にすることもできる。例えば先の実施例では、CEOは財務グループにより生成されたメッセージも他の部門により生成されたメッセージも読み出すことができなければならない。これを達成するため、プライベートSaaSはCEOに双方の鍵を用いることができ、双方の鍵を用いて暗号化されたデータ要素の復号を試みることができる。暗号化された要素の構成により、プライベートSaaSは復号されたデータ要素が平文であるかどうかを確認することができる。これにより、CEOについてプライベートSaaSは1個の鍵を用いて情報を復号しようと試みることができ、復号された要素が平文でなければ、第2の鍵を試みるであろう。類似する方法では、検索動作に、双方鍵を用いて検索語を暗号化することができ、2つの暗号化された検索語間の論理和演算を用いることができる。
【0107】
本書に記載された発明は、SaaSアプリケーションシナリオについて不変暗号化方法を用いる利点のいくつかを記載している。しかしながら、様々な付加的なビジネスアプリケーションがあり、これはあらゆる不正使用から組織の記憶装置内に記憶されたデータを保護するために、クラウドコンピューティング、企業内の装置の内部利用などから利益を得ることができる。
【0108】
本発明の特定の特徴が本書で図示され記載されたが、ここで多くの変更、置換、変形および均等物が当業者に生じるであろう。したがって、添付された特許請求の範囲が本発明の趣旨内となる変更と変形を全て網羅するよう意図されている。


【特許請求の範囲】
【請求項1】
データレコード、データファイルまたはドキュメント内のデータの一部または全てを完全符号方式で暗号化するよう適合された符号式暗号化モジュールを具え、前記暗号化が完全符号方式で不変であり、ファイルまたはドキュメント内のデータの少なくとも一部が処理可能なままであることを特徴とするデータ処理システム。
【請求項2】
請求項1に記載のシステムにおいて、前記暗号化モジュールが符号式マッピングテーブルまたは符号式暗号化に適合された暗号化アルゴリズムの何れかを利用することを特徴とするシステム。
【請求項3】
請求項2に記載のシステムにおいて、前記マッピングテーブルまたは前記暗号化アルゴリズムの鍵がユーザまたは組織に固有のものであることを特徴とするシステム。
【請求項4】
請求項1に記載のシステムにおいて、1つの符号または符号のグループの暗号化が選択でき、前記符号の機密性評価に基づくことを特徴とするシステム。
【請求項5】
請求項4に記載のシステムがさらに、前記データレコード、データファイルまたはドキュメント内の一部もしくは全ての符号または符号のグループの機密性レベルを判定するよう適合されたデータ機密性評価モジュールを具えることを特徴とするシステム。
【請求項6】
請求項5に記載のシステムにおいて、符号の機密性分類が、符号タイトル、符号データのフォーマットおよびユーザ選択のセキュリティレベルからなる群から選択される1以上のパラメータに基づいて判定されることを特徴とするシステム。
【請求項7】
請求項1に記載のシステムにおいて、前記暗号化モジュールが前記データファイル、レコードまたはドキュメントを生成、閲覧、処理または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項8】
請求項1に記載のシステムにおいて、前記暗号化モジュールが前記データファイル、レコードまたはドキュメントを生成、閲覧、処理または編集するよう適合されたアプリケーションのコンピュータプラットホームに接続された周辺ハードウェアと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項9】
請求項1に記載のシステムにおいて、前記暗号化モジュールが組織のデータファイルシステムまたはレコード/ドキュメントリポジトリと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項10】
請求項1に記載のシステムにおいて、前記暗号化モジュールが外部組織のデータファイルシステムまたはレコード/ドキュメントリポジトリへのゲートウェイと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項11】
請求項1に記載のシステムにおいて、前記暗号化モジュールがSaaSサーバとして提供されるアプリケーションまたはSaaSサーバとして提供されるアプリケーションソフトウェアへのゲートウェイと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項12】
請求項2に記載のシステムがさらに、前記暗号化モジュールで暗号化に用いられたマッピングテーブルまたはアルゴリズムに関連づけられたマッピングテーブルまたは復号アルゴリズムを利用するよう適合された符号式復号モジュールを具え、前記関連づけられた語がこれと同一もしくは逆、またはこれから派生したものを意味することを特徴とするシステム。
【請求項13】
請求項12に記載のシステムにおいて、前記復号モジュールが前記データファイル、レコードまたはドキュメントを生成、閲覧、処理または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項14】
請求項12に記載のシステムにおいて、前記復号モジュールが前記データファイル、レコードまたはドキュメントを生成、閲覧、処理または編集するよう適合されたアプリケーションのコンピュータプラットホームに接続された周辺ハードウェアと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項15】
請求項12に記載のシステムにおいて、前記復号モジュールが組織のデータファイルシステムまたはレコード/ドキュメントリポジトリと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項16】
請求項12に記載のシステムにおいて、前記復号モジュールが外部組織のデータファイルシステムまたはレコード/ドキュメントリポジトリへのゲートウェイと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項17】
請求項12に記載のシステムにおいて、前記復号モジュールがSaaSサーバとして提供されるアプリケーションまたはSaaSサーバとして提供されるアプリケーションへのゲートウェイと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項18】
請求項2に記載のシステムがさらに、検索語を当該検索語の暗号化バージョンに変換することにより1以上の暗号化されたファイル、レコードまたはドキュメントを検索するよう適合された検索エンジン/ユーティリティを具えることを特徴とするシステム。
【請求項19】
請求項18に記載のシステムにおいて、前記検索エンジン/ユーティリティがリレーショナルデータベースと機能的に連携し、検索可能な暗号化されたファイル、レコードまたはドキュメントが前記リレーショナルデータベースに記憶されていることを特徴とするシステム。
【請求項20】
請求項2に記載のシステムがさらに、前記暗号化モジュールにより1以上のデータファイル、レコードまたはドキュメントから暗号化されたデータおよび暗号化されていないデータを読み出しおよび処理するよう適合されたデータ処理モジュールを具えることを特徴とするシステム。
【請求項21】
請求項20に記載のシステムにおいて、前記データ処理モジュールがさらに、前記暗号化モジュールで暗号化されたファイル、レコードまたはドキュメントの1以上のデータフィールドから暗号化されたデータを読み出しおよび処理するよう適合されていることを特徴とするシステム。
【請求項22】
請求項2に記載のシステムにおいて、前記暗号化モジュールがリレーショナルデータベースに記憶されたデータファイル、レコードまたはドキュメントの1以上のフィールドの一部を少なくとも暗号化するよう適合されていることを特徴とするシステム。
【請求項23】
請求項22に記載のシステムにおいて、1以上のリレーショナルデータベースの処理が前記リレーショナルデータベースに記憶された1以上のファイル、レコードまたはドキュメントのフィールドの暗号化されていない部分について実行されることを特徴とするシステム。
【請求項24】
請求項22に記載のシステムにおいて、1以上のリレーショナルデータベースの処理が前記リレーショナルデータベースに記憶された1以上のファイル、レコードまたはドキュメントのフィールドの暗号化された部分について実行されることを特徴とするシステム。
【請求項25】
請求項1に記載のシステムにおいて、前記データレコードがHTTP、HTTPS、SMTP、IMAP、POP3、またはWAPリクエストであることを特徴とするシステム。
【請求項26】
請求項1に記載のシステムにおいて、前記データレコードがHTTP、HTTPS、SMTP、IMAP、POP3、またはWAP関連トランザクションであることを特徴とするシステム。
【請求項27】
データレコード、データファイルまたはドキュメント内のデータの一部または全てを完全符号方式で暗号化するよう適合された符号式暗号化モジュールを具え、前記暗号化が完全符号方式で不変であり、ファイルまたはドキュメント内のデータの少なくとも一部が処理可能なままであり、文字のフォーマット情報が前記暗号化されたデータで符号化されることを特徴とするデータ処理システム。
【請求項28】
請求項27に記載のシステムにおいて、暗号化すべき符号が最初に小文字に変換され、暗号化され、次いで暗号化されていない符号に関する文字のフォーマット情報が前記暗号化されたデータ上に符号化されることを特徴とするシステム。
【請求項29】
請求項28に記載のシステムがさらに、前記暗号化された符号から前記文字のフォーマット情報を読み出し、前記暗号化された符号を復号して小文字の復号された符号に戻し、当該復号された符号に前記文字のフォーマット情報を適用するよう適合された復号モジュールを具えることを特徴とするシステム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2012−502311(P2012−502311A)
【公表日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2011−525675(P2011−525675)
【出願日】平成21年9月8日(2009.9.8)
【国際出願番号】PCT/IB2009/053924
【国際公開番号】WO2010/026561
【国際公開日】平成22年3月11日(2010.3.11)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
2.フロッピー
【出願人】(511061615)コンフィデイト セキュリティ ソリューションズ リミテッド (1)
【氏名又は名称原語表記】CONFIDATO SECURITY SOLUTIONS LTD.
【Fターム(参考)】