パイプライン・アーキテクチャ準拠マイクロコントローラのための機密保護対策方法事件

  • 日本判例研究レポート
  • 知財判決例-審取(査定係)
判決日 2011.04.26
事件番号 H22(行ケ)10210
発明の名称 パイプライン・アーキテクチャ準拠マイクロコントローラのための機密保護対策方法
キーワード 実施可能要件
事案の内容 拒絶審決に対する審決取消請求事件であり、原告(特許出願人)の請求が棄却された事案。
原告が補正で追加した事項が、パイプライン方式における自明の事項に鑑みて実施不能であると認定された点がポイント。

事案の内容詳細はこちら

【裁判所の判断】2.本件特許発明の要旨

本件発明は、複数の一連のプログラム命令を実行するマイクロコントローラの機密保護対策方法に関するものであり、チップ・カード用のマイクロコントローラなどの保護電子部品に適用される。

従来から、使用するマイクロコントローラの一連の命令の実行は、何時でも同一で決まった同じ方法で行われることから、マイクロコントローラの消費電流を単に読み取ることにより、パワー・アタックを行うことができ、これにより処理されている秘密データに関する情報を見ることができるという問題があった。

本件発明は、同じ一連の命令に対する消費電流の反復を除去することで、処理されている秘密データに関する情報を知られにくくする発明である。本件補正後の請求項1の記載は下記の通り。

【請求項1】

複数の一連の命令(INSn)をパイプライン方式で実行することができるマイクロコントローラの機密保護対策方法であって、

前記マイクロコントローラは、少なくとも1つの命令(INSn)内に、少なくとも1つの待ち時間(B)がランダムに挿入された前記一連の命令(INSn)を実行し、

前記待ち時間(B)の挿入は、前記マイクロコントローラの命令を解読するための電子モジュール(ハードウェア)により非ソフトウェア的な実行により直接行なわれることを特徴とする、機密保護対策方法。

 

3.審決の理由の要旨

本件審決の主たる理由は、下記通り(一部略)。

(1)請求項1の記載と本願明細書及び図面の記載によれば、本願発明は、パイプライン方式の処理における各ステージの間に、ランダムな待ち時間の挿入を「マイクロコントローラの命令を解読するための電子モジュール(ハードウェア)により直接実行される非ソフトウェア的な実行」により実現するというものである。しかし、本願発明の動作状態を示す【図5】をみると、待ち時間の挿入は解読ステージの前後だけではなく、実行ステージや書込みステージの前後にも行うものもある。してみると、このような解読ステージ以外のステージにおける待ち時間のランダムな挿入を「マイクロコントローラの命令を解読するための電子モジュール(ハードウェア)により」どのように実現するかについては本願明細書に何ら記載されていないし、本願明細書の記載から自明のものでもない。

(2)また、パイプライン方式では、本件出願の【図4】に示されるように、複数の命令の各ステージが重なり合わない(つまり、各ステージは同時に実行しない)ようにされているが、命令の各ステージにランダムに待ち時間を挿入すると、パイプラインの制御に乱れが生じることになる。本願発明の動作状態を示す【図5】をみると、命令2と命令3のフェッチ同士及び解読同士が重なっており、また、命令4と命令5のフェッチ同士及び書込み同士は重なっており、このような場合のパイプライン制御をどのように実行し、また、その実行手段をどのように実現するかについても本願明細書には記載されていない。

(3)したがって、本願明細書の発明の詳細な説明の記載からは、請求項1に記載される事項について、当業者が実施することができる程度に明確かつ十分に記載されておらず、平成14年法律第24号による改正前の特許法36条4項の要件を満たしていない。

 

 

1 本願発明について

本願明細書及び図面によれば、本願発明について次のとおり認められる。

本願発明は、複数の一連のプログラム命令をパイプライン方式で実行するマイクロコントローラの機密保護対策方法に関するもので(段落【0001】、【0013】)、パイプライン方式とは、複数の命令をそれぞれ、例えばフェッチ(F)、解読(D)、処理(E)、書込み(W)の4つのステージに分割し、複数の電子モジュールがこれを順送りに分担して処理することで処理時間の短縮を図るものであるが(段落【0021】~【0024】、【図4】)、処理中のデータとマイクロコントローラの消費電流とが相互に関連するため、同じ一連の命令を数回反復すると、消費電流を読み取ることでデータが解読される被害を受けるおそれがあることから(段落【0006】、【0008】)、従来技術では、異なるサブプログラムをランダムに呼び出して実行することで消費電流の反復を防止するなどしていたが、開発に時間がかかるなどの問題があった(段落【0010】、【0011】)。そこで、本願発明では、サブプログラム(ソフトウェア)を用いる方法ではなく、マイクロコントローラの命令を解読するための電子モジュール(ハードウェア)が、下記参考図Bのように、少なくとも1つの命令内に、少なくとも1つの待ち時間(B)をランダムに挿入することで、消費電流の反復を防止するというものである(【請求項1】、段落【0025】、【0026】、【図5】)。

 

2 取消事由1(実施可能要件に関する判断の当否1)について

このように、本願発明は、複数の一連の命令をパイプライン方式で実行するものであるところ、特許請求の範囲には、待ち時間(B)は、それが「マイクロコントローラの命令を解読するための電子モジュール(ハードウェア)」によって挿入されると記載されているから、解読ステージの処理を専門とする電子モジュールによって挿入されるか、原告の主張するマルチタスク処理を行う電子モジュールの場合であっても、解読ステージを処理する際に、待ち時間の挿入を行うものと解される。

また、特許請求の範囲の「少なくとも1つの命令(INSn)内に、少なくとも1つの待ち時間(B)がランダムに挿入され」との構成からすると、待ち時間(B)は、解読ステージの前後に限らず、フェッチステージの前に挿入される場合も含まれるものと解される。

ところで、本願発明が前提とするパイプライン方式では、クロック・サイクルをずらした複数の命令を同時に実行しており、個々の電子モジュールは、その電子モジュールに割り当てられたステージの処理をするものであって、そのステージがどの命令におけるものなのかは当該電子モジュールでは判別できないから、各電子モジュールは、ステージの流れを特定の命令におけるものとして把握することができないことは自明である。そして、請求項1の「前記待ち時間(B)の挿入は、前記マイクロコントローラの命令を解読するための電子モジュール(ハードウェア)により非ソフトウェア的な実行により直接行なわれる」との構成は、補正によって付加されたものであるが、上記認定の自明の事項にかんがみると、ここでいう「命令を解読するための電子モジュール」は、前段階のフェッチステージを処理すべき電子モジュールにその命令が流れてくることを事前に把握していないことになり、そのような解読ステージを処理すべき電子モジュールがフェッチステージの前と特定してそのステージに待ち時間を挿入するとの作用はそのままでは実施不能となる。

この実施不能な事項を実施可能とするような技術的手段については本願発明が構成とするところではないし、解読ステージ以外のステージにおける待ち時間のランダムな挿入を「マイクロコントローラの命令を解読するための電子モジュール(ハードウェア)により」どのように実現するかについての本願明細書の記載もない。

したがって、本願発明の電子モジュールがマルチタスク処理可能かどうかにかかわらず、本願発明について実施可能要件を充足しないものとした審決の判断に誤りはなく、取消事由1は理由がない。

 

3.結論

取消事由1で説示した理由から本願発明が実施可能要件違反とされる以上、実施可能要件の別の理由に係る取消事由2について判断するまでもなく、本願発明が特許法36条4項の要件を満たさないとした審決の結論に誤りはない。

 

【感想】

原告は、審決の理由(1)、(2)について、「本願発明の電子モジュールは、マルチタスク処理可能(すなわち、特定のステージのみを専門に処理するものではなく、全てのステージの処理が可能)であるから、解読ステージを処理する電子モジュールを前提とした理由(1)、および、同種のステージの処理が重なることについての実現手段がないとする理由(2)共に誤りである。」と主張した。

しかし、裁判所では、マルチタスク処理可能な電子モジュールを用いたとしても、本件は実施可能要件を満たさないと判断した。請求項1の問題となった記載は、原告が自ら補正によって追加したものであり、確かに、実現方法に関する記載は明細書中に見当たらなかったため、裁判所の判断は妥当であると感じた。