JP5260081B2 - 情報処理装置及びその制御方法 - Google Patents

情報処理装置及びその制御方法 Download PDF

Info

Publication number
JP5260081B2
JP5260081B2 JP2008043009A JP2008043009A JP5260081B2 JP 5260081 B2 JP5260081 B2 JP 5260081B2 JP 2008043009 A JP2008043009 A JP 2008043009A JP 2008043009 A JP2008043009 A JP 2008043009A JP 5260081 B2 JP5260081 B2 JP 5260081B2
Authority
JP
Japan
Prior art keywords
virtual machine
application
predetermined application
information
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008043009A
Other languages
English (en)
Other versions
JP2009199530A5 (ja
JP2009199530A (ja
Inventor
孝幸 伊藤
学 前田
秀樹 松島
久 高山
智之 芳賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2008043009A priority Critical patent/JP5260081B2/ja
Priority to EP09715484.3A priority patent/EP2249280B1/en
Priority to PCT/JP2009/000500 priority patent/WO2009107330A1/ja
Priority to CN200980105824.2A priority patent/CN101946252B/zh
Priority to US12/918,918 priority patent/US8689212B2/en
Publication of JP2009199530A publication Critical patent/JP2009199530A/ja
Publication of JP2009199530A5 publication Critical patent/JP2009199530A5/ja
Application granted granted Critical
Publication of JP5260081B2 publication Critical patent/JP5260081B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Description

本発明は、所定のアプリケーションが動作する仮想マシンを管理する仮想マシンモニタを有する情報処理装置及びその制御方法に関するものである。
近年、民生機器では、音楽データをディジタル化して記憶装置に取り込み、音楽を楽しむということが行われるようになっている。また、音楽データの取り扱いのみならずHigh Definition(HD)画像など、より表現能力が高いコンテンツの取り扱いが民生機器に求められるようになっている。
ここで、ディジタル化された音楽データや上記HD画像等は、劣化なしで複製することが可能である。そこで、著作権者の利益を保護するために、これらのコンテンツは不正な複製等から保護されて取り扱われなければならない。
そのため、これらのコンテンツは、CPRM(Content Protection Recoding Media)やAACS(Advanced Access Content System)などの著作権保護技術で保護されている。それら、著作権保護技術では、コンテンツを暗号化することによって保護しており、それらのコンテンツをユーザが利用するには、著作権保護技術に対応する端末でデータの復号を行う必要がある。
著作権保護技術に対応した端末では、暗号化されたコンテンツに対して復号処理を実施する暗号エンジンなどのセキュアデバイスを備えている。そのセキュアデバイスは不正な処理によって、復号が許可されていないコンテンツの復号を行わないように正しく操作される必要がある。
前述のセキュアデバイス操作を行うプログラムが正当であるか否かを判定する技術として、改ざん検出がある(例えば、特許文献1)。
特許文献1は、データを扱うプログラムが正当であるか否かを検出する技術であり、図19を用いて簡単に説明を行う。図19は、特許文献1のシーケンスを示す図である。
まず、ユーザなどの操作によって、処理が開始される。(S410)
次に、プログラムが入力データに対して処理を行い、処理済み情報を出力する。(S411)
次に、前述のプログラムに対して、ハッシュ関数を用いて、ハッシュ値(認証子)を作成する。(S412)
次に、図示していない検証部に、前述の処理済み情報と前述のハッシュ値(認証子)とを送付し、検証部が、送付されたハッシュ値(認証子)が、予め保持しているハッシュ値と一致するか否か判定する。一致する場合には、ハッシュ値に対応するプログラムが正当であると判断する。(S413)
そして、処理を終了する。(S414)
また、端末のデバイスが扱うデータを、適切に処理する技術として、例えば特許文献2がある。図20と図21を用いて簡単に説明を行う。
図20は、特許文献2のソフトウエア構成図を示す図である。
特許文献2のソフトウエアは、VMM(Virual Machine Monitor、仮想マシンモニタ)400と、汎用OS401とネットワーク対応アプリ402と、汎用OS NICプロキシ403と、リアルタイムOS404と、リアルタイムNICプロキシ405と、リアルタイムUDP/IP406と、NICドライバ407と、から構成される。
VMM400は、OS仮想化機能を提供する。汎用OS401とリアルタイムOS404は、VMM400が提供する仮想化されたハードウエア上で動作するオペレーティングシステムである。
ネットワーク対応アプリ402は、ネットワーク処理を行う場合には、汎用OS NICプロキシ403にネットワーク処理を依頼する。そして、汎用OS NICプロキシ403は、リアルタイムNICプロキシ405に処理を依頼する。そして、リアルタイムNICプロキシ405は、リアルタイムUDP/IP406に処理を依頼する。リアルタイムUDP/IP406は、NICドライバ407を利用して、図示していないネットワークインターフェースカード(NIC、Network Interface Card)を制御する。
また、リアルタイムUDP/IP406が、ネットワーク処理を行う場合にも、NICドライバ407を利用してネットワークインターフェースカード(NIC、Network Interface Card)を制御する。
図21は、ネットワークインターフェースカードからパケットデータ到着通知を受け取った場合のシーケンスを示す図である。
パケットデータの到着を検知したNICから、パケットデータ到着通知が割り込みの信号などによって通知される(S400)。
次に、NICドライバ407が、ネットワークインターフェースカードからデータを取得する。そして、リアルタイムUDP/IP406に、パケットデータを送付する。(S401)。
リアルタイムUDP/IP406は、パケットデータのポート領域に格納された番号が、リアルタイムOS側のソフトウエアで使用するポートの番号であるか否か判定する。前述の番号が、リアルタイムOS側のソフトウエアで使用するポートの番号である場合には、S403に遷移する。前述の番号が、リアルタイムOS側のソフトウエアで使用する番号でない場合には、S404に遷移する。(S402)
S403では、リアルタイムUDP/IP406は、パケットデータをリアルタイムOS側の適切なソフトウエアに送付すし、S405に遷移する。
ステップS404では、リアルタイムUDP/IP406は、パケットデータを、リアルタイムNICプロキシ405を経由して、汎用OS NICプロキシ403に送付する。汎用OS NICプロキシ403は、ネットワーク対応アプリ402にパケットデータを送付する。
そして、S405で処理を終了する。
特開2003―186561号公報(第8頁、図1等) 特表2007―500381号公報(第17頁、図1等)
しかし、上記説明した従来技術では、以下のような問題が生じていた。
即ち、特許文献1の手法は、プログラムに対してハッシュ演算を行って、正当なプログラムであるか否かを判定する。
しかしながら、この手法では、不正なプログラムと正当なプログラムを差し替えることで、不正なプログラムが動作する場合でも、正当なプログラムであると判定されるという課題がある。
図19を用いて、前述の課題を簡単に説明する。
まず、S411で、不正なプログラムが処理を行う。そして、S411からS412に遷移する前に、不正なプログラムと正当なプログラムを差し替える。そして、S412に遷移する。
S412では、差し替えられた正当なプログラムに対してハッシュ値(認証子)を生成する。そのため、正しいプログラムによる処理が行われたと判断されてしまう。
また、特許文献2の手法は、デバイスが扱うデータを、リアルタイムOS側のソフトウエアか、または汎用OS側のソフトウエアかの、いずれで処理を行うかを判定するのみであり、アプリが正当なものであるかの確認は行っていない。
そのため、ネットワーク対応アプリ402がSSL(Secure Sokect Layer)等の安全な通信方式を用いなければならない場合であっても、不正なソフトが、汎用OS401上で動作して、SSLなしで通信を行うことが可能であるという課題がある。
本発明は、前述の課題を解決するものであり、所定のアプリケーションの正当性を判断した後に前記所定のアプリケーションが別の不正なアプリケーションに書換え、前記不正なアプリケーションによりデバイスが制御されるのを防止できる情報処理装置及びその制御方法を提供することを目的とする。
前記従来の課題を解決するために、本発明の一態様である情報処理装置は、所定のデバイスにアクセスする所定のアプリケーションが動作するワークエリア上に前記所定のアプリケーションを書換え可能なものとして管理する仮想マシンと、前記所定のアプリケーションを用いた所定のデバイスへのアクセス要求を前記仮想マシンから検出する検出部と、前記所定のアプリケーションの正当性を検証する検証部と、前記仮想マシン、前記検証部及び前記検出部を管理する仮想マシンモニタと、を具備し、前記検出部は前記アクセス要求を検出するとその旨を前記仮想マシンモニタに通知し、前記仮想マシンモニタは前記ワークエリア上の前記所定のアプリケーションを書換え不可能なものと管理し直してその旨を前記検証部に通知し、前記検証部は前記仮想マシンモニタからの通知を受けると前記所定のアプリケーションが正当であるか否かを判断し、前記仮想マシンモニタは、前記ワークエリアに前記所定のアプリケーションに対応する管理情報を管理し、前記管理情報は前記管理情報を書換える権限を有する主体を示す特権情報を含み、前記所定のアプリケーションの書換え可能な主体が前記仮想マシンを含む旨を前記特権情報が示している場合、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するように前記特権情報を書き換えることで、前記所定のアプリケーションを書換え不可能なものと管理することを特徴とする。
このような構成により、前記情報処理装置は、前記仮想マシンモニタが前記ワークエリアに前記所定のアプリケーションを書換え不可能なものと管理し直した後に前記検証部が前記所定のアプリケーションが正当であるか否かを判断することにより、前記検証部が前記所定のアプリケーションの正当性を検証する前に前記所定のアプリケーションを書換え不可能に管理するので、前記検証部が前記所定のアプリケーションが正当なものと判断した後に前記所定のアプリケーションがワークエリア上で別の不正なアプリケーションに書き換えられるのを防止できる。
また、前記仮想マシンにより書換え可能な管理情報を、前記仮想マシンモニタが前記管理情報の中の特権情報を書換えることにより、前記仮想マシンによる前記所定のアプリケーションの書換えを不可能なものとするので、一旦前記仮想マシンモニタが前記特権情報を書換えると、前記仮想マシンモニタの方で前記仮想マシンによる前記管理情報の書換えを禁止できる。その結果、前記検証部が前記所定のアプリケーションが正当なものか否かを判断した後に前記所定のアプリケーションがワークエリア上で別のアプリケーションに書き換えられるのを確実に防止できる。
また、前記仮想マシンモニタは、前記管理情報の中の一部の情報である特権情報を書き換えることにより、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するので、簡易に前記仮想マシンモニタの方で前記仮想マシンによるワークエリア上で動作するアプリケーションの書換えを禁止できる。
さらに、前記管理情報の中の特権情報という既存の情報を書き換えることにより、前記仮想マシンによる前記管理情報の書換えを禁止するための別のデータ構造を不要とするので、書換え禁止にするための構成をシンプルにできる。
ここで、前記情報処理装置において、前記検証部が前記所定のアプリケーションが正当であると判断した場合、前記所定のアプリケーションを用いて所定のデバイスにアクセスする実行部を設けるとしてもよい。
この構成によると、前記仮想マシンモニタが前記ワークエリアに前記所定のアプリケーションを書換え不可能なものと管理し直した後に、前記所定のアプリケーションが正当であるか否かを判断し、前記所定のアプリケーションを用いた所定のデバイスへのアクセスを実行することにより、前記検証部が前記所定のアプリケーションの正当性を検証する前に前記所定のアプリケーションを書換え不可能に管理するので、前記検証部が前記所定のアプリケーションが正当なものと判断した後に前記所定のアプリケーションがワークエリア上で別の不正なアプリケーションに書き換えられて、この不正なアプリケーションを用いて所定のデバイスがアクセスされるのを防止できる。
また、前記情報処理装置において、前記仮想マシンモニタは、前記実行部が前記所定のアプリケーションを用いた所定のデバイスへのアクセスを終了した後、前記所定のアプリケーションを書換え可能なものに管理を戻すとしてもよい。
この構成によると、前記仮想マシンモニタに、前記実行部が前記所定のアプリケーションを用いた所定のデバイスへのアクセスを終了した後、前記所定のアプリケーションを書換え可能なものに管理を戻させることにより、前記所定のアプリケーションによるアクセスが終了した後は前記所定のアプリケーションをワークエリアから消去できるので、処理後のアプリケーションによりワークエリアが無駄に占有されるのを防止できる。
また、前記情報処理装置において、前記仮想マシンモニタは、前記所定のアプリケーションの書換え可能な主体を前記仮想マシン及び前記仮想マシンモニタを含む情報から、前記所定のアプリケーションの書換え可能な主体を前記仮想マシンモニタに制限する情報に前記特権情報を書き換えることで、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するとしてもよい。
この構成によると、前記所定のアプリケーションの書換え可能な主体を前記仮想マシン及び前記仮想マシンモニタを含む情報から、前記所定のアプリケーションの書換え可能な主体を前記仮想マシンモニタに制限する情報に前記特権情報を書き換えることにより、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するので、簡易に前記仮想マシンによるワークエリア上で動作するアプリケーションの書換えを禁止できる。
また、前記情報処理装置において、前記検証部は、前記情報処理装置の外部装置に含まれるとしてもよい。
この構成によると、前記検証部は、前記情報処理装置の内部ではなく、前記情報処理装置の外部装置に含まれるものであってもよい。
ここで、前記実行部は、前記情報処理装置の外部装置に含まれるとしてもよい。
この構成によると、前記実行部は、前記情報処理装置の内部ではなく、前記情報処理装置の外部装置に含まれるものであってもよい。
ここで、前記所定のデバイスは、SDカードであるとしてもよい。
ここで、前記所定のデバイスは、前記情報処理装置にコンテンツを提供する外部のコンテンツサーバであるとしてもよい。
また、本発明の別の一態様である情報処理装置の制御方法は、所定のデバイスにアクセスする所定のアプリケーションをワークエリア上で動作させる仮想マシンと、前記所定のアプリケーションを用いた所定のデバイスへのアクセス要求を前記仮想マシンから検出する検出部と、前記所定のアプリケーションの正当性を検証する検証部と、前記仮想マシン、前記検証部及び前記検出部を管理する仮想マシンモニタと、を具備した情報処理装置において、前記検出部は前記アクセス要求を検出するとその旨を前記仮想マシンモニタに通知し、前記仮想マシンモニタは前記ワークエリア上の前記所定のアプリケーションを書換え不可能なものと管理し直してその旨を前記検証部に通知し、前記検証部は前記仮想マシンモニタからの通知を受けると前記所定のアプリケーションが正当であるか否かを判断し、前記仮想マシンモニタは、前記ワークエリアに前記所定のアプリケーションに対応する管理情報を管理し、前記管理情報は前記管理情報を書換える権限を有する主体を示す特権情報を含み、前記所定のアプリケーションの書換え可能な主体が前記仮想マシンを含む旨を前記特権情報が示している場合、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するように前記特権情報を書き換えることで、前記所定のアプリケーションを書換え不可能なものと管理することを特徴とする。
この態様によると、前記仮想マシンモニタが前記ワークエリアに前記所定のアプリケーションを書換え不可能なものと管理し直した後に前記検証部が前記所定のアプリケーションが正当であるか否かを判断することにより、前記検証部が前記所定のアプリケーションの正当性を検証する前に前記所定のアプリケーションを書換え不可能に管理するので、前記検証部が前記所定のアプリケーションが正当なものと判断した後に前記所定のアプリケーションがワークエリア上で別の不正なアプリケーションに書き換えられるのを防止できる。
また、前記仮想マシンにより書換え可能な管理情報を、前記仮想マシンモニタが前記管理情報の中の特権情報を書換えることにより、前記仮想マシンによる前記所定のアプリケーションの書換えを不可能なものとするので、一旦前記仮想マシンモニタが前記特権情報を書換えると、前記仮想マシンモニタの方で前記仮想マシンによる前記管理情報の書換えを禁止できる。その結果、前記検証部が前記所定のアプリケーションが正当なものか否かを判断した後に前記所定のアプリケーションがワークエリア上で別のアプリケーションに書き換えられるのを確実に防止できる。
また、前記仮想マシンモニタは、前記管理情報の中の一部の情報である特権情報を書き換えることにより、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するので、簡易に前記仮想マシンモニタの方で前記仮想マシンによるワークエリア上で動作するアプリケーションの書換えを禁止できる。
さらに、前記管理情報の中の特権情報という既存の情報を書き換えることにより、前記仮想マシンによる前記管理情報の書換えを禁止するための別のデータ構造を不要とするので、書換え禁止にするための構成をシンプルにできる。
また、本発明の別の一態様である情報処理装置の集積回路は、所定のデバイスにアクセスする所定のアプリケーションをワークエリア上で動作させる仮想マシンと、前記所定のアプリケーションを用いた所定のデバイスへのアクセス要求を前記仮想マシンから検出する検出部と、前記所定のアプリケーションの正当性を検証する検証部と、前記仮想マシン、前記検証部及び前記検出部を管理する仮想マシンモニタと、を具備し、前記検出部は前記アクセス要求を検出するとその旨を前記仮想マシンモニタに通知し、前記仮想マシンモニタは前記ワークエリア上の前記所定のアプリケーションを書換え不可能なものと管理し直してその旨を前記検証部に通知し、前記検証部は前記仮想マシンモニタからの通知を受けると前記所定のアプリケーションが正当であるか否かを判断し、前記仮想マシンモニタは、前記ワークエリアに前記所定のアプリケーションに対応する管理情報を管理し、前記管理情報は前記管理情報を書換える権限を有する主体を示す特権情報を含み、前記所定のアプリケーションの書換え可能な主体が前記仮想マシンを含む旨を前記特権情報が示している場合、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するように前記特権情報を書き換えることで、前記所定のアプリケーションを書換え不可能なものと管理することを特徴とする。
この態様によると、前記仮想マシンモニタが前記ワークエリアに前記所定のアプリケーションを書換え不可能なものと管理し直した後に前記検証部が前記所定のアプリケーションが正当であるか否かを判断することにより、前記検証部が前記所定のアプリケーションの正当性を検証する前に前記所定のアプリケーションを書換え不可能に管理するので、前記検証部が前記所定のアプリケーションが正当なものと判断した後に前記所定のアプリケーションがワークエリア上で別の不正なアプリケーションに書き換えられるのを防止できる。
また、前記仮想マシンモニタは、前記管理情報の中の一部の情報である特権情報を書き換えることにより、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するので、簡易に前記仮想マシンモニタの方で前記仮想マシンによるワークエリア上で動作するアプリケーションの書換えを禁止できる。
さらに、前記管理情報の中の特権情報という既存の情報を書き換えることにより、前記仮想マシンによる前記管理情報の書換えを禁止するための別のデータ構造を不要とするので、書換え禁止にするための構成をシンプルにできる。
以下に、本発明の実施の形態について、図面を参照しながら説明を行う。
(実施の形態1)
<実施の形態1のソフトウエアの構成の説明>
図1は、本発明の実施の形態1に関わるソフトウエア構成を示す図である。
実施の形態1の情報処理装置は、仮想マシンモニタであるセキュアVMM100と、汎用OS101と、アプリケーションA 102と、アプリケーションB 103と、管理専用OS104と、検出部であるデバイスアクセス要求判定部109及び実行部であるセキュアドライバ110を含むセキュアデバイス105と、検証部であるアプリ特定部106と、から構成される。仮想マシンは、汎用OS101と、アプリケーションA102と、アプリケーションB103を含む。
セキュアVMM100は、OS仮想化機能を提供する。汎用OS101と管理専用OS104は、セキュアVMM100が提供する仮想化されたハードウエア上で動作するオペレーティングシステムである。
セキュアVMM100は、動作アプリ格納メモリ特定部107と、動作アプリメモリロック部108とを備える。
アプリケーションA 102とアプリケーションB 103は、ユーザに対してサービスを提供するアプリケーションであり、必要に応じて、図示していないセキュアデバイスにアクセスする。
セキュアデバイスドライバ105は、図示してないセキュアデバイスを制御するデバイスドライバであり、デバイスアクセス要求判定部109と、デバイスアクセス制御部110を備える。
アプリ特定部106は、認証子作成部111と、アプリ判定部112を備える。
<セキュアVMMの構成要素の説明>
動作アプリ格納メモリ特定部107は、図示していないセキュアデバイスへのアクセスを行う汎用OS101上のアプリケーションを特定する。詳細は後述する。
動作アプリメモリロック部108は、図示していないセキュアデバイスへのアクセスを行う汎用OS101上のアプリケーションに対応するページテーブルに対して、制御を行う。詳細は後述する。
<セキュアデバイスドライバの構成要素の説明>
デバイスアクセス要求判定部109は、図示していないセキュアデバイスへのアクセス要求を検出する。詳細は後述する。
デバイスアクセス制御部110は、図示していないセキュアデバイスへのアクセス制御を行う。詳細は後述する。
<アプリ特定部の構成要素の説明>
認証子作成部111は、図示していないセキュアデバイスに対して、汎用OS101上のアプリケーションの認証子を作成する。詳細は後述する。
アプリ判定部112は、前述のアプリケーションの認証子を用いて、アプリケーションが正当であるか否かを判定する。詳細は後述する。
<実施の形態1のハードウエアの構成の説明>
図2は、図1のソフトウエアが動作する情報処理装置120のハードウエア構成図である。
図2において、情報処理装置120は、CPU121と、MMU(Memory Management Unit)122と、通常メモリ123と、保護メモリ124と、セキュアデバイス126と、不揮発性記憶装置134が、バス125を介して互いに接続している。
情報処理装置120は、さらに、図2に図示されていない入出力部や補助記憶装置などを備えているが、これらは本発明の本質ではないので説明を省略する。
以下、情報処理装置130の各構成要素の詳細について説明する。
<情報処理装置のハードウエアの構成要素の説明>
CPU121は、通常メモリ123や保護メモリ124に格納されたプログラム等に含まれる命令コードを実行することにより、情報処理装置120全体の動作を制御する。
MMU122は、図示していないページテーブルを参照して、CPU121に対して、物理アドレス番号を論理アドレス番号に変換する機能を提供する。さらに、MMU122は、図示していないページテーブルを参照して、CPU121の特権状態に応じて、メモリへの書込み操作や読み込み操作などのアクセス制御機能を提供する。
不揮発性記憶装置134は、アプリケーションA 127と、アプリケーションB 128とを格納する不揮発性の記憶装置である。具体的には、ハードディスクやフラッシュメモリなどである。
通常メモリ123は、不揮発性記憶装置134に格納されているアプリケーションA 127と、アプリケーションB 128と、汎用OS129とをロードして、実行される揮発性記憶装置である。本発明のワークエリアに当たる。
保護メモリ124は、セキュアデバイスドライバ130と、アプリ特定部131と、管理専用OS132と、セキュアVMM133とを格納する記憶装置である。
セキュアデバイス124は、コンテンツなどの保護すべき情報を取り扱うデバイスであり、不正なアプリケーションからのアクセスを防止する必要があるデバイスである。例えば、暗号化コンテンツの復号などを行う暗復号回路などである。他の例として、暗号化したコンテンツを記録したフラッシュメモリ等の記録媒体や、復号化されたコンテンツが保持されるメモリなどが考えられる。また、セキュアデバイスは情報処理装置に内蔵されたものに限らず、SDカード等の外部の記録装置であってもよい。
さらに、保護メモリ124とセキュアデバイス125は、保護メモリ124に格納されたソフトウエアのみがアクセス可能となるように制御される。
<汎用OSとアプリケーションとの関連性の説明>
汎用OS129は、汎用OS129上で動作するアプリケーションA 127とアプリケーションB 128に対応して、それぞれページテーブル135とページテーブル136を保持する。なお、ページテーブルに関する詳細は後述する。
<OS仮想化機能を用いた場合のメモリ空間の説明>
図3は、情報処理装置120の物理メモリ空間140を示す図である。
情報処理装置120の物理メモリ空間140は、通常メモリに対応するメモリ空間141と、予約領域A 142と、保護メモリに対応するメモリ空間143と、予約領域B 144とで構成される。情報処理装置の物理メモリ空間140は、物理メモリ番地で一意に特定する事が可能である。
セキュアVMM100は、情報処理装置の物理メモリ空間140を、汎用OS101に割り当てられた物理メモリ空間と、管理専用OS104に割り当てられた物理メモリ空間に分割して管理する。
汎用OS101に割り当てられた物理メモリ空間は、通常メモリに対応するメモリ空間141と、予約領域A 142とで構成される。
管理専用OS104に割り当てられた物理メモリ空間は、保護メモリに対応するメモリ空間143と、予約領域B 144とで構成される。
セキュアVMM100は、汎用OS101と管理専用OS104に対して、それぞれのメモリ空間を、仮想物理アドレス空間として参照させる。汎用OS101と管理専用OS104は、それぞれの仮想物理アドレス空間に対して、仮想物理アドレス番号を用いて、読み込み操作及び書込み操作を行う。
<仮想物理メモリ空間と論理メモリ空間の説明>
図4は、仮想物理メモリ空間と論理メモリ空間との対応関係を示す一例の図である。なお、図4の仮想物理メモリ空間は、汎用OSが読み込み操作及び書込み操作を行う仮想物理メモリ空間である。
通常メモリ151は、ページと呼ばれる固定長サイズに分割されて管理される。
ページテーブル153は、複数のページをまとめて管理し、論理アドレス空間を構築する。さらに、1つのページテーブルが、1つのアプリケーションに対応する。
アプリケーションは、論理アドレス空間に対して、論理アドレス番号を用いて読み込み操作及び書込み操作を行う。
<ページテーブルの構成要素の説明>
図5は、ページテーブル160のデータ構造の一例を示す図である。
ページテーブル160は、ページに対応する各エントリに対して、ページ番号161と、論理アドレス番号162と、仮想物理アドレス番号163と、特権情報164と、書込み操作許可・不許可情報165と、読込み操作許可・不許可情報166と、その他の情報167と、から構成されるデータ構造である。
ページテーブル番号161は、ページの番号を格納するフィールドである。
論理アドレス番号162は、MMU122が仮想物理アドレス番号を論理アドレス番号に変換する際の対応する論理アドレス番号を格納するフィールドである。本フィールドは、各仮想物理アドレス番号に対応する論理アドレス番号それぞれを格納していてもよいし、ページの先頭論理アドレス番号が格納していてもよい。
仮想物理アドレス番号163は、MMU122が仮想物理アドレス番号を論理アドレス番号に変換する際の対応する仮想物理アドレス番号を格納するフィールドである。本フィールドは、ページの先頭仮想物理アドレス番号が格納されていてもよい。
特権情報164は、MMU122がメモリへのアクセス制御を行う場合に参照する特権情報に関する情報を格納するフィールドである。詳細は後述する。
書込み操作許可・不許可情報165は、ページテーブル160に対応するアプリケーションが、ページへの書込み操作を行ってもよいか否かを示すフィールドである。本フィールドには、許可または不許可を示す情報が格納される。
読込み操作許可・不許可情報166は、ページテーブル160に対応するアプリケーションが、ページへの読込み操作を行ってもよいか否かを示すフィールドである。本フィールドには、許可または不許可を示す情報が格納される。
その他の情報167は、ページのサイズや、ページのダーティ情報や、前述の属性以外の情報などが格納されているフィールドである。
また、ページテーブルの各フィールドの情報の変更は、CPU121の特権状態がリング0の場合のみ可能である。なお、特権状態に関しては、詳細は後述する。
なお、図5で示したページテーブル160は論理的なデータ構造であり、例えば、公知の階層的なページテーブル構造を用いてもよい。
なお、図5で示したページテーブル160では、各ページ毎に特権情報が割り当てられているが、1つのページテーブルに対して1つの特権情報を割り当てても良い。その場合には、前記の1つの特権情報は、別のデータ構造やレジスタで管理しても良い。
図5で示したページテーブル160では、書込み操作許可・不許可情報165は、アプリケーションからの書込みが可能か否かを示すフィールドであるが、それ以外であってもよい。例えば、その他の情報167に格納されてている書込み操作主体を示す情報と組み合わせて、前記主体が書込み操作が可能か否かを示すフィールドであってもよい。
図5で示したページテーブル160では、読込み操作許可・不許可情報166は、アプリケーションからの読込みが可能か否かを示すフィールドであるが、それ以外であってもよい。例えば、その他の情報167に格納されてている読込み操作主体を示す情報と組み合わせて、前記主体が読込み操作が可能か否かを示すフィールドであってもよい。
<CPUの特権状態によるメモリアクセス制御の説明>
図6は、CPU121が、通常メモリ123及び保護メモリ124へアクセスを行った場合のアクセス制御を示す表である。
図6のアクセス制御は、CPU121で実現しても良いし、MMU122で実現しても良い。
CPU121には、リング0、リング1、リング2、リング3という特権状態がある。CPU121は、特権命令を実行することで、各特権状態を遷移する。
特権状態リング0であるCPU121で動作する主体であるソフトウエアは、ページテーブル160の特権情報164フィールドが、リング0とリング1とリング2とリング3のページにアクセスすることができる。また、特権情報164フィールドがリング0とリング1とリング2とリング3のページテーブルの内容を書き換えることができる。
特権状態リング1であるCPU121で動作する主体であるソフトウエアは、ページテーブル160の特権情報164フィールドが、リング1とリング2とリング3のページにアクセスすることができる。また、特権情報164フィールドがリング1とリング2とリング3のページテーブルの内容を書き換えることができる。特権状態リング1であるCPU121で動作する主体であるソフトウエアが、ページテーブル160の特権情報164フィールドが、リング0のページにアクセスした場合には、CPU121またはMMU122が、不正なメモリアクセスであることを検出し、アクセスを拒否する。
特権状態リング2であるCPU121で動作する主体であるソフトウエアは、ページテーブル160の特権情報164フィールドが、リング2とリング3のページにアクセスすることができる。また、特権情報164フィールドがリング2とリング3のページテーブルの内容を書き換えることができる。特権情報リング2であるCPU121で動作する主体であるソフトウエアが、ページテーブル160の特権情報164フィールドが、リング0とリング1のページにアクセスした場合には、CPU121またはMMU122が、不正なメモリアクセスであることを検出し、アクセスを拒否する。
特権状態リング3であるCPU121で動作する主体であるソフトウエアは、ページテーブル160の特権情報164フィールドが、リング3のページにアクセスすることができる。また、特権情報164フィールドがリング3のページテーブルの内容を書き換えることができる。特権状態リング3であるCPU121で動作する主体であるソフトウエアが、ページテーブル160の特権情報164フィールドが、リング0とリング1とリング2のページにアクセスした場合には、CPU121またはMMU122が、不正なメモリアクセスであることを検出し、アクセスを拒否する。
また、情報処理装置120において、リング0にはセキュアVMM100が割り当てられ、リング1には管理専用OS104が割り当てられ、リング2には汎用OS101が割り当てられ、リング3には汎用OS上で動作するアプリケーションが割り当てられている。
なお、特権の割り当て方法は、前述以外のリングの割り当てには限らない。汎用OS101と汎用OS上で動作するアプリケーションが割り当てられた特権が、セキュアVMM100と管理専用OS104が割り当てられた特権より低くなるように制御できれば他の割り当て方法を用いてもよい。
<アプリケーションのロード処理の説明>
図22は、汎用OSによるアプリケーションのロード処理を示すシーケンス図である。
図示されていないインターフェースによるユーザの指示などによって、アプリケーションのロード処理が開始される。(S300)
汎用OS180は、不揮発性記憶装置134から、アプリケーションが格納されているファイルを読み込む。(S301)
汎用OS180は、ファイルのヘッダファイルに格納されている必要メモリサイズなどを参照して、アプリケーションに割り当てるメモリサイズを算出し、通常メモリ123から必要なメモリ領域を確保する。(S302)
汎用OS180は、アプリケーションに対応するページテーブルを内部に作成する。(S303)
汎用OS180は、ステップS302で確保したメモリ領域に、ステップS301で読み込んだファイルからアプリケーションのプログラム(コードとデータ)をロードする。(S304)
そして、汎用OS180は、アプリケーションのロード処理を終了する。(S305)
なお、ステップS304とステップS305は、逆の順序で実施されてもよい。
<OSによるページテーブルとアプリケーションの操作の説明>
図7は、汎用OSによるページテーブルとアプリケーションの操作の一例を示す図である。図7において、汎用OS180上で、アプリケーションA 183とアプリケーションB 184が動作している。
汎用OS180は、アプリケーションA 183とアプリケーションB 184に、CPUを、時分割で割り当てることで、アプリケーションA 183とアプリケーションB 184を動作させる。
前述の時分割で割り当てる操作において、汎用OS180は、アプリケーションA 183とアプリケーションB 184を切り替える。その切り替え操作は、各アプリケーションに対応するページテーブルを切り替えることで実現する。
図7の場合には、汎用OS180は、アプリケーションA 183に対応するページテーブル181と、アプリケーションB 184に対応するページテーブル182と、を保持し、切り替えることで、アプリケーションを時分割で実行する。
また、管理専用OS104も、同様のページテーブルの操作を行うことで、管理専用OS104上で動作するソフトウエアを切り替える。
<セキュアVMMによるページテーブルとソフト実行環境の操作の説明>
図8は、セキュアVMMによるページテーブルとソフト実行環境の操作の一例を示す図である。図8において、セキュアVMM190上で、汎用OS193と管理専用OS194が動作している。
セキュアVMM190は、汎用OS193と管理専用OS194に、CPUを、時分割で割り当てることで、汎用OS193と管理専用OS194を動作させる。
前述の時分割で割り当てる操作において、セキュアVMM190は、汎用OS193と管理専用OS194を切り替える。その切り替え操作は、各OS(ソフト実行環境)に対応するカレントページテーブルを切り替えることで実現する。ここで、カレントページテーブルとは、各OSが現在CPU121に参照させているページテーブルである。
図8の場合には、セキュアVMM190は、汎用OS193に対応するカレントページテーブル191と、管理専用OS194に対応するカレントページテーブル192と、を保持し、切り替えることで、各OS(ソフト実行環境)を時分割で実行する。
<不正アプリによるセキュアデバイスアクセスの検出及びアクセス防止の説明>
以下に、図9を用いて、情報処理装置120が、不正アプリによるセキュアデバイスアクセスの検出及びアクセス防止の説明を行う。
汎用OS101上のアプリケーションが、汎用OS101を介して、セキュアデバイス処理要求を行う。(S100)
セキュアVMM100は、前述のソフト実行環境の操作を用いて、汎用OS101から管理専用OS104に切り替える。そして、処理要求検出ステップにおいて、セキュアデバイスドライバ105のデバイスアクセス要求判定部109が、前述のセキュアデバイス処理要求を検出する。そして、デバイスアクセス要求判定部109は、セキュアVMM100に対して、対象アプリ抽出要求を行う。(S101)
対象アプリ抽出要求に対して、セキュアVMM100は、対象アプリ抽出ステップと対象アプリロックステップを行う。
対象アプリ抽出ステップでは、セキュアVMM100の動作アプリ格納メモリ特定部107が、汎用OS101のカレントページテーブルを抽出する。汎用OS101が動作させているアプリケーションはセキュアデバイス処理要求を出したアプリケーションであるので、カレントページテーブルはこのアプリケーションのページテーブルとなる。(S102)
対象アプリロックステップでは、セキュアVMM100の動作アプリメモリロック部108が、汎用OS101のカレントページテーブルに格納されている情報を、保護メモリにバックアップする。そして、動作アプリメモリロック部108が、汎用OS101のカレントページテーブルの書込み許可・不許可情報のフィールドを全て、「不許可」に変更する。例えば、図5に示すページテーブル160を前述の操作を行った場合には、図23のページテーブル300に変更される。書換え後のページテーブル300では、書換え前のページテーブル160の特権情報164のフィールドのリング3が、ページテーブル300の特権情報304で示すようにリング0に書き換えられる。さらに、書換え後のページテーブル300では、書換え前のページテーブル160の書込み操作許可・不許可情報165のフィールドが、ページテーブル300の書込み許可・不許可情報305で示すように全て「不許可」に書き換えられる。
これにより、セキュアデバイス処理要求を出したアプリケーションがロードされているメモリ空間の書き換えが不可能となる。さらに、特権情報のフィールドを、汎用OSおよび汎用OS上で動作するアプリケーションに割り当てられた特権では変更できないリング番号に変更する。この特権情報の変更により、汎用OSおよび汎用OS上で動作するアプリケーションは、カレントページテーブルの元々の特権情報に関わらず、書込み許可・不許可情報のフィールドを「不許可」から「許可」に戻すことができなくなる。したがって、汎用OS側およびその上で動作するプリケーションによってページテーブルの書込み許可・不許可情報のフィールドを「許可」に戻し、アプリケーションがロードされているメモリ空間の書き換えを可能とするような攻撃も防げる。本実施の形態では、この書込み許可・不許可情報165のフィールドの書き換えと、特権情報のフィールドの書き換えにより、セキュアデバイス処理要求を出したアプリケーションを書換えることができる主体から汎用OSおよび汎用OS上で動作する全アプリケーションを含めた仮想マシンを排除する。そして、アプリ特定部106に対して、アプリ特定要求を行う。(S103)
アプリ特定要求に対して、アプリ特定部106は、認証子生成ステップとアプリ判定ステップを行う。
認証子生成ステップでは、アプリ特定部106の認証子生成部111が、前述の抽出されたページテーブルを用いて、論理アドレス空間を参照する。認証子生成部111が、参照した論理アドレス空間に格納されたプログラムから、SHA1などの一方向性関数を用いて、ハッシュ値を生成する。(S104)
次に、アプリ判定ステップでは、アプリ特定部106のアプリ判定部112が、予め保持している参照ハッシュ値と、前述の生成したハッシュ値とが一致するか否かを確認する。一致する場合には、アプリ判定部112が、S100のセキュアデバイス処理要求を行ったアプリケーションは正当なアプリケーションであると判定する。一致しない場合には、アプリ判定部112が、S100のセキュアデバイス処理要求を行ったアプリケーションは不正なアプリケーションであると判定する。アプリ判定部112が、前述の判定結果を用いて、セキュアデバイスドライバ105に対して、デバイスアクセス制御要求を行う。(S105)
デバイスアクセス制御要求に対して、セキュアデバイスドライバ105のデバイスアクセス制御部110は、前述の判定結果が、正当なアプリケーションの場合には、セキュアデバイスへのアクセスを許可する。または、デバイスアクセス制御部110は、前述の判定結果が、不正なアプリケーションの場合には、セキュアデバイスへのアクセスを拒否する。(S106)
デバイスアクセス制御部110が、セキュアデバイスへのアクセスを許可した場合に、セキュアデバイスドライバ105は、セキュアデバイスに対する処理を行う。(S107)そして、処理終了後に、セキュアデバイスドライバ105は、セキュアVMM100に対して、対象アプリロック解除要求を行う。
対象アプリロック解除要求に対して、セキュアVMM100の動作アプリメモリロック部108は、対象アプリロック解除ステップを行う。
対象アプリロック解除ステップにおいて、動作アプリメモリロック部108は、バックアップしていたカレントページテーブルの情報を、汎用OS101のカレントページテーブルに再設定を行う。これにより、ページテーブルの書込み許可・不許可情報および特権情報が、対象アプリロックステップ以前の状態に戻る(S108)
そして、セキュアVMM100は、汎用OS101に切り替える。汎用OS101は、セキュアデバイスドライバ105の処理結果をアプリケーションに通知する。
また、ステップS106において、セキュアデバイスへのアクセスを拒否すると判断された場合には、セキュアデバイスドライバ105は、セキュアVMM100に対して、対象アプリロック解除要求を行い、セキュアVMM100の動作アプリメモリロック部108は、前述のステップS108と同様の処理を行う。そして、セキュアVMM100は、汎用OS101に切り替える。汎用OSは、セキュアデバイスドライバ105の処理結果をアプリケーションに通知する。
<実施の形態1の効果>
上述した実施の形態1では、セキュアデバイス処理要求が検出されると、その要求を出したアプリケーションがロードされているページテーブルの設定を書き込み不可能とした上で、アプリケーションの検証を行っている。また、この書き込み不可能の設定は、セキュアデバイスへのアクセスが終了するまで解除されない。これにより、正当なアプリケーションで検証を通した上で、メモリ上のアプリケーションを不正なアプリケーションに上書きしてセキュアデバイスへの不正なアクセスを試みる攻撃を防止することが出来る。すなわち、アプリケーションがロードされているメモリを改変できないよう設定にした上でそのアプリケーションを検証しているので、検証が終了した直後にメモリ上のアプリケーションを不正なアプリケーションに差し替えることはできない。
さらに、ページテーブルの特権情報のフィールドを、汎用OSおよび汎用OS上で動作するアプリケーションでは変更できない特権に書き換えることにより、汎用OS等からはページテーブルの設定を書込み許可に戻すことができなくなるようにしている。これにより、汎用OS上の不正なアプリケーションによってページテーブルの設定を書き込み許可に戻した上で、アプリケーションを差し替えるような攻撃をも防止することができる。
(実施の形態2)
図10は、本発明の実施の形態2に関わる情報処理装置のソフトウエア構成を示すブロック図である。
図11は、本発明の実施の形態2に関わる情報処理装置とアプリ判定部とがネットワーク接続された構成を示す図である。
実施の形態1の情報処理装置120と実施の形態2の情報処理装置220との構成の差異は以下の通りである。
実施の形態1の情報処理装置120では、アプリ特定部106が、検証部であるアプリ判定部112を備えていたが、実施の形態2の情報処理装置220のアプリ特定部206は、検証部であるアプリ判定部を備えてない。さらに、実施の形態2のアプリ特定部206は、通信部212を新たに備えている。
さらに、実施の形態2の情報処理装置220は、ネットワーク222を介して、アプリ判定サーバ221に接続している。アプリ判定サーバ221は、検証部であるアプリ判定部223を備える。
また、実施の形態1と実施の形態2の動作の違いは以下の通りである。
実施の形態1では、認証子生成部111が生成したハッシュ値(認証子)を、アプリ判定部112が、参照ハッシュ値(認証子)と比較・判定していた。
それに対して、実施の形態2では、認証子生成部211が生成したハッシュ値(認証子)を、通信部212が、図示されていないネットワーク機能を利用して、ネットワーク222を介して、アプリ判定サーバ221に送付する。アプリ判定サーバ221のアプリ判定部223は、送付されたハッシュ値(認証子)と、予め保持しているハッシュ値(認証子)とを、比較・判定することで、正当なアプリケーションであるか否かを判定する。
上記の差異以外は、実施の形態1と実施の形態2は同一であるため、説明は省略する。
本実施の形態2は、アプリ判定サーバでアプリケーションが正当であるか否かを判定する。そのため、実施の形態1とは異なり、アプリ判定ステップで使用するための予め保持するハッシュ値(認証子)を、情報処理装置220で保持する必要がない。従って、情報処理装置220の記憶領域を削減する事が出来るという効果がある。
(実施の形態3)
図12は、本発明の実施の形態3に関わる情報処理装置のソフトウエア構成を示すブロック図である。
図13は、本発明の実施の形態3に関わる情報処理装置とアプリ判定部とサービス提供サーバがネットワーク接続された構成を示す図である。
図14は、本発明の実施の形態3に関わるデバイスアクセス制御のシーケンスを示す図である。
実施の形態1の情報処理装置120と実施の形態3の情報処理装置250との構成の差異は以下の通りである。
実施の形態1と実施の形態2とのハードウエア構成の差異は、セキュアデバイスは、ネットワークインターフェースであることである。そして、前述のネットワークインターフェースを制御するデバイスドライバは、ネットワークインターフェースドライバ235である。
実施の形態1の情報処理装置120では、アプリ特定部106が、検証部であるアプリ判定部112を備えていたが、実施の形態3の情報処理装置250のアプリ特定部236は、検証部であるアプリ判定部を備えてない。さらに、実施の形態3のアプリ特定部236は、通信部241を新たに備えている。さらに、実施の形態3のネットワークインターフェースドライバ235は、実行部であるデバイスアクセス制御部を備えていない。
さらに、実施の形態2の情報処理装置250と、アプリ判定サーバ251と、サービス提供サーバ252とは、ネットワーク253を介して互いに接続している。アプリ判定サーバ251は、検証部であるアプリ判定部254を備える。サービス提供サーバ252は、実行部としてのサービス提供部255とサービス提供判定部256を備える。
実行部としてのサービス提供部255は、情報処理装置250に対して、コンテンツ配信などのサービスを提供する。
サービス提供判定部256は、情報処理装置250に対して、サービスを提供してよいか否かを判定する。
図14のシーケンスを用いて、情報処理装置250が、サービス提供サーバ252から、サービスを受けるステップを説明する。
まず、情報処理装置250で実施される、セキュアデバイス処理要求(S200)、処理要求検出ステップ(S201)、対象アプリ抽出ステップ(S202)、対象アプリロックステップ(S203)、認証子生成ステップ(S204)は、実施の形態1の各ステップと同一の処理内容のため、説明を省略する。
認証子送信ステップでは、通信部241が、生成されたハッシュ値(認証子)を、ネットワーク253を介して、アプリ判定サーバ251に送付する。アプリ判定サーバ251のアプリ判定部254は、送付されたハッシュ値(認証子)と、予め保持しているハッシュ値(認証子)とを、比較・判定することで、正当なアプリケーションであるか否かを判定する。そして、アプリ判定部254は、サービス提供サーバ252に、ネットワーク253を介して、前述の判定結果を送付する。
サービス提供サーバ252のサービス提供判定部256は、送付された判定結果を受信する。
そして、サービス提供判定部256は、判定結果が正当なアプリケーションである場合には、サービス提供部255に、情報処理装置250に対して、サービスを提供するように指示する。サービスを提供するように指示されたサービス提供部255は、情報処理装置 250に、ネットワーク253を介して、サービスを提供する。
また、サービス提供判定部256は、判定結果が不正なアプリケーションである場合には、情報処理装置250に対して、要求失敗であることを示す情報を通知する。
なお、アプリ判定サーバ251と、サービス提供サーバ252は、同一のサーバであっても良い。
なお、アプリ判定部251と、サービス提供サーバ252は、情報処理装置250が接続されてない専用ネットワークで接続されていても良い。専用ネットワークで、アプリ判定部251とサービス提供サーバ252とが接続されてい場合には、アプリ判定サーバ251は、判定結果を専用ネットワークを介して、サービス提供サーバ252に通知する。
上記の差異以外は、実施の形態1と実施の形態3は同一であるため、説明は省略する。
実施の形態3では、サービス提供サーバが、情報処理装置に対してサービスを提供するか否かを判定する。そのため、ネットワークを介して、サービス提供者がソフトウエアを確認することが出来るという効果がある。
(実施の形態4)
図15は、本発明の実施の形態4に関わる情報処理装置のソフトウエア構成を示すブロック図である。
図16は、本発明の実施の形態4に関わるデバイスアクセス制御のシーケンスを示す図である。
実施の形態1の情報処理装置120と実施の形態4の情報処理装置との構成の差異は以下の通りである。
実施の形態1の情報処理装置120では、セキュアデバイスドライバ105が、検出部としてのデバイスアクセス要求判定部109と、実行部としてのデバイスアクセス制御部110とを備えていたが、実施の形態4のセキュアデバイスドライバ265は、検出部としてのデバイスアクセス要求判定部と実行部としてのデバイスアクセス制御部とを備えていない。さらに、実施の形態4のセキュアVMM260は、検出部としてのデバイスアクセス要求判定部269と、実行部としてのデバイスアクセス制御部270とを備えている。
図16のシーケンスを用いて、実施の形態4の情報処理装置が、正当なアプリケーションのみに対して、セキュアデバイスをアクセスさせるステップを説明する。
実施の形態1では、処理要求検出ステップ(S101)とデバイス処理判定ステップ(S106)とが、セキュアデバイスドライバ105で実現されていた。それに対して、実施の形態4では、処理要求検出ステップ(S211)とデバイス処理判定ステップ(S216)とが、セキュアVMM260で実現される。
上記の差異以外は、実施の形態1と実施の形態4は同一であるため、説明は省略する。
実施の形態4は、実施の形態1とは異なり、デバイスアクセス要求判定部269とデバイスアクセス制御部270が、セキュアVMM260内部に存在し、セキュアデバイスドライバ265内部に存在しない。従って、セキュアデバイスドライバを改変することなしに、実施の形態4の情報処理装置で動作させることが出来るという効果がある。
(実施の形態5)
図17は、本発明の実施の形態5に関わる情報処理装置のソフトウエア構成を示すブロック図である。
図18は、本発明の実施の形態5に関わるデバイスアクセス制御のシーケンスを示す図である。
実施の形態1の情報処理装置120と実施の形態5の情報処理装置との構成の差異は以下の通りである。
実施の形態1の情報処理装置120では、アプリ特定部106が、検証部としての認証子生成部111を備えていたが、実施の形態5のアプリ特定部286は、検証部としての認証子生成部を備えていない。さらに、実施の形態5のセキュアVMM280は、検証部としての認証子生成部289を備えている。
図18のシーケンスを用いて、実施の形態5の情報処理装置が、正当なアプリケーションのみに対して、セキュアデバイスをアクセスさせるステップを説明する。
実施の形態1では、認証子生成ステップ(S104)が、アプリ特定部106で実現されていた。それに対して、実施の形態5では、認証子生成ステップ(S224)が、セキュアVMM280で実現される。
上記の差異以外は、実施の形態1と実施の形態5は同一であるため、説明は省略する。
実施の形態5では、実施の形態1とは異なり、認証子生成部289が、セキュアVMM280内部に存在し、アプリ特定部286内部に存在しない。そのため、動作アプリ格納メモリ特定部287から認証子生成部289への情報通知が、同一モジュール(セキュアVMM280)内部で実現できる。従って、動作アプリ格納メモリ特定部287から認証子生成部289への情報通知が、より高速に出来るという効果がある。
(その他変形例)
(1)上記の実施の形態で、処理要求検出ステップにおいて、処理要求自体を検出するのではなく、要求のコマンド種別や、データの処理内容を参照することで処理要求が行われているか否かを判断して検出するとしても良い。
(2)上記の実施の形態で、処理要求検出ステップが、デバイス初期化の操作のみ対して検出操作を行うとしてもよい。
(3)上記の実施の形態で、処理要求検出ステップの検出を行うか否かを、乱数に基づいて、ランダムに決定するとしても良い。
(4)上記の実施の形態で、処理要求検出ステップの検出を行うか否かを、デバイスアクセス回数に基づいて切り替えるとしても良い。例えば、セキュアデバイスドライバに対して、10回のアクセスを行った場合には、検出するという操作を行ってもよい。
(5)上記の実施の形態で、認証子生成ステップのハッシュ値の生成において、SHA1以外の一方向性関数を用いてもよい。例えば、MD5や、SHA256、AES、DESを用いても良い。
(6)上記の実施の形態で、認証子生成ステップのハッシュ値の生成において、論理アドレス空間の一部のみを用いて、ハッシュ値を生成しても良い。例えば、アプリケーションのコード領域のみのハッシュ値を生成しても良い。
(7)上記の実施の形態で、認証子生成ステップのハッシュ値の生成において、複数個のハッシュ値を生成しても良い。例えば、論理メモリ空間を分割して、分割した領域毎にハッシュ値を生成しても良い。
(8)上記の実施の形態で、対象アプリロックステップのページテーブルの情報をバックアップする場合に、一部の情報のみをバックアップしても良い。
(9)上記の実施の形態で、アプリ判定部は、特定のアプリケーションライセンスを備えたアプリケーションのみを不正アプリケーションであると判定しても良い。
(10)上記の実施の形態で、CPUが、保護モードと通常モードを備えるCPUであってもよい。さらに、保護モードのCPUのみが、保護メモリにアクセス可能であってもよい。
(11)上記の実施の形態で、保護メモリとセキュアデバイスは、保護メモリに格納されたソフトウエアのみがアクセス可能となるように制御されるが、その手段は、ハードウエアによって実現してもよい。例えば、保護メモリ上のプログラムが動作しているときのみ、CPUから、保護メモリとセキュアデバイスへアクセス可能になるようにバスが制御されててもよい。
(12)上記の実施の形態で、通常メモリと保護メモリとが、同一のメモリであってもよい。
(13)上記の実施の形態で、不揮発性記憶装置が、汎用OSを格納していてもよい。その場合は、BIOS(Basic Input Output System)や、IPL(Initial Program Loader)と呼ばれる特別なファームウエア(プログラム)によって、汎用OSを通常メモリ上にロードさせる。
(14)上記の実施の形態で、不揮発性記憶装置が、セキュアデバイスドライバや、アプリ特定部や、管理専用OSや、セキュアVMMを格納していてもよい。その場合には、AES暗号などの秘密鍵暗号方式や、RSA暗号などの非対称鍵暗号方式などの暗号アルゴリズムを用いて、セキュアデバイスドライバや、アプリ特定部や、管理専用OSや、セキュアVMMは暗号化されて格納されている。そして、各モジュールは、復号されて保護メモリ上にロードされ、実行される。
(15)上記の実施の形態では、セキュアVMMが通常メモリに格納されていてもよい。その場合には、保護メモリに格納されている図示されていない改ざん検出プログラムが、セキュアVMMの改ざん検出を行ってもよい。さらに、前述のセキュアVMMの改ざん検出は、セキュアVMMを通常メモリにロードする場合に行ってもよく、定期的に改ざん検出をおこなってもよく、乱数などに基づいて不定期に行ってもよく、何らかのトリガに基づいて行ってもよい。
(16)上記の実施の形態では、セキュアVMMが通常メモリに格納されていてもよい。その場合には、情報処理装置内部の読み込み専用記憶装置(ROM)にに格納されている図示されていない改ざん検出プログラムが、セキュアVMMの改ざん検出を行ってもよい。さらに、前述のセキャアVMMの改ざん検出は、セキュアVMMを通常メモリにロードする場合に行ってもよく、定期的に改ざん検出をおこなってもよく、乱数などに基づいて不定期に行ってもよく、何らかのトリガに基づいて行ってもよい。
(17)上記の実施の形態では、CPUの特権状態をCPUのリングの機構を用いて実現したが、それ以外の方法であってもよい。例えば、完全仮想化をサポートしたCPUの仮想化ドメイン(管理ドメインと汎用ドメイン)の機構を利用してもよい。
(18)上記の実施の形態では、汎用OSが、アプリケーションのページテーブルを管理していたが、それ以外の方法であってもよい。例えば、OS仮想化技術のシャドー・ページングを利用して、セキュアVMMがページテーブルを管理してもよい。
また、上記の実施の形態では、汎用OSが管理するアプリケーションごとのページテーブルを、セキュアVMMがカレントページテーブルとして参照する構成を取っていた。より具体的には、カレントページテーブルを指すポインタを、汎用OSが管理するページテーブルのうちの現在処理中のアプリケーションに対応するページテーブルに繋ぐ構成を取っていた。しかし、これに限られるものではない。例えば、上述のシャドー・ページングを使う場合は、動作させるアプリケーションの切り替えが起こるたびに、セキュアVMM自身が、汎用OSが管理するページテーブルのコピーを作る。この場合、メモリアクセスの制御は、セキュアVMMが保持するページテーブルに基づいて行われるので、セキュアVMMは、自身が複製したページテーブルに対して、上記の実施の形態におけるカレントページテーブルと同様の処理を行うとすればよい。
(19)上記の実施の形態2と実施の形態3では、情報処理装置からアプリ判定部に対して、ハッシュ値(認証子)と共に、情報処理装置を識別する情報を送付してもよい。
(20)上記の実施の形態2と実施の形態3では、情報処理装置とアプリ判定部とで、安全な通信路を用いても良い。例えば、SSLを利用しても良い。
(21)上記の実施の形態2と実施の形態3では、情報処理装置からアプリ判定部に対して送付する情報を、電子署名を用いて保護してもよい。例えば、TCG(Trusted Computing Group)のTPM(Trusted Platform Module)を用いて、送付する情報に対して電子署名を作成し、アプリ判定サーバに電子署名を送付してもよい。
(22)上記の実施の形態2と実施の形態3では、情報処理装置とアプリ判定サーバとで、チャレンジ・レスポンス処理を行い、相互認証を行ってもよい。
(23)上記の実施の形態では、CPUは、自身の特権状態よりもレベルの低い特権情報に対応するページテーブルのエントリは全てアクセスできるとしていたが、これに限られるものではない。例えば、特権状態と特権情報とを1対1に対応させ、リング3の特権状態の時はリング3の特権情報を持つエントリにしかアクセスできないとしてもよい。
(24)上記の実施の形態で述べた構成要素については、その一部または全てを実現可能な範囲でソフトウェアとして実装してもよい。この場合、集積回路上に乗せなくてはならないハードウェアの量を抑えることができるので、より集積度を向上させることができる。
(25)上記の実施の形態で述べた構成要素については、その一部または全てを実現可能な範囲でハードウェアとして実装してもよい。この場合、上記の構成要素をソフトウェアで実装するよりも処理を高速化することができる。このような実装は、特に退避処理や復帰処理等、ユーザの利便性のために高速化が求められる処理などにおいて有用である。
(26)システムLSIは集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもあるが、システムLSI100を上記のいずれの集積度で実現した場合も本発明に含まれることは言うまでもない。また、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて構成要素の集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(27)また、本発明は、前記コンピュータプログラムまたは前記ディジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−rayDisc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記ディジタル信号であるとしてもよい。
(28)これらの実施の形態および変形例の組合せであってもよい。
本発明にかかるセキュアデバイスに対するアクセス制御を行う手法は、アプリケーションが格納されている論理メモリ空間をロックし、ハッシュ値を生成・判定することによって、アプリケーションの差し替えによる不正アプリケーションのデバイスアクセスを防止するという効果を有する。そのため、セキュアデバイスを処理するデータ処理において、不正アプリケーションの動作を防止させるという効果がある。
本発明の実施の形態1のソフトウエア構成を示すブロック図 本発明の実施の形態1のハードウエア構成を示すブロック図 本発明の実施の形態1の情報処理装置の物理メモリ空間を示す図 本発明の実施の形態1の仮想物理メモリ空間と論理メモリ空間との対応関係を示す一例の図 本発明の実施の形態1のページテーブルのデータ構造の一例を示す図 本発明の実施の形態1のCPUが、通常メモリ及び保護メモリへアクセスを行った場合のアクセス制御を示す表 本発明の実施の形態1の汎用OSによるページテーブルとアプリケーションの操作の一例を示す図 本発明の実施の形態1のセキュアVMMによるページテーブルとソフト実行環境の操作の一例を示す図 本発明の実施の形態1の不正アプリケーションによる、セキュアデバイスアクセス防止を示すシーケンス図 本発明の実施の形態2のソフトウエア構成を示す図 本発明の実施の形態2の情報処理装置とアプリ判定部とがネットワーク接続された構成を示す図 本発明の実施の形態3のソフトウエア構成を示す図 本発明の実施の形態3の情報処理装置とアプリ判定部とサービス提供サーバとがネットワーク接続された構成を示す図 本発明の実施の形態3の不正アプリケーションによる、セキュアデバイスアクセス防止を示すシーケンス図 本発明の実施の形態4のソフトウエア構成を示す図 本発明の実施の形態4の不正アプリケーションによる、セキュアデバイスアクセス防止を示すシーケンス図 本発明の実施の形態5のソフトウエア構成を示す図 本発明の実施の形態5の不正アプリケーションによる、セキュアデバイスアクセス防止を示すシーケンス図 従来のプログラムの正当性を確認するシーケンス図 従来のOS仮想化実行環境における、データを適切に実行環境ごとに処理するソフトウエア構成を示す図 従来のOS仮想化実行環境における、データを適切に実行環境ごとに処理するシーケンス図 汎用OS上のアプリケーションをロードするシーケンス図 本発明の実施の形態1のページテーブルのデータ構造の書換え後一例を示す図
符号の説明
100、133、190、200、230、260、280 セキュアVMM
101、129、180、201、231、261、281、401 汎用OS
102、103、127、128、183、184、202、203、232、233、262、263、282、283 アプリケーション
104、132、204、234、264、284 管理専用OS
105、130、205、265、285 セキュアデバイスドライバ
106、131、206、236、266、286 アプリ特定部
107、207、237、267、287 動作アプリ格納メモリ特定部
108、208、238、268、288 動作アプリメモリロック部
109、209、239、269、290 デバイスアクセス要求判定部
110、210、270、291 デバイスアクセス制御部
111、211、240、271、289 認証子生成部
112、223、254、272、292 アプリ判定部
120、220、250 情報処理装置
121 CPU
122 MMU
123、141、151 通常メモリ
124、143 保護メモリ
125 バス
126 セキュアデバイス
134 不揮発性記憶装置
140 情報処理装置の物理メモリ空間
142、144、152 予約領域
150 セキュアVMMによって、汎用OSに割り当てられた仮想物理メモリ空間
135、136、153、160、181、182、300 ページテーブル
154 アプリケーションの論理メモリ空間
161、301 ページ番号のフィールド
162、302 論理アドレス番号のフィールド
163、303 仮想物理アドレス番号のフィールド
164、304 特権情報のフィールド
165、305 書込み操作許可・不許可情報のフィールド
166、306 読込み操作許可・不許可情報のフィールド
167、307 その他の情報のフィールド
170 通常メモリ及び保護メモリへアクセスを行った場合のアクセス制御を示すテーブル
191 汎用OSが管理するカレントページテーブル
192 管理専用OSが管理するカレントページテーブル
193 汎用OSと動作中のアプリケーション
194 管理専用OSと動作中の管理専用OS上のアプリケーション
212、241 通信部
221、251 アプリ判定サーバ
222、253 ネットワーク
235 ネットワークセキュアデバイスドライバ
252 サービス提供サーバ
255 サービス提供部
256 サービス提供判定部
400 VMM
402 ネットワーク対応アプリ
403 汎用OS NICプロキシ
404 リアルタイムOS
405 リアルタイムNICプロキシ
406 リアルタイムUDP/IP
407 NICドライバ

Claims (10)

  1. 所定のデバイスにアクセスする所定のアプリケーションをワークエリア上で動作させる仮想マシンと、
    前記所定のアプリケーションを用いた所定のデバイスへのアクセス要求を前記仮想マシンから検出する検出部と、
    前記所定のアプリケーションの正当性を検証する検証部と、
    前記仮想マシン、前記検証部及び前記検出部を管理し、前記ワークエリア上で動作する所定のアプリケーションを書き換え可能に管理する仮想マシンモニタと、を具備し、
    前記検出部は前記アクセス要求を検出するとその旨を前記仮想マシンモニタに通知し、
    前記仮想マシンモニタは前記ワークエリア上の前記所定のアプリケーションを書換え不可能なものと管理し直してその旨を前記検証部に通知し、
    前記検証部は前記仮想マシンモニタからの通知を受けると前記所定のアプリケーションが正当であるか否かを判断し、
    前記仮想マシンモニタは、前記ワークエリアに前記所定のアプリケーションに対応する管理情報を管理し、前記管理情報は前記管理情報を書換える権限を有する主体を示す特権情報を含み、前記所定のアプリケーションの書換え可能な主体が前記仮想マシンを含む旨を前記特権情報が示している場合、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するように前記特権情報を書き換えることで、前記所定のアプリケーションを書換え不可能なものと管理する
    ことを特徴とする情報処理装置。
  2. 前記検証部が前記所定のアプリケーションが正当であると判断した場合、前記所定のアプリケーションを用いて所定のデバイスにアクセスする実行部を設けた
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記仮想マシンモニタは、前記実行部が前記所定のアプリケーションを用いた所定のデバイスへのアクセスを終了した後、前記所定のアプリケーションを書換え可能なものに管理を戻す
    ことを特徴とする請求項2記載の情報処理装置。
  4. 前記仮想マシンモニタは、前記所定のアプリケーションの書換え可能な主体を前記仮想マシン及び前記仮想マシンモニタを含む情報から、前記所定のアプリケーションの書換え可能な主体を前記仮想マシンモニタに制限する情報に前記特権情報を書き換えることで、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除する
    ことを特徴とする請求項1記載の情報処理装置。
  5. 前記検証部は、前記情報処理装置の外部装置に含まれる
    ことを特徴とする請求項1記載の情報処理装置。
  6. 前記実行部は、前記情報処理装置の外部装置に含まれる
    ことを特徴とする請求項2記載の情報処理装置。
  7. 前記所定のデバイスは、SDカードである
    ことを特徴とする請求項1記載の情報処理装置。
  8. 前記所定のデバイスは、前記情報処理装置にコンテンツを提供する外部のコンテンツサーバである
    ことを特徴とする請求項1記載の情報処理装置。
  9. 所定のデバイスにアクセスする所定のアプリケーションをワークエリア上で動作させる仮想マシンと、
    前記所定のアプリケーションを用いた所定のデバイスへのアクセス要求を前記仮想マシンから検出する検出部と、
    前記所定のアプリケーションの正当性を検証する検証部と、
    前記仮想マシン、前記検証部及び前記検出部を管理する仮想マシンモニタと、を具備した情報処理装置の制御方法であって、
    前記検出部は前記アクセス要求を検出するとその旨を前記仮想マシンモニタに通知し、
    前記仮想マシンモニタは前記ワークエリア上の前記所定のアプリケーションを書換え不可能なものと管理し直してその旨を前記検証部に通知し、
    前記検証部は前記仮想マシンモニタからの通知を受けると前記所定のアプリケーションが正当であるか否かを判断し、
    前記仮想マシンモニタは、前記ワークエリアに前記所定のアプリケーションに対応する管理情報を管理し、前記管理情報は前記管理情報を書換える権限を有する主体を示す特権情報を含み、前記所定のアプリケーションの書換え可能な主体が前記仮想マシンを含む旨を前記特権情報が示している場合、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するように前記特権情報を書き換えることで、前記所定のアプリケーションを書換え不可能なものと管理する
    ことを特徴とする制御方法。
  10. 情報処理装置に用いられる集積回路であって、
    所定のデバイスにアクセスする所定のアプリケーションをワークエリア上で動作させる仮想マシンと、
    前記所定のアプリケーションを用いた所定のデバイスへのアクセス要求を前記仮想マシンから検出する検出部と、
    前記所定のアプリケーションの正当性を検証する検証部と、
    前記仮想マシン、前記検証部及び前記検出部を管理する仮想マシンモニタと、を具備し、
    前記検出部は前記アクセス要求を検出するとその旨を前記仮想マシンモニタに通知し、
    前記仮想マシンモニタは前記ワークエリア上の前記所定のアプリケーションを書換え不可能なものと管理し直してその旨を前記検証部に通知し、
    前記検証部は前記仮想マシンモニタからの通知を受けると前記所定のアプリケーションが正当であるか否かを判断し、
    前記仮想マシンモニタは、前記ワークエリアに前記所定のアプリケーションに対応する管理情報を管理し、前記管理情報は前記管理情報を書換える権限を有する主体を示す特権情報を含み、前記所定のアプリケーションの書換え可能な主体が前記仮想マシンを含む旨を前記特権情報が示している場合、前記所定のアプリケーションの書換え可能な主体から前記仮想マシンを排除するように前記特権情報を書き換えることで、前記所定のアプリケーションを書換え不可能なものと管理する
    ことを特徴とする集積回路。
JP2008043009A 2008-02-25 2008-02-25 情報処理装置及びその制御方法 Active JP5260081B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008043009A JP5260081B2 (ja) 2008-02-25 2008-02-25 情報処理装置及びその制御方法
EP09715484.3A EP2249280B1 (en) 2008-02-25 2009-02-09 Information processor and method for controlling the same
PCT/JP2009/000500 WO2009107330A1 (ja) 2008-02-25 2009-02-09 情報処理装置及びその制御方法
CN200980105824.2A CN101946252B (zh) 2008-02-25 2009-02-09 信息处理装置及其控制方法
US12/918,918 US8689212B2 (en) 2008-02-25 2009-02-09 Information processing device for controlling an application able to access a predetermined device, and control method using an information processing device for controlling an application able to access a predetermined device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008043009A JP5260081B2 (ja) 2008-02-25 2008-02-25 情報処理装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2009199530A JP2009199530A (ja) 2009-09-03
JP2009199530A5 JP2009199530A5 (ja) 2011-02-10
JP5260081B2 true JP5260081B2 (ja) 2013-08-14

Family

ID=41015737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008043009A Active JP5260081B2 (ja) 2008-02-25 2008-02-25 情報処理装置及びその制御方法

Country Status (5)

Country Link
US (1) US8689212B2 (ja)
EP (1) EP2249280B1 (ja)
JP (1) JP5260081B2 (ja)
CN (1) CN101946252B (ja)
WO (1) WO2009107330A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753867B2 (en) 2014-06-20 2017-09-05 Kabushiki Kaisha Toshiba Memory management device and non-transitory computer readable storage medium
US9753868B2 (en) 2014-06-20 2017-09-05 Kabushiki Kaisha Toshiba Memory management device and non-transitory computer readable storage medium
US9779033B2 (en) 2014-06-20 2017-10-03 Kabushiki Kaisha Toshiba Memory management device and non-transitory computer readable storage medium

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201137660A (en) * 2009-12-23 2011-11-01 Ibm Method and system for protecting an operating system against unauthorized modification
EP2413257B1 (en) * 2010-07-26 2017-04-26 Sony DADC Austria AG Method for replacing an illegitimate copy of a software program with legitimate copy and corresponding system
US8307169B2 (en) * 2011-03-10 2012-11-06 Safenet, Inc. Protecting guest virtual machine memory
CN102959555B (zh) * 2011-04-27 2015-09-02 松下电器(美国)知识产权公司 虚拟计算机系统、虚拟计算机控制方法及半导体集成电路
CN103003798B (zh) * 2011-05-16 2017-02-22 松下电器(美国)知识产权公司 虚拟计算机系统、虚拟计算机系统的控制方法
US20130055335A1 (en) * 2011-08-22 2013-02-28 Shih-Wei Chien Security enhancement methods and systems
JP2013114367A (ja) * 2011-11-28 2013-06-10 Junko Suginaka ファイル通信処理方法及び外部デバイス
JP5981984B2 (ja) 2012-02-22 2016-08-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム
US10579405B1 (en) * 2013-03-13 2020-03-03 Amazon Technologies, Inc. Parallel virtual machine managers
US10270748B2 (en) * 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US10198572B2 (en) * 2013-09-17 2019-02-05 Microsoft Technology Licensing, Llc Virtual machine manager facilitated selective code integrity enforcement
US9538377B2 (en) * 2014-08-22 2017-01-03 Salesforce.Com, Inc. Switching between restricted-access websites on mobile user devices
US9866589B1 (en) * 2014-12-17 2018-01-09 Airwatch Llc Management of actions initiated by applications in client devices
US9715410B2 (en) * 2015-01-30 2017-07-25 Red Hat Israel, Ltd. Protected virtual machine function access
JP6712720B2 (ja) * 2016-03-22 2020-06-24 オリンパス株式会社 照合情報処理装置
KR20180071679A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 사용자 단말 장치 및 그의 제어 방법
WO2018139296A1 (ja) * 2017-01-25 2018-08-02 日立オートモティブシステムズ株式会社 車両制御装置およびプログラム更新システム
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
CN109445902B (zh) * 2018-09-06 2021-05-07 新华三云计算技术有限公司 一种数据操作方法和系统
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175486A (ja) * 1999-12-21 2001-06-29 Hitachi Ltd 計算機システム
JP4177957B2 (ja) * 2000-03-22 2008-11-05 日立オムロンターミナルソリューションズ株式会社 アクセス制御システム
US7035850B2 (en) 2000-03-22 2006-04-25 Hitachi, Ltd. Access control system
JP2003186561A (ja) 2001-12-20 2003-07-04 Nippon Telegr & Teleph Corp <Ntt> 情報処理方法、装置及びプログラム
EP1503286B1 (en) 2003-07-30 2014-09-03 Jaluna SA Multiple operating system networking
US7310721B2 (en) 2003-10-30 2007-12-18 Microsoft Corporation Shadow page tables for address translation control
US7725895B2 (en) * 2004-03-31 2010-05-25 Intel Corporation Processor control register virtualization to minimize virtual machine exits
US7802110B2 (en) 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
US7797699B2 (en) 2004-09-23 2010-09-14 Intel Corporation Method and apparatus for scheduling virtual machine access to shared resources
JP4116024B2 (ja) * 2005-07-29 2008-07-09 株式会社ソニー・コンピュータエンタテインメント ペリフェラルの使用管理方法、電子システム及びその構成装置
US8042109B2 (en) 2006-03-21 2011-10-18 Intel Corporation Framework for domain-specific run-time environment acceleration using virtualization technology
US7613847B2 (en) 2006-05-16 2009-11-03 Hewlett-Packard Development Company, L.P. Partially virtualizing an I/O device for use by virtual machines

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753867B2 (en) 2014-06-20 2017-09-05 Kabushiki Kaisha Toshiba Memory management device and non-transitory computer readable storage medium
US9753868B2 (en) 2014-06-20 2017-09-05 Kabushiki Kaisha Toshiba Memory management device and non-transitory computer readable storage medium
US9779033B2 (en) 2014-06-20 2017-10-03 Kabushiki Kaisha Toshiba Memory management device and non-transitory computer readable storage medium

Also Published As

Publication number Publication date
EP2249280A4 (en) 2013-02-06
CN101946252B (zh) 2013-08-14
CN101946252A (zh) 2011-01-12
EP2249280B1 (en) 2015-08-12
EP2249280A1 (en) 2010-11-10
JP2009199530A (ja) 2009-09-03
WO2009107330A1 (ja) 2009-09-03
US8689212B2 (en) 2014-04-01
US20130212575A1 (en) 2013-08-15

Similar Documents

Publication Publication Date Title
JP5260081B2 (ja) 情報処理装置及びその制御方法
CN110447032B (zh) 管理程序与虚拟机之间的存储器页转换监测
US10789371B2 (en) Technologies for trusted I/O with a channel identifier filter and processor-based cryptographic engine
US8555089B2 (en) Program execution apparatus, control method, control program, and integrated circuit
JP5175856B2 (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
JP5670578B2 (ja) 機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置
JP4392241B2 (ja) 付属記憶装置を採用したコンピュータ・システム内の安全保護を促進するための方法ならびにシステム
JP5249399B2 (ja) 安全なメモリ区分を使用した安全な実行のための方法および装置
US20110289294A1 (en) Information processing apparatus
CN109800050B (zh) 一种虚拟机的内存管理方法、装置、相关设备及系统
US9158924B2 (en) Information processing apparatus and information processing method
US7874009B2 (en) Data processing device
KR100294829B1 (ko) 플래시 메모리를 보호하는 방법 및 장치
KR100309535B1 (ko) 보안저장영역에서애플리케이션데이터의보호방법및장치
RU2295834C2 (ru) Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей средство управления доступом к данным
KR101014179B1 (ko) 플래시 대용량 저장 메모리를 가진 보안 장치를 위한 보안 및 적응형 시스템 구조
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
JP2010157224A (ja) クライアント・プラットフォーム上のコンテンツを保護する方法
JP2023014306A (ja) ストレージ装置及び制御方法
US20020069316A1 (en) Method and apparatus for protecting flash memory
CN111444553A (zh) 支持tee扩展的安全存储实现方法及系统
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130312

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5260081

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150