JP2004247815A - 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
JP2004247815A
JP2004247815A JP2003033359A JP2003033359A JP2004247815A JP 2004247815 A JP2004247815 A JP 2004247815A JP 2003033359 A JP2003033359 A JP 2003033359A JP 2003033359 A JP2003033359 A JP 2003033359A JP 2004247815 A JP2004247815 A JP 2004247815A
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.)
Granted
Application number
JP2003033359A
Other languages
Japanese (ja)
Other versions
JP4103995B2 (en
Inventor
Toru Iino
徹 飯野
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)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a system whereby a server can efficiently control an IP chip connected to a mobile terminal via the mobile terminal with security. <P>SOLUTION: A communication control section 22 of the mobile terminal 2 acquires a control end time generated by the server 1 via the IC chip 3 and inhibits processing by a terminal application program applied to a control command transmitted from the server 1 to the IC chip 3 until the control end time so as to directly transmit the control command from the server 1 to the IC chip without causing any modification. <P>COPYRIGHT: (C)2004,JPO&NCIPI

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(CentralProcessing 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]
TECHNICAL FIELD 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]
2. Description of the Related Art Conventionally, an IC chip is connected to a communication terminal such as a mobile phone terminal, and a predetermined process is executed by controlling the IC chip based on a control command from an external device such as a predetermined server via the communication terminal. That is being done.
In such a system, for example, a user or an agent activates an application of a communication terminal to access a server. The server notifies the communication terminal of an IC chip control command. 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 processes 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 have been performed.
[0003]
Also, in consideration of the security and the like of the application program on the communication terminal, there are two types of modes: a program mode in which the application program operates on the communication terminal, and a packet mode in which a card number or the like is read from an IC card and transmitted to a server. There has been proposed a system for automatically switching and processing the program according to a program downloaded from a server (for example, Patent Document 1).
Also, a system has been proposed in which a client terminal does not have a process of driving an IC chip, but has a server to reduce the processing load on 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, if processing is performed using an application program installed in the communication terminal as in the 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 control of the IC chip cannot be reliably performed.
[0006]
In addition, as in Japanese Patent Application Laid-Open No. 2001-222595, if the conditions to be changed depend on the downloaded program, it is not possible to cope with the case where this program is replaced or modified during communication, etc. There was a problem with security.
[0007]
Further, if all the programs for driving the IC chip are provided on the server side as disclosed in Japanese Patent Application Laid-Open No. 2001-282528, it is necessary to always establish a session between the IC chip and the server. There was a problem that many were required. Such a problem is not practical especially on a system with a small number of network resources such as a mobile phone terminal.
[0008]
The present invention has been made in order 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. Make it an issue.
[0009]
[Means for Solving the Problems]
In order to solve the above-described problems, an IC chip control system according to one aspect of the present invention includes an external device that generates a control command for causing an IC chip to execute a predetermined process, and is capable of communicating with the external device. And a mobile communication terminal that holds an application program for performing a predetermined process, and is configured to be connectable or communicable with the mobile communication terminal, and to respond to a control command from the external device via the mobile communication terminal. The external device generates a control end time for ending the control of the IC chip, and the portable communication terminal performs control performed by the external device. An end time is obtained, and the application to the control command transmitted from the external device to the IC chip is obtained until the control end time. Prohibits processing by Deployment program, characterized in that it transmits the control command to the IC chip.
[0010]
The IC chip may further include a storage unit configured to store a control condition for executing the control command, and determine whether a control command transmitted from the communication terminal as it is matches the control condition stored in the storage unit. And a control unit for executing a process based on a control command received from the server when the control condition is satisfied.
[0011]
A communication terminal according to one 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 in response to a control command from the external device. A communication terminal configured to be able to communicate with an IC chip. The communication terminal obtains an application program for performing a predetermined process and a control end time generated by the external device. Communication control means for prohibiting processing by the application program for a control command transmitted to the IC chip and transmitting the control command to the IC chip as it is.
[0012]
Further, the communication control means may prohibit 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. In addition, when there is an application program that is performing 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 an output unit that displays the control end time notified from the external device and outputs information for confirming whether or not the user consents to the execution of the process.
[0014]
Further, when individually establishing a session with the external device or the IC chip, an authentication processing unit for authenticating the external device or the IC chip based on a hash value based on predetermined unique information may be further provided. Good.
Further, the communication terminal may be a portable communication terminal.
[0015]
A computer program according to one aspect of the present invention includes 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 a control command from the external device. A computer program for causing a computer to function as a communication terminal configured to be able to communicate with an IC chip and to hold an application program for performing a predetermined process, the control program comprising: And a process of prohibiting a process by the application program for a control command transmitted from the external device to the IC chip until the obtained control end time, and transmitting the control command to the IC chip as it is. Are executed.
[0016]
BEST MODE FOR CARRYING OUT 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), or the like. And an IC chip 3 connected to the portable terminal 2 and configured to be communicable.
[0017]
The server 1 forms an external device according to the present invention. The server 1 includes a computer having a CPU (Central Processing Unit) and a storage unit such as an internal memory such as a RAM and a ROM capable of storing a computer program executed by the CPU and predetermined data, and an external storage device such as a hard disk drive. Can be configured.
When the CPU executes a predetermined computer program, the server 1 performs, for example, authentication processing of authentication data generated by the IC chip 3 using key data corresponding to the IC chip 3, A process for issuing a control command can be performed. Further, an error of the mobile terminal 2 and the IC chip 3 may be detected, and a predetermined error process may be performed.
Further, in the storage unit of the server 1, for example, as shown in FIG. 3, 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 can be stored. . As the negative list of the IC chip 3, for example, information such as a chip ID of the IC chip 3 in which an error has occurred, a secret key of the IC chip 3, an error occurrence date and time, an error count cumulative value, and a control history can be stored. In addition, as the negative list of the mobile terminal 2, a terminal ID, the date and time of occurrence of an error, a cumulative number of errors, and the like can be stored.
Further, as shown in FIG. 3, the storage unit of the server 1 can store the control content and the control end time at which the control was performed.
[0018]
The mobile 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 mobile so-called personal computer having a communication function, or the like.
As shown in FIG. 1, the mobile terminal 2 includes a communication unit 201 for performing communication processing with the server 1 via an antenna or the like, a display unit 202 such as a display, an input unit 203 such as a keyboard or a pointing device, a computer program or predetermined data. And a memory 204 such as a RAM or a RAM for storing data, a reader / writer (R / W) 205 that is electrically connected to the IC chip 3 or wirelessly performs data read / write processing, executes a computer program, and performs predetermined processing. Can be configured from the CPU 206.
Note that the communication unit 201 may perform a communication process via an optical medium such as an infrared ray. Further, a plurality of CPUs 206 may be provided, and the communication processing and the application processing may be respectively performed by different CPUs 206.
With these configurations, the storage unit 20 illustrated in FIG. 2 and the terminal OS (Operating System) can realize functional blocks such as a session management unit 21, a communication control unit 22, and a clock unit 23 that manages time. it can.
[0019]
As shown 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. The external node access condition can include, for example, data such as a server IP address, a server domain name, and a terminal PIN for each application program.
The AP status table is a table that indicates the status of the application program, and is capable of storing, for example, information indicating the status of each application such as inactive, not activated, or activated.
The terminal status 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 a predetermined application program is executed to perform processing. The server mode is designated by the server 1. Until the end time of the control, data such as a control command exchanged between the server 1 and the IC chip 3 is prohibited from being processed by the application program of the portable terminal 2 and communicates as it is. .
[0020]
During communication between the server 1 and the mobile terminal 2 and between the IC chip 3 and the mobile terminal 2, the session management unit 21 exchanges session information using unique information such as a random number and an ID generated by each node, and performs a session. Perform processing for establishing
When a session is established, the session management unit 21 generates a hash value based on specific information such as a predetermined random number and a terminal ID, and performs authentication processing using the hash value to prevent impersonation due to eavesdropping. In addition, it is possible to easily detect tampering of communication data.
Further, the session management unit 21 performs a transmission / reception process of a control command to the server 1 or the IC chip 3.
[0021]
The communication control unit 22 prohibits processing of the control command exchanged between the server 1 and the IC chip 3 by the application program in the communication terminal 2 until the control end time notified from the server 1, Control is performed so that communication can be performed without change. In addition, when there is a terminal application program that uses the application program in the IC chip 3, the communication control unit 22 controls to temporarily suspend the terminal application program.
Further, 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. , The communication between the server 1 and the mobile terminal 2 or only the communication between the IC chip 3 and the mobile terminal 2 is controlled.
[0022]
As shown in FIG. 1, the IC chip 3 includes a RAM 301 for storing a computer program and the like, 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 wirelessly exchanges data. Have 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 of the portable terminal 2 or the like that can perform processing on the IC chip 3, and includes an application ID (AID), its data, and an application. Key data and history information used by the program are included.
In addition, as information set in the IC chip 3, IC chip secret keys 1 to n for performing authentication, a chip ID as identification information of the IC chip 3, a temporarily generated IC chip random number, a PIN, The information includes control condition information, user confirmation information indicating information that needs to be confirmed by the user, a controllable flag indicating whether each application program is in a controllable state, and downloaded application program list information.
The control condition information is information indicating a control condition for the control content, and is a control content for the IC chip 3 and a control condition for executing the control content (for example, key data to be authenticated, the number of control commands, a controllable server). ID, etc.). These pieces of control condition information are set in the IC chip 3 in advance, and are referred to when determining the control content 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, perform a decoding process of session information or the like input from the mobile terminal 2 or the like, and perform an authentication process.
[0025]
The control management unit 32 performs control processing such as changing, erasing, and rewriting application programs and data in the IC chip 3 in response to external inputs.
Before performing control processing based on the control command transmitted via the mobile terminal 2, the control management unit 32 determines the control method (the number of control commands, the specified command, the specified data, It performs processing to confirm whether the command matches the command order, the specified data, or the hash value of the command. In this process, after the authentication / session management unit 31 checks the external node, the control management unit 32 temporarily sets the control method for the external node in the IC chip 3 so that the control process can be performed. To Then, when the control according to the specified control method is completed, the control management unit 32 clears the set control method, and in this state, control processing of application programs and data in the IC chip 3 is disabled. 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 the control method set in the IC chip 3 can be used in advance may be set. .
[0026]
Next, an IC chip control method according to the present embodiment will be described.
First, the flow of processing 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 the 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 stores the generated terminal random number. And 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 the 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 digital signature data (C1) obtained by encrypting the data obtained by combining the generated chip random number, terminal time information, terminal random number, and chip ID with the IC chip secret key 1, and generates the generated digital signature. The data (C1) and the chip ID are transmitted to the mobile terminal 2 via the communication unit 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 obtained by 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 digital signature data using the predetermined key data, and determines whether the received digital signature data and session information are appropriate (S105). The verification process of the digital signature data (C1) can be performed by the server 1 decrypting the digital signature data (C1) with the IC chip secret key corresponding to the chip ID. The session information of the mobile terminal 2 is confirmed by the server 1 generating a hash value (H1 ′) of data obtained by combining the received terminal time information, terminal random number, and terminal ID, and generating the hash value (H1 ′). And whether the hash value (H1) received from the portable terminal 2 matches.
[0030]
As a result of the discrimination, if the electronic signature data is not proper, 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. A process for prohibiting access is performed (S106), and the process ends.
[0031]
If the authentication result shows that the electronic signature data is appropriate, the server 1 sets the terminal ID of the mobile terminal 2 to be processed and generates new session information to be transmitted to the mobile terminal 2. And stores the generated session information, the server random number, and the server ID to the portable terminal 2 (S107). As the 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 obtained by combining the terminal random numbers 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 the session information is appropriate (S108). In this process, the session management unit 21 generates a hash value (H2) of 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 performed by determining whether the hash value (H2) matches the hash value (H2 ″) received from the server 1.
[0033]
If the result of the determination is not proper, the session management unit 21 notifies the server 1 of an error and clears the session information, the terminal time information, and the terminal random number stored in the storage unit 20 (S109). . When the error is notified from the mobile terminal 2, the server 1 performs the process of S106 described above and ends the process.
[0034]
When the session information is correct 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 the new session information in the storage unit 20, and generates the new session information. 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 to the server 1 (S110).
The session information generated at this time is composed of, for example, a hash value (H3) generated based on data 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 processing, the server 1 confirms the transmitted terminal ID, and generates a hash value (H3 ″) from a combination of the terminal ID, the terminal timer, the server random number, the request command, and the terminal random number. The processing can be performed by determining whether or not the hash value (H3 ″) obtained 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 shifts to the above-described error processing in S106 and ends.
If the session information is correct 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 the necessary IC chip control command. Then, it is encrypted (S112). This IC chip control command can be composed of, for example, a chip ID of the IC chip 3 to be controlled, the number of control commands, a control end time, a chip random number, a server ID, and the like. 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 the server random number in a predetermined storage unit. As the session information, for example, the server 1 generates a random number, and can use a hash value (H4 ″) generated based on a combination of the generated server random number, server ID, and terminal time information.
The setting of the control end time can be set by adding an approximate value of the control end time necessary for executing the specified process to the terminal time received by the server 1 for calculation.
[0038]
Upon receiving the information transmitted from the server 1 via the communication unit 201, the session management unit 21 of the mobile terminal 2 determines whether the received session information is appropriate (S114). In this process, the session management unit 21 checks the server ID, generates a hash value (H4) based on a combination of the received server random number, server ID, and terminal time information, and generates the generated hash value (H4). Is determined by determining whether or not the hash value (H4 ″) received from the server 1 conforms to the above.
Then, when it is determined as inappropriate as a result of the authentication, the processing shifts to the above-described error processing in S109 and thereafter, and the processing ends.
[0039]
With reference to FIG. 7, when the communication control unit 22 detects the IC chip control command included in the response data from the server 1 when it is determined that the session information is appropriate as a result of the authentication, The application program of the communication terminal 2 that is performing processing with the IC chip 3 to be controlled is temporarily suspended (S115).
Then, the session management unit 21 transmits the encrypted IC chip control command information, the server ID, and the 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 transmits the encrypted IC chip control command using the secret key 1 stored in the storage unit 30. The 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). ).
If the result of the determination is that they do 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).
As a result, the session management unit 21 of the mobile terminal 2 that has received the error notification performs the above-described error processing of S106 and ends the processing.
[0042]
If the result of the determination in S118 is affirmative, the authentication / session management unit 31 determines whether the control end time has not yet passed by comparing the terminal time stored in the storage unit 30 with the terminal time. (S120).
If it has already passed, the authentication / session management unit 31 performs the above-described error processing of S119 and thereafter, and ends the processing.
[0043]
If the time has not passed yet, the authentication / session management unit 31 determines whether 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 determines whether the received server ID is registered, whether the number of control commands satisfies the condition of the control condition information, or the like. Also, it is determined whether or not an application program corresponding to the received application program ID exists in the IC chip 3.
If these conditions are not satisfied, the authentication / session management unit 31 performs the above-described error processing of S119 and thereafter, 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. The session information and the decrypted control end time are transmitted via the communication unit 303. To the mobile terminal 2. At the same time, the control management unit 32 turns on the controllable flag of the application program in the IC chip 3 corresponding to the IC chip control command, thereby making the control state change to a controllable state (S122).
As the 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 the session information. Can be.
[0045]
When the portable terminal 2 receives the session information and the control end time via the reader / writer 205, the session management unit 21 determines whether 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 control end time received and the terminal random number and the chip ID stored in the storage unit 20, and the generated hash value This can be performed by determining whether the received hash value (H5) matches the value (H5 ″).
[0046]
If the result of the determination is that they do not match, the processing shifts to the above-described error processing in S109 and ends.
If the result of the determination is that the communication is compatible, the communication control unit 22 stores and sets the control end time in the storage unit 20 and sets the terminal state of 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 mobile terminal 2 so that the user can confirm the control end time and the like. If no IC chip control command is 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 transmits the IC chip control command from the server 1 in the server mode, the session management unit 21 prohibits the processing of the application program in response to the chip control command and transmits the chip control command to the IC. The data is transmitted to the chip 3 as it is (S125).
Upon receiving the IC chip control command, the control management unit 32 executes a predetermined application program in the IC chip 3 to execute data processing according to the control command from the server 1 (S126).
Note that the control management unit 32 may determine whether the IC chip control command from the server 1 satisfies a control condition such as the number of designated commands, and may execute a process based on the control command only when the command is satisfied.
[0048]
Then, the control management unit 32 returns an access response to the server 1 via the mobile terminal 2 (S127). Also at this time, since the portable terminal 2 is in the server mode, this response data is passed through and the server 1 is notified as it is.
The server 1 that has received the access response transmits a control command of the IC chip 3 corresponding to the response (S128), and executes a predetermined process of returning an access response from the IC chip 3 (S129). Do as many times as necessary to do so.
During this time, since the mobile terminal 2 is in the server mode, the mobile terminal 2 transmits control commands and response data between the server 1 and the IC chip 3 through them.
[0049]
Then, the communication control unit 22 of the mobile terminal 2 refers to the clock unit 23 and, when the control end time specified by the server 1 has come, changes the terminal state of the storage unit 20 from the server mode to the client mode. Then, the process proceeds to the client mode process after S101 described above.
[0050]
Next, a detailed process 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 started, and execution of a predetermined process is notified (S201), the session management unit 21 determines whether the specified process is a process for the predetermined server 1. It is determined whether the processing is for the IC chip 3 or for terminating the application program (S202).
[0051]
If the result of the determination is that the application program has ended, the session management unit 21 ends the running application program (S203).
If it is determined that the process is for the predetermined server 1, the session management unit 21 determines whether the address of the server 1 to which data can be transmitted is determined from the address of the designated server 1 by an external node of the storage unit 20. The determination is made with reference to the access condition table (S211).
If there is no information on the server 1 corresponding to the external node address condition table, that is, if the server 1 cannot be accessed, a predetermined error process is performed, and the process returns to S201 to wait for the next process from the application program and execute it (S212). .
[0052]
If it is determined that the server 1 can transmit data, the session management unit 21 transmits data according to the address or the like stored in the external node access condition table (S213), and receives data from the server 1. It is determined whether or not is within the designated time (S214).
When data cannot be transmitted to the server 1, the session management unit 21 may retry the data transmission process to the server 1 at a predetermined interval.
[0053]
If data has not been received from the server 1 within the designated 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 or not the transmission data from the server 1 includes control request information (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 process of S217, the session management unit 21 determines whether there is data for the IC chip 3 in the data from the server 1. It is determined whether or not it is (S219).
[0055]
When it is determined that there is data for the IC chip 3 as a result of the determination, the processing shifts 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 a process for the communication terminal 2 (S220), and the process returns to S211 to wait for the execution of the process from the application program.
[0056]
In FIG. 9, when the process from the application program is a process for 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 the data reception from the IC chip 3 has occurred within the designated time (S232).
When data cannot be transmitted to the IC chip 3, the session management unit 21 may retry the data transmission processing to the IC chip 3 at a predetermined interval.
[0057]
If there is no reply from the IC chip 3 within the designated time, the session management unit 21 notifies the application program of an error (S233), and returns to the above-described processing of S201 to wait 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 (S 234), and notifies the data from the IC chip 3 from the server 1. Then, it is determined whether the control end time information is included (S235).
As a result of the determination, if the control end time information is not included, the session management unit 21 notifies the application program of the data received from the IC chip 3 (S236), and returns to the processing of S201.
Further, as a result of the determination, when the control end time information is included, the communication control unit 22 makes a transition to a server mode process described later (S237).
[0059]
Next, a detailed process when the mobile terminal 2 enters the server mode will be described with reference to FIG.
11, when 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 determines whether the current time has exceeded the control end time with reference to the clock unit 23 (S302).
[0060]
If the result of the determination is that the control end time has passed, 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 releases the suspension of the application program and shifts to the client mode (S304).
[0061]
If the result of determination in S302 is that the control end time has not passed, the communication control unit 22 determines whether data reception from the server 1 is within a specified time (S305).
As a result of the determination, if no data is received within the designated time, the communication control unit 22 notifies the server 1 of an error (S306), and proceeds to the above-described processes of S303 and S304.
[0062]
Also, as a result of the determination in S305, when data is transmitted from the server 1, the communication control unit 22 receives the data from the server 1 (S307), and determines whether the received data is received from the specified server 1. It is determined whether or not it is (S308).
If the result of the determination is that the data is not data from the specified server 1, the process proceeds to the above-described step S309 to perform error processing.
[0063]
If the result of the determination is that the data is from the designated server 1, the communication control unit 22 displays the control end time and the like notified from the server 1 to the user on the display unit 202, and Determine whether the user agrees 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 as in the processing of S309, and performs the error processing of S303 and S304.
[0064]
If it is determined in step S310 that the user has agreed, the communication control unit 22 determines whether the data such as the control command notified from the server 1 includes the end identification data of the server mode. It is determined (S311).
The server mode end identification data is data for instructing the end of the server mode of the mobile terminal 2 from the server 1 side.
[0065]
As a result of the determination, when the server mode end identification data is included, the communication control unit 22 performs the above-described processing of S303 and S304, and performs processing for transitioning from the server mode to the client mode.
If the result of the determination indicates that the server mode end identification data is not included, the processing of the application program for the data received from the server 1 is prohibited, and this data is passed through to the IC chip 3 as it is (S312). ).
[0066]
Then, the communication control unit 22 determines whether data reception from the IC chip 3 is within the designated 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 step S313 that no data has been received from the IC chip 3 within the designated time, the above-described error processing in step S309 is performed.
Further, as a result of the determination, when reply data is transmitted from the IC chip, the communication control unit 22 receives the transmitted data (S314).
[0068]
In FIG. 12, when receiving data from the IC chip 3, the communication control unit 22 determines whether or not the data from the IC chip 3 includes the server mode end identification data (S315).
As a result of the determination, if the server mode end identification data is included, the communication control unit 22 performs the processing for transitioning to the client mode in S303 and S304 described above.
Also, as a result of the determination, if the server mode end data is not included, 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.
As a result, the data from the IC chip 3 can be transmitted to the server 1 as it is.
[0069]
Next, detailed processing of the IC chip 3 when the mobile terminal 2 is in the server mode state will be described with reference to FIG.
In FIG. 13, when the mobile terminal 2 transmits a control command encrypted with the IC chip secret key 3 to the IC chip in the server mode, 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]
Upon receiving the control command, the control management unit 32 determines whether the application program corresponding to the control command is in a controllable state, that is, whether the application program can be directly controlled via the security domain (S402). .
If the result of the determination is that control is not possible, an error is notified to the portable terminal 2 and the process is terminated (S403). Thereby, the portable terminal 2 automatically switches from the server mode to the client mode, and is notified to the server 1 to that effect.
[0071]
On the other hand, when the control is possible, the control management unit 32 determines whether the received control command corresponds to the control content set in advance in the control condition information (S404).
If the result of the determination is that the control content is not the preset control content, the mobile terminal 2 is notified of the control end, and the process ends (S405).
[0072]
When the result of the determination indicates that the control content is a preset control content, 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 satisfied (S406). This process can be performed by the control management unit 32 determining whether or not it conforms to a control method such as the number of control commands, designated commands, designated data, and command order stored in the control condition information.
[0073]
As a result of the determination, when the control condition is not satisfied, the control management unit 32 counts up the reception of the illegal control command (S407).
Then, the control management unit 32 determines whether or not the counter value after the counter increment has exceeded a preset upper limit value (S408).
If the result of the determination is that the value does not exceed the upper limit value, the control management unit 32 proceeds to the above-described processing of S403 and notifies the portable 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 disable the control (S409), shifts to the process of S403, and issues an error message to the portable terminal 2. Notify.
[0074]
When it is determined that the control command received in the above-described processing of S406 matches the control condition, a predetermined application program of the IC chip 3 executes a processing according to the control command (S410).
Then, the control management unit 32 determines whether or not all processing by the application program has been completed (S411).
As a result of the determination, if all the processes have not been completed, the control result is notified to the portable terminal 2 (S412). Thereby, the portable terminal 2 transmits the notified control result to the server 1 without any change.
When 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 process of S412 described above. To end the process.
[0075]
In this way, the communication control unit 22 of the mobile terminal 2 acquires the control end time generated by the server 1 via the IC chip 3 and transmits the control end time from the server 1 to the IC chip 3 until this control end time. Since the control command is prohibited from being processed by the terminal application program and the control command is transmitted as it is to the IC chip as it is, even if the application program of the mobile terminal 2 is modified, etc. It is possible to prevent the control command from being changed into an unauthorized control command by an application program of the mobile terminal 2 and to perform an unauthorized process on the IC chip 3, thereby improving security.
In addition, 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 the processing, the type of the mobile terminal 2, and the like, and the security is enhanced.
Further, by dividing the time when the mobile terminal 2 is set to the server mode, it is possible to apply the time to the 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 only until the control end time. However, even small network resources such as the mobile terminal 2 can be efficiently processed.
[0077]
In addition, the control end time notified from the server 1 is displayed on the display unit 202 of the mobile terminal 2, and information for confirming whether or not to consent to the execution of the process is output to the user, and the consent of the user is output. If the processing is performed after obtaining the information, it is possible to prevent the server 1 from arbitrarily accessing the IC chip 3 and performing the processing, for example, when the user information is stored in the IC chip 3. Thus, the privacy of the user can be protected.
Alternatively, the processing may be automatically performed by setting the consent of the user in the IC chip 3 or the portable terminal 2 in advance.
[0078]
When the session management unit 21 individually establishes a 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 unique information. As a result, authentication processing for easily establishing a session can be performed using the hash value. In addition, the mobile terminal 2 can easily authenticate a hash value of predetermined unique information such as a random number or an ID without the need for the mobile terminal 2 to constantly hold secret information, and establish a session without reducing the load on the mobile terminal 2. be able to.
[0079]
The control condition for executing the control command is stored in the storage unit 30 of the IC chip 3, and the control management unit 32 determines that the control command notified from the server 1 through the mobile terminal 2 becomes the control condition. Since the process based on the control command is executed after determining whether or not the command matches, even if the portable terminal 2 is operated improperly to always be in the server mode and an improper control command is input, By checking this on the IC chip 3 side, execution of an unauthorized command that is not set in advance can be prohibited, and security can be further improved.
[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. For example, a terminal equipped with a predetermined security module, A mobile terminal may be used.
[0081]
The computer program for the server 1, the mobile terminal 2, or the IC chip 3 of the present embodiment may be stored in a computer-readable medium (FD, CD-ROM, etc.) and distributed, or may be superimposed on a carrier wave for communication. 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 safely and efficiently controlled 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 the system according to the embodiment;
FIG. 3 is an exemplary view showing an example of data stored in a storage unit of the server according to the embodiment.
FIG. 4 is an exemplary 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 chart showing the overall processing flow of the system according to the embodiment;
FIG. 7 is a processing flow showing the entire 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 portable terminal according to the embodiment is in a client mode.
FIG. 10 is a processing flow showing a detailed processing flow of the portable terminal according to the present embodiment following FIG. 9;
FIG. 11 is a processing flow showing a detailed processing flow when the portable terminal according to the embodiment is in the server mode.
FIG. 12 is a processing flow showing a detailed processing flow when the portable terminal according to the present embodiment is in the server mode, following FIG. 11;
FIG. 13 is a processing flow showing a detailed processing flow of the IC chip when the portable terminal according to the embodiment is in the server mode.
[Explanation of symbols]
1 server
2 Mobile terminals
3 IC chip
20 storage unit
21 Session Management Department
22 Communication control unit
23 Clock section
30 storage unit
31 Authentication / Session Management Department
32 Control management unit
201 Communication unit
202 Display
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 be able to communicate with the external device, and holding an application program for performing the predetermined process; An IC chip configured to be connected or communicable with a mobile communication terminal, and to execute a predetermined process 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 the control on the IC chip,
The portable communication terminal obtains a control end time generated by the external device, and prohibits processing by the application program on a control command transmitted from the external device to the IC chip until the control end time. Transmitting the control command to the IC chip as it is,
An IC chip control system, characterized in that:
前記ICチップは、制御コマンドを実行するための制御条件を記憶する記憶手段と、
前記通信端末からそのまま送信された制御コマンドが、前記記憶手段に記憶されている制御条件に合致するか否か判別し、前記制御条件に合致する場合に前記サーバから受信した制御コマンドに基づく処理を実行させる制御手段を有する、
請求項1記載のICチップ制御システム。
A storage unit configured to store a control condition for executing a control command;
The control command transmitted from the communication terminal as it is is determined whether or not the control condition matches the control condition stored in the storage unit. If the control command matches the control condition, a process 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. So,
An application program for performing predetermined processing;
Obtaining the control end time generated by the external device, prohibits processing of the control program transmitted from the external device to the IC chip by the application program until the control end time, and transmits the control command to the IC. Communication control means for directly transmitting to the chip;
A communication terminal comprising:
前記通信制御手段は、前記外部装置から通知された制御終了時刻が経過した時には、前記外部装置からICチップに対する制御コマンドをそのまま送信することを禁止する、
請求項3記載の通信端末。
The communication control unit, when the control end time notified from the external device has elapsed, prohibits the external device from directly transmitting a control command to the IC chip,
The communication terminal according to claim 3.
前記外部装置から通知された制御終了時刻を表示して、ユーザに対して処理の実行に同意か否か確認するための情報を出力する出力手段を更に有する、
請求項3〜4のいずれかの項に記載の通信端末。
An output unit that displays the control end time notified from the external device and outputs information for confirming whether or not the user has consented to execution of the process,
The communication terminal according to claim 3.
前記外部装置又はICチップとの間で個別にセッションを確立する場合、所定の固有情報に基づくハッシュ値に基づいて前記外部装置又はICチップの認証を行う認証処理手段を更に有する、
請求項3〜5のいずれかの項に記載の通信端末。
When individually establishing a session with the external device or the IC chip, further comprising an authentication processing unit that performs authentication of the external device or the IC chip based on a hash value based on predetermined unique information,
The communication terminal according to claim 3.
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 device that executes a predetermined process in response to a control command from the external device, and is configured to be communicable with the IC chip. A computer program for causing a computer to function as a communication terminal holding an application program for performing
Against the computer
A process of acquiring a control end time generated by the external device;
Until the acquired control end time, prohibiting processing by the application program for a control command transmitted from the external device to the IC chip, 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 true JP2004247815A (en) 2004-09-02
JP4103995B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293746A (en) * 2005-04-12 2006-10-26 Nippon Telegraph & Telephone East Corp Management server, and management method
WO2007145366A1 (en) * 2006-06-15 2007-12-21 Kabushiki Kaisha Toshiba Portable electronic device and control method thereof
JP2008512909A (en) * 2004-09-10 2008-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Integrated circuit chip for encryption and decryption with secure mechanism for programming on-chip hardware
WO2018225492A1 (en) * 2017-06-05 2018-12-13 ソニーセミコンダクタソリューションズ株式会社 Communication device and control method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008512909A (en) * 2004-09-10 2008-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Integrated circuit chip for encryption and decryption with 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
WO2007145366A1 (en) * 2006-06-15 2007-12-21 Kabushiki Kaisha Toshiba Portable electronic device and control method thereof
US8595826B2 (en) 2006-06-15 2013-11-26 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
JP4103995B2 (en) 2008-06-18

Similar Documents

Publication Publication Date Title
KR100843072B1 (en) Wireless network system and communication method using wireless network system
CN102215221B (en) Methods and systems for secure remote wake, boot, and login to a computer from a mobile device
TWI489315B (en) System and method for temporary secure boot of an electronic device
KR100881938B1 (en) System and method for managing multiple smart card sessions
EP1801721B1 (en) Computer implemented method for securely acquiring a binding key for a token device and a secured memory device and system for securely binding a token device and a secured memory device
CN109479049B (en) System, apparatus and method for key provisioning delegation
US20180184290A1 (en) Embedded Certificate Method for Strong Authentication and Ease of Use for Wireless IoT Systems
KR20040075293A (en) Apparatus and method simplifying an encrypted network
US20090095812A1 (en) System and method for managing multiple smart card sessions
KR20160123604A (en) Method for managing of beacon device, and apparatus thereof
JP2009253380A (en) User authentication method, wireless communication apparatus, base station, and account management apparatus
WO2014142857A1 (en) Wireless communication of a user identifier and encrypted time-sensitive data
JP2006060806A (en) Method for binding devices connected by wireless network
JP2008299457A (en) Authentication system, authentication method, and authentication socket device
JP7413879B2 (en) Communication systems, electronic devices, and programs
JP4103995B2 (en) IC chip control system, communication terminal and computer program
JP5937545B2 (en) Mobile terminal, server device, information terminal, and shared terminal management system
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
JP4018584B2 (en) Wireless connection device authentication method and wireless connection device
JP5545433B2 (en) Portable electronic device and operation control method for portable electronic device
JPH07250061A (en) Security system for transmission/reception of telegraphic message
KR20170010341A (en) Method for Processing Certification by using Secure Operating System
EP3369024B1 (en) Method, printing device and system for printing a three dimensional object
JP2003338823A (en) Radio communication system and control method therefor
US20220078026A1 (en) Verifications of workload signatures

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