JP2005173903A - プログラム認証システム - Google Patents

プログラム認証システム Download PDF

Info

Publication number
JP2005173903A
JP2005173903A JP2003411884A JP2003411884A JP2005173903A JP 2005173903 A JP2005173903 A JP 2005173903A JP 2003411884 A JP2003411884 A JP 2003411884A JP 2003411884 A JP2003411884 A JP 2003411884A JP 2005173903 A JP2005173903 A JP 2005173903A
Authority
JP
Japan
Prior art keywords
program
behavior
key information
secret key
authentication
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.)
Granted
Application number
JP2003411884A
Other languages
English (en)
Other versions
JP4497450B2 (ja
Inventor
Hiroshi Inoue
弘士 井上
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.)
Japan Science and Technology Agency
Original Assignee
Japan Science and Technology Agency
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 Japan Science and Technology Agency filed Critical Japan Science and Technology Agency
Priority to JP2003411884A priority Critical patent/JP4497450B2/ja
Publication of JP2005173903A publication Critical patent/JP2005173903A/ja
Application granted granted Critical
Publication of JP4497450B2 publication Critical patent/JP4497450B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

【課題】 プログラム認証方式の鍵情報を用いた静的手法と実行の振舞いを監視する動的手法を融合させ、コンピュータ上で不正プログラムの実行を回避してより安全性の高いプログラム認証システムを提供する。
【解決手段】 正規プログラムと認証するためのプログラム実行の振舞いである認証振舞いを定めた秘密鍵情報3からこの認証振舞いをプログラム・コードに挿入する鍵挿入手段1と、プログラム実行時に実際のプログラムの振舞いを実秘密鍵情報として検出する鍵検出手段2とを備え、この鍵検出手段2は、プログラム実行時に前記秘密鍵情報3と同一の実秘密鍵情報が検出されなかった場合に、相違検出信号を出力するので、鍵挿入手段1が秘密鍵情報3から認証振舞いをアプリケーションプログラムに挿入して、鍵検出手段2が挿入されたアプリケーションプログラムが起動されて行う振舞いから検出される実秘密鍵情報と秘密鍵情報3とを同一か否か判断する。
【選択図】 図1

Description

本発明は、正規プログラムと認証するプログラム認証システムに関し、特に、プログラム実行時の振舞いに基づき認証するプログラム認証システムに関する。
コンピュータ上で不正プログラムの実行を回避する方法は、大別すると「セキュリティ・ルール方式」と「プログラム認証方式」とがある。前者のセキュリティ・ルール方式は、プログラムを実行する場合にセキュリティ・ルールを予め決めておき、実行対象となるプログラムがそのセキュリティ・ルールを満たしているか否かを判定する。一方、後者のプログラム認証方式では実行するプログラムがウィルスが混入していない所謂ウィルス・フリーであることが保障されており、実行対象となるプログラムが本当に認証されたものであるか否かを判定する。これら前者及び後者の方式において、それぞれ、プログラムの実行開始前に行う静的手法とプログラムの実行中に行う動的手法とが存在する。
前者セキュリティ・ルール方式の静的手法としては、ウィルス・スキャンが一般的となっている。このウィルス・スキャンでは既知のウィルスに関するリスト(これを一種のセキュリティ・ルールとみなす。また別名としてパターンファイル、定義ファイルと呼ばれる場合もある)をコンピュータ内に保有しておき、プログラム実行開始前にコンピュータ内部の全て又は一部に対して前記リストに登録されたウィルスが存在しないか検索する。これに対し、動的手法としては、プログラム実行中に予め決められたセキュリティ・ルールを犯していないか監視する方法である。
後者プログラム認証方式の静的手法としては、秘密鍵情報を用いた暗号化がある。つまり、実行対象となるプログラムは、プログラム発行元と利用者の間で共通の秘密鍵により暗号化されており、プログラム実行前にこの秘密鍵を用いて復号化する。これに対し、動的手法としては、プログラム本体とその実行時の振舞い情報を組としてプログラム発行者が利用者に提供し、プログラム利用者側ではプログラム実行中にプログラムの振舞いを監視し、プログラム本体と共に入手した実行時の振舞い情報と比較する方法である。
前記セキュリテイ・ルール方式では、予めセキュリティ・ルールを決めておかなければならないので、未知のセキュリテイ・ホールやウィルスには適切に対応できないとう課題を有する。なお、ここで「適切に」という言葉を用いたのは、未知のセキュリテイ・ホールやウィルスを想定してセキュリティ・ルールを決めて動作させる試みがなされているが、このようなセキュリティ・ルールがプログラムの正常な動作を妨げるという問題が生じている事実を含ませるためである。一方、プログラム認証方式の静的手法においては、プログラム実行中に突然ウィルス等の不正プログラムが実行開始となった場合に対応できないという課題を有する。また、プログラム認証方式の動的手法においても、ウィルスや不正プログラムが、それらの実行の振舞い情報と共にコンピュータ内部に侵入した場合には誤って正規プログラムだと誤認する場合もあるという課題を有する。
本発明は、前記課題を解決するためになされたものであり、プログラム認証方式を改良してプログラム認証方式の鍵情報を用いた静的手法と実行の振舞いを監視する動的手法を融合させ、コンピュータ上で不正プログラムの実行を回避してより安全性の高いプログラム認証システムを提供することを目的とする。
本発明に係るプログラム認証システムは、正規プログラムと認証するためのプログラム実行の振舞いである認証振舞いを定めた秘密鍵情報から当該認証振舞いをプログラム・コードに挿入する鍵挿入手段と、プログラム実行時に実際のプログラムの振舞いを実秘密鍵情報として検出する鍵検出手段とを備え、当該鍵検出手段は、プログラム実行時に前記秘密鍵情報と同一の実秘密鍵情報が検出されなかった場合に、相違検出信号を出力するものである。このように本発明においては、正規プログラムと認証するためのプログラム実行の振舞いである認証振舞いを定めた秘密鍵情報からこの認証振舞いをプログラム・コードに挿入する鍵挿入手段と、プログラム実行時に実際のプログラムの振舞いを実秘密鍵情報として検出する鍵検出手段とを備え、この鍵検出手段は、プログラム実行時に前記秘密鍵情報と同一の実秘密鍵情報が検出されなかった場合に、相違検出信号を出力するので、鍵挿入手段が秘密鍵情報から認証振舞いをアプリケーションプログラムに挿入して、鍵検出手段が挿入されたアプリケーションプログラムが起動されて行う振舞いから検出される実秘密鍵情報と秘密鍵情報とを同一か否か判断しており、すなわち、アプリケーションプログラムの振舞い自体が動作させるための鍵となって、その鍵自体をアプリケーションに挿入しており、ウィルスに感染したアプリケーションプログラムが認証振舞いをすることができず、まだ発見されていないウィルス等の動作を特に意識することなく、かかるウィルスに感染したアプリケーションプログラムを発見することができる。また、プログラム認証システムを導入していない者のPCに、転々流通した正規プログラムが導入されたとしても、鍵検出手段が導入されていない場合にはアプリケーションプログラムを動作することができず、仮に鍵検出手段が導入されていると仮定しても、秘密鍵情報がないため鍵検出手段が正常に動作することができないため、アプリケーションプログラム提供側の想定した使用者のみに使用させることができる。
また、本発明に係るプログラム認証システムは必要に応じて、前記鍵検出手段は、プログラム実行時に前記秘密鍵情報と同一の実秘密鍵情報が検出されなかった場合に、以降の実秘密鍵情報が秘密鍵情報と同一であるとき、相違検出信号を出力しないものである。このように本発明においては、前記鍵検出手段は、プログラム実行時に前記秘密鍵情報と同一の実秘密鍵情報が検出されなかった場合に、以降の実秘密鍵情報が秘密鍵情報と同一であるとき、相違検出信号を出力しないので、ある程度の幅を持たせて鍵検出手段が秘密鍵情報と実秘密鍵情報との同一の判断をしており、比較する最小単位が実秘密情報内で一意となっていないものがあったとしても他の部分で一意となっていれば同一だと判断され、アプリケーションプログラムの正常な動作を妨げることを抑制することができる。
また、本発明に係るプログラム認証システムは必要に応じて、前記鍵検出手段が出力した相違検出信号が入力された場合に、プログラムの実行そのものを中止又は停止する実行停止手段を備えるものである。このように本発明においては、プログラムの実行そのものを中止又は停止する実行停止手段を備えるので、ウィルスに感染している可能性のあるアプリケーションプログラム、不正に入手したアプリケーションプログラムの実行を中止又は停止することができ、ウィルスの被害を防止すると共に、アプリケーションプログラム提供者が認めない使用者の使用を防止することができ、さらに、ウィルスに感染していることを間接的に伝えることができる。直接的に使用者PCの表示画面にウィルスに感染していることを出力したり、管理者端末にその旨をメールで知らせる等を行うことができる。
また、本発明に係るプログラム認証システムは必要に応じて、前記鍵挿入手段が、秘密鍵情報から認証振舞いをプログラム・コードに挿入してオブジェクト・コードを生成するものである。このように本発明においては、前記鍵挿入手段が、秘密鍵情報から認証振舞いをプログラム・コードに挿入してオブジェクト・コードを生成するので、すなわち、鍵挿入手段が別個のプログラムでなく、高級言語で記述されたソースプログラムをアセンブリ言語に変換するプログラムであるコンパイラの一部として実装し、または、低レベルな機械語と1対1に対応する文字列を機械語に置き換えるプログラムであるアセンブラの一部として実装することもでき、アプリケーションプログラムがオブジェクトコードになる前に、ソースレベルでアプリケーションプログラムの動作を考慮しつつ認証振舞いに係るプログラム・コードを円滑且つ適切に挿入することができる。
また、本発明に係るプログラム認証システムは必要に応じて、前記鍵検出手段が秘密鍵情報に基づきプログラム実行時に認証振舞い検出する鍵検出回路を生成する鍵検出回路生成部からなるものである。このように本発明においては、鍵検出手段が秘密鍵情報に基づきプログラム実行時に認証振舞い検出する鍵検出回路を生成する鍵検出回路生成部からなるので、アプリケーション毎に異なる秘密鍵情報であった場合にも鍵検出手段が検出できない行為があるという事態を回避し、最適な鍵検出回路を生成し適切に認証振舞いに係る行為を検出することができ、動作においても検出対象となる行為を限定しているため検出時の動作が高速となる。
また、本発明に係るプログラム認証システムは必要に応じて、前記鍵検出手段が鍵検出回路を実行する再構成可能なハードウェアである鍵検出回路実行部からなるものである。このように本発明においては、鍵検出手段が前記鍵検出回路を実行する再構成可能なハードウェアである鍵検出回路実行部からなるので、鍵検出回路実行部は、鍵検出回路生成部から出力された回路情報を受け回路を再構成しており、鍵検出回路生成部をソフトウェアで実装した場合と比べ高速な動作を行うことができる。
また、本発明に係るプログラム認証システムは必要に応じて、前記認証振舞いがメモリ・アクセス・パタンからなるものである。このように本発明においては、前記認証振舞いがメモリ・アクセス・パタンからなることもでき、鍵挿入手段が秘密鍵情報から認証振舞いに係るメモリアクセスをアプリケーションプログラムのプログラム・コードに挿入し、挿入済みアプリケーションプログラムとし、鍵検出手段が秘密鍵情報を参照して、まず、鍵検出回路生成部から鍵検出回路としてのタイマ及びアクセスパタンリストを生成し、このタイマ及びアクセスパタンリストの回路情報を鍵検出回路実行部に出力し、鍵検出回路実行部が回路情報を再構成し、タイマが示すある一定時間内にアクセスパタンリストに従ったメモリ参照の行為が検出されない場合には、鍵検出手段が相違検出信号を出力し、アプリケーションプログラムの適切な動作を妨げず、アプリケーションプログラムの動作を適切に停止又は中止させることもできる。
(本発明の第1の実施形態)
本発明の第1の実施形態に係るプログラム認証システムについて図1ないし図7に基づき説明する。図1は本実施形態に係るプログラム認証システムの構成ブロック図(なお図中破線でMPU及びメモリにより実現される手段等をデータ類と区別するため囲った)、図2は本実施形態に係る認証振舞いに係る行為の挿入形態、図3は本実施形態に係る認証振舞いに係る行為の挿入形態に対応する同一性の判断方法、図4は本実施形態に係るアプリケーション提供システムの構成ブロック図、図5は本実施形態に係るアプリケーション提供システムの動作フローチャート、図6は本実施形態に係るプログラム認証システムの挿入処理の動作フローチャート及び図7は本実施形態に係るプログラム認証システムの検出処理の動作フローチャートである。
本実施形態に係るプログラム認証システムは、正規プログラムと認証するためのプログラム実行の振舞いである認証振舞いを定めた秘密鍵情報3からこの認証振舞いをプログラム・コードに挿入する鍵挿入手段1と、プログラム実行時に実際のプログラムの振舞いを実秘密鍵情報として検出する鍵検出手段2とを備え、この鍵検出手段2は、プログラム実行時に前記秘密鍵情報3と同一の実秘密鍵情報が検出されなかった場合に、相違検出信号を出力する構成である。
前記正規プログラムとは、ワープロソフト、メールソフト、作図ソフト、ブラウザ、ウィルススキャンソフト及びCADソフト等のアプリケーションプログラムの内このアプリケーションプログラムの真正の出所元から適法に譲渡、再譲渡等されたもののことをいう。
前記振舞いとは、コンピュータによる処理に適した命令の順序付けられた列からなるものであるプログラムによる処理が該当する。振舞いは行為が順序付けられてなり、この行為は前記各命令に対応する。例えば、メールソフトはメールの作成、メールの送信、メールの受信及びメールの表示を基本的機能とするが、この全てを1つの振舞いと見ることもできるし、各構成機能を1つの振舞いと見ることもできる。行為も、全てを1つの振舞いと見る場合には、各構成機能を1つの行為とすることもできるし、入出力の1つを行為とすることもできる。また、振舞いは行為からなるものであり、1つの行為から振舞いがなる場合には、結果として振舞いと行為が等価なものとなる。
前記認証振舞いとは、正規プログラムと認証するためのものであり、正規プログラムの振舞いに寄与するものか否かは問わない、言い換えると、認証するためだけのものでよいし、認証するためのものであり且つ正規プログラムの振舞いに直接的又は間接的に関係するものであってもよい。
前記秘密鍵情報3とは、認証振舞いを定めたものであり、直接的にプログラム・コード(ソース・コード、アセンブリ・コード、オブジェクト・コード)であってもよいし、間接的に秘密鍵情報専用の書式に従ったものであってもよい。秘密鍵情報専用の書式に従ったものとしては、例えば、1桁の数字をスペースで区切って記載したもので、各1桁の数字がある行為に該当し、全体で認証振舞いを定めるものが該当する。また、鍵情報とせず、秘密鍵情報3としたのは、前記鍵挿入手段1で用いられる秘密鍵情報3と前記鍵検出手段2で参照される秘密鍵情報3とは同一のものであり、鍵挿入手段側から鍵検出手段側へ、又は、鍵検出手段から鍵挿入手段側へ、第三者に取得されないような方式で送る必要があり、所謂秘密鍵暗号方式の秘密鍵と扱いが同様であるためである。
前記鍵挿入手段1とは、秘密鍵情報3からこの認証振舞いをプログラム・コードに挿入するものであり、実際には、アプリケーションプログラムのプログラム・コードに認証振舞いに係るプログラム・コードを挿入している。この鍵挿入手段1が、プログラム・コードを挿入する場合に気を付けることは、認証振舞いに係るプログラム・コードを挿入した結果アプリケーションプログラムの動作が異常とならないように気を付けるべきである。例えば、アプリケーションプログラムで1秒以上動作をしなければ例外処理をするという処理が入っている場合に、認証振舞いの1つの行為が2秒動作しないというものであるとき、この認証振舞いを挿入した挿入済みアプリケーションプログラムを動作させると、2秒動作しないという認証振舞いの1つの行為の部分で処理が例外処理を開始し、アプリケーションプログラムの動作が停止又は中止してしまうという不具合が生じるからである。したがって、アプリケーションプログラムの内容をある程度精査して不具合が生じないように認証振舞いに係るプログラム・コードを挿入するのが望ましい。また、アプリケーションプログラムが起動され、初期化処理が始まる前に認証振舞いに係るプログラム・コードを挿入することは実質的なアプリケーションプログラムの動作が開始されていない時点なので安全だと推測される。ただし、ウィルスによってはユーザやウイルス対策ソフトに発見されないよう、自分自身の姿を隠すステルス型のウィルスも存在し、かかるウィルスを発見するためには、初期化処理の前だけでなく、常時鍵検出手段2に認証振舞いに係る行為が検出されるように鍵挿入手段1が認証振舞いに係る行為を挿入しなければならない。前記鍵挿入手段1は、認証振舞いに係るプログラムコードの全てをアプリケーションプログラムのプログラム・コードの所定箇所に全て挿入する(以下、通常挿入とする)こともできるが(図2(a)参照)、認証振舞いに係るプログラムコードを分割してそれぞれアプリケーションプログラムのプログラム・コードの異なる場所に挿入する(以下、分割挿入とする)こともできる(図2(b)参照)。また、認証振舞いに係るプログラムコードの全てを繰り返して異なる場所に挿入する(以下、繰返挿入とする)こともできる(図2(c)参照)。
鍵検出手段2とは、プログラム実行時に実際のプログラムの振舞いを実秘密鍵情報として検出するものであるが、プログラム実行時の実際のプログラムの振舞い全てを実秘密鍵情報とする全検出方式(ただし、全検出方式といってもアプリケーションプログラムの開始から終了までを一括して検出するわけではなく、秘密鍵情報3に関連する振舞い以外の振舞いも含めて実秘密情報とするものである。)と、プログラム実行時の実際のプログラムの振舞いの内秘密鍵情報3に関連する振舞いのみを実秘密鍵情報とする一部検出方式とがある。全検出方式は、振舞い全てを検出して実秘密鍵情報とするので、検出処理は容易であるが後の処理である秘密鍵情報3との同一性を比較する処理に時間がかかる。一部検出方式は、精査して実秘密鍵情報とするので検出処理で時間がかかるが、後の処理である秘密鍵情報との同一性を比較する処理は迅速に行うことができる。全検出方式における鍵検出手段2の同一性の判断方法は、例えば、通常挿入の場合には図3(a)のようにすることができ、分割挿入の場合には図3(b)のようにすることができ、繰返挿入の場合には図3(c)のようにすることができる。ここで、図3のような単純な比較により秘密鍵情報3と実秘密鍵情報との同一性を比較する場合には、前提条件として比較する最小単位が実秘密情報内で一意となっている必要がある。言い換えると、図3(a)の通常挿入では、行為Aと行為Bからなる秘密鍵情報が実秘密鍵情報内で一意となる必要があり、例えば、行為1が行為Aと同一で行為2が行為Bと同一である場合にはたまたま正規プログラムと認証されただけであり、このままでは認証振舞いが挿入されていないアプリケーションプログラムでも正規プログラムだと認証される可能性が生じる。図3(b)の分割挿入では、最小単位が各行為となり、行為A及び行為Bがそれぞれ実秘密情報内で一意である必要がある。前記鍵挿入手段が、挿入前に比較する最小単位が実秘密情報内で一意となるかを否かを調べる挿入確認処理を行うか、比較する最小単位を常に一意となるようなものにする挿入単位生成処理を行うかで対応することができる。挿入確認処理で一意でないと判断したら一意となるように情報を付加する等行う(この付加等の処理ではできる限り秘密鍵情報に変更が生じないようにする必要があり、仮に秘密鍵情報3に変更が生じた場合で、既に鍵検出手段側に秘密鍵情報3がある場合にはその変更された秘密鍵情報3に入れ替える必要がある)。挿入単位生成処理では、常に一意となるように最小単位をしなければならないが、例えば、ある特定のアドレス領域を確保してかかるアドレス領域の先頭番地及びアドレス領域に格納されている情報を参照するという行為を最小単位とすると、かかるアドレス領域はアプリケーション・プログラムで使用するアドレス領域でないため、かかる最小単位は実秘密鍵情報内で一意となる。これ以外にも一意となるような行為又はその組み合わせを比較する最小単位とすることで実現することができる。全検出方式における鍵検出手段2の同一性の判断方法について述べたが、一部検出方法でも、プログラム実行時の実際のプログラムの振舞いの内秘密鍵情報に関連する振舞いのみを実秘密鍵情報としなければならないので、秘密鍵情報3に関連する振舞いであることを判別しなければならず、全検出方式のように挿入確認処理、挿入単位生成処理を行って判別することができる。
次に、本実施形態に係るプログラム認証システムについての動作について説明する。動作に関して大きくわけると、鍵挿入手段1が行う挿入処理と、鍵検出手段2が行う検出処理とからなる。また、プログラム認証システムを物理的構成と結びつけるために、図4に示すようなアプリケーション提供システムの物理的構成を採った。図中、データベースA11には秘密鍵情報3とアプリケーションプログラムの情報が格納されており、受付用サーバ12はデータベースA内に格納されているアプリケーションプログラムを管理し、秘密鍵情報3の生成も行っており、挿入処理用サーバ13には鍵挿入手段1が実装され、データベースB14には挿入処理用サーバ13により作成された挿入済アプリケーションプログラムが格納されており、ダウンロード用サーバ15は使用者PC16の要求に応じて挿入済アプリケーションプログラムを使用者側PC16に送信する構成である。
受付用サーバは、使用者PC16からアプリケーションのダウンロード要求があるか否かを判断する(以下図5参照、ステップ1)。このステップ1において、ダウンロード要求がないと判断した場合には、ステップ1に移行する。前記ステップ1において、ダウロード要求があると判断した場合には、受付用サーバ12が使用者毎で且つアプリケーション毎の秘密鍵情報3を生成する(ステップ2)。ステップ2の処理後、生成した秘密鍵情報3をデータベースA11に格納する(ステップ3)。ステップ3の処理後、受付用サーバ12は、データベースA11中の使用者要求したアプリケーションプログラムと秘密鍵情報3との格納位置を特定した上で挿入処理要求を行う(ステップ4)。次に、挿入処理が行われる(ステップ5)のだが、詳しくは後記する。ステップ5の処理後、挿入処理用サーバが作成された挿入済アプリケーションプログラムをデータベースB14に格納する(ステップ6)。挿入処理用サーバ13は受付用サーバ12に挿入処理が終了した旨を出力し、かかる旨の出力を受けた受付用サーバ12は使用者PC16に対してダウンロードの準備が完了した旨と、ダウンロード用サーバ15からダウンロードする旨を出力する。ダウンロード用サーバ15は使用者PC16からのダウンロード要求があるか否かを判断する(ステップ7)。ステップ7において、ダウンロード要求がないと判断された場合には、ステップ7に移行する。前記ステップ7において、ダウンロード要求があると判断された場合には、ダウンロード用サーバ15が使用者PC16に対して挿入済アプリケーションプログラムを送信する(ステップ8)。さらに、受付用サーバ12は、使用者PC16に秘密鍵情報を第三者に取得されないように公開鍵暗号システム(取得されないような方式であれば何でもよい)を用いて送信する。
前記挿入処理(ステップ5)について説明する。挿入処理用サーバ13が受付用サーバ12から挿入処理を要求された(ステップ4)後に、データベースA11から秘密鍵情報3を参照し(以下図6参照、ステップ101)、アプリケーションプログラムを参照する(ステップ102)。秘密鍵情報3が定めている認証振舞いが一意となるか否かを判断する(ステップ103)。ステップ103において一意でないと判断された場合には、最小単位を一意に変更する(ステップ104)。前記ステップ103において、一意であると判断された場合には、アプリケーションプログラムのプログラム・コードに認証振舞いを挿入する(ステップ105)。
前記検出処理について説明する。使用者PCには、前記ステップ1ないし8及び前記ステップ101ないしステップ105が終了した時点で、挿入済みアプリケーションプログラム及び秘密鍵情報3が記憶されている。前記アプリケーション提供システムを用いる使用者PC16には、予め鍵検出手段2が実装されている検出ソフトが導入されており、アプリケーション提供システムから提供されたアプリケーションプログラムを起動させると、動作開始するように実装されている。なお、この検出ソフトが導入されていない使用者PC16又は検出ソフトが動作開始しなければ、アプリケーションプログラムは動作しないようにも設計されている。挿入済アプリケーションプログラムを起動させると、検出ソフトも動作を開始し、鍵検出手段2がコンピュータ上に展開される。鍵検出手段2は、使用者PC16に記憶されている秘密鍵情報3を参照し(以下図7参照、ステップ201)、続けて、鍵検出手段2がアプリケーションプログラムの振舞いを検出して実秘密鍵情報とし(ステップ202)、秘密鍵情報と実秘密鍵情報との比較を行い同一か否かを判断する(ステップ203)。ステップ203において、同一であると判断された場合にはステップ202に移行する。前記ステップ203において、同一でないと判断された場合には、鍵検出手段2が相違検出信号の出力する(ステップ204)。
このように本実施形態に係るプログラム認証システムによれば、正規プログラムと認証するためのプログラム実行の振舞いである認証振舞いを定めた秘密鍵情報3からこの認証振舞いをプログラム・コードに挿入する鍵挿入手段1と、プログラム実行時に実際のプログラムの振舞いを実秘密鍵情報として検出する鍵検出手段2とを備え、この鍵検出手段2は、プログラム実行時に前記秘密鍵情報3と同一の実秘密鍵情報が検出されなかった場合に、相違検出信号を出力するので、鍵挿入手段1が秘密鍵情報3から認証振舞いをアプリケーションプログラムに挿入して、鍵検出手段2が挿入されたアプリケーションプログラムが起動されて行う振舞いから検出される実秘密鍵情報と秘密鍵情報3とを同一か否か判断しており、すなわち、アプリケーションプログラムの振舞い自体が動作させるための鍵となって、その鍵自体をアプリケーションに挿入しており、ウィルスに感染したアプリケーションプログラムが認証振舞いをすることができず、まだ発見されていないウィルス等の動作を特に意識することなく、かかるウィルスに感染したアプリケーションプログラムを発見することができる。また、プログラム認証システムを導入していない者のPCに、転々流通した正規プログラムが導入されたとしても、検出ソフトがないためアプリケーションプログラムを動作することができず、仮に検出ソフトまでを手に入れたと仮定しても、秘密鍵情報がないため鍵検出手段2が正常に動作することができないため、アプリケーションプログラム提供側の想定した使用者のみに使用させることができる。
なお、本実施形態に係るプログラム認証システムにおいては、図1の一点鎖線で示され、前記鍵検出手段2が出力した相違検出信号が入力された場合に、プログラムの実行そのものを中止又は停止する実行停止手段4を備えることもでき、ウィルスに感染している可能性のあるアプリケーションプログラム、不正に入手したアプリケーションプログラムの実行を中止又は停止することができ、ウィルスの被害を防止すると共に、アプリケーションプログラム提供者が認めない使用者の使用を防止することができ、さらに、ウィルスに感染していることを間接的に伝えることができる。直接的に使用者PCの表示画面にウィルスに感染していることを出力したり、管理者端末にその旨をメールで知らせる等を行うことができる。また、中止又は停止する場合に、ウィルスがいる場合であってもデータのバックアップ等を行う必要があり、アプリケーションプログラムに強制終了するようなAPI(Application Program Interface)を用いて終了させることが望ましい。ただし、不正にアプリケーションプログラムを使用している場合には、保護する必要性に乏しいので、ウィルスの場合は安全に終了、不正使用の場合には強制終了という切り分けをすることもできる。
また、本実施形態に係るプログラム認証システムにおいては、前記鍵挿入手段1が、秘密鍵情報3から認証振舞いをプログラム・コードに挿入してオブジェクト・コードを生成することもでき、すなわち、鍵挿入手段1が別個のプログラムでなく、高級言語で記述されたソースプログラムをアセンブリ言語に変換するプログラムであるコンパイラの一部として実装し、または、低レベルな機械語と1対1に対応する文字列を機械語に置き換えるプログラムであるアセンブラの一部として実装することもでき、アプリケーションプログラムがオブジェクトコードになる前に、ソースレベルでアプリケーションプログラムの動作を考慮しつつ認証振舞いに係るプログラム・コードを円滑且つ適切に挿入することができる。コンパイラやアセンブリは、全体を把握しつつオブジェクトコードに変換していくので、鍵挿入手段1が別途全体を把握する必要がなく(鍵挿入手段1の実装をコストを掛けずにできる)、鍵挿入手段1がアプリケーションプログラムの動作に留意しつつ認証振舞いに係るプログラム・コードを挿入することができる。ただし、ソース・コードを解析できるプログラム、オブジェクト・コードを解析できるプログラムというものも存在し、鍵挿入手段1をこのプログラムの一部として実装することもでき、同様な効果を得ることができる。
また、本実施形態に係るプログラム認証システムにおいては、前記認証振舞いがメモリ・アクセス・パタンからなることもでき、メモリ・アクセスという行為でアクセスしたアドレス番地及びかかるアドレスの値の内容を参照することができ、このような行為は他のアプリケーションプログラムの実行の行為と明確に識別することができ、認証振舞いの1つの行為として容易に検出することができ、前記鍵検出手段2の検出を簡易且つ迅速に行うことができる。
また、本実施形態に係るプログラム認証システムにおいては、秘密鍵情報3から鍵挿入手段1が認証振舞いに係る行為を挿入しているが、秘密鍵情報からある種のアルゴリズムを用いて認証振舞いを決定してもよく、この場合には、使用者PC16においても同様なアルゴリズムを用いて認証振舞いを決定することもできる。
また、本実施形態に係るプログラム認証システムにおいては、使用者PC16を用いて構成したが、スマートカード等のハードを使用者PC16に代わって用いることもでき、スマートカードの読み取り機に鍵検出手段2を実装し、スマートカードの書き換え機に鍵挿入手段1を実装することで、スマートカードがウィルスフリーであること、正規のスマートカードであることを認証することができる。
また、本実施形態に係るプログラム認証システムにおいては、受付用サーバ12が秘密鍵情報3を生成しているが、使用者PC16で秘密鍵情報3を生成し、受付用サーバ12に送信してもよい。
また、本実施形態に係るプログラム認証システムにおいては、検出ソフトとして別途鍵検出手段2を使用者PC16に導入したが、挿入済みアプリケーションプログラムに鍵検出手段2の機能も鍵挿入手段1、コンパイラ及びアセンブラ等により挿入してもよい。別途検出ソフトを導入する必要がなく、使用者にとって環境構築の手間が省ける。このようにアプリケーションプログラムに挿入した場合には、別プロセスとして動作してもよいし、同プロセス内で動作させてもよいし、スレッド(thread)で並列的に動作させてもよい。
また、本実施形態に係るプログラム認証システムにおいては、鍵検出手段2を使用者PC16に導入したが、鍵検出手段2を検出処理用サーバ上に構築し、ネットワークを介して使用者PC16からアクセス可能にし、使用者PC16から随時アプリケーションプログラムの実行中の振舞いの行為を送信するようにし、検出処理用サーバでウィルスフリーか否かを判断することもできる。このように実装する場合には、ネットワーク資源を考慮しなければならないが、行為をデータ量の少ないものに変換しさらに圧縮して送信し、検出処理用サーバで解凍し判断することで現実的に実現することができる。
(本発明の第2の実施形態)
本発明の第2の実施形態に係るプログラム認証システムについて図8に基づき説明する。図8は本実施形態に係る鍵検出手段による同一性の判断の説明図である。
本実施形態に係るプログラム認証システムは、前記第1の実施形態に係るプログラム認証システムと同様に構成され、この構成に加え、前記鍵検出手段2は、プログラム実行時に前記秘密鍵情報3と同一の実秘密鍵情報が検出されなかった場合に、以降の実秘密鍵情報が秘密鍵情報3と同一であるとき、相違検出信号を出力しない構成である。
前記鍵検出手段2は、プログラム実行時に前記秘密鍵情報3と同一の実秘密鍵情報が検出されなかったときとは、認証振舞いが複数の行為からなるときに、実際のアプリケーションプログラムの行為がかかる認証振舞いの複数の行為と合致しないものがある場合を示す。このように合致しないものがあれば、前記第1の実施形態に係るプログラム認証システムにおいては、直ちに相違検出信号が鍵検出手段2から出力されるが、本実施形態においては、相違検出信号の出力を待って、合致しない行為が検出された以降の行為が認証振舞いの行為と合致すれば相違検出信号の出力をせず、合致しない行為が検出された以降であっても認証振舞いの行為と合致しなければ相違検出信号を出力するものである。
本実施の具体例を、鍵検出手段2が一部検出方法を採用した場合で図8を用いて説明する。図8(a)が秘密鍵情報3であり、図8(b)ないし図8(e)が鍵検出手段2が検出して秘密鍵情報3との同一性を比較する対象となる実秘密鍵情報である(ここで、一部検出方法を採用しているので、実秘密鍵情報は全て認証振舞いに関連する行為からなる)。図8(b)の実秘密鍵情報は、図8(a)の秘密鍵情報3と同一であり、鍵検出手段2は同一であると判断し相違検出信号を出力しない。図8(c)の実秘密鍵情報は、図8(a)の秘密鍵情報3と2つ目までの行為が同一であるが、3つ目の行為から異なり、それ以降も異なるので、鍵検出手段2はもはや同一でないと判断し相違検出信号を出力する。図8(d)の実秘密鍵情報は、図8(a)の秘密鍵情報3と2つ目までの行為が同一であり3つ目の行為が異なるものの4つ目以降の行為が秘密鍵情報3の3つ目以降の行為と同一となっており鍵検出手段2は相違検出信号を出力しない。図8(e)の実秘密鍵情報は、図8(a)の秘密鍵情報3と2つ目までの行為が同一であり3つ目の行為及び4つ目の行為が異なるものの5つ目以降の行為が秘密鍵情報3の4つ目以降の行為と同一となっており鍵検出手段2は相違検出信号を出力しない。
どの範囲までの相違を鍵検出手段2が認めて相違検出信号を出力しないかは、例えば、設定により変化させることが好ましく、例えば、ウィルスに感染する可能性が少しでもあればシステムを停止させる方が好ましい環境であれば少しの相違も認めず相違検出信号を出力するようにする。さらに、相違検出信号を出力した後の処理をも考慮して、少しでも相違する場合には取りあえず第1の相違検出信号を出力して管理者に通知し、さらに、相違する場合には第2の相違検出信号を出力してアプリケーションプログラムを停止するような構成にすることもできる。
このように本実施形態に係るプログラム認証システムによれば、前記鍵検出手段2は、プログラム実行時に前記秘密鍵情報3と同一の実秘密鍵情報が検出されなかった場合に、以降の実秘密鍵情報が秘密鍵情報3と同一であるとき、相違検出信号を出力しないので、ある程度の幅を持たせて鍵検出手段2が秘密鍵情報3と実秘密鍵情報との同一の判断をしており、比較する最小単位が実秘密情報内で一意となっていないものがあったとしても他の部分で一意となっていれば同一だと判断され、アプリケーションプログラムの正常な動作を妨げることを抑制することができる。
(本発明の第3の実施形態)
本発明の第3の実施形態に係るプログラム認証システムについて説明する。
本実施形態に係るプログラム認証システムは、前記第1の実施形態に係るプログラム認証システムと同様に構成され、この構成に加え、前記鍵検出手段2は、秘密鍵情報3に基づきプログラム実行時に認証振舞い検出する鍵検出回路を生成する鍵検出回路生成部と、当該鍵検出回路を実行する再構成可能なハードウェアである鍵検出回路実行部とからなる構成である。
前記第1の実施形態に係るプログラム認証システム及び第2の実施形態に係るプログラム認証システムでは、鍵検出手段2がどのような行為であっても検出できるようにして全ての行為を検出していたが、このように鍵検出手段2を構成することは実装面で複雑且つ肥大となってしまう。しかし、認証振舞いに係る行為のみを検出することができればよいとの考えに基づけば、秘密鍵情報を生成した場合に想定した行為のみを最低限検出対象とすればよい。このように鍵検出手段2を構成した場合には比較的単純で動作も軽快となるというメリットがある。さらに本実施形態のように、鍵検出回路生成部が秘密鍵情報3に基づき鍵検出回路を生成すれば、アプリケーション毎に異なる秘密鍵情報であった場合にも鍵検出手段2が検出できない行為があるという事態を回避し、最適な鍵検出回路を生成し適切に認証振舞いに係る行為を検出することができる。
このような検出回路は鍵検出回路生成部が、ソフトウェアのプログラムとして生成することもできるが、本実施形態においては、実際の電気・電子回路の回路情報として生成し、鍵検出回路実行部に出力する。鍵検出回路実行部は、再構成可能なハードウェアであり、回路を書き換えることができるICであるFPGA(Field Programmable Gate-Array)が該当する(FPGAでなくても回路を書き換えることができるものであればよい)。したがって、鍵検出回路実行部は、鍵検出回路生成部から出力された回路情報(FPGAでは回路情報をネットリストと呼ぶ場合がある)を受け、回路を再構成する。このような再構成可能なハードウェアを用いることのメリットは、鍵検出回路生成部をソフトウェアで実装した場合と比べ高速な動作を行うことができ、使用者にとってみればアプリケーションプログラムの動作がメインであり本鍵検出手段2は付加的なものに過ぎずパフォーマンスを消費することを最大限抑える必要があり、この要請を満たすことができる。再構成可能なハードウェアも専用ICと比べると動作が遅いが、秘密鍵情報3に基づき鍵検出手段2の動作が異なる本実施形態においては、専用ICを用いることができないことから最適な選択と言える。鍵検出手段2の検出対象とする行為に変更がない場合には、専用のICで実装した方が動作面では好ましい。
このように本実施形態に係るプログラム認証システムによれば、鍵検出手段2が秘密鍵情報3に基づきプログラム実行時に認証振舞い検出する鍵検出回路を生成する鍵検出回路生成部からなるので、アプリケーション毎に異なる秘密鍵情報であった場合にも鍵検出手段2が検出できない行為があるという事態を回避し、最適な鍵検出回路を生成し適切に認証振舞いに係る行為を検出することができ、動作においても検出対象となる行為を限定しているため検出時の動作が高速となる。また、鍵検出手段2が前記鍵検出回路を実行する再構成可能なハードウェアである鍵検出回路実行部からなるので、鍵検出回路実行部は、鍵検出回路生成部から出力された回路情報を受け回路を再構成しており、鍵検出回路生成部をソフトウェアで実装した場合と比べ高速な動作を行うことができる。また、動作が高速となるだけでなく、消費電力の削減も図ることができる。
なお、本実施形態に係るプログラム認証システムにおいては、前記認証振舞いがメモリ・アクセス・パタンからなることもでき、鍵挿入手段1が秘密鍵情報から認証振舞いに係るメモリアクセスをアプリケーションプログラムのプログラム・コードに挿入し、挿入済みアプリケーションプログラムとし、鍵検出手段2が秘密鍵情報を参照して、まず、鍵検出回路生成部から鍵検出回路としてのタイマ及びアクセスパタンリストを生成し、このタイマ及びアクセスパタンリストの回路情報を鍵検出回路実行部に出力し、鍵検出回路実行部が回路情報を再構成し、タイマが示すある一定時間内にアクセスパタンリストに従ったメモリ参照の行為が検出されない場合には、鍵検出手段2が相違検出信号を出力し、アプリケーションプログラムの動作を停止又は中止させることもできる。
また、本実施形態に係るプログラム認証システムにおいては、鍵挿入手段1、鍵検出手段2、アプリケーションプログラムをネットリストで実現して、FPGA上で実現することもできる。
また、本実施形態に係るプログラム認証システムにおいては、使用者PC16側に前記鍵検出手段2の鍵検出回路生成部及び鍵検出回路実行部があるとした構成であるが、この鍵検出回路生成部のみをアプリケーションプログラム提供側の構成に組み入れることもでき、例えば、挿入処理サーバ13に組み入れ、この挿入処理サーバ13が挿入済アプリケーションプログラムだけでなく、回路情報(ネットリスト)を生成してデータベースB14に格納し、ダウンロード用サーバ15から使用者PC16に挿入済アプリケーションプログラム及び回路情報(ネットリスト)をダウンロードすることもでき、使用者PC側で回路情報(ネットリスト)を生成する必要がなく迅速にアプリケーションプログラムを起動させることができ、さらに、セキュリティ向上の観点から鍵検出回路生成部をバージョンアップさせた場合に使用者PC16側は何の保守行為をすることなくアプリケーションプログラム提供側で保守行為をすることで対応することができ使用者の負担が管理面で軽減される。
本発明の第1の実施形態に係るプログラム認証システムの構成ブロック図である。 本発明の第1の実施形態に係る各種プログラムの挿入形態である。 本発明の第1の実施形態に係る各種プログラムの挿入形態に対応する同一性の判断方法である。 本発明の第1の実施形態に係るアプリケーション提供システムの構成ブロック図である。 本発明の第1の実施形態に係るアプリケーション提供システムの動作フローチャートである。 本発明の第1の実施形態に係るプログラム認証システムの挿入処理の動作フローチャートである。 本発明の第1の実施形態に係るプログラム認証システムの検出処理の動作フローチャートである。 本発明の第2の実施形態に係る鍵検出手段による同一性の判断の説明図である。
符号の説明
1 鍵挿入手段
2 鍵検出手段
3 秘密鍵情報
4 実行停止手段
11 データベースA
12 受付用サーバ
13 挿入処理用サーバ
14 データベースB
15 ダウンロード用サーバ
16 使用者PC

Claims (7)

  1. 正規プログラムと認証するためのプログラム実行の振舞いである認証振舞いを定めた秘密鍵情報から当該認証振舞いをプログラム・コードに挿入する鍵挿入手段と、プログラム実行時に実際のプログラムの振舞いを実秘密鍵情報として検出する鍵検出手段とを備え、
    当該鍵検出手段は、プログラム実行時に前記秘密鍵情報と同一の実秘密鍵情報が検出されなかった場合に、相違検出信号を出力することを
    特徴とするプログラム認証システム。
  2. 前記請求項1に記載のプログラム認証システムにおいて、
    前記鍵検出手段は、プログラム実行時に前記秘密鍵情報と同一の実秘密鍵情報が検出されなかった場合に、以降の実秘密鍵情報が秘密鍵情報と同一であるとき、相違検出信号を出力しないことを
    特徴とするプログラム認証システム。
  3. 前記請求項1または2に記載のプログラム認証システムにおいて、
    前記鍵検出手段が出力した相違検出信号が入力された場合に、プログラムの実行そのものを中止又は停止する実行停止手段を備えることを
    特徴とするプログラム認証システム。
  4. 前記請求項1ないし3のいずれかに記載の認証システムにおいて、
    前記鍵挿入手段が、秘密鍵情報から認証振舞いをプログラム・コードに挿入してオブジェクト・コードを生成することを
    特徴とする認証システム。
  5. 前記請求項1ないし4のいずれかに記載の認証システムにおいて、
    前記鍵検出手段が秘密鍵情報に基づきプログラム実行時に認証振舞い検出する鍵検出回路を生成する鍵検出回路生成部からなることを
    特徴とする認証システム。
  6. 前記請求項5に記載の認証システムにおいて、
    前記鍵検出手段が鍵検出回路を実行する再構成可能なハードウェアである鍵検出回路実行部からなることを
    特徴とする認証システム。
  7. 前記請求項1ないし6のいずれかに記載の認証システムにおいて、
    前記認証振舞いがメモリ・アクセス・パタンからなることを
    特徴とする認証システム。
JP2003411884A 2003-12-10 2003-12-10 プログラム認証システム Expired - Fee Related JP4497450B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003411884A JP4497450B2 (ja) 2003-12-10 2003-12-10 プログラム認証システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003411884A JP4497450B2 (ja) 2003-12-10 2003-12-10 プログラム認証システム

Publications (2)

Publication Number Publication Date
JP2005173903A true JP2005173903A (ja) 2005-06-30
JP4497450B2 JP4497450B2 (ja) 2010-07-07

Family

ID=34732497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003411884A Expired - Fee Related JP4497450B2 (ja) 2003-12-10 2003-12-10 プログラム認証システム

Country Status (1)

Country Link
JP (1) JP4497450B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156840A (zh) * 2010-02-12 2011-08-17 三菱电机株式会社 控制装置以及管理装置
US8302188B2 (en) 2006-07-18 2012-10-30 Panasonic Corporation Instruction generation apparatus for generating a computer program resistant to unauthorized analyses and tampering
US8453206B2 (en) 2006-11-09 2013-05-28 Panasonic Corporation Detecting unauthorized tampering of a program
JP2017130054A (ja) * 2016-01-20 2017-07-27 株式会社東芝 制御装置およびプログラム
CN109472143A (zh) * 2017-12-29 2019-03-15 北京安天网络安全技术有限公司 一种对勒索软件进行自动分析的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076064A (ja) * 1998-09-01 2000-03-14 Hitachi Software Eng Co Ltd プログラムへの透かしの挿入方法及びシステム
JP2003523003A (ja) * 1999-12-20 2003-07-29 パット−ライツ リミテッド 他のソフトウェアの使用を正当なユーザのみに規制するためのソフトウェアおよびその方法
JP2003308129A (ja) * 2002-02-12 2003-10-31 Xerox Corp アクセスを制御するためのシステムおよび方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076064A (ja) * 1998-09-01 2000-03-14 Hitachi Software Eng Co Ltd プログラムへの透かしの挿入方法及びシステム
JP2003523003A (ja) * 1999-12-20 2003-07-29 パット−ライツ リミテッド 他のソフトウェアの使用を正当なユーザのみに規制するためのソフトウェアおよびその方法
JP2003308129A (ja) * 2002-02-12 2003-10-31 Xerox Corp アクセスを制御するためのシステムおよび方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8302188B2 (en) 2006-07-18 2012-10-30 Panasonic Corporation Instruction generation apparatus for generating a computer program resistant to unauthorized analyses and tampering
US8453206B2 (en) 2006-11-09 2013-05-28 Panasonic Corporation Detecting unauthorized tampering of a program
CN102156840A (zh) * 2010-02-12 2011-08-17 三菱电机株式会社 控制装置以及管理装置
JP2017130054A (ja) * 2016-01-20 2017-07-27 株式会社東芝 制御装置およびプログラム
CN109472143A (zh) * 2017-12-29 2019-03-15 北京安天网络安全技术有限公司 一种对勒索软件进行自动分析的方法及系统

Also Published As

Publication number Publication date
JP4497450B2 (ja) 2010-07-07

Similar Documents

Publication Publication Date Title
JP4729575B2 (ja) ソフトウェアのセキュリティ確保
US10659494B2 (en) Method for implementing online anti-phishing
US9118666B2 (en) Computing device integrity verification
JP4320013B2 (ja) 不正処理判定方法、データ処理装置、コンピュータプログラム、及び記録媒体
JP4975127B2 (ja) 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置
JP2009521020A (ja) 高リスクアプリケーション用の実用的プラットフォーム
EP2879327A1 (en) Encryption and decryption processing method, apparatus and device
DK2767922T3 (en) Password Verification System
CN107533594B (zh) 验证软件的方法、安全软件系统及可读存储介质
Gittins et al. Malware persistence mechanisms
CN111639311A (zh) 防止反编译可执行文件的方法、装置、计算机设备和介质
Cicala et al. Analysis of encryption key generation in modern crypto ransomware
EP1465038B1 (en) Memory security device for flexible software environment
JP7024792B2 (ja) プログラム検証システム、方法およびプログラム
US9177123B1 (en) Detecting illegitimate code generators
CN113127873A (zh) 堡垒机的可信度量系统及电子设备
JP4497450B2 (ja) プログラム認証システム
CN111475168A (zh) 一种代码编译方法及装置
CN106648770B (zh) 一种应用程序安装包的生成方法、加载方法及装置
CN108694322A (zh) 用于对计算机化系统进行初始化的方法及计算机化系统
CN114238870A (zh) 一种网络请求处理方法、装置、设备及存储介质
KR20070022150A (ko) 소프트웨어 변조를 방지하기 위한 시스템, 방법, 및컴퓨터-판독가능 매체
Anand et al. Comparative study of ransomwares
EP4167111B1 (en) Method and apparatus for preparing unique software
CN112597449B (zh) 软件加密方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100119

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: 20100406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100409

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees