JP7119071B2 - 認証システム、認証装置、認証方法、およびプログラム - Google Patents

認証システム、認証装置、認証方法、およびプログラム Download PDF

Info

Publication number
JP7119071B2
JP7119071B2 JP2020509849A JP2020509849A JP7119071B2 JP 7119071 B2 JP7119071 B2 JP 7119071B2 JP 2020509849 A JP2020509849 A JP 2020509849A JP 2020509849 A JP2020509849 A JP 2020509849A JP 7119071 B2 JP7119071 B2 JP 7119071B2
Authority
JP
Japan
Prior art keywords
authentication
unit
authentication information
data
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020509849A
Other languages
English (en)
Other versions
JPWO2019188251A1 (ja
Inventor
明宏 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPWO2019188251A1 publication Critical patent/JPWO2019188251A1/ja
Application granted granted Critical
Publication of JP7119071B2 publication Critical patent/JP7119071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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

Landscapes

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

Description

本発明は、被認証装置を認証する認証装置等に関するものである。
従来、認証装置が、被認証装置またはユーザを認証する際に、ユーザにパスワードの入力を要求し、入力されたパスワードの正当性をもってユーザを認証するパスワード認証方式が広く用いられている。
また、パスワード認証方式において、パスワードによる認証の安全性を担保するため、認証ごとに使い捨てのパスワードを用いるワンタイムパスワード方式や、パスワードそのものではなくパスワードから生成した認証情報を用いて認証を行う方式が知られている。
例えば、SAS-2(Simple And Secure password authentication protocol ver.2)という認証方式は、ワンタイムパスワード認証方式の一例であり、認証装置は以下のような手順によって被認証装置を認証する(例えば、非特許文献1参照)。以下において、SAS-2の本質を理解しやすくするため、非特許文献1に記載のアルゴリズムからユーザ識別子を省略し、一方向性変換関数も一種類に簡略化して説明する。
図14および図15は、SAS-2認証方式におけるユーザ認証の処理工程を示すフローチャートである。
なお、以下の説明において用いる記号「←」は右辺の左辺への代入、記号「S」はユーザが秘密に保持しているパスワード、記号「XOR」は排他的論理和演算、記号「n」は認証回数、記号「N」は乱数(nは1以上の自然数で、乱数を識別するために用いる)、をそれぞれ示している。また、記号「H」は一方向性変換関数を示す。一方向性変換関数とは、一方向性関数と言っても良い。一方向性変換関数は、簡単に計算できるが逆関数の計算は非常に困難である関数である。一方向性変換関数は、例えば、暗号学的ハッシュ関数であるが、その種類は問わない。
まず、ユーザは、認証を受けたい認証装置にあらかじめ登録を行っておく(以下、この登録作業を「初期登録」という。)。以下、ユーザの被認証装置における初期登録処理の手順を、図14を参照して説明する。図14は、従来技術による被認証装置の初期登録処理の手順を示すフローチャートである。なお、被認証装置は、あらかじめ秘密のパスワードSを保持している、とする。
まず、被認証装置は、乱数Nを生成し、記録媒体に蓄積する(ステップS1101)。そして,被認証装置は、乱数Nと秘密に保持しているパスワードSを用いて,下記の数式1に示す初回認証情報Aを算出して保存し(ステップS1102)。
Figure 0007119071000001
次に、被認証装置は、Aを被認証装置に送付する(ステップS1103)。なお、被認証装置は、できれば、安全な手段で、Aを被認証装置に送付する。安全な手段とは、例えば、専用線による当該情報の送信、または当該情報を記憶した記憶媒体の郵送による送付、または工場出荷時等にあらかじめ認証者となる装置等に当該情報を書き込んでおく等である。初回認証情報Aは,初回(認証回数n=1)の認証に用いる認証情報である。
そして、認証装置は、ステップS1103で被認証装置から送付された初回認証情報Aを記録媒体に保存しておく(ステップS1104)。以上が被認証装置の初期登録作業の手順である。
次に、初回(n=1)以降、n回目の認証時の認証処理について、図15を参照して説明する。図15は、初回(n=1)以降、n回目の認証時の認証処理の手順を示すフローチャートである。この時、被認証装置は、パスワードS、乱数Nを記録媒体に保存している。また、認証装置はA(初回認証時はn=1)を記録媒体に保存している。まず、被認証装置は保存している乱数Nから,下記の数式2に示すAを算出する(ステップS1201)。
Figure 0007119071000002
次に、被認証装置は、新しい乱数Nn+1を生成し、保存する(ステップS1202)。そして、被認証装置は、当該Nn+1を用いて、下記の数式3によりAn+1を生成する。次に、被認証装置は、当該An+1とAとを用いて、下記の数式4によってデータαを算出する。また、被認証装置は、当該An+1とAとを用いて、下記の数式5によってデータβを算出する(ステップS1203)。
Figure 0007119071000003
Figure 0007119071000004
Figure 0007119071000005
次に、被認証装置は、算出したαとβとを認証装置に送付する(ステップS1204)。このとき、Aは今回の認証処理に用いる今回認証情報、An+1は次回の認証処理に用いる次回認証情報である。
認証装置は、被認証装置からαおよびβを受信する。そして、認証装置は、受信したαとβとを用いて、演算「H(β XOR A) XOR α」を実行し、当該演算結果が今回認証情報Aと一致するかどうかを検証する(ステップS1205)。
そして、認証装置は、両者が一致する場合、被認証装置またはユーザの資格の認証が成立したと判断し、次回(n+1回目)の認証に用いる認証情報としてAn+1を記録媒体に保存する(ステップS1206)。一方、認証装置は、両者が一致しない場合、認証は不成立であると判断し、エラーメッセージを送付する等の処理を行う(ステップS1207)。そして、本フローチャートによる処理が終了する。以上のような処理によって、認証装置は,認証を求めてきた被認証装置またはユーザに対して認証を行う。
辻貴介(Takasuke Tsuji),他2名,「シンプル アンド セキュア パスワード オーセンティケイション プロトコル バージョン2(Simple And Secure password authentication protocol, ver. 2 (SAS-2))」,電子情報通信学会技術研究報告書,2002年,OIS2002-30, Vol. 102, No. 314, p7-11
ワンタイムパスワード認証方式が上位レイヤで用いられる場合、認証はプロセスの最初に一回だけ行えば良いため、それほど速度性能を必要としない。なお、ワンタイムパスワード認証方式が上位レイヤで用いられる場合は、例えば、クラウドサービスシステムやアプリケーション提供サービスシステムへのログイン時の認証に、ワンタイムパスワード認証方式が用いられる場合である。
また、下位レイヤにおいて、暗号通信のため、認証情報をシーズに暗号鍵を生成するといった鍵配送の手段に用いる場合、設定した鍵を使って比較的大量の暗号文を生成するのであれば鍵配送に用いられる認証方式にはそれほどの速度性能が求められない。なお、認証方式における「速度性能が高い」ことは、「処理負荷が小さい」ことと概ね等価の特徴である。
しかしながら、IoT技術の発展等に伴い、低いレイアにおいて、処理性能がそれほど高くない機器とのセキュアな通信の実現においては、認証あるいは鍵配送に用いるワンタイムパスワード認証方式の速度性能は高いほど、すなわち処理負荷が小さいほど、その応用範囲が広がる。
なお、上記の背景技術で示したSAS-2認証方式は、ワンタイムパスワード認証方式において、現在の公知技術における最高速の速度性能を有する方式である。
ワンタイムパスワード認証方式の速度性能は、使用されている演算によって決まるが、通常、一方向性変換関数は、排他的論理和や加算等の演算を数多く組み合わせて実現されることから、一方向性変換関数の処理の負荷は大きい。そのため、排他的論理和および加算の各演算の負荷は、一方向性変換関数による演算の負荷に比較してほとんど無視できる。したがって、ワンタイムパスワード認証方式の速度性能は、一方向性変換関数の適用回数によって評価することができる。
従来、極めて高速と言われるSAS-2認証方式は、被認証装置における一方向性変換関数「H」の適用回数は3回である(ステップS1201、S1203参照)。ステップS1201で生成されるAを記憶しておいて再利用すれば、被認証装置は、一方向性変換関数の適用回数を2回にすることができる。認証装置における一方向性変換関数の適用回数は1回である(ステップS1205参照)。すなわち、SAS-2認証方式の一方向性変換関数の適用回数は、被認証装置で3回、認証装置で1回である。なお、前回計算済の今回認証情報を記憶しておけば、この一方向性変換関数の適用回数は、被認証装置で2回、認証装置で1回となる。
つまり、従来技術においては、認証装置と被認証装置の双方において、最低でも一方向性変換関数1回の適用が必要であり、IoT技術等の進展に対応して、処理能力の低い端末を用いる場合等においては、ワンタイムパスワードの認証処理の速度が十分でなく、わ処理負荷が大きすぎる場合がある。
かかることに鑑み、本発明は、極めて高速と言われてきた従来のSAS-2認証方式と比較して、処理速度を高速化でき、処理負荷を小さくできる安全なワンタイムパスワード認証方式を実現することによって、IoT等の一層幅広い技術領域へのセキュリティ機能の付加を実現することを目的とする。
本第一の発明の認証システムは、認証される装置である被認証装置と当該被認証装置を認証する装置である認証装置とを具備する認証システムであって、前記認証装置は、第nの認証情報(A)と第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、前記第一データ(α)を前記被認証装置に送信する第一送信部と、前記第一送信部が送信した第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いた第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部とを具備し、前記被認証装置は、第nの認証情報(A)が格納される第二認証情報格納部と、前記第一データ(α)を前記認証装置から受信する第二受信部と、前記第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて、前記第一演算を行い、第二データ(β)を取得する第二演算部と、前記第二データ(β)を前記認証装置に送信する第二送信部とを具備する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
また、本第二の発明の認証システムは、第一の発明に対して、前記認証装置において、記号nが格納される第一記号格納部をさらに具備し、前記第一送信部は、前記nと前記第一データ(α)とを前記被認証装置に送信し、前記第二受信部は、前記nと前記第一データ(α)とを前記認証装置から受信し、前記第二排他的論理和部は、前記第一データ(α)と、前記第二受信部が受信したnに対応する第nの認証情報(A)との排他的論理和の演算(α XOR A)を行い、第n+1の認証情報(An+1)を取得する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
また、本第三の発明の認証システムは、第一または第二の発明に対して、前記認証装置は、パスワード(S)が格納される第一パスワード格納部と、第n+1の乱数(Nn+1)を生成する第一乱数生成部と、前記パスワード(S)と前記第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する第一排他的論理和部と、前記第一排他的論理和部が取得した演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する第一変換部とをさらに具備し、前記第一排他的論理和部は、前記第nの認証情報(A)と、前記第一変換部が取得した第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)を行い、第一データ(α)を取得し、前記第一送信部が送信する前記第一データ(α)は、前記第一排他的論理和部が取得した第一データ(α)であり、前記第nの認証情報(A)と前記第n+1の認証情報(An+1)とを用いて、前記第一演算を行い、第一演算結果を取得する第一演算部をさらに具備し、前記第一認証部は、前記第一演算部が取得した第一演算結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
また、本第四の発明の認証装置は、第三の発明に対して、前記第一乱数生成部は、第一の乱数(N)を生成し、前記第一排他的論理和部は、前記パスワード(S)と前記第一の乱数(N)との排他的論理和の演算(S XOR N)を行い、第一演算結果を取得し、前記第一変換部は、前記第一排他的論理和部が取得した第一演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A)を取得し、前記第一送信部は、前記第一の認証情報(A)を前記被認証装置に送信し、前記第二受信部は、前記第一の認証情報(A)を受信する、認証システムを構成する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
また、本第五の発明の認証システムは、第一から第四いずれか1つの発明に対して、前記認証装置において、前記第一データ格納部に格納されている第一データ(α)は、前記第n+1の認証情報(An+1)と前記第nの認証情報(A)と第nの秘匿情報(M)とを用いて、排他的論理和の演算(An+1 XOR A XOR M)を行い、取得されたデータであり、前記第二排他的論理和部は、前記第一データ(α)と前記第nの認証情報(A)と前記第nの秘匿情報(M)とを用いて、排他的論理和の演算(α XOR A XOR M)を行い、第n+1の認証情報(An+1)を取得し、前記第二演算部は、前記第n+1の認証情報(An+1)と前記第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速かつ頑強にできる。
また、本第六の発明の認証システムは、第一から第五のいずれかの発明に対して、第一演算部は、第nの認証情報(A)と、第n+1の認証情報(An+1)と、第nの秘匿情報(M)とを用いて、第一演算を行い、第一演算結果を取得し、第二演算部は、第二排他的論理和部が取得した第n+1の認証情報(An+1)と、第nの認証情報(A)と、第nの秘匿情報(M)とを用いて、第一演算を行い、第二データ(β)を取得する
また、本第七の発明の認証システムは、第五または第六の発明に対して、前記認証装置において、認証に使用する秘密の情報である第一の秘匿情報(M)を生成する第一秘匿情報生成部をさらに具備し、前記第一送信部は、第一の認証情報(A)と前記第一の秘匿情報(M)とを前記被認証装置に送信し、前記第二受信部は、前記第一の認証情報(A)と前記第一の秘匿情報(M)とを受信する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速かつ頑強にできる。
また、本第八の発明の認証システムは、第五から第七いずれかの発明に対して、前記認証装置において、前記第n+1の認証情報(An+1)と前記第nの認証情報(A)と前記第nの秘匿情報(M)との排他的論理和の演算(An+1 XOR A XOR M)を行い、第一データ(α)を取得する第一排他的論理和部をさらに具備し、前記第一送信部は、前記第一排他的論理和部が取得した第一データ(α)を前記被認証装置に送信し、前記第nの認証情報(A)と前記第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得する第一演算部をさらに具備する認証システムである。
かかる構成により、ワンタイムパスワードの認証処理が高速にできる。
本発明による認証装置によれば、ワンタイムパスワードの認証処理が高速にできる。
実施の形態1における認証システムAの概念図を示す図 同認証システムAのブロック図 同認証システムAを構成する被認証装置2のブロック図 同認証システムAにおける初期登録処理の例を示すフローチャート 同認証システムAにおけるn回目の認証時の認証処理の例を示すフローチャート 実施の形態2における認証システムBのブロック図 同認証システムBの初期登録処理の例を示すフローチャート 同認証システムBにおけるn回目の認証時の認証処理の例を示すフローチャート 実施の形態3における認証システCのブロック図 同認証システムCを構成する被認証装置6のブロック図 同認証システムCにおけるn回目の認証時の認証処理の例を示すフローチャート 上記実施の形態におけるコンピュータシステムの概観図 同コンピュータシステムのブロック図 従来技術における初期登録処理の例を示すフローチャート 従来技術におけるn回目の認証時の認証処理の例を示すフローチャート
以下、認証装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、一方向性変換関数の実行回数を少なくできるために、認証処理を高速に行う認証システムについて説明する。特に、認証処理の際の被認証装置における一方向性変換関数の実行回数が0となるため、被認証装置の負荷が極めて小さくて良い認証システムについて説明する。
図1は、本実施の形態における認証システムAの概念図である。認証システムAは、認証装置1、および1または2以上の被認証装置2を備える。認証装置1と1以上の各被認証装置2とは、インターネット等のネットワークを介して、通信可能である。認証装置1は、被認証装置2を認証する装置である。認証装置1は、被認証装置2と通信可能な情報処理装置であり、例えば、いわゆるクラウドサーバ、ASPサーバ等であるが、その種類は問わない。被認証装置2は、認証される装置である。被認証装置2は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン、携帯電話、テレビ、自動車等のあらゆる機器が考えられ、その種類は問わない。また、認証装置1と1以上の各被認証装置2との通信手段やネットワークの種類は問わないことは言うまでもない。
図2は、本実施の形態における認証システムAのブロック図である。図3は、本実施の形態における認証システムAを構成する被認証装置2のブロック図である。
認証システムAは、認証装置1、1または2以上の被認証装置2を備える。なお、認証システムAは、2以上の認証装置1を備えても良い。
認証装置1は、第一格納部11、第一処理部12、第一送信部13、および第一受信部14を備える。第一格納部11は、第一パスワード格納部111、第一乱数格納部112、第一認証情報格納部113、第一秘匿情報納部114、第一記号格納部115、および第一データ格納部116を備える。第一処理部12は、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一秘匿情報生成部124、第一演算部125、第一認証部126、および第一認証結果処理部127を備える。
被認証装置2は、第二格納部21、第二受信部22、第二処理部23、および第二送信部24を備える。第二格納部21は、第二認証情報格納部211、および第二秘匿情報納部212を備える。第二処理部23は、第二排他的論理和部231、および第二演算部232を備える。
認証装置1を構成する第一格納部11には、各種の情報が格納される。各種の情報とは、例えば、後述するパスワード、後述する乱数、後述する認証情報、後述する秘匿情報、後述する記号、後述する第一データ等である。
第一パスワード格納部111には、パスワード(S)が格納される。なお、パスワード(S)は、任意の情報であり、何でも良い。Sは、例えば、「ABC」「125XYZ」「あいうえおQ!」等である。なお、パスワード(S)は、例えば、被認証装置2の識別子として利用されても良い。
第一乱数格納部112には、第nの乱数(N)が格納される。なお、nは1以上の自然数である。第一乱数格納部112には、第1の乱数(N)、第2の乱数(N)、・・・第nの乱数(N)等の多数の乱数が格納されても良いし、最新の乱数である第nの乱数(N)のみ格納されても良い。第一乱数格納部112の第nの乱数(N)は、通常、認証装置1が生成するが、予め1または2以上の乱数が第一乱数格納部112に格納されていても良い。
第一認証情報格納部113には、第nの認証情報(A)が格納される。認証情報とは、認証に利用される情報であり、後述する一方向性変換関数が適用された結果の情報である。第一認証情報格納部113には、第1の認証情報(A)、第2の認証情報(A)、・・・第nの認証情報(A)等の多数の認証情報が格納されても良いし、第n回目の認証で使用する第nの認証情報(A)と第n+1の認証情報(An+1)の認証情報のみが格納されても良い。第一認証情報格納部113の第nの認証情報(A)は、通常、認証装置1が生成するが、第一認証情報格納部113に1または2以上の認証情報(A,A,・・・,A)が予め格納されていても良い。
第一秘匿情報納部114には、第nの秘匿情報(M)が格納される。秘匿情報は、認証に使用する秘密の情報である。秘匿情報の内容や種類等は問わない。第一秘匿情報納部114には、第1の秘匿情報(M)、第2の秘匿情報(M)、・・・第nの秘匿情報(M)等の多数の秘匿情報が格納されても良いし、第n回目の認証で使用する第nの秘匿情報(M)と第n+1の秘匿情報(Mn+1)の秘匿情報のみが格納されても良い。第一秘匿情報納部114の第nの秘匿情報(M)は、通常、認証装置1が生成するが、第一秘匿情報納部114に1または2以上の秘匿情報(M,M,・・・,M)が予め格納されていても良い。
第一記号格納部115には、第nの記号が格納される。一の記号は、他の記号と識別可能であれば良い。記号は、順序性を有する情報であることは好適である。記号は、例えば、1以上の自然数(1,2,・・・,n)である。記号は、例えば、1以上のアルファベットから構成する文字列である。第nの乱数(N)、第nの認証情報(A)、第nの秘匿情報(M)のnは、記号である。第一記号格納部115の第nの記号は、通常、認証装置1が生成するが、第一記号格納部115に1または2以上の記号が予め格納されていても良い。なお、認証装置1における記号の生成とは、例えば、数値のインクリメントである。
第一データ格納部116には、第一データ(α)が格納される。第一データ(α)は、第nの認証情報(A)と第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)を行い、取得されたデータである。また、第一データ(α)は、第nの認証情報(A)と第n+1の認証情報(An+1)と第nの秘匿情報(M)との排他的論理和の演算(A XOR An+1 XOR M)を行い、取得されたデータであることは好適である。AとAn+1とMとの排他的論理和の演算は、AとAn+1とを用いた排他的論理和の演算である。なお、かかる演算は、通常、認証装置1が行うが、他の装置で行われても良い。第一データ格納部116の第一データ(α)は、通常、認証装置1が生成するが、予め格納されていても良い。第一データ格納部116には、1または2以上の第一データ(α)が、予め格納されていても良い。2以上の各第一データ(α)は、排他的論理和の演算「(A XOR An+1)または(A XOR An+1 XOR M)」のnが異なるデータである。また、n個の第一データ(α)は、例えば、添字のnを、1からnまで1ずつずらしながら排他的論理和の演算を行った結果のデータである。
第一処理部12は、各種の処理を行う。各種の処理とは、例えば、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一秘匿情報生成部124、第一演算部125、第一認証部126、第一認証結果処理部127が行う処理である。
第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に、少なくとも一時蓄積する。
第一乱数生成部121は、第一の乱数(N)を生成し、第一乱数格納部112に、少なくとも一時蓄積する。また、第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に、少なくとも一時蓄積する。
なお、乱数を発生するアルゴリズムは問わない。また、乱数を発生する処理は公知技術であるので、詳細な説明は省略する。
また、第一乱数生成部121が乱数を生成するタイミングは問わない。例えば、第一乱数生成部121は、ユーザからの指示に応じて、乱数を生成する。例えば、第一乱数生成部121は、外部の装置から命令が受信されたことにより、乱数を生成する。例えば、第一乱数生成部121は、予め決められた時刻になった場合に、乱数を生成する。
第一排他的論理和部122は、2以上の情報に対して排他的論理和の演算を行い、演算結果を取得する。
第一排他的論理和部122は、例えば、パスワード(S)と第一の乱数(N)との排他的論理和の演算(S XOR N)を行い、演算結果を取得する。また、第一排他的論理和部122は、例えば、パスワード(S)と第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する。
また、第一排他的論理和部122は、例えば、第n+1の認証情報(An+1)と第nの認証情報(A)とを用いて、排他的論理和の演算(An+1 XOR A)を行い、第一データ(α)を取得する。
また、第一排他的論理和部122は、例えば、第n+1の認証情報(An+1)と第nの認証情報(A)と第nの秘匿情報(M)とを用いて、排他的論理和の演算(An+1 XOR A XOR M)を行い、第一データ(α)を取得する。
また、第一排他的論理和部122は、例えば、第n+1の認証情報(An+1)と第nの認証情報(A)と第nの秘匿情報(M)とを用いて、演算((An+1 XOR A) + M))を行い、第一データ(α)を取得する。なお、ここでの「+」は他の演算(例えば、「-」「×」等)でも良い。つまり、第一排他的論理和部122は、排他的論理和以外の演算を含めて、演算を実行しても良い。
第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A)を取得し、第一認証情報格納部113に蓄積する。上述したように、一方向性変換関数Hは、例えば、ハッシュ関数であるが、その種類は問わない。なお、ここでの演算結果は、パスワード(S)と第一の乱数(N)との排他的論理和の演算(S XOR N)の結果である。
第一変換部123は、演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得し、当該第n+1の認証情報(An+1)を第一認証情報格納部113に蓄積する。なお、一方向性変換関数Hを施すことは、一方向性変換関数を実行することと言っても良い。ここで、蓄積とは、第n+1の認証情報(An+1)を第nの認証情報(A)に上書きすることでも良いし、追記することでも良い。
なお、第一変換部123が使用する演算結果は、例えば、第一排他的論理和部122が取得した情報である。
第一秘匿情報生成部124は、認証に使用する秘密の情報である第一の秘匿情報(M)を生成し、当該第一の秘匿情報(M)を第一秘匿情報納部114に、少なくとも一時蓄積する。ここで、第一の秘匿情報(M)は、任意の情報であり、何でも良い。なお、パスワード(S)、乱数(N)、認証情報(A)のビット数と、秘匿情報(M)のビット数とは同じであることは好適である。
また、第一秘匿情報生成部124が第一の秘匿情報(M)を生成する方法は問わない。第一秘匿情報生成部124は、第一の秘匿情報(M)が取得できれば良い。第一秘匿情報生成部124は、例えば、第一格納部11に格納されている秘匿情報の候補の中から情報を選択する。第一秘匿情報生成部124は、例えば、予め格納されている元情報(秘匿情報を生成するための元になる情報)に対して予め決められた処理を行い、新しい秘匿情報を取得する。なお、予め決められた処理とは、例えば、予め格納されている関数に元情報をパラメータとして与えて、当該関数の実行することである。
第一演算部125は、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いて、第一演算を行い、第一演算結果を取得する。ここで、第一演算は、例えば、和、差、乗算、除算、平均値算出等であり、演算の種類は問わない。第一演算部125は、例えば、和演算「β=A+An+1」により、βを取得する。
第一演算部125は、例えば、第nの認証情報(A)と第n+1の認証情報(An+1)と第nの秘匿情報(M)とを用いて、第一演算を行い、第一演算結果を取得する。第一演算部125は、例えば、「β=A+An+1+M」、「β=A+An+1-M」、「β=(A-An+1)×M」により、第一演算結果を取得する。
また、第一演算部125は、例えば、第nの秘匿情報(M)、第n+1の認証情報(An+1)と、第nの認証情報(A)のうちの1以上の情報を用いて演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に、少なくとも一時蓄積する。なお、かかる演算の種類は問わない。また、かかる演算は、例えば、「Mn+1=M+A」、「Mn+1=An+1+A+M」、「Mn+1=M+An+1」、「Mn+1=M+x(xは定数)」である。なお、「+」は他の演算でも良いことは言うまでもない。
また、第一演算部125は、例えば、第nの認証情報(A)と第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に、少なくとも一時蓄積する。
なお、第一排他的論理和部122が第一データ(α)を算出する際、または第一演算部125が第一演算結果を算出する際の、少なくともどちらか一方では、秘匿情報(M)が使用されることは好適である。なお、第一排他的論理和部122が第一データ(α)を算出する際と第一演算部125が第一演算結果を算出する際の両方、秘匿情報(M)が使用されても良い。
第一認証部126は、第一演算結果と第二データ(β)とが予め決められた関係を有するか否かを判断する。予め決められた関係とは、通常、一致である。ただし、予め決められた関係は、第一演算結果と、第二データ(β)から導出されるデータとが一致する関係でも良い。かかる場合、被認証装置2は、第n+1の認証情報(An+1)と第nの認証情報(A)とを用いて第一演算が行われた結果を送信するのではなく、第n+1の認証情報(An+1)と第nの認証情報(A)とを用いて第一演算が行われた結果から導出した第二データ(β)を認証装置1に送信する。
また、(An+1)と(A)とを用いて第一演算が行われた演算結果から導出した第二データ(β)は、例えば、関数f(演算結果)により取得されるデータである。かかる場合、予め決められた関係は、「関数f(第一演算結果)=第二データ(β)」である。
第一認証部126は、例えば、第一演算結果と第二データ(β)とが一致するか否かを判断する。
ここで、第一演算結果は、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いて、第一演算(例えば、和演算)を行い、取得された情報である。第nの認証情報(A)と第n+1の認証情報(An+1)とは、第一データ(α)が取得される元になった情報である。第二データ(β)は、後述する第一受信部14が受信した情報である。
第一認証部126は、例えば、第一演算部125が取得した第一演算結果と、第一受信部14が受信した第二データ(β)とが一致するか否かを判断する。なお、第一演算結果は、第一格納部11に予め格納されていても良い。
第一認証結果処理部127は、第一認証部126の判断結果を用いた処理を行う。第一認証結果処理部127は、例えば、第一認証部126の判断結果を被認証装置2に送信する。また、第一認証結果処理部127は、例えば、判断結果が認証許可である場合、被認証装置2またはユーザのログインを許可する。また、第一認証結果処理部127は、例えば、判断結果が認証許可である場合、被認証装置2を動作可能にする。また、第一認証結果処理部127は、例えば、判断結果が認証不許可である場合、被認証装置2にエラーメッセージを送信する。
第一送信部13は、第一データ(α)を被認証装置2に送信する。第一送信部13は、例えば、記号nと第一データ(α)とを被認証装置2に送信する。なお、記号nは、例えば、認証の毎にインクリメントされる自然数である。
第一送信部13は、第一の認証情報(A)を被認証装置2に送信する。第一送信部13は、第一の認証情報(A)と第一の秘匿情報(M)とを被認証装置2に送信しても良い。
第一受信部14は、第二データ(β)を被認証装置2から受信する。第二データ(β)は、例えば、第n+1の認証情報(An+1)と、第nの認証情報(A)とを用いて第一演算が行われた結果である。第n+1の認証情報(An+1)は、例えば、第一送信部13が送信した第一データ(α)と第nの認証情報(A)との排他的論理和の演算(α XOR A)により取得された情報である。第二データ(β)は、例えば、第一データ(α)と第nの認証情報(A)と第nの秘匿情報(M)とを用いて、演算が行われた結果である。第二データ(β)は、例えば、第n+1の認証情報(An+1)と、第nの認証情報(A)とを用いて第一演算を行い、その演算結果に対して予め決められた演算を行った結果でも良い。
第一受信部14は、通常、第一送信部13における第一データ(α)の送信に応じて、第二データ(β)を被認証装置2から受信する。
認証装置1の認証処理の開始のトリガーは問わない。例えば、被認証装置2からの指示を受信したことにより、認証装置1は認証処理を開始する。また、例えば、図示しない受付部がユーザからの指示を受け付けたことに応じて、認証装置1は認証処理を開始する。例えば、図示しない受付部が外部の装置からの命令を受信したことにより、認証装置1は認証処理を開始する。例えば、第一処理部12が予め決められた時刻になったことを検知した場合に、認証装置1は認証処理を開始する。
被認証装置2を構成する第二格納部21には、各種の情報が格納される。各種の情報とは、例えば、認証情報、秘匿情報である。
第二認証情報格納部211には、第nの認証情報(A)が格納される。なお、第1の認証情報(A)は、通常、認証装置1から受信された情報である。第二以降の認証情報(A,A,・・・,A)は、通常、被認証装置2で生成された情報である。第二認証情報格納部211には、第1の認証情報(A)、第2の認証情報(A)、・・・第nの認証情報(A)等の多数の認証情報が格納されても良い。
第二秘匿情報納部212には、第nの秘匿情報(M)が格納される。なお、第1の秘匿情報(M)は、通常、認証装置1から受信された情報である。第二以降の秘匿情報(M, M,・・・,M)は、通常、被認証装置2で生成された情報である。第二秘匿情報納部212には、第1の秘匿情報(M)、第2の秘匿情報(M)、・・・第nの秘匿情報(M)等の多数の秘匿情報が格納されても良いし、第n回目の認証で使用する第nの秘匿情報(M)と第n+1の秘匿情報(Mn+1)の秘匿情報のみが格納されても良い。
第二受信部22は、第一データ(α)を認証装置1から受信する。第二受信部22は、例えば、記号nと第一データ(α)とを認証装置1から受信する。
第二受信部22は、例えば、第一の認証情報(A)を受信し、当該第一の認証情報(A)を第二認証情報格納部211に、少なくとも一時蓄積する。また、第二受信部22は、例えば、第一の秘匿情報(M)を受信し、当該第一の秘匿情報(M)を第二秘匿情報納部212に、少なくとも一時蓄積する。
第二処理部23は、各種の処理を行う。各種の処理とは、例えば、第二排他的論理和部231、第二演算部232が行う処理である。
第二排他的論理和部231は、例えば、第一データ(α)と第nの認証情報(A)とを用いて、排他的論理和の演算(α XOR A)を行い、第n+1の認証情報(An+1)を取得する。
第二排他的論理和部231は、例えば、第一データ(α)と第nの認証情報(A)と第nの秘匿情報(M)とを用いて、排他的論理和の演算(α XOR A XOR M)を行い、第n+1の認証情報(An+1)を取得する。
第二演算部232は、第二排他的論理和部231が取得した第n+1の認証情報(An+1)と、第nの認証情報(A)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、第一演算は、上述したように、例えば、「+」であるが、「-」「*」等、問わない。
第二演算部232は、例えば、第nの秘匿情報(M)、第n+1の認証情報(An+1)、第nの認証情報(A)のうちの1以上の情報を用いて演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第二秘匿情報納部212に、少なくとも一時蓄積する。なお、かかる演算の種類は問わない。また、かかる演算は、例えば、「Mn+1=M+A」、「Mn+1=An+1+A+M」、「Mn+1=M+An+1」、「Mn+1=M+x(xは定数)」である。なお、「+」は他の演算でも良いことは言うまでもない。
第二演算部232は、例えば、第nの認証情報(A)と第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、第二秘匿情報納部212に蓄積する。ここで、第二演算は、例えば、和、差、乗算、除算、平均値算出等である。ただし、第二演算の種類は問わない。第二演算部232は、例えば、和演算「Mn+1=A+M」により、βを取得する。また、第一演算と第二演算とは、同じ種類の演算でも(例えば、両方とも+)良いし、異なる種類の演算(例えば、一方が+、他方が-)でも良い。なお、第二演算部232は、例えば、第n+1の認証情報(An+1)と第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、第二秘匿情報納部212に蓄積しても良い。かかる場合の第二演算の種類も問わない。
第二送信部24は、第二データ(β)を認証装置1に送信する。なお、第二データ(β)は、通常、第二演算部232が取得した情報である。
第一格納部11、第一パスワード格納部111、第一乱数格納部112、第一認証情報格納部113、第一秘匿情報納部114、第一記号格納部115、第一データ格納部116、第二格納部21、第二認証情報格納部211、および第二秘匿情報納部212は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
第一格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が第一格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が第一格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が第一格納部11等で記憶されるようになってもよい。
第一処理部12、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一秘匿情報生成部124、第一演算部125、第一認証部126、第一認証結果処理部127、第二処理部23、第二排他的論理和部231、および第二演算部232は、通常、MPUやメモリ等から実現され得る。第一処理部12等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
第一送信部13、および第二送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
第一受信部14、および第二受信部22は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
次に、認証システムAの動作について説明する。まず、認証システムAにおける初期登録処理の例を、図4のフローチャートを用いて説明する。なお、動作開始時に、認証装置1は、第一パスワード格納部111にパスワード(S)を保持している、とする。
(ステップS401)認証装置1の第一乱数生成部121は、第一の乱数(N)を生成し、第一乱数格納部112に蓄積する。
(ステップS402)第一排他的論理和部122は、格納されているパスワード(S)とステップS401で取得された第一の乱数(N)との排他的論理和の演算(S XOR N)を行い、第一演算結果を取得する。また、第一変換部123は、第一排他的論理和部122が取得した第一演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A)を取得する。また、第一秘匿情報生成部124は、認証に使用する秘密の情報である第一の秘匿情報(M)を生成する。
(ステップS403)第一変換部123は、取得した第一の認証情報(A)を第一認証情報格納部113に保存する。また、第一秘匿情報生成部124は、生成した第一の秘匿情報(M)を第一秘匿情報納部114に保存する。
(ステップS404)第一送信部13は、取得された第一の認証情報(A)と第一の秘匿情報(M)とを認証装置2に安全な手段で送信する。ここで、認証装置1の初期登録処理は完了する。
(ステップS405)被認証装置2の第二受信部22は、第一の認証情報(A)を受信し、当該第一の認証情報(A)を第二認証情報格納部211に蓄積する。また、第二受信部22は、第一の秘匿情報(M)を受信し、当該第一の秘匿情報(M)を第二秘匿情報納部212に蓄積する。ここで、被認証装置2の初期登録処理は完了する。なお、第二受信部22は、通常、第一の認証情報(A)と第一の秘匿情報(M)とを一緒に受信するが、別々に受信しても良い。
なお、図4のフローチャートにおいて、認証装置1は、第一の認証情報(A)と第一の秘匿情報(M)とを予め格納しており、かかる第一の認証情報(A)と第一の秘匿情報(M)とを被認証装置2に送信しても良い。かかる場合、ステップS401からステップS403の処理は不要である。
また、認証システムAが秘匿情報(M)を用いない場合、認証装置1は、第一の認証情報(A)のみを被認証装置2に送信しても良い。
次に、認証システムAにおけるn回目の認証時の認証処理の例を、図5のフローチャートを用いて説明する。なお、n回目の認証処理の開始時に、認証装置1は、パスワード(S)を第一パスワード格納部111に保持しており、かつ乱数(N)を第一乱数格納部112に保持している、とする。また、n回目の認証処理の開始時に、被認証装置2は、第nの認証情報(A)を第二認証情報格納部211に保持しており、第nの秘匿情報(M)を第二秘匿情報納部212に保持している、とする。
(ステップS501)第一排他的論理和部122は、格納されているパスワード(S)と格納されている第nの乱数(N)との排他的論理和の演算(S XOR N)を行い、演算結果を取得する。次に、第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第nの認証情報(A)を取得する。
(ステップS502)第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に保存する。
(ステップS503)第一排他的論理和部122は、パスワード(S)と第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する。次に、第一変換部123は、当該演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する。次に、第一排他的論理和部122は、当該第n+1の認証情報(An+1)と第nの認証情報(A)と第nの秘匿情報(M)とを用いて、排他的論理和の演算(An+1 XOR A XOR M)を行い、第一データ(α)を取得する。
(ステップS504)第一送信部13は、ステップS503で取得された第一データ(α)を安全な手段で被認証装置2に送信する。なお、ここで、第一送信部13は、nをも被認証装置2に送信することは好適である。第一送信部13がnをも被認証装置2に送信する場合、例えば、過去の処理においてエラーが発生した場合にも対応でき、好適である。
(ステップS505)被認証装置2の第二受信部22は、第一データ(α)を認証装置1から受信する。そして、第二排他的論理和部231は、第一データ(α)と第nの認証情報(A)と第nの秘匿情報(M)とを用いて、排他的論理和の演算(α XOR A XOR M)を行い、演算結果(通常、第n+1の認証情報(An+1)に相当する情報)を取得する。次に、第二演算部232は、第二排他的論理和部231が取得した演算結果と、第nの認証情報(A)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、ここでの第一演算は、例えば、「和」である。
(ステップS506)被認証装置2の第二送信部24は、ステップS505で取得された第二データ(β)を認証装置1に送信する。
(ステップS507)被認証装置2の第二演算部232は、第nの認証情報(A)と第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第二秘匿情報納部212に蓄積する。ここで、被認証装置2のn回目の認証のための処理は完了する。
(ステップS508)認証装置1の第一受信部14は、被認証装置2から第二データ(β)を受信する。そして、第一演算部125は、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いて、第一演算を行い、第一演算結果を取得する。次に、第一認証部126は、取得した第一演算結果が受信された第二データ(β)と一致するか否かを判断する。第一認証部126が一致すると判断した場合はステップS509に行き、一致しないと判断した場合はステップS510に行く。なお、第一演算は、ここでは、例えば、和演算である。
(ステップS509)ステップS509に制御が移る場合は、認証が成立した場合である。そして、第一変換部123は、ステップS503で取得した第n+1の認証情報(An+1)を第一認証情報格納部113に蓄積する。また、第一演算部125は、第nの認証情報(A)と第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に蓄積する。また、第一演算部125は、記号nをインクリメントする。なお、第一認証結果処理部127は、認証許可に対応する処理を行っても良い。また、第二演算は、ここでは、例えば、和演算である。
(ステップS510)ステップS510に制御が移る場合は、認証が不成立である場合である。そして、第一認証結果処理部127は、認証不許可に対応する処理を行う。かかる処理は、例えば、エラーメッセージ等の認証装置1への送付である。
ここで、認証装置1のn回目の認証処理は完了する。
なお、図5のフローチャートにおいて、n+1回以降の認証処理時にも、同様に動作が行われる。
また、図5のフローチャートにおいて、認証装置1は、第一の認証情報(A)に対応する第一データ(α)(第一の認証情報(A)と第二の認証情報(A)とを用いて取得されたα)、第二の認証情報(A)に対応する第一データ(α)(第二の認証情報(A)と第三の認証情報(A)とを用いて取得されたα)、・・・、第nの認証情報(A)に対応する第一データ(α)(第nの認証情報(A)と第n+1の認証情報(An+1)とを用いて取得されたα)等を予め格納していても良い。かかる場合、ステップS501からステップS503の処理は省略可能である。また、かかる場合、ステップS508の第一演算結果を取得する処理は省略可能である。
また、図5のフローチャートにおいて、認証装置1は、第一の第nの秘匿情報(M)、・・・、第nの秘匿情報(M)を予め格納していても良い。かかる場合、ステップS509における第n+1の秘匿情報(Mn+1)を取得し、蓄積する処理は省略可能である。
また、認証システムAが秘匿情報(M)を用いない場合、第一データ(α)は秘匿情報(M)を用いずに算出された情報である。認証システムAが秘匿情報(M)を用いない場合、ステップS509で第n+1の秘匿情報(Mn+1)を算出する処理は必要ない。
以上、本実施の形態によれば、ワンタイムパスワードの認証処理において、一方向性変換関数の実行回数を少なくできるために、認証処理が高速に行える。なお、認証処理が高速に行えることは、認証処理の負荷を小さくできることである。
さらに具体的には、上記の図4、図5のフローチャートで示した通り、本認証方式では、認証時、認証装置1では認証情報の生成に、一方向性変換関数2回、第一演算(例えば、加算)1回、排他的論理和4回、第二演算(例えば、加算)1回を必要とする。そして、第一演算(例えば、加算)と排他的論理和と第二演算の各演算の処理負荷は、一方向性変換関数に比較して無視できるため、認証処理における処理負荷は、実質、一方向性変換関数の2回分の適用による負荷である、と言える。また、認証情報Aを保存しておけば、認証処理において、一方向性変換関数の適用は1回であり、極めて高速に認証処理が行える。
また、被認証装置2での処理負荷は、排他的論理和2回、第一演算(例えば、加算)1回、第二演算(例えば、加算)1回の処理の負荷であり、実質、それらの処理負荷は無視できる。
なお、上述した通り、本実施の形態において、次回認証情報と今回認証情報の融合演算(上記の第一演算)を、主として、加算としたが、次回認証情報と今回認証情報の融合演算を排他的論理和とする以外はあらゆる演算の使用が可能である。今回秘匿情報や任意の定数を付加する等も認められる。融合演算の組み合わせ情報を、今回認証情報によって秘匿化して認証装置1から被認証装置2へ送付し共有するなどのバリエーションも考えられる。
また、本実施の形態において、主として、次回秘匿情報を、今回認証情報と今回秘匿情報を加算することで算出したが、次回認証情報と今回秘匿情報の加算、あるいは今回認証情報と次回認証情報と今回秘匿情報の加算で算出しても良い。また、加算以外の演算、あるいは複数の演算の組み合わせにより次回秘匿情報を算出するようにしても良い。
また、上記の実施の形態において、認証終了後、認証装置1において、今回認証情報AからH(A)を生成し、これを被認証装置2へ送付し、被認証装置2において被認証装置2で保持するAから同様に生成したH(A)と比較し、同じであれば相互認証が成立するといった付加機能も実現でき得る。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における認証装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、第nの認証情報(A)と第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)により取得された第一データ(α)が格納される第一データ格納部にアクセス可能なコンピュータを、前記第一データ(α)を被認証装置に送信する第一送信部と、前記第一送信部が送信した第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)により取得された第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(A)と第n+1の認証情報(An+1)との第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部として機能させるためのプログラムである。
また、上記プログラムにおいて、前記第一データ格納部に格納されている第一データ(α)は、前記第n+1の認証情報(An+1)と前記第nの認証情報(A)と第nの秘匿情報(M)とを用いて、排他的論理和の演算(An+1 XOR A XOR M)を行い、取得されたデータであることは好適である。
また、本実施の形態における被認証装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、第nの認証情報(A)が格納される第二認証情報格納部にアクセス可能なコンピュータを、第一データ(α)を認証装置から受信する第二受信部と、前記第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて、第一演算を行い、第二データ(β)を取得する第二演算部と、前記第二データ(β)を前記認証装置に送信する第二送信部として機能させるためのプログラムである。
また、上記プログラムにおいて、前記第二排他的論理和部は、前記第一データ(α)と前記第nの認証情報(A)と前記第nの秘匿情報(M)とを用いて、排他的論理和の演算(α XOR A XOR M)を行い、第n+1の認証情報(An+1)を取得し、前記第二演算部は、前記第nの認証情報(A)と前記第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
(実施の形態2)
本実施の形態において、実施の形態1と比較して秘匿情報を用いずに認証処理を行う点が異なる認証システムについて説明する。
本実施の形態における認証システムBの概念図は、符号の違いを除いて、認証システムAの概念図と同様である。認証システムBは、認証装置3、および1または2以上の被認証装置4を備える。認証装置3は、被認証装置4を認証する装置である。認証装置3は、被認証装置4と通信可能であれば何でも良い。認証装置3は、被認証装置4と通信可能な情報処理装置であり、例えば、いわゆるクラウドサーバ、ASPサーバ等であるが、その種類は問わない。被認証装置4は、認証される装置である。被認証装置4は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン、携帯電話、テレビ、自動車等のあらゆる機器が考えられ、その種類は問わない。また、認証装置3と1以上の各被認証装置4との通信手段やネットワークの種類は問わないことは言うまでもない。
図6は、本実施の形態における認証システムBのブロック図である。
認証システムBは、認証装置3、および1または2以上の被認証装置4を備える。なお、認証システムBは、2以上の認証装置3を備えても良い。
認証装置3は、第一格納部31、第一処理部32、第一送信部13、および第一受信部14を備える。第一格納部31は、第一パスワード格納部111、第一乱数格納部112、第一認証情報格納部113、第一記号格納部115、および第一データ格納部116を備える。第一処理部32は、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一演算部125、第一認証部126、および第一認証結果処理部127を備える。
被認証装置4は、第二格納部41、第二受信部22、第二処理部43、および第二送信部24を備える。第二格納部41は、第二認証情報格納部211を備える。
認証装置3を構成する第一格納部31には、各種の情報が格納される。各種の情報とは、例えば、パスワード、乱数、認証情報等である。
被認証装置4を構成する第二格納部41には、各種の情報が格納される。各種の情報とは、例えば、認証情報等である。
次に、認証システムBの動作について説明する。まず、認証システムBの初期登録処理の例を図7のフローチャートを用いて説明する。なお、動作開始時に、認証装置3は、第一パスワード格納部111にパスワード(S)を保持している、とする。
(ステップS701)認証装置3の第一乱数生成部121は、第一の乱数(N)を生成し、当該第一の乱数(N)を第一乱数格納部112に蓄積する。
(ステップS702)第一排他的論理和部122は、格納されているパスワード(S)とステップS701で取得された第一の乱数(N)との排他的論理和の演算(S XOR N)を行い、演算結果を取得する。また、第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A)を取得する。
(ステップS703)第一変換部123は、ステップS702で取得した第一の認証情報(A)を第一認証情報格納部113に保存する。
(ステップS704)第一送信部13は、取得された第一の認証情報(A)を被認証装置4に送信する。ここで、認証装置3の初期登録処理は完了する。
(ステップS705)被認証装置4の第二受信部22は、第一の認証情報(A)を受信し、当該第一の認証情報(A)を第二認証情報格納部211に蓄積する。ここで、被認証装置4の初期登録処理は完了する。
なお、図7のフローチャートにおいて、認証装置1は、第一の認証情報(A)を予め格納しており、かかる第一の認証情報(A)を被認証装置2に送信しても良い。かかる場合、ステップS701からステップS703の処理は不要である。
次に、認証システムBにおけるn回目の認証時の認証処理の例を、図8のフローチャートを用いて説明する。なお、n回目の認証処理の開始時に、認証装置3は、パスワード(S)を第一パスワード格納部111に保持しており、かつ乱数(N)を第一乱数格納部112に保持している、とする。また、n回目の認証処理の開始時に、被認証装置4は、第nの認証情報(A)を第二認証情報格納部211に保持している、とする。
(ステップS801)第一排他的論理和部122は、格納されているパスワード(S)と格納されている第nの乱数(N)との排他的論理和の演算(S XOR N)を行い、演算結果を取得する。次に、第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第nの認証情報(A)を取得する。
(ステップS802)第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に保存する。
(ステップS803)第一排他的論理和部122は、パスワード(S)と第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する。次に、第一変換部123は、演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する。次に、第一排他的論理和部122は、第n+1の認証情報(An+1)と第nの認証情報(A)とを用いて、排他的論理和の演算(An+1 XOR A)を行い、第一データ(α)を取得する。
(ステップS804)第一送信部13は、ステップS803で取得された第一データ(α)を安全な手段で被認証装置2に送信する。なお、ここで、第一送信部13は、nをも被認証装置2に送信することは好適である。
(ステップS805)被認証装置2の第二受信部22は、第一データ(α)を認証装置3から受信する。そして、第二排他的論理和部231は、第一データ(α)と第nの認証情報(A)とを用いて、排他的論理和の演算(α XOR A)を行い、第n+1の認証情報(An+1)を取得する。次に、第二演算部232は、第二排他的論理和部231が取得した第n+1の認証情報(An+1)と、第nの認証情報(A)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、ここでの第一演算は、例えば、「和」である。
(ステップS806)被認証装置2の第二送信部24は、ステップS805で取得された第二データ(β)を認証装置3に送信する。
(ステップS807)認証装置1の第一受信部14は、被認証装置2から第二データ(β)を受信する。そして、第一演算部125は、第一データ(α)の取得の元になった、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いて、第一演算を行い、第一演算結果を取得する。次に、第一認証部126は、取得した第一演算結果が、受信された第二データ(β)と一致するか否かを判断する。第一認証部126が一致すると判断した場合はステップS808に行き、一致しないと判断した場合はステップS809に行く。なお、第一演算は、ここでは、例えば、和演算である。
(ステップS808)ステップS808に制御が移る場合は、認証が成立した場合である。そして、第一変換部123は、ステップS803で取得した第n+1の認証情報(An+1)を第一認証情報格納部113に蓄積する。また、第一演算部125は、記号nをインクリメントする。なお、第一認証結果処理部127は、認証許可に対応する処理を行っても良い。また、第二演算は、ここでは、例えば、和演算である。
(ステップS809)ステップS809に制御が移る場合は、認証が不成立である場合である。そして、第一認証結果処理部127は、認証不許可に対応する処理を行う。かかる処理は、例えば、エラーメッセージ等の認証装置1への送付である。
ここで、認証装置3のn回目の認証処理は完了する。
なお、図8のフローチャートにおいて、n+1回以降の認証処理時にも、同様に動作が行われる。
また、図8のフローチャートにおいて、認証装置1は、第一の認証情報(A)に対応する第一データ(α)(第一の認証情報(A)と第二の認証情報(A)とを用いて取得されたα)、第二の認証情報(A)に対応する第一データ(α)(第二の認証情報(A)と第三の認証情報(A)とを用いて取得されたα)、・・・、第nの認証情報(A)に対応する第一データ(α)(第nの認証情報(A)と第n+1の認証情報(An+1)とを用いて取得されたα)等を予め格納していても良い。かかる場合、ステップS801からステップS803の処理は省略可能である。
以上、本実施の形態によれば、ワンタイムパスワードの認証処理において、一方向性変換関数の実行回数を少なくできるために、認証処理が高速に行える。
さらに、本実施の形態における認証装置3を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、第nの認証情報(A)と第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)により取得された第一データ(α)が格納される第一データ格納部にアクセス可能なコンピュータを、前記第一データ(α)を被認証装置に送信する第一送信部と、前記第一送信部が送信した第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)により取得された第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(A)と第n+1の認証情報(An+1)との第一演算の結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部として機能させるためのプログラムである。
また、本実施の形態における被認証装置4を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、第nの認証情報(A)が格納される第二認証情報格納部にアクセス可能なコンピュータを、第一データ(α)を認証装置から受信する第二受信部と、前記第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて、第一演算を行い、第二データ(β)を取得する第二演算部と、前記第二データ(β)を前記認証装置に送信する第二送信部として機能させるためのプログラムである。
(実施の形態3)
本実施の形態において、一方向性変換関数の実行回数を少なくできるために、認証処理を高速に行う認証システムについて説明する。特に、認証処理の際の被認証装置における一方向性変換関数の実行回数が0となるため、被認証装置の負荷が極めて小さくて良い認証システムについて説明する。
本実施の形態における認証システムCの概念図は、符号の違いを除いて、認証システムAの概念図と同様である。認証システムCは、認証装置5、および1または2以上の被認証装置6を備える。認証装置5と1以上の各被認証装置6は、インターネット等のネットワークを介して、通信可能である。認証装置5は、被認証装置6を認証する装置である。認証装置5は、被認証装置6と通信可能な情報処理装置であり、例えば、いわゆるクラウドサーバ、ASPサーバ等であるが、その種類は問わない。被認証装置6は、認証される装置である。被認証装置6は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン、携帯電話、テレビ、自動車等のあらゆる機器が考えられ、その種類は問わない。また、認証装置5と1以上の各被認証装置6との通信手段やネットワークの種類は問わないことは言うまでもない。
図9は、本実施の形態における認証システムCのブロック図である。図10は、本実施の形態における認証システムCを構成する被認証装置6のブロック図である。
認証装置5は、第一格納部11、第一処理部52、第一送信部13、および第一受信部14を備える。第一処理部52は、第一乱数生成部121、第一排他的論理和部122、第一変換部123、第一秘匿情報生成部124、第一演算部525、第一認証部126、および第一認証結果処理部127を備える。
被認証装置6は、第二格納部21、第二受信部22、第二処理部63、および第二送信部24を備える。第二処理部63は、第二排他的論理和部231、および第二演算部632を備える。
第一演算部525は、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いて、第一演算を行い、第一演算結果を取得する。ここで、第一演算は、例えば、和、差、乗算、除算、平均値算出等であり、演算の種類は問わない。第一演算部525は、例えば、和演算「第一演算結果=A+An+1」により、第一演算結果を取得する。
第一演算部525は、例えば、第nの認証情報(A)と第n+1の認証情報(An+1)と第nの秘匿情報(M)とを用いて、第一演算を行い、第一演算結果を取得する。第一演算部125は、例えば、「第一演算結果=A+An+1+M」により、第一演算結果を取得する。第一演算部125は、例えば、「第一演算結果=A+An+1-M」、「第一演算結果=(A-An+1)×M」により、第一演算結果を取得する。
また、第一演算部525は、例えば、第nの秘匿情報(M)、第n+1の認証情報(An+1)と、第nの認証情報(A)のうちの1以上の情報を用いて演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に、少なくとも一時蓄積する。なお、かかる演算の種類は問わない。また、かかる演算は、例えば、「Mn+1=M+A」、「Mn+1=An+1+A+M」、「Mn+1=M+An+1」、「Mn+1=M+x(xは定数)」である。なお、「+」は他の演算でも良いことは言うまでもない。
また、第一演算部525は、例えば、第n+1の認証情報(An+1)と第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に、少なくとも一時蓄積する。
なお、第一排他的論理和部122が第一データ(α)を算出する際、または第一演算部525が第一演算結果を算出する際の、少なくともどちらか一方では、秘匿情報(M)が使用されることは好適である。なお、第一排他的論理和部122が第一データ(α)を算出する際と第一演算部525が第一演算結果を算出する際の両方、秘匿情報(M)が使用されても良い。
第二演算部632は、例えば、第二排他的論理和部231が取得した第n+1の認証情報(An+1)と、第nの認証情報(A)と、第nの秘匿情報(M)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、第一演算は、上述したように、例えば、「+」であるが、「-」「*」等、問わない。第二演算部632は、例えば、演算式「β=An+1+A+M」により、第二データ(β)を取得する。
第二演算部632は、第二排他的論理和部231が取得した第n+1の認証情報(An+1)と、第nの認証情報(A)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、第一演算は、上述したように、例えば、「+」であるが、「-」「*」等、問わない。
第二演算部632は、例えば、第nの秘匿情報(M)、第n+1の認証情報(An+1)、第nの認証情報(A)のうちの1以上の情報を用いて演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第二秘匿情報納部212に、少なくとも一時蓄積する。なお、かかる演算の種類は問わない。また、かかる演算は、例えば、「Mn+1=M+A」、「Mn+1=An+1+A+M」、「Mn+1=M+An+1」、「Mn+1=M+x(xは定数)」である。なお、「+」は他の演算でも良いことは言うまでもない。 第二演算部632は、例えば、第n+1の認証情報(An+1)と第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、第二秘匿情報納部212に蓄積する。ここで、第二演算は、例えば、和、差、乗算、除算、平均値算出等である。ただし、第二演算の種類は問わない。第二演算部632は、例えば、和演算「Mn+1=An+1+M」により、βを取得する。また、第一演算と第二演算とは、同じ種類の演算でも(例えば、両方とも+)良いし、異なる種類の演算(例えば、一方が+、他方が-)でも良い。
第一処理部52、第一演算部525、第二処理部63、および第二演算部632は、通常、MPUやメモリ等から実現され得る。第一処理部52等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、認証システムCの動作について説明する。まず、認証システムCにおける認証装置5、被認証装置6の初期登録処理は、各々認証装置1、被認証装置2の初期登録処理と同様であるので、説明を省略する。
次に、認証システムCにおけるn回目の認証時の認証処理の例を、図11のフローチャートを用いて説明する。なお、n回目の認証処理の開始時に、認証装置5は、パスワード(S)を第一パスワード格納部111に保持しており、かつ乱数(N)を第一乱数格納部112に保持している、とする。また、n回目の認証処理の開始時に、被認証装置6は、第nの認証情報(A)を第二認証情報格納部211に保持しており、第nの秘匿情報(M)を第二秘匿情報納部212に保持している、とする。
(ステップS1101)第一排他的論理和部122は、格納されているパスワード(S)と格納されている第nの乱数(N)との排他的論理和の演算(S XOR N)を行い、演算結果を取得する。次に、第一変換部123は、第一排他的論理和部122が取得した演算結果に対して一方向性変換関数Hを施し、第nの認証情報(A)を取得する。
(ステップS1102)第一乱数生成部121は、第n+1の乱数(Nn+1)を生成し、第一乱数格納部112に保存する。
(ステップS1103)第一排他的論理和部122は、パスワード(S)と第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する。次に、第一変換部523は、当該演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する。次に、第一排他的論理和部122は、当該第n+1の認証情報(An+1)と第nの認証情報(A)と第nの秘匿情報(M)とを用いて、排他的論理和の演算(An+1 XOR A XOR M)を行い、第一データ(α)を取得する。
(ステップS1104)第一送信部13は、ステップS1103で取得された第一データ(α)を安全な手段で被認証装置2に送信する。なお、ここで、第一送信部13は、nをも被認証装置2に送信することは好適である。第一送信部13がnをも被認証装置2に送信する場合、例えば、過去の処理においてエラーが発生した場合にも対応でき、好適である。
(ステップS1105)被認証装置6の第二受信部22は、第一データ(α)を認証装置1から受信する。なお、第二受信部22は、第一データ(α)とnとを認証装置1から受信することは好適である。
そして、第二排他的論理和部231は、第一データ(α)と第nの認証情報(A)と第nの秘匿情報(M)とを用いて、排他的論理和の演算(α XOR A XOR M)を行い、演算結果(通常、第n+1の認証情報(An+1)に相当する情報)を取得する。次に、第二演算部632は、第二排他的論理和部231が取得した演算結果と、第nの認証情報(A)と第nの秘匿情報(M)とを用いて、第一演算を行い、第二データ(β)を取得する。なお、ここでの第一演算は、例えば、「和」である。つまり、例えば、演算式「β=(α XOR A XOR M)+A+M」により第二データ(β)が得られる。
(ステップS1106)被認証装置6の第二送信部24は、ステップS1105で取得された第二データ(β)を認証装置1に送信する。
(ステップS1107)被認証装置6の第二演算部632は、第n+1の認証情報(An+1)と第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第二秘匿情報納部212に蓄積する。また、第二演算部632は、記号nをインクリメントする。ここで、被認証装置2のn回目の認証のための処理は完了する。
(ステップS1108)認証装置5の第一受信部14は、被認証装置6から第二データ(β)を受信する。そして、第一演算部525は、第nの認証情報(A)と第n+1の認証情報(An+1)と第nの秘匿情報(M)とを用いて、第一演算を行い、第一演算結果を取得する。つまり、第一演算部525は、演算式「第一演算結果=A+An+1+M」により、第一演算結果を取得する。
次に、第一認証部126は、取得した第一演算結果が受信された第二データ(β)と一致するか否かを判断する。第一認証部126が一致すると判断した場合はステップS1109に行き、一致しないと判断した場合はステップS1110に行く。なお、第一演算は、ここでは、例えば、和演算である。
(ステップS1109)ステップS1109に制御が移る場合は、認証が成立した場合である。そして、第一変換部123は、ステップS1103で取得した第n+1の認証情報(An+1)を第一認証情報格納部113に蓄積する。また、第一演算部525は、第n+1の認証情報(An+1)と第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得し、当該第n+1の秘匿情報(Mn+1)を第一秘匿情報納部114に蓄積する。また、第一演算部525は、記号nをインクリメントする。なお、第一認証結果処理部127は、認証許可に対応する処理を行っても良い。また、第二演算は、ここでは、例えば、和演算である。
(ステップS1110)ステップS1110に制御が移る場合は、認証が不成立である場合である。そして、第一認証結果処理部127は、認証不許可に対応する処理を行う。かかる処理は、例えば、エラーメッセージ等の認証装置1への送付である。
ここで、認証装置1のn回目の認証処理は完了する。
なお、図11のフローチャートにおいて、n+1回以降の認証処理時にも、同様に動作が行われる。
また、図11のフローチャートにおいて、認証装置5は、第一の認証情報(A)に対応する第一データ(α)(第一の認証情報(A)と第二の認証情報(A)とを用いて取得されたα)、第二の認証情報(A)に対応する第一データ(α)(第二の認証情報(A)と第三の認証情報(A)とを用いて取得されたα)、・・・、第nの認証情報(A)に対応する第一データ(α)(第nの認証情報(A)と第n+1の認証情報(An+1)とを用いて取得されたα)等を予め格納していても良い。かかる場合、ステップS1101からステップS1103の処理は省略可能である。また、かかる場合、ステップS1108の第一演算結果を取得する処理は省略可能である。
また、図11のフローチャートにおいて、認証装置5は、第一の第nの秘匿情報(M)、・・・、第nの秘匿情報(M)を予め格納していても良い。かかる場合、ステップS1109における第n+1の秘匿情報(Mn+1)を取得し、蓄積する処理は省略可能である。
また、認証システムCが秘匿情報(M)を用いない場合、第一データ(α)は秘匿情報(M)を用いずに算出された情報である。認証システムAが秘匿情報(M)を用いない場合、ステップS1109で第n+1の秘匿情報(Mn+1)を算出する処理は必要ない。
以上、本実施の形態によれば、ワンタイムパスワードの認証処理において、一方向性変換関数の実行回数を少なくできるために、認証処理が高速に行える。なお、認証処理が高速に行えることは、認証処理の負荷を小さくできることである。
さらに具体的には、上記の図4、図11のフローチャートで示した通り、本認証方式では、認証時、認証装置5では認証情報の生成に、一方向性変換関数2回、第一演算(例えば、加算)1回、排他的論理和4回、第二演算(例えば、加算)1回を必要とする。そして、第一演算(例えば、加算)と排他的論理和と第二演算の各演算の処理負荷は、一方向性変換関数に比較して無視できるため、認証処理における処理負荷は、実質、一方向性変換関数の2回分の適用による負荷である、と言える。また、認証情報Aを保存しておけば、認証処理において、一方向性変換関数の適用は1回であり、極めて高速に認証処理が行える。
また、被認証装置6での処理負荷は、排他的論理和2回、第一演算(例えば、加算)1回、第二演算(例えば、加算)1回の処理の負荷であり、実質、それらの処理負荷は無視できる。
なお、上述した通り、本実施の形態において、次回認証情報と今回認証情報の融合演算(上記の第一演算)を、主として、加算としたが、次回認証情報と今回認証情報の融合演算を排他的論理和とする以外はあらゆる演算の使用が可能である。今回秘匿情報や任意の定数を付加する等も認められる。融合演算の組み合わせ情報を、今回認証情報によって秘匿化して認証装置1から被認証装置2へ送付し共有するなどのバリエーションも考えられる。
また、本実施の形態において、主として、次回秘匿情報を、次回認証情報と今回秘匿情報を加算することで算出したが、今回認証情報と今回秘匿情報の加算、あるいは今回認証情報と次回認証情報と今回秘匿情報の加算で算出しても良い。また、加算以外の演算、あるいは複数の演算の組み合わせにより次回秘匿情報を算出するようにしても良い。
また、上記の実施の形態において、認証終了後、認証装置5において、今回認証情報AからH(A)を生成し、これを被認証装置6へ送付し、被認証装置6において被認証装置2で保持するAから同様に生成したH(A)と比較し、同じであれば相互認証が成立するといった付加機能も実現でき得る。
上記の実施の形態で説明した認証システムは、情報通信システム等において,例えば、利用者や通信相手の資格認証、あるいは認証毎に変わる認証情報を用いて暗号鍵を生成し、当該暗号鍵を用いた暗号通信を実現するワンタイムパスワード認証処理方式に関するものである。
そして、上記の実施の形態で説明した認証システムにおける認証処理方法は、一般的なワンタイムパスワード認証方法として、クラウドシステムやアプリケーション提供サービスシステム等のログイン時の認証に適用できることはもちろんのこと、高速に認証情報を更新できる利点から、その認証情報をシーズにして暗号鍵を生成し、情報送信単位毎に異なる鍵で暗号通信を実現することができる。これは、低レイヤの通信においても実現可能で、レイヤ3においてパケット毎に違う鍵での暗号通信を実現する等の応用が可能となる。
また、本認証処理方法は、極めて高速であるため、例えば、認証情報が64ビットの場合、64ビットの平文に対して当該認証情報を排他的論理和で加え合わせるバーナム暗号を用いれば、64ビットの情報送信単位毎に異なる鍵で暗号通信を実現することも可能となる。
例えば、IoTにおいて端末側を被認証部、端末収容装置を認証部とすれば、被認証部の処理負荷はほぼ0であるので、前記バーナム暗号を用いれば暗号化・復号の処理なしに暗号通信を実現することができる。これは、センサネットワークやICタグ・RFIDのネットワーク等の処理能力が限られた装置のネットワークに対して、暗号通信の機能を付加できるということを意味している。
今後、IoTのインフラが普及してくることに伴い、家電、コネクティッドカー、スマートグリッドのみならず、センサネットワークやICタグ等、処理能力の低い装置も含んだ処理系においてセキュリティ通信の実現が求められる場合が増加してくると予想される。本認証処理方法により、このような環境においても、簡易に高速な認証と鍵配送、および高速な暗号通信を実現できるため、適当な暗号方法を組み合わせれば様々な局面でIoTのセキュリティ対策を実現することができる。
また、図12は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の認証装置1,3,5、被認証装置2,4,6を実現するコンピュータの外観の例を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図12は、このコンピュータシステム300の概観図であり、図13は、システム300のブロック図である。
図12において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図13において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の認証装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の認証装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかる認証システムは、ワンタイムパスワードの認証処理が高速にできるという効果を有し、認証システム等として有用である。

Claims (12)

  1. 認証される装置である被認証装置と当該被認証装置を認証する装置である認証装置とを具備する認証システムであって、
    前記認証装置は、
    第nの認証情報(A)と第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、
    前記第一データ(α)を前記被認証装置に送信する第一送信部と、
    前記第一送信部が送信した第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、
    前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いた第一演算であり、第一演算部が行った第一演算結果または予め格納されていた第一演算結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、
    前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部とを具備し、
    前記被認証装置は、
    第nの認証情報(A)が格納される第二認証情報格納部と、
    前記第一データ(α)を前記認証装置から受信する第二受信部と、
    前記第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和部と、
    前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて、前記第一演算を行い、第二データ(β)を取得する第二演算部と、
    前記第二データ(β)を前記認証装置に送信する第二送信部とを具備する認証システム。
  2. 前記認証装置において、
    記号nが格納される第一記号格納部をさらに具備し、
    前記第一送信部は、
    前記nと前記第一データ(α)とを前記被認証装置に送信し、
    前記第二受信部は、
    前記nと前記第一データ(α)とを前記認証装置から受信し、
    前記第二排他的論理和部は、
    前記第一データ(α)と、前記第二受信部が受信したnに対応する第nの認証情報(A)との排他的論理和の演算(α XOR A)を行い、第n+1の認証情報(An+1)を取得する請求項1記載の認証システム。
  3. 前記認証装置は、
    パスワード(S)が格納される第一パスワード格納部と、
    第n+1の乱数(Nn+1)を生成する第一乱数生成部と、
    前記パスワード(S)と前記第n+1の乱数(Nn+1)との排他的論理和の演算(S XOR Nn+1)を行い、演算結果を取得する第一排他的論理和部と、
    前記第一排他的論理和部が取得した演算結果に対して一方向性変換関数Hを施し、第n+1の認証情報(An+1)を取得する第一変換部とをさらに具備し、
    前記第一排他的論理和部は、
    前記第nの認証情報(A)と、前記第一変換部が取得した第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)を行い、第一データ(α)を取得し、
    前記第一データ格納部に格納されている前記第一データ(α)は、前記第一排他的論理和部が取得した第一データ(α)であり、
    前記第nの認証情報(A)と前記第n+1の認証情報(An+1)とを用いて、前記第一演算を行い、第一演算結果を取得する第一演算部をさらに具備し、
    前記第一認証部は、
    前記第一演算部が取得した第一演算結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する請求項1または請求項2記載の認証システム
  4. 前記第一乱数生成部は、
    第一の乱数(N)を生成し、
    前記第一排他的論理和部は、
    前記パスワード(S)と前記第一の乱数(N)との排他的論理和の演算(S XOR N)を行い、第一演算結果を取得し、
    前記第一変換部は、
    前記第一排他的論理和部が取得した第一演算結果に対して一方向性変換関数Hを施し、第一の認証情報(A)を取得し、
    前記第一送信部は、
    前記第一の認証情報(A)を前記被認証装置に送信し、
    前記第二受信部は、
    前記第一の認証情報(A)を受信する、認証システムを構成する請求項3記載の認証システム
  5. 前記認証装置において、
    前記第一データ格納部に格納されている第一データ(α)は、前記第n+1の認証情報(An+1)と前記第nの認証情報(A)と第nの秘匿情報(M)とを用いて、排他的論理和の演算(An+1 XOR A XOR M)を行い、取得されたデータであり、
    前記第二排他的論理和部は、
    前記第一データ(α)と前記第nの認証情報(A)と前記第nの秘匿情報(M)とを用いて、排他的論理和の演算(α XOR A XOR M)を行い、第n+1の認証情報(An+1)を取得し、
    前記第二演算部は、
    前記第n+1の認証情報(An+1)と前記第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得する請求項1から請求項4いずれか一項に記載の認証システム。
  6. 前記第一演算部は、
    前記第nの認証情報(A)と、前記第n+1の認証情報(An+1)と、前記第nの秘匿情報(M)とを用いて、前記第一演算を行い、第一演算結果を取得し、
    前記第二演算部は、
    前記第二排他的論理和部が取得した前記第n+1の認証情報(An+1)と、前記第nの認証情報(A)と、前記第nの秘匿情報(M)とを用いて、前記第一演算を行い、第二データ(β)を取得する請求項1から請求項5いずれか一項に記載の認証システム。
  7. 前記認証装置において、
    認証に使用する秘密の情報である第一の秘匿情報(M)を生成する第一秘匿情報生成部をさらに具備し、
    前記第一送信部は、
    第一の認証情報(A)と前記第一の秘匿情報(M)とを前記被認証装置に送信し、
    前記第二受信部は、
    前記第一の認証情報(A)と前記第一の秘匿情報(M)とを受信する請求項5または請求項6記載の認証システム。
  8. 前記認証装置において、
    前記第n+1の認証情報(An+1)と前記第nの認証情報(A)と前記第nの秘匿情報(M)との排他的論理和の演算(An+1 XOR A XOR M)を行い、第一データ(α)を取得する第一排他的論理和部をさらに具備し、
    前記第一送信部は、
    前記第一排他的論理和部が取得した第一データ(α)を前記被認証装置に送信し、
    前記第nの認証情報(A)と前記第nの秘匿情報(M)とを用いて、第二演算を行い、第n+1の秘匿情報(Mn+1)を取得する第一演算部をさらに具備する請求項5から請求項7いずれか一項に記載の認証システム。
  9. 第nの認証情報(A)と第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、
    前記第一データ(α)を被認証装置に送信する第一送信部と、
    前記第一送信部が送信した第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、
    前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いた第一演算であり、第一演算部が行った第一演算結果または予め格納されていた第一演算結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、
    前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部とを具備する認証装置。
  10. 被認証装置を認証する認証装置における、第nの認証情報(A)と第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、第一送信部と、第一受信部と、第一認証部と、第一認証結果処理部と、および前記被認証装置における、第nの認証情報(A)が格納される第二認証情報格納部と、第二受信部と、第二排他的論理和部と、第二演算部と、第二送信部とにより実現される認証方法であって、
    前記第一送信部が、前記第一データ(α)を前記被認証装置に送信する第一送信ステップと、
    前記第二受信部が、第一データ(α)を前記認証装置から受信する第二受信ステップと、
    前記第二排他的論理和部が、前記第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を行い、第n+1の認証情報(An+1)を取得する第二排他的論理和ステップと、
    前記第二演算部が、前記第二排他的論理和ステップで取得された前記第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて、第一演算を行い、第二データ(β)を取得する第二演算ステップと、
    前記第二送信部が、前記第二データ(β)を前記認証装置に送信する第二送信ステップと、
    前記第一受信部が、前記第一送信ステップで送信された第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信ステップと、
    前記第一認証部が、前記第一送信ステップで送信された第一データ(α)が取得される元になった、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いた第一演算であり、第一演算部が行った第一演算結果または予め格納されていた第一演算結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証ステップと、
    前記第一認証結果処理部が、前記第一認証ステップにおける判断結果を用いた処理を行う第一認証結果処理ステップとを具備する認証方法。
  11. 第nの認証情報(A)と第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部と、第一送信部と、第一受信部と、第一認証部と、第一認証結果処理部とにより実現される認証方法であって、
    前記第一送信部が、前記第一データ(α)を被認証装置に送信する第一送信ステップと、
    前記第一受信部が、前記第一送信ステップで送信された第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信ステップと、
    前記第一認証部が、前記第一送信ステップで送信された第一データ(α)が取得される元になった、第nの認証情報(A)と第n+1の認証情報(An+1)との第一演算であり、第一演算部が行った第一演算結果または予め格納されていた第一演算結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証ステップと、
    前記第一認証結果処理部が、前記第一認証ステップにおける判断結果を用いた処理を行う第一認証結果処理ステップとを具備する認証方法。
  12. 第nの認証情報(A)と第n+1の認証情報(An+1)との排他的論理和の演算(A XOR An+1)を用いて取得された第一データ(α)が格納される第一データ格納部にアクセス可能なコンピュータを、
    前記第一データ(α)を被認証装置に送信する第一送信部と、
    前記第一送信部が送信した第一データ(α)と前記第nの認証情報(A)との排他的論理和の演算(α XOR A)を用いて取得された第n+1の認証情報(An+1)と、前記第nの認証情報(A)とを用いて第一演算が行われ、取得された、第二データ(β)を前記被認証装置から受信する第一受信部と、
    前記第一送信部が送信した第一データ(α)が取得される元になった、第nの認証情報(A)と第n+1の認証情報(An+1)とを用いた第一演算であり、第一演算部が行った第一演算結果または予め格納されていた第一演算結果と、前記第一受信部が受信した第二データ(β)とが予め決められた関係を有するか否かを判断する第一認証部と、
    前記第一認証部の判断結果を用いた処理を行う第一認証結果処理部として機能させるためのプログラム。
JP2020509849A 2018-03-30 2019-03-12 認証システム、認証装置、認証方法、およびプログラム Active JP7119071B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018067464 2018-03-30
JP2018067464 2018-03-30
PCT/JP2019/009992 WO2019188251A1 (ja) 2018-03-30 2019-03-12 認証システム、認証装置、被認証装置、認証方法、被認証方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2019188251A1 JPWO2019188251A1 (ja) 2021-04-01
JP7119071B2 true JP7119071B2 (ja) 2022-08-16

Family

ID=68061697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020509849A Active JP7119071B2 (ja) 2018-03-30 2019-03-12 認証システム、認証装置、認証方法、およびプログラム

Country Status (2)

Country Link
JP (1) JP7119071B2 (ja)
WO (1) WO2019188251A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005057372A2 (en) 2003-12-09 2005-06-23 Intelleflex Corporation Security system and method
JP2007226545A (ja) 2006-02-23 2007-09-06 Trinity Security Systems Inc 情報管理装置、情報管理方法および情報管理プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07162950A (ja) * 1993-12-02 1995-06-23 Matsushita Electric Ind Co Ltd 無線電話装置
JPH11212850A (ja) * 1998-01-29 1999-08-06 Hitachi Ltd 暗号化共有ファイル送受信システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005057372A2 (en) 2003-12-09 2005-06-23 Intelleflex Corporation Security system and method
JP2007226545A (ja) 2006-02-23 2007-09-06 Trinity Security Systems Inc 情報管理装置、情報管理方法および情報管理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Lynx,ネットワークマニアックス 第25回 高速かつ強固なワンタイムパスワード認証を実現,NETWORK WORLD,日本,(株)IDGジャパン,2006年12月01日,第11巻 第12号 ,p.46-47

Also Published As

Publication number Publication date
WO2019188251A1 (ja) 2019-10-03
JPWO2019188251A1 (ja) 2021-04-01

Similar Documents

Publication Publication Date Title
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
EP3299990A1 (en) Electronic device server and method for communicating with server
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US9917695B2 (en) Authenticated encryption method using working blocks
US20220014367A1 (en) Decentralized computing systems and methods for performing actions using stored private data
US11611430B2 (en) Arithmetic apparatus, arithmetic system and arithmetic method
CN108632031B (zh) 密钥生成装置及方法、加密装置及方法
TW202031010A (zh) 資料儲存方法、裝置及設備
US11290277B2 (en) Data processing system
Ajmal et al. Cloud computing platform: Performance analysis of prominent cryptographic algorithms
JP4794970B2 (ja) 秘密情報の保護方法及び通信装置
KR102443255B1 (ko) 래티스를 기반으로 하는 암호키 생성 방법 및 전자서명 방법
JP7193184B2 (ja) マルチキャストグループ内の購読者にキーデータを伝送するデバイス
JP7119071B2 (ja) 認証システム、認証装置、認証方法、およびプログラム
JP7161416B2 (ja) 認証システム、被認証装置、認証装置、認証方法、およびプログラム
KR102526114B1 (ko) 암호화 및 복호화를 위한 장치 및 방법
KR102512871B1 (ko) 단일 공개 키와 관련된 복수의 사용자 디바이스의 중앙 비밀 키 관리 방법
JP5850888B2 (ja) 情報記憶システム、情報記憶装置、その方法、及びプログラム
CN114095192A (zh) 数据云服务方法及通信装置
JP5691549B2 (ja) ポリシ管理サーバ装置、サーバ装置、クライアント装置、及びこれらを有する暗号アルゴリズム切換システム
TW201633172A (zh) 內容傳遞的方法
JP6216662B2 (ja) 暗号化通信装置、暗号化通信システム、及び暗号化通信方法
KR20150034591A (ko) 암호화된 데이터를 재암호화하는 클라우드 서버 및 그것의 재암호화 방법
US11528131B1 (en) Sharing access to data externally

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220506

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220803

R150 Certificate of patent or registration of utility model

Ref document number: 7119071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150