(58)【調査した分野】(Int.Cl.,DB名)
前記クライアントインタフェースは、暗号化要求に応答して前記リモートクライアントシステムによって送信されたリモートキー暗号化キー(KEK)を受信するように更に構成され、
前記リモートKEKは、前記暗号化された暗号化キーを再度暗号化するためにリモートキー管理システムによって利用される、
ことを特徴とする請求項6に記載のキーサービスエンジン。
前記命令は、更に、前記プロセッサによって実行された時に、協調システムをして前記リモートキー暗号化要求に応答して、リモートキー暗号化キー(KEK)で暗号化された前記暗号化された暗号化されたキーを含む2回暗号化された暗号化キーを受信させることを特徴とする請求項8に記載の協調システム。
前記命令は、更に、前記プロセッサによって実行された時に、協調システムをして前記リモートキー暗号化要求に応答してリモートKEKを受信させることを特徴とする請求項8に記載の協調システム。
前記命令は、更に、前記プロセッサによって実行された時に協調システムをして受信した前記コンテンツ要求に応答して暗号化キーを使用して暗号解読された前記コンテンツ項目を供給させることを特徴とする請求項15に記載の協調システム。
【発明を実施するための形態】
【0006】
以下の説明及び図面は、例示的であり、制限的と解釈すべきではない。本発明の開示を完全に理解することができるように多くの特定の細部に対して説明する。しかし、特定の関連では、公知であるか又は従来の細部は、説明を不明瞭にすることを回避するために説明を割愛している。本発明の開示における一実施形態又は実施形態への言及は、同じ実施形態の言及である得るが、必ずしも同じ実施形態の言及であるわけではなく、このような言及は、実施形態の少なくとも1つを意味する。
【0007】
本明細書における「一実施形態」又は「実施形態」への言及は、実施形態に関連して説明する特定の特徴、構造、又は特性が本発明の開示の少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な箇所での「一実施形態では」という語句が出てきても、必ずしも全て同じ実施形態も指しているわけではなく、別の実施形態又は代替的な実施形態も他の実施形態と相互に排他的ではない。更に、一部の実施形態によって示すことができるが他に実施形態によって示すことはできない様々な特徴が説明される。同様に、一部の実施形態に対して要件とすることができるが他の実施形態に対しては要件とすることはできない様々な要件も説明される。
【0008】
本明細書で使用する用語は、一般的に、当業技術において、本発明の開示という関連において、及び各語が使用される特定の内容において普通の意味を有する。本発明の開示を説明するのに使用する特定の用語は、本発明の開示の説明に関する実務者への付加的な指針になるように以下で又は本明細書の他の箇所で説明する。便宜上、特定の用語は、例えば、イタリック及び/又は引用符を使用して強調表示する場合がある。強調表示の使用は、用語の範囲及び意味に影響を及ぼさず、用語の範囲及び意味は、同じ関連においては強調表示されるか否かに関わらず同じである。同じことを1つよりも多い方法で言うことができることは認められるであろう。
【0009】
その結果、代替言語及び同義語を本明細書に説明する用語のいずれか1つ又はそれよりも多くに対して使用することができ、用語が精緻化されるか又は本明細書に説明されるか否かに関わらず、いずれの特定の重要度も置くべきではない。特定の用語の同義語が示される。1つ又はそれよりも多くの同義語の説明部分は、他の同義語の使用を排除しない。本明細書に説明するあらゆる用語の例を含む本明細書のあらゆる箇所での例の使用は、例示的なものにすぎず、本発明の開示又はあらゆる例証の用語の範囲及び意味を更に制限することを意図していない。同様に、本発明の開示は、本明細書に示す様々な実施形態に限定されない。
【0010】
本発明の開示の範囲を更に制限する意図なく、本発明の開示の実施形態による計器、装置、方法、及び関連の結果の例を以下に示している。読者の便宜を図るために例において表題又は副題が使用される場合があり、これは、いずれの点においても本発明の開示の範囲を制限しないことに注意すべきである。別段の定義がない限り、本明細書で使用する全ての専門用語及び科学用語は、本明細書が属する技術分野の当業者により一般的に理解されるものと同じ意味を有する。矛盾が生じた場合に、定義を含む本明細書が優先されることとする。
【0011】
協調環境は、データ項目(又はファイル)暗号化を使用してセキュリティを与える特徴又は機構を含むことができる。ファイル暗号化特徴は、例えば、データ又はコンテンツ項目(例えば、ファイル)を暗号化するのに使用される使用された暗号化キーを暗号化する段階を含むことができる。しかし、データ暗号化を通じてセキュリティを与える既存の機構は、クライアント側(例えば、企業側)の制御及び構成可能性を与えるものではない。
【0012】
本発明の開示の実施形態は、協調クラウドベース環境においてリモートキー管理サービスを容易にするためのシステム及び方法を含む。より具体的には、本明細書に説明するリモートキー管理アーキテクチャ及び技術は、コンテンツアクセスに関連付けられた理由コードのローカルキー暗号化及び自動生成を与える。理由コードは、キー暗号化の第2の(リモート)層を制御するためにリモートクライアントデバイス(例えば、企業クライアント)によって使用される。リモートクライアントデバイスは、キー暗号化の第2の層のクライアント側制御及び構成可能性を与える。
【0013】
様々な実施形態において、リモートキー管理エンジンは、1組の予め定義されたクライアント構成可能な規則に少なくとも部分的に基づいて対応する暗号化キーを暗号化又は暗号解読すべきか否かを判断するために、生成されたアクセス理由を処理することができる規則エンジンの使用を通じてクライアント側制御及び構成可能性を与える。更に、様々な実施形態において、リモートキル機能を容易にするためのキルスイッチが、クライアントに与えられる。
【0014】
図1は、リモートキー管理サービスを容易にする機能を備えたクラウドサービス及び/又はクラウドストレージアカウントのホストサーバ100を有するシステムの例示的な図を示している。
【0015】
クライアントデバイス102は、別のデバイス、サーバ、及び/又はホストサーバ100及び/又は通知サーバ150のような他のシステムとの有線、無線、セルラー接続を含む接続を確立することができるあらゆるシステム及び/又はデバイス、及び/又はデバイス/システムのあらゆる組合せとすることができる。クライアントデバイス102は、典型的には、デバイス102及び/又はホストサーバ100及び/又は通知サーバ150の間で交換される情報及びデータを提示するディスプレイ及び/又は他の出力機能性を含む。
【0016】
例えば、クライアントデバイス102は、モバイルデバイス、手持ち式デバイス又は携帯式デバイス、又は非携帯式デバイスを含むことができ、かつサーバデスクトップ、デスクトップコンピュータ、コンピュータクラスター、又はノートコンピュータ、ラップトップコンピュータ、手持ち式コンピュータ、パームトップコンピュータ、モバイル電話、セル電話、スマートフォン、PDA、Blackberryデバイス、Treo、手持ち式タブレット(例えば、iPad、Galaxy、Xoomタブレットのような)、タブレットPC、シンクライアント、手持ち式コンソール、手持ち式ゲームデバイス又はコンソール、iPhone、及び/又はあらゆるプラットフォーム、又はいずれかのオペレーティングシステム(例えば、MacベースのOS(OS X、iOSのような)、Windows(登録商標)ベースのOS(Windows(登録商標) Mobile、Windows(登録商標)7のような)、Android、Blackberry OS、組み込みLinux(登録商標)プラットフォーム、Palm OS、Symbianプラットフォーム上で稼動するあらゆる他の携帯式デバイス、モバイルデバイス、手持ち式デバイスなどを含む携帯式デバイスのうちのいずれかとすることができるがこれらに限定されない。一実施形態において、クライアントデバイス102、ホストサーバ100、及びアプリサーバ110は、ネットワーク106を通じて結合される。一部の実施形態において、デバイス102及びホストサーバ100を直接に互いに接続することができる。
【0017】
クライアントデバイス102上の入力機構は、タッチスクリーンキーパッド(シングルタッチ、マルチタッチ、2D又は3Dの動作感知などを含む)、物理的キーパッド、マウス、ポインタ、トラックパッド、動き検出器(例えば、1軸加速度計、2軸加速度計、3軸加速度計などを含む)、光センサ、キャパシタンスセンサ、抵抗センサ、温度センサ、近接センサ、圧電デバイス、デバイス向き検出器(例えば、電子コンパス、傾倒感知センサ、回転センサ、ジャイロスコープ、加速度計)、又は以上の組合せを含むことができる。
【0018】
上述の入力機構又は他の1つ又はそれよりも多くを通してのクライアントデバイス102でのユーザ作動を示す受信又は検出された信号は、ネットワーク106を通じてウェブベース協調環境又はオンライン協調プラットフォーム(例えば、ホストサーバ100による)にアクセスする様々なユーザ又は協力者(例えば、協力者108)により、開示する技術に使用することができる。
【0019】
協調プラットフォーム又は環境では、1人又はそれよりも多くのユーザがアクセス可能な作業項目(例えば、閲覧、編集、更新、修正、注釈、ダウンロード、試聴、タグ付け、又は他の方法で操作するなど)を有する作業空間が使用される。作業項目は、電子デバイス(例えば、デバイス102)を通じて閲覧する又はこれにアクセス可能なあらゆるタイプのデジタル又は電子コンテンツを一般的に含むことができる。デジタルコンテンツとしては.pdfファイル.doc、スライド(例えば、Powerpointスライド)、画像、オーディオファイル、マルチメディアコンテンツ、ウェブページ、ブログなどを含むことができる。作業空間は、協調プラットフォームにおける1組のデジタルコンテンツのあらゆる群を一般的に指すことができる。ユーザによって又は他の手段を通じて群を識別、作成、又は指定することができる。例えば、このユーザは、クリエータユーザ又は管理ユーザとすることができる。
【0020】
一般的に、作業空間は、その中に含まれるコンテンツにアクセス可能な1組のユーザ又は協力者(例えば、協力者108)に関連付けることができる。所定の作業空間においてコンテンツにアクセスする各ユーザ又は協力者のアクセス(例えば、許可又は規則に基づく)のレベルは、同じである場合があり、又はユーザ間で変動する場合がある。各ユーザは、作業空間におけるあらゆるコンテンツピースに対する固有の組のアクセス権を有する場合があり、又は各ユーザは、異なるコンテンツピースに対する異なるアクセス権を有する場合がある。アクセス権は、作業空間に関連付けられたユーザ、及び/又は特定のコンテンツピースを作成して作業空間にアップロードしたユーザ、又はあらゆる他の指定されたユーザ又は協力者により指定される場合がある。
【0021】
一般的に、協調プラットフォームにより、複数のユーザ又は協力者は、各ユーザが遠隔操作で自分自身のユーザデバイスを通じて特定の作業項目に対して行われている編集、改訂、コメント、又は注釈を見ることができるように、作業項目に対する行為にアクセス又はこれを協調することができる。例えば、ユーザは、他のユーザがアクセスするように作業空間に文書をアップロードすることができる(例えば、閲覧、編集、コメント、署名、又は他の方法による操作に向けて)。ユーザは、オンラインプラットフォームにログインして、既存の作業空間に又は新しい作業空間に文書(又はあらゆる他のタイプの作業項目)をアップロードすることができる。文書は、作業空間における既存のユーザ又は協力者と共有することができる。
【0022】
オンライン協調環境の概略図及び作業空間とユーザ/協力者の関係は、
図2の例を更に参照して示している。協力者が複数のデバイスを通じてアクセス可能な複数の作業項目を有する作業空間の概略図は、
図3の例を更に参照して示している。
【0023】
一実施形態において、クライアントデバイス102は、ネットワーク106上でホストサーバ100及び/又はピープル検索エンジン150と通信する。一般的に、クライアントデバイス102、ホストサーバ100、及び/又はピープル検索エンジン150が通信するホストサーバネットワーク106は、セルラーネットワーク、電話回線網、インターネットのようなオープンネットワーク、又はイントラネット及び/又はエクストラネットのような専用回線網、又はそのあらゆる組合せとすることができる。例えば、インターネットは、オープンシステム相互接続(OSI)、FTP、UPnP、iSCSI、NSF、ISDN、PDH、RS−232、SDH、SONETなどであるがこれらに限定されないあらゆる公知又は便利なプロトコルを通じてファイル転送、リモートログイン、電子メール、ニュース、RSS、クラウドベースのサービス、インスタントメッセージ、ビジュアルボイスメール、プッシュメール、VoIP、及び他のサービスを提供することができる。
【0024】
ネットワーク106は、全体的に又は部分的に共同してクライアントデバイス102及びホストサーバ100との接続性を与えるように作動する異なるネットワークのあらゆる集合とすることができ、かつサービスを受けるシステム及びデバイスには1つ又はそれよりも多くのネットワークのように見える場合がある。一実施形態において、クライアントデバイス102への及びそこからの通信は、インターネットのようなオープンネットワーク、又はイントラネット及び/又はエクストラネットのような専用回線網などによって達成することができる。一実施形態において、通信は、セキュアソケットレイヤ(SSL)又はトランスポートレイヤセキュリティ(TLS)のようなセキュアな通信プロトコルによって達成することができる。
【0025】
更に、一例として、通信は、汎ヨーロッパデジタル移動通信システム(GSM(登録商標))、パーソナル通信サービス(PCS)、デジタル高度移動電話サービス(D−Amps)、Bluetooth(登録商標)、Wi−Fi、固定無線データ、2G、2.5G、3G、4G、IMT−Advanced,プレ4G、3G LTE、3GPP LTE、LTE Advanced、モバイルWiMax、WiMax 2、無線MAN−Advancedネットワーク、GSM(登録商標)進化型高速データレート(EDGE)、汎用パケット無線サービス(GPRS)、enhanced GPRS、iBurst、UMTS、HSPDA、HSUPA、HSPA、UMTS−TDD、1xRTT、EV−DO、TCP/IP、SMS、MMのようなメッセージングプロトコル、拡張可能メッセージングアンドプレゼンスブロトコル(XMPP)、リアルタイムメッセージングブロトコル(RTMP)、インスタントメッセージアンドプレゼンスブロトコル(IMPP)、インスタントメッセージ、USSD、IRC、又はあらゆる他の無線データネットワーク又はメッセージングプロトコルのような技術で有効にされるWiMax、ローカルエリアネットワーク(LAN)、無線LAN(WLAN)、パーソナルエリアネットワーク(PAN)、キャンパスエリアネットワーキング(CAN)、メトロポリタンエリアネットワーク(人)、広域通信網(WAN)、無線WAN(WWAN)のうちの1つ又はそれよりも多くなどであるがこれらに制限されない1つ又はそれよりも多くのネットワーク上で与えることができる。
【0026】
一実施形態において、作業空間において発生する作業項目又は他の活動に対して行われたアクションは、リアルタイムで又は準リアルタイムで検出することができる。ホストサーバは、複数の活動の1つ又はそれよりも多くに対して通知又は通知イベントを生成して、各通知に対して1つ又はそれよりも多くの受取り側を選択することができる。その後に、様々な機構又は外部のメッセージ送信アプリケーションを使用して、ウェブインタフェースを通じたものを含む例えば電子メール及び/又はSMSを通じて、協調プラットフォームにアクセスするようにユーザ又は協力者に通知することができる。
【0027】
図2は、ホストされたクラウドファイル共有、協調サービス、及び/又はリモートキー管理サービスを容易にする機能を有するクラウドストレージサービスの1つの例として、作業項目215、235、255及び作業空間205、225、245を編成する企業又は他の組織的環境250に配備されたウェブベース又はオンライン協調プラットフォームの図を示している。
【0028】
プロジェクトに関して協調するか又は共同で文書に対して作業するウェブベースプラットフォームは、個々のユーザが使用して協力者間に共有することができる。更に、会社(例えば、企業環境)、会社内の部署、学術機関、学術機関内の部署、クラス又はコース環境を含むがこれらに限定されない組織化された環境、又はあらゆる他のタイプの組織又は組織化された環境に協調プラットフォームを配備することができる。
【0029】
組織的環境に配備された時に、複数の作業空間(例えば、作業空間A〜N)を作成して、異なるプロジェクト又は様々な作業の流れをサポートすることができる。各作業空間は、固有の関連の作業項目を有することができる。例えば、作業空間A205を作業項目215に関連付けることができ、作業空間A225を作業項目235に関連付けることができ、作業空間Nを作業項目255に関連付けることができる。作業項目215、235、及び255は、各作業空間に固有とすることができるが、固有ではなくてもよい。例えば、特定のワード文書を1つの作業空間(例えば、作業空間A205)にのみ関連付けることができ、又は複数の作業空間(例えば、作業空間A205及び作業空間B225のような)に関連付けることができる。
【0030】
一般的に、各作業空間は、1組のユーザ又はそれに関連付けられた協力者を有する。例えば、作業空間A205は、複数のユーザ又は協力者206に関連付けられる。一部の事例では、企業内に配備された作業空間は、特定の部署とすることができる。例えば、作業空間Bは、部署210及び例示的なユーザA208ように示す数人のユーザに関連付けることができ、作業空間N245は、部署212及び216及び例示的なユーザB214ように示されたユーザに関連付けることができる。
【0031】
作業空間に関連付けられた各ユーザは、作業空間に関連付けられた作業項目に一般的にアクセス可能である。アクセスのレベルは、特定の作業空間及び/又は特定の作業項目に関連付けられた許諾に依存する場合がある。許諾は、作業空間に設定するか、又は作業項目当たりで個々に設定することができる。例えば、作業空間の作成者(例えば、作業空間Bを作成するユーザA208の1人)は、例えば他の関連のユーザ及び/又は提携した部署210に関連付けられたユーザに向けて全ての作業項目235に適用可能な1つの許諾設定を設定することができる。作成者であるユーザA208は、各作業項目に向けて異なる許諾設定を設定することができ、許諾設定は、異なるユーザのための同じである場合もあれば、異なるユーザに向けて変わる場合もある。
【0032】
各作業空間A、B、…、Nでは、アクションが所定のユーザによって作業項目に行われたか又はいずれかの他の活動が作業空間において検出された時に、同じ作業空間における他のユーザに通知することができる(例えば、リアルタイムで、又は準リアルタイムで、又はリアルタイムでではなく)。リアルタイム通知をトリガする活動は、制限ではなく一例として、作業空間における協力者の追加、削除、修正、作業空間における作業項目のアップロード、ダウンロード、追加、削除、作業空間における議論する話題の作成を含むことができる。
【0033】
具体的には、本発明の開示に説明する技術に従ってダウンロード又は編集された項目又はコンテンツ(コンテンツ項目)により、通知を生成することができる。このような通知を関連のユーザに送って、ダウンロード、編集、変更、修正、新しいファイル、対立するバージョン、編集されたか又は修正されたファイルのアップロードを取り囲むアクションを通知することができる。
【0034】
一実施形態において、通知が提示されるウェブベース協調プラットフォームのユーザインタフェースでは、ユーザは、ユーザインタフェースを通じて、アクション項目(例えば、タスク)を作成し、例えば、作業項目215に関連付けられた協力者を含む他のユーザにアクション項目を委任することができる。協力者206は、同じ作業空間A205にいる場合があり、又はユーザは、新たに紹介された協力者を含むことができる。同様に、議論する話題を作業空間(例えば、作業空間A、B又はNのような)において作成することができる同じユーザインタフェースでは、作業項目上のアクション可能なイベントを作成し、及び/又は所定の作業空間206の協力者又は他のユーザのような他のユーザに委任及び/又は割り当てることができる。同じユーザインタフェースを通じて、複数のユーザ又は協力者からのタスクステータス及び更新を示して反映させることができる。一部の事例では、ユーザは、同じユーザインタフェースを通じてタスク(例えば、検閲又は承認又は拒否するなど)を行うことができる。
【0035】
図3は、作業空間にアクセスする権限が与えられた様々なデバイスを通じて複数の協力者322によりアクセス可能なオンライン又はウェブベース協調環境における作業空間の例示的な図を示している。
【0036】
ユーザ316、318、及び320の各々は、複数の異なるデバイスを個々に使用して、自分が関連付けられた作業空間302における作業項目324(例えば、コンテンツ項目)にアクセスし、及び/又は操作することができる。例えば、ユーザ316、318、320は、作業項目324が関連しているプロジェクト上の協力者とすることができる。作業項目324が協調環境(例えば、クラウドベースの環境)によるので、各ユーザは、いつでもかついずれかのデバイスを使用するいずれかの物理的位置から(例えば、自分が有するデバイス又はいずれかの共有/公的/貸与者デバイスを含む)作業項目324にアクセス可能である。
【0037】
プラットフォーム及び/又はアプリケーションとは独立した機構に従って作業空間302から編集又は閲覧作業項目にアクセス可能である。ユーザには、他のユーザによって作業項目324に行われたアクセス、編集、修正、及び/又はアップロード関連のアクション、又は作業空間302において検出されたいずれかの他のタイプの作動を通知することができる。例えば、ユーザ316が文書を修正した場合に、リアルタイム又は準リアルタイムで、又はリアルタイムでではなく、他の協力者318及び320の一方又は両方に修正を通知することができる。電子メール、SMSの1つ又はそれよりも多くを含む様々なフォーマットで、又はユーザが協調プラットフォームにアクセスするのに使用するユーザインタフェース内のポップアップウインドウを通じて所定のユーザに関連付けられたデバイスの全てのうちのいずれかを通じて通知を送ることができる。複数の通知の場合に、ユーザ優先度及び/又はユーザとの関連性(例えば、黙示的又は明示的)に基づいて優先して(例えば、ユーザインタフェース内の順序付け)各通知を示すことができる。
【0038】
例えば、ウェブベース協調環境におけるユーザの現在又は最近の活動に基づいて判断されたユーザとの関連性に従ってユーザデバイス上のユーザインタフェースを通じて、取りわけ、ダウンロード、アクセス、読み取り、書き込み、編集、又はアップロード関連の活動の通知をフィードストリームに提示することができる。
【0039】
一実施形態において、通知フィードストリームは、招待されたユーザが招待状を受諾し、及び/又は既存のユーザからの招待状の受領を通じて新しいアカウントの作成に成功した時の更新を含む。招待されたユーザは、新しいアカウントが作成された状態で、改善した特徴を有するアカウントを受信する。新しいユーザは、招待状を送った既存のユーザに自動的に接続することができる。システムは、両方のユーザに自分たちが共通の作業空間内の協力者でありたいことを問い合わせるように自動的に促すことができる。
【0040】
協調環境(例えば、協調クラウドベース環境)による作業項目には、作業項目に閲覧、編集、処理、又は他の操作を実行することに向けて、複数の異なるデバイス(例えば、デバイス304〜314)を通じてユーザ(例えば、ユーザ316、318、及び320)がアクセス可能である。デバイスは、クラウドベースのプラットフォーム又はサービス又は他のバックエンドウェブサービス(以下「クラウドベースの協調プラットフォームアプリケーション」)使用するサーバにアクセスするアプリケーション、及び作業項目に閲覧、編集、処理、又は他の操作を行うアプリケーションを含むことができる。このようなアプリケーション間の通信は、一般的にOSの通信機構により容易にされる。例えば、Android OSでは、通信機構は、「インテント」に基づいている。上述したように、基本的な通信機構は、一般的にセキュアではなく、アプリケーションの間に渡されるあらゆるデータは、デバイス上の全ての他のアプリケーションに可視である。
【0041】
図4A及び
図4Bは、実施形態によるそれぞれアップロード要求及びアクセス要求に応答してリモートキー管理サービスを容易にする協調クラウドベース環境における構成要素の作動を示す例示的なデータフロー図を示している。より具体的には、
図4A及び
図4Bの例は、企業クライアントがデータ項目(例えば、クラウドベースのプラットフォームにおけるデータファイル)へのアップロード及び/又はアクセスに対する直接の制御を有することを可能にするリモートキー管理サービスを企業クライアントに提供するように構成されたクラウドベースのプラットフォームを示している。
【0042】
図4A及び
図4Bの例に示すように、クラウドベースのプラットフォームは、コンテンツインタフェース412、コンテンツ暗号化/暗号解読エンジン414、キーサービスエンジン416、及びデータストア415を含む。企業クライアントは、リモートキーサービスエンジン420を含む。付加的な又は少数の構成要素/モジュール/エンジンが、クラウドベースのプラットフォーム及び/又は企業クライアントで可能である。
【0043】
アップロード要求に応答してリモートキー管理サービスを容易にするための協調クラウドベース環境400における構成要素の作動を示す
図4Aを最初に参照すると、クラウドベースのプラットフォームは、最初に、コンテンツインタフェース412でコンテンツ要求401を受信する。コンテンツインタフェース412は、コンテンツ要求401を処理し、要求がデータ項目402をアップロードする要求を含むと判断する。コンテンツインタフェースは、その後に、コンテンツ暗号化/暗号解読エンジン414にデータ項目402又はその指示を渡す。コンテンツ暗号化/暗号解読エンジン414は、暗号化キー404を選択し、選択した暗号化キー404を使用して様々な暗号化方法のいずれかに従ってデータ項目を暗号化し、従って、暗号化されたデータ項目403が得られる。
【0044】
コンテンツ暗号化/暗号解読エンジン414は、その後に、キーサービスエンジン416に暗号化キーを渡す。暗号化/暗号解読エンジン414は、データストア415に暗号化されたデータ項目403を渡すことができる。代替的に又は追加的に、暗号化されたデータ項目403(又はそれへのハンドル又はそのインジケータ)をキーサービスエンジン416に渡すことができる。キーサービスエンジン416は、暗号化されたデータ項目403(又はそのハンドル又はインジケータ)を使用して、1つ又はそれよりも多くのキー暗号化キーを暗号化されたデータ項目403に関連付けることができる。1つ又はそれよりも多くのキー暗号化キーは、後でデータストア415内の暗号化されたデータ403に関連付けるか、及び/又はそうでなければこれと共に格納することができる。
【0045】
引き続き
図4Aの例に関して、キーサービスエンジン416は、ローカルキー暗号化キー(KEK)を選択し、ローカルKEKを使用して暗号化キー404を暗号化し、従って、暗号化された暗号化キーが得られる。ローカルKEKは、例えば、ランダムに選択することができる。暗号化を行うために使用されたローカルKEKは、必要に応じて、その後の暗号解読を目的としてシステムによって確認かつ維持される。
【0046】
キーサービスエンジン416はまた、コンテンツ(アップロード)要求401を処理し、コンテンツ要求に対してメタデータ及び理由を識別し、理由に関連付けられたコードを生成する。一例としてかつ非制限的に、メタデータは、要求を開始するインターネットプロトコル(IP)アドレス、要求に関連付けられたユーザ識別子(ID)、要求に関連付けられたファイル識別子(ID)などを含むことができる。他のメタデータも可能である。一例としてかつ非制限的に、理由は、アップロードデータ項目要求を与えるため、ダウンロード又はアクセスデータ項目要求を与えるため、保守要求を与えるため、別のアクションを行う(例えば、テキスト抽出要求を行う)ため、バックエンドサービスなどを与えるためを含むことができる。他の理由も可能である。各理由は、理由コードを用いて符号化することができる。
【0047】
キーサービスエンジン416はまた、リモートキー要求406を生成して企業クライアントに要求を送信する。
図4Aの例に示すように、リモートキー要求406は、暗号化された暗号化キー、生成された理由コード、及び/又はコンテンツ要求401に関連付けられた識別又は生成されたメタデータを含む。例示的なキーサービスエンジン416のコンテンツを
図5に示すと共に
図5を参照してより詳細に説明する。
【0048】
リモートキーサービスエンジン420は、暗号化された暗号化キー、生成された理由コード、及び/又はコンテンツ要求に関連付けられて識別又は生成されたメタデータを含むリモートキー要求を受信し、理由コード及び/又はメタデータを処理し、1つ又はそれよりも多くの予め構成された規則に基づいて要求を受諾すべきか又は拒否すべきかを判断する構成可能な規則処理エンジンを含む。例えば、特定の理由コードを用いて要求を拒否する、特定のIPアドレスからの要求を拒否する、ユーザID基づいて特定のユーザを拒否するなどの規則を生成することができる。例示的なリモートキーサービスエンジン420のコンテンツを
図6に示すと共に
図6を参照してより詳細に説明する。
【0049】
リモートキーサービスエンジン420が要求を受諾した場合に、リモートキーサービスエンジン420は、リモートKEKを選択し、リモートKEKを使用して暗号化された暗号化キーを暗号化し、従って、2回暗号化されたキー408が得られる。リモートキーサービスエンジン420は、その後に、2回暗号化されたキー408及びリモートKEKを用いてリモートキー要求406に応答する。代替的に、リモートKEK及び/又は2回暗号化されたキー408は、企業クライアントに関連付けられたリモートデータストアに格納することができる。
【0050】
最後に、キーサービスエンジン416は、データストアに2回暗号化されたキー408、リモートKEK、及びローカルKEKをデータストア415に格納するように指示する。2回暗号化されたキー408、リモートKEK、及びローカルKEKは、データストア415に格納するか、及び/又はそうでなければデータストア415内の対応する暗号化されたデータ項目403に関連付けることができる。代替的に、リモートKEK及び/又は2回暗号化されたキーが遠隔操作で格納された場合に、KEK及び/又は2回暗号化されたキーに関する情報(例えば、ID)は、暗号化されたデータ項目403に関連付けるか、及び/又は暗号化されたデータ項目403と共に格納することができる。
【0051】
アクセス要求に応答してリモートキー管理サービスを容易にするための協調クラウドベース環境400における構成要素の作動を示す別の例データフロー図を示す
図4Bを次に参照すると、クラウドベースのプラットフォームは、最初に、コンテンツインタフェース412でコンテンツ要求431を受信する。コンテンツインタフェース412は、コンテンツ要求431を処理し、要求がデータ項目445にアクセス(又はダウンロード)する要求を含むと判断し、キーサービスエンジン416にアクセス要求433を渡す。
【0052】
キーサービスエンジン416は、最初に、要求されたデータ項目445がリモートキー管理機能性に関連付けられるか否かを判断する。例えば、各データ項目は、企業に関連付けることができ、キーサービスエンジン416は、データ項目に関連付けられた企業を識別して、企業がキー管理機能性を有するか否かを判断することができる。代替的に又は追加的に、企業又はクライアントは、個別的に(又は項目単位で)キーを取り扱い及び/又はそうでなければ管理することができる。
図4B7の例では、キーサービスエンジン416は、要求されたデータ項目445がリモートキー管理機能性に関連付けられると判断する。
【0053】
キーサービスエンジン416は、その後に、データ項目445及びアクセスに関連付けられた情報を判断し及び/又はそうでなければ識別してデータストア415からこの情報を受信又は検索する。
図4Bの例では、データ項目445に関連付けられた情報は、2回暗号化されたキー435、リモートKEK、及びローカルKEKを含む。上述したように、一部の実施形態において、リモートKEK及び/又は2回暗号化されたキーは、遠隔操作で格納することができる。キーサービスエンジン416は、コンテンツ(アクセス)要求431を処理し、コンテンツ要求に対してメタデータ及び理由を識別して、理由に関連付けられたコードを生成する。キーサービスエンジン416は、その後に、2回暗号化されたキー、理由コード、メタデータ、及びリモートKEKを含むリモートキー要求437を生成する。例示的なキーサービスエンジン416のコンテンツを
図5に示すと共に
図5を参照してより詳細に説明する。
【0054】
上述したように、リモートキーサービスエンジン420は、2回暗号化された暗号化キー、生成された理由コード、コンテンツ要求に関連付けられて識別又は生成されたメタデータ、及び/又はリモートKEKを含むリモートキー要求を受信する構成可能な規則処理エンジンを含む。リモートキーサービスエンジン420は、理由コード及び/又はメタデータを処理して、1つ又はそれよりも多くの予め構成された規則に基づいて要求を受諾すべきか又は拒否すべきかを判断する。上述したように、特定の理由コードを用いて要求を拒否する、特定のIPアドレスからの要求を拒否する、ユーザIDなどに基づいて特定のユーザを拒否するなどの規則を生成することができる。例示的なリモートキーサービスエンジン420のコンテンツを
図6に示すと共に
図6を参照してより詳細に説明する。
【0055】
リモートキーサービスエンジン420が要求を受諾した場合に、リモートキーサービスエンジン420は、リモートKEKを使用して2回暗号化されたキーを暗号解読して、キーサービスエンジン416に1回暗号化されたキー439を戻す。キーサービスエンジン416は、1回暗号化されたキー439を受信するとローカルKEKを使用して1回暗号化されたキー439を暗号解読し、従って、暗号化キー441が得られる。キーサービスエンジン416は、その後に、暗号化されたデータ項目443を暗号解読し、従って、データ項目445が得られるようにコンテンツ暗号化/暗号解読エンジン414に暗号化キー441を供給する。コンテンツ暗号化/暗号解読エンジン414は、コンテンツインタフェース412にデータ項目445を供給し、コンテンツインタフェース412は、次に、データ項目445を用いてコンテンツ要求431に応答する。
【0056】
図5は、協調クラウドベース環境においてリモートキー管理サービスを容易にするためのキーサービスエンジン500における構成要素の例を示すブロック図を示している。キーサービスエンジン500は、
図4A及び
図4Bのキーサービスエンジン416とすることができるが、代替構成も可能である。
【0057】
キーサービスエンジン500は、一般的にクラウドベースのサービスとすることができるウェブベース又はオンライン協調環境の一部とすることができる。キーサービスエンジン500は、例えば、要求インタフェース505、キーサービスプロキシ510、キー暗号化/暗号解読エンジン515、理由生成エンジン520、メタデータエンジン525、及び企業クライアントインタフェース530を含むことができる。付加的な又はより少ない構成要素/モジュール/エンジンをキーサービスエンジン500及び/又は各示す構成要素内に含めることができる。更に、キーサービスエンジン500の一部として含まれると示されているが、構成要素/モジュール/エンジンは、物理的に及び/又は機能的に分散させることができる。
【0058】
要求インタフェース505は、クラウドベースのプラットフォームの他の構成要素と通信するように構成することができる。同様に、企業クライアントインタフェース530は、リモートクライアントデバイス(例えば、企業クライアントコンピュータ又はデバイス)の構成要素と通信するように構成することができる。
【0059】
要求インタフェース505及び/又は企業クライアントインタフェース530キーサービスエンジン500は、ホスト及び外部エンティティによりサポートされたいずれかの公知の及び/又は便利な通信プロトコルを通じてキーサービスエンジン500の外部であるエンティティとネットワークにおけるデータを仲介することを可能にするネットワークモジュールとすることができる。例えば、要求インタフェース505及び/又は企業クライアントインタフェース530は、ネットワークアダプタカード、無線ネットワークインタフェースカード(例えば、SMSインタフェース、WiFiインタフェース、1G、2G、3G、3.5G、4G、LTEなどを含むがこれらに限定されない移動通信規格の様々な生成のためのインタフェース)、Bluetooth(登録商標)、ルータ、アクセスポイント、無線ルータ、スイッチ、多層スイッチ、ブロトコルコンバータ、ゲートウェイ、ブリッジ、ブリッジルータ、ハブ、デジタルメディア受信機、及び/又は中継器のうちの1つ又はそれよりも多くを含むことができるネットワークインタフェースとすることができる。
【0060】
本明細書で使用する時の「モジュール」、「マネージャ」、「ハンドラ」、「検出器」、「インタフェース」、又は「エンジン」は、汎用、専用、又は共有プロセッサ、及び典型的にプロセッサによって実行されるファームウエア又はソフトウエアモジュールを含む。実施特定の又は他の考慮事項により、モジュール、マネージャ、ハンドラ、又はエンジンは、集中型又は機能分散型とすることができる。モジュール、マネージャ、ハンドラ、又はエンジンは、プロセッサによる実行に向けてコンピュータ可読(ストレージ)媒体において実施される汎用又は専用ハードウエア、ファームウエア、又はソフトウエアを含むことができる。本明細書で使用する時のコンピュータ可読媒体又はコンピュータ可読ストレージ媒体は、全て、制定法に従う(例えば、米国においては「35 U.S.C. 101」に従う)媒体を含み、かつ特に除外が有効であるべきコンピュータ可読(ストレージ)媒体を含む特許請求の範囲に必要である範囲で本質的に制定法に従うものではない全ての媒体を除外することを意図される。公知の制定法に従うコンピュータ可読媒体はハードウエア(例えば、少し例を挙げればレジスタ、ランダムアクセスメモリ(RAM)、不揮発性(NV)データストア)を含むが、ハードウエアに制限される場合もあれば、制限されない場合もある。
【0061】
キーサービスエンジン500の一実施形態は、コンテンツ要求によって示されたデータ項目がリモートキー管理機能性に関連付けられるという判断に応答してリモートキー要求を開始するように構成されたいずれかのデバイスを含むことができるキーサービスプロキシ510を含む。
【0062】
キーサービスエンジン500の一実施形態は、暗号化キーに向けて暗号化及び暗号解読の第1の層を与えることができるキー暗号化/暗号解読エンジン515を含む。アップロード要求中に、
図4Aで上述したように、キー暗号化/暗号解読エンジン515は、受信したデータ項目を暗号化するために選択及び使用される暗号化キーを暗号化する。例えば、キー暗号化/暗号解読エンジン515は、暗号化キーを暗号化するキー暗号化キーを選択することができる。一実施形態において、キー暗号化キーはランダムに選択されるが、キー暗号化キーは、他の方法で選択することもできる。キーの暗号化が完全である状態で、キーサービスエンジン500は、データストア内にキー暗号化キー(KEK)を格納することができる。1つ又はそれよりも多くの実施形態において、本明細書に説明する構成要素により転送されるKEKは、キー暗号化キー識別子(ID)とすることができる。
【0063】
アクセス(又はダウンロード)要求中に、
図4Bで上述したように、キー暗号化/暗号解読エンジン515は、データストア(又はメモリ)からキー暗号化キーにアクセスし、キー暗号化キーを使用して、2回暗号化されたキーを暗号解読するリモートキー要求に応答して受信した1回暗号化されたキーを暗号解読することができる。
【0064】
キーサービスエンジン500の一実施形態は、コンテンツ要求を処理し、コンテンツ要求に関連付けられた理由を識別して、これに応答して対応する理由コードを生成することができる理由生成エンジン520を含む。
【0065】
キーサービスエンジン500の一実施形態は、受信したコンテンツ要求を処理してコンテンツ要求に関連付けられたメタデータを識別することができるメタデータエンジン525を含む。一実施形態において、リモートキー要求は、メタデータを含むことができる。
【0066】
図6は、協調クラウドベース環境においてリモートキー管理サービスを容易にするためのリモートキーサービスエンジン600における構成要素の例を示すブロック図を示している。リモートキーサービスエンジン600は、
図4A及び
図4Bのキーサービスエンジン420とすることができるが、代替構成も可能である。
【0067】
リモートキーサービスエンジン600は、一般的にクラウドベースのサービスとすることができるウェブベース又はオンライン協調環境の一部とすることができる。リモートキーサービスエンジン600は、例えば、プラットフォームインタフェース605、キー暗号化/暗号解読エンジン610、規則構成エンジン615、規則処理エンジン620、キルスイッチ625、及びクライアント構成インタフェース630を含むことができる。付加的な又はより少ない構成要素/モジュール/エンジンをリモートキーサービスエンジン600及び/又は各示す構成要素内に含めることができる。更に、リモートキーサービスエンジン600の一部として含まれると示されているが、構成要素/モジュール/エンジンは、物理的に及び/又は機能的に分散させることができる。更に、一部の実施形態において、リモートキーサービスエンジン600は、キーサービスエンジン500とすることができ、各々は、同じ構成要素の1つ又はそれよりも多くを有する。
【0068】
プラットフォームインタフェース605は、例えば、
図5のキーサービスエンジン500のようなクラウドベースのプラットフォームの構成要素と通信するように構成することができる。同様に、クライアント構成インタフェース630は、クライアント(例えば、企業クライアントコンピュータ又はデバイス)が規則構成エンジン615を通じて規則を構成することを可能にするように構成することができる。
【0069】
プラットフォームインタフェース605及び/又はクライアント構成インタフェース630は、リモートキーサービスエンジン600が、ホスト及び外部エンティティによりサポートされたいずれかの公知の及び/又は便利な通信プロトコルを通じてリモートキーサービスエンジン600の外部であるエンティティとネットワークにおけるデータを仲介することを可能にするネットワークモジュールとすることができる。例えば、プラットフォームインタフェース605及び/又はクライアント構成インタフェース630は、ネットワークアダプタカード、無線ネットワークインタフェースカード(例えば、SMSインタフェース、WiFiインタフェース、1G、2G、3G、3.5G、4G、LTEなどを含むがこれらに限定されない移動通信規格の様々な生成のためのインタフェース)、Bluetooth(登録商標)、ルータ、アクセスポイント、無線ルータ、スイッチ、多層スイッチ、ブロトコルコンバータ、ゲートウェイ、ブリッジ、ブリッジルータ、ハブ、デジタルメディア受信機、及び/又は中継器のうちの1つ又はそれよりも多くを含むことができるネットワークインタフェースとすることができる。
【0070】
本明細書で使用する時の「モジュール」、「マネージャ」、「ハンドラ」、「検出器」、「インタフェース」、又は「エンジン」は、汎用、専用、又は共有プロセッサ、及び典型的にプロセッサによって実行されるファームウエア又はソフトウエアモジュールを含む。実施特定の又は他の考慮事項により、モジュール、マネージャ、ハンドラ、又はエンジンは、集中型又は機能性分散型とすることができる。モジュール、マネージャ、ハンドラ、又はエンジンは、プロセッサによる実行に向けてコンピュータ可読(ストレージ)媒体において実施される汎用又は専用ハードウエア、ファームウエア、又はソフトウエアを含むことができる。本明細書で使用する時のコンピュータ可読媒体又はコンピュータ可読ストレージ媒体は、全て、制定法に従う(例えば、米国においては「35 U.S.C. 101」に従う)媒体を含み、かつ特に除外が有効であるべきコンピュータ可読(ストレージ)媒体を含む特許請求の範囲に必要である範囲で本質的に制定法に従うものではない全ての媒体を除外することを意図される。公知の制定法に従うコンピュータ可読媒体はハードウエア(例えば、少し例を挙げればレジスタ、ランダムアクセスメモリ(RAM)、不揮発性(NV)データストア)を含むが、ハードウエアに制限される場合もあれば、制限されない場合もある。
【0071】
キーサービスエンジン600の一実施形態は、リモートクライアントデバイスにおいて暗号化キーに向けて暗号化及び暗号解読の第2の層を与えることができるキー暗号化/暗号解読エンジン610を含む。リモート暗号化要求中に、
図4Aで上述したように、キー暗号化/暗号解読エンジン610は、リモートキー暗号化キーを使用して受信した1回暗号化された暗号化キーを暗号化する。一実施形態において、キー暗号化/暗号解読エンジン610は、その後に、クラウドベースのプラットフォームのキーサービスエンジンに2回暗号化された暗号化キー及び/又はリモートKEKを供給することができる。リモート暗号解読要求中に、
図4Bで上述したように、キー暗号化/暗号解読エンジン610は、リモートキー暗号化キーを使用して2回暗号化された暗号化キーを暗号解読する。
【0072】
リモートキーサービスエンジン600の一実施形態は、規則のクライアント構成を容易にすることができる規則構成エンジン615を含む。例えば、特定の理由コードを用いて要求を拒否する、特定のIPアドレスからの要求を拒否する、ユーザID基づいて特定のユーザを拒否するなどの規則を生成することができる。
【0073】
リモートキーサービスエンジン600の一実施形態は、暗号化された暗号化キー、生成された理由コード、及び/又はコンテンツ要求に関連付けられて識別又は生成されたメタデータを含むリモートキー要求を受信し、理由コード及び/又はメタデータを処理して1つ又はそれよりも多くの予め構成された規則に基づいて要求を受諾すべきか又は拒否すべきかを判断することができる規則処理エンジン620を含む。例えば、特定の理由コードを用いて要求を拒否する、特定のIPアドレスからの要求を拒否する、ユーザID基づいて特定のユーザを拒否するなどの規則を生成することができる。例示的なリモートキーサービスエンジン420のコンテンツを
図6に示すと共に
図6を参照してより詳細に説明する。
【0074】
リモートキーサービスエンジン600の一実施形態は、予め構成された規則及び理由とは無関係に設定することができるキルスイッチを含む。設定された状態で、キルスイッチは、予め構成された規則及び理由とは無関係にリモートキー要求を拒否する。
【0075】
図7は、コンテンツ項目アップロード要求に応答して協調クラウドベース環境においてリモートキー管理サービスを容易にするための例示的な処理を示す流れ
図700を示している。例えば、
図4A及び
図4Bのクラウドベースのプラットフォームのようなクラウドベースのプラットフォームの構成要素は、取りわけ、例示的な処理700を行うことができる。
【0076】
開始するために、処理710で、クラウドベースのプラットフォームは、生ファイル(例えば、コンテンツ又はデータ項目)のアップロードに向けて要求を受信する。アップロードの要求を協調クラウドベース環境内部にある別の機械、ウェブアプリケーションサーバ、外部ユーザ(協力者)機械などから受信することができる。一実施形態において、例えば、
図4A及び
図4Bのコンテンツインタフェース412のようなコンテンツインタフェースは、クラウドベースのプラットフォームでアップロードの要求を受信することができる。処理712で、クラウドベースのプラットフォームは、暗号化キーを使用して生ファイルを暗号化する。一実施形態において、例えば、
図4A及び
図4Bの暗号化/暗号解読エンジン414のようなコンテンツ暗号化/暗号解読エンジンは、生ファイルを暗号化することができる。
【0077】
処理714で、クラウドベースのプラットフォームは、ローカルキー暗号化キー(KEK)を使用して暗号化キーを暗号化する。一実施形態において、例えば、
図4A及び
図4Bのキーサービスエンジン416のようなキーサービスエンジンは、ローカルKEKを使用して暗号化キーを暗号化することができる。キーサービスエンジンは、ランダムに又はいずれかの他の公知の方法でローカルKEKを選択することができる。
【0078】
判断処理716で、クラウドベースのプラットフォームは、コンテンツ(アップロード)要求及び/又は特定のコンテンツ項目がリモートキー管理機能性に関連付けられるか否かを判断する。一実施形態において、例えば、
図4A及び
図4Bのキーサービスエンジン416のようなキーサービスエンジンは、リモートキー管理の判断を行うことができる。例えば、各データ項目は、企業に関連付けることができ、キーサービスエンジンは、データ項目に関連付けられた企業を識別して、企業がキー管理機能性を有するか否かを判断することができる。代替的に又は追加的に、企業又はクライアントは、個別的に(又は項目単位で)キーを取り扱い及び/又はそうでなければ管理することができる。すなわち、キーサービスエンジンは、要求されたデータ項目がリモートキー管理機能性に関連付けられると判断することができる。
【0079】
コンテンツ(アップロード)要求及び/又は特定のコンテンツ項目がリモートキー管理機能性に関連付けられていない場合に、処理718で、クラウドベースのプラットフォームは、暗号化されたコンテンツ又はデータ項目及び関連の1回暗号化された暗号化キー及びローカルKEKをデータストアに格納する。しかし、コンテンツ(アップロード)要求及び/又は特定のコンテンツ項目がリモートキー管理機能性に関連付けられている場合に、処理720で、クラウドベースのプラットフォームは、コンテンツ要求に関連付けられたメタデータを識別して、処理722で、コンテンツ要求に関連付けられた理由コードを判断する。一実施形態において、例えば、
図4A及び
図4Bのキーサービスエンジン416のようなキーサービスエンジンは、本明細書に説明するように、コンテンツ要求に関連付けられたメタデータを識別し、理由を判断し、かつ対応する理由コードを生成することができる。
【0080】
一実施形態において、コンテンツ要求に関連付けられたメタデータを識別する段階は、コンテンツ要求に関連付けられた補助的情報を識別し及び/又は他の方法で判断する段階を含む。例えば、メタデータは、要求を開始するインターネットプロトコル(IP)アドレス、要求に関連付けられたユーザ識別子(ID)、要求に関連付けられたファイル識別子(ID)などを含むことができるが、これらに限定されない。他のメタデータも可能である。
【0081】
一実施形態において、理由コードを判断する段階は、最初にコンテンツ要求の理由を識別し、その後に、理由に関連付けられたコードを生成する段階を含む。一例としてかつ非制限的に、理由は、アップロードデータ項目要求を与えるため、ダウンロード又はアクセスデータ項目要求を与えるため、保守要求を与えるため、別のアクションを行う(例えば、テキスト抽出要求を行う)ため、バックエンドサービスなどを与えるためなどを含むことができる。他の理由も可能である。各理由は、理由コードを用いて符号化することができる。
【0082】
処理724で、クラウドベースのプラットフォームは、暗号化された暗号化キーを暗号化するリモートキー要求を開始する。本明細書に説明するように、リモートキー要求は、暗号化された暗号化キー(本明細書では1回暗号化された暗号化キーとも呼ばれる)、コンテンツ要求に関連付けられて識別又は生成されたメタデータ、及び生成された理由コードを含む。例えば、
図4A及び
図4Bのキーサービスエンジン416のようなキーサービスエンジンは、リモートキー管理要求を開始することができる。
【0083】
判断処理726で、リモート企業クライアントシステムは、理由がokであるか否かを判断する。例えば、
図4A及び
図4Bのリモートキーサービスエンジン420のようなリモートキーサービスエンジンは、その理由が許容可能であると判断することができる。より具体的には、例えば、
図6の規則処理エンジン620のような規則処理エンジンは、この判断を行うことができる。リモート企業クライアントシステムが、理由が許容可能でない(すなわち、理由は拒否される)と判断した場合に、処理728で、クラウドベースのプラットフォームは、拒否を受信し、任意的に処理730でコンテンツ要求要求側(例えば、コンテンツ要求を開始するシステム又はユーザ)に通知する。
【0084】
処理732で、クラウドベースのプラットフォームは、2回暗号化された暗号化キー及びリモートKEKを受信し、処理734で、関連付けられた2回暗号化された暗号化キー、ローカルKEK、及びリモートKEKと共に暗号化ファイルを格納する。最後に、処理736で、クラウドベースのプラットフォームは、コンテンツ項目要求側に任意的に確認応答を供給する。一実施形態において、確認は、コンテンツ要求受信後のいずれの時間にも行うことができる。
【0085】
図8は、コンテンツ項目アクセス要求に応答して協調クラウドベース環境においてリモートキー管理サービスを容易にするための例示的な処理800を示す流れ
図800を示している。例えば、
図4A及び
図4Bのクラウドベースのプラットフォームのようなクラウドベースのプラットフォームの構成要素は、取りわけ、例示的な処理800を行うことができる。
【0086】
開始するために、処理810で、クラウドベースのプラットフォームは、ファイル(例えば、コンテンツ又はデータ項目)をダウンロードするためにアクセス要求を受信する。アクセスの要求は、協調クラウドベース環境内部にある別の機械、ウェブアプリケーションサーバ、外部ユーザ(協力者)機械などから受信することができる。一実施形態において、例えば、
図4A及び
図4Bのコンテンツインタフェース412のようなコンテンツインタフェースは、クラウドベースのプラットフォームでアップロードの要求を受信することができる。
【0087】
判断処理812で、クラウドベースのプラットフォームは、コンテンツ(アクセス)要求及び/又は特定のコンテンツ項目がリモートキー管理機能性に関連付けられるか否かを判断する。一実施形態において、例えば、
図4A及び
図4Bのキーサービスエンジン416のようなキーサービスエンジンは、リモートキー管理の判断を行うことができる。例えば、各データ項目は、企業に関連付けることができ、キーサービスエンジンは、データ項目に関連付けられた企業を識別して、企業がキー管理機能性を有するか否かを判断することができる。代替的に又は追加的に、企業又はクライアントは、個別的に(又は項目単位で)キーを取り扱い及び/又はそうでなければ管理することができる。すなわち、キーサービスエンジンは、要求されたデータ項目がリモートキー管理機能性に関連付けられると判断することができる。
【0088】
コンテンツ(アクセス)要求及び/又は特定のコンテンツ項目がリモートキー管理機能性に関連付けられていない場合に、処理は、以下の処理832で続行される。しかし、コンテンツ(アクセス)要求及び/又は特定のコンテンツ項目がリモートキー管理機能性に関連付けられている場合に、処理814で、クラウドベースのプラットフォームは、コンテンツ要求に関連付けられたメタデータを識別し、処理816で、コンテンツ要求に関連付けられた理由コードを判断する。一実施形態において、例えば、
図4A及び
図4Bのキーサービスエンジン416のようなキーサービスエンジンは、本明細書に説明するように、コンテンツ要求に関連付けられたメタデータを識別し、理由を判断し、かつ対応する理由コードを生成することができる。
【0089】
一実施形態において、コンテンツ要求に関連付けられたメタデータを識別する段階は、コンテンツ要求に関連付けられた補助的情報を識別し及び/又は他の方法で判断する段階を含む。例えば、メタデータは、要求を開始するインターネットプロトコル(IP)アドレス、要求に関連付けられたユーザ識別子(ID)、要求に関連付けられたファイル識別子(ID)などを含むことができるが、これらに限定されない。他のメタデータも可能である。
【0090】
一実施形態において、理由コードを判断する段階は、最初にコンテンツ要求の理由を識別し、その後に、理由に関連付けられたコードを生成する段階を含む。一例としてかつ非制限的に、理由は、アップロードデータ項目要求を与えるため、ダウンロード又はアクセスデータ項目要求を与えるため、保守要求を与えるため、別のアクションを行う(例えば、テキスト抽出要求を行う)ため、バックエンドサービスなどを与えるためなどを含むことができる。他の理由も可能である。各理由は、理由コードを用いて符号化することができる。
【0091】
処理822で、クラウドベースのプラットフォームは、データストアから2回暗号化された暗号化キー、ローカルKEK、及びリモートKEKにアクセスする。処理824で、クラウドベースのプラットフォームは、暗号化された暗号化キーを暗号化するリモートキー要求を開始する。本明細書に説明するように、リモートキー要求は、2回暗号化された暗号化キー、コンテンツ要求に関連付けられて識別又は生成されたメタデータ、生成された理由コード、及びリモートKEKを含む。例えば、
図4A及び
図4Bのキーサービスエンジン416のようなキーサービスエンジンは、リモートキー管理要求を開始することができる。
【0092】
判断処理824で、リモート企業クライアントシステムは、理由がokであるか否かを判断する。例えば、
図4A及び
図4Bのリモートキーサービスエンジン420のようなリモートキーサービスエンジンは、その理由が許容可能であると判断することができる。より具体的には、例えば、
図6の規則処理エンジン620のような規則処理エンジンは、この判断を行うことができる。リモート企業クライアントシステムが、理由が許容可能でない(すなわち、理由は拒否される)と判断した場合に、処理826で、クラウドベースのプラットフォームは、拒否を受信し、任意的に処理828でコンテンツ要求要求側(例えば、コンテンツ要求を開始するシステム又はユーザ)に通知する。
【0093】
処理830で、クラウドベースのプラットフォームは、1回暗号化された暗号化キーを受信し、処理832で、データストアからコンテンツ要求に関連付けられて暗号化されたデータ項目にアクセスする。様々な実施形態において、クラウドベースのプラットフォームは、ローカルKEKが処理818で以前にアクセスされなかった場合に、データストアからローカルKEKにアクセス可能である。
【0094】
処理834で、クラウドベースのプラットフォームは、ローカルKEKを使用して暗号化されたデータ暗号化キーを暗号解読する。
【0095】
処理836で、クラウドベースのプラットフォームは、暗号化されていない暗号化キーを使用して暗号化されたデータ項目を暗号解読する。最後に、クラウドベースのプラットフォームは、コンテンツ要求に応答して暗号解読されたファイルコンテンツ項目を要求側に供給する。
【0096】
図9は、機械をして本明細書に説明する方法のいずれか1つ又はそれよりも多くを行わせる1組の命令を実行することができるコンピュータシステムの例示的な形態の機械の概略図を示している。
【0097】
代替的な実施形態において、機械は、独立型デバイスとして作動するか、又は他の機械に接続することができる(例えば、ネットワーク化)。ネットワーク化された配備では、機械は、サーバ/クライアントネットワーク環境におけるサーバ又はクライアント機械の機能で、又はピア・ツー・ピア(又は分散型)ネットワーク環境におけるピア機械で作動させることができる。
【0098】
機械は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、ラップトップコンピュータ、セットトップボックス(STB)、携帯情報端末(PDA)、セルラー電話、iPhone、iPad、ブラックベリー、プロセッサ、電話、ウェブ機器、ネットワークルータ、スイッチ又はブリッジ、コンソール、手持ち式コンソール、(手持ち式)ゲーム機、音楽プレーヤ、いずれかの携帯式、モバイル、手持ち式デバイス、又はその機械により取るべきアクションを指定する1組の命令(順次的な又は他の方法の)を実行することができるいずれかの機械とすることができる。
【0099】
機械可読媒体又は機械可読ストレージ媒体を単一の媒体であるように例示的な実施形態に示すが、「機械可読媒体」及び「機械可読ストレージ媒体」という用語は、1つ又はそれよりも多くの組の命令を格納する単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース及び/又は関連のキャッシュ及びサーバ)を含むと取るべきである。「機械可読媒体」及び「機械可読ストレージ媒体」という用語は、機械による実行に向けて1組の命令を格納、符号化、又は担持することができ、かつ機械をして本発明に開示する技術及び革新の方法のいずれか1つ又はそれよりも多くを行わせるあらゆる媒体も含むと取るものとする。
【0100】
一般的に、本発明の開示の実施形態を実施するために実行されるルーチンは、オペレーティングシステム又は特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、又は「コンピュータプログラム」と呼ぶ命令のシーケンスの一部として実施することができる。コンピュータプログラムは、一般的に、コンピュータ内の様々なメモリ及びストレージデバイスにおいて様々な時に設定され、かつコンピュータ内の1つ又はそれよりも多くの処理ユニット又はプロセッサにより読み込まれて実行された時にコンピュータをして本発明の開示の様々な態様に関わっている要素を実行する演算を行わせる1つ又はそれよりも多くの命令を含む。
【0101】
更に、実施形態を完全に機能するコンピュータ及びコンピュータシステムとの関連に説明したが、当業者は、様々な実施形態を様々な形態でプログラム製品として販売することができ、かつ本発明の開示は、実際に販売を行うために使用される特定のタイプの機械又はコンピュータ可読媒体とは無関係に等しく適用されることを認識するであろう。
【0102】
機械可読ストレージ媒体、機械可読媒体、又はコンピュータ可読(ストレージ)媒体の更に別の例は、取りわけ、揮発性及び不揮発性メモリデバイス、フロッピー(登録商標)ディスク及び他の着脱式のディスク、ハードディスクドライブ、光ディスク(例えば、コンパクトディスク読取専用メモリ(CD−ROM)、デジタルビデオディスク(DVD)など)のような記録することができるタイプの媒体、及びデジタル及びアナログ通信リンクのような送信タイプ媒体を含むがこれらに限定されない。
【0103】
ネットワークインタフェースデバイスは、機械700が、ホスト及び外部エンティティによりサポートされるいずれかの公知の及び/又は便利な通信プロトコルを通じてホストサーバの外部にあるエンティティとネットワーク内でデータを仲介することを可能にする。ネットワークインタフェースデバイスは、ネットワークアダプタカード、無線ネットワークインタフェースカード、ルータ、アクセスポイント、無線ルータ、スイッチ、多層スイッチ、プロトコルコンバータ、ゲートウェイ、ブリッジ、ブリッジルータ、ハブ、デジタルメディア受信機、及び/又は中継器のうちの1つ又はそれよりも多くを含むことができる。
【0104】
ネットワークインタフェースデバイスは、一部の実施形態において、コンピュータネットワーク内でプロキシデータにアクセスする許諾を抑制及び/又は管理し、かつ異なる機械及び/又はアプリケーション間の異なるレベルの委託を追跡することができるファイアウォールを含むことができる。ファイアウォールは、例えば、これらの異なるエンティティ間のトラヒック及びリソース共有の流れを調節するために特定の1組の機械とアプリケーション、機械と機械、及び/又はアプリケーションとアプリケーション間の所定の組のアクセス権を実施することができるハードウエア及び/又はソフトウエア構成要素のいずれかの組合せを有するあらゆる数のモジュールとすることができる。ファイアウォールは、更に、例えば、個人、機械、及び/又はアプリケーションによるオブジェクトのアクセス及び運用権、及び許諾の権利が成り立つ状況を含む許諾を詳細に示すアクセス制御リストを管理及び/又はそれへのアクセスを有する。
【0105】
ファイアウォールの機能に実施するか又はそれに含めることができる他のネットワークセキュリティ機能は、例えば、本発明の開示の新しい技術から逸脱することなく、侵入防止、侵入検出、次世代ファイアウォール、パーソナルファイアウォールなどとすることができるがこれらに制限されない。
【0106】
文脈上明確に逆が要求されない限り、本発明の説明及び特許請求の範囲を通じて「comprise」及び「comprising」などのような語は、排他的又は網羅的な意味ではなく、包含的な意味、すなわち、「を含むがこれに限定されない」という意味で解釈されなければならない。本明細書で使用する時の用語「接続された」、「結合された」、又はそのいずれかの変形は、2つ又はそれよりも多くの要素間の直接的、間接的とは無関係のあらゆる接続又は結合を意味すると共に、要素間の結合又は接続は、物理的なもの、論理的なもの、又はその組合せとすることができる。更に、本出願に使用する時の「本明細書」、「上記」、「下記」、及び類似の趣旨の語は、全体として本出願を指し、本出願のいずれの特定の部分も指すのではないものとする。文脈が許す場合に、単数又は複数を使用する上述の「発明を実施するための形態」内の言葉は、それぞれ複数又は単数を含むことができる。2つ又はそれよりも多くの項目のリストに関連した「又は」という語は、リスト内の項目のいずれか、リスト内の項目の全て、及びリスト内の項目のいずれかの組合せといった語の解釈の全てを包含する。
【0107】
本発明の開示の実施形態の上述の詳しい説明は、網羅的であること又は先に開示した正確な形態に教示を制限することを意図しているものではない。本発明の開示の特定の実施形態及び本発明の開示の例は、例示を目的として本明細書に説明しているが、当業技術の当業者が認識するように、様々な同等の修正が本発明の範囲で可能である。例えば、処理又はブロックは、所定の順序に示されているが、代替的な実施形態において、異なる順序で段階を有するルーチンを実行するか、又はブロックを有するシステムを使用することができ、代案及び/又は部分組合せを与えるために、一部の処理又はブロックは、削除、追加、細分化、結合、及び/又は変更することができる。これらの処理又はブロックの各々は、様々な異なる方法で行うことができる。また、処理又はブロックは、連続で行われるように示されているが、これらの処理又はブロックは、代わりに並列に行うことができ、又は異なる時間に行うことができる。更に、本明細書に説明したいずれの特定の番号も例にすぎず、代替的な実施では、異なる値又は範囲を使用することができる。
【0108】
本明細書に示す本発明の開示の教示は、必ずしも上述のシステムではなく他のシステムにも適用することができる。上述の様々な実施形態の要素及び行為は、更に別の実施形態を与えるために結合することができる。
【0109】
添付出願文書に列挙することができる一切を含むあらゆる特許及び出願及び上述の他の参考文献は、引用により本明細書に組み込まれている。本発明の開示の態様は、必要に応じて、本発明の開示の更に別の実施形態を与えるために上述の様々な参考文献のシステム、機能、及び概念を使用するように修正することができる。
【0110】
上述の「発明を実施するための形態」に照らして上記及び他の変更を本発明の開示に行うことができる。以上の説明では本発明の開示のある一定の実施形態を説明して発明を実施するための形態を説明したが、上記が本文中でいかに詳細に説明されていても、本発明の教示は、様々な方法で実施することができる。システムの細部は、例の詳細ではかなり変わる場合があるが、依然として本明細書に開示する主題により包含される。上述したように、本発明の開示のある一定の特徴又は態様を説明する時に使用した特定の用語は、その用語が関連する本発明の開示のいずれかの特定の特性、特徴、又は態様に制限されるように用語が本明細書で定義し直されたことを意味すると取るべきではない。一般的に、上述の「発明を実施するための形態」の節で明示的にこのような条件を定義しない限り、特許請求の範囲に使用される用語は、本明細書に開示する特定の実施形態に本発明の開示を限定すると解釈すべきでない。従って、本発明の開示の実際の範囲は、開示する実施形態だけではなく、特許請求の範囲に従って本発明の開示を実行する又は実施する全ての同等の方法も包含する。
【0111】
本発明の開示のある一定の態様は、ある一定の請求項の形態で以下に呈示されているが、本発明者は、あらゆる数の請求項の形態で本発明の開示の様々な態様を考えている。例えば、本発明の開示の1つの態様のみが「35 U.S.C.§112」第6項に従って手段及び機能の請求項として説明されるが、他の態様も、同様に手段及び機能の請求項として又はコンピュータ可読媒体に具現化されるなどで他の形態に具現化することができる。(「35 U.S.C.§112」第6項に従って取り扱われることを意図したいずれの請求項も「するための手段」という語で始まることになる。)従って、本出願人は、本発明の開示の他の態様に対してこのような追加の請求項の形態を求めるために、本出願を出願後に付加的な請求項を追加する権利を保持する。