JP6014671B2 - モバイルデバイス上にセキュア仮想環境を提供するための方法および装置 - Google Patents

モバイルデバイス上にセキュア仮想環境を提供するための方法および装置 Download PDF

Info

Publication number
JP6014671B2
JP6014671B2 JP2014525186A JP2014525186A JP6014671B2 JP 6014671 B2 JP6014671 B2 JP 6014671B2 JP 2014525186 A JP2014525186 A JP 2014525186A JP 2014525186 A JP2014525186 A JP 2014525186A JP 6014671 B2 JP6014671 B2 JP 6014671B2
Authority
JP
Japan
Prior art keywords
virtual environment
secure
data
mobile device
secure virtual
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
JP2014525186A
Other languages
English (en)
Other versions
JP2014525612A (ja
Inventor
チャールズ・シー・ケリー
ジョシュア・アール・デイヴィス
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2014525612A publication Critical patent/JP2014525612A/ja
Application granted granted Critical
Publication of JP6014671B2 publication Critical patent/JP6014671B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/37Managing security policies for mobile devices or for controlling mobile applications

Description

本発明は、一般に、コンピューティングデバイスのシステムアーキテクチャに関し、より詳細には、モバイルデバイス上にセキュア仮想環境を提供するための方法およびシステムに関する。
情報およびネットワークのセキュリティは、会社、サービスプロバイダ、および政府にとって重要である。パスワードおよび電子メールからドキュメントおよびデータファイルにいたるまで、すべてのタイプのデータは保護される必要がある。モバイルデバイス上のセキュリティに対するニーズは、それらが紛失または盗難を受けやすいために高まっている。過去に、モバイルデバイスのネットワークセキュリティ問題は、アクセスされるネットワークに固有の独立したアプリケーションを作成すること、またはモバイルデバイス全体にセキュリティプロトコルを適用することによって対処されたことがある。どちらの手法もデバイスのユーザに対して破壊的であり、モバイルデバイスの機能性を縮小する。完全にスタンドアロンのアプリケーションは、独自のユーザインターフェースを有し、狭い目的用にのみ設計される。スタンドアロンのアプリケーションは、モバイルデバイスユーザに制限された機能の実行しか許さず、モバイルデバイスの全能力と統合されない。現在の代替案としてモバイルデバイス全体にセキュリティプロトコルを適用すると、モバイルデバイス上にある任意の個人データにリスクがもたらされる。自分のモバイルデバイスが単一の目的であるセキュアネットワーク専用になり、個人用途に使用できないので、ユーザはこの手法を好まない。
様々な態様は、ドキュメント処理用およびセキュアな作業の実行用のモバイルデバイスの内部にセキュア仮想環境を提供する。態様の方法は、ドキュメントの暗号化を使用して、モバイルデバイス上のセキュアでないデータからセキュアなデータおよびドキュメントを隔離できるセキュアアプリケーション環境を作成し、セキュリティポリシーの適用をセキュアアプリケーション環境のみに許可する。セキュアアプリケーション環境を作成すると、必要なドキュメントセキュリティを企業体に提供しながら、モバイルデバイス上のすべてのデータを保護する必要なしに、明確に指定されたセキュアデバイスだけでなく、任意のモバイルデバイス上でモバイルデバイスユーザがセキュアデータにアクセスし、セキュアデータを操作することが可能になる。
様々な態様の方法およびデバイスにより、モバイルデバイス上でセキュアアプリケーションを開始すること、セキュアアプリケーションを使用して操作される任意のデータを、セキュアアプリケーションを使用して暗号化すること、およびセキュアアプリケーションを使用して操作されるデータを暗号化された形式でモバイルデバイス上に記憶することにより、モバイルデバイス上でデータを保護することが実現される。
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的な態様を示す。上記の概略的な説明および下記の発明を実施するための形態とともに、図面は本発明の特徴を説明するのに役立つ。
一態様によるモバイルデバイスのモジュールの機能ブロック図である。 別の態様によるモバイルデバイスのモジュールの機能ブロック図である。 さらに別の態様によるモバイルデバイスのモジュールの機能ブロック図である。 様々な実施形態とともに使用するのに適したワイヤレスネットワークの通信システムブロック図である。 ネットワークのソフトウェアアーキテクチャ図である。 ネットワークのソフトウェアアーキテクチャ図である。 一態様によるメモリ構造図である。 別の態様によるメモリ構造図である。 モバイルデバイス上にセキュア仮想環境を実装するための一態様の方法を示すプロセスフロー図である。 セキュア仮想環境を使用するモバイルデバイスで受信されたデータと相互作用するための一態様の方法を示すプロセスフロー図である。 セキュア仮想環境を使用するモバイルデバイスで受信されたデータと相互作用するための別の態様の方法を示すプロセスフロー図である。 一態様によるセキュア仮想環境のプログラム要素の機能ブロック図である。 別の態様によるセキュア仮想環境のプログラム要素の機能ブロック図である。 セキュア仮想環境の一態様を使用するセキュリティ手法のシステムアーキテクチャ図である。 セキュア仮想環境の別の態様を使用するセキュリティ手法のシステムアーキテクチャ図である。 セキュア仮想環境のさらに別の態様を使用するセキュリティ手法のシステムアーキテクチャ図である。 セキュア仮想環境の一態様を使用するセキュリティ手法のシステムアーキテクチャ図である。 セキュア仮想環境の別の態様を使用するセキュリティ手法のシステムアーキテクチャ図である。 セキュア仮想環境のさらに別の態様を使用するセキュリティ手法のシステムアーキテクチャ図である。 セキュア仮想環境の一態様を具現化するモバイルデバイスのブロック図である。 セキュア仮想環境の別の態様を具現化するモバイルデバイスのブロック図である。 セキュア仮想環境の一態様を具現化するモバイルデバイスのブロック図である。 セキュア仮想環境の別の態様を具現化するモバイルデバイスのブロック図である。 モバイルデバイス上のセキュア仮想環境にプロビジョニングできる企業ポリシーの潜在的な要素の概略図である。 セキュア仮想環境を使用するモバイルデバイス上で受信されたモバイルアプリケーションをソートするための一態様の方法のプロセスフロー図である。 モバイルデバイスで受信される潜在的なアプリケーションの概略図である。 モバイルデバイスで受信される潜在的なデータの概略図である。 モバイルデバイスで受信される潜在的なデータの概略図である。 モバイルデバイスに企業ポリシーをプロビジョニングするための一態様の方法のプロセスフロー図である。 モバイルデバイス上で信用できるデータタイプを更新するための一態様の方法のプロセスフロー図である。 企業ポリシーを更新してセキュアメモリからデータタイプを削除するための方法を示すプロセスフロー図である。 企業ポリシーの更新後モバイルデバイスから信用できるアプリケーションを除去するための一態様の方法のプロセスフロー図である。 セキュア環境アプリケーションを介して指示できる、モバイルデバイス上の企業イベントを行うための一態様の方法のプロセスフロー図である。 セキュア環境アプリケーションを介して指示できる、モバイルデバイス上の企業イベントを行うための別の態様の方法のプロセスフロー図である。 ユーザインターフェースU/Iのディスプレイレベル、セキュア仮想環境とネットワークレベルとの間の相互作用を管理するための一態様の方法のプロセスフロー図である。 モバイルデバイスでセキュア仮想環境を有効にするための一態様の方法のプロセスフロー図である。 信用できるアプリケーションにユーザが繰り返しログインすることなしに、それらのアプリケーションにアクセスすることを許可するための一態様の方法のプロセスフロー図である。 様々な実施形態とともに使用するのに適した例示的なモバイルデバイスのコンポーネント図である。
様々な態様が、添付の図面を参照して詳細に記載される。可能な場合はいつでも、同じかまたは同様の部分を指すために、図面全体にわたって同じ参照番号が使用される。具体的な例および実装形態への言及は説明のためであり、本発明の範囲または本特許請求の範囲を限定するものではない。
「例示的」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。本明細書に「例示的」と記載されるいかなる実装形態も、必ずしも他の実装形態よりも好ましいかまたは有利であると解釈されるべきではない。
本明細書で使用する「モバイルデバイス」という用語は、携帯電話、パーソナルテレビジョン受信機、携帯情報端末(PDA)、パームトップコンピュータ、ノートブックコンピュータ、パーソナルコンピュータ、ワイヤレス電子メール受信機および携帯電話受信機(たとえば、Blackberry(登録商標)デバイスおよびTreo(登録商標)デバイス)、マルチメディアインターネット対応携帯電話(たとえば、Blackberry Storm(登録商標))、マルチメディア対応スマートフォン(たとえば、Android(登録商標)およびApple iPhone(登録商標))、ならびにプログラマブルプロセッサ、メモリ、通信トランシーバ、およびディスプレイを含む類似の電子デバイスのうちのいずれか1つまたはすべてを指す。
本明細書で使用する「企業体」という用語は、モバイルデバイスにセキュリティポリシーを設定することを望む可能性がある任意の会社、法人、政府、個人、または他の団体を指す。
情報およびネットワークのセキュリティは、会社、サービスプロバイダ、および政府にとって重要である。パスワードおよび電子メールからドキュメントおよびデータファイルにいたるまで、すべてのタイプのデータは保護される必要がある。モバイルデバイス上のセキュリティに対するニーズは、モバイルデバイスがしばしば紛失または盗難にあうという事実によって高められる。様々な態様は、ドキュメント処理用およびセキュア作業の実行用のモバイルデバイスの内部に、セキュアでない個人的な使用のためのデバイスのドキュメント対応使用を保護するセキュア仮想環境を提供する。態様の方法は、暗号化および制御された解読を介してモバイルデバイス上の非セキュアデータからセキュアなデータおよびドキュメントが隔離されるセキュアアプリケーション環境を作成し、セキュアアプリケーション環境のみにセキュリティポリシーの適用を許可する。セキュアアプリケーション環境を作成すると、必要なドキュメントセキュリティを企業体に提供しながら、モバイルデバイス上のすべてのデータを保護する必要なしに、明確に指定されたセキュアデバイスだけでなく、任意のモバイルデバイス上でユーザがセキュアデータにアクセスし、セキュアデータを操作することが可能になる。
概して、様々な態様の方法およびデバイスは、モバイルデバイス上にリモートで管理可能なセキュア仮想環境を作成する。このセキュア仮想環境は、アプリケーションとして、別のアプリケーション(たとえば、ワードプロセッシングアプリケーション)内のモジュールとして、またはデバイスのオペレーティングシステムの一部として、モバイルデバイス上に実装することができる。セキュア仮想環境が開始されたとき、ユーザは、ユーザ名、パスワード、セキュアキー、および/または生体データを入力することなどにより、セキュア仮想環境に彼自身または彼女自身を認証する。ユーザが認証されると、セキュア仮想環境により、ユーザがセキュア仮想環境の内部で、またはそれと連携して動作する様々なアプリケーションを使用して、セキュアなドキュメントおよびデータにアクセスし、それらを操作し、受信し、記憶することが可能になる。セキュア仮想環境は、セキュア仮想環境内にデータの暗号化/解読を適用することによって、セキュア仮想環境内で表示され、操作され、または作成されるすべてのデータを、モバイルデバイス上の他のすべてのデータから隔離する。デバイス上のセキュアデータは、暗号化フォーマットで記憶される。セキュア仮想環境は、アプリケーションがセキュアドキュメントを開いたときなどの、セキュア仮想環境内の認証されたユーザによって表示されたとき、データを解読する。ユーザがデータを仕上げたとき、セキュア仮想環境は、モバイルデバイス上に記憶するためにデータを再度暗号化する。このようにして、セキュアデータはアクセスされないときは暗号化され、そのようなデータはセキュア仮想環境を介してのみアクセスできるので、セキュアデータおよび非セキュアデータはモバイルデバイス上に存在することができる。モバイルデバイスが紛失したまたは盗難にあった場合、セキュアデータは、使用されないときは常に暗号化された形式で存在するので保護される。
別の態様では、セキュア仮想環境は、モバイルデバイスとセキュアネットワークとの間の通信ゲートウェイとして機能することができる。セキュア仮想環境が起動され、ユーザが認証されたとき、セキュア仮想環境は、任意の通信ネットワーク、ドメイン、またはアプリケーションとインターフェースして、それらのネットワーク、ドメイン、またはアプリケーションにユーザの認証情報を自動的に提供する。セキュアアクセス用のゲートウェイとして機能することにより、ユーザは、自分が使用したい各ネットワーク、ドメイン、またはアプリケーションに個別にログインする必要がない。この態様により、ユーザが自分のモバイルデバイス上で自分のセキュアな会社の電子メールにアクセスし、セキュアな電子メールシステムのデータ(たとえば、メッセージ、カレンダ、連絡先リストなど)を維持することが可能になり、なぜならそれらのデータはセキュア仮想環境が稼動していないときは暗号化されるからである。暗号化された通信は、仮想プライベートネットワーク(VPN)アプリケーションなどの別のアプリケーションによって達成することができ、またはオプションで、セキュア仮想環境によって提供することもできる。
別の態様では、セキュア仮想環境は、モバイルデバイスのプロセッサ内部のセキュアハードウェアゾーンを活用することができる。多くのモバイルデバイスは、しばしばチップセットのセグメント化された領域として実装され、その領域のみに適用される固有のセキュリティプロトコルまたは暗号化を有する、セキュアハードウェアゾーンを起用するプロセッサを使用する。セキュア仮想環境は、モバイルデバイス上のセキュアハードウェアゾーン内で排他的に動作し、かつ/またはセキュアハードウェアゾーンに排他的にデータを記憶することができる。この態様では、セキュア仮想環境は、セキュアハードウェアゾーンのアプリケーションプログラムインターフェース(API)、命令、データ分離および他のプロビジョン(provision)を利用し、その内部で動作することができる。
別の態様では、セキュア仮想環境は、ソフトウェアベンダが自分のプログラム、アプリケーション、またはウィジェットを構成してセキュア仮想環境とインターフェースすることが可能になる、API/ブローカを提供するか、または有効にすることができる。このセキュアAPI/ブローカにより、ソフトウェアベンダがセキュア仮想環境によって「信用」され得るソフトウェアを作成することが可能になる。これにより、ベンダは、ユーザがセキュア仮想環境内の任意の信用できるプログラムの全機能を享受することが可能になるアプリケーションを提供することができる。複数のソフトウェアアプリケーション間のこのセキュアな相互作用により、アプリケーションまたはアプリケーションが動作するモバイルデバイスのタイプにかかわらず、ネットワークがセキュリティプロトコルを設定することが可能になる。
一態様では、セキュア仮想環境は、開始されたときセキュア仮想デスクトップを提示する。このデスクトップは、モバイルデバイス用の標準デスクトップのように見え、機能することができるが、セキュリティ設定によって適用されたセキュリティプロトコルによって有効にされるか、またはサポートされるアプリケーションおよび機能のみをユーザに提示することができる。ほぼ同様のデスクトップを提示することによって、新しいグラフィカルユーザインターフェース(GUI)のナビゲートを習得する必要がないので、ユーザのモバイルデバイスとの相互作用は変更されず、セキュリティプロトコルのデバイスへの適用はユーザにそれほど負担にならない。加えて、ユーザは、自由自在に、セキュア仮想デスクトップと標準デスクトップとの間を交互に切り替えることができる。
セキュア仮想環境を提示するように構成されたモバイルデバイスの例示的な態様が図1A〜図1Cに示される。図1Aは、モバイルデバイス106と通信中の非セキュアネットワーク102およびセキュアネットワーク104を示す。モバイルデバイス106とネットワーク102およびネットワーク104の各々との間の通信は、ごく一部だが有線ローカルエリアネットワーク(LAN)、インターネット、セルラーネットワーク、Wi-Fi、GSM(登録商標)、およびPCSを含む任意の知られているデータ通信リンクによる場合がある。モバイルデバイス106は、非セキュアデスクトップ110をユーザにプロビジョニングするモバイルデバイスオペレーティングシステム108、および非セキュアデスクトップ110の内部で動作するセキュア仮想環境112で構成することができる。非セキュアネットワーク102からのデータは、非セキュアネットワーク102と非セキュアデスクトップ110との間を流れる。セキュアネットワーク104からのデータは、セキュアネットワーク104とセキュア仮想環境112との間を流れる。セキュア仮想環境112はモバイルデバイスオペレーティングシステム108の非セキュアデスクトップ110の内部に作成されるので、セキュアネットワーク104からの暗号化されたデータは、モバイルデバイスオペレーティングシステム108および非セキュアデスクトップ110を通ってセキュア仮想環境112に到達する。しかしながら、セキュア仮想環境112のみがセキュアネットワーク104から受信されたデータを解読することが可能である。さらに、セキュアデータの操作が終了すると、データはデバイスメモリに記憶される前に暗号化される。このようにして、非セキュアネットワーク102からのデータとセキュアネットワーク104からのデータは、暗号化を介して隔離されたままになる。
オプションの態様では、モバイルデバイス106は、2つのメモリ部分、非暗号化メモリ114および暗号化メモリ116で構成することができる。メモリ部分は、単一メモリの別個の部分であり得るか、または個別の物理メモリデバイスであり得る。非暗号化メモリ114は、おそらく非セキュアデスクトップ110と通信中である。暗号化メモリ116は、おそらくセキュア仮想環境112と通信中である。このようにして、セキュア仮想環境112からのデータは暗号化メモリ116のみに記憶され、非セキュアデスクトップ110からのデータは非暗号化メモリ114のみに記憶される。
セキュアデータが非セキュアデータと同じメモリに記憶されるか、または2つのタイプのデータが物理的に分離されるかにかかわらず、セキュア仮想環境112のみがデータを解読し読み取るか、またはデータを暗号化し記憶し、セキュアネットワーク104と通信することができる。これにより、セキュアデータがモバイルデバイス106上で常に保護されることが保証される。非セキュアデスクトップ110は、ユーザになじみのある通常の方式で非セキュアデータを読み書きし、非セキュアネットワーク102と通信することができる。
図1Bは、図1Aと同様の別の態様を示す。図1Bでは、モバイルデバイス106が非セキュアネットワーク102のみと通信中である。この態様では、セキュアデータと非セキュアデータの両方は、モバイルデバイス106と非セキュアネットワーク102との間を流れることができる。この状況では、セキュアデータを保護するために、仮想プライベートネットワーク(VPN)または同様の技術を使用するネットワークを介して、セキュアデータは暗号化され、配信用のパケットにカプセル化することができる。モバイルデバイス106によって受信されたデータは、モバイルデバイスオペレーティングシステム108および非セキュアデスクトップ110に移動する。非セキュアデータは、(伝送中VPNによって暗号化されても)暗号化されずに送受信することができ、したがって非セキュアデスクトップ110内で操作することができる。非セキュアデスクトップ110は、モバイルデバイス106上の単一メモリ114に対してデータの読取りと書込みの両方を行うことができる。非セキュアデスクトップ110の内部には、暗号化されたデータが非セキュアデスクトップ110に移動することを唯一可能にする解読/暗号化モジュール118があり得る。解読/暗号化モジュール118は、データを暗号化し解読するように構成された、セキュア仮想環境112のサブアプリケーションまたはプログラム要素であり得る。データ暗号化/解読モジュール118は、セキュア仮想環境112に入るデータを解読し、セキュア仮想環境112から出るデータを暗号化する。解読/暗号化モジュール118は、このようにゲートキーパとして機能し、暗号化された、したがってセキュアなデータがセキュア仮想環境112によって保存されることを唯一可能にする。加えて、解読/暗号化モジュール118は、セキュア仮想環境から出るすべてのデータを暗号化するように機能する。暗号化されたデータは、非セキュアデスクトップ110から解読/暗号化モジュール118に入り、そこで解読され、セキュア仮想環境112に渡される。次いで、セキュア仮想環境112は、セキュアデータを操作し、セキュア仮想環境から出る前に暗号化されるべきそのデータを解読/暗号化モジュール118に返す。暗号化されたデータは、解読/暗号化モジュール118から非セキュアデスクトップ110に渡されて、
非暗号化メモリ114に記憶されるか、または非セキュアネットワーク102に渡される。このようにして、セキュアデータはセキュア仮想環境112内で操作されない間は常にデータレベルで暗号化されるので、セキュアデータおよび非セキュアデータは、非セキュアネットワーク102を越えて流れ、非暗号化メモリ114に記憶することができる。セキュア仮想環境112の外部でセキュアデータを常に暗号化することにより、ネットワークまたはモバイルデバイス106上のメモリの種類にかかわらず、データが保護される。
図1Cは、モバイルデバイス106が2つのオペレーティングシステム、非セキュアオペレーティングシステム108およびセキュアオペレーティングシステム120を有する一態様を示す。非セキュアオペレーティングシステム108は、非セキュアネットワーク102および非暗号化メモリ114と通信中であり得る。この態様では、セキュアオペレーティングシステム120は、セキュア仮想環境112と通信中であり得る。セキュア仮想環境112は、ゲートキーパとして動作し、セキュアデータのみがセキュアオペレーティングシステム120に出入りすることを保証する。セキュア仮想環境112は、セキュアネットワーク104、暗号化メモリ116、および非セキュアオペレーティングシステム108と通信中であり得る。セキュア仮想環境112は、セキュアネットワーク104にデータを送信するか、またはセキュアネットワーク104からデータを受信することができ、暗号化メモリ116からデータを読み取り、暗号化メモリ116にデータを書き込むことができる。セキュア仮想環境112は、非セキュアオペレーティングシステム108からデータを受信することができる。非セキュアデータはおそらく暗号化されておらず、非セキュアオペレーティングシステム108によってのみ操作することができる。受信されたとき暗号化されているセキュアデータは、非セキュアネットワーク102を介して非セキュアオペレーティングシステム108で受信することができる。暗号化されたデータが非セキュアオペレーティングシステム108によって受信された場合、非セキュアオペレーティングシステム108は暗号化されたデータをセキュア仮想環境112に渡すことができる。セキュアネットワーク104を介してセキュア仮想環境112に受信されたセキュアデータは、暗号化されたフォーマットで記憶することができる。セキュア仮想環境112は、非セキュアオペレーティングシステム108、暗号化メモリ、またはセキュアネットワーク104から受信されたセキュアデータを解読し、セキュアオペレーティングシステム120に解読されたデータを渡す。次いで、セキュアオペレーティングシステム120の内部で稼動しているアプリケーションは、解読されたセキュアデータを操作することができる。セキュアオペレーティングシステム120の内部で稼動しているアプリ
ケーションからのデータは、セキュア仮想環境112に渡されて、セキュアネットワーク104への送信または暗号化メモリ116内への記憶の前に暗号化することができる。このようにして、セキュア仮想環境112は、セキュアオペレーティングシステム120の外部でセキュアデータが常に暗号化されていることを保証する。
図2は、様々な態様とともに使用するのに適したワイヤレスネットワークシステム200を示す。少なくとも1つのモバイルデバイス202およびワイヤレス送信機/受信機204は、一緒にワイヤレスデータネットワーク206を構成する。ワイヤレスデータネットワーク206を使用して、データは、モバイルデバイス202とワイヤレスセルタワーすなわち基地局204との間をワイヤレスに伝送することができる。モバイルデバイス202とワイヤレスセルタワーすなわち基地局204との間の伝送は、Wi-Fi、CDMA、TDMA、GSM(登録商標)、PCS、G-3、G-4、LTE、または任意の他のタイプの接続を含む任意のセルラーネットワークによる場合がある。ワイヤレスネットワーク206は、インターネット210に接続するルータ208と通信中である。このようにして、データは、当技術分野でよく知られている方法により、ワイヤレスネットワーク206およびルータ208を介してインターネット210を越えて、モバイルデバイス202とサーバ212との間で伝送することができる。ワイヤレスネットワーク206およびサーバ212は、セキュアまたは非セキュアであり得る。様々な態様はワイヤレスネットワークとともに特に有用であるが、態様はワイヤレスネットワークに限定されず、方法に対する変更なしに有線ネットワーク上に実装することもできる。
図3Aおよび図3Bは、それぞれサーバおよびモバイルデバイスのソフトウェアアーキテクチャを示す。図3Aは、当技術分野でよく知られているネットワークのソフトウェアアーキテクチャ3000を示す。ネットワークのソフトウェアアーキテクチャ3000は、サーバレベルのアプリケーション3002、クライアントレベル3004、ミドルウェア3006、およびハードウェアレイヤ3008を含む。図3Bは、一態様のセキュア仮想環境を使用するモバイルデバイスのソフトウェアアーキテクチャ3010を示す。レベルは、アプリケーションレベル3012、クライアントレベル3014、セキュア仮想環境3020、ミドルウェア3016、およびハードウェアレイヤ3018を含む。
図4A〜図4Bは、様々な態様で使用できる異なる実施形態のモバイルデバイスメモリ構造を示す。図4Aは、モバイルデバイス上の単一の非暗号化メモリ4000を含む実施形態を示す。この実施形態では、非セキュアデータ4002およびセキュアデータ4004は、同じ非暗号化メモリ4000に記憶することができる。セキュアデータ4004は、データレベルで暗号化されることによって保護される。したがって、非暗号化メモリ4000の全内容は、セキュリティまたは暗号化なしにアクセスすることができ、セキュアデータ4004はその独自の暗号化によって保護されたままになる。
図4Bは、2つの部分、非暗号化メモリ4000および暗号化メモリ4006を有する一実施形態のモバイルデバイスメモリを示す。この実施形態では、モバイルデバイスメモリは、非暗号化メモリ部分4000と暗号化メモリ部分4006に分離された単一の物理メモリであり得るか、または2つの独立したメモリ構造であり得る。この実施形態では、セキュアデータ4004は暗号化メモリ4006に送られる前にデータレベルで暗号化されるが、暗号化メモリ4006はセキュアデータ4004をさらに暗号化するので、セキュアデータ4004はさらに保護される。セキュアデータ4004のみが暗号化メモリ4006に送られる。非セキュアデータ4002は非暗号化メモリ4000内に存在し、非セキュアデータ4002または非暗号化メモリ4000のどちらも暗号化を課されることはない。この実施形態では、セキュアデータ4004にセキュリティの二重レイヤが提供される。暗号化メモリ4006によって提供された暗号化の第1のレイヤが脅かされた場合、セキュアデータ4004である個々のデータ要素は、セキュリティの第2のレイヤを提供して、別個に暗号化することもできる。
図5は、モバイルデバイス上にセキュア仮想環境を実装するための実施形態5000を示す。この方法5000は、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック5002で、モバイルデバイスは、セキュア仮想環境の起動に対するユーザ要求を受け取ることができる。このユーザ入力は、モバイルデバイスデスクトップ上のアイコンに対するユーザのタッチもしくはクリックの形態、ドロップダウンメニュー、または任意の他の選択方法を介するものであり得る。ブロック5004で、セキュア仮想環境を実装するプロセッサは、ユーザに認証入力を提供するように促す。この動作では、ユーザは、ユーザID、パスワード、生体データ、セキュアキー、またはそれらの任意の組合せを含む様々な認証入力を提供するように促される場合がある。ブロック5006で、プロセッサは、ユーザが要求された認証情報を受け取る。判定ブロック5008で、セキュア仮想環境を実装するプロセッサは、提供された認証情報をメモリに記憶された認証情報と比較する。このことは、提供された認証情報を認可されたユーザの表に記憶された認証情報と比較することを含む場合がある。コンピューティングデバイスに対して個人を認証するための任意の知られている方法を使用することができる。認証情報が確認可能でない場合(すなわち、判定ブロック5008=「No」)、ブロック5010で、セキュア仮想環境へのアクセスは拒否される可能性がある。ブロック5010の一部として、プロセッサはセキュア仮想環境を終了することができる。また、いくつかの実装形態では、ユーザは、ステップ5004に戻ることなどによって、彼または彼女自身を認証する別の機会を与えられる場合がある。ブロック5012で、認証されなかったユーザは、セキュア仮想環境に特有のアプリケーションを除くすべてのアプリケーションへのアクセスを提供するユーザインターフェースを提示される可能性がある。ブロック5014で、ユーザはモバイルデバイスの内部に記憶された信用できないデータにアクセスすることを許可される可能性がある。
しかしながら、ブロック5008で、セキュア仮想環境がユーザを認証した場合(すなわち、判定ブロック5008=「Yes」)、ブロック5016で、セキュア仮想環境はユーザにアクセスを許可する。ブロック5018で、セキュア仮想環境は、企業プロトコルまたはユーザ設定によって信用できるアプリケーションであると考えられたそれらのアプリケーションを有効にする。ブロック5020で、ユーザは、信用できるアプリケーションのみを表示するユーザインターフェースを提示される可能性がある。ブロック5022で、ユーザは、セキュア仮想環境を介して信用できるアプリケーションで信用できるデータにアクセスすることのみを許可される。ブロック5024で、セキュア仮想環境内でアクセスされた信用できるデータは、その格納状態から解読することができる。ブロック5026で、ユーザは、1つまたは複数の信用できるアプリケーションで信用できるデータを表示し操作する。
ブロック5028で、信用できるデータは、送信または記憶される前に、セキュア仮想環境によって暗号化することができる。このようにして、セキュアデータは、セキュア仮想環境の範囲外で暗号化されない形態ではあり得ない。ブロック5030で、モバイルデバイスはセキュア仮想環境から出るユーザ要求を受け取ることができる。このユーザ入力は、モバイルデバイスデスクトップ上のアイコンに対するユーザのタッチもしくはクリックの形態、ドロップダウンメニュー、または任意の他の選択方法を介するものであり得る。加えて、プロセッサは、不活動状態(たとえば、しきい値の継続時間内にユーザ入力が受け取られない)、デバイスがスリープモードに入ること、デバイスが規定された(GPSまたはセルタワーIDによって決定できるような)地理的境界に出入りすること、デバイスが損害(たとえば、しきい値を超える加速)もしくは物理的な変更(たとえば、タンパーシールの破損)を被ること、またはセキュアデータの保護を正当化するイベントの他の指示などの特定の規定された状態に応答して、セキュア環境から自動的に出るように構成することができる。
セキュア仮想環境を実装するプロセッサがセキュア仮想環境から出るユーザ要求を受け取ったとき、プロセッサは、任意のオープンなセキュアデータを暗号化し、セキュア仮想環境を閉じる。ブロック5012で、ユーザは、セキュア仮想環境に特有のアプリケーションを除くすべてのアプリケーションを有するユーザインターフェースを提示される可能性がある。ブロック5014で、ユーザはモバイルデバイスで信用できないデータにアクセスすることを許可される可能性がある。
図6Aおよび図6Bは、セキュア仮想環境を使用するモバイルデバイスで受信されたデータと相互作用するための一実施形態6000aおよび6000bを示す。方法6000aおよび6000bは、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。図6Aでは、ブロック6002で、データは、ワイヤレスまたは有線の通信リンクなどを介して、モバイルデバイスで受信される。判定ブロック6004で、モバイルデバイスは、データが信用できるかどうかを判定することができる。データが信用できない場合(すなわち、判定ブロック6004=「No」)、ブロック6018で、データは標準アプリケーションで操作できるだけで、ブロック6016で、操作されたデータは非暗号化フォーマットでモバイルデバイス上に記憶することができる。データが信用できると判定された場合(すなわち、判定ブロック6004=「Yes」)、ブロック6006で、セキュア仮想環境は始動することができる。判定ブロック6008で、セキュア仮想環境は企業ポリシーおよび/またはユーザ設定を適用し、データタイプが許可されるかどうかを判定することができる。データタイプは、.pdfもしくは.jpgもしくは実行ファイルなどのファイルフォーマット、またはデータを分類できる任意の他のタイプを含むことができる。許可されたデータタイプは、許可されたデータタイプの表に列記することができる。データタイプが企業ポリシーおよび/またはユーザ設定によって許可されない場合(すなわち、判定ブロック6008=「No」)、ブロック6024で、セキュア仮想環境は閉じ、データはブロック6018で標準アプリケーションを使用して操作することができる。ブロック6016で、操作されたデータはモバイルデバイス上に記憶することができる。
データタイプが企業ポリシーおよび/またはユーザ設定によって許可された場合(すなわち、判定ブロック6008=「Yes」)、ブロック6010で、セキュア仮想環境はデータを解読する。ブロック6012で、アプリケーションはデータを操作するために選択することができる。オプションの実施形態では、選択されたアプリケーションは、セキュア仮想環境内で動作することを特に認可された信用できるアプリケーションであり得る。ブロック6012でのアプリケーションの選択は、モバイルデバイスのプロセッサによって単独で行われるか、受け取られたモバイルデバイスへのユーザ入力に応答してプロセッサによって行われるか、または2つの何らかの組合せによって行うことができる。ユーザがデータを仕上げ、ファイルをクローズしたとき、ブロック6014で、セキュア仮想環境は操作されたデータを暗号化し、ブロック6016で、操作されたデータはモバイルデバイス上に記憶することができる。ブロック6014でデータを暗号化することによって、データは暗号化されていない形態でセキュア仮想環境の外部にいることを許可されない。セキュアデータが表示されるのみで、(たとえば、ユーザ入力、またはデータに含まれたドキュメントポリシーにより)保存を指示されない場合、セキュアデータはメモリから削除されるにすぎない可能性があり、その場合、ブロック6014およびブロック6016は実行されないはずである。
図6Bは、セキュア仮想環境を使用するモバイルデバイスで受信されたデータと相互作用するための代替的な実施形態6000bを示す。この方法6000bは、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。図6Bでは、方法6000bは、データヘッダをさらに使用して、データがセキュアであることを識別する。ブロック6002で、上記で説明されたように、データはモバイルデバイスで受信することができる。判定ブロック6020で、モバイルデバイスは、データが暗号化されているかどうかを判定する。データが暗号化されていない場合(すなわち、判定ブロック6020=「No」)、ブロック6018で、データは標準アプリケーションで操作することができる。
データタイプが暗号化されていると判定された場合(すなわち、判定ブロック6020=「Yes」)、ブロック6006で、セキュア仮想環境は始動することができる。判定ブロック6022で、セキュア仮想環境はユーザを認証しようと試みることができる。このことは、ユーザに、パスワード、ユーザID、セキュアキー、もしくは生体データ、またはそれらの組合せなどの認証入力を提供するように促すことによって行うことができる。ユーザを確認できない場合(すなわち、判定ブロック6022=「No」)、ブロック6024で、セキュア仮想環境は閉じ、ブロック6018で、データは標準アプリケーションで操作することができる。ブロック6018で、暗号化されたデータは、セキュア仮想環境の外部でモバイルデバイスに利用可能な任意の方式で操作することができ、暗号化されたデータの操作に関係するいかなるエラーも、セキュア仮想環境の外部の標準エラー処理メカニズムによって対処することができる。
ユーザが認証された場合(すなわち、判定ブロック6022=「Yes」)、ブロック6026で、セキュア仮想環境はデータヘッダを解読することができる。判定ブロック6028で、今解読されたデータヘッダを読むことができ、データの信用状態に関する情報は、セキュア仮想環境によって判定することができる。データヘッダは、信用ID、データのファイルフォーマットに関する情報、または任意の他の情報を含むことができる。解読されたデータヘッダがデータは信用できないことを示した場合(すなわち、判定ブロック6028=「No」)、ブロック6024で、セキュア仮想環境は閉じる。ブロック6018で、データは標準アプリケーションで操作することができる。ブロック6018で、暗号化されたデータは、セキュア仮想環境の外部でモバイルデバイスに利用可能な任意の方式で操作することができ、暗号化されたデータの操作に関係するいかなるエラーも、セキュア仮想環境の外部の標準エラー処理メカニズムによって対処することができる。
解読されたデータヘッダがデータは信用されるべきことを示した場合(すなわち、判定ブロック6028=「Yes」)、図6Aを参照して上記で説明されたように、判定ブロック6008で、セキュア仮想環境は企業ポリシーおよび/またはユーザ設定を適用し、データタイプが許可されるかどうかを判定する。データタイプが企業ポリシーおよび/またはユーザ設定によって許可されない場合(すなわち、判定ブロック6008=「No」)、ブロック6024で、セキュア仮想環境は閉じ、ブロック6018で、データは標準アプリケーションで操作することができる。ブロック6018で、暗号化されたデータは、セキュア仮想環境の外部でモバイルデバイスに利用可能な任意の方式で操作することができ、暗号化されたデータの操作に関係するいかなるエラーも、セキュア仮想環境の外部の標準エラー処理メカニズムによって対処することができる。
ブロック6008で、データタイプが企業ポリシーおよび/またはユーザ設定によって許可された場合(すなわち、判定ブロック6008=「Yes」)、ブロック6010で、セキュア仮想環境はデータを解読することができる。
ブロック6012で、アプリケーションは、信用できる解読されたデータを操作するために選択することができる。オプションの実施形態では、選択されたアプリケーションは、セキュア仮想環境内で動作することを特に認可された信用できるアプリケーションであり得る。ブロック6012でのアプリケーションの選択は、モバイルデバイスのプロセッサによって単独で行われるか、受け取られたモバイルデバイスへのユーザ入力に応答してプロセッサによって行われるか、または2つの何らかの組合せによって行うことができる。ユーザがファイルをクローズすると、ブロック6014で、セキュア仮想環境は操作されたデータを暗号化することができ、ブロック6016で、操作されたデータはモバイルデバイス上に記憶することができる。ブロック6014でデータを暗号化することによって、データは暗号化されていない形態でセキュア仮想環境の外部にいることを許可することができない。また、セキュアデータがデバイスに保存されるべきでない場合、ブロック6014およびブロック6016の動作は実行することができない。
データヘッダは暗号化されない場合があるが、データパケットの残りは暗号化することができる。この実施形態では、プロセッサは、パケットが任意の暗号化データを含むかどうかを判定することができる。何らかの暗号化データが存在する場合、データは表示および操作用にセキュア仮想環境に渡すことができる。
図7Aおよび図7Bは、セキュア仮想環境7000aおよび7000bの2つの実施形態のソフトウェアアーキテクチャの要素および処理モジュールを示す。図7Aは、セキュリティポリシーモジュール7002、セキュアキー/パスワードプロビジョニングモジュール7004、信用できるデータの尋問モジュール7006、暗号化/解読モジュール7008、セキュリティおよびストレージ管理モジュール7010、仮想プライベートネットワーク(VPN)クライアントモジュール7012、セキュア仮想環境アクセス認証モジュール7014、およびセキュアAPI/ブローカモジュール7016を含むセキュア仮想環境7000aの実施形態を示す。モジュール7002〜7016の各々は、アプリケーション、アプリケーション内の機能モジュール、API、または別のアプリケーションへのインターフェース(たとえば、VPNクライアント)であり得る。
セキュリティポリシーモジュール7002は、セキュア仮想環境7000aによって実装された支配的なポリシーを包含または規定して、モバイルデバイス上のデータを保護するモジュールである。セキュリティポリシーモジュール7002は、許可されたファイルタイプのリスト、データ保存制限、ネットワークアクセス制限、アプリケーション制限、および、モバイルデバイス上でセキュアデータを保護するために必要であり得る任意の他のポリシー設定を含むことができる。
セキュアキー/パスワードプロビジョニングモジュール7004は、セキュア仮想環境7000aがセキュアアプリケーションおよびセキュアネットワークにセキュアキーおよびパスワードを自動的に供給することを可能にすることができる。このようにして、ユーザがセキュア仮想環境7000aにログオンし、セキュア仮想環境7000aによって認証されると、ユーザは、セキュア仮想環境でアクセスされる他のセキュアアプリケーションまたはセキュアネットワークにログインし、キーまたはパスワードを提供する必要がない可能性がある。これは、セキュアキー/パスワードプロビジョニングモジュール7004が必要な認証情報を自動的に提供することができるからである。
信用できるデータの尋問モジュール7006は、受信されたデータを尋問してデータが信用できるデータかどうかを判定する能力を、セキュア仮想環境7000aに提供することができる。
暗号化/解読モジュール7008は、セキュア仮想環境7000aによって受信されたデータを解読することができ、セキュア仮想環境7000aによって送信または記憶されるデータを暗号化することができる。
セキュアAPI/ブローカモジュール7016により、信用できるアプリケーションがセキュリティポリシーモジュール7002によって許可された場合、セキュア仮想環境7000aに追加されることが可能になり得る。
図7Bは、図7Aを参照して上述された要素と同じ要素を有する実施形態を示し、ポリシーマネージャAPI/ブローカモジュール7018が追加される。ポリシーマネージャAPI/ブローカモジュール7018により、セキュリティポリシーモジュール7002に対する更新および改訂がセキュア仮想環境7000bによって受信されることが可能になり得る。この実施形態により、企業体が、モバイルデバイスに直接の物理的なアクセスをする必要なしに、リモートでモバイルデバイス上のセキュリティポリシーを更新または変更することが可能になる。
様々な実施形態では、セキュア仮想環境は、複数のオペレーティングシステムまたは単一のオペレーティングシステムを有するモバイルデバイス上に提供することができる。図8A〜図8Cは、モバイルデバイスが2つのオペレーティングシステム、セキュアオペレーティングシステムおよび非セキュアオペレーティングシステムを提供される、セキュア仮想環境の代替実施形態を示す。図9A〜図9Cは、モバイルデバイスが単一のオペレーティングシステムを提供される、セキュア仮想環境の代替実施形態を示す。
図8A〜図8Cは、モバイルデバイスがセキュアオペレーティングシステムおよび非セキュアオペレーティングシステムを提供される、セキュア仮想環境の代替実施形態を示す。図8Aを参照すると、全体的なシステムアーキテクチャ9000aは、3つの領域、非セキュア領域9002、セキュア領域9004、およびキーアーキテクチャ9006を含む。非セキュア領域9002は、セキュリティプロトコルが適用されない非保護領域を表す。セキュア領域9004は、セキュリティプロトコルが適用される保護領域を表す。キーアーキテクチャ9006は、モバイルデバイスのセキュリティキーが動作する領域を表す。
システム9000aのソフトウェアレベルは、クライアントレベル9012、セキュア仮想環境9014、ミドルウェアレベル9016、およびハードウェアレベル9018に分解することができる。
クライアントレベル9012のソフトウェアは、モバイルまたは標準アプリケーション9022、および単に信用できるアプリケーションとも呼ばれる信用できるモバイルアプリケーション9024を含む。信用できるモバイルアプリケーション9024は、セキュリティ要件を満足するものとして識別され、かつ認証されて企業体のデータを処理し、企業体のネットワークおよび機器で動作する、企業体によって特に提供されたアプリケーションであり得る。信用できるモバイルアプリケーション9024は、企業体向けに設計された固有のアプリケーション、またはセキュリティ要件および操作性要件を満足するものとして企業体が前もって確立した公開アプリケーションであり得る。
セキュア仮想環境9014は、モバイルデバイス上に確立されたソフトウェアレベルまたはランタイム環境であり得る。セキュア仮想環境9014は、単一のアプリケーションまたはアプリケーションのグループを使用して確立することができる。セキュア仮想環境9014は、セキュア仮想環境9014用のゲートキーパとして働き、非セキュア領域9002から受信されたデータおよびモバイルアプリケーション9022の動作を制御するセキュアAPI/ブローカ9026を含むことができる。
セキュアAPI/ブローカ9026により、アプリケーション設計者は、セキュア仮想環境9014内で動作できるモバイルアプリケーション9022を作成することが可能になり得る。このようにして、アプリケーション設計者は、アプリケーションを製作し、モバイルデバイスにアプリケーションを提供するために、企業体と直接対話する必要がない。アプリケーション設計者は、企業体から独立して、セキュア仮想環境9014のセキュリティ要件を満足するモバイルアプリケーション9022を作成することができる。
モバイルデバイスユーザは、非セキュア領域に格納されたモバイルアプリケーション9022をダウンロードまたはアクセスしようと試みることができる。それに応答して、セキュアAPI/ブローカ9026は、モバイルデバイス上に確立された固有のセキュア仮想環境9014用のセキュリティ要件および操作性要件を、モバイルアプリケーション9022が満足するかどうかを判定することができる。モバイルアプリケーション9022がセキュリティ要件および操作性要件を満足する場合、モバイルアプリケーション9022はセキュア仮想環境9014内で動作することを許可され、信用できるモバイルアプリケーション環境9028に提供される可能性がある。信用できるモバイルアプリケーション環境9028は、その中で認可されたアプリケーションが動作するGUIを含む、セキュア仮想環境9014の領域であり得る。モバイルアプリケーション9022がセキュアAPI/ブローカ9026の要件を満足しない場合、モバイルアプリケーション9022は、セキュア仮想環境9014とこれ以上相互作用することを許可されない可能性がある。
加えて、セキュア仮想環境は、信用できるモバイルアプリケーション環境9028およびキー管理システム9034と相互作用して、必要なセキュリティおよびストレージの機能を提供するセキュリティおよびストレージ管理システム9030を含むことができる。
非セキュアオペレーティングシステム9032は非セキュア領域9002内でモバイルデバイス上に提供することができ、非セキュアメモリ9036は非セキュア領域9002内に提供することができる。セキュアAPI/ブローカ9026の要件を満足しないモバイルアプリケーション9022は、非セキュアオペレーティングシステム9032内で動作することしかできず、非セキュアメモリ9036にデータを読み書きすることしかできない。
セキュアオペレーティングシステム9044およびセキュアメモリ9038は、モバイルデバイスのセキュア領域9004内に提供することができる。信用できるモバイルアプリケーション9024は、信用できるモバイルアプリケーション環境9028に提供することができる。信用できるモバイルアプリケーション9024、またはセキュアAPI/ブローカ9026の要件を満足するモバイルアプリケーション9022は、信用できるモバイルアプリケーション環境9028を介してセキュアオペレーティングシステム9044に提供することができる。信用できるモバイルアプリケーション環境9028内のアプリケーションのみが、セキュアオペレーティングシステム9044およびセキュアメモリ9038と相互作用する。図8Aに示された実施形態では、非セキュアメモリ9036、セキュアメモリ9038、およびキープロビジョニングシステム9040がハードウェアレベル9018に存在する。
図8Bは、図8Aを参照して上述された実施形態と同様である別の実施形態のシステムアーキテクチャ9000bを示し、セキュア仮想環境内にポリシーマネージャAPI/ブローカ9042が追加されている。ポリシーマネージャAPI/ブローカ9042は、セキュリティおよびストレージ管理システム9030および信用できるモバイルアプリケーション環境9028と通信中であり得る。信用できるモバイルアプリケーション環境9028またはセキュリティおよびストレージ管理システム9030のいずれかを介して、ポリシーマネージャAPI/ブローカ9042は、企業体から企業ポリシーの更新を受信することができる。
ポリシーマネージャAPI/ブローカ9042により、企業体がセキュリティプロトコルを更新し、動作制限を更新し、モバイルデバイスのセキュア仮想環境9014およびセキュア領域9004内で様々な機能を実行することが可能になり得る。ポリシーマネージャAPI/ブローカ9042は、モバイルデバイスのセキュア仮想環境9014およびセキュア領域9004をリモートで更新および制御する能力を企業体に与える。
図8Cは、図8Bに関して上述されたモジュールと同様のモジュールを含む別の実施形態のアーキテクチャ9000cを示し、ポリシーマネージャAPI/ブローカ9042を含むが、モバイルデバイス上に単一メモリ9036を有する。この実施形態では、セキュアオペレーティングシステム9044および非セキュアオペレーティングシステム9032は、両方とも非セキュアメモリ9036上のデータを記憶し読み取る。セキュア仮想環境9014内のデータは、信用できるモバイルアプリケーション環境9028により、使用されないとき暗号化された形式で記憶することができる。セキュア仮想環境9014によるデータレベルでの暗号化の連続的な適用により、セキュアデータ自体がデータレベルで暗号化されるので、非セキュアメモリ9036内にセキュアデータを記憶できることが保証される。
図9A〜図9Cは、モバイルデバイスが単一のオペレーティングシステムで構成される、セキュア仮想環境の代替実施形態を示す。図9Aを参照すると、全体的なシステムアーキテクチャ1000aは、3つの領域、非セキュア領域1002、セキュア領域1004、およびキーアーキテクチャ1006を含むことができる。非セキュア領域1002は、セキュリティプロトコルが適用されない非保護領域を表す。セキュア領域1004は、セキュリティプロトコルが適用される保護領域を表す。キーアーキテクチャ1006は、モバイルデバイスのセキュリティキーが動作する領域を表す。
システム1000aのソフトウェアレベルは、クライアントレベル1012、セキュア仮想環境1014、ミドルウェアレベル1016、およびハードウェアレベル1018に分解することができる。
上記に説明された実施形態と同様に、クライアントレベル1012のソフトウェアは、モバイルまたは標準アプリケーション1022、および単に信用できるアプリケーションとも呼ばれる信用できるモバイルアプリケーション1024を含む。信用できるモバイルアプリケーション1024は、セキュリティ要件を満足するものとして識別され、かつ認証されて企業体のデータを処理し、企業体のネットワークおよび機器で動作する、企業体によって特に提供されたアプリケーションであり得る。信用できるモバイルアプリケーション1024は、企業体向けに設計された固有のアプリケーション、またはセキュリティ要件および操作性要件を満足するものとして企業体が前もって確立した公開アプリケーションであり得る。
上記に説明された実施形態と同様に、セキュア仮想環境1014は、モバイルデバイス上に確立されたソフトウェアレベルまたはランタイム環境であり得る。セキュア仮想環境1014は、単一のアプリケーションまたはアプリケーションのグループを使用して確立することができる。セキュア仮想環境1014は、セキュア仮想環境1014用のゲートキーパとして働き、非セキュア領域1002から受信されたデータおよびモバイルアプリケーション1022の動作を制御するセキュアAPI/ブローカ1026を含むことができる。
上記に説明された実施形態と同様に、セキュアAPI/ブローカ1026により、アプリケーション設計者は、セキュア仮想環境1014内で動作できるモバイルアプリケーション1022を作成することが可能になり得る。このようにして、アプリケーション設計者は、アプリケーションを製作し、モバイルデバイスにアプリケーションを提供するために、企業体と直接対話する必要がない。アプリケーション設計者は、企業体から独立して、セキュア仮想環境1014のセキュリティ要件を満足するモバイルアプリケーション1022を作成することができる。
上記に説明された実施形態と同様に、モバイルデバイスユーザは、非セキュア領域に格納されたモバイルアプリケーション1022をダウンロードまたはアクセスしようと試みることができる。それに応答して、セキュアAPI/ブローカ1026は、モバイルデバイス上に確立された固有のセキュア仮想環境1014用のセキュリティ要件および操作性要件を、モバイルアプリケーション1022が満足するかどうかを判定することができる。モバイルアプリケーション1022がセキュリティ要件および操作性要件を満足する場合、モバイルアプリケーション1022はセキュア仮想環境1014内で動作することを許可され、信用できるモバイルアプリケーション環境1028に提供される可能性がある。信用できるモバイルアプリケーション環境1028は、その中で認可されたアプリケーションが動作するGUIを含む、セキュア仮想環境1014の領域であり得る。モバイルアプリケーション1022がセキュアAPI/ブローカ1026の要件を満足しない場合、モバイルアプリケーション1022は、セキュア仮想環境1014とこれ以上相互作用することを許可されない可能性がある。
加えて、セキュア仮想環境は、信用できるモバイルアプリケーション環境1028およびキー管理システム1034と相互作用して、必要なセキュリティおよびストレージの機能を提供するセキュリティおよびストレージ管理システム1030を含むことができる。
オペレーティングシステム1032は、非セキュア領域1002とセキュア領域1004の両方の中でモバイルデバイス上に提供することができる。単一のオペレーティングシステム1032は、信用できるモバイルアプリケーション環境1028を介してセキュア仮想環境1014と、および非セキュア領域1002内のモバイルアプリケーション1022と相互作用することができる。セキュアAPI/ブローカ1026の要件を満足しないモバイルアプリケーション1022は、オペレーティングシステム1032の非セキュア領域1002内で機能することしかできず、非セキュアメモリ1036にデータを読み書きすることしかできないように、オペレーティングシステム1032は構成することができる。また、オペレーティングシステム1032はモバイルデバイスのセキュア領域1004内で動作し、セキュアメモリ1038にデータを読み書きすることができる。
信用できるモバイルアプリケーション1024は、信用できるモバイルアプリケーション環境1028に提供することができる。信用できるモバイルアプリケーション1024、またはセキュアAPI/ブローカ1026の要件を満足するモバイルアプリケーション1022のいずれかは、信用できるモバイルアプリケーション環境1028を介してオペレーティングシステム1032に提供することができる。信用できるモバイルアプリケーション環境1028内のアプリケーションのみが、オペレーティングシステム1032を介してセキュアメモリ1038と相互作用する。図9Aに示された実施形態では、非セキュアメモリ1036、セキュアメモリ1038、およびキープロビジョニングシステム1040がハードウェアレベル1018に存在する。
図9Bは、図9Aを参照して上述されたモジュールと同様のモジュールを含む別の実施形態のシステムアーキテクチャ1000bを示し、セキュア仮想環境内にポリシーマネージャAPI/ブローカ1042が追加されている。ポリシーマネージャAPI/ブローカ1042は、セキュリティおよびストレージ管理システム1030および信用できるモバイルアプリケーション環境1028と通信中であり得る。信用できるモバイルアプリケーション環境1028またはセキュリティおよびストレージ管理システム1030のいずれかを介して、ポリシーマネージャAPI/ブローカ1042は、企業体から企業ポリシーの更新を受信することができる。
ポリシーマネージャAPI/ブローカ1042により、企業体がセキュリティプロトコルを更新し、動作制限を更新し、モバイルデバイスのセキュア仮想環境1014およびセキュア領域1004内で様々な機能を実行することが可能になり得る。ポリシーマネージャAPI/ブローカ1042は、モバイルデバイスのセキュア仮想環境1014およびセキュア領域1004をリモートで更新および制御する能力を企業体に与える。
図9Cは、図9Bに関して上述されたモジュールと同様のモジュールを含むシステムアーキテクチャ1000cの別の実施形態を示すが、モバイルデバイス上に単一メモリ1036を有する。加えて、この態様では、オペレーティングシステム1032は完全に非セキュア領域1002内に存在する。この実施形態では、信用できるモバイルアプリケーション環境1028からのデータおよび他のすべてのデータは、単一の非セキュアメモリ1036に移動する。セキュア仮想環境1014内のすべてのデータは、信用できるモバイルアプリケーション環境1028により、使用されないとき暗号化された形式で記憶することができる。セキュア仮想環境1014によるデータレベルでの暗号化の連続的な適用により、セキュアデータ自体がデータレベルで暗号化されるので、非セキュアメモリ1036内にセキュアデータを記憶できることが保証される。
図10Aおよび図10Bは、セキュア仮想環境の態様を具現化するモバイルデバイス1100の例示的なディスプレイを示す。図10Aは、非セキュアモードで動作するモバイルデバイス1100のディスプレイを示す。モバイルデバイス1100のディスプレイは、ステータスバー1102およびタッチスクリーン1104を含む。タッチスクリーン1104は、非セキュアモードで利用可能なモバイルアプリケーション1106、1108、1110、1112、1114、1116、1118、1120、1122、1124、1126、および1128を表すアイコン1106〜1128を表示するように構成されたデスクトップを示す。タッチスクリーン1104の下部には、セキュア仮想環境用のアイコン1130が示される。ユーザによるセキュア仮想環境アイコン1130の選択は、セキュア仮想領域を開始するように構成することができる。セキュア仮想環境では、信用できるモバイルアプリケーションのみをユーザにプロビジョニングすることができる。
図10Bは、セキュア仮想環境モードで動作している間のモバイルデバイス1100の一実施形態のディスプレイを示す。タッチスクリーン1104は、モバイルデバイスがセキュア仮想環境内で動作していることを示すバナー1132を含む。また、タッチスクリーン1104は、セキュア仮想環境内で動作することを認可された可能性がある信用できるモバイルアプリケーション1134、1128、1136、1138、1124、および1120用のアイコンのみを表示する。EXITセキュア仮想環境アイコン1140はタッチスクリーン1104の下部に表示され、ユーザがセキュア仮想環境から出ることを可能にする機能にリンクすることができる。図10Aのディスプレイ1104内に存在するアイコンと図10Bのディスプレイ1104内に存在するアイコンとの間の比較で見ることができるように、モバイルデバイス上のいくつかのアプリケーションは、非セキュア環境とセキュア環境の両方で動作することができる。たとえば、電子メールアプリケーション1124およびカレンダアプリケーション1120は、非セキュア環境(図10A)とセキュア環境(図10B)の両方に存在するように示される。
図11Aおよび図11Bは、セキュア仮想環境の態様を具現化するモバイルデバイス1200の一例を示す。図11Aは、非セキュアモードで動作するモバイルデバイス1200を示す。モバイルデバイス1200のディスプレイは、ステータスバー1202およびタッチスクリーン1204を含む。タッチスクリーン1204は、非セキュアモードで利用可能なモバイルアプリケーション1206、1208、1210、1212、1214、1216、1218、1220、1222、1224、1226、および1228を表すアイコン1206〜1228を表示するように構成されたデスクトップを示す。タッチスクリーン1204の下部には、セキュア仮想環境を起動するためのアイコン1230が示される。ユーザによるセキュア仮想環境アイコン1230の選択は、セキュア仮想領域を開始する。
図11Bは、セキュア仮想環境モードで動作しているモバイルデバイス1200の一実施形態のディスプレイを示す。タッチスクリーン1204は、モバイルデバイスがセキュア仮想環境内で動作していることを示すバナー1232を含む。また、ディスプレイ1204は、信用できるモバイルアプリケーション用のアイコン1234、1236、および1238のみを表示する。EXITセキュア仮想環境アイコン1240はディスプレイ1204の下部に表示され、ユーザがセキュア仮想環境から出ることを可能にする機能にリンクすることができる。図11Aおよび図11Bのタッチスクリーン1204に示されたように、一態様では、セキュア仮想環境内で利用可能なモバイルデバイス上のアプリケーションは、非セキュアモード内で利用可能なアプリケーションとは別個であり得る。クライアント電子メールアプリケーション1236は、図11Aに示された電子メールアプリケーション1224とは異なる独自のアプリケーションであり得る。この態様では、セキュアオペレーティング環境と特別に設計されたセキュアクライアントアプリケーションの両方は、図11Bのモバイルデバイス1204に提示することができる。
図12は、モバイルデバイス上のセキュア仮想環境にプロビジョニングできる企業セキュリティポリシーの潜在的な要素の概略図1300である。企業セキュリティポリシー1302は、許可されたファイルタイプの名称1304、パスワード要件1306、ユーザレベル制限1308、特定の許可されたアプリケーションの名称1310、データ操作制限1312、ロックアウト設定1314、データ記憶/転送制限1316、およびデータ削除方式1318を含むことができる。
企業セキュリティポリシー1302により、企業体がモバイルデバイス上のセキュア領域のセキュリティ要件を設定および制御することが可能になり得る。
許可されたファイルタイプ1304に関連するポリシーは、ファイルタイプに関係する、モバイルデバイス上に設定された任意のセキュリティまたは動作の制御であり得る。これらは、(.exeなどの)他のファイルタイプがセキュア仮想環境にインポートされることを防止しながら、セキュア仮想環境内で動作することを許可されたものとして(.jpgなどの)ファイルタイプを指定することを含む。
パスワード要件1306に関連するポリシーは、パスワードに関係する、モバイルデバイス上に設定された任意のセキュリティまたは動作の制御であり得る。これらは、パスワードの長さまたは文字の要件、パスワード更新要件などを設定することを含むことができる。
ユーザレベル制限1308に関するポリシーは、アプリケーション、ネットワーク、モバイルデバイス、または任意の他のアクセスレベル関係の領域もしくはデバイスに対する、様々なレベルのユーザ用の様々なレベルのアクセスに関する任意のポリシーを対象とすることができる。ユーザレベル制限1308は、ネットワークへのアクセスを、最も高いユーザレベルで指定されたユーザのモバイルデバイスのみに制限することを含むことができる。
許可されたアプリケーション1310に関係するポリシーは、モバイルデバイスおよび/またはセキュア仮想環境上で、またはそれらによって動作するアプリケーションの任意の態様を対象とするポリシーを含むことができる。許可されたアプリケーションに関係するポリシーは、信用できるアプリケーションのダウンロードまたは使用の防止を含む、特定のアプリケーションまたはアプリケーションタイプのダウンロードを防止するポリシーを含むことができる。
データ操作制限1312に関係するポリシーは、データ操作の任意の態様を制御するセキュリティまたは動作のポリシーを含むことができる。データ操作制限1312に関係するポリシーは、特定のアプリケーションの内部でデータタイプまたはアプリケーションのオープンを防止するポリシー、または他のデータ操作制限を含むことができる。
ロックアウト設定1314に関係するポリシーは、モバイルデバイスがアイドルであると検出された後どのくらい長くそのセキュア仮想環境を閉じておくことができるか、またはセキュア仮想環境が永久にアクセスをロックされ得る前に、どれだけ多くのセキュア仮想環境への不正ログインの試みが許可できるかなどの、ロックアウト設定1314を規制することができる。また、上記で説明されたように、ポリシーは、セキュア仮想環境の自動終了およびすべてのセキュアデータの暗号化または削除をトリガすべき状態またはイベントを識別することもできる。
データ記憶/転送制限1316に関係するポリシーは、ファイルがセキュア仮想環境内に保存されることを防止すること、またはモバイルデバイス間のデータの転送を制限することを含む、データの処理または転送に関係する任意のポリシーを含むことができる。
データ削除方式1318に関係するポリシーは、モバイルデバイスからデータがいつ自動的に削除されるべきかを規定するポリシー、または設定された時間の期間後、セキュアメモリに記憶されたある特定の年齢のデータすべてをセキュア仮想環境に消去させる、セキュア仮想環境用の設定を含むことができる。
図13は、セキュア仮想環境を使用するモバイルデバイス上で受信されたモバイルアプリケーションをソートするための実施形態の方法1400を示す。方法1400は、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック1402で、モバイルデバイスでアプリケーションを受信することができる。アプリケーションは、セキュアまたは非セキュアのネットワーク接続から受信することができる。ブロック1404で、セキュアAPI/ブローカは、受信されたアプリケーションを尋問することができる。判定ブロック1406で、セキュアAPI/ブローカは、アプリケーションが信用できるアプリケーションかどうかを判定することができる。アプリケーションが信用できない場合(すなわち、判定ブロック1406=「No」)、ブロック1408で、アプリケーションは非セキュア環境内に記憶され、そこで稼動するように構成することができる。アプリケーションが信用できると判定された場合(すなわち、判定ブロック1406=「Yes」)、セキュアAPI/ブローカは、判定ブロック1410で、アプリケーションがモバイルデバイス上に実装された企業ポリシーによって許可できるかどうかを判定することができる。アプリケーションが企業ポリシーによって許可されない場合(すなわち、判定ブロック1410=「No」)、ブロック1408で、アプリケーションは非セキュア環境内に記憶され、そこで稼動するように構成することができる。アプリケーションが企業ポリシーによって許可された場合(すなわち、判定ブロック1410=「Yes」)、ブロック1412で、アプリケーションはセキュア仮想環境内に記憶され、そこで稼動するように構成することができる。いくつかの実施形態では、企業ポリシーによって許可されたアプリケーションは、セキュア環境と非セキュア環境の両方の中で稼動するように構成する(すなわち、ブロック1408とブロック1412の両方の動作を実行する)ことができる。
図14は、モバイルデバイスで受信される潜在的なアプリケーション1500の概略図である。アプリケーション1500は、信用ID1504を含むアプリケーションヘッダ1502を含むことができる。信用ID1504は、アプリケーション1500がセキュア仮想環境内で動作することが可能であり、そうすることを潜在的に許可されることを識別するための認証情報として機能することができる。アプリケーションコード1506は、アプリケーションヘッダ1502から分離することができる。このようにして、アプリケーションヘッダ1502は、実際のアプリケーションコード1506が操作されるべきことを要求せずに、読み取ることができる。セキュアAPI/ブローカを使用するモバイルデバイスは、アプリケーションのヘッダを読み取ることができ、セキュアAPI/ブローカは、信用ID1504を分析することによって、アプリケーション1500が信用できるかどうかを判定することができる。加えて、信用ID1504、またはアプリケーションヘッダ1502からの他の情報は、セキュアAPI/ブローカによって使用されて、アプリケーションが現在の企業ポリシーによって許可できるかどうかを判定することができる。
図15Aおよび図15Bは、2つの実施形態のデータ構造1600aおよび1600bを示す。図15Aは、信用ID1604を含む非暗号化データヘッダ1602から構成されるデータ構造1600aを示す。この態様では、非暗号化データヘッダ1602は、暗号化/解読機能の有無にかかわらず任意のアプリケーションによって読み取ることができるので、データ構造1600aは、いかなる解読も必要としないで、信用ID1604によって信用できるものとして識別することができる。信用ID1604は、データ1600aがセキュア仮想環境内で動作することが可能であり、潜在的に許可されることを識別するための認証情報として機能する。
図15Bは、図15Aを参照して上述されたデータ構造と同様の一実施形態のデータ構造1600bを示すが、データ構造1600bが暗号化データヘッダ1610を有することを除く。暗号化データヘッダ1610は、データ1600bがセキュア仮想環境内で動作することが可能であり、潜在的に許可されることを識別するための認証情報として機能する信用ID1604を含む。この態様では、暗号化データヘッダ1610は、データ1600bの全体がデータレベルで暗号化され保護できることを保証する、セキュリティの追加レイヤを提供する。
図16は、モバイルデバイス内に企業ポリシーをプロビジョニングするための実施形態の方法1700を示す。この方法1700は、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック1702で、モバイルデバイスで企業ポリシーの更新を受信することができる。企業ポリシーの更新は、許可されたファイルタイプ、パスワード要件、ユーザレベル制限、許可されたアプリケーション、データ操作制限、ロックアウト設定、データ記憶/転送制限、およびデータ削除方式を含む、モバイルデバイス上に適用されたセキュリティポリシーの様々な態様を更新することができる。企業ポリシーの更新は、セキュアまたは非セキュアのネットワークを介して受信することができる。
ブロック1704で、セキュア仮想環境は、ブロック1702で受信された企業ポリシーを適用するように更新することができる。ブロック1706で、許可された信用できるアプリケーションのリストを更新することができる。許可された信用できるアプリケーションのリストは、モバイルデバイス上に確立されたセキュア仮想環境内で動作することを企業ポリシーによって許可される可能性がある、信用できるアプリケーションのリストまたは表であり得る。
ブロック1708で、モバイルデバイスの非セキュアメモリは、信用できるアプリケーションを求めて走査することができる。この走査は、セキュア仮想環境またはモバイルデバイスの他の態様によって実行することができる。判定ブロック1710で、セキュア仮想環境を実装するプロセッサは、非セキュアメモリ内でいずれかの信用できるアプリケーションが見いだされたかどうかを判定することができる。非セキュアメモリ上に存在する信用できるアプリケーションが見いだされない場合(すなわち、判定ブロック1710=「No」)、ブロック1712で、何のアクションも取ることができない。
非セキュアメモリ内で信用できるアプリケーションが見いだされた場合(すなわち、判定ブロック1710=「Yes」)、判定ブロック1714で、セキュア仮想環境を実装するプロセッサは、いずれかの見いだされた信用できるアプリケーションが、更新された企業ポリシーによって許可されるかどうかを判定することができる。セキュア仮想環境を実装するプロセッサは、非セキュアメモリ上で見いだされたいずれかの信用できるアプリケーションの信用IDまたは他の属性を、許可された信用できるアプリケーションのリストと比較することができる。信用できるアプリケーションが企業ポリシーによって許可されない場合(すなわち、判定ブロック1714=「No」)、ブロック1712で、何のアクションも取ることができない。
いずれかの信用できるアプリケーションが企業ポリシーによって許可された場合(すなわち、判定ブロック1714=「Yes」)、ブロック1716で、そのアプリケーションは、モバイルデバイスの非セキュアメモリからセキュアメモリに移動することができる。さらなる実施形態では、ブロック1718で、モバイルデバイスのセキュアメモリに移動したいずれかの信用できるアプリケーションに関連するデータも、セキュアメモリに移動することができる。
図17は、モバイルデバイス上の信用できるデータタイプを更新するための実施形態の方法1800を示す。この方法1800は、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック1802で、モバイルデバイスで企業ポリシーの更新を受信することができる。この態様では、企業ポリシーの更新は、許可された信用できるデータタイプの更新を含むことができる。企業ポリシーの更新は、セキュアまたは非セキュアのネットワークを介して受信することができる。
ブロック1804で、セキュア仮想環境は、更新された企業ポリシーを適用するように更新することができる。ブロック1806で、許可された信用できるデータタイプは、更新された企業ポリシーで更新することができる。このことは、セキュア仮想環境の内部で機能できる、許可された信用できるデータタイプのリストまたは表を更新することを含むことができる。
ブロック1808で、非セキュアメモリは、信用できるデータタイプを求めて走査することができる。これは、セキュア仮想環境またはモバイルデバイスの他の態様によって実行することができる。判定ブロック1810で、セキュア仮想環境を実装するプロセッサは、非セキュアメモリ内で信用できるデータタイプが見いだされたかどうかを判定することができる。信用できるデータタイプが見いだされない場合(すなわち、判定ブロック1810=「No」)、ブロック1812で、何のアクションも取ることができない。
信用できるデータタイプが見いだされた場合(すなわち、判定ブロック1810=「Yes」)、判定ブロック1814で、見いだされた信用できるデータタイプは更新された企業ポリシーと比較されて、その信用できるデータタイプが許可されるかどうかを判定することができる。見いだされた信用できるデータタイプが更新された企業ポリシーによって許可されない場合(すなわち、判定ブロック1814=「No」)、ブロック1812で、何のアクションも取ることができない。さらなる実施形態では、その信用できるデータタイプが更新された企業ポリシーによって許可されない場合(すなわち、判定ブロック1814=「No」)、その信用できるデータタイプは削除することができる。
その信用できるデータタイプが更新された企業ポリシーによって許可された場合(すなわち、判定ブロック1814=「Yes」)、ブロック1816で、その信用できるデータタイプはセキュアメモリに移動することができる。
図18は、企業ポリシーを更新してセキュアメモリからデータタイプを除去するための実施形態の方法1900を示す。この方法1900は、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック1902で、モバイルデバイスで企業ポリシーの更新を受信することができる。この実施形態では、企業ポリシーの更新は、許可された信用できるデータタイプの更新を含むことができる。企業ポリシーの更新は、セキュアまたは非セキュアのネットワークを介して受信することができる。
ブロック1904で、セキュア仮想環境は、更新された企業ポリシーを適用するように更新することができる。ブロック1906で、許可された信用できるデータタイプは、更新された企業ポリシーで更新することができる。このことは、セキュア仮想環境内で機能できる、許可された信用できるデータタイプのリストまたは表を更新することを含むことができる。この実施形態では、許可された信用できるデータタイプの表は、以前に許可された信用できるデータタイプを除去することによって更新することができる。これらの現在許可されないデータタイプは、企業体のポリシーにより、セキュア仮想環境内でもはや認可されない。
ブロック1908で、セキュアメモリは、許可されないデータタイプを求めて走査することができる。この走査は、セキュア仮想環境またはモバイルデバイスの他の態様によって行うことができる。判定ブロック1910で、セキュア仮想環境を実装するプロセッサは、セキュアメモリ上にいずれかの許可されないデータタイプが存在するかどうかを判定することができる。許可されないデータタイプがセキュアメモリ上で見いだされない場合(すなわち、判定ブロック1910=「No」)、ブロック1912で、何のアクションも取ることができない。
許可されないデータタイプがセキュアメモリ上で見いだされた場合(すなわち、判定ブロック1910=「Yes」)、ブロック1914で、その許可されないデータタイプはセキュアメモリから削除することができる。さらなる実施形態では、ブロック1916で、セキュア仮想環境は削除レポートを生成することができる。この削除レポートは、企業体に送られるか、またはモバイルデバイス上に記憶することができる。削除レポートは、削除されたデータのタイプ、削除されたデータの数またはサイズ、削除の日時に関する情報、およびデータの削除に関係する他の情報を含むことができる。
図19は、企業ポリシーの更新後モバイルデバイスから信用できるアプリケーションを除去するための実施形態の方法2000を示す。この方法2000は、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック2002で、モバイルデバイスで企業ポリシーの更新を受信することができる。企業ポリシーの更新は、セキュアまたは非セキュアのネットワークを介して受信することができる。この実施形態では、企業ポリシーの更新は、許可された信用できるアプリケーションの更新を含むことができる。
ブロック2004で、セキュア仮想環境は、更新された企業ポリシーを適用するように更新することができる。ブロック2006で、許可された信用できるアプリケーションのリストは、更新された企業ポリシーで更新することができる。このことは、セキュア仮想環境内で機能できる、許可された信用できるアプリケーションのリストまたは表を更新することを含むことができる。この態様では、許可された信用できるアプリケーションのリストは、任意の以前に許可された信用できるアプリケーションのリストを交換することによって更新することができる。新たに許可されない信用できるアプリケーションは、企業体のポリシーにより、セキュア仮想環境内でもはや認可されない。
ブロック2008で、セキュアメモリは、許可されない信用できるアプリケーションを求めて走査することができる。この走査は、セキュア仮想環境またはモバイルデバイスの他の態様によって行うことができる。判定ブロック2010で、セキュア仮想環境を実装するプロセッサは、いずれかの許可されない信用できるアプリケーションがセキュアメモリ上に記憶されているかどうかを判定することができる。セキュアメモリ上に記憶されている許可されない信用できるアプリケーションが見いだされない場合(すなわち、判定ブロック2010=「No」)、ブロック2012で、何のアクションも取ることができない。
セキュアメモリ上に記憶されている許可されない信用できるアプリケーションが見いだされた場合(すなわち、判定ブロック2010=「Yes」)、判定ブロック2014で、セキュア仮想環境を実装するプロセッサは、許可されない信用できるアプリケーションを削除するかどうかを判定することができる。許可されない信用できるアプリケーションを削除する判定は、企業ポリシーによって行われるか、ユーザから受信された入力に基づくことができる。判定が、許可されない信用できるアプリケーションを削除しないことである場合(すなわち、判定ブロック2014=「No」)、ブロック2012で、何のアクションも取ることができない。判定が、許可されない信用できるアプリケーションを削除するように行われた場合(すなわち、判定ブロック2014=「Yes」)、ブロック2016で、許可されない信用できるアプリケーションはセキュアメモリから削除することができる。さらなる実施形態では、ブロック2018で、セキュア仮想環境は削除レポートを生成することができる。この削除レポートは、企業体に送られるか、またはモバイルデバイス上に記憶することができる。削除レポートは、削除されたアプリケーションのタイプ、削除されたアプリケーションの数またはサイズ、削除の日時に関する情報、および削除に関係する他の情報を含むことができる。
図20A〜図20Bは、セキュア仮想環境を介して指示することができる、モバイルデバイス上で企業イベントを行うための代替実施形態の方法2100aおよび2100bを示す。図20Aは、モバイルデバイスにカタログコマンドをプロビジョニングする企業イベントを行うための一実施形態2100aを示す。カタログコマンドは、セキュア仮想環境をモバイルデバイス上のカタログ項目に向けることができる。一例として、E発見要求は、モバイルデバイスに関する情報を提供するように企業体に要求することができる。E発見要求の要件を満足するために、企業体は企業イベント、たとえばカタログコマンドを使用することができる。
この方法2100aは、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック2102で、企業体のカタログコマンドは、セキュア仮想環境によって受信することができる。ブロック2104で、セキュア仮想環境を実装するプロセッサは、セキュアメモリ内に存在する、および/またはセキュア仮想環境に関連するすべてのアプリケーションおよびデータをカタログに載せることができる。ブロック2104で、セキュア仮想環境を実装するプロセッサは、企業体に送ることができるカタログレポートを生成することができる。このカタログレポートは、セキュアメモリ内の、および/またはセキュア仮想環境に関連するデータの本質に関する情報を含むことができる。カタログレポートは、セキュアまたは非セキュアのネットワークを介して送ることができる。さらなる実施形態では、ブロック2106で、セキュア仮想環境はロックすることができる。セキュア仮想環境のロックは、企業のカタログコマンド内に含まれた命令の結果として起こる場合がある。企業体は、E発見要求に関係するデータを保存するために、電話をロックすることができる。さらなる態様では、ブロック2108で、モバイルデバイス上の任意のセキュアメモリの内容は、セキュア仮想環境を実装するプロセッサによってコピーされ、カタログコマンドに応答して企業体に送ることができる。
図20Bは、モバイルデバイスが盗難、売却されたと報告されたか、または従業員が解雇された後、モバイルデバイスを保護する企業イベントを行うための実施形態の方法2100bを示す。モバイルデバイスが盗難にあったと企業体に報告された、モバイルデバイスが売却された、または従業員が解雇された場合、企業体は、モバイルデバイス上の企業データの保護を保証するように要望する可能性がある。これらの3つのシナリオは、企業データがモバイルデバイスから除去されることが必要である一般的な状況を表すが、データが除去されるべきいかなる状況も方法2100bを使用することができる。
この方法2100bは、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック2114で、セキュア仮想環境を実装するプロセッサは、企業の削除コマンドを受信することができる。ブロック2116で、セキュア仮想環境を実装するプロセッサは、モバイルデバイス上のすべてのセキュアデータを消去することができる。セキュアデータは、信用できるアプリケーションまたは信用できるデータおよびセキュアメモリの任意の内容を含むことができる。メモリからデータを効率的に消去する既知の方法を使用することができる。ブロック2120で、セキュア仮想環境は、永久にロックされ、使用禁止にされ、かつ/またはモバイルデバイスから削除される可能性がある。
図21は、ユーザインターフェース、セキュア仮想環境と通信ネットワークとの間の相互作用を管理するための実施形態の方法2200を示す。方法2200は、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部およびネットワークサーバのプロセッサ内部に実装することができる。U/I(ユーザインターフェース)ディスプレイレベルおよびセキュア仮想環境と標示された列の中の動作は、モバイルデバイスのプロセッサ内部に実装することができ、通信ネットワークと標示された列の中の動作は、上述の企業ポリシーを提供する組織の制御下にあるエンタープライズサーバなどのネットワークサーバのプロセッサ内部に実装することができる。
ブロック2202で、モバイルデバイスは、セキュア仮想環境の起動に対するユーザ要求を受け取ることができる。このユーザ入力は、モバイルデバイスディスプレイ上のアイコンに対するユーザのタッチもしくはクリックの形態、ドロップダウンメニュー、または任意の他の選択方法を介するものであり得る。ブロック2204で、セキュア仮想環境は初期化される。セキュア仮想環境の初期化の一部として、ブロック2206で、セキュア仮想環境は、ユーザインターフェースディスプレイレンダリングモジュールに渡されるユーザ認証プロンプト(たとえば、パスワード入力ウィンドウ)を生成することができる。
ブロック2208で、ユーザ認証プロンプトは、ユーザインターフェースディスプレイレベルによって使用されて、ディスプレイ上にプロンプトを提示し、認証入力を待つことができる。プロンプトは、ダイアログボックス、ポップアップウィンドウの形態、または任意の他の形態であり得る。動作時、ユーザは、ユーザID、パスワード、生体センサへの登録、またはそれらの任意の組合せを含む様々な認証入力を提供するように促される可能性がある。ブロック2210で、ユーザインターフェースはユーザ認証入力を受け取り、セキュア仮想環境にユーザ認証入力を渡す。
ブロック2212で、セキュア仮想環境は、受信された認証入力を使用して、ユーザを確認する。その確認に基づいて、ブロック2214で、セキュア仮想環境に対するアクセスを許可することができる。ブロック2216で、セキュア仮想環境は、ディスプレイ上に提示することができる。
ブロック2218で、モバイルデバイスは、ユーザインターフェースを介してネットワークベースのアプリケーションの選択を示すユーザ入力を受け取ることができる。ブロック2220で、ネットワークアクセス要求は、セキュア仮想環境によって生成することができる。ブロック2222で、ネットワークアクセス要求は、モバイルデバイスの通信レイヤを介して、通信ネットワークと通信することができる。そのような通信は、任意の知られているデータ通信のハードウェアおよびプロトコルを使用することができるので、通信リンクの確立に関連する内部動作およびメッセージングは図示されず、これ以上記載されない。ブロック2222でネットワークアクセス要求を受信した後、通信ネットワーク(すなわち、ネットワークに結合されたサーバ)は、ブロック2224でモバイルデバイスに認証要求を送り返すことができる。
ブロック2226で、セキュア仮想環境は、認証要求を受信することができる。ブロック2228で、セキュア仮想環境は、関連するネットワーク内のユーザ用のユーザ認証パッケージを、通信ネットワーク上の要求元サーバに送り返すことができる。一実施形態では、認証パッケージは、ユーザの名前またはID、ならびに、モバイルデバイスがユーザを認証したことを示す、モバイルデバイスおよび組織サーバにのみ知られたコードまたはキーであり得る。別の実施形態では、認証パッケージは、ユーザによって提供された認証入力の一部または全部であり得る。第3の実施形態では、認証パッケージは、デバイス認証キーとユーザ認証入力の両方を含むことができる。ブロック2230で、ユーザ認証は通信ネットワークで確認することができる。ユーザ認証の確認後、ブロック2232で、通信ネットワークは、通信ネットワーク上のサーバへのアクセスを許可することができる。
ブロック2234、2236、および2238で、暗号化されたデータリンクは、セキュア仮想環境を介してユーザインターフェースと通信ネットワークとの間で確立することができ、ユーザがセキュアデータリンクを介してネットワークと相互作用することが可能になる。ブロック2240、2242、および2244で、ユーザインターフェースは、セキュアデータリンクを介して通信ネットワークと相互作用することができる。ブロック2240で、通信ネットワークとユーザインターフェースとの間のすべての相互作用は、セキュア仮想環境を通してセキュアデータリンクを介して発生する。ブロック2242で、セキュア仮想環境は必要に応じてデータを暗号化し解読する。このようにして、ユーザとネットワークとの間のセキュア通信のみを行うことができる。
ブロック2246で、ユーザインターフェースは、セキュア仮想環境を終了する要求を受信することができる。ブロック2246で、ユーザインターフェースは、ユーザの不活動状態などに応答して自動エグジットを起こすことができる。ブロック2248で、セキュア仮想環境に関連するすべてのデータは、セキュア仮想環境によって削除または暗号化することができる。ブロック2250で、セキュア仮想環境はセキュアデータリンクを終了することができる。ブロック2254で、ユーザは通信ネットワークからログオフすることもできる。ブロック2256で、セキュア仮想環境は閉じることができる。ブロック2252で、次いで、ユーザインターフェースは、非セキュアオペレーティングシステムが実装されたことを示すことができる。
図22は、モバイルデバイス上のセキュア仮想環境の始動を可能にするための実施形態の方法2300を示す。この方法2300は、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック2302で、モバイルデバイスは始動することができる。ブロック2304で、セキュア仮想環境は、モバイルデバイスのスタートアップルーチンの一部としてバックグラウンドで始動することができる。ブロック2306で、セキュア仮想環境は、モバイルデバイスのバックグラウンドで稼動することができる。
判定ブロック2308で、セキュア仮想環境を実装するプロセッサは、ユーザインターフェースからの信号を監視して、セキュア仮想環境がユーザ入力に基づいてユーザによって選択されたかどうかを判定することができる。セキュア仮想環境が選択されなかった場合(すなわち、判定ブロック2308=「No」)、ブロック2306で、セキュア仮想環境は稼動し続けることができる。
セキュア仮想環境が選択された場合(すなわち、判定ブロック2308=「Yes」)、セキュア仮想環境はセキュア仮想環境画面を生成し、ユーザに認証入力を促すことができる。プロセッサはユーザが要求された認証情報を受信することができ、判定ブロック2314で、プロセッサは、上述されたようにユーザが認証されたかどうかを判定することができる。ユーザが認証されなかった場合(すなわち、判定ブロック2314=「No」)、認証プロンプトおよび他のセキュア仮想環境に関連する画像はディスプレイから除去することができ、ブロック2306で、セキュア仮想環境はバックグラウンドで稼動し続けることができる。ユーザ認証は、ユーザID、パスワード、セキュアキー、または生体データの入力を含む任意の形態であり得る。ユーザが認証された場合(すなわち、判定ブロック2314=「Yes」)、ブロック2316で、プロセッサはセキュア仮想環境へのアクセスを可能にし、次いで、セキュア仮想環境は上述されたように動作することができる。
図23は、ユーザログインを繰り返さずに信用できるアプリケーションへのアクセスを許可するための、セキュア仮想環境の内部に実装できる実施形態の方法2400を示す。この方法2400は、方法の動作を実行するための適切なプロセッサ実行可能命令でプロセッサを構成することによって、モバイルデバイスのプロセッサ内部に実装することができる。ブロック2402で、信用できるアプリケーションのユーザ選択は、ユーザインターフェースから受け取ることができる。ユーザ入力は、モバイルデバイスデスクトップ上のアイコンに対するユーザのタッチもしくはクリックの形態、ドロップダウンメニュー、または任意の他の選択方法を介するものであり得る。
ブロック2404で、信用できるアプリケーションはセキュア仮想環境からユーザ認証のフォームを要求することができる。アプリケーションによる認証に対するこの要求は、様々な理由で起こる場合がある。たとえば、アプリケーションは、アプリケーションが完全に活動状態に入って、無認可のユーザがアプリケーションを使用することを防止するか、または正しいユーザプロファイルを提示する前に、ユーザ認証を要求するセキュリティ対策を含むことができる。一実施形態では、認証に対するこの要求は、セキュア仮想環境によってサポートされる認証APIへのコールの形態であり得る。
ブロック2406で、認証情報は、セキュア仮想環境によって要求元アプリケーションに提供することができる。セキュア仮想環境は、アプリケーションにデータを渡したり、あらかじめ定義されたメモリ位置に認証を示したり、または認証APIコールに応答するなどして、信用できるアプリケーションに直接情報を提供することができ、したがってユーザが直接情報を提供する必要がないようにする。一態様では、ユーザは信用できるアプリケーションがユーザ認証を要求したことを通知されないので、信用できるアプリケーションを開くことがユーザには自動であるように見える可能性がある。ブロック2408で、信用できるアプリケーションへのアクセスを許可することができる。この態様では、個々の信用できるアプリケーションがユーザ認証を要求できるが、セキュア仮想環境はユーザIDおよびログイン情報を記憶するので、信用できるアプリケーションが選択されたとき、セキュア仮想環境は各信用できるアプリケーションにユーザ情報およびユーザ認証を自動的にプロビジョニングする。これにより、ユーザは各個のアプリケーションが選択されたときそれらにログインする必要がないので、ユーザの時間が節約される。
様々な実施形態は、種々のモバイルデバイスのいずれにも実装することができ、その一例が図24に示される。たとえば、モバイルデバイス2500は、内部メモリ2510および2504に結合されたプロセッサ2502を含むことができる。内部メモリ2510は、揮発性メモリまたは不揮発性メモリであり得るし、また、セキュアメモリおよび/もしくは暗号化メモリ、または非セキュアメモリおよび/もしくは非暗号化メモリ、またはそれらの任意の組合せであり得る。また、プロセッサ2502は、抵抗性感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンディスプレイ2506に結合することができる。加えて、モバイルデバイスのディスプレイは、タッチスクリーン機能を有する必要はない。加えて、モバイルデバイス2500は、プロセッサ2502に結合されたワイヤレスデータリンクおよび/または携帯電話トランシーバ2516に接続できる、電磁放射を送受信するための1つまたは複数のアンテナ2508を有することができる。モバイルデバイス2500はまた、ユーザ入力を受け取るための物理ボタン2512を含むことができる。モバイルデバイス2500はまた、モバイルデバイス2500をオンオフするための電源ボタン2518を含むことができる。
プロセッサ2502は、以下に記載される様々な実施形態の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成できる任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのモバイルデバイスでは、1つのプロセッサをワイヤレス通信機能専用にし、1つのプロセッサを他のアプリケーションの実行専用にするように、複数のプロセッサ2502を設けることができる。一般的に、ソフトウェアアプリケーションは、それらがアクセスされ、プロセッサ2502、2601にロードされる前に、内部メモリ2602、2504、2510に記憶することができる。プロセッサ2502、2601は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含むことができる。
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な態様のステップを提示された順序で実行しなければならないことを要求または暗示するものではない。当業者が諒解するように、上記の態様におけるステップの順序は、任意の順序で実施することができる。「その後」、「次いで」、「次に」などの単語は、ステップの順序を限定するものではなく、これらの単語は、方法の説明を通して読者を案内するために使用されるにすぎない。さらに、たとえば、冠詞「a」、「an」または「the」などを使用する単数形での請求項の要素へのいかなる言及も、その要素を単数に限定するものとして解釈されるべきではない。
本明細書で開示された態様に関して記載された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装することができる。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上述された。そのような機能をハードウェアとして実装するか、またはソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、記載された機能を特定の適用例ごとに様々な方法で実装できるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
本明細書で開示された態様に関して記載された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別のハードウェアコンポーネント、または、本明細書に記載された機能を実行するように設計されたそれらの任意の組合せで、実装または実行することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、そのプロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、たとえばDSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアに結合した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成などのコンピューティングデバイスの組合せとして実装することができる。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行することができる。
1つまたは複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。ソフトウェアに実装される場合、機能は、非一時的コンピュータ可読媒体上に1つまたは複数の命令またはコードとして記憶することができる。本明細書で開示された方法またはアルゴリズムのステップは、非一時的コンピュータ可読記憶媒体上に常駐できるプロセッサ実行可能ソフトウェアモジュール内で具現化することができる。非一時的コンピュータ可読記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体であり得る。限定ではなく、例として、そのような非一時的コンピュータ可読媒体には、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得る、任意の他の媒体が含まれ得る。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フレキシブルディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せも非一時的コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込むことができる、非一時的機械可読媒体および/またはコンピュータ可読媒体上に、コードおよび/または命令の1つまたは任意の組合せもしくはセットとして常駐することができる。
開示された態様の上記の説明は、任意の当業者が本発明を製作または使用できるように提供される。これらの態様への様々な修正が当業者には容易に明らかであり、本明細書で規定された一般的な原理は、本発明の趣旨や範囲を逸脱することなく他の態様に適用することができる。したがって、本発明は、本明細書で示された態様に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示された原理および新規の特徴に合致する、最も広い範囲を与えられるべきである。
102 非セキュアネットワーク
104 セキュアネットワーク
106 モバイルデバイス
108 モバイルデバイスオペレーティングシステム(非セキュアオペレーティングシステム)
110 非セキュアデスクトップ
112 セキュア仮想環境
114 非暗号化メモリ
116 暗号化メモリ
118 解読/暗号化モジュール
120 セキュアオペレーティングシステム
200 ワイヤレスネットワークシステム
202 モバイルデバイス
204 ワイヤレス送信機/受信機(基地局)
206 ワイヤレスデータネットワーク
208 ルータ
210 インターネット
212 サーバ
1000a システムアーキテクチャ
1000b システムアーキテクチャ
1000c システムアーキテクチャ
1002 非セキュア領域
1004 セキュア領域
1006 キーアーキテクチャ
1012 クライアントレベル
1014 セキュア仮想環境
1016 ミドルウェアレベル
1018 ハードウェアレベル
1022 モバイルアプリケーション
1024 信用できるモバイルアプリケーション
1026 セキュアAPI/ブローカ
1028 信用できるモバイルアプリケーション環境
1030 セキュリティおよびストレージ管理モジュール
1032 オペレーティングシステム
1034 キー管理システム
1036 非セキュアメモリ
1038 セキュアメモリ
1040 キー供給システム
1042 ポリシーマネージャAPI/ブローカ
1100 モバイルデバイス
1102 ステータスバー
1104 タッチスクリーン
1106 モバイルアプリケーションアイコン
1108 モバイルアプリケーションアイコン
1110 モバイルアプリケーションアイコン
1112 モバイルアプリケーションアイコン
1114 モバイルアプリケーションアイコン
1116 モバイルアプリケーションアイコン
1118 モバイルアプリケーションアイコン
1120 モバイルアプリケーションアイコン
1122 モバイルアプリケーションアイコン
1124 モバイルアプリケーションアイコン
1126 モバイルアプリケーションアイコン
1128 モバイルアプリケーションアイコン
1130 セキュア仮想環境アイコン
1132 バナー
1134 モバイルアプリケーションアイコン
1136 モバイルアプリケーションアイコン
1138 モバイルアプリケーションアイコン
1140 EXITセキュア仮想環境アイコン
1200 モバイルデバイス
1202 ステータスバー
1204 タッチスクリーン
1206 モバイルアプリケーションアイコン
1208 モバイルアプリケーションアイコン
1210 モバイルアプリケーションアイコン
1212 モバイルアプリケーションアイコン
1214 モバイルアプリケーションアイコン
1216 モバイルアプリケーションアイコン
1218 モバイルアプリケーションアイコン
1220 モバイルアプリケーションアイコン
1222 モバイルアプリケーションアイコン
1224 モバイルアプリケーションアイコン
1226 モバイルアプリケーションアイコン
1230 セキュア仮想環境アイコン
1232 バナー
1234 モバイルアプリケーションアイコン
1236 モバイルアプリケーションアイコン
1238 モバイルアプリケーションアイコン
1240 EXITセキュア仮想環境アイコン
1300 企業セキュリティポリシーの潜在的な要素の概略図
1302 ポリシー
1304 許可されたファイルタイプ
1306 パスワード要件
1308 ユーザレベル制限
1310 許可されたアプリケーション
1312 データ操作制限
1314 ロックアウト設定
1316 データ記憶/転送制限
1318 データ削除方式
1400 モバイルアプリケーションをソートするための方法
1500 アプリケーション
1502 アプリケーションヘッダ
1504 信用ID
1506 アプリケーションコード
1600a データ構造
1600b データ構造
1602 非暗号化データヘッダ
1604 信用ID
1606 暗号化データ
1610 暗号化データヘッダ
1700 モバイルデバイス内に企業ポリシーを供給するための方法
1800 モバイルデバイス上の信用できるデータタイプを更新するための方法
1900 企業ポリシーを更新してセキュアメモリからデータタイプを除去するための方法
2000 企業ポリシーの更新後モバイルデバイスから信用できるアプリケーションを除去するための方法
2100a モバイルデバイス上で企業イベントを行うための方法
2100b モバイルデバイス上で企業イベントを行うための方法
2200 ユーザインターフェース、セキュア仮想環境と通信ネットワークとの間の相互作用を管理するための方法
2300 モバイルデバイス上のセキュア仮想環境が始動することを可能にするための方法
2400 ユーザログインを繰り返さずに信用できるアプリケーションへのアクセスを許可するための方法
2500 モバイルデバイス
2502 プロセッサ
2504 内部メモリ
2506 タッチスクリーンディスプレイ
2508 アンテナ
2510 内部メモリ
2512 物理ボタン
2516 ワイヤレスデータリンクおよび/または携帯電話トランシーバ
2518 電源ボタン
2601 プロセッサ
2602 内部メモリ
3000 ネットワークのソフトウェアアーキテクチャ
3002 サーバレベル
3004 クライアントレベル
3006 ミドルウェア
3008 ハードウェアレイヤ
3010 モバイルデバイスのソフトウェアアーキテクチャ
3012 アプリケーションレベル
3014 クライアントレベル
3016 ミドルウェア
3018 ハードウェアレイヤ
3020 セキュア仮想環境
4000 非暗号化メモリ
4002 非セキュアデータ
4004 セキュアデータ
4006 暗号化メモリ
5000 モバイルデバイス上にセキュア仮想環境を実装するための方法
6000a セキュア仮想環境を使用するモバイルデバイスで受信されたデータと相互作用するための一実施形態
6000b セキュア仮想環境を使用するモバイルデバイスで受信されたデータと相互作用するための代替的な実施形態
7000a セキュア仮想環境
7000b セキュア仮想環境
7002 セキュリティポリシーモジュール
7004 セキュアキー/パスワード供給モジュール
7006 信用できるデータの尋問モジュール
7008 暗号化/解読モジュール
7010 セキュリティおよびストレージ管理モジュール
7012 仮想プライベートネットワーク(VPN)クライアントモジュール
7014 セキュア仮想環境アクセス認証モジュール
7016 セキュアAPI/ブローカモジュール
7018 ポリシーマネージャAPI/ブローカモジュール
9000a システムアーキテクチャ
9000b システムアーキテクチャ
9000c システムアーキテクチャ
9002 非セキュア領域
9004 セキュア領域
9006 キーアーキテクチャ
9012 クライアントレベル
9014 セキュア仮想環境
9016 ミドルウェアレベル
9018 ハードウェアレベル
9022 モバイルアプリケーション
9024 信用できるモバイルアプリケーション
9026 セキュアAPI/ブローカ
9028 信用できるモバイルアプリケーション環境
9030 セキュリティおよびストレージ管理モジュール
9032 非セキュアオペレーティングシステム
9034 キー管理システム
9036 非セキュアメモリ
9038 セキュアメモリ
9040 キー供給システム
9042 ポリシーマネージャAPI/ブローカ
9044 セキュアオペレーティングシステム

Claims (76)

  1. モバイルデバイス上のデータを処理するための方法であって、
    セキュリティポリシーで構成された、前記モバイルデバイス上のセキュア仮想環境へのアクセスを可能にするステップと、
    信用できるアプリケーションのみが前記セキュリティポリシーに従って前記セキュア仮想環境の内部で動作することを可能にするステップと、
    ユーザインターフェースに前記信用できるアプリケーションのみを提示するステップと、
    前記セキュア仮想環境内の信用できるアプリケーションでユーザがデータを操作することを可能にするステップと、
    データが前記セキュア仮想環境から出る前に、操作されたデータを前記セキュア仮想環境で暗号化するステップと、
    前記セキュリティポリシーに従って暗号化されたデータを記憶するステップと、
    遠隔の企業体によって遠隔で制御されるロックアウト設定を適用するステップと
    を含み、
    前記ロックアウト設定が、遠隔の企業体からの企業ポリシーの更新を受信することができるポリシーマネージャを介して前記セキュア仮想環境に適用される、方法。
  2. モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取るステップと、
    前記ユーザに認証入力を促すステップと、
    前記ユーザの認証入力を受け取るステップと、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するステップと
    をさらに含む、請求項1に記載の方法。
  3. データを受信するステップと、
    前記データが信用できるデータかどうかを判定するステップと、
    前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定するステップと、
    前記データが信用できるデータであり、前記セキュリティポリシーによって許可されたタイプのデータである場合、前記セキュア仮想環境で前記データを解読するステップと
    をさらに含む、請求項1に記載の方法。
  4. データを受信するステップと、
    前記データが暗号化されているどうかを判定するステップと、
    前記ユーザに認証入力を促すステップと、
    前記ユーザの認証入力を受け取るステップと、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するステップと、
    前記セキュア仮想環境でデータヘッダを解読するステップと、
    前記データヘッダに従って前記データが信用できるデータかどうかを判定するステップと、
    前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定するステップと、
    前記データが前記セキュリティポリシーによって許可されたタイプの信用できるデータである場合、前記セキュア仮想環境で前記データを解読するステップと
    をさらに含む、請求項1に記載の方法。
  5. アプリケーションを受信するステップと、
    アプリケーションプログラムインターフェース(API)/ブローカを使用して、前記アプリケーションが信用できるアプリケーションかどうかを判定するステップと、
    前記アプリケーションが前記セキュリティポリシーによって許可されるかどうかを判定するステップと、
    前記アプリケーションが信用できるアプリケーションであり、前記セキュリティポリシーによって許可された場合、前記アプリケーションを記憶するステップと
    をさらに含む、請求項1に記載の方法。
  6. 前記セキュリティポリシーが、前記セキュア仮想環境内で動作することを許可されたアプリケーションのリストと、前記セキュア仮想環境内で動作することを許可されたアプリケーションタイプのリストと、前記セキュア仮想環境内のデータ操作制限と、前記セキュア仮想環境内のデータ記憶制限とのうちの1つまたは複数を含む、請求項1に記載の方法。
  7. 信用できるアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信するステップと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するステップと、
    前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるアプリケーションを識別するステップと、
    前記非セキュアメモリ上に記憶された任意の信用できるアプリケーションが、前記セキュリティポリシーによって許可されるかどうかを判定するステップと、
    前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるアプリケーションをセキュアメモリに移動させるステップと
    をさらに含む、請求項1に記載の方法。
  8. 許可されたアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信するステップと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するステップと、
    前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないアプリケーションを識別するステップと、
    任意の識別された許可されないアプリケーションを削除するステップと
    をさらに含む、請求項1に記載の方法。
  9. 信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信するステップと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するステップと、
    前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるデータタイプを識別するステップと、
    前記非セキュアメモリ上に記憶された任意の信用できるデータタイプが、前記セキュリティポリシーによって許可されるかどうかを判定するステップと、
    前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるデータタイプをセキュアメモリに移動させるステップと
    をさらに含む、請求項1に記載の方法。
  10. 信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信するステップと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するステップと、
    前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないデータタイプを識別するステップと、
    任意の識別された許可されないデータタイプを削除するステップと
    をさらに含む、請求項1に記載の方法。
  11. 前記セキュリティポリシーに従って暗号化されたデータを記憶するステップが、前記モバイルデバイス上のメモリのセキュア部分に暗号化されたデータを記憶するステップを含む、請求項1に記載の方法。
  12. カタログコマンドを受信するステップと、
    前記カタログコマンドに応答して、前記セキュア仮想環境を使用してカタログレポートを生成するステップであって、前記カタログレポートがセキュアメモリの内容に関する情報を含む、前記カタログレポートを生成するステップと
    をさらに含む、請求項1に記載の方法。
  13. 前記カタログコマンドに応答して前記セキュア仮想環境をロックするステップと、
    前記カタログコマンドに応答して前記セキュアメモリの前記内容をコピーするステップと、
    セキュアメモリの前記内容のコピーをサーバに送信するステップと
    をさらに含む、請求項12に記載の方法。
  14. 削除コマンドを受信するステップと、
    前記削除コマンドに応答して、前記セキュア仮想環境を使用して前記モバイルデバイス上のセキュアデータを消去するステップと、
    前記削除コマンドに応答して前記セキュア仮想環境をロックするステップと
    をさらに含む、請求項1に記載の方法。
  15. ネットワークベースのアプリケーションを選択するユーザ入力を受け取るステップと、
    ネットワークサーバからネットワークアクセス要求を受信するステップと、
    前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送るステップであって、前記ユーザ認証パッケージが、前記ユーザが認証されたことを示すために使用される、前記セキュア仮想環境および前記ネットワークサーバのみに知られたキーまたはコードを含む、前記ユーザ認証パッケージを送るステップと
    をさらに含む、請求項2に記載の方法。
  16. ネットワークベースのアプリケーションを選択するユーザ入力を受け取るステップと、
    ネットワークサーバからネットワークアクセス要求を受信するステップと、
    前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送るステップであって、前記ユーザ認証パッケージが前記ユーザの認証入力の少なくとも一部を含む、前記ユーザ認証パッケージを送るステップと
    をさらに含む、請求項2に記載の方法。
  17. 前記モバイルデバイスとネットワーク上のサーバとの間のセキュアデータリンクを前記セキュア仮想環境内に確立するステップと、
    前記セキュアデータリンクを介して送信されたデータを前記セキュア仮想環境で解読および暗号化するステップと
    をさらに含む、請求項1に記載の方法。
  18. 前記モバイルデバイスの始動時に前記セキュア仮想環境を起動するステップと、
    前記モバイルデバイスのバックグラウンドで前記セキュア仮想環境を稼動させるステップと、
    モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取るステップと、
    前記ユーザに認証入力を促すステップと、
    前記ユーザの認証入力を受け取るステップと、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するステップと
    をさらに含む、請求項1に記載の方法。
  19. 前記セキュア仮想環境内の信用できるアプリケーションを起動するユーザ入力を受け取るステップと、
    前記信用できるアプリケーションからユーザ認証要求を受信するステップと、
    前記セキュア仮想環境から前記信用できるアプリケーションにユーザ認証情報を提供するステップと
    をさらに含む、請求項1に記載の方法。
  20. モバイルデバイスであって、
    メモリと、
    前記メモリに結合されたプロセッサとを備え、前記プロセッサが、
    セキュリティポリシーで構成された、前記モバイルデバイス上のセキュア仮想環境へのアクセスを可能にすることと、
    信用できるアプリケーションのみが前記セキュリティポリシーに従って前記セキュア仮想環境の内部で動作することを可能にすることと、
    ユーザインターフェースに前記信用できるアプリケーションのみを提示することと、
    前記セキュア仮想環境内の信用できるアプリケーションでユーザがデータを操作することを可能にすることと、
    データが前記セキュア仮想環境から出る前に、操作されたデータを前記セキュア仮想環境で暗号化することと、
    前記セキュリティポリシーに従って前記メモリ内に暗号化されたデータを記憶することと、
    遠隔の企業体によって遠隔で制御されるロックアウト設定を適用することと
    を含む動作を実行するためのプロセッサ実行可能命令で構成され
    前記ロックアウト設定が、遠隔の企業体からの企業ポリシーの更新を受信することができるポリシーマネージャを介して前記セキュア仮想環境に適用される、モバイルデバイス。
  21. 前記プロセッサが、
    モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取ることと、
    前記ユーザに認証入力を促すことと、
    前記ユーザの認証入力を受け取ることと、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  22. 前記プロセッサが、
    データを受信することと、
    前記データが信用できるデータかどうかを判定することと、
    前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定することと、
    前記データが信用できるデータであり、前記セキュリティポリシーによって許可されたタイプのデータである場合、前記セキュア仮想環境で前記データを解読することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  23. 前記プロセッサが、
    データを受信することと、
    前記データが暗号化されているどうかを判定することと、
    前記ユーザに認証入力を促すことと、
    前記ユーザの認証入力を受け取ることと、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと、
    前記セキュア仮想環境でデータヘッダを解読することと、
    前記データヘッダに従って前記データが信用できるデータかどうかを判定することと、
    前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定することと、
    前記データが前記セキュリティポリシーによって許可されたタイプの信用できるデータである場合、前記セキュア仮想環境で前記データを解読することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  24. 前記プロセッサが、
    アプリケーションを受信することと、
    アプリケーションプログラムインターフェース(API)/ブローカを使用して、前記アプリケーションが信用できるアプリケーションかどうかを判定することと、
    前記アプリケーションが前記セキュリティポリシーによって許可されるかどうかを判定することと、
    前記アプリケーションが信用できるアプリケーションであり、前記セキュリティポリシーによって許可された場合、前記アプリケーションを記憶することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  25. 前記セキュリティポリシーが、前記セキュア仮想環境内で動作することを許可されたアプリケーションのリストと、前記セキュア仮想環境内で動作することを許可されたアプリケーションタイプのリストと、前記セキュア仮想環境内のデータ操作制限と、前記セキュア仮想環境内のデータ記憶制限とのうちの1つまたは複数を含むような動作を実行するためのプロセッサ実行可能命令で前記プロセッサが構成された、請求項20に記載のモバイルデバイス。
  26. 前記メモリが非セキュアメモリおよびセキュアメモリを備え、前記プロセッサが、
    信用できるアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
    前記モバイルデバイスの前記非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるアプリケーションを識別することと、
    前記非セキュアメモリ上に記憶された任意の信用できるアプリケーションが、前記セキュリティポリシーによって許可されるかどうかを判定することと、
    前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるアプリケーションを前記セキュアメモリに移動させることと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  27. 前記メモリが非セキュアメモリおよびセキュアメモリを備え、前記プロセッサが、
    許可されたアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
    前記モバイルデバイスの前記セキュアメモリを走査して、前記セキュリティポリシーによって許可されないアプリケーションを識別することと、
    任意の識別された許可されないアプリケーションを削除することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  28. 前記メモリが非セキュアメモリおよびセキュアメモリを備え、前記プロセッサが、
    信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
    前記モバイルデバイスの前記非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるデータタイプを識別することと、
    前記非セキュアメモリ上に記憶された任意の信用できるデータタイプが、前記セキュリティポリシーによって許可されるかどうかを判定することと、
    前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるデータタイプを前記セキュアメモリに移動させることと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  29. 前記メモリが非セキュアメモリおよびセキュアメモリを備え、前記プロセッサが、
    信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
    前記モバイルデバイスの前記セキュアメモリを走査して、前記セキュリティポリシーによって許可されないデータタイプを識別することと、
    任意の識別された許可されないデータタイプを削除することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  30. 前記セキュリティポリシーに従って暗号化されたデータを記憶することが、前記モバイルデバイス上の前記メモリのセキュア部分に暗号化されたデータを記憶することを含むような動作を実行するためのプロセッサ実行可能命令で前記プロセッサが構成された、請求項20に記載のモバイルデバイス。
  31. 前記プロセッサが、
    カタログコマンドを受信することと、
    前記カタログコマンドに応答して、前記セキュア仮想環境を使用してカタログレポートを生成することであって、前記カタログレポートがセキュアメモリの内容に関する情報を含む、前記カタログレポートを生成することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  32. 前記メモリがセキュアメモリを備え、前記プロセッサが、
    前記カタログコマンドに応答して前記セキュア仮想環境をロックすることと、
    前記カタログコマンドに応答して前記セキュアメモリの前記内容をコピーすることと、
    前記セキュアメモリの前記内容のコピーをサーバに送信することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項31に記載のモバイルデバイス。
  33. 前記プロセッサが、
    削除コマンドを受信することと、
    前記削除コマンドに応答して、前記セキュア仮想環境を使用して前記モバイルデバイス上のセキュアデータを消去することと、
    前記削除コマンドに応答して前記セキュア仮想環境をロックすることと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  34. 前記プロセッサに結合され、前記プロセッサがネットワークと通信することを可能にするように構成された送受信機をさらに含み、前記プロセッサが、
    ネットワークベースのアプリケーションを選択するユーザ入力を受け取ることと、
    ネットワークサーバからネットワークアクセス要求を受信することと、
    前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送ることであって、前記ユーザ認証パッケージが、前記ユーザが認証されたことを示すために使用される、前記セキュア仮想環境および前記ネットワークサーバのみに知られたキーまたはコードを含む、前記ユーザ認証パッケージを送ることと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項21に記載のモバイルデバイス。
  35. 前記プロセッサに結合され、前記プロセッサがネットワークと通信することを可能にするように構成された送受信機をさらに含み、前記プロセッサが、
    ネットワークベースのアプリケーションを選択するユーザ入力を受け取ることと、
    ネットワークサーバからネットワークアクセス要求を受信することと、
    前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送ることであって、前記ユーザ認証パッケージが前記ユーザの認証入力の少なくとも一部を含む、前記ユーザ認証パッケージを送ることと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項21に記載のモバイルデバイス。
  36. 前記プロセッサに結合され、前記プロセッサがネットワークと通信することを可能にするように構成された送受信機をさらに含み、前記プロセッサが、
    前記モバイルデバイスとネットワーク上のサーバとの間のセキュアデータリンクを前記セキュア仮想環境内に確立することと、
    前記セキュアデータリンクを介して送信されたデータを前記セキュア仮想環境で解読および暗号化することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  37. 前記プロセッサが、
    前記モバイルデバイスの始動時に前記セキュア仮想環境を起動することと、
    前記モバイルデバイスのバックグラウンドで前記セキュア仮想環境を稼動させることと、
    モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取ることと、
    前記ユーザに認証入力を促すことと、
    前記ユーザの認証入力を受け取ることと、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  38. 前記プロセッサが、
    前記セキュア仮想環境内の信用できるアプリケーションを起動するユーザ入力を受け取ることと、
    前記信用できるアプリケーションからユーザ認証要求を受信することと、
    前記セキュア仮想環境から前記信用できるアプリケーションにユーザ認証情報を提供することと
    をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
  39. モバイルデバイスであって、
    セキュリティポリシーで構成された、前記モバイルデバイス上のセキュア仮想環境へのアクセスを可能にするための手段と、
    信用できるアプリケーションのみが前記セキュリティポリシーに従って前記セキュア仮想環境の内部で動作することを可能にするための手段と、
    ユーザインターフェースに前記信用できるアプリケーションのみを提示するための手段と、
    前記セキュア仮想環境内の信用できるアプリケーションでユーザがデータを操作することを可能にするための手段と、
    データが前記セキュア仮想環境から出る前に、操作されたデータを前記セキュア仮想環境で暗号化するための手段と、
    前記セキュリティポリシーに従って暗号化されたデータを記憶するための手段と、
    遠隔の企業体によって遠隔で制御されるロックアウト設定を適用するための手段と
    を備え
    前記ロックアウト設定が、遠隔の企業体からの企業ポリシーの更新を受信することができるポリシーマネージャを介して前記セキュア仮想環境に適用される、モバイルデバイス。
  40. モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取るための手段と、
    前記ユーザに認証入力を促すための手段と、
    前記ユーザの認証入力を受け取るための手段と、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  41. データを受信するための手段と、
    前記データが信用できるデータかどうかを判定するための手段と、
    前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定するための手段と、
    前記データが信用できるデータであり、前記セキュリティポリシーによって許可されたタイプのデータである場合、前記セキュア仮想環境で前記データを解読するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  42. データを受信するための手段と、
    前記データが暗号化されているどうかを判定するための手段と、
    前記ユーザに認証入力を促すための手段と、
    前記ユーザの認証入力を受け取るための手段と、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するための手段と、
    前記セキュア仮想環境でデータヘッダを解読するための手段と、
    前記データヘッダに従って前記データが信用できるデータかどうかを判定するための手段と、
    前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定するための手段と、
    前記データが前記セキュリティポリシーによって許可されたタイプの信用できるデータである場合、前記セキュア仮想環境で前記データを解読するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  43. アプリケーションを受信するための手段と、
    アプリケーションプログラムインターフェース(API)/ブローカを使用して、前記アプリケーションが信用できるアプリケーションかどうかを判定するための手段と、
    前記アプリケーションが前記セキュリティポリシーによって許可されるかどうかを判定するための手段と、
    前記アプリケーションが信用できるアプリケーションであり、前記セキュリティポリシーによって許可された場合、前記アプリケーションを記憶するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  44. 前記セキュリティポリシーが、前記セキュア仮想環境内で動作することを許可されたアプリケーションのリストと、前記セキュア仮想環境内で動作することを許可されたアプリケーションタイプのリストと、前記セキュア仮想環境内のデータ操作制限と、前記セキュア仮想環境内のデータ記憶制限とのうちの1つまたは複数を含む、請求項39に記載のモバイルデバイス。
  45. 信用できるアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信するための手段と、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するための手段と、
    前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるアプリケーションを識別するための手段と、
    前記非セキュアメモリ上に記憶された任意の信用できるアプリケーションが、前記セキュリティポリシーによって許可されるかどうかを判定するための手段と、
    前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるアプリケーションをセキュアメモリに移動させるための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  46. 許可されたアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信するための手段と、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するための手段と、
    前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないアプリケーションを識別するための手段と、
    任意の識別された許可されないアプリケーションを削除するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  47. 信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信するための手段と、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するための手段と、
    前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるデータタイプを識別するための手段と、
    前記非セキュアメモリ上に記憶された任意の信用できるデータタイプが、前記セキュリティポリシーによって許可されるかどうかを判定するための手段と、
    前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるデータタイプをセキュアメモリに移動させるための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  48. 信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信するための手段と、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するための手段と、
    前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないデータタイプを識別するための手段と、
    任意の識別された許可されないデータタイプを削除するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  49. 前記セキュリティポリシーに従って暗号化されたデータを記憶するための手段が、前記モバイルデバイス上のメモリのセキュア部分に暗号化されたデータを記憶するための手段を含む、請求項39に記載のモバイルデバイス。
  50. カタログコマンドを受信するための手段と、
    前記カタログコマンドに応答して、前記セキュア仮想環境を使用してカタログレポートを生成するための手段であって、前記カタログレポートがセキュアメモリの内容に関する情報を含む、前記カタログレポートを生成するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  51. 前記カタログコマンドに応答して前記セキュア仮想環境をロックするための手段と、
    前記カタログコマンドに応答して前記セキュアメモリの前記内容をコピーするための手段と、
    前記セキュアメモリの前記内容のコピーをサーバに送信するための手段と
    をさらに備える、請求項50に記載のモバイルデバイス。
  52. 削除コマンドを受信するための手段と、
    前記削除コマンドに応答して、前記セキュア仮想環境を使用して前記モバイルデバイス上のセキュアデータを消去するための手段と、
    前記削除コマンドに応答して前記セキュア仮想環境をロックするための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  53. ネットワークベースのアプリケーションを選択するユーザ入力を受け取るための手段と、
    ネットワークサーバからネットワークアクセス要求を受信するための手段と、
    前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送るための手段であって、前記ユーザ認証パッケージが、前記ユーザが認証されたことを示すために使用される、前記セキュア仮想環境および前記ネットワークサーバのみに知られたキーまたはコードを含む、前記ユーザ認証パッケージを送るための手段と
    をさらに備える、請求項40に記載のモバイルデバイス。
  54. ネットワークベースのアプリケーションを選択するユーザ入力を受け取るための手段と、
    ネットワークサーバからネットワークアクセス要求を受信するための手段と、
    前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送るための手段であって、前記ユーザ認証パッケージが前記ユーザの認証入力の少なくとも一部を含む、前記ユーザ認証パッケージを送るための手段と
    をさらに備える、請求項40に記載のモバイルデバイス。
  55. 前記モバイルデバイスとネットワーク上のサーバとの間のセキュアデータリンクを前記セキュア仮想環境内に確立するための手段と、
    前記セキュアデータリンクを介して送信されたデータを前記セキュア仮想環境で解読および暗号化するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  56. 前記モバイルデバイスの始動時に前記セキュア仮想環境を起動するための手段と、
    前記モバイルデバイスのバックグラウンドで前記セキュア仮想環境を稼動させるための手段と、
    モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取るための手段と、
    前記ユーザに認証入力を促すための手段と、
    前記ユーザの認証入力を受け取るための手段と、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  57. 前記セキュア仮想環境内の信用できるアプリケーションを起動するユーザ入力を受け取るための手段と、
    前記信用できるアプリケーションからユーザ認証要求を受信するための手段と、
    前記セキュア仮想環境から前記信用できるアプリケーションにユーザ認証情報を提供するための手段と
    をさらに備える、請求項39に記載のモバイルデバイス。
  58. モバイルデバイスのプロセッサに、
    セキュリティポリシーで構成された、前記モバイルデバイス上のセキュア仮想環境へのアクセスを可能にすることと、
    信用できるアプリケーションのみが前記セキュリティポリシーに従って前記セキュア仮想環境の内部で動作することを可能にすることと、
    ユーザインターフェースに前記信用できるアプリケーションのみを提示することと、
    前記セキュア仮想環境内の信用できるアプリケーションでユーザがデータを操作することを可能にすることと、
    データが前記セキュア仮想環境から出る前に、操作されたデータを前記セキュア仮想環境で暗号化することと、
    前記セキュリティポリシーに従ってメモリ内に暗号化されたデータを記憶することと、
    遠隔の企業体によって遠隔で制御されるロックアウト設定を適用することと
    を含む動作を実行させるように構成されたプロセッサ実行可能命令を記憶し、前記ロックアウト設定が、遠隔の企業体からの企業ポリシーの更新を受信することができるポリシーマネージャを介して前記セキュア仮想環境に適用される、プロセッサ可読記憶媒体。
  59. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取ることと、
    前記ユーザに認証入力を促すことと、
    前記ユーザの認証入力を受け取ることと、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  60. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    データを受信することと、
    前記データが信用できるデータかどうかを判定することと、
    前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定することと、
    前記データが信用できるデータであり、前記セキュリティポリシーによって許可されたタイプのデータである場合、前記セキュア仮想環境で前記データを解読することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  61. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    データを受信することと、
    前記データが暗号化されているどうかを判定することと、
    前記ユーザに認証入力を促すことと、
    前記ユーザの認証入力を受け取ることと、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと、
    前記セキュア仮想環境でデータヘッダを解読することと、
    前記データヘッダに従って前記データが信用できるデータかどうかを判定することと、
    前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定することと、
    前記データが前記セキュリティポリシーによって許可されたタイプの信用できるデータである場合、前記セキュア仮想環境で前記データを解読することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  62. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    アプリケーションを受信することと、
    アプリケーションプログラムインターフェース(API)/ブローカを使用して、前記アプリケーションが信用できるアプリケーションかどうかを判定することと、
    前記アプリケーションが前記セキュリティポリシーによって許可されるかどうかを判定することと、
    前記アプリケーションが信用できるアプリケーションであり、前記セキュリティポリシーによって許可された場合、前記アプリケーションを記憶することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  63. 前記セキュリティポリシーが、前記セキュア仮想環境内で動作することを許可されたアプリケーションのリストと、前記セキュア仮想環境内で動作することを許可されたアプリケーションタイプのリストと、前記セキュア仮想環境内のデータ操作制限と、前記セキュア仮想環境内のデータ記憶制限とのうちの1つまたは複数を含むような動作をモバイルデバイスのプロセッサにさせるように、前記記憶されたプロセッサ実行可能命令が構成された、請求項58に記載のプロセッサ可読記憶媒体。
  64. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    信用できるアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
    前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるアプリケーションを識別することと、
    前記非セキュアメモリ上に記憶された任意の信用できるアプリケーションが、前記セキュリティポリシーによって許可されるかどうかを判定することと、
    前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるアプリケーションをセキュアメモリに移動させることと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  65. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    許可されたアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
    前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないアプリケーションを識別することと、
    任意の識別された許可されないアプリケーションを削除することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  66. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
    前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるデータタイプを識別することと、
    前記非セキュアメモリ上に記憶された任意の信用できるデータタイプが、前記セキュリティポリシーによって許可されるかどうかを判定することと、
    前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるデータタイプをセキュアメモリに移動させることと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  67. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
    前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
    前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないデータタイプを識別することと、
    任意の識別された許可されないデータタイプを削除することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  68. 前記セキュリティポリシーに従って暗号化されたデータを記憶することが、前記モバイルデバイス上の前記メモリのセキュア部分に暗号化されたデータを記憶することを含むような動作をモバイルデバイスのプロセッサにさせるように、前記記憶されたプロセッサ実行可能命令が構成された、請求項58に記載のプロセッサ可読記憶媒体。
  69. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    カタログコマンドを受信することと、
    前記カタログコマンドに応答して、前記セキュア仮想環境を使用してカタログレポートを生成することであって、前記カタログレポートがセキュアメモリの内容に関する情報を含む、前記カタログレポートを生成することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  70. 前記メモリがセキュアメモリを備え、前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    前記カタログコマンドに応答して前記セキュア仮想環境をロックすることと、
    前記カタログコマンドに応答してセキュアメモリの前記内容をコピーすることと、
    前記セキュアメモリの前記内容のコピーをサーバに送信することと
    をさらに含む動作を実行させるように構成された、請求項69に記載のプロセッサ可読記憶媒体。
  71. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    削除コマンドを受信することと、
    前記削除コマンドに応答して、前記セキュア仮想環境を使用して前記モバイルデバイス上のセキュアデータを消去することと
    前記削除コマンドに応答して前記セキュア仮想環境をロックすることと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  72. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    ネットワークベースのアプリケーションを選択するユーザ入力を受け取ることと、
    ネットワークサーバからネットワークアクセス要求を受信することと、
    前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送ることであって、前記ユーザ認証パッケージが、前記ユーザが認証されたことを示すために使用される、前記セキュア仮想環境および前記ネットワークサーバのみに知られたキーまたはコードを含む、前記ユーザ認証パッケージを送ることと
    をさらに含む動作を実行させるように構成された、請求項59に記載のプロセッサ可読記憶媒体。
  73. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    ネットワークベースのアプリケーションを選択するユーザ入力を受け取ることと、
    ネットワークサーバからネットワークアクセス要求を受信することと、
    前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送ることであって、前記ユーザ認証パッケージが前記ユーザの認証入力の少なくとも一部を含む、前記ユーザ認証パッケージを送ることと
    をさらに含む動作を実行させるように構成された、請求項59に記載のプロセッサ可読記憶媒体。
  74. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    前記モバイルデバイスとネットワーク上のサーバとの間のセキュアデータリンクを前記セキュア仮想環境内に確立することと、
    前記セキュアデータリンクを介して送信されたデータを前記セキュア仮想環境で解読および暗号化することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  75. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    前記モバイルデバイスの始動時に前記セキュア仮想環境を起動することと、
    前記モバイルデバイスのバックグラウンドで前記セキュア仮想環境を稼動させることと、
    モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取ることと、
    前記ユーザに認証入力を促すことと、
    前記ユーザの認証入力を受け取ることと、
    前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
  76. 前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
    前記セキュア仮想環境内の信用できるアプリケーションを起動するユーザ入力を受け取ることと、
    前記信用できるアプリケーションからユーザ認証要求を受信することと、
    前記セキュア仮想環境から前記信用できるアプリケーションにユーザ認証情報を提供することと
    をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
JP2014525186A 2011-08-10 2012-08-10 モバイルデバイス上にセキュア仮想環境を提供するための方法および装置 Active JP6014671B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/207,134 US8949929B2 (en) 2011-08-10 2011-08-10 Method and apparatus for providing a secure virtual environment on a mobile device
US13/207,134 2011-08-10
PCT/US2012/050440 WO2013023179A1 (en) 2011-08-10 2012-08-10 Method and apparatus for providing a secure virtual environment on a mobile device

Publications (2)

Publication Number Publication Date
JP2014525612A JP2014525612A (ja) 2014-09-29
JP6014671B2 true JP6014671B2 (ja) 2016-10-25

Family

ID=46750474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014525186A Active JP6014671B2 (ja) 2011-08-10 2012-08-10 モバイルデバイス上にセキュア仮想環境を提供するための方法および装置

Country Status (7)

Country Link
US (1) US8949929B2 (ja)
EP (1) EP2742710B1 (ja)
JP (1) JP6014671B2 (ja)
KR (1) KR101571641B1 (ja)
CN (2) CN110598395A (ja)
IN (1) IN2014CN00388A (ja)
WO (1) WO2013023179A1 (ja)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650620B2 (en) 2010-12-20 2014-02-11 At&T Intellectual Property I, L.P. Methods and apparatus to control privileges of mobile device applications
US9339727B2 (en) 2011-06-15 2016-05-17 Microsoft Technology Licensing, Llc Position-based decision to provide service
US8843764B2 (en) 2011-07-15 2014-09-23 Cavium, Inc. Secure software and hardware association technique
US8700709B2 (en) 2011-07-29 2014-04-15 Microsoft Corporation Conditional location-based reminders
US20130045729A1 (en) * 2011-08-17 2013-02-21 Microsoft Corporation Location-based promotion of applications
US8918841B2 (en) * 2011-08-31 2014-12-23 At&T Intellectual Property I, L.P. Hardware interface access control for mobile applications
US8898459B2 (en) 2011-08-31 2014-11-25 At&T Intellectual Property I, L.P. Policy configuration for mobile device applications
US9489541B2 (en) * 2011-09-09 2016-11-08 Nvidia Corporation Content protection via online servers and code execution in a secure operating system
US10165007B2 (en) * 2011-09-15 2018-12-25 Microsoft Technology Licensing, Llc Securing data usage in computing devices
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9215225B2 (en) * 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US9143529B2 (en) 2011-10-11 2015-09-22 Citrix Systems, Inc. Modifying pre-existing mobile applications to implement enterprise security policies
US8832799B2 (en) * 2011-10-31 2014-09-09 Motorola Mobility Llc Methods and apparatuses for hybrid desktop environment data usage authentication
US8893261B2 (en) 2011-11-22 2014-11-18 Vmware, Inc. Method and system for VPN isolation using network namespaces
KR101947651B1 (ko) * 2012-03-21 2019-02-13 삼성전자주식회사 보안 모바일 웹 클라이언트 및 웹 서버 시스템
US20130254906A1 (en) * 2012-03-22 2013-09-26 Cavium, Inc. Hardware and Software Association and Authentication
TW201349009A (zh) 2012-04-13 2013-12-01 Ologn Technologies Ag 用於數位通信之安全區
CA3118235A1 (en) 2012-04-13 2013-10-17 Ologn Technologies Ag Apparatuses, methods and systems for computer-based secure transactions
TW201403375A (zh) 2012-04-20 2014-01-16 歐樂岡科技公司 用於安全購買之安全區
CN103596170A (zh) * 2012-08-17 2014-02-19 中兴通讯股份有限公司 一种利用用户识别卡对终端进行加密的方法和系统
US9774658B2 (en) 2012-10-12 2017-09-26 Citrix Systems, Inc. Orchestration framework for connected devices
US8726343B1 (en) 2012-10-12 2014-05-13 Citrix Systems, Inc. Managing dynamic policies and settings in an orchestration framework for connected devices
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US20140109072A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
ES2955491T3 (es) 2012-11-02 2023-12-01 Variable Inc Sistema y método implementados por ordenador para detección, almacenamiento y comparación de colores
US20140173692A1 (en) * 2012-12-15 2014-06-19 Sudharshan Srinivasan Bring your own device system using a mobile accessory device
US20140282543A1 (en) * 2013-03-15 2014-09-18 Ologn Technologies Ag Secure zone on a virutal machine for digital communications
CA3234925A1 (en) 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for securely storing and providing payment information
US9413736B2 (en) * 2013-03-29 2016-08-09 Citrix Systems, Inc. Providing an enterprise application store
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9985850B2 (en) * 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
KR102095912B1 (ko) * 2013-05-15 2020-04-02 삼성전자 주식회사 보안 기능 운용 방법 및 이를 지원하는 전자 장치
WO2014204363A1 (en) * 2013-06-19 2014-12-24 Telefonaktiebolaget L M Ericsson (Publ) Method and an integrated circuit for executing a trusted application within a trusted runtime environment
EP3028210B1 (en) 2013-08-02 2020-01-08 OLogN Technologies AG Secure server in a system with virtual machines
US9674323B1 (en) * 2013-08-29 2017-06-06 Variable, Inc. Modular multi-functional device, method, and system
EP2851833B1 (en) 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
US9674225B2 (en) 2013-09-20 2017-06-06 Open Text Sa Ulc System and method for updating downloaded applications using managed container
US9218494B2 (en) 2013-10-16 2015-12-22 Citrix Systems, Inc. Secure client drive mapping and file storage system for mobile device management type security
US9342331B2 (en) * 2013-10-21 2016-05-17 International Business Machines Corporation Secure virtualized mobile cellular device
US9729551B1 (en) * 2013-11-26 2017-08-08 Mobile Iron, Inc. Virtual mailbox
US9785794B2 (en) * 2013-12-12 2017-10-10 Citrix Systems, Inc. Securing sensitive data on a mobile device
US8886933B1 (en) * 2013-12-17 2014-11-11 Google Inc. Streamlined provisioning and configuration of computing devices
WO2015099698A1 (en) * 2013-12-24 2015-07-02 Intel Corporation Content protection for data as a service (daas)
US9311484B2 (en) 2014-01-09 2016-04-12 International Business Machines Corporation Enhanced security and resource utilization in a multi-operating system environment
US9697374B2 (en) * 2014-02-19 2017-07-04 Microsoft Technology Licensing, Llc Data proxy service
US9760710B2 (en) * 2014-02-28 2017-09-12 Sap Se Password recovering for mobile applications
WO2015143554A1 (en) * 2014-03-24 2015-10-01 TrustPoint Innovation Technologies, Ltd. Management and distribution of security policies in a communication system
US9521116B2 (en) * 2014-06-11 2016-12-13 Verizon Patent And Licensing Inc. Apparatus, method, and system for securing a public wireless network
US9715597B2 (en) * 2014-09-25 2017-07-25 Mcafee, Inc. Data verification using enclave attestation
US9785999B2 (en) * 2014-10-02 2017-10-10 Coupa Software Incorporated Providing access to a networked application without authentication
US9507951B2 (en) * 2014-10-20 2016-11-29 Intel Corporation Technologies for secure input and display of virtual touch user interfaces
CN104331667B (zh) * 2014-10-24 2018-10-26 宇龙计算机通信科技(深圳)有限公司 基于双系统的数据保存方法及系统
US9767324B2 (en) 2014-11-22 2017-09-19 Intel Corporation Transparent execution of secret content
CN105762928B (zh) * 2014-12-15 2019-07-26 国家电网公司 一种储能电站监控系统
CN107873079B (zh) 2015-05-01 2019-08-02 变量公司 智能对准系统和用于彩色感测装置的方法
BR102015015270B1 (pt) * 2015-06-24 2022-11-29 Samsung Eletrônica Da Amazônia Ltda Método para fornecer um modo de segurança para aplicações de dispositivos móveis
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
KR102088290B1 (ko) * 2016-01-07 2020-03-12 한국전자통신연구원 보안 영역 기반의 신뢰서비스 제공 방법 및 이를 이용한 장치
US10419401B2 (en) * 2016-01-08 2019-09-17 Capital One Services, Llc Methods and systems for securing data in the public cloud
US11797706B2 (en) * 2016-02-09 2023-10-24 Health2047, Inc. Mobile device network traffic modification and user based restrictions on data access
DE102016210788B4 (de) * 2016-02-18 2023-06-07 Volkswagen Aktiengesellschaft Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
US10498726B2 (en) * 2016-03-22 2019-12-03 International Business Machines Corporation Container independent secure file system for security application containers
US9769131B1 (en) 2016-08-02 2017-09-19 Architecture Technology Corporation Fast reconfiguring environment for mobile computing devices
US10592639B2 (en) 2016-09-06 2020-03-17 Intel Corporation Blockchain-based shadow images to facilitate copyright protection of digital content
GB2555569B (en) * 2016-10-03 2019-06-12 Haddad Elias Enhanced computer objects security
US10574689B1 (en) * 2016-10-06 2020-02-25 Hoyos Vsn Corp. Mitigating mobile OS intrusions from user space applications using secure services and biometric identification
US10733284B2 (en) * 2016-10-06 2020-08-04 Samsung Electronics Co., Ltd. Trusted execution environment secure element communication
JP2018106455A (ja) * 2016-12-27 2018-07-05 株式会社ケイエスジェイ 組み込み機器
TWI673667B (zh) * 2017-01-25 2019-10-01 楊建綱 內建智慧安全行動裝置
WO2018151851A1 (en) * 2017-02-16 2018-08-23 Tenta, Llc System and method for establishing simultaneous encrypted virtual private networks from a single computing device
WO2018151847A1 (en) * 2017-02-16 2018-08-23 Tenta, Llc System and method for creating encrypted virtual private network hotspot
US11122013B2 (en) * 2017-02-16 2021-09-14 Emerald Cactus Ventures, Inc. System and method for encrypting data interactions delineated by zones
CN110463163B (zh) * 2017-03-28 2022-08-05 Netapp股份有限公司 用于提供对会话服务器的按需唤醒访问的方法及系统
GB2561396B (en) 2017-04-13 2020-07-15 Barclays Execution Services Ltd Data security using two operating environments operating in parallel
CN107229863A (zh) * 2017-06-12 2017-10-03 济南浪潮高新科技投资发展有限公司 一种安全运行环境虚拟方法
KR20190044815A (ko) * 2017-10-23 2019-05-02 삼성전자주식회사 보안 서비스 제어를 위한 시스템 및 그의 동작 방법
CN110362976B (zh) * 2018-04-11 2021-05-07 旭景科技股份有限公司 生物识别安全装置
CN110765439B (zh) * 2018-08-17 2023-01-31 安天科技集团股份有限公司 一种移动存储加密认证的方法、装置及存储介质
US10746599B2 (en) 2018-10-30 2020-08-18 Variable, Inc. System and method for spectral interpolation using multiple illumination sources
US11586750B2 (en) * 2019-03-21 2023-02-21 Blackberry Limited Managing access to protected data file content
FR3100901B1 (fr) * 2019-09-12 2021-08-27 Stmicroelectronics Grand Ouest Sas Système de protection de la mémoire
US11012326B1 (en) * 2019-12-17 2021-05-18 CloudFit Software, LLC Monitoring user experience using data blocks for secure data access
CN111756718B (zh) * 2020-06-15 2022-09-30 深信服科技股份有限公司 终端及访问方法、系统、服务器和计算机可读存储介质
US11716355B1 (en) 2020-11-24 2023-08-01 Wells Fargo Bank, N.A. Company controlled virtual computer over a network
FR3128040B1 (fr) * 2021-10-08 2023-10-27 Cyferall Application de sécurité pour un dispositif informatique, système de sécurité et architecture de sécurité correspondante
CN114900332A (zh) * 2022-04-12 2022-08-12 深圳市乐凡信息科技有限公司 虚拟环境的数据传输方法、装置、设备及存储介质

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163087A1 (en) * 2003-02-14 2004-08-19 Carl Sandland Computer program code and method for delivering external data to a process running on a virtual machine
US8074266B2 (en) * 2004-08-20 2011-12-06 Mitsubishi Electric Corporation Memory card, data exchange system, and data exchange method
EP1811387A4 (en) * 2004-08-25 2016-04-13 Nec Corp INFORMATION COMMUNICATION DEVICE AND PROGRAMMING ENVIRONMENTAL CONTROL METHOD
CN100388666C (zh) * 2004-12-09 2008-05-14 腾讯科技(深圳)有限公司 一种数据传输过程的控制方法及系统
US8060683B2 (en) * 2004-12-17 2011-11-15 International Business Machines Corporation System, method and program to preserve a cache of a virtual machine
US7823214B2 (en) * 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US7693838B2 (en) * 2005-11-12 2010-04-06 Intel Corporation Method and apparatus for securely accessing data
US7984109B2 (en) 2006-02-24 2011-07-19 Qualcomm Incorporated System and method for storing and accessing data files at wireless devices
US7779252B2 (en) 2006-03-21 2010-08-17 Harris Corporation Computer architecture for a handheld electronic device with a shared human-machine interface
GB2440170B8 (en) 2006-07-14 2014-07-16 Vodafone Plc Digital rights management
US8126506B2 (en) * 2007-02-14 2012-02-28 Nuance Communications, Inc. System and method for securely managing data stored on mobile devices, such as enterprise mobility data
JP4987555B2 (ja) * 2007-04-27 2012-07-25 株式会社東芝 情報処理装置、および情報処理システム
US8769268B2 (en) 2007-07-20 2014-07-01 Check Point Software Technologies, Inc. System and methods providing secure workspace sessions
WO2009013673A2 (en) * 2007-07-20 2009-01-29 Nxp B.V. Device with a secure virtual machine
US8554176B2 (en) * 2007-09-18 2013-10-08 Qualcomm Incorporated Method and apparatus for creating a remotely activated secure backup service for mobile handsets
US9003173B2 (en) 2007-09-28 2015-04-07 Microsoft Technology Licensing, Llc Multi-OS (operating system) boot via mobile device
JP2009169841A (ja) * 2008-01-18 2009-07-30 Panasonic Corp 情報処理装置および携帯電話装置
JP2009223776A (ja) * 2008-03-18 2009-10-01 Univ Of Tsukuba 情報処理システム及び情報処理システム用プログラム並びにクライアント装置のアクセス制御方法
KR101331032B1 (ko) * 2008-07-30 2013-11-19 삼성전자주식회사 가상화 환경과 결합된 어플리케이션 실행 방법
US8468535B1 (en) * 2008-09-23 2013-06-18 Gogrid, LLC Automated system and method to provision and allocate hosting resources
US9026918B2 (en) * 2008-10-16 2015-05-05 Accenture Global Services Limited Enabling a user device to access enterprise data
JP2010097567A (ja) * 2008-10-20 2010-04-30 Hitachi Ltd デバイス接続制御方法
JP2010257289A (ja) * 2009-04-27 2010-11-11 Nec Corp 通信装置、通信装置の制御方法、およびプログラム
US8107927B2 (en) 2009-06-18 2012-01-31 T-Mobile Usa, Inc. Dedicated memory partitions for users of a shared mobile device
US8302094B2 (en) * 2009-06-26 2012-10-30 Vmware, Inc. Routing a physical device request using transformer stack to an equivalent physical device in a virtualized mobile device
WO2011007017A1 (es) 2009-07-13 2011-01-20 Zitralia Seguridad Informática, S.L. Dispositivo electrónico de generación de entorno seguro
EP3002683B1 (en) * 2009-12-14 2017-07-12 Citrix Systems Inc. Methods and systems for communicating between trusted and non-trusted virtual machines
US8307169B2 (en) * 2011-03-10 2012-11-06 Safenet, Inc. Protecting guest virtual machine memory
US10503343B2 (en) * 2011-07-06 2019-12-10 Microsoft Technology Licensing, Llc Integrated graphical user interface

Also Published As

Publication number Publication date
EP2742710B1 (en) 2020-09-23
CN110598395A (zh) 2019-12-20
CN103733663A (zh) 2014-04-16
US20130042295A1 (en) 2013-02-14
JP2014525612A (ja) 2014-09-29
KR20140058623A (ko) 2014-05-14
KR101571641B1 (ko) 2015-11-24
US8949929B2 (en) 2015-02-03
IN2014CN00388A (ja) 2015-04-03
EP2742710A1 (en) 2014-06-18
WO2013023179A1 (en) 2013-02-14

Similar Documents

Publication Publication Date Title
JP6014671B2 (ja) モバイルデバイス上にセキュア仮想環境を提供するための方法および装置
US10628597B2 (en) Just-in-time encryption
EP3192002B1 (en) Preserving data protection with policy
US9521147B2 (en) Policy based application management
US8806570B2 (en) Policy-based application management
US9043480B2 (en) Policy-based application management
EP3422236B1 (en) Policy-based application management
CN112513857A (zh) 可信执行环境中的个性化密码安全访问控制
US10749877B1 (en) Performing a security action in response to a determination that a computing device is lost or stolen
US20170302696A1 (en) Intermediate encryption for exposed content
US20200287910A1 (en) Monitoring security of a client device to provide continuous conditional server access
Campagna et al. Mobile device security for dummies
US11232220B2 (en) Encryption management for storage devices
US10756899B2 (en) Access to software applications

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160727

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160926

R150 Certificate of patent or registration of utility model

Ref document number: 6014671

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