JP2005085188A - プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置 - Google Patents
プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置 Download PDFInfo
- Publication number
- JP2005085188A JP2005085188A JP2003319318A JP2003319318A JP2005085188A JP 2005085188 A JP2005085188 A JP 2005085188A JP 2003319318 A JP2003319318 A JP 2003319318A JP 2003319318 A JP2003319318 A JP 2003319318A JP 2005085188 A JP2005085188 A JP 2005085188A
- Authority
- JP
- Japan
- Prior art keywords
- program
- memory
- blocks
- address
- block
- 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
Links
Images
Abstract
【解決手段】PCの汎用バスに、PCIカードなどの形態で専用の保護装置100を接続する。この保護装置100の分割部301は、プログラムをランダムな大きさのブロックに分割する。このブロックは再構成部302により、1.順序を入れ替えられたり、2.機能的に等価なコード列で置き換えられたり、あるいは3.複数のブロックにより多重化されたりした後、アドレスを解決されてDMA部303によりメインメモリ102にロードされる。このように、保護されたプログラムはその実行の都度「見た目」が複雑に変化する。また、ロード時点でのプログラムのメモリイメージを保存しておき、これを現在のメモリイメージと不定期に照合することで、プログラムの改竄の有無をチェックする。
【選択図】 図3
Description
図1は、この発明の実施の形態1にかかるプログラム保護装置のハードウエア構成の一例を示す説明図である。図示する装置は一般的なPC(パーソナル・コンピュータ)であり、PCが通常備えるハードウエア(同図ではそのうち、本発明の説明に必要な最低限のものしか示していない)に加え、プログラムの不正な改竄・解析などを阻止するための専用の保護装置100を備えたことが特徴となっている。
図5は、図4に示したプログラムを構成する各ブロックが、再構成部302により並べ替えられた後の状態を模式的に示す説明図である。ブロックの順序が入れ替わることでプログラムの外観(メインメモリ102への展開時の状態)は変化しても、分割部301により挿入されている分岐命令があるので、CPU101による実行順序そのものは変化しない。すなわち、図4および図5に示したプログラムは、いずれもブロック1→2→3→4の順序で実行される。
図6は、図4に示したプログラムのブロック2が、再構成部302によりブロック2’に置き換えられた後の状態を模式的に示す説明図である。このブロック2’は、元のブロック2と機能的には等価であるが、「見た目」すなわちコード列は異なっている。コンパイラによる最適化と似ているが、違うのはコードの実行効率は問わない点である。すなわち、ブロック2よりブロック2’のほうが実行速度が遅くても置換してしまう。このブロック2’は、ブロック2についてたとえば以下のような処理を行うことで生成される。
実行順序に前後関係のない命令の順序を入れ替える。実行順序に前後関係がある命令は、並べ替えの後に分岐命令を追加することで、命令の位置が入れ替わっても実行順序そのものは変化しないようにする。
前者の例はたとえば、「A+1」という命令を「A+2」と「A−1」とに分割したり、複合的な命令を複数の単純な命令で代替したりするようなものである。後者の例はたとえば、「A+1」と「A+2」とを「A+3」に統合するようなものである。
たとえばnop命令や、レジスタに1を加算する命令と1を減算する命令との組み合わせなど、ブロック本来の機能(以下では「主機能」と呼ぶ)に影響しない冗長な命令を追加する。あるいは、主機能とは無関係な機能(以下では「追加機能」と呼ぶ)を実現するための一群の命令(この命令群はあらかじめ再構成部302に保持されている)を追加する。なお、この追加機能は単にプログラムの外観を変化させるだけでなく、プログラムの「なりすまし」の検出にも利用することができるが、この点については実施の形態2において後述する。
図7は、図4に示したプログラムのブロック2が、再構成部302により複数のブロック「2−a」「2−b」「2−c」「2−d」に多重化された後の状態を模式的に示す説明図である。これらのブロックはいずれも、図4に示したブロック2と機能的に等価であるが、コード列はそれぞれ異なっている。
さて、上述した実施の形態1はプログラムの「見た目」を複雑化することで、解析や改竄などを困難とする例であったが、以下で説明する実施の形態2のように、万一こうした行為の結果不正なプログラムが実行されることがあっても、保護装置100でその事実を検知できるようにしてもよい。
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックの順序を入れ替える入れ替え工程と、
前記入れ替え工程で任意のブロックの順序を入れ替えられたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
を含んだことを特徴とするプログラム保護方法。
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックのコード列を同等の機能を有する別のコード列に置き換える置き換え工程と、
前記置き換え工程で任意のブロックのコード列を置き換えられたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
を含んだことを特徴とするプログラム保護方法。
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックを同等の機能を有する複数のブロックおよび当該複数のブロックのいずれか1つを指定するブロックにより多重化する多重化工程と、
前記多重化工程で任意のブロックを多重化されたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
を含んだことを特徴とするプログラム保護方法。
さらに、前記プログラムの実行中に前記他の機能により実現される所定の作用もしくは反応の有無を監視する不正検出工程を含んだことを特徴とする前記付記1〜付記5のいずれか一つに記載のプログラム保護方法。
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックの順序を入れ替える入れ替え工程と、
前記入れ替え工程で任意のブロックの順序を入れ替えられたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
をプロセッサに実行させることを特徴とするプログラム保護プログラム。
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックのコード列を同等の機能を有する別のコード列に置き換える置き換え工程と、
前記置き換え工程で任意のブロックのコード列を置き換えられたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
をプロセッサに実行させることを特徴とするプログラム保護プログラム。
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックを同等の機能を有する複数のブロックおよび当該複数のブロックのいずれか1つを指定するブロックにより多重化する多重化工程と、
前記多重化工程で任意のブロックを多重化されたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
をプロセッサに実行させることを特徴とするプログラム保護プログラム。
前記メモリにロードするプログラムを複数のブロックに分割する分割手段と、
前記分割手段により分割された任意のブロックの順序を入れ替える入れ替え手段と、
前記入れ替え手段により任意のブロックの順序を入れ替えられたプログラムのアドレスを解決するアドレス解決手段と、
前記アドレス解決手段によりアドレスを解決されたプログラムを前記メモリにロードするロード手段と、
を備えたことを特徴とするプログラム保護装置。
前記メモリにロードするプログラムを複数のブロックに分割する分割手段と、
前記分割手段により分割された任意のブロックのコード列を同等の機能を有する別のコード列に置き換える置き換え手段と、
前記置き換え手段により任意のブロックのコード列を置き換えられたプログラムのアドレスを解決するアドレス解決手段と、
前記アドレス解決手段によりアドレスを解決されたプログラムを前記メモリにロードするロード手段と、
を備えたことを特徴とするプログラム保護装置。
前記メモリにロードするプログラムを複数のブロックに分割する分割手段と、
前記分割手段により分割された任意のブロックを同等の機能を有する複数のブロックおよび当該複数のブロックのいずれか1つを指定するブロックにより多重化する多重化手段と、
前記多重化手段により任意のブロックを多重化されたプログラムのアドレスを解決するアドレス解決手段と、
前記アドレス解決手段によりアドレスを解決されたプログラムを前記メモリにロードするロード手段と、
を備えたことを特徴とするプログラム保護装置。
101 CPU
102 メインメモリ
103 I/Oブリッジ
104 HDD
300,1100,1300 リロケータブルコード生成部
301,1101,1301 分割部
302,1102,1302 再構成部
303,1103,1303 DMA部
304,1104,1304 スイッチ書き換え部
305,1105,1305 ブロック書き換え部
1106,1306 要約部
1107,1307 不正検出部
1308 暗号部
1309 復号部
Claims (5)
- メモリにロードされた実行可能なプログラムの保護方法において、
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックの順序を入れ替える入れ替え工程と、
前記入れ替え工程で任意のブロックの順序を入れ替えられたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
を含んだことを特徴とするプログラム保護方法。 - メモリにロードされた実行可能なプログラムの保護方法において、
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックのコード列を同等の機能を有する別のコード列に置き換える置き換え工程と、
前記置き換え工程で任意のブロックのコード列を置き換えられたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
を含んだことを特徴とするプログラム保護方法。 - メモリにロードされた実行可能なプログラムの保護方法において、
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックを同等の機能を有する複数のブロックおよび当該複数のブロックのいずれか1つを指定するブロックにより多重化する多重化工程と、
前記多重化工程で任意のブロックを多重化されたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
を含んだことを特徴とするプログラム保護方法。 - メモリにロードされた実行可能なプログラムに対する解析・改竄などを防止する保護プログラムにおいて、
前記メモリにロードするプログラムを複数のブロックに分割する分割工程と、
前記分割工程で分割された任意のブロックの順序を入れ替える入れ替え工程と、
前記入れ替え工程で任意のブロックの順序を入れ替えられたプログラムのアドレスを解決するアドレス解決工程と、
前記アドレス解決工程でアドレスを解決されたプログラムを前記メモリにロードするロード工程と、
をプロセッサに実行させることを特徴とするプログラム保護プログラム。 - メモリにロードされた実行可能なプログラムの保護装置において、
前記メモリにロードするプログラムを複数のブロックに分割する分割手段と、
前記分割手段により分割された任意のブロックの順序を入れ替える入れ替え手段と、
前記入れ替え手段により任意のブロックの順序を入れ替えられたプログラムのアドレスを解決するアドレス解決手段と、
前記アドレス解決手段によりアドレスを解決されたプログラムを前記メモリにロードするロード手段と、
を備えたことを特徴とするプログラム保護装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003319318A JP4568489B2 (ja) | 2003-09-11 | 2003-09-11 | プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003319318A JP4568489B2 (ja) | 2003-09-11 | 2003-09-11 | プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005085188A true JP2005085188A (ja) | 2005-03-31 |
JP4568489B2 JP4568489B2 (ja) | 2010-10-27 |
Family
ID=34418286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003319318A Expired - Fee Related JP4568489B2 (ja) | 2003-09-11 | 2003-09-11 | プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4568489B2 (ja) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007220091A (ja) * | 2006-02-14 | 2007-08-30 | Lenovo Singapore Pte Ltd | コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法 |
JP2008077400A (ja) * | 2006-09-21 | 2008-04-03 | Kddi Corp | プログラム難読化方法およびプログラム |
JP2008090668A (ja) * | 2006-10-03 | 2008-04-17 | Kddi Corp | プログラム難読化方法およびプログラム |
JP2008118265A (ja) * | 2006-11-01 | 2008-05-22 | Fujitsu Ltd | 情報処理装置 |
JP2009501470A (ja) * | 2005-07-14 | 2009-01-15 | セクストリーム テクノロジーズ エーエス | マルチメディア・データの保護 |
WO2009013825A1 (ja) | 2007-07-25 | 2009-01-29 | Panasonic Corporation | 情報処理装置、及び改竄検証方法 |
JP2009110113A (ja) * | 2007-10-26 | 2009-05-21 | Mitsubishi Electric Corp | プログラム変換装置及びプログラム及びプログラム変換方法 |
JP2009524879A (ja) * | 2006-01-25 | 2009-07-02 | セーフネット インコーポレイテッド | プロテクトされたアプリケーションプログラムとシェルコードとの結合 |
JP2011008733A (ja) * | 2009-06-29 | 2011-01-13 | Toshiba Storage Device Corp | 磁気ディスク装置 |
US7978857B2 (en) | 2006-09-26 | 2011-07-12 | Fujitsu Limited | Secure device having key management function and information processing apparatus |
US8041958B2 (en) | 2006-02-14 | 2011-10-18 | Lenovo (Singapore) Pte. Ltd. | Method for preventing malicious software from execution within a computer system |
JP2011227897A (ja) * | 2010-04-16 | 2011-11-10 | Thomson Licensing | 自己修正計算機コードのチェックサム検証のための方法、装置およびコンピュータ・プログラム担体 |
WO2011141997A1 (ja) * | 2010-05-11 | 2011-11-17 | 安田浩 | 外部ブートデバイス、外部ブートプログラム、外部ブート方法及びネットワーク通信システム |
JP2013093818A (ja) * | 2011-10-24 | 2013-05-16 | Korea Electronics Telecommun | ハードディスク暗号化のための装置及び方法 |
US8694797B2 (en) | 2006-02-14 | 2014-04-08 | Lenovo (Sinapore) Pte Ltd | Method for preventing malicious software from execution within a computer system |
JP2015038723A (ja) * | 2013-07-17 | 2015-02-26 | 大日本印刷株式会社 | 書込装置、書込方法、書込処理プログラム、及び情報記憶媒体 |
KR20180019515A (ko) * | 2015-04-07 | 2018-02-26 | 런세이프 시큐리티, 인크. | 이진 및 메모리 다이버시티를 통한 난독화 시스템 및 방법 |
JP2018081349A (ja) * | 2016-11-14 | 2018-05-24 | 日本電信電話株式会社 | 改竄検知システム、検証ecu、被検証ecu、プログラム |
JP7348701B2 (ja) | 2019-05-03 | 2023-09-21 | ライン プラス コーポレーション | メモリ上に実行可能イメージをロードする方法およびシステム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000056964A (ja) * | 1998-08-07 | 2000-02-25 | Nippon Telegr & Teleph Corp <Ntt> | マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体 |
JP2000112750A (ja) * | 1998-10-02 | 2000-04-21 | Hyper Tec:Kk | 情報処理装置 |
JP2002514333A (ja) * | 1997-06-09 | 2002-05-14 | インタートラスト テクノロジーズ コーポレイション | ソフトウェアセキュリティを増強するための混乱化技術 |
-
2003
- 2003-09-11 JP JP2003319318A patent/JP4568489B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002514333A (ja) * | 1997-06-09 | 2002-05-14 | インタートラスト テクノロジーズ コーポレイション | ソフトウェアセキュリティを増強するための混乱化技術 |
JP2000056964A (ja) * | 1998-08-07 | 2000-02-25 | Nippon Telegr & Teleph Corp <Ntt> | マイクロプロセッサシステム、マイクロプロセッサ動作解析防止方法およびマイクロプロセッサ動作解析防止プログラムを記録した記録媒体 |
JP2000112750A (ja) * | 1998-10-02 | 2000-04-21 | Hyper Tec:Kk | 情報処理装置 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009501470A (ja) * | 2005-07-14 | 2009-01-15 | セクストリーム テクノロジーズ エーエス | マルチメディア・データの保護 |
JP2013059078A (ja) * | 2005-07-14 | 2013-03-28 | Conax As | マルチメディア・データの保護 |
US8627081B2 (en) | 2005-07-14 | 2014-01-07 | Conax As | Multimedia data protection |
JP2009524879A (ja) * | 2006-01-25 | 2009-07-02 | セーフネット インコーポレイテッド | プロテクトされたアプリケーションプログラムとシェルコードとの結合 |
US8694797B2 (en) | 2006-02-14 | 2014-04-08 | Lenovo (Sinapore) Pte Ltd | Method for preventing malicious software from execution within a computer system |
JP2007220091A (ja) * | 2006-02-14 | 2007-08-30 | Lenovo Singapore Pte Ltd | コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法 |
JP4575350B2 (ja) * | 2006-02-14 | 2010-11-04 | レノボ・シンガポール・プライベート・リミテッド | コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法 |
US8041958B2 (en) | 2006-02-14 | 2011-10-18 | Lenovo (Singapore) Pte. Ltd. | Method for preventing malicious software from execution within a computer system |
JP2008077400A (ja) * | 2006-09-21 | 2008-04-03 | Kddi Corp | プログラム難読化方法およびプログラム |
US7978857B2 (en) | 2006-09-26 | 2011-07-12 | Fujitsu Limited | Secure device having key management function and information processing apparatus |
JP2008090668A (ja) * | 2006-10-03 | 2008-04-17 | Kddi Corp | プログラム難読化方法およびプログラム |
JP2008118265A (ja) * | 2006-11-01 | 2008-05-22 | Fujitsu Ltd | 情報処理装置 |
US8306230B2 (en) | 2006-11-01 | 2012-11-06 | Fujitsu Semiconductor Limited | Information processing apparatus playing encrypted content distributed through network |
WO2009013825A1 (ja) | 2007-07-25 | 2009-01-29 | Panasonic Corporation | 情報処理装置、及び改竄検証方法 |
JP2009110113A (ja) * | 2007-10-26 | 2009-05-21 | Mitsubishi Electric Corp | プログラム変換装置及びプログラム及びプログラム変換方法 |
JP2011008733A (ja) * | 2009-06-29 | 2011-01-13 | Toshiba Storage Device Corp | 磁気ディスク装置 |
JP2011227897A (ja) * | 2010-04-16 | 2011-11-10 | Thomson Licensing | 自己修正計算機コードのチェックサム検証のための方法、装置およびコンピュータ・プログラム担体 |
US9471758B2 (en) | 2010-04-16 | 2016-10-18 | Thomson Licensing | Method, a device and a computer program support for verification of checksums for self-modified computer code |
WO2011141997A1 (ja) * | 2010-05-11 | 2011-11-17 | 安田浩 | 外部ブートデバイス、外部ブートプログラム、外部ブート方法及びネットワーク通信システム |
JP2013093818A (ja) * | 2011-10-24 | 2013-05-16 | Korea Electronics Telecommun | ハードディスク暗号化のための装置及び方法 |
JP2015038723A (ja) * | 2013-07-17 | 2015-02-26 | 大日本印刷株式会社 | 書込装置、書込方法、書込処理プログラム、及び情報記憶媒体 |
KR20180019515A (ko) * | 2015-04-07 | 2018-02-26 | 런세이프 시큐리티, 인크. | 이진 및 메모리 다이버시티를 통한 난독화 시스템 및 방법 |
KR102582628B1 (ko) * | 2015-04-07 | 2023-09-22 | 런세이프 시큐리티, 인크. | 이진 및 메모리 다이버시티를 통한 난독화 시스템 및 방법 |
JP2018081349A (ja) * | 2016-11-14 | 2018-05-24 | 日本電信電話株式会社 | 改竄検知システム、検証ecu、被検証ecu、プログラム |
JP7348701B2 (ja) | 2019-05-03 | 2023-09-21 | ライン プラス コーポレーション | メモリ上に実行可能イメージをロードする方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
JP4568489B2 (ja) | 2010-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4568489B2 (ja) | プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置 | |
EP2023248B1 (en) | Data processing device, method, program, integrated circuit, and program generating device | |
US5675645A (en) | Method and apparatus for securing executable programs against copying | |
US20190236314A1 (en) | Secure processor and a program for a secure processor | |
US6185686B1 (en) | Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information | |
US7747870B2 (en) | Apparatuses and methods for decrypting encrypted data and locating the decrypted data in a memory space used for execution | |
US6868495B1 (en) | One-time pad Encryption key Distribution | |
US5109413A (en) | Manipulating rights-to-execute in connection with a software copy protection mechanism | |
US7065215B2 (en) | Microprocessor with program and data protection function under multi-task environment | |
US8307215B2 (en) | System and method for an autonomous software protection device | |
JP4892167B2 (ja) | ディジタル・データ保護構成 | |
WO1998011690A9 (en) | Self-decrypting digital information system and method | |
WO1996034334A1 (fr) | Dispositif pour l'execution d'un programme chiffre | |
JP2005135265A (ja) | 情報処理装置 | |
JP3683031B2 (ja) | プログラム保護装置 | |
JP2010039891A (ja) | 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム | |
JP3865347B2 (ja) | プログラムへの透かしの挿入方法及びシステム | |
JP4125995B2 (ja) | データ変換システム | |
JP2004272594A (ja) | データ利用装置及びデータ利用方法、並びにコンピュータ・プログラム | |
JP4229330B2 (ja) | 暗号プログラム生成装置及び暗号プログラム生成方法 | |
JP2008071250A (ja) | アクセス制御装置 | |
JP2008299930A (ja) | 半導体記憶装置 | |
JP2003005855A (ja) | ライセンス管理方法および記録媒体 | |
Smith | Hacking Code | |
WO2023156571A1 (en) | Protecting software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060814 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100712 |
|
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: 20100803 |
|
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: 20100809 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4568489 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |