JPH09231068A - 動的にリンクされた実行可能モジュールの使用を保護するシステム及び方法 - Google Patents
動的にリンクされた実行可能モジュールの使用を保護するシステム及び方法Info
- Publication number
- JPH09231068A JPH09231068A JP8279207A JP27920796A JPH09231068A JP H09231068 A JPH09231068 A JP H09231068A JP 8279207 A JP8279207 A JP 8279207A JP 27920796 A JP27920796 A JP 27920796A JP H09231068 A JPH09231068 A JP H09231068A
- Authority
- JP
- Japan
- Prior art keywords
- program module
- procedure
- program
- verifier
- procedure call
- 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
- 238000000034 method Methods 0.000 title claims abstract description 206
- 238000012795 verification Methods 0.000 claims abstract description 38
- 238000012790 confirmation Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 description 26
- 238000004590 computer program Methods 0.000 description 5
- 206010000210 abortion Diseases 0.000 description 4
- 239000002131 composite material Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
または防止するシステムを提供する。 【解決手段】 コンピュータ・システムは、プログラム
・モジュール・ベリファイア及び少なくとも第1及び第
2のプログラム・モジュールを有する。各プログラム・
モジュールは、ディジタル署名及び実行可能手順を含
む。第1のプログラム・モジュールは、第2の手順モジ
ュールへの手順呼出しと、第2のプログラム・モジュー
ルへの手順呼出しの実行より前に実行されるように第1
のプログラム・モジュールに論理的に配置されるプログ
ラム・モジュール・ベリファイアへの手順呼出しと、プ
ログラム・モジュール・ベリファイアへの手順呼出しが
プログラム・モジュール・ベリファイアによってリター
ンされる検証否認を結果として生ずるときに第2のプロ
グラム・モジュールへの手順呼出しの実行を防止する命
令とを更に含む。
Description
ルがその信憑性が確認された他の実行可能なモジュール
にのみ動的にリンクされうるように実行可能なモジュー
ルの使用を制限するシステム及び方法に関する。
トでは、“外部機能”は、一般に外部機能を用いている
コンピュータ・プログラムの外側にある機能の他のレポ
ジトリまたはライブラリに位置決めされる手順または機
能である。外部機能は、常時ではなく、しばしば、異な
る人々によってまたはそれらの外部機能を用いているコ
ンピュータ・プログラムとは異なるエンティティによっ
てオーサされる。外部機能をリンク時間またはコンパイ
ル時間ではなく、走行時間でバウンド(拘束)させるプ
ログラム実行環境は、他のモジュールが変更されないま
までありうる間に、そのような実行環境で用いられるべ
きそのようなプログラムに対して改訂されるかまたは更
新されるコンピュータ・プログラムだけがリコンパイル
される必要があるので、コンピュータ・プログラムの保
守及び更新を容易にする。更に、改訂されたプログラム
のコンパイレーションがプログラムによって用いられる
他のモジュールがプログラム開発システムに存在しない
でも実行されうるので、リコンパイレーション処理は、
簡略化される。
環境を用いているシステムは、プログラム・モジュール
間のインターフェイスが通常よく特定されるか、または
第三者によって決定することができ、かつそのような第
三者が従ってそれらのプログラム・モジュールを対応ソ
フトウェア・ライセンス協定によって是認されない方法
で用いることが可能なので、無防備である。代替的に、
そのような第三者は、信頼できるプログラム・モジュー
ルを破損されたもので置換することによってシステムを
覆させることができる。
合衆国から他の国の顧客または販売代理店への輸出向け
ソフトウェアにおける暗号ルーチンを取り扱うときに誇
張される。一般的な暗号ケイパビリティを供給するソフ
トウェア・モジュールを輸出することは、現在米国貿易
法によって禁止されている。他方、制限されたコンテキ
ストにおいて暗号ケイパビリティを使用しかつ輸出され
たプログラムの制限されたコンテキスト以外の一般的な
暗号機能を実行するために用いることができないプログ
ラムを輸出することは、許されている。事実、許可され
た方法で暗号機能を用いる輸出用ソフトウェア・システ
ムを設計できることは、商業的に重要である。ダイナミ
ック・リンク・ライブラリ(ウィンドウズ(Windows) シ
ステムにおけるDLLs)または共有オブジェクト(So
laris における.so ファイル)のような、従来技術のレ
ート・バウンド(late bound)システムは、ソフトウェア
・モジュール間のインターフェイスを覆い隠す(曖昧に
する)ことによって、またはそれらのソフトウェアの個
別“輸出専用”版を供給することによってこの問題を解
決することを試みる。ソフトウェア製品の個別“輸出専
用”版を供給することは、単一のコード・ベースを有す
るグレードアップ及び保守改訂に関して“同期”された
国内及び輸出版を維持することの問題を導く。
限または防止することの必要が存在する情況の別の例
は、トレード・シークレットまたは契約上の理由に対し
てプライベートなアプリケーションにおいてある機能を
維持することを望むベンダーによって書かれたアプリケ
ーションである。そのようなシステムは、これらのプラ
イベート機能への限定付きアクセスを必要とする。本発
明の目的は、上記従来の技術における問題点に鑑みて、
動的にリンク可能なモジュールの使用を制限または防止
するシステム及び方法を提供することである。
(A)指定されたプログラム・モジュールの信憑性を確
認することによってかつ各そのような手順呼出しに応じ
て検証確認または否認をリターンすることによってプロ
グラム・モジュール・ベリファイアへの手順呼出しに応
答するように構成されるプログラム・モジュール・ベリ
ファイアと、(B)第1のプログラム・モジュールと、
(C)第2のプログラム・モジュールとを備え、第1及
び第2のプログラム・モジュールの一つは、当該第1及
び第2のプログラム・モジュールへの手順呼出しを含
み、第1及び第2のプログラム・モジュールの少なくと
も一つは、該第1及び第2のプログラム・モジュールの
他のもの信憑性を確認するためのプログラム・モジュー
ル・ベリファイアへの手順呼出しと、プログラム・モジ
ュール・ベリファイアへの手順呼出しがプログラム・モ
ジュール・ベリファイアによってリターンされる検証否
認を結果として生ずるときに一つのプログラム・モジュ
ールの実行を中止する命令とを含んでいるコンピュータ
・システムによって達成される。
1のプログラム・モジュールは、第1のディジタル署名
及び第1の実行可能手順を含み、第2のプログラム・モ
ジュールは、第2のディジタル署名及び第2の実行可能
手順を含み、プログラム・ベリファイア・モジュール
は、(A1)指定されたプログラム・モジュールのディ
ジタル署名を対応復号キーで復号し、(A2)所定のメ
ッセージ・ダイジェスト関数に従って指定されたプログ
ラム・モジュールの少なくとも一部分のメッセージ・ダ
イジェストを生成し、(A3)復号されたディジタル署
名がメッセージ・ダイジェストにマッチするときに検証
確認をリターンし、(A4)復号されたディジタル署名
がメッセージ・ダイジェストにマッチしないときに検証
否認をリターンすることによって、第1及び第2のプロ
グラム・モジュールの指定されたものの検証を要求して
いる手順呼出しに応答するための命令を含むように構成
してもよい。
1のプログラム・モジュールは、第2のプログラム・モ
ジュールへの手順呼出しを含んでおり;第2のプログラ
ム・モジュールは、(C1)第2のプログラム・モジュ
ールへの手順呼出しに応答して実行されるべき実行可能
手順;(C2)実行可能手順の実行より前に実行される
ように第2のプログラム・モジュールに論理的に配置さ
れるプログラム・モジュール・ベリファイアへの手順呼
出し;及び(C3)プログラム・モジュール・ベリファ
イアへの手順呼出しがプログラム・モジュール・ベリフ
ァイアによってリターンされる確認否認を結果として生
ずるときに実行可能手順の実行を防ぐ命令を含んでいる
ように構成してもよい。本発明のコンピュータ・システ
ムでは、第2の実行可能手順の実行の終了を防ぐ命令
は、プログラム・モジュール・ベリファイアへの手順呼
出しが、プログラム・モジュール・ベリファイアによっ
てリターンされる確認否認を結果として生ずるときに第
2のプログラム・モジュールの実行を中止する命令を含
むように構成してもよい。
1のプログラム・モジュールは、第2のプログラム・モ
ジュールへの手順呼出し;第2のプログラム・モジュー
ルへの手順呼出しの実行より前に実行されるように第1
のプログラム・モジュールに論理的に配置されるプログ
ラム・モジュール・ベリファイアへの手順呼出し;及び
プログラム・モジュール・ベリファイアへの手順呼出し
がプログラム・モジュール・ベリファイアによってリタ
ーンされる確認否認を結果として生ずるときに第2のプ
ログラム・モジュールへの手順呼出しの実行を防ぐ命令
を含んでいるように構成してもよい。また、本発明の上
記目的は、プログラム・モジュールをリンクする方法で
あって、(A)第1のプログラム・モジュールから第2
のプログラム・モジュールへの手順呼出しを行うより前
に、第2のプログラム・モジュールの信憑性を確認し;
(B)第2のプログラム・モジュールの信憑性を確認す
ることにより、第1のプログラム・モジュールから第2
のプログラム・モジュールへの手順呼出しを行い;かつ
(C)第1のプログラム・モジュールの信憑性を確認す
ることに失敗することにより、第1のプログラム・モジ
ュールから第2のプログラム・モジュールへの手順呼出
しを防ぐ段階を具備する方法によって達成される。
ム・モジュールにより手順呼出しに応じて第2のプログ
ラム・モジュールにおいて手順を事項することを終了す
るより前に、第1のプログラム・モジュールの信憑性を
確認し;(E)第1のプログラム・モジュールの信憑性
を確認することにより、結果を生成するために第2のプ
ログラム・モジュールにおいて手順を実行することを終
了しかつ結果を第1のプログラム手順にリターンし;か
つ(F)第1のプログラム・モジュールの信憑性を確認
することに失敗することにより、第2のプログラム・モ
ジュールにおける手順の実行の終了を防ぐ段階を更に具
備してもよい。本発明の方法では、段階(D)は、対応
するデコーディング・キーで第1のプログラム・モジュ
ールにおける第1のディジタル署名をデコードし、所定
のメッセージ・タイジェスト機能に従って第1のプログ
ラム・モジュールの少なくとも一部のメッセージ・ダイ
ジェストを生成し、デコードされたディジタル署名がメ
ッセージ・ダイジェストに一致するときに第1のプログ
ラム・モジュールの信憑性を確認し、かつデコードされ
たディジタル署名がメッセージ・ダイジェストに一致し
ないときに第1のプログラム・モジュールの信憑性の確
認を否認することを含んでもよい。
プログラム・モジュールの実行を中止することを含んで
もよい。本発明の方法では、第1のプログラム・モジュ
ールは、第1のディジタル署名を含みかつ第2のプログ
ラム・モジュールは、第2のディジタル署名を含み;段
階(A)は、対応するデコーディング・キーで第2のプ
ログラム・モジュールにおける第2のディジタル署名を
デコードし、所定のメッセージ・タイジェスト機能に従
って第2のプログラム・モジュールの少なくとも一部の
メッセージ・ダイジェストを生成し、デコードされたデ
ィジタル署名がメッセージ・ダイジェストに一致すると
きに第2のプログラム・モジュールの信憑性を確認し、
かつデコードされたディジタル署名がメッセージ・ダイ
ジェストに一致しないときに第2のプログラム・モジュ
ールの信憑性の確認を否認することを含んでもよい。
プログラム・モジュールの信憑性を確認することにより
かつ手順呼出しに応じて確認認証または否認をリターン
することによって手順呼出しに応答している信用プログ
ラム・モジュール・ベリファイアへの手順呼出しを行う
ことを含んでもよい。
・ベリファイア及び少なくとも第1及び第2のプログラ
ム・モジュールを有しているコンピュータ・システムで
ある。プログラム・モジュールのそれぞれは、ディジタ
ル署名及び実行可能手順を含む。第1のプログラム・モ
ジュールは、第2の手順モジュールへの手順呼出しと、
第2のプログラム・モジュールへの手順呼出しの実行よ
り前に実行されるように第1のプログラム・モジュール
に論理的に配置されるプログラム・モジュール・ベリフ
ァイアへの手順呼出しと、プログラム・モジュール・ベ
リファイアへの手順呼出しがプログラム・モジュール・
ベリファイアによってリターンされる検証否認を結果と
して生ずるときに第2のプログラム・モジュールへの手
順呼出しの実行を防止する命令とを更に含む。
プログラム・モジュールに対する第1のプログラム・モ
ジュールによる手順呼出しに応じて実行されるべき実行
可能手順と、第2のプログラム・モジュールの実行可能
手順の実行の終了より前に実行されるように第2のプロ
グラム・モジュールに論理的に配置されるプログラム・
モジュール・ベリファイアへの手順呼出しと、プログラ
ム・モジュール・ベリファイアが第1のプログラム・モ
ジュールに関する検証否認をリターンするときにその実
行可能手順の実行の終了を防止する命令とを含む。プロ
グラム・モジュール・ベリファイアは、指定されたプロ
グラム・モジュールの信憑性を確認することによってか
つ各そのような手順呼出しに応じて検証確認または否認
をリターンすることによって手順呼出しに応答する。よ
り特定的には、好ましい実施例では、プログラム・ベリ
ファイア・モジュールは、(A)対応復号キーを有する
指定されたプログラム・モジュールにおけるディジタル
署名を復号し、(B)メッセージ・ダイジェスト機能に
従って指定されたプログラム・モジュールの少なくとも
一部分のメッセージ・ダイジェストを生成し、(C)復
号されたディジタル署名がメッセージ・ダイジェストに
マッチするときに検証確認をリターンし、(D)復号さ
れたディジタル署名がメッセージ・ダイジェストとマッ
チしないときに検証否認をリターンすることによって指
定されたプログラム・モジュールの検証を要求している
手順呼出しに応答する命令を含む。
ール・ベリファイアが第2のプログラム・モジュールの
信憑性を確認することに失敗したときに、第1のプログ
ラム・モジュールは、例外を投じてその実行を中止させ
る。同様に、プログラム・モジュール・ベリファイアが
第1のプログラム・モジュールの信憑性を確認すること
に失敗したときに、第2のプログラム・モジュールは、
例外を投じてその実行を中止させる。本発明の更なる目
標及び特徴は、添付した図面を参照して以下の詳細の説
明及び特許請求の範囲からより容易に明らかであろう。
100が示されている。コンピュータ100は、Sun
(サン)ワークステーション、IBMコンパチブル・コ
ンピュータ、またはMacintosh(マッキントッ
シュ)コンピュータのようなデスクトップ・コンピュー
タでありうると同時に、ほとんどあらゆる型のコンピュ
ータを用いることができる。コンピュータ100は、C
PU102、ユーザ・インターフェイス104、及びメ
モリ106を含む。メモリ106は、1次ランダム・ア
クセス・メモリ(RAM)並びに2次メモリ、一般的に
一つ以上の磁気または光ディスクを含む。メモリ106
は、オペレーティング・システム110、プログラム・
モジュールまたはオブジェクト信憑性ベリファイア11
2、及び、プログラム・モジュールまたはアプリケーシ
ョン・プログラム・モジュールとも呼ばれる、一組のア
プリケーション・プログラム・オブジェクト・インスタ
ンス生成114、116、118、120を記憶する。
例では、各アプリケーション・プログラム・オブジェク
ト・インスタンス生成は、オブジェクト・ヘッダ12
2、少なくとも一つのディジタル署名124、少なくと
も一つの組込み型パブリック(公開)暗号キー126及
び(方法としばしば呼ばれる)主アプリケーション手順
128を含む。各方法または手順128は、少なくとも
一つのベリファイア手順呼出し命令130、及び手順の
実行を中止するための命令のような、ベリファイア手順
呼出しに応じて受け取った検証否認メッセージに応答す
るための命令132を含む。第1のプログラム・モジュ
ールの主アプリケーションA手順(128−A)は、第
2の手順モジュールの実行可能手順(例えば、主アプリ
ケーションB手順128−B)への手順呼出し134を
更に含む。プログラム・モジュール・ベリファイアへの
手順呼出し130−Aは、第2のプログラム・モジュー
ルへの手順呼出し134の実行より前に実行されるよう
に第1のプログラム・モジュールに論理的に配置され
る。
の手順呼出し130−Bは、各そのような手順128−
Bの実行より前に実行されるように第2のプログラム・
モジュールの各実行可能手順128−Bへのエントリ点
の直後に第2のプログラム・モジュールに論理的に配置
される。より一般的に、本発明の他の実施例では、プロ
グラム・モジュール・ベリファイアへの手順呼出し13
0−Bは、呼出しプログラムの検証がベリファイアによ
って否認されるならば各そのような手順の実行の終了を
防止するように第2のプログラム・モジュールの各実行
可能手順における終了点より前に第2のプログラム・モ
ジュールに(より一般的には、他のプログラム・モジュ
ールによって呼出される全てのプログラム・モジュール
に)論理的に配置される。
プ・レベル・アプリケーションまたはトップ・レベル・
アプリケーションのスーツによって使用される全ての手
順のような、指定されたグループの全ての手順は、同じ
組込み型パブリック・キー126を有しかつ全ては、同
じプライベート暗号キーを用いて、例えば、RSA暗号
方法を用いてディジタル的に署名される。しかしなが
ら、代替実施例では、異なる手順及び手順のサブグルー
プは、異なるプライベート・キーで署名される。代替実
施例では、手順呼出しを含む手順モジュールは、それら
が呼出すことができる手順の検証のためのパブリック・
キーを組込み、かつ他の手順によって呼出すことができ
る全ての手順モジュールは、呼出し手順の検証のための
パブリック・キーを含む。
しい実施例を用いてどのように実行されるかを示す“時
間線”表現である。図2では、早期事象(ealier event
s) は、後期事象(later events)よりも高い垂直位置に
示される。図3及び図4は、手順呼出しの性能に含まれ
る段階のフローチャートである。図2、図3及び図4を
参照すると、プログラム・モジュールAの実行可能手順
(例えば、図1の“主アプリケーションA手順”128
−A)は、実行を開始する(ステップ200)。この説
明の目的のために、実行されているプログラム・モジュ
ールAの手順は、“手順A”と呼ばれかつそれがプログ
ラム・モジュールBで呼出すことを試みている手順は、
“手順B”と呼ばれる。プログラム・モジュールBの実
行可能手順への手順呼出しを行う前に(ステップ22
0)、手順Aは、プログラム・モジュールBの信憑性の
検証を要求するためにベリファイアへの手順呼出しを行
う(ステップ202)。次いでベリファイアは、プログ
ラム・モジュールBの信憑性を確認することを試み、か
つプログラム・モジュールBの検証が成功したか否かを
示すために手順Aへリターン値を送る(ステップ20
4)。
(または代替的に信用システム・サービス手順)である
のが好ましい、ベリファイアは、手順Aから要求メッセ
ージを受け取り(ステップ206)、かつ呼出し手順
(即ち、手順A)によって供給されるパブリック・キー
を用いてプログラム・モジュールBに組込まれたディジ
タル署名を復号する(ステップ208)。ベリファイア
への手順Aを呼出すことによって供給されたパブリック
・キーは、プログラム・モジュールAに組込まれた“グ
ループ”パブリック・キー126−Aである。好ましい
実施例では、プログラム・モジュールのディジタル署名
は、プログラム・モジュールのメッセージ・ダイジェス
トを計算し、メッセージ・ダイジェストを生成するため
に用いられるハッシュ関数の型を示すためにハッシュ関
数識別子でメッセージ・ダイジェストを補足し、RSA
暗号方法を用いてプライベート・キーで合成値を暗号化
し、そしてプログラム・モジュールのソース(即ち、オ
ーサまたはディストリビュータ)のクリア・テキスト識
別子でその暗号化された値を補足することによって生成
される:
ID, PrivateKey)+ ClearText ID of Program Module
B's Source 従って、プログラム・モジュールBのディジタル署名を
復号するために、ベリファイアは、(A)ディジタル署
名からクリア・テキストIDを除去し、そして(B)署
名ベース・メッセージ・ダイジェストDS−MDB 及び
ハッシュ関数IDを生成するためにパブリック・キーで
ディジタル署名の残っている部分を復号する。
gital SignatureB - ClearText ID, PublicKey) 次に、ベリファイアは、復号されたディジタル署名で識
別されたハッシュ関数を用いてプログラム・モジュール
B(ステップ210)の少なくとも一部分のメッセージ
・ダイジェストMDB を計算する。メッセージ・ダイジ
ェストを生成するために用いられるハッシュ関数は、一
般に、非常に高い確率で別個のプログラム・モジュール
に対して別個の値を生成することが知られている、CR
C復号関数のような、関数である。メッセージ・ダイジ
ェストを生成するために適する多くのハッシュ関数は、
当業者に知られている。
セージ・ダイジェストMDB を復号されたディジタル署
名のメッセージ・ダイジェストDS−MDB と比較し
(ステップ212)かつ二つのメッセージ・ダイジェス
トがマッチしたならば検証確認メッセージを呼出し手順
へリターンし(ステップ214)、二つのメッセージ・
ダイジェストがマッチしないならば検証否認メッセージ
をリターンする(ステップ216)。一つの好ましい実
施例では、各プログラム・モジュールに対して単一のデ
ィジタル署名が存在し、かつ関連メッセージ・ダイジェ
ストは、プログラム・モジュールの内容全体のハッシュ
関数を用いて計算される。他の実施例では、メッセージ
・ダイジェストは、プログラム・モジュールの一部分だ
けに基づきうる。例えば、第2の好ましい実施例では、
各プログラム・モジュールは、二つのディジタル署名、
即ち、プログラム・モジュールの方法部分に対して一
つ、プログラム・モジュールのデータ部分(もしあれ
ば)に対して別のものを有する。プログラム・モジュー
ルが二つのディジタル署名を有するときには、二つのデ
ィジタル署名を復号することによって導出されたメッセ
ージ・ダイジェストの両方は、ベリファイアが検証確認
メッセージをリターンするためにベリファイアによって
計算された対応メッセージ・ダイジェストにマッチしな
ければならない。いずれかの復号されたディジタル署名
のメッセージ・ダイジェストがベリファイアによって計
算された対応メッセージ・ダイジェストにマッチしない
ならば、ベリファイアは、検証否認メッセージをリター
ンする。
の検証を否認するならば(ステップ216)、手順A
は、“例外を投入し”そして中止する(ステップ21
8)。例外を投入することは、一般に実行の関連スレッ
ドを終了させて、更に実行の呼出しスレッドに、呼出さ
れた手順(即ち、この場合には手順A)の故障(失敗)
を解析するかさもなくばそれに応答する機会を与えるよ
うに例外ハンドラー手順を実行の呼出しスレッドによっ
て実行させる。一般に、ベリファイアは、一つのコンピ
ュータから別のものへの導入または送信の間中、または
故意に不正変更されたように、プログラム・モジュール
が破損されたときにのみプログラム・モジュールの検証
を否認する。通常のオペレーションでは、検証否認は、
異常な事象であるべきである。
の検証を確認したならば(ステップ214)、手順A
は、プログラム・モジュールBにおける手順Bへの手順
呼出しを行うことを進める(ステップ220)。好まし
い実施例では、手順呼出しを受け取ることにより手順B
が行う一番最初の事の一つは、ベリファイアへの手順呼
出しを行うことであり(ステップ222)、呼出しプロ
グラム・モジュール(即ち、この場合にはプログラム・
モジュールA)の信憑性を確認するための要求をそれに
送る。次いで、ベリファイアは、プログラム・モジュー
ルAの信憑性を確認することを試みかつプログラム・モ
ジュールAの検証が成功であったか否かを示すために手
順Bへリターン値を送る(ステップ230)。
から要求メッセージを受け取り(ステップ232)、か
つ手順Bによって供給されたパブリック・キーを用いて
プログラム・モジュールAに組込まれたディジタル署名
を復号し(ステップ234)。ベリファイアへ手順Bに
よって供給されたパブリック・キーは、プログラム・モ
ジュールBに組込まれた“グループ”パブリック・キー
126−Bである。上述したように、プログラム・モジ
ュールAのディジタル署名は、プログラム・モジュール
Aのメッセージ・ダイジェストを計算し、メッセージ・
ダイジェストを生成するために用いられたハッシュ関数
の型を示すためにメッセージ・ダイジェストをハッシュ
関数識別子で補足し、RSA暗号化方法を用いて合成値
をプライベート・キーで暗号化し、そしてその暗号化さ
れた値をプログラム・モジュールのソース(即ち、オー
サまたはディストリビュータ)のクリア・テキスト識別
子で補足することによって生成される:
ID, PrivateKey)+ ClearText ID of Program Module
A's Source 従って、プログラム・モジュールAのディジタル署名を
復号するために、ベリファイアは、(A)ディジタル署
名からクリア・テキストIDを除去し、そして(B)署
名ベース・メッセージ・ダイジェストDS−MDA 及び
ハッシュ関数IDを生成するためにパブリック・キーで
ディジタル署名の残っている部分を復号する。
gital SignatureA - ClearText ID, PublicKey) 次に、ベリファイアは、復号されたディジタル署名で識
別されたハッシュ関数を用いてプログラム・モジュール
A(ステップ236)の少なくとも一部分のメッセージ
・ダイジェストMDA を計算する。ベリファイアは、次
いで、計算されたメッセージ・ダイジェストMDA を復
号されたディジタル署名のメッセージ・ダイジェストD
S−MDA と比較し(ステップ238)かつ二つのメッ
セージ・ダイジェストがマッチしたならば検証確認メッ
セージを呼出し手順へリターンし(ステップ240)、
二つのメッセージ・ダイジェストがマッチしないならば
検証否認メッセージをリターンする(ステップ24
2)。ベリファイアがプログラム・モジュールAの検証
を否認するならば(ステップ216)、手順Bは、“例
外を投入し”そして中止する(ステップ244)。ベリ
ファイアがプログラム・モジュールAの検証を確認した
ならば(ステップ240)、手順Bは、終了するために
実行され(ステップ250)かつ手順Bを実行すること
によって生成された結果は、手順Aにリターンされる
(ステップ252)。そして、手順Aは、手順Bから受
け取った結果を用いてその実行を終了する(ステップ2
54)。
プログラム・モジュールの一部分だけが“感知可能な”
アルゴリズムまたはさもなくば他のプログラム・モジュ
ールよりも確証するためにどちらがより重要であるかを
含む。例えば、第1の代替実施例では、一組のプログラ
ム・モジュール(以下、“プログラム・モジュールのフ
ル・セット”と呼ぶ)のディストリビュータは、グルー
プの少ない数のプログラム・モジュール(以下、“プロ
グラム・モジュールの限定サブセット”と呼ぶ)がグル
ープの他のプログラム・モジュールでのみ用いられるこ
とを確実にすることを欲するが、しかしグループ以外の
プログラム・モジュールでも、残っているプログラム・
モジュールをランセンス取得者により自由に用いらせる
ことを欲する。この実施例では、プログラム・モジュー
ルの限定セットだけが、それらのプログラム・モジュー
ルのエントリ点の直後に論理的に配置された、ベリファ
イア・モジュールへの手順呼出しを含む。これらのベリ
ファイアへのエントリ点手順呼出しは、呼出しプログラ
ム・モジュールの信憑性を確認するために用いられ、か
つ呼出しプログラム・モジュールが確証されたグループ
の一部分であるという検証により、呼出されたプログラ
ム・モジュールは、呼出しプログラム・モジュールによ
って要求された計算を実行する。
のディストリビュータは、一組の“限定プログラム・モ
ジュール”の使用を限定することを考慮せず、かつ限定
プログラム・モジュールのサービスを用いることを試み
ている全ての呼出し手順が、事実、限定プログラム・モ
ジュールの確証版のサービスを得るということを代わり
に考慮する。この実施例では、限定プログラム・モジュ
ールへの手順呼出しを行っている全ての手順は、限定プ
ログラム・モジュールへの手順呼出しの直前に論理的に
配置されたベリファイア・モジュールへの手順呼出しを
含む。これらのベリファイア手順呼出しは、限定プログ
ラム・モジュールの信憑性を確認するために用いられ
る。しかしながら、この実施例では、限定プログラム・
モジュールの手順は、呼出しプログラム・モジュールを
確証するためのベリファイア手順呼出しを含んでいな
い。呼出されるべき限定プログラム・モジュールが信用
できるという検証により、呼出しプログラム・モジュー
ルは、確証された限定プログラム・モジュールへその手
順呼出しを送る。
説明されたが、その記載は、本発明の説明のためであ
り、本発明を限定することを意図しない。特許請求の範
囲によって画定された本発明の真の精神及び範疇から逸
脱することなく当業者によって種々の変更が生起されう
る。
(A)指定されたプログラム・モジュールの信憑性を確
認することによってかつ各そのような手順呼出しに応じ
て検証確認または否認をリターンすることによってプロ
グラム・モジュール・ベリファイアへの手順呼出しに応
答するように構成されるプログラム・モジュール・ベリ
ファイアと、(B)第1のプログラム・モジュールと、
(C)第2のプログラム・モジュールとを備え、第1及
び第2のプログラム・モジュールの一つは、当該第1及
び第2のプログラム・モジュールへの手順呼出しを含
み、第1及び第2のプログラム・モジュールの少なくと
も一つは、該第1及び第2のプログラム・モジュールの
他のもの信憑性を確認するためのプログラム・モジュー
ル・ベリファイアへの手順呼出しと、プログラム・モジ
ュール・ベリファイアへの手順呼出しがプログラム・モ
ジュール・ベリファイアによってリターンされる検証否
認を結果として生ずるときに一つのプログラム・モジュ
ールの実行を中止する命令とを含んでいるので、動的に
リンク可能なモジュールの使用を制限し或いは防止する
ことができる。
をリンクする方法であって、(A)第1のプログラム・
モジュールから第2のプログラム・モジュールへの手順
呼出しを行うより前に、第2のプログラム・モジュール
の信憑性を確認し;(B)第2のプログラム・モジュー
ルの信憑性を確認することにより、第1のプログラム・
モジュールから第2のプログラム・モジュールへの手順
呼出しを行い;かつ(C)第1のプログラム・モジュー
ルの信憑性を確認することに失敗することにより、第1
のプログラム・モジュールから第2のプログラム・モジ
ュールへの手順呼出しを防ぐ段階を具備するので、動的
にリンク可能なモジュールの使用を制限し或いは防止す
ることができる。
ムのブロック図である。
呼出しが実行される方法を示している“タイム・ライ
ン”表現である。
れたソフトウェア・モジュールに対して好ましい実施例
で用いられる方法のフローチャートの一部分である。
ートである。
ュール 118、120 アプリケーション・プログラム・モジ
ュール 122−A、122−B オブジェクト・ヘッダ 124−A、124−B ディジタル署名 126−A、126−B パブリック暗号キー 128−A、128−B 主アプリケーション手順 130−A、130−B ベリファイア手順呼出し命令 132−A、132−B 検証否認メッセージに応答す
るための命令 134 第2の手順モジュールの実行可能手順への手順
呼出し
Claims (11)
- 【請求項1】 (A)指定されたプログラム・モジュー
ルの信憑性を確認することによってかつ各そのような手
順呼出しに応じて検証確認または否認をリターンするこ
とによってプログラム・モジュール・ベリファイアへの
手順呼出しに応答するように構成されるプログラム・モ
ジュール・ベリファイアと、 (B)第1のプログラム・モジュールと、 (C)第2のプログラム・モジュールとを備え、 前記第1及び第2のプログラム・モジュールの一つは、
当該第1及び第2のプログラム・モジュールへの手順呼
出しを含み、 前記第1及び第2のプログラム・モジュールの少なくと
も一つは、 該第1及び第2のプログラム・モジュールの他のもの信
憑性を確認するための前記プログラム・モジュール・ベ
リファイアへの手順呼出しと、 前記プログラム・モジュール・ベリファイアへの前記手
順呼出しが前記プログラム・モジュール・ベリファイア
によってリターンされる検証否認を結果として生ずると
きに前記一つのプログラム・モジュールの実行を中止す
る命令とを含んでいることを特徴とするコンピュータ・
システム。 - 【請求項2】 前記第1のプログラム・モジュールは、
第1のディジタル署名及び第1の実行可能手順を含み、 前記第2のプログラム・モジュールは、第2のディジタ
ル署名及び第2の実行可能手順を含み、 前記プログラム・ベリファイア・モジュールは、(A
1)前記指定されたプログラム・モジュールの前記ディ
ジタル署名を対応復号キーで復号し、(A2)所定のメ
ッセージ・ダイジェスト関数に従って前記指定されたプ
ログラム・モジュールの少なくとも一部分のメッセージ
・ダイジェストを生成し、(A3)前記復号されたディ
ジタル署名が前記メッセージ・ダイジェストにマッチす
るときに検証確認をリターンし、(A4)前記復号され
たディジタル署名が前記メッセージ・ダイジェストにマ
ッチしないときに検証否認をリターンすることによっ
て、前記第1及び第2のプログラム・モジュールの指定
されたものの検証を要求している手順呼出しに応答する
ための命令を含むことを特徴とする請求項1に記載のコ
ンピュータ・システム。 - 【請求項3】 前記第1のプログラム・モジュールは、
前記第2のプログラム・モジュールへの手順呼出しを含
んでおり;前記第2のプログラム・モジュールは、 (C1)前記第2のプログラム・モジュールへの前記手
順呼出しに応答して実行されるべき実行可能手順; (C2)前記実行可能手順の実行より前に実行されるよ
うに前記第2のプログラム・モジュールに論理的に配置
される前記プログラム・モジュール・ベリファイアへの
手順呼出し;及び (C3)前記プログラム・モジュール・ベリファイアへ
の前記手順呼出しが前記プログラム・モジュール・ベリ
ファイアによってリターンされる確認否認を結果として
生ずるときに前記実行可能手順の実行を防ぐ命令を含ん
でいることを特徴とする請求項1に記載のコンピュータ
・システム。 - 【請求項4】 前記第2の実行可能手順の実行の終了を
防ぐ前記命令は、前記プログラム・モジュール・ベリフ
ァイアへの前記手順呼出しが、前記プログラム・モジュ
ール・ベリファイアによってリターンされる確認否認を
結果として生ずるときに前記第2のプログラム・モジュ
ールの実行を中止する命令を含むことを特徴とする請求
項3に記載のコンピュータ・システム。 - 【請求項5】 前記第1のプログラム・モジュールは、 前記第2のプログラム・モジュールへの手順呼出し;前
記第2のプログラム・モジュールへの前記手順呼出しの
実行より前に実行されるように前記第1のプログラム・
モジュールに論理的に配置される前記プログラム・モジ
ュール・ベリファイアへの手順呼出し;及び前記プログ
ラム・モジュール・ベリファイアへの前記手順呼出しが
前記プログラム・モジュール・ベリファイアによってリ
ターンされる確認否認を結果として生ずるときに前記第
2のプログラム・モジュールへの前記手順呼出しの実行
を防ぐ命令を含んでいることを特徴とする請求項1、
2、3または4に記載のコンピュータ・システム。 - 【請求項6】 プログラム・モジュールをリンクする方
法であって、 (A)第1のプログラム・モジュールから第2のプログ
ラム・モジュールへの手順呼出しを行うより前に、前記
第2のプログラム・モジュールの信憑性を確認し; (B)前記第2のプログラム・モジュールの信憑性を確
認することにより、第1のプログラム・モジュールから
第2のプログラム・モジュールへの手順呼出しを行い;
かつ (C)前記第1のプログラム・モジュールの信憑性を確
認することに失敗することにより、第1のプログラム・
モジュールから第2のプログラム・モジュールへの手順
呼出しを防ぐ段階を具備することを特徴とする方法。 - 【請求項7】 (D)前記第1のプログラム・モジュー
ルにより前記手順呼出しに応じて前記第2のプログラム
・モジュールにおいて手順を事項することを終了するよ
り前に、前記第1のプログラム・モジュールの信憑性を
確認し; (E)前記第1のプログラム・モジュールの信憑性を確
認することにより、結果を生成するために前記第2のプ
ログラム・モジュールにおいて前記手順を実行すること
を終了しかつ前記結果を前記第1のプログラム手順にリ
ターンし;かつ (F)前記第1のプログラム・モジュールの信憑性を確
認することに失敗することにより、前記第2のプログラ
ム・モジュールにおける前記手順の実行の終了を防ぐ段
階を更に具備することを特徴とする請求項6に記載の方
法。 - 【請求項8】 前記段階(D)は、対応するデコーディ
ング・キーで前記第1のプログラム・モジュールにおけ
る前記第1のディジタル署名をデコードし、前記所定の
メッセージ・タイジェスト機能に従って前記第1のプロ
グラム・モジュールの少なくとも一部のメッセージ・ダ
イジェストを生成し、前記デコードされたディジタル署
名が前記メッセージ・ダイジェストに一致するときに前
記第1のプログラム・モジュールの信憑性を確認し、か
つ前記デコードされたディジタル署名が前記メッセージ
・ダイジェストに一致しないときに前記第1のプログラ
ム・モジュールの信憑性の確認を否認することを含んで
いることを特徴とする請求項7に記載の方法。 - 【請求項9】 前記段階(C)は、前記第1のプログラ
ム・モジュールの実行を中止することを含むことを特徴
とする請求項6、7または8に記載の方法。 - 【請求項10】 前記第1のプログラム・モジュール
は、第1のディジタル署名を含みかつ前記第2のプログ
ラム・モジュールは、第2のディジタル署名を含み;前
記段階(A)は、対応するデコーディング・キーで前記
第2のプログラム・モジュールにおける前記第2のディ
ジタル署名をデコードし、前記所定のメッセージ・タイ
ジェスト機能に従って前記第2のプログラム・モジュー
ルの少なくとも一部のメッセージ・ダイジェストを生成
し、前記デコードされたディジタル署名が前記メッセー
ジ・ダイジェストに一致するときに前記第2のプログラ
ム・モジュールの信憑性を確認し、かつ前記デコードさ
れたディジタル署名が前記メッセージ・ダイジェストに
一致しないときに前記第2のプログラム・モジュールの
信憑性の確認を否認することを含んでいることを特徴と
する請求項6、7または8に記載の方法。 - 【請求項11】 前記段階(A)は、前記第2のプログ
ラム・モジュールの信憑性を確認することによりかつ前
記手順呼出しに応じて確認認証または否認をリターンす
ることによって前記手順呼出しに応答している信用プロ
グラム・モジュール・ベリファイアへの手順呼出しを行
うことを含んでいることを特徴とする請求項6、7また
は8に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/547720 | 1995-10-26 | ||
US08/547,720 US5757914A (en) | 1995-10-26 | 1995-10-26 | System and method for protecting use of dynamically linked executable modules |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09231068A true JPH09231068A (ja) | 1997-09-05 |
JP3982857B2 JP3982857B2 (ja) | 2007-09-26 |
Family
ID=24185862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27920796A Expired - Lifetime JP3982857B2 (ja) | 1995-10-26 | 1996-10-22 | 動的にリンクされた実行可能モジュールの使用を保護するシステム及び方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US5757914A (ja) |
EP (1) | EP0770957A3 (ja) |
JP (1) | JP3982857B2 (ja) |
KR (1) | KR100417443B1 (ja) |
CN (1) | CN1130648C (ja) |
TW (1) | TW378304B (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11110193A (ja) * | 1997-09-30 | 1999-04-23 | Toshiba Corp | コンピュータシステム及び同システムに適用するライブラリのリンク方法 |
WO2000042498A1 (fr) * | 1999-01-13 | 2000-07-20 | Hitachi, Ltd. | Procede et systeme permettant d'executer un code mobile |
JP2002509313A (ja) * | 1998-01-16 | 2002-03-26 | メディアドナ、インコーポレイテッド | ピアコンポーネントを認証するためのシステムおよび方法 |
JP2003510684A (ja) * | 1999-09-20 | 2003-03-18 | ギーゼッケ ウント デフリエント ゲーエムベーハー | プログラム実行を保護するための方法 |
JP2003518692A (ja) * | 1999-12-27 | 2003-06-10 | ノキア コーポレイション | プログラム・モジュール・バインディング方法 |
JP2004509392A (ja) * | 2000-09-08 | 2004-03-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ソフトウェアのセキュア認証済チャネル |
JP2005115933A (ja) * | 2003-09-19 | 2005-04-28 | Fuji Electric Systems Co Ltd | 電子署名装置、方法、及びそのプログラム |
JP2006501735A (ja) * | 2002-10-04 | 2006-01-12 | カナル プラス テクノロジーズ | 同一のものを認証するための統合ソフトウェア及び方法 |
JP2008532113A (ja) * | 2005-02-11 | 2008-08-14 | シンプレックス メジャー センドリアン ベルハッド | ソフトウェア保護方法 |
JP2008547111A (ja) * | 2005-06-27 | 2008-12-25 | マイクロソフト コーポレーション | アクティブ・コンテンツ信頼モデル |
JP2009151805A (ja) * | 2003-08-26 | 2009-07-09 | Panasonic Corp | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 |
US7610632B2 (en) | 2004-03-25 | 2009-10-27 | Nec Corporation | Software use permission method and system |
JP2013012217A (ja) * | 2005-02-02 | 2013-01-17 | Insyde Software Corp | ファームウェアに安全なアップデートを提供するシステム及び方法 |
JP2016038916A (ja) * | 2014-08-07 | 2016-03-22 | キヤノンマーケティングジャパン株式会社 | アプリケーションサーバ、認証システム、認証サーバと、その処理方法及びプログラム |
Families Citing this family (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120166807A1 (en) | 1996-08-12 | 2012-06-28 | Intertrust Technologies Corp. | Systems and Methods Using Cryptography to Protect Secure Computing Environments |
US7095854B1 (en) * | 1995-02-13 | 2006-08-22 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5943422A (en) | 1996-08-12 | 1999-08-24 | Intertrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels |
US5892900A (en) | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
CN1912885B (zh) | 1995-02-13 | 2010-12-22 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US6948070B1 (en) * | 1995-02-13 | 2005-09-20 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US7133846B1 (en) | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management |
US6157721A (en) | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
US6658568B1 (en) | 1995-02-13 | 2003-12-02 | Intertrust Technologies Corporation | Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management |
US7133845B1 (en) * | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | System and methods for secure transaction management and electronic rights protection |
US6389483B1 (en) | 1995-10-17 | 2002-05-14 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for reducing coupling between modules in a telecommunications environment |
US5757914A (en) | 1995-10-26 | 1998-05-26 | Sun Microsystems, Inc. | System and method for protecting use of dynamically linked executable modules |
US6067639A (en) * | 1995-11-09 | 2000-05-23 | Microsoft Corporation | Method for integrating automated software testing with software development |
US20010011253A1 (en) * | 1998-08-04 | 2001-08-02 | Christopher D. Coley | Automated system for management of licensed software |
US6085320A (en) * | 1996-05-15 | 2000-07-04 | Rsa Security Inc. | Client/server protocol for proving authenticity |
US5937187A (en) * | 1996-07-01 | 1999-08-10 | Sun Microsystems, Inc. | Method and apparatus for execution and preemption control of computer process entities |
US7590853B1 (en) | 1996-08-12 | 2009-09-15 | Intertrust Technologies Corporation | Systems and methods using cryptography to protect secure computing environments |
US5920861A (en) | 1997-02-25 | 1999-07-06 | Intertrust Technologies Corp. | Techniques for defining using and manipulating rights management data structures |
DE19716015A1 (de) * | 1997-04-17 | 1998-10-29 | Ibm | Einbringen von Information auf einer Chipkarte |
US5987608A (en) * | 1997-05-13 | 1999-11-16 | Netscape Communications Corporation | Java security mechanism |
US7290288B2 (en) | 1997-06-11 | 2007-10-30 | Prism Technologies, L.L.C. | Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network |
US6272631B1 (en) * | 1997-06-30 | 2001-08-07 | Microsoft Corporation | Protected storage of core data secrets |
JPH1131105A (ja) * | 1997-07-10 | 1999-02-02 | Fuji Xerox Co Ltd | データカプセル生成装置および方法 |
US6000032A (en) * | 1997-07-15 | 1999-12-07 | Symantec Corporation | Secure access to software modules |
US6188995B1 (en) | 1997-07-28 | 2001-02-13 | Apple Computer, Inc. | Method and apparatus for enforcing software licenses |
US6009524A (en) * | 1997-08-29 | 1999-12-28 | Compact Computer Corp | Method for the secure remote flashing of a BIOS memory |
US6397331B1 (en) * | 1997-09-16 | 2002-05-28 | Safenet, Inc. | Method for expanding secure kernel program memory |
US7092914B1 (en) * | 1997-11-06 | 2006-08-15 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
US6112181A (en) | 1997-11-06 | 2000-08-29 | Intertrust Technologies Corporation | Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
IL122314A (en) * | 1997-11-27 | 2001-03-19 | Security 7 Software Ltd | Method and system for enforcing a communication security policy |
US6311274B1 (en) * | 1997-12-15 | 2001-10-30 | Intel Corporation | Network alert handling system and method |
US6233687B1 (en) * | 1998-01-21 | 2001-05-15 | Nortel Networks Limited | Method and apparatus for providing configuration information in a network |
US7268700B1 (en) | 1998-01-27 | 2007-09-11 | Hoffberg Steven M | Mobile communication device |
US6173404B1 (en) * | 1998-02-24 | 2001-01-09 | Microsoft Corporation | Software object security mechanism |
US6532451B1 (en) * | 1998-03-23 | 2003-03-11 | Novell, Inc. | Nested strong loader apparatus and method |
US6701433B1 (en) | 1998-03-23 | 2004-03-02 | Novell, Inc. | Method and apparatus for escrowing properties used for accessing executable modules |
US6615350B1 (en) * | 1998-03-23 | 2003-09-02 | Novell, Inc. | Module authentication and binding library extensions |
US6751735B1 (en) | 1998-03-23 | 2004-06-15 | Novell, Inc. | Apparatus for control of cryptography implementations in third party applications |
US7236610B1 (en) * | 1998-04-30 | 2007-06-26 | Fraunhofer Gesellschaft | Authenticating executable code and executions thereof |
US6341351B1 (en) * | 1998-05-07 | 2002-01-22 | Banctec, Inc. | Method for communicating and controlling transactions between unsecured parties |
US6256393B1 (en) * | 1998-06-23 | 2001-07-03 | General Instrument Corporation | Authorization and access control of software object residing in set-top terminals |
US6105137A (en) * | 1998-07-02 | 2000-08-15 | Intel Corporation | Method and apparatus for integrity verification, authentication, and secure linkage of software modules |
US6735696B1 (en) * | 1998-08-14 | 2004-05-11 | Intel Corporation | Digital content protection using a secure booting method and apparatus |
US6343280B2 (en) * | 1998-12-15 | 2002-01-29 | Jonathan Clark | Distributed execution software license server |
CA2292041A1 (en) * | 1998-12-22 | 2000-06-22 | Scott Alan Thomson | Software program protection mechanism |
US6802006B1 (en) * | 1999-01-15 | 2004-10-05 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
US7650504B2 (en) * | 1999-07-22 | 2010-01-19 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
US6779117B1 (en) | 1999-07-23 | 2004-08-17 | Cybersoft, Inc. | Authentication program for a computer operating system |
US7243236B1 (en) * | 1999-07-29 | 2007-07-10 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
WO2001009702A2 (en) | 1999-07-30 | 2001-02-08 | Intertrust Technologies Corp. | Methods and systems for transaction record delivery using thresholds and multi-stage protocol |
US7086584B2 (en) * | 1999-08-09 | 2006-08-08 | First Data Corporation | Systems and methods for configuring a point-of-sale system |
US7406603B1 (en) | 1999-08-31 | 2008-07-29 | Intertrust Technologies Corp. | Data protection systems and methods |
US6985885B1 (en) | 1999-09-21 | 2006-01-10 | Intertrust Technologies Corp. | Systems and methods for pricing and selling digital goods |
US6748538B1 (en) * | 1999-11-03 | 2004-06-08 | Intel Corporation | Integrity scanner |
AU7623600A (en) * | 1999-11-16 | 2001-05-30 | Intel Corporation | A method of providing secure linkage of program modules |
US6880083B1 (en) * | 1999-12-31 | 2005-04-12 | Intel Corporation | Method and apparatus for creating and executing secure scripts |
US6789199B1 (en) * | 2000-02-08 | 2004-09-07 | International Business Machines Corporation | Tamper resistance with pseudo-random binary sequence program interlocks |
US7284124B1 (en) * | 2000-06-05 | 2007-10-16 | Microsoft Corporation | Trust level based platform access regulation application |
US6816984B1 (en) * | 2000-06-23 | 2004-11-09 | Microsoft Corporation | Method and system for verifying and storing documents during a program failure |
US7051200B1 (en) | 2000-06-27 | 2006-05-23 | Microsoft Corporation | System and method for interfacing a software process to secure repositories |
US6889378B2 (en) | 2000-07-24 | 2005-05-03 | Sony Corporation | Information processing method, inter-task communication method, and computer-executable program for the same |
US6683629B1 (en) * | 2000-08-03 | 2004-01-27 | Neoplanet, Inc. | Method in a computer system for embedding a child window in a parent window |
JP3712366B2 (ja) * | 2000-08-15 | 2005-11-02 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理システム、実行可能モジュール生成方法および記憶媒体 |
US6971023B1 (en) * | 2000-10-03 | 2005-11-29 | Mcafee, Inc. | Authorizing an additional computer program module for use with a core computer program |
US20020087876A1 (en) * | 2000-12-28 | 2002-07-04 | Larose Gordon Edward | Adaptive software installation process supporting multiple layers of security-related attributes |
JP2002244989A (ja) * | 2001-02-20 | 2002-08-30 | Nec Corp | デバイスドライバ作動方法 |
WO2002079955A2 (en) | 2001-03-28 | 2002-10-10 | Nds Limited | Digital rights management system and method |
IL142487A0 (en) * | 2001-04-05 | 2003-09-17 | Hexalock Ltd | Method and system for protecting data |
WO2002084496A1 (en) * | 2001-04-16 | 2002-10-24 | Sunncomm, Inc. | Apparatus and method for authentication of computer-readable medium |
US7581103B2 (en) | 2001-06-13 | 2009-08-25 | Intertrust Technologies Corporation | Software self-checking systems and methods |
US7234061B1 (en) * | 2001-06-29 | 2007-06-19 | Cisco Technology, Inc. | Methods and apparatus for verifying modules from approved vendors |
US7366911B2 (en) * | 2001-12-11 | 2008-04-29 | Lucent Technologies Inc. | Methods and apparatus for computationally-efficient generation of secure digital signatures |
US7496757B2 (en) * | 2002-01-14 | 2009-02-24 | International Business Machines Corporation | Software verification system, method and computer program element |
US7680743B2 (en) * | 2002-05-15 | 2010-03-16 | Microsoft Corporation | Software application protection by way of a digital rights management (DRM) system |
IL149759A (en) * | 2002-05-20 | 2009-07-20 | Eyal Cohen | Method and system for protecting digital media from illegal copying |
FR2843465B1 (fr) * | 2002-08-06 | 2005-07-01 | Checkflow | Procede de communication entre applications destine a securiser l'acces aux donnees d'une application |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US7565551B2 (en) * | 2003-02-19 | 2009-07-21 | Microsoft Corporation | Enhancing software integrity through installation and verification |
US7350079B2 (en) * | 2003-11-20 | 2008-03-25 | International Business Machines Corporation | Apparatus and method for inter-program authentication using dynamically-generated public/private key pairs |
US20050132357A1 (en) * | 2003-12-16 | 2005-06-16 | Microsoft Corporation | Ensuring that a software update may be installed or run only on a specific device or class of devices |
US7568195B2 (en) | 2003-12-16 | 2009-07-28 | Microsoft Corporation | Determining a maximal set of dependent software updates valid for installation |
US7614051B2 (en) * | 2003-12-16 | 2009-11-03 | Microsoft Corporation | Creating file systems within a file in a storage technology-abstracted manner |
US7549042B2 (en) * | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US20050128520A1 (en) * | 2003-12-16 | 2005-06-16 | Jeff Glickman | Digital signature protection for software |
US7549148B2 (en) | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Self-describing software image update components |
US7500108B2 (en) * | 2004-03-01 | 2009-03-03 | Microsoft Corporation | Metered execution of code |
US7831838B2 (en) * | 2004-03-05 | 2010-11-09 | Microsoft Corporation | Portion-level in-memory module authentication |
JP2005268931A (ja) * | 2004-03-16 | 2005-09-29 | Matsushita Electric Ind Co Ltd | 情報セキュリティ装置及び情報セキュリティシステム |
US7644287B2 (en) * | 2004-07-29 | 2010-01-05 | Microsoft Corporation | Portion-level in-memory module authentication |
US7590589B2 (en) | 2004-09-10 | 2009-09-15 | Hoffberg Steven M | Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference |
US7779269B2 (en) * | 2004-09-21 | 2010-08-17 | Ciena Corporation | Technique for preventing illegal invocation of software programs |
KR100681696B1 (ko) * | 2004-11-29 | 2007-02-15 | 주식회사 안철수연구소 | 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법 |
US7631198B2 (en) * | 2005-05-10 | 2009-12-08 | Seagate Technology | Protocol scripting language for safe execution in embedded system |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
SE530662C2 (sv) * | 2005-11-09 | 2008-08-05 | Noll Och Ett Data Ab | Förfarande och anordning |
JP4537940B2 (ja) * | 2005-11-21 | 2010-09-08 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、及びプログラム実行制御方法 |
US7845016B2 (en) * | 2005-11-28 | 2010-11-30 | Cisco Technology, Inc. | Methods and apparatus for verifying modules from approved vendors |
JP4783163B2 (ja) * | 2006-01-19 | 2011-09-28 | Okiセミコンダクタ株式会社 | マイクロコントローラ |
US8700902B2 (en) | 2006-02-13 | 2014-04-15 | At&T Intellectual Property I, L.P. | Methods and apparatus to certify digital signatures |
US8341747B2 (en) * | 2006-08-08 | 2012-12-25 | International Business Machines Corporation | Method to provide a secure virtual machine launcher |
US9389839B2 (en) * | 2008-06-26 | 2016-07-12 | Microsoft Technology Licensing, Llc | Safe code for signature updates in an intrusion prevention system |
US8769654B2 (en) * | 2009-06-23 | 2014-07-01 | Cisco Technology, Inc. | Counterfeit prevention strategy for pluggable modules |
US8776245B2 (en) * | 2009-12-23 | 2014-07-08 | Intel Corporation | Executing trusted applications with reduced trusted computing base |
US20120331308A1 (en) * | 2011-06-22 | 2012-12-27 | Media Patents, S.L. | Methods, apparatus and systems to improve security in computer systems |
JP7226831B2 (ja) * | 2018-08-02 | 2023-02-21 | Necソリューションイノベータ株式会社 | ライセンス管理装置、プログラム実行装置及び方法、並びにアプリケーションプログラム |
CN109688158B (zh) * | 2019-01-23 | 2022-07-08 | 平安科技(深圳)有限公司 | 金融执行链认证方法、电子装置及存储介质 |
EP4396713A1 (en) * | 2021-08-30 | 2024-07-10 | Qualcomm Incorporated | Functional safety software image integrity verifier |
US11822647B1 (en) * | 2022-03-01 | 2023-11-21 | CSP Inc. | Data structure for trust store |
US11928205B1 (en) | 2022-03-01 | 2024-03-12 | CSP Inc. | Systems and methods for implementing cybersecurity using blockchain validation |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4845715A (en) * | 1984-10-29 | 1989-07-04 | Francisco Michael H | Method for maintaining data processing system securing |
US5224160A (en) * | 1987-02-23 | 1993-06-29 | Siemens Nixdorf Informationssysteme Ag | Process for securing and for checking the integrity of the secured programs |
US4930073A (en) * | 1987-06-26 | 1990-05-29 | International Business Machines Corporation | Method to prevent use of incorrect program version in a computer system |
CA1337132C (en) * | 1988-07-15 | 1995-09-26 | Robert Filepp | Reception system for an interactive computer network and method of operation |
GB9010603D0 (en) * | 1990-05-11 | 1990-07-04 | Int Computers Ltd | Access control in a distributed computer system |
JPH04143881A (ja) * | 1990-10-05 | 1992-05-18 | Toshiba Corp | 相互認証方式 |
US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5235642A (en) * | 1992-07-21 | 1993-08-10 | Digital Equipment Corporation | Access control subsystem and method for distributed computer system using locally cached authentication credentials |
US5349642A (en) * | 1992-11-03 | 1994-09-20 | Novell, Inc. | Method and apparatus for authentication of client server communication |
US5542045A (en) * | 1993-10-15 | 1996-07-30 | Software Security, Inc. | Method for interposing a security function in a computer program |
US5343527A (en) * | 1993-10-27 | 1994-08-30 | International Business Machines Corporation | Hybrid encryption method and system for protecting reusable software components |
GB9422389D0 (en) * | 1994-11-05 | 1995-01-04 | Int Computers Ltd | Authenticating access control for sensitive functions |
US5742759A (en) * | 1995-08-18 | 1998-04-21 | Sun Microsystems, Inc. | Method and system for facilitating access control to system resources in a distributed computer system |
US5757914A (en) | 1995-10-26 | 1998-05-26 | Sun Microsystems, Inc. | System and method for protecting use of dynamically linked executable modules |
US5737523A (en) * | 1996-03-04 | 1998-04-07 | Sun Microsystems, Inc. | Methods and apparatus for providing dynamic network file system client authentication |
-
1995
- 1995-10-26 US US08/547,720 patent/US5757914A/en not_active Expired - Lifetime
-
1996
- 1996-10-09 EP EP96307347A patent/EP0770957A3/en not_active Withdrawn
- 1996-10-15 TW TW085112575A patent/TW378304B/zh active
- 1996-10-22 JP JP27920796A patent/JP3982857B2/ja not_active Expired - Lifetime
- 1996-10-23 KR KR1019960047605A patent/KR100417443B1/ko not_active IP Right Cessation
- 1996-10-24 CN CN96122021A patent/CN1130648C/zh not_active Expired - Fee Related
-
1997
- 1997-12-17 US US08/992,079 patent/US5970145A/en not_active Expired - Lifetime
-
1999
- 1999-10-19 US US09/420,946 patent/US6546487B1/en not_active Expired - Lifetime
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11110193A (ja) * | 1997-09-30 | 1999-04-23 | Toshiba Corp | コンピュータシステム及び同システムに適用するライブラリのリンク方法 |
JP2002509313A (ja) * | 1998-01-16 | 2002-03-26 | メディアドナ、インコーポレイテッド | ピアコンポーネントを認証するためのシステムおよび方法 |
WO2000042498A1 (fr) * | 1999-01-13 | 2000-07-20 | Hitachi, Ltd. | Procede et systeme permettant d'executer un code mobile |
JP3873624B2 (ja) * | 1999-01-13 | 2007-01-24 | 株式会社日立製作所 | モバイルコードの実行方法およびそのシステム |
JP2003510684A (ja) * | 1999-09-20 | 2003-03-18 | ギーゼッケ ウント デフリエント ゲーエムベーハー | プログラム実行を保護するための方法 |
JP4732651B2 (ja) * | 1999-09-20 | 2011-07-27 | ギーゼッケ ウント デフリエント ゲーエムベーハー | プログラム実行を保護するための方法 |
JP2003518692A (ja) * | 1999-12-27 | 2003-06-10 | ノキア コーポレイション | プログラム・モジュール・バインディング方法 |
JP2004509392A (ja) * | 2000-09-08 | 2004-03-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ソフトウェアのセキュア認証済チャネル |
KR100973203B1 (ko) * | 2002-10-04 | 2010-07-30 | 톰슨 라이센싱 | 내장된 소프트웨어 및 이를 인증하는 방법 |
JP2006501735A (ja) * | 2002-10-04 | 2006-01-12 | カナル プラス テクノロジーズ | 同一のものを認証するための統合ソフトウェア及び方法 |
US9524404B2 (en) | 2003-08-26 | 2016-12-20 | Panasonic Intellectual Property Corporation Of America | Program execution device |
US10108821B2 (en) | 2003-08-26 | 2018-10-23 | Panasonic Intellectual Property Corporation Of America | Program execution device |
US12019789B2 (en) | 2003-08-26 | 2024-06-25 | Panasonic Holdings Corporation | Program execution device |
US11651113B2 (en) | 2003-08-26 | 2023-05-16 | Panasonic Holdings Corporation | Program execution device |
US10970424B2 (en) | 2003-08-26 | 2021-04-06 | Panasonic Intellectual Property Corporation Of America | Program execution device |
JP2011253558A (ja) * | 2003-08-26 | 2011-12-15 | Panasonic Corp | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 |
US10607036B2 (en) | 2003-08-26 | 2020-03-31 | Panasonic Intellectual Property Corporation Of America | Program execution device |
US10318768B2 (en) | 2003-08-26 | 2019-06-11 | Panasonic Intellectual Property Corporation Of America | Program execution device |
US8181040B2 (en) | 2003-08-26 | 2012-05-15 | Panasonic Corporation | Program execution device |
JP2009151805A (ja) * | 2003-08-26 | 2009-07-09 | Panasonic Corp | 情報処理装置、セキュア処理方法、コンピュータプログラム及び記録媒体。 |
US8522053B2 (en) | 2003-08-26 | 2013-08-27 | Panasonic Corporation | Program execution device |
US8874938B2 (en) | 2003-08-26 | 2014-10-28 | Panasonic Intellectual Property Corporation Of America | Program execution device |
US9218485B2 (en) | 2003-08-26 | 2015-12-22 | Panasonic Intellectual Property Corporation Of America | Program execution device |
US9811691B2 (en) | 2003-08-26 | 2017-11-07 | Panasonic Intellectual Property Corporation Of America | Program execution device |
JP2005115933A (ja) * | 2003-09-19 | 2005-04-28 | Fuji Electric Systems Co Ltd | 電子署名装置、方法、及びそのプログラム |
US7610632B2 (en) | 2004-03-25 | 2009-10-27 | Nec Corporation | Software use permission method and system |
JP2013012217A (ja) * | 2005-02-02 | 2013-01-17 | Insyde Software Corp | ファームウェアに安全なアップデートを提供するシステム及び方法 |
JP4922951B2 (ja) * | 2005-02-11 | 2012-04-25 | シンプレックス メジャー センドリアン ベルハッド | ソフトウェア保護方法 |
US8161294B2 (en) | 2005-02-11 | 2012-04-17 | John Aram Safa | Software protection method |
JP2008532113A (ja) * | 2005-02-11 | 2008-08-14 | シンプレックス メジャー センドリアン ベルハッド | ソフトウェア保護方法 |
JP2008547111A (ja) * | 2005-06-27 | 2008-12-25 | マイクロソフト コーポレーション | アクティブ・コンテンツ信頼モデル |
JP2016038916A (ja) * | 2014-08-07 | 2016-03-22 | キヤノンマーケティングジャパン株式会社 | アプリケーションサーバ、認証システム、認証サーバと、その処理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP0770957A3 (en) | 2000-03-15 |
TW378304B (en) | 2000-01-01 |
US6546487B1 (en) | 2003-04-08 |
US5757914A (en) | 1998-05-26 |
US5970145A (en) | 1999-10-19 |
CN1130648C (zh) | 2003-12-10 |
CN1154515A (zh) | 1997-07-16 |
EP0770957A2 (en) | 1997-05-02 |
JP3982857B2 (ja) | 2007-09-26 |
KR970022747A (ko) | 1997-05-30 |
KR100417443B1 (ko) | 2004-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3982857B2 (ja) | 動的にリンクされた実行可能モジュールの使用を保護するシステム及び方法 | |
US7543336B2 (en) | System and method for secure storage of data using public and private keys | |
JP4112033B2 (ja) | 信頼されたソースからの検証不能プログラムを使用するための機能を有する検証可能プログラムを実行するシステム及び方法 | |
US6327652B1 (en) | Loading and identifying a digital rights management operating system | |
US6330670B1 (en) | Digital rights management operating system | |
US6820063B1 (en) | Controlling access to content based on certificates and access predicates | |
US7174457B1 (en) | System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party | |
US7155743B2 (en) | Method and system for controlling use of a dynamically linked software library | |
US6647495B1 (en) | Information processing apparatus and method and recording medium | |
US7305553B2 (en) | Manifest-based trusted agent management in a trusted operating system environment | |
US6067575A (en) | System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs | |
US20030177371A1 (en) | Method of secure function loading | |
US20050060549A1 (en) | Controlling access to content based on certificates and access predicates | |
JPH1185622A (ja) | コア・データ機密事項の保護記憶 | |
US7721100B2 (en) | Granting an access to a computer-based object |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060904 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061204 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070509 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070515 |
|
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: 20070604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070703 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120713 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120713 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130713 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |