JP4502359B2 - 暗号化プログラム復号方法及び暗号化プログラム復号プログラム - Google Patents

暗号化プログラム復号方法及び暗号化プログラム復号プログラム Download PDF

Info

Publication number
JP4502359B2
JP4502359B2 JP2003299298A JP2003299298A JP4502359B2 JP 4502359 B2 JP4502359 B2 JP 4502359B2 JP 2003299298 A JP2003299298 A JP 2003299298A JP 2003299298 A JP2003299298 A JP 2003299298A JP 4502359 B2 JP4502359 B2 JP 4502359B2
Authority
JP
Japan
Prior art keywords
program
decryption
electronic device
memory
decoding
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.)
Expired - Fee Related
Application number
JP2003299298A
Other languages
English (en)
Other versions
JP2005071055A (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.)
HYPERTECH CO Ltd
Original Assignee
HYPERTECH 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 HYPERTECH CO Ltd filed Critical HYPERTECH CO Ltd
Priority to JP2003299298A priority Critical patent/JP4502359B2/ja
Publication of JP2005071055A publication Critical patent/JP2005071055A/ja
Application granted granted Critical
Publication of JP4502359B2 publication Critical patent/JP4502359B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、第三者がリバースエンジニアリングを容易には行うことができない暗号化プログラム復号方法又は暗号化プログラム復号プログラムに関する。
近年、コンピュータの急速な普及に伴い、様々なソフトウェアが使用されるようになっている。そして、ソフトウェアを実行する端末としては、サーバ、パーソナルコンピュータ、ワークステーションのほか、PDA、携帯電話、ビデオゲーム機等、あらゆる電子機器が利用可能となっている。
そして、ソフトウェア実行プログラムにおいては、デバッガ(例えば非特許文献1参照。)などを用いて、いわゆるリバースエンジニアリングによって違法又は不正な目的で当該ソフトウェアを解析することを防止する必要性は高い。
また、ここ数年、電子的な形で記録された音楽、映画、写真等いわゆるデジタルコンテンツが流通又は配布され、前記のような端末を通して再生可能となってきている。一般的に、デジタルコンテンツは、複製が容易であるため、著作権その他知的財産権の保護などの目的から、デジタルコンテンツを容易に複製、剽窃、解読できないようにすることが要求されるようになってきている。
そのため、ソフトウェア及びデジタルコンテンツの暗号化及びリバースエンジニアリング防止の方法は、様々な形のものが考案されてきたが、本発明は、新規な方法によってその一をなすものである。
リチャードMストールマン他著、「GDBデバッギング入門」、日本国、株式会社アスキー発行
本発明の課題は、第三者が、ソフトウェアのリバースエンジニアリングを容易には行えないデータ復号方法を提供することである。
本発明では、この課題を解決するために、前記実行プログラムを、電子装置のメモリ上に復号して展開するにあたり、メモリ上の位置につき、ユーザーからは容易には分からず、かつ、展開する電子装置によって、又は展開する時刻等の状況によって異なる位置となるよう工夫をした。結果として、復号後の前記プログラムのリバースエンジニアリングを容易には行えないようにすることができる。
本発明によれば、ソフトウェアが暗号化され、ソフトウェアの実行の際にはメモリに展開される開始アドレスが実行のたびに異なるので、第三者が容易にリバースエンジニアリングを行なえないソフトウェアを提供することが可能となる。
以下に、本発明の実施の形態を説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。
実施形態1は、主に請求項1などについて説明する。
実施形態2は、主に請求項などについて説明する。
実施形態3は、主に請求項などについて説明する。
実施形態4は、主に請求項などについて説明する。
実施形態5は、主に請求項などについて説明する。
<<実施形態1>>
<実施形態1:概要>
実施形態1は、暗号化したプログラムを電子装置に復号する方法であって、前記プログラムが復号する前記電子装置のメモリ上での位置を取得する復号位置取得ステップと、前記プログラムを前記復号位置に復号する復号ステップとを含み、前記復号位置取得ステップで取得される復号位置は、前記電子装置ごとに、又は毎回の復号の度に変化することを特徴とする暗号化プログラム復号方法である。
図1は、本実施形態の一例の概念を示すものである。また、図2は、実施形態1を説明するフローチャートである。
まず、図1を用いて、本実施形態の概略を説明する。
復号プログラム101は、メモリ104のアドレス1上にロードされ、暗号化した実行プログラム102を復号し、電子装置103のメモリ104のアドレス2上に展開するものである。
なお、実行プログラム102を暗号化する暗号化技術については、任意のものを用いることができる。例えば、アメリカ政府標準になっているDES、FEAL、MISTY、IDEAといった秘密鍵方式を用いることもでき、また、RSA暗号、楕円曲線暗号、ElGamal暗号などのいわゆる公開鍵方式を用いることもできる。後者(公開鍵方式)の場合には、プログラムの製作者等が、実行プログラム102を、自身の秘密鍵を用いて暗号化する。そして、製作者等が、前記暗号化された実行プログラム102に加え、復号プログラム101に、前記秘密鍵に対応する公開鍵を含めてユーザーに配布したり、別の方法を用いたりして、前記公開鍵をユーザーに配布することになる。
復号プログラム101と、実行プログラム102は一体として動作するが、必ずしも復号プログラム101と実行プログラム102が同一ファイルとなっている必要はない。
なお、実行プログラム102が展開し実行される電子装置は、PC(パーソナルコンピュータ)のみならず、サーバ、パーソナルコンピュータ、ワークステーションのほか、PDA、携帯電話、ビデオゲーム機等、CPU及びメモリ(これらの機能を含むチップを含む)を搭載するあらゆる電子機器が使用可能である。また、前記電子装置は、単独でもよく、複数の装置がネットワーク接続されたシステム等でもよい。
<実施形態1:構成及び処理の流れ>
次に、実施形態1の構成を説明する。図2は、実施形態1での処理の流れの一例を示したものである。本実施形態における方法は、以下に示すステップよりなる。以下に示すステップには、本実施形態に必須の構成である、プログラムが復号する電子装置のメモリ上での位置を取得する復号位置取得ステップと、前記プログラムを前記復号位置に復号する復号ステップが含まれている。
また、以下の各ステップは、電子装置で動作するプログラムで実行することができる。また、このプログラムを計算機によって読み取り可能な記録媒体に記録することができ、前記記憶媒体は、電子装置から独立した媒体に限らず、LANやインターネット等により送信されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。さらに、以下の各ステップは、電子装置上のOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のミドルウェア等によって、本実施形態を実現するための各処理の一部を実行する形でもよい。(本明細書の全体を通して同様である。)
<ステップS201>
ステップS201は、復号プログラム101を実行するステップである。復号プログラム101を、これを実行する電子装置103のメモリ104にロードし、起動し、実行する。
前記復号プログラムがロードされるメモリ上のアドレスは、前記電子装置のオペレーティングシステム(以下、「OS」と記す。)が決めることが多い。
<ステップS202>
ステップS202は、復号プログラム101が、暗号化した実行プログラム102が復号する電子装置のメモリ上での位置を取得する復号位置取得ステップである。
ステップS202によって取得される復号位置は、前記電子装置ごとに、又は毎回の復号の度に変化することが特徴となっている。すなわち、復号位置を、電子装置ごとに、又は毎回の復号の度に変化する値を基礎に、これに何らかの演算を加え、又は演算を加えずに、復号位置たるメモリ上のアドレスの数値とすることを特徴とする。
例えば、電子装置によって異なる値を持つものとして、当該電子装置のIPアドレス、当該電子装置の製造番号、当該電子装置のOS等特定ソフトウェアのライセンス番号等があり、また、復号の度に変化する値として、復号時のHDの空容量、メモリの空容量等があるが、使用可能なものはどれでも用いることができる。また、上記各値を複数組み合わせることも可能である。
<ステップS203>
ステップS203は、ステップS202によって取得された復号位置をもとに、復号プログラム101が、実行プログラム102を、前記復号位置に復号するステップである。
すなわち、ステップS202によって算定されたメモリ上のアドレスに、実行プログラム102を復号し、展開するステップである。
なお、仮想メモリを使用しているシステムでは、論理的なアドレススペースの全てに対して物理メモリが割り当てられているとは限らないので、ステップS202によって取得された復号位置から、少なくとも実行プログラム102を復号したときのサイズ分の物理メモリを割り当てる作業が必要となる。このためには、メモリを割り当てる関数やシステムコール(例えば、malloc()、sbrk()など)を用いる。より具体的には、sbrk()は指定されたサイズのメモリ領域を、データセグメントを拡張して確保するシステムコールであるので、まず現在のデータセグメントの終わりのアドレスを取得し、この値と、ステップS202で算定されたメモリ上のアドレスとの差を求め、これに実行プログラム102を復号したときのサイズを加えた値をsbrk()の引数として渡してメモリを確保する。
また、実行プログラム102の中のジャンプ命令のジャンプ先のアドレスや変数のアドレスを変更するために、実行プログラム102を復号したものに、コンパイラの一部を構成するリンカやローダを実行するようにしてもよい。
<実施形態1:具体例>
以下、図3を用いて一具体例を説明する。あるソフトウェアメーカーが、Player.exeという実行プログラム302を作成し、これを暗号化して配布することとする。
前記ソフトメーカーは、秘密鍵方式を採用することとし、まず、前記player.exe302を、秘密鍵で暗号化する。
次に、前記ソフトメーカーは、暗号化した前記Player.exe302を、前記秘密鍵に対応する公開鍵とともに、Decoder.exeという復号プログラム301に組み込み、CD−ROM303などの媒体に記録した上で、ユーザーに配布する。なお、CD−ROMなどの媒体を使って配布せず、インターネットなどを用いてダウンロード可能として配布してもよい。
ユーザーは、自己のパーソナルコンピュータ304上で、同パーソナルコンピュータに接続されたCD−ROMドライブから読み込んだDecoder.exe301を実行した。図4のXXXXXXXXは、Decoder.exe301が、パーソナルコンピュータ304のメモリ305にロードされた際のアドレスを表している。前記アドレスは、前記パーソナルコンピュータのOSが決めることが多い。
Decoder.exe301は、組み込まれた復号用鍵を用いて、Player.exe302を復号し、電子装置のメモリ305に展開する。
まず、Decoder.exe301は、Player.exe302を復号するメモリ上のアドレスYYYYYYYYを取得する。具体的には、Player.exe302は、まず、前記パーソナルコンピュータ304のIPアドレスを取得した。さらに、Decoder.exe301は、前記PCのハードディスクの空容量を取得する。
そして、Decoder.exe301は、前記IPアドレス及びHD空容量に、一定の演算を加え、Player.exe302を展開するアドレスをYYYYYYYYと算定する。
そして、Decoder.exe301は、前記復号にあたり、算定されたアドレスYYYYYYYYに、Player.exe302を展開する。
<実施形態1:効果>
以上のとおり、本実施形態によれば、暗号化した実行プログラムを復号する際、復号化するプログラムのメモリ上において展開するアドレスを、復号する電子装置によって異なる値、又は、復号の時によって異なる値に基づいて計算するため、結果として、復号後の前記プログラムのメモリ上の位置を容易に探索することができず、結果、リバースエンジニアリングを容易には行えないようにすることができる。
<<実施形態2>>
<実施形態2:概要>
実施形態2は、前記復号位置取得ステップは、前記復号位置を、前記復号位置取得ステップが実行される時刻及び/又は前記電子装置の演算装置のシリアルナンバーと関連して取得することを特徴とする実施形態1のデータ復号方法である。
実施形態2は、以下に説明するところを除けば、概要、構成、具体例及び効果については、いずれも実施形態1と同様である。
実施形態2の特徴は、前記復号位置を、実施形態1と同様、復号化するプログラムのメモリ上において展開するアドレスを、復号する電子装置によって異なる値、又は、復号の時によって異なる値に基づいて計算するため、前者については、前記電子装置の演算装置のシリアルナンバーを、後者については、前記復号位置取得ステップが実行される時刻を使用する点にある。
前記シリアルナンバー又は時刻をそれぞれ単独で用いてもよく、両者を組み合わせて用いてもよい。
<実施形態2:特徴>
時刻情報に基づいてアドレスを計算する方法は様々考えられ、どんな方法でもよいが、一例としては以下の方法が考えられる。
ある時点、例えば、1900年1月1日午前0時0分0秒と、復号開始時点の間の秒数を計算し、当該秒数に相当する数値又はこれを適当な数で除した数値を、実行プログラムの先頭アドレスとすることが考えられる。
すなわち、前記復号開始時点での時刻が、2003年4月1日午前10時0分0秒であるとすると、1900年1月1日午前0時0分0秒との間の秒数は、3,258,266,400となる。これを16進数に変換すると、C2353320となる。これを、実行プログラムの先頭アドレスとすることができる。または、復号する電子装置のシステムによって、復号位置のアドレスに制約がある場合には、前記数値に適当な演算を加え、前記システムが許容するアドレスを算定することができる。
前記電子装置の演算装置のシリアルナンバーを用いてアドレスを計算するには、復号プログラムが、前記演算装置のシリアルナンバーを取得し、復号する電子装置のシステムが許容するアドレスの範囲内となるよう前記シリアルナンバーに適当な演算を加え、復号位置を取得することができる。
<<実施形態3>>
<実施形態3:概要>
実施形態3は、暗号化したプログラムを電子装置に復号プログラムであって、その内部に暗号化した前記プログラムと、前記復号のための暗号鍵を含み、前記暗号化したプログラムを前記電子装置のメモリ上において復号するにあたり、前記プログラムが復号する前記電子装置のメモリ上での位置は、前記電子装置ごとに、又は毎回の復号の度に変化することを特徴とするデータ復号プログラムである。
<実施形態3:構成>
実施形態3の発明は、実施形態1の各ステップを実行するためのプログラムであるが、その内部に、暗号化したプログラムと、復号のための暗号鍵を含むことを特徴とする。その他の概要、構成、具体例及び効果については、いずれも実施形態1と同様である。
本実施形態のプログラムは、コンピュータなどの電子装置上によって実行される。例えば、その一例として、コンピュータを利用する場合には、本実施形態のプログラムは、CPU、メモリ、バス、インターフェイス、周辺装置などから構成されるハードウエアと、これらのハードウエア上にて実行可能なOS、ミドルウェア等のソフトウエアと協働して実行される。
<<実施形態4>>
<実施形態4:概要>
実施形態4は、前記暗号化したプログラムを前記電子装置のメモリ上において復号するにあたり、前記プログラムが復号する前記電子装置のメモリ上での位置を、前記復号プログラムが復号を実行する時刻及び/又は前記電子装置の演算装置のシリアルナンバーと関連して取得することを特徴とする実施形態3のデータ復号プログラムである。
実施形態4の概要、構成、具体例及び効果については、いずれも実施形態2及び3と同様である。
<<実施形態5>>
<実施形態5: 概要>
実施形態5は、前記暗号化したプログラムが、映像、音声、文字の一又は一以上の組合せでなるデータを再生することをその機能に含むことを特徴とする請求項1の暗号化プログラム復号プログラムである。
すなわち、前記暗号化したプログラムは、映像、音声、文字の一又は一以上の組合せでなるデータ、すなわち、いわゆるマルチメディアコンテンツ再生をその機能とするのプログラムであることが、本実施形態の特徴である。
<実施形態5:具体例>
ある映画配信会社が、映像と音声を、映像音声データとして配布する。そして、前記映像音声データは、専用の再生プログラムを使用しないと再生できないよう、特殊なデータ形式を取る。
この場合、前記映画配信会社は、前記映像音声データと、専用の再生プログラムを合わせてユーザーに配布する。または、前記専用の再生プログラムをあらかじめ保有しているユーザーに、前記映像音声データを配布する。
前記専用の再生プログラムは、実施形態3のように、暗号化され、さらに、符号プログラムと復号のための暗号鍵が含まれている。
ユーザーは、前記映像音声データ及び専用の再生プログラムを受け取り、前記専用の再生プログラムを用いて、前記映像音声データを再生することができる。
<実施形態5:効果>
以上のとおり、本実施形態によれば、実施形態1〜4と同様、リバースエンジニアリングを容易には行えないようにすることができ、再生プログラムを容易には解析できないようにする結果、権限のない者が、再生プログラムが再生するマルチメディアコンテンツを、閲覧したり、複製、改変等を行ったりすることを、容易には行えないようにすることができる。
本発明は、第三者が容易にリバースエンジニアリングを行なうことができないプログラムを提供するという効果を有し、暗号化プログラム復号方法及び暗号化プログラム復号プログラムとして有用である。
実施形態1を説明するための概念図 実施形態1を説明するためのフローチャート プログラムの製造と配布の概要を示す一例図 実施形態の具体例を説明するための図
符号の説明
0101 復号プログラム
0102 暗号化したプログラム
0103 電子装置
0104 電子装置上のメモリ

Claims (2)

  1. 暗号化したプログラムを電子装置に復号させるプログラムであって、
    その内部に暗号化した前記プログラムと、
    前記復号のための暗号鍵を含み、
    前記暗号化したプログラムを前記電子装置のメモリ上において復号するにあたり、前記プログラムが復号する前記電子装置のメモリ上での位置は、実行プログラムの一部に対して物理メモリを割り当てるために、前記電子装置の演算装置のシリアルナンバーを用いてアドレスを計算し、少なくとも、実行プログラムを復号したときのサイズ分の物理メモリを割り当てることを特徴とする暗号化プログラム復号プログラム。
  2. 前記暗号化したプログラムは、映像、音声、文字の一又は一以上の組合せでなるデータを再生することをその機能に含むことを特徴とする請求項1に記載の暗号化プログラム復号プログラム
JP2003299298A 2003-08-22 2003-08-22 暗号化プログラム復号方法及び暗号化プログラム復号プログラム Expired - Fee Related JP4502359B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003299298A JP4502359B2 (ja) 2003-08-22 2003-08-22 暗号化プログラム復号方法及び暗号化プログラム復号プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003299298A JP4502359B2 (ja) 2003-08-22 2003-08-22 暗号化プログラム復号方法及び暗号化プログラム復号プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010074250A Division JP4897066B2 (ja) 2010-03-29 2010-03-29 暗号化プログラム復号方法及び暗号化プログラム復号プログラム

Publications (2)

Publication Number Publication Date
JP2005071055A JP2005071055A (ja) 2005-03-17
JP4502359B2 true JP4502359B2 (ja) 2010-07-14

Family

ID=34404560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003299298A Expired - Fee Related JP4502359B2 (ja) 2003-08-22 2003-08-22 暗号化プログラム復号方法及び暗号化プログラム復号プログラム

Country Status (1)

Country Link
JP (1) JP4502359B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011096073A1 (ja) 2010-02-08 2011-08-11 Ogawa Mutsumi メモリ管理方法
JP5775738B2 (ja) 2011-04-28 2015-09-09 富士通株式会社 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム
JP6428003B2 (ja) * 2013-07-17 2018-11-28 大日本印刷株式会社 書込装置、書込方法、書込処理プログラム、及び情報記憶媒体

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334163A (ja) * 1997-06-04 1998-12-18 Fuji Electric Co Ltd データの複数日替わり管理方法及びデータ収集装置
JPH1145212A (ja) * 1997-07-29 1999-02-16 Matsushita Electric Ind Co Ltd 秘密情報の解読攻撃対抗方法
JP2001175466A (ja) * 1999-12-21 2001-06-29 Fuji Xerox Co Ltd 実行プログラムの生成方法及び実行プログラム生成装置、実行プログラムの実行方法、並びに、コンピュータ可読プログラム記憶媒体
JP2002132364A (ja) * 2000-10-19 2002-05-10 Yutaka Iizuka プログラムを内部解析から保護する方法、コンピュータ読み取り可能な記録媒体及びプログラムの配布方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334163A (ja) * 1997-06-04 1998-12-18 Fuji Electric Co Ltd データの複数日替わり管理方法及びデータ収集装置
JPH1145212A (ja) * 1997-07-29 1999-02-16 Matsushita Electric Ind Co Ltd 秘密情報の解読攻撃対抗方法
JP2001175466A (ja) * 1999-12-21 2001-06-29 Fuji Xerox Co Ltd 実行プログラムの生成方法及び実行プログラム生成装置、実行プログラムの実行方法、並びに、コンピュータ可読プログラム記憶媒体
JP2002132364A (ja) * 2000-10-19 2002-05-10 Yutaka Iizuka プログラムを内部解析から保護する方法、コンピュータ読み取り可能な記録媒体及びプログラムの配布方法

Also Published As

Publication number Publication date
JP2005071055A (ja) 2005-03-17

Similar Documents

Publication Publication Date Title
US11238165B2 (en) File encryption method, file decryption method, electronic device, and storage medium
KR100824469B1 (ko) 시청각 타이틀들 및 레플리케이터들의 식별 및 폐기를 위한시스템
US7073200B2 (en) Method of providing secure content-based user experience enhancement within a content protection architecture
JP5337411B2 (ja) 情報秘匿化方法および情報秘匿化装置
US10204235B2 (en) Content item encryption on mobile devices
US20070198413A1 (en) Content providing system, content reproducing device, content reproducing method, and computer program
US8595492B2 (en) On-demand protection and authorization of playback of media assets
JP2006285607A (ja) コンテンツ情報提供システム,コンテンツ情報提供サーバ,コンテンツ再生装置,コンテンツ情報提供方法,コンテンツ再生方法,およびコンピュータプログラム
US9197407B2 (en) Method and system for providing secret-less application framework
JP4855272B2 (ja) コンテンツ複製装置及びコンテンツ複製方法
JP2002290393A (ja) 所定のコンテントのディジタルファイルにアクセスする最大数を制限するための暗号化方法
US20100281275A1 (en) Method of recording content on disc, method of providing title key, apparatus for recording content on disc, and content providing server
JP4897066B2 (ja) 暗号化プログラム復号方法及び暗号化プログラム復号プログラム
JP4502359B2 (ja) 暗号化プログラム復号方法及び暗号化プログラム復号プログラム
JP5644467B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
US20020168068A1 (en) Method of and system for encrypting digital data, method of and apparatus for reproducing digital data, and computer product
KR100320181B1 (ko) 디지탈 데이터 파일 암호화 방법
JP2006303771A (ja) ディジタルコンテンツ利用装置及びディジタルコンテンツ利用プログラム
JP2008011219A (ja) 電子透かし埋込システム、装置及びプログラム
KR100580204B1 (ko) 데이터 저장 장치 및 방법
JP2004282238A (ja) コンテンツ記録装置、コンテンツ利用装置、コンテンツ記録方法、コンテンツ利用方法、コンテンツ記録プログラム、およびコンテンツ利用プログラム
JP5574550B2 (ja) 情報秘匿化方法および情報秘匿化装置
JP2001109719A (ja) コンテンツ配布サーバー装置及びコンテンツ配布方法及びプログラムを記録したコンピューター読み取り可能な記録媒体
JPH11249670A (ja) カラオケ装置及びカラオケ端末装置
JP2004054798A (ja) プログラム認証装置、プログラム署名装置、プログラム認証方法、プログラム署名方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060815

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100329

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4502359

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20160430

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees