JP6432417B2 - 認証装置、被認証装置、認証方法、被認証方法、認証処理プログラム、及び被認証処理プログラム - Google Patents

認証装置、被認証装置、認証方法、被認証方法、認証処理プログラム、及び被認証処理プログラム Download PDF

Info

Publication number
JP6432417B2
JP6432417B2 JP2015065090A JP2015065090A JP6432417B2 JP 6432417 B2 JP6432417 B2 JP 6432417B2 JP 2015065090 A JP2015065090 A JP 2015065090A JP 2015065090 A JP2015065090 A JP 2015065090A JP 6432417 B2 JP6432417 B2 JP 6432417B2
Authority
JP
Japan
Prior art keywords
random number
authentication
index
calculated
authenticated
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
JP2015065090A
Other languages
English (en)
Other versions
JP2016184899A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2015065090A priority Critical patent/JP6432417B2/ja
Publication of JP2016184899A publication Critical patent/JP2016184899A/ja
Application granted granted Critical
Publication of JP6432417B2 publication Critical patent/JP6432417B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、チャレンジ−レスポンス方式による機器間の認証方式等の技術分野に関する。
一般的なチャレンジ−レスポンス方式による認証では、例えば特許文献1に開示されるように、認証者(例えばサーバ)は、被認証者(例えば端末)からの認証要求に応じて、乱数Rを生成し、当該乱数Rをチャレンジとして被認証者に送信し、さらに、当該乱数Rを、鍵記憶部に記憶している暗号鍵(秘密鍵)Kを用いて暗号化して暗号データを算出する。一方、被認証者は、認証者からチャレンジを受信すると、チャレンジに含まれる乱数Rを、鍵記憶部に記憶している暗号鍵Kにより暗号化して、これをレスポンスとして認証者に送信する。そして、認証者は、算出した暗号データと、端末から受信したレスポンスに含まれる暗号データとを比較して、一致する場合に被認証者が正規の証明者であると認証する。
特開2003−318894号公報
しかしながら、認証者と被認証者との間で認証の際にやりとりされるチャレンジとレスポンスの対を、攻撃者が傍受して蓄積しておくことで、チャレンジとして用いる乱数の長さが短い場合には攻撃者が被認証者に成りすますことに成功する可能性があるという問題があった。例えば、攻撃者は、被認証者に成りすまして認証者に認証要求を行う。そして、認証者から送られてきたチャレンジが、上述したように蓄積された中にあれば、攻撃者は、当該チャレンジに対応付けられたレスポンスを特定できるので、認証に成功してしまう。被認証者が認証用の暗号鍵を長期間にわたって使い続けることにより、攻撃者の蓄積量が増加し、成りすましを許してしまう危険性が高まる。また、認証者から送られてきたチャレンジが、上述したように蓄積された中になくても、チャレンジをレスポンスに変換する規則が容易である(例えば、暗号鍵長が短い)場合には、蓄積されたチャレンジを解析することで、認証者から送られてきたチャレンジに対応するレスポンスが推定される可能性もある。
そこで、本発明は、上記点に鑑みてなされたものであり、攻撃者がチャレンジとレスポンスの対を蓄積したとしても、成りすまし等に対する安全性を向上させることが可能な認証装置、被認証装置、認証方法、被認証方法、認証処理プログラム、及び被認証処理プログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、被認証装置からの認証要求に応じて認証処理を実行する認証装置であって、当該認証装置と前記被認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを記憶する第1記憶手段と、前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新する前記被認証装置から、当該所定数の前記インデックスを含む更新コマンドを受信する第1受信手段と、前記第1受信手段により受信された前記更新コマンドに含まれる前記所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記乱数テーブルにおいて当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新する第1更新手段と、前記被認証装置から認証要求を受信する第2受信手段と、前記第2受信手段により受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の第3の前記インデックスを含むチャレンジコマンドを前記被認証装置へ送信する第1送信手段と、前記第2受信手段により受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける前記第3の前記インデックスに対応付けられている前記乱数を用いて第1の値を算出する第1算出手段と、前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された第2の値を含むレスポンスを当該被認証装置から受信する第3受信手段と、前記第1算出手段により算出された前記第1の値と、前記第3受信手段により受信された前記レスポンスに含まれる前記第2の値とを用いて、認証処理を実行する認証手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の認証装置において、前記認証手段は、前記認証処理において、前記第1の値と前記第2の値とが一致するか否かを判定することを特徴とする。
請求項3に記載の発明は、請求項1に記載の認証装置において、前記認証装置は、乱数を生成する乱数生成手段を更に備え、前記第1送信手段は、前記第3の前記インデックスと、前記乱数生成手段により生成された乱数とを含むチャレンジコマンドを前記被認証装置へ送信し、前記第1算出手段は、前記第3の前記インデックスに対応付けられている前記乱数を用いて算出された値を暗号鍵として、前記乱数生成手段により生成された乱数を暗号化することにより前記第1の値を算出し、前記第3受信手段は、前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された値を暗号鍵として、前記チャレンジコマンドに含まれる前記乱数が暗号化されることにより算出された前記第2の値を含むレスポンスを当該被認証装置から受信し、前記認証手段は、前記認証処理において、前記第1の値と前記第2の値とが一致するか否かを判定することを特徴とする。
請求項4に記載の発明は、請求項1に記載の認証装置において、前記認証装置は、乱数を生成する乱数生成手段を更に備え、前記第1送信手段は、前記第3の前記インデックスと、前記乱数生成手段により生成された乱数とを含むチャレンジコマンドを前記被認証装置へ送信し、前記第3受信手段は、前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された値を暗号鍵として、前記チャレンジコマンドに含まれる前記乱数が暗号化されることにより算出された前記第2の値を含むレスポンスを当該被認証装置から受信し、前記認証手段は、前記認証処理において、前記第1の値を復号鍵として前記第2の値が復号された値と、前記乱数生成手段により生成された前記乱数とが一致するか否かを判定することを特徴とする。
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の認証装置へ認証要求を送信する被認証装置であって、当該被認証装置と前記認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを記憶する第2記憶手段と、前記第2記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスを含む更新コマンドであって、当該所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新させる更新コマンドを前記認証装置へ送信する第2送信手段と、前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第2の前記インデックスに対応付けられている前記乱数を更新する第2更新手段と、前記認証要求を前記認証装置へ送信する第3送信手段と、前記認証装置から前記チャレンジコマンドを受信する第4受信手段と、前記第4受信手段により受信された前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数を用いて前記第2の値を算出する第2算出手段と、前記第2算出手段により算出された前記第2の値を含むレスポンスを前記認証装置へ送信する第4送信手段と、を備えることを特徴とする。
請求項6に記載の発明は、請求項5に記載の被認証装置において、前記第2算出手段は、前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数を用いて算出した値を暗号鍵として、前記チャレンジコマンドに含まれる前記乱数を暗号化することにより前記第2の値を算出することを特徴とする。
請求項7に記載の発明は、被認証装置からの認証要求に応じて認証処理を実行する認証装置における認証方法であって、当該認証装置と前記被認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを第1記憶手段に記憶するステップと、前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新する前記被認証装置から、当該所定数の前記インデックスを含む更新コマンドを受信するステップと、前記受信された前記更新コマンドに含まれる前記所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記乱数テーブルにおいて当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新するステップと、前記被認証装置から認証要求を受信するステップと、前記受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の第3の前記インデックスを含むチャレンジコマンドを前記被認証装置へ送信するステップと、前記受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける前記第3の前記インデックスに対応付けられている前記乱数を用いて第1の値を算出するステップと、前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された第2の値を含むレスポンスを当該被認証装置から受信するステップと、前記算出された前記第1の値と、前記レスポンスに含まれる前記第2の値とを用いて、認証処理を実行するステップと、を含むことを特徴とする。
請求項8に記載の発明は、請求項7に記載の認証装置へ認証要求を送信する被認証装置における被認証方法であって、当該被認証装置と前記認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを第2記憶手段に記憶するステップと、前記第2記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスを含む更新コマンドであって、当該所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新させる更新コマンドを前記認証装置へ送信するステップと、前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第2の前記インデックスに対応付けられている前記乱数を更新するステップと、前記認証要求を前記認証装置へ送信するステップと、前記認証装置から前記チャレンジコマンドを受信するステップと、前記受信された前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数を用いて前記第2の値を算出するステップと、前記算出された前記第2の値を含むレスポンスを前記認証装置へ送信するステップと、を含むことを特徴とする。
請求項9に記載の発明は、被認証装置からの認証要求に応じて認証処理を実行するコンピュータに、当該認証装置と前記被認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを第1記憶手段に記憶するステップと、前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新する前記被認証装置から、当該所定数の前記インデックスを含む更新コマンドを受信するステップと、前記受信された前記更新コマンドに含まれる前記所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記乱数テーブルにおいて当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新するステップと、前記被認証装置から認証要求を受信するステップと、前記受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の第3の前記インデックスを含むチャレンジコマンドを前記被認証装置へ送信するステップと、前記受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける前記第3の前記インデックスに対応付けられている前記乱数を用いて第1の値を算出するステップと、前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された第2の値を含むレスポンスを当該被認証装置から受信するステップと、前記算出された前記第1の値と、前記レスポンスに含まれる前記第2の値とを用いて、認証処理を実行するステップと、を実行させることを特徴とする。
請求項10に記載の発明は、請求項9に記載の認証装置へ認証要求を送信するコンピュータに、当該被認証装置と前記認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを第2記憶手段に記憶するステップと、前記第2記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスを含む更新コマンドであって、当該所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新させる更新コマンドを前記認証装置へ送信するステップと、前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第2の前記インデックスに対応付けられている前記乱数を更新するステップと、前記認証要求を前記認証装置へ送信するステップと、前記認証装置から前記チャレンジコマンドを受信するステップと、前記受信された前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数を用いて前記第2の値を算出するステップと、前記算出された前記第2の値を含むレスポンスを前記認証装置へ送信するステップと、を実行させることを特徴とする。
本発明によれば、同一のチャレンジに対するレスポンスを異ならせることができ、攻撃者がチャレンジとレスポンスの対を蓄積したとしても、当該蓄積された情報に基づきチャレンジに対応するレスポンスが特定されることを防ぐことができ、成りすまし等に対する安全性を向上させることができる。
(A)は、データ通信システムSの概要構成例を示す図であり、(B)は、通信装置Tnの概要構成例を示す図である。 乱数テーブルの一例を示す図である。 通信装置T1と通信装置T2とで行われる乱数テーブル更新処理の一例を示すシーケンス図である。 実施例1において、通信装置T1と通信装置T2とで行われるチャレンジ/レスポンス処理の一例を示すシーケンス図である。 実施例2において、通信装置T1と通信装置T2とで行われるチャレンジ/レスポンス処理の一例を示すシーケンス図である。 実施例3において、通信装置T1と通信装置T2とで行われるチャレンジ/レスポンス処理の一例を示すシーケンス図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施形態は、データ通信システムに対して本発明を適用した場合の実施形態である。
先ず、図1を参照して、データ通信システムSの概要構成及び機能について説明する。図1(A)は、データ通信システムSの概要構成例を示す図であり、図1(B)は、通信装置Tnの概要構成例を示す図である。
図1(A)に示すように、データ通信システムSは、複数の通信装置(エンティティ)Tn(n=1,2,3・・・k)を備えて構成されている。このようなデータ通信システムSでは、通信ネットワークNWを介して、通信装置Tn間でM2M(Machine to Machine)の通信が可能になっている。通信装置Tnの例としては、サーバ、パーソナルコンピュータ、携帯電話機、スマートフォン等の携帯端末、ICカード、センサー機器、アクチュエーター機器、ゲーム機等が挙げられる。センサー機器は、例えば、温度、湿度、照度、振動、電力、または歪み等のセンサーを搭載した通信機器である。アクチュエーター機器は、表示板、照明、ブザー、またはリレー等を搭載した通信機器である。通信ネットワークNWには、例えば、Bluetooth(登録商標)、UWB(ultra wideband)、PAN(personal area network)、インターネット、IoT(Internet of Things)、センサーネットワーク、移動体通信網等が該当する。通信ネットワークNWは、例えば、各場所で複数の通信方式を組み合わせて構成されてもよい。例えば、サーバと携帯電話機とは、インターネット、ゲートウエイ、及び移動体通信網を介して通信を行う。また、例えば、センサー機器とアクチュエーター機器とは、PANを介して近距離無線通信を行う。
図1(B)に示すように、通信装置Tnは、CPU(Central Processing Unit)10、コプロセッサ11、記憶部12、センサー部13、I/F部14、及び通信部15等を備えて構成される。なお、全ての通信装置Tnの構成が同一である必要はなく、異なっていてもよい。例えば、通信装置T1にはセンサー部13がある構成とし、通信装置T2にはセンサー部13がない構成としてもよい。以下の実施形態においては、通信装置T1を被認証装置(例えば、携帯端末)とし、通信装置T2を認証装置(例えば、サーバ)として説明する。
CPU10は、本発明におけるコンピュータの一例である。コプロセッサ11は、暗号鍵(復号鍵)を用いて暗号化処理及び復号処理を実行する。センサー部13は、例えば、温度、湿度、照度、振動、電力、または歪み等のセンサーを備える。I/F部14は、通信装置Tnの周辺機器と接続するためのインターフェースである。通信部15は、CPU10の制御の下、通信ネットワークNWを介して通信相手と通信を行うためのものである。通信装置T2の記憶部12は、第1記憶手段の一例であり、通信装置T1の記憶部12は、第2記憶手段の一例である。記憶部12は、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(例えば、フラッシュメモリ)等を備える。なお、記憶部12は、不揮発性メモリの代わりに、HDD(Hard Disk Drive)、またはSSD(Solid State Drive)を備える場合もある。
記憶部12には、CPU10、及びコプロセッサ11に実行させるプログラム、及び各種データが記憶されている。通信装置T2の記憶部12に記憶されるプログラムには、CPU10に実行させる認証処理プログラムが含まれる。通信装置T1の記憶部12に記憶されるプログラムには、CPU10に実行させる被認証処理プログラムが含まれる。また、通信装置T1及び通信装置T2の記憶部12に記憶されるプログラムには、コプロセッサ11に実行させる暗号化処理を規定する暗号化処理プログラム、及びコプロセッサ11に実行させる復号処理を規定する復号処理プログラムが含まれる。また、通信装置T1及び通信装置T2の記憶部12には、セキュアな記憶領域が設けられており、この記憶領域には、乱数テーブルが記憶される。乱数テーブルは、複数個の乱数と乱数ごとに一意のインデックス(例えば、自然数)とを対応付けたテーブルである。乱数テーブルは、通信装置T1及び通信装置T2との間で共有されるべきものである。
図2は、乱数テーブルの一例を示す図である。図2の例では、乱数(乱数値)をRn等の文字で表現しているが、実際には、乱数は、例えば、CPU10上の数値表現(0と1)からなる128ビットの値である。乱数テーブルは、例えば通信装置Tnの製造時に予め記憶部12に記憶される。この構成では、乱数自体が、通信ネットワークNWを介して通信装置Tn間でやり取りされないので、セキュリティを向上させることができる。
或いは、乱数テーブルは、例えば通信装置Tnの製造時に記憶部12に記憶させず、通信装置Tnの出荷後、互いに通信を行う通信装置T1と通信装置T2とがそれぞれで生成した乱数及びインデックスを通信相手に送信することで、乱数テーブルを生成するように構成してもよい。例えば、通信装置T1と通信装置T2とが通信を行う場合、初めに、通信装置T1と通信装置T2とは、それぞれ、空の乱数テーブルを記憶部12に生成する。そして、先ず、通信装置T1は、乱数生成器により乱数R1を生成し、生成した乱数R1とインデックス1とを対応付けて通信装置T2へ送信し、且つ、生成した乱数R1とインデックス1とを対応付けて乱数テーブルに登録する。次に、通信装置T2は、通信装置T1から受信した乱数R1とインデックス1とを対応付けて乱数テーブルに登録する。そして、通信装置T2は、乱数生成器により乱数R2を生成し、生成した乱数R2とインデックス2とを対応付けて通信装置T1へ送信し、且つ、生成した乱数R2とインデックス2とを対応付けて乱数テーブルに登録する。次に、通信装置T1は、通信装置T2から受信した乱数R2とインデックス2とを対応付けて乱数テーブルに登録する。このような処理が繰り返し交互に行われる(インデックス3〜nまで)ことで、図2に示すような乱数テーブルが完成する。この構成では、通信装置T1と通信装置T2との間で固有の乱数テーブル(つまり、実際に通信を行う認証装置と被認証装置間で固有の乱数テーブル)を生成することができる。
そして、通信装置T1のCPU10は、本発明の被認証処理プログラムに従って、乱数テーブル更新処理、及びチャレンジ/レスポンス処理を実行する。通信装置T1のCPU10は、乱数テーブル更新処理において、第2送信手段、及び第2更新手段等として機能する。一方、通信装置T2のCPU10は、本発明の認証処理プログラムに従って、乱数テーブル更新処理、及びチャレンジ/レスポンス処理を実行する。通信装置T2のCPU10は、乱数テーブル更新処理において、第1受信手段、及び第1更新手段等として機能する。具体的には、例えば、通信装置T1のCPU10は、乱数テーブル更新処理において、記憶部12に記憶されている乱数テーブルにおける所定数(例えば、2個以上の任意個)のインデックスを含む乱数テーブル更新コマンド(更新コマンドの一例)を通信装置T2へ送信する。この乱数テーブル更新コマンドは、上記所定数のインデックスの中の第1のインデックスに対応付けられている乱数を用いて算出される新たな乱数により、当該所定数のインデックスの中の第2のインデックスに対応付けられている乱数を更新させるコマンドである。また、通信装置T1のCPU10は、乱数テーブル更新処理において、記憶部12に記憶されている乱数テーブルにおいて第1のインデックスに対応付けられている乱数を用いて新たな乱数を算出し、当該算出した乱数により、記憶部12に記憶されている乱数テーブルにおいて第2のインデックスに対応付けられている乱数を更新する。一方、例えば、通信装置T2のCPU10は、乱数テーブル更新処理において、通信装置T1から受信された乱数テーブル更新コマンドに含まれる上記所定数のインデックスの中の第1のインデックスに対応付けられている乱数を用いて新たな乱数を算出し、当該算出した乱数により、記憶部12に記憶されている乱数テーブルにおいて当該所定数のインデックスの中の第2のインデックスに対応付けられている乱数を更新する。これにより、通信装置T1と通信装置T2との間で、乱数テーブルの共有化が行われる。
また、通信装置T1のCPU10は、チャレンジ/レスポンス処理において、第3送信手段、第4受信手段、第2算出手段、及び第4送信手段等として機能する。一方、通信装置T2のCPU10は、チャレンジ/レスポンス処理において、第1送信手段、第1算出手段、第2受信手段、第3受信手段、認証手段、及び乱数生成手段等として機能する。具体的には、例えば、通信装置T1のCPU10は、チャレンジ/レスポンス処理において、認証要求(例えば、ログインコマンド等)を通信装置T2へ送信する。一方、例えば、通信装置T2のCPU10は、チャレンジ/レスポンス処理において、通信装置T1から受信された認証要求に応じて、記憶部12に記憶されている乱数テーブルにおける所定数(例えば、1個以上の任意個)の第3のインデックスを含むチャレンジコマンドを通信装置T2へ送信する。また、通信装置T2のCPU10は、通信装置T1から受信された認証要求に応じて、記憶部12に記憶されている乱数テーブルにおける上記第3のインデックスに対応付けられている乱数を用いてチャレンジ値(第1の値の一例)を算出する。一方、通信装置T1のCPU10は、通信装置T2から受信されたチャレンジコマンドに含まれる上記第3のインデックスに対応付けられている乱数を用いてレスポンス値(第2の値の一例)を算出する。そして、通信装置T1のCPU10は、算出したレスポンス値を含むレスポンスを通信装置T2へ送信する。一方、通信装置T2のCPU10は、通信装置T2から受信されたレスポンスに含まれるレスポンス値と、上記算出されたチャレンジ値とを用いて、認証処理を実行する。この認証処理において、例えば、レスポンス値とチャレンジ値とが一致するか否かが判定され、一致する場合には認証成功となり、一致しない場合には認証失敗となる。
次に、データ通信システムSの動作について、実施例1〜実施例3に分けて説明する。なお、以下の動作の前提として、通信装置T1(被認証装置)と通信装置T2(認証装置)には、同一の乱数テーブルが記憶されているものとする。
(実施例1)
先ず、図3及び図4を参照して、実施例1について説明する。図3は、通信装置T1と通信装置T2とで行われる乱数テーブル更新処理の一例を示すシーケンス図である。図4は、実施例1において、通信装置T1と通信装置T2とで行われるチャレンジ/レスポンス処理の一例を示すシーケンス図である。
図3に示す例では、通信装置T1から乱数テーブル更新処理が開始される。なお、乱数テーブル更新処理は、例えば、定期的(例えば、3日間隔)、または不定期(例えば、通信装置T1の電源オンのタイミング)に実行される。
乱数テーブル更新処理が開始されると、通信装置T1のCPU10は、乱数テーブル更新コマンドRUpdate(n,k,l)を生成する(ステップS1)。ここで、n,k,lは、通信装置T2へ渡す引数であり、記憶部12に記憶されている乱数テーブルにおける所定数のインデックスに相当する。また、この例では、“n”は、上述した第2のインデックスに相当し、“k”及び“l”は、第1のインデックスに相当する。なお、RUpdateの引数として決定される第1のインデックスは、3個以上であってもよい。また、n,k,lは、例えば、乱数により任意に決定(例えば、n=1,k=2,l=4、或いは、n=4,k=1,l=2のように決定)される。或いは、n,k,lは、登録順に決定されてもよい。
次いで、通信装置T1のCPU10は、ステップS1で生成した乱数テーブル更新コマンドRUpdate(n,k,l)を、通信部15及び通信ネットワークNWを介して、通信装置T2へ送信する(ステップS2)。次いで、通信装置T1のCPU10は、インデックスkに対応付けられている乱数Rkと、インデックスlに対応付けられている乱数Rlとを用いて、インデックスnに対応付けるための新たな乱数Rnを算出する(ステップS3)。新たな乱数Rnは、例えば、下記(1)式により算出される。
Rn := Rk xor Rl・・・(1)
ここで、“xor”は、排他的論理和を表す。また、“(左辺):=(右辺)”は、右辺の計算結果を左辺に代入することを表す。つまり、上記(1)式では、RkとRlとの排他的論理和がRnになる。なお、新たな乱数Rnを、他の算出方法で算出してもよい。例えば、生成される乱数を固定長(例えば、128ビット)としておき、Rk とRlとを乗算した結果の上位128ビットを、新たな乱数Rnとしてもよい。
次いで、通信装置T1のCPU10は、ステップS3で算出した新たな乱数Rnにより、通信装置T1の記憶部12に記憶されている乱数テーブルにおいてインデックスnに対応付けられている乱数Rnを更新(変更)する(ステップS4)。
一方、通信装置T2のCPU10は、通信装置T1から送信された乱数テーブル更新コマンドRUpdate(n,k,l)を受信すると、乱数テーブル更新コマンドRUpdate(n,k,l)が示すインデックスkに対応付けられている乱数Rkと、インデックスlに対応付けられている乱数Rlとを用いて、通信装置T1と同一の算出方法(例えば、上記(1)式)により、インデックスnに対応付けるための新たな乱数Rnを算出する(ステップS11)。
次いで、通信装置T2のCPU10は、ステップS11で算出した新たな乱数Rnにより、通信装置T2の記憶部12に記憶されている乱数テーブルにおいてインデックスnに対応付けられている乱数Rnを更新(変更)する(ステップS12)。
次いで、通信装置T2のCPU10は、更新完了メッセージを、通信部15及び通信ネットワークNWを介して、通信装置T1へ送信する(ステップS13)。一方、通信装置T1のCPU10は、通信装置T2から送信された更新完了メッセージを受信すると、確認回答メッセージを通信装置T2へ返信する(ステップS5)。
次に、図4に示す例では、通信装置T1からチャレンジ/レスポンス処理が開始される。チャレンジ/レスポンス処理は、例えば、通信装置T1のユーザである被認証者からの例えばログイン指示に応じて開始される。
チャレンジ/レスポンス処理が開始されると、通信装置T1のCPU10は、認証要求(例えば、ログインコマンド等)を、通信部15及び通信ネットワークNWを介して、通信装置T2へ送信する(ステップS21)。
一方、通信装置T2のCPU10は、通信装置T1から送信された認証要求を受信すると、記憶部12に記憶されている乱数テーブルにおける所定数の第3のインデックスを含むチャレンジコマンドChallenge(k,-l,m)を生成する(ステップS31)。ここで、k,-l,mは、通信装置T1へ渡す引数であり、記憶部12に記憶されている乱数テーブルにおける第3のインデックスに相当する。また、“-l”における“-”は、暗号鍵の安全性を向上させるために否定演算子を用いることを示す。“-l”に代えて“l”であってもよい。なお、Challengeにおける引数として決定されるインデックスは、3個以上であってもよい。また、k,l,mは、例えば、乱数により任意に決定されるか、或いは登録順に決定される。
次いで、通信装置T2のCPU10は、ステップS31で生成したチャレンジコマンドChallenge(k,-l,m)を、通信部15及び通信ネットワークNWを介して、通信装置T1へ送信する(ステップS32)。
次いで、通信装置T2のCPU10は、インデックスkに対応付けられている乱数Rkと、インデックスlに対応付けられている乱数Rl(“l”に“-”が付加されているので、¬Rlが用いられる)と、インデックスmに対応付けられている乱数Rmとを用いてチャレンジ値Vを算出する(ステップS33)。チャレンジ値Vは、例えば、下記(2)式により算出される。
V := Rk xor ¬Rl xor Rm・・・(2)
ここで、“¬”は、否定演算子を表す。すなわち、¬Rlは、CPU10上の数値表現では全ビットの反転を意味する。上記(2)式では、Rkと¬RlとRmとの排他的論理和がVになる。なお、チャレンジ値Vを、他の算出方法で算出してもよい。例えば、生成される乱数を固定長としておき、Rkと¬RlとRmとを乗算した結果の上位固定長ビットを、チャレンジ値Vとしてもよい。
一方、通信装置T1のCPU10は、通信装置T2から送信されたチャレンジコマンドChallenge(k,-l,m)を受信すると、チャレンジコマンドChallenge(k,-l,m)が示すインデックスkに対応付けられている乱数Rkと、インデックスlに対応付けられている乱数Rlの反転値¬Rlと、インデックスmに対応付けられている乱数Rmとを用いて、通信装置T2と同一の算出方法(例えば、上記(2)式)により、レスポンス値Resを算出する(ステップS22)。
次いで、通信装置T1のCPU10は、ステップS22で算出したレスポンス値Resを含むレスポンスを、通信部15及び通信ネットワークNWを介して、通信装置T2へ送信する(ステップS23)。
一方、通信装置T2のCPU10は、通信装置T1から送信されたレスポンスを受信すると、当該レスポンスに含まれるレスポンス値Resと、ステップS33で算出されたチャレンジ値Vとを用いて、認証処理を実行する。この認証処理において、通信装置T2のCPU10は、チャレンジ値Vとレスポンス値Resとが一致するか否かを判定する(ステップS34)。チャレンジ値Vとレスポンス値Resとが一致する場合(ステップS34:YES)、通信装置T2のCPU10は、認証成功と判定する(ステップS35)。一方、チャレンジ値Vとレスポンス値Resとが一致しない場合(ステップS34:NO)、通信装置T2のCPU10は、認証失敗と判定する(ステップS36)。そして、通信装置T2のCPU10は、認証成功または認証失敗を示す認証結果メッセージを、通信部15及び通信ネットワークNWを介して、通信装置T1へ送信する(ステップS37)。
以上説明したように、実施例1によれば、通信装置T1と通信装置T2とに同一の乱数テーブルを記憶させておき、当該乱数テーブルをインデックスの送受信だけで適時安全に更新し、しかも、チャレンジ値の受け渡しはインデックスにより行うように構成したので、同一のチャレンジ(つまり、インデックス)に対するレスポンス値を異ならせることができ、攻撃者がチャレンジとレスポンス値の対を蓄積したとしても、当該蓄積された情報に基づきチャレンジに対応するレスポンス値が特定されることを防ぐことができ、成りすまし等に対する安全性を向上させることができる。また、過去の認証処理において利用されたものと同じチャレンジが再利用される場合であっても、成りすまし方法に対する安全性を向上させることが可能となる。
(実施例2)
次に、図5を参照して、実施例2について説明する。図5は、実施例2において、通信装置T1と通信装置T2とで行われるチャレンジ/レスポンス処理の一例を示すシーケンス図である。なお、実施例2における乱数テーブル更新処理は、実施例1と同様であり、図3に示すように行われる。
図5に示す例では、実施例1と同様、通信装置T1からチャレンジ/レスポンス処理が開始される。なお、チャレンジ/レスポンス処理は、実施例1と同様、例えば、通信装置T1のユーザである被認証者からの例えばログイン指示に応じて開始される。
チャレンジ/レスポンス処理が開始されると、通信装置T1のCPU10は、認証要求(例えば、ログインコマンド等)を、通信部15及び通信ネットワークNWを介して、通信装置T2へ送信する(ステップS41)。
一方、通信装置T2のCPU10は、通信装置T1から送信された認証要求を受信すると、乱数Rを生成する(ステップS51)。この乱数Rは、1回だけ使用されるnonce (number used once)であることが望ましい。なお、通信装置T2には、CPU10とは別に、乱数を生成する乱数生成器が備えられていてもよい。この場合、乱数生成器により乱数Rが生成される。次いで、通信装置T2のCPU10は、記憶部12に記憶されている乱数テーブルにおける所定数の第3のインデックスと、ステップS51で生成された乱数Rとを含むチャレンジコマンドChallenge(R,k,-l,m)を生成する(ステップS52)。
次いで、通信装置T2のCPU10は、ステップS52で生成したチャレンジコマンドChallenge(R,k,-l,m)を、通信部15及び通信ネットワークNWを介して、通信装置T1へ送信する(ステップS53)。
次いで、通信装置T2のCPU10は、インデックスkに対応付けられている乱数Rkと、インデックスlに対応付けられている乱数Rl(“l”に“-”が付加されているので、¬Rlが用いられる)と、インデックスmに対応付けられている乱数Rmとを用いて値K2を算出し、当該算出した値K2を暗号鍵として、ステップS51で生成された乱数Rを暗号化することによりチャレンジ値Vを算出する(ステップS54)。値K2は、例えば、下記(3)式により算出され、チャレンジ値Vは、例えば、下記(4)式により算出される。
K2 := Rk xor ¬Rl xor Rm・・・(3)
V:= E(R,K2)・・・(4)
ここで、“E(第1引数,第2引数)”は、第2引数を暗号鍵として用いて第1引数の平文を暗号化する暗号化演算子を表す。
一方、通信装置T1のCPU10は、通信装置T2から送信されたチャレンジコマンドChallenge(R,k,-l,m)を受信すると、チャレンジコマンドChallenge(R,k,-l,m)が示すインデックスkに対応付けられている乱数Rkと、インデックスlに対応付けられている乱数Rlの反転値¬Rlと、インデックスmに対応付けられている乱数Rmとを用いて値K1を算出し、当該算出した値K1を暗号鍵として、チャレンジコマンドChallenge(R,k,-l,m)に含まれる乱数Rを暗号化することによりレスポンス値ResとしてE(R,K1)を算出する(ステップS42)。なお、値K1及びレスポンス値Resは、通信装置T2と同一の算出方法(例えば、上記(3)式及び(4)式)により算出される。
次いで、通信装置T1のCPU10は、ステップS42で算出したレスポンス値Resを含むレスポンスを、通信部15及び通信ネットワークNWを介して、通信装置T2へ送信する(ステップS43)。
一方、通信装置T2のCPU10は、通信装置T1から送信されたレスポンスを受信すると、当該レスポンスに含まれるレスポンス値Resと、ステップS54で算出されたチャレンジ値Vとを用いて、認証処理を実行する。なお、ステップS55以降の処理は、上記ステップS34以降の処理と同様である。
以上説明したように、実施例2によれば、チャレンジコマンドにインデックスと共に乱数Rを含ませ、当該インデックスを用いて算出された値で当該乱数Rを暗号化してレスポンスを送信するように構成したので、認証処理で比較対象となる値の安全性を向上させることできる。
(実施例3)
次に、図6を参照して、実施例3について説明する。図6は、実施例3において、通信装置T1と通信装置T2とで行われるチャレンジ/レスポンス処理の一例を示すシーケンス図である。なお、実施例3における乱数テーブル更新処理は、実施例1と同様であり、図3に示すように行われる。
図6に示す例では、実施例1及び実施例2と同様、通信装置T1のCPU10は、認証要求(例えば、ログインコマンド等)を、通信部15及び通信ネットワークNWを介して、通信装置T2へ送信する(ステップS61)。
一方、通信装置T2のCPU10は、通信装置T1から送信された認証要求を受信すると、実施例2と同様、乱数R(例えば、nonce)を生成し(ステップS71)、チャレンジコマンドChallenge(R,k,-l,m)を生成し(ステップS72)、生成したチャレンジコマンドChallenge(R,k,-l,m)を通信装置T1へ送信する(ステップS73)。
一方、通信装置T1のCPU10は、通信装置T2から送信されたチャレンジコマンドChallenge(R,k,-l,m)を受信すると、実施例2と同様、レスポンス値ResとしてE(R,K1)を算出し(ステップS62)、当該レスポンス値Resを含むレスポンスを通信装置T2へ送信する(ステップS63)。
一方、通信装置T2のCPU10は、通信装置T1から送信されたレスポンスを受信すると、インデックスkに対応付けられている乱数Rkと、インデックスlに対応付けられている乱数Rl(“l”に“-”が付加されているので、¬Rlが用いられる)と、インデックスmに対応付けられている乱数Rmとを用いて値K2を算出し、当該算出した値K2を復号鍵(=暗号鍵)として、当該レスポンスに含まれるレスポンス値Resを復号することによりチャレンジ値Vを算出する(ステップS74)。値K2は、例えば、上記(3)式により算出され、チャレンジ値Vは、例えば、下記(5)式により算出される。
V:= D(Res,K2)・・・(5)
ここで、“D(第1引数,第2引数)”は、第2引数を暗号鍵として用いて第1引数の暗号文を復号する復号演算子を表す。正常な場合、実施例3におけるチャレンジ値Vは、通信装置T1に送信されたチャレンジコマンドChallenge(R,k,-l,m)に含まれる乱数Rである。
次いで、通信装置T2のCPU10は、ステップS74で算出されたチャレンジ値V(値K2を復号鍵としてレスポンス値Resが復号された値)と、ステップS71で生成された乱数Rとが一致するか否かを判定する(ステップS75)。チャレンジ値Vと乱数Rとが一致する場合(ステップS75:YES)、通信装置T2のCPU10は、認証成功と判定する(ステップS76)。一方、チャレンジ値Vと乱数Rとが一致しない場合(ステップS75:NO)、通信装置T2のCPU10は、認証失敗と判定する(ステップS77)。そして、通信装置T2のCPU10は、認証成功または認証失敗を示す認証結果メッセージを通信装置T1へ送信する(ステップS78)。
以上説明したように、実施例3によれば、チャレンジコマンドにインデックスと共に乱数Rを含ませ、当該インデックスを用いて算出された値で当該乱数Rを暗号化してレスポンスを送信するように構成したので、認証処理で比較対象となる値の安全性を向上させることができる。
10 CPU
11 コプロセッサ
12 記憶部
13 センサー部
14 I/F部
15 通信部
Tn 通信装置

Claims (10)

  1. 被認証装置からの認証要求に応じて認証処理を実行する認証装置であって、
    当該認証装置と前記被認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを記憶する第1記憶手段と、
    前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新する前記被認証装置から、当該所定数の前記インデックスを含む更新コマンドを受信する第1受信手段と、
    前記第1受信手段により受信された前記更新コマンドに含まれる前記所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記乱数テーブルにおいて当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新する第1更新手段と、
    前記被認証装置から認証要求を受信する第2受信手段と、
    前記第2受信手段により受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の第3の前記インデックスを含むチャレンジコマンドを前記被認証装置へ送信する第1送信手段と、
    前記第2受信手段により受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける前記第3の前記インデックスに対応付けられている前記乱数を用いて第1の値を算出する第1算出手段と、
    前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された第2の値を含むレスポンスを当該被認証装置から受信する第3受信手段と、
    前記第1算出手段により算出された前記第1の値と、前記第3受信手段により受信された前記レスポンスに含まれる前記第2の値とを用いて、認証処理を実行する認証手段と、
    を備えることを特徴とする認証装置。
  2. 前記認証手段は、前記認証処理において、前記第1の値と前記第2の値とが一致するか否かを判定することを特徴とする請求項1に記載の認証装置。
  3. 前記認証装置は、乱数を生成する乱数生成手段を更に備え、
    前記第1送信手段は、前記第3の前記インデックスと、前記乱数生成手段により生成された乱数とを含むチャレンジコマンドを前記被認証装置へ送信し、
    前記第1算出手段は、前記第3の前記インデックスに対応付けられている前記乱数を用いて算出された値を暗号鍵として、前記乱数生成手段により生成された乱数を暗号化することにより前記第1の値を算出し、
    前記第3受信手段は、前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された値を暗号鍵として、前記チャレンジコマンドに含まれる前記乱数が暗号化されることにより算出された前記第2の値を含むレスポンスを当該被認証装置から受信し、
    前記認証手段は、前記認証処理において、前記第1の値と前記第2の値とが一致するか否かを判定することを特徴とする請求項1に記載の認証装置。
  4. 前記認証装置は、乱数を生成する乱数生成手段を更に備え、
    前記第1送信手段は、前記第3の前記インデックスと、前記乱数生成手段により生成された乱数とを含むチャレンジコマンドを前記被認証装置へ送信し、
    前記第3受信手段は、前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された値を暗号鍵として、前記チャレンジコマンドに含まれる前記乱数が暗号化されることにより算出された前記第2の値を含むレスポンスを当該被認証装置から受信し、
    前記認証手段は、前記認証処理において、前記第1の値を復号鍵として前記第2の値が復号された値と、前記乱数生成手段により生成された前記乱数とが一致するか否かを判定することを特徴とする請求項1に記載の認証装置。
  5. 請求項1乃至4の何れか一項に記載の認証装置へ認証要求を送信する被認証装置であって、
    当該被認証装置と前記認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを記憶する第2記憶手段と、
    前記第2記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスを含む更新コマンドであって、当該所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新させる更新コマンドを前記認証装置へ送信する第2送信手段と、
    前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第2の前記インデックスに対応付けられている前記乱数を更新する第2更新手段と、
    前記認証要求を前記認証装置へ送信する第3送信手段と、
    前記認証装置から前記チャレンジコマンドを受信する第4受信手段と、
    前記第4受信手段により受信された前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数を用いて前記第2の値を算出する第2算出手段と、
    前記第2算出手段により算出された前記第2の値を含むレスポンスを前記認証装置へ送信する第4送信手段と、
    を備えることを特徴とする被認証装置。
  6. 前記第2算出手段は、前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数を用いて算出した値を暗号鍵として、前記チャレンジコマンドに含まれる前記乱数を暗号化することにより前記第2の値を算出することを特徴とする請求項5に記載の被認証装置。
  7. 被認証装置からの認証要求に応じて認証処理を実行する認証装置における認証方法であって、
    当該認証装置と前記被認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを第1記憶手段に記憶するステップと、
    前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新する前記被認証装置から、当該所定数の前記インデックスを含む更新コマンドを受信するステップと、
    前記受信された前記更新コマンドに含まれる前記所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記乱数テーブルにおいて当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新するステップと、
    前記被認証装置から認証要求を受信するステップと、
    前記受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の第3の前記インデックスを含むチャレンジコマンドを前記被認証装置へ送信するステップと、
    前記受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける前記第3の前記インデックスに対応付けられている前記乱数を用いて第1の値を算出するステップと、
    前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された第2の値を含むレスポンスを当該被認証装置から受信するステップと、
    前記算出された前記第1の値と、前記レスポンスに含まれる前記第2の値とを用いて、認証処理を実行するステップと、
    を含むことを特徴とする認証方法。
  8. 請求項7に記載の認証装置へ認証要求を送信する被認証装置における被認証方法であって、
    当該被認証装置と前記認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを第2記憶手段に記憶するステップと、
    前記第2記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスを含む更新コマンドであって、当該所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新させる更新コマンドを前記認証装置へ送信するステップと、
    前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第2の前記インデックスに対応付けられている前記乱数を更新するステップと、
    前記認証要求を前記認証装置へ送信するステップと、
    前記認証装置から前記チャレンジコマンドを受信するステップと、
    前記受信された前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数を用いて前記第2の値を算出するステップと、
    前記算出された前記第2の値を含むレスポンスを前記認証装置へ送信するステップと、
    を含むことを特徴とする被認証方法。
  9. 被認証装置からの認証要求に応じて認証処理を実行するコンピュータに、
    当該認証装置と前記被認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを第1記憶手段に記憶するステップと、
    前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新する前記被認証装置から、当該所定数の前記インデックスを含む更新コマンドを受信するステップと、
    前記受信された前記更新コマンドに含まれる前記所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記乱数テーブルにおいて当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新するステップと、
    前記被認証装置から認証要求を受信するステップと、
    前記受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける所定数の第3の前記インデックスを含むチャレンジコマンドを前記被認証装置へ送信するステップと、
    前記受信された認証要求に応じて、前記第1記憶手段に記憶されている前記乱数テーブルにおける前記第3の前記インデックスに対応付けられている前記乱数を用いて第1の値を算出するステップと、
    前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数が用いられて算出された第2の値を含むレスポンスを当該被認証装置から受信するステップと、
    前記算出された前記第1の値と、前記レスポンスに含まれる前記第2の値とを用いて、認証処理を実行するステップと、
    を実行させることを特徴とする認証処理プログラム。
  10. 請求項9に記載の認証装置へ認証要求を送信するコンピュータに、
    当該被認証装置と前記認証装置間で共有される乱数テーブルであって複数個の乱数と前記乱数ごとに一意のインデックスとを対応付けた前記乱数テーブルを第2記憶手段に記憶するステップと、
    前記第2記憶手段に記憶されている前記乱数テーブルにおける所定数の前記インデックスを含む更新コマンドであって、当該所定数の前記インデックスの中の第1の前記インデックスに対応付けられている前記乱数を用いて算出される新たな乱数により、当該所定数の前記インデックスの中の第2の前記インデックスに対応付けられている前記乱数を更新させる更新コマンドを前記認証装置へ送信するステップと、
    前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第1の前記インデックスに対応付けられている前記乱数を用いて新たな乱数を算出し、当該算出した乱数により、前記第2記憶手段に記憶されている前記乱数テーブルにおいて前記第2の前記インデックスに対応付けられている前記乱数を更新するステップと、
    前記認証要求を前記認証装置へ送信するステップと、
    前記認証装置から前記チャレンジコマンドを受信するステップと、
    前記受信された前記チャレンジコマンドに含まれる前記第3の前記インデックスに対応付けられている前記乱数を用いて前記第2の値を算出するステップと、
    前記算出された前記第2の値を含むレスポンスを前記認証装置へ送信するステップと、
    を実行させることを特徴とする被認証処理プログラム。
JP2015065090A 2015-03-26 2015-03-26 認証装置、被認証装置、認証方法、被認証方法、認証処理プログラム、及び被認証処理プログラム Active JP6432417B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015065090A JP6432417B2 (ja) 2015-03-26 2015-03-26 認証装置、被認証装置、認証方法、被認証方法、認証処理プログラム、及び被認証処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015065090A JP6432417B2 (ja) 2015-03-26 2015-03-26 認証装置、被認証装置、認証方法、被認証方法、認証処理プログラム、及び被認証処理プログラム

Publications (2)

Publication Number Publication Date
JP2016184899A JP2016184899A (ja) 2016-10-20
JP6432417B2 true JP6432417B2 (ja) 2018-12-05

Family

ID=57242060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015065090A Active JP6432417B2 (ja) 2015-03-26 2015-03-26 認証装置、被認証装置、認証方法、被認証方法、認証処理プログラム、及び被認証処理プログラム

Country Status (1)

Country Link
JP (1) JP6432417B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815510B (zh) * 2017-01-18 2020-08-07 珠海市魅族科技有限公司 一种数据处理的方法及终端
JP7343035B2 (ja) * 2020-02-27 2023-09-12 日本電気株式会社 データ配信装置及び方法、データ要求装置及び方法、データ配信システム、並びに、プログラム
CN111400698A (zh) * 2020-03-24 2020-07-10 中安云科科技发展(山东)有限公司 一种认证api的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4818975B2 (ja) * 2007-03-30 2011-11-16 西日本電信電話株式会社 情報通信システム
JP2011223495A (ja) * 2010-04-14 2011-11-04 Sony Corp 情報処理装置及び方法、並びにプログラム
ES2527793T3 (es) * 2010-08-23 2015-01-29 3M Innovative Properties Co. Método y dispositivo para la autenticación de pregunta-respuesta

Also Published As

Publication number Publication date
JP2016184899A (ja) 2016-10-20

Similar Documents

Publication Publication Date Title
Das et al. Design of secure and lightweight authentication protocol for wearable devices environment
KR102149587B1 (ko) 신원 인증 방법 및 장치
JP6399382B2 (ja) 認証システム
US9848320B2 (en) Encrypted communications method and encrypted communications system
CN109075968A (zh) 用于安全设备认证的方法和装置
JP2018110378A5 (ja)
KR101744747B1 (ko) 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법
CN110198295A (zh) 安全认证方法和装置及存储介质
KR101297648B1 (ko) 서버와 디바이스간 인증방법
JP2012530311A5 (ja)
JP2015122620A (ja) 認証システム、認証方法、認証装置、及び、被認証装置
CN103188229A (zh) 用于安全内容访问的方法和设备
JP6432417B2 (ja) 認証装置、被認証装置、認証方法、被認証方法、認証処理プログラム、及び被認証処理プログラム
CN105704114A (zh) 具有服务模式的听力设备和相关方法
Gajbhiye et al. Design, implementation and security analysis of Bluetooth pairing protocol in NS2
WO2021109668A1 (zh) 一种安全认证方法、装置及电子设备
KR102625879B1 (ko) 생체 정보를 이용한 키를 발생하는 암호 시스템의 방법
Li et al. A proximity authentication system for smartphones
CN108075896A (zh) 使用基于标识的密码学构建自认证消息的***和方法
TW201528831A (zh) 可攜式電子裝置及用於可攜式電子裝置之安全性配對方法
CN101815290B (zh) 一种运动监测数据的安全传输方法
CN105828330B (zh) 一种接入方法及装置
EP3063920B1 (en) Method for setting up, via an intermediate entity, a secure session between a first and a second entity, and corresponding entities and computer program products
WO2016112860A1 (zh) 无线设备的通讯方法、无线设备和服务器
CN104243416B (zh) 加密通信方法、***和相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180919

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: 20181009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181022

R150 Certificate of patent or registration of utility model

Ref document number: 6432417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150