(57)【要約】【課題】従来よりも少ない計算量で認証を行うことができる認証技術を提供する。【解決手段】認証システムは、iをi=1,2,…,Nの何れかの整数として、所定の秘密鍵Ki、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Ci'を生成するメッセージ認証符号生成部を含み、メッセージ認証符号Ci'をサーバに送信する移動機器と、所定の秘密鍵Kj、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Cjを生成する処理をj=1,2,…,Nのそれぞれについて行うメッセージ認証符号生成部と、受信したメッセージ認証符号Ci'と一致するメッセージ認証符号Cjがある場合には、移動機器の認証は成功したとする認証部と、を含むサーバと、を備えている。【選択図】図１
2018117388.tif 000002
【特許請求の範囲】
【請求項１】
iをi=1,2,…,Nの何れかの整数として、所定の秘密鍵Ki、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Ci'を生成するメッセージ認証符号生成部を含み、上記メッセージ認証符号Ci'をサーバに送信する移動機器と、
所定の秘密鍵Kj、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Cjを生成する処理をj=1,2,…,Nのそれぞれについて行うメッセージ認証符号生成部と、受信した上記メッセージ認証符号Ci'と一致するメッセージ認証符号Cjがある場合には、上記移動機器の認証は成功したとする認証部と、を含むサーバと、
を含む認証システム。
【請求項２】
請求項１の認証システムの移動機器。
【請求項３】
請求項１の認証システムのサーバ。
【請求項４】
移動機器のメッセージ認証符号生成部が、iをi=1,2,…,Nの何れかの整数として、所定の秘密鍵Ki、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Ci'を生成するメッセージ認証符号生成ステップと、
上記移動機器が、上記メッセージ認証符号Ci'をサーバに送信する送信ステップと、
上記サーバのメッセージ認証符号生成部が、所定の秘密鍵Kj、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Cjを生成する処理をj=1,2,…,Nのそれぞれについて行うメッセージ認証符号生成ステップと、
上記サーバの認証部が、受信した上記メッセージ認証符号Ci'と一致するメッセージ認証符号Cjがある場合には、上記移動機器の認証は成功したとする認証ステップと、
を含む認証方法。
【請求項５】
請求項２の移動機器又は請求項３のサーバの各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報セキュリティ技術に関するものである。特に、暗号技術を利用した移動機器から出力される情報から洩れ得る利用者のプライバシーを保護する技術に関するものである。
【背景技術】
【０００２】
IoT(Internet of Things)時代の到来により、RFID(Radio Frequency IDentifier)タグなど通信を行なう移動機器の利用が進んでいる。このような移動機器の中には機器固有の情報が随時発信されるものがあり、その通信を傍受すると、機器の移動経路が特定されることがある。そのような機器を保持し、行動していると行動履歴が明らかになり深刻なプライバシー被害を起こす可能性がある。
【０００３】
このような問題に対し、特許文献１から４では、RFIDに対し、送信IDを毎回暗号学的に安全な乱数と区別できない値に変更する方式を発明し、送信情報のひもづけが出来ない様にしている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−３８８１６号公報
【特許文献２】特開２００６−２０３７４３号公報
【特許文献３】特開２００５−１１７４６０号公報
【特許文献４】国際公開第２００５／０３１５７９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術の方法を実現するためには、送信側である移動機器と受信側であるサーバでは秘密情報を共有しておく必要がある。この秘密情報を移動端末全てに対し同じ値とすると、漏洩した場合にシステム全体に問題が生じることになる。一方、全ての移動端末に対し、異なる秘密情報を割り当てると、サーバ側でどの端末からの情報かを識別するためには、可能性のある全ての秘密情報を試す必要があり、効率が悪いという問題がある。
【０００６】
実際、移動端末の機器数をNとすると、サーバ側では、データを受信するたびにO(N)回の計算を行なう必要があり、移動端末が同じような頻度でデータを行なうような場合は、一定時間毎にO(N2)回の計算量が必要となる。この問題に対し、公開鍵暗号を利用し、サーバ側に秘密鍵、移動端末側に公開鍵を格納すれば、移動端末毎に異なる秘密情報があったとしても、サーバ側で受信したデータを復号することにより、O(1)回で計算できる。
【０００７】
しかしながら、公開鍵暗号は従来技術で用いていた共通鍵暗号ベースの方式より1000倍以上の計算量を要し、非力なIoT機器などではデータの送信間隔が制限されたり、電池のもちが悪くなったりするおそれがある。
【０００８】
この発明は、従来よりも少ない計算量で認証を行うことができる認証システム、方法及びプログラム、移動機器並びにサーバを提供することである。
【課題を解決するための手段】
【０００９】
この発明の一態様による認証システムは、iをi=1,2,…,Nの何れかの整数として、所定の秘密鍵Ki、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Ci'を生成するメッセージ認証符号生成部を含み、メッセージ認証符号Ci'をサーバに送信する移動機器と、所定の秘密鍵Kj、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Cjを生成する処理をj=1,2,…,Nのそれぞれについて行うメッセージ認証符号生成部と、受信したメッセージ認証符号Ci'と一致するメッセージ認証符号Cjがある場合には、移動機器の認証は成功したとする認証部と、を含むサーバと、を備えている。
【発明の効果】
【００１０】
従来よりも少ない計算量で認証を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】認証システムの例を説明するためのブロック図。
【図２】認証方法（移動機器の処理）の例を説明するための流れ図。
【図３】認証方法（サーバの処理）の例を説明するための流れ図。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、この発明の一実施形態について説明する。
【００１３】
共通鍵暗号技術の一つであるメッセージ認証符号(MAC;Message Authentica-tion Code)が利用される。移動端末毎に異なるMAC用の秘密鍵を割り当て、毎回変えなければならないMACの対象は、通信しなくても移動端末とサーバで共有できる情報、例えば時刻情報、カウンタの値などとする。これにより、サーバがMAC値を効率的にO(N)回のハッシュ計算で検索でき、プライバシーの問題とサーバ側での照合の問題を解決する。
【００１４】
システム全体で利用する暗号学的に安全なMACについて、認証対象のデータをD、秘密鍵をKとしたとき、
C←GK(D)
で計算されるものとする。符号Cは、GKはKを利用した所定のメッセージ認証符号生成関数である。
【００１５】
認証システムは、移動機器１ｉ(i=1,2,…,N)及びサーバ２を例えば備えている。移動機器１ｉは、メッセージ認証符号生成部１１を例えば備えている。サーバ２は、メッセージ認証符号生成部２１及び認証部２２を例えば備えている。
【００１６】
移動機器１ｉは、後述する暗号化部２２を更に備えていてもよい。この場合、サーバ２は、後述する復号部を更に備えていてもよい。
【００１７】
認証方法は、認証システムの各部が、図２及び図３並びに以下に説明するステップＳ１１からステップＳ２２の処理を行うことにより実現される。
【００１８】
事前準備として、まず、移動機器１ｉ(i=1,2,…,N)に対し、秘密鍵Kiを生成し、生成された秘密鍵Kiを移動機器とサーバ２に保存しておく。この秘密鍵Kiの生成処理は、サーバ２で行われてもよいし、図示されていない鍵生成装置により行われてもよい。
【００１９】
認証をするときには、移動機器１iがサーバ２に対し、時刻をTとして、
Ci'←GKi(T)
を計算し、サーバ２へCi'を送信する。
【００２０】
すなわち、移動機器１iのメッセージ認証符号生成部１１が、所定の秘密鍵Ki、現在時刻T及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Ci'を生成する（ステップＳ１１）。そして、移動機器１iは、生成されたメッセージ認証符号Ci'をサーバ２に送信する。
【００２１】
サーバ２は、予め、
Cj←GKj(T) for j=1,2,…,N
を計算しておき、受信したCi'と一致するCjを探索する。一致したものがある場合には、サーバ２は移動機器jからの送信と確認できる。
【００２２】
すなわち、サーバ２のメッセージ認証符号生成部２１は、現在時刻T及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Cjを生成する処理をj=1,2,…,Nのそれぞれについて行う（ステップＳ２１）。そして、サーバ２の認証部２２は、受信した上記メッセージ認証符号Ci'と一致するメッセージ認証符号Cjがある場合には、移動機器１ｉの認証は成功したとする（ステップＳ２２）。
【００２３】
以下、上記の実施形態の安全性について説明する。事前準備で生成する秘密鍵Kiは、暗号学的に安全な(擬似)乱数生成器を用い、推測不能にし、全ての移動機器１ｉ及びサーバＳで安全に保管する必要がある。万が一、移動機器１ｉの秘密鍵Kiが漏洩しても、移動機器１ｉ以外では利用していないことから、問題は移動機器１ｉだけに局所化することが出来る。
【００２４】
システムで利用するMACについては、擬似ランダム関数(PRF; Pseudo Random Function) と区別出来ないような方式にする必要がある。CMACやHMACなど多くの標準的な方式はこの性質を満たす。この、PRF と区別できないような方式を用いた場合、その性質により、移動機器から送出されるCi'について、それを見るだけでは、どのCi1'とどのCi2'についても、優位な確率で関係づけることは出来ないのでプライバシーが保たれる。
【００２５】
以下、上記の実施形態の効果について説明する。個々の移動端末１ｉについては、毎回の認証符号Ci'を計算するためにMACを一回計算するだけなので、公開鍵暗号などと比較して相当少ない計算量で対応できる。
【００２６】
サーバＳについては、それぞれの時刻Tにおいて、N回のMAC計算と、届いたCi'と一致するCiを探索するための計算量が必要である。Ci'とCiとの一致を調べるための計算量は、Ci(i=1,2,…,N)を(検索のための)ハッシュ化を行なうことによりO(1)回のハッシュ計算で見つけることが出来るので、最大でもO(N)回のMAC計算及びハッシュで計算できる。
【００２７】
なお、秘密鍵Kiの長さは、例えば80ビット以上に設定するなど全数探索が不能なように充分に長くする。80 ビット程度以上に設定することにより、MAC出力である符号Cの長さも、総当たり攻撃に耐え得るようにすることができる。
【００２８】
上記の実施形態により、プライバシーを守りながら、共通鍵暗号ベースの計算量で移動通信機器からの通信を特定でき、移動通信機器からの秘密鍵漏洩があったとしてもシステム全体には影響を及ぼさないようにすることができる。
【００２９】
［変形例］
上記実施形態において、MACへの入力に時刻Tを使う代わりに、移動機器１ｉとサーバ２との間で共有したカウンタを用いてもよい。カウンタは単純に+1するだけでなく、LFSR やハッシュ関数などで更新してもよい。
【００３０】
すなわち、移動機器１ｉのメッセージ認証符号生成部１１は、所定の秘密鍵Ki、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Ci'を生成してもよい。また、サーバ２のメッセージ認証符号生成部２１は、所定の秘密鍵Kj、カウンタの値c及び所定のメッセージ認証符号生成関数を用いてメッセージ認証符号Cjを生成する処理をj=1,2,…,Nのそれぞれについて行ってもよい。
【００３１】
なお、各移動機器１ｉは、移動機器１ｉごとに異なるカウンタを有しており、サーバ２は、各移動機器１ｉに対応するカウンタを有している。サーバ２が移動機器１jに対応するメッセージ認証符号Cjを生成する場合には、サーバ２のメッセージ認証符号生成部２１は、サーバ２が有する複数のカウンタの中の、その移動機器１jsに対応するカウンタの値を用いて、メッセージ認証符号Cjの生成を行う。
【００３２】
上記の実施形態において、移動機器１ｉとサーバ２の時刻同期がずれた場合に備えて、サーバ２側でずれる可能性のある時刻についても、メッセージ認証符号Ciを計算しておいてもよい。これは、時刻T1,T2,…と時間が進んでいくたびに全てのずれの可能性があるものの計算をせずに、必要な世代前のものまで保存しておけば、追加の計算量無しに達成できる。
【００３３】
すなわち、サーバ２のメッセージ認証符号生成部２１は、現在時刻Tのみならず、現在時刻Tを含む所定の時間間隔に含まれる時刻のそれぞれについて、メッセージ認証符号Cjを生成する処理を行ってもよい。
【００３４】
上記の実施形態において、MAC用の秘密鍵Kiの他に、(認証)暗号用の鍵Liも、それぞれの移動機器１ｉとサーバ２の側で予め共有・保存していてもよい。・を任意の暗号対象データとして、移動端末１ｉからサーバ２への認証に合わせて、 (認証つき)暗号ELi(・)も送れば、サーバ２側ではMACの検証を行った結果、移動機器１iが特定できることにより、暗号化の鍵Liも判明し、暗号通信も同時に実施可能となる。
【００３５】
すなわち、移動機器１ｉは暗号化部１２を更に備えており、この暗号化部１２が、所定の共通鍵Liを用いて暗号化対象データDを暗号化することにより暗号文を生成してもよい。
【００３６】
この場合、移動機器１ｉは、メッセージ認証符号Ci'のみならず、上記暗号文を上記サーバ２に送信する。また、この場合、サーバ２は復号部２３を更に備えており、この復号部２３が、移動機器１ｉの認証に成功した場合には、所定の共通鍵Liを用いて暗号文を復号してもよい。
【００３７】
上記実施形態において、サーバ２と移動機器１ｉで共有している鍵を例えば特許第4866407号などにあるようなforward-security を持つ方法で更新してもよい。これにより、より安全性の高めることが出来る。
【００３８】
すなわち、所定の秘密鍵Kiは、移動機器１ｉ及びサーバ２のそれぞれにおいて更新されてもよい。
【００３９】
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。例えば、上記の変形例は、適宜を組み合わせてもよい。
【００４０】
[プログラム及び記録媒体]
移動機器１ｉ又はサーバ２における各処理をコンピュータによって実現する場合、移動機器１ｉ又はサーバ２が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、移動機器１ｉ又はサーバ２の処理がコンピュータ上で実現される。
【００４１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００４２】
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2018117388.tif 000003
【図２】
2018117388.tif 000004
【図３】
2018117388.tif 000005