IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ PaylessGate株式会社の特許一覧

特許7496177被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラム
<>
  • 特許-被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラム 図1
  • 特許-被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラム 図2
  • 特許-被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラム 図3
  • 特許-被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラム 図4
  • 特許-被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラム 図5
  • 特許-被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラム 図6
  • 特許-被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-05-29
(45)【発行日】2024-06-06
(54)【発明の名称】被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラム
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240530BHJP
   G06F 21/44 20130101ALI20240530BHJP
【FI】
H04L9/32 200A
G06F21/44
【請求項の数】 22
(21)【出願番号】P 2024005185
(22)【出願日】2024-01-17
(62)【分割の表示】P 2024004521の分割
【原出願日】2024-01-16
【審査請求日】2024-01-17
【早期審査対象出願】
(73)【特許権者】
【識別番号】518296126
【氏名又は名称】Sinumy株式会社
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】足立 安比古
(72)【発明者】
【氏名】五十部 孝典
(72)【発明者】
【氏名】野村 紘一
【審査官】中里 裕正
(56)【参考文献】
【文献】特開2004-282295(JP,A)
【文献】特開2021-170757(JP,A)
【文献】特開2021-170758(JP,A)
【文献】特許第6732326(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/44
(57)【特許請求の範囲】
【請求項1】
ユーザを識別するユーザ識別子と、一意な情報であるユニーク情報とを含む初期データを取得する初期データ取得部と、
前記初期データを暗号化した第1暗号化データを取得することによって第1データを生成する第1暗号化部と、
認証装置と共有している共有データを含む第2データを取得する第2データ取得部と、
前記第2データを、前記第1データを用いて暗号化することによって第2暗号化データを生成する第2暗号化部と、
前記初期データと前記第2暗号化データとを含む複数の異なる認証要求を前記認証装置に対してそれぞれ出力する出力部と、を備えた被認証装置。
【請求項2】
前記ユニーク情報は、時刻、カウンタ値、乱数値の少なくともいずれかを含む、請求項1記載の被認証装置。
【請求項3】
前記第1暗号化部は、前記初期データを、当該初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化した第1暗号化データを取得する、請求項1記載の被認証装置。
【請求項4】
前記第1暗号化部は、前記初期データを含む所定のデータ量のデータを、前記暗号鍵を用いて暗号化した第1暗号化データを取得する、請求項3記載の被認証装置。
【請求項5】
前記第1暗号化部は、前記第1暗号化データのデータ量を削減することによって第1データを生成する、請求項1記載の被認証装置。
【請求項6】
前記第1暗号化部は、前記第1暗号化データをハッシュ化することによってデータ量を削減する、請求項5記載の被認証装置。
【請求項7】
前記第1暗号化部は、前記第1暗号化データの一部のデータを抽出することによってデータ量を削減する、請求項5記載の被認証装置。
【請求項8】
前記第1データのデータ量と前記第2データのデータ量とは同じであり、
前記第2暗号化部は、前記第1データと前記第2データとの排他的論理和である第2暗号化データを生成する、請求項1から請求項7のいずれか記載の被認証装置。
【請求項9】
前記第2データ取得部は、前記共有データを前記認証装置から取得する、請求項1から請求項7のいずれか記載の被認証装置。
【請求項10】
前記共有データは、乱数を含む、請求項1から請求項7のいずれか記載の被認証装置。
【請求項11】
ユーザを識別するユーザ識別子及び一意な情報であるユニーク情報を含む初期データと、前記初期データが暗号化された第1暗号化データが取得されることによって生成された第1データを用いて、共有データを含む第2データが暗号化された第2暗号化データとを含む複数の異なる認証要求を被認証装置から受け付ける受付部と、
前記受付部によって受け付けられた認証要求に含まれる初期データを暗号化した第1暗号化データを取得することによって第1データを生成する暗号化部と、
正当な被認証装置と共有している共有データが記憶される記憶部と、
前記受付部によって受け付けられた認証要求に含まれる第2暗号化データに対応する共有データと前記記憶部で記憶されている共有データとが一致するかどうかを、前記暗号化部によって生成された第1データを用いて判断する判断部と、
認証対象の被認証装置から受け付けられた複数の認証要求に含まれるユニーク情報が整合しており、かつ、当該複数の認証要求のそれぞれについて、認証要求に含まれる第2暗号化データに対応する共有データと前記記憶部で記憶されている共有データとが一致すると判断された場合に、前記認証対象の被認証装置が正当であると判断する認証部と、
前記認証部による判断結果である認証結果を出力する認証結果出力部と、を備えた認証装置。
【請求項12】
前記ユニーク情報は、時刻、カウンタ値、乱数値の少なくともいずれかを含む、請求項11記載の認証装置。
【請求項13】
前記暗号化部は、前記受付部によって受け付けられた認証要求に含まれる初期データを、当該初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化した第1暗号化データを取得する、請求項11記載の認証装置。
【請求項14】
前記暗号化部は、前記受付部によって受け付けられた認証要求に含まれる初期データを含む所定のデータ量のデータを、前記暗号鍵を用いて暗号化した第1暗号化データを取得する、請求項13記載の認証装置。
【請求項15】
前記暗号化部は、取得した第1暗号化データのデータ量を削減することによって第1データを生成する、請求項11記載の認証装置。
【請求項16】
前記第1データのデータ量と前記第2データのデータ量とは同じであり、
前記第2暗号化データは、前記第1データと前記第2データとの排他的論理和である、請求項11から請求項15のいずれか記載の認証装置。
【請求項17】
共有データを生成して被認証装置に出力すると共に前記記憶部に蓄積するデータ出力部をさらに備え、
前記受付部で受け付けられた認証要求に含まれる第2暗号化データは、前記データ出力部によって出力された共有データを含む第2データが暗号化されたものである、請求項11から請求項15のいずれか記載の認証装置。
【請求項18】
前記共有データは、乱数を含む、請求項11から請求項15のいずれか記載の認証装置。
【請求項19】
初期データ取得部と、第1暗号化部と、第2データ取得部と、第2暗号化部と、出力部とを用いて処理される認証要求出力方法であって、
前記初期データ取得部が、ユーザを識別するユーザ識別子と、一意な情報であるユニーク情報とを含む初期データを取得するステップと、
前記第1暗号化部が、前記初期データを暗号化した第1暗号化データを取得することによって第1データを生成するステップと、
前記第2データ取得部が、認証装置共有している共有データを含む第2データを取得するステップと、
前記第2暗号化部が、前記第2データを、前記第1データを用いて暗号化することによって第2暗号化データを生成するステップと、
前記出力部が、前記初期データと前記第2暗号化データとを含む複数の異なる認証要求を前記認証装置に対してそれぞれ出力するステップと、を備えた認証要求出力方法。
【請求項20】
受付部と、暗号化部と、判断部と、認証部と、認証結果出力部とを用いて処理される認証方法であって、
前記受付部が、ユーザを識別するユーザ識別子及び一意な情報であるユニーク情報を含む初期データと、前記初期データが暗号化された第1暗号化データが取得されることによって生成された第1データを用いて、共有データを含む第2データが暗号化された第2暗号化データとを含む複数の異なる認証要求を被認証装置から受け付けるステップと、
前記暗号化部が、受け付けられた認証要求に含まれる初期データを暗号化した第1暗号化データを取得することによって第1データを生成するステップと、
前記判断部が、受け付けられた認証要求に含まれる第2暗号化データに対応する共有データと、正当な被認証装置と共有している共有データが記憶される記憶部で記憶されている共有データとが一致するかどうかを、前記第1データを生成するステップにおいて生成された第1データを用いて判断するステップと、
前記認証部が、認証対象の被認証装置から受け付けられた複数の認証要求に含まれるユニーク情報が整合しており、かつ、当該複数の認証要求のそれぞれについて、認証要求に含まれる第2暗号化データに対応する共有データと前記記憶部で記憶されている共有データとが一致すると判断された場合に、前記認証対象の被認証装置が正当であると判断するステップと、
前記認証結果出力部が、前記認証対象の被認証装置が正当であるかどうかを判断するステップにおける判断結果である認証結果を出力するステップと、を備えた認証方法。
【請求項21】
コンピュータを、
ユーザを識別するユーザ識別子と、一意な情報であるユニーク情報とを含む初期データを取得する初期データ取得部、
前記初期データを暗号化した第1暗号化データを取得することによって第1データを生成する第1暗号化部、
認証装置と共有している共有データを含む第2データを取得する第2データ取得部、
前記第2データを、前記第1データを用いて暗号化することによって第2暗号化データを生成する第2暗号化部、
前記初期データと前記第2暗号化データとを含む複数の異なる認証要求を前記認証装置に対してそれぞれ出力する出力部として機能させるためのプログラム。
【請求項22】
正当な被認証装置と共有している共有データが記憶される記憶部にアクセス可能なコンピュータを、
ユーザを識別するユーザ識別子及び一意な情報であるユニーク情報を含む初期データと、前記初期データが暗号化された第1暗号化データが取得されることによって生成された第1データを用いて、共有データを含む第2データが暗号化された第2暗号化データとを含む複数の異なる認証要求を被認証装置から受け付ける受付部、
前記受付部によって受け付けられた認証要求に含まれる初期データを暗号化した第1暗号化データを取得することによって第1データを生成する暗号化部、
前記受付部によって受け付けられた認証要求に含まれる第2暗号化データに対応する共有データと前記記憶部で記憶されている共有データとが一致するかどうかを、前記暗号化部によって生成された第1データを用いて判断する判断部、
認証対象の被認証装置から受け付けられた複数の認証要求に含まれるユニーク情報が整合しており、かつ、当該複数の認証要求のそれぞれについて、認証要求に含まれる第2暗号化データに対応する共有データと前記記憶部で記憶されている共有データとが一致すると判断された場合に、前記認証対象の被認証装置が正当であると判断する認証部、
前記認証部による判断結果である認証結果を出力する認証結果出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラムに関する。
【背景技術】
【0002】
従来、被認証装置から送信された複数の認証要求を受信し、その複数の認証要求を用いて被認証装置が正当であるかどうかを判断する認証装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2020/080301号
【発明の概要】
【発明が解決しようとする課題】
【0004】
認証装置において、被認証装置から送信された複数の認証要求を用いて被認証装置を認証する場合に、なりすましを防止することによってセキュアな認証を行いたいという要望がある。
【0005】
本発明は、上記事情に応じてなされたものであり、なりすましを防止することによってセキュアな認証を実現することができる被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様による被認証装置は、ユーザを識別するユーザ識別子と、一意な情報であるユニーク情報とを含む初期データを取得する初期データ取得部と、初期データを暗号化した第1暗号化データを取得することによって第1データを生成する第1暗号化部と、認証装置と共有している共有データを含む第2データを取得する第2データ取得部と、第2データを、第1データを用いて暗号化することによって第2暗号化データを生成する第2暗号化部と、初期データと第2暗号化データとを含む複数の異なる認証要求を認証装置に対してそれぞれ出力する出力部と、を備えたものである。
【0007】
このような構成により、複数の認証要求を受け付けた認証装置では、認証要求に含まれる第2暗号化データに対応する共有データと、正当な被認証装置と認証装置との間で共有されている共有データとが一致するかどうかと、複数の認証要求に含まれるユニーク情報が整合しているかどうかとに基づいて、被認証装置が正当であるかどうかについて判断することによって、なりすましを防止してセキュアな認証を実現することができる。また、初期データを暗号化して第1暗号化データを取得することによって、初期データから第1データを予測することを困難にすることができる。
【0008】
また、本発明の一態様による被認証装置では、ユニーク情報は、時刻、カウンタ値、乱数値の少なくともいずれかを含んでもよい。
【0009】
このような構成により、ユニーク情報を簡単に取得することができる。
【0010】
また、本発明の一態様による被認証装置では、第1暗号化部は、初期データを、初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化した第1暗号化データを取得してもよい。
【0011】
このような構成により、初期データから第1データを予測することをより困難にすることができる。
【0012】
また、本発明の一態様による被認証装置では、第1暗号化部は、初期データを含む所定のデータ量のデータを、暗号鍵を用いて暗号化した第1暗号化データを取得してもよい。
【0013】
このような構成により、第1暗号化データをあらかじめ決められたデータ量にすることができる。
【0014】
また、本発明の一態様による被認証装置では、第1暗号化部は、第1暗号化データのデータ量を削減することによって第1データを生成してもよい。
【0015】
このような構成により、例えば、認証要求のデータ量をより少なくすることができる。
【0016】
また、本発明の一態様による被認証装置では、第1暗号化部は、第1暗号化データをハッシュ化することによってデータ量を削減してもよい。
【0017】
このような構成により、簡単な処理によってデータ量を削減することができると共に、第1データから第1暗号化データを予測することを困難にすることができる。
【0018】
また、本発明の一態様による被認証装置では、第1暗号化部は、第1暗号化データの一部のデータを抽出することによってデータ量を削減してもよい。
【0019】
このような構成により、簡単な処理によってデータ量を削減することができると共に、第1データから第1暗号化データを予測することを困難にすることができる。
【0020】
また、本発明の一態様による被認証装置では、第1データのデータ量と第2データのデータ量とは同じであり、第2暗号化部は、第1データと第2データとの排他的論理和である第2暗号化データを生成してもよい。
【0021】
このような構成により、簡単な処理によって第2データを暗号化することができる。
【0022】
また、本発明の一態様による被認証装置では、第2データ取得部は、共有データを認証装置から取得してもよい。
【0023】
このような構成により、被認証装置が共有データの生成器を有していなくても、認証装置と被認証装置との間で共有データを共有することができる。
【0024】
また、本発明の一態様による被認証装置では、共有データは、乱数を含んでもよい。
【0025】
このような構成により、例えば、共有データを一意なデータにすることができる。
【0026】
また、本発明の一態様による認証装置は、ユーザを識別するユーザ識別子及び一意な情報であるユニーク情報を含む初期データと、初期データが暗号化された第1暗号化データが取得されることによって生成された第1データを用いて、共有データを含む第2データが暗号化された第2暗号化データとを含む複数の異なる認証要求を被認証装置から受け付ける受付部と、受付部によって受け付けられた認証要求に含まれる初期データを暗号化した第1暗号化データを取得することによって第1データを生成する暗号化部と、正当な被認証装置と共有している共有データが記憶される記憶部と、受付部によって受け付けられた認証要求に含まれる第2暗号化データに対応する共有データと記憶部で記憶されている共有データとが一致するかどうかを、暗号化部によって生成された第1データを用いて判断する判断部と、認証対象の被認証装置から受け付けられた複数の認証要求に含まれるユニーク情報が整合しており、かつ、複数の認証要求のそれぞれについて、認証要求に含まれる第2暗号化データに対応する共有データと記憶部で記憶されている共有データとが一致すると判断された場合に、認証対象の被認証装置が正当であると判断する認証部と、認証部による判断結果である認証結果を出力する認証結果出力部と、を備えたものである。
【0027】
このような構成により、認証要求に含まれる第2暗号化データに対応する共有データと、正当な被認証装置と認証装置との間で共有されている共有データとが一致するかどうかと、複数の認証要求に含まれるユニーク情報が整合しているかどうかとに基づいて、被認証装置が正当であるかどうかについて判断することによって、なりすましを防止してセキュアな認証を実現することができる。また、初期データを暗号化することによって第1暗号化データを取得することによって、第三者が第1データを予測することを困難にすることができる。
【0028】
また、本発明の一態様による認証装置では、ユニーク情報は、時刻、カウンタ値、乱数値の少なくともいずれかを含んでもよい。
【0029】
このような構成により、ユニーク情報を簡単に取得することができる。
【0030】
また、本発明の一態様による認証装置では、暗号化部は、受付部によって受け付けられた認証要求に含まれる初期データを、初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化した第1暗号化データを取得してもよい。
【0031】
このような構成により、第三者が第1データを予測することをより困難にすることができる。
【0032】
また、本発明の一態様による認証装置では、暗号化部は、受付部によって受け付けられた認証要求に含まれる初期データを含む所定のデータ量のデータを、暗号鍵を用いて暗号化した第1暗号化データを取得してもよい。
【0033】
このような構成により、第1暗号化データをあらかじめ決められたデータ量にすることができる。
【0034】
また、本発明の一態様による認証装置では、暗号化部は、取得した第1暗号化データのデータ量を削減することによって第1データを生成してもよい。
【0035】
このような構成により、例えば、認証要求のデータ量をより少なくすることができる。
【0036】
また、本発明の一態様による認証装置では、第1データのデータ量と第2データのデータ量とは同じであり、第2暗号化データは、第1データと第2データとの排他的論理和であってもよい。
【0037】
このような構成により、簡単な処理によって第2データを暗号化することができる。
【0038】
また、本発明の一態様による認証装置では、共有データを生成して被認証装置に出力すると共に記憶部に蓄積するデータ出力部をさらに備え、受付部で受け付けられた認証要求に含まれる第2暗号化データは、データ出力部によって出力された共有データを含む第2データが暗号化されたものであってもよい。
【0039】
このような構成により、被認証装置が共有データの生成器を有していなくても、認証装置と被認証装置との間で第2データを共有することができる。
【0040】
また、本発明の一態様による認証装置では、共有データは、乱数を含んでもよい。
【0041】
このような構成により、例えば、共有データを一意なデータにすることができる。
【0042】
また、本発明の一態様による認証要求出力方法は、ユーザを識別するユーザ識別子と、一意な情報であるユニーク情報とを含む初期データを取得するステップと、初期データを暗号化した第1暗号化データを取得することによって第1データを生成するステップと、認証装置を共有している共有データを含む第2データを取得するステップと、第2データを、第1データを用いて暗号化することによって第2暗号化データを生成するステップと、初期データと第2暗号化データとを含む複数の異なる認証要求を認証装置に対してそれぞれ出力するステップと、を備えたものである。
【0043】
また、本発明の一態様による認証方法は、ユーザを識別するユーザ識別子及び一意な情報であるユニーク情報を含む初期データと、初期データが暗号化された第1暗号化データが取得されることによって生成された第1データを用いて、共有データを含む第2データが暗号化された第2暗号化データとを含む複数の異なる認証要求を被認証装置から受け付けるステップと、受け付けられた認証要求に含まれる初期データを暗号化した第1暗号化データを取得することによって第1データを生成するステップと、受け付けられた認証要求に含まれる第2暗号化データに対応する共有データと、正当な被認証装置と共有している共有データが記憶される記憶部で記憶されている共有データとが一致するかどうかを、第1データを生成するステップにおいて生成された第1データを用いて判断する判断部と、認証対象の被認証装置から受け付けられた複数の認証要求に含まれるユニーク情報が整合しており、かつ、複数の認証要求のそれぞれについて、認証要求に含まれる第2暗号化データに対応する共有データと記憶部で記憶されている共有データとが一致すると判断された場合に、認証対象の被認証装置が正当であると判断するステップと、認証対象の被認証装置が正当であるかどうかを判断するステップにおける判断結果である認証結果を出力するステップと、を備えたものである。
【発明の効果】
【0044】
本発明の一態様による被認証装置、認証装置、認証要求出力方法、認証方法、及びプログラムによれば、なりすましを防止してセキュアな認証を実現することができる。
【図面の簡単な説明】
【0045】
図1】本発明の実施の形態による認証システムの構成を示すブロック図
図2】同実施の形態における被認証装置と認証装置との間の情報の送受信を示す図
図3】同実施の形態における認証要求の生成について説明するための図
図4】同実施の形態における認証要求を用いた認証について説明するための図
図5】同実施の形態による被認証装置の動作を示すフローチャート
図6】同実施の形態による認証装置の動作を示すフローチャート
図7】同実施の形態におけるコンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【0046】
以下、本発明による被認証装置、認証装置、認証要求出力方法、及び認証方法について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による被認証装置は、ユニーク情報を含む平文データである初期データと、その初期データを用いて取得した第1データを用いて第2データを暗号化することによって取得した第2暗号化データとを含む複数の異なる認証要求を出力する。また、本実施の形態による認証装置は、認証要求に含まれる第2暗号化データに対応する共有データと、認証装置で記憶されている共有データとが一致するかどうかの判断結果と、複数の認証要求に含まれるユニーク情報が整合しているかどうかとに基づいて、被認証装置の認証を行う。
【0047】
図1は、本実施の形態による認証システム100の構成を示すブロック図であり、図2は、被認証装置1と認証装置2との間で送受信される情報について示す図であり、図3は、被認証装置1における認証要求の生成に関する処理の一例について説明するための図であり、図4は、認証装置2における複数の認証要求を用いた認証に関する処理の一例について説明するための図である。
【0048】
図1で示されるように、本実施の形態による認証システム100は、被認証装置1と、認証装置2とを備える。なお、図1では、認証システム100が、1個の被認証装置1と、1個の認証装置2とを有する場合について示しているが、そうでなくてもよい。認証システム100は、複数の被認証装置1と、1個の認証装置2とを有していてもよい。この場合には、複数の被認証装置1のそれぞれから、複数の認証要求が認証装置2に出力されてもよい。また、本実施の形態では、被認証装置1と認証装置2との間の情報のやり取りが通信、すなわち情報の送受信によって行われる場合について主に説明し、そうでない場合については後述する。その通信は通常、無線通信である。
【0049】
被認証装置1と認証装置2との間で行われる無線通信の通信規格は問わない。無線通信は、例えば、Bluetooth(登録商標)の低消費電力によって行われてもよく、Bluetooth(登録商標)のBR(Basic Rate)/EDR(Enhanced Data Rate)によって行われてもよく、無線LAN(IEEE802.11)によって行われてもよく、ZigBee(登録商標)などのIEEE802.15.4によって行われてもよく、その他の無線の通信規格によって行われてもよい。無線通信は、例えば、近距離無線通信であってもよい。被認証装置1の認証の処理は、一例として、図2で示されるように、(1)被認証装置1と認証装置2との間の無線通信などの接続確立の後に行われてもよい。なお、認証の処理の開始前における両装置間での通信の確立の処理は必ずしも必要ではなく、通信の確立を行わないで認証の処理が行われてもよい。
【0050】
本実施の形態では、被認証装置1から認証装置2に認証要求が出力されるが、認証要求を出力する被認証装置1には、正当な被認証装置1と、正当ではない装置、すなわち悪意の第三者である攻撃者の装置とがある。認証装置1は、認証要求を受け付けた時点では、両者を区別することができないため、説明の便宜上、認証要求を出力する装置を被認証装置1と呼ぶことにする。そして、正当であると判断された被認証装置1を正当な被認証装置1と呼び、正当でないと判断された被認証装置1、すなわち攻撃者の装置を正当でない被認証装置1と呼ぶことにする。
【0051】
図1において、本実施の形態による被認証装置1は、記憶部11と、初期データ取得部12と、第1暗号化部13と、第2データ取得部14と、第2暗号化部15と、出力部16とを備える。被認証装置1は、例えば、スマートフォンや、タブレット端末、PDA(Personal Digital Assistant)、ノートパソコン、トランシーバ等の通信機能を備えた携帯情報端末であってもよく、その他の機器であってもよい。本実施の形態では、被認証装置1が、スマートフォンである場合について主に説明する。
【0052】
記憶部11では、例えば、被認証装置1のユーザを識別するユーザ識別子が記憶されてもよい。ユーザ識別子は、ユーザを識別できるものであれば特に限定されないが、一例として、ユーザの電話番号やメールアドレスであってもよく、ユーザに付与された文字列等であってもよい。また、ユーザ識別子として、例えば、被認証装置1を識別する装置識別子が用いられてもよい。装置識別子は、例えば、被認証装置1のアドレスなどであってもよい。また、記憶部11では、例えば、記憶部11で記憶されているユーザ識別子に対応する暗号鍵が記憶されてもよい。また、記憶部11では、例えば、共有データが記憶されてもよい。暗号鍵や共有データについては後述する。
【0053】
記憶部11に情報が記憶される過程は問わない。例えば、記録媒体や通信回線、入力デバイスを介して情報が記憶部11で記憶されるようになってもよく、他の構成要素によって情報が記憶部11に蓄積されてもよい。記憶部11は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。
【0054】
初期データ取得部12は、ユーザを識別するユーザ識別子と、一意な情報であるユニーク情報とを含む初期データを取得する。初期データ取得部12は、例えば、記憶部11からユーザ識別子を読み出してもよい。初期データ取得部12は、例えば、ユニーク情報を生成してもよく、または、ユニーク情報を他の構成要素や装置から受け取ってもよい。
【0055】
初期データ取得部12によって取得される各ユニーク情報は、例えば、異なる情報であってもよい。例えば、初期データ取得部12が初期データを取得するごとに、異なる初期データが取得されてもよい。この場合には、ユニーク情報は、認証要求に固有の情報となってもよい。すなわち、認証要求ごとに、その認証要求に含まれるユニーク情報が異なってもよい。なお、各ユニーク情報が異なるとは、認証において求められる期間内において、ユニーク情報が重複しないことであってもよい。すなわち、ユニーク情報は、所定の期間において重複しない情報であってもよい。その期間は、例えば、100年程度であってもよい。したがって、その期間を超えた場合には、ユニーク情報が重複してもよい。一例として、ユニーク情報が100年間は重複しない場合には、ある時点に取得されたユニーク情報と、その時点から101年が経過した後に取得されたユニーク情報とは重複してもよい。また、例えば、認証システム100によって、ある特定の日に開催されるイベントにおける認証を行う場合には、ユニーク情報が重複しない期間は、1日や2日程度であってもよい。
【0056】
ユニーク情報は、例えば、時刻、カウンタ値、乱数値の少なくともいずれかを含んでいてもよい。また、通常、時刻やカウンタ値、乱数値などのユニークな情報と、ユニークではない情報とから構成される情報(例えば、上位側ビットがユニークな情報であり、下位側ビットがユニークではない情報など)は、結果として、ユニーク情報となる。したがって、ユニーク情報は、そのように、ユニークな情報とユニークではない情報とから構成されてもよい。
【0057】
時刻は、例えば、ユニーク情報の取得時点の時刻であってもよい。ユニーク情報が取得されてから認証要求が送信されるまでの期間は短いため、この時刻は実質的に認証要求の送信時点であると考えることができる。時刻の精度は、複数の認証要求の送信間隔よりも短いことが好適である。例えば、時刻はミリ秒単位の時刻であってもよい。時刻は、例えば、所定の時点を基準とした経過時間を示す時刻であってもよい。その時刻は、一例として、UNIX時刻であってもよい。この場合には、時刻に時分や年月日も含まれていると考えてもよい。初期データ取得部12は、例えば、図示しない時計部を用いて現在の時刻を取得してもよい。なお、取得した時刻のうち、例えば、所望の周期となる下位の桁をユニーク情報として用いてもよい。また、時刻は、例えば、年月日時分秒を含むものであってもよい。
【0058】
カウンタ値は、例えば、あらかじめ決められた間隔で数値をインクリメントまたはデクリメントした値であってもよい。乱数値は、例えば、乱数表や、乱数を発生させる関数などを用いて生成されてもよい。一例として、カウンタ値や乱数値は、時期に応じて値が異なってもよい。例えば、ある日に生成されるカウンタ値や乱数値と、その次の日に生成されるカウンタ値や乱数値とは異なっていてもよい。このようにすることで、悪意の第三者が、正当な被認証装置1から送信された認証要求に含まれる、カウンタ値や乱数値を含むユニーク情報を使いまわすことができないようにすることができ、悪意の第三者によるなりすましを防止することができる。
【0059】
また、初期データには、ユーザ識別子及びユニーク情報以外の情報が含まれてもよい。初期データに含まれるユーザ識別子及びユニーク情報以外の情報は、例えば、被認証装置1から認証装置2に伝えたい情報であってもよい。
【0060】
第1暗号化部13は、初期データ取得部12によって取得された初期データを用いて、第1データを生成する。第1暗号化部13は、例えば、初期データを、その初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化した第1暗号化データを取得することによって第1データを生成してもよい。また、第1暗号化部13は、例えば、初期データを含む所定のデータ量のデータを、その初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化した第1暗号化データを取得することによって第1データを生成してもよい。初期データを含む所定のデータ量のデータは、例えば、初期データにパディングを行うことによって、あらかじめ決められたデータ量にしたデータであってもよい。パディングの方法は、例えば、あらかじめ決まっていてもよい。この場合には、第1暗号化部13は、例えば、図3で示されるように、ユーザ識別子ID及びユニーク情報Uを含む初期データとパディングされた情報Pとを含むパディングされた初期データを、その初期データに含まれるユーザ識別子IDに対応する暗号鍵Kを用いて暗号化して第1暗号化データER1を出力する暗号化部13-1を有していてもよい。暗号化部13-1による暗号化は、一例として、AES(Advanced Encryption Standard)によって行われてもよく、他のアルゴリズムによって行われてもよい。その暗号鍵Kは、例えば、初期データに含まれるユーザ識別子で識別されるユーザに固有の暗号鍵、すなわち、そのユーザのみが知ることができ、他のユーザは知ることができない暗号鍵であってもよい。その暗号鍵は、一例として、記憶部11で記憶されていてもよい。
【0061】
第1暗号化部13が用いる暗号鍵は、例えば、共通鍵暗号の鍵であってもよく、公開鍵暗号の公開鍵または秘密鍵であってもよい。いずれの暗号鍵が用いられる場合であっても、被認証装置1の第1暗号化部13において用いられる暗号鍵と、認証装置2の後述する暗号化部22において用いられる暗号鍵は同じであることが好適である。一例として、被認証装置1の第1暗号化部13が用いる暗号鍵が、公開鍵暗号の公開鍵である場合には、認証装置2の暗号化部22においても同じ公開鍵が用いられることが好適である。なお、いずれの暗号鍵が用いられる場合であっても、その暗号鍵は被認証装置1ごとに、すなわちユーザごとに異なっていることが好適である。
【0062】
また、第1暗号化部13は、例えば、第1暗号化データそのものを第1データとしてもよく、または、第1暗号化データのデータ量を削減することによって第1データを生成してもよい。後者の場合には、例えば、第1暗号化部13は、第1暗号化データをハッシュ化することによってデータ量を削減してもよく、第1暗号化データの一部のデータを抽出することによってデータ量を削減してもよい。第1暗号化データの一部のデータの抽出は、例えば、第1暗号化データの所定のビット数の上位側ビットまたは下位側ビットの抽出であってもよく、第1暗号化データのビット列におけるあらかじめ決められたビット(桁)の値の抽出であってもよい。本実施の形態では、第1暗号化データをハッシュ化することによって第1データを生成する場合について主に説明する。この場合には、第1暗号化部13は、例えば、図3で示されるように、第1暗号化データER1をハッシュ化して第1データR1を出力するハッシュ生成部13-2を有していてもよい。
【0063】
第2データ取得部14は、認証装置2と共有している共有データを含む第2データを取得する。第2データ取得部14は、例えば、共有データを認証装置2から取得してもよく、共有データを生成してもよい。本実施の形態では、前者の場合について主に説明する。被認証装置1と認証装置2との情報のやり取りが通信によって行われる場合には、図2で示されるように、(2)認証装置2から被認証装置1に対する共有データの送信が行われ、第2データ取得部14は、その送信された共有データを認証装置2から受信してもよい。第2データ取得部14が共有データを生成する場合には、認証装置2と同じアルゴリズムによって共有データを生成することが好適である。被認証装置1と認証装置2との間で、共有データを共有することができるようにするためである。なお、第2データは、例えば、共有データであってもよく、共有データ以外のデータを含んでいてもよい。後者の場合には、一例として、被認証装置1から認証装置2に伝えたい情報であって、第三者に知られたくない情報が第2データに含まれるようにしてもよい。本実施の形態では、第2データが共有データである場合について主に説明する。
【0064】
なお、共有データは、例えば、乱数を含んでいてもよい。この場合には、共有データは、例えば、乱数データであってもよく、乱数データ以外のデータを含んでいてもよい。また、共有データとして、乱数以外のデータが用いられてもよい。本実施の形態では、共有データが乱数である場合について主に説明する。また、共有データは、例えば、被認証装置1ごとに異なっていることが好適であるが、そうでなくてもよい。また、前者の場合に、共有データは、例えば、ある被認証装置1について複数の認証要求を用いて行われる1回の認証処理に固有の情報であり、異なる認証処理では、異なる共有データが用いられてもよく、または、複数の認証処理において、同じ共有データが用いられてもよい。また、異なる認証処理において、異なる共有データが用いられる場合において、例えば、1回の認証処理に用いられる認証要求ごとに共有データが異なっていてもよく、または、1回の認証要求に用いられる複数の認証要求について同じ共有データが用いられてもよい。本実施の形態では、共有データが、被認証装置1ごとに異なっており、また、認証処理ごとに異なっているが、1回の認証処理では、同じ共有データが用いられる場合について主に説明する。第2データ取得部14は、例えば、取得した共有データまたは第2データを記憶部11に蓄積してもよい。
【0065】
第2暗号化部15は、第2データ取得部14によって取得された第2データを、第1暗号化部13によって生成された第1データを用いて暗号化することによって第2暗号化データを取得する。第2暗号化部15は、例えば、第1データを暗号鍵として用いて、第2データを暗号化してもよい。また、第2暗号化部15は、例えば、図3で示されるように、第1データR1と第2データR2との排他的論理和である第2暗号化データERを取得してもよい。本実施の形態では、この場合について主に説明する。第2暗号化部15によって第1データと第2データとの排他的論理和が演算される場合には、第1データのデータ量と第2データのデータ量とは同じであることが好適である。データ量が同じであるとは、例えば、ビット数が同じであることであってもよい。
【0066】
出力部16は、複数の異なる認証要求を認証装置2に対して出力する。認証要求は、初期データ取得部12によって取得された初期データと、第2暗号化部15によって取得された第2暗号化データとを含む情報である。認証要求には、初期データと第2暗号化データのみが含まれていてもよく、または、他の情報も含まれていてもよい。
【0067】
複数の認証要求は、それぞれ異なる複数の初期データを含んでいてもよい。このようにすることで、複数の認証要求は、それぞれ異なる情報となる。なお、ある認証要求に含まれる第2暗号化データは、その認証要求に含まれる初期データを用いて生成された第1データを用いて第2データが暗号化されたものである。また、1回の認証処理に用いられる複数の認証要求に含まれる第2暗号化データの取得に用いられる第2データは、例えば、すべて同じものであってもよい。一方、第1データは第2暗号化データの取得ごとに異なっているため、1回の認証処理に用いられる複数の認証要求に含まれる複数の第2暗号化データはそれぞれ異なるものとなる。1回の認証処理に用いられる複数の認証要求とは、被認証装置1が正当であるかどうかを判断する処理に用いられる複数の認証要求のことである。
【0068】
なお、認証要求は、例えば、全体が暗号化されてから出力されてもよい。この暗号化は、一例として、認証装置2に認証要求を送信する複数の被認証装置1において共通している暗号鍵を用いて行われてもよい。本実施の形態では、この暗号化が行われない場合について主に説明する。
【0069】
ここで、この出力は、例えば、所定の機器への通信回線を介した送信でもよく、表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)への表示でもよく、プリンタによる印刷でもよく、スピーカによる音出力でもよく、他の構成要素への引き渡しでもよい。被認証装置1と認証装置2との情報のやり取りが通信によって行われる場合には、出力部16は、複数の認証要求を認証装置2に送信してもよい。この場合には、図2で示されるように、(3)被認証装置1から認証装置2に対する認証要求の送信が複数回繰り返されてもよい。なお、出力部16は、出力を行うデバイス(例えば、通信デバイスや表示デバイスなど)を含んでもよく、または含まなくてもよい。また、出力部16は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0070】
また、認証装置2から被認証装置1に認証結果が出力される場合には、被認証装置1は、認証装置2から出力された認証結果を受け付ける受付部を備えていてもよい。被認証装置1と認証装置2との情報のやり取りが通信である場合に、その受付部は、認証装置2から認証結果を受信してもよい。この場合には、図2で示されるように、(4)認証装置2から被認証装置1に対する認証結果の送信が行われ、その送信された認証結果が被認証装置1で受信されてもよい。受け付けられた認証結果は、一例として、被認証装置1のユーザに対して出力されてもよい。その出力は、例えば、表示や音出力等であってもよい。
【0071】
図1において、本実施の形態による認証装置2は、受付部21と、暗号化部22と、記憶部23と、判断部24と、認証部25と、認証結果出力部26と、データ出力部27とを備える。認証装置2は、例えば、自動改札機、イベント等の会場へ入場するためのゲート、自動販売機、ホテルや貸し会議室のドアを施錠・解錠する制御装置、キャッシュレジスタ等において被認証装置1の認証を行う装置であってもよく、または、被認証装置1の認証を行うコンピュータやスマートフォン等の通信機能を備えた情報端末であってもよい。本実施の形態では、被認証装置1が通信機能を有する情報端末である場合について主に説明する。
【0072】
受付部21は、複数の異なる認証要求を被認証装置1から受け付ける。被認証装置1と認証装置2との情報のやり取りが通信によって行われる場合には、受付部21は、複数の認証要求を被認証装置1から受信してもよい。受け付けられる認証要求は、上記したように、ユーザを識別するユーザ識別子及び一意な情報であるユニーク情報を含む初期データと、その初期データを用いて生成された第2暗号化データとを含むものである。その第2暗号化データは、上記したように、共有データを含む第2データが第1データを用いて暗号化されたデータである。また、その第1データは、認証要求に含まれる初期データが、その初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化された第1暗号化データが取得されることによって生成されたデータである。被認証装置1の認証に認証要求の受付時刻も用いられる場合には、受付部21は、例えば、認証要求を受け付けた際に、その受付時刻を取得して認証部25に渡してもよい。
【0073】
なお、被認証装置1において、認証要求が暗号化されてから出力される場合には、認証要求が受け付けられた後に、暗号化された認証要求が復号されてもよい。本実施の形態では、上記のように、この暗号化や復号が行われない場合について主に説明する。
【0074】
受付部21は、例えば、無線の通信回線を介して送信された情報を受信してもよく、後述するように、表示された情報を読み取ってもよく、その他の方法によって情報を受け付けてもよい。なお、受付部21は、受け付けを行うためのデバイス(例えば、通信デバイスや撮像デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部21は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0075】
暗号化部22は、受付部21によって受け付けられた認証要求に含まれる初期データを用いて第1データを生成する。この第1データの生成は、被認証装置1の第1暗号化部13による第1データの生成と同様に行われることが好適である。被認証装置1において生成された第1データと同じ第1データを生成するためである。暗号化部22は、例えば、受付部21によって受け付けられた認証要求に含まれる初期データを、その初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化した第1暗号化データを取得することによって第1データを生成してもよい。また、暗号化部22は、例えば、受付部21によって受け付けられた認証要求に含まれる初期データを含む所定のデータ量のデータを、その初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化した第1暗号化データを取得することによって第1データを生成してもよい。この場合には、暗号化部22は、例えば、図4で示されるように、初期データにパディングを行うことによって、所定のデータ量のパディングされた初期データを生成する生成部22-1と、パティングされた初期データを、その初期データに含まれるユーザ識別子IDに対応する暗号鍵Kを用いて暗号化して第1暗号化データER1を出力する暗号化部22-2とを有していてもよい。例えば、ユーザ識別子と暗号鍵とを対応付ける情報は記憶部23で記憶されており、暗号化部22は、その情報を用いて、初期データに含まれるユーザ識別子IDに対応する暗号鍵Kを取得してもよい。
【0076】
また、暗号化部22は、例えば、第1暗号化データそのものを第1データとしてもよく、または、第1暗号化データのデータ量を削減することによって第1データを生成してもよい。暗号化部22は、例えば、第1暗号化データをハッシュ化することによってデータ量を削減してもよく、第1暗号化データの一部のデータを抽出することによってデータ量を削減してもよい。本実施の形態では、前者の場合について主に説明する。この場合には、暗号化部22は、例えば、図4で示されるように、第1暗号化データER1をハッシュ化して第1データR1を出力するハッシュ生成部22-3を有していてもよい。なお、上記のように、暗号化部22による第1データの生成は、被認証装置1の第1暗号化部13による第1データの生成と同様に行われるため、その詳細な説明を省略する。
【0077】
記憶部23では、正当な被認証装置1と共有している共有データが記憶される。共有データの正当な被認証装置1との共有は、例えば、共有データを認証装置2から被認証装置1に出力することによって行われてもよく、または、被認証装置1と認証装置2とにおいて同じ共有データを生成することによって行われてもよい。本実施の形態では、前者の場合について主に説明する。記憶部23では、例えば、ユーザ識別子と、そのユーザ識別子で識別されるユーザの被認証装置1で用いられる共有データとを対応付ける情報が記憶されていてもよい。このようにして、ユーザ識別子に対応する共有データを特定することができるようになる。なお、共有データは、ユーザ識別子ごとに異なっていることが好適である。また、記憶部23では、上記したように、ユーザごとの暗号鍵も記憶されていてもよい。
【0078】
記憶部23に情報が記憶される過程は問わない。例えば、記録媒体や通信回線、入力デバイスを介して情報が記憶部11で記憶されるようになってもよく、他の構成要素によって情報が記憶部11に蓄積されてもよい。記憶部23は、不揮発性の記録媒体によって実現されてもよく、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。
【0079】
判断部24は、受付部21によって受け付けられた認証要求に含まれる第2暗号化データに対応する共有データと、記憶部23で記憶されている共有データとが一致するかどうかを、暗号化部22によって生成された第1データを用いて判断する。認証要求に含まれる第2暗号化データに対応する共有データとは、その第2暗号化データの生成に用いられた第2データに含まれる共有データのことである。例えば、暗号化部22によって生成された第1データを用いて第2暗号化データを復号することによって、その第2暗号化データに対応する第2データを特定することができ、その第2データに含まれる共有データを特定することができる。また、記憶部23で記憶されている共有データとは、例えば、記憶部23において、認証要求に含まれるユーザ識別子に対応付けられて記憶されている共有データであってもよい。
【0080】
判断部24は、例えば、受け付けられた認証要求に含まれる第2暗号化データを、暗号化部22によって生成された第1データを用いて復号して第2データを取得し、その取得した第2データに含まれる共有データと、記憶部23において、その認証要求に含まれるユーザ識別子に対応付けられて記憶されている共有データとを比較することによって、両者が一致するかどうかを判断してもよい。一例として、被認証装置1において、第1データを用いた第2データの暗号化が、第1データと第2データとの排他的論理和を演算することによって行われている場合には、第2暗号化データの復号は、第2暗号化データと第1データとの排他的論理和を演算することによって行われてもよい。この場合には、判断部24は、例えば、図4で示されるように、認証要求に含まれる第2暗号化データER2と、生成された第1データR1との排他的論理和を演算して第2データR2を出力する演算部24-1と、記憶部23において記憶されている共有データS1と、演算部24-1から出力された第2データR2に含まれる共有データS2とを比較する比較部24-2とを有していてもよい。比較部24-2は、例えば、両共有データS1,S2が一致するかどうかの判断結果を出力してもよい。
【0081】
また、第2データが共有データである場合には、判断部24は、例えば、暗号化部22によって生成された第1データを用いて、受け付けられた認証要求に含まれるユーザ識別子に対応付けられて記憶されている共有データである第2データを暗号化することによって第2暗号化データを取得し、その取得した第2暗号化データと、受け付けられた認証要求に含まれる第2暗号化データとを比較することによって、認証要求に含まれる第2暗号化データに対応する共有データと、記憶部23で記憶されている共有データとが一致するかどうかを判断してもよい。この場合には、両第2暗号化データが一致するときに、両共有データが一致すると判断され、両第2暗号化データが一致しないときに、両共有データが一致しないと判断されてもよい。
【0082】
認証部25は、認証対象の被認証装置1から受け付けられた複数の認証要求に含まれるユニーク情報が整合しており、かつ、複数の認証要求のそれぞれについて、認証要求に含まれる第2暗号化データに対応する共有データと記憶部23で記憶されている共有データとが一致すると判断された場合に、認証対象の被認証装置1が正当であると判断し、そうでない場合に、認証対象の被認証装置1が正当でないと判断する。後者の場合に、認証部25は、例えば、認証対象の被認証装置1から受け付けられた複数の認証要求に含まれるユニーク情報が整合していないときに、認証対象の被認証装置1が正当でないと判断してもよく、複数の認証要求の少なくともいずれかについて、認証要求に含まれる第2暗号化データに対応する共有データと記憶部23で記憶されている共有データとが一致しないと判断されたときに、認証対象の被認証装置1が正当でないと判断してもよい。
【0083】
認証部25が、被認証装置1が正当であるかどうかの判断に用いる複数の認証要求は、例えば、あらかじめ決められた個数の認証要求であってもよく、あらかじめ決められた期間に受け付けた複数の認証要求であってもよい。その期間は、例えば、1個目の認証要求の受付時点から開始されてもよい。
【0084】
ここで、複数の認証要求に含まれるユニーク情報が整合しているかどうかの判断について説明する。複数のユニーク情報が整合しているかどうかは、例えば、複数の認証要求に含まれる複数のユニーク情報を認証装置2で生成または取得した複数のユニーク情報と比較することによって判断されてもよく、複数のユニーク情報が所定のルールにあっているかどうかによって判断されてもよい。
【0085】
ユニーク情報がカウンタ値や乱数値である場合に、認証部25は、例えば、カウンタ値や乱数値を取得するための関数や、乱数表などのテーブルなどを用いてカウンタ値や乱数値を取得し、その取得したカウンタ値や乱数値と、複数のユニーク情報であるカウンタ値や乱数値とをそれぞれ比較して、それらがすべて一致しているときに複数のユニーク情報が整合していると判断し、少なくとも1つが一致していないときに複数のユニーク情報が整合していないと判断してもよい。
【0086】
ユニーク情報がカウンタ値である場合に、認証部25は、例えば、複数の認証要求に含まれるカウンタ値が所定のルールを満たしているときに、複数のユニーク情報が整合していると判断し、そうでないときに、複数のユニーク情報が整合していないと判断してもよい。所定のルールは、例えば、「カウンタ値が2ずつインクリメントする」などであってもよい。この場合には、認証部25は、例えば、複数の認証要求に含まれるユニーク情報であるカウンタ値を、認証要求の受付順に並べた際に、カウンタ値が2ずつ増加しているときに複数のユニーク情報が整合していると判断し、少なくとも一部のカウンタ値の増加分が2でないときに複数のユニーク情報が整合していないと判断してもよい。
【0087】
ユニーク情報が時刻である場合に、認証部25は、例えば、被認証装置1の認証に用いる複数の認証要求のすべてについて、認証要求に含まれるユニーク情報である時刻と、その認証要求の受付時刻との時刻差が所定の閾値より小さいときに、複数のユニーク情報が整合していると判断し、そうでないときに、複数のユニーク情報が整合していないと判断してもよい。認証要求の受付時刻は、例えば、認証要求を受け付けた際に、受付部21が図示しない時計部から取得してもよい。
【0088】
ユニーク情報が時刻である場合に、認証部25は、例えば、受け付けの順番に応じてユニーク情報である時刻が増加しないとき、例えば、時点Aに受け付けられた認証要求に含まれるユニーク情報である時刻の方が、時点Aの後である時点Bに受け付けられた認証要求に含まれるユニーク情報である時刻よりも後の時点を示すときに、複数のユニーク情報が整合していないと判断してもよい。この場合には、時刻Bに受け付けられた認証要求は、時刻Aに受け付けられた認証要求よりも以前に正当な被認証装置1から出力された認証要求を、攻撃者の装置が複製して再度、出力したと考えられるからである。
【0089】
ユニーク情報が時刻である場合に、認証部25は、例えば、被認証装置1の認証に用いる複数の認証要求のすべてについて、認証要求に含まれるユニーク情報である時刻と、その認証要求の受付時刻との時刻差をそれぞれ取得し、取得した複数の時刻差のすべてが一定であるときに、複数のユニーク情報が整合していると判断し、そうでないときに、複数のユニーク情報が整合していないと判断してもよい。このようにすることで、被認証装置1の時計部と、認証装置2の時計部とが完全に同期していない場合でも、時刻である複数のユニーク情報が整合しているかどうかを適切に判断することができる。被認証装置1と認証装置2とは通常、短距離で認証要求の受け渡しを行うため、その受け渡しに起因する遅延が、複数の認証要求について略一定であると考えられるからである。なお、複数の時刻差が一定であるとは、例えば、複数の時刻差の最大値と最小値との差が、あらかじめ決められた閾値より小さいことであってもよく、複数の時刻差のばらつき(例えば、分散や標準偏差など)が、あらかじめ決められた閾値より小さいことであってもよい。
【0090】
なお、認証部25は、例えば、複数のユニーク情報が整合しているかどうかの複数の判断のうち、任意の2以上の判断を行ってもよい。この場合には、その2以上の判断のそれぞれにおいて、複数のユニーク情報が整合していると判断されたときに、複数のユニーク情報が整合していると最終的に判断され、少なくとも一部の判断において、複数のユニーク情報が整合していないと判断されたときに、複数のユニーク情報が整合していないと最終的に判断されてもよい。ユニーク情報に、時刻、カウンタ値、乱数値の任意の2以上の種類の情報が含まれる場合にも、ユニーク情報に含まれる各種類の情報について、整合しているかどうかの判断がそれぞれ行われてもよい。この場合にも、すべての種類の情報が整合しているときに、複数のユニーク情報が整合していると最終的に判断され、そうでないときに、複数のユニーク情報が整合していないと最終的に判断されてもよい。
【0091】
なお、認証部25は、例えば、複数の認証要求のすべてが、正当でない被認証装置1から送信された場合に、その被認証装置1が正当ではないと判断することになる。また、認証部25は、例えば、複数の認証要求に、正当ではない装置から送信された認証要求が含まれる場合にも、その複数の認証要求を送信した被認証装置1が正当ではないと判断することになる。すなわち、複数の認証要求が、正当な被認証装置1と、正当でない被認証装置1とから送信された場合にも、その複数の認証要求の送信元の被認証装置1は、正当ではないと判断されることになる。この場合には、認証要求の送信元に、少なくとも攻撃者の装置が含まれることになり、仮に正当な被認証装置1が送信元に含まれるとしても、両者を区別することはできないため、両者共に正当でないと判断することになる。
【0092】
認証結果出力部26は、認証部25による判断結果である認証結果を出力する。認証結果は、例えば、被認証装置1が正当であるのか、正当でないのかを示す情報であってもよい。認証結果出力部26は、例えば、認証結果を、認証結果に応じて処理を行う構成要素や装置に出力してもよい。また、認証結果出力部26は、例えば、認証結果を、複数の認証要求を出力した被認証装置1、すなわち認証の対象となった被認証装置1にも出力してもよい。この場合には、被認証装置1のユーザは、認証結果について知ることができるようになる。被認証装置1と認証装置2との情報のやり取りが通信によって行われる場合には、認証結果出力部26は、認証結果を被認証装置1に送信してもよい。
【0093】
データ出力部27は、共有データを生成して被認証装置1に出力すると共に、その共有データを記憶部23に蓄積してもよい。データ出力部27は、例えば、ある被認証装置1に出力した共有データと、その被認証装置1のユーザを識別するユーザ識別子とを対応付けて記憶部23に蓄積してもよい。被認証装置1と認証装置2との情報のやり取りが通信によって行われる場合には、データ出力部27は、共有データを被認証装置1に送信してもよい。その送信は、例えば、ユニキャストによって行われてもよい。なお、データ出力部27による共有データの被認証装置1への出力は、共有データが第三者に知られないようにセキュアな方法で行われることが好適であるが、そうでなくてもよい。前者の場合には、共有データは、例えば、記憶部23で記憶されている、被認証装置1のユーザを識別するユーザ識別子に対応付けられている暗号鍵を用いて暗号化されて出力されてもよく、認証要求のやり取りとは別の経路によって出力されてもよい。一例として、認証要求がBluetooth(登録商標)などの近距離無線通信によって送受信されている場合には、共有データは、インターネットなどの広域通信網を介して送受信されてもよい。このように、データ出力部27によって共有データが出力される場合には、受付部21によって正当な被認証装置1から受け付けられた認証要求に含まれる第2暗号化データは、その出力された共有データを含む第2データが暗号化されたものとなる。本実施の形態では、共有データが第三者に知られないように認証装置2から被認証装置1に送信される場合について主に説明する。
【0094】
ここで、認証結果出力部26やデータ出力部27による出力は、例えば、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音出力でもよく、表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)への表示でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、認証結果出力部26やデータ出力部27は、出力を行うデバイス(例えば、通信デバイスや表示デバイスなど)を含んでもよく、または含まなくてもよい。また、認証結果出力部26やデータ出力部27は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0095】
次に、被認証装置1の動作について図5のフローチャートを用いて説明する。図5は、図2において、被認証装置1と認証装置2との通信が確立した後の被認証装置1の処理である認証要求出力方法について示すフローチャートである。図5のフローチャートでは、上記のように、被認証装置1と認証装置2との情報のやり取りが通信によって行われる場合について説明する
【0096】
(ステップS101)第2データ取得部14は、共有データを受信したかどうか判断する。そして、共有データを受信した場合には、ステップS102に進み、そうでない場合には、共有データを受信するまでステップS101の処理を繰り返す。
【0097】
(ステップS102)初期データ取得部12は、初期データを取得する。
【0098】
(ステップS103)第1暗号化部13は、ステップS102で取得された初期データを用いて、第1データを生成する。
【0099】
(ステップS104)第2暗号化部15は、ステップS101で受信された共有データを含む第2データを、ステップS103で生成された第1データを用いて暗号化することによって第2暗号化データを取得する。
【0100】
(ステップS105)出力部16は、ステップS102で取得された初期データと、ステップS104で取得された第2暗号化データとを含む認証要求を認証装置2に送信する。
【0101】
(ステップS106)出力部16は、認証要求の送信を終了するかどうか判断する。そして、認証要求の送信を終了する場合には、複数の認証要求を送信する一連の処理は終了となり、そうでない場合には、ステップS102に戻る。なお、出力部16は、例えば、あらかじめ決められた個数の認証要求を送信した場合に、認証要求の送信を終了すると判断してもよく、1個目の認証要求を送信時点から、あらかじめ決められた期間が経過した場合に、認証要求の送信を終了すると判断してもよい。認証要求の送信を終了するかどうかの判断処理は、例えば、出力部16以外の構成要素によって行われてもよい。
【0102】
なお、認証要求の送信間隔は、短い方が好適である。複数の認証要求の送信が完了しなければ、認証装置2による認証の処理も完了しないからである。一例として、認証要求の送信間隔は、200ms以下であってもよく、100ms以下であってもよい。また、図5のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。
【0103】
次に、認証装置2の動作について図6のフローチャートを用いて説明する。図6は、図2において、被認証装置1と認証装置2との通信が確立した後の認証装置2の処理である認証方法について示すフローチャートである。図6のフローチャートでは、上記のように、被認証装置1と認証装置2との情報のやり取りが通信によって行われる場合について説明する
【0104】
(ステップS201)データ出力部27は、共有データを生成して被認証装置1に送信すると共に、その共有データを記憶部23に蓄積する。
【0105】
(ステップS202)受付部21は、認証要求を受信したかどうか判断する。そして、認証要求を受信した場合には、ステップS203に進み、そうでない場合には、ステップS206に進む。
【0106】
(ステップS203)暗号化部22は、受信された認証要求に含まれる初期データを用いて第1データを生成する。
【0107】
(ステップS204)判断部24は、受信された認証要求に含まれる第2暗号化データに対応する共有データと、記憶部23で記憶されている共有データとが一致するかどうかを、ステップS203で生成された第1データを用いて判断する。そして、両者が一致する場合には、ステップS202に戻り、そうでない場合には、ステップS205に進む。
【0108】
(ステップS205)認証部25は、認証要求を送信した被認証装置1が正当でないと判断する。
【0109】
(ステップS206)認証部25は、複数の認証要求を用いた被認証装置1の認証を行うかどうか判断する。そして、被認証装置1の認証を行う場合には、ステップS207に進み、そうでない場合には、ステップS202に戻る。認証部25は、例えば、ある被認証装置1から所定の個数の認証要求が受信された場合に、その被認証装置1について認証を行うと判断してもよく、ある被認証装置1から1個目の認証要求が受信されてから所定の期間が経過した場合に、その被認証装置1について認証を行うと判断してもよい。
【0110】
(ステップS207)認証部25は、ある被認証装置1から受信された複数の認証要求に含まれる複数のユニーク情報が整合しているかどうか判断する。そして、複数のユニーク情報が整合している場合には、ステップS208に進み、そうでない場合には、ステップS205に進む。
【0111】
(ステップS208)認証部25は、認証要求を送信した被認証装置1が正当であると判断する。
【0112】
(ステップS209)認証結果出力部26は、認証部25による判断結果である認証結果を出力する。そして、被認証装置1を認証する一連の処理は終了となる。
【0113】
なお、図6のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。
【0114】
次に、本実施の形態による被認証装置1及び認証装置2の動作について、具体例を用いて説明する。本具体例では、正当な被認証装置1は、10個の認証要求を認証装置2に送信するものとする。また、本具体例では、ユニーク情報が時刻であり、認証部25は、認証要求に含まれるユニーク情報である時刻と、その認証要求の受信時刻との時刻差が、10個の認証要求のすべてについて一定であると共に、ユニーク情報である時刻と、受信時刻との時刻差が、10個の認証要求のすべてについて所定の閾値より小さい場合に、10個のユニーク情報が整合していると判断するものとする。本具体例では、まず、正当な被認証装置1のみから認証要求が送信される場合について説明し、その後に、悪意の第三者である攻撃者が、なりすまして認証要求を送信する場合について説明する。
【0115】
[正当な被認証装置1のみからの認証要求の送信]
被認証装置1と認証装置2との間で通信か確立したとする。その際に、認証装置2は、被認証装置1のユーザのユーザ識別子「U001」を取得したとする。すると、認証装置2のデータ出力部27は、乱数である共有データを生成して被認証装置1に送信すると共に、その共有データと、ユーザ識別子「U001」とを対応付けて記憶部23に蓄積する(ステップS201)。なお、共有データのビット数はあらかじめ決められているとする。
【0116】
被認証装置1の第2データ取得部14は、認証装置2から送信された共有データを受信して、その共有データである第2データを第2暗号化部15に渡す(ステップS101)。受信された共有データである第2データは、図示しない記録媒体で記憶されてもよい。
【0117】
次に、初期データ取得部12は、その時点の時刻を取得し、記憶部11で記憶されているユーザ識別子「U001」を読み出し、その取得した時刻であるユニーク情報と、読み出したユーザ識別子とを含む初期データを暗号化部22と出力部16とに渡す(ステップS102)。初期データを受け取ると、暗号化部22は、初期データにパディングを行うことによって所定のビット数のデータを生成し、その生成したデータを、記憶部11で記憶されている暗号鍵を用いて暗号化して第1暗号化データを取得し、その第1暗号化データをハッシュ化することによって、あらかじめ決められたビット数の第1データを生成して第2暗号化部15に渡す(ステップS103)。なお、第1データのビット数と、第2データのビット数とは同じであるとする。
【0118】
第1データを受け取ると、第2暗号化部15は、第1データと第2データとの排他的論理和である第2暗号化データを取得して出力部16に渡す(ステップS104)。第2暗号化データを受け取ると、出力部16は、初期データと第2暗号化データとを含む認証要求を認証装置2に送信する(ステップS105)。
【0119】
被認証装置1から送信された認証要求は、認証装置2の受付部21で受信され、認証要求に含まれる初期データが暗号化部22に渡され、その初期データに含まれるユニーク情報と認証要求の受信時刻との組が認証部25に渡され、認証要求に含まれる第2暗号化データが判断部24に渡される(ステップS202)。
【0120】
初期データを受け取ると、暗号化部22は、初期データにパディングを行うことによって所定のビット数のデータを生成し、その生成したデータを、記憶部23において、初期データに含まれるユーザ識別子「U001」に対応付けて記憶されている暗号鍵を用いて暗号化して第1暗号化データを取得し、その第1暗号化データをハッシュ化することによって、あらかじめ決められたビット数の第1データを生成し、その第1データと、初期データに含まれるユーザ識別子とを判断部24に渡す(ステップS203)。
【0121】
第1データとユーザ識別子とを受け取ると、判断部24は、第2暗号化データと第1データとの排他的論理和を演算することによって、第2データである共有データを取得すると共に、記憶部23において、そのユーザ識別子に対応付けて記憶されている共有データを読み出して、両共有データが一致するかどうか判断する(ステップS204)。ここでは、両共有データは一致したとする。その後、被認証装置1における認証要求を送信する処理と、認証装置2における認証要求を受信して2個の共有データが一致するかどうかを判断する処理とが繰り返される(ステップS102~S106、S202~S204)。本具体例では、被認証装置1から認証装置2に送信された10個の認証要求のすべてについて、2個の共有データが一致すると判断されたとする。
【0122】
10個の認証要求が受信されると、認証部25は、被認証装置1の認証を行うと判断し(ステップS206)、それまでに受け取った時刻であるユニーク情報と、受信時刻との10個の組のそれぞれについて時刻差を取得し、10個の時刻差が一定であるかどうかと、10個の時刻差が閾値より小さいかどうかとについて判断する(ステップS207)。本具体例では、10個の時刻差が一定であり、また10個の時刻差のそれぞれが閾値より小さかったとする。すると、認証部25は、10個のユニーク情報が整合していると判断し、被認証装置1が正当であると判断して、その判断結果である認証結果を認証結果出力部26に渡す(ステップS208)。認証結果を受け取ると、認証結果出力部26は、その認証結果を被認証装置1に送信すると共に、認証結果に応じた処理を行う構成要素や装置に出力する(ステップS209)。その結果、被認証装置1のユーザ、すなわちユーザ識別子「U001」で識別されるユーザは、正当であると認証された旨の認証結果を知ることができると共に、その認証結果に応じたサービス等を受けることができる。
【0123】
[異なる暗号鍵及び共有データを用いた認証要求の送信]
悪意の第三者である攻撃者の装置が、正当な被認証装置1から送信された認証要求を受信し、その認証要求に含まれる初期データからユーザ識別子を取得したとする。そして、その攻撃者の装置は、取得したユーザ識別子と、攻撃者の装置が認証要求を送信する時点の時刻であるユニーク情報とを用いて新たな初期データを構成し、その初期データを用いて、被認証装置1と同様にして第2暗号化データを取得して、初期データと第2暗号化データとを含む認証要求を認証装置2に送信することを繰り返したとする。この場合には、複数のユニーク情報については整合していることになるが、悪意の第三者は、ユーザ識別子に対応する暗号鍵、及び共有データを知らないため、正当な被認証装置1から送信される認証要求に含まれる第2暗号化データを再現することはできない。その結果、認証装置2において、受信された認証要求に含まれる第2暗号化データに対応する共有データと、記憶部23で記憶されている共有データとが一致しないと判断され(ステップS204)、攻撃者の装置は、正当でないと判断されることになる(ステップS205)。このように、正当な被認証装置1で用いられる暗号鍵及び共有データを知らない悪意の第三者である攻撃者の装置によるなりすましを防止することができる。
【0124】
なお、共有データが悪意の第三者に知られていたとしても、その第三者は、暗号鍵を持っていないため、正当と判断される第2暗号化データを再現することができない。そのため、例えば、共有データは、認証装置2から被認証装置1にセキュアではない経路で渡されてもよい。
【0125】
[複数の認証要求の後からの送信]
悪意の第三者である攻撃者の装置が、正当な被認証装置1から送信されたすべての認証要求を受信し、その複数の認証要求を、後から認証装置2に送信した場合について説明する。攻撃者の装置が、正当な被認証装置1とは異なる送信間隔で複数の認証要求を送信した場合には、認証要求に含まれるユニーク情報である時刻と、認証要求の受信時刻との時刻差が一定でないことによって、認証装置2において、複数のユニーク情報が整合していないと判断されることになり(ステップS207)、攻撃者の装置は正当でないと判断されることになる(ステップS205)。また、攻撃者の装置が、正当な被認証装置1と同じ送信間隔で複数の認証要求を送信することができた場合であっても、正当な被認証装置1による認証要求の送信から、攻撃者の装置による認証要求の送信までに閾値を超える時間が経過していた場合には、認証要求に含まれるユニーク情報である時刻と、認証要求の受信時刻との時刻差が閾値より小さくないことによって、認証装置2において、複数のユニーク情報が整合していないと判断されることになり(ステップS207)、攻撃者の装置は正当でないと判断されることになる(ステップS205)。このように、複数の認証要求を受信した攻撃者の装置によるなりすましを防止することができる。
【0126】
最後に、本実施の形態による認証装置2を実装した装置やシステムなどの例について簡単に説明する。
【0127】
認証装置2は、自動改札機に組み込まれていてもよい。そして、自動改札機は、近くに存在する被認証装置1との通信を確立させて、被認証装置1に共有データを送信してもよい。ユーザが有する被認証装置1は、その共有データを受信すると、上記のようにして複数の認証要求を自動改札機の認証装置2に送信する。認証装置2が、その複数の認証要求を用いて、被認証装置1が正当であると判断すると、自動改札機のゲートが開き、ユーザは、改札内に入ったり、改札外に出たりすることができる。また、ユーザが改札内に入る際に、または改札外に出る際に、ユーザへの課金が行われる。このようにして、例えば、ユーザは被認証装置1であるスマートフォン等を操作することなく、電車等に乗ることができるようになる。
【0128】
認証装置2は、飲み物などの自動販売機に組み込まれてもよい。そして、自動販売機の購入ボタンをユーザが操作すると、自動販売機は、近くに存在する被認証装置1との通信を確立させて、その被認証装置1に共有データを送信してもよい。ユーザが有する被認証装置1は、その共有データを受信すると、上記のようにして複数の認証要求を自動販売機の認証装置2に送信する。認証装置2が、その複数の認証要求を用いて、被認証装置1が正当であると判断すると、ユーザが操作した購入ボタンに応じた飲み物などの商品が自動販売機から出てくることになり、ユーザは、その商品を受け取ることができる。また、その処理に応じて、適宜、ユーザへの課金が行われる。このようにして、例えば、ユーザは被認証装置1であるスマートフォン等を操作することなく、自動販売機で商品を購入することができるようになる。
【0129】
認証装置2は、コンサートやスポーツの試合、セミナーなどのイベントの会場、美術館、博物館、テーマパーク、スポーツクラブ、会員制のラウンジなどの入り口付近に設置されてもよい。この場合には、暗号鍵が、イベント等のチケットや、会員証となっていてもよい。そして、認証装置2は、近くに存在する被認証装置1との通信を確立させて、その被認証装置1に共有データを送信してもよい。ユーザが有する被認証装置1は、その共有データを受信すると、上記のようにして複数の認証要求を会場の入り口付近の認証装置2に送信する。認証装置2が、その複数の認証要求を用いて、被認証装置1が正当であると判断すると、例えば、認証要求の電波の強度などを用いて被認証装置1の位置を特定し、その特定した位置に、暗号鍵に対応するチケット等の情報(例えば、チケットの種類の情報や、あらかじめ登録されているチケットの所有者の情報など)を表示する出力を行ってもよい。そして、その表示を見ることによって、イベント等のスタッフは、入り口から入ってくる人のうち、チケットや会員証を持っていない人を特定することができる。なお、チケット等を持っていない人については、スタッフがチケット等の提示を求めるようにしてもよい。このようにして、例えば、ユーザは被認証装置1であるスマートフォン等を操作することなく、イベントの会場や、美術館、スポーツクラブ等に入ることができるようになる。
【0130】
認証装置2は、店舗のキャッシュレジスタに組み込まれてもよい。そして、例えば、キャッシュレジスタの支払いボタンをユーザや店員が操作すると、キャッシュレジスタは、近くに存在する被認証装置1との通信を確立させて、その被認証装置1に共有データを送信してもよい。ユーザが有する被認証装置1は、その共有データを受信すると、上記のようにして複数の認証要求をキャッシュレジスタの認証装置2に送信する。認証装置2が、その複数の認証要求を用いて、被認証装置1が正当であると判断すると、共通鍵暗号の鍵に対応付けられて登録されている支払い手段(例えば、クレジットカードや電子マネーなど)に対して、購入金額に応じた課金が行われることによって、ユーザは、商品等の購入対象を受け取ることができてもよい。このようにして、例えば、ユーザは被認証装置1であるスマートフォン等を操作することなく、店舗で商品等を購入することができるようになる。
【0131】
認証装置2は、PC(Personal Computer)やATM(Automated Teller Machine)などの本人認証が必要な装置に組み込まれてもよい。そして、例えば、PCやATMなどの装置をユーザが操作すると、その装置は、近くに存在する被認証装置1との通信を確立させて、被認証装置1に共有データを送信してもよい。ユーザが有する被認証装置1は、その共有データを受信すると、上記のようにして複数の認証要求をその装置の認証装置2に送信する。認証装置2が、その複数の認証要求を用いて、被認証装置1が正当であると判断すると、共通鍵暗号の鍵に対応付けられて登録されているユーザに関して、例えば、PCへのログインが行われてもよく、PCで操作しているウェブサイトへのログインが行われてもよく、ATMでの現金の引き出しなどが行われてもよい。このようにして、例えば、ユーザは暗証番号の入力等を行うことなく、PCやATMなどの装置における本人認証を行うことができ、その装置を操作することができるようになる。
【0132】
また、本実施の形態による被認証装置1及び認証装置2は、上記した以外の状況においても用いることができる。例えば、カーシェアリングや、レンタカー、飛行機の搭乗手続等における認証に用いられてもよい。また、例えば、パソコンなどの機器を操作する際のユーザ認証等に用いられてもよい。
【0133】
なお、上記の例では、被認証装置1と認証装置2との通信の確立後に共有データが送信される場合について主に説明したが、そうでなくてもよい。認証装置2は、例えば、時間に応じて異なる共有データをビーコンなどのブロードキャストによって送信してもよい。そして、被認証装置1は、認証装置2から受信した共有データを用いて認証要求を生成して送信してもよい。この場合には、認証装置2における共有データとユーザ識別子との紐付けは、1個目の認証要求が受信された際に行われてもよい。一例として、認証装置2は、認証対象の被認証装置1から受信した1個目の認証要求に含まれる第2暗号化データを復号した第2データに含まれる共有データと一致する共有データが記憶部23で記憶されている場合に、その記憶部23で記憶されている共有データに、受信した1個目の認証要求に含まれているユーザ識別子を紐付けてもよい。
【0134】
また、被認証装置1と認証装置2との通信の確立前に、認証装置2から被認証装置1に共有データが送信されてもよい。この場合には、例えば、1個の共有データが送信されてもよく、または、複数の共有データが送信されてもよい。後者の場合には、被認証装置1は、例えば、1回の認証ごとに異なる共有データを用いてもよい。また、認証装置2から被認証装置1への共有データの送信は、例えば、認証要求とは異なる経路で行われてもよく、または、認証要求と同じ経路で行われてもよい。後者の場合には、共有データは、例えば、暗号化されて送信されてもよい。
【0135】
以上のように、本実施の形態による被認証装置1及び認証装置2によれば、認証要求に含まれる第2暗号化データは、第2データを第1データで暗号化したものであるため、例えば、第1データが、初期データを暗号鍵で暗号化した第1暗号化データを用いて生成された場合には、悪意の第三者は、認証要求に含まれる第2暗号化データを新たに生成することができない。そのため、悪意の第三者が、正当と判断されるための認証要求を新たに生成することができず、なりすましを防止することができる。また、正当な被認証装置1から送信された認証要求を悪意の第三者が取得し、その認証要求を認証装置2に送信した場合であっても、例えば、ユニーク情報が時刻である場合には、ユニーク情報である時刻と、認証要求の受信時刻との時刻差を用いることによって、悪意の第三者が認証要求の送信に用いた装置が正当な被認証装置1ではないと判断することができる。また、ユニーク情報がカウンタ値や乱数値である場合であっても、時期に応じて生成するカウンタ値や乱数値が異なるのであれば、カウンタ値や乱数値であるユニーク情報を他の状況で再度、使用することができないため、悪意の第三者によるなりすましを防止することができる。
【0136】
また、初期データに一意な情報であるユニーク情報が含まれているため、初期データを用いて作成された第1データを毎回異なるようにすることができる。すなわち、第1データもユニーク情報と同様に一意に決定されるデータとすることができる。そのため、第1データを用いて第2データを暗号化することによって取得した第2暗号化データも毎回異なるようにすることができる。その結果、第2データの予測を困難にすることができる。また、第1暗号化データのデータ量を削減することによって第2暗号化データのデータ量を削減することもできる。したがって、認証要求のデータ量を小さくすることができる。
【0137】
また、認証要求に初期データが含まれているため、認証要求を受信した認証装置2では、その認証要求を用いて被認証装置1の認証を行うことができると共に、正当であると認証された後の処理に必要な情報、例えば、ユーザ識別子等も取得することができる。そのため、認証後に被認証装置1から認証後の処理に必要な情報を送信する必要がなくなり、より早期に、認証後の処理を行うことができるようになる。なお、上記したように、初期データには、例えば、認証後の処理に必要な情報がさらに含まれていてもよい。
【0138】
また、認証要求には、平文である初期データが含まれており、その初期データを用いて第2暗号化データに対応する共有データが、認証装置2で記憶されている共有データと等しいかどうかを判断するため、結果として、認証要求に含まれている初期データが正しい内容であるかどうかについても確認できることになる。したがって、例えば、悪意の第三者が、認証要求に含まれている初期データを書き換えた認証要求を認証装置2に送信したとしても、その認証要求に含まれる第2暗号化データに対応する共有データと、認証装置2で記憶されている共有データとが等しくならないため、その認証要求の送信元の装置は、正当でないと判断されることになり、なりすましを防止することができる。
【0139】
なお、本実施の形態では、被認証装置1と認証装置2との情報のやり取りが通信である場合について主に説明したが、上記したように、両装置間の情報のやり取りは、通信以外によって行われてもよい。通信以外の情報のやり取りは、例えば、情報の表示と、その表示された情報の読み取りとによって行われてもよく、光の明滅信号の出力と受け付けとによって行われてもよく、音波や超音波の出力と受け付けとによって行われてもよく、その他の情報の受け渡しによって行われてもよい。装置間の情報のやり取りが情報の表示と、表示された情報の読み取りとによって行われる場合には、例えば、出力対象の情報がバーコードや、2次元コードなどのコードの画像として表示デバイスに表示され、その表示されたコードの画像がカメラ等の撮像デバイスによって撮影されて読み取られることによって、被認証装置1と認証装置2と間で情報の受け渡しが行われてもよい。例えば、被認証装置1の出力部16は、認証要求のバーコードや2次元コードなどを表示してもよい。そして、認証装置2の受付部21は、例えば、その表示されたコードを撮影した撮影画像から認証要求を取得してもよい。また、例えば、認証装置2のデータ出力部27は、共有データのバーコードや2次元コードなどを表示してもよい。そして、被認証装置1の第2データ取得部14は、例えば、その表示されたコードを撮影した撮影画像から共有データを取得してもよい。また、装置間の情報のやり取りが光の明滅信号の出力と受け付けとによって行われる場合には、例えば、出力対象の情報が光の明滅信号として発光部から出力され、その出力された光の明滅信号が受光部によって受け付けられることによって、被認証装置1と認証装置2と間で情報の受け渡しが行われてもよい。また、装置間の情報のやり取りが音波や超音波の出力と受け付けとによって行われる場合には、例えば、出力対象の情報が音波や超音波として出力部から出力され、その出力された音波や超音波が受付部によって受け付けられることによって、被認証装置1と認証装置2と間で情報の受け渡しが行われてもよい。
【0140】
また、本実施の形態では、第1暗号化データが、初期データを、その初期データに含まれるユーザ識別子に対応する暗号鍵を用いて暗号化したデータである場合について主に説明したが、そうでなくてもよい。第1暗号化データは、暗号鍵を用いないで暗号化されたデータであってもよい。この場合には、第1暗号化部13は、例えば、初期データを暗号化した第1暗号化データを取得することによって第1データを生成してもよく、暗号化部22は、受付部21によって受け付けられた認証要求に含まれる初期データを暗号化した第1暗号化データを取得することによって第1データを生成してもよい。この場合には、例えば、第1暗号化データそのものが、第1データであってもよい。
【0141】
暗号鍵を用いない暗号化は、例えば、初期データのデータ量を削減する処理であってもよい。この処理は、例えば、ハッシュ化であってもよく、一部のデータの抽出であってもよく、それらの組み合わせであってもよく、データ量を削減するその他の処理であってもよい。暗号鍵を用いない暗号化の処理は、例えば、被認証装置1ごとに異なっていてもよく、または、複数の被認証装置1において共通していてもよい。前者の場合には、認証装置2の暗号化部22は、受け付けられた認証要求に含まれるユーザ識別子に対応する暗号化の処理を用いて、第1暗号化データを取得してもよい。この場合には、悪意の第三者は、初期データから第1データを生成することができないため、悪意の第三者によるなりすましを防止することができる。なお、暗号鍵を用いない暗号化の処理が複数の被認証装置1において共通していたとしても、例えば、共通データが悪意の第三者に知られておらず、かつ、第2暗号化部15の暗号化が第1データを用いて復号することができない暗号化である場合には、適切な認証を行うことができる。この場合には、例えば、第2データは共通データであってもよい。
【0142】
また、本実施の形態において、第2データは、上記したように、例えば、共有データ以外のデータを含むデータであってもよい。この場合には、例えば、共有データとそれ以外のデータとを含むデータが、第1データを用いて暗号化されることによって第2暗号化データが取得されてもよい。共有データ以外の情報も暗号化されることによって、被認証装置1から認証装置2に対して、第三者に知られたくない情報を出力することもできるようになる。この場合には、第2暗号化データに対応する共有データと、認証装置2の記憶部23で記憶されている共有データとが一致するかどうかの判断の際に、第2暗号化データが第1データを用いて復号されることによって取得された第2データに含まれる共有データと、記憶部23で記憶されている共有データとが比較されることが好適である。このように、第2暗号化データが復号されることによって、認証装置2は、共有データと一緒に暗号化された共有データ以外の情報も取得することができる。
【0143】
また、本実施の形態では、認証装置2から被認証装置1に共有データが出力される場合に、共有データの全体が出力される場合について主に説明したが、そうでなくてもよい。例えば、共有データの一部である第1の部分が認証装置2から被認証装置1に出力されてもよい。この場合には、共有データの残りの部分である第2の部分は、例えば、あらかじめ認証装置2と被認証装置1とにおいて保持されていてもよく、または、第1の部分とは別の経路で認証装置2から被認証装置1に渡されてもよい。この場合には、例えば、共有データのうち、第1の部分は、複数の被認証装置1において共通して用いられ、第2の部分が被認証装置1ごとに異なっていてもよい。一例として、認証装置2は、共有データの第1の部分をブロードキャストで送信し、それを受信した被認証装置1において、受信した第1の部分と、保持している第2の部分とを用いて共有データが構成されてもよい。また、他の一例として、認証装置2は、共有データの第1の部分を第1の経路で被認証装置1に送信し、共有データの第2の部分を第1の経路とは別の第2の経路で被認証装置1に送信してもよい。第1の経路は、例えば、認証要求が送受信される近距離無線通信などの経路であってもよい。第2の経路は、例えば、インターネットなどの広域通信網の経路であってもよい。
【0144】
また、本実施の形態では、共有データが認証装置2から被認証装置1に出力される場合について説明したが、上記のように、共有データは、被認証装置1で生成されてもよい。この場合には、認証装置2は、データ出力部27を備えていなくてもよい。この場合には、認証装置2は、例えば、被認証装置1と同じ共有データを生成するための共有データ生成部をさらに備えてもよい。
【0145】
また、本実施の形態では、第1暗号化データの取得に、初期データを含む所定のデータ量のデータが用いられる場合について主に説明したが、そうでなくてもよい。例えば、暗号鍵を用いて初期データそのものを暗号化することによって第1暗号化データが取得されてもよい。この場合において、例えば、初期データに含まれる各データのデータ量があらかじめ決められていてもよい。そのようにすることによって、例えば、第1暗号化データがあらかじめ決められたデータ量になるようにすることもできる。
【0146】
また、本実施の形態では、第1データを用いた第2データの暗号化が排他的論理和の演算によって行われる場合について主に説明したが、そうでなくてもよい。例えば、他の暗号化方式によって、第1データを暗号鍵として用いた第2データの暗号化が行われてもよいことは言うまでもない。
【0147】
また、被認証装置1から認証装置2に認証要求が無線通信で送信される場合には、無線通信の通信規格によっては、1個の認証要求を冗長化して複数回送信することもあり、その複数回送信された同じ認証要求が認証装置1で同時に受信されることもある。この場合には、同時に受信された複数の認証要求のうち、1個の認証要求についてのみ認証の処理に用いられ、他の認証要求については、認証の処理に用いられなくてもよい。なお、このような場合であっても、通常、認証装置2において同じ認証要求が複数回受信されるのはまれであると考えられる。そのため、例えば、認証装置2において、1回の認証で用いられる複数の認証要求のうち、すべての認証要求について、2回以上受信された場合や、所定の割合以上(例えば、5割以上、8割以上など)の認証要求について、2回以上受信された場合には、認証装置2の認証部25は、認証要求の送信元に悪意の第三者である攻撃者の装置が含まれると判断し、被認証装置1が正当でないと判断してもよい。
【0148】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0149】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0150】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【0151】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0152】
また、上記実施の形態において、被認証装置1や認証装置2に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0153】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態における被認証装置1を実現するソフトウェアは、以下のようなプログラムであってもよい。つまり、このプログラムは、コンピュータを、ユーザを識別するユーザ識別子と、一意な情報であるユニーク情報とを含む初期データを取得する初期データ取得部、初期データを暗号化した第1暗号化データを取得することによって第1データを生成する第1暗号化部、認証装置と共有している共有データを含む第2データを取得する第2データ取得部、第2データを、第1データを用いて暗号化することによって第2暗号化データを生成する第2暗号化部、初期データと第2暗号化データとを含む複数の異なる認証要求を認証装置に対してそれぞれ出力する出力部として機能させるためのプログラムであってもよい。
【0154】
また、上記実施の形態における認証装置2を実現するソフトウェアは、以下のようなプログラムであってもよい。つまり、このプログラムは、正当な被認証装置と共有している共有データが記憶される記憶部にアクセス可能なコンピュータを、ユーザを識別するユーザ識別子及び一意な情報であるユニーク情報を含む初期データと、初期データが暗号化された第1暗号化データが取得されることによって生成された第1データを用いて、共有データを含む第2データが暗号化された第2暗号化データとを含む複数の異なる認証要求を被認証装置から受け付ける受付部、受付部によって受け付けられた認証要求に含まれる初期データを暗号化した第1暗号化データを取得することによって第1データを生成する第1暗号化部、受付部によって受け付けられた認証要求に含まれる第2暗号化データに対応する共有データと記憶部で記憶されている共有データとが一致するかどうかを、第1暗号化部によって生成された第1データを用いて判断する判断部、認証対象の被認証装置から受け付けられた複数の認証要求に含まれるユニーク情報が整合しており、かつ、複数の認証要求のそれぞれについて、認証要求に含まれる第2暗号化データに対応する共有データと記憶部で記憶されている共有データとが一致すると判断された場合に、認証対象の被認証装置が正当であると判断する認証部、認証部による判断結果である認証結果を出力する認証結果出力部として機能させるためのプログラムであってもよい。
【0155】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
【0156】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD-ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【0157】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0158】
図7は、上記プログラムを実行して、上記実施の形態による被認証装置1、認証装置2を実現するコンピュータシステム900の一例を示す図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【0159】
図7において、コンピュータシステム900は、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムや、アプリケーションプログラム、システムプログラム、及びデータが記憶されるフラッシュメモリ等のROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、タッチパネル914と、無線通信モジュール915と、MPU911、ROM912等を相互に接続するバス916とを備える。なお、被認証装置1と認証装置2との情報のやり取りが通信以外によって行われる場合には、コンピュータシステム900は、その情報のやり取りに用いられるデバイス、例えば、カメラや発光デバイス、受光デバイスなどを必要に応じてさらに備えていてもよい。また、タッチパネル914に代えて、ディスプレイと、マウスやキーボード等の入力デバイスとを備えていてもよい。
【0160】
コンピュータシステム900に、上記実施の形態による被認証装置1、認証装置2の機能を実行させるプログラムは、無線通信モジュール915を介してROM912に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、ネットワークから直接、ロードされてもよい。
【0161】
プログラムは、コンピュータシステム900に、上記実施の形態による被認証装置1、認証装置2の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
【0162】
また、以上の実施の形態は、本発明を具体的に実施するための例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲及び均等の意味の範囲内での変更が含まれることが意図される。
【符号の説明】
【0163】
1 被認証装置
2 認証装置
11、23 記憶部
12 初期データ取得部
13 第1暗号化部
14 第2データ取得部
15 第2暗号化部
16 出力部
21 受付部
22 暗号化部
24 判断部
25 認証部
26 認証結果出力部
27 データ出力部
【要約】
【課題】なりすましを防止し、セキュアな認証を実現する。
【解決手段】被認証装置1は、ユーザ識別子とユニーク情報とを含む初期データを取得する初期データ取得部12と、初期データを用いて第1データを生成する第1暗号化部13と、第2データを取得する第2データ取得部14と、第1データを用いて第2データを暗号化して第2暗号化データを生成する第2暗号化部15と、初期データと第2暗号化データとを含む複数の認証要求を出力する出力部16とを備える。認証装置2は、複数の認証要求を受け付ける受付部21と、認証要求を用いて第1データを生成する暗号化部22と、認証要求に対応する共有データと記憶部23の共有データとが一致するかどうかを第1データを用いて判断する判断部24と、複数の認証要求について、ユニーク情報が整合し、共有データが一致する場合に被認証装置1が正当であると判断する認証部25とを備える。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7