【手続補正書】
【提出日】平成20年4月14日(2008.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のオブジェクトコードブロックを受け取ることと、
前記第１のオブジェクトコードブロックを第２のオブジェクトコードブロックに翻訳することと、
前記第２のオブジェクトコードブロックを実行することと、を備え、
前記翻訳は、前記第１のオブジェクトコードブロック又は前記第２のオブジェクトコードブロックに抗タンパー技術を適用することを含む、
ことを特徴とする方法。
【請求項２】
前記抗タンパー技術は、マシン属性又はユーザ属性に基づく識別名を決定することと、前記第１のオブジェクトコードブロック又は前記第２のオブジェクトコードブロックに追加のコードを挿入することとを含み、前記識別名がない場合は前記第２のオブジェクトコードブロックを実行しない、ことを特徴とする請求項１記載の方法。
【請求項３】
前記抗タンパー技術は、補助結果を生成するオブジェクトコードを前記第１のオブジェクトコードブロック又は前記第２のオブジェクトコードブロックに追加することを含み、前記補助結果がない場合は前記第２のオブジェクトコードブロックを実行しない、ことを特徴とする請求項１記載の方法。
【請求項４】
前記第１のオブジェクトコードブロックは、第１のマシン上での実行に適したフォーマットのバイトコードを含むことを特徴とする請求項１記載の方法。
【請求項５】
前記第１のマシンは仮想のマシンであることを特徴とする請求項４記載の方法。
【請求項６】
前記第２のオブジェクトコードブロックは第２のマシン上での実行に適したフォーマットであることを特徴とする請求項４記載の方法。
【請求項７】
前記抗タンパー技術は、前記第１のオブジェクトコードブロック又は前記第２のオブジェクトコードブロックを不明瞭化することを含むことを特徴とする請求項１記載の方法。
【請求項８】
前記第２のマシンは仮想のマシンであることを特徴とする請求項１記載の方法。
【請求項９】
前記翻訳は、前記第２のオブジェクトコードブロックに基づくチェックサム又はディジタル署名を決定することを含み、該チェックサム又はディジタル署名は前記第２のオブジェクトコードの実行前又は実行中に確認されることを特徴とする請求項１記載の方法。
【請求項１０】
１つ以上のマシン属性又はユーザ属性に基づく識別名を決定することと、
ランタイムに、第１のオブジェクトコードブロックを第２のオブジェクトコードブロックに翻訳することと、
前記第２のオブジェクトコードブロックを後から実行するために格納することと、を備え、
前記翻訳は、前記第２のオブジェクトコードブロックを不明瞭化することを含み、該不明瞭化は前記識別名に基づく、
ことを特徴とする方法。
【請求項１１】
前記識別名が異なる場合には前記第２のオブジェクトブロックを後から実行しないことにより、前記抗タンパー技術が適用されることを特徴とする請求項１０記載の方法。
【請求項１２】
前記マシン属性はハードウェアのアドレス又はリードオンリメモリのシリアル番号を含むことを特徴とする請求項１１記載の方法。
【請求項１３】
前記ユーザ属性は、ユーザ識別名、ユーザパスワード、ユーザアカウント名、及びユーザアカウント番号からなる集合の中から選択されることを特徴とする請求項１１記載の方法。
【請求項１４】
前記不明瞭化は、前記第１のオブジェクトコードブロック又は前記第２のオブジェクトコードブロックに追加のコードを挿入することを含むことを特徴とする請求項１０記載の方法。
【請求項１５】
前記抗タンパー技術は、補助結果を生成するオブジェクトコードを前記第１のオブジェクトコードブロック又は前記第２のオブジェクトコードブロックに追加することを含み、前記補助結果がない場合は前記第２のオブジェクトコードブロックを実行しない、ことを特徴とする請求項１０記載の方法。
【請求項１６】
前記マシン属性はクロックに基づくことを特徴とする請求項１０記載の方法。
【請求項１７】
前記マシン属性はハードウェアのアドレス又はリードオンリメモリのシリアル番号を含むことを特徴とする請求項１０記載の方法。
【請求項１８】
前記ユーザ属性は、ユーザ識別名、ユーザパスワード、ユーザアカウント名、及びユーザアカウント番号からなる集合の中から選択されることを特徴とする請求項１０記載の方法。
【請求項１９】
前記第１のマシンは仮想のマシンであることを特徴とする請求項１０記載の方法。
【請求項２０】
第１のオペレーティングシステムからのサービスを要求するようにフォーマット化されたシステムコールであって、第２のオブジェクトコードブロックのランタイムの翻訳である第１のオブジェクトコードブロックに含まれるシステムコールを受け取ることと、
前記サービスを提供するのに第２のオペレーティングシステムのどのシステムコールサービスが必要とされるのかを決定することと、
前記システムコールをサービスするためのシステムコールサービスが不能であるかどうかを抗タンパーポリシーに基づき決定することと、
前記システムコールをサービスするためのシステムコールサービスが不能でない場合、前記システムコールをサービスすることと、
を含むことを特徴とする方法。
【請求項２１】
前記抗タンパーポリシーは、システムリソースにアクセスするシステムコールサービスを不能にすることを特徴とする請求項２０記載の方法。
【請求項２２】
前記第１のオペレーティングシステムは、Mac OS X、Linux、及びMicrosoft Windows（登録商標）からなる集合の中から選択されることを特徴とする請求項２０記載の方法。
【請求項２３】
前記第２のオペレーティングシステムは、Mac OS X、Linux、及びMicrosoft Windows（登録商標） からなる集合の中から選択されることを特徴とする請求項２０記載の方法。
【請求項２４】
第１のオブジェクトコードプログラムをインストールすることと、
マシンによる実行のために第２のオブジェクトコードプログラムを格納することと、を備え、
前記インストールは、前記第１のオブジェクトコードプログラムを、前記マシン上で実行可能な前記第２のオブジェクトコードプログラムに静的に翻訳することを含み、
該静的な翻訳は、
前記マシンの状態又はユーザ属性に基づき識別名を決定することと、
前記第１のオブジェクトコードプログラム又は前記第２のオブジェクトコードプログラムを前記識別名に基づき不明瞭化することと、
を含むことを特徴とする方法。
【請求項２５】
前記不明瞭化は、前記第１のオブジェクトコードプログラム又は前記第２のオブジェクトコードプログラムに追加のコードを挿入することを含むことを特徴とする請求項２４記載の方法。
【請求項２６】
前記挿入された追加のコードは補助結果を生成することを特徴とする請求項２５記載の方法。
【請求項２７】
前記第１のオブジェクトコードプログラムは前記マシン上で実行可能でないことを特徴とする請求項２４記載の方法。
【請求項２８】
前記静的な翻訳はネットワークサーバ上で行われ、前記第２のオブジェクトコードプログラムはネットワークのクライアント上に格納されることを特徴とする請求項２４記載の方法。
【請求項２９】
前記マシンは、Microsoft Windows（登録商標）、Linux、及び Mac OS X からなる集合の中から選択されたオペレーティングシステムを含むことを特徴とする請求項２４記載の方法。
【請求項３０】
前記第１のオブジェクトコードプログラム又は前記第２のオブジェクトコードプログラムはネットワーク接続を介して受け取られることを特徴とする請求項２４記載の方法。