(57)【要約】  本願の実施形態が、ＴＵＩ表示とＡｎｄｒｏｉｄ（登録商標）表示との間の互換性のための解決手段を提供する。リッチオペレーティングシステムにより提供されるネイティブコントロールに基づいて、カスタマイズされたセキュアコントロールがさらに追加されることで、ＴＵＩ開発が簡略化される。さらに、リッチオペレーティングシステムは、ネイティブコントロールに対する描画処理をユーザインタフェースで行い、処理後に取得される非セキュアサーフェスをＴＥＥ側のトラステッドオペレーティングシステムのフレームバッファに同期させ、ユーザインタフェースにあるセキュアコントロールに関する識別された情報を、ＴＥＥ側のトラステッドオペレーティングシステムに転送する。トラステッドオペレーティングシステムは、セキュアコントロールに関する情報と、セキュアコントロールに対応するカスタマイズ方法とに基づいて、セキュアコントロールに対する描画処理を処理し、処理後に取得されるセキュアサーフェスと非セキュアサーフェスとを合成し、次いで、ディスプレイを用いて複合サーフェスを表示する。
2021501388.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインタフェースを端末デバイスに表示する方法であって、前記端末デバイスは、トラステッド実行環境ＴＥＥとリッチ実行環境ＲＥＥとを備え、リッチオペレーティングシステムとクライアントアプリケーションＣＡとが前記ＲＥＥで動作し、トラステッドオペレーティングシステムが前記ＴＥＥで動作し、前記ＣＡのユーザインタフェースが共通コントロールとセキュアコントロールとを有し、前記方法は、
前記リッチオペレーティングシステムが、前記共通コントロールを前記ユーザインタフェースにレンダリングして、第１サーフェスを取得する段階と、
前記トラステッドオペレーティングシステムが、前記セキュアコントロールを前記ユーザインタフェースにレンダリングして、第２サーフェスを取得する段階と、
前記トラステッドオペレーティングシステムが、前記第１サーフェスと前記第２サーフェスとを合成して、前記共通コントロールと前記セキュアコントロールとを有する複合サーフェスを取得し、ディスプレイを用いて前記複合サーフェスを表示する段階と
を備える方法。
【請求項２】
前記リッチオペレーティングシステムが、前記共通コントロールを前記ユーザインタフェースにレンダリングする前記段階は、
前記共通コントロールに対して測定作業を行い、前記共通コントロールのサイズを決定する段階と、
前記共通コントロールに対してレイアウト作業を行い、前記共通コントロールの表示位置を決定する段階と、
前記共通コントロールの決定された前記サイズと前記表示位置とに基づいて、前記共通コントロールを描画して、前記第１サーフェスを取得する段階であって、前記第１サーフェスは前記リッチオペレーティングシステムのフレームバッファの中にある、段階と
を有する、請求項１に記載の方法。
【請求項３】
前記方法はさらに、
前記リッチオペレーティングシステムが、前記ＴＥＥにより提供されるクライアントインタフェース（Ｃｌｉｅｎｔ  ＡＰＩ）を呼び出すことによって、前記セキュアコントロールに関する情報を前記トラステッドオペレーティングシステムに転送する段階を備える、請求項１又は２に記載の方法。
【請求項４】
前記トラステッドオペレーティングシステムが、前記セキュアコントロールを前記ユーザインタフェースにレンダリングして、第２サーフェスを取得する前記段階は、
前記トラステッドオペレーティングシステムが、前記セキュアコントロールに関する前記情報に基づいて、前記セキュアコントロールに対して測定及びレイアウト作業を行い、前記セキュアコントロールのサイズ及び表示位置を決定する段階と、
前記セキュアコントロールの決定された前記サイズ及び前記表示位置に基づいて前記セキュアコントロールを描画して、前記第２サーフェスを取得する段階であって、前記第２サーフェスは前記トラステッドオペレーティングシステムのフレームバッファの中にある、段階と
を有する、請求項３に記載の方法。
【請求項５】
前記トラステッドオペレーティングシステムが、前記第１サーフェスと前記第２サーフェスとを合成して、前記共通コントロールと前記セキュアコントロールとを有する複合サーフェスを取得する前記段階は、
前記トラステッドオペレーティングシステムが、通信エージェントを用いて前記リッチオペレーティングシステムにより送信される前記第１サーフェスを取得する段階と、
前記トラステッドオペレーティングシステムが、前記第２サーフェスを前記第１サーフェスの上に合成して前記複合サーフェスを取得する段階であって、前記複合サーフェスは前記トラステッドオペレーティングシステムの前記フレームバッファの中にある、段階と
を有する、請求項２から４のいずれか一項に記載の方法。
【請求項６】
前記トラステッドオペレーティングシステムが、前記第１サーフェスと前記第２サーフェスとを合成して、前記共通コントロールと前記セキュアコントロールとを有する複合サーフェスを取得する前記段階は、
前記トラステッドオペレーティングシステムが、前記リッチオペレーティングシステムの前記フレームバッファのアドレスであって、通信エージェントを用いて前記リッチオペレーティングシステムにより送信される、アドレスを取得する段階と、
前記トラステッドオペレーティングシステムが、前記アドレスに基づいて、前記リッチオペレーティングシステムの前記フレームバッファの中にある前記第１サーフェスにアクセスし、前記第１サーフェスと前記第２サーフェスとを合成して前記複合サーフェスを取得する段階であって、前記複合サーフェスは前記トラステッドオペレーティングシステムの前記フレームバッファの中にある、段階と
を有する、請求項２から４のいずれか一項に記載の方法。
【請求項７】
前記リッチオペレーティングシステムは複数のフレームバッファを有し、前記リッチオペレーティングシステムが前記共通コントロールを前記ユーザインタフェースにレンダリングして第１サーフェスを取得する前記段階は、
前記リッチオペレーティングシステムが、前記共通コントロールを前記ユーザインタフェースにレンダリングして複数の中間サーフェスを取得する段階であって、それぞれの中間サーフェスは独立したフレームバッファの中に別々に存在する、段階と、
前記リッチオペレーティングシステムが、ハードウェアを呼び出すことによって、前記複数の中間サーフェスを前記第１サーフェスに結合する段階と
を有する、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記方法はさらに、
前記リッチオペレーティングシステムが、前記ユーザインタフェースに対応するソースコード又はレイアウトファイルを解析して、前記ユーザインタフェースに含まれる前記共通コントロール及び前記セキュアコントロールを決定する段階を備える、請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記セキュアコントロールはセキュリティラベルを有し、前記リッチオペレーティングシステムは、前記セキュリティラベルに基づいて、前記セキュアコントロールと前記共通コントロールとを区別する、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
互いに分離されたトラステッド実行環境ＴＥＥとリッチ実行環境ＲＥＥとを備える端末デバイスであって、リッチオペレーティングシステムとクライアントアプリケーションＣＡとが前記ＲＥＥで動作し、トラステッドオペレーティングシステムが前記ＴＥＥで動作し、前記ＣＡのユーザインタフェースが共通コントロールとセキュアコントロールとを有し、
前記リッチオペレーティングシステムは、前記共通コントロールを前記ユーザインタフェースにレンダリングして第１サーフェスを取得するように構成され、
前記トラステッドオペレーティングシステムは、前記セキュアコントロールを前記ユーザインタフェースにレンダリングして第２サーフェスを取得し、前記第１サーフェスと前記第２サーフェスとを合成して、前記共通コントロールと前記セキュアコントロールとを有する複合サーフェスを取得し、ディスプレイを用いて前記複合サーフェスを表示するように構成される、端末デバイス。
【請求項１１】
前記リッチオペレーティングシステムは、
前記共通コントロールに対して測定作業を行い、前記共通コントロールのサイズを決定するように構成された測定モジュールと、
前記共通コントロールに対してレイアウト作業を行い、前記共通コントロールの表示位置を決定するように構成されたレイアウトモジュールと、
前記共通コントロールの決定された前記サイズと前記表示位置とに基づいて前記共通コントロールを描画し、前記第１サーフェスを取得するように構成された描画コントロールであって、前記第１サーフェスは前記リッチオペレーティングシステムのフレームバッファの中にある、描画コントロールと
を有する、請求項１０に記載の端末デバイス。
【請求項１２】
前記リッチオペレーティングシステムはさらに、前記セキュアコントロールに関する情報を前記トラステッドオペレーティングシステムに転送するように構成された通信エージェントを有する、請求項１０又は１１に記載の端末デバイス。
【請求項１３】
前記トラステッドオペレーティングシステムは、
前記セキュアコントロールに関する前記情報に基づいて、前記セキュアコントロールに対して測定作業を行い、前記セキュアコントロールのサイズ及び表示位置を決定するように構成された測定モジュールと、
前記セキュアコントロールに対してレイアウト作業を行い、前記セキュアコントロールの前記表示位置を決定するように構成されたレイアウトモジュールと、
前記セキュアコントロールの決定された前記サイズと前記表示位置とに基づいて、前記セキュアコントロールを描画して、前記第２サーフェスを取得するように構成された描画モジュールであって、前記第２サーフェスは前記トラステッドオペレーティングシステムのフレームバッファの中にある、描画モジュールと
を有する、請求項１２に記載の端末デバイス。
【請求項１４】
前記通信エージェントはさらに、前記リッチオペレーティングシステムの前記フレームバッファの中にある前記第１サーフェスを、前記トラステッドオペレーティングシステムの前記フレームバッファに同期させるように構成され、前記トラステッドオペレーティングシステムはさらに、前記第２サーフェスを前記第１サーフェスの上に合成して前記複合サーフェスを取得するように構成された結合モジュールを有し、前記複合サーフェスは前記トラステッドオペレーティングシステムの前記フレームバッファの中にある、請求項１２又は１３に記載の端末デバイス。
【請求項１５】
前記通信エージェントはさらに、前記リッチオペレーティングシステムの前記フレームバッファのアドレスを前記トラステッドオペレーティングシステムに転送するように構成され、前記トラステッドオペレーティングシステムはさらに、前記アドレスに基づいて、前記リッチオペレーティングシステムの前記フレームバッファの中にある前記第１サーフェスにアクセスし、前記第１サーフェスと前記第２サーフェスとを合成して前記複合サーフェスを取得するように構成された結合モジュールを有し、前記複合サーフェスは前記トラステッドオペレーティングシステムの前記フレームバッファの中にある、請求項１２又は１３に記載の端末デバイス。
【請求項１６】
前記セキュアコントロールはセキュリティラベルを有し、前記リッチオペレーティングシステムはさらに、前記セキュリティラベルに基づいて、前記セキュアコントロールと前記共通コントロールとを区別するように構成される、請求項１０から１５のいずれか一項に記載の端末デバイス。
【請求項１７】
プロセッサと、メモリと、前記メモリに格納され且つ前記プロセッサにより実行され得るコンピュータプログラムとを備える端末デバイスであって、前記プロセッサが前記プログラムを実行すると、請求項１から１０のいずれか一項に記載の方法の各段階が実施される、端末デバイス。
【請求項１８】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体はコンピュータプログラム（命令）を格納し、前記プログラム（命令）がプロセッサにより実行されると、請求項１から１０のいずれか一項に記載の方法の各段階が実施される、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、端末分野に関し、より具体的には、トラステッドユーザインタフェース表示方法及び端末デバイスに関する。
【背景技術】
【０００２】
インテリジェント端末の振興と普及によって、モバイル決済が、人々の日常の消費における主な決済方式のうちの１つになっている。モバイル決済とは、ユーザが、消費した商品又はサービスの支払いを、モバイル端末（通常は携帯電話）を用いて行うサービス方式のことである。モバイル決済はユーザに利便性をもたらすが、モバイル決済のセキュリティが常に懸念されている。モバイル決済のアプリケーションは、通常、オープンなリッチ実行環境（Ｒｉｃｈ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ、ＲＥＥ）で動作する。ＲＥＥは汎用動作環境とも呼ばれ、主に、汎用プロセッサで動作するリッチオペレーティングシステム（Ｒｉｃｈ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、Ｒｉｃｈ  ＯＳ）、例えば、Ａｎｄｒｏｉｄ（登録商標）又はｉＯＳ（登録商標）などの端末オペレーティングシステムを含む。そのようなオープンな環境によって、情報漏洩やマルウェア感染のチャネルが設けられるので、モバイル決済のセキュリティ要件を満たすのは困難である。例えばＲＥＥでは、アプリケーションによって表示される支払金額又は入力パスワードが、悪意のあるアプリケーションによって奪われ、様々な決済セキュリティ問題を引き起こすことがある。
【０００３】
この問題を解決するために、オープンモバイルターミナルの団体（Ｏｐｅｎ  Ｍｏｂｉｌｅ  Ｔｅｒｍｉｎａｌ  Ｐｌａｔｆｏｒｍ，  ＯＭＴＰ）が、トラステッド実行環境（Ｔｒｕｓｔｅｄ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ、ＴＥＥ）の構想を提案した。２０１０年７月には、ＧｌｏｂａｌＰｌａｔｆｏｒｍ（Ｇｌｏｂａｌ  Ｐｌａｔｆｏｒｍ（登録商標）、ＧＰ）が、ＴＥＥ標準を提案した。ＴＥＥは、ＲＥＥの外側で動作し且つＲＥＥから分離された、独立した動作環境である。ＴＥＥにある全てのアプリケーションは、専用にカスタマイズされたトラステッドアプリケーション（ｔｒｕｓｔｅｄ  ａｐｐｌｉｃａｔｉｏｎ、ＴＡ）である。ＴＡは、ＴＥＥの内部インタフェースを用いて、ＴＥＥのハードウェアリソース及びソフトウェアリソースにアクセスしてよい。クライアントアプリケーション（ｃｌｉｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ、ＣＡ）とも呼ばれる、ＲＥＥにあるアプリケーションは、ＴＥＥのハードウェアリソース及びソフトウェアリソースに直接的にアクセスできない。ＲＥＥにあるＣＡは、ＴＥＥによる識別情報の認証が成功した後にだけ、ＴＥＥにより提供されるアプリケーションプログラミングインタフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ、ＡＰＩ）を用いて、セキュアストレージ又はセキュアな表示／入力などの、ＴＥＥのリソース又はサービスを呼び出すことができる。このように、モバイル決済のシナリオでは、機密情報の入力及び表示が必要である場合、ＲＥＥ側のＣＡは、ＴＥＥにあるセキュアな表示／入力ＴＡを呼び出して、ＧＰ仕様書を満たすトラステッドユーザインタフェース（Ｔｒｕｓｔｅｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ、ＴＵＩ）を表示してよく、これにより、ユーザがユーザの機密情報を入力し、例えば、個人識別番号（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ、ＰＩＮ）を入力し、ＴＵＩを用いて取引情報を確認する。ＴＵＩが表示された後に、画面表示領域全体がＴＥＥによって引き継がれ、当該表示領域へのＲＥＥのアクセスが完全に遮断されるので、ＲＥＥにあるＣＡが悪意を持ってユーザの機密情報を横取りしたり盗んだりすることが防止される。
【０００４】
図１は、ユーザがＴＵＩを用いて送金操作を行う一例を示す。図１に示すように、ユーザは、ＲＥＥ側のモバイルバンキングアプリケーションにログインし、送金金額などの情報を送金インタフェースに入力する。次に、ユーザがＰＩＮコードの入力および確認を行うと、アプリケーションは、ＴＥＥ側にあるセキュアな表示／入力ＴＡを特定のインタフェースを用いて呼び出し、ＴＵＩを表示する。ユーザがＰＩＮコードを入力し、ＴＵＩを用いて取引情報を確認した後に、画面の表示領域がＲＥＥに戻される。次に、ＲＥＥ側にあるモバイルバンキングアプリケーションは送金完了ページを表示して、取引処理全体が終了する。ＲＥＥ側にあるＣＡのＵＩ表示と、ＴＥＥ側にあるＴＵＩ表示とは、２つの独立した処理であることが、図１から分かる。ＴＵＩとＣＡインタフェースとは、密接に関連しているわけではなく、またスタイルに関して矛盾しているわけではない。さらに、ＴＵＩは画面全体に表示されて、画面表示領域全体をカバーする。したがって、ＴＵＩコントロールは、ＣＡインタフェースにおける表示用のコントロールと互換性を有することはできない。例えば、ＴＵＩが表示されると、ユーザはステータスバー又はナビゲーションバーなどを見ることができないので、ユーザ体験に影響を与える。
【発明の概要】
【０００５】
本願は、ユーザインタフェース表示方法と端末デバイスとを提供し、トラステッドユーザインタフェース（Ｔｒｕｓｔｅｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ、ＴＵＩ）コントロールとクライアントアプリケーション（ｃｌｉｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ、ＣＡ）インタフェースコントロールとの互換表示を実装して、ユーザ体験を向上させる。
【０００６】
第１態様によれば、本願の一実施形態がユーザインタフェース表示方法を提供し、本方法は、トラステッド実行環境（Ｔｒｕｓｔｅｄ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ，  ＴＥＥ）とリッチ実行環境（Ｒｉｃｈ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ，  ＲＥＥ）とを含む端末デバイス又は別の類似デバイスに適用されてよい。リッチオペレーティングシステム及びクライアントアプリケーションがＲＥＥで動作する。トラステッドオペレーティングシステムがＴＥＥで動作する。アプリケーションのユーザインタフェースが、共通コントロール（非セキュアコントロール）とセキュアコントロールとを含む。本方法は、リッチオペレーティングシステムがユーザインタフェースに共通コントロールをレンダリングして第１サーフェス（ｓｕｒｆａｃｅ）を取得する段階と、トラステッドオペレーティングシステムがユーザインタフェースにセキュアコントロールをレンダリングして第２サーフェス（ｓｕｒｆａｃｅ）を取得する段階と、トラステッドオペレーティングシステムが第１サーフェスと第２サーフェスとを合成して、セキュアコントロール及びネイティブコントロールの両方のグラフィック表現を含む複合サーフェスを取得する段階と、ディスプレイを用いて複合サーフェスを表示することによって、セキュアコントロール及び非セキュアコントロールの互換表示を実装する段階とを含む。このように、セキュア入力インタフェースが表示されるのと同時に、共通インタフェースコントロールも表示することができるので、ユーザ体験が向上する。
【０００７】
実行可能な一実装例において、リッチオペレーティングシステムは、グラフィック関連のサービス又はコンポーネントを用いて、共通コントロールに対して測定作業、レイアウト作業、及び描画作業を行い、共通コントロールのレンダリングを完了し、共通コントロールのレンダリング後に取得される非セキュアサーフェスをリッチオペレーティングシステムのフレームバッファにバッファリングする。
【０００８】
実行可能な一実装例において、リッチオペレーティングシステムは、通信エージェントを用いて、セキュアコントロールに関する情報をトラステッドオペレーティングシステムに転送する。
【０００９】
実行可能な一実装例において、リッチオペレーティングシステムの通信エージェントは、ＴＥＥにより提供されるクライアントインタフェース（Ｃｌｉｅｎｔ  ＡＰＩ）を用いて、セキュアコントロールに関する情報をトラステッドオペレーティングシステムに転送する。
【００１０】
実行可能な一実装例において、トラステッドオペレーティングシステムは、セキュアコントロールに関する情報に基づいて、セキュアコントロールに対して測定（Ｍｅａｓｕｒｅ）作業及びをレイアウト（ｌａｙｏｕｔ）作業を行って、セキュアコントロールのサイズおよび表示位置を決定し、決定されたセキュアコントロールのサイズおよび表示位置に基づくセキュアコントロールを描画して第２サーフェスを取得する。この第２サーフェスは、トラステッドオペレーティングシステムのフレームバッファの中にある。
【００１１】
実行可能な一実装例において、リッチオペレーティングシステムは、通信エージェントを用いて、フレームバッファの中にある第１サーフェスをトラステッドオペレーティングシステムに送信する。トラステッドオペレーティングシステムは、第１サーフェスを取得した後に、第１サーフェスと第２サーフェスとを合成して複合サーフェスを取得する。この複合サーフェスは、トラステッドオペレーティングシステムのフレームバッファの中にある。
【００１２】
実行可能な一実装例において、リッチオペレーティングシステムは、通信エージェントを用いて、リッチオペレーティングシステムのフレームバッファのアドレスをトラステッドオペレーティングシステムに送信する。アドレスを取得した後に、トラステッドオペレーティングシステムは、このアドレスに基づいて、リッチオペレーティングシステムのフレームバッファの中にある第１サーフェスにアクセスし、第１サーフェスと第２サーフェスとを合成して複合サーフェスを取得する。この複合サーフェスは、トラステッドオペレーティングシステムのフレームバッファの中にある。
【００１３】
実行可能な一実装例において、トラステッドオペレーティングシステムは、リッチオペレーティングシステムのフレームバッファにアクセスしてよい。トラステッドオペレーティングシステムのフレームバッファには、リッチオペレーティングシステムがアクセスできない。
【００１４】
実行可能な一実装例において、リッチオペレーティングシステム及び／又はトラステッドオペレーティングシステムには、複数のフレームバッファがある。
【００１５】
実行可能な一実装例において、共通コントロールをレンダリングした後に、リッチオペレーティングシステムは複数のサーフェスを取得する。それぞれのサーフェスは別々のフレームバッファの中にある。リッチオペレーティングシステムは、グラフィック関連のハードウェアを呼び出すことで、複数のサーフェスを第１サーフェスにオフラインで結合する。次いで、トラステッドオペレーティングシステムは、第１サーフェスと第２サーフェスとを合成する。
【００１６】
実行可能な一実装例において、第１サーフェスと第２サーフェスとを合成する段階は、第１サーフェスに含まれる各ピクセルのパラメータと第２サーフェスに含まれる各ピクセルのパラメータとに基づいてパラメータ計算を行い、複合サーフェスの各ピクセルのパラメータを取得する段階を含む。
【００１７】
実行可能な一実装例において、このサーフェスのピクセルのパラメータはＲＧＢ値を含むが、これに限定されない。
【００１８】
第２態様によれば、本願の一実施形態が端末デバイスを提供する。本デバイスは、第１態様又は第１態様の任意の実装例による方法を実行するように構成された１つ又は複数の機能ユニットを含む。この機能ユニットは、ソフトウェアモジュールを用いて実装されてもよく、プロセッサなどのハードウェアを用いて実装されてもよく、ソフトウェアと必要なハードウェアとを組み合わせて実装されてもよい。
【００１９】
第３態様によれば、本願の一実施形態が端末デバイスを提供する。本デバイスは、メモリと、プロセッサと、メモリに格納されたコンピュータプログラムとを含む。このコンピュータプログラムを実行すると、プロセッサは、第１態様又は第１態様の任意の実装例による方法の各段階を実施する。
【００２０】
第４態様によれば、本願の一実施形態がコンピュータ可読記憶媒体を提供する。このコンピュータ可読記憶媒体は、コンピュータプログラム（命令）を格納する。プログラム（命令）がプロセッサによって実行されると、第１態様又は第１態様の任意の実装例による方法の各段階が実施される。
【００２１】
本願の前述の技術的解決手段によれば、コントロールレベルのＴＵＩが提供されるので、ユーザインタフェースの非セキュアコントロールは、表示用のＴＵＩセキュアコントロールと互換性があり、セキュア入力インタフェースが表示されるのと同時に、共通インタフェースコントロールも表示することができるので、ユーザ体験が向上する。
【図面の簡単な説明】
【００２２】
本願の実施形態における技術的解決手段をより明確に説明するために、以下では、本願の実施形態を説明するのに必要な添付図面を簡潔に説明する。
【００２３】
【図１】トラステッドユーザインタフェース（ＴＵＩ）を用いた送金操作実行についての概略図である。
【００２４】
【図２】本願の一実施形態による端末デバイスの概略図である。
【００２５】
【図３】本願の一実施形態によるコントロールの概略図である。
【００２６】
【図４】本願の一実施形態によるユーザインタフェースにおけるコントロールのツリー構造である。
【００２７】
【図５】本願の一実施形態によるユーザインタフェース表示方法のフローチャートである。
【００２８】
【図６】本願の一実施形態による端末デバイスの概略構造図である。
【００２９】
【図７】本願の一実施形態による別の端末デバイスの概略構造図である。
【００３０】
【図８】本願の一実施形態によるＴＥＥにおけるサーフェス結合器の動作原理図である。
【００３１】
【図９】本願の一実施形態による別の端末デバイスの概略構造図である。
【００３２】
【図１０】本願の一実施形態による別の端末デバイスの概略構造図である。
【発明を実施するための形態】
【００３３】
以下では、本願の実施形態の添付図面を参照して、本願の実施形態における技術的解決手段を詳細に説明する。説明される実施形態は、本願の実施形態の全てではなく、ほんの一部にすぎないことは明らかである。
【００３４】
本願の一実施形態が、トラステッドユーザインタフェース（ＴＵＩ）とクライアントアプリケーション（ＣＡ）のユーザインタフェースとの互換表示を実装するユーザインタフェース表示方法を提供する。本方法は、端末デバイスに典型的に適用されてよい。
【００３５】
本願の明細書、特許請求の範囲、及び添付図面において、簡潔にインタフェースと呼ばれる用語「ユーザインタフェース（ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）」は、ユーザとアプリケーション又はオペレーティングシステムとの間のインタラクション及び情報交換に用いるグラフィカルインタフェースである。このユーザインタフェースは、ウィンドウ、ダイアログボックス、又は表示領域などであってもよい。アプリケーションのユーザインタフェースは、Ｊａｖａ（登録商標）又は拡張マークアップ言語（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ、ＸＭＬ）などの特定のコンピュータ言語を用いて記述されたソースコードである。インタフェースソースコードは、端末デバイスで解析されてレンダリングされ、最終的に、写真、テキスト、又はボタンなどの、ユーザが識別できるコンテンツとして提示される。ビュー（ｖｉｅｗ）は、ユーザインタフェースの視覚要素である。このビューは、コントロール（ｃｏｎｔｒｏｌ）又はウィジェット（ｗｉｄｇｅｔ）とも呼ばれる。代表的なビューには、ボタン（ｂｕｔｔｏｎ）、テキストフィールド（ｔｅｘｔ  ｆｉｅｌｄ）、プログレスバー（Ｐｒｏｇｒｅｓｓ  Ｂａｒ）、キーボード（ｋｅｙｂｏａｒｄ）、写真、及びテキストなどが含まれる。インタフェース内のコントロールの属性及びコンテンツが、タグ又はノードを用いて示される。例えば、ＸＭＬは、＜Ｔｅｘｔｖｉｅｗ＞、＜ＩｍｇＶｉｅｗ＞、又は＜ＢｕｔｔｏｎＶｉｅｗ＞などのノードを用いて、インタフェースにコントロールを示す。インタフェースでは、ノードはコントロール又は属性に対応する。ノードは、解析されてレンダリングされた後に、ユーザ可視のコンテンツとして提示される。
【００３６】
本願の実施形態及び特許請求の範囲による端末デバイスは、音声接続及び／又はデータ接続をユーザに提供する、無線端末又は有線端末を含むデバイスである。無線端末は、無線アクセスネットワーク（Ｒａｄｉｏ  Ａｃｃｅｓｓ  Ｎｅｔｗｏｒｋ、ＲＡＮ）を通じて、１つ又は複数のコアネットワークと通信してよい。無線端末は、携帯電話（又は「セルラ方式」電話と呼ばれる）などのモバイル端末でも、モバイル端末を有するコンピュータでもよく、例えば、携帯型、ポケットサイズ型、ハンドヘルド型、コンピュータ内蔵型、又は車載型のモバイル装置であってもよい。アプリケーションプログラミングインタフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ、ＡＰＩ）とも呼ばれるインタフェースは、コンピュータプログラムコードで実装される特定の機能のカプセル化であり、また抽象的表現である。アプリケーションは、このインタフェースを呼び出すことで、特定の機能を実装してよい。サービスは、ユーザインタフェースを提供せずにバックグランドで実行され得るアプリケーションコンポーネントである。このサービスは、別のアプリケーション又はアプリケーションコンポーネントによって開始され得る。
【００３７】
以下では、本願における端末デバイスを、添付図面を参照してより詳細に説明する。後置用語の「ユニット」及び「モジュール」は、単に説明を容易にするためのものであり、これらの後置用語は、互いに区別する意味又は機能を有していないことに留意されたい。
【００３８】
図２は、本願の一実施形態による端末デバイス１００のアーキテクチャ図である。図２に示すように、端末デバイス１００は、ハードウェアプラットフォーム１１０と、ハードウェアプラットフォーム１００で動作する２つの分離された動作環境、すなわち、リッチ実行環境（Ｒｉｃｈ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ，  ＲＥＥ）１２０及びトラステッド実行環境（Ｔｒｕｓｔｅｄ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ，  ＴＥＥ）１４０とを含む。２つの動作環境はそれぞれ、独立したハードウェアリソースとオペレーティングシステムとを有する。ＲＥＥ１２０のハードウェアリソースとＴＥＥ１４０のハードウェアリソースとは、ＡＲＭ（登録商標）のＴｒｕｓｔＺｏｎｅメカニズムなどのハードウェア分離技術を用いて分離することができる。さらに、ＲＥＥ１２０のオペレーティングシステムとＴＥＥ１４０のオペレーティングシステムとの間の分離、及びアプリケーション間の分離が、仮想化技術を用いて実装される。このように、ＴＥＥ１４０によりアクセスされ得るソフトウェア及びハードウェアリソースが、ＲＥＥによりアクセスされ得るソフトウェア及びハードウェアリソースから分離され、アプリケーションによりアクセスされ得るデータ及び機能をＴＥＥ１４０が厳しく制限することによって、ＴＥＥ１４０のセキュリティレベルが特定のセキュリティ要件を満たすことができる。したがって、ＴＥＥ１４０は一般に、セキュア実行環境とみなされる。ＲＥＥ１２０は、ＴＥＥ１４０の外側にある動作環境である。ＴＥＥ１４０と比べて、ＲＥＥ１２０はセキュリティが低く、攻撃を受けやすい環境である。ＲＥＥ１２０で動作するアプリケーション、すなわち、クライアントアプリケーション（ｃｌｉｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ、ＣＡ）も信用できないとみなされる。
【００３９】
端末デバイス１００のハードウェアプラットフォーム１１０は、パブリック周辺機器とトラステッド周辺機器とを含む。トラステッド周辺機器には、ＴＥＥ１４０のみが制御しアクセスできる、セキュアメモリ、セキュアクロック、又はトラステッドキーボードなどのセキュアエレメント（Ｓｅｃｕｒｅ  Ｅｌｅｍｅｎｔ、ＳＥ）が含まれる。パブリック周辺機器は、ＲＥＥ１２０のリッチオペレーティングシステム（Ｒｉｃｈ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、Ｒｉｃｈ  ＯＳ）１２３が制御しアクセスできるデバイスである。
【００４０】
ＴＥＥ１４０で動作するアプリケーション１１５が、トラステッドアプリケーション（Ｔｒｕｓｔｅｄ  Ａｐｐｌｉｃａｔｉｏｎ、ＴＡ）である。ＴＡ１１５は、ＲＥＥ１２０のクライアントアプリケーション（ｃｌｉｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ、ＣＡ）１１３又はＴＥＥ１４０の別のＴＡに、セキュリティ関連の機能又はサービスを提供してよい。ＴＥＥ１４０で動作するトラステッドオペレーティングシステム（Ｔｒｕｓｔｅｄ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、Ｔｒｕｓｔｅｄ  ＯＳ）１４３が、ＴＡ１１５にＴＥＥ内部インタフェース１４５を提供する。ＴＡ１１５は、ＴＥＥ内部インタフェース１４５を用いて、セキュリティリソース及びサービスに対するアクセス許可を取得する。セキュリティリソース及びサービスは、キーインジェクション管理、暗号化、セキュアストレージ、セキュアクロック、トラステッドユーザインタフェース（ＴＵＩ）、及びトラステッドキーボードを含むが、これに限定されない。
【００４１】
リッチオペレーティングシステム１２３は、トラステッドオペレーティングシステム１４３よりリッチな特徴を提供する。リッチオペレーティングシステム１２３は非常にオープンであり、様々なタイプのアプリケーションを受け入れることができるが、リッチオペレーティングシステム１２３のセキュリティはまた、トラステッドオペレーティングシステム１４３より低い。リッチオペレーティングシステム１２３は、Ａｎｄｒｏｉｄ（登録商標）又はｉＯＳ（登録商標）などの端末オペレーティングシステムであってよい。ＲＥＥ１２０で動作するＣＡ１１３は、ＴＥＥにより提供される外部インタフェース１２５を用いて、ＴＥＥ１４０のＴＡ１１５により提供されるセキュリティサービスを要求してよい。例えば、モバイル決済又はオンライン銀行送金などのシナリオでは、ユーザの機密情報の入力及び表示が必要な場合、ＲＥＥ１２０のアプリケーションが、ＴＥＥにより提供される外部インタフェース１２５を用いて、ＴＥＥ１４０側のＴＵＩ及びトラステッドキーボードサービスを呼び出し、ＲＥＥ側のアプリケーションが悪意を持ってユーザの機密情報を横取りしたり盗んだりするのを防止してよい。
【００４２】
本願の全ての実施形態にあるＲＥＥ、ＴＥＥ、ＣＡ、ＴＡ、リッチＯＳ、及びトラステッドＯＳなどの用語の定義については、ＧｌｏｂａｌＰｌａｔｆｏｒｍ（Ｇｌｏｂａｌ  Ｐｌａｔｆｏｒｍ（登録商標）、ＧＰ）により提案されたＴＥＥ関連の標準を参照されたい。本願の実施形態において提供されるユーザインタフェース表示方法は、ＴＥＥを有する端末デバイスに加えて、別のタイプのデバイス、例えば、デュアルドメインシステム（セキュリティドメイン及び非セキュリティドメイン）を有する端末デバイス又はコンピュータシステムにも適用されてよいことを理解されたい。
【００４３】
図２で説明される端末デバイス１００に基づいて、本願の一実施形態が、ユーザインタフェースを端末デバイス１００に表示する方法を提供する。このユーザインタフェースは、リッチオペレーティングシステム１２３とトラステッドオペレーティングシステム１４３との連携によって表示される。リッチオペレーティングシステム１２３は、アプリケーション開発者がユーザインタフェースを開発するための、リッチなネイティブ（ｎａｔｉｖｅ）コントロール（本願の実施形態では、「共通コントロール」又は「非セキュアコントロール」とも呼ばれる）を提供する。一例としてＡｎｄｒｏｉｄ（登録商標）システムを用いて、図３に示すように、Ａｎｄｒｏｉｄ（登録商標）が、ボタン（ｂｕｔｔｏｎ）、テキストフィールド（ＥｄｉｔＴｅｘｔ）、ラジオボタン（ＲａｄｉｏＢｕｔｔｏｎ）、チェックボックス（ＣｈｅｃｋＢｏｘ）、及びトグルボタン（ＴｏｇｇｌｅＢｕｔｔｏｎ）などの、複数のネイティブコントロールタイプを提供する。これらのネイティブコントロールタイプから得られるコントロールが、共通コントロール（非セキュアコントロール）である。アプリケーション開発者は、ビジュアル開発ツール又はＸＭＬコードを用いてユーザインタフェースを構築できる。例えば、アプリケーション開発者は、これらのコントロールのうちの１つ又は複数が用いられ、且つコントロールの幅、高さ、又はＩＤなどの、コントロールの属性が設定されるレイアウトファイルで宣言してよい。以下に示すのは、テキストフィールドおよびボタンを含むＸＭＬレイアウトファイルの一例である。
【数１】
2021501388.tif 000003
【００４４】
リッチオペレーティングシステム１２３で提供されるネイティブコントロールに基づいて、カスタマイズされたセキュアコントロールがさらに、本願の本実施形態に追加され、ＴＵＩ開発に用いられる。カスタマイズされたセキュアコントロールは、ＴＥＥ１４０のインタフェースセキュリティ仕様書を満たし、いくつかのカスタマイズされた属性の構成をサポートする。さらに、カスタマイズされたコントロールに対応する処理方法又は機能、例えば、測定、レイアウト、又は描画などの方法が再度記述される必要がある。開発者は、カスタマイズされたセキュアコントロールのインスタンスを．ｘｍｌファイルに作成して編集することができる。一実施形態において、以下の表に示すセキュアコントロールがカスタマイズされてよい。
【表１】
2021501388.tif 000004
【００４５】
アプリケーション開発者は、アプリケーションのユーザインタフェースを開発する場合、リッチオペレーティングシステム１２３により提供されるネイティブコントロールを用いてもよく、カスタマイズされたセキュアコントロールを用いてもよい。このように、共通コントロール及びカスタマイズされたセキュアコントロールの両方を含む複合ユーザインタフェースが開発され、開発の難しさを低減させることができる。
【００４６】
さらに、クライアントアプリケーション１１３がＲＥＥ１２０で動作する場合、リッチオペレーティングシステム１２３は、ユーザインタフェースに含まれるコントロールとコントロールの属性とを、ユーザインタフェースに対応するソースコード及び／又はレイアウトファイルを解析することにより判定する。コントロールの属性は、コントロールのタイプ、コントロールの識別子、コントロールの幅、及びコントロールの高さなどを含むが、これに限定されない。ユーザインタフェースに含まれるコントロールは通常、ツリー構造に体系化される。具体的には、コントロールが互いに親子関係を有する。一例としてＡｎｄｒｏｉｄ（登録商標）を用いると、Ａｎｄｒｏｉｄ（登録商標）のコントロールは、ＶｉｅｗＧｒｏｕｐコントロール及びビューコントロールという、２つのタイプに分類される。ＶｉｅｗＧｒｏｕｐは、親コントロールとして、複数のビューコントロールを含み、ＶｉｅｗＧｒｏｕｐに含まれるこれらのコントロールを管理してよい。図４に示すように、ユーザインタフェース全体に含まれるコントロールが、コントロールツリーを論理的に形成する。上位層コントロールは、下位層コントロールのレンダリング処理とインタラクションイベントの転送とを担う。各コントロールツリーの上部には、ＶｉｅｗＰａｒｅｎｔのオブジェクト、すなわち、コントロールツリーのコアがある。インタラクション管理イベントは全て、ＶｉｅｗＰａｒｅｎｔによって集中方式でスケジューリングされる。
【００４７】
また、本願の一実施形態がさらに、共通コントロールとカスタマイズされたセキュアコントロールとを含むユーザインタフェースを互換表示する方法を提供し、本方法は以下に挙げる段階を含む。
【００４８】
段階５１０：リッチオペレーティングシステム１２３がユーザインタフェースに共通コントロールをレンダリングして、第１サーフェス（ｓｕｒｆａｃｅ）を取得する。
【００４９】
段階５３０：リッチオペレーティングシステム１２３は、ユーザインタフェースのセキュアコントロールに関する情報をトラステッドオペレーティングシステム１４３に転送し、トラステッドオペレーティングシステム１４３はセキュアコントロールをレンダリングして第２サーフェスを取得する。
【００５０】
段階５５０：トラステッドオペレーティングシステム１４３は、第１サーフェスと第２サーフェスとを合成して複合サーフェスを取得する。この複合サーフェスは、共通コントロール及びセキュアコントロールを含む。共通コントロール及びセキュアコントロールを含む複合サーフェスは、本明細書では、共通コントロール及びセキュアコントロールの両方を含むグラフィック表現又はグラフィカルインタフェースであることを理解されたい。
【００５１】
段階５７０：トラステッドオペレーティングシステム１４３は、端末デバイス１００のディスプレイに複合サーフェスを表示する。
【００５２】
一実施形態において、開発者は、セキュアコントロールを用いる場合、コントロールのサイズなどのセキュアコントロールに関連する情報を．ｘｍｌファイルに構成し、通信ＩＤをクライアントアプリケーション１１３のソースファイル又はインストールパッケージに構成する必要がある。通信ＩＤは、ＴＥＥにあるトラステッドアプリケーション１１５に対応する。セキュアコントロールに関する情報は、通信ＩＤに基づいて、且つＴＥＥにより提供される外部インタフェースを用いて、ＴＥＥにある対応するトラステッドアプリケーション１１５に転送されてよい。トラステッドアプリケーション１１５はさらに、トラステッドオペレーティングシステム１４３により提供される関連グラフィックサービス又はコンポーネントに基づいて、セキュアコントロールのレンダリング及び表示を完了する。
【００５３】
一実施形態では、段階５１０において、リッチオペレーティングシステム１２３は、共通コントロールに対応する方法を呼び出すことにより、コントロールに対してレンダリング処理を行う。共通コントロールに対応する方法は、ネイティブＡＰＩを用いて、リッチオペレーティングシステム１２３により提供される。一実施形態では、図５に示すように、コントロールに対応する方法は、測定（ｍｅａｓｕｒｅ）作業、レイアウト（ｌａｙｏｕｔ）作業、及び描画（ｄｒａｗ）作業を含む。測定作業は主に、コントロールのサイズ、すなわち、コントロールの幅及び長さを計算するのに用いられる。計算は、レイアウトファイルに構成される、幅及び高さなどの、コントロールの属性に基づいている。レイアウト作業は、コントロールのディスプレイ上の表示位置を設定するのに用いられる。例えば、一実施形態において、あるコントロールの当該コントロールの親コントロールに対する位置が、例えば、当該コントロールの上端、下端、左端、及び右端から、親コントロールの左上隅若しくは右上隅の頂点までの距離、又は当該コントロールの上端、下端、左端、及び右端から、親コントロールの上端、下端、左端、及び右端までの距離が、レイアウト作業を用いて計算されてよい。描画（ｄｒａｗ）作業は、コントロールをフレームバッファに描画して第１サーフェスを取得するのに用いられる。測定作業及びレイアウト作業の計算結果が、パラメータの形態で記録されてよい。描画（ｄｒａｗ）作業は、これらのパラメータに基づいてコントロールを描画するのに用いられてよい。ＯｐｅｎＧＬなどの特定のグラフィックライブラリが、描画処理の際に呼び出されてよい。
【００５４】
一実施形態では、セキュリティラベルが、セキュアコントロールを識別するために、セキュアコントロールに追加される。クライアントアプリケーション及びリッチオペレーティングシステムは、セキュリティラベルに基づいて、ユーザインタフェースに含まれるコントロールからセキュアコントロールを識別することができる。セキュリティラベルは、コントロールの名称、コントロールのＩＤ、又は署名情報などであってもよい。
【００５５】
一実施形態では、段階５３０において、リッチオペレーティングシステム１２３の通信エージェントが、ＴＥＥの外部インタフェース１２５を用いて、ユーザインタフェースのカスタマイズされたセキュアコントロールに関する情報をトラステッドオペレーティングシステム１４３に転送してよい。カスタマイズされたセキュアコントロールの属性が、レイアウトファイル又はコードを用いて開発者により構成される。カスタマイズされたコントロールに対応する方法（測定、レイアウト、描画）が再度記述される、すなわち、ＴＥＥ側のディスプレイの要件を満たすように、開発者により定義される。リッチオペレーティングシステム１２３により転送されたセキュアコントロールに関する情報には、幅又は高さなどの、セキュアコントロールの属性が含まれる。トラステッドオペレーティングシステム１４３は、セキュアコントロールに対応する方法を呼び出すことによって、測定処理、レイアウト処理、及び描画処理をセキュアコントロールに対して行い、第２サーフェスを取得する。
【００５６】
一実施形態において、段階５１０で取得された第１サーフェス（非セキュアサーフェス）は、リッチオペレーティングシステム１２３のフレームバッファの中にある。段階５３０で取得された第２サーフェス（セキュアサーフェス）は、トラステッドオペレーティングシステム１４３のフレームバッファの中にある。トラステッドオペレーティングシステム１４３は、リッチオペレーティングシステム１２３のフレームバッファにアクセスしてよい。しかしながら、トラステッドオペレーティングシステム１４３のフレームバッファには、リッチオペレーティングシステム１２３はアクセスできない。リッチオペレーティングシステム１２３及びトラステッドオペレーティングシステム１４３はそれぞれ、複数のフレームバッファを有してよい。コントロールがレンダリングされた後に、複数のサーフェスが取得された場合、この複数のサーフェスは、異なるフレームバッファの中に別々に存在してよい。
【００５７】
一実施形態において、リッチオペレーティングシステム１２３が共通コントロールをレンダリングする場合、複数のサーフェスが生成されてよく、それぞれのサーフェスが別々のフレームバッファの中にある。リッチオペレーティングシステム１２３は、グラフィック関連のハードウェアを呼び出して、まず、複数のサーフェスを第１サーフェスにオフラインで結合してよい。
【００５８】
一実施形態において、トラステッドオペレーティングシステム１４３は、第１サーフェスと第２サーフェスとを合成して複合サーフェスにする。複合サーフェスには、共通コントロール及びセキュアコントロールの両方が含まれる。複合サーフェスは、ディスプレイドライバの支援を受けて、ディスプレイを用いることにより表示される。共通コントロール及びセキュアコントロールを含む複合サーフェスは、本明細書では、共通コントロール及びセキュアコントロールの両方を含むグラフィック表現又はグラフィカルインタフェースである。
【００５９】
一実施形態では、段階５５０において、リッチオペレーティングシステム１２３は、通信エージェントを用いて、トラステッドオペレーティングシステム１４３に第１サーフェス（非セキュアサーフェス）を送信してよい。トラステッドオペレーティングシステム１４３はさらに、第１サーフェスと第２サーフェスとを合成して、複合サーフェスを取得する。リッチオペレーティングシステム１２３は、第１サーフェスが位置するフレームバッファのアドレスも、通信エージェントを用いて、トラステッドオペレーティングシステム１４３に転送してよい。トラステッドオペレーティングシステム１４３は、このアドレスに基づいて、リッチオペレーティングシステム１２３のフレームバッファの中にある第１サーフェスにアクセスして、サーフェス合成を完了してよい。
【００６０】
一実施形態では、段階５５０において、トラステッドオペレーティングシステム１４３は、ＡｌｐｈａＢｌｅｎｄアルゴリズムを用いて第１サーフェスＡと第２サーフェスＢとを合成して、複合サーフェスＣを生成してよい。複合サーフェスＣの各ピクセルのＲＧＢ値が、第１サーフェスＡの対応する位置にあるピクセルのＲＧＢ値と、第２サーフェスＢの対応する位置にあるピクセルのＲＧＢ値とに基づいて、次式を用いて計算される。
Ｒ（Ｃ）＝（１−ａｌｐｈａ）×Ｒ（Ｂ）＋ａｌｐｈａ×Ｒ（Ａ）
Ｇ（Ｃ）＝（１−ａｌｐｈａ）×Ｇ（Ｂ）＋ａｌｐｈａ×Ｇ（Ａ）
Ｂ（Ｃ）＝（１−ａｌｐｈａ）×Ｂ（Ｂ）＋ａｌｐｈａ×Ｂ（Ａ）
ここで、ａｌｐｈａは定数であり、透明性を表すのに用いられる。ａｌｐｈａが０の場合、完全に透明であることを示す。ａｌｐｈａが２５５の場合、完全に不透明であることを示す。
【００６１】
一実施形態において、ＲＥＥ側のクライアントアプリケーション１１３は、ユーザインタフェースを作成する場合、リッチオペレーティングシステム１２３により提供されるインタフェースを呼び出すので、リッチオペレーティングシステム１２３は、ユーザインタフェースのレイアウトファイルに基づいて、測定方法、レイアウト方法、及び描画方法を呼び出すことにより、ユーザインタフェースの共通コントロールに対してレンダリング処理を行う。レンダリング処理の後に取得される非セキュアサーフェス（セキュアコントロールを除く）が、リッチオペレーティングシステム１２３のフレームバッファにバッファリングされ、ＴＥＥとＲＥＥとの間の通信チャネルに基づいて、トラステッドオペレーティングシステムのフレームバッファに同期する。さらに、リッチオペレーティングシステム１２３は、ユーザインタフェースのセキュアコントロールに関する識別情報をトラステッドオペレーティングシステム１４３に転送する。トラステッドオペレーティングシステム１４３は、セキュアコントロールに関する情報と、セキュアコントロールに対応するカスタマイズされた方法（測定、レイアウト、又は描画）とに基づいて、セキュアコントロールに対してレンダリング処理を行う。レンダリング処理の後に取得されるセキュアサーフェス（セキュアコントロールのみを含む）が、トラステッドオペレーティングシステム１４３のフレームバッファにバッファリングされる。最終的に、トラステッドオペレーティングシステム１４３は、セキュアサーフェスと非セキュアサーフェスとを合成し、次いで、ディスプレイを用いてその複合サーフェスを表示する。
【００６２】
図６は、リッチオペレーティングシステム１２３とトラステッドオペレーティングシステム１４３とが互いに連携してユーザインタフェースのコントロールを処理する、より具体的な例を示す。図６によれば、リッチオペレーティングシステム１２３は、測定モジュール１２３１と、レイアウトモジュール１２３３と、描画モジュール１２３５とを含み、それぞれが、ユーザインタフェースの共通コントロールに対して測定作業、レイアウト作業、及び描画作業を行い、非セキュアサーフェス（セキュアコントロールを除く）を取得するように構成される。コントロールの測定、レイアウト、及び描画に関する詳細については、段階５１０の説明を参照されたい。共通コントロールが描画された後に取得される非セキュアサーフェスが、第１フレームバッファ１２３７の中にある。第１フレームバッファ１２３７は、リッチオペレーティングシステム１２３が制御でき且つアクセスできるバッファ空間である。
【００６３】
さらに、一実施形態において、クライアントアプリケーションは、ユーザインタフェースのセキュアコントロールに関する情報を、リッチオペレーティングシステムにより提供される通信エージェント（不図示）及び／又はＴＥＥにより提供される外部インタフェースを呼び出すことによって、トラステッドアプリケーション１１５に転送する。トラステッドアプリケーションは、次いで、トラステッドオペレーティングシステム１４３のグラフィックサービス又はコンポーネントを呼び出して、セキュアコントロールのレンダリングを完了する。一実施形態において、トラステッドオペレーティングシステム１４３は、測定モジュール１４３１、レイアウトモジュール１４３３、描画モジュール１４３５、結合モジュール１４３９、及びドライバモジュール１４４１を含む。測定モジュール１４３１、レイアウトモジュール１４３３、及び描画モジュール１４３５はそれぞれ、ユーザインタフェースのセキュアコントロールに対して測定作業、レイアウト作業、及び描画作業を行い、セキュアサーフェス（セキュアコントロールのみを含む）、を取得するように構成される。測定モジュール１４３１、レイアウトモジュール１４３３、及び描画モジュール１４３５は、セキュアコントロールに関する情報と、セキュアコントロールに対応するカスタマイズされた方法（測定、レイアウト、又は描画）とに基づいて、セキュアコントロールに対して測定、レイアウト、及び描画を行う。セキュアコントロールの測定、レイアウト、及び描画に関する詳細については、段階５３０の説明を参照されたい。セキュアコントロールが描画された後に取得されるセキュアサーフェスが、第２フレームバッファ１４３７の中にある。第２フレームバッファ１４３７は、トラステッドオペレーティングシステム１４３のみが制御でき且つアクセスできるバッファ空間であるが、リッチオペレーティングシステム１２３とＲＥＥ１２０のアプリケーションはアクセスできない。結合モジュール１４３９は、第１フレームバッファ１２３７の中にある非セキュアサーフェスと第２フレームバッファ１４３７の中にあるセキュアサーフェスとを合成して、共通コントロール及びセキュアコントロールを含む複合サーフェスを取得する。ドライバモジュール１４４１は、結合モジュール１４３９により取得される複合サーフェスをディスプレイ１４１に表示するように構成される。
【００６４】
一実施形態において、リッチオペレーティングシステム１２３は、通信エージェントを用いて、第１サーフェス（非セキュアサーフェス）をトラステッドオペレーティングシステム１４３に送信してよい。トラステッドオペレーティングシステム１４３の結合モジュール１４３９は、次いで、第１サーフェスと第２サーフェスとを合成して複合サーフェスを取得する。この複合サーフェスは、第２フレームバッファ１４３７の中にある。あるいは、別の実施形態において、リッチオペレーティングシステム１２３は、通信エージェントを用いて、第１サーフェスが位置するフレームバッファのアドレスをトラステッドオペレーティングシステム１４３に転送してよい。トラステッドオペレーティングシステム１４３の結合モジュール１４３９は、当該アドレスに基づいて、第１フレームバッファの中にある第１サーフェスにアクセスし、次いで、サーフェス合成を実施してよい。この複合サーフェスは第２フレームバッファ１４３７の中にある。
【００６５】
任意選択で、一実施形態では、リッチオペレーティングシステム１２３はさらに、ユーザインタフェースのセキュアコントロールに対して前処理を行うように、例えば、初期の測定、レイアウト、及び描画を行うように構成された前処理モジュール１２３９を含む。前処理結果が、トラステッドオペレーティングシステム１４３に同期する。トラステッドオペレーティングシステム１４３はさらに、前処理結果に基づいて、セキュアコントロールに対してさらなる処理を行う。
【００６６】
解決手段の特定の実装例において、リッチオペレーティングシステム１２３が共通コントロールに対して行うレンダリング処理と、トラステッドオペレーティングシステム１４３がセキュアコントロールに対して行うレンダリング処理とは、完全に連続して行われるわけではなく、交互に行われても並列して行われてもよいことを理解されたい。端末１００は、図６に示すものより少ない又はそれより多いコンポーネントを含んでよいことが理解される。図６に示す端末デバイスは、単に本願の実施形態において開示される複数の実装例に強く関連したコンポーネントを含むにすぎない。
【００６７】
一実施形態では、図７に示すように、リッチオペレーティングシステム１２３はＡｎｄｒｏｉｄ（登録商標）システムであり、アーキテクチャに関して、カーネル１３０と、ライブラリ（ｌｉｂｒａｒｉｅｓ）１５０と、アプリケーションフレームワーク（ａｐｐｌｉｃａｔｉｏｎ  ｆｒａｍｅｗｏｒｋ）１７０とに分割されてよい。カーネル１３０は、基本的なシステムコンポーネント及びサービス、例えば、電力管理、メモリ管理、スレッド管理、ハードウェアドライバプログラム、及びアクセスプロキシ１３４を提供するのに用いられる。アクセスプロキシ１３４は主に、ＲＥＥ１２０とＴＥＥ１４０との間で通信を実施するのに用いられ、例えば、ＴＥＥにより提供されるインタフェースを用いて、ＲＥＥ１２０側に関する情報をＴＥＥ１４０に送信又は転送するのに用いられる。アクセスプロキシ１３４は、カーネルモードのプロセス又はスレッドである。例えば、アクセスプロキシ１３４の機能が、カーネルのＴｚｄｒｉｖｅｒによって行われてよい。ライブラリ１５０は、実行可能プログラムが動作しているときに、実行可能プログラムにサポートを提供するプログラムライブラリであり、ブラウザエンジン（ｗｅｂｋｉｔなど）及びグラフィック処理エンジン（ＯｐｅｎＧＬ  ＥＳなど）などを含む。フレームワーク１７０は、基本的な共通コンポーネント及びサービスを、ウィンドウ管理及びビュー管理などのアプリケーションに提供するのに用いられる。一実施形態において、フレームワーク１７０は、ビューマネージャ１７３及びサーフェス結合器１７５などを含む。ビューマネージャ１７３は、ネイティブビューコントロールに対して、すなわち、共通コントロールに対して、測定、レイアウト、及び描画などの作業をクライアントアプリケーション１１３のユーザインタフェースで行うのに用いられる。サーフェス結合器１７５は、フレームバッファ１３２に描画されたサーフェスを結合し、次いで、結合サーフェスを表示のために表示装置に送信するのに用いられる。フレームバッファ１３２は、カーネルモードでプロセス又はスレッドがアクセスできる記憶領域であり、ビューマネージャ１７３により描画されたサーフェスをバッファリングするのに用いられる。
【００６８】
一実施形態において、ビューマネージャ１７３は具体的には、Ａｎｄｒｏｉｄ（登録商標）システムにより提供されるｏｎＭｅａｓｕｒｅ（）機能、ｏｎＬａｙｏｕｔ（）機能、及びｏｎＤｒａｗ（）機能をそれぞれ用いて、ネイティブビューコントロールに対して測定作業、レイアウト作業、及び描画作業を実施してよい。サーフェス結合器１７５は、ＳｕｒｆａｃｅＦｌｉｎｇｅｒサービスをＡｎｄｒｏｉｄ（登録商標）システムに提供する。ビューマネージャ１７３は、サーフェスのコントロールをフレームバッファ１３２に描画する。ＳｕｒｆａｃｅＦｌｉｎｇｅｒサービスは、グラフィックライブラリを用いて、フレームバッファの中にあるサーフェスをハードウェアフレームバッファにレンダリングする。
【００６９】
一実施形態において、図７に示すように。トラステッドオペレーティングシステム１４３は、トラステッドユーザインタフェース（ＴＵＩ）サービス１５０と、サーフェス結合器１６０と、ディスプレイドライバ１４７と、フレームバッファ１４２とを含む。アプリケーションフレームワーク１７０は、クライアントアプリケーション１１３のユーザインタフェースにおけるカスタマイズされたセキュアコントロールを識別した後に、アクセスプロキシ１３４を用いて、カスタマイズされたセキュアコントロールに関する情報をＴＥＥ１４０のトラステッドアプリケーション１１５に転送する。トラステッドアプリケーション１１５は、ＴＥＥ内部インタフェース１４５を通じてＴＵＩサービス１５０を呼び出すことによって、カスタマイズされたセキュアコントロールに対して測定、レイアウト、及び描画などの作業を行い、次いで、取得されたセキュアサーフェスをフレームバッファ１４２にバッファリングしてよい。サーフェス結合器１６０は、セキュアサーフェスと、フレームバッファ１３２の中にある非セキュアサーフェス（セキュアコントロールを除く）とを合成して、複合サーフェスを取得する。この複合サーフェスはフレームバッファ１４２の中にある。最終的に、複合サーフェスは、ディスプレイドライバ１４７を用いてディスプレイ１４１に表示される。
【００７０】
具体的には、一実施形態において、図８に示すように、リッチオペレーティングシステム１２３のビューマネージャ１７３は、ネイティブビューコントロールに対して測定、レイアウト、及び描画などの作業を行い、バックグラウンドサーフェス、ステータスバーサーフェス、及びナビゲーションバーサーフェスなどの１つ又は複数の非セキュアサーフェスを取得する。非セキュアサーフェスは、フレームバッファ１３２にバッファリングされる。複数の非セキュアサーフェスがある場合、複数のサーフェスは、複数のフレームバッファにバッファリングされてよい。例えば、それぞれの非セキュアサーフェスが、別個のフレームバッファの中にある。セキュア入力フィールドおよびセキュアキーボードライトなどのカスタマイズされたセキュアコントロールに対して、測定、レイアウト、及び描画などの作業を行った後に、ＴＵＩサービス１５０は、取得されたセキュアサーフェスをフレームバッファ１４２にバッファリングする。サーフェス結合器１６０は、非セキュアサーフェスとセキュアサーフェスとを合成して、セキュアコントロール及びネイティブコントロールの両方を含む複合サーフェスを取得する。複合サーフェスは、最終的にディスプレイ１４１を用いて表示されるので、セキュアコントロール及び非セキュアコントロールの互換表示が実装される。任意選択で、複数の非セキュアサーフェスがある場合、サーフェス結合器１６０が合成を行う前に、リッチオペレーティングシステム１２３は、まずハードウェアを呼び出して、複数の非セキュアサーフェスをオフラインで結合し、複数の非セキュアサーフェスを１つのサーフェスに結合してよい。次いで、サーフェス結合器１６０は、結合サーフェスとセキュアサーフェスとを合成する。
【００７１】
一実施形態において、サーフェス結合器１６０は、ＡｌｐｈａＢｌｅｎｄアルゴリズムを用いて、非セキュアサーフェスとセキュアサーフェスとを合成し、複合サーフェスを生成してよい。ＡｌｐｈａＢｌｅｎｄアルゴリズムの具体的な実装詳細については、前述の実施形態を参照されたい。
【００７２】
リッチオペレーティングシステム１２３及びトラステッドオペレーティングシステム１４３の各コンポーネントの前述した機能は、メモリ１０５に格納されたプログラムをプロセッサが実行することによって実施されてよい。
【００７３】
当業者であれば、端末１００は図７に示すものより少ない又はそれより多いコンポーネントを含んでよいことを理解するであろう。図７に示す端末デバイスは、単に本願の実施形態において開示される複数の実装例に強く関連したコンポーネントを含むにすぎない。
【００７４】
図９は、本願の一実施形態による別の端末デバイス２００の一例を示す。図９によれば、端末デバイス２００は、通信サブシステム２１０と、電源２２０と、入力装置２３０と、表示装置２４０と、処理ユニット２５０と、メモリ２６０とを含む。メモリ２６０は、コンピュータプログラム又は命令を格納する。コンピュータプログラムは、オペレーティングシステム２９４及びアプリケーション２９２などを含む。処理ユニット２５０は、メモリ２６０に格納されたコンピュータプログラムを実行して、コンピュータプログラムで定義された方法を実施するように構成される。例えば、処理ユニット２５０は、オペレーティングシステム２９４を起動して、前述の実施形態において説明したリッチオペレーティングシステム及びトラステッドオペレーティングシステムの、端末デバイス２００における様々な機能を実施する。
【００７５】
処理ユニット２５０は、１つ又は複数のプロセッサを含んでよい。例えば、処理ユニット２５０は、アプリケーションプロセッサ、グラフィックプロセッサ、及びデジタル信号プロセッサなどを含んでよい。処理ユニット２５０が複数のプロセッサを含む場合、複数のプロセッサは同じチップに統合されてもよく、それぞれが互いに独立したチップであってもよい。
【００７６】
メモリ２６０は、コンピュータプログラムに加えて、さらに他のデータ２９６を格納する。他のデータ２９６は、オペレーティングシステム２９４又はアプリケーション２９２の動作時に生成された、システムデータ（例えば、オペレーティングシステム２９４の構成パラメータ）及びユーザデータなどのデータを含んでよい。
【００７７】
メモリ２６０は一般に、内部メモリ及び外部メモリを含む。内部メモリは、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、リードオンリメモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、又はキャッシュ（ｃａｃｈｅ）などを含むが、これに限定されない。外部メモリは、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）、ハードディスク、及びユニバーサルシリアルバス（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ、ＵＳＢ）ディスクなどを含むが、これに限定されない。コンピュータプログラムは一般に、外部メモリに格納される。処理ユニット２５０は、コンピュータプログラムを実行する前に、プログラムを外部メモリから内部メモリにロードする。
【００７８】
一実施形態において、オペレーティングシステム２９４は、本願の実施形態において提供されるユーザインタフェース表示方法を実装するのに用いられるコンピュータプログラム、例えば、リッチオペレーティングシステム及びトラステッドオペレーティングシステムを含むため、プロセッサ２５０は、オペレーティングシステム２９４を起動した後に、本願の実施形態によるユーザインタフェース表示方法の各段階を実施する。例えば、前述の実施形態において説明されたビューマネージャ１７３、サーフェス結合器１７５、ＴＵＩサービス１５０、及びサーフェス結合器１６０は、コンピュータプログラム（命令）を用いて実装されてよい。処理ユニット２５０は、コンピュータプログラム（命令）をロードして起動した後に、これらのモジュールのそれぞれの機能を実装する。
【００７９】
入力装置２３０は、数字／文字情報、タッチ操作、又はジェスチャなどのユーザ入力情報を受信し、対応する入力信号を生成するように構成される。具体的には、一実施形態において、入力装置２３０はタッチパネルを含む。タッチパネルは、タッチスクリーンとも呼ばれ、タッチパネル上でのユーザのタッチ操作を受け取り、タッチ信号を生成して、関連するコンポーネントを駆動し、ユーザの操作に応答してよい。入力装置２３０はさらに、タッチパネルに加えて、物理キーボード、ファンクションキー（音量調節用プレスキー、スイッチ用プレスキーなど）、トラックボール、マウス、又はジョイスティックなどのうちの１つ又は複数を含む別の入力装置を含んでよいが、これに限定されない。
【００８０】
表示装置２４０は、液晶ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ、ＬＣＤ）又は有機発光ダイオード（ｏｒｇａｎｉｃ  ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ、ＯＬＥＤ）などの表示パネルであってよい。いくつかの実施形態において、タッチパネルは、表示装置２４０をカバーして、タッチディスプレイ画面を形成してよい。
【００８１】
通信サブシステム２１０は、端末２００の基本的な通信ユニットであり、端末２００のデータを送受信するように構成される。電源２２０は、前述のコンポーネントに電力を供給するように構成され、具体的には電力管理用チップであってよい。
【００８２】
端末デバイス２００が無線端末である場合、通信サブシステム２１０は、無線モデム（ｗｉｒｅｌｅｓｓ  ｍｏｄｅｍ）を含み、ベースバンド処理、変調及び復調、信号増幅及びフィルタリング、並びに等化などの機能を主に実装する。一実施形態において、通信サブシステム２１０は、ベースバンドプロセッサと、無線周波数回路と、アンテナとを含む。無線周波数回路及びアンテナは主に、信号の送受信を担っている。ベースバンドプロセッサは、信号のＡ／Ｄ変換及びＤ／Ａ変換、並びに信号の符号化及び復号などの、信号処理を担っている。ベースバンドプロセッサは、無線通信標準のうちの１つ又は複数をサポートする。本明細書のおける無線通信標準は、移動体通信用グローバルシステム（ｇｌｏｂａｌ  ｓｙｓｔｅｍ  ｆｏｒ  ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、ＧＳＭ（登録商標））、符号分割多元接続（ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ、ＣＤＭＡ）、広帯域符号分割多元接続（ｗｉｄｅｂａｎｄ  ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ、ＷＣＤＭＡ（登録商標））、高速パケットアクセス（ｈｉｇｈ  ｓｐｅｅｄ  ｐａｃｋｅｔ  ａｃｃｅｓｓ、ＨＳＰＡ）、及びロングタームエボリューション（ｌｏｎｇ  ｔｅｒｍ  ｅｖｏｌｕｔｉｏｎ、ＬＴＥ）などを含むが、これに限定されない。ベースバンドプロセッサは、独立したチップであってもよく、処理ユニット２５０に含まれるプロセッサと共に同じチップに統合されてもよい。
【００８３】
任意選択で、端末デバイス２００はさらに、１つ又は複数のセンサ２８０、例えば、加速度センサ及び光学センサを含む。
【００８４】
本願の実施形態において提供されるユーザインタフェース表示方法は、端末デバイス２００のソフトウェア、ハードウェア、及び／又はファームウェアの適切な組み合わせで実行されてよい。例えば、図９に示すオペレーティングシステム２９４は、必要なハードウェアと組み合わせて実装されてよい。
【００８５】
さらに、当業者であれば、端末２００が図９に示すものより少ない又はそれより多いコンポーネントを含んでよいことを理解するであろう。図９に示す端末デバイス２００は、単に本願の実施形態において開示される複数の実装例に強く関連したコンポーネントを示すにすぎない。
【００８６】
前述の実施形態において説明されたユーザインタフェース表示方法に基づいて、本願の一実施形態がさらに、端末デバイス４００を提供する。図１０に示すように、端末デバイス４００は、処理回路４０２と、処理回路４０２に接続された通信インタフェース４０４及び記憶媒体４０６とを含む。
【００８７】
処理回路４０２は、データを処理し、データアクセス及び記憶装置を制御し、コマンドを送信し、別のコンポーネントを制御して、ある作業を行うように構成される。処理回路４０２は、１つ又は複数のプロセッサ、１つ又は複数のコントローラ、及び／又はプログラムを実行するように構成され得る別の構造として実装されてよい。処理回路４０２は具体的には、汎用プロセッサ、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ、ＤＳＰ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）、又は別のプログラム可能型論理コンポーネントのうちの少なくとも１つを含んでよい。汎用プロセッサは、マイクロプロセッサ、及び任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンを含んでよい。処理回路４０２は、コンピューティング素子として、例えば、ＤＳＰとマイクロプロセッサとの組み合わせとして実装されてよい。
【００８８】
記憶媒体４０６は、磁気記憶装置（例えば、ハードディスク、フロッピーディスク、又は磁気ストライプ）、光記憶媒体（例えば、デジタル多用途ディスク（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ、ＤＶＤ））、スマートカード、フラッシュメモリデバイス、ＲＡＭ、ＲＯＭ、プログラム可能型リードオンリメモリ（ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＰＲＯＭ）、消去可能プログラム可能型リードオンリメモリ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＥＰＲＯＭ）、レジスタ、及びこれらの任意の組み合わせなどの、非一時的コンピュータ可読記憶媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ−ｒｅａｄａｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含んでよい。記憶媒体４０６は処理回路４０２に結合されてよく、その結果、処理回路４０２は、情報の読み出し及び記憶媒体４０６への情報の書き込みを行うことができる。具体的には、記憶媒体４０６は処理回路４０２に統合されてもよく、記憶媒体４０６と処理回路４０２とは別々であってもよい。
【００８９】
通信インタフェース４０４は、回路及び／又はプログラムを含み、端末デバイス４００と１つ又は複数のネットワークデバイス（例えば、ルータ、スイッチ、及びアクセスポイントなど）との間の相互通信を実施してよい。通信インタフェース４０４は、少なくとも１つの受信回路４１６及び／又は少なくとも１つの送信回路４１８を含む。一実施形態において、通信インタフェース４０４は、無線モデムで完全に又は部分的に実装されてよい。
【００９０】
一実施形態において、記憶媒体４０６はプログラム（命令）４２０を格納する。処理回路４０２は、記憶媒体４０６に格納されたプログラム（命令）４２０を実行し、本願の任意の方法の実施形態における一部又は全ての段階を実施するように適合する。
【００９１】
本願の一実施形態がさらに、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、本願の任意の方法の実施形態における方法の各段階を実施する、コード、命令、又はプログラムを格納する。
【００９２】
便利で簡潔な説明のために、前述の装置及びユニットの詳細な動作プロセスについては、前述の方法の実施形態における対応するプロセスを参照してよく、詳細は再度ここで説明しないことが、当業者によって明確に理解されるであろう。
【００９３】
本願の実施形態において提供されるユーザインタフェース表示方法は、デュアルドメインシステムを有するデバイスにも適用されてよい。このデバイスは、互いに分離された非セキュリティドメインとセキュリティドメインとを含む。セキュリティドメインのセキュリティレベルは、非セキュリティドメインのセキュリティレベルより高い。前述の実施形態において説明されたＴＥＥ及びＲＥＥと同様に、非セキュリティドメインで動作するアプリケーションが、特定のインタフェースを用いて、セキュリティドメインにあるサービスを要求してもよい。非セキュリティドメインにあるグラフィックサービス又はコンポーネントが、アプリケーションのユーザインタフェースに含まれる共通コントロールをレンダリングして、１つ又は複数の非セキュアサーフェスを取得する。セキュリティドメインにあるグラフィックサービス又はコンポーネントが、ユーザインタフェースに含まれるカスタマイズされたセキュアコントロールをレンダリングして、１つ又は複数のセキュアサーフェスを取得する。最終的に、セキュリティドメインにあるグラフィックサービス又はコンポーネントが、セキュリティドメインにおいて、セキュアサーフェス及び非セキュアサーフェスを合成した後に、複合サーフェスがディスプレイを用いて表示される。セキュリティドメイン及び非セキュリティドメインにおけるコントロールのレンダリングに関する、またサーフェスの合成に関する具体的な実装詳細については、前述の方法の実施形態を参照されたい。詳細は、再度ここで説明しない。
【００９４】
本願において提供されるいくつかの実施形態では、開示された装置及び方法が別の方式で実装されてよいことを理解されたい。例えば、説明された装置の実施形態は、単なる例にすぎない。例えば、ユニットの分割は、単なる論理的機能の分割にすぎない。実際に実装する際には、他の分割があってもよい。例えば、複数のユニット又はコンポーネントが結合されてもよく、別のシステムに統合されてもよく、又はいくつかの特徴が無視されても、実行されなくてもよい。さらに、示された又は論じられた相互結合又は直接的な結合若しくは通信接続は、いくつかのインタフェースを通じて実装されてよい。装置間又はユニット間の間接的な結合又は通信接続は、電子的形態、機械的形態、又は他の形態で実装されてよい。
【００９５】
さらに、本願の実施形態における各機能ユニットが、１つの処理ユニットに統合されてもよく、これらのユニットが物理的に分離されてもよく、２つ又はそれより多くのユニットが１つのユニットに統合されてもよい。
【００９６】
各機能がソフトウェア機能ユニットの形態で実装されて、独立した製品として販売されるか又は用いられる場合、これらの機能はコンピュータ可読記憶媒体に格納されてよい。そのような理解に基づいて、本質的には本願の技術的解決手段、又は先行技術に寄与する部分、又はこれらの技術的解決手段の一部は、コンピュータソフトウェア製品の形態で実装されてよい。コンピュータソフトウェア製品は、記憶媒体に格納され、コンピュータデバイス（パーソナルコンピュータ、サーバ、又はネットワークデバイスなどであってよい）に命令して、本願の実施形態において説明された方法の段階の全て又は一部を実行させるいくつかの命令を含む。前述の記憶媒体は、プログラムコードを格納できる、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、ＲＯＭ、ＲＡＭ、又はコンパクトディスクなどの様々な媒体を含む。
【図１】
2021501388.tif 000005
【図２】
2021501388.tif 000006
【図３】
2021501388.tif 000007
【図４】
2021501388.tif 000008
【図５】
2021501388.tif 000009
【図６】
2021501388.tif 000010
【図７】
2021501388.tif 000011
【図８】
2021501388.tif 000012
【図９】
2021501388.tif 000013
【図１０】
2021501388.tif 000014
【手続補正書】
【提出日】令和2年4月28日(2020.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザインタフェースを端末デバイスに表示する方法であって、前記端末デバイスは、トラステッド実行環境（ＴＥＥ）とリッチ実行環境（ＲＥＥ）とを備え、リッチオペレーティングシステムとクライアントアプリケーション（ＣＡ）とが前記ＲＥＥで動作し、トラステッドオペレーティングシステムが前記ＴＥＥで動作し、前記ＣＡのユーザインタフェースが共通コントロールとセキュアコントロールとを有し、前記方法は、
前記リッチオペレーティングシステムが、前記共通コントロールを前記ユーザインタフェースにレンダリングして、第１サーフェスを取得する段階と、
前記トラステッドオペレーティングシステムが、前記セキュアコントロールを前記ユーザインタフェースにレンダリングして、第２サーフェスを取得する段階と、
前記トラステッドオペレーティングシステムが、前記第１サーフェスと前記第２サーフェスとを合成して、前記共通コントロールと前記セキュアコントロールとを有する複合サーフェスを取得し、ディスプレイを用いて前記複合サーフェスを表示する段階と
を備える方法。
【請求項２】
前記方法はさらに、
前記リッチオペレーティングシステムが、前記ＴＥＥにより提供されるクライアントインタフェース（Ｃｌｉｅｎｔ  ＡＰＩ）を呼び出すことによって、前記セキュアコントロールに関する情報を前記トラステッドオペレーティングシステムに転送する段階を備える、請求項１に記載の方法。
【請求項３】
前記トラステッドオペレーティングシステムが、前記セキュアコントロールを前記ユーザインタフェースにレンダリングして、第２サーフェスを取得する前記段階は、
前記トラステッドオペレーティングシステムが、前記セキュアコントロールに関する前記情報に基づいて、前記セキュアコントロールに対して測定及びレイアウト作業を行い、前記セキュアコントロールのサイズ及び表示位置を決定する段階と、
前記セキュアコントロールの決定された前記サイズ及び前記表示位置に基づいて前記セキュアコントロールを描画して、前記第２サーフェスを取得する段階であって、前記第２サーフェスは前記トラステッドオペレーティングシステムのフレームバッファの中にある、段階と
を有する、請求項２に記載の方法。
【請求項４】
前記トラステッドオペレーティングシステムが、前記第１サーフェスと前記第２サーフェスとを合成して、前記共通コントロールと前記セキュアコントロールとを有する複合サーフェスを取得する前記段階は、
前記トラステッドオペレーティングシステムが、通信エージェントを用いて前記リッチオペレーティングシステムにより送信される前記第１サーフェスを取得する段階と、
前記トラステッドオペレーティングシステムが、前記第２サーフェスを前記第１サーフェスの上に合成して前記複合サーフェスを取得する段階であって、前記複合サーフェスは前記トラステッドオペレーティングシステムのフレームバッファの中にある、段階と
を有する、請求項２又は３に記載の方法。
【請求項５】
前記トラステッドオペレーティングシステムが、前記第１サーフェスと前記第２サーフェスとを合成して、前記共通コントロールと前記セキュアコントロールとを有する複合サーフェスを取得する前記段階は、
前記トラステッドオペレーティングシステムが、前記リッチオペレーティングシステムのフレームバッファのアドレスであって、通信エージェントを用いて前記リッチオペレーティングシステムにより送信される、アドレスを取得する段階と、
前記トラステッドオペレーティングシステムが、前記アドレスに基づいて、前記リッチオペレーティングシステムの前記フレームバッファの中にある前記第１サーフェスにアクセスし、前記第１サーフェスと前記第２サーフェスとを合成して前記複合サーフェスを取得する段階であって、前記複合サーフェスは前記トラステッドオペレーティングシステムの前記フレームバッファの中にある、段階と
を有する、請求項２又は３に記載の方法。
【請求項６】
前記リッチオペレーティングシステムが、前記共通コントロールを前記ユーザインタフェースにレンダリングする前記段階は、
前記共通コントロールに対して測定作業を行い、前記共通コントロールのサイズを決定する段階と、
前記共通コントロールに対してレイアウト作業を行い、前記共通コントロールの表示位置を決定する段階と、
前記共通コントロールの決定された前記サイズと前記表示位置とに基づいて、前記共通コントロールを描画して、前記第１サーフェスを取得する段階であって、前記第１サーフェスは前記リッチオペレーティングシステムのフレームバッファの中にある、段階と
を有する、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記リッチオペレーティングシステムは複数のフレームバッファを有し、前記リッチオペレーティングシステムが前記共通コントロールを前記ユーザインタフェースにレンダリングして第１サーフェスを取得する前記段階は、
前記リッチオペレーティングシステムが、前記共通コントロールを前記ユーザインタフェースにレンダリングして複数の中間サーフェスを取得する段階であって、それぞれの中間サーフェスは独立したフレームバッファの中に別々に存在する、段階と、
前記リッチオペレーティングシステムが、ハードウェアを呼び出すことによって、前記複数の中間サーフェスを前記第１サーフェスに結合する段階と
を有する、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記方法はさらに、
前記リッチオペレーティングシステムが、前記ユーザインタフェースに対応するソースコード又はレイアウトファイルを解析して、前記ユーザインタフェースに含まれる前記共通コントロール及び前記セキュアコントロールを決定する段階を備える、請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記セキュアコントロールはセキュリティラベルを有し、前記リッチオペレーティングシステムは、前記セキュリティラベルに基づいて、前記セキュアコントロールと前記共通コントロールとを区別する、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
互いに分離されたトラステッド実行環境（ＴＥＥ）とリッチ実行環境（ＲＥＥ）とを備える端末デバイスであって、リッチオペレーティングシステムとクライアントアプリケーション（ＣＡ）とが前記ＲＥＥで動作し、トラステッドオペレーティングシステムが前記ＴＥＥで動作し、前記ＣＡのユーザインタフェースが共通コントロールとセキュアコントロールとを有し、
前記リッチオペレーティングシステムは、前記共通コントロールを前記ユーザインタフェースにレンダリングして第１サーフェスを取得するように構成され、
前記トラステッドオペレーティングシステムは、前記セキュアコントロールを前記ユーザインタフェースにレンダリングして第２サーフェスを取得し、前記第１サーフェスと前記第２サーフェスとを合成して、前記共通コントロールと前記セキュアコントロールとを有する複合サーフェスを取得し、ディスプレイを用いて前記複合サーフェスを表示するように構成される、端末デバイス。
【請求項１１】
前記リッチオペレーティングシステムは、
前記共通コントロールに対して測定作業を行い、前記共通コントロールのサイズを決定するように構成された測定モジュールと、
前記共通コントロールに対してレイアウト作業を行い、前記共通コントロールの表示位置を決定するように構成されたレイアウトモジュールと、
前記共通コントロールの決定された前記サイズと前記表示位置とに基づいて前記共通コントロールを描画し、前記第１サーフェスを取得するように構成された描画モジュールであって、前記第１サーフェスは前記リッチオペレーティングシステムのフレームバッファの中にある、描画モジュールと
を有する、請求項１０に記載の端末デバイス。
【請求項１２】
前記リッチオペレーティングシステムはさらに、前記セキュアコントロールに関する情報を前記トラステッドオペレーティングシステムに転送するように構成された通信エージェントを有する、請求項１０又は１１に記載の端末デバイス。
【請求項１３】
前記トラステッドオペレーティングシステムは、
前記セキュアコントロールに関する前記情報に基づいて、前記セキュアコントロールに対して測定作業を行い、前記セキュアコントロールのサイズを決定するように構成された測定モジュールと、
前記セキュアコントロールに対してレイアウト作業を行い、前記セキュアコントロールの表示位置を決定するように構成されたレイアウトモジュールと、
前記セキュアコントロールの決定された前記サイズと前記表示位置とに基づいて、前記セキュアコントロールを描画して、前記第２サーフェスを取得するように構成された描画モジュールであって、前記第２サーフェスは前記トラステッドオペレーティングシステムのフレームバッファの中にある、描画モジュールと
を有する、請求項１２に記載の端末デバイス。
【請求項１４】
前記通信エージェントはさらに、前記リッチオペレーティングシステムのフレームバッファの中にある前記第１サーフェスを、前記トラステッドオペレーティングシステムの前記フレームバッファに同期させるように構成され、前記トラステッドオペレーティングシステムはさらに、前記第２サーフェスを前記第１サーフェスの上に合成して前記複合サーフェスを取得するように構成された結合モジュールを有し、前記複合サーフェスは前記トラステッドオペレーティングシステムの前記フレームバッファの中にある、請求項１２又は１３に記載の端末デバイス。
【請求項１５】
前記通信エージェントはさらに、前記リッチオペレーティングシステムのフレームバッファのアドレスを前記トラステッドオペレーティングシステムに転送するように構成され、前記トラステッドオペレーティングシステムはさらに、前記アドレスに基づいて、前記リッチオペレーティングシステムの前記フレームバッファの中にある前記第１サーフェスにアクセスし、前記第１サーフェスと前記第２サーフェスとを合成して前記複合サーフェスを取得するように構成された結合モジュールを有し、前記複合サーフェスは前記トラステッドオペレーティングシステムの前記フレームバッファの中にある、請求項１２又は１３に記載の端末デバイス。
【請求項１６】
前記セキュアコントロールはセキュリティラベルを有し、前記リッチオペレーティングシステムはさらに、前記セキュリティラベルに基づいて、前記セキュアコントロールと前記共通コントロールとを区別するように構成される、請求項１０から１５のいずれか一項に記載の端末デバイス。
【請求項１７】
プロセッサと、メモリと、前記メモリに格納され且つ前記プロセッサにより実行され得るコンピュータプログラムとを備える端末デバイスであって、前記プロセッサが前記コンピュータプログラムを実行すると、請求項１から９のいずれか一項に記載の方法の各段階が実施される、端末デバイス。
【請求項１８】
請求項１から９のいずれか一項に記載の方法をプロセッサに実行させるコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
この問題を解決するために、オープンモバイルターミナルの団体（Ｏｐｅｎ  Ｍｏｂｉｌｅ  Ｔｅｒｍｉｎａｌ  Ｐｌａｔｆｏｒｍ，  ＯＭＴＰ）が、トラステッド実行環境（Ｔｒｕｓｔｅｄ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ、ＴＥＥ）の構想を提案した。２０１０年７月には、ＧｌｏｂａｌＰｌａｔｆｏｒｍ（ＧｌｏｂａｌＰｌａｔｆｏｒｍ（登録商標）、ＧＰ）が、ＴＥＥ標準を提案した。ＴＥＥは、ＲＥＥの外側で動作し且つＲＥＥから分離された、独立した動作環境である。ＴＥＥにある全てのアプリケーションは、専用にカスタマイズされたトラステッドアプリケーション（ｔｒｕｓｔｅｄ  ａｐｐｌｉｃａｔｉｏｎ、ＴＡ）である。ＴＡは、ＴＥＥの内部インタフェースを用いて、ＴＥＥのハードウェアリソース及びソフトウェアリソースにアクセスしてよい。クライアントアプリケーション（ｃｌｉｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ、ＣＡ）とも呼ばれる、ＲＥＥにあるアプリケーションは、ＴＥＥのハードウェアリソース及びソフトウェアリソースに直接的にアクセスできない。ＲＥＥにあるＣＡは、ＴＥＥによる識別情報の認証が成功した後にだけ、ＴＥＥにより提供されるアプリケーションプログラミングインタフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ、ＡＰＩ）を用いて、セキュアストレージ又はセキュアな表示／入力などの、ＴＥＥのリソース又はサービスを呼び出すことができる。このように、モバイル決済のシナリオでは、機密情報の入力及び表示が必要である場合、ＲＥＥ側のＣＡは、ＴＥＥにあるセキュアな表示／入力ＴＡを呼び出して、ＧＰ仕様書を満たすトラステッドユーザインタフェース（Ｔｒｕｓｔｅｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ、ＴＵＩ）を表示してよく、これにより、ユーザがユーザの機密情報を入力し、例えば、個人識別番号（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ、ＰＩＮ）を入力し、ＴＵＩを用いて取引情報を確認する。ＴＵＩが表示された後に、画面表示領域全体がＴＥＥによって引き継がれ、当該表示領域へのＲＥＥのアクセスが完全に遮断されるので、ＲＥＥにあるＣＡが悪意を持ってユーザの機密情報を横取りしたり盗んだりすることが防止される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
本願の一実施形態が、トラステッドユーザインタフェース（ＴＵＩ）とクライアントアプリケーション（ＣＡ）のユーザインタフェースとの互換表示を実装するユーザインタフェース表示方法を提供する。本方法は、端末デバイスに適用されてよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
図２は、本願の一実施形態による端末デバイス１００のアーキテクチャ図である。図２に示すように、端末デバイス１００は、ハードウェアプラットフォーム１１０と、ハードウェアプラットフォーム１００で動作する２つの分離された動作環境、すなわち、リッチ実行環境（Ｒｉｃｈ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ，  ＲＥＥ）１２０及びトラステッド実行環境（Ｔｒｕｓｔｅｄ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ，  ＴＥＥ）１４０とを含む。２つの動作環境はそれぞれ、独立したハードウェアリソースとオペレーティングシステムとを有する。ＲＥＥ１２０のハードウェアリソースとＴＥＥ１４０のハードウェアリソースとは、ＡＲＭ（登録商標）のＴｒｕｓｔＺｏｎｅメカニズムなどのハードウェア分離技術を用いて分離することができる。さらに、ＲＥＥ１２０のオペレーティングシステムとＴＥＥ１４０のオペレーティングシステムとの間の分離、及びアプリケーション間の分離が、仮想化技術を用いて実装される。このように、ＴＥＥ１４０によりアクセスされ得るソフトウェア及びハードウェアリソースが、ＲＥＥ１２０によりアクセスされ得るソフトウェア及びハードウェアリソースから分離され、アプリケーションによりアクセスされ得るデータ及び機能をＴＥＥ１４０が厳しく制限することによって、ＴＥＥ１４０のセキュリティレベルが特定のセキュリティ要件を満たすことができる。したがって、ＴＥＥ１４０は一般に、セキュア実行環境とみなされる。ＲＥＥ１２０は、ＴＥＥ１４０の外側にある動作環境である。ＴＥＥ１４０と比べて、ＲＥＥ１２０はセキュリティが低く、攻撃を受けやすい環境である。ＲＥＥ１２０で動作するアプリケーション、すなわち、クライアントアプリケーション（ｃｌｉｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ、ＣＡ）も信用できないとみなされる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
解決手段の特定の実装例において、リッチオペレーティングシステム１２３が共通コントロールに対して行うレンダリング処理と、トラステッドオペレーティングシステム１４３がセキュアコントロールに対して行うレンダリング処理とは、完全に連続して行われるわけではなく、交互に行われても並列して行われてもよいことを理解されたい。端末デバイス１００は、図６に示すものより少ない又はそれより多いコンポーネントを含んでよいことが理解される。図６に示す端末デバイスは、単に本願の実施形態において開示される複数の実装例に強く関連したコンポーネントを含むにすぎない。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
当業者であれば、端末デバイス１００は図７に示すものより少ない又はそれより多いコンポーネントを含んでよいことを理解するであろう。図７に示す端末デバイスは、単に本願の実施形態において開示される複数の実装例に強く関連したコンポーネントを含むにすぎない。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
一実施形態において、オペレーティングシステム２９４は、本願の実施形態において提供されるユーザインタフェース表示方法を実装するのに用いられるコンピュータプログラム、例えば、リッチオペレーティングシステム及びトラステッドオペレーティングシステムを含むため、処理ユニット２５０は、オペレーティングシステム２９４を起動した後に、本願の実施形態によるユーザインタフェース表示方法の各段階を実施する。例えば、前述の実施形態において説明されたビューマネージャ１７３、サーフェス結合器１７５、ＴＵＩサービス１５０、及びサーフェス結合器１６０は、コンピュータプログラム（命令）を用いて実装されてよい。処理ユニット２５０は、コンピュータプログラム（命令）をロードして起動した後に、これらのモジュールのそれぞれの機能を実装する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
通信サブシステム２１０は、端末デバイス２００の基本的な通信ユニットであり、端末デバイス２００のデータを送受信するように構成される。電源２２０は、前述のコンポーネントに電力を供給するように構成され、具体的には電力管理用チップであってよい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００８５
【補正方法】変更
【補正の内容】
【００８５】
さらに、当業者であれば、端末デバイス２００が図９に示すものより少ない又はそれより多いコンポーネントを含んでよいことを理解するであろう。図９に示す端末デバイス２００は、単に本願の実施形態において開示される複数の実装例に強く関連したコンポーネントを示すにすぎない。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
各機能がソフトウェア機能ユニットの形態で実装されて、独立した製品として販売されるか又は用いられる場合、これらの機能はコンピュータ可読記憶媒体に格納されてよい。そのような理解に基づいて、本質的には本願の技術的解決手段、又は先行技術に寄与する部分、又はこれらの技術的解決手段の一部は、コンピュータソフトウェア製品の形態で実装されてよい。コンピュータソフトウェア製品は、記憶媒体に格納され、コンピュータデバイス（パーソナルコンピュータ、サーバ、又はネットワークデバイスなどであってよい）に命令して、本願の実施形態において説明された方法の段階の全て又は一部を実行させる命令を含む。前述の記憶媒体は、プログラムコードを格納できる、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、ＲＯＭ、ＲＡＭ、又はコンパクトディスクなどの様々な媒体を含む。
(項目１)
ユーザインタフェースを端末デバイスに表示する方法であって、上記端末デバイスは、トラステッド実行環境ＴＥＥとリッチ実行環境ＲＥＥとを備え、リッチオペレーティングシステムとクライアントアプリケーションＣＡとが上記ＲＥＥで動作し、トラステッドオペレーティングシステムが上記ＴＥＥで動作し、上記ＣＡのユーザインタフェースが共通コントロールとセキュアコントロールとを有し、上記方法は、
上記リッチオペレーティングシステムが、上記共通コントロールを上記ユーザインタフェースにレンダリングして、第１サーフェスを取得する段階と、
上記トラステッドオペレーティングシステムが、上記セキュアコントロールを上記ユーザインタフェースにレンダリングして、第２サーフェスを取得する段階と、
上記トラステッドオペレーティングシステムが、上記第１サーフェスと上記第２サーフェスとを合成して、上記共通コントロールと上記セキュアコントロールとを有する複合サーフェスを取得し、ディスプレイを用いて上記複合サーフェスを表示する段階と
を備える方法。
(項目２)
上記リッチオペレーティングシステムが、上記共通コントロールを上記ユーザインタフェースにレンダリングする上記段階は、
上記共通コントロールに対して測定作業を行い、上記共通コントロールのサイズを決定する段階と、
上記共通コントロールに対してレイアウト作業を行い、上記共通コントロールの表示位置を決定する段階と、
上記共通コントロールの決定された上記サイズと上記表示位置とに基づいて、上記共通コントロールを描画して、上記第１サーフェスを取得する段階であって、上記第１サーフェスは上記リッチオペレーティングシステムのフレームバッファの中にある、段階と
を有する、項目１に記載の方法。
(項目３)
上記方法はさらに、
上記リッチオペレーティングシステムが、上記ＴＥＥにより提供されるクライアントインタフェース（Ｃｌｉｅｎｔ  ＡＰＩ）を呼び出すことによって、上記セキュアコントロールに関する情報を上記トラステッドオペレーティングシステムに転送する段階を備える、項目１又は２に記載の方法。
(項目４)
上記トラステッドオペレーティングシステムが、上記セキュアコントロールを上記ユーザインタフェースにレンダリングして、第２サーフェスを取得する上記段階は、
上記トラステッドオペレーティングシステムが、上記セキュアコントロールに関する上記情報に基づいて、上記セキュアコントロールに対して測定及びレイアウト作業を行い、上記セキュアコントロールのサイズ及び表示位置を決定する段階と、
上記セキュアコントロールの決定された上記サイズ及び上記表示位置に基づいて上記セキュアコントロールを描画して、上記第２サーフェスを取得する段階であって、上記第２サーフェスは上記トラステッドオペレーティングシステムのフレームバッファの中にある、段階と
を有する、項目３に記載の方法。
(項目５)
上記トラステッドオペレーティングシステムが、上記第１サーフェスと上記第２サーフェスとを合成して、上記共通コントロールと上記セキュアコントロールとを有する複合サーフェスを取得する上記段階は、
上記トラステッドオペレーティングシステムが、通信エージェントを用いて上記リッチオペレーティングシステムにより送信される上記第１サーフェスを取得する段階と、
上記トラステッドオペレーティングシステムが、上記第２サーフェスを上記第１サーフェスの上に合成して上記複合サーフェスを取得する段階であって、上記複合サーフェスは上記トラステッドオペレーティングシステムの上記フレームバッファの中にある、段階と
を有する、項目２から４のいずれか一項に記載の方法。
(項目６)
上記トラステッドオペレーティングシステムが、上記第１サーフェスと上記第２サーフェスとを合成して、上記共通コントロールと上記セキュアコントロールとを有する複合サーフェスを取得する上記段階は、
上記トラステッドオペレーティングシステムが、上記リッチオペレーティングシステムの上記フレームバッファのアドレスであって、通信エージェントを用いて上記リッチオペレーティングシステムにより送信される、アドレスを取得する段階と、
上記トラステッドオペレーティングシステムが、上記アドレスに基づいて、上記リッチオペレーティングシステムの上記フレームバッファの中にある上記第１サーフェスにアクセスし、上記第１サーフェスと上記第２サーフェスとを合成して上記複合サーフェスを取得する段階であって、上記複合サーフェスは上記トラステッドオペレーティングシステムの上記フレームバッファの中にある、段階と
を有する、項目２から４のいずれか一項に記載の方法。
(項目７)
上記リッチオペレーティングシステムは複数のフレームバッファを有し、上記リッチオペレーティングシステムが上記共通コントロールを上記ユーザインタフェースにレンダリングして第１サーフェスを取得する上記段階は、
上記リッチオペレーティングシステムが、上記共通コントロールを上記ユーザインタフェースにレンダリングして複数の中間サーフェスを取得する段階であって、それぞれの中間サーフェスは独立したフレームバッファの中に別々に存在する、段階と、
上記リッチオペレーティングシステムが、ハードウェアを呼び出すことによって、上記複数の中間サーフェスを上記第１サーフェスに結合する段階と
を有する、項目１から６のいずれか一項に記載の方法。
(項目８)
上記方法はさらに、
上記リッチオペレーティングシステムが、上記ユーザインタフェースに対応するソースコード又はレイアウトファイルを解析して、上記ユーザインタフェースに含まれる上記共通コントロール及び上記セキュアコントロールを決定する段階を備える、項目１から７のいずれか一項に記載の方法。
(項目９)
上記セキュアコントロールはセキュリティラベルを有し、上記リッチオペレーティングシステムは、上記セキュリティラベルに基づいて、上記セキュアコントロールと上記共通コントロールとを区別する、項目１から８のいずれか一項に記載の方法。
(項目１０)
互いに分離されたトラステッド実行環境ＴＥＥとリッチ実行環境ＲＥＥとを備える端末デバイスであって、リッチオペレーティングシステムとクライアントアプリケーションＣＡとが上記ＲＥＥで動作し、トラステッドオペレーティングシステムが上記ＴＥＥで動作し、上記ＣＡのユーザインタフェースが共通コントロールとセキュアコントロールとを有し、
上記リッチオペレーティングシステムは、上記共通コントロールを上記ユーザインタフェースにレンダリングして第１サーフェスを取得するように構成され、
上記トラステッドオペレーティングシステムは、上記セキュアコントロールを上記ユーザインタフェースにレンダリングして第２サーフェスを取得し、上記第１サーフェスと上記第２サーフェスとを合成して、上記共通コントロールと上記セキュアコントロールとを有する複合サーフェスを取得し、ディスプレイを用いて上記複合サーフェスを表示するように構成される、端末デバイス。
(項目１１)
上記リッチオペレーティングシステムは、
上記共通コントロールに対して測定作業を行い、上記共通コントロールのサイズを決定するように構成された測定モジュールと、
上記共通コントロールに対してレイアウト作業を行い、上記共通コントロールの表示位置を決定するように構成されたレイアウトモジュールと、
上記共通コントロールの決定された上記サイズと上記表示位置とに基づいて上記共通コントロールを描画し、上記第１サーフェスを取得するように構成された描画コントロールであって、上記第１サーフェスは上記リッチオペレーティングシステムのフレームバッファの中にある、描画コントロールと
を有する、項目１０に記載の端末デバイス。
(項目１２)
上記リッチオペレーティングシステムはさらに、上記セキュアコントロールに関する情報を上記トラステッドオペレーティングシステムに転送するように構成された通信エージェントを有する、項目１０又は１１に記載の端末デバイス。
(項目１３)
上記トラステッドオペレーティングシステムは、
上記セキュアコントロールに関する上記情報に基づいて、上記セキュアコントロールに対して測定作業を行い、上記セキュアコントロールのサイズ及び表示位置を決定するように構成された測定モジュールと、
上記セキュアコントロールに対してレイアウト作業を行い、上記セキュアコントロールの上記表示位置を決定するように構成されたレイアウトモジュールと、
上記セキュアコントロールの決定された上記サイズと上記表示位置とに基づいて、上記セキュアコントロールを描画して、上記第２サーフェスを取得するように構成された描画モジュールであって、上記第２サーフェスは上記トラステッドオペレーティングシステムのフレームバッファの中にある、描画モジュールと
を有する、項目１２に記載の端末デバイス。
(項目１４)
上記通信エージェントはさらに、上記リッチオペレーティングシステムの上記フレームバッファの中にある上記第１サーフェスを、上記トラステッドオペレーティングシステムの上記フレームバッファに同期させるように構成され、上記トラステッドオペレーティングシステムはさらに、上記第２サーフェスを上記第１サーフェスの上に合成して上記複合サーフェスを取得するように構成された結合モジュールを有し、上記複合サーフェスは上記トラステッドオペレーティングシステムの上記フレームバッファの中にある、項目１２又は１３に記載の端末デバイス。
(項目１５)
上記通信エージェントはさらに、上記リッチオペレーティングシステムの上記フレームバッファのアドレスを上記トラステッドオペレーティングシステムに転送するように構成され、上記トラステッドオペレーティングシステムはさらに、上記アドレスに基づいて、上記リッチオペレーティングシステムの上記フレームバッファの中にある上記第１サーフェスにアクセスし、上記第１サーフェスと上記第２サーフェスとを合成して上記複合サーフェスを取得するように構成された結合モジュールを有し、上記複合サーフェスは上記トラステッドオペレーティングシステムの上記フレームバッファの中にある、項目１２又は１３に記載の端末デバイス。
(項目１６)
上記セキュアコントロールはセキュリティラベルを有し、上記リッチオペレーティングシステムはさらに、上記セキュリティラベルに基づいて、上記セキュアコントロールと上記共通コントロールとを区別するように構成される、項目１０から１５のいずれか一項に記載の端末デバイス。
(項目１７)
プロセッサと、メモリと、上記メモリに格納され且つ上記プロセッサにより実行され得るコンピュータプログラムとを備える端末デバイスであって、上記プロセッサが上記プログラムを実行すると、項目１から１０のいずれか一項に記載の方法の各段階が実施される、端末デバイス。
(項目１８)
コンピュータ可読記憶媒体であって、上記コンピュータ可読記憶媒体はコンピュータプログラム（命令）を格納し、上記プログラム（命令）がプロセッサにより実行されると、項目１から１０のいずれか一項に記載の方法の各段階が実施される、コンピュータ可読記憶媒体。
【国際調査報告】
2021501388.tif 000015
2021501388.tif 000016
2021501388.tif 000017
2021501388.tif 000018