JP2010039891A - 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム - Google Patents

情報処理装置、プログラム実行方法、プログラムおよび情報処理システム Download PDF

Info

Publication number
JP2010039891A
JP2010039891A JP2008203915A JP2008203915A JP2010039891A JP 2010039891 A JP2010039891 A JP 2010039891A JP 2008203915 A JP2008203915 A JP 2008203915A JP 2008203915 A JP2008203915 A JP 2008203915A JP 2010039891 A JP2010039891 A JP 2010039891A
Authority
JP
Japan
Prior art keywords
target program
program
information processing
execution
decryption
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.)
Pending
Application number
JP2008203915A
Other languages
English (en)
Inventor
Yasuo Miyabe
保雄 宮部
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008203915A priority Critical patent/JP2010039891A/ja
Priority to US12/536,029 priority patent/US20100037066A1/en
Publication of JP2010039891A publication Critical patent/JP2010039891A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

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

Abstract

【課題】 プログラムの改ざんや不正な解析を防止する。
【解決手段】 情報処理装置は、暗号化されたターゲットプログラムの実行開始時に、当該ターゲットプログラムの復号を要求する復号要求手段と、前記ターゲットプログラムの実行完了時に当該ターゲットプログラムの消去を要求する消去要求手段と、前記復号要求手段からの復号の要求を受けて前記ターゲットプログラムを復号し、復号された当該ターゲットプログラムをメモリに書き込む復号手段と、前記消去要求手段からの消去の要求を受けて、前記メモリに書き込まれた前記復号されたターゲットプログラムを前記メモリから消去する消去手段とを有する。
【選択図】 図1

Description

本発明は情報処理装置、プログラム実行方法、プログラムおよび情報処理システムに関し、特に、プログラムのセキュリティを保障する情報処理装置、プログラム実行方法、プログラムおよび情報処理システムに関する。
データの改ざんや解析の防止に関連するセキュリティ技術がとして「セキュア・メモリ」を有するプロセッサとしてが特許文献1に開示されている。特許文献1のプロセッサでは、カーネル・モードで実行している場合のみ参照が可能であるように構成された「セキュア・メモリ」をが、プロセッサ・チップ内部に有して設けられている。この特殊なプロセッサにより、特許文献1のセキュリティ技術は、「セキュア・メモリ」上にロードされたデータを配置しすることで、これにより改竄防止や秘匿性の確保を行なうことを可能にしている。
さらに、プログラムの改ざんの防止に関連するセキュリティ技術が「プログラム実行後の自己消去」として特許文献2に開示されている。特許文献2の技術は、Windows(登録商標)やUNIX(登録商標)などの、プログラムの実行が終了するまで削除されない仕様を利用して、プログラムのファイル削除命令を繰り返し実行することでプログラム終了直後にプログラムのファイルを削除することを可能にしている。
また、プログラムの実行が正常であることを検証する技術がとして、性能評価装置としてが特許文献3に開示されている。特許文献3の性能評価装置は、テストプログラムの実行時間を測定し、標準実行時間と比較することで正常性の検証を可能にしている。
特開2004−272594号公報 特開2000−187646号公報 特開平07−121409号公報
しかしながら、上述した特許文献1のセキュリティ技術には、内部にセキュアなメモリをもつが必要なことや、外部メモリを暗号化の施された通信路を介して解析困難なプロトコルで接続する必要があるという非常に特殊なプロセッサでなければ実現できないという課題問題があった。
さらに、上述した特許文献2のセキュリティ技術には、メモリ上に展開されている状態のプログラムが改ざんされることに対しては防備が不十分であるという課題問題があった。
また、上述した特許文献23のプログラムの実行が正常であることを検証する技術には、実行時間の測定結果を不正に操作することに対しては防備が不十分であるという課題問題があった。
本発明の目的は、上述した課題を解決する情報処理装置、プログラム実行方法、プログラムおよび情報処理システムを提供することにある。
本発明の情報処理装置は、暗号化されたターゲットプログラムの実行開始時に、当該ターゲットプログラムの復号を要求する復号要求手段と、前記ターゲットプログラムの実行完了時に当該ターゲットプログラムの消去を要求する消去要求手段と、前記復号要求手段からの復号の要求を受けて前記ターゲットプログラムを復号し、復号された当該ターゲットプログラムをメモリに書き込む復号手段と、前記消去要求手段からの消去の要求を受けて、前記メモリに書き込まれた前記復号されたターゲットプログラムを前記メモリから消去する消去手段とを有する。
本発明のプログラム実行方法は、暗号化されたターゲットプログラムの実行開始時に、当該ターゲットプログラムの復号を要求するステップと、当該復号の要求を受けて前記ターゲットプログラムを復号し、復号された当該ターゲットプログラムをメモリに書き込むステップと、前記復号されたターゲットプログラムの実行完了時に当該復号されたターゲットプログラムの消去を要求するステップと、当該消去の要求を受けて、前記メモリに書き込まれた前記復号されたターゲットプログラムを前記メモリから消去するステップとを有することを特徴とする。
本発明のプログラムは、暗号化されたターゲットプログラムの実行開始時に、当該ターゲットプログラムの復号を要求するステップと、当該復号の要求を受けて前記ターゲットプログラムを復号し、復号された当該ターゲットプログラムをメモリに書き込むステップと、前記復号されたターゲットプログラムの実行完了時に当該復号されたターゲットプログラムの消去を要求するステップと、当該消去の要求を受けて、前記メモリに書き込まれた前記復号されたターゲットプログラムを前記メモリから消去するステップとをコンピュータに実行させる。
本発明によれば、特殊なプロセッサを用いることなく、メモリ上に展開されたプログラムに対する不正な解析や改ざんを防止することが可能になる。
次に、本発明の実施の形態について説明する。尚、以下の説明において用いられる用語、「被保障プログラム」や「復号被保障プログラム」は一般的に「ターゲットプログラム」と、「CPU(Central Processing Unit)」は一般的に「プロセッサ」と、「ファームウエア記憶部」は一般的に「ファームウエア領域」とそれぞれ一般的に呼ぶことができる。また、以下の説明において同様に、「復号異常」や「実行異常」は一般的に「異常」と呼ぶことができる。また、以下の説明において、「情報処理装置」は一般的に「第1の情報処理装置」と、「サーバ」は一般的に「第2の情報処理装置」とそれぞれ一般的に呼ぶことができる。
まず、本発明の第1の実施の形態について図面を参照して詳細に説明する。図1および図2を参照すると、第1の実施の形態の情報処理装置10は、ファームウエア記憶部11、秘密鍵記憶部12、履歴記録部13、CPU21、メモリ22、記憶装置23および制御部710を含む。
ファームウエア記憶部11は、例えば、PROM(Programmable Read Only Memory)など、その内容を改ざんすることが困難な記憶手段である。
ファームウエア110は、ファームウエア記憶部11に格納され、復号処理711、消去処理712、計測処理713および参照処理714を含む。これらのファームウエア110に含まれる各手段処理は、CPU21にて実行されるプログラムである。
秘密鍵記憶部12は、例えば、ハードウェアのレジスタやPROMであり、復号手段111からのみ内容を読み出すことができる。
履歴記録部13は、例えば、ハードウェアのレジスタであり、復号手段111および計測手段113からのみ内容を書き込みすることができ、履歴参照手段114からのみ内容を読み出しすることができる。
CPU21は、ファームウエア110、実行形式ファイル221のコード領域222の各手段、復号プログラム327およびOS(Operating System)240を実行する。
図2に示すように、メモリ22は、実行形式ファイル221、復号プログラム327およびOS240をCPU21が読み出し可能なデータとして記憶する。図2はメモリ22に格納される情報の構造を示す図である。
実行形式ファイル221は、コード領域222およびデータ領域226を含む。
コード領域222は、読込手段処理723、復号要求処理724および呼出処理725を含む。
データ領域226は、暗号化プログラム227を含む。
暗号化プログラム227は、秘密鍵122で復号可能な暗号化を行う暗号鍵を用いて、復号プログラム327を暗号化したものである。
復号プログラム327は、復号被保障プログラム328と復号消去要求プログラム329を含む。
復号被保障プログラム328は、内容の秘匿と完全性を保障する対象のプログラムである。
復号消去要求プログラム329は、メモリ22上の復号プログラム327の消去をファームウエア110後述する消去手段112に要求するプログラムである。
OS240は、CPU21上で動作し情報処理装置10全体の動作を制御する。
記憶装置23は、例えば、磁気ディスク装置等であり、実行形式ファイル231を記憶している。
実行形式ファイル231は、暗号化プログラム227を含み、OS240によってメモリ22上に展開され、CPU21により実行される。
制御部710は、復号手段111、消去手段112、計測手段113、参照手段114、読込手段223、復号要求手段224および呼出手段225を含む。復号手段111、消去手段112、計測手段113および参照手段114は、復号処理711、消去処理712、計測処理713および参照処理714がCPU21にてそれぞれ実行されることにより実現される。読込手段223、復号要求手段224および呼出手段225は、読込処理723、復号要求処理724および呼出処理725がCPU21にてそれぞれ実行されることにより実現される。
復号手段111は、秘密鍵記憶部12から秘密鍵122を読み出し、秘密鍵122を用いてメモリ22上に展開されている暗号化プログラム227を復号する。また復号手段111は、暗号化プログラム227の復号が正常に行われたかどうかを判断し、正常である場合は計測手段113に計測開始を指示する。
消去手段112は、計測手段113に計測終了の指示を出し、メモリ22の指定された領域の内容を消去(たとえば、その領域すべてに『0』を上書き)する。
計測手段113は、計測開始の指示と計測終了の指示を受け、この2つの指示の間の時間を被検証実行時間として計測する。また、計測手段113は、復号被保障プログラム328および復号消去要求プログラム329に対し内容の解析や改ざんなどが行われていない状態で計測した計測開始の指示と計測終了の指示の間の時間を期待値実行時間として予め与えられ、記憶している。さらに、計測手段113は、被検証実行時間と期待値実行時間とを比較し、その差が一定の範囲(例えば、期待値実行時間の5%の時間などであってよい)を超えている場合、プログラムの解析や改ざんが行われたと判断し、履歴記録部13に不正が行われたことを示す記録を書き込む。
履歴参照手段114は、履歴記録部13の記録を読み出す。
読込手段223は、暗号化プログラム227をメモリ22のデータ領域226に読み込む。復号要求手段224は、暗号化プログラム227の復号をファームウエア110復号手段111に要求する。呼出手段225は、復号被保障プログラム328を呼び出す。
次に、図1から図3を参照して第1の実施の形態の動作について詳細に説明する。図3は、情報処理装置10の動作を示す図である。
まず、OS240は、記憶装置23に記憶されている実行形式ファイル231の読込処理723、復号要求処理724および呼出手段725を読み出し、メモリ22のコード領域222に展開する(ステップA1)。
次に、読込手段223は、実行形式ファイル231の暗号化プログラム227をメモリ22のデータ領域226に展開する(ステップA2)。
次に、復号要求手段224は、ステップA2でメモリ22に展開した暗号化プログラム227のメモリ22上のアドレスおよびサイズを、ファームウエア110の復号手段111に与え、暗号化プログラム227の復号を要求する(ステップA3)。
復号手段111は、ステップA3の暗号化プログラム227の復号の要求に対応して、秘密鍵記憶部12から秘密鍵122を読み出し、秘密鍵122を用いて与えられたアドレスから与えられたサイズだけ暗号化プログラム227を復号し、復号プログラム327としてメモリ22に展開する(ステップA4)。
次に復号手段111は、暗号化プログラム227の復号が正常に行われたか否かを判断する(ステップA5)。例えば、復号手段111は、復号プログラム327に含まれるチェックコードなどにより復号プログラム327の正常性を判断するようにしてもよい。
そして、復号プログラム327の復号が正常に行われていない場合(ステップA5でNo)、復号手段111は履歴記録部13に復号異常を示す情報を記録し(ステップA14)、処理を終了する。
ステップA5で復号プログラム327の復号が正常に行われた場合(ステップA5でYes)、復号手段111は計測手段113に復号プログラム327の実行時間の計測開始の指示を出す(ステップA6)。計測開始の指示を受けた計測手段113は、現在時刻を復号プログラム327の実行の開始時刻として記録する(ステップA7)。尚、現在時刻は、OS240から取得してもよいし、計測手段113内に時計機能を有していてもよい。
次に、呼出手段225が復号された復号被保障プログラム328を呼び出し、呼び出された復号被保障プログラム328が動作を実行する(ステップA8)。
次に、復号消去要求プログラム329が、ファームウエア110の消去手段112に、復号プログラム327の内容の消去を要求する(ステップA9)。
消去手段112は、ステップA9の復号プログラム327の内容の消去の要求に対応して、まず計測手段113に復号プログラム327の実行時間の計測終了の指示を出す(ステップA10)。計測終了の指示を受け取った計測手段113は、ステップA7で記録した復号プログラム327の実行の開始時刻と現在の時刻の差(復号プログラム327の実行に要した時間と見なせる)から被検証実行時間を計算する(ステップA11)。
続けて、消去手段112は、復号プログラム327の内容をメモリ22上から消去する(ステップA12)。
次に、計測手段113はステップA11で求めた被検証実行時間と、計測手段113に記憶されている復号プログラム327の期待値実行時間を比較し、その差が一定の範囲内にあるかどうか判断する(ステップA13)。実行時間の差が一定の範囲に収まっていない場合(ステップA13で、No)、計測手段113は履歴記録部13に実行異常を示す情報を記録し(ステップA15)、処理を終了する。実行時間の差が一定の範囲に収まっている場合(ステップA13で、Yes)、計測手段113は処理を終了する。
なお、履歴参照手段114は、履歴記録部13の内容を読み出し、OS240や図示しない他の手段(例えば、マンマシンインタフェースなど)に出力する。OS240や、マンマシンインタフェースを経由して情報を得た操作者は、復号異常を確認することで暗号化プログラム227に対して内容の改ざんが行われていたと判断すること、あるいは実行異常を確認することで復号プログラム327の解析や改ざんが行われたと判断することができる。
図4は、本実施の形態の特徴的な構成を示す図である。
暗号化被保障プログラム228は、ある被保障プログラム800(図示しない。例えば、不正な解析や改ざんから保護したいアプリケーションプログラムなど)を暗号化したものである。
復号被保障プログラム328は、暗号化被保障プログラム228を復号したものであり、暗号化被保障プログラム228の元である被保障プログラム800の内容と同じ内容のものである。
復号要求手段621は、被保障プログラム800の実行開始時に対応する暗号化被保障プログラム228の復号を要求する。
復号手段611は、この復号の要求を受けて暗号化被保障プログラム228を復号し、これを復号被保障プログラム328としてメモリ22に書き込む。
消去要求手段622は、復号被保障プログラム328の実行完了時に、復号被保障プログラム328の消去を要求する。
消去手段612は、この消去の要求を受けてメモリ22に書き込まれた復号被保障プログラム328を消去する。
本実施の形態の第1の効果は、プログラムの解析や改ざんを行うことができる状態でプログラムが存在する期間が短く、不正な解析や改ざんを困難にできる点である。その理由は、暗号化されたプログラムを実行直前に復号し、復号されたプログラムの実行が完了すると即座に消去するようにしたからである。
本実施の形態の第2の効果は、メモリ上に展開されたプログラムが不正に解析、または改ざんされたことを検出できる点である。その理由は、暗号化されたプログラムを実行直前に復号した時点から、復号されたプログラムの実行が完了して即座に消去する時点までの時間を期待値と比較して異常の有無を検出するようにしたからである。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
図5を参照すると、本発明の第2の実施の形態の情報処理装置40は本発明の第1の実施の形態の情報処理装置10と比較して、ファームウエア410に復号手段処理711にかわる展開復号処理741、呼出処理725、および暗号化プログラム412とを含むこと、制御部740に復号手段111にかわる展開復号手段411を含むこと、同じく制御部740に呼出手段225を含むこと、および記憶装置23に暗号化プログラム226を含む実行形式ファイル231を含んでいないことが異なる。展開復号手段411は、CPU21が展開復号処理741を実行することで実現するようにしてもよい。
展開復号手段411は、暗号化プログラム412をメモリ22上に展開し、秘密鍵122を用いてメモリ22上に展開した暗号化プログラム412を復号する。
次に、図5および図6を参照して第2の実施の形態の動作について詳細に説明する。図6は、情報処理装置40の動作を示す図である。
まず、ファームウエア410の展開復号手段411は、暗号化プログラム412のメモリ22への展開と復号の要求を図示しない手段から受け取る(ステップB1)。
この要求を出す図示しない手段は、OS240によって記憶装置23よりメモリ22上に展開され実行される図示しない実行形式ファイルであっても良いし、ファームウエア410内の図示しない指示手段であっても良い。
次に、展開復号手段411は、ファームウエア410の暗号化プログラム412をメモリ22上に展開する(ステップB2)。続けて、展開復号手段411は、秘密鍵記憶部12から秘密鍵122を読み出し、秘密鍵122を用いてメモリ22に展開された暗号化プログラム412を復号し、復号プログラム327としてメモリ22に展開する(ステップB3)。
以後の動作は、第1の実施の形態のステップA5〜ステップA13の動作と同じである。
また、展開復号手段411は、ステップB2を実行しないで、ステップB3において秘密鍵122を用いてファームウエア410の暗号化プログラム412を復号して復号プログラム327を生成するようにしてもよい。
本実施の形態の第1の効果は、プログラムの改ざんをさらに困難にできる点である。その理由は、暗号化されたプログラムをファームウエア内に含むようにしたからである。
本実施の形態の第2の効果は、プログラム実行開始までの時間を短縮できる点である。その理由は、ファームウエア内の暗号化プログラムを直接復号するようにしたからである。
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
図7を参照すると、本発明の第3の実施の形態の情報処理装置50は本発明の第1の実施の形態の情報処理装置10と比較して、記憶装置23に実行形式ファイル231を含まず、接続手段24を含む。そして、情報処理装置50は、ネットワーク70を介してサーバ60と接続される。サーバ60は、例えばコンピュータやネットワークディスク装置であり、処理部61と記憶装置63を含む。
図8は、記憶装置63に格納される情報の構造を示す図である。
次に、図3、図7および図8を参照して第3の実施の形態の動作について詳細に説明する。
第1の実施の形態の動作を示す図3の各ステップに対して、第3の実施の形態で異なる動作を行うステップはステップA1とステップA2である。
図3のステップA1に対応する本実施の形態の動作は以下のとおりである。OS240が接続手段24を使用してネットワーク70を介して、サーバ60の記憶装置63に記憶されている実行形式ファイル631の読込処理763、復号要求処理724および呼出処理725を読出し、メモリ22のコード領域222に展開する。読込手段623は、CPU21が読込処理763を実行することで実現するようにしてもよい。
図3のステップA2に対応する本実施の形態の動作は以下のとおりである。読込手段623が、接続手段24を使用してネットワーク70を介して、サーバ60の記憶装置63に記憶されている実行形式ファイル631の暗号化プログラム227を読み出し、メモリ22のデータ領域226に展開する。
ステップA3以後の動作は、実施の形態1の動作と同じであるため省略する。
本実施の形態の効果は、暗号化された被保障プログラムが遠隔に存在する場合でも、実施の形態1で説明した効果と同様の効果を得られる点である。その理由は、ネットワークを介して実行形式ファイルを読み取るようにしたからである。
なお、以上説明した実施の形態は、ハードウェアで実現されても良いし、ソフトウェアで実現されても良いし、ハードウェアとソフトウェアの混在により実現されても良い。
また、各構成要素の物理的な構成は、以上の実施の形態の記載に限定されることはなく、独立して存在しても良いし、組み合わされて存在しても良いしまたは分離して構成されても良い。
また、以上説明した実施の形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため本実施の形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
さらに、以上説明した、実施の形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。このためある動作の実行中に他の動作が発生すること、ある動作の実行タイミングと他の動作の実行タイミングとの一部ないし全部が重複していること、等でもよい。
さらに、以上説明した実施の形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作のすべての関係を限定するものではない。このため本実施の形態を実施するときには、その複数の動作の関係は内容的に支障しない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため各構成要素の具体的な各動作は、本実施の形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
本発明は、情報の秘匿と完全性の保障が必要な情報を扱うプログラムを実行する装置やシステムに適用できる。例えば、プログラムが収集または出力した情報によって課金が行われるなどといった場合には、その情報のみならずプログラムにも内容の秘匿と完全性の保障が必要であるためである。
また、本発明は、情報の不正利用の防止や著作権保護機能などを実現する機能といった用途にも適用できる。
本発明の第1の実施の形態の構成を示すブロック図である。 本発明の第1および第2の実施の形態におけるメモリに格納される情報の構造を示す図である。 本発明の第1の実施の形態の動作を示すフローチャートである。 本発明の第1の実施の形態の特徴的な構成を示すブロック図である。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明の第2の実施の形態の動作を示すフローチャートである。 本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態におけるサーバの記憶装置に格納される情報の構造を示す図である。
符号の説明
10 情報処理装置
11 ファームウエア記憶部
110 ファームウエア
111 復号手段
112 消去手段
113 計測手段
114 履歴参照手段
12 秘密鍵記憶部
122 秘密鍵
13 履歴記録部
21 CPU
22 メモリ
221 実行形式ファイル
222 コード領域
223 読込手段
224 復号要求手段
225 呼出手段
226 データ領域
227 暗号化プログラム
228 被保障プログラム
23 記憶装置
231 実行形式ファイル
24 接続手段
240 OS
327 復号プログラム
328 復号被保障プログラム
329 復号消去要求プログラム
40 情報処理装置
410 ファームウエア
411 展開復号手段
412 暗号化プログラム
50 情報処理装置
60 サーバ
61 処理部
611 復号手段
612 消去手段
623 読込手段
63 記憶装置
631 実行形式ファイル
70 ネットワーク
710 制御部
711 復号処理
712 消去処理
713 計測処理
714 参照処理
723 読込処理
724 復号要求処理
725 呼出処理
740 制御部
741 展開復号処理
763 読込処理

Claims (11)

  1. 暗号化されたターゲットプログラムの実行開始時に、暗号化された当該ターゲットプログラムの復号を要求する復号要求手段と、
    前記ターゲットプログラムの実行完了時に当該ターゲットプログラムの消去を要求する消去要求手段と、
    前記復号要求手段からの復号の要求を受けて前記ターゲットプログラムを復号し、復号しされた当該ターゲットプログラムをメモリに書き込む復号手段と、
    前記消去要求手段からの消去の要求を受けて、前記メモリに書き込まれた前記復号されたターゲットプログラムを前記メモリから消去する消去手段と、
    を有することを特徴とする情報処理装置。
  2. 前記情報処理装置はプロセッサおよびファームウエア領域を有し、
    前記復号手段および前記消去手段の一方または両方は前記ファームウエア領域に格納されたプログラムであって、前記情報処理装置のを前記プロセッサ上で動作するものである実行することにより実現される
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記ターゲットプログラムを復号するための秘密鍵を記憶する秘密鍵記憶部と、
    前記暗号化された前記ターゲットプログラム含む実行形式ファイルを記憶する記憶部と、
    前記実行形式ファイルを展開するメモリと、
    を有することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記ターゲットプログラムの復号完了時点から消去開始時点までを当該ターゲットプログラムの被検証実行時間として計測し、予め与えられた当該ターゲットプログラムの期待値実行時間と比較して異常の有無を判定する計測手段
    を有することを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
  5. 前記情報処理装置はプロセッサおよびファームウエア領域を有し、
    前記計測手段は前記ファームウエア領域に格納されたプログラムであって、前記情報処理装置のを前記プロセッサ上で動作するものである実行することにより実現される
    ことを特徴とする請求項4記載の情報処理装置。
  6. 前記計測手段が前記異常の有無を記録する履歴記録部と、
    前記履歴記録部の内容を参照する参照手段と、
    を有することを特徴とする請求項4または5に記載の情報処理装置。
  7. 暗号化されたターゲットプログラムの実行開始時に、暗号化された当該ターゲットプログラムの復号を要求するステップと、
    前記ターゲットプログラムの実行完了時に当該ターゲットプログラムの消去を要求するステップと、
    前記当該復号の要求を受けて前記ターゲットプログラムを復号し、復号しされた当該ターゲットプログラムをメモリに書き込むステップと、
    前記復号されたターゲットプログラムの実行完了時に当該復号されたターゲットプログラムの消去を要求するステップと、
    前記当該消去の要求を受けて、前記メモリに書き込まれた前記復号されたターゲットプログラムを前記メモリから消去するステップと、
    を有することを特徴とするプログラム実行方法。
  8. 前記ターゲットプログラムの復号完了時点から消去開始時点までを当該ターゲットプログラムの被検証実行時間として計測するステップと、
    前記被検証実行時間と予め与えられた当該ターゲットプログラムの期待値実行時間とを比較して異常の有無を判定するステップと、
    を有することを特徴とする請求項7記載のプログラム実行方法。
  9. 暗号化されたターゲットプログラムの実行開始時に、暗号化された当該ターゲットプログラムの復号を要求するステップと、
    前記ターゲットプログラムの実行完了時に当該ターゲットプログラムの消去を要求するステップと、
    前記当該復号の要求を受けて前記ターゲットプログラムを復号し、復号しされた当該ターゲットプログラムをメモリに書き込むステップと、
    前記復号されたターゲットプログラムの実行完了時に当該復号されたターゲットプログラムの消去を要求するステップと、
    前記当該消去の要求を受けて、前記メモリに書き込まれた前記復号されたターゲットプログラムを前記メモリから消去するステップと、
    をコンピュータに実行させることを特徴とするプログラム。
  10. 前記ターゲットプログラムの復号完了時点から消去開始時点までを当該ターゲットプログラムの被検証実行時間として計測するステップと、
    前記被検証実行時間と予め与えられた当該ターゲットプログラムの期待値実行時間とを比較して異常の有無を判定するステップと、
    をコンピュータに実行させることを特徴とする請求項9記載のプログラム。
  11. ネットワークで接続された第1の情報処理装置と、第2の情報処理装置を含み、
    前記第1の情報処理装置はネットワークへの接続手段を有する請求項1乃至6のいずれかに記載の情報処理装置であって、
    前記第2の情報処理装置は暗号化された前記ターゲットプログラムを記憶する、
    ことを特徴とする情報処理システム。
JP2008203915A 2008-08-07 2008-08-07 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム Pending JP2010039891A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008203915A JP2010039891A (ja) 2008-08-07 2008-08-07 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム
US12/536,029 US20100037066A1 (en) 2008-08-07 2009-08-05 Information processing apparatus, method, program, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008203915A JP2010039891A (ja) 2008-08-07 2008-08-07 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム

Publications (1)

Publication Number Publication Date
JP2010039891A true JP2010039891A (ja) 2010-02-18

Family

ID=41654002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008203915A Pending JP2010039891A (ja) 2008-08-07 2008-08-07 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム

Country Status (2)

Country Link
US (1) US20100037066A1 (ja)
JP (1) JP2010039891A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012234362A (ja) * 2011-04-28 2012-11-29 Fujitsu Ltd 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム
JP2015082233A (ja) * 2013-10-23 2015-04-27 大日本印刷株式会社 セキュリティトークンおよび処理ルーチンの実行方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011012328A1 (de) 2011-02-24 2012-08-30 Gottfried Wilhelm Leibniz Universität Hannover Verschlüsseltes Rechnen
US8782809B2 (en) 2012-11-09 2014-07-15 International Business Machines Corporation Limiting information leakage and piracy due to virtual machine cloning
CN103336924B (zh) * 2013-07-03 2018-01-30 上海斐讯数据通信技术有限公司 用于移动终端应用程序的启动锁
JP6083348B2 (ja) * 2013-07-31 2017-02-22 株式会社ソシオネクスト プログラム実行方法および復号装置
US9935945B2 (en) * 2015-11-05 2018-04-03 Quanta Computer Inc. Trusted management controller firmware

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096232A (ja) * 1995-06-21 1997-01-10 Ricoh Elemex Corp 暗号化システム、復号化システム、情報秘匿処理システムおよび情報秘匿通信システム
JP2001516908A (ja) * 1997-09-05 2001-10-02 インテル・コーポレーション 不正な侵入を防ぐ方法および装置
JP2003208406A (ja) * 2002-11-18 2003-07-25 Fuji Xerox Co Ltd サービス提供システム、認証装置及び認証プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005135265A (ja) * 2003-10-31 2005-05-26 Fujitsu Ltd 情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028765A1 (en) * 2001-07-31 2003-02-06 Cromer Daryl Carvis Protecting information on a computer readable medium
EP1603001B1 (en) * 2002-08-01 2007-10-31 Matsushita Electric Industrial Co., Ltd. Apparatusses and methods for decrypting blocks of data and locating the decrypted blocks of data in memory space used for execution
US20070180271A1 (en) * 2006-02-02 2007-08-02 Ibm Corporation Apparatus and method for providing key security in a secure processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096232A (ja) * 1995-06-21 1997-01-10 Ricoh Elemex Corp 暗号化システム、復号化システム、情報秘匿処理システムおよび情報秘匿通信システム
JP2001516908A (ja) * 1997-09-05 2001-10-02 インテル・コーポレーション 不正な侵入を防ぐ方法および装置
JP2003208406A (ja) * 2002-11-18 2003-07-25 Fuji Xerox Co Ltd サービス提供システム、認証装置及び認証プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005135265A (ja) * 2003-10-31 2005-05-26 Fujitsu Ltd 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012234362A (ja) * 2011-04-28 2012-11-29 Fujitsu Ltd 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム
JP2015082233A (ja) * 2013-10-23 2015-04-27 大日本印刷株式会社 セキュリティトークンおよび処理ルーチンの実行方法

Also Published As

Publication number Publication date
US20100037066A1 (en) 2010-02-11

Similar Documents

Publication Publication Date Title
JP4048382B1 (ja) 情報処理システムおよびプログラム
EP0768601B1 (en) Device for executing enciphered program
CN101231622B (zh) 基于闪存的数据存储方法和设备、及数据读取方法和设备
JP4889638B2 (ja) 検証方法、検証プログラム、記録媒体、情報処理装置、集積回路
US20090307783A1 (en) Data processing device, method, program, integrated circuit, and program generating device
WO2010134192A1 (ja) 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法
JP2010039891A (ja) 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム
JP2006522387A (ja) コンピュータソフトウェアの実行を管理するためのシステムおよび方法
JP2005135265A (ja) 情報処理装置
WO2011134207A1 (zh) 软件保护方法
JP2014235326A (ja) システム、情報処理装置、セキュアモジュール、および検証方法
EP3080945B1 (en) Obfuscating in memory encryption keys
WO2015176531A1 (zh) 终端数据写入、读取的方法及装置
US8656182B2 (en) Security mechanism for developmental operating systems
JP4895990B2 (ja) 画像処理装置及びデータ消去方法
TW201738802A (zh) 用以防止檔案的未授權利用及控制存取的可卸式安全裝置及方法
JP2002244989A (ja) デバイスドライバ作動方法
TW200414734A (en) Software protection method and device
JP2007072957A (ja) リードライト装置およびデバッグシステム
Blankesteijn et al. Assessing data remnants in modern smartphones after factory reset
JP4120702B2 (ja) 情報処理システムおよびプログラム
JP6215468B2 (ja) プログラム保護装置
JP4597651B2 (ja) メディア内のデータのリッピングを制御するための情報処理ユニット、方法及びプログラム
JP2007334821A (ja) アプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラム
CN115292761A (zh) 安全芯片数据保护方法、安全芯片及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100817