弁護士法人ITJ法律事務所

裁判例


戻る

平成30年4月12日判決言渡
平成29年(行ケ)第10051号審決取消請求事件
口頭弁論終結の日平成30年2月8日
判決
原告アンスティテュミーヌーテレコム
同訴訟代理人弁理士木村高久
同小幡義之
被告特許庁長官
同指定代理人高木進
同石井茂和
同佐久聖子
同野崎大進
同板谷玲子
主文
1原告の請求を棄却する。
2訴訟費用は原告の負担とする。
3この判決に対する上告及び上告受理申立てのための付加期間
を30日と定める。
事実及び理由
第1請求
特許庁が不服2014-26792号事件について平成28年10月13日
にした審決を取り消す。
第2前提事実(いずれも当事者間に争いがない。)
1特許庁における手続の経緯等
原告は,発明の名称を「その暗号変換により特に情報漏洩観測攻撃から保護
される暗号回路」とする発明について,平成22年1月18日(パリ条約によ
る優先権主張外国庁受理2009年1月20日仏国)に特許出願をした(特
願2011-546771号。以下「本願」という。)。これに対し,平成2
6年1月15日付けで拒絶理由が通知されたことから,原告は,同年5月2日
に手続補正書等を提出したが,同年9月4日付けで拒絶査定がされた。
そこで,原告は,同年12月26日,特許庁に対し,拒絶査定不服審判を請
求した。これに対し,特許庁は,当該審判請求を不服2014-26792号
事件として審理をし,原告に対し,平成27年9月17日付けで拒絶理由を通
知した。これを受け,原告は,平成28年3月25日,特許請求の範囲の変更
を内容とする別紙手続補正書を提出したが,特許庁は,同年10月13日,
「本件審判の請求は,成り立たない。」との審決をした(出訴期間として90
日を附加した。以下「本件審決」という。)。その謄本は,同月25日,原告
に送達された。
原告は,平成29年2月22日,本件訴えを提起した。
2本願発明
本願に係る発明は,別紙手続補正書により補正された特許請求の範囲請求項
1~5に記載された事項により特定されるものであるところ(以下,請求項の
順に「本願発明1」のようにいい,本願発明1~5を併せて「本願発明」とい
う。また,本願に係る別紙明細書及び図面を「本願明細書等」という。),そ
の記載は,以下のとおりである。
【請求項1】
暗号化アルゴリズムを実行するための関数鍵kcを含む暗号回路(21)で
あって,前記回路は,前記回路に専用の第2の鍵kiであって,前記回路のサイ
ドチャネルを利用した攻撃から回路を保護することを可能とする第2の鍵kiを
含むことを特徴とする回路であって,
前記関数鍵kcはXOR演算によって前記2つの鍵を組み合わせることにより
前記第2の鍵kiによってマスクされ,入力変数xはマスク鍵
【数1】
によって暗号化され,
前記暗号回路は,FPGAタイプのプログラマブル回路において実現され,
前記暗号回路は,前記FPGAタイプのプログラマブル回路のプログラミング
ファイル(25)を暗号化するための第3の鍵kbを含み,
前記第2の鍵kiはPUF(PhysicallyUnclonableFunction)により生成されるこ
とを特徴とする回路。
【請求項2】
前記第2の鍵kiによって導入されるマスキングはHO-DPA攻撃から保護さ
れることを特徴とする,請求項1に記載の回路。
【請求項3】
前記第2の鍵kiの基数は前記関数鍵kcの基数に等しいことを特徴とする,
請求項1または2に記載の回路。
【請求項4】
前記第3の鍵kbの基数は前記関数鍵kcの前記基数よりも大きいかまたは等
しいことを特徴とする,請求項1に記載の回路。
【請求項5】
前記暗号化アルゴリズムはDESアルゴリズムであることを特徴とする,請
求項1~4のいずれか1項に記載の回路。
3本件審決の理由の要旨
本件審決の理由は,別紙審決書(写し)記載のとおりであるが,要するに,
以下のとおり,本願発明1は,特許法(以下「法」という。)36条6項2号
及び同条4項1号の要件を欠き,これを引用する本願発明2~5も同様であり,
また,本願発明1は,国際公開第2007/102898号公報(甲1。以下
「引用文献1」という。)記載の発明(以下「引用発明」という。)に,特開
2003-51820号公報(甲2。以下「引用文献2」という。)ないし周
知慣用の技術に基づいて当業者が容易になし得るものであり,本願発明1の奏
する作用効果もこれらから当然予測される範囲内のものに過ぎず,格別顕著な
ものということはできないから,法29条2項により特許を受けることができ
ず,本願発明2~5について検討するまでもなく,本願は拒絶すべきものであ
るとした。
(1)法36条6項2号について
一般に,データの暗号化と復号化とが対となって別々の装置を用い,あ
る装置(例えば送信側)で暗号化されたデータは別の装置(例えば受信側)
で復号化されることによりデータを暗号化する目的が実現されるところ,本
願発明1は「暗号化アルゴリズムを実行するための関数鍵kcを含む暗号回
路(21)であって,…第2の鍵kiはPUF(PhysicallyUnclonableFunction)
により生成される」事項を有することから,前記「PUFにより生成される」
「第2の鍵ki」に係る暗号化と復号化が対となると解されるが,例えば復号
化側の別の装置では(PUFはクローン不能であるから,前記別の装置では第
2の鍵kiと同じ鍵を持つことはできないので)復号化できないと解される。
本願明細書等の記載(【0002】)には,前記2つの側(送信側と受信側)
が同一である場合の言及はあるとしても,本願発明1は「同一」であるとの
限定はしておらず,前記2つの側が同一である場合,別々である場合のいず
れの場合も,暗号化されたデータをどのように復号化するのかが不明であっ
て,どのように(復号可能に)暗号化するのか明確に記載されたものとはい
えず,しかも,技術的意義も不明である。
このため,本願発明は,法36条6項2号の要件を満たしていない。
(2)法36条4項1号について
本願発明1は「kc⊕kiによって暗号化され,…第2の鍵kiはPUF
(PhysicallyUnclonableFunction)により生成される」事項を有する回路の発
明であるが,当該暗号化に関連する復号化について発明の詳細な説明には説
明されておらず,前記第2の鍵kiはPUF(物理的クローン不能関数)により
生成されるものであるから,マスク鍵(kc⊕ki)により暗号化された入力変数
xを何を用いてどのように復号すればよいのか,暗号化/復号化に係る回路
は唯一の回路を用いるのか,別の回路を用いるのか,前記唯一の回路を用い
て暗号化と復号化をする技術的意義はどのようなものなのか不明であり,ま
た,別の回路を用いるならいかにして同じPUFにより生成される第2の鍵
kiを有する別の回路が得られるのか不明である。
したがって,本願明細書等に係る発明の詳細な説明は,当業者が本願発
明を実施することができる程度に明確かつ十分に記載されたものではない。
(3)法29条2項について
ア引用発明
DES暗号アルゴリズムを実行するための暗号キーを含むDES計算ユニ
ット,キーマスキングユニット,メモリを含む暗号ハードウェアであっ
て,
前記ハードウェアは,マスクを用いるマスキング方法(偽またはダミ
ー演算)の使用により,あるラウンドにおける暗号化アルゴリズム置換
(Sボックス)演算の(キー側の)入力値のサイドチャネル攻撃からのハ
ードウェアエンジンを保護することを可能とするマスクを含むハードウ
ェアであって,
前記キーはXOR演算によって前記キーとマスクとを用いてマスキング
をかけたキーを生じさせ,入力データは前記マスキングをかけたキーに
よってXOR演算が適用されて暗号化され,
前記マスクは事前に構築されたマスキング表を用いて生成されること
を特徴とする暗号ハードウェア。
イ対比
本願発明1と引用発明とを対比すると,一致点及び相違点は,以下の
とおりである。
[一致点]
暗号化アルゴリズムを実行するための関数鍵kcを含む暗号回路であっ
て,前記回路は,第2の鍵kiであって,前記回路のサイドチャネルを利用
した攻撃から回路を保護することを可能とする第2の鍵kiを含むことを特
徴とする回路であって,
前記関数鍵kcはXOR演算によって前記2つの鍵を組み合わせることに
より前記第2の鍵kiによってマスクされ,入力変数xはマスク鍵
【数1】
kc⊕ki
によって暗号化され,
前記第2の鍵kiは手段を用いることにより生成されることを特徴とする
回路。
[相違点1]
回路に係る第2の鍵ki(マスク)であることに関し,本願発明1は「回
路に専用の」第2の鍵kiであるのに対し,引用発明は,そのような事項を
有していない点。
[相違点2]
本願発明1は,「暗号回路は,FPGAタイプのプログラマブル回路のプ
ログラミングファイルを暗号化するための第3の鍵kbを含」むのに対し,
引用発明は,そのような事項を有していない点。
[相違点3]
前記第2の鍵kiは手段を用いることにより生成されることに関し,本願
発明1は「PUF(PhysicallyUnclonableFunction)」により生成されるのに
対し,引用発明は,そのような事項を有していない点。
ウ判断
(ア)相違点1及び3について
引用文献2には,「マスクは,物理的アンクローンナブルな物理的パ
ラメータネットワーク(Function;関数,機能)により生成される」技
術が示されている。
また,引用発明と引用文献2とは,いずれも暗号化保護のための技術
に係るものである。
そうすると,引用発明において,回路に係る第2の鍵ki(マスク)で
あることに関し,「前記回路に専用の」第2の鍵kiであるとなすこと,
及び,前記第2の鍵ki(マスク)は所定の手段を用いることにより生成
されることに関し,「PUF(PhysicallyUnclonableFunction)」により生
成されるとなすことは,引用文献2の前記技術を参酌することにより当
業者が容易になし得ることである。
(イ)相違点2について
特表2004-519111号公報(甲4。以下「参考文献1」とい
う。)及び特表2008-512909号公報(甲5。以下「参考文献
2」という。)に見られるように,FPGAプログラムが意図する特定の
組のFPGA以外のFPGAをプログラムするためのFPGAプログラムの使
用を阻止するため,あるいは,単一のセキュアな集積回路チップ上に暗
号処理要素を設けることを目的として「暗号化回路は,FPGAタイプの
プログラマブル回路において実現され,前記回路は,前記FPGAタイプ
のプログラマブル回路のプログラミングファイルを暗号化するための鍵
を含む」技術は,周知の技術であったと認められる。
そうすると,引用発明において「前記暗号回路は,FPGAタイプのプ
ログラマブル回路において実現され,前記暗号回路は,前記FPGAタイ
プのプログラマブル回路のプログラミングファイルを暗号化するための
第3の鍵kbを含」むとなすことは,前記周知の技術を参酌することに
より容易になし得ることである。
(ウ)したがって,本願発明1は,引用発明,引用文献2ないし周知慣用
の技術に基づいて当業者が容易になし得るものであり,その奏する作
用効果は,引用発明,引用文献2ないし周知慣用の技術の奏する作用
効果から当然予測される範囲内のものに過ぎず,格別顕著なものとい
うことはできないのであり,法29条2項により特許を受けることが
できない。
第3当事者の主張
1原告の主張
(1)取消事由1(本願発明1の認定の誤り)
ア本願発明1における関数鍵kcとは,暗号化アルゴリズムを実行する鍵
のことであり,具体的には,DESアルゴリズム23に入力されてこれを
実行し,入力変数xから暗号文yを出力することに機能する鍵である(本
願明細書等の図4)。より具体的には,関数鍵kcは,本願明細書等の図
1又は2においてFeistel関数fに入力されて暗号化処理に適用される鍵で
ある(裁判所注:図1及び2には「Feisted」とあるが,正しくは「Feistel」
である。以下,図1又は2に言及する場合を含め,後者により表記す
る。)。ここで,「暗号化アルゴリズム」の操作とは,本願発明1の
「暗号化アルゴリズムを実行する」操作であり,関数鍵kcによって暗号
化アルゴリズムを実行して暗号文yを出力する操作を意味する。
他方,マスク鍵kc⊕kiとは,あくまで入力変数xを暗号化するだけのも
のである。ここで,「暗号化」の操作とは,本願発明1の「入力変数xは
マスク鍵kc⊕kiによって暗号化され」る操作であり,暗号化アルゴリズム
の操作の一部である。
イ一般に,鍵を用いて入力変数xを暗号化する際に,サイドチャネルを利
用した攻撃によって情報の漏洩が生じるおそれがある。そこで,本願発
明1では,マスク鍵kc⊕kiを用いて入力変数xを暗号化する。このため,
マスク鍵kc⊕kiは,サイドチャネルを利用した攻撃の攻撃者によって解読
される(可能性のある)鍵である(本願明細書等【0028】)。
本願明細書等の記載(【0040】)及び図4にあるとおり,関数鍵kc
は,暗号化アルゴリズムを実行して入力変数xから暗号文すなわち暗号化
された変数y(=DES(x,kc))を出力することに機能する。このため,
最終的に入力変数xから生成して出力される暗号文を復号する(攻撃者に
とっては解読する)ためには,Feistel関数fに入力されて暗号化処理に適
用される鍵,つまり暗号化アルゴリズムを実行することに機能する関数
鍵kcを知る必要がある。しかるに,サイドチャネルを利用した攻撃の攻
撃者によって漏洩される(可能性のある)鍵は,上記のとおり,マスク
鍵kc⊕kiでしかない。サイドチャネルを利用した攻撃によって攻撃者が上
記マスク鍵を知ったとしても,そこから関数鍵kcを推測することは,第
2の鍵kiが未知であるため容易なことではなく,このため,暗号文から平
文である入力変数xを復号する(攻撃者にとっては解読する)ことはでき
ない(本願明細書等【0046】)。本願発明1の意義は,以上の点に
ある。
ウしかし,本件審決は,本願発明1の認定に当たり,本願発明1の上記意
義をなんら認定しなかった。この点で本件審決には誤りがある。
(2)取消事由2(本願発明1と引用発明との一致点及び相違点の認定の誤り)
ア引用文献1には「マスキングをかけたキーを使用してDES暗号アルゴ
リズムを実行し,結果を出力データとしてメモリ31に再び書き込む。」
(引用文献1に対応する特表2009-516964号公報(甲17)
の【0034】。以下,引用文献1の訳(段落番号を含む。)は同公報
による。)との記載がある。このため,引用発明において暗号アルゴリ
ズムを実行し,暗号文を出力させることに機能するキーは,マスキング
をかけたキーである。
他方,引用文献1には「アルゴリズムのSボックスの入力側におけるア
ルゴリズムの実行のその部分を直接標的にすることができる。」(【0
006】)と記載されており,サイドチャネルを利用した攻撃がされる
のは,Sボックスの入力側である。また,引用文献1の図2には,Sボッ
クスS1の入力側に,キーK1をマスク[15]によってマスクしたキーを用い
てデータ1を暗号化することが示されている。このため,引用発明にお
いてサイドチャネルを利用した攻撃の攻撃者によって漏洩される(可能
性のある)キーは,マスキングをかけたキーである。
以上より,引用発明において暗号文を復号する(攻撃者にとっては解
読する)ためには,マスキングをかけたキーを知れば足り,マスキング
をかける対象となるキーを知る必要はない。
イしたがって,本願発明1と引用発明とを対比すると,本願発明1では,
マスキングの対象となるキー,すなわち第2の鍵kiによってマスキングさ
れる対象となる関数鍵kcが,暗号化アルゴリズムを実行して暗号文を出
力することに機能するのに対して,引用発明の「暗号キー」は,それ単
独で暗号化アルゴリズムを実行して暗号文を出力することに機能するも
のではなく,暗号キーとマスクとがXOR演算された「マスキングをかけ
たキー」が暗号アルゴリズムを実行して暗号文を出力することに機能す
る,という点で異なる。
ウそうすると,本件審決は,本願発明1と引用発明との一致点として「暗
号化アルゴリズムを実行するための関数鍵kc」を認定している点で誤りで
ある。
(3)取消事由3(容易想到性に関する認定の誤り)
ア相違点2に関する本件審決の認定・判断については,実質的に争わない。
イ相違点1及び3について
(ア)前記のとおり,本願発明1と引用発明とは,本願発明1では,マス
キングの対象となるキー,すなわち第2の鍵kiによってマスキングされ
る対象となる関数鍵kcが,暗号化アルゴリズムを実行して暗号文を出
力することに機能するのに対して,引用発明の「暗号キー」は,それ
単独で暗号化アルゴリズムを実行して暗号文を出力することに機能す
るものではなく,暗号キーとマスクとがXOR演算された「マスキング
をかけたキー」が暗号アルゴリズムを実行して暗号文を出力すること
に機能する,という点で異なる。
このため,本願発明1では,サイドチャネルを利用した攻撃によって
攻撃者がマスク鍵kc⊕kiを知ったとしても,そこから関数鍵kcを推測す
ることは,第2の鍵kiが未知であるため容易なことではなく,その結果,
暗号文を復号する(攻撃者にとっては解読する)ことはできないのに対
し,引用発明では,サイドチャネルを利用した攻撃によって攻撃者がマ
スキングをかけたキーを知ることができれば暗号文を復号することがで
きてしまうという点で,両者は発明の作用効果の点でも異なる。
さらに,引用発明では,真のマスクを用いた真の演算以外に,ダミー
マスクを用いたダミー演算を実行する必要があるとともに,真のメッセ
ージ以外にダミーメッセージを生成する必要があるのに対し,本願発明
1では,ダミー演算及びダミーメッセージの生成は不要である。
このように,本願発明1は,引用発明に対して顕著な作用効果を奏功
することから,引用発明から容易に想到されるものではない。
(イ)引用文献2には「データdはメモリ2(MEM)に直接には蓄積され
ず,集積回路チップの物理的パラメータネットワークにより提供され
る量の測定値(ブロック4,MES)からくる物理データpと組合される
(ブロック3,COMB)。値f(d,p)はこの組合せの関数で,メモリ
2(例えばEEPROM)に蓄積される。」(【0037】)と記載され
ている。したがって,引用文献2には,データdと物理データpを組み
合わせ,その結果の値f(d,p)をメモリに蓄積するという発明が記載
されている。
しかし,引用文献2に示されるデータd,物理データp,値f(d,p)
は,いずれも,本願発明1の「第2の鍵kiによってマスクされる鍵であ
って,暗号化アルゴリズムを実行する関数鍵kc」,「暗号化アルゴリズ
ムを実行する関数鍵kcをマスクする第2の鍵ki」,「入力変数xをマス
クするマスク鍵kc⊕ki(暗号化アルゴリズムを実行する関数鍵kcと第2
の鍵kiがXOR演算によって組み合わせられた鍵)」に相当しない。
そうである以上,引用発明に引用文献2を組み合わせても,本願発明
1は容易に想到されるものではない。
(ウ)引用発明1におけるマスク[0],マスク[1],…マスク[63]は,テーブ
ル表より既知の鍵である。これに対し,引用文献2には,マスクが物
理的にアンクローンナブルであることが示されている。
しかるに,引用発明のマスク[0]等を「物理的にアンクローンナブル」
なマスクに置換したとしても,引用発明において,設計者にとって未知
である「物理的にアンクローンナブル」なマスクを含むメッセージデー
タが暗号アルゴリズムから出力されることとなりメッセージデータを復
号化することができない。
そうである以上,引用発明に引用文献2を組み合わせることには阻害
事由があり,これらを組み合わせて本願発明1を容易に想到することは
できない。
(エ)参考文献1及び参考文献2には本願発明1の「第2の鍵kiによって
マスクされる鍵であって,暗号化アルゴリズムを実行する関数鍵kc」,
「暗号化アルゴリズムを実行する関数鍵kcをマスクする第2の鍵ki」,
「入力変数xをマスクするマスク鍵kc⊕ki(暗号化アルゴリズムを実行
する関数鍵kcと第2の鍵kiがXOR演算によって組み合わせられた鍵)」
に相当する構成は何ら示されていない。
そうである以上,引用発明に参考文献1及び2を組み合わせても,本
願発明1は容易に想到されるものではない。
(4)取消事由4(実施可能要件に関する認定の誤り)
ア(ア)本願発明を実施するための事項は,以下のとおり,本願明細書等に
記載されており,実施可能要件を満たしている。
(イ)本願明細書等の「関数鍵kcが回路21の暗号化を実施する役割を果
たす。この暗号化は例えばレジスタ22の内部で入力変数xを暗号化さ
れた変数y=DES(x,kc)に変換するDESアルゴリズム23である。」
(【0040】)との記載及び図4によれば,本願明細書等には,回
路21に,入力変数xが入力されるとともに関数鍵kcが入力され,回路
21でDESアルゴリズムを実行し,暗号文y=DES(x,kc)を出力する
という事項が記載されているということができる。これは,本願の請
求項1の「暗号化アルゴリズムを実行するための関数鍵kcを含む暗号
回路(21)」の記載に相当する。
また,本願明細書等の「暗号鍵9,kはまたFeistel関数10によりマ
スクmによってマスクされる。」(【0027】)との記載並びに図
1及び2によれば,図1及び2の回路に示される鍵kcが,マスクmに
よってマスクされる暗号鍵であるということが理解される。そして,本
願明細書等には,図1及び2に示される回路の説明として「K⊕Mつ
まり秘密鍵Kそれ自体がマスクMにより暗号化される。」との記載
(【0028】)があるところ,上記回路の(マスクmによってマス
クされる)暗号鍵kcは,(マスクMによってマスクされる)秘密鍵K
と同一である。ここで,秘密鍵とは,暗号文yの復号化に必要な鍵であ
って暗号化アルゴリズムF(x,k)を実行するための鍵kであると定義
される。そうすると,本願明細書等の上記記載並びに図1及び2には,
秘密鍵kcが,マスクmによって,K⊕Mという形式でマスクされて暗号
化されるものの,図1及び2に示される回路で暗号化アルゴリズムF
(x,kc)を実行すると,暗号文y=F(x,kc)が出力される(秘密鍵kc
が暗号文yの復号化に必要な鍵である)ことが示されているといえる。
これは,本願の請求項1の「暗号化アルゴリズムを実行するための関数
鍵kcを含む暗号回路(21)」の記載に相当する。
(ウ)本願の請求項1の「入力変数xは,マスク鍵kc⊕kiによって暗号化さ
れ」につき,本願明細書等の図4には,関数鍵kcが,マスク(第2の
鍵)kiとXORゲートでXOR演算されて(kc⊕ki),DESアルゴリズム2
3の内部のレジスタ22に入力されることが示されている。他方,同
図には,入力変数xが,DESアルゴリズム23に入力されることも示さ
れている。このため,DESアルゴリズム23に入力された入力変数xは,
DESアルゴリズム23の内部のレジスタ22に入力されたマスク鍵
kc⊕kiによって暗号化されることを,当業者であれば理解する。
また,本願明細書等の「左右のデータレジスタに保存される前に,メ
ッセージのデータは左でXORゲート7および右でXORゲート8という
手段によりマスクデータと組み合わされることによってマスクされる。
暗号鍵9,kはまたFeistel関数10によりマスクmによってマスクされ
る。」(【0027】)との記載並びに図1及び2によれば,XORゲ
ート8で,メッセージデータ(入力変数x)と第2の鍵kiがXOR演算
(x⊕ki)されていること,及びこの演算結果がレジスタ6を経てFeistel
関数10に入力され,Eで示される箇所を経て,関数鍵kcとXOR演算
(x⊕ki⊕kc)されていることが,それぞれ理解される。排他的論理和⊕
(XOR演算子)は,その左辺と右辺を交換しても計算結果は同じであ
り(交換法則),計算の優先順位を変えても計算結果は同じである(結
合法則)ことから,Feistel関数10に入力され,Eで示される箇所を経
て得られたx⊕ki⊕kcは,x⊕(kc⊕ki)となる。そうすると,図1及び2には,
「マスク鍵kc⊕kiによって入力変数xが暗号化され(x⊕(kc⊕ki))」という
事項が示されているといえる。
(エ)本願明細書等の記載(【0037】)及び図3によれば,図3にお
いて,入力データXがx⊕kcであり,マスクMが第2の鍵kiであるとす
ると,レジスタ31の前段のXOR演算部でx⊕kc⊕kiの演算がされ,いず
れのレジスタにおいても第2の鍵kiによってマスキングがされることに
より,x⊕kcは漏洩されないが,レジスタ35の後段のXOR演算部から
は第2の鍵kiがデマスキングされたE(x⊕kc)が出力されるという事項
が示されているといえる。
また,本願明細書等の図2においても,図3と同様に,Feistel関数1
0内のEの後段のXOR演算部でx⊕kc⊕kiの演算がされ,いずれのレジス
タにおいても第2の鍵kiによってマスキングがされて,x⊕kcは漏洩され
ないが,XOR演算部13,14からは,第2の鍵kiがデマスキングさ
れた暗号文が出力されるという事項が示されているといえる。
イ(ア)本願発明は,その名称が示すとおり「その暗号変換により特に情報
漏洩観測攻撃から保護される暗号回路」に関し,暗号回路においてサイ
ドチャネル攻撃から保護されることを課題とする。したがって,本願発
明の暗号回路を実施するための事項を発明の詳細な説明に記載すれば足
り,暗号回路を実施するための事項以外の事項である復号を実施するた
めの事項が発明の詳細な説明に記載されていないことをもって,実施可
能要件を満たしていないということにはならない。
(イ)マスク鍵kc⊕kiによって暗号化された入力変数xを,暗号回路から
「y=DES(x,kc)」として第2の鍵kiを用いない形式で出力すること
は可能である。
すなわち,本願明細書等の図2に示されるとおり,本願発明において
は,暗号化アルゴリズムにXORゲート7,8,12,13,14を付
加することによって,第2の鍵kiは,マスク鍵kc⊕kiのために使用され
る一方で,XOR演算を繰り返すことによって最終的に消去される。こ
のため,出力15(同図)から最終的に得られた暗号文yを解読するた
めには,関数鍵kcさえ知り得ればよく,第2の鍵kiを要しない。この
ことは,本願発明の出願時における当業者の技術常識をもって理解し得
る。
ウ以上より,実施可能要件に関する本件審決の認定は誤りである。
(5)取消事由5(明確性要件に関する認定の誤り)
本願の請求項1に「マスク鍵kc⊕kiによって暗号化された入力変数xを,
暗号回路から第2の鍵kiを用いない形式で出力でき,出力されたものを関数
鍵kcによって復号できる」ことが記載されていることについては,取消事
由4と同様である。
したがって,明確性要件に関する本件審決の認定は誤りである。
2被告の主張
(1)取消事由1(本願発明1の認定の誤り)に対し
ア本件審決は,特許請求の範囲に記載された事項により特定されるものと
して本願発明1の認定を行ったものであり,その認定に誤りはない。
イ(ア)原告は,本願発明1における関数鍵kcとは,暗号化アルゴリズムを
実行する鍵のことであり,具体的には,DESアルゴリズム23に入力
されてこれを実行し,入力変数xから暗号文yを出力することに機能す
る鍵のことであり,「暗号化アルゴリズム」の操作とは,本願の請求項
1に記載の「暗号化アルゴリズムを実行する」操作であり,関数鍵kc
によって暗号化アルゴリズムを実行して(最終的に)暗号文を出力する
操作を意味する旨主張する。
しかし,本願発明1に係る特許請求の範囲には「暗号化アルゴリズム
を実行するための関数鍵kcを含む暗号回路(21)であって」と記載
されているに過ぎず,「関数鍵kc」につき,「暗号化アルゴリズムを実
行するための関数鍵kc」であることや「関数鍵kcを含む暗号回路」と
特定されているものの,「関数鍵kc」が単独で「暗号化アルゴリズムを
実行する鍵のことであ」ることや「関数鍵kcによって暗号化アルゴリ
ズムを実行して(最終的に)暗号文を出力する」ことは,何ら特定され
ていない。
したがって,原告の上記主張は,本願の特許請求の範囲の記載に基づ
くものではない。
(イ)原告は,最終的に入力変数xから生成して出力される暗号文を復号す
る(攻撃者にとっては解読する)ためには,Feistel関数fに入力されて
暗号化処理に適用される鍵,つまり暗号化アルゴリズムを実行するこ
とに機能する関数鍵kcを知る必要がある,関数鍵kcが暗号化アルゴリ
ズムを実行して入力変数xから暗号文,つまり暗号化された変数yを出
力することに機能することは,本願明細書(【0040】,図4)に
「y=DES(x,kc)」として記載されているなどと主張する。
しかし,本願発明1の特許請求の範囲には「入力変数xはマスク鍵
【数1】kc⊕kiによって暗号化され」と記載されているに過ぎず,「入
力変数xはマスク鍵kc⊕kiで暗号化」されることは特定されているもの
の,「関数鍵kcが暗号化アルゴリズムを実行して入力変数xから暗号
文,つまり暗号化された変数yを出力することに機能」することや,
「y=DES(x,kc)」として出力されることについては,何ら特定され
ていない。
したがって,原告の上記主張は,本願の特許請求の範囲の記載に基づ
くものではない。
(ウ)原告は,本件明細書等の図1及び2の記載を根拠として,「暗号化」
の操作とは本願の請求項1の「入力変数xはマスク鍵kc⊕kiによって暗
号化され」る操作であり,マスク鍵kc⊕kiによって入力変数xを暗号化
するという,暗号化アルゴリズムの操作の一部を意味するなどと主張
するけれども,後記((4)イ)のとおり,上記図1及び2の実施例は,
本願発明1に係る特許請求の範囲に対応する実施例ではない。
(エ)仮に,原告の主張する本願発明1の意義を参酌してクレームを限定
解釈し,「関数鍵kc」が単独で「暗号化アルゴリズムを実行する鍵のこ
とであ」ることや「関数鍵kcによって暗号化アルゴリズムを実行して
(最終的に)暗号文y=DES(x,kc)を出力する」ことを本願発明1の
構成として認定した場合であっても,引用発明においても,「関数鍵kc
によって暗号化アルゴリズムを実行して(最終的に)暗号文y=DES(x,
kc)を出力する」ことが実質的に記載されているといえるから,上記本
願発明1の構成は,実質的な相違点とならない。
したがって,原告主張に従って本願発明1の上記構成を認定したとし
ても,容易想到性判断の結論には影響しない。
(2)取消事由2(本願発明1と引用発明との一致点及び相違点の認定の誤り)
に対し
ア原告は,鍵kcに関し,本願発明1の関数鍵kcは,暗号化アルゴリズム
を実行して暗号文を出力することに機能するものである旨主張する。
しかし,前記のとおり,本願発明1の特許請求の範囲には「暗号化ア
ルゴリズムを実行するための関数鍵kcを含む暗号化回路(21)であっ
て」と記載されているに過ぎず,「暗号文を出力することに機能」する
ものであることは何ら特定されていないから,原告の上記主張は,本願
の特許請求の範囲の記載に基づくものではない。
イ原告は,引用発明につき,引用発明の「暗号キー」は,それ単独で暗号
化アルゴリズムを実行して暗号文を出力することに機能するものではな
く,暗号キーとマスクとがXOR演算された「マスキングをかけたキー」
が暗号化アルゴリズムを実行して暗号文を出力することに機能する旨主
張する。
しかし,引用文献1の記載(【0008】,【0011】)によれば,
引用文献1の暗号化アルゴリズムは,ランダム順で真及びダミーキーを
使用しており,ダミーキーから間違った結果はダミーメモリロケーショ
ンに格納されるが,Zeroでマスキングされたキーは「真のキー」として,
その結果は真の結果としてメモリに格納される。ここで,Zeroでマスキ
ングされたキーはマスキングされないキーと等価であることは明らかで
あるので,引用発明の「『DES暗号アルゴリズム』を実行するための暗
号キーを含むDES計算ユニット,キーマスキングユニット,メモリを含
む暗号ハードウェア」における「暗号キー」には,マスキングされたダ
ミーキーだけでなく,マスキングされないキーと等価である「真のキー」
が含まれる。すなわち,引用発明の「暗号キー」には,本願発明1の
「関数鍵kc」に相当するものも含まれるといえる。
したがって,引用発明に関する原告の上記主張は,引用文献1の記載
の理解を誤ったものである。
(3)取消事由3(容易想到性に関する認定の誤り)に対し
ア原告は,本願発明1では,マスキングの対象となるキー,つまり第2の
鍵kiによってマスキングされる対象となる関数鍵kcが,暗号化アルゴリ
ズムを実行して暗号文を出力することに機能するのに対して,引用発明
では,マスキングをかけたキーが暗号アルゴリズムを実行して暗号文を
出力することに機能するという点で異なるため,本願発明1は引用発明
に対して顕著な作用効果を奏功する旨主張する。
しかし,原告の上記主張は,前記(1)イ(ア),(イ)及び(2)イのとおり,本願
発明1についてはその特許請求の範囲の記載に基づくものとはいえず,
引用発明についても,引用文献1の記載の理解を誤ったものである。
イ原告は,引用文献1に引用文献2を組み合わせても,引用文献2に示さ
れるデータd,物理データp,値f(d,p)は,いずれも,本願発明の「第2
の鍵kiによってマスクされる鍵であって,暗号化アルゴリズムを実行する
関数鍵kc」,「暗号化アルゴリズムを実行する関数鍵kcをマスクする第
2の鍵ki」,「入力変数xをマスクするマスク鍵kc⊕ki(暗号化アルゴリズ
ムを実行する関数鍵kcと第2の鍵kiがXOR演算によって組み合わせられ
た鍵)」に相当しないから,相違点1及び3に係る構成には想到し得な
い旨主張する。
しかし,前記のとおり,本願の特許請求の範囲の記載では「暗号化ア
ルゴリズムを実行するための関数鍵kcを含む暗号回路」,「入力変数xは
マスク鍵kc⊕kiによって暗号化」との特定がされているものの,「第2の
鍵kiによってマスクされる鍵であって,暗号化アルゴリズムを実行する関
数鍵kc」,「暗号化アルゴリズムを実行する関数鍵kcをマスクする第2
の鍵ki」,「入力変数xをマスクするマスク鍵kc⊕ki(暗号化アルゴリズム
を実行する関数鍵kcと第2の鍵kiがXOR演算によって組み合わせられた
鍵)」という態様は,本願の特許請求の範囲で特定されていない。
したがって,原告の上記主張は,本願の特許請求の範囲の記載に基づ
くものではない。
(4)取消事由4(実施可能要件に関する認定の誤り)及び取消事由5(明確
性要件に関する認定の誤り)に対し
ア本願発明を暗号回路として実施するための事項が本願明細書等に記載さ
れているということはできない。
すなわち,暗号回路といえるためには,復号可能な暗号化を実行する
ことが必要であることは,暗号技術分野の技術常識である。そして,本
願の請求項では,入力変数xをマスク鍵kc⊕kiで暗号化しているから,暗
号化の際と復号化の際には同じ秘密鍵が必要となるという共通鍵暗号の
技術常識に照らし,復号化の際には暗号化の際に使用したマスク鍵kc⊕ki
が必要となる。
しかし,サイドチャネル攻撃によって暗号化の際に使用した秘密鍵は
特定されてしまうことから,秘密鍵kcを使用する代わりにマスク鍵kc⊕ki
を使用して暗号化を行ったとしても,暗号解読に必要なマスク鍵kc⊕kiが
特定されてしまうことになる。これは,本願の請求項1の「サイドチャ
ネルを利用した攻撃から回路を保護することを可能とする第2の鍵kiを含
むことを特徴とする回路」という記載と整合しないから,上記請求項の
記載は技術的に不明瞭となっている。
また,本願明細書等の実施例(図2及び4)によっても,入力変数xを
マスク鍵kc⊕kiで暗号化しながら,出力暗号文として「y=DES(x,kc)」
が出力されることが,当業者に実施可能な程度に具体的に記載されてい
るということはできない。
したがって,本願の請求項は技術的に不明瞭であるから,明確性要件
を満たしているとはいえず,また,本願明細書等には,本願の請求項に
係る発明である回路を暗号回路として実施するための事項が記載されて
いないから,実施可能要件を満たしているとはいえない。
イ本願明細書等の図2について
(ア)原告は,本願明細書等の図2を根拠として,第2の鍵kiは,マスク
鍵kc⊕kiのために使用されるが,XOR演算を繰り返すことによって消去
され,最終的に得られた暗号文x⊕kcを解読するためには,関数鍵kcさ
え知り得ればよく,第2の鍵kiを要しない旨主張する。
(イ)しかし,図2では,入力変数xであるメッセージに初期置換IP1を
行い(IP(x)),第2の鍵kiにも初期置換IP2を行い(IP(ki)),IP1の
出力IP(x)とIP2の出力IP(ki)をXORゲート8でXOR演算して
(IP(x)⊕IP(ki)),レジスタ6に格納している。そして,レジスタ6に格
納されたIP(x)⊕IP(ki)に拡大置換Eを行い(E(IP(x)⊕IP(ki))),出力
E(IP(x)⊕IP(ki))と関数鍵kcとでXOR演算を行い(E(IP(x)⊕IP(ki))⊕kc),S
ボックス9への入力としている。
このうち,IP1の出力IP(x)とIP2の出力IP(ki)をXORゲート8で
XOR演算(IP(x)⊕IP(ki))している点は,入力変数xであるメッセージを
第2の鍵kiとのXOR演算によりマスクしているということができる。
他方,Sボックス9への入力E(IP(x)⊕IP(ki))⊕kcにおいて,関数鍵kcと第
2の鍵kiに着目すると,関数鍵kcと第2の鍵kiとで直接XOR演算を行
っていない。そうすると,「関数鍵kcはXOR演算によって…第2の鍵
kiによってマスクされ」ているとはいえない。
(ウ)また,初期置換IPの入力は64ビット幅であるから,第2の鍵kiの
ビット幅は64ビットである。他方,拡大置換Eの出力は48ビット幅
であるから,拡大置換Eの出力E(IP(x)⊕IP(ki))のビット幅は48ビット
である。
ここで,XOR演算は,同じビット幅を有する2つの2進数を入力と
する2項演算であるという技術常識を踏まえると,拡大置換Eの出力
E(IP(x)⊕IP(ki))とのXOR演算の対象となっている関数鍵kcのビット幅は,
拡大置換Eの出力E(IP(x)⊕IP(ki))のビット幅と同じ48ビットである。
「入力変数をマスク鍵kc⊕kiで暗号化」するためには,少なくとも第
2の鍵kiと関数鍵kcとが間接的にXOR演算していること,すなわち,
E(IP(x)⊕IP(ki))⊕kcの演算順序を入れ換えて,例えばE(IP(x)⊕IP(ki⊕kc))の
ように変換可能である必要があるが,初期置換IP及び拡大置換Eは,
ビット位置の入れ替えやビット幅の拡大を行っているから,初期置換
IP及び拡大置換E並びにXOR演算の演算順序は入れ換え可能であると
はいえない。仮に初期置換IP及び拡大置換E並びにXOR演算の演算順
序が入れ換え可能であったとしても,ビット幅の異なる第2の鍵ki(ビ
ット幅64ビット)と関数鍵kc(ビット幅48ビット)とはXOR演算
できない。
したがって,図2の実施例において,第2の鍵kiと関数鍵kcとは,
間接的にもXOR演算しているとはいえない。
(エ)以上より,図2の実施例において,第2の鍵kiと関数鍵kcとは,直
接的にも間接的にもXOR演算しているとはいえないから,同実施例は
「入力変数をマスク鍵kc⊕kiで暗号化」しておらず,「関数鍵kcはXOR
演算によって…第2の鍵kiによってマスクされ」ているとはいえない。
そうすると,同実施例は,本願の請求項に係る発明に対応する実施例
ということはできない。
したがって,図2の実施例に基づく原告の主張は,本願の請求項の記
載に基づく主張でないから,理由がない。
(オ)仮に図2に記載の実施例が「入力変数をマスク鍵kc⊕kiで暗号化」し
ているとしても,少なくとも,図2のS’16は,DESアルゴリズムの
基本構成であるSボックス9と区別され,Sボックス9とは異なり,2
つの48ビット幅の入力を持っている。しかし,図2のS’16がどの
ような演算を行っているのかについて,本願明細書等には何ら記載も
示唆もない。このため,図2に記載の実施例を当業者が実施すること
はできず,実施可能要件を満たしているとはいえない。
第4当裁判所の判断
1本願発明
本願発明に係る特許請求の範囲請求項の記載は,前記(第2の2)のとおり
である。
2本願明細書等の記載等
(1)技術分野(【0001】)
本発明はそれらの暗号化により特に情報漏洩観測攻撃から保護される暗
号回路に関する。
(2)背景技術
通信および情報処理のための手段のローミング能力が増すとともに,新
しい攻撃が考えられるようになっている。実行速度の点から,それを構成す
る電子回路,例えばDPA攻撃によるエネルギー消費量の点から,またはそ
の放射挙動,例えばEMA攻撃による磁気放射の点からシステムの時間的挙
動を観測することにより大量の情報が漏洩しうる。サイドチャネルへのこれ
らの攻撃に対しては,特に,
この例では秘密とは無関係に漏えいを一定にすることを伴う秘匿と,
漏えいをランダムにすることを伴う,つまり予測不能でありしたがって
利用不可能とするマスキングと,を基にする保護が提案されている。(【0
004】)
これらの2つの技法は情報の取得を狙った攻撃の困難さを増すことを可
能とするが,それらはそれでもなお実装欠陥から利益を得るであろう攻撃に
対しては依然脆弱である。DPA攻撃の例は,P.Kocherらによる文献,
DifferentialPowerAnalysis,InproceedingsofCRYPT’99,volume1666ofLNCS,
pages338-397,Springer-Verlag,1999に記載されている。EMA攻撃の例は
K.Gandolfiらによる文献,ElectromagneticAnalysis-ConcreteResults,InCHES,
volume2162ofLNCS,pages251-261,Springer-Verlag,2001に記載されている。
(【0005】)
起こりうるまたは立証された脆弱性の例は数多く存在する。
以下が特に挙げられる。
差分論理(WDDLなどの)に基づく秘匿は計算フェーズと評価フェーズ
とプリチャージフェーズとのうちの1つまたは別の間の累積した組み合わせ
のずれの差への攻撃に対して脆弱となる場合がある。
マスキングはHO-DPAと呼ばれる高階攻撃に敏感な場合がある。(【0
006】)
(3)課題を解決するための手段
本発明の目的は特にこれらの,特にDPAまたはEMAタイプの攻撃に対抗
することである。この目的のため,本発明の対象は暗号アルゴリズムを実行
するための関数鍵kcを含む暗号回路であって,前記回路はkcとは別の前記
回路のそれぞれの例に特有の,回路のサイドチャネルを利用した攻撃から回
路を保護することを可能とする第2の鍵kiを含むことを特徴とする。(【0
007】)
関数鍵kcは例えばXOR演算によって2つの鍵を組み合わせることにより
第2の鍵kiによってマスクされ,入力変数xはマスク鍵
【数1】
kc⊕ki
によって暗号化されている。(【0009】)
第2の鍵kiは例えば秘密実装によって鍵kcを保護する役割を果たす。
(【0010】)
第2の鍵kiは例えば特に鍵kiでマスキングすることにより保護される2つ
の秘密関数の囲い込みによってカスタマイズされる標準暗号アルゴリズムか
らなる秘密アルゴリズムを保護する役割を果たす。(【0011】)
第2の鍵kiは例えばPUF(PhysicallyUnclonableFunction)またはPOK
(PhysicallyObfuscatedKey)タイプの関数により生成される。(【001
2】)
第2の鍵kiにより導入されるマスキングはHO-DPA高階攻撃に対して保
護されてもよい。(【0014】)
回路に固有の実装鍵としての役割を果たす第2の鍵kiの知識により,例え
ば保護管理プロシージャを,前記管理を担う特権ユーザが使用することが可
能となる。(【0015】)
これはFPGAタイプのプログラマブル回路で実現されてもよい。(【00
16】)
第2の鍵kiはFPGAのプログラミングファイルを介してカスタマイズされ
てもよい。(【0017】)
有利には,回路はソフトウェアの実装により実現されてもよい。(【0
018】)
それは例えば前記FPGA回路のプログラミングファイル(25)を暗号化
し,これにより外部記憶の機密性およびFPGAへの鍵kiの移転の機密性を付
与するための第3の鍵kbを含む。(【0019】)
第2の鍵kiの基数は例えば関数鍵kcの基数に等しい。これはkiへの隠し
チャネル攻撃をkcへの暗号解読攻撃よりも困難にするためである。(【0
020】)
第3の鍵kbの基数の基数は関数鍵kcの基数よりも大きいかまたは等しい。
(【0021】)
この暗号化アルゴリズムはDESアルゴリズムである。(【0022】)
(4)発明を実施するための形態
図1に本発明が適用されうるマスキングのモードを呈示する。特に図1
には,特にS.Guilleらによる文献,AfastPipelinedMultiModeDESArchitecture
OperatinginIPRepresentation,Integration,TheVLSIJournal,40(4)pages479-489,
July2007,DOIに概要が示されるアーキテクチャに従い実装されるDES
(DataEncryptionStandard)アルゴリズムのマスキングの図が例として呈示
される。図1の回路は例えばFPGA(FieldProgrammableGateArray)タイプ
のプログラマブル論理回路で実現される。このアルゴリズムでは,データパ
スは2つの部分,左と右とに分割される。(【0025】)
対比のために,図2はマスキングによる保護を保証するためのハードウ
ェアオーバーヘッドを強調する同様の回路を示し,このオーバーヘッドを生
じさせる回路は破線により示されている。(【0026】)
したがって左のデータレジスタ3と右のデータレジスタ4との間に入力
メッセージ1が割り当てられる。左のマスクレジスタ5と右のマスクレジス
タ6との間にマスク2が割り当てられる。左右のデータレジスタに保存され
る前に,メッセージのデータは左でXORゲート7および右でXORゲート8
という手段によりマスクデータと組み合わされることによってマスクされる。
暗号鍵9,kはまたFeistel関数10によりマスクmによってマスクされる。
右のレジスタ6のマスクされるデータと右のレジスタ2の半分のマスクは,
そこで右のマスクされるデータが第1の換字ボックス9により暗号化され,
かつ,そこで右の半分のマスクが第2の換字ボックス16により暗号化され
るFeistel関数の入力を形成する。左のデータレジスタ5と左のマスクレジス
タ1のデータはXORゲート11,12という手段によりFeistel関数の出力
においてそれぞれ右のデータと新しいマスクとに組み合わされ,その後右の
レジスタにループ状に戻り,左右のデータはその後暗号化されたメッセージ
を出力15するようにXORゲート13,14により再び組み合わされる。
図1のタイプの回路ではデータレジスタ5,6のみが漏洩すると想定される。
(【0027】)
本発明による回路は漏洩を続けるがそれを暗号化の状態にするため理解
できない。したがって例えばDPAまたはEMAタイプの攻撃を実行する攻撃
者には以下の変数のみがわかる。
【数2】
K⊕M(1)
つまり秘密鍵Kそれ自体がマスクMにより暗号化される。鍵Kのこの保
護モードは,XORとも呼ばれかつ
【数3】

により表される「排他的論理和」演算を用いるVernam暗号という名で公知
であり,VernamコードはXOR演算を用いて暗号化することができるコード
である。本発明による暗号回路はしたがって情報漏洩のVernam暗号化によ
り隠しチャネルへの攻撃から保護される。(【0028】)
暗号化アルゴリズムが完全にカスタマイズされる用途分野が存在する。
例えば秘密暗号に依存するGSMの公共または私用の範囲または有料テレビ
がそのようなケースである。この選択を正当化するために通常述べられる主
張には,回路と相関関係となる漏えい関数が未知であるためサイドチャネル
への攻撃,いわゆるSCA(Side-ChannelAttacks)は不可能ということがある。
K.Tiriらの文献,Side-ChannelLeakageTolerantArchitectures,InITNG’06-
ProceedingsoftheThirdInternationalConferenceonInformationTechnology,New
Generation,pages204-209,WashingtonDC,USA,2006IEEEComputerSocietyで
は,アルゴリズムの実装および機能性を,ハードウェアの量の点でオーバー
ヘッド有りまたは無しで一度にかつ同時に変更することを提案している。前
の2つのプロシージャの欠点は,暗号化が関数的に秘密であることである。
これはセキュリティの専門家がシステムおよびその配備を実施する特定の典
型的な場合においては容認されうる。しかし暗号化システムの設計および配
布を監視することが困難であるほとんどの場合,この筋書きは非常に不確実
である。いったん秘密の機能性が回復すると,DPAタイプの攻撃は再度容
易に可能となる。さらに例えばFIPS-140などの特定の証明方式では,暗号
標準をカスタマイズせずに使用することが要求される。これにより特に
K.Tiriらによる文献で支持されるSCAに耐性のある全プロシージャは禁止と
される。(【0029】)
本発明によれば,特にこの暗号化の公知の関数の仕様に完全に準拠する
一方で暗号化を実施するためには,保護される暗号回路専用のマスクを使用
してマスキングによる保護が実施される。本発明による回路には,回路専用
のマスクMが単に一定であり,かつ,回路の使用者または設計者にとって
未知であるマスキングアーキテクチャが含まれる。(【0030】)
図1によるマスキングパスは,実際,上述の式(1)に従い1次DPA攻
撃つまりデータレジスタ5,6のみが漏洩すると想定される攻撃の枠組み内
で暗号鍵のVernam暗号化を実施することが実証されうる。さらにマスキン
グ周囲のいかなるバリアントもまた本発明を実施するために使用することが
でき,事実,実装は機能性を保持する一方でリファレンス実装とは異なるよ
うに表されることで十分である。マスキングの場合,リファレンス実装はゼ
ロマスク(全ゼロ)を有するものと一致するが,マスクが非ゼロになるとす
ぐに,実装はしかしながら機能性を変更することなく変化する。ここで,実
装に可変性を導入するように表現を変えることもまた可能である。例えばA
NewDPACountermeasureBasedonPermutationTables.InSCN,volume5229of
LectureNotesinComputerScience,pages278-292.Springerにおいて,Jean-
SebastianCORONはAESの基本演算部分を2つの全単射,4ビット→4ビッ
トを導入して変更することを提案しているが,そのような方式でそれらを組
み立てることにより実際は従来のAESの計算が得られる。この表現の変化
もまた秘密実装のきっかけとなりうるが,その情報漏えいはしかしながらこ
の文献では研究されない。(【0031】)
したがって漏えいモデルが未知であるため1次相関攻撃は不可能とされ
る。さらに,いわゆる「テンプレート」攻撃などの,測定値のセットまたは
カタログの構造に依存する攻撃は各実装が特有であり,汎用のカタログを構
築することが不可能であるため実行不可能とされる。(【0032】)
有利には,本発明において実装の多様性は暗号鍵の数に匹敵するまたは
実際同等である。特に「第2の原像」タイプの攻撃はしたがって不可能であ
る。活動中の回路と同じマスクを有する,鍵がプログラム可能な回路を偶然
に見つける確率は,正しい鍵を偶然に推測する,つまりブルートフォースア
タックによる鍵への全数探索で成功する確率に匹敵するかまたは実際,同等
である。(【0033】)
図1の例では,マスキングを実装するために付加されたハードウェアは
左1と右2のマスクレジスタおよびマスクをデータと組み合わせるXORゲ
ート12,13,14ならびに右のマスクレジスタの出力を処理するFeistel
関数の換字回路16で形成される。(【0034】)
ASICまたはFPGAをベースにした実現の枠組み内では,他のタイプの暗
号プリミティブのマスキングはソースコード上で直接動作する適切なCAD
ツールの支援で自動化されてもよい。(【0035】)
保護プロシージャは一般にサイドチャネルを介して漏洩するかもしれな
い秘密を含むあらゆる実装に適用できることを記すことは興味深い。直接の
例は暗号鍵の保護であるが,署名鍵は同様の方式で等しく十分に保護される。
さらに暗号アルゴリズムのパラメータを保護する代わりに,それが秘密の場
合,アルゴリズムそれ自体を保護することもまた可能である。これは通信が
2地点間で暗号化されるため(サテライトタワードデコーダ(satellite
towarddecoder)),共同利用できない暗号が実装されうる有料テレビなど
の分野で起こる。したがってその中の1または2以上の要素(換字表または
拡散関数などの)を変更する一方で標準化アルゴリズムを使用することは普
通である。この方式で,そのセキュリティを弱体化するリスクを冒すことな
くアルゴリズムのカスタム化が達成される。(【0036】)
図3は別の進行方式を示す。この例では,標準アルゴリズムAはそのま
まで再利用されるが,実行される関数がもはやAではなく,合成
【数4】
になるように,それは外部符号(EEinおよびEEout)で囲い込まれる。この
原理の説明がC.Clavierによる論文,SecretExternalEncodingsDoNotPrevent
TransientFaultAnalysis,inCHES’07,volume4727ofLectureNotesinComputer
Science,pages181-194の序章にある。図3の左の部分30,31,32はマ
スキング技法によって数値EE(X)の漏洩をどう防ぐことができるかを示す。
関数EE30は2つのレジスタ31,32により囲い込まれ,そこで第1の
レジスタ31はデータ
【数5】
x⊕m
を受信する。並列に配置された
【数6】
として画定される関数EE’33はデマスキングが依然として可能であること
を保証する。したがって図3の右の部分に示されるハードウェア33,34,
35の付加によって,アルゴリズムへの入力Xが何であるとしてもいずれ
のレジスタもEE(x)を含まない。この方式で,秘密の外部符号EEについて
の任意の情報項目をバックトラックすることが不可能となる。以下では,し
かしながら,普遍性を失うことなく,暗号鍵の漏えいに対する保護の典型的
な場合に重点が置かれる。(【0037】)
FPGAタイプというソリューションによって各回路が大規模な配置時でさ
えもそれ独自のコンフィギュレーションを有することが有利に可能となる。
特にFPGAのソリューションでは,それをカスタマイズするために数値を変
更するために,特に構成要素専用のマスクなどのシステム全体をリコンパイ
ルする必要はない。これは,Kerckhoffsの原理に背いておらず,それぞれの
実装は実際に秘密であるが独特であることを示唆している。実装を妥協する
ことでセットアップすべてを妥協することは認められない。(【0038】)
特定のFPGA回路の機能性の懐古的な設計は,それが恒久的な可読メモリ
内に配置されるファイル内のソフトウェアに関してプログラムされるという
事実によって可能とされうる。そのような懐古的な設計を避けるため「ビッ
トストリーム」と呼ばれる,このファイルの暗号化を可能にするFPGAタイ
プを使用することが可能である。したがって保護はそれ自体が暗号手段によ
り秘密にされる。コード難読化は機械語から高レベル仕様へのバックトラッ
キングを対象とした演算を複雑化するための追加の受けである。(【003
9】)
図4は本発明による典型的な回路を概略的におよび簡略化した様式で示
す。FPGAタイプであるこの回路21には3つの鍵がある。関数鍵kcが回路
21の暗号化を実施する役割を果たす。この暗号化は例えばレジスタ22の
内部で入力変数xを暗号化された変数y=DES(x,kc)に変換するDESアル
ゴリズム23である。(【0040】)
非機能の鍵kiが関数鍵kcをマスクする役割を果たす。関数鍵のマスクM
を形成するのはこの鍵kiであり,XOR演算子がこれら2つの鍵を組み合わ
せて
【数7】
kc⊕ki
にする。鍵kiはしたがってDES実装の関数鍵kcを磁気放射または特に瞬間
消費の観測による情報漏洩24から保護する役割を果たす。(【0041】)
別の非機能の鍵kbは「ビットストリーム」ファイル25の秘密要素,つ
まり少なくともkiまたは実際kcを保護する役割を果たす。(【0042】)
この手法では鍵は以下のような方式でサイズが決められることが好まし
い。
|ki|=|kc|(2)
および|kb|≧|kc|(3)
|ki|,|kb|,|kc|はそれぞれkiの,kbの,およびkcの基数を表す。
(【0043】)
本発明によれば,暗号アルゴリズム23の実装は暗号化された変数yが変
数の暗号鍵kcを保護する鍵kiと関数的に独立するようにされ,セットアッ
プの情報漏洩は
【数8】
ほども多様である(2の|ki|乗)。(【0044】)
DESアルゴリズムの場合,y=DES(x,kc,ki)であり,yはkiと関数的に
独立である。(【0045】)
【数9】
kc⊕ki,ki
とkiが使用者または設計者にとってを含め完全に未知であることを知った上
でkcを推測する必要があるため,1次攻撃は単により困難とされるだけで
なく不可能とされることに留意されたい。これにより本発明は高度の信頼を
提供し,
【数10】
よりも少ない計算力を有するいかなる敵対者に対しても安全が立証される。
これは|ki|=|kc|の場合のDESアルゴリズムそれ自体のセキュリティレ
ベルに等しい。(【0046】)
PUF(PhysicallyUnclonableFunctions)またはPOK(PhysicallyObfuscated
Key)タイプの関数(すなわち実装固有の物理的鍵),または回路21に固
有の秘密を,外部から供給される鍵の代わりにPKIと呼ばれる公開鍵基盤ま
たは信頼をカスタマイズするための他のあらゆるメカニズムによって生成さ
せることが可能な他のあらゆるシステムを使用することが可能である。
(【0047】)
第2の鍵kiはなお回路の作製後にセキュアな筐体内で単一の乱数を用いて
プログラムされうる。(【0048】)
「ShallowAttack」の名でも知られる組み合わせ論理回路への攻撃または
HO-DPA攻撃に対する対抗措置をさらに使用する定数マスクを用いたマスキ
ングメカニズムを使用することもまた可能である。(【0049】)
S.Mangardらによる文献,SuccessfullyAttackingMaskedAESHardware
Implementations,InLNCS,editor,ProceedingsofCHES’05,volume3659ofLNCS,
pages157-171,Springer,September2005,Edinburgh,Scotlandに特に呈示されて
いるような,秘密マスクにほとんど依存しない「グリッチ」とも呼ばれる非
機能の遷移の存在を利用したアルゴリズムのマスキングへの攻撃は,それを
知らずに回路のシミュレーションを実行することが不可能であるため,秘密
実装には当てはまらないことに留意されたい。事実,この攻撃は事前特性化
モデルとの相関に依存する。この工程は本発明による回路ではASICで生成
されたマスクの設計またはFPGAの「ビットストリーム」ファイルを知って
いる,またはマスクが選択されるサンプルを所持するであろう熟知しうる攻
撃者を除いては実行不可能である。この可能性を防止するため,前に記載さ
れたPUF関数が特に使用できる。(【0050】)
特定の独自のアルゴリズム,特に2つの秘密符号間でカプセル化された
標準アルゴリズムは,C.Clavierによる文献,SecretExternalEncodingsDoNot
PreventTransientFaultAnalysis,InCHES,volume4727ofLectureNotesin
ComputerScience,pages181-194,Springer,2007で特に示されるように摂動攻
撃に耐性がない。このクラスの攻撃では攻撃者はレジスタの値を例えば
0x00などの既知の値に固定できることが必要とされる。本発明による実装
鍵kiにより保護される回路では,データレジスタとマスクレジスタとが互い
に素である場合,攻撃者はそこで簡単な欠陥を発生させるよりもはるかに困
難な複数の欠陥を達成する必要があるため,これは事実上非常に困難である。
(【0051】)
実装鍵kiを有する本発明による保護のタイプでは,例えばRTLレベルで
は符号化の点において,または物理的レベルではカプセル化の点において欠
陥を検知するための通常の保護などの他の保護と有利に併用することができ
る。これにより受動的な攻撃および能動的な攻撃の両方に対して高度の保護
を達成することを可能とする。(【0052】)
3以上を踏まえると,本願明細書等には,本願発明について,以下の事項が
記載されているものと認められる。
(1)技術分野
本願発明は,情報漏洩観測攻撃から保護される暗号回路に関するもので
ある(【0001】)。ここでいう情報漏洩観測攻撃は,例えば,DPA攻
撃によるエネルギー消費量の観点又はEMA攻撃による磁気放射の観点から,
システムの時間的挙動を観測することによるサイドチャネル攻撃のことであ
る(【0004】)。
(2)課題
DPA攻撃及びEMA攻撃のような情報漏洩観測攻撃に対しては,漏洩を秘
密とは無関係に一定にすることによる秘匿,及び漏洩を予測不能にすること
で利用不可能とするマスキングを基にする保護が提案されている(【000
4】)。しかし,これらの2つの技法は,実装欠陥から利益を得るであろう
攻撃に対しては依然脆弱である(【0005】)。例えば,差分論理
(WDDLなどの)に基づく秘匿は,計算フェーズと評価フェーズとプリチ
ャージフェーズとのうちの1つ又は別の間の累積した組合せのずれの差への
攻撃に対して脆弱となる場合があり,また,マスキングはHO-DPAと呼ば
れる高階攻撃に敏感な場合がある(【0006】)。
本願発明の目的は,これらの攻撃,特にDPA又はEMAタイプの攻撃に対
抗することである(【0007】)。
(3)課題解決手段
前記目的のため,本願発明は,暗号アルゴリズムを実行するための関数
鍵kcを含む暗号回路であって,前記回路はkcとは別の前記回路のそれぞれ
の例に特有の,回路のサイドチャネルを利用した攻撃から回路を保護するこ
とを可能とする第2の鍵kiを含むことを特徴とする(【0007】)。
関数鍵kcは,例えばXOR演算によって2つの鍵を組み合わせることによ
り第2の鍵kiによってマスクされ,入力変数xはマスク鍵kc⊕kiによって暗
号化されている(【0009】)。
第2の鍵kiは,例えばPUF(PhysicallyUnclonableFunction)又はPOK
(PhysicallyObfuscatedKey)タイプの関数により生成される(【001
2】)。
暗号回路はFPGAタイプのプログラマブル回路で実現されてもよく,第2
の鍵kiはFPGAのプログラミングファイルを介してカスタマイズされてもよ
い。暗号回路はソフトウェアの実装により実現されてもよく,この暗号回路
は第3の鍵kbを含む。第3の鍵kbは,前記FPGA回路のプログラミングフ
ァイルを暗号化し,これにより外部記憶の機密性及びFPGAへの鍵kiの移転
の機密性を付与するためのものである(【0015】~【0019】)。
第2の鍵kiの基数は,例えば関数鍵kcの基数に等しく,第3の鍵kbの基
数の基数は関数鍵kcの基数よりも大きいかまたは等しい(【0020】,
【0021】)。
この暗号化アルゴリズムはDESアルゴリズムである(【0022】)。
(4)効果
第2の鍵kiは,例えば秘密実装によって鍵kcを保護する役割を果たし,
また,例えば鍵kiでマスキングすることにより保護される2つの秘密関数の
囲い込みによってカスタマイズされる標準暗号アルゴリズムからなる秘密ア
ルゴリズムを保護する役割を果たす(【0010】,【0011】)。
第2の鍵kiにより導入されるマスキングは,HO-DPA攻撃に対して保護さ
れてもよい(【0014】)。
第2の鍵kiの基数を関数鍵kcの基数に等しくしたため,kiへの隠しチャネ
ル攻撃はkcへの暗号解読攻撃よりも困難になる(【0020】)。
4検討
(1)便宜上,取消事由4(実施可能要件に関する判断の誤り)について,ま
ず検討する。
(2)ア本願発明の技術思想
(ア)本願明細書等の記載(【0007】)によれば,本願発明の目的は
「特にDPAまたはEMAタイプの攻撃に対抗すること」であって,この
目的を達成するために「本発明の対象は暗号アルゴリズムを実行する
ための関数鍵kcを含む暗号回路であって,前記回路はkcとは別の前記
回路のそれぞれの例に特有の,回路のサイドチャネルを利用した攻撃
から回路を保護することを可能とする第2の鍵kiを含むことを特徴とす
る。」とされている。ここで,DPA攻撃及びEMA攻撃がサイドチャネ
ルを利用した攻撃であることは,本願明細書等の記載(【0004】)
及び技術常識から明らかであるから,段落【0007】の上記記載に
よれば,本願発明の第2の鍵kiは,DPA攻撃及びEMA攻撃のようなサ
イドチャネルを利用した攻撃から暗号回路を保護するという目的を達
成するためのものと認められる。
また,本願明細書等には,関数鍵kcが第2の鍵kiとXOR演算されて
マスク鍵kc⊕kiとなる旨の記載(【0009】)に続き,「第2の鍵ki
は例えば秘密実装によって鍵kcを保護する役割を果たす。」(【00
10】)との記載がある。他方,段落【0041】には,関数鍵kcと
非機能の鍵kiとをXOR演算してkc⊕kiにする旨の記載に続き,「鍵kiは
したがってDES実装の関数鍵kcを磁気放射または特に瞬間消費の観測
による情報漏洩24から保護する役割を果たす。」との記載がある。こ
の「磁気放射または特に瞬間消費の観測による情報漏洩24」がEMA
攻撃及びDPA攻撃で用いるサイドチャネルからの情報漏洩のことを指
していることは,段落【0004】及び技術常識から明らかである。そ
うすると,段落【0041】の上記記載は,段落【0009】及び段落
【0010】の上記各記載をより具体的に記載したものであると認めら
れる。そして,これらの記載から,第2の鍵kiは,関数鍵kcとXOR演
算をすることにより関数鍵kcのマスクとして働き,関数鍵kcをDPA攻
撃及びEMA攻撃から保護する役割を果たすものと理解される。
そうすると,本願発明の目的である「サイドチャネルを利用した攻撃
から回路を保護すること」は,段落【0009】,【0010】及び
【0041】で言及されているサイドチャネルを利用した攻撃から関数
鍵kcを保護することを意味し,この保護は関数鍵kcを第2の鍵(又は
非機能の鍵)kiでマスクする,すなわちkcとkiをXOR演算することに
よって達成されるものと理解される。換言すれば,本願発明の暗号回路
においてサイドチャネルを利用した攻撃の目標として想定されているの
は関数鍵kcであり,この関数鍵kcをそのような攻撃から保護するため
に第2の鍵kiを必要とし,関数鍵kcを第2の鍵kiとXOR演算すること
によってマスクする(マスク鍵kc⊕kiとする)という方法によって,関
数鍵kcの保護が達成されるものと把握される。
さらに,本願明細書等には,サイドチャネルを利用した攻撃の具体的
な目標として関数鍵kc以外のものは記載されていない。
このように,本願発明が想定している攻撃目標は関数鍵kcであり,
それ以外の攻撃目標を想定しない以上,本願発明の暗号回路が出力する
暗号文yの秘密性は関数鍵kcに依拠し,暗号文の計算手順(すなわち本
願発明の「暗号化アルゴリズム」)に依拠するものではないと認められ
る。そうであれば,関数鍵kcが判明すれば,本願発明により出力され
る暗号文yを解読し得ることになる。これは,本願発明の暗号回路が出
力する暗号文yの暗号鍵が関数鍵kcであることを意味する。すなわち,
本願発明は,秘密情報である関数鍵kcを用いて平文xから暗号文yを計
算する関数をFで表したとき,y=F(x,kc)を満たす暗号文yを出力す
る暗号回路であると認められる(以下,この技術思想を「本願技術思想
①」という。)。
このように理解することは,本願明細書等の「関数鍵kcが回路21
の暗号化を実施する役割を果たす。この暗号化は例えばレジスタ22の
内部で入力変数xを暗号化された変数y=DES(x,kc)に変換するDES
アルゴリズム23である。」(【0040】)との記載とも整合する。
(イ)また,前記のとおり,本願発明の暗号回路の保護は関数鍵kcを第2
の鍵kiでマスクすることによって達成される。このため,本願発明の暗
号回路において実際に実行される計算処理に当たっては,関数鍵kcを
第2の鍵kiと分離した形で使用してはならず,常にマスク鍵kc⊕kiを用
いなければならないこととなる。すなわち,本願発明の暗号回路にお
いて実際に実行される計算処理に当たっては,単体の関数鍵kcの入力
を要する上記関数Fとは別の計算方法により,単体の関数鍵kcを直接
用いず上記マスク鍵のみを用いることによって暗号文yを計算する必要
がある(ただし,マスク鍵自体を生成する部分において関数鍵kcを直
接用いることは許される。)。
このような,単体の関数鍵kcを直接用いずマスク鍵のみを用いるこ
とにより平文xから暗号文yを計算する関数をGで表すと,本願発明の
暗号回路は,暗号文yの実際の計算をy=G(x,kc⊕ki)によって計算す
るものであると認められる(以下,この技術思想を「本願技術思想②」
という。)。
イ(ア)上記本願技術思想①及び②によれば,本願発明の暗号回路を具現化
するためには,暗号回路によって実際に計算された暗号文と,暗号化ア
ルゴリズムFに基づいて計算された暗号文とが等しいこと,すなわち
G(x,kc⊕ki)=F(x,kc)
を満たすことが要求される(以下,この要求を「本願発明の技術的要求」
という。)。
しかし,本願発明の技術的要求を満たす関数Gを構成する計算方法
が,当業者の技術常識に鑑みて自明であると認めるに足りる証拠はない。
そこで,G(x,kc⊕ki)の具体的な計算方法が本願明細書等に示されて
いるかについて,以下検討する。
(イ)本願明細書等の記載のうち,本願発明の技術分野,背景技術及び課
題を解決するための手段の記載(【0001】~【0024】)並び
に本願発明の実施形態のうち図4に係る部分の記載(【0040】~
【0052】)には,前記のとおり,本願技術思想①及び②が開示さ
れている。しかし,本願発明の技術的要求を満たす関数Gの具体的態
様について開示したものと理解される記載は見当たらない。
また,特許請求の範囲の記載は,上記記載の内容を超えるものではな
く,関数Gの具体的態様は記載されていない。
(ウ)a本願明細書等の記載のうち,図1及び2並びにこれらに関する段
落【0025】~【0036】の部分を見ると,DESアルゴリズム
のマスキングの図として,図1及び2が示されており,両図は同様の
回路であるとされている(【0025】,【0026】)。そして,
図1のIP2に対して入力される「マスク」は,図2においてはkiと
して示されていることから,図1及び2においてIPに入力されるマ
スクkiは,本願発明の第2の鍵kiであると認められる。
また,図1及び2におけるS9への入力に注目すると,Eから出力
されるxmがkcとXOR演算されていることから,図1及び2に示され
るkcは,関数鍵kcであると認められる。
bしかし,図1及び2の回路において,マスク鍵kc⊕kiは作成されて
いない。
上記のとおり,関数鍵kcとXOR演算されるものはxmであるとこ
ろ,これは,「右のマスクされるデータ(Ri)」6にEを適用したも
の(E(Ri))である。図1及び2によれば,このRiは,「メッセージ」
にIP1を適用したものの右半分と,第2の鍵kiにIP2を適用したも
のの右半分とのXOR演算の結果であって,第2の鍵kiとは異なる。
他方,xm⊕kcの計算結果を数式で表すと,メッセージをMESとし,
値の右半分を得る関数をRHとした場合,
xm⊕kc=E(Ri)⊕kc=E(RH(IP(MES))⊕RH(IP(ki)))⊕kc
となる。ここで,Eは技術常識に鑑みて拡大置換Eを意味し,入力の
32ビットのうち16ビットが重複して使用されて出力48ビットに
置換されるものである(乙1)。そうすると,EはXOR演算に対し
て分配的に作用し,
xm⊕kc=E(RH(IP(MES)))⊕E(RH(IP(ki)))⊕kc
となる。この計算結果のうち,kc及びkiに関する部分のみを取り出し
てみても,kc⊕E(RH(IP(ki)))(以下「式(A)」という。)が計算されて
いるに過ぎず,明らかにkc⊕kiとは異なる。
仮に,IPがDESの初期置換であって単にビット位置を入れ替えて
いるに過ぎないから無視できるとし,かつ,右半分の演算のみに注目
することでRHを無視できるとしても,前記のとおりEは拡大置換で
あるからこれを無視することはできず,kc⊕E(ki)は,kc⊕kiはもちろん
E(kc)⊕E(ki)とも異なるものとなる。
c以上のとおり,本願明細書等の図1及び2に示される回路において
は,そもそもマスク鍵kc⊕kiが計算されているとは認められないこと
から,両図の回路をもって関数G(x,kc⊕ki)の具体的態様を開示し
たものということはできない。
dまた,段落【0028】記載の「【数2】K⊕M」は,2つの値が
XOR演算されているという点で本願発明のマスク鍵と共通するもの
の,記号が異なることから,本願発明を説明したものとは認められな
い。
仮に当該記載が本願発明を説明したものだとすると,当該記載の
「秘密鍵K」は保護対象となる鍵であるから,その機能の面から本願
発明の関数鍵kcに該当すると解されるが,【数2】と式(A)とを比較
すると,M=E(RH(IP(ki)))であると推測されるところ,E(RH(IP(ki)))は
明らかに第2の鍵kiそのものとは異なる値である。したがって,当該
記載は,本願発明と整合せず,やはり本願発明を説明するものという
ことはできない。
e図1及び2に関する本願明細書等のその他の記載にも,関数Gの
具体的態様を開示したものと見られる記載はない。
したがって,本願明細書【0025】~【0036】並びに図1
及び2には,関数Gの具体的態様が記載されているとはいえない。
(エ)本願明細書等の記載のうち,図3及びこれに関連する段落【003
7】~【0039】には,本願発明の関数鍵kcに対応する概念が記載
されていない。そうである以上,これらの記載及び図に関数G(x,
kc⊕ki)の具体的態様が記載されているとはいえない。
なお,図3は図1及び2においてFeistel関数fを示す囲みと一見類似
するようにみえるけれども,図1及び2と図3にそれぞれ現れる要素の
異同ないし対応関係は不明というほかなく,また,図1及び2に関する
説明(【0025】~【0036】)に続いて「図3は別の進行方式を
示す。」(【0037】)と記載されていることに鑑みると,図1及び
2と図3との間には技術的関連性はなく,相互に独立したものと見るの
が相当である。このため,図1~3を総合的に見ても,関数Gの具体
的態様は明らかでない。
ウ以上より,本願明細書等には関数Gの具体的態様が記載されていない
というべきである。そうである以上,本願発明を具現化して実施するこ
とはできない。
したがって,本願明細書等の発明の詳細な説明の記載は,本願発明の
属する技術の分野における通常の知識を有する者がその実施をすること
ができる程度に明確かつ十分に記載したものということはできないから,
法36条4項1号に違反する。これと同旨をいう本件審決に誤りはない。
エ原告の主張について
(ア)原告は,本願明細書等の記載(【0027】,【0028】)並び
に図1及び2から,両図に示される回路の(マスクmによってマスク
される)暗号鍵kcが,(マスクMによってマスクされる)秘密鍵Kと
同一であり,かつ,秘密鍵とは,暗号文yの復号化に必要な鍵であって
暗号化アルゴリズムF(x,k)を実行するための鍵kであると定義され
るから,図1及び2に示される回路で暗号化アルゴリズムF(x,kc)を
実行すると,暗号文y=F(x,kc)が出力される(秘密鍵kcが暗号文y
の復号化に必要な鍵である)ということが示されているといえ,これ
は,本願の請求項1の「暗号化アルゴリズムを実行するための関数鍵kc
を含む暗号回路(21)」の記載に相当する旨主張する。
しかし,前記のとおり,本願明細書等の図1及び2並びにそれらを説
明する段落【0025】~【0036】を参照しても,両図のS’がど
のような関数であるかが不明であるため,そこに示される暗号回路の動
作は不明であり,その回路が暗号文y=F(x,kc)を出力するものであ
るか否かは定かではない。
また,本願明細書等には「図1に本発明が適用されうるマスキングの
モードを呈示する。」(【0025】),「対比のために,図2はマス
キングによる保護を保証するためのハードウェアオーバーヘッドを強調
する同様の回路を示し,このオーバーヘッドを生じさせる回路は破線に
より示されている。」(【0026】)との記載があるが,これらの記
載の意味は明確とはいえず,図1及び2の回路がDESと同じ出力を保
証しているとまでは読み取れない。
さらに,本願発明は関数鍵kcを第2の鍵kiでXOR演算してマスク鍵
kc⊕kiを作成し,入力変数xをマスク鍵で暗号化するものであるところ,
前記のとおり,図1及び2の回路においてはマスク鍵kc⊕kiが計算され
ていないのであるから,両図の回路が本願発明の実施形態であるとは認
められない。
(イ)原告は,本願明細書等の図4には,関数鍵kcがマスク(第2の鍵)ki
とXOR演算されたマスク鍵kc⊕kiがDESアルゴリズム23の内部のレ
ジスタ22に入力されること,及び入力変数xがDESアルゴリズム2
3に入力されることが示されているから,DESアルゴリズム23に入
力された入力変数xは,DESアルゴリズム23の内部のレジスタ22に
入力されたマスク鍵kc⊕kiによって暗号化されることを当業者であれば
理解する旨主張するとともに,本願明細書等の記載(【0027】)
並びに図1及び2によれば,図1ないし図2のXORゲート8で,メッ
セージデータ(入力変数x)と第2の鍵kiがXOR演算(x⊕ki)され,そ
の演算結果がレジスタ6を経てFeistel関数10に入力され,Eで示され
る箇所を経て,関数鍵kcとXOR演算(x⊕ki⊕kc)されていることが理解
されるところ,排他的論理和⊕(XOR演算子)は交換法則及び結合法則
が成立し,これらを適用すれば,x⊕ki⊕kcはx⊕(kc⊕ki)となるから,図1
及び2には「マスク鍵kc⊕kiによって入力変数xが暗号化され
(x⊕(kc⊕ki))」という事項が示されている旨主張する。
しかし,まず,本願明細書等の図4を参照しても,レジスタ22に格
納されたマスク鍵kc⊕kiがDESアルゴリズム23において果たす役割に
ついては記載されていないことから,レジスタ22に格納されたマスク
鍵により入力変数xが暗号化されることを読み取ることはできない。か
つ,レジスタ22について,本願明細書等には「関数鍵kcが回路21
の暗号化を実施する役割を果たす。この暗号化は例えばレジスタ22の
内部で入力変数xを暗号化された変数y=DES(x,kc)に変換するDES
アルゴリズム23である。」(【0040】)との記載はあるものの,
当該記載はレジスタ22にマスク鍵kc⊕kiが入力されることすら開示し
ていない。
また,本願明細書等の図1及び2については,前記のとおり,そもそ
も,両図の回路は本願発明の実施形態とはいえない。しかも,原告の主
張に係る計算手順の説明は,初期置換IP,値の右半分を得る関数RH
(図示されない)及び拡大置換Eの影響を無視したものであって,妥当
でない。仮にIP,RH及びEの影響を無視し得るとしても,図1及び2
の計算手順は,入力変数xと第2の鍵kiとをXORし,その結果と関数
鍵kcとをXORすることによりx⊕ki⊕kcを得ており,マスク鍵kc⊕kiを計
算してから入力変数xとマスク鍵とをXORするものではない。すなわ
ち,この点に関する原告の主張は,図1及び2の計算手順を無視したも
のというべきである。
(ウ)原告は,本願明細書等の記載(【0037】)及び図3によれば,
同図において,入力データXがx⊕kcであり,マスクMが第2の鍵kiで
あるとすると,レジスタ31の前段のXOR演算部でx⊕kc⊕kiの演算がさ
れ,いずれのレジスタにおいても第2の鍵kiによってマスキングがされ
ることにより,x⊕kcは漏洩されないが,レジスタ35の後段のXOR演
算部からは,第2の鍵kiがデマスキングされたEE(x⊕kc)が出力され
るという事項が示されていること,図2においても,図3と同様に,
Feistel関数10内のEの後段のXOR演算部でx⊕kc⊕kiの演算がされ,い
ずれのレジスタにおいても第2の鍵kiによってマスキングがされて,
x⊕kcは漏洩されないが,XOR演算部13,14からは,第2の鍵kiが
デマスキングされた暗号文が出力されるという事項が示されている旨
主張する。
しかし,前記のとおり,そもそも,本願明細書等の図1及び2の回路
は本願発明の実施形態であるとはいえないし,図2のFeistel関数10内
のEの後段のXOR演算部で演算された結果は,原告の主張するx⊕kc⊕ki
ではなく,E(RH(IP(MES))⊕RH(IP(ki)))⊕kcである。仮に,図2のFeistel
関数10内のEの後段のXOR演算部で演算された結果がx⊕kc⊕kiであっ
たとしても,原告の主張は図2におけるx⊕kc,ki,S及びS’がそれぞれ
図3におけるX,M,EE及びEE’に対応することを前提とするところ,
本願明細書等の記載からそのような対応関係を理解し得ないことは前記
イ(エ)のとおりである。
(エ)原告は,暗号回路を実施するための事項以外の事項である復号を実
施するための事項が発明の詳細な説明に記載されていないことをもっ
て,実施可能要件を満たしていないということにはならない旨主張す
るけれども,前記のとおり,本願明細書等は,暗号回路としての本願
発明を実施するための事項(本願発明の技術的要求を満たすような具
体的な関数G)が理解できるように記載されていない。
(オ)原告は,本願発明において,第2の鍵kiは,マスク鍵kc⊕kiのために
使用される一方で,XOR演算を繰り返すことによって消去されるから,
本願明細書等の図2の出力15から最終的に得られた暗号文yを解読す
るためには,関数鍵kcさえ知り得ればよく,第2の鍵kiを要しない旨
主張する。
しかし,原告の上記主張は,暗号文y(=DES(x,kc))とx⊕kcとを
混同するものであり,その前提に誤りがある。
(カ)その他原告がるる指摘する事情を考慮しても,この点に関する原告
の主張は採用し得ない。
(3)以上のとおり,本願明細書等の発明の詳細な説明の記載は実施可能要件
を満たさないとする本件審決に誤りはなく,少なくとも原告主張に係る取消
事由4については理由がない。そうすると,その余について論ずるまでもな
く,原告の請求は理由がないというべきである。
5結論
よって,原告の請求は理由がないからこれを棄却することとし,主文のとお
り判決する。
知的財産高等裁判所第3部
裁判長裁判官
鶴岡稔彦
裁判官
杉浦正樹
裁判官
寺田利彦

戻る



採用情報


弁護士 求人 採用
弁護士募集(経験者 司法修習生)
激動の時代に
今後の弁護士業界はどうなっていくのでしょうか。 もはや、東京では弁護士が過剰であり、すでに仕事がない弁護士が多数います。
ベテランで優秀な弁護士も、営業が苦手な先生は食べていけない、そういう時代が既に到来しています。
「コツコツ真面目に仕事をすれば、お客が来る。」といった考え方は残念ながら通用しません。
仕事がない弁護士は無力です。
弁護士は仕事がなければ経験もできず、能力も発揮できないからです。
ではどうしたらよいのでしょうか。
答えは、弁護士業もサービス業であるという原点に立ち返ることです。
我々は、クライアントの信頼に応えることが最重要と考え、そのために努力していきたいと思います。 弁護士数の増加、市民のニーズの多様化に応えるべく、従来の法律事務所と違ったアプローチを模索しております。
今まで培ったノウハウを共有し、さらなる発展をともに目指したいと思います。
興味がおありの弁護士の方、司法修習生の方、お気軽にご連絡下さい。 事務所を見学頂き、ゆっくりお話ししましょう。

応募資格
司法修習生
すでに経験を有する弁護士
なお、地方での勤務を希望する先生も歓迎します。
また、勤務弁護士ではなく、経費共同も可能です。

学歴、年齢、性別、成績等で評価はしません。
従いまして、司法試験での成績、司法研修所での成績等の書類は不要です。

詳細は、面談の上、決定させてください。

独立支援
独立を考えている弁護士を支援します。
条件は以下のとおりです。
お気軽にお問い合わせ下さい。
◎1年目の経費無料(場所代、コピー代、ファックス代等)
◎秘書等の支援可能
◎事務所の名称は自由に選択可能
◎業務に関する質問等可能
◎事務所事件の共同受任可

応募方法
メールまたはお電話でご連絡ください。
残り応募人数(2019年5月1日現在)
採用は2名
独立支援は3名

連絡先
〒108-0023 東京都港区芝浦4-16-23アクアシティ芝浦9階
ITJ法律事務所 採用担当宛
email:[email protected]

71期修習生 72期修習生 求人
修習生の事務所訪問歓迎しております。

ITJではアルバイトを募集しております。
職種 事務職
時給 当社規定による
勤務地 〒108-0023 東京都港区芝浦4-16-23アクアシティ芝浦9階
その他 明るく楽しい職場です。
シフトは週40時間以上
ロースクール生歓迎
経験不問です。

応募方法
写真付きの履歴書を以下の住所までお送り下さい。
履歴書の返送はいたしませんのであしからずご了承下さい。
〒108-0023 東京都港区芝浦4-16-23アクアシティ芝浦9階
ITJ法律事務所
[email protected]
採用担当宛