JP3867388B2 - 条件付き認証装置および方法 - Google Patents

条件付き認証装置および方法 Download PDF

Info

Publication number
JP3867388B2
JP3867388B2 JP02993298A JP2993298A JP3867388B2 JP 3867388 B2 JP3867388 B2 JP 3867388B2 JP 02993298 A JP02993298 A JP 02993298A JP 2993298 A JP2993298 A JP 2993298A JP 3867388 B2 JP3867388 B2 JP 3867388B2
Authority
JP
Japan
Prior art keywords
proof data
authentication
data
proof
generating
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
JP02993298A
Other languages
English (en)
Other versions
JPH11231775A (ja
Inventor
健一郎 木子
耕二 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP02993298A priority Critical patent/JP3867388B2/ja
Priority to US09/246,131 priority patent/US6487659B1/en
Publication of JPH11231775A publication Critical patent/JPH11231775A/ja
Application granted granted Critical
Publication of JP3867388B2 publication Critical patent/JP3867388B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、利用期限等の制約に関連してサービス対象を利用する権限をユーザが有しているかどうかを認証する技術に関し、制約に関する情報が改竄されている場合には認証が失敗するようにしたものである。またこの発明は、暗号化されたメッセージを復号する復号技術に関し、特に利用期限情報や制御情報などのメッセージに付随する情報が、改竄されていないことを検証し、改竄されていない時にのみ正しくメッセージが復号されるようにしたものである。
【0002】
【従来の技術】
従来、サービス対象を利用する権限をユーザが有しているかどうかを認証する方法として、一般的には予め物理的なチケットやメンバーズカードを発行してもらい、サービスを享受する時点でチケットやメンバーズガードを提示する方法が取られてきた。この方法の場合、チケット等に記載された有効期限やサービスの種類等の情報をサービス提供者がその場で確認することで、条件の確認と認証を行ってきた。しかし、チケットそのものが物理的存在であるためにチケットの配送にコストがかかったり、チケットの偽造を困難にするためにチケットの製造自体にコストがかかってしまう欠点があった。この点についてはチケットを電子化することで配送や製造にかかわるコストを低減させることが可能である。このための技術として、特開昭62−171071号公報の「予約取引用ICカード」、特公平6−22032号公報の「電子カードによる公共サービスの支払システム」がある。しかし、これらの技術ではサービスを享受した時点でチケットに相当する電子情報が無効化されるだけで、回数券型のチケットや利用期日制限と利用量制限の組み合わせといったより柔軟なチケットの実現に寄与するものではなかった。また、これらの技術は、チケットを電子的に取り寄せる場合にカードとホストとの間の通信の盗聴やリプレイ攻撃によるチケットの不正利用に対する防御策を持ち合わせていなかった。
【0003】
また従来、暗号化されたデジタル情報について利用制限の機能を付加したものとして、特開平7−131452号公報の「デジタル情報保護方法及びその処理装置」に記載されている技術がある。特開平7−131452号公報の発明では、デジタル情報を情報識別番号と、情報本体と、利用条件情報及び認証子の組で表し、更に計算機内にデジタル情報を取り込んだ時に、情報識別番号および利用条件情報に関する第2の識別子を生成し、デジタル情報を利用する際は、2つの識別子による検証を行い、利用条件情報に記載されている利用条件を満たすかどうかの検証を行い、すべての検証が正常に終了した時のみデジタル情報を復号化して、利用できる形へ変換することを行っている。しかし、特開平7−131452号公報に記載されている方法では情報本体と利用条件の正当な組合せを保証するために両者を同一の暗号化鍵で暗号化するため、例えば利用者ごとに利用条件を変えようとすると、通信の度に暗号化を行うあるいは通信ごとに暗号化されたものを予め用意する必要があり、CD−ROM等によるデジタル情報の多量の配布や、衛星放送などを利用したブロードキャストなどには向いていなかった。
【0004】
【発明が解決しようとする課題】
本発明では上記の問題点を鑑み、サービス対象を利用する権限をユーザが有しているかどうかを認証する場合に於いて、従来のチケットに相当するものを電子化して、その電子情報の正当性を判断する際に、安全性を確保したままで、有効期限や利用回数制限やそれらの組み合わせといったように柔軟な条件を設定でき、しかもそれらの条件が改竄された場合には正しく認証が行われないようにすることを目的とする。
【0005】
また更に暗号化されたデジタル情報を条件付きで復号する場合に於いては、デジタル情報を復号して利用する際に復号を行うための条件等を設定でき、しかも復号を行うための条件等は暗号化されたデジタル情報自身とは独立であり、したがってユーザ毎に異なる条件等を割り当てることが容易で、しかも復号を行うための条件等が改竄された場合には正しくデジタル情報の復号が行われないようにすることを目的とする。
【0006】
【課題を解決するための手段】
本発明は上記の目的を達成するために、まず認証装置を、ユーザの権限を認証するために生成される証明用データの生成装置と、生成された証明用データの正当性を検証する検証装置とを含んで構成し;証明用データ生成装置を、検証装置により生成される認証用データを記憶する第1の記憶手段と、証明用データの生成を行うための制御情報を記憶する第2の記憶手段と、認証の特徴情報および証明用データの生成を行うための制御情報などから算出される認証用補助情報を記憶する第3の記憶手段と、上記の記憶手段に記憶されている情報から証明用データを生成する証明用データ生成手段とを含んで構成し;検証装置を、証明用データ生成手段により生成された証明用データが認証の特徴情報に基づき生成されていることを検証する検証手段を含んで構成し;認証の特徴情報が、有限群G上の離散対数問題を利用した非対称暗号系における、復号鍵とするようにしている。
【0007】
この構成においては、第1に、電子化されたチケットの正当性を判断する際に、安全性を確保したままで、有効期限や利用回数制限やそれらの組み合わせといったように柔軟な条件を設定でき、しかもそれらの条件が改竄された場合には正しく認証が行われないようにすることができる。第2に、暗号化されたデジタル情報を条件付きで復号する場合に於いては、デジタル情報を復号して利用する際に復号を行うための条件等を設定でき、しかも復号を行うための条件等は暗号化されたデジタル情報自身とは独立であり、したがってユーザ毎に異なる条件等を割り当てることが容易で、しかも復号を行うための条件等が改竄された場合には正しくデジタル情報の復号が行われないようにすることができる。
【0008】
また、認証の特徴情報に、有限体上での楕円曲線上で定義された、非対称鍵暗号系を用いることにより、RSA公開鍵暗号等を用いる場合に比べて、鍵の長さを短くしても同等の安全性が得られ、かつ処理を高速に行うことができる。
【0009】
なお、本発明は、方法やコンピュータ・プログラム製品として実現できる。
【0010】
【発明の実施の態様】
【0011】
[全体の構成]
具体的な個別の実施例を述べる前に、本発明の実施形態の全体像を以下に述べる。
【0012】
まず、本発明を、ユーザのPC(パーソナルコンピュータ)あるいはワークステーション上で動作するアプリケーションプログラムの実行制御に用いる場合について述べる。
【0013】
図1および図2にこの実施形態における装置の構成を示す。なお、図2は図1の証明データ検証装置100が、証明データ生成制御情報生成装置400を兼ねており、その他の構成は図1と同様であるので、以下では、主に、図1の構成を説明する。
【0014】
図1において、認証装置は、証明データ検証装置100(単に、検証装置とも呼ぶ)、証明データ生成装置200(単に、証明装置とも呼ぶ)、アクセスチケット生成装置300および証明データ生成制御情報生成装置400を含んで構成されている。証明データ検証装置100は、認証用データ記憶部101、検証手段102および実行手段103を含んでいる。証明データ生成装置200は、ユーザ固有情報記憶部201、証明データ生成手段202、アクセスチケット記憶部203および証明データ生成制御情報記憶部204を含んでいる。アクセスチケット記憶部203は、証明補助情報(アクセスチケットと呼ぶ)を保持する。証明データ生成制御情報記憶部204は、証明データの生成を制御する情報(証明データ生成制御情報と呼ぶ)を保持している。アクセスチケット生成装置300はアクセスチケットを生成して証明データ生成装置200に転送する。また、証明データ生成制御情報生成装置400は、証明データ生成制御情報を生成して同じく証明データデータ生成装置200に転送する。
【0015】
図1の実施形態では、証明データ生成装置200はユーザが用いる計算機上の証明用プログラムとして実現することができる。この際、ユーザを識別するための固有情報(ユーザ固有情報)を、ユーザがコピーして配布することができると、正当な利用権をもたないユーザにもアプリケーションプログラムの使用を許すこととなる。そこで、ユーザ識別情報はその正当な保持者であるユーザであってもこれを窃取することができないように、その計算機に装着され、耐タンパー特性を有する証明用ハードウェア(ICカード、ボードなど)を併用することが可能である。この際、ICカードのような携帯性のあるハードウェアを用いれば、ユーザが複数のPCあるいはワークステーション上で作業をする場合に便利である。
【0016】
証明データ検証装置100はユーザが利用するアプリケーションプログラムの一部として構成される。即ち、ユーザがアプリケーションプログラムをPCあるいはワークステーション上で起動すると、アプリケーションプログラム中にプログラムとして記述された証明データ検証装置100が起動され、証明データ生成装置200と通信してユーザ認証を行い、通信が正しく終了した場合に限ってアプリケーションプログラムの実行を可能とする。
【0017】
ユーザが、証明データ検証装置100が埋めこまれた上記アプリケーションプログラムを利用するためには、ユーザ本人宛に発行され、上記アプリケーションプログラムに対応する証明用補助情報(アクセスチケット)、および証明用データの生成を行うための制御情報(証明用データ生成制御情報)が必要となる。証明用データ生成制御情報は、証明データ生成装置200が証明用データを生成する際に、アプリケーションプログラムの利用がユーザに科せられた使用条件に合致するかどうかを判定するのに使用される。証明用データ生成制御情報は、図1に示すように証明用データ生成制御情報生成装置400によって生成されたものをユーザが取得するか、または図2に示すように証明データ検証装置100から認証用データと共に送付されることによって、証明データ生成装置200に登録される。以降の実施例では図1に従って説明を行うが、図2の構成についても同様な実施が可能である。ユーザは、上記PCあるいはワークステーション上にインストールされた証明データ生成プログラムに、取得したアクセスチケット、および証明用データの生成を行うための制御情報を登録するとともに、例えば、ユーザ固有情報がICカードに封入されている場合には、ICカードを上記PCあるいはワークステーションに装着する。アクセスチケットは、上記PCあるいはワークステーション上に置く構成にしてもよいし、ICカード中に置いてもよい。
【0018】
証明データ生成装置200(PCあるいはワークステーション上のプログラムとICカードによって構成される)は、ユーザ固有情報とアクセスチケット、および証明用データの生成を行うための制御情報に基づいて計算を行い、その計算に基づいて証明データ検証装置100と通信を行う。この計算の過程でユーザ識別情報が用いられるが、ユーザ識別情報が外部に漏洩すると問題があるため、上記プログラムの少なくとも一部はICカード等の防御手段によって保護される必要がある。
【0019】
通信の結果、証明データ検証装置100による認証が成功するのは、ユーザ固有情報と、アクセスチケット、および証明用データ生成制御情報と、証明データ検証装置100が検証するアクセス資格認証の特徴情報の4つが正しく対応している場合に限られる。ユーザ固有情報、アクセスチケット、あるいは証明用データ生成制御情報のどれか一つでも欠けている場合には、認証は成功しない。
【0020】
アクセスチケットは特定のユーザ宛に、そのユーザに許されるアプリケーションプログラムの使用条件を考慮して発行される。即ち、アクセスチケットの生成に際して、特定のユーザのユーザ固有情報、および証明用データ生成制御情報が用いられる。アクセスチケット生成時に使用されるユーザ固有情報と、証明データ生成装置200によって使用される上記ユーザ固有情報とが一致していない場合、あるいはアプリケーションプログラムの利用が証明用データ生成制御情報に基づくユーザに科せられた使用条件に合致しない場合、やはり認証は成功しない。
【0021】
また、アクセスチケットは、特定のアクセス資格認証の特徴情報に基づいて生成され、証明データ検証装置100は、このアクセス資格認証の特徴情報を認証するように構成される。従って、アクセスチケットの生成のもととなった特徴情報と、アプリケーションプログラムに埋めこまれている証明データ検証装置100が認証しようとする特徴情報とが互いに対応していなかった場合にも、認証は成功しない。
【0022】
また、アプリケーションプログラムがネットワークによって結合された別の計算機上で実行され、実行結果がネットワークを介してユーザが用いる計算機に通信されるものとしてもよい。この場合、いわゆるサーバ・クライアントモデルに基づく構成となる。先に述べた、ユーザのPCあるいはワークステーション上で実行されるアプリケーションプログラムの実行制御の場合では、証明データ生成装置200と証明データ検証装置100との通信がいわゆるプロセス間通信として実行されるのに対し、サーバ・クライアント・モデルに従った場合、証明データ生成装置200と証明データ検証装置100との通信はTCP/IP(Transmission Control Protocol/Internet Protocol)などのネットワークプロトコルに従った通信として実行される。
【0023】
また、アプリケーションプログラムが専用装置上に構成されている場合にも、本発明を適用することが可能である。例えば、証明データ生成装置200全体をICカード内に実装し、取得したアクセスチケット、および証明データ生成制御情報もICカードに登録するものとする。証明データ検証装置100は上記専用装置上に実装されるが、その専用装置はICカードを挿入するためのスロットを備え、ユーザはそのスロットに所有するICカードを挿入することで認証を行う。
【0024】
このような専用装置による構成は、銀行のATM機や、ゲームセンターにおけるゲーム機などに適用することができる。
【0025】
ユーザによるアクセスチケット、および証明データ生成制御情報の取得に関しては、これらを発行する共通のセンターが、ユーザからの発行依頼に応じて生成して配布する方法と、アプリケーションプログラムの作成者が、アクセスチケット発行プログラムやアクセスチケット生成装置300、証明データ生成制御情報発行プログラムや証明データ生成制御情報生成装置400の助けを借りて個別に生成する方法がある。
【0026】
このような場合、これらの生成装置は、チケット発行者によって管理され、アクセスチケットなどはこれら正当な権利者等によって、ユーザの環境とは別個に作成され、配布される。
【0027】
生成されたアクセスチケット、および証明データ生成制御情報は、フロッピーディスク等の可搬型記憶媒体を介してユーザに配送されるものとしてもよい。アクセスチケットが十分な安全性を備えていることから、電子メールなどを用いてネットワークを介して配送されるように構成してもよい。
【0028】
アクセスチケットの安全性とは、以下の二つの性質である。
【0029】
1)アクセスチケットは記名式である。即ち、アクセスチケットが発行されたユーザ本人(正確には、アクセスチケット生成時に用いられたユーザ固有情報の保持者)だけがそのアクセスチケットを用いて証明データ生成装置200を正しく作動させることができる。従って、悪意の第三者が、他のユーザのアクセスチケットを不正に手に入れたとしても、この第三者がアクセスチケットの発行先である正規のユーザのユーザ固有情報を手に入れないかぎり、このアクセスチケットを利用することは不可能である。
【0030】
2)アクセスチケットはさらに厳密な安全性を保持している。即ち、悪意の第三者が任意個数のアクセスチケットを集めて、いかなる解析を行ったとしても、得られた情報をもとに別のアクセスチケットを偽造したり、証明データ生成装置200の動作を模倣して認証を成立させるような装置を構成することは不可能である。
【0031】
【実施例】
以下では、より具体的な構成について実施例に即して説明する。なお、各実施例の証明データ検証装置100および証明データ生成装置200の構成を示す図および動作を説明する図は以下のとおりである。
【0032】
【表1】
Figure 0003867388
【0033】
[実施例1]
(図3、図4、図8)
本実施例は乱数効果を用いず、また、証明データ検証装置100側で復号を行なうものである。
【0034】
本実施例では、証明データ生成制御情報により利用期間限定を行う場合を考える。
【0035】
p個の元を持つ有限体Fp(pは3より大きい素数をべき乗した値)上の楕円曲線E:y2=x3+ax+b(ただし、4a3+27b2≠0)をえらび、E上の一点をPとする。
【0036】
ここで、アクセス資格認証の特徴情報をXとし、点Yを式(1−1)のようにして生成する。
【0037】
【数1】
(1−1) Y=XP
次に、ユーザを識別するために、ユーザ毎に異なる数であるユーザ固有情報eを定め、アクセス資格認証の条件を定めた証明データ生成制御情報をLとする。アクセスチケットtは次の式(1−2)に基づいて生成される。
【0038】
【数2】
(1−2) t=X−F(p,e,a,b,L)
Xをアクセスチケット秘密鍵、Yをアクセスチケット公開鍵と呼ぶ。
【0039】
関数Fは関数値が衝突しにくい関数であり、例えば、一方向ハッシュ関数hを利用して、式(1−3)あるいは式(1−4)のように定めることができる。
【0040】
【数3】
(1−3) F(x,y)=h(x|y)
(1−4) F(x,y,z,w)=h(x|y|z|w)
ここで、「x|y」はxとyとのビットの連結であることを表す。
【0041】
一方向ハッシュ関数とは、h(x)=h(y)を満たす相異なるx、yを算出することが著しく困難であるという性質をもつ関数である。一方向ハッシュ関数の例として、RSA Data Security Inc.によるMD2、MD4、MD5、米国連邦政府による規格SHS(Secure Hash Standard)が知られている。
【0042】
また、E上の点uと点Cを以下のように定める。
点uは、上記点Pを適当な乱数z倍した数であり、即ち、式(1−5)を満たす。
【0043】
【数4】
(1−5) u=zP
また、以下では暗号化されるデータKを検証用データ、証明データ生成装置200が証明のために生成するデータRを証明用データとよぶ。また、証明データ生成装置200が証明データを生成するために、証明データ検証装置100から受け取るデータ、及び、証明データ検証装置100が復号された値を検証するために用いるデータを認証用データとよぶ。
【0044】
検証用データKをE上の点Mに対応させる。点Cはアクセスチケット公開鍵Yを、上記乱数z倍した数と、点Mとの和であり、式(1−6)を満たす。
【0045】
【数5】
(1−6) C=M+zY
データKを点Mに対応させる方法としては、例えば、「暗号・ゼロ知識証明・数論」(情報処理学会監修/岡本・大田編)共立出版のpp.231に述べられているような方法を用いることができる。
【0046】
検証用データKを証明データ検証装置100に保持せず、代わりに、その暗号化の結果であるCのみを保持するように証明データ検証装置100を構成すれば、証明データ検証装置100から検証用データKが漏洩する危険を回避することができる。
【0047】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図4に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図8に示す。
【0048】
図3において、証明データ生成装置200は、証明データ生成手段202、第1の記憶手段205、第2の記憶手段206、第3の記憶手段207、第4の記憶手段208および時計209を含んで構成されている。第1の記憶手段205は、認証用データを記憶するものであり、第2の記憶手段206は証明データ生成制御情報を記憶するものである(図1の証明データ生成制御情報記憶部204に対応)。第3の記憶手段207はアクセスチケットを記憶するものである(図1のアクセスチケット記憶部203に対応)。そして第4の記憶手段208は、ユーザ固有情報を記憶するものである(図1のユーザ固有情報記憶部201に対応)。
【0049】
また、図4において、証明データ検証装置100は、実行手段103、アクセスチケット公開鍵記憶部104、認証用素データ記憶部105、認証用データ記憶部106、受信データ記憶部107および検証用演算部108を含んで構成されている。
【0050】
以下に本実施例の動作を示す。
【0051】
1.ユーザが、アクセス資格認証装置による認証を必要とするデジタルコンテンツにアクセスすることによって、証明データ検証装置100が起動される。
【0052】
証明データ検証装置100がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムの一部として構成されている場合、ユーザがキーボードあるいはマウスなどの指示装置を用いた通常の方法で、アプリケーションプログラムを起動する。アプリケーションプログラムの実行が証明データ検証装置100を構成しているプログラムに到達することによりことにより、証明データ検証装置100が起動される。
【0053】
証明データ検証装置100がネットワークで結ばれた他のPCあるいはワークステーション(サーバと呼ぶ)上に構成されている場合、ユーザは自分のPCあるいはワークステーション上の通信プログラムを起動し、その通信プログラムが所定の手続きに従って上記サーバに通信の開設要求を行うことにより、上記サーバ上の証明データ検証装置100が起動される。例えば、ユーザの通信プログラムがサーバと通信する際にTCP/IPと呼ばれる手続きに従うとすると、証明データ検証装置100をサーバの特定のポートに予め対応づけておき、更に、ユーザの通信プログラムがそのポートを指定してTCP接続要求をサーバに要求するように設定しておくことにより、サーバ上のデーモン(inetd)がTCP接続要求に応じて証明データ検証装置100を起動することが可能となる。このような実現方法は、インターネットなどのネットワークにおいて広く利用されているものである。
【0054】
証明データ検証装置100を専用目的の装置とすることも可能である。例えば、証明データ検証装置100をICカード・リーダ・ライター内のROMに焼きつけられたプログラムとして構成し、証明データ生成装置200をICカードのマイクロコントローラーに実装されたプログラムとすることができる。この場合、ユーザがICカードをリーダ・ライターに挿入することにより、証明データ検証装置100が起動される。
【0055】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部106には、認証用データとしてE上の点Cが記憶されている。証明データ検証装置100は、認証用データu’と、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0056】
本実施例では、認証用データu’は認証用素データuである。
【0057】
【数6】
(1−7) u’=u
【0058】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0059】
4.続いて証明データ生成手段202は、第3の記憶手段207(アクセスチケット記憶手段)に記憶されているアクセスチケットtを取得し、式(1−8)を実行してSを得る。
【0060】
【数7】
(1−8) S=tu’
【0061】
5.続いて証明データ生成手段202は、第4の記憶手段208(ユーザ固有情報記憶手段)に記憶されているユーザの固有情報eを取得し、式(1−9)の計算を実行する。
【0062】
【数8】
(1−9) F(p,e,a,b,L)
【0063】
6.続いて証明データ生成手段202は、指数生成手段で生成されたデータを用いて、式(1−10)の計算を実行しS’を得る。
【0064】
【数9】
(1−10) S’=F(p,e,a,b,L)u’
【0065】
7.続いて証明データ生成手段202は、第一および第二演算部からS’およびSを得て、式(1−11)の計算を行いRを得る。
【0066】
【数10】
(1−11) R=S+S’
【0067】
8.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0068】
9.証明データ検証装置100の検証用演算部108(図1の検証手段102)は、認証用データ記憶部106から認証用データCを取り出し、式(1−12)の計算を行う。
【0069】
【数11】
(1−12) M’=C−R
【0070】
10.検証用演算部108は点M’に対応するデータK’を計算する。
点M’をデータK’に対応させる方法としては、例えば前述した、「暗号・ゼロ知識証明・数論」(情報処理学会監修/岡本・大田編)共立出版のpp.231に述べられているような方法を用いることができる。
【0071】
証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0072】
以下、証明データ検証装置100において、KとK’が同一であることを検証する方法について、いくつかの例を記す。
【0073】
[1]検証用データと復号結果を直接比較する構成例
図14に示す構成例では、検証手段102(検証用演算部108)は予め検証用データKを記憶しておく。検証手段102中の比較部は、この検証用データKと、認証用データを復号したデータK’とを直接比較し、K’=Kが成立する場合に限り正規の処理を実行し、成立しない場合には処理を中止するなどのエラー処理を実行する。
【0074】
この構成例では、検証すべき検証用データKそのものが装置中に現れるという安全上の弱点がある。例えば、証明データ検証装置100がユーザのPCあるいはワークステーション上で動作するプログラムとして構成されている場合、プログラムを解析してKを窃取することは、困難であっても、必ずしも不可能ではない。Kの値がユーザの知るところとなると、証明データ生成装置200の動作を模倣する装置を構成することが可能となり、なりすましによる不正アクセスが可能となる。
【0075】
[2]一方向性関数を用いた構成例
上記の欠点を改善するため、図15に示す構成例では、検証手段102が記憶している検証のためのデータを、検証用データKそのものではなく、Kに前述の一方向ハッシュ関数hを施して得られるデータh(K)とする。一方向ハッシュ関数の性質から、証明データ記憶手段110に記憶されるデータyから、y=h(x)を満たすxを算出することは著しく困難である。
【0076】
検証手段102は、入力データに対し一方向ハッシュ関数を施した結果を返す変換部を有する。比較部は、認証用データを復号したデータK’をハッシュ関数の入力として得られる出力h(K’)と、記憶されているデータ(=h(K))とを比較する。
【0077】
この方法例では、検証用データKがプログラム中に現れることがなく、また、証明データ記憶手段110に記憶されたh(K)からKを計算することも著しく困難であることから、上記[1]の例よりは安全であるといえる。
【0078】
しかしながら、比較部はプログラム中では条件文として構成されており、証明データ検証装置100がプログラムで、分析・改竄が容易であるような構成の場合には、その条件文をスキップするようにプログラムを改竄することが可能である点で、なお弱点を有している。
【0079】
[3]復号された値が、特定のデータを復号するための復号鍵である構成例
図16に示す構成例では、検証のために記憶されているデータが、暗号化されたデータであり、認証用データを復号したデータK’は、この暗号化されたデータを復号するための鍵である。
【0080】
102検証手段は、データK’の値を、検証のために記憶されているデータを暗号化するのに用いた暗号の復号鍵として用いて復号し、その結果、暗号化されたデータが復号できた場合のみ、プログラムの実行を可能とする。
【0081】
この構成でも、証明データ検証装置100中に復号鍵そのものは現れないため、安全度は高くなっている。
【0082】
[4]復号された値が特定の冗長性を満たすことを確認する構成例
図17に示す構成例では、証明データ検証装置100が冗長性検証手段をもち、検証手段102は、認証用データを復号したデータK’の値を、冗長性検証手段に送る。冗長性検証手段が、そのデータが特定の冗長性を満たすことを確認した場合のみ、プログラムの実行を可能とする。
【0083】
冗長性の例としては、復号されたデータがある特定のパターンを繰り返していることや、特定の位置のデータが特定の条件を満たすこと、あるいは、データが特定の言語として意味があること、等があげられる。
【0084】
[5]プログラムコード自体を暗号化する構成例
図18に示す構成例では、証明データ検証装置100が保持するプログラムのコードの一部或は全部を暗号化したデータを認証用データとして、認証用データ記憶部106に保持する。即ち、認証用データを復号したデータK’はプログラムのコードの一部或は全部となる。
【0085】
実行手段103はデータK’を、プログラム中の予め定められた位置に埋め込み、その後、埋め込んだプログラムを実行する。証明データ生成装置200が正しいデータを返信した場合、即ち、K’がコードを正しく復号したものである場合に限ってプログラムは実行可能となる。
【0086】
実行手段103は復号されたコードを本来のプログラムに埋め込んだファイルを生成した後、そのファイルを起動してもよいが、プログラムがメモリ上に展開されている状態で、復号したコードをメモリ上のプログラムに埋め込んだのち起動する方法が、安全上は望ましい。
【0087】
この構成例では、プログラムの実行に不可欠なコードの一部或は全部が暗号化されているため、実行手段103がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムとして構成されているような比較的安全性の低い場合でも、不正実行を防止することができる。
【0088】
[6]復号された値がプログラムの復号鍵である構成例
図19に示す構成例は、証明データ検証装置100がプログラムのコードの一部或は全部を暗号化したデータを保持しており、認証用データを復号したデータK’が、暗号化したプログラムコードを復号するために必要な復号鍵となっているものである。この構成によると、暗号化するコードのサイズに関わらず、データK’のサイズを一定の小さい値に抑えることが可能となり、通信のオーバヘッドを減少させることができる。
【0089】
検証手段102はデータK’を用いて、記憶している暗号化されたプログラムコードを復号する。実行手段103は、復号されたコードを、プログラム中の予め定められた位置に埋め込み、その後、埋め込んだプログラムを実行する。証明データ生成装置200が正しいデータを返信していた場合、即ち、K’によってコードが正しく復号されていた場合に限ってプログラムは実行可能となる。
【0090】
なお、本実施例では、楕円曲線Eをy2=x3+ax+bとしたがそれ以外にも以下のような構成とすることも可能である。
【0091】
標数2の有限体上の楕円曲線Eをy2+cy≡x3+ax+b mod p(ただし、b≠0)とし、楕円曲線を定義するパラメータとして、本実施例で示したものに加えてcを証明データ生成装置200に送付し、証明データ生成装置200はユーザ固有情報、および証明データ生成制御情報を用いてF(p,e,a,b,c,L)を計算する。
【0092】
標数2の有限体上の楕円曲線Eをy2+xy≡x3+ax+b mod p(ただし、a≠0)とする。
【0093】
標数3の有限体上の楕円曲線Eをy2≡x3+ax2+bx+c mod pとし、楕円曲線を定義するパラメータとして、本実施例で示したものに加えてcを証明データ生成装置200に送付し、証明データ生成装置200はユーザ固有情報、および証明データ生成制御情報を用いてF(p,e,a,b,c,L)を計算し、これを元にS’を計算する。
【0094】
これらの構成は、以下のすべての実施例に対して、同様に適用可能である。
【0095】
[実施例2]
(図3、図5、図9)
本実施例は、乱数効果を付よせずに、また復号を証明データ生成装置200側で行なうものである。
本発明の実施例2は、復号を証明データ生成装置200側で行なう点で、実施例1と異なっている。
【0096】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成、アクセスチケットt、認証用素データu,認証用データCの生成方法、および証明データ生成制御情報の利用方法と、それぞれの満たすべき性質は、実施例1と同様である。また、楕円曲線上の点とデータを対応させる方法についても、実施例1と同様の方法を用いることができる。
【0097】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図5に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図9に示す。なお、図5において、図4と対応する箇所には対応する符号を付した。この構成では、認証用データuに加えてもう1つの認証用データCも証明データ検証装置100から証明データ生成装置200に送られている。
【0098】
以下、本実施例の動作について説明する。
【0099】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0100】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部106には、認証用データとしてE上の点Cが記憶されている。証明データ検証装置100は、証明データ検証装置100は、認証用データu,Cと、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0101】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0102】
4.続いて証明データ生成手段202は、第3の記憶手段207(図1のアクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、式(2−1)を実行してSを得る。
【0103】
【数12】
(2−1) S=tu
【0104】
5.続いて証明データ生成手段202は、第4の記憶手段208(図1のユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(2−2)の計算を実行する。
【0105】
【数13】
(2−2) F(p,e,a,b,L)
【0106】
6.続いて証明データ生成手段202は、指数生成手段で生成されたデータを用いて、式(2−3)の計算を実行しS’を得る。
【0107】
【数14】
(2−3) S’=F(p,e,a,b,L)u
【0108】
7.続いて証明データ生成手段202は、第一および第二の演算部からS’およびSを得て、式2−4の計算を行いRを得る。
【0109】
【数15】
(2−4) R=C−S−S’
【0110】
8.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0111】
9.検証用演算部108(図1の検証手段102)は点Rに対応するデータK’を計算する。証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0112】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0113】
[実施例3]
(図3、図7、図10)
本発明の実施例3も、実施例1の構成を変更したものである。本実施例では、Pohlig−Hellman暗号を用い、復号を証明データ検証装置100側で行なっている。
【0114】
本実施例において、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成、アクセスチケットt、及び認証用素データu,認証用データCの生成方法、および証明データ生成制御情報の利用方法と、それぞれの満たすべき性質は、実施例1と同様である。また、楕円曲線上の点とデータを対応させる方法についても、実施例1と同様の方法を用いることができる。
【0115】
なお、本実施例では、点Pの位数をqとする。
【0116】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図7に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図10に示す。
【0117】
証明データ生成装置200は実施例1および実施例2と同様である。
【0118】
において、証明データ検証装置100は、実行手段103、アクセスチケット公開鍵記憶部104、認証用素データ記憶部105、認証用データ記憶部106、受信データ記憶部107、検証用演算部108、乱数生成部111、乱数効果付与部112、乱数記憶部113および乱数効果除去部114を含んで構成されている。
【0119】
以下、本実施例の動作について説明する。
【0120】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0121】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部106には、認証用データとしてE上の点Cが記憶されている。
【0122】
証明データ検証装置100は、証明データ検証装置100は、認証用データu’と、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0123】
証明データ検証装置100は、乱数生成部111によって、乱数rをアクセスチケット公開鍵記憶部104に保持されている点Pの位数qと互いに素になるように生成し、乱数記憶部113に記録する。
【0124】
ここで、認証用データu’は、次のように生成される。すなわち、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(3−1)の計算を行う。
【0125】
【数16】
(3−1) u’=ru
このように、認証用データに乱数効果を加え、証明データ生成装置200が返す証明データを検証する際に乱数効果を除去するように構成することにより、いわゆるリプレイアタックを防止することができる。これは、以下の実施例においても、同様である。
【0126】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0127】
4.続いて証明データ生成手段202は、第3の記憶手段207(図1のアクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、式(3−2)を実行してSを得る。
【0128】
【数17】
(3−2) S=tu’
【0129】
5.続いて証明データ生成手段202は、第4の記憶手段208(図1のユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(3−3)の計算を実行する。
【0130】
【数18】
(3−3) F(p,e,a,b,L)
【0131】
6.続いて証明データ生成手段202は、指数生成手段で生成されたデータを用いて、式(3−4)の計算を実行しS’を得る。
【0132】
【数19】
(3−4) S’=F(p,e,a,b,L)u’
【0133】
7.続いて証明データ生成手段202は、第一および第二の演算部からS’およびSを得て、式(3−5)の計算を行いRを得る。
【0134】
【数20】
(3−5) R=S+S’
【0135】
8.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0136】
9.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出して、まず式(3−6)の計算を行う。
【0137】
【数21】
(3−6) v=(r-1 mod q)R
次いで、計算の結果得られたvと、認証用データ記憶部106に記憶されているCを用いて、式(3−7)の計算を行う。
【0138】
【数22】
(3−7) M’=C−v
【0139】
10.検証用演算部108(検証手段102)は点M’に対応するデータK’を計算する。証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0140】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0141】
[実施例4]
(図3、図6、図11)
本発明の実施例4は、実施例2の構成を変更したものである。本実施例では、Pohlig−Hellman暗号を用い、復号を証明データ生成装置200側で行なっている。
【0142】
本実施例において、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成、アクセスチケットt、及び認証用素データu,認証用データCの生成方法、および証明データ生成制御情報の利用方法と、それぞれの満たすべき性質は、実施例1と同様である。
【0143】
また、楕円曲線上の点とデータを対応させる方法についても、実施例1と同様の方法を用いることができる。
【0144】
なお、本実施例では、点Pの位数をqとする。
【0145】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図11に示す。
【0146】
以下、本実施例の動作について説明する。
【0147】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0148】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部106には、認証用データとしてE上の点Cが記憶されている。
【0149】
証明データ検証装置100は、証明データ検証装置100は、認証用データu’,C’と、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0150】
証明データ検証装置100は、乱数生成部111によって、乱数rをアクセスチケット公開鍵記憶部104に保持されている点Pの位数qと互いに素になるように生成し、乱数記憶部113に記録する。
【0151】
ここで、認証用データu’は、次のように生成される。すなわち、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(4−1)の計算を行う。
【0152】
【数23】
(4−1) u’=ru
また、認証用データC’は、次のように生成される。すなわち、認証用データ記憶部106に記憶されているデータCを取得して、式(4−2)の計算を行う。
【0153】
【数24】
(4−2) C’=rC
【0154】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0155】
4.続いて証明データ生成手段202は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、式(4−3)を実行してSを得る。
【0156】
【数25】
(4−3) S=tu’
【0157】
5.続いて証明データ生成手段202は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(4−4)の計算を実行する。
【0158】
【数26】
(4−4) F(p,e,a,b,L)
【0159】
6.続いて証明データ生成手段202は、指数生成手段で生成されたデータを用いて、式(4−5)の計算を実行しS’を得る。
【0160】
【数27】
(4−5) S’=F(p,e,a,b,L)u’
【0161】
7.続いて証明データ生成手段202は、第一および第二の演算部からS’およびSを得て、式(4−6)の計算を行いRを得る。
【0162】
【数28】
(4−6) R=C’−S−S’
【0163】
8.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0164】
9.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出し、アクセスチケット公開鍵記憶部104から点Pの位数qを取り出して、式(4−7)の計算を行う。
【0165】
【数29】
(4−7) M’=(r-1 mod q)R
【0166】
10.検証手段は点M’に対応するデータK’を計算する。証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
K’と検証用データとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0167】
[実施例5]
(図3、図7、図12)
本発明の実施例5は、実施例1の構成を変更したものである。本実施例では、ElGamal暗号を用い、証明データ検証装置100側で復号を行なう。
【0168】
本実施例において、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成、アクセスチケットt、及び認証用素データu,認証用データCの生成方法、および証明データ生成制御情報の利用方法と、それぞれの満たすべき性質は、実施例1と同様である。
また、楕円曲線上の点とデータを対応させる方法についても、実施例1と同様の方法を用いることができる。
【0169】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図7に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図12に示す。
【0170】
以下、本実施例の動作について説明する。
【0171】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0172】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部106には、認証用データとしてE上の点Cが記憶されている。
【0173】
証明データ検証装置100は、認証用データu’と、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0174】
証明データ検証装置100は、乱数生成部111によって、乱数rを生成し、乱数記憶部113に記録する。
【0175】
ここで、認証用データu’は、次のように生成される。すなわち、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(5−1)の計算を行う。
【0176】
【数30】
(5−1) u’=u+rP
【0177】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0178】
4.続いて証明データ生成手段202は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、式(5−2)を実行しSを得る。
【0179】
【数31】
(5−2) S=tu’
【0180】
5.続いて証明データ生成手段202は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(5−3)の計算を実行する。
【0181】
【数32】
(5−3) F(p,e,a,b,L)
【0182】
6.続いて証明データ生成手段202は、指数生成手段で生成されたデータを用いて、式(5−4)の計算を実行しS’を得る。
【0183】
【数33】
(5−4) S’=F(p,e,a,b,L)u’
【0184】
7.続いて証明データ生成手段202は、第一および第二演算部からS’およびSを得て、式(5−5)の計算を行いRを得る。
【0185】
【数34】
(5−5) R=S+S’
【0186】
8.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0187】
9.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出し、まず式(5−6)の計算を行う。
【0188】
【数35】
(5−6) v=R−rY
次に認証用データ記憶部106からCを取り出して、上記vの値を用いて式(5−7)の計算を行う。
【0189】
【数36】
(5−7) M’=C−v
【0190】
10.検証用演算部108(検証手段3)は点M’に対応するデータK’を計算する。証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0191】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0192】
[実施例6]
(図3、図6、図13)
本発明の実施例6は、実施例2の構成を変更したものでる。本実施例では、ElGamal暗号を用い、証明データ生成装置200側で復号を行なう。
【0193】
本実施例において、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成、アクセスチケットt、及び認証用素データu,認証用データCの生成方法、および証明データ生成制御情報の利用方法と、それぞれの満たすべき性質は、実施例1と同様である。
【0194】
また、楕円曲線上の点とデータを対応させる方法についても、実施例1と同様の方法を用いることができる。
【0195】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図6に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図13に示す。
【0196】
以下、本実施例の動作について説明する。
【0197】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0198】
2.認証用素データ記憶部105には、認証用素データとしてE上の点uが、また、認証用データ記憶部106には、認証用データとしてE上の点Cが記憶されている。
【0199】
証明データ検証装置100は、証明データ検証装置100は、認証用データu’,C’と、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。ただし、C’=Cである。
【0200】
証明データ検証装置100は、乱数生成部111によって、乱数rを生成し、乱数記憶部113に記録する。
【0201】
ここで、認証用データu’は、次のように生成される。すなわち、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(6−1)の計算を行う。
【0202】
【数37】
(6−1) u’=u+ra
【0203】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0204】
4.続いて証明データ生成手段202は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、式(6−2)を実行してSを得る。
【0205】
【数38】
(6−2) S=tu’
【0206】
5.続いて証明データ生成手段202は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(6−3)の計算を実行する。
【0207】
【数39】
(6−3) F(p,e,a,b,L)
【0208】
6.続いて証明データ生成手段202は、指数生成手段で生成されたデータを用いて、式(6−4)の計算を実行しS’を得る。
【0209】
【数40】
(6−4) S’=F(p,e,a,b,L)u’
【0210】
7.続いて証明データ生成手段202は、第一および第二の演算部からS’およびSを得て、式(6−5)の計算を行いRを得る。
【0211】
【数41】
(6−5) R=C’−S−S’
【0212】
8.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0213】
9.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出し、アクセスチケット公開鍵記憶部104からYを取り出して、式(6−6)の計算を行う。
【0214】
【数42】
(6−6) M’=R+rY
【0215】
10.検証手段は点M’に対応するデータK’を計算する。証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0216】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0217】
[実施例7]
(図3、図4、図20)
本発明の実施例7は、実施例1の構成を変更したものである。この実施例では、検証用のデータKに所定のマスク演算を行ない認証用データとして用い、また、復号を証明データ検証装置100側で行なう。
【0218】
本実施例では、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成、アクセスチケットt、認証用素データuの生成方法、および証明データ生成制御情報の利用方法と、それぞれの満たすべき性質は、実施例1と同様である。
【0219】
本実施例では、証明データをKとする。そして、式(7−1)により、アクセスチケット公開鍵Yを、上記適当な乱数z倍したE上の点C(cx,cy)を生成する。
【0220】
【数43】
(7−1) C(cx,cy)=zY
さらに、上記証明データKと点Cのx座標の値cxとの排他的論理和をとったものを、認証用データcとする。
【0221】
【数44】
(7−2) c=K[+]cx
[+]は排他的論理和を表す。
【0222】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図4に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図20に示す。
【0223】
以下に本実施例の動作を示す。
ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0224】
2.認証用データ記憶部106には、認証用データとしてcが記憶されている。証明データ検証装置100は、認証用データu’(=u)と、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0225】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0226】
4.続いて証明データ生成手段202は、アクセスチケット記憶手段に記憶されているアクセスチケットtを取得し、式(7−3)を実行してSを得る。
【0227】
【数45】
(7−3) S=tu’
【0228】
5.続いて証明データ生成手段202は、ユーザ固有情報記憶手段に記憶されているユーザの固有情報eを取得し、式7−4の計算を実行する。
【0229】
【数46】
(7−4) F(p,e,a,b.L)
【0230】
6.続いて証明データ生成手段202は、指数生成手段で生成されたデータを用いて、式(7−5)の計算を実行しS’を得る。
【0231】
【数47】
(7−5) S’=F(p,e,a,b,L)u’
【0232】
7.続いて証明データ生成手段202は、第一および第二演算部からR’およびSを得て、式(7−6)の計算を行いRを得る。
【0233】
【数48】
(7−6) R=S+S’
【0234】
8.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0235】
9.証明データ検証装置100の検証手段102は、認証データ記憶手段から認証用データcを取り出し、証明データRのx座標vxとの排他的論理和K’を計算する。
【0236】
【数49】
(7−7) K’=vx[+]c(ただし点Rの座標を(vx,vy)とする)
【0237】
10.証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0238】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0239】
[実施例8]
(図3、図5、図21)
本発明の実施例8は、実施例7の構成を変更したものである。本実施例では、所定のマスク演算を実行し、また復号を証明データ生成装置200側で行なう。
【0240】
本実施例において、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成、アクセスチケットt、認証用素データu、認証用データcの生成方法、および証明データ生成制御情報の利用方法と、それぞれの満たすべき性質は、実施例7と同様である。
【0241】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図5に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図21に示す。
【0242】
以下、本実施例の動作について説明する。
【0243】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0244】
2.証明データ検証装置100は、認証用データu’(=u)およびC’(=c)と、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するためのパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0245】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0246】
4.続いて証明データ生成手段202は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、式(8−1)を実行してSを得る。
【0247】
【数50】
(8−1) S=tu’
【0248】
4.証明データ生成装置200の指数生成手段は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(8−2)の計算を実行する。
【0249】
【数51】
(8−2) F(p,e,a,b)
【0250】
5.証明データ生成装置200の第二演算部は、指数生成手段で生成されたデータを用いて、式(8−3)の計算を実行しS’を得る。
【0251】
【数52】
(8−3) S’=F(p,e,a,b)u’
【0252】
6.証明データ生成装置200の証明データ生成手段は、第一および第二の演算部からS’およびSを得て、式(8−4)の計算を行いMを得る。
【0253】
【数53】
(8−4) M=S+S’
次に、証明用データcと、点Mのx座標vxを用いて、式(8−5)の計算を行い、Rを得る。
【0254】
【数54】
(8−5) R=vx[+]C’(ただし点Lの座標を(vx,vy)とする)
【0255】
7.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0256】
8.証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、受信したRと検証用データKが一致し、正しく検証が行われる。
【0257】
Rと検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0258】
[実施例9]
(図3、図7、図22)
本発明の実施例9は、実施例7の構成を変更したものである。本実施例では、Pohlig−Hellman暗号を用い、所定のマスク演算を行ない、復号を証明データ検証装置100側で行う。
【0259】
本実施例において、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成、アクセスチケットt、認証用素データu,認証用データcの生成方法、および証明データ生成制御情報の利用方法と、それぞれの満たすべき性質は、実施例7と同様である。なお、本実施例では、点Pの位数をqであるとする。
【0260】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図7に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図22に示す。
【0261】
以下、本実施例の動作について説明する。
【0262】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0263】
2.認証用データ記憶部106には、認証用データとしてcが記憶されている。証明データ検証装置100は、乱数生成部111によって、乱数rをアクセスチケット公開鍵記憶部104に保持されている点Pの位数qと互いに素になるように生成し、乱数記憶部113に記録する。
【0264】
次いで、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(9−1)の計算を行う。
【0265】
【数55】
(9−1) u’=ru
証明データ検証装置100は、こうして生成された認証用データu’と、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0266】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0267】
4.続いて証明データ生成手段202は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、式(9−2)を実行してSを得る。
【0268】
【数56】
(9−2) S=tu’
【0269】
5.続いて証明データ生成手段202は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(9−3)の計算を実行する。
【0270】
【数57】
(9−3) F(p,e,a,b,L)
【0271】
6.続いて証明データ生成手段202は、指数生成手段で生成されたデータを用いて、式(9−4)の計算を実行しS’を得る。
【0272】
【数58】
(9−4) S’=F(p,e,a,b,L)u’
【0273】
7.続いて証明データ生成手段202は、第一および第二の演算部からS’およびSを得て、式(9−5)の計算を行いRを得る。
【0274】
【数59】
(9−5) R=S+S’
【0275】
8.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0276】
9.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出し、アクセスチケット公開鍵記憶部104から点Pの位数qを取り出して、式(9−6)の計算を行う。
【0277】
【数60】
(9−6) v=(r-1 mod q)R
【0278】
10.証明データ検証装置100の検証用演算部108(検証手段102)は、認証用データ記憶部106から認証用データcを取り出し、cとvのx座標vxとの排他的論理和K’を計算する。
【0279】
【数61】
(9−7) K’=vx[+]c(ただし点vの座標を(vx,vy)とする)
【0280】
11.証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0281】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0282】
[実施例10]
(図3、図7、図23)
本発明の実施例10は、実施例7の構成を変更したものである。本実施例では、ElGamal暗号を用い、所定のマスク演算を行ない、復号を証明データ検証装置100側で行なう。
【0283】
本実施例において、有限体上での楕円曲線の設定方法と楕円曲線E上での暗号の構成、アクセスチケットt、認証用素データu,認証用データcの生成方法、および証明データ生成制御情報の利用方法と、それぞれの満たすべき性質は、実施例7と同様である。
【0284】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図7に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図23に示す。
【0285】
以下、本実施例の動作について説明する。
【0286】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0287】
2.認証用データ記憶部106には、認証用データとしてcが記憶されている。証明データ検証装置100は、乱数生成部111によって、乱数rを生成し、乱数記憶部113に記録する。
次いで、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(10−1)の計算を行う。
【0288】
【数62】
(10−1) u’=u+rP
証明データ検証装置100は、こうして生成された認証用データu’と、アクセスチケット公開鍵記憶部104に記憶されている、楕円曲線Eを定義するパラメータp,a,bを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0289】
3.証明データ生成手段202は、証明データ生成制御情報内の利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎていないかを確かめる。このとき、もし利用期限時刻が証明データ生成装置200の時計209が示す時刻を過ぎている場合は証明データ検証装置100にエラーコードを返す。
【0290】
4.続いて証明データ生成手段202は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、式(10−2)を実行しSを得る。
【0291】
【数63】
(10−2) S=tu’
【0292】
5.続いて証明データ生成手段202は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(10−3)の計算を実行する。
【0293】
【数64】
(10−3) F(p,e,a,b,L)
【0294】
6.続いて証明データ生成手段202は、指数生成手段で生成されたデータを用いて、式(10−4)の計算を実行しS’を得る。
【0295】
【数65】
(10−4) S’=F(p,e,a,b,L)u’
【0296】
7.続いて証明データ生成手段202は、第一および第二演算部からS’およびSを得て、式(10−5)の計算を行いRを得る。
【0297】
【数66】
(10−5) R=S+S’
【0298】
8.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0299】
9.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出し、まず式(10−6)の計算を行う。
【0300】
【数67】
(10−6) v=R−rY
【0301】
10.証明データ検証装置100の検証手段は、認証用データ記憶部106から認証用データcを取り出し、cとvのx座標vxとの排他的論理和K’を計算する。
【0302】
【数68】
(10−7) K’=vx[+]c(ただし点Rの座標を(vx,vy)とする)
【0303】
11.証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0304】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0305】
[実施例11]
(図24、図25)
次に証明用データ生成制御情報のバリエーションとしていくつかの実施例を示す。本実施例は実施例1から10において利用期間限定に用いられた証明用データ生成制御情報の利用例に代わるものである。本実施例では証明用データ生成制御情報が利用回数制限情報であり、予め定められた回数だけ認証やデータの復号を行うことができる場合について説明する。
【0306】
図24は証明データ生成装置200の構成の一例である。証明データ検証装置100の構成は前述のようなさまざまな構成をとることができ、その構成については特に限定しない。本実施例の証明データ生成装置200では時計209の代わりに、今までにアクセスチケットを用いて何回認証あるいは復号を行ったかを各アクセスチケット毎に記憶する第11の記憶手段210を備える。証明用データ生成制御情報は対応するアクセスチケットを最大何回利用できるかという回数情報を示しており、証明用データ生成手段202内の証明用データ生成手段制御手段は証明用データ生成制御情報に記載されている回数情報と、第11の記憶手段210に記憶されている対応するアクセスチケットの使用回数とを比較し、アクセスチケットの使用回数が証明用データ生成制御情報に記載されている回数情報以下である場合のみ、証明用データを生成し、その後第11の記憶手段210に記憶されている対応するアクセスチケットの使用回数の値をインクリメントする。
【0307】
図25は証明用データ生成手段202の動作を示すフローチャートである。このようにすることで回数券型の電子チケットを実現することができる。なお、図25に示される内容は、図から容易に理解できるので、とくに説明を行なわない。
【0308】
[実施例12]
(図26、図27)
本実施例では証明用データ生成制御情報が利用可能総時間情報であり、予め定められた時間だけ認証やデータの復号を行うことができる場合について説明する。本実施例は実施例1から10において利用期間限定に用いられた証明用データ生成制御情報の利用例に代わるものである。
【0309】
図26は証明データ生成装置200の構成の一例である。本実施例においても証明データ検証装置100の構成は前述のようなさまざまな構成をとることができ、その構成については特に限定しない。図26に示すように本実施例では証明データ生成装置200内に今までにアクセスチケットを用いて認証あるいは復号を行うことにより何時間サービスを享受したかを示す総利用時間を各アクセスチケット毎に記憶する第12の記憶手段210および各回ごとのサービスを享受した時間を計測するサービス時間計測手段212を備える。サービス時間計測手段212は例えばサービスの開始時と終了時に必ず認証を行うようにしておけば証明用データを作成した時間の差を計算することによりサービス時間を計測するというように実現できるし、別の通信手段でサービスの開始時と終了時に信号を受け取りそこからサービス時間を計測するというように実現してもよい。また、さらにサービス時間計測手段212は証明データ生成装置200内に存在する必然性はなく、サービス時間計測手段212から証明データ生成装置200内に安全にサービス時間を知らせる方法があれば証明データ生成装置200の外部にあってもよい。
【0310】
証明用データ生成制御情報は対応するアクセスチケットを最大何時間利用できるかという利用可能総時間情報を示しており、証明用データ生成手段202内の証明用データ生成手段制御手段は証明用データ生成制御情報に記載されている利用可能総時間情報と、第12の記憶手段210に記憶されている対応するアクセスチケットの現時点での総利用時間とを比較し、アクセスチケットの総利用時間が証明用データ生成制御情報に記載されている利用可能総時間以下である場合のみ、証明用データを生成する。その後サービスが終了した段階で第12の記憶手段210に記憶されている対応するアクセスチケットの利用可能総時間の値をサービス時間計測手段212により計測された時間だけ足す。またさらにサービスを享受している間にアクセスチケットの総利用時間とサービス時間計測手段212により計測された今回の利用時間との合計が第12の記憶手段210に記憶されている利用可能総時間を超えた場合サービスを停止するよう促してもよい。
【0311】
図27は証明用データ生成手段202の動作を示すフローチャートである。このようにすることで時間制限型の電子チケットを実現することができる。なお、図27に示される内容も、図から容易に理解できるので、とくに説明を行なわない。
【0312】
[実施例13]
(図28、図29)
本実施例では証明用データ生成制御情報が一回の利用に必要なポイントまたは料金情報であり、予め定められたポイントあるいは金額だけ認証やデータの復号を行うことができる場合について説明する。本実施例は実施例1から10において利用期間限定に用いられた証明用データ生成制御情報の利用例に代わるものである。
【0313】
図28は証明データ生成装置200の構成の一例である。本実施例においても証明データ検証装置100の構成は前述のようなさまざまな構成をとることができ、その構成については特に限定しない。図28に示すように本実施例では証明データ生成装置200内に認証または復号を行うに必要なポイント残数または残高情報を記憶する第13の記憶手段213を備える。証明用データ生成制御情報は対応するアクセスチケットを用いた一回の認証または復号に必要なポイント数または金額情報を示しており、証明用データ生成手段202内の証明用データ生成手段制御手段は証明用データ生成制御情報に記載されている一回の認証または復号に必要なポイント数または金額情報と、第13の記憶手段213に記憶されているポイント残数または残高情報とを比較し、ポイント残数または残高情報が一回の認証または復号に必要なポイント数または金額情報以上の場合にのみ、証明用データを生成する。その後、上記一回の認証または復号に必要なポイント数または金額分だけ第13の記憶手段213に記憶されている値を減じる。なお、第13の記憶手段213に記憶されている値は別手段により、書き換えることができる(ポイント数または金額の再充填)ようにしてもよい。
【0314】
図29は証明用データ生成手段202の動作を示すフローチャートである。このようにすることでプリペイド型の電子チケットを実現することができる。なお、図29に示される内容も、図から容易に理解できるので、とくに説明を行なわない。
【0315】
[実施例14]
(図30、図31)
本実施例では証明用データ生成制御情報が処理記録(以下ログ)を出力するかしないかを定めた情報であり、認証または復号を行う際にログを記録する必要がある場合には必ずログを記録するようにする方法について説明する。本実施例は実施例1から10において利用期間限定に用いられた証明用データ生成制御情報の利用例に代わるものである。
【0316】
現在、サービスを受けた時点でサービスに関するログを記録しておき、後でログに記載されているサービスに対して対価を払うポストペイド方式の支払い方式が存在する。この方式を実現するためにはサービスを提供する時に必ずログを残す必要があるが、さまざまな支払方式が混在する場面ですべての方式においてログを残すようにしておくと、プライバシーの侵害を招く恐れがある。そのためポストペイドサービスのようにログを残す必要がある場合にのみログを残すというように、ログを残すかどうかを制御する方法が必要である。
【0317】
図30は証明データ生成装置200の構成の一例である。本実施例においても証明データ検証装置100の構成は前述のようなさまざまな構成をとることができ、その構成については特に限定しない。図30に示すように本実施例ではログ記録手段214を備える。証明用データ生成制御情報は認証あるいは復号の際にログを記録するかどうかを表わす情報であり、ログを記録するように記載されている場合には認証あるいは復号の際に証明用データ生成手段202内の証明用データ生成手段制御手段がログ記録手段に対し必要な情報を受け渡し、ログ記録手段214はその情報を記録する。
【0318】
図31は証明用データ生成手段202の動作を示すフローチャートである。このようにすることで必要な場合にのみログを記録する方式を実現することができる。なお、図31に示される内容も、図から容易に理解できるので、とくに説明を行なわない。
【0319】
[実施例15]
(図32、図33)
本実施例では証明用データ生成制御情報がパスワードのように特定の個人しか知らない情報に関連するデータ、または声紋情報、指紋情報、アイリスパターン情報、網膜パターン情報などの個体識別情報に関するデータなどの個人認証情報に関する情報であり、これらのデータの照合が正しく行われた場合のみ認証やデータの復号を行うことができる方法について説明する。本実施例は実施例1から10において利用期間限定に用いられた証明用データ生成制御情報の利用例に代わるものである。
【0320】
図32は証明データ生成装置200の構成の一例である。本実施例においても証明データ検証装置100の構成は前述のようなさまざまな構成をとることができ、その構成については特に限定しない。図32に示すように本実施例では個人認証情報抽出手段214を備える。個人認証情報抽出手段214は証明データ生成装置200内にあってもよいし外部にあってもよい。証明用データ生成制御情報は対応するアクセスチケットを用いて認証または復号を行うことができる個人の個人認証情報または個人認証情報が取りうる範囲の情報を示しており、証明用データ生成手段202内の証明用データ生成手段制御手段は証明用データ生成制御情報に記載されている個人認証情報または個人認証情報が取りうる範囲の情報と、個人認証情報抽出手段214により与えられた情報とを比較して、同一あるいは有効範囲内であれば証明用データを生成する。
【0321】
図33は証明用データ生成手段202の動作を示すフローチャートである。このようにすることで予め個人認証のためのデータベースを持たない状況でも認証や復号を行う際に個人認証を行うことができる。なお、図33に示される内容も、図から容易に理解できるので、とくに説明を行なわない。
【0322】
[実施例16]
(図34、図35)
本実施例では証明用データ生成制御情報がさまざまな処理を行うためのプログラムであり、そのプログラムの処理結果に基づいて認証または復号を行うかどうかを制御する場合について説明する。本実施例は実施例1から10において利用期間限定に用いられた証明用データ生成制御情報の利用例に代わるものである。ここでの処理は上記の利用期間、利用回数、個人認証、ログの記録などさまざまな制御情報の組み合わせによる判断であったり、更には外部の構成要素215(図34)と通信を行うことにより例えばサービスの提供者またはソフトウエアプログラムやデータの著者のエージェントと通信を行い、サービスの享受の許可を得、所定の金額をサービスの提供者またはソフトウエアプログラムやデータの著者の口座に振り込んだことを確認するというものでもよい。
【0323】
図34は証明データ生成装置200の構成の一例である。本実施例においても証明データ検証装置100の構成は前述のようなさまざまな構成をとることができ、その構成については特に限定しない。図34に示すように本実施例では証明用データ生成制御情報に記載されたプログラムを実行する第2のプログラム実行手段216を備える。証明用データ生成手段202内の証明用データ生成手段制御手段は証明用データ生成制御情報に記載されているプログラムを第2のプログラム実行手段216において実行し、プログラムが特定の状態にて終了するまたは特定の状態にある場合にのみ、証明用データを生成する。
【0324】
図35は証明用データ生成手段202の動作を示すフローチャートである。このようにすることで上記のさまざまな制御方法を復号した制御を実現することができ、また他の構成要素と通信を行うことによりより高度な条件や動作制御を前提とした認証や復号を実現することができる。なお、図35に示される内容も、図から容易に理解できるので、とくに説明を行なわない。
【0325】
[実施例17]
(図3、図4、図36)
本実施例では、乱数を用いず、また復号を証明データ検証装置100側で行なう。
【0326】
本発明における実施例17では、アクセス資格認証の特徴情報Xは、法数p(pは十分大きな素数)のもとでのElGamal暗号の秘密鍵であり、Yが対応する公開鍵である。即ち、式(17−1)を満たす。
【0327】
【数69】
(17−1) Y=aX mod p
ここで、aは位数pの有限体の乗法群の生成元、即ち、式(17−2)及び(17−3)を満たす。
【0328】
【数70】
(17−2) a≠0
(17−3) min{x>0|ax=1 mod p}=p−1
次に、ユーザを識別するために、ユーザ毎に異なる数であるユーザ固有情報eを定め、アクセス資格認証の条件を定めた証明データ生成制御情報をLとする。アクセスチケットtは次の式(17−4)に基づいて生成される。
【0329】
【数71】
(17−4) t=X−F(p,e,L)
Xがアクセスチケット秘密鍵、Yがアクセスチケット公開鍵である。
【0330】
次に本実施例の動作を示す。
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図4に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図36に示す。
【0331】
1.ユーザが、アクセス資格認証装置による認証を必要とするデジタルコンテンツにアクセスすることによって、証明データ検証装置100が起動される。
【0332】
証明データ検証装置100の実現方法として、ユーザのPCやワークステーション上で動作するアプリケーションプログラム、ユーザのPCやワークステーションとネットワークを介して接続されたサーバ上のサーバプログラム、あるいは、ICカード・リーダ・ライターのような専用の装置のいずれも可能であることは、実施例1の場合と変わらない。これは、以降の実施例においても同様である。
【0333】
2.証明データ検証装置100は、認証用データu’と、アクセスチケット公開鍵記憶部104に記憶されている法数p、及び生成条件Lを、証明データ生成装置200の第1の記憶手段205に書き込む。認証用素データ記憶部105には、認証用素データとしてuが、また、認証用データ記憶部106には、認証用データとしてCが記憶されているが、それらは次の性質を満たす。
【0334】
uは、上記aを法pのもとで適当な乱数zを指数としてべき乗した数であり、即ち、式(17−5)を満たす。
【0335】
【数72】
(17−5) u=az mod p
ここで、検証用データを適当なデータKとする時、Cは、アクセスチケット公開鍵Yを、法pのもとで、上記乱数zを指数としてべき乗した数と、検証用データKとの積であり、式(17−6)を満たす。
【0336】
【数73】
(17−6) C=YzK mod p
検証用データKを証明データ検証装置100に保持せず、代わりに、その暗号化の結果であるCのみを保持するように証明データ検証装置100を構成すれば、証明データ検証装置100から検証用データが漏洩する危険を回避することができる。
【0337】
また、本実施例では、認証用データu’は認証用素データuと同一である。
【0338】
【数74】
(17−7) u’=u
【0339】
3.証明データ生成装置200の第一演算部は、アクセスチケット記憶部に記憶されているアクセスチケットtを取得し、受信データ記憶部107に書き込まれた法数pのもとで式(17−8)を実行しSを得る。
【0340】
【数75】
(17−8) S=ut mod p
【0341】
4.証明データ生成装置200の指数生成手段は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(17−9)の計算を実行する。
【0342】
【数76】
(17−9) F(e,p,L)
【0343】
5.証明データ生成装置200の第二演算部は、指数生成手段で生成されたデータを用いて、式(17−10)の計算を実行しS’を得る。
【0344】
【数77】
(17−10) S’=uF(e,p,L) mod p
【0345】
6.証明データ生成装置200の証明データ生成手段202は、第一および第二演算部からS’およびSを得て、式(17−11)の計算を行いRを得る。
【0346】
【数78】
(17−11) R=S・S’ mod p
【0347】
7.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0348】
8.証明データ検証装置100の検証用演算部108(検証手段102)は、認証データ記憶部106から認証用データCを取り出し、式(17−12)の計算を行う。
【0349】
【数79】
(17−12) K’=C・R-1 mod p
【0350】
9.証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0351】
10.計算されたK’は、証明データ検証装置100の実行手段に引き渡されるが、実行手段はK’=Kが成立する場合に限り正規の処理を実行する。
【0352】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0353】
[実施例18]
(図3、図7、図37)
本発明の実施例18は、実施例17の構成を変更したものである。復号は証明データ検証装置100側で行なう。
【0354】
本実施例において、ElGamal公開鍵暗号の構成、アクセスチケットt、及び認証用素データu,認証用データCの生成方法とそれぞれの満たすべき性質は、実施例17と同様である。
【0355】
以下の実施例では、認証用データ及び証明データに乱数効果を付与することにより、通信路上でこれらのデータを盗まれた場合に、再使用を不可能とするような構成例を示す。
【0356】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図7に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図37に示す。
【0357】
以下、本実施例の動作について説明する。
【0358】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0359】
2.証明データ検証装置100は、認証用データu’と、アクセスチケット公開鍵記憶部104に記憶されている法数p、及び生成条件Lを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0360】
認証用素データ記憶部105には、認証用素データとしてuが記憶され、認証用データ記憶部106には認証用データCが記憶されている。
【0361】
証明データ検証装置100は、乱数生成部111によって、乱数rをアクセスチケット公開鍵記憶部104に保持されている法数pより1引いた値(p−1)と互いに素になるように生成し、乱数記憶部113に記録する。
次いで、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(18−1)により認証用データu’を計算する。
【0362】
【数80】
(18−1) u’=ur mod p
【0363】
3.証明データ生成装置200の第一演算部は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、受信データ記憶部107に書き込まれた法数pのもとで式(18−2)を実行しSを得る。
【0364】
【数81】
(18−2) S=u’t mod p
【0365】
4.証明データ生成装置200の指数生成手段は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(18−3)の計算を実行する。
【0366】
【数82】
(18−3) F(p,e,L)
【0367】
5.証明データ生成装置200の第二演算部は、指数生成手段で生成されたデータを用いて、式(18−4)の計算を実行しS’を得る。
【0368】
【数83】
(18−4) S’=u’F(p,e,L) mod p
【0369】
6.証明データ生成装置200の証明データ生成手段は、第一および第二
の演算部からS’およびSを得て、式(18−5)の計算を行いRを得る。
【0370】
【数84】
(18−5) R=S’S mod p
【0371】
7.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0372】
8.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出し、まず式(18−6)の計算を行う。
【0373】
【数85】
Figure 0003867388
次いで、計算の結果得られたvと、認証用データ記憶部106に記憶されているCを用いて、式(18−7)の計算を行う。
【0374】
【数86】
(18−7) K’=C・v-1 mod p
9.証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0375】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0376】
[実施例19]
(図3、図6、図38)
本発明の実施例19は、実施例18の構成を変更したものである。復号を証明データ生成装置200側で行なう。
【0377】
本実施例において、ElGamal公開鍵暗号の構成、アクセスチケットt、及び認証用素データu,認証用データCの生成方法とそれぞれの満たすべき性質は、実施例17と同様である。
【0378】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図6に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図38に示す。
【0379】
以下、本実施例の動作について説明する。
【0380】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0381】
2.証明データ検証装置100は、認証用データu’,C’と、アクセスチケット公開鍵記憶部104に記憶されている法数p、及び生成条件Lを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0382】
認証用素データ記憶部105には、認証用素データとしてuが記憶され、認証用データ記憶部106には認証用データCが記憶されている。
【0383】
証明データ検証装置100は、乱数生成部111によって、乱数rをアクセスチケット公開鍵記憶部104に保持されている法数pより1引いた値(p−1)と互いに素になるように生成し、乱数記憶部113に記録する。
次いで、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(19−1)の計算により認証用データu’を計算する。
【0384】
【数87】
(19−1) u’=ur mod p
また、認証用データC’は、次のように生成される。
データ記憶手段に記憶されているデータCを取得して、式(19−2)の計算を行う。
【0385】
【数88】
(19−2) C’=Cr mod p
【0386】
3.証明データ生成装置200の第一演算部は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、受信データ記憶部107に書き込まれた法数pのもとで式(19−3)を実行しSを得る。
【0387】
【数89】
(19−3) S=u’t mod p
【0388】
4.証明データ生成装置200の指数生成手段は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(19−4)の計算を実行する。
【0389】
【数90】
(19−4) F(p,e,L)
【0390】
5.証明データ生成装置200の第二演算部は、指数生成手段で生成されたデータを用いて、式(19−5)の計算を実行しS’を得る。
【0391】
【数91】
(19−5) S’=u’F(p,e,L) mod p
【0392】
6.証明データ生成装置200の証明データ生成手段は、第一および第二
の演算部からS’およびSを得て、式(19−6)の計算を行いRを得る。
【0393】
【数92】
(19−6) R=C’(S’S)-1 mod p
【0394】
7.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0395】
8.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出し、式(19−7)の計算を行う。
【0396】
【数93】
Figure 0003867388
【0397】
9.証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と証明データKが一致し、正しく検証が行われる。
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0398】
[実施例20]
(図3、図7、図39)
本発明の実施例20は、実施例18の構成を変更したものである。実施例18とは、認証の手法が異なっている。復号は同様に証明データ検証装置100側で行なわれる。
【0399】
本実施例において、ElGamal公開鍵暗号の構成、アクセスチケットt、及び認証用素データu,認証用データCの生成方法とそれぞれの満たすべき性質は、実施例19と同様である。
【0400】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図7に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図39に示す。
【0401】
以下、本実施例の動作について説明する。
【0402】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0403】
2.証明データ検証装置100は、認証用データu’と、アクセスチケット公開鍵記憶部104に記憶されている法数p、及び生成条件Lを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0404】
認証用素データ記憶部105には、認証用素データとしてuが記憶され、認証用データ記憶部106には認証用データCが記憶されている。
【0405】
証明データ検証装置100は、乱数生成部111によって、乱数rを生成し、乱数記憶部113に記録する。
【0406】
次いで、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(20−1)により認証用データu’を計算する。
【0407】
【数94】
(20−1) u’=u・ar mod p
【0408】
3.証明データ生成装置200の第一演算部は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、受信データ記憶部107に書き込まれた法数pのもとで式(20−2)を実行しSを得る。
【0409】
【数95】
(20−2) S=u’t mod p
【0410】
4.証明データ生成装置200の指数生成手段は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(20−3)の計算を実行する。
【0411】
【数96】
(20−3) F(p,e,L)
【0412】
5.証明データ生成装置200の第二演算部は、指数生成手段で生成されたデータを用いて、式(20−4)の計算を実行しS’を得る。
【0413】
【数97】
(20−4) S’=u’F(p,e,L) mod p
【0414】
6.証明データ生成装置200の証明データ生成手段は、第一および第二演算部からS’およびSを得て、式(20−5)の計算を行いRを得る。
【0415】
【数98】
(20−5) R=S’S mod p
【0416】
7.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0417】
8.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出し、まず式(20−6)の計算を行う。
【0418】
【数99】
(20−6) v=Y-r・R mod p
次に認証用データ記憶部106からCを取り出して、式(20−7)の計算を行う。
【0419】
【数100】
(20−7) K’=C・v-1 mod p
9.証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0420】
K’とKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0421】
[実施例21]
(図3、図6、図40)
本発明の実施例21では、実施例18、19の構成を変更したものである。基本的な認証手法は実施例19と同様であり、ただ、復号を実施例18のように証明データ生成装置200側で行なっている。
【0422】
本実施例では、ElGamal公開鍵暗号の構成、アクセスチケットt、及び認証用素データu、認証用データCの生成方法とそれぞれの満たすべき性質は、実施例19と同様である。
【0423】
本実施例の証明データ生成装置200の構成を図3に示し、証明データ検証装置100の構成を図6に示す。また、本実施例の証明データ生成装置200の動作および証明データ検証装置100の動作を図40に示す。
【0424】
以下、本実施例の動作について説明する。
【0425】
1.ユーザがアクセスすることによって、証明データ検証装置100が起動される。
【0426】
2.証明データ検証装置100は、認証用データu’,Cと、アクセスチケット公開鍵記憶部104に記憶されている法数p、及び生成条件Lを、証明データ生成装置200の第1の記憶手段205に書き込む。
【0427】
認証用素データ記憶部105には、認証用素データとしてuが記憶され、認証用データ記憶部106には認証用データCが記憶されている。
証明データ検証装置100は、乱数生成部111によって、乱数rを生成し、乱数記憶部113に記録する。
次いで、乱数効果付与部112は、認証用素データ記憶部105に記憶されているデータuを取得して、式(21−1)の計算により認証用データu’を計算する。
【0428】
【数101】
(21−1) u’=u・ar mod p
【0429】
3.証明データ生成装置200の第一演算部は、第3の記憶手段207(アクセスチケット記憶部203)に記憶されているアクセスチケットtを取得し、受信データ記憶部107に書き込まれた法数pのもとで式(21−2)を実行しSを得る。
【0430】
【数102】
(21−2) S=u’t mod p
【0431】
4.証明データ生成装置200の指数生成手段は、第4の記憶手段208(ユーザ固有情報記憶部201)に記憶されているユーザの固有情報eを取得し、式(21−3)の計算を実行する。
【0432】
【数103】
(21−3) F(p,e,L)
【0433】
5.証明データ生成装置200の第二演算部は、指数生成手段で生成されたデータを用いて、式(21−4)の計算を実行しS’を得る。
【0434】
【数104】
(21−4) S’=u’F(p,e,L) mod p
【0435】
6.証明データ生成装置200の証明データ生成手段は、第一および第二の演算部からS’およびSを得て、式(21−5)の計算を行いRを得る。
【0436】
【数105】
(21−5) R=C’(S’S)-1 mod p
【0437】
7.証明データ生成装置200はRを証明データ検証装置100の受信データ記憶部107に返送する。
【0438】
8.証明データ検証装置100の乱数効果除去部114は、乱数記憶部113から先に生成した乱数rを取り出し、アクセスチケット公開鍵記憶部104からYを取り出して、式(21−6)の計算を行う。
【0439】
【数106】
(21−6) K’=Yr・R mod p
9.証明データ生成装置200において用いられるアクセスチケットtとユーザの固有情報eの組み合わせが正しい場合に限り、計算の結果得られたK’と検証用データKが一致し、正しく検証が行われる。
【0440】
K’と検証用データKとの比較方法に関しては、実施例1と同様の方法を用いることができる。
【0441】
【発明の効果】
以上説明したように、本発明によれば、第1に、電子化されたチケットの正当性を判断する際に、安全性を確保したままで、有効期限や利用回数制限やそれらの組み合わせといったように柔軟な条件を設定でき、しかもそれらの条件が改竄された場合には正しく認証が行われないようにすることができる。第2に、暗号化されたデジタル情報を条件付きで復号する場合に於いては、デジタル情報を復号して利用する際に復号を行うための条件等を設定でき、しかも復号を行うための条件等は暗号化されたデジタル情報自身とは独立であり、したがってユーザ毎に異なる条件等を割り当てることが容易で、しかも復号を行うための条件等が改竄された場合には正しくデジタル情報の復号が行われないようにすることができる。
【0442】
また、本発明によれば、認証の特徴情報に、有限体上での楕円曲線上で定義された、非対称鍵暗号系を用いることにより、RSA公開鍵暗号等を用いる場合に比べて、鍵の長さを短くしても同等の安全性が得られ、かつ処理を高速に行うことができる。
【図面の簡単な説明】
【図1】 本発明の全体構成を示すブロック図である。
【図2】 本発明の他の全体構成を示すブロック図である。
【図3】 証明データ生成装置の構成を示すブロック図である。
【図4】 第1の証明データ検証装置の構成を示すブロック図である。
【図5】 第2の証明データ検証装置の構成を示すブロック図である。
【図6】 第3の証明データ検証装置の構成を示すブロック図である。
【図7】 第4の証明データ検証装置の構成を示すブロック図である。
【図8】 実施例1の動作を説明するフローチャートである。
【図9】 実施例2の動作を説明するフローチャートである。
【図10】 実施例3の動作を説明するフローチャートである。
【図11】 実施例4の動作を説明するフローチャートである。
【図12】 実施例5の動作を説明するフローチャートである。
【図13】 実施例6の動作を説明するフローチャートである。
【図14】 復号結果の検証方法(復号結果を直接比較する場合)を示す図である。
【図15】 復号結果の検証方法(一方向性関数を用いる場合)を示す図である。
【図16】 復号結果の検証方法(復号された値が他のデータの復号鍵である場合)を示す図である。
【図17】 復号結果の検証方法(復号された値の冗長性を検証する場合)を示す図である。
【図18】 証明用データ生成手段の構成例を示す図である。
【図19】 復号結果の検証方法(復号された値がプログラムコードの場合)を示すである。
【図20】 実施例7の動作を説明するフローチャートである。
【図21】 実施例8の動作を説明するフローチャートである。
【図22】 実施例9の動作を説明するフローチャートである。
【図23】 実施例10の動作を説明するフローチャートである。
【図24】 実施例11における証明データ生成装置の構成例を示すブロック図である。
【図25】 実施例11における証明データ生成装置の動作を示すフローチャートである。
【図26】 実施例12における証明データ生成装置の構成例を示すブロック図である。
【図27】 実施例12における証明データ生成装置の動作を示すフローチャートである。
【図28】 実施例13における証明データ生成装置の構成例を示すブロック図である。
【図29】 実施例13における証明データ生成装置の動作を示すフローチャートである。
【図30】 実施例14における証明データ生成装置の構成例を示すブロック図である。
【図31】 実施例14における証明データ生成装置の動作を示すフローチャートである。
【図32】 実施例15における証明データ生成装置の構成例を示すブロック図である。
【図33】 実施例15における証明データ生成装置の動作を示すフローチャートである。
【図34】 実施例16における証明データ生成装置の構成例を示すブロック図である。
【図35】 実施例16における証明データ生成装置の動作を示すフローチャートである。
【図36】 実施例17の動作を説明するフローチャートである。
【図37】 実施例18の動作を説明するフローチャートである。
【図38】 実施例19の動作を説明するフローチャートである。
【図39】 実施例20の動作を説明するフローチャートである。
【図40】 実施例21の動作を説明するフローチャートである。
【符号の説明】
100 証明データ検証装置
101 認証用データ記憶部
102 検証手段
103 実行手段
104 アクセスチケット公開鍵記憶部
105 認証用素データ記憶部
106 認証用データ記憶部
107 受信データ記憶部
108 検証用演算部(検証手段102)
200 証明データ生成装置
201 ユーザ固有情報記憶部
202 証明データ生成手段
203 アクセスチケット記憶部
204 証明データ生成制御情報記憶部
205 第1の記憶手段(認証用データを記憶する手段)
206 第2の記憶手段(証明データ生成制御情報記憶部204)
207 第3の記憶手段(アクセスチケット記憶部203)
208 第4の記憶手段208(ユーザ固有情報記憶部201)
209 時計
300 アクセスチケット生成装置
400 証明データ生成制御情報生成装置

Claims (31)

  1. ユーザの権限を証明するために生成された証明データの正当性を検証するとともに、上記ユーザの権限に付加された条件が満たされるかどうかを判断することにより、上記ユーザの権限を認証する条件付き認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    上記証明データの生成を行うための制御情報を記憶する第2の記憶手段と、
    認証の特徴情報と、上記第2の記憶手段に記憶されている証明データの生成を行うための制御情報とに所定の演算を施して生成される認証用補助情報を保持する第3の記憶手段と、
    上記証明データの生成を行うための制御情報に従い所定の処理あるいは条件判断を行う証明データ生成装置制御手段と少なくとも上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報を用いて証明データを生成する演算手段とを具備する証明データ生成手段と、
    上記証明データ生成手段により生成された証明データが上記認証の特徴情報に基づき生成されたものであるかどうかを検証する証明データ検証手段とを有し、
    上記証明データ生成手段は、正当な上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報が与えられた時のみ正当な証明データを生成し、
    上記認証の特徴情報が、有限群G上の離散対数問題を利用した非対称暗号系における、復号鍵Xであり、
    さらに、ユーザ固有情報を記憶する第4の記憶手段を有し、
    上記第3の記憶装置に記憶される上記証明用補助情報は、上記証明データの生成を行うための制御情報と、上記認証の特徴情報と、上記ユーザ固有情報とに所定の演算を施して生成され、
    上記証明データ生成手段は、少なくとも上記ユーザ固有情報と、上記証明データの生成を行うための制御情報と、上記認証用補助情報と、上記第1の認証用データとを用いて証明データを生成することを特徴とする条件付き認証装置。
  2. 上記証明データ生成手段の上記演算手段が、第1の演算手段と、第2の演算手段とから構成され、
    上記第1の演算手段は、上記第1の記憶手段に記憶されている認証用データと、上記第2の記憶手段に記憶されている証明データの生成を行うための制御情報と、上記第4の記憶手段に記憶されているユーザ固有情報とに所定の計算を施し、
    上記第2の演算手段が、上記第1の演算手段による計算結果と、上記第1の記憶手段に記憶されている認証用データと、上記第3の記憶手段に記憶されている証明用補助情報とに所定の計算を施し、その結果として上記証明データを生成することを特徴とする請求項に記載の条件付き認証装置。
  3. 第2の認証用データを記憶する第5の記憶手段を有し、
    上記第2の認証用データが適当なデータを上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、
    上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データと、上記第5の記憶手段に記憶されている第2の認証用データとに対して特定の演算を施した結果が、認証の特徴情報である上記暗号鍵に対応する復号鍵によって、上記第2の認証用データを正しく復号したものであることを認証することを特徴とする、請求項またはに記載の条件付き認証装置。
  4. 上記アクセス資格認証の特徴情報が、Gの元aのもとで、
    Gが乗法群であればY=a
    Gが加法群であればY=Xa
    を満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、
    uが上記aを適当な乱数zを使って、
    Gが乗法群であればz乗(u=a)、
    Gが加法群であればz倍(u=za)、
    したものであり、
    Cが、データKを、上記Yを上記乱数zを使って
    Gが乗法群であればz乗、
    Gが加法群であればz倍、
    したもので所定のマスク演算した結果であるとき、
    上記第1の記憶手段に認証用データとしてuが記憶され、上記第5の記憶手段にはCが記憶され、
    上記証明データ検証手段は、上記第5の記憶手段に記憶されているCから、上記証明データ生成手段によって生成された証明データRによるマスクを取り除いたものと、上記Kとが法pのもとで合同であることを検証することを特徴とする請求項に記載の条件付き認証装置。
  5. 乱数生成手段と、生成した乱数を記憶する第6の記憶手段とをさらに有し、
    上記第1の認証データには、上記乱数生成手段が生成した乱数による効果が付与され、
    上記証明データ検証手段が、上記証明データ生成手段によって生成された証明データから、上記乱数による効果を除去することを特徴とする請求項またはに記載の条件付き認証装置。
  6. 上記証明データ生成手段は、上記証明補助情報tと、上記ユーザ固有情報eと、上記第1の記憶手段に書き込まれた認証用データuあるいはそれに乱数効果のかかったu’とを用いて、Gが乗法群であればuあるいはu’のX乗、Gが加法群であればuあるいはu’のX倍を計算することを特徴とする請求項3から5のいずれか一項に記載の条件付き認証装置。
  7. 第2の認証用データを記憶する第5の記憶手段を有し、
    上記第2の認証用データが適当なデータを上記復号鍵に対応する暗号化鍵を用いて暗号化したものであり、
    上記証明データ検証手段は、上記証明データ生成手段が生成する上記証明データが、認証の特徴情報である上記暗号鍵に対応する復号鍵によって、上記第2の認証用データを正しく復号したものであることを認証することを特徴とする請求項またはに記載の条件付き認証装置。
  8. 有限群Gが乗法群であり、上記アクセス資格認証の特徴情報が、Gの元aのもとで
    Gが乗法群であればY=a
    Gが加法群であればY=Xa
    を満たすように構成される復号鍵Xであり、鍵Xに対応する暗号化の鍵がYであり、
    uが上記aを法pのもとで適当な乱数zを使って、
    Gが乗法群であればz乗(u=a)、
    Gが加法群であればz倍(u=za)、
    したものであり、
    Cが、データKを、上記Yを上記乱数zを使って、
    Gが乗法群であればz乗、
    Gが加法群であればz倍、
    したもので所定のマスク演算した結果であるとき、
    上記第1の記憶手段に認証用データとしてuが記憶され、上記第5の記憶手段にはCが記憶され、
    上記証明データ検証手段は、上記証明データ生成手段によって生成された証明データが、上記Kとが法pのもとで合同であることを検証することを特徴とする請求項7に記載の条件付き認証装置。
  9. 乱数生成手段と、
    生成した乱数を記憶する第6の記憶手段とをさらに有し、上記第1の認証データおよび上記第2の認証データには、上記乱数生成手段が生成した乱数による効果が付与され、
    上記証明データ検証手段が、上記証明データ生成手段によって生成された証明データから、上記乱数による効果を除去することを特徴とする請求項またはに記載の条件付き認証装置。
  10. 上記証明データ生成手段は、上記証明補助情報tと、上記ユーザ固有情報eと、第1の記憶手段に書き込まれた認証用データu、Cあるいはそれに乱数効果のかかったu’、C’を用いて、CあるいはC’から、Gが乗法群であればuあるいはu’のX乗、Gが加法群であればuあるいはu’のX倍、によるマスクを取り除いたもの計算することを特徴とする請求項7から9のいずれか一項に記載の条件付き認証装置。
  11. 上記第3の記憶手段に記憶される証明用補助情報tが、上記Xと、群Gを規定する情報と、制御情報Lとに所定の演算を施して得られるデータであることを特徴とする請求項1から10のいずれか一項に記載の条件付き認証装置。
  12. 上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、群Gを規定する情報と制御情報Lとに依存する非衝突性関数値Fを減じて得られるデータであることを特徴とする請求項11に記載の条件付き認証装置。
  13. 上記第3の記憶手段に記憶される証明用補助情報tが、上記Xと、暗号化鍵Yと、制御情報Lとに所定の演算を施して得られるデータであることを特徴とする請求項1から10のいずれか一項に記載の条件付き認証装置。
  14. 上記第3の記憶手段に記憶される証明用補助情報tが、上記Xから、暗号化鍵Yと制御情報Lとに依存する非衝突性関数値Fを減じて得られるデータであることを特徴とする請求項13に記載の条件付き認証装置。
  15. 上記証明データ生成手段が、第1の演算手段と、第2の演算手段とからなり、
    第1の演算手段は、上記uのあるいはu’を、乗法群であれば上記非衝突性関数値で乗じたもの、加法群であれば上記非衝突性関数値で倍したものを計算し、
    第2の演算手段は、上記uのあるいはu’を、乗法群であればt乗、加法群であればt倍したものと、第1の演算手段の計算結果とに対して、乗法群であれば積をとり、加法群であれば和をとることによって、証明データRを生成することを特徴とする請求項12または14に記載の条件付き認証装置。
  16. 上記第2の演算手段が、上記uのあるいはu’を、乗法群であればt乗、加法群であればt倍したものと、第1の演算手段の計算結果とを、乗法群であれば積をとり、加法群であれば和をとって、上記CあるいはC’から、上記積あるいは和の結果によるマスクを取り除くことを特徴とする請求項15に記載の条件付き認証装置。
  17. 少なくとも、上記第2の記憶手段と、
    上記証明データ生成手段とが、内部のデータ及び処理手続きを外部から観測することを困難ならしめる防御手段中に保持されていることを特徴とする請求項1から16のいずれか一項に記載の条件付き認証装置。
  18. 少なくとも、上記第2の記憶手段と、
    上記第1の演算手段とが、内部のデータ及び処理手続きを外部から観測することを困難ならしめる防御手段中に保持されていることを特徴とする請求項15または16に記載の条件付き認証装置。
  19. 証明データ生成装置が、少なくとも上記第1の記憶手段と、上記第2の記憶手段と、上記第3の記憶手段と、上記証明データ生成手段とを有し、
    証明データ検証装置が、少なくとも上記証明データ検証手段を有し、さらに認証用データを記憶する第7の記憶手段と、証明データを記憶する第8の記憶手段とを有し、
    上記証明データ生成装置と上記証明データ検証装置とが互いに通信することによりユーザのアクセス資格を認証する条件付き認証装置において、
    上記証明データ検証装置は、上記第7の記憶手段に記憶されている認証用データを上記証明データ生成装置の上記第1の記憶手段に書き出し、
    上記証明データ生成装置は、上記証明データ生成手段によって上記第1の記憶手段に書き込まれた上記認証用データをもとに生成した証明データを、上記証明データ検証装置の上記第8の記憶手段に書き出し、
    上記証明データ検証装置は上記第8の記憶手段に書き込まれた上記証明データを用いてユーザのアクセス資格を認証することを特徴する請求項1〜18のいずれか一項に記載の条件付き認証装置。
  20. 上記証明データ検証手段は、さらに、暗号化されたデータである上記第2の認証用データに対応する平文データを記憶する第8の記憶手段と、
    比較手段とを有し、上記比較手段は、上記証明データ生成手段が生成した上記証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値と、上記第8の記憶手段に記憶されている平文データとを比較し、両者が一致した場合に限り、上記証明データが正当であると判断することを特徴とする請求項3から10のいずれか一項に記載の条件付き認証装置。
  21. 上記証明データ検証手段は、さらに、何らかのデータを暗号を用いて暗号化したデータを記憶する第9の記憶手段を有し、上記第2の認証用データは、上記データを暗号化するために用いた暗号の鍵を暗号化したものであり、上記証明データ検証手段は、上記証明データ生成手段が生成した証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値を、上記データを暗号化するために用いた暗号の復号鍵として用いることにより、上記暗号化されたデータが復号できることによって、上記証明データが正当であると判断することを特徴とする請求項3から10のいずれか一項に記載の条件付き認証装置。
  22. ユーザの権限を証明するために生成された証明データの正当性を検証するとともに、上記ユーザの権限に付加された条件が満たされるかどうかを判断することにより、上記ユーザの権限を認証する条件付き認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    上記証明データの生成を行うための制御情報を記憶する第2の記憶手段と、
    認証の特徴情報と、上記第2の記憶手段に記憶されている証明データの生成を行うための制御情報とに所定の演算を施して生成される認証用補助情報を保持する第3の記憶手段と、
    上記証明データの生成を行うための制御情報に従い所定の処理あるいは条件判断を行う証明データ生成装置制御手段と少なくとも上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報を用いて証明データを生成する演算手段とを具備する証明データ生成手段と、
    上記証明データ生成手段により生成された証明データが上記認証の特徴情報に基づき生成されたものであるかどうかを検証する証明データ検証手段とを有し、
    上記証明データ生成手段は、正当な上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報が与えられた時のみ正当な証明データを生成し、
    上記認証の特徴情報が、有限群G上の離散対数問題を利用した非対称暗号系における、復号鍵Xであり、
    上記証明データ検証手段は、さらに、データの冗長性を検証する冗長性検証手段を有し、上記証明データ生成手段が生成した上記証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値が、上記冗長性検証手段によって特定の冗長性をもつことが確認されることによって、上記証明データが正当であると判断することを特徴とする条件付き認証装置。
  23. 上記証明データ検証手段は、さらに、暗号化されたデータである上記第2の認証用データに対応する平文データに、所定の一方向関数を施した結果を記憶する第10の記憶手段と、上記一方向関数を実行する第4の演算手段と、比較手段とを有し、上記第4の演算手段は、上記証明データ生成手段が生成した上記証明データの値もしくは上記証明データを用いて演算を行った結果得られた値に一方向関数を施し、上記比較手段は、上記第4の演算手段による計算結果と、上記第10の記憶手段に記憶されているデータとを比較し、両者が一致した場合に限り、上記証明データが正当であると判断することを特徴とする請求項3から10のいずれか一項に記載の条件付き認証装置。
  24. 上記証明データ検証手段は、さらに、プログラム実行手段を含み、
    上記第2の認証用データは、プログラムを暗号化して得られるデータであり、上記証明データ検証手段が、証明データ生成手段が生成した上記証明データの値、もしくは上記証明データを用いて特定の演算を行った値をプログラムの一部もしくは全部としてプログラム実行手段に引き渡すことにより、上記証明データ生成手段が暗号化されたプログラムである上記第2の認証用データを正しく復号した場合、即ち、暗号化されたプログラムが正しく復号された場合に限り、上記プログラム実行手段が正しい動作を行うことを特徴とする請求項3から10のいずれか一項に記載の条件付き認証装置。
  25. 上記証明データ検証手段は、さらに、プログラム実行手段と、プログラム記憶手段と、プログラム復号手段とを含み、上記プログラム記憶手段に記憶されているプログラムは、その一部あるいは全部が暗号化されたものであり、上記第2の認証用データは、上記暗号化されたプログラムを復号するための復号鍵を別途暗号化して得られるデータであり、上記証明データ検証手段は、上記証明データ生成手段が生成した上記証明データを上記プログラム復号手段に引き渡し、上記プログラム復号手段は、上記証明データ生成手段が生成した証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値を復号鍵として、上記プログラム記憶手段に記憶されたプログラムの一部もしくは全部を復号し、上記プログラム実行手段が復号されたプログラムを実行することにより、上記証明データ生成手段が上記第2の認証用データを正しく復号された場合、即ち、暗号化されたプログラムを復号するために復号鍵が正しく復号された場合に限り、上記プログラム実行手段が正しい動作を行うことを特徴とする請求項3から10のいずれか一項に記載の条件付き認証装置。
  26. ユーザの権限を証明するために生成された証明データの正当性を検証するとともに、上記ユーザの権限に付加された条件が満たされるかどうかを判断することにより、上記ユーザの権限を認証する条件付き認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    上記証明データの生成を行うための制御情報を記憶する第2の記憶手段と、
    認証の特徴情報と、上記第2の記憶手段に記憶されている証明データの生成を行うための制御情報とに所定の演算を施して生成される認証用補助情報を保持する第3の記憶手段と、
    上記証明データの生成を行うための制御情報に従い所定の処理あるいは条件判断を行う証明データ生成装置制御手段と少なくとも上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報を用いて証明データを生成する演算手段とを具備する証明データ生成手段と、
    上記証明データ生成手段により生成された証明データが上記認証の特徴情報に基づき生成されたものであるかどうかを検証する証明データ検証手段とを有し、
    上記証明データ生成手段は、正当な上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報が与えられた時のみ正当な証明データを生成し、
    上記認証の特徴情報が、有限群G上の離散対数問題を利用した非対称暗号系における、復号鍵Xであり、
    さらに時刻を示す時計を備え、上記証明データの生成を行うための制御情報は、認証を行うことができる有効期間であり、認証を行う時の時刻が有効期間内にある時のみ証明データを生成することを特徴とした条件付き認証装置。
  27. ユーザの権限を証明するために生成された証明データの正当性を検証するとともに、上記ユーザの権限に付加された条件が満たされるかどうかを判断することにより、上記ユーザの権限を認証する条件付き認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    上記証明データの生成を行うための制御情報を記憶する第2の記憶手段と、
    認証の特徴情報と、上記第2の記憶手段に記憶されている証明データの生成を行うための制御情報とに所定の演算を施して生成される認証用補助情報を保持する第3の記憶手段と、
    上記証明データの生成を行うための制御情報に従い所定の処理あるいは条件判断を行う証明データ生成装置制御手段と少なくとも上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報を用いて証明データを生成する演算手段とを具備する証明データ生成手段と、
    上記証明データ生成手段により生成された証明データが上記認証の特徴情報に基づき生成されたものであるかどうかを検証する証明データ検証手段とを有し、
    上記証明データ生成手段は、正当な上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報が与えられた時のみ正当な証明データを生成し、
    上記認証の特徴情報が、有限群G上の離散対数問題を利用した非対称暗号系における、復号鍵Xであり、
    さらに、今までに認証を行った回数を記録する第11の記憶手段を備え、上記証明データの生成を行うための制御情報は、認証を行う回数の有効範囲であり、上記第11の記憶手段の値が上記有効範囲内にある時のみ証明データを生成することを特徴とした条件付き認証装置
  28. ユーザの権限を証明するために生成された証明データの正当性を検証するとともに、上記ユーザの権限に付加された条件が満たされるかどうかを判断することにより、上記ユーザの権限を認証する条件付き認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    上記証明データの生成を行うための制御情報を記憶する第2の記憶手段と、
    認証の特徴情報と、上記第2の記憶手段に記憶されている証明データの生成を行うための制御情報とに所定の演算を施して生成される認証用補助情報を保持する第3の記憶手段と、
    上記証明データの生成を行うための制御情報に従い所定の処理あるいは条件判断を行う証明データ生成装置制御手段と少なくとも上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報を用いて証明データを生成する演算手段とを具備する証明データ生成手段と、
    上記証明データ生成手段により生成された証明データが上記認証の特徴情報に基づき生成されたものであるかどうかを検証する証明データ検証手段とを有し、
    上記証明データ生成手段は、正当な上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報が与えられた時のみ正当な証明データを生成し、
    上記認証の特徴情報が、有限群G上の離散対数問題を利用した非対称暗号系における、復号鍵Xであり、
    さらに、時刻を示す時計と、
    認証を行った結果に従いサービスを開始した時間およびサービスを終了した時間からユーザがサービスを享受した時間を計算する第5の演算手段と、
    今までにユーザがサービスを享受した時間の合計値を記録する第12の記憶手段とを備え、
    上記証明データの生成を行うための制御情報は、総利用時間の値の有効範囲であり、
    第12の記憶手段の値が上記有効範囲内にある時のみ認証明用データを生成することを特徴とした条件付き認証装置。
  29. ユーザの権限を証明するために生成された証明データの正当性を検証するとともに、上記ユーザの権限に付加された条件が満たされるかどうかを判断することにより、上記ユーザの権限を認証する条件付き認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    上記証明データの生成を行うための制御情報を記憶する第2の記憶手段と、
    認証の特徴情報と、上記第2の記憶手段に記憶されている証明データの生成を行うための制御情報とに所定の演算を施して生成される認証用補助情報を保持する第3の記憶手段と、
    上記証明データの生成を行うための制御情報に従い所定の処理あるいは条件判断を行う証明データ生成装置制御手段と少なくとも上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報を用いて証明データを生成する演算手段とを具備する証明データ生成手段と、
    上記証明データ生成手段により生成された証明データが上記認証の特徴情報に基づき生成されたものであるかどうかを検証する証明データ検証手段とを有し、
    上記証明データ生成手段は、正当な上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報が与えられた時のみ正当な証明データを生成し、
    上記認証の特徴情報が、有限群G上の離散対数問題を利用した非対称暗号系における、復号鍵Xであり、
    さらに、今までに認証を行った回数および認証を行った結果から計算されたサービスを享受した時間等から計算される金額またはスコアを記録する第13の記憶手段を備え、上記証明データの生成を行うための制御情報は、金額またはスコアの値の有効範囲であり、上記第13の記憶手段の値が上記有効範囲内にある時のみ証明データを生成することを特徴とした条件付き認証装置。
  30. ユーザの権限を証明するために生成された証明データの正当性を検証するとともに、上記ユーザの権限に付加された条件が満たされるかどうかを判断することにより、上記ユーザの権限を認証する条件付き認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    上記証明データの生成を行うための制御情報を記憶する第2の記憶手段と、
    認証の特徴情報と、上記第2の記憶手段に記憶されている証明データの生成を行うための制御情報とに所定の演算を施して生成される認証用補助情報を保持する第3の記憶手段と、
    上記証明データの生成を行うための制御情報に従い所定の処理あるいは条件判断を行う証明データ生成装置制御手段と少なくとも上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報を用いて証明データを生成する演算手段とを具備する証明データ生成手段と、
    上記証明データ生成手段により生成された証明データが上記認証の特徴情報に基づき生成されたものであるかどうかを検証する証明データ検証手段とを有し、
    上記証明データ生成手段は、正当な上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報が与えられた時のみ正当な証明データを生成し、
    上記認証の特徴情報が、有限群G上の離散対数問題を利用した非対称暗号系における、復号鍵Xであり、
    さらに、外部に認証を行った結果または認証を行った結果享受されるサービスに関する履歴を出力する機能を備え、上記証明データの生成を行うための制御情報は、履歴を出力するかどうかのフラグであり、上記履歴を出力することが指定されている場合には認証の履歴を出力し、上記証明データを生成することを特徴とした条件付き認証装置。
  31. ユーザの権限を証明するために生成された証明データの正当性を検証するとともに、上記ユーザの権限に付加された条件が満たされるかどうかを判断することにより、上記ユーザの権限を認証する条件付き認証装置において、
    第1の認証用データを記憶する第1の記憶手段と、
    上記証明データの生成を行うための制御情報を記憶する第2の記憶手段と、
    認証の特徴情報と、上記第2の記憶手段に記憶されている証明データの生成を行うための制御情報とに所定の演算を施して生成される認証用補助情報を保持する第3の記憶手段と、
    上記証明データの生成を行うための制御情報に従い所定の処理あるいは条件判断を行う証明データ生成装置制御手段と少なくとも上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報を用いて証明データを生成する演算手段とを具備する証明データ生成手段と、
    上記証明データ生成手段により生成された証明データが上記認証の特徴情報に基づき生成されたものであるかどうかを検証する証明データ検証手段とを有し、
    上記証明データ生成手段は、正当な上記第1の認証用データ、上記証明データの生成を行うための制御情報および上記認証用補助情報が与えられた時のみ正当な証明データを生成し、
    上記認証の特徴情報が、有限群G上の離散対数問題を利用した非対称暗号系における、復号鍵Xであり、
    さらに、プログラムを実行するための第2のプログラム実行手段を備え、上記証明データの生成を行うための制御情報は上記第2のプログラム実行手段にて実行されるプログラムであり、上記プログラムが実行された結果、特定の状態にあるまたは特定の状態で終了した場合に証明データを生成することを特徴とした条件付き認証装置。
JP02993298A 1998-02-12 1998-02-12 条件付き認証装置および方法 Expired - Fee Related JP3867388B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP02993298A JP3867388B2 (ja) 1998-02-12 1998-02-12 条件付き認証装置および方法
US09/246,131 US6487659B1 (en) 1998-02-12 1999-02-08 Device and method for conditional authentication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02993298A JP3867388B2 (ja) 1998-02-12 1998-02-12 条件付き認証装置および方法

Publications (2)

Publication Number Publication Date
JPH11231775A JPH11231775A (ja) 1999-08-27
JP3867388B2 true JP3867388B2 (ja) 2007-01-10

Family

ID=12289770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02993298A Expired - Fee Related JP3867388B2 (ja) 1998-02-12 1998-02-12 条件付き認証装置および方法

Country Status (2)

Country Link
US (1) US6487659B1 (ja)
JP (1) JP3867388B2 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US6233684B1 (en) 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
JP2001014276A (ja) * 1999-06-30 2001-01-19 Nec Corp 個人認証システム及びその方法
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US7269735B2 (en) 2000-08-28 2007-09-11 Contentgaurd Holdings, Inc. Instance specific digital watermarks
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
US6912294B2 (en) 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US20040039704A1 (en) * 2001-01-17 2004-02-26 Contentguard Holdings, Inc. System and method for supplying and managing usage rights of users and suppliers of items
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
US7028009B2 (en) 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
US6895503B2 (en) 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US7725401B2 (en) 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US7350231B2 (en) 2001-06-06 2008-03-25 Yahoo ! Inc. System and method for controlling access to digital content, including streaming media
US7356838B2 (en) 2001-06-06 2008-04-08 Yahoo! Inc. System and method for controlling access to digital content, including streaming media
US7774280B2 (en) 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
KR20030096250A (ko) 2001-06-07 2003-12-24 콘텐트가드 홀딩즈 인코포레이티드 디지털 권리 관리시스템에서 다중 신뢰구역들을 지원하기위한 방법 및 장치
DE10142351A1 (de) * 2001-08-30 2003-03-20 Giesecke & Devrient Gmbh Initialisieren einer Chipkarte
JP2003152716A (ja) * 2001-11-16 2003-05-23 Ntt Advanced Technology Corp 可変認証情報を用いる資格認証方法
MXPA04004681A (es) * 2001-11-20 2004-09-10 Contentguard Holdings Inc Sistema de procesamiento de expresion de derechos extensible.
US7840488B2 (en) 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
US7974923B2 (en) * 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
US8108687B2 (en) 2001-12-12 2012-01-31 Valve Corporation Method and system for granting access to system and content
US7580972B2 (en) 2001-12-12 2009-08-25 Valve Corporation Method and system for controlling bandwidth on client and server
US7805371B2 (en) * 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
JP2005532610A (ja) 2002-03-14 2005-10-27 コンテントガード ホールディングズ インコーポレイテッド 変調された信号を使用して使用権を表現するシステム及び方法
US20050261993A1 (en) * 2002-04-18 2005-11-24 Bdna Corporation Method and/or system for customer/vendor data management and analysis
US7089306B2 (en) * 2002-04-18 2006-08-08 Bdna Corporation Apparatus and method to automatically collect data regarding assets of a business entity
US8543511B2 (en) * 2002-04-29 2013-09-24 Contentguard Holdings, Inc. System and method for specifying and processing legality expressions
US7480798B2 (en) * 2003-06-05 2009-01-20 International Business Machines Corporation System and method for representing multiple security groups as a single data object
US7685642B2 (en) * 2003-06-26 2010-03-23 Contentguard Holdings, Inc. System and method for controlling rights expressions by stakeholders of an item
JP4646050B2 (ja) * 2004-05-06 2011-03-09 大日本印刷株式会社 Icカードを発行して暗号化/復号化を行う方法
CN1713570A (zh) * 2004-06-14 2005-12-28 松下电器产业株式会社 先授权后认证的服务方法及其装置
US8660961B2 (en) 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US20060112015A1 (en) * 2004-11-24 2006-05-25 Contentguard Holdings, Inc. Method, system, and device for handling creation of derivative works and for adapting rights to derivative works
US20060129415A1 (en) 2004-12-13 2006-06-15 Rohit Thukral System for linking financial asset records with networked assets
US7690044B2 (en) * 2005-02-18 2010-03-30 Fuji Xerox Co., Ltd. Medium storing program selecting electronic ticket, electronic ticket processing apparatus and electronic ticket selection method
US20060248573A1 (en) * 2005-04-28 2006-11-02 Content Guard Holdings, Inc. System and method for developing and using trusted policy based on a social model
US7958370B2 (en) * 2005-09-29 2011-06-07 Hitachi Global Storage Technologies, Netherlands, B.V. System and device for managing control data
US7720767B2 (en) 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing
US20070168669A1 (en) * 2006-01-13 2007-07-19 Lockheed Martin Corporation Anti-tamper system
US20070168680A1 (en) * 2006-01-13 2007-07-19 Lockheed Martin Corporation Anti-tamper system
JP4470982B2 (ja) 2007-09-19 2010-06-02 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
WO2010028705A1 (en) * 2008-09-10 2010-03-18 Nec Europe Ltd. Method for enabling limitation of service access
US9049025B1 (en) * 2011-06-20 2015-06-02 Cellco Partnership Method of decrypting encrypted information for unsecure phone
US10008057B2 (en) * 2014-08-08 2018-06-26 Live Nation Entertainment, Inc. Short-range device communications for secured resource access
US10638301B2 (en) 2017-04-10 2020-04-28 Bdna Corporation Classification of objects
US10313200B2 (en) 2017-09-15 2019-06-04 Bdna Corporation Unix file and process mapping
FR3073644B1 (fr) * 2017-11-14 2021-01-01 Idemia Identity & Security France Procede de traitement d'image mis en oeuvre par un terminal formant un environnement " boite blanche "

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62171071A (ja) 1986-01-23 1987-07-28 Toshiba Corp 予約取引用icカ−ド
FR2642202B1 (fr) 1989-01-25 1994-02-18 Urba 2000 Systeme de paiement electronique de transports et de services publics par cartes a microcircuit
JP3276021B2 (ja) 1993-11-04 2002-04-22 日本電信電話株式会社 ディジタル情報保護方法及びその処理装置
JP3570114B2 (ja) * 1996-10-21 2004-09-29 富士ゼロックス株式会社 データ検証方法およびデータ検証システム
JP3613929B2 (ja) * 1997-05-07 2005-01-26 富士ゼロックス株式会社 アクセス資格認証装置および方法

Also Published As

Publication number Publication date
JPH11231775A (ja) 1999-08-27
US6487659B1 (en) 2002-11-26

Similar Documents

Publication Publication Date Title
JP3867388B2 (ja) 条件付き認証装置および方法
JP3614057B2 (ja) アクセス資格認証方法および装置ならびに証明用補助情報作成方法および装置
JP3613929B2 (ja) アクセス資格認証装置および方法
JP3622433B2 (ja) アクセス資格認証装置および方法
JP3613936B2 (ja) アクセス資格認証装置
JP4176898B2 (ja) 個人認証システム、それに使用される携帯装置及び記憶媒体
EP0881559B1 (en) Computer system for protecting software and a method for protecting software
EP1374473B1 (en) Method and apparatus for secure cryptographic key generation, certification and use
JP4113274B2 (ja) 認証装置および方法
EP2302833B1 (en) Method and apparatus for secure cryptographic key storage, certification and use
US5935246A (en) Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software
US8631486B1 (en) Adaptive identity classification
WO2004042516A2 (en) Digital-rights management system
JP2004206435A (ja) ライセンス管理方法、およびライセンス管理システム
TW200539644A (en) A method, a hardware token, a computer and a program for authentication
US20090119505A1 (en) Transaction method and verification method
US6651169B1 (en) Protection of software using a challenge-response protocol embedded in the software
JP2000059353A (ja) データ保管システム、データ保管方法及びそのプログラム記録媒体
JP3815022B2 (ja) 利用資格検証装置および方法、ならびに、利用資格検証システム
JPH1124916A (ja) ソフトウェアライセンス管理装置および方法
JP3954692B2 (ja) 認証装置および方法
JP2000115160A (ja) 公開鍵証明証発行システム、方法及び記録媒体
JP2003134108A (ja) 電子署名システム、電子署名検証装置、電子署名検証方法、プログラム、及び記録媒体
JP2006293473A (ja) 認証システム及び認証方法、端末装置及び認証装置
JP4080116B2 (ja) 認証システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060809

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061002

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111020

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131020

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees