(57)【特許請求の範囲】
【請求項１】
データレコード、データファイルまたはドキュメント内のデータの一部または全てをシンボル単位で暗号化処理するよう適合された符号式暗号化モジュールを具え、
前記シンボル単位での暗号化処理は各シンボル単位で不変なシンボル置換に基づく暗号化であり、前記シンボル単位での暗号化処理は、シンボルの機密性評価結果に基づいて選択されたシンボルの各々または選択されたシンボル群の各々に対して選択的に適用され、
前記シンボル単位での暗号化処理を適用すべきシンボルおよびその機密性レベルは、所定の方法に従って選択され、前記所定の方法においては、様々なデータ形式と様々なデータ転送プロトコルの上でのデータ処理に関する所望の機能と透明性機能を維持しながらデータ処理システムのセキュリティ要件に適合するような態様でファイルまたはドキュメント内のデータの少なくとも一部を処理可能なままとするような形で前記シンボルの選択と前記機密性レベルの選択が実行されることを特徴とするデータ処理システム。
【請求項２】
請求項１に記載のシステムにおいて、前記暗号化モジュールが符号式マッピングテーブルまたは符号式暗号化に適合された暗号化アルゴリズムの何れかを利用することを特徴とするシステム。
【請求項３】
請求項２に記載のシステムにおいて、前記マッピングテーブルまたは前記暗号化アルゴリズムの鍵がユーザまたは組織に固有のものであることを特徴とするシステム。
【請求項４】
請求項１に記載のシステムにおいて、１つの符号または符号のグループの暗号化が選択でき、前記符号の機密性評価に基づくことを特徴とするシステム。
【請求項５】
請求項４に記載のシステムがさらに、前記データレコード、データファイルまたはドキュメント内の一部もしくは全ての符号または符号のグループの機密性レベルを判定するよう適合されたデータ機密性評価モジュールを具えることを特徴とするシステム。
【請求項６】
請求項５に記載のシステムにおいて、符号の機密性分類が、符号タイトル、符号データのフォーマットおよびユーザ選択のセキュリティレベルからなる群から選択される１以上のパラメータに基づいて判定されることを特徴とするシステム。
【請求項７】
請求項１に記載のシステムにおいて、前記暗号化モジュールが前記データファイル、レコードまたはドキュメントを生成、閲覧、処理または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項８】
請求項１に記載のシステムにおいて、前記暗号化モジュールが前記データファイル、レコードまたはドキュメントを生成、閲覧、処理または編集するよう適合されたアプリケーションのコンピュータプラットホームに接続された周辺ハードウェアと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項９】
請求項１に記載のシステムにおいて、前記暗号化モジュールが組織のデータファイルシステムまたはレコード／ドキュメントリポジトリと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項１０】
請求項１に記載のシステムにおいて、前記暗号化モジュールが外部組織のデータファイルシステムまたはレコード／ドキュメントリポジトリへのゲートウェイと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項１１】
請求項１に記載のシステムにおいて、前記暗号化モジュールがＳａａＳサーバとして提供されるアプリケーションまたはＳａａＳサーバとして提供されるアプリケーションソフトウェアへのゲートウェイと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項１２】
請求項２に記載のシステムがさらに、前記暗号化モジュールで暗号化に用いられたマッピングテーブルまたはアルゴリズムに関連づけられたマッピングテーブルまたは復号アルゴリズムを利用するよう適合された符号式復号モジュールを具え、前記関連づけられた語がこれと同一もしくは逆、またはこれから派生したものを意味することを特徴とするシステム。
【請求項１３】
請求項１２に記載のシステムにおいて、前記復号モジュールが前記データファイル、レコードまたはドキュメントを生成、閲覧、処理または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項１４】
請求項１２に記載のシステムにおいて、前記復号モジュールが前記データファイル、レコードまたはドキュメントを生成、閲覧、処理または編集するよう適合されたアプリケーションのコンピュータプラットホームに接続された周辺ハードウェアと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項１５】
請求項１２に記載のシステムにおいて、前記復号モジュールが組織のデータファイルシステムまたはレコード／ドキュメントリポジトリと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項１６】
請求項１２に記載のシステムにおいて、前記復号モジュールが外部組織のデータファイルシステムまたはレコード／ドキュメントリポジトリへのゲートウェイと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項１７】
請求項１２に記載のシステムにおいて、前記復号モジュールがＳａａＳサーバとして提供されるアプリケーションまたはＳａａＳサーバとして提供されるアプリケーションへのゲートウェイと一体型であるか、または機能的に連携することを特徴とするシステム。
【請求項１８】
請求項２に記載のシステムがさらに、検索語を当該検索語の暗号化バージョンに変換することにより１以上の暗号化されたファイル、レコードまたはドキュメントを検索するよう適合された検索エンジン／ユーティリティを具えることを特徴とするシステム。
【請求項１９】
請求項１８に記載のシステムにおいて、前記検索エンジン／ユーティリティがリレーショナルデータベースと機能的に連携し、検索可能な暗号化されたファイル、レコードまたはドキュメントが前記リレーショナルデータベースに記憶されていることを特徴とするシステム。
【請求項２０】
請求項２に記載のシステムがさらに、前記暗号化モジュールにより１以上のデータファイル、レコードまたはドキュメントから暗号化されたデータおよび暗号化されていないデータを読み出しおよび処理するよう適合されたデータ処理モジュールを具えることを特徴とするシステム。
【請求項２１】
請求項２０に記載のシステムにおいて、前記データ処理モジュールがさらに、前記暗号化モジュールで暗号化されたファイル、レコードまたはドキュメントの１以上のデータフィールドから暗号化されたデータを読み出しおよび処理するよう適合されていることを特徴とするシステム。
【請求項２２】
請求項２に記載のシステムにおいて、前記暗号化モジュールがリレーショナルデータベースに記憶されたデータファイル、レコードまたはドキュメントの１以上のフィールドの一部を少なくとも暗号化するよう適合されていることを特徴とするシステム。
【請求項２３】
請求項２２に記載のシステムにおいて、１以上のリレーショナルデータベースの処理が前記リレーショナルデータベースに記憶された１以上のファイル、レコードまたはドキュメントのフィールドの暗号化されていない部分について実行されることを特徴とするシステム。
【請求項２４】
請求項２２に記載のシステムにおいて、１以上のリレーショナルデータベースの処理が前記リレーショナルデータベースに記憶された１以上のファイル、レコードまたはドキュメントのフィールドの暗号化された部分について実行されることを特徴とするシステム。
【請求項２５】
請求項１に記載のシステムにおいて、前記データレコードがＨＴＴＰ、ＨＴＴＰＳ、ＳＭＴＰ、ＩＭＡＰ、ＰＯＰ３、またはＷＡＰリクエストであることを特徴とするシステム。
【請求項２６】
請求項１に記載のシステムにおいて、前記データレコードがＨＴＴＰ、ＨＴＴＰＳ、ＳＭＴＰ、ＩＭＡＰ、ＰＯＰ３、またはＷＡＰ関連トランザクションであることを特徴とするシステム。
【請求項２７】
データレコード、データファイルまたはドキュメント内のデータの一部または全てをシンボル単位で暗号化処理するよう適合されたシンボル単位暗号化モジュールを具え、前記シンボル単位での暗号化処理は各シンボル単位で不変なシンボル置換に基づく暗号化であり、前記シンボル単位での暗号化処理は、シンボルの機密性評価結果に基づいて選択されたシンボルの各々または選択されたシンボル群の各々に対して選択的に適用され、
前記シンボル単位での暗号化処理を適用すべきシンボルおよびその機密性レベルは、所定の方法に従って選択され、前記所定の方法においては、様々なデータ形式と様々なデータ転送プロトコルの上でのデータ処理に関する所望の機能と透明性機能を維持しながらデータ処理システムのセキュリティ要件に適合するような態様でファイルまたはドキュメント内のデータの少なくとも一部が処理可能なままとするような形で前記シンボルの選択と前記機密性レベルの選択が実行され、各文字の大文字／小文字に関するフォーマット情報が前記暗号化されたデータ内で符号化されることを特徴とするデータ処理システム。
【請求項２８】
請求項２７に記載のシステムにおいて、暗号化すべき符号が最初に小文字に変換され、暗号化され、次いで暗号化されていない符号に関する文字のフォーマット情報が前記暗号化されたデータ上に符号化されることを特徴とするシステム。
【請求項２９】
請求項２８に記載のシステムがさらに、前記暗号化された符号から前記文字のフォーマット情報を読み出し、前記暗号化された符号を復号して小文字の復号された符号に戻し、当該復号された符号に前記文字のフォーマット情報を適用するよう適合された復号モジュールを具えることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ暗号化の分野に関する。特に、本発明はデータを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネントに関する。より具体的には、本発明は、外部の権限を与えられたアプリケーションが暗号化されたデータに特定の処理−例えば暗号化されたデータ内の内容や検索用のインデックスデータの検索を実行できるフォーマットの暗号化データに関する。
【背景技術】
【０００２】
現在、暗号化されたデータの処理（例えばインデックス作成および検索）を可能とする既知のソリューションはなく、暗号化は一般に記憶領域に記憶されているデータ、または２人の当事者間で送信された情報について行われる。双方の場合とも、データがアプリケーションにより処理される前にこれを復号しなければならない。
【０００３】
ＳａａＳアプリケーションに送信されるデータをセキュアにする全ての既知ソリューションは、ユーザ（エンドユーザまたは組織ネットワーク）とサービスとの間のパイプをセキュアにするステップと、サービスとしてのソフトウェア（ＳａａＳ）ベンダにより提供されるセキュリティに依存するステップとを含む。しかしながら、ＳａａＳユーザは自身の機密データを管理しておらず、ＳａａＳプロバイダから情報漏洩がある場合には、ユーザの機密データが公開されてしまう。
【０００４】
これが外部リポジトリに送信される前にデータを標準規格で暗号化するという選択肢がある。しかしながら、標準的な暗号化ソリューションは検索、演算および比較のような標準的な操作の一環としてデータ内容を処理できない。
【０００５】
データの暗号化および処理の分野において、データの暗号化および処理の改良された方法とシステムに対するニーズが存在している。
【発明の概要】
【０００６】
本発明は、データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネントである。本発明の幾つかの実施形態によれば、データファイル、データレコード、トランザクション（例えばＨＴＴＰ、ＨＴＴＰＳ、ＳＭＴＰ、ＩＭＡＰ、ＰＯＰ３またはＷＡＰリクエスト）またはドキュメント内のデータの一部または全てを完全符号方式で暗号化する符号式暗号化モジュールを提供することができる。暗号化は完全符号方式で不変であり、ファイルまたはドキュメント内のデータの少なくとも一部が検索可能であり、または処理可能なままである。暗号化モジュールは、符号式マッピングテーブルまたは符号式暗号化アルゴリズムの何れかを利用することができる。マッピングテーブルまたはアルゴリズムの暗号鍵は、ユーザまたは組織の何れかに固有のものとすることができる。暗号化アルゴリズムは、ユーザにより提供されるユーザまたは組織の何れかに固有の鍵を利用することができる。
【０００７】
本発明の更なる実施形態によれば、１つの符号または符号グループの暗号化が選択可能であり、符号の機密性評価に基づくことができる。データ機密性評価モジュールが提供され、このモジュールがデータファイル、レコード、トランザクションまたはドキュメント内の一部もしくは全ての符号または符号グループの機密レベルを判定することができる。符号の機密性分類は、符号タイトル、符号データのフォーマット、符号内容、およびユーザ選択のセキュリティレベルからなる群から選択された１以上のパラメータに基づいて実行することができる。
【０００８】
本発明の幾つかの実施形態によれば、暗号化モジュールがデータファイル、レコード、トランザクションまたはドキュメントを生成、閲覧または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することができる。
【０００９】
本発明の更なる実施形態によれば、暗号化モジュールがデータファイル、レコード、トランザクションまたはドキュメントを生成、閲覧または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することができる。
【００１０】
暗号化モジュールは、組織のデータファイルシステム、データレコードリポジトリまたはドキュメントリポジトリと一体型であるか、または機能的に連携することができる。
【００１１】
暗号化モジュールは、外部組織のファイルシステム、データレコードリポジトリまたはドキュメントリポジトリへのゲートウェイと一体型であるか、または機能的に連携することができる。
【００１２】
暗号化モジュールは、ＳａａＳサーバにより提供されるアプリケーションまたはＳａａＳアプリケーションサーバへのゲートウェイと一体型であるか、または機能的に連携することができる。暗号化処理の特徴は、どのテーブルまたはアルゴリズムの鍵を用いるか、どの符号を暗号化に選択するかを含み、特定のアプリケーションに依存することができる。
【００１３】
本発明の幾つかの実施形態によれば、暗号化モジュールにより暗号化に用いられたマッピングテーブルまたはアルゴリズムに関連づけられたマッピングテーブルまたは復号アルゴリズムを利用するよう適合された符号式復号モジュールを提供することができる。関連づけられた語句は、テーブルまたはアルゴリズムと同一または逆の何れかを意味する。復号モジュールは、返信されたレスポンス内の暗号化符号を検出し、これらの符号を復号することができる。
【００１４】
復号モジュールは、データファイル、レコードファイル、レコード、トランザクションまたはドキュメントを生成、閲覧または編集するよう適合されたアプリケーションと一体型であるか、または機能的に連携することができる。
【００１５】
復号モジュールは、データファイル、レコード、レコードファイル、トランザクションまたはドキュメントを生成、閲覧または編集するよう適合されたアプリケーションのコンピュータプラットホームに接続された周辺ハードウェアと一体型であるか、または機能的に連携することができる。
【００１６】
復号モジュールは、組織のデータファイルシステム、レコードリポジトリまたはドキュメントリポジトリと一体型であるか、または機能的に連携することができる。
【００１７】
復号モジュールは、外部組織のデータファイルシステム、レコードリポジトリまたはドキュメントリポジトリへのゲートウェイと一体型であるか、または機能的に連携することができる。
【００１８】
復号モジュールは、ＳａａＳサーバにより提供されるアプリケーションまたはＳａａＳアプリケーションサーバへのゲートウェイと一体型であるか、または機能的に連携することができる。
【００１９】
本発明の更なる実施形態によれば、暗号化モジュールがリレーショナルデータベースに記憶されたデータファイル、レコード、トランザクションまたはドキュメントの１以上のフィールド一部を少なくとも暗号化するよう適合することができる。検索またはインデックス作成などの１以上のリレーショナルデータベースの処理は、フィールドの暗号化された部分および暗号化されなかった部分の双方について実行することができる。本発明の更なる実施形態によれば、検索語をこの検索語の暗号化バージョンに変換することにより１以上の暗号化されたファイル、レコード、レコードファイル、トランザクションまたはドキュメントを検索するよう適合された検索エンジン／ユーティリティを提供することができる。本発明の幾つかの実施形態によれば、フィールドデータの暗号化と復号がリレーショナルデータベースにトランスペアレントである。
【００２０】
データ処理モジュールは、暗号化モジュールにより暗号化され、リレーショナルデータベースに記憶された１以上のデータファイル、レコード、トランザクションまたはドキュメントの少なくとも一部から暗号化されたデータおよび暗号化されてないデータを読み出し処理するよう適合することができる。データ処理モジュールは、暗号化モジュールにより暗号化され、リレーショナルデータベースに記憶された１以上のデータフィールドの各々の少なくとも一部から暗号化されたデータを読み出し処理するよう適合することもできる。
【００２１】
本発明の幾つかの実施形態によれば、暗号化モジュールがＨＴＴＰ、ＨＴＴＰＳ、ＳＭＴＰ、ＩＭＡＰ、ＰＯＰ３またはＷＡＰリクエストを暗号化するよう適合することができ、このリクエストはＨＴＴＰ、ＨＴＴＰＳ、ＳＭＴＰ、ＩＭＡＰ、ＰＯＰ３またはＷＡＰ関連トランザクションとすることができる。
【００２２】
本発明の幾つかの実施形態によれば、データレコード、データファイルまたはドキュメント内のデータの一部または全てを完全符号方式で暗号化するよう適合された符号式暗号化モジュールを含むデータ処理システムを提供することができ、この暗号化が完全符号方式で不変であり、ファイルまたはドキュメント内のデータの少なくとも一部が処理可能なままであって、小文字のフォーマット情報が暗号化されたデータで符号化される。暗号化すべき符号が最初に小文字に変換され、暗号化され、次いで暗号化されていない符号に関する文字のフォーマット情報は暗号化されたデータへ符号化することができる。復号モジュールは、暗号化された符号から文字のフォーマット情報を読み出し、暗号化された符号を復号して小文字の復号された符号に戻し、文字のフォーマット情報を復号された符号に適用することができる。
【図面の簡単な説明】
【００２３】
本発明と関係する内容は、明細書の結論部分で特に指摘され、明確にクレームされている。本発明は、しかしながら、これらの目的、特徴および利点と共に、構成および動作の方法の双方に関して、添付図面と共に読むとき以下の詳細な説明を参照することにより最も良く理解される。
【図１】図１は、本発明の幾つかの実施形態に係る例示的なデータ処理システムのブロック図である。
【図２】図２は、各種データ生成と記憶チェーン内の各種例示的な暗号化／復号モジュール構成を示すブロック図である。
【図３】図３は、各種データ生成と記憶チェーン内の各種例示的な暗号化／復号モジュール構成を示すブロック図である。
【図４】図４は、各種データ生成と記憶チェーン内の各種例示的な暗号化／復号モジュール構成を示すブロック図である。
【図５】図５は、各種データ生成と記憶チェーン内の各種例示的な暗号化／復号モジュール構成を示すブロック図である。
【図６】図６は、各種データ生成と記憶チェーン内の各種例示的な暗号化／復号モジュール構成を示すブロック図である。
【００２４】
説明の簡潔性および明瞭性のため、図面で示される要素は必ずしも一律の縮尺に描かれていないことを認識するであろう。例えば、要素の幾つかの寸法は明暸性のため他の要素と比べて誇張される場合がある。さらに、適切であるとみなされる場合、対応する要素または類似する要素を示すために参照符号が図面間で繰り返される場合がある。
【発明を実施するための形態】
【００２５】
以下の詳細な説明では、多数の具体的な詳細が本発明の完全な理解を提供するために説明される。しかしながら、本発明はこれらの具体的な詳細なしに実施されてもよいことを当業者により理解されるであろう。他の実施例では、本発明を不明瞭にしないように周知の方法、手順、要素および回路は詳細に記載されていない。
【００２６】
特に別記しない限り、以下の説明から明らかなように、明細書全体に渡って「処理」、「演算」、「計算」、「判定」等の用語を利用する議論は、計算機システムのレジスタおよび／またはメモリ内の物理的、電子的な量として表わされるデータを、計算機システムのメモリ、レジスタまたは他の情報記憶装置、送信装置もしくは表示装置内の物理的な量として表される類似の他のデータへ処理および／または変換するコンピュータもしくはコンピュータシステム、または類似する電子計算装置の動作および／または処理のことを指す。
【００２７】
本発明の実施形態は、本書の動作を実行するための装置を含むことができる。この装置は、所要の目的のために特別に構成することができ、またはコンピュータに記憶されたコンピュータプログラムにより選択的に起動されたか、または再構成された汎用コンピュータを具えることができる。このコンピュータプログラムは、限定されないが、フロッピーディスクを含む任意の種類のディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、磁気もしくは光カード、または電子命令を記憶するのに適した任意の他の種類の媒体などのコンピュータ読み取り可能記憶媒体に記憶され、コンピュータシステムバスに接続することができる。
【００２８】
本書で示される処理と表示は、本質的に特定のコンピュータまたは他の装置に関するものではない。各種汎用システムは、本書の教示に従ったプログラムと共に用いることができ、または所要の方法を実行する更に専用の装置を構成することが都合が良いことが分かるであろう。様々なこれらシステムの所要の構成は、以下の記載から明らかになる。加えて、本発明の実施形態は何れかの特別なプログラミング言語に関して記載されていない。本書で記載される本発明の教示を実装するために様々なプログラミング言語を用いることができることを認識するであろう。
【００２９】
さらに、今日既知の若しくは今後考案されるコンピュータネットワーキングの何れかのトポロジ、技術および／または標準規格を本発明に適用することができることを理解されたい。
【００３０】
概要
本発明は、データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネントである。本発明の一部は、本発明の幾つかの実施形態に係る例示的なデータ処理システムのブロック図である図１を参照して記載される。本発明の幾つかの実施形態によれば、完全符号方式のドキュメントのデータファイル、データレコード、データトランザクションを暗号化するのに適合した符号式暗号化モジュールを提供することができ、符号という用語は文字、単語、語句、数字または任意の既知の言語の英数字を含む任意の文字セットとして規定することができる。データファイル、データレコード、トランザクションおよびドキュメントという用語は、本出願の全体に渡り置き換えて用いることができる。
【００３１】
本発明の幾つかの実施形態によれば、符号式暗号化モジュール、および他の関連するソフトウエアコンポーネントはデータ生成／処理／記憶チェーンに沿って何れかの場所に実装することができる。一実施形態によれば、モジュールは、ドキュメントを生成または処理するために用いられるアプリケーション（例えばプラグインまたはアドオン）が実行するコンピュータプラットホーム（例えばウェブアプリケーションのクライアント側で実行するウェブブラウザ）と一体型であるか、または機能的に連携することができる。クライアント側アプリケーションによって更なる処理用および／または記憶用のサーバ側アプリケーションにドキュメントが送信される場合、これは送信プロセスの一部として自動的に符号式暗号化を行うことができる。本発明の幾つかの実施形態によれば、暗号化モジュールの機能の一部または全ては、取り外し可能な周辺装置（例えばＵＳＢ装置）で実行またはこれを用いることができ、周辺装置はデータ記憶装置と暗号化ロジックを具えることができる。
【００３２】
幾つかの実施形態によれば、暗号化モジュールは組織のファイルシステムまたはドキュメントリポジトリ（例えば組織のサーバ上で実行するドキュメント管理システム）と一体型であるか、または機能的に連携することができ、リポジトリに記憶された全てのドキュメントはこれらがリポジトリに入るときに暗号化される。本発明の更なる実施形態によれば、符号式暗号化モジュールが外部ファイルシステムまたはドキュメントリポジトリサービスプロバイダ（例えばｇｏｏｇｌｅ、Ｉｒｏｎ  ｍｏｕｎｔａｉｎなど）により提供されるドキュメントリポジトリ（例えば第３者サーバで実行するドキュメント管理システム）への組織のゲートウェイと一体型であるか、または機能的に連携することができる。本発明の更なる実施形態によれば、符号式暗号化モジュールがＳａａＳプロバイダにより提供されるＳａａＳアプリケーションへの組織のゲートウェイと一体型であるか、または機能的に連携することができる。
【００３３】
暗号化モジュールがデータおよび／またはアプリケーションサーバまたは外部のデータおよび／またはアプリケーションサーバへのゲートウェイと連携する本発明の実施形態によれば、このモジュールはネットワークデータトラフィック（例えばネットワークプロキシ）を受信し送信するよう適合された通信モジュールと機能的に連携することができる。通信モジュールは、今日既知の若しくは今後考案される任意のネットワーク標準規格を用いてデータを受信し送信するよう適合されたネットワークハードウェアおよびネットワークプロトコルロジック（例えばＴＣＰ／ＩＰスタック）を含むことができる。
【００３４】
本発明の更なる実施形態によれば、暗号化モジュールはデータファイル、レコード、トランザクション、データレコードまたはドキュメントを処理するよう適合されたネットワークアプリケーションと連携する。したがって暗号化モジュールは、ネットワークデータトラフィックを受信しネットワーク処理アプリケーションに転送するよう適合された通信モジュールと機能的に連携することができる。また復号モジュールは、ネットワーク処理アプリケーションからネットワークデータトラフィックを受信するよう適合された通信モジュールと機能的に連携することができる。
【００３５】
暗号化モジュールの動作の一部として、このモジュールはマップされ、または関連づけられたマッピングテーブルで規定された１以上の対応する暗号符号にドキュメント内の符号（例えば単語、語句、数字など）の一部または全ての各々をマップするマッピングテーブルを利用することができる。本発明の更なる実施形態によれば、当初の符号（すなわち当初の暗号化されていないドキュメントの符号）に対応する暗号符号は当初の符号とは異なる意味を有する。実施形態によれば、マップされる符号は全く意味を有していなくてもよい。符号テーブルの予測される実施例としては、暗号化アルゴリズムによるものとすることができる。マッピングテーブルの別の予測される実施例は、疑似乱数発生器を用いて恒等置換からランダム置換を生成することによる。
【００３６】
本発明の更なる実施形態によれば、各ユーザおよび／または組織は異なる実質的に一意のマッピングテーブルに関連づけることができる。マッピングテーブルが暗号化アルゴリズムとして実装された場合、各ユーザおよび／または組織は一意の暗号鍵を有することができる。マッピングテーブルが疑似乱数発生器を用いて生成されたランダム置換である場合、各ユーザおよび／または組織は疑似乱数発生器を初期化する固有鍵と関連づけることができる。マッピングテーブルは、動的に更新可能なテーブルとすることができ、動作中に向上／更新することができる。例えば、ユーザ／組織が本発明の幾つかの実施形態に係る暗号化モジュールを使用し始める場合、所定のユーザ／組織のマッピングテーブルはユーザ／組織により用いられるドキュメント内に見つけられそうな１セットの符号のマッピングを含むことができる。しかしながら、動作中に暗号化モジュールが暗号化されるドキュメントの符号を特定する場合、この特定された符号がマッピングテーブルの対応するマッピングエントリを有しておらず、暗号化モジュールまたは別の関連するソフトウエアコンポーネントが（例えば、乱数符号発生器を用いることにより、または暗号化アルゴリズムを用いることにより）対応する暗号エントリを生成し、マッピングテーブルを更新することができる。これにより、ユーザ／組織により暗号化されたドキュメントの本体が大きくなるので、ユーザまたは組織により用いられるマッピングテーブルが大きくなるであろう。
【００３７】
本発明の幾つかの実施形態によれば、マッピングテーブルの機能は符号式マッピング／暗号化アルゴリズムで置換または拡張することができる。今日既知または今後考案されるあらゆる持続的な符号式アルゴリズムは、本発明のアプリケーションとすることができる。
【００３８】
本発明の幾つかの実施形態によれば、最初にトランザクション、ファイル、レコードまたはドキュメント内のデータ／符号を暗号化すべきか、そうでないかを判定するために暗号化されるトランザクション、データレコード、データファイルまたはドキュメントを分析することができる。暗号化モジュールと一体型であるか、または機能的に連携するデータ機密性評価モジュールを提供することができ、このデータ機密性評価モジュールはある所定データの機密性レベルを推定または判定することができ、所定のデータ／符号を暗号化するかどうかを暗号化モジュールに示すことができる。所定のデータの機密性レベルが高いほど、これは暗号化される可能性が高い。データ機密性評価モジュールは、アプリケーション内の符号のコンテクストなどのデータフォーマットまたは他の特徴に基づいてデータファイル／レコード／トランザクション／ドキュメント（例えば人の名前、アドレス、アカウント情報など）の一部もしくは全ての符号または符号グループの機密性レベルを検出および分類するよう適合することができる。本発明の更なる実施形態によれば、ファイル／トランザクション／レコード／ドキュメント内の特定のデータ／符号は、データ／符号の機密性レベルを示す指標でタグづけされたメタデータとすることができ、アプリケーション内のそのデータまたは符号の意味と関連づけることができる。また本発明の更なる実施形態によれば、各タイプのデータファイル／ドキュメントまたはウェブアプリケーションおよびＳａａＳアプリケーションのようなアプリケーションに関連するテンプレートもしくは設定ファイルを提供することができ、設定ファイルのこのテンプレートは、アプリケーション内のその意味に応じて、機密として分類すべきファイル／ドキュメントタイプで見つかったデータ／符号の特徴またはパラメータを評価モジュールに示すことができる。
【００３９】
さらに本発明の更なる実施形態によれば、所定のデータ／符号を暗号化すべきかどうかに関する暗号化モジュールの判定は、全てのファイルもしくはドキュメントまたはアプリケーションのセキュリティレベルの表示（例えばユーザに規定されたもの）に影響を受ける場合がある。したがって、暗号化を必要とし、機密とみなされるデータ／符号が、高いセキュリティレベルを有すると分類されたドキュメントまたはアプリケーションで見つかった場合、機密でないとみなすことができ、これにより低いセキュリティレベルを有するドキュメントで見つかった場合と同じく、暗号化しない。
【００４０】
本発明の幾つかの実施形態によれば、マッピングテーブルの利用はドキュメントの暗号化されたデータ／符号の一部または全てに不変の暗号化（すなわち機能の維持）をもたらすことができる。したがって、暗号化されたデータファイル／ドキュメントがリモートリポジトリサーバに保存されたり、またはＳａａＳアプリケーションにより処理される場合であっても、リモートサービス、サーバおよび／またはアプリケーションベースの機能（例えばテキスト検索、算術演算）の一部または全ては暗号化と同時にデータに適用することができる。例えば、本発明に係るドキュメント検索エンジンまたはユーティリティは、本発明の実施形態に応じて暗号化された１セットのドキュメントをスキャンすることができ、以下により１以上の検索語について検索することができる：（１）ドキュメントを暗号化するのに用いるのと同じマッピングテーブルを参照する検索語（すなわち符号）を最初に変換し、（２）次いで変換された符号に基づいてドキュメントの検索を実行する。本発明の実施形態に係る検索エンジン／ユーティリティは、コンピュータプラットホームと一体型であるか、または連携することができ、この上でアプリケーションが実行し、データファイルもしくはレコードファイルまたはドキュメントの一部または全てを生成または処理するのに用いられる。本発明の更なる実施形態によれば、検索エンジン／ユーティリティは組織のトランザクション／レコード／ファイル／ドキュメントリポジトリまたは外部のトランザクション／レコード／ファイル／ドキュメントリポジトリへの組織のゲートウェイと一体型であるか、または機能的に連携することができる。本発明の幾つかの実施形態によれば、検索エンジン／ユーティリティはトランザクション／レコード／ファイル／ドキュメントリポジトリにより保守されるトランザクション／レコード／ファイル／ドキュメントのインデックスデータ構造をスキャンするよう適合することができる。
【００４１】
また本発明の更なる実施形態によれば、暗号化エンジンはリレーショナルデータベースのレコードのフィールドの一部を暗号化するのに用いることができる。したがって、暗号化および非暗号化フィールドに関するデータ処理の機能（例えば、キーフィールドのインデックス付与とクロスリファレンス）を保つことができる。
【００４２】
本発明の更なる実施形態によれば、本発明の幾つかの実施形態に応じて暗号化されたトランザクション／レコード／ファイル／ドキュメントを復号するときに符号式マッピングテーブルを用いるよう適合された符号式復号モジュールを提供することができる。所定の暗号化モジュールに関連づれられた復号モジュールは、暗号化モジュールで用いられるマッピングテーブルと逆のマッピングテーブルを用いるか、または暗号化モジュールで用いられるものと同じマッピングテーブル上でリバースルックアップを実行することができる。暗号化モジュールが暗号化アルゴリズムを利用していた場合には復号モジュールが関連する復号アルゴリズムを使用するであろう。暗号化されたデータ、および／またはリモートサービス、サーバおよび／またはアプリケーションにより暗号化されたデータの操作の結果としてのデータを復旧する際には、符号式復号モジュールは、暗号化に用いたマッピングテーブルの逆を利用することにより、またはその結果である暗号化アルゴリズムに関連する復号アルゴリズムを利用することにより１以上の暗号符号を、ユーザへの出力／提示に先立ってこれらに対応する「平文」符号に復号するよう適合することができる。
【００４３】
本発明の幾つかの実施形態によれば、符号式暗号化／復号モジュールは、ワードプロセッシングアプリケーション、会計財務アプリケーション、ＨＲアプリケーション、電子メールアプリケーション、スプレッドシートアプリケーション、カレンダー管理アプリケーション、ＣＲＭアプリケーション等を含むアプリケーションと機能的に連携することができる。本発明の更なる実施形態によれば、符号式暗号化／復号モジュールは、インターネットまたは他の配信データネットワーク上のサードパーティにより提供される「ＳａａＳ」アプリケーションと機能的に連携することができる。
【００４４】
サービスとしてのソフトウェア（「ＳａａＳ」）に関連する実施形態（プライベートＳａａＳ）
ＳａａＳに関する本発明の実施形態は、添付された図２ないし図６を考慮して以下に記載される。以下の記載はＳａａＳの実装に関しており、記載された任意の新しい特徴は多くの他の実施形態と本発明の実装の１つを適用することができることを理解されたい。以下の記載は本質的に例示であり、ここに書かれたものは本発明の一般的な実施形態を限定するよう解釈すべきでない。任意の新しい特徴または本書で記載された新しい特徴の組み合わせは、それ自体で及びそれ自体のクレーム可能な発明を構成することができる。
【００４５】
本発明の幾つかの実施形態によれば、ユーザ／企業の機密データの機密性とプライバシーが保証される一方、「サービスとしてのソフトウェア」（ＳａａＳ）アプリケーションとクラウドコンピューティングサービスなどの外部資源の使用が可能になる。本発明の幾つかの実施形態によれば、不変の暗号化技術はＳａａＳアプリケーションの特徴の部分的または完全な使用を可能にする一方、ユーザ／企業のプライバシーと機密性を実質的に維持する。本発明の更なる実施形態によれば、ＳａａＳアプリケーションを変更する必要性は殆どまたは全くなく、不変の暗号化方式がユーザにＳａａＳ機能の使用を可能にする一方、ユーザのデータは暗号化されたフォーマットで維持される。このＳａａＳアプリケーションは、全く限定されないが、ＳａａＳプロバイダに記憶されたデータのテキスト検索と数値要素の算術演算を含む。本発明の更なる実施形態によれば、様々なフォーマットのドキュメントも様々なプロトコル（例えばＳＭＴＰ、ＨＴＴＰ）も暗号化された要素の検出と復号をさらに可能にし、これによりユーザに対してトランスペアレントな機能を可能にすることができる。
【００４６】
本発明の幾つかの実施形態によれば、アプリケーションプロトコルを「解釈する（understand）」１以上の装置を使用することにより、実質的に機密データ要素のみに選択的な不変暗号化を行うことができる。機密情報要素は、ＳａａＳプロバイダに送信すべきアプリケーションデータで検出することができる。本発明の更なる実施形態によれば、装置はこれらがＳａａＳプロバイダに送信される前にこの機密要素を暗号化することができる。その結果、ＳａａＳプロバイダに送信され、ＳａａＳプロバイダサーバに存在するアプリケーションデータは暗号化されていないフォーマットの機密データを全く含まないであろう。したがって、ＳａａＳプロバイダのデータレコードが漏洩した場合には、公開されたユーザ／企業の機密データの悪用とその予測される悪用を防止することができる。本発明の更なる実施形態によれば、ユーザが装置を介してアプリケーションデータを読み出すときに、装置がアプリケーションデータの暗号化された要素を検出し、それらを復号することができる。これにより、クライアント側アプリケーションにより受信され、および／またはユーザに提示されたアプリケーションデータは暗号化されてないフォーマット／平文とすることができる。
【００４７】
文字を使用する実施例
本発明の幾つかの実施形態によれば、ユーザ／企業は図１のＳａａＳ電子メール（例えばｇｍａｉｌ）を使用することができる。電子メールに含まれる情報は、ユーザ／企業のユーザ以外の誰にも公開すべきでない機密データおよびプライベートデータを含む場合がある。このデータのあらゆる公開を防止するために、装置が電子メール内の機密データを検出し、電子メールがＳａａＳ電子メールシステムへユーザ／企業のネットワークの外部に送信される前に、電子メール内のこれらの機密データ要素を暗号化することができる。したがって、ＳａａＳ電子メールサーバに存在する電子メールが暗号化されていない／平文の機密情報を全く含まず、たとえＳａａＳ電子メールサーバから電子メールの漏洩があったとしても、ユーザ／企業の機密情報が公開されることはない。電子メールが装置を介してユーザまたは企業ネットワークのユーザにより読み出される場合、装置が電子メール内の暗号化された要素を復号することができ、ユーザは暗号化された内容を全く含まない標準文字として電子メールを見ることができる。
【００４８】
本発明の幾つかの実施形態によれば、機密データ要素の上記暗号化／復号処理は、実質的に全てのそのアプリケーション機能がそのままであるというＳａａＳ電子メールアプリケーションの観点からトランスペアレントな方法で行うことができる。本発明の更なる実施形態によれば、ユーザは、例えば通常データおよび／または機密データ要素についてＳａａＳ電子メールシステムに記憶された電子メール内を検索することができ、暗号化はＳａａＳ電子メールアプリケーションに不変の方法で行うことができるので、検索の結果は普通の暗号化されていないデータ検索で得られるものと同じである。ＳａａＳ電子メールアプリケーションの観点からこのトランスペアレンシーを達成するために、装置は検索リクエスト／クエリーで機密データ要素を検出し、これが電子メールの内容を暗号化するのと同じ方法で、それらを暗号化することができる。これにより、ＳａａＳ電子メール検索機能を変更しないでおくことができる。
【００４９】
本発明の幾つかの実施形態によれば、実質的に類似する原理は、正しい表現ではないと思うが、Ｗｅｂ−Ｓｔｏｒｅなどの他のＳａａＳサービスに適用することができ、図２のウェブアプリケーションとすることができる。ウェブアプリケーションサーバに送信されたデータが機密データ要素を含む場合、ウェブストアアプリケーションのプロトコルを「解釈する」装置が、ウェブストアアプリケーションに送信されたＨＴＴＰリクエスト内の機密データ要素を検出し、レスポンスで、これらの要素を暗号化することができる。これにより、ＨＴＴＰリクエストの構成は実質的に同一のままとすることができ、選択的に機密データ要素の値のみがそれぞれ暗号化要素に置換される。このように、ウェブアプリケーションは通常のリクエストとしてリクエストを処理することができ、機密データ要素の値のみを暗号されたフォーマットでウェブアプリケーションのデータベースに記憶することができる。したがって、ウェブストアのサーバ側アプリケーションとデータベースから情報漏洩があっても、ユーザ／企業の機密情報が公開されることはない。
【００５０】
本発明の幾つかの実施形態によれば、ユーザが暗号化要素を含むウェブページを読み出している場合、装置はウェブアプリケーションにより返信されたウェブページ内の暗号化要素を検出することができ、それらを復号することができる。これにより、ユーザ／ユーザブラウザで受信されたウェブページが暗号化されていない／平文のレスポンスページを含み、ユーザに提示された全ての情報を平文にすることができる。
【００５１】
本発明の更なる実施形態によれば、ユーザがウェブストアに記憶されたデータを任意のテキストベースのファイル（例えばｗｏｒｄ文書、ｅｘｃｅｌ文書）に出力することを要求する場合、戻されたテキストファイルは装置で処理することができる。
【００５２】
不変暗号化方式
本発明の幾つかの実施形態によれば、アプリケーションの機能に影響しない実質的に機密要素のみの暗号化により、ＳａａＳアプリケーションの機能が維持され、さらに、ＳａａＳアプリケーションの変更を実質的に全く必要としないために、ＳａａＳアプリケーションの観点からトランスペアレントな方法で機密データ要素の暗号化を行うことができる。
【００５３】
本発明の幾つかの実施形態によれば、装置はデータ要素内の各符号（例えば単語／語句）を暗号化することができ、それ自体により各単語／語句による機能（例えば検索）も可能にする。この暗号化は、例えばＥＣＢ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｄｅ  Ｂｏｏｋ）モードのＡｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ）暗号化アルゴリズムを用いて行うことができる。ＳａａＳプロバイダサーバに記憶されたテキスト内を検索するために、装置は検索符号／単語／語句を暗号化することができる。その結果、検索符号／単語／語句がＳａａＳプロバイダストレージに存在する場合、ＳａａＳプロバイダ検索メカニズムがこれを見つけることができる。本発明の更なる実施形態によれば、情報がＳａａＳプロバイダストレージに記憶され、部分的に平文で、部分的に暗号化されたとしても、特定の移行フェーズの場合のように、装置は検索語句を変更して平文の値と暗号化された値との双方で検索するので、このメカニズムはなお機能することができる。検索語句はＳａａＳアプリケーションプロバイダにより保存されないので、このアプローチによるシステムセキュリティへの損害はない。
【００５４】
本発明の幾つかの実施形態によれば、一部または全ての文字において、テキスト形式の機密データ要素を分析に全く用いず、その結果、その暗号化はＳａａＳアプリケーション機能に影響しない場合がある。例えば、カスタマーリレーションシップマネジメント（ＣＲＭ）アプリケーションでは、呼び出した顧客の名前はコールセンターの分析に重要ではないため、それが暗号化されるという事実はＣＲＭアプリケーションにより実行される分析を全く妨げないであろう。対照的に、コール時間と待ち時間は分析に必要であり、したがってそれらは機密データ要素でないとみなされるので暗号化されないままであろう。
【００５５】
本発明の更なる実施形態によれば、オートコンプリート機能を可能にするために、機能として固有データの暗号化（持続性対一過性）を用いることができる。この値は、この実施例では、ＳａａＳプロバイダに記憶されないが、むしろＳａａＳアプリケーションの辞書で検索を実行するのに用いられるに過ぎず、リクエストがオートコンプリートリクエストであることを装置が解釈し、したがって値を変更せず、これによりＳａａＳアプリケーションの機能を維持することができる。
【００５６】
テキストデータ要素の暗号化
本発明の幾つかの実施形態によれば、テキスト要素の暗号化は以下の例示的な処理を実行することにより達成することができる。まず第一に、データ要素が単語に分割される。各単語は単独で暗号化される（これは機密データ要素の値の内部で１つの単語の検索を可能にするために行われる）。
■単語の２進数表現が１２１ビットより小さい場合には、１２１ビットを得るために０で埋められる。
■最初の７ビットは単語表現のビット数を規定する。
■これら１２８ビットは、鍵としての装置の秘密鍵と、入力としての単語を表わす１２８ビットとにより、ＡＥＳアルゴリズム（例えば連邦情報処理規格−（ＦＩＰＳ１９７））を用いて暗号化される。
■ＡＥＳアルゴリズムの出力は１２８ビットであり、これはテキスト出力を得るためにｂａｓｅ６４符号化を用いて符号化される。
■ｂａｓｅ６４で符号化された値に対し、１／２つの文字プレフィックスと１／２つの文字サフィックスを追加し、ＳａａＳアプリケーションサーバからのレスポンスとして受信したテキスト文字列内で暗号化された単語の検出を容易にする。
■（注意事項：２２の英数字フォーマット（１２８ビットについてのｂａｓｅ６４符号化出力）は単独で一意であるのでプレフィックスとサフィックスの追加は任意である。）
■単語の２進数表現が１２１ビットより大きい場合には、最も少ない複数の１２８ビットまで０で埋められる。最初の７ビットは、連続する１２８ビット表示のそれぞれの単語表示のビット数を規定する。
■複数の１２８ビットという結果は、鍵としての装置の秘密鍵と、入力としての複数の１２８ビットにより、暗号ブロック連鎖方式（ＣＢＣ）モードのＡＥＳアルゴリズム（ＦＩＰＳ１９７）を用いて暗号化される。
■ＡＥＳアルゴリズムの出力は複数の１２８ビットであり、これはテキスト出力を得るためｂａｓｅ６４符号化を用いて符号化される。
■ｂａｓｅ６４で符号化された値に対し、１／２つの文字プレフィックスと１／２つの文字サフィックスを追加し、ＳａａＳアプリケーションサーバからのレスポンスとして受信したテキスト文字列内で暗号化された単語の検出を容易にする。
（注意事項：２２の英数字フォーマット（１２８ビットについてのｂａｓｅ６４符号化出力）は単独で一意であるのでプレフィックスとサフィックスの追加は任意である。）
【００５７】
本発明の更なる実施形態によれば、繰り返す単語の暗号化を避けるために、装置は単語のハッシュ値を計算し、既に暗号化された単語のハッシュテーブルを維持するハッシュ関数を用いることができ、各エントリの値は暗号化された単語とすることができる。これにより、単語は暗号化される前に以下の例示的な処理を実行することができる。
■装置は単語のハッシュ値を計算する。
■装置はハッシュテーブルに問い合わせをし、ハッシュテーブルに存在するハッシュ値のチェックする。
■ハッシュ値がハッシュテーブルに存在する場合、ハッシュテーブルエントリの値が暗号化された単語として用いられる。
■ハッシュ値がテーブルに存在しない場合、単語は規定されるように暗号化され、ハッシュ値のエントリはハッシュテーブルで生成され、その値が暗号化された単語となる。
【００５８】
本発明の更なる実施形態によれば、復号フェーズの性能を最適化するために、各暗号化された単語についてそのハッシュ値を計算することができ、暗号化された単語の第２のハッシュテーブルに入れることができる。暗号化された単語のテーブルのエントリの値は、暗号化された単語に関連づけられた平文の単語の値とすることができる。
【００５９】
これにより、復号フェーズでは以下の例示的な処理を実行することができる。
■復号モジュールは、暗号化された単語を規定する正規表現を用いて（上述したように、暗号化された単語は十分に規定された英数字構造を有する）、暗号化された単語についてレスポンス（これはテキスト形式である）を検索する。
■暗号化された単語が検出される場合、復号モジュールは初めに暗号化された単語のハッシュ値を計算し、これを用いて暗号化された単語のハッシュテーブル内を検索する。
■暗号化された単語のハッシュ値が暗号化された単語のハッシュテーブルで見つけられる場合、これを形成する平文の値を抽出する。
■これがハッシュテーブルで見つけられない場合、モジュールは以下の例示的な処理を用いて暗号化された単語を復号する。
○ｂａｓｅ６４で符号化された値を１２８ビット（または複数の１２８ビット）に復号する。  
○ＡＥＳアルゴリズムと装置の秘密鍵を用いて１２８ビットの値を復号する。
○最初の７ビットに現れるビット数に応じて、復号されたビット列からどれだけのビットを用いなければならないかを知る。
○関連するビットは平文の単語を得るためにＡＳＣＩＩ文字に変えられる。
【００６０】
大文字と小文字の区別の取り扱い
本発明の更なる実施形態によれば、検索操作などの場合には、この操作は大文字と小文字を区別しないよう要求することができる。不変暗号化はテキストと検索語の双方を小文字へ変換することを保証する。これは、検索が大文字と小文字を区別しないことを保証することができる。テキストの復号が原文（例えば単語）の大文字と小文字の区別を維持するために、装置は、どの文字が大文字であり、どの文字が小文字であるかを、暗号化された単語の後に追加の単語として加えられるビットベクトルに記憶することができる。
【００６１】
本発明の更なる実施形態によれば、装置が単語を暗号化する場合、それは大文字の１、小文字の０、桁および／または追加の文字を含むビットベクトルを生成することができる。ビットベクトルのビット数は、単語の文字数に相当してもよく、ビット列は６４ビット符号化のため０で埋めることができる。６４ベース符号化のビットベクトルは、暗号化された単語の後に加えることができる。
【００６２】
本発明の更なる実施形態によれば、装置が上述したように単語を復号している場合、６４ベースで符号化された単語を復号することもでき、これは暗号化された単語に調整され、復号されたビットベクトルの第１ビットに応じて、適切な文字を大文字にセットすることができる。
【００６３】
電子メールアドレスの暗号化
本発明の幾つかの実施形態によれば、電子メールアドレスの場合、電子メールアドレスの構成を維持するために、装置は電子メールアドレスの各部分を単独で暗号化することができ、電子メールアドレスの構成を維持することができる。本発明の更なる実施形態によれば、装置が電子メールアドレスをユーザー名とドメイン名、すなわちユーザー名＠ドメイン名（または任意の他のサフィックス、例えば．ｃｏ．ｉｌ）に分割することができる。モジュールは、ユーザー名を単独で、ドメイン名を単独で暗号化することができ、ユーザー名とドメイン名の暗号化された値を用いて新しい電子メールアドレスを再構成することができる。
【００６４】
本発明の更なる実施形態によれば、暗号化された値＠暗号化された値などの正規表現により検出を実行することができる。復号モジュールは暗号化された値のそれぞれを復号することができ、ユーザー名とドメイン名の平文を用いて電子メールを再構成することができる。
【００６５】
フォーマット制限されるデータ要素暗号化
本発明の幾つかの実施形態によれば、アプリケーションは機密データ要素のフォーマットを維持することが要求される場合に、例えば郵便番号または電話番号の場合に、装置は正規値の置換を構築し、この置換を用いて機密データ要素を暗号化し、逆置換を用いてデータ要素を復号する。
【００６６】
本発明の更なる実施形態によれば、使用される置換はこれらの値の検索の実行を可能にするが、これらの要素の値は通常数値計算に用いられない。
【００６７】
疑似ランダム置換の生成
本発明の幾つかの実施形態によれば、クヌースシャッフルとして知られる、再試行なく均一にランダムでｎ項目の置換を生成する例示的なアルゴリズムを用いることができ、これは恒等置換または任意の他の置換で開始し、次いで位置１ないしｎ−１を通して、各位置ｉについて現在そこにある要素を位置ｉないしｎから任意に選択された要素と交換する。１／ｎ！の確率を有するこのアルゴリズムによりｎ要素の任意の置換が生成されるのを確認するのは容易であり、これにより全てのこの置換により均一分布をもたらす（ｈｔｔｐ：／／ｗｗｗ．ｔｅｃｈｕｓｅｒ．ｎｅｔ／ｒａｎｄｐｅｒｍｇｅｎ．ｈｔｍｌを参照）。（注意事項：逆置換は各数とそれが占有する位置の数とを交換することにより計算される。）
【００６８】
本発明の更なる実施形態によれば、装置はこのアルゴリズムを用いて秘密置換を生成することができ、ここでは疑似乱数ビット列を用いてランダムな要素を選択することができ、擬似乱数ビット列はＡＥＳアルゴリズムの鍵としての装置の秘密鍵と所定の初期ベクトルによりＣＢＣモードのＡＥＳアルゴリズムを用いて生成することができる。
【００６９】
郵便番号の暗号化
本発明の幾つかの実施形態によれば、郵便番号が５桁であり、これが郵便番号のフォーマットを維持するよう要求される場合には、暗号化モジュールが０００００−９９９９９の範囲の値で疑似ランダム置換を用いて郵便番号を暗号化し、逆置換を用いて郵便番号を復号することができる。
【００７０】
本発明の更なる実施形態によれば、暗号化は暗号化すべき郵便番号でこの置換を参照することにより行うことができ、置換のこのセルの値が暗号化された郵便番号である。暗号化は暗号化された郵便番号で逆置換を参照することにより行うことができ、逆置換のこのセルの値が元の郵便番号である。
【００７１】
社会保障番号（ＳＳＮ）の暗号化
本発明の幾つかの実施形態によれば、ＳＳＮクレジットカード番号の暗号化の場合には、ＳＳＮの構成が維持されなければならない。したがって、以下の例示的な処理を実行することができる。
■００１０１−７４０９９の置換を用いて最初の５桁を暗号化する。
■０００１−９９９９の置換を用いて最後の４桁を暗号化する。
【００７２】
置換の各々も対応する逆置換も上述したように計算することができる。
【００７３】
クレジットカード番号の暗号化
本発明の幾つかの実施形態によれば、クレジットカード番号の暗号化の場合には、クレジットカード番号の構成が維持されなければならない。したがって、クレジットカード番号は４つの４桁のグループに分割することができ、各グループは番号０−９９９９の置換を用いて暗号化することができる（各グループについて異なる置換または全グループについて同じ置換を用いることができる）。
【００７４】
疑似ランダム置換を生成するプロセスは上述した。
【００７５】
本発明の更なる実施形態によれば、４桁のグループの１つが３桁しかない場合、それを４桁のグループにするためにゼロの桁をそれに加えることができる。さらに、チェックディジットを維持する必要がある場合には、このモジュールは最終桁以外の全ての桁に変換を適用することができ、次いで最終桁に対し既知のアルゴリズムに従って最終桁を計算することができる。
【００７６】
注意事項：平文のクレジットカード番号と暗号化されたクレジットカード番号との間のフォーマットに差異はないので、サーバ側アプリケーションはチェックディジットを検査していない。
【００７７】
日付の暗号化
本発明の幾つかの実施形態によれば、日付の暗号化はＤＤ−ＭＭ−ＹＹＹＹなどの日付のフォーマットを維持することができ、唯一の制限はそれが桁を含む場合に、日付は、例えば０−３１＊１２＊１００（０−３７２００）の間の値に変えることができ、この範囲の値の置換を用いることができる。
【００７８】
本発明の更なる実施形態によれば、サーバ側が１年当たりの統計計算を実行する場合、その年は単独で維持することができ、置換はＤＤ−ＭＭ単独でその年単独で適用することができる。（注意事項：医療保険の携行性と責任に関する法律（ＨＩＰＡＡ）は、日と月は秘密であるが、年は平文のままとすることを要求する。）
【００７９】
本発明の更なる実施形態によれば、サーバ側が１月当たりに統計計算を実行する場合、月は単独で維持することができ、置換は日単独で、月単独で、年単独で実行することができる。
【００８０】
数値データ要素の暗号化
本発明の幾つかの実施形態によれば、ＳａａＳアプリケーションが機密性の高い数値（給与など）についての数値解析を可能にするために、装置はこれらの値について可逆的数値変換を適用することができる。（この数値変換は装置の秘密鍵に依存する場合がある）。これにより、アプリケーションが変換された数値について分析を実行することができる。変換された値または計算された任意の値はアプリケーションにより返される場合、装置がこれらの値について逆変換を適用することができ、これによりユーザに提示された数値が実際の数値となる。
【００８１】
数値変換
本発明の幾つかの実施形態によれば、全く限定されないが、収益、給与などの数値フィールドについて算術演算を可能にするために、これらの値について算術変換を実行することができる。可能な算術変換は、秘密定数による乗算とすることができる。この変換の利点は、その逆数が秘密定数の逆数による単純な乗算であるということである。（注意事項：値が加算される場合、どれだけの要素が加算されたか分からず、逆変換を適用できないので、秘密定数による乗算および秘密定数の加算の変換を用いることができる。）
【００８２】
本発明の更なる実施形態によれば、乗算変換は数値間の数値の順序を維持することができ、例えば最高額の給与は最高額の給与のままであるが、装置は従業員の名前を暗号化しているので、それが誰のものかを知ることができず、実際の給与が何であるかを知ることができない。これにより、十分な機密性をさらに達成することができる。
【００８３】
本発明の更なる実施形態によれば、さらに数値にセキュリティを提供するために、サーバ側アプリケーションとの統合が必要となる場合がある。この統合が可能な場合には、サーバ側アプリケーションはテキストデータと類似する方法で暗号化された数値データを復号することができる本発明のコンポーネントと通信することができる。サーバ側アプリケーションが復号された数値データに算術計算を実行することができ、次いでソリューションのコンポーネントを用いて最終結果を暗号化することができる。このコンポーネントはサーバ側に存在し、鍵管理の企業の装置と安全に通信することができ、これによりアプリケーションは正常に機能し続ける一方、数値データに実質的に高セキュリティの暗号化を提供することができる。
【００８４】
完全なアプリケーションのプライバシーポリシー
本発明の幾つかの実施形態によれば、各アプリケーションの用途が異なり、異なる分野の目的は各アプリケーションで異なるので、装置は各ＳａａＳアプリケーションの異なる暗号化方針を有する。したがって、特定の機能について、装置はＳａａＳアプリケーションプロトコルに精通していなければならないかもしれない。（注意事項：プロトコルの情報はオフライン処理により集めることができる）。例えば、電子メールに添付されるファイルは１つの実体として暗号化して更なるセキュリティを達成することができ、ファイルの名前のみを不変暗号化方式を用いて暗号化すべきである。しかしながら、Ｇｏｏｇｌｅドキュメントアプリケーションについては、ドキュメント内の各データ要素はＧｏｏｇｌｅドキュメント機能を維持しながら暗号化しなければならない。さらに、Ｇｏｏｇｌｅ  Ａｐｐは非常に詳細なアプリケーションプログラミングインターフェース（ＡＰＩ）を提供し、それは開発者がＧｏｏｇｌｅ  Ａｐｐサービス上で自身のアプリケーションを開発するのを可能にしている。各Ｇｏｏｇｌｅアプリケーションの各パラメータの意味と記号論を規定するこのＡＰＩは、各Ｇｏｏｇｌｅアプリケーションと、Ｇｏｏｇｌｅ  ＡＰＩ上で開発される各アプリケーションの詳細な手段の処理を可能にし、装置がＡＰＩの呼び出しを妨げる場合があり、アプリケーション、要求されたＡＰＩ、およびポリシーセキュリティレベル（例えばの基本セキュリティ、高セキュリティ、トップシークレット）に応じてパラメータにプライバシーポリシーを適用することができる。
【００８５】
本発明の更なる実施形態によれば、別の実施例として、ＳａａＳアプリケーションがサーバ側でフォーマット検査を実行している場合に、データ要素のフォーマットを維持する不変暗号化方式を用いることができる。しかしながら、フォーマット検査がクライアント側で行われる場合、装置はフォーマットを維持しない不変暗号化方式を用いることができ、これはよりセキュアであり、より有効な実装である。
【００８６】
ポリシーによるプライバシーの実施
本発明の幾つかの実施形態によれば、各組織は自身のプライバシーポリシーを有する場合があるので、装置は企業がどの種類のセキュリティポリシー（例えば基本セキュリティ、高セキュリティ、トップシークレット）を用いるかを規定し、企業プライバシーと機密保持の要件を取り扱いながら各種類のセキュリティポリシーの良好な調整を可能にする。例えば、ＨＩＰＰＡ規則を満たすことを要求する組織については、日と月を削除し、年の値を変更しないという方法で日付が暗号化される一方、他の組織は全ての日付に手をつけないでおくかもしれない。
【００８７】
アプリケーションプライバシーポリシーの自動構築
本発明の幾つかの実施形態によれば、実質的に人の介入を要求することなく未知のアプリケーションとアプリケーションの未知の変更を取り扱うために、装置は未知のパラメータについて自動的にポリシーを適用することができる。装置は、その名前および／またはそのデータフォーマットに応じて現在未知のパラメータを分類することができる（例えば非機密、機密、高機密）。例えば、パラメータ名が電子メールアドレスまたは任意の類似するパラメータ名であり、パラメータの値のフォーマットが電子メールである場合、装置はそれを電子メールアドレスとして分類し、所定の構成に応じて電子メールアドレスが機密として規定される。別の実施例として、パラメータ名が電話番号または任意の類似する名前であり、値が一般的な電話番号の正規表現と一致する場合、パラメータは電話番号として分類される。しかしながら、パラメータ名がコール時間であり、フォーマットが時間の正規表現と一致する場合、これはコール時間として規定され、これはＣＲＭについては機密でないと規定される。これらの新しいパラメータのこの分類は装置に記憶することができ、リクエスト内のパラメータの後の出現時に検査することができ、十分な発生の後に装置で自動的にこれを判定することができる。
【００８８】
本発明の更なる実施形態によれば、パラメータの取り扱いはその分類とアプリケーションのために規定されたセキュリティレベルに依存する場合がある。例えば、基本セキュリティポリシーでは、高機密性パラメータのみを暗号化することができるが、望まない影響をもたらさないという信頼度が実質的に高い場合にのみ、機密性パラメータを暗号化することができる。しかしながら、トップシークレットポリシーについては、機密性パラメータと高機密性パラメータの双方を暗号化することができる。
【００８９】
本発明の更なる実施形態によれば、このメカニズムは装置がアプリケーションについて事前情報なくアプリケーションを取り扱い、アプリケーション用途に応じてその場でプライバシーポリシーを構築するのを可能にする。これは、パラメータをそれが用いられているとおりに分類することより、新しいパラメータなどのアプリケーションの変更の取り扱いを可能にする。
【００９０】
ＳａａＳの利用監査＆監視
本発明の幾つかの実施形態によれば、装置により行われる暗号化／復号に加えて、装置は企業ユーザによりＳａａＳアプリケーションの利用を監視および監査することもできる。幾つかの例示的な理由は以下を含む。
１．ＳａａＳプロバイダに送信すべきでない機密情報の漏洩の防止する。例えば、クレジットカード番号はＳａａＳのＣＲＭアプリケーションに記憶すべきでないという企業ポリシーがあり、ユーザが呼び出し記述の一部としてクレジットカード番号を入力する場合、装置は、呼び出し記述のこの機密要素を検出し、企業ポリシーに応じてそれをマスクする。
２．企業内の全てのユーザに利用可能にすべきでない特定の機能がある場合には、装置はＳａａＳアプリケーションの利用について認証／アクセス制御ポリシーを実施することができる。
加えて、セキュリティの観点から監視と監査を潤すため、装置はＳａａＳアプリケーションの利用率と応答時間などの因子を監視することができる。
【００９１】
装置動作の原理
本発明の幾つかの実施形態によれば、装置はＳａａＳアプリケーションクライアント側（通常エンドユーザのブラウザ内で実行する）と、ＳａａＳプロバイダサーバ上で実行するＳａａＳアプリケーションサーバ側との間のプロキシとして機能することができる。プロキシとして、これはＳａａＳアプリケーションクライアント側とＳａａＳアプリケーションサーバ側との間の通信量（例えばリクエストとレスポンス）を監視することができる。装置は、リクエスト内のドメイン名に応じてアプリケーションを検出することができる。ＵＲＬに応じて装置はリクエストタイプを検出することができ、リクエストタイプに応じてこれは暗号化すべき機密データ要素がどのリクエストに含まれているかを「知る」ことができる。リクエストはＨＴＴＰリクエスト、または鍵値のペアを用いる他のリクエストとすることができるので、装置はその名前により関連するパラメータを検出して、リクエスト内のその値を暗号化された値に置換することができる。これがｐｏｓｔリクエスト（例えばＸＭＬボディの）である場合、装置はパーサー（例えばＸＭＬパーサー）を用いて機密データ要素の値を問い合わせて抽出し、その平文を暗号化された値に置換することができる。
【００９２】
本発明の更なる実施形態によれば、レスポンス内のテキスト形式の暗号化された値の検出を可能にするために、装置は（後述されるように）各暗号化された要素にプレフィックスとサフィックスを追加することができる。テキスト検索の暗号化が検出された場合、装置はテキスト形式のテキストリクエストを検出し、サーバ側の検索機能を維持するために検索語に同じ暗号化を適用することができる。
【００９３】
同じ原理は機密の数値データ要素に適用することができ、これは数値変換を用いて暗号化される。数値検索がこれらの数値データ要素について実行される場合、装置は数値検索リクエストを検出し、この値を変換された値で置換することができる。
【００９４】
本発明の更なる実施形態によれば、レスポンスがＳａａＳアプリケーションから戻される場合、これはウェブページとすることができる。テキスト形式の暗号化された要素の検出を容易にするために、暗号化された要素はそれぞれ一意のプレフィックスとサフィックスを有することができる。装置は、これらのプレフィックスとサフィックスを用いてウェブページ内のテキスト形式の暗号化された要素を検出し、これをその平文の値に置換することができる。同じことを、レスポンスとして戻ったＸＭＬドキュメント、またはＳａａＳプロバイダサーバからダウンロードされたテキスト形式のファイルとドキュメントに適用することができる。
【００９５】
本発明の更なる実施形態によれば、プレフィックスとサフィックスを有していない数値またはフォーマットを制限された値を復号するために、装置はこれらの値がレスポンス内のどこに現われるかを「知る」ことができ、すなわち装置がパターンを有しており、これはパターンマッチングに用いて値を検出する。装置はレスポンスにこれらのパターンを適用し、暗号化された値を含むかどうかをチェックすることができ、暗号化された値が検出される場合、それらの値を変換して（例えば逆変換または逆置換を用いて）、変換された値をレスポンスの内部に配置することができる。これにより、ブラウザにより受信されたレスポンスは平文のみを含むことができる。
【００９６】
企業ネットワークにおける装置の位置
本発明の幾つかの実施形態によれば、システムは装置のネットワーク接続されたコンピュータプラットホーム、例えば通常ユーザのブラウザ上で実行するクライアント側アプリケーションと、ＳａａＳプロバイダサーバで実行するアプリケーションサーバ側との間のプロキシとして実施することができる。図３ないし図６は、使用できる様々な例示的なトポロジーを示す。
【００９７】
企業ネットワークの場合には、ファイアウォールに近い企業ネットワーク周辺に装置を配置するのが当然である。この位置の利点は、企業ネットワーク内で働くユーザのみがアプリケーションを用いて仕事をすることができるということであり、この装置を通過していないユーザは何れも暗号化されたデータ要素しか見ることができない。これは企業がアプリケーションへのアクセスを監査し、たとえユーザがアプリケーションのユーザ名とパスワードを何とか取得しても、企業ネットワークの外部からアプリケーションへの不正アクセスを防止することができる。
【００９８】
本発明の更なる実施形態によれば、このトポロジは、ある理由でＳａａＳアプリケーションのユーザリストから削除されなかったが、組織を退職した元従業員のシナリオを取り扱うことができる。このトポロジは、何らかの形でアプリケーションのユーザ名とパスワードが企業外部の権限のないユーザに漏洩したシナリオを取り扱うこともできる。
【００９９】
本発明の更なる実施形態によれば、このトポロジの別の利点は、企業が装置について完全な制御を有しており、装置の秘密鍵が企業に残るということである。上述したように装置は、企業のＩＴまたはコンプライアンス責任者が装置により実行されるプライバシーポリシーを実質的に完全に制御するのを可能にする。
【０１００】
本発明の更なる実施形態によれば、リモートユーザがＳａａＳアプリケーションを用いて適切に働くのを可能にするために、このトポロジでは、企業ネットワークに接続し（例えばＳＳＬ  ＶＰＮを用いて）、企業ネットワークを介して働く必要がある。このプロキシは、消費者市場で取り扱われるエンドユーザのデスクトップ／ラップトップで実行するソフトウエアとして実装することもできる。
潜在的なプライベートＳａａＳ装置の実装、本発明の幾つかの例示的な実施形態によれば：
■装置はＬｉｎｕｘ（そのＯＳとして）を実行する。
■ＬｉｎｕｘのＡｐａｃｈｅはプロキシサーバとしてプロキシモードで実行する。
■暗号化／復号モジュールはＡｐａｃｈｅモジュールとして実行する。
■装置はウェブベースのＧＵＩを有している。
プライベートＳａａＳのウェブベースのＧＵＩ、本発明の幾つかの例示的な実施形態によれば、
ウェブベースのＧＵＩは、ユーザがプライバシーポリシーを規定し、装置の秘密鍵を管理するのを可能にする。この装置は以下を具えることができる。
■非常に最低限のユーザにのみ利用可能な秘密鍵管理のＧＵＩ
■ポリシー管理者に利用可能なポリシー管理のＧＵＩ
【０１０１】
装置にサポートされる各アプリケーションは、特定のアプリケーションに適合する専用のＧＵＩを有する。
【０１０２】
ポリシー画面では、ポリシー管理者がどのデータ要素が機密データ要素であるかを規定することができる。
プライベートＳａａＳの予測される利点と利益、本発明の幾つかの例示的な実施形態によれば：
以下が予測される利点であり、そのユーザへの工夫（企業にフォーカスした）により提供される。
●企業ネットワークからＳａａＳプロバイダに外部送信される情報の完全な制御を提供し（すなわち何がＳａａＳに送信でき、何が送信できないか）、企業の機密データの公開を最小化する。
●企業データプライバシーポリシーを実行し、コンプライアンス責任者が以下に関する企業ポリシーの定義および実行を可能にする。
■外部に出力することができるデータ−セキュリティ／コンプライアンス責任者は特定のデータ要素（例えばクレジットカード番号）が企業の外部に送信される前にマスクすべきである（ＰＣＩ−ＤＳＳコンプライアンス）。
■セキュアにすべきデータ−装置は異なるＳａａＳアプリケーションに機密データ要素の所定の構成を提供するが、セキュリティ／コンプライアンス責任者は企業のセキュリティポリシーにこれを合わせるよう変更することができる。
●この工夫は、ＣＸＯがＳａａＳを使用して、機密データを公開せず、その結果プライバシー規則を危険に晒さずにＳａａＳアプリケーションを用いることによりコストを低減するの可能にする。
■権限の定義を可能にし、監査要件を簡単にし／低減する。
■繰り返すＳａａＳソリューションのコンプライアンス監査のコストを低減し、ＳａａＳプロバイダで監査する要求を低減する。
■ＳａａＳに関連する機密漏洩の場合には、通知は様々な規則に応じて顧客に要求されない（例えばＣＡ  ＳＢ１３８６（２００３））。
●ＳａａＳの利用とＳＬＡの監視および監査
■企業によるＳａａＳアプリケーションの利用の監視を可能にする。
■ユーザによるＳａａＳの利用について企業の特定のアクセス制御ポリシーの実行を可能にする。
■ＳａａＳアプリケーションの異常な利用を検出することができる。
■ＳａａＳアプリケーションの利用率と応答時間を監視する。
ＳａａＳプロバイダにプライベートＳａａＳの予測される利点と利益、本発明の幾つかの例示的な実施形態によれば：
●プライバシーとデータの機密性という主な予測される阻害因子の１つを克服することにより、このソリューションの魅力を向上する。
●データ漏洩の場合には債務を低減する。機密情報が暗号化されるので、たとえ情報が漏れたとしても損害がない。企業が取るべき他のセキュリティを全く排除しないが、全ての他の防御層が機能しなくなった場合に、それが最後の防御となる。
【０１０３】
ユーザ認証＆権限付与−プライベートＳａａＳの更なる特徴
本発明の幾つかの実施形態によれば、企業アプリケーションの更なるセキュリティの特徴はユーザ認証と権限付与である（すなわちアクセス制御）。これらのセキュリティの特徴は、誰が企業アプリケーションにアクセスすることができるか（認証）、どの機能が各ユーザに利用可能か（権限付与）を制御することができるということである。これらのセキュリティの特徴は、企業アプリケーションがＳａａＳモデルで提供される場合にも要求することができる。しかしながら、各企業はそのポリシーに応じて自身のユーザも、そのアクセス権限も管理しなければならないので（通常ＳａａＳプロバイダにより実行することができる一般的なポリシーがない）、アプリケーションがＳａａＳモデルで提供される場合、ユーザー管理とユーザアクセス権限の管理の問題が課題となる。プライベートＳａａＳは通常企業ネットワーク内に存在し、ＩＴ企業により管理されるので、プライベートＳａａＳはユーザの真正認証の企業ポリシーを実行するという大きな意味がある。
【０１０４】
本発明の更なる実施形態によれば、これらの要件を取り扱うために、プライベートＳａａＳ装置は企業ユーザリポジトリと一体型とすることができ（企業ＬＤＡＰまたはアクティブディレクトリなど）、ユーザがＳａａＳアプリケーションに接続しようする場合、プライベートＳａａＳは最初に企業ユーザデータベースに対してユーザＩＤを検査することができる。ユーザＩＤが検査される場合、プライベートＳａａＳはユーザがＳａａＳアプリケーションを用いる権利があるかどうかをチェックすることができる。このチェックは、企業ユーザデータベース（例えばＬＤＡＰ、アクティブディレクトリまたはユーザデータベース）に対して行うことができ、これは各ユーザのアクセス権を含み、通常ユーザ職務に依存する。したがって、セキュリティ責任者が企業内のユーザ職務に応じてＳａａＳアプリケーションのアクセス権のルールの規定を可能にする。（注意事項：このユーザアクセス権のデータベースが存在しない場合には、プライベートＳａａＳはプライベートＳａａＳ内のユーザのアクセス権を管理する機能を提供することができる）。各アプリケーションのアクセス権の実行に加えて、プライベートＳａａＳはより粒度の高いアクセス権（すなわちアプリケーション内の機能へのアクセス権）の管理および実行を可能にする。これらのアクセス権はユーザ職務に依存することもできる。
【０１０５】
本発明の更なる実施形態によれば、プライベートＳａａＳがユーザ依存、すなわちユーザ職務またはユーザ部門に依存するプライバシーポリシーを上記機能が実行することができる。これは企業が企業内の別個のグループの生成を可能にし、所定のグループからのメンバのみがその同じグループおよび／またはグループのグループにより生成されたメッセージ／情報を読み出すことができる。例えば、財務情報が財務グループ内のメンバにのみ読み取り可能とするために、企業は財務部門と他の部門とを分離したいかもしれない。これを達成するため、プライベートＳａａＳは異なる鍵を財務グループに用いて、異なる鍵を企業の残りのグループに用いることができる。これにより、プライベートＳａａＳが暗号化／復号に特別な鍵を用いることができる財務グループのみが、そのグループにより生成されたメッセージ／情報を読み出すことができるであろう。
【０１０６】
本発明の更なる実施形態によれば、プライベートＳａａＳは多階層を可能にすることもできる。例えば先の実施例では、ＣＥＯは財務グループにより生成されたメッセージも他の部門により生成されたメッセージも読み出すことができなければならない。これを達成するため、プライベートＳａａＳはＣＥＯに双方の鍵を用いることができ、双方の鍵を用いて暗号化されたデータ要素の復号を試みることができる。暗号化された要素の構成により、プライベートＳａａＳは復号されたデータ要素が平文であるかどうかを確認することができる。これにより、ＣＥＯについてプライベートＳａａＳは１個の鍵を用いて情報を復号しようと試みることができ、復号された要素が平文でなければ、第２の鍵を試みるであろう。類似する方法では、検索動作に、双方鍵を用いて検索語を暗号化することができ、２つの暗号化された検索語間の論理和演算を用いることができる。
【０１０７】
本書に記載された発明は、ＳａａＳアプリケーションシナリオについて不変暗号化方法を用いる利点のいくつかを記載している。しかしながら、様々な付加的なビジネスアプリケーションがあり、これはあらゆる不正使用から組織の記憶装置内に記憶されたデータを保護するために、クラウドコンピューティング、企業内の装置の内部利用などから利益を得ることができる。
【０１０８】
本発明の特定の特徴が本書で図示され記載されたが、ここで多くの変更、置換、変形および均等物が当業者に生じるであろう。したがって、添付された特許請求の範囲が本発明の趣旨内となる変更と変形を全て網羅するよう意図されている。
【図１】
0005536067.tif 000002
【図２】
0005536067.tif 000003
【図３】
0005536067.tif 000004
【図４】
0005536067.tif 000005
【図５】
0005536067.tif 000006
【図６】
0005536067.tif 000007