JP3675494B2 - 確認装置によって少なくとも1つの識別装置を認証する方法および装置 - Google Patents

確認装置によって少なくとも1つの識別装置を認証する方法および装置 Download PDF

Info

Publication number
JP3675494B2
JP3675494B2 JP01129694A JP1129694A JP3675494B2 JP 3675494 B2 JP3675494 B2 JP 3675494B2 JP 01129694 A JP01129694 A JP 01129694A JP 1129694 A JP1129694 A JP 1129694A JP 3675494 B2 JP3675494 B2 JP 3675494B2
Authority
JP
Japan
Prior art keywords
xor
vector
identification device
confirmation
confirmation device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP01129694A
Other languages
English (en)
Other versions
JPH06348202A (ja
Inventor
スターン ジャック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jacques Stern
Original Assignee
Jacques Stern
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jacques Stern filed Critical Jacques Stern
Publication of JPH06348202A publication Critical patent/JPH06348202A/ja
Application granted granted Critical
Publication of JP3675494B2 publication Critical patent/JP3675494B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Coin-Freed Apparatuses For Hiring Articles (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

【0001】
【産業上の利用分野】
本発明は確認装置によって少なくとも1つの識別装置を認証(authentifier)する方法に関するものであり、特にシンドロームによるデコード化 (decodage par syndrome)の問題に基づいて解読を無効にするプロトコル(protocole a apport nul de connaissance)で行われる認証方法に関するものである。本発明は、さらに、上記方法を実施するための識別装置および確認装置にも関するものである。
本発明は特に安全性が疑わしいチャネルを介して2つの装置間でデータを交換する場合いわゆるセキュリティー(安全)通信に適用される。
【0002】
【従来の技術】
セキュリティー通信では相互認識手段すなわち確認装置にユーザを認証させてユーザがデータまたはサービスにアクセスできるようにする手段が必要である。セキュリティー通信の必要は多数あり、特に、銀行のコンピュータで命令を転送する場合等を挙げることができる。この場合には、2つのコンピュータは正しく通信でき且つ不正者とは通信しないということが確実でなければならない。この他に、切符の自動販売機、有料テレビのデコーダー、カード公衆電話等を挙げることができる。これらのシステムでは識別装置がチップカード(ICカードともいう)や電子キー等の携帯装置で構成され、販売機やデコーダに収容された確認装置でチップカードや電子キーのような各種のアクセス手段の有効性を管理しなければならない。
【0003】
こうした場合に多く用いられる方法は秘密キーを用いた暗号化法を基礎とした認証方法であり、これまではこの方法が最も容易に実行できる方法であった。この方法では、チップカード等の識別装置と確認装置(例えば、端末装置、カード読取機、デコーダー、カード公衆電話等)とが同じ秘密キーを持ち、対称的アルゴリズムすなわち1方向機能によって識別が行われる。この方法の欠点は両者すなわち確認装置と識別装置とが互いに秘密を共有しなければならず、しかも、この条件が常に確認されていない点にある。すなわち、同じ秘密キーがネットワークの両方の端末すなわち確認装置と識別装置とに存在するため、海賊行為者が確認装置を購入してそれを分析すれば、確認装置の内部構造は知ることができるので、分析結果に基づいて海賊行為者が高性能な識別装置を作ることが技術的に可能であるという欠点がある。
【0004】
従来法のこの欠点から保護するための種々の方法の中で、解読を無効にするプロトコルが今日までのところより高い安全性を保証している。この解読を無効にするプロトコルの機能上の特徴は、限定された回数だけ識別装置と相互に情報交換し且つ確認装置の構造を完全に分析しただけでは識別装置を再構成することはできないという点にある。この解読を無効にするプロトコルはフィアット(FIAT)の米国特許第 4,748,668号やギロー(GUILLOU) 達の欧州特許出願第A-0,311,470 号等に記載されている。
しかし、この解読を無効にするプロトコルは識別問題の理想的な解決方法ではあるが、大きな欠点もある。すなわち、この方法を行うためには極めて多くの演算が必要であるためエレクトロニクス的には実施が難しい。
【0005】
そのために、エレクトロニクス的に容易に実施可能な識別方法を開発する試みが種々行われてきた。その1つの方法がシャミール(SHAMIR)の米国特許第4,932,056 号に記載されている。この特許に記載の方法はPKP法として呼ばれ、多数の数を扱う他のアルゴリズムに比べれば、エレクトロニクス的に比較的容易に実行できる。しかし、確認装置と識別装置間との間の交換速度が遅いという欠点がある。
【0006】
【発明が解決しようとする課題】
本発明の目的は上記欠点を解消したエレクトロニクス的に容易に実行可能な確認装置による識別装置の迅速な認証方法を提供することにある。
【0007】
【課題を解決するための手段】
本発明は「モジュラーナップザック(Modular Knapsack)」として知られた問題すなわちシンドロームによるデコード化の問題に基づく解読を無効にするプロトコルによって認証を実施する、確認装置によって少なくとも1つの識別装置を認証する認証方法を提供する。
本発明の認証方法の特徴は下記段階にある:
(1)識別装置と確認装置との間の対話を可能にするための、サイズがnでハミング重み(poids de Hamming)がd(d<n)である少なくとも1つのベクトルsで構成された秘密キーと、係数がランダムに選択されるサイズn×kのマトリックスMとK=Ms等の少なくとも1つのベクトルKとで構成されるパブリックキーとを設定し、
(2)識別装置側で、サイズがnのランダムなベクトルyとランダムな順列(une permutation)pとを生成し、y、p、s、Mの関数パラメータに暗号ハッシュ関数(une fonction de hachage)Hを適用して、得られたコミットメント(engagement)を確認装置へ送り、
(3)確認装置が取って識別装置へ送った任意の数の関数で、sを明らかにしないでy、p、siのある関数要素を識別装置で明らかにし、
(4)受けた要素とパブリックキーとを用いて確認装置側で上記の数の関数でコミットメントが正確であることをテストし、
(5)所望の安全レベルに応じた回数で上記の動作を反復する。この安全レベルは回数と共に指数的に大きくなる。
【0008】
【作用】
上記認証方法ではサイズn×kのマトリックスMを用いる。このマトリックスMは全てのユーザに共通でランダムに構成される。各ユーザは予め書き込まれた数dの1でnビットのワードの秘密キーを受ける。この場合、システムはパブリックキーKを例えばK=MSのように計算する。
あるいは、各ユーザに複数の秘密キーs[1],・・・, s[w] を与え、この各々にパブリックキーK[i] =Ms[i]を組み合せることもできる。これらのベクトルs[1], ・・・, s[w]は展開した単位コードを形成するのが好ましい。
【0009】
上記の識別方法は原理的にコミットメント法(technique d’ engagement)の概念に基づいている。今、Uを2進数要素のシーケンスとすると、Uに対するコミットメントは一定の暗号ハッシュ関数を介したUの画像である。このコミットメントは一方向関数として使用される。
【0010】
本発明認証方法の第1実施例では、第1段階で、
(a) 各プロセスに共通して、識別装置がその識別子および/またはこの識別子がベルトルKi に対応することを確認する確認装置に割り当てられた1つまたは複数のキーを明らかにする。
次いで、ランダムなベクトルyとランダムな順列pとを選択した後に、
(b) 識別装置が下記:
1 =H (p、My)、h2 =H (yp ) 、h3 =H(y xor s)p )
を計算して確認装置へ順列{h1 、h2 、h3 }を送る。
(ここで、xp はpで置換されたベクトルxを表し、xorは排他OR関数を表す)
(c) 次いで、確認装置がランダムに0<q<4の数を取り、この数を識別装置へ送る。
(d) そして、識別装置が下記で定義される応答rを計算し、確認装置へ送る:
q=1ならば、r={y、p}
q=2ならば、r={y xor s、p}
q=3ならば、r={yp 、sp
(e) 確認装置はr={U、V}を受けて下記であることを調べる:
q=1ならば、h1 =H(V、MU)で、h2 =H(Uv )
q=2ならば、h1 =H(V、(MU)xor K)で、h3 =H(Uv )
q=3ならば、h2 =H(U)、h3 =H(U xorV)且つVのハミング重み(poids de Hamming)がdである。
(f) このqに対応するテストが正しいこと確認された時に、確認装置がプロトコ
ルは成功裏に終了したと見なす。
【0011】
本発明の別の実施例では、ベクトルsがw個のベクトルs[1],s[2],・・・s[W]で置換されて、重みdの単体コードを形成する。この実施例では、ランダムなベクトルyとランダムな順列pとを選択した後に、
(b)識別装置がh=H(M,p)、h=H(y,s[1],・・・,s[w])を計算して、コミットメント{h、h}を識別装置へ送る。
(c)確認装置はランダムに2進数ベクトルb[1]、・・・、b[w]を取ってそれを識別装置に送る。
(d)識別装置は下記の式で定義される応答zを計算して確認装置へ送る:
z=y xor r s[1]b[1] xor s[2]b[2] xor s[3]b[3]・・xor s[w]b[w]
(e)確認装置はビットqをランダムに取って識別装置に送る。
(f)識別装置は下記の式で定義される回答rを送る:
q=0ならば、r={y、s[1],・・・,s[w]
q=1ならば、r={p}
(g)確認装置はq=0ならば、応答r={r[0]、r[1],・・・,r[w]}を受け、
q=1ならばr={r[0]}を受ける。
(h)確認装置は下記のことを調べる:
q=0ならば、h=H(r)、z=r[0] xor r[1]b[1]xor r[2]b[2] xor r[3]b[3]・・・xor r [w]b[w]で、{r[1],r[2],・・・r[w]}は単体コードを形成。
q=1ならば、H(M(順列(z,r[0])) xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xor K[w]b[w])、r[0])=h
(ここで、K[i]=Ms[i])
(i)qに対応するテストが正確であることが明らかな時に、確認装置はプロトコルが成功裏に終了したとみなす。
本発明の上記以外の利点は添付図面を参照した以下の本発明方法の各種実施例から明らかになろう。
【0012】
【実施例】
本発明は、解読を無効にするプロトコルによって実施される新規な認証方法に関するものである。
本発明方法の安全性はシンドロームによるデコード(DS)の問題に基づくものである。シンドロームによるデコード(DS)の問題は以下のように説明できよう。すなわち、2進数マトリックスMの場合でも、2進数ベクトルKの場合でも、Ms=Kのように重みsが比較的大きいか、小さい2進数ベクトルsを見つけることである。重みとはそのベクトル中の1のビット数を意味する。この問題はマトリックスMのサイズとsのハミング重み(poid de Hamming) dとを正しく選択すると、現在公知の計算手段で解くのは極めて難しい。シンドロームによるデコート化の問題を解決するための公知のアルゴリズム、例えば、レオン(J. S. Leon)の論文「大きなエラー補正コードの最小重みを計算するための確率アルゴリズム (A probabilistic algorithm for computing minimum weights of large error-correcting codes) 」(IEEE TIT 34(5) 第1354〜1359頁) やスターン(J. Stern)の論文「小さい重みのコードワードを見つける方法 (A method for finding codewords of small weight) 」 (Coding Theory & Applications, notes de lecture en Computer Science 388(1989) 、第 106〜113 頁) に記載のアルゴリズムは、計算時間がマトリックスのサイズに比例して指数関数的に長くなる。
【0013】
実際の計算手段では、Mのサイズが約 500×250 となり、dの値が50に近くなると、sを計算することができない。しかし、s(偶然ではあるが、正しい重みが付いた)がわかると、Kは計算することができる。
本発明では、この1方向特性を使用して、Kを知っている確認装置が相互作用中にその値を知らせずに識別装置がsを有しているか否かをテストすることができる。
【0014】
本発明の認証方法を実施する際には、正当権限者(autorite、アクセスが許された正当な使用者)が係数aijで構成されたマトリックスMをランダムに選択して公表(ubliier) する。実際には、マトリックスM全体を記憶するのを避けるために、f(i、j)によって各係数aijを生成させることができる(ここで、fは公表された任意の擬似ランダム関数である)。
また、正当権限者はハミング重みが比較的小さい2進数ベクトルの組sj すなわちs1,s2,・・・, sn を選択して、それを各識別装置に配分する。従って、識別装置iはsi を受ける。一方、パブリックキーKi (但し、Ki =Msi )を公表する。
【0015】
別の実施例では正当権限者がKi に署名を付けて、パブリックキーを有効化するめには正当権限者との相互通信を必要とする閉じた暗証システムを構成する秘密キーsi の保持者の同定システムを用いる。
以下、本発明方法の特殊な2つの実施態様を説明する。
【0016】
第1の方法を図1を参照して説明する。
図1は認証のために識別装置と確認装置との間で実行される通信プロトコルの概念図である。識別装置は例えばチップカードや電子キーで構成される物理的に侵入不可能なものである。チップカードの場合には内部メモリにアクセスすることは不可能であるが、確認装置の環境に関しては何も仮定していない。
図3、図4に概念的に示した識別装置および確認装置では、識別装置が不揮発性メモリ内にその秘密キーsとマトリックスMとを有している。同様に、確認装置は不揮発性メモリ内にパブリックキーの組KとマトリックスMとを有している。
識別装置が確認装置とコンタクトをとる場合に2つの装置が実行するプロトコルは下記の通りである:
(a)先ず、識別装置はその識別子および/またはそのキーKを確認装置に提示して、その識別子がベクトルKに対応することを確認する。
(b)次に、識別装置はランダムな2進数ベクトルyとランダムな順列pとを選択する。次いで、識別装置は下記要素:
=H(p、My)、h=H(y)、h=H(y xor s))を計算し、確認装置にコミットメント{h、h、h}を送る。
(ここで、xはpで順列化されたベクトルxを示し、xorは排他的ORを表す)
(c)次に、確認装置はランダムな数0<q<4を取って、その数を識別装置へ送る。
(d)次に、識別装置は下記で定義される回答を計算して確認装置へ送る:
q=1ならば、r={y、p}
q=2ならば、r={y xor s,p}
q=3ならば、r={y、s
(e)確認装置はr={U、V}を受けて下記をテストする:
q=1ならば、h=H(V、MU)かつh=H(U
q=2ならば、h=H(V、(MU)xor K)かつh=H(U
q=3ならば、h=H(U)、h=H(U xor V)かつVのハミング重みがdである。
(f)qに対応するテストが正解な場合には、確認装置はプロトコルを成功裏に終了する。テストが正解でない場合には識別装置は拒絶される。
識別装置が受入れられた時には、保護システムの入力/出力インターフェースに制御インパルスが送られてその後のトランザクションが開始される。上記の各操作全体は図1に示されており、その左側部分は識別装置側で実施された各操作であり、右側部分は確認装置側で実施された各操作である。矢印は一方の装置から他方の装置へ情報が送られることを示している。
【0017】
上記プロセスの安全性を大きくするためには、識別装置と確認装置の2つの装置が上記の段階を複数回すなわちt回繰り返して、全ての回数でプロトコルが成功した時のみしか確認装置が識別装置を認証しないようにするのが好ましい。好ましくは0<t<60のようなtを選択する。
【0018】
上記の基本的方法は、エレクトロニクス的に実行を単純化したり、計算時間を短くするために種々変更することができる。すなわち、ベクトルMyをキーで転送し、対応するテストを変更してH=H(p)を再定義することができる。別の実施例では、確認装置および/または識別装置がベクトル座標の二次的な組に部分的なテストを実施してより迅速に計算を実施する。これらの場合に、プロセス上の幾つかの段階を下記のように変更する:
すなわち、ランダムなベクトルyとランダムな順列pとを選択した後に、
(b)識別装置が下記式:
=H(p)、h=H(y)、h=H(y xor s)
を計算し、確認装置にコミットメント{h、h、h}を送り、
(c)次に、確認装置は互いに分離した数のリストG={g、・・・g}(但し、1<g<k)をランダムに取ってそれを識別装置へ送り、
(d)識別装置は、置換がGによって示されたMyのfビットだけを計算し、得られたベクトルZを確認装置へ送る。
【0019】
この場合、段階(e) も下記のように変更される:
(e) 確認装置はr={U、V}を受けて下記のように制御する:
q=1ならば、h1 =H(V)、h2 =H(Uv ) かつエキス(Extrait)(MU、G) xor Z=0 (ここで、エキス (MU、G)はx中でGによって表されたビットだけを選択することによって、得られた射影ベクトルを表す)、
q=2ならば、h1 =H(V)、h3 =H(Uv ) かつエキス (MU xorK、G) xor Z=0、
q=3ならば、h2 =H(U)、h3 ==H(U xor V)かつVのハミング重みはdである。
【0020】
本発明の方法の別の実施例では(b)段階を下記のように変更する:
(b)ランダムなベクトルyとランダムな順列pとを選択した後に、識別装置は下記式:
=H(p)、h=H(y)、h=H(y xor s))を計算し、確認装置にコミットメント{h、h、h}を送り、
(c)識別装置はQ=Mを計算し、得られたベクトルQを確認装置に送り、(d)確認装置は互いに分離した数のリストG={g、・・・g}(ここで、1<g<k)をランダムに取ってベクトルZ=エキス(Q、G)を計算する。
この場案には段階(e)を下記のように変更する:
(e)確認装置はr={U、V}を受けて下記のように制御する:
q=1ならば、h=H(V)、h=H(U)かつエキス(MU、G) xor Z=0)、
q=2ならば、h=H(V)、h=H(U)かつエキス(MU xor K、G) xor Z=0、
q=3ならば、h=H(U)、h==H(U xor V)かつVのハミング重みはdである。
【0021】
次に、本発明の認証方法の別の実施例を図2を参照して説明する。この第2の実施例は上記の実施例より多くの計算を必要とするが、不法者の成功の確率はより急速に減少する。この場合には、ベクトルsは拡張された単体コードを形成するベクトルs[1],・・・s[w]の組に代える。また、ベクトルKはM(s[i])=K[i]のようなベクトルK[1],・・・K[w]の組に代える。
この実施例は図1で使用した記号と同様な記号で示した図2の下記の段階を有している:
(a)識別装置がランダムなベクトルyとランダムな順列pとを選択した後に、
=H(My、p)、h=H(y、s[1],・・・,s[w])を計算して確認装置へコミットメント{h、h}を送り、
(b)確認装置はランダムに2進数ベクトルb[1],・・・,b[w]を取って識別装置へそれを送り、
(c)識別装置は下記の式で定義される応答zを計算して確認装置へ送る:
z=y xor s[1]b[1] xor s[2]b[2] xor s[3]b[3]・・・xor s[w]b[w]
(d)確認装置はビットqをランダムに取って識別装置へ送り、
(e)識別装置は下記の式で定義される応答rを送る:
q=0ならば、r={y、s[1],・・・,s[w]
q=1ならば、r={p}
(f)確認装置は、q=0ならば応答r={r[0]、r[1]、・・・、r[w]}を受け、q=1ならばr={r[0]}を受ける、
(g)確認装置は下記のテストを行う:
q=0ならば、h=H(r)、z=r[0] xor r[1]b[1] xor r[2]b[2] xor r[3]b[3]・・・xor r[w]b[w]かつ{r[1]、r[2]、・・・r[w]}が単体コードを形成する、
q=1ならば、H(M(順列(z、r[0])) xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xor K[w]b[w]、r[0])=h
(h)qに対応するテストが正確であることが分かった時に、確認装置はプロ
トコルが成功裏に終了したとみなす。
【0022】
この方法はベクトルzの脱順列(de:ermutation)を避けるために、上記のようなベクトルの座標の二次的な組について単純化された確認を実施するように変更することができる。この場合には例えば下記の段階を有する:
(a)識別装置はランダムなベクトルyとランダムな順列pとを選択した後に、h=H(p)、h=H(y、s[1],・・・,s[w])を計算し、確認装置にコミットメント{h、h}とベクトルh=Mを送り、
(b)確認装置はランダムに2進数ベクトルb[1],・・・,b[w]を取って識別装置にそれを送り、
(c)識別装置は下記の式で定義される応答zを計算して確認装置へ送る:
z=y xor s[1]b[1] xor s[2]b[2] xor s[3]b[3]・・・xor s[w]b[w]
(d)確認装置はビットqをランダムに取って識別装置へ送り、
(e)識別装置は下記の式で定義される応答rを送る:
q=0ならば、r={y、s[1]、・・・、s[w]
q=1ならば、r={p}
(f)確認装置は、q=0ならば応答r={r[0]、r[1]、・・・、r[w]}を受け、q=1ならばr={r[0]}を受ける、
(g)確認装置は下記をテストする:
q=0ならば、h=H(r)、z=r[0] xor r[1]b[1] xor r[2]b[2] xor r[3]b[3]・・・xor r[w]b[w]かつ{r[1]、r[2]、・・・、r[w]}は単体コードを形成する。
q=1ならば、h=H(r[0])かつ(h)r[0] xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xor K[w]b[w])r[0]=z
対応するテストが正確であることが分かった時に、確認装置はプロトコルが成功裏に終了したとみなす。
第1の実施例の場合と同様に、上記のプロトコルもt回繰り返してプロトコルの全回が成功した時にのみ確認装置が識別装置を認証することもできる。
【0023】
また、上記2つの方法の安全性は各種パラメータ、特にd、n、k及びtのサイズに依存する。互いに交信する2つの装置のレベルで作動中にtの選択を容易に変更できるということは当業者には明らかである。パラメータd、n及びkはシステムパラメータであり、これらの選択は最初に決定されており、変更は困難である。
これらのパラメータd、n、kは、ランダムなコード(n、K)の最小重みに対して理論限界値を与えるワルシャモフ−ギルバート(Warshamov-Gilbert) 限界で選択するのが好ましい。すなわち、d=nH2 (k/n)(ここで、H2(x)はエントロピー関数H2 (x)=−x log2 (x)−(1−x)log2(1−x)である) 。この場合、dは下記のように選択する:
d=(k−n)log2(1−(k/n))−klog2(k/n)または
d=(n−(k−n)log2(1−(k/n))+klog2(k/n)
【0024】
また、ワルシャモフ−ギルバート限界の制限下ではnとkとの値を結ぶ2k=nのような関係式を加えるのが便利である。
上記の関係式、好ましくは、d=0.11nまたはd=0.89nを用いると、nとkの組は下記の値の1つをとることができる:
{n=384 、k=196 }または{n=512 、k=256 }または{n=1024、k=512 }または{n=768 、k=384 }
【0025】
上記の全ての方法で使用できる変形実施例では、暗号ハッシュ関数を暗号化関数(fonction de chiffrement)に代えて、ハッシュされるメッセージ(message a hacher)がキーおよび/または暗号化すべきメッセージの役割を果たし且つハッシュされたメッセージの真実性の制御がハッシュされたメッセージおよび/または暗号化キーを明らかにする。この問題に関しては下記刊行物を参照することができる:
(1)ヴァン ダムガード(Ivan Damgaard)、クリプト(Crypto)’89『ハッシュ関数の設計原理(Design principles forhash−functions)』
(2)ナオール(Naor)達の『1方向ハッシュ関数とその暗号への応用(One−way hash functions and their cryptographic applications)』(Proceedings of the 21st annual ACM symposium on theory of computing、Seattle、Washington、May15〜17、1989、33〜43頁)
(3)マティアス(Matyas)の『暗号法アルゴリズムを用いた強い1方向関数の生成(Generating strong one−way functions with cryptographic algorithm)』(IBM Technical disclosure bulletin、第27巻、第10A号、1985年3月、5685〜5695頁)。
【0026】
「モジュラーナップザック(Modular Knapsack)」を基礎とする方法の場合のベクトルyの選択と全ての計算はモジュロ(modulo)mで実施され、xor演算はモジュロmの加算または減算で置換される。重みのテストは、ベクトルの全座標が0であるか1であるかの確認と、このベクトルの重みが一定であることの確認で置換され、n、k及びmの間の関係式はn−kIn(m)/In2かつn−k>64である。従って、mは数2、3、5、7または2c (ここで、cは小さい整数である)の中から選択され、組{n、k、m}は下記の1つをとることができる:
{196 、128 、3}または{384 、256 、3 }または{128 、64、5 }または{192 、96、5 }
【0027】
大抵の場合、識別装置の保持者の識別子IDからsを演繹する手段を有することが重要である。それによって、例えば確認装置でのパブリックキーKのバックアップを防ぎ、新しいユーザがシステムに参加してパブリックキーの辞書を変えるのを防ぐことができる。
このために、正当権限者は全ての共通パラメータに対して一度に拡張した単体コードσ、・・・、σを選択する。
識別子がIDであるユーザを記録するには、パプリックの1方向関数(例えばハッシュ関数)によってIDの値をハッシュし、2進数ベクトルe・・・eを作って、下記〔式2〕を計算する:
【0028】
【式2】
Figure 0003675494
【0029】
1 =M(σ1 )、・・・、Ku =M(σ)u を公表し、ユーザIDにSIDを与える。
確認装置は下記〔式3〕を計算して識別装置がsIDを有することを確認することができる:
【0030】
【式3】
Figure 0003675494
(ここで、ベクトルe、・・・、eはIDのハッシュによって与えられる)
【0031】
十分な安全度に達するには、u>40であることが不可欠であり、そのためには経験的にかなり大きなサイズの単体コードが必要である。実際には、サイズの小さいL個の単体コードの組(例えばd=64、dim=7、n=580 、k=290,L=8)を選択し、各ユーザに対して下記のようにして得られたL個の秘密キーs[1] ID、s[2] ID、・・・、s[L] IDを計算することによって、適切なサイズにすることが容易にできる。
全ての単体コードLについて一度にサイズdim を選択し、
σ[1]1、・・・σ[1] dim
σ[2]1、・・・σ[2] dim
σ[L]1、・・・σ[L] dim
各識別装置でパブリックキーの完全な組K[i] j =M(σ[i] j )を与える (ここで、i=1、・・・L、j=1、・・・dim)
【0032】
各ユーザに対して、
(1) H(ID)=e1 、・・・eu を計算し、
(2) ベクトルを各々dimビットのL個のセグメントe[1] 、・・・e[L] に分割し、
(3) i=1〜Lに対して下記〔式4〕を計算する
【0033】
【式4】
Figure 0003675494
【0034】
(4) ユーザにs[1]ID、s[2]ID、・・・、s[I]IDを与える。
【0035】
各s[i]IDは、下記プロトコルに示すように、直列(s[i]IDを順番に連続して使用する)または並行で使用する:
(a)識別装置は確認装置にその識別子IDを明らかにし、
(b)確認装置はK[1]ID、K[2]ID、・・・K[L]IDを計算し、
(c)識別装置はL個のベクトルy[1]、・・・y[L]とL個の順列p[1]、・・p[L]を選択し、h=H〔{p[1]},{My[i]}〕、
=H({y[i]p[i]})、h=H〔{y[i] xor s[i]p[i]})を計算して確認装置へコミットメント{h、h、h}を送り、
(d)確認装置はランダムな数0<q<4を取って識別装置にそれを送り、
(e)識別装置は下記で定義される応答rを確認装置に送る:
q=1ならば、r={{y[i]}、{p[i]}}
q=2ならば、r={{y[i]xor s[i]}、{p[i]}}
q=3ならば、r={{y[i]p[i]}、{s[i]p[i]}}
(f)確認装置はr={U、V}を受けて下記をテストする:
q=1ならば、h=H〔{V[i]}、{MU[i]}〕かつ
=H({U[i]V[i]})
q=2ならば、h=H〔{V[i]}、{MU[i] xor K[i]})かつh3=H({U[i]v[i]})
q=3ならば、h=H({U[i]}、h=H({U[i] xor V[i]})で且つV[i]の重みはdである
(g)qに対応するテストが正確であることが分かった時に、確認装置はプロトコルが成功裏に終了したとみなす。
(h)両者の装置の間で上記(a)〜(f)の段階をt回反復する。
【0036】
並行の場合のプロトコルは下記の通り:
(a)識別装置は確認装置にその識別子IDを明らかにし、
(b)確認装置はK[1]ID、K[2]ID、・・・K[L]IDを計算し、
(c)識別装置はL個のベクトルy[1]、・・・y[L]と、L個の順列p[1]、・・p[L]を選択し、h=H〔{p[1]}、{My[i]}〕、h=H({y[i]p[i]})、h=H〔{y[i] xor s[i]p[i]})を計算して確認装置にコミットメント{h、h、h}を送り、
(d)確認装置はランダムにL個の数q[1]、・・・q[L](但し、0<q<4)を取って識別装置にそれを送り、
(e)識別装置は下記で定義される応答r[1]を計算して確認装置へ送る:
q[i]=1ならば、r[i]={y[i]、p[i]}
q[i]=2ならば、r[i]={y[i] xor s[i]、p[i]}
q[i]=3ならば、r[i]={y[i]p[i]s[i]p[i]
(f)確認装置は{r[i]}を受け、当業者に自明な方法でコミットメントを制御する。
【0037】
IDをsに関連づけるその他の方法は下記の通りである:
1のビットが2atの位置に分割されたt個の秘密の重みを導入する。すなわちs[1] 、s[2]、・・・、s[t]であり、i=1、・・・、tについてMs[i] を公表する。
この場合、キーは下記の手順で作られる。下記〔式5〕のようなワードを見つけることは、部分的な三角測量(tiangulation partielle)で容易にできる:
【0038】
【式5】
Figure 0003675494
sの重みは約ta−t/2である。
【0039】
この系でのサイズの選択は通常次の関係式:0.11n=ta−t/2、2k=nかつ2atδ>56(但し、2a−2aH2(δ) −1)で支配される。
t=56の時の場合、一般には、d=95、n=863 、k=432 である。当業者には他の組み合わせが可能であることが明らかである。
【0040】
次に、図3を参照して識別装置の概念的実施例を説明する。識別装置は例えばチップカードにすることができる。
この識別装置は制御装置1と、不揮発性メモリ2(この不揮発性メモリ2は、例えば上記マトリックスMまたはこのマトリックスMの係数を得ることが可能な関数と、識別装置自身の秘密キーsとを収容したリードオンリーメモリにすることができる)と、ランダムアクセスメモリ3と、ベクトル−マトリックス乗算器(その機能は図5を参照して後で説明する)と、2進数排他的OR実施手段5と、ランダム数発生器6と、ハッシュ機能7と、順列発生器8とを有し、これら全ての要素は物理的に保護されている。さらに、識別装置には確認装置と識別装置の制御装置との間でデータを交換するための通信インターフェースが備えられている。ランダム数発生器6は例えばいわゆる「クード(coude)」区域を逆に分極したツェナーダイオード(zenerdiode)が生成するデジタル白色ノイズ源で形成するか、グンター(GUNTER)の米国特許第4,817,145号またはアラゴン(ARAGON)の米国特許第4,649,419号に記載の擬似ランダム数発生器で構成することができる。順列発生器8は、例えばナッカシュ(David Naccache)の『順列の生成について(On the generation of permutation)』(South African Computer Journal 第2号、1990年、12〜16頁)に記載の方法を用いた2進数ベクトル順列化装置にすることができる。
【0041】
ハッシュ関数(fonction de hachage)はクリプト90でRivestが発表したハッシュ関数MD4、ヨーロクリプト92でSchnorが発表した適当に反復されるFFT−HashIIまたは暗号化アルゴリズムDESによって作ることができる。
【0042】
図4は確認装置を示している。この確認装置は制御装置10を有し、この制御装置10にはマトリックスMおよびパブリックキーKを収容したROM型の不揮発性メモリ11と、ハミング(Hamming)重み計算器12と、比較器13と、マトリックス−ベクトル乗算器14と、ランダムアクセスメモリ15と、識別装置の手段5と同じ2進数排他的OR実施手段16と、ランダム数発生器17と、ハッシュ関数17と同じハッシュ関数18と、順列生成器19とが接続されている。また、この制御装置10には確認装置と各識別装置との間の通信を管理する通信インターフェースが接続されている。
【0043】
次に、図5を参照してベクトルによるマトリックスの乗算関数の一実施例を説明する。この実施例は8ビットのベクトルyを用いた単純化した方法である。図5に示したマトリックス乗算器Mは8ビットのベクトルyを対応するサイズのマトリックスで乗算でき、8個のANDゲート 11, 12, 13, 14, 15, 16, 17, 18 で構成されている。各ANDゲートの入力にはベクトルyの1ビットとマトリックスの現在の行の1ビットが入る。ANDゲートの出力は排他的ORゲートの三角網(reseau triangulaire) 21, 22, 23, 24, 31, 32, 4に入って、回路の出力側でマトリックスMの現在の行によるyのスカラー積に対応したビットが得られる。特に、ゲート 11, 12 の出力は排他的ORゲート21 の入力へ送られ、ゲート 13, 14 の出力は排他的ORゲート22 の入力へ送られ、これらの2つの排他的ORゲートの出力は排他的ORゲート 31 の入力へ送られる。同様に、ゲート15, 16 の出力は排他的ORゲート23 の入力へ送られ、ゲート 17, 18 の出力は排他的ORゲート24 の入力へ送られ、これらの2つの排他的ORゲートの出力は排他的ORゲート 32 の入力へ送られる。排他的ORゲート 31, 32 の出力は排他的ORゲート4の入力に送られる。このゲート4の出力SはマトリックスMの現在の行によるyのスカラー積に対応する。
【図面の簡単な説明】
【図1】 本発明の認証方法の第1の実施例を説明するための概念図。
【図2】 本発明方法の第2の実施例を説明するための概念図。
【図3】 本発明の識別装置のブロック図。
【図4】 本発明の確認装置のブッロク図。
【図5】 本発明のマトリックス/ベクトル乗算器の実施例の電気概念図。
【符号の説明】
1 制御装置
2 不揮発性メモリ
3 ランダムアクセスメモリ
4 ベクトル−マトリックス乗算器
5 排他的ORゲート
6 ランダム数発生器
ハッシュ機能
8 置換発生器
10 制御装置
11 不揮発性メモリ
12 ハミング重み計算器13比較器
14 ベクトル−マトリックス乗算器
15 ランダムアクセスメモリ
16 2進数排他的OR形成手段
17 ランダム数発生器
18 ハッシュ機能
19 置換発生器
20 通信インターフェース

Claims (33)

  1. ゼロ知識入力プロトコルによって認証が実施される、確認装置を使用して少なくとも1つの識別装置を認証する認証方法において、ゼロ知識入力プロトコルは、シンドローム問題によるデコード又はモジュラーナップザックとして知られた問題に基づいており、且つ、
    (1)識別装置と確認装置との間の対話を可能にするためのサイズがnでハミング重みがd(d<n)である少なくとも1つのベクトルsで構成された識別装置における第1不揮発性メモリにおける秘密キーと、係数がランダムに選択されるサイズがn×kのマトリックスMと少なくとも1つのベクトルK(K=Ms)とで構成される確認装置における第2不揮発性メモリにおけるパブリックキーとを設定するステップと、
    (2)識別装置側の第1ランダムアクセスメモリで、サイズがnのランダムに選択されるベクトルyとランダムに選択される順列pとを生成し、y、p、s、Mの関数としてパラメータに暗号ハッシュ関数Hを適用して得られたコミットメントを通信インターフェースにより確認装置へ送るステップと、
    (3)確認装置の第1ランダムアクセスメモリにより選択されたそして通信インターフェースにより識別装置へ送られたランダム数の関数として、sを明らかにしないで、識別装置へ、y、p、sの関数としてある要素を明らかにするステップと、
    (4)ランダム数の関数として、受信された要素とパブリックキーとを用いて確認装置側でコミットメントが正確であることをテストするステップと、
    (5)所望の安全レベルに応じた回数で上記の動作を反復するステップと
    を有することを特徴とする、認証方法。
  2. 上記ベクトルsが2進数ベクトルである請求項1に記載の方法。
  3. ランダムに選択されたベクトルyとランダムに選択された順列pを選択した後に識別装置が下記の式:
    =H(p、My)、h=H(yp)、h=H(y xor s)p)
    を計算して確認装置にコミットメント{h、h、h}を送り(ここで、xはpで順列化されたベクトルxを表し、xorは排他的OR関数を表す)、次に、確認装置はランダムな数0<q<4を取り、その数を識別装置へ送り、次に、識別装置は、下記のように:
    q=1ならば、r={y、p}
    q=2ならば、r={y xor s、p}
    q=3ならば、r={yp、sp}
    によって定義される応答を計算して確認装置に送り、確認装置はr={U、V}を受けて下記:
    q=1ならば、h=H(V、MU)かつh=H(Uv)
    q=2ならば、h=H(V、(MU)xor K)かつh=H(Uv)
    q=3ならば、h=H(U)、h=H(U xor V)かつVのハミング重みはdである
    ことをテストし、
    qに対応するテストが正確であること分かった時に、確認装置はプロトコルが成功裏に終了したとみなす請求項1または2に記載の方法。
  4. ランダムに選択されたベクトルyとランダムに選択された順列pとを選択した後、識別装置が下記の式:
    =H(p)、h=H(yp)、h=H(y xor s)p)
    を計算して確認装置にコミットメント{h、h、h}を送り、
    確認装置は互いに分離した数のリストG={g、・・・g}(ここで、1<g<k)をランダムに取ってそれを識別装置に送り、
    識別装置はGによって示された位置でMyのfビットのみを計算し、この計算で得られたベクトルZを確認装置へ送り、
    確認装置はランダムな数0<q<4を取り、その数を識別装置へ送り、
    識別装置は下記:
    q=1ならば、r={y、p}
    q=2ならば、r={y xor s、p}
    q=3ならば、r={y、s
    で定義される応答rを計算して確認装置に送り、
    確認装置はr={U、V}を受けて下記のように制御し:
    q=1ならば、h=H(V)、h=H(U)かつエキス(MU、G)xor Z=0(ここで、エキス(x、G)はx中でGによって表されたビットだけを選択することによって得られた射影ベクトルを表す)、
    q=2ならば、h=H(V)、h=H(U)かつエキス(MU xor K、G)xor Z=0、
    q=3ならば、h=H(U)、h==H(U xor V)かつVのハミング重みはdである、
    qに対応するテストが正確であること分かった時に、確認装置はプロトコルが成功裏に終了したとみなす請求項1または2に記載の方法。
  5. ランダムに選択されたベクトルyとランダムに選択された順列pとを選択した後に、識別装置が下記の式:
    =H(p)、h=H(y)、h=H(y xor s)p)を計算して確認装置にコミットメント{h、h、h}を送り、
    識別装置はQ=Mを計算し、得られたベクトルQを確認装置へ送り、
    確認装置は互いに分離した数のリストG={g、・・・g}(ここで、1<g<k)をランダムに取ってベクトルZ=エキス(Q、G)を計算し、
    確認装置はランダムな数0<q<4を取ってその数を識別装置へ送り、
    次に、識別装置は下記:
    q=1ならば、r={y、p}
    q=2ならば、r={y xor s、p}
    q=3ならば、r={yp、sp}
    で定義される応答rを計算して確認装置へ送り、
    確認装置はr={U、V}を受けて下記の制御をし:
    q=1ならば、h=H(V)、h=H(U)かつエキス(MU、G)xor Z=0)、
    q=2ならば、h=H(V)、h=H(U)かつエキス(MU xor K、G)xor Z=0、
    q=3ならば、h=H(U)、h=H(U xor V)かつVのハミング重みはdである、
    qに対応するテストが正確であることが分かった時に、確認装置がプロトコルが成功裏に終了したとみなす請求項1に記載の1に記載の方法。
  6. ベクトルsが長い単体コードを形成するベクトルの組s[1],・・・s[w]によって置換されている請求項1に記載の方法。
  7. ベクトルKがベクトルの組K[1]、・・・K[w]によって置換されて、M(s[i])=K[i]である請求項6に記載の方法。
  8. 識別装置がランダムに選択されたベクトルyとランダムに選択された順列pとを選択した後に、h=H(My、p)、h=H(yp、s[1],・・・,s[w])を計算し、コミットメント{h、h}を識別装置へ送り、
    確認装置はランダムに2進数ベクトルb[1]、・・・、b[w]を取ってそれを識別装置へ送り、
    識別装置は下記の式:
    z=y xor s[1] b[1] xor s[2] b[2] xor s[3] b[3]・・・xor s[w] b[w]
    で定義される応答zを計算して確認装置へ送り、
    確認装置はビットqをランダムに取って識別装置へ送り、
    識別装置は下記の式:
    q=0ならば、r={yp、s[1],・・・,s[w]
    q=1ならば、r={p}
    で定義される応答rを送り、
    確認装置は下記回答r:
    q=0ならば、r={r[0]、r[1]、・・・、r[w]}
    q=1ならばr={r[0]}
    を受けて下記をテストする:
    q=0ならば、h=H(r)、z=r[0] xor r[1]b[1] xor r[2]b[2] xor r[3]b[3]・・・xor r[w]b[w]且つ {r[1],r[2],・・・,r[w]}が単体コードを形成する、
    q=1ならば、H(M(順列(z、r[0])) xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xor K[w]b[w], r[0])=h1、
    qに対応するテストが正確であることが分かった時に、確認装置はプロトコルが成功裏に終了したとみなす請求項6または7に記載の方法。
  9. 識別装置がランダムに選択されたベクトルyとランダムに選択された順列pとを選択した後に、h=H(p)、h=H(yp,s[1],・・・,s[w])を計算して確認装置へコミットメント{h、h}とベクトルh=Myとを送り、
    確認装置はランダムに2進数ベクトルb[1],・・・,b[w]を取って識別装置へそれを送り、
    識別装置は下記の式:
    z=y xor s[1] b[1] xor s[2] b[2] xor s[3]p b[3]・・・xor s[w]p b[w]
    で定義される応答zを計算して確認装置に送り、
    確認装置はビットqをランダムに取って識別装置へ送り、
    識別装置は下記の式:
    q=0ならば、r={y、s[1],・・・,s[w]
    q=1ならば、r={p}
    で定義される応答rを送り、
    確認装置は、
    q=0ならば応答r={r[0]、r[1]、・・・、r[w]}、
    q=1ならばr={r[0]}
    を受けて下記をテストし:
    q=0ならば、h=H(r)、z=r[0] xor r[1]b[1]xor r[2]b[2] xor r[3]b[3]・・・xor r[w]b[w]かつ{r[1],r[2],・・・,r[w]}は単体コードを形成する、
    q=1ならば、h=H(r[0])かつ(hr [0] xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xorK[w]b[w])r[0]=z、
    対応するテストが正確であると分かった時に、確認装置はプロトコルが成功裏に終了したとみなす請求項6または7に記載の方法。
  10. 請求項1〜9のいずれか一項に記載の方法であって、前記プロトコルがt回反復され、その全てのプロトコルが成功した時にのみ確認装置が識別装置を認証する請求項1〜9のいずれか一項に記載の方法。
  11. tを0<t<60の範囲で選択する請求項10に記載の方法。
  12. ハミング重みdを下記の式:
    d=(k−n)log2(1−(k/n))−k log2(k/n)
    に選択し、好ましくはこの値より小さくする請求項1〜11のいずれか一項に記載の方法。
  13. ハミング重みdを下記の式:
    d=(n−(k−n)log2(1−(k/n))+k log2(k/n)
    に選択し、好ましくはこの値より大きくする請求項1〜11のいずれか一項に記載の方法。
  14. n=2kである請求項12または13に記載の方法。
  15. d=0.11nまたはd=0.89nである請求項12〜14のいずれか一項に記載の方法。
  16. nとkとが下記の値の組の1つを取る請求項1〜15のいずれか一項に記載の方法:
    {n=384、k=196}、{n=512、k=256}、{n=1024、k=512}または{n=768、k=384}。
  17. 暗号ハッシュ関数を暗号化関数で置換して、ハッシュされるメッセージが上記のキーおよび/または暗号化すべきメッセージの役目をし且つハッシュされたメッセージの真実性の検査でハッシュされたメッセージおよび/または暗号化キーを明らかにする請求項1〜16のいずれか一項に記載の方法。
  18. mを数2、3、5、7または2c(ここで、cは小さい整数である)の中から選択する請求項17に記載の方法。
  19. {n、k、m}が下記の値の1つをとる請求項17または18に記載の方法:
    {196、128、3}、{384、256、3}、{128、64、5}または{192、96、5}
  20. H(p)の計算をH(ep)(ここで、eは一定の擬似ランダムベクトルである)の計算で行う請求項1乃至19のいずれか1項に記載の方法。
  21. 各ユーザの識別子IDをキー{s、K}と組み合わせるために正当権限者が主な秘密キーの組{KPi}を選択し、KP値の関数としてsを計算するための2進数ベクトルI=H(ID)にIDをハッシュし、正当権限者は全パプリックキー{PP}または{PP}=f(KP)を公表する請求項1乃至20のいずれか一項に記載の方法。
  22. KPがsの計算に関連するか否かを決める選択インジケータとして正当権限者が1に等しいビットを用いる請求項21に記載の方法。
  23. 組{KPi}が1つまたは複数の拡大した単体コードを形成する請求項22に記載の方法。
  24. Iが56ビットの数である請求項23に記載の方法。
  25. sがKPの一次の組み合わせ、すなわち、
    s=l[1]KP1+I[2]KP2+・・・I〔Iのサイズ〕KpIのサイズ
    (ここで、PP=(KP))
    として計算する請求項21乃至24に記載の方法。
  26. 正当権限者が1に等しいのビットが2atの位置に分配された重みatのt個の秘密KPを選択し、PP=(MP)値を公表し且つ下記〔式1〕の部分三角測量によってコードsを生成する:
    【式1】
    Figure 0003675494
    sの重み=ta−t/2であり、
    サイズは、下記の関係式で選択:
    0.11n=ta−t/2、2k=nかつ2atδ>56
    (ここで、2a−2aH(δ)≡1)
    の計算を実行することを特徴とする、請求項21、22または24に記載の方法によってIDをsに関連付ける方法。
  27. t=56、d=95、n=864、k=432である請求項26に記載の方法。
  28. 識別装置は、制御装置と、不揮発性メモリと、ランダムアクセスメモリと、ベクトル−マトリックス乗算器と、2進数排他的OR実施手段と、ランダム数発生器と、刻み機能と、順列発生器とを有し、確認装置は、制御装置を有し、制御装置には、不揮発性メモリと、ハミング重み計算器と、比較器と、ベクトル−マトリックス乗算器と、ランダムアクセスメモリと、2進数排他的OR実施手段と、ランダム数発生器と、刻み機能と、順列発生器とが接続され、識別装置と確認装置との間には通信インターフェースが接続されていることを特徴とする請求項1〜31のいずれか一項に記載の方法
  29. 請求項1〜28のいずれか1項に記載の方法を実施するための識別装置であって、
    サイズn×kのマトリックスMをnビットのベクトルによって乗算するための少なくとも1つの手段と、ハミング重みdの秘密ベクトルs を記憶するための手段と、ランダムなベクトルyとランダムな順列yとを生成する手段と、暗号ハッシュHを実施するための手段と、確認装置との通信手段とを有することを特徴とする装置。
  30. 請求項1〜28のいずれか1項に記載の方法を実施するための確認装置であって、
    サイズn×kのマトリックスMをnビットのベクトルによって乗算するための少なくとも1つの手段と、少なくとも1つのパブリックベクトルK (K =Ms )を記憶するための手段と、整数をランダムに生成する手段と、暗号法ハッシュHを実施する手段と、識別装置との通信装置とを有する装置。
  31. マトリックスMが擬似ランダム数の決定発生器によって生成される請求項29または30に記載の装置。
  32. マトリックス乗算器Mが一列整列の複数のANDゲートによって形成されており、これらのゲートの各々の入力にベクトルyのビットとマトリックスMの現在の行のビットとが入力され、ANDゲートの出力は排他的ORゲートの三角網に供給され、回路の出力で、yとマトリックス M の現在の行によるスカラー積に対応するビットが得られることを特徴とする請求項29〜31のいずれか一項に記載の装置。
  33. 識別装置は、制御装置と、不揮発性メモリと、ランダムアクセスメモリと、ベクトル−マトリックス乗算器と、2進数排他的OR実施手段と、ランダム数発生器と、刻み機能と、順列発生器とを有し、確認装置は、制御装置を有し、制御装置には、不揮発性メモリと、ハミング重み計算器と、比較器と、ベクトル−マトリックス乗算器と、ランダムアクセスメモリと、2進数排他的OR実施手段と、ランダム数発生器と、刻み機能と、順列発生器とが接続され、識別装置と確認装置との間には通信インターフェースが接続されていることを特徴とする請求項29〜32のいずれか一項に記載の装置
JP01129694A 1992-12-30 1994-01-04 確認装置によって少なくとも1つの識別装置を認証する方法および装置 Expired - Fee Related JP3675494B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9215915A FR2700430B1 (fr) 1992-12-30 1992-12-30 Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification et dispositif pour sa mise en Óoeuvre.
FR9215915 1992-12-30

Publications (2)

Publication Number Publication Date
JPH06348202A JPH06348202A (ja) 1994-12-22
JP3675494B2 true JP3675494B2 (ja) 2005-07-27

Family

ID=9437278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01129694A Expired - Fee Related JP3675494B2 (ja) 1992-12-30 1994-01-04 確認装置によって少なくとも1つの識別装置を認証する方法および装置

Country Status (8)

Country Link
US (1) US5483597A (ja)
EP (1) EP0605289B1 (ja)
JP (1) JP3675494B2 (ja)
BR (1) BR9305279A (ja)
CA (1) CA2112518C (ja)
DE (1) DE69331183T2 (ja)
ES (1) ES2168270T3 (ja)
FR (1) FR2700430B1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5668878A (en) * 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
EP0697687A4 (en) * 1994-03-07 2000-09-20 Nippon Telegraph & Telephone METHOD AND SYSTEM FOR PROVIDING AUTHENTICATION PROTOCOL BASED ON ZERO KNOWLEDGE
KR0144086B1 (ko) * 1994-03-31 1998-08-17 조백제 인증교환과 전자서명 방법
US5539828A (en) * 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
KR0146438B1 (ko) * 1995-05-17 1998-09-15 조백제 인증교환 방법과 복원형 전자서명 방법 및 부가형 전자서명 방법
FR2736485B1 (fr) * 1995-07-03 1997-08-14 Thomson Multimedia Sa Procede de traitement d'un signal numerique tel que le signal numerique en sortie ne peut se deduire du signal numerique en entree et utilisation de ce procede pour le controle d'acces et/ou la signature binaire
US5757916A (en) * 1995-10-06 1998-05-26 International Series Research, Inc. Method and apparatus for authenticating the location of remote users of networked computing systems
EP0792044B1 (en) * 1996-02-23 2001-05-02 Fuji Xerox Co., Ltd. Device and method for authenticating user's access rights to resources according to the Challenge-Response principle
JP2000511649A (ja) * 1996-06-05 2000-09-05 ジェムプリュス エス.セー.アー. 公開鍵暗号方法
US6266771B1 (en) 1997-02-10 2001-07-24 The Regents Of The University Of California Probabilistic signature scheme
IL120720A (en) * 1997-04-24 1999-10-28 Israel Atomic Energy Comm Apparatus and method for signing and authenticating digital signatures
US6134597A (en) * 1997-05-28 2000-10-17 International Business Machines Corporation CRC hash compressed server object identifier
FR2780177B1 (fr) * 1998-06-17 2001-10-05 Schlumberger Ind Sa Systeme de protection d'un logiciel
US7006999B1 (en) * 1999-05-13 2006-02-28 Xerox Corporation Method for enabling privacy and trust in electronic communities
JP3735521B2 (ja) * 1999-09-30 2006-01-18 株式会社東芝 埋め込み符号生成方法及び装置、埋め込み符号検出方法及び装置並びに電子透かし埋め込み装置
FR2810481B1 (fr) * 2000-06-20 2003-04-04 Gemplus Card Int Controle d'acces a un moyen de traitement de donnees
KR100445574B1 (ko) * 2001-12-19 2004-08-25 한국전자통신연구원 대화형 영 지식 증명을 이용한 패스워드 기반의 인증 및키 교환 프로토콜 설계 방법
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7444512B2 (en) * 2003-04-11 2008-10-28 Intel Corporation Establishing trust without revealing identity
US7305705B2 (en) * 2003-06-30 2007-12-04 Microsoft Corporation Reducing network configuration complexity with transparent virtual private networks
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US20070067643A1 (en) * 2005-09-21 2007-03-22 Widevine Technologies, Inc. System and method for software tamper detection
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
FR2916594A1 (fr) * 2007-05-23 2008-11-28 France Telecom Procede d'authentification d'une entite par une entite verificatrice
CA2591280A1 (en) * 2007-06-12 2008-12-12 Nikolajs Volkova A new digital signature scheme
EP2378706A4 (en) * 2008-12-11 2017-06-28 NEC Corporation Zero-knowledge proof system, zero-knowledge proof device, zero-knowledge verification device, zero-knowledge proof method and program therefor
US8549299B2 (en) * 2011-02-28 2013-10-01 Certicom Corp. Accelerated key agreement with assisted computations
US10180829B2 (en) * 2015-12-15 2019-01-15 Nxp Usa, Inc. System and method for modulo addressing vectorization with invariant code motion
SG10201703532PA (en) * 2017-04-28 2018-11-29 Huawei Int Pte Ltd Method and System for Symmetric Swarm Authentication
CN117061128B (zh) * 2023-10-11 2023-12-22 北京天润基业科技发展股份有限公司 数据置换的验证方法、装置、存储介质及电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218582A (en) * 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4471164A (en) * 1981-10-13 1984-09-11 At&T Bell Laboratories Stream cipher operation using public key cryptosystem
US4723284A (en) * 1983-02-14 1988-02-02 Prime Computer, Inc. Authentication system
US4633036A (en) * 1984-05-31 1986-12-30 Martin E. Hellman Method and apparatus for use in public-key data encryption system
US5054066A (en) * 1988-11-16 1991-10-01 Grumman Corporation Error correcting public key cryptographic method and program
US4932056A (en) * 1989-03-16 1990-06-05 Yeda Research And Development Company Limited Method and apparatus for user identification based on permuted kernels
US5142579A (en) * 1991-01-29 1992-08-25 Anderson Walter M Public key cryptographic system and method
US5295188A (en) * 1991-04-04 1994-03-15 Wilson William J Public key encryption and decryption circuitry and method
US5220606A (en) * 1992-02-10 1993-06-15 Harold Greenberg Cryptographic system and method
US5297206A (en) * 1992-03-19 1994-03-22 Orton Glenn A Cryptographic method for communication and electronic signatures

Also Published As

Publication number Publication date
EP0605289A1 (fr) 1994-07-06
BR9305279A (pt) 1994-07-05
ES2168270T3 (es) 2002-06-16
DE69331183T2 (de) 2002-07-04
US5483597A (en) 1996-01-09
CA2112518A1 (fr) 1994-07-01
CA2112518C (fr) 2003-12-02
DE69331183D1 (de) 2002-01-03
JPH06348202A (ja) 1994-12-22
FR2700430B1 (fr) 1995-02-10
EP0605289B1 (fr) 2001-11-21
FR2700430A1 (fr) 1994-07-13

Similar Documents

Publication Publication Date Title
JP3675494B2 (ja) 確認装置によって少なくとも1つの識別装置を認証する方法および装置
US8171289B2 (en) Method and apparatus to provide authentication and privacy with low complexity devices
JP4216475B2 (ja) 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
JP3966912B2 (ja) 照合器により少なくとも一の証明器を認証するシステム
US7167984B2 (en) Method and device for generating approximate message authentication codes
US5799088A (en) Non-deterministic public key encrypton system
US8870084B2 (en) Method and system for the generation and validation of personal identification numbers
JP4774492B2 (ja) 認証システム及び遠隔分散保存システム
CN100432889C (zh) 提供断开鉴别的系统和方法
US6307938B1 (en) Method, system and apparatus for generating self-validating prime numbers
CN110710155A (zh) 渐进式密钥加密算法
WO2007103906A2 (en) Secure data transmission using undiscoverable or black data
JPWO2008056613A1 (ja) 認証装置
CN109818752B (zh) 信用评分生成方法、装置、计算机设备和存储介质
EP1234404B1 (en) Generation of a mathematically constrained key using a one-way function
CN113498591A (zh) 一种密码系统和方法
Fischer et al. A public randomness service
CN106100823B (zh) 保护密码装置
JP2002208925A (ja) 可変認証情報を用いる資格認証方法
US20150304103A1 (en) Method of generating unique and hardly predictable numbers of coupons
US20230327884A1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
Abiega-L’Eglisse et al. A new fuzzy vault based biometric system robust to brute-force attack
Zhan Anti-fake technology of commodity by using QR code
CN114491591A (zh) 一种匿踪查询的数据使用授权方法、设备、存储介质
JP3746919B2 (ja) 可変認証情報を用いる資格認証方法

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050426

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees