JP2022081443A - 通信装置、通信方法、及びプログラム - Google Patents
通信装置、通信方法、及びプログラム Download PDFInfo
- Publication number
- JP2022081443A JP2022081443A JP2021185760A JP2021185760A JP2022081443A JP 2022081443 A JP2022081443 A JP 2022081443A JP 2021185760 A JP2021185760 A JP 2021185760A JP 2021185760 A JP2021185760 A JP 2021185760A JP 2022081443 A JP2022081443 A JP 2022081443A
- Authority
- JP
- Japan
- Prior art keywords
- confidential information
- authentication
- communication
- authentication procedure
- host
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 163
- 238000000034 method Methods 0.000 title claims abstract description 163
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims description 50
- 238000012795 verification Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 description 30
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】サイドチャネル攻撃などの脅威から秘密情報を守ることが可能な通信装置、通信方法、及びプログラムを提供する。【解決手段】ホストHは、デバイスDとの間で非接触通信が行われるときに秘密情報が記憶されていないかまたは秘密情報の利用回数が所定の利用制限回数以下でない場合、多くの計算量を必要とする高度認証手順を選択して認証を実行する一方、秘密情報が記憶されており、且つ、当該秘密情報の利用回数が所定の利用制限回数以下である場合、より計算量の少ない簡易認証手順を選択して当該秘密情報を用いて認証を実行する。【選択図】図2
Description
本発明は、通信相手との間で多くの計算量を要する高度認証手順と、通信相手との間でより少ない計算量で済む簡易認証手順との何れかを選択可能な通信装置等の技術分野に関する。
年々増え続けているスマートフォンの役割の中でも、ドアを施錠および解錠する鍵としての役割が注目されている。住宅の玄関扉や宅配ロッカーの開閉扉をスマートフォンなどのデバイスで解錠する認証システムでは、錠前(通信装置)とデバイス(通信相手)との間の認証手順において相互認証が行われることで解錠などの処理が実行される。このような相互認証では、一般に、当該相互認証に成功した回数のカウントに用いるカウンタ値が利用されるが、認証成功とならない限り同じ値のカウンタ値を使用して、セッション鍵等の生成を何度も試行できるため、サイドチャネル攻撃によりセッション鍵等が推定されるおそれがあった。特許文献1には、認証に成功する毎にカウントアップされるカウンタ値に基づいて動的に暗号鍵を生成するICカードにおいて、サイドチャネル攻撃に対する耐タンパ性を高めるために、認証処理を開始する前、試行回数カウンタの値を繰り返し回数として所定のダミー処理を繰り返し行う認証遅延処理を実行する技術が開示されている。
ところで、スマートフォンがドアの鍵として利用できるようになる前に、ドアに設置される錠前とスマートフォンとで組み合わせを確定する必要があり、これはネットワーク上の不特定多数のコンピュータ同士が認証しあうことと同じ状況である。つまり、ドアの錠前とスマートフォンは、互いに組み合わせられることを事前に知らされない状態から認証しあうことになる。
この状況で利用される認証手順は公開鍵暗号を利用した証明書検証であり、該認証では秘密裏に情報を共有する技術(Diffie-Hellmanなど)も併用され、該技術によって共有された秘密情報は、認証後の秘匿通信を実現する共通鍵暗号の鍵または鍵を生成する入力情報として利用される。
よって、公開鍵暗号を利用して証明書を検証する認証手順は、検証結果を得るまでの計算量が多く、計算機資源も要する高度認証手順と言える。そのため、不特定多数のコンピュータ同士の通信では、毎回の通信開始時に高度認証手順を利用するわけではなく、一度認証に成功した際に生成した秘密情報を記憶しておき、次の通信開始時には該秘密情報を再利用する簡易認証手順も利用できる。該簡易認証手順は、公開鍵暗号よりも計算量、計算機資源が少なくすむ共通鍵暗号にて構成されるが、該秘密情報と該秘密情報を生成した際の認証手順を識別する情報を対にして保持する必要があり、全ての通信相手の秘密情報を個別に記憶することは難しく、一定期間しか保持されていない。
ただし、ドアの錠前とスマートフォンの組み合わせにおいては、認証する相手が限定的であるため、ドアの錠前は秘密情報と該秘密情報を生成した際の認証手順を識別する情報を対にして記憶しておくことが可能である。
しかしながら、秘密情報は、利用し続けるとセキュリティ的に脆弱となり、サイドチャネル攻撃により推測されるおそれがある。一方で、セキュリティを高くし過ぎて利用に制限をかけると、利便性を損なう可能性もある。
そこで、本発明は、以上の点等に鑑みてなされたものであり、通信相手との間で多くの計算量を要する高度認証手順と、高度認証手順において生成された秘密情報を用いて通信相手の間でより少ない計算量で済む簡易認証手順との何れかを選択可能である場合において、サイドチャネル攻撃などの脅威から秘密情報を守ることが可能な通信装置、通信方法、及びプログラムを提供することを目的とする。
さらに、本発明は、秘密情報を適切に制御し、サイドチャネル攻撃などの脅威から秘密情報を守り、かつ、利便性も保つことが可能な通信装置、通信方法、及びプログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、通信相手との間で多くの計算量を要する高度認証手順と、前記高度認証手順において生成された秘密情報を用いて前記通信相手の間でより少ない計算量で済む簡易認証手順との何れかを選択可能な通信装置であって、前記秘密情報と当該秘密情報の利用回数を記憶するための記憶手段と、前記通信相手との間で通信が行われるときに前記秘密情報が前記記憶手段に記憶されており、且つ、前記利用回数が所定の利用制限回数以下である場合、前記簡易認証手順を選択して認証を実行する認証手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の通信装置において、前記秘密情報の利用制限をかけるか否かを設定する設定手段を更に備え、前記認証手段は、前記通信相手との間で通信が行われるときに前記秘密情報の利用制限をかける設定がなされており、且つ、前記秘密情報が前記記憶手段に記憶されており、且つ、前記利用回数が所定の利用制限回数以下である場合に限り、前記簡易認証手順を選択して認証を実行することを特徴とする。
請求項3に記載の発明は、請求項1または2に記載の通信装置において、前記認証手段は、前記秘密情報が前記記憶手段に記憶されていないか、または前記利用回数が所定の利用制限回数以下でない場合、前記高度認証手順を選択して認証を実行することを特徴とする。
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の通信装置において、前記利用回数が所定の利用制限回数以下でない場合、前記記憶手段から前記秘密情報を消去する消去手段を更に備えることを特徴とする。
請求項5に記載の発明は、請求項1乃至3の何れか一項に記載の通信装置において、前記秘密情報が前記記憶手段に記憶されてから所定時間が経過したか、または認証エラーが発生した場合、前記記憶手段から前記秘密情報を消去する消去手段を更に備えることを特徴とする。
請求項6に記載の発明は、請求項1乃至5の何れか一項に記載の通信装置において、前記高度認証手順では、署名生成と署名検証による認証、及び公開鍵暗号方式による鍵共有が実行されることを特徴とする。
請求項7に記載の発明は、請求項6に記載の通信装置において、前記簡易認証手順では、乱数と、前記秘密情報とを用いて認証が実行されることを特徴とする。
請求項8に記載の発明は、請求項1に記載の通信装置の通信相手となるデバイスに含まれるコンピュータに、前記高度認証手順において生成された秘密情報を記憶するステップと、前記通信装置からの乱数を含むコマンドを受信するステップと、前記利用回数が所定の利用制限回数以下である場合、前記受信されたコマンドに応じて、前記秘密情報と前記乱数とを用いて認証のための暗号化データを生成するステップと、前記暗号化データを含むレスポンスを前記通信装置へ送信するステップと、を実行させることを特徴とする。
請求項9に記載の発明は、請求項1に記載の通信装置の通信相手となるデバイスに含まれるコンピュータに、前記高度認証手順において生成された秘密情報を記憶するステップと、前記秘密情報の利用制限をかけるか否かを設定する設定ステップと、前記秘密情報の利用制限をかける設定がなされ、且つ、前記利用回数が所定の利用制限回数以下である場合、前記秘密情報と乱数とを用いて認証のための暗号化データを生成するステップと、前記暗号化データを含むレスポンスを前記通信装置へ送信するステップと、を実行させることを特徴とする。
請求項10に記載の発明は、通信相手との間で多くの計算量を要する高度認証手順と、前記高度認証手順において生成された秘密情報を用いて前記通信相手の間でより少ない計算量で済む簡易認証手順との何れかを選択可能な通信装置であって、前記秘密情報と当該秘密情報の利用回数を記憶するための記憶手段を備える前記通信装置により実行される通信方法において、前記通信相手との間で通信が行われるときに前記秘密情報が前記記憶手段に記憶されているか否かを判定するステップと、前記秘密情報が前記記憶手段に記憶されていると判定された場合、前記利用回数が所定の利用制限回数以下であるか否かを判定するステップと、前記利用回数が所定の利用制限回数以下であると判定された場合、前記簡易認証手順を選択して認証を実行するステップと、を含むことを特徴とする。
請求項11に記載の発明は、通信相手との間で多くの計算量を要する高度認証手順と、前記高度認証手順において生成された秘密情報を用いて前記通信相手の間でより少ない計算量で済む簡易認証手順との何れかを選択可能な通信装置であって、前記秘密情報と当該秘密情報の利用回数を記憶するための記憶手段を備える前記通信装置に含まれるコンピュータを、前記通信相手との間で通信が行われるときに前記秘密情報が前記記憶手段に記憶されており、且つ、前記利用回数が所定の利用制限回数以下である場合、前記簡易認証手順を選択して認証を実行する認証手段として機能させることを特徴とする。
本発明によれば、サイドチャネル攻撃などの脅威から秘密情報を守ることができる。また、本発明によれば、秘密情報を適切に制御し、サイドチャネル攻撃などの脅威から秘密情報を守り、かつ、利便性も保つことができる。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、例えば、住宅の玄関扉の解錠、宅配ロッカーの開閉扉の解錠、または車のドアの解錠などに利用される認証システムに対して本発明を適用した場合の実施の形態である。
[1.認証システムSの概要構成]
先ず、図1を参照して、本実施形態に係る認証システムSの概要構成について説明する。図1は、本実施形態に係る認証システムSの概要構成例を示す図である。図1に示すように、認証システムSは、デバイスD、ホスト(ホストコンピュータ)Hを含んで構成される。ここで、ホストHは、本発明の通信装置の一例であり、ホストHの通信相手がデバイスDである。ホストHとデバイスDとは、例えばNFC(Near field communication)技術を用いた非接触通信を行うことが可能になっている。また、ホストHとデバイスDとの通信には、Bluetooth(登録商標)、ZigBee、LoRa、UWB(Ultra Wide Band)を用いてもよい。
先ず、図1を参照して、本実施形態に係る認証システムSの概要構成について説明する。図1は、本実施形態に係る認証システムSの概要構成例を示す図である。図1に示すように、認証システムSは、デバイスD、ホスト(ホストコンピュータ)Hを含んで構成される。ここで、ホストHは、本発明の通信装置の一例であり、ホストHの通信相手がデバイスDである。ホストHとデバイスDとは、例えばNFC(Near field communication)技術を用いた非接触通信を行うことが可能になっている。また、ホストHとデバイスDとの通信には、Bluetooth(登録商標)、ZigBee、LoRa、UWB(Ultra Wide Band)を用いてもよい。
ホストHとデバイスDとは、多くの計算量を要する高度認証手順(以下、「高度認証手順」という)と、より少ない計算量で済む簡易認証手順(以下、「簡易認証手順」という)とが選択可能に実施されるようになっている。高度認証手順では、署名生成と署名検証による認証、及び公開鍵暗号方式による鍵共有が実行される。本実施形態では、一例として、高度認証手順では、ECDSA(Elliptic Curve Digital Signature Algorithm)による署名生成と署名検証による認証、及びECDH(Elliptic curve Diffie-Hellman key exchange)による鍵交換が実行されるものとする。
一方、簡易認証手順では、ECDHのプロトコルに従った演算(以下、「ECDH演算」という)は行われず、高度認証手順において生成され、ホストH及びデバイスDに記憶された秘密情報と乱数を用いて(換言すると、秘密情報に基づいて)共通鍵暗号方式での相互認証が実行される。ここで、ホストHがデバイスDを認証する片側認証であってもよい。また、秘密情報とは、例えば、ホストHとデバイスDとが高度認証手順を実施した場合に、ホストHとデバイスDとのみが共有することになった情報である。ECDHでは、秘密情報は共有秘密(Shared-secret)と呼ばれている。
ところで、秘密情報は、制限なく使い続けられると、サイドチャネル攻撃によって値が推測されるおそれがある。そのため、本実施形態では、秘密情報の利用回数がカウントされるようにし、カウントされた利用回数(つまり、カウント値)が所定の利用制限回数以下にある場合に、簡易認証手順が実施されるようになっている。すなわち、高度認証手順にて1回目の認証がなされた後、設定によって許可された利用制限回数の範囲で、簡易認証手順にて秘密情報を利用する高速な認証がなされる。かかる利用制限回数は、特に限定されないが、例えば5~10回程度に設定される。
一方で、ホテルの部屋のように利用者が頻繁に変わりつつ利便性を重要視する場合もあれば、住宅の玄関のように利用者はめったに変わることがないが利便性を求めながらも時折、鍵を交換することで長期の安心が得られる場合もある。そのため、本実施形態では、秘密情報の利用制限をかけるか否かを設定可能にすることで、利便性を保つようになっている。すなわち、秘密情報の利用制限をかけない設定がなされている場合、高度認証手順にて1回目の認証がなされた後、特に制限無く簡易認証手順にて秘密情報を利用する高速な認証がなされる。
なお、認証システムSが住宅の玄関扉や宅配ロッカーの開閉扉の解錠に利用される場合、ホストHは扉制御装置に適用される。或いは、認証システムSが車のドアの解錠に利用される場合、ホストHは車載コンピュータに適用される。一方、認証システムSが住宅の玄関扉、宅配ロッカーの開閉扉や車のドアの解錠に利用される場合、デバイスDはユーザにより携帯される携帯端末(例えば、スマートフォン)、ICカード、またはキーホルダーなどに適用される。
デバイスDは、図1に示すように、通信モジュール1、制御モジュール2、及びIC(Integrated Circuit)モジュール3等を備えて構成される。なお、制御モジュール2とICモジュール3とが一体化されてもよい。通信モジュール1は、例えばNFC技術を用いた非接触通信を行う非接触ICチップ(例えば、CLF(ContactLess Front-end))であり、非接触のフィールド内で、ホストHに備えられる非接触リーダ/ライダとの間で通信を行う。
制御モジュール2は、図示しないが、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、及びNVM(Nonvolatile Memory)等を備えて構成され、ROMまたはNVMに記憶されたプログラム(本発明のプログラムを含む)にしたがって各種処理を実行する。例えば、制御モジュール2は、ホストHとの間の簡易認証手順と高度認証手順とのそれぞれにおいて、ホストHからのコマンドに応じて鍵生成などの演算処理を実行し、その処理結果を示すレスポンスをホストHへ送信する。また、制御モジュール2は、秘密情報の利用回数をカウントするカウンタ機能、秘密情報の利用制限をかけるか否か(つまり、利用制限有無)を設定する制限設定機能、及び所定の条件下で秘密情報を消去する秘密情報消去機能を有する。
ここで、制限設定機能は、例えば、デバイスDの出荷前に製造者または管理者により使用される設定機器から送信された利用条件設定コマンドに応じて秘密情報の利用制限をかける設定(つまり、利用制限有の設定)を行うとともに利用制限回数を設定する。なお、カウンタ機能によりカウントされたカウント値、制限設定機能により設定された利用制限有無を示すフラグ及び利用制限回数は、例えば制御モジュール2のNVM、またはICモジュール3に記憶される。
ICモジュール3は、例えば高い耐タンパ性を有するセキュアエレメントである。ICモジュール3は、着脱可能な小型のICカードとしてデバイスDに搭載されてもよいし、eSIM(Subscriber Identity Module)としてデバイスDから容易に取り外しや取り換えができないように組み込み基板上に搭載されてもよい。ICモジュール3内のセキュアメモリには、デバイスDに固有の公開鍵と秘密鍵の鍵ペア、及び高度認証手順において生成された秘密情報などが記憶される。ここで、鍵ペアに含まれる公開鍵、及び当該公開鍵を特定するための鍵IDは、ホストHとの間で事前に共有される。さらに、セキュアメモリには、デバイスDに固有のデバイスIDが記憶される。デバイスDに固有のデバイスIDは、サーバ等により振分けられた固有値であってもよいし、デバイスDの公開鍵や秘密鍵がハッシュ化されて得られたハッシュ値であってもよい。
なお、セキュアメモリに記憶された秘密情報の利用回数が所定の利用制限回数を超える場合、秘密情報消去機能によりセキュアメモリから秘密情報が消去されるとよい。また、秘密情報がセキュアメモリに記憶されてから所定時間が経過したか、または認証エラーが発生した場合、秘密情報消去機能によりセキュアメモリから秘密情報が消去されてもよい。また、制御モジュール2またはICモジュール3にインストールされたファームウェアなどのプログラムの更新があった場合、秘密情報消去機能によりセキュアメモリから秘密情報が消去されてもよい。
ホストHは、図1に示すように、通信部11、記憶部12(記憶手段の一例)、及び制御部13等を備えて構成される。通信部11は、例えばNFC技術を用いた非接触通信を行う非接触リーダ/ライダであり、非接触のフィールド内で、デバイスDに備えられる非接触ICチップとの間で通信を行う。デバイスDが通信部11の非接触のフィールドに入ると、ホストHとデバイスDとの間で初期応答シーケンスが実施される。初期応答シーケンスにおいて、通信部11により、ホストHからリクエストコマンドがデバイスDへ送信され、デバイスDからレスポンスが受信されることで、当該デバイスDが識別され、活性状態に遷移される。その後、ホストHとデバイスDとの間で高度認証手順または簡易認証手順が実施される。なお、活性状態に遷移される前に、必要に応じて、ホストHとデバイスDとの間でパラメータが交換され通信速度などの通信条件が相互に確認されてもよい。
ところで、通信部11の非接触のフィールドに複数のデバイスDが入ると、リクエストコマンドに対して複数のデバイスDが同時にレスポンスを送信するので、通信部11は通信相手となるデバイスDを正しく認識できない状態(コリジョン)が発生する。これを防止する対策としてアンチコリジョンが実施されるが、例えばタイムスロット方式のアンチコリジョンでは、それぞれのデバイスDが乱数に応じたレスポンス時間帯に、アンチコリジョン用のIDを含むレスポンスを送信する。これにより、通信部11は、それぞれのデバイスDを認識することが可能となる。なお、ビットコリジョン方式のアンチコリジョンでもアンチコリジョン用のID(以下、「アンチコリジョン用ID」という)がデバイスDからホストHへ送信される。
記憶部12は、例えば不揮発性メモリ、HDD(Hard Disk Drive)、またはSSD(Solid State Drive)などにより構成され、オペレーティングシステム及びアプリケーション等の各種プログラム(本発明のプログラムを含む)が記憶される。また、記憶部12には、ホストHに固有の公開鍵と秘密鍵の鍵ペアなどが記憶される。ここで、鍵ペアに含まれる公開鍵、及び当該公開鍵を特定するための鍵IDは、デバイスDとの間で事前に共有される。さらに、記憶部12には、ホストHとの間で通信を行ったデバイスDに固有の識別情報と、高度認証手順において生成された秘密情報とが対応付けられて記憶される。ここで、デバイスDに固有の識別情報とは、アンチコリジョン用IDであってもよいし、デバイスDに固有のデバイスIDであってもよい。なお、デバイスDの公開鍵及び鍵IDは、デバイスDに固有の識別情報に対応付けられて管理されるとよい。
制御部13(コンピュータの一例)は、CPU、RAM、及びROM等により構成され、例えば記憶部12に記憶されたプログラムにしたがって、認証処理を行う認証処理部(認証手段の一例)、秘密情報の利用回数をカウントして保持するカウンタ、秘密情報の利用制限をかけるか否かを設定する制限設定部(設定手段の一例)、及び所定の条件下で秘密情報を消去する秘密情報消去部(消去手段の一例)として機能する。
具体的には、デバイスDとの間で非接触通信が行われるときに当該デバイスDに固有の識別情報に対応付けられて秘密情報が記憶部12に記憶されていないか、または当該秘密情報の利用回数が所定の利用制限回数以下でない(つまり、利用制限回数を超える)場合、制御部13は、高度認証手順を選択してECDSAによる署名生成と署名検証を含む認証処理、及びECDHによる鍵交換を行う。ここで、秘密情報の利用回数とは、カウンタによりカウントされたカウント値である。当該カウント値は、例えば記憶部12に記憶される。なお、ホストHとデバイスDとでは攻撃されやすさが異なるため、ホストHにおいて設定される利用制限回数は、デバイスDにおいて設定される利用制限回数と異なるように構成されてもよい。
一方、デバイスDとの間で非接触通信が行われるときに当該デバイスDに固有の識別情報に対応付けられて秘密情報が記憶されており、且つ、当該秘密情報の利用回数が所定の利用制限回数以下である場合、制御部13は、簡易認証手順を選択して当該識別情報に対応付けられた秘密情報と乱数を用いて共通鍵暗号による認証処理を実行する。すなわち、制御部13は、デバイスDとの間で1回目の通信が行われる場合に高度認証手順を選択して例えば相互認証を実行し、当該高度認証手順において生成された秘密情報を当該デバイスDに固有の識別情報に対応付けて記憶しておき、当該デバイスDとの間で2回目以降の通信が行われる場合に簡易認証手順を選択し当該デバイスDに固有の識別情報に対応付けられた秘密情報と乱数を用いて相互認証を実行する。簡易認証手順は制御部13が当該デバイスDのみを認証する片側認証としてもよい。
また、上述したように利便性を保つために、秘密情報の利用制限をかけるか否かが制限設定部により設定されるとよい。例えば、制限設定部は、ホストHの出荷前に製造者または管理者により使用される設定機器から送信された利用条件設定コマンドに応じて秘密情報の利用制限をかける設定(つまり、利用制限有の設定)を行うとともに利用制限回数を設定する。なお、制限設定部により設定された利用制限有無を示すフラグ及び利用制限回数は、例えば記憶部12に記憶される。秘密情報の利用制限をかける設定がされる場合、例えば当該フラグが“1”に設定される。一方、秘密情報の利用制限をかけない設定がされる場合、例えば当該フラグが“0”に設定される。
そして、デバイスDとの間で非接触通信が行われるときに秘密情報の利用制限をかける設定がなされており、且つ、当該秘密情報が記憶部12に記憶されており、且つ、当該秘密情報の利用回数が所定の利用制限回数以下である場合に限り、制御部13は、簡易認証手順を選択して当該識別情報に対応付けられた秘密情報と乱数を用いて認証(相互認証または片側認証)を含む認証処理を実行する。一方、当該秘密情報の利用制限をかける設定がなされていない場合において、デバイスDとの間で通信が行われるときに当該秘密情報が記憶部12に記憶されている場合、当該秘密情報の利用回数が所定の利用制限回数以下であるか否かに関わらず、制御部13は、簡易認証手順を選択して当該識別情報に対応付けられた秘密情報を用いて認証(相互認証または片側認証)を含む認証処理を実行する。
なお、記憶部12に記憶された秘密情報の利用回数が所定の利用制限回数を超える場合、秘密情報消去部により記憶部12から秘密情報が消去されるとよい。また、秘密情報が記憶部12に記憶されてから所定時間が経過したか、または認証エラーが発生した場合、秘密情報消去部により記憶部12から秘密情報が消去されてもよい。また、制御部13にインストールされたファームウェアなどのプログラムの更新があった場合、秘密情報消去部により記憶部12から秘密情報が消去されてもよい。
[2.認証システムSの動作]
次に、図2~図6を参照して、認証システムSの動作について説明する。図2は、ホストHにおける制御部13の認証手順選択処理の一例を示すフローチャートである。図3は、ホストHとデバイスDとの間で実施される高度認証手順の一例を示すシーケンス図である。図4は、ホストHとデバイスDとの間で実施される簡易認証手順1の一例を示すシーケンス図である。図5は、デバイスDにおける制御モジュール2の簡易認証手順実施判定処理の一例を示すフローチャートである。図6は、ホストHとデバイスDとの間で実施される簡易認証手順2の一例を示すシーケンス図である。
次に、図2~図6を参照して、認証システムSの動作について説明する。図2は、ホストHにおける制御部13の認証手順選択処理の一例を示すフローチャートである。図3は、ホストHとデバイスDとの間で実施される高度認証手順の一例を示すシーケンス図である。図4は、ホストHとデバイスDとの間で実施される簡易認証手順1の一例を示すシーケンス図である。図5は、デバイスDにおける制御モジュール2の簡易認証手順実施判定処理の一例を示すフローチャートである。図6は、ホストHとデバイスDとの間で実施される簡易認証手順2の一例を示すシーケンス図である。
図2に示す処理は、例えば利用者によりデバイスDが通信部11(非接触リーダ/ライダ)に翳されることで、デバイスDがホストHの通信部11の非接触のフィールドに入ることにより開始される。図3に示す処理が開始されると、ホストHの制御部13は、リクエストコマンドを、通信部11を介してデバイスDへ送信する(ステップS1)。
なお、複数のデバイスDが同時にアンチコリジョン用IDを応答する場合がある。この場合、ステップS1の処理では、1つだけのアンチコリジョン用IDが読み取れられるまで繰り返される。デバイスDの制御モジュール2は、ホストHからのリクエストコマンドを、通信モジュール1を介して受信すると、当該リクエストコマンドに応じて、アンチコリジョン用IDを含むレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS2)。
次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、通信部11を介して、アンチコリジョン用IDが含まれるデバイス選択(コマンド)をデバイスDへ送信する(ステップS3)。なお、ホストHの制御部13は、ステップS2で複数のデバイスDから送信されたレスポンスを受信すると、コリジョンによりアンチコリジョン用IDの0/1のビットを読み取れないタイミングが発生する場合がある。この場合、ステップS3において、ホストHの制御部13は、読み取れたビット列からなる識別子が含まれるデバイス選択を全てのデバイスDに送信する。そして、それぞれのデバイスDの制御モジュール2は、自身のアンチコリジョン用IDがデバイス選択に含まれる識別子と一致している場合、改めて、アンチコリジョン用IDを含むレスポンスをホストHへ送信する(一致しなければ応答しない)。これが繰り返されることで、デバイス選択に含まれる識別子が自身のアンチコリジョン用IDと一致するデバイスDだけが応答し続けることになる。これにより、複数のデバイスDから1つのデバイスDが選択される。
次いで、デバイスDの制御モジュール2は、ホストHからのデバイス選択を、通信モジュール1を介して受信すると、当該デバイス選択に応じて、通信条件を含むレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS4)。次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、通信部11を介してSELECTコマンド(Application IDを含む)を、通信部11を介してデバイスDへ送信する(ステップS5)。
次いで、デバイスDの制御モジュール2は、ホストHからのSELECTコマンドを、通信モジュール1を介して受信すると、当該SELECTコマンドに応じてアプリケーションを選択し、当該SELECTコマンドに対するレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS6)。かかるレスポンスには、例えば、SW(Status Word)“9000”及びTLV形式のFCI(File Control Information)が含まれている。
次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、通信部11を介して読み出しコマンドをデバイスDへ送信する(ステップS7)。次いで、デバイスDの制御モジュール2は、ホストHからの読み出しコマンドを、通信モジュール1を介して受信すると、当該読み出しコマンドに応じて、ICモジュール3からデバイスID(デバイスDに固有の識別情報の一例)を読み出し、当該デバイスIDを含むレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS8)。
なお、デバイスDの制御モジュール2は、ステップS5でホストHから送信されたSELECTコマンドに応じてICモジュール3からデバイスIDを読み出し、ステップS6で当該デバイスIDを含むレスポンスをホストHへ送信してもよい。この場合、ステップS7及びステップS8の処理は不要になる。また、デバイスDに固有の識別情報としてアンチコリジョン用IDが用いられる場合もステップS7及びステップS8の処理は不要になる。
次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、デバイスIDまたはアンチコリジョン用IDを、デバイスDに固有の識別情報として取得する(ステップS9)。
次いで、ホストHの制御部13は、ステップS9で取得された識別情報に対応付けられて秘密情報が記憶部12に記憶されているか否かを判定する(ステップS10)。そして、ホストHの制御部13は、秘密情報が記憶されていないと判定した場合(ステップS10:NO)、高度認証手順を選択し、当該高度認証手順を開始する(ステップS11)。一方、ホストHの制御部13は、秘密情報が記憶されていると判定した場合(ステップS10:YES)、当該秘密情報を記憶部12から取得する(ステップS12)。
次いで、ホストHの制御部13は、秘密情報の利用制限をかける設定がなされているか(つまり、利用制限があるか)否かを判定する(ステップS13)。そして、ホストHの制御部13は、秘密情報の利用制限をかける設定がなされていない(例えば、利用制限有無を示すフラグ=“0”)と判定した場合(ステップS13:NO)、簡易認証手順を選択し、ステップS12で取得された秘密情報が用いられる当該簡易認証手順を開始する(ステップS17)。
一方、ホストHの制御部13は、秘密情報の利用制限をかける設定がなされている(例えば、利用制限有無を示すフラグ=“1”)と判定した場合(ステップS13:YES)、当該秘密情報の利用回数を1増加させる(ステップS14)。例えば、カウンタによりカウント値が1増加される。次いで、ホストHの制御部13は、秘密情報の利用回数が所定の利用制限回数以下(例えば、カウント値≦利用制限回数)であるか否かを判定する(ステップS15)。
なお、別の例として、カウンタに利用制限回数を設定し、秘密情報が利用される度に、ステップS14でカウンタの値が1ずつ減少するように構成してもよい。この場合のステップS15において、カウンタの値が“0”より大きい場合、秘密情報の利用回数が当該利用制限回数以下であると判定される。
そして、ホストHの制御部13は、秘密情報の利用回数が所定の利用制限回数以下でないと判定した場合(ステップS15:NO)、記憶部12から秘密情報を消去する(ステップS16)。次いで、ホストHの制御部13は、高度認証手順を選択し、当該高度認証手順を開始する(ステップS11)。
一方、ホストHの制御部13は、秘密情報の利用回数が所定の利用制限回数以下であると判定した場合(ステップS15:YES)、簡易認証手順を選択し、ステップS12で取得された秘密情報が用いられる当該簡易認証手順を開始する(ステップS17)。
(2.1 高度認証手順)
高度認証手順では、図3に示すように、ホストHの制御部13は、乱数Hを生成する(ステップS21)。次いで、ホストHの制御部13は、通信部11を介して認証開始コマンドをデバイスDへ送信する(ステップS22)。かかる認証開始コマンドには、ホストHに固有のホストID、ステップS21で生成された乱数H、及び高度認証手順用であることを示す情報が含まれる。
高度認証手順では、図3に示すように、ホストHの制御部13は、乱数Hを生成する(ステップS21)。次いで、ホストHの制御部13は、通信部11を介して認証開始コマンドをデバイスDへ送信する(ステップS22)。かかる認証開始コマンドには、ホストHに固有のホストID、ステップS21で生成された乱数H、及び高度認証手順用であることを示す情報が含まれる。
次いで、デバイスDの制御モジュール2は、ホストHからの認証開始コマンドを、通信モジュール1を介して受信し、高度認証手順用の認証開始コマンドであると判断すると、当該認証開始コマンドからホストID及び乱数Hを取得し、さらに、乱数Dを生成する(ステップS23)。次いで、デバイスDの制御モジュール2は、乱数Hと乱数DとにデバイスDの秘密鍵にて署名する(ステップS24)。つまり、ECDSAにより署名Dが生成(署名生成)される。次いで、デバイスDの制御モジュール2は、認証開始コマンドに対するレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS25)。かかるレスポンスには、署名D及び乱数Dが含まれる。
次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、当該レスポンスから署名D及び乱数Dを取得し、デバイスDの公開鍵にて署名Dを検証する(ステップS26)。つまり、ECDSAにより署名Dが検証(署名検証)される。そして、署名Dの検証が成功(認証成功)すると、ホストHの制御部13は、乱数Dと乱数HとにホストHの秘密鍵にて署名する(ステップS27)。つまり、ECDSAにより署名Hが生成される。次いで、ホストHの制御部13は、通信部11を介して認証完了コマンドをデバイスDへ送信する(ステップS28)。かかる認証完了コマンドには、署名Hが含まれる。
次いで、デバイスDの制御モジュール2は、ホストHからの認証完了コマンドを、通信モジュール1を介して受信すると、当該認証完了コマンドから署名Hを取得し、ホストHの公開鍵にて署名Hを検証する(ステップS29)。つまり、ECDSAにより署名Hが検証される。そして、署名Hの検証が成功(認証成功)すると、相互認証が完了し、デバイスDの制御モジュール2は、認証完了コマンドに対するレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS30)。
次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、ホストHに固有の一時公開鍵Hと一時秘密鍵Hの一時鍵ペアを生成する(ステップS31)。ここで、一時公開鍵Hは、一時的な公開鍵であり、事前に共有されて管理されている公開鍵と区別される。同様に、一時秘密鍵Hは、一時的な秘密鍵であり、事前に共有されて管理されている秘密鍵と区別される。一時公開鍵Hは、先に生成された一時秘密鍵H(例えばランダムな数値)とECDHのプロトコルに従った楕円曲線上の点に基づくECDH演算により生成される。ECDH演算では、例えば、楕円曲線上の点pのk倍点kpを計算するスカラー倍算を行うことで一時秘密鍵Hから一時公開鍵Hが生成される。楕円曲線のパラメータは、ホストHとデバイスDとの間で既知である。次いで、ホストHの制御部13は、通信部11を介して鍵共有コマンドをデバイスDへ送信する(ステップS32)。かかる鍵共有コマンドには、一時公開鍵Hが含まれる。
次いで、デバイスDの制御モジュール2は、ホストHからの鍵共有コマンドを、通信モジュール1を介して受信すると、当該鍵共有コマンドから一時公開鍵Hを取得し、さらに、ホストHと同様、ECDH演算により、デバイスDに固有の一時公開鍵Dと一時秘密鍵Dの一時鍵ペアを生成する(ステップS33)。一時公開鍵Dは、先に生成された一時秘密鍵D(例えばランダムな数値)とECDHのプロトコルに従った楕円曲線上の点に基づくECDH演算により生成される。次いで、デバイスDの制御モジュール2は、ECDH演算により、一時公開鍵Hと一時公開鍵Dから共有秘密(秘密情報の一例)を生成する(ステップS34)。
次いで、デバイスDの制御モジュール2は、ホストIDと、ステップS34で生成された共有秘密を不揮発性メモリに記録する(ステップS35)。次いで、デバイスDの制御モジュール2は、乱数H、乱数D、及びステップS34で生成された共有秘密から、ホストHとデバイスDと間のセキュアセッションに用いられるセッション鍵を生成する(ステップS36)。次いで、デバイスDの制御モジュール2は、鍵交換コマンドに対するレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS37)。かかるレスポンスには、一時公開鍵Dが含まれる。
次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、当該レスポンスから一時公開鍵Dを取得し、ECDH演算により、一時公開鍵Hと一時公開鍵Dから共有秘密を生成する(ステップS38)。ここで生成される共有秘密は、ステップS34で生成された共有秘密と同じ生成方法で生成されるため、両者は一致する。次いで、ホストHの制御部13は、デバイスIDと、ステップS38で生成された共有秘密とを対応付けてメモリ(例えば、RAM、または不揮発性メモリ)に記録する(ステップS39)。例えば、デバイスID(識別情報の一例)と共有秘密(秘密情報の一例)とが対応付けられてテーブルに登録される。次いで、ホストHの制御部13は、乱数H、乱数D、及びステップS38で生成された共有秘密からセッション鍵を生成する(ステップS40)。ここで生成されるセッション鍵は、ステップS36で生成されたセッション鍵と同じ生成方法で生成されるため、両者は一致する。
次いで、ホストHの制御部13は、ステップS40で生成されたセッション鍵を用いてデバイスDとの間でセキュアセッションを開始する。こうして、セキュアセッションが開始されると、例えば、当該セッション鍵が利用された暗号路を通じて、ホストHとデバイスDとの間で読み出しコマンド及びそのレスポンスの送受信が行われる。これにより、データ交換などが実施される。
(2.2 簡易認証手順1)
簡易認証手順1では、図4に示すように、ホストHの制御部13は、乱数Hを生成する(ステップS51)。次いで、ホストHの制御部13は、通信部11を介して認証開始コマンドをデバイスDへ送信する(ステップS52)。かかる認証開始コマンドには、ホストHに固有のホストID、ステップS51で生成された乱数H、及び簡易認証手順1用であることを示す情報が含まれる。
簡易認証手順1では、図4に示すように、ホストHの制御部13は、乱数Hを生成する(ステップS51)。次いで、ホストHの制御部13は、通信部11を介して認証開始コマンドをデバイスDへ送信する(ステップS52)。かかる認証開始コマンドには、ホストHに固有のホストID、ステップS51で生成された乱数H、及び簡易認証手順1用であることを示す情報が含まれる。
次いで、デバイスDの制御モジュール2は、ホストHからの認証開始コマンドを、通信モジュール1を介して受信し、簡易認証手順1用の認証開始コマンドであると判断すると、簡易認証手順実施判定に係る処理(簡易認証手順実施判定処理)を実行し(ステップS53)、当該判定結果が実施可であればステップS54へ移行し、当該判定結果が実施否であれば、エラー処理が実行される。かかるエラー処理では、例えば、デバイスDの制御モジュール2は、認証エラーを示すレスポンスをホストHへ送信し、秘密情報消去機能によりセキュアメモリから秘密情報を消去する。これにより、ホストHは、例えば、高度認証手順用の認証開始コマンドをデバイスDへ送信する。
ここで、図5を参照して、簡易認証手順実施判定処理の詳細を説明する。簡易認証手順実施判定処理では、図5に示すように、デバイスDの制御モジュール2は、秘密情報の利用制限をかける設定がなされているか(つまり、利用制限があるか)否かを判定する(ステップS531)。そして、デバイスDの制御モジュール2は、秘密情報の利用制限をかける設定がなされていないと判定した場合(ステップS531:NO)、実施可をセットし、図4に示す処理へ戻る。一方、デバイスDの制御モジュール2は、秘密情報の利用制限をかける設定がなされていると判定した場合(ステップS531:YES)、当該秘密情報の利用回数を1増加させる(ステップS532)。例えば、カウンタ機能によりカウント値が1増加される。
次いで、デバイスDの制御モジュール2は、秘密情報の利用回数が所定の利用制限回数以下(例えば、カウント値≦利用制限回数)であるか否かを判定する(ステップS533)。なお、別の例として、カウンタに利用制限回数を設定し、秘密情報が利用される度に、ステップS532でカウンタの値が1ずつ減少するように構成してもよい。この場合のステップS533において、カウンタの値が“0”より大きい場合、秘密情報の利用回数が当該利用制限回数以下であると判定される。
そして、デバイスDの制御モジュール2は、秘密情報の利用回数が所定の利用制限回数以下でないと判定した場合(ステップS533:NO)、実施否をセットし、図4に示す処理へ戻る。一方、デバイスDの制御モジュール2は、秘密情報の利用回数が所定の利用制限回数以下であると判定した場合(ステップS533:YES)、実施可をセットし、図4に示す処理へ戻る。
図4に示す処理に戻り、ステップS54では、デバイスDの制御モジュール2は、上記認証開始コマンドからホストID及び乱数Hを取得し、さらに、乱数Dを生成する。次いで、デバイスDの制御モジュール2は、ホストHのホストIDに対応付けられて記録された共有秘密を取得し、AES(Advanced Encryption Standard)演算により、乱数H、乱数D、及び当該共有秘密からセッション鍵を生成する(ステップS55)。次いで、デバイスDの制御モジュール2は、当該セッション鍵にて、乱数D、乱数H、及び予め申し合わせておいた特定の値を暗号化することにより認証コードD(暗号化データの一例)を生成する(ステップS56)。次いで、デバイスDの制御モジュール2は、認証開始コマンドに対するレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS57)。かかるレスポンスには、認証コードD及び乱数Dが含まれる。
次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、当該レスポンスから認証コードD及び乱数Dを取得し、さらに、デバイスDのデバイスIDに対応付けられて記録された共有秘密を取得し、AES演算により、乱数H、乱数D、及び当該共有秘密からセッション鍵を生成する(ステップS58)。次いで、ホストHの制御部13は、当該セッション鍵にて認証コードDを検証する(ステップS59)。かかる検証では、制御部13は、AES演算により、当該セッション鍵にて認証コードDを復号し、復号された認証コードDと、「乱数D(つまり、上記レスポンスから取得された乱数D)、乱数H、及び予め申し合わせておいた特定の値」とが一致するか否かが判断される。そして、認証コードDの検証が成功(認証成功)すると、ホストHの制御部13は、AES演算により、当該セッション鍵にて、乱数D、乱数H、及び予め申し合わせておいた特定の値を暗号化することにより認証コードHを生成する(ステップS60)。次いで、ホストHの制御部13は、通信部11を介して認証完了コマンドをデバイスDへ送信する(ステップS61)。かかる認証完了コマンドには、認証コードHが含まれる。
次いで、デバイスDの制御モジュール2は、ホストHからの認証完了コマンドを、通信モジュール1を介して受信すると、当該認証完了コマンドから認証コードHを取得し、セッション鍵にて認証コードHを検証する(ステップS62)。かかる検証では、制御部13は、AES演算により、当該セッション鍵にて認証コードHを復号し、復号された認証コードHと、「乱数D、乱数H、及び予め申し合わせておいた特定の値」とが一致するか否かが判断される。そして、認証コードHの検証が成功(認証成功)すると、相互認証が完了し、デバイスDの制御モジュール2は、認証完了コマンドに対するレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS63)。
次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、ステップS58で生成されたセッション鍵を用いてデバイスDとの間でセキュアセッションを開始する。
(2.3 簡易認証手順2)
簡易認証手順2では、図6に示すように、ホストHの制御部13は、乱数Hを生成する(ステップS71)。次いで、ホストHの制御部13は、通信部11を介して認証開始コマンドをデバイスDへ送信する(ステップS72)。かかる認証開始コマンドには、ホストHに固有のホストID、ステップS71で生成された乱数H、及び簡易認証手順2用であることを示す情報が含まれる。
簡易認証手順2では、図6に示すように、ホストHの制御部13は、乱数Hを生成する(ステップS71)。次いで、ホストHの制御部13は、通信部11を介して認証開始コマンドをデバイスDへ送信する(ステップS72)。かかる認証開始コマンドには、ホストHに固有のホストID、ステップS71で生成された乱数H、及び簡易認証手順2用であることを示す情報が含まれる。
次いで、デバイスDの制御モジュール2は、ホストHからの認証開始コマンドを、通信モジュール1を介して受信し、簡易認証手順2用の認証開始コマンドであると判断すると、簡易認証手順1と同様、簡易認証手順実施判定に係る処理(例えば、図5に示す簡易認証手順実施判定処理)を実行し(ステップS73)、当該判定結果が実施可であればステップS74へ移行し、当該判定結果が実施否であれば、エラー処理が実行される。
次いで、デバイスDの制御モジュール2は、上記認証開始コマンドからホストID及び乱数Hを取得し、さらに、乱数Dを生成する(ステップS74)。次いで、デバイスDの制御モジュール2は、ホストHのホストIDに対応付けられて記録された共有秘密を取得し、AES演算により、乱数H、乱数D、及び当該共有秘密からセッション鍵を生成する(ステップS75)。次いで、デバイスDの制御モジュール2は、当該セッション鍵にて、乱数D、乱数H、及び予め申し合わせておいた特定の値を暗号化することにより認証コードDを生成する(ステップS76)。次いで、デバイスDの制御モジュール2は、認証開始コマンドに対するレスポンスを、通信モジュール1を介してホストHへ送信する(ステップS77)。かかるレスポンスには、認証コードD及び乱数Dが含まれる。
次いで、ホストHの制御部13は、デバイスDからのレスポンスを、通信部11を介して受信すると、当該レスポンスから認証コードD及び乱数Dを取得し、さらに、デバイスDのデバイスIDに対応付けられて記録された共有秘密を取得し、AES演算により、乱数H、乱数D、及び当該共有秘密からセッション鍵を生成する(ステップS78)。次いで、ホストHの制御部13は、当該セッション鍵にて認証コードDを検証する(ステップS79)。そして、認証コードDの検証が成功(認証成功)すると(つまり、片側認証が完了すると)、ホストHの制御部13は、ステップS78で生成されたセッション鍵を用いてデバイスDとの間でセキュアセッションを開始する。
以上説明したように、上記実施形態によれば、ホストHは、デバイスDとの間で非接触通信が行われるときに秘密情報が記憶されていないかまたは秘密情報の利用回数が所定の利用制限回数以下でない場合、高度認証手順を選択して相互認証を実行する一方、秘密情報が記憶されており、且つ、当該秘密情報の利用回数が所定の利用制限回数以下である場合、簡易認証手順を選択して当該秘密情報を用いて認証を実行するように構成したので、サイドチャネル攻撃などの脅威から秘密情報を守ることができる。さらに、ホストHは、デバイスDとの間で非接触通信が行われるときに秘密情報の利用制限をかける設定がなされており、且つ、当該秘密情報が記憶されており、且つ、当該秘密情報の利用回数が所定の利用制限回数以下である場合に限り、簡易認証手順を選択して当該秘密情報を用いて認証を実行するように構成したので、秘密情報を適切に制御し、サイドチャネル攻撃などの脅威から秘密情報を守り、かつ、利便性も保つことができる。
なお、上記実施掲載形態では、高度認証手順と、簡易認証手順との2種類の認証処理が存在する認証方式を例にとって説明したが、本発明は、3種類以上の認証処理が存在する認証方式に対しても適用することができる。また、上記実施形態においては、ホストHとデバイスDとの間で非接触通信が行われる場合を例にとって説明したが、本発明は、ホストHとデバイスDとの間で接触通信が行われる場合においても適用可能である。また、上記実施形態において、図2~図6は、ホストHの制御部13及びデバイスDの制御モジュール2の処理について示したが、デバイスDの制御モジュール2の処理はICモジュール3により実行されてもよい。
1 通信モジュール
2 制御モジュール
3 ICモジュール
11 通信部
12 記憶部
13 制御部
D デバイス
H ホスト
S 認証システム
2 制御モジュール
3 ICモジュール
11 通信部
12 記憶部
13 制御部
D デバイス
H ホスト
S 認証システム
Claims (11)
- 通信相手との間で多くの計算量を要する高度認証手順と、前記高度認証手順において生成された秘密情報を用いて前記通信相手の間でより少ない計算量で済む簡易認証手順との何れかを選択可能な通信装置であって、
前記秘密情報と当該秘密情報の利用回数を記憶するための記憶手段と、
前記通信相手との間で通信が行われるときに前記秘密情報が前記記憶手段に記憶されており、且つ、前記利用回数が所定の利用制限回数以下である場合、前記簡易認証手順を選択して認証を実行する認証手段と、
を備えることを特徴とする通信装置。 - 前記秘密情報の利用制限をかけるか否かを設定する設定手段を更に備え、
前記認証手段は、前記通信相手との間で通信が行われるときに前記秘密情報の利用制限をかける設定がなされており、且つ、前記秘密情報が前記記憶手段に記憶されており、且つ、前記利用回数が所定の利用制限回数以下である場合に限り、前記簡易認証手順を選択して認証を実行することを特徴とする請求項1に記載の通信装置。 - 前記認証手段は、前記秘密情報が前記記憶手段に記憶されていないか、または前記利用回数が所定の利用制限回数以下でない場合、前記高度認証手順を選択して認証を実行することを特徴とする請求項1または2に記載の通信装置。
- 前記利用回数が所定の利用制限回数以下でない場合、前記記憶手段から前記秘密情報を消去する消去手段を更に備えることを特徴とする請求項1乃至3の何れか一項に記載の通信装置。
- 前記秘密情報が前記記憶手段に記憶されてから所定時間が経過したか、または認証エラーが発生した場合、前記記憶手段から前記秘密情報を消去する消去手段を更に備えることを特徴とする請求項1乃至3の何れか一項に記載の通信装置。
- 前記高度認証手順では、署名生成と署名検証による認証、及び公開鍵暗号方式による鍵共有が実行されることを特徴とする請求項1乃至5の何れか一項に記載の通信装置。
- 前記簡易認証手順では、乱数と、前記秘密情報とを用いて認証が実行されることを特徴とする請求項6に記載の通信装置。
- 請求項1に記載の通信装置の通信相手となるデバイスに含まれるコンピュータに、
前記高度認証手順において生成された秘密情報を記憶するステップと、
前記通信装置からの乱数を含むコマンドを受信するステップと、
前記利用回数が所定の利用制限回数以下である場合、前記受信されたコマンドに応じて、前記秘密情報と乱数とを用いて認証のための暗号化データを生成するステップと、
前記暗号化データを含むレスポンスを前記通信装置へ送信するステップと、
を実行させることを特徴とするプログラム。 - 請求項1に記載の通信装置の通信相手となるデバイスに含まれるコンピュータに、
前記高度認証手順において生成された秘密情報を記憶するステップと、
前記秘密情報の利用制限をかけるか否かを設定する設定ステップと、
前記秘密情報の利用制限をかける設定がなされ、且つ、前記利用回数が所定の利用制限回数以下である場合、前記秘密情報と乱数とを用いて認証のための暗号化データを生成するステップと、
前記暗号化データを含むレスポンスを前記通信装置へ送信するステップと、
を実行させることを特徴とするプログラム。 - 通信相手との間で多くの計算量を要する高度認証手順と、前記高度認証手順において生成された秘密情報を用いて前記通信相手の間でより少ない計算量で済む簡易認証手順との何れかを選択可能な通信装置であって、前記秘密情報と当該秘密情報の利用回数を記憶するための記憶手段を備える前記通信装置により実行される通信方法において、
前記通信相手との間で通信が行われるときに前記秘密情報が前記記憶手段に記憶されているか否かを判定するステップと、
前記秘密情報が前記記憶手段に記憶されていると判定された場合、前記利用回数が所定の利用制限回数以下であるか否かを判定するステップと、
前記利用回数が所定の利用制限回数以下であると判定された場合、前記簡易認証手順を選択して認証を実行するステップと、
を含むことを特徴とする通信方法。 - 通信相手との間で多くの計算量を要する高度認証手順と、前記高度認証手順において生成された秘密情報を用いて前記通信相手の間でより少ない計算量で済む簡易認証手順との何れかを選択可能な通信装置であって、前記秘密情報と当該秘密情報の利用回数を記憶するための記憶手段を備える前記通信装置に含まれるコンピュータを、
前記通信相手との間で通信が行われるときに前記秘密情報が前記記憶手段に記憶されており、且つ、前記利用回数が所定の利用制限回数以下である場合、前記簡易認証手順を選択して認証を実行する認証手段として機能させることを特徴とするプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020192421 | 2020-11-19 | ||
JP2020192421 | 2020-11-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022081443A true JP2022081443A (ja) | 2022-05-31 |
Family
ID=81799599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021185760A Pending JP2022081443A (ja) | 2020-11-19 | 2021-11-15 | 通信装置、通信方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022081443A (ja) |
-
2021
- 2021-11-15 JP JP2021185760A patent/JP2022081443A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10609014B2 (en) | Un-password: risk aware end-to-end multi-factor authentication via dynamic pairing | |
US8295484B2 (en) | System and method for securing data from a remote input device | |
CN111884806B (zh) | 用于认证用户或确保交互安全的系统和硬件认证令牌 | |
US9338163B2 (en) | Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method | |
US7178025B2 (en) | Access system utilizing multiple factor identification and authentication | |
RU2399087C2 (ru) | Безопасное хранение данных с защитой целостности | |
EP2456121B1 (en) | Challenge response based enrollment of physical unclonable functions | |
US8724819B2 (en) | Credential provisioning | |
US20140365781A1 (en) | Receiving a Delegated Token, Issuing a Delegated Token, Authenticating a Delegated User, and Issuing a User-Specific Token for a Resource | |
EP1801721A1 (en) | Computer implemented method for securely acquiring a binding key for a token device and a secured memory device and system for securely binding a token device and a secured memory device | |
JP2000357156A (ja) | 認証シード配布のためのシステムおよび方法 | |
EP2339777A2 (en) | Method of authenticating a user to use a system | |
US10320774B2 (en) | Method and system for issuing and using derived credentials | |
JP2019506789A (ja) | パスコード検証のためのフォワードセキュア型暗号技術を使用した方法、システム、及び装置。 | |
JP2018035515A (ja) | 電子錠システム | |
CN108768941B (zh) | 一种远程解锁安全设备的方法及装置 | |
US9076002B2 (en) | Stored authorization status for cryptographic operations | |
US20240129139A1 (en) | User authentication using two independent security elements | |
JP2022081443A (ja) | 通信装置、通信方法、及びプログラム | |
JP2022077529A (ja) | 通信装置、通信方法、及びプログラム | |
Hatakeyama et al. | Key Management Based on Ownership of Multiple Authenticators in Public Key Authentication | |
JP2022081456A (ja) | 通信装置、通信方法、及びプログラム | |
KR20150090557A (ko) | 인증서 제어시스템 및 그 방법 | |
Atzeni et al. | Authentication | |
TW201812635A (zh) | 無線感測網路的匿名認證方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240925 |