JP3870927B2 - Access credential authentication apparatus and method - Google Patents

Access credential authentication apparatus and method Download PDF

Info

Publication number
JP3870927B2
JP3870927B2 JP2003108755A JP2003108755A JP3870927B2 JP 3870927 B2 JP3870927 B2 JP 3870927B2 JP 2003108755 A JP2003108755 A JP 2003108755A JP 2003108755 A JP2003108755 A JP 2003108755A JP 3870927 B2 JP3870927 B2 JP 3870927B2
Authority
JP
Japan
Prior art keywords
data
authentication
information
proof
access
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
JP2003108755A
Other languages
Japanese (ja)
Other versions
JP2003309561A (en
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2003108755A priority Critical patent/JP3870927B2/en
Publication of JP2003309561A publication Critical patent/JP2003309561A/en
Application granted granted Critical
Publication of JP3870927B2 publication Critical patent/JP3870927B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、デジタルデータの暗復号と、暗復号を応用した、デジタルデータやサービスに対するアクセス資格認証に関する。
【0002】
【従来の技術】
データのセキュリティを暗復号によって守ろうとするとき、暗号化されたデータの利用者と、データを復号する復号鍵の所持者の関係には、次の2種がある。
【0003】
▲1▼データの利用者と復号鍵の所持者が同一な場合
▲2▼データの利用者と復号鍵の所持者が同一でない場合
前者▲1▼の例としては、個人間の秘密通信が典型的である。個人間の通信の場合、受信者は、データの復号鍵を秘密に所持している。送信者は受信者が持つ復号鍵に対応した暗号鍵でデータを暗号化する。受信者が復号鍵を第3者にリークすることは、受信者のプライバシーを損なうことに繋がるので、受信者にとって大きな不利益になる。したがって、受信者が復号鍵を所持しても問題は起こらない。
【0004】
後者▲2▼の例には、衛星放送等で行なっているデジタルデータの一斉同報がある。一斉同報される有料のデジタルデータには暗号化が施されており、このデジタルデータを復号しなければ、利用することができない。しかし、暗号化されたデジタルデータを復号するための復号鍵を受信者が所持すると、受信者は、復号鍵を第3者に知られても自らには何の不利益も生じないので、復号鍵を第3者にリークすることで第3者から対価などの利益を得ることができる。すなわち、データの利用者には、復号鍵をリークする積極的な理由が存在するので、データの利用者と復号鍵の所持者を分離せざるを得ないのである。
【0005】
現在、衛星放送では、この問題は、ハードウエア中の外部からアクセス不能な領域に復号鍵を内蔵し、データの復号をこのハードウエアに委託(委託復号)することで解決している。デジタルデータの利用者は復号鍵自体を手に入れる術がないので、デジタルデータの利用者による復号鍵のリークという問題が起こらない。
【0006】
衛星放送を使ったものだけでなく、インターネットのWWW(ワールドワイドウェブ)やCATV(ケーブルテレビジョン放送)を通じたデータの一斉同報など不特定多数を対象として一斉同報されるデータの復号を行なう際にも同様の手段を使っている。委託先が、衛星放送チューナに内蔵された復号器、あるいは復号機能を持ったICカード、ネットワークを介した先のコンピュータなど種々あるが、どれも委託復号であることには違いがない。
【0007】
暗号化されたデータそのまま復号器に送信し、復号結果を復号器から受信するという安易な方法で委託復号を行なった場合、以下の2点の問題が起こる。
【0008】
▲1▼何を復号したのか、復号結果がなんであったのかが、復号器に露見する。
【0009】
復号器の作成者は、委託された復号の履歴が残るように復号器を作成することができる。このように復号器が作られていた場合、どのようなデータを復号しようとしたかというデータの受信者のプライバシーが、復号器に記憶され、後に悪用される可能性がある。また、復号器の同様の構成は、データの送信者にも不利益をもたらす。データの送信者からみれば、復号器に知られたくないデータを委託復号にかけることができなくなる。衛星放送の例でいえば、映画を暗号化して送った場合、復号器には復号された平文の映画が記憶されてしまい、そのデータが復号器の作成者によって悪用される危険性がある。
【0010】
▲2▼復号器との通信を傍受している者がいた場合、何を復号したのか、復号結果がなんであったのかが、その傍受者に露見する。
【0011】
復号の委託先がネットワークを介した先に接続されたコンピュータである場合を想像すれば、この問題の深刻さが理解できる。この場合、何の手段も講じなければ、ネットを傍受している第3者は容易に、委託復号によって何を復号したのか、復号結果がなんであったのかを知ることができる。
【0012】
上記の2つの問題を同時にクリアする委託復号の技術としてブラインド復号がある。Silvio Micali、 Fair public key cryptosystem 、Proc.Crypto 92、pp.113−138(1993)にRSA(Rivest−Shamir−Adleman)をベースにしたブラインド復号方式が開示されている。以下に、その開示内容を概説する。
【0013】
復号の委託者をAlice、委託を受けて復号を行なう復号器をBobとする。Bobが持つ復号鍵をD、RSA法数をn、暗号鍵をEとする。RSAであるので、ED≡1 mod φ(n)が成り立っている。ただし、φ(n)はnのオイラー数である。
【0014】
平文MをnとEで暗号化したものC=ME mod nとする。
1. Aliceは、乱数rを生成し、C’=rEC mod nを計算してC’をBobに送る。
2. Bobは、R=C’D mod nを計算し、Aliceに送る。
3. Aliceは、r-1r≡1 mod nとなるr-1を計算し、M’=r-1R mod nを計算する。
【0015】
上記の手順によって、Aliceが正しい復号結果を得ることは以下の式でわかる。
【0016】
【数1】

Figure 0003870927
この方式によれば、復号器BobおよびAliceとBobの間の通信を傍受している第3者には、C’=rEC mod n、R=C’D≡rM mod nが見えるのみであり、Aliceが復号したかった暗号文Cや、Cの復号結果Mが復号器Bobや通信の傍受者には露呈しない。この方式は、上記委託復号の2つの問題を解決しているのである。
【0017】
ブラインド復号を応用して、デジタルデータのアクセス制御を行なう装置は、特願平9−418号に提案されている。
【0018】
特願平9−418号に記載のアクセス制御装置は、データに対するアクセス権の所持を証明する証明装置と、証明装置による証明を検証する検証装置からなる。検証装置は、暗号化されたデジタルデータと、そのデジタルデータを復号する鍵をRSA公開鍵で暗号化したデータ(暗号化鍵)とを記憶している。証明装置は、RSA復号器である。検証装置は、暗号化鍵の復号を、ブラインド復号を使って証明装置に委託し、その結果を使ってデジタルデータを復号する。正しく復号されれば、証明装置がアクセス権の所持の証明に成功したことになる。
【0019】
ブラインド復号を使っているので、証明装置、あるいは、検証装置と証明装置の間の通信を傍受している者に、委託した暗号化鍵の内容や、デジタルデータの復号鍵を知られることがない。
【0020】
特願平9−418号の技術は、特にRSA復号器である証明装置の構成に特徴がある。特願平9−418号の提案では、単一の証明器で複数のRSA公開鍵に対する復号を可能にするために、RSAの復号鍵をアクセスチケットとよぶ変更可能なデータの中に埋め込んでいる。アクセスチケットからRSAの復号鍵を取出されないよう、アクセスチケットは、RSA復号鍵にマスクをかけたものになっており、これによってアクセスチケットは公開可能な情報となっている。特願平9−418号の証明装置は、ICカード等の耐タンパー性のあるハードウエアを持っており、アクセスチケットのマスクの効果はそのハードウエアによってのみ取り除くことができる。
【0021】
以下に特願平9−418号で提案されたアクセス制御について詳しく述べる。
【0022】
検証装置は、暗号化されたデータと、その復号鍵KをRSA法数n、暗号鍵Eで暗号化した暗号化鍵Kを持っている。証明装置は、巾乗剰余の演算機能と一方向性ハッシュf(x,y)の計算機能を持ったICカードを持っている。ICカードの中には、さらに秘密のデータdが蓄積されている。RSA法数n、暗号鍵Eに対する復号鍵がDである場合、アクセスチケットtは、t=D−f(d,n)という値のデータである。
【0023】
アクセス権の所持の証明と検証は以下の手順で行なわれる。
1. 検証装置は、乱数rを生成する。
2. 検証装置は、C=rE* mod nを計算し、nとCを証明装置に送る。ただし、K*はKEとする。
3. 証明装置は、ICカード内でR1=Cf(d,n) mod nを計算する。
4. 証明装置は、R2=Ct mod nを計算する。
5. 証明装置は、R=R12 mod nを計算し、検証装置に送る。
6. 検証装置は、r-1r≡1 mod nとなるr-1を計算し、K’=r-1
mod nを計算する。
【0024】
上記の手順が正しく行われれば、K≡K’ mod nとなり、アクセス権の所持が証明されることは、 以下の式からわかる。
【0025】
【数2】
Figure 0003870927
この方式では、ユーザがユーザ毎にdの違うICカードを持てば、あるデジタルデータの暗号化鍵を復号するためのアクセスチケットは、ユーザ毎に違うものになる。他人のアクセスチケットをコピーしてもそれを使ってアクセス権の所持を証明することはできない。したがって、ユーザ毎にアクセスチケットを発行したりしなかったりすることによって、ユーザ毎のアクセス権を制御することができる。また、デジタルデータ毎にRSA法数nと暗号鍵Eを変えれば、あるデータのアクセスチケットを他のデータに利用することができなくなる。したがって、デジタルデータ毎のアクセス制御も可能である。
【0026】
【発明が解決しようとする課題】
ブラインド復号の問題点は、その強いブラインドネスにある。ブラインド復号によれば、復号の委託によって復号器が収集可能な情報は、何らかの復号委託があったという情報のみである。復号を委託されたデータに関する一切の情報は、復号器に伝達することができない。しかし、委託復号を行なう時に、データに関するある種の情報を復号器に伝達したいという要求は多い。具体的には、以下のものがある。
▲1▼委託復号サービスで料金を得る場合、データ毎に復号の料金が違うのであれば、暗号化されたデータとともにそのデータの復号料金を復号器に伝達しなければならない。
▲2▼データ毎に利用期限が決まっている場合、暗号化されたデータとともにそのデータの利用期限を復号器に送り、復号器で利用期限のチェックを行わなければならない。
▲3▼データ毎に利用可能者が限定される場合、暗号化されたデータとともにそのデータの利用可能者のリストを復号器に送り、復号器で委託者が利用可能者であるかどうかのチェックを行わなければならない。
▲4▼機密の文書の委託復号を行なう場合、後の監査のために、暗号化されたデータとともにそのデータの識別子を復号器に送り、復号器はこれを記憶しておかなければならない。
【0027】
これらの情報を、暗号化されたデータとともになんの工夫もなく復号器に伝達すると、委託者が悪意を持っていた場合に、添付する情報を委託者に都合のよいものに置き換えることが可能である。たとえば、委託するデータより安い料金の情報を送る、実際より後の使用期限を送る、実際とは違うアクセス可能者のリストを送る、実際とは違う識別子を送る等の不正が可能になる。
【0028】
この問題は、従来のブラインド復号を応用してデジタルデータのアクセス制御を行なう特願平9−418号の技術でも同じである。特願平9−418号の提案では、耐タンパー性を持つICカードを持っている。ICカード内で行われる処理に手を加えたり、ICカード内に蓄積された情報を改竄するのは、非常に困難であるので、ICカードに正しく情報を伝達できれば、ICカード内での安全性は保証される。したがって、データに対するアクセス料金の記憶や、アクセスの有効期限のチェックは、ICカード内で行なうことになるが、従来のブラインド復号をそのまま利用している特願平9−418号には、それらの情報を安全にICカードまで伝達する手段が存在しない。
【0029】
上記の問題点に鑑み、本発明の第1の目的は、復号を委託されるデータのブラインドネスは崩さないまま、特定の情報を安全に復号器に送ることのできるブラインド復号を実現することにある。また、本発明の第2の目的は、上記の問題を解決したブラインド復号方式を応用して、デジタルデータのアクセス制御を実現することにある。
【0030】
【課題を解決するための手段】
第1の目的を達成するために、本発明では、復号器が、暗号化されたデータの復号を行なう際に、第1の復号情報と、第2の復号情報が必要となるように構成している。より具体的には、復号器は、法nのもとで、暗号化されたデータを、第1の復号情報と第2の復号情報の積で巾乗し、それを復号結果として出力する。
【0031】
暗号化が、法nのもとで、データを暗号鍵で巾乗する処理であり、nのオイラー数を法として、暗号鍵と第1の復号情報と第2の復号情報の積が1と合同であれば、正しく復号できる。
【0032】
さらに、第2の復号情報は、復号器に対して外部から入力するものとし、暗号化されたデータと、第2の復号情報を正しく入力しなければ、正しい復号結果が得られないように工夫している。
【0033】
データの復号料金等の、差し替えられてはならない情報は、第2の復号情報として復号器に入力するようシステムを構成すれば、情報の差し替えという不正行為に対して、復号の失敗というペナルテイを課すことができる。
【0034】
また、復号器が、暗号化されたデータの復号を行なう際に、第1の復号情報と、第2の復号情報が必要となる別の構成として、復号器が、法nのもとで、暗号化されたデータを、第1の復号情報を法とした場合の第2の復号情報の逆数によってべき乗し、それを復号結果として出力するものをあげている。
【0035】
第1の復号情報が法nのオイラー数であり、第2の復号情報が暗号鍵であれば、正しく復号することができる。
【0036】
さらに、第2の復号情報は、復号器に対して外部から入力するものとし、暗号化されたデータと、第2の復号情報を正しく入力しなければ、正しい復号結果が得られないように工夫している。
【0037】
データの復号料金等の、差し替えられてはならない情報は、第2の復号情報として復号器に入力するようシステムを構成すれば、情報の差し替えという不正行為に対して、復号の失敗というペナルテイを課すことができる。
【0038】
第2の目的を達成するために、本発明では、ユーザのアクセス資格を証明するために生成された証明データの正当性を検証することにより上記のユーザのアクセス資格を認証するアクセス資格認証装置に、認証用のデータを記憶する第1の記憶手段と、ユーザの固有情報を記憶する第2の記憶手段と、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、アクセス資格認証の必須情報を記憶する第4の記憶手段と、上記第1の記憶手段に保持されている認証用データと、上記第2の記憶手段に記憶されているユーザの固有情報と、上記第3の記憶手段に記憶されている証明用補助情報と、上記第4の記憶手段に記憶されているアクセス資格認証の必須情報とに所定の演算を施して証明データを生成する証明データ生成手段と、上記証明データが、上記アクセス資格認証の特徴情報と、上記アクセス資格認証の必須情報とに基づいて生成されていることを検証する証明データ検証手段とを設けている。
【0039】
本発明において、正しくアクセス資格を認めてもらうためには、証明データ、ユーザの固有情報、証明用補助情報、アクセス資格認証の必須情報の組み合わせが正しくなければならない。
【0040】
アクセス料金等の、差し替えられてはならない情報は、アクセス資格認証の必須情報に含めれば、情報の差し替えという不正行為に対して、アクセスの拒否というペナルテイを課すことができる。
【0041】
第2の目的を達成するための本発明の別の構成では、ユーザのアクセス資格を証明するために生成された証明データの正当性を検証することにより上記のユーザのアクセス資格を認証するアクセス資格認証装置に、認証用のデータを記憶する第1の記憶手段と、ユーザの固有情報を記憶する第2の記憶手段と、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、所定の計算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、アクセス資格認証の必須情報を記憶する第4の記憶手段と、アクセス資格認証の検査情報を記憶する第5の記憶手段と、上記第1の記憶手段に保持されている認証用データと、上記第4の記憶手段に記憶されているアクセス資格認証の必須情報とに所定の演算を施した結果が、上記第5の記憶手段に記憶されているアクセス資格認証の検査情報と所定の関係にあることを検査する検査手段と、上記検査手段による検査の結果が良好であったとき、上記第1の記憶手段に保持されている認証用データと、上記第2の記憶手段に記憶されているユーザの固有情報と、上記第3の記憶手段に記憶されている証明用補助情報とに所定の演算を施して証明データを生成する証明データ生成手段と、上記証明データが、上記アクセス資格認証の特徴情報と、上記アクセス資格認証の必須情報とに基づいて生成されていることを検証する証明データ検証手段とを設けている。
【0042】
本発明において、正しくアクセス資格を認めてもらうためには、証明データ、ユーザの固有情報、証明用補助情報、アクセス資格認証の必須情報の組み合わせが正しくなければならない。
【0043】
アクセス料金等の、差し替えられてはならない情報は、アクセス資格認証の必須情報に含めれば、情報の差し替えという不正行為に対して、アクセスの拒否というペナルテイを課すことができる。
【0044】
【発明の実施の態様】
以下、本発明を実施例に沿って説明する。
[部分ブラインド復号器の実施例]
[第1の実施例]
第1の実施例は、本発明を応用したブラインド復号器である。この実施例のブラインド復号装置の構成を図1に示す。本実施例では、暗復号方式として、合成数nを法とした巾乗剰余を使用する。本復号器は、復号に法数n以外に2つの復号情報d1、d2を使用する。暗号鍵Eとd1、d2は、式1の関係を満たすように作る。
【0045】
【数3】
Ed12≡1mod φ(n) (1)
ここでφ(n)はnのオイラー数である。
【0046】
データMに対する暗号文Cは、式2によって生成される。
【0047】
【数4】
C=ME mod n (2)
本実施例のブラインド復号器のユーザは、暗号文Cと法数n、暗号鍵Eと第2の復号情報d2を所持している。ユーザは、Cの復号を本実施例に委託する際に、Cにブラインド効果をかけてC’を生成し、C’とd2を本実施例の復号器に入力する。そして、本実施例の復号器からの出力Rを受け取り、Rのブラインド効果を取り除いて復号結果を得る。
【0048】
ユーザが本実施例の復号器を使用する具体的な手順は以下のとおりである。
1. ユーザは1<r<nの範囲で乱数rを生成する。
2. ユーザは式3を計算して、暗号文Cにブラインド効果を付与する。
【0049】
【数5】
C’=rEC mod n (3)
3. ユーザは、C’とd2を本実施例のブラインド復号器に送り、ブラインド復号器からの出力Rを受ける。
4. ユーザは、式4を計算し、復号結果M’を得る。
【0050】
【数6】
M’=r-1R mod n (4)
本実施例のブラインド復号器は、以下のサブユニットからなる。
入力部11:ブラインド効果のかかった暗号文C’と、第2の復号情報d2を入力する。
出力部12:復号結果Rを出力する。
法数記憶部13:法数nを記憶する。
第1復号情報記憶部14:第1の復号情報d1を記憶する。
復号部15:n、C’、d1、d2から復号結果Rを計算する。
【0051】
本実施例のブラインド復号器の処理手順は次のようである。
1. 入力部11を介して、ユーザから、ブラインド効果のかかった暗号文C’と、第2の復号鍵d2を受け取り、復号部15に送る。
2. 復号部15は、法数記憶部13から法数nを、第1復号情報記憶部14から第1の復号情報d1を取り出し、式5を計算する。
【0052】
【数7】
R=C’d1d2 mod n (5)
3. 出力部12を介して、Rを出力する。
【0053】
もし、暗号文Cと第2の復号情報d2の組合せが正しければ、式6により、正しく復号されることがわかる。
【0054】
【数8】
Figure 0003870927
また、第2の復号情報d2とは異なる情報を本実施例のブラインド復号器に送ると、ユーザは正しい復号結果を得ることができない。したがって、第2の復号情報d2に復号料金等を含ませれば、偽りの復号料金を復号器に送られることを防ぐことができる。
【0055】
ただし、第2の復号情報d2が素数でない場合には、問題がおこる。d2が、d2=a*bと因数分解できる場合には、復号器にC、d2を送る代わりに、Ca mod n,bを送っても復号器の出力は変わらない。したがって、d2の代わりに、bという復号情報を送り、正しい復号結果をえることが可能なのである。
【0056】
これを防ぐには、d2が素数になるように、E、d1、d2の組合せを決めればよい。
【0057】
また、d2が素数であっても、復号器にC、d2を送る代わりに、Cd2 modn,1を送り、同じ出力を得ることができる。これを防ぐには、復号器は、送られてきた第2の復号情報が1でないことを確認する手段をもち、第2の復号情報が1でないときのみ復号を行うよう構成すればよい。
【0058】
また、d2が素数でなくても、特定の値の繰り返してある等の、冗長性を持たせた値になるよう、E、d1、d2の組合せを決めるようにし、復号器に、送られてきた第2の情報の冗長性を確認する手段を設けてもよい。d2の自明でない約数が復号器が知っている冗長性を持つ可能性が十分低ければ、この方法でも、第2の情報の代わりにその約数を復号器に送る攻撃を回避できる。
【0059】
本実施例のブラインド復号器に一方向性ハッシュ関数V(x)の演算を行うハッシュ関数演算部を付加し、式5の代わりに、式7を計算するようにしてもよい。
【0060】
【数9】
R=C’d1V(d2) mod n (7)
一方向ハッシュ関数とは、h(x)=h(y)を満たす相異なるx、yを算出することが著しく困難であるという性質をもつ関数である。一方向ハッシュ関数の例として、RSA Data Security Inc.によるMD2、MD4、MD5、米国連邦政府による規格SHS(Secure Hash Standard)が知られている。
【0061】
この場合、暗号鍵Eとd1、d2は、式8の関係を満たすように作ることになる。
【0062】
【数10】
Ed1V(d2)≡1 mod φ(n) (8)
このように構成した場合、V(x)をユーザに対して秘密にすることが可能になり、安全性が向上する。また、法数によりも大きなd2も利用可能になる。
【0063】
本実施例における第2の復号情報に復号の料金の情報を埋め込み、送られた復号料金の情報を蓄積するよう復号器を構成し、後に蓄積された料金情報をもとに委託者に復号料を請求するようにすれば、偽りのない復号料を課金することが可能な委託復号システムを作ることができる。これは後述する第2の実施例でも同様である。
【0064】
本実施例における第2の復号情報に、暗号化されたデータの利用期限情報を埋め込み、復号器を、時計を内蔵し、送られた利用期限と内蔵している時計の時刻とを比較して、復号の可否を決定するよう、構成すれば、データの利用期限を限定可能な委託復号システムを作ることができる。これも第2の実施例でも同様である。
【0065】
本実施例における第2の復号情報に、暗号化されたデータの属性情報を埋め込み、送られた属性情報を蓄積するよう復号器を構成すれば、後の統計処理や、監査の際に利用可能なデータを蓄積することができる委託復号システムを作ることができる。これも第2の実施例でも同様である。
【0066】
[第2の実施例]
第2の実施例も、本発明を応用したブラインド復号器である。本実施例のブラインド復号器の構成を図2に示す。
【0067】
本実施例では、暗復号方式として、合成数nを法とした巾乗剰余を使用する。本復号器は、復号に法数n以外に2つの復号情報d1、d2を使用する。復号情報d1は、法数nのオイラー数、復号情報d2は、暗号鍵Eである。また、暗号鍵Eはdと互いに素になるように作成する。
【0068】
データMに対する暗号文Cは、上述の式2によって生成される。
【0069】
本実施例のブラインド復号器のユーザは、暗号文Cと法数n、暗号鍵E(第2の復号情報d2でもある)を所持している。ユーザは、Cの復号を本実施例に委託する際に、Cにブラインド効果をかけてC’を生成し、C’とEを本実施例に入力する。そして、本実施例からの出力Rを受け取り、Rのブラインド効果を取り除いて復号結果を得る。
【0070】
ユーザが本実施例を使用する具体的な手順は、第1の実施例と同じである。
【0071】
本実施例のブラインド復号器は、以下のサブユニットからなる。
入力部11:ブラインド効果のかかった暗号文C’と、暗号鍵Eを入力する。
出力部12:復号結果Rを出力する。
法数記憶部13:法数nを記憶する。
オイラー数記憶部16:オイラー数φ(n)を記憶する。
逆数生成部17:法数と整数を入力し、上記法数における上記整数の逆数を計算する。
復号部15:n、C’、逆数生成部17の計算結果から復号結果Rを計算する。
【0072】
本実施例のブラインド復号器の処理手順は次のようである。
1. 入力部11を介して、ユーザから、ブラインド効果のかかった暗号文C’と、第2の復号情報d2を受け取り、C’は復号部15へ、d2は逆数生成部17へ送る。
2. 逆数生成部17は、オイラー数記憶部16からオイラー数φ(n)を取り出し、オイラー数φ(n)を法としてd2の逆数d2 -1を計算し、その結果を復号部15に送る。
3. 復号部15は、法数記憶部13から法数nを取り出し、式9を計算する。
【0073】
【数11】
Figure 0003870927
4. 出力部12を介して、Rを出力する。
【0074】
もし、暗号文Cと第2の復号情報d2の組合せが正しければ、式10により、正しく復号されることがわかる。
【0075】
【数12】
Figure 0003870927
また、第2の復号情報とは異なる情報を本実施例のブラインド復号器に送ると、ユーザは正しい復号結果を得ることができない。したがって、第2の復号情報に復号料金等を含ませれば、偽りの復号料金を復号器に送られることを防ぐことができる。
【0076】
本実施例のブラインド復号器に一方向性ハッシュ関数V(x)の演算を行うハッシュ関数演算部を付加し、逆数生成部16で、d2の逆数を計算する変わりに、V(d2)の逆数V(d2-1を計算し、復号部15で、式11を計算するようにしてもよい。
【0077】
【数13】
Figure 0003870927
この場合、暗号鍵EはV(d2)になる。このように構成した場合、法数によりも大きなd2も利用可能になる。
【0078】
また、法数nのオイラー数を記憶するのではなく、法数nの素因数を記憶しておき、復号時にオイラー数を計算するように構成してもよい。
【0079】
また、法数nのオイラー数を記憶するのではなく、法数nの素因数を記憶しておき、個々の素因数毎に素因数を法として巾乗剰余演算をおこない、それらから中国人の剰余定理を使って、nを法数とした場合の結果を得てもよい。
【0080】
具体的には、nが二つの素数p、qの積であった場合、
【0081】
【数14】
Figure 0003870927
を計算し、R1、R2から中国人の剰余定理を使ってRを計算しても、同じ効果が得られる。
【0082】
[アクセス資格認証の実施例]
第3、4、5、6の実施例は、本発明を応用した、アクセス資格認証装置である。第3、4、5、6の実施例の実施例の大まかな構成を図3に示す。
【0083】
図3において、これらの実施例のアクセス資格認証装置は、証明装置100と検証装置200とを有する。証明装置200は、アクセスチケット生成装置300が生成したアクセスチケットを利用して証明データを生成する。検証装置100は、アクセス資格が認証されるサービスやデジタルデータに付随した装置であり、サービスやデジタルデータの利用者が、正当なアクセス権を持つことを検証する。証明装置200は、サービスやデジタルデータの利用者が保持する装置であり、検証装置100に対して、利用者が正当なアクセス権を持つことを証明する。
【0084】
アクセス資格の認証は、検証装置100が認証用データを証明装置200に送り、証明装置200で、認証データに対応する証明データを生成し、それを検証データに送ることで行われる。第3、4、5、6の実施例では、検証装置100が送る認証データは、なんらかのデータを暗号化したものであり、証明装置200は、認証データを復号して証明データを生成する。検証装置100は、証明装置200から送られた証明データが、認証データを正しく復号したものかどうかを検査することで、証明データの検証を行う。
【0085】
証明データの生成には、認証データ、ユーザ固有情報、アクセスチケット、アクセス資格認証の必須情報の4つが必要である。
【0086】
ユーザ固有情報は、サービスやデジタルデータの利用者毎に違うデジタルデータであり、証明装置200内に、利用者からアクセスできない形で格納されている。
【0087】
アクセスチケットは、アクセス資格認証の特徴情報とユーザ固有情報から生成されるデジタルデータである。
【0088】
アクセス資格認証の必須情報は、検証装置100が保持するデータであり、認証用データとともに、証明装置200に送られる。
【0089】
第3、4、5、6の実施例では、認証用データは、アクセス資格認証の特徴情報と、アクセス資格認証の必須情報との2つがそろってはじめて復号できる。したがって、検証装置100と証明装置200の間の通信の傍受者が、認証用データとともに証明装置200に送られるアクセス資格認証の必須情報を差し替える等の不正を働けば、正しい証明データをえることができない。これにより、アクセス資格認証の必須情報を差し替えられることを防ぐことができる。
【0090】
第3、4、5、6の実施例におけるアクセス資格認証の必須情報にサービスやデジタルデータの利用料金の情報を埋め込み、送られた利用料金の情報を、利用者が変更できない形でに蓄積するよう証明装置200を構成し、後に蓄積された料金情報をもとに利用者に利用料金を請求するようにすれば、偽りのない利用料金を課金することが可能なアクセス資格認証システムを作ることができる。
【0091】
第3、4、5、6の実施例におけるアクセス資格認証の必須情報に、サービスやデジタルデータの利用期限情報を埋め込み、証明装置200を、時計を内蔵し、送られた利用期限と内蔵している時計の時刻とを比較して、証明装置200の生成の可否を決定するよう、構成すれば、サービスやデジタルデータの利用期限を限定可能なアクセス資格認証システムを作ることができる。
【0092】
第3、4、5、6の実施例におけるアクセス資格認証の必須情報にサービスやデジタルデータの属性情報を埋め込み、送られた属性情報を、利用者が変更できない形でに蓄積するよう証明装置200を構成すれば、後の統計処理や、監査の際に利用可能なデータを蓄積することができるアクセス資格認証システムを作ることができる。
【0093】
[第3の実施例]
第3の実施例の証明装置の構成方法を図4に、検証装置の構成方法を図8に示す。また、本実施例の証明装置の動作を図10に、検証装置の動作を図11に示す。
【0094】
本実施例の証明装置200は、図4に示すように、受信データ記憶部202、アクセスチケット記憶部203、ユーザ固有情報記憶部204、指数生成部205、第1演算部206、第2演算部207および証明データ生成部208を含んで構成されている。
【0095】
また、本実施例の検証装置100は、図8に示すように、検証手段101、アクセスチケット公開鍵記憶部103、乱数生成部104、乱数記憶部105、乱数効果除去部106、乱数効果付与部107、認証用素データ記憶部108、必須情報記憶部109、受信データ記憶部110および検証用演算部111を含んで構成されている。
【0096】
本発明における第1の実施例では、アクセス資格認証の特徴情報Dと、Dに対応する公開情報Eおよびn、アクセス資格認証の必須情報Iは、以下のように定義される。
【0097】
nはRSA法数、すなわち、十分大きな二つの素数p、qの積であり、式12を満たす。
【0098】
【数15】
n=pq (12)
φ(n)はnのオイラー数であり、式13によって計算される。
【0099】
【数16】
φ(n)=(p−1)(q−1) (13)
アクセス資格認証の特徴情報Dは、法数nのもとでのRSA秘密鍵であり、式14を満たす。
【0100】
【数17】
gcd(D,φ(n))=1 (14)
ここで、gcd(x,y)は、二数x、yの最大公約数を表す。
また、Iは、式15を満たす素数である。
【0101】
【数18】
gcd(I,φ(n))=1 (15)
公開情報Eは、式16を満たすように生成される。
【0102】
【数19】
EID mod φ(n)=1 (16)
Dをアクセスチケット秘密鍵、Eをアクセスチケット公開鍵と呼ぶ。アクセスチケットtは、アクセスチケット秘密鍵D、ユーザの固有情報e、法数nを用い、以下の式17に基づいて生成される。
【0103】
【数20】
t=D−F(e,n) (17)
ユーザの固有情報eは、ユーザ毎に異なる数であり、ユーザを識別するために用いられる。関数Fは関数値が衝突しにくい関数であり、例えば、一方向ハッシュ関数hを利用して、式18あるいは式19のように定めることができる。
【0104】
【数21】
F(x,y)=h(x|y) (18)
F(x,y,z,u,w)=h(x|y|z|u|w) (19)
ここで、x|yはxとyとのビットの連結であることを表す。
【0105】
上記の説明中に現れた数において、t、E、n、Iは公開可能であり、残りのD、e、p、q、φ(n)および関数Fはチケットを作成する権利を有するもの以外には秘密である必要がある。
【0106】
また、以下では、暗号化されるデータKを検証用データ、証明装置200が証明のために生成するデータRを証明用データとよぶ。また、証明装置200が証明データを生成するために、検証装置100から受け取るデータを認証用データと呼ぶ。
【0107】
以下に本実施例の動作を示す。
1. ユーザが、アクセス資格認証装置による認証を必要とするデジタルコンテンツにアクセスすることによって、検証装置100が起動される。検証装置100がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムの一部として構成されている場合、ユーザがキーボードあるいはマウスなどの指示装置を用いた通常の方法で、アプリケーションプログラムを起動する。アプリケーションプログラムの実行が検証装置100を構成しているプログラムに到達することにより、検証装置100が起動される。
【0108】
検証装置100がネットワークで結ばれた他のPCあるいはワークステーション(サーバと呼ぶ)上に構成されている場合、ユーザは自分のPCあるいはワークステーション上の通信プログラムを起動し、該通信プログラムが所定の手続きに従って上記サーバに通信の開設要求を行うことにより、上記サーバ上の検証装置100が起動される。例えば、ユーザの通信プログラムがサーバと通信する際にTCP/IP(トランスミッションコントロールプロトコル/インターネットプロトコル)と呼ばれる手続きに従うとすると、検証装置をサーバの特定のポートに予め対応づけておき、更に、ユーザの通信プログラムが該ポートを指定してTCP接続要求をサーバに要求するように設定しておくことにより、サーバ上のデーモン(inetd)がTCP接続要求に応じて検証装置を起動することが可能となる。このような実現方法は、インターネットなどのネットワークにおいて広く利用されているものである。
【0109】
検証装置100を専用目的の装置とすることも可能である。例えば、検証装置100をICカード・リーダ・ライター内のROMに焼きつけられたプログラムとして構成し、証明装置200をICカードのマイクロコントローラーに実装されたプログラムとすることができる。この場合、ユーザがICカードをリーダ・ライターに挿入することにより、検証装置100が起動される。
【0110】
2. 検証装置100は、認証用データCと、アクセスチケット公開鍵記憶部103に記憶されている法数n、及び、必須情報記憶部109に記憶されているアクセス資格認証の必須情報Iを、証明装置200中の受信データ記憶部202に書き込む。認証用素データ記憶部108には、認証用素データとしてC’が記憶されている。ここで、検証用データを適当なデータKとする時、認証用素データC’は、データKに対して式20を満たす。
【0111】
【数22】
C’=KE mod n (20)
認証用データCは、検証装置100により、乱数生成部104で乱数rを生成し、rと、アクセスチケット公開鍵記憶部103から取得したE、nと、認証用素データ記憶部108から取得したC’とを用い、乱数効果付与部107で式21の計算を行うことで生成される。生成された認証用データCは、証明装置200中の受信データ記憶部202に書き込まれる。また、生成した乱数rは、乱数記憶部105に記憶される。
【0112】
【数23】
C=rEC’ mod n (21)
このように、認証用データに乱数効果を加え、証明装置200が返す証明データを検証する際に乱数効果を除去するように構成することにより、認証データにブラインドネスを付与することができる。すなわち、検証装置100と証明装置200間の通信の傍受者、あるいは証明装置自体から、認証用素データ自体、あるいは、その復号結果を隠すことができる。また、乱数効果に使用する乱数を毎回変えることにより、リプレイアタックを不可能にする役割も持っている。これは、以下の実施例においても、同様である。また、データKを検証装置に保持せず、代わりに、その暗号化の結果であるC’のみを保持するように検証装置を構成し、証明装置200から送られる証明データから乱数効果を取り除いたものとKとが一致すること検証する手段を検証装置100にもたせれば、検証装置100からデータKが漏洩する危険を回避することができる。
【0113】
3. 証明装置200中の指数生成部205は、ユーザ固有情報記憶部204に記憶されているユーザの固有情報eと、受信データ記憶部202に記憶されている法数nとを取得し、式22の計算を実行する。
【0114】
【数24】
F(e,n) (22)
【0115】
4. 証明装置200中の第1演算部206は、受信データ記憶部202に記憶されている必須情報Iと法数nを取得し、これと、指数生成部205で生成されたデータとを用いて、式23の計算を実行しR’を得る。
【0116】
【数25】
R’=CIF(e,n) mod n (23)
【0117】
5. 証明装置200中の第2演算部207は、アクセスチケット記憶部203に記憶されているアクセスチケットtを取得し、式24を計算して、R’’を得る。
【0118】
【数26】
R’’=CIt mod n (24)
【0119】
6. 証明装置200中の証明データ生成部208は、第1および第2演算部206、207からR’およびR’’を得て、式25の計算を行いRを得る。
【0120】
【数27】
R=R’R’’ mod n (25)
【0121】
7. 証明装置200はRを検証装置100の受信データ記憶部110に書き込む。
8. 検証装置100中の乱数効果除去部106は、乱数記憶部105中から先に生成した乱数rを取り出し、式26の計算を行う。
【0122】
【数28】
K’=r-1R mod n (26)
9. 証明装置200において用いられるアクセスチケットtとユーザの固有情報e、および必須情報Iの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
10. 計算されたK’は、検証装置100中の検証手段101に引き渡されるが、実行手段102はK’=Kが成立する場合に限り正規の処理を実行する。
【0123】
もし、上記の手順が正しく行われれば、式27により、KとK’が一致することがわかる。
【0124】
【数29】
Figure 0003870927
また、検証装置100と証明装置200の間の通信の傍受者が、アクセス資格認証の必須情報IをI’と差し替えた場合、KとK’は一致しないので、サービスやデジタルデータのアクセスができない。
【0125】
ただし、アクセス資格認証の必須情報Iが素数でない場合には、問題がおこる。Iが、I=a*bと因数分解できる場合には、復号器にC、Iを送る代わりに、Ca mod n,bを送っても復号器の出力は変わらない。したがって、Iという必須情報の代わりに、bという必須情報を送って、正常にアクセスすることが可能なのである。これを防ぐには、Iが素数になるように、E、D、Iの組合せを決めればよい。
【0126】
また、Iが素数であっても、復号器にC、Iを送る代わりに、CI mod n,1を送り、同じ出力を得ることができる。これを防ぐには、証明装置200は、送られてきた必須情報が1でないことを確認する手段をもち、必須情報が1でないときのみCの巾乗剰余の演算を行うよう構成すればよい。
【0127】
また、Iが素数でなくても、特定の値の繰り返してある等の、冗長性を持たせた値になるよう、E、D、Iの組合せを決めるようにし、証明装置200に、送られてきた必須情報の冗長性を確認する手段を設けてもよい。Iの自明でない約数が証明装置200が知っている冗長性を持つ可能性が十分低ければ、この方法でも、必須情報の代わりにその約数を復号器に送る攻撃を回避できる。
【0128】
本実施例において、ユーザ固有情報記憶部204、指数生成部205、第1演算部206を、利用者によるアクセスや改変が不能なICカード等の内部に構成すれば、ユーザ固有情報の漏洩や、指数生成部205、第1演算部206の改変による不正から、本実施例を守ることが可能になる。
【0129】
本実施例の証明装置200に一方向性ハッシュ関数V(x、y)の演算を行う演算手段を付加し、式23の代わりに式28を、式24の代わりに式29を計算するようにしてもよい。
【0130】
【数30】
R’=CV(I,n)F(e,n) mod n (28)
R’=CV(I,n)t mod n (29)
この場合、暗号鍵Eとアクセス資格の必須情報Iおよびアクセス資格の特徴情報Dは、式30の関係を満たすように作ることになる。
【0131】
【数31】
EV(I,n)D≡1 mod φ(n) (30)
このように構成すれば、法数よりも大きな必須情報を利用可能になる。
【0132】
本実施例の証明装置200を、アクセスチケットと、指数生成部205の出力から、アクセス資格の特徴情報を算出し、その結果を使って、認証用データを巾乗剰余するように構成しても、本実施例と同様の効果が得られる。
【0133】
以下、検証装置100において、KとK’が同一であることを検証する方法について、いくつかの例を記す。これらの例は、第4、5、6の実施例のも同様に適用可能である。
【0134】
[1]検証用データと復号結果を直接比較する構成例
検証手段101は予め検証用データKを記憶しておく。検証手段101中の比較部は、この検証用データKと、認証用データを復号したデータK’とを直接比較し、K’=Kが成立する場合に限り正規の処理を実行し、成立しない場合には処理を中止するなどのエラー処理を実行する。この構成例では、検証すべき検証用データKそのものが装置中に現れるという安全上の弱点がある。例えば、検証装置100がユーザのPCあるいはワークステーション上で動作するプログラムとして構成されている場合、プログラムを解析してKを窃取することは、困難であっても、必ずしも不可能ではない。Kの値がユーザの知るところとなると、証明装置200の動作を模倣する装置を構成することが可能となり、なりすましによる不正アクセスが可能となる。
【0135】
[2]一方向性関数を用いた構成例
上記の欠点を改善するため、検証手段101が記憶している検証のためのデータを、検証用データKそのものではなく、Kに前述の一方向ハッシュ関数hを施して得られるデータh(K)とする。一方向ハッシュ関数の性質から、証明データ記憶手段に記憶されるデータyから、y=h(x)を満たすxを算出することは著しく困難である。検証手段101は、入力データに対し一方向ハッシュ関数を施した結果を返す変換部を有する。比較部は、認証用データを復号したデータK’をハッシュ関数の入力として得られる出力h(K’)と、記憶されているデータ(=h(K))とを比較する。この方法例では、検証用データKがプログラム中に現れることがなく、また、証明データ記憶手段に記憶されたh(K)からKを計算することも著しく困難であることから、上記[1]の例よりは安全であるといえる。しかしながら、比較部はプログラム中では条件文として構成されており、検証装置がプログラムで、分析・改竄が容易であるような構成の場合には、該条件文をスキップするようにプログラムを改竄することが可能である点で、なお弱点を有している。
【0136】
[3]復号された値が、特定のデータを復号するための復号鍵である構成例
検証のために記憶されているデータが、暗号化されたデータであり、認証用データを復号したデータK’は、この暗号化されたデータを復号するための鍵である。検証手段101は、データK’の値を、検証のために記憶されているデータを暗号化するのに用いた暗号の復号鍵として用いて復号し、その結果、暗号化されたデータが復号できた場合のみ、プログラムの実行を可能とする。この構成でも、検証装置100中に復号鍵そのものは現れないため、安全度は高くなっている。
【0137】
[4]復号された値が特定の冗長性を満たすことを確認する構成例
検証装置100が冗長性検証手段をもち、検証手段101は、認証用データを復号したデータK’の値を、冗長性検証手段に送る。冗長性検証手段が、そのデータが特定の冗長性を満たすことを確認した場合のみ、プログラムの実行を可能とする。冗長性の例としては、復号されたデータがある特定のパターンを繰り返していることや、特定の位置のデータが特定の条件を満たすこと、あるいは、データが特定の言語として意味があること、等があげられる。
【0138】
[5]プログラムコード自体を暗号化する構成例
検証装置100が保持するプログラムのコードの一部或は全部を暗号化したデータを認証用データとして、認証用データ記憶手段に保持する。即ち、認証用データを復号したデータK’はプログラムのコードの一部或は全部となる。実行手段はデータK’を、プログラム中の予め定められた位置に埋め込み、その後、埋め込んだプログラムを実行する。証明装置が正しいデータを返信した場合、即ち、K’がコードを正しく復号したものである場合に限ってプログラムは実行可能となる。復号されたコードを本来のプログラムに埋め込んだファイルを生成した後、そのファイルを起動してもよいが、プログラムがメモリ上に展開されている状態で、復号したコードをメモリ上のプログラムに埋め込んだのち起動する方法が、安全上は望ましい。この構成例では、プログラムの実行に不可欠なコードの一部或は全部が暗号化されているため、実行されるプログラムがユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムとして構成されているような比較的安全性の低い場合でも、不正実行を防止することができる。
【0139】
[6]復号された値がプログラムの復号鍵である構成例
検証装置100がプログラムのコードの一部或は全部を暗号化したデータを保持しており、認証用データを復号したデータK’が、暗号化したプログラムコードを復号するために必要な復号鍵となっているものである。この構成によると、暗号化するコードのサイズに関わらず、データK’のサイズを一定の小さい値に抑えることが可能となり、通信のオーバヘッドを減少させることができる。検証手段101はデータK’を用いて、記憶している暗号化されたプログラムコードを復号する。さらに復号されたコードを、プログラム中の予め定められた位置に埋め込み、その後、埋め込んだプログラムを実行する。証明装置が正しいデータを返信していた場合、即ち、K’によってコードが正しく復号されていた場合に限ってプログラムは実行可能となる。
【0140】
[第4の実施例]
第4の実施例は、アクセスチケットtの計算が第3の実施例とは異なる。本実施例の検証装置の構成方法を図8に、証明装置の構成方法を図5に示す。また、本実施例の検証装置の動作を図13に、証明装置の動作を図12に示す。本実施例の、アクセス資格認証の特徴情報D、公開情報E、n、アクセス資格認証の必須情報Iの満たすべき性質および認証用素データC’、認証用データCの生成方法は、実施例1と同様である。なお、図5において、図4に対応する箇所には対応する符号を付した。
【0141】
本実施例のアクセスチケットtは、式28に基づいて生成される。
【0142】
【数32】
t=D/F(e,n) mod φ(n) (31)
以下、本実施例の動作について説明する。
【0143】
1. ユーザがアクセスすることによって、検証装置100が起動される。
【0144】
検証装置100の実現方法として、ユーザのPCやワークステーション上で動作するアプリケーションプログラム、ユーザのPCやワークステーションとネットワークを介して接続されたサーバ上のサーバプログラム、あるいは、ICカード・リーダ・ライターのような専用の装置のいずれも可能であることは、第3の実施例の場合と変わらない。これは、以降の実施例においても同様である。
【0145】
2. 検証装置100は、認証用データCと、アクセスチケット公開鍵記憶部103に記憶されている法数n、および、必須情報記憶部109に記憶されているアクセス資格認証の必須情報Iを、証明装置200中の受信データ記憶部202に書き込む。
【0146】
3. 証明装置200中の指数生成部205は、ユーザ固有情報記憶部204に記憶されているユーザの固有情報eと、アクセスチケット公開鍵記憶部203に記憶されている法数nとを取得し、式32の計算を実行する。
【0147】
【数33】
F(e,n) (32)
【0148】
4. 証明装置200中の証明用演算部209は、受信データ記憶部202に記憶されている必須情報Iと法数nを取得し、これと、指数生成部205で生成されたデータとを用いて、式33の計算を実行しR’を得る。
【0149】
【数34】
R’=CIF(e,n) mod n (33)
【0150】
5. 証明装置200中の証明データ生成部208は、アクセスチケット記憶部203に記憶されているアクセスチケットtと受信データ記憶部202に記憶されている法数nを取得し、証明用演算部209からR’を得、式34を計算して、Rを得る。
【0151】
【数35】
R=R’t mod n (34)
【0152】
6. 証明装置200は、Rを検証装置100の受信データ記憶部110に書き込む。
7. 検証装置100中の乱数効果除去部106は、乱数記憶部105中から先に生成した乱数rを取り出し、式35の計算を行う。
【0153】
【数36】
K’=r-1R mod n (35)
【0154】
8. 証明装置200において用いられるアクセスチケットtとユーザの固有情報e、および必須情報Iの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。もし、上記の手順が正しく行われれば、式36により、KとK’が一致することがわかる。
【0155】
【数37】
Figure 0003870927
また、検証装置100と認証装置200の間の通信の傍受者が、アクセス資格認証の必須情報IをI’と差し替えた場合、KとK’は一致しないので、サービスやデジタルデータのアクセスができない。
【0156】
ただし、アクセス資格認証の必須情報Iが素数でない場合には、問題がおこる。Iが、I=a*bと因数分解できる場合には、復号器にC、Iを送る代わりに、Ca mod n,bを送っても復号器の出力は変わらない。したがって、Iという必須情報の代わりに、bという必須情報を送って、正常にアクセスすることが可能なのである。これを防ぐには、Iが素数になるように、E、D、Iの組合せを決めればよい。
【0157】
また、Iが素数であっても、復号器にC、Iを送る代わりに、CI mod n,1を送り、同じ出力を得ることができる。これを防ぐには、証明装置200は、送られてきた必須情報が1でないことを確認する手段をもち、必須情報が1でないときのみCの巾乗剰余の演算を行うよう構成すればよい。
【0158】
また、Iが素数でなくても、特定の値の繰り返してある等の、冗長性を持たせた値になるよう、E、D、Iの組合せを決めるようにし、証明装置200に、送られてきた必須情報の冗長性を確認する手段を設けてもよい。Iの自明でない約数が、証明装置200が知っている冗長性を持つ可能性が十分低ければ、この方法でも、必須情報の代わりにその約数を復号器に送る攻撃を回避できる。
【0159】
K’と検証用データKとの比較方法に関しては、実施例3と同様の方法を用いることができる。
【0160】
本実施例において、ユーザ固有情報記憶部204、指数生成部205、証明演算部209を、利用者によるアクセスや改変が不能なICカード等の内部に構成すれば、ユーザ固有情報204の漏洩や、指数生成部205、証明演算部209の改変による不正から、本実施例を守ることが可能になる。
【0161】
本実施例の証明装置200に一方向性ハッシュ関数V(x、y)の演算を行う演算手段を付加し、式33の代わりに式37を計算するようにしてもよい。
【0162】
【数38】
R’=CV(I,n)F(e,n) mod n (37)
この場合、暗号鍵Eとアクセス資格の必須情報Iおよびアクセス資格の特徴情報Dは、式38の関係を満たすように作ることになる。
【0163】
【数39】
EV(I,n)D≡1 mod φ(n) (38)
このように構成した場合、V(x,y)をユーザに対して秘密にすることが可能になり、安全性が向上する。また、法数によりも大きな必須情報を利用可能になる。
【0164】
本実施例の証明装置200を、アクセスチケットと、指数生成部205の出力から、アクセス資格の特徴情報を算出し、その結果を使って、認証用データを巾乗剰余するように構成しても、本実施例と同様の効果が得られる。
【0165】
[第5の実施例]
第3、4の実施例が、アクセス資格の必須情報の正当性が、証明装置200にはわからなかったのに対し、第5の実施例は、アクセス資格の必須情報の正当性を証明装置200で検証し、正当なものでなければ、証明データの生成を行わないものである。本実施例の検証装置100の構成方法を図9に、証明装置200の構成方法を図6に示す。また、本実施例の検証装置100の動作を図15に、証明装置200の動作を図14に示す。
【0166】
本実施例の、アクセス資格認証の特徴情報Dと、RSA法数n、およびnのオイラー数φ(n)が満たすべき性質および認証用素データC’、認証用データCの生成方法は、実施例3と同様である。本実施例における公開情報Eは、式35を満たすように生成される。
【0167】
【数40】
ED mod φ(n)=1 (39)
アクセスチケットtは、実施例1と同様、アクセスチケット秘密鍵D、ユーザの固有情報e、法数n、関数Fを用い、以下の式40に基づいて生成される。
【0168】
【数41】
t=D−F(e,n) (40)
【0169】
以下、本実施例の動作について説明する。
1. ユーザがアクセスすることによって、検証装置100が起動される。
【0170】
2. 検証装置100中の検査情報生成部112は、認証用データCと、必須情報記憶部109に記憶されているアクセス資格認証の必須情報Iを取得し、式41の計算を実行して、検査情報Mを生成する。
【0171】
【数42】
M=V(C,I) (41)
関数Vは、関数Fと同様の性質を持つ関数であり、検証装置100と証明装置200以外には秘密である必要がある。
【0172】
3. 検証装置100は、証用データCと、アクセスチケット公開鍵記憶部103に記憶されている法数n、必須情報記憶部109に記憶されているアクセス資格認証の必須情報I、および検査情報Mを、証明装置200中の受信データ記憶部202に書き込む。
【0173】
4. 証明装置200中の必須情報検証部210は、受信データ記憶部202に書き込まれた認証データC、必須情報I、検査情報Mを取得し、式42を満たしているかどうかを検証する。
【0174】
【数43】
M=V(C,I) (42)
式42を満たしていれば、引続き以下の計算を行う。
【0175】
5. 証明装置200中の指数生成部205は、ユーザ固有情報記憶部204に記憶されているユーザの固有情報eと、受信データ記憶部202に記憶されている法数nとを取得し、式43の計算を実行する。
【0176】
【数44】
F(e,n) (43)
【0177】
6.証明装置200中の第1演算部206は、受信データ記憶部202に書き込まれた認証用データC、法数nと、指数生成部205で生成されたデータとを用いて、式44の計算を実行しR’を得る。
【0178】
【数45】
R’=CF(e,n) mod n (44)
【0179】
7. 証明装置200中の第2演算部207は、アクセスチケット記憶部207に記憶されているアクセスチケットt、受信データ記憶部202に記憶されている認証用データC、法数nを取得し、式45を計算して、R’’を得る。
【0180】
【数46】
R’’=Ct mod n (45)
【0181】
8. 証明装置200中の証明データ生成部208は、第1および第2演算部206、207からR’およびR’’を得て、式46の計算を行いRを得る。
【0182】
【数47】
R=R’R’’ mod n (46)
【0183】
9. 証明装置200はRを検証装置100の受信データ記憶部110に書き込む。
10. 検証装置100中の乱数効果除去部106は、乱数記憶部105中から先に生成した乱数rを取り出し、式47の計算を行う。
【0184】
【数48】
K’=r-1R mod n (47)
【0185】
11. 証明装置200において用いられるアクセスチケットtとユーザの固有情報e、および必須情報Iの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0186】
もし、上記の手順が正しく行われれば、式48により、KとK’が一致することがわかる。
【0187】
【数49】
Figure 0003870927
検証装置100と認証装置200の間の通信の傍受者が、アクセス資格認証の必須情報IをI’と差し替えた場合、4でのチェックを通らず、証明装置200は証明データの生成を中止し、検証装置100に中止を通知する。通知の手段は、たとえば、中止用コードを受信データ記憶部110に書き込む方法や、予め証明データ生成までの所要時間を定めておいて、所要時間を超過しても受信データ記憶部110への書き込みが行われなかった場合は中止とする方法などがある。
【0188】
K’と検証用データKとの比較方法に関しては、実施例3と同様の方法を用いることができる。
【0189】
本実施例において、ユーザ固有情報記憶部204、必須情報検証部210、指数生成部205、第1演算部206を、利用者によるアクセスや改変が不能なICカード等の内部に構成すれば、ユーザ固有情報の漏洩や、必須情報検証部210、指数生成部205、第1演算部206の改変による不正から、本実施例を守ることが可能になる。
【0190】
[第6の実施例]
第6の実施例の検証装置100の構成方法を図8に、証明装置200の構成方法を図7に示す。また、本実施例の検証装置100の動作を図17に、証明装置200の動作を図16に示す。本発明における第4の実施例では、公開情報n、およびnのオイラー数φ(n)が満たすべき性質は、実施例1と同様である。アクセス資格認証の必須情報Iは、式49を満たす整数である。
【0191】
【数50】
gcd(I,φ(n))=1 (49)
また、アクセスチケットtは、オイラー数φ(n)、ユーザの固有情報e、法数n、関数Fを用い、以下の式50に基づいて生成される。
【0192】
【数51】
t=φ(n)−F(e,n) (50)
【0193】
以下、本実施例の動作について説明する。
1. ユーザがアクセスすることによって、検証装置100が起動される。
【0194】
2. 検証装置100は、認証用データCと、アクセスチケット公開鍵記憶部103に記憶されている法数n、および、必須情報記憶部109に記憶されているアクセス資格認証の必須情報Iを、証明装置200中の受信データ記憶部202に書き込む。認証用素データ記憶部108には、認証用素データとしてC’が記憶されている。ここで、検証用データを適当なデータKとする時、認証用素データC’は、データKに対して式51を満たす。
【0195】
【数52】
C’=KI mod n (51)
認証用データCは、検証装置100により、乱数生成部104で乱数rを生成し、rと、アクセスチケット公開鍵記憶部103から取得したnと、必須情報記憶部109から取得したIと、認証用素データ記憶部108から取得したC’とを用い、乱数効果付与部107で式52の計算を行うことで生成される。生成された認証用データCは、証明装置200中の受信データ記憶部202に書き込まれる。また、生成した乱数rは、乱数記憶部105に記憶される。
【0196】
【数53】
C=rIC’ mod n (52)
【0197】
3. 証明装置200中の指数生成部205は、ユーザ固有情報記憶部204に記憶されているユーザの固有情報eと、受信データ記憶部202に記憶されている法数nとを取得し、式53の計算を実行する。
【0198】
【数54】
F(e,n) (53)
【0199】
4. 証明装置200中の証明用演算部209は、受信データ記憶部202に記憶されている必須情報Iと、アクセスチケット記憶部203に記憶されているアクセスチケットtを取得し、これと、指数生成部205で生成されたデータとを用いて、式54の計算を実行してを得、式55を満たすDを計算する。
【0200】
【数55】
ψ=t+F(e,n) (54)
DI≡1 mod ψ (55)
【0201】
5. 証明装置200中の証明データ生成部208は、証明用演算部209からDを得、受信データ記憶部202からC、nを取得して式56の計算を行いRを得る。
【0202】
【数56】
R=CD mod n (56)
【0203】
6. 検証装置100中の乱数効果除去部106は、乱数記憶部105中から先に生成した乱数rを取り出し、式57の計算を行う。
【0204】
【数57】
K’=r-1R mod n (57)
【0205】
7. 証明装置200において用いられるアクセスチケットtとユーザの固有情報e、および必須情報Iの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0206】
もし、上記の手順が正しく行われれば、式58により、KとK’が一致することがわかる。
【0207】
【数58】
Figure 0003870927
また、検証装置100と認証装置200の間の通信の傍受者が、アクセス資格認証の必須情報IをI’と差し替えた場合、
【0208】
【数59】
Figure 0003870927
であり、KとK’は一致しないので、サービスやデジタルデータのアクセスができない。K’と検証用データKとの比較方法に関しては、実施例3と同様の方法を用いることができる。
【0209】
本実施例において、ユーザ固有情報記憶部204、指数生成部205、証明用演算部209、証明データ生成部208を、利用者によるアクセスや改変が不能なICカード等の内部に構成すれば、ユーザ固有情報の漏洩や、指数生成部205、証明用演算部209の改変による不正から、本実施例を守ることが可能になる。
【0210】
本実施例の証明装置200に一方向性ハッシュ関数V(x、y)の演算を行う演算手段を付加し、式55の代わりに式59を計算するようにしてもよい。
【0211】
【数60】
DV(I,n)≡1 mod (59)
この場合、検証用データを適当なデータKとする時、認証用素データC’は、データKに対して式54を満たすように作られる。
【0212】
【数61】
C’=KV(I,n) mod n (60)
このように構成した場合、法数よりも大きな必須情報を利用可能になる。
【0213】
【発明の効果】
以上説明したように、本発明では、暗号化されたデータの復号に、第1の復号情報と、第2の復号情報が必要となるように構成し、第2の復号情報は、復号器に対して外部から入力するものとし(第1の復号情報は外部から入力するようにしても内部で生成するようにしてもよい)、暗号化されたデータと、第2の復号情報を正しく入力しなければ、正しい復号結果が得られないようにしている。したがって、データの復号料金等の、差し替えられてはならない情報は、第2の復号情報として復号器に入力するようシステムを構成すれば、情報の差し替えという不正行為に対して、復号の失敗というペナルテイを課すことができる。
【0214】
また、上述の復号手法をアクセス資格認証に適用することにより、アクセス料金等の、差し替えられてはならない情報を上述の第2の復号情報として入力させることにより、それら情報の差し替えという不正行為に対して、アクセスの拒否というペナルテイを課すことができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施例の復号装置を示すブロック図である。
【図2】 本発明の第2の実施例の復号装置を示すブロック図である。
【図3】 本発明の第3〜第6の実施例のアクセス資格認証装置を全体として示すブロック図である。
【図4】 本発明の第3の実施例のアクセス資格認証装置の証明装置の構成を示すブロック図である。
【図5】 本発明の第4の実施例のアクセス資格認証装置の証明装置の構成を示すブロック図である。
【図6】 本発明の第5の実施例のアクセス資格認証装置の証明装置の構成を示すブロック図である。
【図7】 本発明の第6の実施例のアクセス資格認証装置の証明装置の構成を示すブロック図である。
【図8】 本発明の第3、4、6の実施例のアクセス資格認証装置の検証装置の構成を示すブロック図である。
【図9】 本発明の第5の実施例のアクセス資格認証装置の検証装置の構成を示すブロック図である。
【図10】 本発明の第3の実施例のアクセス資格認証装置の証明装置の動作を説明する図である。
【図11】 本発明の第3の実施例のアクセス資格認証装置の検証装置の動作を説明する図である。
【図12】 本発明の第4の実施例のアクセス資格認証装置の証明装置の動作を説明する図である。
【図13】 本発明の第4の実施例のアクセス資格認証装置の検証装置の動作を説明する図である。
【図14】 本発明の第5の実施例のアクセス資格認証装置の証明装置の動作を説明する図である。
【図15】 本発明の第5の実施例のアクセス資格認証装置の検証装置の動作を説明する図である。
【図16】 本発明の第6の実施例のアクセス資格認証装置の証明装置の動作を説明する図である。
【図17】 本発明の第6の実施例のアクセス資格認証装置の検証装置の動作を説明する図である。
【符号の説明】
11 入力部
12 出力部
13 法数記憶部
14 第1復号情報記憶部
15 復号部
16 オイラー数記憶部
17 逆数生成部
100 検証装置
101 検証手段
102 実行手段
103 アクセスチケット公開鍵記憶部
104 乱数生成部
105 乱数記憶部
106 乱数効果除去部
107 乱数効果付与部
108 認証用素データ記憶部
109 必須情報記憶部
110 受信データ記憶部
111 検証用演算部
112 検査情報生成部
200 証明装置
201 証明データ生成手段
202 受信データ記憶部
203 アクセスチケット記憶部
204 ユーザ固有情報記憶部
205 指数生成部
206 第1演算部
207 第2演算部
208 証明データ生成部
209 証明用演算部
300 アクセスチケット生成装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to encryption / decryption of digital data and access qualification authentication for digital data and services using encryption / decryption.
[0002]
[Prior art]
When trying to protect the security of data by encryption / decryption, there are the following two types of relationship between the user of the encrypted data and the holder of the decryption key for decrypting the data.
[0003]
(1) When the data user and the decryption key holder are the same
(2) If the data user and the decryption key holder are not the same
As an example of the former (1), secret communication between individuals is typical. In the case of communication between individuals, the receiver secretly holds the data decryption key. The sender encrypts the data with an encryption key corresponding to the decryption key held by the receiver. If the receiver leaks the decryption key to the third party, it leads to a loss of the receiver's privacy, which is a great disadvantage for the receiver. Therefore, no problem occurs even if the receiver has the decryption key.
[0004]
An example of the latter (2) is a simultaneous broadcast of digital data performed by satellite broadcasting or the like. The paid digital data that is broadcast all at once is encrypted and cannot be used unless the digital data is decrypted. However, if the receiver has a decryption key for decrypting the encrypted digital data, the receiver will not cause any disadvantage even if the receiver knows the decryption key. By leaking the key to the third party, it is possible to obtain a benefit such as compensation from the third party. That is, since there is a positive reason for the data user to leak the decryption key, the data user and the owner of the decryption key must be separated.
[0005]
Currently, in satellite broadcasting, this problem is solved by incorporating a decryption key in an area in hardware that is inaccessible from the outside, and entrusting decryption of data to this hardware (consignment decryption). Since the user of digital data has no way of obtaining the decryption key itself, the problem of leakage of the decryption key by the digital data user does not occur.
[0006]
In addition to satellite broadcasts, it also decodes data that is broadcast to the general public, such as data broadcasts via the Internet's WWW (World Wide Web) and CATV (Cable Television Broadcasting). In some cases, the same means are used. There are various entrustees such as a decoder built in the satellite broadcast tuner, an IC card having a decryption function, and a destination computer via a network.
[0007]
When entrusted decryption is performed by an easy method in which the encrypted data is transmitted to the decryptor as it is and the decryption result is received from the decryptor, the following two problems occur.
[0008]
(1) It is revealed to the decoder what was decoded and what the decoding result was.
[0009]
The creator of the decoder can create the decoder so that the entrusted decoding history remains. When the decoder is made in this way, the data receiver's privacy of what kind of data is to be decoded may be stored in the decoder and later abused. A similar configuration of the decoder also disadvantages the data sender. From the point of view of the data sender, data that is not desired to be known by the decoder cannot be subjected to consignment decryption. In the case of satellite broadcasting, when a movie is encrypted and sent, the decrypted plaintext movie is stored in the decoder, and there is a risk that the data is misused by the creator of the decoder.
[0010]
{Circle around (2)} If there is a person intercepting communication with the decoder, the interceptor can see what was decrypted and what the decoding result was.
[0011]
Imagine the seriousness of this problem by imagining the case where the decryption entrustee is a computer connected first through a network. In this case, if no means are taken, a third party intercepting the net can easily know what was decrypted by consignment decryption and what the decryption result was.
[0012]
Blind decryption is a delegated decryption technique that simultaneously clears the above two problems. Silvio Micari, Fair public key cryptosystem, Proc. Crypto 92, pp. 113-138 (1993) discloses a blind decoding scheme based on RSA (Rivest-Shamir-Adleman). The contents of the disclosure are outlined below.
[0013]
Assume that the decryption consignor is Alice, and the decryptor that receives the consignment and decrypts is Bob. The decryption key possessed by Bob is D, the RSA modulus is n, and the encryption key is E. Since it is RSA, ED≡1 mod φ (n) holds. Where φ (n) is the Euler number of n.
[0014]
Plaintext M encrypted with n and E C = ME  Let it be mod n.
1. Alice generates a random number r, C ′ = rECalculate C mod n and send C 'to Bob.
2. Bob is R = C 'D  Mod n is calculated and sent to Alice.
3. Alice is r-1r≡1 mod n becomes r-1And M ′ = r-1Calculate R mod n.
[0015]
It can be seen from the following formula that Alice obtains a correct decoding result by the above procedure.
[0016]
[Expression 1]
Figure 0003870927
According to this scheme, a third party intercepting the communication between the decoder Bob and Alice and Bob has C ′ = rEC mod n, R = C 'DOnly ≡rM mod n is visible, and the ciphertext C that Alice wanted to decrypt and the decryption result M of C are not exposed to the decryptor Bob and the interceptor of communication. This method solves the above two problems of consignment decryption.
[0017]
An apparatus for controlling access to digital data by applying blind decoding is proposed in Japanese Patent Application No. 9-418.
[0018]
The access control device described in Japanese Patent Application No. 9-418 includes a certifying device that proves possession of an access right to data and a verification device that verifies the proof by the certifying device. The verification device stores encrypted digital data and data obtained by encrypting a key for decrypting the digital data with an RSA public key (encryption key). The proving device is an RSA decoder. The verification device entrusts the decryption of the encryption key to the certification device using blind decryption, and decrypts the digital data using the result. If decrypted correctly, the proving device has succeeded in proving possession of the access right.
[0019]
Since blind decryption is used, the contents of the entrusted encryption key and the decryption key of the digital data are not known to the proving device or the person who intercepts the communication between the verification device and the proving device. .
[0020]
The technique of Japanese Patent Application No. 9-418 is particularly characterized in the configuration of a proving device that is an RSA decoder. In the proposal of Japanese Patent Application No. 9-418, in order to be able to decrypt a plurality of RSA public keys with a single prover, RSA decryption keys are embedded in changeable data called access tickets. . The access ticket is obtained by applying a mask to the RSA decryption key so that the RSA decryption key is not extracted from the access ticket, and the access ticket becomes information that can be disclosed. The proving device of Japanese Patent Application No. 9-418 has tamper-resistant hardware such as an IC card, and the effect of the access ticket mask can be removed only by the hardware.
[0021]
The access control proposed in Japanese Patent Application No. 9-418 will be described in detail below.
[0022]
The verification device has the encrypted data and the encryption key K obtained by encrypting the decryption key K with the RSA modulus n and the encryption key E. The proving device has an IC card having a calculation function of a modular exponentiation and a calculation function of a one-way hash f (x, y). Further secret data d is stored in the IC card. When the RSA modulus n and the decryption key for the encryption key E are D, the access ticket t is data having a value of t = D−f (d, n).
[0023]
Proof and verification of possession of the access right is performed according to the following procedure.
1. The verification device generates a random number r.
2. The verification device is C = rEK*  Mod n is calculated and n and C are sent to the proving device. However, K*Is KEAnd
3. The certification device is R in the IC card.1= Cf (d, n)  Mod n is calculated.
4). Proof device is R2= Ct  Mod n is calculated.
5. The verification device is R = R1R2  Mod n is calculated and sent to the verification device.
6). The verification device is r-1r≡1 mod n becomes r-1And K ′ = r-1R
Mod n is calculated.
[0024]
It can be seen from the following equation that if the above procedure is performed correctly, K≡K ′ mod n, and possession of the access right is proved.
[0025]
[Expression 2]
Figure 0003870927
In this method, if a user has an IC card having a different d for each user, an access ticket for decrypting a certain digital data encryption key is different for each user. Even if you copy someone else's access ticket, you cannot use it to prove that you have access. Therefore, the access right for each user can be controlled by not issuing an access ticket for each user. Further, if the RSA modulus n and the encryption key E are changed for each digital data, an access ticket for certain data cannot be used for other data. Therefore, access control for each digital data is also possible.
[0026]
[Problems to be solved by the invention]
The problem with blind decoding is its strong blindness. According to blind decoding, the only information that can be collected by the decoder by entrusting decoding is information that there has been some decoding entrustment. Any information regarding the data entrusted to decrypt cannot be transmitted to the decoder. However, there are many requests to transmit certain information about data to the decoder when performing the decryption. Specifically, there are the following.
(1) When a fee is obtained by the consignment decryption service, if the decryption fee is different for each data, the decryption fee of the data must be transmitted to the decoder together with the encrypted data.
(2) When the expiration date is determined for each data, the expiration date of the data must be sent to the decoder together with the encrypted data, and the expiration date must be checked by the decoder.
(3) When the number of users available for each data is limited, a list of the users who can use the data is sent to the decryptor along with the encrypted data, and the decryptor checks whether the consignor is an available user. Must be done.
{Circle around (4)} When performing consignment decryption of a confidential document, the identifier of the data is sent to the decryptor together with the encrypted data for later auditing, and the decryptor must store this.
[0027]
If this information is transmitted to the decoder without any ingenuity along with the encrypted data, it is possible to replace the attached information with something convenient for the consignor if the consignor is malicious. is there. For example, it is possible to cheat such as sending information on a fee lower than the data to be entrusted, sending an expiration date after the actual date, sending a list of accessible users different from the actual one, sending an identifier different from the actual one.
[0028]
This problem is also the same in the technique of Japanese Patent Application No. 9-418 that performs access control of digital data by applying conventional blind decoding. The proposal of Japanese Patent Application No. 9-418 has a tamper-resistant IC card. It is very difficult to tamper with the processing performed in the IC card or to tamper with the information stored in the IC card, so if the information can be transmitted correctly to the IC card, the safety within the IC card Is guaranteed. Therefore, the storage of access charges for data and the check of the access expiration date are performed in the IC card. However, Japanese Patent Application No. 9-418, which uses the conventional blind decoding as it is, There is no means for safely transmitting information to the IC card.
[0029]
In view of the above problems, a first object of the present invention is to realize blind decoding that can safely send specific information to a decoder while maintaining the blindness of data entrusted for decoding. is there. A second object of the present invention is to realize digital data access control by applying a blind decoding method that solves the above problems.
[0030]
[Means for Solving the Problems]
In order to achieve the first object, the present invention is configured so that the decryptor needs the first decryption information and the second decryption information when decrypting the encrypted data. ing. More specifically, the decryptor multiplies the encrypted data by the product of the first decryption information and the second decryption information under the modulus n, and outputs it as a decryption result.
[0031]
Encryption is a process of powering data with an encryption key under the modulus n. The product of the encryption key, the first decryption information, and the second decryption information is 1 with the Euler number of n as the modulus. If they are congruent, they can be decrypted correctly.
[0032]
Furthermore, the second decryption information is input from the outside to the decryptor, and it is devised so that a correct decryption result cannot be obtained unless the encrypted data and the second decryption information are correctly input. is doing.
[0033]
If the system is configured to input information that must not be replaced, such as data decryption charges, to the decoder as second decryption information, a penalty of decryption failure will be imposed on fraudulent acts of information replacement. be able to.
[0034]
As another configuration in which the first decryption information and the second decryption information are required when the decryptor performs decryption of the encrypted data, the decryptor is configured under the modulus n. In this example, the encrypted data is raised to the power of the reciprocal of the second decryption information when the first decryption information is used as a modulus, and is output as a decryption result.
[0035]
If the first decryption information is the Euler number of modulus n and the second decryption information is the encryption key, the decryption can be performed correctly.
[0036]
Furthermore, the second decryption information is input from the outside to the decryptor, and it is devised so that a correct decryption result cannot be obtained unless the encrypted data and the second decryption information are correctly input. is doing.
[0037]
If the system is configured to input information that must not be replaced, such as data decryption charges, to the decoder as second decryption information, a penalty of decryption failure will be imposed on fraudulent acts of information replacement. be able to.
[0038]
In order to achieve the second object, the present invention provides an access credential authentication apparatus for authenticating the above-mentioned user access qualification by verifying the validity of proof data generated to prove the user's access qualification. Predetermined calculation is performed on the first storage means for storing the authentication data, the second storage means for storing the user's unique information, the user's unique information, and the access qualification feature information. Third storage means for storing auxiliary information for proof that is an execution result, fourth storage means for storing essential information for access qualification authentication, and authentication data held in the first storage means And user specific information stored in the second storage means, auxiliary information for proof stored in the third storage means, and access qualification authentication stored in the fourth storage means Proof data generation means for generating proof data by performing a predetermined operation on the essential information, and the proof data are generated based on the characteristic information of the access qualification authentication and the essential information of the access qualification authentication Proof data verification means for verifying this is provided.
[0039]
In the present invention, in order to properly recognize access qualification, the combination of certification data, user specific information, proof auxiliary information, and essential information for access credential authentication must be correct.
[0040]
If information that should not be replaced, such as an access fee, is included in the essential information for access qualification authentication, a penalty of access refusal can be imposed for an illegal act of replacing information.
[0041]
In another configuration of the present invention for achieving the second object, an access credential for authenticating the above-mentioned user access qualification by verifying the validity of the proof data generated to prove the user's access credential. Predetermined with respect to the first storage means for storing authentication data, the second storage means for storing user specific information, the user specific information, and the access qualification authentication feature information in the authentication device Third storage means for storing auxiliary information for proof that is the execution result of executing the calculation of the above; fourth storage means for storing essential information for access qualification authentication; and fifth storage for storing inspection information for access qualification authentication The result of performing a predetermined calculation on the storage means, the authentication data held in the first storage means, and the essential information of access qualification authentication stored in the fourth storage means When the result of the inspection by the inspection means is good, the inspection means for inspecting that there is a predetermined relationship with the inspection information of the access qualification authentication stored in the storage means of 5 is stored in the first storage means Proving by carrying out a predetermined operation on the authentication data held, the user's unique information stored in the second storage means, and the auxiliary information for certification stored in the third storage means Providing proof data generating means for generating data and proof data verifying means for verifying that the proof data is generated based on the characteristic information of the access qualification authentication and the essential information of the access qualification authentication ing.
[0042]
In the present invention, in order to properly recognize access qualification, the combination of certification data, user specific information, proof auxiliary information, and essential information for access credential authentication must be correct.
[0043]
If information that should not be replaced, such as an access fee, is included in the essential information for access qualification authentication, a penalty of access refusal can be imposed for an illegal act of replacing information.
[0044]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described with reference to examples.
[Example of partial blind decoder]
[First embodiment]
The first embodiment is a blind decoder to which the present invention is applied. The configuration of the blind decoding device of this embodiment is shown in FIG. In the present embodiment, as the encryption / decryption method, a power-residue modulo the composite number n is used. This decoder uses two decoding information d in addition to the modulus n for decoding.1, D2Is used. Encryption keys E and d1, D2Is made so as to satisfy the relationship of Equation 1.
[0045]
[Equation 3]
Ed1d2≡1 mod φ (n) (1)
Here, φ (n) is the Euler number of n.
[0046]
The ciphertext C for the data M is generated by Equation 2.
[0047]
[Expression 4]
C = ME  mod n (2)
The user of the blind decryptor of the present embodiment has the ciphertext C, the modulus n, the encryption key E, and the second decryption information d.2Possess. When the user entrusts decryption of C to the present embodiment, the user generates C ′ by applying a blind effect to C, and C ′ and d2Is input to the decoder of this embodiment. Then, the output R from the decoder of this embodiment is received, and the blind effect of R is removed to obtain a decoding result.
[0048]
The specific procedure for the user to use the decoder of this embodiment is as follows.
1. The user generates a random number r in the range of 1 <r <n.
2. The user calculates Equation 3 and gives the ciphertext C a blind effect.
[0049]
[Equation 5]
C '= rEC mod n (3)
3. The user can use C 'and d2Is sent to the blind decoder of this embodiment, and the output R from the blind decoder is received.
4). The user calculates Equation 4 and obtains a decoding result M ′.
[0050]
[Formula 6]
M '= r-1R mod n (4)
The blind decoder of this embodiment is composed of the following subunits.
Input unit 11: Ciphertext C ′ subjected to blind effect and second decryption information d2Enter.
Output unit 12: outputs the decoding result R.
Modulus storage unit 13: stores a modulus n.
First decoded information storage unit 14: first decoded information d1Remember.
Decoding unit 15: n, C ', d1, D2The decoding result R is calculated from
[0051]
The processing procedure of the blind decoder of the present embodiment is as follows.
1. The ciphertext C ′ subjected to the blind effect and the second decryption key d are received from the user via the input unit 11.2Is sent to the decoding unit 15.
2. The decoding unit 15 receives the modulus n from the modulus storage unit 13 and the first decoding information d from the first decoding information storage unit 14.1And calculate Equation 5.
[0052]
[Expression 7]
R = C 'd1d2  mod n (5)
3. R is output via the output unit 12.
[0053]
If the ciphertext C and the second decryption information d2If the combination of is correct, it can be seen from Equation 6 that decoding is correctly performed.
[0054]
[Equation 8]
Figure 0003870927
Also, the second decryption information d2If information different from the above is sent to the blind decoder of this embodiment, the user cannot obtain a correct decoding result. Therefore, the second decryption information d2If a decoding fee or the like is included in, it is possible to prevent a false decoding fee from being sent to the decoder.
[0055]
However, the second decryption information d2If is not a prime number, a problem occurs. d2But d2= C *, if it can be factored to a * b2Instead of sending Ca  Sending mod n, b does not change the decoder output. Therefore, d2Instead of this, it is possible to send decoding information b and obtain a correct decoding result.
[0056]
To prevent this, d2E, d such that is a prime number1, D2What is necessary is just to decide the combination.
[0057]
D2Even if is a prime number,2Instead of sending Cd2  You can send modn, 1 to get the same output. In order to prevent this, the decoder may be configured to have a means for confirming that the sent second decoding information is not 1, and to perform decoding only when the second decoding information is not 1.
[0058]
D2Even if is not a prime number, E, d so as to have a redundant value such that a specific value is repeated.1, D2And a means for confirming the redundancy of the transmitted second information may be provided in the decoder. d2If the non-trivial divisor is not likely to have redundancy known to the decoder, this method can also avoid attacks that send the divisor to the decoder instead of the second information.
[0059]
A hash function calculation unit for calculating the one-way hash function V (x) may be added to the blind decoder of the present embodiment, and Expression 7 may be calculated instead of Expression 5.
[0060]
[Equation 9]
R = C 'd1V (d2)  mod n (7)
The one-way hash function is a function having a property that it is extremely difficult to calculate different x and y satisfying h (x) = h (y). As an example of a one-way hash function, RSA Data Security Inc. MD2, MD4, MD5, and the standard SHS (Secure Hash Standard) by the US federal government are known.
[0061]
In this case, encryption keys E and d1, D2Is made so as to satisfy the relationship of equation (8).
[0062]
[Expression 10]
Ed1V (d2) ≡1 mod φ (n) (8)
When configured in this way, V (x) can be kept secret from the user, and safety is improved. Also, a large d depending on the modulus2Will also be available.
[0063]
The decryption fee information is embedded in the second decryption information in the present embodiment, and the decoder is configured to store the transmitted decryption fee information. Therefore, it is possible to make a consignment decryption system capable of charging a genuine decryption fee. The same applies to the second embodiment described later.
[0064]
The expiration date information of the encrypted data is embedded in the second decryption information in this embodiment, the decoder has a built-in clock, and the sent expiration date is compared with the time of the built-in clock. If it is configured so as to determine whether or not decryption is possible, a consignment decryption system capable of limiting the use period of data can be created. The same applies to the second embodiment.
[0065]
If the decoder is configured so that the attribute information of the encrypted data is embedded in the second decryption information in this embodiment and the sent attribute information is stored, it can be used for later statistical processing and auditing. It is possible to make a consignment decryption system capable of storing various data. The same applies to the second embodiment.
[0066]
[Second Embodiment]
The second embodiment is also a blind decoder to which the present invention is applied. The configuration of the blind decoder of this embodiment is shown in FIG.
[0067]
In the present embodiment, as the encryption / decryption method, a power-residue modulo the composite number n is used. This decoder uses two decoding information d in addition to the modulus n for decoding.1, D2Is used. Decryption information d1Is the Euler number of the modulus n and the decoding information d2Is the encryption key E. Also, the encryption key E is created so as to be relatively prime with d.
[0068]
The ciphertext C for the data M is generated by Equation 2 described above.
[0069]
The user of the blind decryptor of the present embodiment uses the ciphertext C, the modulus n, the encryption key E (second decryption information d2But also) When entrusting the decryption of C to the present embodiment, the user generates C 'by applying a blind effect to C, and inputs C' and E to the present embodiment. And the output R from a present Example is received, the blind effect of R is removed, and a decoding result is obtained.
[0070]
The specific procedure for the user to use this embodiment is the same as in the first embodiment.
[0071]
The blind decoder of this embodiment is composed of the following subunits.
Input unit 11: Inputs the ciphertext C 'subjected to the blind effect and the encryption key E.
Output unit 12: outputs the decoding result R.
Modulus storage unit 13: stores a modulus n.
Euler number storage unit 16: stores Euler number φ (n).
Reciprocal number generation unit 17: A modulus number and an integer are input, and the inverse number of the integer in the modulus number is calculated.
Decoding unit 15: Calculates the decoding result R from the calculation results of n, C ′ and the reciprocal number generation unit 17.
[0072]
The processing procedure of the blind decoder of the present embodiment is as follows.
1. The ciphertext C ′ subjected to the blind effect and the second decryption information d are received from the user via the input unit 11.2And C ′ sends to the decryption unit 15 and d2Is sent to the reciprocal number generation unit 17.
2. The reciprocal number generation unit 17 extracts the Euler number φ (n) from the Euler number storage unit 16 and uses the Euler number φ (n) as a modulus d.2Reciprocal d2  -1And the result is sent to the decoding unit 15.
3. The decryption unit 15 extracts the modulus n from the modulus storage unit 13 and calculates Expression 9.
[0073]
## EQU11 ##
Figure 0003870927
4). R is output via the output unit 12.
[0074]
If the ciphertext C and the second decryption information d2If the combination is correct, it can be seen from the expression 10 that the data is correctly decoded.
[0075]
[Expression 12]
Figure 0003870927
Also, if information different from the second decoding information is sent to the blind decoder of the present embodiment, the user cannot obtain a correct decoding result. Therefore, if a decoding fee or the like is included in the second decoding information, it is possible to prevent a false decoding fee from being sent to the decoder.
[0076]
A hash function calculation unit for calculating the one-way hash function V (x) is added to the blind decoder of this embodiment, and the reciprocal number generation unit 16 sets d2Instead of calculating the reciprocal of V (d2) V (d2)-1And the decoding unit 15 may calculate Equation 11.
[0077]
[Formula 13]
Figure 0003870927
In this case, the encryption key E is V (d2)become. When configured in this way, a larger d than the modulus2Will also be available.
[0078]
Further, instead of storing the Euler number of the modulus n, the prime factor of the modulus n may be stored, and the Euler number may be calculated at the time of decoding.
[0079]
Also, instead of storing the Euler number of the modulus n, the prime factor of the modulus n is stored, and the power multiplication remainder operation is performed using the prime factor as the modulus for each prime factor, from which the Chinese remainder theorem is calculated. It may be used to obtain the result when n is a modulus.
[0080]
Specifically, when n is a product of two prime numbers p and q,
[0081]
[Expression 14]
Figure 0003870927
And R1, R2The same effect can be obtained by calculating R using the Chinese remainder theorem.
[0082]
[Example of access credential authentication]
The third, fourth, fifth, and sixth embodiments are access qualification authentication apparatuses to which the present invention is applied. A rough configuration of the third, fourth, fifth, and sixth embodiments is shown in FIG.
[0083]
In FIG. 3, the access qualification authentication devices of these embodiments include a proof device 100 and a verification device 200. The certification device 200 generates certification data using the access ticket generated by the access ticket generation device 300. The verification device 100 is a device associated with a service or digital data whose access qualification is authenticated, and verifies that a user of the service or digital data has a valid access right. The certification device 200 is a device held by a user of service or digital data, and proves to the verification device 100 that the user has a legitimate access right.
[0084]
The authentication of the access qualification is performed by the verification device 100 sending authentication data to the certification device 200, generating certification data corresponding to the authentication data by the certification device 200, and sending it to the verification data. In the third, fourth, fifth, and sixth embodiments, the authentication data sent from the verification device 100 is obtained by encrypting some data, and the certification device 200 decrypts the authentication data and generates certification data. The verification device 100 verifies the proof data by checking whether the proof data sent from the proof device 200 is obtained by correctly decrypting the authentication data.
[0085]
To generate proof data, authentication data, user-specific information, access ticket, and essential information for access qualification authentication are required.
[0086]
The user-specific information is digital data that is different for each user of the service and digital data, and is stored in the certification device 200 in a form that cannot be accessed by the user.
[0087]
The access ticket is digital data generated from characteristic information of access qualification authentication and user-specific information.
[0088]
The essential information for access qualification authentication is data held by the verification device 100 and is sent to the certification device 200 together with the authentication data.
[0089]
In the third, fourth, fifth, and sixth embodiments, the authentication data can be decrypted only when two pieces of characteristic information of access qualification authentication and essential information of access qualification authentication are provided. Therefore, if an eavesdropper of communication between the verification device 100 and the certification device 200 performs fraud such as replacing essential information of access qualification authentication sent to the certification device 200 together with the authentication data, correct certification data can be obtained. Can not. Thereby, it is possible to prevent the essential information for access qualification authentication from being replaced.
[0090]
In the third, fourth, fifth, and sixth embodiments, information on usage charges for services and digital data is embedded in the essential information for access qualification authentication, and the transmitted usage charge information is stored in a form that cannot be changed by the user. If the proof device 200 is configured so that the user is charged for the usage fee based on the fee information accumulated later, an access qualification authentication system capable of charging a false usage fee is created. Can do.
[0091]
In the essential information of access qualification authentication in the third, fourth, fifth, and sixth embodiments, service and digital data use time limit information is embedded, and the certification device 200 has a built-in clock and a built-in use time limit sent. If it is configured to determine whether or not the certification device 200 can be generated by comparing with the time of a clock, it is possible to create an access qualification authentication system that can limit the service and digital data use time limit.
[0092]
In the third, fourth, fifth, and sixth embodiments, the certifying apparatus 200 embeds service and digital data attribute information in the essential information of access qualification authentication and accumulates the sent attribute information in a form that cannot be changed by the user. If it is configured, it is possible to create an access qualification authentication system capable of accumulating data that can be used for later statistical processing and auditing.
[0093]
[Third embodiment]
FIG. 4 shows a configuration method of the proving device according to the third embodiment, and FIG. 8 shows a configuration method of the verification device. FIG. 10 shows the operation of the proving device of this embodiment, and FIG. 11 shows the operation of the verification device.
[0094]
As shown in FIG. 4, the proving apparatus 200 according to the present embodiment includes a received data storage unit 202, an access ticket storage unit 203, a user specific information storage unit 204, an index generation unit 205, a first calculation unit 206, and a second calculation unit. 207 and the proof data generation unit 208 are configured.
[0095]
Further, as shown in FIG. 8, the verification apparatus 100 of the present embodiment includes a verification unit 101, an access ticket public key storage unit 103, a random number generation unit 104, a random number storage unit 105, a random number effect removal unit 106, and a random number effect addition unit. 107, an authentication raw data storage unit 108, an essential information storage unit 109, a received data storage unit 110, and a verification operation unit 111.
[0096]
In the first embodiment of the present invention, characteristic information D for access qualification authentication, public information E and n corresponding to D, and essential information I for access qualification authentication are defined as follows.
[0097]
n is an RSA modulus, that is, a product of two sufficiently large prime numbers p and q, and satisfies Expression 12.
[0098]
[Expression 15]
n = pq (12)
φ (n) is the Euler number of n and is calculated by Equation 13.
[0099]
[Expression 16]
φ (n) = (p−1) (q−1) (13)
The characteristic information D of the access qualification authentication is an RSA private key under the modulus n, and satisfies Expression 14.
[0100]
[Expression 17]
gcd (D, φ (n)) = 1 (14)
Here, gcd (x, y) represents the greatest common divisor of the two numbers x and y.
I is a prime number satisfying Equation 15.
[0101]
[Expression 18]
gcd (I, φ (n)) = 1 (15)
The public information E is generated so as to satisfy Expression 16.
[0102]
[Equation 19]
EID mod φ (n) = 1 (16)
D is called an access ticket private key, and E is called an access ticket public key. The access ticket t is generated based on the following Expression 17 using the access ticket secret key D, the user specific information e, and the modulus n.
[0103]
[Expression 20]
t = D−F (e, n) (17)
The user specific information e is a different number for each user, and is used to identify the user. The function F is a function in which the function values do not collide with each other. For example, the function F can be determined as in Expression 18 or Expression 19 using the one-way hash function h.
[0104]
[Expression 21]
F (x, y) = h (x | y) (18)
F (x, y, z, u, w) = h (x | y | z | u | w) (19)
Here, x | y represents a bit concatenation of x and y.
[0105]
In the numbers appearing in the above description, t, E, n, and I are open to the public, and the remaining D, e, p, q, φ (n), and function F other than those that have the right to create tickets Need to be secret.
[0106]
Further, hereinafter, the data K to be encrypted is referred to as verification data, and the data R generated by the verification device 200 for verification is referred to as verification data. The data received from the verification device 100 in order for the proof device 200 to generate proof data is referred to as authentication data.
[0107]
The operation of this embodiment will be described below.
1. When the user accesses the digital content that requires authentication by the access qualification authentication device, the verification device 100 is activated. When the verification apparatus 100 is configured as a part of an application program that operates on the user's PC or workstation, the user starts the application program by a normal method using an instruction device such as a keyboard or a mouse. When the execution of the application program reaches the program constituting the verification apparatus 100, the verification apparatus 100 is activated.
[0108]
When the verification apparatus 100 is configured on another PC or workstation (called a server) connected via a network, the user starts a communication program on his PC or workstation, and the communication program The verification apparatus 100 on the server is activated by making a communication establishment request to the server according to the procedure. For example, when a user's communication program communicates with a server according to a procedure called TCP / IP (Transmission Control Protocol / Internet Protocol), a verification device is associated with a specific port of the server in advance, By setting the communication program to specify the port and requesting a TCP connection request to the server, a daemon (inetd) on the server can start the verification device in response to the TCP connection request. . Such an implementation method is widely used in networks such as the Internet.
[0109]
The verification device 100 may be a dedicated device. For example, the verification device 100 can be configured as a program burned in a ROM in an IC card reader / writer, and the certification device 200 can be a program mounted on a microcontroller of the IC card. In this case, the verification device 100 is activated when the user inserts the IC card into the reader / writer.
[0110]
2. The verification device 100 uses the authentication data C, the modulus n stored in the access ticket public key storage unit 103, and the access qualification authentication essential information I stored in the essential information storage unit 109 as the certification device. 200 is written in the received data storage unit 202. The authentication element data storage unit 108 stores C ′ as authentication element data. Here, when the verification data is appropriate data K, the authentication raw data C ′ satisfies Expression 20 with respect to the data K.
[0111]
[Expression 22]
C '= KE  mod n (20)
The authentication data C is generated from the verification device 100 by the random number generation unit 104 to generate a random number r, r, E, n acquired from the access ticket public key storage unit 103, and the authentication raw data storage unit 108. Using C ′, the random number effect imparting unit 107 performs calculation of Expression 21. The generated authentication data C is written into the received data storage unit 202 in the certification device 200. The generated random number r is stored in the random number storage unit 105.
[0112]
[Expression 23]
C = rEC 'mod n (21)
In this way, by adding a random number effect to the authentication data and removing the random number effect when verifying the proof data returned by the proof device 200, blindness can be imparted to the authentication data. That is, the authentication raw data itself or the decryption result thereof can be hidden from the interceptor of the communication between the verification device 100 and the verification device 200 or the verification device itself. It also has the role of making replay attacks impossible by changing the random number used for the random number effect each time. The same applies to the following embodiments. Further, the verification device is configured not to hold the data K in the verification device, but instead to hold only C ′ as a result of the encryption, and the random number effect is removed from the proof data sent from the verification device 200. If the verification device 100 is provided with means for verifying that the data and K match, the risk of data K leaking from the verification device 100 can be avoided.
[0113]
3. The exponent generation unit 205 in the proving apparatus 200 acquires the user specific information e stored in the user specific information storage unit 204 and the modulus n stored in the received data storage unit 202, and Perform the calculation.
[0114]
[Expression 24]
F (e, n) (22)
[0115]
4). The first calculation unit 206 in the proving device 200 acquires the essential information I and the modulus n stored in the received data storage unit 202, and uses this and the data generated by the exponent generation unit 205, The calculation of Expression 23 is executed to obtain R ′.
[0116]
[Expression 25]
R '= CIF (e, n)  mod n (23)
[0117]
5. The second calculation unit 207 in the proving apparatus 200 acquires the access ticket t stored in the access ticket storage unit 203, calculates Expression 24, and obtains R ″.
[0118]
[Equation 26]
R ″ = CIt  mod n (24)
[0119]
6). The proof data generation unit 208 in the proof device 200 obtains R ′ and R ″ from the first and second calculation units 206 and 207, performs calculation of Expression 25, and obtains R.
[0120]
[Expression 27]
R = R′R ″ mod n (25)
[0121]
7). The proving apparatus 200 writes R in the received data storage unit 110 of the verification apparatus 100.
8). The random number effect removing unit 106 in the verification apparatus 100 takes out the previously generated random number r from the random number storage unit 105 and calculates Equation 26.
[0122]
[Expression 28]
K '= r-1R mod n (26)
9. Only when the combination of the access ticket t, the user's unique information e, and the essential information I used in the proving apparatus 200 is correct, the K ′ obtained as a result of the calculation and the verification data K match and verification is performed correctly. .
10. The calculated K ′ is delivered to the verification unit 101 in the verification apparatus 100, but the execution unit 102 executes the normal process only when K ′ = K is satisfied.
[0123]
If the above procedure is performed correctly, it can be seen from equation 27 that K and K 'match.
[0124]
[Expression 29]
Figure 0003870927
Further, when an eavesdropper of communication between the verification device 100 and the certification device 200 replaces the essential information I for access qualification authentication with I ′, K and K ′ do not match, so access to services and digital data is not possible. .
[0125]
However, a problem occurs when the essential information I for access qualification is not a prime number. If I can factor I = a * b, instead of sending C and I to the decoder, Ca  Sending mod n, b does not change the decoder output. Therefore, instead of the essential information I, the essential information b can be sent and accessed normally. In order to prevent this, a combination of E, D, and I may be determined so that I becomes a prime number.
[0126]
Even if I is a prime number, instead of sending C and I to the decoder, CI  You can send mod n, 1 to get the same output. In order to prevent this, the proving apparatus 200 has a means for confirming that the sent essential information is not 1, and only needs to be configured to calculate the C power remainder only when the essential information is not 1.
[0127]
Even if I is not a prime number, a combination of E, D, and I is determined so as to have a redundant value such that a specific value is repeated. Means for confirming the redundancy of the required information may be provided. If the probability that the non-trivial divisor of I has the redundancy that the proving device 200 knows is sufficiently low, this method can also avoid attacks that send that divisor to the decoder instead of the essential information.
[0128]
In this embodiment, if the user specific information storage unit 204, the index generation unit 205, and the first calculation unit 206 are configured inside an IC card or the like that cannot be accessed or modified by the user, leakage of user specific information, The present embodiment can be protected from fraud due to modification of the exponent generation unit 205 and the first calculation unit 206.
[0129]
An arithmetic means for calculating the one-way hash function V (x, y) is added to the proving apparatus 200 of the present embodiment so that an expression 28 is calculated instead of the expression 23 and an expression 29 is calculated instead of the expression 24. May be.
[0130]
[30]
R '= CV (I, n) F (e, n)  mod n (28)
R '= CV (I, n) t  mod n (29)
In this case, the encryption key E, the access qualification essential information I, and the access qualification feature information D are created so as to satisfy the relationship of Expression 30.
[0131]
[31]
EV (I, n) D≡1 mod φ (n) (30)
With this configuration, essential information larger than the modulus can be used.
[0132]
The certifying device 200 of the present embodiment may be configured to calculate access qualification feature information from the access ticket and the output of the index generation unit 205, and use the result to divide the authentication data into a power-matrix. The same effects as in this embodiment can be obtained.
[0133]
Hereinafter, some examples of a method for verifying that K and K ′ are the same in the verification apparatus 100 will be described. These examples are also applicable to the fourth, fifth, and sixth embodiments.
[0134]
[1] Configuration example for directly comparing verification data and decryption result
The verification unit 101 stores verification data K in advance. The comparison unit in the verification unit 101 directly compares the verification data K with the data K ′ obtained by decrypting the authentication data, and executes a normal process only when K ′ = K is satisfied, and does not hold. In such a case, error processing such as canceling the processing is executed. In this configuration example, there is a safety weakness that the verification data K itself to be verified appears in the apparatus. For example, when the verification apparatus 100 is configured as a program that operates on a user's PC or workstation, it is not always impossible even if it is difficult to analyze the program and steal K. When the value of K becomes known to the user, it is possible to configure a device that mimics the operation of the proving device 200, and unauthorized access by impersonation becomes possible.
[0135]
[2] Configuration example using one-way function
In order to improve the above-described drawbacks, the data h (K) obtained by applying the above-described one-way hash function h to K, not the verification data K itself, is the verification data stored in the verification unit 101. And Due to the nature of the one-way hash function, it is extremely difficult to calculate x satisfying y = h (x) from the data y stored in the proof data storage means. The verification unit 101 includes a conversion unit that returns a result of applying a one-way hash function to input data. The comparison unit compares the output h (K ′) obtained by using the data K ′ obtained by decrypting the authentication data as an input of the hash function and the stored data (= h (K)). In this method example, the verification data K does not appear in the program, and it is extremely difficult to calculate K from h (K) stored in the proof data storage means. It is safer than the example. However, the comparison unit is configured as a conditional statement in the program, and if the verification device is a program and the analysis / falsification is easy, the program may be falsified to skip the conditional statement. However, it still has weak points.
[0136]
[3] Configuration example in which the decrypted value is a decryption key for decrypting specific data
Data stored for verification is encrypted data, and data K ′ obtained by decrypting the authentication data is a key for decrypting the encrypted data. The verification unit 101 decrypts the value of the data K ′ using the decryption key of the encryption used for encrypting the data stored for verification, and as a result, the encrypted data can be decrypted. The program can be executed only when Even in this configuration, since the decryption key itself does not appear in the verification apparatus 100, the security level is high.
[0137]
[4] Configuration example for confirming that decoded value satisfies specific redundancy
The verification device 100 has redundancy verification means, and the verification means 101 sends the value of the data K ′ obtained by decoding the authentication data to the redundancy verification means. Only when the redundancy verification means confirms that the data satisfies the specific redundancy, the program can be executed. Examples of redundancy include that the decoded data repeats a specific pattern, that data at a specific position satisfies a specific condition, or that the data is meaningful as a specific language, etc. Can be given.
[0138]
[5] Configuration example for encrypting the program code itself
Data obtained by encrypting a part or all of the program code held by the verification apparatus 100 is held as authentication data in the authentication data storage means. That is, the data K ′ obtained by decrypting the authentication data is part or all of the program code. The execution means embeds the data K ′ at a predetermined position in the program, and then executes the embedded program. The program can be executed only when the proving device returns the correct data, that is, when K ′ is the correct decryption of the code. After generating a file in which the decrypted code is embedded in the original program, the file may be started. However, the decrypted code is embedded in the program on the memory while the program is expanded in the memory. The method of starting later is desirable for safety. In this configuration example, part or all of the code essential for program execution is encrypted, so that the program to be executed is configured as an application program that runs on the user's PC or workstation. Even when the safety is relatively low, unauthorized execution can be prevented.
[0139]
[6] Configuration example in which the decrypted value is the decryption key of the program
The verification apparatus 100 holds data obtained by encrypting a part or all of the program code, and the data K ′ obtained by decrypting the authentication data is a decryption key necessary for decrypting the encrypted program code. It is what has become. According to this configuration, the size of the data K ′ can be suppressed to a certain small value regardless of the size of the code to be encrypted, and the communication overhead can be reduced. The verification unit 101 decrypts the stored encrypted program code using the data K ′. Further, the decrypted code is embedded at a predetermined position in the program, and then the embedded program is executed. The program can be executed only when the proving device returns correct data, that is, when the code is correctly decrypted by K '.
[0140]
[Fourth embodiment]
The fourth embodiment is different from the third embodiment in the calculation of the access ticket t. FIG. 8 shows a configuration method of the verification device of this embodiment, and FIG. 5 shows a configuration method of the verification device. FIG. 13 shows the operation of the verification device of this embodiment, and FIG. 12 shows the operation of the verification device. The characteristics of the access qualification authentication D, the public information E, n, the property to be satisfied by the access credential authentication essential information I and the method for generating the authentication raw data C ′ and the authentication data C according to the first embodiment are described in the first embodiment. It is the same. In FIG. 5, the parts corresponding to those in FIG.
[0141]
The access ticket t of this embodiment is generated based on Expression 28.
[0142]
[Expression 32]
t = D / F (e, n) mod φ (n) (31)
Hereinafter, the operation of this embodiment will be described.
[0143]
1. When the user accesses, the verification apparatus 100 is activated.
[0144]
As a method of realizing the verification apparatus 100, an application program that operates on a user's PC or workstation, a server program on a server connected to the user's PC or workstation via a network, or an IC card reader / writer The fact that any of such dedicated devices is possible is the same as in the third embodiment. The same applies to the following embodiments.
[0145]
2. The verification device 100 uses the authentication data C, the modulus n stored in the access ticket public key storage unit 103, and the access credential authentication essential information I stored in the essential information storage unit 109, as a certification device. 200 is written in the received data storage unit 202.
[0146]
3. The exponent generation unit 205 in the proving apparatus 200 acquires the user unique information e stored in the user unique information storage unit 204 and the modulus n stored in the access ticket public key storage unit 203, and formula 32 calculations are performed.
[0147]
[Expression 33]
F (e, n) (32)
[0148]
4). The proof calculation unit 209 in the proof device 200 acquires the essential information I and the modulus n stored in the received data storage unit 202, and uses this and the data generated by the exponent generation unit 205, The calculation of Expression 33 is executed to obtain R ′.
[0149]
[Expression 34]
R '= CIF (e, n)  mod n (33)
[0150]
5. The proof data generation unit 208 in the proof device 200 acquires the access ticket t stored in the access ticket storage unit 203 and the modulus n stored in the reception data storage unit 202, and the proof calculation unit 209 receives the R 'And calculate Equation 34 to get R.
[0151]
[Expression 35]
R = R ’t  mod n (34)
[0152]
6). The proving apparatus 200 writes R in the received data storage unit 110 of the verification apparatus 100.
7). The random number effect removing unit 106 in the verification device 100 takes out the previously generated random number r from the random number storage unit 105 and calculates Expression 35.
[0153]
[Expression 36]
K '= r-1R mod n (35)
[0154]
8). Only when the combination of the access ticket t, the user's unique information e, and the essential information I used in the proving apparatus 200 is correct, the K ′ obtained as a result of the calculation and the verification data K match and verification is performed correctly. . If the above procedure is performed correctly, it can be seen from equation 36 that K and K 'match.
[0155]
[Expression 37]
Figure 0003870927
In addition, when an eavesdropper of communication between the verification device 100 and the authentication device 200 replaces the essential information I for access qualification authentication with I ′, K and K ′ do not match, so access to services and digital data is not possible. .
[0156]
However, a problem occurs when the essential information I for access qualification is not a prime number. If I can factor I = a * b, instead of sending C and I to the decoder, Ca  Sending mod n, b does not change the decoder output. Therefore, instead of the essential information I, the essential information b can be sent and accessed normally. In order to prevent this, a combination of E, D, and I may be determined so that I becomes a prime number.
[0157]
Even if I is a prime number, instead of sending C and I to the decoder, CI  You can send mod n, 1 to get the same output. In order to prevent this, the proving apparatus 200 has a means for confirming that the sent essential information is not 1, and only needs to be configured to calculate the C power remainder only when the essential information is not 1.
[0158]
Even if I is not a prime number, a combination of E, D, and I is determined so as to have a redundant value such that a specific value is repeated. Means for confirming the redundancy of the required information may be provided. If the non-trivial divisor of I is sufficiently unlikely to have the redundancy that the proving device 200 knows, this method can also avoid attacks that send that divisor to the decoder instead of the essential information.
[0159]
As a method for comparing K ′ and verification data K, the same method as in the third embodiment can be used.
[0160]
In this embodiment, if the user specific information storage unit 204, the index generation unit 205, and the proof calculation unit 209 are configured inside an IC card or the like that cannot be accessed or modified by the user, the leakage of the user specific information 204, The present embodiment can be protected from fraud due to modification of the exponent generation unit 205 and the proof calculation unit 209.
[0161]
An arithmetic means for calculating the one-way hash function V (x, y) may be added to the proving apparatus 200 of the present embodiment, and the expression 37 may be calculated instead of the expression 33.
[0162]
[Formula 38]
R '= CV (I, n) F (e, n)  mod n (37)
In this case, the encryption key E, the access qualification essential information I, and the access qualification characteristic information D are created so as to satisfy the relationship of Equation 38.
[0163]
[39]
EV (I, n) D≡1 mod φ (n) (38)
When configured in this way, V (x, y) can be kept secret from the user, and safety is improved. Moreover, large essential information can be used depending on the modulus.
[0164]
The certifying device 200 of the present embodiment may be configured to calculate access qualification feature information from the access ticket and the output of the index generation unit 205, and use the result to divide the authentication data into a power-matrix. The same effects as in this embodiment can be obtained.
[0165]
[Fifth embodiment]
In the third and fourth embodiments, the validity of the essential information of the access qualification was not known to the proving apparatus 200, whereas in the fifth embodiment, the validity of the essential information of the access qualification was proved. If the data is not valid, the proof data is not generated. FIG. 9 shows a configuration method of the verification apparatus 100 of this embodiment, and FIG. 6 shows a configuration method of the verification apparatus 200. FIG. 15 shows the operation of the verification apparatus 100 of this embodiment, and FIG. 14 shows the operation of the certification apparatus 200.
[0166]
The characteristic information D of the access qualification authentication, the RSA modulus n, and the properties to be satisfied by the Euler number φ (n) of n and the generation method of the authentication raw data C ′ and the authentication data C in this embodiment are as follows: Similar to Example 3. The public information E in the present embodiment is generated so as to satisfy Expression 35.
[0167]
[Formula 40]
ED mod φ (n) = 1 (39)
As in the first embodiment, the access ticket t is generated based on the following expression 40 using the access ticket secret key D, the user specific information e, the modulus n, and the function F.
[0168]
[Expression 41]
t = D−F (e, n) (40)
[0169]
Hereinafter, the operation of this embodiment will be described.
1. When the user accesses, the verification apparatus 100 is activated.
[0170]
2. The inspection information generation unit 112 in the verification apparatus 100 acquires the authentication data C and the essential information I for access qualification authentication stored in the essential information storage unit 109, executes the calculation of Expression 41, and performs the inspection information. M is generated.
[0171]
[Expression 42]
M = V (C, I) (41)
The function V is a function having the same properties as the function F, and needs to be secret except for the verification device 100 and the verification device 200.
[0172]
3. The verification apparatus 100 receives the certification data C, the modulus n stored in the access ticket public key storage unit 103, the access qualification authentication essential information I and the inspection information M stored in the essential information storage unit 109. The data is written in the received data storage unit 202 in the certification device 200.
[0173]
4). The essential information verification unit 210 in the certification device 200 acquires the authentication data C, the essential information I, and the inspection information M written in the received data storage unit 202, and verifies whether the formula 42 is satisfied.
[0174]
[Expression 43]
M = V (C, I) (42)
If Expression 42 is satisfied, the following calculation is continued.
[0175]
5. The exponent generation unit 205 in the proving device 200 acquires the user specific information e stored in the user specific information storage unit 204 and the modulus n stored in the received data storage unit 202, and Perform the calculation.
[0176]
(44)
F (e, n) (43)
[0177]
6). The first calculation unit 206 in the proving apparatus 200 calculates the formula 44 using the authentication data C and the modulus n written in the received data storage unit 202 and the data generated by the exponent generation unit 205. Run to get R '.
[0178]
[Equation 45]
R '= CF (e, n)  mod n (44)
[0179]
7). The second calculation unit 207 in the certification device 200 acquires the access ticket t stored in the access ticket storage unit 207, the authentication data C stored in the reception data storage unit 202, and the modulus n, and the expression 45 To obtain R ″.
[0180]
[Equation 46]
R ″ = Ct  mod n (45)
[0181]
8). The proof data generation unit 208 in the proof device 200 obtains R ′ and R ″ from the first and second calculation units 206 and 207, performs calculation of Expression 46, and obtains R.
[0182]
[Equation 47]
R = R′R ″ mod n (46)
[0183]
9. The proving apparatus 200 writes R in the received data storage unit 110 of the verification apparatus 100.
10. The random number effect removal unit 106 in the verification device 100 takes out the previously generated random number r from the random number storage unit 105 and calculates Expression 47.
[0184]
[Formula 48]
K '= r-1R mod n (47)
[0185]
11. Only when the combination of the access ticket t, the user's unique information e, and the essential information I used in the proving apparatus 200 is correct, the K ′ obtained as a result of the calculation and the verification data K match and verification is performed correctly. .
[0186]
If the above procedure is performed correctly, it can be seen from equation 48 that K and K 'match.
[0187]
[Equation 49]
Figure 0003870927
When an eavesdropper of communication between the verification device 100 and the authentication device 200 replaces the essential information I for access qualification authentication with I ′, the verification device 200 stops generating proof data without passing the check in 4. Then, the verification apparatus 100 is notified of the cancellation. The notification means may be, for example, a method of writing a cancellation code in the received data storage unit 110, or a predetermined time required to generate proof data, and writing to the received data storage unit 110 even if the required time is exceeded. There is a method of canceling if this is not done.
[0188]
As a method for comparing K ′ and verification data K, the same method as in the third embodiment can be used.
[0189]
In this embodiment, if the user specific information storage unit 204, the essential information verification unit 210, the index generation unit 205, and the first calculation unit 206 are configured inside an IC card or the like that cannot be accessed or modified by the user, It is possible to protect the present embodiment from leakage of specific information and fraud due to modification of the essential information verification unit 210, the index generation unit 205, and the first calculation unit 206.
[0190]
[Sixth embodiment]
FIG. 8 shows a configuration method of the verification apparatus 100 according to the sixth embodiment, and FIG. 7 shows a configuration method of the verification apparatus 200. FIG. 17 shows the operation of the verification apparatus 100 of this embodiment, and FIG. 16 shows the operation of the verification apparatus 200. In the fourth embodiment of the present invention, the properties that the public information n and the Euler number φ (n) of n should satisfy are the same as those in the first embodiment. The essential information I for access qualification authentication is an integer that satisfies Equation 49.
[0191]
[Equation 50]
gcd (I, φ (n)) = 1 (49)
The access ticket t is generated based on the following formula 50 using the Euler number φ (n), the user specific information e, the modulus n, and the function F.
[0192]
[Equation 51]
t = φ (n) −F (e, n) (50)
[0193]
Hereinafter, the operation of this embodiment will be described.
1. When the user accesses, the verification apparatus 100 is activated.
[0194]
2. The verification device 100 uses the authentication data C, the modulus n stored in the access ticket public key storage unit 103, and the access credential authentication essential information I stored in the essential information storage unit 109, as a certification device. 200 is written in the received data storage unit 202. The authentication element data storage unit 108 stores C ′ as authentication element data. Here, when the verification data is appropriate data K, the authentication raw data C ′ satisfies the formula 51 for the data K.
[0195]
[Formula 52]
C '= KI  mod n (51)
The authentication data C is generated by the verification device 100 using the random number generation unit 104 to generate a random number r, r, n acquired from the access ticket public key storage unit 103, I acquired from the essential information storage unit 109, authentication Using C ′ acquired from the element data storage unit 108, the random number effect imparting unit 107 calculates the equation 52 to generate the element data. The generated authentication data C is written into the received data storage unit 202 in the certification device 200. The generated random number r is stored in the random number storage unit 105.
[0196]
[Equation 53]
C = rIC 'mod n (52)
[0197]
3. The exponent generation unit 205 in the proving device 200 acquires the user specific information e stored in the user specific information storage unit 204 and the modulus n stored in the received data storage unit 202, and Perform the calculation.
[0198]
[Formula 54]
F (e, n) (53)
[0199]
4). The certification calculation unit 209 in the certification device 200 acquires the essential information I stored in the reception data storage unit 202 and the access ticket t stored in the access ticket storage unit 203, and the exponent generation unit Using the data generated in 205, the calculation of Expression 54 is performed, and D satisfying Expression 55 is calculated.
[0200]
[Expression 55]
ψ = t + F (e, n) (54)
DI≡1 mod ψ (55)
[0201]
5. The proof data generation unit 208 in the proof device 200 obtains D from the proof computation unit 209, obtains C and n from the received data storage unit 202, calculates Equation 56, and obtains R.
[0202]
[Expression 56]
R = CD  mod n (56)
[0203]
6). The random number effect removing unit 106 in the verification apparatus 100 takes out the previously generated random number r from the random number storage unit 105 and calculates Expression 57.
[0204]
[Equation 57]
K '= r-1R mod n (57)
[0205]
7). Only when the combination of the access ticket t, the user's unique information e, and the essential information I used in the proving apparatus 200 is correct, the K ′ obtained as a result of the calculation and the verification data K match and verification is performed correctly. .
[0206]
If the above procedure is performed correctly, it can be seen from Equation 58 that K and K 'match.
[0207]
[Formula 58]
Figure 0003870927
Further, when an eavesdropper of communication between the verification device 100 and the authentication device 200 replaces the essential information I for access qualification authentication with I ′,
[0208]
[Formula 59]
Figure 0003870927
Since K and K 'do not match, service and digital data cannot be accessed. As a method for comparing K ′ and verification data K, the same method as in the third embodiment can be used.
[0209]
In this embodiment, if the user specific information storage unit 204, the index generation unit 205, the proof calculation unit 209, and the proof data generation unit 208 are configured inside an IC card or the like that cannot be accessed or modified by the user, The present embodiment can be protected from leakage of specific information and fraud due to modification of the exponent generation unit 205 and the proof calculation unit 209.
[0210]
An arithmetic means for calculating the one-way hash function V (x, y) may be added to the proving apparatus 200 of the present embodiment, and the formula 59 may be calculated instead of the formula 55.
[0211]
[Expression 60]
DV (I, n) ≡1 mod (59)
In this case, when the verification data is appropriate data K, the authentication raw data C ′ is created so as to satisfy Expression 54 with respect to the data K.
[0212]
[Equation 61]
C '= KV (I, n)  mod n (60)
In such a configuration, essential information larger than the modulus can be used.
[0213]
【The invention's effect】
As described above, the present invention is configured so that the first decryption information and the second decryption information are required for decryption of the encrypted data, and the second decryption information is stored in the decoder. On the other hand, it is assumed that it is input from the outside (the first decryption information may be input from the outside or generated internally), and the encrypted data and the second decryption information are correctly input. Otherwise, a correct decoding result is not obtained. Therefore, if the system is configured to input information that should not be replaced, such as data decoding charges, to the decoder as the second decoding information, a penalty of failure of decoding against an illegal act of replacement of information. Can be imposed.
[0214]
In addition, by applying the above decryption method to access qualification authentication, information that should not be replaced, such as access fees, is input as the above-mentioned second decryption information, so that the illegal act of replacing such information can be prevented. And penalize access denial.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a decoding apparatus according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a decoding apparatus according to a second embodiment of the present invention.
FIG. 3 is a block diagram showing, as a whole, an access qualification authentication apparatus according to third to sixth embodiments of the present invention.
FIG. 4 is a block diagram showing a configuration of a certification device of an access qualification authentication device according to a third embodiment of this invention.
FIG. 5 is a block diagram showing a configuration of a certification device of an access qualification authentication device according to a fourth embodiment of this invention.
FIG. 6 is a block diagram showing a configuration of a certification device of an access qualification authentication device according to a fifth embodiment of the present invention.
FIG. 7 is a block diagram showing a configuration of a certification device for an access qualification authentication device according to a sixth embodiment of the present invention.
FIG. 8 is a block diagram illustrating a configuration of a verification device of an access qualification authentication device according to third, fourth, and sixth embodiments of the present invention.
FIG. 9 is a block diagram illustrating a configuration of a verification device of an access qualification authentication device according to a fifth exemplary embodiment of the present invention.
FIG. 10 is a diagram for explaining the operation of a certification device for an access qualification authentication device according to a third embodiment of this invention.
FIG. 11 is a diagram for explaining the operation of the verification device of the access qualification authentication device according to the third embodiment of this invention.
FIG. 12 is a diagram for explaining the operation of the proving device of the access qualification authentication device according to the fourth embodiment of this invention.
FIG. 13 is a diagram for explaining the operation of the verification device of the access qualification authentication device according to the fourth embodiment of this invention.
FIG. 14 is a diagram for explaining the operation of a certification device for an access qualification authentication device according to a fifth embodiment of the present invention.
FIG. 15 is a diagram for explaining the operation of the verification apparatus of the access qualification authentication apparatus according to the fifth embodiment of the present invention.
FIG. 16 is a diagram for explaining the operation of a certification device for an access qualification authentication device according to a sixth embodiment of the present invention.
FIG. 17 is a diagram for explaining the operation of the verification apparatus of the access qualification authentication apparatus according to the sixth embodiment of the present invention.
[Explanation of symbols]
11 Input section
12 Output section
13 modulus storage
14 1st decoding information storage part
15 Decryption unit
16 Euler number storage
17 Reciprocal number generator
100 Verification device
101 Verification means
102 Execution means
103 Access ticket public key storage unit
104 Random number generator
105 Random number storage
106 Random number effect removal unit
107 Random number effect adding unit
108 Elementary data storage unit for authentication
109 Essential information storage
110 Received data storage unit
111 Operation unit for verification
112 Inspection information generator
200 Proof device
201 Proof data generation means
202 Received data storage unit
203 Access ticket storage
204 User-specific information storage unit
205 Index generator
206 1st operation part
207 Second calculation unit
208 proof data generator
209 Proof calculation part
300 Access ticket generator

Claims (12)

ユーザのアクセス資格を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置において、
認証用のデータを記憶する第1の記憶手段と、
ユーザの固有情報を記憶する第2の記憶手段と、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、第1の演算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、
アクセス資格認証の必須情報を記憶する第4の記憶手段と、
上記第1の記憶手段に保持されている認証用データと、上記第2の記憶手段に記憶されているユーザの固有情報と、上記第3の記憶手段に記憶されている証明用補助情報と、上記第4の記憶手段に記憶されているアクセス資格認証の必須情報とに第2の演算を施して証明データを生成する証明データ生成手段と、
上記証明データが、上記アクセス資格認証の特徴情報と、上記アクセス資格認証の必須情報とに基づいて生成されていることを検証する証明データ検証手段とを有し、
上記アクセス資格認証の特徴情報が、第1の復号鍵であり、アクセス資格認証の必須情報または当該必須情報に一方向性ハッシュ演算を施したものが、第2の復号鍵であり、上記認証用データが、適当なデータを、上記2つの復号鍵に対応する暗号化鍵を用いて暗号化したものであり、上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データが、認証用データを正しく復号して生成された上記適当なデータあることを検証し、
上記暗号鍵、上記第1の復号鍵および上記第2の復号鍵で用いる暗復号関数が、整数nを法とした巾乗剰余演算であり、かつ、上記第1の復号鍵と、上記第2の復号鍵と、上記暗号鍵との積が、nのオイラー数を法として1と合同であり、
上記第1の演算と上記第2の演算とを、正当なユーザの固有情報、正当なアクセス資格認証の特徴情報、正当なアクセス資格認証の必須情報、および正当な証明用補助情報のいずれかが与えられないときには、正当な証明データが生成されないように、選定したことを特徴とするアクセス資格認証装置。
In the access credential authentication device that authenticates the access qualification of the user by verifying the validity of the certification data generated to prove the access credential of the user,
First storage means for storing authentication data;
Second storage means for storing the user's unique information;
Third storage means for storing auxiliary information for proof that is an execution result of executing the first operation on the unique information of the user and the characteristic information of access qualification authentication;
A fourth storage means for storing essential information for access qualification authentication;
Authentication data held in the first storage means, user-specific information stored in the second storage means, auxiliary information for proof stored in the third storage means, Proof data generating means for generating proof data by performing a second operation on the essential information of access qualification authentication stored in the fourth storage means;
Proof data verification means for verifying that the proof data is generated based on the characteristic information of the access credential authentication and the essential information of the access credential authentication;
The characteristic information of the access qualification authentication is the first decryption key, and the essential information for the access qualification authentication or the one obtained by performing a one-way hash operation on the essential information is the second decryption key, The data is obtained by encrypting appropriate data using an encryption key corresponding to the two decryption keys, and the proof data verifying unit is configured to authenticate the proof data generated by the proof data generating unit. Verify that it is the appropriate data generated by correctly decrypting the data for
The encryption / decryption function used in the encryption key, the first decryption key, and the second decryption key is a power-residue operation modulo an integer n, and the first decryption key and the second decryption function The product of the decryption key and the encryption key is congruent to 1 modulo the Euler number of n,
The first operation and the second arithmetic above, specific information legitimate user, characteristic information of authorized access right authentication, required information for authorized access right authentication, and Re Izu legitimate proof support information or not when no given, so as not to generate legitimate proof data, access rights authentication apparatus characterized by selecting the.
上記第3の記憶手段に記憶される証明用補助情報tが、上記第1の復号鍵から、上記第2の記憶手段に記憶されるユーザの固有情報に所定の一方向性ハッシュ演算を施した値を減じた値であり、上記証明データ生成手段は、上記証明用補助情報と、上記ユーザの固有情報と、上記アクセス資格認証の必須情報と、上記認証用データとから、上記認証用データを、法nのもとで、上記第1の復号鍵と上記第2の復号鍵の積で巾乗したものを計算することによって、上記証明データを生成する請求項1記載のアクセス資格認証装置。  The auxiliary proof information t stored in the third storage means is subjected to a predetermined one-way hash operation on the user's unique information stored in the second storage means from the first decryption key. The proof data generation means obtains the authentication data from the proof auxiliary information, the user specific information, the access qualification essential information, and the authentication data. 2. The access qualification authentication apparatus according to claim 1, wherein the proof data is generated by calculating a power raised by a product of the first decryption key and the second decryption key under the modulus n. 上記証明用データ生成手段が、
上記nを法として、上記認証用データを、上記ユーザの固有情報に上記所定の一方向性ハッシュ演算を施したものと上記第2の復号鍵との積で巾乗剰余する第1の演算手段と、
上記nを法として、上記認証用データを、上記証明用補助情報と上記第2の復号鍵との積で巾乗剰余する第2の演算手段と、
上記nを法として、第1の演算手段の結果と第2の演算手段の結果との積をとる第3の演算手段を有し、
上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データが、認証用データを正しく復号したものであることを検証する請求項2記載のアクセス資格認証装置。
The proof data generation means is
A first computing means that uses the product of the second decryption key as a product of the authentication data, and the authentication data obtained by multiplying the authentication data by the predetermined one-way hash computation and the second decryption key. When,
Modulo the second, and a second arithmetic unit that modulo the authentication data by a product of the auxiliary information for proof and the second decryption key,
A third computing means that takes the product of the result of the first computing means and the result of the second computing means using the n as a modulus;
3. The access qualification authentication apparatus according to claim 2, wherein the proof data verification means verifies that the proof data generated by the proof data generation means is obtained by correctly decrypting authentication data.
上記第3の記憶手段に記憶される証明用補助情報tが、上記nのオイラー数を法として、上記第1の復号鍵を、上記第2の記憶手段に記憶されるユーザの固有情報に所定の一方向性ハッシュ演算を施した値で除算した値であり、上記証明データ生成手段は、上記証明用補助情報と、上記ユーザの固有情報と、上記必須情報と、上記認証用データとから、上記認証用データを、法nのもとで、上記第1の復号鍵と上記第2の復号鍵の積で巾乗したものを計算することによって、上記証明データを生成する請求項1記載のアクセス資格認証装置。  The proof auxiliary information t stored in the third storage means uses the n number of Eulers as a modulus, and the first decryption key is set as the user's unique information stored in the second storage means. The proof data generation means, from the auxiliary information for proof, the unique information of the user, the essential information, and the authentication data, The proof data is generated by calculating the authentication data obtained by multiplying the authentication data by a product of the first decryption key and the second decryption key under the modulus n. Access credential authentication device. 上記証明用データ生成手段が、
上記nを法として、上記認証用データを、上記ユーザの固有情報に上記所定の一方向性ハッシュ演算を施したものと上記第2の復号鍵との積で巾乗剰余する第1の演算手段と、
上記nを法として、上記第1の演算手段の演算結果を、上記証明用補助情報で巾乗剰余する第2の演算手段とを有し、
上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データが、認証用データを正しく復号したものであることを検証する請求項4記載のアクセス資格認証装置。
The proof data generation means is
A first computing means that uses the product of the second decryption key as a product of the authentication data, and the authentication data obtained by multiplying the authentication data by the predetermined one-way hash computation and the second decryption key. When,
Modulo the n, and having a second arithmetic unit that modulo the result of the first arithmetic unit with the auxiliary information for proof,
5. The access qualification authentication apparatus according to claim 4, wherein the proof data verification means verifies that the proof data generated by the proof data generation means is obtained by correctly decrypting authentication data.
ユーザのアクセス資格を証明するために生成された証明データの正当性を検証することにより上記ユーザのアクセス資格を認証するアクセス資格認証装置において、
認証用のデータを記憶する第1の記憶手段と、
ユーザの固有情報を記憶する第2の記憶手段と、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、第1の演算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、
アクセス資格認証の必須情報を記憶する第4の記憶手段と、
上記第1の記憶手段に保持されている認証用データと、上記第2の記憶手段に記憶されているユーザの固有情報と、上記第3の記憶手段に記憶されている証明用補助情報と、上記第4の記憶手段に記憶されているアクセス資格認証の必須情報とに第2の演算を施して証明データを生成する証明データ生成手段と、
上記証明データが、上記アクセス資格認証の特徴情報と、上記アクセス資格認証の必須情報とに基づいて生成されていることを検証する証明データ検証手段とを有し、
暗復号関数が、整数nを法とする巾乗剰余演算であり、
上記アクセス資格認証の特徴情報が、上記整数nのオイラー数であり、
上記アクセス資格認証の必須情報または当該必須情報に所定の一方向性ハッシュ関数を施したものが、暗号鍵であり、
上記認証用データが、適当なデータを、上記暗号鍵を用いて暗号化したものであり、
上記証明データ検証手段は、上記証明用補助情報と、上記ユーザの固有情報と、上記必須情報とから、上記暗号鍵に対応する復号鍵を計算し、上記認証用データを、法nのもとで、上記復号鍵によって巾乗したものを計算することによって、上記証明データを生成し、当該証明データが、認証用データを正しく復号したものであることを検証し、
上記第1の演算と上記第2の演算とを、正当なユーザの固有情報、正当なアクセス資格認証の特徴情報、正当なアクセス資格認証の必須情報、および正当な証明用補助情報のいずれかが与えられないときには、正当な証明データが生成されないように、選定したことを特徴とするアクセス資格認証装置。
In the access credential authentication device that authenticates the access qualification of the user by verifying the validity of the certification data generated to prove the access credential of the user,
First storage means for storing authentication data;
Second storage means for storing the user's unique information;
Third storage means for storing auxiliary information for proof that is an execution result of executing the first operation on the unique information of the user and the characteristic information of access qualification authentication;
A fourth storage means for storing essential information for access qualification authentication;
Authentication data held in the first storage means, user-specific information stored in the second storage means, auxiliary information for proof stored in the third storage means, Proof data generating means for generating proof data by performing a second operation on the essential information of access qualification authentication stored in the fourth storage means;
Proof data verification means for verifying that the proof data is generated based on the characteristic information of the access credential authentication and the essential information of the access credential authentication;
The encryption / decryption function is a power-residue operation modulo the integer n,
The feature information of the access qualification authentication is the Euler number of the integer n,
The required information for the access qualification authentication or the required information subjected to a predetermined one-way hash function is an encryption key,
The authentication data is obtained by encrypting appropriate data using the encryption key,
The proof data verification means calculates a decryption key corresponding to the encryption key from the auxiliary information for proof, the unique information of the user, and the essential information, and obtains the authentication data under the law n And generating the proof data by calculating a power raised by the decryption key, and verifying that the proof data is obtained by correctly decrypting the authentication data,
The first operation and the second arithmetic above, specific information legitimate user, characteristic information of authorized access right authentication, required information for authorized access right authentication, and Re Izu legitimate proof support information or not when no given, so as not to generate legitimate proof data, access rights authentication apparatus characterized by selecting the.
上記第3の記憶手段に記憶される証明用補助情報tが、上記オイラー数と、上記第2の記憶手段に記憶されるユーザの固有情報とに上記所定の一方向性ハッシュ演算を施した値を減じたものである請求項6記載のアクセス資格認証装置。  The proof auxiliary information t stored in the third storage means is a value obtained by performing the predetermined one-way hash operation on the Euler number and the user specific information stored in the second storage means. 7. The access qualification authentication apparatus according to claim 6, wherein the access qualification authentication apparatus is reduced. ユーザのアクセス資格を証明するために生成された証明データの正当性を検証することにより上記のユーザのアクセス資格を認証するアクセス資格認証装置において、
認証用のデータを記憶する第1の記憶手段と、
ユーザの固有情報を記憶する第2の記憶手段と、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、第1の演算を実行した実行結果である証明用補助情報を記憶する第3の記憶手段と、
アクセス資格認証の必須情報を記憶する第4の記憶手段と、
アクセス資格認証の検査情報を記憶する第5の記憶手段と、
上記第1の記憶手段に保持されている認証用データと、上記第4の記憶手段に記憶されているアクセス資格認証の必須情報とに所定の検査演算を施した結果が、上記第5の記憶手段に記憶されているアクセス資格認証の検査情報と所定の関係にあることを検査する検査手段と、
上記検査手段による検査の結果が良好であったとき、上記第1の記憶手段に保持されている認証用データと、上記第2の記憶手段に記憶されているユーザの固有情報と、上記第3の記憶手段に記憶されている証明用補助情報とに第2の演算を施して証明データを生成する証明データ生成手段と、
上記証明データが、上記アクセス資格認証の特徴情報と、上記アクセス資格認証の必須情報とに基づいて生成されていることを検証する証明データ検証手段とを有し、
上記アクセス資格認証の特徴情報が、復号鍵であり、上記認証用データが、適当なデータを、上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データが、認証用データを正しく復号して生成された上記適当なデータあることを検証し、
上記暗号鍵および上記復号鍵で用いる暗復号関数が、整数nを法とした巾乗剰余演算であり、かつ、上記復号鍵と上記暗号鍵との積が、nのオイラー数を法として1と合同であり、
上記第1の演算と上記第2の演算とを、正当なユーザの固有情報、正当なアクセス資格認証の特徴情報、および正当な証明用補助情報のいずれかが与えられないときには、正当な証明データが生成されないように、選定したことを特徴とするアクセス資格認証装置。
In the access credential authentication apparatus for authenticating the access qualification of the user by verifying the validity of the proof data generated to prove the access qualification of the user,
First storage means for storing authentication data;
Second storage means for storing the user's unique information;
Third storage means for storing auxiliary information for proof that is an execution result of executing the first operation on the unique information of the user and the characteristic information of access qualification authentication;
A fourth storage means for storing essential information for access qualification authentication;
Fifth storage means for storing inspection information for access qualification authentication;
A result of performing a predetermined check operation on the authentication data held in the first storage means and the essential information of the access qualification authentication stored in the fourth storage means is the fifth storage. An inspection means for inspecting that there is a predetermined relationship with the access qualification inspection information stored in the means;
When the result of the inspection by the inspection means is good, the authentication data held in the first storage means, the user specific information stored in the second storage means, and the third Proof data generation means for generating proof data by performing a second operation on the proof auxiliary information stored in the storage means;
Proof data verification means for verifying that the proof data is generated based on the characteristic information of the access credential authentication and the essential information of the access credential authentication;
The characteristic information of the access qualification authentication is a decryption key, the authentication data is obtained by encrypting appropriate data using an encryption key corresponding to the decryption key, and the proof data verification means includes the proof data generated by said proof data generation means, to verify that it is the appropriate data generated by decoding the authentication data correctly,
The encryption / decryption function used for the encryption key and the decryption key is a power-residue operation modulo the integer n, and the product of the decryption key and the encryption key is 1 modulo the Euler number of n. Congruent,
The first operation and the second arithmetic, when specific information of the valid user, characteristic information of authorized access right authentication, and the Izu Re or legitimate proof support information is not given, legitimate An access qualification authentication device selected so that proof data is not generated.
証明データ検証手段が、乱数生成手段を備え、
上記乱数生成手段は、生成した乱数を第6の記憶手段に記憶し、
上記認証データは、所定のデータに上記乱数を掛けた値を上記適当なデータとして上記暗号鍵で暗号化されたデータであり、上記証明データを上記乱数で割り、その結果が上記所定のデータであることを検証する請求項1〜8のいずれかに記載のアクセス資格認証装置。
Proof data verification means comprises random number generation means,
The random number generation means stores the generated random number in a sixth storage means,
The authentication data is data obtained by multiplying the predetermined data by the random number as the appropriate data and encrypted with the encryption key. The certification data is divided by the random number, and the result is the predetermined data. The access qualification authentication apparatus according to claim 1, wherein the access qualification authentication apparatus verifies the existence.
ユーザのアクセス資格を証明するために生成された証明データの正当性を検証することにより上記のユーザのアクセス資格を認証するアクセス資格認証方法において、
認証用のデータを記憶するステップと、
ユーザの固有情報を記憶するステップと、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、第1の演算を実行した実行結果である証明用補助情報を記憶するステップと、
アクセス資格認証の必須情報を記憶するステップと、
上記認証用データと、上記ユーザの固有情報と、上記証明用補助情報と、上記アクセス資格認証の必須情報とに第2の演算を施して証明データを生成するステップと、
上記証明データが、上記アクセス資格認証の特徴情報と、上記アクセス資格認証の必須情報とに基づいて生成されていることを検証するステップとを有し、
上記アクセス資格認証の特徴情報が、第1の復号鍵であり、アクセス資格認証の必須情報または当該必須情報に一方向性ハッシュ演算を施したものが、第2の復号鍵であり、上記認証用データが、適当なデータを、上記2つの復号鍵に対応する暗号化鍵を用いて暗号化したものであり、上記検証するステップは、上記証明データを生成するステップが生成する上記証明データが、認証用データを正しく復号して生成された上記適当なデータあることを検証し、
上記暗号鍵、上記第1の復号鍵および上記第2の復号鍵出用いる暗復号関数が、整数nを法とした巾乗剰余演算であり、かつ、上記第1の復号鍵と、上記第2の復号鍵と、上記暗号鍵との積が、nのオイラー数を法として1と合同であり、
上記第1の演算と上記第2の演算とを、正当なユーザの固有情報、正当なアクセス資格認証の特徴情報、正当なアクセス資格認証の必須情報、および正当な証明用補助情報のいずれかが与えられないときには、正当な証明データが生成されないように、選定したことを特徴とするアクセス資格認証方法。
In the access credential authentication method for authenticating the above-mentioned user access qualification by verifying the validity of the proof data generated to prove the user's access credential,
Storing authentication data; and
Storing the user's unique information;
Storing proof auxiliary information, which is an execution result of executing the first operation, on the user-specific information and the feature information of access qualification,
Storing the required information for access credential authentication;
Performing a second operation on the authentication data, the user specific information, the proof auxiliary information, and the access credential essential information to generate proof data;
Verifying that the proof data is generated based on the characteristic information of the access credential authentication and the essential information of the access credential authentication,
The characteristic information of the access qualification authentication is the first decryption key, and the essential information for access qualification authentication or the one obtained by performing a one-way hash operation on the essential information is the second decryption key, The data is obtained by encrypting appropriate data using an encryption key corresponding to the two decryption keys, and the verifying step includes the proof data generated by the step of generating the proof data, Verify that it is the appropriate data generated by correctly decrypting the authentication data,
The encryption / decryption function used to generate the encryption key, the first decryption key, and the second decryption key is a power-residue operation modulo an integer n, the first decryption key, and the second decryption function The product of the decryption key and the encryption key is congruent to 1 modulo the Euler number of n,
The first operation and the second arithmetic above, specific information legitimate user, characteristic information of authorized access right authentication, required information for authorized access right authentication, and Re Izu legitimate proof support information when either is not given, so as not to generate legitimate proof data, access rights authentication method characterized by selecting the.
ユーザのアクセス資格を証明するために生成された証明データの正当性を検証することにより上記のユーザのアクセス資格を認証するアクセス資格認証方法において、
認証用のデータを記憶するステップと、
ユーザの固有情報を記憶するステップと、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、第1の演算を実行した実行結果である証明用補助情報を記憶するステップと、
アクセス資格認証の必須情報を記憶するステップと、
アクセス資格認証の検査情報を記憶するステップと、
上記認証用データと、上記アクセス資格認証の必須情報とに所定の検査演算を施した結果が、上記アクセス資格認証の検査情報と所定の関係にあることを検査するステップと、
上記検査の結果が良好であったとき、上記認証用データと、上記ユーザの固有情報と、上記証明用補助情報とに第2の演算を施して証明データを生成するステップと、
上記証明データが、上記アクセス資格認証の特徴情報と、上記アクセス資格認証の必須情報とに基づいて生成されていることを検証するステップとを有し、
上記アクセス資格認証の特徴情報が、復号鍵であり、上記認証用データが、適当なデータを、上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、上記検証するステップは、上記証明データを生成するステップが生成する上記証明データが、認証用データを正しく復号して生成された上記適当なデータあることを検証し、
上記暗号鍵および上記復号鍵で用いる暗復号関数が、整数nを法とした巾乗剰余演算であり、かつ、上記復号鍵と上記暗号鍵との積が、nのオイラー数を法として1と合同であり、
上記第1の演算と上記第2の演算とを、正当なユーザの固有情報、正当なアクセス資格認証の特徴情報、および正当な証明用補助情報のいずれかが与えられないときには、正当な証明データが生成されないように、選定したことを特徴とするアクセス資格認証方法。
In the access credential authentication method for authenticating the above-mentioned user access qualification by verifying the validity of the proof data generated to prove the user's access credential,
Storing authentication data; and
Storing the user's unique information;
Storing proof auxiliary information, which is an execution result of executing the first operation, on the user-specific information and the feature information of access qualification,
Storing the required information for access credential authentication;
Storing access credential verification information;
Inspecting that the result of performing a predetermined inspection operation on the authentication data and the essential information of the access qualification is in a predetermined relationship with the access qualification inspection information;
When the result of the inspection is good, a step of performing a second operation on the authentication data, the user specific information, and the auxiliary auxiliary information to generate proof data;
Verifying that the proof data is generated based on the characteristic information of the access credential authentication and the essential information of the access credential authentication,
The characteristic information of the access qualification authentication is a decryption key, the authentication data is obtained by encrypting appropriate data using an encryption key corresponding to the decryption key, and the step of verifying comprises: said certification data step of generating the proof data is generated, it verifies that a the appropriate data generated by decoding the authentication data correctly,
The encryption / decryption function used for the encryption key and the decryption key is a power-residue operation modulo the integer n, and the product of the decryption key and the encryption key is 1 modulo the Euler number of n. Congruent,
The first operation and the second arithmetic, when specific information of the valid user, characteristic information of authorized access right authentication, and the Izu Re or legitimate proof support information is not given, legitimate An access credential authentication method selected so that proof data is not generated.
ユーザのアクセス資格を証明するために生成された証明データの正当性を検証することにより上記のユーザのアクセス資格を認証するアクセス資格認証方法において、
認証用のデータを記憶するステップと、
ユーザの固有情報を記憶するステップと、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対し、第1の演算を実行した実行結果である証明用補助情報を記憶するステップと、
アクセス資格認証の必須情報を記憶するステップと、
上記認証用データと、上記ユーザの固有情報と、上記証明用補助情報と、上記アクセス資格認証の必須情報とに第2の演算を施して証明データを生成するステップと、
上記証明データが、上記アクセス資格認証の特徴情報と、上記アクセス資格認証の必須情報とに基づいて生成されていることを検証するステップとを有し、
暗復号関数が、整数nを法とする巾乗剰余演算であり、
上記アクセス資格認証の特徴情報が、上記整数nのオイラー数であり、
上記アクセス資格認証の必須情報または当該必須情報に所定の一方向性ハッシュ関数を施したものが、暗号鍵であり、
上記認証用データが、適当なデータを、上記暗号鍵を用いて暗号化したものであり、
上記検証するステップは、上記証明用補助情報と、上記ユーザの固有情報と、上記必須情報とから、上記暗号鍵に対応する復号鍵を計算し、上記認証用データを、法nのもとで、上記復号鍵によって巾乗したものを計算することによって、上記証明データを生成し、当該証明データが、認証用データを正しく復号したものであることを検証し、
上記第1の演算と上記第2の演算とを、正当なユーザの固有情報、正当なアクセス資格認証の特徴情報、正当なアクセス資格認証の必須情報、および正当な証明用補助情報のいずれかが与えられないときには、正当な証明データが生成されないように、選定したことを特徴とするアクセス資格認証方法。
In the access credential authentication method for authenticating the above-mentioned user access qualification by verifying the validity of the proof data generated to prove the user's access credential,
Storing authentication data; and
Storing the user's unique information;
Storing proof auxiliary information, which is an execution result of executing the first operation, on the user-specific information and the feature information of access qualification,
Storing the required information for access credential authentication;
Performing a second operation on the authentication data, the user specific information, the proof auxiliary information, and the access credential essential information to generate proof data;
Verifying that the proof data is generated based on the characteristic information of the access credential authentication and the essential information of the access credential authentication,
The encryption / decryption function is a power-residue operation modulo the integer n,
The feature information of the access qualification authentication is the Euler number of the integer n,
The required information for the access qualification authentication or the required information subjected to a predetermined one-way hash function is an encryption key,
The authentication data is obtained by encrypting appropriate data using the encryption key,
The verifying step calculates a decryption key corresponding to the encryption key from the auxiliary information for proof, the unique information of the user, and the essential information, and obtains the authentication data under the law n. Generating the proof data by calculating a power raised by the decryption key, and verifying that the proof data is obtained by correctly decrypting the authentication data;
The first operation and the second arithmetic above, specific information legitimate user, characteristic information of authorized access right authentication, required information for authorized access right authentication, and Re Izu legitimate proof support information when either is not given, so as not to generate legitimate proof data, access rights authentication method characterized by selecting the.
JP2003108755A 2003-04-14 2003-04-14 Access credential authentication apparatus and method Expired - Fee Related JP3870927B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003108755A JP3870927B2 (en) 2003-04-14 2003-04-14 Access credential authentication apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003108755A JP3870927B2 (en) 2003-04-14 2003-04-14 Access credential authentication apparatus and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP9285302A Division JPH11122240A (en) 1997-10-17 1997-10-17 Decoder, decoding method, access right authentication system and method therefor

Publications (2)

Publication Number Publication Date
JP2003309561A JP2003309561A (en) 2003-10-31
JP3870927B2 true JP3870927B2 (en) 2007-01-24

Family

ID=29398249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003108755A Expired - Fee Related JP3870927B2 (en) 2003-04-14 2003-04-14 Access credential authentication apparatus and method

Country Status (1)

Country Link
JP (1) JP3870927B2 (en)

Also Published As

Publication number Publication date
JP2003309561A (en) 2003-10-31

Similar Documents

Publication Publication Date Title
JPH11122240A (en) Decoder, decoding method, access right authentication system and method therefor
JP4113274B2 (en) Authentication apparatus and method
US6148404A (en) Authentication system using authentication information valid one-time
US6047242A (en) Computer system for protecting software and a method for protecting software
JP4463979B2 (en) Apparatus and method for storing, verifying and using cryptographically camouflaged cryptographic keys
EP1969762B1 (en) Certify and split system and method for replacing cryptographic keys
EP0750410B1 (en) Method and system for generation and management of secret key of public cryptosystem
US8756416B2 (en) Checking revocation status of a biometric reference template
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
JPH11231775A (en) Device and method for conditional authentication
CN100566250C (en) A kind of point to point network identity identifying method
EP1068697A1 (en) Security infrastructure for electronic transactions
JPH1131130A (en) Service providing device
MacKenzie et al. Delegation of cryptographic servers for capture-resilient devices
Mana et al. An efficient software protection scheme
KR20100114321A (en) Digital content transaction-breakdown the method thereof
JP2004515160A (en) Threshold encryption method and system for message authentication system
KR20140071775A (en) Cryptography key management system and method thereof
JP3791169B2 (en) Authentication apparatus and method
JP3870927B2 (en) Access credential authentication apparatus and method
CN114117392A (en) Security verification code obtaining method based on paillier encryption
JPH11205306A (en) Authentication system and authentication method
JP2003308012A (en) Decoding apparatus and method
JP2003316261A (en) Key generation apparatus
JPH11215118A (en) Method and device for proving plain text identity for plural cryptograms, and medium for recording program for performing plain text identity proof of plural cryptograms

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060815

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060816

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: 20060926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061009

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: 20101027

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131027

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees