JP3863122B2 - Wireless terminal, communication control program, and communication control method - Google Patents
Wireless terminal, communication control program, and communication control method Download PDFInfo
- 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
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
[0027]
For example, the
[0028]
An
[0029]
Alternatively, the format of the external interface of the
[0030]
A method of giving a command to the
[0031]
The configuration related to the voice call is the same as that of a conventional mobile phone. For example, the
[0032]
When the
[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 /
[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
[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
[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
[0038]
A command from the
[0039]
As described above, the
[0040]
The
[0041]
The
[0042]
In addition, since the API of Bluetooh /
[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 /
[0044]
The
[0045]
With the above method, it is possible to exchange IP packets between the
[0046]
Since the MIDP 2.0 specification supports SSL (Secure Sockets Layer), the communication function of the
[0047]
FIG. 4 is a flowchart showing an application authentication procedure performed by the
[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
[0049]
Among these, the
[0050]
First, JAM determines whether it can be executed on its own terminal or stored based on
[0051]
Next, JAM creates a hash value of the
[0052]
Next, JAM downloads the
[0053]
If it is determined to be correct, a trust flag is set (step S13), management data including
[0054]
Next, when the attribute of the downloaded application is checked and the
[0055]
On the other hand, if it is determined in step S12 that the
[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
[0057]
When the
[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
[0061]
When the
[0062]
When the connection of the connection is completed, the
[0063]
Until the OBEX connection is made, the
[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
[0066]
At this time, JAM checks whether or not to use the
[0067]
If the application is reliable, the proximity communication means attribute data in the
[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
[0069]
Next, the JAVA virtual machine is activated (step S58), and the
[0070]
As described above, according to the first embodiment, when a user requests activation of the
[0071]
In addition, by verifying the
[0072]
(Second Embodiment)
In the second embodiment, the setting information of the
[0073]
11 and 12 are flowcharts showing the processing procedure of the
[0074]
For example, when “2 s” is described in the page timeout item, the current setting value of the
[0075]
When the user gives an instruction to end the
[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
[0077]
As described above, in the second embodiment, the value of the
[0078]
(Third embodiment)
In the third embodiment, the power consumption of the
[0079]
FIG. 13 is a flowchart showing the processing procedure of the
[0080]
When the application to be used performs device management, the state of power supply to the
[0081]
If the power is not supplied, the API of the OS that enables the power supply to the
[0082]
On the other hand, when device management is not performed, the state of power supply to the
[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
[0084]
On the other hand, when the user gives an instruction to end the
[0085]
As described above, in the third embodiment, even if the user does not explicitly instruct power supply to the
[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
[0088]
Thereafter, the JAVA virtual machine is activated (step S129), and the
[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
[0091]
(Sixth embodiment)
FIG. 15 is a flowchart showing a processing procedure of the
[0092]
When the
[0093]
When the
[0094]
If it does not have a link key, a link key rejection is returned to the
[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
As described above, in the sixth embodiment, the user can authenticate the partner apparatus by using the authentication function of the
[0097]
(Other embodiments)
The effects related to the attributes of the
[0098]
Since the following parameters cannot be directly controlled by the Bluetooth /
[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
[0106]
The effective communication distance requests RSSI measurement from the
[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の通信手段よりも通信可能な範囲が狭い第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及至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の通信手段を通信許容状態に設定する通信許容設定手段と、を備えることを特徴とする請求項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の通信手段に探索開始を要求した後、前記アプリケーションプログラムの起動を開始することを特徴とする請求項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.
前記付属情報に基づいて、前記アプリケーションプログラムが信頼できるか否かを前記無線端末の前記信頼検証手段にて検証するステップと、
該信頼できると検証されたアプリケーションプログラムを実行するとき、前記付属情報に含まれる該アプリケーションプログラムによる通信に必要な情報に従って、前記第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の通信手段よりも通信範囲が狭い第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.
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)
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)
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)
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 |
-
2003
- 2003-03-28 JP JP2003090787A patent/JP3863122B2/en not_active Expired - Fee Related
Cited By (1)
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 |