JP4028849B2 - 通信システム、携帯端末及びプログラム - Google Patents

通信システム、携帯端末及びプログラム Download PDF

Info

Publication number
JP4028849B2
JP4028849B2 JP2004013483A JP2004013483A JP4028849B2 JP 4028849 B2 JP4028849 B2 JP 4028849B2 JP 2004013483 A JP2004013483 A JP 2004013483A JP 2004013483 A JP2004013483 A JP 2004013483A JP 4028849 B2 JP4028849 B2 JP 4028849B2
Authority
JP
Japan
Prior art keywords
distributed
data
distributed data
application
key
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.)
Expired - Lifetime
Application number
JP2004013483A
Other languages
English (en)
Other versions
JP2005208841A (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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2004013483A priority Critical patent/JP4028849B2/ja
Publication of JP2005208841A publication Critical patent/JP2005208841A/ja
Application granted granted Critical
Publication of JP4028849B2 publication Critical patent/JP4028849B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

この発明は、個人情報等の重要なデータを携帯端末に送信するシステムにおいて、送信データを安全に保護するための通信システム等に関する。
近年、携帯電話やPDA等の携帯端末では、ダウンロードしたアプリケーションに対して、例えば、クレジットカード情報、個人情報等のデータを設定することによりアプリケーションのパーソナライズを行い、そのパーソナライズされたアプリケーションを用いて、各種サービスをユーザに提供するサービス提供端末とデータ通信を行い、個別的なサービスの提供を受けることができるシステムが実現されている。
クレジットカード情報、個人情報等の重要なデータ(秘密情報)をコンピュータ間で送受信するシステムでは、個人情報等を第三者に不正に取得されないようなセキュリティ対策が必要であり、例えば、パスワードによる認証や暗号化等の技術を用いた種々の仕組みが考案されている。
例えば、一つのパスワードに基づいて記憶単位毎に異なるキーデータを生成し、生成したキーデータにより各記憶単位のデータを暗号化するデータ保護方法もある(特許文献1参照)。
特開平11−272561号公報(第4、5頁、第1図)
例えば、データを安全に送受信するためにDES(Data Encryption Standard)やトリプルDES等の計算量が膨大な暗号演算を頻繁に行うシステムの場合、暗号演算専用のコプロセッサなどを持たない通常の携帯端末では演算処理に長時間を要してしまい実用的ではなかった。
本発明は、上記実状に鑑みてなされたものであり、携帯端末等の比較的簡易な端末においても、ユーザの秘密情報を安全に利用することができる通信システム等を提供することを目的とする。
上記目的を達成するため、この発明の第1の観点に係る通信システムは、
各ユーザの秘密情報を記憶する秘密情報記憶手段と、
携帯端末からの要求に応答して、指定されたユーザの秘密情報を前記秘密情報記憶手段から読み出す手段と、
前記読み出した秘密情報について秘密分散法による演算処理を行って複数の分散データを生成する手段と、
前記生成された分散データをアプリケーションのプログラムに組み込んで前記ユーザの携帯端末に送信する手段と、
前記アプリケーションのプログラムに組み込んだ分散データ以外の分散データと、分散データの生成に使用された分散鍵ベクトル情報と、を前記ユーザの携帯端末に送信する送信手段と、を備えるサーバと、
ユーザの指定を含む要求を前記サーバに送信し、前記分散データが組み込まれたアプリケーションのプログラムを受信する手段と、
前記受信したアプリケーションのプログラムを記憶する記憶手段と、
前記受信したアプリケーションのプログラムに組み込まれた分散データ以外の分散データと、前記分散データの生成に使用された分散鍵ベクトル情報と、を前記サーバから受信して、前記受信したアプリケーションに関連付けて前記記憶手段に記憶する受信手段と、
前記記憶手段に記憶されているアプリケーションの実行時に、当該アプリケーションのプログラム及び当該アプリケーションに関するデータに設定されている分散データから、分散データをランダムに選出する手段と、
前記選出された分散データと、前記分散鍵ベクトル情報と、を用いて秘密情報を復元する復元手段と、
前記復元された秘密情報をサービス提供端末に送信する手段と、を備える携帯端末と、
前記携帯端末から受信した秘密情報を用いて携帯端末の認証を行い、認証結果に基づいて、サービスを提供するための処理を行うサービス提供端末と、
を備えることを特徴とする。
このような構成によれば、膨大な暗号演算処理を行うことなく秘密情報を安全に携帯端末に供給することができる。また、アプリケーションの実行時に秘密情報を復元して利用するため、耐タンパ性のハードウェア等に依存することなく秘密情報を保護することができる。また、秘密情報を復元するための分散データを複数のタイミングで分割して供給し、また、携帯端末における分散データの格納場所を複数設けているため、システムのセキュリティを向上させることができる。
前記サーバの前記送信手段は、前記分散鍵ベクトル情報を暗号鍵で暗号化したデータと、ユーザのパスワードに基づいて生成したパスワードベース鍵で暗号化した前記暗号鍵のデータと、を送信してもよく、
前記サーバは、前記携帯端末からユーザのパスワードの変更要求を受信した場合、当該ユーザに関する分散鍵ベクトル情報を、変更後のパスワードに基づいて生成したパスワードベース鍵で暗号化して、前記携帯端末に送信する手段をさらに備えてもよい。
前記携帯端末の受信手段は、暗号鍵で暗号化された分散鍵ベクトル情報と、ユーザのパスワードに基づくパスワードベース鍵で暗号化された暗号鍵のデータと、を受信してもよく、
前記携帯端末は、
パスワードの入力を受け付け、入力されたパスワードに基づくパスワードベース鍵を生成する手段と、
前記パスワードベース鍵で前記暗号化された暗号鍵を復号化し、当該復号化された暗号鍵で前記暗号化された分散鍵ベクトル情報を復号化することにより、分散鍵ベクトル情報を取得する手段と、
同一の分散鍵ベクトル情報の復号化回数を計数する計数手段と、
前記計数された復号化回数を前記サービス提供端末に送信する手段と、を備え、
前記サービス提供端末は、受信した復号化回数が一定値を超えている場合、前記携帯端末に記憶されている分散鍵ベクトル情報を更新する手段を備えてもよい。
前記サーバの前記送信手段は、前記アプリケーションのプログラムに組み込んだ分散データ以外の分散データの一部を前記携帯端末に送信してもよく、
前記サーバは、
前記アプリケーションのプログラムに組み込んだ分散データ以外の分散データであって、前記送信手段により送信される分散データ以外の分散データを記憶する分散データ保持手段と、
携帯端末からの要求に応じて、前記分散データ保持手段により記憶される分散データを前記携帯端末に送信する手段と、を備えてもよく、
前記携帯端末は、秘密情報を復元するときに、前記サーバが保持する分散データを前記サーバに要求してもよい。
また、この発明の第2の観点に係る携帯端末は、
ユーザの秘密情報を記憶するサーバにユーザの指定を含む要求を送信し、前記ユーザの秘密情報から生成された分散データが組み込まれたアプリケーションのプログラムを受信する手段と、
前記受信したアプリケーションのプログラムを記憶する記憶手段と、
前記サーバにより生成された分散データのうち、前記受信したアプリケーションのプログラムに組み込まれた分散データ以外の分散データと、前記分散データの生成に使用された分散鍵ベクトル情報と、を前記サーバから受信して、前記受信したアプリケーションに関連付けて前記記憶手段に記憶する受信手段と、
前記記憶手段に記憶されているアプリケーションの実行時に、当該アプリケーションのプログラム及び当該アプリケーションに関するデータに設定されている分散データから、分散データをランダムに選出する手段と、
前記選出された分散データと、前記分散鍵ベクトル情報と、を用いて秘密情報を復元する手段と、
前記復元された秘密情報をサービスの提供を受けるためにサービス提供端末に送信する手段と、
を備えることを特徴とする。
また、この発明の第3の観点に係るプログラムは、
コンピュータに、
ユーザの秘密情報を記憶するサーバにユーザの指定を含む要求を送信し、前記ユーザの秘密情報から生成された分散データが組み込まれたアプリケーションのプログラムを受信するステップ、
前記受信したアプリケーションのプログラムを所定の記憶領域に記憶するステップ、
前記サーバにより生成された分散データのうち、前記受信したアプリケーションのプログラムに組み込まれた分散データ以外の分散データと、前記分散データの生成に使用された分散鍵ベクトル情報と、を前記サーバから受信して、前記受信したアプリケーションに関連付けて前記記憶領域に記憶するステップ、
前記記憶領域に記憶されているアプリケーションの実行時に、当該アプリケーションのプログラム及び当該アプリケーションに関するデータに設定されている分散データから、分散データをランダムに選出するステップ、
前記選出された分散データと、前記分散鍵ベクトル情報と、を用いて秘密情報を復元するステップ、
前記復元された秘密情報をサービスの提供を受けるためにサービス提供端末に送信するステップ、
を実行させる。
本発明によれば、携帯端末等の比較的簡易な端末においても、ユーザの秘密情報を安全に利用することができる。
以下、本発明の実施の形態を、ユーザの携帯端末が、ユーザの個人情報やクレジット情報等の秘密情報を管理サーバから受信した情報に基づいて復元し、その復元した秘密情報をサービス提供端末に送信することにより、ユーザが各種サービスの提供を受けることができる通信システムを例に図面を参照して説明する。
本発明の実施形態に係る通信システムの構成例を図1に示す。この通信システムは、管理サーバ1と、携帯端末2と、サービス提供端末3と、を備える。管理サーバ1と携帯端末2はネットワーク10を介して接続される。また、携帯端末2とサービス提供端末3は、例えば、Bluethooth用インタフェース(I/F)、赤外線I/F、接触型ICカードI/F、非接触型ICカードI/F等の各種ローカルI/Fにより接続される。
管理サーバ1の構成例を図2に示す。管理サーバ1は、制御部11と、記憶部12と、通信制御部13と、を備えるコンピュータから構成される。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成され、記憶部12に予め記憶された動作プログラム等を読み出して、ダウンロード要求に応じてアプリケーションのプログラム等を携帯端末2に供給するアプリケーション供給処理、分散データ要求に応じて、携帯端末2に分散データ等を供給する分散データ供給処理等を実行する。
アプリケーション供給処理では、制御部11は、携帯端末2から例えばユーザID、アプリケーション名等を含むダウンロード要求を受信すると、記憶部12のユーザDBから要求元のユーザの秘密情報を検索して読み出し、読み出した秘密情報について、秘密分散法に従って複数の分散データを生成(算出)する。
具体的には、制御部11は、例えば任意に生成した乱数などを用いて互いに線形独立な複数の秘密鍵を生成し、この秘密鍵を列として並べた分散鍵ベクトル群を生成する。なお、この分散鍵ベクトル群は事前に生成してもよい。次に、制御部11は、ユーザの秘密情報(16進の元データ)からnバイト(nは秘密鍵の長さ)ずつ取り出し、分散鍵ベクトル群とベクトルの掛け算を行い、その結果を列として並べたデータ群において、行毎に集めたデータを分散データとして生成する。例えば、図3(a)に示すようなユーザの秘密情報について分散データを生成する場合、図3(b)に示すような鍵ベクトルから、図3(c)に示すような鍵ベクトル群を生成し、図3(d)に示すように、秘密情報を2バイトずつ取り出して分散鍵ベクトル群とベクトルの掛け算を行い、その結果を列として並べたデータ群について、行毎にデータを集めなおすことにより、各分散データを生成する。
そして、制御部11は、生成した分散データ等を、ユーザID、要求されたアプリケーションのアプリケーション名等のデータと関連付けて記憶部12に記憶する。なお、この分散データの生成処理では、例えば、「Shamir,A:How to Share a Share aSecret, Comm. Assoc. Comput. March., vol.22, no.11, pp.612-613(Nov.1979)」に示されるShamirの多項式を利用した秘密分散法を用いる。
また、制御部11は、生成した複数の分散データのうちの少なくとも1つの分散データと、秘密情報を復元する際に利用される多項式演算の行列テーブル(復元用テーブル)のデータと、をダウンロード対象のアプリケーションのプログラムデータに埋め込む。アプリケーションに埋め込む分散データの数は予め定められた数でもよく、また、ランダムに決定してもよい。また、復元用テーブルは、行列演算をする際に参照される加算用テーブルと積算用テーブルであり、例えば、各テーブルは縦と横に0〜15の数をとり、加算用テーブルは、縦と横の値を加算した値をそれぞれ設定したものであり、また、積算用テーブルは、縦と横の値を積算した値をそれぞれ設定したものである。多項式演算の加算処理や乗算処理は処理時間が長くかかるため、このようなテーブルを用いることで演算処理時間を短縮することができる。なお、上記の分散データの生成処理において、制御部11がこの復元用テーブルを用いて、行列演算を行うようにしてもよい。
そして、制御部11は、分散データと復元用テーブルが埋め込まれたアプリケーションのプログラムとアプリケーション名等データを要求元の携帯端末2に送信する。
また、分散データ供給処理では、制御部11は、携帯端末2から例えばユーザIDとアプリケーション名等を含む分散データ要求を受信すると、要求元のユーザのパスワードを記憶部12のユーザDBから読み出し、読み出したパスワードに基づくパスワードベース鍵を生成する。パスワードベース鍵は、例えば、パスワードとパラメータ(鍵生成用パラメータ)を組み合わせたデータについてハッシュ演算を行うことにより生成する。そして、制御部11は、要求元のユーザについて先に生成した分散データや分散データの生成に使用した分散鍵ベクトル群のデータ等を記憶部12から読み出し、所定の暗号鍵(ルート鍵)を用いて、分散鍵ベクトル群を暗号化する。そして、読み出した分散データのうち、先にアプリケーションに埋め込んだ分散データ以外の複数の分散データと、暗号化した分散鍵ベクトル群と、ユーザのパスワードベース鍵でルート鍵を暗号化したデータと、ルート鍵のメッセージ認証コード(MAC:メッセージ認証コード)、鍵生成用パラメータ等のデータを携帯端末2に送信し、携帯端末2においてアプリケーションにより利用されるデータ内に設定させる。なお、ルート鍵は、分散鍵ベクトル群を暗号化する毎に生成してもよく、また、予め定められた暗号鍵を用いてもよい。
記憶部12は、例えば、ハードディスク装置等から構成され、制御部11が実行するための動作プログラム及び処理に必要な各種データ等が記憶される。また、記憶部12は、各ユーザの秘密情報(例えば、クレジット情報、認証用鍵、個人情報等)、パスワード等のデータがユーザIDに関連付けられてユーザ毎に登録されているユーザDB等を備える。
通信制御部13は、ネットワーク10を介した携帯端末2とのデータ通信を行う。なお、ネットワーク10は、例えば、インターネット、専用線、公衆回線網、移動体通信網等を含む。
携帯端末2の構成例を図4に示し、サービス提供端末3の構成例を図5に示す。また、携帯端末2とサービス提供端末3の機能ブロック図を図6に示す。
携帯端末2は、例えば、CPU21と、メモリ22と、入力部23と、表示部24と、通信部25と、ローカルI/F26と、を備えるコンピュータから構成され、携帯電話機、PDA(Personal Digital Assistance)等を含む。
CPU21は、メモリ22に記憶されるプログラムを実行することにより、ダウンロード要求部211、分散データ要求部212、検証部213、情報復元部214、認証部215、サービス実行部216等を論理的に実現する。
ダウンロード要求部211は、アプリケーションのダウンロード要求を管理サーバ1に送信して、アプリケーションのダウンロードを行う。具体的には、ユーザID、アプリケーション名等のデータをダウンロード要求とともに送信し、ユーザの秘密情報から生成された複数の分散データのうちの少なくとも1つの分散データと、秘密データの復元に使用される復元用テーブルと、が埋め込まれたアプリケーションのプログラムデータとアプリケーション名等を受信し、メモリ22に記憶する。
分散データ要求部212は、ダウンロードしたアプリケーションのパーソナライズに必要な分散データを取得するために、管理サーバ1に分散データ要求を送信する。具体的には、ユーザID、アプリケーション名等のデータを分散データ要求とともに管理サーバ1に送信し、ダウンロードしたアプリケーションに埋め込まれた分散データ以外の複数の分散データ、暗号化された分散鍵ベクトル群、暗号化されたルート鍵、MAC、鍵生成用パラメータ等のデータを受信し、メモリ22に記憶されている、そのアプリケーションが利用するデータ領域に記憶することにより、アプリケーションをパーソナライズする。
検証部213は、アプリケーションプログラムの起動時にメモリ22に記憶されているMAC(メッセージ認証コード)の検証を行う。具体的には、ユーザによるパスワードの入力を受け付け、入力されたパスワードからパスワードベース鍵を生成し、生成したパスワードベース鍵を用いて、そのアプリケーションが利用するデータ領域に記憶されている、暗号化されたルート鍵を復号化する。なお、パスワードベース鍵は、例えば、入力されたパスワードと、アプリケーションが利用するデータ領域に記憶されている鍵生成用パラメータと、を組み合わせたデータについてハッシュ演算を行うことにより生成する。そして、復号化したルート鍵についてMACを生成し、アプリケーションが利用するデータ領域に記憶されている認証コード(MAC)と照合する。なお、MAC(メッセージ認証コード)の生成方法は任意であり、例えばルート鍵についてハッシュ演算を行うことにより生成してもよい。そして、照合データが一致した場合には、メモリ22に記憶されている認証コードは正しいと判定し、ローカルI/F26を制御してサービス提供端末3との通信を開始する。
情報復元部214は、起動されたアプリケーション及びそのアプリケーションで利用するデータに設定されている分散データから秘密情報を復元する。この秘密情報の復元処理では、乱数を生成し、生成した乱数を用いて、秘密情報の復元に使用する複数の分散データを決定する。例えば、乱数1、5、8・・・を生成した場合、分散データW1、W2、・・・、WnからW1、W5、W8・・・を復元に使用する分散データとして選択してもよい。また、乱数の生成方法は任意であり、メモリ22に記憶されている乱数生成用の関数式を用いて生成してもよく、また、管理サーバ1から受信してメモリ22に記憶された乱数生成用パラメータと内部タイマから取得した時間情報などを組み合わせたデータを一方向関数等により算出した値を乱数として用いてもよい。次に、情報復元部214は、検証部213により復号化されたルート鍵を用いて、メモリ22に記憶されている、暗号化された分散鍵ベクトル群を復号化する。そして、アプリケーション及びアプリケーションで利用するデータに設定されている分散データから、復元に使用する分散データとして先に選択した複数の分散データと、復元用テーブルと、を取得するとともに、分散ベクトル群の逆行列を算出し、選択した分散データと、復元用テーブルと、分散ベクトル群の逆行列と、を用いた行列演算を行い秘密情報を復元する。復元された秘密情報は、例えば、ユーザのクレジット情報や認証用鍵等のデータを含む。
なお、本発明で利用する秘密分散法について、拡大体GF(2)の場合を例に示すと、xiを分散鍵、rを任意の変数とした場合に、(数1)に示される、n個に分散した分散情報f(xi)のうち、k個の分散情報から秘密情報Sを復元することができる。
(数1)
Figure 0004028849
例えば、n=3、k=2とすると、分散情報は以下のようになる。
f(x1)=S+r1・x1+r2・x1
f(x2)=S+r1・x2+r2・x2
f(x3)=S+r1・x3+r2・x3
この場合、分散情報と鍵ベクトルを含む2変数の連立方程式の3つのうち2つから、連立方程式を解くことにより、Sを復元することができる。連立方程式は行列演算で解くことも可能であり、鍵ベクトルを2次元、分散データを2要素ずつ組にした場合、(数2)に示すような行列演算で求めることができる。
(数2)
Figure 0004028849
より具体的に説明すると、情報復元部214は、例えば、複数の分散データのうち、復元に利用する分散データとして1つ目と3つ目の分散データを選択した場合、図7(a)に示すように、分散鍵ベクトル群Aから対応する鍵ベクトルを取り出し、取り出したベクトルからなる分散鍵ベクトル群Bの逆行列B−1を生成する。そして、図7(b)に示すように、生成した逆行列B−1と、選択した分散データを組み合わせたベクトルとの積算を行う。なお、このベクトル演算での加算・積算の際に復元用テーブルを利用する。そして、情報復元部214は、演算結果のベクトルの各要素を連結して秘密情報を復元する。
認証部215は、サービス提供端末3との間で認証処理を行う。具体的には、例えば、アプリケーションの起動に応じてローカルI/F26がサービス提供端末3に通信要求を送信する等してサービス提供端末3との通信が確立した後、サービス提供端末3から受信した乱数を、復元した秘密情報に含まれる認証用鍵で暗号化してサービス提供端末3に送信する。そして携帯端末4による認証が完了すると、以後サービスの利用が可能となる。
なお、例えば、送信した認証データについてOK信号をサービス提供端末3から受信した後、認証部215が、携帯端末2側の乱数を生成してサービス提供端末3に送信し、サービス提供端末3から認証コード等を受信し、受信した認証コードを認証用鍵で復号化したデータに、送信した乱数が含まれているかを確認する等して、相互認証を行うようにしてもよい。
サービス実行部216は、認証部215による認証処理が正しく完了した後、秘密情報やその他のサービスに関する各種データをサービス提供端末3との間で送受信して、サービスの提供を受けるための処理を行う。サービスの内容は任意であり、例えば、自動販売機やPOS端末等におけるクレジット決済や電子マネー決済等の決済サービスでもよく、ATM端末等における引き出し、預け入れ、口座振替等の口座処理サービス等でもよい。
メモリ22は、ROM、RAM等から構成され、CPU21が実行するための動作プログラム及び処理に必要な各種データ、ユーザID等が記憶される。また、メモリ22には、例えば図8に示すように、少なくとも1つの分散データと復元用テーブルが埋め込まれているアプリケーションのプログラムデータと、そのアプリケーションに関するデータ(アプリケーションで利用するデータ)と、がアプリケーション毎に記憶されている。アプリケーションで利用するデータには、例えば、分散データ、暗号化された分散鍵ベクトル群、暗号化されたルート鍵、MAC、鍵生成用パラメータ等が設定されている。
入力部23は、例えばキーボードやポインティングデバイスを含む入力装置から構成され、入力されたデータをCPU21に通知する。
表示部24は、液晶ディスプレイ等から構成され、各種画面表示を行う。
通信部25は、ネットワーク10を介した管理サーバ1とのデータ通信を行う。
ローカルI/F26は、所定の通信方式に従ってサービス提供端末3との近距離データ通信を行うI/Fであり、例えば、CPU、ROM、RAM、受信機、送信機等から構成される。なお、ローカルI/F26の通信方法の種別は任意である。例えば、Bluethooth用インタフェース(I/F)、赤外線I/F、接触型ICカードI/F、非接触型ICカードI/F等でもよい。
サービス提供端末3は、制御部31、記憶部32、入力部33と、表示部34と、通信部35と、ローカルI/F36等を備えるコンピュータから構成される。
制御部31は、記憶部32に記憶される動作プログラムを実行することにより、携帯端末認証部311、サービス実行部312等を論理的に実現する。
携帯端末認証部311は、ローカルI/F36を介して携帯端末2との通信が確立した後、乱数を生成し、生成した乱数を認証データの要求とともに携帯端末2に送信する。そして、携帯端末2から認証データを受信し、受信した認証データを認証用鍵で復号化したデータに、生成した乱数が含まれるかをチェック等することにより、認証データの正当性をチェックする。
サービス実行部312は、認証データが正しい場合には、サービスに関する各種データを携帯端末2と送受信し、サービスを提供するための処理を行う。
記憶部32は、ROM、RAM、ハードディスク装置等から構成され、CPU21が実行するための動作プログラム及び処理に必要な各種データ、認証データをチェックするための情報(認証用鍵等)等が記憶されている。
入力部33は、例えばキーボードやポインティングデバイスを含む入力装置から構成され、入力されたデータを制御部31に通知する。
表示部34は、液晶ディスプレイ等から構成され、各種画面表示を行う。
通信部35は、ネットワーク10を介した管理サーバ1とのデータ通信を行う。
ローカルI/F36は、所定の通信方式に従って携帯端末2との近距離データ通信を行うI/Fであり、例えば、CPU、ROM、RAM、受信機、送信機等から構成される。なお、ローカルI/F36の通信方法の種別は任意である。例えば、Bluethooth用インタフェース(I/F)、赤外線I/F、接触型ICカードI/F、非接触型ICカードI/F等でもよい。
次に、この発明の実施形態に係る通信システムにおいて、携帯端末2がサービスの提供を受けるために、秘密情報を復元してサービス提供端末3に送信し、認証を受ける際のシステム動作について図9を参照して説明する。
まず、携帯端末2は、所定の入力操作に応じて、サービスの提供を受けるためのアプリケーションプログラムを起動すると(ステップS1)、パスワードの入力を受け付ける(ステップS2)。そして、携帯端末2は、入力されたパスワードからパスワードベース鍵を生成し(ステップS3)、パスワードベース鍵を用いて暗号化されたルート鍵の復号化を行い(ステップS4)、MACの検証を行う(ステップS5)。
検証結果がNGの場合(ステップS5:NO)、携帯端末2は、エラーメッセージを表示して処理を終了する等のエラー処理を行う(ステップS6)。また、検証結果がOKの場合(ステップS5:YES)、携帯端末2は、復号化されたルート鍵で、暗号化された分散ベクトル群の復号化を行うとともに(ステップS7)、ローカルI/F26を利用して所定の通信手続きを行い、サービス提供端末3との通信を確立する(ステップS8)。
一方、サービス提供端末3は、所定のタイミング(例えば、業務開始時等)でプログラムを起動し(ステップS9)、ローカルI/F36を利用して所定の通信手続きを行い、携帯端末2との通信を確立する(ステップS10)。具体的には、例えば、所定の周波数の無線信号等を送信し、携帯端末2からの応答信号を受信し、通信速度等のネゴシエーション等を行って通信を確立する。
次に、携帯端末2は、乱数を生成し、生成した乱数を用いて、秘密情報の復元に使用する分散データを選択し(ステップS11)、選択された分散データと、復号化した分散鍵ベクトル群の逆行列と復元用テーブルを用いて、秘密情報を復元する演算処理を行う(ステップS12)。
一方、サービス提供端末3は、通信の確立後、乱数を生成し、生成した乱数と認証データ要求とを携帯端末2に送信する(ステップS13)。
携帯端末2は、サービス提供端末3から受信した乱数と、復元した秘密情報に含まれる認証鍵等を用いて認証データを生成し、サービス提供端末3に送信する(ステップS14)。
サービス提供端末3は、携帯端末2から認証データを受信し、受信した認証データを記憶部32に記憶されている認証用鍵を用いて復号化し、復号化したデータに、先に生成した乱数が含まれていることを確認することで、認証データの正当性を確認する(ステップS15)。認証データの確認結果がNGの場合には、エラーメッセージを携帯端末2に送信し、サービス提供用プログラムをロックする等のエラー処理を行い(ステップS16)、認証データの確認結果がOKの場合には、認証OKである旨の通知を携帯端末2に送信するとともに、秘密情報やその他のサービスに関する各種データを携帯端末2との間で送受信して、サービスを提供するための処理を行う(ステップS17)。
以上説明したように、本発明によれば、膨大な暗号演算処理を行うことなく秘密情報を安全に携帯端末に供給することができる。また、アプリケーションの実行時に秘密情報を復元して利用するため、耐タンパ性のハードウェア等に依存することなく秘密情報を保護することができる。また、秘密情報を復元するための分散データを複数のタイミングで分割して供給し、また、携帯端末における分散データの格納場所を複数設けているため、システムのセキュリティを向上させることができる。
なお、本発明は種々の変形及び応用が可能である。
例えば、携帯端末2が秘密情報の復元に使用する分散データを選択する処理において、携帯端末2が生成した乱数を用いてアプリケーションのプログラム化領域内の分散データを選択し、サービス提供端末3から乱数を受信し、その受信した乱数を用いてアプリケーションに関するデータ内の分散データを選択するようにしてもよい。
また、ユーザがパスワードを更新する場合、例えば、携帯端末2はユーザに変更前のパスワードを入力させ、メモリ22に予め記憶されているパスワードと照合する認証を行った後、管理サーバ1にネットワーク10を介して接続し、新規のパスワードの入力を受け付け、入力されたパスワード、ユーザID等のデータをパスワード変更要求とともに管理サーバ1に送信する。これに応じて、管理サーバ1は、新規のパスワードからパスワードベース鍵を生成し、生成したパスワードベース鍵で、そのユーザIDに関連付けて記憶部12に記憶されている各分散鍵ベクトル情報を暗号化し、暗号化された分散鍵ベクトル情報等のデータを携帯端末2に送信し、ユーザDBにおいて該当するユーザのパスワードを受信したパスワードで更新する。携帯端末2は、新たなパスワードに基づくパスワードベース鍵で暗号化されたルート鍵やルート鍵で暗号化された分散鍵ベクトル群等のデータを受信し、メモリ22の該当する記憶領域に更新記憶する。なお、このパスワードの変更処理は、アプリケーション毎に行うようにしてもよく、この場合、携帯端末2からはアプリケーション名等のアプリケーションを指定するデータを送信し、管理サーバ1も、暗号化された分散鍵ベクトル群にアプリケーションを指定する情報を付与して携帯端末2に送信する。また、各アプリケーションでパスワード、分散鍵ベクトル群が共通する場合には、特にアプリケーションを指定しなくてもよく、この場合、携帯端末2は受信した、暗号化された分散鍵ベクトル群を、各アプリケーションについてそれぞれ該当する記憶領域に更新記憶する。
また、携帯端末2において同一の分散鍵ベクトル群の復号化回数が一定数を超えた場合には、携帯端末2に記憶されている、暗号化された分散鍵ベクトル群のデータを更新するようにしてもよい。この場合、例えば、携帯端末2は、同一の分散鍵ベクトル群について、その復号化の回数をメモリ22に記憶し、復号化処理を行う毎に、復号化回数に1を加算する。そして、例えば、サービス提供端末3との通信において、メモリ22に記憶されている復号化回数の値を送信する。サービス提供端末3は、携帯端末2から復号化回数のデータを受信すると、その回数が記憶部32に予め設定されている上限値を超えているかを判別し、超えている場合には、新たな暗号化された分散鍵ベクトル群のデータ等を、更新要求とともに携帯端末2に送信する。携帯端末2は、サービス提供端末3から受信した分散鍵ベクトル群のデータ等をメモリ22に更新記憶する。この場合、例えば、サービス提供端末3が、ユーザを指定する情報(ユーザID等)を分散ベクトル群データの更新要求とともに管理サーバ1に送信し、これに応じて、管理サーバ1が、サービス提供端末3からの分散ベクトル群データの更新要求に応じて、分散鍵ベクトル群を新たなルート鍵で暗号化し、暗号化された分散鍵ベクトル群と、新たなルート鍵を指定されたユーザのパスワードで暗号化したデータと、をサービス提供端末3に送信し、サービス提供端末3が、暗号化された分散鍵ベクトル群のデータと暗号化されたルート鍵のデータを管理サーバ1から受信し、受信したデータを更新要求とともに携帯端末2に送信してもよい。
なお、生成された分散データを管理サーバ1にも保持させておき、携帯端末2で秘密情報を復元する際に、管理サーバ1に接続して、管理サーバ1に保有されている分散データを取得して秘密情報の復元を行うようにしてもよい。この場合、例えば、管理サーバ1が、アプリケーションのプログラムに組み込んだ分散データ以外の分散データについて、携帯端末2に送信する分散データと、管理サーバ1で保有する分散データに分け、前者の分散データについては携帯端末2に送信し、後者の分散データは記憶部12にユーザID、アプリケーション名等とともに記憶する。そして、携帯端末2が、秘密情報を復元する際に管理サーバ1に接続して、ユーザIDとアプリケーション名等を指定した分散データ要求を送信し、これに応じて、管理サーバ1が、記憶部12から該当する分散データを読み出して携帯端末2に送信するようにしてもよい。
また、管理サーバ1は、復元用テーブルをユーザ毎に変えて携帯端末2に送信してもよい。
また、分散鍵ベクトル情報群を一つの鍵データとして管理してもよく、管理サーバ1は、この鍵データで生成した各分散データを暗号化して携帯端末2に送信してもよい。
また、携帯端末2に、データの偽造や改竄が困難なUIM等のICチップを装着した場合に、ICチップと携帯端末2との間の認証や暗号通信の際に必要な鍵などの秘密情報についても管理サーバ1が分散データを生成して携帯端末2とICチップに供給してそれぞれ格納させ、秘密情報を使用する際に携帯端末2又はICチップが復元してもよい。この場合、復元に使用する分散データを選択するための乱数をICチップが生成してもよい。また、携帯端末2側に記憶されている分散データについて改竄等の不正処理がなされたことが判明した場合、ICチップ内で分散鍵ベクトル群や分散データ等を生成するか、ICチップを介して管理サーバ1から分散鍵ベクトル群や分散データ等を取得して携帯端末2に設定し直す処理を行ってもよい。
なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体(FD、CD−ROM、DVD等)に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行する管理サーバ1、携帯端末2、サービス提供端末3等を構成してもよい。また、インターネット等のネットワーク10上のサーバ装置が有するディスク装置に格納しておき、例えばコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、OSが分担又はOSとアプリケーションの共同により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
本発明の実施形態の通信システムの構成を示す図である。 管理サーバの構成例を示す図である。 分散データを生成する処理を説明するための図である。 携帯端末の構成例を示す図である。 サービス提供端末の構成例を示す図である。 携帯端末とサービス提供端末の機能ブロック図である。 秘密情報を復元する処理を説明するための図である。 携帯端末のメモリに記憶されるデータを説明するための図である。 携帯端末が秘密情報を復元してサービス提供端末に送信する際のシステム動作を説明するための図である。
符号の説明
1 管理サーバ
2 携帯端末
3 サービス提供端末
10 ネットワーク
11 制御部
12 記憶部
13 通信制御部
21 CPU
22 メモリ
23、33 入力部
24、34 表示部
25、35 通信部
26、36 ローカルI/F
31 制御部
32 記憶部
211 ダウンロード要求部
212 分散データ要求部
213 検証部
214 情報復元部
215 認証部
216 サービス実行部
311 携帯端末認証部
312 サービス実行部

Claims (6)

  1. 各ユーザの秘密情報を記憶する秘密情報記憶手段と、
    携帯端末からの要求に応答して、指定されたユーザの秘密情報を前記秘密情報記憶手段から読み出す手段と、
    前記読み出した秘密情報について秘密分散法による演算処理を行って複数の分散データを生成する手段と、
    前記生成された分散データをアプリケーションのプログラムに組み込んで前記ユーザの携帯端末に送信する手段と、
    前記アプリケーションのプログラムに組み込んだ分散データ以外の分散データと、分散データの生成に使用された分散鍵ベクトル情報と、を前記ユーザの携帯端末に送信する送信手段と、を備えるサーバと、
    ユーザの指定を含む要求を前記サーバに送信し、前記分散データが組み込まれたアプリケーションのプログラムを受信する手段と、
    前記受信したアプリケーションのプログラムを記憶する記憶手段と、
    前記受信したアプリケーションのプログラムに組み込まれた分散データ以外の分散データと、前記分散データの生成に使用された分散鍵ベクトル情報と、を前記サーバから受信して、前記受信したアプリケーションに関連付けて前記記憶手段に記憶する受信手段と、
    前記記憶手段に記憶されているアプリケーションの実行時に、当該アプリケーションのプログラム及び当該アプリケーションに関するデータに設定されている分散データから、分散データをランダムに選出する手段と、
    前記選出された分散データと、前記分散鍵ベクトル情報と、を用いて秘密情報を復元する復元手段と、
    前記復元された秘密情報をサービス提供端末に送信する手段と、を備える携帯端末と、
    前記携帯端末から受信した秘密情報を用いて携帯端末の認証を行い、認証結果に基づいて、サービスを提供するための処理を行うサービス提供端末と、
    を備えることを特徴とする通信システム。
  2. 前記サーバの前記送信手段は、前記分散鍵ベクトル情報を暗号鍵で暗号化したデータと、ユーザのパスワードに基づいて生成したパスワードベース鍵で暗号化した前記暗号鍵のデータと、を送信し、
    前記サーバは、前記携帯端末からユーザのパスワードの変更要求を受信した場合、当該ユーザに関する分散鍵ベクトル情報を、変更後のパスワードに基づいて生成したパスワードベース鍵で暗号化して、前記携帯端末に送信する手段をさらに備える、
    ことを特徴とする請求項1に記載の通信システム。
  3. 前記携帯端末の受信手段は、暗号鍵で暗号化された分散鍵ベクトル情報と、ユーザのパスワードに基づくパスワードベース鍵で暗号化された暗号鍵のデータと、を受信し、
    前記携帯端末は、
    パスワードの入力を受け付け、入力されたパスワードに基づくパスワードベース鍵を生成する手段と、
    前記パスワードベース鍵で前記暗号化された暗号鍵を復号化し、当該復号化された暗号鍵で前記暗号化された分散鍵ベクトル情報を復号化することにより、分散鍵ベクトル情報を取得する手段と、
    同一の分散鍵ベクトル情報の復号化回数を計数する計数手段と、
    前記計数された復号化回数を前記サービス提供端末に送信する手段と、を備え、
    前記サービス提供端末は、受信した復号化回数が一定値を超えている場合、前記携帯端末に記憶されている分散鍵ベクトル情報を更新する手段を備える、
    ことを特徴とする請求項1又は2に記載の通信システム。
  4. 前記サーバの前記送信手段は、前記アプリケーションのプログラムに組み込んだ分散データ以外の分散データの一部を前記携帯端末に送信し、
    前記サーバは、
    前記アプリケーションのプログラムに組み込んだ分散データ以外の分散データであって、前記送信手段により送信される分散データ以外の分散データを記憶する分散データ保持手段と、
    携帯端末からの要求に応じて、前記分散データ保持手段により記憶される分散データを前記携帯端末に送信する手段と、を備え、
    前記携帯端末は、秘密情報を復元するときに、前記サーバが保持する分散データを前記サーバに要求する、
    ことを特徴とする請求項1乃至3のいずれか1項に記載の通信システム。
  5. ユーザの秘密情報を記憶するサーバにユーザの指定を含む要求を送信し、前記ユーザの秘密情報から生成された分散データが組み込まれたアプリケーションのプログラムを受信する手段と、
    前記受信したアプリケーションのプログラムを記憶する記憶手段と、
    前記サーバにより生成された分散データのうち、前記受信したアプリケーションのプログラムに組み込まれた分散データ以外の分散データと、前記分散データの生成に使用された分散鍵ベクトル情報と、を前記サーバから受信して、前記受信したアプリケーションに関連付けて前記記憶手段に記憶する受信手段と、
    前記記憶手段に記憶されているアプリケーションの実行時に、当該アプリケーションのプログラム及び当該アプリケーションに関するデータに設定されている分散データから、分散データをランダムに選出する手段と、
    前記選出された分散データと、前記分散鍵ベクトル情報と、を用いて秘密情報を復元する手段と、
    前記復元された秘密情報をサービスの提供を受けるためにサービス提供端末に送信する手段と、
    を備えることを特徴とする携帯端末。
  6. コンピュータに、
    ユーザの秘密情報を記憶するサーバにユーザの指定を含む要求を送信し、前記ユーザの秘密情報から生成された分散データが組み込まれたアプリケーションのプログラムを受信するステップ、
    前記受信したアプリケーションのプログラムを所定の記憶領域に記憶するステップ、
    前記サーバにより生成された分散データのうち、前記受信したアプリケーションのプログラムに組み込まれた分散データ以外の分散データと、前記分散データの生成に使用された分散鍵ベクトル情報と、を前記サーバから受信して、前記受信したアプリケーションに関連付けて前記記憶領域に記憶するステップ、
    前記記憶領域に記憶されているアプリケーションの実行時に、当該アプリケーションのプログラム及び当該アプリケーションに関するデータに設定されている分散データから、分散データをランダムに選出するステップ、
    前記選出された分散データと、前記分散鍵ベクトル情報と、を用いて秘密情報を復元するステップ、
    前記復元された秘密情報をサービスの提供を受けるためにサービス提供端末に送信するステップ、
    を実行させるプログラム。
JP2004013483A 2004-01-21 2004-01-21 通信システム、携帯端末及びプログラム Expired - Lifetime JP4028849B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004013483A JP4028849B2 (ja) 2004-01-21 2004-01-21 通信システム、携帯端末及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004013483A JP4028849B2 (ja) 2004-01-21 2004-01-21 通信システム、携帯端末及びプログラム

Publications (2)

Publication Number Publication Date
JP2005208841A JP2005208841A (ja) 2005-08-04
JP4028849B2 true JP4028849B2 (ja) 2007-12-26

Family

ID=34899529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004013483A Expired - Lifetime JP4028849B2 (ja) 2004-01-21 2004-01-21 通信システム、携帯端末及びプログラム

Country Status (1)

Country Link
JP (1) JP4028849B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4676158B2 (ja) * 2004-03-31 2011-04-27 ニフティ株式会社 コンピュータネットワークにおける認証方法
JP4652025B2 (ja) * 2004-11-22 2011-03-16 株式会社エヌ・ティ・ティ・データ 利用回数限定情報移転システム、および利用回数限定情報移転プログラム
JP2007248990A (ja) * 2006-03-17 2007-09-27 Taito Corp 組み込み装置、実行データ生成方法、実行データ生成プログラム、認証サーバ
JP5167835B2 (ja) * 2008-01-29 2013-03-21 大日本印刷株式会社 利用者認証システム、および方法、プログラム、媒体
JP2010011109A (ja) * 2008-06-27 2010-01-14 Kddi Corp 認証ユニット、認証端末、認証システム、認証方法およびプログラム
US20100058450A1 (en) * 2008-08-28 2010-03-04 Gene Fein Pass code provision
JP6059748B2 (ja) * 2015-02-20 2017-01-11 西日本電信電話株式会社 認証連携システム及び認証方法
US10396987B2 (en) * 2017-01-26 2019-08-27 Wickr Inc. Securely provisioning an application with user information
JP6760631B1 (ja) * 2019-12-28 2020-09-23 国立大学法人千葉大学 認証リクエストシステム及び認証リクエスト方法
WO2024063047A1 (ja) * 2022-09-20 2024-03-28 株式会社Nttドコモ 移動通信端末

Also Published As

Publication number Publication date
JP2005208841A (ja) 2005-08-04

Similar Documents

Publication Publication Date Title
JP4866863B2 (ja) セキュリティコード生成方法及びユーザ装置
US7502467B2 (en) System and method for authentication seed distribution
US10848304B2 (en) Public-private key pair protected password manager
CN110138744B (zh) 更换通信号码的方法、装置、系统、计算机设备及存储介质
RU2584500C2 (ru) Криптографический способ аутентификации и идентификации с шифрованием в реальном времени
CN106878245B (zh) 图形码信息提供、获取方法、装置及终端
WO2017202025A1 (zh) 终端文件加密方法、终端文件解密方法和终端
JP2009510644A (ja) 安全な認証のための方法及び構成
KR20130131682A (ko) 웹 서비스 사용자 인증 방법
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN113691502A (zh) 通信方法、装置、网关服务器、客户端及存储介质
KR20210046357A (ko) 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치
US20020018570A1 (en) System and method for secure comparison of a common secret of communicating devices
TW201223225A (en) Method for personal identity authentication utilizing a personal cryptographic device
JP4028849B2 (ja) 通信システム、携帯端末及びプログラム
EP2215553A1 (en) System and method for authenticating one-time virtual secret information
CN111008400A (zh) 数据处理方法、装置及系统
JP4522098B2 (ja) アプリケーションパーソナライズシステム
JP2007020065A (ja) 復号化バックアップ方法、復号化リストア方法、認証デバイス、個別鍵設定機、利用者端末、バックアップ装置、暗号化バックアッププログラム、復号化リストアプログラム
CN110968878B (zh) 信息传输方法、系统、电子设备及可读介质
KR20070062632A (ko) 암호화를 통한 이동통신 메시지 및 파일 보안 제공 방법
JP6701011B2 (ja) 端末登録方法、及び端末登録システム
EP3902197A1 (en) Confidential data management device, program and recording medium
EP3236631B1 (en) Data checking device and data checking method using the same
JP2003309552A (ja) 携帯端末による電子証明書の管理システム

Legal Events

Date Code Title Description
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: 20071009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071012

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4028849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111019

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121019

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131019

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term