• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない。 G06F
管理番号 1309556
審判番号 不服2014-26659  
総通号数 194 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2016-02-26 
種別 拒絶査定不服の審決 
審判請求日 2014-12-26 
確定日 2016-01-04 
事件の表示 特願2011-288086「プログラム保護装置,プログラム保護方法,及びプログラム」拒絶査定不服審判事件〔平成25年 7月11日出願公開,特開2013-137646〕について,次のとおり審決する。 
結論 本件審判の請求は,成り立たない。 
理由 1.手続の経緯

本件審判請求に係る出願(以下,「本願」という。)は,平成23年12月28日を出願日とする出願であって,平成25年4月2日付けで審査請求がなされ,平成26年2月3日付けで拒絶理由通知(同年2月5日発送)がなされ,同年4月3日付けで意見書が提出されると共に手続補正書が提出され,同年9月30日付けで拒絶査定(同年10月7日謄本送達)がなされ,これに対して,同年12月26日付けで審判請求がなされたものである。

2.本願発明

本願の請求項1に記載された発明(以下,「本願発明」という。)は,上記平成26年4月3日付け手続補正書により補正された特許請求の範囲の記載からみて,その特許請求の範囲の請求項1に記載された以下のとおりのものと認める。

「乱数データ又は予め設定されたデータを用いて暗号化用の共通鍵を作成し,作成した前記共通鍵を用いて,保護対象となるプログラム中の暗号化対象となる特定のモジュールを暗号化する,暗号化部と,
暗号化された前記特定のモジュールの復号化及び復号化された前記特定のモジュールの実行を行なう復号化処理モジュールを生成する,復号化処理モジュール生成部と,
前記保護対象となるプログラムにおいて,前記特定のモジュールが呼び出されると,代わりに,前記復号化処理モジュールが呼び出されるように,前記復号化処理モジュールのコードを書き換える,コード書換部と,
を備え,
前記復号化処理モジュール生成部は,前記復号化処理モジュールが,前記共通鍵を作成し,これを用いて,暗号化された前記特定のモジュールを復号化できるように,前記復号化処理モジュールに,前記共通鍵の作成に用いられた乱数データ又は予め設定されたデータを組み込ませる,
ことを特徴とするプログラム保護装置。」

3.引用文献

(1)引用文献1に記載されている技術的事項および引用発明1

本願出願前に頒布され,原審の拒絶査定の理由である上記平成26年2月3日付けの拒絶理由通知において引用された,特開2002-132364号公報(平成14年5月10日出願公開,以下,「引用文献1」という。)には,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

A 「【0017】従って,本発明は,上述の如き従来の問題点を解決するためになされたもので,その目的は,プログラムを内部解析から保護する方法,コンピュータ読み取り可能な記録媒体及び内部解析の困難なプログラムの配布方法を提供することである。」

B 「【0039】以下,図面を用いて本発明の実施例をより具体的に説明する。図1は,本発明の一実施例に係わるソフトウェア解析保護方法を説明するブロック図である。尚,予め仮想機械及びその仮想機械上で実行可能なファイルを作成する為のパーサ,プリプロセッサ,コンパイラ(仮想コンパイラ),仮想リンクエディタといった処理系は実装されているものとする。」

C 「【0041】又,ここでのソースコード1は,全体のプログラムを構成する要素(関数,ルーチンなど)の中で,特に秘匿性の要求の高い部分,或いは全体のプログラムを解析の上で要の部分のみをいう。具体的には,パスワード認証ルーチンなどがある。もちろん,プログラムの規模や,将来の可能性としては,ソースコード全体を扱うことも可能である。又,プログラムを構成する残りの要素に関しては,後に説明するステップS4で扱われるが,従来の開発手法によってコンパイルしておく。この部分は,基本的に機種非依存である。
【0042】そして,ステップS1では,このソースコードを仮想コンパイラによってコンパイルして,仮想機械の仮想オブジェクトコード,即ち仮想機械の仮想オペレーションコードからなる実行コード3を得る。この明細書では,これを仮想オブジェクトコードと呼ぶ。これに対して,実際のコンピュータのオペレーションコードからなるオブジェクトコードを,この明細書では,実オブジェクトコードと呼ぶ。ステップS1も,基本的に機種非依存である。
【0043】次に,ステップS2では,この仮想オブジェクトコード3をエンクリプタで暗号化して,暗号化仮想オブジェクトコード5を得る。このエンクリプタは,一般的な暗号アルゴリズムによって実装されたものでよい。例えばDESやFEALといった秘密鍵暗号方式や,素因数分解やだ円曲線等を利用した公開鍵暗号法,或いは両者を組み合わせて利用してもよい。この部分も,基本的に機種非依存である。」

D 「【0044】尚,コンパイラとエンクリプタを統合して,ステップS1とステップS2を同時に行うことも可能である。しかし,コンパイラとエンクリプタを分離することで,暗号化手法のバージョンアップが容易となる。」

E 「【0046】次に,ステップS3では,この暗号化仮想オブジェクトコード5を,仮想機械ライブラリ(VMライブラリ)及び復号ルーチン・ライブラリ7とリンクして,暗号化仮想オブジェクトコードを含んだ実オブジェクトコード9を得る。ここで,復号ルーチン・ライブラリは,前述のエンクリプタと対を成すもので,エンクリプタで暗号化したものを復号するためのユーティリティ・ライブラリである。又,ここでの実オブジェクトコード9とは,暗号化仮想オブジェクトコード5を含み,ネイティブな環境で実行でき,それによって仮想機械を構築すると共に復号し,その仮想機械上で暗号化仮想オブジェクトコード5を実行するものである。この部分は,一般に機種依存である。
【0047】次に,ステップS4では,プログラムを構成する残りの要素に関する実オブジェクトコード及びその他の必要なライブラリ11とリンクして,目的のプログラム13を得る。ここで,プログラム13は,一般的なアプリケーションでもよいが,それ以外にも,リンクされて実行可能であれば,直接実行できないライブラリやその他のプログラム部品でもよい。この部分は,一般に機種依存であり,既存の開発ツールをそのまま利用できる。」

F 「【0050】そのメモリモデルを図3に示す。先ず,暗号化仮想オブジェクトコードを実行するには,そのエントリポイントを引数として,復号ルーチン・ライブラリを呼び出す(11)。復号ルーチンは,エントリポイント以降の暗号化仮想オブジェクトコードを復号して,メモリの空いている領域に展開する(13)。展開を終えると,今度は,復号された仮想オブジェクトコードのエントリポイントを引数として仮想機械を呼び出す(15)。仮想機械は,仮想オブジェクトコードを実行してから(17),制御を戻す(19)。ここでは,仮想オブジェクトコードは,常に暗号化されているので,復号ルーチンを仮想機械の一部と考えることができる。」

ここで,上記引用文献1に記載されている事項を検討する。

(ア)上記Cの「ここでのソースコード1は,全体のプログラムを構成する要素(関数,ルーチンなど)の中で,特に秘匿性の要求の高い部分,或いは全体のプログラムを解析の上で要の部分のみをいう。」,「このソースコードを仮想コンパイラによってコンパイルして,仮想機械の仮想オブジェクトコード,即ち仮想機械の仮想オペレーションコードからなる実行コード3を得る。」,「この仮想オブジェクトコード3をエンクリプタで暗号化して,暗号化仮想オブジェクトコード5を得る。」,「このエンクリプタは・・・(中略)・・・例えばDESやFEALといった秘密鍵暗号方式・・・(中略)・・・を組み合わせて利用してもよい。」との記載からすると,
「エンクリプタ」は,秘密鍵暗号方式を用いて,すなわち,秘密鍵を用いて暗号化するものと解されることから,
引用文献1には,
「秘密鍵を用いて,全体のプログラムの中で秘匿性の要求の高い部分を暗号化して暗号化仮想オブジェクトコードを得る,エンクリプタ」が記載されていると解される。

(イ)上記Bの「実行可能なファイルを作成する為の・・・(中略)・・・仮想リンクエディタといった処理系」との記載,上記Eの「次に,ステップS3では,この暗号化仮想オブジェクトコード5を,仮想機械ライブラリ(VMライブラリ)及び復号ルーチン・ライブラリ7とリンクして,暗号化仮想オブジェクトコードを含んだ実オブジェクトコード9を得る。ここで,復号ルーチン・ライブラリは,前述のエンクリプタと対を成すもので,エンクリプタで暗号化したものを復号するためのユーティリティ・ライブラリである。」,「次に,ステップS4では,プログラムを構成する残りの要素に関する実オブジェクトコード及びその他の必要なライブラリ11とリンクして,目的のプログラム13を得る。」との記載,上記Fの「暗号化仮想オブジェクトコードを実行するには,そのエントリポイントを引数として,復号ルーチン・ライブラリを呼び出す(11)。復号ルーチンは,エントリポイント以降の暗号化仮想オブジェクトコードを復号して,メモリの空いている領域に展開する(13)。展開を終えると,今度は,復号された仮想オブジェクトコードのエントリポイントを引数として仮想機械を呼び出す(15)。」との記載からすると,
復号ルーチンは,暗号化仮想オブジェクトコードを復号する機能と,復号された仮想オブジェクトコードを実行する機能を備えており,
「仮想リンクエディタ」がリンク処理を行うことは技術常識であるから,
引用文献1には,
「前記暗号化仮想オブジェクトコードを実行する際に呼び出される,エンクリプタで暗号化したものを復号して実行するため復号ルーチンとリンクして目的のプログラムを得る仮想リンクエディタ」が記載されていると解される。

(ウ)上記Bの「図1は,本発明の一実施例に係わるソフトウェア解析保護方法を説明するブロック図である。尚,予め仮想機械及びその仮想機械上で実行可能なファイルを作成する為のパーサ,プリプロセッサ,コンパイラ(仮想コンパイラ),仮想リンクエディタといった処理系は実装されているものとする。」との記載,上記Dの「コンパイラとエンクリプタを統合して,ステップS1とステップS2を同時に行うことも可能である。」との記載からすると,
引用文献1には,
上記(ア),(イ)で検討した「エンクリプタ」や「仮想リンクエディタ」を備えた「ソフトウェア解析保護方法の処理系」が記載されていると解される。

以上,(ア)乃至(ウ)で検討した事項を踏まえると,引用文献1には,次の発明(以下,「引用発明1」という。)が記載されているものと認める。

「秘密鍵を用いて,全体のプログラムの中で秘匿性の要求の高い部分を暗号化して暗号化仮想オブジェクトコードを得る,エンクリプタと,
前記暗号化仮想オブジェクトコードを実行する際に呼び出される,前記エンクリプタで暗号化したものを復号して実行するため復号ルーチンとリンクして目的のプログラムを得る仮想リンクエディタと,
を備えたソフトウェア解析保護方法の処理系。」

(2)引用文献2に記載されている技術的事項および引用発明2

本願出願前に頒布され,原審の拒絶査定の理由である上記平成26年2月3日付けの拒絶理由通知において引用された,特開2007-148575号公報(平成19年6月14日出願公開,以下,「引用文献2」という。)には,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

G 「【0001】
本発明は,プログラム内部に含まれる保護対象の内容が読み出されないようにプログラムに部分的に保護(例えば暗号化)を加えるための技術に関する。」

H 「【0010】
図3は,保護対象のコード部分を暗号化した暗号化プログラムを作成するための暗号化実行プログラム作成システムの一実施例を示す図である。このシステムは,コンパイラ302,対象関数指定部306,第1変換部308,リンカ310,第2変換部312を備える。これら各モジュール302,306,308,310,312は,典型的には,CPU,メモリ,固定記憶装置,表示装置,及びキーボードやマウスなどの入力装置を備えた汎用のコンピュータに対し,以下で説明する各モジュールの機能又は処理内容を記述したプログラムを実行させることにより実現される。」

I 「【0012】
・・・(中略)・・・保護対象の関数(以下「対象関数」と呼ぶ)」

J 「【0014】
第1変換部308は,コンパイラ302が生成したオブジェクトコード304に対し,対象関数指定部306が生成する対象関数のリストを用いて変換を行う。この変換を「変換1」と呼ぶことにする。変換1では,オブジェクトコード304の中で,対象関数名(或いは当該関数を示すシンボル名)を別の名称に変更する。またこの変換1では,対象関数を適切に暗号化できるようにするため,及び暗号化されたその関数を実行時に適切に復号して実行できるようにするために,挿入関数を作成する。これら関数名の変更と挿入関数の作成については,後で詳しく説明する。」

K 「【0021】
また「変換1」では,挿入関数434が作成される。第1変換部308は,この挿入関数434に対し,対象関数の元の関数名と同じ関数名funcAを与える。これにより,オブジェクトコード430中にある対象関数funcAを呼び出す命令は,対象関数ではなく挿入関数434を呼び出すことになる。」

ここで,上記引用文献2に記載されている事項を検討する。

(ア)上記Iの「保護対象の関数(以下「対象関数」と呼ぶ)」との記載,
上記Jの「第1変換部308は,コンパイラ302が生成したオブジェクトコード304に対し,対象関数指定部306が生成する対象関数のリストを用いて変換を行う。この変換を「変換1」と呼ぶことにする。」,「またこの変換1では,対象関数を適切に暗号化できるようにするため,及び暗号化されたその関数を実行時に適切に復号して実行できるようにするために,挿入関数を作成する。」との記載,上記Kの「また「変換1」では,挿入関数434が作成される。第1変換部308は,この挿入関数434に対し,対象関数の元の関数名と同じ関数名funcAを与える。これにより,オブジェクトコード430中にある対象関数funcAを呼び出す命令は,対象関数ではなく挿入関数434を呼び出すことになる。」との記載からすると,
引用文献2には,
「暗号化された保護対象の対象関数を,実行時に復号して実行できるようにするための挿入関数を作成し,挿入関数の関数名を対象関数と同じ関数名とする第1変換部」が記載されていると解される。

(イ)上記Hの「図3は,保護対象のコード部分を暗号化した暗号化プログラムを作成するための暗号化実行プログラム作成システムの一実施例を示す図である。このシステムは,コンパイラ302,対象関数指定部306,第1変換部308,リンカ310,第2変換部312を備える。」との記載からすると,
引用文献2には,
上記(ア)で検討した第1変換部を備えた
「保護対象のコード部分を暗号化した暗号化プログラムを作成する暗号化実行プログラム作成システム」が記載されていると解される。

以上,(ア)乃至(イ)で検討した事項を踏まえると,引用文献2には,次の発明(以下,「引用発明2」という。)が記載されているものと認める。

「暗号化された保護対象の対象関数を,実行時に復号して実行できるようにするための挿入関数を作成し,挿入関数の関数名を対象関数と同じ関数名とする第1変換部を備えた,
保護対象のコード部分を暗号化した暗号化プログラムを作成する暗号化実行プログラム作成システム。」

4.参考文献

(1)本願出願前に頒布された,特開2003-304237号公報(平成15年10月24日出願公開,以下,「参考文献1」という。)には,関連する図面とともに,以下の技術的事項が記載されている。(当審注:下線は,参考のために当審で付与したものである。)

L 「【解決手段】ステップ308でデータαを生成し,ステップ310で暗号/復号プログラム217にαを埋め込む。αは,任意の値であり,例えば128バイトの乱数であるが,サーバ202の管理者だけが知り得る値である。αを埋め込まれた暗号/復号プログラムは,端末201でデータの暗号化をする際に,パスワードをαと合成し,新たな鍵(共通鍵)を生成する。この共通鍵による暗号文は,αの値を知らない限り復号できない。αは,端末201において暗号化の際に入力される短い鍵(通常4文字程度)を,十分な長さの鍵に変換するためのデータである。」(要約)

M 「【0058】データ守秘サービス提供サーバ202側では,ステップ306で,ダウンロード要請元の利用者認証確認を行い,OKであればステップ307以降のステップに進む。利用者認証確認は,利用者確認プログラム211により,利用者のパスワード及びJavaプログラム実行可能携帯電話端末201の製造番号につき行われる。利用者のパスワード及びJavaプログラム実行可能携帯電話端末201の製造番号は,利用者管理データ格納装置213へ予め記憶されている。ステップ307で動的プログラムの作成を開始し,ステップ308で,任意に決定したデータα(前述のシステム内固有ID)を生成し,ステップ309でαを利用者管理データ格納装置213に保存するとともに,ステップ310で暗号/復号プログラム217にαを埋め込み,動的プログラムの作成を完了する(ステップ313)。」

(2)本願出願前に頒布された特許第4796658号公報(平成23年10月19日発行,以下,「参考文献2」という。)には,関連する図面とともに,以下の技術的事項が記載されている。(当審注:下線は,参考のために当審で付与したものである。)

N 「【0029】
内内キーは,暗号化プログラムおよび暗号解読プログラム内(ROM3内)に定数として設定されているキーである。なお,内内キーの代わりに内内キーの土台が暗号化プログラム内に設定されており,暗号化処理および暗号解読処理の際に外キーと内内キーの土台とに基づいて内内キーが演算されてもよい。」

5.対比

本願発明と引用発明1とを対比する。

(1)引用発明1の「エンクリプタ」は,プログラム中の一部を暗号化するものであるから,本願発明の「暗号化部」に対応するといえる。
引用発明1の「秘密鍵」は,上記Cの「例えばDESやFEALといった秘密鍵暗号方式」との記載からすると,公開鍵暗号法と異なり暗号化鍵と復号化鍵が共通である方式の鍵であるから本願発明の「共通鍵」に相当する。
引用発明1の「全体のプログラム」,「秘匿性の要求の高い部分」は,プログラム及び暗号化対象となるその一部であるから,それぞれ本願発明の「保護対象となるプログラム」,「特定のモジュール」に相当する。

そうすると,引用発明1の「エンクリプタ」と,本願発明の「暗号化部」とは,
“共通鍵を用いて,保護対象となるプログラム中の暗号化対象となる特定のモジュールを暗号化する,暗号化部”
である点で共通しているといえる。


(2)引用発明1の「復号ルーチン」は,プログラムの暗号化された一部を復号して実行するソフトウェアであるから,本願発明の「復号化処理モジュール」に相当することは明らかである。
また,引用文献1の上記Eの「この暗号化仮想オブジェクトコード5を,仮想機械ライブラリ(VMライブラリ)及び復号ルーチン・ライブラリ7とリンクして,暗号化仮想オブジェクトコードを含んだ実オブジェクトコード9を得る。」との記載からすると,
引用発明1の「仮想リンクエディタ」は,復号ルーチン・ライブラリのコピーを生成して実行可能な形式にリンクするものといえるから,本願発明の「復号化処理モジュール生成部」に対応するといえる。

したがって,引用発明1の「仮想リンクエディタ」と本願発明の「復号化処理モジュール生成部」とは,後記する点で相違するものの,
“暗号化された特定のモジュールの復号化及び復号化された前記特定のモジュールの実行を行なう復号化処理モジュールを生成する,復号化処理モジュール生成部”である点で共通しているといえる。

(3)引用発明1の「ソフトウェア解析保護方法の処理系」は,全体のプログラムの一部を保護するものであるから,本願発明の「プログラム保護装置」とは,
“プログラム保護装置”である点で共通しているといえる。

以上から,本願発明と引用発明1とは,以下の点で一致し,また,以下の点で相違する。

(一致点)

「共通鍵を用いて,保護対象となるプログラム中の暗号化対象となる特定のモジュールを暗号化する,暗号化部と,
暗号化された特定のモジュールの復号化及び復号化された前記特定のモジュールの実行を行なう復号化処理モジュールを生成する,復号化処理モジュール生成部と,
を備えたプログラム保護装置。」

(相違点1)
本願発明では,特定のモジュールが呼び出されると,代わりに,復号化処理モジュールが呼び出されるように,「復号化処理モジュール」のコードを書き換えるコード書換部を備えるのに対して,
引用発明1では,呼び出し元や本来の呼び出し先の「特定のモジュール」のコードを書き換えずに,呼び出し先の「復号化処理モジュール」のコードを書き換える点について特定されていない点。

(相違点2)
暗号化部,及び,復号化処理モジュールに関し,
本願発明では,乱数データ又は予め設定されたデータを用いて暗号化用の共通鍵を作成するのに対して,
引用発明1では,共通鍵の生成処理について特定されていない点。

(相違点3)
復号化処理モジュール生成部に関し,
本願発明では,復号化処理モジュールに,乱数データ又は予め設定されたデータを組み込ませるのに対して,
引用発明1では,そのような点は特定されていない点。

6.当審の判断

上記相違点について検討する。

(1)相違点1について

ここで,引用発明1の技術的課題について検討すると,引用文献1の上記Aの記載から,プログラムを内部解析から保護することを目的とする旨が記載されていると解される。

そして,上記のような引用発明1の技術的課題に関連した引用文献として,引用文献2が本願出願前に公知であり,上記の引用発明2が記載されているものと認められる。
引用発明2は,引用文献2の上記Gの記載からすると,プログラム内部に含まれる保護対象の内容が読み出されないようにプログラムに部分的に保護(例えば暗号化)を加えるための技術である。
そうすると,引用発明1,引用発明2は共に,プログラムの内部を保護することを課題とした技術の異なる態様であるといえる。

引用発明1の「復号ルーチン」は,コードを書き換えている点について明記されていないものの,引用文献1の上記Fの「暗号化仮想オブジェクトコードを実行するには,そのエントリポイントを引数として,復号ルーチン・ライブラリを呼び出す(11)。」との記載からすると,引用発明1でも,暗号化仮想オブジェクトコードの実行時に,暗号化仮想オブジェクトコードではなく復号ルーチンが呼び出されるように制御しているものといえる。

一方,引用発明2の「第1変換部」は,暗号化された保護対象の対象関数を,実行時に復号して実行できるようにするための挿入関数を作成し,挿入関数の関数名を対象関数と同じ関数名とすることで,対象関数を呼び出す命令が,対象関数ではなく挿入関数を呼び出すようにしている。
引用発明2の「対象関数」,「挿入関数」は,それぞれ本願発明の「特定のモジュール」,「復号化処理モジュール」に相当することは明らかである。

してみると,引用発明1において,共通の課題を有する引用発明2を適用して,復号ルーチンについて,「秘匿性の要求の高い部分」が呼び出されると,代わりに,「復号ルーチン」が呼び出されるように関数名を書き換えること,すなわち,相違点1に係る構成とすることは,当業者であれば適宜なし得たものである。

(2)相違点2について

引用発明1は,「エンクリプタ」及び「復号ルーチン」を備えるところ,
「エンクリプタ」は,共通鍵を用いる「暗号化手段」の一態様であり,
「復号ルーチン」は,共通鍵を用いる「復号化手段」の一態様である。

ここで,暗号化手段や復号化手段が,乱数データ又は予め設定されたデータから共通の鍵を作成する機能を備えることは,例えば上記参考文献1,2に記載されるように,本願の出願前には暗号処理の技術分野において普通に採用されていた周知技術であった。

そうすると,引用発明1において,上記周知技術を適用して,「エンクリプタ」及び「復号ルーチン」が,乱数データ又は予め設定されたデータから共通鍵を作成するようにすること,すなわち,相違点2に係る構成とすることは,当業者が容易に想到し得たことである。

(3)相違点3について

引用発明1は,「復号ルーチン」を備えるところ,「復号ルーチン」は,共通鍵を用いる「復号化手段」の一態様である。

また,復号化手段の内部に,鍵を作成するための情報を埋め込むことは,例えば上記参考文献1,2に記載されるように,本願の出願前には暗号処理の技術分野において普通に採用されていた周知技術であった。

そうすると,引用発明1において,上記周知技術を適用して,「復号ルーチン」に,復号鍵を生成するためのデータを組み込ませること,すなわち,相違点3に係る構成とすることは,当業者が容易に想到し得たことである。

(4)小括

上記で検討したごとく,相違点1乃至相違点3は格別のものではなく,そして,これらの相違点を総合的に勘案しても,本願発明の奏する作用効果は,上記引用発明1,引用発明2及び参考文献1,2に記載の周知技術の奏する作用効果から予測される範囲内のものにすぎず,格別顕著なものということはできない。

7.むすび

以上のとおり,本願の請求項1に係る発明は,特許法第29条第2項の規定により特許を受けることができないものであるから,その余の請求項に係る発明について検討するまでもなく,本願は拒絶すべきものである。

よって,結論のとおり審決する。
 
審理終結日 2015-10-22 
結審通知日 2015-10-27 
審決日 2015-11-12 
出願番号 特願2011-288086(P2011-288086)
審決分類 P 1 8・ 121- Z (G06F)
最終処分 不成立  
前審関与審査官 平井 誠  
特許庁審判長 辻本 泰隆
特許庁審判官 戸島 弘詩
須田 勝巳
発明の名称 プログラム保護装置、プログラム保護方法、及びプログラム  
代理人 特許業務法人ブライタス  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ