(57)【要約】【課題】重要な情報を入力するための表示画面がセキュアＯＳによって制御されていることをユーザに視覚的に判断させることを可能とするデバイス、プログラム、インジケータ情報送信方法、及びインジケータ情報送信方法を提供する。【解決手段】個人用デバイスＤ１は、ユーザにより任意に指定されたセキュリティインジケータ用データを個人用デバイスＤ１のセキュアＯＳ１ｃにしたがって登録しておき、商用デバイスＤ２は、個人用デバイスＤ１にセキュリティインジケータ用データを要求し、当該要求に応じて送信されたセキュリティインジケータ用データに応じたセキュリティインジケータを、商用デバイスＤ２のセキュアＯＳ２ｃにしたがって表示画面に表示させる。【選択図】図１
2019185092.tif 000002
【特許請求の範囲】
【請求項１】
通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスであって、
複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって登録し、
前記他のデバイスの前記セキュアＯＳからの要求に応じて、前記登録された前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって、前記他のデバイスへ送信する、
ことを特徴とするデバイス。
【請求項２】
前記デバイスは、前記汎用ＯＳと前記セキュアＯＳとを管理するハイパーバイザを更に備え、
前記汎用ＯＳは、当該汎用ＯＳの動作中に前記ユーザにより前記インジケータ情報の登録開始指示があった場合に、その情報を前記ハイパーバイザに通知して動作を停止し、
前記ハイパーバイザは、前記汎用ＯＳからの前記通知に応じて前記セキュアＯＳを起動させ、
前記セキュアＯＳは、前記インジケータ情報の登録が完了した場合に当該インジケータ情報の登録完了を示す情報を前記ハイパーバイザに通知して動作を停止し、
前記ハイパーバイザは、前記セキュアＯＳからの前記通知に応じて前記汎用ＯＳを起動させることを特徴とする請求項１に記載のデバイス。
【請求項３】
前記１のデバイスは、カメラ機能を更に備え、
前記インジケータ情報は、前記カメラ機能により撮影された画像データであることを特徴とする請求項１または２に記載のデバイス。
【請求項４】
前記１のデバイスは、ユーザからの入力を受け付ける入力部を更に備え、
前記インジケータ情報は、前記入力部からの入力に基づくテキストデータであることを特徴とする請求項１または２に記載のデバイス。
【請求項５】
前記１のデバイスは、前記１のデバイスの前記セキュアＯＳと前記他のデバイスの前記セキュアＯＳとの間で確立されたセキュアチャンネルを通じて前記インジケータ情報を前記他のデバイスへ送信することを特徴とする請求項１乃至４の何れか一項に記載のデバイス。
【請求項６】
通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスであって、
複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を前記セキュアＯＳにしたがって登録している前記１のデバイスに対して、当該インジケータ情報を要求し、
前記要求に応じて前記１のデバイスから送信された前記インジケータ情報に応じたインジケータを、前記他のデバイスの前記セキュアＯＳにしたがって、表示画面に表示させる、
ことを特徴とするデバイス。
【請求項７】
前記他のデバイスは、前記表示画面の全領域または一部領域に前記インジケータを表示させることを特徴とする請求項６に記載のデバイス。
【請求項８】
前記他のデバイスは、前記１のデバイスから送信された前記インジケータ情報を一時的に記憶するメモリを更に備え、
前記他のデバイスは、前記メモリに記憶されている前記インジケータ情報に応じたインジケータを前記表示画面に表示させ、
前記表示画面には、前記インジケータと共に、ユーザからの入力を受け付ける入力部が表示され、
前記他のデバイスは、前記入力部からの入力が完了した場合、前記メモリに記憶されている前記インジケータ情報を消去することを特徴とする請求項６または７に記載のデバイス。
【請求項９】
前記他のデバイスは、前記表示画面において前記インジケータが前記入力部を囲うように表示させることを特徴とする請求項８に記載のデバイス。
【請求項１０】
前記他のデバイスは、前記表示画面において前記インジケータを前記入力部の背景画像として表示させることを特徴とする請求項８に記載のデバイス。
【請求項１１】
通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスに含まれるコンピュータに、
複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって登録させ、
前記他のデバイスの前記セキュアＯＳからの要求に応じて、前記登録された前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって、前記他のデバイスへ送信するように機能させることを特徴とするプログラム。
【請求項１２】
通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスに含まれるコンピュータに、
複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を前記セキュアＯＳにしたがって登録している前記１のデバイスに対して、当該インジケータ情報を要求し、
前記要求に応じて前記１のデバイスから送信された前記インジケータ情報に応じたインジケータを、前記他のデバイスの前記セキュアＯＳにしたがって、表示画面に表示させるように機能させることを特徴とするプログラム。
【請求項１３】
通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスにより行われるインジケータ情報送信方法であって、
複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって登録させるステップと、
前記他のデバイスの前記セキュアＯＳからの要求に応じて、前記登録された前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって、前記他のデバイスへ送信するステップと、
を含むことを特徴とするインジケータ情報送信方法。
【請求項１４】
通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスにより行われるインジケータ情報表示方法であって、
複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を前記セキュアＯＳにしたがって登録している前記１のデバイスに対して、当該インジケータ情報を要求するステップと、
前記要求に応じて前記１のデバイスから送信された前記インジケータ情報に応じたインジケータを、前記他のデバイスの前記セキュアＯＳにしたがって、表示画面に表示させるステップと、
を含むことを特徴とするインジケータ情報表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通常の実行環境で動作する汎用ＯＳと、通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスの技術分野に関する。
【背景技術】
【０００２】
従来から、端末を制御している組込みソフトウェアの不具合を利用して、端末の所有者や悪意ある第三者がソフトウェアを改変し、正常と同様の動作にしか見えないように画面表示を偽装したうえで、例えば入力されたクレジットカード番号や個人情報を盗聴して悪用したり、入力された決済金額を改竄して多額の決済を承認させるような不正行為を働くケースが問題になっている。一般的にソフトウェアの不具合の量はソフトウェアの規模に応じて増加するため、技術の進歩とともに複雑化する組込みシステムの不具合は増加傾向にある。
【０００３】
このような問題を解消するために、ARM（登録商標）のTrustZone（登録商標）に代表される仮想化技術によって、大規模かつ汎用的なソフトウェアであるリッチＯＳ（Operating System）と、小規模かつセキュリティ関連処理に限定したソフトウェアであるセキュアＯＳとを交互に動作させる手法が用いられている。これに関し、特許文献１には、TrustZone（登録商標）内で動作しているTrustlet（セキュリティが重要なアプリケーション）が、ユーザと相互作用することを可能にするために、携帯電話中のディスプレイが使用され、そこからユーザはTrustletからの適切な出力を読み取ることができ、その上で該ユーザはキーパッドを用いて入力することができることが記載されている。また、特許文献１の段落００２３には、Trustletからの適切な出力の例として、赤などの特定の色で提示されるフレームやキャプションのグラフィックの表示が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１４−５１２０５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載されるような、特定の色のフレームやキャプションのグラフィックが、悪意あるソフトウェアによって偽装された画面表示であっても、ユーザはそれを視覚的に判断することはできないため、これを疑うことなく重要な情報を入力してしまうユーザを救済する対策としては不十分である。
【０００６】
そこで、本発明は、このような点等に鑑みてなされたものであり、重要な情報を入力するための表示画面がセキュアＯＳによって制御されていることをユーザに視覚的に判断させることを可能とするデバイス、プログラム、インジケータ情報送信方法、及びインジケータ情報表示方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスであって、複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって登録し、前記他のデバイスの前記セキュアＯＳからの要求に応じて、前記登録された前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって、前記他のデバイスへ送信する、ことを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１に記載のデバイスにおいて、前記デバイスは、前記汎用ＯＳと前記セキュアＯＳとを管理するハイパーバイザを更に備え、前記汎用ＯＳは、当該汎用ＯＳの動作中に前記ユーザにより前記インジケータ情報の登録開始指示があった場合に、その情報を前記ハイパーバイザに通知して動作を停止し、前記ハイパーバイザは、前記汎用ＯＳからの前記通知に応じて前記セキュアＯＳを起動させ、前記セキュアＯＳは、前記インジケータ情報の登録が完了した場合に当該インジケータ情報の登録完了を示す情報を前記ハイパーバイザに通知して動作を停止し、前記ハイパーバイザは、前記セキュアＯＳからの前記通知に応じて前記汎用ＯＳを起動させることを特徴とする。
【０００９】
請求項３に記載の発明は、請求項１または２に記載のデバイスにおいて、前記１のデバイスは、カメラ機能を更に備え、前記インジケータ情報は、前記カメラ機能により撮影された画像データであることを特徴とする。
【００１０】
請求項４に記載の発明は、請求項１または２に記載のデバイスにおいて、前記１のデバイスは、ユーザからの入力を受け付ける入力部を更に備え、前記インジケータ情報は、前記入力部からの入力に基づくテキストデータであることを特徴とする。
【００１１】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載のデバイスにおいて、前記１のデバイスは、前記１のデバイスの前記セキュアＯＳと前記他のデバイスの前記セキュアＯＳとの間で確立されたセキュアチャンネルを通じて前記インジケータ情報を前記他のデバイスへ送信することを特徴とする。
【００１２】
請求項６に記載の発明は、通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスであって、複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を前記セキュアＯＳにしたがって登録している前記１のデバイスに対して、当該インジケータ情報を要求し、前記要求に応じて前記１のデバイスから送信された前記インジケータ情報に応じたインジケータを、前記他のデバイスの前記セキュアＯＳにしたがって、表示画面に表示させる、ことを特徴とする。
【００１３】
請求項７に記載の発明は、請求項６に記載のデバイスにおいて、前記他のデバイスは、前記表示画面の全領域または一部領域に前記インジケータを表示させることを特徴とする。
【００１４】
請求項８に記載の発明は、請求項６または７に記載のデバイスにおいて、前記他のデバイスは、前記１のデバイスから送信された前記インジケータ情報を一時的に記憶するメモリを更に備え、前記他のデバイスは、前記メモリに記憶されている前記インジケータ情報に応じたインジケータを前記表示画面に表示させ、前記表示画面には、前記インジケータと共に、ユーザからの入力を受け付ける入力部が表示され、前記他のデバイスは、前記入力部からの入力が完了した場合、前記メモリに記憶されている前記インジケータ情報を消去することを特徴とする。
【００１５】
請求項９に記載の発明は、請求項８に記載のデバイスにおいて、前記他のデバイスは、前記表示画面において前記インジケータが前記入力部を囲うように表示させることを特徴とする。
【００１６】
請求項１０に記載の発明は、請求項８に記載のデバイスにおいて、前記他のデバイスは、前記表示画面において前記インジケータを前記入力部の背景画像として表示させることを特徴とする。
【００１７】
請求項１１に記載の発明は、通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスに含まれるコンピュータに、複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって登録させ、前記他のデバイスの前記セキュアＯＳからの要求に応じて、前記登録された前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって、前記他のデバイスへ送信するように機能させることを特徴とする。
【００１８】
請求項１２に記載の発明は、通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスに含まれるコンピュータに、複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を前記セキュアＯＳにしたがって登録している前記１のデバイスに対して、当該インジケータ情報を要求し、前記要求に応じて前記１のデバイスから送信された前記インジケータ情報に応じたインジケータを、前記他のデバイスの前記セキュアＯＳにしたがって、表示画面に表示させるように機能させることを特徴とする。
【００１９】
請求項１３に記載の発明は、通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスにより行われるインジケータ情報送信方法であって、複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって登録させるステップと、前記他のデバイスの前記セキュアＯＳからの要求に応じて、前記登録された前記インジケータ情報を、前記１のデバイスの前記セキュアＯＳにしたがって、前記他のデバイスへ送信するステップと、を含むことを特徴とする。
【００２０】
請求項１４に記載の発明は、通常の実行環境で動作する汎用ＯＳと、前記通常の実行環境とは分離されたセキュアな実行環境で動作するセキュアＯＳとにより切り替え制御されるデバイスにより行われるインジケータ情報表示方法であって、複数の前記デバイスのうち１のデバイスのユーザにより任意に指定されたインジケータ情報であって、複数の前記デバイスのうち他のデバイスが前記セキュアＯＳによる制御中にあることを示すための前記インジケータ情報を前記セキュアＯＳにしたがって登録している前記１のデバイスに対して、当該インジケータ情報を要求するステップと、前記要求に応じて前記１のデバイスから送信された前記インジケータ情報に応じたインジケータを、前記他のデバイスの前記セキュアＯＳにしたがって、表示画面に表示させるステップと、を含むことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、重要な情報を入力するための表示画面がセキュアＯＳによって制御されていることをユーザに視覚的に判断させることができる。
【図面の簡単な説明】
【００２２】
【図１】個人用デバイスＤ１及び商用デバイスＤ２のハードウェア及びソフトウェアの概要構成例を示すブロック図である。
【図２】個人用デバイスＤ１におけるセキュリティインジケータ用データの登録処理シーケンスの一例を示す図である。
【図３】商用デバイスＤ２における決済時の対人処理シーケンスの一例を示す図である。
【図４】（Ａ），（Ｂ）は、ＰＩＮ入力画面の表示例を示す図である。
【図５】ＰＩＮ入力画面の別の表示例を示す図である。
【図６】図３に示す対人処理シーケンス内で実施される個人用デバイスＤ１と商用デバイスＤ２との間の通信処理シーケンスの一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施形態は、複数のデバイスを含んで構成される通信システムに対して本発明を適用した場合の実施形態であり、複数のデバイスのうち、１のデバイスを個人用デバイスであるとし、他のデバイスを商用デバイスであることを想定している。
【００２４】
［１．個人用デバイスＤ１及び商用デバイスＤ２の共通の構成］
先ず、図１を参照して、個人用デバイスＤ１及び商用デバイスＤ２の共通の構成について説明する。図１は、個人用デバイスＤ１及び商用デバイスＤ２のハードウェア及びソフトウェアの概要構成例を示すブロック図である。なお、商用デバイスＤ２は、例えば店舗により所有される決済端末であり、個人用デバイスＤ１は、例えば店舗の顧客により所有されるスマートフォン等の携帯端末である。
【００２５】
図１に示すように、個人用デバイスＤ１及び商用デバイスＤ２は、それぞれ、ハードウェアと、それを制御するソフトウェアとから構成されている。ソフトウェアは、通常の実行環境（Normal Worldともいわれる）で動作するリッチ（Rich）ＯＳ（１ａ，２ａ）、リッチＯＳ（１ａ，２ａ）上にて動作するアプリケーション（プログラム）（１ｂ，２ｂ）、通常の実行環境とは仮想的に分離されたセキュアな実行環境（Secure Worldともいわれる）で動作するセキュア（Secure）ＯＳ（１ｃ，２ｃ）、セキュアＯＳ（１ｃ，２ｃ）上にて動作するアプリケーション（プログラム）（１ｄ，２ｄ）、及びリッチＯＳ（１ａ，２ａ）とセキュアＯＳ（１ｃ，２ｃ）とを管理するハイパーバイザ（Hypervisor）（１ｅ，２ｅ）等を備えて構成される。ハイパーバイザ（１ｅ，２ｅ）は、リッチＯＳ（１ａ，２ａ）とセキュアＯＳ（１ｃ，２ｃ）の上位層に位置する制御プログラムであり、リッチＯＳ（１ａ，２ａ）とセキュアＯＳ（１ｃ，２ｃ）を切り替えるためにハードウェアを制御する。これにより、個人用デバイスＤ１及び商用デバイスＤ２は、それぞれ、リッチＯＳ（１ａ，２ａ）と、リッチＯＳ（１ａ，２ａ）から独立したセキュアＯＳ（１ｃ，２ｃ）とにより切り替え制御される。なお、リッチＯＳ（１ａ，２ａ）は、例えば、Windows（登録商標）、Linux（登録商標）、Android（登録商標）、及びiOS（登録商標）等に代表される汎用ＯＳであり、リッチＯＳ（１ａ，２ａ）からはセキュアＯＳ（１ｃ，２ｃ）の動作を認識できない。
【００２６】
一方、ハードウェアは、ＣＰＵ（Central Processing Unit）（１ｆ，２ｆ）、ＲＡＭ（Random Access Memory）（１ｇ，２ｇ）、及びＮＶＭ（Nonvolatile Memory）（１ｈ，２ｈ）、及びペリフェラル（Peripheral）等を備えて構成される。ＮＶＭ（１ｈ，２ｈ）は、フラッシュメモリやEEPROM（登録商標）等の不揮発性メモリであり、上述したソフトウェアが記憶される。なお、ハードウェアには、ソフトウェアを予め記憶するＲＯＭ（Read Only Memory）が備えられる場合もある。ペリフェラルには、表示部（１ｉ，２ｉ）、入力部（１ｊ，２ｊ）、及び無線通信部（１ｋ，２ｋ）等が含まれる。表示部（１ｉ，２ｉ）には、例えば、情報を表示するための液晶ディスプレイ（liquid crystal display）が備えられる。入力部（１ｊ，２ｊ）には、ユーザからの入力を受け付けるためのボタン、キーパッド、マイクロフォン、カメラ、または指紋センサー等が備えられる。なお、表示部（１ｉ，２ｉ）と入力部（１ｊ，２ｊ）を兼ねるタッチパネルが備えられてもよく、この場合、上記ボタンやキーパッドは、タッチパネル上に表示される。無線通信部（１ｋ，２ｋ）には、近距離無線通信に用いられるNFC（Near Field radio Communication）やBluetooth（登録商標）モジュールが備えられる。個人用デバイスＤ１と商用デバイスＤ２とは、無線通信部（１ｋ，２ｋ）により無線通信を行うことができる。なお、ペリフェラルはドライバ（デバイスドライバ）と呼ばれるソフトウェアによって制御される。ドライバはＯＳによって実行される。単一のペリフェラルであっても、そのペリフェラルを操作するＯＳごとにドライバがインストールされる。例えば、リッチＯＳ（１ａ，２ａ）とセキュアＯＳ（１ｃ，２ｃ）の両方からNFCモジュールを操作する場合には、リッチＯＳ（１ａ，２ａ）とセキュアＯＳ（１ｃ，２ｃ）のそれぞれに、NFCモジュールのドライバをインストールさせる必要がある。
【００２７】
以上の構成において、ハイパーバイザ（１ｅ，２ｅ）によりセキュアＯＳ（１ｃ，２ｃ）へ起動指令がなされると、リッチＯＳ（１ａ，２ａ）の動作が一時的に停止する。その際、ハイパーバイザ（１ｅ，２ｅ）は、リッチＯＳ（１ａ，２ａ）が使用していたＣＰＵ（１ｆ，２ｆ）内のレジスタやキャッシュメモリ内のデータを消去し、ＲＡＭ（１ｇ，２ｇ）やＮＶＭ（１ｈ，２ｈ）のアドレステーブルを切り替えて、セキュアＯＳ（１ｃ，２ｃ）の起動に備える。そして、セキュアＯＳ（１ｃ，２ｃ）が起動すると、セキュアＯＳ（１ｃ，２ｃ）が処理を終了するまでリッチＯＳ（１ａ，２ａ）は動作を停止する。セキュアＯＳ（１ｃ，２ｃ）が処理を終了すると、ハイパーバイザ（１ｅ，２ｅ）は、セキュアＯＳ（１ｃ，２ｃ）が使用していたＣＰＵ（１ｆ，２ｆ）内のレジスタやキャッシュメモリ内のデータを消去し、ＲＡＭ（１ｇ，２ｇ）やＮＶＭ（１ｈ，２ｈ）のアドレステーブルを切り替えて、リッチＯＳ（１ａ，２ａ）の起動に備える。
【００２８】
［２．個人用デバイスＤ１の動作］
次に、図２を参照して、個人用デバイスＤ１の動作について説明する。個人用デバイスＤ１は、個人用デバイスＤ１のユーザにより任意に指定されたセキュリティインジケータ用データ（インジケータ情報の一例）を、個人用デバイスＤ１のセキュアＯＳ１ｃにしたがって登録する。ここで、セキュリティインジケータ用データを登録するとは、例えば、セキュリティインジケータ用データをＮＶＭの所定の記憶領域に格納することをいう。また、セキュリティインジケータとは、個人用デバイスＤ１と通信する商用デバイスＤ２がセキュアＯＳ２ｃによる制御中にあることを示す画像やテキスト等の表示物であり、セキュアＯＳ２ｃが制御している範囲を示すこともできる。個人用デバイスＤ１のユーザは自分のみが知っているセキュリティインジケータ用データ（例えば、画像データ、またはテキストデータ）を入力部１ｊから任意に指定することができる。
【００２９】
図２は、個人用デバイスＤ１におけるセキュリティインジケータ用データの登録処理シーケンスの一例を示す図である。図２の例では、ユーザが個人用デバイスＤ１に電源を投入すると、個人用デバイスＤ１のハイパーバイザ１ｅが起動する（ステップＳ１）。こうして起動したハイパーバイザ１ｅは、リッチＯＳ１ａを選択し、当該リッチＯＳ１ａへ起動指令を与える（ステップＳ２）。これにより、個人用デバイスＤ１のリッチＯＳ１ａは起動し（ステップＳ３）、スタンバイ状態（待機状態）となる（ステップＳ４）。次いで、個人用デバイスＤ１のリッチＯＳ１ａは、その動作中に、ユーザにより入力部からデータ登録アプリケーション起動指示（インジケータ情報の登録開始指示の一例）があった場合に、その情報（つまり、データ登録アプリケーション起動指示）をハイパーバイザ１ｅに通知（ステップＳ５）して動作を停止する。
【００３０】
次いで、個人用デバイスＤ１のハイパーバイザ１ｅは、リッチＯＳ１ａからの通知に応じて、セキュアＯＳ１ｃを選択し、当該セキュアＯＳ１ｃへ起動指令を与える（ステップＳ６）。これにより、個人用デバイスＤ１のセキュアＯＳ１ｃは起動し（ステップＳ７）、ハイパーバイザ１ｅからの起動指令に付加されていたメッセージを解釈し、これがセキュリティインジケータ用データ登録指令（言い換えれば、データ登録アプリケーション起動指令）であることを判断すると、当該セキュアＯＳ１ｃ上にてデータ登録アプリケーション（アプリケーション１ｄの一例）を起動する（ステップＳ８）。
【００３１】
次いで、個人用デバイスＤ１のセキュアＯＳ１ｃ上にて動作するデータ登録アプリケーションは、ユーザに対してセキュリティインジケータ用データの指定を促し（表示または音声により促す）、ユーザからの指定にしたがってセキュリティインジケータ用データを設定する。ここで、セキュリティインジケータ用データとしてカメラ機能により撮影された画像データを使用する場合（これは、ユーザが事前に設定してもよいし、ユーザがその都度設定してもよい）、セキュアＯＳ１ｃ上にて動作するデータ登録アプリケーションは、カメラを起動し、ユーザに対してカメラによる写真撮影を促し、ユーザによるカメラの操作により撮影された被写体（ユーザの顔、洋服の絵柄など）の画像データをセキュリティインジケータ用データとして設定する。一方、セキュリティインジケータ用データとして入力部１ｊからの入力に基づくテキストデータを使用する場合、セキュアＯＳ１ｃ上にて動作するデータ登録アプリケーションは、例えば、ボタンやキーパッドから入力された文字や数字等のテキストデータをセキュリティインジケータ用データとして設定する。或いは、セキュアＯＳ１ｃ上にて動作するデータ登録アプリケーションは、マイクロフォンから入力された音声に基づいて音声認識プログラムにより生成されたテキストデータをセキュリティインジケータ用データとして設定する。
【００３２】
次いで、個人用デバイスＤ１のセキュアＯＳ１ｃは、データ登録アプリケーションにより設定されたセキュリティインジケータ用データを登録（例えば、ＮＶＭに格納）する（ステップＳ９）。次いで、個人用デバイスＤ１のセキュアＯＳ１ｃは、セキュリティインジケータ用データの登録が完了した場合に、当該セキュリティインジケータ用データの登録完了を示す情報をハイパーバイザ１ｅに通知（ステップＳ１０）して動作を停止する。個人用デバイスＤ１のハイパーバイザ１ｅは、セキュアＯＳ１ｃからの通知に応じて、リッチＯＳ１ａを選択し、当該リッチＯＳ１ａへ起動指令を与える（ステップＳ１１）。これにより、リッチＯＳ１ａは起動し（ステップＳ１２）、セキュリティインジケータ用データの登録完了を示す情報をユーザへ通知（表示または音声により通知）する。
【００３３】
以上のようにして、セキュリティインジケータ用データが登録された後、個人用デバイスＤ１と商用デバイスＤ２との間で通信が行われる場合において、個人用デバイスＤ１は、商用デバイスＤ２のセキュアＯＳ２ｃからの要求（例えば、セキュリティインジケータ用データ取得命令）に応じて、上述したように登録されたセキュリティインジケータ用データを、セキュアＯＳ１ｃにしたがって、無線通信部１ｋを介して商用デバイスＤ２へ送信する。なお、セキュリティインジケータ用データは、例えば、個人用デバイスＤ１のセキュアＯＳ１ｃと商用デバイスＤ２のセキュアＯＳ２ｃとの間で確立されたセキュアチャンネルを通じて送信される。
【００３４】
［３．商用デバイスＤ２の動作］
次に、図３〜図５を参照して、商用デバイスＤ２の動作について説明する。商用デバイスＤ２は、セキュリティインジケータ用データを登録している個人用デバイスＤ１に対して、当該セキュリティインジケータ用データを要求し、当該要求に応じて個人用デバイスＤ１から送信されたセキュリティインジケータ用データに応じたセキュリティインジケータを、セキュアＯＳ２ｃにしたがって、表示画面に表示させる。この表示画面は、例えば、表示部と入力部を兼ねるタッチパネル上に表示される画面である。
【００３５】
図３は、商用デバイスＤ２における決済時の対人処理シーケンスの一例を示す図である。図３の例では、商用デバイスＤ２の電源投入後、商用デバイスＤ２のハイパーバイザ２ｅは、まずはリッチＯＳ２ａを選択し、当該リッチＯＳ２ａへ起動指令を与えることで、当該リッチＯＳ２ａを起動させ（ステップＳ２１）、スタンバイ画面を表示部に表示させる（ステップＳ２２）。次いで、商用デバイスＤ２のリッチＯＳ２ａは、その動作中に、ユーザ（店員）により入力部２ｊから決済開始指示があった場合に、当該リッチＯＳ２ａ上にて決済アプリケーションα（アプリケーション２ｂの一例）を起動する（ステップＳ２３）。
【００３６】
次いで、商用デバイスＤ２のリッチＯＳ２ａ上にて動作する決済アプリケーションαは、決済情報の入力要請をスタンバイ画面に表示させる（ステップＳ２４）。これに応じて、個人用デバイスＤ１を持っているユーザ（顧客）により入力部２ｊから決済情報の入力があった場合に、商用デバイスＤ２のリッチＯＳ２ａは、その情報を商用デバイスＤ２のハイパーバイザ２ｅに通知して動作を停止する（ステップＳ２５）。
【００３７】
次いで、商用デバイスＤ２のハイパーバイザ２ｅは、商用デバイスＤ２のリッチＯＳ２ａからの通知に応じて、セキュアＯＳ２ｃを選択し、当該セキュアＯＳ２ｃへ起動指令を与えることで、当該セキュアＯＳ２ｃを起動させ（ステップＳ２６）、ＰＩＮ入力画面（表示画面の一例）を表示部２ｉに表示させる（ステップＳ２７）。このＰＩＮ入力画面には、ＰＩＮ（暗証番号）を入力する入力部が表示される。次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、当該セキュアＯＳ２ｃ上にて決済アプリケーションβ（アプリケーション２ｄの一例）を起動する（ステップＳ２８）。
【００３８】
次いで、商用デバイスＤ２のセキュアＯＳ２ｃ上にて動作する決済アプリケーションβは、一般的なセキュリティインジケータ（例えば、赤色ランプ）をＰＩＮ入力画面に表示させる（ステップＳ２９）。次いで、商用デバイスＤ２のセキュアＯＳ２ｃ上にて動作する決済アプリケーションβは、個人用デバイスＤ１の近接要請（または、タッチ要請でもよい）をＰＩＮ入力画面に表示させる（ステップＳ３０）。これに応じて、ユーザ（顧客）により個人用デバイスＤ１が商用デバイスＤ２に接近される（つまり、翳される）と、個人用デバイスＤ１と商用デバイスＤ２との間で通信が行われ、商用デバイスＤ２のセキュアＯＳ２ｃは、個人用デバイスＤ１に対して、当該セキュリティインジケータ用データを要求（例えば、セキュリティインジケータ用データ取得命令を送信）する（ステップＳ３１）。
【００３９】
次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、上記要求（例えば、セキュリティインジケータ用データ取得命令）に応じて個人用デバイスＤ１から送信されたセキュリティインジケータ用データを、無線通信部２ｋを介して受信し、ＲＡＭ２ｇに一時的に記憶する（ステップＳ３２）。そして、商用デバイスＤ２のセキュアＯＳ２ｃ上にて動作する決済アプリケーションβは、ＲＡＭ２ｇに記憶されているセキュリティインジケータ用データに応じたセキュリティインジケータをＰＩＮ入力画面の全領域または一部領域に表示させる（ステップＳ３３）。なお、セキュリティインジケータ用データに応じたセキュリティインジケータは、ＰＩＮを入力する入力部と同時にＰＩＮ入力画面に表示されるように構成してもよい。
【００４０】
図４（Ａ），（Ｂ）は、ＰＩＮ入力画面の表示例を示す図である。図４（Ａ），（Ｂ）のいずれの表示例も、スマートフォンのような小型デバイスを商用デバイスＤ２として使用した際に、画面の全域が保護されていることを示す例である。図４（Ａ）の表示例では、ＰＩＮ入力画面５１においてセキュリティインジケータ５１ａ（複数の縮小された画像）が入力部５１ｂ（テンキー等）を囲うように表示させた例である。これにより、セキュリティインジケータ５１ａにより囲まれる領域内（５１ａで示される破線内）がセキュアＯＳ２ｃによって制御されていることを表現している（つまり、セキュアＯＳ２ｃが制御している範囲を示している）。そのため、少なくとも当該領域内の表示が不正に操作されている疑いを払拭することができる。一方、図４（Ｂ）の表示例では、ＰＩＮ入力画面５２においてセキュリティインジケータ５２ａ（拡大された画像）を入力部５２ｂ（テンキー等）の背景画像として表示させている。なお、ＰＩＮ入力画面５２においてセキュリティインジケータ５２ａ（画像）をすかし状にして入力部５２ｂに重ねて表示させてもよい。
【００４１】
また、図５は、ＰＩＮ入力画面の別の表示例を示す図である。図５の表示例は、タブレットやＰＣのような大型の画面を有する装置を商用デバイスとして使用した際に、画面５３上に表示された複数のウィジェットのうちの一つ（つまり、入力部５３ｂを表示するためのウィジェット）がセキュリティインジケータ５３ａ（画像）によって囲まれるように表示させた例である。これにより、画面５３の一部分の領域内だけがセキュアＯＳ２ｃによって制御されていることを表現している。なお、画面５３に表示された領域５３ｃは、停止中のリッチＯＳ２ａ上で動作するアプリケーション２ｂ（例えば、ブラウザ）により表示された領域である。
【００４２】
ステップＳ３３でセキュリティインジケータが表示された後、ＰＩＮ入力要請に応じて、ユーザ（顧客）によりＰＩＮ入力画面の入力部からＰＩＮの入力があった場合に、商用デバイスＤ２のセキュアＯＳ２ｃ上にて動作する決済アプリケーションβは、決済処理を実行し（ステップＳ３４）、決済処理完了を示す情報をＰＩＮ入力画面に表示させる（ステップＳ３５）。こうして、ＰＩＮ入力画面の入力部からのＰＩＮ入力が完了した場合、商用デバイスＤ２のセキュアＯＳ２ｃは、ＲＡＭ２ｇに記憶されているセキュリティインジケータ用データをＲＡＭ２ｇから消去して（ステップＳ３６）決済処理を終了し、その情報をハイパーバイザ２ｅに通知して動作を停止する（ステップＳ３７）。このように、決済処理を終了する前に、個人用デバイスＤ１から取得されたセキュリティインジケータ用データが商用デバイスＤ２のＲＡＭ２ｇから消去されるので、当該セキュリティインジケータ用データの再利用を防ぐことができる。
【００４３】
次いで、商用デバイスＤ２のハイパーバイザ２ｅは、セキュアＯＳ２ｃからの通知に応じて、リッチＯＳ２ａを選択し、当該リッチＯＳ２ａへ起動指令を与えることで、当該リッチＯＳ２ａを起動させ（ステップＳ３８）、スタンバイ画面を表示部２ｉに表示させる（ステップＳ３９）。
【００４４】
［４．個人用デバイスＤ１と商用デバイスＤ２との間の通信動作］
次に、図６を参照して、個人用デバイスＤ１と商用デバイスＤ２との間の通信動作について説明する。なお、以下の動作例においては、個人用デバイスＤ１のＮＶＭ１ｈには共通鍵暗号方式のデバイス個別鍵、及び個人用デバイスＤ１の個体識別情報（ＩＤ情報）が予め記憶され、商用デバイスＤ２のＮＶＭ２ｈには共通鍵暗号方式のマスター鍵が予め記憶されているものとする。
【００４５】
図６は、図３に示す対人処理シーケンス内で実施される個人用デバイスＤ１と商用デバイスＤ２との間の通信処理シーケンスの一例を示す図である。図５のステップＳ３０の後、ユーザ（顧客）により個人用デバイスＤ１が商用デバイスＤ２に接近されると、個人用デバイスＤ１と商用デバイスＤ２との間で通信が開始され、商用デバイスＤ２のセキュアＯＳ２ｃは、セッション情報取得命令を個人用デバイスＤ１へ送信する（ステップＳ４１）。
【００４６】
次いで、個人用デバイスＤ１のセキュアＯＳ１ｃは、商用デバイスＤ２からのセッション情報取得命令を受信すると、当該情報取得命令に応じて、乱数生成器により乱数（ＲＰ）を生成する（ステップＳ４２）。次いで、個人用デバイスＤ１のセキュアＯＳ１ｃは、ステップＳ４２で生成された乱数（ＲＰ）、個人用デバイスＤ１のＮＶＭ１ｈに記憶されている個体識別情報（個人用デバイスＤ１の個体識別情報）、及びカウンタ値（セッション毎に１インクリメントされる値）を含む応答を、商用デバイスＤ２へ送信する（ステップＳ４３）。
【００４７】
次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、個人用デバイスＤ１からの応答を受信すると、商用デバイスＤ２のＮＶＭ２ｈに記憶されているマスター鍵、及び当該応答に含まれる個人用デバイスＤ１の個体識別情報を用いた暗号演算（例えば、マスター鍵で個体識別情報を暗号化）によりデバイス個別鍵（個人用デバイスＤ１の個体識別情報）を生成する（ステップＳ４４）。なお、暗号演算には、例えば、ＤＥＳやＡＥＳなどが用いられる。次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、ステップＳ４４で生成されたデバイス個別鍵、及び上記応答に含まれるカウンタ値を用いた暗号演算（例えば、デバイス個別鍵でカウンタ値を暗号化）によりセッション鍵を生成する（ステップＳ４５）。
【００４８】
次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、乱数生成器により乱数（ＲＣ）を生成する（ステップＳ４６）。次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、ステップＳ４５で生成されたセッション鍵、及び上記応答に含まれる乱数（ＲＰ）を用いた暗号演算（例えば、セッション鍵で乱数（ＲＰ）を暗号化）により認証コード（ＡＣ）を生成する（ステップＳ４７）。次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、ステップＳ４６で生成された乱数（ＲＣ）、及びステップＳ４７で生成された認証コード（ＡＣ）を含む認証命令を、個人用デバイスＤ１へ送信する（ステップＳ４８）。
【００４９】
次いで、個人用デバイスＤ１のセキュアＯＳ１ｃは、商用デバイスＤ２からの認証命令を受信すると、当該認証命令に応じて、個人用デバイスＤ１のＮＶＭ１ｈに記憶されている個体識別情報、及びステップＳ４３で応答に含めたカウンタ値を用いた暗号演算によりセッション鍵を生成する（ステップＳ４９）。次いで、個人用デバイスＤ１のセキュアＯＳ１ｃは、上記認証命令に含まれる認証コード（ＡＣ）を検証する（ステップＳ５０）。認証コード（ＡＣ）の検証では、ステップＳ４９で生成されたセッション鍵で認証コード（ＡＣ）を復号でき、かつ、当該復号により抽出された乱数（ＲＰ）とステップＳ４２で生成された乱数（ＲＰ）とが一致する場合に検証成功と判定される。個人用デバイスＤ１のセキュアＯＳ１ｃは、検証成功と判定した場合、ステップＳ４９で生成されたセッション鍵、及び上記認証命令に含まれる乱数（ＲＣ）を用いた暗号演算により認証コード（ＡＰ）を生成する（ステップＳ５１）。次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、ステップＳ５１で生成された認証コード（ＡＰ）を含む応答を、商用デバイスＤ２へ送信する（ステップＳ５２）。
【００５０】
次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、個人用デバイスＤ１からの応答を受信すると、当該応答に含まれる認証コード（ＡＰ）を検証する（ステップＳ５３）。認証コード（ＡＰ）を検証では、ステップＳ４５で生成されたセッション鍵で認証コード（ＡＰ）を復号でき、かつ、当該復号により抽出された乱数（ＲＣ）とステップＳ４６で生成された乱数（ＲＣ）とが一致する場合に検証成功と判定される。商用デバイスＤ２のセキュアＯＳ２ｃにより検証成功と判定された場合（つまり、相互認証が成功した場合）、個人用デバイスＤ１のセキュアＯＳ１ｃと商用デバイスＤ２のセキュアＯＳ２ｃとの間でセキュアチャンネルが確立される。これにより、個人用デバイスＤ１のセキュアＯＳ１ｃと商用デバイスＤ２のセキュアＯＳ２ｃとの間でやり取りされるデータは、上記セッション鍵により暗号化されることになり、また、当該データに付加されるチェックコードの検証により当該データを保護することができる。セキュアチャンネルが確立されると、商用デバイスＤ２のセキュアＯＳ２ｃは、セキュリティインジケータ用データ取得命令を、セキュアチャンネルを通じて個人用デバイスＤ１へ送信する（ステップＳ５４）。このステップＳ５４の処理は、図３のステップＳ３１に対応する。
【００５１】
次いで、個人用デバイスＤ１のセキュアＯＳ１ｃは、商用デバイスＤ２からのセキュリティインジケータ用データ取得命令を受信すると、当該セキュリティインジケータ用データ取得命令に応じて、上述したように登録されたセキュリティインジケータ用データをＮＶＭ１ｈから読み出し（ステップＳ５５）、読み出したセキュリティインジケータ用データを含む応答を、セキュアチャンネルを通じて（つまり、セキュリティインジケータ用データをセッション鍵により暗号化して）商用デバイスＤ２へ送信する（ステップＳ５６）。次いで、商用デバイスＤ２のセキュアＯＳ２ｃは、個人用デバイスＤ１からのセキュリティインジケータ用データを含む応答をセキュアチャンネルを通じて受信すると、当該セキュリティインジケータ用データを復号して、ＲＡＭ２ｇに一時的に記憶する（ステップＳ５７）。このステップＳ５７の処理は、図３のステップＳ３２に対応する。こうしてＲＡＭ２ｇに記憶されたセキュリティインジケータ用データに応じたセキュリティインジケータが表示画面に表示される（ステップＳ５８）。このステップＳ５８の処理は、図３のステップＳ３３に対応する。
【００５２】
以上説明したように、上記実施形態によれば、個人用デバイスＤ１は、ユーザにより任意に指定されたセキュリティインジケータ用データを個人用デバイスＤ１のセキュアＯＳ１ｃにしたがって登録しておき、商用デバイスＤ２は、個人用デバイスＤ１にセキュリティインジケータ用データを要求し、当該要求に応じて送信されたセキュリティインジケータ用データに応じたセキュリティインジケータを、商用デバイスＤ２のセキュアＯＳ２ｃにしたがって表示画面に表示させるように構成したので、ＰＩＮ等の重要な情報を入力するための表示画面がセキュアＯＳ２ｃによって制御されていることをユーザに視覚的に判断させることができる。
【符号の説明】
【００５３】
１ａ，２ａ  リッチＯＳ
１ｃ，２ｃ  セキュアＯＳ
１ｂ，１ｄ，２ｂ，２ｄ  アプリケーション
１ｅ，２ｅ  ハイパーバイザ
１ｆ，２ｆ  ＣＰＵ
１ｇ，２ｇ  ＲＡＭ
１ｈ，２ｈ  ＮＶＭ
１ｉ，２ｉ  表示部
１ｊ，２ｊ  入力部
１ｋ，２ｋ  無線通信部
Ｄ１  個人用デバイス
Ｄ２  商用デバイス
【図１】
2019185092.tif 000003
【図２】
2019185092.tif 000004
【図３】
2019185092.tif 000005
【図４】
2019185092.tif 000006
【図５】
2019185092.tif 000007
【図６】
2019185092.tif 000008