Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4103995B2 - IC chip control system, communication terminal and computer program - Google Patents
[go: Go Back, main page]

JP4103995B2 - IC chip control system, communication terminal and computer program - Google Patents

IC chip control system, communication terminal and computer program Download PDF

Info

Publication number
JP4103995B2
JP4103995B2 JP2003033359A JP2003033359A JP4103995B2 JP 4103995 B2 JP4103995 B2 JP 4103995B2 JP 2003033359 A JP2003033359 A JP 2003033359A JP 2003033359 A JP2003033359 A JP 2003033359A JP 4103995 B2 JP4103995 B2 JP 4103995B2
Authority
JP
Japan
Prior art keywords
chip
control
server
external device
control command
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
JP2003033359A
Other languages
Japanese (ja)
Other versions
JP2004247815A (en
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 JP2003033359A priority Critical patent/JP4103995B2/en
Publication of JP2004247815A publication Critical patent/JP2004247815A/en
Application granted granted Critical
Publication of JP4103995B2 publication Critical patent/JP4103995B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、通信端末に接続されたICチップを、通信端末を介して外部装置により制御するための技術に関する。
【0002】
【従来の技術】
従来から、携帯電話端末などの通信端末にICチップを接続し、通信端末を介して、所定のサーバなどの外部装置からの制御コマンドに基づいて、ICチップを制御して所定の処理を実行させることが行われている。
このようなシステムでは、例えば、利用者またはエージェントが通信端末のアプリケーションを起動させてサーバにアクセスする。サーバからはICチップ制御コマンドが通信端末に通知される。通信端末のアプリケーションプログラムは、通知されたICチップ制御コマンドを接続されているICチップに送信すると共に、その制御結果(レスポンスデータ)をICチップから受信する。そして、通信端末のアプリケーションプログラムが、ICチップからの受信結果をサーバに送信し、サーバから通信端末に対して送信結果を返すという一連の処理が行われていた。
【0003】
また、通信端末上のアプリケーションプログラムのセキュリティ性等を考慮して、通信端末上でアプリケーションプログラムが動作するプログラムモードと、ICカードからカード番号などを読み取り、サーバへ送信するパケットモードの2種類のモードに分け、これをサーバからダウンロードしたプログラムにより自動的に切り替えて処理するシステムが提案されている(例えば、特許文献1)。また、クライアント端末にICチップを駆動させる処理を持たずに、これをサーバに持たせることでクライアント端末の処理負荷を軽減させるシステムも提案されている(例えば、特許文献2)。
【0004】
【特許文献1】
特開2001−222595号公報
【特許文献2】
特開2001−282528号公報
【0005】
【発明が解決しようとする課題】
しかし、従来のシステムのように通信端末に搭載されたアプリケーションプログラムを利用して処理を行っていたのでは、通信端末上のアプリケーションプログラムが差し替えられたり、書き換えられたりすることができるため、悪意をもって通信端末のアプリケーションプログラムの差し替え等を行えば、ICチップへの制御を確実にできなくなるという問題がある。
【0006】
また、特開2001−222595号公報のように、変更する条件をダウンロードしたプログラムに依存していたのでは、このプログラムが通信途中で差し替えられたり、改変等された場合などには対応できず、セキュリティ性に問題があった。
【0007】
また、特開2001−282528号公報のようにサーバ側にICチップを駆動させるプログラムを全て持たせたのでは、常時ICチップとサーバ間でのセッションを張っておく必要があるため、ネットワークのリソースが多く必要となってしまうという問題があった。このような問題は特に、携帯電話端末のようなネットワークリソースが少ないシステム上では実用的ではないという問題があった。
【0008】
本発明は上述の問題点を解決するためになされたものであって、通信端末に接続されるICチップを、通信端末を介して外部装置により安全かつ効率的に制御する仕組みを提供することを課題とする。
【0009】
【課題を解決するための手段】
上述の課題を解決するため、本発明の一の観点にかかるICチップ制御システムは、ICチップに対して所定の処理を実行させるための制御コマンドを生成する外部装置と、前記外部装置と通信可能に構成され、所定の処理を行うためのアプリケーションプログラムを保持する携帯通信端末と、前記携帯通信端末と接続又は通信可能に構成され、前記携帯通信端末を介して前記外部装置からの制御コマンドに応じて所定の処理を実行するICチップと、を有するシステムであって、前記外部装置は、ICチップに対する制御を終了する制御終了時刻を生成し、前記携帯通信端末は、前記外部装置が生成した制御終了時刻を取得して、この制御終了時刻まで、前記外部装置からICチップに対して送信される制御コマンドに対する前記アプリケーションプログラムによる処理を禁止して、前記制御コマンドをICチップにそのまま送信することを特徴とする。
【0010】
また、前記ICチップは、制御コマンドを実行するための制御条件を記憶する記憶手段と、前記通信端末からそのまま送信された制御コマンドが、前記記憶手段に記憶されている制御条件に合致するか否か判別し、前記制御条件に合致する場合に前記サーバから受信した制御コマンドに基づく処理を実行させる制御手段を有してもよい。
【0011】
本発明の一の観点にかかる通信端末は、ICチップに対して所定の処理を実行させるための制御コマンドを生成する外部装置及び、前記外部装置からの制御コマンドに応じて所定の処理を実行するICチップと通信可能に構成された通信端末であって、所定の処理を行うためのアプリケーションプログラムと、前記外部装置が生成した制御終了時刻を取得して、この制御終了時刻まで、前記外部装置からICチップに対して送信される制御コマンドに対する前記アプリケーションプログラムによる処理を禁止して、前記制御コマンドをICチップにそのまま送信する通信制御手段とを有することを特徴とする。
【0012】
また、前記通信制御手段は、前記外部装置から通知された制御終了時刻が経過した時には、前記外部装置からICチップに対する制御コマンドをそのまま送信することを禁止するようにしてもよい。また、前記通信制御手段は、前記ICチップに対する処理を行っているアプリケーションプログラムがある場合には、当該アプリケーションプログラムを前記サーバから通知された制御終了時刻まで休止させてもよい。
【0013】
また、前記外部装置から通知された制御終了時刻を表示して、ユーザに対して処理の実行に同意か否か確認するための情報を出力する出力手段を更に有してもよい。
【0014】
また、前記外部装置又はICチップとの間で個別にセッションを確立する場合、所定の固有情報に基づくハッシュ値に基づいて前記外部装置又はICチップの認証を行う認証処理手段を更に有してもよい。
また、前記通信端末は、携帯可能な通信端末であってもよい。
【0015】
本発明の一の観点にかかるコンピュータプログラムは、ICチップに対して所定の処理を実行させるための制御コマンドを生成する外部装置及び、前記外部装置からの制御コマンドに応じて所定の処理を実行するICチップと通信可能に構成され、所定の処理を行うためのアプリケーションプログラムを保持する通信端末としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータに対して、前記外部装置が生成した制御終了時刻を取得する処理と、前記取得した制御終了時刻まで、前記外部装置からICチップに対して送信される制御コマンドに対する前記アプリケーションプログラムによる処理を禁止して、前記制御コマンドをICチップにそのまま送信する処理とを実行させることを特徴とする。
【0016】
【発明の実施の形態】
以下、図面を参照して本発明にかかるICチップ制御システム、ICチップ、通信端末及びコンピュータプログラムを適用したシステムの一実施形態について説明する。
図1に本実施形態にかかるシステムの全体構成の概略を示す。図1において、本実施形態にかかるシステムは、サーバ1と、このサーバ1と携帯電話網、インターネット、有線又は無線のLAN(Local Area Network)などを介して接続可能に構成された携帯端末2と、この携帯端末2に接続し通信可能に構成されたICチップ3から構成されている。
【0017】
サーバ1は、本発明にかかる外部装置を構成する。サーバ1はCPU(Central Processing Unit)と、CPUが実行するコンピュータプログラム及び所定のデータなどを記憶することができるRAM、ROMなどの内部メモリ及びハードディスクドライブなどの外部記憶装置などの記憶部を有するコンピュータにより構成することができる。
サーバ1は、CPUが所定のコンピュータプログラムを実行することにより、例えば、ICチップ3に対応した鍵データを用いてICチップ3で生成された認証データの認証処理を行ったり、ICチップ3への制御コマンドを発行する処理を行うことができる。また、携帯端末2及びICチップ3のエラーなどを検出し、所定のエラー処理を行うようにしてもよい。
また、サーバ1の記憶部には、例えば、図3に示すように、サーバID、サーバ1で生成したサーバ乱数、携帯端末2及びICチップ3のエラーリスト(ネガティブリスト)を記憶することができる。ICチップ3のネガティブリストとしては、例えば、エラーが発生したICチップ3のチップID、ICチップ3の秘密鍵、エラー発生日時、エラー回数累積値、制御履歴などの情報を記憶することができる。また、携帯端末2のネガティブリストとしては、端末ID、エラー発生の日時、エラー回数累積値などを記憶することができる。
また、サーバ1の記憶部には、図3に示すように、制御内容とその制御を行った制御終了時刻を記憶することができる。
【0018】
携帯端末2は、本発明にかかる通信端末を構成する。携帯端末2は、例えば、携帯電話端末、通信機能を備えたPDA(Personal Digital Assistance)端末、通信機能を備えた移動可能ないわゆるパソコンなどにより構成することができる。
携帯端末2は、図1に示すようにサーバ1とアンテナなどを介して通信処理を行う通信部201、ディスプレイなどの表示部202、キーボードやポインティングデバイスなどの入力部203、コンピュータプログラムや所定のデータを記憶するROM、RAMなどのメモリ204、ICチップ3と電気的に接続して或いは無線によりデータのリードライト処理を行うリーダライタ(R/W)205、コンピュータプログラムなどを実行して所定の処理を行うCPU206から構成することができる。
なお、通信部201は、赤外線などの光媒体を介して通信処理を行ってもよい。また、CPU206は複数あってもよく、通信処理とアプリケーション処理をそれぞれ別のCPU206に処理させてもよい。
そして、これらの構成により図2に示す記憶部20と、端末OS(Operating System)により、セッション管理部21と、通信制御部22、時間を管理するクロック部23などの機能ブロックを実現することができる。
【0019】
記憶部20には、図4に示すように、端末2で所定の処理を行うための複数のアプリケーションプログラム(AP)1〜N、と端末OS(Operating System)から構成されている。
この記憶部20には、端末ID、端末PIN(Personal Identification Number)、端末乱数、端末タイマ、外部ノードアクセス条件テーブル、AP状態テーブル、端末状態情報が記憶できるようになっている。
外部ノードアクセス条件テーブルは、各アプリケーションプログラムを実行してどのサーバ1にアクセスできるか、またその際の条件を記憶することができる。外部ノードアクセス条件としては、例えば、アプリケーションプログラムごとにサーバIPアドレス、サーバドメイン名、端末PINなどのデータを含むことができる。
AP状態テーブルは、アプリケーションプログラムの状態を表すテーブルであって、例えば、各アプリケーションごとに休止中、未起動、起動中などの状態を表す情報が記憶できるようになっている。
端末状態情報は、端末2がクライアントモードかサーバモードかを表す情報である。クライアントモードとは、端末2とサーバ1或いはICチップ3との間でセッションを確立し、所定のアプリケーションプログラムを実行して処理を行っている状態であり、サーバモードとは、サーバ1から指定された制御終了時刻まで、サーバ1とICチップ3との間でやり取りされる制御コマンド等のデータに対して、携帯端末2のアプリケーションプログラムによる処理を禁止して、そのままスルーして通信する状態をいう。
【0020】
セッション管理部21は、サーバ1と携帯端末2間、ICチップ3と携帯端末2間の通信時には、各々のノードで生成した乱数、IDなどの固有情報を利用したセッション情報のやり取りを行い、セッションを確立するための処理を行う。
またセッションを確立する際、セッション管理部21が所定の乱数や端末IDなどの固有情報に基づいてハッシュ値を生成し、これを利用して認証処理を行うことで盗聴によるなり済ましを防止したり、通信データの改竄を簡易に検知できるようにすることができる。
また、セッション管理部21は、サーバ1やICチップ3に対する制御コマンドの送受信処理を行う。
【0021】
通信制御部22は、サーバ1から通知された制御終了時刻まで、サーバ1とICチップ3との間でやり取りされる制御コマンドに対して、通信端末2内のアプリケーションプログラムによる処理を禁止して、そのままスルーして通信できるように制御する。また、通信制御部22は、ICチップ3内のアプリケーションプログラムを利用している端末アプリケーションプログラムがある場合には、その端末アプリケーションプログラムを一時休止させるように制御する。
また、通信制御部22は、サーバ1から通知された制御終了時刻を超えた場合には、携帯端末2の状態をクライアントモードに自動的に切り替えて、サーバ1からの制御コマンドをスルーさせずに、サーバ1と携帯端末2間の通信又はICチップ3と携帯端末2間の通信のみを有効とするように制御する。
【0022】
ICチップ3は、図1に示すようにコンピュータプログラムなどを記憶するRAM、ROMなどのメモリ301、CPU302、携帯端末2と電気的に接続して或いは無線によりデータのやり取りを行う通信部303から構成されている。
そして、これらの構成により図2に示す記憶部30、認証・セッション管理部31、制御管理部32の機能ブロックを実現することができる。
【0023】
記憶部30には、そのセキュリティドメインに図5に示すような情報が記憶できるようになっている。
図5に示すアプリケーション情報は、ICチップ3に対して処理を行うことができる携帯端末2等のアプリケーションプログラムに対応したICチップアプリケーションの情報であって、アプリケーションID(AID)と、そのデータ、アプリケーションプログラムが使用する鍵データ、履歴情報などが含まれる。
またその他にICチップ3に設定されている情報として、認証を行うためのICチップ秘密鍵1〜n、ICチップ3の識別情報としてのチップID、一時的に生成されたICチップ乱数、PIN、制御条件情報、利用者に対して確認が必要となる情報を表す利用者確認情報、各アプリケーションプログラムが制御可能な状態か否かを表す制御可能フラグ、ダウンロードしたアプリケーションプログラム一覧情報が含まれる。
制御条件情報は、制御内容に対する制御条件を表す情報であって、ICチップ3に対する制御内容とそれを実行する際の制御条件(例えば、認証対象の鍵データ、制御コマンド数、制御が可能なサーバIDなど)が含まれる。これらの制御条件情報は事前にICチップ3に設定され、制御コマンドの制御内容の判別の際に参照されるようになっている。
【0024】
認証・セッション管理部31は、携帯端末2等とセッションを確立するためのセッション情報を生成したり、携帯端末2等から入力されたセッション情報等の復号処理、及び認証処理を行うことができる。
【0025】
制御管理部32は、外部からの入力に対してICチップ3内のアプリケーションプログラムやデータの変更、消去、書換えなどの制御処理を行う。
また、制御管理部32は、携帯端末2を介して送信された制御コマンドに基づいて制御処理を行う前に、当該制御コマンドが設定されている制御方法(制御コマンド数、指定コマンド、指定データ、コマンド順番、指定データやコマンドのハッシュ値)に適合するか確認する処理を行う。この処理は、認証・セッション管理部31にて外部ノードを確認後、制御管理部32が当該外部ノードに対する制御方法をICチップ3に一時的に設定することで、制御処理を行うことができるようにする。そして、指定した制御方法に従った制御が終了した段階で、制御管理部32が設定された制御方法をクリアし、この状態ではICチップ3内のアプリケーションプログラムやデータの制御処理ができないようにすることができる。
なお、本例では、制御方法をICチップ3に設定した例について説明しているが、予めICチップ3に設定された制御方法が利用できるか否かのフラグ情報を設定するようにしてもよい。
【0026】
次に、本実施形態にかかるICチップ制御方法について説明する。
まず、図6を参照してシステム全体の処理の流れについて説明する。なお、初期状態においては、携帯端末2はクライアントモード状態となっている。
図6において、まず携帯端末2のセッション管理部21が、クロック部23を参照して端末時刻情報を取得すると共に、乱数(端末乱数)を生成して記憶部20に記憶し、生成した端末乱数及び端末時刻情報をリーダライタ205を介してICチップ3に通知する(S101)。
【0027】
ICチップ3では、認証・セッション管理部31が、通信部303を介して携帯端末2から送信された情報を受信し、受信した端末時刻情報を記憶部30に記憶する(S102)。
認証・セッション管理部31は、生成したチップ乱数、端末時刻情報、端末乱数及びチップIDを組み合わせたデータをICチップ秘密鍵1で暗号化した電子署名データ(C1)を生成し、生成した電子署名データ(C1)とチップIDとを通信部303を介して携帯端末2へ送信する(S103)。
【0028】
携帯端末2がリーダライタ205を介して送信された情報を受信すると、セッション管理部21は、セッション情報として端末時刻情報、端末乱数及び端末IDを組み合わせたデータのハッシュ値(H1)を生成し、生成したセッション情報とICチップ3から受信した電子署名データ(C1)と、チップID、端末IDとを通信部201を介してサーバ1へ送信する(S104)。
【0029】
サーバ1では所定の鍵データを用いて電子署名データの検証を行い、受信した電子署名データ及びセッション情報が適正か否か判別する(S105)。この電子署名データ(C1)の検証処理は、サーバ1がチップIDに対応するICチップ秘密鍵で電子署名データ(C1)を復号化することにより行うことができる。また、携帯端末2のセッション情報の確認は、サーバ1が、受信した端末時刻情報、端末乱数、端末IDを組み合わせたデータのハッシュ値(H1’)を生成し、生成したハッシュ値(H1’)と携帯端末2から受信したハッシュ値(H1)が適合するか判別することにより行うことができる。
【0030】
判別の結果、適正な電子書名データでない場合には、サーバ1はセッション情報をクリアし、携帯端末2及びICチップ3のエラー履歴情報を記憶し、ICチップ3及び携帯端末2がサーバ1へ再度アクセスすることを禁止する処理を行い(S106)、処理を終了する。
【0031】
また、認証の結果、適正な電子署名データである場合には、サーバ1は、処理対象の携帯端末2の端末IDをセットすると共に、携帯端末2に送信するための新たなセッション情報を生成してサーバ1の所定の記憶部へ記憶すると共に、生成したセッション情報とサーバ乱数、サーバIDを携帯端末2へ送信する(S107)。新たなセッション情報としては、サーバ1が生成したサーバ乱数と、サーバID、取得した端末時刻情報、端末乱数を組み合わせたデータのハッシュ値(H2”)を用いることができる。
【0032】
携帯端末2のセッション管理部21が、通信部201を介してサーバ1から送信されたセッション情報を受信すると、このセッション情報が適正であるか否か判別する(S108)。この処理は、セッション管理部21が、受信したサーバID及びサーバ乱数と、記憶部20に記憶しておいた端末時刻情報と、端末乱数との組み合わせデータのハッシュ値(H2)を生成し、このハッシュ値(H2)とサーバ1から受信したハッシュ値(H2”)とが一致するか否かを判別することにより行うことができる。
【0033】
判別の結果、適正でない場合には、セッション管理部21は、サーバ1に対してエラーを通知し、記憶部20に記憶しておいたセッション情報、端末時刻情報、端末乱数をクリアする(S109)。携帯端末2からエラーが通知されると、サーバ1は上述のS106の処理を行い処理を終了する。
【0034】
また、判別の結果、セッション情報が適正である場合には、セッション管理部21は、処理対象のサーバ1のサーバIDをセットし、新たなセッション情報を生成して記憶部20に記憶し、生成した新たなセッション情報、端末乱数、制御コマンドを要求するための要求コマンド、端末IDを通信部201を介してサーバ1に対して送信し、サーバ1に対して制御コマンドを要求する(S110)。
この際の生成するセッション情報は、例えば、端末ID、端末時刻情報、受信したサーバ乱数、要求コマンド、生成した端末乱数などの固有情報を組み合わせたデータに基づいて生成したハッシュ値(H3)から構成することができる。
【0035】
携帯端末2からセッション情報を受信したサーバ1は、受信したセッション情報の認証を行う(S111)。この認証処理は、サーバ1が送信された端末IDの確認を行うと共に、端末ID、端末タイマ、サーバ乱数、要求コマンド、端末乱数の各データの組み合わせからハッシュ値(H3”)を生成し、生成したハッシュ値(H3”)とサーバ1から受信したハッシュ値(H3)とが適合するか否かを判別することにより処理できる。
【0036】
認証の結果、セッション情報が適正でない場合には、上述のS106のエラー処理に移って処理を終了する。
また、認証の結果セッション情報が適正である場合には、サーバ1は、ICチップ3に対して所定の制御を行うためのICチップ制御コマンドが必要か確認し、必要なICチップ制御コマンドを生成し、これを暗号化する(S112)。このICチップ制御コマンドは、例えば、制御対象となるICチップ3のチップID、制御コマンド数、制御終了時刻、チップ乱数、サーバIDなどから構成することができ、これをサーバ1が保持するICチップ3の秘密鍵2により暗号化する。
【0037】
そして、サーバ1は、新たにセッション情報を生成し、暗号化したICチップ制御コマンドと、生成したセッション情報、サーバ乱数及びサーバIDを携帯端末2に対して送信する(S113)。この際サーバ1は、生成したセッション情報及びサーバ乱数を所定の記憶部に記憶する。このセッション情報は、例えば、サーバ1が乱数を生成し、生成したサーバ乱数、サーバID、端末時刻情報の組み合わせを基に生成したハッシュ値(H4”)を用いることができる。
なお、制御終了時刻の設定は、サーバ1が受信した端末時刻に、指定した処理を実行するために必要な制御終了時刻の概算値を加えて計算することにより設定できる。
【0038】
携帯端末2のセッション管理部21は、サーバ1から送信された情報を通信部201を介して受信すると、受信したセッション情報が適正か否か判別する(S114)。この処理は、セッション管理部21が、サーバIDの確認を行うと共に、受信したサーバ乱数、サーバID、端末時刻情報の組み合わせを基にハッシュ値(H4)を生成し、生成したハッシュ値(H4)にサーバ1から受信したハッシュ値(H4”)が適合するか否か判別することにより行うことができる。
そして、認証の結果、適正でないと判別された場合には、上述のS109以下のエラー処理に移り処理を終了する。
【0039】
引き続き、図7を参照して、認証の結果、セッション情報が適正であると判別された場合、通信制御部22が、サーバ1からのレスポンスデータに含まれているICチップ制御コマンドを検出すると、その制御対象となっているICチップ3との間で処理を行っている通信端末2のアプリケーションプログラムを一時休止させる(S115)。
そして、セッション管理部21は、暗号化されているICチップ制御コマンド情報、サーバID、端末乱数をリーダライタ205を介してICチップ3に送信する(S116)。
【0040】
ICチップ3は、通信部303を介して送信された情報を受信し、認証・セッション管理部31が、暗号化されているICチップ制御コマンドを、記憶部30に記憶されている秘密鍵1により復号化する(S117)。
【0041】
認証・セッション管理部31は、復号化されたICチップ制御コマンドに含まれるチップ乱数などのチップ固有情報が、記憶部30に記憶されている以前に生成したチップ乱数に適合するか判別する(S118)。
判別の結果、適合しない場合には、認証・セッション管理部31は記憶しておいたICチップ乱数などのチップ固有情報をクリアして携帯端末2に対してエラーを通知する(S119)。
これにより、エラー通知がされた携帯端末2のセッション管理部21は、前述のS106のエラー処理を行い処理を終了する。
【0042】
また、上述のS118の判別の結果、適合する場合には、認証・セッション管理部31は、記憶部30に記憶しておいた端末時刻と比較して制御終了時刻が未だ経過していないか判別する(S120)。
既に経過している場合には、認証・セッション管理部31は上述のS119以下のエラー処理を行い処理を終了する。
【0043】
また、未だ経過していない場合には、認証・セッション管理部31は、ICチップ制御コマンドに基づく制御内容がICチップ3にセットできるか否か判別する(S121)。
具体的には、認証・セッション管理部31が、記憶部30の制御条件情報を参照し、受信したサーバIDが登録されているか、制御コマンドのコマンド数等が制御条件情報の条件を満たしているか、またICチップ3内に受信したアプリケーションプログラムIDに対応するアプリケーションプログラムが存在するかなどを判別する。
これらの条件を満たしていない場合には、認証・セッション管理部31は上述のS119以下のエラー処理を行い処理を終了する。
【0044】
また、条件を満たしている場合には、認証・セッション管理部31が新たにセッション情報を生成して記憶部30に記憶すると共に、このセッション情報及び復号化した制御終了時刻を通信部303を介して携帯端末2に送信する。併せて、制御管理部32が、ICチップ制御コマンドに対応するICチップ3内のアプリケーションプログラムの制御可能フラグをオンにすることにより制御可能な状態に遷移させる(S122)。
この際送信するセッション情報としては、認証・セッション管理部31が制御終了時刻、端末乱数、チップIDを組み合わせに基づいてハッシュ値(H5)を生成し、この生成したハッシュ値をセッション情報とすることができる。
【0045】
携帯端末2は、リーダライタ205を介してセッション情報及び制御終了時刻を受信すると、セッション管理部21が、受信したセッション情報が適正か否か判別する(S123)。
この判別は、セッション管理部21が、受信した制御終了時刻と、記憶部20に記憶しておいた端末乱数及びチップIDの組み合わせに基づいてハッシュ値(H5”)を生成し、この生成したハッシュ値(H5”)に受信したハッシュ値(H5)が適合するか判別することにより行うことができる。
【0046】
判別の結果、適合しない場合には、上述のS109のエラー処理に移って処理を終了する。
また、判別の結果、適合する場合には、通信制御部22が、制御終了時刻を記憶部20に記憶してセットすると共に、記憶部20の端末の状態をサーバモードにセットすることによりサーバモードに遷移する(S124)。
なお、この際、通信制御部22が、携帯端末2の表示部202に制御終了時刻を表示させて、利用者に制御終了時刻などを確認させるようにしてもよい。また、所定の時間内にICチップ3からICチップ制御コマンドを受信しない場合には、通信制御部22がモードを自動的にクライアントモードに戻してもよい。
【0047】
引き続き図8において、携帯端末2がサーバモード状態で、サーバ1からICチップ制御コマンドが送信されると、セッション管理部21はチップ制御コマンドに対するアプリケーションプログラムの処理を禁止して、チップ制御コマンドをICチップ3にそのまま送信する(S125)。
ICチップ制御コマンドを受信した制御管理部32は、ICチップ3内の所定のアプリケーションプログラムを実行させることにより、サーバ1からの制御コマンドに従ったデータの処理を実行する(S126)。
なお、制御管理部32がサーバ1からのICチップ制御コマンドが、指定コマンド数などの制御条件に適合するか判別し、適合する場合にのみ制御コマンドに基づく処理を実行させるようにしてもよい。
【0048】
そして、制御管理部32は、携帯端末2を介してサーバ1に対してアクセスレスポンスを返す(S127)。この際も、携帯端末2はサーバモードであるため、このレスポンスデータをスルーしてそのままサーバ1に通知する。
アクセスレスポンスを受け取ったサーバ1は、このレスポンスに対するICチップ3の制御コマンドを送信し(S128)、これに対してICチップ3からのアクセスレスポンスを返す処理(S129)を、所定の処理を実行するために必要なだけ繰り返して行う。
この間も、携帯端末2は、サーバモードであるため、サーバ1とICチップ3との間の制御コマンドやレスポンスデータ等をスルーして送信する。
【0049】
そして、携帯端末2の通信制御部22は、クロック部23を参照して、サーバ1から指定された制御終了時刻となった場合には、記憶部20の端末状態をサーバモードからクライアントモードに遷移させ(S130)、上述のS101以降のクライアントモードの処理に移行する。
【0050】
次に、携帯端末2がクライアントモードの際の、詳細な処理の流れについて図9を参照して説明する。
図9において、端末2が保持している所定のアプリケーションプログラムが起動、所定の処理の実行通知がされると(S201)、セッション管理部21が、指定された処理が所定のサーバ1に対する処理か、ICチップ3に対する処理か又はアプリケーションプログラムの終了のいずれの処理か判別する(S202)。
【0051】
判別の結果、アプリケーションプログラムの終了である場合には、セッション管理部21は起動しているアプリケーションプログラムを終了させる(S203)。
また、所定のサーバ1に対する処理であると判別された場合には、セッション管理部21が指定されたサーバ1のアドレスからデータの送信可能なサーバ1のアドレスか否かを記憶部20の外部ノードアクセス条件テーブルを参照して判別する(S211)。
外部ノードアドレス条件テーブルに該当するサーバ1の情報がない場合、即ちアクセスできないサーバ1の場合には所定のエラー処理を行いS201に戻ってアプリケーションプログラムからの次の処理を待って実行する(S212)。
【0052】
データ送信が可能なサーバ1であると判別された場合には、セッション管理部21が外部ノードアクセス条件テーブルに記憶されたアドレス等に従って、データを送信し(S213)、サーバ1からのデータの受信が指定時間内にあるか否か判別する(S214)。
なお、サーバ1へデータの送信ができない場合には、セッション管理部21が所定の間隔でサーバ1に対するデータ送信処理をリトライするようにしてもよい。
【0053】
サーバ1から指定時間内にデータの受信がない場合には、セッション管理部21は、アプリケーションプログラムへエラーを通知し、上述の処理S201に戻って処理を繰り返す(S215)。
また、サーバ1からデータの送信があった場合には、セッション管理部21は、サーバからのデータを受信する(S216)。
【0054】
引き続き、図10において、セッション管理部21は、サーバ1からの送信データに制御要求情報があるか否か判別する(S217)。
制御要求情報がある場合には、アプリケーションプログラムを一時休止する(S218)。
そして、アプリケーションプログラムを休止してから、或いはS217の処理でサーバ1からのデータに制御要求情報がない場合には、セッション管理部21はサーバ1からのデータにICチップ3向けのデータがあるか否か判別する(S219)。
【0055】
判別の結果、ICチップ3向けのデータがあると判別された場合には、後述するICチップ3に対する処理に移行する。
また、ICチップ3向けのデータがない場合には、通信端末2に対する処理としてアプリケーションプログラムにデータを返して(S220)、S211の処理に戻ってアプリケーションプログラムからの処理実行を待つ。
【0056】
また、図9において、アプリケーションプログラムからの処理がICチップ3への処理である場合には、セッション管理部21が入力されたデータをICチップへ送信する(S231)。
セッション管理部21は、ICチップ3からのデータ受信が指定時間内にあったか否か判別する(S232)。
なお、ICチップ3へデータの送信ができない場合には、セッション管理部21が所定の間隔でICチップ3に対するデータ送信処理をリトライするようにしてもよい。
【0057】
ICチップ3から指定時間内に返信がない場合には、セッション管理部21はアプリケーションプログラムに対してエラーを通知し(S233)、上述のS201の処理に戻ってアプリケーションプログラムからの指示を待つ。
【0058】
また、ICチップ3から所定のデータが返信された場合には、セッション管理部21はICチップ3から送信されたデータを受信し(S234)、当該ICチップ3からのデータにサーバ1から通知された制御終了時刻情報が含まれているか否か判別する(S235)。
判別の結果、制御終了時刻情報が含まれていない場合には、セッション管理部21は、ICチップ3から受信したデータをアプリケーションプログラムに通知し(S236)、S201の処理に戻る。
また、判別の結果、制御終了時刻情報が含まれている場合には、通信制御部22が後述するサーバモードの処理へ遷移する(S237)。
【0059】
次に、携帯端末2がサーバモードとなった場合の詳細な処理について図11を参照して説明する。
図11において、ICチップ3を介してサーバ1から制御終了時刻情報を受信すると、通信制御部22は記憶部20に制御終了時刻を記憶してセットし、制御終了時刻のカウントダウンを開始する(S301)。
通信制御部22は、クロック部23を参照して現在時間が制御終了時刻を超えたか否か判別する(S302)。
【0060】
判別の結果、制御終了時刻を超えた場合には、通信制御部22は記憶部20に記憶していた制御終了時刻を初期化してタイマを終了する(S303)。
そして、通信制御部22は、アプリケーションプログラムの休止を解除してクライアントモードに遷移する(S304)。
【0061】
また、S302の判別の結果、制御終了時刻を超えていない場合には、通信制御部22は、サーバ1からのデータ受信が指定時間以内にあるか判別する(S305)。
判別の結果、指定時間内にデータの受信がない場合には、通信制御部22は、サーバ1に対してエラーを通知し(S306)、上述のS303、S304の処理に移る。
【0062】
またS305の判別の結果、サーバ1からデータの送信があった場合には、通信制御部22はサーバ1からのデータを受信し(S307)、受信したデータが指定されたサーバ1からの受信か否か判別する(S308)。
判別の結果、指定されたサーバ1からのデータでない場合には、上述のS309の処理に移ってエラー処理を行う。
【0063】
また、判別の結果、指定されたサーバ1からのデータである場合には、通信制御部22は利用者に対してサーバ1から通知された制御終了時刻等を表示部202に表示して利用者が処理に同意するか否か判別する(S310)。
判別の結果利用者が同意しない場合には、通信制御部22は上述のS309の処理と同様にサーバ1に対してエラー通知を行い、S303、S304のエラー処理を行う。
【0064】
また、S310の処理で、利用者が同意したと判別された場合には、通信制御部22は、サーバ1から通知された制御コマンド等のデータに、サーバモードの終了識別データが含まれているか判別する(S311)。
サーバモード終了識別データは、サーバ1側から携帯端末2のサーバモードの終了を指示する旨のデータである。
【0065】
判別の結果、サーバモード終了識別データが含まれている場合には、通信制御部22は、上述のS303、S304の処理を行い、サーバモードからクライアントモードへ遷移させる処理を行う。
また、判別の結果、サーバモード終了識別データが含まれていない場合には、サーバ1から受信したデータに対するアプリケーションプログラムの処理を禁止し、このデータをICチップ3へそのままスルーして送信する(S312)。
【0066】
そして、通信制御部22は、ICチップ3からデータ受信が指定時間内にあるか否か判別する(S313)。
なお、ICチップ3からのデータがない場合に、通信制御部22がICチップ3へのデータ送信を所定時間間隔でリトライしてもよい。
【0067】
S313の処理で、ICチップ3から指定時間内にデータの受信がないと判別された場合には、上述のS309のエラー処理を行う。
また、判別の結果、ICチップから返信データの送信があった場合には、通信制御部22は送信されてきたデータを受信する(S314)。
【0068】
引き続き図12において、ICチップ3からのデータを受信すると、通信制御部22はICチップ3からのデータにサーバモード終了識別データが含まれているか否か判別する(S315)。
判別の結果、サーバモード終了識別データが含まれている場合には、通信制御部22は、上述のS303、S304のクライアントモードへ遷移するための処理を行う。
また、判別の結果、サーバモード終了データが含まれていない場合には、通信制御部22はICチップ3から送信されたデータをサーバ1に対するレスポンスデータとして送信し(S316)、上述のS302以下の処理を繰り返して行う。
これにより、ICチップ3からのデータをそのままスルーしてサーバ1へ送信することができる。
【0069】
次に、携帯端末2がサーバモード状態の際の、ICチップ3の詳細な処理について図13を参照して説明する。
図13において、携帯端末2がサーバモード状態で、サーバ1がICチップに対してICチップ秘密鍵3で暗号化した制御コマンドを送信すると、ICチップ3の制御管理部32が制御コマンドを受信し、暗号化されている制御コマンドを復号化する(S401)。
この際、サーバ1はICチップ制御コマンドデータ、ICチップ乱数、サーバIDの組み合わせをして送信してもよい。
【0070】
制御コマンドを受信すると、制御管理部32は制御コマンドに対応するアプリケーションプログラムが制御可能状態、即ちセキュリティドメインを介してアプリケーションプログラムに対して直接制御が可能となっているか否かを判別する(S402)。
判別の結果、制御可能でない場合には携帯端末2に対してエラーを通知して、処理を終了する(S403)。これにより、携帯端末2は自動的にサーバモードからクライアントモードに切り替り、その旨サーバ1に通知される。
【0071】
一方、制御可能な状態となっている場合には、制御管理部32は、受信した制御コマンドが事前に制御条件情報に設定されている制御内容に該当するか否か判別する(S404)。
判別の結果、事前に設定された制御内容でない場合には、携帯端末2に対して制御終了を通知して処理を終了する(S405)。
【0072】
また、判別の結果、事前に設定された制御内容である場合には、制御管理部32は、記憶部30に記憶されている制御条件情報を参照して、通知されたICチップ制御コマンドの制御条件に適合するか否か判別する(S406)。この処理は、制御管理部32が制御条件情報に記憶されている制御コマンド数、指定コマンド、指定データ、コマンド順序などの制御方法に適合しているか判別することにより処理することができる。
【0073】
判別の結果、制御条件に適合しない場合には、制御管理部32は、不正な制御コマンド受信のカウンタアップする(S407)。
そして、制御管理部32は、カウンタアップした後のカウンタ値が、予め設定された上限値を超えたか否か判別する(S408)。
判別の結果、上限値を超えていない場合には、制御管理部32は、上述のS403の処理に移り携帯端末2に対してエラーを通知する。
また、カウンタ値が上限値を超えた場合には、制御管理部32はICチップアプリケーションプログラムの制御をロックして制御不能とし(S409)、上述のS403の処理に移り携帯端末2に対してエラーを通知する。
【0074】
また、上述のS406の処理で受信した制御コマンドが制御条件に適合すると判別された場合には、ICチップ3の所定のアプリケーションプログラムが制御コマンドに従った処理を実行する(S410)。
そして、制御管理部32は、アプリケーションプログラムによる全ての処理が終了したか否か判別する(S411)。
判別の結果、全ての処理が終了していない場合には、制御結果を携帯端末2に対して通知する(S412)。これにより、携帯端末2では通知された制御結果をそのままスルーしてサーバ1に送信する。
また、判別の結果、全ての処理が終了した場合には、制御管理部32はアプリケーションプログラムを制御不能な状態に戻して(S413)、上述のS412の処理同様、制御結果を携帯端末2に対して通知して処理を終了する。
【0075】
このように、携帯端末2の通信制御部22により、サーバ1が生成した制御終了時刻をICチップ3を介して取得し、この制御終了時刻まで、サーバ1からICチップ3に対して送信される制御コマンドに対する端末アプリケーションプログラムによる処理を禁止して、制御コマンドをICチップにそのままスルーして送信するようにしたことから、たとえ携帯端末2のアプリケーションプログラムが改変等されていても、サーバ1からの制御コマンドを携帯端末2のアプリケーションプログラムによって不正な制御コマンドに変えてICチップ3に対して不正な処理を行わせることを防止することができ、セキュリティ性が向上することとなる。
また、この制御時刻はサーバ1側で安全に設定することができるため、処理の内容や携帯端末2の種類などに応じて適宜制御時間を変更することも可能となり、セキュリティ性が高くなる。
さらに、携帯端末2をサーバモードとする時間を区切ることで、これを時間貸しするサービスに適用することができるようになる。
【0076】
また、サーバ1とICチップ3との間のセッションを常に確立しておく必要がなく、この制御終了時刻までの時間だけサーバ1とICチップ3との間のセッションを確立しておけばよいから、携帯端末2のような少ないネットワークリソースであっても効率的に処理することができる。
【0077】
また、携帯端末2の表示部202により、サーバ1から通知された制御終了時刻を表示して、ユーザに対して処理の実行に同意か否か確認するための情報を出力して利用者の同意を得てから処理するようにすれば、ICチップ3に利用者の情報が記憶されている場合など、ICチップ3に対して勝手にサーバ1がアクセスして、処理を行わせることを防止でき、利用者のプライバシー保護を図ることができる。
また、事前に利用者の同意内容をICチップ3又は携帯端末2に設定することで自動的に処理を行わせてもよい。
【0078】
また、セッション管理部21により、サーバ1又はICチップ3との間でクライアントモードで個別にセッションを確立する場合、所定の固有情報に基づくハッシュ値に基づいてサーバ1又はICチップ3の認証を行うようにしたことことから、ハッシュ値を用いて簡易にセッションを確立するための認証処理を行うことができる。また、乱数やIDなどの所定の固有情報のハッシュ値を携帯端末2が常時秘密情報を保持しなくとも簡易に認証することができ、携帯端末2の負荷を軽減しなから、セッションを確立することができる。
【0079】
また、ICチップ3の記憶部30に制御コマンドを実行するための制御条件を記憶しておき、制御管理部32が、携帯端末2をスルーしてサーバ1から通知された制御コマンドが制御条件に合致するか否か判別してから制御コマンドに基づく処理を実行するようにしたことから、たとえ、携帯端末2が不正に操作されて常時サーバモードとなって、不正な制御コマンドが入力されても、ICチップ3側でこれをチェックして、予め設定されていない不正なコマンドの実行を禁止することができ、よりセキュリティ性を高めることができる。
【0080】
上述の実施形態では、外部装置としてサーバ1を用いた例について説明したが、本発明の外部装置はこれに限定されるものでなく、例えば、所定のセキュリティモジュールが装着された端末や、信頼ある携帯端末でもよい。
【0081】
本実施形態のサーバ1、携帯端末2或いはICチップ3用のコンピュータプログラムを、コンピュータ読み取り可能な媒体(FD、CD−ROM等)に格納して配布してもよいし、搬送波に重畳し、通信ネットワークを介して配信することも可能である。
【0082】
【発明の効果】
本発明によれば、通信端末に接続されるICチップを、通信端末を介して外部装置により安全かつ効率的に制御することができる。
【図面の簡単な説明】
【図1】 本発明にかかるICチップ制御システム、通信端末及びコンピュータプログラムを適用したシステムの一実施形態の概略構成図。
【図2】 本実施形態にかかるシステムの機能ブロック図。
【図3】 本実施形態にかかるサーバの記憶部に記憶されるデータの一例を示した図。
【図4】 本実施形態にかかる携帯端末の記憶部に記憶されるデータの一例を示した図。
【図5】 本実施形態にかかるICチップの記憶部に記憶されるデータの一例を示した図。
【図6】 本実施形態にかかるシステムの全体の処理の流れを示した処理フロー。
【図7】 図6に引き続き本実施形態にかかるシステムの全体の処理の流れを示した処理フロー。
【図8】 図7に引き続き本実施形態にかかるシステムの全体の処理の流れを示した処理フロー。
【図9】 本実施形態にかかる携帯端末がクライアントモードの時の詳細な処理の流れを示した処理フロー。
【図10】 図9に引き続き本実施形態にかかる携帯端末の詳細な処理の流れを示した処理フロー。
【図11】 本実施形態にかかる携帯端末がサーバモードの時の詳細な処理の流れを示した処理フロー。
【図12】 図11に引き続き本実施形態にかかる携帯端末がサーバモードの時の詳細な処理の流れを示した処理フロー。
【図13】 本実施形態にかかる携帯端末がサーバモードの時のICチップの詳細な処理の流れを示した処理フロー。
【符号の説明】
1 サーバ
2 携帯端末
3 ICチップ
20 記憶部
21 セッション管理部
22 通信制御部
23 クロック部
30 記憶部
31 認証・セッション管理部
32 制御管理部
201 通信部
202 表示部
203 入力部
204 メモリ
205 リーダライタ
206 CPU
301 メモリ
302 CPU
303 通信部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for controlling an IC chip connected to a communication terminal by an external device via the communication terminal.
[0002]
[Prior art]
Conventionally, an IC chip is connected to a communication terminal such as a mobile phone terminal, and the IC chip is controlled to execute a predetermined process via a communication terminal based on a control command from an external device such as a predetermined server. Things have been done.
In such a system, for example, a user or an agent starts an application of a communication terminal and accesses a server. The IC chip control command is notified from the server to the communication terminal. The application program of the communication terminal transmits the notified IC chip control command to the connected IC chip and receives the control result (response data) from the IC chip. Then, a series of processing is performed in which the application program of the communication terminal transmits the reception result from the IC chip to the server and returns the transmission result from the server to the communication terminal.
[0003]
In consideration of the security of the application program on the communication terminal, there are two modes: a program mode in which the application program operates on the communication terminal, and a packet mode in which the card number is read from the IC card and transmitted to the server. There has been proposed a system that automatically switches and processes this by a program downloaded from a server (for example, Patent Document 1). In addition, there has been proposed a system that reduces the processing load of the client terminal by providing the server with the process of driving the IC chip to the client terminal (for example, Patent Document 2).
[0004]
[Patent Document 1]
JP 2001-222595 A
[Patent Document 2]
JP 2001-282528 A
[0005]
[Problems to be solved by the invention]
However, since processing is performed using an application program installed in a communication terminal as in a conventional system, the application program on the communication terminal can be replaced or rewritten, so maliciously If the application program of the communication terminal is replaced, there is a problem that it is impossible to reliably control the IC chip.
[0006]
Further, as disclosed in Japanese Patent Application Laid-Open No. 2001-222595, depending on the downloaded program, the conditions to be changed cannot be handled when the program is replaced or modified during communication. There was a problem with security.
[0007]
Further, if all the programs for driving the IC chip are provided on the server side as in JP-A-2001-282528, it is necessary to always establish a session between the IC chip and the server. There was a problem that a lot was needed. Such a problem is not practical on a system with few network resources such as a mobile phone terminal.
[0008]
The present invention has been made to solve the above-described problems, and provides a mechanism for safely and efficiently controlling an IC chip connected to a communication terminal by an external device via the communication terminal. Let it be an issue.
[0009]
[Means for Solving the Problems]
In order to solve the above-described problem, an IC chip control system according to one aspect of the present invention can communicate with an external device that generates a control command for causing the IC chip to execute a predetermined process, and the external device. A mobile communication terminal configured to hold an application program for performing a predetermined process, and configured to be able to connect to or communicate with the mobile communication terminal, and according to a control command from the external device via the mobile communication terminal The external device generates a control end time for ending control on the IC chip, and the mobile communication terminal generates the control generated by the external device. Until the control end time is acquired, the application for the control command transmitted from the external device to the IC chip is obtained. Prohibits processing by Deployment program, characterized in that it transmits the control command to the IC chip.
[0010]
Further, the IC chip stores storage means for storing a control condition for executing the control command, and whether or not the control command transmitted as it is from the communication terminal matches the control condition stored in the storage means. And control means for executing processing based on the control command received from the server when the control condition is met.
[0011]
A communication terminal according to an aspect of the present invention executes an external device that generates a control command for causing an IC chip to execute a predetermined process, and executes a predetermined process according to the control command from the external device A communication terminal configured to be able to communicate with an IC chip, acquiring an application program for performing predetermined processing and a control end time generated by the external device, and from the external device until the control end time Communication control means for prohibiting processing by the application program on a control command transmitted to the IC chip and transmitting the control command to the IC chip as it is.
[0012]
In addition, the communication control means may prohibit sending the control command for the IC chip as it is from the external device when the control end time notified from the external device has passed. In addition, when there is an application program that performs processing on the IC chip, the communication control unit may suspend the application program until the control end time notified from the server.
[0013]
The information processing apparatus may further include output means for displaying the control end time notified from the external device and outputting information for confirming whether the user agrees to execute the process.
[0014]
Further, when establishing a session individually with the external device or the IC chip, it further includes an authentication processing means for authenticating the external device or the IC chip based on a hash value based on predetermined specific information. Good.
The communication terminal may be a portable communication terminal.
[0015]
A computer program according to an aspect of the present invention executes an external device that generates a control command for causing an IC chip to execute a predetermined process, and executes a predetermined process according to the control command from the external device A computer program for causing a computer to function as a communication terminal configured to be communicable with an IC chip and holding an application program for performing predetermined processing, the control end time generated by the external device for the computer And processing for prohibiting the processing by the application program for the control command transmitted from the external device to the IC chip until the acquired control end time, and transmitting the control command to the IC chip as it is Are executed.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of a system to which an IC chip control system, an IC chip, a communication terminal, and a computer program according to the present invention are applied will be described with reference to the drawings.
FIG. 1 shows an outline of the overall configuration of a system according to the present embodiment. In FIG. 1, a system according to the present embodiment includes a server 1 and a mobile terminal 2 configured to be connectable to the server 1 via a mobile phone network, the Internet, a wired or wireless LAN (Local Area Network), and the like. The IC chip 3 is configured to be communicable with the portable terminal 2.
[0017]
The server 1 constitutes an external device according to the present invention. The server 1 is a computer having a CPU (Central Processing Unit), an internal memory such as a RAM and a ROM that can store a computer program executed by the CPU and predetermined data, and a storage unit such as an external storage device such as a hard disk drive. Can be configured.
The server 1 executes authentication processing of authentication data generated by the IC chip 3 using, for example, key data corresponding to the IC chip 3 when the CPU executes a predetermined computer program, Processing for issuing a control command can be performed. Alternatively, errors in the mobile terminal 2 and the IC chip 3 may be detected and predetermined error processing may be performed.
Further, for example, as shown in FIG. 3, the server 1 can store a server ID, a server random number generated by the server 1, and an error list (negative list) of the portable terminal 2 and the IC chip 3 as shown in FIG. . As the negative list of the IC chip 3, for example, information such as the chip ID of the IC chip 3 in which the error has occurred, the secret key of the IC chip 3, the date and time of error occurrence, the accumulated number of errors, and the control history can be stored. In addition, as a negative list of the mobile terminal 2, a terminal ID, an error occurrence date and time, an error count cumulative value, and the like can be stored.
Further, as shown in FIG. 3, the control content and the control end time when the control is performed can be stored in the storage unit of the server 1.
[0018]
The portable terminal 2 constitutes a communication terminal according to the present invention. The mobile terminal 2 can be configured by, for example, a mobile phone terminal, a PDA (Personal Digital Assistance) terminal having a communication function, a movable so-called personal computer having a communication function, and the like.
As shown in FIG. 1, the mobile terminal 2 includes a communication unit 201 that performs communication processing with the server 1 via an antenna, a display unit 202 such as a display, an input unit 203 such as a keyboard and a pointing device, a computer program, and predetermined data. A memory 204 such as a ROM or RAM that stores data, a reader / writer (R / W) 205 that is electrically connected to the IC chip 3 or performs data read / write processing wirelessly, a computer program, etc., and executes predetermined processing It can comprise from CPU206 which performs.
Note that the communication unit 201 may perform communication processing via an optical medium such as infrared rays. Further, there may be a plurality of CPUs 206, and communication processing and application processing may be performed by different CPUs 206, respectively.
With these configurations, the storage unit 20 shown in FIG. 2 and a terminal OS (Operating System) can implement functional blocks such as a session management unit 21, a communication control unit 22, and a clock unit 23 for managing time. it can.
[0019]
As illustrated in FIG. 4, the storage unit 20 includes a plurality of application programs (AP) 1 to N for performing predetermined processing in the terminal 2 and a terminal OS (Operating System).
The storage unit 20 can store a terminal ID, a terminal PIN (Personal Identification Number), a terminal random number, a terminal timer, an external node access condition table, an AP state table, and terminal state information.
The external node access condition table can store which server 1 can be accessed by executing each application program, and the conditions at that time. As the external node access condition, for example, data such as a server IP address, a server domain name, and a terminal PIN can be included for each application program.
The AP state table is a table representing the state of the application program, and for example, information representing states such as hibernation, non-activation and activation can be stored for each application.
The terminal state information is information indicating whether the terminal 2 is in the client mode or the server mode. The client mode is a state in which a session is established between the terminal 2 and the server 1 or the IC chip 3 and processing is executed by executing a predetermined application program. The server mode is designated by the server 1. Until the control end time, this means a state in which processing such as control commands exchanged between the server 1 and the IC chip 3 is prohibited from being processed by the application program of the mobile terminal 2 and communicated through as it is. .
[0020]
The session management unit 21 exchanges session information using unique information such as random numbers and IDs generated at each node during communication between the server 1 and the mobile terminal 2 and between the IC chip 3 and the mobile terminal 2. Process to establish.
Also, when establishing a session, the session management unit 21 generates a hash value based on specific information such as a predetermined random number or terminal ID, and uses this to perform an authentication process to prevent impersonation due to eavesdropping. Thus, tampering of communication data can be easily detected.
In addition, the session management unit 21 performs control command transmission / reception processing for the server 1 and the IC chip 3.
[0021]
The communication control unit 22 prohibits the processing by the application program in the communication terminal 2 for the control command exchanged between the server 1 and the IC chip 3 until the control end time notified from the server 1, Control is performed so that communication can be performed through. In addition, when there is a terminal application program that uses an application program in the IC chip 3, the communication control unit 22 performs control so that the terminal application program is temporarily suspended.
In addition, when the control end time notified from the server 1 is exceeded, the communication control unit 22 automatically switches the state of the mobile terminal 2 to the client mode without passing the control command from the server 1. Control is performed so that only communication between the server 1 and the portable terminal 2 or only communication between the IC chip 3 and the portable terminal 2 is enabled.
[0022]
As shown in FIG. 1, the IC chip 3 includes a RAM 301 that stores a computer program, a memory 301 such as a ROM, a CPU 302, and a communication unit 303 that is electrically connected to the portable terminal 2 or exchanges data wirelessly. Has been.
With these configurations, the functional blocks of the storage unit 30, the authentication / session management unit 31, and the control management unit 32 shown in FIG. 2 can be realized.
[0023]
The storage unit 30 can store information as shown in FIG. 5 in the security domain.
The application information shown in FIG. 5 is information of an IC chip application corresponding to an application program such as the portable terminal 2 that can perform processing on the IC chip 3, and includes an application ID (AID), its data, and an application Includes key data, history information, etc. used by the program.
In addition, as information set in the IC chip 3, IC chip secret keys 1 to n for authentication, a chip ID as identification information of the IC chip 3, a temporarily generated IC chip random number, PIN, Control condition information, user confirmation information indicating information that needs to be confirmed for the user, a controllable flag indicating whether each application program is in a controllable state, and downloaded application program list information are included.
The control condition information is information representing the control condition for the control content, and the control content for the IC chip 3 and the control condition for executing it (for example, key data to be authenticated, number of control commands, controllable server) ID, etc.). These pieces of control condition information are set in advance in the IC chip 3 and are referred to when determining the control contents of the control command.
[0024]
The authentication / session management unit 31 can generate session information for establishing a session with the mobile terminal 2 or the like, or can perform decryption processing and authentication processing on session information input from the mobile terminal 2 or the like.
[0025]
The control management unit 32 performs control processing such as changing, erasing, and rewriting application programs and data in the IC chip 3 with respect to external inputs.
Further, the control management unit 32 performs the control method (the number of control commands, the specified command, the specified data, the specified data) before performing the control process based on the control command transmitted via the mobile terminal 2. Command order, specified data and command hash value) are checked. After confirming the external node by the authentication / session management unit 31, this processing can be performed by the control management unit 32 temporarily setting a control method for the external node in the IC chip 3. To. When the control according to the designated control method is completed, the control management unit 32 clears the set control method, and in this state, the application program and data control processing in the IC chip 3 cannot be performed. be able to.
In this example, an example in which the control method is set to the IC chip 3 is described. However, flag information indicating whether or not the control method previously set to the IC chip 3 can be used may be set. .
[0026]
Next, the IC chip control method according to the present embodiment will be described.
First, the processing flow of the entire system will be described with reference to FIG. In the initial state, the mobile terminal 2 is in the client mode state.
6, first, the session management unit 21 of the mobile terminal 2 acquires terminal time information with reference to the clock unit 23, generates a random number (terminal random number), stores it in the storage unit 20, and generates the generated terminal random number The terminal time information is notified to the IC chip 3 via the reader / writer 205 (S101).
[0027]
In the IC chip 3, the authentication / session management unit 31 receives information transmitted from the mobile terminal 2 via the communication unit 303, and stores the received terminal time information in the storage unit 30 (S102).
The authentication / session management unit 31 generates electronic signature data (C1) obtained by encrypting data generated by combining the generated chip random number, terminal time information, terminal random number, and chip ID with the IC chip private key 1, and generates the generated electronic signature. Data (C1) and chip ID are transmitted to the portable terminal 2 via the communication part 303 (S103).
[0028]
When the mobile terminal 2 receives the information transmitted via the reader / writer 205, the session management unit 21 generates a hash value (H1) of data combining the terminal time information, the terminal random number, and the terminal ID as session information, The generated session information, the electronic signature data (C1) received from the IC chip 3, the chip ID, and the terminal ID are transmitted to the server 1 via the communication unit 201 (S104).
[0029]
The server 1 verifies the electronic signature data using predetermined key data, and determines whether or not the received electronic signature data and session information are appropriate (S105). The verification process of the electronic signature data (C1) can be performed by the server 1 decrypting the electronic signature data (C1) with the IC chip private key corresponding to the chip ID. The session information of the mobile terminal 2 is confirmed by generating a hash value (H1 ′) of data in which the server 1 combines the received terminal time information, terminal random number, and terminal ID, and the generated hash value (H1 ′) And the hash value (H1) received from the portable terminal 2 can be determined by matching.
[0030]
If it is determined that the electronic book name data is not appropriate, the server 1 clears the session information, stores the error history information of the portable terminal 2 and the IC chip 3, and the IC chip 3 and the portable terminal 2 return to the server 1 again. Processing for prohibiting access is performed (S106), and the processing is terminated.
[0031]
If the authentication results in proper electronic signature data, the server 1 sets the terminal ID of the portable terminal 2 to be processed and generates new session information to be transmitted to the portable terminal 2. And stores the generated session information, server random number, and server ID to the portable terminal 2 (S107). As new session information, a server random number generated by the server 1, a server ID, acquired terminal time information, and a hash value (H2 ″) of data combining the terminal random number can be used.
[0032]
When the session management unit 21 of the mobile terminal 2 receives the session information transmitted from the server 1 via the communication unit 201, it determines whether or not the session information is appropriate (S108). In this process, the session management unit 21 generates a hash value (H2) of the combination data of the received server ID and server random number, the terminal time information stored in the storage unit 20, and the terminal random number. This can be done by determining whether or not the hash value (H2) and the hash value (H2 ″) received from the server 1 match.
[0033]
If the determination result shows that the session management unit 21 is not appropriate, the session management unit 21 notifies the server 1 of an error, and clears the session information, terminal time information, and terminal random number stored in the storage unit 20 (S109). . When an error is notified from the portable terminal 2, the server 1 performs the process of S106 described above and ends the process.
[0034]
If the session information is appropriate as a result of the determination, the session management unit 21 sets the server ID of the server 1 to be processed, generates new session information, stores it in the storage unit 20, and generates The new session information, the terminal random number, the request command for requesting the control command, and the terminal ID are transmitted to the server 1 via the communication unit 201, and the control command is requested from the server 1 (S110).
The session information generated at this time is composed of, for example, a hash value (H3) generated based on data obtained by combining unique information such as a terminal ID, terminal time information, a received server random number, a request command, and a generated terminal random number. can do.
[0035]
The server 1 that has received the session information from the mobile terminal 2 authenticates the received session information (S111). In this authentication process, the server 1 confirms the transmitted terminal ID, and also generates and generates a hash value (H3 ″) from each combination of terminal ID, terminal timer, server random number, request command, and terminal random number data. Processing can be performed by determining whether or not the hash value (H3 ″) and the hash value (H3) received from the server 1 match.
[0036]
If the session information is not proper as a result of the authentication, the process proceeds to the error process of S106 described above and ends.
If the session information is appropriate as a result of the authentication, the server 1 checks whether an IC chip control command for performing predetermined control on the IC chip 3 is necessary, and generates a necessary IC chip control command. This is encrypted (S112). This IC chip control command can be composed of, for example, the chip ID of the IC chip 3 to be controlled, the number of control commands, the control end time, the chip random number, the server ID, etc., and the IC chip held by the server 1 3 is encrypted with the secret key 2.
[0037]
Then, the server 1 newly generates session information, and transmits the encrypted IC chip control command, the generated session information, the server random number, and the server ID to the mobile terminal 2 (S113). At this time, the server 1 stores the generated session information and server random number in a predetermined storage unit. As the session information, for example, the server 1 generates a random number, and a hash value (H4 ″) generated based on a combination of the generated server random number, server ID, and terminal time information can be used.
The control end time can be set by calculating the terminal time received by the server 1 by adding an approximate value of the control end time necessary for executing the specified process.
[0038]
When the session management unit 21 of the portable terminal 2 receives the information transmitted from the server 1 via the communication unit 201, the session management unit 21 determines whether or not the received session information is appropriate (S114). In this process, the session management unit 21 confirms the server ID, generates a hash value (H4) based on the received server random number, server ID, and terminal time information combination, and generates the generated hash value (H4). Can be performed by determining whether or not the hash value (H4 ″) received from the server 1 is suitable.
If it is determined as a result of the authentication that it is not appropriate, the process proceeds to the error process in S109 and the subsequent steps, and the process is terminated.
[0039]
Next, referring to FIG. 7, when it is determined that the session information is appropriate as a result of the authentication, when the communication control unit 22 detects the IC chip control command included in the response data from the server 1, The application program of the communication terminal 2 that is performing processing with the IC chip 3 to be controlled is temporarily suspended (S115).
The session management unit 21 transmits the encrypted IC chip control command information, server ID, and terminal random number to the IC chip 3 via the reader / writer 205 (S116).
[0040]
The IC chip 3 receives the information transmitted via the communication unit 303, and the authentication / session management unit 31 sends the encrypted IC chip control command to the secret key 1 stored in the storage unit 30. Decryption is performed (S117).
[0041]
The authentication / session management unit 31 determines whether the chip specific information such as the chip random number included in the decrypted IC chip control command matches the previously generated chip random number stored in the storage unit 30 (S118). ).
As a result of the determination, if it does not match, the authentication / session management unit 31 clears the stored chip specific information such as the IC chip random number and notifies the portable terminal 2 of an error (S119).
Thereby, the session management unit 21 of the mobile terminal 2 notified of the error performs the error process of S106 described above and ends the process.
[0042]
If the result of the determination in S118 described above is appropriate, the authentication / session management unit 31 determines whether the control end time has not yet elapsed compared to the terminal time stored in the storage unit 30. (S120).
If it has already passed, the authentication / session management unit 31 performs the error processing of S119 and the subsequent steps and ends the processing.
[0043]
If it has not yet elapsed, the authentication / session management unit 31 determines whether or not the control content based on the IC chip control command can be set in the IC chip 3 (S121).
Specifically, the authentication / session management unit 31 refers to the control condition information in the storage unit 30, and whether the received server ID is registered, or whether the number of control commands satisfies the condition of the control condition information Further, it is determined whether or not there is an application program corresponding to the received application program ID in the IC chip 3.
If these conditions are not satisfied, the authentication / session management unit 31 performs the error processing from S119 onward and ends the processing.
[0044]
If the condition is satisfied, the authentication / session management unit 31 newly generates session information and stores it in the storage unit 30, and also transmits the session information and the decrypted control end time via the communication unit 303. To the mobile terminal 2. At the same time, the control management unit 32 makes a transition to a controllable state by turning on the controllable flag of the application program in the IC chip 3 corresponding to the IC chip control command (S122).
As session information to be transmitted at this time, the authentication / session management unit 31 generates a hash value (H5) based on a combination of the control end time, the terminal random number, and the chip ID, and uses the generated hash value as session information. Can do.
[0045]
When the mobile terminal 2 receives the session information and the control end time via the reader / writer 205, the session management unit 21 determines whether or not the received session information is appropriate (S123).
In this determination, the session management unit 21 generates a hash value (H5 ″) based on the combination of the received control end time, the terminal random number stored in the storage unit 20, and the chip ID, and the generated hash This can be done by determining whether the received hash value (H5) matches the value (H5 ″).
[0046]
If the result of determination is that they do not match, the process proceeds to the error process of S109 described above and ends.
In addition, if the result of determination is that it matches, the communication control unit 22 stores and sets the control end time in the storage unit 20 and sets the state of the terminal in the storage unit 20 to the server mode. (S124).
At this time, the communication control unit 22 may display the control end time on the display unit 202 of the portable terminal 2 so that the user can confirm the control end time. If the IC chip control command is not received from the IC chip 3 within a predetermined time, the communication control unit 22 may automatically return the mode to the client mode.
[0047]
In FIG. 8, when the mobile terminal 2 is in the server mode state and the IC chip control command is transmitted from the server 1, the session management unit 21 prohibits the processing of the application program for the chip control command and sends the chip control command to the IC. The data is transmitted as it is to the chip 3 (S125).
The control management unit 32 that has received the IC chip control command executes data processing in accordance with the control command from the server 1 by executing a predetermined application program in the IC chip 3 (S126).
Note that the control management unit 32 may determine whether the IC chip control command from the server 1 matches a control condition such as the number of specified commands, and may execute a process based on the control command only when the control condition matches.
[0048]
And the control management part 32 returns an access response with respect to the server 1 via the portable terminal 2 (S127). Also at this time, since the portable terminal 2 is in the server mode, the response data is passed through and notified to the server 1 as it is.
Upon receiving the access response, the server 1 transmits a control command for the IC chip 3 in response to this response (S128), and executes a predetermined process for returning the access response from the IC chip 3 (S129). Repeat as many times as necessary.
Also during this time, since the portable terminal 2 is in the server mode, the control command and response data between the server 1 and the IC chip 3 are transmitted through.
[0049]
Then, the communication control unit 22 of the portable terminal 2 refers to the clock unit 23 and transitions the terminal state of the storage unit 20 from the server mode to the client mode when the control end time designated by the server 1 is reached. (S130), the process proceeds to the above-described client mode processing from S101.
[0050]
Next, a detailed processing flow when the mobile terminal 2 is in the client mode will be described with reference to FIG.
In FIG. 9, when a predetermined application program held by the terminal 2 is activated and notification of execution of a predetermined process is received (S 201), the session management unit 21 determines whether the specified process is a process for the predetermined server 1. Then, it is determined whether the process is for the IC chip 3 or the end of the application program (S202).
[0051]
If it is determined that the application program is terminated, the session management unit 21 terminates the activated application program (S203).
If it is determined that the processing is for the predetermined server 1, the session management unit 21 determines whether the address of the server 1 that can transmit data from the address of the designated server 1 is an external node of the storage unit 20. A determination is made with reference to the access condition table (S211).
If there is no information of the corresponding server 1 in the external node address condition table, that is, in the case of the inaccessible server 1, a predetermined error process is performed, and the process returns to S201 and waits for the next process from the application program (S212). .
[0052]
If it is determined that the server 1 is capable of data transmission, the session management unit 21 transmits data according to the address stored in the external node access condition table (S213), and receives data from the server 1 Is determined within the specified time (S214).
When data cannot be transmitted to the server 1, the session management unit 21 may retry the data transmission process for the server 1 at a predetermined interval.
[0053]
If no data is received from the server 1 within the specified time, the session management unit 21 notifies the application program of an error, returns to the above-described process S201, and repeats the process (S215).
When data is transmitted from the server 1, the session management unit 21 receives data from the server (S216).
[0054]
Subsequently, in FIG. 10, the session management unit 21 determines whether there is control request information in the transmission data from the server 1 (S217).
If there is control request information, the application program is temporarily suspended (S218).
Then, after suspending the application program or when there is no control request information in the data from the server 1 in the processing of S217, the session management unit 21 has data for the IC chip 3 in the data from the server 1. It is determined whether or not (S219).
[0055]
As a result of the determination, if it is determined that there is data for the IC chip 3, the process proceeds to processing for the IC chip 3 described later.
If there is no data for the IC chip 3, the data is returned to the application program as processing for the communication terminal 2 (S220), and the processing returns to S211 to wait for processing execution from the application program.
[0056]
In FIG. 9, when the process from the application program is the process to the IC chip 3, the session management unit 21 transmits the input data to the IC chip (S231).
The session management unit 21 determines whether or not the data reception from the IC chip 3 was within the specified time (S232).
When data cannot be transmitted to the IC chip 3, the session management unit 21 may retry the data transmission process for the IC chip 3 at a predetermined interval.
[0057]
If there is no reply from the IC chip 3 within the specified time, the session management unit 21 notifies the application program of an error (S233), returns to the above-described processing of S201, and waits for an instruction from the application program.
[0058]
When predetermined data is returned from the IC chip 3, the session management unit 21 receives the data transmitted from the IC chip 3 (S234), and the server 1 notifies the data from the IC chip 3 to the data. It is determined whether or not the control end time information is included (S235).
If the control end time information is not included as a result of the determination, the session management unit 21 notifies the application program of the data received from the IC chip 3 (S236), and returns to the process of S201.
If the control end time information is included as a result of the determination, the communication control unit 22 transitions to a server mode process to be described later (S237).
[0059]
Next, detailed processing when the mobile terminal 2 enters the server mode will be described with reference to FIG.
In FIG. 11, when the control end time information is received from the server 1 via the IC chip 3, the communication control unit 22 stores and sets the control end time in the storage unit 20, and starts counting down the control end time (S301). ).
The communication control unit 22 refers to the clock unit 23 to determine whether or not the current time has exceeded the control end time (S302).
[0060]
If the control end time is exceeded as a result of the determination, the communication control unit 22 initializes the control end time stored in the storage unit 20 and ends the timer (S303).
Then, the communication control unit 22 cancels the suspension of the application program and transitions to the client mode (S304).
[0061]
If the control end time is not exceeded as a result of the determination in S302, the communication control unit 22 determines whether the data reception from the server 1 is within the specified time (S305).
As a result of the determination, if no data is received within the specified time, the communication control unit 22 notifies the server 1 of an error (S306), and proceeds to the processes of S303 and S304 described above.
[0062]
If it is determined in step S305 that data is transmitted from the server 1, the communication control unit 22 receives the data from the server 1 (S307), and whether the received data is received from the designated server 1. It is determined whether or not (S308).
If it is determined that the data is not from the designated server 1, the process proceeds to the above-described processing of S309 and error processing is performed.
[0063]
If the data is from the specified server 1 as a result of the determination, the communication control unit 22 displays the control end time notified from the server 1 to the user on the display unit 202 and the user. Determines whether or not to agree with the process (S310).
If the user does not agree as a result of the determination, the communication control unit 22 notifies the server 1 of an error in the same manner as the above-described processing of S309, and performs error processing of S303 and S304.
[0064]
If it is determined in step S310 that the user has agreed, the communication control unit 22 includes the server mode end identification data in the data such as the control command notified from the server 1. It discriminate | determines (S311).
The server mode end identification data is data for instructing the end of the server mode of the portable terminal 2 from the server 1 side.
[0065]
If the server mode end identification data is included as a result of the determination, the communication control unit 22 performs the above-described processing of S303 and S304, and performs processing of switching from the server mode to the client mode.
If the server mode end identification data is not included as a result of the determination, the application program processing for the data received from the server 1 is prohibited, and this data is directly transmitted to the IC chip 3 (S312). ).
[0066]
Then, the communication control unit 22 determines whether data reception from the IC chip 3 is within a specified time (S313).
When there is no data from the IC chip 3, the communication control unit 22 may retry data transmission to the IC chip 3 at predetermined time intervals.
[0067]
If it is determined in the process of S313 that no data is received from the IC chip 3 within the specified time, the error process of S309 described above is performed.
If the response data is transmitted from the IC chip as a result of the determination, the communication control unit 22 receives the transmitted data (S314).
[0068]
In FIG. 12, when data from the IC chip 3 is received, the communication control unit 22 determines whether the data from the IC chip 3 includes server mode end identification data (S315).
If the server mode end identification data is included as a result of the determination, the communication control unit 22 performs a process for transitioning to the client mode in S303 and S304 described above.
If the server mode end data is not included as a result of the determination, the communication control unit 22 transmits the data transmitted from the IC chip 3 as response data to the server 1 (S316). Repeat the process.
Thereby, the data from the IC chip 3 can be directly transmitted to the server 1.
[0069]
Next, detailed processing of the IC chip 3 when the portable terminal 2 is in the server mode state will be described with reference to FIG.
In FIG. 13, when the mobile terminal 2 is in the server mode state and the server 1 transmits a control command encrypted with the IC chip secret key 3 to the IC chip, the control management unit 32 of the IC chip 3 receives the control command. Then, the encrypted control command is decrypted (S401).
At this time, the server 1 may transmit a combination of the IC chip control command data, the IC chip random number, and the server ID.
[0070]
When receiving the control command, the control management unit 32 determines whether or not the application program corresponding to the control command is in a controllable state, that is, whether or not the application program can be directly controlled via the security domain (S402). .
If the result of determination is that control is not possible, an error is notified to the portable terminal 2 and the process is terminated (S403). As a result, the portable terminal 2 automatically switches from the server mode to the client mode, and the server 1 is notified accordingly.
[0071]
On the other hand, when it is in a controllable state, the control management unit 32 determines whether or not the received control command corresponds to the control content set in the control condition information in advance (S404).
As a result of the determination, if the control content is not set in advance, the mobile terminal 2 is notified of the end of control and the process ends (S405).
[0072]
When the control content is set in advance as a result of the determination, the control management unit 32 refers to the control condition information stored in the storage unit 30 and controls the notified IC chip control command. It is determined whether or not the condition is met (S406). This process can be performed by determining whether the control management unit 32 conforms to the control method such as the number of control commands, the specified command, the specified data, and the command order stored in the control condition information.
[0073]
As a result of the determination, if the control condition is not met, the control management unit 32 increments the counter for receiving an illegal control command (S407).
Then, the control management unit 32 determines whether or not the counter value after counting up exceeds a preset upper limit value (S408).
As a result of the determination, if the upper limit value is not exceeded, the control management unit 32 moves to the process of S403 described above and notifies the mobile terminal 2 of an error.
If the counter value exceeds the upper limit value, the control management unit 32 locks the control of the IC chip application program to make it uncontrollable (S409), moves to the above-described processing of S403, and gives an error to the portable terminal 2. To be notified.
[0074]
In addition, when it is determined that the control command received in the process of S406 described above meets the control conditions, a predetermined application program of the IC chip 3 executes a process according to the control command (S410).
Then, the control management unit 32 determines whether all processing by the application program has been completed (S411).
As a result of the discrimination, if all the processes are not completed, the control result is notified to the portable terminal 2 (S412). As a result, the mobile terminal 2 transmits the notified control result as it is to the server 1.
If all the processes are completed as a result of the determination, the control management unit 32 returns the application program to an uncontrollable state (S413), and sends the control result to the portable terminal 2 as in the above-described process of S412. To end the process.
[0075]
As described above, the control end time generated by the server 1 is acquired via the IC chip 3 by the communication control unit 22 of the portable terminal 2 and transmitted from the server 1 to the IC chip 3 until the control end time. Since the processing by the terminal application program for the control command is prohibited and the control command is directly transmitted to the IC chip and transmitted, even if the application program of the portable terminal 2 is altered, the server 1 It is possible to prevent the IC chip 3 from performing unauthorized processing by changing the control command to an unauthorized control command by the application program of the mobile terminal 2, thereby improving security.
Further, since the control time can be safely set on the server 1 side, the control time can be appropriately changed according to the content of processing, the type of the mobile terminal 2, and the like, and the security is improved.
Furthermore, by dividing the time for which the mobile terminal 2 is in the server mode, it can be applied to a service that lends the time.
[0076]
Further, it is not necessary to always establish a session between the server 1 and the IC chip 3, and it is sufficient to establish a session between the server 1 and the IC chip 3 for the time until the control end time. Even a small network resource such as the portable terminal 2 can be processed efficiently.
[0077]
In addition, the control end time notified from the server 1 is displayed on the display unit 202 of the portable terminal 2, and information for confirming whether or not the user agrees to execute the process is output to give the user's consent. If processing is performed after obtaining the information, it is possible to prevent the server 1 from accessing the IC chip 3 without permission to perform processing, such as when user information is stored in the IC chip 3. , User privacy can be protected.
In addition, the contents of the user's consent may be set in the IC chip 3 or the portable terminal 2 in advance to automatically perform the process.
[0078]
When the session management unit 21 establishes an individual session with the server 1 or the IC chip 3 in the client mode, the server 1 or the IC chip 3 is authenticated based on a hash value based on predetermined specific information. Since it did in this way, the authentication process for establishing a session simply using a hash value can be performed. In addition, a hash value of predetermined unique information such as a random number or an ID can be easily authenticated without the mobile terminal 2 always holding secret information, and a session is established without reducing the load on the mobile terminal 2. be able to.
[0079]
In addition, the control condition for executing the control command is stored in the storage unit 30 of the IC chip 3, and the control command transmitted from the server 1 through the portable terminal 2 by the control management unit 32 becomes the control condition. Since the process based on the control command is executed after determining whether or not they match, even if the mobile terminal 2 is illegally operated and always enters the server mode, an illegal control command is input. By checking this on the IC chip 3 side, it is possible to prohibit the execution of unauthorized commands that are not set in advance, thereby further improving security.
[0080]
In the above-described embodiment, an example in which the server 1 is used as an external device has been described. However, the external device of the present invention is not limited to this, and for example, a terminal equipped with a predetermined security module or a reliable device A portable terminal may be used.
[0081]
The computer program for the server 1, portable terminal 2, or IC chip 3 of this embodiment may be distributed by storing it in a computer-readable medium (FD, CD-ROM, etc.), superimposed on a carrier wave, and communicated Distribution via a network is also possible.
[0082]
【The invention's effect】
According to the present invention, an IC chip connected to a communication terminal can be controlled safely and efficiently by an external device via the communication terminal.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of an embodiment of a system to which an IC chip control system, a communication terminal, and a computer program according to the present invention are applied.
FIG. 2 is a functional block diagram of a system according to the present embodiment.
FIG. 3 is a view showing an example of data stored in a storage unit of a server according to the embodiment.
FIG. 4 is a view showing an example of data stored in a storage unit of the mobile terminal according to the embodiment.
FIG. 5 is a view showing an example of data stored in a storage unit of the IC chip according to the embodiment.
FIG. 6 is a processing flow showing the overall processing flow of the system according to the embodiment.
FIG. 7 is a processing flow showing the overall processing flow of the system according to the present embodiment following FIG. 6;
FIG. 8 is a processing flow showing the overall processing flow of the system according to the present embodiment following FIG. 7;
FIG. 9 is a processing flow showing a detailed processing flow when the mobile terminal according to the present embodiment is in a client mode.
FIG. 10 is a processing flow showing a detailed processing flow of the mobile terminal according to the present embodiment following FIG. 9;
FIG. 11 is a processing flow showing a detailed processing flow when the mobile terminal according to the present embodiment is in a server mode.
FIG. 12 is a processing flow showing a detailed processing flow when the mobile terminal according to the present embodiment is in the server mode, continuing from FIG. 11;
FIG. 13 is a processing flow showing a detailed processing flow of the IC chip when the mobile terminal according to the embodiment is in a server mode.
[Explanation of symbols]
1 server
2 Mobile devices
3 IC chip
20 storage unit
21 Session Management Department
22 Communication control unit
23 Clock part
30 storage unit
31 Authentication / Session Management Department
32 Control Manager
201 Communication unit
202 Display section
203 Input section
204 memory
205 Reader / Writer
206 CPU
301 memory
302 CPU
303 Communication unit

Claims (7)

ICチップに対して所定の処理を実行させるための制御コマンドを生成する外部装置と、前記外部装置と通信可能に構成され、所定の処理を行うためのアプリケーションプログラムを保持する携帯通信端末と、前記携帯通信端末と接続又は通信可能に構成され、前記携帯通信端末を介して前記外部装置からの制御コマンドに応じて所定の処理を実行するICチップと、を有するシステムであって、
前記外部装置は、ICチップに対する制御を終了する制御終了時刻を生成し、
前記携帯通信端末は、前記外部装置が生成した制御終了時刻を取得して、この制御終了時刻まで、前記外部装置からICチップに対して送信される制御コマンドに対する前記アプリケーションプログラムによる処理を禁止して、前記制御コマンドをICチップにそのまま送信する、
ことを特徴とするICチップ制御システム。
An external device that generates a control command for causing the IC chip to execute a predetermined process; a portable communication terminal configured to communicate with the external device and holding an application program for performing the predetermined process; An IC chip configured to connect to or communicate with a mobile communication terminal and to execute predetermined processing in response to a control command from the external device via the mobile communication terminal,
The external device generates a control end time for ending control on the IC chip,
The mobile communication terminal obtains a control end time generated by the external device and prohibits processing by the application program for a control command transmitted from the external device to the IC chip until the control end time. The control command is transmitted to the IC chip as it is.
An IC chip control system characterized by the above.
前記ICチップは、制御コマンドを実行するための制御条件を記憶する記憶手段と、
前記通信端末からそのまま送信された制御コマンドが、前記記憶手段に記憶されている制御条件に合致するか否か判別し、前記制御条件に合致する場合に前記サーバから受信した制御コマンドに基づく処理を実行させる制御手段を有する、
請求項1記載のICチップ制御システム。
The IC chip has storage means for storing control conditions for executing a control command;
It is determined whether or not the control command transmitted as it is from the communication terminal matches the control condition stored in the storage means, and when the control command matches the control condition, processing based on the control command received from the server is performed. Having control means to execute,
The IC chip control system according to claim 1.
ICチップに対して所定の処理を実行させるための制御コマンドを生成する外部装置及び、前記外部装置からの制御コマンドに応じて所定の処理を実行するICチップと通信可能に構成された通信端末であって、
所定の処理を行うためのアプリケーションプログラムと、
前記外部装置が生成した制御終了時刻を取得して、この制御終了時刻まで、前記外部装置からICチップに対して送信される制御コマンドに対する前記アプリケーションプログラムによる処理を禁止して、前記制御コマンドをICチップにそのまま送信する通信制御手段と、
を有することを特徴とする通信端末。
An external device that generates a control command for causing the IC chip to execute a predetermined process, and a communication terminal configured to be able to communicate with the IC chip that executes the predetermined process in response to the control command from the external device There,
An application program for performing predetermined processing;
The control end time generated by the external device is acquired, and until this control end time, the processing by the application program for the control command transmitted from the external device to the IC chip is prohibited, and the control command is changed to IC Communication control means for transmitting to the chip as it is,
A communication terminal comprising:
前記通信制御手段は、前記外部装置から通知された制御終了時刻が経過した時には、前記外部装置からICチップに対する制御コマンドをそのまま送信することを禁止する、
請求項3記載の通信端末。
The communication control unit prohibits the external device from directly transmitting a control command to the IC chip when the control end time notified from the external device has elapsed;
The communication terminal according to claim 3.
前記外部装置から通知された制御終了時刻を表示して、ユーザに対して処理の実行に同意か否か確認するための情報を出力する出力手段を更に有する、
請求項3〜4のいずれかの項に記載の通信端末。
It further includes output means for displaying the control end time notified from the external device and outputting information for confirming whether or not the user agrees to execute the process.
The communication terminal according to any one of claims 3 to 4.
前記外部装置又はICチップとの間で個別にセッションを確立する場合、所定の固有情報に基づくハッシュ値に基づいて前記外部装置又はICチップの認証を行う認証処理手段を更に有する、
請求項3〜5のいずれかの項に記載の通信端末。
In the case of individually establishing a session with the external device or IC chip, it further comprises an authentication processing means for authenticating the external device or IC chip based on a hash value based on predetermined specific information.
The communication terminal according to any one of claims 3 to 5.
ICチップに対して所定の処理を実行させるための制御コマンドを生成する外部装置及び、前記外部装置からの制御コマンドに応じて所定の処理を実行するICチップと通信可能に構成され、所定の処理を行うためのアプリケーションプログラムを保持する通信端末としてコンピュータを機能させるためのコンピュータプログラムであって、
コンピュータに対して、
前記外部装置が生成した制御終了時刻を取得する処理と、
前記取得した制御終了時刻まで、前記外部装置からICチップに対して送信される制御コマンドに対する前記アプリケーションプログラムによる処理を禁止して、前記制御コマンドをICチップにそのまま送信する処理と、
を実行させるコンピュータプログラム。
An external device that generates a control command for causing the IC chip to execute a predetermined process, and an IC chip that executes the predetermined process in response to the control command from the external device are configured to communicate with the predetermined process. A computer program for causing a computer to function as a communication terminal that holds an application program for performing
Against the computer,
Processing for obtaining a control end time generated by the external device;
Processing for prohibiting processing by the application program for the control command transmitted from the external device to the IC chip until the acquired control end time, and transmitting the control command to the IC chip as it is;
A computer program that executes
JP2003033359A 2003-02-12 2003-02-12 IC chip control system, communication terminal and computer program Expired - Lifetime JP4103995B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003033359A JP4103995B2 (en) 2003-02-12 2003-02-12 IC chip control system, communication terminal and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003033359A JP4103995B2 (en) 2003-02-12 2003-02-12 IC chip control system, communication terminal and computer program

Publications (2)

Publication Number Publication Date
JP2004247815A JP2004247815A (en) 2004-09-02
JP4103995B2 true JP4103995B2 (en) 2008-06-18

Family

ID=33019354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003033359A Expired - Lifetime JP4103995B2 (en) 2003-02-12 2003-02-12 IC chip control system, communication terminal and computer program

Country Status (1)

Country Link
JP (1) JP4103995B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059372A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware
JP2006293746A (en) * 2005-04-12 2006-10-26 Nippon Telegraph & Telephone East Corp Management server and management method
EP2033145B1 (en) 2006-06-15 2011-04-06 Kabushiki Kaisha Toshiba Portable electronic device and control method thereof
WO2018225492A1 (en) * 2017-06-05 2018-12-13 ソニーセミコンダクタソリューションズ株式会社 Communication device and control method

Also Published As

Publication number Publication date
JP2004247815A (en) 2004-09-02

Similar Documents

Publication Publication Date Title
EP1388989B1 (en) Digital contents issuing system and digital contents issuing method
US8132236B2 (en) System and method for providing secured access to mobile devices
KR100881938B1 (en) System and method for managing multiple smart card sessions
KR101654778B1 (en) Hardware-enforced access protection
US20090095812A1 (en) System and method for managing multiple smart card sessions
CN101663903A (en) Secure soft sim credential transfer
KR20040075293A (en) Apparatus and method simplifying an encrypted network
JP2007174633A (en) Computer implementation method for securely acquiring binding key for token device and secure memory device, and system for securely binding token device and secure memory device
CN102792313A (en) Credential-based access to data
JP2011222010A (en) Method and system for securely and remotely startup, boot, and login from mobile device to computer
CA2516718A1 (en) Secure object for convenient identification
KR20160123604A (en) Method for managing of beacon device, and apparatus thereof
JP7413879B2 (en) Communication systems, electronic devices, and programs
US20050250472A1 (en) User authentication using a wireless device
JP5779996B2 (en) Wireless communication system
JP2008299457A (en) Authentication system, authentication method, and authentication socket device
CA2905373C (en) Method and apparatus for remote portable wireless device authentication
US9323911B1 (en) Verifying requests to remove applications from a device
CN111125705A (en) Capability opening method and device
JP4103995B2 (en) IC chip control system, communication terminal and computer program
JP4833745B2 (en) Data protection method for sensor node, computer system for distributing sensor node, and sensor node
WO2021210594A1 (en) Authentication verification system, device to be authenticated, authencation device, authentication verification method, authentication verification program, and computer-readable recording medium and recorded device
JP2002366529A (en) Device authentication system and device authentication method
JP5937545B2 (en) Mobile terminal, server device, information terminal, and shared terminal management system
KR101386363B1 (en) One-time passwords generator for generating one-time passwords in trusted execution environment of mobile device and method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080304

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080319

R150 Certificate of patent or registration of utility model

Ref document number: 4103995

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

Year of fee payment: 3

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130404

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140404

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

EXPY Cancellation because of completion of term