(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-18
(45)【発行日】2023-08-28
(54)【発明の名称】認証システム、認証モジュール、および認証プログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20230821BHJP
G06F 21/44 20130101ALI20230821BHJP
【FI】
H04L9/32 200B
H04L9/32 200F
G06F21/44
(21)【出願番号】P 2022011604
(22)【出願日】2022-01-28
【審査請求日】2023-05-19
【早期審査対象出願】
(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)【参考文献】
【文献】特開2017-17711(JP,A)
【文献】特開2020-181337(JP,A)
【文献】特開2023-26180(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/14
21/00-21/88
G09C 1/00-5/00
H04K 1/00-3/00
H04L 9/00-9/40
(57)【特許請求の範囲】
【請求項1】
互いに通信可能に接続された第1認証モジュールおよび第2認証モジュールを備え、
前記第1認証モジュールは、
前記第1認証モジュールに固有の第1識別情報と前記第2認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第1認証データを取得する第1取得部と、
前記第1認証データの前記第1認証情報を前記第2認証モジュールに送信し、前記第2認証モジュールに送信された前記第1認証データの前記第1認証情報と、当該第1認証情報に対応付けられた前記第1認証データの前記第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成する第1制御部と、
を含み、
前記第2認証モジュールは、
前記第1認証情報と、前記第2認証情報と、が対応付けられた前記第1認証データと同一構成の第2認証データを取得する第2取得部と、
前記第1認証モジュールから前記第1認証データの前記第1認証情報が受信された場合に、前記第1認証モジュールから受信された前記第1認証データの前記第1認証情報と一致する前記第2認証データの前記第1認証情報と、当該第1認証情報に対応付けられた前記第2認証データの前記第2認証情報と、に基づく前記第3生成ロジックにより前記第3認証情報を生成し、当該第3認証情報、または第1鍵情報により暗号化された前記第3認証情報、を返信情報として前記第1認証モジュールに返信する第2制御部と、
を含み、
前記第1制御部は、前記第2認証モジュールから前記返信情報が受信された場合に、前記返信情報と前記参照情報との比較、または前記第1鍵情報に対応した第2鍵情報により復号化された前記返信情報と前記参照情報との比較による認証を実行し、当該認証の結果に基づいて、前記第1認証モジュールと前記第2認証モジュールとの通信セッションの継続の可否を決定する、
認証システム。
【請求項2】
前記返信情報は、前記第1認証モジュールから前記第2認証モジュールに送信された前記第1認証データの前記第1認証情報と一致する前記第2認証データの前記第1認証情報に対応付けられた前記第2認証データの前記第2認証情報を前記第1鍵情報として用いて暗号化された前記第3認証情報であり、
前記認証は、前記第1認証モジュールから前記第2認証モジュールに送信された前記第1認証データの前記第1認証情報に対応付けられた前記第1認証データの前記第2認証情報を前記第2鍵情報として用いて復号化された前記返信情報と前記参照情報との比較による認証である、
請求項1に記載の認証システム。
【請求項3】
前記返信情報は、前記第1認証モジュールと前記第2認証モジュールとの前記通信セッションが開始するごとに前記第1認証モジュールと前記第2認証モジュールとの間で同期して変化する可変情報を前記第1鍵情報として用いて暗号化された前記第3認証情報であり、
前記認証は、前記可変情報を前記第2鍵情報として用いて復号化された前記返信情報と前記参照情報との比較による認証である、
請求項1に記載の認証システム。
【請求項4】
前記返信情報は、前記第1識別情報および前記第2識別情報に基づく固定情報を前記第1鍵情報として用いて暗号化された前記第3認証情報であり、
前記認証は、前記固定情報を前記第2鍵情報として用いて復号化された前記返信情報と前記参照情報との比較による認証である、
請求項1に記載の認証システム。
【請求項5】
前記第1認証モジュールと前記第2認証モジュールとは、ネットワークを介して互いに通信可能に接続されており、
前記第1識別情報および前記第2識別情報は、それぞれ、前記第1認証モジュールおよび前記第2認証モジュールを前記ネットワーク上で識別するための情報を含む、
請求項1~4のうちいずれか1項に記載の認証システム。
【請求項6】
前記第1認証情報は、前記第1認証モジュールと前記第2認証モジュールとの前記通信セッションが開始するごとに前記第1認証モジュールと前記第2認証モジュールとの間で同期して変化する可変情報にさらに基づいて生成される、
請求項1~5のうちいずれか1項に記載の認証システム。
【請求項7】
前記可変情報は、前記第1認証モジュールと前記第2認証モジュールとの前記通信セッションが開始するごとに変動するカウンタ情報を含む、
請求項6に記載の認証システム。
【請求項8】
前記第1生成ロジックは、少なくとも前記第1識別情報および前記第2識別情報に基づく値を疑似乱数関数に入力することで得られる疑似乱数に基づいて前記第1認証情報を生成することを含む、
請求項1~7のうちいずれか1項に記載の認証システム。
【請求項9】
前記第2生成ロジックは、前記第1認証情報と、前記第1識別情報および前記第2識別情報に基づく値と、を第1ハッシュ関数に入力することで得られる第1ハッシュ値に基づいて前記第2認証情報を生成することを含む、
請求項1~8のうちいずれか1項に記載の認証システム。
【請求項10】
前記第3生成ロジックは、前記第1認証情報に基づく値と前記第2認証情報に基づく値とを第2ハッシュ関数に入力することで得られる第2ハッシュ値に基づいて前記第3認証情報を生成することを含む、
請求項1~9のうちいずれか1項に記載の認証システム。
【請求項11】
他の認証モジュールに通信可能に接続される認証モジュールであって、
前記認証モジュールに固有の第1識別情報と前記他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第1認証データを取得する第1取得部と、
前記第1認証データの前記第1認証情報を、前記第1認証データと同一構成の第2認証データを取得する前記他の認証モジュールに送信し、前記他の認証モジュールに送信された前記第1認証データの前記第1認証情報と、当該第1認証情報に対応付けられた前記第1認証データの前記第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成し、前記他の認証モジュールであって、前記認証モジュールから前記第1認証データの前記第1認証情報が受信された場合に前記認証モジュールから受信された前記第1認証情報と一致する前記第2認証データの前記第1認証情報と当該第1認証情報に対応付けられた前記第2認証データの前記第2認証情報とに基づく前記第3生成ロジックにより前記第3認証情報を生成し、当該第3認証情報、または第1鍵情報により暗号化された前記第3認証情報、を返信情報として前記認証モジュールに返信する前記他の認証モジュールから前記返信情報が受信された場合に、前記返信情報と前記参照情報との比較、または前記第1鍵情報に対応する第2鍵情報により復号化された前記返信情報と前記参照情報との比較による認証を実行し、当該認証の結果に基づいて、前記認証モジュールと前記他の認証モジュールとの通信セッションの継続の可否を決定する第1制御部と、
を備える、認証モジュール。
【請求項12】
他の認証モジュールに通信可能に接続される認証モジュールであって、
前記他の認証モジュールに固有の第1識別情報と前記認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第2認証データを取得する第2取得部と、
前記他の認証モジュールであって、前記第2認証データと同一構成の第1認証データを取得し、当該第1認証データの前記第1認証情報と、当該第1認証情報に対応付けられた前記第1認証データの前記第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成する前記他の認証モジュール、から前記第1認証データの前記第1認証情報が受信された場合に、前記他の認証モジュールから受信された前記第1認証データの前記第1認証情報と一致する前記第2認証データの前記第1認証情報と、当該第1認証情報に対応付けられた前記第2認証データの前記第2認証情報と、に基づいて前記第3生成ロジックにより第3認証情報を生成し、当該第3認証情報、または第1鍵情報により暗号化された前記第3認証情報、を返信情報として、前記他の認証モジュールであって、前記返信情報が受信された場合に、前記返信情報と前記参照情報との比較、または前記第1鍵情報に対応する第2鍵情報により復号化された前記返信情報と前記参照情報との比較による認証を実行し、当該認証の結果に基づいて、前記認証モジュールと前記他の認証モジュールとの通信セッションの継続の可否を決定する前記他の認証モジュール、に返信する第2制御部と、
を備える、認証モジュール。
【請求項13】
前記返信情報は、前記認証モジュールおよび前記他の認証モジュールのうち一方から他方に送信された前記第1認証データの前記第1認証情報と一致する前記第2認証データの前記第1認証情報に対応付けられた前記第2認証データの前記第2認証情報を前記第1鍵情報として用いて暗号化された前記第3認証情報であり、
前記認証は、前記認証モジュールおよび前記他の認証モジュールのうち一方から他方に送信された前記第1認証データの前記第1認証情報に対応付けられた前記第1認証データの前記第2認証情報を前記第2鍵情報として用いて復号化された前記返信情報と前記参照情報との比較による認証である、
請求項11または12に記載の認証モジュール。
【請求項14】
前記返信情報は、前記認証モジュールと前記他の認証モジュールとの前記通信セッションが開始するごとに前記認証モジュールと前記他の認証モジュールとの間で同期して変化する可変情報を前記第1鍵情報として用いて暗号化された前記第3認証情報であり、
前記認証は、前記可変情報を前記第2鍵情報として用いて復号化された前記返信情報と前記参照情報との比較による認証である、
請求項11または12に記載の認証モジュール。
【請求項15】
前記返信情報は、前記第1識別情報および前記第2識別情報に基づく固定情報を前記第1鍵情報として用いて暗号化された前記第3認証情報であり、
前記認証は、前記固定情報を前記第2鍵情報として用いて復号化された前記返信情報と前記参照情報との比較による認証である、
請求項11または12に記載の認証モジュール。
【請求項16】
前記認証モジュールと前記他の認証モジュールとは、ネットワークを介して互いに通信可能に接続されており、
前記第1識別情報および前記第2識別情報は、それぞれ、前記認証モジュールおよび前記他の認証モジュールを前記ネットワーク上で識別するための情報を含む、
請求項11~15のうちいずれか1項に記載の認証モジュール。
【請求項17】
前記第1認証情報は、前記認証モジュールと前記他の認証モジュールとの前記通信セッションが開始するごとに前記認証モジュールと前記他の認証モジュールとの間で同期して変化する可変情報にさらに基づいて生成される、
請求項11~16のうちいずれか1項に記載の認証モジュール。
【請求項18】
前記可変情報は、前記認証モジュールと前記他の認証モジュールとの前記通信セッションが開始するごとに変動するカウンタ情報を含む、
請求項17に記載の認証モジュール。
【請求項19】
前記第1生成ロジックは、少なくとも前記第1識別情報および前記第2識別情報に基づく値を疑似乱数関数に入力することで得られる疑似乱数に基づいて前記第1認証情報を生成することを含む、
請求項11~18のうちいずれか1項に記載の認証モジュール。
【請求項20】
前記第2生成ロジックは、前記第1認証情報と、前記第1識別情報および前記第2識別情報に基づく値と、を第1ハッシュ関数に入力することで得られる第1ハッシュ値に基づいて前記第2認証情報を生成することを含む、
請求項11~19のうちいずれか1項に記載の認証モジュール。
【請求項21】
前記第3生成ロジックは、前記第1認証情報に基づく値と前記第2認証情報に基づく値とを第2ハッシュ関数に入力することで得られる第2ハッシュ値に基づいて前記第3認証情報を生成することを含む、
請求項11~20のうちいずれか1項に記載の認証モジュール。
【請求項22】
他の認証モジュールに通信可能に接続される認証モジュールを含むコンピュータに、
前記認証モジュールに固有の第1識別情報と前記他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第1認証データを取得することと、
前記第1認証データの前記第1認証情報を、前記第1認証データと同一構成の第2認証データを取得する前記他の認証モジュールに送信することと、
前記他の認証モジュールに送信された前記第1認証データの前記第1認証情報と、当該第1認証情報に対応付けられた前記第1認証データの前記第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成することと、
前記他の認証モジュールであって、前記認証モジュールから前記第1認証データの前記第1認証情報が受信された場合に前記認証モジュールから受信された前記第1認証情報と一致する前記第2認証データの前記第1認証情報と当該第1認証情報に対応付けられた前記第2認証データの前記第2認証情報とに基づく前記第3生成ロジックにより前記第3認証情報を生成し、当該第3認証情報、または第1鍵情報により暗号化された前記第3認証情報、を返信情報として前記認証モジュールに返信する前記他の認証モジュールから前記返信情報が受信された場合に、前記返信情報と前記参照情報との比較、または前記第1鍵情報に対応する第2鍵情報により復号化された前記返信情報と前記参照情報との比較による認証を実行することと、
前記認証の結果に基づいて、前記認証モジュールと前記他の認証モジュールとの通信セッションの継続の可否を決定することと、
を実行させるための、認証プログラム。
【請求項23】
他の認証モジュールに通信可能に接続される認証モジュールを含むコンピュータに、
前記他の認証モジュールに固有の第1識別情報と前記認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と前記第1識別情報と前記第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第2認証データを取得することと、
前記他の認証モジュールであって、前記第2認証データと同一構成の第1認証データを取得し、当該第1認証データの前記第1認証情報と、当該第1認証情報に対応付けられた前記第1認証データの前記第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成する前記他の認証モジュール、から前記第1認証データの前記第1認証情報が受信された場合に、前記他の認証モジュールから受信された前記第1認証データの前記第1認証情報と一致する前記第2認証データの前記第1認証情報と、当該第1認証情報に対応付けられた前記第2認証データの前記第2認証情報と、に基づいて前記第3生成ロジックにより第3認証情報を生成することと、
前記第3認証情報、または第1鍵情報により暗号化された前記第3認証情報、を返信情報として、前記他の認証モジュールであって、前記返信情報が受信された場合に、前記返信情報と前記参照情報との比較、または前記第1鍵情報に対応する第2鍵情報により復号化された前記返信情報と前記参照情報との比較による認証を実行し、当該認証の結果に基づいて、前記認証モジュールと前記他の認証モジュールとの通信セッションの継続の可否を決定する前記他の認証モジュール、に返信することと、
を実行させるための、認証プログラム。
【請求項24】
前記返信情報は、前記認証モジュールおよび前記他の認証モジュールのうち一方から他方に送信された前記第1認証データの前記第1認証情報と一致する前記第2認証データの前記第1認証情報に対応付けられた前記第2認証データの前記第2認証情報を前記第1鍵情報として用いて暗号化された前記第3認証情報であり、
前記認証は、前記認証モジュールおよび前記他の認証モジュールのうち一方から他方に送信された前記第1認証データの前記第1認証情報に対応付けられた前記第1認証データの前記第2認証情報を前記第2鍵情報として用いて復号化された前記返信情報と前記参照情報との比較による認証である、
請求項22または23に記載の認証プログラム。
【請求項25】
前記返信情報は、前記認証モジュールと前記他の認証モジュールとの前記通信セッションが開始するごとに前記認証モジュールと前記他の認証モジュールとの間で同期して変化する可変情報を前記第1鍵情報として用いて暗号化された前記第3認証情報であり、
前記認証は、前記可変情報を前記第2鍵情報として用いて復号化された前記返信情報と前記参照情報との比較による認証である、
請求項22または23に記載の認証プログラム。
【請求項26】
前記返信情報は、前記第1識別情報および前記第2識別情報に基づく固定情報を前記第1鍵情報として用いて暗号化された前記第3認証情報であり、
前記認証は、前記固定情報を前記第2鍵情報として用いて復号化された前記返信情報と前記参照情報との比較による認証である、
請求項22または24に記載の認証プログラム。
【請求項27】
前記認証モジュールと前記他の認証モジュールとは、ネットワークを介して通信可能に接続されており、
前記第1識別情報および前記第2識別情報は、それぞれ、前記認証モジュールおよび前記他の認証モジュールを前記ネットワーク上で識別するための情報を含む、
請求項22~26のうちいずれか1項に記載の認証プログラム。
【請求項28】
前記第1認証情報は、前記認証モジュールと前記他の認証モジュールとの前記通信セッションが開始するごとに前記認証モジュールと前記他の認証モジュールとの間で同期して変化する可変情報にさらに基づいて生成される、
請求項22~27のうちいずれか1項に記載の認証プログラム。
【請求項29】
前記可変情報は、前記認証モジュールと前記他の認証モジュールとの前記通信セッションが開始するごとに変動するカウンタ情報を含む、
請求項28に記載の認証プログラム。
【請求項30】
前記第1生成ロジックは、少なくとも前記第1識別情報および前記第2識別情報に基づく値を疑似乱数関数に入力することで得られる疑似乱数に基づいて前記第1認証情報を生成することを含む、
請求項22~29のうちいずれか1項に記載の認証プログラム。
【請求項31】
前記第2生成ロジックは、前記第1認証情報と、前記第1識別情報および前記第2識別情報に基づく値と、をハッシュ関数に入力することで得られるハッシュ値に基づいて前記第2認証情報を生成することを含む、
請求項22~30のうちいずれか1項に記載の認証プログラム。
【請求項32】
前記第3生成ロジックは、前記第1認証情報に基づく値と前記第2認証情報に基づく値とを第2ハッシュ関数に入力することで得られる第2ハッシュ値に基づいて前記第3認証情報を生成することを含む、
請求項22~31のうちいずれか1項に記載の認証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、認証システム、認証モジュール、および認証プログラムに関する。
【背景技術】
【0002】
従来、互いに通信可能に接続されたクライアント装置およびサーバ装置のような装置間での通信に際してFIDO認証と呼ばれる認証を実行する技術が知られている。FIDO認証においては、認証する側の装置と認証される側の装置との間で、公開鍵付きの証明書を使用したチャレンジ&レスポンス認証が実行される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記のような従来の技術では、認証局から発行された証明書を予め購入して導入しておく必要があるため、運用にかかるコストおよび手間が増大しやすい。また、証明書の導入後においても、有効期間の管理や、仕様変更、セキュリティリスク、またはインシデントへの対応などが必要となるため、運用にかかるコストおよび手間が増大しやすい。
【0005】
そこで、本開示が解決しようとする課題の一つは、運用にかかるコストおよび手間の増大を抑制することが可能な認証システム、認証モジュール、および認証プログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示の他の一例としての認証システムは、互いに通信可能に接続された第1認証モジュールおよび第2認証モジュールを備え、第1認証モジュールは、第1認証モジュールに固有の第1識別情報と第2認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第1認証データを取得する第1取得部と、第1認証データの第1認証情報を第2認証モジュールに送信し、第2認証モジュールに送信された第1認証データの第1認証情報と、当該第1認証情報に対応付けられた第1認証データの第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成する第1制御部と、を含み、第2認証モジュールは、第1認証情報と、第2認証情報と、が対応付けられた第1認証データと同一構成の第2認証データを取得する第2取得部と、第1認証モジュールから第1認証データの第1認証情報が受信された場合に、第1認証モジュールから受信された第1認証データの第1認証情報と一致する第2認証データの第1認証情報と、当該第1認証情報に対応付けられた第2認証データの第2認証情報と、に基づく第3生成ロジックにより第3認証情報を生成し、当該第3認証情報、または第1鍵情報により暗号化された第3認証情報、を返信情報として第1認証モジュールに返信する第2制御部と、を含み、第1制御部は、第2認証モジュールから返信情報が受信された場合に、返信情報と参照情報との比較、または第1鍵情報に対応した第2鍵情報により復号化された返信情報と参照情報との比較による認証を実行し、当該認証の結果に基づいて、第1認証モジュールと第2認証モジュールとの通信セッションの継続の可否を決定する。
【0007】
また、本開示の他の一例としての認証モジュールは、他の認証モジュールに通信可能に接続される認証モジュールであって、認証モジュールに固有の第1識別情報と他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第1認証データを取得する第1取得部と、第1認証データの第1認証情報を、第1認証データと同一構成の第2認証データを取得する他の認証モジュールに送信し、他の認証モジュールに送信された第1認証データの第1認証情報と、当該第1認証情報に対応付けられた第1認証データの第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成し、他の認証モジュールであって、認証モジュールから第1認証データの第1認証情報が受信された場合に認証モジュールから受信された第1認証情報と一致する第2認証データの第1認証情報と当該第1認証情報に対応付けられた第2認証データの第2認証情報とに基づく第3生成ロジックにより第3認証情報を生成し、当該第3認証情報、または第1鍵情報により暗号化された第3認証情報、を返信情報として認証モジュールに返信する他の認証モジュールから返信情報が受信された場合に、返信情報と参照情報との比較、または第1鍵情報に対応する第2鍵情報により復号化された返信情報と参照情報との比較による認証を実行し、当該認証の結果に基づいて、認証モジュールと他の認証モジュールとの通信セッションの継続の可否を決定する第1制御部と、を備える。
【0008】
また、本開示のさらに他の一例としての認証モジュールは、他の認証モジュールに通信可能に接続される認証モジュールであって、他の認証モジュールに固有の第1識別情報と認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第2認証データを取得する第2取得部と、他の認証モジュールであって、第2認証データと同一構成の第1認証データを取得し、当該第1認証データの第1認証情報と、当該第1認証情報に対応付けられた第1認証データの第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成する他の認証モジュール、から第1認証データの第1認証情報が受信された場合に、他の認証モジュールから受信された第1認証データの第1認証情報と一致する第2認証データの第1認証情報と、当該第1認証情報に対応付けられた第2認証データの第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を生成し、当該第3認証情報、または第1鍵情報により暗号化された第3認証情報、を返信情報として、他の認証モジュールであって、返信情報が受信された場合に、返信情報と参照情報との比較、または第1鍵情報に対応する第2鍵情報により復号化された返信情報と参照情報との比較による認証を実行し、当該認証の結果に基づいて、認証モジュールと他の認証モジュールとの通信セッションの継続の可否を決定する他の認証モジュール、に返信する第2制御部と、を備える。
【0009】
また、本開示のさらに他の一例としての認証プログラムは、他の認証モジュールに通信可能に接続される認証モジュールを含むコンピュータに、認証モジュールに固有の第1識別情報と他の認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第1認証データを取得することと、第1認証データの第1認証情報を、第1認証データと同一構成の第2認証データを取得する他の認証モジュールに送信することと、他の認証モジュールに送信された第1認証データの第1認証情報と、当該第1認証情報に対応付けられた第1認証データの第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成することと、他の認証モジュールであって、認証モジュールから第1認証データの第1認証情報が受信された場合に認証モジュールから受信された第1認証情報と一致する第2認証データの第1認証情報と当該第1認証情報に対応付けられた第2認証データの第2認証情報とに基づく第3生成ロジックにより第3認証情報を生成し、当該第3認証情報、または第1鍵情報により暗号化された第3認証情報、を返信情報として認証モジュールに返信する他の認証モジュールから返信情報が受信された場合に、返信情報と参照情報との比較、または第1鍵情報に対応する第2鍵情報により復号化された返信情報と参照情報との比較による認証を実行することと、認証の結果に基づいて、認証モジュールと他の認証モジュールとの通信セッションの継続の可否を決定することと、を実行させるための、認証プログラムである。
【0010】
また、本開示のさらに他の一例としての認証プログラムは、他の認証モジュールに通信可能に接続される認証モジュールを含むコンピュータに、他の認証モジュールに固有の第1識別情報と認証モジュールに固有の第2識別情報とに基づいて第1生成ロジックにより生成される第1認証情報と、当該第1認証情報と第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される第2認証情報と、が対応付けられた第2認証データを取得することと、他の認証モジュールであって、第2認証データと同一構成の第1認証データを取得し、当該第1認証データの第1認証情報と、当該第1認証情報に対応付けられた第1認証データの第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を参照情報として生成する他の認証モジュール、から第1認証データの第1認証情報が受信された場合に、他の認証モジュールから受信された第1認証データの第1認証情報と一致する第2認証データの第1認証情報と、当該第1認証情報に対応付けられた第2認証データの第2認証情報と、に基づいて第3生成ロジックにより第3認証情報を生成することと、第3認証情報、または第1鍵情報により暗号化された第3認証情報、を返信情報として、他の認証モジュールであって、返信情報が受信された場合に、返信情報と参照情報との比較、または第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のような認証モジュール間で認証を行うための従来の技術として、FIDO認証と呼ばれる認証を実行する技術が知られている。FIDO認証においては、認証する側の装置と認証される側の装置との間で、公開鍵付きの証明書を使用したチャレンジ&レスポンス認証が実行される。
【0018】
しかしながら、上記のような従来の技術では、認証局から発行された証明書を予め購入して導入しておく必要があるため、運用にかかるコストおよび手間が増大しやすい。また、証明書の導入後においても、有効期間の管理や、仕様変更、セキュリティリスクまたはインシデントへの対応などが必要となるため、運用にかかるコストおよび手間が増大しやすい。
【0019】
そこで、実施形態は、認証モジュールとしてのクライアント装置110およびサーバ装置120に次の
図2に示されるような機能を持たせることで、運用にかかるコストおよび手間の増大を抑制する。
【0020】
図2は、実施形態にかかる認証モジュールとしてのクライアント装置110およびサーバ装置120の機能的構成を示した例示的かつ模式的なブロック図である。
【0021】
図2に示されるように、クライアント装置110は、認証データ取得部111と、制御部112と、を含んでおり、サーバ装置120は、認証データ取得部121と、制御部122と、を含んでいる。
【0022】
クライアント装置110の認証データ取得部111は、サーバ装置120との認証に使用される認証データ111Aを取得する。認証データ取得部111は、認証のたびに認証データ111Aを所定のロジック(詳細は後述する)により生成することで認証データ111Aを取得してもよいし、たとえば外部装置により予め生成された認証データ111Aを外部装置から受信することで認証データ111Aを取得してもよい。
【0023】
同様に、サーバ装置120の認証データ取得部121は、クライアント装置110との認証に使用される認証データ121Aを取得する。認証データ取得部121は、認証のたびに認証データ121Aを所定のロジック(詳細は後述する)により生成することで認証データ121Aを取得してもよいし、たとえば外部装置により予め生成された認証データ121Aを外部装置から受信することで認証データ121Aを取得してもよい。
【0024】
ここで、実施形態において、クライアント装置110側の認証データ111Aと、サーバ装置120側の認証データ121Aとは、同一の構成を有している。より具体的に、認証データ111Aおよび121Aは、共に、次の
図3に示されるような構成を有している。
【0025】
図3は、実施形態にかかる認証データ111Aおよび121Aの構成を示した例示的かつ模式的な図である。
【0026】
図3に示されるように、認証データ111Aおよび121Aは、互いに対応付けられたOID(ワンタイムID)およびOPW(ワンタイムパスワード)を含んでいる。OIDは、クライアント装置110に固有の識別情報とサーバ装置120に固有の識別情報とに基づいて第1生成ロジックにより生成される第1認証情報であり、OPWは、OIDと、クライアント装置110およびサーバ装置120の各々の識別情報とに基づいて第2生成ロジックにより生成される第2認証情報である。
【0027】
たとえば、実施形態にかかる第1生成ロジックは、疑似乱数関数PRF()を使用して、下記の式(10)で表される。なお、実施形態において、疑似乱数関数PRF()は、衝突が実際上発生しない程度に長い桁数の疑似乱数を出力するものとする。
【0028】
OID=PRF(secret, seed) …(10)
【0029】
上記の式(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)で表される。
【0030】
secret=hash(“01-23-45-67-89-aa+01-23-45-67-89-ab”) …(11)
【0031】
また、上記の式(10)において、seedは、クライアント装置110とサーバ装置120との通信セッションが開始するごとにクライアント装置110とサーバ装置120との間で同期して変化する可変情報である。より具体的に、seedは、クライアント装置110とサーバ装置120との通信セッションが開始するごとに変動(規則的にインクリメントまたはデクリメント)するカウンタ情報である。
【0032】
以上により、実施形態にかかる第1生成ロジックによれば、通信セッションによらずユニークな情報としてのMACアドレスと、通信セッションごとに変動するカウンタ情報と、に基づいて、通信セッションごとに異なるユニークなOIDを生成することができる、ということが分かる。
【0033】
また、実施形態にかかる第2生成ロジックは、独自関数Pwlog()を使用して、下記の式(20)で表される。なお、実施形態において、独自関数Pwlog()は、たとえば、衝突が実際上発生しない程度に長い桁数のハッシュ値を出力するように独自に設計されたハッシュ関数である。
【0034】
OPW=Pwlog(OID, secret) …(20)
【0035】
上記の式(20)において、OIDおよびsecretは、上記の式(10)に登場するものと同一である。したがって、実施形態にかかる第2生成ロジックによれば、通信セッションごとに異なるユニークなOIDと、通信セッションごとに変動するカウンタ情報と、に基づいて、通信セッションごとに異なるユニークなOPWを生成することができる、ということが分かる。
【0036】
図2に戻り、クライアント装置110の制御部112と、サーバ装置120の制御部122とは、クライアント装置110とサーバ装置120との通信セッションが開始した場合に、上述した認証データ111Aおよび121Aを使用して、次の
図4に示されるような流れで認証を行い、当該認証の結果に基づいて、現在の通信セッションの継続の可否を決定する。
【0037】
図4は、実施形態にかかる認証システム100により行われる認証の流れの一例を示した例示的かつ模式的なシーケンス図である。
【0038】
図4に示される例では、まず、ステップS411において、クライアント装置110の認証データ取得部111は、前述したようなOIDおよびOPWのペアを含む認証データ111Aを取得する。同様に、ステップS412において、サーバ装置120の認証データ取得部121も、前述したようなOIDおよびOPWのペアを含む認証データ121Aを取得する。
【0039】
そして、ステップS413において、クライアント装置110の制御部112は、サーバ装置120との通信セッションを開始するために、サーバ装置120に対して認証の開始を要求する。そして、ステップS414において、サーバ装置120の制御部122は、OIDの送信をクライアント装置110に要求する。
【0040】
そして、ステップS415において、クライアント装置110の制御部112は、ステップS411で取得された認証データ111AのOIDをサーバ装置120に送信する。そして、ステップS416において、クライアント装置110の制御部112は、ステップS411で取得された認証データ111Aを使用して、参照情報としてのチャレンジ値を生成する。なお、チャレンジ値とは、OIDに基づく値(たとえばハッシュ値)とOPWに基づく値(たとえばハッシュ値)とに基づいて第3生成ロジックにより生成される値である。
【0041】
たとえば、OIDに基づく値が“43215678902”であり、OPWに基づく値が“23456432102”である場合、実施形態にかかる第3生成ロジックは、ハッシュ関数hash()を使用して、下記の式(30)で表される。
【0042】
チャレンジ値=hash(“43215678902+23456432102”) …(30)
【0043】
一方、ステップS417において、サーバ装置120の制御部122は、ステップS412で取得された認証データ121Aから、ステップS415でクライアント装置110から受信されたOIDと一致するOIDと、当該OIDに対応付けられたOPWを抽出し、抽出したOIDおよびOPWに基づく上記と同様の第3生成ロジックにより、クライアント装置110とは別個にチャレンジ値を生成する。
【0044】
そして、ステップS418において、サーバ装置120の制御部122は、ステップS417で生成されたチャレンジ値をOPWで暗号化する。暗号化に使用されるOPWは、ステップS412で取得された認証データ121Aから抽出される、ステップS415でクライアント装置110から受信されたOIDと一致するOIDに対応付けられたOPWである。
【0045】
そして、ステップS419において、サーバ装置120の制御部122は、ステップS418で暗号化されたチャレンジ値を返信情報としてクライアント装置110に返信する。そして、ステップS420において、クライアント装置110の制御部112は、ステップS419でサーバ装置120から受信された返信情報としてのチャレンジ値をOPWで復号化する。復号化に使用されるOPWは、ステップS411で取得された認証データ111Aから抽出される、ステップS415でサーバ装置120に送信されたOIDに対応付けられたOPWである。
【0046】
そして、ステップS421において、クライアント装置110の制御部112は、ステップS416で参照情報として生成されたチャレンジ値と、ステップS420で復号化された返信情報としてのチャレンジ値と、が一致するか否かを判定する。
【0047】
そして、ステップS422において、クライアント装置110の制御部112は、ステップS421における判定の結果に応じて、現在の通信セッションを継続または終了する。たとえば、ステップS421における判定の結果が一致を示す場合、制御部112は、現在の通信セッションを継続し、ステップS421における判定の結果が不一致を示す場合、制御部112は、通信セッションを終了する。このようにして、実施形態にかかる認証が実行される。
【0048】
なお、
図4には、クライアント装置110側が起点となって通信セッションが開始する例が示されているが、実施形態では、サーバ装置120側が起点となって通信セッションが開始してもよい。この場合、ステップS413以降の処理の主体が
図4に示される例とは逆になる形で認証が行われうる。したがって、実施形態において、クライアント装置110の制御部112と、サーバ装置120の制御部122とは、互いに同等の機能を有しうる。
【0049】
以上説明したように、実施形態にかかる認証システム100は、互いに通信可能に接続された認証モジュール(第1認証モジュールおよび第2認証モジュール)としてのクライアント装置110およびサーバ装置120を含んでいる。以下の説明では、第1認証モジュールにクライアント装置110が対応付けられるとともに第2認証モジュールにサーバ装置120が対応付けられているが、これはあくまで説明の簡単化のためのものである。以下の説明は、第1認証モジュールにサーバ装置120を対応付けるとともに第2認証モジュールにクライアント装置110を対応付けた場合でも同様に成立しうる。
【0050】
第1認証モジュールとしてのクライアント装置110は、第1取得部としての認証データ取得部111とを含んでいる。認証データ取得部111は、第1認証情報としてのOIDと、第2認証情報としてのOPWと、が対応付けられた第1認証データとしての認証データ111Aを取得する。OIDは、クライアント装置110に固有の第1識別情報と第2認証モジュールとしてのサーバ装置120に固有の第2識別情報とに基づいて第1生成ロジックにより生成され、OPWは、OIDと第1識別情報と第2識別情報とに基づいて第2生成ロジックにより生成される。
【0051】
また、クライアント装置110は、第1制御部としての制御部112を含んでいる。制御部112は、認証データ111AのOIDをサーバ装置120に送信し、サーバ装置120に送信された認証データ111AのOIDと、当該OIDに対応付けられた認証データ111AのOPWと、に基づいて第3生成ロジックにより第3認証情報としてのチャレンジ値を生成する。なお、ここで生成されるチャレンジ値は、参照情報と表現することができる。
【0052】
また、サーバ装置120は、第2取得部としての認証データ取得部121と、第2制御部としての制御部122と、を含んでいる。認証データ取得部121は、OIDとOPWとが対応付けられた上記の認証データ111Aと同一構成の第2認証データとしての認証データ121Aを取得する。また、制御部122は、クライアント装置110から認証データ111AのOIDが受信された場合に、クライアント装置110から受信された認証データ111AのOIDと一致する認証データ121AのOIDと、当該OIDに対応付けられた認証データ121AのOPWと、に基づいて上記の第3生成ロジックによりチャレンジ値を生成し、認証データ121AのOPWを第1鍵情報として用いて暗号化されたチャレンジ値を返信情報としてクライアント装置110に返信する。
【0053】
ここで、実施形態において、クライアント装置110の制御部112は、サーバ装置120から返信情報が受信された場合に、サーバ装置120に送信されたOIDに対応付けられた認証データ111AのOPWを第1鍵情報に対応する第2鍵情報として用いて返信情報を復号化し、復号化された返信情報と上記の参照情報との比較による認証を実行し、当該認証の結果に基づいて、サーバ装置120との通信セッションの継続の可否を決定する。
【0054】
上記の構成によれば、証明書を使用することなく、比較的簡易な情報であるOIDとOPWとに基づいて生成されるチャレンジ値を使用して、クライアント装置110とサーバ装置120との間でFIDO認証と同等の認証を実行することができる。これにより、証明書を使用することに起因して、運用にかかるコストおよび手間が増大するのを抑制することができる。
【0055】
また、実施形態において、クライアント装置110とサーバ装置120とは、ネットワークを介して互いに通信可能に接続されている。そして、第1識別情報および第2識別情報は、それぞれ、クライアント装置110およびサーバ装置120をネットワーク上で識別するためのアドレス情報である。
【0056】
上記の構成によれば、アドレス情報を使用して第1識別情報および第2識別情報を容易に構成することができる。
【0057】
また、実施形態において、OIDは、クライアント装置110とサーバ装置120との通信セッションが開始するごとにクライアント装置110とサーバ装置120との間で同期して変化する可変情報にさらに基づいて生成される。
【0058】
上記の構成によれば、可変情報を使用して、通信セッションごとに異なるOIDを容易に生成することができる。これにより、ある通信セッションにおいてOIDが流出したとしても、その流出したOIDを他の通信セッションで利用することができない。その結果、証明書に関連する鍵が一旦流出すると証明書が更新されるまでセキュリティ性が低下する従来のFIDO認証と異なり、セキュリティ性を高めることができる。
【0059】
ここで、実施形態において、可変情報は、クライアント装置110とサーバ装置120との通信セッションが開始するごとに変動するカウンタ情報を含む。
【0060】
上記の構成によれば、カウンタ情報を使用して可変情報を容易に構成することができる。
【0061】
また、実施形態において、第1生成ロジックは、少なくとも第1識別情報および第2識別情報に基づく値を疑似乱数関数PRF()に入力することで得られる疑似乱数に基づいてOIDを生成することを含む(上記の式(10)および式(11)参照)。
【0062】
上記の構成によれば、疑似乱数関数を使用してユニークなOIDを容易に生成することができる。
【0063】
また、実施形態において、第2生成ロジックは、OIDと、第1識別情報および第2識別情報に基づく値と、を第1ハッシュ関数としての独自関数Pwlog()に入力することで得られる第1ハッシュ値に基づいてOPWを生成することを含む(上記の式(20)参照)。
【0064】
上記の構成によれば、第1ハッシュ関数を使用してユニークなOPWを容易に生成することができる。
【0065】
また、実施形態において、第3生成ロジックは、OIDに基づく値(たとえばハッシュ値)と第2認証情報に基づく値(たとえばハッシュ値)とを第2ハッシュ関数としてのハッシュ関数hash()に入力することで得られる第2ハッシュ値に基づいてチャレンジ値を生成することを含む(上記の式(30)参照)。
【0066】
上記の構成によれば、第2ハッシュ関数を使用してユニークなチャレンジ値を容易に生成することができる。
【0067】
最後に、上述した実施形態にかかる認証モジュール(クライアント装置110およびサーバ装置120)のハードウェア構成について説明する。実施形態にかかる認証モジュールは、たとえば次の
図5に示されるようなハードウェア構成を有するコンピュータ500として構成される。
【0068】
実施形態にかかる認証モジュールを構成するコンピュータ500のハードウェア構成を示した例示的かつ模式的なブロック図である。
【0069】
図5に示されるように、コンピュータ500は、プロセッサ510と、メモリ520と、ストレージ530と、入出力インターフェース(I/F)540と、通信インターフェース(I/F)550と、を備えている。これらのハードウェアは、バス560に接続されている。
【0070】
プロセッサ510は、たとえばCPU(Central Processing Unit)として構成され、コンピュータ500の各部の動作を統括的に制御する。
【0071】
メモリ520は、たとえばROM(Read Only Memory)およびRAM(Random Access Memory)を含み、プロセッサ510により実行されるプログラムなどの各種のデータの揮発的または不揮発的な記憶、およびプロセッサ510がプログラムを実行するための作業領域の提供などを実現する。
【0072】
ストレージ530は、たとえばHDD(Hard Disk Drive)またはSSD(Solid State Drive)を含み、各種のデータを不揮発的に記憶する。
【0073】
入出力インターフェース540は、たとえばキーボードおよびマウスなどのような入力装置(不図示)からコンピュータ500へのデータの入力と、たとえばコンピュータ500からディスプレイおよびスピーカなどのような出力装置(不図示)へのデータの出力と、を制御する。
【0074】
通信インターフェース550は、コンピュータ500が他の装置と通信を実行することを可能にする。
【0075】
実施形態にかかる認証モジュールとしてのクライアント装置110およびサーバ装置120が有する機能的構成(
図2参照)は、プロセッサ510がメモリ520またはストレージ530に予め記憶された認証プログラムを実行した結果として、ハードウェアとソフトウェアとの協働による機能モジュール群として実現される。ただし、実施形態では、
図2に示される機能モジュール群のうち一部または全部が、専用に設計された回路(circuitry)のようなハードウェアのみによって実現されてもよい。
【0076】
なお、上述した認証プログラムは、必ずしもメモリ520またはストレージ530に予め記憶されている必要はない。たとえば、上述した認証プログラムは、フレキシブルディスク(FD)のような各種の磁気ディスク、またはDVD(Digital Versatile Disk)のような各種の光ディスクなどといった、コンピュータで読み取り可能な媒体にインストール可能な形式または実行可能な形式で記録されたコンピュータプログラムプロダクトとして提供されてもよい。
【0077】
また、上述した認証プログラムは、インターネットなどのネットワーク経由で提供または配布されてもよい。すなわち、上述した認証プログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納された状態で、ネットワーク経由でのダウンロードを受け付ける、といった形で提供されてもよい。
【0078】
<変形例>
上述した実施形態では、認証モジュールが、ネットワークを介して通信可能に接続された別々の電子機器としてのクライアント装置110およびサーバ装置120である構成が例示されている。しかしながら、本開示の「認証モジュール」は、電子機器のような物理的な構成のみならず、ソフトウェアアプリケーションのような論理的な構成をも含みうる概念である。したがって、本開示の技術は、1つの電子機器に搭載されたアプリケーション間の認証にも適用可能である。この場合、OIDは、アプリケーションを識別するための固有の識別情報(および可変情報)に基づいて生成されうるとともに、OPWは、OIDと、アプリケーションを識別するための固有の識別情報と、に基づいて生成されうる。アプリケーションを識別するための固有の識別情報としては、たとえば、アプリケーションごとに割り当てられるライセンス番号などが考えられる。
【0079】
また、上述した実施形態では、認証モジュールに固有の識別情報として、認証モジュールをネットワーク上で識別するためのアドレス情報が使用される構成が例示されている。しかしながら、本開示において、識別情報は、認証モジュールを識別可能な情報であれば、アドレス情報以外のたとえばユーザが任意でユニークに定めた情報であってよい。
【0080】
また、上述した実施形態では、通信セッションが開始するごとに認証モジュール間で同期して変化する可変情報として、規則的にインクリメントまたはデクリメントするカウンタ情報が使用される構成が例示されている。しかしながら、本開示において、可変情報は、通信セッションが開始するごとに認証モジュール間で同期して変化する情報であれば、カウンタ情報とは異なる、規則的に変動しない情報であってもよい。
【0081】
また、上述した実施形態では、疑似乱数関数を使用した第1生成ロジックと、ハッシュ関数を使用した第2生成ロジックおよび第3生成ロジックと、が例示されている。しかしながら、本開示において、第1生成ロジックは、ユニークなOIDを生成可能なロジックであれば、必ずしも疑似乱数関数を使用したロジックでなくてよい。同様に、第2生成ロジックも、OIDに対応付けられるユニークなOPWを生成可能なロジックであれば、必ずしもハッシュ関数を使用したロジックでなくてよく、第3生成ロジックも、OIDに基づく値とOPWに基づく値とに基づくユニークなチャレンジ値を生成可能なロジックであれば、必ずしもハッシュ関数を使用したロジックでなくてよい。
【0082】
また、上述した実施形態では、OPWを用いてチャレンジ値の暗号化/復号化を実行する構成が例示されている。しかしながら、本開示の技術は、OPW以外の鍵情報を用いてチャレンジ値の暗号化/復号化を実行する構成も含みうる。
【0083】
たとえば、本開示の技術は、クライアント装置110とサーバ装置120との通信セッションが開始するごとにクライアント装置110とサーバ装置120との間で同期して変化する可変情報(たとえばカウンタ情報)を、チャレンジ値の暗号化/復号化のための鍵情報として用いる構成を含みうる。この構成において、返信情報は、可変情報を第1鍵情報として用いて暗号化されたチャレンジ値であり、認証は、同じ可変情報を第2鍵情報として用いて復号化された返信情報と参照情報との比較による認証である。
【0084】
また、本開示の技術は、通信セッションによらず変化しない固定情報を、チャレンジ値の暗号化/復号化のための鍵情報として用いる構成を含みうる。この構成において、返信情報は、第1識別情報および第2識別情報に基づく固定情報(たとえば第1識別情報と第2識別情報との和)を第1鍵情報として用いて暗号化されたチャレンジ値であり、認証は、同じ固定情報を第2鍵情報として用いて復号化された返信情報と参照情報との比較による認証である。
【0085】
さらに、本開示の技術は、チャレンジ値の暗号化/復号化を実行しない構成も含みうる。この構成において、返信情報は、チャレンジ値そのものであり、認証は、返信情報と参照情報とをそのまま比較することによる認証である。このような構成においても、証明書が必要ないという点で上述した実施形態と共通しているため、上述した実施形態と同様に、運用にかかるコストおよび手間の増大を抑制することができる。
【0086】
以上、本開示のいくつかの実施形態および変形例を説明したが、これらの実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0087】
100 認証システム
110 クライアント装置(認証モジュール、第1認証モジュール)
120 サーバ装置(認証モジュール、第2認証モジュール)
111 認証データ取得部(第1取得部)
111A 認証データ(第1認証データ)
112 制御部(第1制御部)
121 認証データ取得部(第2取得部)
121A 認証データ(第2認証データ)
122 制御部(第2制御部)