JPH04163627A - プログラム変換方法 - Google Patents
プログラム変換方法Info
- Publication number
- JPH04163627A JPH04163627A JP2288524A JP28852490A JPH04163627A JP H04163627 A JPH04163627 A JP H04163627A JP 2288524 A JP2288524 A JP 2288524A JP 28852490 A JP28852490 A JP 28852490A JP H04163627 A JPH04163627 A JP H04163627A
- Authority
- JP
- Japan
- Prior art keywords
- program
- argument
- hash total
- total
- conversion method
- 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
Abstract
め要約のデータは記録されません。
Description
保護(プログラムの不正使用防止及び、コンピュータウ
ィルスに対する検知)を実現するための技術に関する。
84A Workshop on the Theo
ry and App]、1cationof Cry
ptograpic TechniquesParis
、France、April 1984“A Meth
od of Software Protection
Ba5ed onthe Use of smart
Cards and CryptographicT
echniques” Ingrid Schaumueller−Bichl
and Erust Piller近年、ネットワー
クの拡大及び、衛星通信の実用化等に伴い、プログラム
のダウンロード等が容易に行えるようになり、その陰の
部分として、プログラムの不正使用及び、コンピュータ
ウィルス等が大きな社会問題となってきている。プログ
ラムの不正使用に対しては、ソフトウェアの価値の低減
及び、ソフトウェア生産者に経済的損失(不正使用に対
する損害は、売上高の50%以上というデータもある。
、システムの破壊等、高度情報社会において不安因子に
なっている。
号技術を用いたプログラムの暗号化というものが従来考
えだされている。以下、詳細に述へる。
き込んでおく。プログラムを実行する場合、ICカード
内に納められている暗号鍵より暗号文を復号化し、その
後プログラムを実行するというものである。これにより
、ICカードを所有している者のみがプログラムを使用
することができることになる。
に、ワクチンプログラムという名称でよく知られている
。)として、暗号技術を用いたハツシュトータルの比較
というものが次の文献で開示されている。
89 Jointworkshop on Infor
mation theory and ItsAppl
ications Cryptographt a
nd Informationsecurity ″ウィルスと暗号″ 松本勉、松井秀智、今井秀樹 以下、詳細に述べる。
トータルを計算し、記憶媒体上に書き込んでおく。プロ
グラムを実行する際、実行プログラムに対して、ハツシ
ュトータルを計算し、記憶媒体上に書かれたハツシュト
ータルと比較する。
グラムの組み込みは、人間の手によって行なわれている
ため効率が悪い。
ンプログラムの取外しが容易である。
、それぞれの機能が独立していれば。
ある。
タルを生成し、その値をソースプログラムに代入した後
、再びロードモジュールを生成するのでは結果として2
回ロードモジュールを生成することになり、処理時間が
かかる。
の組み込み効率の向上という意味で、本発明は、次の点
を改善する。
ータウィルスの有無をチエツクする機能及び、ICリー
ダライタとの回線を立ち上げる機能を有した保護プログ
ラム、保護プログラムの取外しを困難なものとするため
の保護プログラム取外し防止機能及び、ソースプログラ
ムの一部の暗号文をICカードの暗号機能を用いて復号
化し、出力することにより、不正使用を防止する機能を
有した管理プログラム、保護するべき被保護プログラム
において。
ログラムの文字列認識により、然るべきところに保護プ
ログラム及び、管理プログラムを、機械によって代入さ
せる。これにより、保護プログラム及び、管理プログラ
ムの組み込み効率を図る。
グラムに取付けることにより、保護プログラムの取外し
を困難にする。又、複数の機能を持つ保護プログラム、
管理プログラムにおいて、それぞれの機能を実現するた
めのコマンドを交互に組み込むことによって、保護プロ
グラム。
ログラム上に書き込んでおく。これにより、第三者によ
るハツシュトールの変更を困難にする。
込むことによって、処理時間の短縮を図る。
なうことにより、保護プログラム及び、管理プログラム
を自動的に被保護プログラムに組み込むことができる。
ロードモジュールの生成を効率良く行なうことができる
。
の比較及び、ICカードアクセス機能)を従属な位置関
係でプログラム上に配置し、かつソースハツシュトータ
ルの暗号化により、保護プログラムの変更を困難にでき
る。
機能を設けることにより、保護プログラムの取外しを困
難にできる。
に対して行うことにより、保護プログラムの組み込み処
理を高速に実行することができる。
は、保護プログラム組込システムプログラム(IC1)
の処理手順の概略を示す図である。
1)より入力する。被保護プログラム(IC9)のファ
イルがオープンされる。
IC4)がCPU (114)で処理され。
上に保護プログラム(IC2)が組み込まれる。
IC8)がCPU (114)で処理され、前記処理実
施後の被保護プログラム(IC9)の中の引数(例えば
、for(i =O: i = 7)という条件文の中
のrr 7 ++ )を検索し、存在すれば抜き出し、
暗号プログラム(IC6)によって暗号化を行う。もし
、引数が存在しない場合、(205)の処理に移る。
に前記の暗号文を代入した後、被保護プログラム(IC
9)上の引数を抜き出した場所に管理プログラム(IC
7)のコール文を埋め込む。
して、ロードモジュール(1IC)の生成を行う。
)をCPU (114)で処理を行い、実行ファイル上
のロードモジュール(1IC)の−部に対してハツシュ
トータルをとる。
U (114)で処理を行い、出力されたハツシュトー
タルに対して暗号化する。
(IC3)がCPU(114)で処理され、暗号化され
たハツシュトータルを被保護プログラム(1IC)に代
入する。
ることができる。
の詳細、第5図(a)は、被保護プログラム、第5図(
b)は、保護プログラム、管理プログラム埋込処理実行
後のソースプログラムを示した図である。
ain () (” +及び、それに続く変数型文字列
(例えば、int。C言語では、他に、char +l
ong、 5hortなどが挙げられる。)を認識する
ことによって、変数宣言の列(例えば、lnt、11d
ata ; )を検索する(ステップ301)。
IC2のコール文で使用される変数(例えば、X)を宣
言しておくために、上記変数宣言の列(int、 i、
data ; )の最後の文字″;”を認識し、この
文字47 ;++の後に、特別な変数宣言の列(例えば
、1ntX;)を代入する。
する。一般に、プログラムの領域は、内部で用いる変数
などを宣言しておくための変数宣言部と、目的のプロセ
スを実行するための実行部とに分けられる。したがって
、ステップ302で代入された特別な変数宣言の列が最
後の変数宣言の列であれば、その最後の文字LL 、
++の次が実行部の先頭であり、特別な変数宣言の列の
後に、別の変数宣言の列があれば、その最後の文字tt
、 ++の次が実行部の先頭であることがわかる。
護プログラムIC2へのコール文(例えば、X=:ch
k−del (a−a、 a−a、 =−);)を組み
込む。
x =chkJel (a −−−a 、−)”が被
保護プログラム(IC9)に設め込まれる。
ログラム埋込処理手順の詳細である。
文字列11 for++の検出を行い、llforH文
の有無を確認する。
最初の” f o r”に対して、”for″′文の条
件文の中で使われている引数を検出する。
r (i =O,i<7 ; i ++) (”中の
“7″である。
存在しない場合は、その旨をデイスプレィ(112)に
出力し、管理プログラム埋込処理を終了させる事により
(205)の処理に移る。
数を暗号化するために暗号プログラム(IC6)を実行
する。
* II )と所定の文字列sra・・ay+とを含
む管理プログラムへのコール文(例えば、admi(*
**、a・・a))を作成しくステップ406)、ステ
ップ405で抜き出された引数II 7 TIの位置に
埋め込む(ステップ407)。
れた状態(第5図(b))で、ロードモジュールにコン
パイルされる(第2図、ステップ205)。
図示できる。
生成プログラムIC5を実行する(第2図、206)。
細、第7図はハツシュトータル生成処理と埋込処理手順
を説明するためのイメージ図である。
ラム付ロードモジュールを実行ファイルよりコピーする
。
特定の文字列(aa・・a)を検出する。
位置に空白を代入する。
に対して、ハツシュトータルを生成する。
d8)が求められると、暗号プログラム(IC6)を起
動して、ハツシュトータルを暗号化し、ハツシュトータ
ル埋込プログラム(IC3)を起動して、ロードモジュ
ール中の特定の文字列(aa ・a)を検出しく20
7)、その部分に暗号化されたハッシュトータル(1I
C1木木・・・1)を埋め込む(208)。
を第7図(c)に示す。
き、コール文” X =chkJel(a −a 、
a・・・a、・・・)′°が保護プログラム(IC2)
を起動し、次に、for文の中のコール文“admi
(* * * 。
いて説明する。
ルrllo1*木・・・1」をうけとると、ICカード
内部に格納されている復号化プログラムを起動すること
によって復号化し、メモリ」二に格納しておく(801
)。このとき、ICカード内部の復号化プログラムのフ
ァイルをオープンにしたままにしておく。
ーを作成し、コピーファイルからソースハツシュトータ
ルrtto1*木・1」と同し文字列を検出し、その部
分を除いた部分にたいしてハツシュトータル(実行ハツ
シュトータル)をとり(802)、その実行ハツシュト
ータルと復号化されたソースハツシュト−タルとを比較
する(803)。
ータルとが一致する場合は、そのままプログラムを進め
る。
ルとが不一致の場合り二は、プログラムが改ざんされた
と判断されるので、強制終了する。
・1)″によって起動された管理プログラムは、再ヒ、
実行ハツシュトータルとソースハツシュトータルとの比
較をおこなう(901,902)。
いる復号化プログラムを起動する命令を含まないように
作成しておく。したがって、保護プログラムによって復
号化プログラムのファイルがオープンされていない場合
には、エラーが生じることになる。
ータルとが一致する場合には、引数(***)を復号化
しく906)、復号化した結果(”7”)を返り値とし
て、実行ファイル上のロードモジュールに戻る(907
)。また、その時、復号化プログラムのファイルをクロ
ーズしておく。一方、一致しない場合には、強制終了す
る(904) 。
プログラムとを被保護プログラムに組み込むことによっ
て改ざんされたプログラムをチエツクするようにしてい
る。しかしながら、場合に応じて、これらのいずれか一
方を採用するようにしても構わない。
保護プログラム(IC2)へのコール文r X=chk
−del(a −a 、 a −a + −) J
に該当する部分は、比較的取り除きやすいので、保護プ
ログラムへのコール文だけでは、改ざんのチエツクは完
全といいがたい。
グラムのファイルをオープンする命令を含ませておき、
管理プログラムへのコール文のみを組み込ませることも
できる。管理プログラムは、プログラム内部の引数の復
号化と、実行ハツシュトータルとソースハツシュトータ
ルの比較とを行うため、コール文radmi (*”木
、1IC1**・・1)」簡単に、取り除くことはでき
ない。しかしながら、管理プログラムへのコール文は、
被保護プログラムのどこに組み込まれるか分からないの
で、早期に、改ざんのチエツクを行う保護プログラム(
IC2)へのコール文も併用して組込むことが望ましい
態様である。
挙げる。
r文の有無を確認し、最初のfor文に対する条件文で
使われている数値を検出し、管理プログラムを埋めこん
だが、変形例としてwhile文、if文の有無を確認
し、その条件文で使われている数値の検出によって管理
プログラムの埋込も可能である。
についてはC言語を対象としたきたが、本方式による保
護プログラム及び、管理プログラム埋込方法は、高級言
語全てに適用可能である。
挙げる。
詳細である。
調へる。
ーティングメモリ上にあるロードモジュールのテキスト
部の長さ及び、アドレスを調へる。
部のハツシュトータルを生成する。
イル上にあるロードモジュールよりテキスト部を検出し
、その部分に対して行う。
変更チエツクが可能である。
を自動的に被保護プログラムに埋込かつ、ハツシュトー
タルの改造に対しても、ロードモジュールに対して直接
行なうことにより、保護プログラム付きロードモジュー
ルの生成を高速に行なうことができる。
、複数の機能を持つ保護プログラムにおいて、それぞれ
の機能を実現するためのコマンドの交互組み込み等によ
り、保護プログラムの改ざん及び、取外しを困難にでき
る。
メモリ構成を示した図、第2図は、保護プログラム組込
システムプログラムの処理手順を示した図、第3図は、
保護プログラムを埋め込む処理手順を示した図、第4図
は、管理プログラムを埋め込む処理手順を示した図、第
5図は、保護プログラム埋込処理及び、管理プログラム
埋込処理を実行した後の被保護プログラム(ソースプロ
グラム)の変化を示した図、第6図はハツシュトータル
生成処理手順を説明するための図、第7図は、ハツシュ
トータル埋込処理についてのイメージ図、第8図は、保
護プログラムの処理手順を示す図、第9図は管理プログ
ラムの処理手順を示す図、第IC図は、ハツシュ1−一
タルを生成する処理 2 図 保]→Doり゛ラムわしΔシステム処理手゛IIljy
3図 保護フ・aり°′クムセ里ム5手+++a当区 第4図 管度アロ7゛ラム埋込フ゛Q7′ラム%理手〕傾203
.2ρ4 %5 口 邊寥名瞥アロプラム及び、窄カイフ゛ロフ゛うbiシ(
図8′四1rJ1”yl−1J、p葭7゛0を銭、14
1″″i (−−−−) 管ノフ“;”;を第3
図 ハッンエトークル生へ処男1!−”段 V 8口 Y9 閃 管理707ラム処理セ慮 第1θ 口
Claims (1)
- 【特許請求の範囲】 1、改ざん検出機能をもたないプログラムに、該プログ
ラムの改ざん検出をおこなうワクチンプログラムであっ
て、該ワクチンプログラムへのコール文に含まれる引数
と、該引数の部分を除く上記プログラムのハッシュトー
タルとを比較することによって上記プログラムの改ざん
を検出するワクチンプログラムのコール文を、自動的に
組み込むためのプログラム変換方法において、 プログラムの実行部の先頭の位置、あるいは、上記プロ
グラム中の所定の命令文に含まれる引数に代えて、所定
の記号列を引数として含む上記ワクチンプログラムのコ
ール文を挿入し、ロードモジュールにコンパイルと、該
ロードモジュールから上記記号列の部分を検出し、該記
号列の部分を除く上記ロードモジュールに対しハッシュ
トータルを算出し、該ハッシュトータルを上記記号列の
部分と置き換えることによって、プログラムの改ざん検
出機能を備えたプログラムを生成することを特徴とする
プログラム変換方法。 2、プログラムの不正改ざん及び、使用を防止するため
、プログラム内部に不正改ざんを検知する機能を自動的
に追加するためのプログラム変換方法であって、 メモリ内に存在する保護対象となる第1のプログラムに
、所定のパターンを有する文字列を含む命令文を挿入す
ることにより、第2のプログラムに変換し、 該第2のプログラムを機械語による実行形式である第3
のプログラムに変換し、 該第3のプログラムから、上記文字列を検索して、上記
文字列を除いた部分に対してハッシュトータルをとり、
該ハッシュトータルを上記文字列と置き換えることによ
り、不正改ざんを検出する機能を備えたプログラムを生
成することを特徴とするプログラム変換方法。 3、前記命令文は、該ハッシュトータルを引数とする処
理を行うと共に、所定のICカードへ第1のデータを送
り、該ICカードから第2のデータを受け取る処理を含
むことを特徴とする請求項第2項記載のプログラム変換
方法。 4、前記のハッシュトータルは、前記文字列を除いた前
記第3のプログラムの部分に対して、ハッシュトータル
をとり、所定の暗号鍵で暗号化されたハッシュトータル
であることを特徴とする請求項第2項記載のプログラム
方法。 5、プログラム内部に不正使用を防止する機能を自動的
に追加するためのプログラム変換方法であって、 メモリ内に存在する保護対象となる第1のプログラムに
おいて、特定の引数を検索して、該引数の暗号文を取り
、一定パターンの文字列及び、該暗号文を引数とする命
令文を該引数と置き換えることにより、第2のプログラ
ムに変換し、 第2のプログラムを機械語による実行形式であるロード
モジュールに変換することにより、第3のプログラムを
得、 第3のプログラムにおいて、該一定パターン文字列を検
索して、該一定パターン文字列を除いた第3のプログラ
ムの部分に対して第1のハッシュトータルをとり、該ハ
ッシュトータルを該一定パターン文字列と置き換えるこ
とにより、不正改ざん検出する機能を備えたプログラム
を出力することを特徴とするプログラム変換方法。 6、前記命令文は、前記暗号文を引数とする処理を行な
い、所定のICカードへ第1のデータを送り、該ICカ
ードから第2のデータを受け取り、第2のデータを返り
値として返す処理を含むことを特徴とする請求項第5項
記載のプログラム変換方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2288524A JP2886969B2 (ja) | 1990-10-29 | 1990-10-29 | プログラム変換方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2288524A JP2886969B2 (ja) | 1990-10-29 | 1990-10-29 | プログラム変換方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04163627A true JPH04163627A (ja) | 1992-06-09 |
| JP2886969B2 JP2886969B2 (ja) | 1999-04-26 |
Family
ID=17731355
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2288524A Expired - Lifetime JP2886969B2 (ja) | 1990-10-29 | 1990-10-29 | プログラム変換方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2886969B2 (ja) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1996001450A1 (en) * | 1994-07-05 | 1996-01-18 | Kabushiki Kaisya Advance | Security system for software |
| JPH1124919A (ja) * | 1997-06-20 | 1999-01-29 | Internatl Business Mach Corp <Ibm> | 安全な記憶領域でアプリケーション・データを保護する方法及び装置 |
| JP2004511031A (ja) * | 2000-07-18 | 2004-04-08 | ビットアーツ リミテッド | ディジタル・データ保護構成 |
| JP2006164184A (ja) * | 2004-12-10 | 2006-06-22 | Ntt Docomo Inc | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 |
| JP2008084275A (ja) * | 2006-09-29 | 2008-04-10 | Fujitsu Ltd | ソフトウェアの改ざん監視装置および改ざん監視方法 |
| US7520811B2 (en) | 2000-08-21 | 2009-04-21 | Igt | Method and apparatus for software authentication |
| JP2011516953A (ja) * | 2008-04-07 | 2011-05-26 | メタフォリック リミテッド | 自動解析を採用する改竄防止システム |
| JP5056995B1 (ja) * | 2012-04-24 | 2012-10-24 | 大日本印刷株式会社 | 改竄検知が可能なアプリケーションプログラムの配布実行方法 |
| JP5126447B1 (ja) * | 2012-08-31 | 2013-01-23 | 大日本印刷株式会社 | アプリケーションプログラムの実行方法 |
| JP2013047854A (ja) * | 2012-11-22 | 2013-03-07 | Kyocera Document Solutions Inc | 情報秘匿化方法および情報秘匿化装置 |
| JP5182445B1 (ja) * | 2012-09-18 | 2013-04-17 | 大日本印刷株式会社 | アプリケーションプログラムの改竄検知方法 |
| WO2013161974A1 (ja) * | 2012-04-24 | 2013-10-31 | 大日本印刷株式会社 | 改竄検知が可能なアプリケーションプログラムの配布実行方法 |
-
1990
- 1990-10-29 JP JP2288524A patent/JP2886969B2/ja not_active Expired - Lifetime
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1996001450A1 (en) * | 1994-07-05 | 1996-01-18 | Kabushiki Kaisya Advance | Security system for software |
| JPH1124919A (ja) * | 1997-06-20 | 1999-01-29 | Internatl Business Mach Corp <Ibm> | 安全な記憶領域でアプリケーション・データを保護する方法及び装置 |
| JP4892167B2 (ja) * | 2000-07-18 | 2012-03-07 | シンプレックス メジャー センドリアン ベルハッド | ディジタル・データ保護構成 |
| JP2004511031A (ja) * | 2000-07-18 | 2004-04-08 | ビットアーツ リミテッド | ディジタル・データ保護構成 |
| US7520811B2 (en) | 2000-08-21 | 2009-04-21 | Igt | Method and apparatus for software authentication |
| JP2006164184A (ja) * | 2004-12-10 | 2006-06-22 | Ntt Docomo Inc | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 |
| JP2008084275A (ja) * | 2006-09-29 | 2008-04-10 | Fujitsu Ltd | ソフトウェアの改ざん監視装置および改ざん監視方法 |
| JP2011516953A (ja) * | 2008-04-07 | 2011-05-26 | メタフォリック リミテッド | 自動解析を採用する改竄防止システム |
| JP5056995B1 (ja) * | 2012-04-24 | 2012-10-24 | 大日本印刷株式会社 | 改竄検知が可能なアプリケーションプログラムの配布実行方法 |
| WO2013161974A1 (ja) * | 2012-04-24 | 2013-10-31 | 大日本印刷株式会社 | 改竄検知が可能なアプリケーションプログラムの配布実行方法 |
| JP5126447B1 (ja) * | 2012-08-31 | 2013-01-23 | 大日本印刷株式会社 | アプリケーションプログラムの実行方法 |
| JP5182445B1 (ja) * | 2012-09-18 | 2013-04-17 | 大日本印刷株式会社 | アプリケーションプログラムの改竄検知方法 |
| JP2013047854A (ja) * | 2012-11-22 | 2013-03-07 | Kyocera Document Solutions Inc | 情報秘匿化方法および情報秘匿化装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2886969B2 (ja) | 1999-04-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9659157B2 (en) | Systems and methods for watermarking software and other media | |
| KR101798672B1 (ko) | 코드 불변식을 이용한 스테가노그래픽 메시징 시스템 | |
| US9128722B2 (en) | Systems, methods, and computer-readable media for fertilizing machine-executable code | |
| JP4770425B2 (ja) | 保護済み実行プログラムの作成のためのプログラム、方法及び装置 | |
| US7177845B2 (en) | Copy detection for digitally-formatted works | |
| US20060123237A1 (en) | Method for Watermarking Computer Programs | |
| US9116765B2 (en) | System and method for obfuscating data using instructions as a source of pseudorandom values | |
| TW200841209A (en) | Obfuscating computer program code | |
| JPH04163627A (ja) | プログラム変換方法 | |
| BRPI0614089A2 (pt) | método para evitar engenharia reversa de software, modificação não autorizada e interceptação de dados de tempo de execução | |
| US20070016888A1 (en) | System and method for verifying the integrity of read-only components in deployed mixed-mode applications | |
| CN111680272B (zh) | 一种字节码加密和解密方法及装置 | |
| Lu et al. | A software birthmark based on dynamic opcode n-gram | |
| KR102741959B1 (ko) | 스마트 컨트랙트 워터마킹 방법 | |
| WO2022011818A1 (zh) | 一种基于arm指针验证的内核敏感数据完整性保护方法 | |
| CN114547562B (zh) | 文本水印添加及应用的方法和装置 | |
| CN112052462B (zh) | 一种虚拟化加密方法、终端及存储介质 | |
| CN117150515B (zh) | Eda二次开发源代码的安全保护方法、电子设备及存储介质 | |
| JP3814618B2 (ja) | 文章処理装置、及び制御方法 | |
| Poddubnyi et al. | Possibilities of Using Watermarks to Protect Software Code. | |
| JP2002108851A (ja) | 文章処理装置及びその方法並びに記憶媒体 | |
| Lee et al. | API-based software birthmarking method using fuzzy hashing | |
| CN120850259A (zh) | 基于指令驱动的Java运行时业务逻辑保护方法及系统 | |
| CN120541813A (zh) | 代码混淆方法、电子设备、存储介质及程序产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080212 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090212 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090212 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100212 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100212 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110212 Year of fee payment: 12 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110212 Year of fee payment: 12 |