説明

データの安全を保護するためのシステムおよび方法

【課題】電子ファイルに含まれるデータを安全にユーザーが管理できるようにすること
【解決手段】本発明は、最初のユーザーにより少なくとも一人の受信側ユーザーに配信されるデータの安全を保護するための方法であって、鍵で前記データを暗号化するための、前記最初のユーザーからのリクエストに応答するステップと、前記鍵のロケーションをデータベースに記録するステップとを備え、前記データベースは、前記少なくとも一人の受信側ユーザーからの認可のためのリクエストを受信すると、前記認可時に前記鍵を前記少なくとも一人の受信側ユーザーに提供する、前記データの安全を保護するための方法を提供するものである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの安全を保護するためのシステムおよび方法に関し、より詳細には、電子フォーマットで送られるデータオブジェクトの安全を保護するためのシステムおよび方法に関するが、かかるシステムおよび方法だけに限定されるものではない。
【背景技術】
【0002】
オンライン環境では、電子データを、あるポイントから別のポイントに配信することが多い。特にデータが秘密であり、保護が必要であるような状況において、不正な利用またはアクセスからデータの安全を保護しなければならない場合、ユーザーは、安全でないネットワークを通してデータを送る前に、データを暗号化するためのシステムを利用できる。
【0003】
データを暗号化するためのシステムおよび方法は知られている。かかるシステムは、ユーザーがデータオブジェクトを選択し、次にクライアントの操作によってパスワードまたは他のタイプのキー(例えばPIN(パーソナル識別番号)、生体マーカーなど)でデータオブジェクトを暗号化し、暗号化されたデータファイルを作成できるようにする。ユーザーがファイルの暗号を解読するための正しい情報を有していなければ、ユーザーはデータファイルのコンテントを見ることはできないので、このデータファイルを、許容されていない不正なユーザーから「保護」できる。データファイルの暗号を解読しなければならないとき、パスワードを有する正式なユーザーはクライアントを使用することによりデータファイルの暗号を解読できる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
暗号化されたデータファイルをユーザーが配信する意図が全くないかほとんどない場合、かかる仕組みは有効である。かかる状況において、データオブジェクトを一旦暗号化すると、安全でないネットワークを通してデータオブジェクトが配信され得る。しかしながら、ユーザーはオブジェクトの暗号を解読するために、認可されている人物のためのパスワードを配信する方法も見つけなければならない。このパスワードは、効率性のために、自らを暗号化することなく安全でないネットワークを通して配信される。パスワードが横取りされたり、不正な当事者に渡る可能性があるので、このことはデータオブジェクトの安全が脅かされる可能性を高めてしまう。
【0005】
別の問題は、暗号化されたデータファイル自身の内部に暗号化キーが記憶されるので、標準的な暗号化によって提供される保護レベルが最小となるということである。すなわちファイルが一旦受信されると、ハッカーはデータファイルを暗号化するための必要なデータのすべてを取得してしまう。更に、ユーザーが技術的に熟練していない場合、破るのが容易なパスワードを選ぶと、「力づくの」方法を使用することによってデータオブジェクトの暗号を容易に解読できてしまうことを意味する。
【0006】
パスワード及びデータオブジェクトが一旦配信されると、ファイルを操作できる権利が受信側ユーザーに完全に移ってしまうので、データオブジェクトを暗号化するための、より安全で機密性の高いパスワードを使用した場合でも、ユーザーはまだデータオブジェクトを利用する態様を管理できない。例えばユーザーがデータオブジェクトを暗号化し、この暗号化されたデータオブジェクトをインターネットを介して別のロケーションへ送った場合、受信側ユーザーはオブジェクトの機密性を検討することなく、データオブジェクトを更に配信できる。例えば、第三者が、暗号化されたデータファイルと共にパスワードを自由に配信するか、または双方の暗号状態を共に除き、複数の未知のユーザーがこのデータオブジェクトにアクセスできるようになってしまう。
【0007】
これら限界により電子ファイルに含まれるデータを安全にユーザーが管理することが極めて困難なものとなっている。
【課題を解決するための手段】
【0008】
本発明の第1の様相によれば、最初のユーザーにより少なくとも一人の受信側ユーザーに配信されるデータの安全を保護するための方法であって、鍵で前記データを暗号化するための、前記最初のユーザーからのリクエストに応答するステップと、前記鍵のロケーションをデータベースに記録するステップとを備え、前記データベースは、前記少なくとも一人の受信側ユーザーからの認可のためのリクエストを受信すると、前記認可時に前記鍵を前記少なくとも一人の受信側ユーザーに提供する、前記データの安全を保護するための方法が提供される。
【0009】
一実施形態では、前記少なくとも一人の受信側ユーザーの前記データとの相互対話を制限するようになっているデータベース受信ルールの別のステップが提供される。
【0010】
一実施形態では、前記認可するステップは、前記少なくとも一人の受信側ユーザーの識別プロフィルと所定の基準とを比較するステップを更に備え、前記所定の基準が前記識別プロフィルに一致する場合に、前記少なくとも一人の受信側ユーザーを認可する。
【0011】
一実施形態では、前記識別プロフィルは、前記少なくとも一人の受信側ユーザーの特性の特徴を定める少なくとも1つの基準を含む。
【0012】
一実施形態では、前記最初のユーザーは、中央ソースから鍵をリクエストするようになっているクライアントアプリケーションと相互対話する。
【0013】
一実施形態では、前記少なくとも一人のユーザーは、前記データの暗号を解読する認可を前記中央ソースからリクエストするようになっている少なくとも1つのレシーバーアプリケーションと相互対話する。
【0014】
一実施形態では、前記中央ソースのいずれか1個または前記クライアントアプリケーションにより前記鍵を発生する。
【0015】
一実施形態では、前記中央ソースは、認可されていない不正なユーザーから前記サーバーを保護するようになっているゲートキーパーサービスを含む。
【0016】
一実施形態では、前記中央ソースは、前記受信側ユーザーにより、前記データにアクティビティをログするようになっているロギングサービスを更に含む。
【0017】
一実施形態では、前記データは、暗号化されたデータストリングとしてファイルラッパー内に含まれる。
【0018】
一実施形態では、前記ファイルラッパーは、前記レシーバーアプリケーションによって処理されるようになっている安全なドキュメントである。
【0019】
一実施形態では、前記データが、このデータをエンクローズするようになっている安全なエンベロープ内にあるときに、前記少なくとも一人の受信側ユーザーの前記データとの相互対話が、前記最初のユーザーが定めたルールによって制限されるよう、前記データオブジェクトには前記データをエンクローズするようになっている安全なエンベロープが設けられている。
【0020】
本発明の第2の様相によれば、最初のユーザーにより少なくとも一人の受信側ユーザーに配信されるデータの安全を保護するためのシステムであって、鍵で前記データを暗号化するための、前記最初のユーザーからのリクエストに応答するモジュールと、前記鍵のロケーションをデータベースに記録するようになっているルーチンとを備え、前記データベースは、前記少なくとも一人の受信側ユーザーからの認可のためのリクエストを受信すると、前記認可時に前記鍵を前記少なくとも一人の受信側ユーザーに提供する、前記データの安全を保護するためのシステムが提供される。
【0021】
第2の様相の一実施形態では、前記データベースは、前記少なくとも一人の受信側ユーザーの前記データとの相互対話を制限するルールを受信するようになっている。
【0022】
本発明の第3の様相によれば、本発明の第1の様相にかかわる方法を実施するよう、コンピュータシステムを制御するための少なくとも1つの命令を含むコンピュータプログラムが提供される。
【0023】
次に添付図面を参照し、単なる例により、本発明の実施形態について説明する。
【図面の簡単な説明】
【0024】
【図1】本発明の一実施形態に係わるシステムのブロック図である。
【図2】図1の実施形態に係わるシステムの一様相の作動のフローチャートである。
【図3】図1の実施形態に係わるシステムの第2の様相の作動のフローチャートである。
【図4】図1の実施形態に係わるサーバーコンポーネントを示すブロック図である。
【図5】本システムの一実施形態に係わるファイルラッパーの一例である。
【図6】本システムの一実施形態に係わる安全なデータオブジェクトの一例を示す。
【図7】本システムの一実施形態に係わる安全なデータオブジェクトの別の例を示す。
【発明を実施するための形態】
【0025】
次に、図1を参照する。ここで、本発明の一実施形態は、データの安全を保護するためのシステムを提供するようになっており、このシステムは、データをある鍵で暗号化するよう、最初のユーザーからのリクエストに応答するようになっている中央ソース100と、認可のためのリクエストを受信するようになっている認可サービスとを備え、受信側ユーザーが認可されると、受信側ユーザーはデータの暗号を解読するための鍵へ向けられる。
【0026】
この実施形態では、本発明のこの実施形態に係わるシステム、方法および関連するソフトウェアおよび/またはハードウェアアプリケーションを、デバイス、例えば図1に示されるデバイスの一例で実行できる。図1には、中央ソースの略図が示されており、中央ソースはこの実施形態では、本発明の一実施形態と共に使用するのに適したサーバー100となっている。サーバー100はアプリケーションおよび/またはシステムサービス、例えば本発明の一実施形態に係わる、データの安全を保護するためのシステムおよび方法を実行するのに使用できる。
【0027】
図1を参照すると、このサーバー100は、適当なコンピュータの命令を受信し、記憶し、実行するのに必要な適当なコンポーネントを含むことができる。これらコンポーネントとして、プロセッサ102、リードオンリーメモリ(ROM)104、ランダムアクセスメモリ(RAM)106、ディスクドライブ108のような入出力デバイス、入力デバイス110(例えばイーサネット(登録商標)ポート、USBポートなど)、ディスプレイ112、例えば液晶ディスプレイ、発光ディスプレイまたは他の任意の適当なディスプレイ、および通信リンク114を挙げることができる。このサーバーは、ROM104、RAM106またはディスクドライブ108にインストールできる命令を含み、この命令はプロセッサ102によって実行できる。これらには複数の通信リンク114を設けることもでき、これら通信リンクは、1つ以上の計算デバイス、例えばサーバー、パソコン、ターミナル、無線またはハンドヘルドの計算デバイスに種々の態様で接続できる。電話回線または他のタイプの通信リンクを通して、これら複数の通信リンクのうちの少なくとも1つを外部計算ネットワークに接続してもよい。
【0028】
特定の実施形態では、このデバイスは、ディスクドライブ108のような記憶デバイスを含むことができ、この記憶デバイスとして、ソリッドステートドライブ、ハードディスクドライブ、光ドライブまたは磁気テープドライブを挙げることができる。サーバー100は、単一のディスクドライブを使用してもよいし、または多数のディスクドライブを使用してもよい。サーバー100は、このサーバー100のディスクドライブ上またはROM内に常駐する適当なオペレーティングシステム116も使用できる。
【0029】
一部の実施形態では、最初のユーザーはクライアントアプリケーション130を実行するのに、コンピュータ120を利用する。一例におけるこのコンピュータは、ウィンドウズ(登録商標)、MAC OS(登録商標)またはライナックスオペレーティングシステムのようなオペレーティングシステムを有するインテル/AMDチップセットを使用するパソコンとしてもよいし、または当業者であれば理解できるように、このコンピュータを計算機能を奏するようになっているPALM(登録商標)またはIPAQ(登録商標)デバイスのようなモバイルデバイスとしてもよい。
【0030】
この実施形態では、クライアントアプリケーションは、コンピュータ120の記憶デバイスに常駐するようになっているコンピュータ言語で実現されるソフトウェアプログラムとなっている。ROM、プログラマブルアレイ、光ドライブ、スマートカード、メモリユニット、不揮発性メモリモジュールに記憶された計算命令を含むが、これらに限定されないクライアントアプリケーション130の別の実施例も可能である。一例におけるクライアントアプリケーション130は、ユーザーが入力または出力を指示するようになっているインターフェースを有するか、または他の例では、例えばこれらに限定されないがオープンオフィス(登録商標)またはマイクロソフトオフィス(登録商標)のような現在存在するソフトウェアまたはオペレーティングシステムアプリケーションにクライアントアプリケーション130が埋め込まれ、これらソフトウェアに対する別の機能が追加されている。
【0031】
クライアントアプリケーション130は、サーバー100と通信するようになっている通信ポートを有する。ユーザーがアプリケーション130を開始すると、アプリケーション130は、安全な接続、例えばSSLまたはSSH接続を介してサーバー100にコンタクトする。一例では、このアプリケーションは、そのユニークな識別コードまたはIPアドレス、もしくはユーザーを識別するためにおよびそのユーザーがオペレートしているコンピュータ120を識別するための必要な情報をサーバー100に送る。これによってサーバー100は、クライアントアプリケーション130とサーバー100との間の通信セッションを持続できるようになる前に、この通信セッションの認可を許容することにより、データの安全を保護するためのシステムのセキュリティをサーバー100が管理できるようになる。
【0032】
一部の実施形態では、図2を参照して説明するように、最初のユーザーは暗号化を必要とするデータを選択するのにクライアントアプリケーション130を利用する(202)。このデータはファイル101、アドレス、ポインタまたはオブジェクトの形態で存在し得る。インターフェースを使用することにより、最初のユーザーは必要なデータをドラッグし、ドロップし、または他の方法で参照したり選択したりすることができる。一旦ファイルが選択されると、クライアントアプリケーション130はデータの安全を保護するのに必要なセキュリティプロセスを開始できる。
【0033】
本明細書に記載の実施形態では、(ファイル、オブジェクト、アドレス、ポインタまたはそれらの任意の組み合わせのいずれかとして存在する)データのすべてを統合し、単一の安全なデータオブジェクト140として参照できるように、データをシールし(204)、データオブジェクトを作成することにより、セキュリティプロセスがスタートする。安全なデータオブジェクト140が一旦作成されると、次に、ユーザーによって安全なデータオブジェクト140が記述され、ここでユーザーはオブジェクトを記述するためのパーミションまたはルールも指定できる(206)。これらパーミションまたはルールは、データオブジェクト140と相互対話または操作できる態様を制御するようになっている。一例では、パーミションは、安全なデータオブジェクト140内のデータファイルをリードオンリーまたはプリントオンリーにすることを要求できる。別の例では、これらパーミションまたはルールは、特定タイプのコンピュータソフトウェアを使用する特定のIPアドレス内の、どのレベルのユーザーが、これらファイルにアクセスできるかを定めることができる。
【0034】
最初のユーザーによってそれらパーミションが設定されると、クライアントアプリケーション130は安全なデータオブジェクト140を受信し、これと相互対話することが認可された受信側ユーザーのリストを提供するアクセス制御リストを第1ユーザーが定めるための機能を提供する(208)。このアクセス制御リストは、一例では、受信側ユーザーを認証するのに必要な認証スキームも定めることができる。例えばこの認証スキームは、受信側ユーザーが所定の識別コードを有するコンピュータからオペレート中であること、またはユーザーが特定のローカルネットワークからオペレート中であること、またはある種の生体認証スキャンにより認められていることを要求できる。当業者であれば、受信側ユーザーを認証するための別の変形例も理解することができよう。
【0035】
この実施形態では、アクセス制御リストの設定時に、クライアントアプリケーション130は暗号化プロセスをスタートする(210)。一例では、この暗号化プロセスは、AES(高度暗号化規格)、または米国連邦情報処理規格(FIPS)(例えばhttp://www.nist.gov.aes'を参照)、もしくは当業者が理解できるようなその他の暗号化方法を使用する。この暗号化プロセス(210)を開始するには、クライアントアプリケーション130は自ら暗号化のための鍵を発生するか、もしくはその他の例ではサーバー100から鍵を検索する。暗号化プロセス中、この鍵はデータオブジェクト140によって暗号化されることはなく、よって暗号化された安全データ140のオブジェクトは、この鍵を含まない。これによって、強力なレベルの保護を行うことができる。その理由は、安全なデータオブジェクト140の暗号を解読したいハッカーは、安全データオブジェクト140内に鍵が存在しないので、安全なデータオブジェクト140の暗号を解読するのに、力づく方法のような方法を利用できないからである。この暗号化装置は、安全なデータオブジェクト140に基づき、別個の、かつ独立したソースから抽出された鍵を有するユーザーしか安全なデータオブジェクト140の暗号を解読できないようにする。
【0036】
暗号化プロセス(210)が終了すると、クライアントアプリケーション130は完全に暗号化された安全なデータオブジェクト140を戻す(212)。一例では、XMLまたは別の適当なコンピュータ言語で実現できる暗号化されたデータファイルをファイルラッパー500に添付することにより、安全なデータオブジェクト140を作成する。一例では、図5に示されるようなファイルラッパー500は、ユーザーによって、レシーバーアプリケーションまたはクライアントアプリケーションのいずれかによりオブジェクトがオープンにされたとき、安全なデータオブジェクト140に関連する情報がアプリケーションに通知され、本明細書で説明したような安全保護プロセスをアシストするように、安全なデータオブジェクト140を記述するためのメタデータ502を提供する。この安全なデータオブジェクトは、コンピュータ120上のメモリ内または記憶デバイス上に常駐するファイルとして記憶される。最初のユーザーは、配信チャンネル135を介し、eメール、FTP、SSH、記憶装置、CD、USBデバイス、不揮発性メモリの形態またはその他の電子的フォームで、オブジェクトを配信するオプションを有することができる。
【0037】
一実施形態では、レシーバーアプリケーション132は、安全なデータオブジェクト140の暗号を解読するようになっている受信側ユーザーのコンピュータ122に常駐する。受信側ユーザーが安全なデータオブジェクト140を所有すると、受信側ユーザーはレシーバーアプリケーション132をスタートさせ、このレシーバーアプリケーション132は、一例ではeメールソフトウェアに統合でき、よってeメールにより安全なデータオブジェクト140が受信されたときに自動的にスタートする。図3を参照すると、レシーバーアプリケーションはサーバー100と通信し、サーバー100との安全な接続を確立する(302)。サーバー100は、認可プロセス(304)をスタートし、よって一例では、レシーバーアプリケーション132は受信側ユーザーを識別するように、識別コードをサーバーへ送る。
【0038】
別の例では、認証すべき十分な詳細事項を入力することが受信側ユーザーに求められる。認証される方法は、安全なオブジェクト140が作成されたときに最初のユーザーが既に定めた方法であり、この方法は、上記のように生体認証スキャン、パスワード、質問、当業者が理解できるような他の形態の認証を必要としてもよい。
【0039】
受信側ユーザーの認証に成功したとき(304)、レシーバーアプリケーション132は、受信側ユーザーに対し、最初のユーザーが許容した特定の権利に対するパーミションおよびアクセスパーミションに関してサーバー100に問い合わせをする(306)。これら権利が一旦受け入れられると、受信側ユーザーは最初のユーザーが定めたパーミションおよびルールでしか相互対話できないように拘束される。受信側ユーザーが安全なデータオブジェクト140内のデータファイルのコンテントを見ることしか許容されないような一部の例では、レシーバーアプリケーション132によりブラウザが開始される。このブラウザは、ファイルだけをディスプレイするようになっており、受信側ユーザーがファイルを編集するための試みは拒否する。
【0040】
この実施形態では、レシーバーアプリケーション132は、暗号解読プロセス(308)をスタートし、このプロセスは、安全なデータオブジェクトを暗号化するのに使用された鍵である、サーバー100からの暗号解読鍵に対する指示を最初にリクエストする。サーバー100は、サーバー内に鍵を記憶してもよく、この場合、レシーバーアプリケーション132に鍵が送信される。しかしながら一部の例では、別のロケーションにある別個のサーバー内に鍵を記憶してもよく、従ってサーバー100は、別個のサーバーから鍵を検索するための指示をレシーバーアプリケーション132に送るだけである。更に別の例では、別個の記憶メディア、例えばスマートカードまたはUSB鍵、またはCD ROM内に記憶してもよく、この場合、サーバー100は鍵を収納している適当な記憶メディアをユーザーが探すことを指示する指示をレシーバーアプリケーションに送る。
【0041】
レシーバーアプリケーション132は、鍵の所有に成功すると(308)、安全なデータオブジェクトの暗号を解読(310)し、第1ユーザーが定めたパーミションおよびルールによって既に決められた制約を受けた状態でデータを受信側ユーザーに送る。受信側ユーザーがデータに対して行う各操作または相互対話が記録され、記憶およびレビューのためにサーバー100へログが戻される(314)。
【0042】
図4を参照すると、一部の実施形態では、サーバー100は次のような多数のサーバーコンポーネントを含むが、これらに限定されるわけではない。
・ゲートキーパーサービス410
・認証サービス412
・アドミニストレーションサービス414
・アイデンティティサービス416
・データベースサービス418
・バックアップサービス419
【0043】
これらサービスの各々を個々のサーバーに設けてもよいし、または図4に示されるような例では、これらサーバーコンポーネントの各々に機能を提供するよう、サーバー100内のコンピュータ言語、機械コードまたはROMで実行されるコンピュータソフトウェアとして存在してもよい。これらサービスの各々は別のサービスと通信し、本発明の一実施形態に従ってデータの安全を保護するためのシステムおよび方法を提供するようなサーバー100となるように組み合わせられる。
【0044】
本明細書に記載の実施形態では、クライアントアプリケーションまたはレシーバーアプリケーションがサーバー100と通信するとき、ゲートキーパーサービス410がサーバー100によるアプリケーション(130、132)の間のセッションを開始する。一旦開始すると、ゲートキーパーサービス410はユーザーを認証するための認証サービス412に接続することをアプリケーションに指示する。
【0045】
ゲートキーパーサービス410を通して初期のすべての接続を指示することにより、サーバーでのセキュリティが更に高まる。その理由は、ゲートキーパーサービス410は、サーバーコンポーネント400のセキュリティを脅かし得る悪意および/またはブラックリストに乗ったウェブ接続をフィルタで除去するようになっているからである。当業者であれば、着信トラヒックを分析し得る、ハードウェアおよび/またはソフトウェアのファイアウォールサービスを含むがこれらに限定されないゲートキーパーサービス410を実行できる多くの変形例が存在することが理解できよう。
【0046】
ユーザーコンピュータ120、122とサーバー100との間の接続がゲートキーパーサービス410の条件を満たした場合、次に認証サービス412はユーザーをチェックし、認可しようとする。これを行うには、まずユーザープロフィル、ユーザー認証手段、パスワードなどを含むがこれらに限定されない識別基準のリストを記憶するアイデンティティサービス416からの記録を検索するためのサービスを必要とする。このデータが検索された後に、最初のユーザーであるか、または受信側ユーザーとなっているユーザーを認証し、サーバー100へのサービスを続けなければならない。一部の例では、ユーザーがサーバーコンポーネント400へのアクセスを続けることができるよう、クライアントセッションを認証し、認可するために、ユーザーがパスワード鍵、プロフィルの詳細を入力することを認証サービス412が要求してもよいし、またはこの認証サービスでクライアントのID、IPアドレス、コンピュータ識別コード、生体認証または識別サービス416内のデータとクロスレファレンスできる他の手段を検出してもよい。
【0047】
この認証サービスの完了に一旦成功すると、サーバー100は次に、本明細書に記載したデータの安全を保護するためのシステムおよび方法を提供するように、クライアント130またはレシーバーアプリケーション132のためのリクエストを処理することを続行できる。安全なデータオブジェクト140を作成する際の最初のユーザーは、受信側ユーザーが安全なデータオブジェクトと相互対話し、このオブジェクトを操作できる態様を制限するためのパーミションまたはルールを含むことを選択している場合、アドミニストレーションサービス414は、入力し、記憶し、実行すべきこれらパーミションおよびルールに対する機能を提供する。
【0048】
この実施形態では、アドミニストレーションサービス414は、受信側ユーザーによるデータオブジェクトのその後の利用を制限する少なくとも1つのパーミションをクライアントアプリケーション132が入力し、記憶することを許容する。アドミニストレーションサービスは、最初のユーザーが作成した安全なデータオブジェクトを参照する、クライアントアプリケーション130へブロードキャストされるインターフェースを有する。このインターフェースの一例では、最初のユーザーは安全なデータオブジェクト140を記述するためのパーミションのリストから選択することができる。これらルールは次のものを含むが、これらだけに限定されるものではない。
・データオブジェクトの読み出し、書き込み、プリントパーミション
・データオブジェクトのコピーパーミション
・データオブジェクトの共用
・データオブジェクトの再配信
・データオブジェクトにアクセスするために認められる特定の時間
・データオブジェクトにアクセスすることが認められる人または人のグループ
・誰が、もし存在する場合どんな状況でデータオブジェクトのバックアップが許容されるか
・データオブジェクトにアクセスすることが許容されているコンピュータのネットワークロケーションまたは地理的ロケーション
【0049】
最初のユーザーによって一旦ルールが確定すると、このユーザーはインターフェースを介してルールをセーブすることを選択できる。ユーザーは安全なデータオブジェクト140を参照し、ルールおよびパーミションをデータベースに記録するよう、データベースサービス418をトリガーする受け入れボタンまたはスイッチを選択できる。当業者であれば理解できるように、このデータベースはリレーショナルデータベースマネージメントシステム(RDBMS)、例えばオラクル(登録商標)またはマイクロソフトアクセス(登録商標)、オブジェクト指向データベースシステム、フラットファイルまたは他のファイル構造を含むが、これらに限定されない。データベースにルールおよびパーミションが一旦書き込まれと、受信側ユーザーが参照した安全なデータオブジェクトにアクセスするときにこれらルールおよびパーミションを検索できる。
【0050】
図2および3に概略が示されたプロセスを参照し、システムの作動について説明する。まず最初のユーザーが暗号化し、配信しなければならないデータを準備し、選択する。このデータは、例えばドキュメント、スプレッドシート、eメール、テキスト、グラフィックス、マルチメディア、または他の形態のコンピュータデータを含む1つ以上のデータファイル内に存在し得る。このデータの選択時に、最初のユーザーは、クライアントアプリケーション130をオープンにする。このクライアントアプリケーションは、一例では、この最初のユーザーのコンピュータ(202)で作動するソフトウェアアプリケーションとして存在する。このアプリケーションが一旦開始されると、クライアントモジュールは接続の完全性を証明するのにゲートキーパーサービスが一連のチェックを実行するようになっているサーバー100にコンタクトする(203)。ゲートキーパー410が接続を許容した場合、安全なオブジェクトの許可された作成者としてユーザーを識別できるよう、ユーザーを認証するために認証サービス412が実行される。認証サービスの条件の一致(例えばパスワード、鍵または生体認証スキャンの入力)により、ユーザーが正式に認可されると、クライアントアプリケーションはサーバー100との接続を維持し続け、安全なデータオブジェクトを形成するために、暗号化を必要とするデータファイルをユーザーが追加できるようにする。一部の例では、ユーザーは1つ以上のファイルをクライアントアプリケーション132のインターフェース内にドラッグし、ファイルを組み合わせて単一のデータオブジェクトを形成するよう、データオブジェクトをクローズすることを選択できる(202)。
【0051】
この実施形態では、サーバーのアドミニストレーションサービス414に最初のユーザーが向けられ、最初のユーザーに対し、受信側ユーザーによってデータオブジェクト140を操作できる態様を記述するための機会が与えられる。一例では、最初のユーザーはインターフェースにアクセスし、この最初のユーザーにはデータオブジェクトを操作する態様を制御するための種々のルールおよびパーミションが提供される。これらオプションの一部の例は既に説明したとおりである。これらルールおよびパーミションは、受信側ユーザーにより、安全なデータオブジェクト140にアクセスするのに使用されるレシーバーアプリケーション132によって実行される。これらルールおよびパーミションが一旦入力され、選択された場合、ユーザーはサーバー100のデータベースサービスによりデータベースに書き込むべきルールをトリガーする受け入れスイッチまたはボタンを選択できる。パーミションがデータベースに書き込まれるようになっているこの例では、パーミションはアクセス制御リスト(ACL)のフォームで書き込まれ(208)、このリストは次にサーバー100のデータベースサービス418により再び記憶される。
【0052】
データファイルまたはオブジェクトのためのパーミションおよびルールの選択を完了すると、ユーザーはオブジェクトを暗号化できる(210)。一例では、クライアントアプリケーション130は、次に、安全なデータオブジェクトを形成するよう、データを暗号化するための鍵を作成する。暗号化プロセスは、自らの安全オブジェクトがいかなる方法でも暗号化鍵を明らかにすることがないよう、安全なデータオブジェクト内に鍵が埋め込まれないことを保証するものである。別の例では、クライアントアプリケーション130は、サーバー100から鍵をリクエストし、この鍵はデータの暗号化に適したランダム鍵を発生する。サーバー100に鍵を記憶するためのオプションがユーザーに与えられるか、またはサーバー以外の場所に鍵を記憶し、かつ認可された正式な受信側ユーザーを鍵に向けることができるよう、鍵が記憶されている場所をサーバー100に表示するためのオプションがユーザーに与えられる。このような仕組みは、サーバー100に記憶される鍵の数を少なくし、よって他のサーバーに対する、セキュリティが侵されるリスクの広がりを低減する。このプロセスでは、ハッカーは適当な鍵を探すことに対する更なるハードルを有することになる。その理由は、どの不正なユーザーも鍵のロケーションについて即座に知ることができないからである。
【0053】
最初のユーザーが選択したデータを一旦クライアントアプリケーションが暗号化した場合、クライアントアプリケーション130により安全なデータオブジェクトが形成される。暗号化プロセスの完了時(210)、配信チャンネル135を通して任意の数の受信側ユーザーに対し、安全にされたデータオブジェクト140を配信する準備が完了する。一部の例では、最初のユーザーは、単一または多数の受信者に対し、安全なオブジェクトを簡単にeメールで送るか、またはコンパクトディスク、ユニバーサルシリアルバス(USB)鍵または他のコンピュータで読み取り可能なメディアで配信できる。ハッカーはデータオブジェクトの暗号を解読するための鍵を発見しなければ、安全なデータオブジェクト140を破ることが極端に困難であることを知るので、この仕組みの直接の利点により、ユーザーが安全でないチャンネルを通して安全なオブジェクトを配信することが可能となる。安全なデータオブジェクト140内に暗号化鍵が存在しないように、安全なデータオブジェクト140が暗号化されているので、よって安全なデータオブジェクト140の暗号を解読することは極めて困難となる。
【0054】
受信側ユーザーによる安全なデータオブジェクトの受信時に、受信側ユーザーは前に述べたように、レシーバーアプリケーション132を開始し、安全なデータオブジェクト140をレシーバーアプリケーション132へロードできる。一部の例では、このことは安全なデータオブジェクト140を選択し、レシーバーアプリケーション132によって提供されるインターフェース内にこのオブジェクトをドラッグし、ドロップしなければならないようにできる。別の例では、現在存在するソフトウェアパッケージ、例えばマイクロソフトワード(登録商標)、エクセル(登録商標)、パワーポイント(登録商標)、アクセス(登録商標)またはインターネットエクスプローラ(登録商標)または他の同様なパッケージにレシーバーアプリケーションを統合してもよい。安全なデータオブジェクト140のロードに成功すると、次にレシーバーアプリケーション132が中央サーバー100に接続されたときに、受信側ユーザーが、この中央サーバーによって認証される。この認証は、物理的なスマートカード、USB鍵、生体認証データ、パスワード、ユーザーのコンピュータ上にあるユニークなID、IPアドレス、またはこれらの任意の組み合わせを含むこれらのいずれかを準備して、または利用できる他の証明技術によって行うことができる。受信側ユーザーの認可および認証に成功すると、レシーバーアプリケーション132は、サーバー100と通信し、暗号解読鍵にアクセスすることが指示される。この暗号解読鍵はサーバー100に記憶してもよい。しかしながら、一部の状況では、サーバーは鍵をセーブできる適当な別個のロケーションに対するポインタを記憶するだけでよい。一例では、安全なデータオブジェクトに対し、別個に配信されたその後のスマートカードが暗号解読鍵を記憶してもよい。いずれの場合にせよ、中央サーバー100が暗号解読鍵を検索するために、受信側ユーザーを適当なロケーションに向ける。これを行うには、受信側ユーザーの一部で別の動作、例えば別個のサーバーにアクセスするか、または鍵を含む物理的メディアを探すこと(例えばスマートカードをコンピュータ122に挿入すること)を必要とし得る。暗号解読鍵の取得に一旦成功すると、次にレシーバーアプリケーション132は、安全なデータオブジェクト140の暗号を解読でき、ユーザーが安全なデータオブジェクト140を操作するのを可能にするが、この操作は、最初のユーザーが設定し得たパーミションおよびルールによって制限される。最初のユーザーが安全なデータオブジェクト内に暗号化されたドキュメントを編集できる受信側ユーザーの能力を制限しているような例では、受信側ユーザーは、ドキュメントを変更したり、この変更をセーブすることはできず、受信側ユーザーは、ドキュメントの読み取り、ドキュメントへのアクセス、ドキュメントのプリントしかできないよう制限される。
【0055】
別の実施形態では、安全なデータオブジェクトは、図6に示されるような安全なエンベロープとして存在できる。安全なデータオブジェクトが安全なエンベロープ600である場合、このエンベロープは安全なエンベロープ600内に記憶される個々のデータファイル602をエンクローズするファイルとして記憶される。このエンベロープは、前に説明したような安全なデータオブジェクトの元で完全に保護される。しかしながら、エンベロープ内のファイルが、一旦安全なエンベロープからユーザーのコンピュータインターフェース(例えばデスクトップもしくは自らのファイルシステム)にドラッグされ、除かれると、現在のシステム610によって実行されているような制御および保護が取り消され、受信側ユーザーはファイルのアウトライト605を所有していた場合に許容されるように、受信側ユーザーがデータファイルと完全に相互対話し、このデータファイルを操作できるようにする。この例では、最初のユーザーは、受信側ユーザーが安全なエンベロープからデータファイルを除くことができないようにすることを保証するためのパーミションを作成できる。
【0056】
安全なデータオブジェクトが安全なドキュメント700として存在する別の実施形態では、図7を参照して説明するようなシステムおよび方法を使ってデータファイル自身が暗号化される。この場合、クライアントアプリケーションだけを通して全体のファイル702にアクセスしなければならず、許可されていない場合、このファイルを受信側ユーザーによって配信したり、完全なコピーをすることはできない。
【0057】
上記実施形態は、いかなる態様においても、暗号化すべきデータと相互対話しないことが好ましい。換言すれば、暗号化すべきデータが「通過」することは決してないし、また中央ソースに記憶されることもない。このような仕組みにより、ハッカーを引き寄せる可能性のあるデータの中心ハブを提供する危険性が除かれる。
【0058】
一部の実施形態では、このシステムはウェブまたはオンラインインターフェース上のユーザーに対するサービスとして提供される。この実施形態では、既に述べたステップに従ってデータオブジェクトを暗号化したり、暗号を解読したりするためのアプリケーション130をダウンロードしたりオペレートするライセンスがユーザーに提供される。このライセンスはアプリケーション130の機能を制限できる。一例では、フリーライセンスはアプリケーション130をファイルの暗号解読だけに限定するが、料金を支払えば、アプリケーション130がファイルを暗号化することを許容するようにライセンスを拡張することもできる。別の例では、ライセンスは暗号化または暗号解読できるファイルのタイプを制限し、よって所定のファイルへのユーザーのアクセスを制限する。この例は、所定のデータオブジェクトを暗号化したり、暗号を解読するための異なるライセンスを各ユーザーに付与できるようになっている会社またはグループ環境で特に有効である。
【0059】
必要ではないが、図を参照してこれまで説明した実施形態は、アプリケーションプログラミングインターフェース(API)を介して、またはデベロッパーが使用するための一連のライブラリーとして実現し、別のソフトウェアアプリケーション、例えばターミナルまたはパソコンのオペレーティングシステム、またはポータブル計算デバイスのオペレーティングシステム内に含まれるようにすることもできる。一般に、プログラムモジュールはルーチン、プログラム、オブジェクト、コンポーネントおよび特定の機能の作動を実行し、またはシフトするデータファイルを含むので、ソフトウェアアプリケーションの機能を多数のルーチン、オブジェクトまたはコンポーネントにわたって分散させ、実施形態および本明細書に請求するより広義の発明と同じ機能を達成することができことが理解できよう。かかる変形例および変更例は、当業者が想到できる範囲内にある。
【0060】
本発明の方法およびシステムが計算システムによって実現されるか、または一部が計算システムによって実現される場合、適当な計算システムアーキテクチャを利用できることも理解できよう。この計算システムは、スタンドアローンコンピュータ、ネットワークコンピュータおよび専用計算デバイスを含む。「計算システム」および「計算デバイス」なる用語を使用する場合、これら用語は上記機能を奏するためのコンピュータハードウェアの任意の適当な構造をカバーするものである。
【符号の説明】
【0061】
100 サーバー
102 プロセッサ
104 リードオンリーメモリ
106 ランダムアクセスメモリ
108 入出力デバイス
110 入力デバイス
112 ディスプレイ
114 ディスプレイおよび通信リンク
120 コンピュータ
122 ユーザーのコンピュータ
130 クライアントアプリケーション
132 レシーバーアプリケーション
135 配信チャンネル
140 データオブジェクト
410 ゲートキーパーサービス
412 認証サービス
414 アドミニストレーションサービス
416 アイデンティティサービス
418 データベースサービス
500 ファイルラッパー
502 メタデータ

【特許請求の範囲】
【請求項1】
最初のユーザーにより少なくとも一人の受信側ユーザーに配信されるデータの安全を保護するための方法であって、
鍵で前記データを暗号化するための、前記最初のユーザーからのリクエストに応答するステップと、
前記鍵のロケーションをデータベースに記録するステップとを備え、前記データベースは、前記少なくとも一人の受信側ユーザーからの認可のためのリクエストを受信すると、前記認可時に前記鍵を前記少なくとも一人の受信側ユーザーに提供する、前記データの安全を保護するための方法。
【請求項2】
前記少なくとも一人の受信側ユーザーの前記データとの相互対話を制限するようになっているルールを、前記データベースが受信する別のステップを備える、請求項1に記載の方法。
【請求項3】
前記認可するステップは、
前記少なくとも一人の受信側ユーザーの識別プロフィルと所定の基準とを比較するステップを更に備え、前記所定の基準が前記識別プロフィルに一致する場合に、前記少なくとも一人の受信側ユーザーを認可する、請求項1または2に記載の方法。
【請求項4】
前記識別プロフィルは、前記少なくとも一人の受信側ユーザーの特性の特徴を定める少なくとも1つの基準を含む、請求項3に記載の方法。
【請求項5】
前記最初のユーザーは、中央ソースから鍵をリクエストするようになっているクライアントアプリケーションと相互対話する、請求項1〜4のうちのいずれか1項に記載の方法。
【請求項6】
前記少なくとも一人のユーザーは、前記データの暗号を解読する認可を前記中央ソースからリクエストするようになっている少なくとも1つのレシーバーアプリケーションと相互対話する、請求項5に記載の方法。
【請求項7】
前記中央ソースのいずれか1個または前記クライアントアプリケーションにより前記鍵を発生する、請求項1〜6のうちのいずれか1項に記載の方法。
【請求項8】
前記中央ソースは、認可されていない不正なユーザーから前記サーバーを保護するようになっているゲートキーパーサービスを含む、請求項1〜7のうちのいずれか1項に記載の方法。
【請求項9】
前記中央ソースは、前記受信側ユーザーにより、前記データにアクティビティをログするようになっているロギングサービスを更に含む、請求項8に記載の方法。
【請求項10】
前記データは、暗号化されたデータストリングとしてファイルラッパー内に含まれる、請求項1〜9のうちのいずれか1項に記載の方法。
【請求項11】
前記ファイルラッパーは、前記レシーバーアプリケーションによって処理されるようになっている安全なドキュメントである、請求項10に記載の方法。
【請求項12】
前記データが、このデータをエンクローズするようになっている安全なエンベロープ内にあるときに、前記少なくとも一人の受信側ユーザーの前記データとの相互対話が、前記最初のユーザーが定めたルールによって制限されるよう、前記データオブジェクトには前記データをエンクローズするようになっている安全なエンベロープが設けられている、請求項10または11に記載の方法。
【請求項13】
最初のユーザーにより少なくとも一人の受信側ユーザーに配信されるデータの安全を保護するためのシステムであって、
鍵で前記データを暗号化するための、前記最初のユーザーからのリクエストに応答するモジュールと、
前記鍵のロケーションをデータベースに記録するようになっているルーチンとを備え、前記データベースは、前記少なくとも一人の受信側ユーザーからの認可のためのリクエストを受信すると、前記認可時に前記鍵を前記少なくとも一人の受信側ユーザーに提供する、前記データの安全を保護するためのシステム。
【請求項14】
前記データベースは、前記少なくとも一人の受信側ユーザーの前記データとの相互対話を制限するルールを受信するようになっている、請求項13に記載のシステム。
【請求項15】
前記ルーチンは、前記所定の基準が前記識別プロフィルに一致する場合に、前記少なくとも一人の受信側ユーザーを認可するよう、前記少なくとも一人の受信側ユーザーの識別プロフィルと所定の基準とを比較する、請求項13または14に記載のシステム。
【請求項16】
前記識別プロフィルは、前記少なくとも一人の受信側ユーザーの特性を特徴付ける少なくとも1つの基準を含む、請求項15に記載のシステム。
【請求項17】
前記最初のユーザーは、中央ソースからの鍵をリクエストするようになっているクライアントアプリケーションと相互対話する、請求項15〜16のうちのいずれか1項に記載のシステム。
【請求項18】
前記少なくとも一人のユーザーは、前記データの暗号を解読する認可を前記中央ソースからリクエストするようになっている少なくとも1つのレシーバーアプリケーションと相互対話する、請求項17に記載のシステム。
【請求項19】
前記中央ソースまたは前記クライアントアプリケーションにより前記鍵を発生する、請求項15〜18のうちのいずれか1項に記載のシステム。
【請求項20】
前記中央ソースは、認可されていない不正なユーザーから前記サーバーを保護するようになっているゲートキーパーサービスを含む、請求項15〜19のうちのいずれか1項に記載のシステム。
【請求項21】
前記中央ソースは、前記受信側ユーザーにより、前記データにアクティビティをログするようになっているロギングサービスを更に含む、請求項20に記載のシステム。
【請求項22】
前記データは、暗号化されたデータストリングとしてファイルラッパー内に含まれる、請求項15〜21うちのいずれか1項に記載のシステム。
【請求項23】
前記ファイルラッパーは、前記レシーバーアプリケーションによって処理されるようになっている安全なドキュメントである、請求項22に記載のシステム。
【請求項24】
前記データが、このデータをエンクローズするようになっている安全なエンベロープ内にあるときに、前記少なくとも一人の受信側ユーザーの前記データとの相互対話が、前記最初のユーザーが定めたルールによって制限されるよう、前記データオブジェクトには前記データをエンクローズするようになっている安全なエンベロープが設けられている、請求項22または23に記載のシステム。
【請求項25】
請求項1〜12のうちのいずれか1項に記載の方法を実施するよう、コンピュータシステムを制御するための少なくとも1つの命令を含むコンピュータプログラム。
【請求項26】
請求項25に記載のコンピュータプログラムを提供する、コンピュータで読み取り可能なメディア。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2011−507414(P2011−507414A)
【公表日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願番号】特願2010−538282(P2010−538282)
【出願日】平成20年12月22日(2008.12.22)
【国際出願番号】PCT/AU2008/001898
【国際公開番号】WO2009/079708
【国際公開日】平成21年7月2日(2009.7.2)
【出願人】(510169468)コクーン データ ホールディングス リミテッド (1)
【Fターム(参考)】