JP2014050064A - 情報処理装置、情報処理システム、情報処理方法、プログラム及びクライアント端末 - Google Patents
情報処理装置、情報処理システム、情報処理方法、プログラム及びクライアント端末 Download PDFInfo
- Publication number
- JP2014050064A JP2014050064A JP2012193891A JP2012193891A JP2014050064A JP 2014050064 A JP2014050064 A JP 2014050064A JP 2012193891 A JP2012193891 A JP 2012193891A JP 2012193891 A JP2012193891 A JP 2012193891A JP 2014050064 A JP2014050064 A JP 2014050064A
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- processing
- user
- algorithm
- user authentication
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- 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
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/3026—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 details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】ユーザ認証時の負荷を軽減するとともに、なりすまし等に対する安全性を確保する。
【解決手段】本開示に係る情報処理装置は、ユーザから複数の処理要求を逐次取得する処理要求取得部と、前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、を備える。この構成によれば、ユーザ認証時の負荷を軽減するとともに、なりすまし等に対する安全性を確保することが可能となる。
【選択図】図8
【解決手段】本開示に係る情報処理装置は、ユーザから複数の処理要求を逐次取得する処理要求取得部と、前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、を備える。この構成によれば、ユーザ認証時の負荷を軽減するとともに、なりすまし等に対する安全性を確保することが可能となる。
【選択図】図8
Description
本開示は、情報処理装置、情報処理システム、情報処理方法、プログラム及びクライアント端末に関する。
従来、例えば下記の特許文献1には、ログイン時の負荷を適切に軽減することを目的として、認証サーバがログインしてきたユーザを認証すると、現時点のユーザ数を取得し、定員を超えている場合は、ログイン待ち時間を端末に返信する技術が記載されている。
また、下記の特許文献2には、ユーザがアクセスしたいURLの数が多くなるにつれて、認証に必要な入力による負担が増加するため、一旦認証されたユーザに対しては、認証を行わずに所望のウェブページをユーザが利用する端末に送信する技術が記載されている。
しかしながら、特許文献1に記載された技術は、サーバの負荷を低減することを目的とした技術であり、ユーザ数が多い場合に待ち時間が生じる弊害が発生する。このため、ユーザ数が多い場合に、待ち時間を生じさせることなくログイン速度(ユーザ認証速度)を高めることができなかった。
また、特許文献2に記載された技術は、一旦認証されたユーザに対しては、以後のパスワード入力を省略し、認証を行わない技術である。このため、認証の手間を省くことができるが、認証を行わないことによって、他人が真のユーザになりすましてログインすることが想定され、安全性の面で問題がある。
そこで、ユーザ認証時の負荷を軽減するとともに、なりすまし等に対する安全性を確保することが求められていた。
本開示によれば、ユーザから複数の処理要求を逐次取得する処理要求取得部と、前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、を備える、情報処理装置が提供される。
また、前記認証実行部は、前記複数の処理要求の各々の認証レベルに応じて前記ユーザ認証処理の回数を設定して前記ユーザ認証処理を実行するものであっても良い。また、前記認証実行部は、前記ユーザ認証処理のための情報のやり取りを複数回繰り返す認証プロトコルを用いて前記ユーザ認証処理を実行するものであっても良い。また、前記認証実行部は、MQプロトコルによるユーザ認証処理を実行するものであっても良い。
また、現在までに行われた前記ユーザ認証処理の繰り返し回数nを記録する認証回数記録部を備え、前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達していない場合に、更なる前記ユーザ認証処理を実行するものであっても良い。
また、前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達するまで、前記ユーザ認証処理を実行するものであっても良い。
また、前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達していない場合に、(n’−n)回の更なるユーザ認証処理を実行するものであっても良い。
また、前記予め設定された繰り返し回数n’は、ユーザの処理要求の秘匿性が高い程、大きい値に設定されるものであっても良い。
また、前記予め設定された繰り返し回数n’は、ユーザ毎に異なる値に設定されるものであっても良い。
また、前記認証実行部は、前記ユーザ認証処理が正常に行われなかった場合は、現在までに行われた前記ユーザ認証処理の繰り返し回数nを0にリセットするものであっても良い。
また、本開示によれば、ユーザから入力された処理要求を送信するクライアント端末と、前記クライアント端末から複数の前記処理要求を逐次取得する処理要求取得部と、前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、を有するサーバと、を備える、情報処理システムが提供される。
また、本開示によれば、ユーザから複数の処理要求を逐次取得することと、前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行することと、を備える、情報処理方法が提供される。
また、本開示によれば、ユーザから複数の処理要求を逐次取得する手段、前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する手段、としてコンピュータを機能させるためのプログラムが提供される。
また、本開示によれば、ユーザから入力された処理要求を送信する送信部と、前記クライアント端末から複数の前記処理要求を逐次取得して前記複数の処理要求を取得したタイミングに応じてユーザ認証処理を分散して実行するサーバから、前記ユーザ認証処理の結果を受信する受信部と、を備える、クライアント端末が提供される。
本開示によれば、ユーザ認証時の負荷を軽減するとともに、なりすまし等に対する安全性を確保することが可能となる。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[説明の流れについて]
ここで、以下に記載する本技術の実施形態に関する説明の流れについて簡単に述べる。まず、図1を参照しながら、公開鍵認証方式のアルゴリズム構成について説明する。次いで、図2を参照しながら、nパスの公開鍵認証方式について説明する。
ここで、以下に記載する本技術の実施形態に関する説明の流れについて簡単に述べる。まず、図1を参照しながら、公開鍵認証方式のアルゴリズム構成について説明する。次いで、図2を参照しながら、nパスの公開鍵認証方式について説明する。
次いで、図3〜図5を参照しながら、3パスの公開鍵認証方式に係るアルゴリズムの構成例について説明する。次いで、図6を参照しながら、5パスの公開鍵認証方式に係るアルゴリズムの構成例について説明する。次いで、図7〜図10を参照しながら、公開鍵認証方式を用いた認証レベルの階層化による負荷分散について説明する。
次いで、図11を参照しながら、本技術の実施形態に係る各アルゴリズムを実現することが可能な情報処理装置のハードウェア構成例について説明する。
なお、説明は以下の順序で行うものとする。
1:はじめに
1−1:公開鍵認証方式のアルゴリズム
1−2:nパスの公開鍵認証方式
2:3パスの公開鍵認証方式に係るアルゴリズムの構成
2−1:具体的なアルゴリズムの構成例
2−2:直列化アルゴリズムの構成例
3:5パスの公開鍵認証方式に係るアルゴリズムの構成
3−1:具体的なアルゴリズムの構成例
4:システムの構成例
4−1:本実施形態に係るシステムの概要
4−2:システムの構成例
4−3:システムの動作
4−4:ユーザ認証プロトコルについて
4−5:認証の繰り返し回数n’について
4−6:ユーザ毎に認証レベルを変える例について
5:ハードウェア構成例
1:はじめに
1−1:公開鍵認証方式のアルゴリズム
1−2:nパスの公開鍵認証方式
2:3パスの公開鍵認証方式に係るアルゴリズムの構成
2−1:具体的なアルゴリズムの構成例
2−2:直列化アルゴリズムの構成例
3:5パスの公開鍵認証方式に係るアルゴリズムの構成
3−1:具体的なアルゴリズムの構成例
4:システムの構成例
4−1:本実施形態に係るシステムの概要
4−2:システムの構成例
4−3:システムの動作
4−4:ユーザ認証プロトコルについて
4−5:認証の繰り返し回数n’について
4−6:ユーザ毎に認証レベルを変える例について
5:ハードウェア構成例
<1:はじめに>
本実施形態は、ユーザがクライアント端末にログインする際のユーザ認証に関する。最初に、本実施形態への適用が好適なユーザ認証の方式として、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式(以下、MQプロトコルとも称する場合がある)を説明する。但し、本実施形態は、HFE電子署名方式などの従来手法とは異なり、効率的に解く手段(トラップドア)を持たない多次多変数連立方程式を利用する公開鍵認証方式に関する。なお、後述するが、本実施形態に適用可能な認証方式はこれに限定されるものではない。まず、公開鍵認証方式のアルゴリズム、及びnパスの公開鍵認証方式について、その概要を簡単に説明する。
本実施形態は、ユーザがクライアント端末にログインする際のユーザ認証に関する。最初に、本実施形態への適用が好適なユーザ認証の方式として、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式(以下、MQプロトコルとも称する場合がある)を説明する。但し、本実施形態は、HFE電子署名方式などの従来手法とは異なり、効率的に解く手段(トラップドア)を持たない多次多変数連立方程式を利用する公開鍵認証方式に関する。なお、後述するが、本実施形態に適用可能な認証方式はこれに限定されるものではない。まず、公開鍵認証方式のアルゴリズム、及びnパスの公開鍵認証方式について、その概要を簡単に説明する。
[1−1:公開鍵認証方式のアルゴリズム]
まず、図1を参照しながら、公開鍵認証方式のアルゴリズムについて概要を説明する。図1は、公開鍵認証方式のアルゴリズムについて概要を説明するための説明図である。
まず、図1を参照しながら、公開鍵認証方式のアルゴリズムについて概要を説明する。図1は、公開鍵認証方式のアルゴリズムについて概要を説明するための説明図である。
公開鍵認証は、ある人(証明者)が、公開鍵pk及び秘密鍵skを利用して、他の人(検証者)に本人であることを納得させるために利用される。例えば、証明者Aの公開鍵pkAは、検証者Bに公開される。一方、証明者Aの秘密鍵skAは、証明者Aにより秘密に管理される。公開鍵認証の仕組みにおいては、公開鍵pkAに対応する秘密鍵skAを知る者が証明者A本人であるとみなされる。
公開鍵認証の仕組みを利用して証明者Aが証明者A本人であることを検証者Bに証明するには、対話プロトコルを介して、証明者Aが公開鍵pkAに対応する秘密鍵skAを知っているという証拠を検証者Bに提示すればよい。そして、証明者Aが秘密鍵skAを知っているという証拠が検証者Bに提示され、その証拠を検証者Bが確認し終えた場合、証明者Aの正当性(本人であること)が証明されたことになる。
但し、公開鍵認証の仕組みには、安全性を担保するために以下の条件が求められる。
1つ目の条件は、「対話プロトコルを実行した際に秘密鍵skを持たない偽証者により偽証が成立してしまう確率を限りなく小さくする」ことである。この1つ目の条件が成り立つことを「健全性」と呼ぶ。つまり、健全性とは、「秘密鍵skを持たない偽証者により、対話プロトコルの実行中に無視できない確率で偽証が成立することはないこと」と言い換えられる。2つ目の条件は、「対話プロトコルを実行したとしても、証明者Aが有する秘密鍵skAの情報が検証者Bに一切漏れることがない」ことである。この2つ目の条件が成り立つことを「零知識性」と呼ぶ。
安全に公開鍵認証を行うには、健全性及び零知識性を有する対話プロトコルを利用する必要がある。仮に、健全性及び零知識性を有しない対話プロトコルを用いて認証処理を行った場合には、偽証された可能性及び秘密鍵の情報が漏れてしまった可能性が否定できないため、処理自体が成功裡に完了しても証明者の正当性を証明したことにはならない。従って、対話プロトコルの健全性及び零知識性を如何に保証するかが重要になる。
(モデル)
公開鍵認証方式のモデルには、図1に示すように、証明者と検証者という2つのエンティティが存在する。証明者は、鍵生成アルゴリズムGenを用いて、証明者固有の秘密鍵skと公開鍵pkの組を生成する。次いで、証明者は、鍵生成アルゴリズムGenを用いて生成した秘密鍵skと公開鍵pkの組を利用して検証者と対話プロトコルを実行する。このとき、証明者は、証明者アルゴリズムPを利用して対話プロトコルを実行する。上記の通り、証明者は、証明者アルゴリズムPを利用し、対話プロトコルの中で秘密鍵skを保有している証拠を検証者に提示する。
公開鍵認証方式のモデルには、図1に示すように、証明者と検証者という2つのエンティティが存在する。証明者は、鍵生成アルゴリズムGenを用いて、証明者固有の秘密鍵skと公開鍵pkの組を生成する。次いで、証明者は、鍵生成アルゴリズムGenを用いて生成した秘密鍵skと公開鍵pkの組を利用して検証者と対話プロトコルを実行する。このとき、証明者は、証明者アルゴリズムPを利用して対話プロトコルを実行する。上記の通り、証明者は、証明者アルゴリズムPを利用し、対話プロトコルの中で秘密鍵skを保有している証拠を検証者に提示する。
一方、検証者は、検証者アルゴリズムVを利用して対話プロトコルを実行し、証明者が公開している公開鍵に対応する秘密鍵を、その証明者が保有しているか否かを検証する。つまり、検証者は、証明者が公開鍵に対応する秘密鍵を保有しているか否かを検証するエンティティである。このように、公開鍵認証方式のモデルは、証明者と検証者という2つのエンティティ、及び、鍵生成アルゴリズムGen、証明者アルゴリズムP、検証者アルゴリズムVという3つのアルゴリズムにより構成される。
なお、以下の説明において、「証明者」「検証者」という表現を用いるが、これらの表現はあくまでもエンティティを意味するものである。従って、鍵生成アルゴリズムGen、証明者アルゴリズムPを実行する主体は、「証明者」のエンティティに対応する情報処理装置である。同様に、検証者アルゴリズムVを実行する主体は、情報処理装置である。これら情報処理装置のハードウェア構成は、例えば、図11に示した通りである。つまり、鍵生成アルゴリズムGen、証明者アルゴリズムP、検証者アルゴリズムVは、ROM904、RAM906、記憶部920、リムーバブル記録媒体928などに記録されたプログラムに基づいてCPU902などにより実行される。
(鍵生成アルゴリズムGen)
鍵生成アルゴリズムGenは、証明者により利用される。鍵生成アルゴリズムGenは、証明者に固有の秘密鍵skと公開鍵pkとの組を生成するアルゴリズムである。鍵生成アルゴリズムGenにより生成された公開鍵pkは公開される。そして、公開された公開鍵pkは、検証者により利用される。一方、鍵生成アルゴリズムGenにより生成された秘密鍵skは、証明者が秘密に管理する。そして、証明者により秘密に管理される秘密鍵skは、公開鍵pkに対応する秘密鍵skを証明者が保有していることを検証者に対して証明するために利用される。形式的に、鍵生成アルゴリズムGenは、セキュリティパラメータ1λ(λは0以上の整数)を入力とし、秘密鍵skと公開鍵pkを出力するアルゴリズムとして、下記の式(1)のように表現される。
鍵生成アルゴリズムGenは、証明者により利用される。鍵生成アルゴリズムGenは、証明者に固有の秘密鍵skと公開鍵pkとの組を生成するアルゴリズムである。鍵生成アルゴリズムGenにより生成された公開鍵pkは公開される。そして、公開された公開鍵pkは、検証者により利用される。一方、鍵生成アルゴリズムGenにより生成された秘密鍵skは、証明者が秘密に管理する。そして、証明者により秘密に管理される秘密鍵skは、公開鍵pkに対応する秘密鍵skを証明者が保有していることを検証者に対して証明するために利用される。形式的に、鍵生成アルゴリズムGenは、セキュリティパラメータ1λ(λは0以上の整数)を入力とし、秘密鍵skと公開鍵pkを出力するアルゴリズムとして、下記の式(1)のように表現される。
(証明者アルゴリズムP)
証明者アルゴリズムPは、証明者により利用される。証明者アルゴリズムPは、公開鍵pkに対応する秘密鍵skを証明者が保有していることを検証者に対して証明するためのアルゴリズムである。つまり、証明者アルゴリズムPは、秘密鍵skと公開鍵pkとを入力とし、対話プロトコルを実行するアルゴリズムである。
証明者アルゴリズムPは、証明者により利用される。証明者アルゴリズムPは、公開鍵pkに対応する秘密鍵skを証明者が保有していることを検証者に対して証明するためのアルゴリズムである。つまり、証明者アルゴリズムPは、秘密鍵skと公開鍵pkとを入力とし、対話プロトコルを実行するアルゴリズムである。
(検証者アルゴリズムV)
検証者アルゴリズムVは、検証者により利用される。検証者アルゴリズムVは、対話プロトコルの中で、公開鍵pkに対応する秘密鍵skを証明者が保有しているか否かを検証するアルゴリズムである。検証者アルゴリズムVは、公開鍵pkを入力とし、対話プロトコルの実行結果に応じて0又は1(1bit)を出力するアルゴリズムである。なお、検証者は、検証者アルゴリズムVが0を出力した場合には証明者が不正なものであると判断し、1を出力した場合には証明者が正当なものであると判断する。形式的に、検証者アルゴリズムVは、下記の式(2)のように表現される。
検証者アルゴリズムVは、検証者により利用される。検証者アルゴリズムVは、対話プロトコルの中で、公開鍵pkに対応する秘密鍵skを証明者が保有しているか否かを検証するアルゴリズムである。検証者アルゴリズムVは、公開鍵pkを入力とし、対話プロトコルの実行結果に応じて0又は1(1bit)を出力するアルゴリズムである。なお、検証者は、検証者アルゴリズムVが0を出力した場合には証明者が不正なものであると判断し、1を出力した場合には証明者が正当なものであると判断する。形式的に、検証者アルゴリズムVは、下記の式(2)のように表現される。
上記の通り、意味のある公開鍵認証を実現するには、対話プロトコルが健全性及び零知識性という2つの条件を満たしている必要がある。しかし、証明者が秘密鍵skを保有していることを証明するためには、証明者が秘密鍵skに依存した手続きを実行し、その結果を検証者に通知した上で、その通知内容に基づく検証を検証者に実行させる必要がある。秘密鍵skに依存した手続きを実行するのは、健全性を担保するために必要である。一方で、秘密鍵skの情報が一切検証者に漏れないようにする必要がある。そのため、これらの要件を満たすように、上記の鍵生成アルゴリズムGen、証明者アルゴリズムP、検証者アルゴリズムVを巧妙に設計する必要がある。
以上、公開鍵認証方式のアルゴリズムについて、その概要を説明した。
[1−2:nパスの公開鍵認証方式]
次に、図2を参照しながら、nパスの公開鍵認証方式について説明する。図2は、nパスの公開鍵認証方式について説明するための説明図である。
次に、図2を参照しながら、nパスの公開鍵認証方式について説明する。図2は、nパスの公開鍵認証方式について説明するための説明図である。
上記の通り、公開鍵認証方式は、対話プロトコルの中で、証明者が公開鍵pkに対応する秘密鍵skを保有していることを検証者に証明する認証方式である。また、対話プロトコルは、健全性及び零知識性という2つの条件を満たす必要がある。そのため、対話プロトコルの中では、図2に示すように、証明者及び検証者の双方がそれぞれ処理を実行しながらn回の情報交換を行う。
nパスの公開鍵認証方式の場合、証明者アルゴリズムPを用いて証明者により処理(工程#1)が実行され、情報T1が検証者に送信される。次いで、検証者アルゴリズムVを用いて検証者により処理(工程#2)が実行され、情報T2が証明者に送信される。さらに、k=3〜nについて処理の実行及び情報Tkの送信が順次行われ、最後に処理(工程#n+1)が実行される。このように、情報がn回送受信される方式のことを「nパス」の公開鍵認証方式と呼ぶ。
以上、nパスの公開鍵認証方式について説明した。
<2:3パスの公開鍵認証方式に係るアルゴリズムの構成>
以下、3パスの公開鍵認証方式に係るアルゴリズムについて説明する。なお、以下の説明において、3パスの公開鍵認証方式のことを「3パス方式」と呼ぶ場合がある。
以下、3パスの公開鍵認証方式に係るアルゴリズムについて説明する。なお、以下の説明において、3パスの公開鍵認証方式のことを「3パス方式」と呼ぶ場合がある。
[2−1:具体的なアルゴリズムの構成例(図3)]
まず、図3を参照しながら、3パス方式に係る具体的なアルゴリズムの構成例について紹介する。図3は、3パス方式に係る具体的なアルゴリズムの構成について説明するための説明図である。ここでは、公開鍵pkの一部として2次多項式の組(f1(x),…,fm(x))を利用する場合について考える。但し、2次多項式fi(x)は、下記の式(6)のように表現されるものとする。また、ベクトル(x1,…,xn)をxと表記し、2次多項式の組(f1(x),…,fm(x))を多変数多項式F(x)と表記することにする。
まず、図3を参照しながら、3パス方式に係る具体的なアルゴリズムの構成例について紹介する。図3は、3パス方式に係る具体的なアルゴリズムの構成について説明するための説明図である。ここでは、公開鍵pkの一部として2次多項式の組(f1(x),…,fm(x))を利用する場合について考える。但し、2次多項式fi(x)は、下記の式(6)のように表現されるものとする。また、ベクトル(x1,…,xn)をxと表記し、2次多項式の組(f1(x),…,fm(x))を多変数多項式F(x)と表記することにする。
また、2次多項式の組(f1(x),…,fm(x))は、下記の式(7)のように表現することができる。また、A1,…,Amは、n×n行列である。さらに、b1,…,bmはそれぞれn×1ベクトルである。
この表現を用いると、多変数多項式Fは、下記の式(8)及び式(9)のように表現することができる。この表現が成り立つことは、下記の式(10)から容易に確認することができる。
このようにF(x+y)をxに依存する第1の部分と、yに依存する第2の部分と、x及びyの両方に依存する第3の部分とに分けたとき、第3の部分に対応する項G(x,y)は、x及びyについて双線形になる。以下、項G(x,y)を双線形項と呼ぶ場合がある。この性質を利用すると、効率的なアルゴリズムを構築することが可能になる。
例えば、ベクトルt0∈Kn、e0∈Kmを用いて、多変数多項式F(x+r)のマスクに利用する多変数多項式F1(x)をF1(x)=G(x,t0)+e0と表現する。この場合、多変数多項式F(x+r0)とF1(x)との和は、下記の式(11)のように表現される。ここで、t1=r0+t0、e1=F(r0)+e0とおけば、多変数多項式F2(x)=F(x+r0)+F1(x)は、ベクトルt1∈Kn、e1∈Kmにより表現することができる。そのため、F1(x)=G(x,t0)+e0に設定すれば、Kn上のベクトル及びKm上のベクトルを用いてF1及びF2を表現できるようになり、通信に必要なデータサイズの少ない効率的なアルゴリズムを実現することが可能になる。
なお、F2(或いはF1)からr0に関する情報が一切漏れることはない。例えば、e1及びt1(或いはe0及びt0)を与えられても、e0及びt0(或いはe1及びt1)を知らない限り、r0の情報を一切知ることはできない。従って、零知識性が担保される。以下、上記の論理に基づいて構築された3パス方式のアルゴリズムについて説明する。ここで説明する3パス方式のアルゴリズムは、以下のような鍵生成アルゴリズムGen、証明者アルゴリズムP、検証者アルゴリズムVにより構成される。
(鍵生成アルゴリズムGen)
鍵生成アルゴリズムGenは、環K上で定義されるm本の多変数多項式f1(x1,…,xn),…,fm(x1,…,xn)、及びベクトルs=(s1,…,sn)∈Knを生成する。次に、鍵生成アルゴリズムGenは、y=(y1,…,ym)←(f1(s),…,fm(s))を計算する。そして、鍵生成アルゴリズムGenは、(f1(x1,…,xn),…,fm(x1,…,xn),y)を公開鍵pkに設定し、sを秘密鍵に設定する。
鍵生成アルゴリズムGenは、環K上で定義されるm本の多変数多項式f1(x1,…,xn),…,fm(x1,…,xn)、及びベクトルs=(s1,…,sn)∈Knを生成する。次に、鍵生成アルゴリズムGenは、y=(y1,…,ym)←(f1(s),…,fm(s))を計算する。そして、鍵生成アルゴリズムGenは、(f1(x1,…,xn),…,fm(x1,…,xn),y)を公開鍵pkに設定し、sを秘密鍵に設定する。
(証明者アルゴリズムP、検証者アルゴリズムV)
以下、図3を参照しながら、対話プロトコルの中で証明者アルゴリズムPが実行する処理及び検証者アルゴリズムVが実行する処理について説明する。この対話プロトコルの中で、証明者は、秘密鍵sの情報を検証者に一切漏らさずに、「自身がy=F(s)を満たすsを知っていること」を検証者に示す。一方、検証者は、証明者がy=F(s)を満たすsを知っているか否かを検証する。なお、公開鍵pkは、検証者に公開されているものとする。また、秘密鍵sは、証明者により秘密に管理されているものとする。以下、図3に示したフローチャートに沿って説明を進める。
以下、図3を参照しながら、対話プロトコルの中で証明者アルゴリズムPが実行する処理及び検証者アルゴリズムVが実行する処理について説明する。この対話プロトコルの中で、証明者は、秘密鍵sの情報を検証者に一切漏らさずに、「自身がy=F(s)を満たすsを知っていること」を検証者に示す。一方、検証者は、証明者がy=F(s)を満たすsを知っているか否かを検証する。なお、公開鍵pkは、検証者に公開されているものとする。また、秘密鍵sは、証明者により秘密に管理されているものとする。以下、図3に示したフローチャートに沿って説明を進める。
工程#1:
図3に示すように、まず、証明者アルゴリズムPは、ランダムにベクトルr0,t0∈Kn及びe0∈Kmを生成する。次いで、証明者アルゴリズムPは、r1←s−r0を計算する。この計算は、秘密鍵sをベクトルr0によりマスクする操作に相当する。さらに、証明者アルゴリズムPは、t1←r0−t0を計算する。次いで、証明者アルゴリズムPは、e1←F(r0)−e0を計算する。
図3に示すように、まず、証明者アルゴリズムPは、ランダムにベクトルr0,t0∈Kn及びe0∈Kmを生成する。次いで、証明者アルゴリズムPは、r1←s−r0を計算する。この計算は、秘密鍵sをベクトルr0によりマスクする操作に相当する。さらに、証明者アルゴリズムPは、t1←r0−t0を計算する。次いで、証明者アルゴリズムPは、e1←F(r0)−e0を計算する。
工程#1(続き):
次いで、証明者アルゴリズムPは、c0←H(r1,G(t0,r1)+e0)を計算する。次いで、証明者アルゴリズムPは、c1←H(t0,e0)を計算する。次いで、証明者アルゴリズムPは、c2←H(t1,e1)を計算する。工程#1で生成されたメッセージ(c0,c1,c2)は、検証者アルゴリズムVに送られる。
次いで、証明者アルゴリズムPは、c0←H(r1,G(t0,r1)+e0)を計算する。次いで、証明者アルゴリズムPは、c1←H(t0,e0)を計算する。次いで、証明者アルゴリズムPは、c2←H(t1,e1)を計算する。工程#1で生成されたメッセージ(c0,c1,c2)は、検証者アルゴリズムVに送られる。
工程#2:
メッセージ(c0,c1,c2)を受け取った検証者アルゴリズムVは、3つの検証パターンのうち、どの検証パターンを利用するかを選択する。例えば、検証者アルゴリズムVは、検証パターンの種類を表す3つの数値{0,1,2}の中から1つの数値を選択し、選択した数値を要求Chに設定する。この要求Chは証明者アルゴリズムPに送られる。
メッセージ(c0,c1,c2)を受け取った検証者アルゴリズムVは、3つの検証パターンのうち、どの検証パターンを利用するかを選択する。例えば、検証者アルゴリズムVは、検証パターンの種類を表す3つの数値{0,1,2}の中から1つの数値を選択し、選択した数値を要求Chに設定する。この要求Chは証明者アルゴリズムPに送られる。
工程#3:
要求Chを受け取った証明者アルゴリズムPは、受け取った要求Chに応じて検証者アルゴリズムVに送る返答Rspを生成する。Ch=0の場合、証明者アルゴリズムPは、返答Rsp=(r0,t1,e1)を生成する。Ch=1の場合、証明者アルゴリズムPは、返答Rsp=(r1,t0,e0)を生成する。Ch=2の場合、証明者アルゴリズムPは、返答Rsp=(r1,t1,e1)を生成する。工程#3で生成された返答Rspは、検証者アルゴリズムVに送られる。
要求Chを受け取った証明者アルゴリズムPは、受け取った要求Chに応じて検証者アルゴリズムVに送る返答Rspを生成する。Ch=0の場合、証明者アルゴリズムPは、返答Rsp=(r0,t1,e1)を生成する。Ch=1の場合、証明者アルゴリズムPは、返答Rsp=(r1,t0,e0)を生成する。Ch=2の場合、証明者アルゴリズムPは、返答Rsp=(r1,t1,e1)を生成する。工程#3で生成された返答Rspは、検証者アルゴリズムVに送られる。
工程#4:
返答Rspを受け取った検証者アルゴリズムVは、受け取った返答Rspを利用して以下の検証処理を実行する。
返答Rspを受け取った検証者アルゴリズムVは、受け取った返答Rspを利用して以下の検証処理を実行する。
Ch=0の場合、検証者アルゴリズムVは、c1=H(r0−t1,F(r0)−e1)の等号が成り立つか否かを検証する。さらに、検証者アルゴリズムVは、c2=H(t1,e1)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、これらの検証が全て成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
Ch=1の場合、検証者アルゴリズムVは、c0=H(r1,G(t0,r1)+e0)の等号が成り立つか否かを検証する。さらに、検証者アルゴリズムVは、c1=H(t0,e0)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、これらの検証が全て成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
Ch=2の場合、検証者アルゴリズムVは、c0=H(r1,y−F(r1)−G(t1,r1)−e1)の等号が成り立つか否かを検証する。さらに、検証者アルゴリズムVは、c2=H(t1,e1)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、これらの検証が全て成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
以上、3パス方式に係る効率的なアルゴリズムの構成例について説明した。
[2−2:直列化アルゴリズムの構成例(図5)]
次に、図4、図5を参照しながら、図3に示した3パス方式のアルゴリズムを並列化する方法について説明する。なお、鍵生成アルゴリズムGenの構成については説明を省略する。
次に、図4、図5を参照しながら、図3に示した3パス方式のアルゴリズムを並列化する方法について説明する。なお、鍵生成アルゴリズムGenの構成については説明を省略する。
さて、上記の対話プロトコルを適用すれば、偽証が成功する確率を2/3以下に抑制することができる。従って、この対話プロトコルを2回実行すれば、偽証が成功する確率を(2/3)2以下に抑制することができる。さらに、この対話プロトコルをN回実行すると、偽証が成功する確率は(2/3)Nとなり、Nを十分に大きい数(例えば、N=140)にすれば、偽証が成功する確率は無視できる程度に小さくなる。
対話プロトコルを複数回実行する方法としては、例えば、図4に示すように、メッセージ、要求、返答のやり取りを逐次的に複数回繰り返す直列的な方法(図4(A))と、1回分のやり取りで複数回分のメッセージ、要求、返答のやり取りを行う並列的な方法(図4(B))とが考えられる。さらに、直列的な方法と並列的な方法とを組み合わせたハイブリッド型の方法も考えられる。なお、図4(C)は、図3の対話プロトコルを1回実行する方式を示している。図4(A)に示す直列的な方法は、図4(C)の対話プロトコルを複数回繰り返すものである。ここでは、図5を参照しながら、3パス方式に係る上記の対話プロトコルを直列的に実行するアルゴリズム(以下、直列化アルゴリズム)について詳細に説明する。
工程#1,1:
図5に示すように、まず、証明者アルゴリズムPは、ランダムにベクトルr0,1,t0,1∈Kn及びe0,1∈Kmを生成する。次いで、証明者アルゴリズムPは、r1,1←s−r0,1を計算する。この計算は、秘密鍵sをベクトルr0,1によりマスクする操作に相当する。さらに、証明者アルゴリズムPは、t1,1←r0,1−t0,1を計算する。次いで、証明者アルゴリズムPは、e1,1←F(r0,1)−e0,1を計算する。
図5に示すように、まず、証明者アルゴリズムPは、ランダムにベクトルr0,1,t0,1∈Kn及びe0,1∈Kmを生成する。次いで、証明者アルゴリズムPは、r1,1←s−r0,1を計算する。この計算は、秘密鍵sをベクトルr0,1によりマスクする操作に相当する。さらに、証明者アルゴリズムPは、t1,1←r0,1−t0,1を計算する。次いで、証明者アルゴリズムPは、e1,1←F(r0,1)−e0,1を計算する。
工程#1,1(続き):
次いで、証明者アルゴリズムPは、c0,1←H(r1,1,G(t0,1,r1,1)+e0,1)を計算する。次いで、証明者アルゴリズムPは、c1,1←H(t0,1,e0,1)を計算する。次いで、証明者アルゴリズムPは、c2,1←H(t1,1,e1,1)を計算する。工程#1で生成されたメッセージ(c0,1,c1,1,c2,1)は、検証者アルゴリズムVに送られる。
次いで、証明者アルゴリズムPは、c0,1←H(r1,1,G(t0,1,r1,1)+e0,1)を計算する。次いで、証明者アルゴリズムPは、c1,1←H(t0,1,e0,1)を計算する。次いで、証明者アルゴリズムPは、c2,1←H(t1,1,e1,1)を計算する。工程#1で生成されたメッセージ(c0,1,c1,1,c2,1)は、検証者アルゴリズムVに送られる。
工程#2,1:
メッセージ(c0,1,c1,1,c2,1)を受け取った検証者アルゴリズムVは、3つの検証パターンのうち、どの検証パターンを利用するかを選択する。例えば、検証者アルゴリズムVは、検証パターンの種類を表す3つの数値{0,1,2}の中から1つの数値を選択し、選択した数値を要求Ch1に設定する。この要求Ch1は証明者アルゴリズムPに送られる。
メッセージ(c0,1,c1,1,c2,1)を受け取った検証者アルゴリズムVは、3つの検証パターンのうち、どの検証パターンを利用するかを選択する。例えば、検証者アルゴリズムVは、検証パターンの種類を表す3つの数値{0,1,2}の中から1つの数値を選択し、選択した数値を要求Ch1に設定する。この要求Ch1は証明者アルゴリズムPに送られる。
工程#3,1:
要求Ch1を受け取った証明者アルゴリズムPは、受け取った要求Ch1に応じて検証者アルゴリズムVに送る返答Rspを生成する。Ch1=0の場合、証明者アルゴリズムPは、返答σ1=(r0,1,t1,1,e1,1)を生成する。Ch1=1の場合、証明者アルゴリズムPは、返答σ1=(r1,1,t0,1,e0,1)を生成する。Ch1=2の場合、証明者アルゴリズムPは、返答σ1=(r1,1,t1,1,e1,1)を生成する。工程#3で生成された返答σ1は、検証者アルゴリズムVに送られる。
要求Ch1を受け取った証明者アルゴリズムPは、受け取った要求Ch1に応じて検証者アルゴリズムVに送る返答Rspを生成する。Ch1=0の場合、証明者アルゴリズムPは、返答σ1=(r0,1,t1,1,e1,1)を生成する。Ch1=1の場合、証明者アルゴリズムPは、返答σ1=(r1,1,t0,1,e0,1)を生成する。Ch1=2の場合、証明者アルゴリズムPは、返答σ1=(r1,1,t1,1,e1,1)を生成する。工程#3で生成された返答σ1は、検証者アルゴリズムVに送られる。
工程#4,1:
返答σ1を受け取った検証者アルゴリズムVは、受け取った返答σ1を利用して以下の検証処理を実行する。
返答σ1を受け取った検証者アルゴリズムVは、受け取った返答σ1を利用して以下の検証処理を実行する。
Ch1=0の場合、検証者アルゴリズムVは、c1,1=H(r0,1−t1,1,F(r0,1)−e1,1)の等号が成り立つか否かを検証する。さらに、検証者アルゴリズムVは、c2,1=H(t1,1,e1,1)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、これらの検証が全て成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
Ch1=1の場合、検証者アルゴリズムVは、c0,1=H(r1,1,G(t0,1,r1,1)+e0,1)の等号が成り立つか否かを検証する。さらに、検証者アルゴリズムVは、c1,1=H(t0,1,e0,1)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、これらの検証が全て成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
Ch1=2の場合、検証者アルゴリズムVは、c0,1=H(r1,1,y−F(r1,1)−G(t1,1,r1,1)−e1,1)の等号が成り立つか否かを検証する。さらに、検証者アルゴリズムVは、c2,1=H(t1,1,e1,1)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、これらの検証が全て成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
工程1,1〜工程4,1が終了すると、工程1,1〜工程4,1と同様の処理をN回行う。N回目の処理は以下の通りである。
工程#1,N:
図5に示すように、証明者アルゴリズムPは、ランダムにベクトルr0,N,t0,N∈Kn及びe0,N∈Kmを生成する。次いで、証明者アルゴリズムPは、r1,N←s−r0,Nを計算する。この計算は、秘密鍵sをベクトルr0,Nによりマスクする操作に相当する。さらに、証明者アルゴリズムPは、t1,N←r0,N−t0,Nを計算する。次いで、証明者アルゴリズムPは、e1,N←F(r0,N)−e0,Nを計算する。
図5に示すように、証明者アルゴリズムPは、ランダムにベクトルr0,N,t0,N∈Kn及びe0,N∈Kmを生成する。次いで、証明者アルゴリズムPは、r1,N←s−r0,Nを計算する。この計算は、秘密鍵sをベクトルr0,Nによりマスクする操作に相当する。さらに、証明者アルゴリズムPは、t1,N←r0,N−t0,Nを計算する。次いで、証明者アルゴリズムPは、e1,N←F(r0,N)−e0,Nを計算する。
工程#1,N(続き):
次いで、証明者アルゴリズムPは、c0,N←H(r1,N,G(t0,N,r1,N)+e0,N)を計算する。次いで、証明者アルゴリズムPは、c1,N←H(t0,N,e0,N)を計算する。次いで、証明者アルゴリズムPは、c2,N←H(t1,N,e1,N)を計算する。工程#1で生成されたメッセージ(c0,N,c1,N,c2,N)は、検証者アルゴリズムVに送られる。
次いで、証明者アルゴリズムPは、c0,N←H(r1,N,G(t0,N,r1,N)+e0,N)を計算する。次いで、証明者アルゴリズムPは、c1,N←H(t0,N,e0,N)を計算する。次いで、証明者アルゴリズムPは、c2,N←H(t1,N,e1,N)を計算する。工程#1で生成されたメッセージ(c0,N,c1,N,c2,N)は、検証者アルゴリズムVに送られる。
工程#2,N:
メッセージ(c0,N,c1,N,c2,N)を受け取った検証者アルゴリズムVは、3つの検証パターンのうち、どの検証パターンを利用するかを選択する。例えば、検証者アルゴリズムVは、検証パターンの種類を表す3つの数値{0,1,2}の中から1つの数値を選択し、選択した数値を要求ChNに設定する。この要求ChNは証明者アルゴリズムPに送られる。
メッセージ(c0,N,c1,N,c2,N)を受け取った検証者アルゴリズムVは、3つの検証パターンのうち、どの検証パターンを利用するかを選択する。例えば、検証者アルゴリズムVは、検証パターンの種類を表す3つの数値{0,1,2}の中から1つの数値を選択し、選択した数値を要求ChNに設定する。この要求ChNは証明者アルゴリズムPに送られる。
工程#3,N:
要求ChNを受け取った証明者アルゴリズムPは、受け取った要求ChN応じて検証者アルゴリズムVに送る返答σNを生成する。ChN=0の場合、証明者アルゴリズムPは、返答σN=(r0,N,t1,N,e1,N)を生成する。ChN=2の場合、証明者アルゴリズムPは、返答σN=(r1,N,t0,N,e0,N)を生成する。ChN=2の場合、証明者アルゴリズムPは、返答σN=(r1,N,t1,N,e1,N)を生成する。工程#3で生成された返答σNは、検証者アルゴリズムVに送られる。
要求ChNを受け取った証明者アルゴリズムPは、受け取った要求ChN応じて検証者アルゴリズムVに送る返答σNを生成する。ChN=0の場合、証明者アルゴリズムPは、返答σN=(r0,N,t1,N,e1,N)を生成する。ChN=2の場合、証明者アルゴリズムPは、返答σN=(r1,N,t0,N,e0,N)を生成する。ChN=2の場合、証明者アルゴリズムPは、返答σN=(r1,N,t1,N,e1,N)を生成する。工程#3で生成された返答σNは、検証者アルゴリズムVに送られる。
工程#4,N:
返答σNを受け取った検証者アルゴリズムVは、受け取った返答σNを利用して以下の検証処理を実行する。
返答σNを受け取った検証者アルゴリズムVは、受け取った返答σNを利用して以下の検証処理を実行する。
Ch1=0の場合、検証者アルゴリズムVは、c1,N=H(r0,N−t1,N,F(r0,N)−e1,N)の等号が成り立つか否かを検証する。さらに、検証者アルゴリズムVは、c2,1=H(t1,N,e1,N)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、これらの検証が全て成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
ChN=1の場合、検証者アルゴリズムVは、c0,N=H(r1,N,G(t0,N,r1,N)+e0,N)の等号が成り立つか否かを検証する。さらに、検証者アルゴリズムVは、c1,N=H(t0,N,e0,N)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、これらの検証が全て成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
ChN=2の場合、検証者アルゴリズムVは、c0,N=H(r1,N,y−F(r1,N)−G(t1,N,r1,N)−e1,N)の等号が成り立つか否かを検証する。さらに、検証者アルゴリズムVは、c2,N=H(t1,N,e1,N)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、これらの検証が全て成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
以上、3パス方式に係る効率的な直列化アルゴリズムの構成例について説明した。
<3:5パスの公開鍵認証方式に係るアルゴリズムの構成>
次に、5パスの公開鍵認証方式に係るアルゴリズムについて説明する。なお、以下の説明において、5パスの公開鍵認証方式のことを「5パス方式」と呼ぶ場合がある。
次に、5パスの公開鍵認証方式に係るアルゴリズムについて説明する。なお、以下の説明において、5パスの公開鍵認証方式のことを「5パス方式」と呼ぶ場合がある。
3パス方式の場合には対話プロトコル1回当たりの偽証確率が2/3であったが、5パス方式の場合には対話プロトコル1回当たりの偽証確率が1/2+1/qとなる。但し、qは、利用する環の位数である。従って、環の位数が十分に大きい場合、5パス方式の方が1回当たりの偽証確率を低減することが可能になり、少ない対話プロトコルの実行回数で、偽証確率を十分に小さくすることができる。
例えば、偽証確率を1/2n以下にしたい場合、3パス方式においては、n/(log3−1)=1.701n回以上、対話プロトコルを実行する必要がある。一方、偽証確率を1/2n以下にしたい場合、5パス方式においては、n/(1−log(1+1/q))回以上、対話プロトコルを実行する必要がある。従って、q=24にすれば、同じセキュリティレベルを実現するのに必要な通信量は、3パス方式に比べ、5パス方式の方が少なくなるのである。
[3−1:具体的なアルゴリズムの構成例(図6)]
まず、図6を参照しながら、5パス方式に係る具体的なアルゴリズムの構成例について紹介する。図6は、5パス方式に係る具体的なアルゴリズムの構成について説明するための説明図である。ここでは、公開鍵pkの一部として2次多項式の組(f1(x),…,fm(x))を利用する場合について考える。但し、2次多項式fi(x)は、上記の式(6)のように表現されるものとする。また、ベクトル(x1,…,xn)をxと表記し、2次多項式の組(f1(x),…,fm(x))を多変数多項式F(x)と表記することにする。
まず、図6を参照しながら、5パス方式に係る具体的なアルゴリズムの構成例について紹介する。図6は、5パス方式に係る具体的なアルゴリズムの構成について説明するための説明図である。ここでは、公開鍵pkの一部として2次多項式の組(f1(x),…,fm(x))を利用する場合について考える。但し、2次多項式fi(x)は、上記の式(6)のように表現されるものとする。また、ベクトル(x1,…,xn)をxと表記し、2次多項式の組(f1(x),…,fm(x))を多変数多項式F(x)と表記することにする。
3パス方式に係るアルゴリズムと同様、2つのベクトルt0∈Kn、e0∈Kmを用いて、多変数多項式F(x+r0)をマスクするために用いた多変数多項式F1(x)をF1(x)=G(x、t0)+e0のように表現する。この表現を用いると、多変数多項式F(x+r0)について、下記の式(23)で表現される関係が得られる。
そのため、t1=ChA・r0+t0、e1=ChA・F(r0)+e0とすれば、マスク後の多変数多項式F2(x)=ChA・F(x+r0)+F1(x)も、2つのベクトルt1∈Kn、e1∈Kmにより表現することができる。これらの理由から、F1(x)=G(x,t0)+e0と設定すれば、Kn上のベクトル及びKm上のベクトルを用いてF1及びF2を表現できるようになり、通信に必要なデータサイズが少ない効率的なアルゴリズムを実現することが可能になる。
なお、F2(或いはF1)からr0に関する情報が一切漏れることはない。例えば、e1及びt1(或いはe0及びt0)を与えられても、e0及びt0(或いはe1及びt1)を知らない限り、r0の情報を一切知ることはできない。従って、零知識性は担保される。以下、上記の論理に基づいて構築された5パス方式のアルゴリズムについて説明する。ここで説明する5パス方式のアルゴリズムは、以下のような鍵生成アルゴリズムGen、証明者アルゴリズムP、検証者アルゴリズムVにより構成される。
(鍵生成アルゴリズムGen)
鍵生成アルゴリズムGenは、環K上で定義される多変数多項式f1(x1,…,xn),…,fm(x1,…,xn)、及びベクトルs=(s1,…,sn)∈Knを生成する。次に、鍵生成アルゴリズムGenは、y=(y1,…,ym)←(f1(s),…,fm(s))を計算する。そして、鍵生成アルゴリズムGenは、(f1,…,fm,y)を公開鍵pkに設定し、sを秘密鍵に設定する。なお、以下では、ベクトル(x1,…,xn)をxと表記し、多変数多項式の組(f1(x),…,fm(x))をF(x)と表記する。
鍵生成アルゴリズムGenは、環K上で定義される多変数多項式f1(x1,…,xn),…,fm(x1,…,xn)、及びベクトルs=(s1,…,sn)∈Knを生成する。次に、鍵生成アルゴリズムGenは、y=(y1,…,ym)←(f1(s),…,fm(s))を計算する。そして、鍵生成アルゴリズムGenは、(f1,…,fm,y)を公開鍵pkに設定し、sを秘密鍵に設定する。なお、以下では、ベクトル(x1,…,xn)をxと表記し、多変数多項式の組(f1(x),…,fm(x))をF(x)と表記する。
(証明者アルゴリズムP、検証者アルゴリズムV)
以下、図6を参照しながら、対話プロトコルの中で証明者アルゴリズムP及び検証者アルゴリズムVにより実行される処理について説明する。この対話プロトコルの中で、証明者は、秘密鍵sの情報を検証者に一切漏らさずに、「自身がy=F(s)を満たすsを知っていること」を検証者に示す。一方、検証者は、証明者がy=F(s)を満たすsを知っているか否かを検証する。なお、公開鍵pkは、検証者に公開されているものとする。また、秘密鍵sは、証明者により秘密に管理されているものとする。以下、図6に示したフローチャートに沿って説明を進める。
以下、図6を参照しながら、対話プロトコルの中で証明者アルゴリズムP及び検証者アルゴリズムVにより実行される処理について説明する。この対話プロトコルの中で、証明者は、秘密鍵sの情報を検証者に一切漏らさずに、「自身がy=F(s)を満たすsを知っていること」を検証者に示す。一方、検証者は、証明者がy=F(s)を満たすsを知っているか否かを検証する。なお、公開鍵pkは、検証者に公開されているものとする。また、秘密鍵sは、証明者により秘密に管理されているものとする。以下、図6に示したフローチャートに沿って説明を進める。
工程#1:
図6に示すように、まず、証明者アルゴリズムPは、ランダムにベクトルr0∈Kn、t0∈Kn、e0∈Kmを生成する。次いで、証明者アルゴリズムPは、r1←s−r0を計算する。この計算は、秘密鍵sをベクトルr0によりマスクする操作に相当する。次いで、証明者アルゴリズムPは、ベクトルr0,t0,e0のハッシュ値c0を生成する。つまり、証明者アルゴリズムPは、c0←H(r0,t0,e0)を計算する。次いで、証明者アルゴリズムPは、G(t0,r1)+e0及びr1のハッシュ値c1を生成する。つまり、証明者アルゴリズムPは、c0←H(r1,G(t0,r1)+e0)を計算する。工程#1で生成されたメッセージ(c0,c1)は、検証者アルゴリズムVに送られる。
図6に示すように、まず、証明者アルゴリズムPは、ランダムにベクトルr0∈Kn、t0∈Kn、e0∈Kmを生成する。次いで、証明者アルゴリズムPは、r1←s−r0を計算する。この計算は、秘密鍵sをベクトルr0によりマスクする操作に相当する。次いで、証明者アルゴリズムPは、ベクトルr0,t0,e0のハッシュ値c0を生成する。つまり、証明者アルゴリズムPは、c0←H(r0,t0,e0)を計算する。次いで、証明者アルゴリズムPは、G(t0,r1)+e0及びr1のハッシュ値c1を生成する。つまり、証明者アルゴリズムPは、c0←H(r1,G(t0,r1)+e0)を計算する。工程#1で生成されたメッセージ(c0,c1)は、検証者アルゴリズムVに送られる。
工程#2:
メッセージ(c0,c1)を受け取った検証者アルゴリズムVは、q通り存在する環Kの元からランダムに1つの数ChAを選択し、選択した数ChAを証明者アルゴリズムPに送る。
メッセージ(c0,c1)を受け取った検証者アルゴリズムVは、q通り存在する環Kの元からランダムに1つの数ChAを選択し、選択した数ChAを証明者アルゴリズムPに送る。
工程#3:
数ChAを受け取った証明者アルゴリズムPは、t1←ChA・r0−t0を計算する。さらに、証明者アルゴリズムPは、e1←ChA・F(r0)−e0を計算する。そして、証明者アルゴリズムPは、t1及びe1を検証者アルゴリズムVに送る。
数ChAを受け取った証明者アルゴリズムPは、t1←ChA・r0−t0を計算する。さらに、証明者アルゴリズムPは、e1←ChA・F(r0)−e0を計算する。そして、証明者アルゴリズムPは、t1及びe1を検証者アルゴリズムVに送る。
工程#4:
t1及びe1を受け取った検証者アルゴリズムVは、2つの検証パターンのうち、どちらの検証パターンを利用するかを選択する。例えば、検証者アルゴリズムVは、検証パターンの種類を表す2つの数値{0,1}の中から1つの数値を選択し、選択した数値を要求ChBに設定する。この要求ChBは証明者アルゴリズムPに送られる。
t1及びe1を受け取った検証者アルゴリズムVは、2つの検証パターンのうち、どちらの検証パターンを利用するかを選択する。例えば、検証者アルゴリズムVは、検証パターンの種類を表す2つの数値{0,1}の中から1つの数値を選択し、選択した数値を要求ChBに設定する。この要求ChBは証明者アルゴリズムPに送られる。
工程#5:
要求ChBを受け取った証明者アルゴリズムPは、受け取った要求ChBに応じて検証者アルゴリズムVに送り返す返答Rspを生成する。ChB=0の場合、証明者アルゴリズムPは、返答Rsp=r0を生成する。ChB=1の場合、証明者アルゴリズムPは、返答Rsp=r1を生成する。工程#5で生成された返答Rspは、検証者アルゴリズムVに送られる。
要求ChBを受け取った証明者アルゴリズムPは、受け取った要求ChBに応じて検証者アルゴリズムVに送り返す返答Rspを生成する。ChB=0の場合、証明者アルゴリズムPは、返答Rsp=r0を生成する。ChB=1の場合、証明者アルゴリズムPは、返答Rsp=r1を生成する。工程#5で生成された返答Rspは、検証者アルゴリズムVに送られる。
工程#6:
返答Rspを受け取った検証者アルゴリズムVは、受け取った返答Rspを利用して以下の検証処理を実行する。
返答Rspを受け取った検証者アルゴリズムVは、受け取った返答Rspを利用して以下の検証処理を実行する。
ChB=0の場合、検証者アルゴリズムVは、r0←Rspを実行する。そして、検証者アルゴリズムVは、c0=H(r0,ChA・r0−t1,ChA・F(r0)−e1)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、この検証が成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
ChB=1の場合、検証者アルゴリズムVは、r1←Rspを実行する。そして、検証者アルゴリズムVは、c1=H1(r1,ChA・(y−F(r1))−G(t1,r1)−e1)の等号が成り立つか否かを検証する。検証者アルゴリズムVは、この検証が成功した場合に認証成功を示す値1を出力し、検証に失敗があった場合に認証失敗を示す値0を出力する。
以上、5パス方式に係る効率的なアルゴリズムの構成例について説明した。
[3−2:直列化アルゴリズムの構成例]
図6に示した5パス方式のアルゴリズムを直列化する方法については、図5に示した3パス方式のアルゴリズムの直列化と同様に、図6に示した5パス方式のアルゴリズムをN回行うことで実現できる。
図6に示した5パス方式のアルゴリズムを直列化する方法については、図5に示した3パス方式のアルゴリズムの直列化と同様に、図6に示した5パス方式のアルゴリズムをN回行うことで実現できる。
<4.システムの構成例>
[4−1:本実施形態に係るシステムの概要]
まず、図7を参照して、本実施形態のシステムの概要について説明する。本実施形態では、上述した公開鍵認証を用いて認証を行う場合に、認証レベルを階層化して負荷分散を行う。
[4−1:本実施形態に係るシステムの概要]
まず、図7を参照して、本実施形態のシステムの概要について説明する。本実施形態では、上述した公開鍵認証を用いて認証を行う場合に、認証レベルを階層化して負荷分散を行う。
図7は、本実施形態に係る認証レベルの階層化による負荷分散を説明するための模式図である。図7は、ユーザがクライアント端末100からネットワークを介してサーバ200にアクセスする様子を模式的に示している。ユーザは、クライアント端末100からサーバ200へログインする際にユーザ認証を行う。サーバ200は、一例として、ポータルサイト、ソーシャルメディアネット等を運営するサーバである。
図7(A)は、ユーザがサーバ200へアクセスする際に、1回だけユーザ認証を行うシステムを示している。図7(A)に示すシステムでは、ユーザは1回の認証を行うのみでサーバ200が提供する全てのサービスを享受できる。つまり、ユーザはクライアント端末100から1回の認証を行うことで、メンバーページの閲覧、一般サービス等の享受、自分専用のマイページの閲覧、自己のクレジットカードを用いた決済、自己のユーザ情報の変更等、全ての処理を行うことができる。
しかしながら、図7(A)に示すシステムでは、ユーザがログインする際に、サーバ200の負荷が大きくなることが想定される。特に、多数のユーザが同じタイミングでログインすると、サーバの負荷が増大する。また、暗号を用いたユーザ認証では、高い安全性を保証することができるが、認証処理に比較的時間を要することになる。これにより、個々のユーザにおいて、ログインの速度が低下し、待ち時間が長くなることが考えられる。
一方、サーバ200の負荷を軽減するために、特許文献2のように所定の場合にパスワード入力を省略する等の手法を採ると、本人以外の他人がログイン可能となり、安全性の低下が想定される(いわゆる「なりすまし」の問題)。
このため、本実施形態では、認証処理をユーザのログイン要求以外の処理要求時にも分散させることで、サーバ200の負荷軽減を行う。図7(B)は、本実施形態に係る認証レベルの階層化による負荷分散を示す模式図である。本実施形態では、ユーザ認証の際に上述したメッセージ、要求、返答のやり取りを逐次的に複数回繰り返す直列的な方法を用い、複数回の繰り返しをサーバ200へのアクセスの階層毎に分散させる。
一例として、図7(A)に示すシステムにおいては、ユーザ認証時に1回のみ行われる認証処理において、上述した直列的な方法により繰り返し回数が140回(N=140)の認証処理を行っていたものとする。
これに対し、図7(B)に示す本実施形態の手法では、一例としてユーザ認証時に10回の繰り返し処理による認証処理を行う。ユーザは、この認証処理によりメンバーページの閲覧、メンバー向け一般サービスの利用等を行うことができる。なお、公開情報の閲覧は、認証処理を行うことなく利用できる。その後、ユーザが個人情報(マイページ)閲覧のために所定の操作を行うと、サーバ200は、ユーザ認証時から合算して合計40回の繰り返し回数による認証処理を行う。これにより、ユーザは個人情報閲覧を行うことができる。
更に、ユーザが個人情報の変更のために所定の操作を行うと、サーバ200は、ユーザ認証時から合算して合計100回の繰り返し回数による認証処理を行う。これにより、ユーザは個人情報の変更(例えばパスワード変更、住所、電話番号等の変更等)を行うことができる。
その後、ユーザがクレジット決済のための所定の操作を行うと、サーバ200は、ユーザ認証時から合算して合計140回の繰り返し回数による認証処理を行う。これにより、ユーザはクレジット決済を行うことができる。
以上のように、本実施形態では、認証処理をログイン要求以外の処理要求時にも分散することで、サーバ200の負荷軽減を達成することができる。これにより、サーバ200側では、多数ユーザの認証回数を分散することで負荷が分散される。また、ユーザは、認証処理がスムーズに行われるため、認証処理の時間を感じることがなく、いわゆる「サクサク感」を感じながら認証処理等の操作を行うことができる。また、サーバ200のサイトを構築する側では、サイト構築時に繰り返し回数を認識することで、要求される処理の重要度を把握することができる。
このように、本実施形態では、認証のレベルを繰り返し回数Nの設定で調整することが可能となる。また、繰り返し回数は秘密鍵の強度とは関係しないため、秘密鍵の強度を低下させることなく処理を行うことができる。更に、要求される処理の重要度に応じて認証レベルを設定することが可能である。また、階層に応じて認証回数を積み上げることによって、認証の強度を高めることができる。
[4−2:システムの構成例]
図8は、本実施形態のシステムの構成例を示す模式図である。図8に示すように、クライアント端末100とサーバ200とは、インターネット等のネットワーク300を介して接続されている。クライアント端末100は、操作入力部102、通信部104、表示部106、制御部110を有して構成される。操作入力部102は、マウス、キーボード、タッチパッド、タッチセンサ等の構成要素である。通信部104は、ネットワーク300を介して処理要求をサーバ200へ送信し、またサーバ200から処理要求に対する情報を受信する。表示部106は、液晶表示パネル(LCD)等から構成される。上述した操作入力部102のタッチセンセンサは、表示部106の表示画面上に設けられてタッチパネルを構成するものであっても良い。制御部110は、CPU等の中央演算処理装置から構成され、クライアント端末100の全体を制御する。図8に示すクライアント端末100、構成要素は、回路(ハードウェア)、またはCPU等の中央演算処理装置とこれを機能させるためのプログラム(ソフトウェア)から構成することができる。
図8は、本実施形態のシステムの構成例を示す模式図である。図8に示すように、クライアント端末100とサーバ200とは、インターネット等のネットワーク300を介して接続されている。クライアント端末100は、操作入力部102、通信部104、表示部106、制御部110を有して構成される。操作入力部102は、マウス、キーボード、タッチパッド、タッチセンサ等の構成要素である。通信部104は、ネットワーク300を介して処理要求をサーバ200へ送信し、またサーバ200から処理要求に対する情報を受信する。表示部106は、液晶表示パネル(LCD)等から構成される。上述した操作入力部102のタッチセンセンサは、表示部106の表示画面上に設けられてタッチパネルを構成するものであっても良い。制御部110は、CPU等の中央演算処理装置から構成され、クライアント端末100の全体を制御する。図8に示すクライアント端末100、構成要素は、回路(ハードウェア)、またはCPU等の中央演算処理装置とこれを機能させるためのプログラム(ソフトウェア)から構成することができる。
サーバ200は、通信部201、要求処理実行部202、認証実行部204、認証回数記録部206、データベース208、表示部210を有して構成される。通信部201は、ネットワーク300を介してクライアント端末100と通信を行い、クライアント端末100から送られた処理要求を受信し、処理要求に対する応答を送信する。要求処理実行部202は、クライアント端末100から送信された処理要求に応じた処理を実行する。クライアント端末100からユーザ認証の処理要求が送られた場合、処理要求実行部202は、この処理要求を取得し、認証実行部204に対してユーザ認証の依頼を行い、認証実行部204から認証の許可/不許可に関する情報を受け取る。また、要求処理実行部202は、クライアント端末100から特定の情報を閲覧するための処理要求が出されると、データベース208から処理要求に応じた情報を抽出し、通信部201を介してクライアント端末100へ送信させる。
認証実行部204は、上述した公開鍵認証方式によるユーザ認証を行う。認証実行部204は、ユーザ認証の際に上述したメッセージ、要求、返答のやり取りを逐次的に複数回繰り返す直列的な方法を用い、複数回の繰り返しをサーバ200へのアクセスの階層毎に分散させて認証処理を行う。図7(B)で示した例では、認証実行部204は、ユーザ認証の処理要求がクライアント端末100から送られた場合は、10回の繰り返し回数による認証処理を行う。その後、例えばマイページの閲覧の処理要求がクライアント端末100から送られた場合は、認証実行部204は、ユーザ認証時から合算して合計40回の繰り返し回数による認証処理を行う。
認証回数記録部206は、認証の繰り返し回数を記録する。特に、認証回数記録部206は、ユーザ認証時から合算した認証の繰り返し回数を記録することができる。データベース208は、主としてサーバ200が提供するサービスに係るデータを格納する。例えばサーバ200がソーシャルネットワークサーバの場合、データベース208は、ソーシャルネットワークに登録している各ユーザの情報に関する情報を格納している。また、サーバ200がポータルサイトを提供するポータルサーバの場合、データベース208はポータルサイトに関する情報を格納している。
なお、図8に示すサーバ200の構成要素は、回路(ハードウェア)、またはCPU等の中央演算処理装置とこれを機能させるためのプログラム(ソフトウェア)から構成することができる。
[4−3:システムの動作]
図8に示す構成において、クライアント端末100の操作入力部120がユーザによって操作されると、制御部110は通信部104からユーザ認証の処理要求をサーバ200へ送信させる。サーバ200の要求処理実行部202は、クライアント端末100から送られた処理要求を、通信部201を介して受信する。要求処理実行部202は、クライアント端末100から送信された処理要求が認証を要するものか否かを判定し、認証を要する場合は、認証実行部204に対して認証の実行を依頼する。ここで、認証を要する処理要求は、ログインの要求、マイページへの遷移の要求、ユーザ情報の変更要求、クレジット決済の要求等が該当する。また、認証を要しない要求とは、各階層において単に情報を閲覧する要求等が該当する。処理要求が認証を要しないものである場合、要求処理実行部202は、処理要求に応じてデータベース208から抽出した情報をクライアント端末100へ送信する。
図8に示す構成において、クライアント端末100の操作入力部120がユーザによって操作されると、制御部110は通信部104からユーザ認証の処理要求をサーバ200へ送信させる。サーバ200の要求処理実行部202は、クライアント端末100から送られた処理要求を、通信部201を介して受信する。要求処理実行部202は、クライアント端末100から送信された処理要求が認証を要するものか否かを判定し、認証を要する場合は、認証実行部204に対して認証の実行を依頼する。ここで、認証を要する処理要求は、ログインの要求、マイページへの遷移の要求、ユーザ情報の変更要求、クレジット決済の要求等が該当する。また、認証を要しない要求とは、各階層において単に情報を閲覧する要求等が該当する。処理要求が認証を要しないものである場合、要求処理実行部202は、処理要求に応じてデータベース208から抽出した情報をクライアント端末100へ送信する。
認証実行部204は、認証回数記録部206に記録されている認証回数に基づいて、ユーザの処理要求に応じた階層へ遷移するための認証回数を取得する。そして、認証実行部204は、取得した認証回数の認証を実行する。認証が終了すると、認証実行部206は、新たに行った認証の回数を認証回数記録部206に記録する。これにより、認証回数記録部206には、ユーザがログインしてから行った認証回数を合計が記録される。
図9は、サーバ200の処理を示すフローチャートである。図9では、主にサーバ200の認証実行部204が行う処理を示している。先ず、ステップS10では、クライアント端末100が処理要求を行う。ここでは、認証を必要とする処理要求が行われたものとする。次のステップS12では、現在までに達成した認証の繰り返し回数をnとし、クライアント端末100からの処理要求に応じた処理毎に設定される繰り返し回数をn’とした場合にn−n’≧0であるか否かを判定する。なお、現在までに達成した認証の繰り返し回数nは認証回数記録部206に記録されている。ユーザがサーバ200からログオフした後に初めてサーバ200にログインする場合は、それまでに認証が行われていないため、n=0である。
処理毎に設定される繰り返し回数をn’は、図7(B)で説明した例を挙げると、ユーザ認証時:10回、個人情報の閲覧:40回、個人情報の変更:100回、クレジット決済:140回、である。
ステップS12でn−n’≧0の場合はステップS18へ進む。ステップS18へ進んだ場合は、現在までの認証の繰り返し回数nの方がクライアント端末100からの処理要求に応じた繰り返し回数n’よりも大きいため、処理要求に応じた繰り返し回数n’が既に達成されている。従って、ステップS18ではセッションの維持/開始を行う。
一方、ステップS12でn−n’<0の場合はステップS14へ進む。ステップS14へ進んだ場合は、現在までの認証の繰り返し回数nよりもクライアント端末100からの処理要求に応じた繰り返し回数n’の方が大きいため、現在までの認証の繰り返し回数が不足している。このためステップS14では、n’−nを演算することによって認証の繰り返し回数の不足分を算出し、n’−n回の認証を行う。
ステップS14でn’−n回の認証が成功すると、ステップS16へ進み、現在までに達成した認証の繰り返し回数nをステップS10で受信した処理要求に応じたn’の値に置き換え(n←n’)、認証回数記録部206に記録する。
次のステップS18では、ステップS14での認証が成功しているため、処理要求に応じたセッションを維持し、又はセッションを開始する。
一方、ステップS14でn’−n回の認証が失敗した場合は、ステップS20へ進む。認証の失敗は、ユーザの認証情報に誤りがあった場合(いわゆる「他人によるなりすまし」の場合)、通信環境の低下による場合、等に起因して発生する。この場合、ステップS20ではセッションを中断し、ステップS22では現在までに達成した繰り返し回数nを0にリセットする(n←0)。これにより、ユーザは次に処理要求を行う場合は、最初から認証を行うことになる。ステップS18,S22の後は処理を終了する(End)。
図10は、クライアント端末100からの要求によりセッションを遮断した時の処理を示すフローチャートである。セッション遮断の処理要求がクライアント端末100から送信されると、ステップS30ではセッションを遮断する。そして、次のステップS32では、現在までに達成した繰り返し回数nを0にリセットする(n←0)。これにより、ユーザは次に処理要求を行う場合は、最初から認証を行うことになる。ステップS32の後は処理を終了する(End)。
[4−4:ユーザ認証プロトコルについて]
本実施形態では、上述したように、ユーザ認証の方式として、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式を例に挙げて説明した。ユーザ認証プロトコルとしては、これに限定されるものではなく、図5に例示したような直列構成が可能な認証プロトコルであれば、他のプロトコルも広く使用可能である。なお、認証プロトコルとは、上述したように、公開鍵vに対応する秘密鍵sを持っていることを秘密鍵sを明かすことなく証明する暗号技術である。従って、事前に公開鍵vをサーバ200に登録しておくことで、サーバ200がユーザを認証する際に利用することができる。このような認証プロトコルでは、繰り返し回数を設定することで認証の強度を変更できる。また、繰り返し回数が少ない程、通信量は少なくなる。また、繰り返し回数の設定は秘密鍵sの強度とは関係ない。
本実施形態では、上述したように、ユーザ認証の方式として、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式を例に挙げて説明した。ユーザ認証プロトコルとしては、これに限定されるものではなく、図5に例示したような直列構成が可能な認証プロトコルであれば、他のプロトコルも広く使用可能である。なお、認証プロトコルとは、上述したように、公開鍵vに対応する秘密鍵sを持っていることを秘密鍵sを明かすことなく証明する暗号技術である。従って、事前に公開鍵vをサーバ200に登録しておくことで、サーバ200がユーザを認証する際に利用することができる。このような認証プロトコルでは、繰り返し回数を設定することで認証の強度を変更できる。また、繰り返し回数が少ない程、通信量は少なくなる。また、繰り返し回数の設定は秘密鍵sの強度とは関係ない。
特にMQプロトコルは、安全性が高い点、直列構成可能である点、繰り返し回数が秘密鍵の強度とは関係ない点で、本実施形態の認証処理に好適に利用できる。
他の認証プロトコルとしては、例えば、Syndrome decoding problemに基づく認証プロトコルを使用することができる(A new paradigm for public key identification. CRYPTO 1993, IEEE Trans. on IT 1996)。
[4−5:認証の繰り返し回数n’について]
処理毎にパスすべき認証回数n’は、サーバ200側のサイト設計者が任意に設定できる。ここで、以下の方針に従って認証回数n’を設定することが望ましい。
・事前の手続きが多い処理ほど繰り返し回数を大きくする。
・例えば、一般のSNS等では「公情報閲覧<ログイン<メンバー情報閲覧<個人情報閲覧<個人情報変更<決済操作」の順に繰り返し回数n’を多く設定する(図7(B)参照)。
・繰り返し回数が1回での偽証確率が2/3のとき、最も回数が多い処理については、暗号論で推奨される140回に設定することが望ましい。
処理毎にパスすべき認証回数n’は、サーバ200側のサイト設計者が任意に設定できる。ここで、以下の方針に従って認証回数n’を設定することが望ましい。
・事前の手続きが多い処理ほど繰り返し回数を大きくする。
・例えば、一般のSNS等では「公情報閲覧<ログイン<メンバー情報閲覧<個人情報閲覧<個人情報変更<決済操作」の順に繰り返し回数n’を多く設定する(図7(B)参照)。
・繰り返し回数が1回での偽証確率が2/3のとき、最も回数が多い処理については、暗号論で推奨される140回に設定することが望ましい。
[4−6:ユーザ毎に認証レベルを変える例について]
上述した例では、ユーザ毎に同一の認証回数n’を設定していたが、サーバ側でユーザIDを認識し、ユーザID毎に異なる認証レベルの値(認証回数n’)を設定することもできる。
上述した例では、ユーザ毎に同一の認証回数n’を設定していたが、サーバ側でユーザIDを認識し、ユーザID毎に異なる認証レベルの値(認証回数n’)を設定することもできる。
これにより、サーバ200側(サイト側)から見て確実に認証が必要なユーザと、あまり認証が必要でないユーザとの間で認証レベルの設定による重み付けを異ならせることができる。例えば、あるユーザが有名人であることが分かっている場合は、一般のユーザより認証回数n’を一様に高く設定する。例えば、図7(B)において、階層毎の認証回数n’を10→20、40→50、100→110、140→150のように変更して高く設定する。これにより、ユーザが有名人である場合に、他人による「なりすまし」をより高い精度で抑えることができる。
<5:ハードウェア構成例(図11)>
上記の各アルゴリズムは、例えば、図11に示す情報処理装置のハードウェア構成を用いて実行することが可能である。つまり、当該各アルゴリズムの処理は、コンピュータプログラムを用いて図11に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、接触式又は非接触式のICチップ、接触式又は非接触式のICカード、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
上記の各アルゴリズムは、例えば、図11に示す情報処理装置のハードウェア構成を用いて実行することが可能である。つまり、当該各アルゴリズムの処理は、コンピュータプログラムを用いて図11に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、接触式又は非接触式のICチップ、接触式又は非接触式のICカード、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
図11に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は接触又は非接触通信用のデバイス等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
以上で述べた技術内容は、例えば、PC、携帯電話、ゲーム機、情報端末、情報家電、カーナビゲーションシステム等、種々の情報処理装置に対して適用することができる。なお、以下で述べる情報処理装置の機能は、1台の情報処理装置を利用して実現することも可能であるし、複数台の情報処理装置を利用して実現することも可能である。また、以下で述べる情報処理装置が処理を実行する際に用いるデータ記憶手段及び演算処理手段は、当該情報処理装置に設けられたものであってもよいし、ネットワークを介して接続された機器に設けられたものであってもよい。
以上説明したように本実施形態によれば、認証処理をユーザのログイン要求以外の処理要求時にも分散させることで、サーバ200の負荷軽減を行うことができる。従って、ユーザは、認証処理がスムーズに行われるため、認証処理の時間を感じることがなく、快適に認証処理等の操作を行うことができる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)ユーザから複数の処理要求を逐次取得する処理要求取得部と、
前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、
を備える、情報処理装置。
(2)前記認証実行部は、前記複数の処理要求の各々の認証レベルに応じて前記ユーザ認証処理の回数を設定して前記ユーザ認証処理を実行する、前記(1)に記載の情報処理装置。
(3)前記認証実行部は、前記ユーザ認証処理のための情報のやり取りを複数回繰り返す認証プロトコルを用いて前記ユーザ認証処理を実行する、前記(1)に記載の情報処理装置。
(4)前記認証実行部は、MQプロトコルによるユーザ認証処理を実行する、前記(1)に記載の情報処理装置。
(5)現在までに行われた前記ユーザ認証処理の繰り返し回数nを記録する認証回数記録部を備え、
前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達していない場合に、更なる前記ユーザ認証処理を実行する、前記(3)に記載の情報処理装置。
(6)前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達するまで、前記ユーザ認証処理を実行する、前記(5)に記載の情報処理装置。
(7)前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達していない場合に、(n’−n)回の更なるユーザ認証処理を実行する、前記(5)に記載の情報処理装置。
(8)前記予め設定された繰り返し回数n’は、ユーザの処理要求の秘匿性が高い程、大きい値に設定される、前記(5)に記載の情報処理装置。
(9)前記予め設定された繰り返し回数n’は、ユーザ毎に異なる値に設定される、前記(5)記載の情報処理装置。
(10)前記認証実行部は、前記ユーザ認証処理が正常に行われなかった場合は、現在までに行われた前記ユーザ認証処理の繰り返し回数nを0にリセットする、前記(5)に記載の情報処理装置。
(11)ユーザから入力された処理要求を送信するクライアント端末と、
前記クライアント端末から複数の前記処理要求を逐次取得する処理要求取得部と、前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、を有するサーバと、
を備える、情報処理システム。
(12)ユーザから複数の処理要求を逐次取得することと、
前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行することと、
を備える、情報処理方法。
(13)ユーザから複数の処理要求を逐次取得する手段、
前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する手段、
としてコンピュータを機能させるためのプログラム。
(14)ユーザから入力された処理要求を送信する送信部と、
前記クライアント端末から複数の前記処理要求を逐次取得して前記複数の処理要求を取得したタイミングに応じてユーザ認証処理を分散して実行するサーバから、前記ユーザ認証処理の結果を受信する受信部と、
を備える、クライアント端末。
(1)ユーザから複数の処理要求を逐次取得する処理要求取得部と、
前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、
を備える、情報処理装置。
(2)前記認証実行部は、前記複数の処理要求の各々の認証レベルに応じて前記ユーザ認証処理の回数を設定して前記ユーザ認証処理を実行する、前記(1)に記載の情報処理装置。
(3)前記認証実行部は、前記ユーザ認証処理のための情報のやり取りを複数回繰り返す認証プロトコルを用いて前記ユーザ認証処理を実行する、前記(1)に記載の情報処理装置。
(4)前記認証実行部は、MQプロトコルによるユーザ認証処理を実行する、前記(1)に記載の情報処理装置。
(5)現在までに行われた前記ユーザ認証処理の繰り返し回数nを記録する認証回数記録部を備え、
前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達していない場合に、更なる前記ユーザ認証処理を実行する、前記(3)に記載の情報処理装置。
(6)前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達するまで、前記ユーザ認証処理を実行する、前記(5)に記載の情報処理装置。
(7)前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達していない場合に、(n’−n)回の更なるユーザ認証処理を実行する、前記(5)に記載の情報処理装置。
(8)前記予め設定された繰り返し回数n’は、ユーザの処理要求の秘匿性が高い程、大きい値に設定される、前記(5)に記載の情報処理装置。
(9)前記予め設定された繰り返し回数n’は、ユーザ毎に異なる値に設定される、前記(5)記載の情報処理装置。
(10)前記認証実行部は、前記ユーザ認証処理が正常に行われなかった場合は、現在までに行われた前記ユーザ認証処理の繰り返し回数nを0にリセットする、前記(5)に記載の情報処理装置。
(11)ユーザから入力された処理要求を送信するクライアント端末と、
前記クライアント端末から複数の前記処理要求を逐次取得する処理要求取得部と、前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、を有するサーバと、
を備える、情報処理システム。
(12)ユーザから複数の処理要求を逐次取得することと、
前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行することと、
を備える、情報処理方法。
(13)ユーザから複数の処理要求を逐次取得する手段、
前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する手段、
としてコンピュータを機能させるためのプログラム。
(14)ユーザから入力された処理要求を送信する送信部と、
前記クライアント端末から複数の前記処理要求を逐次取得して前記複数の処理要求を取得したタイミングに応じてユーザ認証処理を分散して実行するサーバから、前記ユーザ認証処理の結果を受信する受信部と、
を備える、クライアント端末。
100 クライアント端末
104 通信部
200 サーバ
202 要求処理実行部
204 認証実行部
104 通信部
200 サーバ
202 要求処理実行部
204 認証実行部
Claims (14)
- ユーザから複数の処理要求を逐次取得する処理要求取得部と、
前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、
を備える、情報処理装置。 - 前記認証実行部は、前記複数の処理要求の各々の認証レベルに応じて前記ユーザ認証処理の回数を設定して前記ユーザ認証処理を実行する、請求項1に記載の情報処理装置。
- 前記認証実行部は、前記ユーザ認証処理のための情報のやり取りを複数回繰り返す認証プロトコルを用いて前記ユーザ認証処理を実行する、請求項1に記載の情報処理装置。
- 前記認証実行部は、MQプロトコルによるユーザ認証処理を実行する、請求項1に記載の情報処理装置。
- 現在までに行われた前記ユーザ認証処理の繰り返し回数nを記録する認証回数記録部を備え、
前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達していない場合に、更なる前記ユーザ認証処理を実行する、請求項3に記載の情報処理装置。 - 前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達するまで、前記ユーザ認証処理を実行する、請求項5に記載の情報処理装置。
- 前記認証実行部は、前記処理要求の種別に応じて予め設定された繰り返し回数n’に対して前記繰り返し回数nが到達していない場合に、(n’−n)回の更なるユーザ認証処理を実行する、請求項5に記載の情報処理装置。
- 前記予め設定された繰り返し回数n’は、ユーザの処理要求の秘匿性が高い程、大きい値に設定される、請求項5に記載の情報処理装置。
- 前記予め設定された繰り返し回数n’は、ユーザ毎に異なる値に設定される、請求項5に記載の情報処理装置。
- 前記認証実行部は、前記ユーザ認証処理が正常に行われなかった場合は、現在までに行われた前記ユーザ認証処理の繰り返し回数nを0にリセットする、請求項5に記載の情報処理装置。
- ユーザから入力された処理要求を送信するクライアント端末と、
前記クライアント端末から複数の前記処理要求を逐次取得する処理要求取得部と、前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する認証実行部と、を有するサーバと、
を備える、情報処理システム。 - ユーザから複数の処理要求を逐次取得することと、
前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行することと、
を備える、情報処理方法。 - ユーザから複数の処理要求を逐次取得する手段、
前記複数の処理要求を取得したタイミングに応じて、ユーザ認証処理を分散して実行する手段、
としてコンピュータを機能させるためのプログラム。 - ユーザから入力された処理要求を送信する送信部と、
前記クライアント端末から複数の前記処理要求を逐次取得して前記複数の処理要求を取得したタイミングに応じてユーザ認証処理を分散して実行するサーバから、前記ユーザ認証処理の結果を受信する受信部と、
を備える、クライアント端末。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012193891A JP2014050064A (ja) | 2012-09-04 | 2012-09-04 | 情報処理装置、情報処理システム、情報処理方法、プログラム及びクライアント端末 |
| US13/960,342 US20140068788A1 (en) | 2012-09-04 | 2013-08-06 | Information processing apparatus, information processing system, information processing method, program and client terminal |
| CN201310380372.7A CN103685216A (zh) | 2012-09-04 | 2013-08-28 | 信息处理设备及其系统和方法、程序以及客户端终端 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012193891A JP2014050064A (ja) | 2012-09-04 | 2012-09-04 | 情報処理装置、情報処理システム、情報処理方法、プログラム及びクライアント端末 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2014050064A true JP2014050064A (ja) | 2014-03-17 |
Family
ID=50189438
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012193891A Pending JP2014050064A (ja) | 2012-09-04 | 2012-09-04 | 情報処理装置、情報処理システム、情報処理方法、プログラム及びクライアント端末 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20140068788A1 (ja) |
| JP (1) | JP2014050064A (ja) |
| CN (1) | CN103685216A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018007204A (ja) * | 2016-07-08 | 2018-01-11 | マツダ株式会社 | 認証システム、故障診断ツール、車載通信システム及び認証方法 |
| JP2020537860A (ja) * | 2017-10-18 | 2020-12-24 | クロスビル リミテッド | 本人認証方法とシステム及び計算装置と記憶媒体 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106411504B (zh) * | 2015-07-31 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 数据加密系统、方法及装置 |
| CN106789069B (zh) * | 2016-12-20 | 2019-12-13 | 中国电子科技集团公司第三十研究所 | 一种零知识身份认证方法 |
| CN110932858B (zh) * | 2018-09-19 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 认证方法和系统 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7512782B2 (en) * | 2002-08-15 | 2009-03-31 | Microsoft Corporation | Method and system for using a web service license |
| US8014570B2 (en) * | 2004-11-16 | 2011-09-06 | Activcard, Inc. | Method for improving false acceptance rate discriminating for biometric authentication systems |
| US20100161968A1 (en) * | 2004-05-06 | 2010-06-24 | Pravetz James D | Delivering content in digital postal envelope |
| TW200745957A (en) * | 2005-11-02 | 2007-12-16 | Toshiba Kk | Portable electronic apparatus, IC card, data processing apparatus and data processing system |
| US8392963B2 (en) * | 2005-11-28 | 2013-03-05 | Imperva, Inc. | Techniques for tracking actual users in web application security systems |
| US7685630B2 (en) * | 2006-05-04 | 2010-03-23 | Citrix Online, Llc | Methods and systems for providing scalable authentication |
| JP5586985B2 (ja) * | 2010-02-22 | 2014-09-10 | キヤノン株式会社 | ネットワークシステム、ネットワークシステムの制御方法、及び、プログラム |
| JP5736816B2 (ja) * | 2010-05-31 | 2015-06-17 | ソニー株式会社 | 認証装置、認証方法、プログラム、及び署名生成装置 |
| JP5751029B2 (ja) * | 2011-06-03 | 2015-07-22 | 株式会社リコー | 認証装置、プログラムおよび記録媒体 |
| CN103096308B (zh) * | 2011-11-01 | 2016-01-20 | 华为技术有限公司 | 生成组密钥的方法和相关设备 |
-
2012
- 2012-09-04 JP JP2012193891A patent/JP2014050064A/ja active Pending
-
2013
- 2013-08-06 US US13/960,342 patent/US20140068788A1/en not_active Abandoned
- 2013-08-28 CN CN201310380372.7A patent/CN103685216A/zh active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018007204A (ja) * | 2016-07-08 | 2018-01-11 | マツダ株式会社 | 認証システム、故障診断ツール、車載通信システム及び認証方法 |
| JP2020537860A (ja) * | 2017-10-18 | 2020-12-24 | クロスビル リミテッド | 本人認証方法とシステム及び計算装置と記憶媒体 |
| JP7072071B2 (ja) | 2017-10-18 | 2022-05-19 | クロスビル リミテッド | 本人認証方法とシステム及び計算装置と記憶媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20140068788A1 (en) | 2014-03-06 |
| CN103685216A (zh) | 2014-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9577827B2 (en) | Information processing device, information processing method, and program | |
| Banerjee et al. | Physically secure lightweight anonymous user authentication protocol for internet of things using physically unclonable functions | |
| JP5790319B2 (ja) | 署名検証装置、署名検証方法、プログラム、及び記録媒体 | |
| JP6069852B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
| Ghaffar et al. | An improved authentication scheme for remote data access and sharing over cloud storage in cyber-physical-social-systems | |
| JP5593850B2 (ja) | 認証装置、認証方法、プログラム、及び署名生成装置 | |
| JP5790318B2 (ja) | 情報処理装置、署名生成装置、情報処理方法、署名生成方法、及びプログラム | |
| JP2014052588A (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
| JP2015033038A (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
| JP5594034B2 (ja) | 認証装置、認証方法、及びプログラム | |
| JP2014081787A (ja) | 情報処理装置、情報処理端末、アクセス認証方法及びプログラム | |
| JP2014090372A (ja) | 情報処理装置、情報処理システム、情報処理方法及びコンピュータプログラム | |
| JPWO2015019821A1 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
| Sharma et al. | Advanced multi-factor user authentication scheme for E-governance applications in smart cities | |
| JP2014050064A (ja) | 情報処理装置、情報処理システム、情報処理方法、プログラム及びクライアント端末 | |
| Shirvanian et al. | 2D-2FA: A new dimension in two-factor authentication | |
| JPWO2013129084A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
| JP2014090235A (ja) | 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム | |
| CN112422534B (zh) | 电子证书的信用评估方法以及设备 | |
| Aiash | A formal analysis of authentication protocols for mobile devices in next generation networks | |
| WO2013129119A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
| JP2013047726A (ja) | 情報処理装置、署名生成装置、署名検証装置、情報処理方法、署名生成方法、及び署名検証方法 | |
| CN115277240A (zh) | 一种物联网设备的认证方法及装置 | |
| WO2013031413A1 (ja) | 情報処理装置、情報処理方法、プログラム、及び記録媒体 | |
| WO2014034054A1 (en) | Information processing apparatus, information processing system, information processing method, and program |