• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない(前置又は当審拒絶理由) H04L
審判 査定不服 特36条4項詳細な説明の記載不備 特許、登録しない(前置又は当審拒絶理由) H04L
審判 査定不服 特36条6項1、2号及び3号 請求の範囲の記載不備 特許、登録しない(前置又は当審拒絶理由) H04L
管理番号 1340570
審判番号 不服2014-26792  
総通号数 223 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2018-07-27 
種別 拒絶査定不服の審決 
審判請求日 2014-12-26 
確定日 2018-05-30 
事件の表示 特願2011-546771「その暗号変換により特に情報漏洩観測攻撃から保護される暗号回路」拒絶査定不服審判事件〔平成22年 7月29日国際公開、WO2010/084107、平成24年 7月12日国内公表,特表2012-516094〕について,次のとおり審決する。 
結論 本件審判の請求は,成り立たない。 
理由 第1 手続の経緯
本願は,平成22年1月18日(パリ条約による優先権主張外国庁受理2009年1月20日(以下,「優先日」という。),仏国)を国際出願日とする出願であって,その後の手続の経緯の概略は次のとおりである。

国内書面(提出日) 平成23年7月20日
出願審査請求(提出日) 平成25年1月15日
拒絶理由通知(起案日) 平成26年1月15日
意見,手続補正(提出日) 平成26年5月2日
拒絶査定(起案日) 平成26年9月4日
拒絶査定謄本送達 平成26年9月9日
審判請求(提出日) 平成26年12月26日
拒絶理由通知(起案日) 平成27年9月17日
意見,手続補正(提出日) 平成28年3月25日

第2 本願の請求項に係る発明
本願の特許請求の範囲の請求項に係る発明は,平成28年3月25日付の手続補正(以下,「本件補正」という。)により補正された特許請求の範囲の請求項1ないし5に記載された次の事項により特定されるものである。
「【請求項1】
暗号化アルゴリズムを実行するための関数鍵k_(c)を含む暗号回路(21)であって,前記回路は,前記回路に専用の第2の鍵k_(i)であって,前記回路のサイドチャネルを利用した攻撃から回路を保護することを可能とする第2の鍵k_(i)を含むことを特徴とする回路であって,
前記関数鍵k_(c)はXOR演算によって前記2つの鍵を組み合わせることにより前記第2の鍵k_(i)によってマスクされ,入力変数xはマスク鍵
【数1】


によって暗号化され,
前記暗号回路は,FPGAタイプのプログラマブル回路において実現され,
前記暗号回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイル(25)を暗号化するための第3の鍵k_(b)を含み,
前記第2の鍵k_(i)はPUF(Physically Unclonable Function)により生成されることを特徴とする回路。
【請求項2】
前記第2の鍵k_(i)によって導入されるマスキングはHO‐DPA攻撃から保護されることを特徴とする,請求項1に記載の回路。
【請求項3】
前記第2の鍵k_(i)の基数は前記関数鍵k_(c)の基数に等しいことを特徴とする,請求項1または2に記載の回路。
【請求項4】
前記第3の鍵k_(b)の基数は前記関数鍵k_(c)の前記基数よりも大きいかまたは等しいことを特徴とする,請求項1に記載の回路。
【請求項5】
前記暗号化アルゴリズムはDESアルゴリズムであることを特徴とする,請求項1?4のいずれか1項に記載の回路。」

第3 拒絶の理由および意見
1.平成27年9月17日付け当審拒絶理由通知の概略は次のとおりである。
『理由1:
この出願は,特許請求の範囲の記載が下記の点で,特許法第36条第6項第2号に規定する要件を満たしていない。



(1)一般に,データの暗号化と復号化とが対となって,データを暗号化する目的が実現されるところ,請求項1-15に係る発明には,暗号化についての記載がある一方で,復号化については何ら記載されていない。このため,暗号化されたデータをどのように復号化するのかが不明であって,どのように(復号可能に)暗号化するのか明確に記載されたものとは言えない。(復号可能に暗号化しなければ,暗号化することに意味がないことになる。)
(2)請求項1の「前記回路はk_(c)とは別のおよび前記回路のそれぞれの例に専用の,前記回路のサイドチャネルを利用した攻撃から回路を保護することを可能とする第2の鍵k_(i)を含む」との記載は,日本語として不明りょうである。(特に「前記回路のそれぞれの例に専用の」との記載の意味するところが不明である。また,「k_(c)とは別の」,「前記回路のそれぞれの例に専用の」及び「前記回路のサイドチャネルを利用した攻撃から回路を保護することを可能とする」は,それぞれ並列で「第2の鍵k_(i)」に係っているのか?)
(3)請求項2の「秘密実装によって前記鍵を保護する役割を果たす」との記載において,「秘密実装」の意味するところが不明である。(発明の詳細な説明にも「秘密実装」について具体的な記載がない。)また,「前記鍵」が「関数鍵k_(c)」を指すのか,「第2の鍵k_(i)」を指すのか不明りょうである。
(4)請求項3の「秘密アルゴリズムを保護する役割を果たす」との記載において,「秘密アルゴリズム」の意味するところが不明である。(発明の詳細な説明にも「秘密アルゴリズム」について具体的な記載がない。)
(5)請求項4には「秘密アルゴリズムは前記鍵k_(i)でのマスキングにより保護される2つの秘密関数(30,31)を囲い込みすることによりカスタマイズされる標準暗号アルゴリズムを含む」との記載があるが,(3)と同様に「秘密アルゴリズム」の意味するところが不明であり,「秘密アルゴリズム」が「秘密関数」を「囲い込む」という技術的意味が不明である。(「秘密関数(30,31)」とあるが「秘密関数(31,32)」の誤記ではないか?また,「秘密関数」は「囲い込みする」対象ではなく,主体ではないのか?)
(6)請求項6の「第2の鍵k_(i)は前記回路の作成後にセキュアな筐体内の固有の乱数でのカスタム化によってプログラムされる」との記載は,如何なる処理を意味しているのか不明りょうである。(回路の作成後にセキュアな筐体内の固有の乱数でどのようにしてカスタム化するのか?)発明の詳細な説明にも「第2の鍵k_(i)はなお回路の作製後にセキュアな筐体内で単一の乱数を用いてプログラムされうる。」(段落【0048】)との記載しかなく,どのようなことを意味しているのか不明である。
(7)請求項7には「HO-DPA高階攻撃」との記載があるが,ここでいう「HO」は「High-Order」すなわち「高階」であるので,「HO」と「高階」とで意味が重複した記載となっており不明りょうである。なお,発明の詳細な説明には「HO-DPA攻撃」(段落【0049】)との記載がある。
(8)請求項8には「回路に固有の実装鍵としての役割を果たす前記第2の鍵k_(i)の知識は,保護管理プロシージャの,前記管理を担う特権ユーザによる使用を可能にする」との記載において,「知識」は「特権ユーザ」による使用を可能とする,すなわち「知識」は「人」による使用を可能とするとは,如何なることを意味するのか不明りょうである。(発明の詳細な説明にも「回路に固有の実装鍵としての役割を果たす第2の鍵k_(i)の知識により,例えば保護管理プロシージャを,前記管理を担う特権ユーザが使用することが可能となる。」(段落【0015】)と,同様の記載しかない。)また,「前記管理」が何を指すものか不明である。
(9)請求項12の「前記FPGA回路」が何を指すものか不明である。(請求項12が請求項9を引用する場合には,請求項9の「FPGAタイプのプログラマブル回路」を指すとも考えられるが,明確にされたい。また,請求項10を引用し,請求項9を引用しない場合に何を指すものか不明である。
(10)請求項12の「前記プログラミングファイル(25)」が,請求項12が請求項10を引用しない場合に何を指すものか不明である。(請求項1-9には「プログラミングファイル(25)」との記載がない。)
(11)請求項12には「これが外部記憶の機密性および前記FPGAへの前記鍵k_(i)の移転の機密性を付与する」との記載があるが,「外部記憶」とはどのようなものか,また鍵の移転とは何か,不明りょうである。さらに「前記FPGA」が「前記FPGA回路」と同一のものを指すのか否か不明である。
(12)請求項14には「第3の鍵k_(b)の基数は前記関数鍵k_(c)の前記基数よりも大きいかまたは等しい」との記載があるが,請求項14が請求項12を引用しない場合に,請求項14の「第3の鍵k_(b)」がどのようなものか不明りょうとなる。
(13)請求項15の「前記暗号化アルゴリズム」が何を指すものか不明である。(請求項1には「暗号アルゴリズム」との記載がある。」

よって,請求項1-15に係る発明は明確でない。

理由2:
この出願は,特許請求の範囲の記載が下記の点で,特許法第36条第6項第1号に規定する要件を満たしていない。



(1)請求項1の「前記回路のそれぞれの例に専用の・・・第2の鍵k_(i)」との記載に対応する記載が,発明の詳細な説明のどこにされているか不明である。(請求項の記載を単に写したにすぎない,【課題を解決するための手段】の段落【0007】の記載を除く。)
(2)請求項2の「前記第2の鍵k_(i)は秘密実装によって前記鍵を保護する役割を果たす」との記載に対応する記載が,発明の詳細な説明のどこにされているか不明である。(請求項の記載を単に写したにすぎない,【課題を解決するための手段】の段落【0010】の記載を除く。)
(3)請求項3の「前記第2の鍵k_(i)は秘密アルゴリズムを保護する役割を果たす」との記載に対応する記載が,発明の詳細な説明のどこにされているか不明である。
(4)請求項4の「前記秘密アルゴリズムは前記鍵k_(i)でのマスキングにより保護される2つの秘密関数(30,31)を囲い込みすることによりカスタマイズされる標準暗号アルゴリズムを含む」との記載に対応する記載が,発明の詳細な説明のどこにされているか不明である。請求項の記載を単に写したにすぎない,【課題を解決するための手段】の段落【0011】の記載を除く。)
(5)請求項8の「回路に固有の実装鍵としての役割を果たす前記第2の鍵k_(i)の知識は,保護管理プロシージャの,前記管理を担う特権ユーザによる使用を可能にする」との記載に対応する記載が,発明の詳細な説明のどこにされているか不明である。請求項の記載を単に写したにすぎない,【課題を解決するための手段】の段落【0015】の記載を除く。)
(6)請求項11の「ソフトウェアの実装によって実現される・・・回路」との記載に対応する記載が,発明の詳細な説明のどこにされているか不明である。請求項の記載を単に写したにすぎない,【課題を解決するための手段】の段落【0018】の記載を除く。)
(7)請求項12の「前記FPGA回路の前記プログラミングファイル(25)を暗号化するための第3の鍵k_(b)を含み,これが外部記憶の機密性および前記FPGAへの前記鍵k_(i)の移転の機密性を付与する」との記載に対応する記載が,発明の詳細な説明のどこにされているか不明である。請求項の記載を単に写したにすぎない,【課題を解決するための手段】の段落【0019】の記載を除く。)

よって,請求項1-15に係る発明は,発明の詳細な説明に記載されたものではない。

理由3:
この出願は,発明の詳細な説明の記載が下記の点で,特許法第36条第4項第1号に規定する要件を満たしていない。



(1)一般に,データの暗号化と復号化とが対となって,データを暗号化する目的が実現されるところ,本願の発明の詳細な説明には,暗号化についての記載がある一方で,復号化については何ら記載されていない。このため,暗号化されたデータをどのように復号化するのかが不明であって,どのように(復号可能に)暗号化するのか,発明の詳細な説明に明確に記載されたものとは言えない。(復号可能に暗号化しなければ,暗号化することに意味がないことになる。)
(2)発明の詳細な説明の段落【0027】には,「左のデータレジスタ3」,「右のデータレジスタ4」との記載があるが,図1または第2には対応する項番がなく,それぞれ何を指しているものか不明である。
(3)発明の詳細な説明の段落【0027】には,「左のマスクレジスタ5」との記載がある一方で「左のマスクレジスタ1」との記載もあり,整合性が取れていない。(なお,図1,図2によると「左のマスクレジスタ」の項番は「1」であると思われる。)
(4)発明の詳細な説明の段落【0027】には,「右のマスクレジスタ6」との記載があるが,これは「右のマスクレジスタ2」の誤記ではないか?
(5)発明の詳細な説明の段落【0037】?【0039】及び図3には,請求項4に対応する実施例が記載され,これは「別の進行方式を示す」(段落【0037】)ものであると記載されている。つまり請求項4が引用する請求項1に対応する実施例(段落【0025】?【0036】,【0040】?【0052】図1,図2,図4)とは「別の進行方式」であるものと認められ,また両実施例を組み合わせた実施例については記載されていない。よって発明の詳細な説明は,請求項4に係る発明を実施できる程度に記載されていない。

よって,この出願の発明の詳細な説明は,当業者が請求項1-15に係る発明を実施することができる程度に明確かつ十分に記載されたものでない。

理由4:
この出願の下記の請求項に係る発明は,その出願前に日本国内又は外国において,頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて,その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから,特許法第29条第2項の規定により特許を受けることができない。

記 (引用文献等については引用文献等一覧参照)

請求項1-15には,上記理由1,理由2で指摘したとおり多くの記載不備があるが,不明な点を除き進歩性について判断することとする。

請求項1,2
引用文献1,2
引用文献1には,サブキー(本願発明のk_(c)に対応)とマスク(k_(i)に対応)とをXOR演算し,結果としてマスクされたキーをデータに適用することにより,暗号化アルゴリズムのキー側の入力値をサイドチャネル攻撃から保護することが記載されている。(特に第1頁第5-13行,第12頁第29-33行を参照)
引用文献1に記載の発明では,マスクはマスキング表(第10頁の表)から得られるが,回路固有の値を用いて符号化(マスク)することは,例えば引用文献2(特に段落【0040】,【0051】)に記載されているように周知のものであり,これを引用文献1に記載の発明に適用することは,当業者ならば容易に想到し得たものである。

請求項3-8
引用文献1-3
引用文献3(本願明細書の段落【0037】で開示されている論文)には,DES等の広く用いられるブロック暗号を2つの秘密の外部符号P1,P2で囲むことにより,物理アタックから保護することが記載されている。(第182頁のFig.1と対応する記載を参照のこと)

請求項9-12
引用文献1-3
引用文献1に記載の暗号処理を,周知のFPGAにより実現すること,またはソフトウェアの実装によって実現することは,当業者が必要に応じて適宜なし得たものである。
また,FPGAを構成するためのプログラミングファイルを暗号化することも,周知技術にすぎない。

請求項13-15
引用文献1-3
鍵の基数をどのように設定するかは,当業者が必要に応じて適宜設定し得たものに過ぎない。
また,引用文献1に記載の暗号化はDESを含むものである。(第7頁第6行目-第10頁第14行目を参照のこと)

拒絶の理由が新たに発見された場合には拒絶の理由が通知される。

引 用 文 献 等 一 覧
1.国際公開第2007/102898号(2007年9月13日公開)
(対応国内公表:特表2009-516964号公報)
2.特開2003-051820号公報(2003年2月21日公開)
3.C.Clavier,Secret External Encodings Do Not Prevent Transient Fault Analysis,CHES2007,2007年,LNCS4727,pp.181-194』

2.平成27年9月17日付の当審拒絶理由通知に対する,平成28年3月25日付の意見書の内容の概略は次のとおりである。
『【意見の内容】
審判官殿の御指摘に鑑み,本意見書と同時に提出する手続補正書により,本願特許請求の範囲を下記のとおりに補正した。
「…(中略)…」
すなわち,補正前の請求項5および請求項9および請求項12の一部の記載を,請求項1に取り入れるように請求項1を補正した。この補正に際して,請求項12に関して指摘された記載不備を解消する訂正を行った。
補正前の請求項7を請求項2とした。この補正に際して,請求項7に関して指摘された記載不備を解消する訂正を行った。
補正前の請求項13を請求項3とした。
補正前の請求項14を請求項4とした。この補正に際して,請求項14に関して指摘された記載不備を解消する訂正を行った。
補正前の請求項15を請求項5とした。この補正に際して,請求項15に関して指摘された記載不備を解消する訂正を行った。
補正前の請求項2乃至請求項6及び請求項8乃至請求項12については,これらを削除した。
また,補正後の請求項1に記載の「前記回路に専用の第2の鍵k_(i)であって,」という記載は,明細書の段落0028,0030,0041,0047,0048を根拠とする。特に,明細書の段落0030の「回路専用のマスクM」と,明細書の段落0041の「関数鍵のマスクMを形成するのはこの鍵k_(i)であり」との記載から明らかである。
また,補正後の請求項1に記載の「前記暗号回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイル(25)を暗号化するための第3の鍵k_(b)を含む」
という記載は,明細書の段落0038,0039,0042を根拠とする。特に,明細書の段落0039の「「ビットストリーム」と呼ばれる,このファイルの暗号化を可能にするFPGAタイプを使用することが可能である」と,明細書の段落0042の「別の非機能の鍵k_(b)は「ビットストリーム」ファイル25の秘密要素,つまり少なくともk_(i)または実際k_(c)を保護する役割を果たす」との記載から明らかである。
なお,本願発明は,「暗号化アルゴリズムに対する情報漏洩観測攻撃から保護する」ことを解決課題とする発明であって,暗号化アルゴリズムの保護に関する記載,つまり暗号化に関する記載を特許請求の範囲および発明の詳細な説明に開示するものである。「暗号化アルゴリズムに対する情報漏洩観測攻撃から保護する」という解決課題とは関係のない「復号化」に関する記載は不要であるものと思料する。また明細書に「暗号化」の手順に関する記載がなされていれば,当業者であれば,「暗号化」の手順を辿って「復号化」は容易に可能であるものと思料する。
よって,「復号化については何ら記載されていない」ことをもってして記載不備の拒絶理由があるとするのは失当であると思料する。

審判官殿は,引用文献1と引用文献2の組み合わせで本願請求項1は進歩性がないと御指摘されている。
補正された請求項1によれば,第2の鍵k_(i)は,PUF,つまり物理的クローン不能関数によって生成される,暗号回路に専用の鍵であって,関数鍵k_(c)はXOR演算によって第2の鍵k_(i)によってマスクされ,関数鍵k_(c)を情報漏洩から保護する役割を果たす。そしてFPGA回路25のプログラミングファイルを暗号化するための第3の鍵k_(b)が,FPGAタイプのプログラマブル回路25における秘密要素である第2の鍵k_(i),に,ひいては第2の鍵k_(i)によってマスキングされる関数鍵k_(c)に,機密性(物理的にクローンできない秘匿性)を付与することができることになる。
これは本願発明特有の効果であって,は明細書の段落0041,0042に明確に記載されているところである。
しかしながら,引用文献1,2にはそのような開示はない。
引用文献1に記載されているのは,データdと物理データpとを変数とする関数f(d,p)により暗号化するという方法である。ここで,物理データpを「鍵」とみなしたとしても,引用文献1には,その「鍵」以外の第2の鍵を使用するという発想は記載されていない。まして,引用文献1には,鍵が第2の鍵によってマスクされるという発想は何ら記載されていない。さらに,引用文献1には,第3の鍵が第2の鍵,関数鍵に機密性を付与するという発想は何ら記載されていない。
したがって,引用文献1は,本願発明の進歩性を否定する根拠とはなり得ない。
一方,引用文献2には,マスキングデータX0とキーK0とをXOR演算子(記号|で示す)で,
K´0=K0 | X0
の,マスキングされたキーK´0を得るという方法が記載されている(引用文献2の段落0035,0036)。
しかしながら,引用文献2には,K0 ,X0とは別の第3の鍵がK0 ,X0に機密性を付与するという発想は何ら記載されていない。
なお,他の引用文献3に,補正された請求項1に係る発明の特徴が示されていないのは明らかである。したがって,各引用文献を組み合わせたとしても「第2の鍵k_(i)は,PUF,つまり物理的クローン不能関数によって生成される,暗号回路に専用の鍵であって,関数鍵k_(c)はXOR演算によって第2の鍵k_(i)によってマスクされ,関数鍵k_(c)を情報漏洩から保護する役割を果たすとともに,FPGA回路25のプログラミングファイルを暗号化するための第3の鍵k_(b)が,FPGAタイプのプログラマブル回路25における秘密要素である第2の鍵k_(i),に,ひいては第2の鍵k_(i)によってマスキングされる関数鍵k_(c)に,機密性(物理的にクローンできない秘匿性)を付与することができる」という本願発明特有の効果は予測されないことから,本願発明は,各引用文献から当業者が容易に想到することができたものではない。
…(後略)…』

第4 当審判断
1.補正の内容の検討
本件補正により,特許請求の範囲は前記「第2 本願の請求項に係る発明」に示されたとおりのものとなった。本件補正により,前記「第3 拒絶の理由および意見」における「理由1?理由3」に示した理由は,次の「2.特許法第36条第6項第2号について」「3.特許法第36条第4項第1号について」の点で解消されていない。また,「理由4」についても,次の「5.特許法第29条第2項について」の点で解消されていない。以下に詳述する。

2.特許法第36条第6項第2号について
本件補正により請求項1に係る発明は「暗号化アルゴリズムを実行するための関数鍵k_(c)を含む暗号回路(21)であって,前記回路は,前記回路に専用の第2の鍵k_(i)であって,前記回路のサイドチャネルを利用した攻撃から回路を保護することを可能とする第2の鍵k_(i)を含むことを特徴とする回路であって,…(中略)…前記暗号回路は,FPGAタイプのプログラマブル回路において実現され,
前記暗号回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイル(25)を暗号化するための第3の鍵k_(b)を含み,
前記第2の鍵k_(i)はPUF(Physically Unclonable Function)により生成されることを特徴とする回路。」と補正された。そこで,前記補正をふまえ,特許法第36条第6項第2号の点が解消されたかどうかについて検討する。
本件補正により請求項1は前記下線が付された事項,特に「前記第2の鍵k_(i)はPUF(Physically Unclonable Function)により生成される」事項を有するものとなったものの,「PUFにより生成される」「第2の鍵k_(i)」に係る「復号化」の事項は特定されていない。したがって,請求項1に係る発明は,前記暗号化されたデータをどのように復号化するのかが不明であって,どのように(復号可能に)暗号化するのか明確に記載されたものとは言えないので,特許法第36条第6項第2号に規定する要件を満たしていない。
即ち,一般に,データの暗号化と復号化とが対となって別々の装置を用い,ある装置(例えば送信側)で暗号化されたデータは別の装置(例えば受信側)で復号化されることによりデータを暗号化する目的が実現されるところ,請求項1に係る発明は「暗号化アルゴリズムを実行するための関数鍵k_(c)を含む暗号回路(21)であって,・・・第2の鍵k_(i)はPUF(Physically Unclonable Function)により生成される」事項を有することから,前記「PUFにより生成される」「第2の鍵k_(i)」に係る暗号化と復号化が対となると解されるところ,例えば復号化側の別の装置では(PUF(物理的クローン不能関数;意見書の内容参照。)はクローン不能であるから,前記別の装置では第2の鍵k_(i)と同じ鍵を持つことはできないので)復号化できないと解される。暗号化と復号化とが前記別々の装置でなされる場合,PUFにより生成されたk_(i)は回路毎に異なるので「【数1】


によって暗号化され」
た入力変数xは別の回路ではk_(i)を有せず復号できない。(以下,前記【数1】の数式を「k_(c)○+k_(i)」のフォントを用いて表現する。)
本願明細書の段落【0002】には「公共の媒体上を伝達させる必要があるデータへのあらゆる悪意ある強要から守るために,ますます多くの通信および情報処理システムに暗号方法が用いられている。特に,暗号化によってデータの機密性が保証され,暗号ダイジェストによってそれらの正真性が保証され,電子署名によってそれらの認証が保証される。これらそれぞれの場合において,データの送信を担う側とこれらのデータの受信を担う側との間に共通の秘密が機能するが,これら2つの側が同一である場合もある。・・・」と記載され,前記2つの側が同一である場合の言及はあるとしても,請求項1は「同一」である限定は有しておらず,「入力変数xをk_(c)○+k_(i)によって暗号化」すること,「第2の鍵k_(i)はPUFにより生成される」ことと関連付ける復号化は不明であり,前記2つの側(送信側と受信側)が同一である場合,別々である場合のいずれの場合も,暗号化されたデータをどのように復号化するのかが不明であって,どのように(復号可能に)暗号化するのか明確に記載されたものとは言えず,しかも,技術的意義も不明である(復号可能に暗号化しなければ,暗号化することに意味がないことになる。)。
結局,請求項1に係る発明は,暗号回路が「k_(c)○+k_(i)によって暗号化され・・・第2の鍵k_(i)はPUF(Physically Unclonable Function)により生成される」事項を有する発明であるにも関わらず,暗号化されたデータをどのように復号化するのかが不明であって,どのように(復号可能に)暗号化するのか明確に記載されたものとは言えず,特許を受けようとする発明が明確でない。
前記「理由1:(1)」で示した「一般に,データの暗号化と復号化とが対となって,データを暗号化する目的が実現されるところ,請求項1?15に係る発明には,暗号化についての記載がある一方で,復号化については何ら記載されていない。このため,暗号化されたデータをどのように復号化するのかが不明であって,どのように(復号可能に)暗号化するのか明確に記載されたものとは言えない。(復号可能に暗号化しなければ,暗号化することに意味がないことになる。)」との指摘に対して,請求人は,前記「2.【意見の内容】」の項において「なお,本願発明は,「暗号化アルゴリズムに対する情報漏洩観測攻撃から保護する」ことを解決課題とする発明であって,暗号化アルゴリズムの保護に関する記載,つまり暗号化に関する記載を特許請求の範囲および発明の詳細な説明に開示するものである。「暗号化アルゴリズムに対する情報漏洩観測攻撃から保護する」という解決課題とは関係のない「復号化」に関する記載は不要であるものと思料する。また明細書に「暗号化」の手順に関する記載がなされていれば,当業者であれば,「暗号化」の手順を辿って「復号化」は容易に可能であるものと思料する。」と主張しているが,前述のとおり,PUF(物理的クローン不能関数)により生成された「第2の鍵k_(i)」を含むマスク鍵(k_(c)○+k_(i))により暗号化された入力変数xを何を用いてどのように復号すれよいか明確でなく「復号化」が容易に可能とはいえない。よって,請求人の主張は採用できない。

3.特許法第36条第4項第1号について
前記「2.特許法第36条第6項第2号について」において言及したように,本件補正により,請求項1は,特に「前記第2の鍵k_(i)はPUF(Physically Unclonable Function)により生成される」事項を有するものとなった。
しかしながら,前記補正をふまえても,発明の詳細な説明は,請求項1に係る発明を実施できる程度に記載したものではない。即ち,前記「1.」で言及したように,請求項1は「k_(c)○+k_(i)によって暗号化され・・・第2の鍵k_(i)はPUF(Physically Unclonable Function)により生成される」事項を有する回路の発明に係るが,当該暗号化に関連する復号化について発明の詳細な説明には説明されておらず,前記第2の鍵k_(i)はPUF(物理的クローン不能関数)により生成されるものであるから,マスク鍵(k_(c)○+k_(i))により暗号化された入力変数xを何を用いてどのように復号すればよいのか,暗号化/復号化に係る回路は唯一の回路を用いるのか,別の回路を用いるのか,前記唯一の回路を用いて暗号化と復号化をする技術的意義はどのようなものなのか不明であり,また,別の回路を用いるなら如何にして同じPUFにより生成される第2の鍵k_(i)を有する別の回路が得られるのか不明であり,したがって,発明の詳細な説明は,請求項1に係る発明を実施できる程度に記載されていない。
明細書の段落【0040】?【0045】には
「この暗号化は例えばレジスタ22の内部で入力変数xを暗号化された変数y=DES(x,k_(c))に変換するDESアルゴリズム23である。
【0041】
非機能の鍵k_(i)が関数鍵k_(c)をマスクする役割を果たす。関数鍵のマスクMを形成するのはこの鍵k_(i)であり,XOR演算子がこれら2つの鍵を組み合わせて
【数7】

にする。鍵k_(i)はしたがってDES実装の関数鍵k_(c)を磁気放射または特に瞬間消費の観測による情報漏洩24から保護する役割を果たす。
…(中略)…
【0044】
本発明によれば,暗号アルゴリズム23の実装は暗号化された変数yが変数の暗号鍵k_(c)を保護する鍵k_(i)と関数的に独立するようにされ,・・・
【0045】
DESアルゴリズムの場合,y=DES(x,k_(c),k_(i))であり,yはk_(i)と関数的に独立である。」ことが記載されているが,これらの記載は前記「入力変数xを暗号化された変数y=DES(x,k_(c))に変換するDESアルゴリズム」との記載をふまえれば,「入力変数xはマスク鍵k_(c)○+k_(i)によって暗号化され」ることを記載するものではない。前記「入力変数xはマスク鍵k_(c)○+k_(i)によって暗号化され」たものを何を用いて復号すれば前記入力変数xが得られるのか,発明の詳細な説明又は図面のどこにも前記「入力変数xはマスク鍵k_(c)○+k_(i)によって暗号化され」ることやその復号化やその技術上の意義は記載されていない。
「非機能の鍵k_(i)が関数鍵k_(c)をマスクする役割を果たす」と記載されているものの,「鍵k_(i)」が「非機能の鍵k_(i)」としての役割を如何に実施できるのか発明の詳細な説明には記載されていない。「鍵k_(i)」を「非機能の鍵k_(i)」とするためには「マスク鍵k_(c)○+k_(i)」によって暗号化された変数から「マスク鍵k_(c)○+k_(i)」又は「鍵k_(i)」の関数を無効にする必要があると解せる。しかし,何を用いて如何に関数を無効にし「非機能の鍵k_(i)」として実施するのか発明の詳細な説明に記載されていない。例えば,「この暗号化は例えばレジスタ22の内部で入力変数xを暗号化された変数y=DES(x,k_(c))に変換するDESアルゴリズム23」と記載されているものの,「暗号アルゴリズム23」により、何を用いて如何に「変数y=DES(x,k_(c))に変換」するのかが記載されておらず,「マスク鍵k_(c)○+k_(i)」によって暗号化された変数から「マスク鍵k_(c)○+k_(i)」又は「鍵k_(i)」の関数を如何に無効にして「変数y=DES(x,k_(c))」に変換することができるのか、発明の詳細な説明には何ら記載されていない。
したがって,発明の詳細な説明は,請求項1に係る発明を実施できる程度に記載されていない。
前記「理由3:(1)」で示した「一般に,データの暗号化と復号化とが対となって,データを暗号化する目的が実現されるところ,本願の発明の詳細な説明には,暗号化についての記載がある一方で,復号化については何ら記載されていない。このため,暗号化されたデータをどのように復号化するのかが不明であって,どのように(復号可能に)暗号化するのか,発明の詳細な説明に明確に記載されたものとは言えない。(復号可能に暗号化しなければ,暗号化することに意味がないことになる。)」との指摘に対して,請求人は,前記【意見の内容】において,「・・・解決課題とは関係のない「復号化」に関する記載は不要である・・・明細書に「暗号化」の手順に関する記載がなされていれば,当業者であれば,「暗号化」の手順を辿って「復号化」は容易にに可能である」旨主張しているが,前述のとおり,PUF(物理的クローン不能関数)により生成された「第2の鍵k_(i)」を含むマスク鍵(k_(c)○+k_(i))により暗号化された入力変数xを何を用いてどのように復号すればよいのか発明の詳細な説明に記載されておらず,「第2の鍵k_(i)」を「非機能の鍵k_(i)」として実施出来るように記載されていない。よって,請求人の主張は採用できない。
請求項2乃至5に係る発明についても,請求項1を引用するものであり,請求項1に係る発明と同様のことがいえる。
よって,この出願の発明の詳細な説明は,当業者が請求項1?5に係る発明を実施することができる程度に明確かつ十分に記載されたものでない。

4.小括
したがって,発明の詳細な説明の記載は,発明が解決しようとする課題及びその解決手段その他のその発明の属する技術の分野における通常の知識を有する者が発明の技術上の意義を理解するために必要な事項を記載することによりしたものではないので特許法第36条第4項第1号の規定に違反し,特許請求の範囲の請求項1に記載された発明及びこれを引用する請求項2?5に係る発明は,特許を受けようとする発明が明確であるとはいえないので特許法第36条第6項第2号の規定に違反する。

5.特許法第29条第2項について
5.1 引用文献1
(1)本願優先権主張日前に頒布され,当審で引用された刊行物である国際公開第2007/102898号公報(以下,「引用文献1」という。)には,図面とともに次の事項が記載されている。(訳はパテントファミリである特表2009-516964号公報を参酌した。下線は参考のため当審で付与した。)
ア.「The present invention relates to methods of protecting a cryptographic hardware engine from targeted cryptoanalysis attacks during operation, and in particular relates to protecting an input value (on the key side) of encryption algorithm substitution (S-box) operations in any given round from side channel attacks through the use of masking methods (false or dummy operations) .
…(中略)…
In general, side-channel attacks involve externally monitoring power consumption or electromagnetic emissions of the cryptographic hardware during execution of a targeted cipher algorithm, and attempting to correlate the timing profile of the monitored characteristic with the. target algorithm in order to obtain useable information regarding the key. For example, one such attack may directly target that portion of an algorithm' s execution at the input side of an algorithm's S-boxes,. where data are XORed with subkeys in a given round. One way to protect an encryption algorithm against side-channel attacks would be to use a randomized masking or blinding method, i.e., running numerous fake or dummy operations along with the true operation. However, a problem with such randomized masking is that the entropy injected in the execution of the added dummy operations is not controlled, so that it is still possible to uncover the true operation using statistical techniques.

SUMMARY OF THE INVENTION

The present invention is a deterministic blinding method for encryption algorithms that are susceptible to targeted attacks, especially but not exclusively for those cipher- algorithms employing substitution (S-box) operations or logically combining data with round subkeys, such as by bitwise XOR operations on the input side of cipher S-boxes. The deterministic blinding method of the present, invention controls injected entropy when running a set of false or dummy operations in order to achieve much greater protection of the true operation than purely random blinding or masking techniques.

The method generally begins with building a masking table in advance, which contains one line corresponding to the true key and miraerous protection lines that have been built to blind at least some bits of the key in various combinations. When lines from the table are logically combined with a given key y the method obtains a set of keys, only one of which is true, while all of the others are dummy keys. (For example, in the case of a bitwise XOR combining operation, the line in the table corresponding to a true key would be a mask containing all zero bits, while the protection lines would be masks where at least some bits are ones.) The cipher algorithm executes on a message block multiple times using the true and dummy keys in random order to generate corresponding true and dummy round subkeys. The result obtained from applying the true key to the cipher operation is stored in memory, while the incorrect results from the dummy keys are stored in a dummy memory location. After the cipher has executed for each of the keys, the true result is accessed from the memory.

…(中略)…
Deterministic blinding may be applied in accord with the present invention as either a "global" masking method or an "inside" masking method. The basic idea is to apply each of the lines of a masking table to a key or round subkeys to obtain true and dummy keys or subkeys . In the global masking method, masking with the lines of the masking table is applied to the overall cipher key outside of the execution of the rounds of the cipher algorithm. This allows us to keep the existing hardware or software implementation of the cipher algorithm itself without any internal modification. Global masking generates a true cipher key and a set of dummy cipher keys. These cipher keys are then applied successively in some random order to a message block in multiple loops of the cipher algorithm. Hence, an implementation of the global masking method may process a loop of 64 operations of the cipher algorithm. Within each loop one can use table random access to pick at random an index i that has not already been used, so as to get a Mask[i] from the masking table. A bitwise- XOR operation upon the cipher key with the first-order Maskfi] produces a masked key. This masked key is then processed with the message block in the cipher algorithm, which may include the generation of round subkeys from the masked key. If the index i is IndexMaskZero, then the masked key will be the true key and the result of applying this loop of the cipher algorithm to the message block will be the true result which is then stored in memory. If the index i is different from indexMaskZero, the masked key will be a dummy key and the dummy results are stored in a dummy location in the memory. Once all of the loops have executed, the true result may be accessed from memory.」(1頁6行?6頁17行)
訳;「【0001】
本発明は,演算中に暗号ハードウェアエンジンを標的暗号解読攻撃から保護する方法に関し,具体的には,マスキング方法(偽またはダミー演算)の使用により,あるラウンドにおける暗号化アルゴリズム置換(Sボックス)演算の(キー側の)入力値のサイドチャネル攻撃からの保護に関する。
…(中略)…
【0006】
一般に,サイドチャネル攻撃は,標的暗号アルゴリズムの実行中に,暗号ハードウェアの電力消費または電磁放射線を外部から監視するステップ,およびキーに関する使用可能な情報を得るために,監視された特徴のタイミングプロファイルを標的アルゴリズムに相関させようとするステップを伴う。例えば,そのような1つの攻撃は,所与のラウンドにおいてデータがサブキーでXORされる,アルゴリズムのSボックスの入力側におけるアルゴリズムの実行のその部分を直接標的にすることができる。暗号化アルゴリズムをサイドチャネル攻撃に対して保護する1つの方法は,ランダム化マスキングまたはブラインド方法を使用すること,つまり,真の演算と共に,幾多の偽またはダミー演算を実行するステップであろう。しかし,そのようなランダム化マスキングに関連する問題は,追加されたダミー演算の実行において注入されるエントロピーが制御されないので,統計的手法を使用して真の演算を暴露することがなおも可能であるという点である。
【課題を解決するための手段】
【0007】
本発明は,独占的ではないが特に,置換(Sボックス)演算を採用する,または暗号Sボックスの入力側でのビット単位のXOR演算によってなど,データをラウンドサブキーに論理的に組み合わせる暗号アルゴリズムのための,標的攻撃の影響を受けやすい暗号化アルゴリズムのための決定論的結合方法である。本発明の決定論的結合方法は,純粋にランダムなブラインドまたはマスキング手法よりも真の演算のさらなる保護を達成するために,1組の偽またはダミー演算を実行する時に,注入されたエントロピーを制御する。
【0008】
該方法は概して,真のキーおよび様々な組み合わせにおけるキーの少なくともいくつかのビットをブランドするように構築されている幾多の保護列に対応する1列を含む,マスキング表を事前に構築するステップより始まる。該表からの列が論理的に所与のキーと組み合わせられると,該方法は1組のキーを得て,そのうちの1つだけが真である一方で,その他の全てはダミーキーである。(例えば,ビット単位のXOR連結演算の場合,真のキーに対応する該表中の列は,全0ビットを含むマスクとなる一方で,保護列は少なくともいくつかのビットが1であるマスクとなる。)暗号アルゴリズムは,ランダム順で真およびダミーキーを使用し,メッセージブロックで複数回実行して,対応する真およびダミーラウンドサブキーを生成する。真のキーを暗号演算に適用するステップより得られる結果はメモリに格納される一方で,ダミーキーからの間違った結果はダミーメモリロケーションに格納される。暗号がキーのそれぞれに対して実行された後,真の結果はメモリからアクセスされる。
…(中略)…
【0011】
決定論的結合は,「大域」マスキング方法または「内部」マスキング方法のいずれかとして,本発明に従って適用することができる。基本概念は,マスキング表の列のそれぞれをキーまたはラウンドサブキーに適用し,真およびダミーキーまたはサブキーを得ることである。大域マスキング方法では,マスキング表の列によるマスキングは,暗号アルゴリズムのラウンドの実行の外側の全体の暗号キーに適用される。これにより,内部変更なしで,暗号アルゴリズム自体の既存ハードウェアまたはソフトウェア実施を保つことができる。大域マスキングは,真の暗号キーおよび1組のダミー暗号キーを生成する。そしてこれらの暗号キーは,あるランダム順で,暗号アルゴリズムの複数ループにおけるメッセージブロックに引き続いて適用される。したがって,大域マスキング方法の実施は,暗号アルゴリズムの64の演算のループを処理することができる。各ループ内で,マスキング表からマスク[i]を得るように,表ランダムアクセスを使用して既に使用されていない指数iをランダムに選ぶことが可能である。一次マスク[i]による暗号キーがある場合のビット単位XOR演算は,マスキングをかけたキーを生じる。そしてこのマスキングをかけたキーは,暗号アルゴリズムにおいてメッセージブロックにより処理され,これはマスキングをかけたキーからのラウンドサブキーの生成を含むことができる。指数iがIndexMaskZeroである場合,マスキングをかけたキーは真のキーであり,暗号アルゴリズムのこのループをメッセージブロックに適用するステップの結果は,メモリに格納される真の結果である。指数iがIndexMaskZeroとは異なる場合,マスキングをかけたキーはダミーキーであり,ダミー結果はメモリ内のダミーロケーションに格納される。一旦ループの全てが実行されると,真の結果はメモリからアクセスすることができる。」


イ.「During operation of the cipher using the inside masking method, all of the masks from the pre-constructed mask table are applied in every round to the inputs of all S-boxes. Fig. 2 shows a illustrative example of applying a representative one of the 64 masks, such as Mask [15] , to the first S-box Si during the first cipher round. This illustrates the modifications made to the inside of the cipher algorithm when implementing inside masking. The application of that mask to the other S- boxes S 2 to S 6 is similar, as is the application of the other masks, and also in subsequent rounds, In each round employing inside masking, the process loops 64 times m order to apply all of the masks, including the true mask, to the subkey and data. The masks may be applied in any order, e.g. in a randomized order, which may be different for each round, provided each mask is used exactly once in any round and provided the true mask is known to the encryption engine. That is, a random access of the mask table may be used. The identity of the true mask may be stored in a register to be compared with an index as the process loops through the set of masks. The true results output from the eight S-boxes are retained, e.g., in a register or memory, until all 64 masks have been applied, and then the true results are passed to the next step in the cipher algorithm. The DES permutation function P may be applied simultaneously with the storage of the true results from S-box outputs. If desired, false results may also be retained in a dummy memory location, and possibly permuted, as well, but not necessarily passed along to the next round in the cipher.
…(中略)…
Each of these groups of bits (mask, subkey, data) is combined with the others using a bitwise XOR operation, symbolised by θ in Fig. 2. The mask is here shown as being applied first to the subkey, and then the resulting masked key is applied to the data. However, since the bitwise XOR operation is commutative and associative, it may actually be applied to these three groups (mask, subkey, and data) in any order and still obtain the same S-box input. Indeed, it will certainly be beneficial to vary the order of application for different S-boxes, masks, and rounds, so as to further obscure the operations to any outside observer,」(11頁13行?13頁5行)
訳;「【0028】
内部マスク方法を使用する暗号の演算中に,事前に構成されたマスク表からのマスクの全ては,ラウンドごとに全Sボックスの入力に適用される。図2は,第1の暗号ラウンド中に,マスク[15]など,64マスクのうちの代表的な1つを第1のSボックスS1に適用するステップの説明に有用な例である。これは,内部マスキングを実施する時に,暗号アルゴリズムの内部に行われる変更を図示する。その他のマスクの適用のように,かつ後のラウンドでも,その他のSボックスS2からS8へのそのマスクの適用は同様である。内部マスキングを採用する各ラウンドにおいて,真のマスクを含むマスクの全てをサブキーおよびデータに適用するために,プロセスは64回ループする。各マスクが任意のラウンドで正確に一度使用されるという条件で,かつ真のマスクが暗号化エンジンに知られているという条件で,マスクは,任意の順番,例えば,各ラウンドに対して異なってもよいランダム化した順番で適用することができる。つまり,マスク表のランダムアクセスを使用することができる。真のマスクの同一性はレジスタに格納され,プロセスが1組のマスクをループすると指数と比較することができる。8つのSボックスから出力される真の結果は,全64のマスクが適用されるまで,例えばレジスタまたはメモリに保持され,そして真の結果は,暗号アルゴリズムにおける次のステップに渡される。DES順列関数Pは,Sボックス出力からの真の結果の格納と同時に適用することができる。所望に応じて,偽の結果もダミーメモリロケーションに保持し,場合により順序を変えることもできるが,必ずしも暗号における次のラウンドに転送されない。
…(中略)…
【0030】
これらのビットの集合のそれぞれ(マスク,サブキー,データ)は,図2の
【0031】
【数5】


【0032】
によって記号で表されるビット単位のXOR演算を使用して,他のものと組み合わせられる。ここではマスクはまずサブキーに適用されるとして示され,そして結果として生じるマスキングをかけたキーはデータに適用される。しかし,ビット単位のXOR演算は可換および連合であるため,実際は任意の順番でこれら3つの集団(マスク,サブキー,およびデータ)に適用され,なおも同じSボックス入力を得ることができる。任意の外部観察者にとって演算をさらに不明確にするように,異なるSボックス,マスク,およびラウンドに対して適用の順番を変えることは,確実に有益となるであろう。」

ウ.「With reference to Fig. 3, exemplary hardware for executing the global masking implementation of the present invention is seen. The memory 31 is a read/write store for data, including masked keys. A random number generator 32 generates random numbers for use by the other units, including a random index i for accessing lines of the mask table. Any suitable generator known in the art may be used. A mask table generation unit 33 generates the entries of the mask table and writes them into memory 31. Operation sequencer 34 sends commands to the other units to sequence their actions. During each loop of the DES algorithm, a key masking unit 36 reads the ("true") cipher key from the memory 31, masks it with one entry from the mask table stored in memory 31, and write the masked key into the memory 31. The DES computation unit 37 reads the masked key and input data (the plaintext or ciphertext message block) from the memory 31, executes the DES cipher algorithm using the masked key, including generating any subkeys from the masked key, and writes the result as output data back into memory 31, The memory location used for storing the result, will depend upon whether the masked key is the true key or a dummy key.」(13頁18行?14頁5行)
訳;「【0034】
図3を参照して,本発明の大域マスキングの実施を行うための例示的ハードウェアが図示される。メモリ31は,マスキングをかけたキーを含む,データに対する読み取り/書き込み格納場所である。乱数発生器32は,マスク表の列にアクセスするためのランダム指数iを含む,その他のユニットによって使用するための乱数を生成する。当技術分野で周知の任意の適切な発生器を使用してもよい。マスク表生成ユニット33は,マスク表の入力を生成し,それらをメモリ31に書き込む。演算シーケンサ34は,その他のユニットへコマンドを送信し,その作用を配列する。DESアルゴリズムの各ループ中に,キーマスキングユニット36は,(「真の」)暗号キーをメモリ31から読み取り,メモリ31に格納されるマスク表からの1つの入力によりそれをマスキングし,マスキングをかけたキーをメモリ31に書き込む。DES計算ユニット37は,メモリ31からマスキングをかけたキーおよび入力データ(プレーンテキストまたは暗号テキストメッセージブロック)を読み取り,マスキングをかけたキーから任意のサブキーを生成するステップを含む,マスキングをかけたキーを使用してDES暗号アルゴリズムを実行し,結果を出力データとしてメモリ31に再び書き込む。結果を格納するために使用されるメモリロケーションは,マスキングをかけたキーが真のキーまたはダミーキーであるかどうかに左右される。」

(2)引用文献1に記載された事項を検討する。
(ア)前記ア.の「本発明は,演算中に暗号ハードウェアエンジンを標的暗号解読攻撃から保護する方法に関し,具体的には,マスキング方法(偽またはダミー演算)の使用により,あるラウンドにおける暗号化アルゴリズム置換(Sボックス)演算の(キー側の)入力値のサイドチャネル攻撃からの保護に関する」との記載における「暗号ハードウェアエンジン」に関し,図2と図3の実施態様に関連した前記ア.の「決定論的結合は,「大域」マスキング方法または「内部」マスキング方法のいずれかとして,本発明に従って適用することができる。基本概念は,マスキング表の列のそれぞれをキーまたはラウンドサブキーに適用し,真およびダミーキーまたはサブキーを得ることである」との記載,前記イ.の「図2は,第1の暗号ラウンド中に,マスク[15]など,64マスクのうちの代表的な1つを第1のSボックスS1に適用するステップの説明に有用な例である。これは,内部マスキングを実施する時に,暗号アルゴリズムの内部に行われる変更を図示する」との記載,前記ウ.の「図3を参照して,本発明の大域マスキングの実施を行うための例示的ハードウェアが図示される・・・DES暗号アルゴリズムを実行し」との記載から,前記基本概念として,マスクは並列に存在するSボックス全体(図1参照)に対するキーのビット長や入力データに対応した長さのマスクとして捕らえることができるとともに,図2の内部マスキングは図3のハードウェアにおける内部の実施態様とみることができ,図2,図3に係る記載をあわせて参酌できる。
前記「暗号ハードウェアエンジン」から「暗号ハードウェア」をよみとることができ,前記ウ.の「図3を参照して,本発明の大域マスキングの実施を行うための例示的ハードウェアが図示される。メモリ31は,マスキングをかけたキーを含む,データに対する読み取り/書き込み格納場所である・・・DESアルゴリズムの各ループ中に,キーマスキングユニット36は,(「真の」)暗号キーをメモリ31から読み取り,メモリ31に格納されるマスク表からの1つの入力によりそれをマスキングし,マスキングをかけたキーをメモリ31に書き込む。DES計算ユニット37は,メモリ31からマスキングをかけたキーおよび入力データ(プレーンテキストまたは暗号テキストメッセージブロック)を読み取り,マスキングをかけたキーから任意のサブキーを生成するステップを含む,マスキングをかけたキーを使用してDES暗号アルゴリズムを実行し,結果を出力データとしてメモリ31に再び書き込む」との記載から,「DES暗号アルゴリズムを実行するための暗号キーを含むDES計算ユニット,キーマスキングユニット,メモリを含む暗号ハードウェア」をよみとることができる。

(イ)前記(ア)で言及した「暗号ハードウェア」に関連し,前記ア.の「演算中に暗号ハードウェアエンジンを標的暗号解読攻撃から保護する方法に関し,・・・マスキング方法(偽またはダミー演算)の使用により,あるラウンドにおける暗号化アルゴリズム置換(Sボックス)演算の(キー側の)入力値のサイドチャネル攻撃からの保護に関する・・・サイドチャネル攻撃は,標的暗号アルゴリズムの実行中に,暗号ハードウェアの電力消費または電磁放射線を外部から監視する・・・暗号化アルゴリズムをサイドチャネル攻撃に対して保護する」との記載,及び,マスキング方法にマスクを用いることは自明である点とから「マスクを用いるマスキング方法(偽またはダミー演算)の使用により,あるラウンドにおける暗号化アルゴリズム置換(Sボックス)演算の(キー側の)入力値のサイドチャネル攻撃からのハードウェアエンジンを保護することを可能とするマスクを含むハードウェア」をよみとることができる。

(ウ)前記(ア)(イ)で言及した「キー」,「マスキングをかけたキー」に関し,前記ア.の「大域マスキングは,真の暗号キーおよび1組のダミー暗号キーを生成する・・・一次マスク[i]による暗号キーがある場合のビット単位XOR演算は,マスキングをかけたキーを生じる」との記載から,「前記キーはXOR演算によって前記キーとマスクとを用いてマスキングをかけたキーを生じさせ」ることをよみとることができ,前記イ.の「これらのビットの集合のそれぞれ(マスク,サブキー,データ)は,図2の・・・ビット単位のXOR演算を使用して,他のものと組み合わせられる。ここではマスクはまずサブキーに適用されるとして示され,そして結果として生じるマスキングをかけたキーはデータに適用される。しかし,ビット単位のXOR演算は可換および連合であるため,実際は任意の順番でこれら3つの集団(マスク,サブキー,およびデータ)に適用され,なおも同じSボックス入力を得ることができる」との記載,前記ウ.の「DES計算ユニット37は,メモリ31からマスキングをかけたキーおよび入力データ(プレーンテキストまたは暗号テキストメッセージブロック)を読み取り,マスキングをかけたキーから任意のサブキーを生成するステップを含む,マスキングをかけたキーを使用してDES暗号アルゴリズムを実行し,結果を出力データとしてメモリ31に再び書き込む」との記載から「入力データは前記マスキングをかけたキーによってXOR演算が適用されて暗号化され」ることをよみとることができる。
これらをあわせて「前記キーはXOR演算によって前記キーとマスクとを用いてマスキングをかけたキーを生じさせ,入力データは前記マスキングをかけたキーによってXOR演算が適用されて暗号化され」ることをよみとることができる。

(エ)前記ア.の「該方法は概して,真のキーおよび様々な組み合わせにおけるキーの少なくともいくつかのビットをブランドするように構築されている幾多の保護列に対応する1列を含む,マスキング表を事前に構築するステップより始まる。該表からの列が論理的に所与のキーと組み合わせられると,該方法は1組のキーを得て,そのうちの1つだけが真である一方で,その他の全てはダミーキーである。(例えば,ビット単位のXOR連結演算の場合,真のキーに対応する該表中の列は,全0ビットを含むマスクとなる一方で,保護列は少なくともいくつかのビットが1であるマスクとなる。)」との記載から,「マスクは事前に構築されたマスキング表を用いて生成される」ことをよみとることができる。

前記(ア)?(エ)によれば,引用文献1には,前記ア.に記載された「演算中に暗号ハードウェアエンジンを標的暗号解読攻撃から保護する」ことを目的とした次の発明(以下,「引用発明」と呼ぶ。)が示されている。

「DES暗号アルゴリズムを実行するための暗号キーを含むDES計算ユニット,キーマスキングユニット,メモリを含む暗号ハードウェアであって,
前記ハードウェアは,マスクを用いるマスキング方法(偽またはダミー演算)の使用により,あるラウンドにおける暗号化アルゴリズム置換(Sボックス)演算の(キー側の)入力値のサイドチャネル攻撃からのハードウェアエンジンを保護することを可能とするマスクを含むハードウェアであって,
前記キーはXOR演算によって前記キーとマスクとを用いてマスキングをかけたキーを生じさせ,入力データは前記マスキングをかけたキーによってXOR演算が適用されて暗号化され
前記マスクは事前に構築されたマスキング表を用いて生成されることを特徴とする暗号ハードウェア。」

5.2 引用文献2
(1)引用文献2の記載
本願優先権主張日前に頒布され当審で引用された刊行物である特開2003-51820号公報(以下,「引用文献2」という。)には,図面とともに次の事項が記載されている。
あ.「【0002】
【従来の技術】CPUの外部のメモリ,それが揮発性であれ非揮発性であれ,に保存されるデータを暗号化する方法が知られている。その方法によると,データをメモリから使用不可能な物理的手段(データを秘密にするための電気センサ手段でアタックすることにより)によりデータを直接読み出す。この方法の欠点はデータ暗号キーを非揮発メモリ(例えばEEPROM又はOTPメモリ)に保存しなければならないことである。キー自身が物理的アタックで得られるので,これはシステムの弱点となる。
【0003】安全性を高めるために,実際の暗号キーをスクランブルすることが行なわれている。しかし,スクランブル条件は全ての集積回路チップに対して同じである。従って,侵害者にとっては,認証されたチップの非揮発メモリからキーを取得して,そのキーを認証されない方法で工業的に再生されたチップにコピーしてクローン又は模倣すること,又は暗号エレメントを推測することができる。
【0004】
【発明が解決しようとする課題】本発明の目的は集積回路内のデータを保護してデータに対する侵害を避ける方法を提供することにある。
【0005】特に,本発明は集積回路チップの内部又は外部のメモリに保存されるデータのマスク,符号化,スクランブル,暗号化等をする方法を提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するために,本発明は,メモリに少なくともひとつの第1データを蓄積する方法において,集積回路の少なくともひとつの物理的パラメータネットワークから得られる少なくともひとつの第2物理データを前記第1データと組合せ,この組合せの結果のみを蓄積する方法を提供する。
【0007】本発明の実施例によると,前記第2物理データは,前記物理的パラメータネットワークを集積化する前記集積回路の物理的及び製造上のばらつきに敏感である。」

い.「【0028】物理的パラメータネットワークは,データが正当な集積回路チップから来たものであることを保証する認証方法として公知である。特に,物理的パラメータネットワークは認証された製造に特有の技術パラメータを再生することができない集積回路のクローンの大規模な侵害製造を検出するために用いられる。従来,物理的パラメータネットワークはチップの識別子の提供に用いられ,外部装置(例えば,スマートカードリーダ)が集積回路チップが認証された製造からのものであることを可能としていた。
【0029】本発明によると,物理的パラメータネットワークは,集積回路の製造に関連する値(デジタルワードで変換可能)を少なくとも提供する。この値は可溶性ネットワーク又はアナログと異なって,デジタルワードはチップを目視することによっては検出できないという意味で観察することはできない。
【0030】本発明によると,蓄積されるデータは,従来の方法によるクリアな及び単なる暗号化で蓄積されるのではない。侵害者にとって完全に理解不能で利用不能な形で蓄積される。それは,組合されるデジタルワードが集積回路チップに特有だからである。さらに,物理的パラメータネットワークは好ましくは技術的及び製造プロセスのばらつきに敏感である。符号化に使われるワードは集積回路の製造に関連している。
【0031】本発明によると,「符号化」は,保護されるデータ及び物理的パラメータネットワーク(必要ならば他のデータを使って)から来るデータに適用される任意のデジタル処理をいう。簡単のために,「符号化」は,本発明では,組合せ,暗号化等,スクランブル,マスク,及びより一般にデータの保護を含む。
【0032】本発明によると,組合せを構成した集積回路の内部又は外部のメモリに保存されたデータを読み出すには,物理的パラメータネットワークにより提供されるデジタルワードを再度使用して保護されたデータを復号し,通常用いられる回路に平文のクリアな形態に提供することが必要である。


う.「【0044】図3は本発明の第1実施例における集積回路チップ10を示す。この例は,蓄積及び読取り方法のEEPROM11に蓄積されるキー(例えば非対称暗号化プロトコル,RSA)のスクランブルへの応用に関する。
【0045】集積回路チップをプライベートキーの導入により個別化すると,キーが安全装置(図示なし)により回路13に提供され,本発明により,スクランブル,マスク,符号化,暗号化又は組合せ(COMB)が行なわれる。回路13は更に,チップと一体の物理的パラメータネットワーク17に結合してデジタルデータを蓄積するレジスタ14(REG)から来る2進ワードpを受けとる。回路13で実行される組合せの結果f(d,p)はEEPROM11に提供される。
【0046】本発明の好ましい実施例によると,ひとたびプライベートキーがスクランブル形態でEEPROMに蓄積されると,組合せ回路13は非有効化される。これが,図3で,回路13とキーの保存に必要な他の接続とが点線で示される理由である。これらの素子はチップの個別化のみのために使用される。
【0047】別の実施例によると,いわゆる個別化素子は活性を維持し,保護データを製品の寿命の間登録することを可能とする。
【0048】この蓄積されたキーを通常の認証方法で読出し利用可能とするために,集積回路チップ10は復号回路15を含み,キーを通常の暗号ユニット(CRYPTO)16に送り返す。該暗号ユニットは本発明の方法で蓄積された保護データの応用をあらわす。回路15は,回路13と同様に,レジスタ14からの物理データpを読取り要求毎に受けとる。それは,EEPROMからの蓄積データf(d,p)を復号してキーを復元する。」

(2)引用文献2に記載された技術
前記あ.には「集積回路内のデータを保護してデータに対する侵害を避ける方法を提供すること」を目的とすることが記載され,前記あ.の「集積回路の少なくともひとつの物理的パラメータネットワークから得られる少なくともひとつの第2物理データを前記第1データと組合せ,この組合せの結果のみを蓄積する・・・前記第2物理データは,前記物理的パラメータネットワークを集積化する前記集積回路の物理的及び製造上のばらつきに敏感である」との記載,前記い.の「物理的パラメータネットワークは認証された製造に特有の技術パラメータを再生することができない集積回路のクローンの大規模な侵害製造を検出するために用いられる」との記載から,「集積回路の物理的及び製造上のばらつきに敏感であり再生することができない技術パラメータであり,集積回路の少なくともひとつの物理的パラメータネットワークから得られる物理データ」をよみとることができ,前記「集積回路の物理的及び製造上のばらつきに敏感であり再生することができない」ことは前記「クローン・・・検出するため」の点をふまえると「物理的アンクローンナブル」であると換言できるものである。前記い.の「本発明では,組合せ,暗号化等,・・・マスク,及びより一般にデータの保護を含む」との記載,前記う.の「キーが安全装置(図示なし)により回路13に提供され,本発明により,・・・マスク,符号化,暗号化又は組合せ(COMB)が行なわれる。回路13は更に,チップと一体の物理的パラメータネットワーク17に結合してデジタルデータを蓄積するレジスタ14(REG)から来る2進ワードpを受けとる。回路13で実行される組合せの結果f(d,p)はEEPROM11に提供される・・・集積回路チップ10は復号回路15を含み,キーを通常の暗号ユニット(CRYPTO)16に送り返す・・・回路15は,回路13と同様に,レジスタ14からの物理データpを読取り要求毎に受けとる。それは,EEPROMからの蓄積データf(d,p)を復号してキーを復元する」との記載から,チップと一体の物理的パラメータネットワーク17から得られる2進ワードpが「マスク」であり,組合わせの結果f(d,p)におけるdがキーであるものをよみとることができる。
これらをあわせると,「集積回路内のデータを保護してデータ(キー)に対する侵害を避ける方法を提供するために,マスクは,集積回路の物理的及び製造上のばらつきに敏感であり再生することができない技術パラメータであり集積回路の少なくともひとつの物理的パラメータネットワークから得られる(生成される)物理データ(マスク)である技術」をよみとることができる。

5.3 参考文献
(1)参考文献1
本願優先権主張日前に頒布された刊行物である特表2004-519111号公報(以下,「参考文献1」という。)には,図面とともに次の事項が記載されている。
え.「【0007】
発明の要約
フィールドプログラマブルゲートアレイ(FPGA)は,FPGAに書き込まれたFPGAプログラム(データシーケンス)によって制御される論理を実現する。本発明のひとつの局面に関連して,そのメモリアレイに書き込まれるべきFPGAプログラムはまず暗号化されて,FPGAに書き込まれる前に所定の暗号キーに関連して解読されねばならない。
【0008】
本発明の他の局面に関連して,暗号化されたFPGAプログラムによってプログラムされるべきFPGAを実装する集積回路(IC)は,暗号化されたFPGAプログラムを受け取ってそれを適切な暗号キーに関連して解読して解読されたFPGAプログラムを生成する内部解読回路を有する。そして,解読回路は,解読されたFPGAプログラムをFPGAの内部メモリアレイに書き込む。したがって,暗号化されたFPGAプログラムは,適正な暗号キーに関連してFPGAプログラムを解読することのできる解読回路を装備していないFPGAをプログラムするためには使用され得ない。また,解読回路とFPGAが同じIC内に実装されているので,解読回路の出力ターミナルは容易にはアクセスできない。したがって,解読回路の解読されたFPGAプログラム出力は,それほど容易に不当受信されたり複製されたりはできない。
【0009】
本発明の他の実施の形態においては,解読回路とFPGAは個別のICチップに実装されているが,しかし,それらのチップは相互接続されて同じICパッケージ内に収容されており,解読回路の解読されたFPGAプログラム出力は容易にはアクセスされ得ない。
【0010】
したがって,FPGAプログラムが意図する特定の組のFPGA以外のFPGAをプログラムするためのFPGAプログラムの使用を阻止するためのシステムを提供することが本発明の目的である。」

(2)参考文献1に記載された技術
前記え.の「メモリアレイに書き込まれるべきFPGAプログラムはまず暗号化されて,FPGAに書き込まれる前に所定の暗号キーに関連して解読されねばならない・・・暗号化されたFPGAプログラムによってプログラムされるべきFPGAを実装する集積回路(IC)は,暗号化されたFPGAプログラムを受け取ってそれを適切な暗号キーに関連して解読して解読されたFPGAプログラムを生成する内部解読回路を有する・・・暗号化されたFPGAプログラムは,適正な暗号キーに関連してFPGAプログラムを解読することのできる解読回路を装備していないFPGAをプログラムするためには使用され得ない・・・解読回路とFPGAが同じIC内に実装されている・・・解読回路とFPGAは個別のICチップに実装されているが,しかし,それらのチップは相互接続されて同じICパッケージ内に収容されており・・・FPGAプログラムが意図する特定の組のFPGA以外のFPGAをプログラムするためのFPGAプログラムの使用を阻止するため」との記載から,参考文献1には,FPGAプログラムが意図する特定の組のFPGA以外のFPGAをプログラムするためのFPGAプログラムの使用を阻止するために,回路(集積回路(IC))は,FPGAタイプのプログラマブル回路(FPGA)において実現され,
前記回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイル(FPGAプログラム)を暗号化する(暗号化されたFPGAプログラム)ための暗号キー(第3の鍵k_(b)に相当)を含むことに相当する技術が示されている。

(3)参考文献2
本願優先権主張日前に頒布された刊行物である特表2008-512909号公報(以下,「参考文献2」という。)には,図面とともに次の事項が記載されている。
お.「【請求項1】
暗号機能性を提供するための集積回路チップであって,
第1の揮発性ランダム・アクセス・メモリと,
少なくとも1つのプロセッサと,
暗号化および復号化を実行するための少なくとも1つの暗号エンジンと,
外部から供給された要求およびデータを受信し,結果を戻すためのインタフェースと,
前記チップ上に存在する少なくとも1つの固定暗号鍵と,
少なくとも一部がプログラマブル・ハードウェアを有するフロー制御回路であって,前記インタフェース,前記少なくとも1つのプロセッサ,前記ランダム・アクセス・メモリ,および前記少なくとも1つの暗号エンジンの間でデータをルーティングするために前記インタフェースに接続されており,その接続において,暗号化命令が,前記インタフェースを介して暗号化形態で供給され,前記固定暗号鍵を用いて前記少なくとも1つの暗号エンジンによって復号化され,プログラマブル・ハードウェアを有する前記フロー制御回路の前記一部をプログラミングするために用いられる,フロー制御回路と,
を含む,集積回路チップ。」

か.「【0006】
本発明は,いずれかの特定の暗号エンジンの使用には限定されない。実際,本発明は,複数の別個の暗号エンジンを用いることができる。この点で,本明細書中で用いる場合,「暗号エンジン」という言葉は,べき剰余演算(modular exponentiation)または他のいずれかの暗号アルゴリズムを実行するように設計されたいずれかの回路を指すことは理解されよう。
…(中略)…
【0013】
従って,本発明の目的は,単一のセキュアな集積回路チップ上に暗号処理要素を設けることである。
…(中略)…
【0024】
本発明は,一般的に,単一チップ上にセキュアな暗号機能を提供するためのシステムおよび方法を対象とする。また,本発明は,本明細書において,セキュアなチップ上の暗号化技術(COACH)を提供するものとして記載する。一般的な観点からは,本発明は,複数の暗号エンジンにアクセスして利用すると共にこれらのエンジンを制御し利用するための適用可能アルゴリズムにアクセスし利用することができる暗号システムの外側の世界と内部との間でセキュアな通信を確立するためのセキュアな方法を提供する。更に具体的には,本発明は,この高度化した柔軟な暗号機能性をセキュアな方法および環境において与えるためのフィールド・プログラマブル・ゲート・アレイ(FPGA)を含む単一チップを用いる。本発明の別の態様では,セキュアな部分および非セキュアな部分に制御可能に分割することができる外部メモリに対して通信を行う。本発明の更に別の態様では,多数のCOACHシステムを用いることによって追加のパワーおよび柔軟性を与える。このシステムは,各チップ内の深い機能性レベルに通信を行うためのセキュアな方法のため,セキュアな方法で相互に作用すると共に個別に作用することができ,これによって,個々のCOACHシステムの機能性の相互チェックおよび二重チェックのための方法を提供する。別のレベルでは,本発明は,FPGAをプログラミングするためのセキュアな機構を提供する。
…(中略)…
【0028】
図1に,本発明のアーキテクチャ全体を示す。本明細書において最も詳細に記載する本発明は,暗号機能を実行するためのセキュアな単一チップを対象とする。しかしながら,前述のように,本明細書中において述べる機構および手順は,適切な暗号キーを所有する信頼されたエンティティによってセキュアな方法でのみプログラミングすることができるようにFPGA回路を用いることが望まれるいずれの状況にも広く適用可能である。更に,図1に見られるように,チップ100は,埋め込み(マイクロ)プロセッサ115を含む。これによって,全体的にセキュアな方法でプログラミングすることができるFPGAによってセキュアにプロセッサを制御するマイクロプロセッサ・チップを一般的に構成することができる(これについては,図4から図11を用いた考察を参照して以下で更に具体的に述べる)。これは,どんな埋め込みプロセッサでもセキュアな方法で制御可能であることを意味する。例えば,ある命令の実行を,認証可能キーを提供することができる信頼されたユーザのみに限るように制御可能である。」

(4)参考文献2に記載された技術
前記お.の「暗号機能性を提供するための集積回路チップ・・・ 暗号化および復号化を実行するための少なくとも1つの暗号エンジン・・・チップ上に存在する少なくとも1つの固定暗号鍵・・・プログラマブル・ハードウェアを有する・・・暗号化命令が,前記インタフェースを介して暗号化形態で供給され,前記固定暗号鍵を用いて前記少なくとも1つの暗号エンジンによって復号化され,プログラマブル・ハードウェアを有する前記フロー制御回路の前記一部をプログラミングするために用いられる」との記載,前記か.の「「暗号エンジン」という言葉は・・・暗号アルゴリズムを実行するように設計された・・・回路を指す・・・フィールド・プログラマブル・ゲート・アレイ(FPGA)を含む単一チップを用いる・・・FPGAをプログラミングするためのセキュアな機構を提供する・・・適切な暗号キーを所有する信頼されたエンティティによってセキュアな方法でのみプログラミングすることができるようにFPGA回路を用いる」との記載から,参考文献2には前記か.に記載された,単一のセキュアな集積回路チップ上に暗号処理要素を設けることを目的とした「暗号化回路(暗号機能性を提供するための集積回路チップ)は,FPGAタイプのプログラマブル回路(FPGA)において実現され,
前記回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイル(暗号化命令が,前記インタフェースを介して暗号化形態で供給,および,FPGAをプログラミングするためのセキュアな機構)を暗号化するための固定暗号鍵(第3の鍵k_(b)に相当)を含む」ことに相当する技術が示されている。

5.4 対比
本件補正により補正された請求項1に係る発明(以下「本願発明」と呼ぶ)は,前記「第4 当審判断」の「2.」で言及したように特許法第36条第6項第2号を満たしておらず明確でなく,前記「3.」で言及したように特許法第36条4項1号を満たしておらず発明の詳細な説明には当業者が実施できるように記載されていないものの,一応,本願明細書,特許請求の範囲,及び,図面の記載を,その字句どおりのものとして,本願発明と引用発明との対比を行う。

(1)引用発明の「DES暗号アルゴリズムを実行するための暗号キーを含むDES計算ユニット,キーマスキングユニット,メモリを含む暗号ハードウェア」は,暗号ハードウェアに関し,前記ア.に「本発明は,演算中に暗号ハードウェアエンジンを標的暗号解読攻撃から保護する方法に関」するとの記載から「暗号ハードウェアエンジン」は回路を含むことは通常である点(例えば参考文献2の前記か.参照)をふまえると,本願発明の「暗号化アルゴリズムを実行するための関数鍵k_(c)を含む暗号回路」と実質的な差異はない。

(2)引用発明の「マスク」は,「サイドチャネル攻撃からのハードウェアエンジンを保護することを可能とするマスク」であるから秘密な情報であることは自明であり,本願発明の「第2の鍵k_(i)」は「前記第2の鍵k_(i)によってマスク」するものであることからもマスクと呼べるものであり,引用発明の「マスク」は本願発明の「第2の鍵k_(i)」と実質的な差異はない。
してみれば,引用発明の「前記ハードウェアは,マスクを用いるマスキング方法(偽またはダミー演算)の使用により,あるラウンドにおける暗号化アルゴリズム置換(Sボックス)演算の(キー側の)入力値のサイドチャネル攻撃からのハードウェアエンジンを保護することを可能とするマスクを含む暗号ハードウェア」と本願発明の「前記回路は,前記回路に専用の第2の鍵k_(i)であって,前記回路のサイドチャネルを利用した攻撃から回路を保護することを可能とする第2の鍵k_(i)を含むことを特徴とする回路」とは「前記回路は,第2の鍵k_(i)であって,前記回路のサイドチャネルを利用した攻撃から回路を保護することを可能とする第2の鍵k_(i)を含むことを特徴とする回路」の点で共通する。

(3)引用発明の「マスキングをかけたキー」は本願発明の「マスク鍵」に相当する。引用発明の「前記キーはXOR演算によって前記キーとマスクとを用いてマスキングをかけたキーを生じさせ,入力データは前記マスキングをかけたキーによってXOR演算が適用されて暗号化され」ることと本願発明の「前記関数鍵k_(c)はXOR演算によって前記2つの鍵を組み合わせることにより前記第2の鍵k_(i)によってマスクされ,入力変数xはマスク鍵
【数1】


によって暗号化され」ることとに実質的な差異はない。

(4)本願発明の「PUF」(物理的クローン不能関数)は上位概念では手段とみることができ,引用発明で用いられる「事前に構築されたマスキング表」も上位概念では手段とみることができる。してみれば,引用発明の「前記マスクは事前に構築されたマスキング表を用いて生成されることを特徴とする暗号ハードウェア」と本願発明の「前記第2の鍵k_(i)はPUF(Physically Unclonable Function)により生成されることを特徴とする回路」とは,上位概念において「前記第2の鍵k_(i)は手段を用いることにより生成されることを特徴とする回路」の点で共通する。


前記(1)?(4)によれば,本願発明と引用発明とは次の点で一致し,そして,次の点で相違が認められる。
[一致点]
「暗号化アルゴリズムを実行するための関数鍵k_(c)を含む暗号回路であって,前記回路は,第2の鍵k_(i)であって,前記回路のサイドチャネルを利用した攻撃から回路を保護することを可能とする第2の鍵k_(i)を含むことを特徴とする回路であって,
前記関数鍵k_(c)はXOR演算によって前記2つの鍵を組み合わせることにより前記第2の鍵k_(i)によってマスクされ,入力変数xはマスク鍵
【数1】


によって暗号化され,
前記第2の鍵k_(i)は手段を用いることにより生成されることを特徴とする回路。」

〈相違点1〉
回路に係る第2の鍵k_(i)(マスク)であることに関し,本願発明は「回路に専用の」第2の鍵k_(i)であるのに対し,引用発明は,そのような事項を有していない点。

〈相違点2〉
本願発明は,「暗号回路は,FPGAタイプのプログラマブル回路において実現され,
前記暗号回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイルを暗号化するための第3の鍵k_(b)を含」むのに対し,引用発明は,そのような事項を有していない点。

〈相違点3〉
前記第2の鍵k_(i)は手段を用いることにより生成されることに関し,本願発明は,「PUF(Physically Unclonable Function)」により生成されるのに対し,引用発明は,そのような事項を有していない点。

5.5 当審判断
〈相違点1〉〈相違点3〉について
引用文献2には,前記4.2(2)で言及したように,集積回路内のデータを保護してデータ(キー)に対する侵害を避ける方法を提供するために,マスクは,集積回路の物理的及び製造上のばらつきに敏感であり再生することができない技術パラメータであり集積回路の少なくともひとつの物理的パラメータネットワークから得られる(生成される)物理データ(マスク)である技術が示されており,前記集積回路の物理的及び製造上のばらつきに敏感であり再生することができない,かつ,物理的パラメータネットワークから得られる(生成される)物理データ(マスク)は,回路に専用のマスクを示す技術であるといえるとともに,前記「集積回路の物理的及び製造上のばらつきに敏感であり再生することができない」ことは前記「クローン・・・検出する」ことができる点をふまえると「物理的アンクローンナブル」であると換言できるものであり,即ち,引用文献2には「マスクは,物理的アンクローンナブルな物理的パラメータネットワーク(Function;関数,機能)により生成される」技術が示されている。
そして,引用発明と引用文献2とはいずれも暗号化保護のための技術に係るものである。
してみれば,引用発明において,回路に係る第2の鍵k_(i)(マスク)であることに関し,「前記回路に専用の」第2の鍵k_(i)であると成すこと,および,引用発明において,前記第2の鍵k_(i)(マスク)は所定の手段を用いることにより生成されることに関し,「PUF(Physically Unclonable Function)」により生成されると成すことは,前記引用文献2の前記技術を参酌することにより当業者が容易になし得ることである。

〈相違点2〉について
前記「4.3 参考文献」で言及したように,参考文献1には,FPGAプログラムが意図する特定の組のFPGA以外のFPGAをプログラムするためのFPGAプログラムの使用を阻止するために,回路(集積回路(IC))は,FPGAタイプのプログラマブル回路(FPGA)において実現され,
前記回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイル(FPGAプログラム)を暗号化する(暗号化されたFPGAプログラム)ための暗号キー(第3の鍵k_(b)に相当)を含むことに相当する技術が示され,参考文献2には単一のセキュアな集積回路チップ上に暗号処理要素を設けることを目的とした「暗号化回路(暗号機能性を提供するための集積回路チップ)は,FPGAタイプのプログラマブル回路(FPGA)において実現され,
前記回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイル(暗号化命令が,前記インタフェースを介して暗号化形態で供給,および,FPGAをプログラミングするためのセキュアな機構)を暗号化するための固定暗号鍵(第3の鍵k_(b)に相当)を含む」ことに相当する技術が示されており,これら例にみられるように,FPGAプログラムが意図する特定の組のFPGA以外のFPGAをプログラムするためのFPGAプログラムの使用を阻止するため,あるいは,単一のセキュアな集積回路チップ上に暗号処理要素を設けることを目的として「暗号化回路は,FPGAタイプのプログラマブル回路において実現され,
前記回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイルを暗号化するための鍵を含む」技術は周知の技術であったと認められる。
してみれば,引用発明において「前記暗号回路は,FPGAタイプのプログラマブル回路において実現され,
前記暗号回路は,前記FPGAタイプのプログラマブル回路のプログラミングファイルを暗号化するための第3の鍵k_(b)を含」むと成すことは前記周知の技術を参酌することにより当業者が容易になし得ることである。

6.小括
したがって,本願発明は,前記引用発明,引用文献2ないし周知慣用の技術に基いて当業者が容易になし得るものであり,本願発明の奏する作用効果は,前記引用発明,引用文献2ないし前記周知慣用の技術の奏する作用効果から当然予測される範囲内のものにすぎず,格別顕著なものということはできない。
以上のとおり,本願発明は,特許法第29条第2項の規定により特許を受けることができないから,他の請求項に係る発明について検討するまでもなく,本願は拒絶されるべきものである。

7.平成28年3月25日付意見書について
請求人は意見書において進歩性に関し,「引用文献1」,「引用文献2」には,「関数f(d,p)」,「K´0=K0|X0」等記載されていると主張していることから,前記引用文献1,2は原審拒絶理由に示された引用文献1(特開2003-51820号公報),引用文献2(特表2004-527787号公報)のことであると認められ,当審拒絶理由に示した引用文献1,2に対応していないので,当審拒絶理由に対する意見として適切ではなく,前記請求人の主張は採用できない。

第5 むすび
以上のとおり,本願は,特許法第36条第6項第2号,第4項第1号の規定に違反し,また,本願発明は,特許出願前に日本国内又は外国において,頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて当業者が容易に発明をすることができたものであって,特許法第29条第2項の規定により特許を受けることができないものであるから,本願は,拒絶すべきものである。

よって,結論のとおり審決する。
 
審理終結日 2016-09-14 
結審通知日 2016-09-20 
審決日 2016-10-13 
出願番号 特願2011-546771(P2011-546771)
審決分類 P 1 8・ 537- WZ (H04L)
P 1 8・ 121- WZ (H04L)
P 1 8・ 536- WZ (H04L)
最終処分 不成立  
前審関与審査官 青木 重徳  
特許庁審判長 石井 茂和
特許庁審判官 須田 勝巳
高木 進
発明の名称 その暗号変換により特に情報漏洩観測攻撃から保護される暗号回路  
代理人 木村 高久  
  • この表をプリントする

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