JP3614057B2 - アクセス資格認証方法および装置ならびに証明用補助情報作成方法および装置 - Google Patents
アクセス資格認証方法および装置ならびに証明用補助情報作成方法および装置 Download PDFInfo
- Publication number
- JP3614057B2 JP3614057B2 JP32928799A JP32928799A JP3614057B2 JP 3614057 B2 JP3614057 B2 JP 3614057B2 JP 32928799 A JP32928799 A JP 32928799A JP 32928799 A JP32928799 A JP 32928799A JP 3614057 B2 JP3614057 B2 JP 3614057B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- user
- proof
- access qualification
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/316—User authentication by observing the pattern of computer usage, e.g. typical user behaviour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/302—Public 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 integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3234—Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2139—Recurrent verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Storage Device Security (AREA)
Description
【発明の属する技術分野】
この発明はユーザのアクセス資格を認証するアクセス資格認証技術ならびにアクセス資格認証に用いる証明用補助情報に関する。
【0002】
【従来の技術】
[関連技術]
この発明と同分野に属する先行技術としてプログラムの実行制御技術が知られている。プログラム実行制御技術は、
1.アプリケーションプログラム中に、ユーザのアクセス資格認証のためのルーチンを埋め込み、
2.該ルーチンはアプリケーションの実行を試みているユーザが正規の認証用の鍵を保有していることを検査し、
3.上記認証用の鍵の存在が確認された場合に限りプログラムを続行し、それ以外の場合にはプログラムの実行を停止する
技術である。当技術を利用することにより、認証鍵を保有する正規のユーザにのみアプリケーションプログラムの実行を可能ならしめることが出来る。当技術はソフトウェア頒布事業において実用化されており、製品として、例えばRainbow Technologies,Inc.社のSentinel SuperPro(商標)や、Aladdin Knowledge SystemssLtd.社のHASP(商標)等がある。
【0003】
以下にプログラム実行制御技術についてより詳細に説明する。
【0004】
1.ソフトウェアの実行を行なうユーザはユーザ固有情報として認証鍵を保有する。認証鍵は暗号化のための鍵であり、ソフトウェアの利用を許可する者、例えばソフトウェアベンダがユーザに配布する。認証鍵は複製を防ぐためにハードウェア中のメモリ等に厳重に封入され、郵便等の物理的手段を用いてユーザに配送される。
【0005】
2.ユーザは認証鍵を内蔵したハードウェアを指定された方法で所有のパソコン・ワークステーションに装着する。ハードウェアは、例えばプリンタポートに装着される。
【0006】
3.ユーザがアプリケーションプログラムを起動し、プログラムの実行が上記アクセス資格認証ルーチンに及ぶと、プログラムはユーザの認証鍵を内蔵したハードウェアと通信する。通信の結果に基づいてプログラムは認証鍵を識別し、正しい認証鍵の存在が確認されると次のステップへ実行を移す。通信が失敗し認証鍵の存在が確認できない場合は、プログラムは自らを停止し以降の実行ができないようにする。
【0007】
アクセス資格認証ルーチンによる認証鍵の識別は、例えば、次のようなプロトコルに従って行なわれる。
【0008】
1.アクセス資格認証ルーチンは適当な数を生成し鍵内蔵ハードウェアに送信する。
【0009】
2.鍵内蔵ハードウェアは内蔵する認証鍵を用いて送られた数を暗号化し、上記アクセス資格認証ルーチンに返信する。
【0010】
3.認証ルーチンは、返信された数が予め予想された数、即ちハードウェアに送信した数を正しい認証鍵で暗号化して得られる数であるか否かを判定する。
【0011】
4.返信された数が予想された数と一致する場合にはプログラムの実行を続行し、一致しない場合には停止する。
【0012】
この際、アプリケーションプログラムと認証鍵内蔵ハードウェア間の通信は、たとえ同じアプリケーションプログラム中の同じ箇所において同じハードウェアとの間で交換されるものであろうとも、実行のたびに異ならなければならない。さもなければ、正常な実行過程における通信内容を一度記録し、以後プログラムを実行する度に記録した通りにアプリケーションプログラムへの返信を行なうことにより、正しい認証鍵を保有しないユーザでもプログラムを実行することが可能となってしまう。このような通信内容の再現によるアプリケーションプログラムの不正実行をリプレイアタック(replay attack)と呼ぶ。
【0013】
リプレイアタックを防ぐために、通常、鍵内蔵ハードウェアに送られる数は通信の度に新たに生成される乱数を用いる。
【0014】
[従来技術の問題点]
従来技術の問題点は、アプリケーションプログラムを作成する際に、プログラム作成者がユーザが持つ認証鍵を予め想定した上で、該認証鍵に基づいてプログラムの保護処理を行なわなければならないという性質に由来する。
【0015】
つまり、プログラム作成者は、鍵内蔵ハードウェアからの正しい返信をプログラム作成時に予測して、正しい返信を受けた場合にのみプログラムが正常に実行されるようにプログラムの作成を行なわなければならない。
【0016】
上記特徴を有する従来技術の利用形態は基本的に二通りとなるが、いずれの場合も以下に述べる問題を有する。
【0017】
1.第一の方法ではユーザの認証鍵をユーザ毎に異なるように用意する。即ち、ユーザ甲には認証鍵甲、ユーザ乙には認証鍵乙というように、ユーザ毎に異なる認証鍵を一つずつ用意する。
【0018】
この場合、プログラム作成者は、プログラム中の認証ルーチンをユーザ毎に適切に変えてプログラムを作成する必要がある。つまり、ユーザ毎に認証鍵が異なるので、プログラム中の認証ルーチンは該プログラムを利用するユーザ固有の認証鍵を識別するように作成されなければならず、プログラム作成者は利用ユーザの数だけ異なるプログラムを作成する必要がある。
【0019】
対象となるユーザが多数の場合、プログラムをユーザ毎に個別化する作業はプログラム作成者にとって耐えがたい労力を要求し、管理しなければならないユーザ認証鍵のリストも膨大なものとなる。
【0020】
2.第二の方法では、プログラム作成者はアプリケーション毎にそれぞれ異なる認証鍵を用意する。即ち、アプリケーション甲には認証鍵甲、アプリケーション乙には認証鍵乙というように、アプリケーション毎に異なる認証鍵を一つずつ用意し、固有の認証鍵を識別するように各アプリケーションプログラムを作成する。
【0021】
この方法では、第一の方法の場合のようにユーザ毎にプログラムを個別的に作成する必要は無くなるが、逆に、ユーザは利用するアプリケーションの数だけ認証鍵を保持しなければならないこととなる。
【0022】
この制約はプログラム作成者およびユーザそれぞれに以下のような問題を惹起する。
【0023】
前述のように、認証鍵はハードウェアに厳重に封入した状態でユーザに配布する必要がある。従って、プログラム自身はネットワークを介して簡便に配布することができるのに対し、認証鍵を内蔵するハードウェアの配布は郵便等の物理手段に頼らざるを得ない。プログラム作成者はユーザからアプリケーションの使用許諾以来を受ける度に、このアプリケーションに対応する認証鍵が封入されたハードウェアを郵送する必要があり、コスト、時間、梱包の手間いずれをとっても、プログラム作成者とって大きな負担となる。
【0024】
プログラム作成者は、ユーザの要求に応えるべく、アプリケーション毎に異なるハードウェアを一定個数ストックしておかなければならず、在庫管理のコストを必要とする。
【0025】
また、ユーザは利用するアプリケーションを変更する度にハードウェアを交換しなければならないという煩雑さに甘んじなければならない。
【0026】
ユーザがあるアプリケーションを使いたいとしても、認証鍵が封入されたハードウェアが郵送されるまで待たねばならず即座に利用できないという不便もある。
【0027】
この負担を軽減するため、ハードウェア中に複数の認証鍵を予め封入しておき、新しいアプリケーションの利用をユーザに許可する度に、ハードウェア中の未使用の認証鍵を利用可能とするためのパスワードをユーザに教えるといった方法が用いられる。しかしながら、この方法を用いたとしても、上記の問題点は原理的に解決されないことは明らかである。実際、商品化に際しては、ハードウェアは連接して複数結合することが可能となるように設計され、上記問題点に起因する不便さを緩和するようにしてある。
【0028】
このように、上記二つのいずれの方法をとったとしても、プログラム作成者およびユーザの利便に問題が存在する。
【0029】
なお、実行制御の外的な特質を考えると、メールのプライバシー保護やファイルや計算機資源のアクセス制御にも適用可能であると想像できる。しかしながら、従来技術をこれらの分野に適用しようとしても、上記の問題点により不可能である。
【0030】
【発明が解決しようとする課題】
この発明は、以上の事情を考慮してなされたものであり、多数の認証鍵等の固有情報を取り扱うことから派生する不具合から、ユーザ側およびアプリケーション作成者等のプロテクト側の双方を解消し、もってプログラムの実行制御、メールのプライバシ保護、ファイルや計算機資源のアクセス制御等を行う際にユーザのアクセス資格を簡易に認証することができるようにしたアクセス資格認証技術を提供することを目的としている。
【0031】
【課題を解決する手段】
この発明によれば上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。以下、この記載を補充して説明する。
【0032】
この発明によれば上述の目的を達成するために、ユーザのアクセス資格を認証するアクセス資格認証方法において、ユーザの固有情報を記憶するステップと、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対して、所定に計算を実行した実行結果である証明用補助情報を記憶するステップと、上記ユーザの固有情報と、上記証明用補助情報とに所定の計算を施してアクセス資格認証の特徴情報を生成するステップと、上記アクセス資格認証の特徴情報を生成できたことを検証するステップとを実行するようにしている。
【0033】
この構成においては、証明用補助データ(アクセスチケット)を導入することにより、プロテクト側で付与されるアクセス資格認証用の特徴情報とユーザ側に付与されるユーザ固有情報とを独立させることができる。ユーザはあらかじめユーザ固有情報を所持し、プログラム作成者等のプロテクト者はユーザが所持するユーザ固有情報とは独立にアクセス資格認証の特徴情報を用意し、アクセスチケットをユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、実行制御等のユーザのアクセス資格の認証を行なうことができる。このようにして、ユーザもプロテクト側も同一の情報を用いて認証を行う場合に生じる煩雑さを回避できる。
【0034】
また、この発明によれば、ユーザのアクセス資格を証明するために使われる証明用補助情報を作成する方法において、ユーザの固有情報を記憶するステップと、アクセス資格認証の特徴情報を記憶するステップと、上記ユーザの固有情報と、上記アクセス資格の特徴情報に所定の演算を実行して上記証明用補助情報を作成するステップとを実行するようにしている。
【0035】
また、ユーザのアクセス資格を証明するために使われる証明用補助情報を記憶する記憶装置において、上記証明用補助情報が、ユーザの固有情報と、アクセス資格認証の特徴情報とに所定の演算を実行して生成されるようにしている。
【0036】
また、アクセス資格を証明するために使われる証明用補助情報に対するユーザからの発行依頼を受け取り、証明用補助情報を作成し、ユーザに発行する装置において、発行を依頼したユーザの固有情報を記憶する第1の記憶手段と、アクセス資格の特徴情報を記憶する第2の記憶手段と、上記ユーザの固有情報と、上記アクセス資格の特徴情報に所定の演算を実行して上記証明用補助情報を作成する演算手段とを有するように構成している。
【0037】
また、ユーザのアクセス資格を証明するためのアクセス資格認証の特徴情報を復元するための特徴情報復元方法において、ユーザの固有情報を記憶するステップと、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対して、所定の計算を実行した実行結果である証明用補助情報を記憶するステップと、上記ユーザの固有情報と、上記証明用補助情報とに所定の計算を施して、アクセス資格認証の特徴情報を復元するステップとを実行するようにしている。
【0038】
以上の証明用補助情報を作成し、記憶し、発行する技術により、また上述証明用補助情報から特徴情報を復元する技術により、上述のアクセス資格の認証を確実に行うことができる。
【0039】
なお、この発明は、装置、方法のいずれの形態でも実現可能である。また、少なくともその一部をコンピュータソフトウェアとして実現することもできる。
【0040】
【発明の実施の態様】
まず、この発明の原理的な構成例について説明する。この構成例のユーザ認証システムは、アプリケーションの実行制御のみでなくメールのプライバシー保護やファイルや計算機資源等のアクセス制御にも適用できる。
【0041】
図1において、ユーザ認証システムは証明データ検証装置10および証明データ生成装置11からなっており、証明データ生成装置11はアクセスチケット生成装置12からアクセスチケット(証明用補助データ)13を受領するようになっている。証明データ検証装置10は検証ルーチン15を実行する。証明データ生成装置11はユーザ固有情報16およびアクセスチケット13を保持し、証明データ生成プログラム17を実行する。
【0042】
アクセスチケット生成装置12はアプリケーション作成者等のプロテクト側或は信頼できる第三者に設けられている。アクセスチケット生成装置12はアクセス資格認証の特徴情報14およびユーザ固有情報16に基づいてアクセスチケット13を生成し、このアクセスチケット13が通信またはフロッピーディスケット等の送付を介してユーザに送られ、ユーザの証明データ生成装置11に保持される。この後、証明データ検証装置10は認証用データ18を証明データ生成装置11に送出する。証明データ生成装置11はアクセスチケット13およびユーザ固有情報16を用いて証明データ19を生成し、これを証明データ検証装置10に返信する。証明データ検証装置10は認証用データに基づいて証明データの正当性を検証する。すなわち、証明データが、認証用データとアクセス資格認証の特徴情報とに基づいて生成されたデータであることを検証する。
【0043】
証明データの正当性が検証されれば、ユーザのアクセス資格が認証され、これに応じて、プログラムの実行継続、ファイルへのアクセス等が許される。
【0044】
以上の構成について、アプリケーションプログラムの実行制御を例にとってさらに説明する。
【0045】
このような構成において、まず、アプリケーションプログラムのユーザはユーザ固有情報16をただ一つ保持する。ユーザ固有情報は、パスワード認証におけるパスワードに相当するものであり、ユーザの身許を証明する唯一の重要な情報である。ユーザがユーザ固有情報16をコピーして配布することができると、正当な利用権をもたないユーザにもアプリケーションプログラムの使用等を許すこととなるので、ユーザ固有情報16はその正当な保持者であるユーザもこれを窃取することができないように、防御手段によって保護される。この防御手段は、プローブによる内部状態の窃取への防御力を有するハードウェア(以下、耐タンパーハードウェアと呼ぶ)により構成することができる。耐タンパーハードウェアの実現手法については後述する。
【0046】
また、ユーザには、上記ユーザ固有情報16に加えて、所定の計算手続きを実行する証明データ生成プログラム17が与えられる。このプログラム17は、アプリケーション中のユーザ認証ルーチン(証明データ検証ルーチン15)と通信を行なうためのものであり、ユーザ固有情報16およびアクセスチケット13のふたつのパラメータが与えられると、任意の入力値に対して計算を行ないユーザの身元を証明する証明データ19を生成する。この計算の過程でユーザ固有情報16が用いられるが、前に述べた理由によりユーザ固有情報16が外部に漏洩すると問題があるため、上記プログラムの少なくとも一部は上記防御手段によって保護される必要がある。
【0047】
以下、上記防御手段によって保護されているユーザ固有情報記憶手段およびプログラムの一部と、該プログラム部分を実行するための装置(例えばメモリとMPUにより構成される)と、上記防御手段とを併せてトークン(図1の符号20で示す)と呼ぶこととする。トークンはICカードのような可搬性を有する構成とすることもできる。
【0048】
一方、従来の実行制御技術と同様に、アプリケーションプログラム中には証明データ検証ルーチン15が組み込まれる。証明データ検証ルーチン15は、ユーザが保持する上記証明データ生成プログラム17と通信し、返信結果(証明データ19)が正しい場合に限りプログラムの実行を続行するように作成される点において、従来技術と同様である。従って、プログラム作成者は、送信データ(認証用データ18)とそれに対する正しい返信データ(証明データ19)の組合せを計算する方法を知っている必要がある。
【0049】
証明データ検証ルーチン15の作用を以下に数例述べる。
【0050】
1.証明データ検証ルーチン15中には、送信するべきデータ(認証用データ18)と期待される返信データ(期待値)が埋入されている。証明データ検証ルーチン15は上記送信データを取り出してユーザに送信し、ユーザから返信を受け取る。次いで、ユーザからの返信データと上記期待値とを比較し、両者が一致した場合はプログラムの次のステップを実行し、一致しない場合はプログラムの実行を停止する。
【0051】
ここで、返信データが送信データの所定の暗号化アルゴリズムに従う暗号化の結果であるとした場合には、アクセス資格認証の特徴情報は暗号化鍵となる。
【0052】
2.証明データ検証ルーチン15中には、送信するべきデータと、期待される返信データに一方向関数を施したデータ(期待値)が埋入されている。証明データ検証ルーチン15は上記送信データを取り出してユーザに送信し、ユーザから返信を受け取る。次いで、ユーザからの返信データに上記一方向関数を施した値を、上記期待値と比較し、両者が一致した場合はプログラムの次のステップを実行し、一致しない場合はプログラムの実行を停止する。
【0053】
ここで、返信データが送信データの所定の暗号化アルゴリズムに従う暗号化の結果であるとした場合には、アクセス資格認証の特徴情報は暗号化鍵となる。
【0054】
3.アプリケーションプログラムのコードの一部を予め定められた暗号化アルゴリズムに従って暗号化しておくことにより、該プログラムの実行が不可能となるようにするプロテクトを施す。証明データ検証ルーチン15は、上記暗号化されたコードをユーザに送信し、その返信として受け取った値を暗号化以前のコードと置き換える手続きを行なう。
【0055】
以上の構成によると、返信データが暗号化されたコードの正しい復号である場合に限り、該プログラムの実行が可能となる。この場合のアクセス資格認証の特徴情報は暗号化されたコードを復号するための復号鍵となる。
【0056】
4.アプリケーションプログラムのコードの一部を予め定められた暗号化アルゴリズムに従って暗号化しておくことにより、該プログラムの実行が不可能となるようにするプロテクトを施す。更に、上記コードの暗号化に用いた暗号化鍵と対をなす復号鍵を別途暗号化したデータを送信データとして証明データ検証ルーチン15中に埋入しておく。証明データ検証ルーチン15は、上記暗号化された復号鍵をユーザに送信し、その返信として受け取った値を復号鍵として、上記暗号化されたコードを復号する。
【0057】
以上の構成によると、返信データが正しく復号された復号鍵である場合にかぎって、上記暗号化されたコードは正しく復号され、該プログラムの実行が可能となる。この場合のアクセス資格認証の特徴情報は暗号化された復号鍵を復号するための復号鍵となる。
【0058】
さて、従来の実行制御技術では、ユーザ固有情報(ユーザの認証鍵)がアクセス資格認証の特徴情報と同一である。従来の証明データ生成ルーチンはアクセス資格認証の特徴情報と証明データ検証ルーチンから送信されたデータとを入力として、返信データを計算する。
【0059】
これに対し、この発明の特徴は、ユーザ固有情報16とアクセス資格認証の特徴情報14とが互いに独立である点にある。この構成例でも、証明データ生成プログラム17は、ユーザ固有情報16と証明データ検証ルーチン15から送信されたデータ(認証用データ18)に加えて、アクセスチケット13を入力として、返信データ(証明データ19)を計算する。この構成は以下の性質をもつ。
【0060】
1.アクセスチケット13は特定のユーザ固有情報16とアクセス資格認証の特徴情報14とに基づいて計算されるデータである。
【0061】
2.ユーザ固有情報16を知らずにアクセスチケット13からアクセス資格認証の特徴情報14を計算することは少なくとも計算量的に不可能である。
【0062】
3.証明データ生成プログラム17はユーザ固有情報16とアクセスチケット13との正しい組合せ、即ち、ユーザ固有情報16と該ユーザ固有情報16に基づいて計算されたアクセスチケット13の組合せが入力された場合に限って、正しい返信データを計算する。
【0063】
以上により、ユーザはあらかじめユーザ固有情報16を所持し、プログラム作成者はユーザが所持するユーザ固有情報16とは独立にアプリケーションプログラムを作成し、アクセスチケット13をユーザ固有情報16とアプリケーションプログラムの作成に使用したアクセス資格認証の特徴情報14とに応じて作成し、配布することにより、実行制御を行なうことができる。
【0064】
また、ユーザ固有情報16を二つの固有情報からなるものとし、アクセスチケット13の作成に際して用いる固有情報と、ユーザが通信プログラムにおいて用いる固有情報とを区別して用いることもできる。最も典型的な例は、ユーザ固有情報16を公開鍵ペアとし、公開鍵を公開してアクセスチケット作成に用い、個人鍵をユーザ個人の秘密情報としてトークン20中に封入しておく方法である。この場合は、アクセスチケット13をアクセス資格認証の特徴情報14と上記公開鍵ペアの公開鍵から計算できるようにすることにより、ユーザ固有情報16を秘密に保ったままアクセスチケット13を計算することが可能となる。
【0065】
【実施例】
つぎにより具体的な構成について実施例に即して説明する。
【0066】
[全体構成]
具体的な個別の実施例を述べる前に、この発明の実施形態の全体像を以下に述べる。
【0067】
まず、この発明を、ユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムの実行制御に用いる場合について述べる。図2はこの実施形態における装置の全体構成を示す。なお、図2において図1と対応する箇所には対応する符号を付して詳細な説明は繰り返さない。
【0068】
この実施形態においては、証明データ生成装置11はユーザが用いる計算機31上の証明用プログラム32として実現することができる。この際、ユーザを識別するための固有情報(ユーザ固有情報)の安全性を高めるために、該計算機31に装着され、耐タンパー特性を有する証明用ハードウェア33(ICカード、ボードなど)を併用することも可能である。この際、ICカードのような携帯性のあるハードウェアを用いれば、ユーザが複数のPCあるいはワークステーション上で作業をする場合に便利である。
【0069】
証明データ検証装置10は該ユーザが利用するアプリケーションプログラム34の一部として構成される。即ち、ユーザが該アプリケーションプログラム34をPCあるいはワークステーション上で起動すると、該アプリケーションプログラム34中にプログラムとして記述された証明データ検証装置10が起動され、証明データ生成装置11と通信してユーザ認証を行ない、通信が正しく終了した場合に限って該アプリケーションプログラムの実行を可能とする。
【0070】
ユーザが、証明データ検証装置10が埋めこまれた前記アプリケーションプログラム34を利用するためには、ユーザ本人宛に発行され、前記アプリケーションプログラムに対応する証明用補助情報(アクセスチケット)を取得する必要がある。ユーザは、前記PCあるいはワークステーション上にインストールされた証明用プログラム32に、取得したアクセスチケットを登録するとともに、例えば、ユーザ固有情報がICカードに封入されている場合には、ICカードを前記PCあるいはワークステーションに装着する。
【0071】
証明データ生成装置11(PCあるいはワークステーション上のプログラムとICカードによって構成される)は、ユーザ固有情報とアクセスチケットに基づいて計算を行い、その計算に基づいて証明データ検証装置10と通信を行う。
【0072】
通信の結果、証明データ検証装置10による認証が成功するのは、ユーザ固有情報と、アクセスチケットと、証明データ検証装置10が埋めこまれた前記アプリケーションプログラム34の三つが正しく対応している場合に限る。
【0073】
ユーザ固有情報あるいはアクセスチケットの一方が欠けていた場合には、認証は成功しない。
【0074】
アクセスチケットは特定のユーザ宛に発行される。即ち、アクセスチケットの生成に際して、特定のユーザのユーザ固有情報が使用される。アクセスチケット生成時に使用されるユーザ固有情報と、証明データ生成装置11によって使用される前記ユーザ固有情報とが一致していない場合、やはり、認証は成功しない。
【0075】
また、アクセスチケットは、特定のアクセス資格認証の特徴情報に基づいて生成され、証明データ検証装置10はこのアクセス資格認証の特徴情報を認証するように構成される。従って、アクセスチケットの生成のもととなった特徴情報と、アプリケーションプログラム34に埋めこまれている証明データ検証装置10が認証しようとする特徴情報とが互いに対応していなかった場合にも、認証は成功しない。
【0076】
なお、図2において、35はオペレーティング・システム等の制御プログラムであり、36はハードウェア全般を示す。
【0077】
また、アプリケーションプログラム34がネットワークによって結合された別の計算機上で実行され、実行結果がネットワークを介してユーザが用いる計算機に通信されるものとしてもよい。この場合、いわゆるサーバ・クライアントモデルに基づく構成となる。先に述べた、ユーザのPCあるいはワークステーション上で実行されるアプリケーションプログラムの実行制御の場合では、証明データ生成装置11と証明データ検証装置10との通信がいわゆるプロセス間通信として実行されるのに対し、サーバ・クライアント・モデルに従った場合、証明データ生成装置11と証明データ検証装置10との通信はTCP/IPなどのネットワークプロトコルに従った通信として実行される。
【0078】
また、アプリケーションプログラムが専用装置上に構成されている場合にも、この発明を適用することが可能である。例えば、証明データ生成装置全体をICカード内に実装し、取得したアクセスチケットもICカードに登録するものとする。証明データ検証装置は前記専用装置上に実装されるが、該専用装置はICカードを挿入するためのスロットを備え、ユーザは該スロットに所有するICカードを挿入することで認証を行う。
【0079】
このような専用装置による構成は、銀行のATM機や、ゲームセンターにおけるゲーム機などに適用することができる。
【0080】
ユーザによるアクセスチケットの取得に関しては、共通のセンターがユーザからの発行依頼に応じて生成して配布する方法と、アプリケーションプログラムの作成者が、アクセスチケット発行プログラムやアクセスチケット生成装置の助けを借りて個別に生成する方法がある。
【0081】
生成されたアクセスチケットは、フロッピーディスク等の可搬型記憶媒体を介してユーザに配送されるものとしてもよいが、アクセスチケットが十分な安全性を備えていることから、電子メールなどを用いてネットワークを介して配送されるように構成してもよい。
【0082】
アクセスチケットの安全性とは、以下の二つの性質である。
【0083】
アクセスチケットは記名式であり、即ち、アクセスチケットが発行されたユーザ本人(正確には、アクセスチケット生成時に用いられたユーザ固有情報の保持者)だけが該アクセスチケットを用いて証明データ生成装置を正しく作動させることができる。従って、悪意の第三者がネットワークを盗聴し、他のユーザのアクセスチケットを不正に手に入れたとしても、この第三者がアクセスチケットの発行先である正規のユーザのユーザ固有情報を手に入れないかぎり、このアクセスチケットを利用することは不可能である。
【0084】
アクセスチケットはさらに厳密な安全性を保持している。即ち、悪意の第三者が任意個数のアクセスチケットを集めて、いかなる解析を行ったとしても、得られた情報をもとに別のアクセスチケットを偽造したり、証明データ生成装置の動作を模倣して認証を成立させるような装置を構成することは不可能である。
【0085】
以下では、より具体的な構成について実施例に即して説明する。
【0086】
[第一の実施例]
この発明における第一の実施例では、アクセスチケットtは次の式1に基づいて生成されるデータである。
【0087】
【数1】
(1) t = D−e+ωφ(n)
上式中の各記号は以下を表す。
nはRSA法数、即ち、十分大きな二つの素数p、qの積である(n=pq)。φ(n)はnのオイラー数、即ち、p−1とq−1の積である(φ(n)=(p−1)(q−1))。
ユーザ固有情報eは、ユーザ毎に異なる数であり、ユーザを識別するために用いられる。
アクセスチケット秘密鍵Dは、法数nのもとでのRSA秘密鍵であり、式2を満たす。
【0088】
【数2】
(2) gcd(D,φ(n))=1
ここで、gcd(x,y)は二数x、yの最大公約数を表す。式(2)によって表現される性質は、式3を満たす数Eが存在することを保証する。
【0089】
【数3】
(3) ED mod φ(n) = 1
Eをアクセスチケット公開鍵と呼ぶ。
ωは、n及びeに依存して定まる数であり、nあるいはeのいずれか一方が異なる場合、その値が容易に一致しない(衝突しない)ように定める。ωの定め方の一例として、一方向ハッシュ関数hを利用して、式4のようにωを定める方法もある。
【0090】
【数4】
(4) ω=h(n|e)
ただし、記号|はビット列の接合を表す。
一方向ハッシュ関数とは、h(x)=h(y)を満たす相異なるx、yを算出することが著しく困難であるという性質をもつ関数である。一方向ハッシュ関数の例として、RSA Data Security Inc.によるMD2、MD4、MD5、米国連邦政府による規格SHS(Secure Hash Standard)が知られている。
上記の説明中に現れた数において、t、E、nは公開可能であり、残りのD、e、ω、p、q、φ(n)はチケットを作成する権利を有する者以外には秘密である必要がある。
【0091】
図を参照してさらに第一の実施例について詳細に説明する。図3は、この発明における第一の実施例の構成を示し、図4は図3におけるデータのフローを示している。図3において、証明データ検証装置10は、アクセスチケット公開鍵記憶部101、乱数発生部102、乱数記憶部103、受信データ記憶部105、検証部106、実行部107およびエラー処理部108を含んで構成されている。また、証明データ生成装置11は、受信データ記憶部111、第1演算部112、アクセスチケット記憶部113、第2演算部114、ユーザ固有情報記憶部115および証明データ生成部116を含んで構成されている。
【0092】
つぎに動作について説明する。
【0093】
1.ユーザがアクセスすることによって、証明データ検証装置101が起動される。証明データ検証装置10の起動に関しては以下のような形態が考えられる。
【0094】
証明データ検証装置10がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムの一部として構成されている場合、ユーザがキーボードあるいはマウスなどの指示装置を用いた通常の方法で、該アプリケーションプログラムを起動する。アプリケーションプログラムの実行が証明データ検証装置10を構成しているプログラムに到達することによりことにより、証明データ検証装置10が起動される。
【0095】
証明データ検証装置10がネットワークで結ばれた他のPCあるいはワークステーション(サーバと呼ぶ)上に構成されてい場合、ユーザは自分のPCあるいはワークステーション上の通信プログラムを起動し、該通信プログラムが所定の手続きに従って前記サーバに通信の開設要求を行うことにより、証明データ検証装置10が起動される。例えば、ユーザの通信プログラムがサーバと通信する際にTCP/IPと呼ばれる手続きに従うとすると、証明データ検証装置をサーバの特定のポートに予め対応づけておき、更に、ユーザの通信プログラムが該ポートを指定してTCP接続要求をサーバに要求するように設定しておくことにより、サーバ上のデーモン(inetd)がTCP接続要求に応じて証明データ検証装置10を起動することが可能となる。このような実現方法は、インターネットなどのネットワークにおいて広く利用されているものである。
【0096】
証明データ検証装置10を専用目的の装置とすることも可能である。例えば、証明データ検証装置10をICカード・リーダ・ライター内のROMに焼きつけられたプログラムあるいはEEPROMに書き込まれたプログラムとして構成し、証明データ生成装置11をICカードのマイクロコントローラーに実装されたプログラムとすることができる。この場合、ユーザがICカードをリーダ・ライターに挿入することにより、証明データ検証装置10が起動される。
【0097】
2.証明データ検証装置10は、認証用データCとアクセスチケット公開鍵記憶部101に記憶されているRSA暗号の法数nとを、証明データ生成装置11中の受信データ記憶部111に書き込むが、この認証用データCは以下の方法で生成される。
【0098】
証明データ検証装置中の乱数発生部102によって,乱数rを、アクセスチケット公開鍵記憶部101に保持されているRSA法数nと互いに素になるように生成し、乱数記憶部103に記録する。更に、この乱数rを認証用データCとする。後述するように、この場合、証明データ生成装置11が返す証明データは、Cを法数nののもとでRSA暗号を用いて暗号化したものとなる。
【0099】
Cの値は乱数rそのものであることから、通信の度に異なる値となり、リプレイアタックを防止する効果をもつ。
【0100】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、受信データ記憶部111に書き込まれたRSA法数nのもとで、式5を実行し中間情報R’を得る。
【0101】
【数5】
(5) R’=Ct mod n
4.証明データ生成装置11中の第2演算部114は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式6の計算を実行し差分情報Sを得る。
【0102】
【数6】
(6) S=Ce mod n
5.証明データ生成装置11中の証明データ生成部116は、第1および第2演算部112、114からR’およびSを得て、式7の計算を行ないRを得る。
【0103】
【数7】
(7) R=R’S mod n
6.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部105に返送する。
【0104】
7.証明データ検証装置10中の検証部106は、まず、受信データ記憶部105に返された証明データRと、アクセスチケット公開鍵記憶部101に保持されている公開指数EおよびRSA法数nをもとに式8の計算を行なう。
【0105】
【数8】
(8) RE mod n
次いで、この計算結果と、乱数記憶部103中に保持されている乱数C(=r)とを比較することにより、式9が成り立つことを確かめる。
【0106】
【数9】
(9) C mod n = RE mod n
式(9)が成立する場合は実行部107を起動して処理を継続し、成立しない場合はエラー処理部108を起動してエラー処理を行う。
【0107】
[第二の実施例]
この発明の第二の実施例における、アクセスチケットtの構成、証明データ証明装置の作用は、前記第一の実施例におけるそれと同一である。第一の実施例においては証明データは認証用データの暗号化であったのに対し、第二の実施例においては証明データ検証装置10が生成する認証用データは証明データの(乱数効果付)暗号化であり、証明データ生成装置11は認証用データを復号して(乱数効果を維持したまま)証明データを生成する。
【0108】
図を参照してさらに第二の実施例について詳細に説明する。図5は、この発明における第二の実施例の構成を示し、図6は図5におけるデータのフローを示している。図5において、証明データ検証装置10は、アクセスチケット公開鍵記憶部101、乱数発生部102、乱数記憶部103、受信データ記憶部105、乱数化部121、認証用素データ記憶部122、乱数効果除去部123、および実行手段310を含んで構成されている。また、証明データ生成装置11は、受信データ記憶部111、第1演算部112、アクセスチケット記憶部113、第2演算部114、ユーザ固有情報記憶部115および証明データ生成部116を含んで構成されている。
【0109】
つぎに動作について説明する。
【0110】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0111】
証明データ検証装置の実現方法として、ユーザのPCやワークステーション上で動作するアプリケーションプログラム、ユーザのPCやワークステーションとネットワークを介して接続されたサーバ上のサーバプログラム、あるいは、ICカード・リーダ・ライターのような専用の装置のいずれも可能であることは、第一の実施例の場合と変わらない。
【0112】
2.証明データ検証装置10は、認証用データCと、アクセスチケット公開鍵記憶部101に保持されているRSA暗号の法数nとの組を証明データ生成装置11中の受信データ記憶部111に書き込むが、認証用データCは以下の方法で生成される。
【0113】
証明データ検証装置中の乱数発生部102によって、乱数rをアクセスチケット公開鍵記憶部101に保持されているRSA法数nと互いに素になるように生成し、乱数記憶部103に記録する。乱数化部121は、アクセスチケット公開鍵記憶部101に格納されている公開指数Eと法数nを取得し、さらに認証用素データ記憶部122に記憶されているデータC’を取得して、式10の計算を行なう。
【0114】
【数10】
(10) C=rEC’ mod n
ここで、認証用素データC’はデータKに対して関係式11を満たすように生成され、認証用素データ記憶部122に格納された値である。
【0115】
【数11】
(11) C’=KE mod n
ここで、データKを証明データ検証装置に保持せず、代わりに、その暗号化の結果であるC’のみを保持するように証明データ検証装置10を構成すれば、証明データ検証装置10からデータKが漏洩する危険を回避することができる。
【0116】
基本的に見れば、認証用データCは法数nのもとでRSA暗号を用いてデータKを暗号化したものであり、証明データ生成装置11はCを法数nのもとでRSA暗号を用いて復号することによりデータKを再現する。しかし、このままでは、証明データ検証装置10と証明データ生成装置11の間の通信は常に同一のものとなり、いわゆるリプレイアタックが可能となることから、乱数rを用いて認証用データに乱数効果を与え、証明データ生成装置11が返すデータを検証する際に乱数効果を除去するように構成される。
【0117】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、受信データ記憶部111に書き込まれたRSA法数nのもとで式12を実行し中間情報R’を得る。
【0118】
【数12】
(12) R’=Ct mod n
4.証明データ生成装置11中の第2演算部114は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式13の計算を実行し差分情報Sを得る。
【0119】
【数13】
(13) S=Ce mod n
5.証明データ生成装置11中の証明データ生成部116は、第1および第2演算部112、114からR’およびSを得て、式14の計算を行ないRを得る。
【0120】
【数14】
(14) R=R’S mod n
6.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部105に返送する。
【0121】
7.証明データ検証装置10中の乱数効果除去部123は、乱数記憶部103中から先に生成した乱数rと、受信データ記憶部106から証明データRとを取り出し、式15の計算を行なう。
【0122】
【数15】
(15) K’=r−1R mod n
証明データ生成装置11において用いられるアクセスチケットtとユーザの固有情報eの組合せが正しい場合に限り、計算の結果得られたK’とKが一致することに注意せよ。
【0123】
計算されたK’は、証明データ検証装置10中の実行手段310に引き渡されるが、実行手段310はK’=Kが成立する場合に限り正規の処理を実行するように構成される。
【0124】
以下に、証明データ検証装置10中の実行手段310の構成法を数例述べる。
【0125】
1.図7の構成例
実行手段310中の記憶部310aに予めデータKを記憶しておく。実行部310中の比較部310bは、このKと証明データ生成装置11から送られた証明データRから乱数効果を除去して得られるK’とを直接比較し、K’=Kが成立する場合に限り正規の処理を実行し、成立しない場合には処理を中止するなどのエラー処理を実行する(図8)。
【0126】
この構成例には、検証に用いるデータKが装置中に現れるという安全上の弱点がある。例えば、証明データ検証装置10、特に、実行手段310が、ユーザのPCあるいはワークステーション上で動作するプログラムとして構成されている場合、プログラムを解析してKを窃取することは、困難であっても、必ずしも不可能ではない。Kの値がユーザの知るところとなり、更に、証明データ検証装置で生成される乱数が予想可能であると、証明データ生成装置の動作を模倣する装置を構成することが可能となり、なりすましによる不正アクセスが可能となる。
【0127】
2.図9の構成例
上記の欠点を改善するため、記憶部310aに記憶されるデータをKそのものではなく、Kに前述の一方向ハッシュ関数hを施して得られるデータh(K)とすることもできる。一方向ハッシュ関数の性質から、記憶部310aに記憶されるデータyから、y=h(x)を満たすxを算出することは著しく困難である。
【0128】
実行部310は、入力データに対し一方向ハッシュ関数を施した結果を返す変換部310cを有する。比較部310bは、上記変換部310cの出力h(K’)と、記憶部310aに記憶されたデータ(=h(K))とを比較する(図10)。
【0129】
この方法例では、検証に用いるデータKがプログラム中に現れることがなく、また、記憶部310aに記憶されたh(K)からKを計算することが著しく困難であることから、図7の例より安全であるといえる。
【0130】
この構成では、図10に示すようにプログラムの実行を制御する。
【0131】
しかしながら、比較部310bはプログラム中では条件文として構成され、証明データ検証装置10、特に、実行手段310がユーザのPCあるいはワークステーション上で動作するプログラムであるような場合、即ち、プログラムの分析・改竄が比較的容易であるような構成では、該条件文をスキップするようにプログラムを改竄することが可能である点で、なお弱点を有している。
【0132】
3.図11の構成例
第3の構成例では、証明データ検証装置10の実行部310のプログラムのコードの一部或は全部を暗号化したデータを認証用素データC’として、認証用素データ記憶部122に保持する。即ち、Kは実行部プログラムのコードの一部或は全部である。
【0133】
実行手段310は、証明データ生成装置11からの返信データから乱数効果を除去して得られるデータK’を、プログラム中の予め定められた位置に埋め込む。すなわち実行手段310は、コードとしてのデータK’を記憶するコード記憶部310dとこのコードをプログラム中に取り込むコード取り込み部310eと、プログラムを実行するコード実行部310fとを有している。証明データ生成装置11が正しいデータを返信した場合、即ち、K’=Kである場合に限ってプログラムは実行可能となる(図12)。
【0134】
この構成例では、プログラムの実行に不可欠なコードの一部或は全部が暗号化されているため、実行手段310がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムとして構成されているような比較的安全性の低い場合でも、不正実行を防止することができる。
【0135】
実行手段310がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムとして構成されている場合を例にとって、更に詳細な構成を述べる。
【0136】
証明データが書き込まれるコード記憶部310dは、計算機中の指定された記憶領域である。
【0137】
コード実行部310fは計算機のCPU及びOSである。CPUとOSとは協力して、計算機のプログラム領域に記憶されている実行命令を順に実行する。特定の機能を提供する一連の実行命令をプログラムコードと呼ぶ。
【0138】
コード取込み部310eの実体は、実行手段310中で最初に実行されるプログラムコードである。コード取込み部310eは、直接・間接にコード記憶部310dのアドレスをコード実行部310fに指示することが可能である。例えば、コード取込み部310eはコード記憶部310dの物理アドレスを直接コード実行部310fに指示してもよいし、計算機のOSが仮想アドレッシングを実行する場合には、コード取込み部310eはコード記憶部310dの仮想アドレスを指示し、OSがCPU経由で受け取った仮想アドレスを物理アドレスに変換する方法でもよい。
【0139】
コード記憶部310dに証明データが書き込まれた状態で、プログラムであるコード取込み部310eが起動されると、コード取込み部310eは、コード記憶部310dのアドレスに記憶されている内容を計算機上のプログラム領域の特定のアドレスに書き出すよう、コード実行部310fに命令し、実行させる。
【0140】
次いで、コード取込み部310eは、コード実行部310fに命令してコード記憶部310dの記憶内容を書き出させた、プログラム領域中の特定のアドレスの実行命令を実行するよう、JMP命令等を用いてコード実行部310fに命令する。
【0141】
この構成例では、証明データが証明データ生成装置11によって正しく生成されたならば、乱数効果を取り除いた後のデータはプログラムコード、即ち、コード実行部310fへの一連の実行命令である。従って、上記構成では、コード取込み部310eのプログラムコードに引続き、証明データ生成手段11によって復号されたプログラムコードが実行されることとなる。
【0142】
4.図13の構成例
第3の構成例において、暗号化したコードを復号するために必要な復号鍵を、Kとすることもできる。この構成によると、暗号化するコードのサイズに関わらず、Kのサイズ、すなわち認証用素データC’のサイズを一定の小さい値に抑えることが可能となり、通信のオーバヘッドを減少させることができる。
【0143】
実行部310は、証明データ生成装置11からの返信データから乱数効果を除去して得られるデータK’を用いて、プログラム中の予め定められた領域のコードを復号する。すなわち実行部310は暗号化されたプログラムを記憶するプログラム記憶部310gと、暗号化されたプログラムを読み出しデータK’を利用して復号する復号部310hと、復号されたコードを取り出すコード取り出し部310iと、取り出されたコードを実行するコード実行部310fとを有する。
【0144】
実行手段310がユーザのPCあるいはワークステーション上で動作するアプリケーションプログラムとして構成されている場合を例にとって、更に詳細な構成を述べる。
【0145】
暗号化されたプログラムコードが記憶されているプログラム記憶部310gは、計算機中の指定された記憶領域である。
【0146】
コード実行部310fは計算機のCPU及びOSである。
【0147】
プログラム記憶部310gは、ハードディスク等、補助記憶装置上のファイル領域であるとすることができる。即ち、暗号化されたプログラムコードは、ファイルとして記憶されている。
【0148】
復号部310hの実体は、実行手段310中で最初に実行されるプログラムコードである。復号部310hは、直接・間接に、プログラム記憶部310gのアドレスを、コード実行部310fに指示することが可能である。
【0149】
K’が与えられた状態で、プログラムである復号部310hが起動されると、復号部310hは、プログラム記憶部310gに記憶されているデータを順に、あるいは定められた長さのブロック毎に読み出し、そのデータにK’を復号鍵とした所定の復号処理を実行し、その復号結果を計算機上のプログラム領域の特定のアドレスに書き出すよう、コード実行部310fに命令し、実行させる。この処理により、プログラム記憶部310gに記憶されていた暗号化データに対し、K’を復号鍵として、所定の復号アルゴリズムを実行した結果を、プログラム領域中の特定の位置に書き込んだこととなる。
【0150】
次いで、復号部310hは、コード実行部310fに命令して復号したプログラムコードを書き出させた、プログラム領域中の特定のアドレスの実行命令を実行するよう、JMP命令等を用いてコード実行部310fに命令する。
【0151】
この構成例では、証明データが証明データ生成装置11によって正しく生成されたならば、乱数効果を取り除いたのちの値はプログラム記憶部310gに記憶されている暗号化されたプログラムコードを正しく復号するための復号鍵となる。復号部310hは、この復号鍵を用いて、前記暗号化プログラムコードを復号し、復号結果であるプログラムコードをプログラム領域にロードし、ロードされた前記プログラムコードを実行するようコード実行部310fに命令する。従って、上記構成では、復号部310hのプログラムコードに引続き、証明データ生成手段11によって復号された復号鍵を用いて復号されたプログラムコードが実行されることとなる(図14)。
【0152】
[第三の実施例]
この発明における第三の実施例では、アクセスチケットtは次の式16に基づいて生成されるデータである。
【0153】
【数16】
(16) t = D+F(n,e)
上式中の各記号は以下を表す。
nはRSA法数、即ち、十分大きな二つの素数p、qの積である(n=pq)。ユーザ固有情報eはユーザ毎に異なる数であり、ユーザを識別するために用いられる。
φ(n)はnのオイラー数、即ち、p−1とq−1の積である(φ(n)=(p−1)(q−1))。
アクセスチケット秘密鍵Dは、法数nのもとでのRSA秘密鍵であり、式17を満たす。
【0154】
【数17】
(17) gcd(D,φ(n))=1
ここで、gcd(x,y)は二数x、yの最大公約数を表す。式(17)によって表現される性質は、式18を満たす数Eが存在することを保証する。
【0155】
【数18】
(18) ED mod φ(n) = 1
Eをアクセスチケット公開鍵と呼ぶ。
二変数関数F(x,y)は関数値が衝突しにくい二変数関数であり、例えば、前述の一方向ハッシュ関数hを利用して、式19のように定めることができる。
【0156】
【数19】
(19) F(x,y)=h(x|y)
図を参照してさらに第二の実施例について詳細に説明する。図15は、この発明における第三の実施例の構成を示し、図16は図15におけるデータのフローを示している。図15において、証明データ生成装置11は、受信データ記憶部111、第1演算部112、アクセスチケット記憶部113、第2演算部114、ユーザ固有情報記憶部115、証明データ生成部116および指数生成部130を含んで構成されている。証明データ検証装置10は第一の実施例(図3)や第二の実施例(図5)の構成を採用することができる。ここでは説明を繰り返さない。
【0157】
つぎにこの構成における動作について説明する。
【0158】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0159】
証明データ検証装置10の実現方法として、ユーザのPCやワークステーション上で動作するアプリケーションプログラム、ユーザのPCやワークステーションとネットワークを介して接続されたサーバ上のサーバプログラム、あるいは、ICカード・リーダ・ライターのような専用の装置のいずれも可能であることは、第一および第二の実施例の場合と変わらない。
【0160】
2.証明データ検証装置10は、認証用データCとアクセスチケット公開鍵記憶部101に記憶されているRSA暗号の法数nとの組を証明データ生成装置11中の受信データ記憶部111に書き込む。
【0161】
Cの生成方法としては、第一の実施例で述べた方法、第二の実施例で述べた方法のいずれも適用可能であるので、ここでは特に限定しない。前記いずれかの方法で生成されたCが証明データ生成装置11中の受信データ記憶部111に書き込まれるものとする。
【0162】
3.証明データ生成装置11中の第1演算部112は、アクセスチケット記憶部113に記憶されているアクセスチケットtを取得し、受信データ記憶部111に書き込まれたRSA法数nのもとで式20を実行し中間情報R’を得る。
【0163】
【数20】
(20) R’=Ct mod n
4.証明データ生成装置11中の指数生成部130は、ユーザ固有情報記憶部115に記憶されているユーザの固有情報eを取得し、式21の計算を実行する。
【0164】
【数21】
(21) F(n,e)
5.証明データ生成装置11中の第2演算部114は、指数生成部130で生成されたデータを用いて、式22の計算を実行し差分情報Sを得る。
【0165】
【数22】
(22) S=CF(n,e) mod n
6.証明データ生成装置11中の証明データ生成部116は、第1および第2演算部112、114からR’およびSを得て、式23の計算を行ないRを得る。
【0166】
【数23】
(23) R=R’S−1 mod n
ただし、S−1は法nのもとでのSの逆数、即ち、式24を満たす数を表す。
【0167】
【数24】
(24) S・S−1 mod n=1
7.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部105に返送する。
【0168】
8.証明データ検証装置10では、証明データ生成装置11から受け取った証明データの検証を行うが、その検証方法は、認証用データの一部であるCの生成方法によって異なる。
【0169】
Cが第一の実施例の方法に基づいて生成されたものであれば、その検証は第一の実施例に述べられた方法に従って行われる。
【0170】
Cが第二の実施例の方法に基づいて生成されたものであれば、その検証は第二の実施例に述べられた方法に従って行われる。
【0171】
[第四の実施例]
第四の実施例では、第一乃至第三の実施例において、証明データ生成装置がユーザのPCあるいはワークステーション上のプログラムと、前記PCあるいはワークステーションに装着されるICカード、あるいはPCカード(PCMCIAカード)などの携帯可能な演算手段によって構成される場合について述べる。
【0172】
第一乃至第三の実施例の証明データ生成装置11において、ユーザ固有情報eは秘密情報であり、外部に漏洩しないよう注意を払わなければならない。また、ユーザ固有情報eを用いた計算を実行する第2演算部114の動作が観測されるとユーザ固有情報eが漏洩する危険がある。第三の実施例における関数F(x,y)の計算過程が観測された場合も同様である。即ち、ユーザ固有情報eの漏洩を防ぐためには、ユーザ固有情報記憶部115、第2演算部114及び指数生成部130の内部が外部から観測されることを防止しなければならない。
【0173】
この目的を達成するためには、証明データ生成装置11の一部をハードウェアとして構成すると有効である。
【0174】
このようなハードウェアとして、ICカード・PCカードのような携帯性のある手段を用いることにすれば、更にユーザの利便性を高めることができる。証明データ生成装置の内、ユーザに固有な部分は、ユーザ固有情報記憶部とアクセスチケット記憶部のみである。従って、例えば、ユーザ固有情報記憶部115と、アクセスチケット記憶部113と、第2演算部114と、指数生成部130とをICカード・PCカード中に構成し、証明データ生成装置の残りの部分をユーザが使用するPCあるいはワークステーション上で動作するプログラムとして構成することにすれば、証明データ生成装置11のうち各ユーザに固有な部分は、それぞれのユーザが携帯可能なICカード・PCカードとして実現され、ユーザに依存しない共通部分はプログラムとして任意のPCあるいはワークステーションに共通に構成されることとなる。このような構成によって、どのユーザでも、自分のICカード・PCカードを、前記プログラムがインストールされた任意のPCあるいはワークステーションに装着するだけで、該PCあるいはワークステーションを自分用の証明データ生成装置として利用することが可能となる。
【0175】
さて、内部メモリーに格納されたデータやプログラムが外部から観測されたり、改竄されたりすることを防止するための特殊な構成を持つハードウェアを、耐タンパーハードウェア(タンパーレジスタントハードウェア)と呼ぶ。耐タンパーハードウェアの構成法としては、例えば、特許第1863953号、特許第1860463号、特開平3−100753号公報等が知られている。
【0176】
特許第1863953号においては、情報記憶媒体の周囲に、各種の導体パターンを持つ複数のカードからなる包囲体を設ける。検出される導体パターンが予測されるパターンと異なる時に記憶情報を破壊する。
【0177】
特許第1860463号においては、情報記憶媒体の周囲に導体巻線を形成するとともに積分回路等からなる検知回路を設けることで、電子回路領域への侵入があった場合には電磁エネルギーの変動を検知し記憶情報を破壊する。
【0178】
特開平3−100753号公報においては、ハードウェア内部に光検知器を設け、ハードウェアに力が加えられて破壊された場合や穿孔されたときに入る外光を光検知器が検知し、記憶破壊装置が記憶情報をリセットする。
【0179】
これらの耐タンパーハードウェアを、ICカードやPCカード(PCMCIAカード)のような携帯可能な演算装置として実現することにより、ユーザに対する更なる利便を提供することができる。
【0180】
また、ICカードに実装されるマイクロコントローラーは、高密度実装ゆえに、それ自体で相当の耐タンパー特性を有しているとされている。
【0181】
図17は、第一および第二の実施例において、ユーザ固有情報eを保持するユーザ固有情報記憶手段115と、差分情報を生成する第二演算手段114とが、ICカードのような耐タンパーハードウェア160に封入されている構成を示している。
【0182】
図18は、第三の実施例において、ユーザ固有情報eを保持するユーザ固有情報記憶部115と、差分情報を生成する第2演算部114に加えて、指数生成部130も耐タンパーハードウェア161に封入されている構成を示している。
【0183】
ICカード側I/F部141は、ホストとICカードの通信を司るICカード側インターフェースであり、具体的には、通信用バッファと通信プログラムから構成される。証明データ生成装置の内の残りの部分は、ユーザのPCあるいはワークステーション上で動作するプログラムとして構成される。耐タンパーハードウェア161中の各手段の作用は第一乃至第三の実施例に述べた通りであるので、以下では、その部分の作用については解説しない。また、説明を簡略にする目的で耐タンパーハードウェアをICカードであるものと仮定するが、この仮定はこの発明の一般性をなんら束縛するものではない。
【0184】
図19は、図17および図18におけるデータのフローを示している。
【0185】
つぎに、動作について説明する。
【0186】
1.ユーザがアクセスすることによって、証明データ検証装置10が起動される。
【0187】
2.証明データ検証装置10は、認証用データCとアクセスチケット公開鍵記憶部101に記憶されているRSA暗号の法数nとの組を証明データ生成装置11中の受信データ記憶部111に書き込む。
【0188】
3.証明データ生成装置11中のホスト側インターフェース部140は、受信データ記憶部111に書き込まれた認証用データCとnを、ICカード側インターフェース部141に引き渡す。ホスト側インターフェース部140は、ICカード中に設けられたICカード側インターフェース部141と協調して、ホスト・ICカード間のデータ通信を司る。
【0189】
4.アクセスチケット検索部142は、RSA法数nを検索のキーとして、アクセスチケット記憶部113に記憶されているアクセスチケットtを検索・取得する。
【0190】
5.第1演算部112は、受信データ記憶部111に書き込まれたRSA法数nのもとで式25を実行し中間情報R’を得る。
【0191】
【数25】
(25) R’=Ct mod n
6.次いで、ホスト側インターフェース部140は、ICカード側インターフェース部141にコマンドを発行し、その返り値として差分情報Sを得る。
【0192】
アクセスチケット及びICカード中の手段が第一あるいは第二の実施例に即して構成されている場合には、差分情報Sは式26によって計算される値である。
【0193】
【数26】
(26) S=Ce mod n
アクセスチケット及びICカード中の手段が第三の実施例に即して構成されている場合には、差分情報Sは式27によって計算される値である。
【0194】
【数27】
(27) S=CF(n,e) mod n
7.証明データ生成装置11中の証明データ生成部116は、第1および第2演算部112、114からR’およびSを得て、第一および第二の実施例に即している場合は式28、第三の実施例に即している場合には式29の計算を行ないRを得る。
【0195】
【数28】
(28) R=R’S mod n
【0196】
【数29】
(29) R=R’S−1 mod n
8.証明データ生成装置11はRを証明データ検証装置10の受信データ記憶部105に返送する。
【0197】
上記の作用において、中間情報R’と差分情報Sの計算が、ユーザのPCあるいはワークステーションであるホスト側と、演算機能を内蔵するICカード側で並列に実行されるため、証明データ生成手段11が認証用データC及び法数nを受け取ってから、証明データRを計算するまでの実行時間を短縮することができ、よって処理効率を向上させている。
【0198】
この実施例では、アクセスチケット記憶部113には複数のアクセスチケットが記憶されるが、アクセスチケットが異なればそのRSA法数nが異なるので、アクセスチケットは、nをキーとして検索ができるようにnと対応づけて記憶される。
【0199】
また、アプリケーションやサーバがアクセス制御のために利用するRSA法数nは、アプリケーションやサーバ毎に異なるのが基本である。
【0200】
アクセスチケット検索部142は、証明データ検証装置10から与えられるRSA法数nをキーとして、適切なアクセスチケットを検索し、以後の証明データの生成に供する。この検索機能により、証明データ生成装置11は、ユーザになんら負担を強いることなく、アクセスしている対象(個別のアプリケーションや個別のサーバ)に応じて適切な証明データを計算し、返送することが可能となる。
【0201】
[第五の実施例]
この発明における第五の実施例では、第三の実施例で用いたRSA公開鍵暗号の代わりに、Pohlig−Hellman非対称鍵暗号を用いる。
【0202】
Pohlig−Hellman非対称鍵暗号は、法数として大きな素数pを用いる点で,法数として2つの素数の積n(=pq)を用いるRSA公開鍵暗号と異なる外は、RSA公開鍵暗号と同一の暗号方式である。しかし、RSA公開鍵暗号では、一方の鍵Eと法数nから、もう一方の鍵Dを計算することが非常に困難であったため、E及びnを公開鍵として用い、Dを個人の秘密として用いることが可能であった。一方、Pohlig−Hellman非対称鍵暗号暗号では、Eとpとから、容易にDが計算できるため、Eとpとを公開鍵として用いることはできない。即ち、EとDとの両方を当事者間の秘密としておく必要があり、DES(Data Encryption Standard)のような共通鍵暗号と同様の利用形態を採らざるを得ない。
【0203】
この実施例では、アクセスチケットtは次の式30に基づいて生成されるデータである。
【0204】
【数30】
(30) t = D+F(p,e)
上式中の各記号は以下を表す。
pは十分大きな素数である。
ユーザ固有情報eはユーザ毎に異なる数であり、ユーザを識別するために用いられる。
アクセスチケット秘密鍵Dは、法数pのもとでのPohlig−Hellman暗号の鍵の一方であり、式31を満たす。
【0205】
【数31】
(31) gcd(D,p−1)=1
ここで、gcd(x,y)は二数x、yの最大公約数を表す。
【0206】
式31によって表現される性質は、式32を満たす数Eが存在することを保証する。
【0207】
【数32】
(32) ED mod p−1 = 1
二変数関数F(x,y)は関数値が衝突しにくい二変数関数であり、例えば、前述の一方向ハッシュ関数hを利用して、式33のように定めることができる。
【0208】
【数33】
(33) F(x,y)=h(x|y)
つぎに、図20および図21を参照して第五の実施例についてさらに詳細に説明する。図20は第五の実施例の構成を示し、図21は図20におけるデータのフローを示している。図20において、証明データ検証装置20は、鍵記憶部401、乱数発生部402、乱数記憶部403、受信データ記憶部405、乱数化部421、認証用素データ記憶部422、乱数効果除去部423および実行手段310を含んで構成されている。また、証明データ生成部41は、受信データ記憶部411、第1演算部412、アクセスチケット記憶部413、第2演算部414、ユーザ固有情報記憶部415、証明データ生成部416、および指数生成部430を含んで構成されている。
【0209】
つぎに、動作について説明する。
【0210】
1.ユーザがアクセスすることによって、証明データ検証装置40が起動される。
【0211】
2.証明データ検証装置40は、認証用データCと鍵記憶部401に記憶されている法数pとの組を証明データ生成装置41中の受信データ記憶部411に書き込む。
【0212】
この実施例では、Cの生成方法としては、第二の実施例で述べた方法に準じた方法によるものとするが、第一の実施例で述べた方法に準じた方法を構成することも難しくない。
【0213】
証明データ検証装置中40の乱数発生部402によって、乱数rを鍵記憶部401に保持されている法数pと互いに素になるように生成し、乱数記憶部403に記録する。
【0214】
乱数化部421は、鍵記憶部401に格納されてい指数Eと法数pを取得し、さらに認証用素データ記憶部422に記憶されているデータC’を取得して、式34の計算を行なう。
【0215】
【数34】
(34) C=rEC’ mod p
ここで、認証用素データC’はデータKに対して関係式35を満たすように生成され、認証用素データ記憶部305に格納された値である。
【0216】
【数35】
(35) C’=KE mod p
3.証明データ生成装置41中の第1演算部412は、アクセスチケット記憶部413に記憶されているアクセスチケットtを取得し、受信データ記憶部411に書き込まれたRSA法数pのもとで式36を実行し中間情報R’を得る。
【0217】
【数36】
(36) R’=Ct mod p
4.証明データ生成装置41中の指数生成部430は、ユーザ固有情報記憶部415に記憶されているユーザの固有情報eを取得し、式37の計算を実行する。
【0218】
【数37】
(37) F(p,e)
5.証明データ生成装置11中の第2演算部414は、指数生成部430で生成されたデータを用いて、式38の計算を実行し差分情報Sを得る。
【0219】
【数38】
(38) S=CF(p,e) mod p
6.証明データ生成装置41中の証明データ生成部416は、第1および第2演算部412、414からR’およびSを得て、式39の計算を行ないRを得る。
【0220】
【数39】
(39) R=R’S−1 mod pただし、S−1は法pのもとでのSの逆数、即ち、式40を満たす数を表す。
【0221】
【数40】
(40) SS−1 mod p = 1
7.証明データ生成装置41はRを証明データ検証装置40の受信データ記憶部405に返送する。
【0222】
8.証明データ検証装置10中の乱数効果除去部423は、乱数記憶部403中から先に生成した乱数rを取り出し、式41の計算を行なう。
【0223】
【数41】
(41) K’=r−1R mod p
証明データ生成装置41において用いられるアクセスチケットtとユーザの第一の固有情報eの組合せが正しい場合に限り、計算の結果得られたK’とKが一致することに注意せよ。
【0224】
[第六の実施例]
この発明の第六の実施例では、第三の実施例におけるRSA公開鍵暗号の代わりに、ElGamal公開鍵暗号を用いた構成例を示す。
【0225】
この発明における第六の実施例では、アクセスチケットtは次の式42に基づいて生成されるデータである。
【0226】
【数42】
(42) t = X+F(p,e)
上式中の各記号は以下を表す。
pは十分大きな素数である。
ユーザ固有情報eはユーザ毎に異なる数であり、ユーザを識別するために用いられる。
アクセスチケット秘密鍵Xは、法数pのもとでのElGamal暗号の秘密鍵であり、Yを対応する公開鍵であるとする。即ち、式43を満たす。
【0227】
【数43】
(43) Y = aX mod p
ここで、aは位数pの有限体の乗法群の生成元、即ち、式44及び45を満たす。
【0228】
【数44】
(44) a ≠ 0
【0229】
【数45】
(45) min{x>0|ax=1 mod p} = p−1
また、Yをアクセスチケット公開鍵と呼ぶ。
【0230】
二変数関数F(x,y)は関数値が衝突しにくい二変数関数であり、例えば、前述の一方向ハッシュ関数hを利用して、式46のように定めることができる。
【0231】
【数46】
(46) F(x,y)=h(x|y)
つぎに、図22および図23を参照して第六の実施例をさらに説明する。図22は第六の実施例の構成を示し、図23は第六の実施例におけるデータのフローを示している。図22において、証明データ検証装置50は、アクセスチケット公開鍵記憶部501、乱数発生部502、乱数記憶部503、受信データ記憶部505、乱数化部521、認証用素データ記憶部522、乱数効果除去部523および実行手段310を含んで構成されている。証明データ生成部51は、受信データ記憶部511、第1演算部512、アクセスチケット記憶部513、第2演算部514、ユーザ固有情報記憶部515、証明データ生成部516、および指数生成部530を含んで構成されている。
【0232】
つぎに動作について説明する。
【0233】
1.ユーザがアクセスすることによって、証明データ検証装置50が起動される。
【0234】
2.証明データ検証装置50は、認証用データの組u、Cと、アクセスチケット公開鍵記憶部501に記憶されている法数pとを、証明データ生成装置51中の受信データ記憶部511に書き込む。
【0235】
認証用素データ記憶部522には、認証用素データとしてu,C’が記憶されているが、それらは次の性質を満たす。
【0236】
uは、上記aを法pのもとで適当な乱数zを指数としてべき乗した数であり、即ち、式47を満たす。
【0237】
【数47】
(47) u = az mod p
C’は、アクセスチケット公開鍵Yを、法pのもとで、上記乱数zを指数としてべき乗した数と、適当なデータKとの積であり、式48を満たす。
【0238】
【数48】
(48) C’=YzK mod p
認証用データCは、次のように生成される。
【0239】
証明データ検証装置50は、乱数発生部502によって、乱数rをアクセスチケット公開鍵記憶部501に保持されている法数pと互いに素になるように生成し、乱数記憶部503に記録する。
【0240】
次いで、乱数化部521は、認証用素データ記憶部522に記憶されているデータC’を取得して、式49の計算を行なう。
【0241】
【数49】
(49) C=rC’ mod p
3.証明データ生成装置51中の第1演算部512は、アクセスチケット記憶部513に記憶されているアクセスチケットtを取得し、受信データ記憶部511に書き込まれた法数pのもとで式50を実行し中間情報Sを得る。
【0242】
【数50】
(50) S = ut mod p
4.証明データ生成装置51中の指数生成部530は、ユーザ固有情報記憶部515に記憶されているユーザの固有情報eを取得し、式51の計算を実行する。
【0243】
【数51】
(51) F(p,e)
5.証明データ生成装置51中の第2演算部514は、指数生成部530で生成されたデータを用いて、式52の計算を実行し差分情報S’を得る。
【0244】
【数52】
(52) S’ = uF(p,e) mod p
6.証明データ生成装置51中の証明データ生成部516は、第1および第2演算部512、514からSおよびS’を得て、式53の計算を行ないRを得る。
【0245】
【数53】
(53) R = S−1S’C mod p
ただし、S−1は法pのもとでのSの逆数、即ち、式54を満たす数を表す。
【0246】
【数54】
(54) SS−1 mod p = 1
7.証明データ生成装置51はRを証明データ検証装置50の受信データ記憶部505に返送する。
【0247】
8.証明データ検証装置10中の乱数効果除去部523は、乱数記憶部503中から先に生成した乱数rを取り出し、式55の計算を行なう。
【0248】
【数55】
(55) K’=r−1R mod p
証明データ生成装置51において用いられるアクセスチケットtとユーザの固有情報eの組合せが正しい場合に限り、計算の結果得られたK’とKが一致することに注意せよ。
【0249】
さて、上記の形態を直接実施した場合、次のような問題が生じる。即ち、同一の認証用素データu,C’を、複数回のアクセス資格認証手続きに適用することにより、ユーザ固有情報やアクセスチケットなしに証明データ生成装置11の作用を模倣する装置を構成することが可能となる。まず、初回の認証手続きにおいて、証明データ検証装置10から発行される認証用素データCと証明データ生成装置11が生成する証明データRから、H=RC−1
mod pを計算する。模倣装置には、ユーザ固有情報及びアクセスチケットの代わりにこのHを記録しておく。証明データ検証装置10が発行する任意の認証用素データ(u,C)に対し、模倣装置が式R=HC mod pに従って証明データRを生成し、証明データ検証装置10に返すようにすればよい。
【0250】
この攻撃に対処する方法として、認証用素データ記憶部522に認証用素データの組u,C’を必要な数だけ記憶しておいて、認証手続きの都度使い捨てにする方法が考えられる。ここで、相異なる認証用素データでは、その生成のために用いられる乱数zが互いに相違するようにする。uは、u=ak
modpで定義されるが、kは乱数であったことに留意されたい。
【0251】
[第七の実施例]
この発明の第七の実施例においては、アクセス資格認証の特徴情報としてElGamal署名の署名鍵を用いる構成例を述べる。
【0252】
この発明における第七の実施例では、アクセスチケットtは式56に基づいて生成されるデータである。
【0253】
【数56】
(56) t = X+F(p,e)
上式中の各記号は以下を表す。
pは十分大きな素数である。
ユーザ固有情報eはユーザ毎に異なる数であり、ユーザを識別するために用いられる。
アクセスチケット秘密鍵Xは、法数pのもとでのElGamal署名の署名鍵であり、Yを対応する公開鍵であるとする。即ち、式57を満たす。
【0254】
【数57】
(57) Y = aX mod p
ここで、aは位数pの有限体の乗法群の生成元、即ち、式58及び59を満たす。
【0255】
【数58】
(58) a ≠ 0
【0256】
【数59】
(59) min{x>0|ax=1 mod p} = p−1
また、Yをアクセスチケット公開鍵と呼ぶ。
【0257】
二変数関数F(x,y)は関数値が衝突しにくい二変数関数であり、例えば、前述の一方向ハッシュ関数hを利用して、式60のように定めることができる。
【0258】
【数60】
(60) F(x,y)=h(x|y)
つぎに図24および図25を参照してさらに第七の実施例について説明する。図24は第七の実施例の構成を示し、図25は第七の実施例におけるデータのフローを示している。図24において、証明データ検証装置60は、アクセスチケット公開鍵記憶部601、乱数発生部602、乱数記憶部603、受信データ記憶部605、検証部606、実行部607およびエラー処理部608を含んで構成されている。また、証明データ生成装置61は、受信データ記憶部611、乱数発生部612、第1演算部613、第2演算部614、アクセスチケット記憶部615、およびユーザ固有情報記憶部616を含んで構成されている。
【0259】
つぎに動作について説明する。
【0260】
1.ユーザがアクセスすることによって、証明データ検証装置60が起動される。
【0261】
2.証明データ検証装置60は、認証用データCと、アクセスチケット公開鍵記憶部601に記憶されている法数pと、生成元aとを、証明データ生成装置61中の受信データ記憶部611に書き込む。認証用データCは、次のように生成される。
【0262】
証明データ検証装置60は、乱数発生部602によって、乱数rをアクセスチケット公開鍵記憶部601に保持されている法数pと互いに素になるように生成し、前記rを乱数記憶部603に記録するとともに、認証用データCとする(C=r)。
【0263】
3.証明データ生成装置61中の乱数生成部612は、法数p−1と互いに素であるような乱数kを生成する。
【0264】
第1演算部613は、前記乱数kと、受信データ記憶部611に書き込まれた法数pと、生成元aとから、第一の証明データRを式61に従って計算する。
【0265】
【数61】
(61) R = ak mod p
第2演算部614は、アクセスチケット記憶部615に記憶されているアクセスチケットtと、ユーザ固有情報記憶部616に記憶されているユーザ固有情報eと、前記乱数kと、前記第一の証明データRと、受信データ記憶部611に書き込まれた認証用データCと、法数pとから、第二の証明データSを式62に従って計算する。
【0266】
【数62】
(62) S = (C−R(t−F(p,e)))k−1 mod p−14.証明データ生成装置61は第一および第二の証明データであるR及びSを証明データ検証装置60の受信データ記憶部605に返送する。
【0267】
5.証明データ検証装置60中の検証部606は、乱数記憶部603に記憶されている乱数r(=C)と、アクセスチケット公開鍵記憶部601に記憶されているY及びpとを取り出し、式63によって、証明データR及びSを検証する。
【0268】
【数63】
(63) ar = YRRS mod p
【0269】
[第八の実施例]
この発明の第八の実施例では、アクセスチケットの生成方法について述べる。
【0270】
第一乃至第七の実施例におけるアクセスチケットの生成には、秘密数に基づく計算が必要である。従って、アクセスチケットの生成は、計算に用いる秘密数が漏洩したり、計算の中間結果が露呈する心配のない安全な装置で実行される必要がある。
【0271】
このような安全な装置を構成するための最も容易な方法は、アクセスチケット発行サービスをユーザに提供するサーバを、ユーザが使用するPCあるいはワークステーションから独立な計算機上に構築することである。サーバは、ユーザからの要求に応じてアクセスチケットを生成する。サーバの構成に当たっては、外部からの侵入を遮断するように構成することにより、秘密数およびアクセスチケットの計算手順を守る。
【0272】
例えば、アクセスチケット発行サーバを、施錠され、出入りが厳重に管理される個室内の計算機上に構成することにより、外部からの侵入を遮断することが可能となる。
【0273】
また、ユーザの利便を向上させるために、前記アクセスチケット発行サーバをネットワークに接続し、ユーザからのアクセスチケット発行要求をネットワークを介して受け取り、生成したアクセスチケットをやはりネットワークを介してユーザに配送するように構成することも可能である。
【0274】
このように、アクセスチケット発行サーバをネットワークに接続する場合には、ファイアウォール技術(D. Brent Chapman & Elizabeth D. Zwicky, Building Internet Firewalls, O’Reilly & Associates, Inc.あるいは邦訳、ファイアウォール構築、オライリー・ジャパンを参照)を利用して、ネットワークを介した外部からの侵入に対しても十分に安全性が保たれるよう構築される必要がある。
【0275】
第一乃至第七の実施例におけるアクセスチケットは、その正当な使用者(アクセスチケットを計算する際に用いたユーザ固有情報eを保持するユーザ)以外には利用できない形式で生成されている。
【0276】
第一乃至第七の実施例におけるアクセスチケットは、更に厳密な安全基準のもとに生成されている。即ち、不正なアクセスを試みるユーザが、本人向けあるいは他人向けを問わず、任意個数のアクセスチケットを集めたとしても、そこから、別のアクセスチケットを偽造したり、第一乃至第五の実施例で述べた証明データ生成装置の動作を模倣する装置を構成することは不可能である。
【0277】
上記のようなアクセスチケットの安全性から、アクセスチケット発行サーバが生成したアクセスチケットを、電子メールのような比較的安全性の低い配送手段を利用してユーザに配送することも可能となる。
【0278】
[第九の実施例]
この実施例では、第一乃至第七の実施例とは異なるユーザの固有情報およびアクセスチケットの構成法を述べる。この構成方法の特徴は、アクセスチケットの生成に秘密情報を必要としない点にある。
【0279】
従って、アクセスチケット生成に際して、第八の実施例で述べたような、外部からの侵入に対して安全に構築されたアクセスチケット発行サーバは必要ない。ユーザは、所有するPCあるいはワークステーション上で動作するプログラムによって自由にアクセスチケットを生成することができる。プログラム中には、秘密の定数や秘密の手続きは存在せず、プログラムを解析したとしても不正アクセスを可能とするいかなる情報も取り出すことはできない。
【0280】
ユーザUの固有情報はRSA公開鍵ペアの個人鍵dである。このユーザの固有情報に対応する公開鍵を(eU,nU)とする。即ち、異なる2つの大きい素数pUとqUに対しnU=pUqUであり、dU及びeUは関係式64を満たすように決定された整数である。
【0281】
【数64】
ここで、nUは全てのユーザに共有される定数N以上であるという条件を付け加える。
【0282】
ユーザUへのアクセスチケットは以下のように構成される。
【0283】
RSA公開鍵ペアの公開鍵(E,n)をアクセスチケットの公開鍵とし、該公開鍵と対をなす秘密鍵をDとする。nの素因数分解をn=pqとする時、関係式65が成り立つ。
【0284】
【数65】
アクセスチケットtUは式66で定義される
【0285】
【数66】
(66) tU=DeU mod nU
この実施例におけるアクセス資格認証の特徴情報は、前記RSA公開鍵ペアの個人鍵Dである。
【0286】
第一乃至第七の実施例の場合と同様、この実施例における証明データ生成装置11は、アクセス資格認証の特徴情報を知りえること、即ち、与えられた認証用データに対応して、正しい証明データを計算し得ることを、証明データ検証装置10との通信を介して証明する。
【0287】
この実施例の特徴は、アクセス資格認証の特徴情報であるDを暗号化して得られるデータがアクセスチケットであり、ユーザの固有情報がこの暗号化を解くための唯一の復号鍵である点にある。更にいえば、ユーザの固有情報をRSA公開鍵暗号の個人鍵としている所から、対応する公開鍵を知りえる何人でもアクセスチケットを生成しえる点にある。
【0288】
以下に、本実施例における作用を図26を参照して述べる。
【0289】
1.証明データ検証装置10は、認証用データCを証明データ生成装置10の受信データ記憶部711に書き込む。
【0290】
2.証明データ生成装置11の復号鍵生成部712は、ユーザ固有情報記憶部715中に記憶されたユーザの固有情報dUと、アクセスチケット記憶部713中に記憶されたアクセスチケットtUを取得し、式67に基づきD’を計算する。
【0291】
【数67】
(67) D’=tU dU mod nU
3.証明データ生成部714は、復号鍵生成部712によって生成された前記D’と、受信データ記憶部711に記憶されている認証用データCを入力として式68の計算を行ない、Rを求める。証明データ生成部714は、計算結果を返信データとして証明データ検証装置に送信する。
【0292】
【数68】
(68) R= CD’ mod n
4.証明データ検証装置は、証明データRの正当性を検証する。
【0293】
アクセスチケットtU=DeU mod nUにおけるアクセスチケットの秘密鍵Dは、ユーザUに対しても秘密に保たれなければならないので、上記証明データ生成装置11の装置構成のうち、ユーザ固有情報記憶部713、復号鍵生成部712および証明データ生成部714は耐タンパー特性を有する防御手段760中に封入される。
【0294】
第1乃至第七の実施例の場合と同様、証明データ生成装置11によってユーザの第一の固有情報とアクセスチケットの正しい組合せが用いられた場合に限り、証明データ生成装置によって生成される証明データRは、証明データ検証装置によって正しく検証される。
【0295】
[第十の実施例]
この発明の第十の実施例は、証明データ生成装置における証明データの計算に公開鍵暗号(RSA暗号)の代わりに対称鍵暗号が利用され、アクセスチケットが、前記対称鍵暗号の復号鍵(暗号化鍵と同一)Dをユーザ固有情報であるRSA公開鍵ペアの個人鍵に対応する公開鍵(eU,nU)で暗号化して得られるデータである点を除いては、第九の実施例とほぼ同じである。
【0296】
即ち、対称鍵暗号の暗号化関数をEncrypt(鍵,平文)(出力は暗号文)、復号関数をDecrypt(鍵,暗号文)(出力は平文)と表す時、プロテクトされた証明データCは式69で定義される。
【0297】
【数69】
(69) C=Encrypt(D,K)
更に、アクセスチケットtUは式70で定義される。
【0298】
【数70】
(70) tU=DeU mod nU
以下、証明データ生成装置の装置構成および作用を図26に基づいて説明する。
【0299】
1.証明データ検証装置10は、認証用データCを証明データ生成装置10の受信データ記憶部711に書き込む。
【0300】
2.証明データ生成装置11の復号鍵生成部712は、ユーザ固有情報記憶部715中に記憶されたユーザの固有情報dUと、アクセスチケット記憶部713中に記憶されたアクセスチケットtUを取得し、式71によりD’を計算する。計算結果は証明データ生成部714に出力される。
【0301】
【数71】
(71) D’=tU dU mod nU
3.証明データ生成部714は、復号鍵生成部712から得たD’と、受信データ記憶部711に記憶されている認証用データCを入力として式72の計算を行ない、Rを求める。計算結果は、返信データとして証明データ検証装置10に送信される。
【0302】
【数72】
(72) R=Decrypt(D’,C)
4.証明データ検証装置11中はRの検証を行い、正規の処理を続行するか、エラー処理を実行するかを決定する。
【0303】
[実施例の効果]
以上の説明から明らかなように、ユーザのPCあるいはワークステーション上で実行されるアプリケーションプログラムへのアクセス制御(実行制御)を目的として、上記の実施例を実施した場合、次に述べる効果を提供することができる。
【0304】
1.ユーザはユーザ固有情報を固有にただ一つ保持すればよい。
【0305】
2.アプリケーション作成時にはユーザ固有情報と無関係な方法でプログラムに保護処理を施す。
【0306】
3.アプリケーションの実行を許可されたユーザにはアクセスチケットが発行され、該ユーザは自らのユーザ固有情報とアクセスチケットを保持することによってのみアプリケーションの実行が可能となる。
【0307】
4.アクセスチケットは、正規の持ち主ではないユーザがそれを保持していたとしても、それによってアプリケーションの実行が可能ならないような方法で、安全に生成される。
【0308】
これらの特徴により、ユーザ固有情報を内蔵したハードウェアをユーザに配布する場合でも、配布は各ユーザ毎に一回で済み、また、プログラム作成者は、作成する所のプログラムがだれによって利用されるかに関わりなく、一つのアプリケーションの保護処理を一通りの方法で行なえばよいこととなる。従って、従来技術の問題点であった、
◎ユーザ毎に異なるユーザ固有情報を識別するように、プログラムの保護方法をユーザ毎に変えなければならない、
◎ユーザ固有情報をアプリケーション毎に設定し、そのためアプリケーション毎にハードウェアをユーザに郵送しなければならない、
といった問題点が解決され、コストの低減と利便性の向上に大幅に寄与する。
【0309】
上述の実施例によれば、アプリケーションプログラムの実行にはアクセスチケットが必要となるが、アクセスチケットは正規のユーザにのみ利用可能な安全なディジタル情報であるため、ネットワーク等を介して簡便にユーザに配送することが出来る。
【0310】
また、ユーザは利用するアプリケーションプログラムを変更する度にアクセスチケットを取り替える必要があるが、前述のようにアクセスチケットはディジタル情報であるため取り替え操作は計算機中のプログラムによって容易に行なうことができる。即ち、アプリケーションプログラムを変更する度にユーザがハードウェアを取り替えなければならないといった従来の煩雑さが解消される。
【0311】
更に、上述実施例では、異なる証明データに基づく証明データ検証装置(プロシージャ)を、アプリケーションプログラム中の任意の位置に自由に配置することが可能であるため、
◎アプリケーションプログラムの部分毎に異なる実行権を設定する
◎特定の組合せのアクセスチケットを全て保持している時に限り実行権を与えるといった、
きめの細かいアクセス制御を実行制御によって実現することが出来る。
【0312】
なおこの発明はプログラムの実行制御に限定されるものではなく、メールのプライバシー保護やファイルおよび計算機資源へのアクセス制御にこの発明を適用することができることは明らかである。すなわちファイルやメールや計算機資源を管理する機構にこの発明の認証技術を適用すれば、ファイル等のアクセスを制御することができる。
【0313】
【発明の効果】
以上説明したように、この発明によれば、証明用補助データ(アクセスチケット)を導入することにより、アクセス資格認証の特徴情報とユーザ固有情報とを独立させることができ、従って、プロテクト側も、ユーザ側も1つの固有情報を準備しておけば済む。アクセスチケットは、特定のユーザ固有情報とアクセス資格認証の特徴情報とに基づいて計算されるデータであり、またユーザ固有情報を知らずにアクセスチケットからアクセス資格認証の特徴情報を計算することは少なくとも計算量的に不可能である。そしてユーザ固有情報とアクセスチケットとの正しい組合せ、即ち、ユーザ固有情報と該ユーザ固有情報に基づいて計算されたアクセスチケットの組合せが入力された場合に限って、正しい証明用データがを計算される。従って、ユーザはあらかじめユーザ固有情報を所持し、プログラム作成者等のプロテクト者はユーザが所持するユーザ固有情報とは独立にアクセス資格認証の特徴情報を用意し、アクセスチケットをユーザの固有情報とアプリケーションプログラムの作成等に使用したアクセス資格認証の特徴情報とに応じて作成し、配布することにより、実行制御等のユーザのアクセス資格の認証を行なうことができる。
【図面の簡単な説明】
【図1】この発明の原理的な構成例を示すブロック図である。
【図2】この発明の第一の実施例の構成を示すブロック図である。
【図3】第一の実施例の証明データ検証装置及び証明データ生成装置の構成を示すブロック図である。
【図4】第一の実施例の動作を説明するフロー図である。
【図5】第二の実施例の証明データ検証装置及び証明データ生成装置の構成を示すブロック図である。
【図6】第二の実施例の証明データ検証装置の動作を説明するフロー図である。
【図7】第二の実施例の証明データ検証装置の実行部の構成例を示すブロック図である。
【図8】図7の実行部の構成例の動作を説明するフロー図である。
【図9】第二の実施例の証明データ検証装置の実行部の他の構成例を示すブロック図である。
【図10】図9の実行部の構成例の動作を説明するフロー図である。
【図11】第二の実施例の証明データ検証装置の実行部の他の構成例を示すブロック図である。
【図12】図11の実行部の構成例の動作を説明するフロー図である。
【図13】第二の実施例の証明データ検証装置の実行部の他の構成例を示すブロック図である。
【図14】図13の実行部の構成例の動作を説明するフロー図である。
【図15】この発明の第三の実施例の証明データ生成装置の構成を示すブロック図である。
【図16】第三の実施例の証明データ生成装置の動作を説明するフロー図である。
【図17】この発明の第四の実施例の構成例を示すブロック図である。
【図18】この発明の第四の実施例の他の構成例を示すブロック図である。
【図19】図17の動作を説明するフロー図である。
【図20】この発明の第五の実施例の構成を示すブロック図である。
【図21】第五の実施例のデータ検証装置の動作を説明するフロー図である。
【図22】この発明の第六の実施例の構成を示すブロック図である。
【図23】第六の実施例の動作を説明するフロー図である。
【図24】この発明の第七の実施例の構成を示すブロック図である。
【図25】第七の実施例の動作を説明するフロー図である。
認証プロトコルを説明する図である。
【図26】第九の実施例および第十の実施例のアクセスチケットを用いた認証を説明するブロック図である。
【符号の説明】
10 証明データ検証装置
11 証明データ生成装置
12 アクセスチケット生成装置
13 アクセスチケット
14 アクセス資格認証の特徴情報
15 検証ルーチン
16 ユーザ固有情報
17 証明データ生成プログラム
20 トークン(防護手段)
101 アクセスチケット公開鍵記憶部101
102 乱数発生部
103 乱数記憶部
105 受信データ記憶部
106 検証部
107 実行部
108 エラー処理部
111 受信データ記憶部
112 第1演算部
113 アクセスチケット記憶部
114 第2演算部
115 ユーザ固有情報記憶部
116 証明データ生成部
Claims (7)
- 第1の記憶手段、第2の記憶手段、特徴情報復元手段および検証手段を用いてユーザのアクセス資格を認証するアクセス資格認証方法において、
上記第1の記憶手段にユーザの固有情報を記憶するステップと、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対して、証明用補助情報を生成するために予め定められた第1の所定に計算を実行した実行結果である証明用補助情報を、上記第2の記憶手段に記憶するステップと、
上記特徴情報復元手段により、上記第1の記憶手段に記憶されている上記ユーザの固有情報と、上記第2の記憶手段に記憶されている上記証明用補助情報とに、アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算を施してアクセス資格認証の特徴情報を生成するステップと、
上記アクセス資格認証の特徴情報を生成できたことを上記検証手段により検証するステップとを有し、
上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に上記特徴情報復元手段が正当なアクセス資格認証の特徴情報を生成するように選定したことを特徴とするアクセス資格認証方法。 - ユーザのアクセス資格を認証するアクセス資格認証装置において、
ユーザの固有情報を記憶する第1の記憶手段と、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対して、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を記憶する第2の記憶手段と、
上記ユーザの固有情報と、上記証明用補助情報とに、アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算を施してアクセス資格認証の特徴情報を計算する特徴情報生成手段と、
上記特徴情報生成手段によってアクセス資格認証の特徴情報が正しく生成されたことを検証する検証手段とを有し、
上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に上記特徴情報復元手段が正当なアクセス資格認証の特徴情報を生成するように選定したことを特徴とするアクセス資格認証装置。 - 請求項1記載のアクセス資格認証方法において第3の記憶手段、第4の記憶手段および演算手段を用いユーザのアクセス資格を証明するために使われる証明用補助情報を作成する方法であって、
上記第3の記憶手段にユーザの固有情報を記憶するステップと、
上記第4の記憶手段にアクセス資格認証の特徴情報を記憶するステップと、
上記演算手段により、上記第3の記憶手段に記憶されている上記ユーザの固有情報と、上記第4の記憶手段に記憶されている上記アクセス資格認証の特徴情報に、証明用補助情報を生成するために予め定められた第1の所定の計算を実行して上記証明用補助情報を作成するステップとを有し、
上記証明用補助情報を生成するために予め定められた第1の所定の計算と、請求項1記載のアクセス資格認証方法の、上記アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に請求項1記載のアクセス資格認証方法の上記特徴情報復元手段が正当なアクセス資格認証の特徴情報を生成するように選定したことを特徴とする証明用補助情報作成方法。 - 請求項2記載のアクセス資格認証装置においてユーザのアクセス資格を証明するために使われる証明用補助情報を作成する装置であって、
ユーザの固有情報を記憶する第3の記憶手段と、
アクセス資格認証の特徴情報を記憶する第4の記憶手段と、
上記ユーザの固有情報と、上記アクセス資格認証の特徴情報に、証明用補助情報を生成するために予め定められた第1の所定の計算を実行して上記証明用補助情報を作成する演算手段とを有し、
上記証明用補助情報を生成するために予め定められた第1の所定の計算と、請求項2記載のアクセス資格認証装置の、上記アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に、請求項2記載のアクセス資格認証装置の上記特徴情報復元手段が正当なアクセス資格認証の特徴情報を生成するように選定することを特徴とする証明用補助情報作成装置。 - 請求項2記載のアクセス資格認証装置においてアクセス資格を証明するために使われる証明用補助情報に対するユーザからの発行依頼を受け取り、証明用補助情報を作成し、ユーザに発行する装置であって、
発行を依頼したユーザの固有情報を記憶する第3の記憶手段と、
アクセス資格認証の特徴情報を記憶する第4の記憶手段と、
上記ユーザの固有情報と、上記アクセス資格認証の特徴情報に、証明用補助情報を生成するために予め定められた第1の所定の計算を実行して上記証明用補助情報を作成する演算手段とを有し、
上記証明用補助情報を生成するために予め定められた第1の所定の計算と、請求項2記載のアクセス資格認証装置の、上記アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に、請求項2記載のアクセス資格認証装置の上記特徴情報復元手段が正当なアクセス資格認証の特徴情報を生成するように選定したことを特徴とする証明用補助情報発行装置。 - 第1の記憶手段、第2の記憶手段および演算手段を用いてユーザのアクセス資格を証明するためのアクセス資格認証の特徴情報を復元するための特徴情報復元方法であって、
上記第1の記憶手段にユーザの固有情報を記憶するステップと、
上記第2の記憶手段に、上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対して、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を記憶するステップと、
上記演算手段により、上記第1の記憶手段に記憶されている上記ユーザの固有情報と、上記第2の記憶手段に記憶されている上記証明用補助情報とに、アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算を施して、アクセス資格認証の特徴情報を復元するステップとを有し、
上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に上記演算手段が正当なアクセス資格認証の特徴情報を生成するように選定したことを特徴とする特徴情報復元方法。 - ユーザのアクセス資格を証明するためのアクセス資格認証の特徴情報を復元するための特徴情報復元装置であって、
ユーザの固有情報を記憶する第1の記憶手段と、
上記ユーザの固有情報と、アクセス資格認証の特徴情報とに対して、証明用補助情報を生成するために予め定められた第1の所定の計算を実行した実行結果である証明用補助情報を記憶する第2の記憶手段と、
上記ユーザの固有情報と、上記証明用補助情報とに、アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算を施して、アクセス資格認証の特徴情報を算出する演算手段とを有し、
上記証明用補助情報を生成するために予め定められた第1の所定の計算と、上記アクセス資格認証の特徴情報を復元するために予め定められた第2の所定の計算とを、上記ユーザの固有情報、上記アクセス資格認証の特徴情報および上記証明用補助情報が対応する場合に上記演算手段が正当なアクセス資格認証の特徴情報を生成するように選定したことを特徴とする特徴情報復元装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6207696 | 1996-02-23 | ||
JP9-418 | 1997-01-06 | ||
JP8-62076 | 1997-01-06 | ||
JP41897 | 1997-01-06 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03877097A Division JP3613921B2 (ja) | 1996-02-23 | 1997-02-24 | アクセス資格認証装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000151583A JP2000151583A (ja) | 2000-05-30 |
JP3614057B2 true JP3614057B2 (ja) | 2005-01-26 |
Family
ID=26333401
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03877097A Expired - Fee Related JP3613921B2 (ja) | 1996-02-23 | 1997-02-24 | アクセス資格認証装置および方法 |
JP32928799A Expired - Fee Related JP3614057B2 (ja) | 1996-02-23 | 1999-11-19 | アクセス資格認証方法および装置ならびに証明用補助情報作成方法および装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03877097A Expired - Fee Related JP3613921B2 (ja) | 1996-02-23 | 1997-02-24 | アクセス資格認証装置および方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | USRE42762E1 (ja) |
EP (1) | EP0792044B1 (ja) |
JP (2) | JP3613921B2 (ja) |
DE (1) | DE69704684T2 (ja) |
Families Citing this family (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7290288B2 (en) | 1997-06-11 | 2007-10-30 | Prism Technologies, L.L.C. | Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network |
JPH11122240A (ja) | 1997-10-17 | 1999-04-30 | Fuji Xerox Co Ltd | 復号装置および方法ならびにアクセス資格認証装置および方法 |
US5974550A (en) * | 1997-12-12 | 1999-10-26 | Intel Corporation | Method for strongly authenticating another process in a different address space |
JP4113274B2 (ja) | 1998-02-05 | 2008-07-09 | 富士ゼロックス株式会社 | 認証装置および方法 |
US6296071B1 (en) | 1998-06-30 | 2001-10-02 | Harley-Davidson Motor Company Group, Inc. | Motorcycle rocker assembly |
CN1322700C (zh) * | 1999-01-27 | 2007-06-20 | 法国电信公司 | 利用非对称密钥证明真实性或完整性的方法和计算机系统 |
FR2788911A1 (fr) * | 1999-01-27 | 2000-07-28 | France Telecom | Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message |
IL128609A0 (en) * | 1999-02-18 | 2000-01-31 | Nds Ltd | Identification protocols |
JP3389186B2 (ja) | 1999-04-27 | 2003-03-24 | 松下電器産業株式会社 | 半導体メモリカード及び読み出し装置 |
ATE518327T1 (de) * | 1999-10-01 | 2011-08-15 | Phentam Dire Nv Llc | Verfahren, system und vorrichtung zum beweis der authentizität einer einheit oder der integrität einer nachricht |
KR20020060189A (ko) | 1999-10-01 | 2002-07-16 | 마드 리즈크 | 엔티티의 인증성 또는 메시지의 무결성을 검증하기 위한특수 키 세트 |
JP2001117823A (ja) | 1999-10-15 | 2001-04-27 | Fuji Xerox Co Ltd | アクセス資格認証機能付きデータ記憶装置 |
EP1252560B1 (en) * | 1999-12-21 | 2004-11-17 | Netscape Communications Corporation | Hardware token self enrollment process |
RU2251752C2 (ru) * | 1999-12-28 | 2005-05-10 | Мацусита Электрик Индастриал Ко., Лтд. | Карта полупроводниковой памяти и устройство считывания данных |
US7984104B1 (en) | 2000-04-03 | 2011-07-19 | West Corporation | Method and system for content driven electronic messaging |
WO2001075604A1 (en) * | 2000-04-03 | 2001-10-11 | Juergen Stark | Method of controlling access to personal resources |
JP2004514192A (ja) | 2000-04-03 | 2004-05-13 | スターク ジュールゲン | コンテンツ制御された電子メッセージ処理を行うための方法及びシステム |
US7062535B1 (en) | 2000-04-03 | 2006-06-13 | Centerpost Communications, Inc. | Individual XML message processing platform |
US7302703B2 (en) | 2000-12-20 | 2007-11-27 | Aol, Llc A Delaware Limited Liability Company | Hardware token self enrollment process |
JP2002278838A (ja) * | 2001-03-15 | 2002-09-27 | Sony Corp | メモリアクセス制御システム、デバイス管理装置、パーティション管理装置、メモリ搭載デバイス、およびメモリアクセス制御方法、並びにプログラム記憶媒体 |
JP2002278839A (ja) * | 2001-03-15 | 2002-09-27 | Sony Corp | データアクセス管理システム、メモリ搭載デバイス、およびデータアクセス管理方法、並びにプログラム記憶媒体 |
US7110858B2 (en) * | 2001-04-09 | 2006-09-19 | Koninklijke Philips Electronics N.V. | Object identification uses prediction of data in distributed network |
EP1398704A4 (en) * | 2002-02-27 | 2007-04-04 | Matsushita Electric Ind Co Ltd | HOST DEVICE |
WO2004068426A1 (en) | 2003-01-31 | 2004-08-12 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card, and program for controlling the same |
USD514035S1 (en) | 2003-11-12 | 2006-01-31 | Midwest Motorcycle Supply | Rocker box |
US6883505B1 (en) | 2004-04-02 | 2005-04-26 | Midwest Motorcycle Supply | Rocker box assembly with reed valve |
JP4742682B2 (ja) | 2005-06-01 | 2011-08-10 | 富士ゼロックス株式会社 | コンテンツ保護装置及びコンテンツ保護解除装置 |
JP4435084B2 (ja) * | 2005-12-27 | 2010-03-17 | フェリカネットワークス株式会社 | 通信システム,リーダライタ,認証方法,およびコンピュータプログラム |
DE102007009212A1 (de) * | 2007-02-26 | 2008-08-28 | Giesecke & Devrient Gmbh | Tragbarer Datenträger |
US8850549B2 (en) * | 2009-05-01 | 2014-09-30 | Beyondtrust Software, Inc. | Methods and systems for controlling access to resources and privileges per process |
EP3518128B1 (en) * | 2011-03-30 | 2021-04-28 | Irdeto B.V. | Enabling a software application to be executed on a hardware device |
JP5990927B2 (ja) * | 2012-02-17 | 2016-09-14 | 富士電機株式会社 | 制御システム、制御装置及びプログラム実行制御方法 |
US8843739B2 (en) * | 2012-04-04 | 2014-09-23 | Lockheed Martin Corporation | Anti-tamper device, system, method, and computer-readable medium |
US9202039B2 (en) * | 2012-10-05 | 2015-12-01 | Microsoft Technology Licensing, Llc | Secure identification of computing device and secure identification methods |
DE102015119140A1 (de) * | 2015-11-06 | 2017-05-11 | Océ Printing Systems GmbH & Co. KG | Verfahren zum Steuern des Zugriffs auf verschlüsselte Dateien und Computersystem |
US11315114B2 (en) | 2016-12-28 | 2022-04-26 | Capital One Services, Llc | Dynamic transaction card protected by multi-factor authentication |
US10977361B2 (en) | 2017-05-16 | 2021-04-13 | Beyondtrust Software, Inc. | Systems and methods for controlling privileged operations |
US11012435B2 (en) | 2017-12-19 | 2021-05-18 | International Business Machines Corporation | Multi factor authentication |
US11122033B2 (en) * | 2017-12-19 | 2021-09-14 | International Business Machines Corporation | Multi factor authentication |
US10546444B2 (en) | 2018-06-21 | 2020-01-28 | Capital One Services, Llc | Systems and methods for secure read-only authentication |
US11216806B2 (en) | 2018-09-19 | 2022-01-04 | Capital One Services, Llc | Systems and methods for providing card interactions |
US10607214B1 (en) | 2018-10-02 | 2020-03-31 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
WO2020072690A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10581611B1 (en) | 2018-10-02 | 2020-03-03 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10505738B1 (en) | 2018-10-02 | 2019-12-10 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
WO2020072575A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10582386B1 (en) | 2018-10-02 | 2020-03-03 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
WO2020072583A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for establishing identity for order pick up |
AU2019351825A1 (en) | 2018-10-02 | 2021-04-15 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10511443B1 (en) | 2018-10-02 | 2019-12-17 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10783519B2 (en) | 2018-10-02 | 2020-09-22 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10771253B2 (en) | 2018-10-02 | 2020-09-08 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
WO2020072694A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10771254B2 (en) | 2018-10-02 | 2020-09-08 | Capital One Services, Llc | Systems and methods for email-based card activation |
US10489781B1 (en) | 2018-10-02 | 2019-11-26 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10909527B2 (en) | 2018-10-02 | 2021-02-02 | Capital One Services, Llc | Systems and methods for performing a reissue of a contactless card |
US11210664B2 (en) | 2018-10-02 | 2021-12-28 | Capital One Services, Llc | Systems and methods for amplifying the strength of cryptographic algorithms |
US10579998B1 (en) | 2018-10-02 | 2020-03-03 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10542036B1 (en) | 2018-10-02 | 2020-01-21 | Capital One Services, Llc | Systems and methods for signaling an attack on contactless cards |
WO2020072687A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
WO2020072552A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
CA3108399A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
JP7595001B2 (ja) | 2018-10-02 | 2024-12-05 | キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー | 非接触カードの暗号化認証のためのシステムおよび方法 |
US10554411B1 (en) | 2018-10-02 | 2020-02-04 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10565587B1 (en) | 2018-10-02 | 2020-02-18 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10949520B2 (en) | 2018-10-02 | 2021-03-16 | Capital One Services, Llc | Systems and methods for cross coupling risk analytics and one-time-passcodes |
US10680824B2 (en) | 2018-10-02 | 2020-06-09 | Capital One Services, Llc | Systems and methods for inventory management using cryptographic authentication of contactless cards |
US10992477B2 (en) | 2018-10-02 | 2021-04-27 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10592710B1 (en) | 2018-10-02 | 2020-03-17 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10615981B1 (en) | 2018-10-02 | 2020-04-07 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
CA3115107A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10664830B1 (en) | 2018-12-18 | 2020-05-26 | Capital One Services, Llc | Devices and methods for selective contactless communication |
US20200226581A1 (en) | 2019-01-11 | 2020-07-16 | Capital One Services, Llc | Systems and methods for touch screen interface interaction using a card overlay |
US11037136B2 (en) | 2019-01-24 | 2021-06-15 | Capital One Services, Llc | Tap to autofill card data |
US10510074B1 (en) | 2019-02-01 | 2019-12-17 | Capital One Services, Llc | One-tap payment using a contactless card |
US11120453B2 (en) | 2019-02-01 | 2021-09-14 | Capital One Services, Llc | Tap card to securely generate card data to copy to clipboard |
US11082229B2 (en) | 2019-03-18 | 2021-08-03 | Capital One Services, Llc | System and method for pre-authentication of customer support calls |
US10535062B1 (en) | 2019-03-20 | 2020-01-14 | Capital One Services, Llc | Using a contactless card to securely share personal data stored in a blockchain |
US10984416B2 (en) | 2019-03-20 | 2021-04-20 | Capital One Services, Llc | NFC mobile currency transfer |
US10643420B1 (en) | 2019-03-20 | 2020-05-05 | Capital One Services, Llc | Contextual tapping engine |
US10970712B2 (en) | 2019-03-21 | 2021-04-06 | Capital One Services, Llc | Delegated administration of permissions using a contactless card |
GB2584018B (en) | 2019-04-26 | 2022-04-13 | Beyondtrust Software Inc | Root-level application selective configuration |
US11521262B2 (en) | 2019-05-28 | 2022-12-06 | Capital One Services, Llc | NFC enhanced augmented reality information overlays |
US10516447B1 (en) | 2019-06-17 | 2019-12-24 | Capital One Services, Llc | Dynamic power levels in NFC card communications |
US11694187B2 (en) | 2019-07-03 | 2023-07-04 | Capital One Services, Llc | Constraining transactional capabilities for contactless cards |
US11392933B2 (en) | 2019-07-03 | 2022-07-19 | Capital One Services, Llc | Systems and methods for providing online and hybridcard interactions |
US10871958B1 (en) | 2019-07-03 | 2020-12-22 | Capital One Services, Llc | Techniques to perform applet programming |
US12086852B2 (en) | 2019-07-08 | 2024-09-10 | Capital One Services, Llc | Authenticating voice transactions with payment card |
US10713649B1 (en) | 2019-07-09 | 2020-07-14 | Capital One Services, Llc | System and method enabling mobile near-field communication to update display on a payment card |
US10885514B1 (en) | 2019-07-15 | 2021-01-05 | Capital One Services, Llc | System and method for using image data to trigger contactless card transactions |
US11182771B2 (en) | 2019-07-17 | 2021-11-23 | Capital One Services, Llc | System for value loading onto in-vehicle device |
US10832271B1 (en) | 2019-07-17 | 2020-11-10 | Capital One Services, Llc | Verified reviews using a contactless card |
US10733601B1 (en) | 2019-07-17 | 2020-08-04 | Capital One Services, Llc | Body area network facilitated authentication or payment authorization |
US11521213B2 (en) | 2019-07-18 | 2022-12-06 | Capital One Services, Llc | Continuous authentication for digital services based on contactless card positioning |
US10506426B1 (en) | 2019-07-19 | 2019-12-10 | Capital One Services, Llc | Techniques for call authentication |
US10541995B1 (en) | 2019-07-23 | 2020-01-21 | Capital One Services, Llc | First factor contactless card authentication system and method |
CA3153291A1 (en) | 2019-10-02 | 2021-04-08 | Evan Lerner | Client device authentication using contactless legacy magnetic stripe data |
US10733283B1 (en) | 2019-12-23 | 2020-08-04 | Capital One Services, Llc | Secure password generation and management using NFC and contactless smart cards |
US11651361B2 (en) | 2019-12-23 | 2023-05-16 | Capital One Services, Llc | Secure authentication based on passport data stored in a contactless card |
US10657754B1 (en) | 2019-12-23 | 2020-05-19 | Capital One Services, Llc | Contactless card and personal identification system |
US10862540B1 (en) | 2019-12-23 | 2020-12-08 | Capital One Services, Llc | Method for mapping NFC field strength and location on mobile devices |
US11615395B2 (en) | 2019-12-23 | 2023-03-28 | Capital One Services, Llc | Authentication for third party digital wallet provisioning |
US10885410B1 (en) | 2019-12-23 | 2021-01-05 | Capital One Services, Llc | Generating barcodes utilizing cryptographic techniques |
US11113685B2 (en) | 2019-12-23 | 2021-09-07 | Capital One Services, Llc | Card issuing with restricted virtual numbers |
US10664941B1 (en) | 2019-12-24 | 2020-05-26 | Capital One Services, Llc | Steganographic image encoding of biometric template information on a card |
US11200563B2 (en) | 2019-12-24 | 2021-12-14 | Capital One Services, Llc | Account registration using a contactless card |
US10853795B1 (en) | 2019-12-24 | 2020-12-01 | Capital One Services, Llc | Secure authentication based on identity data stored in a contactless card |
US10757574B1 (en) | 2019-12-26 | 2020-08-25 | Capital One Services, Llc | Multi-factor authentication providing a credential via a contactless card for secure messaging |
US10909544B1 (en) | 2019-12-26 | 2021-02-02 | Capital One Services, Llc | Accessing and utilizing multiple loyalty point accounts |
US11038688B1 (en) | 2019-12-30 | 2021-06-15 | Capital One Services, Llc | Techniques to control applets for contactless cards |
US11455620B2 (en) | 2019-12-31 | 2022-09-27 | Capital One Services, Llc | Tapping a contactless card to a computing device to provision a virtual number |
US10860914B1 (en) | 2019-12-31 | 2020-12-08 | Capital One Services, Llc | Contactless card and method of assembly |
US11210656B2 (en) | 2020-04-13 | 2021-12-28 | Capital One Services, Llc | Determining specific terms for contactless card activation |
US11823175B2 (en) | 2020-04-30 | 2023-11-21 | Capital One Services, Llc | Intelligent card unlock |
US11030339B1 (en) | 2020-04-30 | 2021-06-08 | Capital One Services, Llc | Systems and methods for data access control of personal user data using a short-range transceiver |
US10915888B1 (en) | 2020-04-30 | 2021-02-09 | Capital One Services, Llc | Contactless card with multiple rotating security keys |
US11222342B2 (en) | 2020-04-30 | 2022-01-11 | Capital One Services, Llc | Accurate images in graphical user interfaces to enable data transfer |
US10861006B1 (en) | 2020-04-30 | 2020-12-08 | Capital One Services, Llc | Systems and methods for data access control using a short-range transceiver |
US10963865B1 (en) | 2020-05-12 | 2021-03-30 | Capital One Services, Llc | Augmented reality card activation experience |
US11100511B1 (en) | 2020-05-18 | 2021-08-24 | Capital One Services, Llc | Application-based point of sale system in mobile operating systems |
US11063979B1 (en) | 2020-05-18 | 2021-07-13 | Capital One Services, Llc | Enabling communications between applications in a mobile operating system |
US11062098B1 (en) | 2020-08-11 | 2021-07-13 | Capital One Services, Llc | Augmented reality information display and interaction via NFC based authentication |
US12165149B2 (en) | 2020-08-12 | 2024-12-10 | Capital One Services, Llc | Systems and methods for user verification via short-range transceiver |
US11165586B1 (en) | 2020-10-30 | 2021-11-02 | Capital One Services, Llc | Call center web-based authentication using a contactless card |
US11482312B2 (en) | 2020-10-30 | 2022-10-25 | Capital One Services, Llc | Secure verification of medical status using a contactless card |
US11373169B2 (en) | 2020-11-03 | 2022-06-28 | Capital One Services, Llc | Web-based activation of contactless cards |
US11216799B1 (en) | 2021-01-04 | 2022-01-04 | Capital One Services, Llc | Secure generation of one-time passcodes using a contactless card |
US11682012B2 (en) | 2021-01-27 | 2023-06-20 | Capital One Services, Llc | Contactless delivery systems and methods |
US11687930B2 (en) | 2021-01-28 | 2023-06-27 | Capital One Services, Llc | Systems and methods for authentication of access tokens |
US11562358B2 (en) | 2021-01-28 | 2023-01-24 | Capital One Services, Llc | Systems and methods for near field contactless card communication and cryptographic authentication |
US11792001B2 (en) | 2021-01-28 | 2023-10-17 | Capital One Services, Llc | Systems and methods for secure reprovisioning |
US11438329B2 (en) | 2021-01-29 | 2022-09-06 | Capital One Services, Llc | Systems and methods for authenticated peer-to-peer data transfer using resource locators |
US11777933B2 (en) | 2021-02-03 | 2023-10-03 | Capital One Services, Llc | URL-based authentication for payment cards |
US11637826B2 (en) | 2021-02-24 | 2023-04-25 | Capital One Services, Llc | Establishing authentication persistence |
US12143515B2 (en) | 2021-03-26 | 2024-11-12 | Capital One Services, Llc | Systems and methods for transaction card-based authentication |
US11245438B1 (en) | 2021-03-26 | 2022-02-08 | Capital One Services, Llc | Network-enabled smart apparatus and systems and methods for activating and provisioning same |
US12160419B2 (en) | 2021-04-15 | 2024-12-03 | Capital One Services, Llc | Authenticated messaging session with contactless card authentication |
US11961089B2 (en) | 2021-04-20 | 2024-04-16 | Capital One Services, Llc | On-demand applications to extend web services |
US11935035B2 (en) | 2021-04-20 | 2024-03-19 | Capital One Services, Llc | Techniques to utilize resource locators by a contactless card to perform a sequence of operations |
US11902442B2 (en) | 2021-04-22 | 2024-02-13 | Capital One Services, Llc | Secure management of accounts on display devices using a contactless card |
US11354555B1 (en) | 2021-05-04 | 2022-06-07 | Capital One Services, Llc | Methods, mediums, and systems for applying a display to a transaction card |
US12301735B2 (en) | 2021-06-18 | 2025-05-13 | Capital One Services, Llc | Systems and methods for contactless card communication and multi-device key pair cryptographic authentication |
US12335412B2 (en) | 2021-06-21 | 2025-06-17 | Capital One Services, Llc | Systems and methods for scalable cryptographic authentication of contactless cards |
US12041172B2 (en) | 2021-06-25 | 2024-07-16 | Capital One Services, Llc | Cryptographic authentication to control access to storage devices |
US12061682B2 (en) | 2021-07-19 | 2024-08-13 | Capital One Services, Llc | System and method to perform digital authentication using multiple channels of communication |
US12062258B2 (en) | 2021-09-16 | 2024-08-13 | Capital One Services, Llc | Use of a payment card to unlock a lock |
US12069173B2 (en) | 2021-12-15 | 2024-08-20 | Capital One Services, Llc | Key recovery based on contactless card authentication |
US12166750B2 (en) | 2022-02-08 | 2024-12-10 | Capital One Services, Llc | Systems and methods for secure access of storage |
US12289396B2 (en) | 2022-08-18 | 2025-04-29 | Capital One Services, Llc | Parallel secret salt generation and authentication for encrypted communication |
US12147983B2 (en) | 2023-01-13 | 2024-11-19 | Capital One Services, Llc | Systems and methods for multi-factor authentication using device tracking and identity verification |
US12248832B2 (en) | 2023-03-07 | 2025-03-11 | Capital One Services, Llc | Systems and methods for steganographic image encoding and identity verification using same |
US12335256B2 (en) | 2023-03-08 | 2025-06-17 | Capital One Services, Llc | Systems and methods for device binding authentication |
US12248928B2 (en) | 2023-03-13 | 2025-03-11 | Capital One Services, Llc | Systems and methods of secure merchant payment over messaging platform using a contactless card |
US12124903B2 (en) | 2023-03-16 | 2024-10-22 | Capital One Services, Llc | Card with a time-sensitive element and systems and methods for implementing the same |
US12299672B2 (en) | 2023-03-30 | 2025-05-13 | Capital One Services, Llc | System and method for authentication with transaction cards |
US12200135B2 (en) | 2023-06-13 | 2025-01-14 | Capital One Services, Llc | Contactless card-based authentication via web-browser |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4218738A (en) * | 1978-05-05 | 1980-08-19 | International Business Machines Corporation | Method for authenticating the identity of a user of an information system |
US4926480A (en) | 1983-08-22 | 1990-05-15 | David Chaum | Card-computer moderated systems |
US4672572A (en) * | 1984-05-21 | 1987-06-09 | Gould Inc. | Protector system for computer access and use |
US4856062A (en) * | 1984-11-30 | 1989-08-08 | Kenneth Weiss | Computing and indicating device |
GB2168514A (en) * | 1984-12-12 | 1986-06-18 | Ibm | Security module |
JPH0762854B2 (ja) * | 1985-03-05 | 1995-07-05 | カシオ計算機株式会社 | Icカードシステム |
US4757533A (en) * | 1985-09-11 | 1988-07-12 | Computer Security Corporation | Security system for microcomputers |
US5050213A (en) * | 1986-10-14 | 1991-09-17 | Electronic Publishing Resources, Inc. | Database usage metering and protection system and method |
US4977594A (en) * | 1986-10-14 | 1990-12-11 | Electronic Publishing Resources, Inc. | Database usage metering and protection system and method |
US4827508A (en) * | 1986-10-14 | 1989-05-02 | Personal Library Software, Inc. | Database usage metering and protection system and method |
US5191611A (en) | 1989-04-03 | 1993-03-02 | Lang Gerald S | Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients |
FR2649748B1 (fr) * | 1989-07-17 | 1991-10-11 | Axyval Sa | Systeme de protection de documents ou d'objets de valeur enfermes dans un contenant inviolable physiquement, qui passe par ailleurs par une succession d'etats logiques authentifies en nombre restreint |
JP2989200B2 (ja) | 1989-09-13 | 1999-12-13 | 富士通株式会社 | 個人識別装置 |
US5237610A (en) * | 1990-02-01 | 1993-08-17 | Scientific-Atlanta, Inc. | Independent external security module for a digitally upgradeable television signal decoder |
US5029207A (en) * | 1990-02-01 | 1991-07-02 | Scientific-Atlanta, Inc. | External security module for a television signal decoder |
JPH0575135A (ja) | 1991-08-16 | 1993-03-26 | Rohm Co Ltd | 半導体記憶装置 |
JPH0568727A (ja) | 1991-09-11 | 1993-03-23 | Tonen Corp | スキー板 |
JPH05274269A (ja) * | 1991-11-18 | 1993-10-22 | Internatl Business Mach Corp <Ibm> | コンピュータ・システムにおけるアクセスの正当性検証のための方法及びシステム |
US5157726A (en) * | 1991-12-19 | 1992-10-20 | Xerox Corporation | Document copy authentication |
CH683652A5 (de) * | 1992-03-10 | 1994-04-15 | Frama Ag | Frankiermaschine. |
FR2700430B1 (fr) * | 1992-12-30 | 1995-02-10 | Jacques Stern | Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification et dispositif pour sa mise en Óoeuvre. |
NL9301348A (nl) * | 1993-08-02 | 1995-03-01 | Stefanus Alfonsus Brands | Elektronisch betalingssysteem. |
WO1995005712A2 (en) * | 1993-08-13 | 1995-02-23 | Frank Thomson Leighton | Secret key exchange |
US5467396A (en) * | 1993-10-27 | 1995-11-14 | The Titan Corporation | Tamper-proof data storage |
US5499298A (en) * | 1994-03-17 | 1996-03-12 | National University Of Singapore | Controlled dissemination of digital information |
US5517567A (en) * | 1994-08-23 | 1996-05-14 | Daq Electronics Inc. | Key distribution system |
US5913025A (en) * | 1996-11-14 | 1999-06-15 | Novell, Inc. | Method and apparatus for proxy authentication |
US6061740A (en) * | 1996-12-09 | 2000-05-09 | Novell, Inc. | Method and apparatus for heterogeneous network management |
-
1997
- 1997-02-20 EP EP97102779A patent/EP0792044B1/en not_active Expired - Lifetime
- 1997-02-20 DE DE69704684T patent/DE69704684T2/de not_active Expired - Lifetime
- 1997-02-24 JP JP03877097A patent/JP3613921B2/ja not_active Expired - Fee Related
-
1999
- 1999-11-19 JP JP32928799A patent/JP3614057B2/ja not_active Expired - Fee Related
-
2000
- 2000-03-17 US US09/533,905 patent/USRE42762E1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0792044A3 (en) | 1998-05-27 |
DE69704684T2 (de) | 2004-07-15 |
JPH10247905A (ja) | 1998-09-14 |
JP2000151583A (ja) | 2000-05-30 |
EP0792044A2 (en) | 1997-08-27 |
USRE42762E1 (en) | 2011-09-27 |
DE69704684D1 (de) | 2001-06-07 |
JP3613921B2 (ja) | 2005-01-26 |
EP0792044B1 (en) | 2001-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3614057B2 (ja) | アクセス資格認証方法および装置ならびに証明用補助情報作成方法および装置 | |
JP3613936B2 (ja) | アクセス資格認証装置 | |
JP3613929B2 (ja) | アクセス資格認証装置および方法 | |
JP3622433B2 (ja) | アクセス資格認証装置および方法 | |
US5987134A (en) | Device and method for authenticating user's access rights to resources | |
JP3867388B2 (ja) | 条件付き認証装置および方法 | |
JP3671611B2 (ja) | アクセス資格認証装置および方法 | |
US5935246A (en) | Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software | |
JP4113274B2 (ja) | 認証装置および方法 | |
US6044155A (en) | Method and system for securely archiving core data secrets | |
US5237614A (en) | Integrated network security system | |
CN109361668A (zh) | 一种数据可信传输方法 | |
JP2001117823A (ja) | アクセス資格認証機能付きデータ記憶装置 | |
EP1168141A2 (en) | A secure and open computer platform | |
CN106452764B (zh) | 一种标识私钥自动更新的方法及密码系统 | |
JP2006020291A (ja) | 暗号化通信方式及びシステム | |
JP4107420B2 (ja) | 安全なバイオメトリック認証/識別方法、バイオメトリックデータ入力モジュールおよび検証モジュール | |
JP3580333B2 (ja) | 暗号認証機能の装備方法 | |
CN111614467B (zh) | 系统后门防御方法、装置、计算机设备和存储介质 | |
CN110837634B (zh) | 基于硬件加密机的电子签章方法 | |
US6651169B1 (en) | Protection of software using a challenge-response protocol embedded in the software | |
JP3860280B2 (ja) | 通信システム、icカード発行登録システム、キーコード生成装置、及び記録媒体 | |
Said et al. | A multi-factor authentication-based framework for identity management in cloud applications | |
CN112559979B (zh) | 一种pos机上通过硬件安全芯片保护软件库授权使用的方法 | |
WO2024120051A1 (zh) | 软件程序的权限控制方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040607 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040721 |
|
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: 20041012 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041025 |
|
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: 20071112 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |