JP6753403B2 - 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP6753403B2
JP6753403B2 JP2017536609A JP2017536609A JP6753403B2 JP 6753403 B2 JP6753403 B2 JP 6753403B2 JP 2017536609 A JP2017536609 A JP 2017536609A JP 2017536609 A JP2017536609 A JP 2017536609A JP 6753403 B2 JP6753403 B2 JP 6753403B2
Authority
JP
Japan
Prior art keywords
information
authentication
distributed
information processing
input
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.)
Active
Application number
JP2017536609A
Other languages
English (en)
Other versions
JPWO2017033442A1 (ja
Inventor
裕貴 太中
裕貴 太中
古川 潤
潤 古川
一真 大原
一真 大原
俊則 荒木
俊則 荒木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2017033442A1 publication Critical patent/JPWO2017033442A1/ja
Application granted granted Critical
Publication of JP6753403B2 publication Critical patent/JP6753403B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Description

本発明は、情報処理装置(コンピュータ)を用いた認証システムに関する。
インターネットを介して利用される様々なサービスにおいて、サービスがユーザを認証する際、ID(Identifier)とパスワードとを利用する方法がよく使われる。
利用するサービス毎にパスワードを変えた場合、ユーザのパスワード管理の手間が、増大してしまう。一方、1つのパスワードを複数のサービスで使いまわした場合、あるサービスから漏えいしたパスワードが、他のサービスの不正利用に用いられるという危険性がある。
このような危険を和らげる技術として、オンラインパスワードマネージャと呼ばれるパスワード管理方法が用いられる。オンラインパスワードマネージャにおいては、ユーザが利用する各サービスに対するIDおよびパスワードの情報を一元的に管理するサーバ(以下、「パスワード管理サーバ」と言う)が用いられる。ユーザは、サービスの利用の前に、このパスワード管理サーバの認証を受ける。そして、その認証が通った場合に、ユーザは、所望サービスに対応するIDおよびパスワードを受け取ることができる。ユーザは、パスワード管理サーバから認証を受けるに十分な情報(マスターパスワード)を有していれば良い。したがって、オンラインパスワードマネージャにおいて、ユーザは、パスワード管理の手間が小さい。
このようなオンラインパスワードマネージャに関連する技術として、例えば、特許文献1には、重要データから秘密分散技術により生成された部分データの不正取得を防止するデータ分散保管システムが開示されている。この特許文献1に記載されたデータ分散保管システムでは、部分データを保存する各サーバの認証処理部が、ユーザごとのパスワードをハッシュ化したハッシュ化パスワード、およびユーザに固有であるユーザシーズを保持する。そして、各サーバの認証処理部は、部分データを提供する際に、各サーバ固有のサーバシーズと、上記のユーザごとの各情報とを用いて、ユーザの認証を行う。このようにして、各サーバは、部分データの不正取得を防止する。
また、特許文献2には、秘密分散法を用いて、ユーザ認証に必要な認証情報を管理する認証ユニットなどが開示されている。この特許文献2に記載された端末の認証ユニットは、認証情報を秘密分散法によって分散した複数の分散情報を、それぞれ複数の端末に保存しておく。認証の際、認証ユニットは、所定の数の端末から集めた分散情報に基づいて、認証情報を復元する。そして、認証ユニットは、復元した認証情報と入力された認証情報を比較することによって認証を行う。このようにして、この認証ユニットは、端末のいずれかが紛失された場合における認証情報の漏えいを防ぐことができる。
特開2013−020313号公報 特開2010−011109号公報
しかしながら、上述したオンラインパスワードマネージャおよび特許文献1に開示された各サーバでは、パスワード管理サーバが、ユーザの認証に必要な情報をすべて保管している。そのような情報が漏えいした場合、その情報によって、ユーザのマスターパスワードの特定が可能であるという問題がある。
その理由は、IDおよびパスワードの組が、ユーザに記憶できる程度の長さ(短さ)であるならば、特許文献1のようにハッシュ化していても、そのハッシュ化パスワードを用いてパスワード候補をひとつひとつ確認することが可能だからである。
また、特許文献2に開示された認証ユニットは、認証の際、まだユーザの正当性が確認されていないタイミングで、分散情報を集める必要があるという問題がある。したがって、端末に成りすました端末が、分散情報を収集することができる。そして、成りすました端末が、収集した分散情報を、認証情報を特定する材料として利用することができるという問題がある。
本発明の1つの目的は、分散された認証情報を、それらを個別に保管している各装置から、システムに含まれるいずれか1つの装置に集めることなく認証可能な情報処理装置などを提供することにある。
上記の目的を達成すべく、本発明の一態様に係る第2の情報処理装置は、以下の構成を備えることを特徴とする。
すなわち、本発明の一態様に係る第2の情報処理装置は、
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の1つと、
通信を介して接続される第1の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の1つとに基づいて、
他の第2の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算手段と、
前記判定の結果に応じて所定の処理を実行する処理実行手段と
を含む。
また、上記の同目的を達成すべく、本発明の一態様に係る第1の情報処理装置は、上述した構成を備える、複数の第1の情報処理装置を含むシステムに接続され、
入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散手段と、
前記複数の第2の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御手段と
を含む。
また、上記の同目的を達成すべく、本発明の一態様に係る認証方法は、情報処理装置によって、
第1の情報処理装置に対して入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散し、
認証に際して照合される情報であるマスター認証情報が秘密分散法によって分散された情報である各分散マスター認証情報を分散してあらかじめ保存する、複数の第2の情報処理装置に対して、前記第1の情報処理装置から、前記各分散認証情報を分散するように送信し、
前記第1の情報処理装置から受信した前記分散認証情報と、前記分散マスター認証情報とに基づいて、前記複数の第2の情報処理装置の少なくとも一部の装置間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定し、
前記秘密計算を実行した前記複数の第2の情報処理装置の少なくとも1つが、前記判定の結果に応じて所定の処理を実行する。
また、同目的は、上記の各構成を有する第1および第2の情報処理装置、並びに対応する方法を、それぞれコンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
本発明には、システムを構成する、いずれの情報処理装置から情報漏えいが起きても、漏えいした情報からユーザのマスターパスワードが特定できないという効果がある。
本発明の第1の実施形態に係る認証システムの構成を示すブロック図である。 本発明の第2の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。 第2の実施形態におけるユーザ登録処理の際に、クライアント100および各分散認証装置200が行う動作を示すフローチャートである。 第2の実施形態におけるサービス登録処理の際に、クライアント100、各分散認証装置200、およびサービスアクセス情報管理装置300が行う動作を示すフローチャートである。 第2の実施形態におけるサービス利用処理の際に、クライアント100、各分散認証装置200、およびサービスアクセス情報管理装置300が行う動作を示すフローチャートである。 本発明の第3の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。 第3の実施形態におけるユーザ登録処理の際に、クライアント400および各分散認証装置500が行う動作を示すフローチャートである。 第3の実施形態におけるサービス登録処理の際に、クライアント400および各分散認証装置500が行う動作を示すフローチャートである。 第3の実施形態におけるサービス利用処理の際に、クライアント400および各分散認証装置500が行う動作を示すフローチャートである。 本発明の各実施形態、および、その変形例に係る認証システムまたはサービスアクセス情報管理システムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。
次に、本発明の実施形態について図面を参照して詳細に説明する。
まず、各実施形態において利用される秘密分散法および秘密計算法について説明する。
秘密分散法とは、秘密情報から複数の分散情報を生成する技術である。分散情報はあらかじめ定められた組み合わせからは秘密情報を復元できるが、それ以外の組み合わせからは秘密情報が復元できないように作られる。秘密分散法は、例えば、Adi Shamir著、”How to Share a Secret”、 Commun. ACM 22(11)、 pp.612−613、1979年において提案されている。秘密分散法は、これ以外にも、様々な方法が知られている。以下では、秘密情報から分散情報を生成する処理を「分散処理」とも言う。また、複数の分散情報を入力として秘密情報を復元する処理を「復元処理」とも言う。
秘密計算法とは、秘密分散法によって分散されたデータに関する計算を実行することができるという技術である。秘密計算法は、例えば、Michael Ben−Or、Shafi Goldwasser、Avi Wigderson著、 ”Completeness Theorems for Non−Cryptographic Fault−Tolerant Distributed Computation (Extended Abstract)”、 Proceedings of the 20th Annual ACM Symposium on Theory of Computing、1988年において提案されている。秘密計算法は、これ以外にも、様々な方法が知られている。秘密計算法によれば、秘密分散法によって分散され、かつ複数のサーバに分散して保管された分散データ群に対する任意の演算を、データの復元を伴うことなく実行することができる。すなわち、データの復元を要さないので、秘密計算法によれば、分散されたデータ群を1か所に集めることなく演算を行うことが可能となる。
例えば、秘密計算法によって、与えられたデータAと、分散されたデータB(分散データ群)とが一致しているかどうかを判定する演算の方法として、Ivan Damgard、 Matthias Fitzi、 Eike Kiltz、 Jesper Buus Nielsen、 Tomas Toft著、”Unconditionally Secure Constant−Rounds Multi−party Computation for Equality, Comparison, Bits and Exponentiation”、 Theory of Cryptography Lecture Notes in Computer Science Volume 3876、285−304頁、2006年に記述された方法などが知られている。上記の方法には、以下の各実施形態における、入力された情報Aを分散した分散情報群Aと、あらかじめ分散して保存された情報B(分散情報群B)との一致を判定する演算も含まれる。一致を判定する演算の方法としては、上記以外にも様々な方法が知られている。
<第1の実施形態>
図1は、本発明の第1の実施形態に係る認証システムの構成を示すブロック図である。
図1を参照すると、本実施形態に係る認証システムは、第1の情報処理装置1、および複数の第2の情報処理装置10を含む。
第1の情報処理装置1、および各第2の情報処理装置10は、それぞれインターネットや構内LAN(ローカルエリアネットワーク)等の通信ネットワーク(以下、単にネットワークと称する)1000を介して通信可能である。
第1の情報処理装置1、および、第2の情報処理装置10は、CPU(Central Processing Unit:図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、第1の情報処理装置1、および、第2の情報処理装置10の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この第1の情報処理装置1、および、第2の情報処理装置10をコンピュータによって実現したハードウェア構成例については、図10を参照して後述する。
第1の情報処理装置1は、秘密分散部2、および通信制御部3を含む。
秘密分散部2は、例えばユーザ操作などにより入力された入力情報20に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する。入力情報20は、例えば、IDパスワード認証におけるIDと対応するパスワードの組のように、認証を実行するに足る情報である。認証情報は、入力情報20に基づいて生成された情報である。認証情報は、例えば、入力情報20の一部または全部であってもよい。
通信制御部3は、第1の情報処理装置1(自装置)と各第2の情報処理装置10との間における通信を制御することができる。通信制御部3は、秘密分散部2が生成した各分散認証情報を、複数の第2の情報処理装置10のそれぞれに対して、送信する。
第2の情報処理装置10は、通信制御部11、秘密計算部12、処理実行部13、および記憶装置14を含む。記憶装置14は、分散マスター認証情報15を記憶することができる。記憶装置14は、例えば、半導体メモリ装置、またはディスク装置などにより実現される。
分散マスター認証情報15は、マスター認証情報が分散処理によって分散された複数の情報の1つである。マスター認証情報とは、認証に際して、認証情報と照合される、一方の情報である。第1の情報処理装置1において生成される認証情報は、認証に際して、マスター認証情報と照合される、他方の情報であるとも言える。マスター認証情報は、例えば、パスワードのような入力情報20に基づく認証情報に対して、一致するかどうかを照合される原本となるマスターパスワードのような情報に基づく情報である。本実施形態では、分散マスター認証情報15は、あらかじめ記憶装置14に保存される。
通信制御部11は、自装置と、第1の情報処理装置1および他の第2の情報処理装置10との間の通信を制御することができる。
秘密計算部12は、分散マスター認証情報15と、通信制御部11を介して第1の情報処理装置1から受信した分散認証情報の1つとに基づいて、他の第2の情報処理装置10との間における通信を介する秘密計算を実行する。秘密計算部12は、その秘密計算によって、分散認証情報の基である認証情報が、分散マスター認証情報15の基であるマスター認証情報と一致するかどうかを判定する。秘密計算部12が行う秘密計算は、本実施形態に含まれる第2の情報処理装置10の少なくとも一部の装置間において実行される。上述した秘密計算法の特性により、この秘密計算(一致を判定する演算)は、分散マスター認証情報15および分散認証情報をいずれか1台の第2の情報処理装置10に集めることなく実行される。
処理実行部13は、秘密計算部12による認証情報がマスター認証情報と一致するかどうかという判定(認証)の結果に応じて、所定の処理を実行する。例えば、処理実行部13は、認証情報がマスター認証情報と一致する(認証成功)と判定された場合、第1の情報処理装置1に対して、所定の情報を提供してもよい。または、処理実行部13は、単に判定の結果(すなわち、認証の成否)を、第1の情報処理装置1に対して通知してもよい。
このように、本実施形態によれば、分散された分散マスター認証情報15を、それらを個別に保管している各第2の情報処理装置10から、システムに含まれるいずれか1つの装置に集めることなく、認証することができる。
以上説明したように、本実施形態には、分散された認証情報を、それらを個別に保管している各装置から、システムに含まれるいずれか1つの装置に集めることなく認証可能な情報処理装置などを提供できるという効果がある。すなわち、本実施形態には、システムを構成するどの情報処理装置から情報漏えいが起きても、単独の情報処理装置の情報からユーザのマスター認証情報の特定ができないという効果があるとも言える。
その理由は、第2の情報処理装置10の秘密計算部12が、秘密計算によって、分散マスター認証情報15を集めることなく、第1の情報処理装置1から送られた認証情報と、マスター認証情報とが一致することを判定することができるからである。本実施形態では、認証の際に、マスター認証情報を復元できる情報を単独で扱う情報処理装置がない。また、本実施形態では、第1の情報処理装置1に成りすました端末も、分散マスター認証情報15を取得できない。
なお、本実施形態の変形例としては、以下のようなものが考えられる。
例えば、第1の情報処理装置1と、第2の情報処理装置10の1台とが、同じ情報処理装置において実装されてもよい。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。
本実施形態は、一例として、サービスアクセス情報管理システムに本発明を適用した場合を説明する。サービスアクセス情報とは、様々なサービスごとのユーザ認証の情報、および暗号鍵に関する情報などの、各サービスにアクセスする際に使用される情報の総称である。サービスアクセス情報管理システムは、一般に、パスワード管理システムなどとも呼ばれる。
図2は、本発明の第2の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。図2を参照すると、本実施形態に係るサービスアクセス情報管理システムは、クライアント(第1の情報処理装置)100、複数の分散認証装置(第2の情報処理装置)200、および、サービスアクセス情報管理装置300を含む。クライアント100は、第1の実施形態における第1の情報処理装置1を基本とする。分散認証装置200は、第1の実施形態における第2の情報処理装置10を基本とする。
分散認証装置200とサービスアクセス情報管理装置300とが、パスワード管理システムにおけるサービスアクセス情報を管理する装置(群)に対応する。「背景技術欄」において上述したように、クライアント100と、サービスアクセス情報を管理する装置(群)とが、ネットワークを介して接続されているパスワード管理システムは、特にオンラインパスワードマネージャと呼ばれる。以下では、本実施形態に係るサービスアクセス管理システムを、オンラインパスワードマネージャと言う。
まず、以下に、本実施形態におけるオンラインパスワードマネージャの処理の一例について、概要を説明する。本実施形態におけるオンラインパスワードマネージャは、一例として、ユーザ登録、サービス登録、およびサービス利用という3つの処理を実行することができる。
ユーザ登録処理において、ユーザは、オンラインパスワードマネージャを利用する際のユーザ認証に用いられる文字列であるマスターパスワード、およびユーザIDを表すユーザID情報を、オンラインパスワードマネージャに登録する。このマスターパスワードは、第1の実施形態におけるマスター認証情報の一例である。本実施形態では、ユーザは、クライアント100を介して、秘密分散法によって分散されたマスターパスワードをユーザID情報と関連付けた情報(分散マスター認証情報215)として、各分散認証装置200に対して登録する。分散マスター認証情報215は、第1の実施形態における分散マスター認証情報15を基本とする。すなわち、本実施形態におけるユーザ登録処理は、第1の実施形態における第2の情報処理装置10の記憶装置14に対して、分散マスター認証情報15を登録するという処理に対応する。ユーザ登録処理は、第1の実施形態における認証を実行可能なシステム環境を準備する処理であるとも言える。
また、ユーザ登録処理において、ユーザは、サービスアクセス情報の暗号化および復号に利用されるソルトを表すソルト情報も、オンラインパスワードマネージャに登録することができる。ソルト情報は、マスターパスワードと同様に、秘密分散法によって分散された分散ソルト情報216として、各分散認証装置200に対して登録される。以下では、分散されたソルト情報を、分散ソルト情報216と言う。
また、ユーザは、サービス登録処理、およびサービス利用処理において、クライアント100を用いて、複数のサービスに対するサービスアクセス情報を管理する。ユーザは、まず、サービス登録処理において、それらのサービスアクセス情報をオンラインパスワードマネージャに登録する。本実施形態では、ユーザは、クライアント100を介して、暗号化したサービスアクセス情報(暗号化サービスアクセス情報304)を、サービスアクセス情報管理装置300に対して登録する。そして、サービスを利用する際に、ユーザは、サービス利用処理として、オンラインパスワードマネージャから、所望のサービスに対応する暗号化サービスアクセス情報304を取得する。本実施形態では、ユーザは、クライアント100を介して、サービスアクセス情報管理装置300に登録された暗号化サービスアクセス情報304が復号されたサービスアクセス情報として取得する。
ユーザは、サービス登録処理およびサービス利用処理の初めの段階として、ユーザ登録処理によって登録したマスターパスワードおよびユーザID情報を用いて、オンラインパスワードマネージャを利用する際のユーザ認証を受ける。このユーザ認証は、第1の実施形態を基本とする認証である。すなわち、本実施形態におけるオンラインパスワードマネージャは、サービス登録処理およびサービス利用処理に含まれるユーザ認証として、第1の実施形態を基本とする認証を実行する。以下では、特に断りなく「ユーザ認証」という場合、その「ユーザ認証」という言葉は、サービス登録処理およびサービス利用処理の両方におけるユーザ認証を表す。
ユーザ認証の際、ユーザは、第1の実施形態における入力情報20の一例として、マスターパスワードと一致するようなパスワード(文字列)を入力する。このパスワードは、第1の実施形態における認証情報の一例である。なお、以下では、ユーザ認証においてユーザが入力する文字列を単に「パスワード」呼ぶことにより、ユーザ登録において登録された「マスターパスワード」と区別する。
ユーザは、そのユーザ認証が成功した場合に、各分散認証装置200から分散ソルト情報216を受信することにより、サービスアクセス情報の登録または取得を許可される。
すなわち、クライアント100は、分散ソルト情報216から復元したソルト情報を用いることにより、上述したサービスアクセス情報の暗号化および復号の各処理を実行することができる。ユーザは、復号されたサービスアクセス情報を用いて、所望のサービスを利用することができる。このようなオンラインパスワードマネージャの処理によって、ユーザは、1組のユーザID情報とマスターパスワードとを記憶していれば、様々なサービスを利用することが可能となる。
上述したように、ユーザ登録処理は、サービス登録処理およびサービス利用処理の前に行われる。すなわち、ユーザ登録処理は、認証の前に行われる。また、サービス登録処理は、サービス利用処理の前に行われる。
次に、図2を参照して、本実施形態に係るサービスアクセス情報管理システムの構成を詳細に説明する。以下では、第2の実施形態に係る特徴的な部分を中心に説明し、第1の実施形態と同様な構成を有する第2の実施形態の構成要素には、第1の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
クライアント100、各分散認証装置200、および、サービスアクセス情報管理装置300は、それぞれインターネットや構内LAN等の通信ネットワーク(以下、単にネットワークと称する)1000を介して互いに通信可能である。
クライアント100、分散認証装置200、および、サービスアクセス情報管理装置300は、CPU(図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、クライアント100、分散認証装置200、および、サービスアクセス情報管理装置300の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、このクライアント100、分散認証装置200、および、サービスアクセス情報管理装置300をコンピュータによって実現したハードウェア構成例については、図10を参照して後述する。
クライアント100は、それぞれ第1の実施形態を基本とする通信制御部3、および秘密分散部102に加えて、さらに、認証情報生成部101、暗号化部103、秘密復元部104、復号部105、入力部110、および出力部111を含む。
入力部110は、上述したオンラインパスワードマネージャの各処理においてユーザから入力される情報を受け付けることができる。すなわち、入力部110は、ユーザID、マスターパスワード(第2の入力情報)、ソルト情報(第3の入力情報)、パスワード(第1の入力情報)、およびサービスアクセス情報(第4の入力情報)を受け付けることができる。なお、上述した第1の入力情報〜第4の入力情報、およびユーザIDは、第1の実施形態における入力情報20の一例である。入力部110は、例えば、図示しないキーボード、ポインティングデバイス、またはタッチパネルなどを介して入力を受け付けてもよい。入力部110は、例えば、通信制御部3、または、図示しない通信機能によって接続される外部装置からの通信による入力を受け付けてもよい。
認証情報生成部101は、入力部110を介して入力された情報に基づいて、認証を実行するに足る情報である認証情報およびマスター認証情報を生成することができる。本実施形態におけるマスター認証情報、および認証情報は、それぞれ、第1の実施形態におけるマスター認証情報、および認証情報を基本とする。本実施形態では、認証情報生成部101は、ユーザ登録処理において、入力されたマスターパスワードに対して所定の演算を行うことにより、マスター認証情報を生成する。また、認証情報生成部101は、一例として、サービス登録処理およびサービス利用処理におけるユーザ認証の際に、入力されるパスワードに対して所定の演算を行うことにより、認証情報を生成する。
本実施形態では、認証情報生成部101は、所定の演算の一例として、マスターパスワードまたはパスワードを入力としてハッシュ値の計算を行う。すなわち、本実施形態におけるマスター認証情報、および認証情報は、それぞれハッシュ値に基づいて生成された情報である。認証情報生成部101が行う所定の演算の方法としては、上記以外にも様々な方法を採用することができる。すなわち、本実施形態における認証方法は、第1の文字列であるマスターパスワードに基づくハッシュ値と、第2の文字列である入力されたパスワードに基づくハッシュ値とが、秘密計算法によって、それぞれ分散されたまま照合されるという方法である。
秘密分散部102は、第1の実施形態における秘密分散部2を基本とする。本実施形態では、秘密分散部102は、第1の実施形態における秘密分散部2と同様に、ユーザ認証の際に認証情報生成部101によって生成される認証情報を、秘密分散法によって複数の分散認証情報に分散する。さらに、本実施形態では、秘密分散部102は、ユーザ登録処理の際に認証情報生成部101によって生成されるマスター認証情報、および入力部110を介して入力されるソルト情報も、秘密分散法によって分散する。
通信制御部3は、第1の実施形態における通信制御部3を基本とする。通信制御部3は、ユーザ認証の際に、第1の実施形態における通信制御部3と同様に、秘密分散部102が分散した各分散認証情報を複数の分散認証装置200のそれぞれに対して、ユーザID情報と関連付けて送信する。
さらに、本実施形態では、通信制御部3は、ユーザ登録処理の際に、秘密分散部102が分散した各分散マスター認証情報215、および各分散ソルト情報216を、複数の分散認証装置200のそれぞれに対して、ユーザID情報に関連付けて送信する。言い換えると、通信制御部3は、あらかじめ預けておく「預かり情報」として、各分散ソルト情報216を各分散認証装置200に対して送信する。この預かり情報は、後に、各分散認証装置200が決定した条件およびタイミングにおいて、クライアント100に対して返信される。本実施形態では、一例として、通信制御部3は、認証が成功したと判断された場合に、この預かり情報(分散ソルト情報216)を各分散認証装置200から受信する。
また、通信制御部3は、サービス登録処理およびサービス利用処理において、各分散認証装置200およびサービスアクセス情報管理装置300との間でやりとりされる各情報に関する通信を制御することができる。
秘密分散部102および通信制御部3の構造および機能は、上述した点以外は、第1の実施形態における対応する機能部と同様であるので、重複する詳細な説明は省略する。
秘密復元部104は、サービス登録処理およびサービス利用処理におけるユーザ認証が成功した場合に、各分散認証装置200から、通信制御部3を介して受信する各分散ソルト情報216を入力として、ソルト情報を復元することができる。
暗号化部103は、サービス登録処理において、入力されたサービスアクセス情報を暗号化する。以下では、暗号化されたサービスアクセス情報を、暗号化サービスアクセス情報304と言う。暗号化部103は、秘密復元部104が復元したソルト情報に基づいて生成する暗号鍵を用いて、暗号化を行う。また、暗号化部103は、通信制御部3を介して、暗号化サービスアクセス情報304を、サービスアクセス情報管理装置300に対して送信する。
復号部105は、サービス利用処理において、通信制御部3を介して、サービスアクセス情報管理装置300から取得する暗号化サービスアクセス情報304を復号する。復号部105は、秘密復元部104が復元したソルト情報に基づいて生成する復号鍵を用いて、復号を行う。暗号化方式が共通鍵方式である場合、暗号鍵と復号鍵は同じであってもよい。暗号化サービスアクセス情報304は、復号されることにより、サービス登録処理において入力されたサービスアクセス情報に戻る。
出力部111は、復号部105によって復号されたサービスアクセス情報を出力する。
出力部111は、図示しないディスプレイ、またはタッチパネルなどに対してサービスアクセス情報を表示してもよい。出力部111は、図示しない記憶装置、または、通信制御部3などを介して接続される外部装置などに対して、サービスアクセス情報を出力してもよい。出力部111は、入力部110に対して入力を受け付ける際のメッセージ表示などに利用されてもよい。
分散認証装置200は、それぞれ第1の実施形態を基本とする通信制御部11、秘密計算部212、処理実行部213、および記憶装置14に加えて、さらに、登録部201を含む。本実施形態における記憶装置14は、分散マスター認証情報215、および分散ソルト情報216を記憶することができる。記憶装置14は、例えば、半導体メモリ装置、またはディスク装置などにより実現される。本実施形態では、分散マスター認証情報215および分散ソルト情報216は、ユーザ登録の際に、登録部201によって記憶装置14に保存される。
通信制御部11は、第1の実施形態における通信制御部11を基本とする。通信制御部11は、自装置と、クライアント100および他の分散認証装置200との間の通信を制御することができる。
秘密計算部212は、第1の実施形態における秘密計算部212を基本とする。本実施形態では、秘密計算部212は、ユーザ認証において、分散マスター認証情報215と、通信制御部11を介してクライアント100から受信した分散認証情報の1つとに基づいて、他の分散認証装置200との間における通信を介する秘密計算を実行する。秘密計算部212は、その秘密計算によって、クライアント100から受信した分散認証情報の基である認証情報が、記憶装置14に保存されている分散マスター認証情報215の基であるマスター認証情報と一致するかどうかを判定する。すなわち、秘密計算部212は、サービス登録処理およびサービス利用処理のユーザ認証において入力されたパスワードに基づく認証情報が、ユーザ登録処理において入力されたマスターパスワードに基づくマスター認証情報と一致するかどうかを判定する。本実施形態における秘密計算部212は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせて実行することができる。秘密計算部212の構造および機能は、上述した点以外は、第1の実施形態と同様であるので、重複する詳細な説明は省略する。
処理実行部213は、第1の実施形態における処理実行部13を基本とする。処理実行部213は、ユーザ認証において、秘密計算部212による認証情報がマスター認証情報と一致するかどうかという判定(認証)の結果に応じて、所定の処理を実行する。本実施形態では、所定の処理の一例として、処理実行部213は、認証成功と判定された場合に、クライアント100に対して、分散ソルト情報216を送信する。言い換えると、本実施形態における処理実行部213は、認証が成功した場合に、認証の要求者に対して、あらかじめ預かっている情報である預かり情報(分散ソルト情報216)を、送信することができる。
登録部201は、ユーザ登録処理の際に、通信制御部11を介して、分散マスター認証情報215の1つ、および分散ソルト情報216の1つをクライアント100から受信する。そして、登録部201は、受信した分散マスター認証情報215の1つ、および分散ソルト情報216の1つを、それぞれユーザID情報と関連付けて、記憶装置14に保存することができる。
サービスアクセス情報管理装置300は、通信制御部301、管理部302、および記憶装置303を含む。記憶装置303は、暗号化サービスアクセス情報304を記憶することができる。暗号化サービスアクセス情報304は、サービス登録処理の際に、管理部302によって記憶装置303に保存される。
通信制御部301は、自装置と、クライアント100との間の通信を制御することができる。
管理部302は、サービス登録処理の際に、通信制御部301を介してクライアント100から受信する暗号化サービスアクセス情報304を、ユーザID情報およびサービス名情報と関連付けて、記憶装置303に保存することができる。また、管理部302は、サービス利用処理の際に、通信制御部301を介して、クライアント100に対して、暗号化サービスアクセス情報304を送信することができる。
次に、上述した構成を備える本実施形態の動作について詳細に説明する。本実施形態に係るオンラインパスワードマネージャは、上述したユーザ登録処理、サービス登録処理、およびサービス利用処理という3つの処理を行う。以下では、それぞれの処理における動作を順に説明する。
<ユーザ登録処理における動作>
以下に、図3を参照して、ユーザ登録処理における動作を説明する。図3は、第2の実施形態におけるユーザ登録処理の際に、クライアント100および各分散認証装置200が行う動作を示すフローチャートである。
まず、ユーザは、クライアント100に対して、ユーザID情報、マスターパスワードおよびソルト情報を入力する。クライアント100においては、入力部110が、ユーザID情報、マスターパスワードおよびソルト情報の入力を受け付ける(ステップA10)。これらの情報は、ユーザによる入力の代わりに、入力部110または図示しない機能部が自動生成してもよい。このマスターパスワードとユーザID情報とを組み合わせた情報の量(文字列の長さ)は、ユーザが記憶できる程度の情報量にされることが一般的である。
次に、認証情報生成部101が、入力された情報に基づいて、マスター認証情報を生成する。本実施形態では、具体例として、認証情報生成部101が、マスターパスワードのハッシュ値を計算する(ステップA11)。認証情報生成部101は、ハッシュ値の計算方法として、SHA(Secure Hash Algorithm)−1などの暗号向けのハッシュ関数、または共通鍵暗号方式を用いてもよい。また、認証情報生成部101は、ハッシュ値の計算に対する入力として、マスターパスワードの他に、例えばユーザID情報を含めてもよい。ハッシュ値の計算に対する入力として、ユーザからの入力以外に補助入力を含めてもよい。ハッシュ値の計算方法は、上述したように、よく知られた一般的な方法を用いることができるので、本実施形態における詳細な説明は省略する。
次に、秘密分散部102が、生成されたマスター認証情報、およびステップA11で入力されたソルト情報のそれぞれに対して、秘密分散法による分散処理を行う。具体的には、秘密分散部102は、マスターパスワードのハッシュ値、およびソルト情報のそれぞれに対して、分散処理を行う(ステップA12)。
次に、通信制御部3が、ユーザID情報、分散されたハッシュ値(分散マスター認証情報215)および分散されたソルト情報(分散ソルト情報216)を、各分散認証装置200に対して送信(分散)する(ステップA13)。具体的には、通信制御部3は、ユーザID情報と共に、各分散認証装置200に対して分散するように、分散マスター認証情報215の1つ、および分散ソルト情報216の1つをそれぞれ送信する。
各分散認証装置200においては、登録部201が、通信制御部11を介して、ユーザID情報、分散マスター認証情報215、および分散ソルト情報216を受信する。各登録部201は、分散マスター認証情報215、および分散ソルト情報216をユーザID情報と対応付けて、記憶装置14に保存する(ステップB20)。
以上が、ユーザ登録処理の動作である。
<サービス登録処理における動作>
以下に、図4を参照して、サービス登録処理における動作を説明する。図4は、第2の実施形態におけるサービス登録処理の際に、クライアント100、各分散認証装置200、およびサービスアクセス情報管理装置300が行う動作を示すフローチャートである。
まず、ユーザは、クライアント100に対して、ユーザ登録処理において登録したユーザID情報、パスワード、サービス名情報、およびサービスアクセス情報を入力する。サービス名情報は、ユーザが登録を行う対象であるサービスの名称を表す情報である。ユーザは、ユーザ登録処理において登録したマスターパスワードと一致するように、パスワードを入力する。クライアント100においては、入力部110が、ユーザID情報、パスワード、サービス名情報、およびサービスアクセス情報の入力を受け付ける(ステップA30)。
サービスアクセス情報は、サービス名に関連して、ユーザが外部に記憶させたい情報とすることができる。例えば、サービスアクセス情報は、ユーザが登録するサービスにおいて使用するID(サービスID)とパスワード(サービス用パスワード)とであってもよい。または、ユーザがサービスIDを記憶する運用とする場合、ユーザは、サービス用パスワードをサービスアクセス情報として登録してもよい。また、サービス用パスワードは、ユーザが用意する場合、または、サービス側が用意する場合がある。ユーザが用意する場合、ユーザは、例えば、乱数生成用のプログラム等を利用することにより、記憶するには長すぎるが、安全性が高い長さの情報をサービス用パスワードとしてもよい。
まず、クライアント100は、ユーザ認証を受ける。認証情報生成部101が、入力された情報に基づいて、認証情報を生成する(ステップA31)。具体的には、認証情報生成部101が、入力されたパスワードのハッシュ値を計算する。ハッシュ値の計算方法は、ユーザ登録処理におけるハッシュ値の計算方法(ステップA11)と同様であるので、重複する詳細な説明は省略する。
次に、秘密分散部102が、生成された認証情報(パスワードのハッシュ値)に対して、秘密分散法による分散処理を行う(ステップA32)。以下では、パスワードのハッシュ値が分散された情報を分散認証情報と言う。
次に、通信制御部3が、ユーザID情報、および分散認証情報を、各分散認証装置200に対して送信(分散)する(ステップA33)。具体的には、通信制御部3は、ユーザID情報と共に、各分散認証装置200に対して、分散認証情報の1つを各分散認証装置200に対して分散するように送信する。通信制御部3は、例えば、ユーザ登録処理のステップA13において分散マスター認証情報215を送信した送信先および送信方法などに基づいて、ユーザID情報、および分散認証情報の送信方法を決定してもよい。
各分散認証装置200においては、通信制御部11が、ユーザID情報、および分散認証情報を受信する(ステップB40)。
次に、秘密計算部212が、受信した分散認証情報および、受信したユーザID情報に対応づけて保存されている分散マスター認証情報215に基づいて、他の分散認証装置200との間における通信を介する秘密計算を実行する(ステップB41)。具体的には、秘密計算部212は、この秘密計算(演算)によって、分散認証情報の基であるパスワードのハッシュ値が、分散マスター認証情報215の基であるマスターパスワードのハッシュ値と一致するかどうかを判定する。第1の実施形態と同様に、秘密計算部212が行う秘密計算は、本実施形態に含まれる分散認証装置200の少なくとも一部の装置間において実行される。
このような計算を実行する際には、秘密計算部212は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせて実行する。秘密計算を行う演算の方法の一例として、Yehuda Lindell、 Benny Pinkas、 Nigel P. Smart、 Avishay Yanai著、 ” Efficient Constant Round Multi−Party Computation Combining BMR and SPDZ”、[Online]、Cryptology ePrint Archive、[2015年7月27日検索]、インターネット〈URL:https://eprint.iacr.org/2015/523.pdf〉において提案されている。
秘密計算部212は、上記の文献に記載されている共通鍵暗号を実行する秘密計算によって、ハッシュアルゴリズムを実行すればよい。ハッシュアルゴリズムの一例として、CMAC(Cipher−based Message Authentication Code)がよく知られている。CMACは、例えば、Morris Dworkin著、”Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication”、NIST(National Institute of Standards and Technology)、Special Publication 800−38B、2005年5月において記載されている。一致を判定する演算の方法は、「発明を実施するための形態」の項の冒頭において説明した通りであるので、重複する詳細な説明は省略する。
分散認証情報の基であるパスワードのハッシュ値が、分散マスター認証情報215の基であるマスターパスワードのハッシュ値と一致すると判定した場合、秘密計算部212は、認証が成功したと判定する。認証の判定方法は、例えば、認証処理の秘密計算に加わっている分散認証装置200のすべてにおいて、一致するという判定結果が出た場合に、認証成功としてもよい。または、認証の判定方法は、例えば、認証処理の秘密計算に加わっている分散認証装置200の多数決によって認証結果を決定してもよい。1つの秘密計算部212が、代表して認証の判定を行ってもよい。または、複数の秘密計算部212が、それぞれ認証の判定を行ってもよい。認証の判定方法は、上述した方法を含めて、様々なよく知られた一般的な技術を用いることができるので、本実施形態における詳細な説明は省略する。
秘密計算部212によって認証成功と判定された場合(ステップB42のYES)、処理実行部213が、所定の処理を実行する。具体的には、処理実行部213は、一例として、受信したユーザIDに対応づけて保存されている分散ソルト情報216を、クライアント100に対して送信する(ステップB43)。この処理は、少なくとも、ソルト情報を復元可能な分散ソルト情報216がクライアント100に対して提供されるという条件を満たす台数の分散認証装置200によって実行される。処理を実行する分散認証装置200の台数の決定方法は、よく知られた一般的な秘密分散法の技術を用いることができるので、本実施形態における詳細な説明は省略する。
秘密計算部212によって認証失敗と判定された場合(ステップB42のNO)、処理実行部213は、所定の処理を実行する。具体的には、処理実行部213は、一例として、分散ソルト情報216を送信せずに、単に処理を終了する。処理実行部213は、例えば、クライアント100に対して、認証失敗を通知してから処理を終了するなど、他の「所定の処理」を実行してもよい。
以下、認証成功した場合の動作を説明する。クライアント100では通信制御部3が、各分散認証装置200から分散ソルト情報216を受信する(ステップA34)。本実施形態では、クライアント100は、この分散ソルト情報216の受信によって、認証の成功を知ることができる。ここまでが、クライアント100が受けるユーザ認証である。
次に、秘密復元部104が、受信した複数の分散ソルト情報216に対して復元処理を行う(ステップA35)。復元処理の結果、ユーザ登録処理において入力されたソルト情報が復元される。
次に、暗号化部103が、ステップA30において、入力されたサービスアクセス情報を暗号化する(ステップA36)。具体的には、まず、暗号化部103は、入力されたパスワードと、復元されたソルト情報を鍵導出関数に入力することにより、暗号化に用いる秘密鍵を計算する。暗号化部103は、この鍵導出関数として、SHA−1のような暗号向けハッシュ関数、または、AES(Advanced Encryption Standard)のような共通鍵暗号を用いた方法を用いることができる。暗号化部103は、鍵導出関数に対する入力にサービス名などを加えることにより、サービス毎に異なる鍵となるようにしてもよい。そして、暗号化部103は、計算した秘密鍵を用いて、サービスアクセス情報を暗号化する。
暗号化部103は、通信制御部3を介して、ユーザID情報、サービス名情報、および暗号化したサービスアクセス情報(暗号化サービスアクセス情報304)を、サービスアクセス情報管理装置300に対して送信する(ステップA37)。
サービスアクセス情報管理装置300では、管理部302が、受信した暗号化サービスアクセス情報304を、ユーザID情報、およびサービス名情報と対応付けて、記憶装置303に保存する(ステップC50)。サービスアクセス情報管理装置300は、クライアント100がユーザ認証に成功していることを確認してから、暗号化サービスアクセス情報304の保存を行ってもよい。例えば、サービスアクセス情報管理装置300は、分散認証装置200のいずれかとの通信によって、ユーザ認証の結果を確認してもよい。または、暗号化サービスアクセス情報304の登録を依頼する際に、クライアント100によって付加される認証成功を証明する情報に基づいて、サービスアクセス情報管理装置300が通信を介さずに確認する方法であってもよい。ユーザ認証の結果を確認する方法は、上述した方法を含めて、様々なよく知られた一般的な技術を用いることができるので、本実施形態における詳細な説明は省略する。
以上が、サービス登録処理の動作である。
<サービス利用処理における動作>
以下に、図5を参照して、サービス利用処理における動作を説明する。図5は、第2の実施形態におけるサービス利用処理の際に、クライアント100、各分散認証装置200、およびサービスアクセス情報管理装置300が行う動作を示すフローチャートである。
まず、ユーザは、クライアント100に対して、ユーザID情報、パスワード、およびサービス名情報を入力する。サービス名情報は、ユーザが、例えば、利用したいサービスの名称など、サービスアクセス情報を取得したいサービスの名称を表す情報である。ユーザは、サービス登録処理の際と同様に、ユーザID情報およびパスワードを入力する。クライアント100においては、入力部110が、ユーザID情報、パスワード、およびサービス名情報の入力を受け付ける(ステップA60)。
サービス登録処理と同様に、クライアント100は、まず、ユーザ認証を受ける。そして、ユーザ認証が成功した場合、クライアント100は、分散ソルト情報に対する復元処理によってソルト情報を復元する。ユーザ認証の各ステップ(ステップA31〜A34、およびステップB40〜B43)、およびソルト情報の復元処理(ステップA35)は、サービス登録処理と同様であるので、重複する詳細な説明は省略する。
ソルト情報の復元処理(ステップA35)の後、復号部105が、サービスアクセス情報管理装置300に対して、暗号化サービスアクセス情報304を要求する(ステップA61)。具体的には、復号部105は、ユーザID情報およびサービス名情報をサービスアクセス情報管理装置300に通知することにより、対応する暗号化サービスアクセス情報304の送付を依頼する。
サービスアクセス情報管理装置300では、管理部302が、クライアント100の要求に基づいて、ユーザID情報およびサービス名情報に対応する暗号化サービスアクセス情報304を、クライアント100に対して送信する(ステップC70)。サービスアクセス情報管理装置300は、クライアント100がユーザ認証に成功していることを確認してから、暗号化サービスアクセス情報304の送信を行ってもよい。ユーザ認証の結果を確認する方法は、サービス登録処理のステップC50と同様であるので、重複する詳細な説明は省略する。または、正当な(認証成功する)クライアント100でなければ復号ができないので、サービスアクセス情報管理装置300は、ユーザ認証の成功を確認せずに、暗号化サービスアクセス情報304の送信を行ってもよい。
クライアント100では、復号部105が暗号化サービスアクセス情報304を受信する。そして、復号部105は、受信した暗号化サービスアクセス情報304を復号する(ステップA62)。具体的には、復号部105は、サービス登録処理のステップA36と同様に、秘密鍵を計算する。そして、復号部105は、計算した秘密鍵を用いて、暗号化サービスアクセス情報304を復号する。復号した結果として、復号部105は、サービス登録処理において入力したサービスアクセス情報と同じ情報を得ることができる。
最後に、出力部111が、復号されたサービスアクセス情報を出力する(ステップA63)。ユーザは、出力されたサービスアクセス情報を用いて、所望のサービスを利用することができる。
以上がサービス利用処理の動作である。
以上、説明したように、本実施形態には、上述した第1の実施形態と同様の効果に加えて、さらに、マスターパスワードの安全性を向上することができるという効果がある。
その理由は、ユーザ登録処理の際、クライアント100の秘密分散部102が、マスターパスワードそのものではなく、認証情報生成部101を介して計算したマスターパスワードのハッシュ値を、分散マスター認証情報215の基とするからである。
また、本実施形態には、サービスアクセス情報を安全に管理することができるという効果もある。
その理由は、ユーザ登録処理において、クライアント100において、秘密分散部102が、ソルト情報を秘密分散法によって分散した分散ソルト情報216を生成するからである。そして、サービス登録処理において、秘密復元部104が、各分散認証装置200に保存された分散ソルト情報216を収集(取得)し、それらの分散ソルト情報216をソルト情報として復元するからである。すなわち、本実施形態では、オンラインパスワードマネージャを構成するどの情報処理装置から情報漏えいが起きても、その情報は暗号化サービスアクセス情報304の復号に必要なソルト情報の特定に利用できないという効果がある。
また、本実施形態には、ユーザが1組のユーザID情報とパスワードとを記憶しておけば、様々なサービスを利用することが可能となるという効果がある。
その理由は、複数の分散認証装置200が、1組のユーザID情報とパスワードとによるユーザ認証が成功した後に、暗号化サービスアクセス情報304を復号する秘密鍵の生成に必要な分散ソルト情報216を、クライアント100に提供するからである。クライアント100は、その分散ソルト情報216を復号したソルト情報に基づいて、暗号化サービスアクセス情報304を復号することにより、様々なサービスに対するサービスアクセス情報を取得することができる。
また、本実施形態には、クライアント100を容易に提供できるという効果がある。
その理由は、クライアント100は、パスワードおよびソルト情報のような秘密を要する情報を何も管理(保存)する必要がないからである。したがって、クライアント100の機能は、様々な端末に容易に導入することができるという効果が期待できる。
なお、本実施形態の変形例としては、以下のようなものが考えられる。
例えば、クライアント100と、分散認証装置200の1台とが、同じ情報処理装置において実装されてもよい。また、サービスアクセス情報管理装置300と、分散認証装置200の1台とが、同じ情報処理装置において実装されてもよい。
また、マスター認証情報および認証情報は、第1の実施形態と同様に、入力されたマスターパスワードおよびパスワードの全部または一部がそのまま用いられてもよい。
また、一部の処理の順番は、上述した通りでなくてもよい。例えば、入力部110は、上述した以外のタイミングで一部の情報を受け付けてもよい。すなわち、入力部110は、ユーザID情報およびパスワード以外の情報を、図4のステップA30、または図5のステップA60ではなく、ユーザ認証の成功が判明した後に、改めて受け付けてもよい。
また、例えば、サービス利用処理において、秘密復元部104は、分散ソルト情報216の復元(図5のステップA35)を、暗号化サービスアクセス情報304を復号する(ステップA62)までのいずれかのタイミングで実行してもよい。
<第3の実施形態>
次に、上述した第2の実施形態を基本とする第3の実施形態について説明する。以下では、第3の実施形態に係る特徴的な部分を中心に説明し、第2の実施形態と同様な構成を有する第3の実施形態の構成要素には、第2の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
図6は、本発明の第3の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。図6を参照すると、本実施形態に係るサービスアクセス情報管理システムは、クライアント(第1の情報処理装置)400、および複数の分散認証装置(第2の情報処理装置)500を含む。クライアント400は、第2の実施形態におけるクライアント100を基本とする。分散認証装置500は、第2の実施形態における分散認証装置200を基本とする。
本実施形態は、サービスアクセス情報を分散して管理する点が、第2の実施形態と異なる。第2の実施形態において、サービスアクセス情報は、暗号技術によって保護されている。しかし、本実施形態では、サービスアクセス情報は、暗号技術に替えて、秘密分散法を適用して分散することにより保護される。本実施形態では、一例として、分散されたサービスアクセス情報が、分散マスター認証情報215と共に、各分散認証装置500に保存される。したがって、本実施形態では、サービスアクセス情報管理装置300に対応する装置を含まない点も、第2の実施形態と異なる。
本実施形態に係るサービスアクセス情報管理システムは、第2の実施形態と同様に、オンラインパスワードマネージャであるとも言える。本実施形態に係るオンラインパスワードマネージャも、第2の実施形態と同様に、ユーザ登録、サービス登録、およびサービス利用の3つの処理を実行できる。
クライアント400、および各分散認証装置500は、それぞれインターネットや構内LAN等のネットワーク1000を介して互いに通信可能である。
クライアント400、および、分散認証装置500は、CPU(図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、クライアント400、および、分散認証装置500の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、このクライアント400、および、分散認証装置500をコンピュータによって実現したハードウェア構成例については、図10を参照して後述する。
クライアント400は、それぞれ第2の実施形態を基本とする通信制御部3、認証情報生成部101、秘密分散部402、秘密復元部404、入力部410、および出力部111を含む。認証情報生成部101、および出力部111の構造および機能は、第2の実施形態と同様であるので、重複する説明は省略する。
入力部410は、ソルト情報の入力を受けない点が、第2の実施形態と異なる。すなわち、入力部410は、ユーザID、マスターパスワード(第2の入力情報)、パスワード(第1の入力情報)、およびサービスアクセス情報(第3の入力情報)を受け付けることができる。秘密分散部402、および秘密復元部404は、ソルト情報に替えて、サービスアクセス情報を秘密分散法の分散処理または復元処理の対象とする点が、第2の実施形態と異なる。また、通信制御部3は、分散ソルト情報216に替えて、分散サービスアクセス情報517を各分散認証装置500に対して送受信する点、および、暗号化サービスアクセス情報304を扱わない点が、第2の実施形態と異なる。
すなわち、サービス登録処理において、秘密分散部402が、分散処理によって、サービスアクセス情報が分散された情報である分散サービスアクセス情報517として分散する。そして、サービス利用処理において、秘密復元部404が、各分散認証装置500から受信した分散サービスアクセス情報517を復元処理によってサービスアクセス情報として復元する。入力部410、秘密分散部402、秘密復元部404、および通信制御部3の構造及び機能は、上述した点以外は第2の実施形態と同様であるので、重複する詳細な説明は省略する。
分散認証装置500は、それぞれ第2の実施形態を基本とする通信制御部11、秘密計算部212、処理実行部513、登録部501、および記憶装置14を含む。秘密計算部212の構造および機能は、第2の実施形態と同様であるので、重複する詳細な説明は省略する。
秘密計算部212以外の各部(通信制御部11、処理実行部513、登録部501、および記憶装置14)は、分散ソルト情報216に替えて、分散サービスアクセス情報517を扱う点が、第2の実施形態と異なる。すなわち、記憶装置14は、分散マスター認証情報215、および分散サービスアクセス情報517を記憶することができる。通信制御部11は、分散ソルト情報216に替えて、分散サービスアクセス情報517をクライアント400との間で送受信する。登録部501は、ユーザ登録処理ではなく、サービス登録処理において分散サービスアクセス情報517を受信し、それを記憶装置14に保存する。処理実行部513は、ユーザ認証が成功した場合における所定の処理の一例として、分散ソルト情報216に替えて、分散サービスアクセス情報517をクライアント400に対して送信する。
言い換えると、分散サービスアクセス情報517は、第2の実施形態における預かり情報に対応する。本実施形態においても、この預かり情報は、後に、各分散認証装置500が決定した条件およびタイミングにおいて、クライアント400に対して返信される。本実施形態では、一例として、通信制御部3は、認証が成功したと判断された場合に、この預かり情報(分散サービスアクセス情報517)を各分散認証装置500から受信する。
ただし、本実施形態では、各分散認証装置500から受信した複数の預かり情報は、秘密復元部404によってサービスアクセス情報として復元される。そして、秘密復元部404は、復元したサービスアクセス情報を、出力部111を介して出力する。
次に、上述した構成を備える本実施形態の動作について詳細に説明する。以下では、第2の実施形態と同様の動作については重複する説明を省略し、簡潔に説明する。上述したように、本実施形態に係るオンラインパスワードマネージャも、ユーザ登録処理、サービス登録処理、およびサービス利用処理という3つの処理を行う。以下では、それぞれの処理における動作を順に説明する。
<ユーザ登録処理における動作>
以下に、図7を参照して、ユーザ登録処理における動作を説明する。図7は、第3の実施形態におけるユーザ登録処理の際に、クライアント400および各分散認証装置500が行う動作を示すフローチャートである。
まず、ユーザは、クライアント400に対して、ユーザID情報、およびマスターパスワードを入力する。クライアント400においては、入力部410が、ユーザID情報、およびマスターパスワードの入力を受け付ける(ステップA100)。
次に、認証情報生成部101が、入力された情報に基づいて、マスター認証情報を生成する。第2の実施形態と同様に、認証情報生成部101が、マスターパスワードのハッシュ値を計算する(ステップA101)。
次に、秘密分散部402が、生成されたマスター認証情報に対して、秘密分散法による分散処理を行う(ステップA102)。
次に、通信制御部3が、ユーザID情報、および分散されたハッシュ値(分散マスター認証情報215)を、各分散認証装置500に対して送信(分散)する(ステップA103)。
各分散認証装置500においては、登録部501が、通信制御部11を介して、ユーザID情報、および分散マスター認証情報215を受信する。各登録部501は、分散マスター認証情報215をユーザID情報と対応付けて、記憶装置14に保存する(ステップB110)。
以上が、ユーザ登録処理の動作である。
<サービス登録処理における動作>
以下に、図8を参照して、サービス登録処理における動作を説明する。図8は、第3の実施形態におけるサービス登録処理の際に、クライアント400、および各分散認証装置500が行う動作を示すフローチャートである。
まず、ユーザは、クライアント400に対して、ユーザ登録処理において登録したユーザID情報、パスワード、サービス名情報、およびサービスアクセス情報を入力する。この後、クライアント400における入力部410の入力の受け付け(ステップA30)、およびユーザ認証の結果判定までの各ステップ(ステップA31〜A33、およびステップB40〜B42)は、第2の実施形態と同様であるので、重複する詳細な説明は省略する。
秘密計算部212によって認証成功と判定された場合(ステップB42のYES)、処理実行部513が、所定の処理を実行する。具体的には、処理実行部513は、一例として、クライアント400に対して、認証結果(成功)を通知する(ステップB130)。
この通知は、少なくとも1台の分散認証装置500が実行すればよい。秘密計算部212によって認証失敗と判定された場合(ステップB42のNO)、処理実行部513は、一例として、認証結果(失敗)を送信せずに、単に処理を終了してもよい。
以下、認証成功した場合の動作を説明する。クライアント400では、通信制御部3が、少なくとも1台の分散認証装置500から認証結果(成功)の通知を受信する(ステップA120)。本実施形態では、クライアント400は、この認証結果(成功)の通知の受信によって、認証の成功を知ることができる。ここまでが、クライアント400が受けるユーザ認証である。
次に、秘密分散部402が、入力されたサービスアクセス情報に対して、秘密分散法による分散処理を行う(ステップA121)。
次に、通信制御部3が、ユーザID情報、サービス名情報、および分散されたサービスアクセス情報(分散サービスアクセス情報517)を、各分散認証装置500に対して送信(分散)する(ステップA122)。
各分散認証装置500においては、登録部501が、通信制御部11を介して、ユーザID情報、サービス名情報、および分散サービスアクセス情報517を受信する。各登録部501は、分散サービスアクセス情報517をユーザID情報およびサービス名情報と対応付けて、記憶装置14に保存する(ステップB131)。
以上が、サービス登録処理の動作である。
<サービス利用処理における動作>
以下に、図9を参照して、サービス利用処理における動作を説明する。図9は、第3の実施形態におけるサービス利用処理の際に、クライアント400、および各分散認証装置500が行う動作を示すフローチャートである。
まず、ユーザは、クライアント400に対して、ユーザID情報、パスワード、およびサービス名情報を入力する。この後、クライアント400における入力部410の入力の受け付け(ステップA60)、およびユーザ認証の結果判定までの各ステップ(ステップA31〜A33、およびステップB40〜B42)は、基本的に第2の実施形態と同様である。ただし、クライアント400から各分散装置500に対して送信する情報として、サービス名情報が加わる(ステップA140)。各分散認証装置500では、サービス名情報も受信する(ステップB150)。第2の実施形態と特に違いがない動作(ステップA60、A31、A32、B41、およびB42)については、重複する詳細な説明は省略する。
秘密計算部212によって認証成功と判定された場合(ステップB42のYES)、処理実行部513が、所定の処理を実行する。具体的には、処理実行部513は、一例として、クライアント400に対して、ユーザID情報およびサービス名情報に対応する分散サービスアクセス情報517を送信する(ステップB151)。
クライアント400では、通信制御部3が、各分散認証装置500から分散サービスアクセス情報517を受信する(ステップA141)。
次に、秘密復元部404が、受信した複数の分散サービスアクセス情報517に対して復元処理を行う(ステップA142)。復元処理の結果、サービス登録処理において入力されたサービスアクセス情報が復元される。
最後に、出力部111が、復元されたサービスアクセス情報を出力する(ステップA143)。ユーザは、出力されたサービスアクセス情報を用いて、所望のサービスを利用することができる。
以上がサービス利用処理の動作である。
以上、説明したように、本実施形態には、上述した第2の実施形態と同様の効果に加えて、さらに、サービスアクセス情報を安全に管理することができるという効果もある。
その理由は、サービス登録の際、クライアント400において、秘密分散部402が、秘密分散法によって、サービスアクセス情報を分散した分散サービスアクセス情報517を、各分散認証装置500に分散して保存するからである。すなわち、本実施形態では、本システムを構成するどの分散認証装置500から情報漏えいが起きても、その情報はサービスアクセス情報の特定に利用できないという効果があると言える。
また、本実施形態には、上述した第2の実施形態に比べて、システム構成を簡易にすることができるという効果もある。
その理由は、本実施形態では、第2の実施形態におけるサービスアクセス情報管理装置300が不要だからである。 なお、本実施形態の変形例としては、以下のようなものが考えられる。
例えば、クライアント400と、分散認証装置500の1台とが、同じ情報処理装置において実装されてもよい。
また、マスター認証情報および認証情報は、第1の実施形態と同様に、入力されたマスターパスワードおよびパスワードの全部または一部がそのまま用いられてもよい。
また、一部の処理の順番は、上述した通りでなくてもよい。例えば、入力部410は、上述した以外のタイミングで一部の情報を受け付けてもよい。すなわち、入力部410は、ユーザID情報およびパスワード以外の情報を、図8のステップA30、または図9のステップA60ではなく、ユーザ認証の成功が判明した後に、改めて受け付けてもよい。
この場合、サービス利用処理(図9)でも、分散認証装置500による認証結果(成功)の通知を行ってもよい。その後に、クライアント400の通信制御部3が、各分散認証装置500に対して、サービス名情報を送信してもよい。
<HW構成説明例>
なお、上述した各実施形態において図1、図2および図6に示した各部は、それぞれ独立したハードウェア回路で構成されていてもよいし、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。ただし、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。このような場合のハードウェア環境の一例を、図10を参照して説明する。
図10は、本発明の各実施形態、および、その変形例に係る認証システムおよびサービスアクセス情報管理システムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。すなわち、図10は、上述した各実施形態における第1の情報処理装置1、100および400、第2の情報処理装置10、200および500、またはサービスアクセス情報管理装置300の少なくとも何れかを実現可能なコンピュータの構成であって、上述した各実施形態における各機能を実現可能なハードウェア環境を示す。
図10に示したコンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903、通信インタフェース(IF)904、ディスプレイ905、およびハードディスク装置(HDD)906を備え、これらがバス907を介して接続された構成を含む。なお、図10に示したコンピュータが第1の情報処理装置1、100および400、第2の情報処理装置10、200および500、またはサービスアクセス情報管理装置300として機能する場合、ディスプレイ905は常時設けられる必要はない。
また、通信インタフェース904は、上述した各実施形態において、当該各コンピュータ間における通信を実現する一般的な通信手段である。ハードディスク装置906には、プログラム群906Aと、各種の記憶情報906Bとが格納されている。プログラム群906Aは、例えば、上述した図1、図2および図6に示した各ブロック(各部)に対応する機能を実現するためのコンピュータ・プログラムである。各種の記憶情報906Bは、例えば、図1、図2および図6に示した分散マスター認証情報15および215、分散ソルト情報216、暗号化サービスアクセス情報304、および分散サービスアクセス情報517などである。このようなハードウェア構成において、CPU901は、コンピュータ900の全体の動作を司る。
そして、上述した各実施形態を例に説明した本発明は、各実施形態の説明において参照したブロック構成図(図1、図2および図6)あるいはフローチャート(図3乃至図5、および図7乃至図9)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのCPU901に読み出して実行することによって達成される。また、このコンピュータ内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリであるRAM903またはハードディスク装置906などの不揮発性の記憶デバイス(記憶媒体)に格納すれば良い。
また、上記の場合において、当該各装置内へのコンピュータ・プログラムの供給方法は、フロッピーディスク(登録商標)またはCD−ROM(Compact Disc−ROM)などの各種記録媒体を介して当該装置内にインストールする方法のように、現在では一般的な手順を採用することができる。当該各装置内へのコンピュータ・プログラムの供給方法としては、インターネット等の通信ネットワーク1000を介して外部よりダウンロードする方法も一般的である。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
なお、上述した実施形態及びその変形例の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその変形例により例示的に説明した本発明は、以下には限らない。即ち、
(付記1)
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の1つと、
通信を介して接続される第1の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の1つとに基づいて、
他の第2の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算手段と、
前記判定の結果に応じて所定の処理を実行する処理実行手段と
を含む第2の情報処理装置。
(付記2)
前記第1の情報処理装置から、受信した前記分散マスター認証情報の1つを記憶装置に保存する登録手段を、さらに含み、
前記秘密計算手段は、前記記憶装置から読み出した前記分散マスター認証情報の1つに基づいて、前記秘密計算を実行する
付記1記載の第2の情報処理装置。
(付記3)
前記登録手段は、前記第1の情報処理装置から、あらかじめ預かっておく情報である預かり情報を受信し、受信した前記預かり情報を記憶装置に保存し、
前記処理実行手段は、前記判定の結果が、前記認証情報と前記マスター認証情報とが一致したことを表す認証成功である場合に、前記所定の処理として、前記預かり情報を、前記第1の情報処理装置に対して送信する
付記2記載の第2の情報処理装置。
(付記4)
前記マスター認証情報は、第1の文字列に基づくハッシュ値であり、
前記認証情報は、第2の文字列に基づくハッシュ値であり、
前記秘密計算手段は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
付記1乃至3のいずれか1つに記載の第2の情報処理装置。
(付記5)
前記マスター認証情報は、文字列を含むマスターパスワードであり、
前記認証情報は前記第1の情報処理装置に対して入力された文字列を含むパスワードである
付記1乃至4のいずれか1つに記載の第2の情報処理装置。
(付記6)
前記預かり情報は、前記第1の情報処理装置における暗号処理に係るソルト情報が秘密分散法によって分散された情報の1つである
付記3乃至5のいずれか1つに記載の第2の情報処理装置。
(付記7)
複数の、付記1乃至6のいずれか1つに記載の第2の情報処理装置を含むシステムに接続される第1の情報処理装置において、
入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散手段と、
前記複数の第2の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御手段と
を含む第1の情報処理装置。
(付記8)
入力された第2の入力情報に基づいて前記マスター認証情報を生成し、前記第1の入力情報に基づいて前記認証情報を生成する認証情報生成手段を、さらに含み、
前記秘密分散手段は、生成された前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に分散する処理をさらに行い、
前記通信制御手段は、前記複数の第2の情報処理装置に対して、前記各分散マスター認証情報を分散するように送信する処理をさらに行う
付記7記載の第1の情報処理装置。
(付記9)
前記認証情報生成手段は、前記第2の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、前記第1の入力情報に基づくハッシュ値を前記認証情報として生成する
付記8記載の第1の情報処理装置。
(付記10)
前記秘密分散手段は、入力された第3の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理をさらに行い、
前記通信制御手段は、さらに、前記複数の第2の情報処理装置に対して、前記各預かり情報を分散するように送信し、前記複数の第2の情報処理装置から前記各預かり情報を受信し、
受信した複数の前記預かり情報を、秘密分散法によって、前記第3の入力情報に復元し、復元した前記第3の入力情報を出力する秘密復元手段を、さらに含む
付記7乃至9のいずれか1つに記載の第1の情報処理装置。
(付記11)
前記復元された第3の入力情報に基づいて暗号鍵を生成し、入力された第4の入力情報を前記暗号鍵を用いて暗号化する暗号化手段を、さらに含み、
前記通信制御手段は、さらに、前記暗号化された第4の入力情報を、第3の情報処理装置に対して送信し、前記複数の第2の情報処理装置から前記預かり情報を受信した場合に、前記第3の情報処理装置から前記暗号化された第4の入力情報を受信し、
前記復元された第3の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第4の入力情報を、前記復号鍵によって、前記第4の入力情報に復号し、復号した前記第4の入力情報を出力する復号手段を、さらに含む
付記10記載の第1の情報処理装置。
(付記12)
前記第1の入力情報は、認証に際して入力された文字列を含むパスワードである
付記7乃至11のいずれか1つに記載の第1の情報処理装置。
(付記13)
前記第2の入力情報は、認証より前に入力された文字列を含むマスターパスワードである
付記8乃至12のいずれか1つに記載の第1の情報処理装置。
(付記14)
前記第3の入力情報は、サービスにアクセスする際に使用される情報であるサービスアクセス情報である
付記10、12、または13のいずれか1つに記載の第1の情報処理装置。
(付記15)
前記第3の入力情報は、前記暗号鍵および前記復号鍵の生成に用いられるソルト情報であり、
前記第4の入力情報は、サービスにアクセスする際に使用される情報であるサービスアクセス情報である
付記11乃至13のいずれか1つに記載の第1の情報処理装置。
(付記16)
付記7乃至15のいずれか1つに記載の第1の情報処理装置と、
前記第1の情報処理装置と接続される付記1乃至6のいずれか1つに記載の複数の第2の情報処理装置とを含む認証システム。
(付記17)
前記第1の情報処理装置として、付記11または15記載の第1の情報処理装置を含み、
さらに、前記第3の情報処理装置を含む
付記16記載の認証システム。
(付記18)
第1の情報処理装置に対して入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散し、
認証に際して照合される情報であるマスター認証情報が秘密分散法によって分散された情報である各分散マスター認証情報を分散してあらかじめ保存する、複数の第2の情報処理装置に対して、前記第1の情報処理装置から、前記各分散認証情報を分散するように送信し、
前記第1の情報処理装置から受信した前記分散認証情報と、前記分散マスター認証情報とに基づいて、前記複数の第2の情報処理装置の少なくとも一部の装置間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定し、
前記秘密計算を実行した前記複数の第2の情報処理装置の少なくとも1つが、前記判定の結果に応じて所定の処理を実行する
認証方法。
(付記19)
前記第1の情報処理装置に対して入力された第2の入力情報に基づいて前記マスター認証情報を、さらに生成し、
前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に、さらに分散し、
前記複数の第2の情報処理装置に対して、前記第1の情報処理装置から、前記各分散マスター認証情報を分散するように、さらに送信し、
前記各第2の情報処理装置において、前記第1の情報処理装置から受信した前記分散マスター認証情報を、さらに保存する
付記18記載の認証方法。
(付記20)
前記第2の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、
前記第1の入力情報に基づくハッシュ値を前記認証情報として生成し、
ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
付記19記載の認証方法。
(付記21)
前記第1の情報処理装置に対して入力された第3の入力情報を、秘密分散法によって複数の預かり情報として、さらに分散し、
前記複数の第2の情報処理装置に対して、前記第1の情報処理装置から、前記各預かり情報を分散するように、さらに送信し、
前記各第2の情報処理装置において、前記第1の情報処理装置から受信した前記預かり情報を、さらに保存し、
前記所定の処理として、前記複数の第2の情報処理装置の少なくとも1つから、保存された前記預かり情報を、前記第1の情報処理装置に対して送信し、
受信した複数の前記預かり情報を、秘密分散法によって、前記第3の入力情報に、さらに復元し、
復元した前記第3の入力情報を、さらに出力する
付記18乃至20のいずれか1つに記載の認証方法。
(付記22)
前記復元された第3の入力情報に基づいて暗号鍵を、さらに生成し、
前記第1の情報処理装置に対して入力された第4の入力情報を前記暗号鍵を用いて、さらに暗号化し、
前記暗号化された第4の入力情報を、第3の情報処理装置に対して、さらに送信し、
前記複数の第2の情報処理装置から前記預かり情報を受信した場合に、前記第3の情報処理装置から前記暗号化された第4の入力情報を、さらに受信し、
前記復元された第3の入力情報に基づいて、復号鍵を、さらに生成し、
受信した前記暗号化された第4の入力情報を、前記復号鍵によって、前記第4の入力情報に、さらに復号し、
復号した前記第4の入力情報を、さらに出力する
付記21記載の認証方法。
(付記23)
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の1つと、
通信を介して接続される第1の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の1つとに基づいて、
他の第2の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算処理と、
前記判定の結果に応じて所定の処理を実行する判定実行処理と
を第2の情報処理装置であるコンピュータに実行させる第1のコンピュータ・プログラムを記録する記録媒体。
(付記24)
前記第1の情報処理装置から、受信した前記分散マスター認証情報の1つを記憶装置に保存する登録処理を、さらに含み、
前記秘密計算処理において、前記記憶装置から読み出した前記分散マスター認証情報の1つに基づいて、前記秘密計算を実行する
付記23記載の第1のコンピュータ・プログラムを記録する記録媒体。
(付記25)
前記第1の情報処理装置から、あらかじめ預かっておく情報である預かり情報を受信し、受信した前記預かり情報を記憶装置に保存する預かり情報登録処理を、さらに含み、
前記判定実行処理において、前記判定の結果が、前記認証情報と前記マスター認証情報とが一致したことを表す認証成功である場合に、前記所定の処理として、前記預かり情報を、前記第1の情報処理装置に対して送信する
付記23または24記載の第1のコンピュータ・プログラムを記録する記録媒体。
(付記26)
前記マスター認証情報は、第1の文字列に基づくハッシュ値であり、
前記認証情報は、第2の文字列に基づくハッシュ値であり、
前記秘密計算処理において、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
付記23乃至25のいずれか1つに記載の第1のコンピュータ・プログラムを記録する記録媒体。
(付記27)
入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散処理と、
付記23乃至26のいずれか1つに記載の第1のコンピュータ・プログラムが実行される、複数の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御処理と
をコンピュータに実行させる第2のコンピュータ・プログラムを記録する記録媒体。
(付記28)
入力された第2の入力情報に基づいて前記マスター認証情報を生成し、前記第1の入力情報に基づいて前記認証情報を生成する認証情報生成処理と、
生成された前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に分散する処理と、
前記複数の情報処理装置に対して、前記各分散マスター認証情報を分散するように送信する処理とを、さらにコンピュータに実行させる
付記27記載の第2のコンピュータ・プログラムを記録する記録媒体。
(付記29)
前記認証情報生成処理において、前記第2の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、前記第1の入力情報に基づくハッシュ値を前記認証情報として生成する
付記28記載の第2のコンピュータ・プログラムを記録する記録媒体。
(付記30)
入力された第3の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理と
前記複数の情報処理装置に対して、前記各預かり情報を分散するように送信する処理とをさらにコンピュータに実行させ、
前記複数の情報処理装置から前記各預かり情報を受信した場合に、
受信した複数の前記預かり情報を、秘密分散法によって、前記第3の入力情報に復元し、復元した前記第3の入力情報を、さらに出力する
付記27乃至29のいずれか1つに記載の第2のコンピュータ・プログラムを記録する記録媒体。
(付記31)
前記復元された第3の入力情報に基づいて暗号鍵を生成し、入力された第4の入力情報を前記暗号鍵を用いて暗号化する暗号化処理と、
前記暗号化された第4の入力情報を、第3の情報処理装置に対して送信する処理と、
前記複数の第2の情報処理装置から前記預かり情報を受信した場合に、前記第3の情報処理装置から前記暗号化された第4の入力情報を受信する処理と、
前記復元された第3の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第4の入力情報を、前記復号鍵によって、前記第4の入力情報に復号し、復号した前記第4の入力情報を出力する復号処理とを、さらにコンピュータに実行させる
付記30記載の第2のコンピュータ・プログラムを記録する記録媒体。
この出願は、2015年8月26日に出願された日本出願特願2015−166696を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 第1の情報処理装置
2、102、402 秘密分散部
3、11、301 通信制御部
10 第2の情報処理装置
12、212 秘密計算部
13、213、513 処理実行部
14、303 記憶装置
15、215 分散マスター認証情報
20 入力情報
100、400 クライアント(第1の情報処理装置)
101 認証情報生成部
103 暗号化部
104、404 秘密復元部
105 復号部
110、410 入力部
111 出力部
200、500 分散認証装置(第2の情報処理装置)
201、501 登録部
216 分散ソルト情報
300 サービスアクセス情報管理装置
302 管理部
304 暗号化サービスアクセス情報
517 分散サービスアクセス情報

Claims (8)

  1. 第1の情報処理装置から、預かり情報として、前記第1の情報処理装置における暗号処理に係るソルト情報が秘密分散法によって分散された情報の1つである分散ソルト情報を受信し、あらかじめ記憶装置に保存する登録手段と、
    あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の1つと、
    通信を介して接続される前記第1の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の1つとに基づいて、
    他の第2の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算手段と、
    前記判定の結果に応じて所定の処理を実行する処理実行手段と
    を含み、
    前記処理実行手段は、前記認証情報と前記マスター認証情報とが一致した場合に、前記所定の処理として、前記預かり情報を、前記第1の情報処理装置に対して送信する、第2の情報処理装置。
  2. 前記登録手段は、前記第1の情報処理装置から受信した前記分散マスター認証情報の1つを記憶装置に保存
    前記秘密計算手段は、前記記憶装置から読み出した前記分散マスター認証情報の1つに基づいて、前記秘密計算を実行する
    請求項1記載の第2の情報処理装置。
  3. 請求項1又は2に記載の第2の情報処理装置を複数含むシステムに接続される第1の情報処理装置において、
    入力された第1の入力情報に基づく前記認証情報を、秘密分散法によって複数の前記分散認証情報に分散する秘密分散手段と、
    前記複数の第2の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御手段と
    を含み、
    前記秘密分散手段は、入力された第3の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理をさらに行い、
    前記通信制御手段は、さらに、前記複数の第2の情報処理装置に対して、前記各預かり情報を分散するように送信する、第1の情報処理装置。
  4. 前記通信制御手段は、さらに、前記複数の第2の情報処理装置から前記各預かり情報を受信し、
    受信した複数の前記預かり情報を、秘密分散法によって、前記第3の入力情報に復元し、復元した前記第3の入力情報を出力する秘密復元手段を、さらに含む
    請求項に記載の第1の情報処理装置。
  5. 元された前記第3の入力情報に基づいて暗号鍵を生成し、入力された第4の入力情報を前記暗号鍵を用いて暗号化する暗号化手段を、さらに含み、
    前記通信制御手段は、さらに、前記暗号化された第4の入力情報を、第3の情報処理装置に対して送信し、前記複数の第2の情報処理装置から前記預かり情報を受信した場合に、前記第3の情報処理装置から前記暗号化された第4の入力情報を受信し、
    前記復元された第3の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第4の入力情報を、前記復号鍵によって、前記第4の入力情報に復号し、復号した前記第4の入力情報を出力する復号手段を、さらに含む
    請求項4に記載の第1の情報処理装置。
  6. 請求項乃至のいずれか1つに記載の第1の情報処理装置と、
    前記第1の情報処理装置と接続される請求項1又は2に記載の複数の第2の情報処理装置とを含む認証システム。
  7. 第1の情報処理装置に対して入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散し、
    前記第1の情報処理装置から受信した前記第1の情報処理装置における暗号処理に係るソルト情報が秘密分散法によって分散された情報である各分散ソルト情報と、認証に際して照合される情報であるマスター認証情報が秘密分散法によって分散された情報である各分散マスター認証情報を分散してあらかじめ保存する、複数の第2の情報処理装置に対して、前記第1の情報処理装置から、前記各分散認証情報を分散するように送信し、
    前記第1の情報処理装置から受信した前記分散認証情報と、前記分散マスター認証情報とに基づいて、前記複数の第2の情報処理装置の少なくとも一部の装置間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定し、
    前記秘密計算を実行した前記複数の第2の情報処理装置の少なくとも1つが、前記判定の結果に応じて所定の処理を実行し、前記認証情報と前記マスター認証情報とが一致した場合に、前記所定の処理として、前記分散ソルト情報を、前記第1の情報処理装置に対して送信する
    認証方法。
  8. 第1の情報処理装置から、前記第1の情報処理装置における暗号処理に係るソルト情報が秘密分散法によって分散された情報の1つである分散ソルト情報を受信し、あらかじめ記憶装置に保存する登録処理と、
    あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の1つと、
    通信を介して接続される前記第1の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の1つとに基づいて、
    他の第2の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算処理と、
    前記判定の結果に応じて所定の処理を実行し、前記認証情報と前記マスター認証情報とが一致した場合に、前記所定の処理として、前記分散ソルト情報を、前記第1の情報処理装置に対して送信する判定実行処理と
    を第2の情報処理装置であるコンピュータに実行させる第1のコンピュータ・プログラム。
JP2017536609A 2015-08-26 2016-08-18 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム Active JP6753403B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015166696 2015-08-26
JP2015166696 2015-08-26
PCT/JP2016/003777 WO2017033442A1 (ja) 2015-08-26 2016-08-18 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体

Publications (2)

Publication Number Publication Date
JPWO2017033442A1 JPWO2017033442A1 (ja) 2018-07-05
JP6753403B2 true JP6753403B2 (ja) 2020-09-09

Family

ID=58099796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017536609A Active JP6753403B2 (ja) 2015-08-26 2016-08-18 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム

Country Status (3)

Country Link
US (1) US11050745B2 (ja)
JP (1) JP6753403B2 (ja)
WO (1) WO2017033442A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205386A (zh) * 2014-06-25 2015-12-30 腾讯科技(深圳)有限公司 移动终端应用程序密码保护方法和装置
GB2564442B (en) 2017-07-10 2022-03-02 Shayype Global Ltd Method of registering and authenticating a user of an online system
CN111133719B (zh) * 2017-09-29 2024-01-26 罗伯特·博世有限公司 用于利用spdz的更快速的安全多方内积计算的方法
US11606203B2 (en) 2017-12-14 2023-03-14 Robert Bosch Gmbh Method for faster secure multiparty inner product with SPDZ
US10084600B1 (en) * 2018-04-16 2018-09-25 Xage Security, Inc. Decentralized information protection for confidentiality and tamper-proofing on distributed database
WO2020033033A1 (en) * 2018-08-09 2020-02-13 Hrl Laboratories, Llc Anonymous allocation and majority voting in a compromised environment
US10862908B2 (en) 2018-08-09 2020-12-08 Hrl Laboratories, Llc System and method for consensus ordering of broadcast messages
KR102146088B1 (ko) * 2018-09-13 2020-08-19 삼육대학교산학협력단 광학 문자 인식을 이용한 사용자 인증 시스템
CN112769742B (zh) * 2019-11-06 2024-06-14 电科云(北京)科技有限公司 Spdz系列协议中的消息验证方法、装置及存储介质
KR102569132B1 (ko) * 2021-09-29 2023-08-24 한국전자통신연구원 분산 아이디 기반 서비스에서의 위임 크리덴셜 발급 장치 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959394B1 (en) * 2000-09-29 2005-10-25 Intel Corporation Splitting knowledge of a password
CA2922172A1 (en) * 2004-10-25 2006-05-04 Security First Corp. Secure data parser method and system
JP2007312128A (ja) * 2006-05-18 2007-11-29 Toshiba Corp 電子データ閲覧システム、装置及びプログラム
US20070283161A1 (en) * 2006-06-06 2007-12-06 Kabushiki Kaisha Toshiba System and method for generating verifiable device user passwords
US8769637B2 (en) * 2007-03-23 2014-07-01 Sap Ag Iterated password hash systems and methods for preserving password entropy
JP2010011109A (ja) 2008-06-27 2010-01-14 Kddi Corp 認証ユニット、認証端末、認証システム、認証方法およびプログラム
US8638926B2 (en) * 2009-02-26 2014-01-28 Red Hat, Inc. Sharing a secret with modular inverses
JP4860779B1 (ja) 2011-07-08 2012-01-25 株式会社野村総合研究所 データ分散保管システム
US8731203B2 (en) * 2012-02-13 2014-05-20 Alephcloud Systems, Inc. Securing a secret of a user
US9684898B2 (en) * 2012-09-25 2017-06-20 Google Inc. Securing personal identification numbers for mobile payment applications by combining with random components
JP6321049B2 (ja) 2014-01-28 2018-05-09 日本電信電話株式会社 秘密計算方法、秘密計算システム
US9386018B2 (en) * 2014-04-11 2016-07-05 Hangzhou Dianzi University Distributed cryptography system
US9258117B1 (en) * 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
GB2513260B (en) * 2014-06-27 2018-06-13 PQ Solutions Ltd System and method for quorum-based data recovery
EP4325770A3 (en) * 2017-08-15 2024-04-24 nChain Licensing AG Threshold ecdsa for securing bitcoin wallet
US20200213135A1 (en) * 2018-12-31 2020-07-02 Unbound Tech Ltd System and method for secure manufacturing of articles

Also Published As

Publication number Publication date
JPWO2017033442A1 (ja) 2018-07-05
WO2017033442A1 (ja) 2017-03-02
US20180241747A1 (en) 2018-08-23
US11050745B2 (en) 2021-06-29

Similar Documents

Publication Publication Date Title
JP6753403B2 (ja) 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム
Li et al. OPoR: Enabling proof of retrievability in cloud computing with resource-constrained devices
Barsoum et al. Enabling dynamic data and indirect mutual trust for cloud computing storage systems
CN106789080B (zh) 数字签名生成方法和装置
WO2021073170A1 (zh) 数据提供和融合的方法及装置
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
Belguith et al. Accountable privacy preserving attribute based framework for authenticated encrypted access in clouds
CN110800250A (zh) 受控加密私钥的发布
TW202015378A (zh) 密碼運算、創建工作密鑰的方法、密碼服務平台及設備
CN110557248B (zh) 基于无证书密码学的签密的密钥更新方法和***
CN110417547B (zh) 基于无证书密码学的保密通信的密钥更新方法和***
Jalil et al. A secure and efficient public auditing system of cloud storage based on BLS signature and automatic blocker protocol
Mukundan et al. Replicated Data Integrity Verification in Cloud.
CN110557367A (zh) 基于证书密码学的抗量子计算保密通信的密钥更新方法和***
Nayak et al. Privacy preserving provable data possession for cloud based electronic health record system
Reedy et al. A Secure Framework for Ensuring EHR's Integrity Using Fine-Grained Auditing and CP-ABE
JP2014022920A (ja) 電子署名システム、電子署名方法および電子署名プログラム
Malarvizhi et al. Secure file sharing using cryptographic techniques in cloud
JP3791169B2 (ja) 認証装置および方法
KR102400455B1 (ko) 분산 서비스 환경에서의 사용자 개인키 백업 및 복원 프레임워크
Ganorkar et al. An information security scheme for cloud based environment using 3DES encryption algorithm
CN112673591B (zh) 用于向经授权的第三方提供对秘密的公开分类账安全密钥托管访问的***和方法
Kamboj et al. DEDUP: Deduplication system for encrypted data in cloud
Akshay et al. Dynamic list based data integrity verification in cloud environment
Gonthireddy et al. Secure Big Data Deduplication with Dynamic Ownership Management in Cloud Computing

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200803

R150 Certificate of patent or registration of utility model

Ref document number: 6753403

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150