JP3886955B2 - 無線通信装置、携帯端末、無線通信装置を制御するプログラム - Google Patents

無線通信装置、携帯端末、無線通信装置を制御するプログラム Download PDF

Info

Publication number
JP3886955B2
JP3886955B2 JP2003375366A JP2003375366A JP3886955B2 JP 3886955 B2 JP3886955 B2 JP 3886955B2 JP 2003375366 A JP2003375366 A JP 2003375366A JP 2003375366 A JP2003375366 A JP 2003375366A JP 3886955 B2 JP3886955 B2 JP 3886955B2
Authority
JP
Japan
Prior art keywords
information
identification information
data
service name
bluetooth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003375366A
Other languages
English (en)
Other versions
JP2004173260A (ja
Inventor
川 明 彦 杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2003375366A priority Critical patent/JP3886955B2/ja
Publication of JP2004173260A publication Critical patent/JP2004173260A/ja
Application granted granted Critical
Publication of JP3886955B2 publication Critical patent/JP3886955B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、Bluetoothなどの比較的狭い範囲で通信を行う無線通信装置と、この種の無線通信装置と通信を行う携帯端末と、通信システムとに関する。
最近、伝送距離が10m程度の近距離無線通信方式が注目を集めている。従来の無線LANの有効な伝送距離範囲が100m以上であるのに対し、近距離無線通信方式は、伝送範囲が狭い分、使用する電力が少ないので、携帯電話やPDA等の携帯型情報処理装置(以下、簡単に携帯端末と呼ぶ)などのバッテリーに制限がある情報処理装置に適している。
Bluetooth(登録商標)は、このような近距離無線通信方式の1つであり、近年、このBluetooth通信機能を備えた携帯端末が普及し始めている(特許文献1,非特許文献1参照)。
Bluetoothは、デバイスの単価が安くて装置の小型化が可能なため、Bluetooth通信機能を備えた装置が今後いたるところに普及すると予想される。Bluetoothの普及により、任意の場所で、各場所に応じたサービスや情報を提供できるようになる。
例えば、コンビニエンスストア、スーパ及び小売店などでは、電子クーポンサービス、電子ポイントサービス、電子決済、レシート及び領収書発行などの購買者向けのサービスを行うことができる。また、電子チケットによるゲート開閉の制御、自動販売機での決済や割引サービス、駐車場、ガソリンスタンド及びドライブスルーでの料金支払いなどへの応用が期待されている。この他、インターネットへのアクセス、情報配信及び位置情報の提供なども可能になる。特に、人が多く集まるような駅や待ち合わせのスポットには、Bluetooth通信機能を備えた数多くの装置が設置されることが予想される。
以下、Bluetooth通信機能を備えた携帯端末(以下、簡単にBluetooth端末と呼ぶ)と、Bluetooth通信機能を備えて各種サービスを提供する情報処理装置(以下、簡単にBluetooth装置と呼ぶ)との間で、Bluetoothによる接続を確立し、当該Bluetooth端末を所持するユーザにBluetooth装置がサービスを提供する場合を例にとって、従来技術を説明する。
まず、Bluetooth端末が任意の場所で任意の相手からサービスを受けるための手順を説明する。図13はこの手順を示すフローチャートである。まず、サービスを受けるためのアプリケーションを起動する(ステップS1)。次に、Bluetooth端末は、インクワイアリを行って周囲の通信可能な端末の発見を試みる(ステップS2)。
次に、Bluetooth端末は、発見した端末のリモートネームを取得する(ステップS3)。次に、一定時間経過後、インクワイアリが完了すると、Bluetooth端末は、インクワイアリで発見した装置のリモートネームの一覧を利用者に提示する(ステップS4)。
次に、Bluetooth端末は、利用者が選択したBluetooth装置に対してACL接続要求を行う(ステップS5)。そして、ACL接続完了後、Bluetooth端末は、サービス情報取得コマンドを送信する(ステップS6)。
次に、Bluetooth端末は、サービス情報を取得し、アプリケーションが利用するプロファイルをサポートしているか検査する(ステップS7)。プロファイルをサポートしている場合は、Bluetooth端末は、そのプロファイルに関する接続情報を取得する(ステップS8)。
Bluetooth端末は、取得した情報を用いてそのプロファイルに対して接続要求を行う(ステップS9)。プロファイルの接続完了後、Bluetooth端末は、アプリケーションレベルでサーバ認証を行う(ステップS10)。
以上の手順により、利用者は、Bluetooth端末を使用して所望のサービスを受けることが可能となる。
特開2002−152196公報 Member Web Site、"Specifications"他、[online]、The Bluetooth SIG, Inc.、[ 平成14年10月29 日検索]、インターネット< URL: http://www.bluetooth.org>
ここで、Bluetoothを使用したサービスや情報提供装置が普及し、公衆の集まる駅やスポットにBluetooth装置が多数配置された状況での使用を想定して説明する。特に人の多く集まるような場所では、有益な情報ばかりでなく、多くの人には無益の情報(ローン、アダルト情報、ギャンブル等)も多数配信されることが容易に想像できる。
このような状況で、サービスや情報を取得しようとして、Bluetooth端末から通信可能なBluetooth装置の発見を試みると、有益無益にかかわらず多くのBluetooth装置が発見されることとなる。
現状では、インクワイアリで取得できる情報に含まれるBluetooth装置の種類に関する情報を記したCOD(Class of Device)を用いれば、所望のサービスを提供するBluetooth装置のみを絞り込むことができる。
しかし、CODは、装置の種類であってサービスそのものを識別しているのではない。例えば、CODに情報配信装置のカテゴリーがあったとしても、それが、どのような情報を配信する装置かをCODのみでは識別できず、リモートネームで相手装置の名前を取得して初めてわかることである。
ところが、リモートネームは容易に設定できるため、その装置が本当にそのサービスや情報を提供しているかは、サービス提供を行うプロファイル、例えば、FTPプロファイルの接続を行い、実際に情報を取得しなければわからない。
特定の情報を取得するための専用のアプリケーションを使用するのであれば、例えば、居酒屋情報が欲しい場合は、そのアプリケーションにあらかじめ居酒屋情報提供装置に共通な鍵を持たせておき、Bluetoothのリンク認証機構、あるいは、OBEXの相手認証機能を用いることにより、偽者の装置に接続することを防ぐことができる。
ただし、Bluetoothリンク認証やOBEXの認証も、利用者がその装置に接続を行うまで、正しい装置かどうか確認できないため、無益な情報を提供する装置が多数存在すると、利用者が本来必要とするサービスや情報取得にかかる時間や手間が増えてしまう。
また、リモートネームに利用者の興味をひく宣伝文だけを埋め込んでおいた場合、利用者が通信可能な装置を探索したときに、その宣伝文句を目にすることになり、利用者が希望する端末の選択を阻害することとなる。
リモートネームは容易に設定できるため、その装置が利用者の所望のサービスや情報を本当にサポートしているかは、接続してみて実際に確認しなければならず、利用者に余分な時間や労力をかけることとなる。
また、リモートネームに宣伝文句が設定された装置が存在すると、利用者が接続を希望する装置の選択を大きく阻害してしまう。
本発明は、このような点に鑑みてなされたものであり、その目的は、信頼できるサービスを提供する通信装置に簡易かつ迅速かつ正しく接続可能な近接通信装置、携帯端末、近接通信装置を制御するプログラム及び携帯端末を制御するプログラムを提供することにある。
上記の目的を達成するため、本発明に係る無線通信装置は、ある範囲内に位置する他の通信装置との間で通信を行う無線通信手段と、提供可能なサービス名称と固有情報とを含む第1識別情報を生成する第1識別情報生成手段と、予め定めた暗号鍵を用いて前記第1識別情報を暗号化して暗号化データを生成する暗号化手段と、前記サービス名称、前記固有情報及び前記暗号化データを含む第2識別情報を生成する第2識別情報生成手段と、前記固有情報の送信要求を行った他の通信装置に対して、前記第2識別情報を送信する固有情報送信手段と、を備える。
また、本発明に係る携帯端末は、ある範囲内に位置する他の通信装置との間で通信を行う無線通信手段と、通信可能な通信装置を探索する探索手段と、前記探索された通信装置から送信された第1識別情報を取得する識別情報取得手段と、前記取得された第1識別情報から、サービス名称、固有情報及び暗号化データを抽出する情報抽出手段と、予め定めた解読鍵を用いて、前記暗号化データを復号する復号手段と、前記復号されたデータと、前記情報抽出手段で抽出されたサービス名称及び固有情報とを比較し、前記探索手段で探索された通信装置が信頼できるか否かを判定する比較判定手段と、前記比較判定手段により信頼できないと判定された通信装置との通信を禁止する通信制御手段と、を備える。
本発明によれば、サービス名称と装置識別情報を含む第1識別情報を暗号化した暗号化データを生成し、サービス名称、装置識別情報及び暗号化データを含む第2識別情報を他の通信装置に送信するため、通信相手が信頼できるか否かを正確に判断でき、不正な装置との通信を回避でき、セキュリティ性能の向上が図れる。
以下、本発明に係る無線通信装置、携帯端末、通信制御プログラム及び携帯端末を制御するプログラムについて図面を参照しながら具体的に説明する。以下では主に、Bluetooth端末とBluetooth装置との間でBluetoothによる接続を確立し、当該Bluetooth端末を所持するユーザにBluetooth装置が情報を提供する場合を例にとって説明する。
(第1の実施形態)
図1は本発明に係る情報提供装置の第1の実施形態であるBluetooth装置10の内部構成を示す図である。Bluetooth装置10は、バス1に接続されたCPU2、メモリ3、ROM4、記憶装置5、RS-232Cコントローラ6及び有線/無線通信部7と、RS-232Cコントローラ6に接続されたBluetooth送受信部(以下、BT送受信部)8とを有する。
BT送受信部8は、Bluetooth携帯端末11との間で、Bluetoothの仕様で通信を行う。Bluetooth携帯端末11に提供する各種の情報は、記憶装置5に格納しておいてもよいし、有線/無線通信部7を介してインターネット9上のサーバに格納しておき、このサーバにアクセスして、Bluetooth携帯端末11から要求のあった情報を取得してもよい。
記憶装置5の具体的形態は特に問わないが、ハードディスク、DVD-RAM、DVD-ROM及び半導体ディスクなどが考えられる。有線/無線通信部7は、有線及び無線のどちらで通信を行ってもよい。有線で通信を行う場合、イーサネット(登録商標)とIP(Internet Protocol)プロトコル、あるいは、電話線、PPP(Point To Point Protocol)及びIPなどの組み合わせが考えられる。無線で通信を行う場合、無線インターネットを使用するか、携帯電話やPHSのパケット通信を使用してもよい。
BT送受信部8は、単にBluetooth送受信用モジュールのみの構成、あるいは、BT送受信部8に別途CPUやメモリを搭載し、上位のプロトコル、たとえば、L2CAPやRFCOMMなどの処理を行う構成のどちらでもよい。
Bluetooth送受信用モジュールのみの構成の場合、仕様書で定義されたHCI(Host Controler Interface)コマンドを送信し、その結果をイベントとして受信する。Bluetoothプロトコルは、利用者へのサービスや情報提供を行うアプリケーションプログラムと共に、CPU2によりメモリ3にロードされ実行される。その他、OS、ドライバ、アプリケーションは、メモリ3に記憶されている。上位のプロトコルの処理を行う構成の場合、実装に依存したコマンドやイベントを使用して、BT送受信部8の制御とデータの送受信を実現する。
なお、BT送受信部8は、必ずしもRS-232Cを介してホストに接続する必要はなく、例えば、ホストの内部バスに直接接続してもよいし、USB(Universal Serial Bus)を介して、接続してもよい。
図2は、Bluetooth携帯端末11の内部構成の一例を示すブロック図である。図2のBluetooth携帯端末11は、バス12に接続されたCPU13、メモリ14、ROM15、A/D変換器16、D/A変換器17、偏心モータ18、通信部19、表示部20、キー入力部21、EEPROM22、選択指示部23及びBT送受信部24を有する。A/D変換器16にはマイク25が接続され、D/A変換器17にはスピーカ26が接続されている。通信部19は、有線または無線により基地局27と通信を行う。
BT送受信部24は、例えばBluetooth装置10との間で無線通信路を確立し、Bluetooth装置10あるいはインターネット上のサーバに対して情報送信要求コマンドを送信したり、このコマンドに対応する情報を取得したりする。
BT送受信部24は、Bluetooth装置10内のBT送受信部8と同様の構成でもよいし、異なる構成でもよい。
Bluetooth携帯端末11の音声通話機能は、従来の携帯電話と同様であり、例えば、通信部19は、基地局27との間で位置登録、発呼・着呼時の呼制御を行ってデータの送受信を行い、通信が終了すると切断の呼制御を行い、通信中はハンドオーバ等を行う。
通信部19は、基地局27からの接続要求を受信すると、スピーカ26から呼び出し音を出力する。あるいは、偏芯モータ18を駆動させて、Bluetooth携帯端末11の筐体を振動させてユーザの注意を喚起する。ユーザの接続了解指示を受信すると、キャリアは2地点間の回線接続を行い、通信が開始される。
Bluetooth携帯端末11は、通信時には、マイク25から入力された音声をA/D変換部16でアナログ信号からデジタル信号に変換し、CPU13の制御の下、デジタルデータの圧縮処理を行い、通信部19を通じて近接の基地局27に送信する。また、通信部19で受信された信号は、CPU13の制御の下、伸張処理等を施されて元の信号に戻され、D/A変換部17でデジタル信号からアナログ信号に変換され、スピーカ26から出力される。
CPU13、メモリ14、ROM15、表示部20、キー入力部21、EEPROM22及び選択指示部23は、主に通話以外の目的、すなわち各種情報処理を行う等のために設けられる。例えば、CPU13は、制御プログラムやアプリケーションプログラムの実行を行う。メモリ14は一時的な変数や作業データなどを格納する。ROM15はプログラムや辞書データを記憶する。表示部20はメニューやデータなどを表示する。キー入力部21は、電話番号、数字及び文字などを入力する。EEPROM22は個人登録情報などを保存する。選択指示部23は、メニュー等の選択を行う。
BT送受信部24から取得した情報は、そのまま、あるいは表示用のフォーマットに変換されて、表示部20に表示される。
図3はBluetooth携帯端末11の情報取得方法を示すフローチャートである。まず、通信可能な相手装置を発見するインクワイアリを実行する(ステップS21)。インクワイアリを行う側(この場合、Bluetooth携帯端末11)はマスタ、インクワイアリスキャンを行う側(この場合、Bluetooth装置10)はスレーブと呼ばれる。インクワイアリスキャン状態に設定されたBluetooth装置10のみがBluetooth携帯端末11からのインクワイアリに返答する。
Bluetooth携帯端末11は、インクワイアリを行うために、IQパケットを通常10秒間周囲にブロードキャストする(ステップS22)。IQパケットにはIAC(Inquiry Access Code)が含まれており、このコードを使用してすべての、あるいは、特定のデバイス(Bluetooth装置10)の発見を行う。自装置に関連するIACを含むIQパケットを受信したBluetooth装置10は、ランダムに決められた時間待機後、再度IQパケットを受信すると、自装置のBluetoothアドレス、クロック、デバイスクラスなどの属性をBluetooth携帯端末11に返信する。
Bluetooth携帯端末11は、各Bluetooth装置10からの返信を受け取ると(ステップS23)、FHSパケットの含まれたBluetooth装置10のBluetoothアドレス、クロック及びCODを取得し(ステップS24)、あらかじめCODが指定されているのであれば、指定されたCODを持つBluetoothアドレスのみ一時的にメモリ14のリストに記録する(ステップS25,S26)。
決められた時間インクワイアリを行うと、インクワイアリ完了イベントを受信する。このイベントを受信すると、Bluetooth装置10が見つかったか否かを判定し(ステップS27)、見つからなかった場合はその旨を表示する(ステップS28)。見つかった場合は、メモリ14のリストに先ほど記録したBluetoothアドレスを持つBluetooth装置10に対して、利用者の装置識別に役立つリモートネーム取得コマンドを送信する。このとき、先ほど取得したBluetooth装置10のクロック情報を用いると、取得時間を短縮することができる。
リストに記録したBluetooth装置10からリモートネームの要求に対する返信を受信すると(ステップS29)、その結果を先ほど取得したBluetoothアドレス、クロック、デバイスクラスと合わせて記録しておき(ステップS30)、その結果を表示部20に提示する(ステップS31,S32)。
利用者はその中から所望の装置を選択し、対応するBluetoothアドレスを取得して、その装置に対して接続要求を行う(ステップS33,S34)。セキュリティを有している場合は、認証用のリンクキーの入力、あるいは、リンクキーを作成するためのPINコードの入力が求められる。適切な値を設定すると、マスターとスレーブ間でデータ通信用のリンクが確立する(ステップS35)。リンク確立後、関連するプロファイル間での接続が行われて通信が可能となる。リンクが確立しなければ接続エラー表示を行う(ステップS36)。
リンクが確立すると、上位プロトコルで接続し(ステップS37)、情報の取得要求を送信すると(ステップS38)、情報を取得して(ステップS39)、情報を表示する(ステップS40)。
Bluetooth装置10が自装置内の記憶装置5に保存された情報を提供する場合には、オブジェクト・プッシュ・プロファイルやファイル転送プロファイルが用いられ、L2CAP、RFCOMM、FTPプロトコルが使用される。有線/無線通信部7を用いてインターネット上の情報にアクセスする場合は、ダイアルアップ・プロファイルやPANプロファイルが用いられ、ダイアルアップ・プロファイルにはL2CAP、RFCOMM、PPP、IP、HTTP(Hyper Text Transfer Protocol)プロトコルが使用され、PANプロファイルにはL2CAP、イーサエミュレーション、IP及びHTTPプロトコルが使用される。FTPによりBluetooth装置10から取得した情報や、HTTPによりインターネット上のサーバから取得した情報は、そのまま、あるいは表示用に整形して表示される。
次に、情報提供を行うBluetooth装置10の処理手順を説明する。まず、Bluetooth装置10の製造組立て時に接続情報を自装置内部に記録しておく実施形態について説明する。
図4はサービス提供を行う前のBluetooth装置10の準備作業を示すフローチャートである。仮に、Bluetooth装置10の6バイトであるBTアドレスを「012345ABCDEF」の12文字で表現し、Bluetooth装置10が提供するサービスあるいは情報を表すサービス名称を「東京駅周辺案内情報」の10文字で表現するものとする(ステップS51)。前者をBTアドレス文字、後者をサービス名称文字と定義する。
これら2つの文字をあわせた22文字のデータは、1文字2バイトデータで表現されるため、全体で44バイト、352ビットのサイズになる。これをBTアドレス付きサービス名称文字と定義する(ステップS52)。
この352ビットのデータに対してハッシュ演算を行い、128ビットのハッシュ値を得る(ステップS53)。計算した128ビットのハッシュ値に対して、あらかじめ準備された秘密鍵を用いて128ビットの暗号化データを求める(ステップS54)。ハッシュ値の計算にはMD5、暗号化にはラインデール方式が利用できる。これらは1例であって128ビットのデータが扱える他の方式でも同等の効果を得られる。暗号鍵は128ビット以外のものも使用可能であり、鍵長により、計算時間とセキュリティ強度のトレードオフとなる。
暗号化された16バイト128ビットのデータを32文字のデータに変換する、例えば、「0A4F5G・・・・・・・59EF」とする。BTアドレス付きサービス名称文字と変換されたデータを合わせたものを認証文字と定義する(ステップS55)。この例では、認証文字は、「東京駅周辺案内情報012345ABCDEF0A4F5G・・・・・・・59EF」となる。
次に、サービス名称の文字の長さを「010」の3文字で表現し、これをサービス名称長さ文字と定義する(ステップS56)。3文字のサービス名称長さ文字、10文字のサービス名称文字、32文字の認証文字をあわせた45文字を認証付きサービス名称文字と定義する(ステップS57)。この例では、認証付きサービス名称文字は、「010東京駅周辺案内情報012345ABCDEF0A4F5G・・・・・・・59EF」となる。
また、処理を高速化するために頭に識別文字、例えば、2文字の「!!」を挿入したものをBluetooth装置10の装置識別情報と定義する(ステップS58)。この例では「!!010東京駅周辺案内情報012345ABCDEF0A4F5G・・・・・・・59EF」となる。
なお、上述した識別文字中の各文字の配置方法は一例であり、他の配置方法でも同等の効果が得られる。また、バイナリー文字データの変換を単純に2バイトコードで処理しているが、UUENCODEと呼ばれる変換方式では、変換後の文字データのサイズをもとの3分の4程度に抑えることができる。
上記処理を秘密鍵管理で安全に行うには、セキュリティ性の高い装置でBluetooth装置10ごとにBluetooth装置10の装置識別情報を計算し、作成されたBluetooth装置10の装置識別情報を、各Bluetooth装置10の記憶装置5に記録しておく(ステップS59)。また、秘密鍵とCODの値を情報取得JAVA(登録商標)アプリケーションの初期データとして作成し(ステップS60)、JAVA(登録商標)プログラムとあわせてインターネット上のサーバを通じて利用者に配布する(ステップS61)。情報取得を望む利用者は、公衆網を通じて特定のサーバにアクセスを行い(ステップS62)、JAVA(登録商標)アプリケーションをダウンロードし、自端末に保存しておき、情報を取得する時にJAVA(登録商標)アプリケーションを使用する(ステップS63)。
秘密鍵はJAVA(登録商標)プログラムとともにあわせて配布してもよい、あるいは、あとで説明するがBluetooth装置10で秘密鍵をセキュアに管理できる場合は、定期的にJAVA(登録商標)アプリケーションが専用のサーバに取得することにより更新することも可能である。
次に、Bluetooth装置10のサービス提供時の処理を説明する。図5はBluetooth装置10のサービス提供時の処理手順を示すフローチャートである。情報提供を行うBluetooth装置10の電源投入時に、必要なプログラムが記憶装置5からメモリ3に読み込まれ、情報提供を実現するアプリケーションが動作を開始する(ステップS71)。アプリケーションは、利用者の所持するBluetooth携帯端末11との接続を実現するためにBT送受信部8の制御とBluetoothプロトコルを実現するスタックを実行する(ステップS72)。
アプリケーションは、まずBT送受信部8に対してリセットコマンドを送信する(ステップS73)。次に、アプリケーションは、Bluetooth装置10の装置識別情報を、他装置からリモートネーム取得コマンドで取得可能な自装置のローカルネームに設定する(ステップS74)。次に、アプリケーションは、CODデバイスをオブジェクト送信系、あるいは、インフォメーション系として設定する(ステップS75)。
その後、インクワイアリスキャンとページスキャンを有効とすることで(ステップS76)、Bluetooth携帯端末11からの接続待ち状態となる(ステップS77)。Bluetooth携帯端末11が接続すると(ステップS78)、インクワイアリスキャンとページスキャンを無効にし(ステップS79)、接続したBluetooth携帯端末11に対してサービスを提供し(ステップS80)、サービス提供が完了すると、接続を切断する(ステップS81)。
次に、Bluetooth携帯端末11の動作を説明する。図6はBluetooth携帯端末11の処理手順を示すフローチャートである。情報取得を目的とする利用者は、専用のJAVA(登録商標)アプリケーションの起動を指示し、Bluetooth装置10の探索を指示する(ステップS91)。JAVA(登録商標)アプリケーションは、BT送受信部24に対してインクワイアリコマンド送信を要求する。この探索は、所定時間(例えば、10秒間)行われる(ステップS92)。
BT送受信部24は、発見したBluetooth装置10のアドレス、CODをJAVA(登録商標)アプリケーションにイベントとして通知する(ステップS93)。JAVA(登録商標)アプリケーションは、通知により特定の関数をコールし、CODの検査を行う(ステップS94)。BT送受信部24は、あらかじめ定めたCODとの比較を行い(ステップS95)、一致した場合のみ、そのBluetooth装置10のBluetoothアドレスを検査対象リストに加える(ステップS96)。
BT送受信部24は、一定期間経過するとインクワイアリを中止し、インクワイアリ完了イベントをアプリケーションに通知する。アプリケーションは、インクワイアリ完了イベントを受信すると、検査対象リストに記録されているBluetooth装置10が存在するか否かを判定し(ステップS97)、存在しなければ、端末なしを表示する(ステップS98)。
検査対象リストに記録されているBluetooth装置10が存在すれば、そのリストに記録した各装置10に対して順番にリモートネーム取得コマンドを送信するようBT送受信部24に指示し(ステップS99)、各Bluetooth装置10が正しい装置か否かを検証した結果をフラグとして記録する(ステップS100,S101)。リモートネームの取得と検証をリストに記録した端末の数だけ繰り返し(ステップS102)、各装置が信頼できるかどうか個別に判定を行う。
すべての検査対象のBluetooth装置が信頼できるかどうかを判定するフラグを検査し、信頼できる装置の場合は、そのサービス名称をサービス提供装置の候補として画面に表示する(ステップS103)。信頼できない装置の場合は、画面に表示しない、あるいは、信頼できる装置とは区別できる形式で表示する。信頼できない装置を表示する/しないは、利用者が別途設定できるようにする。また区別する方法としては、異なる色で表示する、イタリックの書体を用いる、マークをつけるなどが考えられる。
また、利用者が信頼できないBluetooth装置10への接続要求を行った場合は、利用者に検証できない装置であることを提示して、接続の確認を行う(ステップS104)。
次に、図6のステップS100の検証の手順を図7のフローチャートを用いて詳しく説明する。最初に検証用のデータの取得方法、次に取得したデータを持いた検証方法を説明する。
BT送受信部24は、通信相手のBluetooth装置10のBluetoothアドレスを読み出して(ステップS111)、リモートネームを取得すると(ステップS112)、JAVA(登録商標)アプリケーションに通知する。JAVA(登録商標)アプリケーションは、取得したリモートネームのデータを検査する。
JAVA(登録商標)アプリケーションは、最初に取得したリモートネームの最初の数文字が識別文字か否かを判定する(ステップS113)。この場合は、「!!」である。識別文字と一致しない場合は、検査対象のBluetooth装置10のBluetoothアドレスと該当しないことを示すフラグを対にしてメモリ14に記録し、次のBluetooth装置10のリモートネームを取得する。
識別文字と一致した場合は、3文字目(バイナリデータで計算すると6バイト)から3文字(バイナリデータでは6バイト)「010」を切り出し、そのデータをサービス名称長さ文字であると解釈し、文字数字データ変換を行いサービス名称の長さを得る(ステップS114)。
変換時にエラーが生じた場合は、検査対象のBluetooth装置10のBluetoothアドレスと該当しないことを示すフラグを対にしてメモリ14に記録し、次のBluetooth装置10のリモートネームを取得する。
数字に変換できた場合は、取得した長さの分6文字目から、この例では10文字分の文字「東京駅周辺案内情報」をサービス名として取得する(ステップS115)。6文字+サービス名称文字の長さ+1、この場合16文字目から12文字をBTアドレス文字として取得し、6バイトのBluetoothアドレスに変換して(ステップS116)、リモートネームの取得を行ったBluetooth装置10のアドレスとの比較を行う(ステップS117)。
アドレスが一致しない場合は、検査対象のBluetooth装置10のBluetoothアドレスと該当しないことを示すフラグを対にしてメモリ14に記録し、次のBluetooth装置10のリモートネームを取得する。
ステップS117でアドレスが一致した場合は、28文字目から残りの文字のサイズが32文字かどうか検査し(ステップS118)、32文字である場合は、認証用のデータとして取得し、取得した文字データを16バイトのバイナリデータに変換する。
サービス名称の長さ分のサービス名が取得できない場合、BTアドレス文字が6バイトのBluetoothアドレスに変換できない場合、残りの文字が32文字と異なる場合、認証用データが数字に変換できない場合は、検査対象のBluetooth装置10のBluetoothアドレスと該当しないことを示すフラグを対にしてメモリ14に記録し、次のBluetooth装置10のリモートネームを取得する。
ステップS119でバイナリデータに変換できた場合は(ステップS119)、上記手順でリモートネームから取得したサービス名称と認証用データを用いて端末の認証を行う。
リモートネームを取得したBluetooth装置10のBTアドレスを、「012345ABCDEF」の12文字の文字データに変換する(ステップS120)。サービス名称文字とあわせた22文字のデータは、1文字2バイトデータで表現されるため、全体で44バイト、352ビットのサイズになる(ステップS121)。この352ビットのデータに対してハッシュ演算を行い128ビットのハッシュ値を得る(ステップS122)。
取得した認証用データをあらかじめ準備された秘密鍵を用いて復号し、128ビットのハッシュ値を求める。この値と先ほど計算したハッシュ値を比較する(ステップS123)。相手が正しい秘密鍵を所持していれば、この値は一致し、一致したことを示すフラグを設定する(ステップS124)。秘密鍵が異なれば、復号化されたデータも異なるためハッシュ値は一致しない。一致しない場合は、検査中のBluetooth装置10は、該当しないことを示すフラグをセットし(ステップS125)、次の装置のリモートネームを取得する。
悪意ある装置が、正しい装置に設定されたBluetooth装置10の装置識別情報をコピーしても正しい装置と悪意ある装置のBluetoothアドレスが異なるため、ハッシュ値は一致しない。それゆえ、不正な装置を検出することが可能となる。
本実施形態では、双方共通の鍵を使用したが、公開鍵を使用しても同等の効果が得られる。Bluetooth装置10の装置識別情報を作成するときは、秘密鍵を使用し、JAVA(登録商標)アプリケーションには秘密鍵に対応する公開鍵を含めて配布しても同等の効果が得られる。
上記実施形態では、Bluetooth装置10の装置識別情報をあらかじめBluetooth装置10に記録してあるが、Bluetooth装置10が他の通信手段を有する場合は、その通信手段を通じて、定期的、あるいは、必要なときに、異なる秘密鍵で作成したBluetooth装置10の装置識別情報を取得し、Bluetooth装置10の装置識別情報を更新する。あわせて、JAVA(登録商標)アプリケーションも定期的にサーバにアクセスし、共通の秘密鍵を更新することにより、セキュリティを強化する方法も考えられる。あるいは、Bluetooth装置10が秘密鍵をセキュアに保存できるのであれば、Bluetooth装置10自身で、定期的に、あるいは、必要な時にBluetooth装置10の装置識別情報を更新することができる。
また、ハッシュ値を作成する場合、双方秘密のデータを含めて作成することにより、セキュリティを強化する形態もありうる。
公開鍵を使用し、Bluetooth装置10がBluetooth装置10の装置識別情報を更新する場合は、Bluetooth装置10のBTアドレスを含めず、時刻などの情報を代わりに用いることでも同等の効果が得られる。
あるいは、Bluetooth装置10の装置識別情報に識別情報の有効期限を含め、携帯端末はその有効期限を検査することにより、さらなるセキュリティの強化を行うことが可能となる。
また、OBEXなどの上位プロトコル接続のために、サービス情報取得プロトコルを実行して、接続に必要な情報の取得を行うが、あらかじめ、Bluetooth装置10の装置識別情報に接続情報を含めることにより、サービス情報取得のための通信を省くことが可能となり、処理時間の短縮を行うことが可能となる。
Bluetooth携帯端末11において、処理を早まるために、信頼できないと判定したBluetooth装置10のアドレスを信頼できない装置のリストとしてメモリ14に記録しておき、次回から、インクワイアリ終了後、発見したBluetooth装置10のBTアドレスと、信頼できない装置のリストを比較し、その装置が信頼できないと判定した場合には、その装置を検査対象のリストに含めないことにより、全体の処理速度を向上させることが可能となる。
このように、本実施形態では、Bluetooth装置10の装置識別情報を、サービス名称、BTアドレス及び暗号化データで構成するため、この装置識別情報を受け取ったBluetooth携帯端末11は接続しようとするBluetooth装置10が信頼できるか否かを正確に判断でき、不正な装置との通信を回避でき、セキュリティ性を向上できる。
上述した実施形態において、サービス提供を行うBluetooth装置10は、暗号鍵に有効期限を設け、Bluetooth端末11に定期的に鍵の更新を実行させてもよい。これにより、セキュリティの強化を図ることができる。この場合、Bluetooth端末11は、自端末の固有識別子を使用して、定期的にBluetooth装置10(サーバ)と接続して暗号鍵の更新を行う。これにより、Bluetooth装置10は、Bluetooth端末11に対して会員制サービスを提供できる。
(第2の実施形態)
第2の実施形態は、複数のBluetooth端末間でP2P(Point to Point)で直接データ通信を行うものである。
本実施形態では、特定のキーワードを設定して相手に発見してもらう役割の装置とキーワードを入力して相手装置を発見する役割の装置のそれぞれについて説明を行う。
各Bluetooth携帯端末は、インターネットを通じて特定のサーバにアクセスを行い、自端末に関する情報(例えば、該装置の近距離無線の識別子)を登録し、代わりに情報交換を実行するプログラムをダウンロードする。このプログラムは、発見される役割と発見する役割の2つの機能を有し、どちらの機能を利用するかは、メニューから選択する。あるいは,それぞれの機能を有する2つのアプリケーションで構成してもよい。また、このプログラムにあわせて、情報交換を行う相手を識別するための暗号キー、例えば、128bit長の共有の秘密鍵もサーバからダウンロードし、プログラムとともに、Bluetooth携帯端末に記録する。
図8は他のBluetooth端末に発見してもらうための処理手順を示すフローチャートである。
まず、電源を投入してサービス提供プログラムをロードした後(ステップS131)、Bluetoothスタックの動作を開始する(ステップS132)。次に、Bluetoothモジュールをリセットし(ステップS133)、利用者にキーワードを入力させて、メモリに記録する(ステップS134)。キーワードは1つ以上で、キーワード文字の長さが特定のデータ量未満であれば、いくつ登録してもよい。本実施形態では、一例として、居酒屋、カラオケおよびゲームの3つをキーワードとして登録するものとする。
次に、キーワードを用いてBluetooth装置識別文字を作成する識別文字作成処理を行う(ステップS135)。このステップS135の詳細な処理手順は、図9に示されている。まず、キーワードを連結して1つの文字列を作成するが、後で分離できるように各キーワードの前に2文字のキーワード長を付加して、1つの文字列を作成する(ステップS151)。本実施形態では、03、04,03の文字を付加して、「03居酒屋04カラオケ03ゲーム」というキーワード文字を作成する。
次に、Bluetooth携帯端末のBTアドレスを作成する(ステップS152)。ここでは、BTアドレスを、例えば「012345ABCDEF」とする。次に、キーワード文字列とつなげて、BTアドレス付きキーワード文字列を作成する(ステップS153)。例えば、「03居酒屋04カラオケ03ゲーム012345ABCDEF」となる。
次に、ステップS153で作成した文字列の128bitのハッシュ値を計算し(ステップS154)、プログラムと関連付けて保存していた共有の暗号キーで暗号化を行い(ステップS155)、32文字の文字列に変換する。このデータをBTアドレス付きキーワード文字列と連結して認証文字列を作成する(ステップS156)。
次に、キーワード文字列の長さを示す3文字の文字列を作成し(ステップS157)、認証用文字列(例えば、「016」)と連結して、認証付きサービス名称文字を作成する(ステップS158)。最後に、認証された相手かどうかを高速に判定するための識別文字(例えば、「!!」)を付加して、Bluetooth装置識別文字を作成する(ステップS159)。
図8に戻り、以上のような手順で作成したBluetooth装置識別文字をローカルネームとして、Bluetoothモジュールに設定し、相手装置から、発見および接続可能な状態に設定して(ステップS136)、他の装置からの発見およびデータ交換のための接続要求に対して待機する(ステップS137)。
その後、通信相手のBluetooth端末からの接続要求に対して、接続許可を与え(ステップS138)、リンクレーヤの接続後、データ交換のための上位レイヤーのプロトコルを接続し、例えば、本例ではOPP(Object Push Profile)を使用し、個人のメールアドレスや、電話番号、その他付加情報を記述したvCardと呼ばれる電子名刺データの交換を行う(ステップS139,S140)。データ交換後、リンクの切断イベントを検知すると、取得したデータを時間とともに記録し,データの交換を実行したことを利用者に告げる。利用者は、さらに継続するかどうかの判断を行い、そのまま継続、キーワードの変更、終了するのコマンドをメニューから選択する(ステップS141,S142)。
そのまま継続する場合は、何の処理も行わず、接続要求の受信イベントを待つ。キーワードの変更を行う場合は、メモリに記録しているキーワードをクリアし、再度キーワードの入力手順を実行する。終了を選択した場合には、プログラムを終了する。
図10は他のBluetooth端末を発見するための処理手順を示すフローチャートである。まず、プログラムを起動し、メニューから発見する役割の動作モードを指定し、利用者にキーワードを入力させる(ステップS161)。キーワードは1つ以上でいくつ登録してもよい。また、キーワードが複数入力された場合、キーワードのAND、OR、NOTなどの論理演算を行うことにより、複雑な指定を行うことが可能となる。本例では、入力したキーワードを「カラオケ」とする。
キーワード入力後、相手装置を発見するために探索コマンドをBluetoothモジュールに指示してインクワイアリを開始する(ステップS162)。Blueotoothモジュールは一定期間(通常10.24秒であるが任意でよい)探索メッセージを送信し、その応答パケットを受信するたびに、返答した装置の識別子および接続用の情報を合わせて記録する。このとき返答したBluetooth端末の種別を示すCODの検査を行い、所望のCODを有するBluetooth端末の情報のみ記録する(ステップS163〜S167)。
一定期間探索後、発見できた所望のBluetooth端末の数を検査し(ステップS168)、1つも存在しなければ、端末なしを表示し(ステップS169)、1つ以上存在する場合は、リモートネームを取得し(ステップS170)、各Bluetooth端末の端末認証処理を行う(ステップS171)。
図11および図12は、ステップS171の端末認証処理の詳細な処理手順を示すフローチャートである。まず、BTアドレスを読み出し(ステップS181)、リモートネームを取得するよう各Bluetooth端末のBluetoothモジュールに指示する(ステップS182)。Bluetoothモジュールはリモートネームの取得に成功すると、その情報をプログラムに渡す。
プログラムは、取得したリモートネームを以下の手順で検査を行い、通信相手のBluetooth端末が信頼できるものかどうかの判定を行う。最初に、高速に判定するための識別文字を有するか検査する(ステップS183)。識別文字を有する場合には、キーワード長さ文字を取得する(ステップS184)。本例では016である。
次にキーワード長さ文字が示す長さの分、文字列を切り出す(ステップS185)。03居酒屋04カラオケ03ゲームとなる。次に、頭2文字を調べて各キーワードの長さ文字を取得し、その分だけ文字列を切り出し、キーワードとしてメモリに記録する(ステップS186)。「居酒屋、カラオケ、ゲーム」が通信相手のキーワードとなる。
次に取得したキーワードと、あらかじめ利用者が入力したキーワードの比較を行う。キーワードが一致すると判定した場合は、図11Bの通信相手の認証手順を実行する。
キーワードの判定に成功すると、BTアドレスの変換を行い(ステップS187)、発見した相手のBTアドレスかどうか判定する(ステップS188)。残りの文字列が32文字かどうか検査し(ステップS189)、32文字の場合、それを128bitのバイナリデータに変換し(ステップS190)、プログラムとともに保存しておいた暗号キーを使用して復号化する(ステップS191)。
また、BTアドレス付きキーワード文字を作成し(ステップS192)、128bitのハッシュ値を作成し(ステップS193)、この値と先ほど復号化した値の比較を行う(ステップS194)。値が一致した場合は通信相手を信頼できるものとしてフラグを設定し、キーワードとBTアドレスを合わせてメモリに記録する(ステップS195)。また、途中で判定に失敗した場合は、信頼できない装置としてBTアドレスを合わせてメモリに記録する(ステップS196)。上記手順を発見した装置の台数分繰り返す(ステップS197)。
すべてのBluetooth端末の判定が終了後、図10に戻って、各Bluetooth端末のフラグを検査してキーワード列を表示し、利用者に提示する(ステップS172)。画面一行に表示できない場合、利用者がカーソルをその行にあわせて詳細コマンドを指示すると、別途ダイアログを表示し、すべてのキーワードが見れるように表示し、利用者の接続指示を待つ(ステップS173)。
利用者がリストの特定の行にカーソルを合わせて、接続コマンドを指示するとその行に対応するBluetoothアドレスを取得し、Bluetoothモジュールに接続要求を行う(ステップS174)。リンクの接続に成功すると、上位レイヤーのプロトコルを接続し、データの交換を行い(ステップS175)、リンクの切断の行う(ステップS176)。
リンクの切断に成功すると、再度、リストから次のBluetooth端末を選択する。あるいは、再度接続可能なBluetooth端末を探索する。あるいは、キーワードを変更して探索を行う。あるいは、プログラムを終了するのどれかのコマンドを選択する。
上述した手法により、あらかじめ特定のサーバに自分の情報を登録し、暗号化のキーを取得した場合にのみ、身元が確かな通信相手と接続可能となる。
ただし、発見する側がキーワードを無視して接続要求を行う場合も考えられる。その場合は、発見される側を認証モードに設定しておくと、リンク接続処理時に共通のリンクキーの入力が求められる。双方正しいキーを入力した場合にのみ、リンクが接続されない。プログラムにあらかじめ双方共通のリンクキーを生成する処理モジュールを加えておき、リンクキーの入力要求時にプログラムは、リンクキーを生成して返答する。このような手法では、正しいリンクキーを作成するモジュールを所持していない限り接続はできない。リンクキーの生成方法の1例として、相手Bluetooth識別子と、自分のBluetooth識別子と秘密のキーワードを用いて文字列を作成し、それを用いて128bitのハッシュ値を作成する手法などがある。
上述した実施形態で説明した図4〜図7の処理は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、図4〜図7の処理を実行するプログラムをフロッピーディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
また、図4〜図7の処理を実行するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
なお、本発明は、上記の実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題(の少なくとも1つ)が解決でき、発明の効果の欄で述べられている効果(のなくとも1つ)が得られる場合には、この構成要件が削除された構成が本発明に含まれる発明として抽出され得る。
本発明に係る情報提供装置の第1の実施形態であるBluetooth装置10の内部構成を示す図。 Bluetooth携帯端末11の内部構成の一例を示すブロック図。 Bluetooth携帯端末11の情報取得方法を示すフローチャート。 サービス提供を行う前のBluetooth装置10の準備作業を示すフローチャート。 Bluetooth装置10のサービス提供時の処理手順を示すフローチャート。 Bluetooth携帯端末11の処理手順を示すフローチャート。 図6のステップS100の検証の手順を示すフローチャート。 他のBluetooth端末に発見してもらうための処理手順を示すフローチャート。 ステップS135の詳細な処理手順を示すフローチャート。 他のBluetooth端末を発見するための処理手順を示すフローチャート。 ステップS171の端末認証処理の詳細な処理手順を示すフローチャート。 図11に続くフローチャート。 Bluetooth端末が任意の場所で任意の相手からサービスを受けるための従来の処理手順を示すフローチャート。
符号の説明
1 バス
2 CPU
3 メモリ
4 ROM
5 記憶装置
6 RS-232Cコントローラ
7 有線/無線通信部
8 BT送受信部
9 インターネット
10 Bluetooth装置
11 Bluetooth端末
12 バス
13 CPU
14 メモリ
15 ROM
16 A/D変換器
17 D/A変換器
18 偏心モータ
19 有線/無線通信部
20 表示部
21 キー入力部
22 EEPROM
23 選択指示部
24 BT送受信部
25 マイク
26 スピーカ
27 基地局

Claims (20)

  1. ある範囲内に位置する他の通信装置との間で通信を行う無線通信手段と、
    提供可能なサービス名称と固有情報とを含む第1識別情報を生成する第1識別情報生成手段と、
    予め定めた暗号鍵を用いて前記第1識別情報を暗号化して暗号化データを生成する暗号化手段と、
    前記サービス名称、前記固有情報及び前記暗号化データを含む第2識別情報を生成する第2識別情報生成手段と、
    前記固有情報の送信要求を行った他の通信装置に対して、前記第2識別情報を送信する固有情報送信手段と、を備えることを特徴とする無線通信装置。
  2. 前記第1識別情報生成手段は、前記サービス名称と前記固有情報とを合わせたデータに対してハッシュ演算を行って得られたハッシュ値を前記第1識別情報とすることを特徴とする請求項1に記載の無線通信装置。
  3. 前記第2識別情報生成手段は、前記サービス名称の後に続けて前記暗号化データを配置し、前記サービス名称の前に、前記サービス名称の長さを示す情報を配置した前記第2識別情報を生成することを特徴とする請求項1に記載の無線通信装置。
  4. 前記第2識別情報生成手段は、前記サービス名称の長さを示す情報の前に、信頼性のチェックが必要か否かを示す情報を配置した前記第2識別情報を生成することを特徴とする請求項1に記載の無線通信装置。
  5. 前記無線通信手段は、前記他の通信装置との間で、P2P(Peer to Peer)通信を行うことを特徴とする請求項1に記載の無線通信装置。
  6. 前記暗号化手段は、前記暗号鍵の有効期限が過ぎると、再度前記第1識別情報を暗号化して暗号化データを生成することを特徴とする請求項1に記載の無線通信装置。
  7. ある範囲内に位置する他の通信装置との間で通信を行う無線通信手段と、
    通信可能な通信装置を探索する探索手段と、
    前記探索された通信装置から送信された第1識別情報を取得する識別情報取得手段と、
    前記取得された第1識別情報から、サービス名称、固有情報及び暗号化データを抽出する情報抽出手段と、
    予め定めた解読鍵を用いて、前記暗号化データを復号する復号手段と、
    前記復号されたデータと、前記情報抽出手段で抽出されたサービス名称及び固有情報とを比較し、前記探索手段で探索された通信装置が信頼できるか否かを判定する比較判定手段と、
    前記比較判定手段により信頼できないと判定された通信装置との通信を禁止する通信制御手段と、を備えることを特徴とする携帯端末。
  8. 前記比較判定手段により信頼できないと判定された通信装置に利用者が接続しようとした場合に、信頼できないことを示す情報を利用者に提示する情報提示手段を備えることを特徴とする請求項7に記載の携帯端末。
  9. 前記比較判定手段により信頼できないと判定された通信装置の一覧を登録するリスト登録手段を備え、
    前記通信制御手段は、前記リスト登録手段に登録されている通信装置との通信を禁止することを特徴とする請求項8に記載の携帯端末。
  10. 前記識別情報取得手段は、前記探索手段で探索された通信装置から送信された情報の先頭から第1の長さ分のデータを抽出し、抽出されたデータに基づいて、該情報が前記第1識別情報か否かを判断することを特徴とする請求項7に記載の携帯端末。
  11. 前記情報抽出手段は、前記第1識別情報の先頭から第2の長さ分のデータを抽出し、抽出されたデータに基づいて、前記サービス名称の長さを決定することを特徴とする請求項10に記載の携帯端末。
  12. 前記情報抽出手段は、前記第1識別情報の先頭から前記第1及び第2の長さ分のデータを除いたデータの先頭から、前記決定されたサービス名称の長さ分のデータをサービス名称として抽出することを特徴とする請求項11に記載の携帯端末。
  13. 前記情報抽出手段は、前記第1識別情報の先頭から前記第1の長さ、前記第2の長さ、及び前記決定されたサービス名称の長さを除いたデータの先頭から第3の長さ分のデータを固有情報として抽出することを特徴とする請求項12に記載の携帯端末。
  14. 前記情報抽出手段は、前記第1識別情報の先頭から前記第1の長さ、前記第2の長さ、前記決定されたサービス名称の長さ、及び前記第3の長さを除いたデータが第4の長さであれば、該データを前記暗号化データとして抽出することを特徴とする請求項13に記載の携帯端末。
  15. 前記情報抽出手段で抽出されたサービス名称及び装置識別名称をあわせたデータに対してハッシュ演算を行ってハッシュ値を生成するハッシュ演算手段を備え、
    前記比較判定手段は、前記復号されたデータと前記生成されたハッシュ値とを比較することを特徴とする請求項7に記載の携帯端末。
  16. 前記無線通信手段は、前記他の通信装置との間で、P2P(Peer to Peer)通信を行うことを特徴とする請求項7に記載の携帯端末。
  17. 前記復号手段は、前記解読鍵の有効期限が過ぎると、新たな解読鍵を用いて前記暗号化データを復号することを特徴とする請求項7に記載の携帯端末。
  18. 無線通信装置を制御するプログラムは、
    ある範囲内に位置する他の通信装置との間で通信を行うステップと、
    提供可能なサービス名称と固有情報とを含む第1識別情報を生成するステップと、
    予め定めた暗号鍵を用いて前記第1識別情報を暗号化して暗号化データを生成するステップと、
    前記サービス名称、前記固有情報及び前記暗号化データを含む第2識別情報を生成するステップと、
    前記固有情報の送信要求を行った他の通信装置に対して、前記第2識別情報を送信するステップと、を実行させることを特徴とする無線通信装置を制御するプログラム。
  19. ある範囲内に位置する他の通信装置との間で通信を行うステップと、
    通信可能な通信装置を探索するステップと、
    前記探索された通信装置から送信された第1識別情報を取得するステップと、
    前記取得された第1識別情報から、サービス名称、固有情報及び暗号化データを抽出するステップと、
    予め定めた解読鍵を用いて、前記暗号化データを復号するステップと、
    前記復号されたデータと、前記抽出されたサービス名称及び固有情報とを比較し、その比較結果に基づいて前記探索手段で探索された通信装置が信頼できるか否かを判定するステップと、
    前記比較結果により信頼できないと判定された通信装置との通信を禁止するステップと、を実行させることを特徴とする携帯端末を制御するプログラム。
  20. 携帯端末と、ある範囲内に位置する前記携帯端末との間で通信を行うことが可能な無線通信手段と、を備えた通信システムであって、
    前記携帯端末は、
    通信可能な通信装置を探索する探索手段と、
    前記探索された通信装置から送信された第1識別情報を取得する識別情報取得手段と、
    前記取得された第1識別情報から、サービス名称、固有情報及び暗号化データを抽出する情報抽出手段と、
    予め定めた解読鍵を用いて、前記暗号化データを復号する復号手段と、
    前記復号されたデータと、前記情報抽出手段で抽出されたサービス名称及び固有情報とを比較し、前記探索手段で探索された通信装置が信頼できるか否かを判定する比較判定手段と、
    前記比較判定手段により信頼できないと判定された通信装置との通信を禁止する通信制御手段と、を有し、
    前記無線通信装置は、
    固有情報を取得する固有情報取得手段と、
    サービス名称と前記固有情報とを含む第1識別情報を生成する第1識別情報生成手段と、
    予め定めた暗号鍵を用いて前記第1識別情報を暗号化して暗号化データを生成する暗号化手段と、
    前記サービス名称、前記固有情報及び前記暗号化データを含む第2識別情報を生成する第2識別情報生成手段と、
    前記固有情報の送信要求を行った他の通信装置に対して、前記第2識別情報を送信する固有情報送信手段と、を有することを特徴とする通信システム。
JP2003375366A 2002-11-05 2003-11-05 無線通信装置、携帯端末、無線通信装置を制御するプログラム Expired - Lifetime JP3886955B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003375366A JP3886955B2 (ja) 2002-11-05 2003-11-05 無線通信装置、携帯端末、無線通信装置を制御するプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002321348 2002-11-05
JP2003375366A JP3886955B2 (ja) 2002-11-05 2003-11-05 無線通信装置、携帯端末、無線通信装置を制御するプログラム

Publications (2)

Publication Number Publication Date
JP2004173260A JP2004173260A (ja) 2004-06-17
JP3886955B2 true JP3886955B2 (ja) 2007-02-28

Family

ID=32715957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003375366A Expired - Lifetime JP3886955B2 (ja) 2002-11-05 2003-11-05 無線通信装置、携帯端末、無線通信装置を制御するプログラム

Country Status (1)

Country Link
JP (1) JP3886955B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008522481A (ja) * 2004-11-27 2008-06-26 リー,チャンクン 移動通信システムのサービス提供方法及びその装置
JP4457953B2 (ja) 2005-04-20 2010-04-28 ソニー株式会社 無線端末およびユーザインタフェース方法
US9838365B2 (en) 2007-07-10 2017-12-05 Qualcomm Incorporated Peer to peer identifiers
JP5787827B2 (ja) * 2012-05-17 2015-09-30 三菱電機株式会社 情報処理装置、情報処理方法および情報処理システム
JP2014017561A (ja) * 2012-07-05 2014-01-30 Netlaputa Corp プロフィール交換システム、携帯端末、サーバ、及び、プログラム
JP6395604B2 (ja) * 2012-07-23 2018-09-26 株式会社イーアールアイ 情報配信システム、無線通信機器及びプログラム
KR102152713B1 (ko) * 2012-11-05 2020-10-26 엘지전자 주식회사 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치
CN104883677B (zh) * 2014-02-28 2018-09-18 阿里巴巴集团控股有限公司 一种近场通讯设备间通讯的连接方法、装置和系统
CN104837178A (zh) 2015-01-29 2015-08-12 小米科技有限责任公司 接入网络的方法及装置

Also Published As

Publication number Publication date
JP2004173260A (ja) 2004-06-17

Similar Documents

Publication Publication Date Title
EP1418719B1 (en) Wireless communication device, portable terminal, communication control program and communication system
JP4837890B2 (ja) 端末装置におけるユーザ認証方法、認証システム、端末装置及び認証装置
CN102595643B (zh) 用于无线设备连接和配对的系统和方法
JP4613969B2 (ja) 通信装置、及び通信方法
US7545941B2 (en) Method of initializing and using a security association for middleware based on physical proximity
KR101551315B1 (ko) 다른 디바이스가 무선 네트워크에 연결하는 것을 가능하게 하기 위한 모바일 디바이스의 사용
US7076209B2 (en) Short range radio communication system with using improved authentication scheme
US7403794B2 (en) Client terminal having a temporary connection establishing unit
CN104798432A (zh) 无需通过云鉴权的设备对设备发现
US20090271709A1 (en) Method and apparatus for setting up wireless lan of device
JP4803145B2 (ja) 鍵共有方法、鍵配信システム
JP2009212732A5 (ja)
JP2009239920A (ja) 情報処理装置および方法、並びにプログラム
WO2010090533A2 (en) Bluetooth authentication system and method
CN109996229B (zh) 基于dht网络的数据传输方法、装置、电子设备和存储介质
JP3886955B2 (ja) 無線通信装置、携帯端末、無線通信装置を制御するプログラム
US20100254314A1 (en) Wireless communication terminal
JP2005303459A (ja) アクセスポイント、無線lan接続方法、無線lan接続プログラムを記録した媒体および無線lanシステム
US20080137553A1 (en) Method of automatic certification and secure configuration of a wlan system and transmission device thereof
JP2004166090A (ja) 近接通信装置、携帯端末、近接通信装置の制御プログラム、携帯端末の制御プログラム及び通信システム
KR100489011B1 (ko) 이동통신단말기에서 오프라인으로 실행된 게임 데이터를사용자 인증을 통해 온라인 게임에 갱신하는 방법 및 그시스템
JP3863122B2 (ja) 無線端末、通信制御プログラム及び通信制御方法
JP2005078371A (ja) 情報処理サーバ及び情報処理方法
KR100489013B1 (ko) 유무선 연동하여 온라인 게임 데이터를 갱신하는 방법 및그 시스템
KR100489012B1 (ko) 이동통신단말기에서 오프라인으로 실행된 게임 데이터를온라인 게임 데이터로 갱신하는 방법 및 그 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061122

R151 Written notification of patent or utility model registration

Ref document number: 3886955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20091201

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101201

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121201

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121201

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131201

Year of fee payment: 7

EXPY Cancellation because of completion of term