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

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

▶ 株式会社ギガ・システムの特許一覧 ▶ 合同会社サクセスナレッジの特許一覧

特許7412691認証システム、認証モジュール、および認証プログラム
<>
  • 特許-認証システム、認証モジュール、および認証プログラム 図1
  • 特許-認証システム、認証モジュール、および認証プログラム 図2
  • 特許-認証システム、認証モジュール、および認証プログラム 図3
  • 特許-認証システム、認証モジュール、および認証プログラム 図4
  • 特許-認証システム、認証モジュール、および認証プログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-04
(45)【発行日】2024-01-15
(54)【発明の名称】認証システム、認証モジュール、および認証プログラム
(51)【国際特許分類】
   G06F 21/44 20130101AFI20240105BHJP
   H04L 9/32 20060101ALI20240105BHJP
【FI】
G06F21/44
H04L9/32 100C
【請求項の数】 20
(21)【出願番号】P 2021131928
(22)【出願日】2021-08-13
(65)【公開番号】P2023026180
(43)【公開日】2023-02-24
【審査請求日】2023-04-26
【早期審査対象出願】
(73)【特許権者】
【識別番号】505050094
【氏名又は名称】株式会社ギガ・システム
(73)【特許権者】
【識別番号】515298305
【氏名又は名称】合同会社サクセスナレッジ
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100170209
【弁理士】
【氏名又は名称】林 陽和
(72)【発明者】
【氏名】今井 一歩
(72)【発明者】
【氏名】高野 透
(72)【発明者】
【氏名】玉井 成知
【審査官】上島 拓也
(56)【参考文献】
【文献】特開2004-282295(JP,A)
【文献】国際公開第2008/035450(WO,A1)
【文献】特開2000-286830(JP,A)
【文献】特開2004-274429(JP,A)
【文献】特開2009-009427(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
互いに通信可能に接続された第1認証モジュールおよび第2認証モジュールを備え、
前記第1認証モジュールは、前記第1認証モジュールに固有の第1識別情報と前記第2認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報に対応付けられた第2認証情報であって、当該第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、のペアとしての第1認証データを取得する第1取得部を含み、
前記第2認証モジュールは、
前記第1認証情報と、前記第2認証情報と、のペアとしての前記第1認証データと同一構成の第2認証データを取得する第2取得部と、
前記第1認証モジュールから前記第1認証データの前記第1認証情報が受信された場合に、前記第2認証データにおいて前記第1認証モジュールから受信された前記第1認証情報と一致する前記第1認証情報と対応付けられた前記第2認証情報を返信情報として前記第1認証モジュールに返信する第2制御部と、
を含み、
前記第1認証モジュールは、前記第1認証データの前記第1認証情報を前記第2認証モジュールに送信し、前記第2認証モジュールから前記返信情報を受信し、当該返信情報と、前記第1認証データにおいて前記第1認証モジュールから前記第2認証モジュールに送信された前記第1認証情報と対応付けられた前記第2認証情報と、の比較による認証を実行し、当該認証の結果に基づいて、前記第2認証モジュールとの通信セッションの継続の可否を決定する第1制御部を含む、
認証システム。
【請求項2】
前記第1認証モジュールと前記第2認証モジュールとは、ネットワークを介して互いに通信可能に接続されており、
前記第1識別情報および前記第2識別情報は、それぞれ、前記第1認証モジュールおよび前記第2認証モジュールを前記ネットワーク上で識別するためのアドレス情報を含む、
請求項1に記載の認証システム。
【請求項3】
前記第1認証情報は、前記第1認証モジュールと前記第2認証モジュールとの通信セッションが開始するごとに前記第1認証モジュールと前記第2認証モジュールとの間で同期して変化する可変情報にさらに基づいて生成される、
請求項1または2に記載の認証システム。
【請求項4】
前記可変情報は、前記第1認証モジュールと前記第2認証モジュールとの通信セッションが開始するごとに変動するカウンタ情報を含む、
請求項3に記載の認証システム。
【請求項5】
前記第1生成ロジックは、少なくとも前記第1識別情報および前記第2識別情報に基づく値を疑似乱数関数に入力することで得られる疑似乱数に基づいて前記第1認証情報を生成することを含む、
請求項1~4のうちいずれか1項に記載の認証システム。
【請求項6】
前記第2生成ロジックは、前記第1認証情報と、前記第1識別情報および前記第2識別情報に基づく値と、をハッシュ関数に入力することで得られるハッシュ値に基づいて前記第2認証情報を生成することを含む、
請求項1~5のうちいずれか1項に記載の認証システム。
【請求項7】
他の認証モジュールに通信可能に接続される認証モジュールであって、
前記認証モジュールに固有の第1識別情報と前記他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報に対応付けられた第2認証情報であって、当該第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、のペアとしての第1認証データを取得する第1取得部と、
前記第1認証データの前記第1認証情報を、前記第1認証データと同一構成の第2認証データを取得する前記他の認証モジュールに送信し、前記認証モジュールから前記第1認証データの前記第1認証情報が受信された場合に前記第2認証データにおいて前記認証モジュールから受信された前記第1認証情報と一致する前記第1認証情報と対応付けられた前記第2認証情報を返信情報として前記認証モジュールに返信する前記他の認証モジュールから、前記返信情報を受信し、当該返信情報と、前記第1認証データにおいて前記認証モジュールから前記他の認証モジュールに送信された前記第1認証情報と対応付けられた前記第2認証情報と、の比較による認証を実行し、当該認証の結果に基づいて、前記他の認証モジュールとの通信セッションの継続の可否を決定する第1制御部と、
を備える、認証モジュール。
【請求項8】
他の認証モジュールに通信可能に接続される認証モジュールであって、
前記認証モジュールに固有の第1識別情報と前記他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報に対応付けられた第2認証情報であって、第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、のペアとしての第2認証データを取得する第2取得部と、
前記第2認証データと同一構成の第1認証データを有する前記他の認証モジュールから前記第1認証情報が受信された場合に、前記第2認証データにおいて前記他の認証モジュールから受信された前記第1認証情報と一致する前記第1認証情報と対応付けられた前記第2認証情報を返信情報として前記他の認証モジュールに返信する第2制御部と、
を備える、認証モジュール。
【請求項9】
前記認証モジュールと前記他の認証モジュールとは、ネットワークを介して互いに通信可能に接続されており、
前記第1識別情報および前記第2識別情報は、それぞれ、前記認証モジュールおよび前記他の認証モジュールを前記ネットワーク上で識別するためのアドレス情報を含む、
請求項7または8に記載の認証モジュール。
【請求項10】
前記第1認証情報は、前記認証モジュールと前記他の認証モジュールとの通信セッションが開始するごとに前記認証モジュールと前記他の認証モジュールとの間で同期して変化する可変情報にさらに基づいて生成される、
請求項7~9のうちいずれか1項に記載の認証モジュール。
【請求項11】
前記可変情報は、前記認証モジュールと前記他の認証モジュールとの通信セッションが開始するごとに変動するカウンタ情報を含む、
請求項10に記載の認証モジュール。
【請求項12】
前記第1生成ロジックは、少なくとも前記第1識別情報および前記第2識別情報に基づく値を疑似乱数関数に入力することで得られる疑似乱数に基づいて前記第1認証情報を生成することを含む、
請求項7~11のうちいずれか1項に記載の認証モジュール。
【請求項13】
前記第2生成ロジックは、前記第1認証情報と、前記第1識別情報および前記第2識別情報に基づく値と、をハッシュ関数に入力することで得られるハッシュ値に基づいて前記第2認証情報を生成することを含む、
請求項7~12のうちいずれか1項に記載の認証モジュール。
【請求項14】
他の認証モジュールに通信可能に接続される認証モジュールを含むコンピュータに、
前記認証モジュールに固有の第1識別情報と前記他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報に対応付けられた第2認証情報であって、当該第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、のペアとしての第1認証データを取得することと、
前記第1認証データの前記第1認証情報を、前記第1認証データと同一構成の第2認証データを取得する前記他の認証モジュールに送信することと、
前記認証モジュールから前記第1認証データの前記第1認証情報が受信された場合に前記第2認証データにおいて前記認証モジュールから受信された前記第1認証情報と一致する前記第1認証情報と対応付けられた前記第2認証情報を返信情報として前記認証モジュールに返信する前記他の認証モジュールから、前記返信情報を受信することと、
前記返信情報と、前記第1認証データにおいて前記認証モジュールから前記他の認証モジュールに送信された前記第1認証情報と対応付けられた前記第2認証情報と、の比較による認証を実行することと、
前記認証の結果に基づいて、前記他の認証モジュールとの通信セッションの継続の可否を決定することと、
を実行させるための、認証プログラム。
【請求項15】
他の認証モジュールに通信可能に接続される認証モジュールを含むコンピュータに、
前記認証モジュールに固有の第1識別情報と前記他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報に対応付けられた第2認証情報であって、当該第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、のペアとしての第2認証データを取得することと、
前記第2認証データと同一構成の第1認証データを有する前記他の認証モジュールから前記第1認証情報が受信された場合に、前記第2認証データにおいて前記他の認証モジュールから受信された前記第1認証情報と一致する前記第1認証情報と対応付けられた前記第2認証情報を返信情報として前記他の認証モジュールに返信することと、
を実行させるための、認証プログラム。
【請求項16】
前記認証モジュールと前記他の認証モジュールとは、ネットワークを介して通信可能に接続されており、
前記第1識別情報および前記第2識別情報は、それぞれ、前記認証モジュールおよび前記他の認証モジュールを前記ネットワーク上で識別するためのアドレス情報を含む、
請求項14または15に記載の認証プログラム。
【請求項17】
前記第1認証情報は、前記認証モジュールと前記他の認証モジュールとの通信セッションが開始するごとに前記認証モジュールと前記他の認証モジュールとの間で同期して変化する可変情報にさらに基づいて生成される、
請求項14~16のうちいずれか1項に記載の認証プログラム。
【請求項18】
前記可変情報は、前記認証モジュールと前記他の認証モジュールとの通信セッションが開始するごとに変動するカウンタ情報を含む、
請求項17に記載の認証プログラム。
【請求項19】
前記第1生成ロジックは、少なくとも前記第1識別情報および前記第2識別情報に基づく値を疑似乱数関数に入力することで得られる疑似乱数に基づいて前記第1認証情報を生成することを含む、
請求項14~18のうちいずれか1項に記載の認証プログラム。
【請求項20】
前記第2生成ロジックは、前記第1認証情報と、前記第1識別情報および前記第2識別情報に基づく値と、をハッシュ関数に入力することで得られるハッシュ値に基づいて前記第2認証情報を生成することを含む、
請求項14~19のうちいずれか1項に記載の認証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、認証システム、認証モジュール、および認証プログラムに関する。
【背景技術】
【0002】
従来、互いに通信可能に接続されたクライアント装置およびサービスサーバ装置のような装置間での通信に際して認証を行う技術が知られている。このような技術において、認証は、装置間(つまり認証を要する認証モジュール間)に介在する認証サーバ装置を介して行われる。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第4344783号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような従来の技術では、認証サーバ装置が停止すると、認証モジュールが正常に動作していたとしても認証を行うことが不可能となるため、認証に関わるシステムの動作が安定しない場合がある。また、認証モジュール間に認証サーバ装置を設ける必要がある分、認証に関わるシステムの構成および処理が複雑化する。
【0005】
そこで、本開示が解決しようとする課題の一つは、認証に関わるシステムの動作の安定化および構成の簡単化を図ることが可能な認証システム、認証モジュール、および認証プログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示の一例としての認証システムは、互いに通信可能に接続された第1認証モジュールおよび第2認証モジュールを備え、第1認証モジュールは、第1認証モジュールに固有の第1識別情報と第2認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第1認証データを取得する第1取得部を含み、第2認証モジュールは、第1認証情報と、第2認証情報と、が対応付けられた第1認証データと同一構成の第2認証データを取得する第2取得部と、第1認証モジュールから第1認証データの第1認証情報が受信された場合に、第2認証データにおいて第1認証モジュールから受信された第1認証情報と一致する第1認証情報と対応付けられた第2認証情報を返信情報として第1認証モジュールに返信する第2制御部と、を含み、第1認証モジュールは、第1認証データの第1認証情報を第2認証モジュールに送信し、第2認証モジュールから返信情報を受信し、当該返信情報と、第1認証データにおいて第1認証モジュールから第2認証モジュールに送信された第1認証情報と対応付けられた第2認証情報と、の比較による認証を実行し、当該認証の結果に基づいて、第2認証モジュールとの通信セッションの継続の可否を決定する第1制御部を含む。
【0007】
また、本開示の他の一例としての認証モジュールは、他の認証モジュールに通信可能に接続される認証モジュールであって、認証モジュールに固有の第1識別情報と他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第1認証データを取得する第1取得部と、第1認証データの第1認証情報を、第1認証データと同一構成の第2認証データを取得する他の認証モジュールに送信し、認証モジュールから第1認証データの第1認証情報が受信された場合に第2認証データにおいて認証モジュールから受信された第1認証情報と一致する第1認証情報と対応付けられた第2認証情報を返信情報として認証モジュールに返信する他の認証モジュールから、返信情報を受信し、当該返信情報と、第1認証データにおいて認証モジュールから他の認証モジュールに送信された第1認証情報と対応付けられた第2認証情報と、の比較による認証を実行し、当該認証の結果に基づいて、他の認証モジュールとの通信セッションの継続の可否を決定する第1制御部と、を備える。
【0008】
また、本開示のさらに他の一例としての認証モジュールは、他の認証モジュールに通信可能に接続される認証モジュールであって、認証モジュールに固有の第1識別情報と他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第2認証データを取得する第2取得部と、第2認証データと同一構成の第1認証データを有する他の認証モジュールから第1認証情報が受信された場合に、第2認証データにおいて他の認証モジュールから受信された第1認証情報と一致する第1認証情報と対応付けられた第2認証情報を返信情報として他の認証モジュールに返信する第2制御部と、を備える。
【0009】
また、本開示のさらに他の一例としての認証プログラムは、他の認証モジュールに通信可能に接続される認証モジュールを含むコンピュータに、認証モジュールに固有の第1識別情報と他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第1認証データを取得することと、第1認証データの第1認証情報を、第1認証データと同一構成の第2認証データを取得する他の認証モジュールに送信することと、認証モジュールから第1認証データの第1認証情報が受信された場合に第2認証データにおいて認証モジュールから受信された第1認証情報と一致する第1認証情報と対応付けられた第2認証情報を返信情報として認証モジュールに返信する他の認証モジュールから、返信情報を受信することと、返信情報と、第1認証データにおいて認証モジュールから他の認証モジュールに送信された第1認証情報と対応付けられた第2認証情報と、の比較による認証を実行することと、認証の結果に基づいて、他の認証モジュールとの通信セッションの継続の可否を決定することと、を実行させるための、認証プログラムである。
【0010】
また、本開示のさらに他の一例としての認証プログラムは、他の認証モジュールに通信可能に接続される認証モジュールを含むコンピュータに、認証モジュールに固有の第1識別情報と他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第2認証データを取得することと、第2認証データと同一構成の第1認証データを有する他の認証モジュールから第1認証情報が受信された場合に、第2認証データにおいて他の認証モジュールから受信された第1認証情報と一致する第1認証情報と対応付けられた第2認証情報を返信情報として他の認証モジュールに返信することと、を実行させるための、認証プログラムである。
【図面の簡単な説明】
【0011】
図1図1は、実施形態にかかる認証システムを示した例示的かつ模式的な図である。
図2図2は、実施形態にかかる認証モジュールとしてのエッジサーバおよび端末の機能的構成を示した例示的かつ模式的なブロック図である。
図3図3は、実施形態にかかる認証データの構成を示した例示的かつ模式的な図である。
図4図4は、実施形態にかかる認証システムにより行われる認証の流れの一例を示した例示的かつ模式的なシーケンス図である。
図5図5は、実施形態にかかる認証モジュールを構成するコンピュータのハードウェア構成を示した例示的かつ模式的なブロック図である。
【発明を実施するための形態】
【0012】
以下、本開示にかかる認証システム、認証モジュール、認証プログラムの実施形態(および変形例)を図面に基づいて説明する。以下に記載する実施形態の構成、ならびに当該構成によってもたらされる作用および効果は、あくまで一例であって、以下の記載内容に制限されるものではない。
【0013】
また、本開示では、「第1」、「第2」などの序数が必要に応じて使用されるが、これらの序数は、識別の便宜のために使用されるものであり、特定の優先順位を示すものではない。
【0014】
<実施形態>
図1は、実施形態にかかる認証システム100を示した例示的かつ模式的な図である。
【0015】
図1に示されるように、実施形態にかかる認証システム100は、ネットワーク(不図示)を介して互いに通信可能に接続されたエッジサーバ110および端末120を含んでいる。エッジサーバ110および端末120は、通信に際して互いに認証を行う認証モジュールとして構成されている。
【0016】
なお、図1に示される構成は、あくまで一例である。たとえば、図1には、エッジサーバ110および端末120が1対1の関係で設けられた最も簡単な構成の認証システム100が示されているが、エッジサーバ110および端末120は、1対多の関係であってもよいし、多対多の関係であってもよい。
【0017】
ここで、図1に示されるエッジサーバ110および端末120のような認証モジュール間で認証を行うための従来の技術として、認証モジュール間に介在する認証サーバ装置を介して認証を行う技術が知られている。
【0018】
上記のような従来の技術では、認証サーバ装置が停止すると、認証モジュールが正常に動作していたとしても認証を行うことが不可能となるため、認証に関わるシステムの動作が安定しない場合がある。また、認証モジュール間に認証サーバ装置を設ける必要がある分、認証に関わるシステムの構成が複雑化する。
【0019】
さらに、上記のような従来の技術では、そもそも認証サーバ装置が正規のものであるか否かを認証する必要がある。そのためには、認証サーバ装置と認証モジュールとの間で認証に使用するシード(種)を送受信する必要があるが、このシードがハッキングにより不正に奪取された場合、セキュリティが確保されない。
【0020】
そこで、実施形態は、認証モジュールとしてのエッジサーバ110および端末120に次の図2に示されるような機能を持たせることで、認証システム100の動作の安定化および構成の簡単化を図り、さらにセキュリティの強化も図る。
【0021】
図2は、実施形態にかかる認証モジュールとしてのエッジサーバ110および端末120の機能的構成を示した例示的かつ模式的なブロック図である。
【0022】
図2に示されるように、エッジサーバ110は、認証データ取得部111と、制御部112と、を含んでおり、端末120は、認証データ取得部121と、制御部122と、を含んでいる。
【0023】
エッジサーバ110の認証データ取得部111は、端末120との認証に使用される認証データ111Aを取得する。認証データ取得部111は、認証のたびに認証データ111Aを所定のロジック(詳細は後述する)により生成することで認証データ111Aを取得してもよいし、たとえば外部装置により予め生成された認証データ111Aを外部装置から受信することで認証データ111Aを取得してもよい。
【0024】
同様に、端末120の認証データ取得部121は、エッジサーバ110との認証に使用される認証データ121Aを取得する。認証データ取得部121は、認証のたびに認証データ121Aを所定のロジック(詳細は後述する)により生成することで認証データ121Aを取得してもよいし、たとえば外部装置により予め生成された認証データ121Aを外部装置から受信することで認証データ121Aを取得してもよい。
【0025】
ここで、実施形態において、エッジサーバ110側の認証データ111Aと、端末120側の認証データ121Aとは、同一の構成を有している。より具体的に、認証データ111Aおよび121Aは、共に、次の図3に示されるような構成を有している。
【0026】
図3は、実施形態にかかる認証データ111Aおよび121Aの構成を示した例示的かつ模式的な図である。
【0027】
図3に示されるように、認証データ111Aおよび121Aは、互いに対応付けられたOID(ワンタイムID)およびOPW(ワンタイムパスワード)を含んでいる。OIDは、エッジサーバ110に固有の識別情報と端末120に固有の識別情報とに基づいて第1生成ロジックにより生成される第1認証情報であり、OPWは、OIDと、エッジサーバ110および端末120の各々の識別情報とに基づいて第2生成ロジックにより生成される第2認証情報である。
【0028】
たとえば、実施形態にかかる第1生成ロジックは、疑似乱数関数PRF()を使用して、下記の式(10)で表される。なお、実施形態において、疑似乱数関数PRF()は、衝突が実際上発生しない程度に長い桁数の疑似乱数を出力するものとする。
【0029】
OID=PRF(secret, seed) …(10)
【0030】
上記の式(10)において、secretは、エッジサーバ110に固有の識別情報と端末120に固有の識別情報とに基づく値(たとえばハッシュ値)である。たとえば、実施形態では、エッジサーバ110に固有の識別情報として、エッジサーバ110のネットワーク上のアドレス情報としてのMACアドレスが使用され、端末120に固有の識別情報として、端末120のネットワーク上のアドレス情報としてのMACアドレスが使用される。したがって、エッジサーバ110のMACアドレスがたとえば“01-23-45-67-89-aa”であり、端末120のMACアドレスがたとえば“01-23-45-67-89-ab”である場合、secretは、ハッシュ関数hash()を使用して、次の式(11)で表される。
【0031】
secret=hash(“01-23-45-67-89-aa+01-23-45-67-89-ab”) …(11)
【0032】
また、上記の式(10)において、seedは、エッジサーバ110と端末120との通信セッションが開始するごとにエッジサーバ110と端末120との間で同期して変化する可変情報である。より具体的に、seedは、エッジサーバ110と端末120との通信セッションが開始するごとに変動(規則的にインクリメントまたはデクリメント)するカウンタ情報である。
【0033】
以上により、実施形態にかかる第1生成ロジックによれば、通信セッションによらずユニークな情報としてのMACアドレスと、通信セッションごとに変動するカウンタ情報と、に基づいて、通信セッションごとに異なるユニークなOIDを生成することができる、ということが分かる。
【0034】
また、実施形態にかかる第2生成ロジックは、独自関数Pwlog()を使用して、下記の式(20)で表される。なお、実施形態において、独自関数Pwlog()は、たとえば、衝突が実際上発生しない程度に長い桁数のハッシュ値を出力するように独自に設計されたハッシュ関数である。
【0035】
OPW=Pwlog(OID, secret) …(20)
【0036】
上記の式(20)において、OIDおよびsecretは、上記の式(10)に登場するものと同一である。したがって、実施形態にかかる第2生成ロジックによれば、通信セッションごとに異なるユニークなOIDと、通信セッションごとに変動するカウンタ情報と、に基づいて、通信セッションごとに異なるユニークなOPWを生成することができる、ということが分かる。
【0037】
図2に戻り、エッジサーバ110の制御部112と、端末120の制御部122とは、エッジサーバ110と端末120との通信セッションが開始した場合に、上述した認証データ111Aおよび121Aを使用して、互いにピアツーピアで認証を行い、当該認証の結果に基づいて、現在の通信セッションの継続の可否を決定する。認証は、たとえば次の図4に示されるような流れで行われる。
【0038】
図4は、実施形態にかかる認証システム100により行われる認証の流れの一例を示した例示的かつ模式的なシーケンス図である。
【0039】
図4に示される例では、まず、ステップS411において、エッジサーバ110の認証データ取得部111は、前述したようなOIDおよびOPWのペアを含む認証データ111Aを取得する。同様に、ステップS412において、端末120の認証データ取得部121も、前述したようなOIDおよびOPWのペアを含む認証データ121Aを取得する。
【0040】
そして、ステップS415において、エッジサーバ110の制御部112は、ステップS411で取得された認証データ111AのOIDを端末120に送信する。すると、ステップS416において、端末120の制御部122は、ステップS412で取得された認証データ121Aから、エッジサーバ110から受信されたOIDと一致するOIDに対応付けられたOPWを取得する。
【0041】
そして、ステップS417において、端末120の制御部122は、ステップS416で取得されたOPWを返信情報としてエッジサーバ110に返信する。すると、ステップS418において、エッジサーバ110の制御部112は、ステップS411で取得された認証データ111Aから、ステップS415でエッジサーバ110から端末120に送信されたOIDに対応付けられたOPWを取得し、当該認証データ111Aから取得されたOPWと、ステップS417で返信情報として端末120から受信されたOPWと、が一致するか否かを判定する。
【0042】
そして、ステップS419において、エッジサーバ110の制御部112は、ステップS418における判定の結果に応じて、現在の通信セッションを継続または終了する。たとえば、ステップS418における判定の結果が一致を示す場合、制御部112は、現在の通信セッションを継続し、ステップS418における判定の結果が不一致を示す場合、制御部112は、通信セッションを終了する。このようにして、実施形態にかかる認証は、たとえば認証サーバのような中継装置の介在およびオペレーションを行う人の介在などの必要なく、エッジサーバ110と端末120との間で自律的に行われる。
【0043】
なお、図4には、エッジサーバ110側が起点となって通信セッションが開始する例が示されているが、実施形態では、端末120側が起点となって通信セッションが開始してもよい。この場合、ステップS413以降の処理の主体が図4に示される例とは逆になる形で認証が行われうる。したがって、実施形態において、エッジサーバ110の制御部112と、端末120の制御部122とは、互いに同等の機能を有しうる。
【0044】
以上説明したように、実施形態にかかる認証システム100は、互いに通信可能に接続された認証モジュール(第1認証モジュールおよび第2認証モジュール)としてのエッジサーバ110および端末120を含んでいる。以下の説明では、第1認証モジュールにエッジサーバ110を対応付けるとともに第2認証モジュールに端末120を対応付けているが、これはあくまで説明の簡単化のためのものである。以下の説明は、第1認証モジュールに端末120を対応付けるとともに第2認証モジュールにエッジサーバ110を対応付けた場合でも同様に成立する。
【0045】
第1認証モジュール(エッジサーバ110)は、第1認証情報としてのOIDと、第2認証情報としてのOPWと、が対応付けられた第1認証データ(認証データ111A)を取得する第1取得部(認証データ取得部111)を含んでいる。OIDは、第1認証モジュール(エッジサーバ110)に固有の第1識別情報と第2認証モジュール(端末120)に固有の第2識別情報とに基づいて第1生成ロジックにより生成され、OPWは、OIDと第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される。
【0046】
第2認証モジュール(端末120)は、第1認証情報と、第2認証情報と、が対応付けられた第1認証データ(認証データ111A)と同一構成の第2認証データ(認証データ121A)を取得する第2取得部(認証データ取得部121)を含んでいる。また、第2認証モジュール(端末120)は、第1認証モジュール(エッジサーバ110)から第1認証データ(認証データ111A)のOIDが受信された場合に、第2認証データ(認証データ121A)において第1認証モジュール(エッジサーバ110)から受信されたOIDと一致するOIDと対応付けられたOPWを返信情報として第1認証モジュール(エッジサーバ110)に返信する第2制御部(制御部122)を含んでいる。
【0047】
ここで、実施形態において、第1認証モジュール(エッジサーバ110)は、第1認証データ(認証データ111A)のOIDを第2認証モジュール(端末120)に送信し、第2認証モジュール(端末120)から返信情報を受信する第1制御部(制御部112)を含んでいる。第1制御部(制御部112)は、返信情報と、第1認証データ(認証データ111A)において第1認証モジュール(エッジサーバ110)から第2認証モジュール(端末120)に送信されたOIDと対応付けられたOPWと、の比較による認証を実行し、当該認証の結果に基づいて、第2認証モジュール(端末120)との通信セッションの継続の可否を決定する。
【0048】
上記の構成によれば、第1認証モジュール(エッジサーバ110)と第2認証モジュール(端末120)との間の認証が、認証サーバ装置のような中継装置の介在無しで実現される。これにより、認証システム100の動作の安定化および構成の簡単化を図ることができる。また、上記の構成によれば、中継装置の介在が無いことで、中継装置が正規のものであるか否かを認証するために中継装置との間でシードを送受信する必要がないので、シードがハッキングにより不正に奪取される事態は発生しない。これにより、セキュリティの強化を図ることもできる。
【0049】
また、実施形態において、第1認証モジュール(エッジサーバ110)と第2認証モジュール(端末120)とは、ネットワークを介して互いに通信可能に接続されている。そして、第1識別情報および第2識別情報は、それぞれ、第1認証モジュール(エッジサーバ110)および第2認証モジュール(端末120)をネットワーク上で識別するためのアドレス情報である。
【0050】
上記の構成によれば、アドレス情報を使用して第1識別情報および第2識別情報を容易に構成することができる。
【0051】
また、実施形態において、OIDは、第1認証モジュール(エッジサーバ110)と第2認証モジュール(端末120)との通信セッションが開始するごとに第1認証モジュール(エッジサーバ110)と第2認証モジュール(端末120)との間で同期して変化する可変情報にさらに基づいて生成される。
【0052】
上記の構成によれば、可変情報を使用して、通信セッションごとに異なるOIDを容易に生成することができる。この場合、ある通信セッションにおいて外部からのハッキングがあったとしても、当該ハッキングにより不正に取得されたOIDを他の通信セッションで利用すると認証が成立しないため、不正なアクセスを容易に抑制することができる。
【0053】
ここで、実施形態において、可変情報は、第1認証モジュール(エッジサーバ110)と第2認証モジュール(端末120)との通信セッションが開始するごとに変動するカウンタ情報を含む。
【0054】
上記の構成によれば、カウンタ情報を使用して可変情報を容易に構成することができる。
【0055】
また、実施形態において、第1生成ロジックは、少なくとも第1識別情報および第2識別情報に基づく値を疑似乱数関数(PRF())に入力することで得られる疑似乱数に基づいてOIDを生成することを含む。
【0056】
上記の構成によれば、疑似乱数関数を使用してユニークなOIDを容易に生成することができる。
【0057】
また、実施形態において、第2生成ロジックは、OIDと、第1識別情報および第2識別情報に基づく値と、をハッシュ関数(独自関数Pwlog())に入力することで得られるハッシュ値に基づいてOPWを生成することを含む。
【0058】
上記の構成によれば、ハッシュ関数を使用してユニークなOPWを容易に生成することができる。
【0059】
最後に、上述した実施形態にかかる認証モジュール(エッジサーバ110および端末120)のハードウェア構成について説明する。実施形態にかかる認証モジュールは、たとえば次の図5に示されるようなハードウェア構成を有するコンピュータ500として構成される。
【0060】
実施形態にかかる認証モジュールを構成するコンピュータ500のハードウェア構成を示した例示的かつ模式的なブロック図である。
【0061】
図5に示されるように、コンピュータ500は、プロセッサ510と、メモリ520と、ストレージ530と、入出力インターフェース(I/F)540と、通信インターフェース(I/F)550と、を備えている。これらのハードウェアは、バス560に接続されている。
【0062】
プロセッサ510は、たとえばCPU(Central Processing Unit)として構成され、コンピュータ500の各部の動作を統括的に制御する。
【0063】
メモリ520は、たとえばROM(Read Only Memory)およびRAM(Random Access Memory)を含み、プロセッサ510により実行されるプログラムなどの各種のデータの揮発的または不揮発的な記憶、およびプロセッサ510がプログラムを実行するための作業領域の提供などを実現する。
【0064】
ストレージ530は、たとえばHDD(Hard Disk Drive)またはSSD(Solid State Drive)を含み、各種のデータを不揮発的に記憶する。
【0065】
入出力インターフェース540は、たとえばキーボードおよびマウスなどのような入力装置(不図示)からコンピュータ500へのデータの入力と、たとえばコンピュータ500からディスプレイおよびスピーカなどのような出力装置(不図示)へのデータの出力と、を制御する。
【0066】
通信インターフェース550は、コンピュータ500が他の装置と通信を実行することを可能にする。
【0067】
実施形態にかかる認証モジュールとしてのエッジサーバ110および端末120が有する機能的構成(図2参照)は、プロセッサ510がメモリ520またはストレージ530に予め記憶された認証プログラムを実行した結果として、ハードウェアとソフトウェアとの協働による機能モジュール群として実現される。ただし、実施形態では、図2に示される機能モジュール群のうち一部または全部が、専用に設計された回路(circuitry)のようなハードウェアのみによって実現されてもよい。
【0068】
なお、上述した認証プログラムは、必ずしもメモリ520またはストレージ530に予め記憶されている必要はない。たとえば、上述した認証プログラムは、フレキシブルディスク(FD)のような各種の磁気ディスク、またはDVD(Digital Versatile Disk)のような各種の光ディスクなどといった、コンピュータで読み取り可能な媒体にインストール可能な形式または実行可能な形式で記録されたコンピュータプログラムプロダクトとして提供されてもよい。
【0069】
また、上述した認証プログラムは、インターネットなどのネットワーク経由で提供または配布されてもよい。すなわち、上述した認証プログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納された状態で、ネットワーク経由でのダウンロードを受け付ける、といった形で提供されてもよい。
【0070】
<変形例>
上述した実施形態では、認証モジュールが、ネットワークを介して通信可能に接続された別々の電子機器としてのエッジサーバ110および端末120である構成が例示されている。しかしながら、本開示の「認証モジュール」は、電子機器のような物理的な構成のみならず、ソフトウェアアプリケーションのような論理的な構成をも含む概念である。したがって、本開示の技術は、1つの電子機器に搭載されたアプリケーション間の認証にも適用可能である。この場合、OIDは、アプリケーションを識別するための固有の識別情報(および可変情報)に基づいて生成されうるとともに、OPWは、OIDと、アプリケーションを識別するための固有の識別情報と、に基づいて生成されうる。アプリケーションを識別するための固有の識別情報としては、たとえば、アプリケーションごとに割り当てられるライセンス番号などが考えられる。
【0071】
また、上述した実施形態では、認証モジュールに固有の識別情報として、認証モジュールをネットワーク上で識別するためのアドレス情報が使用される構成が例示されている。しかしながら、本開示において、識別情報は、認証モジュールを識別可能な情報であれば、アドレス情報以外のたとえばユーザが任意でユニークに定めた情報であってよい。
【0072】
また、上述した実施形態では、通信セッションが開始するごとに認証モジュール間で同期して変化する可変情報として、規則的にインクリメントまたはデクリメントするカウンタ情報が使用される構成が例示されている。しかしながら、本開示において、可変情報は、通信セッションが開始するごとに認証モジュール間で同期して変化する情報であれば、カウンタ情報とは異なる、規則的に変動しない情報であってもよい。
【0073】
また、上述した実施形態では、疑似乱数関数を使用した第1生成ロジックと、ハッシュ関数を使用した第2生成ロジックと、が例示されている。しかしながら、本開示において、第1生成ロジックは、ユニークなOIDを生成可能なロジックであれば、必ずしも疑似乱数関数を使用したロジックでなくてよい。同様に、第2生成ロジックも、OIDに対応付けられるユニークなOPWを生成可能なロジックであれば、必ずしもハッシュ関数を使用したロジックでなくてよい。
【0074】
以上、本開示のいくつかの実施形態および変形例を説明したが、これらの実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0075】
100 認証システム
110 エッジサーバ(認証モジュール、第1認証モジュール)
120 端末(認証モジュール、第2認証モジュール)
111 認証データ取得部(第1取得部)
111A 認証データ(第1認証データ)
112 制御部(第1制御部)
121 認証データ取得部(第2取得部)
121A 認証データ(第2認証データ)
122 制御部(第2制御部)
図1
図2
図3
図4
図5