JP3863122B2 - Wireless terminal, communication control program, and communication control method - Google Patents

Wireless terminal, communication control program, and communication control method Download PDF

Info

Publication number
JP3863122B2
JP3863122B2 JP2003090787A JP2003090787A JP3863122B2 JP 3863122 B2 JP3863122 B2 JP 3863122B2 JP 2003090787 A JP2003090787 A JP 2003090787A JP 2003090787 A JP2003090787 A JP 2003090787A JP 3863122 B2 JP3863122 B2 JP 3863122B2
Authority
JP
Japan
Prior art keywords
communication
application program
unit
wireless terminal
setting
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 - Fee Related
Application number
JP2003090787A
Other languages
Japanese (ja)
Other versions
JP2004297711A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003090787A priority Critical patent/JP3863122B2/en
Publication of JP2004297711A publication Critical patent/JP2004297711A/en
Application granted granted Critical
Publication of JP3863122B2 publication Critical patent/JP3863122B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、Bluetooth(登録商標)などの比較的狭い範囲で通信を行う近接通信手段を備えた無線端末、通信制御プログラム及び通信制御方法に関し、特に、アプリケーションプログラムに従って近接通信手段での通信を行う技術に関する。
【0002】
【従来の技術】
最近、伝送距離が10m程度の近距離無線通信が注目を集めている。従来の無線LANの有効な伝送距離範囲が100m以上であるのに対し、近距離無線通信は、伝送範囲が狭い分、使用する電力が少ないので、携帯電話やPDA等の携帯型情報処理装置(以下、簡単に携帯端末と呼ぶ)などのバッテリーに制限がある通信機器に適している。
【0003】
Bluetoothは、この種の近距離無線通信の1つであり、近年、このBluetooth通信手段を搭載した携帯端末が普及し始めている(非特許文献1〜4参照)。
【0004】
Bluetoothは、デバイスの単価が安く、装置の小型化が可能なため、Bluetooth通信機能を備えた装置が今後いたるところに普及すると予想される。Bluetoothが普及すると、任意の場所で、各場所に応じたサービスや情報の提供を受けられるようになる。
【0005】
例えば、コンビニエンスストア、スーパーマーケット及び小売店などでは、電子クーポンサービス、電子ポイントサービス、電子決済、レシート及び領収書発行などの購買者向けのサービスを提供することが可能になる。また、電子チケットによりゲート開閉の制御、自動販売機での決済や割引サービス、駐車場、ガソリンスタンド及びドライブスルーでの料金支払いなどへの応用も期待されている。他に、インターネットへのアクセス、特定の場所に依存する情報配信及び利用者の位置情報の提供なども可能となる。
【0006】
また、最近の携帯電話は、ITRON(登録商標)、Symbian(登録商標)、Linux(登録商標)のようなOS(Operating System)を搭載し、これらOS上で仮想マシンを動作させ、異なるメーカの端末でも同一のアプリケーションを実行できるような環境が整っている。
【0007】
JAVA(登録商標)の仮想マシンは1つの実現形態である。JAVA上で動作するJAVAアプリケーションは、携帯電話が有するデータ通信の機能を利用して、インターネット上の特定のサーバからダウンロードされ、携帯電話の内部の記憶装置に保存される。その際、JAVAアプリケーションの付属情報を記述したJAD(Java Application Descriptor)ファイルも併せてダウンロードされて、記憶装置に保存される。
【0008】
利用者が、アプリケーションの起動を携帯電話に指示すると、OSは、JAVA仮想マシンを起動させ、そのJAVA仮想マシン上で、指定したアプリケーションを動作させる。また、仮想マシンの起動時には、アプリケーションに対応づけられたJADファイル内の情報を元に、仮想マシンが利用可能なリソースの設定や制限を行う。
【0009】
この種の仮想マシンの規格には、CLDCと呼ばれるコアの規格や、通信とユーザインタフェースを規定したMIDPと呼ばれる規格が存在している。MIDPは、Ver2の規格が策定され、JAVAアプリケーションをダウンロードするときに、アプリケーションに付属する電子署名の検証を行い、そのアプリケーションが信頼できるかどうかの判定を行い、そのアプリケーションが利用可能なハードウェアリソースとクラスの制約を設定することが可能となっている。
【0010】
また、JAVAの仮想マシンからBluetoothの機能の利用を可能とする規格 JSR82が制定されたことにより、JAVAアプリケーションは、Bluetoothクラスのメソッドを通じてBluetooth通信機能を一部利用することが可能となった。JAVA仮想マシンのセキュリティの方針により、JAVAアプリケーションが携帯電話のハードウェアを直接制御することは、禁止あるいは制限されており、そのために利用可能なBluetooth機能が限定されている。
【0011】
JSR82では、JAVAアプリケーションとは異なるBCC (Bluetooth Control Center)と呼ばれるエンティティを通じて、ハードウェアに関する設定を行うよう定義することで、上記機能制限を一部緩和している。仕様には、BCCの実現形態の1つとして、OSネーティブのアプリケーションが担う形が記載されている。
【0012】
【非特許文献1】
J2METM Connected, Limited Device Configuration
http://jcp.org/en/jsr/detail?id=30
【非特許文献2】
Mobile Information Device Profile for the J2METM Platform
http://jcp.org/en/jsr/detail?id=37
【非特許文献3】
JavaTM APIs for Bluetooth
http://jcp.org/en/jsr/detail?id=82
【非特許文献4】
Mobile Information Device Profile 2.0
http://jcp.org/en/jsr/detail?id=118)
【0013】
【発明が解決しようとする課題】
BCCを通じて行われた設定内容は、不揮発メモリなどに記憶される。JAVA仮想マシンは、JAVAアプリケーションからBluetooth用のメソッドがコールされた時に、その処理が実行可能かどうか設定値を見て判定する。例えば、BCCでBluetooth通信機能をOFFにしている状況で、JAVAアプリケーションを起動し、JAVAアプリケーションが端末発見コマンドを実行しようとすると、BCCの設定がBluetoothの機能をOFFに設定されているため、このコマンドの戻り値はエラーとなる。
【0014】
また、BCCでセキュリティ機能をOFFにしている状況で、JAVAアプリケーションが認証コマンドを実行しようとすると、同様にこのコマンドの戻り値はエラーとなる。
【0015】
この場合、利用者は、JAVAアプリケーションを一旦終了し、BCCを起動して設定値を変更し、再度JAVAアプリケーションを起動することになる。あるいは、他の実装形態として、コマンド要求時に、JAVA仮想マシンが、あるいは、OSが自動的にBCCを起動する、あるいは、設定変更用のダイアログを提示することにより、BCCが管理する設定の変更を明示的に利用者が変更するように促す方法もありうる。
【0016】
また、BCCで認証モードに設定している場合は、相手装置に接続要求を行うとき、あるいは、接続要求を受け入れる時に、認証手順が実行される。通常HCIイベントとして認証要求イベントをHCIタスクが受信し、JAVA仮想マシンタスク、あるいは、OSが認証用のキーの入力を促すダイアログを画面に提示し、利用者の明示的なキー入力(通常PINコードと呼ばれる、認証用のキーを作成するためのデータ入力)を要求する。
【0017】
しかしながら、短いPINコードはセキュリティ的に問題があると指摘されており、理想的なPINコード長として128ビットが求められているが、128ビットのコード長では32文字の英数字の入力が必要となり、利用者の入力に要する負担が非常に大きい。もし、この時入力ミスを行うと、双方の端末認証が失敗し、接続できなくなり、再度接続手順を実行してPINコードを正しく入力する必要がある。
【0018】
また、他の装置に対して特定のサービスを提供する場合や、他の装置から特定のサービスの提供を受ける場合には、そのサービスが使用される状況に適したBluetoothデバイスの設定が、処理時間やユーザビリティの観点からみて必要である。
【0019】
例えば、顧客が所持する携帯電話とキャッシュレジスタがBluetoothで接続しあって金銭決済を行う場合には、セキュリティ上、通信範囲を狭く設定するのが望ましい。
【0020】
しかしながら、現在のJSR82の仕様ではこのような通信範囲の変更設定は行えない。BCCを通じて設定を行う手法も考えられるが、アプリケーションを起動する前にBCCを起動し、使用するアプリケーションに適した設定を利用者が明示的に行うのは非常に煩わしい。さらに、アプリケーション終了後に元の設定に戻すことを忘れてしまうと、次回異なるサービスを受ける場合に、うまくつながらないなどの問題が生じる可能性がある。
【0021】
JAVAアプリケーションからBluetoothの処理を行う場合には、Bluetoothの処理時間に加えて、JAVA仮想マシンの起動やJAVAアプリケーションの起動時間などのオーバヘッドが生じるため、利用者の処理待ち時間が長くなる。
【0022】
本発明は、このような点に鑑みてなされたものであり、その目的は、サービスを受けるアプリケーションが信頼できる場合のみ近接通信手段の通信を許可するとともに、近接通信手段の通信設定の煩わしさを軽減し、サービスを受けるまでの処理時間の短縮が可能な無線端末、通信制御プログラム及び通信制御方法を提供することにある。
【0023】
【課題を解決するための手段】
本発明の一態様によれば、付属情報を含むアプリケーションプログラムを受信可能な第1の通信手段と、
前記付属情報に基づいて、前記アプリケーションプログラムが信頼できるか否かを検証する信頼検証手段と、
前記アプリケーションプログラムが利用する、前記第1の通信手段とは別個に設けられ前記第1の通信手段よりも通信可能な範囲が狭い第2の通信手段と、
前記信頼検証手段により信頼できると検証された前記アプリケーションプログラムを実行するとき、前記付属情報に含まれる前記第2の通信手段による通信に必要な情報に従って前記第2の通信手段の通信設定を行う通信設定手段と、
前記通信設定手段が前記第2の通信手段に通信設定を行った後、前記アプリケーションプログラムを起動する起動開始手段と、を備え、
前記第2の通信手段による通信に必要な情報は、通信相手の起動検索、認証モード、リンクキー、PINコード、送信電力、ページタイムアウト、スーパビジョンタイムアウト、ページスキャンインターバル、インクワイアリスキャンインターバル、他のアプリケーションの排他、有効通信距離、パケットタイプ、クラスオブデバイス、インクワイヤリアクセスコード及びチャネル番号の少なくとも一つを含むことを特徴とすることを特徴とする無線端末が提供される。
【0024】
【発明の実施の形態】
以下、本発明に係る無線端末について、図面を参照しながら具体的に説明する。以下では、本発明に係る無線端末の一例として、Bluetooth通信機能を持つ無線端末について説明する。本実施形態の無線端末は、通信相手であるBluetooth機能を持つサービス提供装置との間で、Bluetoothの仕様に準拠する手法で接続を確立し、接続の確立に成功すると、サービス提供装置から各種サービスの提供を受けることができる。
【0025】
本実施形態の無線端末は、例えば携帯電話やPDAなどであり、サービス提供装置は、例えばキャッシュレジスタ、自動改札機、自動販売機及び情報提供装置などであるが、以下では、無線端末として携帯電話を用い、サービス提供装置としてキャッシュレジスタを用いる場合について説明する。
【0026】
(第1の実施形態)
図1は本発明に係る無線端末の一実施形態である携帯電話の内部構成の一例を示すブロック図である。図1の携帯電話は、内部バス1に接続され所定のプログラムを実行するCPU2と、携帯電話制御プログラム、もともと内蔵されているプログラムや辞書データを記憶するROM3と、一時的な変数やデータを格納するメモリ4と、個人登録情報や電子クーポン、ダウンロードしたプログラム、プログラム管理データなどを保存するEEPROM5と、マイク6で音声信号をデジタル信号に変換するA/D7と、デジタル信号を音声信号に変換してスピーカ8に出力するD/A9と、筐体を振動させる偏心モータ10と、基地局11との通信を行う通信部12と、各種情報を表示する表示部13と、電話番号や文字を入力するキー入力部14と、メニューの選択等を行う選択指示部15と、Bluetoothモジュール16と(以下、BTモジュールと呼ぶ)を備えている。
【0027】
BTモジュール16は、例えば、キャッシュレジスタとの間に無線通信路を確立し、キャッシュレジスタから提供されるサービスを受ける機能を有する。BTモジュール16の動作はBluetoothの仕様に準拠するものとする。
【0028】
BTモジュール16と内部バス1の間には、BTモジュール16を内部バス1に接続するためのUARTインタフェースに準拠したインタフェース部17が設けられる。このインタフェース部17はUARTの通信方式でBTモジュール16との間で通信を行う。
【0029】
あるいは、BTモジュール16の外部インタフェースの形式を内部バス1の信号形式に合わせてもよい。あるいは、BTモジュール16ではなく、Bluetooth用のRFモジュール(不図示)を内部バス1に接続し、リンク管理を行うベースバンドモジュールが提供していた機能をCPU2がプログラムとして実行して、同等の機能を提供する構成も考えられる。
【0030】
BTモジュール16に対してコマンドを与える手法やBTモジュール16からイベントを受け取る手法は、Bluetoothの仕様に記述されているHCI(Host Controller Interface)に沿った形で実現する。あるいは、ベースバンド固有の通信プロトコルを利用する手法もありうる。
【0031】
音声通話に関する構成は、従来の携帯電話と同様であり、例えば、通信部12は、基地局11との間で位置登録、発呼・着呼時の呼制御を行ってデータの送受信を行い、通信が終了した際には切断の呼制御を、通信中にはハンドオーバ等を行う。
【0032】
通信部12は、基地局11からの接続要求を受信した場合には、スピーカ8から呼出し音を出力するか、あるいは、偏芯モータを駆動して携帯電話の筐体を振動させて、携帯電話の所有者であるユーザの注意を喚起する。ユーザが接続了解を応答した後、携帯電話とキャッシュレジスタとの間で回線接続を行って通信を開始する。
【0033】
通信時には、携帯電話は、マイク6から入力された音声をA/D7でアナログ信号からデジタル信号に変換し、CPU2の制御の下で、デジタルデータの圧縮処理を行い、通信部12を通じて近接の基地局11に送信する。また、通信部12で受信された信号は、CPU2の制御の下で、伸張処理等が行われて元の信号に戻された後、D/A9でデジタル信号からアナログ信号に変換されてスピーカ8から出力される。
【0034】
図1の携帯電話がキャッシュレジスタ1からサービス提供を受ける機能は通常、アプリケーションプログラムで実現される。近年では、JAVAの仮想マシンを携帯電話内で実行し、公衆網を通じて取得したJAVAアプリケーションを携帯電話の記憶装置に保存し、そのJAVAアプリケーションをJAVA仮想マシン上で実行する技術が普及している。本実施形態ではこの技術を用いて説明を行う。JAM(Java Application Manager)は、アプリケーションの属性を記載したJAD(JAVA Application Descriptor)ファイルのダウンロード、JAVAアプリケーションのダウンロード、ダウンロードしたプログラムをEEPROM5への記録、また、図8のようなプログラム管理データを記録、記録したアプリケーションの起動、アプリケーションの削除などの管理を行う。JAMは、OSネーティブのアプリケーションであり、起動時にプログラム管理データに記載している内容に従ってOSのリソースをアサインする。
【0035】
携帯電話のJAVAアプリケーションを保存したり、JAVAアプリケーションのデータを保存したりするスクラッチパッドと呼ばれるメモリ空間は、通常のメモリ空間とは異なる管理をされており、他のアプリケーションからアクセスを行うことはできない。これにより、不正なアプリケーションからデータを保護してセキュリティを確保している。
【0036】
また、JAVA仮想マシンからBluetoothを制御するAPI(Application Program Interface)はJSR-82として規定されており、JAVAアプリケーションは、JAVA仮想マシンが提供するAPIを通じてBTモジュール16にコマンドを送信し、BTモジュール16からのイベントは、JAVA仮想マシンを通じて受信し、登録した関数にコールバックされる。
【0037】
図2はJAVAアプリケーションがBluetooth機能を使用するために必要なモジュールのブロック図である。本実施形態では、携帯電話のOSとしてITRONを用いる例を説明する。図2の各ブロックはタスクとして管理し、携帯電話の電源投入時にタスクとして起動し、OSから呼ばれるまで待機している。各タスク間では、OSを経由してメッセージを交換することにより処理を進める。HCIタスク21は、上位のプロトコル、あるいは、BCCから指示された値をBTモジュール16に設定する、あるいは、指定された項目の現在BTモジュール16に設定されている値の読み出し、リンクを制御するためのコマンドの実行要求を行う。
【0038】
JAVAアプリケーション22からのコマンドは、JSR82で規定されたBluetoothクラスやOBEXクラス23のインスタンスのメソッドからコールされる場合と、CLDCに準拠したKVMと呼ばれる仮想マシンタスク24をBluetooth向けに拡張したKVM24のコアクラスのインスタンスからコールされる場合と二通り存在する。前者は、ACLリンク確立のために利用され、周囲の通信可能な端末の発見開始を指示するinquiryコマンドに、後者は引数に指定されたプロトコルで、特定のBluetoothアドレスを有する装置とコネクションの設定と、設定したコネクションを通じてデータの送受信を行うときに使用する。
【0039】
BTモジュール16は、上述したようにBluetooth仕様に沿った方法で近接通信を行う。携帯用のBTモジュール16は、消費電力を考慮して通信距離約10mのCLASS3を使用する。OSの違いを吸収するハードウェア抽象化レイヤ (HAL: Hardware Abstraction Layer)を挟んで、HCIタスク21はBTモジュール16と通信を行うが、本実施形態ではその説明を割愛する。
【0040】
HCIタスク21は、L2CAPタスク25,Bluetooh/OBEXタスク23,BCCタスク26などからのコマンドやデータをHCIコマンドに変換してBTモジュール16に送信する。また、BTモジュール16から受信したイベントやデータを、L2CAPタスク25、Bluetooh/OBEXタスク23及びBCCタスク26に渡す。また、BTモジュール16のバッファサイズを考慮に入れてデータの分割を行うとともに、HCIタスク21の受信バッファの容量に応じて、分割データを結合する処理を行う。
【0041】
L2CAPタスク25、RFCOMタスク27及びGOEタスクP28は、スタックと呼ばれるものであり、Bluetoothの仕様に沿った機能を提供する。Bluetooh/OBEXタスク23は、JSR82で規定された機能をJAVAアプリケーション22が利用できるようにAPIを提供し、APIに指示されたコマンドを、Bluetoothスタックが提供するAPIに合った形に変更する。
【0042】
また、Bluetooh/OBEXタスク23のAPIは、Bluetoothスタックで提供される機能と比較して、より抽象的になっているため、Bluetooh/OBEXタスク23において、スタックが提供する関数を制御するのに必要な処理を行う。
【0043】
例えば、JSR82で規定されたOBEXの仕様では、4Mサイズのデータを送受信可能であるが、OBEXの仕様で決められた転送可能なデータ量は32Kバイトであるため、Bluetooh/OBEXタスク23内でデータを32Kのサイズに分割し、必要な回数分だけOBEXのPUTコマンドを繰り返す。あるいは、データを受信した場合は、複数のパケットを連結して1つのデータとして、JAVAアプリケーション22がアクセスできるような形に変換する機能を有する。
【0044】
図1の通信部12は、基地局11との間で、音声通話を行うだけでなく、データ通信も実現する。図3に示すように、携帯電話20内の通信部12は、基地局11との間に専用の通信リンクを設定し、そのリンクを用いてIPパケットあるいはそのサブセットのデータを交換する。基地局11はゲートウェイ41の機能を有する装置と接続しており、受信したIPパケットをインターネット網42へ送信し、また、携帯電話20の通信部12は、Webサーバ43からインターネット42を介して伝送されてくるパケットを、基地局11を介して受信する。
【0045】
上記の手法により、携帯電話20とインターネット42上のサーバ43との間で、IPパケットを交換することが可能となる。また、IPパケット上にTCPプロトコル、その上にHTTPプロトコルを実装することにより、携帯電話20のアプリケーションは、インターネット42上の特定のサーバ43とデータの送受信を行うことができる。
【0046】
MIDP2.0の仕様ではSSL(Secure Sockets Layer)がサポートされるため、携帯電話20の通信機能は、サーバの身元を認証でき、データのダウンロード先のサーバを信頼することができる。またダウンロードしたJAVAアプリケーション22に付属する電子署名を検証することにより、アプリケーションがそのサーバを管理する特定の企業が作成したことを確認できる。あるいは、アプリケーションが途中で改竄されているか否かを検証できる。
【0047】
図4は携帯電話20が行うアプリケーションの認証手順を示すフローチャートである。携帯電話20のROM3には、ルート認証局の公開鍵が保存されているものとする。JAMは、JAVAアプリケーション22のダウンロードに先立ち、JADファイルを予めダウンロードする(ステップS1)。
【0048】
図5はJAD(JAVA Application Descriptor)ファイルの構造の1例を示す図である。図示のように、JADファイルは、JAVAアプリケーション22の属性データ44と、JAVAアプリケーション22を作成した企業の企業の電子証明書45と、JAVAアプリケーション22の電子署名46を有する。属性データ44は、より具体的には、図6に示すように、アプリケーションURL(Uniform Resource Locator)、アプリケーション名、アプリケーションサイズ、使用するコンフィギュレーションのバージョン、使用するプロファイルのバージョン、スクラッチパッドのサイズ、通信部12の使用の有無、BTモジュール16の使用の有無、BTモジュール16の属性データ44、デバイス管理フラグ及び起動検索フラグなどの情報を含む。
【0049】
このうち、BTモジュール16の属性データ44は、より詳しくは、図7に示すように、送信電力制御、パケットタイプ、認証モード、リンクキー、PINコード、ページタイムアウト、スーパビジョンタイムアウト、インクワイアリスキャンインターバル、ページスキャンインターバル、チャネル番号、他のアプリケーション排他、有効通信距離及びアノニミティモードなどの情報を含む。
【0050】
JAMは最初に、バージョン情報やプログラムサイズなどの属性データ44により、自端末で実行可能か、保存可能かの判定を行う(図4のステップS2)。実行可能でなければエラー処理を行い、実行かつ保存可能であれば、JAM(Java Application Manager)は、ルート認証局識別番号をJADから取得し、ルート認証局の公開鍵をROM3から取得する(ステップS3)。
【0051】
次に、JAMはMD5などのハッシュ関数を使用して、企業証明書45のハッシュ値を作成する。また、JAVAアプリケーション22の電子署名46を、取得したルート認証局の公開鍵で復号する。そして、先ほど作成したハッシュ値と複合した値とを比較する(ステップS4,S5)。一致しなければエラー処理を行い、一致すればJAD内の企業の電子証明書45は正しいと判定し、企業の電子証明書45のなかからJAVAアプリケーション22を作成した企業の公開鍵を取得する(ステップS6)。取得した公開鍵を利用して、JADファイルに含まれるJAVAアプリケーション22の電子署名46を取得して復号する(ステップS7,S8)。次に、JAVAアプリケーション22をダウンロードして(ステップS9)、そのハッシュ値を作成する(ステップS10)。
【0052】
次に、JAMは、JADファイル内の属性データ44に記述されたURLからJAVAアプリケーション22やリソースデータを含むJARファイルをダウンロードする。ダウンロード中にMD5などのハッシュ関数を利用してJARファイルのハッシュ値を作成し、先ほど復号したハッシュ値と比較する(ステップS11,S12)。ハッシュ値が一致すれば、ダウンロードしたJAVAアプリケーション22は間違いなく、企業が作成したアプリケーションを判定できる。
【0053】
正しいと判定した場合は、信頼フラグを設定し(ステップS13)、図8に示すような属性データ44を含む管理データを作成し、JAVAアプリケーション22EEPROM5に保存し(ステップS14)、正常に保存されたか否かを確認する(ステップS15)。管理データは、図8に示すように、アプリケーション識別子、アプリケーション名、アプリケーション作成企業名、アプリケーション属性データ44、信頼できることを示すフラグ、属性変更フラグ、デバイス状態変更フラグ、認証状態フラグ等から構成される。管理データはアプリケーションごとに作成し、EEPROM5に保存する。
【0054】
次に、ダウンロードしたアプリケーションの属性を検査し、BTモジュール16を使用する場合は、保存時に、アプリケーション名や作成した企業名を利用者に提示するとともに(ステップS16)、アプリケーション起動時にBTモジュール16の設定を自動で変更するかどうかを利用者に確認し(ステップS17)、利用者が変更すると指示した場合は、管理データの設定有効フラグを設定する(ステップS18)。
【0055】
一方、ステップS12で信頼できないと判定されると、JAVAアプリケーション22をEEPROM5に保存するか否かを確認し(ステップS19)、保存を希望する場合には、ステップS14以降の処理を行い、保存を希望しない場合には、ダウンロードしたJAVAアプリケーション22、管理データを廃棄する。
【0056】
図9はJSR82の仕様に準拠する、サービスを受領するアプリケーションが、データ交換を開始するまでのシーケンスを示す図である。JAVAアプリケーション22は利用者からのサービス受領指示を受けると、サービス提供を行う装置を発見するためにインクワイアリのメソッドをコールする(ステップS21)。引数には、IAC(Inquiry Access code)と呼ばれる端末のフィルタリングを行う識別子を設定する。Bluetooh/OBEXタスク23は、HCIタスク21にインクワイアリ開始を要求する(ステップS22)。HCIタスク21は、BTモジュール16に対し、インクワイアリの開始を指示する(ステップS23)。これにより、BTモジュール16は、インクワイアリを行うために、IQパケットを送信する(ステップS24)。
【0057】
BTモジュール16が、インクワイアリにより新規端末が発見する(FHSパケットを受信する)と(ステップS25)、BTモジュール16はHCIタスク21にイベントを通知し(ステップS26)、HCIタスク21はBluetooh/OBEXタスク23にメッセージを送信する(ステップS27)。Bluetooh/OBEXタスク23は、KVMタスク24にメッセージを送信し(ステップS28)、仮想マシンタスクは、アプリケーションが登録したメソッドをコールバックする。コールバック時の引数には、発見した装置のBTモジュールの識別子、発見した端末の種別を示すCOD(class of device)が含まれている。
【0058】
アプリケーションは、取得したCODを検査し、所望のCODと一致する場合は、インクワイアリキャンセルの関数をコールし(ステップS29〜S33)、その後、利用者にわかりやすい識別名称であるリモートネームを取得するメソッドをコールする(ステップS34〜S41)。
【0059】
あるいは、リモートネームを取得しないで、そのまま上位プロトコルのコネクションを設定するために、コネクタ―クラスのインスタンスを作成し、OPENメソッドをコールすることによりコネクションの設定を行う。コネクションが設定されるまで、JAVA仮想マシンはこの関数をブロックする。JSR82の仕様では、L2CAP,RFCOM,SDP,OBEXが上位プロトコルとしてサポートされている。
【0060】
JAVAアプリケーション22は、OBEXプロトコルを使用するために、OBEXのコネクタオブジェクトを作成する。このコネクタオブジェクトのOPEN要求を行うと(ステップS42)、KVM24では、ACLリンクを作成するために、HCIタスク21にACLリンクの接続を要求する(ステップS43)。HCIタスク21は、BTモジュール16に、CreateConnectionコマンドを送信する(ステップS44)。
【0061】
BTモジュール16がHCIスタックに対してリンクキー要求を行うと(ステップS45)、HCIタスク21はBTモジュール16にリンクキーを送信する(ステップS46)。
【0062】
BTモジュール16は、コネクションの接続が完了すると、ConnectionCompleteイベントをHCIタスク21に通知する(ステップS47)。HCIタスク21は、KVMタスク24に、ACL作成イベントを通知する(ステップS48)。KVM24は、L2CAPコネクションの作成を、L2CAP25タスクに要求し、L2CAP25タスクは、HCIタスク21にデータの送信を要求する(ステップS48)。以後、作成したL2CAPコネクションを通じてRFCOMコネクションを作成し、RFCOMコネクションを通じてOBEXのコネクションを設定する。
【0063】
OBEXコネクションができるまで、KVM24はコネクタOPEN関数をブロックし、OBEXのコネクション要求の戻り値にその成功の可否が設定される。
【0064】
以上の手順により、データ通信を開始する準備が整う。次に、本実施形態を利用して利用者がサービスを受領するまでの手順を図10のフローチャートを使用して説明する。
【0065】
利用者はBluetooth装置からサービス提供を受ける際、サービスに対応するJAVAアプリケーション22を起動する(ステップS51)。このときJAM(Java Application Manager)は、指定されたJAVAアプリケーション22の識別子を調べて、管理データの中からアプリケーションの属性データ44の内容を調べ(ステップS52)、メモリ4や通信機能などOSのリソースを割り当てる(ステップS53)。次にJAVA仮想マシンタスクにメッセージを送り、指定されたJAVAアプリケーション22を起動するように要求する。
【0066】
このとき、JAMは、管理データ内の属性データ44に基づいて、BTモジュール16を使用するかどうか調べ(ステップS54)、起動するアプリケーションがBTモジュール16を使用する場合は、次に管理データ内のアプリケーション信頼フラグを検査して、アプリケーションが信頼できるか否かを判定する(ステップS55)。
【0067】
アプリケーションが信頼できる場合には、管理データ内の属性データ44内の近接通信手段属性データを読み出し、HCIタスク21を通じてBTモジュール16にその値を設定する(ステップS56)。例えば、ページタイムアウトの項目に"2s"と記載されている場合は、HCIタスク21を通じてページタイムアウトの設定を"2s"に変更するように要求する。HCIタスク21はWritePageTimeoutコマンドを使用して、BTモジュール16の設定を変更するように指示する。
【0068】
また、信頼できないアプリケーションでも、利用者に設定変更を確認するダイアログを提示し(ステップS57)、一時的に信頼できるアプリケーションのようにBTモジュール16の設定変更を許可する、あるいは、信頼できるアプリケーションでも起動ごとに確認するなどの実装もありうる。
【0069】
次に、JAVA仮想マシンを起動し(ステップS58)、JAVA仮想マシン上でJAVAアプリケーション22を起動する(ステップS59)。次に、Bluetooth関数をコールし(ステップS60)、BCC26設定と一致するか否かを判定し(ステップS61)、一致する場合にはBluetoothコマンドを送信し(ステップS62)、一致しなければエラーイベントを通知する(ステップS63)。
【0070】
このように、第1の実施形態によれば、利用者がJAVAアプリケーション22の起動を要求した場合に、そのアプリケーションが信頼できるか否かを自動的に検証し、信頼できる場合のみBluetooth通信に必要な情報を情報ファイルから自動的に読み出して設定を行うため、ユーザ自身で設定を行う必要がなくなり、ユーザの手間が省けるとともに、JAVA仮想マシンの仕様にとらわれずにBluetooth通信のための最適な設定を行うことができる。また、アプリケーションが信頼できない場合には、Bluetooth通信を行わないため、セキュリティ性を向上できる。
【0071】
また、JAVAアプリケーション22に添付された電子署名46を検証することにより、そのアプリケーションを作成した企業を確認でき、かつダウンロード時にSSLを使用することにより、提供するサーバの身元を確認できるため、悪意を有する者が運営するサーバか否かの識別と、改造したアプリケーションか否かの識別とを行うことができる。
【0072】
(第2の実施形態)
第2の実施形態は、BTモジュール16の設定情報を、JAVAアプリケーション22の起動前に一時的にメモリ4に退避し、起動終了後に元に戻すものである。
【0073】
図11及び図12は携帯電話20の第2の実施形態の処理手順を示すフローチャートである。以下では、第1の実施形態と異なる処理を中心に説明する。ユーザがJAVAアプリケーション22の起動を指示した後、アプリケーション信頼フラグを検査し(ステップS75)、信頼できる場合は、BTモジュール16の属性値が設定されている項目のみ、その項目の現在の設定値を読み出すようHCIタスク21にメッセージを送信する(ステップS76)。HCIタスク21はBTモジュール16から値を取得し、JAMに返信する。JAMは、項目と読み出した値を関連付け、BTモジュール16の属性値データとしてメモリ4に記録する(ステップS77)。その後、設定された項目の値を設定するようHCIタスク21にメッセージを送信する。
【0074】
例えば、ページタイムアウトの項目に"2s"と記述されている場合は、HCIタスク21を通じてBTモジュール16の現在の設定値、例えば、デフォルトのままである場合は"5s"の値を取得し、その項目であるページタイムアウトと対にしてメモリ4に記録し、その後HCIタスク21にページタイムアウトの設定を"2s"に変更するように要求する。HCIタスク21はWritePageTimeoutコマンドを使用して、BTモジュール16の設定を変更するように指示する(ステップS78)。
【0075】
JAVAアプリケーション22の起動後に、利用者がJAVAアプリケーション22の終了を指示すると(図12のステップS91)、JAVA仮想マシンはJAVAアプリケーション22に終了イベントを通知する(ステップS92)。これにより、JAVAアプリケーション22は終了処理を実行し、その後、JAVA仮想マシンは、アプリケーションプログラムをメモリ4の格納エリアから開放する(ステップS93)。
【0076】
その後、JAMは、BTモジュール16の属性値データを調べ(ステップS94)、元に戻すべき値が存在するか否かを検査し(ステップS95)、元にもどす項目が存在する場合は、HCIタスク21にその値を設定するようにメッセージを送信する。上記の場合、ページタイムアウトを5sに変更するようHCIタスク21にメッセージを送信し、HCIタスク21はBTモジュール16に対してWritePegetimeoutコマンドによりBTモジュール16の値を変更する(ステップS96,S97)。
【0077】
このように、第2の実施形態では、JAVAアプリケーション22の起動前にBTモジュール16の値を一時的に記憶し、同アプリケーションの終了時に元に戻すことにより、BTモジュール16を利用する他のアプリケーションを起動する時に設定値に矛盾が生じなくなる。
【0078】
(第3の実施形態)
第3の実施形態は、携帯電話20の低消費電力化を図るものである。
【0079】
図13は携帯電話20の第3の実施形態の処理手順を示すフローチャートである。以下では、第1の実施形態と異なる処理を中心に説明する。JAVAアプリケーション22が信頼できる場合には、属性データ44のデバイス管理フラグを検査する(ステップS106)。
【0080】
使用するアプリケーションがデバイス管理を行う場合は、BTモジュール16への電源供給の状態を検査する(ステップS107)。もし、現在BTモジュール16に電源が供給されている場合は、属性データ44内のBTモジュール16の属性データ44を読み出し、HCIタスク21を通じてBTモジュール16にその値を設定する(ステップS108)。
【0081】
電源が供給されていない場合は、BTモジュール16への電源供給を可能とするOSのAPIをコールし、BTモジュール16を使用可能な状態に変更する(ステップS109)。次に、管理データのデバイス状態変更フラグ(電源を供給したか否かを示すフラグ)を設定し(ステップS110)、その後BTモジュール16の属性データ44を読み出し、HCIタスク21を通じてBTモジュール16にその値を設定する(ステップS108)。
【0082】
一方、デバイス管理を行わない場合は、BTモジュール16への電源供給の状態を検査する(ステップS111)。もし、現在BTモジュール16への電源が供給されている場合は、属性データ44内のBTモジュール16の属性データ44を読み出し、HCIタスク21を通じてBTモジュール16にその値を設定する(ステップS108)。
【0083】
電源が供給されていない場合は、利用者にBTモジュール16への電源供給を行うか否かを利用者に確認するためにダイアログを提示する(ステップS112)。利用者が電源供給を行う旨を指示した場合には、BTモジュール16への電源供給を可能とするOSのAPIをコールし、属性データ44内のBTモジュール16の属性データ44を読み出し(ステップS113)、HCIタスク21を通じてBTモジュール16にその値を設定する(ステップS108)。もし、利用者が電源供給を行わないと指示した場合は、そのままJAVA仮想マシンの起動を行う(ステップS114)。この場合、利用者がBluetooth通信機能を使用することを望んでも電源供給されていないため、アプリケーション内で要求したコマンドはエラーとなる。
【0084】
一方、JAVAアプリケーション22の起動後に、利用者がJAVAアプリケーション22の終了を指示すると、JAVA仮想マシンはJAVAアプリケーション22に終了イベントを通知する。JAVAアプリケーション22はデータの保存などの自身の終了に必要な終了処理を実行し、その後、JAVA仮想マシンは、アプリケーションプログラムをメモリエリアから開放する。その後JAMは、BTモジュール16への設定値で元に戻すべき値が存在するか否かを検査し、元に戻す項目が存在する場合は、HCIタスク21にその値を設定するようにメッセージを送信する。次に、管理データのデバイス状態変更フラグを調べ、電源状態を変更した場合は、BTモジュール16への電源供給を停止するOSのAPIをコールする。
【0085】
このように、第3の実施形態では、利用者が明示的にBTモジュール16への電源供給を指示しなくても、JAMがアプリケーションの属性に応じて自動的に電源を投入し、また、終了時に自動的に電源を切断することが可能となる。すなわち、Bluetoothを使用する期間でのみしか電源供給を行わないため、携帯電話20の省電力駆動が可能となる。
【0086】
(第4の実施形態)
第4の実施形態は、アプリケーションを起動してからサービスを受けるまでに要する時間の短縮化を図るものである。
【0087】
図14は携帯電話20の第4の実施形態の処理手順を示すフローチャートである。以下では、第1の実施形態と異なる処理を中心に説明する。アプリケーションが信頼できる場合には、BTモジュール16の属性データ44の自動探索属性フラグを検査する(ステップS127)。属性が設定されている場合は、HCIタスク21を通じてBTモジュール16にインクワイアリ開始を指示する(ステップS128)。この時、BTモジュール16の属性のClass of DeviceとInquiry Access Codeを使用してインクワイアリ開始指示を行う。
【0088】
その後、JAVA仮想マシンの起動を行い(ステップS129)、JAVAアプリケーション22を起動する(ステップS130)。JAVAアプリケーション22の起動終了後に、HCIタスク21はBTモジュール16の状態を検査し、通信可能端末がみつかったかどうか検査し、発見した場合には、そのイベントを一旦キューに入れ、初期化イベントを先にJAVAアプリケーション22に通知する。その後、発見イベントをJAVAアプリケーション22に通知する(ステップS131)。
【0089】
このように、第4の実施形態では、アプリケーションの起動指示とともに通信可能端末の発見処理を同時に行うことにより、アプリケーションの起動からサービスを受ける状態になるまでに要する処理時間を短縮することができる。
【0090】
(第5の実施形態)
上述した第1〜第4の実施形態において、BTモジュール16の設定を1つ以上変更した場合に、JAMは、あらかじめ指定された報知装置を用いて利用者に変更の旨を伝える。報知装置としては、音声ファイルなどの再生、バイブレータの振動、LEDなどの点滅が考えられる。特にLEDは元の設定に戻るまでは、特定の色を点灯させることにより利用者はBTモジュール16の状態を確認することができる。
【0091】
(第6の実施形態)
図15は携帯電話20の第6の実施形態の処理手順を示すフローチャートである。以下では、第1の実施形態と異なる処理を中心に説明する。
【0092】
JAVAアプリケーション22が接続要求を行うと、Bluetooth/OBEXタスク23は、HCIタスクに対して接続要求を行い、HCIタスク21はBTモジュール16に対して接続要求を行う。もし、この時BCC26の設定が、認証なしに設定されており(ステップS141)、BTモジュール16の属性データ44の認証モードが認証有りである場合は(ステップS142)、管理データの認証変更フラグを設定し(ステップS146)、HCIタスク21を通じてBTモジュール16に対して認証モードへ変更するよう指示を行い、モード変更に成功した場合は、BTモジュール16に接続要求を行う(ステップS147)。
【0093】
BTモジュール16が相手装置と接続処理を行うと、HCIタスク21はリンクキー要求イベントをBTモジュール16から受信する。HCIタスク21はJAMにリンクキーを要求し(ステップS150)、JAMが、BTモジュール16の属性データ44を検査しリンクキーデータを有している場合には、その値をリンクキーとして(ステップS151)、HCIタスク21を通じてBTモジュール16に返答する。
【0094】
もし、リンクキーを有していない場合には、リンクキー拒否を、HCIタスク21を通じてBTモジュール16に返答する(ステップS152)。拒否した場合は、HCIタスク21は同様にPINコード入力イベントを受信する(ステップS153)。PINコード要求を受けたJAMは、BTモジュール16の属性データ44のPINコードを検査し(ステップS154)、PINコードを有している場合には、PINコードをHCIタスク21を通じてBTモジュール16に返答する(ステップS155)。
【0095】
PINコードを有していない場合には、PINコード入力ダイアログを利用者に提示し入力を促す(ステップS156)。もし、PINコードの入力があれば、PINコードを返答し接続処理を継続する(ステップS157)。
【0096】
また、JAVAアプリケーション22の終了時には、管理データの認証変更フラグを検査し、もし認証モードを変更している場合には、認証なしモードに変更するようHCIタスク21を通じてBTモジュール16に要求する
このように、第6の実施形態では、利用者はアプリケーション固有の認証キーを入力する必要なしに、BTモジュール16が具備する認証機能を利用して、相手装置の認証を行うことが可能となる。
【0097】
(その他の実施形態)
本実施形態で使用されるBTモジュール16の属性に関する効果について以下に説明する。
【0098】
以下のパラメータは、Bluetooth/OBEXタスク23では直接制御できないため、本実施形態に示した方法により変更することで、そのアプリケーションに適した設定を行うことができる。
【0099】
送信電力制御は、、通常Bluetoothデバイスの通信距離は10mであるが、RFモデムの送信電力を、ベンダー拡張コマンドなどを使用して減衰させることにより、その通信可能距離を小さくでき、アプリケーションによりふさわしい通信エリアを提供したりセキュリティを向上できる。
【0100】
Bluetoothのデータ通信用のパケットとして複数のパケットタイプが準備されている。エラー訂正機能付きDMパケットは、簡単なエラー訂正能力を有するため、他の通信装置が存在するような環境では、パケットの転送レートは低下する。しかしながら、パケットの再送が発生しないため、ノイズのある環境でも実転送レートの低下を防げる。一方、DHパケットはエラー訂正能力を有しないが、その分転送レートを大きくすることができる。アプリケーションが使用される環境があらかじめ予想され、かつ、その環境が一定であるならば、その環境に応じたパケットタイプを選択した方が有利である。
【0101】
認証モード、PINコード、リンクキーは、第6の実施形態で説明した通りである。ページタイムアウトは、接続要求のタイムアウトを決めるパラメータであり、この値を大きくすれば、接続に必要な時間は長くなるが、相手と接続できる確率は大ききなる。一方、高速接続が可能な場合には、この値を小さくしておけば、反応をよくすることができる。
【0102】
スーパビジョンタイムアウトは、コネクションの切断を判断するためのパラメータであり、この値を大きくすると切断しにくくなるが、逆に切断検知に時間がかかり、反応が悪くなる。
【0103】
インクワイアリスキャンインターバルやページスキャンインターバルは、携帯装置がスレーブになる場合に使用する。この値を小さくすると接続までに要する時間を短縮できるが、その反面、Bluetoothデバイスが消費する電力は増加する。
【0104】
チャネル番号は、OBEXの接続に使用する識別番号であり、通常SDPを使用して取得する。しかし、他にアプリケーションが存在しない場合は、この値を固定にすることにより、SDPにかかる処理時間をなくすことができる。
【0105】
他アプリケーション排他は、他のアプリケーションの実行を拒否することを示す。Bluetoothを使用するのはJAVAアプリケーション22だけでなく、OSのネーティブアプリケーションである場合も考えられる。つまり、Bluetoothに対応したJAVAアプリケーション22を実行中に、Bluetoothを使用するネーティブのアプリケーションがBluetoothスタックのタスクへコマンドを送ろうとした時に、この属性を検査し、排他の場合はネーティブの要求を拒否する。これにより、あるBluetoothJAVAアプリケーション22は、リソースを独占して使用することができる。
【0106】
有効通信距離は、ACLリンクを確立したときに、HCIタスク21にRSSIの測定を要求し、得られた値が、属性に記述された条件を満たさないときは、強制的にリンクの切断を行う。例えば、レジでは数10cmから1mの距離で十分な場合、間違って数m離れた装置と接続した場合、RSSIを計測すると、本来想定されるRSSIの値より小さくなる。これにより、所望のエリアに存在する装置と通信しているかどうか判定でき、セキュリティを強化できる。この場合、RSSIはVer1.2の使用に沿ったものを使用する。
【0107】
アノニミティモードは、Ver1.2の使用であり、この機能を使用すると定期的に自分のBTアドレスを変更することができ、それによりプライバシーを確保することが可能となる。
【0108】
なお、本発明は、上記の実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題(の少なくとも1つ)が解決でき、発明の効果の欄で述べられている効果(のなくとも1つ)が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0109】
上述した実施形態で説明した無線端末の機能は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、無線端末の少なくとも一部の機能を実現するプログラムをフロッピーディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0110】
また、無線端末の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0111】
【発明の効果】
以上詳細に説明したように、本発明によれば、アプリケーションプログラムの起動要求があった場合に、そのアプリケーションプログラムが信頼できるか否かを自動的に検証し、信頼できる場合のみ近接通信手段の通信設定を自動的に行うため、ユーザ自身で近接通信手段の通信設定を行う必要がなくなり、ユーザの手間が省けるとともに、アプリケーションプログラムが信頼できる場合には最適な通信設定を行うことができる。また、信頼できないアプリケーションプログラムに従って通信を行うおそれがなくなり、セキュリティ性が向上する。
【図面の簡単な説明】
【図1】本発明に係る無線端末の一実施形態である携帯電話の内部構成の一例を示すブロック図。
【図2】 JAVAアプリケーションがBluetooth機能を使用するために必要なモジュールのブロック図。
【図3】携帯電話、基地局及びWebサーバの接続関係を示す図。
【図4】携帯電話が行うアプリケーションの認証手順を示すフローチャート。
【図5】 JAD(JAVA Application Descriptor)ファイルの構造を示す図。
【図6】 JADファイル内の属性データの詳細内容を示す図。
【図7】 BTモジュールの属性データの詳細内容を示す図。
【図8】管理データの詳細内容を示す図。
【図9】 JSR82の仕様にてサービスを受領するアプリケーションが、データ交換を開始するまでのシーケンスを示す図。
【図10】本実施形態を利用して利用者がサービスを受領するまでの手順を示すフローチャート。
【図11】アプリケーション起動時の第2の実施形態の処理手順を示すフローチャート。
【図12】アプリケーション終了時の第2の実施形態の処理手順を示すフローチャート。
【図13】携帯電話の第3の実施形態の処理手順を示すフローチャート。
【図14】携帯電話の第4の実施形態の処理手順を示すフローチャート。
【図15】携帯電話の第6の実施形態の処理手順を示すフローチャート。
【符号の説明】
1 内部バス
2 CPU
3 ROM
4 メモリ
5 EEPROM
6 マイク
7 A/D
8 スピーカ
9 D/A
10 偏心モータ
11 基地局
12 通信部
13 表示部
14 キー入力部
15 選択指示部
16 BTモジュール
17 インタフェース
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a wireless terminal, a communication control program, and a communication control method including a proximity communication unit that performs communication in a relatively narrow range such as Bluetooth (registered trademark), and in particular, performs communication with a proximity communication unit according to an application program. Regarding technology.
[0002]
[Prior art]
Recently, short-range wireless communication with a transmission distance of about 10 m has attracted attention. While the effective transmission distance range of the conventional wireless LAN is 100 m or more, the short-range wireless communication uses a small amount of power because the transmission range is narrow, so a portable information processing device such as a mobile phone or a PDA ( This is suitable for a communication device having a limited battery such as a portable terminal hereinafter.
[0003]
Bluetooth is one of this kind of short-range wireless communication, and in recent years, mobile terminals equipped with this Bluetooth communication means have begun to spread (see Non-Patent Documents 1 to 4).
[0004]
Since Bluetooth has a low device unit price and can be miniaturized, it is expected that devices with Bluetooth communication functions will be widely used in the future. As Bluetooth spreads, it will be possible to receive services and information according to each location at any location.
[0005]
For example, in convenience stores, supermarkets, retail stores, etc., it is possible to provide services for buyers such as electronic coupon service, electronic point service, electronic payment, receipt and receipt issuance. Applications are also expected for gate opening and closing control using electronic tickets, payment and discount services at vending machines, payment of charges at parking lots, gas stations and drive-throughs. In addition, access to the Internet, information distribution depending on a specific location, provision of user location information, and the like are also possible.
[0006]
In addition, recent mobile phones are equipped with operating systems (OS) such as ITRON (registered trademark), Symbian (registered trademark), and Linux (registered trademark), and operate virtual machines on these OSs. There is an environment in which the same application can be executed on the terminal.
[0007]
A JAVA (registered trademark) virtual machine is one implementation. A JAVA application operating on JAVA is downloaded from a specific server on the Internet using a data communication function of the mobile phone and stored in a storage device inside the mobile phone. At that time, a JAD (Java Application Descriptor) file describing information attached to the JAVA application is also downloaded and stored in the storage device.
[0008]
When the user instructs the mobile phone to start the application, the OS starts up the JAVA virtual machine and operates the specified application on the JAVA virtual machine. Also, when starting a virtual machine, the resources that can be used by the virtual machine are set or restricted based on the information in the JAD file associated with the application.
[0009]
In this type of virtual machine standard, there is a core standard called CLDC and a standard called MIDP that defines communication and user interfaces. MIDP verifies the Ver2 standard, and when downloading a JAVA application, verifies the digital signature attached to the application, determines whether the application is reliable, and uses the hardware resources that the application can use And class constraints can be set.
[0010]
In addition, the establishment of the standard JSR82 that enables the use of Bluetooth functions from JAVA virtual machines has made it possible for JAVA applications to partially use Bluetooth communication functions through Bluetooth class methods. The JAVA virtual machine security policy prohibits or restricts JAVA applications from directly controlling mobile phone hardware, which limits the available Bluetooth functions.
[0011]
JSR82 partially relaxes the above functional restrictions by defining settings related to hardware through an entity called BCC (Bluetooth Control Center) that is different from the JAVA application. The specification describes a form that an OS native application plays as one of the implementation forms of BCC.
[0012]
[Non-Patent Document 1]
J2METM Connected, Limited Device Configuration
http://jcp.org/en/jsr/detail?id=30
[Non-Patent Document 2]
Mobile Information Device Profile for the J2METM Platform
http://jcp.org/en/jsr/detail?id=37
[Non-Patent Document 3]
JavaTM APIs for Bluetooth
http://jcp.org/en/jsr/detail?id=82
[Non-Patent Document 4]
Mobile Information Device Profile 2.0
(http://jcp.org/en/jsr/detail?id=118)
[0013]
[Problems to be solved by the invention]
Settings made through BCC are stored in a non-volatile memory or the like. When a JAVA virtual machine calls a Bluetooth method from a JAVA application, the JAVA virtual machine determines whether or not the process can be executed by looking at a set value. For example, when the Bluetooth communication function is turned off in BCC and the JAVA application is started and the JAVA application tries to execute the terminal discovery command, the BCC setting is set to OFF for the Bluetooth function. The return value of the command is an error.
[0014]
Also, if the JAVA application tries to execute an authentication command in the situation where the security function is turned off in BCC, the return value of this command will similarly become an error.
[0015]
In this case, the user terminates the JAVA application, starts BCC, changes the setting value, and starts the JAVA application again. Alternatively, as another implementation, when a command is requested, the JAVA virtual machine or the OS automatically starts BCC, or presents a dialog for changing the setting to change the setting managed by BCC. There may be a way to explicitly encourage users to change.
[0016]
Further, when the authentication mode is set in the BCC, the authentication procedure is executed when a connection request is made to the counterpart device or when the connection request is accepted. The authentication request event is received as a normal HCI event by the HCI task, and a JAVA virtual machine task or a dialog prompting the OS to input the authentication key is displayed on the screen, and the user's explicit key input (usually PIN code) Request data input to create a key for authentication).
[0017]
However, it has been pointed out that short PIN codes have security problems, and an ideal PIN code length of 128 bits is required. However, 128-bit code length requires input of 32 alphanumeric characters. The burden required for user input is very large. If an input mistake is made at this time, both terminal authentications fail and connection cannot be made, and it is necessary to execute the connection procedure again and enter the PIN code correctly.
[0018]
In addition, when a specific service is provided to another device, or when a specific service is received from another device, the Bluetooth device setting appropriate to the situation in which the service is used is set to the processing time. It is necessary from the viewpoint of usability.
[0019]
For example, when a mobile phone owned by a customer and a cash register are connected via Bluetooth to make a financial settlement, it is desirable to set a narrow communication range for security.
[0020]
However, in the current JSR82 specification, such a change of communication range cannot be set. Although a method of setting through BCC is also conceivable, it is very troublesome for the user to explicitly start the BCC before starting the application and to make settings appropriate for the application to be used. In addition, if you forget to return to the original setting after the application ends, there is a possibility that problems such as poor connection will occur when you receive a different service next time.
[0021]
When performing Bluetooth processing from a JAVA application, in addition to the Bluetooth processing time, overhead such as the startup of the JAVA virtual machine and the startup time of the JAVA application occurs, so the processing wait time of the user becomes long.
[0022]
The present invention has been made in view of such a point, and an object of the present invention is to permit the communication of the proximity communication means only when the application receiving the service is reliable, and to reduce the troublesome communication setting of the proximity communication means. An object of the present invention is to provide a wireless terminal, a communication control program, and a communication control method that can reduce the processing time until receiving a service.
[0023]
[Means for Solving the Problems]
According to one aspect of the present invention, first communication means capable of receiving an application program including attached information;
Trust verification means for verifying whether or not the application program is reliable based on the attached information;
A second communication unit that is used by the application program and that is provided separately from the first communication unit and has a narrower communication range than the first communication unit;
Communication for performing communication setting of the second communication unit according to information necessary for communication by the second communication unit included in the attached information when executing the application program verified to be reliable by the trust verification unit Setting means;
After the communication setting unit performs communication setting on the second communication unit, a start start unit that starts the application program, and
Information necessary for communication by the second communication means includes start-up search of communication partner, authentication mode, link key, PIN code, transmission power, page timeout, supervision timeout, page scan interval, inquiry scan interval, etc. There is provided a wireless terminal characterized by including at least one of application exclusion, effective communication distance, packet type, class of device, inquiry access code, and channel number.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a wireless terminal according to the present invention will be specifically described with reference to the drawings. Hereinafter, a wireless terminal having a Bluetooth communication function will be described as an example of the wireless terminal according to the present invention. The wireless terminal according to the present embodiment establishes a connection with a service providing apparatus having a Bluetooth function, which is a communication partner, using a method conforming to the specification of Bluetooth. Can be provided.
[0025]
The wireless terminal of this embodiment is, for example, a mobile phone or a PDA, and the service providing device is, for example, a cash register, an automatic ticket gate, a vending machine, an information providing device, or the like. A case where a cash register is used as a service providing apparatus will be described.
[0026]
(First embodiment)
FIG. 1 is a block diagram showing an example of the internal configuration of a mobile phone which is an embodiment of a wireless terminal according to the present invention. The mobile phone shown in FIG. 1 stores a CPU 2 connected to the internal bus 1 for executing a predetermined program, a mobile phone control program, a ROM 3 for storing originally built-in programs and dictionary data, and temporary variables and data. Memory 4, EEPROM 5 for storing personal registration information, electronic coupons, downloaded programs, program management data, etc., A / D 7 for converting audio signals to digital signals with microphone 6, and converting digital signals to audio signals D / A 9 output to the speaker 8, the eccentric motor 10 that vibrates the housing, the communication unit 12 that communicates with the base station 11, the display unit 13 that displays various information, and the telephone number and characters are input. A key input unit 14 for selecting, a selection instruction unit 15 for selecting a menu, and the like, and a Bluetooth module 16 (hereinafter referred to as a BT module).
[0027]
For example, the BT module 16 has a function of establishing a wireless communication path with a cash register and receiving a service provided from the cash register. The operation of the BT module 16 conforms to the Bluetooth specification.
[0028]
An interface unit 17 compliant with the UART interface for connecting the BT module 16 to the internal bus 1 is provided between the BT module 16 and the internal bus 1. The interface unit 17 communicates with the BT module 16 using a UART communication method.
[0029]
Alternatively, the format of the external interface of the BT module 16 may be matched with the signal format of the internal bus 1. Alternatively, instead of the BT module 16, a Bluetooth RF module (not shown) is connected to the internal bus 1, and the CPU 2 executes the function provided by the baseband module for link management as a program. It is also conceivable to provide a configuration.
[0030]
A method of giving a command to the BT module 16 and a method of receiving an event from the BT module 16 are realized in a form according to an HCI (Host Controller Interface) described in the Bluetooth specification. Alternatively, there may be a method using a communication protocol unique to the baseband.
[0031]
The configuration related to the voice call is the same as that of a conventional mobile phone. For example, the communication unit 12 performs position registration with the base station 11 and performs call control at the time of outgoing / incoming calls to transmit / receive data, When communication is completed, disconnect call control is performed, and during communication, handover or the like is performed.
[0032]
When the communication unit 12 receives a connection request from the base station 11, the communication unit 12 outputs a ringing tone from the speaker 8 or drives the eccentric motor to vibrate the casing of the mobile phone. Call the attention of the user who is the owner of After the user responds with an acknowledgment of connection, the line connection is established between the mobile phone and the cash register to start communication.
[0033]
At the time of communication, the mobile phone converts the sound input from the microphone 6 from an analog signal to a digital signal by the A / D 7, compresses the digital data under the control of the CPU 2, and closes the base station through the communication unit 12. Transmit to station 11. The signal received by the communication unit 12 is decompressed and returned to the original signal under the control of the CPU 2 and then converted from a digital signal to an analog signal by the D / A 9 to be output from the speaker 8. Is output from.
[0034]
The function in which the mobile phone of FIG. 1 receives service provision from the cash register 1 is usually realized by an application program. In recent years, a technology has been widely used in which a JAVA virtual machine is executed in a mobile phone, a JAVA application acquired through a public network is stored in a storage device of the mobile phone, and the JAVA application is executed on the JAVA virtual machine. This embodiment will be described using this technique. JAM (Java Application Manager) downloads JAD (JAVA Application Descriptor) files that describe application attributes, downloads JAVA applications, records downloaded programs to EEPROM 5, and records program management data as shown in Fig. 8 Management of starting up and deleting recorded applications. JAM is an OS-native application and assigns OS resources according to the contents described in the program management data at startup.
[0035]
The memory space called the scratchpad that stores the JAVA application of the mobile phone and the data of the JAVA application is managed differently from the normal memory space and cannot be accessed from other applications. . This protects data from unauthorized applications and ensures security.
[0036]
Also, the API (Application Program Interface) for controlling Bluetooth from the JAVA virtual machine is defined as JSR-82, and the JAVA application sends a command to the BT module 16 through the API provided by the JAVA virtual machine. Events are received through the JAVA virtual machine and called back to the registered function.
[0037]
FIG. 2 is a block diagram of modules necessary for the JAVA application to use the Bluetooth function. In this embodiment, an example in which ITRON is used as an OS of a mobile phone will be described. Each block in FIG. 2 is managed as a task, activated as a task when the mobile phone is turned on, and waits until called from the OS. Each task is processed by exchanging messages via the OS. The HCI task 21 sets a value instructed by a higher-level protocol or BCC in the BT module 16, or reads a value currently set in the BT module 16 of a specified item and controls a link. Request execution of the command.
[0038]
A command from the JAVA application 22 is called from a method of an instance of a Bluetooth class or an OBEX class 23 specified in JSR82, and a core of a KVM 24 that extends a virtual machine task 24 called KVM compliant with CLDC for Bluetooth. There are two cases: when called from an instance of a class. The former is used to establish an ACL link and instructs the inquiry command to start discovery of surrounding communicable terminals, the latter is a protocol specified as an argument, and sets up a connection with a device having a specific Bluetooth address. Used when sending and receiving data through the set connection.
[0039]
As described above, the BT module 16 performs near field communication by a method according to the Bluetooth specification. The portable BT module 16 uses CLASS3 with a communication distance of about 10 m in consideration of power consumption. The HCI task 21 communicates with the BT module 16 across a hardware abstraction layer (HAL) that absorbs the difference in OS, but the description thereof is omitted in this embodiment.
[0040]
The HCI task 21 converts commands and data from the L2CAP task 25, the Bluetooh / OBEX task 23, the BCC task 26, etc. into HCI commands and transmits them to the BT module 16. Also, the event and data received from the BT module 16 are passed to the L2CAP task 25, the Bluetooh / OBEX task 23, and the BCC task 26. Further, the data is divided in consideration of the buffer size of the BT module 16, and the process of combining the divided data is performed according to the capacity of the reception buffer of the HCI task 21.
[0041]
The L2CAP task 25, the RFCOM task 27, and the GOE task P28 are called stacks and provide functions in accordance with Bluetooth specifications. The Bluetooh / OBEX task 23 provides an API so that the JAVA application 22 can use the function defined in JSR82, and changes the command instructed to the API into a form suitable for the API provided by the Bluetooth stack.
[0042]
In addition, since the API of Bluetooh / OBEX task 23 is more abstract than the functions provided by the Bluetooth stack, it is necessary to control the functions provided by the stack in Bluetooh / OBEX task 23. Perform proper processing.
[0043]
For example, in the OBEX specification stipulated by JSR82, 4M size data can be sent and received, but the transferable data amount determined by the OBEX specification is 32K bytes, so the data in the Bluetooh / OBEX task 23 Is divided into 32K size and the OBEX PUT command is repeated as many times as necessary. Alternatively, when data is received, it has a function of concatenating a plurality of packets into a form that can be accessed by the JAVA application 22 as one data.
[0044]
The communication unit 12 in FIG. 1 not only performs a voice call with the base station 11, but also realizes data communication. As shown in FIG. 3, the communication unit 12 in the mobile phone 20 sets up a dedicated communication link with the base station 11, and exchanges IP packet data or a subset thereof using the link. The base station 11 is connected to a device having the function of the gateway 41 and transmits the received IP packet to the Internet network 42, and the communication unit 12 of the mobile phone 20 transmits it from the Web server 43 through the Internet 42. The incoming packet is received via the base station 11.
[0045]
With the above method, it is possible to exchange IP packets between the mobile phone 20 and the server 43 on the Internet 42. Further, by mounting the TCP protocol on the IP packet and the HTTP protocol on the IP packet, the application of the mobile phone 20 can transmit and receive data to and from a specific server 43 on the Internet 42.
[0046]
Since the MIDP 2.0 specification supports SSL (Secure Sockets Layer), the communication function of the mobile phone 20 can authenticate the identity of the server and can trust the server to which data is downloaded. Further, by verifying the electronic signature attached to the downloaded JAVA application 22, it can be confirmed that the application is created by a specific company that manages the server. Alternatively, it can be verified whether the application has been tampered with.
[0047]
FIG. 4 is a flowchart showing an application authentication procedure performed by the mobile phone 20. It is assumed that the public key of the root certificate authority is stored in the ROM 3 of the mobile phone 20. Prior to downloading the JAVA application 22, JAM downloads a JAD file in advance (step S1).
[0048]
FIG. 5 is a diagram showing an example of the structure of a JAD (JAVA Application Descriptor) file. As illustrated, the JAD file includes attribute data 44 of the JAVA application 22, an electronic certificate 45 of the company that created the JAVA application 22, and an electronic signature 46 of the JAVA application 22. More specifically, the attribute data 44 includes an application URL (Uniform Resource Locator), an application name, an application size, a configuration version to be used, a profile version to be used, a scratch pad size, as shown in FIG. It includes information such as whether the communication unit 12 is used, whether the BT module 16 is used, attribute data 44 of the BT module 16, a device management flag, and a startup search flag.
[0049]
Among these, the attribute data 44 of the BT module 16 is more specifically, as shown in FIG. 7, transmission power control, packet type, authentication mode, link key, PIN code, page timeout, supervision timeout, inquiry scan. It includes information such as interval, page scan interval, channel number, other application exclusion, effective communication distance, and anonymity mode.
[0050]
First, JAM determines whether it can be executed on its own terminal or stored based on attribute data 44 such as version information and program size (step S2 in FIG. 4). If execution is not possible, error processing is performed. If execution and storage are possible, JAM (Java Application Manager) obtains the root certificate authority identification number from JAD and obtains the public key of the root certificate authority from ROM 3 (step S3).
[0051]
Next, JAM creates a hash value of the company certificate 45 using a hash function such as MD5. Also, the electronic signature 46 of the JAVA application 22 is decrypted with the obtained public key of the root certificate authority. Then, the hash value created earlier and the combined value are compared (steps S4 and S5). If they do not match, error processing is performed, and if they match, it is determined that the electronic certificate 45 of the company in the JAD is correct, and the public key of the company that created the JAVA application 22 is acquired from the electronic certificate 45 of the company ( Step S6). Using the acquired public key, the electronic signature 46 of the JAVA application 22 included in the JAD file is acquired and decrypted (steps S7 and S8). Next, the JAVA application 22 is downloaded (step S9), and its hash value is created (step S10).
[0052]
Next, JAM downloads the JAVA application 22 and the JAR file including the resource data from the URL described in the attribute data 44 in the JAD file. During downloading, a hash value of the JAR file is created using a hash function such as MD5, and compared with the hash value decrypted earlier (steps S11 and S12). If the hash values match, the downloaded JAVA application 22 can definitely determine the application created by the company.
[0053]
If it is determined to be correct, a trust flag is set (step S13), management data including attribute data 44 as shown in FIG. 8 is created, saved in the JAVA application 22 EEPROM 5 (step S14), and saved successfully. It is confirmed whether or not (step S15). As shown in FIG. 8, the management data includes an application identifier, an application name, an application creation company name, application attribute data 44, a flag indicating trust, an attribute change flag, a device status change flag, an authentication status flag, and the like. . Management data is created for each application and stored in the EEPROM 5.
[0054]
Next, when the attribute of the downloaded application is checked and the BT module 16 is used, the application name and the created company name are presented to the user at the time of saving (step S16), and the BT module 16 is activated when the application is activated. Whether or not the setting is automatically changed is confirmed with the user (step S17), and if the user instructs to change the setting, a setting valid flag of the management data is set (step S18).
[0055]
On the other hand, if it is determined in step S12 that the JAVA application 22 is not reliable, it is confirmed whether or not the JAVA application 22 is stored in the EEPROM 5 (step S19). If not desired, the downloaded JAVA application 22 and management data are discarded.
[0056]
FIG. 9 is a diagram showing a sequence up to the start of data exchange by an application that receives a service that conforms to the specification of JSR82. When the JAVA application 22 receives a service reception instruction from the user, the JAVA application 22 calls an inquiry method to discover a device that provides the service (step S21). In the argument, an identifier called IAC (Inquiry Access code) for filtering the terminal is set. The Bluetooh / OBEX task 23 requests the HCI task 21 to start inquiry (step S22). The HCI task 21 instructs the BT module 16 to start inquiry (step S23). Thereby, the BT module 16 transmits an IQ packet in order to perform inquiry (step S24).
[0057]
When the BT module 16 discovers a new terminal by inquiry (receives an FHS packet) (step S25), the BT module 16 notifies the event to the HCI task 21 (step S26), and the HCI task 21 is a Bluetooh / OBEX task. A message is transmitted to 23 (step S27). The Bluetooh / OBEX task 23 transmits a message to the KVM task 24 (step S28), and the virtual machine task calls back a method registered by the application. The argument at the time of callback includes the BT module identifier of the discovered device and the COD (class of device) indicating the type of the discovered terminal.
[0058]
The application checks the acquired COD, and if it matches the desired COD, calls an inquiry cancel function (steps S29 to S33), and then acquires a remote name that is an easy-to-understand identification name for the user. A method is called (steps S34 to S41).
[0059]
Alternatively, in order to set up the upper protocol connection without obtaining the remote name, create an instance of the connector class and set up the connection by calling the OPEN method. The JAVA virtual machine blocks this function until a connection is established. In the specification of JSR82, L2CAP, RFCOM, SDP, and OBEX are supported as upper protocols.
[0060]
The JAVA application 22 creates an OBEX connector object in order to use the OBEX protocol. When this connector object OPEN request is made (step S42), the KVM 24 requests the HCI task 21 to connect the ACL link in order to create an ACL link (step S43). The HCI task 21 transmits a CreateConnection command to the BT module 16 (step S44).
[0061]
When the BT module 16 issues a link key request to the HCI stack (step S45), the HCI task 21 transmits a link key to the BT module 16 (step S46).
[0062]
When the connection of the connection is completed, the BT module 16 notifies the HCI task 21 of a ConnectionComplete event (step S47). The HCI task 21 notifies the KVM task 24 of an ACL creation event (step S48). The KVM 24 requests the L2CAP 25 task to create an L2CAP connection, and the L2CAP 25 task requests the HCI task 21 to transmit data (step S48). Thereafter, an RFCOM connection is created through the created L2CAP connection, and an OBEX connection is set through the RFCOM connection.
[0063]
Until the OBEX connection is made, the KVM 24 blocks the connector OPEN function, and the success or failure is set as the return value of the OBEX connection request.
[0064]
With the above procedure, preparation for starting data communication is completed. Next, a procedure until the user receives a service using this embodiment will be described with reference to the flowchart of FIG.
[0065]
When the user receives service provision from the Bluetooth device, the user activates the JAVA application 22 corresponding to the service (step S51). At this time, the Java Application Manager (JAM) checks the identifier of the designated JAVA application 22, checks the contents of the attribute data 44 of the application from the management data (step S52), and the OS resources such as the memory 4 and the communication function. Is assigned (step S53). Next, a message is sent to the JAVA virtual machine task to request that the designated JAVA application 22 be activated.
[0066]
At this time, JAM checks whether or not to use the BT module 16 based on the attribute data 44 in the management data (step S54). If the application to be started uses the BT module 16, the JAM next The application trust flag is checked to determine whether or not the application can be trusted (step S55).
[0067]
If the application is reliable, the proximity communication means attribute data in the attribute data 44 in the management data is read, and the value is set in the BT module 16 through the HCI task 21 (step S56). For example, when “2 s” is described in the page timeout item, the HCI task 21 requests to change the page timeout setting to “2 s”. The HCI task 21 instructs to change the setting of the BT module 16 using the WritePageTimeout command.
[0068]
In addition, even in an untrusted application, a dialog for confirming the setting change is presented to the user (step S57), and the setting change of the BT module 16 is permitted or activated even in the case of the trusted application like the temporarily trustworthy application. There may be implementations such as checking each.
[0069]
Next, the JAVA virtual machine is activated (step S58), and the JAVA application 22 is activated on the JAVA virtual machine (step S59). Next, a Bluetooth function is called (step S60), and it is determined whether or not it matches the BCC 26 setting (step S61). If they match, a Bluetooth command is transmitted (step S62). Is notified (step S63).
[0070]
As described above, according to the first embodiment, when a user requests activation of the JAVA application 22, it is automatically verified whether or not the application is reliable, and is necessary for Bluetooth communication only when the application is reliable. Because it automatically reads and sets the necessary information from the information file, the user does not need to make the settings themselves, saving the user's trouble and optimizing the settings for Bluetooth communication regardless of the JAVA virtual machine specifications. It can be performed. Further, when the application is not reliable, Bluetooth communication is not performed, so that security can be improved.
[0071]
In addition, by verifying the electronic signature 46 attached to the JAVA application 22, the company that created the application can be confirmed, and the identity of the server to be provided can be confirmed by using SSL at the time of download. It is possible to identify whether or not the server is operated by a person who owns it and whether or not it is a modified application.
[0072]
(Second Embodiment)
In the second embodiment, the setting information of the BT module 16 is temporarily saved in the memory 4 before the JAVA application 22 is activated, and is restored after the activation is completed.
[0073]
11 and 12 are flowcharts showing the processing procedure of the mobile phone 20 according to the second embodiment. Below, it demonstrates centering on the process different from 1st Embodiment. After the user gives an instruction to start the JAVA application 22, the application trust flag is inspected (step S75). If the application is reliable, only the item for which the attribute value of the BT module 16 is set, the current setting value of the item is set. A message is transmitted to the HCI task 21 for reading (step S76). The HCI task 21 acquires a value from the BT module 16 and returns it to JAM. The JAM associates the item with the read value and records it in the memory 4 as attribute value data of the BT module 16 (step S77). Thereafter, a message is transmitted to the HCI task 21 so as to set the value of the set item.
[0074]
For example, when “2 s” is described in the page timeout item, the current setting value of the BT module 16 is obtained through the HCI task 21, for example, the value “5 s” is obtained when the default value is maintained. The item is recorded in the memory 4 in a pair with the page timeout, and then the HCI task 21 is requested to change the page timeout setting to “2s”. The HCI task 21 uses the WritePageTimeout command to instruct to change the setting of the BT module 16 (step S78).
[0075]
When the user gives an instruction to end the JAVA application 22 after starting the JAVA application 22 (step S91 in FIG. 12), the JAVA virtual machine notifies the end event to the JAVA application 22 (step S92). As a result, the JAVA application 22 executes an end process, and then the JAVA virtual machine releases the application program from the storage area of the memory 4 (step S93).
[0076]
Thereafter, JAM examines the attribute value data of the BT module 16 (step S94), checks whether there is a value to be restored (step S95), and if there is an item to restore, the HCI task A message is sent to set the value to 21. In the above case, a message is transmitted to the HCI task 21 so as to change the page timeout to 5 s, and the HCI task 21 changes the value of the BT module 16 by the WritePegetimeout command to the BT module 16 (steps S96 and S97).
[0077]
As described above, in the second embodiment, the value of the BT module 16 is temporarily stored before the JAVA application 22 is activated, and is restored to the original value at the end of the application, whereby another application that uses the BT module 16 is used. When starting up, there is no contradiction in the setting value.
[0078]
(Third embodiment)
In the third embodiment, the power consumption of the mobile phone 20 is reduced.
[0079]
FIG. 13 is a flowchart showing the processing procedure of the mobile phone 20 according to the third embodiment. Below, it demonstrates centering on the process different from 1st Embodiment. If the JAVA application 22 is reliable, the device management flag of the attribute data 44 is checked (step S106).
[0080]
When the application to be used performs device management, the state of power supply to the BT module 16 is inspected (step S107). If the power is currently supplied to the BT module 16, the attribute data 44 of the BT module 16 in the attribute data 44 is read and the value is set in the BT module 16 through the HCI task 21 (step S108).
[0081]
If the power is not supplied, the API of the OS that enables the power supply to the BT module 16 is called to change the BT module 16 to a usable state (step S109). Next, a device status change flag (a flag indicating whether or not power has been supplied) in the management data is set (step S110), and then the attribute data 44 of the BT module 16 is read out and is sent to the BT module 16 through the HCI task 21. A value is set (step S108).
[0082]
On the other hand, when device management is not performed, the state of power supply to the BT module 16 is inspected (step S111). If the power is currently supplied to the BT module 16, the attribute data 44 of the BT module 16 in the attribute data 44 is read and the value is set in the BT module 16 through the HCI task 21 (step S108).
[0083]
If power is not supplied, a dialog is presented to the user to confirm whether or not to supply power to the BT module 16 (step S112). When the user instructs to supply power, the API of the OS that enables power supply to the BT module 16 is called, and the attribute data 44 of the BT module 16 in the attribute data 44 is read (step S113). ), The value is set in the BT module 16 through the HCI task 21 (step S108). If the user instructs not to supply power, the JAVA virtual machine is started as it is (step S114). In this case, even though the user desires to use the Bluetooth communication function, since the power is not supplied, the command requested in the application results in an error.
[0084]
On the other hand, when the user gives an instruction to end the JAVA application 22 after starting the JAVA application 22, the JAVA virtual machine notifies the JAVA application 22 of an end event. The JAVA application 22 executes termination processing necessary for its own termination such as data storage, and then the JAVA virtual machine releases the application program from the memory area. JAM then checks whether there is a value to be restored with the set value to the BT module 16, and if there is an item to be restored, a message is sent to the HCI task 21 to set that value. Send. Next, the device status change flag of the management data is checked, and when the power status is changed, the API of the OS that stops the power supply to the BT module 16 is called.
[0085]
As described above, in the third embodiment, even if the user does not explicitly instruct power supply to the BT module 16, JAM automatically turns on the power according to the attribute of the application, and ends. Sometimes it is possible to automatically turn off the power. That is, since power is supplied only during a period in which Bluetooth is used, the mobile phone 20 can be driven to save power.
[0086]
(Fourth embodiment)
The fourth embodiment is intended to shorten the time required from receiving an application to receiving a service.
[0087]
FIG. 14 is a flowchart showing the processing procedure of the mobile phone 20 according to the fourth embodiment. Below, it demonstrates centering on the process different from 1st Embodiment. If the application is reliable, the automatic search attribute flag of the attribute data 44 of the BT module 16 is checked (step S127). If the attribute is set, the BT module 16 is instructed to start inquiry through the HCI task 21 (step S128). At this time, an inquiry start instruction is made using the Class of Device and Inquiry Access Code attributes of the BT module 16.
[0088]
Thereafter, the JAVA virtual machine is activated (step S129), and the JAVA application 22 is activated (step S130). After the start of the JAVA application 22, the HCI task 21 checks the state of the BT module 16, checks whether a communicable terminal has been found, and if found, temporarily puts the event in a queue and sends an initialization event first. To the JAVA application 22. Thereafter, the discovery event is notified to the JAVA application 22 (step S131).
[0089]
As described above, in the fourth embodiment, by simultaneously performing discovery processing of a communicable terminal together with an application activation instruction, it is possible to reduce the processing time required from the activation of an application until a service is received.
[0090]
(Fifth embodiment)
In the first to fourth embodiments described above, when one or more settings of the BT module 16 are changed, the JAM notifies the user of the change using a notification device designated in advance. As a notification device, reproduction of an audio file or the like, vibration of a vibrator, blinking of an LED or the like can be considered. In particular, the user can check the state of the BT module 16 by turning on a specific color until the LED returns to the original setting.
[0091]
(Sixth embodiment)
FIG. 15 is a flowchart showing a processing procedure of the mobile phone 20 according to the sixth embodiment. Below, it demonstrates centering on the process different from 1st Embodiment.
[0092]
When the JAVA application 22 makes a connection request, the Bluetooth / OBEX task 23 makes a connection request to the HCI task, and the HCI task 21 makes a connection request to the BT module 16. If the setting of the BCC 26 is set to no authentication at this time (step S141) and the authentication mode of the attribute data 44 of the BT module 16 is authentication (step S142), the authentication change flag of the management data is set. In step S146, the BT module 16 is instructed to change to the authentication mode through the HCI task 21, and when the mode change is successful, a connection request is sent to the BT module 16 (step S147).
[0093]
When the BT module 16 performs connection processing with the counterpart device, the HCI task 21 receives a link key request event from the BT module 16. The HCI task 21 requests a link key from the JAM (step S150). If the JAM checks the attribute data 44 of the BT module 16 and has link key data, the value is used as the link key (step S151). ) To the BT module 16 through the HCI task 21.
[0094]
If it does not have a link key, a link key rejection is returned to the BT module 16 through the HCI task 21 (step S152). In the case of refusal, the HCI task 21 similarly receives a PIN code input event (step S153). The JAM that has received the PIN code request checks the PIN code of the attribute data 44 of the BT module 16 (step S154), and if it has the PIN code, returns the PIN code to the BT module 16 through the HCI task 21. (Step S155).
[0095]
If the user does not have a PIN code, a PIN code input dialog is presented to the user to prompt input (step S156). If there is a PIN code input, the PIN code is returned and the connection process is continued (step S157).
[0096]
When the JAVA application 22 is terminated, the authentication change flag of the management data is checked, and if the authentication mode is changed, the BT module 16 is requested through the HCI task 21 to change to the no authentication mode.
As described above, in the sixth embodiment, the user can authenticate the partner apparatus by using the authentication function of the BT module 16 without having to input an application-specific authentication key. .
[0097]
(Other embodiments)
The effects related to the attributes of the BT module 16 used in this embodiment will be described below.
[0098]
Since the following parameters cannot be directly controlled by the Bluetooth / OBEX task 23, settings suitable for the application can be performed by changing the parameters according to the method described in the present embodiment.
[0099]
In the transmission power control, the communication distance of a Bluetooth device is normally 10 m. However, by reducing the transmission power of the RF modem using a vendor extension command, the communication distance can be reduced, and communication suitable for the application. Can provide areas and improve security.
[0100]
A plurality of packet types are prepared as packets for Bluetooth data communication. Since the DM packet with an error correction function has a simple error correction capability, the packet transfer rate is lowered in an environment where other communication devices exist. However, since retransmission of packets does not occur, it is possible to prevent a decrease in the actual transfer rate even in a noisy environment. On the other hand, the DH packet does not have error correction capability, but the transfer rate can be increased accordingly. If an environment in which an application is used is predicted in advance and the environment is constant, it is advantageous to select a packet type corresponding to the environment.
[0101]
The authentication mode, PIN code, and link key are as described in the sixth embodiment. The page timeout is a parameter that determines the timeout of the connection request. Increasing this value increases the time required for connection, but increases the probability of being able to connect to the other party. On the other hand, when high-speed connection is possible, the reaction can be improved by reducing this value.
[0102]
The supervision timeout is a parameter for determining disconnection of a connection. When this value is increased, disconnection is difficult, but conversely, disconnection detection takes time and reaction becomes worse.
[0103]
The inquiry scan interval and page scan interval are used when the portable device becomes a slave. Decreasing this value can shorten the time required for connection, but on the other hand, the power consumed by the Bluetooth device increases.
[0104]
The channel number is an identification number used for OBEX connection, and is usually obtained using SDP. However, if there are no other applications, the processing time for SDP can be eliminated by fixing this value.
[0105]
Other application exclusion indicates that execution of another application is rejected. It is conceivable that Bluetooth is used not only by the JAVA application 22 but also by an OS native application. That is, when the native application using Bluetooth tries to send a command to the task of the Bluetooth stack while executing the JAVA application 22 corresponding to Bluetooth, this attribute is checked, and if it is exclusive, the native request is rejected. . Thereby, a certain Bluetooth JAVA application 22 can exclusively use resources.
[0106]
The effective communication distance requests RSSI measurement from the HCI task 21 when an ACL link is established, and if the obtained value does not satisfy the condition described in the attribute, the link is forcibly disconnected. . For example, when a distance of several tens of centimeters to 1 m is sufficient for a cash register, or when an erroneous connection is made with a device several meters away, the RSSI value is smaller than the expected RSSI value. Thereby, it can be determined whether or not communication is performed with a device existing in a desired area, and security can be enhanced. In this case, use RSSI that conforms to the use of Ver1.2.
[0107]
Anonymity mode uses Ver1.2, and if this function is used, it is possible to periodically change one's BT address, thereby ensuring privacy.
[0108]
In addition, this invention is not limited to said embodiment, In the implementation stage, it can change variously in the range which does not deviate from the summary. Furthermore, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent elements are deleted from all the constituent elements shown in the embodiment, the problem (at least one of them) described in the column of the problem to be solved by the invention can be solved, and the column of the effect of the invention If at least one of the effects described in (1) is obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention.
[0109]
The functions of the wireless terminal described in the above-described embodiment may be configured by hardware or software. When configured by software, a program for realizing at least a part of the functions of the wireless terminal may be stored in a recording medium such as a floppy disk or a CD-ROM, and read and executed by a computer. The recording medium is not limited to a portable medium such as a magnetic disk or an optical disk, but may be a fixed recording medium such as a hard disk device or a memory.
[0110]
Further, a program for realizing at least a part of the functions of the wireless terminal may be distributed via a communication line (including wireless communication) such as the Internet. Furthermore, the program may be distributed through being stored in a recording medium via a wired line or a wireless line such as the Internet in a state where the program is encrypted, modulated, or compressed.
[0111]
【The invention's effect】
As described above in detail, according to the present invention, when there is a request for starting an application program, it is automatically verified whether or not the application program is reliable. Since the setting is automatically performed, it is not necessary for the user himself to perform the communication setting of the near field communication means, the user's trouble is saved, and the optimum communication setting can be performed when the application program is reliable. Further, there is no possibility of performing communication according to an unreliable application program, and security is improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of the internal configuration of a mobile phone which is an embodiment of a wireless terminal according to the present invention.
FIG. 2 is a block diagram of modules necessary for the JAVA application to use the Bluetooth function.
FIG. 3 is a diagram showing a connection relationship between a mobile phone, a base station, and a Web server.
FIG. 4 is a flowchart showing an authentication procedure of an application performed by the mobile phone.
FIG. 5 is a diagram showing the structure of a JAD (JAVA Application Descriptor) file.
FIG. 6 is a diagram showing detailed contents of attribute data in a JAD file.
FIG. 7 is a diagram showing detailed contents of attribute data of a BT module.
FIG. 8 is a diagram showing detailed contents of management data.
FIG. 9 is a diagram showing a sequence until an application that receives a service according to the specification of JSR82 starts data exchange.
FIG. 10 is a flowchart showing a procedure until a user receives a service using the embodiment.
FIG. 11 is a flowchart illustrating a processing procedure according to the second embodiment when an application is activated.
FIG. 12 is a flowchart illustrating a processing procedure according to the second embodiment when an application ends.
FIG. 13 is a flowchart showing a processing procedure of the third embodiment of the mobile phone;
FIG. 14 is a flowchart showing a processing procedure of the fourth embodiment of the mobile phone;
FIG. 15 is a flowchart showing a processing procedure of the sixth embodiment of the mobile phone;
[Explanation of symbols]
1 Internal bus
2 CPU
3 ROM
4 memory
5 EEPROM
6 Microphone
7 A / D
8 Speaker
9 D / A
10 Eccentric motor
11 Base station
12 Communication Department
13 Display section
14 Key input section
15 Selection instruction part
16 BT module
17 Interface

Claims (11)

付属情報を含むアプリケーションプログラムを受信可能な第1の通信手段と、
前記付属情報に基づいて、前記アプリケーションプログラムが信頼できるか否かを検証する信頼検証手段と、
前記アプリケーションプログラムが利用する、前記第1の通信手段とは別個に設けられ前記第1の通信手段よりも通信可能な範囲が狭い第2の通信手段と、
前記信頼検証手段により信頼できると検証された前記アプリケーションプログラムを実行するとき、前記付属情報に含まれる前記第2の通信手段による通信に必要な情報に従って前記第2の通信手段の通信設定を行う通信設定手段と、
前記通信設定手段が前記第2の通信手段に通信設定を行った後、前記アプリケーションプログラムを起動する起動開始手段と、を備え、
前記第2の通信手段による通信に必要な情報は、通信相手の起動検索、認証モード、リンクキー、PINコード、送信電力、ページタイムアウト、スーパビジョンタイムアウト、ページスキャンインターバル、インクワイアリスキャンインターバル、他のアプリケーションの排他、有効通信距離、パケットタイプ、クラスオブデバイス、インクワイヤリアクセスコード及びチャネル番号の少なくとも一つを含むことを特徴とすることを特徴とする無線端末。
First communication means capable of receiving an application program including attached information;
Trust verification means for verifying whether or not the application program is reliable based on the attached information;
A second communication unit that is used by the application program and that is provided separately from the first communication unit and has a narrower communication range than the first communication unit;
Communication for performing communication setting of the second communication unit according to information necessary for communication by the second communication unit included in the attached information when executing the application program verified to be reliable by the trust verification unit Setting means;
After the communication setting unit performs communication setting on the second communication unit, a start start unit that starts the application program, and
Information necessary for communication by the second communication means includes communication partner activation search, authentication mode, link key, PIN code, transmission power, page timeout, supervision timeout, page scan interval, inquiry scan interval, etc. A wireless terminal comprising at least one of application exclusion, effective communication distance, packet type, class of device, inquiry access code, and channel number.
前記信頼検証手段は、
前記付属情報に含まれる前記アプリケーションプログラムの作成者または管理者の電子証明書が信頼できるか否かを検証して、該電子証明書が信頼できる場合には、該付属情報に含まれるアプリケーションプログラムの電子署名が信頼できるか否かを検証する署名検証手段を有することを特徴とする請求項1に記載の無線端末。
The trust verification means includes
When the electronic certificate of the creator or administrator of the application program included in the attached information is verified, and the electronic certificate is trusted, the application program included in the attached information The wireless terminal according to claim 1, further comprising signature verification means for verifying whether the electronic signature is reliable.
前記署名検証手段により信頼できると検証された後に前記アプリケーションプログラムを保存する保存手段をさらに備え、
前記信頼検証手段は、前記保存手段が前記アプリケーションプログラムを保存し終わった後に、前記アプリケーションプログラムが信頼できることを示すフラグ情報を設定するフラグ設定手段をさらに有することを特徴とする請求項2に記載の無線端末。
A storage unit that stores the application program after being verified by the signature verification unit as being reliable;
The said trust verification means further has a flag setting means which sets the flag information which shows that the said application program can be trusted after the said storage means has preserve | saved the said application program, The claim setting means characterized by the above-mentioned. Wireless terminal.
前記付属情報は、前記アプリケーションプログラムの属性情報と、前記第2の通信手段による通信に必要な情報と、前記アプリケーションプログラムの作成者または管理者の電子証明書と、前記アプリケーションプログラムの電子署名とを含むことを特徴とする請求項1及至3のいずれかに記載の無線端末。  The attached information includes attribute information of the application program, information necessary for communication by the second communication means, an electronic certificate of the creator or administrator of the application program, and an electronic signature of the application program. The wireless terminal according to claim 1, wherein the wireless terminal is included. 前記信頼検証手段により信頼できると検証されたアプリケーションプログラムを実行する前に、前記第2の通信手段の通信設定情報のうち変更を要する情報を一時的に退避させる情報退避手段と、
前記通信設定手段による設定の後に実行される前記アプリケーションプログラムの終了後、前記情報退避手段に退避した情報を前記第2の通信手段に再設定する再設定手段と、を備えることを特徴とする請求項1及至4のいずれかに記載の無線端末。
An information saving unit that temporarily saves information that needs to be changed among the communication setting information of the second communication unit before executing the application program verified to be reliable by the trust verification unit;
And a resetting unit configured to reset the information saved in the information saving unit in the second communication unit after the application program executed after the setting by the communication setting unit is completed. Item 5. The wireless terminal according to any one of Items 1 to 4.
前記第2の通信手段が通信許容状態に設定されているか否かを判断する通信許容判断手段と、
前記信頼検証手段によって信頼できると検証した場合に、前記第2の通信手段が通信許容状態に設定されていないと判断されると、前記第2の通信手段を通信許容状態に設定する通信許容設定手段と、を備えることを特徴とする請求項1及至5のいずれかに記載の無線端末。
Communication permission determining means for determining whether or not the second communication means is set in a communication permission state;
When it is determined that the second communication means is not set in a communication allowable state when it is verified by the trust verification means that the second communication means is set in a communication allowable state, a communication allowable setting for setting the second communication means in a communication allowable state. The wireless terminal according to any one of claims 1 to 5, further comprising: means.
前記通信設定手段による前記第2の通信手段への通信設定が終了した後、前記第2の通信手段に対して、通信可能な通信装置の探索を開始する要求する探索要求手段を備え、
前記起動開始手段は、前記探索要求手段が前記第2の通信手段に探索開始を要求した後、前記アプリケーションプログラムの起動を開始することを特徴とする請求項1及至6のいずれかに記載の無線端末。
A search request means for requesting the second communication means to start searching for a communicable communication device after the communication setting to the second communication means is completed by the communication setting means;
The wireless start according to any one of claims 1 to 6, wherein the activation start unit starts the application program after the search request unit requests the second communication unit to start a search. Terminal.
前記通信設定手段が前記第2の通信手段の通信設定情報を変更した場合に、その旨を報知する報知手段を備えることを特徴とする請求項1及至7のいずれかに記載の無線端末。  The wireless terminal according to any one of claims 1 to 7, further comprising a notification unit configured to notify that when the communication setting unit changes communication setting information of the second communication unit. 前記第2の通信手段は、Bluetoothを利用した通信を行うことを特徴とする請求項1及至8のいずれかに記載の無線端末。  The wireless terminal according to claim 1, wherein the second communication unit performs communication using Bluetooth. 付属情報を含むアプリケーションプログラムを無線端末の第1の通信手段にて受信するステップと、
前記付属情報に基づいて、前記アプリケーションプログラムが信頼できるか否かを前記無線端末の前記信頼検証手段にて検証するステップと、
該信頼できると検証されたアプリケーションプログラムを実行するとき、前記付属情報に含まれる該アプリケーションプログラムによる通信に必要な情報に従って、前記第1の通信手段とは別個に前記無線端末に設けられ前記第1の通信手段よりも通信範囲が狭い第2の通信手段の通信設定を前記無線端末の通信設定手段にて行うステップと、
該通信設定を行った後、前記アプリケーションプログラムを前記無線端末の起動開始手段にて起動するステップと、を実行させ、
前記第2の通信手段による通信に必要な情報は、通信相手の起動検索、認証モード、リンクキー、PINコード、送信電力、ページタイムアウト、スーパビジョンタイムアウト、ページスキャンインターバル、インクワイアリスキャンインターバル、他のアプリケーションの排他、有効通信距離、パケットタイプ、クラスオブデバイス、インクワイヤリアクセスコード及びチャネル番号の少なくとも一つを含むことを特徴とする通信制御プログラム。
Receiving an application program including attached information at the first communication means of the wireless terminal ;
Verifying whether the application program can be trusted based on the attached information by the trust verification means of the wireless terminal ;
When executing the application program verified to be reliable, the first wireless communication device is provided in the wireless terminal separately from the first communication means according to information necessary for communication by the application program included in the attached information. Performing communication setting of the second communication means having a communication range narrower than the communication means of the communication setting means of the wireless terminal ;
After performing the communication setting, the step of starting the application program in the start start unit of the wireless terminal ,
Information necessary for communication by the second communication means includes communication partner activation search, authentication mode, link key, PIN code, transmission power, page timeout, supervision timeout, page scan interval, inquiry scan interval, etc. A communication control program comprising at least one of application exclusion, effective communication distance, packet type, class of device, inquiry access code, and channel number.
付属情報を含むアプリケーションプログラムを無線端末の第1の通信手段にて受信し、
前記付属情報に基づいて、前記アプリケーションプログラムが信頼できるか否かを前記無線端末の前記信頼検証手段にて検証し、
信頼できると検証された前記アプリケーションプログラムを実行するとき、前記付属情報に含まれる該アプリケーションプログラムによる通信に必要な情報に従って、前記第1の通信手段とは別個に前記無線端末に設けられ前記第1の通信手段よりも通信範囲が狭い第2の通信手段の通信設定を前記無線端末の通信設定手段にて行い、
該通信設定を行った後、前記アプリケーションプログラムを前記無線端末の起動開始手段にて起動し、
前記第2の通信手段による通信に必要な情報は、通信相手の起動検索、認証モード、リンクキー、PINコード、送信電力、ページタイムアウト、スーパビジョンタイムアウト、ページスキャンインターバル、インクワイアリスキャンインターバル、他のアプリケーションの排他、有効通信距離、パケットタイプ、クラスオブデバイス、インクワイヤリアクセスコード及びチャネル番号の少なくとも一つを含むことを特徴とする通信制御方法。
The application program including the attached information is received by the first communication means of the wireless terminal ,
Based on the attached information, whether or not the application program is reliable is verified by the trust verification means of the wireless terminal ,
When executing the application program verified to be reliable, the first communication unit is provided in the wireless terminal separately from the first communication unit according to information necessary for communication by the application program included in the attached information. The communication setting of the second communication means having a communication range narrower than that of the communication means is performed by the communication setting means of the wireless terminal ,
After performing the communication setting, the application program is activated by the activation start unit of the wireless terminal ,
Information necessary for communication by the second communication means includes communication partner activation search, authentication mode, link key, PIN code, transmission power, page timeout, supervision timeout, page scan interval, inquiry scan interval, etc. A communication control method comprising at least one of application exclusion, effective communication distance, packet type, class of device, inquiry access code, and channel number.
JP2003090787A 2003-03-28 2003-03-28 Wireless terminal, communication control program, and communication control method Expired - Fee Related JP3863122B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003090787A JP3863122B2 (en) 2003-03-28 2003-03-28 Wireless terminal, communication control program, and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003090787A JP3863122B2 (en) 2003-03-28 2003-03-28 Wireless terminal, communication control program, and communication control method

Publications (2)

Publication Number Publication Date
JP2004297711A JP2004297711A (en) 2004-10-21
JP3863122B2 true JP3863122B2 (en) 2006-12-27

Family

ID=33404322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003090787A Expired - Fee Related JP3863122B2 (en) 2003-03-28 2003-03-28 Wireless terminal, communication control program, and communication control method

Country Status (1)

Country Link
JP (1) JP3863122B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8320831B2 (en) 2009-04-15 2012-11-27 Kabushiki Kaisha Toshiba Electronic device and communication control method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745999B1 (en) * 2004-12-17 2007-08-06 삼성전자주식회사 Bluetooth device and method for offering service determined by Bluetooth PIN
WO2007020574A2 (en) 2005-08-12 2007-02-22 Nxp B.V. Software application security method and system
GB0601403D0 (en) * 2006-01-24 2006-03-08 Cambridge Silicon Radio Ltd Varying device identities
JP4771823B2 (en) * 2006-02-10 2011-09-14 ソフトバンクモバイル株式会社 Portable information system, portable information terminal, communication program, and communication method
JP4998195B2 (en) * 2007-10-15 2012-08-15 富士通モバイルコミュニケーションズ株式会社 Communication device
JP5631940B2 (en) * 2012-07-23 2014-11-26 株式会社東芝 Information processing apparatus, method, and program

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3580333B2 (en) * 1996-04-10 2004-10-20 日本電信電話株式会社 How to equip the encryption authentication function
SE517116C2 (en) * 2000-08-11 2002-04-16 Ericsson Telefon Ab L M Method and device for secure communication services
JP2002101459A (en) * 2000-09-25 2002-04-05 Ntt Comware Corp Portable terminal and service providing device having person in question authentication function, and its system and processing method consisting of its processing procedures, and its recording medium
JP2002185450A (en) * 2000-12-15 2002-06-28 Ntt Docomo Inc Radio adapter device, initial connection confirming method and radio equipment
JP4356259B2 (en) * 2001-03-28 2009-11-04 株式会社デンソー Electronic device communication system, portable wireless communication device, electronic device, and computer program
JP2003036428A (en) * 2001-05-17 2003-02-07 Matsushita Electric Ind Co Ltd Ic card and electronic device
JP4701544B2 (en) * 2001-06-13 2011-06-15 ソニー株式会社 Terminal operation device, terminal operation method, and terminal device
JP2003015911A (en) * 2001-06-29 2003-01-17 Toshiba Corp Processing completion notification system and processing completion notification method
JP2003078478A (en) * 2001-09-05 2003-03-14 Sony Corp System and method for transmission and reception
JP2003087878A (en) * 2001-09-10 2003-03-20 Ricoh Elemex Corp Communication operation system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8320831B2 (en) 2009-04-15 2012-11-27 Kabushiki Kaisha Toshiba Electronic device and communication control method

Also Published As

Publication number Publication date
JP2004297711A (en) 2004-10-21

Similar Documents

Publication Publication Date Title
RU2391796C2 (en) Limited access to functional sets of mobile terminal
US7545941B2 (en) Method of initializing and using a security association for middleware based on physical proximity
JP5189066B2 (en) User authentication method, authentication system, terminal device and authentication device in terminal device
CN100534090C (en) Security element commanding method and mobile terminal
JP4027360B2 (en) Authentication method and system, information processing method and apparatus
US6591095B1 (en) Method and apparatus for designating administrative responsibilities in a mobile communications device
JP4524059B2 (en) Method and apparatus for performing secure data transfer in a wireless communication network
US8244212B2 (en) Communication method, communication apparatus, cell phone terminal, and communication system for performing connection via a network
US20030221011A1 (en) Access control apparatus
US20060126846A1 (en) Device authentication system
JP2005527909A (en) User authentication method and system using e-mail address and hardware information
JP2009212732A5 (en)
JP2000059440A (en) Verification of data transfer based on specific id code
JP4305234B2 (en) Public wireless LAN connection service apparatus and method
WO2005103919A1 (en) User authentication system and data providing system using the same
JP3863122B2 (en) Wireless terminal, communication control program, and communication control method
KR100770143B1 (en) Card terminals with function of wireless voip gateway and recording medium
JP2004166090A (en) Short-range communication equipment, portable terminal, control program of short-range communication equipment, control program of portable terminal and communication system
JP2006018361A (en) Authentication processing method, server device, terminal device, authentication processing program and authenticaiton processing system
JP2003242118A (en) Communication system, relay device, and program
JP3851781B2 (en) Wireless communication apparatus, wireless communication system, and connection authentication method
JP2008241886A (en) Karaoke system, karaoke device, its management server and program
JP2002354143A (en) Communication method and system, communication equipment, processing unit and its method
JP4657722B2 (en) Method and apparatus for reporting authenticity in a mobile communication device
JP2008177928A (en) Communication system and sender information display method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060829

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060927

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

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees