説明

双線形アプリケーションの計算の安全化された委託方法

【課題】双線形関数の使用に基づく暗号化方法の有効な統合を可能にすると同時に、それらの使用と両立する最大のセキュリティを保証する手段を提案する。
【解決手段】二つの暗号パラメータaおよびbを選択し、数XaおよびYbを計算し、計算サーバに二つの数XaおよびYbを提供し、前記サーバによってf(Xa,Yb)の計算を実行し、計算サーバからf(Xa,Yb)の数値を受け、f(Xa,Yb)の第ab乗根を抽出する。不正行為に対する保護暗号化方法に利用される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算サーバでの双線形アプリケーション(appliction bilineaire)の数値f(X,Y)の計算の安全化された委託方法に関するものである。本発明は、同様に、所定の数値との双線形アプリケーションの数値f(X,Y)の等しさの安全化された確認方法、および、双線形アプリケーションの二つの数値f(X,Y)とf(Z,T)との間の等しさの安全化された確認方法に関するものである。
【0002】
より一般的には、本発明は、暗号の分野、そしてより詳細には、チップと銀行業務のアプリケーションとの間のトランザクションにおける電子チップなどのようなサポート、または携帯電話のSIMカードの電子チップの不正行為に対する保護暗号化方法に関するものである。
【0003】
本発明は、現在のところ計算時間がかかりすぎると判断されている双線形関数を含む方法などの新たな暗号化方法の使用に特に好ましい用途がある。
【背景技術】
【0004】
現在、チップカードは様々なタイプの不正行為を受けることがある。
【0005】
第一のタイプの不正行為は、許可なくカードを複製することからなり、この作業を特徴付けるために、しばしば「クローン作成」という語が使用される。
【0006】
第二のタイプの不正行為は、カードに添付されたデータ、特にカードのメモリに書き込まれた預金の金額を変更することからなる。
【0007】
これらの不正行為と戦うために、暗号を使用して、一方では、認証アルゴリズムを用いることによってカードの認証をおよび/またはデジタル署名によってデータの認証を確実にし、他方では、場合によっては、暗号化を用いることによってデータの機密保持性を確実にする。
【0008】
暗号法は、認証の場合には検査用のエンティティと認証すべきオブジェクトである二つのエンティティを使用する。暗号法は、対称でも非対称でもよい。
【0009】
暗号鍵とも呼ばれる対称暗号法の場合、二つのエンティティは同一の情報を、特に前記暗号鍵を正確に共有している。
【0010】
非対称、または公開鍵暗号法に関するものであるときは、エンティティの一つである認証すべきエンティティは、その一つは秘密鍵であり、もう一つは公開鍵である一対の鍵を有している。従って、共有される暗号鍵はない。
【0011】
対称暗号法で開発された最初の認証メカニズムは、各カードによって異なる認証値を最終的に計算し、それをカードのメモリに記憶し、トランザクション毎にそれを読み出し、トランザクションを支持するネットワークのアプリケーションに質問することで確認することからなり、これにおいて既に割り当てられた認証値は記憶または再計算される。しかしながら、これらのメカニズムが保証する保護は不十分であり、それは認証値が所定のカードについて常に同一である限り認証値を不正に探り、復元し、および再度働かせることができ、このようにして、カードのクローンを作製することが可能であるためである。クローンと戦うために、受動的なカードの認証メカニズムは、さらにデータの整合性を確認することができる能動的な認証メカニズムに取り替えられる。
【0012】
対称な能動的認証メカニズムの一般的な原理は、下記の通りである。認証のとき、電子チップおよびアプリケーションは、各認証について決定されたアーギュメントリストに適用された関数の結果である認証値を計算する。このアーギュメントリストは、各認証へのアプリケーションによって定義される偶然性(alea)、電子チップに内蔵されたデータおよび電子チップとアプリケーションに知られた暗号鍵を含むことがある。電子チップによって計算された認証値がアプリケーションによって計算された認証値と同一であるとき、電子チップは真正であると判断され、チップとアプリケーションとの間のトランザクションが許可される。
【0013】
しかしながら、暗号鍵メカニズムでは、公衆電話網、電子支払端末または公共交通の改札などに存在する装置のようなチップの認証を行う確認装置が前記チップによって保持されている暗号鍵を知っていることが必要となる。このことにより大きな欠点が生じることになり、すなわち、前記装置がアプリケーションと関連して発行されたすべてのチップの認証ができることを望むのであれば、装置は全てのチップの暗号鍵を記憶するか、または、いかなるチップの暗号鍵も見つけることができる母鍵またはマスターキーと呼ばれる基本の鍵を記憶していなければならない。どちらの場合においても、これらの装置の各々は、発行された全てのチップの暗号鍵を見つけることができるように十分な情報を記憶しており、従って、それらの中のどれでもクローンを作製できる十分な情報を記憶している。その結果、確認装置のいずれかへの侵入が成功すると、アプリケーションのセキュリティがその全体で無効になることになる。
【0014】
従って、公開鍵暗号法に基づく解決方法は暗号鍵メカニズムよりも好ましいことがある。そこで、公開鍵による認証メカニズムの作動原理は下記のとおりである。認証されようとするチップは、その公開鍵に組み合わされたその暗号鍵、および、場合によっては可能性のあるランダムなパラメータによる数値を計算する。次に、アプリケーションは、チップの暗号鍵を知ることを必要とせずに、チップによって計算された数値との一致を確認する。暗号ではない他のパラメータと同様に、チップの公開鍵の使用だけが必要となる。
【0015】
そのようなメカニズムを実現することができる最もよく知られている解決方法は、通常、因数分解または離散対数などの解くのが難しい数学的な問題に基づくものである。さらに、これらの問題はそのべき乗剰余の計算、すなわち、Xe mod n型の計算の実施において生じるものであり、これにおいてmodは、modular reductionの数学関数に対応する。この型の計算は、先験的に、計算力の前提なしに、穏当な時間内で実施できる最も複雑な作業である。
【発明の開示】
【発明が解決しようとする課題】
【0016】
数年来、数学者には周知の双線形アプリケーションが、暗号法の分野に出現していた。
【0017】
例えば、G1、G2およびGは巡回群である、全体としてGにおけるG1×G2で定義されるアプリケーションfについて考えてみよう。g1およびg2は各々G1およびG2の生成元であるため、下記の式のとおりであるならば、アプリケーションfはGにおけるG1×G2の双線形と言われる。
【0018】
(数1)
f(g1a,g2b)=[f(g1,g2)]ab
【0019】
しかしながら、双線形アプリケーションに関する現在の問題は、それらの算出が極めて容量が大きく、例えばべき乗剰余指数の計算中に発生するものよりもかなり複雑な計算を生成するということにある。従って、現在のところ、考案されたアプリケーションの範囲内でそのような計算を実行することは不可能である。
【0020】
また、本発明の目的によって解決すべき技術的な問題は、計算の複雑さに関する困難にもかかわらず、双線形関数の使用に基づく暗号化方法の有効な統合を可能にすると同時に、それらの使用と両立する最大のセキュリティ度合いを保証する手段を提案することである。
【課題を解決するための手段】
【0021】
本発明によると、提案された技術的な問題の解決法は、計算サーバにおける双線形アプリケーションの数値f(X,Y)の計算の安全化された委託方法であり、前記方法は下記のように、
‐二つの暗号パラメータaおよびbを選択し、
‐数XaおよびYbを計算し、
‐計算サーバに二つの数XaおよびYbを提供し、
‐前記サーバによってf(Xa,Yb)の計算を実行し、
‐計算サーバからf(Xa,Yb)の数値を受け、
‐f(Xa,Yb)の第ab乗根を抽出する
段階からなるものである。
【0022】
従って、本発明は、例えば双線形関数f(X,Y)の計算を含む認証暗号化方法に関与するエンティティが大きな計算力を付与されているという唯一の属性を有する計算サーバと通信し、このサーバに関する他のいかなる属性も、特にそのセキュリティレベルを想定する必要がないことを仮定する。実際、暗号法に双線形関数の使用を可能にする利点以上に、本発明にかなった方法によって、また、交換されたデータを安全にし、得られた結果における信頼性を高めることを可能にするが、これは計算サーバのクライアントのエンティティだけに知られている暗号パラメータを使用することによるものである。
【0023】
一般的に、計算サーバに頼っている前記エンティティは一様に認証を行うべきエンティティまたは検査エンティティであり得ることを示すことが重要である。
【発明の効果】
【0024】
従って、本発明は、サーバに双線形関数を含む計算の大部分を委託し、もし悪意のある人物が組み合わされた暗号鍵を知らず、公開鍵だけを使用し、そして計算サーバを全体的に制御して、第三者のIDを横取りしようとしたとき、そのような人物が成功する確率はきわめて低いという意味において、前記サーバによって戻された結果のセキュリティを確保するという効果がある。
【0025】
本発明による委託方法は、二つの特定の状況に適用されるのが好ましい。
【実施例1】
【0026】
第一の状況は、計算サーバにおける安全化された委託による、所定の数値uとの双線形アプリケーションの数値f(X,Y)の等しさの確認方法であり、本発明によると、前記方法は下記のように、
‐二つの暗号パラメータaおよびbを選択し、
‐数XaおよびYbを計算し、
‐計算サーバに二つの数XaおよびYbを提供し、
‐前記サーバによってf(Xa,Yb)の計算を実行し、
‐計算サーバからf(Xa,Yb)の数値を受け、
‐f(Xa,Ybpの数値を数uqと比較し、数pおよびqは等式abp=qであることを確認する
段階からなるものである。
【0027】
以下の署名メカニズムによって、所定の数値との双線形アプリケーションの数値の等しさの、この確認方法を示すことができる。
【0028】
メッセージmの署名者は、例えば、三つの数g1∈G1、g2∈G2およびv=g2xによって決定される公開鍵を使用するが、xは署名者の秘密鍵である。メッセージの受取人である検査エンティティは、公開鍵を構成する三つの数を知っているが、秘密鍵は知らない。
【0029】
メッセージの署名者は、偶然に数rを引き出し、下記の式によって与えられる数σを計算する。
【0030】
(数2)
σ=g1exp(m+rx)‐1
【0031】
次に、署名者は、一組の数{σ,r}をメッセージの受取人に送る。
【0032】
メッセージの正当性、すなわち、その内容の整合性と差出人のIDを確認するために、受取人は下記の等式を検査するが、これにおいてfは双線形関数である。
【0033】
(数3)
f(σ,g2mr)=f(g1,g2
【0034】
この等式は、実際、左辺のアーギュメントの定義と上述された双線形関数の特性の使用から生じる。
【0035】
右辺のアーギュメントは事前に受取人に知られているため、受取人は計算サーバによって最終的に双線形関数に対応する計算を実行させることができる。従って、f(g1,g2)は、公知の所定の数uに等しい。
【0036】
従って、検査メカニズムは、数量f(σ,g2mr)のサーバによる計算を含む。このため、検査エンティティ、ここでは、メッセージの受取人は二つの数aおよびbを選択し、σaおよびg2bmbrを計算し、それをサーバに転送し、サーバは定義によってf(σ、g2mrabに相当する数値f(σa,g2bmbr)を戻す。よって、検査エンティティは、計算サーバによってそれに戻された数がuabに等しいことを確認するだけでよく、それは、等価の別の形式はいずれも[f(σa,g2bmbr)]pをuqと比較し、これにおいてabp=qとなる。
【0037】
この場合、三つの数値、例えば、σa,g2bmbrおよびuabを検査エンティティによって計算しなければならないことが確かめられる。
【0038】
考察した検査等式によると、パラメータaまたはbの一つは1に等しく選択されることがあり、実行される計算の数が少なくなる。
【実施例2】
【0039】
本発明による計算の委託方法のアプリケーションの第二の状況は、計算サーバにおける安全化された委託による、双線形アプリケーションの二つの数値f(X,Y)およびf(Z,T)間の等しさの確認方法であり、本発明によると、前記方法は下記のように、
‐四つの暗号パラメータa、b、cおよびdを選択し、
‐数Xa、Yb、ZcおよびTdを計算し、
‐計算サーバに四つの数Xa、Yb、ZcおよびTdを提供し、
‐前記サーバによってf(Xa,Yb)およびf(Zc,Td)の計算を実行し、
‐計算サーバからf(Xa,Yb)およびf(Zc,Td)の数値を受け、
‐[f(Xa,Yb)]pおよび[f(Zc,Td)]qの数値を比較し、数pおよびqは等式abp=cdqであることを確認する
段階からなるものである。
【0040】
以下の署名メカニズムは、双線形アプリケーションの二つの数値間の等しさの安全化されたこの確認方法の説明的な実施例を示すものである。
【0041】
この実施例では、記載を単純にするために、考察する双線形関数のアーギュメントはすべて同一の巡回群Gに属するものと仮定する。
【0042】
メッセージmの署名者の公開鍵は、また同じ巡回群Gに属する数g∈Gおよび数v=gxを含み、xは署名者の秘密鍵である。
【0043】
署名者は、ハッシュ関数hを使用するが、それはメッセージmにG群の要素を組み合わせ、h(m)と表記される。このハッシュ関数は、メッセージmの認証を実行する役目の受取人と共有される。
【0044】
そのとき、署名者はメッセージmおよび署名σ=h(m)xを受取人に送る。メッセージを認証するため、受取人は下記の等式を確認する。
【0045】
(数4)
f(σ,g)=f(h(m),v)
【0046】
上述のように、この等式は、アーギュメントの定義と双線形関数の特性から生じる。
【0047】
上述の等式の各辺の計算は、下記のように、検査エンティティによって計算サーバーに委託される。
【0048】
左辺に関して、検査エンティティは、二つの暗号パラメータaおよびbを選択し、σaおよびgbを計算し、それらをサーバに送り、サーバはf(σa,gb)=[f(σ,g)]abを戻す。
【0049】
同様に、右辺に関して、検査エンティティは、別の暗号パラメータcおよびdを選択し、h(m)cおよびvdを計算し、これらの数値をサーバに送り、サーバはf(h(m)c,vd)=[f(h(m),v)]cdを戻す。
【0050】
このとき、検査エンティティは、下記の式のとおりであるか、
【0051】
(数5)
[f(σa,gb)]cd=[f(h(m)c,vd)]ab
【0052】
より一般的には、下記の関係式を確認しなければならない。
【0053】
(数6)
[f(σa,gb)]p=[f(h(m)c,vd)]q
これにおいてabp=cdqである。
【0054】
この場合、検査エンティティは、六つの数値、すなわち、σa、gb、h(m)cとvd、および、[f(σa,gb)]cdと[f(h(m)c,vd)]abを計算しなければならない。
【0055】
そこでもまた、a、b、cおよびdの暗号パラメータのいくつかを1に等しく選択することができる。
【0056】
本発明は、また、本発明による方法の実行のためのコンピュータプログラムを記憶するサポートに関するものである。
【0057】
さらに、本発明は、好ましくは、前記サポートへの不正行為に対する保護、特に電子チップと銀行業務のアプリケーション間のトランザクションのセキュリティ、および携帯電話のSIMカードの電子チップのセキュリティに利用される。この後者の場合、そのサポートが携帯電話に組み込まれていることを予想することができる。

【特許請求の範囲】
【請求項1】
双線形アプリケーションの数値f(X,Y)のエンティティによる計算を含むメカニズムに関与するエンティティによって安全化された計算委託方法であり、前記方法は、
前記エンティティが、
‐二つの暗号パラメータaおよびbを選択し、
‐数XaおよびYbを計算し、
‐計算サーバに二つの数XaおよびYbを提供し、
前記計算サーバが、
‐f(Xa,Yb)の計算を実行し、
‐前記エンティティにf(Xa,Yb)の数値を提供し、
そして、前記エンティティが、
‐f(Xa,Yb)の第ab乗根を抽出する
段階からなることを特徴とする、エンティティによって安全化された計算委託方法。
【請求項2】
エンティティによる所定の数値uと、双線形アプリケーションの数値f(X,Y)との等しさの確認を含むメカニズムに関与するエンティティによる確認方法であり、前記方法は下記のように、
前記エンティティが、
‐二つの暗号パラメータaおよびbを選択し、
‐数XaおよびYbを計算し、
‐計算サーバに二つの数XaおよびYbを提供し、
前記計算サーバが、
‐f(Xa,Yb)の計算を実行し、
‐前記エンティティにf(Xa,Yb)の数値を提供し、
そして、前記エンティティが、
‐f(Xa,Ybpの数値を数uqと比較し、数pおよびqは等式abp=qであることを確認する
段階からなることを特徴とする、エンティティによる確認方法。
【請求項3】
エンティティによる双線形アプリケーションの二つの数値f(X,Y)およびf(Z,T)間の等しさの確認を含むメカニズムに関与するエンティティによる確認方法であり、前記方法は、
前記エンティティが、
‐四つの暗号パラメータa、b、cおよびdを選択し、
‐数Xa、Yb、ZcおよびTdを計算し、
‐計算サーバに四つの数Xa、Yb、ZcおよびTdを提供し、
前記計算サーバが、
‐f(Xa,Yb)およびf(Zc,Td)の計算を実行し、
‐前記エンティティにf(Xa,Yb)およびf(Zc,Td)の数値を提供し、
前記エンティティが、
‐[f(Xa,Yb)]pと[f(Zc,Td)]qとを比較し、数pおよびqは等式abp=cdqであることを確認する
段階からなることを特徴とする、エンティティによる確認方法。
【請求項4】
暗号パラメータの少なくとも一つが1に等しいことを特徴とする、請求項1〜3のいずれか一つに記載の方法。
【請求項5】
請求項1〜4のいずれか一つに記載の方法を実行するためのコンピュータプログラムを記憶するサポート。
【請求項6】
請求項5に記載のサポートへの不正行為に対する保護への、請求項1〜4のいずれか一つに記載の方法の利用。
【請求項7】
電子チップと銀行業務のアプリケーションとの間のトランザクションのセキュリティへの、請求項6に従った利用。
【請求項8】
携帯電話のSIMカードの電子チップのセキュリティへの、請求項6に従った利用。
【請求項9】
前記サポートが携帯電話に組み込まれていることを特徴とする、請求項8に従った利用。

【公表番号】特表2008−519303(P2008−519303A)
【公表日】平成20年6月5日(2008.6.5)
【国際特許分類】
【出願番号】特願2007−539603(P2007−539603)
【出願日】平成17年10月21日(2005.10.21)
【国際出願番号】PCT/FR2005/002633
【国際公開番号】WO2006/048524
【国際公開日】平成18年5月11日(2006.5.11)
【出願人】(591034154)フランス テレコム (290)
【Fターム(参考)】