WO2018220727A1 - サービス提供システム、サービス提供方法、及び、プログラム - Google Patents

サービス提供システム、サービス提供方法、及び、プログラム Download PDF

Info

Publication number
WO2018220727A1
WO2018220727A1 PCT/JP2017/020159 JP2017020159W WO2018220727A1 WO 2018220727 A1 WO2018220727 A1 WO 2018220727A1 JP 2017020159 W JP2017020159 W JP 2017020159W WO 2018220727 A1 WO2018220727 A1 WO 2018220727A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
key
unit
terminal
hash value
Prior art date
Application number
PCT/JP2017/020159
Other languages
English (en)
French (fr)
Inventor
昇 菱沼
Original Assignee
昇 菱沼
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 昇 菱沼 filed Critical 昇 菱沼
Priority to PCT/JP2017/020159 priority Critical patent/WO2018220727A1/ja
Priority to JP2018502199A priority patent/JPWO2018220727A1/ja
Publication of WO2018220727A1 publication Critical patent/WO2018220727A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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

Abstract

サービス提供システムは、認証鍵の一部分である第1部分鍵を端末から受信する通信部(110)と、認証鍵から第1部分鍵が削除された第2部分鍵と、認証鍵に基づいて算出されたハッシュ値と、を記憶する情報記憶部(190)と、を備える。サービス提供装置(100)は、受信された第1部分鍵と記憶された第2部分鍵とに基づいて算出されたハッシュ値と、記憶されたハッシュ値と、に基づいて、端末を認証するハッシュ値認証部と、ハッシュ値認証部が端末の認証を成功すると、端末に対してサービスを提供する提供部(180)と、を備える。

Description

サービス提供システム、サービス提供方法、及び、プログラム
 本発明は、サービス提供システム、サービス提供方法、及び、プログラムに関する。
 従来から、携帯電話からの着信にともなって通知された発信者番号と、サービスを利用する権限を有するユーザの電話番号と、に基づいた認証が成功すると、当該携帯電話を利用するユーザにサービスを提供するシステムが知られている(例えば、特許文献1参照)。
特開2015-111329号公報
 しかし、特許文献1に開示されたシステムでは、サービスを利用する権限を有するユーザの電話番号が漏洩した場合、漏洩した電話番号に発信者番号を偽装するなりすましが行われると、サービスを利用する権限が無い者に対してサービスを提供しまうという問題があった。
 本発明は、上記実情に鑑みてなされたものであり、その目的とするところは、サービスの不正利用を従来よりも防止できるサービス提供システム、サービス提供方法、及び、プログラムを提供することにある。
 上記目的を達成するため、本発明に係るサービス提供システムは、
 認証鍵の一部分である第1部分鍵を端末から受信する通信部と、
 前記認証鍵から前記第1部分鍵が削除された第2部分鍵と、前記認証鍵に基づいて算出されたハッシュ値と、を記憶する記憶部と、
 前記受信された第1部分鍵と、前記記憶された第2部分鍵と、を合成した合成鍵に基づいて、ハッシュ値を算出する算出部と、
 前記算出されたハッシュ値と、前記記憶されたハッシュ値と、に基づいて、前記端末を認証するハッシュ値認証部と、
 前記ハッシュ値認証部が前記端末の認証を成功すると、前記端末に対してサービスを提供する提供部と、を備える。
 本発明に係るサービス提供システム、サービス提供方法、及び、プログラムによれば、サービスの不正利用を従来よりも防止できる。
本発明の実施の形態1に係るサービス提供システムの一構成例を表す構成図である。 サービス提供装置のハードウェア構成の一例を表す構成図である。 (a)は、サービス提供装置が実行する設定処理の一例を表すフローチャートである。(b)は、端末が実行する設定要求処理の一例を表すフローチャートである。 サービス提供装置が有する機能の一例を表す機能ブロック図である。 分散鍵設定部及び分散鍵認証部の一構成例を表す機能ブロック図である。 サービス提供装置が記憶する分散鍵認証テーブルの一例を表す図である。 サービス提供装置が記憶するユーザ認証テーブルの一例を表す図である。 サービス提供装置が記憶する番号認証テーブルの一例を表す図である。 (a)は、サービス提供装置が実行する番号認証要求処理の一例を表すフローチャートである。(b)は、端末が実行する被番号認証処理の一例を表すフローチャートである。(c)は、認証装置が実行する認証ID生成処理の一例を表すフローチャートである。(d)は、認証装置が実行する番号認証処理の一例を表すフローチャートである。 端末のハードウェア構成の一例を表す構成図である。 認証装置のハードウェア構成の一例を表す構成図である。 認証装置が有する機能の一例を表す機能ブロック図である。 (a)は、サービス提供装置が実行するサービス提供処理の一例を表すフローチャートである。(b)は、端末が実行するサービス利用処理の一例を表すフローチャートである。 本発明の実施の形態2に係るサービス提供システムの一構成例を表す構成図である。
<実施の形態1>
 以下、本発明の実施の形態1に係るサービス提供システム1について、添付図面を参照しつつ説明する。
 図1に示すサービス提供システム1は、サービス提供装置100、端末200、及び、認証装置900を備える。
 サービス提供装置100は、サーバ機であり、例えば、オンラインバンキングやオンライントレードといったサービスをユーザに提供する。
 端末200は、スマートフォンであり、公衆回線網PNを介して、認証装置900に接続されている。端末200は、ユーザの操作に従って、認証装置900に割り当てられた番号へ電話発信することで、発信者番号を用いた認証(以下、番号認証という)を受ける。また、端末200は、インターネットINを介してサービス提供装置100に接続されており、番号認証を含む所定の認証が成功すると、ユーザの操作に従ってデータ通信することで、サービス提供装置100によって提供されるサービスを利用する。
 認証装置900は、サーバ機であり、専用線ELを介してサービス提供装置100と接続され、かつ、公衆回線網PNを介して端末200に接続されている。認証装置900は、サービス提供装置100の要求に応じて、サービスを受ける権限を有するユーザによって端末200が利用されていることを、端末200からの着信にともなって通知される発信者番号を用いて番号認証する。
 次に、図2を参照して、サービス提供装置100の構成について説明する。サービス提供装置100は、プログラムを実行するCPU(Central Processing Unit)101、プログラムを保存するROM(Read Only Memory)102及びハードディスク103、プログラムの実行時にワークエリアとして使用されるRAM(Random Access Memory)104を備える。
 また、サービス提供装置100は、プログラムの実行時に、図1のインターネットINを介して端末200とデータ通信するネットワーク通信回路105と、専用線ELを介して認証装置900とデータ通信する専用線通信回路106と、を備える。
 さらに、サービス提供装置100は、CPU101から出力された信号に基づいて画像を描画し、描画された画像を表す画像信号を出力するビデオカード107と、画像信号に基づいて画像を表示するLCD(Liquid Crystal Display)108と、を備える。またさらに、サービス提供装置100は、ユーザの操作に応じた信号を入力するキーボード109を備える。
 サービス提供装置100のCPU101は、サービスの提供に先だって、サービスを提供する端末200の認証に必要な情報を設定する、図3(a)の設定処理を実行する。これにより、CPU101は、図4に示す取得部120、ユーザ認証部125、番号認証要求部130、ユーザ認証設定部140、及び、分散鍵設定部150として機能する。
 図2のネットワーク通信回路105及び専用線通信回路106は、図4の通信部110として機能し、ハードディスク103は、情報記憶部190として機能する。
 通信部110は、端末200及び認証装置900から受信した情報をCPU101に出力し、CPU101から出力された情報を、CPU101に指定された宛先である端末200又は認証装置900へ送信する。取得部120は、通信部110が受信した情報を取得する。ユーザ認証部125は、端末200を使用するユーザに対して、ユーザ認証する。番号認証要求部130は、認証装置900に対して、番号認証を行うように要求し、かつ、端末200に対して、認証装置900で番号認証を受けるように要求する。
 ユーザ認証設定部140は、番号認証が成功した後に、ユーザ認証に用いられるユーザ認証情報を情報記憶部190に設定する。分散鍵設定部150は、番号認証が成功した後に、端末200をサービス提供装置100で認証するために用いられる鍵であって、サービス提供装置100と端末200とに分散して保存される分散鍵を設定する。
 分散鍵設定部150は、図5に示す認証鍵生成部151、認証鍵分割部152、第1部分鍵出力部153、第2部分鍵保存部154、認証鍵加工部155、認証鍵ハッシュ値算出部156、及びハッシュ値保存部157を備える。
 認証鍵生成部151は、所定桁の乱数を表すバイナリデータであって、端末200を認証するために用いられる認証鍵を生成する。認証鍵分割部152は、認証鍵生成部151で生成された認証鍵を、認証鍵の一部分である第1部分鍵と、第1部分以外の部分である第2部分鍵と、に分割する。第1部分鍵出力部153は、端末200を宛先として第1部分鍵を通信部110へ出力する。第2部分鍵保存部154は、第2部分鍵を情報記憶部190へ保存する。このように、第1部分鍵と第2部分鍵とは、端末200とサービス提供装置100とに分散して保管される。
 認証鍵加工部155は、認証鍵生成部151で生成された認証鍵に対して所定の規則(以下、認証鍵加工規則という)に従った加工を行う。認証鍵加工規則は、どのような規則でも良く、例えば、互いに隣接する1バイトデータを入れ替える規則や、予め定められた複数の位のビット値を反転させる規則であっても良い。
 認証鍵ハッシュ値算出部156は、認証鍵加工部155で加工された後の認証鍵に、例えば、MD(Message Digest algorithm)5等のハッシュ関数を用いてハッシュ値を算出する。ハッシュ値保存部157は、認証鍵ハッシュ値生成部156で生成されたハッシュ値を情報記憶部190に保存する。
 情報記憶部190は、分散鍵である第1部分鍵と第2部分鍵とを用いた認証(以下、分散鍵認証という)を行うために用いられる情報が保存される、図6の分散鍵認証テーブル191を記憶している。分散鍵認証テーブル191には、ユーザを識別する情報であるユーザIDが保存される。ユーザIDは、例えば、銀行口座を開設する際にユーザが指定したID、又は、ユーザに付与されたIDである。また、分散鍵認証テーブル191には、ユーザIDと対応付けて、当該ユーザの使用する端末200に宛てて送信された第2部分鍵と、当該第2部分鍵を生成する基礎となった認証鍵に基づいて算出されたハッシュ値と、が保存される。
 また、情報記憶部190は、ユーザ認証を行うために用いられるユーザ認証情報がユーザIDと対応付けられて保存される、図7のユーザ認証テーブル192を記憶している。ユーザ認証テーブル192に保存されるユーザ認証情報は、例えば、銀行口座を開設する際にユーザが指定した、又は、ユーザに付与されたパスワードを表す情報を含む。
 さらに、情報記憶部190は、番号認証に用いられる情報が保存される、図8の番号認証テーブル193を記憶している。番号認証テーブル193には、ユーザのユーザIDと、当該ユーザが使用する端末200の電話番号と、当該電話番号から生成された認証IDと、当該認証IDを用いた番号認証の実行が要求される度に生成される所定桁数の乱数である認証コードと、が保存される。
 認証IDは、番号認証においてユーザを識別するために用いられる情報であり、当該ユーザが使用する端末200の電話番号に対して、所定の規則(以下、番号加工規則という)に従った加工を行った後に、所定の規則(以下、番号変換規則)に従って不可逆な変換を行った情報である。
 番号加工規則は、どのような規則でも良く、例えば、電話番号の下4桁を先頭に移動させる規則や電話番号の各数字の間に特定の文字列や数字を挿入する規則であっても良い。また、番号変換規則は、不可逆であればどのような変換でも良く、例えば、MD5を用いたハッシュ変換を行う規則であっても良い。
 次に、図3(a)に戻り、情報記憶部190が記憶するテーブル191から193を用いて、図2に示したサービス提供装置100のCPU101が実行する設定処理について説明する。
 サービス提供装置100のサービスを利用する端末200は、サービスの利用に先立って、端末200を使用するユーザのユーザIDを含み、設定処理の実行開始を求める設定要求を送信する。図4に示すサービス提供装置100の通信部110が、設定要求を端末200から受信すると、CPU101は、設定処理の実行を開始する。
 設定処理の実行が開始されると、図4の取得部120は、設定要求を通信部110から取得する。次に、ユーザ認証部125は、取得された設定要求に含まれるユーザIDを用いて端末200のユーザがサービスの利用権限を有する者か否かを認証するユーザID認証を行う(ステップS01a)。
 ユーザ認証部125は、設定要求に含まれるユーザIDが、図7のユーザ認証テーブル192に記憶されていない場合に、ユーザID認証が失敗したと判別する。ユーザIDは、例えば、ユーザが銀行でサービスの提供を申し込んだ後に、当該銀行が当該サービスの利用権限を当該ユーザに付与してから、ユーザ認証テーブル192に保存されるからである。
 ユーザ認証部125は、ユーザID認証が失敗したと判別すると、端末200を宛先として、認証が失敗したことを表す認証失敗コードを通信部110に出力する。その後、通信部110は、認証失敗コードを端末200へ送信し、ユーザ認証部125は、設定処理の実行を終了する。
 ユーザ認証部125は、ユーザIDがユーザ認証テーブル192に記憶されているためにユーザID認証が成功したと判別すると、端末200を宛先として、認証が成功したことを表す認証成功コードを通信部110に出力する。その後、通信部110は、認証成功コードを端末200へ送信する。
 次に、番号認証要求部130は、発信者番号を用いて端末200を認証するように認証装置900へ要求する、図9(a)の番号認証要求処理を実行する(ステップS01b)。
 番号認証要求処理の実行を開始すると、番号認証要求部130は、認証装置900と電話接続するように求める電話接続要求を、端末200を宛先として通信部110へ出力する(ステップS21)。通信部110は、端末200へ電話接続要求を送信し、電話接続要求を受信した端末200は、ユーザの操作に従って認証装置900へ電話発信する。
 端末200は、発信を終えると、ユーザの操作に従って、電話接続が完了したことを知らせる接続完了通知を返信する。通信部110が接続完了通知を受信すると、取得部120は、通信部110から接続完了通知を取得する(ステップS22)。
 次に、図4の番号認証要求部130は、図3(a)のステップS01で取得されたユーザIDに基づいて、図8の番号認証テーブル193から認証IDを検索し(図9(a)のステップS23)、所定桁数の乱数である認証コードを作成する。
 その後、番号認証要求部130は、認証コードと認証IDとを含み、番号認証を行うように求める番号認証要求を生成する。次に、番号認証要求部130は、認証装置900を宛先として、通信部110へ番号認証要求を出力する(ステップS24)。
 認証装置900は、番号認証要求を通信部110から受信すると、番号認証要求に含まれる認証IDの基礎となった電話番号が、番号認証要求の受信時刻から所定時間内に発信者番号として通知されたか否かに基づいて番号認証を行う。次に、認証装置900は、番号認証要求に含まれる認証コードに基づいて、認証が成功したことを表す認証成功コード又は失敗したことを表す認証失敗コードを生成し、サービス提供装置100へ返信する。
 サービス提供装置100の通信部110が認証成功コード又は認証失敗コードを受信すると、取得部120は、認証成功コード又は認証失敗コードを通信部110から取得し(ステップS25)、番号認証要求処理の実行を終了する。
 図3(a)のステップS01bで、番号認証処理の実行が終了すると、図4のユーザ認証部125は、番号認証が成功したか否かを判別する。ユーザ認証部125は、図9(a)のステップS25で認証失敗コードが取得されたため、番号認証が失敗したと判別すると、端末200を宛先として、認証失敗コードを通信部110に出力した後に、設定処理の実行を終了する。
 これに対して、ユーザ認証部125は、認証成功コードが取得されると番号認証が成功したと判別し、端末200を宛先として、認証成功コードを通信部110に出力する。
 次に、ユーザ認証部125は、端末200に対してチャレンジレスポンス認証を行う(ステップS01c)。チャレンジレスポンス認証では、サービス提供装置100のユーザ認証部125は、所定ビットの乱数をチャレンジキーとして生成し、生成したチャレンジキーを、端末200を宛先として通信部110へ出力する。
 端末200は、サービス提供装置100のサービスを利用するために実行するアプリケーション(以下、サービス利用アプリ)から、当該サービス利用アプリに割り振られた固有識別情報(以下、固有ID)を取得する。次に、端末200は、取得したチャレンジキーに固有IDを合成したデータに対してMD5等のハッシュ関数を用いてレスポンスを生成し、生成したレスポンスを返信する。
 その後、サービス提供装置100の通信部110が端末200からレスポンスを受信すると、ユーザ認証部125は、例えば、銀行といったサービス提供装置100の管理者が配布する真正なサービス利用アプリの固有IDを取得する。固有IDは、サービス提供装置100が実行するソフトウェアのソースコードに予め記載されたものであっても良いし、情報記憶部190に記憶されたものでも良い。
 次に、ユーザ認証部125は、取得した固有IDと、送信したチャレンジキーと、に基づいてレスポンスを生成する。その後、ユーザ認証部125は、生成したレスポンスと、通信部110から取得したレスポンスと、が一致するか否かに基づいて、端末200のチャレンジレスポンス認証が成功したか否かを判別する。ユーザ認証部125は、生成されたレスポンスと、取得されたレスポンスと、が一致しないため、端末200のチャレンジレスポンス認証が失敗したと判別すると、端末200を宛先として認証失敗コードを通信部110に出力した後に、設定処理の実行を終了する。端末200が、例えば、不正アクセスを目論む者によって作成された不正なアプリケーションを実行している場合が考えられるためである。
 これに対して、ユーザ認証部125は、生成されたレスポンスと、取得されたレスポンスと、が一致するため、端末200のチャレンジレスポンス認証が成功したと判別すると、端末200を宛先として認証成功コードを通信部110に出力する。
 その後、ユーザ認証部125は、ワンタイムの暗号キーを生成する。次に、ユーザ認証設定部140は、暗号キーと、当該暗号キーを用いてパスワード認証を受ける又は生体認証又を行うように求める生体認証等要求を、端末200を宛先として、通信部110へ出力する(ステップS01d)。
 端末200は、生体認証等要求を受信すると、生体認証に対応している場合に、生体認証を実行し、生体認証が成功すると認証成功コードを返信し、失敗すると認証失敗コードを返信する。また、端末200は、生体認証に対応していない場合に、生体認証等要求に含まれる暗号キーを用いてパスワードを暗号化し、暗号化されたパスワードを返信する。
 サービス提供装置100の通信部110が、端末200から暗号化されたパスワードを受信すると、取得部120は、暗号化されたパスワードを通信部110から取得し、ユーザ認証部125は、暗号化されたパスワードを復号する。その後、ユーザ認証部125は、復号されたパスワードが、図7のユーザ認証テーブル192に保存されているか否かに基づいてパスワード認証を行う。
 ユーザ認証部125は、端末200から認証失敗コードを通信部110が受信した、又は、復号されたパスワードがユーザ認証テーブル192に保存されていないと判別すると、生体認証又はパスワード認証が失敗したと判別する(ステップS03;No)。その後、ユーザ認証部125は、端末200を宛先として認証失敗コードを通信部110へ出力した後に、設定処理の実行を終了する。
 ユーザ認証部125は、認証成功コードが受信された、又は、復号されたパスワードがユーザ認証テーブル192に保存されていると判別すると、生体認証又はパスワード認証が成功したと判別する(ステップS03;Yes)。
 次に、図5の認証鍵生成部151は、所定桁数の乱数を発生させ、発生させた乱数を表すバイナリデータを認証鍵として生成する(ステップS04)。その後、認証鍵分割部152は、所定の規則(以下、認証鍵分割規則という)に従って、認証鍵を先頭側の第1部分鍵と末尾側の第2部分鍵とに分割する(ステップS05)。尚、先頭側を第2部分鍵とし、末尾側を第1部分鍵としても良い。また、認証鍵分割規則は、どのような規則でも良く、例えば、第1部分鍵のバイト数と第2部分鍵のバイト数との合計が偶数の場合に、第1部分鍵のバイト数と第2部分鍵のバイト数との差異が無く、合計が奇数の場合に、当該差異が1バイトとなる分割規則が望ましい。
 その後、図5の第1部分鍵出力部153は、図3(a)のステップS05で得られた第1部分鍵を、端末200を宛先として、通信部110へ出力する(ステップS06)。その後、端末200は、通信部110から受信した第1部分鍵を記憶する。
 次に、第2部分鍵保存部154は、ステップS05で得られた第2部分鍵を、ステップS01で取得されたユーザIDと対応付けて、図6の分散鍵認証テーブル191に保存する(図3(a)のステップS07)。
 その後、認証鍵加工部155は、第1部分鍵と第2部分鍵とからなる認証鍵について、認証鍵加工規則に従った加工を行う(ステップS08)。次に、認証鍵ハッシュ値算出部156は、加工された後の認証鍵に基づいてハッシュ値を算出する(ステップS09)。その後、ハッシュ値保存部157は、算出されたハッシュ値を、ステップS01で取得されたユーザIDと対応付けて、図6の分散鍵認証テーブル191に保存した後に(ステップS10)、設定処理の実行を終了する。
 次に、図10を参照して、設定処理の実行を要求する端末200の構成について説明する。端末200は、CPU201、ROM202、フラッシュメモリ203、RAM204、ビデオカード207、LCD208、タッチパネル209を備える。端末200のこれらの構成は、図2に示したサービス提供装置100のCPU101、ROM102、ハードディスク103、RAM104、ビデオカード107、LCD108、及びキーボード109と同様の構成である。
 端末200は、データ通信回路205、音声通信回路206、及び、指紋センサ210をさらに備える。端末200のデータ通信回路205は、図1のインターネットINを通じて情報を受信し、受信した情報をCPU101に出力する。また、データ通信回路205は、CPU101から出力された情報を、CPU101に指定された宛先へ送信する。音声通信回路206は、公衆回線網PNを通じて電話接続を行う。指紋センサ210は、指紋センサ210に押着された指の指紋を検出し、検出した指紋を表す情報を出力する。
 端末200のOS(Operating System)には、生体認証に対応しているか否かを表す生体認証可否フラグ、並びに、指紋センサ210で検出されたユーザの指紋を表す情報が生体情報として登録されており、登録された生体認証可否フラグ及び生体情報は、ユーザIDと対応付けてフラッシュメモリ203に記憶されている。さらに、OSには、端末200の電話番号が登録されており、登録された電話番号を表す情報は、フラッシュメモリ203に記憶されている。
 端末200のデータ通信回路205は、ユーザの操作に従って、所定のウェブサイトから、サービス利用アプリをダウンロードし、ダウンロードされたサービス利用アプリは、CPU101によってフラッシュメモリ203に保存される。その後、CPU201は、ユーザの操作に従ってサービス利用アプリを最初に実行すると、CPU201は、初期設定処理を実行する。
 初期設定処理の実行により、CPU201は、ユーザID及びパスワードを入力するように促すメッセージをLCD208に表示させる。その後、CPU201は、ユーザに操作されたタッチパネル209から出力される信号に基づいて、ユーザID及びパスワードを表す情報を取得し、ユーザIDにパスワードを表す情報を対応付けてフラッシュメモリ203に保存する。
 初期設定処理の実行が終わると、CPU201は、サービスの利用に先だって端末200を認証するために必要な分散鍵の設定を要求する、図3(b)の設定要求処理の実行を開始する。
 端末200のCPU201は、設定要求処理の実行を開始すると、フラッシュメモリ203に保存したユーザIDを含む設定要求を、サービス提供装置100を宛先としてデータ通信回路205へ出力する(ステップS31a)。端末200のデータ通信回路205は、設定要求をサービス提供装置100へ送信する。
 次に、データ通信回路205が、ユーザIDを用いた認証を行ったサービス提供装置100から認証失敗コードを受信すると、CPU201は、設定要求処理の実行を終了する。これに対して、CPU201は、認証成功コードを受信すると、番号認証を受ける、図9(b)の被番号認証処理を実行する(ステップS31b)。
 被番号認証処理の実行を開始すると、端末200のCPU201は、図9(a)のステップS21でサービス提供装置100が送信した電話接続要求を、データ通信回路205から取得する(ステップS41)。次に、端末200のCPU201は、認証装置900の電話番号と、電話接続を促すメッセージと、をLCD208に表示させる。
 その後、端末200のCPU201は、ユーザの操作に従って、認証装置900と電話接続するように、図10の音声通信回路206を制御する(ステップS42)。
 電話接続が行われた後、端末200のCPU201は、サービス提供装置100を宛先として接続完了通知をデータ通信回路205へ出力した後に(ステップS43)、被番号認証処理の実行を終了する。
 図3(b)のステップS32で被番号認証処理の実行を終了した後、データ通信回路205がサービス提供装置100から認証失敗コードを受信すると、CPU201は、番号認証が失敗したと判別し、設定要求処理の実行を終了する。これに対して、CPU201は、認証成功コードが受信されると、番号認証が成功したと判別し、サービス提供装置100によるチャレンジレスポンス認証を受ける被チャレンジレスポンス認証処理を実行する(ステップS31c)。
 被チャレンジレスポンス認証処理では、端末200のデータ通信回路205がチャレンジコードをサービス提供装置100から受信すると、CPU201は、サービス提供アプリから固有IDを取得する。固有IDは、サービス提供アプリのソースコードに予め記載されたものであっても良いし、サービス提供アプリと共にダウンロードされ、図10のフラッシュメモリ203に保存されたものでも良い。
 次に、端末200のCPU201は、受信されたチャレンジコードと取得した固有IDとに基づいてレスポンスを生成し、生成したレスポンスをサービス提供装置100へ返信する。
 その後、端末200のCPU201は、データ通信回路205がサービス提供装置100から認証失敗コードを受信すると、番号認証が失敗したと判別し、設定要求処理の実行を終了する。これに対して、CPU201は、認証成功コードが受信されると、番号認証が成功したと判別する。
 その後、データ通信回路205が被生体認証等要求を受信すると、CPU201は、図10のフラッシュメモリ203に保存された生体認証可否フラグに基づいて生体認証等を実行する(ステップS31d)。
 生体認証可否フラグが、生体認証に対応していることを表す場合、CPU201は、図10に示した指紋センサ210に、ユーザの指の腹を押着させるように促すメッセージをLCD208に表示させる。その後、CPU201は、指紋を表す生体情報を指紋センサ210から取得し、取得された生体情報と、フラッシュメモリ203に記憶された生体情報とに基づいて生体認証を行う。
 これに対して、生体認証可否フラグが、生体認証に対応していないことを表す場合、CPU201は、フラッシュメモリ203から、ユーザIDに対応付けられたパスワードを表す情報を取得する。その後、CPU201は、被生体認証等要求に含まれる暗号キーを用いてパスワードを表す情報を暗号化した後に、サービス提供装置100を宛先として暗号化されたパスワードを表す情報をデータ通信回路205に出力する。
 サービス提供装置100は、暗号化されたパスワードを表す情報を用いたパスワード認証が成功すると、端末200がサービスの提供を受ける権限を有するユーザによって使用されていると判別する。このため、サービス提供装置100は、サービスの提供に先だって行われる分散鍵認証に用いられる分散鍵として第1部分鍵を端末200に送信する。
 CPU201は、生体認証が失敗したと判別した場合、又は、サービス提供装置100からデータ通信回路205が認証失敗コードを受信したために、パスワード認証が成功したと判別した場合(ステップS32;No)、設定要求処理の実行を終了する。例えば、紛失された端末200を、端末200の所有者でない者が操作しているおそれがあるためである。
 これに対して、CPU201は、生体認証が成功したと判断した場合、又は、サービス提供装置100からデータ通信回路205が認証成功コードを受信したために、パスワード認証が成功したと判別した場合(ステップS32;Yes)、サービス提供装置100から送信された第1部分鍵をデータ通信回路205から取得する(ステップS33)。その後、CPU201は、取得した第1部分鍵をフラッシュメモリ203に保存した後に(ステップS34)、設定要求処理の実行を終了する。
 次に、図11を参照して、端末200に対して番号認証を行う認証装置900の構成について説明する。
 認証装置900は、CPU901、ROM902、ハードディスク903、RAM904、ビデオカード907、LCD908、キーボード909を備える。認証装置900のこれらの構成は、図2に示したサービス提供装置のCPU101、ROM102、ハードディスク103、RAM104、ビデオカード107、LCD108、及びキーボード109と同様の構成である。
 認証装置900は、音声通信回路905と専用線通信回路906とをさらに備える。認証装置900の音声通信回路905と、専用線通信回路906と、は、図10に示した端末200の音声通信回路206と、図2に示したサービス提供装置100の専用線通信回路106と、同様の構成及び機能を有する。
 認証装置900のCPU901は、着信にともなって音声通信回路905に通知される発信者番号に基づいて認証IDを生成する、図9(c)の認証ID生成処理を実行する。これにより、CPU901は、図12の電話接続制御部910、取得部940、認証ID生成部950、認証ID保存部960、及び、認証ID削除部970として機能する。また、認証装置900のCPU901は、番号認証を行う、図9(d)の番号認証処理を実行することで、番号認証部980として機能する。さらに、音声通信回路905は、電話接続部920として機能し、専用線通信回路906は、通信部930として機能し、ハードディスク903は、情報記憶部990として機能する。
 電話接続制御部910は、電話接続部920に端末200からの着信があると、端末200と電話接続するように電話接続部920を制御する。通信部930は、サービス提供装置100から認証IDを受信し、受信した認証IDをCPU101へ出力する。また、通信部930は、CPU101から出力された情報を、CPU101に指定された宛先へ送信する。取得部940は、発信者番号を表す情報を電話接続部920から取得し、サービス提供装置100から受信された認証IDを通信部930から取得する。
 認証ID生成部950は、取得部940で取得された発信者番号に対して、番号加工規則に従った加工を行った後に、番号変換規則に従った変換を行うことで認証IDを生成する。認証ID生成部950が用いる番号加工規則及び番号変換規則は、サービス提供装置100が送信する認証IDを生成するために用いられた番号加工規則及び番号変換規則と同じである。
 認証ID保存部960は、認証ID生成部950で生成された認証IDを情報記憶部990に保存する。認証ID削除部970は、取得部940で発信者番号を表す情報が取得されてから所定時間が経過した後に、当該認証IDを削除する。認証ID削除部970は、認証IDが生成若しくは保存されてから所定時間が経過した後に、当該認証IDを削除しても良い。
 番号認証部980は、取得部940が取得した認証IDが、情報記憶部990に保存されている1又は複数の認証IDのいずれかと一致する場合に端末200の番号認証を成功し、いずれとも一致しない場合に失敗する。
 次に、図9(c)に戻り、認証IDを生成する認証ID生成処理について説明を開始する。電話接続部920へ着信があると、認証装置900のCPU901は、認証ID生成処理の実行を開始する。
 認証ID生成処理の実行が開始されると、電話接続制御部910は、端末200と電話接続するように電話接続部920を制御し(ステップS51)、取得部940は、発信者番号を表す情報を電話接続部920から取得する(ステップS52)。その後、認証ID生成部950は、発信者番号に基づいて認証IDを生成し(ステップS53)、認証ID保存部960は、生成された認証IDを情報記憶部990に保存する(ステップS54)。
 ステップS52が実行されてから所定時間経過すると、認証ID削除部970は、ステップS54で保存された認証IDを情報記憶部990から削除した後に(ステップS55)、認証ID生成処理の実行を終了する。
 このように、認証ID生成処理が実行されると、発信者番号が取得されてから所定時間以内に限り、認証IDが情報記憶部990に記憶される。
 次に、図9(d)を参照して、番号認証処理について説明を開始する。図9(a)のステップS24でサービス提供装置100から送信された番号認証要求を、認証装置900の通信部930が受信すると、認証装置900のCPU901は、番号認証処理の実行を開始する。
 番号認証処理の実行が開始されると、取得部940は、番号認証要求を通信部930から取得し、番号認証要求から認証ID及び認証コードを取得する(ステップS61)。次に、番号認証部980は、取得部940が取得した認証IDが、情報記憶部990に所定期間に亘って記憶されている1又は複数の認証IDのいずれかと一致するか否かに基づいて番号認証を行う(ステップS62)。
 ステップS62において、番号認証部980は、取得された認証IDが、情報記憶部990に記憶されている認証IDのいずれかと一致すると判別すると、番号認証が成功したと判別する(ステップS62;Yes)。次に、番号認証部980は、取得部940で取得された認証コードを所定の規則(以下、成功コード生成規則という)に従って変換した認証成功コードを作成する。その後、番号認証部980は、サービス提供装置100を宛先として認証成功コードを通信部930に出力した後に(ステップS63)、番号認証処理の実行を終了する。
 ステップS62において、番号認証部980は、取得された認証IDが、情報記憶部990に記憶されている認証IDのいずれとも一致しないと判別すると、番号認証が失敗したと判別する(ステップS62;No)。次に、番号認証部980は、取得部940で取得された認証コードを所定の規則(以下、失敗コード生成規則という)で変換した認証失敗コードを作成する。その後、番号認証部980は、サービス提供装置100を宛先として、認証失敗コードを通信部930に出力した後に(ステップS64)、番号認証処理の実行を終了する。ステップS63又はステップS64の後に、通信部930は、認証成功コード又は認証失敗コードをサービス提供装置100へ送信する。
 ここで、成功コード生成規則及び失敗コード生成規則は、互いに異なれば、どのような規則であっても良い。例えば、成功コード生成規則は、認証コードの先頭4桁を末尾に移動させる加工を認証コードに行った後に、加工を行った認証コードをハッシュ変換するという規則であっても良い。また例えば、失敗コード生成規則は、認証コードの末尾4桁を先頭に移動させる加工を認証コードに行った後に、加工を行った認証コードをハッシュ変換するという規則であっても良い。
 次に、図13(a)を参照して、端末200にサービスを提供するサービス提供処理について説明を行う。サービス提供装置100のCPU101は、サービス提供処理を実行することで、図4に示す分散鍵認証部170、及び、提供部180としてさらに機能する。
 分散鍵認証部170は、ユーザ認証が成功すると、分散鍵である第1部分鍵及び第2部分鍵を用いた分散鍵認証を端末200に対して行う。提供部180は、端末200の分散鍵認証が成功すると、端末200にサービスを提供する。
 分散鍵認証部170は、図5に示す部分鍵合成部171、合成鍵加工部172、合成鍵ハッシュ値算出部173、及び、ハッシュ値認証部174を備える。部分鍵合成部171は、端末200から受信される第1部分鍵と、図6の分散鍵認証テーブル191に保存された第2部分鍵と、を合成した合成鍵を生成する。合成鍵加工部172は、認証鍵加工部155で用いられた認証鍵加工規則と同じ規則に従って合成鍵の加工を行う。合成鍵ハッシュ値算出部173は、認証鍵ハッシュ値算出部156で用いられたハッシュ関数と同じ関数を、合成鍵加工部172で加工された合成鍵に用いることでハッシュ値を算出する。ハッシュ値認証部174は、図6の分散鍵認証テーブル191に保存されたハッシュ値と、合成鍵ハッシュ値算出部173で算出されたハッシュ値と、が一致する場合に、端末200の認証を成功とし、一致しない場合に、端末200の認証を失敗とする。
 次に、図13(a)に戻り、サービス提供処理について説明を開始する。サービスを利用するユーザが、端末200を操作して、サービス利用アプリを実行させると、端末200は、ユーザIDを含み、サービスの提供を求めるサービス提供要求を送信する。図4に示したサービス提供装置100の通信部110が、サービス提供要求を端末200から受信すると、CPU101は、サービス提供処理の実行を開始する。
 サービス提供処理の実行が開始されると、図4のユーザ認証部125は、図3のステップS01aと同様に、サービス提供要求に含まれるユーザIDを用いてユーザID認証を行う(ステップS101)。ユーザ認証部125は、ユーザID認証が失敗したと判別すると(ステップS102;No)、端末200を宛先として認証失敗コードを通信部110に出力した後に、サービス提供処理の実行を終了する。これに対して、ユーザ認証部125は、ユーザID認証が成功したと判別すると(ステップS102;Yes)、端末200を宛先として認証成功コードを通信部110に出力する。
 その後、ユーザ認証部125は、図3のステップS01aと同様に、生体認証等要求を出力し(ステップS103)、端末200に生体認証をさせるか、又は、端末200のパスワード認証を自ら行う。
 ステップS103において、ユーザ認証部125は、認証失敗コードが端末200から受信されたため、生体認証が失敗した、又は、パスワード認証が失敗したと判別すると(ステップS104;No)、サービス提供処理の実行を終了する。
 これに対して、認証成功コードが受信されたため、生体認証が成功した、又は、生体認証が成功したとユーザ認証部125が判別すると(ステップS104;Yes)、図5の分散鍵認証部170は、ワンタイムの暗号キーを生成する。次に、分散鍵認証部170は、端末200を宛先として、暗号キーと、第1部分鍵を送信するように求める第1部分鍵送信要求と、を、端末200を宛先として通信部110へ出力する。通信部110が、暗号キーで暗号化された第1部分鍵を端末200から受信すると、取得部120は、暗号化された第1部分鍵を通信部110から取得する(図13(a)のステップS105)。
 その後、図5の部分鍵合成部171は、ユーザIDに基づいて、図6の分散鍵認証テーブル191から、第2部分鍵を検索する(ステップS106)。次に、部分鍵合成部171は、検索された第2部分鍵を、ステップS105で取得された第1部分鍵の後に追加することで、合成鍵を生成する(ステップS107)。
 次に、合成鍵加工部172は、認証鍵加工部155で用いられた認証鍵加工規則と同じ規則に従って合成鍵の加工を行う(ステップS108)。その後、合成鍵ハッシュ値算出部173は、認証鍵ハッシュ値算出部156で用いられたハッシュ関数と同じ関数を加工された合成鍵に用いることでハッシュ値を算出する(ステップS109)。
 その後、ハッシュ値認証部174は、ユーザIDに基づいて、図6の分散鍵認証テーブル191からハッシュ値を検索し(ステップS110)、検索したハッシュ値と、ステップS109で算出されたハッシュ値と、が一致するか否かを判別する(ステップS111)。
 ステップS111において、ハッシュ値認証部174は、検索したハッシュ値と、算出されたハッシュ値と、が一致しないと判別すると、分散鍵認証が失敗したと判別し(ステップS111;No)、サービス提供処理の実行を終了する。
 これに対して、ハッシュ値認証部174は、検索したハッシュ値と、算出されたハッシュ値と、が一致すると判別すると、分散鍵認証が成功したと判別する(ステップS111;Yes)。その後、図4の提供部180は、端末200に対してサービスの提供を行った後に(ステップS112)、サービス提供処理の実行を終了する。
 次に、図13(b)を参照して、端末200がサービスを利用するサービス利用処理について説明を行う。図10に示した端末200のCPU201は、タッチパネル209に対するユーザの操作に従って、サービス利用アプリの実行を、初回以降に開始すると、図13(b)のサービス利用処理を開始する。
 サービス利用処理の実行を開始すると、CPU201は、図3(b)のステップS31aと同様に、サービス提供装置100を宛先として、ユーザIDを含むサービス提供要求をデータ通信回路205へ出力する(ステップS121)。
 その後、端末200のCPU201は、ユーザID認証を行ったサービス提供装置100から、認証失敗コードをデータ通信回路205が受信すると、ユーザID認証が失敗したと判別し(ステップS122;No)、サービス利用処理の実行を終了する。
 これに対して、端末200のCPU201は、認証成功コードをデータ通信回路205が受信すると、ユーザID認証が成功したと判別する(ステップS122;Yes)。その後、CPU201は、図3(b)のステップS31dと同様に、自ら生体認証を行うか、サービス提供装置100によるパスワード認証を受ける(ステップS123)。
 その後、CPU201は、生体認証が失敗した、又は、サービス提供装置100からデータ通信回路205が認証失敗コードを受信したために、パスワード認証が失敗したと判別すると(ステップS124;No)、サービス利用処理の実行を終了する。
 これに対して、CPU201は、生体認証が成功した、又は、サービス提供装置100からデータ通信回路205が認証成功コードを受信したために、パスワード認証が成功したと判別すると(ステップS124;Yes)、第1部分鍵送信要求から暗号キーを取得する。その後、CPU201は、フラッシュメモリ203に記憶された第1部分鍵を取得し、暗号キーを用いて第1部分鍵を暗号化する。その後、端末200のCPU201は、サービス提供装置100を宛先として、暗号化した第1部分鍵をデータ通信回路205に出力する(ステップS125)。
 次に、CPU201は、分散鍵である第1部分鍵を用いて分散鍵認証を行ったサービス提供装置100から、認証失敗コードをデータ通信回路205が受信すると、分散鍵認証が失敗したと判別し(ステップS126;No)、サービス利用処理の実行を終了する。これに対して、端末200のCPU201は、認証成功コードが受信されたため、分散鍵認証が成功したと判別すると(ステップS126;Yes)、ユーザの操作に従って、サービス提供装置100が提供するサービスを利用した後に(ステップS127)、サービス利用処理の実行を終了する。
 これらの構成によれば、図5の認証鍵分割部152は、認証鍵を第1部分鍵と、第1部分鍵と異なる第2部分鍵と、に分割し、第1部分鍵と第2部分鍵とは、それぞれ端末200と、サービス提供装置100の情報記憶部190と、に分散保存される。認証鍵ハッシュ値算出部156は、ハッシュ関数を用いて認証鍵からハッシュ値を算出し、認証鍵から算出されたハッシュ値は、情報記憶部190に保存される。これらのため、第2部分鍵及びハッシュ値のいずれか1つ以上を含む情報が、情報記憶部190から漏えいしたとしても、漏えいした第2部分鍵及びハッシュ値の1つ以上から第1部分鍵を生成することが困難である。
 図5の合成鍵ハッシュ値算出部173は、端末200から送信された第1部分鍵と、サービス提供部100の情報記憶部190に記憶された第2部分鍵と、に基づいて合成鍵を生成する。ハッシュ値認証部174は、合成鍵に基づいて算出されたハッシュ値と、認証鍵に基づいて算出され、情報記憶部190に記憶されたハッシュ値と、に基づいて端末200を認証する。図4のサービス提供部180は、ハッシュ値認証部174で認証が成功した後に、端末200にサービスを提供する。このため、情報記憶部190から情報が漏えいし、サービスを利用する権限が無い者が漏えいした情報を取得しても、第1部分鍵を生成することが困難であるため、ハッシュ値認証部174の認証を成功させることができない。よって、端末200を使用する者が、サービスを利用する権限が無い者である場合、サービスを利用する権限が有る者になりすますことが困難であるから、サービスの不正利用を従来よりも防止できる。
 これらの構成によれば、図5の認証鍵ハッシュ値算出部156、及び、合成鍵ハッシュ値算出部173、は、認証鍵加工規則に従った加工が行われた認証鍵及び合成鍵にそれぞれ基づいてハッシュ値を算出する。ハッシュ値認証部174は、合成鍵ハッシュ値算出部173で算出されたハッシュ値と、認証鍵ハッシュ値算出部156で算出され、情報記憶部190に記憶されたハッシュ値と、に基づいて端末200を認証する。このため、情報記憶部190に記憶されたハッシュ値が漏えいしたとしても、漏えいしたハッシュ値を入手した者は、どのような加工が認証鍵に行われたのか分からないので、ハッシュ値から第1部分鍵を生成することが困難である。よって、なりすましによるサービスの不正利用を従来よりも防止できる。
 この構成によれば、図5の第1部分鍵出力部153は、図3(a)のステップS01bで番号認証が成功した後に、ステップS06で第1部分鍵を、端末200を宛先として出力する。このため、サービスを受ける権限の無い者が、サービスを受ける権限の有る者になりすまして、端末200で第1部分鍵を不正に受信することを防止できる。
 これらの構成によれば、図4に示したサービス提供装置100の通信部110と、図10に示した端末200のデータ通信回路205と、は、ワンタイム暗号キーを用いて暗号化された第1部分鍵やパスワードを送受信する。このため、サービスを受ける権限の無い者によって第1部分鍵やパスワードが傍受されたとしても、傍受された第1部分鍵やユーザ認証情報は暗号化されている。このため、第1部分鍵やユーザ認証情報を傍受した者が、サービスを受ける権限の有る者になりすますことを防止できる。
<実施の形態1の変形例1>
 実施の形態1では、生体情報は、ユーザの指紋を表す情報であるとして説明したが、これに限定される訳ではなく、例えば、ユーザの指又は手の静脈を表す情報、虹彩を表す情報、顔や耳の形を表す情報、又は、声紋を表す情報であっても良い。生体情報として指紋を表す情報を用いる場合は、ある指の指紋を表す情報に基づいて行った認証が失敗した場合でも、別の指の指紋を表す情報に基づいて行った認証が成功すれば、生体認証が成功したとみなしても良い。また、複数の指の指紋に基づいて複数回連続して認証を成功した場合に限って、生体認証が成功したとみなしても良い。さらに、虹彩を表す情報、指又は手の静脈を表す情報、指紋を表す情報、顔や耳の形を表す情報、及び、声紋を表す情報のいずれか1つ以上に基づいて、複数回連続して認証が成功した場合に限って、生体認証が成功としたとみなしても良い。
<実施の形態1の変形例2>
 実施の形態1では、認証鍵は、所定の桁数の乱数であると説明したが、これに限定される訳では無く、生成が行われる度に認証鍵の桁数を異ならせても良い。
 この構成によれば、情報記憶部190が記憶するハッシュ値や第2部分鍵が漏えいしたとしても、漏えいしたハッシュ値や第2部分鍵を取得した者は、認証鍵の桁数が何桁であったか分からないため、漏えいした第2部分鍵やハッシュ値から第1部分鍵を生成することが困難である。
 また、実施の形態1では、認証鍵分割規則は、第1部分鍵のバイト数と第2部分鍵のバイト数との差異が無くなる又は可能な限り少なくなる分割規則が望ましいと説明した。しかし、これに限定される訳では無く、例えば、認証鍵分割規則は、第1部分鍵のバイト数と第2部分鍵のバイト数との差異を分割の度に異ならせる規則でも良い。また、例えば、認証鍵分割規則は、第1部分鍵のバイト数又は第2部分鍵のバイト数を、第2部分鍵のバイト数又は第1部分鍵のバイト数よりも、所定バイトだけ多くする規則でも良い。
 この構成によれば、情報記憶部190が記憶するハッシュ値や第2部分鍵が漏えいしたとしても、漏えいしたハッシュ値や第2部分鍵を取得した者は、第1部分鍵のバイト数が何バイトであったか分からないため、漏えいした第2部分鍵やハッシュ値から第1部分鍵を生成することが困難である。
<実施の形態1の変形例3>
 実施の形態1では、図3(a)のステップS01aからステップS01dで、サービス提供装置100は、ユーザID認証、チャレンジレスポンス認証、及び、パスワード認証を実行し、番号認証及び生体認証の実行を要求すると説明した。これらの認証が成功した場合に、図3(a)のステップS04からステップS10で、サービス提供装置100は、第1部分鍵及び第2部分鍵を生成し、ハッシュ値を算出すると説明した。しかし、サービス提供装置100が行う又は要求する認証の順番は、図3(a)のステップS01aからステップS01dに示した順番に限定される訳では無く、どのような順番で行われてもよい。また、サービス提供装置100が行う又は要求する認証の種類は、図3(a)のステップS01aからステップS01dで説明した認証に限定される訳では無い。また、サービス提供装置100が行う又は要求する認証の種類は、図3(a)のステップS01aからステップS01dで説明した認証のいずれか1つ以上であっても良い。
<実施の形態1の変形例4>
 実施の形態1では、図13(a)のサービス提供処理のステップS101で、図4のユーザ認証部125がユーザID認証を行った後に、ステップS103で、生体認証を要求する、又は、パスワード認証を行うと説明した。また、図4の分散鍵認証部170は、ユーザID認証並びにパスワード認証若しくは生体認証が成功した後に、ステップS105からS111で、分散鍵認証を行うと説明した。しかし、ユーザ認証部125が行う又は要求する認証及び認証の順序は、これに限定される訳では無く、ユーザ認証部125がユーザID認証並びにパスワード認証若しくは生体認証のいずれか1つ以上を、どのような順序で行っても要求しても良い。また、分散鍵認証部170は、ユーザID認証並びにパスワード認証若しくは生体認証のいずれか1つ以上が成功した後に、分散鍵認証を行っても良い。
 この構成によれば、図5のハッシュ値認証部174は、ユーザ認証が成功した後に端末200を分散鍵認証し、図4の提供部180は、ハッシュ値認証部174で分散鍵認証が成功した後に、端末200に対してサービスを提供する。このため、例えば、端末200の紛失や盗難があっても、端末200を発見した又は盗んだ者がユーザ認証部125のユーザ認証を成功させることが困難である。よって、サービスを利用する権限が無い者が、サービスを利用する権限が有る者になりすますことが難しく、サービスの不正利用を従来よりも防止できる。
<実施の形態1の変形例5>
 実施の形態1では、認証IDは、ユーザが使用する端末200の電話番号に対して、番号加工規則に従った加工を行った後に、番号変換規則に従って不可逆な変換を行った情報であるとして説明したが、これに限定される訳ではない。認証IDは、電話番号に対して、番号加工規則に従った加工、及び、番号変換規則に従った不可逆な変換のいずれか1つのみを行った情報であっても良いし、電話番号に対して番号変換規則に従った変換を行った後に、番号加工規則に従った加工を行った情報であっても良い。
<実施の形態1の変形例6>
 図4の情報記憶部190は、複数の互いに異なる認証鍵加工規則を記憶しており、図5の認証鍵加工部155及び合成鍵加工部172は、認証鍵及び合成鍵の加工に用いる認証鍵加工規則として、情報記憶部190に記憶された複数の認証鍵加工規則から1つを選択しても良い。特に、認証鍵加工部155及び合成鍵加工部172は、例えば、端末200から送信されたユーザの生体情報で表される生体の特徴点に基づいて、複数の認証鍵加工規則から1つを選択しても良い。
 例えば、情報記憶部190は、複数の数値範囲と、複数の認証鍵加工規則と、を一対一で対応付けて記憶しており、認証鍵加工部155及び合成鍵加工部172は、生体情報で表される生体の特徴点をカウントし、カウントされた特徴点の数が属する数値範囲に対応付けられた認証鍵加工規則を選択しても良い。
 これらの構成によれば、認証鍵加工規則が、ユーザの生体が有する特徴に基づいて選択される。このため、認証鍵の一部又は全部が漏洩したとしても、漏洩した情報を取得したユーザの生体が有する特徴と、サービスを受ける権限を有するユーザの生体が有する特徴と、が異なるため、漏洩した情報を用いて分散鍵認証を成功させることが困難であるから、サービスの不正利用を従来よりも防止できる。
<実施の形態1の変形例7>
 図4の情報記憶部190は、複数の互いに異なるハッシュ関数を記憶しており、図5の認証鍵ハッシュ値算出156及び合成鍵ハッシュ値算出部173は、加工された認証鍵及び合成鍵のハッシュ値の算出に用いるハッシュ関数として、情報記憶部190に記憶された複数のハッシュ関数から1つを選択しても良い。特に、認証鍵ハッシュ値算出部156及び合成鍵ハッシュ値算出部173は、例えば、ユーザの生体の特徴点に基づいて、複数のハッシュ関数から1つを選択しても良い。
<実施の形態2>
 実施の形態1に係るサービス提供システム1は、サービス提供装置100、端末200、及び、認証装置900を備え、ユーザは、端末200を利用すると説明した。これに対して、実施の形態2に係るサービス提供システム1は、図14に示すように、サービス提供装置100、端末200、及び、認証装置900の他に、端末250を備え、ユーザは、端末200及び端末250の双方を利用する。
 端末200は、スマートフォンであり、端末250は、パーソナルコンピュータである。端末250は、ノート型であっても良いし、デスクトップ型であっても良いし、タブレット型であっても良い。端末250は、端末200と同様に、不図示のCPU、ROM、フラッシュメモリ、RAM、データ通信回路、ビデオカード、LCD、タッチパネル、及び、指紋センサを備えるが、音声通信回路を備えていない。
 実施の形態2では、図3(b)の設定要求処理、図9(b)の被番号認証処理、及び、図13(b)のサービス利用処理は、図9(b)の電話接続制御を行うステップS42の処理を除き、パーソナルコンピュータである端末250が実行する。これに対し、電話接続制御を行うステップS42の処理は、スマートフォンである端末200が実行する。
 図9(b)の被番号認証処理では、ステップS41で、端末250のCPUが電話接続要求を取得する(ステップS41)と、端末250のCPUは、認証装置900との電話接続を促すメッセージをLCDに表示させる。
 その後、メッセージを視認したユーザは、スマートフォンである端末200を操作し、端末200のCPU201は、ユーザの操作に従って、認証装置900と電話接続するように、図10の音声通信回路206を制御する(ステップS42)。
 電話接続が行われた後、ユーザは、パーソナルコンピュータである端末250を操作し、端末250のCPUは、ユーザの操作に従って接続完了通知を出力した後に(ステップS43)、番号認証処理の実行を終了する。
 これらの構成によれば、認証装置900は、端末250が電話接続要求を受信してから行われる端末200との電話接続の際に通知される発信者番号に基づいて認証を行う。このため、端末200及び端末250の双方がサービスの利用権限を有するユーザによって使用されていることを認証できる。
 請求の範囲に記載されたシステムとは、複数の装置を備えるシステムに限定されるのではなく、請求の範囲に記載された構成及び機能を有する1つの装置であっても良い。本発明の実施の形態1、実施の形態1の変形例1から7、及び実施の形態2に係るサービス提供システム1は、サービス提供装置100と認証装置900とを備えると説明したが、これに限定される訳ではない。サービス提供システム1は、認証装置900を備えず、認証装置900が有するハードウェア構成及び機能をさらに備えるサービス提供装置100を備えても良い。
 本発明の実施の形態1、実施の形態1の変形例1から7、及び実施の形態2は、互いに組み合わせることができる。また、本発明の実施の形態1、実施の形態1の変形例1から7、及び実施の形態2のいずれかに係る機能を実現するための構成を予め備えたサービス提供装置100として提供できることはもとより、プログラムの適用により、既存のサービス提供装置を実施の形態1、実施の形態1の変形例1から7、及び実施の形態2のいずれかに係るサービス提供装置100として機能させることもできる。すなわち、上記実施の形態1、実施の形態1の変形例1から7、及び実施の形態2のいずれかで例示したサービス提供装置100による各機能構成を実現させるためのプログラムを、既存のサービス提供装置を制御するコンピューター(CPUなど)が実行することで、実施の形態1、実施の形態1の変形例1から7、及び実施の形態2のいずれかに係るサービス提供装置100として機能させることができる。
 このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD-ROM、又はDVD-ROMなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。尚、サービス提供方法は、サービス提供システム1を用いて実施できる。
 また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
 本発明は、サービスを提供するサービス提供システムに適する。
1 サービス提供システム、100 サービス提供装置、101,201,901 CPU、102,202,902 ROM、103,903ハードディスク、104,204,904 RAM、105 ネットワーク通信回路、106,906 専用線通信回路、107,207,907 ビデオカード、108,208,908 LCD、109,909 キーボード、110,930 通信部、120,940 取得部、125 ユーザ認証部、130 番号認証要求部、140 ユーザ認証設定部、150 分散鍵設定部、151 認証鍵生成部、152 認証鍵分解部、153 第1部分鍵出力部、154 第2部分鍵保存部、155 認証鍵加工部、156 認証鍵ハッシュ値算出部、157 ハッシュ値保存部、170 分散鍵認証部、171 部分鍵合成部、172 合成鍵加工部、173 合成鍵ハッシュ値算出部、174 ハッシュ値認証部、180 提供部、190,990 情報記憶部、191 分散鍵認証テーブル、192 ユーザ認証テーブル、193 番号認証テーブル、200 端末、203 フラッシュメモリ、205 データ通信回路、206,905 音声通信回路、209 タッチパネル、210 指紋センサ、900 認証装置、910 電話接続制御部、920 電話接続部、950 認証ID生成部、960 認証ID保存部、970 認証ID削除部、980 番号認証部、PN 公衆回線網、IN インターネット

Claims (6)

  1.  認証鍵の一部分である第1部分鍵を端末から受信する通信部と、
     前記認証鍵から前記第1部分鍵が削除された第2部分鍵と、前記認証鍵に基づいて算出されたハッシュ値と、を記憶する記憶部と、
     前記受信された第1部分鍵と、前記記憶された第2部分鍵と、を合成した合成鍵に基づいて、ハッシュ値を算出する算出部と、
     前記算出されたハッシュ値と、前記記憶されたハッシュ値と、に基づいて、前記端末を認証するハッシュ値認証部と、
     前記ハッシュ値認証部が前記端末の認証を成功すると、前記端末に対してサービスを提供する提供部と、を備える、
     ことを特徴とするサービス提供システム。
  2.  前記記憶部に記憶されたハッシュ値は、所定の加工が行われた前記認証鍵に基づいて算出されたものであり、
     前記合成鍵に対して前記所定の加工を行う加工部、をさらに備え、
     前記算出部は、前記加工部で加工が行われた前記合成鍵に基づいて前記ハッシュ値を算出し、
     前記ハッシュ値認証部は、前記加工が行われた合成鍵に基づいて算出されたハッシュ値と、前記加工が行われた認証鍵に基づいて算出されたハッシュ値と、に基づいて前記端末を認証する、
     ことを特徴とする請求項1に記載のサービス提供システム。
  3.  前記端末を使用するユーザを、前記ユーザの生体情報を用いて認証するように要求する、又は、前記ユーザのパスワードを用いて認証するユーザ認証部、をさらに備え、
     前記ハッシュ値認証部は、前記ユーザの生体情報を用いた認証を前記端末が成功した後、又は、前記ユーザのパスワードを用いた認証を前記ユーザ認証部が成功した後に、前記端末を認証する、
     ことを特徴とする請求項1又は2に記載のサービス提供システム。
  4.  前記記憶部は、前記サービスを利用する権限を有するユーザの電話番号に対して予め定められた加工及び変換のいずれか1つ以上が行われた認証IDを記憶しており、
     前記端末である第1端末からの着信、又は、前記権限を有するユーザが使用する前記第1端末と異なる第2端末からの着信と共に通知された発信者番号に対して、前記予め定められた加工及び変換のいずれか1つ以上が行われた情報と、前記記憶部に記憶された前記認証IDと、に基づいて認証を行う番号認証部と、
     前記番号認証部が認証を成功すると、前記認証鍵を生成する生成部と、
     前記生成部で生成された認証鍵の前記第2部分鍵と、前記生成部で生成された認証鍵に基づいて算出されたハッシュ値と、を、前記記憶部に保存する保存部と、をさらに備え、
     前記通信部は、前記生成部で生成された前記認証鍵の前記第1部分鍵を前記第1端末へ送信する、
     ことを特徴とする請求項1ないし3のいずれか一項に記載のサービス提供システム。
  5.  コンピュータを、
     認証鍵の一部分である第1部分鍵を取得する取得部、
     前記認証鍵から前記第1部分鍵が削除された第2部分鍵と、前記認証鍵に基づいて算出されたハッシュ値と、を記憶する記憶部、
     前記取得された第1部分鍵と、前記記憶された第2部分鍵と、を合成した合成鍵に基づいて、ハッシュ値を算出する算出部、
     前記算出されたハッシュ値と、前記記憶されたハッシュ値と、に基づいて、前記第1部分鍵を送信した端末を認証するハッシュ値認証部、
     前記ハッシュ値認証部が前記端末の認証を成功すると、前記端末に対してサービスを提供する提供部、として機能させる、
     ことを特徴とするプログラム。
  6.  認証鍵の一部分である第1部分鍵が前記認証鍵から削除された第2部分鍵と、前記認証鍵に基づいて算出されたハッシュ値と、を記憶する記憶部を備え、前記第1部分鍵と前記第2部分鍵とを用いた認証を成功した端末にサービスを提供するサービス提供装置で実行される方法であって、
     前記サービス提供装置が、前記第1部分鍵を前記端末から受信する通信ステップと、
     前記サービス提供装置が、前記受信された第1部分鍵と、前記記憶された第2部分鍵と、を合成した合成鍵に基づいて、ハッシュ値を算出する算出ステップと、
     前記サービス提供装置が、前記算出されたハッシュ値と、前記記憶されたハッシュ値と、に基づいて、前記端末を認証するハッシュ値認証ステップと、
     前記サービス提供装置が、前記ハッシュ値認証ステップで前記端末の認証を成功すると、前記端末に対してサービスを提供する提供ステップと、を有する、
     ことを特徴とするサービス提供方法。
PCT/JP2017/020159 2017-05-30 2017-05-30 サービス提供システム、サービス提供方法、及び、プログラム WO2018220727A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2017/020159 WO2018220727A1 (ja) 2017-05-30 2017-05-30 サービス提供システム、サービス提供方法、及び、プログラム
JP2018502199A JPWO2018220727A1 (ja) 2017-05-30 2017-05-30 サービス提供システム、サービス提供方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/020159 WO2018220727A1 (ja) 2017-05-30 2017-05-30 サービス提供システム、サービス提供方法、及び、プログラム

Publications (1)

Publication Number Publication Date
WO2018220727A1 true WO2018220727A1 (ja) 2018-12-06

Family

ID=64456137

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/020159 WO2018220727A1 (ja) 2017-05-30 2017-05-30 サービス提供システム、サービス提供方法、及び、プログラム

Country Status (2)

Country Link
JP (1) JPWO2018220727A1 (ja)
WO (1) WO2018220727A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004023406A (ja) * 2002-06-14 2004-01-22 Hitachi Ltd 電子署名付与方法
JP2004328293A (ja) * 2003-04-23 2004-11-18 C4 Technology Inc 電子チケット、電子チケット方式、認証方式および情報処理方式
JP2012065123A (ja) * 2010-09-15 2012-03-29 Fuji Electric Retail Systems Co Ltd Icカードシステム、その通信端末、携帯端末

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004023406A (ja) * 2002-06-14 2004-01-22 Hitachi Ltd 電子署名付与方法
JP2004328293A (ja) * 2003-04-23 2004-11-18 C4 Technology Inc 電子チケット、電子チケット方式、認証方式および情報処理方式
JP2012065123A (ja) * 2010-09-15 2012-03-29 Fuji Electric Retail Systems Co Ltd Icカードシステム、その通信端末、携帯端末

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUICHI KAJI ET AL: "Password Jizen Sengen ni Yoru Kojin Ninshoho-Jiki Card O Mochiita Anzen na Kojin Ninshoho", IEICE TECHNICAL REPORT, vol. 95, no. 423, 15 December 1995 (1995-12-15), pages 21 - 28 *

Also Published As

Publication number Publication date
JPWO2018220727A1 (ja) 2019-06-27

Similar Documents

Publication Publication Date Title
US9740849B2 (en) Registration and authentication of computing devices using a digital skeleton key
JP6882254B2 (ja) 生体特徴に基づく安全性検証方法、クライアント端末、及びサーバ
US9727715B2 (en) Authentication method and system using password as the authentication key
JP5859953B2 (ja) 生体認証システム、通信端末装置、生体認証装置、および生体認証方法
US10848304B2 (en) Public-private key pair protected password manager
US20140139318A1 (en) Mapping Biometrics To A Unique Key
KR101897715B1 (ko) 바이오정보를 이용한 패스워드 없는 전자서명 시스템
AU2008255382B2 (en) Secure login protocol
JP2008504595A (ja) 更新可能かつプライベートなバイオメトリクス
CN108777615A (zh) 动态口令认证方法和装置
JP4859631B2 (ja) 暗号通信システム及び通信端末装置及び暗号通信プログラム及び暗号通信方法
KR20050023050A (ko) 분할 생체정보를 이용한 암호키 생성 방법 및 이를 이용한사용자 인증 방법
WO2021205660A1 (ja) 認証サーバ、認証システム、認証サーバの制御方法及び記憶媒体
JP7250960B2 (ja) ユーザのバイオメトリクスを利用したユーザ認証および署名装置、並びにその方法
JP3697212B2 (ja) ユーザ認証システム、ユーザ認証方法、ユーザ認証プログラム、及び、コンピュータ読取可能な記録媒体
WO2018220727A1 (ja) サービス提供システム、サービス提供方法、及び、プログラム
JP4606040B2 (ja) 資格認証システム、資格認証方法、および情報処理装置
JP5550175B2 (ja) サーバ装置、情報処理システム及び情報処理方法
WO2021205661A1 (ja) 認証サーバ、認証システム、認証サーバの制御方法及び記憶媒体
KR102561689B1 (ko) 생체 정보 등록 장치 및 방법, 생체 인증 장치 및 방법
JP3660306B2 (ja) ユーザ認証システム、ユーザ認証方法、ユーザ認証プログラム、及び、コンピュータ読取可能な記録媒体
KR20050070381A (ko) 원타임 패스워드 기반 인증 시스템
Johnson et al. With vaulted voice verification my voice is my key
US20240106823A1 (en) Sharing a biometric token across platforms and devices for authentication
WO2021205659A1 (ja) 認証サーバ、認証システム、認証サーバの制御方法及び記憶媒体

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018502199

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17911535

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17911535

Country of ref document: EP

Kind code of ref document: A1