JP4703723B2 - デジタル的に署名された実行可能体のヘッダーに補助的情報を埋め込むためのコンピュータで実行される方法とシステム。 - Google Patents

デジタル的に署名された実行可能体のヘッダーに補助的情報を埋め込むためのコンピュータで実行される方法とシステム。 Download PDF

Info

Publication number
JP4703723B2
JP4703723B2 JP2008511613A JP2008511613A JP4703723B2 JP 4703723 B2 JP4703723 B2 JP 4703723B2 JP 2008511613 A JP2008511613 A JP 2008511613A JP 2008511613 A JP2008511613 A JP 2008511613A JP 4703723 B2 JP4703723 B2 JP 4703723B2
Authority
JP
Japan
Prior art keywords
digital signature
block
recording medium
computer
auxiliary data
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.)
Active
Application number
JP2008511613A
Other languages
English (en)
Other versions
JP2008541637A (ja
Inventor
トルビア,アンドレス,エム.
ローマン,ミギュエル,エイ.
Original Assignee
ロヴィ・ソリューションズ・コーポレーション
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 ロヴィ・ソリューションズ・コーポレーション filed Critical ロヴィ・ソリューションズ・コーポレーション
Publication of JP2008541637A publication Critical patent/JP2008541637A/ja
Application granted granted Critical
Publication of JP4703723B2 publication Critical patent/JP4703723B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Description

本PCT出願は、2006年3月31日に出願された米国特許出願第11・95,194号(発明の名称「デジタル的に署名された実行可能体のヘッダーに補助的情報を埋め込むためのコンピュータで実行される方法とシステム」)により得られる出願日の特典を請求する。そして、その優先権は、米国特許法35 U.S.C.第120条もしくは第365(c)条に基づき請求され、更に、2005年5月20日に出願された米国仮特許出願第60/683,190号(発明の名称「デジタル配信用にデジタル的に署名されたファイルを追尾するための方法と装置」)の出願日の特典も請求する。上記した各出願の全内容は、ここで言及したことにより本出願に含まれる。
ここに開示されている技術は、デジタル署名およびデジタル証明書の方法とシステムに関するものである。より具体的には、本開示技術は、実行可能なソフトウェアによるデジタル署名およびデジタル証明書の使用に関するものである。
デジタル配信というものが出現したことにより、インターネットを通してソフトウェアを配信するという新しいビジネス モデルが作り出された。デジタル的に配信されるモデルを「トライ アンド バイ(try and buy:試用して購入)」する場合、消費者は、ソフトウェアを購入するかどうかの決定をする前に同ソフトウェアの「トライ アンド バイ」バージョンを試用することができる。このような「トライ アンド バイ」バージョンは、購入後ロックが解除される実施可能なソフトウェアのロック ダウンバージョン(locked down version)から構成されている。通常のシナリオでは、エンド ユーザーまたは購入見込み者は、無料で手に入る「トライ アンド バイ」ソフトウェア アプリケーション(以下「インストーラ(installer)」という)を、発行元のホーム ページ(website)もしくは多目的ウェブ ポータル(例えば、www.download.comであるとか、www.yahoo.comなど。以下「ポータル」という)からダウンロードする。普通、このような「トライ アンド バイ」インストーラをダウンロードしてインストールするユーザーの何%かは、そのようなソフトウェア製品のフル バージョン(a full version)を入手するためにかかるソフトウェア(もしくはサービス、付帯する継続購入)を購入する。従って、ソフトウェア製造者は、エンド ユーザが「トライ アンド バイ」ソフトウェアをダウンロードできるようにする動機つけがある。このため、ソフトウェア製造者は、自分自身のホームページへ「トライ アンド バイ」バージョンを載せ、エンド ユーザがこれをダウンロードできるようにしている。これに加え、ソフトウェア製造者は、ソフトウェア製造者が必ずしもコントロールし得ないポータルを通して、かかるインストーラを配信している。「トライ アンド バイ」ビジネス モデルの裏にあるソフトウェア発行者にとっての動機は、消費者が、「トライ アンド バイ」ソフトウェアに関連する購入を行ったときにソフトウェア発行者は補償されるという事実にある。さらに、ポータルは、「トライ アンド バイ」インストーラがポータル サイトからダウンロードされ収益を生み出したときにポータルが補償されるように、ソフトウェア製造者、発行者、または集団(aggregators)と商取引をすることができる。普通、ポータルは、消費者から支払われた対価の収益分与を得る。
「トライ アンド バイ」インストーラは、エンド ユーザーが、ソフトウェア アプリケーションのフル バージョンを購入できるようにするための手段を備えている。購入取引の一部として、オン ライン購入取引の場合、エンド ユーザーは、種々のステップ(工程)を実施するように指示される。かかる指示には、次のようなものを含むことができる。即ち、例えば、1)経済取引を完了させるためのテキスト的記述、例えば、小切手を私書箱xyzへ送り、ソフトウェア アプリケーションのフル バージョンを入手するための指示を受けること、といった記述、2)オン ラインによるイー コマース(電子商取引)(例えば、クレジット カード支払い)を行うための指示もしくは手段を含むURL、3)アプリケーション自身の中に組み込まれた購入メカニズム、4)ソフトウェア アプリケーションのラッパー(包装物:wrapper)に組み込まれた購入メカニズム、5)これら指示を組み合わせたもの、等である。同一のソフトウェア製品が、多数の配信ネットワーク(例えば、多数のポータル)を通して配信されるので、配信ネットワークは、個々の購入について、追尾(tracking)責任があるため、その追尾方法が要求される。ある特定の購入について、どの配信ネットワークに責任があるかということを決めるひとつの方法は、前記ソフトウェア製品についてその追跡可能バージョン(traceable versions)を作り出すことである。追跡可能バージョンを作る一つの方法は、購入指示の中に配信ネットワークを特定する情報を含んだ異なるインストーラを作るということである。例えば、ソフトウェア製品は、特定の配信ネットワークを特定する値(value)を含む購入URLを、ソフトウェア製品に埋め込むようにして、持つことができる。例えば、
http://my.trymedia.com/buy?sku=0123&affiliate=abc
このようなURLは、パラメータ“affiliate=abc”によって特定される配信ネットワークを通してのソフトウェア配信に用いることができる。もし、同一のソフトウェア製品が、別の配信ネットワーク(例えば、“affiliate=xyz”)を通して配信されることになった場合、その別の配信ネットワークを特定する、例えば、http//my.medhia.com/buy?sku=0123&affiliate=xyzというURLを埋め込んだ別のバージョンが作られなければならない。
ソフトウェア発行者は、当業者には周知の種々の手段によって、ソフトウェア製品の異なる追尾可能バージョンを作ることができる。例えば、1)配信チャンネルを特定するための異なる補助的な情報を含む実行可能なソフトウェア(software executable)の再コンパイルによって、2)購入プロセスの指示によって言及されている補助的なファイル、リソース、あるいはデータにそのような情報を含ませることによって、あるいは、3)前記1)および2)の組み合わせによって、などである。そのプロセスができるだけ効率よくスケール(scale)されるように、ほとんどの場合、ソフトウェア製造者を巻き込むことなく同一ソフトウェア製品の異なる追跡可能バージョンを作ることが推奨される。そのようにするためのひとつの方法は、インストーラが最初に実行されたときに、インストーラのあらかじめ決められた場所へ、またはファイル システムのレジストリー(registry)のあらかじめ決められた場所へ、配信関連情報を埋め込むようにすることである。インストーラに配信関連情報を埋め込むことの利点の一つは、ソフトウェア製造者が各配信ネットワーク用に特別のソフトウェア バージョンを作らなくともよいという点にある。それでもなお、増大する配信ネットワークのそれぞれに異なるインストーラを作り、管理することが、非常に困難な仕事になってきている。
実行可能体(または実行可能ファイル:executables)にデジタル的署名を導入することは、ソフトウェア製造者およびエンド ユーザに対して安全性を提供できるという利点がある。エンド ユーザーに対しては、実行可能体の署名は、実行可能体が署名された時点からはその実行物にはいかなる修正、変更もなされていないということを確実にするツール(道具)を提供することになる。実行可能体への署名は、通常は、ソフトウェア製造者によってなされる。また、ソフトウェア製造者にとっては、自分のソフトウェアが許可なく修正あるいは変更される(例えば、実行可能体を感染させるコンピュータ ウィルスなどによって)可能性を少なくするということになり、ユーザーからの支援要請電話(サポート コール)を少なくすることができるとともに、ソフトウェアに対するユーザーのより高い信頼を得ることができる。マイクロソフト社のウィンドウズ オペレーティング システムの実行可能体においては、デジタル署名は証明書の形で実施されている。実行可能体のヘッダーの中に、証明書表が設けられていて、この表には、デジタル証明書の種々の属性にアクセスするための情報が含まれている。ソフトウェア製造者が一旦実行可能ファイルに署名すると、実行可能体の内容は、証明書を無効とするか、あるいは、ファイルのデジタル署名とファイルのデジタル証明書とのミスマッチをさせない限り、簡単には変更できない。更に、ウィルス、スパイウェア、およびその他のマルウェアが増加している現状から、オペレーティング システムおよびインターネット ブラウザー販売者は、実行可能ファイルがデジタル的に署名されていない場合には警告を発行しがちになる。このようなことから、実行可能体に対するデジタル署名の使用が更に採用されることになり、広く行きわたったことになるだろう。
しかしながら、上述したように、ソフトウェア製品の異なるバージョンを異なる配信ネットワーク用に作る事は非効率的である。更に、実行可能体のデジタル署名の正当性(integrity)を壊すことなく実行可能体の内容を変更することは極めて困難なことである。従って、ソフトウェア製造者以外の誰かが、ソフトウェア製品の追跡可能なコピー(複製品)を作ることは、極めて難しいことである。何故なら、 追跡可能なコピーのために補助的な配信関連情報を変更することは、デジタル署名を無効としてしまうからである。
それ故、デジタル的に署名された実行可能物のヘッダーに補助的な情報を埋め込むためのコンピュータで実行可能な方法とシステムとが必要とされている。
補助的な情報を、デジタル署名された実行可能体のヘッダーに埋め込むためのコンピュータで実行可能な方法およびシステムがここに開示されている。以下の説明において、数多くの具体的な詳細が述べられている。しかしながら、本発明の実施態様は、かかる具体的な詳細なしでも具体化できることは理解される。その他の例、周知のプロセス、構造、および技術については、説明の明確さをあいまいにしないように、詳細には示されていない。
図1は、補助的な情報(例えば配信情報)が、インストーラーの実行可能部分のヘッダー部分に記憶されている一実施例を示している。図示されているように、インストーラ110は、実行可能なコード ブロック120およびインストーラ データ130を有している。実行可能なコード ブロック120は、ヘッダー部分122と、ヘッダー部分内に存在する補助的データ部分124と、実行可能なコード部分126とから成っている。補助的データ124は、配信関連情報、URL、販売価格情報、タイムスタンプ、配信チャンネル情報、商取引上の規則、デジタル著作権管理(digital rights management:DRM)情報、配信者のブランド情報、他の情報へのポインターあるいはリンク、その他ソフトウェア製造者、配信者、卸売り商、小売販売者、もしくはエンド ユーザが使用するあらゆる情報を含むことできる。当業者にとっては、その他種々の異なるタイプの情報、異なるタイプの補助的情報の集合もしくは組み合わせを、補助的データ124へ含め得ることは明らかであろう。かかる補助的情報124は、それが関係するインストーラ内に作られ、記憶され、転送される。インストーラ110内の補助的データ ブロック124があるとした場合、特別なインストーラが特定のソフトウェア製品用として作られる。例えば、同一のソフトウェア製品が、多数の異なる特定のインストーラ(その各々は、特定の配信ネットワーク用の配信方法を定義付けるための特別な補助的データを有している)を用いて多数の異なる方法で配信することができる。第2図を参照する。各実行可能なコード ブロック121、122、および123内に異なる補助的データを持つ三つの異なるインストーラの例が示されている。第2図に図解されているこれら三つのインストーラの各々は、特定の配信ネットワーク内でソフトウェア製品を配信するために用いることができる。インストーラ データ131は、三つの異なるインストーラにおいて同一のものである点に注意を要する。実行可能なコード ブロック121、122、123だけが異なっていて、各インストーラの配信ネットワークが異なることを示している。
図3を参照する。ここに示されている例は、種々の実施例において、異なる配信ネットワークを通して配信がどのように行われるかを図解している。図3の例において、サーバー350は、インストーラ テンプレート340を有している。このインストーラ テンプレートは、実行可能なコード ブロック321と、インストーラ データ331とを有している。サーバー350は、特定の配信ネットワーク(例えば、ネットワーク1)を通して特定のソフトウェア製品のダウンロードの要求を受け取ると、配信ネットワーク特有の情報(例えば、ネットワーク1)を発生させ、その情報を、インストーラ テンプレート340のコピーへ記憶する。その後、この配信ネットワーク特有のインストーラ351は、その特有の配信ネットワークを通してソフトウェア製品の配信を要求した者(originator)に送られることができる。同様に、他の配信ネットワーク特有のインストーラ、352および353、が、インストーラ テンプレート340から発生され、かかるダウンロードの要求をした者へ送り出される。このようにして、多数の配信ネットワークを通してのソフトウェア製品の配信についての効率的且つスケーラブル(scalable)な解決が提供される。
ダウンロードされた実行可能体におけるデジタル署名の使用は、ますます、より一般的になってきている。しかしながら、一旦ソフトウェア製造者が実行可能ファイルに署名すると、実行可能体の内容は証明書を無効にするか、ファイルのデジタル署名をファイルのデジタル証明書にミスマッチさせるかしない限り簡単には変更できない。それ故、特定のソフトウェア製品のダウンロードのために補助的な情報をインストーラに埋め込むことは困難になっている。しかしながら、ここに説明されている種々の実施例は、以下に更に詳細に説明するように、この問題を解決している。
図4を参照する。デジタル的に署名された実行可能ファイル401の典型的な構造がここに示されている。ファイル401は、普通、サイクリック冗長チェック ブロック410(cyclic redundancy check block:CRC)、デジタル署名ポインター412、デジタル署名サイズ414、可変データブロック416、デジタル署名ブロック420、および不使用部分430を備えている。当業者には周知のように、デジタル署名420は、ソフトウェア開発者の秘密鍵および信頼できる機関(a trusted authority)の秘密鍵と組み合わされて、可変データ416のハッシュ値および実行可能なヘッダーから生成される。可変データ416は、実質的に、ファイル401内のいかなるコードもしくはデータ ペイロードであってもよく、実行可能なヘッダーを有している。通常、ダウンロード可能なソフトウェア製品および関連するデータは、可変データブロック416内に記憶される。ソフトウェア製品が一旦可変データ ブロック416に記憶され、デジタル署名420が可変データブロック416の内容(コンテント)から生成されると、デジタル署名420を無効としない限り可変データブロック416のいかなる部分も修正することは極めて困難なことになる。生成されたデジタル署名420のサイズは、デジタル署名サイズ ブロック414内に記憶される。可変データ ブロック416は、サイズの変更が可能であるので、デジタル署名に対するポインター413は、デジタル署名ポインター ブロック412へ記憶される。デジタル的に署名された実行可能ファイル401の実行においては、通常、デジタル署名ポインター412およびデジタル署名サイズ414は、デジタル署名420の計算(computation)に含められることはない。従って、ファイル401のこれらのブロックは、デジタル署名を無効とすることなく修正することができる。
図5を参照する。種々の実施例による改修された、デジタル的に署名された実行可能なファイル501が示されている。ファイル501は、ブロック514にあるデジタル署名サイズの値を変更することによって改修されている。デジタル署名サイズの値は、デジタル署名520のサイズを取り出しそこへ不使用ブロック530のサイズを付け加えることによって改修されている。場合によっては、バイト、ワード、ページ、その他の記憶セグメントの境界による補助データ ブロック530を終了させるためにあらかじめ定められたパッド値(pad value)によって、改修されたデジタル署名サイズ値を大きくする(もしくは小さくする)必要があり得る。その他の場合では、予備的にゼロ設定(zero out)するか、あるいは補助的データ ブロック530の各記憶域内へデフォルト値を記憶する必要があり得る。この新たなデジタル署名サイズ値は、第5図において矢印515で示したようにデジタル署名サイズ ブロック514内に記憶される。ブロック514におけるデジタル署名サイズ値は、デジタル署名520の計算には含まれないので、ブロック514内のデジタル署名サイズの修正は、デジタル署名520を無効にすることはない。更に、デジタル署名520の従来の構造故に、デジタル署名520の終了部に付加された記憶スペース530もデジタル署名520を無効とすることがない。ファイル501へ不使用記憶スペース530を付加することにより、第三者が補助的データをブロック530へ記憶させることができる。ブロック530へ記憶された補助的データは種々の目的に使用することができる。例えば、ブロック530へ記憶された補助的データは、配信関連情報、URL、販売価格情報、タイムスタンプ、配信チャンネル情報、商取引上の規則、デジタル著作権管理(digital right management:DRM)情報、配信者のブランド情報、他の情報へのポインターあるいはリンク、その他ソフトウェア製造者、配信者、卸売り商、小売販売者、もしくはエンド ユーザが使用するあらゆる情報を含むことできる。当業者にとっては、その他種々の異なるタイプの情報、異なるタイプの補助的情報の集合もしくは組み合わせを、ブロック530へ含め得ることは明らかであろう。かかる補助的情報は、デジタル署名520を無効とすることなくファイル501のブロック530内に作られ、記憶され、転送される。
別の実施例において、CRCブロック510内のデータは、補助的データにより上書きされることができる。ブロック510のCRC値は、デジタル署名の計算には含められないので、ブロック510のCRCデータの修正がデジタル署名520を無効にすることはない。しかしながら、CRCブロック510のサイズは、非常に限定的である。ファイル501の構造の典型的な形は、極めて少量の情報がブロック510に記憶され得る。大きなブロックである補助的データに対するポインター、リンク、またはインデックスは、ブロック510に記憶することができる。かかる補助的データは、ローカルなまたは遠く離れた場所(例えば、サーバー)に記憶されている。
図6を参照する。フロー チャートは、一実施例において行われる基本的な処理動作を図示している。612のブロックにおいて、デジタル署名されたファイル501は読み出され、デジタル署名されたヘッダーにおけるデジタル署名ブロックおよびデジタル署名サイズ ブロックが特定される。ブロック614において、デジタル署名サイズがデジタル署名サイズ ブロックから取り出され(retrieved)、デジタル署名サイズ値は修正される。デジタル署名サイズの値は、デジタル署名のサイズ(即ち、デジタル署名サイズ ブロックにおける古い値)を取りだし、そこへ、不使用データブロックのサイズを付加することによって、修正される。この不使用データ ブロックには補助的データが記憶されうる。場合によっては、バイト、ワード、ページ、その他の記憶セグメントの境界上で補助的データ ブロックを終了させるために、予め定められたパッド値(pad value)によって、修正されたデジタル署名サイズ値を大きくする(或いは、小さくする)必要があり得る。その他の場合では、予備的にゼロ設定(zero out)するか、あるいは補助的データ ブロック530の各記憶域内へデフォルト値を記憶する必要があり得る。この新たなデジタル署名サイズ値は、処理ブロック616のデジタル署名サイズ ブロック内に記憶される。このデジタル署名されたファイル501に対応する補助的データは、処理ブロック618において生成され、補助的データ ブロック530に記憶される。処理ブロック620において、修正されたファイル501用のCRC値は、再計算(recomputed)され、CRCブロック510に記憶される。種々の実施例によって、デジタル署名されたファイル501内のブロック530に補助的データが記憶されているとした場合、特定のソフトウェア製品について、第三者によって特有なインストーラを作ることができる。更に、デジタル署名されたファイルは、デジタル著作権管理ポリシー、アクセス コントロール、購入手順、または特定のデジタル署名されたファイル501に関連したその他種々の内容(コンテンツ)特有の、関係者特有の、または取引特有の情報を含むように、改修されることができる。
図7aおよび図7bは、コンピュータ システム200を示しており、本発明の実施例の特徴が実施され得る模範的なクライアントあるいはサーバー コンピュータ システムが図解されている。コンピュータ システム200は、情報通信用のバスまたはその他の通信手段214および216、および情報を処理するためにバス214に接続されたプロセッサー220などの処理装置を備えている。コンピュータ システム200は更に、ランダム アクセス メモリ(RAM)またはその他のダイナミック記憶装置222(普通は、メイン メモリーと言われている)を備えている。かかる記憶装置は、バス214へ接続されていて、情報と、プロセッサー220によって実行される命令とを記憶する。前記メイン メモリーは、プロセッサー220によって前記命令が処理されている間に、変数(variables)またはその他の中間的情報も記憶するために用いられる。コンピュータ システム200は更に、バス214に接続されプロセッサー220に対する静的情報および静的命令を記憶するためのリード オンリー メモリ(ROM)および/またはその他の静的記憶装置224を備えている。
情報と指示を記憶するために、磁気ディスクまたは光学的ディスクといった任意の(オプショナルな)データ記憶装置228をコンピュータ システム200へ接続することもできる。コンピュータ システム200は、コンピュータ ユーザに情報を見せるために陰極線管(カソード レイ チューブ:CRT)もしくは液晶ディスプレイ(LCD)といった表示装置へ、バス216を介して接続され得る。例えば、画像、テキスト、ビデオ、または図表的な記述といった情報が表示装置204を通してユーザーに提示されることになる。通常、英数字キイおよびその他のキイを有する英数字入力装置208がバス216に接続され、プロセッサー220に対して情報および/または命令セレクションを送り出す。ユーザーによる別タイプの入力装置は、カーソル コントロール装置206であり、指示情報および命令セレクションをプロセッサ220へ送り出し且つディスプレイ204のカーソルの動きをコントロールするための、例えば従来からあるマウス、トラックボール(trackball)、またはその他のタイプのカーソル指示キイである。
通信装置226も、例えばインターネットを介して遠隔のコンピュータまたはサーバー(例えば、ウェブ サーバーあるいはその他のサーバー)にアクセスできるように、バス216に接続されている。通信装置226は、モデム、ネットワーク インターフェース カード、またはその他周知のインターフェース装置、例えばイーサネットとのインターフェース用に用いられるもの、トークン−リング、無線、またはその他のタイプのネットワークなどを備えることができる。いずれにせよ、このようにして、コンピュータ システム200は、従来からあるネットワーク基盤を介して多数のサーバーに接続される。
実施例の一例であるシステムは、上に説明したように、ソフトウェア、情報処理用ハードウェア、および種々の処理工程を有している。例示した実施例の特徴と処理工程は、マシーンによるまたはコンピュータによる実行可能な命令において具体化される。これらの命令は、同命令によってプログラムされている、汎用もしくは特定の目的を持ったプロセッサが、例示実施例の工程を実行するように用いられる。別の手法として、前記特徴または工程は、工程を実行するためのハード ワイアード ロジックを含む特殊なハードウェア コンポーネントによって、または、プログラムされたコンピュータ コンポーネントとカスタム ハードウェア コンポーネントとの任意の組み合わせによって、実行されることができる。本発明の実施例は、インターネットと関連させて説明されているが、ここに記述されている方法と装置は、その他のネットワーク基盤もしくはその他の通信システムにも同様に適用できる。
ここに記述されている方法は、説明されている順番で実行される必要はないし、また、特定の順番で実行される必要もない。更に、ここに特定されている方法に関して記述されている種々の動作は、繰り返し的(repetitive)に、同時的に、リカーシティブ(recursive)的に、直列的に、または並列的な手法で実行されることができる。パラメータ、命令、オペランド、およびその他のデータを含む情報は、通信装置226を通して一つもしくはそれ以上の搬送波の形で送られ、受け取られることができる。
ここになされている記述を読み、且つ理解すれば、当業者であれば、コンピュータをベースとしたシステムにおいて、ソフトウェア プログラムが、コンピュータによる読み取り可能媒体から開始された上述したソフトウェア プログラムに定義された機能を実行する手法については理解されよう。当業者であれば更に、ここに説明された方法を実施しまた実行すべく設計された一つもしくは二つ以上のソフトウェア プログラムを作るために、種々のプログラム言語を利用できることも理解されよう。前記プログラムは、例えばJava、Smalltalk、あるいはC++といったオブジェクト指向言語を使用するオブジェクト指向フォーマットに構成することができる。あるいはまた、例えばアッセンブリーまたはシー言語(C)などの手続き型言語を用いて、手続き指向フォーマットに構成することもできる。ソフトウェア コンポーネントは、例えば、アプリケーション プログラム インターフェースやインタープロセス通信技術といった当業者にとって周知の数多くのメカニズムの一つを用いて、通信することができる。種々の実施例による教示は、例えばHTMLおよびXMLといった特定のプログラム言語あるいはプログラム環境になんら限定されるものではない。
それゆえ、その他の実施例に気づくことができる。例えば、図7aおよび図7bは、例えばコンピュータ200、メモリー システム222、224、および228、磁気ディスクまたは光学ディスク212、その他いくつかの記憶装置228、および/またはその他任意タイプの電子装置およびシステムといった種々実施例による製品のブロック図を示している。前記製品200は、コンピュータによる読み取り可能媒体212および/または記憶装置228(例えば、電子的、学的、または電磁的導体を持った有形メモリー(tangible memory)を含む、固定されたおよび/または着脱可能な記憶媒体を含む)へ、または、通信装置226を介して搬送波へ連結されたコンピュータ(一つもしくは二つ以上のプロセッサーを有する)を有している。前記媒体212、記憶装置228、および搬送波は、関連する情報(例えば、コンピュータ プログラム指示および/またはデータ)を持っていて、それがコンピュータ202により実行されると、コンピュータ202は、ここに説明されている方法を実行する。
種々の実施例が説明されている。特に、種々のタイプとフォーマットのユーザー インターフェース プレゼンテーションと共に実施例を使用することが説明されている。しかしながら、当業者であれば、ここに説明されている実施形態の別の実施例も利用することができるし、それらは以下に述べる特許請求の範囲の範囲内にあるものであることは明らかであろう。ここに詳細に述べられた、種々の実施例は、ここでときとして「ソフトウェア」として示されているコンピュータに組み込まれた処理ロジック、に組み込まれているものとして説明されている。しかしながら、上述したように、請求されている発明は純粋にソフトウェアの実行に限定されるものではない。
このように、デジタル的に署名された実行可能体のヘッダーに補助的情報を埋め込むためのコンピュータで実行可能な方法とシステムについてが、ここに開示されている。本発明は、いくつかの例示的実施例に関連して説明されているが、当業者であれば、本発明は、説明された実施例に限定されるものではなく、ここに付されて特許請求の範囲の精神と範囲内において修正または変更を実施し得ることを認識できるであろう。従って、ここになされた説明は、何かを限定するものではなく、説明のためのものであると見るべきである。
実施例は、例として図解されたものであって、添付された図面の各図に限定されるものではない。添付された図面において、
図1は、補助的情報が、実行可能なファイルのヘッダー部分に記憶されている一実施例を図解した図。 図2は、異なる補助的データを各実行可能なコード ブック(code book)内に有する三つの異なるインストーラの例を図解した図。 種々の実施例において、いろいろな配信ネットワークを介して配信がどのように行われるかを図解した図。 デジタル署名された実行可能なファイルの代表的な構造を図解した図。 種々の実施例による、改修された、デジタル的に署名された実行可能なファイルを図解した図。 一実施例において行われる基本的な処理動作を示すフロー チャートを図解した図。 図7Aおよび図7Bは、コンピューティング システムのブロック図であり、このコンピューティング・ システム上で実施例が動作し、またすべての実施例はこのコンピューティング上にある。 図7Aおよび図7Bは、コンピューティング システムのブロック図であり、このコンピューティング・ システム上で実施例が動作し、またすべての実施例はこのコンピューティング上にある。

Claims (26)

  1. コンピュータによって実行される方法であって、前記コンピュータが、
    デジタル署名されたファイルのヘッダー内に含まれる現在のデジタル署名ブロックと現在のデジタル署名サイズブロックとを特定することであって、前記デジタル署名されたファイルは前記コンピュータの記憶装置内に格納されている、ことと
    前記デジタル署名サイズブロック内のデジタル署名サイズ値を修正することであって修正された値は、前記デジタル署名ブロックのサイズと、補助的データブロックの長さと、予め定められたパッド加えたサイズに対応する、ことと
    前記補助データブロックを、前記ファイルのヘッダー内に含まれる前記デジタル署名ブロックの末尾に付加すること
    実行し、
    前記コンピュータは、前記修正すること及び前記付加することを、前記デジタル署名されたファイルのヘッダーの現在のデジタル署名を無効にすることなしに実行する、方法。
  2. 請求項1の方法であって、前記コンピュータは前記デジタル署名されたファイル用にCRC値を再計算すること、を更に実行する、方法。
  3. 請求項1の方法であって、前記コンピュータは、補助的データを、前記記憶装置内に格納された前記ファイルのヘッダー内に含まれる前記補助的データブロックへ記憶すること、を更に実行する、方法。
  4. 請求項3の方法であって、前記補助的データは、URLを含んでいる、方法。
  5. 請求項3の方法であって、前記補助的データは、販売価格情報を含んでいる、方法。
  6. 請求項3の方法であって、前記補助的データは、デジタル著作権管理情報を含んでいる、方法。
  7. 請求項3の方法であって、前記補助的データは、配信ネットワーク情報を含んでいる、方法。
  8. 請求項3の方法であって、前記補助的データは、タイムスタンプを含んでいる、方法。
  9. 請求項3の方法であって、前記補助的データは、製品を特定する情報を含んでいる、方法。
  10. 請求項3の方法であって、前記補助的データは、対応する前記デジタル署名されたファイルを一意に特定するための情報を含んでいる、方法。
  11. 請求項1の方法であって、前記コンピュータは、予め定められたパッドブロックを、前記記憶装置内に格納された前記ファイルのヘッダー内に含まれる前記補助的データブロックの末尾に付加すること、を更に実行する、方法。
  12. コンピュータを動作させるデータを格納した、コンピュータ読み取り可能な非一時的な記録媒体であって、前記データは前記コンピュータに、
    デジタル署名されたファイルのヘッダー内に含まれるデジタル署名ブロックとデジタル署名サイズブロックとを特定する動作であって、前記デジタル署名されたファイルは前記コンピュータの記憶装置内に格納されている、動作と
    前記デジタル署名サイズブロック内のデジタル署名サイズを修正する動作であって、該修正された値は、前記デジタル署名ブロックのサイズと、補助的データブロックの長さと、予め定められたパッドを加えたサイズに対応する、動作と、
    前記補助的データブロックを、前記ファイルのヘッダー内に含まれる前記デジタル署名ブロックの末尾に付加する、動作と、
    実行させ、
    前記データは前記コンピュータに、前記修正する動作及び前記付加する動作を、前記デジタル署名されたファイルのヘッダーの現在のデジタル署名を無効にすることなしに実行させる記録媒体
  13. 請求項12記録媒体であって、前記データは、前記コンピュータに前記デジタル署名されたファイル用にCRC値を再計算すること、を更に実行させる、記録媒体
  14. 請求項12記録媒体であって、前記データは、前記コンピュータに、補助的データを、前記記憶装置内に格納された前記ファイルのヘッダー内に含まれる前記補助的データブロックへ記憶すること、を更に実行させる、記録媒体
  15. 請求項14記録媒体であって、前記補助的データは、URLを含んでいる、記録媒体
  16. 請求項14記録媒体であって、前記補助的データは、販売価格情報を含んでいる、記録媒体
  17. 請求項14記録媒体であって、前記補助的データは、デジタル著作権管理情報を含んでいる、記録媒体
  18. 請求項14記録媒体であって、前記補助的データは、配信ネットワーク情報を含んでいる、記録媒体
  19. 請求項14記録媒体であって、前記補助的データは、タイムスタンプを含んでいる、記録媒体
  20. 請求項14記録媒体であって、前記補助的データは、製品を特定する情報を含んでいる、記録媒体
  21. 請求項14記録媒体であって、前記補助的データは、対応する前記デジタル署名されたファイルを一意に特定する情報を含んでいる、記録媒体
  22. 請求項12記録媒体であって、前記データは、前記コンピュータに、予め定められたパッドブロックを、前記記憶装置内に格納された前記ファイルのヘッダー内に含まれる前記補助的データブロックの末尾に付加すること、を更に実行させる、記録媒体
  23. コンピュータによって実行される方法であって、前記コンピュータが、
    デジタル署名されたファイルのヘッダー内に含まれる現在のCRCブロックを特定することであって、前記デジタル署名されたファイルは前記コンピュータの記憶装置内に格納されている、ことと
    インデックスと関連した補助的データを前記記憶装置内に記憶することと
    前記デジタル署名されたファイルのヘッダー内の前記CRCブロックを、前記インデックス値により修正して、補助的データを取り出すことと
    を実行し、
    前記コンピュータは、前記修正することを、前記デジタル署名されたファイルのヘッダーの現在のデジタル署名を無効にすることなしに実行する、方法。
  24. 請求項23の方法であって、前記補助的データは、サーバーに記憶されている、方法。
  25. 請求項23の方法であって、前記補助的データは、ローカルメモリーに記憶されている、方法。
  26. 請求項23の方法であって、前記補助的データは、データ記憶装置に記憶されている、方法。
JP2008511613A 2005-05-20 2006-05-12 デジタル的に署名された実行可能体のヘッダーに補助的情報を埋め込むためのコンピュータで実行される方法とシステム。 Active JP4703723B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US68319005P 2005-05-20 2005-05-20
US60/683,190 2005-05-20
US11/395,194 US8397072B2 (en) 2005-05-20 2006-03-31 Computer-implemented method and system for embedding ancillary information into the header of a digitally signed executable
US11/395,194 2006-03-31
PCT/EP2006/004628 WO2007054137A1 (en) 2005-05-20 2006-05-12 A computer-implemented method and system for embedding ancillary information into the header of a digitally signed executable

Publications (2)

Publication Number Publication Date
JP2008541637A JP2008541637A (ja) 2008-11-20
JP4703723B2 true JP4703723B2 (ja) 2011-06-15

Family

ID=36809172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008511613A Active JP4703723B2 (ja) 2005-05-20 2006-05-12 デジタル的に署名された実行可能体のヘッダーに補助的情報を埋め込むためのコンピュータで実行される方法とシステム。

Country Status (7)

Country Link
US (2) US8397072B2 (ja)
EP (1) EP1897024B1 (ja)
JP (1) JP4703723B2 (ja)
AT (1) ATE437413T1 (ja)
DE (1) DE602006008003D1 (ja)
HK (1) HK1109477A1 (ja)
WO (1) WO2007054137A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397072B2 (en) 2005-05-20 2013-03-12 Rovi Solutions Corporation Computer-implemented method and system for embedding ancillary information into the header of a digitally signed executable
WO2009016427A1 (en) 2007-07-31 2009-02-05 Macrovision Corporation A computer-implemented method and system to enable out of band tracking for digital distribution
US8484476B2 (en) 2005-05-20 2013-07-09 Rovi Technologies Corporation Computer-implemented method and system for embedding and authenticating ancillary information in digitally signed content
US9519621B2 (en) * 2006-06-30 2016-12-13 Adobe Systems Incorporated Deterministic rendering of active content
US20090064134A1 (en) * 2007-08-30 2009-03-05 Citrix Systems,Inc. Systems and methods for creating and executing files
US8429643B2 (en) * 2007-09-05 2013-04-23 Microsoft Corporation Secure upgrade of firmware update in constrained memory
US9852143B2 (en) 2010-12-17 2017-12-26 Microsoft Technology Licensing, Llc Enabling random access within objects in zip archives
US8819361B2 (en) 2011-09-12 2014-08-26 Microsoft Corporation Retaining verifiability of extracted data from signed archives
US8839446B2 (en) 2011-09-12 2014-09-16 Microsoft Corporation Protecting archive structure with directory verifiers
US8972967B2 (en) 2011-09-12 2015-03-03 Microsoft Corporation Application packages using block maps
US8914790B2 (en) * 2012-01-11 2014-12-16 Microsoft Corporation Contextual solicitation in a starter application
JP2012142022A (ja) * 2012-04-06 2012-07-26 Rovi Solutions Corp デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム
US9589130B2 (en) * 2013-08-20 2017-03-07 White Cloud Security, L.L.C. Application trust-listing security service
US9489524B2 (en) * 2014-05-23 2016-11-08 Blackberry Limited Intra-application permissions on an electronic device
US10642976B2 (en) * 2015-06-27 2020-05-05 Mcafee, Llc Malware detection using a digital certificate
US20170286082A1 (en) * 2016-03-31 2017-10-05 Microsoft Technology Licensing, Llc De-duplication during flashing of mobile devices
CN111339545B (zh) * 2020-03-20 2024-03-19 苏州链原信息科技有限公司 用于生成数据标签的方法、电子设备及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367012B1 (en) * 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
JP2004056793A (ja) * 2002-06-26 2004-02-19 Microsoft Corp コンテンツに対するアクセスを管理する方法及びシステム
JP2004265380A (ja) * 2002-09-04 2004-09-24 Microsoft Corp データストリームヘッダオブジェクトの保護
JP2004328548A (ja) * 2003-04-25 2004-11-18 Canon Inc 画像処理装置、画像処理方法、コンピュータプログラムおよびコンピュータ読み取り可能な記録媒体

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US5892904A (en) 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6108420A (en) 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US7809138B2 (en) * 1999-03-16 2010-10-05 Intertrust Technologies Corporation Methods and apparatus for persistent control and protection of content
JP4212717B2 (ja) 1999-04-30 2009-01-21 富士通株式会社 ファイル処理ユニットの処理方法
US7283965B1 (en) * 1999-06-30 2007-10-16 The Directv Group, Inc. Delivery and transmission of dolby digital AC-3 over television broadcast
JP3701148B2 (ja) 1999-07-28 2005-09-28 株式会社日立製作所 コンテンツの配信方法
US6748362B1 (en) 1999-09-03 2004-06-08 Thomas W. Meyer Process, system, and apparatus for embedding data in compressed audio, image video and other media files and the like
US6804779B1 (en) 2000-01-10 2004-10-12 Sun Microsystems, Inc. Hierarchical watermarking of content that is distributed via a network
ES2329008T3 (es) 2000-01-14 2009-11-20 Thinkstream, Inc. Red de informacion dsitribuida accessible de forma global.
US6785903B1 (en) 2000-04-05 2004-08-31 K Tech Telecommunications, Inc. Digital television translator with PSIP update
AU7593601A (en) 2000-07-14 2002-01-30 Atabok Inc Controlling and managing digital assets
CA2430166A1 (en) 2000-11-28 2002-06-06 Seachange International, Inc. Content/service handling and delivery
US7295755B2 (en) 2001-06-22 2007-11-13 Thomson Licensing Method and apparatus for simplifying the access of metadata
US8024766B2 (en) 2001-08-01 2011-09-20 Ericsson Television, Inc. System and method for distributing network-based personal video
US20030188160A1 (en) 2001-08-02 2003-10-02 Singam Sunder Method and system to securely update files via a network
US7370211B2 (en) 2001-09-21 2008-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Arrangement and method of execution of code
US20030088783A1 (en) * 2001-11-06 2003-05-08 Dipierro Massimo Systems, methods and devices for secure computing
US7484103B2 (en) * 2002-01-12 2009-01-27 Je-Hak Woo Method and system for the information protection of digital content
EP1462949A1 (en) 2003-03-22 2004-09-29 Cegumark AB A system and method relating to access of information
JP4454251B2 (ja) 2003-05-19 2010-04-21 日本放送協会 コンテンツ配信システム
JP2005071227A (ja) 2003-08-27 2005-03-17 Sony Corp メタデータ流通管理システム,メタデータ流通管理装置,個人別メタデータ管理装置,クライアント端末,メタデータ流通管理方法およびコンピュータプログラム
US7360097B2 (en) 2003-09-30 2008-04-15 Check Point Software Technologies, Inc. System providing methodology for securing interfaces of executable files
JP4357271B2 (ja) 2003-11-11 2009-11-04 シャープ株式会社 ブート用プログラム,情報処理装置
US20050188203A1 (en) * 2004-02-19 2005-08-25 Jp Mobile Operating L.P. Method for packaging information with digitally signed software without breaking signature
US20050246732A1 (en) 2004-05-02 2005-11-03 Mydtv, Inc. Personal video navigation system
US7412700B2 (en) * 2004-05-18 2008-08-12 Oracle International Corporation Product packaging and installation mechanism
US20060041580A1 (en) 2004-07-09 2006-02-23 Intransa, Inc. Method and system for managing distributed storage
US20060026662A1 (en) 2004-07-28 2006-02-02 Microsoft Corporation Broadcast metadata format independent of transmission standard
US7802110B2 (en) 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
US20060085824A1 (en) 2004-10-14 2006-04-20 Timo Bruck Method and appartus for management of video on demand client device
US8356295B2 (en) * 2005-02-17 2013-01-15 Symantec Corporation Post-signing modification of software
US8028322B2 (en) 2005-03-14 2011-09-27 Time Warner Cable Inc. Method and apparatus for network content download and recording
WO2009016427A1 (en) 2007-07-31 2009-02-05 Macrovision Corporation A computer-implemented method and system to enable out of band tracking for digital distribution
US8397072B2 (en) 2005-05-20 2013-03-12 Rovi Solutions Corporation Computer-implemented method and system for embedding ancillary information into the header of a digitally signed executable
JP2007013360A (ja) 2005-06-29 2007-01-18 Kyocera Mita Corp 画像形成装置
US20080159715A1 (en) 2007-01-03 2008-07-03 Microsoft Corporation Contextual linking and out-of-band delivery of related online content
CA2690095A1 (en) 2007-07-31 2009-02-05 Macrovision Corporation A computer-implemented method and system for embedding and authenticating ancillary information in digitally signed content
JP2012142022A (ja) 2012-04-06 2012-07-26 Rovi Solutions Corp デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367012B1 (en) * 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
JP2004056793A (ja) * 2002-06-26 2004-02-19 Microsoft Corp コンテンツに対するアクセスを管理する方法及びシステム
JP2004265380A (ja) * 2002-09-04 2004-09-24 Microsoft Corp データストリームヘッダオブジェクトの保護
JP2004328548A (ja) * 2003-04-25 2004-11-18 Canon Inc 画像処理装置、画像処理方法、コンピュータプログラムおよびコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
WO2007054137A1 (en) 2007-05-18
ATE437413T1 (de) 2009-08-15
EP1897024A1 (en) 2008-03-12
JP2008541637A (ja) 2008-11-20
EP1897024B1 (en) 2009-07-22
US20080133928A1 (en) 2008-06-05
DE602006008003D1 (de) 2009-09-03
US8397072B2 (en) 2013-03-12
US20060265591A1 (en) 2006-11-23
HK1109477A1 (en) 2008-06-06

Similar Documents

Publication Publication Date Title
JP4703723B2 (ja) デジタル的に署名された実行可能体のヘッダーに補助的情報を埋め込むためのコンピュータで実行される方法とシステム。
CN101369299B (zh) 管理数字内容使用权利的方法和装置
AU2006200154B2 (en) Flexible licensing architecture for licensing digital application
CN107729352A (zh) 页面资源加载方法及终端设备
US20110066844A1 (en) Method and system for digital rights management brokering and digital asset security transcoding
JP2007199858A (ja) ライセンス管理のためのプログラム、システム及び方法
US8892894B2 (en) Computer-implemented method and system for embedding and authenticating ancillary information in digitally signed content
JP6859503B2 (ja) 公開情報の処理方法及びデバイス並びに情報公開システム
US8930575B1 (en) Service for automatically converting content submissions to submission formats used by content marketplaces
JP4972208B2 (ja) デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム
JP2006195826A (ja) ソフトウェアプロテクト方法及びソフトウェアプロテクト機能を有する事務コンピュータ
KR101085365B1 (ko) 디지털적으로 서명된 콘텐츠에서 보조 정보를 임베딩 및 인증하기 위한 컴퓨터-구현된 방법 및 시스템
US20140304084A1 (en) Dynamic product bundling
US9081936B2 (en) System and method for tracking a downloaded digital media file
JP5473146B2 (ja) ソフトウェアプロテクト方法
JP2012142022A (ja) デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム
WO2000010071A1 (en) On-the-fly wrapping of software for electronic distribution
WO2023034527A1 (en) Generating and managing encrypted non-fungible tokenized assets
JP2004054846A (ja) ライセンス管理システムおよびライセンス管理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110308

R150 Certificate of patent or registration of utility model

Ref document number: 4703723

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

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