JP2016149673A - Server, and method and program for communication connection management - Google Patents

Server, and method and program for communication connection management Download PDF

Info

Publication number
JP2016149673A
JP2016149673A JP2015026106A JP2015026106A JP2016149673A JP 2016149673 A JP2016149673 A JP 2016149673A JP 2015026106 A JP2015026106 A JP 2015026106A JP 2015026106 A JP2015026106 A JP 2015026106A JP 2016149673 A JP2016149673 A JP 2016149673A
Authority
JP
Japan
Prior art keywords
terminal
short
wireless communication
range wireless
communication
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.)
Pending
Application number
JP2015026106A
Other languages
Japanese (ja)
Inventor
イルグ イ
Ilgu Lee
イルグ イ
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.)
Z Intermediate Global Corp
Original Assignee
Line 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 Line Corp filed Critical Line Corp
Priority to JP2015026106A priority Critical patent/JP2016149673A/en
Publication of JP2016149673A publication Critical patent/JP2016149673A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a technique to improve the safety of data transfer among terminals through short-range radio communication.SOLUTION: In a server connected to a plurality of terminals, including a first terminal and a second terminal, through a network, a receiver unit receives, from at least either one of the first terminal and the second terminal, a connection request for short-range radio communication between the first terminal and the second terminal. A generator unit generates synchronization information for use for the short-range radio communication. A transmitter unit transmits the synchronization information generated by the generator unit to the first terminal and the second terminal. The synchronization information generated by the generator unit includes: a communication ID for the short-range radio communication between the first terminal and the second terminal; and an encryption key for encrypting data which flows in the short-range radio communication.SELECTED DRAWING: Figure 2

Description

この発明は、サーバおよび通信接続管理方法ならびに通信接続管理プログラムに関するものであって、特に、近距離無線通信のサーバおよび通信接続管理方法並びに通信接続管理プログラムに関する。   The present invention relates to a server, a communication connection management method, and a communication connection management program, and more particularly, to a short-distance wireless communication server, a communication connection management method, and a communication connection management program.

近年、情報通信技術が急速に発展し、ある送信装置から受信装置に対して、テキスト情報、ファイル情報、ビデオ情報、オーディオ情報、音声情報、マルチメディア情報等の情報を、ネットワークを介して通信することが広く行われるようになってきている(特許文献1参照)。また、近距離に位置する端末間において、ピアツーピアで近距離無線通信を確立し、データ転送することも行われるようになってきている。   In recent years, information communication technology has developed rapidly, and information such as text information, file information, video information, audio information, audio information, and multimedia information is communicated from a transmitting device to a receiving device via a network. Has been widely performed (see Patent Document 1). Further, near-field wireless communication is established between terminals located at a short distance by peer-to-peer, and data transfer is also being performed.

特開2004−529533号公報JP 2004-529533 A

異なる2つの端末間でピアツーピアの近距離無線通信を確立しようとする場合、確立前の端末同士は互いに相手を認識していないことを前提とするのが通常である。このため、2つの端末が近距離無線通信を確立するためにはペアリングが必要となり、煩雑となっている。   When attempting to establish peer-to-peer short-range wireless communication between two different terminals, it is normal to assume that the terminals before establishment do not recognize each other. For this reason, in order for two terminals to establish short-range wireless communication, pairing is required, which is complicated.

本願の発明者は、2つの端末が近距離無線通信を確立しようとする際に、既に存在する端末同士の関連情報を利用することによって、ペアリング操作を省略できる可能性について認識するに至った。   The inventors of the present application have come to recognize the possibility that the pairing operation can be omitted by using related information between existing terminals when two terminals try to establish short-range wireless communication. .

本発明はこのような課題に鑑みてなされたものであり、その目的は、近距離無線通信を確立する際の煩雑さを低減する技術を提供することにある。   This invention is made | formed in view of such a subject, The objective is to provide the technique which reduces the complexity at the time of establishing near field communication.

上記課題を解決するために、第1端末と第2端末とを含む複数の端末とネットワークを介して接続されたサーバは、第1端末と第2端末との少なくともいずれか一方から、第1端末と第2端末との間における近距離無線通信の接続要求を受信する受信部と、近距離無線通信に用いる同期用情報を生成する生成部と、生成部が生成した同期用情報を、第1端末と第2端末とに送信する送信部とを備える。生成部が生成する同期用情報は、第1端末と第2端末との間の近距離無線通信のための通信用IDと、当該近距離無線通信で流れるデータを暗号化するための暗号鍵とを含む。   In order to solve the above-described problem, a server connected to a plurality of terminals including a first terminal and a second terminal via a network includes a first terminal and at least one of the first terminal and the second terminal. A reception unit that receives a connection request for short-range wireless communication between the first terminal and the second terminal, a generation unit that generates synchronization information used for short-range wireless communication, and synchronization information generated by the generation unit A transmission unit configured to transmit to the terminal and the second terminal; The synchronization information generated by the generation unit includes a communication ID for short-range wireless communication between the first terminal and the second terminal, an encryption key for encrypting data flowing in the short-range wireless communication, and including.

第1端末と第2端末とが互いに関連づけられているか否かを判定する判定部をさらに備えてもよい。   You may further provide the determination part which determines whether the 1st terminal and the 2nd terminal are mutually linked | related.

生成部は、判定部によって第1端末と第2端末とが互いに関連づけられていると判定された場合に、同期用情報を生成してもよい。   The generation unit may generate synchronization information when the determination unit determines that the first terminal and the second terminal are associated with each other.

受信部はさらに、第1端末と第2端末とのそれぞれから、第1端末の位置情報と第2端末の位置情報とを受信し、判定部はさらに、受信部が受信した位置情報をもとに、第1端末と第2端末との距離が所定の距離以下であるか否かを判定することを特定してもよい。   The receiving unit further receives the position information of the first terminal and the position information of the second terminal from each of the first terminal and the second terminal, and the determining unit further includes the position information received by the receiving unit. In addition, it may be specified to determine whether or not the distance between the first terminal and the second terminal is equal to or less than a predetermined distance.

生成部は、第1端末が第2端末との間の近距離無線通信に用いる第1同期用情報と、第2端末が第1端末との間の近距離無線通信に用いる第2同期用情報とを生成してもよい。   The generation unit includes first synchronization information used by the first terminal for short-range wireless communication with the second terminal, and second synchronization information used by the second terminal for short-range wireless communication with the first terminal. And may be generated.

生成部は、第1端末が第2端末と通信するための通信用IDとトークンとを含む情報を第1同期用情報として生成し、第2端末が第1端末と通信するための通信用IDとトークン、および暗号鍵を含む情報を第2同期用情報として生成してもよい。   The generation unit generates information including a communication ID and a token for the first terminal to communicate with the second terminal as the first synchronization information, and the communication ID for the second terminal to communicate with the first terminal. And the information including the token and the encryption key may be generated as the second synchronization information.

第1端末と第2端末とが近距離無線通信接続を開始することを契機として、第1端末と第2端末との間のデータ通信を仲介するデータ転送部をさらに備えてもよい。   A data transfer unit that mediates data communication between the first terminal and the second terminal may be further provided when the first terminal and the second terminal start the short-range wireless communication connection.

本発明の別の態様は、通信接続管理方法である。この方法は、第1端末と第2端末とを含む複数の端末とネットワークを介して接続されたサーバが実行する通信接続管理方法であって、第1端末と第2端末との少なくともいずれか一方から、第1端末と第2端末との間における近距離無線通信の接続要求を受信するステップと、近距離無線通信に用いる同期用情報を生成するステップと、生成した同期用情報を、第1端末と第2端末とに送信するステップとを備える。同期用情報は、第1端末と第2端末との間の近距離無線通信のための通信用IDと、当該近距離無線通信で流れるデータを暗号化するための暗号鍵とを含む。   Another aspect of the present invention is a communication connection management method. This method is a communication connection management method executed by a server connected via a network to a plurality of terminals including a first terminal and a second terminal, and at least one of the first terminal and the second terminal The step of receiving a connection request for short-range wireless communication between the first terminal and the second terminal, the step of generating synchronization information used for short-range wireless communication, and the generated synchronization information Transmitting to the terminal and the second terminal. The synchronization information includes a communication ID for near field communication between the first terminal and the second terminal and an encryption key for encrypting data flowing in the near field communication.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and the expression of the present invention converted between a method, an apparatus, a system, a computer program, a data structure, a recording medium, and the like are also effective as an aspect of the present invention.

本発明によれば、近距離無線通信を確立する際の煩雑さを低減する技術を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the technique which reduces the complexity at the time of establishing near field communication can be provided.

実施の形態に係るデータ転送システムの構成を模式的に示す図である。It is a figure which shows typically the structure of the data transfer system which concerns on embodiment. 実施の形態に係るサーバの機能構成を模式的に示す図である。It is a figure which shows typically the function structure of the server which concerns on embodiment. 実施の形態に係る記憶部が格納する登録データベースのデータ構造を模式的に示す図である。It is a figure which shows typically the data structure of the registration database which the memory | storage part which concerns on embodiment stores. 実施の形態に係るサーバが実行する、端末間の近距離無線通信における同期調停処理の流れを説明するフローチャートである。It is a flowchart explaining the flow of the synchronous mediation process in the short distance wireless communication between terminals which the server which concerns on embodiment performs. 実施の形態に係るデータ転送システムにおける処理の流れを説明するシーケンス図である。It is a sequence diagram explaining the flow of processing in the data transfer system according to the embodiment.

図1を参照して、本発明の実施の形態に係るサーバを含むデータ転送システムの概要を述べる。   An outline of a data transfer system including a server according to an embodiment of the present invention will be described with reference to FIG.

図1は、実施の形態に係るデータ転送システム1の構成を模式的に示す図である。図1に例示するデータ転送システム1は、サーバ100、第1端末200a、第2端末200b、第3端末200c、第4端末200d、および第5端末200eを含む。以下特に区別する場合を除き、第1端末200a、第2端末200b、第3端末200c、第4端末200d、および第5端末200eを「端末200」と総称する。   FIG. 1 is a diagram schematically illustrating a configuration of a data transfer system 1 according to an embodiment. A data transfer system 1 illustrated in FIG. 1 includes a server 100, a first terminal 200a, a second terminal 200b, a third terminal 200c, a fourth terminal 200d, and a fifth terminal 200e. Hereinafter, unless specifically distinguished, the first terminal 200a, the second terminal 200b, the third terminal 200c, the fourth terminal 200d, and the fifth terminal 200e are collectively referred to as “terminal 200”.

端末200は、少なくともプロセッサ、メモリ、および記憶部を備える情報処理端末である。限定はしないが、一例として、端末200はスマートフォン、タブレット、ファブレット、携帯電話、PDA(Personal Digital Assistant)、ノートPC(Personal Computer)、電子辞書、携帯テレビ、携帯ゲーム機、携帯音楽プレイヤ、腕時計、またはメガネやリストバンドなどの各種ウェアラブルコンピュータである。   The terminal 200 is an information processing terminal including at least a processor, a memory, and a storage unit. As an example, the terminal 200 is a smartphone, a tablet, a fablet, a mobile phone, a PDA (Personal Digital Assistant), a notebook PC (Personal Computer), an electronic dictionary, a mobile TV, a mobile game machine, a mobile music player, a wristwatch. Or various wearable computers such as glasses and wristbands.

図1は、5つの端末200がサーバ100と接続している場合の例を示している。しかしながら、データ転送システム1が含む端末200の数は5つに限られず、2以上の数であればいくつであってもよい。   FIG. 1 shows an example in which five terminals 200 are connected to the server 100. However, the number of terminals 200 included in the data transfer system 1 is not limited to five, and may be any number as long as the number is two or more.

端末200はそれぞれ、インターネットや携帯電話通信網等のネットワーク300を介してサーバ100と通信可能に接続されている。また、端末200はそれぞれ、近距離無線通信を介して互いにピアツーピアで接続することができる。近距離無線通信は、例えばWi−Fi Direct(商標または登録商標)、Bluetooth(登録商標)、赤外通信等の通信技術の他、NFC(Near Field Communication)等の近傍無線通信技術を用いて実現できる。図1に示す例では、第1端末200aと第2端末200bとが、互いに近距離無線接続しており、第3端末200cおよび第4端末200dも互いに無線通信接続し、データをやり取りしている。   Each terminal 200 is communicably connected to the server 100 via a network 300 such as the Internet or a mobile phone communication network. Also, the terminals 200 can be connected to each other peer-to-peer via short-range wireless communication. Near field communication is realized by using near field communication technology such as NFC (Near Field Communication) as well as communication technology such as Wi-Fi Direct (trademark or registered trademark), Bluetooth (registered trademark), infrared communication, etc. it can. In the example shown in FIG. 1, the first terminal 200a and the second terminal 200b are short-distance wirelessly connected to each other, and the third terminal 200c and the fourth terminal 200d are also wirelessly connected to each other to exchange data. .

上述したように、端末200はそれぞれネットワーク300を介してサーバ100にも接続されている。したがって、異なる2つの端末200は、ネットワーク300およびサーバ100を介して互いに通信可能に接続することもできる。実施の形態に係るデータ転送システム1においては、ある端末200が別の端末200に近距離無線通信接続を要求する際、サーバ100はその接続要求があったことを示す情報である接続要求情報を受信する。サーバ100が接続要求情報を受信した時点では、2つの端末200の間で近距離無線通信接続は開始されない。   As described above, each terminal 200 is also connected to the server 100 via the network 300. Therefore, two different terminals 200 can be connected to each other via the network 300 and the server 100 so as to communicate with each other. In the data transfer system 1 according to the embodiment, when a terminal 200 requests a short-range wireless communication connection to another terminal 200, the server 100 receives connection request information that is information indicating that the connection request has been made. Receive. When the server 100 receives the connection request information, the short-range wireless communication connection is not started between the two terminals 200.

サーバ100が受信する接続要求情報には、異なる2つの端末200をそれぞれ識別するための端末識別情報が含まれている。ここで接続要求情報は、端末200の所在地を示す位置情報を含んでもよい。接続要求情報が位置情報を含まない場合、サーバ100は、接続要求情報とは別に、上述の位置情報を端末200から受信してもよい。端末200は、例えば図示しないGPS(Global Positioning System)モジュールを用いることで位置情報を取得すればよい。   The connection request information received by the server 100 includes terminal identification information for identifying two different terminals 200. Here, the connection request information may include position information indicating the location of the terminal 200. When the connection request information does not include position information, the server 100 may receive the above-described position information from the terminal 200 separately from the connection request information. The terminal 200 may acquire position information by using, for example, a GPS (Global Positioning System) module (not shown).

サーバ100は、2つの端末が近距離無線通信の通信圏内である場合、端末識別情報をもとに2つの端末200が関連づけられているか否かを確認する。2つの端末200が関連づけられている場合、サーバ100は、2つの端末200が互いに近距離無線通信接続するために用いる同期情報を生成し、2つの端末200それぞれに送信する。   When the two terminals are within the communication range of the short-range wireless communication, the server 100 checks whether the two terminals 200 are associated with each other based on the terminal identification information. When the two terminals 200 are associated with each other, the server 100 generates synchronization information used for the two terminals 200 to connect to each other by short-range wireless communication, and transmits the synchronization information to each of the two terminals 200.

サーバ100が生成する同期情報には、2つの端末200が近距離無線通信接続を確立するために用いる情報のみならず、データを暗号化および復号するための暗号鍵も含まれる。このため、2つの端末200は、サーバ100から受信した同期情報を用いて近距離無線通信を確立することができる。このため、2つの端末200は、近距離無線通信接続の確立時におけるペアリングの手間を省くことができる。また、ひとたび近距離無線通信接続が確立した後は、2つの端末200は暗号鍵を用いてデータを暗号化して転送できるようになる。結果として、2つの端末200間のデータ通信の安全性を向上することができる。   The synchronization information generated by the server 100 includes not only information used for the two terminals 200 to establish a short-range wireless communication connection, but also an encryption key for encrypting and decrypting data. For this reason, the two terminals 200 can establish short-range wireless communication using the synchronization information received from the server 100. For this reason, the two terminals 200 can save the time and effort of pairing at the time of establishment of a near field communication connection. In addition, once the short-range wireless communication connection is established, the two terminals 200 can transfer the data by encrypting the data using the encryption key. As a result, the safety of data communication between the two terminals 200 can be improved.

なお、暗号鍵とは、いわゆる公開鍵暗号方式の暗号鍵や、共有鍵暗号における暗号鍵である。前者の暗号鍵は、例えばRSA等の既知の公開鍵暗号の技術を用いて実現できる。また後者の暗号鍵は、DES、FEAL、MISTY、またはIDEA等の既知の共通鍵暗号の技術を用いて実現できる。   The encryption key is an encryption key of a so-called public key encryption method or an encryption key in shared key encryption. The former encryption key can be realized using a known public key encryption technique such as RSA. The latter encryption key can be realized by using a known common key encryption technique such as DES, FEAL, MISTY, or IDEA.

実施の形態に係るサーバ100は、2つの端末200間で近距離無線通信が確立すると、ネットワーク300を介して、当該2つの端末200の間のデータ転送を仲介することもできる。これにより、2つの端末200の間には、近距離無線通信を介する経路と、ネットワーク300を介する経路との、2つのデータ転送経路が確立されることになる。この2つのデータ転送経路を冗長経路として使用することにより、データ転送の信頼性を高めることができる。あるいは、2つのデータ転送経路を異なるデータ転送帯域に割り当てることにより、データ転送の速度を向上することもできる。   The server 100 according to the embodiment can also mediate data transfer between the two terminals 200 via the network 300 when the short-range wireless communication is established between the two terminals 200. As a result, two data transfer paths are established between the two terminals 200, the path via the short-range wireless communication and the path via the network 300. By using these two data transfer paths as redundant paths, the reliability of data transfer can be improved. Alternatively, the data transfer speed can be improved by assigning the two data transfer paths to different data transfer bands.

このように、実施の形態に係るデータ転送システム1においては、サーバ100が異なる2つの端末200間の近距離無線通信の接続を管理する。以下、実施の形態に係るサーバ100についてより詳細に説明する。   As described above, in the data transfer system 1 according to the embodiment, the server 100 manages the short-range wireless communication connection between two different terminals 200. Hereinafter, the server 100 according to the embodiment will be described in more detail.

図2は、実施の形態に係るサーバ100の機能構成を模式的に示す図である。実施の形態に係るサーバ100は、受信部10、生成部20、送信部30、判定部40、データ転送部50、および記憶部60を備える。   FIG. 2 is a diagram schematically illustrating a functional configuration of the server 100 according to the embodiment. The server 100 according to the embodiment includes a reception unit 10, a generation unit 20, a transmission unit 30, a determination unit 40, a data transfer unit 50, and a storage unit 60.

図2は、実施の形態に係るサーバ100がデータ転送の仲介を実現するための機能構成を示しており、その他の構成は省略している。図2において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メインメモリ、その他のLSI(Large Scale Integration)で構成することができる。またソフトウェア的には、メインメモリにロードされたプログラムなどによって実現される。なお、このプログラムは、コンピュータが読み出し可能な記録媒体に格納されていてもよく、通信回線を介してネットワークからダウンロードされてもよい。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。   FIG. 2 shows a functional configuration for the server 100 according to the embodiment to realize data transfer mediation, and other configurations are omitted. In FIG. 2, each element described as a functional block for performing various processes can be configured by a CPU (Central Processing Unit), a main memory, and other LSI (Large Scale Integration) in hardware. In terms of software, it is realized by a program loaded in the main memory. Note that this program may be stored in a computer-readable recording medium or downloaded from a network via a communication line. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one.

図2に示すサーバ100の各機能部をソフトウェアにより実現する場合、サーバ100または端末200は、各機能を実現するソフトウェアであるプログラムの命令を実行することで実現される。このプログラムを格納する記録媒体は、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記検索プログラムは、当該検索プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。本発明は、上記検索プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。   When the function units of the server 100 illustrated in FIG. 2 are realized by software, the server 100 or the terminal 200 is realized by executing instructions of a program that is software that realizes each function. As a recording medium for storing this program, a “non-temporary tangible medium”, for example, a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used. The search program may be supplied to the computer via any transmission medium (such as a communication network or a broadcast wave) that can transmit the search program. The present invention can also be realized in the form of a data signal embedded in a carrier wave, in which the search program is embodied by electronic transmission.

なお、上記検索プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、C++、Objective-C、Java(登録商標)、Rubyなどのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。   The search program uses, for example, a script language such as ActionScript or JavaScript (registered trademark), an object-oriented programming language such as C ++, Objective-C, Java (registered trademark), or Ruby, or a markup language such as HTML5. Can be implemented.

以下、図1に示す第1端末200aと第2端末200bとが近距離無線通信接続を開始することを前提に説明する。また、第1端末200aのユーザと第2端末200bのユーザとはそれぞれ第1ユーザと第2ユーザであることを前提とする。なお、説明の便宜上第1ユーザと第2ユーザとは異なるユーザとするが、同一のユーザであってもよい。   Hereinafter, description will be made on the assumption that the first terminal 200a and the second terminal 200b illustrated in FIG. 1 start a short-range wireless communication connection. In addition, it is assumed that the user of the first terminal 200a and the user of the second terminal 200b are the first user and the second user, respectively. For convenience of explanation, the first user and the second user are different users, but they may be the same user.

いま、互いに知り合いである第1ユーザと第2ユーザとが出会い、第1ユーザが、第1端末200aに格納されているデータを第2ユーザが所持する第2端末200bに送信することを望んだとする。第1端末200aと第2端末200bとは近距離無線通信の通信圏内にあるため、第1ユーザは、第1端末200aを操作して第2端末200bに対し、データ送信の開始を指示する。   Now, a first user and a second user who are acquainted with each other meet and the first user wants to transmit the data stored in the first terminal 200a to the second terminal 200b possessed by the second user. And Since the first terminal 200a and the second terminal 200b are within the communication range of short-range wireless communication, the first user operates the first terminal 200a to instruct the second terminal 200b to start data transmission.

この指示に応答して、第1端末200aは、第2端末200bに近距離無線通信の接続要求を送信する。このとき、第1端末200aは、第1端末200aを識別可能な第1端末識別子を第2端末200bに送信する。また、第2端末200bは、第2端末200bを識別可能な第2端末識別子を第1端末200aに送信する。これにより、第1端末200aと第2端末200bとは、それぞれ通信相手を識別するための識別子を取得できる。   In response to this instruction, the first terminal 200a transmits a short-range wireless communication connection request to the second terminal 200b. At this time, the first terminal 200a transmits a first terminal identifier that can identify the first terminal 200a to the second terminal 200b. The second terminal 200b transmits a second terminal identifier that can identify the second terminal 200b to the first terminal 200a. Thereby, the 1st terminal 200a and the 2nd terminal 200b can acquire the identifier for identifying a communicating party, respectively.

ここで第1ユーザが、自身が所持する第1端末200aに対して第2端末200bと近距離無線通信を介してデータ送信の開始をすることを指示するためには、例えば第1端末200aのタッチパネル(不図示)に示されたアイコンをタップすることで実現される。アイコンのタップに代えて、あるいはそれに加えて、第1ユーザが第1端末200aを所定の振動数以上で振る、ないしシェイクすることで第2端末200bに対してデータ送信の開始を指示するようにしてもよい。この場合、第1端末200a内の図示しない加速度センサが、第1端末200aの動きを検出することで実現できる。   Here, in order for the first user to instruct the first terminal 200a owned by the first user to start data transmission with the second terminal 200b via short-range wireless communication, for example, the first user 200a This is realized by tapping an icon shown on a touch panel (not shown). Instead of or in addition to the tap of the icon, the first user instructs the second terminal 200b to start data transmission by shaking or shaking the first terminal 200a at a predetermined frequency or higher. May be. In this case, the acceleration sensor (not shown) in the first terminal 200a can be realized by detecting the movement of the first terminal 200a.

同様に、第2ユーザは、自身が所持する第2端末200bに第1端末200aからの接続要求に応答させるために、アイコンをタップしたり、第2端末200bを振ったりすることで、第1端末200aに応答することを指示させてもよい。   Similarly, the second user taps an icon or shakes the second terminal 200b in order to cause the second terminal 200b owned by the second user to respond to the connection request from the first terminal 200a. The terminal 200a may be instructed to respond.

第1端末200aは、第1ユーザの明示的な指示を受けることなく、第2端末200bに対して近距離無線通信の接続を要求することを示す接続要求情報を、サーバ100の受信部10に送信する。第1端末200aがサーバ100に送信する接続要求情報は、第1端末識別子と第2端末識別子も含まれる。   The first terminal 200a sends connection request information indicating a request for a short-range wireless communication connection to the second terminal 200b to the receiving unit 10 of the server 100 without receiving an explicit instruction from the first user. Send. The connection request information transmitted from the first terminal 200a to the server 100 includes a first terminal identifier and a second terminal identifier.

なお、第1ユーザが第1端末200aから第2端末に送信を開始しようとするデータの容量が所定の容量以上の場合、第1端末200aは、第1ユーザの明示的な指示を受けることなく、接続要求情報をサーバ100の受信部10に送信するようしにしもよい。ここで「所定の容量」とは、端末200が、接続要求情報を自動でサーバ100に送信するか否かを判定するために参照する「自動送信基準容量」である。自動送信基準容量の値は、データ転送システム1が想定するデータの容量を考慮して実験により定めればよいが、例えば一般的な動画が備えているであろうデータ容量である。限定はしないが、一例として、自動送信基準容量の値は、10MBである。   In addition, when the capacity of data that the first user intends to start transmission from the first terminal 200a to the second terminal is greater than or equal to a predetermined capacity, the first terminal 200a does not receive an explicit instruction from the first user. The connection request information may be transmitted to the receiving unit 10 of the server 100. Here, the “predetermined capacity” is an “automatic transmission reference capacity” that is referred to by the terminal 200 to determine whether or not to automatically transmit connection request information to the server 100. The value of the automatic transmission reference capacity may be determined by experiment in consideration of the data capacity assumed by the data transfer system 1, and is, for example, a data capacity that a general moving image may have. Although not limited, as an example, the value of the automatic transmission reference capacity is 10 MB.

サーバ100の受信部10は、第1端末200aから、第1端末200aと第2端末200bとの間における近距離無線通信の接続要求情報を受信する。判定部40は、受信部10が受信した接続要求情報に含まれる第1端末識別子と第2端末識別子とをもとに、第1端末200aと第2端末200bとが互いに関連づけられているか否かを判定する。これにより、ユーザの操作ミスによって見知らぬユーザの端末200と通信接続することを抑制できる。判定部40はまた、第1端末200aおよび第2端末200bから受信した位置情報をもとに、第1端末と第2端末とが近くにいるか否かを判定する。これにより、第1端末200aと第2端末200bとが互いに離れているときに、近距離無線通信接続の確立を試みてしまうことを抑制できる。   The receiving unit 10 of the server 100 receives connection request information for short-range wireless communication between the first terminal 200a and the second terminal 200b from the first terminal 200a. The determination unit 40 determines whether the first terminal 200a and the second terminal 200b are associated with each other based on the first terminal identifier and the second terminal identifier included in the connection request information received by the reception unit 10. Determine. Thereby, it is possible to suppress communication connection with an unknown user terminal 200 due to a user operation error. The determination unit 40 also determines whether or not the first terminal and the second terminal are close to each other based on the position information received from the first terminal 200a and the second terminal 200b. Thereby, when the 1st terminal 200a and the 2nd terminal 200b are mutually separated, it can suppress trying to establish near field communication connection.

なお判定部40は、第1端末200aがサーバ100に接続要求情報を送信した時刻と、第2端末200bがサーバ100に接続要求情報を送信した時刻との差が所定の時間内である場合には、第1端末200aと第2端末200bとが近くにあると判断してもよい。   The determination unit 40 determines that the difference between the time when the first terminal 200a transmits the connection request information to the server 100 and the time when the second terminal 200b transmits the connection request information to the server 100 is within a predetermined time. May determine that the first terminal 200a and the second terminal 200b are close to each other.

ここで異なる2つの端末200が「互いに関連づけられている」とは、例えば、それぞれの端末200のユーザ同士が互いに何らかの関連づけがなされていることを意味する。具体的には、判定部40は、第1端末200aの所有者である第1ユーザと、第2端末200bの所有者である第2ユーザとが、何らかのSNS(Social Network Service)において友達登録をしている場合に、第1端末200aと第2端末200bとが互いに関連づけられていると判定する。判定部40は、記憶部60に格納されている登録データベースを参照して、第1端末200aと第2端末200bとの関連づけを判定する。   Here, “the two different terminals 200 are associated with each other” means that, for example, the users of the respective terminals 200 are associated with each other. Specifically, the determination unit 40 allows the first user who is the owner of the first terminal 200a and the second user who is the owner of the second terminal 200b to register friends in some SNS (Social Network Service). If it is determined that the first terminal 200a and the second terminal 200b are associated with each other. The determination unit 40 refers to the registration database stored in the storage unit 60 and determines the association between the first terminal 200a and the second terminal 200b.

あるいは、それぞれの端末200のユーザが互いに直接友達となっていなくても、共通の友人が存在する場合、すなわち、両者が友達の友達である場合にも、関連づけられているとしてもよい。その他、一方の端末200のユーザが別の端末200のユーザのSNSをいわゆる「フォロー」している場合や同一のグループに属している場合等も関連づけられているものとしてもよい。   Alternatively, even if the users of the respective terminals 200 are not directly friends with each other, they may be associated even when there are common friends, that is, when both are friends of friends. In addition, the case where the user of one terminal 200 is so-called “following” the SNS of the user of another terminal 200, the case where the user belongs to the same group, or the like may be associated.

図3は、実施の形態に係る記憶部60が格納する登録データベース62のデータ構造を模式的に示す図である。図3に示すように、登録データベース62には、端末200を一意に特定可能な端末識別子と、その端末200の所有者を一意に特定可能なユーザ識別子とが、端末識別子毎に対応づけられて格納されている。さらに、登録データベース62には、ユーザ識別子で特定されるユーザが友達登録をしている他のユーザを識別するための友達識別子も対応づけられて格納されている。   FIG. 3 is a diagram schematically illustrating a data structure of the registration database 62 stored in the storage unit 60 according to the embodiment. As shown in FIG. 3, in the registration database 62, a terminal identifier that can uniquely identify the terminal 200 and a user identifier that can uniquely identify the owner of the terminal 200 are associated with each terminal identifier. Stored. Further, the registration database 62 also stores a friend identifier for identifying other users who are registered as friends by the user specified by the user identifier.

図3に示す登録データベース62は、端末識別子がDIDAAAAAである端末200のユーザのユーザ識別子が、UID00001であることを示している。UID00001で特定されるユーザは複数の他のユーザを友達登録しており、それらのユーザのユーザ識別子がUID00002、UID00003、UID00004等であることを示している。   The registration database 62 shown in FIG. 3 indicates that the user identifier of the user of the terminal 200 whose terminal identifier is DIDAAAA is UID00001. The user specified by UID00001 has registered a plurality of other users as friends, and the user identifiers of these users are UID00002, UID00003, UID00004, and the like.

なお、上記では、第1端末200aが、第2端末200bに対して近距離無線通信の接続を要求することを示す接続要求情報を、サーバ100の受信部10に送信する場合について説明した。これに代えて、あるいはこれに加えて、第2端末200bが、第1端末200aに対して近距離無線通信の接続を要求することを示す接続要求情報を、サーバ100の受信部10に送信してもよい。すなわち、サーバ100の受信部10は、第1端末200aと第2端末200bとの少なくともいずれか一方から、第1端末200aと第2端末200bとの間における近距離無線通信の接続要求を受信すればよい。   Note that the case has been described above where the first terminal 200a transmits connection request information indicating that the second terminal 200b requests a short-range wireless communication connection to the receiving unit 10 of the server 100. Instead of this, or in addition to this, the second terminal 200b transmits connection request information indicating that the first terminal 200a requests connection of short-range wireless communication to the receiving unit 10 of the server 100. May be. That is, the receiving unit 10 of the server 100 receives a connection request for short-range wireless communication between the first terminal 200a and the second terminal 200b from at least one of the first terminal 200a and the second terminal 200b. That's fine.

図2の説明に戻る。判定部40は、受信部10が取得した接続要求情報に含まれる第1端末識別子と第2端末識別子とを取得する。判定部は記憶部60が格納する登録データベースにアクセスして、第1端末識別子のユーザの識別子である第1ユーザ識別子と、第2端末識別子のユーザの識別子である第2ユーザ識別子とを取得する。判定部さらに、第1ユーザ識別子で特定されるユーザに紐付けられている友達識別子の中に、第2ユーザ識別子が存在するか否かを調べる。第1ユーザ識別子で特定されるユーザに紐付けられている友達識別子の中に第2ユーザ識別子が存在する場合、判定部40は、第1端末200aと第2端末200bとが互いに関連づけられていると判定する。第1ユーザ識別子で特定されるユーザに紐付けられている友達識別子の中に第2ユーザ識別子が存在しない場合、判定部40は、第1端末200aと第2端末200bとが互いに関連づけられていないと判定する。   Returning to the description of FIG. The determination unit 40 acquires the first terminal identifier and the second terminal identifier included in the connection request information acquired by the reception unit 10. The determination unit accesses the registration database stored in the storage unit 60 and acquires a first user identifier that is a user identifier of the first terminal identifier and a second user identifier that is a user identifier of the second terminal identifier. . The determination unit further checks whether or not the second user identifier is present in the friend identifier associated with the user specified by the first user identifier. When the second user identifier is present in the friend identifier associated with the user specified by the first user identifier, the determination unit 40 associates the first terminal 200a and the second terminal 200b with each other. Is determined. When the second user identifier does not exist among the friend identifiers associated with the user specified by the first user identifier, the determination unit 40 does not associate the first terminal 200a and the second terminal 200b with each other. Is determined.

生成部20は、判定部40によって第1端末200aと第2端末200bとが互いに関連づけられていると判定された場合、同期用情報を生成する。これにより、第1ユーザが誤って無関係のユーザと近距離無線通信することが抑制できる。   If the determination unit 40 determines that the first terminal 200a and the second terminal 200b are associated with each other, the generation unit 20 generates synchronization information. Thereby, it is possible to suppress the first user from performing short-range wireless communication with an unrelated user by mistake.

ここで「同期用情報」とは、第1端末200aと第2端末200bとの間における近距離無線通信に用いる情報である。より具体的に、同期用情報は、第1端末200aと第2端末200bとの間の近距離無線通信のための通信用IDと、当該近距離無線通信で流れるデータを暗号化するための暗号鍵(秘密鍵および公開鍵)と、通信用のトークン(token)とを含む情報である。送信部30は、生成部20が生成した同期用情報を、ネットワーク300を介して第1端末200aと第2端末200bとに送信する。より具体的には、送信部30は、通信用IDとトークンとを第1端末200aに送信し、通信用ID、トークン、および暗号鍵を第2端末200bに送信する。なお生成部20は、この通信用のトークンをランダムに生成してもよい。   Here, the “synchronization information” is information used for short-range wireless communication between the first terminal 200a and the second terminal 200b. More specifically, the synchronization information includes a communication ID for short-range wireless communication between the first terminal 200a and the second terminal 200b, and an encryption for encrypting data flowing in the short-range wireless communication. Information including a key (a secret key and a public key) and a communication token. The transmission unit 30 transmits the synchronization information generated by the generation unit 20 to the first terminal 200a and the second terminal 200b via the network 300. More specifically, the transmission unit 30 transmits the communication ID and token to the first terminal 200a, and transmits the communication ID, token, and encryption key to the second terminal 200b. Note that the generation unit 20 may randomly generate this communication token.

同期用情報に含まれる通信用IDは、第1端末200aと第2端末200bとが、互いに相手とのみ通信する際に利用するいわばセッションIDである。図1に示すように、データ転送システム1には複数の端末200が含まれる。このため、第1端末200aと第2端末200bとの近距離無線通信の通信圏内に、他の端末200(例えば、第3端末200c)が存在する場合もあり得る。このような場合に、第1端末200aと第2端末200bとはサーバ100から受信した通信用IDを用いることで、第1端末200aと第2端末200bとの間で通信することを保証できる。   The communication ID included in the synchronization information is a so-called session ID used when the first terminal 200a and the second terminal 200b communicate with each other only. As shown in FIG. 1, the data transfer system 1 includes a plurality of terminals 200. For this reason, there may be another terminal 200 (for example, the third terminal 200c) in the communication area of the short-range wireless communication between the first terminal 200a and the second terminal 200b. In such a case, it is possible to guarantee that the first terminal 200a and the second terminal 200b communicate between the first terminal 200a and the second terminal 200b by using the communication ID received from the server 100.

当然ながら、第1端末200aと第3端末200cとが互いに近距離無線通信の通信圏内にあれば、第1端末200aは第3端末200cと近距離無線通信を確立することも可能である。しかしながら、第1端末200aと第3端末200cとの通信のための通信用IDは、第1端末200aと第2端末200bとの間の通信用IDとは異なる。端末200は、通信用IDを参照することで通信相手の端末200を識別できるため、データを誤送信することが抑制できる。   Of course, if the first terminal 200a and the third terminal 200c are within the communication range of the short-range wireless communication, the first terminal 200a can establish short-range wireless communication with the third terminal 200c. However, the communication ID for communication between the first terminal 200a and the third terminal 200c is different from the communication ID between the first terminal 200a and the second terminal 200b. Since the terminal 200 can identify the communication partner terminal 200 by referring to the communication ID, erroneous transmission of data can be suppressed.

このように、第1端末200aと第2端末200bとは、それぞれ送信部30から送信された同期用信号を受信する。同期用信号を受信した第2端末200bは、通信用IDを用いて第1端末200aとの近距離無線通信の接続を試みる。同時に第2端末200bは、サーバ100から受信した暗号鍵のうち公開鍵を第1端末200aに送信する。   Thus, the first terminal 200a and the second terminal 200b each receive the synchronization signal transmitted from the transmission unit 30. Receiving the synchronization signal, the second terminal 200b attempts to connect near field communication with the first terminal 200a using the communication ID. At the same time, the second terminal 200b transmits the public key among the encryption keys received from the server 100 to the first terminal 200a.

第1端末200aは、第2端末200bから受信した公開鍵を用いて、サーバ100から受信したトークンを暗号化する。第1端末200aは、暗号化したトークンを第2端末200bに送信する。第2端末200bは、第1端末200aから暗号化されたトークンを受信し、秘密鍵を用いて復号する。第2端末200bは、復号したトークンが第1端末200aに送信したトークンと一致するか否かを確認する。一致する場合、第2端末200bは、近距離無線通信の相手として第1端末200aが適正であるとみなす。これにより、第1端末200aと第2端末200bとは近距離無線通信を確立できる。また、第1端末200aと第2端末200bとは共通の暗号鍵を持つため、データを暗号化して送受信することが可能となる。   The first terminal 200a encrypts the token received from the server 100 using the public key received from the second terminal 200b. The first terminal 200a transmits the encrypted token to the second terminal 200b. The second terminal 200b receives the encrypted token from the first terminal 200a and decrypts it using the secret key. The second terminal 200b confirms whether or not the decrypted token matches the token transmitted to the first terminal 200a. If they match, the second terminal 200b considers the first terminal 200a to be appropriate as a partner for short-range wireless communication. Thereby, the 1st terminal 200a and the 2nd terminal 200b can establish near field communication. In addition, since the first terminal 200a and the second terminal 200b have a common encryption key, data can be encrypted and transmitted / received.

なお、第2端末200bは、復号したトークンが第1端末200aに送信したトークンと異なる場合、第1端末を近距離無線通信の相手として適切でないと判断し、通信を確立しなくてもよい。このように、第2端末200bは、送信部30から送信された同期用情報を受信した後に、当該同期用情報によって第1端末200aと正しく通信が確立できたか否かを検証することができる。   Note that if the decrypted token is different from the token transmitted to the first terminal 200a, the second terminal 200b may determine that the first terminal is not suitable as a short-range wireless communication partner and may not establish communication. As described above, after receiving the synchronization information transmitted from the transmission unit 30, the second terminal 200b can verify whether or not communication with the first terminal 200a is correctly established based on the synchronization information.

第1端末200aと第2端末200bとが正しく通信が確立できたか否かの検証は、上述した方法に限られない。この検証は、例えば以下のようにしても実現できる。   Verification of whether the first terminal 200a and the second terminal 200b have successfully established communication is not limited to the method described above. This verification can also be realized as follows, for example.

まず、第1端末200aは、任意の方法で生成した平文を、同期用情報を用いて確立した近距離無線通信を介する経路(以下、「無線通信経路」ということがある。)で第2端末200bに送信する。第1端末200aはまた、同じ平文を、ネットワーク300およびサーバ100を介する経路(以下、「サーバ経路」ということがある。)で第2端末200bに送信する。第2端末200bは、無線通信経路を介して取得した平文と、サーバ経路を介して取得した平文とが一致するか否かを照合し、その結果を第1端末200aに送信する。   First, the first terminal 200a transmits the plain text generated by an arbitrary method on the second terminal via a path (hereinafter, also referred to as “wireless communication path”) via short-range wireless communication established using the synchronization information. To 200b. The first terminal 200a also transmits the same plaintext to the second terminal 200b via a route through the network 300 and the server 100 (hereinafter also referred to as “server route”). The second terminal 200b collates whether the plaintext acquired via the wireless communication path matches the plaintext acquired via the server path, and transmits the result to the first terminal 200a.

第1端末200aは、第2端末200bから送信された照合結果によって、第2端末200bと正しく近距離無線通信が確立できたか否かを検証する。すなわち、第2端末200bから平文が一致する旨の結果を取得した場合、第1端末200aは、第2端末200bと正しく近距離無線通信が確立できたと判定する。第2端末200bから平文が相違する旨の結果を取得した場合、あるいは所定の時間経過しても第2端末200bから照合結果が送信されない場合、第1端末200aは、第2端末200bとの間の近距離無線通信接続に失敗したと判定する。   The first terminal 200a verifies whether or not the short-range wireless communication has been correctly established with the second terminal 200b based on the collation result transmitted from the second terminal 200b. That is, when the result indicating that the plaintext matches is obtained from the second terminal 200b, the first terminal 200a determines that the short-range wireless communication has been correctly established with the second terminal 200b. When the result indicating that the plaintext is different is acquired from the second terminal 200b, or when the collation result is not transmitted from the second terminal 200b even after a predetermined time has elapsed, the first terminal 200a communicates with the second terminal 200b. It is determined that the short-range wireless communication connection has failed.

なお、第1端末200aは、生成した平文に代えて、その平文を第2端末200bから受信した暗号鍵で暗号化した暗号文を、無線通信経路とサーバ経路との2つの経路を使って送信してもよい。この場合、第2端末200bは、自信が所持する公開鍵を用いて暗号文を復号してから、両者が一致するか否かを検証してもよい。または、第2端末200bは、2つの経路からそれぞれ取得した暗号文を、そのままバイナリ比較して一致するか否かを検証してもよい。   The first terminal 200a transmits a ciphertext obtained by encrypting the plaintext using the encryption key received from the second terminal 200b, instead of the generated plaintext, using two routes, a wireless communication route and a server route. May be. In this case, the second terminal 200b may verify whether or not they match after decrypting the ciphertext using the public key possessed by the user. Alternatively, the second terminal 200b may verify whether or not the ciphertexts obtained from the two paths are matched by binary comparison as they are.

あるいは、第1端末200aと第2端末200bとが秘密鍵方式の暗号化を採用している場合には、第1端末200aは、平文に代えて、同期用情報に含まれる秘密鍵から所定の方法で生成したハッシュ値を、無線通信経路とサーバ経路とのいずれか一方の経路を使って第2端末200bに送信してもよい。この場合、第2端末200bは、自身が所有する暗号鍵からハッシュ値を生成し、取得したハッシュ値と一致するか否かを検証する。   Alternatively, when the first terminal 200a and the second terminal 200b employ the secret key method encryption, the first terminal 200a uses a secret key included in the synchronization information instead of the plaintext to determine a predetermined value. The hash value generated by the method may be transmitted to the second terminal 200b using one of the wireless communication path and the server path. In this case, the second terminal 200b generates a hash value from the encryption key owned by itself, and verifies whether or not it matches the acquired hash value.

このように、第1端末200aは、サーバ100から取得した同期用情報を用いて確立した近距離無線通信接続が、正しく第2端末200bと通信できているか否かを検証する。これにより、近距離無線通信接続の安全性を向上することができる。   In this way, the first terminal 200a verifies whether the short-range wireless communication connection established using the synchronization information acquired from the server 100 is correctly communicating with the second terminal 200b. Thereby, the safety | security of near field communication connection can be improved.

図2の説明に戻る。データ転送部50は、第1端末200aと第2端末200bとが近距離無線通信接続を開始することを契機として、第1端末200aと第2端末200bとの間のデータ通信を仲介する。これにより、第1端末200aと第2端末200bとの間には、無線通信経路と、サーバ経路との、2つのデータ転送経路が確立されることになる。この2つのデータ転送経路を冗長経路として使用することにより、データ転送の信頼性を高めることができる。あるいは、2つのデータ転送経路を異なるデータ転送帯域に割り当てることにより、データ転送の速度を向上することもできる。   Returning to the description of FIG. The data transfer unit 50 mediates data communication between the first terminal 200a and the second terminal 200b when the first terminal 200a and the second terminal 200b start a short-range wireless communication connection. As a result, two data transfer paths, that is, a wireless communication path and a server path, are established between the first terminal 200a and the second terminal 200b. By using these two data transfer paths as redundant paths, the reliability of data transfer can be improved. Alternatively, the data transfer speed can be improved by assigning the two data transfer paths to different data transfer bands.

図4は、実施の形態に係るサーバ100が実行する、端末200間の近距離無線通信における同期調停処理の流れを説明するフローチャートである。本フローチャートにおける処理は、例えばサーバ100が起動したときに開始する。   FIG. 4 is a flowchart for explaining the flow of the synchronization arbitration process in the short-range wireless communication between the terminals 200 executed by the server 100 according to the embodiment. The processing in this flowchart starts when the server 100 is activated, for example.

受信部10は、第1端末200aと第2端末200bとの間における近距離無線通信の接続要求を受信する(S2)。判定部40は、受信した接続要求に含まれる位置情報をもとに、第1端末200aと第2端末200bとの距離が所定の距離(近距離無線通信の通信圏内)であるか否かを判定する(S4)。第1端末200aと第2端末200bとの距離が所定の距離以下である場合(S6のYes)、判定部40は、受信した接続要求に含まれる端末識別子をもとに、記憶部60に格納されている登録データベース62を参照して、第1端末200aと第2端末200bとの関連づけを確認する(S8)。   The receiving unit 10 receives a connection request for short-range wireless communication between the first terminal 200a and the second terminal 200b (S2). Based on the location information included in the received connection request, the determination unit 40 determines whether the distance between the first terminal 200a and the second terminal 200b is a predetermined distance (the communication range of short-range wireless communication). Determine (S4). When the distance between the first terminal 200a and the second terminal 200b is equal to or less than the predetermined distance (Yes in S6), the determination unit 40 stores the information in the storage unit 60 based on the terminal identifier included in the received connection request. With reference to the registered database 62, the association between the first terminal 200a and the second terminal 200b is confirmed (S8).

判定部40によって第1端末200aと第2端末200bとが互いに関連づけられていると判定された場合(S10のYes)、生成部20は、第1端末200aと第2端末200bとが近距離無線通信に用いる同期用情報を生成する(S12)。送信部30は、生成部20が生成した同期用情報を、第1端末200aと第2端末200bとに送信する(S14)。   When the determination unit 40 determines that the first terminal 200a and the second terminal 200b are associated with each other (Yes in S10), the generation unit 20 indicates that the first terminal 200a and the second terminal 200b are short-range wireless. Synchronization information used for communication is generated (S12). The transmission unit 30 transmits the synchronization information generated by the generation unit 20 to the first terminal 200a and the second terminal 200b (S14).

データ転送部50は、第1端末200aと第2端末200bとの間の近距離無線通信が開始する前は(S16のNo)、開始するまで待機する。第1端末200aと第2端末200bとの間の近距離無線通信が開始されると(S16のYes)、データ転送部50は、第1端末200aと第2端末200bとの間のデータ転送を仲介する(S18)。   The data transfer unit 50 waits until the short distance wireless communication between the first terminal 200a and the second terminal 200b starts (No in S16). When the short-range wireless communication between the first terminal 200a and the second terminal 200b is started (Yes in S16), the data transfer unit 50 transfers the data between the first terminal 200a and the second terminal 200b. Mediate (S18).

判定部40が第1端末200aと第2端末200bとの距離が所定の距離より離れていると判定するか(S10のNo)、判定部40が第1端末200aと第2端末200bとの間に関連づけがないと判定するか(S6のNo)、または第1端末200aと第2端末200bとの間のデータ転送が終了すると、本フローチャートにおける処理は終了する。   Whether the determination unit 40 determines that the distance between the first terminal 200a and the second terminal 200b is greater than a predetermined distance (No in S10), or whether the determination unit 40 is between the first terminal 200a and the second terminal 200b When it is determined that there is no association (No in S6), or when the data transfer between the first terminal 200a and the second terminal 200b ends, the processing in this flowchart ends.

図5は、実施の形態に係るデータ転送システム1における処理の流れを説明するシーケンス図である。以下、図5を参照して、実施の形態に係るデータ転送システム1の動作を説明する。   FIG. 5 is a sequence diagram illustrating the flow of processing in the data transfer system 1 according to the embodiment. Hereinafter, the operation of the data transfer system 1 according to the embodiment will be described with reference to FIG.

第1端末200aは、近距離無線通信の通信圏内にある第2端末200bに、データの送信を試みる(S30)。このとき、第1端末200aは、第2端末200bに、第1端末200aを識別するための端末識別情報を送信する。第2端末200bは、第1端末200aに端末識別情報を送信する(S32)。   The first terminal 200a attempts to transmit data to the second terminal 200b in the short-range wireless communication range (S30). At this time, the first terminal 200a transmits terminal identification information for identifying the first terminal 200a to the second terminal 200b. The second terminal 200b transmits terminal identification information to the first terminal 200a (S32).

第1端末200aは、第2端末200bから端末識別情報の送信があると、第1ユーザの明示的な指示の有無にかかわらず、サーバ100に対して第2端末200bとの間における近距離無線通信の接続を要求する第1接続要求を送信する(S34)。サーバ100の受信部10は、第1端末200aから第1接続要求を受信する(S36)。   When terminal identification information is transmitted from the second terminal 200b, the first terminal 200a transmits the short-range wireless communication with the server 100 to and from the second terminal 200b regardless of whether there is an explicit instruction from the first user. A first connection request for requesting communication connection is transmitted (S34). The receiving unit 10 of the server 100 receives the first connection request from the first terminal 200a (S36).

第2端末200bは、第1端末200aに端末識別情報を送信すると、第2ユーザの明示的な指示の有無にかかわらず、サーバ100に対して第1端末200aとの間における近距離無線通信の接続を要求する第2接続要求を送信する(S38)。サーバ100の受信部10は、第2端末200bから第2接続要求を受信する(S40)。   When the second terminal 200b transmits the terminal identification information to the first terminal 200a, the short-range wireless communication with the first terminal 200a is performed with respect to the server 100 regardless of the presence or absence of an explicit instruction from the second user. A second connection request for requesting connection is transmitted (S38). The receiving unit 10 of the server 100 receives the second connection request from the second terminal 200b (S40).

このように、サーバ100が第1端末200aと第2端末200bとから、それぞれ接続要求を受信することにより、第1端末200aと第2端末200bとが近距離無線通信を開始することの信頼性を向上することができる。   Thus, the reliability that the first terminal 200a and the second terminal 200b start short-range wireless communication when the server 100 receives the connection request from the first terminal 200a and the second terminal 200b, respectively. Can be improved.

サーバ100の判定部40は、第1端末200aと第2端末200bとの関連づけを検証する(S42)。第1端末200aと第2端末200bとの関連づけがない場合(S44のN)、サーバ100は処理を終了する。   The determination unit 40 of the server 100 verifies the association between the first terminal 200a and the second terminal 200b (S42). When there is no association between the first terminal 200a and the second terminal 200b (N in S44), the server 100 ends the process.

第1端末200aと第2端末200bとの関連づけがある場合(S44のY)、生成部20は同期用情報を生成する。より具体的には、生成部20は、第1端末200aと第2端末200bとの間の近距離無線通信に用いるための通信用IDおよびトークンを生成する(S46)。生成部20はまた、第1端末200aと第2端末200bとの間のデータ通信を暗号化するための暗号鍵(公開鍵および秘密鍵)を生成する(S48)。   When there is an association between the first terminal 200a and the second terminal 200b (Y in S44), the generation unit 20 generates synchronization information. More specifically, the generation unit 20 generates a communication ID and token for use in short-range wireless communication between the first terminal 200a and the second terminal 200b (S46). The generation unit 20 also generates an encryption key (public key and secret key) for encrypting data communication between the first terminal 200a and the second terminal 200b (S48).

送信部30は、生成部20が生成した同期用情報を、第1端末200aと第2端末200bとに送信する(S50)。   The transmission unit 30 transmits the synchronization information generated by the generation unit 20 to the first terminal 200a and the second terminal 200b (S50).

通信用IDは、第1端末200aと第2端末200bと第2端末200bとの間の近距離無線通信に用いるための情報である。したがって、第1端末200aは、通信相手が第2端末200bであることが判別できればよく、第2端末200bは、通信相手が第1端末200aであることが判別できればよい。このため、第1同期用情報に含まれる通信用IDは、通信相手を判別するための情報として、例えば第2端末200bの端末識別子が含まれていればよく、自身の情報は含まれていなくてもよい。同様に第2同期用情報に含まれる通信用IDは、第1端末200aの端末識別子が含まれていればよい。これにより、各同期用情報のデータ量を抑制しデータ通信のコストを下げることができる。   The communication ID is information used for short-range wireless communication among the first terminal 200a, the second terminal 200b, and the second terminal 200b. Therefore, the first terminal 200a only needs to determine that the communication partner is the second terminal 200b, and the second terminal 200b only needs to determine that the communication partner is the first terminal 200a. For this reason, the communication ID included in the first synchronization information only needs to include, for example, the terminal identifier of the second terminal 200b as information for determining the communication partner, and does not include its own information. May be. Similarly, the communication ID included in the second synchronization information only needs to include the terminal identifier of the first terminal 200a. Thereby, the data amount of each information for a synchronization can be suppressed, and the cost of data communication can be reduced.

図5の説明に戻る。第2端末200bは、サーバ100から第1同期用情報を取得すると、暗号鍵のうち公開鍵を第1端末200aに送信する(S52)。第1端末200aは、受信した公開鍵を用いて、通信用のトークンを暗号化する(S54)。第1端末200aは、暗号化したトークンを第2端末200bに送信する(S56)。第2端末200bは、第1端末200aが暗号化したトークンを秘密鍵で復号する(S58)。   Returning to the description of FIG. When the second terminal 200b acquires the first synchronization information from the server 100, the second terminal 200b transmits the public key of the encryption key to the first terminal 200a (S52). The first terminal 200a encrypts a communication token using the received public key (S54). The first terminal 200a transmits the encrypted token to the second terminal 200b (S56). The second terminal 200b decrypts the token encrypted by the first terminal 200a with the secret key (S58).

第2端末200bは、復号したトークンが第1端末200aに送信したトークンと一致しない場合(S60のNo)、処理を終了する。第2端末200bから受信した照合結果が、トークンが一致した場合(S60のYes)、第2端末200bは、第1端末200aとの間の近距離無線通信を開始する(S62)。第1端末200aは、第2端末200bにデータを転送する(S64)。サーバ100のデータ転送部50は、第1端末200aと第2端末200bとの間のデータ転送を仲介する(S66)。   When the decrypted token does not match the token transmitted to the first terminal 200a (No in S60), the second terminal 200b ends the process. When the verification result received from the second terminal 200b matches the token (Yes in S60), the second terminal 200b starts short-range wireless communication with the first terminal 200a (S62). The first terminal 200a transfers data to the second terminal 200b (S64). The data transfer unit 50 of the server 100 mediates data transfer between the first terminal 200a and the second terminal 200b (S66).

以上説明したように、実施形態に係るデータ転送システム1によれば、近距離無線通信を介する端末間のデータ転送の安全性を向上させる技術を提供することができる。   As described above, according to the data transfer system 1 according to the embodiment, it is possible to provide a technique for improving the safety of data transfer between terminals via short-range wireless communication.

以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .

上記では、サーバ100が各構成要素を備える場合について説明した。しかしながら、サーバ100は必ずしも物理的に1つのものである必要はない。サーバ100の各構成要素は、ネットワーク300を介して互いに相互通信可能に接続されていればよく、いわゆるクラウドコンピューティングとして実現されてもよい。例えば、記憶部60は、端末200の各ユーザが登録するSNSを管理するサーバが備えるものであってもよい。   The case where the server 100 includes each component has been described above. However, the server 100 does not necessarily need to be physically one. Each component of the server 100 may be connected to each other via the network 300 so as to be able to communicate with each other, and may be realized as so-called cloud computing. For example, the storage unit 60 may be provided in a server that manages an SNS registered by each user of the terminal 200.

上記では、第1端末200aは、第2端末から応答信号を受信すると、ユーザの明示的な指示がなくとも、接続要求情報をサーバ100に送信する場合について説明した。これに代えて、第1端末200aは、ユーザの明示的な指示を待ってから、接続要求情報をサーバ100に送信するようにしてもよい。   In the above description, when the first terminal 200a receives a response signal from the second terminal, the first terminal 200a transmits the connection request information to the server 100 without an explicit instruction from the user. Instead, the first terminal 200a may wait for an explicit instruction from the user before transmitting the connection request information to the server 100.

上記の説明では、第1端末200aと第2端末200bとが暗号鍵を用いて認証をする場合について説明した。これに代えて、あるいはこれに加えて、サーバ100が第1端末200aと第2端末200bとのそれぞれに証明書を発行することで両端末の認証をするようにしてもよい。これは例えばサーバ100が既知の電子証明技術を実行することで実現できる。   In the above description, the case where the first terminal 200a and the second terminal 200b perform authentication using the encryption key has been described. Instead of this, or in addition to this, the server 100 may authenticate both terminals by issuing certificates to the first terminal 200a and the second terminal 200b, respectively. This can be realized, for example, when the server 100 executes a known electronic certification technique.

1 データ転送システム、 10 受信部、 20 生成部、 30 送信部、 40 判定部、 50 データ転送部、 60 記憶部、 62 登録データベース、 100 サーバ、 200 端末、 300 ネットワーク。   1 data transfer system, 10 receiving unit, 20 generating unit, 30 transmitting unit, 40 determining unit, 50 data transferring unit, 60 storage unit, 62 registration database, 100 server, 200 terminal, 300 network.

Claims (9)

第1端末と第2端末とを含む複数の端末とネットワークを介して接続されたサーバであって、
前記第1端末と前記第2端末との少なくともいずれか一方から、前記第1端末と前記第2端末との間における近距離無線通信の接続要求を受信する受信部と、
前記近距離無線通信に用いる同期用情報を生成する生成部と、
前記生成部が生成した同期用情報を、前記第1端末と前記第2端末とに送信する送信部とを備え、
前記生成部が生成する同期用情報は、前記第1端末と前記第2端末との間の近距離無線通信のための通信用IDと、当該近距離無線通信で流れるデータを暗号化するための暗号鍵とを含むことを特徴とするサーバ。
A server connected via a network to a plurality of terminals including a first terminal and a second terminal,
A receiving unit that receives a connection request for short-range wireless communication between the first terminal and the second terminal from at least one of the first terminal and the second terminal;
A generator for generating synchronization information used for the short-range wireless communication;
A transmission unit that transmits the synchronization information generated by the generation unit to the first terminal and the second terminal;
The synchronization information generated by the generation unit is for encrypting communication ID for short-range wireless communication between the first terminal and the second terminal and data flowing in the short-range wireless communication. A server comprising an encryption key.
前記第1端末と前記第2端末とが互いに関連づけられているか否かを判定する判定部をさらに備えることを特徴とする請求項1に記載のサーバ。   The server according to claim 1, further comprising a determination unit that determines whether or not the first terminal and the second terminal are associated with each other. 前記生成部は、前記判定部によって前記第1端末と前記第2端末とが互いに関連づけられていると判定された場合に、前記同期用情報を生成することを特徴とする請求項2に記載のサーバ。   The generation unit according to claim 2, wherein the generation unit generates the synchronization information when the determination unit determines that the first terminal and the second terminal are associated with each other. server. 前記受信部はさらに、前記第1端末と前記第2端末とのそれぞれから、前記第1端末の位置情報と前記第2端末の位置情報とを受信し、
前記判定部はさらに、前記受信部が受信した位置情報をもとに、前記第1端末と前記第2端末との距離が所定の距離以下であるか否かを判定することを特定することを特徴とする請求項2または3に記載のサーバ。
The receiving unit further receives position information of the first terminal and position information of the second terminal from each of the first terminal and the second terminal,
The determination unit further specifies to determine whether or not a distance between the first terminal and the second terminal is equal to or less than a predetermined distance based on the position information received by the reception unit. The server according to claim 2 or 3, characterized in that
前記生成部は、前記第1端末が前記第2端末との間の近距離無線通信に用いる第1同期用情報と、前記第2端末が前記第1端末との間の近距離無線通信に用いる第2同期用情報とを生成することを特徴とする請求項1から4のいずれかに記載のサーバ。   The generating unit uses first synchronization information used by the first terminal for short-range wireless communication with the second terminal, and used by the second terminal for short-range wireless communication with the first terminal. The server according to any one of claims 1 to 4, wherein the second synchronization information is generated. 前記生成部は、
前記第1端末が前記第2端末と通信するための通信用IDとトークンとを含む情報を前記第1同期用情報として生成し、
前記第2端末が前記第1端末と通信するための通信用IDと前記トークン、および前記暗号鍵を含む情報を前記第2同期用情報として生成することを特徴とする請求項5に記載のサーバ。
The generator is
Generating information including a communication ID and a token for the first terminal to communicate with the second terminal as the first synchronization information;
6. The server according to claim 5, wherein the second terminal generates information including the communication ID, the token, and the encryption key for communication with the first terminal as the second synchronization information. .
前記第1端末と前記第2端末とが近距離無線通信接続を開始することを契機として、前記第1端末と前記第2端末との間のデータ通信を仲介するデータ転送部をさらに備えることを特徴とする請求項1から6のいずれかに記載のサーバ。   A data transfer unit that mediates data communication between the first terminal and the second terminal, triggered by the first terminal and the second terminal starting a short-range wireless communication connection; The server according to any one of claims 1 to 6, characterized in that: 第1端末と第2端末とを含む複数の端末とネットワークを介して接続されたサーバが実行する通信接続管理方法であって、
前記第1端末と前記第2端末との少なくともいずれか一方から、前記第1端末と前記第2端末との間における近距離無線通信の接続要求を受信する受信ステップと、
前記近距離無線通信に用いる同期用情報を生成する生成ステップと、
生成した同期用情報を、前記第1端末と前記第2端末とに送信する送信ステップとを備え、
前記同期用情報は、前記第1端末と前記第2端末との間の近距離無線通信のための通信用IDと、当該近距離無線通信で流れるデータを暗号化するための暗号鍵とを含むことを特徴とする通信接続管理方法。
A communication connection management method executed by a server connected via a network with a plurality of terminals including a first terminal and a second terminal,
A reception step of receiving a connection request for short-range wireless communication between the first terminal and the second terminal from at least one of the first terminal and the second terminal;
Generating step for generating information for synchronization used in the short-range wireless communication;
A transmission step of transmitting the generated synchronization information to the first terminal and the second terminal;
The synchronization information includes a communication ID for short-range wireless communication between the first terminal and the second terminal, and an encryption key for encrypting data flowing in the short-range wireless communication. A communication connection management method.
第1端末と第2端末とを含む複数の端末とネットワークを介して接続されたサーバの通信接続管理プログラムであって、コンピュータに、
前記第1端末と前記第2端末との少なくともいずれか一方から、前記第1端末と前記第2端末との間における近距離無線通信の接続要求を受信する受信機能と、
前記近距離無線通信に用いる同期用情報を生成する生成機能と、
生成した同期用情報を、前記第1端末と前記第2端末とに送信する送信機能とを実現させ、
前記同期用情報は、前記第1端末と前記第2端末との間の近距離無線通信のための通信用IDと、当該近距離無線通信で流れるデータを暗号化するための暗号鍵とを含むことを特徴とする通信接続管理プログラム。
A communication connection management program for a server connected via a network to a plurality of terminals including a first terminal and a second terminal,
A receiving function for receiving a short-distance wireless communication connection request between the first terminal and the second terminal from at least one of the first terminal and the second terminal;
A generation function for generating information for synchronization used in the short-range wireless communication;
Realizing the transmission function of transmitting the generated synchronization information to the first terminal and the second terminal;
The synchronization information includes a communication ID for short-range wireless communication between the first terminal and the second terminal, and an encryption key for encrypting data flowing in the short-range wireless communication. A communication connection management program.
JP2015026106A 2015-02-13 2015-02-13 Server, and method and program for communication connection management Pending JP2016149673A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015026106A JP2016149673A (en) 2015-02-13 2015-02-13 Server, and method and program for communication connection management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015026106A JP2016149673A (en) 2015-02-13 2015-02-13 Server, and method and program for communication connection management

Publications (1)

Publication Number Publication Date
JP2016149673A true JP2016149673A (en) 2016-08-18

Family

ID=56691391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015026106A Pending JP2016149673A (en) 2015-02-13 2015-02-13 Server, and method and program for communication connection management

Country Status (1)

Country Link
JP (1) JP2016149673A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019106943A1 (en) * 2017-11-29 2019-06-06 株式会社デンソー Wireless operation system, wireless operation program and recoding medium
WO2020107172A1 (en) 2018-11-26 2020-06-04 Guangdong Oppo Mobile Telecommunications Corp., Ltd. User equipment and method of image sensor communication of same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009272952A (en) * 2008-05-08 2009-11-19 Ntt Docomo Inc Grouping system and management apparatus
JP2012110035A (en) * 2006-08-24 2012-06-07 Panasonic Corp Communication system, communication method, wireless terminal, wireless relay device and control device
WO2014114711A1 (en) * 2013-01-25 2014-07-31 Koninklijke Kpn N.V. Proximity discovery, authentication and link establishment between communication mobile devices in 3gpp lte
WO2014208035A1 (en) * 2013-06-28 2014-12-31 Nec Corporation Security for prose group communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012110035A (en) * 2006-08-24 2012-06-07 Panasonic Corp Communication system, communication method, wireless terminal, wireless relay device and control device
JP2009272952A (en) * 2008-05-08 2009-11-19 Ntt Docomo Inc Grouping system and management apparatus
WO2014114711A1 (en) * 2013-01-25 2014-07-31 Koninklijke Kpn N.V. Proximity discovery, authentication and link establishment between communication mobile devices in 3gpp lte
WO2014208035A1 (en) * 2013-06-28 2014-12-31 Nec Corporation Security for prose group communication

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019106943A1 (en) * 2017-11-29 2019-06-06 株式会社デンソー Wireless operation system, wireless operation program and recoding medium
WO2020107172A1 (en) 2018-11-26 2020-06-04 Guangdong Oppo Mobile Telecommunications Corp., Ltd. User equipment and method of image sensor communication of same

Similar Documents

Publication Publication Date Title
US10574460B2 (en) Mechanism for achieving mutual identity verification via one-way application-device channels
US10412061B2 (en) Method and system for encrypted communications
KR101786177B1 (en) Method and apparatus for performing secure bluetooth communication
CN107659406B (en) Resource operation method and device
US20220150248A1 (en) Methods, systems, and media for authentication of user devices to a display device
CN114556865A (en) Electronic device and method for managing block chain address by using same
CN110235424A (en) For providing the device and method with managing security information in a communications system
JP6134841B1 (en) Registration device, terminal device, registration method, registration program, and registration system
US10419927B2 (en) Key sharing method and device
JP2018517367A (en) Service provider certificate management
RU2685975C2 (en) Providing communication security with extended multimedia platforms
US10291621B2 (en) System, information processing apparatus, and storage medium
US20150188916A1 (en) Vpn connection authentication system, user terminal, authentication server, biometric authentication result evidence information verification server, vpn connection server, and computer program product
JP2015194947A (en) Information processing device and computer program
CN104821878A (en) Portable security device, method for securing a data exchange and computer program product
US8885827B2 (en) System and method for enabling a host device to securely connect to a peripheral device
JP2016019233A (en) Communication system, communication device, key managing device and communication method
JP2016149673A (en) Server, and method and program for communication connection management
US20230421372A1 (en) Accessory assisted account recovery
JP6087480B1 (en) Authentication device, authentication system, and authentication program
US9578026B1 (en) Method and system for device dependent encryption and/or decryption of music content
JP2009212625A (en) Membership authentication system and mobile terminal unit
JP5553914B1 (en) Authentication system, authentication device, and authentication method
JP6756656B2 (en) Terminal device, registration method and registration program
JP6813030B2 (en) Communications system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171017

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20171017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180814

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180911