JP6009083B2 - 企業情報管理方針に従ったキー及びデータ交換を伴うセキュアアプリエコシステムを提供する方法、非一過性コンピュータ可読媒体、及びモバイルコンピューティングデバイス - Google Patents

企業情報管理方針に従ったキー及びデータ交換を伴うセキュアアプリエコシステムを提供する方法、非一過性コンピュータ可読媒体、及びモバイルコンピューティングデバイス Download PDF

Info

Publication number
JP6009083B2
JP6009083B2 JP2015529975A JP2015529975A JP6009083B2 JP 6009083 B2 JP6009083 B2 JP 6009083B2 JP 2015529975 A JP2015529975 A JP 2015529975A JP 2015529975 A JP2015529975 A JP 2015529975A JP 6009083 B2 JP6009083 B2 JP 6009083B2
Authority
JP
Japan
Prior art keywords
ecosystem
app
apps
directory
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015529975A
Other languages
English (en)
Other versions
JP2015532054A (ja
JP2015532054A5 (ja
Inventor
ソーベル・ウィリアム・イー
エンダーウィック・トーマス・ジェフリー
マコークエンデイル・ブルース
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2015532054A publication Critical patent/JP2015532054A/ja
Publication of JP2015532054A5 publication Critical patent/JP2015532054A5/ja
Application granted granted Critical
Publication of JP6009083B2 publication Critical patent/JP6009083B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • G06F16/196Specific adaptations of the file system to access devices and non-file objects via standard file system access operations, e.g. pseudo file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

本開示は、一般に、コンピュータセキュリティに関し、更に詳しくは、エコシステムの外部からの無許可のアクセスを可能にすることなく、企業の情報管理方針に従って暗号化されたデータをセキュアに交換するアプリのセキュアエコシステムを提供することに関する。
個人がスマートフォン及びタブレットコンピュータなどのモバイルコンピューティングデバイスを所有することが更に一層一般的になると、人々は、自デバイスを仕事及び個人利用のために使用する自由を望む(この方法を時には自デバイス持参モデルという)。ユーザは、自デバイスに精通して容易にこなせると、仕事のために第2のデバイスを操作及び携行したがらない。同時に、企業は、企業以外のデバイス上で自社の極秘情報にアクセス及び処理されるときにその取り扱いを管理する合法的な必要性を有する。
任意のコンピューティングプラットフォーム上での生産的な仕事は、同じデータで複数のアプリによってセキュアにアクセスし、かつ、複数のアプリ間で交換することができる点を拠り所とし、アプリのそれぞれは、その相互作用の異なる局面に適切なものである。しかしながら、雇用主は、企業情報管理方針に従って企業の極秘データのアクセス及び使用を制限したがる。更に、一部のユーザ(例えば、コンサルタント、又は、複数の雇用主を有する者達)は、自分の個人用コンピューティングデバイスを複数の組織との仕事上の関係に使用したいと思い、複数の組織のそれぞれは、別個の情報管理の必要性を有する。
これらの問題に対処することが望ましいと考えられる。
モバイルコンピューティングデバイスなど、セキュアエコシステムをコンピュータ上で提供する。エコシステムの構成員である複数のアプリは、前記エコシステムの外部からの無許可のアクセスを可能にすることなく、企業の情報管理方針に従って、暗号化されたデータをセキュアに交換する。エコシステムエージェントと本明細書でいう特定のエコシステムアプリは、エコシステムディレクトリをコンピューティングデバイス上で作成する。一実施形態では、エコシステムディレクトリは、エコシステムの名前に基づく、コンピューティングデバイス上の位置にて作成される。エコシステムディレクトリは、エコシステムエージェントを含め、エコシステム内のそれぞれの特定のアプリのエントリを含む。それぞれのディレクトリエントリは、方針情報と、特定のアプリに関する識別情報とを含む。例えば、そのようなエントリは、1)特定のアプリの方針と、2)前記特定のアプリが方針アップデートを取得することを可能にする情報と、3)前記エコシステム内の他のアプリが暗号化されたデータを前記特定のアプリにセキュアに通信することを可能にする前記特定のアプリに関する情報とを含むことができる。一実施形態では、他のアプリが特定のアプリにセキュアに通信することを可能にする情報は、特定のアプリのバンドル識別子又はパッケージ名、特定のアプリのアドレス、特定のアプリのパブリックキー(及び、一部の実施形態では、特定のアプリのパブリックキーを暗号化するために使用されるエコシステム全体の左右対称の暗号化キー)、特定のアプリによってサポートされるメディア形式、及び、特定のアプリのローカライズされた表題の形である。
一実施形態では、エコシステム帰属関係に向けて構成されるコンピューティングデバイス上のそれぞれの特定のアプリは、非対称のキーペア、つまり、特定のアプリがエコシステム内のアプリのみと共有するパブリックキー、及び、特定のアプリが全く共有しないプライベートキーを生成する。エコシステムエージェントは、自らのプライベートキーを使用してエコシステムディレクトリを暗号化することができ、エコシステムエージェントのパブリックキーは、エコシステムディレクトリを暗号解読するために必要とされるようになっている。一実施形態では、エコシステムエージェントは、エコシステム全体の左右対称の暗号化キーも生成し、エコシステム全体の左右対称の暗号化キーは、エコシステムアプリのパブリックキーを暗号化及び暗号解読するために使用され、それによって、更に、エコシステムの外部からのエコシステムアプリのパブリックキーのアクセスを防止する。
データは、エコシステム内のアプリ間でセキュアに通信され、通信されたデータは、エコシステム内からの承認なしにエコシステムの外部からアクセスすることはできないようになっている。エコシステムアプリ間のこのセキュアな通信は、エコシステム内の任意の受け取り側アプリが第2のキーでデータを暗号解読することができるように、エコシステム内の提供側アプリによってデータを第1のキーで暗号化するステップを含むことができる。更に詳しくは、データを単一のエコシステムアプリにセキュアに通信するために、これは、第2のエコシステムアプリのパブリックキーをエコシステムディレクトリから読み込む第1のエコシステムアプリの形を取ることができる。第1のエコシステムアプリは、第2のエコシステムアプリのパブリックキーを使用して、第2のエコシステムアプリにセキュアに通信するべきメッセージ又はデータオブジェクトを暗号化する。第1のエコシステムアプリは、暗号化されたメッセージ又はデータオブジェクトを第2のエコシステムアプリと通信又は共有し、第2のエコシステムアプリは、独自のプライベートキーを使用して、暗号化されたメッセージ又はデータを暗号解読する。データを複数のエコシステムアプリにセキュアに通信するために、第1のエコシステムアプリは、独自のプライベートキーを使用してメッセージ又はデータオブジェクトを暗号化することができる。第1のエコシステムアプリは、その後、暗号化されたメッセージ又はデータオブジェクトをターゲットである複数の他のエコシステムアプリと通信又は共有することができる。受け取り側エコシステムアプリは、第1のエコシステムアプリのパブリックキーをディレクトリから読み込んで、メッセージ又はデータオブジェクトを第1のアプリのパブリックキーで暗号解読することができる。エコシステム内のそれぞれの特定のアプリは、企業情報管理方針に従う。これは、その方針をエコシステムディレクトリから読み込んで、その後、方針に従うエコシステム内のそれぞれの特定のアプリの形を取ることができる。一部の実施形態では、エコシステムアプリは、方針アップデートを企業から受け取って、受け取った方針アップデートに従うこともできる。
エコシステム帰属関係に向けて構成されるがエコシステムの構成員でないコンピューティングデバイス上のアプリは、エコシステムに参加する要求でエコシステムエージェントを呼び出すことができる。エコシステムエージェントは、参加しようとしているアプリの信頼関係状態の有効性を確認し、成功した場合には新しいアプリをエコシステムに追加する。これは、新しいアプリについてエコシステムディレクトリへのエントリを書き込むという形を取ることができ、書き込まれたエントリは、エコシステム内の他のアプリが暗号化されたデータを新しいアプリにセキュアに通信することを可能にする新しいアプリに関する情報を少なくとも含む。エコシステムエージェントは、独自のパブリックキーを新しいアプリに提供することができ、その結果、新しいアプリは、エコシステムエージェントのパブリックキーでディレクトリを暗号解読することができる。エコシステムエージェントのパブリックキー自体がエコシステム全体の左右対称の暗号化キーで暗号化される実施形態では、エコシステムエージェントは、また、新しいアプリがエコシステムエージェントのパブリックキーを暗号解読することができるようにエコシステム全体の左右対称の暗号化キーを新しいアプリに提供する。新たに参加したアプリはディレクトリエントリを読み込み、方針をディレクトリから取得し、取得した方針に従う。一部の実施形態では、新たに参加したアプリもエコシステムエージェントの信頼関係状態の有効性を確認して、エコシステムエージェントが信頼できると有効性が確認された場合に限り、次に、エコシステムに参加する。
内在するメディア形式間のマッピング、及び、内在するメディア形式に基づいてコンテンツをエコシステム固有の暗号化されたフォーマットで処理する機能性のリストを維持することができる。このリストは、エコシステム固有の暗号化されたメッセージ及びオブジェクトを内在するメディア形式に基づいてエコシステム固有の暗号化されたフォーマットで適切に処理するために使用することができる。コンピューティングデバイスの外部の構成要素も、エコシステムの構成員とすることもでき、外部の構成要素は、サービスをエコシステムアプリに提供する。そのような外部の構成要素は、キー及び方針を企業から直接に受け取り、受け取った方針に従うことができる。
この「発明の概要」及び後述の「発明を実施するための形態」に記述される特徴及び利点は、すべてを包含したものではなく、特に、本特許の図面、明細書、及び請求項の見地から、関連分野の当業者には、数多くの付加的な特徴及び利点が明らかとなろう。更に、本明細書に使用されている表現は、読みやすさと説明の目的のために主に選択されており、発明の主題を限定又は制限するために選択されたものではなく、そのような発明の主題を決定するには、請求項に依ることが必要である。
一部の実施形態に係る、セキュアエコシステム構成要素を実装することができる例示的なネットワークアーキテクチャのブロック図である。 一部の実施形態に係る、セキュアエコシステム構成要素を実装するのに好適なコンピュータシステムのブロック図である。 一部の実施形態に係る、コンピューティングデバイス上のセキュアエコシステムというコンテキストにおけるセキュアエコシステム構成要素の機能性の高度な概要を示すブロック図である。 一部の実施形態に係る、エコシステムアプリのセキュアエコシステム構成要素のモジュールを示すブロック図である。 一部の実施形態に係る、エコシステムエージェントのセキュアエコシステム構成要素のモジュールを示すブロック図である。 一部の実施形態に係る、セキュアエコシステムの動作のブロック図である。 一部の実施形態に係る、外部の構成要素と連動するセキュアエコシステムの動作のブロック図である。 一部の実施形態に係る、セキュアエコシステムの動作のフローチャートである。
図には、単に例示目的のため、様々な実施形態が示されている。当業者には、本明細書に記述されている原理から逸脱することなく、本明細書に示されている構造及び方法の別の実施形態を採用し得ることが、下記の議論から容易に理解されよう。
図1は、セキュアエコシステム構成要素101を実装することができる例示的なネットワークアーキテクチャ100を示すブロック図である。図示のネットワークアーキテクチャ100は、複数のクライアント103A、103B及び103N、並びに複数のサーバ105A及び105Nを含む。図1では、セキュアエコシステム構成要素101が、クライアント103A上に常駐すると図示され、バックエンド構成要素109がサーバ105A上に常駐する。これは一例にすぎず、様々な実施形態において、このシステム101の様々な機能が、クライアント103、サーバ1055上でインスタンス化され得るか、又は複数のクライアント103間及び/若しくはサーバ105間に分散され得ることを理解されたい。
クライアント103及びサーバ105は、例えば図2及び下記に示すもののような、コンピュータシステム210を使用して実装することができる。クライアント103及びサーバ105は、図2に関連して下記で述べられるように、例えばネットワークインタフェース248又はモデム247を介して、ネットワーク107に通信可能に連結されている。クライアント103は、例えばウェブブラウザ又はその他のクライアントソフトウェア(図示なし)を用いて、サーバ105上のアプリ及び/又はデータにアクセス可能である。クライアント103は、ネットワーク107に接続し、かつ、アプリケーションを実行することができる携帯型コンピュータシステム210を含むモバイルコンピューティングデバイスの形とすることができるが、その形である必要はない。そのようなモバイルコンピューティングデバイスは、時にはスマートフォンと称されるが、そのような名称がない多くの携帯電話も、これらの能力を有する。タブレットコンピュータ及びラップトップコンピュータは、モバイルコンピューティングデバイスの他の例である。
図1には3つのクライアント103及び2つのサーバ105が一例として示されているが、実際にはもっと多くの(又はもっと少ない)数のクライアント103及び/又はサーバ105を配備することができる。一実施形態において、ネットワーク107はインターネットの形態である。他の実施形態において、他のネットワーク107又はネットワークベースの環境を使用することができる。
図2は、一部の実施形態に係る、セキュアエコシステム構成要素101を実装するのに好適なコンピュータシステム210のブロック図である。クライアント103とサーバ105の両方が、そのようなコンピュータシステム210の形態で実装され得る。図2に示す形式のコンピュータシステム210は、モバイルコンピューティングデバイスの形とすることができるが、この形である必要はない。図示のように、コンピュータシステム210の1つの構成要素がバス212である。バス212は、コンピュータシステム210の他の構成要素、例えば、少なくとも1つのプロセッサ214、システムメモリ217(例えばランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ)、入出力(I/O)コントローラ218、スピーカシステム220などの外部音声装置に通信可能に連結された音声出力インタフェース222、ディスプレイ画面224などの外部ビデオ出力装置に通信可能に連結されたディスプレイアダプタ226、1つ以上のインタフェース(例えばシリアルポート230、ユニバーサルシリアルバス(USB)のレセプタクル230、パラレルポート(図示なし)など)、キーボード232に通信可能に連結されたキーボードコントローラ233、少なくとも1つのハードディスク(又はその他の形態の磁気媒体)に通信可能に連結された記憶装置インタフェース234、ファイバーチャネル(FC)ネットワーク290と接続するよう構成されたホストバスアダプタ(HBA)インタフェースカード235A、SCSIバス239に接続するよう構成されたHBAインタフェースカード235B、光ディスク242を受容するよう構成された光ディスクドライブ240、バス212に(例えばUSBレセプタクル228を介して)連結されたマウス246(又はその他のポインティングデバイス)、バス212に(例えばシリアルポート230を介して)接続されたモデム247、及び、例えばバス212に直接連結されたネットワークインタフェース248と、通信可能に連結される。
他の構成要素(図示なし)は、同様の方法で接続され得る(例えば文書スキャナ、デジタルカメラ、プリンタなど)。逆に、図2に示されているすべての構成要素は必ずしも存在する必要はない。構成要素は、図2に示されるものとは異なる手法で相互接続することができる。
バス212は、プロセッサ214と、上述のように、ROM及び/又はフラッシュメモリ並びにRAMを含み得るシステムメモリ217との間のデータ通信を可能にする。RAMは典型的に、オペレーティングシステム及びアプリプログラムがロードされるメインメモリである。ROM及び/又はフラッシュメモリは、他のコードと共に、特定の基本的なハードウェアオペレーションを制御するベーシックインプット・アウトプットシステム(BIOS)を含み得る。アプリプログラムはローカルコンピュータ可読媒体(例えばハードディスク244、光ディスク242)に格納され、システムメモリ217にロードされ、そしてプロセッサ214により実行され得る。アプリプログラムは、例えばネットワークインタフェース248又はモデム247を介して、離れた場所(すなわち、離れたところに配置されたコンピュータシステム210)からシステムメモリ217にロードすることもできる。図2では、セキュアエコシステム構成要素101は、システムメモリ217内に常駐すると図示されている。セキュアエコシステム構成要素101の働きを図3に関連して以下で更に詳細に説明する。
記憶装置インタフェース234は、1つ以上のハードディスク244(及び/又はその他の標準記憶媒体)に連結されている。(複数の)ハードディスク244は、コンピュータシステム210の一部であってもよく、又は、物理的に別であってもよく、他のインタフェースシステムを介してアクセスされてもよい。
ネットワークインタフェース248及び/又はモデム247は、例えばインターネットなどのネットワーク107に、直接的又は間接的に、通信可能に連結され得る。そのような連結は、有線又は無線であり得る。
図3は、一部の実施形態に係る、コンピュータ210上のセキュアエコシステム301というコンテキストにおいて実行されるセキュアエコシステム構成要素101の機能性の高度な概要示す。先述したように、セキュアエコシステム構成要素101の機能性は、クライアント103(モバイルコンピューティングデバイスの形のクライアント103を含むがこれに限定されない)、サーバ105上に常駐することができるか、又は、セキュアエコシステム構成要素101の機能性がネットワーク107上でサービスとして提供されるクラウド型コンピューティング環境内でを含め、複数のコンピュータシステム210間で分散することができる。セキュアエコシステム構成要素101が単一のエンティティとして図3で図示されているが、図示されるセキュアエコシステム構成要素101は、所望通りに単一又は複数のモジュールとしてインスタンス化され得る機能の一群を表すことを理解されたい(セキュアエコシステム101の特定の複数のモジュールのインスタンス化が、図3に図示される)。セキュアエコシステム構成要素101のモジュールは、任意のコンピュータシステム210のシステムメモリ217(例えばRAM、ROM、フラッシュメモリ)内でインスタンス化することができ(例えばオブジェクトコード又は実行可能画像として)、これによって、コンピュータシステム210のプロセッサ214がモジュールを処理する際、コンピュータシステム210がその関連する機能性を実行することを理解されたい。本明細書において使用される用語「コンピュータシステム」、「コンピュータ」、「クライアント」、「クライアントコンピュータ」、「サーバ」、「サーバコンピュータ」及び「コンピューティングデバイス」は、記述される機能性を実行するよう設定及び/又はプログラムされた、1つ以上のコンピュータを意味する。加えて、セキュアエコシステム構成要素101の機能性を実装するためのプログラムコードは、コンピュータ可読記憶媒体に格納することができる。この文脈において、例えば磁気又は光学記憶媒体など、任意の形態の有形のコンピュータ可読記憶媒体を使用することができる。本明細書で使用されるとき、「コンピュータ可読記憶媒体」という用語は、内在する物理的な媒体とは別の電気信号を意味しない。
図3に示すように、モエコシステム301内の使用のために構成された複数のアプリ303は、バイルコンピューティングデバイスなど、コンピュータ210のシステムメモリ217内のセキュアエコシステム301内で実行される。図示を目的とした実施例として、図3は、エコシステム301において実行される3つのアプリ303を示すが、実際には、エコシステムは、非常に多数を含め、他の数のアプリ303を含むことができる。エコシステム301帰属関係のために構成されたそれぞれのアプリ303は、以下に詳細に論じるエコシステム特定の機能性を提供するセキュアエコシステム構成要素101を含む。セキュアエコシステム構成要素101の機能性は、複数のアプリ303(例えば、モバイルアプリ303)が企業300によって提供される情報管理方針に従って、コンピュータ210上のセキュアな相互接続したエコシステム301として機能することを可能にする。「エコシステム」301は、この用語が本明細書で使用されるとき、アプリ303が、企業情報管理方針に従って、互いと暗号化されたメッセージ305及び暗号化されたデータオブジェクト307をセキュアに交換することができるように構成されたコンピューティングデバイス210上の一群のアプリ303を意味し、エコシステムで301の外側のアプリ303及び他の構成要素は、エコシステム301又はそのコンテンツへの無許可のアクセスを有していない。「企業」300が本明細書で使用されるとき、この用語は、情報管理方針に従って自らの管理下で電子データを個人に提供する任意の組織を意味する。法人、政府、及び大学は、企業300の例である。
以下で詳細に説明するように、エコシステム301内のアプリ303は、暗号化されたメッセージ305をセキュアに送って、同じコンピューティングデバイス210上で実行中であるものを含め、エコシステム301の外側のアプリ303からの無許可のアクセスを可能にすることなく、データ暗号化されたオブジェクト307(例えば、ファイル)を共有することができる。エコシステム301は、バックエンド企業サーバ309のシステムメモリ217において実行中のバックエンド構成要素109からダウンロードすることができる企業固有のアプリ303も、企業(例えば、Google Play又はApple App Store上で配信された商用アプリ303)の外部から生じるサードパーティアプリ303も含むことができる。セキュアエコシステム構成要素101機能性を含む企業向けのアプリ303を配信する手順について以下で詳細に論じる。
複数のエコシステム301は、単一のコンピューティングデバイス210上に同時に常駐し、かつ、同時に常駐するエコシステム301が互いのデータにアクセスするか、又は、本明細書で説明する保護されたエコシステムレベルのデータ共有にその他の方法で参加することが許容されないように構成することができる。以下で詳細に説明するように、セキュアエコシステム構成要素101は、企業方針に従って、エコシステム301への許可されたアプリ303のセキュアな登録、エコシステムデータの暗号化、及び、同じエコシステム301内のアプリ303間のこのデータのセキュアな共有に効率的なプロトコルを使用する。
図4Aは、一部の実施形態に係る、エコシステム301に参加するように構成されたアプリ303のセキュアエコシステム構成要素101のモジュールを示す。これらのモジュールの動作を図5に関連して詳細に論じる。セキュアエコシステム構成要素101のモジュール401を生成するキーが、エコシステム301内のセキュアな通信のためにコンテンツを暗号化するために使用されるキー409を生成するために使用される。セキュアエコシステム構成要素101のエージェント呼び出しモジュール421が、以下で詳細に論じる特定のエコシステムアプリ303であるエコシステムエージェント411を呼び出すために使用される。セキュアエコシステム構成要素101のアプリ有効性確認モジュール423が、エコシステム301に参加する上で信頼できると他のアプリの有効性を確認するために使用される。セキュアエコシステム構成要素101の通信モジュール424が、エコシステムアプリ303間、及び、エコシステムアプリ303とバックエンド企業サーバ309との間通信に使用される。暗号化モジュール425が、コンテンツをセキュアな通信のために暗号化し、暗号解読モジュール427が、暗号化されたコンテンツを暗号解読する。ディレクトリ読み込みモジュール429が、コンテンツを、以下で詳細に説明するエコシステムディレクトリから読み込む。最後に、方針遵守モジュール431が、企業情報管理方針との適応性を確保するために使用される。他の実施形態では、エコシステム301に参加するように構成されたアプリ303のセキュアエコシステム構成要素101は、所望通りにより多くの、より少しの、又は、異なるモジュールを含むことができる。
図4Bは、一部の実施形態に係る、エコシステムエージェント411のセキュアエコシステム構成要素101のモジュールを示す。上述したように、エコシステムエージェント411は、特定のエコシステムアプリ303である。図4Aの場合と同様に、図4Bに示すモジュールの動作を図5に関連して詳細に論じる。セキュアエコシステム構成要素101のディレクトリ作成モジュール403が、エコシステムディレクトリ413を作成する。セキュアエコシステム構成要素101のディレクトリ書き込みモジュール405が、コンテンツをエコシステムディレクトリ413に書き込む。セキュアエコシステム構成要素101のアプリ追加モジュール419が、新しいアプリ303をエコシステム301に追加する。エコシステムエージェント411のセキュアエコシステム構成要素101も、図4Aに関連して先述したのと同じ機能を実行する、キー生成モジュール401と、アプリ有効性確認モジュール423と、通信モジュール424と、暗号化モジュール425と、暗号解読モジュール427と、ディレクトリ読み込みモジュール429と、方針遵守モジュール431とを含む。他の実施形態では、エコシステムエージェント411のセキュアエコシステム構成要素101は、所望通りにより多くの、より少しの、又は、異なるモジュールを含むことができる。
図5をここで参照して、一部の実施形態に係るセキュアエコシステム301の動作を説明する。以下で更に詳細に説明するように、エコシステム301の様々なアプリ303は、キー409のセットを使用して、エコシステム301の外部からのアクセスを防止しながら、エコシステムアプリ303の特定のアプリ又は全てによる許可されたアクセスを可能にするようにデータを暗号化及び暗号解読する。一実施形態では、エコシステム301内のそれぞれのアプリ303のセキュアエコシステム構成要素101のキー生成モジュール401は、非対称のキーペア、つまり、アプリ303がエコシステム301の他の構成員のみと共有するパブリックキー409パブリック(以下で説明)、及び、アプリ303のみが知っているプライベートキー4009プライベートを生成する。用語がエコシステム301のコンテキストにおいて本明細書で使用されるとき、パブリックキー409パブリックは、世間全体、又は、コンピューティングデバイス210上の全ての構成要素に公けであるのではなく、その代わりにエコシステム301内で公けであるにすぎないことを理解されたい。一実施形態では、エコシステムアプリ301キーペア409に加えて、任意の特定のエコシステムアプリ303には関連せず、その代わりに全体としてのエコシステム301に関連した単一のエコシステム全体の左右対称の暗号化キー409エコシステムがある。一部の実施形態では、エコシステム全体の左右対称の暗号化キー409エコシステムは、それ自体、キー暗号化キー(KEK)409キーで暗号化される。エコシステム全体の左右対称の暗号化キー409エコシステム及び/又はKEK 409キーは、以下で論じるエコシステムエージェント411と本明細書でいうアプリ303のセキュアエコシステム構成要素101のキー生成モジュール401によって生成することができる。異なる実施形態では、エコシステム301というコンテキストにおいて使用される特定のキー409は変わる。様々なキー409の使用を以下で更に詳細に説明する。
所与のエコシステム301が、当初は、エコシステムエージェント411によってコンピューティングデバイス210上で、上述したように特定のエコシステムアプリ303として確立される。更に詳しくは、エコシステムエージェント411が、本明細書で説明する特定の機能性を実行するタイプのエコシステムアプリ303である。エージェント411が単一のエンティティとして本明細書で説明及び図示するが、一部の実施形態では、エージェント411の機能性は、複数のアプリ303間で分散され得る。エージェント411は、典型的には、企業300から取得される。バックエンド企業サーバ309からダウンロードすることは、エージェント411がいかにして企業300から取得されるかの一例です以下で更に詳細に説明するように、エージェント411は、エコシステム301を確立する上で信頼でき、例えば、エージェント411は、この特定のアプリ303は実際にエージェント411であると明記する、信用されたソースによって署名されるアサーション付きで配信されるからである。
エージェント411がインストールされたとき、セキュアエコシステム構成要素101のディレクトリ作成モジュール403は、エージェント411がその後管理する暗号化されたエコシステムディレクトリ413を作成する。一実施形態では、ディレクトリ413の位置は、エコシステム301の名前に基づいて計算され、エコシステム301の名前を知っているアプリ303が、ディレクトリ413の場所を特定することができる(但し、適切なキー409がなければ読み込まれない)ようになっている。エコシステム名を使用して、ディレクトリ413の位置は、例えば、コンフリクトを管理するためにハッシュアルゴリズム(例えば、二重ハッシュ)を使用して計算され得る。他の実施形態では、ディレクトリ413の位置は、他の方法でエコシステム301の外部からのアクセスに対して保護される。例えば、一実施形態では、エージェント411は、ディレクトリ413の位置を、エコシステム301に参加するプロトコルの一部として新しいアプリ303に伝える。ディレクトリ413の位置は、プラットフォーム固有である。例えば、iOS下では、ディレクトリ413は、見せかけだけのオブジェクトとして格納され得る。一部の実施形態では、エコシステムエージェント411は、ディレクトリ413を維持し、他のいかなるアプリ303も、ディレクトリ413を書き込んだり、又は、その他の方法で修正することができないが、他のエコシステムアプリ303は、典型的には、暗号解読する適切なキー409を有することを条件としてディレクトリ413を読み込むことができる。ディレクトリ413は、エコシステムエージェント411のプライベートキー409プライベートを使用して暗号化及び署名することができる。ディレクトリ413が他のアプリ303による削除又は改変から保護することができないプラットフォーム上では、エージェント411は、ディレクトリ413の健全性を周期的にチェックして必要に応じて補修を行うことができる。アプリ303がディレクトリ413が行方不明又は不正であるとわかった場合、検出側アプリ303は、損傷の対応する表示をエージェント411に送ることができる。
ディレクトリは、エコシステムエージェント411を含め、それぞれのアクティブなエコシステムアプリ303の記録415(エントリ)を含む。アプリ303の記録415は、方針ブロックと、情報ブロックとを含む。方針ブロックは、アプリ303の企業300供給のデフォルト(初期)方針、並びに、アプリ301が周期的な方針アップデートを取得することができるバックエンド企業サーバ309のアドレス(例えば、URL)を含む。アプリ−レベルの企業方針の使用法を以下で更に詳細に論じる。特定のエコシステムアプリ303の情報ブロックは、例えば、アプリ303のバンドルid又はpackageName、アプリ303のアドレス、アプリ301のパブリックキー409パブリック、アプリ303によってサポートされるメディア形式、及び、アプリ303のローカライズされた表題など、特定のアプリ303とのセキュアな通信に従事するためにエコシステム内の他のアプリ303によって使用されるべき情報を含む。アプリ303のアドレスのフォーマットは、プラットフォーム間で変わる。例えば、iOS下では、特殊URLスキームが、アプリアドレスとして使用され、一方、Android下では、Intentが、使用され、ユニフォームリソースインディケータ(「URI」)は、アプリのpackageNameで始まる。サポートされたメディア形式の表現も、プラットフォーム固有である。例えば、iOS下では、メディア形式は、MIME形式、ユニバーサルタイプアイデンティファイア(「UTI」)、及び、対応するファイル拡張子として表され、一方、Android下では、メディア形式は、MIME形式、及び、対応するファイル拡張子として表される。アプリ303のローカライズされた表題は、参加プロトコル中のユーザ確認に、及び/又はユーザに面するメニューに使用され得る。
以下で更に詳細に論じるように、エコシステムアプリ303は、企業方針を習得してしたがって遵守するために自身のディレクトリ記録415の方針ブロック内の情報を使用する。更に、エコシステムアプリ303は、エコシステム301内の他のアプリ303のディレクトリ記録415の情報ブロックを使用して、暗号化されたオブジェクト307を共有するとともに暗号化されたメッセージ305を特定のエコシステムアプリ303に(又はその全員に)送るために、他のエコシステムアプリ303について知り、かつ、適切なキー409及び識別情報を取得する。
エージェント411がインストールされてディレクトリ413を作成したとき、エージェント411のセキュアエコシステム構成要素101のディレクトリ書き込みモジュール405は、エージェント411に関するディレクトリ記録415をディレクトリ413に書き込む(エージェント411がそれ自身エコシステムアプリ303であることを思い起こす)。エージェント411のセキュアエコシステム構成要素101のアプリ追加モジュール419は、その後、コンピューティングデバイス210上のエコシステム301に参加する、他のアプリ303による要求を管理する。アプリ303がエコシステム301に参加するように要求するプロセスを理解するために、まず、モバイルコンピューティングデバイス210、並びに、他の形式のコンピュータ210のためにアプリの分布を論じることが手助けとなろう。大規模な社会を成す開発者たちが、様々な一般に普及しているモバイルオペレーティングシステムのためにアプリケーション(「アプリ」)を書き込む。例えば、Appleの(以前はiPhone OSとして知られていた)iOSは、iPhone、iPod Touch及びiPadなどのAppleモバイルデバイス上で実行されるモバイルオペレーティングシステムである。iOSの多くのアプリ303が、Apple App Storeからのダウンロードに利用可能である。Androidは、モバイルデバイスのためのオープンソース、Linux(登録商標)を基本とするオペレーティングシステムである。多くのAndroidアプリ303は、(以前はAndroid Marketとして知られていた)Google Playを介して、購入用に又は無料で利用可能である。Androidアプリ303は、他のオンラインストア及び更なるサードパーティサイトからダウンロードすることもできる。別の実施例は、Nokia、Acer及びFujitsuなどの販売会社製のスマートフォン上で実行される、Microsoftによって開発されたモバイルオペレーティングシステムである、Windows(登録商標、以下同じ) Phoneである。ユーザは、Microsoftによって実行されるWindows Phone MarketplaceからWindows Phoneのアプリ303をダウンロードすることができる。iOS、Android、及び、Windows Phoneは、目下一般に普及しているモバイルオペレーティングシステムの例にすぎないが、その他が、同様に存在する。更に、本開示の多くは、エコシステム301がモバイルコンピューティングデバイス210上に実装される実施形態を説明するが、他の実施形態では、エコシステム301は、デスクトップ及びワークステーションなどの他の形式のコンピュータ210上に実装される。いずれにしても、アプリ303は、様々な源からコンピュータ210にダウンロードすることができる。エコシステム301に参加することができるアプリ303は、企業300から(例えば、バックエンド企業サーバ309から)、又は、Apple App Store、又は、Google Playなどのサードパーティサイトからダウンロードすることができる。
企業300によって提供されるアプリ303は、配信前に企業300によって署名される。アプリ303が企業300によって提供される場合、任意のセキュアエコシステム構成要素101固有の機能性は、企業300によってアプリ303においてインスタンス化され得るか、又は、セキュアエコシステム構成要素101の発行元によって提供されるコードで実装されてアプリラッピングを使用してアプリ303に追加され得る。アプリ−ラッピングは、コードを既存のアプリ303に追加することを伴う。これによって、追加されたコードを含むアプリ303には配信前に再署名することが必要とされる。これは、企業300提供のアプリ303に都合がよく、企業300は、アプリ303署名の証明書を供給することができるからである。企業300の外部で開発されてサードパーティによって配信されるアプリは、配信前に開発業者(サードパーティアプリ303の販売会社)によって署名される。したがって、非企業アプリ303がサードパーティによって配信される前にエコシステム301に参加するように構成される場合、セキュアエコシステム構成要素101固有の機能性が、セキュアエコシステム構成要素101の発行元によって提供されるコードでアプリ303に追加され、かつ、ビルドプロセスに含めることができるソフトウェア開発キット(「SDK」)又はライブラリを使用してアプリ303に追加される。開発業者は、その後、配信の前に、修正されたアプリ303に再署名することができる。そのようなコードにアクセスするために、サードパーティアプリ販売会社は、発行元がSDKを供給する、セキュアエコシステム構成要素101の発行元との関係を確立する。異なる実施形態では、発行元は、様々な所望の基準に従ってアクセスを特定の販売会社に制限し、及び/又は、配信を可能にする前に、エコシステム使用に構成されたサードパーティアプリ303を検討する。
セキュアエコシステム構成要素101の機能性がアプリに追加されるのがアプリ−ラッピングを介してか、又は、SDKを介してかを問わず、追加されたコードによって、本明細書で説明したセキュアエコシステム構成要素の101の機能性をインスタンス化するためにアプリ303のデフォルト挙動が変更されることを理解されたい。これは、修正されるべきデフォルト機能性を実行するシステムコール(例えば、ファイルシステムにアクセスするコール)を遮断して、セキュアエコシステム構成要素101固有の機能性を実行するコールと入れ換えるか。又は、該コールでラッピングすることによって実行することができる。例えば、ディスクにデータを書き込む(及び読み込む)試みは、本明細書で説明する暗号化(及び暗号解読)を自動的に行うために遮断され、一方、プロセス間の通信が、保護されたコンテンツのコピー/ペースト(及び他のプロセス間の通信)が本明細書で説明するように(即ち、適切な暗号化、制限的な名前空間、MIME形式の移動などを通して、エコシステム構成員のみにアクセス可能であることによって)方針に従うことを確保するために遮断される。遮断される特定のシステムコールは、実施形態の間で変わり得る。システムコール遮断の機構は、モバイルオペレーティングシステムで変わる。例えば、iOS下では、遮断は、実行時間にて発生する。Android下では、コードは、分解、修正、追加、及び、再び組み立てられる。
一実施形態では、エコシステム303に参加することになっている全てのアプリ303は、配信前に信頼性の署名されたアサーションが付される。バックエンド企業サーバ309からダウンロードされるアプリ303については、アサーションは、企業300によって署名され得る。サードパーティサイトを介して配信されるアプリ303については、アサーションは、セキュアエコシステム構成要素101の発行元、電子アイデンティティの信用されたサードパーティ認証者、企業300など、信頼された当事者によって署名され得る。アサーションは、特定のアプリ303の識別子(例えば、iOSアプリ303のバンドル−id、Androidアプリ303のpackageName)、アプリ303のアドレス、及び、アプリ303のローカライズされた表題を含み得る。異なる実施形態では、アサーションは、アプリ303に関するより多くの、より少ない、又は、異なる情報を含み得、基本的な考え方は、信頼された署名によって、アプリ303がエコシステム301に参加する上で信頼できることが確認されることであり、アプリ303に関する情報によって、コンピューティングデバイス210上の特定のアプリ303がアサーションが確認するアプリであることを確認するのに十分な特殊性でアプリ303が識別される。例えば、参加プロトコル(以下で論じる)という特定のコンテキストでは、モバイルオペレーティングシステムがアサーションを提示するアプリ303の確実な識別表示を提供する場合、アサーションを受け取るアプリ303は、デバイス210上でメッセージを受け取るというコンテキストにおいて、受け取ったメッセージに関連してアサーションの有効性を確認することができる。
エコシステム301に参加することを要求するアプリ303について論じた内容に戻ると、エコシステム301に参加しようとするアプリ303のセキュアエコシステム構成要素101のキー生成モジュール401は、アプリ303がエコシステム301の構成員のみと共有するパブリックキー409パブリック、及び、アプリ303が全く共有しないプライベートキー409プライベートを含む非対称のキーペアを生成する。他の実施形態では、エコシステムアプリ303によって使用されるキー409の特定のフォーマット又は構造は変わる。アプリ303のセキュアエコシステム構成要素101のエージェント呼び出しモジュール421は、エコシステム301に参加する要求でエージェント311を呼び出し、該要求は、一部の実施形態では、エージェント411がアプリ303への戻り通信を暗号化することができるように、アプリのパブリックキー409パブリックを含む。エージェント411は、エコシステム301の名前に基づいてアドレス指定可能であり、エコシステム301の名前を知っているアプリ303は、エコシステム301に参加する要求を行うためにエージェント411を呼び出すことができるようになっている。企業アプリ303の場合、エコシステム名は、配信前にアプリのバンドルで付すことができ、アプリ303は、エコシステム名がわかるようになっている。エコシステム301に参加することができるように構成されるサードパーティアプリ303の場合、アプリ303は、ユーザにエコシステム名を入力することを促すことができる。ユーザは、名前を手作業で入力することによって、ユーザの電子メールアドレスの関数として、名前を符号化するQRコード(登録商標)又は他の画像をスキャンするなどによって名前を提供することができる。一実施形態では、エコシステム301は、デバイス210上に常駐する利用可能なエージェント411又はディレクトリ413を見つけるオペレーティングシステム固有の方法を使用して自動的に発見することができる。別の実施形態では、インストールされたアプリ303は、例えば、バックエンドサーバ309で通信することによってエコシステム名を企業300から受け取ることができる。サードパーティアプリ303に配信前にエコシステム名が付されない理由は、たとえ、アプリ303が概ねエコシステム301に参加することができるように構成されるとしても、エコシステム301の名前、又は、様々なインストールターゲットが何になってアプリ303がどこにインストールされることになるか前もってわからないということである。
アプリ303は、エコシステム名を使用して、エコシステム301に参加する、エージェント411への要求を行う。エージェント411を呼び出す方法は、プラットフォーム固有である。例えば、iOSでは、エージェント411は、エコシステム名に基づいて特殊URLスキームを介してアドレス指定可能である。更に詳しくは、iOSの現バージョン下では、UIApplication:openURL:方法が使用され、URLは、エージェントの特殊URLスキームを使用して構成され、base64符号化要求が、クエリ文字列引数として伝えられる。これは、iOSを使用する実施形態に係る、参加要求を行う実行固有の実施例であることを理解されたい。
エコシステム301に参加ようとするアプリ303は、状態をエージェント411に対して信頼できると確立する。一実施形態では、これは、署名されたアサーションを参加要求の一部としてエージェント411に提供するアプリ303の形を取る。エージェント411のセキュアエコシステム構成要素101のアプリ有効性確認モジュール423は、その後、アサーション内のアプリ識別子(例えば、バンドル−id)をオペレーティングシステムによって示されるように参加しようとするアプリ303のアプリ識別子と適合させ、かつ、署名の合法性を確認することによってアサーションを有効性を確認する。他の実施形態では、アプリ有効性確認モジュール423は、他の方法でエコシステム301に参加しようとするアプリ303の信頼関係状態の有効性を確認する。例えば、署名されたアサーションは、バックエンド企業サーバ309など、アプリ303以外のソースによって提供され得る。別の実施形態では、エージェント411上のアプリ有効性確認モジュール423は、例えば、バックエンド企業サーバ309又は別の信用できるソースによって提供される、信頼できるアプリ303のホワイトリスト及び/又は信頼できないアプリ303のブラックリストを参照することによって有効性確認プロセスを補足する。ホワイトリスト及び/又はブラックリストは、信頼できるか又は信用できないとわかっている特定のアプリ303を識別するためにインラインフィルターとして使用される。更に別の実施形態では、バックエンド企業サーバ309などの信用できるソースによって配信されるアプリ303は、署名されたアサーションなしで信用できる。アプリ303の検証に加えて、一部の実施形態では、エージェント411(又は、参加するアプリ303)は、ユーザを促すか、又は、その他の場合と相互作用し、アプリ303は、ユーザからの確認指示に応答してエコシステム301に追加されるのみである。他の実施形態では、このステップは、不在である。一部であるが全てではない実施形態では、エージェント411は、また、参加動作を進める前にユーザを(例えば、バックエンド企業サーバを介して及び/又はパスワード又はその他の入力を介して)認証する。
所与の実施形態で利用される検証ステップ完了に成功すると、エージェント411上のアプリ追加モジュール419は、参加するアプリ303をエコシステム301に追加する。これは、エージェント411上のディレクトリ書き込みモジュール405が新たに参加したアプリ303について新しい記録415を追加するためにディレクトリ413を更新することを含む。エージェント411のセキュアエコシステム構成要素101の通信モジュール424は、その後、エージェントのパブリックキー409パブリック及びエコシステム全体の左右対称の暗号化キー409エコシステムを参加するアプリ303に送ることによって参加要求に応答することができる。通信モジュール424は、また、エージェントの署名されたアサーションをアプリ303に提供することができる(エージェント411がそれ自体エコシステムアプリ303であることを思い起こし、したがって、他のエコシステム向けのアプリ303と同じ方法で信用できると確認することができる)。参加するアプリ303のセキュアエコシステム構成要素101のアプリ有効性確認モジュール423は、その後、エージェントの署名されたアサーションの有効性を確認するか、又は、エージェント411が、エージェント411がアプリ303の有効性を確認するというコンテキストにおいて先に論じたものなど別の方法で信用できるという有効性を確認することができる。エージェント411のセキュアエコシステム構成要素101の暗号化モジュール425は、エージェント411からアプリ303に送られたデータをアプリのパブリックキー409パブリックで暗号化することができる。このように、アプリ303のセキュアエコシステム構成要素101の暗号解読モジュール427は、アプリの自身のプライベートキー409プライベートを使用してデータを暗号解読することができるが、他のいかなる構成要素もデータを読み込むことができない。
エコシステム301に追加されたアプリ303のセキュアエコシステム構成要素101のディレクトリ読み込みモジュール429は、エコシステム名を使用して、ディレクトリ413の場所を特定する。アプリの暗号解読モジュール427は、供給されたエコシステム全体の左右対称の暗号化キー409エコシステムを使用してエージェントのパブリックキー409パブリックを暗号解読して、エージェントのパブリックキー409パブリックディレクトリ413を暗号解読する。アプリのディレクトリ読み込みモジュール429は、次に、方針ブロックを、エージェント411によってディレクトリ413に追加されたアプリのディレクトリ記録415から読み込む。アプリ303のセキュアエコシステム構成要素101の方針遵守モジュール431は、企業300によって指示されたように、先に説明したようにアプリ303のデフォルト方針である、アプリの方針ブロックに明記された方針を採用して遵守する。アプリ303の通信モジュール424は、その後、方針ブロックからのバックエンド企業サーバ309のアドレスを使用して、バックエンド企業サーバ309に連絡する。アプリ303は、アプリ303が特定のコンピューティングデバイス210上の特定のエコシステム301に参加したことをバックエンド企業サーバ309に知らせる。バックエンド企業サーバ309は、バックエンド企業サーバ309は、アプリ303がエコシステム301に参加したということを知ったときに、及び、アプリ303が所望通りにエコシステム301の構成員である時間全体中に継続してという条件で、アプリ303に任意の方針アップデート又は特定の方針指示を提供することができる。バックエンド企業サーバ309から任意の方針指示/アップデートを受け取ることに応答して、アプリの方針遵守モジュール431は、更新された方針を採用して相応に遵守する。
エコシステム301内のアプリ303は、暗号化されたメッセージ305の形の、及び、共有された暗号化されたオブジェクト307の形のデータを、企業方針に従って該アプリ間でセキュアに共有することができる。所与のアプリ303の通信モジュール424がセキュアなメッセージ305をエコシステム301内の他のアプリ303の特定の1つに送るため、送信側アプリ303の暗号化モジュール425は、まず、受け取り側アプリ303のパブリックキー409パブリックを(ディレクトリ413から収集されるように)使用して、メッセージ305を暗号化することができる。受け取り側アプリ303の暗号解読モジュール427は、その後、該モジュールのみが有する独自のプライベートキー409プライベートを使用して、受け取ったメッセージ305を暗号解読することができる。メッセージ305を複数の他のアプリ303に、(又は、エコシステム301内のアプリ303の全てに)送るため、送信側アプリ303は、独自のプライベートキー409プライベートを使用してメッセージ305を暗号化することができる。そのように、エコシステム301内の任意のアプリ303は、送信側アプリのパブリックキー409パブリックをディレクトリ413から読み込んで、メッセージ305を暗号解読することができるが、エコシステム301の外側の構成要素は、できない。アプリ303の通信モジュール424は、読み込みのみを条件として、データオブジェクト307(例えば、SDカード上に格納されたファイル)を1つ又はそれ以上の他のエコシステムアプリ303と共有することができ、この場合、共有側アプリの暗号化モジュール425は、他のエコシステムアプリ303の特定のアプリ又は複数のアプリがオブジェクト307にアクセスすることができると意図されているかどうかに応じて、メッセージ305の暗号化について論じた内容で先述したように、オブジェクト307を暗号化することができる。送信側アプリ以外のアプリ303によって書き込み可能であることになっている共有されたオブジェクト307については、エコシステム全体の左右対称の暗号化キー409エコシステムは、オブジェクト307を暗号化するために使用することができる。メッセージ305及び/又はオブジェクト307は、通信のクラス、暗号化の方法、及び、例えば、ヘッダで明らかなものにおいて暗号化するために使用されたキー409を示すことができる。受け取り側アプリ303は、その後、この情報を使用して、ペイロード内の暗号化されたコンテンツを暗号解読して該コンテンツにアクセスすることができる。一実施形態では、エコシステムアプリ303は、データをディレクトリ413に格納することによってデータを共有することができる。
セキュアエコシステム間オブジェクト307及びメッセージ305は、従来のメディア形式に基づくことができるが、先述したようにエコシステム固有のキー409を使用して暗号化することができることを理解されたい。したがって、エコシステムアプリ303があたかも内在する従来のメディア形式でかのようにエコシステム固有の暗号化されたコンテンツを処理しようとしたる場合には、試行は、失敗することになる。これは、オペレーティングシステムが特定の、関連のアプリを使用して所与のフォーマットでコンテンツを自動的に開こうとするためにそうなっている。これらのアプリは、内在する従来のメディア形式を処理するように構成されず、その代わりに暗号化されたデータを処理するように構成される。したがって、メディア形式の「空間」は、エコシステム301内のアプリ303による暗号化されたバージョンの処理を支持するように管理される。サポートされたメディア形式のリスト417が、該メディア形式の暗号化されたバージョンのためにMIME形式子へのマッピング、UTI(iOSの場合)及びファイル名拡張子とともに維持される。リスティング417は、暗号化されたエコシステム間のコンテンツを開いたときに、エコシステム固有の暗号化されたメッセージ305及びオブジェクト307を適切に処理するためにセキュアエコシステム構成要素101によって使用される。
共通の従来のメディア形式が、異なる販売会社によって書き込まれるアプリ303全体にわたって、並びに、異なる企業300又は配置下で動作するエコシステム301内で機能することが望ましい。したがって、一実施形態では、セキュアエコシステム構成要素101の発行元は、例えば、このリスト417を、許可されたサードパーティベンダー及びバックエンド企業サーバ309が購読することができるウェブサービスとして発行する。ソフトウェアベンダー及び企業顧客は、セキュアエコシステム構成要素101の発行元によって対応することができるリスト417への追加を要求することができる。これによって、同じメディア形式リスト417を企業300及びエコシステム301配置全体にわたって一貫して使用することができる。
エコシステム301が常駐するコンピューティングデバイス210のユーザは、アプリ303を既存のエコシステム301から除去することを選ぶことができる。そうするために、一実施形態では、ユーザは、アプリ303の記録415をディレクトリ413から除去するエージェント411を呼び出す。一実施形態では、そのような指示は、また、又は、その代わりに、企業300、例えば、バックエンド企業サーバ309のものとすることができる。一実施形態では、エコシステムからアプリ303を除去した後に、エージェント411は、エコシステム全体の左右対称の暗号化キー409エコシステム、並びに、独自のキー409を更新し、場合によっては、他のエコシステムアプリ303にキーペア409を更新するように指示する。アプリレベルのキー303が更新された場合、アプリ303は、新しいパブリックキー409パブリックをエージェント411に提供し、エージェント411は、新しいアプリレベルのパブリックキー409パブリックを含めるためにディレクトリ413を更新する。場合によっては、ユーザは、特にアプリ303をエコシステム301から除去することなく、アプリ303をコンピューティングデバイス210から単に削除することがあり得る。一実施形態では、エコシステム向けのアプリ303は、エージェント411に、削除処理の一環(一部)として上記の除去機能性を実行するように指示するように構成される。一部の実施形態では、エージェント411は、周期的に、ディレクトリ413内に記載されているがコンピューティングデバイス210から削除されたエコシステムアプリ303がないかを検索する。アプリ303についてコンピューティングデバイス210をスキャンする機構は、プラットフォーム固有である。例えば、iOS下では、エージェント411は、UIApplicationのcanOpenURL:方法を使用して所与のアプリ303の存在がないかチェックすることができる。Android下では、エージェント411は、アプリ303のAPKの場所を特定して署名の有効性を確認することができる。アプリ303が削除したと判定することに応答して、エージェント411は、ディレクトリ記録415を除去する(かつ、一部の実施形態では、上述したキー409処理を実行する)。
図6を参照すると、一部の実施形態では、コンピューティングデバイス210の外部の構成要素601は、エコシステムアプリ303にサービスを提供するために、エコシステム301の構成員とすることができる。そのような外部の構成要素601の実施例は、素早くEメール添付ファイルを暗号化及び暗号解読するActiveSyncゲートウェイ603である。外部の構成要素601の別の実施例は、クラウド型ファイル受け入れサービスに送受信されるコンテンツオブジェクト307の暗号化/解読サービスを提供するプロキシ605である。そのような外部の構成要素601は、非対称のキーペア409をバックエンド企業サーバ309から受け取ることができ、バックエンド企業サーバは、該サーバが信頼関係を有し、したがってエコシステム301承認の資格がある構成要素601にキー409を提供するだけである。一実施形態では、外部の構成要素601には、単一のキーペア409が提供され、一方、別の実施形態では、外部の構成要素601には、実行されるサービス当たりに1つのキーペア409が提供される。外部の構成要素601がオンラインになったとき、キーペア409へのアクセスが許可される。一実施形態では、外部の構成要素601は、方針構成についてバックエンド企業サーバ309にポーリングして、方針アップデートがないかバックエンド企業サーバ309を周期的にチェックすることを担当する。他の実施形態では、この情報は、例えば、バックエンド企業サーバ309又はコンピューティングデバイス210上のエージェント411によって外部の構成要素601に先を見越して提供することができる。バックエンド企業サーバ309は、コンピューティングデバイス210上のエージェント411と直接に相互作用して、それぞれの外部の構成要素601について(又は、該構成要素によって提供されるあらゆるサービスについて)記録415をディレクトリ413に追加することができる。したがって、そのような実施形態では、アプリ303がエコシステム301に参加するための上記のプロトコルは、外部の構成要素601については利用されない。
図7は、一部の実施形態に係る、コンピュータ210上のアプリ303のセキュアエコシステム301の動作のステップを示すフローチャートである。ディレクトリ作成モジュール403は、コンピューティングデバイス210上でエコシステムディレクトリ413を作成し701、エコシステムディレクトリ413は、方針情報及び特定のアプリ303に関する識別情報を含むエントリをエコシステム301内のそれぞれの特定のアプリ303について含む。キー生成モジュール401は、コンピュータ210上のそれぞれの特定のエコシステムのアプリ303について、非対称のキーペア309つまり、特定のアプリ303がエコシステム301内のアプリ303のみと共有するパブリックキー409パブリック、及び、特定のアプリ303が全く共有しないプライベートキー409プライベートを生成する703。通信モジュールは、メッセージ305及びデータオブジェクト307がエコシステム301内からの承認なしでエコシステム301の外部からアクセスすることができないように、メッセージ305及びデータオブジェクト307を適切なエコシステムアプリキー409で暗号化及び暗号解読することによって、企業情報管理方針に従ってエコシステム301内のアプリ303間でメッセージ305及びデータオブジェクト307をセキュアに通信する705。
当該技術分野を知る業者には理解されるように、本発明は、その趣旨又は本質的特徴から逸脱することなく、他の具体的な形態で実施することができる。同様に、部分、モジュール、エージェント、マネージャー、構成要素、機能、手順、処置、階層、特徴、属性、方法論、データ構造、及びその他の態様の具体的な名称及び区分は、必須のものでも重要なものでもなく、本発明又はその特徴を実施するメカニズムは、別の名称、区分、及び/又は形式を有し得る。説明目的のための上記の記述は、特定の実施形態を参照して記述されている。しかしながら、上記の例示的議論は網羅的であることを意図したものではなく、開示されている正確な形態に限定することを意図したものでもない。上述の教示を考慮して、多くの修正及び変更が可能である。実施形態は、関連する原理及びその実際的な適用を最適に説明するよう選択かつ記述されており、これにより、他の当業者が、想到される特定の使用に好適であり得るような様々な改変を行うか行わないかにかかわらず、様々な実施形態を最適に利用できる。

Claims (13)

  1. コンピューティングデバイス上の少なくとも複数のアプリを含むセキュアエコシステムを提供する、コンピュータにより実行される方法であって、前記エコシステム内の前記アプリは、前記エコシステムの外部からの無許可のアクセスを可能にすることなく、暗号化されたデータを企業の情報管理方針に従ってセキュアに交換し、前記方法は、
    前記コンピューティングデバイス上のエコシステムエージェントによって、エコシステムディレクトリを作成するステップであって、前記エコシステムディレクトリは、前記エコシステム内のそれぞれの特定のアプリのエントリを含み、それぞれのエントリは、前記特定のアプリに関する方針情報と、前記特定のアプリに関する識別情報とを含み、前記エコシステムエージェントは、前記エコシステム内のアプリである、ステップと、
    前記コンピューティングデバイス上のそれぞれの特定のエコシステム向けのアプリによって、非対称のキーペア、つまり、前記特定のアプリが前記エコシステム内のアプリとのみ共有するパブリックキー、及び、前記特定のアプリが全く共有しないプライベートキーを生成するステップと、
    データを前記エコシステム内のアプリ間でセキュアに通信して、前記通信されたデータは、前記エコシステム内からの承認なしに前記エコシステムの外部からアクセスすることはできないようになっているステップであって、
    前記エコシステム内の提供側アプリによってデータを第1のキーで暗号化して、前記エコシステム内の少なくとも1つの受け取り側アプリは、前記データを第2のキーで暗号解読することができるようになっているステップを更に含む、サブステップと、
    第1のエコシステムアプリによって、第2のエコシステムアプリのパブリックキーを前記エコシステムディレクトリから読み込むサブステップと、
    前記第1のエコシステムアプリによって、前記第2のエコシステムアプリの前記パブリックキーを使用して、前記第2のエコシステムアプリにセキュアに通信するべきメッセージと前記第2のエコシステムアプリとセキュアに共有するべきデータオブジェクトとを含む群から少なくとも1つを暗号化するサブステップと、
    前記暗号化されたメッセージを前記第1のエコシステムアプリから前記第2のエコシステムアプリに通信することと、前記第1のエコシステムによって、前記暗号化されたデータオブジェクトを前記第2のエコシステムアプリと共有することとを含む群から少なくとも1つを実行するサブステップと、
    前記第2のエコシステムアプリによって、前記第2のエコシステムアプリのプライベートキーを使用して、前記通信されたメッセージと前記データオブジェクトとを含む群から少なくとも1つを暗号解読するサブステップと、
    を含むステップと、
    前記エコシステム内のそれぞれの特定のアプリによって、企業情報管理方針に従うステップと、
    を含方法。
  2. エコシステムディレクトリを作成するステップは、
    前記コンピューティングデバイス上の位置にて前記エコシステムディレクトリを前記エコシステムエージェントによって作成するステップを更に含み、前記エコシステムディレクトリの前記位置は、前記エコシステムの名前に基づく、請求項1に記載の方法。
  3. エコシステムディレクトリを作成するステップは、
    前記エコシステムエージェントによって、前記エコシステムディレクトリを前記エコシステムエージェントのプライベートキーで暗号化して、前記エコシステムエージェントのパブリックキーは、前記エコシステムディレクトリを暗号解読するために必要とされるようになっているステップを更に含む、請求項1に記載の方法。
  4. エコシステムディレクトリを作成するステップは、
    前記エコシステムエージェントによって前記エコシステムディレクトリを作成して、前記エコシステム内のそれぞれの特定のアプリの前記含まれたエントリは、少なくとも、1)前記特定のアプリの方針と、2)前記特定のアプリが方針アップデートを取得することを可能にする情報と、3)前記エコシステム内の他のアプリが暗号化されたデータを前記特定のアプリにセキュアに通信することを可能にする前記特定のアプリに関する情報とを含むようになっているステップを更に含む、請求項1に記載の方法。
  5. エコシステムディレクトリを作成するステップは、
    前記エコシステムエージェントによって前記エコシステムディレクトリへのエントリを書き込むステップを更に含み、前記書き込まれたエントリは、少なくとも、前記エコシステムエージェントの方針と、前記エコシステムエージェントが方針アップデートを取得することを可能にする情報と、前記エコシステム内の他のアプリが暗号化されたデータを前記エコシステムエージェントにセキュアに通信することを可能にする前記エコシステムエージェントに関する情報と、を含む、請求項1に記載の方法。
  6. 前記エコシステムエージェントによって少なくとも1つのエコシステム全体のキーを生成するステップと、
    前記少なくとも1つのエコシステム全体のキーを使用して、前記エコシステムの前記アプリのパブリックキーを暗号化及び暗号解読し、それによって前記エコシステムの外部からの前記エコシステムの前記アプリの前記パブリックキーのアクセスを防止するステップと、を更に含む、請求項1に記載の方法。
  7. データを前記エコシステム内のアプリ間でセキュアに通信するステップは、
    前記第1のエコシステムアプリにより、前記第1のエコシステムアプリのプライベートキーを使用して、複数の他のエコシステムアプリにセキュアに通信するべきメッセージを暗号化するステップと、
    前記暗号化されたメッセージを前記第1のエコシステムアプリから前記複数の他のエコシステムアプリに通信するステップと、
    前記複数の他のエコシステムアプリにより、前記第1のエコシステムアプリのパブリックキーを前記エコシステムディレクトリから読み込むステップと、
    前記第1のエコシステムアプリの前記パブリックキーを使用して、前記複数の他のエコシステムアプリによって前記メッセージを暗号解読するステップと、を更に含む、請求項1に記載の方法。
  8. データを前記エコシステム内のアプリ間でセキュアに通信するステップは、
    前記第1のエコシステムアプリによって、前記第1のエコシステムアプリのプライベートキーを使用して、複数の他のエコシステムアプリとセキュアに共有するべきデータオブジェクトを暗号化するステップと、
    前記第1のエコシステムアプリによって、前記暗号化されたデータオブジェクトを前記複数の他のエコシステムアプリと共有するステップと、
    前記複数の他のエコシステムアプリにより、前記第1のエコシステムアプリのパブリックキーを前記エコシステムディレクトリから読み込むステップと、
    前記第1のエコシステムアプリの前記パブリックキーを使用して、前記複数の他のエコシステムアプリによって前記データオブジェクトを暗号解読するステップと、を更に含む、請求項1に記載の方法。
  9. アプリによって、前記エコシステムに参加する要求で前記エコシステムエージェントを呼び出すステップと、
    前記エコシステムエージェントによって、前記呼び出し用アプリの信頼関係状態の有効性を確認するステップと、
    前記エコシステムに参加する上で信頼できると前記呼び出し用アプリの有効性を確認することに応答して、前記エコシステムエージェントによって、前記呼び出し用アプリを前記エコシステムに追加するステップと、を更に含む、請求項1に記載の方法。
  10. 前記呼び出し用アプリを前記エコシステムに追加するステップは、
    前記エコシステムエージェントによって、前記エコシステムディレクトリへのエントリを書き込むステップであって、前記書き込まれたエントリは、少なくとも前記呼び出し用アプリの方針と、前記呼び出し用アプリが方針アップデートを取得することを可能にする情報と、前記エコシステム内の他のアプリが暗号化されたデータを前記呼び出し用アプリにセキュアに通信することを可能にする前記呼び出し用アプリに関する情報とを含む、ステップと、
    前記エコシステムエージェントのパブリックキー及び前記エコシステム全体のキーを前記呼び出し用アプリに提供し、それによって、前記呼び出し用アプリが、前記エコシステムエージェントのパブリックキーを前記エコシステム全体のキーで暗号解読し、かつ、前記ディレクトリを前記エコシステムエージェントのパブリックキーで暗号解読することを可能にするステップと、を更に含む、請求項1に記載の方法。
  11. コンピューティングデバイス上の少なくとも複数のアプリを含むセキュアなエコシステムを提供する少なくとも1つの非一過性コンピュータ可読媒体であって、前記エコシステム内の前記アプリは、前記エコシステムの外部からの無許可のアクセスを可能にすることなく、企業の情報管理方針に従って、暗号化されたデータをセキュアに交換し、前記少なくとも1つの非一過性コンピュータ可読媒体は、コンピュータメモリに取り込まれてプロセッサによって実行されたとき、
    前記コンピューティングデバイス上のエコシステムエージェントによって、エコシステムディレクトリを作成するステップであって、前記エコシステムディレクトリは、前記エコシステム内のそれぞれの特定のアプリのエントリを含み、それぞれのエントリは、前記特定のアプリに関する方針情報と、前記特定のアプリに関する識別情報とを含み、前記エコシステムエージェントは、前記エコシステム内のアプリである、ステップと、
    前記コンピューティングデバイス上のそれぞれの特定のエコシステム向けのアプリによって、非対称のキーペア、つまり、前記特定のアプリが前記エコシステム内のアプリとのみ共有するパブリックキー、及び、前記特定のアプリが全く共有しないプライベートキーを生成するステップと、
    データを前記エコシステム内のアプリ間でセキュアに通信して、前記通信されたデータは、前記エコシステム内からの承認なしに前記エコシステムの外部からアクセスすることはできないようになっているステップであって、データを前記エコシステム内のアプリの間セキュアに通信するステップは、
    前記エコシステム内の提供側アプリによってデータを第1のキーで暗号化して、前記エコシステム内の少なくとも1つの受け取り側アプリは、前記データを第2のキーで暗号解読することができるようになっているサブステップと、
    第1のエコシステムアプリによって、第2のエコシステムアプリのパブリックキーを前記エコシステムディレクトリから読み込むサブステップと、
    前記第1のエコシステムアプリによって、前記第2のエコシステムアプリの前記パブリックキーを使用して、前記第2のエコシステムアプリにセキュアに通信するべきメッセージと、前記第2のエコシステムアプリとセキュアに共有するべきデータオブジェクトとを含む群から少なくとも1つを暗号化するサブステップと、
    前記暗号化されたメッセージを前記第1のエコシステムアプリから前記第2のエコシステムアプリに通信することと、前記第1のエコシステムによって、前記暗号化されたデータオブジェクトを前記第2のエコシステムアプリと共有することとを含む群から少なくとも1つを実行するサブステップと、
    前記第2のエコシステムアプリによって、前記第2のエコシステムアプリのプライベートキーを使用して、前記通信されたメッセージと前記データオブジェクトとを含む群から少なくとも1つを暗号解読するサブステップと、
    を含む、ステップと、
    前記エコシステム内のそれぞれの特定のアプリによって、企業情報管理方針に従うステップと、を実行するプログラムコードを格納する、非一過性コンピュータ可読媒体。
  12. 少なくとも複数のモバイルアプリを含むセキュアエコシステムを提供するモバイルコンピューティングデバイスであって、前記エコシステム内の前記モバイルアプリは、前記エコシステムの外部からの無許可のアクセスを可能にすることなく、企業の情報管理方針に従って、暗号化されたデータをセキュアに交換し、前記モバイルコンピューティングデバイスは、
    コンピュータメモリと、
    少なくとも1つのプロセッサと、
    エコシステムディレクトリを作成する手段であって、前記エコシステムディレクトリは、前記エコシステム内のそれぞれの特定のモバイルアプリのエントリを含み、それぞれのエントリは、前記特定のモバイルアプリに関する方針情報と、前記特定のモバイルアプリに関する識別情報とを含む、手段と、
    前記モバイルコンピューティングデバイス上のそれぞれの特定のエコシステム向けのモバイルアプリによって、非対称のキーペア、つまり、前記特定のモバイルアプリが前記エコシステム内のモバイルアプリとのみ共有するパブリックキー、及び、前記特定のモバイルアプリが全く共有しないプライベートキーを生成する手段と、
    データを前記エコシステム内のモバイルアプリ間でセキュアに通信して、前記通信されたデータは、前記エコシステム内からの承認なしに前記エコシステムの外部からアクセスすることはできないようになっている手段であって、データを前記エコシステム内のモバイルアプリ間でセキュアに通信するステップは、
    前記エコシステム内の提供側モバイルアプリによってデータを第1のキーで暗号化して、前記エコシステム内の少なくとも1つの受け取り側モバイルアプリは、前記データを第2のキーで暗号解読することができるようになっているサブステップと、
    第1のエコシステムアプリによって、第2のエコシステムアプリのパブリックキーを前記エコシステムディレクトリから読み込むサブステップと、
    前記第1のエコシステムアプリによって、前記第2のエコシステムアプリの前記パブリックキーを使用して、前記第2のエコシステムアプリにセキュアに通信するべきメッセージと前記第2のエコシステムアプリとセキュアに共有するべきデータオブジェクトとを含む群から少なくとも1つを暗号化するサブステップと、
    前記暗号化されたメッセージを前記第1のエコシステムアプリから前記第2のエコシステムアプリに通信することと、前記第1のエコシステムによって、前記暗号化されたデータオブジェクトを前記第2のエコシステムアプリと共有することとを含む群から少なくとも1つを実行するサブステップと、
    前記第2のエコシステムアプリによって、前記第2のエコシステムアプリのプライベートキーを使用して、前記通信されたメッセージと前記データオブジェクトとを含む群から少なくとも1つを暗号解読するサブステップと、
    を含む、手段と、
    前記エコシステム内のそれぞれの特定のモバイルアプリによって、企業情報管理方針に従う手段と、を備える、モバイルコンピューティングデバイス。
  13. 前記エコシステム内のそれぞれの特定のアプリによって、企業情報管理方針に従うステップは、
    前記エコシステム内のそれぞれの特定のアプリによって、前記特定のアプリの方針を前記エコシステムディレクトリから読み込むステップと、
    前記エコシステム内のそれぞれの特定のアプリによって、方針に従うステップと、を含む、請求項1に記載の方法。
JP2015529975A 2012-08-29 2013-08-28 企業情報管理方針に従ったキー及びデータ交換を伴うセキュアアプリエコシステムを提供する方法、非一過性コンピュータ可読媒体、及びモバイルコンピューティングデバイス Active JP6009083B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/598,248 2012-08-29
US13/598,248 US9286477B2 (en) 2012-08-29 2012-08-29 Secure app ecosystem with key and data exchange according to enterprise information control policy
PCT/US2013/056967 WO2014036068A1 (en) 2012-08-29 2013-08-28 Secure app ecosystem with key and data exchange according to enterprise information control policy

Publications (3)

Publication Number Publication Date
JP2015532054A JP2015532054A (ja) 2015-11-05
JP2015532054A5 JP2015532054A5 (ja) 2016-09-08
JP6009083B2 true JP6009083B2 (ja) 2016-10-19

Family

ID=50184273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015529975A Active JP6009083B2 (ja) 2012-08-29 2013-08-28 企業情報管理方針に従ったキー及びデータ交換を伴うセキュアアプリエコシステムを提供する方法、非一過性コンピュータ可読媒体、及びモバイルコンピューティングデバイス

Country Status (6)

Country Link
US (1) US9286477B2 (ja)
EP (1) EP2891055A4 (ja)
JP (1) JP6009083B2 (ja)
CN (1) CN104520805B (ja)
CA (1) CA2881539C (ja)
WO (1) WO2014036068A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9866382B2 (en) * 2012-12-21 2018-01-09 Mobile Iron, Inc. Secure app-to-app communication
US9059974B2 (en) 2012-12-21 2015-06-16 Mobile Iron, Inc. Secure mobile app connection bus
US20140188970A1 (en) * 2012-12-29 2014-07-03 Cloudcar, Inc. System and method enabling service and application roaming
US20140281499A1 (en) * 2013-03-15 2014-09-18 Openpeak Inc. Method and system for enabling communications between unrelated applications
US20150074684A1 (en) * 2013-09-11 2015-03-12 Cellrox, Ltd. Techniques for enabling inter-process communication (ipc) among multiple personas in a mobile technology platform
WO2015175729A1 (en) * 2014-05-13 2015-11-19 Dennis Quan Systems and methods for managing, sharing, and organizing information stored on multiple cloud services
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10171437B2 (en) 2015-04-24 2019-01-01 Oracle International Corporation Techniques for security artifacts management
CN104811454B (zh) * 2015-05-11 2018-01-19 中国电力科学研究院 一种基于门限密码理论的访问控制方法
US10699020B2 (en) 2015-07-02 2020-06-30 Oracle International Corporation Monitoring and alert services and data encryption management
CN106407832B (zh) * 2015-08-03 2021-03-09 阿里巴巴集团控股有限公司 一种用于数据访问控制的方法及设备
US9639708B2 (en) * 2015-08-18 2017-05-02 Google Inc. Methods and systems of encrypting file system directories
US11086771B2 (en) * 2015-10-13 2021-08-10 Apptimize Llc Dynamic management and control of test features in native applications
US9588758B1 (en) 2015-12-18 2017-03-07 International Business Machines Corporation Identifying user managed software modules
US11424931B2 (en) * 2016-01-27 2022-08-23 Blackberry Limited Trusted execution environment
US10044719B2 (en) 2016-01-29 2018-08-07 Zscaler, Inc. Client application based access control in cloud security systems for mobile devices
US10599409B2 (en) 2016-02-02 2020-03-24 Blackberry Limited Application lifecycle operation queueing
US11063980B2 (en) * 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
EP4327742A1 (en) * 2016-03-31 2024-02-28 DexCom, Inc. Systems and methods for inter-app communications
US10652279B1 (en) 2016-08-24 2020-05-12 Alertsec, Inc. Encryption compliance verification system
US10860723B1 (en) 2016-08-24 2020-12-08 Alertsec, Inc. Encryption compliance verification system
TWI605358B (zh) * 2016-08-31 2017-11-11 啟碁科技股份有限公司 通訊集線器及其應用程式間的訊息驗證方法
US10956237B2 (en) * 2017-06-02 2021-03-23 Oracle International Corporation Inter-application sharing of business intelligence data
US10708244B2 (en) * 2017-06-07 2020-07-07 Virtual Connect Technologies, Inc. System and method for encryption, storage and transmission of digital information
CN108156143A (zh) * 2017-12-14 2018-06-12 上海格尔安全科技有限公司 基于可信执行环境的Android应用程序之间的安全通信方法
CA3123212A1 (en) 2018-12-19 2020-06-25 Dexcom, Inc. Intermittent monitoring
US11093628B2 (en) 2019-02-14 2021-08-17 International Business Machines Corporation Cross-domain content-lifecycle management
US11271738B1 (en) * 2020-10-01 2022-03-08 Sap Se Secure, reliable, and decentralized communication in cloud platform

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3416268B2 (ja) * 1994-06-30 2003-06-16 キヤノン株式会社 画像認識装置及びその方法
US5781633A (en) * 1996-07-01 1998-07-14 Sun Microsystems, Inc. Capability security for transparent distributed object systems
US20050182966A1 (en) * 2004-02-17 2005-08-18 Duc Pham Secure interprocess communications binding system and methods
JP2009508412A (ja) * 2005-09-08 2009-02-26 サンディスク コーポレーション メディアコンテンツのセキュアストレージと配信のためのモバイルメモリシステム
US20070043667A1 (en) 2005-09-08 2007-02-22 Bahman Qawami Method for secure storage and delivery of media content
US7761503B2 (en) * 2006-01-06 2010-07-20 Microsoft Corporation Peer distribution point feature for system management server
ATE508551T1 (de) * 2006-05-16 2011-05-15 Sap Ag Kontext-sensitivitätsbasierte kryptographie
US8369526B2 (en) * 2008-02-12 2013-02-05 Discretix Technologies Ltd. Device, system, and method of securely executing applications
WO2010132617A2 (en) * 2009-05-12 2010-11-18 Chronicmobile, Inc. Methods and systems for managing, controlling and monitoring medical devices via one or more software applications functioning in a secure environment
IN2012DN01925A (ja) * 2009-12-04 2015-07-24 Ericsson Telefon Ab L M
WO2012016091A2 (en) * 2010-07-28 2012-02-02 Nextlabs, Inc. Protecting documents using policies and encryption
US9147085B2 (en) 2010-09-24 2015-09-29 Blackberry Limited Method for establishing a plurality of modes of operation on a mobile device
US9270490B2 (en) * 2010-10-22 2016-02-23 Sabse Technologies, Inc. Contextual presence system and associated methods
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
US8352749B2 (en) * 2010-12-17 2013-01-08 Google Inc. Local trusted services manager for a contactless smart card
US8549656B2 (en) * 2011-02-11 2013-10-01 Mocana Corporation Securing and managing apps on a device
US8644800B2 (en) 2011-02-15 2014-02-04 Blackberry Limited System and method for identity management for mobile devices
US9251315B2 (en) * 2011-12-09 2016-02-02 Verizon Patent And Licensing Inc. Security key management based on service packaging
US9436940B2 (en) * 2012-07-09 2016-09-06 Maxim Integrated Products, Inc. Embedded secure element for authentication, storage and transaction within a mobile terminal

Also Published As

Publication number Publication date
US9286477B2 (en) 2016-03-15
CN104520805A (zh) 2015-04-15
EP2891055A4 (en) 2016-04-13
WO2014036068A1 (en) 2014-03-06
CN104520805B (zh) 2017-08-08
JP2015532054A (ja) 2015-11-05
EP2891055A1 (en) 2015-07-08
US20140068273A1 (en) 2014-03-06
CA2881539A1 (en) 2014-03-06
CA2881539C (en) 2017-10-03

Similar Documents

Publication Publication Date Title
JP6009083B2 (ja) 企業情報管理方針に従ったキー及びデータ交換を伴うセキュアアプリエコシステムを提供する方法、非一過性コンピュータ可読媒体、及びモバイルコンピューティングデバイス
US11301575B2 (en) Secure data synchronization
US9306945B2 (en) Client authentication during network boot
CN110855791B (zh) 一种区块链节点部署方法及相关设备
US20170054760A1 (en) Policy-Based Application Management
US9385996B2 (en) Method of operating a computing device, computing device and computer program
US8918641B2 (en) Dynamic platform reconfiguration by multi-tenant service providers
US20140095894A1 (en) Policy-Based Application Management
US20180288617A1 (en) Transferable ownership tokens for discrete, identifiable devices
US20140040979A1 (en) Policy-Based Application Management
JP2003233589A (ja) 複数のユーザ間で個人用機器を安全に共有する方法
JP2018502368A (ja) 共有されるネットワーク化された環境においてデータを記憶するための方法、ストレージ・サブシステム、クラウド・ストレージ・システム、データ処理プログラム、およびコンピュータ・プログラム製品(クラウド環境における機密データの自動化された管理)
TW201251482A (en) Apparatus and methods for storing electronic access clients
US10579830B1 (en) Just-in-time and secure activation of software
US10630722B2 (en) System and method for sharing information in a private ecosystem
US9524394B2 (en) Method and apparatus for providing provably secure user input/output
EP4350554A2 (en) Secure count in cloud computing networks
CN113992346A (zh) 一种基于国密加固的安全云桌面的实现方法
US11979411B2 (en) Control of access to computing resources implemented in isolated environments
US10462113B1 (en) Systems and methods for securing push authentications
JP2024510461A (ja) 接続回復力のある多要素認証
TW202347354A (zh) 基於區塊鏈的應用共用方法、檔案共用方法、裝置
WO2020177116A1 (zh) 仿冒app识别方法及装置
CN112948839A (zh) 一种采用密夹客户端管理数据的方法、系统及装置
Samawi Security in Mobile Computing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160720

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160720

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160720

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160913

R150 Certificate of patent or registration of utility model

Ref document number: 6009083

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250