(57)【特許請求の範囲】
【請求項１】
モバイルデバイス上のデータを処理するための方法であって、
セキュリティポリシーで構成された、前記モバイルデバイス上のセキュア仮想環境へのアクセスを可能にするステップと、
信用できるアプリケーションのみが前記セキュリティポリシーに従って前記セキュア仮想環境の内部で動作することを可能にするステップと、
ユーザインターフェースに前記信用できるアプリケーションのみを提示するステップと、
前記セキュア仮想環境内の信用できるアプリケーションでユーザがデータを操作することを可能にするステップと、
データが前記セキュア仮想環境から出る前に、操作されたデータを前記セキュア仮想環境で暗号化するステップと、
前記セキュリティポリシーに従って暗号化されたデータを記憶するステップと、
遠隔の企業体によって遠隔で制御されるロックアウト設定を適用するステップと
を含み、
前記ロックアウト設定が、遠隔の企業体からの企業ポリシーの更新を受信することができるポリシーマネージャを介して前記セキュア仮想環境に適用される、方法。
【請求項２】
モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取るステップと、
前記ユーザに認証入力を促すステップと、
前記ユーザの認証入力を受け取るステップと、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
データを受信するステップと、
前記データが信用できるデータかどうかを判定するステップと、
前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定するステップと、
前記データが信用できるデータであり、前記セキュリティポリシーによって許可されたタイプのデータである場合、前記セキュア仮想環境で前記データを解読するステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
データを受信するステップと、
前記データが暗号化されているどうかを判定するステップと、
前記ユーザに認証入力を促すステップと、
前記ユーザの認証入力を受け取るステップと、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するステップと、
前記セキュア仮想環境でデータヘッダを解読するステップと、
前記データヘッダに従って前記データが信用できるデータかどうかを判定するステップと、
前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定するステップと、
前記データが前記セキュリティポリシーによって許可されたタイプの信用できるデータである場合、前記セキュア仮想環境で前記データを解読するステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
アプリケーションを受信するステップと、
アプリケーションプログラムインターフェース(API)/ブローカを使用して、前記アプリケーションが信用できるアプリケーションかどうかを判定するステップと、
前記アプリケーションが前記セキュリティポリシーによって許可されるかどうかを判定するステップと、
前記アプリケーションが信用できるアプリケーションであり、前記セキュリティポリシーによって許可された場合、前記アプリケーションを記憶するステップと
をさらに含む、請求項1に記載の方法。
【請求項６】
前記セキュリティポリシーが、前記セキュア仮想環境内で動作することを許可されたアプリケーションのリストと、前記セキュア仮想環境内で動作することを許可されたアプリケーションタイプのリストと、前記セキュア仮想環境内のデータ操作制限と、前記セキュア仮想環境内のデータ記憶制限とのうちの1つまたは複数を含む、請求項1に記載の方法。
【請求項７】
信用できるアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信するステップと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するステップと、
前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるアプリケーションを識別するステップと、
前記非セキュアメモリ上に記憶された任意の信用できるアプリケーションが、前記セキュリティポリシーによって許可されるかどうかを判定するステップと、
前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるアプリケーションをセキュアメモリに移動させるステップと
をさらに含む、請求項1に記載の方法。
【請求項８】
許可されたアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信するステップと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するステップと、
前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないアプリケーションを識別するステップと、
任意の識別された許可されないアプリケーションを削除するステップと
をさらに含む、請求項1に記載の方法。
【請求項９】
信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信するステップと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するステップと、
前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるデータタイプを識別するステップと、
前記非セキュアメモリ上に記憶された任意の信用できるデータタイプが、前記セキュリティポリシーによって許可されるかどうかを判定するステップと、
前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるデータタイプをセキュアメモリに移動させるステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信するステップと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するステップと、
前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないデータタイプを識別するステップと、
任意の識別された許可されないデータタイプを削除するステップと
をさらに含む、請求項1に記載の方法。
【請求項１１】
前記セキュリティポリシーに従って暗号化されたデータを記憶するステップが、前記モバイルデバイス上のメモリのセキュア部分に暗号化されたデータを記憶するステップを含む、請求項1に記載の方法。
【請求項１２】
カタログコマンドを受信するステップと、
前記カタログコマンドに応答して、前記セキュア仮想環境を使用してカタログレポートを生成するステップであって、前記カタログレポートがセキュアメモリの内容に関する情報を含む、前記カタログレポートを生成するステップと
をさらに含む、請求項1に記載の方法。
【請求項１３】
前記カタログコマンドに応答して前記セキュア仮想環境をロックするステップと、
前記カタログコマンドに応答して前記セキュアメモリの前記内容をコピーするステップと、
セキュアメモリの前記内容のコピーをサーバに送信するステップと
をさらに含む、請求項12に記載の方法。
【請求項１４】
削除コマンドを受信するステップと、
前記削除コマンドに応答して、前記セキュア仮想環境を使用して前記モバイルデバイス上のセキュアデータを消去するステップと、
前記削除コマンドに応答して前記セキュア仮想環境をロックするステップと
をさらに含む、請求項1に記載の方法。
【請求項１５】
ネットワークベースのアプリケーションを選択するユーザ入力を受け取るステップと、
ネットワークサーバからネットワークアクセス要求を受信するステップと、
前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送るステップであって、前記ユーザ認証パッケージが、前記ユーザが認証されたことを示すために使用される、前記セキュア仮想環境および前記ネットワークサーバのみに知られたキーまたはコードを含む、前記ユーザ認証パッケージを送るステップと
をさらに含む、請求項2に記載の方法。
【請求項１６】
ネットワークベースのアプリケーションを選択するユーザ入力を受け取るステップと、
ネットワークサーバからネットワークアクセス要求を受信するステップと、
前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送るステップであって、前記ユーザ認証パッケージが前記ユーザの認証入力の少なくとも一部を含む、前記ユーザ認証パッケージを送るステップと
をさらに含む、請求項2に記載の方法。
【請求項１７】
前記モバイルデバイスとネットワーク上のサーバとの間のセキュアデータリンクを前記セキュア仮想環境内に確立するステップと、
前記セキュアデータリンクを介して送信されたデータを前記セキュア仮想環境で解読および暗号化するステップと
をさらに含む、請求項1に記載の方法。
【請求項１８】
前記モバイルデバイスの始動時に前記セキュア仮想環境を起動するステップと、
前記モバイルデバイスのバックグラウンドで前記セキュア仮想環境を稼動させるステップと、
モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取るステップと、
前記ユーザに認証入力を促すステップと、
前記ユーザの認証入力を受け取るステップと、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するステップと
をさらに含む、請求項1に記載の方法。
【請求項１９】
前記セキュア仮想環境内の信用できるアプリケーションを起動するユーザ入力を受け取るステップと、
前記信用できるアプリケーションからユーザ認証要求を受信するステップと、
前記セキュア仮想環境から前記信用できるアプリケーションにユーザ認証情報を提供するステップと
をさらに含む、請求項1に記載の方法。
【請求項２０】
モバイルデバイスであって、
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサが、
セキュリティポリシーで構成された、前記モバイルデバイス上のセキュア仮想環境へのアクセスを可能にすることと、
信用できるアプリケーションのみが前記セキュリティポリシーに従って前記セキュア仮想環境の内部で動作することを可能にすることと、
ユーザインターフェースに前記信用できるアプリケーションのみを提示することと、
前記セキュア仮想環境内の信用できるアプリケーションでユーザがデータを操作することを可能にすることと、
データが前記セキュア仮想環境から出る前に、操作されたデータを前記セキュア仮想環境で暗号化することと、
前記セキュリティポリシーに従って前記メモリ内に暗号化されたデータを記憶することと、
遠隔の企業体によって遠隔で制御されるロックアウト設定を適用することと
を含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記ロックアウト設定が、遠隔の企業体からの企業ポリシーの更新を受信することができるポリシーマネージャを介して前記セキュア仮想環境に適用される、モバイルデバイス。
【請求項２１】
前記プロセッサが、
モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取ることと、
前記ユーザに認証入力を促すことと、
前記ユーザの認証入力を受け取ることと、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項２２】
前記プロセッサが、
データを受信することと、
前記データが信用できるデータかどうかを判定することと、
前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定することと、
前記データが信用できるデータであり、前記セキュリティポリシーによって許可されたタイプのデータである場合、前記セキュア仮想環境で前記データを解読することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項２３】
前記プロセッサが、
データを受信することと、
前記データが暗号化されているどうかを判定することと、
前記ユーザに認証入力を促すことと、
前記ユーザの認証入力を受け取ることと、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと、
前記セキュア仮想環境でデータヘッダを解読することと、
前記データヘッダに従って前記データが信用できるデータかどうかを判定することと、
前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定することと、
前記データが前記セキュリティポリシーによって許可されたタイプの信用できるデータである場合、前記セキュア仮想環境で前記データを解読することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項２４】
前記プロセッサが、
アプリケーションを受信することと、
アプリケーションプログラムインターフェース(API)/ブローカを使用して、前記アプリケーションが信用できるアプリケーションかどうかを判定することと、
前記アプリケーションが前記セキュリティポリシーによって許可されるかどうかを判定することと、
前記アプリケーションが信用できるアプリケーションであり、前記セキュリティポリシーによって許可された場合、前記アプリケーションを記憶することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項２５】
前記セキュリティポリシーが、前記セキュア仮想環境内で動作することを許可されたアプリケーションのリストと、前記セキュア仮想環境内で動作することを許可されたアプリケーションタイプのリストと、前記セキュア仮想環境内のデータ操作制限と、前記セキュア仮想環境内のデータ記憶制限とのうちの1つまたは複数を含むような動作を実行するためのプロセッサ実行可能命令で前記プロセッサが構成された、請求項20に記載のモバイルデバイス。
【請求項２６】
前記メモリが非セキュアメモリおよびセキュアメモリを備え、前記プロセッサが、
信用できるアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
前記モバイルデバイスの前記非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるアプリケーションを識別することと、
前記非セキュアメモリ上に記憶された任意の信用できるアプリケーションが、前記セキュリティポリシーによって許可されるかどうかを判定することと、
前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるアプリケーションを前記セキュアメモリに移動させることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項２７】
前記メモリが非セキュアメモリおよびセキュアメモリを備え、前記プロセッサが、
許可されたアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
前記モバイルデバイスの前記セキュアメモリを走査して、前記セキュリティポリシーによって許可されないアプリケーションを識別することと、
任意の識別された許可されないアプリケーションを削除することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項２８】
前記メモリが非セキュアメモリおよびセキュアメモリを備え、前記プロセッサが、
信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
前記モバイルデバイスの前記非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるデータタイプを識別することと、
前記非セキュアメモリ上に記憶された任意の信用できるデータタイプが、前記セキュリティポリシーによって許可されるかどうかを判定することと、
前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるデータタイプを前記セキュアメモリに移動させることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項２９】
前記メモリが非セキュアメモリおよびセキュアメモリを備え、前記プロセッサが、
信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
前記モバイルデバイスの前記セキュアメモリを走査して、前記セキュリティポリシーによって許可されないデータタイプを識別することと、
任意の識別された許可されないデータタイプを削除することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項３０】
前記セキュリティポリシーに従って暗号化されたデータを記憶することが、前記モバイルデバイス上の前記メモリのセキュア部分に暗号化されたデータを記憶することを含むような動作を実行するためのプロセッサ実行可能命令で前記プロセッサが構成された、請求項20に記載のモバイルデバイス。
【請求項３１】
前記プロセッサが、
カタログコマンドを受信することと、
前記カタログコマンドに応答して、前記セキュア仮想環境を使用してカタログレポートを生成することであって、前記カタログレポートがセキュアメモリの内容に関する情報を含む、前記カタログレポートを生成することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項３２】
前記メモリがセキュアメモリを備え、前記プロセッサが、
前記カタログコマンドに応答して前記セキュア仮想環境をロックすることと、
前記カタログコマンドに応答して前記セキュアメモリの前記内容をコピーすることと、
前記セキュアメモリの前記内容のコピーをサーバに送信することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項31に記載のモバイルデバイス。
【請求項３３】
前記プロセッサが、
削除コマンドを受信することと、
前記削除コマンドに応答して、前記セキュア仮想環境を使用して前記モバイルデバイス上のセキュアデータを消去することと、
前記削除コマンドに応答して前記セキュア仮想環境をロックすることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項３４】
前記プロセッサに結合され、前記プロセッサがネットワークと通信することを可能にするように構成された送受信機をさらに含み、前記プロセッサが、
ネットワークベースのアプリケーションを選択するユーザ入力を受け取ることと、
ネットワークサーバからネットワークアクセス要求を受信することと、
前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送ることであって、前記ユーザ認証パッケージが、前記ユーザが認証されたことを示すために使用される、前記セキュア仮想環境および前記ネットワークサーバのみに知られたキーまたはコードを含む、前記ユーザ認証パッケージを送ることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項21に記載のモバイルデバイス。
【請求項３５】
前記プロセッサに結合され、前記プロセッサがネットワークと通信することを可能にするように構成された送受信機をさらに含み、前記プロセッサが、
ネットワークベースのアプリケーションを選択するユーザ入力を受け取ることと、
ネットワークサーバからネットワークアクセス要求を受信することと、
前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送ることであって、前記ユーザ認証パッケージが前記ユーザの認証入力の少なくとも一部を含む、前記ユーザ認証パッケージを送ることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項21に記載のモバイルデバイス。
【請求項３６】
前記プロセッサに結合され、前記プロセッサがネットワークと通信することを可能にするように構成された送受信機をさらに含み、前記プロセッサが、
前記モバイルデバイスとネットワーク上のサーバとの間のセキュアデータリンクを前記セキュア仮想環境内に確立することと、
前記セキュアデータリンクを介して送信されたデータを前記セキュア仮想環境で解読および暗号化することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項３７】
前記プロセッサが、
前記モバイルデバイスの始動時に前記セキュア仮想環境を起動することと、
前記モバイルデバイスのバックグラウンドで前記セキュア仮想環境を稼動させることと、
モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取ることと、
前記ユーザに認証入力を促すことと、
前記ユーザの認証入力を受け取ることと、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項３８】
前記プロセッサが、
前記セキュア仮想環境内の信用できるアプリケーションを起動するユーザ入力を受け取ることと、
前記信用できるアプリケーションからユーザ認証要求を受信することと、
前記セキュア仮想環境から前記信用できるアプリケーションにユーザ認証情報を提供することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項20に記載のモバイルデバイス。
【請求項３９】
モバイルデバイスであって、
セキュリティポリシーで構成された、前記モバイルデバイス上のセキュア仮想環境へのアクセスを可能にするための手段と、
信用できるアプリケーションのみが前記セキュリティポリシーに従って前記セキュア仮想環境の内部で動作することを可能にするための手段と、
ユーザインターフェースに前記信用できるアプリケーションのみを提示するための手段と、
前記セキュア仮想環境内の信用できるアプリケーションでユーザがデータを操作することを可能にするための手段と、
データが前記セキュア仮想環境から出る前に、操作されたデータを前記セキュア仮想環境で暗号化するための手段と、
前記セキュリティポリシーに従って暗号化されたデータを記憶するための手段と、
遠隔の企業体によって遠隔で制御されるロックアウト設定を適用するための手段と
を備え、
前記ロックアウト設定が、遠隔の企業体からの企業ポリシーの更新を受信することができるポリシーマネージャを介して前記セキュア仮想環境に適用される、モバイルデバイス。
【請求項４０】
モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取るための手段と、
前記ユーザに認証入力を促すための手段と、
前記ユーザの認証入力を受け取るための手段と、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項４１】
データを受信するための手段と、
前記データが信用できるデータかどうかを判定するための手段と、
前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定するための手段と、
前記データが信用できるデータであり、前記セキュリティポリシーによって許可されたタイプのデータである場合、前記セキュア仮想環境で前記データを解読するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項４２】
データを受信するための手段と、
前記データが暗号化されているどうかを判定するための手段と、
前記ユーザに認証入力を促すための手段と、
前記ユーザの認証入力を受け取るための手段と、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するための手段と、
前記セキュア仮想環境でデータヘッダを解読するための手段と、
前記データヘッダに従って前記データが信用できるデータかどうかを判定するための手段と、
前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定するための手段と、
前記データが前記セキュリティポリシーによって許可されたタイプの信用できるデータである場合、前記セキュア仮想環境で前記データを解読するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項４３】
アプリケーションを受信するための手段と、
アプリケーションプログラムインターフェース(API)/ブローカを使用して、前記アプリケーションが信用できるアプリケーションかどうかを判定するための手段と、
前記アプリケーションが前記セキュリティポリシーによって許可されるかどうかを判定するための手段と、
前記アプリケーションが信用できるアプリケーションであり、前記セキュリティポリシーによって許可された場合、前記アプリケーションを記憶するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項４４】
前記セキュリティポリシーが、前記セキュア仮想環境内で動作することを許可されたアプリケーションのリストと、前記セキュア仮想環境内で動作することを許可されたアプリケーションタイプのリストと、前記セキュア仮想環境内のデータ操作制限と、前記セキュア仮想環境内のデータ記憶制限とのうちの1つまたは複数を含む、請求項39に記載のモバイルデバイス。
【請求項４５】
信用できるアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信するための手段と、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するための手段と、
前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるアプリケーションを識別するための手段と、
前記非セキュアメモリ上に記憶された任意の信用できるアプリケーションが、前記セキュリティポリシーによって許可されるかどうかを判定するための手段と、
前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるアプリケーションをセキュアメモリに移動させるための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項４６】
許可されたアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信するための手段と、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するための手段と、
前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないアプリケーションを識別するための手段と、
任意の識別された許可されないアプリケーションを削除するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項４７】
信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信するための手段と、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するための手段と、
前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるデータタイプを識別するための手段と、
前記非セキュアメモリ上に記憶された任意の信用できるデータタイプが、前記セキュリティポリシーによって許可されるかどうかを判定するための手段と、
前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるデータタイプをセキュアメモリに移動させるための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項４８】
信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信するための手段と、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新するための手段と、
前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないデータタイプを識別するための手段と、
任意の識別された許可されないデータタイプを削除するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項４９】
前記セキュリティポリシーに従って暗号化されたデータを記憶するための手段が、前記モバイルデバイス上のメモリのセキュア部分に暗号化されたデータを記憶するための手段を含む、請求項39に記載のモバイルデバイス。
【請求項５０】
カタログコマンドを受信するための手段と、
前記カタログコマンドに応答して、前記セキュア仮想環境を使用してカタログレポートを生成するための手段であって、前記カタログレポートがセキュアメモリの内容に関する情報を含む、前記カタログレポートを生成するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項５１】
前記カタログコマンドに応答して前記セキュア仮想環境をロックするための手段と、
前記カタログコマンドに応答して前記セキュアメモリの前記内容をコピーするための手段と、
前記セキュアメモリの前記内容のコピーをサーバに送信するための手段と
をさらに備える、請求項50に記載のモバイルデバイス。
【請求項５２】
削除コマンドを受信するための手段と、
前記削除コマンドに応答して、前記セキュア仮想環境を使用して前記モバイルデバイス上のセキュアデータを消去するための手段と、
前記削除コマンドに応答して前記セキュア仮想環境をロックするための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項５３】
ネットワークベースのアプリケーションを選択するユーザ入力を受け取るための手段と、
ネットワークサーバからネットワークアクセス要求を受信するための手段と、
前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送るための手段であって、前記ユーザ認証パッケージが、前記ユーザが認証されたことを示すために使用される、前記セキュア仮想環境および前記ネットワークサーバのみに知られたキーまたはコードを含む、前記ユーザ認証パッケージを送るための手段と
をさらに備える、請求項40に記載のモバイルデバイス。
【請求項５４】
ネットワークベースのアプリケーションを選択するユーザ入力を受け取るための手段と、
ネットワークサーバからネットワークアクセス要求を受信するための手段と、
前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送るための手段であって、前記ユーザ認証パッケージが前記ユーザの認証入力の少なくとも一部を含む、前記ユーザ認証パッケージを送るための手段と
をさらに備える、請求項40に記載のモバイルデバイス。
【請求項５５】
前記モバイルデバイスとネットワーク上のサーバとの間のセキュアデータリンクを前記セキュア仮想環境内に確立するための手段と、
前記セキュアデータリンクを介して送信されたデータを前記セキュア仮想環境で解読および暗号化するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項５６】
前記モバイルデバイスの始動時に前記セキュア仮想環境を起動するための手段と、
前記モバイルデバイスのバックグラウンドで前記セキュア仮想環境を稼動させるための手段と、
モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取るための手段と、
前記ユーザに認証入力を促すための手段と、
前記ユーザの認証入力を受け取るための手段と、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項５７】
前記セキュア仮想環境内の信用できるアプリケーションを起動するユーザ入力を受け取るための手段と、
前記信用できるアプリケーションからユーザ認証要求を受信するための手段と、
前記セキュア仮想環境から前記信用できるアプリケーションにユーザ認証情報を提供するための手段と
をさらに備える、請求項39に記載のモバイルデバイス。
【請求項５８】
モバイルデバイスのプロセッサに、
セキュリティポリシーで構成された、前記モバイルデバイス上のセキュア仮想環境へのアクセスを可能にすることと、
信用できるアプリケーションのみが前記セキュリティポリシーに従って前記セキュア仮想環境の内部で動作することを可能にすることと、
ユーザインターフェースに前記信用できるアプリケーションのみを提示することと、
前記セキュア仮想環境内の信用できるアプリケーションでユーザがデータを操作することを可能にすることと、
データが前記セキュア仮想環境から出る前に、操作されたデータを前記セキュア仮想環境で暗号化することと、
前記セキュリティポリシーに従ってメモリ内に暗号化されたデータを記憶することと、
遠隔の企業体によって遠隔で制御されるロックアウト設定を適用することと
を含む動作を実行させるように構成されたプロセッサ実行可能命令を記憶し、前記ロックアウト設定が、遠隔の企業体からの企業ポリシーの更新を受信することができるポリシーマネージャを介して前記セキュア仮想環境に適用される、プロセッサ可読記憶媒体。
【請求項５９】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取ることと、
前記ユーザに認証入力を促すことと、
前記ユーザの認証入力を受け取ることと、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６０】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
データを受信することと、
前記データが信用できるデータかどうかを判定することと、
前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定することと、
前記データが信用できるデータであり、前記セキュリティポリシーによって許可されたタイプのデータである場合、前記セキュア仮想環境で前記データを解読することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６１】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
データを受信することと、
前記データが暗号化されているどうかを判定することと、
前記ユーザに認証入力を促すことと、
前記ユーザの認証入力を受け取ることと、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと、
前記セキュア仮想環境でデータヘッダを解読することと、
前記データヘッダに従って前記データが信用できるデータかどうかを判定することと、
前記データが前記セキュリティポリシーによって許可されたタイプのデータかどうかを判定することと、
前記データが前記セキュリティポリシーによって許可されたタイプの信用できるデータである場合、前記セキュア仮想環境で前記データを解読することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６２】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
アプリケーションを受信することと、
アプリケーションプログラムインターフェース(API)/ブローカを使用して、前記アプリケーションが信用できるアプリケーションかどうかを判定することと、
前記アプリケーションが前記セキュリティポリシーによって許可されるかどうかを判定することと、
前記アプリケーションが信用できるアプリケーションであり、前記セキュリティポリシーによって許可された場合、前記アプリケーションを記憶することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６３】
前記セキュリティポリシーが、前記セキュア仮想環境内で動作することを許可されたアプリケーションのリストと、前記セキュア仮想環境内で動作することを許可されたアプリケーションタイプのリストと、前記セキュア仮想環境内のデータ操作制限と、前記セキュア仮想環境内のデータ記憶制限とのうちの1つまたは複数を含むような動作をモバイルデバイスのプロセッサにさせるように、前記記憶されたプロセッサ実行可能命令が構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６４】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
信用できるアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるアプリケーションを識別することと、
前記非セキュアメモリ上に記憶された任意の信用できるアプリケーションが、前記セキュリティポリシーによって許可されるかどうかを判定することと、
前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるアプリケーションをセキュアメモリに移動させることと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６５】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
許可されたアプリケーションのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないアプリケーションを識別することと、
任意の識別された許可されないアプリケーションを削除することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６６】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
前記モバイルデバイスの非セキュアメモリを走査して、前記非セキュアメモリ上に記憶された信用できるデータタイプを識別することと、
前記非セキュアメモリ上に記憶された任意の信用できるデータタイプが、前記セキュリティポリシーによって許可されるかどうかを判定することと、
前記非セキュアメモリ上に記憶され、前記セキュリティポリシーによって許可されると判定された信用できるデータタイプをセキュアメモリに移動させることと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６７】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
信用できるデータタイプのリストに対する更新を含むセキュリティポリシーの更新を受信することと、
前記セキュリティポリシーの更新を使用して、前記セキュア仮想環境の前記セキュリティポリシーを更新することと、
前記モバイルデバイスのセキュアメモリを走査して、前記セキュリティポリシーによって許可されないデータタイプを識別することと、
任意の識別された許可されないデータタイプを削除することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６８】
前記セキュリティポリシーに従って暗号化されたデータを記憶することが、前記モバイルデバイス上の前記メモリのセキュア部分に暗号化されたデータを記憶することを含むような動作をモバイルデバイスのプロセッサにさせるように、前記記憶されたプロセッサ実行可能命令が構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項６９】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
カタログコマンドを受信することと、
前記カタログコマンドに応答して、前記セキュア仮想環境を使用してカタログレポートを生成することであって、前記カタログレポートがセキュアメモリの内容に関する情報を含む、前記カタログレポートを生成することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項７０】
前記メモリがセキュアメモリを備え、前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
前記カタログコマンドに応答して前記セキュア仮想環境をロックすることと、
前記カタログコマンドに応答してセキュアメモリの前記内容をコピーすることと、
前記セキュアメモリの前記内容のコピーをサーバに送信することと
をさらに含む動作を実行させるように構成された、請求項69に記載のプロセッサ可読記憶媒体。
【請求項７１】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
削除コマンドを受信することと、
前記削除コマンドに応答して、前記セキュア仮想環境を使用して前記モバイルデバイス上のセキュアデータを消去することと
前記削除コマンドに応答して前記セキュア仮想環境をロックすることと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項７２】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
ネットワークベースのアプリケーションを選択するユーザ入力を受け取ることと、
ネットワークサーバからネットワークアクセス要求を受信することと、
前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送ることであって、前記ユーザ認証パッケージが、前記ユーザが認証されたことを示すために使用される、前記セキュア仮想環境および前記ネットワークサーバのみに知られたキーまたはコードを含む、前記ユーザ認証パッケージを送ることと
をさらに含む動作を実行させるように構成された、請求項59に記載のプロセッサ可読記憶媒体。
【請求項７３】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
ネットワークベースのアプリケーションを選択するユーザ入力を受け取ることと、
ネットワークサーバからネットワークアクセス要求を受信することと、
前記セキュア仮想環境から前記ネットワークサーバにユーザ認証パッケージを送ることであって、前記ユーザ認証パッケージが前記ユーザの認証入力の少なくとも一部を含む、前記ユーザ認証パッケージを送ることと
をさらに含む動作を実行させるように構成された、請求項59に記載のプロセッサ可読記憶媒体。
【請求項７４】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
前記モバイルデバイスとネットワーク上のサーバとの間のセキュアデータリンクを前記セキュア仮想環境内に確立することと、
前記セキュアデータリンクを介して送信されたデータを前記セキュア仮想環境で解読および暗号化することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項７５】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
前記モバイルデバイスの始動時に前記セキュア仮想環境を起動することと、
前記モバイルデバイスのバックグラウンドで前記セキュア仮想環境を稼動させることと、
モバイルデバイスユーザから前記セキュア仮想環境の選択を受け取ることと、
前記ユーザに認証入力を促すことと、
前記ユーザの認証入力を受け取ることと、
前記セキュア仮想環境へのアクセスを可能にする前に、前記受け取られたユーザの認証入力に基づいて前記ユーザを確認することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【請求項７６】
前記記憶されたプロセッサ実行可能命令が、モバイルデバイスのプロセッサに、
前記セキュア仮想環境内の信用できるアプリケーションを起動するユーザ入力を受け取ることと、
前記信用できるアプリケーションからユーザ認証要求を受信することと、
前記セキュア仮想環境から前記信用できるアプリケーションにユーザ認証情報を提供することと
をさらに含む動作を実行させるように構成された、請求項58に記載のプロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピューティングデバイスのシステムアーキテクチャに関し、より詳細には、モバイルデバイス上にセキュア仮想環境を提供するための方法およびシステムに関する。
【背景技術】
【０００２】
情報およびネットワークのセキュリティは、会社、サービスプロバイダ、および政府にとって重要である。パスワードおよび電子メールからドキュメントおよびデータファイルにいたるまで、すべてのタイプのデータは保護される必要がある。モバイルデバイス上のセキュリティに対するニーズは、それらが紛失または盗難を受けやすいために高まっている。過去に、モバイルデバイスのネットワークセキュリティ問題は、アクセスされるネットワークに固有の独立したアプリケーションを作成すること、またはモバイルデバイス全体にセキュリティプロトコルを適用することによって対処されたことがある。どちらの手法もデバイスのユーザに対して破壊的であり、モバイルデバイスの機能性を縮小する。完全にスタンドアロンのアプリケーションは、独自のユーザインターフェースを有し、狭い目的用にのみ設計される。スタンドアロンのアプリケーションは、モバイルデバイスユーザに制限された機能の実行しか許さず、モバイルデバイスの全能力と統合されない。現在の代替案としてモバイルデバイス全体にセキュリティプロトコルを適用すると、モバイルデバイス上にある任意の個人データにリスクがもたらされる。自分のモバイルデバイスが単一の目的であるセキュアネットワーク専用になり、個人用途に使用できないので、ユーザはこの手法を好まない。
【発明の概要】
【課題を解決するための手段】
【０００３】
様々な態様は、ドキュメント処理用およびセキュアな作業の実行用のモバイルデバイスの内部にセキュア仮想環境を提供する。態様の方法は、ドキュメントの暗号化を使用して、モバイルデバイス上のセキュアでないデータからセキュアなデータおよびドキュメントを隔離できるセキュアアプリケーション環境を作成し、セキュリティポリシーの適用をセキュアアプリケーション環境のみに許可する。セキュアアプリケーション環境を作成すると、必要なドキュメントセキュリティを企業体に提供しながら、モバイルデバイス上のすべてのデータを保護する必要なしに、明確に指定されたセキュアデバイスだけでなく、任意のモバイルデバイス上でモバイルデバイスユーザがセキュアデータにアクセスし、セキュアデータを操作することが可能になる。
【０００４】
様々な態様の方法およびデバイスにより、モバイルデバイス上でセキュアアプリケーションを開始すること、セキュアアプリケーションを使用して操作される任意のデータを、セキュアアプリケーションを使用して暗号化すること、およびセキュアアプリケーションを使用して操作されるデータを暗号化された形式でモバイルデバイス上に記憶することにより、モバイルデバイス上でデータを保護することが実現される。
【０００５】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的な態様を示す。上記の概略的な説明および下記の発明を実施するための形態とともに、図面は本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【０００６】
【図１Ａ】一態様によるモバイルデバイスのモジュールの機能ブロック図である。
【図１Ｂ】別の態様によるモバイルデバイスのモジュールの機能ブロック図である。
【図１Ｃ】さらに別の態様によるモバイルデバイスのモジュールの機能ブロック図である。
【図２】様々な実施形態とともに使用するのに適したワイヤレスネットワークの通信システムブロック図である。
【図３Ａ】ネットワークのソフトウェアアーキテクチャ図である。
【図３Ｂ】ネットワークのソフトウェアアーキテクチャ図である。
【図４Ａ】一態様によるメモリ構造図である。
【図４Ｂ】別の態様によるメモリ構造図である。
【図５】モバイルデバイス上にセキュア仮想環境を実装するための一態様の方法を示すプロセスフロー図である。
【図６Ａ】セキュア仮想環境を使用するモバイルデバイスで受信されたデータと相互作用するための一態様の方法を示すプロセスフロー図である。
【図６Ｂ】セキュア仮想環境を使用するモバイルデバイスで受信されたデータと相互作用するための別の態様の方法を示すプロセスフロー図である。
【図７Ａ】一態様によるセキュア仮想環境のプログラム要素の機能ブロック図である。
【図７Ｂ】別の態様によるセキュア仮想環境のプログラム要素の機能ブロック図である。
【図８Ａ】セキュア仮想環境の一態様を使用するセキュリティ手法のシステムアーキテクチャ図である。
【図８Ｂ】セキュア仮想環境の別の態様を使用するセキュリティ手法のシステムアーキテクチャ図である。
【図８Ｃ】セキュア仮想環境のさらに別の態様を使用するセキュリティ手法のシステムアーキテクチャ図である。
【図９Ａ】セキュア仮想環境の一態様を使用するセキュリティ手法のシステムアーキテクチャ図である。
【図９Ｂ】セキュア仮想環境の別の態様を使用するセキュリティ手法のシステムアーキテクチャ図である。
【図９Ｃ】セキュア仮想環境のさらに別の態様を使用するセキュリティ手法のシステムアーキテクチャ図である。
【図１０Ａ】セキュア仮想環境の一態様を具現化するモバイルデバイスのブロック図である。
【図１０Ｂ】セキュア仮想環境の別の態様を具現化するモバイルデバイスのブロック図である。
【図１１Ａ】セキュア仮想環境の一態様を具現化するモバイルデバイスのブロック図である。
【図１１Ｂ】セキュア仮想環境の別の態様を具現化するモバイルデバイスのブロック図である。
【図１２】モバイルデバイス上のセキュア仮想環境にプロビジョニングできる企業ポリシーの潜在的な要素の概略図である。
【図１３】セキュア仮想環境を使用するモバイルデバイス上で受信されたモバイルアプリケーションをソートするための一態様の方法のプロセスフロー図である。
【図１４】モバイルデバイスで受信される潜在的なアプリケーションの概略図である。
【図１５Ａ】モバイルデバイスで受信される潜在的なデータの概略図である。
【図１５Ｂ】モバイルデバイスで受信される潜在的なデータの概略図である。
【図１６】モバイルデバイスに企業ポリシーをプロビジョニングするための一態様の方法のプロセスフロー図である。
【図１７】モバイルデバイス上で信用できるデータタイプを更新するための一態様の方法のプロセスフロー図である。
【図１８】企業ポリシーを更新してセキュアメモリからデータタイプを削除するための方法を示すプロセスフロー図である。
【図１９】企業ポリシーの更新後モバイルデバイスから信用できるアプリケーションを除去するための一態様の方法のプロセスフロー図である。
【図２０Ａ】セキュア環境アプリケーションを介して指示できる、モバイルデバイス上の企業イベントを行うための一態様の方法のプロセスフロー図である。
【図２０Ｂ】セキュア環境アプリケーションを介して指示できる、モバイルデバイス上の企業イベントを行うための別の態様の方法のプロセスフロー図である。
【図２１】ユーザインターフェース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  セキュアオペレーティングシステム
【図１Ａ】
0006014671.tif 000002
【図１Ｂ】
0006014671.tif 000003
【図１Ｃ】
0006014671.tif 000004
【図２】
0006014671.tif 000005
【図３Ａ】
0006014671.tif 000006
【図３Ｂ】
0006014671.tif 000007
【図４Ａ】
0006014671.tif 000008
【図４Ｂ】
0006014671.tif 000009
【図５】
0006014671.tif 000010
【図６Ａ】
0006014671.tif 000011
【図６Ｂ】
0006014671.tif 000012
【図７Ａ】
0006014671.tif 000013
【図７Ｂ】
0006014671.tif 000014
【図８Ａ】
0006014671.tif 000015
【図８Ｂ】
0006014671.tif 000016
【図８Ｃ】
0006014671.tif 000017
【図９Ａ】
0006014671.tif 000018
【図９Ｂ】
0006014671.tif 000019
【図９Ｃ】
0006014671.tif 000020
【図１０Ａ】
0006014671.tif 000021
【図１０Ｂ】
0006014671.tif 000022
【図１１Ａ】
0006014671.tif 000023
【図１１Ｂ】
0006014671.tif 000024
【図１２】
0006014671.tif 000025
【図１３】
0006014671.tif 000026
【図１４】
0006014671.tif 000027
【図１５Ａ】
0006014671.tif 000028
【図１５Ｂ】
0006014671.tif 000029
【図１６】
0006014671.tif 000030
【図１７】
0006014671.tif 000031
【図１８】
0006014671.tif 000032
【図１９】
0006014671.tif 000033
【図２０Ａ】
0006014671.tif 000034
【図２０Ｂ】
0006014671.tif 000035
【図２１】
0006014671.tif 000036
【図２２】
0006014671.tif 000037
【図２３】
0006014671.tif 000038
【図２４】
0006014671.tif 000039